@charset "UTF-8";

/*header
----------------------------------------*/
.header .header_logo img {
	transition: filter .3s;
}
.header {
	transition: background .3s;
}
.header_access {
	transition: color .3s;
}
@media only screen and (min-width: 769px) {
	.header:not(.scroll) .header_logo img {
		filter: brightness(0) invert(1);
	}
	.header:not(.scroll) {
		background: none;
		color: #fff;
		box-shadow: none;
	}
}
@media only screen and (max-width: 768px) {
	body:not(.open) .header:not(.scroll) .header_logo img {
		filter: brightness(0) invert(1);
	}
	body:not(.open) .header:not(.scroll) {
		background: none;
		color: #fff;
		box-shadow: none;
	}
	body:not(.open) .header:not(.scroll) .header_access {
		color: #fff;
	}
	body:not(.open) .header:not(.scroll) .header_access::before {
		filter: brightness(0) invert(1);
	}
}

/*main
----------------------------------------*/
main {
	padding: 0;
}

/*mv
----------------------------------------*/
.mv {
	padding: 1rem;
	height: 100vh;
}
.mv_img {
	overflow: hidden;
	width: 100%;
	height: 100%;
}
.mv_img::before {
	content: '';
	display: block;
	width: .1rem;
	height: 10rem;
	background: #fff;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	z-index: 1100;
}
.mv_img::after {
	content: '';
	display: block;
	width: .7rem;
	height: .7rem;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10rem;
	margin: 0 auto;
	animation-fill-mode: forwards;
	animation-duration: 2s;
	animation-name: mv_scroll;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	z-index: 1100;
}
@keyframes mv_scroll {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(11rem);
		opacity: 0;
	}
}
.mv_img img {
	width: 100%;
	height: calc(100vh - 2rem);
	object-fit: cover;
}
.mv_img.slick-slider figure {
	float: left;
}
.mv_img figure {
	float: left;
	transform: scale(1.15);
}
.add-animation {
  animation: zoom 10s linear 0s normal both;
}
.mv_ttl {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	z-index: 1010;
	text-align: center;
}
.mv_ttl span:nth-child(1) {
	display: block;
	font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: .16em;
	text-align: center;
}
.mv_ttl span:nth-child(2) {
	display: block;
	font-size: 7rem;
	font-weight: 400;
	letter-spacing: .08em;
	line-height: 1.25;
}
.mv_ttl span:nth-child(3) {
	display: block;
	font-size: 6.4rem;
	font-weight: 400;
	letter-spacing: .08em;
	line-height: 1.15;
}
@keyframes zoom {
	0% {
		transform: scale(1.15);
	}
	100% {
		transform: scale(1);
	}
}
@media only screen and (max-width: 768px) {
.mv {
	padding: 1rem;
	height: 80vh;
}
.mv_img img {
    width: 100%;
    height: calc(80vh - 2rem);
    object-fit: cover;
}
	.mv {
		padding: .5rem;
	}
	.mv_img::before {
		height: 7rem;
	}
	.mv_img::after {
		bottom: 7rem;
	}
	@keyframes mv_scroll {
		0% {
			transform: translateY(0);
			opacity: 1;
		}
		100% {
			transform: translateY(7rem);
			opacity: 0;
		}
	}
	.mv_ttl span:nth-child(1) {
		font-size: 1.2rem;
	}
	.mv_ttl span:nth-child(2) {
		font-size: 4.8rem;
	}
	.mv_ttl span:nth-child(3) {
		font-size: 4.2rem;
	}
}

/*intro
----------------------------------------*/
.intro {
	text-align: center;
	padding: 6.6rem 0 0;
}
.intro h2 {
	font-size: 2.6rem;
	font-weight: 500;
	color: #749541;
	letter-spacing: .18em;
	line-height: 2;
	margin-bottom: .7rem;
}
.intro_txt {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: .14em;
	margin-bottom: 6.6rem;
}
.intro_inner::before {
	content: '';
	display: block;
	width: 112.1429vw;
	height: 83.6rem;
	border-radius: 56.07145vw 56.07145vw 0 0;
	background: #fff;
	position: absolute;
	left: -7vw;
	right: -7vw;
	top: 0;
	margin: 0 auto;
}
.intro_inner::after {
	content: '';
	display: block;
	width: 100%;
	position: absolute;
	top: 83.5rem;
	left: 0;
	height: 24.4rem;
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
	z-index: -1;
}
.intro_fair {
	padding: 9rem 0 0;
	z-index: 2;
}
.intro_fair h3 {
	margin-bottom: 1.4rem;
}
.intro_fair h3 > span:nth-child(1) {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 1.4rem;
	font-size: 1.6rem;
	letter-spacing: .18em;
	font-weight: 600;
	width: fit-content;
	height: 4rem;
	padding: 0 1.7rem 0 2.1rem;
	border-radius: 2rem;
	background: #E08650;
	color: #fff;
}
.intro_fair h3 > span:nth-child(2) {
	width: fit-content;
	margin: 0 auto;
	display: block;
	font-size: 3rem;
	letter-spacing: .16em;
	color: #E08650;
	font-weight: 600;
	line-height: 1.45;
	padding: 0 7.2rem;
}
.intro_fair h3 > span:nth-child(2)::before,
.intro_fair h3 > span:nth-child(2)::after {
	content: '';
	display: block;
	width: 5.4rem;
	height: .1rem;
	background: #E08650;
	position: absolute;
	right: 0;
	bottom: 2.2rem;
	transform: rotate(-31.75deg);
}
.intro_fair h3 > span:nth-child(2)::before {
	right: auto;
	left: -.5rem;
	transform: rotate(31.75deg);
}
.intro_fair_txt {
	font-size: 1.3rem;
	letter-spacing: .12em;
}
@media only screen and (max-width: 768px) {
	.intro {
		padding: 3.8rem 0 0;
	}
	.intro h2 {
		font-size: 2rem;
		line-height: 1.9;
		margin-bottom: .5rem;
	}
	.intro_txt {
		font-size: 1.6rem;
		margin-bottom: 5rem;
	}
	.intro_inner::before {
		width: 75rem;
		height: 117.9rem;
		border-radius: 37.5rem 37.5rem 0 0;
		left: -18rem;
		right: -18rem;
	}
	.intro_inner::after {
		top: 117.9rem;
		height: 39rem;
	}
	.intro_fair {
		padding: 7.3rem 0 0;
	}
	.intro_fair h3 {
		margin-bottom: .8rem;
	}
	.intro_fair h3 > span:nth-child(1) {
		margin: 0 auto 1.6rem;
		font-size: 1.4rem;
		letter-spacing: .14em;
		height: 3.5rem;
		padding: 0 1rem 0 1.4rem;
	}
	.intro_fair h3 > span:nth-child(2) {
		font-size: 2.6rem;
		letter-spacing: .186em;
		line-height: 1.5385;
		padding: 0 5rem 0 calc(5rem + .186em);
	}
	.intro_fair h3 > span:nth-child(2)::before,
	.intro_fair h3 > span:nth-child(2)::after {
		width: 6rem;
		bottom: 2.6rem;
		transform: rotate(-39.59deg);
	}
	.intro_fair h3 > span:nth-child(2)::before {
		left: 0;
		transform: rotate(39.59deg);
	}
	.intro_fair_txt {
		line-height: 2;
	}
}

/*topics
----------------------------------------*/
.topics {
	display: flex;
	justify-content: space-between;
	padding: 8.7rem 0 10rem;
}
.topics h2 {
	flex: 1;
	padding-right: 14.8rem;
	text-align: right;
	margin-top: 6.2rem;
}
.topics_btn.all .btn_more {
	    margin: 40px 0;
}
.topics h2::after {
	content: '';
	display: block;
	position: absolute;
	right: 14.8rem;
	left: 0;
	top: 4.4rem;
	height: .1rem;
	background: #BDC8B1;
}
.topics h2 span.en2 {
	display: block;
	font-size: 2.6rem;
	letter-spacing: .16em;
	font-weight: 400;
	color: #749541;
	margin-right: -.3rem;
}
.topics h2 span.en {
	display: block;
	margin-top: .5rem;
	font-size: 1.2rem;
	letter-spacing: .15em;
	font-weight: 400;
	color: #99B18B;
	padding-top: 1.4rem;
	margin-right: -.2rem;
}
.topics_list {
	width: calc(50% + 24.4rem);
}
.topics_list_inner {
	overflow: hidden;
}
.topics_list_slide {
	width: 34rem;
}
.topics_item {
	width: 30rem;
	display: block;
	margin-right: 4rem;
	outline: none;
}
.topics_list_slide.slick-slider .topics_item {
	float: left;
}
.topics_item figure img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.topics_label {
	background: #fff;
	border-radius: 5rem;
	color: #749541;
	position: absolute;
	left: 1rem;
	top: 1rem;
	width: 12rem;
	height: 3rem;
	display: flex;
	justify-content: center;
}
.topics_label span.en3 {
	padding-block: .6rem .4rem;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.81;
	letter-spacing: .13em;
}
.topics_item h3 {
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 2.1538;
	letter-spacing: .16em;
	margin-top: 1.6rem;
	margin-bottom: 1.3rem;
}
.topics_control {
	position: absolute;
	top: 26rem;
	right: calc(100% + 14.8rem);
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.topics_control .slick-dots {
	display: flex;
	gap: 1rem;
	margin-left: 2.4rem;
}
.topics_control .slick-dots button {
	appearance: none;
	border: 0;
	padding: 0;
	width: .5rem;
	height: .5rem;
	background: #99B18B;
	border-radius: 50%;
	overflow: hidden;
	display: block;
}
.topics_control .slick-dots li:not(.slick-active) button {
	opacity: .5;
}
.topics_control .slick-prev,
.topics_control .slick-next {
	display: block;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: #99B18B;
	overflow: hidden;
	text-indent: -99rem;
	margin-left: 1rem;
	cursor: pointer;
}
.topics_control .slick-prev {
	transform: scale(-1, 1);
}
.topics_control .slick-prev::before,
.topics_control .slick-next::before {
	content: '';
	display: block;
	background: url(../../img/index/icon_arrow_01.svg) no-repeat left top / 100% auto;
	width: .8rem;
	height: .9rem;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.slick-disabled {
	pointer-events: none;
	opacity: .5;
}
@media only screen and (max-width: 768px) {
	.topics {
		display: block;
		padding: 4.1rem 0 6rem;
	}
	.topics h2 {
		padding-right: 3rem;
		margin-top: 0;
		margin-bottom: 4rem;
	}
    .topics_btn.all {
width: fit-content;
    margin: auto;
}
	.topics h2::after {
		right: 3rem;
		top: 4.3rem;
	}
	.topics h2 span.en {
		padding-top: 1.2rem;
	}
	.topics_list {
		width: auto;
	}
	.topics_list_slide {
		width: 32.5rem;
		margin: 0 auto;
	}
	.topics_item {
		margin: 0 1.25rem;
	}
	.topics_control {
		position: static;
		top: auto;
		right: auto;
		display: block;
	}
	.topics_control .slick-dots {
		justify-content: center;
		margin-left: 0;
		margin-top: 3rem;
	}
	.topics_control .slick-prev,
	.topics_control .slick-next {
		position: absolute;
		top: 8.1rem;
		right: .5rem;
		width: 4.5rem;
		height: 4.5rem;
		margin-left: 0;
	}
	.topics_control .slick-prev {
		right: auto;
		left: .5rem;
	}
}

/*bnr
----------------------------------------*/
.bnr {
	max-width: 90rem;
	margin: 0 auto 14.7rem;
}
.bnr a {
	display: block;
	box-shadow: .6rem .6rem 1.5rem rgba(0, 0, 0, .17);
}
@media only screen and (max-width: 768px) {
	.bnr {
		max-width: 31rem;
		margin: 0 auto 13.2rem;
	}
}

/*day
----------------------------------------*/
.day {
	padding: 8.1rem 0 16.1rem;
}
.day::before {
	content: '';
	display: block;
	background: url(../../img/index/day_bg_01.png) no-repeat left top / 100% auto;
	width: 64.7rem;
	height: 166.5rem;
	position: absolute;
	left: 0;
	top: -58.9rem;
	z-index: -1;
}
.day::after {
	content: '';
	display: block;
	background: url(../../img/index/day_bg_02.png) no-repeat left top / 100% auto;
	width: 56rem;
	height: 89.9rem;
	position: absolute;
	right: 0;
	bottom: -27.9rem;
	z-index: -1;
}
.day_ttl {
	max-width: calc(50% + 62rem);
	margin: 0 0 0 auto;
	z-index: 2;
	display: flex;
	justify-content: space-between;
}
.day_ttl figure {
	width: calc(100% - 76rem);
}
.day_ttl h2 {
	padding-top: 5.6rem;
	font-size: 6rem;
	line-height: 1.5;
	letter-spacing: .16em;
	font-weight: 400;
	color: #99B18B;
	margin-bottom: 6rem;
}
.day_ttl p {
	font-size: 2.6rem;
	font-weight: 500;
	letter-spacing: .18em;
	line-height: 2.0769;
	position: absolute;
	top: 38.5rem;
	right: 0;
	left: 13rem;
}
.day_box {
	max-width: calc(50% + 54.6rem);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin: -8.7rem 0 0;
	z-index: 2;
}
.day_box figure {
	width: calc(100% - 61.1rem);
	display: flex;
	justify-content: space-between;
}
.day_box figure img:nth-child(1) {
	width: 39.3701%;
}
.day_box figure img:nth-child(2) {
	width: 59.8425%;
}
.day_box p {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .16em;
	margin-bottom: 8.7rem;
	line-height: 2.125;
}
@media only screen and (max-width: 768px) {
	.day {
		padding: 0 0 8.9rem;
	}
	.day::before {
		background-image: url(../../img/index/day_bg_01-sp.png);
		width: 35rem;
		height: 84.5rem;
		top: -19rem;
	}
	.day::after {
		background-image: url(../../img/index/day_bg_02-sp.png);
		width: 35rem;
		height: 84.5rem;
		bottom: -3.6rem;
	}
	.day_ttl {
		margin: 0 2rem;
		display: block;
	}
	.day_ttl figure {
		width: 31rem;
		margin: 0 auto 4rem;
	}
	.day_ttl h2 {
		padding-top: 0;
		font-size: 4.2rem;
		line-height: 1.4286;
		margin-bottom: 6.3rem;
	}
	.day_ttl p {
		font-size: 1.8rem;
		line-height: 2.2222;
		text-align: center;
		position: relative;
		top: auto;
		right: auto;
		left: auto;
	}
	.day_box {
		max-width: none;
		display: block;
		margin: 4.9rem 0 0;
	}
	.day_box figure {
		width: 35rem;
	}
	.day_box figure img:nth-child(1) {
		width: 38.5714%;
	}
	.day_box figure img:nth-child(2) {
		width: 60%;
	}
	.day_box p {
		font-size: 1.4rem;
		margin: 3.1rem 0 0 4rem;
		line-height: 2.2857;
	}
}

/*space
----------------------------------------*/
.space {
	padding-bottom: 22rem;
}
.space::before {
	content: '';
	display: block;
	width: 94rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	margin: calc(45.7143% + 21rem) auto 0;
	background: #EEE9DF;
	border-radius: 47rem 47rem 0 0;
}
.space_main {
	margin: 0 1rem;
}
.space_main h2 {
	position: absolute;
	left: calc(50% - 9rem);
	bottom: -2.7rem;
	color: #F5F3ED;
	font-size: 12rem;
	letter-spacing: .16em;
	line-height: 1.0833;
	font-weight: 400;
}
.space_lead {
	width: calc(50% + 9rem);
	margin: 8.4rem 0 13.6rem auto;
}
.space_lead h3 {
	font-size: 2.6rem;
	line-height: 1.8462;
	font-weight: 500;
	letter-spacing: .2em;
	margin-bottom: 2rem;
}
.space_lead p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2.1429;
	letter-spacing: .16em;
}
.space_item {
	display: flex;
	align-items: center;
}
.space_item:nth-child(2n) {
	flex-direction: row-reverse;
}
.space_item + .space_item {
	margin-top: 12rem;
}
.space_img {
	width: calc(50% + 15rem);
	overflow: hidden;
}
.space_img .slick-track::after {
	content: '';
	display: block;
	clear: both;
	width: 0;
	height: 0;
}
.space_img.slick-slider figure {
	float: left;
}
.space_img .slick-dots {
	display: flex;
	justify-content: flex-end;
	gap: 1.7rem;
	margin-top: 2.5rem;
	padding: 0 .5rem .5rem 0;
}
.space_img .slick-dots button {
	appearance: none;
	display: block;
	border: 0;
	overflow: hidden;
	text-indent: -99rem;
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
	background: #99B18B;
}
.space_img .slick-dots li:not(.slick-active) button {
	opacity: .5;
}
.space_img .slick-dots li.slick-active button {
	background: #749541;
}
.space_img .slick-dots li.slick-active::before {
	content: '';
	display: block;
	position: absolute;
	top: -.5rem;
	left: -.5rem;
	right: -.5rem;
	bottom: -.5rem;
	border: .05rem solid #749541;
	border-radius: 50%;
}
.space_txt {
	flex: 1;
	padding: 0 0 4rem 13.5rem;
}
.space_item:nth-child(2n) .space_txt > * {
	width: 41rem;
	margin-left: auto;
}
.space_txt h3 {
	margin-bottom: 5rem;
}
.space_txt h3 .en2 {
	font-size: 2.6rem;
	font-weight: 400;
	letter-spacing: .16em;
	display: block;
	color: #749541;
}
.space_txt h3 .en {
	display: block;
	font-size: 1.2rem;
	letter-spacing: .2em;
	font-weight: 400;
	display: block;
	color: #99B18B;
	border-top: .1rem solid #BDC8B1;
	margin-top: .9rem;
	padding-top: 1rem;
}
.space_txt h4 {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.9167;
	letter-spacing: .16em;
}
.space_txt h4::after {
	content: '';
	display: block;
	width: 27.5rem;
	height: .1rem;
	background: #BDC8B1;
	margin: 3rem 0 0;
}
.space_info {
	font-size: 1.2rem;
	line-height: 2.3333;
	letter-spacing: .1em;
	margin: 1.9rem 0 0;
}
.space_point {
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.8462;
	letter-spacing: .1em;
	color: #749541;
	margin-top: 1.1rem;
}
.space_txt h4 + .space_point {
	margin-top: 2rem;
}
.space_point li {
	padding-left: 2.2rem;
}
.space_point li::before {
	content: '';
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../../img/index/icon_check_01.svg) no-repeat left top / 100% auto;
	position: absolute;
	left: 0;
	top: .4rem;
}
.space_point li + li {
	margin-top: .8rem;
}
@media only screen and (max-width: 768px) {
	.space {
		padding-bottom: 8.7rem;
	}
	.space::before {
		width: 35rem;
		top: 69.3rem;
		margin: 0 auto;
		border-radius: 17.5rem 17.5rem 0 0;
	}
	.space_main {
		margin: 0 .5rem;
	}
	.space_main h2 {
		left: 2.5rem;
		bottom: -1.8rem;
		font-size: 6.2rem;
		line-height: 1.1935;
	}
	.space_lead {
		width: auto;
		margin: 5.1rem 3rem 8rem;
	}
	.space_lead h3 {
		font-size: 2.2rem;
		line-height: 1.9091;
		letter-spacing: .18em;
		margin-bottom: 1.8rem;
	}
	.space_item {
		display: block;
	}
	.space_item + .space_item {
		margin-top: 3.6rem;
	}
	.space_img {
		width: 35rem;
		margin-bottom: 1.9rem;
	}
	.space_item:nth-child(2n) .space_img {
		margin-left: auto;
	}
	.space_img img {
		width: 100%;
		height: 36rem;
		object-fit: cover;
	}
	.space_img .slick-dots {
		margin-top: 2rem;
	}
	.space_item:nth-child(2n) .space_img .slick-dots {
		margin-right: 3.5rem;
	}
	.space_txt {
		padding: 0 0 4rem 5rem;
	}
	.space_txt h3 {
		margin-bottom: 3rem;
	}
	.space_txt h3 .en {
		margin-top: .4rem;
		padding-top: 1.2rem;
		letter-spacing: .15em;
	}
	.space_txt h4 {
		font-size: 1.8rem;
		line-height: 2;
		letter-spacing: .18em;
	}
	.space_txt h4::after {
		width: 24.8rem;
		margin: 2rem 0 0;
	}
	.space_point li + li {
		margin-top: .75rem;
	}
}

/*cuisine
----------------------------------------*/
.cuisine {
	padding-bottom: 16rem;
}
.cuisine::before {
	content: '';
	display: block;
	background: url(../../img/index/cuisine_bg_01.png) no-repeat left top / 100% auto;
	width: 36.1rem;
	height: 151rem;
	position: absolute;
	left: 0;
	bottom: -57rem;
}
.cuisine_main {
	padding: 1rem 1rem 0;
	margin-bottom: 6.7rem;
}
.cuisine_main img {
	width: 85.8696%;
}
.cuisine_box {
	width: calc(60% + 31.4rem);
	margin-left: auto;
	display: flex;
	align-items: center;
}
.cuisine_txt {
	width: 56.1rem;
	padding-top: .1rem;
}
.cuisine_txt h2 {
	margin-bottom: 4.2rem;
}
.cuisine_txt h2 .en2 {
	font-size: 2.6rem;
	font-weight: 400;
	letter-spacing: .16em;
	display: block;
	color: #749541;
}
.cuisine_txt h2 .en {
	display: block;
	font-size: 1.2rem;
	letter-spacing: .15em;
	font-weight: 400;
	display: block;
	color: #99B18B;
	border-top: .1rem solid #BDC8B1;
	margin-top: .5rem;
	padding-top: 1rem;
}
.cuisine_txt h3 {
	font-size: 2.2rem;
	line-height: 2.2727;
	font-weight: 500;
	letter-spacing: .18em;
	margin-bottom: 2.4rem;
}
.cuisine_txt p {
	font-size: 1.4rem;
	letter-spacing: .16em;
	font-weight: 500;
	line-height: 2.14;
}
.cuisine_img {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: .3rem 0;
	order: 2;
}
.cuisine_img figure {
	width: 55.1876%;
}
.cuisine_img figure:nth-child(2n) {
	width: 44.1501%;
}
@media only screen and (max-width: 768px) {
	.cuisine {
		padding-bottom: 9.9rem;
	}
	.cuisine::before {
		background-image: url(../../img/index/cuisine_bg_01-sp.png);
		width: 21rem;
		height: 71.7rem;
		bottom: -31.4rem;
	}
	.cuisine_main {
		padding: 0 .5rem;
		margin-bottom: 3rem;
	}
	.cuisine_main img {
		width: 100%;
	}
	.cuisine_box {
		width: auto;
		display: block;
	}
	.cuisine_txt {
		width: 35rem;
		margin-left: auto;
		padding-top: 4.9rem;
	}
	.cuisine_txt h2 {
		margin-bottom: 4rem;
	}
	.cuisine_txt h2 .en {
		margin-top: .3rem;
		padding-top: 1.3rem;
	}
	.cuisine_txt h3 {
		font-size: 1.8rem;
		line-height: 2;
		margin-bottom: 2.1rem;
	}
	.cuisine_txt p {
		font-size: 1.3rem;
		line-height: 2.1538;
		margin-right: 4rem;
	}
	.cuisine_img {
		width: 28.9rem;
		margin-left: auto;
	}
	.cuisine_img img {
		width: 100%;
		height: 16rem;
		object-fit: cover;
	}
	.cuisine_img figure {
		width: 55.3633%;
	}
	.cuisine_img figure:nth-child(2n) {
		width: 43.5986%;
	}
}

/*brass
----------------------------------------*/
.brass {
	background: none;
	padding-bottom: 19.9rem;
	transition: background .5s;
	transition-timing-function: linear;
}
.brass::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(to bottom, rgba(183, 130, 80, 0) 8.5rem, rgba(183, 130, 80, 0) 0%,rgba(183, 130, 80, 1) 36.5rem);
	opacity: 0;
	transition: opacity .5s;
}
.bgcolor .brass {
	color: #fff;
}
.bgcolor .brass::before {
	opacity: 1;
}
.brass_main {
	display: flex;
	justify-content: center;
	padding: 0 1rem;
}
.brass_main img {
	width: 100%;
}
.brass_main h2 {
	position: absolute;
	left: calc(50% - 16.1rem);
	bottom: -2.6rem;
	color: #F5F3ED;
	font-size: 12rem;
	line-height: 1.0833;
	font-weight: 400;
	letter-spacing: .16em;
}
.brass_wedding {
	width: calc(50% + 56rem);
	margin: 11.6rem 0 12rem auto;
	display: flex;
}
.brass_wedding h3 {
	width: 39.3rem;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: .16em;
}
.brass_wedding h3 img {
	width: 15.9rem;
	margin: 0 0 2.7rem -.2rem;
	opacity: .8;
	filter: background .5s, opacity .5s;
}
.bgcolor .brass_wedding h3 img {
	filter: none;
}
.brass_wedding_box {
	flex: 1;
	margin-top: -1.6rem;
}
.brass_wedding_box h4 {
	font-size: 2.6rem;
	letter-spacing: .18em;
	line-height: 1.8462;
	font-weight: 600;
	margin-bottom: 2rem;
}
.brass_wedding_box p:not(.brass_wedding_note) {
	font-size: 1.4rem;
	letter-spacing: .16em;
	line-height: 2.1429;
}
.brass_wedding_note {
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: .16em;
	margin-top: 1.9rem;
}
.brass_wedding_box figure {
	width: 71.5rem;
	margin: 3.9rem 0 0;
}
.brass_value {
	display: flex;
	align-items: center;
	margin-bottom: 12rem;
}
.brass_value .brass_value_point {
	width: calc(50% + 16.6rem);
	background: #F5F3ED;
	color: #333;
}
.brass_value_txt {
	flex: 1;
	overflow: hidden;
}
.brass_value_txt_inner {
	width: 45.4rem;
	margin-left: auto;
	margin-bottom: 8.2rem;
}
.brass_value_txt_inner::before {
	content: '';
	display: block;
	height: .1rem;
	background: #fff;
	position: absolute;
	right: 0;
	left: -50vw;
	top: 6.3rem;
}
.brass_value_txt h3 {
	margin-bottom: 4rem;
}
.brass_value_txt h3 .en2 {
	display: block;
	font-size: 6rem;
	font-weight: 400;
	letter-spacing: .16em;
	margin-bottom: .3rem;
}
.brass_value_txt h3 .en {
	display: block;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: .15em;
}
.brass_value_txt h4 {
	font-size: 2rem;
	letter-spacing: .18em;
	line-height: 2.1;
	font-weight: 600;
	margin-bottom: 2.7rem;
}
.brass_value_txt p {
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: .16em;
	line-height: 2.1429;
}
.brass_value_point_inner {
	overflow: hidden;
	padding: 8rem 0 8.2rem 8rem;
}
.brass_value_point_slide {
	width: 36.9rem;
}
.brass_value_point_item {
	width: 33rem;
	margin-right: 3.9rem;
}
.brass_value_point_slide.slick-slider .brass_value_point_item {
	float: left;
}
.brass_value_point_item figcaption {
	background: #F5F3ED;
	width: 4.3rem;
	height: 6rem;
	font-size: 2.2rem;
	letter-spacing: .07em;
	color: #B78250;
	position: absolute;
	left: 0;
	bottom: -1rem;
	padding-top: 1.2rem;
}
.brass_value_point_item h5 {
	font-size: 1.6rem;
	letter-spacing: .18em;
	color: #B78250;
	margin: 2.4rem 0 1.1rem;
}
.brass_value_point_item p {
	font-size: 1.3rem;
	letter-spacing: .1em;
	line-height: 2;
}
.brass_value_control {
	position: absolute;
	bottom: 2.6rem;
	left: -46.4rem;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.brass_value_control .slick-dots {
	display: flex;
	gap: 1rem;
	margin-left: 3.3rem;
}
.brass_value_control .slick-dots button {
	appearance: none;
	border: 0;
	padding: 0;
	width: .5rem;
	height: .5rem;
	background: #F5F3ED;
	border-radius: 50%;
	overflow: hidden;
	display: block;
}
.brass_value_control .slick-dots li:not(.slick-active) button {
	background: #CAAD8E;
}
.brass_value_control .slick-prev,
.brass_value_control .slick-next {
	display: block;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: #F5F3ED;
	overflow: hidden;
	text-indent: -99rem;
	margin-left: 1rem;
	cursor: pointer;
}
.brass_value_control .slick-prev {
	transform: scale(-1, 1);
}
.brass_value_control .slick-prev::before,
.brass_value_control .slick-next::before {
	content: '';
	display: block;
	background: url(../../img/index/icon_arrow_02.svg) no-repeat left top / 100% auto;
	width: .8rem;
	height: .9rem;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.brass_instagram {
	display: flex;
	justify-content: center;
	gap: 0 27.6rem;
}
.brass_instagram_item {
	width: 38rem;
}
.brass_instagram_item:nth-child(2)::before {
	content: '';
	display: block;
	width: .1rem;
	background: #C8AB97;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -13.8rem;
}
.brass_instagram_item h3 {
	width: 29.1rem;
	margin: 0 auto 3.1rem;
}
.brass_instagram_item:nth-child(2) h3 {
	width: 23rem;
	margin-top: -.3rem;
}
.brass_instagram_item p {
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: .1em;
	line-height: 2;
	color: #fff;
}
.brass_instagram_item a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 7rem;
	background: #F5F3ED;
	color: #B78250;
	font-size: 1.4rem;
	letter-spacing: .15em;
	border-radius: 3.5rem;
	margin-top: 3.2rem;
	box-shadow: .2rem .2rem 1rem rgba(0, 0, 0, .15);
}
.brass_instagram_item a::before {
	content: '';
	display: block;
	width: 2rem;
	height: 2rem;
	background: url(../../img/index/icon_instagram_01.svg) no-repeat left top / 100% auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 4.3rem;
	margin: auto 0;
}
.brass_instagram_item a::after {
	content: '';
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../../img/index/icon_external_01.svg) no-repeat left top / 100% auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 4.2rem;
	margin: auto 0;
}
.brass_instagram_item:nth-child(2) a {
	color: #fff;
	background: #99B18B;
}
.brass_instagram_item:nth-child(2) a::before,
.brass_instagram_item:nth-child(2) a::after {
	filter: brightness(0) invert(1);
}
@media only screen and (max-width: 768px) {
	.brass {
		padding-bottom: 13.2rem;
	}
	.brass_main {
		display: block;
		padding: 0 .5rem;
	}
	.brass_main h2 {
		left: 3rem;
		bottom: -1.8rem;
		font-size: 6.2rem;
		line-height: 1.1935;
	}
	.brass_wedding {
		width: auto;
		margin: 6rem 3rem 7.2rem;
		display: block;
	}
	.brass_wedding h3 {
		width: auto;
	}
	.brass_wedding h3 img {
		width: 11rem;
		margin: 0 0 1.8rem;
	}
	.brass_wedding_box {
		margin-top: 2.8rem;
	}
	.brass_wedding_box h4 {
		font-size: 1.8rem;
		line-height: 2.1111;
		font-weight: 500;
	}
	.brass_wedding_box p:not(.brass_wedding_note) {
		font-size: 1.3rem;
		line-height: 2.1538;
	}
	.brass_wedding_note {
		line-height: 2;
		margin-left: 1em;
		text-indent: -1em;
	}
	.brass_value {
		display: block;
		margin-bottom: 4rem;
	}
	.brass_value_txt_inner {
		width: auto;
		margin-bottom: 10.2rem;
	}
	.brass_value_txt_inner::before {
		left: 0;
		top: 5.4rem;
	}
	.brass_value_txt h3 {
		margin-bottom: 3.7rem;
		padding-left: 3rem;
	}
	.brass_value_txt h3 .en2 {
		font-size: 5rem;
	}
	.brass_value_txt h4 {
		font-size: 1.8rem;
		margin: 0 2rem 2rem 3rem;
	}
	.brass_value_txt p {
		font-size: 1.3rem;
		font-weight: 500;
		line-height: 2.1538;
		margin: 0 2rem 0 3rem;
	}
	.brass_value .brass_value_point {
		width: auto;
		margin-left: 2rem;
	}
	.brass_value_point_inner {
		padding: 2rem 0 5.2rem 2rem;
	}
	.brass_value_point_slide {
		width: 32.9rem;
	}
	.brass_value_point_item {
		width: 31rem;
		margin-right: 1.9rem;
	}
	.brass_value_point_item figure img {
		width: 100%;
		height: 20rem;
		object-fit: cover;
	}
	.brass_wedding_ranking {
		width: 33rem;
		margin: 0 auto 8rem;
	}
	.brass_value_control {
		position: absolute;
		top: -7.5rem;
		bottom: auto;
		left: auto;
	}
	.brass_value_control .slick-dots {
		margin-left: 2rem;
	}
	.brass_value_control .slick-prev,
	.brass_value_control .slick-next {
		width: 4.5rem;
		height: 4.5rem;
	}
	.brass_instagram {
		display: block;
	}
	.brass_instagram_item {
		width: 31rem;
		margin: 0 auto;
	}
	.brass_instagram_item + .brass_instagram_item {
		margin-top: 5rem;
		border-top: .2rem solid #C8AB97;
		padding-top: 3.5rem;
	}
	.brass_instagram_item:nth-child(2)::before {
		display: none;
	}
	.brass_instagram_item h3 {
		width: 27rem;
		margin: 0 auto 2.2rem;
	}
	.brass_instagram_item a {
		height: 6rem;
		font-size: 1.3rem;
	}
	.brass_instagram_item a::before {
		left: 2.8rem;
	}
	.brass_instagram_item a::after {
		right: 2.7rem;
	}
	.brass_instagram_item:nth-child(2) a::before {
		left: 1.8rem;
	}
	.brass_instagram_item:nth-child(2) a::after {
		right: 1.7rem;
	}
}

/*bg01
----------------------------------------*/
.bg01_img {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	margin-bottom: -100vh;
}
.bg01_img img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}
@media only screen and (max-width: 768px) {
}

/*campaign
----------------------------------------*/
.campaign {
	padding: .1rem 0 16.4rem;
	margin-bottom: 62rem;
	background: #fff;
}
.campaign h2 {
	margin: -7.6rem 0 3.9rem;
	font-weight: 400;
	text-align: center;
}
.campaign h2 .en2 {
	display: block;
	font-size: 7rem;
	color: #fff;
	padding-left: .16em;
	letter-spacing: .16em;
}
.campaign h2 .en {
	display: block;
	font-size: 1.4rem;
	color: #E08650;
	letter-spacing: .15em;
	margin-top: .5rem;
}
.campaign_lead {
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: .12em;
	line-height: 2;
}
.campaign_list {
	max-width: 124rem;
	margin: 5rem auto 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.campaign_list figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(224, 134, 80, .8);
	color: #fff;
	text-align: center;
	height: 6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.3rem;
	letter-spacing: .18em;
	font-weight: 700;
}
.campaign_list figcaption .en2 {
	font-size: 2.4rem;
	letter-spacing: .16em;
	position: absolute;
	left: 0;
	right: 0;
	top: -1.9rem;
	font-weight: 400;
}
.campaign_more {
	padding: 4rem 0 5rem;
}
.campaign_more::before {
	content: '';
	display: block;
	width: .1rem;
	background: #E08650;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: 0 auto;
}
.campaign_more::after {
	content: '';
	display: block;
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: #E08650;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: -.2rem;
}
.campaign_more span {
	width: 14rem;
	height: 3rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 1.5rem;
	background: #E08650;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .18em;
	font-weight: 600;
	margin: 0 auto;
}
.campaign_special {
	text-align: center;
	padding-top: 1.8rem;
}
.campaign_special h3 {
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: .18em;
	color: #749541;
}
.campaign_special dl {
	max-width: 124rem;
	margin: 2.6rem auto 0;
}
.campaign_special dl dt {
	background: #749541;
	color: #fff;
	font-size: 1.6rem;
	height: 6rem;
	font-weight: 600;
	letter-spacing: .18em;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #749541;
}
.campaign_special dl dd {
	background: #F5F3ED;
	border: .1rem solid #749541;
	border-top: 0;
	padding: 3rem 3.9rem 2.4rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}
.campaign_special figcaption {
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: .18em;
	color: #749541;
	line-height: 1.6667;
	margin-top: 1rem;
}
.campaign_btn {
	margin: 4rem 0 0;
	display: flex;
	justify-content: center;
	gap: 1.5rem;
}
.campaign_btn .btn {
	width: 35rem;
	height: 7rem;
	font-size: 1.4rem;
}
.campaign_note {
	font-size: 1.3rem;
	letter-spacing: .12em;
	margin-top: 4.3rem;
}
@media only screen and (max-width: 768px) {
	.campaign {
		padding: .1rem 0 10.6rem;
		margin-bottom: 40rem;
	}
	.campaign h2 {
		margin: -5.6rem 0 2.9rem;
	}
	.campaign h2 .en2 {
		font-size: 5.2rem;
	}
	.campaign h2 .en {
		font-size: 1.3rem;
		margin-top: .7rem;
	}
	.campaign_list {
		grid-template-columns: repeat(2, 1fr);
	}
	.campaign_list figcaption {
		height: 4rem;
		font-size: 1rem;
	}
	.campaign_list figcaption .en2 {
		font-size: 1.8rem;
		top: -1.4rem;
	}
	.campaign_more {
		padding: 5rem 0;
	}
	.campaign_special {
		padding-top: 2.4rem;
	}
	.campaign_special h3 {
		font-size: 2rem;
	}
	.campaign_special dl {
		max-width: 35rem;
		margin: 1.8rem auto 0;
	}
	.campaign_special dl dt {
		font-size: 1.3rem;
		height: 5.1rem;
	}
	.campaign_special dl dd {
		padding: 1.9rem 1.9rem 2.3rem;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.6rem 1rem;
	}
	.campaign_special figcaption {
		font-size: 1rem;
		line-height: 1.6;
	}
	.campaign_btn {
		display: block;
	}
	.campaign_btn .btn {
		width: 31rem;
		height: 6rem;
		font-size: 1.3rem;
		margin: 0 auto 1.5rem;
	}
	.campaign_note {
		line-height: 2;
		margin-top: 4.1rem;
	}
}

/*access
----------------------------------------*/
#access {
scroll-margin-top: 180px;
}
.access {
	background: #F5F3ED;
	padding: 10rem 0 0;
}
.access h2 {
	font-size: 12rem;
	letter-spacing: .16em;
	position: absolute;
	left: 0;
	right: 0;
	top: -12.9rem;
	text-align: center;
	font-weight: 400;
	color: #F5F3ED;
	padding-left: .16em;
}
.access_fair {
	width: 64rem;
	height: 14.4rem;
	border-radius: 7.2rem;
	background: #EEE9DF;
	margin: 0 auto 6rem;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: .16em;
	line-height: 2.1333;
	display: flex;
	justify-content: center;
	align-items: center;
}
.access_salon {
	max-width: 112rem;
	margin: 0 auto 10rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.access_salon_map {
	width: 55rem;
	height: 36.5rem;
	border-radius: .5rem;
	overflow: hidden;
}
.access_salon_map iframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
}
.access_salon_txt h3 {
	font-size: 2.4rem;
	color: #749541;
	letter-spacing: .16em;
	font-weight: 600;
	margin: 1.4rem 0 2.7rem;
}
.access_salon_txt p {
	font-size: 1.3rem;
	letter-spacing: .12em;
	line-height: 2;
}
.access_salon_link {
	font-size: 1.3rem;
	letter-spacing: .16em;
	font-weight: 600;
	color: #749541;
	display: flex;
    padding-bottom: 1.1rem;
    border-bottom: .1rem solid #749541;
	align-items: center;
	width: fit-content;
	gap: 1.7rem;
	margin: 1.6rem 0 4.2rem;
}
.access_salon_link::before {
	content: '';
	display: block;
	width: 1.5rem;
	height: 2rem;
	margin-bottom: -.2rem;
	background: url(../../img/index/access_icon_01.svg) no-repeat left top / 100% auto;
}
.access_detail {
	background: #fff;
	max-width: 124rem;
	margin: 0 auto;
	border-radius: .5rem;
	padding: 6.8rem 6rem 8rem;
	margin-bottom: 9.4rem;
}
.access_detail h3 {
	text-align: center;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: .2em;
	margin-bottom: 4.6rem;
}
.access_detail h3 span {
	display: block;
	font-size: 2rem;
	letter-spacing: .2em;
	color: #749541;
	margin-bottom: 1.5rem;
}
.access_detail_inner {
	display: flex;
	justify-content: space-between;
}
.access_detail_route {
	width: 56rem;
}
.access_detail_txt {
	width: 47.4rem;
	padding: 4.1rem 0 0;
}
.access_detail_logo {
	width: 15rem;
	margin-bottom: 1.9rem;
}
.access_detail_txt p {
	font-size: 1.3rem;
	letter-spacing: .12em;
	line-height: 2;
}
.access_detail_txt .access_salon_link {
	margin: 1.1rem 0 3.4rem;
	gap: 1.5rem;
	padding-bottom: 1.1rem;
	border-bottom: .1rem solid #749541;
}
.access_detail_txt dl {
	border-top: .1rem solid #BDC8B1;
	margin-top: 3.9rem;
}
.access_detail_txt dt {
	font-size: 1.8rem;
	letter-spacing: .18em;
	font-weight: 500;
	padding: 3.1rem 0 0;
}
.access_detail_txt dd {
	background: #F5F3ED;
	margin-top: 2.5rem;
	width: 45rem;
	border-radius: .5rem;
	padding: 2.3rem 3.5rem 2.2rem;
}
.access_detail_txt dd::before {
	content: '';
	display: block;
	width: 6.7rem;
	height: 5.9rem;
	background: url(../../img/index/access_icon_02.svg) no-repeat left top / 100% auto;
	position: absolute;
	top: 1.4rem;
	right: 1.6rem;
}
.access_detail_txt dd h4 {
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: .16em;
	color: #749541;
	margin-bottom: .8rem;
}
.access_detail_txt dd h4 span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 33.5rem;
	height: 4rem;
	background: #749541;
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: .16em;
	font-weight: 700;
	margin-top: .9rem;
}
.access_detail_txt dd p {
	font-size: 1.3rem;
	letter-spacing: .16em;
}
.access_contact {
	max-width: 112rem;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
	padding-bottom: 11.5rem;
}
.access_contact_box {
	flex: 1;
}
.access_contact_box h3 {
	font-size: 1.6rem;
	letter-spacing: .16em;
	font-weight: 500;
	margin-bottom: .7rem;
}
.access_contact_box a {
	display: block;
	width: fit-content;
	font-size: 3.4rem;
	color: #E08650;
	letter-spacing: .16em;
}
.access_contact_box p {
	font-size: 1.3rem;
	letter-spacing: .12em;
	margin-top: .2rem;
}
.access_contact_btn {
	width: 72rem;
	display: flex;
	justify-content: space-between;
	margin-bottom: .4rem;
}
.access_contact_btn .btn {
	width: 35rem;
	height: 7rem;
	font-size: 1.4rem;
}
@media only screen and (max-width: 768px) {
	.access {
		padding: 5rem 0 0;
	}
	.access h2 {
		font-size: 6.2rem;
		top: -6.4rem;
	}
	.access_fair {
		width: 35rem;
		height: 17rem;
		border-radius: 2.2rem;
		margin: 0 auto 4.5rem;
		font-size: 1.3rem;
		line-height: 1.8462;
	}
	.access_salon {
		margin: 0 0 8rem;
		display: block;
	}
	.access_salon_map {
		width: 35rem;
		height: 35rem;
		margin: 5.2rem auto 0;
	}
	.access_salon_txt {
		margin: 0 3rem;
	}
	.access_salon_txt h3 {
		font-size: 1.8rem;
		letter-spacing: .18em;
		margin: 1.4rem 0 1.9rem;
	}
	.access_salon_txt p ~ p {
		margin-top: 3rem;
	}
	.access_salon_link {
		margin: 2rem auto 0;
		padding-bottom: 1.1rem;
		border-bottom: .1rem solid #749541;
	}
	.access_detail {
		max-width: 37rem;
		padding: 4.9rem 2rem 3.9rem;
		margin-bottom: 8.5rem;
	}
	.access_detail h3 {
		font-size: 2rem;
		line-height: 2;
		margin-bottom: 2.8rem;
	}
	.access_detail h3 span {
		font-size: 1.6rem;
		margin-bottom: .4rem;
	}
	.access_detail_inner {
		flex-direction: column;
	}
	.access_detail_route {
		width: auto;
		margin: 0 -1rem;
		order: 2;
	}
	.access_detail_txt {
		width: auto;
		padding: 0;
	}
	.access_detail_logo {
		width: 12rem;
		margin: 0 auto 1rem;
	}
	.access_detail_txt p {
		text-align: center;
	}
	.access_detail_txt .access_salon_link {
		margin: 1.1rem auto 5.2rem;
	}
	.access_detail_txt dl {
		margin: 6rem 0 4rem;
	}
	.access_detail_txt dt {
		text-align: center;
		line-height: 2;
		padding: 3rem 0 0 .18em;
	}
	.access_detail_txt dd {
		margin-top: 3rem;
		width: auto;
		padding: 2.6rem 1.8rem 1.7rem;
	}
	.access_detail_txt dd::before {
		width: 5.9rem;
		height: 5.2rem;
		top: 1rem;
		right: 1rem;
	}
	.access_detail_txt dd h4 {
		font-size: 1.5rem;
		text-align: center;
		margin-bottom: 1.1rem;
	}
	.access_detail_txt dd h4 span {
		width: auto;
		height: 3.5rem;
		margin-top: 1rem;
		font-size: 1.6rem;
	}
	.access_detail_txt dd p {
		line-height: 1.8462;
	}
	.access_contact {
		max-width: 33rem;
		display: block;
		padding-bottom: 8.5rem;
	}
	.access_contact_box {
		text-align: center;
	}
	.access_contact_box h3 {
		margin-bottom: 2.4rem;
	}
	.access_contact_box a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: auto;
		height: 6rem;
		font-size: 2rem;
		background: #fff;
		border: .1rem solid #E08650;
		border-radius: 3rem;
		box-shadow: .2rem .2rem 1rem rgba(0, 0, 0, .15);
	}
	.access_contact_box p {
		margin-top: 1.7rem;
	}
	.access_contact_btn {
		width: auto;
		display: block;
		margin: 3.5rem 0 0;
	}
	.access_contact_btn .btn {
		width: 100%;
		height: 6rem;
		font-size: 1.3rem;
		margin-bottom: 1.5rem;
	}
}

/*news
----------------------------------------*/
.news {
	background: #EEE9DF;
	padding: 13rem 0 13.7rem;
}
.news_inner {
	display: flex;
	align-items: flex-start;
}
.news h2 {
	flex: 1;
	padding-right: 13rem;
	font-weight: 400;
	text-align: right;
}
.news h2::before {
	content: '';
	display: block;
	height: .1rem;
	background: #BDC8B1;
	position: absolute;
	top: 4.4rem;
	right: 13.5rem;
	left: 0;
}
.news h2 .en2 {
	display: block;
	font-size: 2.6rem;
	letter-spacing: .16em;
	color: #749541;
	margin-bottom: 1.8rem;
}
.news h2 .en {
	display: block;
	font-size: 1.2rem;
	letter-spacing: .15em;
	color: #99B18B;
}
.news_list {
	width: calc(50% + 32.5rem);
	margin: 1.6rem 0 0;
}
.news_list li {
	border-bottom: .1rem solid #BDC8B1;
	padding-bottom: 2.8rem;
}
.news_list li + li {
	margin-top: 3.6rem;
}
.news_list a,
.news_list li > div {
	display: flex;
	align-items: flex-start;
}
.news_cat {
	width: 8.9rem;
	height: 2rem;
	border-radius: 1rem;
	font-size: 1.1rem;
	background: #fff;
	color: #749541;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 2rem;
}
.news_list time {
	width: 13.4rem;
	font-size: 1.3rem;
	letter-spacing: .12em;
	color: #749541;
}
.news_list h3 {
	flex: 1;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .16em;
	line-height: 2.1538;
	margin-top: -.5rem;
	max-width: 62.5rem;
}

.news_list .ntxt {
font-size: 1.2rem;
    letter-spacing: .12em;
    line-height: 2;
    max-width: 71.5rem;
}
@media only screen and (max-width: 768px) {
	.news {
		padding: 6.9rem 0 10rem;
	}
	.news_inner {
		display: block;
	}
	.news h2 {
		padding-right: 2.6rem;
	}
	.news h2::before {
		top: 4.3rem;
		right: 3.3rem;
	}
	.news h2 .en2 {
		margin-bottom: 1.7rem;
	}
	.news h2 .en {
		margin-right: .3rem;
	}
	.news_list {
		width: auto;
		margin: 3.6rem 0 0 3rem;
	}
	.news_list li {
		padding-bottom: 1.9rem;
	}
	.news_list li + li {
		margin-top: 2.2rem;
	}
	.news_list a,
	.news_list li > div {
		flex-wrap: wrap;
	}
	.news_list h3 {
		width: 100%;
		flex: none;
		padding-right: 2.8rem;
		margin-top: 1.1rem;
		line-height: 2;
		max-width: none;
	}
    .news_list .ntxt {
font-size: 1.2rem;
    letter-spacing: .12em;
    line-height: 2;
    width: 100%;
    padding-right: 2.8rem;
}
}
/* --- News Accordion --- */
.news_list li {
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    border-bottom: .1rem solid #BDC8B1;
}

/* 優先度を上げて元のCSS(display: flex)に打ち勝つ */
.news_list .news_header {
display: flex;
    align-items: flex-start;
    padding: 3rem 4rem 3rem 0;
    cursor: pointer;
    position: relative;
    width: 90%;
}

/* 優先度を上げて確実に最初から隠す */
.news_list .news_body {
    display: none; 
    padding-bottom: 3rem;
    padding-left: 24.3rem; /* PC版：カテゴリと日付の幅に合わせる */
}

/* --- プラス・マイナスアイコン --- */
.plus_btn {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    pointer-events: none;
}

/* アイコンの横棒 */
.plus_btn span {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #749541;
}

/* アイコンの縦棒（デフォルトで90度回転＝プラス） */
.plus_btn span::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #749541;
    transform: rotate(90deg); 
    transition: transform 0.3s ease;
}

/* 開いた時：0度に戻す＝横棒と重なってマイナスになる */
.news_item.is-active .plus_btn span::after {
    transform: rotate(0deg);
}

.news_link {
    display: inline-block;
    color: #749541;
    text-decoration: underline;
    font-size: 1.2rem;
}

/* --- スマホ用調整 --- */
@media only screen and (max-width: 768px) {
    .news_list .news_header {
        flex-wrap: wrap;
               padding: 2rem 1rem 2rem 0;
        width: 95%;
    }
    .news_list .news_body {
        padding-left: 0;
        padding-bottom: 2rem;
    }
}