@charset "utf-8";
/* CSS Document */

/*html {visibility: hidden;}
html.wf-active {visibility: visible;}*/

@font-face {
  font-family: 'KiwiMaru';
  font-display: auto;
  src: url('/_/font/KiwiMaru-Medium.ttf') format('truetype');
}
@font-face {
  font-family: 'KiwiMaru_r';
  font-display: auto;
  src: url('/_/font/KiwiMaru-Regular.ttf') format('truetype');
}
body{
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
a{text-decoration: none;}

.clearfix::after { content: "";  display: block; clear: both;}

.top_m70 { position: relative; top: -70px; display: block;}
.top_m40 { position: relative; top: -40px; display: block;}

.wrap{ overflow: hidden; max-width: 1920px; margin: 0 auto;}
.wrap_2{ margin-top: 80px; min-height: calc(100vh - 390px); position: relative;}
.sp_only{display: none;}

.inner_cnt{ width: calc(100% - 60px); max-width: 1400px; margin: auto;}
.inner_cnt2{ width: calc(100% - 60px); max-width: 1150px; margin: auto;}
.inner_cnt3{ max-width: 1000px;}

.r_txt{ text-align: right;}
.link_blu{ color: #006a95; border-bottom: 1px solid #006a95; padding: 0 3px;}
.link_blu:hover{ color: #6fabc3; border-bottom: 1px solid #6fabc3;}

.nav{ position: fixed; top: 0; left: 0; right: 0; z-index: 10; padding: 0; background: #ffffff;
  /*transition: all 0.3s;*/}
.nav.narrow{ background:rgba(255,255,255,0.95); border-bottom: 1px solid #efefef;}
.nav_inner{ display: flex; justify-content: space-between; width: calc(100% - 20px); max-width: 1860px; margin: 0 auto; position: relative;}

.nav .logo{ display: inline-block; width: 274px; height: 54px; margin: 10px 0;}
.nav .logo img{ width: 100%;}

.nav .menu{ display: flex; justify-content: space-between; width: calc(100% - 310px);}
.nav .menu ul{ display: flex; flex-wrap: wrap; list-style: none; align-items: center;}
.nav .menu .link a{ display: inline-block; color: #272727; font-family:'KiwiMaru'; font-size: clamp(18px, 1.45vw, 24px); margin: 5px 1.45vw 0 2px; position: relative; padding-bottom: 2px; letter-spacing: -0.03em;}
.nav .menu .link a:not(.btn)::after{position: absolute; bottom: -4px; left: 0; content: ''; width: 100%; height: 2px; background: #78C9BB;
  transform: scale(0, 1); transform-origin: right top;}
.nav .menu .link a:not(.btn):hover::after{ transform-origin: center top; transform: scale(1, 1); transition: transform .3s;}


.nav .menu .link .btn{ display: inline-block; color: #ffffff; background: #ffb33e; border-radius: 4px; font-family:'KiwiMaru';
  padding: 7px 15px 8px; margin: 5px 0 0; letter-spacing: -0.05em; /*transition: all 0.3s;*/}
.nav .menu .link .btn:hover{ background: #ff9000; transition: all 0.3s;}

.nav a.about_fd, .nav_sp .about_fd { display: block; text-align: center; border-radius: 4px; background: linear-gradient(to bottom, #00B3B6, #5ED6D1);
  width: clamp(260px,20vw,340px); box-sizing: border-box; padding: 10px 10px 8px; box-shadow: 0 5px #00C0C0;
  /*transition: padding .3s, top .3s, left .3s;*/}

.nav a.about_fd img,.nav_sp .about_fd img{ filter: drop-shadow(0 0 1px #00737A); vertical-align: top; max-width: 300px}
.nav a.about_fd:hover,.nav_sp .about_fd:hover { background: linear-gradient(to top, #00B3B6, #5ED6D1);}

.nav.narrow .logo{ width: 220px; height: 45px; margin: 4px 0 5px;}
.nav.narrow .menu { margin-top: -6px;}

footer{ padding: 40px 0; line-height: 1.5; border-top: #a6d8ee solid 5px;}
footer .inner_cnt{ width: calc(100% - 60px); max-width: unset; display: flex; justify-content: space-between;}

footer .ft_logo{ width: 270px; margin-bottom: 5px;}
footer .ft_logo img{ width: 100%; }
footer .info{ padding: 5px 20px 5px 0; min-width: 300px;}
footer .info p{ font-family: 'KiwiMaru'; font-size: 18px; margin: 0 0 15px 2.5vw; color: #606060;}
footer .info p span{ display: inline-block;}
footer .info p.copyright{ color: #a1a1a1; font-size: 15px;}

footer .ft_menu{ padding: 20px; font-size: 20px; border-left: 1px solid #bdbdbd; max-width: 600px;}
footer .ft_menu ul{ list-style: none;}
footer .menu_insidelk ul{ margin-bottom: 30px; display: flex; flex-wrap: wrap;}
footer .menu_insidelk li:not(:last-child){ margin-right: 20px;}
footer .menu_insidelk a{ display: inline-block; color: #ffa213; margin-bottom: 8px; font-family: 'KiwiMaru'; }
footer .menu_insidelk a:hover{ color: #ff7200;}

footer .menu_outlk{ min-width:320px; width: 30%; padding: 20px 0 20px 30px; font-size: 18px;}
.menu_outlk a{ display: inline-block; color: #3d3d3d; padding-left: 30px; position: relative; margin-bottom: 12px; line-height: 1.3;}
.menu_outlk a span{ display: inline-block;}
.menu_outlk a span.mn{ font-size: 90%; margin-right: 5px;}
.menu_outlk a::after { content: ""; position: absolute; width: 22px; height: 24px; left: 0; top: 2px; mask-position: top center;
  mask-repeat: no-repeat; mask-size: contain; mask-image: url(/_/img/link_out.svg); background: #9f9f9f;}
.menu_outlk a:hover{ color: #00B3A7;}
.menu_outlk a:hover::after{ background: #00B3A7; }

.page_top { display: block; width: 60px; height: 60px; position: fixed; z-index: 5; right: 10px; bottom: -100px; cursor: pointer;
  background: #FECA9E; border-radius: 4px;}
.page_top img { width: 100%;}
.page_top:hover{ background: #FEB170;}


.sp_nav{ display: none;}
.overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; display: none; background: #6F6F6F; opacity: 0.7;
  filter: alpha(opacity=70); z-index: 89;}


/************************************************************ top page *************************************************************/

.top_head{ margin-top: 80px; background: #f4ffe1; position: relative; padding: 40px 0 120px;}
.top_head .photo{ border-radius: 10px; overflow: hidden; max-width: 1600px; margin: 0 auto 30px; width: calc(100% - 40px); text-align: center; 
  position: relative; min-height: 250px; aspect-ratio: 16 / 5;}
.top_head .photo span.img { display: block; min-width: 800px; width: 100%; position: absolute; left: 50%; bottom: 0;
  transform: translateX(-50%);}
.top_head .photo .img img{ width: 100%; vertical-align: top;}
.top_head .trees{ position: absolute; top:0; left: 0; right: 0; aspect-ratio: 16 / 5; min-height: 250px; width: 100%; padding-bottom: 40px;}
.top_head .visu,.pg_head .visu{ position: absolute;}
.top_head .visu img,.pg_head .visu img{ max-width: 100%;}
.top_head .top_copy_text { top: 6%; left: 2.4%; width: 60%; min-width: 350px; max-width: 660px; z-index: 1;}
.top_head .tree1{ bottom: 40px; left: 20px; width: clamp(90px,14.5vw,240px); transform: translateY(50%);}
.top_head .tree2{ top:0; right: 0; max-width: 75%; min-width: 360px;}

.top_page.inner_cnt{ margin-left: clamp(120px, 16vw, 300px); width: clamp(calc(100% - 320px),calc(84vw - 20px),calc(100% - 140px));}
.top_page.inner_cnt p{ line-height: 1.6; font-size: clamp(17px,1.9vw,20px); margin-bottom: 20px;}
.top_page.inner_cnt .lead_txt{ font-size: clamp(24px,2.8vw,30px); line-height: 1.4; font-family: 'KiwiMaru'; margin-bottom: 15px; letter-spacing: -0.01em;
  color: #008ece;}
.top_page.inner_cnt .lead_txt span{ display: inline-block;}

.top_page.mdl{ margin-top: -50px; position: relative; z-index: 1; padding-bottom: 150px;}
.top_page.mdl .lead_txt{ color: #ff7c00;}
.top_page.mdl p{ max-width: 770px;}
.top_photos{ margin: 0 0 50px -40px; display: flex; justify-content: center;}
.top_photos .couple{ margin: 30px min(80px, 4vw) 0 0; max-width: 228px; width: 20%;}
.top_photos ul{ list-style: none; display: flex; justify-content: space-around; flex-wrap: wrap; width: 80%; max-width: 870px;}
.top_photos li{ aspect-ratio: 37 / 25; border-radius: 8px; overflow: hidden; max-width: 400px; width: calc(50% - 15px); margin-bottom: 20px;}
.top_page.mdl .img{ position: absolute; width: 36%; min-width:340px; max-width: 458px; bottom: -80px; right: 5%; transform: translateY(-10%);}
.top_page.mdl img{ width: 100%;}

.btn_r{ display: inline-block; border-radius: 3px; border: 2px solid #c2c2c2; padding: 7px 65px 9px 45px; color: #909090; font-size: 22px; 
  font-family: 'KiwiMaru'; position: relative; background: #ffffff; line-height: 1.2;}
.btn_r::after,.link_r::after { content:""; position: absolute; width: 10px; height: 16px; right: 10px; top: 50%; transform: translateY(-50%); mask-position: top center;
  mask-repeat: no-repeat; mask-size: contain; mask-image: url(/_/img/arrw_gry.svg); background: #909090;}
.btn_r:hover{ background: #ffffec;}

.top_menu{ background: #fff5dd; padding: 80px 0 50px;}
.top_menu ul{ list-style: none; display: flex; justify-content: space-around; width: calc(100% - 40px); max-width: 1240px; margin: auto;}
.top_menu li{ border: 2px solid #d9d9d9; border-radius: 10px; text-align: center; background: #ffffff; width: calc(100% / 3 - 30px); 
  max-width:380px; min-width: 220px; box-sizing: border-box;}
.top_menu li a{ display: block; padding: 20px 15px;}
.top_menu li a span { color: #45ad07; font-size: 24px; display: inline-block; margin-bottom: 12px; font-family: 'KiwiMaru';}
.top_menu li a div{ max-width: 310px; margin: 0 auto; overflow: hidden;}
.top_menu li a img{ width: 100%; height: auto; transition: .3s;}
.top_menu li a:hover img{ transform: scale(1.1);}

.top_topics{ padding: 50px 0; margin-bottom: 5vw; font-size: 18px;}
.top_topics h2{ text-align: center; font-size: 24px; font-family: 'KiwiMaru'; color: #272727; font-weight:500; margin-bottom: 30px;}
.top_topics ul{ list-style: none; border-top: 2px solid #d4d4d4; line-height: 1.3;}
.top_topics li{ border-bottom: 2px dotted #d4d4d4; padding: 8px;}
.top_topics li:last-child{ border-bottom: 2px solid #d4d4d4;}
.top_topics li a{ display: flex; padding: 15px; border-radius: 3px;}
.top_topics li a p{ color: #2c2c2c; width: 80%; font-size: 20px;}
.top_topics li a p.important{ color: #ef2c2c; font-weight: 600;}
.top_topics li a .date{ color: #00bbc7; width: 20%; text-align: center;}
.top_topics li a:hover{ background: #f8ffee;}
.to_topics{ padding: 10px 0; text-align: right;}
.to_topics a{ color: #7d7d7d; display: inline-block; padding-right: 30px; position: relative;}
.to_topics a::after{ background: #c9c9c9; width: 8px; height: 14px;}
.to_topics a:hover{ color: #272727;}
.to_topics a:hover::after{ background: #757575;}

/************************************************************ excepting top *************************************************************/

.pg_head{ width: 100%; position: relative; margin-bottom: 5vw; background: #eaf6fd; height: 150px;}
.pg_head h1,.pg_head .h1{ color: #27a627;  font-family: 'KiwiMaru'; font-size: 36px; font-weight: 500; letter-spacing: 0.1em; line-height: 1.3; 
  position: absolute; top:45%; transform: translateY(-50%); left: calc(3% + 166px);}

.pg_head .tree1{ bottom: 0; left: 1%; width: clamp(80px,12vw,166px); transform: translateY(40%);}
.pg_head .tree2{ top:0; right: 0; width: 55%; max-width:800px; min-width: 320px;}

.excp_top h2{ font-size: 26px; font-weight: 500; color: #ff7c00; margin-bottom: 20px; font-family: 'KiwiMaru'; line-height: 1.3}
.excp_top h2.c_blu{ color: #008ece;}
.excp_top h2.c_grn{ color: #27a627;}
.excp_top h2 span{ display: inline-block;}

.excp_top p{ line-height: 1.5; margin-bottom: 20px; font-size: 18px;}
.excp_top p.lead_txt { font-size: clamp(18px,2.8vw,22px); margin-bottom: 40px; margin-left: max(80px, 12vw); width: min(79vw, 1120px);
  position: relative; z-index: 1;}

.dv_section{padding: 3vw 0;}
.bg_grn{ background: #f4ffe1; }
.bg_ylw{ background: #fff8e1; }
.bd_tp{ border-top: 7px solid #ffe9b4;}

/************************************************************* facility-info ******************************************************************/

.wrap_facility h2{ margin-bottom: 30px;}

.floor_map{ position: relative; padding-bottom: 40%;}
.floor_map .img{ position: relative; margin-top: 10px; max-width: 812px; width: 75%;}
.floor_map .img { display: inline-block;}
.floor_map .img img{ max-width: 100%;}
.floor_map .img::before{ position: absolute; top:-40px;}
.floor_map .img1::before{ content: url(/_/img/f1.png); right: 0;}
.floor_map .img2{ position: absolute; right: 0; top:30px; transform: translateY(50%);}
.floor_map .img2::before{ content: url(/_/img/f2.png); left: 0;}

.flx_photos{ display: flex; flex-wrap: wrap; justify-content: space-between; list-style: none; position: relative;}

.flx_photos div{ overflow: hidden; border-radius: 10px; margin: auto;}
.flx_photos li{ flex-grow: 1; margin: 0 10px 20px; width: clamp(200px, calc(100% / 3 - 20px), 360px);}
.flx_photos.room .clm1{ width: clamp(332px, calc(50% - 20px), 560px); margin: 0 10px 10px; }
.flx_photos::after{ content:""; flex-grow: 1; margin: 0 10px; width: clamp(200px, calc(100% / 3 - 20px), 360px);}

.flx_photos.room div{ aspect-ratio:18 / 17;}
.flx_photos.room .clm1 div{ aspect-ratio:28 / 21;}

.flx_photos.share li{ margin: 0 10px;}
.flx_photos.share div{ aspect-ratio:36 / 27; width: 100%; max-width: 360px;}

.flx_photos img{ width: 100%; vertical-align: top;}
.flx_photos li p{ font-size: 18px; color: #2f2f2f; margin: 2px 0 5px;}
.flx_photos.share p{ max-width: 360px; margin: 3px auto 20px;}

.outline{ display: flex; flex-wrap: wrap; border-top:#d4d4d4 2px solid; line-height: 1.5; font-size: clamp(18px, 2.8vw, 20px);; margin-bottom: 5vw;}
.outline dt{ width: 30%; text-align: center; font-weight: 600; color: #868686; padding: 20px 0; border-bottom:#d4d4d4 2px solid;}
.outline dd{ width: calc(70% - 40px); padding: 20px 10px 20px 30px; border-bottom:#d4d4d4 2px solid; }
.outline span{ display: inline-block;}

/************************************************************* life ******************************************************************/


.lifstyle{ display: flex; max-width: 1000px; margin: 0 auto 20px;}
.lifstyle.ex1{ justify-content: space-between;}
.lifstyle.ex1 div:first-child{ width: calc(100% - 220px);}
.lifstyle.ex2 div:first-child{ width: min(calc(100% - 220px),650px); padding-right: 20px;}
.lifstyle.ex3{ flex-wrap: wrap;}
.lifstyle.ex3 div{width: 100%;}
.lifstyle.ex3 div:last-child{ text-align: right; padding-right: 30px;}

.wrap_life .others{ border: 3px solid #d1e5a4; border-radius: 8px; padding: 20px 25px 15px 30px; max-width: 1000px; margin: 30px auto;}
.wrap_life .others li{ list-style: none; margin: 0 5px 10px; padding-left: 1.2em; position: relative; font-size: 18px; line-height: 1.5;}
.wrap_life .others li::before{ position: absolute; content:"●"; color: #409200; font-size: 80%; left: 0; top: 2px;}

.wrap_life .expn{ display: flex; background: #ffffff; border-radius: 8px; padding: 15px 0; justify-content: center; margin: auto;
  width: calc(100% - 30px); max-width: 1325px;}
.wrap_life .expn h2{ margin-bottom: 10px; color: #4c4c4c;}
.wrap_life .expn p{ margin-bottom: 0;}
.wrap_life .expn div:not(.photo){ width: calc(100% / 3); max-width: 360px; padding: 15px min(40px,2.5vw);}
.wrap_life .expn div:not(.photo):nth-child(1),.wrap_life .expn div:not(.photo):nth-child(2){ border-right: 2px solid #e5e5e5; }
.wrap_life .expn div.photo{ margin-bottom: 10px;}
.wrap_life .expn div img{ max-width: 100%;}

.from_d{ padding-bottom: 6vw;}

/************************************************************* information ******************************************************************/

.a_room{ font-size: 18px;}
.a_room .info{ display: flex; justify-content: space-between; margin-bottom: 50px;}
.a_room .info div{ width: calc(80% - 20px);}
.a_room .info .img{ margin: -20px 0 0 10px; width: 20%; min-width: 220px;}
.a_room .info img{ max-width: 100%;}
p.r_area,.a_room h3{ font-family: 'KiwiMaru'; color: #007ea6; margin: 0 15px 30px; font-size: 20px;}
.r_area span{ font-size: 30px; margin: 0 5px 0 15px;}
.a_room h3{ color: #8e8e8e; font-weight: 500; padding: 15px 12px 5px; margin: 0 0 20px; border-bottom: 2px solid #d7d7d7;}
.a_room .info li{ margin: 0 0 10px 40px;}
.a_room .flx_photos { margin: 0 -15px;}

.a_room .flx_photos li,.a_room .flx_photos::after{ flex-grow: 1; margin: 0 max(10px,1vw) 20px; width: clamp(200px, calc(100% / 4 - 40px), 212px);}
.a_room .flx_photos li div{ max-width: 300px;}
.a_room .flx_photos li:last-child{ margin: 0 max(10px,1.5vw);}
.a_room .flx_photos::after,.a_room .flx_photos::after{ margin: 0 10px;}

.wrap_information .bg_grn .inner_cnt2{ background: #ffffff; padding: 30px 4vw; border-radius: 8px; box-sizing: border-box;}
.fee_plan{ display: flex; flex-wrap: wrap; border-top: #d7d7d7 2px solid; font-size: 18px; line-height: 1.5;}
.fee_plan dt,.fee_plan dd{ box-sizing: border-box; border-bottom: #d7d7d7 2px solid; padding: 15px 20px 15px 5px; width: 35%; text-align: right;}
.fee_plan dt:not(:first-child){ font-weight: 600; color: #8c8c8c;}
.fee_plan dt:first-child{ font-family: 'KiwiMaru'; padding: 5px 10px 15px;}
.fee_plan dt:first-child span{ font-size: 26px; margin-left: 15px;}
.fee_plan dd{ padding: 15px; width: 65%; text-align: left; font-size: 20px;}
.fee_plan dd:first-of-type{ padding: 15px 0 15px 10px; font-feature-settings: "palt";}
.fee_plan dd span{ display: block; font-size: 18px;}
.wrap_information .note{ margin: 10px 0 0; text-align: right;}

.conditions{ border-top: 2px solid #e2e2e2; border-bottom: 2px solid #e2e2e2; padding: 25px 30px 15px; margin-bottom: 5vw; line-height: 1.4;}
.conditions li{ margin: 0 15px 10px; font-size: 20px;}

.list_acc{ display: flex; flex-wrap: wrap; list-style: none; font-size: 20px;}
.list_acc li{ display: inline-block; margin: 0 15px 20px 0; color: #002f81; background: #ffefc5; padding: 8px 15px; border-radius: 6px;}
.list_acc.list2 li{ color: #13397e; background: #ffdd54;}

.flow{ margin-bottom: 5vw; font-size: 18px;}
.flow li{ list-style: none; border: 2px solid #e2e2e2; padding: 20px 35px 5px min(60px,6vw); position: relative; border-radius: 12px; margin-bottom: 45px;}
.flow li:not(:last-of-type)::after{ content:url(/_/img/arr_blu.svg); position: absolute; z-index: 1; width: 36px; left: 25px; bottom: -62px;}
.flow h3{ font-family: 'KiwiMaru'; color: #113668; font-size: 22px; margin: 0 0 15px -25px; font-weight: 500; letter-spacing: -0.02em;}
.flow h3 span{ font-size: 24px; margin-right: 10px;}
.flow .img{ position: absolute; z-index: 2; right: 20px; bottom: -15px;}
.flow .img.img2{ right: 10px; bottom: -80px;}
.flow li:first-child p{ max-width: calc(100% - 200px);}

.tel_inline{ display: inline-block; position: relative; font-size: 24px; padding: 5px 5px 5px 28px; color: #000000; margin-bottom: 20px; pointer-events: none;}
.tel_inline::before{ position: absolute; content:url(/_/img/tel.svg); width: 22px; height: 29px; left: 0; top:2px;}

/************************************************************* access ******************************************************************/

.a_map{ max-width: 1220px; padding: 3vw 0 0;}
.a_map .map{ border: 3px solid #e5e5e5; padding: 30px; border-radius: 8px;}
.a_map .map div{ border-radius: 10px; overflow: hidden; display: inline-block; width: 100%; max-width:1150px; margin: auto;}
.a_map .map img{ max-width: 100%;}

.surrounding{ background: url(/_/img/train.jpg) no-repeat; background-position: right bottom; background-size: contain; padding: 7vw 0 20vw;
  max-height: 650px; box-sizing: border-box;}


/************************************************************* contact ******************************************************************/

.wrap_contact h1{ color: #ff9834;}

.contact{ max-width: 920px;}
.contact div{ border: #e4e4e4 3px solid; line-height: 1.5; text-align: center; margin: 4vw auto 2vw; position: relative; min-width: 200px; 
  border-radius: 8px; padding: 2vw 10px;}
.contact h2{ font-size: 22px; color: #777777; margin-bottom: 2vw;}
.contact a{ display: inline-block; pointer-events: none; color: #0051a9; font-weight: 600;
  font-size: clamp(50px, 5.5vw, 60px);  line-height: 1.2; letter-spacing: 0.1em; margin: auto;}

h2.ln_blu{ color: #438da6; margin-bottom: 6vw;}
.ln_blu{ display: flex; align-items: center; font-size: 22px; color: #438da6; margin: 5vw 0;}
.ln_blu::before,.ln_blu::after { background-color: #89b7c7; content: ""; flex-grow: 1;  height: 2px;}
.ln_blu::before { margin-right: 25px;}
.ln_blu::after { margin-left: 25px;}

.form_p { width: calc(100% - 80px); max-width: 1100px; margin: auto; line-height: 1.5;}
.form_p h2{ margin-bottom: 30px;}
.form_p p.required{ color: #313131; margin: 0 10% 5px;}
.form_p p.required span,span.required{ color: #d8433b;}
span.required{ vertical-align: super;}

.form_p dl{ display: flex; flex-wrap: wrap; border-top: 2px solid #c7c7c7; border-bottom: 1px solid #c7c7c7; font-size: 19px; line-height: 1.5; 
  margin-bottom: 5vw;}
.form_p dt{ box-sizing: border-box; color: #848484; font-weight: 600; width: 35%; padding: 45px 20px 45px; 
  text-align: center; border-bottom: 1px solid #c7c7c7;}
.form_p dd{ box-sizing: border-box; width: 65%; padding: 45px 0 45px 20px; border-bottom: 1px solid #c7c7c7;}
.form_p:not(.form_confirm) dd:last-child{ padding: 45px 15px 45px 30px;}
.form_confirm dt{ color: #FFBB73; padding: 25px 20px 25px 0; font-size: 18px;}
.form_confirm dd{ padding: 25px 0 25px 20px;}

.form_p input[type="text"], .form_p input[type="tel"], .form_p input[type="email"], .form_p textarea {
  font-size: 17px; line-height: 1.4; padding: 7px 7px 3px; margin: -7px 5px 0; border: 2px solid #dddddd; max-width: calc(100% - 20px);
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}
.form_p input:focus ,.form_p textarea:focus{ outline: none; background-color: #fffff7;}
.form_p .wid_ss { width: 120px;}
.form_p .wid_s { width: 200px;}
.form_p .wid_l { width: 400px;}
.form_p .wid_ll { width: 500px;}

.form_p .hit_s { height: 100px;}
.form_p .hit_l { height: 150px;}

.form_p .radio{ list-style: none; display: flex; margin-top: -4px;}
.form_p .radio li{ margin-right: 15px; padding-left: 10px;}

.form_p span { display: inline-block; margin-top: -20px;}
.form_p span input[type="text"]{ margin: 10px 7px;}
.form_p .r_mgn{ padding-left: 1em;}

.form_p input[type=checkbox], .form_p input[type=radio] { display: none;}
.form_p input[type=checkbox] + label::before, .form_p input[type=radio]+ label::before {
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-size: 22px;
  color: #acacac;
  vertical-align: -2px;
  margin-right: 10px;
}
.form_p input[type=checkbox] + label:before { content: "\f0c8";}
.form_p input[type=checkbox]:checked + label::before {font-weight: bold; content: "\f14a"; color: #438da6;}
.form_p input[type=radio] + label::before { content: "\f111";}
.form_p input[type=radio]:checked + label::before { content: "\f192"; font-weight: 900; color: #04a991;}
.form_p label { cursor: pointer;}

.form_p dd p { margin:-5px auto 10px; line-height: 2; text-indent: -3px;}
.blu_link{ padding: 0 5px; color: #0083AE; border-bottom: 1px solid #0083AE;}

.form_p .submit_btn { display: block; width: 250px; box-sizing: border-box; border-radius: 4px; background: #003572; cursor: pointer;
  color: #ffffff; font-family: 'KiwiMaru'; font-size: 20px; position: relative; padding: 8px 15px 10px 5px; text-align: center;
  margin: auto; line-height: 1.3; z-index: 1; border: none;}
.form_p .submit_btn::after { content: ""; position: absolute; width: 11px; height: 20px; right: 12px; top: 12px; mask-position: top center;
  mask-repeat: no-repeat; mask-size: contain; mask-image: url(/_/img/arrw_gry.svg); background: #ffffff;}


.form_p.form_confirm .submit_btn { margin: 50px auto 30px; }
.form_p .submit_btn:hover{ background: #438da6;}

.form_p .err{ display: none; color: #EA3100; line-height: 1.3; font-weight: 600; margin: 8px 5px 0; font-size: 18px;}

.contact_confirm{ margin-left: max(80px, 5vw); width: min(79vw, 1120px);}
.contact_confirm h2{ color: #438da6; margin-bottom: 15px;}
.contact_confirm p{ margin-bottom: 35px;}

.form_p.form_confirm .form_bk{ padding: 5px 20px; margin: 20px auto 50px; border: 2px solid #d4d4d4; font-family:'KiwiMaru';
  color: #8e8e8e; text-align: center; display: block; width: 180px; border-radius: 4px; font-size: 18px;}
.form_p.form_confirm .form_bk:hover{ color: #ffffff; background-color: #8e8e8e;}

.thanks_p{ max-width: 750px;}
.thanks_p h2{ color: #438da6; margin-bottom: 30px;}

.thanks_p p{ line-height: 1.8; margin-bottom: 40px;}




/************************************************************* plivacy policy ******************************************************************/

.wrap_privacypolicy .pg_head h1 { letter-spacing: -0.05em;}
.wrap_privacypolicy h1{ color: #2283fd;}

.privacypolicy{ width: calc(100% - 30px); max-width: 1100px; margin: 0 auto 50px; line-height: 1.5;}

.privacypolicy .lead{ padding: 20px 30px 30px; }
.privacypolicy .frm_g{ padding: 0 30px 30px; border: 2px solid #E5E5E5; border-radius: 6px; }

.privacypolicy h2{ color: #7C7C7C; font-size: 22px; margin: 40px 0 10px; text-align: left; letter-spacing: -0.04em;}
.privacypolicy h3{ color: #000000; font-size: 20px; font-weight: 500; margin: 20px 0 5px;}
.privacypolicy p{ word-wrap: break-word;}

.privacypolicy p span{ display: block; color: #007f9a;}


/************************************************************* topics ******************************************************************/

.wrap_topics h1,.wrap_topics .h1{ color: #00bbc7;}
.topics{ margin: 5vw 0;}
.topics ul { list-style: none; border-top: 2px solid #d4d4d4; border-bottom: 2px solid #d4d4d4; line-height: 1.5;}
.topics li { padding: 10px;}
.topics li:not(:last-child) { border-bottom: 2px dotted #d4d4d4;}
.topics li a { display: flex; padding: 15px; border-radius: 3px;}
.topics li a .date { color: #27a627; width: 20%; text-align: center; font-size: 18px;}
.topics li a p { color: #2c2c2c; width: 80%; margin-bottom: 0; font-size: 20px;}
.topics li a p.important { color: #ef2c2c; font-weight: 600;}
.topics li a:hover{ background: #f8ffee;}

.pagenation{ margin: 50px auto; text-align: center;}
.pagenation span.page-numbers { padding: 3px 10px 5px; border-radius: 3px; color: #fff; background: #0b88a4; position: relative;}
.pagenation a.page-numbers:not(.next):not(.prev) { padding: 3px 10px 1px; margin: 0 5px; background: #00bbc7; border-radius: 3px; color: #fff; 
  border-bottom: 4px solid #0b88a4;}
.pagenation a.page-numbers:not(.next):not(.prev):hover { background: #45D4C9;}

.pagenation .next, .pagenation .prev { position: relative; visibility: hidden;}
.pagenation .next::after, .pagenation .prev::before { visibility: visible; position: absolute; content: ""; width: 12px; height: 20px; right: -10px; top: 2px;
    mask-position: center top; mask-repeat: no-repeat; mask-size: contain; mask-image: url(/_/img/arrw_gry.svg); background: #00bbc7;}
.pagenation .prev::before { transform: rotate(0.5turn); right: unset; left: -10px;}
.pagenation span:first-child::before,.pagenation span:last-child::after{ visibility: visible; position: absolute; content: ""; width: 12px; height: 20px; 
  right: -30px; top: 5px; mask-position: center top; mask-repeat: no-repeat; mask-size: contain; mask-image: url(/_/img/arrw_gry.svg); background: #E0E0E0;}
.pagenation span:first-child::before{ transform: rotate(0.5turn); right: unset; left: -30px;}


.topi_sngl{ padding-bottom: 5vw;}
.wrap_topics .topi_sngl h1{ color: #5a5a5a; border-top: 2px solid #bbbbbb; border-bottom: 2px solid #bbbbbb; padding: 30px; 
  margin-bottom: 5px; font-size: 26px; font-family: 'KiwiMaru'; font-weight: 500; line-height: 1.2;}
.topi_sngl .date{ color: #27a627; text-align: right; padding: 0 15px;}
.topi_sngl .cont{ font-size: 18px; padding: 15px; border-bottom: 2px solid #bbbbbb; margin-bottom: 30px;}

.topi_sngl .prev_next{ display: flex; justify-content: space-between;}
.topi_sngl .prev_next a { display: inline-block; padding: 2px 5px; position: relative; color: #595959; font-size: 18px;}
.topi_sngl .prev_next a:hover{ color: #00bbc7;}
.topi_sngl .prev_next a.next { padding: 2px 5px 2px 15px;}
.topi_sngl .prev_next a.prev { padding: 2px 15px 2px 5px;}
.topi_sngl .prev_next a.next::after { content: ""; position: absolute; top: 2px; left: 0; width: 7px; height: 13px; background: #9f9f9f;
  transform: rotateY(180deg); mask-position: top center; mask-repeat: no-repeat; mask-size: cover; 
  mask-image: url(/_/img/arrw_gry.svg);}
.topi_sngl .prev_next a.prev::after { content: ""; position: absolute; top: 2px; right: 0; width: 7px; height: 13px;
  mask-position: top center; mask-repeat: no-repeat; mask-size: cover; mask-image: url(/_/img/arrw_gry.svg); background: #9f9f9f;}
.topi_sngl .prev_next a:hover::after{ background: #00bbc7;}

.topi_sngl .prev_next .emp a { pointer-events: none; color: #e0e0e0;}
.topi_sngl .prev_next .emp a::after { background: #e0e0e0;}

/************************************************************* 404 ******************************************************************/

.pa404{ width: calc(100% - 100px); max-width: 800px; margin: 0 auto 50px;}
.pa404 p{ line-height: 1.6; font-size: 18px; margin-bottom: 30px; }


/****************************************************************************************************************************************/
/********************************************************* w < 1400 *********************************************************************/

@media screen and (max-width: 1399px) {
  .wrap_2 {　min-height: calc(100vh - 400px);}
  .nav .logo { width: 220px; height: 45px; margin: 10px 0 0;}
  .nav .menu { width: calc(100% - 250px); padding-top: 5px;}
  .nav .menu .link{ margin-right: 10px;}
  .nav .menu .link a{ margin: 5px 15px 0 0;}
  .nav .menu .link .btn { padding: 7px 10px 8px; letter-spacing: -0.05em;}
  
  .top_head,.wrap_2 { margin-top: 66px;}
  .pg_head { margin-bottom: 50px;}
  
  .top_head .tree1,.pg_head .tree1 { left: 5px;}
  .pg_head h1, .pg_head .h1 { left: 14vw;}
  
}

/********************************************************* w < 1200 *********************************************************************/

@media screen and (max-width: 1199px) {
  .nav { height: 64px;}
  .nav_inner { min-width: unset; width: calc(100% - 20px);}
  
  .nav .menu,.nav .menu2 li:last-child{ display: none;}
  .nav .menu2 li:first-child{ margin-right: 90px;}
  .nav .menu2 li:first-child a { width: 130px; position: static; font-size: 19px; padding-top: 35px;}
  .nav.narrow{ height: 55px;}
  
  .sp_nav{ margin: 0; position: fixed; top: 0; right: 0; z-index: 90; display: block;}
  .sp_nav .nav_ico { display: block; width: 45px; height: 45px; position: absolute; top: 8px; right: 15px;
    cursor: pointer; z-index: 91; transition: all .3s ease-in-out;}
  .sp_nav .nav_ico span { display: block; height: 4px; width: 35px; margin: 9px auto; background: #727272; transition: all .5s ease-in-out;
    border-radius: 1px;}
  .sp_nav .nav_sp{ overflow: auto; position: fixed; top: 0; bottom: 0; right: -400px; width: 400px; max-width: 100%; background: #ffffff;
    padding: 50px 15px 15px; box-sizing: border-box; opacity: 0; z-index: 90; transition: 0.3s ease-in-out;}
  .sp_nav .nav_sp ul{ list-style: none; margin: 30px 5px 20px;}
  .sp_nav .nav_sp li{ margin: 10px 5px;}
  .sp_nav .nav_sp ul.menu_insidelk a { display: inline-block; color: #25b300; font-size: 20px; padding: 0 5px; margin-bottom: 15px; font-family: 'KiwiMaru';}
  
  .sp_nav .nav_sp ul.menu_outlk{ margin: -10px 5px 20px 10px; padding: 20px 0 0 10px; border-top: 1px solid #DEDEDE; line-height: 1.5;}
  .sp_nav .nav_sp ul.menu_outlk li{ margin: 0;}
  .sp_nav .nav_sp ul.menu_outlk a { font-size: 18px; color: #3d3d3d; margin: 10px 0 15px;}
  
  .sp_nav.nav_ico_scl { top: -4px;}
  .sp_nav.navOpen .nav_ico span:nth-of-type(1) {
    transform: translateY(14px) translateX(0) rotate(45deg); background: #ff9834;}
  .sp_nav.navOpen .nav_ico span:nth-of-type(2) { opacity: 0;}
  .sp_nav.navOpen .nav_ico span:nth-of-type(3) {
    transform: translateY(-12px) translateX(0) rotate(-45deg); background: #ff9834;}
  .sp_nav.navOpen .nav_sp { opacity: 1; right: 0;}
  
  /************************************************************ top page *************************************************************/
  
  .top_head { padding: 40px 0 80px;}
  .top_head .tree1 { bottom: -20px; transform: none;}
  
  .top_page.inner_cnt { margin: auto; width: calc(100% - 120px);}
  .top_page.inner_cnt:not(.mdl) { max-width: 960px;}
  .top_page.mdl { margin: -40px auto 0;}
  .top_photos { margin: 0 -40px 20px;}
}

/****************************************************************************************************************************************/
/********************************************************* w < 1024 *********************************************************************/

@media screen and (max-width: 1023px) {
  
  .wrap_2 { min-height: calc(100vh - 310px);}
  .inner_cnt,.inner_cnt2{ width: calc(100% - 60px); max-width: 940px;}
  
  
  footer { padding: 20px 0 15px;}
  footer .inner_cnt { display: block;}
  footer .info { padding: 5px 20px 0 0;}
  footer .info p { margin: 0 0 15px 10px;}
  footer .info p span { display: inline-block;}
  footer .info p.copyright { margin: 0 0 0 10px;}
  footer .ft_menu { display: none;}
  
  /************************************************************ top page *************************************************************/
  
  .top_page.inner_cnt { width: calc(100% - 80px);}
  
/************************************************************ excepting top *************************************************************/
  
  .pg_head .tree1 { transform: none; bottom: -30px;}
  .pg_head h1, .pg_head .h1 { font-size: 34px;}
  
  .excp_top h2 { font-size: 24px; margin-bottom: 15px;}
  .excp_top p.lead_txt { margin: 0 auto 20px; width: calc(100% - 60px); max-width: 900px;}
  
  .excp_top.wrap_facility p.lead_txt { margin: 0 auto 40px;}
  
  
  .dv_section { padding: 30px 0;}
  
/************************************************************* life ******************************************************************/
  
  .lifstyle { flex-wrap: wrap;}
  .lifstyle div{ width: 100%;}
  .lifstyle.ex1 div:first-child,.lifstyle.ex2 div:first-child { width: 100%;}
  .lifstyle.ex1 div:last-child { text-align: right; padding-right: 10vw;}
  .lifstyle.ex2 div:last-child { text-align: right; padding-right: 5vw;}
  
  .wrap_life .others { margin: 20px auto 0;}
  .wrap_life .expn { display: block; padding: 10px; width: calc(100% - 60px); box-sizing: border-box;}
  .wrap_life .expn div:not(.photo) { width: 100%; max-width: unset; padding: 15px 20px; box-sizing: border-box;}
  .wrap_life .expn div:not(.photo):nth-child(1), .wrap_life .expn div:not(.photo):nth-child(2){ 
    border-bottom: 2px solid #e5e5e5; border-right: none;}
  
  
  .from_d { padding-bottom: 60px;}


/************************************************************* information ******************************************************************/
  
  
  .wrap_information .note { text-align: left;}

  .flow li:first-child{ padding: 20px 35px 50px min(60px, 6vw);}
  .flow li:first-child p{ max-width: unset;}
  .flow li:last-child{ padding: 20px 35px 80px min(60px, 6vw);}
  .flow .img.img2 { bottom: -70px;}
  
/************************************************************* access ******************************************************************/ 
  .a_map { padding: 10px 0 0;}
  .a_map .map { padding: 8px;}
  .surrounding { padding: 30px 0 200px;}
  
/************************************************************* contact ******************************************************************/

  .form_p { padding: 30px 0 5px; width: calc(100% - 60px);}
  .form_p p.required{ margin: 0 30px 5px;}
  .form_p dt { width: 200px;}
  .form_p dd { width: calc(100% - 200px);}
  
  .form_p.form_confirm{ padding: 0;}
  .contact_confirm { margin: auto; width: calc(100% - 60px);}
  .contact_confirm h2 { margin-bottom: 10px;}
  .contact_confirm p { margin-bottom: 20px;}
  
  .thanks_p { margin-top: -30px;}
  
  /************************************************************* topics ******************************************************************/

  .topics li { padding: 5px 0;}
  .topics li a .date { width: 120px; text-align: left;}
  .topics li a p { width: calc(100% - 120px);}
  
  .wrap_topics .topi_sngl h1 { padding: 20px;}
  .topi_sngl .date { padding: 0;}
  .topi_sngl .cont { margin-bottom: 20px;}
  
  /************************************************************* privacypolicy ******************************************************************/
  
  .privacypolicy .lead { padding: 0 30px; margin-top: -30px;}
  
  /************************************************************* 404 ******************************************************************/
  
  .pa404 p { font-size: 16px;}
  
  
}



/**************************************************************************************************************************************/
/********************************************************** sp (w < 744) **************************************************************/

@media screen and (max-width: 743px) {
  
  .page_top{ display: none;}
  
  .sp_only{ display: inherit;}
  .pc_only{ display: none;}

  .inner_cnt,.inner_cnt2{ width: calc(100% - 50px);}
  
  .nav { height: 55px;}
  .nav .logo,.nav.narrow .logo{ margin: 8px 0 0; width: 200px;}
  .nav .menu2 { top: -20px;}
  .nav .menu2 li:first-child { margin-right: 75px;}
  .nav .menu2 a { padding-top: 38px;}
  
  .sp_nav .nav_ico { top: 4px;}
  .sp_nav.nav_ico_scl { top: 0;}
  
  .nav.narrow .menu2 { top: -30px;}
  .nav.narrow .menu2 a { padding-top: 45px;}
  
  /************************************************************ top page *************************************************************/
  
  .top_head,.wrap_2 { margin-top: 56px;}
  .top_head .photo { width: calc(100% - 10px);}
  .top_head .top_copy_text { left: 2%;}
  
  .top_page.inner_cnt { width: calc(100% - 60px); padding-bottom: 160px;}
  .top_page.inner_cnt .lead_txt { font-size: 22px;}
  .top_page.inner_cnt:not(.mdl) .btn_r{ float: right;}
  
  .top_photos { margin: -40px -20px 20px; display: block; position: relative;}
  .top_photos .couple { position: absolute; width: 180px; top: -20px; left: 20px; transform: translateY(-100%);}
  .top_photos ul { width: 100%;}
  .top_photos li { min-width: 240px; width: calc(50% - 20px); flex-grow: 1; margin: 0 10px 15px;}
  
  .top_page.inner_cnt.mdl {padding-bottom: 220px;}
  .top_page.mdl .img { right: 0;}
  
  .top_menu ul{ flex-wrap: wrap; position: relative;}
  .top_menu ul::after{ content:"";  width: calc(100% / 3 - 30px); max-width: 380px; min-width: 220px; box-sizing: border-box;  margin: 0 15px; flex-grow: 1;}
  .top_menu li { margin: 0 15px 15px; flex-grow: 1;}
  
  .top_topics { padding: 30px 0;}
  .top_topics li a { display: block; padding: 5px 10px;}
  .top_topics li a .date { width: 100%; display: inline-block; text-align: left; margin-bottom: 5px;}
  .top_topics li a p { width: 100%; font-size: 19px;}
  
  /************************************************************ excepting top *************************************************************/
  
  
  .pg_head h1, .pg_head .h1 { font-size: 28px; left: 70px; z-index: 1; letter-spacing: -0.01em;}
  .pg_head .tree1 { width: 80px;}
  
  .excp_top h2 { font-size: 24px; margin-bottom: 10px;}
  
  
/************************************************************* facility-info ******************************************************************/
 
  .floor_map { padding-bottom: 50px;}
  .floor_map .img { width: 100%;}
  .floor_map .img2 { position: relative; top:15px; transform: none;}
  .floor_map .img2::before { left: unset; right: 0;}
  .flx_photos li,.flx_photos::after{ width: clamp(240px, calc(50% - 20px), 360px);}
  .flx_photos.room .clm1{ width: clamp(300px, calc(50% - 20px), 560px);}
  
  .outline { display: block;}
  .outline dt { width: 100%; text-align: left; padding: 10px 10px 0; border-bottom: none;}
  .outline dd { width: calc(100% - 20px); padding: 5px 10px 10px;}
  
/************************************************************* life ******************************************************************/
  
  .wrap_life .others { padding: 15px 10px 10px 15px;}
  .wrap_life .expn { width: calc(100% - 20px); padding: 2px 10px;}
  .from_d { padding-bottom: 30px;}

/************************************************************* information ******************************************************************/
  
  .a_room .info { display: block;}
  .a_room .info div{ width: 100%;}
  .a_room .info div p{ margin-bottom: 10px;}
  .a_room h3 {  margin: 0 -12px 20px;}
  .a_room .info li { margin: 0 0 10px 20px;}
  .a_room .info .img { margin: -20vw 0 0; width: 100%; text-align: right;}
  
  .wrap_information .bg_grn .inner_cnt2 { padding: 20px;}
  .fee_plan { display: block;}
  .fee_plan dt, .fee_plan dd,.wrap_information .note{ width: 100%; text-align: left;}
  .fee_plan dt{ border-bottom: none; padding: 8px 15px 0;}
  .fee_plan dd { padding: 0 15px 8px;}
  .fee_plan dt:first-child { padding: 5px 10px 0;}
  .fee_plan dd:first-of-type { padding: 5px 15px;}
  
  .conditions { padding: 15px 15px 10px; margin-bottom: 50px;}
  .list_acc:not(.list2) { margin-top: 20px;}
  .list_acc,.conditions li{ font-size: 18px;}
  .list_acc li { margin: 0 15px 12px 0;}
  
  .flow li{ padding: 20px 20px 5px;}
  .flow li:first-child { padding: 20px 20px 50px;}
  .flow li:last-child { padding: 20px 20px 80px;}
  .flow h3 { margin: 0 0 10px;}
  
  .flow .img { right: 5px; bottom:-30px;}
  .tel_inline { pointer-events: auto;}
  
/************************************************************* access ******************************************************************/
  
  .a_map .map { padding: 5px; margin: 0 -5px; border: 2px solid #e5e5e5;}
  .surrounding { padding: 20px 0 25vw;}
  
  /************************************************************* contact ******************************************************************/
  
  .wrap_contact h2{ letter-spacing: -0.02em; margin-bottom: 20px;}
  .contact a { pointer-events: auto; font-size: 40px; letter-spacing: 0.05em;}
  
  .ln_blu { margin: 0;}
  .form_p { padding: 10px 0 5px; width: calc(100% - 40px);}
  
  .form_p p.required { margin: 0 5px 5px;}
  .form_p dl { display: block;}
  .form_p dt { width: 100%; text-align: left; padding: 15px 20px 0; border-bottom: none;}
  .form_p dd { width: 100%; padding: 15px 10px 20px; }
  .form_p:not(.form_confirm) dd:last-child { padding: 15px 10px 20px 20px;}
 
  
  .contact_confirm { width: calc(100% - 40px);}
  .contact_confirm h2 { margin-bottom: 10px;}
  .contact_confirm p { margin-bottom: 15px;}
  
  .form_p.form_confirm dt { padding: 15px 20px 0;}
  .form_p.form_confirm dd { padding: 5px 20px 15px 20px;}
  
  .form_p.form_confirm .submit_btn { margin: 40px auto 30px;}
  
  .thanks_p p { font-size: 17px; line-height: 1.4; margin-bottom: 30px;}
  
  /************************************************************* plivacy policy ******************************************************************/
  
  .privacypolicy { margin: 0 auto 20px;}
  .privacypolicy .lead { padding: 0 10px; margin-top: -40px;}
  .privacypolicy .frm_g { padding: 0 20px 10px;}
  .privacypolicy h2 { margin: 20px 0 5px; font-size: 21px;}
  .privacypolicy h3 { margin: 15px 0 5px; font-size: 19px;}
  .privacypolicy p{ font-size: 17px;}
  
  /************************************************************* topics ******************************************************************/
  
  .topics li a { display: block; padding: 5px 10px;}
  .topics li a p { width: 100%; font-size: 19px;}
  
  .wrap_topics .topi_sngl h1 { padding: 15px 5px; font-size: 24px;}
  .topi_sngl .cont { padding: 5px; font-size: 17px;}
  
  .topi_sngl .prev_next { position: relative; padding-bottom: 55px;}
  .topi_sngl .prev_next div:nth-child(2){ position: absolute; bottom: 0; width: 100%; text-align: center; border-top: 1px dashed #bbbbbb; 
    padding-top: 15px;}
  
  /************************************************************* 404 ******************************************************************/ 
  
  .head_404 { height: 55vw;}
  .txt404 { width: 80vw; min-width: unset; left: 30px; top: auto; bottom: 0;}
  .pa404 { margin: 20px auto 50px; width: calc(100% - 60px);}
}

/**************************************************************************************************************************************/
/********************************************************** sp (w < 430) **************************************************************/
@media screen and (max-width: 430px){
  
  .inner_cnt,.inner_cnt2{ width: calc(100% - 30px);}
  
  .top_page.inner_cnt{ width: calc(100% - 40px);}
  .top_photos ul { width: calc(100% - 40px); margin: auto;}
  .top_page.inner_cnt p { font-size: 17px;}
  
  .top_topics li { padding: 8px 0;}
  
  footer .inner_cnt { width: calc(100% - 30px);}
  
/************************************************************ excepting top *************************************************************/

  .pg_head { height: 140px; margin-bottom: 40px;}
  .pg_head h1, .pg_head .h1 { font-size: 26px; bottom: 15px; top: unset; transform: none; left: 95px;}
  .excp_top p.lead_txt { width: calc(100% - 30px);}
  
/************************************************************* information ******************************************************************/
  
  .r_area, .a_room h3 { margin: 0 5px 15px;}
  .a_room .info li { margin: 0 0 10px 40px;}
  .a_room .info .img { margin: 20px 0 0; text-align: center; }
  
  .conditions { margin-bottom: 30px;}
  .list_acc:not(.list2) { margin-top: 10px;}
  
  .wrap_information .bg_grn .inner_cnt2{padding: 10px 15px;}
  .flow { margin-bottom: 50px;}
  .flow li { padding: 15px 10px 0 15px;}
  .flow h3 { font-size: 20px;}
  .tel_inline{ font-size: 22px;}
  
  /************************************************************* contact ******************************************************************/
  
  .contact a { letter-spacing: 0;}
  .form_p { width: calc(100% - 20px);}
  .form_p dt { padding: 10px 10px 0;}
  .form_p dd { padding: 10px 5px 15px;}
  .form_p:not(.form_confirm) dd:last-child { padding: 10px 5px 15px 15px;}
  
  .form_p.form_confirm dt { padding: 10px 10px 0;}
  .form_p.form_confirm dd { padding: 5px 10px 10px 15px;}
  
  .contact_confirm{ width: calc(100% - 20px);}
  
  /************************************************************* topics ******************************************************************/
  
  .wrap_topics .topi_sngl h1 { padding: 10px 5px; font-size: 22px;}
  .topi_sngl .cont { padding: 0;}
  
  
 /************************************************************* plivacy policy ******************************************************************/
  
  .wrap_privacypolicy .pg_head h1 { left:85px;}
  .privacypolicy .lead { padding: 0; margin-top: -30px;}
  .privacypolicy .frm_g { padding: 0 15px 10px; margin: 0 -5px;}
  
}
