@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Noto+Serif+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500&family=Noto+Serif+JP:wght@300;400;500;700&display=swap');

/* Setting-basic
-----------------------------------------------------------*/
html {
  font-size: 62.5%;
}
body {
  font-family: 'Noto Serif JP','游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  font-weight: 400;
  color: #333;
  background: url(../images/bg1.jpg);
  line-height: 1.8;
  font-feature-settings: "palt";
  font-size: 1.5rem;
  letter-spacing: .05em;
  -webkit-text-size-adjust: 100%;
}
img {
  border: 0;
  vertical-align: middle;
}
img.ofi {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-object-fit: cover;
  font-family: "object-fit: cover;";
}
p {
  margin: 0 0 20px;
}
h1,h2,h3,h4,h5,h6 {
  margin: 0 0 20px;
  line-height: 1.4;
  font-weight: 500;
}
h1 {font-size: 3.6rem;}
h2 {font-size: 3rem;}
h3 {font-size: 2.4rem;}
h4 {font-size: 2.1rem;}
h5 {font-size: 1.8rem;}
h6 {font-size: 1.6rem;}

ol,ul {
  list-style: none;
}
a:link,
a:visited {
  color: #c4af91;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
a:hover {
  color: #acb6b5;
}
.swap {
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.swap:hover {
  opacity: 0.7;
}


/* General Settings
-----------------------------------------------------------*/
/* Margin Control */
.mb00 {margin-bottom: 0 !important;}
.mb05 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb80 {margin-bottom: 80px !important;}
.mb90 {margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}

/* width */
.width100 {width: 100%;}
.width90 {width: 90%;}
.width50 {width: 50%;}
.width40 {width: 40%;}
.width30 {width: 30%;}


/* font size */
.text75 {font-size: 75%;}
.text80 {font-size: 80%;}
.text85 {font-size: 85%;}
.text90 {font-size: 90%;}

/* color */
.c_000 {color: #000;}
.c_333 {color: #333;}
.c_555 {color: #555;}
.c_888 {color: #888;}
.c_fff {color: #fff;}
.c_red {color: #f00;}


/* font style */
.boldstyle {font-weight: bold;}
.normalstyle {font-weight: normal;}
.italicstyle {font-style: italic;}

/* text-align */
.aligncenter {text-align: center;}
.alignleft {text-align: left;}
.alignright {text-align: right;}


/* Table Module
-----------------------------------------------------------*/
table {
  width: 100%;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
  border-collapse: collapse;
  border-spacing: 0;
}
td,th {
  padding: 15px 10px;
  line-height: 1.5;
  word-wrap: break-word;
}
.tbl_caption {
  margin-top: 5px;
  font-size: 85%;
}


/* Forms Module
-----------------------------------------------------------*/
.input_text,
textarea {
	padding: 15px;
	border-radius: 5px;
	background: #eaeaea;
  color: #333;
}
select {
	padding: 15px 25px 15px 15px;
	border-radius: 5px;
	background: #fff url(../images/icon_arr4.svg) no-repeat 96% center;
	background-size: 16px 16px;
	cursor: s-resize;
}
select {
  color: #888;
  font-size: 1.4rem;
}
.input_text:hover,
textarea:hover,
select:hover {
	opacity: 0.7;
}
label:hover {
	cursor: pointer;
	opacity: 0.7;
}
::placeholder{
  color: #aaa;
  font-size: 1.4rem;
}


/* inview
-----------------------------------------------------------*/
img.img_effect2 {
  opacity: 0;
  transition: transform 1.5s linear;
  animation-duration: 1.5s;
  animation-fill-mode: both;
}
.img-blur {
  animation-name: imageBlur;
  opacity: 1;
  transition: .8s;
}

@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(25px);
    filter: blur(25px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(25px);
    filter: blur(25px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
  }
}

.fadein2 {
  opacity : 0;
  transform : translate(0, 50px);
  transition : all 1.5s;
}
 
.fadein2.active {
  opacity : 1;
  transform : translate(0, 0);
}




/* effect
-----------------------------------------------------------*/
.img_effect {
	transition: all .3s ease-in-out;
}
.img_effect:hover {
	transform: scale(1.1);
}
.js-animated-image {
	position: relative;
	width: 100%;
	height: 100%;
  transform: scaleX(0);
	transform-origin: left;
}
.js-animated-image img {
	clip-path: inset(0 100% 0 0);
}
.js-animated-image.is-animated {
	transform: scaleX(1);
}
.js-animated-image.is-animated img {
	transform: scale(1);
	transition: transform .0s cubic-bezier(0.81, 0.1, 0.2, 0.97) .2s;
	animation: clip-to-right .8s cubic-bezier(0.81, 0.1, 0.2, 0.97) .2s forwards;
}
@keyframes clip-to-right {
	0% {
		clip-path: inset(0 100% 0 0);
	}
	99% {
		clip-path: inset(0 -2% 0 0);
	}
	to {
		clip-path: unset;
	}
}


/* layout_common
-----------------------------------------------------------*/
.sp_only {
  display: none;
}

/* drawer */
.drawer {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 20;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0, 0, 0, 0.5);
  visibility: hidden;
  transition: .3s;
  opacity: 0;
}
.drawer.active {
  visibility: visible;
  opacity: 1;
}
.drawer_menu {
  position: absolute;
  right: -500px;
  left: auto;
  width: 100%;
  max-width: 480px;
  height: 100%;
  padding: 100px 50px;
  overflow-y: scroll;
  background: #677173;
  transition: .3s;
}
.active .drawer_menu {
  right: 0px;
  left: auto;
  font-size: 0;
  transition: 0.3s;
}
.drawer_menu_btn_list {
  width: 100%;
  margin: 0 0 50px;
}
a.drawer_menu_btn {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 0 30px;
  padding: 13px 20px;
  background: #fff;
  color: #677173;
  font-size: 1.6rem;
  font-weight: 500;
}
a.drawer_menu_btn:after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	margin: -8px 0 0;
	width: 16px;
	height: 16px;
  background: url(../images/icon_arr1.svg) no-repeat;
  background-size: contain;
}
a:hover.drawer_menu_btn {
  background: #acb6b5;
}
.drawer_menu_title {
  margin: 0 0 10px;
  color: #fff;
  font-size: 1.5rem;
}
.drawer_menu_list {
  width: 100%;
  margin: 0 0 50px;
}
.drawer_menu_list li {
  position: relative;
	border-bottom: 1px dotted #8b8493;
}
.drawer_menu_list li:after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	margin: -8px 0 0;
	width: 16px;
	height: 16px;
  background: url(../images/icon_arr2.svg) no-repeat;
  background-size: contain;
}
.drawer_menu_list li:last-child {
	border-bottom: 0;
}
.drawer_menu_list li a {
	display: block;
  padding: 15px 30px 15px 0;
	color: #fff;
  font-size: 1.6rem;
  font-weight: 300;
}
.drawer_menu_list li a:hover {
	color: #acb6b5;
}
.drawer_menu_list2 {
  width: 100%;
  margin: 0 0 50px;
}
.drawer_menu_list2 li {
  position: relative;
  display: inline-block;
  margin-right: 10px;
  padding-right: 15px;
	color: #fff;
  font-size: 1.4rem;
  font-weight: 300;
}
.drawer_menu_list2 li:after {
	content: '/';
  position: absolute;
  right: 0;
}
.drawer_menu_list2 li a {
	color: #fff;
}
.drawer_menu_list2 li a:hover {
	color: #acb6b5;
}
.drawer_btn {
  position: absolute;
  top: 17px;
  right: 2%;
  z-index: 21;
  width: 60px;
  height: 60px;
  border-radius: 3px;
  text-align: center;
  cursor: pointer;
  transition: .3s;
}
.drawer_btn_trigger,
.drawer_btn_trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
.drawer_btn_trigger {
  position: relative;
  width: 36px;
  height: 12px;
  top: 15px;
}
.drawer_btn_trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #333;
}
.drawer_btn_trigger span:nth-of-type(1) {
  top: 0;
}
.drawer_btn_trigger span:nth-of-type(2) {
  bottom: 0;
}
.active .drawer_btn_trigger span:nth-of-type(1) {
  transform: translateY(5px) rotate(-45deg);
  background: #fff
}
.active .drawer_btn_trigger span:nth-of-type(2) {
  transform: translateY(-5px) rotate(45deg);
  background: #fff;
}


/* header */
.header_cover {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 4;
}
.header_wrap {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  height: 90px;
  margin: 0 auto;
  transition: .3s;
}
.header_logo {
  width: 180px;
  z-index: 4;
  transition: .3s;
}
.header_cover.fade_active {
  height: 60px;
  background: rgba(255,255,255,.8);
}
.header_cover.fade_active .header_wrap {
  height: 60px;
}
.header_cover.fade_active .header_logo {
  width: 130px;
}
.header_cover.fade_active .drawer_btn {
  position: absolute;
  top: 2px;
  right: 2%;
}
.global {
  position: absolute;
  right: 300px;
  width: 45px;
  z-index: 3;
}
.global li.drop span {
  display: inline-block;
  position: relative;
  width: 45px;
  padding-right: 30px;
  color: #677173;
  font-size: 1.3rem;
  cursor: pointer;
  text-align: right;
}
.global li.drop span img {
  width: 20px;
}
.global li.drop span:after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	margin: -3px 0 0;
	width: 14px;
	height: 8px;
  background: url(../images/icon_arr4.svg) no-repeat;
  background-size: contain;
}
.drop_menu {
  display: none;
  position: absolute;
  right: 0;
  top: 30px;
  width: 130px;
  padding: 20px;
  background: #677173;
  z-index: 2;
}
.dorop_menu_list li a {
  display: inline-block;
  margin: 0 0 10px;
  padding-left: 20px;
  color: #fff;
  font-size: 1.3rem;
}
.dorop_menu_list li a.icon_jp {
  background: url(../images/icon_jp.jpg)no-repeat left center;
  background-size: 15px;
}
.dorop_menu_list li a.icon_en {
  background: url(../images/icon_en.jpg)no-repeat left center;
  background-size: 15px;
}
.dorop_menu_list li a.icon_ch {
  background: url(../images/icon_ch.jpg)no-repeat left center;
  background-size: 15px;
}
.dorop_menu_list li a.icon_ko {
  background: url(../images/icon_ko.jpg)no-repeat left center;
  background-size: 15px;
}
.dorop_menu_list li a:hover {
  opacity: .7;
}

.btn_reserve {
  position: absolute;
  right: 120px;
}
.btn_reserve a.btn {
  display: block;
  position: relative;
  width: 160px;
  padding: 5px;
  background: #677173;
  color: #fff;
  font-size: 1.3rem;
  text-align: center;
}
.btn_reserve a.btn:after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	margin: -6px 0 0;
	width: 12px;
	height: 12px;
  background: url(../images/icon_arr2.svg) no-repeat;
  background-size: contain;
}


/* footer */
.footer_area {
  width: 100%;
  padding: 80px 0;
  background: url(../images/bg2.jpg);
}
.footer_area_block {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}
.footer_area_block > div.logo {
  width: 35%;
}
.footer_area_block > div.logo img {
  width: 90%;
  max-width: 240px;
}
.footer_area_block > div.info {
  width: 40%;
}
.footer_area_block > div.info .info_add {
  margin: 0 0 30px;
  font-size: 1.5rem;
  line-height: 2.2;
}
.footer_area_block > div.info .info_sns {
  margin: 0 0 30px;
}
.footer_area_block > div.info .info_sns img {
  width: 40px;
  margin-right: 15px;
}
.footer_area_block > div.info .info_privacy {
  margin: 0 0 15px;
}
.footer_area_block > div.info .info_privacy a {
  display: inline-block;
  margin-right: 15px;
  color: #555;
  font-size: 1.1rem;
}
.footer_area_block > div.info .copyright {
  margin: 0;
  font-size: 1.1rem;
}
.footer_area_block > div.nav {
  width: 25%;
}
.footer_area_block > div.nav .nav_list li a {
  display: inline-block;
  position: relative;
  margin: 0 0 15px;
  color: #333;
  font-size: 1.5rem;
}
.footer_area_block > div.nav .nav_list li a:before {
  content: '―';
  margin-right: 10px;
}




/* parts */
.pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 2;
}
.pagetop a {
  display: block;
  width: 52px;
  height: 52px;
  padding-top: 20px;
  background: #677173;
  border: 1px solid #fff;
  border-right: none;
  border-bottom: none;
  text-align: center;
  color: #fff;
  font-size: 1.3rem;
}
.pagetop a:hover {
  background: #acb6b5;
}
p.read {
  font-size: 1.8rem;
  letter-spacing: .2em;
  line-height: 2;
}

a.btn1 {
	position: relative;
	display: inline-block;
  padding-right: 30px;
	color: #677173;
	font-size: 1.5rem;
  text-align: left;
}
a.btn1::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	margin: -9px 0 0;
	width: 18px;
	height: 18px;
  background: url(../images/icon_arr1.svg) no-repeat;
  background-size: contain;
  transition: .3s;
}
a.btn1::before {
  background: #677173;
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
a.btn1:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}


a.btn2 {
	position: relative;
	display: inline-block;
  padding-right: 30px;
	color: #fff;
	font-size: 1.5rem;
  text-align: left;
}
a.btn2::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	margin: -9px 0 0;
	width: 18px;
	height: 18px;
  background: url(../images/icon_arr2.svg) no-repeat;
  background-size: contain;
  transition: .3s;
}
a.btn2::before {
  background: #fff;
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
a.btn2:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}




/* layout_index
-----------------------------------------------------------*/
.mainimg_wrap {
  position: relative;
  width: 100%;
	height: calc(100vh - 90px);
  margin: 0 0 90px;
}
.main_video {
	overflow: hidden;
	position: absolute;
	top: 90px;
	left: 0;
	width: 100%;
	height: 100%;
}
.main_video video {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%,-50%);
}
.box_sound {
	position: absolute;
	right: 70px;
	bottom: 10px;
}
.btn_sound {
	display: inline-block;
	width: 120px;
	height: 30px;
	background: url(../images/sound_off.svg)no-repeat center center;
	background-size: 100%
}
.btn_sound.sound_on {
	display: inline-block;
	width: 120px;
	height: 30px;
	background: url(../images/sound_on.svg)no-repeat center center;
	background-size: 100%;
}



.mainimg_ttl {
	position: absolute;
	top: 58%;
	left: 50%;
  width: 80%;
  max-width: 560px;
  z-index: 3;
  text-align: center;
  transform: translate(-50%, -50%);
}
.mainimg_ttl p {
  margin: 0 0 30px;
  color: #fff;
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: .5em;
}
.mainimg_ttl img {
  width: 180px;
}
.mainimg {
	overflow: hidden;
	position: absolute;
	top: 90px;
	left: 0;
	width: 100%;
	height: 100%;
  z-index: 1;
}
.mainimg::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: ' ';
	background-color: rgba(0,0,0,.6);
}
.slider li {
  height: 100vh;
  background-size: cover;
  background-position: center;
}
.slider li:first-of-type {
  background-image: url(../images/img/img01.jpg);
}
.slider li:nth-child(2) {
  background-image: url(../images/img/img02.jpg);
}
.slider li:nth-child(3) {
  background-image: url(../images/img/img13.jpg);
}
.slider li:nth-child(4) {
  background-image: url(../images/img/img16.jpg);
}

@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
.animation {
  animation: fadezoom 20s 0s forwards;
}


.contents_wrap {
  width: 90%;
  max-width: 1020px;
  margin: 0 auto;
}
.contents_wrap2 {
  width: 90%;
  margin: 0 auto;
}
.contents_block {
  margin: 0 0 100px;
}

.contents_title1 {
  margin: 0 0 80px;
  padding-left: 20px;
  height: 70px;
  border-left: 1px solid #677173;
}
.contents_title1 .title {
  margin: 0;
  color: #677173;
  font-family: 'Cormorant Garamond', serif;
  font-size: 4rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: .1em;
}
.contents_title1 .sub {
  display: block;
  margin: 3px 0 0;
  color: #677173;
  font-size: 1.3rem;
}
.contents_title2 {
  margin: 0 0 30px;
  font-size: 3rem;
  font-weight: 300;
  letter-spacing: .2em;
}

#english_facility .contents_title1 {
	margin: 0 0 80px;
	padding-top: 8px;
  padding-left: 20px;
  height: 60px;
  border-left: 1px solid #677173;
}

.top_contents_naranoya {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 120px 0 50px;
}
.top_contents_naranoya .pct {
  width: 48%;
  margin-left: 5%;
}
.top_contents_naranoya .pct img {
  width: 100%;
  height: 540px;
  -webkit-object-fit: cover;
  object-fit: cover;
}
.top_contents_naranoya .txt {
  width: 40%;
  margin: 3% 0 0 7%;
}

.top_contents_about {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  max-width: 2000px;
  margin: 0 auto 120px;
}
.top_contents_about .pct1 {
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
}
.top_contents_about .pct1 img {
  width: 100%;
  height: 560px;
  -webkit-object-fit: cover;
  object-fit: cover;
}
.top_contents_about .txt {
  width: 33%;
  margin: 10% 0 0 35%;
}
.top_contents_about .pct2 {
  position: absolute;
  top: 20%;
  left: 0;
  width: 25%;
}
.top_contents_about .pct2 img {
  width: 100%;
  height: 560px;
  -webkit-object-fit: cover;
  object-fit: cover;
}
.top_contents_about .pct3 {
  width: 30%;
  margin: 10% 0 0 50%;
}
.top_contents_about .pct3 img {
  width: 100%;
  height: 340px;
  -webkit-object-fit: cover;
  object-fit: cover;
}

.top_contents_facility_wrap {
  width: 100%;
  padding: 120px 0;
  background: url(../images/bg3.jpg);
}

.top_contents_facility .contents_title1 {
  border-left: 1px solid #fff;
}
.top_contents_facility .contents_title1 .title,
.top_contents_facility .contents_title1 .sub,
.top_contents_facility .contents_title2,
.top_contents_facility .read {
  color: #fff;
}

.slideshow {
  margin: 0 0 40px;
}
.slideshow .slick-slide {
  position: relative;
  overflow: hidden;
  width: 480px;
  height: 320px;
  margin: 0 10px;
}
.slideshow .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top_contents_shika {
  position: relative;
  width: 100%;
  height: 400px;
  background: url(../images/img/img02.jpg) no-repeat center center;
  background-size: cover;
}
.top_contents_shika2 {
  position: relative;
  width: 100%;
  height: 400px;
  background: url(../images/shika.jpg) no-repeat center bottom;
  background-size: cover;
}

.top_contents_insta {
  width: 100%;
  padding: 120px 0;
}
.top_block_insta {
  display: flex;
  flex-wrap: wrap;
  width: 92%;
  margin: 0 auto 30px;
}
.top_block_insta > div {
  display: block;
  position: relative;
  width: 18%;
  margin: 0 1% 2%;
}
.top_block_insta > div a::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.top_block_insta > div a img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  object-fit: cover;
}
.top_block_insta > div a:hover {
  opacity: .6;
}

.contents_contact_wrap {
  position: relative;
  width: 100%;
  padding: 120px 0 120px;
  background: url(../images/img/img15.jpg) no-repeat center bottom;
  background-size: cover;
  z-index: 1;
}
.contents_contact_wrap::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: ' ';
	background-color: rgba(0,0,0,.5);
}
.contents_contact {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 90%;
  max-width: 1020px;
  margin: 0 auto;
  z-index: 2;
}
.contents_contact > div {
  width: 48%;
  padding: 40px 50px;
  background: url(../images/bg1.jpg);
  text-align: center;
}
.contents_contact .title {
  margin: 0 0 30px;
  color: #677173;
  font-family: 'Cormorant Garamond', serif;
  font-size: 3.2rem;
  font-weight: 300;
  letter-spacing: .1em;
}
.contents_contact .title span {
  display: block;
  margin: 5px 0 0;
  color: #333;
  font-size: 1.3rem;
  letter-spacing: normal;
}
.contents_contact .btn {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 0 20px;
  padding: 25px 5px;
  background: #677173;
  color: #fff;
  font-size: 1.6rem;
}
.contents_contact .btn:after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	margin: -8px 0 0;
	width: 16px;
	height: 16px;
  background: url(../images/icon_arr2.svg) no-repeat;
  background-size: contain;
}

.contents_contact .btn:hover {
  background: #acb6b5;
}

.contents_contact .read {
  margin: 0;
  font-size: 1.5rem;
  letter-spacing: normal;
}












/* layout_subpage
-----------------------------------------------------------*/
.sub_headimg_wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: 90px;
  z-index: 1;
}
.sub_headimg_wrap img {
  width: 100%;
  height: 200px;
  -webkit-object-fit: cover;
  object-fit: cover;
}
.sub_headimg_wrap::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: ' ';
	background-color: rgba(0,0,0,.6);
}
.sub_headimg_textarea {
	position: absolute;
	top: 50%;
	left: 50%;
  width: 90%;
  max-width: 1020px;
  z-index: 3;
  transform: translate(-50%, -40%);
}
.sub_headimg_textarea .title {
  margin: 0;
  color: #fff;
	font-size: 2.4rem;
	font-weight: 300;
  text-align: center;
}
.sub_topicpath_wrap {
  width: 100%;
}
.topicpath {
	overflow: hidden;
  width: 90%;
  max-width: 1020px;
  margin: 0 auto;
	padding: 5px 0;
}
.topicpath ul {
	margin: 0;
	padding: 3px 0 0;
	list-style: none;
}
.topicpath li {
	display: inline;
	font-size: 1.2rem;
}
.topicpath li a {
  position: relative;
  margin-right: 5px;
	padding-right: 20px;
	color: #677173;
  text-decoration: underline;
}
.topicpath li a:hover {
	color: #c4af91;
}
.sub_topicpath_wrap.bg_recruit .topicpath li a:hover {
  color: #405073;
}
.topicpath li a:after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	margin: -4px 0 0;
	width: 8px;
	height: 8px;
  background: url(../images/icon_arr3.svg) no-repeat;
  background-size: contain;
  transition: .5s;
}
.sub_contents {
  padding: 100px 0;
}


/* layout_about
-----------------------------------------------------------*/
.about_list li {
	margin-bottom: 120px;
	transition: all 1.0s;
}
.about_list_img_area {
	position: relative;
}
.about_list_img {
	width: 60%;
  height: 480px;
	padding: 0;
}
.about_list_img img {
	width: 100%;
  height: 100%;
  object-fit: cover;
}
.about_list .about_list2 .about_list_img {
	width: 60%;
	margin-left: 40%;
	padding: 0;
}
.about_list_text {
	position: relative;
	margin-top: -360px;
	padding: 0;
	text-align: right;
	z-index: 1;
}
.about_list .about_list2 .about_list_text {
	text-align: left;
}
.about_list_text_inner {
	display: inline-block;
	width: 50%;
	padding: 80px 7%;
  background: #fff;
	text-align: left;
}
.about_list_title {
	margin-bottom: 30px;
	font-size: 3rem;
	font-weight: 300;
  letter-spacing: .1em;
}

.tbl_detail {
  background: rgba(255,255,255,.7);
}
.tbl_detail th {
	width: 30%;
  padding: 20px 20px 20px 30px;
  border-top: 1px solid #acb6b5;
  color: #677173;
	font-weight: normal;
  text-align: left;
}
.tbl_detail td {
	width: 70%;
  padding: 20px 20px 20px 30px;
	border-top: 1px solid #ddd;

}



/* layout_facility
-----------------------------------------------------------*/
.facility_list li {
	margin-bottom: 50px;
	transition: all 1.0s;
}
.facility_list_inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 100%;
}
.facility_list_img {
  overflow: hidden;
  width: 50%;
  min-height: 100%;
}
.facility_list_img img {
	width: 100%;
  height: 100%;
  object-fit: cover;
}
.facility_list_text {
  width: 50%;
  background: rgba(255,255,255,.7);
}
.facility_list_text_inner {
	display: inline-block;
	padding: 50px 10%;
}
.facility_list_title {
	margin-bottom: 30px;
	font-size: 3rem;
	font-weight: 300;
  letter-spacing: .1em;
}

.facility_list2 {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}
.facility_list2 li {
	width: 32%;
	margin: 0 2% 2% 0;
	background: rgba(255,255,255,.7);
}
.facility_list2 li:nth-child(3n) {
	margin: 0 0 2% 0;
}
.facility_list2_img img {
	width: 100%;
}
.facility_list2_text {
  width: 100%;
  padding: 30px 20px;
}
.facility_list2_title {
	margin-bottom: 20px;
	font-size: 2rem;
	font-weight: 300;
}



/* layout_access
-----------------------------------------------------------*/
.access_info {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 100%;
  margin: 0 0 50px;
}
.access_info > div.pct {
  width: 40%;
}
.access_info > div.info {
  width: 60%;
  padding-left: 50px;
}
.access_info > div.pct img {
  width: 100%;
}
.access_info_list dt {
  margin: 0 0 15px;
  color: #677173;
}
.access_info_list dd {
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid #ccc;
}
.access_map {
  margin: 0 auto 80px;
}
.access_map iframe {
  filter: grayscale(100%);
}



/* layout_contact
-----------------------------------------------------------*/
.tbl_contact {
  width: 100%;
  margin: 0 0 30px;
  background: rgba(255,255,255,.7);
  border-top: 1px solid #ccc;
  font-size: 1.5rem;
}
.tbl_contact td,
.tbl_contact th {
  padding: 15px;
  border-bottom: 1px solid #ccc;
  text-align: left;
}
.tbl_contact th {
  width: 20%;
  font-weight: 400;
}
.tbl_contact td {
  width: 80%;
}
.btn_contact {
  display: flex;
  flex-wrap:wrap; 
  -webkit-justify-content: center;
  justify-content: center;
  width: 100%;
  max-width: 500px;
  margin: 0 auto 30px;
}
.btn_contact > li {
 width: 49%;
 margin: 0 2% 2% 0;
}
.btn_contact > li:nth-child(2n) {
 margin: 0 0 2% 0;
}
.btn_contact > li {
 width: 49%;
}
.btn_contact .btn01 {
 display: inline-block;
 width: 100%;
 padding: 15px 0;
 background: #677173;
 border: 1px solid #677173;
 color: #fff;
 font-size: 1.6rem;
 font-weight: 500;
 text-align: center;
}
.btn_contact .btn02 {
 display: inline-block;
 width: 100%;
 padding: 15px 0;
 border: 1px solid #677173;
 color: #677173;
 font-size: 1.6rem;
 text-align: center;
}


/* layout_privacy
-----------------------------------------------------------*/
.sub_privacy_list dt {
  margin: 0 0 10px;
  color: #677173;
  font-size: 110%;
}
.sub_privacy_list dd {
  margin: 0 0 30px;
  padding: 0 0 30px;
  font-size: 1.5rem;
  border-bottom: 1px dotted #999;
}


