@font-face {
  font-family: "BauerBodoniRoman";
  src: url('/font/BauerBodoniRoman?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	   url('/font/BauerBodoniRoman.woff?') format('woff'); /* Modern Browsers */
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Noto+Serif+JP&display=swap');

.font__mincho {
	font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', 'ＭＳ Ｐ明朝', serif;
	transform: rotate(.03deg); /* for IE */
}
.font__bodoni {
	font-family: "BauerBodoniRoman", 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', 'ＭＳ Ｐ明朝', serif;
}
.font__futura {
	font-family: "futura", 'Avenir', sans-serif;
}
.font__hannari {
	font-family: "Hannari", 'YuMincho', serif;
}
.font__noto {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
.font__notomedi {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
}
.font__notoserif {
	font-family: 'Noto Serif JP', sans-serif;
}

.font__italic {
	font-style: italic;
}
.fontStyle__center {
	text-align: center;
}
.fontStyle__bold {
	font-weight: bold;
}

img {
	outline: 0;
}

#logicadFrame {
	position: absolute;
}

svg {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    height: auto;
}

.cls-2 {
	stroke: #48322a;
}

* html .clearfix {
	zoom: 1;
}

*+html .clearfix {
	zoom: 1;
}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

a {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-tap-highlight-color: transparent;
	outline: none;
}

a,
a:link {
	backface-visibility: hidden;
	color: #333;
	text-decoration: none;
	transition: opacity .3s ease;
}

a.onmouse__imgMask .top__img {
	position: relative;
	display: block;
}
a.onmouse__imgMask .top__img:before {
	content: "";
	width: 100%;
	height: 100%;
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	opacity: 0;
	transition: .5s;
}
a.onmouse__imgMask:hover .top__img:before {
	opacity: .19;
}

a.textlink {
	color: #999999;
	letter-spacing: .8px;
	border-bottom: 1px solid #999999;
}


.sp {
	display: none !important;
}

.fadeInAnim {
  opacity: 0;
  -webkit-transform: translateY(40px);
  transform: translateY(40px);
  -webkit-transition: opacity .8s cubic-bezier(0.23, 1, 0.32, 1),
					  transform .8s cubic-bezier(0.23, 1, 0.32, 1),
					  -webkit-transform .8s cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity .8s cubic-bezier(0.23, 1, 0.32, 1),
			  transform .8s cubic-bezier(0.23, 1, 0.32, 1),
			  -webkit-transform .8s cubic-bezier(0.23, 1, 0.32, 1);
}

.fadeInAnim.visible {
  opacity: 1;
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
}


.scale__250pct {
	font-size: 250% !important;
}

.scale__130pct {
	font-size: 130% !important;
}

.scale__125pct {
	font-size: 125% !important;
}

.scale__120pct {
	font-size: 120% !important;
}

.scale__115pct {
	font-size: 115% !important;
}

.scale__110pct {
	font-size: 110% !important;
}

.scale__105pct {
	font-size: 105% !important;
}

.scale__95pct  {
	font-size: 95% !important;
}

.scale__90pct {
	font-size: 90% !important;
}

.scale__85pct {
	font-size: 85% !important;
}

.scale__80pct {
	font-size: 80% !important;
}

.scale__70pct {
	font-size: 70% !important;
}

.scale__60pct {
	font-size: 60% !important;
}

.scale__50pct {
	font-size: 50% !important;
}

.scale__40pct {
	font-size: 40% !important;
}

.scale__35pct {
	font-size: 35% !important;
}


::-moz-selection{background:rgba(200,200,200,0.4)}
::selection{background:rgba(200,200,200,0.4)}
::-moz-selection{background:rgba(200,200,200,0.4)}



.btn {
	text-align: center;
}

.btn a {
	padding: 15px 30px;
	min-width: 200px;
	font-size: 12px;
	color: #fff;
	display: inline-block;
	transition: opacity .25s ease;
	box-sizing: border-box;
	background: #48322a;
	letter-spacing: .07em;
	transition: .3s;
}
.btn a:hover {
	opacity: 1 !important;
	background: #715348;
}
.section__campaignBlock .btn a {
	min-width: 250px;
    padding: 20px;
    font-size: 16px;
}
.btn.dt__btn a:hover  { background: #2d426f; }

#hawaii .btn a:hover  { background: #55adb1; }
#guam .btn a:hover    { background: #609ed0; }
#okinawa .btn a:hover { background: #828bbd; }
#bali .btn a:hover    { background: #a58768; }

.sd__addList__item__spec a:hover  {
	border: 1px solid #9a7d72;
	color: #8e6c5f;
	background: none;
}


body {
	min-width: 980px;
	font-family: arial, "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", sans-serif;
	font-size: 13px;
	letter-spacing: .03em;
	color: #333;
	-webkit-font-smoothing: antialiased;
}
body.index {
	display: none;
}
body.openMenu {
	overflow: hidden;
}

a.disable {
	cursor: text;
}

article,
footer {
	opacity: 0;
	transition: opacity .7s cubic-bezier(0.23, 1, 0.32, 1);
}

.fadeIn article,
.fadeIn footer {
	opacity: 1;
  transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
}


#pagePath {
	background: #fff;
	padding: 0 30px 24px;
}
#pagePath li {
	display: inline-block;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .02em;
}
#pagePath li a {
	display: inline-block;
	padding: 6px 0;
}
#pagePath li + span {
	margin-right: 6px;
	margin-left: 10px;
	opacity: .3;
}
#pagePath li.-active {
	position: relative;
    opacity: 1 !important;
    font-weight: bold;
}
#pagePath li br {
	display: none;
}
#pagePath li.-active:before {
	content: "";
	width: 100%;
	height: 100%;
/*	background: rgba(255,255,255,.6);*/
	position: absolute;
	top: 0;
	left: 0;
}
#pagePath li{
    opacity: .3;
}



/*------------------------------------------------------------
	header
------------------------------------------------------------*/
#gHeader {
	padding: 25px 0 14px;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 8;
  background: rgba(255,255,255, .9);
}

.goTop #gHeader {
  opacity: 0;
  transition: opacity .7s cubic-bezier(0.23, 1, 0.32, 1),background .3s ease;
}

.headLine {
	margin: 0 0 0 30px;
	float: left;
	position: relative;
	z-index: 10;
}

.headLine a:hover {
	opacity: .6;
}

.headLine svg {
	width: 221px;
	height: 24.5px;
	fill: #48322a;
}

.headRight {
	margin-right: 134px;
	float: right;
}

#gNavi {
	margin-right: 6px;
	display: inline-block;
	float: right;
	position: relative;
	z-index: 10;
	top: -7px;
}

.navi__item {
	float: left;
	margin-right: 10px;
}
.navi__item + li {
	border: none;
}

.navi__item a {
	padding: 0 18px;
	font-size: 13px;
	color: #fff;
	position: relative;
	line-height: 40px;
	letter-spacing: .08em;
	display: block;
	min-width: 163px;
	text-align: center;
	background: #48322a;
	border: 1px solid #48322a;
	box-sizing: border-box;
	font-weight: 500;
}

@media all and (-ms-high-contrast:none){
	.navi__item a {
		line-height: 44px;
		height: 40px;
	}
}

.navi__item:nth-of-type(3) a {
	color: #48322a;
	background: #fff;
	border: 1px solid #48322a;
}

.openMenu .navi__item a:after {
	background: #333;
}

#gNavi li:last-child a:after {
	display: none;
}

.headRight a:hover {
	opacity: .6;
}

.inst {
	margin: -3px 10px 0 30px;
	display: inline-block;
	float: right;
	position: relative;
	z-index: 10;
}

.inst a {
	padding: 5px;
	width: 22px;
	display: block;
}

.inst svg {
	width: 22px;
	height: 22px;
	fill: #48322a;
}

.btnMenu {
	padding: 5px;
	width: 30px;
	height: 16px;
	position: absolute;
	top: 26px;
	right: 50px;
	z-index: 12;
	transition: transform .6s ease,opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
	display: inline-block;
}

.btnMenu span {
	width: 30px;
	height: 2px;
	position: absolute;
	transform-origin: center;
	background: #48322a;
  	transition: top ease .5s,bottom ease .5s,background ease .5s, transform ease .5s;
}

.btnMenu span:nth-child(1) {
	top: 4px;
}

.btnMenu span:nth-child(2) {
	top: 11px;
}

.btnMenu span:nth-child(3) {
	bottom: 5px;
}

.openMenu .btnMenu span {
	background: #fff;
}

.openMenu .btnMenu span:nth-child(2) {
	display: none;
}

.openMenu .btnMenu span:nth-child(1) {
	top: 11px;
	transform: rotateZ(-315deg);
}

.openMenu .btnMenu span:nth-child(3) {
	bottom: 12px;
	transform: rotateZ(315deg);
}

.closePage .btnMenu span {
	background: #48322a;
}

.closePage .btnMenu span:nth-child(1) {
	top: 4px;
	transform: none;
}

.closePage .btnMenu span:nth-child(2) {
	top: 11px;
	display: block;
}

.closePage .btnMenu span:nth-child(3) {
	bottom: 5px;
	transform: none;
}

.closePage .menu {
	transition-duration: .7s;
}

.foot {
	display: none;
}

.openMenu .menu {
	margin-right: 0;
}

.menu__info {
	height: 100%;
	position: relative;
}

.menu__center {
	width: 100%;
	box-sizing: border-box;
}

.menu__hasList {
	margin-top: 80px;
}

.menuList {
	display: flex;
	flex-wrap: wrap;
}

.menuList__left {
	float: left;
}

.menuList__right {
}

.menuList__item {
	width: 100%;
}

#gFooter .menuList__item {
	width: auto;
}

.menuList__item__p {
	padding: 22px 30px;
	font-size: 15px;
	color: #fff;
	letter-spacing: .02em;
	transition: opacity .6s ease;
	transform: translateZ(0);
}
#gHeader .menuList__item__p {
	border-bottom: 1px solid rgba(255,255,255,0.3);
}
#gHeader .menuList__item__p:not(.menu__first .menuList__item__p):after,
#gHeader .menuList__list__item__p:after {
	content:'＞';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
	color: #fff;
	margin: auto;
	height: 13px;
}
.menuList__item__p span {
	margin: 0 4px;
}

.menuList__item > .menuList__item__p {
	display: block;
	cursor: default;
}

a.hover:hover .menuList__item__p {
	opacity: .6;
}

.menuList__item__p .menuList__item__more {
	opacity: .6;
    font-size: 14px;
    position: absolute;
    bottom: 14px;
    left: 32px;
}

.menuList__item__p .menuList__item__span {
	display: block;
	margin: 8px 0 0 0;
	font-size: 14px;
	opacity: .6;
}

.menuList__list__item .menuList__item__span {
	opacity: .6;
	font-size: 14px;
}

.menuList__list__item:nth-of-type(1) .menuList__item__span {
	margin-left: 22px;
}
.menuList__list__item:nth-of-type(2) .menuList__item__span {
	margin-left: 5px;
}
.menuList__list__item:nth-of-type(3) .menuList__item__span {
	margin-left: 6px;
}

.menuList__list {
	padding-top: 2px;
	margin-left: 27px;
  height: 0;
  transition: height .6s ease;
  overflow: hidden;
}

.menuList__list > ul {
  padding-bottom: 15px;
}

.menuList__list__item__p {
	position: relative;
	padding: 22px 0 22px 48px;
	font-size: 15px;
	color: #fff;
	letter-spacing: .0em;
	transition: opacity .6s ease;
}
.menuList__item__spanserif {
	margin-left: 10px;
}
.menuList__list__item:nth-of-type(1) .menuList__item__spanserif {
	margin-left: 22px;
}
#gHeader .menuList__list__item__p {
 	border-bottom: 1px solid rgba(255,255,255,0.3);
}

a.hover:hover .menuList__list__item__p {
	opacity: .6;
}

.menuList__oitem {
	display: inline-block;
	position: relative;
}

.menuList__oitem:after {
	width: 1px;
	height: 12px;
	position: absolute;
	top: 50%;
	right: -1px;
	content: "";
	transform: translateY(-50%);
	background: #999999;
}

.menuList__oitem:last-child:after {
	display: none;
}

.menuList__oitem a {
	padding: 0 16px;
	font-size: 13px;
	color: #fff;
	letter-spacing: .5px;
}

.menuList__oitem:first-child a {
	padding-left: 13px;
}

.menuList2 {
	width: 48%;
}

.menu__faq__inst {
	margin: -4px 50px 0 0;
	max-width: 50%;
	float: right;
	display: block;
}

.menu__faq__inst svg {
	width: 20px;
	height: 20px;
	fill: #fff;
	float: left;
}

.menu__faq__inst span {
	padding-left: 30px;
	font-size: 18px;
	color: #fff;
	display: block;
	letter-spacing: .5px;
}

.menu__bottom {
	margin: 25px 30px 0 30px;
}
#gFooter .menu__bottom {
	margin: 0;
}

#gFooter .menu__bottomList {
	float: right;
}

.menu__bottomList__item {
	width: 48%;
	position: relative;
}

#gFooter .menu__bottomList__item {
	width: auto;
}

.menu__bottomList__item:before {
    content: "▷";
    width: 10px;
    position: absolute;
    top: 12px;
    right: 8px;
}

#gFooter .menu__bottomList__item:before {
	content: none;
}

.menu__bottomList a:hover {
	opacity: .6;
}

.menu__bottom__tel {
	margin-bottom: 22px;
	text-align: right;
	font-size: 12px;
	color: #fff;
	letter-spacing: 1px;
}

.menu__bottom__tel span {
	padding-left: 2px;
	font-size: 24px;
	letter-spacing: .05em;
}

.menu__bottom__btn__req {
	margin-right: 6px;
	margin-bottom: 10px;
	display: inline-block;
}

.menu__bottom__btn__req a {
	padding: 12px 0;
	min-width: 126px;
	font-size: 13px;
	display: block;
	letter-spacing: 1.6px;
	text-align: center;
	background: #fff;
}

#gFooter .menu__bottom__btn__req a {
    padding: 13px 10px;
    min-width: 156px;
    font-size: 13px;
    display: block;
    text-align: center;
    color: #fff;
    border: 1px solid #fff;
    letter-spacing: .08em;
    background: #48322a;
}

.menu__bottom__btn__store,
.menu__bottom__btn__online {
	display: inline-block;
}

.menu__bottom__btn__online {
	margin-right: 6px;
}

.menu__bottom__btn__store a,
.menu__bottom__btn__online a {
	padding: 14px 10px;
	min-width: 126px;
	font-size: 13px;
	display: block;
	letter-spacing: 1.6px;
	text-align: center;
	background: #fff;
}

@media all and (-ms-high-contrast:none){
	.menu .menuList__item__p {
		transform: none;
	}
}

/*------------------------------------------------------------
	footer
------------------------------------------------------------*/
#gFooter {
	position: relative;
	visibility: hidden;
	background: #48322a;
}

.loaded #gFooter {
	visibility: visible;
}

.ipadv9 #gFooter {
	height: 801px;
	overflow: hidden;
	display: block;
}

#gFooter .header {
	display: none;
}

#gFooter .foot {
	display: block;
}

#gFooter .menu {
	padding: 64px 0 56px;
	margin: 0 auto;
	width: 900px;
	height: auto;
	position: static;
	display: block;
	background: none;
}

#gFooter .menu__info {
	height: auto;
}

#gFooter .menu__center {
	padding: 0;
	position: static;
	transform: none;
}

#gFooter .menuList {
	width: 100%;
}

#gFooter .menuList__item {
	margin-right: 20px;
	float: left;
}

#gFooter .menuList__right .menuList__item {
	margin-bottom: 16px;
}

#gFooter .menuList__item__p {
	padding: 0;
	font-size: 12px;
	transition: opacity .6s ease;
}
#gFooter .menuList__item__p span {
	margin: 0 4px;
}

#gFooter .menuList__list {
	padding-top: 0;
	margin-left: 0;
	margin-bottom: 0;
	height: auto !important;
	display: block !important;
}

#gFooter .menuList__list__item {
	padding-bottom: 0;
	margin-right: 44px;
	min-width: 190px;
	float: left;
}

#gFooter .menuList__list__item:last-child {
	margin-right: 0;
}

#gFooter .menuList__list__item__p {
	padding: 0;
	margin-bottom: 6px;
	font-size: 33px;
}

#gFooter .menuList__list__item__p span {
    margin: 2px 0 0 2px;
    font-size: 10px;
    display: block;
    letter-spacing: .5px;
}

#gFooter .area__jp {
	color: #fff;
    margin-bottom: 20px;
    display: block;
    font-size: 14px;
}

#gFooter .menu__first {
	margin-bottom: 43px;
	margin-right: 0;
}

#gFooter .menu__hasList {
	margin-bottom: 48px;
}

#gFooter .menu__bottom {
	padding: 0;
	width: auto;
	position: static;
}

.scrollUp {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 14px;
	right: 22px;
	transition: transform .6s ease !important;
	border-radius: 100%;
}

.scrollUp:hover {
	transform: translateY(-10px);
}

.scrollUp svg {
	width: 24px;
	height: 11.5px;
	fill: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.footBox {
	padding: 62px 0 57px;
	margin: 0 auto;
	width: 900px;
}

.footBox__hasList {
	margin-bottom: 37px;
}

.footBox__hasList__part {
	margin-right: 44px;
	min-width: 180px;
	float: left;
}

.footBox__hasList__title {
	margin-bottom: 30px;
	font-size: 33px;
	color: #fff;
}

.footBox__hasList__title span {
	margin: 2px 0 0 2px;
	font-size: 10px;
	display: block;
	letter-spacing: .5px;
}

.footBoxList__item a {
	padding: 6px 0;
	font-size: 11px;
	letter-spacing: 0;
	color: #fff;
	display: block;
}

.marginL0 {
	margin-right: 0 !important;
}

.footBox__wedding {
	margin-right: 0 !important;
	margin-bottom: 20px;
	padding: 20px 0 13px;
	width: 100%;
	border-top: 1px solid #6d5b55;
	border-bottom: 1px solid #6d5b55;
}

.footBox__wedding a:hover {
	opacity: .6;
}

.footBox__float {
	margin-top: -5px;
	float: left;
}

.footBox__wedding__counter {
	padding-top: 18px;
	font-size: 16px;
	color: #fff;
}

.footBox__weddingList {
	margin-left: 320px;
}

.footBox__weddingList__item {
	float: left;
}

.footBox__weddingList__item a {
	padding: 5px 10px;
	font-size: 11px;
	color: #fff;
	display: block;
}

.footBox__otherPage {
	margin-bottom: 73px;
}

.footBox__otherPage__item {
	margin-right: 75px;
	float: left;
}

.footBox__otherPage__item a {
	font-size: 21px;
	color: #fff;
	letter-spacing: .6px;
}

.footBox  .menu__bottom {
	padding: 0;
}

#gFooter .menuList2  {
	margin-right: 48px;
}

#gFooter .menuList__oitem:first-child a {
	padding-left: 0;
}

#gFooter .menu__faq {
	margin-top: 72px;
	float: left;
}

#gFooter .menu__faq__inst {
	margin-top: -4px;
	max-width: inherit;
}

#gFooter .menu__faq__inst a {
	margin-top: -1px;
}

#gFooter .menu__faq__inst span {
	letter-spacing: .6px;
}

#gFooter .menu__bottom__tel {
	margin-bottom: 16px;
}

#gFooter .menu__bottom__tel span {
	padding-left: 0;
	font-size: 27px;
	letter-spacing: .2px;
}

#gFooter .menu__bottom__btn__req a {
	min-width: 143px;
}

#gFooter .menu__bottom__btn__store a,
#gFooter .menu__bottom__btn__online a {
	min-width: 114px;
}

.footGood {
	padding: 36px 0;
	text-align: center;
	background: #fff;
}

.ipad .footGood {
  margin-bottom: -1px;
}

.ipad.areaDetail .footGood {
  margin-bottom: 0;
  transform: translateY(2px);
}

.ipad.areaDetail.okinawa .footGood {
  transform: translateY(1px);
}

.footGood__img {
	margin-bottom: 18px;
	height: 12px;
}

.footGood__img img {
	height: 100%;
}

.footGood__copy {
	margin-bottom: 27px;
	font-size: 10px;
	color: #000;
	opacity: .4;
	letter-spacing: .8px;
}

.footGoodList a:hover {
	opacity: .6;
}

.footGoodList__item {
	display: inline-block;
}

.footGoodList__item a {
	padding: 0 18px;
	font-size: 10px;
	color: #000;
	position: relative;
	letter-spacing: .2px;
}

.footGoodList__item a:after {
	width: 1px;
	height: 10px;
	position: absolute;
	top: 0;
	right: -1px;
	content: "";
	background: #929292;
}

.footGoodList__item:last-child a:after {
	display: none;
}

/*------------------------------------------------------------
	general
------------------------------------------------------------*/
a.block {
	display: block;
}

.section__title {
	margin-bottom: 50px;
}
.library .section__title {
	margin-bottom: 48px;
}

.section__top__up {
	margin-bottom: 16px;
	position: relative;
	top: -28px;
}

.section__headline {
	font-size: 48px;
	letter-spacing: .01em;
	margin-bottom: 60px;
	text-align: center;
	position: relative;
}
.lib .section__headline {
	margin-bottom: 50px;
}
.section__headline.font__mincho {
	font-size: 34px;
	letter-spacing: .1em;
}

.section__headline:after {
	width: 80px;
	height: 1px;
	position: absolute;
	bottom: -32px;
	left: 50%;
	transform: translateX(-50%);
	content: "";
	background: #000;
}
.library .section__headline:after {
	bottom: -24px;
}

.section__title__word {
}

.section__title__word.font__mincho {
	font-size: 36px;
	letter-spacing: .26em;
}


.section__title__img svg {
	width: 130px;
	height: 15px;
}

.section__title__dt__img svg {
	width: 147.5px;
	height: 23px;
}

.section__area {
	font-size: 11px;
	text-align: center;
	letter-spacing: 2px;
}

.section__note {
	font-size: 15px;
	text-align: center;
	line-height: 2.1;
	letter-spacing: 1px;
}

.top__img {
	overflow: hidden;
}

.top__img img {
	width: 100%;
	vertical-align: top;
}

a.hover:hover {
	opacity: .6;
}

.hover a img.scale {
	transform: scale(1);
	transition: transform 1s cubic-bezier(0.12, 0.68, 0.44, 1);
}

.hover:hover a img.scale {
	transform: scale(1.05);
}

.more {
    font-size: 12px;
    float: left;
    color: #48322a;
	font-weight: bold;
}

.more.font__futura {
	font-weight: normal;
}

.more svg {
	margin-right: 6px;
	width: 18px;
	height: 5px;
	fill: #48322a;
	transform: translateX(0);
	transition: margin .3s ease,transform .3s ease;
}

.hover:hover .more svg {
	margin-right: 15px;
	transform: translateX(15px);
}


/*------------------------------------------------------------
	topics
------------------------------------------------------------*/
.gray {
	transition: background 2s cubic-bezier(0.23, 1, 0.32, 1);
	background: #fff;
}

.gray.show {
	background: #f9f9f9;
}

.topics__time {
	line-height: 1.5;
	display: inline-block;
	word-break: break-all;
	font-size: 11px;
	opacity: .6;
	letter-spacing: .1em;
}

.topicsList__item {
	width: 450px;
	float: right;
}

.topicsList__box {
	padding: 18px 0;
	border-bottom: 1px solid #d4d4d4;
}

.topics__right__img {
	width: 125px;
	float: left;
}

.topics__right__img img {
	width: 100%;
}

.topics__right__info {
	margin-left: 154px;
	overflow: hidden;
}

.topics__right__mess {
	margin-bottom: 8px;
}

.topics__right__name {
	line-height: 1.8;
	display: inline-block;
	margin: 0 15px 0 0;
	font-size: 10px;
	color: #a38238;
	float: left;
	letter-spacing: 1px;
}

.topics__right__inir {
	font-size: 13px;
	line-height: 1.65;
	letter-spacing: .03em;
	text-align: justify;
	word-break: break-all;
	word-break: normal !important;
	word-wrap: break-word;
}

.topicsList__item .more {
	margin-top: 7px;
	letter-spacing: .05em;
}

/*------------------------------------------------------------
	Chapel Info
------------------------------------------------------------*/
.ci {
	margin-bottom: 117px;
	padding-bottom: 88px;
}

.ci .section__headline::after {
    bottom: -31px;
}

.ci__info {
	margin: 87px auto 0;
	width: 980px;
}

.ci__left {
	width: 460px;
	float: left;
}

.ci__left dt {
	margin-top: 4px;
	width: 83px;
	font-size: 11px;
	font-weight: bold;
	float: left;
	letter-spacing: .8px;
	text-align: right;
}

.ci__left dd {
	margin-bottom: 20px;
	margin-left: 117px;
	font-size: 12px;
	line-height: 1.65;
	letter-spacing: .05em;
	text-align: justify;
	word-break: break-all;
}

.ci__right {
	width: 450px;
	float: right;
}

.ci__map {
  position: relative;
	height: 286px;
  overflow: hidden;
}

.ci__map iframe {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.ci__see {
	padding: 14px 0 14px 5px;
	font-size: 11px;
	font-weight: bold;
	float: right;
	letter-spacing: .5px;
}

.ci__see:hover {
	opacity: .6;
}

/*------------------------------------------------------------
	Chapel Link
------------------------------------------------------------*/
.areaList {
	text-align: center;
	display: flex;
    justify-content: left;
    flex-wrap: wrap;
}
.chapel .areaList {
	justify-content: center;
}
.bottom__link .areaList {
	justify-content: center;
}

.areaList__item {
	display: inline-block;
	width: 120px;
}

.areaList__item a {
	padding: 5px 10px;
	font-size: 13px;
	position: relative;
	letter-spacing: 1.3px;
	display: block;
}

.areaList__item a:hover {
	opacity: .5;
}

.areaList__item a:after {
	width: 1px;
	height: 16px;
	position: absolute;
	top: 50%;
	right: -1px;
	transform: translateY(-50%);
	content: "";
	background: #cccccc;
}
.areaList-jp .areaList__item a:after {
	display: none;
}

.areaList__item:last-child a:after {
	display: none;
}

.areaList__item.-active {
	opacity: .5;
}

/*------------------------------------------------------------
	library
------------------------------------------------------------*/
.libraryList {
	width: 100%;
	max-width: 1014px;
	margin: auto;
	margin-bottom: 40px;
	text-align: center;
}

.libraryList__item {
	margin: 1% 1% 30px;
	width: 22%;
	display: inline-block;
	position: relative;
}

.libraryList__box {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity .3s ease;
	background: rgba(72,50,42,.8);
}

.libraryList__item:hover .libraryList__box {
	opacity: 1;
}

.libraryList__box__center {
	padding: 5px 0;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-40%);
	transition: transform .4s ease;
	box-sizing: border-box;
}

.libraryList__item:hover .libraryList__box__center {
	transform: translateY(-50%);
}

.library__area {
	margin-bottom: 22px;
	font-size: 10px;
	color: #fff;
	text-align: center;
	letter-spacing: 2px;
}

.library__inir {
	font-size: 22px;
	color: #fff;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0;
}



/*------------------------------------------------------------
	fair
------------------------------------------------------------*/
.fc__box .topicsList {
	margin: 0 auto 60px;
	width: 980px;
	float: none;
}

.fc__box .topicsList__item {
	width: 450px;
	float: left;
	position: relative;
}

.fc__box .topicsList__item a {
	display: block;
}

.fc__box .topicsList__item:nth-child(2n) {
	margin-left: 80px;
}

.fair .topicsList__item:nth-child(1),
.fair .topicsList__item:nth-child(2) {
	border-top: 1px solid #d4d4d4;
}

.fc__box .topics__right__img {
	margin-right: 30px;
	width: 120px;
	float: none;
	background: none;
}

.fc__box .topics__right__info {
	margin-left: 0;
	position: absolute;
	top: 50%;
	left: 150px;
	transform: translateY(-50%);
}
.fc__box .btn a {
	padding: 20px;
	width: 252px;
	max-width: none;
}

.fc__box .btn a:before {
    content: "無料";
    border-radius: 15px;
    color: #FFF;
    font-size: 10px;
    padding: 4px 7px 4px 8px;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    margin-right: 10px;
    white-space: nowrap;
    border: 1px solid #FFF;
    bottom: 0;
    position: relative;
}

.mySlider {
  position: relative;
  overflow: hidden;
}

.mySlider .slideItem {
  position: absolute;
  left: 0;
  top:0;
  width: 100%;
  height: 100%;
  visibility: hidden;
}

.mySlider .slideItem.current {
  visibility: visible;
  z-index: 3;
  left: 0;
}

.mySlider .slideItem.prev {
  left: -100%;
}

.mySlider .slideItem.next {
  left: 100%;
}

.mySlider .slideItem.moveCurrent {
  transition: left ease .5s;
}

.mySlider .slideItem.movePrev {
  visibility: visible;
  z-index: 2;
  left: -50%;
  transition: left ease .5s;
}

.mySlider .slideItem.moveNext {
  visibility: visible;
  z-index: 2;
  left: 50%;
  transition: left ease .5s;
}

/*------------------------------------------------------------
	ie
------------------------------------------------------------*/
@media all and (-ms-high-contrast:none){
	.menuList__item__p {
		letter-spacing: -1px;
	}
}

/*------------------------------------------------------------
	reokinawa
------------------------------------------------------------*/
p.reokinawa {
    text-align: center;
    font-size: 15px;
    border: 1px solid #333;
    display: inline-block;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    width: 350px;
    margin-top: 70px;
    margin-bottom: -72px;
    line-height: 1.5;
}
p.reokinawa a {
    display: block;
    width: 100%;
    padding: 15px 10px;
}
/*------------------------------------------------------------
	corona2
------------------------------------------------------------*/
p.corona,
p.corona2 {
    text-align: center;
    font-size: 15px;
    border: 1px solid #333;
    display: inline-block;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    width: 350px;
    margin-top: 100px;
    margin-bottom: 0;
    line-height: 1.5;
    margin-bottom: -72px;
}
p.corona a,
p.corona2 a {
    display: block;
    width: 100%;
    padding: 15px 10px;
}
/*------------------------------------------------------------
	沖縄ウエディング2021
------------------------------------------------------------*/
p.ow2021_bnr {
	text-align: center;
	margin-top: 70px;
}
p.ow2021_bnr img {
	width: 100%;
}
p.ow2021_text {
	text-align: center;
    margin-top: 15px;
    font-size: 18px;
    letter-spacing: .04em;
    color: #333;
}
p.ow2021_text a {
    padding-bottom: 10px;
    border-bottom: 1px solid #333;
}
.os2021_bnr_inner img {
	width: 100%;
}
/*------------------------------------------------------------
	TOP Library 2020.08
------------------------------------------------------------*/
.lb__area {
	margin-bottom: 8px;
	font-size: 11px;
	letter-spacing: .05em;
}
.lb__inir {
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: .03em;
	text-align: justify;
}
.library_link{
    margin: 1%;
    display: inline-block;
    position: relative;
}
.lb__box {
	margin-top: 20px;
	text-align: left;
}

/*------------------------------------------------------------
	Library 2020.08
------------------------------------------------------------*/
.libTextSec .top__img {
	position: relative;
}

.libTextSec .libraryList__item {
	vertical-align: top;
}

/*------------------------------------------------------------
	pagePath 2022.05
------------------------------------------------------------*/
#pagePath{
    background: transparent !important;
    padding: 90px 30px 24px !important;
}
#pagePath li{
    opacity: .6 !important;
    color: #fff !important;
}
#pagePath li a{
    color: #fff !important;
}
#pagePath li + span{
    opacity: .6 !important;
    color: #fff !important;
}


/*------------------------------------------------------------
	新ヘッダー・新メニュー・新フッター
------------------------------------------------------------*/
/* =======================

調整

======================= */

#gHeader {
                min-width: 980px;
                }
@media screen and (max-width: 767px) {
#gHeader {
                width: 100%;
                min-width: 100%;
                height: 40px;
                display: flex;
                align-items: center;
                justify-content: center;
                }
#gHeader .headLine {
                margin: 0;
                height: 42px;
                display: flex;
                align-items: center;
                margin-top: -5px;
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                margin: auto;
                }
                }

#gHeader .inst {
                margin: -3px 10px 0 10px;
                }
@media screen and (max-width: 767px) {
#gHeader .inst {
                display: none;
                }
                }

@media screen and (max-width: 767px) {
footer .menu {
                padding: 0 30px;
                }
                }

body.open{
                overflow: hidden;
	}


/* =======================

TEL

======================= */

#_TEL {
                position: fixed;
                z-index: 12;
                top: 18px;
                right: 70px;
                width: 70px;
                height: 42px;
                background-color: #48322a;
                }
@media screen and (max-width: 767px) {
#_TEL {
                z-index: 14;
                top: 0;
                right: 0;
                height: 48px;
                }
}

#_TEL label {
                width: 100%;
                height: 100%;
                display: flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                }

#_TEL label:before {
                content: '';
                display: inline-block;
                width: 26px;
                height: 26px;
                background-image: url(../img/index/_mobile.svg);
                background-size: contain;
	background-repeat: no-repeat;
                vertical-align: middle;
                right: 3px;
                }

#_TEL label p {
                color: #fff;
                font-size: 12px;
                line-height: 1em;
                }

._popup_wrap input {
                display: none;
                }

._popup_wrap .popup_overlay {
                display: flex;
                justify-content: center;
                overflow: auto;
                position: fixed;
                top: 0;
                left: 0;
                z-index: 9999;
                width: 100%;
                height: 100%;
	background-color: rgba(62, 47, 41, .95);
                opacity: 0;
                transition: opacity 0.5s, transform 0s 0.5s;
                transform: scale(0);
                }

._popup_wrap .popup_trigger {
                position: absolute;
                width: 100%;
                height: 100%;
                }

._popup_wrap .popup_content {
                position: relative;
                align-self: center;
                width: 30%;
                box-sizing: border-box;
                background: #fff;
                transition: 0.5s;
                box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
                }
@media screen and (max-width: 767px) {
        ._popup_wrap .popup_content {
                width: 90%;
        }
}

._popup_wrap .popup_content div{
                padding: 50px 20px 45px;
                text-align: center;
                }

._popup_wrap .popup_content div p:nth-child(1) {
                color: #3e2f29;
                font-size: 16px;
                line-height: 16px;
                font-weight: bold;
                }

._popup_wrap .popup_content div p:nth-child(2) {
                margin-top: 45px;
                padding: 35px 0 30px;
                padding-left: 5%;
                height: 40px;
                color: #3e2f29;
                text-align: center;
                font-size: 33px;
                font-weight: bold;
                border-top: 1px solid #3e2f29;
                border-bottom: 1px solid #3e2f29;
	white-space: nowrap;
                }

._popup_wrap .popup_content div p:nth-child(2) a{
                padding-left: 5px;
                }

._popup_wrap .popup_content div p:nth-child(2):before {
                content: '';
                display: inline-block;
                width: 18px;
                height: 32px;
                background-image: url(../img/index/_mobile-brown.svg);
                background-size: contain;
	background-position: left top ;
	background-repeat: no-repeat;
                vertical-align: middle;
                right: 0;
                top: 0;
                }

._popup_wrap .popup_content div p:nth-child(2):after {
                content: "（無料）";
                position: relative;
                left: -7px;
                bottom: 1px;
                font-size: 14px;
                margin-right: 5px;
                }

._popup_wrap .popup_content div p:nth-child(3) {
                margin-top: 35px;
                color: #3e2f29;
                font-size: 13px;
                font-weight: bold;
                line-height: 1.7em;
                }

._popup_wrap .close_btn {
                position: absolute;
                top: -25px;
                right: 0;
                cursor: pointer;
                color:#fff;
                }

._popup_wrap input:checked ~ .popup_overlay {
                opacity: 1;
                transform: scale(1);
                transition: opacity 0.5s;
                }


/*================

drawermenu

=================*/

.drawermenubg{
                opacity: 0;
                position: fixed;
	-webkit-transform: translateX(100vw);
	transform: translateX(100vw);
                transition-property: opacity;
                transition-duration: 0.4s;
	z-index: 13;
                top: 0;
                width: 100vw;
                height: 100dvh;
	background-color: rgba(0, 0, 0, .7);
                }
.drawermenubg.open {
	opacity: 1;
	-webkit-transform:translateX(0);
	transform:translateX(0);
	}

.drawermenu{
                opacity: 0;
                position: fixed;
	-webkit-transform: translateX(100vw);
	transform: translateX(100vw);
                transition: .7s;
	z-index: 13;
                top: 0;
                width: 500px;
                height: 100dvh;
                background-color: #fff;
                }
@media screen and (max-width: 767px) {
.drawermenu{
                top: 48px;
                width: 100vw;
	-webkit-transform: translateX(-100vw);
	transform: translateX(-100vw);
                border-top: 1px solid rgba(62, 47, 41, .2);
	}
	}

.drawermenu.open {
	opacity: 1;
	-webkit-transform:translateX(calc(100vw - 500px));
	transform:translateX(calc(100vw - 500px));
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	}
@media screen and (max-width: 768px) {
.drawermenu.open {
	-webkit-transform:translateX(0);
	transform:translateX(0);
	}
	}

.drawermenuinner {
                width: 100%;
                min-height: 50vh;
	box-sizing: border-box;
                padding-top: 20px;
                padding-bottom: 30px;
                }
@media screen and (max-width: 767px) {
.drawermenuinner {
                padding-top: 0;
                padding-bottom: 20px;
                }
                }

.drawermenuinner,
.drawermenuinner a {
                color: #3e2f29;
                font-size: 13px;
                font-weight: bold;
                }

.drawermenuinner ._block {
                padding: 26px 0 0;
                width: 90%;
                margin: auto;
                }

.drawermenuinner ._block p._categoly {
                color: #FD8684;
                font-size: 11px;
                }

.drawermenuinner ._block ul {
                width: 85%;
                margin-left: 7.5%;
                margin-top: 15px;
                }

.drawermenuinner ._block ul li {
                border-bottom: 1px solid rgba(62, 47, 41, .2);
                }

.drawermenuinner ._block ul li a {
                display: block;
                width: 100%;
                height: 100%;
	box-sizing: border-box;
	background-position: right center;
	background-repeat: no-repeat;
	background-image: url(../img/index/_chevron-right-brown.svg);
	background-size: 6px;
                }

.drawermenuinner ._block ul li a {
                padding: 18px 0;
                }

.drawermenuinner ._block ul li a p {
                position: relative;
                }

.drawermenuinner ._block ul li p span{
                position: absolute;
                font-size: 10px;
                font-weight: normal;
                bottom: 0;
                left: 5em;
                }

.drawermenuinner ._block p._sub {
                display: block;
                margin-top: 20px;
                margin-left: 7%;
                padding-left: 18px;
	background-position: left 5px center;
	background-repeat: no-repeat;
	background-image: url(../img/index/_chevron-right-brown.svg);
	background-size: 4px;
                font-size: 12px;
                }

.drawermenuinner ._block.long {
                width: 100%;
                margin: auto;
                margin-top: 30px;
                padding: 0;
                border-top: 1px solid rgba(62, 47, 41, .2);
                }

.drawermenuinner ._block.long.narrow {
                margin-top: 0;
                border-bottom: 1px solid rgba(62, 47, 41, .2);
                }

.drawermenuinner ._block.long ul {
                width: 76%;
                margin: 0;
                margin-left: 12%;
                }

.drawermenuinner ._block.long ul li {
                border-bottom: none;
                }

.drawermenuinner ._block._etc ul {
                margin-top: 0;
                border-top: none;
                }

.drawermenuinner ._block._etc ul li {
                border-bottom: none;
                }

.drawermenuinner ._block._etc ul li a {
                display: block;
                width: 100%;
                height: 100%;
	box-sizing: border-box;
                padding: .5em 0 .5em 15px;
	background-position: left 2px center;
	background-repeat: no-repeat;
	background-image: url(../img/index/_chevron-right-brown.svg);
	background-size: 4px;
                }

.drawermenuinner ._block._etc ul li p {
                font-size: 12px;
                font-weight: normal;
                }

.drawermenu ._footer {
                position: sticky;
                bottom: 1px;
                left: 0;
                z-index: 1;
                width: 100%;
                height: 60px;
                background-color: #fff;
                }
@media screen and (max-width: 767px) {
.drawermenu ._footer {
                bottom: 0;
                height: 110px;
                }
                }

.drawermenu ._footer .CTA1 {
                width: 100%;
                height: 60px;
                display: flex;
                align-items: center;
                justify-content: center;
                column-gap: 1px;
                background-color: #fff;
	box-sizing: border-box;
                border-bottom: 1px solid #fff;
                }

.drawermenu ._footer .CTA1 li {
                width: 100%;
                height: 59px;
                display: flex;
                align-items: center;
                justify-content: center;
                flex-wrap: nowrap;
                flex-direction: row;
                }

.drawermenu ._footer .CTA1 li a {
                width: 100%;
                height: 59px;
                background-color: #3e2f29;
                display: flex;
                align-items: center;
                justify-content: center;
	background-position: center top 8px;
	background-repeat: no-repeat;
	background-size: 22px;
                }

.drawermenu ._footer .CTA1 li:nth-child(1) a {
	background-image: url(../img/index/_nav-reserve.svg);
                }
.drawermenu ._footer .CTA1 li:nth-child(2) a {
	background-image: url(../img/index/_nav-online.svg);
                }
.drawermenu ._footer .CTA1 li:nth-child(3) a {
	background-image: url(../img/index/_nav-book.svg);
                }

.drawermenu ._footer .CTA1 a p {
                margin-top: 23px;
                font-size: 12px;
                font-weight: bold;
                color: #fff;
                }

.drawermenu ._footer .CTA2 {
                width: 100%;
                max-width: 375px;
                height: 60px;
                margin: auto;
                display: flex;
                align-items: center;
                justify-content: center;
                }

.drawermenu ._footer .CTA2 ._announce {
                width: 45%;
                height: 60px;
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: column;
                color: #3e2f29;
                }

.drawermenu ._footer .CTA2 ._announce p{
                font-size: 9px;
                font-weight: bold;
                line-height: 9px;
                }

.drawermenu ._footer .CTA2 ._announce .time{
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: row;
                column-gap: 5px;
                margin-top: 7px;
                padding: 5px 0 0;
	border-top: 1px solid rgba(62, 47, 41, .4);
                }

.drawermenu ._footer .CTA2 ._announce .time div{
                font-size: 9px;
                line-height: 11px;
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: column;
                }

.drawermenu ._footer .CTA2 ._number {
                width: 55%;
                height: 100%;
                display: flex;
                align-items: center;
                justify-content: center;
                }

.drawermenu ._footer .CTA2 ._number a {
                display: flex;
                align-items: center;
                justify-content: center;
                height: 40px;
                padding-left: 26px;
	background-position: left center;
	background-repeat: no-repeat;
	background-image: url(../img/index/_nav-mobile.svg);
	background-size: 18px;
                }

.drawermenu ._footer .CTA2 ._number a p {
                font-size: 23px;
                font-weight: bold;
                color: #3e2f29;
                }

#pagePath,
.drawermenubg,
.drawermenu,
.drawermenubg.open,
.drawermenu.open {
     opacity: 0;
}

#pagePath,
.drawermenubg,
.drawermenu {
     transition: opacity .7s cubic-bezier(0.23, 1, 0.32, 1); }

.fadeIn #pagePath,
.fadeIn .drawermenubg,
.fadeIn .drawermenu {
     opacity: 1;
     transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1); }

/* =======================

CTA

======================= */

#_CTA {
                position: fixed;
                z-index: 10;
                bottom: -110px;
                width: 100%;
                height: 110px;
                background-color: rgba(0, 0, 0, .3);
                transition: .5s;
                }

#_CTA.is-show {
                bottom: 0;
                }

#_CTA .CTA1 {
                width: 100%;
                height: 60px;
                display: flex;
                align-items: center;
                justify-content: center;
                }

#_CTA .CTA1 a {
                width: calc(100% - 16px);
                height: 46px;
	box-sizing: border-box;
                background-color: #3e2f29;
                display: flex;
                align-items: center;
                justify-content: center;
	background-position: right 15px center;
	background-repeat: no-repeat;
	background-image: url(../img/index/_chevron-right-bold.svg);
	background-size: 10px;
                }

#_CTA .CTA1 a p {
                font-size: 16px;
                color: #fff;
                letter-spacing: 5px;
                }

#_CTA .CTA1 a p:before {
                content: "全国32店舗";
                border-radius: 15px;
                color: #fff;
                font-size: 12px;
                padding: 3px 6px;
                font-weight: bold;
                -webkit-font-smoothing: antialiased;
                white-space: nowrap;
                border: 1px solid #fff;
                position: relative;
                letter-spacing: 4px;
                bottom: 2px;
                right: 10px;
                }

#_CTA .CTA2 {
                width: 100%;
                height: 50px;
                background-color: #fff;
                display: flex;
                align-items: center;
                justify-content: center;
                column-gap: 5px;
                }

#_CTA .CTA2 li {
                width: 100%;
                height: 100%;
                display: flex;
                align-items: center;
                justify-content: center;
                }
#_CTA .CTA2 li:first-child {
                padding-left: 5px;
	}
#_CTA .CTA2 li:last-child {
                padding-right: 5px;
	}

#_CTA .CTA2 li a {
                width: 100%;
                height: 40px;
                display: flex;
                align-items: center;
                justify-content: center;
	box-sizing: border-box;
                border: 1px solid #000;
	background-position: right 7px center;
	background-repeat: no-repeat;
	background-image: url(../img/index/_chevron-right-brown.svg);
	background-size: 5px;
                }

#_CTA .CTA2 li a p {
                font-size: 13px;
                font-weight: bold;
                color: #3e2f29;
                }

#_CTA .CTA2 li a p span {
                letter-spacing: -.1em;
                }

#_CTA .CTA2 li:last-child a p:before {
                content: "無料";
                border-radius: 10px;
                color: #3e2f29;
                font-size: 9px;
                padding: 1px 4px;
                -webkit-font-smoothing: antialiased;
                white-space: nowrap;
                border: 1px solid #3e2f29;
                position: relative;
                right: 3px;
                bottom: 1px;
                }


/* =======================

_spfooter

======================= */

._spfooter {
                padding-bottom: 30px;
                }

._spfooter,
._spfooter a {
                color: #fff;
                font-size: 10px;
                font-weight: bold;
                }

._spfooter ._block {
                padding: 20px 0 0;
                width: 100%;
                margin: auto;
                }

._spfooter ._block p._categoly {
                color: #fff;
                font-size: 10px;
                text-align: center;
	opacity: 0.5;
	filter: alpha(opacity=50);
                }

._spfooter ._block ul {
                width: 100%;
                margin-top: 20px;
                border-top: 1px solid rgba(255, 255, 255, .2);
                }

._spfooter ._block ul li {
                border-bottom: 1px solid rgba(255, 255, 255, .2);
                }

._spfooter ._block ul li a {
                display: block;
                width: 100%;
                height: 100%;
	box-sizing: border-box;
	background-position: right 5px center;
	background-repeat: no-repeat;
	background-image: url(../img/index/_chevron-right.svg);
	background-size: 6px;
                padding: 10px 0;
                }

._spfooter ._block._withe ul li a {
                padding: 12px 0;
                }

._spfooter ._block ul li a p {
                position: relative;
                padding-left: 5px;
                }

._spfooter ._block ul li p span{
                display: block;
                margin-top: 5px;
                font-size: 9px;
                font-weight: normal;
	opacity: 0.5;
	filter: alpha(opacity=50);
                }

._spfooter ._block p._sub {
                display: block;
                margin-top: 20px;
                padding-left: 18px;
	background-position: left 5px center;
	background-repeat: no-repeat;
	background-image: url(../img/index/_chevron-right.svg);
	background-size: 4px;
                font-size: 10px;
                }

._spfooter ._block._etc ul {
                margin-top: 0;
                border-top: none;
                }

._spfooter ._block._etc ul li {
                border-bottom: none;
                }

._spfooter ._block._etc ul li a {
                display: block;
                width: 100%;
                height: 100%;
	box-sizing: border-box;
                padding: .5em 0 .5em 13px;
	background-position: left 5px center;
	background-repeat: no-repeat;
	background-image: url(../img/index/_chevron-right.svg);
	background-size: 4px;
                }

._spfooter ._block._etc ul li p {
                font-weight: normal;
                }

/* =======================

202312_newTOPPAGE

======================= */
@media screen and (min-width: 768px) {
	}


.sp{	display: block !important;	}
@media screen and (min-width: 768px) {
.sp{	display: none !important;	}
	}

.pc{	display: none !important;	}
@media screen and (min-width: 768px) {
.pc{	display: block !important;	}
	}

.spi{	display: inline;	}
@media screen and (min-width: 768px) {
.spi{	display: none;	}
	}

.pci{	display: none;	}
@media screen and (min-width: 768px) {
.pci{	display: inline;	}
	}

.__yumin {
                font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', serif;
	}

.__bodoni {
                font-family: BauerBodoniRoman, YuMincho, "Hiragino Mincho ProN", "Noto Serif JP", "ＭＳ Ｐ明朝", serif;
	}

/*-------- 固定header調整 --------*/

#gHeader {
                background: rgba(255,255,255, .67)!important;
                }
@media screen and (min-width: 768px) {
#gHeader {
                background: rgba(255,255,255, 0)!important;
                }
	}

/*-------- 固定footer調整 --------*/

.footer__bnr.sp .footer__bnr__top,
.footer__bnr.sp .footer__bnr__bottom ul li {
                border-radius: 1px;
                display: flex;
	align-items: center;
	justify-content: center;
                font-weight: 600;
                border: none;
                font-size: 11px;
                height: 40px;
                padding:  0;
                }

.footer__bnr.sp .footer__bnr__top {
                box-sizing: border-box;
                font-size: 15px;
                height: 50px;
                }

.footer__bnr.sp .footer__bnr__top {
                letter-spacing: 1px;
                }

#footerBnrTop.footer__bnr__top a {
                display: block;
                height: 35px;
                line-height: 1em;
                }

.footer__bnr.sp .footer__bnr__top span.footer__bnr__radius {
                font-size: 10px;
                font-weight: 600;
                background-color: #fff;
                border: none;
                color: #48322a;
                padding: 3px 10px 3px;
                transform: translateY(-2px);
                margin-top: 9px;
                }

.footer__bnr.sp .footer__bnr__bottom li:nth-of-type(1) {
                margin-right: 0;
                }

.footer__bnr.sp {
                background: rgba(0,0,0,.5);
                }

.footer__bnr.sp .footer__bnr__bottom ul {
                column-gap: 5px;
                }

.footer__bnr.sp .footer__bnr__bottom li:last-child {
	display: flex;
	align-items: center;
	justify-content: center;
                margin-right: 0;
                width: 40px;
                background-color:#06c755;
                }

.footer__bnr.sp .footer__bnr__bottom li:last-child a{
                font-size: 11px;
                }

#footerBnrBottom.footer__bnr__bottom li:last-child a {
                color: #fff !important;
                font-weight: 600;
                }

#footerBnrBottom.footer__bnr__bottom li:last-child a img{
                width: 20px;
                }

#footerBnrBottom.footer__bnr__bottom li:last-child a p{
                position:relative;
	line-height: 22px;
	height: 22px;
                padding-left: 25px;
	background-repeat: no-repeat;
	background-position: left center;
	background-image: url(../img/index/renewal/__icon_line.svg);
	background-size: 22px;
	}

.scrolled .webIcon {
                display: none !important;
                }


/*-------- splash --------*/

#splash {
                position: fixed;
                width: 100%;
                height: 100svh;
                z-index: 999;
                background: #fff;
                text-align: center;
                color: #fff;
                }

#splash_logo {
                position: absolute;
                width: 90%;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                }
@media screen and (min-width: 768px) {
#splash_logo {
                width: 60%;
                }
	}

/*-------- custom --------*/

#main{
                font-size: 13px;
                }
@media screen and (min-width: 768px) {
#main{
                font-size: 15px;
                }
	}

.scroll_bar {
                position: absolute;
                left: 10px;
                bottom: 100px;
                z-index: 1;
                overflow: hidden;
                color: #48322a;
                font-size: 8px;
                line-height: 1;
                letter-spacing: .05rem;
                writing-mode: vertical-rl;
                height: 100px;
                padding-left: 5px;
                font-family: "futura-pt", 'Avenir', sans-serif;
                }
@media screen and (min-width: 768px) {
.scroll_bar {
                left: 20px;
                bottom: 0;
                }
	}

.scroll_bar::after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                width: 1px;
                height: 100px;
                background: #48322a;
                }

.scroll_bar::after {
                animation: sdl 2s ease infinite;
                }

/*-------- mainvisual --------*/

.__mainvisual {
                width: 100%;
                height: calc(100svh - 70px);
                aspect-ratio: auto;
                overflow: hidden;
                position: relative;
                }
@media screen and (min-width: 768px) {
.__mainvisual {
                height: calc(100svh - 100px);
                height: 100svh;
                }
	}

.__mainvisual .__para {
                width: 100%;
                height: 100%;
	background-color: #fff;
	background-position: center top;
	background-repeat: no-repeat;
	background-image: url(../img/index/renewal/main-sp.jpg);
	background-size: cover;
                }
@media screen and (min-width: 768px) {
.__mainvisual .__para {
	background-image: url(../img/index/renewal/main-pc2.jpg);
                }
	}

.__mainvisual.__ver2 .__para {
                width: 100%;
                height: 100%;
	background-color: #fff;
	background-position: center top;
	background-repeat: no-repeat;
	background-image: url(../img/index/renewal/main2-sp.jpg);
	background-size: cover;
                }
@media screen and (min-width: 768px) {
.__mainvisual.__ver2 .__para {
	background-image: url(../img/index/renewal/main2-pc2.jpg);
                }
	}

.__mainvisual .__para .__love {
                position: absolute;
                left: 5%;
                top: 24%;
                width: 90%;
                height: auto;
                aspect-ratio: 700 / 316;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
                }
@media screen and (min-width: 768px) {
.__mainvisual .__para .__love {
                left: 27%;
                top: 13%;
                width: 46%;
                }
	}

.__mainvisual.__ver2 .__para .__love {
                position: absolute;
                left: 5%;
                top: 9%;
                width: 75%;
                height: auto;
                aspect-ratio: 700 / 316;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
                }
@media screen and (min-width: 768px) {
.__mainvisual.__ver2 .__para .__love {
                left: 6%;
                top: 10%;
                width: 46%;
                }
	}


.__mainvisual .__para .__love svg{
                width: 100%;
                }

#mask .st0{
                fill: none;
                stroke: #fff;
                stroke-width: 50;
                stroke-linecap: round;
                stroke-linejoin: round;
                stroke-miterlimit: 10;
                stroke-dasharray: 1500;
                stroke-dashoffset: 1500
                }

.__mainvisual .__fvMenu {
                position: absolute;
                bottom: 20px;
                left: 2%;
                width: 96%;
                height: auto;
                }
@media screen and (min-width: 768px) {
.__mainvisual .__fvMenu {
                bottom: 40px;
                left: 10%;
                width: 80%;
                }
	}

.__mainvisual .__fvMenu ul {
                width: 100%;
                height: auto;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	align-items: stretch;
                }

.__mainvisual .__fvMenu ul li {
                width: 100%;
                height: auto;
                border-right: 1px solid #47382A;
                }

.__mainvisual .__fvMenu ul li:last-child {
                border-right: none;
                }

.__mainvisual .__fvMenu ul li a {
	box-sizing: border-box;
                width: 100%;
                height: 100%;
	background-position: center bottom 5px;
	background-repeat: no-repeat;
	background-image: url(../img/index/renewal/arrow-brown.svg);
	background-size: 15px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
                text-align: center;
                padding-top: 8px;
                padding-bottom: 30px;
	/*-webkit-transition: background-image .6s;
	-ms-transition: background-image .6s;
	transition: background-image .6s;*/
                }
@media screen and (min-width: 768px) {
.__mainvisual .__fvMenu ul li a {
	background-position: center bottom 12px;
	background-size: 20px;
                padding-top: 12px;
                padding-bottom: 48px;
                }
	}

.__mainvisual .__fvMenu ul li a:hover {
	background-image: url(../img/index/renewal/arrow-white.svg);
                }

.__mainvisual .__fvMenu ul li a p{
                display: block;
                font-size: .9em;
                line-height: 1.5em;
                font-weight: 600;
                }
@media screen and (min-width: 768px) {
.__mainvisual .__fvMenu ul li a p{
                font-size: 1.2em;
                line-height: 1em;
                }
	}

.__mainvisual .__fvMenu ul li:nth-child(2) a p{
                letter-spacing: -.05em;
                }
@media screen and (min-width: 768px) {
.__mainvisual .__fvMenu ul li:nth-child(2) a p{
                letter-spacing: 0;
                }
	}

.__mainvisual .__fvMenu ul li a small{
                display: block;
                margin-top: 8px;
                font-size: .6em;
                line-height: 1em;
                }
@media screen and (min-width: 768px) {
.__mainvisual .__fvMenu ul li a small{
                font-size: .7em;
                }
	}


/*-------- fvCTA --------*/

 .__fvCTA {
                width: 100%;
                height: 70px;
                }
@media screen and (min-width: 768px) {
 .__fvCTA {
                display: none;
                height: 100px;
                }
	}

 .__fvCTA a {
                width: 100%;
                height: 100%;
	background-color: #47382A;
	background-position: right 5% center;
	background-repeat: no-repeat;
	background-image: url(../img/index/renewal/arrow-white.svg);
	background-size: 25px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
                text-align: center;
	-webkit-transition: background-color .6s;
	-ms-transition: background-color .6s;
	transition: background-color .6s;
                }
@media screen and (min-width: 768px) {
 .__fvCTA a {
                height: 100px;
	background-position: left calc(50% + 120px) center;
                }
	}

 .__fvCTA a:hover {
	background-color: #5F4E3D;
                }

 .__fvCTA a p {
                display: block;
                color: #fff;
                font-size: 1.2em;
                line-height: 1em;
                }
@media screen and (min-width: 768px) {
 .__fvCTA a p {
                font-size: 1.4em;
                }
	}

 .__fvCTA a small {
	display: flex;
	align-items: center;
	justify-content: center;
                height: 20px;
                margin-top: 8px;
                padding: 0 30px;
                color: #47382A;
                background: #fff;
                line-height: 20px;
                font-weight: 600;
	border-radius: 10px;
	-webkit-border-radius: 10px;
                }
@media screen and (min-width: 768px) {
 .__fvCTA a small {
                margin-top: 13px;
                }
	}


/*-------- special --------*/

 .__special {
                width: 100%;
                height: 70px;
                }
@media screen and (min-width: 768px) {
 .__special {
                height: 100px;
                }
	}

 .__special a {
                width: 100%;
                height: 100%;
	background-color: #fff;
	background-position: right calc(5% + 5px) center;
	background-repeat: no-repeat;
	background-image: url(../img/index/renewal/arrow-brown.svg);
	background-size: 15px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
                text-align: center;
                }
@media screen and (min-width: 768px) {
 .__special a {
                height: 100px;
	background-position: left calc(50% + 17em) center;
                }
	}

 .__special a p {
                display: inline-block;
                position: relative;
                color: #47382A;
                font-size: 1em;
                line-height: 1.5em;
                }
@media screen and (min-width: 768px) {
 .__special a p {
                font-size: 1em;
                line-height: 1em;
                }
	}

 .__special a p::after {
                position: absolute;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #000;
                bottom: -4px;
                transform: scale(0, 1);
                transform-origin: left top;
                transition: transform 0.3s;
                }
@media screen and (min-width: 768px) {
 .__special a:hover p::after {
                transform: scale(1, 1);
                }
	}

/*-------- fair --------*/

 .__fair {
	position: relative;
                background: #ECEAE9;
                padding: 45px 0;
                text-align: center;
                }
.__fair::before {
	box-sizing: border-box;
	content: '';
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: 1px solid #fff;
	position: absolute;
	top: 5px;
	left: 5px;
                z-index: 1;
	pointer-events: none;
	cursor: default;
                }
@media screen and (min-width: 768px) {
 .__fair {
                padding: 55px 0;
                }
	}

 .__fair h3{
                font-size: 1.8em;
                color: #000;
                }
@media screen and (min-width: 768px) {
 .__fair h3{
                font-size: 2em;
                }
	}

 .__fair p.__jp{
                margin-top: 5px;
                font-size: .8em;
                color: #000;
                }

 .__fair .__banner{
                width: 90%;
                margin: auto;
                margin-top: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	column-gap: 40px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
                }
@media screen and (min-width: 768px) {
 .__fair .__banner{
                margin-top: 50px;
                width: 70%;
                }
	}

 .__fair .__banner a{
                display: block;
                margin: auto;
                }

 .__fair .__banner a:last-child{
                display:none;
                }
@media screen and (min-width: 768px) {
 .__fair .__banner a:last-child{
                display:block;
                }
	}

 .__fair .__banner a img{
                width: 100%;
                transition: transform .6s ease;
	border-radius: 2px;
	-webkit-border-radius: 2px;
                vertical-align: bottom;
                }

 .__fair .__banner a:hover img{
                transform: scale(1.05);
                }

 .__fair a.__Link {
                margin-top: 40px;
                display: block;
                text-align: center;
                }
@media screen and (min-width: 768px) {
 .__fair a.__Link {
                margin-top: 50px;
                }
	}

 .__fair a.__Link p {
                display: inline-block;
                position: relative;
                color: #47382A;
                font-size: 1.2em;
                line-height: 1em;
                }

 .__fair a.__Link p:before {
                vertical-align: bottom;
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url(../img/index/renewal/arrow-brown.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
                margin-right: .5em;
                }
@media screen and (min-width: 768px) {
 .__fair a.__Link p:before {
	width: 15px;
	height: 15px;
                }
	}

 .__fair a.__Link p::after {
                position: absolute;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #000;
                bottom: -4px;
                transform: scale(0, 1);
                transform-origin: left top;
                transition: transform 0.3s;
                }
@media screen and (min-width: 768px) {
 .__fair a.__Link:hover p::after {
                transform: scale(1, 1);
                }
	}

/*-------- area --------*/

 .__area {
	position: relative;
                padding: 45px 0;
                text-align: center;
                }
.__area::before {
	box-sizing: border-box;
	content: '';
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: 1px solid #ECEAE9;
	position: absolute;
	top: 5px;
	left: 5px;
                z-index: 1;
	pointer-events: none;
	cursor: default;
                }
@media screen and (min-width: 768px) {
.__area {
                padding: 55px 0;
                }
	}

.__area h3{
                font-size: 1.8em;
                color: #000;
                }
@media screen and (min-width: 768px) {
.__area h3{
                font-size: 2em;
                }
	}

.__area p.__jp{
                margin-top: 5px;
                font-size: .8em;
                color: #000;
                }

.__area .__banners{
                margin: auto;
                margin-top: 40px;
                width: 90%;
                }
@media screen and (min-width: 768px) {
.__area .__banners{
                margin-top: 60px;
                width: 70%;
                }
	}

.__area .__banners p.__lead{
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 1.2em;
                }

.__area .__banners p.__lead.__jp{
                margin-top: 20px;
                }
@media screen and (min-width: 768px) {
.__area .__banners p.__lead.__jp{
                margin-top: 50px;
                }
	}

.__area .__banners p.__lead::before,
.__area .__banners p.__lead::after {
                background-color: #000;
                content: "";
                height: 1px;
                width: 25px;
                }
.__area .__banners p.__lead::before {
                margin-right: 12px;
                }
.__area .__banners p.__lead::after {
                margin-left: 12px;
                }

 .__area .__banner.__global{
                margin: auto;
                margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	column-gap: 10px;
                width: 100%;
                }
@media screen and (min-width: 768px) {
 .__area .__banner.__global{
                margin-top: 30px;
	column-gap: 3%;
                }
	}

 .__area .__banner.__global a{
                position: relative;
                display: block;
                width: 100%;
                height: 100%;
                margin: auto;
                overflow: hidden;
	border-radius: 2px;
	-webkit-border-radius: 2px;
                }

 .__area .__banner.__japan{
                margin: auto;
                margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	column-gap: 10px;
                width: 100%;
                }
@media screen and (min-width: 768px) {
 .__area .__banner.__japan{
                margin-top: 30px;
	flex-direction: row;
	column-gap: 1px;
                }
	}

 .__area .__banner.__japan a{
                position: relative;
                display: block;
                width: 100%;
                height: 100%;
                margin: auto;
                overflow: hidden;
	border-radius: 2px;
	-webkit-border-radius: 2px;
                }

 .__area .__banner a picture{
                }

 .__area .__banner a picture img{
                width: 100%;
                height: auto;
                transition: transform .6s ease;
                vertical-align: bottom;
                }

 .__area .__banner a:hover picture img{
                transform: scale(1.1);
                }

 .__area .__banner a .__text{
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
                }

 .__area .__banner a .__text p{
                color: #fff;
                line-height: 1em;
                }

 .__area .__banner a .__text p:first-child{
                font-size: 1.6em;
                }
@media screen and (min-width: 768px) {
 .__area .__banner a .__text p:first-child{
                font-size: 2em;
                }
        }

 .__area .__banner a .__text p:last-child{
                margin-top: 5px;
                font-size: 1.3em;
                font-weight: 600;
                padding-bottom: 30px;
	background-image: url(../img/index/renewal/arrow-white.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 18px;
                }
@media screen and (min-width: 768px) {
 .__area .__banner a .__text p:last-child{
                font-size: 1.3em;
                padding-bottom: 40px;
	background-size: 22px;
                }
	}

 .__area a.__Link {
                margin-top: 40px;
                display: block;
                text-align: center;
                }
@media screen and (min-width: 768px) {
 .__area a.__Link {
                margin-top: 50px;
                }
	}

 .__area a.__Link p {
                display: inline-block;
                position: relative;
                color: #47382A;
                font-size: 1.2em;
                line-height: 1em;
                }

 .__area a.__Link p:before {
                vertical-align: bottom;
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url(../img/index/renewal/arrow-brown.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
                margin-right: .5em;
                }
@media screen and (min-width: 768px) {
 .__area a.__Link p:before {
	width: 15px;
	height: 15px;
                }
	}

 .__area a.__Link p::after {
                position: absolute;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #000;
                bottom: -4px;
                transform: scale(0, 1);
                transform-origin: left top;
                transition: transform 0.3s;
                }
@media screen and (min-width: 768px) {
 .__area a.__Link:hover p::after {
                transform: scale(1, 1);
                }
	}

/*-------- counter --------*/

 .__counter {
	position: relative;
                background: #ECEAE9;
                padding: 45px 0;
                text-align: center;
                }
.__counter::before {
	box-sizing: border-box;
	content: '';
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: 1px solid #fff;
	position: absolute;
	top: 5px;
	left: 5px;
                z-index: 1;
	pointer-events: none;
	cursor: default;
                }
@media screen and (min-width: 768px) {
 .__counter {
                padding: 55px 0;
                }
	}

 .__counter h3{
                font-size: 1.8em;
                color: #000;
                }
@media screen and (min-width: 768px) {
 .__counter h3{
                font-size: 2em;
                }
	}

 .__counter p.__jp{
                margin-top: 5px;
                font-size: .8em;
                color: #000;
                }

 .__counter p.__lead{
                margin-top: 28px;
                font-size: 1em;
                line-height: 1.6em;
                color: #000;
                }

 .__counter .__banner{
                position: relative;
                width: 100%;
                margin: auto;
                margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	column-gap: 40px;
                }
@media screen and (min-width: 768px) {
 .__counter .__banner{
                margin-top: 50px;
                }
	}

.__counter .__banner ._scroll{
                width: 100%;
                position: absolute;
                }

@keyframes infinity-scroll-left {
                from {
                                transform: translateX(0);
                                }
                to {
                                transform: translateX(-100%);
                                }
                }

_:-ms-lang(x)::-ms-backdrop,
.__counter .__banner ._scroll .d-demo {
                display: -ms-grid;
                overflow: hidden;
                }

.__counter .__banner ._scroll .d-demo__wrap {
                display: flex;
                overflow: hidden;
	border-radius: 2px;
	-webkit-border-radius: 2px;
                }

.__counter .__banner ._scroll .d-demo__list {
                display: flex;
                list-style: none;
                }

.__counter .__banner ._scroll .d-demo__list--left{
                animation : infinity-scroll-left 60s infinite linear 1s both;
                }
@media screen and (min-width: 768px) {
.__counter .__banner ._scroll .d-demo__list--left{
                animation : infinity-scroll-left 120s infinite linear 1s both;
                }
	}

.__counter .__banner ._scroll .d-demo__item {
                width: 20vw;
                }
@media screen and (min-width: 768px) {
.__counter .__banner ._scroll .d-demo__item {
                width: 10vw;
                }
	}

.__counter .__banner ._scroll .d-demo__item > img{
                width: 100%;
                height: 100%;
                }

 .__counter .__banner img.__map{
                display: block;
                width: 80%;
                margin: auto;
                z-index: 1;
                }
@media screen and (min-width: 768px) {
 .__counter .__banner img.__map{
                width: 35%;
                }
	}

 .__counter a.__Link {
                margin-top: 20px;
                display: block;
                text-align: center;
                }

 .__counter a.__Link p {
                display: inline-block;
                position: relative;
                color: #47382A;
                font-size: 1.2em;
                line-height: 1em;
                }

 .__counter a.__Link p:before {
                vertical-align: bottom;
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url(../img/index/renewal/arrow-brown.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
                margin-right: .5em;
                }
@media screen and (min-width: 768px) {
 .__counter a.__Link p:before {
	width: 15px;
	height: 15px;
                }
	}

 .__counter a.__Link p::after {
                position: absolute;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #000;
                bottom: -4px;
                transform: scale(0, 1);
                transform-origin: left top;
                transition: transform 0.3s;
                }
@media screen and (min-width: 768px) {
 .__counter a.__Link:hover p::after {
                transform: scale(1, 1);
                }
	}


/*-------- cta2 --------*/

 .__CTA2 {
                width: 100%;
                padding: 40px 0;
                }

 .__CTA2 p.__lead{
                text-align: center;
                font-size: 1em;
                line-height: 1.6em;
                color: #000;
                }

 .__CTA2 a {
                width: 80%;
                height: 90px;
                margin: auto;
                margin-top: 25px;
	background-color: #47382A;
	background-position: right 5% center;
	background-repeat: no-repeat;
	background-image: url(../img/index/renewal/arrow-white.svg);
	background-size: 25px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
                text-align: center;
	-webkit-transition: background-color .6s;
	-ms-transition: background-color .6s;
	transition: background-color .6s;
	border-radius: 2px;
	-webkit-border-radius: 2px;
                }
@media screen and (min-width: 768px) {
 .__CTA2 a {
                width: 30%;
                height: 100px;
	background-position: left calc(50% + 120px) center;
                }
	}

 .__CTA2 a:hover {
	background-color: #5F4E3D;
                }

 .__CTA2 a p {
                display: block;
                color: #fff;
                font-size: 1.2em;
                line-height: 1em;
                }
@media screen and (min-width: 768px) {
 .__CTA2 a p {
                font-size: 1.4em;
                }
	}

 .__CTA2 a small {
	display: flex;
	align-items: center;
	justify-content: center;
                height: 20px;
                margin-top: 8px;
                padding: 0 10px;
                color: #47382A;
                background: #fff;
                line-height: 20px;
                font-weight: 600;
	border-radius: 10px;
	-webkit-border-radius: 10px;
                }
@media screen and (min-width: 768px) {
 .__CTA2 a small {
                margin-top: 13px;
                }
	}

/*-------- resortwedding --------*/

 .__mag {
	position: relative;
                width: 100%;
                aspect-ratio: 375 / 510;
                text-align: center;
                }
@media screen and (min-width: 768px) {
 .__mag {
                aspect-ratio: 128 / 50;
                }
	}

.__mag .__para {
                display: block;
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 103%;
                }
@media screen and (min-width: 768px) {
.__mag .__para {
	background-size: 108%;
                }
	}

.__mag.__resortwedding .__para {
	background-image: url(../img/index/renewal/resortwedding_sp.jpg);
                }
.__mag.__step .__para {
	background-image: url(../img/index/renewal/step_sp.jpg);
                }
.__mag.__about .__para {
	background-image: url(../img/index/renewal/about_sp.jpg);
                }
@media screen and (min-width: 768px) {
.__mag.__resortwedding .__para {
	background-image: url(../img/index/renewal/resortwedding_pc.jpg);
                }
.__mag.__step .__para {
	background-image: url(../img/index/renewal/step_pc.jpg);
                }
.__mag.__about .__para {
	background-image: url(../img/index/renewal/about_pc.jpg);
                }
	}

 .__mag .__para a {
                width: 100%;
                height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	flex-wrap: nowrap;
                padding-top: 50px;
	}
@media screen and (min-width: 768px) {
 .__mag .__para a {
	display: flex;
	align-items: center;
	justify-content: center;
                padding-top: 0;
	}
	}

 .__mag .__para a img{
                display: block;
                width: auto;
                height: 60px;
                }
@media screen and (min-width: 768px) {
 .__mag .__para a img{
                margin-top: -20px;
                }
	}

 .__mag .__para a h3{
                margin-top: 10px;
                font-size: 2.5em;
                line-height: 1.4em;
                letter-spacing: -.05em;
                color: #fff;
                }
@media screen and (min-width: 768px) {
 .__mag .__para a h3{
                font-size: 3em;
                }
	}

 .__mag.__about .__para a h3{
                color: #000;
                }

 .__mag .__para a p{
                width: auto;
                height: 40px;
                margin-top: 25px;
                padding: 0 40px;
	background-color: #fff;
	background-position: right 5% center;
	background-repeat: no-repeat;
	background-image: url(../img/index/renewal/arrow-white.svg);
	background-size: 15px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
                text-align: center;
	-webkit-transition: background-color .6s;
	-ms-transition: background-color .6s;
	transition: background-color .6s;
	border-radius: 20px;
	-webkit-border-radius: 20px;
                color: #000;
                font-size: 1em;
                line-height: 40px;
                }
@media screen and (min-width: 768px) {
 .__mag .__para a p{
                margin-top: 35px;
                height: 50px;
                line-height: 50px;
	border-radius: 25px;
	-webkit-border-radius: 25px;
                }
	}

 .__mag .__para a:hover p{
	background-color: #47382A;
	background-image: url(../img/index/renewal/arrow-white.svg);
                color: #fff;
                }


/*-------- report --------*/

 .__report {
	position: relative;
                padding: 45px 0;
                text-align: center;
                }
.__report::before {
	box-sizing: border-box;
	content: '';
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: 1px solid #ECEAE9;
	position: absolute;
	top: 5px;
	left: 5px;
                z-index: 2;
	pointer-events: none;
	cursor: default;
                }
@media screen and (min-width: 768px) {
 .__report {
                padding: 55px 0;
                }
	}

 .__report h3{
                font-size: 1.8em;
                color: #000;
                }
@media screen and (min-width: 768px) {
 .__report h3{
                font-size: 2em;
                }
	}

 .__report p.__jp{
                margin-top: 5px;
                font-size: .8em;
                color: #000;
                }

 .__report p.__lead{
                margin-top: 28px;
                font-size: 1em;
                line-height: 1.6em;
                color: #000;
                }

 .__report .__banner{
                margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: column;
                width: 100%;
                }
@media screen and (min-width: 768px) {
 .__report .__banner{
                margin-top: 10px;
	flex-direction: row;
                }
	}

 .__report .__banner .swiper {
                width: 100%;
                height: auto;
                }

 .__report .__banner .swiper-slide {
                width: 100%;
                aspect-ratio: 4 / 5;
                padding-top: 40px;
                display: flex;
                justify-content: flex-start;
                align-items: center;
	flex-direction: column;
	row-gap: 10px;
	opacity: 0.2;
	filter: alpha(opacity=20);
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
                }
@media screen and (min-width: 768px) {
 .__report .__banner .swiper-slide {
	opacity: 1;
	filter: alpha(opacity=100);
                }
	}

 .__report .__banner .swiper-slide.swiper-slide-active {
	opacity: 1;
	filter: alpha(opacity=100);
                }

 .__report .__banner .swiper-slide img{
                display: block;
                width: 100%;
                aspect-ratio: 1 / 1;
                transform: scale(.85, .85);
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
	border-radius: 2px;
	-webkit-border-radius: 2px;
                }

 .__report .__banner .swiper-slide.swiper-slide-active img{
                transform: scale(1, 1);
                }

 .__report .__banner .swiper-slide.swiper-slide-active a:hover img{
                transform: scale(1.075, 1.075);
                }

 .__report .__banner .swiper-slide p{
                margin-top: 10px;
                width: 100%;
                height: auto;
                display: flex;
                justify-content: center;
                align-items: center;
	flex-direction: column;
                color: #000;
                font-size: 1em;
                line-height: 1.6em;
	opacity: 0;
	filter: alpha(opacity=0);
                }
@media screen and (min-width: 768px) {
 .__report .__banner .swiper-slide p{
                font-size: .8em;
	opacity: 1;
	filter: alpha(opacity=100);
                }
	}

 .__report .__banner .swiper-slide.swiper-slide-active p{
	opacity: 1;
	filter: alpha(opacity=100);
                }

.__report .__banner .swiper-button-prev,
.__report .__banner .swiper-button-next {
                top: 47%;
                }
@media screen and (min-width: 768px) {
.__report .__banner .swiper-button-prev {
                left: 16%;
                }
.__report .__banner .swiper-button-next {
                right: 16%;
                }
	}


.__report .__banner .swiper-button-prev:after,
.__report .__banner .swiper-button-next:after {
                content: "";
                width: 1rem;
                height: 1rem;
                border: 0;
                border-top: solid 1px #000;
                border-right: solid 1px #000;
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                right: 0;
                margin: auto;
                }
.__report .__banner .swiper-button-prev:before {
                border-bottom: 20px solid transparent;
                border-right: 30px solid #000;
                border-top: 20px solid transparent;
                }
.__report .__banner .swiper-button-prev:after {
                transform: rotate(-135deg);
                }
.__report .__banner .swiper-button-next:before {
                border-bottom: 20px solid transparent;
                border-left: 1px solid #000;
                border-top: 20px solid transparent;
                }
.__report .__banner .swiper-button-next:after {
                transform: rotate(45deg);
                }

 .__report a.__Link {
                margin-top: 20px;
                display: block;
                text-align: center;
                }
@media screen and (min-width: 768px) {
 .__report a.__Link {
                margin-top: 30px;
                }
	}

 .__report a.__Link p {
                display: inline-block;
                position: relative;
                color: #47382A;
                font-size: 1.2em;
                line-height: 1em;
                }

 .__report a.__Link p:before {
                vertical-align: bottom;
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url(../img/index/renewal/arrow-brown.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
                margin-right: .5em;
                }
@media screen and (min-width: 768px) {
 .__report a.__Link p:before {
	width: 15px;
	height: 15px;
                }
	}

 .__report a.__Link p::after {
                position: absolute;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #000;
                bottom: -4px;
                transform: scale(0, 1);
                transform-origin: left top;
                transition: transform 0.3s;
                }
@media screen and (min-width: 768px) {
 .__report a.__Link:hover p::after {
                transform: scale(1, 1);
                }
	}

/*-------- news --------*/

 .__news {
	position: relative;
                background: #ECEAE9;
                padding: 45px 0;
                text-align: center;
                }
.__news::before {
	box-sizing: border-box;
	content: '';
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: 1px solid #fff;
	position: absolute;
	top: 5px;
	left: 5px;
                z-index: 1;
	pointer-events: none;
	cursor: default;
                }
@media screen and (min-width: 768px) {
 .__news {
                padding: 55px 0;
                }
	}

 .__news h3 {
                font-size: 1.8em;
                color: #000;
                }
@media screen and (min-width: 768px) {
 .__news h3 {
                font-size: 2em;
                }
	}

 .__news p.__jp {
                margin-top: 5px;
                font-size: .8em;
                color: #000;
                }

 .__news .__banner {
                width: 90%;
                margin: auto;
                margin-top: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 10px;
                }
@media screen and (min-width: 768px) {
 .__news .__banner {
                width: 70%;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: nowrap;
	column-gap: 40px;
                }
	}

 .__news .__banner .__right{
                display: contents;
                }
@media screen and (min-width: 768px) {
 .__news .__banner .__right{
                width: 50%;
                display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 15px;
                }
	}

 .__news .__banner .__box {
                width: 100%;
                }
@media screen and (min-width: 768px) {
 .__news .__banner .__box {
                width: 50%;
                }
	}

@media screen and (min-width: 768px) {
 .__news .__banner .__right .__box {
                width: 100%;
                }
	}

 .__news .__banner .__box a {
                width: 100%;
                height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	column-gap: 15px;
                }
@media screen and (min-width: 768px) {
 .__news .__banner .__box a {
	flex-direction: column;
	column-gap: 25px;
                }
	}

@media screen and (min-width: 768px) {
 .__news .__banner .__right .__box a{
	flex-direction: row;
                }
	}

 .__news .__banner .__box a img {
                width: 33%;
                height: auto;
	display: block;
	border-radius: 2px;
	-webkit-border-radius: 2px;
                }
@media screen and (min-width: 768px) {
 .__news .__banner .__box a img {
                width: 100%;
                }
	}

@media screen and (min-width: 768px) {
 .__news .__banner .__right .__box a img {
                width: 30%;
                }
	}

 .__news .__banner .__box a .__newsText{
                width: 67%;
                height: auto;
	display: flex;
	flex-direction: column;
	row-gap: 10px;
                }
@media screen and (min-width: 768px) {
 .__news .__banner .__box a .__newsText {
                margin-top: 20px;
                width: 100%;
                }
	}

@media screen and (min-width: 768px) {
 .__news .__banner .__right .__box a .__newsText {
                margin-top: 0;
                }
	}

 .__news .__banner .__box a .__newsText p {
	row-gap: 10px;
	text-align: left;
                line-height: 1.5em;
                font-size: .9em;
                }

 .__news .__banner .__box a .__newsText p:last-child {
                font-size: .8em;
                }

 .__news .__banner .__box a .__newsText p:last-child span{
	color: #DEAC4E;
                font-weight: 600;
                }






 .__news a.__Link {
                margin-top: 40px;
                display: block;
                text-align: center;
                }
@media screen and (min-width: 768px) {
 .__news a.__Link {
                margin-top: 50px;
                }
	}

 .__news a.__Link p {
                display: inline-block;
                position: relative;
                color: #47382A;
                font-size: 1.2em;
                line-height: 1em;
                }

 .__news a.__Link p:before {
                vertical-align: bottom;
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url(../img/index/renewal/arrow-brown.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
                margin-right: .5em;
                }
@media screen and (min-width: 768px) {
 .__news a.__Link p:before {
	width: 15px;
	height: 15px;
                }
	}

 .__news a.__Link p::after {
                position: absolute;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #000;
                bottom: -4px;
                transform: scale(0, 1);
                transform-origin: left top;
                transition: transform 0.3s;
                }
@media screen and (min-width: 768px) {
 .__news a.__Link:hover p::after {
                transform: scale(1, 1);
                }
	}