@charset "utf-8";

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td,main,figure{margin:0;padding:0}table{font-size:100%;font-family:inherit}fieldset,img{border:0}img,svg,video{vertical-align:middle}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:400}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%}q:before,q:after{content:''}abbr,acronym{border:0}select,input,textarea{font-size:100%}header,footer,nav,main,section,article,figure,aside,picture{display:block}

/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-size: 1rem;
	line-height: 1.8;
	color: #282828;
	word-wrap: break-word;
	overflow-wrap: break-word;

	font-weight: 400;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	font-feature-settings: "palt";
}
[lang="ja"] body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
}
[lang="ja"] h1, [lang="ja"] h2, [lang="ja"] h3, [lang="ja"] h4, [lang="ja"] h5, [lang="ja"] h6, [lang="ja"] b, [lang="ja"] strong, [lang="ja"] .bold {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	font-weight: 700;
}
[lang="en"] body {
	font-family: 'Poppins', sans-serif;
	letter-spacing: .05em;
}
[lang="en"] h1, [lang="en"] h2, [lang="en"] h3, [lang="en"] h4, [lang="en"] h5, [lang="en"] h6, [lang="en"] b, [lang="en"] strong, [lang="en"] .bold {
	font-weight: 500;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.8;
}
a[href] {
	color: #000000;
	text-decoration: underline;
	outline: none;
}
a[href]:hover {
	text-decoration: none;
}
a[href].a_reverse,
.a_reverse a[href] {
	text-decoration: none;
}
@media screen and (min-width: 768px) {
	a[href].a_reverse:hover,
	.a_reverse a[href]:hover {
		text-decoration: underline;
	}
}

label {
	cursor: pointer;
}
input, select, textarea, button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	max-width: 100%;
	margin: 0;
	border-radius: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
}
::-webkit-input-placeholder {
	color: #ccc;
}
:-ms-input-placeholder {
	color: #ccc;
}
::-moz-placeholder {
	color: #ccc;
}
select::-ms-expand {
	display: none;
}

button {
	cursor: pointer;
}
iframe {
	max-width: 100%;
	vertical-align: middle;
}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}
@media screen and (min-width: 768px), print {
}
@media screen and (max-width: 767px) {
	body {
		font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	}
}


/* slick
============================================================================================================ */
 .slick-slider {position: relative;display: block;box-sizing: border-box;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-webkit-touch-callout: none;-khtml-user-select: none;-ms-touch-action: pan-y;touch-action: pan-y;-webkit-tap-highlight-color: transparent;}.slick-list {position: relative;display: block;overflow: hidden;margin: 0;padding: 0;}.slick-list:focus {outline: none;}.slick-list.dragging {cursor: pointer;cursor: hand;}.slick-slider .slick-track, .slick-slider .slick-list {-webkit-transform: translate3d(0, 0, 0);-moz-transform: translate3d(0, 0, 0);-ms-transform: translate3d(0, 0, 0);-o-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}.slick-track {position: relative;top: 0;left: 0;display: block;}.slick-track:before, .slick-track:after {display: table;content: '';}.slick-track:after {clear: both;}.slick-loading .slick-track {visibility: hidden;}.slick-slide {display: none;float: left;height: 100%;min-height: 1px;}[dir='rtl'] .slick-slide {float: right;}.slick-slide img {display: block;}.slick-slide.slick-loading img {display: none;}.slick-slide.dragging img {pointer-events: none;}.slick-initialized .slick-slide {display: block;}.slick-loading .slick-slide {visibility: hidden;}.slick-vertical .slick-slide {display: block;height: auto;border: 1px solid transparent;}.slick-arrow.slick-hidden {display: none;}

/* pc / sp
============================================================================================================ */
@media screen and (min-width: 768px), print {
	.sp {
		display: none !important;
	}
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
	.pc_hidden {
		position: relative;
		overflow: hidden;
		display: block;
		height: 0;
	}
	.sp_only {
		display: none !important;
	}
}
@media screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
	.sp_only {
		display: block !important;
	}
}
@media screen and (min-width: 371px) {
	.sps {
		display: none !important;
	}
}
@media screen and (max-width: 370px) {
	.sps_non {
		display: none !important;
	}
}

/* transition
============================================================================================================ */
@media screen and (min-width: 768px) {
	body.init a[href],
	body.init a[href]::before,
	body.init a[href]::after,
	body.init button,
	body.init button::before,
	body.init button::after,
	body.init .basic_trs,
	body.init .basic_trs::before,
	body.init .basic_trs::after,
	body.init .basic_trs *,
	body.init .basic_trs *::before,
	body.init .basic_trs *::after {
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
	body.init a svg {
		transition: fill 0.2s ease-in-out;
	}
}


/* font family
============================================================================================================ */
.ff_en,
#container .ff_en {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	letter-spacing: .05em;
}
#container .ff_jp {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 500;
	letter-spacing: .05em;
}


/* font
============================================================================================================ */
#container .fwb {
	font-weight: 700;
}
#container .fwm {
	font-weight: 500;
}
#container .fwn {
	font-weight: 400;
}
#container .fwel {
	font-weight: 200;
}
#container .fwl {
	font-weight: 300;
}
.fzl {
	font-size: 2rem;
	line-height: 2.1;
}
.fsi {
	font-style: italic;
}
.concept_contents p.fzl {
		width: 560px;
		text-align: justify;
		margin-bottom: 100px;
	}
.concept_contents p.fzl.end {
		margin-bottom: 0px;
		width: 100%;
		letter-spacing: 0.018em;
}
@media screen and (max-width: 767px) {
	.fzl {
		font-size: 1.5rem;
		line-height: 2;
	}
	.concept_contents p.fzl {
			width: 100%;
			text-align: inherit;
			margin-bottom: 12.5%;
		}
	.concept_contents p.fzl.end {
			margin-bottom: 0px;
			width: 100%;
			letter-spacing: 0.018em;
	}
}

/* display
============================================================================================================ */
.db {
	display: block;
}
.dib {
	display: inline-block;
}

/* position
============================================================================================================ */
.pos-r {
	position: relative;
}

/* object-fit
============================================================================================================ */
img.of {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
img.of.bg {
	pointer-events: none;
	user-select: none;
	z-index: -1;
}

/* hover
============================================================================================================ */
@media screen and (min-width: 768px), print {
	a.hv_wh,
	button.hv_wh,
	a .hv_wh,
	.hv_wh a {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		overflow: hidden;
	}
	a.hv_wh::after,
	button.hv_wh::after,
	a .hv_wh::after,
	.hv_wh a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(255,255,255,0);
		z-index: 3;
	}
	body.init a.hv_wh::after,
	body.init button.hv_wh::after,
	body.init a .hv_wh::after,
	body.init .hv_wh a::after {
		transition: background 0.2s;
	}
	a[href].hv_wh:hover::after,
	button.hv_wh:hover::after,
	a[href]:hover .hv_wh::after,
	.hv_wh a[href]:hover::after {
		background-color: rgba(255,255,255,0.3);
	}
	a[href].hv_wh.a20:hover::after,
	button.hv_wh.a20:hover::after,
	a[href]:hover .hv_wh.a20::after,
	.hv_wh.a20 a[href]:hover::after {
		background-color: rgba(255,255,255,0.2);
	}
	a[href].hv_wh.a10:hover::after,
	button.hv_wh.a10:hover::after,
	a[href]:hover .hv_wh.a10::after,
	.hv_wh.a10 a[href]:hover::after {
		background-color: rgba(255,255,255,0.1);
	}

	body.init a[href] .hv_op {
		transition: opacity 0.2s;
	}
	a[href].hv_op:hover,
	a[href]:hover .hv_op,
	button.hv_op:hover,
	.hv_op a[href]:hover {
		opacity: 0.7;
	}
	a[href].hv_op.a20:hover,
	a[href]:hover .hv_op.a20,
	.hv_op.a20 a[href]:hover {
		opacity: 0.8;
	}
	a[href].hv_op.a10:hover,
	a[href]:hover .hv_op.a10,
	.hv_op.a10 a[href]:hover {
		opacity: 0.9;
	}
	a[href].hv_op.a50:hover,
	a[href]:hover .hv_op.a50,
	.hv_op.a50 a[href]:hover {
		opacity: 0.5;
	}
}

.hv_zoom {
	position: relative;
	display: block;
	overflow: hidden;
}
.hv_zoom > * {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}
@media screen and (min-width: 768px), print {
	body.init a[href].hv_zoom > *,
	body.init a[href] .hv_zoom > * {
		transition: transform 0.6s, opacity .3s;
	}
	a[href]:hover .hv_zoom.s > * {
		transform: scale(1.03);
	}
	a[href]:hover.hv_zoom > *,
	a[href]:hover .hv_zoom > * {
		transform: scale(1.05);
	}
}


/* target
============================================================================================================ */
.target {
	display: block;
	position: relative;
	width: 1px;
	top: -80px;
}
.target.pt {
	top: -120px;
}
@media screen and (max-width: 767px) {
	.target {
		top: -60px;
	}
	.target.pt {
		top: -90px;
	}
}



/* w
============================================================================================================ */
.w,
.xw {
	position: relative;
}
@media screen and (min-width: 768px), print {
	.w {
		max-width: 1160px;
		margin: 0 auto;
		padding-left: 30px;
		padding-right: 30px;
	}
	.xw {
		max-width: 1360px;
		margin: 0 auto;
		padding-left: 30px;
		padding-right: 30px;
	}
	.mw {
		min-width: 1140px;
	}
}
@media screen and (max-width: 767px) {
}


/* spパディング
============================================================================================================ */
@media screen and (max-width: 767px) {
	.sp_pd {
		padding-left: 5vw !important;
		padding-right: 5vw !important;
	}
	.sp_full {
		margin-left: -5vw !important;
		margin-right: -5vw !important;
	}
	.sp_full_l {
		margin-left: -5vw !important;
	}
	.sp_full_r {
		margin-right: -5vw !important;
	}
}


/* header
============================================================================================================ */
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}
@media print {
	#header {
		position: absolute;
	}
}
@media screen and (min-width: 768px), print {
	#header {
		top: 0;
		right: 10px;
		left: 10px;
		display: flex;
		min-width: 1120px;
		height: 120px;
		padding-left: 10px;
		padding-left: clamp(10px, calc((100vw - 1160px) * .1 + 10px), 40px);
		justify-content: space-between;
		align-items: center;
	}

	#header .logo {
		margin-top: 50px;
		transition: all .5s;
	}

	.head-min #header .logo {
		margin-top: 0;
	}

	#header .logo img {
		width: 100%;
		max-width: 160px;
		display: block;
		transition: all .5s;
	}

	.head-min #header .logo img {
		max-width: 80px;
	}

	#header .logo svg {
		width: 240px;
		height: 38px;
		fill: #fff;
	}
	#header nav {
		position: relative;
	}
	#header nav .gnav,
	#header nav ul {
		display: flex;
		align-items: center;
	}
	#header nav a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		padding: 0 10px;
		padding: 0 clamp(10px, calc((100vw - 1160px) * .05 + 10px), 15px);
		text-align: center;
		text-decoration: none;
		font-size: 1.6rem;
		line-height: 1.5;
		font-weight: 500;
		letter-spacing: .08em;
		color: #fff;
	}
	#header nav .mnav li + li a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		height: 14px;
		border-left: 1px solid;
		margin-top: -7px;
		transition: none;
	}
	#header nav .mnav a > span {
		position: relative;
		padding: 3px 0;
	}
	#header nav .mnav a > span::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		bottom: 0;
		border-top: 2px solid;
		transform: translateY(3px);
		opacity: 0;
	}
	body.init #header nav .mnav a > span::after {
		transition: transform .2s ease-in-out, opacity .2s ease-in-out;
	}
	#header nav .gnav a:hover > span::after,
	#header nav .gnav a.current > span::after {
		transform: translateY(0);
		opacity: 1;
	}
	#header nav .rnav {
		margin-left: 90px;
		margin-left: clamp(90px, calc((100vw - 1160px) * .1 + 90px), 130px);
	}
	#header nav .rnav a {
		width: 190px;
		width: clamp(190px, calc((100vw - 1160px) * .1 + 190px), 240px);
		background-color: #2E4EA0;
		color: #fff !important;
	}
	#header nav .rnav a::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 8.33%;
		width: 9px;
		height: 9px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform-origin: 100% 0;
		transform: rotate(45deg);
	}
	#header nav .rnav a > span {
		position: relative;
		padding-left: 15px;
	}
	#header nav .rnav a > span::before {
		content: "";
		position: absolute;
		top: 50%;
		left: -15px;
		left: clamp(-22px, calc((100vw - 1160px) * -.05 - 15px), -15px);
		width: 19px;
		height: 21px;
		margin-top: -12px;
		background: url(../images/ico-reservation_w.svg) no-repeat;
	}
	body.init #header nav .rnav a::before {
		transition: transform .2s ease-in-out;
	}
	#header nav .rnav a:hover {
		background-color: #000;
	}
	#header nav .rnav a:hover::before {
		transform: translateX(3px) rotate(45deg);
	}

	#header nav .lang {
		position: absolute;
		top: calc(50% - 30px);
		right: 190px;
		right: clamp(190px, calc((100vw - 1160px) * .1 + 190px), 240px);
		padding-right: 10px;
		padding-right: clamp(10px, calc((100vw - 1160px) * .1 + 10px), 30px);
	}
	#header nav .lang a {
		padding: 0 8px;
	}
	#header nav .lang a[href] {
		text-decoration: underline;
	}
	#header nav .lang a[href]:hover {
		text-decoration: none;
	}
	#header nav .lang li + li a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		height: 16px;
		border-left: 1px solid;
		margin-top: -8px;
		transition: none;
		transform: rotate(10deg);
	}
}
@media screen and (min-width: 768px) {
	.init #header {
		transition: background .5s, height .5s;
	}
	.init #header .logo svg {
		transition: fill .5s;
	}
	.init #header nav a {
		transition: color .5s, background .2s ease-in-out;
	}
	.head-min #header {
		height: 80px;
		background-color: #fff;
		top: 0;
	}
	.head-min #header .logo svg {
		fill: #231815;
	}
	.head-min #header nav a {
		color: #282828;
	}
}
@media screen and (max-width: 767px) {
	#header {
		height: 60px;
	}
	#header::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		background-color: #fff;
		border-bottom: 1px solid #eee;
		z-index: 2;
	}
	#header .logo {
		position: relative;
		display: flex;
		z-index: 3;
	}
	#header .logo a {
		display: block;
		padding: 0 5vw;
	}
	#header .logo a img {
		height: auto;
		width: 100%;
		max-width: 50px;
		margin-top: 5px;
	}
	#header .logo a svg {
		width: 180px;
		height: 60px;
		fill: #231815;
	}

	/* nav_btn */
	#header .nav_btn {
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		z-index: 15;
	}
	#header .nav_btn a {
		position: relative;
		display: block;
		height: 60px;
	}
	#header .nav_btn::before,
	#header .nav_btn a::before,
	#header .nav_btn a::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 22px;
		margin-top: -1px;
		margin-left: -11px;
		border-top: 1px solid #28283c;
		pointer-events: none;
	}
	body.init #header .nav_btn::before,
	body.init #header .nav_btn a::before,
	body.init #header .nav_btn a::after {
		transition: all 0.3s ease-in-out;
	}
	#header .nav_btn a::before {
		transform: translateY(-9px);
	}
	#header .nav_btn a::after {
		transform: translateY(9px);
	}

	/* nav_btn open */
	#header.open .nav_btn::before {
		opacity: 0;
	}
	#header.open .nav_btn a::before {
		transform: translateY(0) rotate(45deg);
	}
	#header.open .nav_btn a::after {
		transform: translateY(0) rotate(-45deg);
	}

	/* nav */
	#header .gnav {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		max-height: 100vh;
		padding-top: 70px;
		background-color: #fff;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		transform: translateY(-110%);
		-webkit-box-shadow: 0 0 8px rgba(0,0,0,.2);
		box-shadow: 0 0 8px rgba(0,0,0,.2);
		z-index: 1;
	}
	body.init #header .gnav {
		transition: transform 0.3s ease-in-out;
	}
	/* open */
	#header.open .gnav {
		transform: translateY(0%);
	}
	#header .mnav a {
		display: block;
		padding: 15px 0;
		text-align: center;
		color: #282828;
		font-size: 1.8rem;
		text-decoration: none;
	}
	#header nav .rnav {
		padding: 5vw;
	}
	#header nav .rnav a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		background-color: #FFF;
		color: #2E4EA0;
		border: 1px solid #2E4EA0;
		font-size: 1.8rem;
		text-decoration: none;
		box-sizing: border-box;
	}
	#header nav .rnav a::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 8.33%;
		width: 9px;
		height: 9px;
		border-top: 1px solid #2E4EA0;
		border-right: 1px solid #2E4EA0;
		transform-origin: 100% 0;
		transform: rotate(45deg);
	}
	#header nav .rnav a > span {
		position: relative;
		padding-left: 15px;
	}
	#header nav .rnav a > span::before {
		content: "";
		position: absolute;
		top: 50%;
		left: -22px;
		width: 19px;
		height: 21px;
		margin-top: -12px;
		background: url(../images/ico-reservation.svg) no-repeat;
	}

	/* lang */
	#header nav .lang {
		position: absolute;
		top: 30px;
		right: 60px;
		display: flex;
		transform: translateY(-50%);
		font-weight: 500;
		z-index: 3;
	}
	#header nav .lang a {
		position: relative;
		display: block;
		padding: 3px 8px;
		font-size: 1.4rem;
		color: #c9c9c9;
	}
	#header nav .lang a[href] {
		text-decoration: underline;
		color: #141414;
	}
	#header nav .lang li + li a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		height: 14px;
		border-left: 1px solid #141414;
		margin-top: -7px;
		transform: rotate(10deg);
	}
}


/* footer
============================================================================================================ */
#footer {
	position: relative;
	padding: 78px 0 30px;
	text-align: center;
	color: #fff;
}
#footer .logo {
	margin-bottom: 18px;
}
#footer .logo svg {
	width: 300px;
	height: 48px;
	fill: #fff;
}
@media screen and (min-width: 768px), print {
	#footer {
		margin: 0 10px 10px;
	}
	#footer .logo img {
		width: 180px;
		height: 180px;
	}
}
@media screen and (max-width: 767px) {
	#footer {
		padding: 40px 0 20px;
	}
	#footer .logo {
		margin-bottom: 17px;
	}
	#footer .logo img {
		width: 142px;
	}
	#footer .logo svg {
		width: 240px;
		height: 38px;
	}
}


/* pagetop
------------------------------------------------------------- */
#pagetop {
	position: fixed;
	overflow: hidden;
	bottom: 30px;
	right: 30px;
	width: 60px;
	height: 60px;
	padding-top: 28px;
	border: 2px solid #fff;
	background-color: rgba(0,0,0,.8);
	border-radius: 60px;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	line-height: 1;
	text-decoration: none;
	pointer-events: none;
	opacity: 0;
	z-index: 98;
}
#pagetop::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	margin-top: -14px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	transform-origin: 0 0;
	transform: rotate(45deg);
}
.init #pagetop {
	transition: opacity 0.3s, background .2s, border .2s;
}
#pagetop.show {
	opacity: 1;
	pointer-events: auto;
}
@media print {
	#pagetop {
		display: none;
	}
}
@media screen and (min-width: 768px) {
	#pagetop:hover {
		background-color: #A0802E;
		border-color: #A0802E;
	}
}
@media screen and (max-width: 767px) {
	#pagetop {
		bottom: 20px;
		right: 20px;
		transform-origin: 100% 100%;
		transform: scale(.8);
	}
}

/* nav
------------------------------------------------------------- */
#footer nav {
	margin-bottom: 80px;
}
#footer nav a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	padding: 0 15px;
	text-align: center;
	text-decoration: none;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: .08em;
	color: #fff;
}
#footer .mnav {
	margin-bottom: 40px;
}
#footer .mnav ul {
	display: flex;
	justify-content: center;
}
#footer .mnav li + li a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	height: 14px;
	border-left: 1px solid;
	margin-top: -7px;
	transition: none;
}
#footer .rnav a {
	width: 240px;
	margin: 0 auto;
	background-color: #FFF;
}
#footer .rnav a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 8.33%;
	width: 9px;
	height: 9px;
	border-top: 1px solid #A0802E;
	border-right: 1px solid #A0802E;
	transform-origin: 100% 0;
	transform: rotate(45deg);
}
#footer .rnav a > span {
	position: relative;
	padding-left: 15px;
	color: #A0802E;
}
#footer .rnav a > span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -22px;
	width: 19px;
	height: 21px;
	margin-top: -12px;
	background: url(../images/ico-reservation.svg) no-repeat;
}
@media screen and (min-width: 768px), print {
	#footer .mnav {
		display: flex;
		justify-content: center;
	}
	#footer .mnav ul + ul li:first-child a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		height: 14px;
		border-left: 1px solid;
		margin-top: -7px;
		transition: none;
	}
	#footer .mnav a > span {
		position: relative;
		padding: 3px 0;
	}
	#footer .mnav a > span::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		bottom: 0;
		border-top: 1px solid;
		transform: translateY(3px);
		opacity: 0;
	}
	body.init #footer .mnav a > span::after {
		transition: transform .2s ease-in-out, opacity .2s ease-in-out;
	}
	#footer .mnav a:hover > span::after,
	#footer .mnav a.current > span::after {
		transform: translateY(0);
		opacity: 1;
	}
	body.init #footer .rnav a::before {
		transition: transform .2s ease-in-out;
	}
	#footer .rnav a:hover {
		background-color: #000;
	}
	#footer .rnav a:hover::before {
		transform: translateX(3px) rotate(45deg);
	}
}
@media screen and (max-width: 767px) {
	#footer nav {
		margin-bottom: 45px;
	}
	#footer nav a {
		height: 30px;
		font-size: 1.4rem;
	}
	#footer .mnav li + li a::before {
		height: 12px;
		margin-top: -6px;
	}
	#footer .rnav a {
		width: 230px;
		height: 50px;
		padding: 0;
		font-size: 1.5rem;
	}
	#footer .rnav a::before {
		right: 5%;
	}
	#footer .rnav a > span {
		display: block;
		width: 100%;
		padding-left: 10px;
	}
	#footer .rnav a > span::before {
		left: 15px;
	}
}

/* small
------------------------------------------------------------- */
#footer small {
	display: block;
	font-size: 1.4rem;
	font-family: 'Poppins', sans-serif;
}
@media screen and (max-width: 767px) {
	#footer small {
		font-size: 1.1rem;
	}
}


/* container
============================================================================================================ */
#container {
	position: relative;
	font-size: 1.6rem;
	line-height: 1.78;
}
@media screen and (min-width: 768px), print {
	#container {
		padding: 10px;
	}
}
@media screen and (max-width: 767px) {
	#container {
		padding-top: 60px;
		font-size: 1.4rem;
	}
}


/* ===================================================================================================================

	コンテンツ

=================================================================================================================== */

/* mainMovie
============================================================================================================ */
#mainMovie {
	position: relative;
	height: calc(100vh - 20px);
	min-height: 600px;
	background-color: #000;
	padding-top: 160px;
	z-index: 1;
}
#mainMovie .copy {
	text-align: right;
	color: #fff;
	font-size: 5rem;
	line-height: 1.4;
}
#mainMovie .movie {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#mainMovie .movie::after {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	opacity: 0.3;
}
#mainMovie .movie iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	max-width: none;
	height: 56.25vw; /* 16:9 の高さなので 56.25% (= 9 ÷ 16) */
	width: 177.77777778vh; /* 16:9 の幅なので 177.77% (= 16 ÷ 9) */
	width: 230.77777778vh; /* 16:9 の幅なので 177.77% (= 16 ÷ 9) */
	transform: translate(-50%, -50%);
	opacity: 0;
}
/*
#mainMovie.play .movie::after {
	content: "";
}
#mainMovie.play .movie iframe {
	opacity: 1;
}
*/
#mainMovie .movie::after {
	content: "";
	opacity: 0;
}
#mainMovie .movie iframe {
	opacity: 1;
}
#mainMovie .scroll {
	position: absolute;
	bottom: 60px;
	left: 50%;
	width: 120px;
	margin-left: -60px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-size: 1.4rem;
	z-index: 5;
}
#mainMovie .scroll span {
	overflow: hidden;
	display: block;
	position: relative;
	height: 40px;
	margin-top: 10px;
}
#mainMovie .scroll span::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	height: 100%;
	border-left: 1px solid #fff;
	margin-left: -1px;
	-webkit-animation: scroll 1.5s ease-in-out infinite;
	animation: scroll 1.5s ease-in-out infinite;
}
@keyframes -webkit-animation {
	0% {
		top: -102%;
	}
	25% {
		top: 0;
	}
	70% {
		top: 0;
	}
	100% {
		top: 130%;
	}
}
@keyframes scroll {
	0% {
		top: -102%;
	}
	25% {
		top: 0;
	}
	70% {
		top: 0;
	}
	100% {
		top: 130%;
	}
}
@media screen and (max-width: 767px) {
	#mainMovie {
		height: 112vw;
		min-height: 0;
		padding-top: 110px;
	}
	#mainMovie .copy {
		font-size: 2.5rem;
		line-height: 1.6;
	}
	#mainMovie .scroll {
		bottom: 30px;
		font-size: 1.1rem;
	}
	#mainMovie .scroll span {
		height: 20px;
		margin-top: 3px;
	}
}

/* page_title
============================================================================================================ */
.page_title {
	position: relative;
	top: -60px;
	margin-bottom: 20px;
	z-index: 3;
}
.page_title::after {
	content: "";
	display: block;
	width: 40px;
	margin: 30px auto 0;
	border-top: 1px solid #A0802E;
}
.page_title > * {
	background-color: #fff;
	text-align: center;
}
.page_title h1 {
	padding-top: 60px;
	margin-bottom: 20px;
	font-size: 5rem;
	line-height: 1.3;
	color: #A0802E;
}
.page_title p {
	font-size: 1.8rem;
	line-height: 1.3;
	letter-spacing: 0.08em;
	font-weight: 300;
	color: #A0802E;
}
@media screen and (min-width: 768px), print {
	.page_title::before {
		content: "";
		position: absolute;
		top: 20px;
		left: 50%;
		height: 40px;
		border-left: 1px solid #e5e5e5;
	}
}
@media screen and (max-width: 767px) {
	.page_title {
		top: -30px;
		margin-bottom: 0;
	}
	.page_title::after {
		width: 20px;
		margin-top: 20px;
	}
	.page_title h1 {
		padding-top: 30px;
		margin-bottom: 15px;
		font-size: 2.4rem;
	}
	.page_title h1 span {
		display: block;
	}
	.page_title p {
		font-size: 1.3rem;
	}
}

@media screen and (max-width: 1201px) and (min-width: 767px) {
	.page_title h1 {
		font-size: 4.6rem;
	}
}

/* lead_text
============================================================================================================ */
.lead_text {
	margin-bottom: 25px;
	font-size: 3.2rem;
	line-height: 1.5625;
}
.lead_text.bold {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.lead_text {
		margin-bottom: 15px;
		font-size: 2rem;
		line-height: 1.7;
	}
}

/* main_block
============================================================================================================ */
.main_block {
	position: relative;
	margin-bottom: 200px;
	color: #fff;
}
.main_block::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	top: 500px;
	width: calc(50% + 400px);
	background-color: #6d993e;
	z-index: -1;
}
.main_block .ph_main {
	position: relative;
}
.main_block .text {
	position: relative;
	padding-top: 60px;
	padding-bottom: 80px;
}
@media screen and (min-width: 768px), print {
	.main_block .ph_main {
		height: 600px;
		margin-left: auto;
		width: calc(50% + 550px);
		max-width: calc(100% - 50px);
	}
	.main_block .text {
		max-width: 1200px;
		padding-left: 50px;
		padding-right: 50px;
	}
	.main_block .ph_s {
		max-width: 1300px;
	}
	.main_block .ph_s p {
		position: absolute;
		right: 10px;
		bottom: -60px;
	}
	[lang="en"] .main_block .text > * {
		width: 45%;
	}
	[lang="en"] .main_block .text .lead_text {
		width: 550px;font-family: 'Poppins', sans-serif;
	}
}
@media screen and (max-width: 767px) {
	.main_block {
		margin-bottom: 60px;
	}
	.main_block::before {
		top: 50px;
		bottom: 10px;
		width: 90vw;
	}
	.main_block .ph_main {
		height: 190px;
		margin-left: 5vw;
	}
	.main_block .text {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.main_block .text > * {
		margin-left: 5vw;
		margin-right: 10vw;
	}
	.main_block .ph_s {
		position: relative;
		padding-right: 5vw;
		z-index: 2;
	}
	.main_block .ph_s::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 75%;
		background-color: #fff;
		z-index: -1;
	}
	.main_block .ph_s p {
		width: 66.66vw;
		margin-left: auto;
	}
}

/* section_title
============================================================================================================ */
.section_title {
	position: absolute;
	top: 0;
	left: 30px;
	font-size: 6rem;
	line-height: 1;
	font-weight: 200 !important;
	font-style: italic;
	transform-origin: 0 100%;
	transform: rotate(90deg);
	z-index: 10;
}
.section_title::after {
	content: "";
	display: block;
	width: 40px;
	border-top: 1px solid;
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.section_title {
		left: 8vw;
		font-size: 3rem;
		line-height: 1;
	}
	.section_title::after {
		width: 20px;
		margin-top: 10px;
	}
}


/* concept_section
============================================================================================================ */
.concept_section {
	position: relative;
	margin-bottom: 140px;
}
.concept_section > header {
	position: relative;
	height: 640px;
	color: #fff;
	z-index: 5;
}
.concept_section > header li {
	position: relative;
}
.concept_section > header li + li::before,
.concept_section > header li + li::after {
	content: "";
	position: absolute;
	width: 1em;
	border-top: 1px solid;
	transform: rotate(45deg);
}
.concept_section > header li + li::after {
	transform: rotate(-45deg);
}
.concept_section .concept_main_img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 700px;
}
.concept_section .concept_main_img::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	mix-blend-mode: multiply;
	opacity: 0.2;
	z-index: 3;
}
.concept_section .concept_main_img .img {
	position: relative;
	height: 700px;
}
.concept_section .concept_main_img .img ul {
	position: relative;
	height: 100%;
}
.concept_section .concept_main_img .img ul li {
	position: absolute;
	width: 36%;
}
.concept_section .concept_main_img .img ul li:nth-child(1) {
	top: 0;
	left: 0;
	width: 64%;
	height: 100%;
}
.concept_section .concept_main_img .img ul li:nth-child(2) {
	top: 0;
	right: 0;
	height: calc(50% - 30px);
}
.concept_section .concept_main_img .img ul li:nth-child(3) {
	bottom: 0;
	right: 0;
	height: calc(50% + 30px);
}
.concept_section .concept_main_img .slick-dots {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 72px;
	display: flex;
	justify-content: flex-end;
	z-index: 5;
}
.concept_section .concept_main_img .slick-dots li button {
	position: relative;
	overflow: hidden;
	width: 32px;
	height: 0;
	margin: 0;
	padding: 32px 0 0;
	border: 0;
	background: none;
}
.concept_section .concept_main_img .slick-dots li button::after {
	content: "";
	position: absolute;
	top: 8px;
	bottom: 8px;
	left: 8px;
	right: 8px;
	background-color: #ffffff;
	border: 1px solid #ffffff;
	border-radius: 100%;
	transition: background .2s;
}
.concept_section .concept_main_img .slick-dots li.slick-active button::after {
	background-color: #998064;
}
@media screen and (min-width: 768px), print {
	.concept_section .section_title {
		top: 20px;
	}
	.concept_section > header {
		padding-top: 215px;
	}
	.concept_section > header ul {
		display: flex;
		justify-content: center;
		padding-left: max(0px, calc((1240px - 100%) * .4));
		font-size: 3.8rem;
		line-height: 1.2;
		white-space: nowrap;
	}
	@media screen and (min-width: 1160px) {
		.concept_section > header ul {
			font-size: 4rem;
		}
	}
	.concept_section > header li + li {
		padding-left: 70px;
	}
	.concept_section > header li + li::before,
	.concept_section > header li + li::after {
		top: 52%;
		left: 35px;
		margin-left: -0.5em;
	}
	.concept_section .concept_main_img .slick-dots {
		max-width: 1360px;
		margin: 0 auto;
		padding-left: 22px;
		padding-right: 22px;
	}
	.concept_section .concept_main_img .slick-dots li button:hover::after {
		background-color: #998064;
	}
}
@media screen and (max-width: 1201px) and (min-width: 767px) {
	.concept_section > header ul {
		font-size: 3.6rem;
	}
}
@media screen and (max-width: 767px) {
	.concept_section {
		margin-bottom: 60px;
	}
	.concept_section > header {
		height: 270px;
		padding-top: 0;
	}
	.concept_section > header ul {
		text-align: center;
		font-size: 2.1rem;
		line-height: 1.2;
	}
	.concept_section > header li + li {
		padding-top: 35px;
	}
	.concept_section > header li + li::before,
	.concept_section > header li + li::after {
		top: 15px;
		left: 50%;
		margin-left: -0.5em;
	}
	.concept_section .concept_main_img {
		height: 300px;
	}
	.concept_section .concept_main_img .img {
		height: 300px;
	}
	.concept_section .concept_main_img .slick-dots {
		right: calc(5vw - 5px);
		bottom: 40px;
	}
	.concept_section .concept_main_img .slick-dots li button {
		width: 20px;
		padding-top: 20px;
	}
	.concept_section .concept_main_img .slick-dots li button::after {
		top: 5px;
		bottom: 5px;
		left: 5px;
		right: 5px;
	}
}
.concept_contents {
	position: relative;
	z-index: 6;
}
.concept_contents > * {
	position: relative;
	background: #fff;
	padding-top: 70px;
	z-index: 1;
}
.concept_contents .hokkaido {
	z-index: -1;
	pointer-events: none;
}
.concept_contents .contents {
	margin-top: 100px;
}
.concept_contents .contents dl {
	text-align: center;
}
.concept_contents .contents dt {
	position: relative;
	margin-bottom: 10px;
	font-size: 3.2rem;
	line-height: 1.4;
}
.concept_contents .contents dd {
	font-size: 1.8rem;
	line-height: 1.66;
}
.concept_contents .contents dd::after {
	content: "";
	display: block;
	width: 40px;
	margin: 25px auto 0;
	border-top: 1px solid;
}
@media screen and (min-width: 768px), print {
	.concept_contents .hokkaido {
		position: absolute;
		top: -15px;
		right: -58px;
	}
	.concept_contents .contents {
		display: flex;
		justify-content: space-between;
	}
	.concept_contents .main_txt {
		width: 514px;
	}
	.concept_contents .contents li {
		max-width: 30%;
	}
	.concept_contents .contents dt {
		padding-top: 50px;
	}
	.concept_contents .contents dt .ico {
		position: absolute;
		right: 0;
		left: 0;
		top: -30px;
	}
	.concept_contents .contents dd > span {
		display: flex;
		justify-content: center;
		align-items: center;
		/*height: 3.4em;*/
	}
	[lang="en"] .concept_contents p {
		width: 550px;
	}
	[lang="en"] .concept_contents .hokkaido,
	[lang="en"] .concept_contents .contents p {
		width: auto;
	}
	[lang="en"] .concept_contents .hokkaido {
		top: 0;
	}
	[lang="en"] .concept_contents .contents dd > span {
		/*height: 5.1em;*/
	}
}
@media screen and (max-width: 767px) {
	.concept_contents > * {
		padding-top: 35px;
	}
	.concept_contents .hokkaido {
		position: relative;
		overflow: hidden;
		margin-top: 0px;
		margin-left: auto;
		right: 0;
		width: 100vw;
		left: -10vw;
	}
	.concept_contents .hokkaido img {
		max-width: none;
		width: 380px;
	}
	.concept_contents .contents {
		margin: 20px -10vw;
	}
	.concept_contents .contents li {
		display: flex;
		align-items: center;
	}
	.concept_contents .contents li + li {
		margin-top: 10px;
	}
	.concept_contents .contents li p {
		width: 45%;
	}
	.concept_contents .contents li p img {
		object-fit: cover;
		height: 230px;
	}
	.concept_contents .contents dl {
		width: 55%;
	}
	.concept_contents .contents dt {
		margin-bottom: 10px;
		font-size: 2rem;
	}
	.concept_contents .contents dt .ico {
		display: block;
		width: 45px;
		margin: 0 auto 10px;
	}
	.concept_contents .contents dd {
		padding: 0 10px;
		font-size: 1.3rem;
		line-height: 1.8;
	}
	.concept_contents .contents dd::after {
		width: 20px;
		margin-top: 15px;
	}
}

.concept_slider {
	overflow: hidden;
	position: relative;
	margin-top: 140px;
	padding: 120px 30px 150px;
	background-color: #ebedec;
}
.concept_slider .lead {
	margin-bottom: 70px;
	font-size: 3rem;
	line-height: 1.6;
	text-align: center;
}
.concept_slider .slide {
	position: relative;
	width: 200%;
}
.concept_slider .slide .img {
	transform-origin: 0 100%;
	transform: translateX(40px) scale(.5);
	opacity: 0.5;
}
.init .concept_slider .slide .img {
	transition: transform 0.6s ease, opacity 0.6s;
}
.concept_slider .slide .img.show {
	transform: translateX(0) scale(1);
	opacity: 1;
}
.concept_slider .slide .img.bl {
	transform: translateX(-40px) scale(1);
}
.concept_slider .nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 30px;
}
.concept_slider .nav .count {
	display: flex;
	font-size: 3rem;
	line-height: 1;
}
.concept_slider .nav .count .total {
	position: relative;
	padding-left: 30px;
}
.concept_slider .nav .count .total::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15px;
	border-left: 1px solid;
	transform: rotate(38deg);
}
.concept_slider .nav .arrow {
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
	margin-left: 25px;
	border-radius: 100%;
	border: 1px solid #28324f;
}
.concept_slider .nav .arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 9px;
	height: 9px;
	border-top: 1px solid;
	border-right: 1px solid;
	transform-origin: 100% 0;
	transform: rotate(45deg);
}
.concept_slider .nav .arrow.l {
	transform: rotate(180deg);
}
.concept_slider .slick-dots {
	display: flex;
	justify-content: flex-end;
}
.concept_slider .slick-dots li {
	margin-left: 3px;
}
.concept_slider .slick-dots li button {
	position: relative;
	overflow: hidden;
	width: 20px;
	height: 0;
	margin: 0;
	padding: 10px 0 0;
	border: 0;
	background: none;
}
.concept_slider .slick-dots li button::after {
	content: "";
	position: absolute;
	top: 4px;
	bottom: 3px;
	left: 0;
	right: 0;
	background-color: #cccccc;
	transition: background .2s;
}
.concept_slider .slick-dots li.slick-active button::after {
	background-color: #282828;
}
@media screen and (min-width: 768px), print {
	.concept_slider .lead {
		margin-left: -30px;
		margin-right: -30px;
	}
	.concept_slider .slick-dots li button:hover::after {
		background-color: #282828;
	}
	.concept_slider .nav .arrow.l {
		display: none !important;
	}
	.concept_slider .dots {
		position: absolute;
		right: 30px;
		bottom: -50px;
	}
}
@media screen and (max-width: 1330px) and (min-width: 767px) {
	.concept_slider .lead {
		font-size: 2.8rem;
	}
}
@media screen and (max-width: 767px) {
	.concept_slider {
		margin-top: 60px;
		padding: 50px 8vw 55px;
	}
	.concept_slider .lead {
		margin-bottom: 30px;
		font-size: 1.8rem;
	}
	.concept_slider .slide .img {
		transform: translateX(10px) scale(.5);
	}
	.concept_slider .slide .img img {
		object-fit: cover;
		width: 100%;
		height: calc(84vw * (380 / 630));
	}
	.concept_slider .nav {
		margin-top: 20px;
		justify-content: space-between;
	}
	.concept_slider .nav .count {
		flex-shrink: 0;
		font-size: 2.25rem;
		margin-left: auto;
	}
	.concept_slider .nav .count .total {
		padding-left: 20px;
	}
	.concept_slider .nav .count .total::before {
		left: 10px;
	}
	.concept_slider .nav .arrow {
		flex-shrink: 0;
		width: 25px;
		height: 25px;
		margin-left: 15px;
	}
	.concept_slider .nav .arrow.l {
		margin-left: 0;
		margin-right: 15px;
	}
	.concept_slider .nav .arrow::before {
		right: 8px;
		width: 8px;
		height: 8px;
	}
	.concept_slider .dots {
		width: calc(100% - 80px - 90px);
	}
	.concept_slider .slick-dots li {
		margin-left: 0;
		width: 100%;
		padding: 0 1px;
	}
	.concept_slider .slick-dots li button {
		width: 100%;
	}
}

/* features_section
============================================================================================================ */
.features_section {
	position: relative;
	margin-bottom: 140px;
	color: #fff;
	z-index: 1;
}
.features_section::before {
	content: "";
	position: absolute;
	left: 0;
	top: 200px;
	bottom: 10px;
	width: 82%;
	max-width: calc(50% + 500px);
	background-color: #6d993e;
	z-index: -1;
}
.features_img_main {
	position: relative;
	width: calc(50% + 200px);
	height: 500px;
}
.features_contents {
	padding: 90px 0 100px;
}
.features_contents .lead {
	font-size: 5.4rem;
	line-height: 1.3;
}
.features_contents p + p {
	margin-top: 1.5em;
}
.features_img_column {
	position: relative;
	z-index: 2;
}
.features_img_column::before {
	content: "";
	position: absolute;
	right: -5px;
	left: -5px;
	bottom: 0;
	height: 50%;
	background-color: #fff;
	z-index: -1;
}
.features_img_column ul {
	display: flex;
	justify-content: space-between;
}
@media screen and (min-width: 768px), print {
	.features_section .section_title {
		top: 520px;
	}
	.features_contents {
		padding-left: 180px;
		padding-right: 450px;
		font-size: 1.8rem;
	}
	.features_img_sub li {
		position: absolute;
	}
	.features_img_sub .img01 {
		top: 10px;
		left: 71%;
		width: 280px;
	}
	.features_img_sub .img02 {
		top: 550px;
		right: 0;
		width: 33%;
		max-width: 510px;
	}
	.features_img_column ul {
		max-width: 1300px;
	}
	.features_img_column li {
		width: calc(50% - 5px);
		width: calc(50%);
	}
	[lang="en"] .features_contents {
		padding-right: 40%;
		font-size: 2rem;
	}
	.features_contents .main_txt02 {
		width: 623px;
	}
}
@media screen and (min-width: 1360px) {
	[lang="en"] .features_contents {
		padding-right: 520px;
	}
}
@media screen and (min-width: 1300px) {
	.features_img_sub .img02 {
		top: 590px;
	}
}
@media screen and (max-width: 767px) {
	.features_section {
		margin-bottom: 80px;
	}
	.features_section::before {
		top: 140px;
		bottom: 10px;
		width: 100%;
		max-width: 100%;
	}
	.features_section .section_title {
		top: 200px;
	}
	.features_img_main {
		width: 92vw;
		height: 190px;
	}
	.features_contents {
		padding: 45px 8vw 40px 25vw;
		font-size: 1.5rem;
	}
	.features_contents .lead {
		font-size: 3.0rem;
	}
	.features_contents p + p {
		margin-top: 1.2em;
	}
	.features_img_sub {
		display: flex;
	}
	.features_img_sub .img01 {
		width: calc(100% - 54.6%);
		padding: 0 8vw;
	}
	.features_img_sub .img02 {
		width: 54.6%;
		padding: 8vw 0;
	}
	.features_img_column {
		padding-right: 8vw;
	}
	.features_img_column::before {
		right: 0;
		left: 0;
		height: 50%;
	}
}


/* plan_section
============================================================================================================ */
.plan_section {
	position: relative;
	overflow: hidden;
	padding: 140px 0;
	margin-bottom: 140px;
	background-color: #6d993e;
}
.plan_section .section_title {
	color: #fff;
}
.plan_section .tab {
	position: relative;
	display: flex;
	z-index: 3;
	justify-content: space-between;
}
.plan_section .tab > li {
	width: calc((100% / 3) - 3px);
}
.plan_section .tab a {
	position: relative;
	display: flex;
	align-items: center;
	height: 80px;
	text-decoration: none;
	background-color: #999999;
	color: #fff;
	line-height: 1.4;
	justify-content: center;
}
.plan_section .tab a dt {
	margin-bottom: 10px;
	font-size: 3rem;
	line-height: 1.2;
}
.plan_section .tab a li {
	position: relative;
}
.plan_section .tab a li + li::before,
.plan_section .tab a li + li::after {
	content: "";
	position: absolute;
	width: 1em;
	border-top: 1px solid;
	transform: rotate(45deg);
}
.plan_section .tab a li + li::after {
	transform: rotate(-45deg);
}
.plan_section .tab a::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	border-style: solid;
	border-width: 14px 9px 0 9px;
	border-color: #999999 transparent transparent transparent;
	transform: translate(-50%, -100%);
	pointer-events: none;
}
.init .plan_section .tab a::after {
	transition: transform 0.2s ease-in-out, border 0.2s ease-in-out;
}
.plan_section .tab a.active {
	background-color: #A0802E;
}
.plan_section .tab a.active::after {
	border-top-color: #A0802E;
	transform: translate(-50%, 0);
}
.plan_section .contents {
	position: relative;
	background-color: #fff;
	z-index: 2;
}
.plan_section .plan_contents {
	overflow: hidden;
	position: relative;
	line-height: calc(70/28);
}
.plan_section .plan_contents > section {
	position: relative;
	padding: 70px 0 100px;
	width: 100%;
}
.init .plan_section .plan_contents > section {
	transition: transform .5s;
}
.plan_section .plan_contents.plan_b > section {
	transform: translateX(-100%);
}
.plan_section .plan_contents.plan_c > section {
	transform: translateX(-200%);
}
.plan_section .plan_contents > section + section {
	left: 100%;
}
.plan_section .plan_contents > section:nth-child(3) {
	left: 200%;
}
.plan_section .plan_contents > section.hide {
	position: absolute;
	top: 0;
}
.plan_section .plan_contents h3 {
	margin-bottom: 50px;
	padding-bottom: 8px;
	border-bottom: 1px solid #28283c;
	font-size: 4rem;
	line-height: 1.2;
}
.plan_section .plan_contents .type {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
	font-size: 2.4rem;
	line-height: 1.3;
}
.plan_section .plan_contents .type.xxx {
	font-size: 3.6rem;
	letter-spacing: 0.05em;
	margin-bottom: 0;
}
.plan_section .plan_contents .type li {
	position: relative;
	padding-right: 40px;
}
.plan_section .plan_contents .type li::before,
.plan_section .plan_contents .type li::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 1em;
	margin-top: -1px;
	border-top: 2px solid;
	transform: scale(.8) rotate(45deg);
	margin-right: -0.5em;
}
.plan_section .plan_contents .type li::after {
	transform: scale(.8) rotate(-45deg);
}
.plan_section .plan_contents .type li:last-child {
	padding-right: 0;
}
.plan_section .plan_contents .type li:last-child:before,
.plan_section .plan_contents .type li:last-child:after {
	content: none;
}
.plan_section .plan_contents p + p {
	margin-top: 1.2em;
}
.plan_section .plan_contents .ph_main {
	display: flex;
	justify-content: space-between;
	margin-top: 70px;
}
.plan_section .plan_contents .schedule {
	margin-top: 70px;
}
.plan_section .plan_contents .schedule + .schedule {
	margin-top: 100px;
}
.plan_section .plan_contents .schedule h4 {
	margin-bottom: 50px;
	font-size: 3.2rem;
	line-height: 1.4;
	white-space: nowrap;
}
.plan_section .plan_contents .schedule ol {
	position: relative;
}
.plan_section .plan_contents .schedule ol::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 30px;
	border-left: 1px solid #28283c;
}
.plan_section .plan_contents .schedule li {
	position: relative;
	margin-bottom: 50px;
	padding-left: 8%;
	z-index: 2;
}
.plan_section .plan_contents .schedule li:last-child {
	margin-bottom: 0;
}
.plan_section .plan_contents .schedule .clock {
	position: absolute;
	top: -5px;
	left: 10px;
	width: 40px;
	height: 40px;
	background-color: #A0802E;
	border-radius: 100%;
}
.plan_section .plan_contents .schedule .clock > span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 6px;
	height: 6px;
	border-radius: 100%;
	background-color: #fff;
	transform: translate(-50%, -50%);
	z-index: 2;
}
.plan_section .plan_contents .schedule .clock::before,
.plan_section .plan_contents .schedule .clock::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 50%;
	border-left: 2px solid #fff;
	margin-left: -1px;
	transform-origin: 50% 100%;
}
.plan_section .plan_contents .schedule .clock::before {
	height: 27.5%;
}
.plan_section .plan_contents .schedule .clock::after {
	height: 37.5%;
}
.plan_section .plan_contents .schedule .clock.hour0530::before {
	transform: rotate(125deg);
}
.plan_section .plan_contents .schedule .clock.hour0730::before {
	transform: rotate(225deg);
}
.plan_section .plan_contents .schedule .clock.hour0900::before {
	transform: rotate(270deg);
}
.plan_section .plan_contents .schedule .clock.hour0930::before {
	transform: rotate(285deg);
}
.plan_section .plan_contents .schedule .clock.hour1000::before {
	transform: rotate(300deg);
}
.plan_section .plan_contents .schedule .clock.hour1230::before {
	transform: rotate(15deg);
}
.plan_section .plan_contents .schedule .clock.hour1300::before {
	transform: rotate(30deg);
}
.plan_section .plan_contents .schedule .clock.hour1400::before {
	transform: rotate(60deg);
}
.plan_section .plan_contents .schedule .clock.hour1430::before {
	transform: rotate(75deg);
}
.plan_section .plan_contents .schedule .clock.hour1500::before {
	transform: rotate(90deg);
}
.plan_section .plan_contents .schedule .clock.hour1530::before {
	transform: rotate(105deg);
}
.plan_section .plan_contents .schedule .clock.hour1600::before {
	transform: rotate(120deg);
}
.plan_section .plan_contents .schedule .clock.hour1630::before {
	transform: rotate(135deg);
}
.plan_section .plan_contents .schedule .clock.hour1700::before {
	transform: rotate(150deg);
}
.plan_section .plan_contents .schedule .clock.hour1730::before {
	transform: rotate(165deg);
}
.plan_section .plan_contents .schedule .clock.hour1830::before {
	transform: rotate(195deg);
}
.plan_section .plan_contents .schedule .clock.hour1900::before {
	transform: rotate(210deg);
}
.plan_section .plan_contents .schedule .clock.hour2100::before {
	transform: rotate(270deg);
}
.plan_section .plan_contents .schedule .clock.hour2200::before {
	transform: rotate(300deg);
}
.plan_section .plan_contents .schedule .clock.time30::after {
	transform: rotate(180deg);
}
.plan_section .plan_contents .detail {
	margin-top: 90px;
}
.plan_section .plan_contents .detail h4 {
	margin-bottom: 30px;
	padding-bottom: 8px;
	border-bottom: 1px solid #28283c;
	font-size: 3.2rem;
	line-height: 1.4;
}
.plan_section .plan_contents .detail > dl {
	position: relative;
	margin-bottom: 25px;
	padding-bottom: 25px;
}
.plan_section .plan_contents .detail > dl::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	height: 1px;
	background-image: linear-gradient(to right, #787885, #787885 2px, transparent 2px, transparent 7px);
	background-size: 7px 1px;
	background-repeat: repeat-x;
}
.plan_section .plan_contents .detail > dl:last-child {
	margin-bottom: 0;
}
.plan_section .plan_contents .detail > dl > dt::before {
	content: "【";
	margin-right: 0.5em;
}
.plan_section .plan_contents .detail > dl > dt::after {
	content: "】";
	margin-left: 0.5em;
}
.plan_section .plan_contents .detail dd .name {
	display: block;
	margin-bottom: 0.3em;
	font-size: 1.8rem;
}
.plan_section .plan_contents .detail dd .map {
	margin-top: 30px;
}
.plan_section .plan_contents .detail dd .map_link {
	margin-top: 15px;
	text-align: right;
}
.plan_section .plan_contents .detail dd .option + .option {
	margin-top: 2em;
}
.plan_section .plan_contents .detail dd .option dt {
	margin-bottom: 0.5em;
}
.plan_section .plan_contents .detail dd .option dd {
	font-size: 1.4rem;
}
.plan_section .plan_contents .detail dd .option ol {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
.plan_section .plan_contents .detail dd strong {
	margin-right: 0.5em;
	font-size: 2rem;
	line-height: 1.2;
}
[lang="en"] .plan_section .plan_contents .detail dd strong {
	display: block;
}
.plan_section .plan_contents .detail dd .notes {
	font-size: 1.4rem;
}
.plan_section .plan_contents .detail dd .dot_li > li + li {
	margin-top: 0.8em;
}
.plan_section .plan_contents .detail dd .ast_txt {
	margin-top: 1.2em;
}
.fc_green {
	color: #2E4EA0;
}
@media screen and (min-width: 768px), print {
	.plan_section {
		overflow: hidden;
	}
	.plan_section .section_title {
		top: -1.4em;
	}
	.plan_section .tab,
	.plan_section .contents {
		margin-left: 150px;
		max-width: 1000px;
	}
	.plan_section .tab a {
		/* padding-left: 7%; */
		padding-top: 5px;
		font-size: 1.5rem;
	}
	.plan_section .tab a ul {
		display: flex;
		white-space: nowrap;
	}
	.plan_section .tab a li + li {
		padding-left: 30px;
	}
	.plan_section .tab a li + li::before,
	.plan_section .tab a li + li::after {
		top: 50%;
		left: 15px;
		margin-left: -0.5em;
	}
	.plan_section .contents::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: 2000px;
		background-color: #fff;
		z-index: -1;
	}
	.plan_section .plan_contents {
		font-size: 1.8rem;
		line-height: calc(40/18);
	}
	.plan_section .plan_contents > section {
		padding-left: 80px;
	}
	.plan_section .plan_contents .ph_main li {
		width: calc((100% - 24px) / 4);
		max-width: 220px;;
	}
	.plan_section .plan_contents .schedule li {
		position: relative;
		padding-right: 250px;
		min-height: 140px;
	}
	.plan_section .plan_contents .schedule li.wide {
		padding-right: 0;
		min-height: 0;
	}
	.plan_section .plan_contents .schedule dl {
		display: flex;
	}
	.plan_section .plan_contents .schedule dt {
		width: 100px;
		flex-shrink: 0;
	}
	[lang="en"] .plan_section .plan_contents .schedule dd {
		font-size: 1.9rem;
		line-height: 1.6;
	}
	.plan_section .plan_contents .schedule li p {
		margin: 10px 0 0 100px;
		font-size: 1.6rem;
		line-height: 1.75;
	}
	[lang="ja"] .plan_section .plan_contents .schedule li p {
		text-align: justify;
	}
	.plan_section .plan_contents .schedule li .map {
		margin-top: 20px;
	}
	.plan_section .plan_contents .schedule li .ph {
		position: absolute;
		top: 0;
		right: 0;
		margin: 0;
	}
	.plan_section .plan_contents .detail {
		font-size: 1.6rem;
	}
	.plan_section .plan_contents .detail .icon {
		font-size: 1.4rem;
	}
	.plan_section .plan_contents .detail > dl {
		display: flex;
	}
	.plan_section .plan_contents .detail > dl > dt {
		width: calc(100px + 8%);
		padding-top: 0.2em;
		flex-shrink: 0;
		line-height: 1.3;
	}
	[lang="en"] .plan_section .plan_contents .detail > dl > dt::before {
		margin-left: -0.5em;
	}
	[lang="en"] .plan_section .plan_contents .detail > dl > dt::after {
		margin-right: -0.5em;
	}
}
@media screen and (min-width: 1200px) {
	.plan_section .tab a {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 767px) {
	.plan_section {
		margin-bottom: 60px;
		padding: 50px 0 60px 8vw;
	}
	.plan_section .section_title {
		position: static;
		margin-bottom: 30px;
		transform: none;
	}
	.plan_section .tab a {
		justify-content: center;
		height: 65px;
		text-align: center;
		font-size: 1.2rem;
		line-height: 1.4;
	}
	.plan_section .tab a dt {
		margin-bottom: 0;
		font-size: 1.5rem;
	}
	.plan_section .tab a li + li {
		padding-top: 6px;
	}
	.plan_section .tab a li + li::before,
	.plan_section .tab a li + li::after {
		width: 0.6em;
		top: 3px;
		left: 50%;
		margin-left: -0.3em;
	}
	.plan_section .tab a::after {
		border-width: 10px 6px 0 6px;
	}
	
.plan_section .plan_contents {
	overflow: hidden;
	position: relative;
	line-height: calc(70/35);
}
	.plan_section .plan_contents > section {
		padding: 40px 8vw 50px;
	}
	.plan_section .plan_contents h3 {
		margin-bottom: 30px;
		padding-bottom: 10px;
		font-size: 2.7rem;
	}
	.plan_section .plan_contents .type {
		margin-bottom: 25px;
		font-size: 1.7rem;
		line-height: 1.3;
	}
	.plan_section .plan_contents .type.xxx {
		font-size: 2.5rem;
		letter-spacing: 0.05em;
	}
	.plan_section .plan_contents .type li {
		/*margin-bottom: 5px;*/
	}
	.plan_section .plan_contents .ph_main {
		flex-wrap: wrap;
		margin-top: 30px;
	}
	.plan_section .plan_contents .ph_main li {
		width: calc(50% - 5px);
	}
	.plan_section .plan_contents .ph_main li:nth-child(n + 3) {
		margin-top: 10px;
	}
	.plan_section .plan_contents .ph_main li img {
		width: 100%;
	}
	.plan_section .plan_contents .schedule {
		margin-top: 40px;
	}
	.plan_section .plan_contents .schedule + .schedule {
		margin-top: 64px;
	}
	.plan_section .plan_contents .schedule h4 {
		margin-bottom: 35px;
		font-size: 2.5rem;
	}
	.plan_section .plan_contents .schedule ol::before {
		left: 15px;
	}
	.plan_section .plan_contents .schedule li {
		margin-bottom: 45px;
		padding-left: 12vw;
	}
	.plan_section .plan_contents .schedule .clock {
		top: -2px;
		left: 0;
		width: 30px;
		height: 30px;
	}
	.plan_section .plan_contents .schedule dt {
		font-size: 1.5rem;
	}
	.plan_section .plan_contents .schedule dd {
		font-size: 1.6rem;
		line-height: 1.4;
	}
	.plan_section .plan_contents .schedule li p {
		margin-top: 8px;
		font-size: 1.2rem;
		line-height: 1.75;
	}
	.plan_section .plan_contents .schedule li .map {
		margin-top: 20px;
	}
	.plan_section .plan_contents .schedule li .map img {
		aspect-ratio: 480 / 1000;
	}
	.plan_section .plan_contents .schedule li .ph {
		margin-top: 20px;
	}
	.plan_section .plan_contents .schedule li .ph img {
		width: 100%;
	}
	.plan_section .plan_contents .detail {
		margin-top: 60px;
	}
	.plan_section .plan_contents .detail .icon {
		font-size: 1.2rem;
	}
	.plan_section .plan_contents .detail h4 {
		margin-bottom: 20px;
		font-size: 2.5rem;
	}
	.plan_section .plan_contents .detail > dl {
		line-height: 1.6;
	}
	.plan_section .plan_contents .detail > dl > dt {
		margin-bottom: 0.3em;
		font-size: 1.6rem;
	}
	.plan_section .plan_contents .detail dd .name {
		margin-bottom: 0;
		font-size: 1.5rem;
	}
	.plan_section .plan_contents .detail dd .map {
		margin-top: 20px;
	}
	.plan_section .plan_contents .detail dd .map img {
		aspect-ratio: 480 / 1584;
	}
	.plan_section .plan_contents .detail dd .map_link {
		margin-top: 10px;
	}
	.plan_section .plan_contents .detail dd .option + .option {
		margin-top: 1.5em;
	}
	.plan_section .plan_contents .detail dd .option dt {
		font-size: 1.5rem;
		margin-bottom: 0.5em;
	}
	.plan_section .plan_contents .detail dd .option dd {
		font-size: 1.4rem;
	}
	.plan_section .plan_contents .detail dd .option ol {
		font-size: 1.2rem;
	}
	.plan_section .plan_contents .detail dd strong {
		display: block;
		margin-bottom: 0.5em;
		white-space: nowrap;
	}
	.plan_section .plan_contents .detail dd strong span {
		font-size: 70%;
	}
	[lang="en"] .plan_section .plan_contents .detail dd strong span {
		font-size: 50%;
	}
	.plan_section .plan_contents .detail dd .notes {
		display: block;
		font-size: 1.15rem;
	}
	.plan_section .plan_contents .type .peke::before,
	.plan_section .plan_contents .type .peke::after {
		right: 120px;
		margin-top: 15px;
	}
	.plan_section .plan_contents .detail dd .dot_li > li + li {
		margin-top: 0.4em;
	}
}

/* bnr_section
============================================================================================================ */
.bnr_section {
	position: relative;
	margin-bottom: 140px;
}
.bnr_section a {
	position: relative;
	display: block;
	text-decoration: none;
}
.bnr_section a .ph {
	position: relative;
}
.bnr_section a dl {
	background-color: #f2f2f2;
	text-align: center;
}
.bnr_section a dt {
	position: relative;
	color: #000000;
	font-size: 2rem;
	line-height: 1.7;
}
.bnr_section a dt .ico {
	margin-bottom: 20px;
}
.bnr_section a dt .logo {
	margin-bottom: 20px;
}
.bnr_section a dt .logo img {
	width: 272px;
}
.bnr_section a dd {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100px;
	background-color: #A0802E;
	color: #fff;
	font-size: 1.8rem;
}
.bnr_section a dd.ff_en,
[lang="en"] .bnr_section a dd {
	font-size: 2.2rem;
}
.bnr_section a dd::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 8.33%;
	width: 9px;
	height: 9px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform-origin: 100% 0;
	transform: rotate(45deg);
}
.bnr_section .contents .bnr_area {max-width: 1148px;display: flex;flex-wrap: wrap;justify-content: space-between;padding-left: 150px;}
.bnr_section .contents .bnr_area .col {width: 48%;}
.bnr_section .contents .bnr_area .col:nth-child(1),
.bnr_section .contents .bnr_area .col:nth-child(2) {margin-bottom: 80px;}
.bnr_section .contents .bnr_area .col a {width: 100%;height: auto; display: block;margin: 0 0 0;}
.bnr_section .contents .bnr_area .col a .ico {width: 100%;height: 150px;display: flex;justify-content: center;align-items: center;margin-bottom: 20px;}
.bnr_section .contents .bnr_area .col a .ico img {width: auto;height: 140px;margin: 0 auto;}
.bnr_section .contents .bnr_area .col:nth-child(3) a .ico img {width: auto;height: 120px;margin: 0 auto;}
.bnr_section .contents .bnr_area .col a .btn{width: 100%;height: 100px;background-color: #2E4EA0;color: #FFF;margin: 0 0 4%;display: flex; justify-content: center;align-items: center; transition: all 0.2s;font-family: Poppins, sans-serif;font-size: 20px;position: relative;}
.bnr_section .contents .bnr_area .col a:hover .btn {background-color: #000;}
.bnr_section .contents .bnr_area .col a .btn:before {transition: transform .2s ease-in-out;content: "";position: absolute;top: 50%;right: 8.33%;width: 9px;height: 9px;border-top: 1px solid #fff;border-right: 1px solid #fff;transform-origin: 100% 0;transform: rotate(45deg);}
.bnr_section .contents .bnr_area .col a:hover .btn:before {transform: translateX(3px) rotate(45deg);}
@media screen and (min-width: 768px), print {
	.bnr_section {
		overflow: hidden;
	}
	.bnr_section .section_title {
		top: -80px;
	}
	.bnr_section a {
		display: flex;
		align-items: center;
		height: 500px;
		margin-left: 150px;
	}
	.bnr_section a .ph {
		position: absolute;
		left: 225px;
		top: 0;
		min-width: 730px;
		width: calc((50vw - 10px) + (50% - 75px) - 225px);
		height: 100%;
	}
	.bnr_section a dl {
		position: relative;
		width: 54%;
		max-width: 550px;
		z-index: 3;
	}
	.bnr_section a dt {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		height: 240px;
	}
	body.init .bnr_section a dd {
		transition: background .2s ease-in-out;
	}
	body.init .bnr_section a dd::before {
		transition: transform .2s ease-in-out;
	}
	.bnr_section a:hover dd {
		background-color: #000;
	}
	.bnr_section a:hover dd::before {
		transform: translateX(3px) rotate(45deg);
	}
}
@media screen and (max-width: 767px) {
	.bnr_section {
		margin-bottom: 60px;
	}
	.bnr_section .section_title {
		top: -40px;
	}
	.bnr_section .contents {
		margin-left: 25vw;
	}
	.bnr_section a .ph {
		height: 120px;
	}
	.bnr_section a dt {
		padding: 20px 0 25px;
		font-size: 1.4rem;
		line-height: 1.65;
	}
	.bnr_section a dt .ico {
		display: block;
		margin-bottom: 10px;
	}
	.bnr_section a dt .ico img {
		width: 30px;
	}
	.bnr_section a dt .logo {
		display: block;
		margin-bottom: 15px;
	}
	.bnr_section a dt .logo img {
		width: 185px;
	}
	.bnr_section a dd {
		height: 60px;
		font-size: 1.4rem;
		line-height: 1.3;
	}
	.bnr_section a dd.ff_en,
	[lang="en"] .bnr_section a dd {
		font-size: 1.5rem;
	}
	.bnr_section a dd::before {
		right: 5%;
	}
	.bnr_section .contents .bnr_area {max-width: 100%;display: flex;flex-wrap: wrap;justify-content: space-between;padding-left: 0;}
	.bnr_section .contents .bnr_area .col {width: 100%;}
	.bnr_section .contents .bnr_area a:before {right: 5%;}
	.bnr_section .contents .bnr_area .col:nth-child(3),
	.bnr_section .contents .bnr_area .col:nth-child(1),
	.bnr_section .contents .bnr_area .col:nth-child(2) {margin-bottom: 10%;}
	.bnr_section .contents .bnr_area .col a {width: 100%;height: auto; display: block;margin: 0 0 0;}
	.bnr_section .contents .bnr_area .col a .ico {width: 100%;height: 60px;display: flex;justify-content: center;align-items: center;margin-bottom: 20px;}
	.bnr_section .contents .bnr_area .col a .ico img {width: auto;height: 100%;margin: 0 auto;}
	.bnr_section .contents .bnr_area .col:nth-child(3) a .ico img {width: auto;height: 80%;margin: 0 auto;}
	.bnr_section .contents .bnr_area .col a .btn{width: 100%;height: 60px;background-color: #2E4EA0;color: #FFF;margin: 0 0 4%;display: flex; justify-content: center;align-items: center; transition: all 0.2s;font-family: Poppins, sans-serif;font-size: 3.2vw;position: relative;}
	.bnr_section .contents .bnr_area .col a .btn:before {right: 4%;}
}

/* ul / ol
============================================================================================================ */
.dot_li > li {
	position: relative;
	padding-left: 1em;
}
.dot_li > li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.num_li {
	margin-left: 1.2em;
	list-style: decimal;
}
.alphabet_li {
	margin-left: 1.8em;
	list-style: lower-latin;
}

.mt_li > li + li {
	margin-top: 0.8em;
}


.tablet {
	display: none;
}
@media screen and (max-width: 1301px) and (min-width: 767px) {
	.tablet {
		display: block;
	}
}






#mainMovie {
	position: relative;
}

#mainMovie .mv_main_img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100vh;
}
#mainMovie .mv_main_img .img {
	position: relative;
	height: 100vh;
	width: 100%;
	object-fit: cover;
}

@media screen and (max-width: 767px) {
	#mainMovie .mv_main_img {
		height: 100%;
	}
	#mainMovie .mv_main_img .img {
		height: 100%;
	}
}











#mainMovie .mv_main_img .slick-dots {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 102px;
	display: flex;
	justify-content: flex-end;
	z-index: 5;
}
#mainMovie .mv_main_img .slick-dots li button {
	position: relative;
	overflow: hidden;
	width: 32px;
	height: 0;
	margin: 0;
	padding: 32px 0 0;
	border: 0;
	background: none;
}
#mainMovie .mv_main_img .slick-dots li button::after {
	content: "";
	position: absolute;
	top: 8px;
	bottom: 8px;
	left: 8px;
	right: 8px;
	background-color: #ffffff;
	border: 1px solid #ffffff;
	border-radius: 100%;
	transition: background .2s;
}
#mainMovie .mv_main_img .slick-dots li.slick-active button::after {
	background-color: #998064;
}
@media screen and (min-width: 768px), print {
	#mainMovie .mv_main_img .slick-dots {
		max-width: 1360px;
		margin: 0 auto;
		padding-left: 22px;
		padding-right: 22px;
	}
	#mainMovie .mv_main_img .slick-dots li button:hover::after {
		background-color: #998064;
	}
}
@media screen and (max-width: 767px) {
	#mainMovie .mv_main_img .slick-dots {
		right: calc(5vw - 5px);
		bottom: 40px;
	}
	#mainMovie .mv_main_img .slick-dots li button {
		width: 20px;
		padding-top: 20px;
	}
	#mainMovie .mv_main_img .slick-dots li button::after {
		top: 5px;
		bottom: 5px;
		left: 5px;
		right: 5px;
	}
}












.plan_section .plan_contents .add_box {
	padding-bottom: 10px;
	border-bottom: none;
	margin-bottom: 0;
}

.plan_section .plan_contents .add_box .add_tit {
	font-size: 3.3rem;
	letter-spacing: 0.05em;
	border-bottom: none;
	margin-bottom: 24px;
}
.plan_section .plan_contents .add_box .add_tit span {
	color: #A0802E;
}
.plan_section .plan_contents .add_box .add_stit {
	font-size: 3.1rem;
	letter-spacing: 0.025em !important;
	color: #A0802E;
	margin-top: 46px;
}
.plan_section .plan_contents .add_box .add_txt01 {
	font-size: 2.6rem;
	letter-spacing: 0.05em;
    margin-top: 1em;
    font-weight: 700;
    line-height: 1.8;
}
.plan_section .plan_contents .add_box .add_txt {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: calc(40/18);
    font-weight: 500;
	font-style: normal;
	text-align: justify;
	font-feature-settings: "palt";
}

.plan_section .en .plan_contents .add_box .add_txt {
	line-height: calc(36/18);
}


@media screen and (min-width: 768px), print {
	.plan_section .plan_contents .add_box .add_txt {
		margin-top: 3.4rem;
	}
	.en .plan_contents .add_box .add_txt {margin-top: 0;}
}
@media screen and (max-width: 767px) {
	.plan_section .plan_contents .add_box {
		padding-bottom: 40px;
		margin-bottom: 47px;
		border: none;
		position: relative;
	}
	.plan_section .plan_contents .add_box:before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background-color: #A0802E;
		margin: auto;
	}
	
	.plan_section .plan_contents .add_box .add_tit {
		font-size: 2.2rem;
		letter-spacing: 0.05em;
		margin-bottom: 10px;
		text-align: center;
		line-height: calc(68/45);
	}
	.plan_section .plan_contents .add_box .add_img {
		/*padding: 0 8vw;*/
	}
	.plan_section .plan_contents .add_box .add_tit span {
		display: block;
	}
	.plan_section .plan_contents .add_box .add_stit {
		font-size: 1.7rem;
		letter-spacing: 0.025em !important;
		margin-top: 26px;
		text-align: center;
		width: calc(100vw - 8vw);
		margin-left: -8vw;
	}
	.plan_section .plan_contents .add_box .add_txt01 {
		font-size: 1.6rem;
		letter-spacing: 0.05em;
		margin-top: 10px;
		text-align: center;
	}
	.plan_section .plan_contents .add_box .add_txt {
		font-size: 1.4rem;
		letter-spacing: 0.035em;
		line-height: calc(70/28);
		text-align: center;
	}
	/*
	.plan_section .plan_contents > .sp_pa0 {
		padding-left: 0;
		padding-right: 0;
	}
	*/
}


.basic_plan .bcp_list dt,
.basic_plan .bcp_list dd {
	font-size: 1.6rem;
	letter-spacing: 0.02em;
	line-height: calc(28/16);
}
.basic_plan .bcp_list dl {
	display: flex;
}
.basic_plan .bcp_list dt {
	position: relative;
	width: 15.5rem;
}
.basic_plan .bcp_list dt:before {
	position: absolute;
	top: 0;
	right: 0;
	content: "：";
	right: 0.4rem;
}
.basic_plan .bcp_list dd {
    width: calc(100% - 15.5rem);
}

.basic_plan .bcp_ask {

}
.basic_plan .bcp_ask li {
	position: relative;
	padding-left: 1.8rem;
	font-size: 1.4rem;
}
.basic_plan .bcp_ask li:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}

.plan_section .plan_contents .schedule .plan_txt {
	font-size: 2.4rem;
	color: #A0802E;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

.en .basic_plan .bcp_list dt {
	width: 16.5rem;
}
.en .basic_plan .bcp_list dd {
    width: calc(100% - 16.5rem);
}

.plan_section .en .plan_contents .schedule .plan_txt {
	font-weight: normal;
}

.en .basic_plan .bcp_ask li {
	padding-left: 1.4rem;
}

.en .basic_plan .bcp_ask li:before {
	content: "*";
}

@media screen and (min-width: 768px), print {
}
@media screen and (max-width: 767px) {
	.basic_plan .bcp_list dt {
		width: 5rem;
	}
	.basic_plan .bcp_list dd {
		width: calc(100% - 5rem);
	}
.basic_plan .bcp_list .one_col dt {
	position: relative;
	display: inline-block;
	width: auto;
	padding-right: 1em;
}
.basic_plan .bcp_list .one_col dd {
	position: relative;
	width: 100%;
}

	.basic_plan .bcp_list dl {
		flex-wrap: wrap;
	}
	.plan_section .plan_contents .schedule .plan_txt {
		font-size: 1.6rem;
	}
	.en .basic_plan .bcp_list dt {
		width: auto;
	}
	.en .basic_plan .bcp_list dt:before {
		right: -2rem;
	}
	.en .basic_plan .bcp_list dd {
		width: 100%;
		margin-bottom: 1rem;
		line-height: 1.6;
	}
}

.btn_reservation {width: 100%;height: 100px;margin: 10em auto 5em;}
.btn_reservation a {width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;position: relative;text-decoration: none;background-color: #2E4EA0;transition: color .5s, background .2s ease-in-out;}
.btn_reservation a:hover {background-color: #000;}
.btn_reservation a:after {content: '';position: absolute;top: 50%;right: 6%;width: 9px;height: 9px;border-top: 1px solid #fff;border-right: 1px solid #fff;transform-origin: 100% 0;transform: rotate(45deg);}
.btn_reservation a span {font-size: 2.0rem;font-weight: 300;color: #FFF;text-align: center;position: relative;}
.btn_reservation a span:before {content: '';width: 36px;height: 36px;background-image: url("../images/ico_reservation.svg");background-repeat: no-repeat;background-position: center center;position: absolute;top:calc(50% - 18px);left: -50px;}
@media screen and (max-width: 767px) {
	.btn_reservation {width: 100%;height: auto;margin: 3em auto 0em;}
	.btn_reservation a {width: 100%;height: 100%;box-sizing: border-box;padding: 15% 5% 6%;}
	.btn_reservation a span {font-size: 1.5rem;font-weight: 300;line-height: 1.6; color: #FFF;text-align: center;position: relative;}
	.btn_reservation a span:before {content: '';width: 20px;height: 20px;background-image: url("../images/ico_reservation.svg");background-repeat: no-repeat;background-position: center center;background-size: contain; position: absolute;top:-25px;left: calc(50% - 10px);}
}







