@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Aboreto&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');

/*
Theme Name:sundance-resortclub
*/

/*google font
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: "Shippori Mincho", serif;
font-family: "Aboreto", system-ui;
*/


/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17

*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
*{box-sizing: border-box;}
body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

ul,ol {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#fff;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
img{
	vertical-align:bottom;
	max-width: 100%;
}


/************** layout base ********************/

.clearfix{
overflow:hidden;
}
.clear:after{
	content:"";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}


a{color:#4A4A4A; 
 text-decoration: none;
  transition: 0.2s ease-in-out; 
}
a:hover{
}

/*ボタンrollover*/
a:hover{
-moz-opacity:0.60;
opacity:0.60;}

sup {
	line-height: 100%;
	font-size:10px;
	vertical-align: 0.4em;
}
sub{
	line-height: 100%;
	font-size:10px;
	vertical-align: -0.1em;
}

.txtLeft{
text-align:left;
}
.txtRight{
text-align:right;
}
.txtCenter{
text-align:center;
}
.fw{font-weight:bold !important;}
.f10{ font-size:10px !important;}
.f11{ font-size:11px !important;}
.f12{ font-size:12px !important;}
.f13{ font-size:13px !important;}
.f14{ font-size:14px !important;}
.f15{ font-size:15px !important;}
.f16{ font-size:16px !important;}
.f17{ font-size:17px !important;}
.f18{ font-size:18px !important;}

.txtRed{ color:#e60012;}
.note{ color: var(--Lgray); font-size:11px;
line-height: 1.6;}

.fLeft{ float:left;}
.fRight{ float:right;}
.fNon{
	float:none !important;
}

.mTop0{ margin-top:0 !important;}
.mTop5{ margin-top:5px !important;}
.mTop10{ margin-top:10px !important;}
.mTop15{ margin-top:15px !important;}
.mTop20{ margin-top:20px !important;}
.mTop25{ margin-top:25px !important;}
.mTop30{ margin-top:30px !important;}
.mTop35{ margin-top:35px !important;}
.mTop40{ margin-top:40px !important;}
.mTop45{ margin-top:45px !important;}
.mTop50{ margin-top:50px !important;}

.mBtm0{ margin-bottom:0 !important;}
.mBtm5{ margin-bottom:5px !important;}
.mBtm10{ margin-bottom:10px !important;}
.mBtm15{ margin-bottom:15px !important;}
.mBtm20{ margin-bottom:20px !important;}
.mBtm25{ margin-bottom:25px !important;}
.mBtm30{ margin-bottom:30px !important;}
.mBtm35{ margin-bottom:35px !important;}
.mBtm40{ margin-bottom:40px !important;}
.mBtm45{ margin-bottom:45px !important;}
.mBtm50{ margin-bottom:50px !important;}
.mBtm60{ margin-bottom:60px !important;}

.pTop0{ padding-top:0 !important;}
.pTop5{ padding-top:5px !important;}
.pTop10{ padding-top:10px !important;}
.pTop15{ padding-top:15px !important;}
.pTop20{ padding-top:20px !important;}
.pTop25{ padding-top:25px !important;}
.pTop30{ padding-top:30px !important;}
.pTop35{ padding-top:35px !important;}
.pTop40{ padding-top:40px !important;}
.pTop45{ padding-top:45px !important;}
.pTop50{ padding-top:50px !important;}

.pBtm0{ padding-bottom:0 !important;}
.pBtm5{ padding-bottom:5px !important;}
.pBtm10{ padding-bottom:10px !important;}
.pBtm15{ padding-bottom:15px !important;}
.pBtm20{ padding-bottom:20px !important;}
.pBtm25{ padding-bottom:25px !important;}
.pBtm30{ padding-bottom:30px !important;}
.pBtm35{ padding-bottom:35px !important;}
.pBtm40{ padding-bottom:40px !important;}
.pBtm45{ padding-bottom:45px !important;}
.pBtm50{ padding-bottom:50px !important;}
.pBtm60{ padding-bottom:60px !important;}




main{
/* overflow: hidden;*/
 contain: paint;
}
.flex{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;}
.inner{
 width: 86%;
 max-width: 1200px;
 margin: 0 auto;
}

@media screen and (min-width: 769px) {
.spOnly{ display:none;}
	.pcFlex{		
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {
.pcOnly{ display:none;}

}/*spOnly*/


/*色
========================================== */
:root {
  --base: #272727;
  --bk: #000;
  --wh: #fff;
  --red: #911D31;
 --beige:#F6F2EE;
  --Lbeige: #FBF9F7;
 --gray:#222222;
  --Lgray: #999999;
 --green:#1B4D3E;
 --Lgreen:#20735A;
}

/*文字色
========================================== */
.baseC{  color: var(--base) !important;}
.red{ color: var(--red) !important;}
.gray{  color: var(--Lgray) !important;}
.bk {  color: var(--bk) !important;}
.white {  color: #fff !important;}

/*背景
========================================== */
.bgBase{ background-color: var(--base) !important;}
.bgGray{ background-color: var(--gray) !important;}
.bgLBeige {  background-color: var(--Lbeige) !important;}
.bgW{  background-color: #fff !important;}

/************** layout base ********************/
body{
position: relative;
background:var(--beige);
text-align:center;
		font-family:"Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
line-height:1.2;
 font-weight: 400;
 padding-top: 71px;
 letter-spacing: 0.05em;
}

.fontMin{
 font-family:"Shippori Mincho", Garamond , "Times New Roman" ,"游明朝" , "Yu Mincho" ,"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" ,  "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
.fontA{
font-family: "Aboreto", system-ui;
}
.fontG{
 font-family:"Noto Sans JP","游ゴシック", YuGothic,  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.js-inview{
 opacity: 0;
}
div,p,dl{
text-align:left;
}

p,dt,dd,li,td,th{
color:#272727;
font-size:14px;
line-height:2;
}
h1,h2,h3,h4,h5,h6{
 color: #272727;
 font-family: "Shippori Mincho", serif;
	font-size:20px;
 font-weight: 400;
 line-height: 1.1;
 text-align: left;
}
h1{

}
h2{
font-size: 26px;
}

@media screen and (max-width: 768px) {
	body{
		font-family: "Noto Sans JP",Roboto, “Droid Sans”, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;	
-webkit-text-size-adjust: 100%;
  padding-top: 84px;
	}
img{
	height: auto;}

p,dt,dd,li,td,th{
font-size:14px;
line-height:2;
}
 h1,h2,h3,h4,h5,h6{
	font-size:18px;
}
h1{
font-size:26px;
}
 h2{
font-size:20px;
}

}/*-sp end-*/
/*------------------ list style----------------*/
.numberList{
	padding:0 0 0 18px;	
}
.numberList li{
	list-style:decimal outside;
	padding:0 0 5px 0;
}

.discList{
	padding:0 0 0 18px;
}
.discList li{
	list-style:disc outside;
	padding:0 0 2px 0;
}

.indentList li{
	padding-left:1em;
	text-indent:-1em;
}
.indentList li + li{
	margin-top: 5px;
}

/*****************  head ***********************/
header{
	background: #F6F2EE;
 border-bottom: 1px rgba(39,39,39,.15) solid;
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 71px;
 z-index: 100;
}
header > div{
 position: relative;
 display: flex;
 justify-content: space-between;
 align-items: center;
 height: 70px;
 padding: 0 0 0 50px;
}
#logo img{
 width: 100px;
}
.langBtn{
 position: relative;
  line-height: 1;
}
.langBtn::after{
  content: "";
 display: block;
 background: var(--base);
	width:8px;
	height:6px;
clip-path: polygon(0 0, 50% 100%, 100% 0);
 position: absolute;
 top: 0;
 right: 0;
  bottom: 0;
 margin: auto;
 }
.langBtn select{
  appearance: none;
  border: none;
  background: none;
  width: 34px;
  height: 1.5em;
  padding: 0;
  font-family: "Shippori Mincho", serif;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
 }
.langBtn select:focus {
    outline: none;
}
@media screen and (max-width: 768px) {/*----SP header----*/	
header{
 border-bottom: none;
 height: 84px;
}
header > div{
 padding: 0 7vw;
}
 .langBtn{
  display: none;
  margin: 0 20px 0 auto;
 }
#spMenu{
 position: relative;
	width:30px;
	height: 24px;
 cursor: pointer;
}
 #spMenu::before,
 #spMenu::after{
   content: "";
   display: block;
   background: #272727;
   width: 100%;
   height: 1px;
   position: absolute;
   top: 8px;
   left: 0;
   -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out; 
 }
 #spMenu::after{
  top: 16px;
 }
 #spMenu.active::before,
 #spMenu.active::after{
  top: 50%;
 }
 #spMenu.active::before{
  -webkit-transform: rotate(30deg);
transform: rotate(30deg);
 }
 #spMenu.active::after{
  left: auto;
  right: 0;
  -webkit-transform: rotate(-30deg);
transform: rotate(-30deg);
 }
 #gNavi{
  position: absolute;
  top: -100vh;
  left: 0;
  background:var(--beige);
  width: 100%;
 min-height:calc(100vh - 84px);
  /*min-height: 100vh;
 max-height: 100vh ;*/
 overflow-y: auto;
 opacity: 0;
  -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out;
 }
 #gNavi.active{
 height:calc(100vh - 84px);
 top:84px;
  opacity: 1;
 }
}/*-SP-*/
/*****************  navi ***********************/
#gNavi li{
 position: relative;
}
#gNavi li a{
 display: flex;
 align-items: center;
}

@media screen and (min-width: 769px) {/*PC gnavi*/
 #gNavi{
  display: flex;
  font-family: "Shippori Mincho", serif;
 }
#gNavi >ul{	
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: flex-start;
 align-items: center;
 width: 100%;
}
 #gNavi >ul li a{
  height: 70px;
  padding: 0 min(1.2vw,15px);
  font-size: min(1.2vw,14px);
 }
 #gNavi .langBtn{
  display: none;
  margin-right:min(1.8vw,30px) ;
 }
 #gNavi .langBtn select{
  font-size: min(1.2vw,14px);
 }
 #gNavi .web a{
  display: grid;
 place-content: center;
  background: var(--green);
  width: 10.8vw;
  max-width: 150px;
  height: 70px;
  color: #fff;
 }
 #gNavi .web a:hover{
  background: #fff;
  color: var(--green);
  opacity: 1;
 }
}/*-PC only-*/

@media screen and (max-width: 768px) {/*----SP gnavi----*/
 #gNavi{
  padding: 0 7vw 40px;
 }
 #gNavi>ul{
  border-top: 1px #ccc solid;
 }
 #gNavi>ul>li{
  border-bottom: 1px #ccc solid;
 }
 #gNavi>ul>li a{
  position: relative;
  display: flex;
  align-items: center;
  background: url("images/arrow.svg") no-repeat right center/9px auto;
  min-height: 40px;
  height: 5vh;
  font-size: 13px;
  text-align: left;
 }
 #gNavi .web{
  margin-top: 3vh;
 }
 #gNavi .contact{
  margin-top: 2vh;
  margin-bottom: 3vh;
 }
 #gNavi .web a,
 #gNavi .contact a{
 display: grid;
 place-content: center;
  border-radius: 6px;
  border: 1px var(--base) solid;
  background: url("images/arrow_beige.svg") no-repeat right 19px center/16px auto;
  min-height: 45px;
  height: 5.5vh;
  padding-right: 36px;
  font-family: "Shippori Mincho", serif;
  font-size: 16px;
 }

 #gNavi .telArea p{
  border-top: 1px #ccc solid;
  padding: 3vh 0;
 }
 #gNavi .telArea p span{
  font-size: 12px;
 }
 #gNavi .telArea p a{
  display: block;
  font-size: 30px;
  line-height: 1;
 }
 #gNavi .telArea p .time{
  font-size: 11px;
 }
}/*-SP-*/

/*****************  foot ***********************/
footer{
 position: relative;
 background: #111111;
 padding-bottom: 100px;
}
/**/
#footResort{
 background: #fff;
 padding: 100px 0;
}
#footResort .inner{
 max-width: 1100px;
}
#footResort li{
 border-bottom: 1px #CCCCCC solid;
}
#footResort li a{
 display: block;
 background: url("images/arrow.svg") no-repeat right center/9px auto;
 font-size: 13px;
 padding: 15px 0;
 line-height: 1;
}
@media screen and (min-width: 769px) {
 #footResort h2{
  margin-bottom: 50px;
  font-size: 20px;
 }
 #footResort ul{
  display: flex !important;
  justify-content: flex-start;
  gap: 12px 20px;
 }
 #footResort ul li{
  width: calc((100% - 20px*3)/4);
 }
}/*-PC only-*/

@media screen and (max-width: 768px) {
 #footResort{
  padding: 0;
 }
 #footResort .inner{
  width: auto;
 }
 #footResort h2{
  position: relative;
  display: flex;
  align-items: center;
  height: 75px;
  padding: 0 7vw;
  font-size: 20px;
  cursor: pointer;
 }
 #footResort h2::before,#footResort h2::after{
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  background: var(--base);
  position: absolute;
  right: 7vw;
  top: 0;
  bottom: 0;
  margin: auto;
 }
 #footResort h2::after{
  -webkit-transform: rotate(90deg);
transform: rotate(90deg); 
            transition: 0.2s ease-in-out; 
 }
 #footResort h2.active::after{
  -webkit-transform: rotate(0deg);
transform: rotate(0deg);
 }
 #footResort ul{
  display: none;
  padding: 0 7vw 70px;
 }
 
}/*-SP only-*/
/**/
#footContact{
 background: #222222;
 padding: 100px 0;
}
#footContact .inner{
 max-width: 1100px;
}
#footContact h2{
 margin-bottom: 50px;
 color: #fff;
}
#footContact .tel,
#footContact .tel *{
 color: #fff;
}
@media screen and (min-width: 769px) {
 #footContact ul{
  justify-content: space-around;
 }
 #footContact ul .btns{
  width: 34%;
  max-width: 370px;
  padding-right: 50px;
 }
 #footContact ul .tel{
  border-left: 1px #333333 solid;
  width: 35%;
  max-width:382px ;
  padding: 22px 0 0 40px;
 }
 #footContact ul .tel + .tel{
  width: 31%;
  max-width: 348px;
 }
}/*-PC only-*/

#footContact ul .btns a{
 display: grid;
 place-content: center;
 border-radius: 6px;
 background: url("images/arrow_beige.svg") no-repeat right 20px center/16px auto #fff;
 padding-right: 36px;
 height: 54px;
 font-size: 16px;
  font-family: "Shippori Mincho", serif;
}
#footContact ul .btns a + a{
 margin-top: 20px;
}
#footContact .tel{
 line-height: 1.1;
}
#footContact .tel span{
 font-size: 12px;
}
#footContact .tel a{
 display: block;
 padding: 15px 0;
 font-size: 30px;
 line-height: 1;
}
#footContact .tel .time{
 font-size: 11px;
}
#footContact ul .btns a:hover{
 background: url("images/arrow_c.svg") no-repeat right 20px center/16px auto var(--base);
 color: #fff;
opacity: 1;
}

@media screen and (max-width: 768px) {/*SP #footContact*/
#footContact{
 padding: 70px 0;
}
#footContact h2{
 margin-bottom: 40px;
}
 #footContact ul .tel{
  border-top: 1px #333333 solid;
  padding-top: 30px;
  margin-top: 30px;
 }

}/*-SP only-*/

/**/
.footInner a{
 color: #fff;
}
.footSns{
 gap:0 20px;
}
.footSns a{
 display: flex;
 align-items: center;
 gap:0 10px;
 font-size: 12px;
 letter-spacing: 0.1em;
}
.footcopy p a{
 display: inline-block;
 padding: 0 15px;
 font-size: 12px;
 letter-spacing: 0.1em;
 line-height: 13px;
}
.footcopy p a + a{
 border-left: 1px #222 solid;
 padding-right: 0;
}

footer small{
 display: block;
 color: #fff;
 font-size: 10px;
 letter-spacing: 0.1em;
}

@media screen and (min-width: 769px) {
 .footInner{
  padding-top: 100px;
  margin: 0 50px;
 }
 .footInfo{
  align-items: flex-start;
 }
 .footNav{
  justify-content: flex-end;
  max-width: calc(100% - 145px - 10px);
  gap:0 min(2vw,30px);
 }
 .footNav li a{
  display: block;
  line-height: 1.2;
 }
 .footSns{
  justify-content: flex-end;
  margin-top: 6px;
 }
 .footcopy{
  border-top: 1px #222222 solid;
  margin-top: 50px;
  padding-top: 30px;
  flex-flow: row-reverse;
  align-items: center;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP*/
 .footInner{
  padding: 70px 7vw 0;
 }
 .footNav{
  border-top: 1px #222 solid;
  margin-top: 30px;
 }
 .footNav li{
  border-bottom: 1px #222 solid;
 }
 .footNav li a{
 display: flex;
  align-items: center;
 background: url("images/arrow_wh.svg") no-repeat right center/9px auto;
  height: 50px;
 font-size: 13px;
 line-height: 1;

 }
 .footSns{
  margin-top: 30px;
 }
 .footcopy p{
  margin-top: 30px;
  line-height: 1;
 }
.footcopy p a:first-child{
 padding-left: 0;
}
footer small{
 margin-top: 40px;
}
}/*-SP only-*/


/*--
#pageTop{
	position: fixed;
	right: 50px;
	bottom: 60px;
 width: 87px;
	cursor: pointer;
	z-index: 1000;
}*/
@media screen and (max-width: 768px) {/*----SP ----
#pageTop{
	right: 4vw;
 width: 47px;
}*/
}/*-SP-*/


@media screen and (max-width: 768px) {
.fixedBtn{
 position: fixed;
 left: 0;
 bottom: 0;
 display: flex;
 width: 100%;
 text-align: center;
 z-index: 99;
}
 .fixedBtn a{
  display: flex;
  align-items: center;
  background:url("images/arrow_wh.svg") no-repeat right 20px center /9px auto var(--green);
 width: 100%;
  height: 60px;
  padding: 5px 5px 5px 20px;
  color: #fff;
 font-family: "Shippori Mincho", serif;
  font-weight: 500;
 }
 .fixedBtn a +a{
  background-color: var(--Lgreen);
 }
}/*-SP only-*/

/*****************  contents ***********************/
main section{
 position: relative;
 padding-top: 120px;
 padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
main section{
 padding-top: 70px;
 padding-bottom: 70px;
}
}/*-SP only-*/

/*title*/
.pageTitle{
 margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
.pageTitle{}

}/*-SP only-*/

/*btn*/
.btnWrap{
 margin-top: 50px;
}
.btnWrap.right .btn{
 margin: 0 0 0 auto;
}
.btnWrap.left .btn{
 margin: 0;
}

.btn{
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius:6px;
 background:url("images/arrow_red.svg") no-repeat right 19px center /16px auto var(--red);
 width: 100%;
 max-width: 320px;
 height: 54px;
 padding-right: 34px;
 margin: 0 auto;
 color: #fff;
 font-family: "Shippori Mincho", serif;
 font-size: 16px;
 text-align: center;
}
.btn.bgBase{
 background-image: url("images/arrow_c.svg");
 background-repeat: no-repeat;
 background-size: 16px auto;
 background-position: right 19px center;
}
.btn.pdf{
 background-image: url("images/ic_pdf_beige.svg");
 background-repeat: no-repeat;
 background-size: 27px auto;
 background-position: right 20px center;
 padding-right: 47px;
}
.btn.icMap{
 background-image: url("images/ic_map_beige.svg");
 background-repeat: no-repeat;
 background-size: 18px auto;
 background-position: right 20px center;
 padding-right: 47px;
}
.btn:hover{
 background:url("images/arrow_red_wh.svg") no-repeat right 19px center /16px auto #fff;
 color: var(--red); 
 opacity: 1;
}
.btn.bgBase:hover{
 background-image: url("images/arrow_beige.svg");
 background-color: var(--base);
 color: #fff;
}
@media screen and (max-width: 768px) {
.btn{
 max-width: 400px;
 }

}/*-SP only-*/

/************/



/***********/

/*------------------------
    TOP
-------------------*/
#top{
 padding-top: 0;
}
#top header:not(.fixed):not(.active){
 border-bottom: none;
 background: none;
}
#top header:not(.fixed):not(.active) #logo{
 background: url("images/logo_wh.svg") no-repeat left top /100% auto;
}
#top header:not(.fixed):not(.active) #logo img{
 opacity: 0;
}
#top header:not(.fixed):not(.active) .langBtn select{
 color: #fff;
}
#top header:not(.fixed):not(.active) .langBtn::after{
 background: #fff;
}
@media screen and (min-width: 769px) {/*PC TOP header */
 #top header:not(.fixed) #gNavi li a{
  color: #fff;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP TOP header */
 #top header:not(.fixed):not(.active) #spMenu::before,
 #top header:not(.fixed):not(.active) #spMenu::after{
  background: #fff;
 }
 #top header.active #spMenu{}
}/*-SP only-*/

#mv{
	position: relative;
 height: 100vh;
 display: flex;
 align-items: center;
 background: url("images/top_mv.jpg") no-repeat center top/cover;
}
#mv h2{
 color: #fff;
 font-size: 46px;
 letter-spacing: 0.15em;
 line-height: 1.4;
}


@media screen and (max-width: 768px) {/*SP MV*/
#mv{
 background: url("images/top_mv_sp.jpg") no-repeat center top/cover;
 height: 100svh;
}
#mv h2{
 color: #fff;
 font-size: min(7vw,30px);
 line-height: 1.53;
}

}/*-SP only-*/

#top main section:not(#mv){
 padding-top: 0;
 padding-bottom: 0;
}
#top main section:not(#mv) .inner{
 position: relative;
  padding-left: 50px;
 padding-bottom: 120px;
}
#top main h2{
 font-size: 36px;
}
.subTtl{
 position: sticky;
 left:3.5vw;
 top:74px;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 1em;
 font-family: "Shippori Mincho", serif;
 font-size: 16px;
 line-height: 1;
 -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
 z-index: 2;
}
.subTtl::before{
 content: "";
 display: block;
 background: var(--base);
 width: 1px;
 height: 100px;
 margin: 0 auto 20px;
}
@media screen and (max-width: 768px) {/*SP subTtl*/
 #top main section{
  padding-top: 0;
 padding-bottom: 0;
 }
#top main section:not(#mv) .inner{
  padding-left: 7vw;
 padding-bottom: 70px;
}
#top main h2{
 font-size: 26px;
}
.subTtl{
 left:4.9vw;
 top: 84px;
}
.subTtl::before{
 height: 50px;
 margin: 0 auto 20px;
}

}/*spOnly*/

.ttlArea{}
@media screen and (min-width: 769px) {
 .ttlArea.pcFlex{
  gap:0 100px;
  justify-content: flex-start;
  margin-bottom: 70px;
 }
 .ttlArea.pcFlex h2{
  flex:0 0 auto;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {
 .ttlArea{
  margin-bottom: 50px;
 }
 .ttlArea h2{
  margin-bottom: 35px;
 }
}/*-SP only-*/
/**/
#topMessage{}
 #topMessage .inner{
  margin-top: -106px;
 }
@media screen and (min-width: 769px) {
 #topMessage .messageList li{
  width: 29%;
  max-width: 330px;
 }
}/*-PC only-*/

.messageList li a{
 display: block;
}
.messageList li .date{
 display: flex;
 justify-content: space-between;
 margin-bottom: 15px;
 font-size: 13px;
 line-height: 1;
}
.messageList li .cat{
 color: var(--Lgray);
}
.messageList li figure{
 overflow: hidden;
 height: 220px;
 margin: 0 0 20px;
}
.messageList li figure img{
 object-fit: cover;
 width: 100%;
 height: 100%;
}
.messageList li p.cat{
 margin-bottom: 16px;
 font-size: 13px;
 line-height: 1;
}
@media screen and (max-width: 768px) {/*SP topMessage*/
 #topMessage{
  contain: paint;
 }
 #topMessage .spSlider{
  margin: 0 -7vw 0 -3.5vw;
  padding-right: 22.89vw;
 }
 #topMessage .spSlider .slick-list{
  overflow: visible;
 }
 #topMessage .spSlider li{
  margin: 0 3.5vw;
 }
.messageList.spSlider li figure, 
.messageList.sideSlider li figure{
 height: 42vw;
 max-height: 220px;
 margin: 0 0 18px;
}

}/*-SP only-*/
/**/
#topAbout{
	position: relative;
}
 #topAbout .inner{
  margin-top: -130px;
 }
#topAbout h2{
 margin-bottom: 80px;
 line-height: 1.66;
}
#topAbout p:not(.subTtl){
 position: relative;
 padding-left: min(18.57vw,260px);
 font-size: 20px;
 line-height: 1.65;
 z-index: 1;
}
#topAbout p + p{
 margin-top: 1.65em;
}
#topAbout .btnWrap{
 margin-top: 50px;
}

@media screen and (min-width: 769px) {

#topAbout figure{
 position: absolute;
 }
 #topAbout figure:first-of-type{
  width: 30vw;
  /*max-width: 412px;*/
  right:0/* -7.14vw*/;
  top: 110px;
 }
 #topAbout figure:last-of-type{
  width: 21vw;
  /*max-width: 290px;*/
  left:0 /*-7.14vw*/;
  top: 370px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP #topAbout*/
 #top main section#topAbout {
 padding-bottom: 70px;
 }
 #topAbout figure:first-of-type{
  margin-top: -117px;
  margin-left: 14vw;
  margin-bottom: 50px;
 }
 #topAbout .inner{
  margin-top: 0;
 padding-bottom: 0px !important;
 }
#topAbout h2{
 margin-bottom: 40px;
 line-height: 1.6;
}
#topAbout p:not(.subTtl){
 padding-left:0;
 font-size: min(3.74vw,16px);
 line-height: 1.625;
}
#topAbout p + p{
 margin-top: 1.6em;
}
 #topAbout figure:last-of-type{
  margin-right: 7vw;
  margin-top: 70px;
 }

}/*-SP only-*/
/**/
#topFacility .inner{
 margin-top: -70px;
}
#topFacility h3{
 margin-bottom: 50px;
 font-size: 20px;
}
#facilityArea h2{
 font-size: 26px;
}

.facilityList{
 flex-flow: row wrap;
	counter-reset: listnum; /* カウンターをリセット */
	list-style: none; /* 標準のスタイルは消す */
}
.facilityList li a{
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
}
.facilityList li h4{
 display: flex;
 align-items: center;
 gap: 0 15px;
 width: 1.1em;
 font-size: 18px;
 -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
 line-height: 1;
 letter-spacing: 0.1em;
}
.facilityList li h4::before{
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	content: "(" counter(listnum, decimal-leading-zero) ")"; /* カウントした数に応じて番号を表示 */
 font-size: 12px;
 writing-mode:horizontal-tb;
 letter-spacing: 0.05em;
}
.facilityList li figure{
 width: 83%;
 max-width: calc(100% - 25px);
 height: 17.28vw;
 max-height: 242px;
}
 .facilityList li figure img{
  object-fit: cover;
  width: 100%;
  height: 100%;
 }
@media screen and (min-width: 769px) {
 .facilityList{
  gap:70px 50px;
 }
 .facilityList li{
  width: calc((100% - 50px*3)/4);
 }
 #topFacility .facilityList{
  gap:50px 60px;
 }
 #topFacility .facilityList li{
  width: calc((100% - 60px*3)/4);
 }
 #topFacility .facilityList li figure{
  max-height: 220px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP facilityList*/
#facilityArea h2{
 margin-bottom: 30px;
 font-size: 20px;
}
 .facilityList{
  justify-content: space-between;
  gap:30px 0;
 }
 .facilityList li{
  width: 46.3%;
 }
.facilityList li figure{
 width: 78.3%;
 height: 42vw;
}
.facilityList li h4{
 font-size: 16px;
}

}/*-SP only-*/


.pointsLesort{
 border-top: 1px #CCCCCC solid;
 margin-top: 100px;
 padding-top: 100px;
}
 .pointsLesort h3{
  margin-bottom: 40px;
  font-size: 26px;
  line-height: 1.84;
 }
@media screen and (min-width: 769px) {
 #topFacility .pointsLesort{
 margin-top: 70px;
 padding-top: 70px;
}
 #topFacility .pointsLesort h3{
  font-size: 20px;
  line-height: 1.8;
 }
 .pointsLesort .txts{
  width: calc(100% - 215px);
  max-width: 804px;
 }
}/*-PC only-*/

.pointsLesort h4{
 margin-bottom: 30px;
  font-size: 22px;
 line-height: 1;
}
.pointsLesort ul{
 flex-flow: row wrap;
 gap:20px 0;
}
.pointsLesort ul li{
 border-right: 1px #ccc solid;
 padding: 0 10px 0 15px;
 line-height: 1;
}
.pointsLesort ul li span{
 font-size: 12px;
}
.pointsLesort .note{
 margin-top: 30px;
}
.pointsLesort h4:nth-of-type(2){
 border-top: 1px #ccc solid;
 padding-top: 50px;
 margin-top: 50px;
}
@media screen and (min-width: 769px) {
.pointsLesort ul li:nth-of-type(1),
 .pointsLesort .domestic li:nth-of-type(7),
 .pointsLesort .abroad li:nth-of-type(6),
 .pointsLesort .abroad li:nth-of-type(10),
 .pointsLesort .abroad li:nth-of-type(14){
 padding-left: 0;
}
 .pointsLesort .domestic li:nth-of-type(6),
 .pointsLesort ul li:last-of-type,
 .pointsLesort .abroad li:nth-of-type(5),
 .pointsLesort .abroad li:nth-of-type(9),
 .pointsLesort .abroad li:nth-of-type(13){
  border-right:none;
 }
 
}/*-PC only-*/

@media screen and (max-width: 768px) {/*SP pointsLesort*/
.pointsLesort{
 margin-top: 70px;
 padding-top: 70px;
}
 .pointsLesort h3{
  font-size: 20px;
  line-height: 1.8;
 }
 #topFacility .pointsLesort{
 margin-top: 70px;
 padding-top: 50px;
}

.pointsLesort h4{
  font-size: 18px;
}
 .pointsLesort ul{
  width: 79.4vw;
  max-width: 340px;
 }
.pointsLesort ul li{
 padding: 0 min(2.3vw,10px) 0 min(3.5vw,15px);
 font-size: min(3.27vw,14px);
}
.pointsLesort ul li span{
 font-size: min(2.57vw,11px);
}
 .pointsLesort ul li:nth-of-type(1),
 .pointsLesort .domestic li:nth-of-type(3),
 .pointsLesort .domestic li:nth-of-type(6),
 .pointsLesort .domestic li:nth-of-type(8),
 .pointsLesort .domestic li:nth-of-type(11),
 .pointsLesort .abroad li:nth-of-type(4),
 .pointsLesort .abroad li:nth-of-type(6),
 .pointsLesort .abroad li:nth-of-type(8),
 .pointsLesort .abroad li:nth-of-type(10),
 .pointsLesort .abroad li:nth-of-type(11),
 .pointsLesort .abroad li:nth-of-type(12),
 .pointsLesort .abroad li:nth-of-type(14),
 .pointsLesort .abroad li:nth-of-type(15){
 padding-left: 0;
}
 .pointsLesort .domestic li:nth-of-type(2),
 .pointsLesort .domestic li:nth-of-type(5),
 .pointsLesort .domestic li:nth-of-type(7),
 .pointsLesort .domestic li:nth-of-type(10),
 .pointsLesort ul li:last-of-type,
 .pointsLesort .abroad li:nth-of-type(3),
 .pointsLesort .abroad li:nth-of-type(5),
 .pointsLesort .abroad li:nth-of-type(7),
 .pointsLesort .abroad li:nth-of-type(9),
 .pointsLesort .abroad li:nth-of-type(10),
 .pointsLesort .abroad li:nth-of-type(11),
 .pointsLesort .abroad li:nth-of-type(13),
 .pointsLesort .abroad li:nth-of-type(14){
  border-right:none;
  padding-right: 0;
 }
 
}/*-SP only-*/
/**/
#topNews .inner{
 margin-top: -70px;
}
@media screen and (min-width: 769px) {
 #topNews .txts{
  width: 74.5%;
  max-width: 852px;
 }
 #topNews .btnWrap{
  margin-top: 70px;
 }
}/*-PC only-*/

#newsArea{}
@media screen and (min-width: 769px) {
 #newsArea h2{
  font-size: 26px;
 }
 #newsArea .txts{
  width: 75%;
  max-width: 900px;
 }
 #newsArea .btnWrap{
  margin-top: 70px;
 }

}/*-PC only-*/

.newsList li{
 border-bottom: 1px #ccc solid;
}
.newsList li a{
 display: block;
 padding-top: 40px;
 padding-bottom: 35px;
}
.newsList li:first-child a{
 padding-top: 0;
}
.newsList .date{
 margin-bottom: 15px;
 line-height: 1;
}
.newsList .date .cat{
 margin-left: 20px;
 display: inline-block;
 color: var(--Lgray);
 font-size: 12px;
}

@media screen and (max-width: 768px) {/*SP */
 #topNews h2{
  margin-bottom: 40px;
 }
 #newsArea h2{
  font-size: 20px;
  margin-bottom: 50px;
 }
}/*-SP only-*/

/*------------------------
    blog news
-------------------*/
h1 + .column2{
 margin-top: 100px;
}
@media screen and (min-width: 769px) {
 .column2 aside{
  width: 17%;
  max-width: 200px;
 }
 .column2 .mainColumn{
  width: 80%;
  max-width: 950px;
 }
}/*-PC only-*/
.column2 aside h2{
 margin-bottom: 20px;
 font-size: 14px;
}
.column2 aside select{
 border: 1px #CCCCCC solid;
 background: none;
 width: 100%;
 height: 39px;
 padding: 0 15px;
 margin-bottom: 30px;
 font-size: 12px;
}

.pageNavi{
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 gap:0 10px;
 border-top: 1px #ccc solid;
 margin-top: 100px;
 padding-top: 40px;
 line-height: 1;
}
.pageNavi a,
.pageNavi span{
 display: block;
 border-bottom: 1px rgba(204,204,204,.8) solid;
 min-width: 20px;
 padding: 10px 0;
 text-align: center;
}
.pageNavi span{
 border-bottom: 1px var(--base) solid;
}
.pageNavi .prev,
.pageNavi .next{
 position: absolute;
 border:none;
 letter-spacing: 0.1em;
}
.pageNavi .prev{
 left: 0;
 background: url("images/arrow_prev.svg") no-repeat left center/9px auto;
 padding-left: 29px;
}
.pageNavi .next{
 right: 0;
 background: url("images/arrow.svg") no-repeat right center/9px auto;
 padding-right: 29px;
}

.pager{
 position: relative;
 border-top: 1px #CCCCCC solid;
 height: 64px;
 margin-top: 100px;
 font-size: 14px;
 line-height: 1;
}
.pager a{
 position: absolute;
 top: 50px;
 letter-spacing: 0.1em;
}
.pagerPrev{ 
 left: 0;
 background: url("images/arrow_prev.svg") no-repeat left center/9px auto;
 padding-left: 29px;
}
.pagerNext{
 right: 0;
 background: url("images/arrow.svg") no-repeat right center/9px auto;
 padding-right: 29px;
}
@media screen and (max-width: 768px) {/*SP */
h1 + .column2{
 margin-top: 50px;
}
 .column2 aside{
  padding-bottom: 20px;
 }

.pageNavi{
 margin-top: 70px;
 padding-top: 90px;
 line-height: 1;
}
.pageNavi .prev,
.pageNavi .next{
 top: 30px;
}
.pager{
 height: 44px;
 margin-top: 70px;
}
.pager a{
 top: 30px;
}
}/*-SP only-*/

/*blog message*/

@media screen and (min-width: 769px) {
 .mainColumn .messageList{
  justify-content: flex-start;
  gap:70px 70px;
 }
 .mainColumn .messageList li{
  width: calc((100% - 70px*2)/3);
 }
 .mainColumn .messageList li figure{
  height: 180px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {
 .mainColumn .messageList li{
  margin-bottom: 50px;
 }

}/*-SP only-*/

/*message blog single*/
.articleArea .date{
 display: flex;
 flex-flow: row wrap;
 gap:20px 0;
 margin-bottom: 50px;
 font-size: 13px;
 line-height: 1;
}
.articleArea .date .cat{
 border-left: 1px #ccc solid;
 padding: 0 0 0 15px;
 margin: 0 0 0 15px;
}
.articleArea .mainColumn h2{
 border-bottom: 1px #ccc solid;
 padding: 0 0 25px;
 margin-bottom: 50px;
 font-size: 20px;
 line-height: 1.4;
}
.articleArea .mainColumn p{
 margin-bottom: 50px;
}
.articleArea .mainColumn figure{margin: 0 0 100px;}
.articleArea .mainColumn img{
 height: auto;
}
.articleArea .mainColumn h3{
 border-bottom: 1px #ccc solid;
 font-size: 18px;
 padding: 0 0 20px;
 margin-top: 100px;
 margin-bottom: 45px;
 line-height: 2;
}
.articleArea .mainColumn h4{
 margin-bottom: 25px;
 font-size: 16px;
		font-family:"Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 line-height: 1.75;
}
@media screen and (max-width: 768px) {/*SP single*/
 .articleArea .column2{
  display: flex;
  flex-flow: column-reverse;
  gap:50px 0;
 }
 .articleArea .date .cat:nth-of-type(2){
  border-left: none;
  margin: 0;
  padding: 0;
  width: 100%;
 }
 
.articleArea .mainColumn p{
 margin-bottom: 30px;
}
.articleArea .mainColumn figure{margin: 0 0 50px;}
.articleArea .mainColumn h3{
 margin-top: 50px;
 margin-bottom: 25px;
}
 .articleArea .mainColumn h4{
  margin-top: 50px;
 }
}/*-SP only-*/


/*------------------------
    contact inquiry
-------------------*/
#contact h1,
#confirm h1,
#thanks h1{
 margin-bottom: 100px;
}
.contactform{
 border-top: 1px #ccc solid;
 border-bottom: 1px #ccc solid;
 padding-top: 38px;
 padding-bottom: 38px;
 margin-top: 50px;
}
.contactform dt,
.contactform dd{
 font-size: 16px;
}
@media screen and (min-width: 769px) {
 .contactform dt{
	width: 25%;
 padding: 12px 0 12px 50px;
}
.contactform dd{
	width: 75%;
 padding: 12px 0;
}

}/*-PC only-*/
.contactform dd input:not([type=radio]):not([type=checkbox]),
.contactform dd textarea{
 border: none;
	width: 100%;
 height: 49px;
 background: #fff;
	font-size: 16px;
	padding: 5px;
 font-family: "Shippori Mincho", serif;
}
.contactform dd textarea{
 height: 200px;
}
.contactform input::placeholder{
 color: #ccc;
}
.contactform label{
 display: inline-block;
}
.contactform label + label{
 margin-left: 50px;
}
.contactform [type=radio]{
 position: relative;
 -webkit-appearance: none;
 appearance:none;
 border: 1px var(--base) solid;
 background: none;
   border-radius: 50%;
 width: 14px;
 height: 14px;
 margin: 0 10px 0 0;
 vertical-align: middle;
}
.contactform input[type="radio"]:checked::before{
 content: "";
 display: block;
 border-radius: 50%;
 background: var(--base);
 width: 8px;
 height: 8px;
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 margin: auto;
 
}

.contactform dd p{
 margin: 15px 0 5px;
 font-size: 14px;
}
.contactform dd .note{
 margin: 5px 0 0;
 font-size: 12px;
}
.contactform .name span{
 display: inline-block;
 width: 3.4em;
 vertical-align: middle;
}
.contactform .name .wpcf7-form-control-wrap{
 width: calc(50% - 3.4em - 22px);
}
.contactform .name .wpcf7-form-control-wrap + span{
 margin-left: 44px;
}

.contactform dd.fontG{
 font-size: 13px;
}
.contactform dd.fontG label{
 display: inline-block;
 margin-top: 1em;
}

.contactform .name .wpcf7-not-valid-tip{
 width: auto;
}
.contactform .wpcf7-list-item{
 margin-left: 0;
}
.contactform .wpcf7-list-item + .wpcf7-list-item{
 margin-left: 50px;
}



.formBtn{
 padding: 70px 0 50px;
}
.formBtn input{
 border: none;
 margin: 0 20px;
}
.btnConf,
.btnSend{
 cursor: pointer;
}
.btnBack{
 display: flex;
 justify-content: center;
 align-items: center;
 background:#DEDEDE;
 max-width: 250px;
 color: #707070;
 cursor: pointer;
}
@media screen and (min-width: 769px) {
 .formBtn{
  display: flex;
  justify-content: center;
  align-items: center;
 }
}/*-PC only-*/

@media screen and (max-width: 768px) {
.contactform {
 padding: 0;
}
.contactform dt{
	padding-top: 25px;
	padding-bottom: 15px;
}
.contactform dd{
 border-bottom: 1px #ccc solid;
	padding-bottom: 25px;
}
.contactform .name span{
 display: inline-block;
 width: 3.4em;
}
.contactform .name .wpcf7-form-control-wrap{
 width: calc(100% - 3.4em) !important;
 margin-bottom: 10px;
}
.contactform .name .wpcf7-form-control-wrap + span{
 margin-left:0px;
}
.contactform .wpcf7-list-item + .wpcf7-list-item{
 margin-left: 1.5em;
}
 
 
 .formBtn{
  padding: 50px 0 30px;
 }
 .formBtn input{
  margin: 0;
 }
 .formBtn .btnSend{
  margin: 0 auto;
 }
 .formBtn .btnBack{
  max-width: 400px;
  margin: 10px auto 0;
 }
}/*-SP only-*/


.thanks{
 font-size: 18px;
}


/*------------------------
    privacy policy
-------------------*/
#privacypolicy h2{
 margin-bottom: 50px;
}
#privacypolicy section{
 padding-bottom: 50px;
}
#privacypolicy section p,
#privacypolicy section ul{
 margin-bottom: 1.5em;
}
#privacypolicy section li{
 text-align: left;
}
/*-------*/
@media screen and (min-width: 769px) {
}/*-PC only-*/
@media screen and (max-width: 768px) {
}/*-SP only-*/
