@charset "utf-8";
/***************************************************************************************************
 default.css
 ***************************************************************************************************/
/*
font-family: 'Noto Sans JP', sans-serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');

/*
font-family: "Barlow Semi Condensed", sans-serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:ital@1&display=swap');


/*
*/
*, *::before, *::after {
	position:relative;

	margin: 0;
	padding: 0;
	box-sizing: border-box;

	border: 0;
	border-style: none;
	outline: 0;

	background: none;
	background-color: transparent;
	background-repeat: no-repeat;

	text-decoration: none;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .12em;
	/* letter-spacing: .06em; */
	font-weight:400;
	color: #000000;
	font-family: 'Noto Sans JP', sans-serif;

	/* text-align: left; */
	/* word-break: break-all; */

	-webkit-font-smoothing: antialiased;
	/* text-rendering: optimizeSpeed; */

  backface-visibility: hidden;
}
table {
	/* border-collapse: collapse; */
	border-spacing: 0;
	border: none;
}
input::-ms-clear {
	visibility: hidden
}
/*
*/
:root {
	--max_wid_1:1680px;
	--max_wid_2:800px;

	--padding_1:0 7.8%;
	--padding_2:0 5%;
}
/*
*/
html {
	width: 100%;
	height: 100%;
}
body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	text-align: left;
	background-color: #EFECE8;
}
#pagetop {
	width: 100%;
	height: 100%;
}
/*
*/
#header_input {
	display: none;
}
/*
*/
#header {
	position:fixed;
	width:100%;
	left:0;
	top:0;
	z-index: 1000001;
	background-color: rgba(255, 255, 255, .8);
}
#header > div {
	width:100%;
	max-width: var(--max_wid_1);
	height:70px;
	margin: auto;
}
/*  */
#header .hd_blk_1 {
	position: absolute;
	z-index: 2;
	left:3%;
	top:50%;
}
#header .hd_blk_1 h1 {
	position: absolute;
	width:216px;
	top:0;
	left:0;
	translate:0 -50%;
}
#header .hd_blk_1 h1 a {
	display: block;
	width:100%;
	height:100%;
}
#header .hd_blk_1 h1 a img {
	display: block;
	width:100%;
}
/*
*/
#header .hd_blk_2 {
	position: absolute;
	left:98.4%;
	top:50%;
	translate: -100% 0;
	z-index: 2;
}
/*  */
#header .hd_blk_2_1 {
	width:100%;
}
#header .hd_blk_2_1 nav {
	display:block;
	width:100%;
}
#header .hd_blk_2_1 nav ul {
	display: table;
	list-style: none;
	translate: 0 -50%;
}
#header .hd_blk_2_1 nav ul li {
	display:table-cell;
}
#header .hd_blk_2_1 nav ul li:nth-of-type(7) {
	padding:0 9.5px 0 0;
}
#header .hd_blk_2_1 nav ul li:nth-of-type(8) {
	padding:0 0 0 10.5px;
}
#header .hd_blk_2_1 nav ul li:nth-of-type(8)::after {
	position: absolute;
	display: block;
	content: '';
	width: 1px;
	height: 18px;
	left:0;
	top:calc(50% - 8px);
	background-color: #000000;
}
#header .hd_blk_2_1 nav ul li a {
	display:block;
	padding:5px 9.5px;
}
#header .hd_blk_2_1 nav ul li a span {
	display:block;
	font-size: 12px;
	line-height: 1;
	font-weight: 500;
	letter-spacing: .12em;
	white-space: nowrap;
	transition: color .1s ease-out 0s;
}
#header .hd_blk_2_1 nav ul li a.nm_hover span {
	color:#757575;
}
/*  */
#header .hd_blk_2_2 {
	display:none;
}
/*  */
#header .hd_blk_2_3 {
	display:none;
}
/*
*/
#header .header_hbg {
	display: none;
}
/*
*/
#hd_sp {
	display:none;
}
/*
*/
#footer {
	width:100%;
	background-color: #EFECE8;
	overflow: hidden;
}
#footer > div {
	width:100%;
	max-width: var(--max_wid_1);
	margin: auto;
	padding:var(--padding_1);
}
#footer > div > div {
	width: 100%;
	display: table;
}
/*  */
#footer .ft_blk_1 {
	display:table-cell;
	width: 50%;
	text-align: left;
	vertical-align: middle;
}
#footer .ft_blk_1 p {
	display: block;
}
#footer .ft_blk_1 p a {
	display: block;
	width:385px;
}
#footer .ft_blk_1 p a img {
	display: block;
	width:100%;
}
/*  */
#footer .ft_blk_2 {
	display:table-cell;
	width:50%;
	padding:85px 0 50px 0;
}
#footer .ft_blk_2_1 {
	width:100%;
}
#footer .ft_blk_2_1 p {
	width:100%;
	text-align: right;
}
#footer .ft_blk_2_1 p a {
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	white-space: nowrap;
	padding: 10px 25px 10px 0;
	background-image: url('../en-images/ico_map_02.svg');
	background-position: 100% 50%;
	background-size: 19px auto;
}
#footer .ft_blk_2_2 {
	width:100%;
	padding:5px 0 0 0;
}
#footer .ft_blk_2_2 ul {
	display: table;
	list-style: none;
	margin: auto 0 auto auto;
}
#footer .ft_blk_2_2 ul li {
	display: table-cell;
	vertical-align: middle;
	padding:0 0 0 24px;

}
#footer .ft_blk_2_2 ul li a {
	display: block;
	width:24px;
}
#footer .ft_blk_2_2 ul li a img {
	display: block;
	width:100%;
}
#footer .ft_blk_2_3 {
	width:100%;
	padding:17px 0 0 0;
}
#footer .ft_blk_2_3 p {
	font-size: 12px;
	line-height: 1;
	text-align: right;
	white-space: nowrap;
}

#footer .en_footer p a
{
    font-size: 10px;
}
/*
*/
.gsty_btn_1 {
	display: inline-block;
	font-size: 15px;
	line-height: 1;
	white-space: nowrap;
	padding:15px 18px;
	background-color: #EFECE8;
	border-radius: 30px;
	transition:color .1s ease-out 0s, background-color .1s ease-out 0s;
}
.gsty_btn_1.nm_hover {
	color:#ffffff;
	background-color: #746D55;
}
/*
*/
.gsty_tit_1 {
	width:100%;
	height: 100%;
	padding:var(--padding_1);
	padding-right: 0;
}
.gsty_tit_1 > div {
	width:100%;
  height: 51vw;
  max-height: 700px;
}
.gsty_tit_1 > div > div {
	position:absolute;
	left:0;
	top:50%;
	width:100%;
	min-height: 285px;
	translate: 0 -50%;
	padding:0 56% 0 0;
}
.gsty_tit_1 > div > div h2 {
	height: 86px;
}
.gsty_tit_1 > div > div h2 img {
	display:block;
	height: 100%;
	mask-image: linear-gradient(0deg, #ffffff 0%, #ffffff 100%);
  mask-position: 0 0;
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}
.tgt_nm_psa .gsty_tit_1 > div > div h2 img {
  mask-size: 0 100%;
	opacity:0;
}
.tgt_nm_psa.psa_show .gsty_tit_1 > div > div h2 img {
	animation:gsty_tit_1_kf_1 .8s ease-out .2s 1 normal forwards;
}
@keyframes gsty_tit_1_kf_1 {
  100% { mask-size: 100% 100%; opacity:1;}
}
.gsty_tit_1 > div > div p {
	font-size: 18px;
	line-height: 2;
	letter-spacing: .012em;
	padding:18px 0 0 0;
} 
.tgt_nm_psa .gsty_tit_1 > div > div p {
  translate:0 10px;
	opacity:0;
}
.tgt_nm_psa.psa_show .gsty_tit_1 > div > div p {
	animation:gsty_tit_1_kf_3 .6s ease-out 1s 1 normal forwards;
}
@keyframes gsty_tit_1_kf_3 {
  100% { translate:0 0; opacity:1;}
}
.gsty_tit_1 > div > div div {
	position: absolute;
	left:100%;
	top:44%;
	translate: -100% -50%;
	width:51%;
	height: auto;
	overflow: hidden;
}
.gsty_tit_1 > div > div div::before {
	display: block;
	content:'';
	width:100%;
	padding:59% 0 0 0;
	left:0;
	top:0;
}
.tgt_nm_psa .gsty_tit_1 > div > div div::before {
  scale:1.1;
	opacity:0;
}
.tgt_nm_psa.psa_show .gsty_tit_1 > div > div div::before {
	animation:gsty_tit_1_kf_2 1.2s ease-out .2s 1 normal forwards;
}
@keyframes gsty_tit_1_kf_2 {
  100% { scale:1; opacity:1;}
}
/*
*/
#btns_reserve {
	position: fixed;
	left:100%;
	top:max(100px, calc(100% - 232px));
	opacity:0;
	pointer-events: none;
	animation:btns_reserve_kf_1 .6s ease 1.2s 1 normal forwards;
	z-index: 1000000;
}
@keyframes btns_reserve_kf_1 {
  100% {opacity:1; pointer-events: auto;}
}
#btns_reserve ul {
	position:absolute;
	display: block;
	left:-38px;
	top:0;
	width:40px;
	/* height:180px; */
	height: 190px;
	border-top:1px solid #ffffff;
	border-left:1px solid #ffffff;
	border-bottom:1px solid #ffffff;
	list-style: none;
}
#btns_reserve ul li {
	position:absolute;
	display: block;
	left:0;
	top:0;
	width:100%;
	height:50%;
	background-color: #235357;
}
#btns_reserve ul li:nth-of-type(2) {
	top:50%;
	background-color: #1c4246;
}
#btns_reserve ul li a {
	display: block;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
#btns_reserve ul li a span {
	position: absolute;
	display: block;
	left:50%;
	top:50%;
	translate:-50% -50%;
	writing-mode: vertical-rl;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 2px;
	color:#ffffff;
	white-space: nowrap;
}
#btns_reserve ul li:last-of-type a span {
	letter-spacing: 1px;
}
/***************************************************************************************************
 responsive
***************************************************************************************************/
@media screen and (max-width:1000px) {
/*
*/
#header {
	background-color: transparent;
}
#header.hd_on {
	background-color: transparent;
}
#header > div {
	max-width: none;
	height:auto;
}
/*  */
#header .hd_blk_1 {
	display: none;
}
/*
*/
#header .hd_blk_2 {
	left:0;
	top:0;
	translate: 0 0;
	z-index: 2;
	width:100%;
	height: 100dvh;

	background-image: url('../en-images/header_bk_01.jpg');
	background-position: 50% 50%;
	background-size: cover;
	-webkit-overflow-scrolling: touch;
	overflow: auto;
	opacity:0;
	pointer-events: none;
	transition:opacity .2s ease-out 0s;
}
#header_input:checked ~ #header .hd_blk_2 {
	opacity:1;
	pointer-events: auto;
	transition:opacity .4s ease-out 0s;
}
/*  */
#header .hd_blk_2_1 nav ul {
	display: block;
	translate: 0 0;
	padding: 8vh 0 0 0;
}
#header .hd_blk_2_1 nav ul li {
	display:block;
	text-align: center;
}
#header .hd_blk_2_1 nav ul li:nth-of-type(7) {
	padding: 0 0 10px 0;
}
#header .hd_blk_2_1 nav ul li:nth-of-type(8) {
	padding:10px 0 0 0 ;
}
#header .hd_blk_2_1 nav ul li:nth-of-type(8)::after {
	display: none;
}
#header .hd_blk_2_1 nav ul li a {
	display:inline-block;
	padding:10px 20px;
	text-align: center;
}
#header .hd_blk_2_1 nav ul li a span {
	font-size: 18px;
	color:#ffffff;
}
#header .hd_blk_2_1 nav ul li a.nm_hover span {
	color:#ffffff;
}
/*  */
#header .hd_blk_2_2 {
	display:block;
	padding:20px 0 0 0;
}
#header .hd_blk_2_2 p:nth-of-type(1) {
	text-align: center;
	font-size: 0;
}
#header .hd_blk_2_2 p:nth-of-type(1) a {
	display: inline-block;
	width:185px;
	font-size: 12px;
}
#header .hd_blk_2_2 p:nth-of-type(1) a img {
	display: block;
	width:100%;
}
#header .hd_blk_2_2 p:nth-of-type(2) {
	width:100%;
	text-align: center;
	font-size: 0;
	padding:5px 0 0 0;
}
#header .hd_blk_2_2 p:nth-of-type(2) > a {
	display: inline-block;
	text-align: center;
	font-size: 0;
	padding:15px 24px 15px 0;
	background-image: url('../en-images/ico_map.svg');
	background-position: 100% 50%;
	background-size: 16px auto;
	white-space: nowrap;
}
#header .hd_blk_2_2 p:nth-of-type(2) > a span {
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	color:#ffffff;
}
#header .hd_blk_2_2 p:nth-of-type(3) {
	text-align: center;
	font-size: 0;
}
#header .hd_blk_2_2 p:nth-of-type(3) > a {
	display: inline-block;
	font-size: 18px;
	line-height: 1;
	color:#ffffff;
}
#header .hd_blk_2_2 p:nth-of-type(3) > span {
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	color:#ffffff;
}
/*  */
#header .hd_blk_2_3 {
	display:block;
	padding:25px 0 20px 0;
}
#header .hd_blk_2_3 > div {
	display:table;
	width:94%;
	max-width: 323px;
	height: 43px;
	margin: auto;
}
#header .hd_blk_2_3 > div > p {
	display:table-cell;
	width:50%;
	height: 100%;
}
#header .hd_blk_2_3 > div > p a {
	display:block;
	width:100%;
	height: 100%;
	background-color: #215357;
}
#header .hd_blk_2_3 > div > p:nth-of-type(2) a {
	background-color: #1A4246;
}
#header .hd_blk_2_3 > div > p a span {
	position: absolute;
	left:50%;
	top:50%;
	translate: -50% -50%;
	font-size: 14px;
	line-height: 1;
	letter-spacing: .1em;
	font-weight: 500;
	color:#ffffff;
	white-space: nowrap;
}
/*
*/
#hd_sp {
	position: fixed;
	display: block;
	width:33px;
	height:33px;
	left:calc(94% - 33px);
	top:30px;
	mix-blend-mode: exclusion;
	z-index: 1000001;
}
#hd_sp label {
	display: block;
	width:100%;
	height:100%;
	background-image: url('../en-images/header_ill_01_02.svg');
	background-position: 50% 50%;
	background-size: contain;
	cursor: pointer;
	opacity:.7;
	transition:opacity .2s ease-out .3s;
}
#header_input:checked ~  #hd_sp label {
	opacity:0;
	transition:opacity .2s ease-out 0s;
}
#hd_sp> div {
	position: absolute;
	left:50%;
	top:50%;
	pointer-events: none;
}
#hd_sp > div::before,
#hd_sp > div::after {
	position: absolute;
	display: block;
	content:'';
	left:0;
	top:0;
	width: 35px;
	height: 3px;
	background-color: #a08564;
	translate: -50% -50%;
	opacity:0;
	transition:opacity .2s ease-out 0s, rotate 0s .2s;
}
#header_input:checked ~  #hd_sp > div::before {
	opacity:1;
	rotate: 45deg;
	transition:opacity .4s ease-out .2s, rotate .4s ease-out .2s;
}
#header_input:checked ~  #hd_sp > div::after {
	opacity:1;
	rotate: -45deg;
	transition:opacity .4s ease-out .2s, rotate .4s ease-out .2s;
}
/*
*/
#footer > div {
	max-width:none;
	/* padding:45px 0 65px 0; */
	padding:45px 0 80px 0;
}
#footer > div > div {
	display: block;
	text-align: center;
	font-size: 0;
}
/*  */
#footer .ft_blk_1 {
	display:inline-block;
	width: 100%;
	max-width: 320px;
	text-align: center;
	padding:12px 0;
	vertical-align: middle;
}
#footer .ft_blk_1 p a {
	width:264px;
	margin: auto;
}
/*  */
#footer .ft_blk_2 {
	display:inline-block;
	text-align: center;
	width: 100%;
	max-width: 320px;
	padding:2px 0 15px 0;
	vertical-align: middle;
}
#footer .ft_blk_2_1 {
	width:100%;
}
#footer .ft_blk_2_1 p {
	 text-align: center;
}
#footer .ft_blk_2_1 p a {
	padding: 10px 22px 10px 0;
	background-size: 16px auto;
}
#footer .ft_blk_2_2 {
	padding:7px 0 0 0;
	text-align: center;
}
#footer .ft_blk_2_2 ul {
	margin: auto;
}
#footer .ft_blk_2_2 ul li {
	display: table-cell;
	vertical-align: middle;
	padding:0 12px 0 12px;
}
#footer .ft_blk_2_2 ul li a {
	width:32px;
}
#footer .ft_blk_2_3 {
	padding:17px 0 0 0;
}
#footer .ft_blk_2_3 p {
	font-size: 10px;
	text-align: center;
}
/*
*/
.gsty_btn_1 {
	font-size: 14px;
	padding:14px 17px;
}
/*
*/
.gsty_tit_1 {
	padding:0;
	padding-right: 0;
}
.gsty_tit_1 > div {
  height: auto;
  max-height: none;
	/* min-height: 570px; */
	min-height: 550px;
}
.gsty_tit_1 > div > div {
	position:relative;
	left:0;
	top:0;
	width:100%;
	translate: 0 0;
	padding:0;
	min-height: 0;
}
.gsty_tit_1 > div > div h2 {
	height: 48px;
	padding:var(--padding_2);
}
.gsty_tit_1 > div > div p {
	font-size: 16px;
	max-width: var(--max_wid_2);
	padding:var(--padding_2);
	padding-top: 17px;
	margin: auto;
}
.gsty_tit_1 > div > div div {
	position: relative;
	left:0;
	top:0;
	translate: 0 0;
	width:100%;
	height: auto;
	padding: min(320px, 51%) 0 0 0;
	margin-top: 17px;
}
.gsty_tit_1 > div > div div::before {
	position: absolute;
	width:100%;
	height:100%;
	padding:0;
	left:0;
	top:0;
	translate: 0 0;
}
/*
*/
#btns_reserve {
	left: 0;
	top: auto;
	bottom: 0;
	width: 100%;
	height: 50px;
	opacity: 1;
}
#btns_reserve ul {
	display: table;
	left:0;
	top:0;
	width: 100%;
	height:100%;
	border-top:1px solid #ffffff;
	border-left:none;
	border-bottom:none;
	pointer-events: none;
	translate:0 100%;
	opacity:0;
	transition:opacity .4s ease-out 0s, translate .4s ease-out 0s;
}
#btns_reserve.sp_show ul {
	pointer-events: auto;
	translate:0 0;
	opacity:1;
}
#btns_reserve ul li {
	position:relative;
	display: table-cell;
	width:50%;
	height:100%;
	background-color: #235357;
}
#btns_reserve ul li:nth-of-type(2) {
	top:0;
	background-color: #1c4246;
}
#btns_reserve ul li a {
	display: block;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
#btns_reserve ul li a span {
	writing-mode:horizontal-tb;
	font-size: 14px;
	letter-spacing: 2px;
}
#btns_reserve ul li:last-of-type a span {
	letter-spacing: 2px;
}
/*  */
}

