/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

.mod_main {
	margin-top: .8rem;
}

#yukiakari {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: normal;
	font-style: normal;
	color: #231815;
}

.inner {
	width: 740px;
	margin: 0 auto;
}
@media (max-width: 767px) {
	.inner {
		width: 100%;
		margin: 0 auto;
	}
}

.pivot {
	position: relative;
}

.bg01 { 
	background-image: url("../img/bg01-pc.jpg");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	color: #fff;
}
.bg02 {
	background-image: url("../img/bg02-pc.jpg");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	color: #fff;
}
@media (max-width: 767px) {

	.bg01 { 
		background-image: url("../img/bg01-sp.jpg");
	}
	.bg02 {
		background-image: url("../img/bg02-sp.jpg");
	}

}

.sec_header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin: 50px 0 40px 0;
}
.sec_header  h2 {
	font-size: 37px;
}
.sec_header  div.en {
	font-size: 12px;
}

@media (max-width: 767px) {
	.sec_header {
		margin: calc(100vw * (50 / 390)) 0 calc(100vw * (40 / 390)) 0;
	}
	.sec_header  h2 {
		font-size: calc(100vw * (18 / 390));
	}
	.sec_header  div.en {
		font-size: calc(100vw * (12 / 390));
	}
}

.btn_reservation_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
}
.btn_reservation_wrap a {
	width: 290px;
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
	background-color: #b2b71e;
	border-radius: 5px;
	padding: 0.2em 1em;
	text-align: center;
	
	box-shadow: 3px 6px 5px 0px rgba(35, 24, 21, 0.5);
}

@media (max-width: 767px) {
	.btn_reservation_wrap a {
		width: calc(100vw * (250 / 390));
		font-size: calc(100vw * (14 / 390));
	}
}

/* sec_about
---------------------------------------------------------------------------------------*/
.sec_about {
	padding-top: 80px;
}
.sec_about .elm_logo {
	display: flex;
	justify-content: center;
	padding-bottom: 60px;
}
.sec_about .elm_logo img {
	width: 133px;
}
.sec_about h1 {
	font-size: 37px;
	text-align: center;
	padding-bottom: 50px;
}
.sec_about p {
	font-size: 18px;
	text-align: center;
	padding-bottom: 60px;
	line-height: 2.5;
}


.sec_about .yukiakari_date_wrap {
	text-align: center;
	padding-bottom: 35px;
}
.sec_about .yukiakari_date {
	display: inline;
	text-align: center;
	font-size: 34px;
	letter-spacing:  0.05em;
	border-bottom: 1px solid #fff;
}
.sec_about .yukiakari_date span {
	font-size: 19px;
}
.sec_about .yukiakari_date span.kara {
	font-size: 34px;
}
.sec_about .yukiakari_date span.day {
	margin-left: -0.4em;
	margin-right: -0.4em;
}
.sec_about .btn_reservation_wrap{
	padding-bottom: 90px;
}

.yukiakari_video_wrap {
	padding: 0;
}
.yukiakari_video_wrap .video {
	width: 740px;
	margin-left: auto;
	margin-right: auto;
}
.yukiakari_video_wrap .video video {
	width: 100%;
}

@media (max-width: 767px) {
	
	.sec_about {
		padding-top:  calc(100vw * (55 / 390));
	}
	.sec_about .elm_logo {
		padding-bottom: calc(100vw * (35 / 390));
	}
	.sec_about .elm_logo img {
		width: calc(100vw * (81 / 390));
	}
	
	.sec_about h1 {
		font-size: calc(100vw * (22 / 390));
		padding-bottom: calc(100vw * (30 / 390));
	}
	.sec_about p {
		font-size: calc(100vw * (11 / 390));
		padding-bottom: calc(100vw * (30 / 390));
	}


	.sec_about .yukiakari_date_wrap {
		padding-bottom: calc(100vw * (25 / 390));
	}
	.sec_about .yukiakari_date {
		font-size: calc(100vw * (21 / 390));
	}
	.sec_about .yukiakari_date span {
		font-size: calc(100vw * (11 / 390));
	}
	.sec_about .yukiakari_date span.kara {
		font-size: calc(100vw * (16 / 390));
	}
	
	.sec_about .btn_reservation_wrap{
		padding-bottom: calc(100vw * (40 / 390));
	}

	
	.yukiakari_video_wrap .video {
		width: calc(100vw * (324 / 390));
		margin-left: auto;
		margin-right: auto;
	}
}



/* sec_story
---------------------------------------------------------------------------------------*/
.sec_story {
	padding-top: 50px;
	padding-bottom: 30px;
}
.sec_story h2 {
	color: #e2ab44;
}
.sec_story p {
	text-align: center;
	font-size: 18px;
	line-height: 2.5;
}

@media (max-width: 767px) {
	.sec_story {
		padding-top: calc(100vw * (40 / 390));
		padding-bottom: calc(100vw * (20 / 390));
	}
	.sec_story p {
		font-size: calc(100vw * (11 / 390));
	}
}

/* sec_three_pillars
---------------------------------------------------------------------------------------*/
.sec_three_pillars {

}
.sec_three_pillars .en {
	color: #e2ab44;
}

.three_pillars_flex {
	display: flex;
	justify-content: space-between;
	padding-bottom: 50px;
}
.three_pillars_flex .item {
	width: 216px;
}
.three_pillars_flex .item h3 {
	font-size: 19px;
	color: #e2ab44;
	text-align: center;
	padding: 15px 0;
}
.three_pillars_flex .item p {
	font-size: 14px;
	text-align: left;
}

@media (max-width: 767px) {
	.sec_three_pillars h2 {
		color: #e2ab44;
	}
	.three_pillars_flex {
		width: calc(100vw * (270 / 390));
		flex-direction: column;
		margin-left: auto;
		margin-right: auto;
	}
	.three_pillars_flex .item {
		width: 100%;
		margin-bottom: calc(100vw * (40 / 390));
	}
	.three_pillars_flex .item h3 {
		font-size: calc(100vw * (18 / 390));
		padding:  calc(100vw * (10 / 390)) 0;
	}
	.three_pillars_flex .item p {
		font-size: calc(100vw * (16 / 390));
	}
}


/* sec_evolution
---------------------------------------------------------------------------------------*/
.sec_evolution {
	padding-bottom: 50px;
}
.sec_evolution h2 {
	color: #ab7a33;
}

.evolution_slide .swiper {
	width: 100%;
	padding-bottom: 50px;
}
.evolution_slide .swiper-slide {
	width: 246px;
	height: auto;
	display: flex;
	flex-direction: column;
}
.evolution_slide  .swiper-slide .slide_wrap {
	width: 216px;
	height: 100%;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 6px 6px #acadae;
	padding: 22px;
	box-sizing: border-box;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
.evolution_slide  .swiper-slide .slide_wrap::before  {
	content: '';
	display: block;
	width: 11px;
	height: 11px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1em;
	background-color: #e2ab44;
	border-radius: 999px;
}
.evolution_slide  .swiper-slide .slide_wrap h3 {
	font-size: 18px;
	text-align: center;
	color: #e2ab44;
	border-bottom: 1px solid #e2ab44;
	padding:  0 0 0.5em 0;
	margin-bottom: 0.5em;
}
.evolution_slide  .swiper-slide .slide_wrap h3 span {
	font-size: 15.5px;
	letter-spacing: 0.05px;
}
.evolution_slide  .swiper-slide .slide_wrap p {
	font-size: 14px;
	text-align: left;
	line-height: 1.5;
	letter-spacing: 0.05px;
}

.swiper-button-next,
.swiper-button-prev {
	color: #000;
}
.evolution_slide .swiper-pagination {
	height: 15px;
	bottom: 1px !important;
}
.evolution_slide .swiper-pagination-bullet {
	background-color: #cdcece;
	width: 12px;
	height: 12px;
}
.evolution_slide .swiper-pagination-bullet-active {
	background-color: #e2ab44;
}


/* デフォルトのアイコン（フォント）を消す */
.swiper-button-next::after,
.swiper-button-prev::after {
  content: "";
}

/* 共通の三角形スタイル */
.swiper-button-next,
.swiper-button-prev {
	display: none;
  width: 0;
  height: 0;
  border-style: solid;
  background: none; /* 背景色がある場合は消す */
}

/* 右向き三角形（Next） */
.swiper-button-next {
  border-width: 14px 0 14px 14px; /* 上 下 左 */
  border-color: transparent transparent transparent #cdcece; /* 矢印の色 */
}

/* 左向き三角形（Prev） */
.swiper-button-prev {
  border-width: 14px 14px 14px 0; /* 上 右 下 */
  border-color: transparent #cdcece transparent transparent; /* 矢印の色 */
}

/* ホバー時の色変更（任意） */
.swiper-button-next:hover {

}
.swiper-button-prev:hover {

}

@media (max-width: 767px) {
	.sec_evolution h2 {
		font-size: calc(100vw * (21 / 390));
	}
	.sec_evolution p {
		font-size: calc(100vw * (14 / 390));
	}
	
	.swiper-button-next,
	.swiper-button-prev {
		display: block;
	}

	.evolution_slide .swiper-slide {
		width: calc(100vw * (318 / 390));
		height: auto;
		display: flex;
		flex-direction: column;
	}
	.evolution_slide  .swiper-slide .slide_wrap {
		width: calc(100vw * (284 / 390));
		border-radius: calc(100vw * (20 / 390));
		box-shadow: 6px 6px #acadae;
		padding: calc(100vw * (18 / 390));
	}
	.evolution_slide  .swiper-slide .slide_wrap::before  {
		width: calc(100vw * (14 / 390));
		height: calc(100vw * (14 / 390));
	}
	.evolution_slide  .swiper-slide .slide_wrap h3 {
		font-size: calc(100vw * (25 / 390));
	}
	.evolution_slide  .swiper-slide .slide_wrap h3 span {
		font-size: calc(100vw * (22 / 390));
	}
	.evolution_slide  .swiper-slide .slide_wrap p {
		font-size: calc(100vw * (18 / 390));
	}
	
	.evolution_slide .swiper-pagination {
		height: calc(100vw * (16 / 390));
	}
	.evolution_slide .swiper-pagination-bullet {
		width: calc(100vw * (14 / 390));
		height: calc(100vw * (14 / 390));
	}

	.swiper-button-next {
		right: calc(100vw * (22 / 390));
	}
	.swiper-button-prev {
		left: calc(100vw * (22 / 390));
	}

}

/* sec_course_menu
---------------------------------------------------------------------------------------*/
.sec_course_menu {
	background-color: rgba(255,255,255,0.8);
	color: #231815;
	padding-top: 20px;
	padding-bottom: 50px;
}
.sec_course_menu h2 {
	color: #ab7a33;
}

.course_menu_flex {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	padding-bottom: 50px;
}
.course_menu_flex .item {
	width: 345px;
}
.course_menu_flex .item h3 {
	text-align: center;
	font-size: 12px;
}
.course_menu_flex .item h3 .price {
	font-size: 37px;
}
.option_wrap .plus,
.option_wrap .yen,
.course_menu_flex .item h3 .yen {
	font-size: 27px;
}
.option_wrap .kakko,
.course_menu_flex .item h3 .kakko {
	font-size: 10px;
}
.course_menu_flex .item .menu_box_flex {
	display: flex;
	flex-direction: column;
}
.course_menu_flex .item .menu_box {
	width: 345px;
	background-color: #fff;
	box-shadow: 6px 6px rgba(0,0,0,0.1);
	border-top: 1px solid #000;
	padding: 22px;
	box-sizing: border-box;
	margin-bottom: 30px;
}
.course_menu_flex .item dl dt {
	font-size: 13px;
	color: #a68036;
	/*padding-bottom: 0.2em;*/
}
.course_menu_flex .item dl dd {
	font-size: 12px;
	padding-bottom: 1em;
}

.course_menu_flex .item .menu_box_flex .btn_reservation_wrap a {
	width: 100%;
	color: #fff;
	font-size: 16px;
}

.option_wrap {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	font-size: 13px;
	display: flex;
	justify-content: center;
}
.option_wrap .price_wrap {
	display: flex;
	align-items: center;
}
.option_wrap .price {
	font-size: 32px;
}
.option_wrap .kakko {
	padding-top: 10px;
}

@media (max-width: 767px) {
	
	.sec_course_menu h2 {
		font-size: calc(100vw * (21 / 390));
	}
	.sec_course_menu p {
		font-size: calc(100vw * (14 / 390));
	}
	
	.course_menu_flex {
		flex-direction: column;
		width: calc(100vw * (370 / 390));
		margin-left: auto;
		margin-right: auto;
		padding-bottom:  calc(100vw * (15/ 390));
	}
	.course_menu_flex .item  {
		width: 100%;
		padding-bottom: calc(100vw * (30 / 390));
	}
	.course_menu_flex .item .price_wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		width:  calc(100vw * (225 / 390));
		margin-left: auto;
		margin-right: auto;
	}
	.course_menu_flex .item h3 {
		font-size: calc(100vw * (14 / 390));
		align-items: flex-end;
		margin-bottom:  calc(100vw * (15 / 390));
	}
	.course_menu_flex .item h3 span {
		line-height: 1.2;
	}
	.course_menu_flex .item h3 .price {
		font-size: calc(100vw * (35 / 390));
		margin-left: calc(100vw * (10 / 390));
		margin-top: calc(100vw * (-10 / 390));
	}
	.course_menu_flex .item h3 .yen {
		font-size: calc(100vw * (25 / 390));
	}
	.course_menu_flex .item h3 .kakko {
		font-size: calc(100vw * (12 / 390));
		width: 100%;
		display: flex;
		justify-content: flex-end;
	}
	.course_menu_flex .item .menu_box_flex {
		flex-direction: column-reverse;
	}
	.course_menu_flex .item .menu_box {
		border-top: none;
		width: 100%;
		margin-bottom: 0;
	}
	
	.course_menu_flex .item dl dt {
		font-size: calc(100vw * (14 / 390));
	}
	.course_menu_flex .item dl dd {
		font-size: calc(100vw * (15 / 390));
	}
	.course_menu_flex .item .menu_box_flex .btn_reservation_wrap {
		width: calc(100vw * (320 / 390));
		margin-left: auto;
		margin-right: auto;
		margin-bottom: calc(100vw * (20 / 390));
	}
	.course_menu_flex .item .menu_box_flex .btn_reservation_wrap a {
		font-size: calc(100vw * (15 / 390));
		padding: 0.5em 1em;
	}
	
	.option_wrap {
		font-size: calc(100vw * (15 / 390));
		padding: calc(100vw * (5 / 390)) 0;
	}
	.option_wrap .price_wrap {
		width: calc(100vw * (320 / 390));
		margin-left: auto;
		margin-right: auto;
		flex-wrap: wrap;
		line-height: 1.1;
	}
	.option_wrap .price {
		font-size: calc(100vw * (35 / 390));
	}
	.option_wrap .yen {
		margin-bottom: calc(100vw * (-5 / 390));
	}
	.option_wrap .kakko {
		padding-top:  calc(100vw * (5 / 390));
		display: flex;
		justify-content: flex-end;
		width: 100%;
	}
	
}


/* sec_immersive
---------------------------------------------------------------------------------------*/
.sec_immersive {
	padding-top: 60px;
}
.sec_immersive h2 {
	color: #e9be46;
}

.immersive_list {
	padding-top: 50px;
}
.immersive_list .item {
	display: flex;
	justify-content: space-between;
	padding-bottom: 50px;
}
.immersive_list .item:nth-child(odd) {
	flex-direction: row-reverse;
}
.immersive_list .item:nth-child(even) {
	flex-direction: row;
}
.immersive_list .item .image {
	width: 333px;
}
.immersive_list .item .image img {
	border: 1px solid #fff;	
}
.immersive_list .item .text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 340px;
}
.immersive_list .item .text h3 {
	text-align: left;
	font-size: 25px;
	color: #e9be46;
	margin-bottom: 0.5em;
}
.immersive_list .item .text p {
	text-align: left;
	font-size: 16px;
	letter-spacing: -0.01em;
}

@media (max-width: 767px) {
	.sec_immersive {
		padding-top: calc(100vw * (40 / 390));
	}
	.sec_immersive h2 {
		font-size: calc(100vw * (21 / 390));
	}
	.sec_immersive p {
		font-size: calc(100vw * (14 / 390));
	}
	
	.immersive_list {
		width: calc(100vw * (270 / 390));
		margin-left: auto;
		margin-right: auto;
		padding-top: 0px;
	}
	
	.immersive_list .item:nth-child(odd),
	.immersive_list .item:nth-child(even) {
		flex-direction: column;
	}
	.immersive_list .item .image {
		width: 100%;
	}
	.immersive_list .item .text {
		width: 100%;
	}
	
	.immersive_list .item .text h3 {
		font-size: calc(100vw * (18 / 390));
		text-align: center;
		padding:  calc(100vw * (5 / 390)) 0;
	}
	.immersive_list .item .text p {
		font-size: calc(100vw * (16 / 390));
	}
	
}


/* sec_event_details
---------------------------------------------------------------------------------------*/
.sec_event_details {
	
}
.sec_event_details h2 {
	color: #dfcf4a;
}

.sec_event_details h3 {
	text-align: center;
	font-size: 23px;
	padding-bottom:  25px;
}
.sec_event_details .event_details_list {
	margin: 0 auto;
	padding: 0;
	border-top: 1px solid #fff;
	font-size: 18px;
	width: 452px;
	padding-bottom: 50px;
}
.sec_event_details .event_details_list div {
	border-bottom: 1px solid #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px 0;
}
.sec_event_details .event_details_list div dt {
	font-size: 12px;
	color: #fff;
	background-color: #4a6925;
	border-radius: 3px;
	width: 64px;
	display: inline-flex;
	justify-content: center;
}
.sec_event_details .event_details_list div dd {
	padding:  0 0 0 0.5em;
	width: 330px;
	letter-spacing: 0.05px;
}
.sec_event_details .event_details_list div dd span.tsume {
	margin: 0 -0.5em;
}
.sec_event_details .event_details_list div dd span.kakko {
	font-size: 10px;
}
.sec_event_details .dining {
	padding-bottom: 50px;
}
.sec_event_details .dining h3 {
	font-size: 19px;
	padding-bottom:  15px;
}

@media (max-width: 767px) {
	
	.sec_event_details h2 {
		font-size: calc(100vw * (21 / 390));
	}
	.sec_event_details p {
		font-size: calc(100vw * (13 / 390));
	}
	
	.sec_event_details h3 {
		font-size: calc(100vw * (20 / 390));
		padding-bottom:  calc(100vw * (20 / 390));
	}
	
	.sec_event_details .event_details_list {
		font-size:  calc(100vw * (14 / 390));
		width:  calc(100vw * (320 / 390));
		padding-bottom: 50px;
	}
	
	.sec_event_details .event_details_list div dt {
		font-size:  calc(100vw * (10 / 390));
		border-radius:  calc(100vw * (5 / 390));
		width: calc(100vw * (55 / 390));
	}
	.sec_event_details .event_details_list div dd {
		font-size:  calc(100vw * (14 / 390));
		width: calc(100vw * (257 / 390));
		letter-spacing: calc(100vw * (0.5 / 390));
	}
	.course_menu_flex {
		flex-direction: column;
	}
	
	.sec_event_details .dining h3 {
		font-size:  calc(100vw * (16 / 390));
		padding-bottom:   calc(100vw * (15 / 390));
	}

	
}

.btn_reserve_wrap {
	position: fixed;
	right: 20px;
	bottom: 10vh;
	z-index: 9999;
}

.btn_reserve_wrap._pc {
  transition: opacity 0.3s ease, visibility 0.3s ease; 
}
.btn_reserve_wrap._pc.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none; 
}

@media (max-width: 767px) {
	.btn_reserve_wrap {
		right: 0;
		bottom: 0;
		width: 100%;
	}
	.btn_reserve_wrap a {
		width: 100%;
	}
	.btn_reserve_wrap a img {
		width: 100%;
		vertical-align: bottom;
	}
}

.state_fewscroll .mod_footer .flowcontent {
	display: none !important;
}

