@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */
body {
	min-width: 1200px; min-height: 100vh; background: #fff; color: #000;
	font-size: 16px; font-weight: normal; line-height: 1.5;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3","Hiragino Kaku GothicPro","Osaka","Verdana","Helvetica","Arial","ＭＳ Ｐゴシック", sans-serif;
	-webkit-text-size-adjust: 100%; position: relative;
	font-feature-settings: "palt"; letter-spacing: 0.08em;
}

body.pos_fix {
    overflow: hidden;
}

input,
select,
textarea { font-size: 13px;}

p { line-height: 2;}

div { box-sizing: border-box;}

a { color: #000; text-decoration: none;}
a:hover { color: #000; text-decoration: underline;}
a:hover img { opacity: 0.75;}

#lineup-font-size-sampler { bottom: 0; left: 0;}
/* .fixed { width: 100%; min-width: 1100px; position: fixed; top:0; left: 0; z-index: 999;} */
iframe[name="google_conversion_frame"] { position: absolute; bottom: 0; left: 0;}

.ofi { object-fit: cover;}
.sp { display: none;}

.slick-slider { line-height: 0;}

/* poppins-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: swap; 
	src: url('../fonts/poppins-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* poppins-700 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: swap; 
	src: url('../fonts/poppins-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  .en { font-family: 'Poppins', sans-serif; color: #00899d;}


  .link_txt { display: table; font-size: 18px; color: #00899d; line-height: 1; font-weight: bold;}
  .link_txt:hover { color: #119db2; text-decoration: none;}
  
  .link_txt {
	  position: relative;
	  padding: 0 20px 0 0;
	  color: #00899d;
	  text-decoration: none;
	  outline: none;
  }
  
  .link_txt::before{
	  content: '';
	  position: absolute;
	  bottom: 5px;
	  right: -22%;
	  width: 50px;
	  height: 1px;
	  background:#00899d;
	  transition: all .3s;
  }
  
  .link_txt::after{
	  content: '';
	  position: absolute;
	  bottom:10px;
	  right: -22%;  
	  width: 15px;
	  height:1px;
	  background:#00899d;
	  transform: rotate(35deg);
	  transition: all .3s;
  }
  
  .link_txt:hover::before{
	  right: -25%;
	  background-color: #119db2;
  }
  
  .link_txt:hover::after{
	  right: -25%;
	  background-color: #119db2;
  }
  
  @media screen and (max-width: 600px) {
	  .link_txt { font-size: 16px;}
  }
  

@media screen and (max-width: 600px) {
	body,
	input,
	select,
	textarea { font-size: 16px;}

	body { min-width: 0;}
	.sp { display: block;}
	.pc { display: none !important;}
}


/* ---------------------------------------------------
	Base Layout
------------------------------------------------------ */
#header,
#nav_wrap,
#contents_wrap,
#footer_wrap {
	padding: 0; margin: 0;
}

#contents_wrap:before {
    display: block;
    content: "";
    width: 100%;
    height: 150px;
    top: 0;
    left: 0;
    position: absolute;
    z-index: 10;
    background: linear-gradient(rgba(0,0,0,.1),transparent);
}




/* ---------------------------------------------------
	Header
------------------------------------------------------ */
#header_wrap { position: absolute; width: 100%; z-index: 1000;}
#header { display: flex; justify-content: space-between; align-items: center; padding: 15px 0 0; text-shadow: 0px 0px 7px rgba(0,0,0,0.5);}

#h_logo { margin: 0 0 0 1%;}
#h_nav { display: flex; margin: 0 280px 0 auto;}
#h_nav li { padding: 0 20px 0 0;}
#h_nav li a { display: block; font-size: 18px; color: #fff;}
#h_nav li a:hover { text-decoration: none;}
/* .h_tel { margin: 0 280px 0 0; color: #fff; line-height: 1.4;}
.h_tel span { font-size: 24px;} */
.h_cont { position: fixed; right: 0; top:0; display: flex; margin: 0; z-index: 1000;}
.h_reserve { position: relative; display: flex; z-index: 1000; margin: 0; color: #fff; background-color: #00899d; padding: 23px 0; transition: background-color 0.5s; align-items: center; width: 160px; justify-content: center; box-sizing: border-box; text-shadow: none; font-size: 16px; letter-spacing: 0;}
.h_reserve:hover { background-color: #119db2; text-decoration: none; color: #fff;}
.h_reserve > span { display: flex; padding: 0 0 0 25px; background: url(../img/h_reserve.svg)no-repeat left 3px; background-size: 19px; flex-direction: column; text-align: left;}
.h_reserve > span span { display: block; font-size: 13px;}

header .open_menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
	-webkit-transition: background-color 0.5s;
	transition: background-color 0.5s;
	width: 100px;
	padding: 34px 23px;
	background-color: #fff;
  }

  header:after {
	content: "";
	width: 100%;
	height: 220px;
	display: block;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0)));
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	opacity: 1;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
	pointer-events: none;
  }



  @media screen and (max-width: 600px) {

	header:after {
		height: 100px;
	  }

	header .open_menu {
	  width: 64px;
	  height: 64px;
	  padding: 15px;
	}


@media screen and (max-width: 600px) {
	header .open_menu {
		padding: 15px 10px;
	}
}

	.h_tel { display: none;}

	.h_reserve { padding: 16px 0px; font-size: 14px;}
	.h_reserve > span { line-height: 1.2;}
	.h_reserve > span span { font-size: 12px;}
  }
  header .open_menu::before, header .open_menu > span::before, header .open_menu > span::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	margin-bottom: 9px;
	background-color: #000;
	-webkit-transition: opacity 0.5s, background-color 0.5s, -webkit-transform 0.5s;
	transition: opacity 0.5s, background-color 0.5s, -webkit-transform 0.5s;
	transition: transform 0.5s, opacity 0.5s, background-color 0.5s;
	transition: transform 0.5s, opacity 0.5s, background-color 0.5s, -webkit-transform 0.5s;
  }
  header .open_menu > span {
	position: relative;
	line-height: 1;
	font-size: 0;
	width: 100%;
  }
  header .open_menu > span::after {
	margin: 0 auto 0 0;
	-webkit-transition: width 0.5s, -webkit-transform 0.5s;
	transition: width 0.5s, -webkit-transform 0.5s;
	transition: transform 0.5s, width 0.5s;
	transition: transform 0.5s, width 0.5s, -webkit-transform 0.5s;
	width: 70%;
  }
  header .open_menu > span span {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
			transform: translateX(-50%);
  }


  #h_logo { margin: 0 0 0 4%;}
  .h_cont { max-width: 57%;}
  #h_logo img { height: 53px; width: auto;}

  

  @media screen and (max-width: 380px) {
	.h_reserve { padding: 16px 10px;}
	.h_reserve > span { background: none; padding: 0;}
  }

  @media (hover: hover) {
	header .open_menu:hover {
	  opacity: 1;
	}
	header .open_menu:hover > span::after {
	  width: 100%;
	}
  }
  header.hide {
	-webkit-animation-name: headerFixedHide;
			animation-name: headerFixedHide;
	-webkit-animation-duration: 0.8s;
			animation-duration: 0.8s;
	top: -150px;
  }
  header.fixed {
	-webkit-animation-name: headerFixedShow;
			animation-name: headerFixedShow;
	-webkit-animation-duration: 0.8s;
			animation-duration: 0.8s;
	top: 0;
  }
  header.hide, header.fixed {
	background: rgba(255, 255, 255, 0.8);
	position: fixed;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
  }
  header.hide:after, header.fixed:after {
	opacity: 0;
  }
  header.hide .logo .white, header.fixed .logo .white {
	display: none;
  }
  header.hide .logo .black, header.fixed .logo .black {
	display: block;
  }
  header.hide .lang,
  header.hide .tel, header.fixed .lang,
  header.fixed .tel {
	display: none;
  }
  header.hide #h_nav li a, header.fixed #h_nav li a {
	color: #291617;
  }
  header.hide .open_menu::before, header.hide .open_menu > span::before, header.hide .open_menu > span::after, header.fixed .open_menu::before, header.fixed .open_menu > span::before, header.fixed .open_menu > span::after {
	background-color: #291617;
  }
  .pos_fix header {
	background: none;
  }
  @media screen and (max-width: 600px) {
	.pos_fix header {
	  background: #ffffff;
	}
  }
  .pos_fix header::after,
  .pos_fix header #h_info,
  .pos_fix header .link-reserve {
	display: none;
  }
  .pos_fix header .logo .white {
	display: block;
  }
  @media screen and (max-width: 600px) {
	.pos_fix header .logo .white {
	  display: none;
	}
  }
  .pos_fix header .logo .black {
	display: none;
  }
  @media screen and (max-width: 600px) {
	.pos_fix header .logo .black {
	  display: block;
	}

	.h_cont { max-width: 53%;}
  }

  .pos_fix header .open_menu::before, .pos_fix header .open_menu > span::before, .pos_fix header .open_menu > span::after {
	background-color: #2c2422;
  }
  .pos_fix header .open_menu::before {
	-webkit-transform: rotate(45deg) translate(7px, 7px);
			transform: rotate(45deg) translate(7px, 7px);
  }
  .pos_fix header .open_menu > span::before {
	-webkit-transform: scaleX(0);
			transform: scaleX(0);
  }
  .pos_fix header .open_menu > span::after {
	width: 100%;
	-webkit-transform: rotate(-45deg) translate(7px, -7px);
			transform: rotate(-45deg) translate(7px, -7px);
  }



@media screen and (max-width: 600px) {


}


/* ---------------------------------------------------
	Gnav
------------------------------------------------------ */
#gnav_wrap {
	opacity: 0;
	pointer-events: none;
	-webkit-transition: opacity 0.6s ease-out;
	transition: opacity 0.6s ease-out;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100vh;
	overflow: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background: url(../img/gnav_bg.jpg) no-repeat center;
	background-size: cover;
	min-height: 100vh;
	min-height: -webkit-fill-available;
  }

  #gnav_wrap #gnav {
	width: 700px;
	margin: 0 0 0 auto;
	padding: 128px 100px;
	background-color: rgba(255, 255, 255, 0.95);
  }

  #gnav_wrap .gnav_logo { display: table; margin: 0 auto 25px;}
  #gnav_wrap .gnav_logo+p { text-align: center; line-height: 1.3; margin: 0 0 20px;}
  #gnav_wrap .gnav_logo+p .tel-link { font-size: 32px;}


  @media screen and (max-width: 600px) {
	#gnav_wrap::before {
		display: none;
	  }

	#gnav_wrap #gnav {
	  width: 100%;
	  height: auto;
	  padding: 80px 4vw;
	  display: block;
	  height: 100vh;
	}

	#gnav_wrap .gnav_logo { width: 150px; margin: 0 auto 15px;}
	#gnav_wrap .gnav_logo+p .tel-link { font-size: 24px;}
  }
  #gnav_wrap #gnav a {
	text-decoration: none;
	
  }
  
  #gnav_wrap #gnav .gnav_main { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 0 50px;}
  #gnav_wrap #gnav .gnav_main li { width: 45%; border-bottom: 1px solid #ccc;}

  @media screen and (max-width: 600px) {
	#gnav_wrap #gnav .gnav_main,
  #gnav_wrap #gnav .gnav_sub {
	  width: 100%;
	  margin-bottom: 0;
	}
  }
  #gnav_wrap #gnav .gnav_main a,
  #gnav_wrap #gnav .gnav_sub a {
	color: #291617;
  }
  @media screen and (max-width: 600px) {
	#gnav_wrap #gnav .gnav_main li {
	  border-width: 0 0 1px 0;
	  width: 48%;
	}
	#gnav_wrap #gnav .gnav_main li:first-child {
	  border-width: 1px 0 1px 0;
	}
  }
  @media screen and (max-width: 600px) {
	#gnav_wrap #gnav .gnav_main li + li {
	  margin-top: 0;
	}
  }
  #gnav_wrap #gnav .gnav_main li a {
	font-size: 18px;
	letter-spacing: 0.08em;
	display: block;
	padding: 22px 15px;
	transition: background-color 0.5s;
  }
  #gnav_wrap #gnav .gnav_main li a:hover { background-color: rgba(197, 225, 111, 0.2);}

  @media screen and (max-width: 600px) {
	#gnav_wrap #gnav .gnav_main li a {
	  padding: 0.8em 0;
	  display: block;
	  font-size: 16px;
	}
  }
  #gnav_wrap #gnav .gnav_sub {
	margin-top: 3.2em;
  }
  @media screen and (max-width: 600px) {
	#gnav_wrap #gnav .gnav_sub {
	  -webkit-column-count: 2;
		 -moz-column-count: 2;
			  column-count: 2;
	  margin-top: 2em;
	}
  }
  #gnav_wrap #gnav .gnav_sub li + li {
	margin-top: 0.65em;
  }
  #gnav_wrap #gnav .gnav_sub li a {
	font-size: calc(14 / 14 * 1em);
	letter-spacing: 0.18em;
  }
  #gnav_wrap #gnav .reserve,
  #gnav_wrap #gnav .tel,
  #gnav_wrap #gnav .lang {
	width: 100%;
  }
  #gnav_wrap #gnav .reserve {
	margin-bottom: 1.15em;
  }
  @media screen and (max-width: 600px) {
	#gnav_wrap #gnav .reserve {
	  margin-top: 2em;
	}
  }
  #gnav_wrap #gnav .reserve a + a {
	margin-top: 2px;
  }
  #gnav_wrap #gnav .tel {
	font-size: calc(27 / 14 * 1em);
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Droid Sans", sans-serif;
	color: #291617;
	margin-bottom: 0.1em;
  }
  @media screen and (max-width: 600px) {
	#gnav_wrap #gnav .tel {
	  margin-bottom: 1em;
	}
  }
  #gnav_wrap #gnav .tel small {
	font-size: 0.55em;
	letter-spacing: 0.08em;
  }
  #gnav_wrap #gnav .tel .tel-link {
	letter-spacing: 0.03em;
	margin: 0 0 0 0.1em;
	color: inherit;
  }
  #gnav_wrap #gnav .tel .tel-link + small {
	font-size: 0.48em;
	letter-spacing: 0.05em;
  }
  @media screen and (max-width: 600px) {
	#gnav_wrap #gnav .lang {
	  padding-bottom: 4em;
	}
  }
  #gnav_wrap #gnav .lang span,
  #gnav_wrap #gnav .lang a {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Droid Sans", sans-serif;
	color: #291617;
	letter-spacing: 0.05em;
	position: relative;
  }
  #gnav_wrap #gnav .lang span + a, #gnav_wrap #gnav .lang span + span,
  #gnav_wrap #gnav .lang a + a,
  #gnav_wrap #gnav .lang a + span {
	margin-left: 0.6em;
  }
  #gnav_wrap #gnav .lang span + a::before, #gnav_wrap #gnav .lang span + span::before,
  #gnav_wrap #gnav .lang a + a::before,
  #gnav_wrap #gnav .lang a + span::before {
	content: "";
	width: 1px;
	height: 1em;
	display: block;
	background: currentColor;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
	margin-left: -0.6em;
  }
  #gnav_wrap.active {
	pointer-events: auto;
	opacity: 1;
  }
  


/* ---------------------------------------------------
	Main img
------------------------------------------------------ */
#main_img { width: 100%; margin: 0 auto; text-align: center; position: relative;}
#main_img .img_wrap { overflow: hidden;}
#main_img .img_wrap h1 {
	font-size: 46px; display: flex; justify-content: center; align-items: center; box-sizing: border-box; font-weight: bold;
	position: absolute; width: 100%; height: 100%; top: 20px; left: 0; color: #fff; z-index: 1;
	text-shadow: 0px 0px 20px rgba(0,0,0,0.5);
}
#main_img .img_wrap h1 .en { font-size: 26px; color: #fff; font-weight: bold; display: block; line-height: 1.2; letter-spacing: 4px;}

#main_img .ofi { width: 100%; min-height: 600px;
}

/* breadcrumb */
#breadcrumb {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	padding: 10px;
	position: relative;
	z-index: 2;
	font-size: 13px;
}
#breadcrumb li {
	display: flex;
	align-items: center;

	line-height: 1.6;
}
#breadcrumb li::before {
	content: "";
	width: 10px;
	height: 10px;
	margin: 0 10px;

	background: url(../img/arrow_blk.svg) no-repeat center center;
}
#breadcrumb li:first-child:before {
	display: none;
}

@media screen and (max-width: 600px) {
	#main_img .ofi { min-height: 300px;}
	#main_img .img_wrap h1 .en { font-size: 18px;}
	#main_img .img_wrap h1 { font-size: 30px;}
	#breadcrumb {
		padding: 5px 4%;

		font-size: 12px;
	}
	#breadcrumb li a {
		max-width: 200px;

		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

/* ---------------------------------------------------
	Contents
------------------------------------------------------ */

/* breadcrumb */
#contents_wrap #breadcrumb { margin: 5px auto 25px; width: 100%; font-size: 12px; text-align: right;}
#contents_wrap #breadcrumb li { display: inline-block; line-height: 1.6;}
#contents_wrap #breadcrumb li:before { content: '>'; margin: 0 5px;}
#contents_wrap #breadcrumb li:first-child:before { display: none;}


@media screen and (max-width: 600px) {
	#contents_wrap #breadcrumb { display: none;}
}

/* slick */
.slick .slick-dots {
	margin: 10px 0 0;
	position: static;

	line-height: 1;
}
.slick .slick-dots li,
.slick .slick-dots li button,
.slick .slick-dots li button::before {
	width: 15px;
	height: 15px;
}
.slick .slick-dots li {
	vertical-align: top;
}
.slick .slick-dots li button {
	padding: 0;
}
.slick .slick-dots li button::before {
	content: "";
	border-radius: 50%;
	box-sizing: border-box;
	opacity: 1 !important;
	transform: scale(.7);
	background-color: #aaa;
}
.slick .slick-dots li.slick-active button::before {
	background: #00899d;
	border-color: #00899d;
	transform: scale(1);
}



/* ---------------------------------------------------
	Footer
------------------------------------------------------ */
#footer { background: url(../img/f_bg_pc.jpg) no-repeat center center; background-size: cover; padding: 100px 0 20px; color: #fff;}
#footer .inner_md { display: flex; justify-content: space-between; align-items: center; width: 1200px; max-width: 92%; margin: 0 auto;}
#footer address { line-height: 2;}
#footer address+ul img { width: 21px;}
#footer .logo_col >a { display: table; margin: 0 0 25px;}
#footer .logo_col ul { display: flex; margin: 15px 0 0;}
#footer .logo_col ul li { margin: 0 14px 0 0;}
#footer address a { color: #fff;}
#footer .nav_col { width: 500px; max-width: 41%; margin: auto 0 0;}
#footer .nav_col > div { display: flex;}
#footer .nav_col > div ul { width: 50%; padding: 10px 0 0 50px; box-sizing: border-box; border-left: 1px solid #fff;}
#footer .nav_col > div ul li { padding: 0 0 14px;}
#footer .main_nav a { color: #fff;}
#footer .f_box >p { margin: 0 0 20px; font-size: 20px; line-height: 1.2;}
#footer .f_box >p span { font-size: 16px;}
#footer .f_box >p .tel-link { font-size: 28px;}
#footer .f_box >p a { color: #fff;}
#footer .f_box >a { position: relative; z-index: 1000; width: 250px; margin: 0; display: block; color: #fff; background-color: #00899d; padding: 18px 0; transition: background-color 0.5s; z-index: 1;}
#footer .f_box >a:hover { background-color: #007788; text-decoration: none; color: #fff;}
#footer .f_box >a > span { display: table; margin: 0 auto; padding: 0 0 0 25px; background: url(../img/h_reserve.svg)no-repeat left 3px; background-size: 19px;}
#footer .f_box >a > span span { display: block; font-size: 13px;}
#footer .f_box >a:nth-of-type(2) { margin: 15px 0 0; background-color: #fff; color: #007788;}
#footer .f_box >a:nth-of-type(2):hover { background-color: #E0DCD7;}
#footer .f_box >a:nth-of-type(2) span { display: table; margin: 0 auto; padding: 0 0 0 25px; background: url(../img/f_mail.svg)no-repeat center left; background-size: 19px;}
#footer >.box { padding: 230px 0 0;}
#footer >.box #copy { text-align: center;}

@media screen and (max-width: 600px) {
	#footer { background: url(../img/f_bg_sp.jpg) no-repeat center center; background-size: cover;}
	#footer { padding: 50px 0 20px;}
	#footer >.box { padding: 0 0 30px;}
	#footer .logo_col >a { margin: 0 auto 30px;}
	#footer .inner_md { display: block;}
	#footer .logo_col address { display: table; margin: 0 auto; line-height: 1.8;}
	#footer .logo_col ul { margin: 30px 0; justify-content: center;}
	#footer .nav_col { max-width: inherit; width: 300px; margin: 0 auto;}
	#footer .nav_col > div ul { padding: 0 0 0 20px; width: 50%;}
	#footer .nav_col > div ul:nth-of-type(1) { border: none;}
	#footer .f_box { margin: 30px 0 0;}
	#footer .f_box >p { display: table; margin: 0 auto;}
	#footer .f_box >p .tel-link { font-size: 26px;}
	#footer .f_box >a { margin: 30px auto 0; width: 80%;}
	#footer >.box #copy { padding: 10px 0 0;}

	#footer .f_box >a:nth-of-type(2) { margin: 15px auto 0;}
	
}


/* ---------------------------------------------------
	sp_nav
------------------------------------------------------ */

#sp_nav { display: none;}

@media screen and (max-width: 600px) {
	#sp_nav { display: block; width: 100%; position: fixed; bottom: 0; left: 0; background: #000; border-top: 3px solid #555;}
	#sp_nav ul,
	#sp_nav a { display: flex; width: 100%;}
	#sp_nav li { width: 100%; padding-bottom: env(safe-area-inset-bottom);}
	#sp_nav li + li { border-left: 1px solid #555;}
	#sp_nav a {
		flex-direction: column; align-items: center; justify-content: center;
		padding: 10px 0 5px; color: #fff; font-size: 11px;
	}
	#sp_nav a:hover { text-decoration: none;}
	#sp_nav img { width: 30px; margin: 0 0 3px; opacity: 1;}
}

/* ---------------------------------------------------
	Link
------------------------------------------------------ */
.link-run {
	position: relative;
	text-decoration: none;
	color: inherit;
  }

  
  .link-run::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: currentColor;
	position: absolute;
	bottom: 0;
	left: 0;
	-webkit-transform-origin: left center;
			transform-origin: left center;
	-webkit-transform: scaleX(0);
			transform: scaleX(0);
	-webkit-transition: -webkit-transform 0.5s;
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
  }

  #h_nav .link-run::after { background-color: #00899d;}

  @media (hover: hover) {
	.link-run:hover {
	  opacity: 1;
	  text-decoration: none;
	}
	.link-run:hover::after {
	  -webkit-transform: scaleX(1);
			  transform: scaleX(1);
	}
  }
  .link-run.run-center::after {
	-webkit-transform-origin: center;
			transform-origin: center;
  }
  .link-run.run-right::after {
	-webkit-transform-origin: right center;
			transform-origin: right center;
  }
  .link-run.run-current::after {
	-webkit-transform: scaleX(1);
			transform: scaleX(1);
  }
  .link-run.run-revers::after {
	-webkit-transform: scaleX(1);
			transform: scaleX(1);
  }
  @media (hover: hover) {
	.link-run.run-revers:hover::after {
	  -webkit-transform: scaleX(0);
			  transform: scaleX(0);
	}
  }
  
  .link-zoom {
	display: block;
	overflow: hidden;
  }
  .link-zoom img {
	-webkit-transition: opacity 0.8s, -webkit-transform 0.8s;
	transition: opacity 0.8s, -webkit-transform 0.8s;
	transition: transform 0.8s, opacity 0.8s;
	transition: transform 0.8s, opacity 0.8s, -webkit-transform 0.8s;
	max-width: none;
	width: 100%;
  }
  @media (hover: hover) {
	.link-zoom:hover {
	  opacity: 1;
	}
	.link-zoom:hover img {
	  -webkit-transform: scale(1.05);
			  transform: scale(1.05);
	}
  }
  .link-zoom.zoom-opacity img {
	opacity: 0.6;
  }
  @media (hover: hover) {
	.link-zoom.zoom-opacity:hover img {
	  opacity: 1;
	}
  }
  
  .link-arrow {
	color: inherit;
	position: relative;
	padding-right: 3em !important;
  }
  .link-arrow::before, .link-arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1em;
	width: 1.23em;
	height: 1.23em;
	margin-top: -0.615em;
	display: block;
  }
  .link-arrow::before {
	border-radius: 100%;
	background: #E0DCD7;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .link-arrow::after {
	content: "";
	display: inline-block;
	background: url(../img/icon-link_arrow_b.svg) no-repeat center;
	background-size: contain;
	margin-right: 0.33em;
	-webkit-transition: margin 0.3s;
	transition: margin 0.3s;
  }
  .link-arrow.arrow-wh::before {
	background: #D3C5C2;
	opacity: 0.2;
  }
  .link-arrow.arrow-wh::after {
	background-image: url(../img/icon-link_arrow_w.svg);
  }
  .link-arrow.arrow_circle-wh::before {
	background: #ffffff;
  }
  @media (hover: hover) {
	.hover_warp:hover .link-arrow, .link-arrow:hover {
	  opacity: 1;
	}
	.hover_warp:hover .link-arrow::before, .link-arrow:hover::before {
	  -webkit-transform: scale(1.5);
			  transform: scale(1.5);
	}
	.hover_warp:hover .link-arrow::after, .link-arrow:hover::after {
	  margin-right: 0;
	}
  }
  
  .link-box {
	-webkit-transition: background-color 0.5s;
	transition: background-color 0.5s;
	color: inherit;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	vertical-align: top;
	padding: 1em;
	height: 3.85em;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
  }
  @media (hover: hover) {
	.link-box:hover {
	  opacity: 1;
	  background-color: rgba(41, 22, 23, 0.08);
	}
  }
  .link-box.box-border {
	border: solid 1px rgba(41, 22, 23, 0.3);
  }
  .link-box.box-border.border-wh {
	border-color: rgba(255, 255, 255, 0.5);
  }
  .link-box.box-if {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	min-width: 12.8em;
  }
  .link-box.box-if + .link-box {
	margin-left: 0.5em;
  }
  .link-box.box-wh {
	background: #ffffff;
	border: none;
  }
  .link-box.box-rd {
	background: #74232a;
	color: #ffffff;
	border: none;
  }
  .link-box.box-large {
	height: 5em;
  }
  
  .link-reserve {
	font-size: calc(16 / 14 * 1em);
	letter-spacing: 0.08em;
	color: #ffffff;
	width: 100%;
	height: 60px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-transition: background-color 0.5s;
	transition: background-color 0.5s;
  }
  @media screen and (max-width: 600px) {
	.link-reserve {
	  height: 50px;
	}
  }
  @media (hover: hover) {
	.link-reserve:hover {
	  opacity: 1;
	}
  }
  .link-reserve.reserve-plan {
	background-color: #00899d;
  }
  .link-reserve.reserve-plan > span { padding: 0 0 0 30px; background: url(../img/h_reserve.svg)no-repeat center left; background-size: 19px;}
.link-reserve.reserve-plan > span span { font-size: 14px;}

  .link-reserve.reserve-plan+ul { display: flex; justify-content: space-between; margin: 30px 0 0;}
  .link-reserve.reserve-plan+ul a { display: flex; align-items: center; position: relative; padding: 0 10px 0 0; background: url(../img/reserve_arrow.svg)no-repeat right center; background-size: 5px 10px;}
  .link-reserve.reserve-plan+ul a.link-calendar.reserve-login::before { content: ""; display: block; margin: 0 10px 0 0; width: 16px; height: 16px; background: url(../img/reserve_icon2.svg)no-repeat center center;}
  .link-reserve.reserve-plan+ul a.link-room.reserve-login::before { content: ""; display: block; margin: 0 10px 0 0; width: 16px; height: 16px; background: url(../img/reserve_icon3.svg)no-repeat center center;}

  @media (hover: hover) {
	.link-reserve.reserve-plan:hover {
	  background-color: #007788;
	  color: #fff;
	}
  }
  
  .link-sns img {
	width: 28px;
  }
  
  .link-anc {
	position: relative;
	padding-right: 3.3em;
	display: inline-block;
  }
  .link-anc::before, .link-anc::after {
	content: "";
	position: absolute;
	top: 50%;
	display: block;
  }
  .link-anc::before {
	border-radius: 100%;
	border: solid 1px currentColor;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	width: 1.23em;
	height: 1.23em;
	margin-top: -0.8em;
	right: 1.5em;
	-webkit-transition: background 0.5s, border 0.5s;
	transition: background 0.5s, border 0.5s;
  }
  .link-anc::after {
	content: "";
	display: block;
	width: 0.25em;
	height: 0.25em;
	display: block;
	border: solid currentColor;
	border-width: 0 1px 1px 0;
	right: 2.1em;
	margin-top: -0.26em;
	-webkit-transform-origin: 72% 72%;
			transform-origin: 72% 72%;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
  }
  @media (hover: hover) {
	.link-anc:hover {
	  opacity: 1;
	}
	.link-anc:hover::before {
	  background: currentColor;
	}
	.link-anc:hover::after {
	  border-color: #ffffff;
	}
  }
  
  .link-map_pdf {
	background: url(../img/link-map_pdf_bg.jpg) no-repeat left center;
	background-size: cover;
	width: 100%;
	max-width: 1200px;
	height: 300px;
	margin-top: 1.5em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
  }
  @media screen and (max-width: 600px) {

	.link-reserve.reserve-plan { font-size: 16px;}
	.link-reserve.reserve-plan+ul { display: block; width: auto; margin: 20px auto 0;}
	.link-reserve.reserve-plan+ul a::after { top: 2px; right: -5px;}
	.link-reserve.reserve-plan+ul li { margin: 0 0 10px;}

	.link-map_pdf {
	  height: 12em;
	  background-position: 20% 50%;
	  -webkit-box-shadow: -3em 0em 2.5em -1em #000000 inset;
			  box-shadow: -3em 0em 2.5em -1em #000000 inset;
	}
  }
  .link-map_pdf p {
	width: 100%;
	max-width: 273px;
	margin-left: 6.7em;
  }
  @media screen and (max-width: 600px) {
	.link-map_pdf p {
	  margin-left: 2em;
	  max-width: 14em;
	}
  }
  .link-map_pdf p span.text {
	font-size: calc(30 / 14 * 1em);
	color: #ffffff;
  }
  @media screen and (max-width: 600px) {
	.link-map_pdf p span.text {
	  font-size: calc(20 / 14 * 1em);
	}
  }
  .link-map_pdf p span.text small {
	font-size: 0.8em;
	display: block;
  }
  .link-map_pdf p span.button {
	margin-top: 1.5em;
	display: block;
	color: #ffffff;
	background: rgba(211, 197, 194, 0.2);
	font-size: calc(16 / 14 * 1em);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	max-width: 17em;
	width: 100%;
	height: 3.13em;
  }
  @media screen and (max-width: 600px) {
	.link-map_pdf p span.button {
	  margin-top: 1em;
	  font-size: calc(12 / 14 * 1em);
	  height: 2.5em;
	}
  }

