@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;
}
.font__bodoni {
  font-family: "BauerBodoniRoman", 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', serif;
}
.font__futura {
	font-family: "futura", 'Avenir', sans-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;
}

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,
.wrapCont__list__itemTitle {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-tap-highlight-color: transparent;
	outline: none;
}

a,
a:link {
	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.onmouse__imgMask.hover.touch .top__img:before {
	opacity: .19;
}

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


.sp {
	display: block !important;
}

.pc {
	display: none !important;
}

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

.loaded .fadeInAnim {
  -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: 16px 25px;
	min-width: 205px;
	font-size: 13px;
	color: #fff;
	display: inline-block;
	letter-spacing: .03em;
	box-sizing: border-box;
	background: #48322a;
	transition: .3s;
}
.btn a:hover {
	opacity: 1 !important;
	background: #715348;
}
.section__campaignBlock .btn a {
	min-width: 220px;
    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; }

@media all and (max-width: 374px){
	.btn a {
		font-size: 12px;
	}
}

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

html {
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
	font-size: 13px;
	letter-spacing: .03em;
	color: #333;
	-webkit-font-smoothing: antialiased;
	font-family: arial, "Ã¦Â¸Â¸Ã£â€šÂ´Ã£â€šÂ·Ã£Æ’Æ’Ã£â€šÂ¯", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro","Ã£Æ’Â¡Ã£â€šÂ¤Ã£Æ’ÂªÃ£â€šÂª",sans-serif;
}

body {
	min-width: 320px;
}
body.index {
	display: none;
}

#logicadFrame {
	display: none;
}

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 20px 40px;
}
#pagePath li {
	display: inline-block;
	font-size: 11px;
	line-height: .8;
	letter-spacing: .02em;
}
@media all and (max-width: 374px){
	#pagePath li {
		font-size: 10px;
		line-height: .7;
	}
}
#pagePath li a {
	display: inline-block;
	padding: 6px 0;
}
#pagePath li br {
	display: none;
}
#pagePath li + span {
	margin-right: 6px;
	margin-left: 10px;
	opacity: .3;
}
#pagePath li.-active {
	position: relative;
    opacity: 1 !important;
    font-weight: bold;
}
#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: 4px 0;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 13;
	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: 3px 0 0 18px;
	width: 163px;
	float: left;
	position: relative;
	z-index: 14;
	font-size: 2em;
}

.headLine svg {
	width: 163px;
	height: 18px;
	fill: #48322a;
}

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

#gNavi {
	margin: 6px 6px 0 0;
	display: inline-block;
	float: right;
}

.navi__item {
	float: left;
}

.navi__item a {
	padding: 0 20px;
	font-size: 12px;
	position: relative;
	letter-spacing: 1.8px;
}

.navi__item a:after {
	width: 1px;
	height: 20px;
	position: absolute;
	top: -3px;
	right: -1px;
	content: "";
	background: #c8c1bf;
}

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

.inst {
	margin-top: 1px;
	display: inline-block;
	float: right;
	position: relative;
	z-index: 14;
}

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

.inst svg {
	width: 22px;
	height: 22px;
	fill: #48322a;
	transition: fill .5s ease;
}

.openMenu .inst svg {
	fill: #fff;
}

.closePage .inst svg {
	fill: #48322a;
}

.btnMenu {
	padding: 5px;
	width: 27px;
	height: 15px;
	position: absolute;
	top: 52%;
	margin-top: -13px;
	right: 15px;
	z-index: 13;
	transition: transform .6s ease,opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
	display: inline-block;
}

.btnMenu span {
	width: 27px;
	height: 2px;
	position: absolute;
	transform-origin: center;
	background: #48322a;
  	transition: 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;
}

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

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

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

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

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

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

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

.foot {
	display: none;
}

.openMenu .headLine svg {
	fill: #fff;
}

.openMenu .cls-2 {
	stroke: #fff;
}

.closePage .headLine svg {
	fill: #48322a;
}

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


.menu__info {
	height: auto !important;
	position: relative;
}

#gHeader .menu__info {
	padding-top: 20%;
	height: calc(100% - 20%)!important;
}

#gHeader .menuBtn {
	margin: 20px 20px 0 20px;
}

#gHeader .menuBtn a {
	display: block;
}

#gHeader .menuBtn .menuBtn__item01,
#gHeader .menuBtn .menuBtn__item02 {
	margin-bottom: 16px;
}

#gHeader .menuBtn .menuBtn__item01,
#gHeader .menuBtn .menuBtn__item02,
#gHeader .menuBtn .menuBtn__item03 {
	width: 100%;
    text-align: left;
    padding: 14px 0 14px 12px;
    font-size: 14px;
    background: #fff;
    position: relative;
    box-sizing: border-box;
    font-weight: bold;
}

#gHeader .menuBtn .menuBtn__item01 p,
#gHeader .menuBtn .menuBtn__item02 p {
	color: #333;
}
#gHeader .menuBtn .menuBtn__item01 p {
	display: inline-block;
}

#gHeader .menuBtn .menuBtn__item01:before,
#gHeader .menuBtn .menuBtn__item02:before,
#gHeader .menuBtn .menuBtn__item03:before {
    content: "▷";
    width: 10px;
    position: absolute;
    top: 13px;
    right: 15px;
}

@media all and (min-height: 680px){
	#gHeader .menu__info {
		padding-top: 22%;
		width: calc(100% - 40px);
		position: absolute;
		top: 48%;
		left: 20px;
		transform: translateY(-50%);
	}
}


#gFooter .menu__info {
	padding: 18% 0 20px;
}

.menu__center,
.menu__hasList,
.menuList {
	width: 100%!important;
}

.menu__hasList {
	margin-bottom: 33px;
}

#gFooter .menuList,
#gHeader .menuList {
    display: flex;
    flex-wrap: wrap;
}

.menuList__item {
	opacity: 0;
	transform: translateY(50px);
	-webkit-transform: translateY(50px);
	transition: opacity 0s ease 1s, transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
}

.menuList .menuList__item02 {
	transition: opacity 0s ease 1s,transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
}

.menuList .menuList__item03 {
	transition: opacity 0s ease 1s,transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
}

.menuList .menuList__item04 {
	transition: opacity 0s ease 1s,transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
}

.menuList .menuList__item {
	width: 100%;
}

.openMenu .menuList .menuList__item,
.openMenu .menuList2,
.openMenu .menu__faq  .menu__faq__inst {
	opacity: 1;
	transform: none;
	-webkit-transform: none;
}

.menuList__item a {
	display: block;
}

.menuList2,
#gFooter .menuList2 {
	margin-bottom: 32px;
	width: 100%;
	text-align: center;
	opacity: 0;
	transform: translateY(50px);
	-webkit-transform: translateY(50px);
	transition: opacity 0s ease 1s,transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
	display: flex;
	justify-content: left;
}

.openMenu .menuList__item {
	transition: opacity .6s ease, transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.openMenu .menuList .menuList__item02 {
	transition: opacity .6s ease,transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.openMenu .menuList .menuList__item03 {
	transition: opacity .6s ease,transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.openMenu .menuList .menuList__item04 {
	transition: opacity .6s ease,transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.openMenu .menuList2 {
	transition: opacity .6s ease,transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.menuList__item__p .menuList__item__more {
	opacity: .6;
    font-size: 12px;
    position: absolute;
    bottom: 16px;
    left: 35px;
}

.menuList__item__p {
	padding: 17px 20px;
	font-size: 14px;
	color: #fff;
	letter-spacing: .03em;
	white-space: nowrap;
	position: relative;
	border-bottom: 1px solid rgba(255,255,255,0.5);
}

.menuList__item__p:not(.menu__first .menuList__item__p):after,
.menuList__list__item__p:after {
	content:'＞';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	color: #fff;
	margin: auto;
	height: 13px;
}

#gFooter .menuList__item__p {
	font-size: 14px;
}

.menuList__item__p svg {
    width: 15px;
    height: 15px;
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -8px;
    fill: #fff;
}

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

.menuList__list__item__p .menuList__item__span {
	font-size: 13px;
	opacity: .6;
}

.menuList__list__item:nth-of-type(1) .menuList__item__span {
	margin-left: 18px;
}
.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;
}

@media all and (max-width: 374px){
	.menu {
		padding: 0 30px;
	}
	.menuList__item__p {
		padding: 10px 0;
		font-size: 12px;
		letter-spacing: .02em;
	}
	.menuList__item__p .menuList__item__more {
		top: 9px;
		left: 110px;
	}
	
	#gFooter .menuList__item__p {
		font-size: 12px;
	}

	.menuList .menuList__item:nth-of-type(1),
	.menuList .menuList__item:nth-of-type(3),
	.menuList .menuList__item:nth-of-type(6),
	.menuList .menuList__item:nth-of-type(8) {
		width: 54%;
	}
	.menuList__left .menuList__item:nth-of-type(1),
	.menuList__left .menuList__item:nth-of-type(3),
	.menuList__right .menuList__item:nth-of-type(2),
	.menuList__right .menuList__item:nth-of-type(5) {
		width: 54%;
	}

	.menuList__right .menuList__item:nth-of-type(6) {
		width: auto;	
	}
	.menuList__item__p .menuList__item__span {
		font-size: 11px;
	}
	.menuList.menuList__left .menuList__item,
	.menuList.menuList__right .menuList__item {
		width: 50%;
	}
}

.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 {
	padding: 17px 0;
	font-size: 14px;
	color: #fff;
	position: relative;
	padding-left: 35px;
	border-bottom: 1px solid rgba(255,255,255,0.5);
}

.menuList__item__spanserif {
	margin-left: 10px;
}
.menuList__list__item:nth-of-type(1) .menuList__item__spanserif {
	margin-left: 22px;
}
@media all and (max-width: 374px){
	.menuList__list__item__p {
		padding: 8px 0;
		font-size: 12px;
		color: #fff;
	}
}

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

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

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

.menuList__oitem a {
	font-size: 13px;
	color: #fff;
	letter-spacing: .05em;
	display: block;
}

.menu__faq .menu__faq__inst {
	padding: 19px 0;
	display: block;
	text-align: center;
	opacity: 0;
	transform: translateY(50px);
	-webkit-transform: translateY(50px);
	transition: opacity 0s ease 1s,transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
	background: #543a31;
}

.openMenu .menu__faq__inst {
	transition: opacity .6s ease,transform 1.7s cubic-bezier(0.23, 1, 0.32, 1);
}

.menu__faq__inst.hover.touch {
	opacity: .6 !important;
}

.menu__faq__inst svg {
	width: 25px;
	height: 25px;
	fill: #fff;
}

.menu__faq__inst span {
	padding-top: 9px;
	font-size: 18px;
	color: #fff;
	display: block;
	letter-spacing: .05em;
}

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

固定フッター

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

.footer__bnr.sp {
                visibility: hidden;
                padding: 6px;
                position: fixed;
                bottom: 0;
                z-index: 12;
                width: 100%;
                background: rgba(0,0,0,0.3);
                opacity: 0;
                box-sizing: border-box;
				transform: translateY(54px);
				-webkit-transform: translateY(54px);
                transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1), visibility 1s cubic-bezier(0.23, 1, 0.32, 1), transform 1s cubic-bezier(0.23, 1, 0.32, 1);
                font-family: Helvetica, Arial, YuGothic, 游ゴシック, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
                }
.scrolled .footer__bnr.sp {
                visibility: hidden;
                opacity: 0;
                transform: none;
                -webkit-transform: none;
                }
@media screen and (max-width: 767px) {
.scrolled.fadeIn .footer__bnr.sp {
                visibility: visible;
                opacity: 1;
                transform: translateY(0);
                -webkit-transform: translateY(0);
                }
                }
.footer__bnr.sp .footer__bnr__top,
.footer__bnr.sp .footer__bnr__bottom ul li {
				text-align: center;
                width: 100%;
                display: inline-block;
                border: 1px #48322a solid;
                background: #fff;
                color: #48322a!important;
                font-size: 15px;
                font-weight: bold;
                border-radius: 6px;
                padding: 14px 0;
                }
.footer__bnr.sp .footer__bnr__top {
                background: #48322a;
                color: #fff!important;  
                font-size: 16px;
                letter-spacing: 4px;
                margin-bottom: 4px;
                padding: 8px 0;
                }
#footerBnrTop.footer__bnr__top a {
				color: #fff!important;
}
#footerBnrBottom.footer__bnr__bottom a {
				color: #48322a!important;
}
.footer__bnr.sp .footer__bnr__bottom ul {
				display: flex;
}
.footer__bnr.sp .footer__bnr__bottom li {
				width: 49%!important;
}
.footer__bnr.sp .footer__bnr__bottom li:nth-of-type(1) {
				margin-right: 4px;
}
.footer__bnr.sp a.footer__bnr__top ,
.footer__bnr.sp a.footer__bnr__bottom {
                height: 54px;
                text-align: center;
                display: flex;
                justify-content: center;
                align-items: center;
                }
.footer__bnr.sp .footer__bnr__top span.footer__bnr__radius {
                padding: 6px 10px 6px;
                margin-top: 7px;
                margin-bottom: 6px;
                display: inline-block;
                font-size: 14px;
                letter-spacing: 0;
                border: #fff 1px solid;
                border-radius: 20px;
                margin-right: 8px;
                }

.scrolled .webIcon  {
  visibility: hidden;
  opacity: 0;
  transform: none;
  -webkit-transform: none;
}

.scrolled.fadeIn .webIcon {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
	-webkit-transform: translateY(0);
}

.webIcon {
	position: fixed;
    z-index: 10;
    bottom: 124px;
    right: 5px;
   	z-index: 10;
	opacity: 0;
	visibility: hidden;
	transform: translateY(54px);
	-webkit-transform: translateY(54px);
	transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1), visibility 1s cubic-bezier(0.23, 1, 0.32, 1), transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.webIcon img {
	width: 78px;
	display: block!important;
}

.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;
}

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

/*------------------------------------------------------------
	footer
------------------------------------------------------------*/
.menu__foot .menu {
	display: block;
	position: static;
}

#gFooter {
	position: relative;
	visibility: hidden;
}

.loaded #gFooter {
	visibility: visible;
}

#gFooter .menu {
	display: block;
	position: static;
	opacity: 1;
	visibility: visible;
}

#gFooter .menuList__item,
#gFooter .menuList2,
#gFooter .menu__faq__inst {
	opacity: 1;
	transform: none;
	-webkit-transform: none;
}

.scrollUp {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 13px;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	transition: transform .6s ease !important;
	border-radius: 100%;
}

.scrollUp.hover.touch {
	transform: translateX(-50%) translateY(-10px);
	-webkit-transform: translateX(-50%) translateY(-10px);
}

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

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

.footGood__img {
	margin-bottom: 15px;
	height: 9px;
}

.footGood__img img {
	height: 100%;
}

.footGood__copy {
	font-size: 9px;
	color: #000;
	opacity: .4;
	letter-spacing: .5px
}

.footGoodList {
	margin-bottom: 35px;
}

.footGoodList__item {
	display: inline-block;
}

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

.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: 32px;
}

.section__top__up {
	margin-bottom: 8px;
	position: relative;
	top: -20px;
}

.section__headline {
	font-size: 28px;
	margin-bottom: 40px;
	text-align: center;
	position: relative;
	line-height: 1.2;
}
.area .section__headline {
	margin-bottom: 50px;
}
.section__headline.font__mincho {
	font-size: 25px;
	letter-spacing: .15em;
}

.section__headline:after {
	width: 50px;
	height: 1px;
	position: absolute;
	bottom: -22px;
	left: 50%;
	margin-left: -25px;
	content: "";
	background: #000;
}

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

.section__title__img {
	margin-top: 8px;
}

.section__title__img svg {
	width: 112px;
	height: 13px;
}

.section__title__dt__img svg {
	width: 128px;
	height: 20px;
}

.section__area {
	margin-bottom: 9px;
	font-size: 10px;
	text-align: center;
	letter-spacing: 2px;
}

.section__note {
	font-size: 12px;
	text-align: center;
	line-height: 1.9;
	letter-spacing: .03em;
}
@media all and (max-width: 374px){
	.section__note {
		font-size: 11px;
	}
}

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

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

.top__img {
	overflow: hidden;
}

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

.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);
	-webkit-transform: translateX(0);
	transition: margin .3s ease,transform .3s ease;
}

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

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

.gray.show {
	background: #f9f9f9;
}

.topics__time {
	word-break: break-all;
	font-size: 11px;
	letter-spacing: .7px;
	line-height: 1.3;
	opacity: .6;
}

.topicsList {
	padding: 0 40px;
}
@media all and (max-width: 374px){
	.topicsList {
		padding: 0 30px;
	}
}

.topics__overall {
	margin-bottom: 42px;
}

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

.topicsList__box.topicsList__box__pt0 {
	padding-top: 0;
}

.topics__right__img {
	width: 100px;
	float: left;
}
.topics__right__img img {
	-webkit-transition: .5s;
	transition: .5s;
}

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

.topics__right__mess {
	margin-top: 2px;
	margin-bottom: 8px;
}

.topics__right__name {
	margin-right: 14px;
	font-size: 11px;
	letter-spacing: 0;
	line-height: 1.3;
	color: #a38238;
	float: left;
}

.topics__right__inir {
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0;
	text-align: justify;
	word-break: break-all;
}

.topicsList__item .more {
	margin-top: 10px;
	letter-spacing: .5px;
}

/*------------------------------------------------------------
	Chapel Info
------------------------------------------------------------*/
.ci {
	margin-bottom: 79px;
	padding-bottom: 60px;
}

.ci .section__title {
	margin-bottom: 7px;
}

.ci .section__title__word {
}

.ci .section__top__up {
	top: -20px;
}

.ci .section__headline::after {
	width: 40px;
    bottom: -28px;
}

.ci__info {
	padding: 0 20px;
	margin-top: 48px;
}

.ci__left {
	margin-bottom: 53px;
}

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

.ci__left dd {
	margin-bottom: 20px;
	margin-left: 120px;
	font-size: 12px;
	line-height: 1.55;
	letter-spacing: .4px;
}

.ci__map {
	padding-bottom: 62.68%;
	position: relative;
  overflow: hidden;
}

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

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

/*------------------------------------------------------------
	Chapel Link
------------------------------------------------------------*/
.areaList {
	text-align: center;
}

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

.areaList__item a {
	padding: 5px 15px;
	font-size: 12px;
	position: relative;
	letter-spacing: 1.3px;
	display: block;
}
@media all and (max-width: 374px){
	.areaList__item a {
		font-size: 11px;
	}
}

.areaList__item a:after {
	width: 1px;
	height: 16px;
	position: absolute;
	top: 50%;
	margin-top: -8px;
	right: -1px;
	content: "";
	background: #cccccc;
}

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

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

@media all and (max-width: 374px){
  .areaList__item a {
      padding-left: 10px;
      padding-right: 10px;
  }
}

/*------------------------------------------------------------
	library
------------------------------------------------------------*/
.lib {
	padding: 0 11px;
}

.libraryList {
	width: 100%;
	margin-bottom: 32px;
	text-align: center;
	overflow: hidden;
}

.libraryList__item {
	padding: 2.5% 2% 5%;
	width: 50%;
	float: left;
	display: inline-block;
	position: relative;
	box-sizing: border-box;
}

.libraryList__item a {
	position: relative;
	display: block;
}

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

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

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

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

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

.library__inir {
	font-size: 16px;
	color: #fff;
	text-align: center;
	line-height: 1.4;
  letter-spacing: -.03em;
}
@media all and (max-width: 374px){
	.library__inir {
		font-size: 13px;
		letter-spacing: .04em;
	}
}


/*------------------------------------------------------------
	fair
------------------------------------------------------------*/
.fc__box .topicsList {
	margin-bottom: 50px;
}

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

.fc__box .topicsList__item a {
	display: block;
}

.fc__box .topicsList__item {
	min-height: 90px;
}

.fc__box .topics__right__img {
	width: 90px;
	overflow: hidden;
}

.fc__box .topics__right__info {
	margin-left: 109px;
	text-align: justify;
}

.fc__box .topics__right__mess {
	margin-bottom: 8px;
}

.fc__box .topics__more {
	margin-top: 9px;
	font-size: 12px;
	letter-spacing: 0;
}

.fc__box .btn a {
	padding: 20px;
	width: 260px;
	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: 1px;
    position: relative;
}

@media all and (max-width: 374px){
  .footGoodList__item a {
  	padding: 0 10px;
  }
}

/*------------------------------------------------------------
	reokinawa
------------------------------------------------------------*/
p.reokinawa {
    text-align: center;
    font-size: 12px;
    border: 1px solid #333;
    display: inline-block;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    width: 280px;
    margin-top: 40px;
    line-height: 1.5;
}
p.reokinawa a {
    display: block;
    width: 100%;
    padding: 15px 10px;
	color: #000;
}
/*------------------------------------------------------------
	corona2
------------------------------------------------------------*/
p.corona,
p.corona2 {
    text-align: center;
    font-size: 12px;
    border: 1px solid #333;
    display: inline-block;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    width: 280px;
    margin-top: 20px;
    line-height: 1.5;
}
p.corona a,
p.corona2 a {
    display: block;
    width: 100%;
    padding: 15px 10px;
    color: #000;
}
p.corona2 a {
	height: 49px;
    box-sizing: border-box;
    padding: 0 10px;
    line-height: 49px;
}
/*------------------------------------------------------------
	ウエディング応援プロジェクト
------------------------------------------------------------*/
p.ow2021_bnr {
	text-align: center;
	margin-top: 50px;
}
p.ow2021_bnr img.sp {
	width: 97%;
	display: inline!important;
}
p.ow2021_bnr a:nth-of-type(1) img.sp {
	margin-bottom: 24px;
}
p.ow2021_text {
	text-align: center;
    margin-top: 20px;
    font-size: 15px;
    letter-spacing: .04em;
    color: #333;
}

p.ow2021_text a {
	padding-bottom: 2%;
    border-bottom: 1px solid #333;
}
/*------------------------------------------------------------
	Library 2020.08
------------------------------------------------------------*/
@media all and (max-width: 767px){
    .lb__box {
    margin-top: 19px;
    text-align: left;
    }   
    .lb__area {
	margin-bottom: 4px;
	font-size: 10px;
	letter-spacing: .05em;
    }
    .lb__inir {
	font-size: 12px;
	letter-spacing: .03em;
	text-align: justify;
	line-height: 1.4;
    }
}


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

.libTextSec .libraryList {
	display: flex;
	flex-wrap: wrap;
}

.libTextSec .libraryList__item {
	float: none;
}

.libTextSec .libraryList:after {
	display: none;
}

/*------------------------------------------------------------
	pagePath 2022.05
------------------------------------------------------------*/
#pagePath{
    background: transparent !important;
    padding: 60px 20px 20px !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;
				margin: 4px;
			    box-sizing: border-box;
                }
@media screen and (max-width: 767px) {
#_TEL {
                z-index: 14;
                top: 0;
                right: 0;
                height: 40px;
                }
}

#_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: 0;
                left: 0;
                z-index: 1;
                width: 100%;
                height: 60px;
                background-color: #fff;
                }
@media screen and (max-width: 767px) {
.drawermenu ._footer {
                bottom: 0;
                height: 61px;
                }
.drawermenu.open ._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: 8px!important;
                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: wrap;
	column-gap: 40px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
                }
@media screen and (min-width: 768px) {
 .__fair .__banner{
                margin-top: 50px;
                width: 70%;
                flex-wrap: nowrap;
                }
	}

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

@media screen and (max-width: 768px) {
 .__fair .__banner a:first-child {
                margin-bottom: 30px;
                }
	}

 .__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);
                }
	}