@charset "UTF-8";

/* commons and settings */
@media all {
	body {
		background-color: #f4efea;
		font-family: "Noto Serif JP", serif;
		color: #323232;
		line-height: 1;
		line-break: strict;
	}
	body.white {background-color: #fff;}
	html.nav-active,
	.nav-active body {overflow: hidden;}
	.site-main section {position: relative;}

	.section-text-content {font-weight: 100;}
	.section-content-ttl {
		writing-mode: vertical-rl;
		font-weight: 100;
	}
	.section-content-ttl .narrow {letter-spacing: -.2em;}
	.section-content-ttl > span {display: inline-block;}
	.section-text-content p {text-align: justify;}
	.ilb {display: inline-block;}
	/* sp */
	@media (max-width: 767px) {
		:root {font-size: .25vw;}
		.spNone {display: none!important;}
		html, body {overflow-x: hidden;}
		.site-header, .site-footer, .site-main {font-size: 16.5rem;}

		.section-content-ttl {
			font-size: 28rem;
			line-height: 1.724;
		}
		.section-text-content p {
			margin-top: 40rem;
			padding: 0 30rem;
			font-size: 16.5rem;
			line-height: 2.0625;
			letter-spacing: .1em;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		:root {font-size: 1px;}
		.spOnly {display: none!important;}
		.site-header, .site-footer, .site-main {
			overflow: clip;
			font-size: 16rem;
		}
		

		.section-header {
			margin: 0 auto;
			width: 1200rem;
		}
		.section-content {
			margin: 0 auto;
			padding: 0 20rem;
			max-width: 1240rem;
		}
		.section-text-content {
			width: 480rem;
		}
		.section-content-ttl {
			margin-left: auto;
			margin-right: 20%;
			font-size: 42rem;
			line-height: 1.724;
		}
		.img-left .section-content-ttl {
			margin-left: 10%;
			margin-right: auto;
		}
		.section-text-content p {
			margin-top: 80rem;
			font-size: 24rem;
			line-height: 2.083;
			letter-spacing: .06em;
		}
		.section-content {
			display: flex;
			align-items: flex-end;
			justify-content: space-between;
		}
		.section-content.img-left {
			flex-direction: row-reverse;
		}
		.section-img-content {
			width: 50%;
		}

		/* pc */
		@media (min-width: 1280px) {
			.site-header, .site-footer, .site-main {
				min-width: 1280px;
			}
		}
		/* tab */
		@media (max-width: 1279px) {
			:root {font-size: 0.078125vw;}
		}

		/* wide */
		@media (min-width: 1921px) {
			:root {font-size: 0.052vw;}
		}
	}
}

/* site-header-fixed */
@media all {
	.site-header-fixed,
	.site-header-abs {
		position: fixed;
		top: -130rem;
		left: 0;
		z-index: 10000;
		width: 100%;
		background-color: #f4efea;
		transition: background-color .5s, top .5s;
	}
	.site-header-abs {
		position: absolute;
		top: 0;
		background-color: transparent;
	}
	.site-header-abs.fixed {position: fixed;}
	.site-header-fixed.l-open {top:0;}
	.nav-active .site-header-fixed,
	.nav-active .site-header-abs {
		background-color: rgba(255, 255, 255, 1);
	}
	.site-header-fixed-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0 auto;
		width: 100%;
		height: 100%;
	}

	.site-header-logo {display: block;}
	.site-header-logo img {
		display: block;
		width: 100%;
	}

	.menu-trigger {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		transition: height .5s, opacity .3s;
	}
	.menu-trigger:hover {cursor: pointer;}
	.menu-trigger span {
		position: absolute;
		left: 0;
		display: block;
		box-sizing: border-box;
		width: 100%;
		height: max(2px, 2rem);
		background-color: #44a0ae;
		transition: .3s;
		transform-origin: center;
	}
	.nav-active .menu-trigger span:nth-child(1) {
		top: calc(50% - max(1px, 1rem));
		rotate: 30deg;
	}
	.nav-active .menu-trigger span:nth-child(2) {
		bottom: calc(50% - max(1px, 1rem));
		rotate: -30deg;
	}


	.menu-bg {
		position: fixed;
		left: 0;
		display: block;
		width: 100%;
		background: rgba(255, 255, 255, 1);
		visibility: hidden;
		opacity: 0;
		transition: opacity .5s, visibility .5s;
	}

	.nav-active .menu-bg {
		opacity: 1;
		visibility: visible;
	}

	.site-nav {
		position: fixed;
		z-index: 10001;
		overflow: auto;
		left: 0;
		width: 100%;
		opacity: 0;
		visibility: hidden;
		transition: opacity .5s, visibility .5s;
	}
	.nav-active .site-nav {
		opacity: 1;
		visibility: visible;
	}
	.site-nav a {
		display: inline-flex;
		align-items: center;
		color: #44a0ae;
	}
	.nav-item {
		padding: 1.25em 0;
		background: bottom left / auto max(1px, 1rem) repeat-x url(../img/lead/news-item-line.png);
	}
	.nav-links {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.nav-ukai-btn a {justify-content: center;}

	/* sp */
	@media (max-width: 767px) {
		.site-header-fixed,
		.site-header-abs {
			padding: 0 20rem;
			height: 60rem;
		}
		.site-header-logo {width: 240rem;}
		.site-header-abs .site-header-logo {
			opacity: 0;
			transition: opacity .5s;
		}
		.nav-active .site-header-abs .site-header-logo {opacity: 1;}

		.menu-trigger {
			margin-left: auto;
			width: 50rem;
			height: 28.8rem;
		}
		.menu-trigger span:nth-child(1) {top: 10rem;}
		.menu-trigger span:nth-child(2) {bottom: 10rem;}
		
		.menu-bg,
		.site-nav {
			top: 60rem;
			height: calc(100vh - 60rem);
		}

		.site-nav {
			padding: 30rem 35rem 50rem;
			font-size: 16.4rem;
			letter-spacing: .1em;
		}

		.nav-links {
			align-items: center;
			margin-top: 30rem;
		}
		.nav-item {
			padding: 1.3em 0;
			background-image: url(../img/lead/news-item-line-sp.svg);
		}

		.nav-links .banner + .banner {margin-top: 20rem;}
		.nav-links .banner + .nav-sns {margin-top: 30rem;}
		.nav-sns {margin-top: 20rem;}
		.nav-links .nav-ukai-btn {margin-top: 30rem;}
		.nav-ukai-btn a {width: 300rem;}
		.nav-sns img {
			margin-right: 20rem;
			width: 30rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.site-header-fixed,
		.site-header-abs {
			padding: 0 50rem;
			height: 90rem;
		}
		.site-header-logo {
			width: 360rem;
			width: 300rem;
		}

		.menu-trigger {
			width: 68rem;
			height: 40rem;
		}
		.menu-trigger:hover {opacity: .8;}

		.menu-trigger span:nth-child(1) {top: 13rem;}
		.menu-trigger span:nth-child(2) {bottom: 13rem;}

		.menu-bg,
		.site-nav {
			top: 90rem;
			height: calc(100vh - 90rem);
		}

		.site-nav {
			display: flex;
			justify-content: center;
			column-gap: 154rem;
			font-size: 24rem;
		}
		.site-nav > * {
			margin-top:auto;
			margin-bottom:auto;
		}
		.site-nav a {transition: opacity .3s;}
		.site-nav a:hover {opacity: .8;}
		
		.nav-list {
			width: 480rem;
		}

		.nav-links .banner + .banner {margin-top: 35rem;}
		.nav-links .banner + .nav-sns {margin-top: 40rem;}
		.nav-sns {margin-top: 30rem;}
		.nav-links .nav-ukai-btn {margin-top: 30rem;}
		.nav-ukai-btn a {width: 300rem;}
		.nav-sns img {
			margin-right: 20rem;
			width: 45rem;
		}
	}
}

/* site-header */
@media all {
	.site-header {
		overflow: hidden;
		position: relative;
		height: 150lvh;
		/* background: center / cover no-repeat url(../img/fv/cg.jpg); */
	}

	.fv-ttl-wrapper {position: relative;}
	.fv-ttl {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		background-color: #f4efea;
	}
	

	.fv-cg {
		overflow: hidden;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #f4efea;
	}
	.fv-cg-img {
		opacity: 0;
		filter: blur(100rem);
		transition: transform .25s ease-out, opacity .25s linear .25s, filter .5s;
  	will-change: transform; 
	}
	.start .fv-cg-img {
		opacity: 1;
		filter: blur(0);
	}
	
	/* sp */
	@media (max-width: 767px) {
		.site-header {
			height: calc(680rem + 50vw);
		}
		.fv-ttl {
			padding-bottom: 80rem;
			height: 680rem;
		}
		.fv-ttl>img {
			width: 328rem;
		}
		.fv-cg {
			width: 100%;
			height: 73.75vw;
			height: 50vw;
		}
		.fv-cg-img {
			width: 150%;
			margin-left: -22%;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.site-header {
			height: calc(1050rem + 36.875vw);
		}
		.fv-ttl {height: 1050rem;}
		.fv-ttl > img {
			width: 450rem;
			height: 427rem;
		}

		.fv-cg {height: 36.875vw;}
	}
}

/* lead-section */
@media all {
	.lead-section {
		z-index: 100;
		background-color: #f4efea;
		font-weight: 500;
	}
	.lead-section::after {
		content: '';
		position: absolute;
		z-index: -1;
		display: block;
		width: 100%;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}

	.lead-content p {
		line-height: 2.25;
		text-align: justify;
	}

	.news-header {text-align: center;}
	.news-list {
		position: relative;
		font-weight: 200;
		letter-spacing: .075em;
		line-height: 1.714;
		font-feature-settings: "palt";
	}
	.news-list::before,
	.news-list::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		background: center / cover no-repeat url(../img/lead/news-line.svg);
	}
	.news-list::before {top: 0;}
	.news-list::after {bottom: 0;}

	.news-item + .news-item {
		margin-top: 1.5em;
		padding-top: 1.5em;
		background: left top / auto max(1px, 1rem) repeat-x url(../img/lead/news-item-line.png);
	}
	.news-item span {
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		line-clamp: 1;
	}
	
	/* sp */
	@media (max-width: 767px) {
		.lead-section {padding: 52rem 30rem 30rem;}
		.lead-section::after {
			top: calc(100% - 20rem);
			left: 0;
			background-image: url(../img/lead/bg-wave-sp.svg);
			background-size: cover;
			height: 200rem;
		}
		.lead-header-ttl {margin-left: 56rem;}
		.lead-header-ttl span {display: block;}
		.lead-content {margin-top: 75rem;}
		.lead-content p {
			font-size: 16rem;
			letter-spacing: .06em;
		}
		.lead-content-ttl {
			font-size: 20.75rem;
			font-weight: normal;
			text-align: center;
			line-height: 1.765;
		}
		.lead-content-line {
			margin: 20rem auto;
			width: 100%;
		}
		.news-content {margin-top: 260rem;}
		.news-header img {width: 85rem;}

		.news-list {
			margin-top: 12rem;
			margin-left: -4rem;
			padding: 22rem 0;
			width: calc(100% + 8rem);
			font-size: 14rem;
		}
		.news-list::before,
		.news-list::after {
			height: 12rem;
			background-image: url(../img/lead/news-line-sp.svg);
			background-size: contain;
		}
		.news-item {padding: 0 4rem;}
		.news-item + .news-item {
			margin-top: 18px;
			padding-top: 18px;
			background-image: url(../img/lead/news-item-line-sp.svg);
		}
		.news-item span {
			-webkit-line-clamp: 2;
			line-clamp: 2;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.lead-section {padding: 188rem 0 120rem;}
		.lead-section::after {
			background-image: url(../img/lead/bg-wave.svg);
			top: calc(100% - 280rem);
			height: 648rem;
		}
		.lead-header-ttl {
			margin: 0 auto;
			box-sizing: content-box;
			padding-right: 306rem;
			width: 385rem;
			height: 360rem;
		}
		.lead-content {
			margin: 120rem auto 0;
			width: 695rem;
		}
		.lead-content-ttl {
			font-size: 34rem;
			font-weight: 500;
			text-align: center;
			line-height: 1.765;
		}
		.lead-content-line {
			margin: 100rem auto 50rem;
			width: 387rem;
		}
		.lead-content p {font-size: 24rem;}

		.news-content {
			margin: 210rem auto 0;
			width: 695rem;
		}
		.news-header img {width: 128rem;}

		.news-list {
			margin-top: 40rem;
			padding: 54rem 0;
			font-size: 21rem;
		}
		.news-list::before,
		.news-list::after {height: 10rem;}

		.news-item a {transition: .3s;}
		.news-item a:hover {opacity: .6;}
	}
}

/* tour-section */
@media all {
	.tour-section {
		z-index: 90;
		/* background-color: #dee1db; */
	}
	.section-header,
	.section-img-content {position: relative;z-index: 2;}
	
	/* sp */
	@media (max-width: 767px) {
		.tour-section {padding: 345rem 0 50rem;}
		/* .tour-section::after {
			background-image: url(../img/tour/bg-wave-sp.svg);
		} */
		.tour-header-ttl {
			margin-left: 20rem;
			width: 305rem;
		}
		.tour-content {
			display: flex;
			flex-direction: column-reverse;
			margin-top: 30rem;
		}
		.tour-content-ttl {
			margin-top: 48rem;
			margin-left: 155rem;
			height: 170rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.tour-section {padding: 456rem 0 50rem;}

		.tour-header-ttl {
			margin-left: auto;
			margin-right: 190rem;
			width: 440rem;
		}
		.tour-content {margin-top: -15rem;}
		.tour-content-ttl {height: 254rem;}
	}
}

/* shop-section */
@media all {
	.shop-section {
		z-index: 80;
		/* background-color: #f5f6f4; */
	}
	.shop-content-2 .section-text-content p {letter-spacing: .05em;}
	
	/* sp */
	@media (max-width: 767px) {
		.shop-section {padding: 365rem 0 100rem;}
		/* .shop-section::after {
			background-image: url(../img/shop/bg-wave-sp.svg);
		} */

		.shop-header-ttl {
			margin-left: auto;
			margin-right: 25rem;
			width: 212rem;
		}

		.shop-content-1,
		.shop-content-2 {
			display: flex;
			flex-direction: column-reverse;
			margin-top: 30rem;
		}
		.shop-content-ttl {
			margin-top: 58rem;
			margin-left: 55rem;
			height: 200rem;
		}
		.shop-content-2 {
			margin-top: 60rem;
		}
		.shop-content-2 .section-img-content {
			margin: 0 auto;
			width: 87.2%;
		}
		.shop-content-2 .section-text-content {
			margin-top: -35rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.shop-section {padding: 500rem 0 60rem;}
		/* .shop-section::after {
			background-image: url(../img/shop/bg-wave.svg);
		} */

		.shop-header-ttl {
			margin-left: 290rem;
			width: 307rem;
		}

		.shop-content-1 {margin-top: -62rem;}
		.shop-content-ttl {height: 310rem;}

		.shop-content-2 {
			align-items: center;
			justify-content: center;
			margin-top: 110rem;
		}
		.shop-content-2 .section-text-content {padding-bottom: 60rem;}
		.shop-content-2 .section-text-content p {margin-top: 45rem;}
		.shop-content-2 .section-img-content {
			margin-left: 77rem;
			width: 520rem;
		}
	}
}

/* cafe-section */
@media all {
	.cafe-section {
		z-index: 70;
		/* background-color: #fff; */
	}
	
	.cafe-insta-content {
		display: block;
		text-align: center;
	}
	.cafe-insta-ttl {
		font-weight: bold;
		color: #5a9ea0;
		line-height: 1.556;
	}
	.cafe-insta-link {
		display: block;
		background-color: #6d9792;
		font-weight: 500;
		color: #fff;
		clip-path: polygon(0 15rem, 15rem 0, calc(100% - 15rem) 0, 100% 15rem, 100% calc(100% - 15rem), calc(100% - 15rem) 100%, 15rem 100%, 0 calc(100% - 15rem));
	}
	.cafe-insta-link img {filter: brightness(0) invert(1);}
	.cafe-insta-link span {display: block;}

	/* sp */
	@media (max-width: 767px) {
		.cafe-section {padding: 280rem 0 60rem;}

		.cafe-header-ttl {
			margin-left: 36rem;
			width: 176rem;
		}

		.cafe-content {
			display: flex;
			flex-direction: column-reverse;
			margin-top: 24rem;
		}
		.cafe-content-ttl {
			margin: 58rem 45rem 0 auto;
			height: 170rem;
		}
		.cafe-section .section-text-content p {
			margin-top: 60rem;
		}

		.cafe-insta-content {
			margin-top: 70rem;
			padding: 0 36rem;
		}
		.cafe-insta-ttl {font-size: 18rem;}
		.cafe-insta-link {
			margin-top: 24rem;
			height: 90rem;
		}
		.cafe-insta-link img {
			margin: 14rem auto 12rem;
			width: 30rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.cafe-section {padding: 625rem 0 500rem;}

		.cafe-header-ttl {
			margin-left: auto;
			margin-right: 342rem;
			width: 260rem;
		}
		
		.cafe-content {margin-top: -95rem;}
		.cafe-content-ttl {
			margin-right: 10%;
			padding-bottom: 75rem;
			height: 328rem;
		}
		
		.cafe-insta-content {margin-top: 110rem;}
		.cafe-insta-ttl,
		.cafe-insta-link {
			margin: 0 auto;
			width: 480rem;
		}
		.cafe-insta-ttl {font-size: 27rem;}
		.cafe-insta-link {
			margin-top: 30rem;
			padding: 20rem 0 0;
			height: 135rem;
			font-size: 24rem;
			transition: opacity .3s;
		}
		.cafe-insta-link:hover {opacity: .8;}
		.cafe-insta-link img {
			width: 45rem;
			margin-bottom: 18rem;
		}
		

	}
}

/* info-section */
@media all {
	.info-section {
		z-index: 60;
		background-color: #f4efea;
		letter-spacing: .1em;
	}
	.info-section::before {
		content: '';
		position: absolute;
		z-index: -1;
		display: block;
		width: 100%;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}
	.info-dt {font-weight: 500;}
	.info-dd {font-weight: 200;}

	.access-content {display: block;}
	.access-ttl {text-align: center;}
	.access-gmap iframe {
		width: 100%;
		height: 100%;
	}
	.access-dt {
		border: max(1px, 1rem) solid #44a0ae;
	}
	.access-dd {
		font-weight: 200;
		line-height: 1.625;
	}
	
	/* sp */
	@media (max-width: 767px) {
		.info-section {
			margin-top: 230rem;
			padding-top: 50rem;
		}
		.info-section::before {
			background-image: url(../img/info/bg-wave-sp.svg);
			bottom: calc(100% - 2rem);
			height: 200rem;
		}
		
		.info-header {
			display: flex;
			flex-direction: column-reverse;
			row-gap: 32rem;
		}
		.info-header-ttl {
			margin-left: 35rem;
			width: 160rem;
		}

		.info-content {
			margin-top: 32rem;
			padding: 0 35rem;
			text-align: justify;
		}
		.info-dt, .info-dd {
			font-size: 16.5rem;
			line-height: 1.625;
		}
		.info-dt {
			margin-top: 1em;
			font-weight: 500;
		}
		.info-dd {
			margin-top: .5em;
			padding-bottom: 1em;
			border-bottom: max(1rem, 1px) solid #44a0ae;
			font-weight: 100;
		}
		/* .info-dd:last-child {border: none;} */

		.goods-dt, .goods-dd {display: inline;}
		.goods-dd + .goods-dt {padding-left: .5em;}
		.goods-dd span.spOnly {
			display: inline-block;
			width: 1.25em;
		}

		.map-content {
			display: block;
			padding: 70rem 35rem 0;
		}

		.access-content {
			display: flex;
			flex-direction: column;
			margin-top: 60rem;
		}
		.access-gmap {
			order: 1;
			width: 100%;
			aspect-ratio: 1;
		}
		.access-ttl {
			order: 2;
			margin-top: 90rem;
			margin-left: 35rem;
			width: 100rem;
		}
		.access-how {
			order: 3;
			padding: 20rem 35rem 0;
		}
		.access-dl + .access-dl {margin-top: 1em;}
		.car .access-dt {width: 150rem;}
		.bus .access-dt {width: 220rem;}
		.access-dd {
			margin-top: .5em;
			text-align: justify;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.info-section {padding-top: 300rem;}
		.info-section::before {
			background-image: url(../img/info/bg-wave.svg);
			bottom: calc(100% - 280rem);
			height: 648rem;
		}
		
		.info-header {
			display: flex;
			align-items: flex-start;
			justify-content: flex-start;
			column-gap: 63rem;
		}
		.info-img {width: 600rem;}
		.info-header-ttl {width: 393rem;}

		.info-content {
			display: flex;
			flex-wrap: wrap;
			align-items: stretch;
			margin-top: 67rem;
			line-height: 1.625;
		}
		.info-dt, .info-dd {
			padding: 20rem 0;
			border-bottom: max(1rem, 1px) solid #44a0ae;
			font-size: 24rem;
		}
		.info-dt {width: 255rem;}
		.info-dd {width: 945rem;}
			
		.goods-dl {
			display: flex;
			flex-wrap: wrap;
		}
		.goods-dt {flex-shrink: 0;}
		.goods-dd {
			flex-shrink: 1;
			min-width: calc(100% - 5em);
		}

		.map-content {
			margin-top: 160rem;
			max-width: 1172rem;
		}

		.access-content {
			margin-top: 370rem;
			padding-bottom: 270rem;
			max-width: 1780rem;
		}
		.access-ttl img {width: 261rem;}
		.access-gmap {
			margin-top: 45rem;
			width: 100%;
			height: 568rem;
		}
		.access-how {
			display: flex;
			justify-content: space-between;
			margin: 95rem auto 0;
			padding: 0 80rem;
			max-width: 1356rem;
		}
		.car .access-dt {width: 226rem;}
		.bus .access-dt {width: 331rem;}
		.access-dd {
			margin-top: 18rem;
			font-size: 24rem;
		}
		.bus .access-dd {width: 530rem;}

	}
}

/* faq-section */
@media all {
	.faq-section {
		background-color: #f4efea;
		letter-spacing: .1em;
	}

	.faq-dt {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		background-color: #cdad88;
		font-weight: 500;
		color: #fff;
	}
	.faq-arrow {
		position: relative;
		display: block;
		width: .75em;
		height: .75em;
		transition: transform .5s;
	}
	.faq-arrow::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-bottom: max(1px, 1rem) solid #fff;
		border-left: max(1px, 1rem) solid #fff;
		transform: translateY(-.25em) rotate(-45deg);
	}
	.open .faq-arrow {
		transform: scaleY(-1);
	}

	.faq-dd {display: none;}

	.qa-dl {font-weight: 200;}
	.qa-a, .qa-q {position: relative;}
	.qa-a::before, .qa-q::before {
		content: '';
		position: absolute;
		left: 0;
		display: block;
		background: center / contain no-repeat;
	}
	.qa-a::before {background-image: url(../img/faq/a.svg);}
	.qa-q::before {background-image: url(../img/faq/q.svg);}
	.qa-a + .qa-q {
		margin-top: 1em;
		border-top: max(2px, 2rem) solid #cdad88;
	}

	.a-item {
		position: relative;
		padding-left: 1em;
	}
	.a-item::before {
		content: '・';
		position: absolute;
		top: 0;
		left: 0;
	}
	
	/* sp */
	@media (max-width: 767px) {
		.faq-section {padding: 100rem 35rem 0;}
		.faq-header-ttl {width: 112rem;}
		.faq-dl {margin-top: 30rem;}
		.faq-dt {
			padding: 0 18rem;
			height: 40rem;
			transition: opacity .3s;
		}
		.faq-dd + .faq-dt {margin-top: 20rem;}

		.qa-a, .qa-q {
			padding-top: 24rem;
			padding-left: 30rem;
			line-height: 26rem;
		}
		.qa-a::before, .qa-q::before {
			top: 24rem;
			width: 14.5rem;
			aspect-ratio: 22 / 37;
		}
		.qa-a:last-child {padding-bottom: 12rem;}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.faq-section {
			margin: 0 auto;
		}
		.faq-header-ttl {
			margin: 0 auto;
			width: 198rem;
		}

		.faq-dl {
			display: block;
			margin-top: 60rem;
			max-width: 1198rem;
			font-size: 24rem;
		}
		.faq-dt {
			padding: 0 24rem;
			height: 60rem;
			transition: opacity .3s;
		}
		.faq-dt:hover {
			opacity: .8;
			cursor: pointer;
		}
		.faq-dd + .faq-dt {margin-top: 30rem;}

		.qa-a, .qa-q {
			padding-top: 30rem;
			padding-left: 40rem;
			line-height: 39rem;
		}
		.qa-a::before, .qa-q::before {
			top: 34rem;
			width: 22rem;
			height: 37rem;
		}
		.qa-a:last-child {padding-bottom: 30rem;}
	}
}


/* site-footer */
@media all {
	.site-footer {
		background-color: #f4efea;
		text-align: center;
		letter-spacing: .1em;
	}
	.site-footer a {color: #44a0ae;}

	.banner {display: block;}
	.sns-item img {
		margin: 0 auto;
		display: block;
	}

	.sns {
		display: inline-flex;
		flex-direction: column;
	}

	.btn {
		display: inline-block;
		border: max(1px, 1rem) solid #44a0ae;
		border-radius: 3em;
	}
	
	.copyright {
		margin-top: 115rem;
		background-color: #fff;
		font-weight: 100;
	}
	
	/* sp */
	@media (max-width: 767px) {
		.site-footer {
			padding-top: 100rem;
		}
		.site-footer a {font-size: 16.5rem;}

		.banner {width: 330rem;}
		.site-footer .banner {margin: 0 auto;}
		.banner-item + .banner-item {margin-top: 20rem;}

		.sns {margin-top: 50rem;}
		.sns-item img {
			width: 31rem;
			margin-bottom: .8em;
		}
		.sns-item + .sns-item {margin-top: 30rem;}

		.ukai-btn {margin-top: 60rem;}
		.btn {
			width: 330rem;
			padding: .8em 0;
		}

		.copyright {
			width: 100%;
			font-size: 11.1rem;
			padding: 10rem 0;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.site-footer {
			padding-top: 155rem;
		}
		.site-footer a {
			font-size: 24rem;
			transition: opacity .3s;
		}
		.site-footer a.banner:hover {opacity: .8;}
		.site-footer a:hover {opacity: .6;}

		.banner-list {
			display: flex;
			justify-content: space-between;
			margin: 0 auto;
			width: 1010rem;
		}
		.banner {width: 480rem;}

		.sns {margin-top: 70rem;}
		.sns-item img {
			width: 45rem;
			padding-bottom: 24rem;
		}
		.sns-item + .sns-item {margin-top: 55rem;}

		.ukai-btn {margin-top: 90rem;}
		.btn {
			width: 480rem;
			padding: 19rem 0;
		}

		.copyright {
			font-size: 16rem;
			padding: 12rem 0;
		}

	}
}

/* decoration */
@media all {
	.deco {
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
	}
	.deco img {
		position: absolute;
		z-index: 1;
		display: block;
	}
	.lead1 img {transform: scaleX(-1) rotate(45deg);}
	
	/* sp */
	@media (max-width: 767px) {
		/* .site-main {
			position: relative;
			z-index: 10;
		}
		.deco {
			position: absolute;
			z-index: 3;
			top: 0;
			left: 0;
			width: 100vw;
			height: 100%;
			overflow: hidden;
		} */

		.deco {z-index: 2;}
		.deco1 img {
			top: 10rem;
			left: -212rem;
			width: 335rem;
		}
		.deco2_2 img {
			top: 10rem;
			right: -247rem;
			width: 335rem;
		}
		.deco3 img {
			bottom: 10rem;
			right: -97rem;
			width: 283rem;
		}
		.deco4 img {
			bottom: -5rem;
			left: -94rem;
			width: 300rem;
		}
		.deco10 img {
			top: -10rem;
			left: 120rem;
			width: 145rem;
		}
		.deco11 img {
			bottom: 150rem;
			left: 40%;
			width: 30rem;
		}


		.deco12 img {
			top: 740rem;
			left: -80rem;
			width: 225rem;
		}
		.deco13 img {
			z-index: 100;
			top: 650rem;
			right: -150rem;
			width: 325rem;
		}
		.lead1 img {
			top: -20rem;
			right: -155rem;
			width: 230rem;
		}
		.lead2 img {
			top: 0;
			left: -130rem;
			right: auto;
		}


		.deco:has(.deco6) {
			height: calc(100% + 345rem);
		}
		.deco6 img {
			top: 415rem;
			left: 46%;
			width: 397rem;
		}
		.deco-tour img {
			top: 975rem;
			right: 70%;
			width: 145rem;
		}
		.deco7 img {
			z-index: 85;
			bottom: 0rem;
			right: 20%;
			width: 342rem;
		}

		.deco-shop img {
			top: 810rem;
			right: -8rem;
			width: 170rem;
		}

		.deco8 img {
			top: 50rem;
			left: 90rem;
			width: 505rem;
		}
		.deco-cafe img {
			top: 610rem;
			right: 220rem;
			width: 404rem;
		}

		.deco:has(.deco9) {margin-top: -90rem;}
		.deco9 img {
			z-index: 1;
			top: 0;
			left: 165rem;
			width: 410rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.deco1 img {
			top: 130rem;
			left: calc(50% - 980rem);
			width: 670rem;
		}
		.deco2_2 img {
			top: 120rem;
			left: calc(50% + 344rem);
			width: 670rem;
		}
		.deco3 img {
			bottom: 100rem;
			left: calc(50% + 250rem);
			width: 566rem;
		}
		.deco4 img {
			bottom: 100rem;
			left: calc(50% - 845rem);
			width: 600rem;
		}
		.deco10 img {
			top: -10rem;
			left: calc(50% - 145rem);
			width: 290rem;
		}
		.deco11 img {
			bottom: 120rem;
			left: calc(50% - 80rem);
			width: 55rem;
		}


		.deco12 img {
			top: 326rem;
			left: calc(50% - 743rem);
			width: 450rem;
		}
		.deco13 img {
			top: 80rem;
			left: calc(50% + 90rem);
			width: 650rem;
		}
		.lead1 img {
			top: 900rem;
			left: calc(50% + 470rem);
			width: 406rem;
		}
		.lead2 img {
			top: auto;
			bottom: -220rem;
			left: calc(50% - 790rem);
		}


		.deco2 img {
			top: 100rem;
			right: calc(50% - 960rem);
			width: 670rem;
		}

		.deco6 img {
			top: 565rem;
			right: calc(50% - 770rem);
			width: 550rem;
		}
		.deco-tour img {
			top: 870rem;
			left: calc(50% - 700rem);
			width: 212rem;
		}
		.deco7 img {
			bottom: -580rem;
			left: calc(50% - 735rem);
			width: 475rem;
		}

		.deco-shop img {
			top: 590rem;
			right: calc(50% - 650rem);
			width: 212rem;
		}

		.deco8 img {
			top: 230rem;
			right: calc(50% - 785rem);
			width: 700rem;
		}
		.deco-cafe img {
			top: 680rem;
			left: calc(50% - 960rem);
			width: 582rem;
		}

		.deco9 img {
			top: 230rem;
			top: -100rem;
			right: calc(50% - 960rem);
			width: 800rem;
		}
	}
}




/* inview */
@media all {
	.fade_blur {
		opacity: 0;
		filter: blur(.5em);
		transition: opacity 1s, filter 1s;
	}
	.fade_blur.animated {
		opacity: 1;
		filter: blur(0);
	}
	.fadeIn {
		opacity: 0;
		transition: opacity 1s;
	}
	.fadeIn.animated {opacity: 1;}
	
	/* sp */
	@media (max-width: 767px) {}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		img.fadeIn {transition-delay: .2s;}
	}
}



/* line (biscuit) */
@media all {
	.line {
		position: absolute;
		width: 100%;
		z-index: 65;
		pointer-events: none;
	}
	.line-svg {
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		width: 100%;
		display: block;
	}

	.floating-biscuit {
		offset-rotate: auto;
		offset-distance: 0%;
	}

	.pc-biscuit {
		offset-path: path("M1321.23,50.55c-112,112-424,110-518,336-59.78,143.73-138,512,534,990,144,100,274,190,394,318,0,0,178,192,60,500-122.69,320.24-488.33,516.48-950,780-452,258,173,939,173,939,0,0,273,283-279,611,0,0-285.03,171.66-335.7,362.32");
	}

	.sp-biscuit {
		offset-path: path("M246.03,37.72c15.48,34.78,63.23,201.83-315.83,415.48-67.78,38.21-78.39,111.33,2.46,163.92,128.7,83.7,438.75,69.02,438.75,266.21,0,183.65-175.01,163.92-173.77,308.11,1.08,125.92,231.7,175.01,234.16,266.21,3.18,117.82-100,131.69-278.53,295.79-289.62,266.21,38.21,539.81,38.21,539.81,0,0,252.99,176.36,258.81,305.65,6.16,136.8-7.87,306.72-345.62,462.17,0,0-100.07,46.28-83.27,138.03,41.76,228.05,354.94,294.55,351.25,571.85-.98,73.76,29.08,215.14-271.62,498.29,0,0-96.4,106.73,19.16,231.33");
	}

	.floating-biscuit image {
		animation: rotating 10s linear infinite;
		transform-box: fill-box;
		transform-origin: center;
	}

	@keyframes rotating {
		0% {transform: rotate(0deg);}
		100% {transform: rotate(360deg);}
	}
	
	/* sp */
	@media (max-width: 767px) {
		.line {
			height: 4320rem;
			background: center -85rem / cover no-repeat url(../img/line/bg-sp.svg);
		}
		.line-svg {
			margin-top: -195rem;
			height: 4825rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.line {
			overflow: hidden;
			height: 5200rem;
			background: center -190rem / 1920rem auto no-repeat url(../img/line/bg-pc.svg);
		}
		.line-svg {
			margin-top: 170rem;
			margin-left: calc(50% - 960rem);
			width: 1920rem;
		}
	}
}



/* template */
@media all {
	
	/* sp */
	@media (max-width: 767px) {}

	/* tab & pc */
	@media print,
	(min-width: 768px) {}
}

