@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@600&display=swap');
@import url("font.css");
@import url("reset.css");

.navInner a,
footer a{ color: #000; }
a:hover,input[type='submit']:hover{ filter: alpha(opacity=85); -moz-opacity:0.85; opacity:0.85; 
	 -webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease; }
	input[type='submit']:hover{ background: #555; }

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}
.scroll_up.on {transform: translateY(0);opacity: 1.0;}


body{  color: #000;
	font-family:"Noto Sans Japanese",sans-serif;
	background:#fff;
	position: relative; z-index: 0;
	width: 100%;
	height: auto; letter-spacing: 0;
	text-align: left;
	overflow: hidden;
	line-height:0;
}
main{ line-height: 1.8em; overflow: hidden;}
.serif{ font-family: "Noto Serif JP",serif; }


/*mainimg----------------------------------------------------*/
#moviearea{ position: relative; }

#header{ justify-content: space-between; align-items: center;}
#header,#header ul{ display: flex; }

.txtcent{ text-align: center; }

.innerWrap{ max-width: 976px; margin-left: auto; margin-right: auto; box-sizing: border-box;}


/*アニメーション用CSS*/
.updown{ margin-right: 5px; }
.updown{animation-name:UpDown;
	animation-duration: 1.5s;
	/* アニメーションの回数 */
	animation-iteration-count: infinite;
	/* アニメーションの進行具合 */
	animation-timing-function: ease-in-out;
	/* アニメーション再生の向き */
	animation-direction: alternate;}
	/* アニメーションの設定 */
  @keyframes UpDown{
	/* 開始地点 */
	0%{
	/* Y軸0px */
	transform: translateY(10px);
	}
	/* 終了地点 */
	100%{
	/* Y軸50px */
	transform: translateY(20px);
	}
  }

  .downup{
	animation-name:DownUp;
	animation-duration: 1.5s;
	/* アニメーションの回数 */
	animation-iteration-count: infinite;
	/* アニメーションの進行具合 */
	animation-timing-function: ease-in-out;
	/* アニメーション再生の向き */
	animation-direction: alternate;
  }
	/* アニメーションの設定 */
  @keyframes DownUp{
	/* 開始地点 */
	0%{
	/* Y軸0px */
	transform: translateY(20px);
	}
	/* 終了地点 */
	100%{
	/* Y軸50px */
	transform: translateY(8px);
	}
  }

  /*accordion*/
.acd-check{display: none;}
.acd-label{cursor: pointer;
  display: block;
  margin-bottom: 1px;
}
.acd-content{
  height: 0;
  opacity: 0;
  transition: .5s;
  visibility: hidden; }

 #qa .acd-content{   border-top: 1px solid #009280; }
.acd-check:checked + .acd-label + .acd-content{
	/*padding-top: 20px; padding-bottom: 20px;*/
    height: auto;
    opacity: 1;
    visibility: visible; }

.acd-label{ position: relative; }
#area .acd-label{ color: #fff;  text-align: center; background:#009280 ;}

#qa .acd-label{ color: #009280; line-height: 1em;}

.areaBox,.qaBox:not(:last-child){  margin-bottom: 20px; }

.qaBox{  border:1px solid #009280;}
.acd-label::after{  position: absolute; }

/*▼*/
.acd-label::after,
.acd-check:checked + .acd-label:after{ right: 16px; content: "";  height: 0px;width: 0;
    box-sizing: border-box;
    display: block;
}


#area .acd-label::after{ 
	border:11px solid #fff;
   border-color:transparent;
   border-top-color:#fff;}

#area .acd-label::after,
#qa .acd-label::after{ top:44%;}


.areaset{ position: relative; }

.areaset figure img{ width: 100%; }
.areaset .address{ clear: both; }
.areaset .address,.areaset .address a{ color:#727171 }
/*.areaset ul{ display: flex; justify-content: space-evenly; align-items: center; background: #e6e3e8; }*/
.areaset ul li a{ display: block; line-height: 1em;/* background: #fff; border-radius: 4px;*/ }
/*.areaset ul li{ width: 31%; text-align: center;}*/
.areaset .address a i{ background: url(../img/externalIcon.png) 0 0 no-repeat; width: 10px; height: 10px;
display: inline-block; margin-left: 5px;}
.areaset ul li img{ width: inherit; }
.areatxt dd .tel, .areatxt dd .tel a{color: #000; font-weight: 600;}
.areaset dt{background: #005b4d; color: #fff}

#qa .acd-label::after{ 
	 border:11px solid #009280;
	border-color:transparent;
	border-top-color:#009280;}

/*▲*/
#area .acd-check:checked + .acd-label:after,
#qa .acd-check:checked + .acd-label:after{top:13%;}

#area .acd-check:checked + .acd-label:after{
	border-top:10px solid transparent;
	border-left:10px solid transparent;
	border-right:10px solid transparent;
	border-bottom:#fff 10px solid; }
	

#qa .acd-check:checked + .acd-label:after{
border-top:10px solid transparent;
border-left:10px solid transparent;
border-right:10px solid transparent;
border-bottom:#009280 10px solid; }

.qaBox,#flowBox,
#about figure{ width: 90%; margin-left: auto; margin-right: auto; }

.areaBox{ width: 94%; margin-left: auto; margin-right: auto; }
.areatxt dt,.areatxt dd{  font-weight: 500; }

#benefit ul{ display: flex; justify-content: center;}

/*--------------------------------------------------------------------------------------*/
#movie { margin: 0 auto; }

#serviceWrap{ display: flex; flex-wrap: wrap; justify-content: center; justify-content: space-between; }
#serviceWrap li{  border: 2px solid #009080; box-sizing: border-box;
display: flex; justify-content: center; align-items: center;}

#voice{ background: #e4e7d4;box-sizing: border-box; }
/*#voice h3{ color: #fff; background: #005b4d; font-weight: 500; display: inline-block;}
#voice h3::after{ position: absolute; content: ""; background-position: 0 0 ; background-repeat: no-repeat;}*/

.voiceImg{ position: absolute; content: "";}
.voiceList{  background: #fff; border: 1px solid #adafa3; position: relative;}

#directionWrap{ background: #e8e5ea; }

#directorcomment figure{ display: flex; justify-content: space-between;  align-items: end; }

.commentList{ background: #fff; border: 1px solid #b5b4b6; }
#license { max-width: 678px;  margin-left: auto; margin-right: auto;}
#license h3{ background: #fff; border:1px solid #aeacaf; box-sizing: border-box;}

#about figure{	margin-right: auto;
	margin-left: auto;
	border: 1px solid #009080;
	max-width: 865px; }

#directorcomment figure,
#about figure img,
#flowBox img, #entryBtn a img,.flowtxt img,#license h3 img,#license p img,
#serviceWrap li img,.planBox img,#requestBanner img,#hallimg img{ width: 100%; }
#flowBox{ max-width: 899px;  }
#entryBtn{ display: block; }

#bottombg ul{ display: flex;}
#bottomtop li a{ display: block; }

#pagetop a{ display: block;	position: fixed;}

/*----------------------------------------------------------------------------------
タブレット・SP
----------------------------------------------------------------------------------*/
@media screen and (min-width:768px) and (max-width:1300px){
#movie img{ width: 62%; }
}


@media screen and (min-width:768px) and (max-width:1024px){
footer{height: 14.5vw;}
}

/*----------------------------------------------------------------------------------
タブレット
----------------------------------------------------------------------------------*/
@media screen and (min-width:768px){
a[href^="tel:"] {
	pointer-events: none;
	display: inline-block;
}
.sp{ display: none!important; }

#header{padding-top: 1.2% ; width: 98%; max-width: 990px; margin: 0 auto;}
#header img,
#mainCont figure.pc img,
.commentTxt img,#directorImg img,
.commentList figure span img,#voice h3 img{ width: 100%; }

#header ul li:first-child{ margin: 0 25px 0 55px; }
#mainCont{ position: relative; }
#areatitle{ background: #009080; padding: 11px 0 13px; text-align: center;  }
#areatitle img{ width: 65%; max-width: 714px;}
#mainareatxt .innerWrap img{ position: absolute; top: 1.5vw; max-width: 1278px; width: 56%;
}
#mainimg{ width: 80%; float: right; max-height: 892px; height: 50%; }
#main{  background: url(../img/main.jpg?a) right 0 no-repeat;
  /*background-size: 80%;
  padding:11vw 0; width: 100%;*/ }


#content{ position: relative; }
#content #navmenu{ position: absolute; content: ""; left: 0%;width: 100%; top: 2.5vw;  }
.navInner ul{ display: flex!important; align-items: center; justify-content: space-around; margin: 0 auto;	
	max-width: 990px;width: 100%; }

.navInner li{ border-left: 1px solid #ccc; width: 17%; text-align: center;}
.navInner li:last-child{border-right: 1px solid #ccc; }
.navInner { padding: 25px 15px 15px; width: 100%; box-sizing: border-box;}

.navInner li a{ display: flex; line-height: 1.2em; height: 40px; justify-content: center; align-items: center; }
.navInner li a picture{padding-top: 7px;}
#navqa a picture{ padding-top: 0; padding-bottom: 2px; }

.txt{ margin-bottom: 30px; }

/**/
.js_humburgerOpen .navInner{ display: block; }

.innerWrap{ width: 92%;}
#movieareaInner{ display: flex; }

#moviearea{ margin:20px auto 50px; clear:both}
#mvTxt{ width: 64%; margin-right: 30px; }
#mvTxt h1{ margin-top: 8px; margin-bottom: 25px; }
#mvTxt h1 img{ width: 84%; max-width: 376px;}
#mvTxt div img,
#mv dd img{ width: 100%; }
#mvTxt div img{ max-width: 460px; }
#mv{ display: flex;	flex-wrap: wrap; justify-content: center; }
#mv dt{ border-radius: 50px; margin-bottom: 5px; background: #009280; color: #fff; padding:7px 24px 5px;
height: 35px; box-sizing: border-box; 
 display: flex; justify-content: center; align-items: center;}

 #search img{ max-width: 967px; width: 100%; }
/* #search{ margin:0 0 0 19vw }*/
#search a{ margin-bottom: 55px; /*padding:15px 10px 10px; */display: block;}
.subTitle{ margin-bottom: 30px; }
/*.subTitle span{ width: 92%; padding: 15px 0;}*/
.subTitle img{ width: 100%; max-width: 976px; }

#hallimg{ display: flex; }

#voice{ display: flex; justify-content: space-between; }

#serviceWrap{ margin-bottom: 40px;}
#serviceWrap li{ width: 31%; box-sizing: border-box;}
#serviceWrap li:first-child,#serviceWrap li:nth-child(2),#serviceWrap li:nth-child(3){ margin-bottom: 30px; }

#requestBanner{ margin-bottom: 30px; }

#voice{ padding: 42px 30px 2vw 30px; margin-bottom:40px; align-items: flex-end;}
#voice div{ width: 48.5%; }
#voice div:first-child{  position: relative; }
#voice h3{ margin-top: 20px; margin-bottom: 25px; }
/*#voice h3::after{ background-image: url(../img/flower.png); width: 200px; height: 101px; right: 0; top: 0}*/
.voiceList{ padding: 58px 42px 25px; margin-bottom: 25px;}
.voiceList dt{ margin-bottom: 26px; }
.voiceImg{ right: 10px; top:10px; width: 120px; height: 120px; }
.commentTxt{ text-align: center; }

.voiceList:first-child .commentTxt img{ max-width: 364px; }
.voiceList:nth-child(2) .commentTxt img{ max-width: 335px; }
.voiceList:nth-child(3) .commentTxt img{ max-width: 354px; }

.areaBox:not(:last-child),.qaBox:not(:last-child){ margin-bottom: 24px; }
#area{ margin-bottom: 50px;}
.areawrap{ display: flex; flex-wrap: wrap; justify-content: space-between; }
.areacont{ display: flex; margin-top:  10px; }
.areaset{ width: 48%; }
.areaset dt{ font-size: 1.25em; margin-bottom: 10px; padding: 5px 10px; }
.areaset .address{ font-size: 1.05em; }
.areatxt{ margin-right: 20px ; width: 95%; box-sizing: border-box;}
.areatxt dd .tel, .areatxt dd .tel a{ font-size: 1.05em;}
.areaset .address .tel a{ cursor: none; }
/*.listbox{ position: absolute; top: 30px;; right: 0;}*/
.listbox li a{ padding-bottom: 5px; }

.areaset{  margin: 0 0 20px; padding-top: 20px; box-sizing: border-box; }
.atxt{  margin: 0 50px 20px; padding-top: 20px; }
.atxt img{ max-width: 800px; width: 100%; }

.acontact{ margin-top: 20px; }
#benefit{ border: 1px solid #ddd; border-radius: 14px;box-shadow: 0px 0px 3px #ccc;
	padding:14px 25px 20px; margin-top: 30px;}
#benefit img{ width: 100%; }
#benefittxt img{ max-width: 732px; width: 98%;}
#benefit ul{ margin-top: 25px;}
#benefit ul li:first-child{ margin-right: 40px; }
#benefit ul li img{ max-width: 288px; }


.planBox{ margin-bottom: 70px; }

#hallimg{ margin-bottom: 20px; }
#hallimg li:not(:last-child){margin-right: 18px;}
#direction h2{ margin-bottom: 0;}
#directionWrap{ margin-bottom: 50px; padding: 20px 30px 1px; }
#directorImg{ margin-bottom: 35px; }
#directorImg li:first-child{ margin-left: 45px; margin-right: 50px; }
#license{ margin-bottom: 25px; width: 80%;}
#license h3{ padding:14px 10px 11px ; margin-bottom: 20px;}

#directorImg{ display: flex; justify-content: space-between;  align-items: center; }
#director picture:first-child{ margin-right: 10px; }
#director figcaption{ margin-top: 5px; margin-bottom: 40px; }
.commentList{ padding:30px 60px ; margin-bottom:30px}
.commentList figure{ margin-bottom: 35px; }
.commentList figcaption{ margin-right: 40px; }
.commentList figcaption p{ text-align: right; margin-top: 20px; }

#license div{ margin-top: 30px; }

.acd-label{ padding: 12px 22px 14px;
	display: flex;
	/*justify-content: center;*/
	align-items: center; }

#about figure{margin-bottom: 50px;}
#about figcaption{  padding: 30px 40px 0; }

#qa{ margin-bottom: 70px; }
#qa .qaBox:nth-child(2) label img{ width: 100%; max-width: 627px;}
#qa .acd-label{ padding: 12px 50px 14px 22px; }


#flowBox{ margin-top: 50px; margin-bottom: 45px; }
#entryBtn{ margin-top: 20px; margin-bottom: 50px;}
.flowtxt img{  box-sizing: border-box; width: 100%; max-width: 719px;}
.flowtxt:first-child img{ padding:0 6vw; }
.flowtxt:last-child img{ padding:0 4vw; }


footer{ background:#bed2c9; padding-top:35px}
footer .innerWrap { margin-bottom: 30px; }

footer .innerWrap, footer ul{display: flex;}
footer .innerWrap{ justify-content: space-between; align-items: center;}
footer .innerWrap li:not(:last-child){ margin-right: 25px; }
footer .innerWrap li,
small{ line-height: 1px; }

#pagetop a{right: 4vw; bottom: 105px;}
#bottomtop li:first-child{width: 80vw; /*max-width: 962px;*/}
#bottomtop li:last-child{width: 20vw; /*max-width: 241px;*/}
#bottomtop li img{ width: 100%; }
#bottomtop{ position: fixed; bottom: 0; width: 100%;}
/*pagetop*/
#bottombg{ width: 100%;
	background: linear-gradient(90deg, #ba0069 0%, #ba0069 70%, #618080 30%, #618080 100%);}
#bottomtop ul{ max-width: 1000px; margin:0 auto; }

}


/*----------------------------------------------------------------------------------
PCのみ
----------------------------------------------------------------------------------*/
@media screen and (min-width:1251px){
#mainareatxt .innerWrap img{ top:2vw; width: 600px; }
#main{background-size: 85%; padding: 200px 0; }
}

@media screen and (min-width:1071px) and (max-width: 1250px){
	#mainareatxt .innerWrap img{ width: 600px; }
}

@media screen and (min-width:768px) and (max-width: 1070px){
	#mainareatxt .innerWrap img{ width: 56%; }

}

@media screen and (min-width:1201px) and (max-width: 1250px){
#main{background-size: 86%; padding: 14.5vw 0;}
}

@media screen and (min-width:768px) and (max-width: 1200px){
#main{background-size: 95%; padding: 16vw 0;}
}

@media screen and (min-width:1025px){
footer{height: 150px;}
}


/*----------------------------------------------------------------------------------
SP
----------------------------------------------------------------------------------*/
@media screen and (min-width: 541px) and (max-width: 767px){
.el_humburger_wrapper {	height: 9vw; width: 9vw; padding: 2.2vw 5px 0;}
.open.js_humburgerClose .el_humburger_wrapper{ padding-top: 1.8vw; }
.open.js_humburgerOpen .el_humburger_wrapper{ padding: 5px 5px 3px; }
.el_humburger { right: 2vw; top: 2vw;}
.el_humburger span.el_humburger_bar.middle {margin-top: 2vw; margin-bottom: 2vw;}
.open.js_humburgerClose .el_humburger span.el_humburger_bar.middle {margin-top: 1vw;}
#navhead{ height: 13vw; }
.navi { padding-top: 13vw;}
}

@media screen and (min-width: 590px) and (max-width: 767px){
.open.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {margin-top: 0;}
.open.js_humburgerOpen .el_humburger_wrapper{ padding-top: 1.4vw ; }
}

@media screen and (max-width: 767px){
.innerWrap{ width: 94%;}
main{ overflow: hidden; }
/*枠*/
*:focus {outline: none;}
a {	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor:pointer; }

.subTitle,
img,.navInner li img,#voice,
#direction{width: 100%; }
.areaBox label img{ width: inherit; }
.pc{ display: none!important; }

.txt{ margin-bottom: 6vw; margin-left: auto; margin-right: auto;}

#content{margin-bottom: 26vw;}
#drawerentry a img{ max-width: 519px; width: 72%; margin: 0 auto; display: block; }
.js_humburgerOpen .navInner ul{ display: flex; flex-wrap: wrap; justify-content: center; }
.navInner li a{ box-sizing: border-box; padding: 5% 0; width: 100%;
	background: #009080; display: block; margin-bottom: 10px; line-height: 1em;}
.navInner li a img{max-width: 352px; width: 60%;
	margin: 0 auto; display: block; }

#mainCont{ background: url(../img/sp/mainsp.png?a) 0 0 no-repeat;  background-size: 100%;
 position: relative;}
#mainCont div{ margin-left: auto; margin-right: auto; }

#movie a{ height: 55vw; width: 86%; margin: 0 auto 14%;}

#movie{ position: relative; z-index: 1; padding-top: 8vw; }
#movie img {width: 80%; max-width: 562px; margin: 0 auto; display: block;}
#moviearea{ padding:48vw 0 8vw; margin-bottom: 4vw; z-index: 0; }

.subTitle { margin-bottom: 5vw; }

#serviceWrap, .planBox,#contactwrap,
#directoprCont{ width: 86%; margin-left: auto; margin-right: auto; }

#contactwrap dt{ width: 80%; text-align: center; margin: 0 auto 3vw; }
#contactwrap dd{ margin-bottom: 2vw; }

#search{ max-width: 512px; width: 70%; margin-left: auto; margin-right: auto;}
#search a{  background: #005b4d; text-align: center; box-sizing: border-box; 
	max-width: 520px; margin: 6vw auto 9vw; display: block; padding:3% 3vw; border-radius: 3vw;}
#search img{ max-width: 316px; width: 70%;}
#safety .txt{ width: 63%; }
#serviceWrap { margin-bottom: 3%; }
#serviceWrap li{ width: 47.8%; margin-bottom: 4vw; }

#hall .txt{ width: 68%; }
#hall .txt picture{ line-height: 1px; display: block; }
#hallimg{ width: 60%; }
#hallimg li{ margin-bottom: 4.5vw; }
#directionWrap{ margin-bottom: 7vw; padding: 6vw 0 1vw;}
#license h3{ padding: 2.5% 2%; margin-bottom: 3vw;}
/*#director picture:first-child{ margin-right: 2%; }*/
#director figcaption{ margin-top: 1vw; margin-bottom: 6vw; width: 40%; max-width: 214px;}
#directorImg{ width: 70%; margin-left: auto; margin-right: auto; }


#area{ padding-top: 1vw; }
.areaBox:not(:last-child),.qaBox:not(:last-child){ margin-bottom: 20px; }
#area,#qa{ margin-bottom: 8vw; }

.areaset dt,
.areatxt dd .tel{ font-size: 1.35em;  }
.areaset dt{ margin-bottom: 1vw; padding: 6px 12px; }
.areaset .address{ font-size: 1.44em; margin:10px 0; }

.areaset ul{ margin-top: 2vw; }
.areaset ul li:not(:last-child){ margin-right: 2vw; }
.areaset,.atxt{ margin: 0 4vw 3vw; }
.areaset{ padding-top: 3vw; padding-bottom: 1vw; }
.areaset:last-child{ padding-bottom: 2vw; }
.atxt{ padding-top: 4vw; }
.listbox{ display: flex; }
.areaset ul li img {max-width: 166px; width: 100%;}

#benefit{ margin-top: 6vw; margin-bottom: 4vw;}
#benefit ul{ margin-top: 3vw; }
#benefit ul li img{ width: 100%;  max-width: 282px; }
.acontact{ margin-top: 2vw; }
#benefittxt img{ max-width: 437px; }
#benefit ul li:first-child { margin-right: 2.5vw;}


.planBox{ margin-bottom: 12vw; padding-top: 1vw;}
#plan .txt{ width: 80%; }

#voice{ padding: 3vw 8vw 2vw; margin-bottom: 7vw; }
#voice div{ position: relative; }
#voice h3{  margin-bottom: 4vw;}

.voiceList{ padding: 11vw 8vw 6vw; margin-bottom: 5vw;}
.voiceList dt{ margin-bottom: 6vw; margin-left: 1vw; width: 40%;}
.voiceList dt img{  width: 70%; }
.voiceList:first-child dt img{ max-width: 167px;}
.voiceList:nth-child(2) dt img{ max-width: 163px; }
.voiceList:nth-child(3) dt img{ max-width: 159px; }
.voiceImg{ right: 8vw; top:25px; max-width: 145px; height: 145px; }

#direction .subTitle{ margin-bottom: 0; }
#director picture{ width: 48%;}
#director,#directorImg{ display: flex; flex-wrap: wrap; justify-content: space-around; }
#license .txt,#directorImg li{ margin-bottom: 4vw; }
#directorImg li:first-child{order: 2; padding: 0 3vw;}
#directorImg li:last-child{order: 1;}

#director li{ width: 50%; text-align: center;}
.commentList{ margin:0 7vw 5vw; padding:4vw 7vw }
.commentList figure{ flex-wrap: wrap; position: relative; }
.staffimg{ position: absolute; right:0 }
.staffimg img{ width: 15vw; max-width: 102px; }
.commentList figcaption span{ width: 90%; display: block;}
.commentList figcaption p{ margin-top: 5vw; width: 50%;}
.commentList:first-child figcaption p{  max-width: 243px; }
.commentList:nth-child(2) figcaption p,
.commentList:nth-child(3) figcaption p{  max-width: 242px; }
.commentTxt{  margin-top: 4vw; margin-bottom: 1vw;}


#about{ margin-bottom: 6vw; }
#about figure {	width: 84%; box-sizing: border-box; }
#about figcaption{ padding: 2.5vw 4vw }

#area .acd-label{ padding: 14px 0 16px }
#qa .subTitle{ margin-bottom: 4vw; }
.qaBox label img{ width: 80%; } 
#qa .acd-label{ padding:4vw 4vw 3vw }
#qa .acd-label::after {
    border: 8px solid #009280;
	border-color: transparent;
	border-top-color: #009280;}

#qa .acd-check:checked + .acd-label::after{
border-top: 8px solid transparent;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: #009280 8px solid;
 }

#flow #entry,#flowBox.innerWrap,
#entryWrap{ width:82%; }
#flow #entry{ margin-bottom: 5vw; }
#flowBox.innerWrap {  margin-bottom: 3vw;}

#entryBtn{ margin-bottom: 1vw; }

#hope{ width: 80%; margin-left: auto; margin-right: auto;}

#footernav{ border-top: #009080 1px solid; margin-bottom: 8vw; margin-top: 6vw;}
#footernav li a{ border-bottom: #009080 1px solid; display: block; padding: 5% 10vw 4%; line-height: 1em;}
footer li img{ width: 100%; }
footer{width: 100%; position: fixed;bottom: 0; background: #fff ;}
#pagetop img{ width: 12vw; }
#pagetop a{right: 3vw; bottom: 21vw;}
#bottomtop li:last-child{width: 42%; max-width: 317px;}
#bottomtop li:first-child{ width: 60%; max-width: 450px;}

#bottombg ul,
#bottomtop li:last-child a{ background: #618080 ; }

.js_humburgerOpen #maincont{z-index: 2;	position: relative; }

.el_humburger_wrapper {cursor: pointer;
position: relative; 
color: #005b4d; 
background: #005b4d;}

.el_humburger { position: fixed; z-index: 999;}
.el_humburger_wrapper::after,
.js_humburgerOpen .el_humburger_wrapper::after,
.js_humburgerClose .el_humburger_wrapper::after{bottom: 0;}

	.el_humburger_wrapper::after,
/**/.js_humburgerOpen .el_humburger_wrapper::after,
	.js_humburgerClose .el_humburger_wrapper::after{ position: absolute;  left: 50%;
		transform: translate(-50%, 0%);
		-webkit-transform: translate(-50%, 0%);
		-ms-transform: translate(-50%, 0%);
	}

.open/*.js_humburgerOpen*/ .el_humburger_wrapper::after{  content: "閉じる"; color:#fff;
	width: 50px;font-size: 0.8em;	text-align: center; }
/*.el_humburger_wrapper::after,
.js_humburgerClose .el_humburger_wrapper::after{ content: ""; }*/

.el_humburger_wrapper {	box-sizing: border-box; }

.el_humburger_text {
	font-size: 12px;
	letter-spacing: 0.1em; }
   
  .js_humburgerOpen .el_humburger_text.el_humburger_text__menu,
  .el_humburger_text.el_humburger_text__close {
	display: none; }
   
  .js_humburgerOpen .el_humburger_text.el_humburger_text__close {
	display: block; }
	
	.el_humburger span.el_humburger_bar,
	.js_humburgerOpen .el_humburger span.el_humburger_bar {
		background: #fff; }

  .el_humburger span.el_humburger_bar {
	display: block;
	width: 80%;
	margin-left:auto; margin-right:auto;
	height: 1px;
	-webkit-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out; }
   
  .el_humburger span.el_humburger_bar:last-child {
	margin-bottom: 0; }
   
.open.js_humburgerOpen .el_humburger span.el_humburger_bar,
.open.js_humburgerClose .el_humburger span.el_humburger_bar  {
	margin-left: auto ; margin-right: auto;
	margin-bottom: 11px; height: 1px;}
  
  .open.js_humburgerOpen .el_humburger span.el_humburger_bar.top,
  .open.js_humburgerClose .el_humburger span.el_humburger_bar.top {
	-webkit-transform: translateY(9px) rotate(-45deg);
	-ms-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
	margin-top: 4px;}
   
	.open.js_humburgerOpen .el_humburger span.el_humburger_bar.middle,
	.open.js_humburgerClose .el_humburger span.el_humburger_bar.middle {
	opacity: 0; }
   
	.open.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom,
	.open.js_humburgerClose .el_humburger span.el_humburger_bar.bottom {
	-webkit-transform: translateY(-11px) rotate(45deg);
	-ms-transform: translateY(-11px) rotate(45deg);
	transform: translateY(-11px) rotate(45deg);
	margin-top: -4px; }
   
  .el_humburgerButton.el_humburgerButton__close {
	top: 2%;
	right: 2%; }
   
  .el_humburgerButton__close span.el_humburger_bar {
	display: block;
	width: 35px;
	margin: 0 auto;
	height: 4px;
	background: #000; }
   
  .el_humburgerButton__close span.el_humburger_bar.top {
	-webkit-transform: translateY(5px) rotate(-45deg);
	-ms-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg); }
   
  .el_humburgerButton__close span.el_humburger_bar.bottom {
	-webkit-transform: translateY(-6px) rotate(45deg);
	-ms-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg); }
   
.navi { z-index: 15;font-size: 0.9em;
		position: fixed;
		right: 0; top:0;
		height: 100%; width: 280px;
		background-color: #fff;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: all 800ms ease-out;
		-o-transition: all 800ms ease-out;
		transition: all 800ms ease-out;
		/*transform:translateZ(0) translateX(100%);*/
		right: -280px;
		overflow: auto; }
.js_humburgerOpen .navi {
	/*transform:translateZ(0) translateX(0);*/right:0 }

#drawerentry{ margin-top: 10px; margin-bottom: 15px; }
#drawerentry a{ background: #618080; padding: 5% 0;
	box-sizing: border-box; display: block; }
#drawerentry a,
#navhead,#drawerentry img {  width: 100%;}
#navhead img{width: 33%; padding:2% 3% 2.5%; display: block; }
#navWrap .navi,#content .navi{ width: 80%; max-width: 280px; }
.navi_item {	/*margin-bottom: 28px;*/
	font-size: 1.1em;
	white-space: nowrap; }
.navi_item.op_innerLink { cursor: pointer; }

#gloval-nav { right:-280px; transform: translateX(100%); }
#gloval-nav a { display: block;}

.js_humburgerOpen #gloval-nav ul:nth-child(2) li a,
.open #gloval-nav ul:nth-child(2) li a{ background: #009080; margin-bottom: 2vw;}

.js_humburgerOpen #gloval-nav ul:nth-child(2) li a img,
.open #gloval-nav ul:nth-child(2) li a img{background: #009080;
width: 100%;max-width: 352px;margin: 0 auto;
padding:0 55px ; box-sizing: border-box;}

.open.js_humburgerClose #gloval-nav ul:nth-child(2) li a img{ padding-top: 5%; padding-bottom: 5%; }
.open { overflow: hidden;}
.open #gloval-nav {	right:0; visibility: visible; transform: translateX(0); }

/*modal*/
.modal-switch_cover{
	width:100%;
	height:0;
	padding-top: 56.25%;
}
.modal-switch_cover iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
#modal .modal_content{
	width:75%;
	margin-right:auto;
	margin-left:auto;
	margin-top:2%;
	margin-bottom:2%;
}
#modal .close_btn{
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	width:2em;
	height:2em;
	font-size: calc(0.625rem + ((1vw - 3.2px) * 1.7671));
}

#modal .movie{	padding:2%;}
#modal .movie_title{
	padding:0 2.5em;
	font-size: calc(0.625rem + ((1vw - 3.2px) * 1.7671));
	margin-bottom:0.5em;}
}

@media screen and (max-width: 640px){
.voiceImg{ width: 16vw; }
.voiceList {padding-top: 8vw}
.voiceImg{ top: 3vw; }
}

@media screen and (max-width: 540px){
.el_humburger { right: 2.5vw; top: 2.5vw;}
.el_humburger_wrapper {	height: 14vw; width: 14vw;
	padding: 3.5vw 5px ; }
.open.js_humburgerOpen .el_humburger_wrapper{ padding: 3vw 5px; }
.el_humburger span.el_humburger_bar.middle {margin-top: 3vw; margin-bottom: 3vw;}
.open.js_humburgerOpen span.el_humburger_bar.middle,
.open.js_humburgerClose span.el_humburger_bar.middle{margin-top: 0vw; margin-bottom: 2.1vw;}
#navhead{ height: 19.5vw; }
.navi { padding-top: 19.5vw;}
#navhead img{width: 54%;}

.areaBox label img{ width: 42%; }
#area .acd-label{ box-sizing: border-box; height: 11vw; }
#area .acd-label::after {border: 8px solid #fff;
	border-color: transparent;
	border-top-color: #fff; }
#area .acd-check:checked + .acd-label::after {
	border-top: 8px solid transparent;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: #fff 8px solid;
  }
.areaset .address {font-size:  3.7vw; }

}

@media screen and (max-width: 420px){
.open.js_humburgerOpen span.el_humburger_bar.middle,
.open.js_humburgerClose span.el_humburger_bar.middle {
 margin-top: 5vw; margin-bottom: 0.3vw; margin-bottom: 0; }
.open.js_humburgerOpen .el_humburger_wrapper { padding:10px 5px 5px; }
.open.js_humburgerClose .el_humburger_wrapper{ padding-top: 2vw; }

.open.js_humburgerOpen .el_humburger span.el_humburger_bar.top,
.open.js_humburgerClose .el_humburger span.el_humburger_bar.top{ margin-top: 1vw; }
.open.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom,
.open.js_humburgerClose .el_humburger span.el_humburger_bar.bottom{ margin-top: -0.6vw; }

.areaset ul li img{ width: 100%; }
#area .acd-label{ height: 12vw; }
}

@media screen and (max-width: 375px){
.open.js_humburgerOpen .el_humburger_wrapper { padding: 6px 5px 5px; }
.open.js_humburgerOpen span.el_humburger_bar.middle,
.open.js_humburgerClose span.el_humburger_bar.middle {margin-top: 6vw; margin-bottom: 0.8vw;}
.open.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom,
.open.js_humburgerClose .el_humburger span.el_humburger_bar.bottom { margin-top: -2vw; }
}
@media screen and (max-width: 320px){
.open.js_humburgerOpen .el_humburger span.el_humburger_bar.top,
.open.js_humburgerClose .el_humburger span.el_humburger_bar.top  {margin-top: 0;}
.open.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom,
.open.js_humburgerClose .el_humburger span.el_humburger_bar.bottom {margin-top: -1.3vw; }

}