@charset "utf-8";
/*--------------------------------------------------------
	reset 
---------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin: 0; padding: 0; }
address,caption,cite,code,dfn,em,strong,th,var { font-style: normal; }
ul,ol { list-style-type: none; }
em,strong,th,address { font-style: normal; font-weight: normal; text-align: left; }
h1,h2,h3,h4,h5,h6 { font-weight: normal; font-size: 100%; }
img,
object,
embed { border: 0; vertical-align: top; }
img { max-width: 100%; }
hr { display: none; }
table { border-collapse: collapse; border-spacing: 0; font-size: 100%; }
li { list-style-type: none; }
strong { font-weight: bold; }

/*--------------------------------------------------------
	base 
---------------------------------------------------------*/
body { background: #fff; position: relative; font-family: "メイリオ", sans-serif; font-weight: 400; color: #000; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-text-size-adjust:100%; }
a{ outline: none;cursor: pointer; }
a:link { color: #000; text-decoration: none; }
a:visited { color: #000; text-decoration: none; }
a:hover,a:active { text-decoration: none; }
.wrapper{ overflow: hidden; }
@media screen and (max-width: 750px){
.wrapper {min-width: initial;}
}/*END*/
.clear::after { content:" "; display:block; clear:both; }/*clearfix*/
.sp{display:none; }
.pc{display:inline; }
@media (max-width:768px){
.sp{display:inline; }
.pc{display:none; }
}/*END*/

/*anime set
------------------------*/
#main .title_box h1,
#main .title_box .en01,
#main .title_box .en02,
#main .title_box .en03,
#main .main_bg,
.store_btn{ visibility: hidden; }

/*-------------------------------------------------
	header 
--------------------------------------------------*/
header{ position: fixed; left: 0px; top: 0px; width: 100%; height: 150px; text-align: center; background-color: rgba(255,255,255,0.95); box-shadow: 0px 0px 15px -8px #777; z-index: 110; transition: 0.5s; }
header.header_in{ position: fixed; left: 0px; top: 0px; width: 100%; height: 100px; z-index: 110; }
header h1 a{ transition: 0.3s; }
header h1{ width: 214px; padding: 0; position:absolute; left: 4%; top: 45px; transition: 0.5s; }
header h1 small{ display: block; text-align: center; font-size: 12px; letter-spacing: 2px; line-height: 1; margin-bottom: 7px; transition: 0.5s; }
@media screen and (max-width: 1400px) {
header{ position: fixed; left: 0px; top: 0px; width: 100%; height: 130px; text-align: center; background-color: rgba(255,255,255,0.95); box-shadow: 0px 0px 15px -8px #777; z-index: 110; transition: 0.5s; }
header h1{width: 190px; position:absolute; left: 3%; top: 40px; }
header h1 small{ font-size: 10px; letter-spacing: 2px; }
}/*END*/
@media screen and (max-width: 1150px) {
header{ width: 100%; height: 75px; }
header.header_in{ width: 100%; height: 75px; }
}/*END*/
@media screen and (max-width: 750px) {
header.header_in{ width: 100%; height: 75px; }
}/*END*/
/*header_in*/
header.header_in h1{width: 190px; position:absolute; left: 3%; top: 27px; }
header.header_in h1 small{ font-size: 10px; letter-spacing: 2px; }
@media screen and (max-width: 1150px) {
header h1{width: 170px; position:absolute; left: 3%; top: 23px; }
header h1 small{ position:absolute; left: 200px; top: 10px; width: 200px; text-align: left; font-size: 11px; letter-spacing: 1px; margin-bottom: 0px; }
header.header_in h1{width: 170px; position:absolute; left: 3%; top: 23px; }
header.header_in h1 small{ font-size: 11px; letter-spacing: 1px; margin-bottom: 0px; }
}/*END*/
@media screen and (max-width: 750px) {
header h1{width: 155px; position:absolute; left: 4%; top: 19px; }
header h1 small{ position:relative; left: 0px; top: 0px; padding-bottom: 4px; display: block; width: 100%; text-align: center; font-size: 8px; letter-spacing: 1px; margin-bottom: 0px; }
header.header_in h1{width: 155px; position:absolute; left: 4%; top: 19px; }
header.header_in h1 small{ font-size: 8px; letter-spacing: 1px; padding-bottom: 4px; }
}/*END*/
@media screen and (max-width: 500px) {
header h1{width: 155px; position:absolute; left: 5%; top: 19px; }
header.header_in h1{width: 155px; position:absolute; left: 5%; top: 19px; }
}/*END*/

/*-------- nav --------*/
header nav { margin: 0 auto; display: inline-block; height: 100%; width: 55%; max-width: 900px; }
/* nav font*/
header nav{ font-size: 15px; letter-spacing: 2px; line-height: 1; transition: 0.3s; }
@media screen and (max-width: 1400px) {
header nav{ font-size: 14px; letter-spacing: 1px; }
}/*END*/
@media screen and (max-width: 1150px) {
header nav { display: none; }
}/*END*/
/*header_in*/
header.header_in nav{ font-size: 14px; line-height: 1; letter-spacing: 1px; }
/*ul li*/
header nav ul{ display: flex; width: 100%; height: 100%; }
header nav ul li { display: flex; justify-content: space-between; }
header nav ul li:nth-child(1) { width:21%; }
header nav ul li:nth-child(2) { width:15%; }
header nav ul li:nth-child(3) { width:24%; }
header nav ul li:nth-child(4) { width:31%; }
header nav ul li:nth-child(5) { width:15%; }
header nav ul li a{ display: flex; align-items: center; justify-content: center; height: 100%; width: 100%; }
header nav ul li a span{position: relative; height: 100%; display: flex; align-items: center; justify-content: center; width: auto; }
header nav ul li a span::after{ content: ''; display: block; width: 0%; height:3px; position: absolute; bottom: 0px; background: #fff; transition: 0.3s; }
/*hover*/
header nav ul li a:hover span{ color: #488c92; }
header nav ul li a:hover span::after{ content: ''; display: block; width: 100%; height:3px; position: absolute; bottom: 0px; background: #acd7db; transition: 0.3s; }
header nav ul li a.active span::after{ content: ''; display: block; width: 100%; height:3px; position: absolute; bottom: 0px; background: #acd7db; transition: 0.3s; }
/*--------head_info--------*/
.head_info{ position: absolute; right: 4%; top: 40px; transition: 0.5s; }
.head_info img{ width: 222px; transition: 0.5s;}
.head_info .txt{ width: 110%; margin: 12px 0 0 -5%; padding: 20px 0 0 0; font-size: 14px; line-height: 1; position: relative; transition: 0.5s;}
.head_info .txt::before{ content: ''; display: block; width: 100%; height: 3px; background: url(../img/head_info_line.png); position: absolute; left: 0; top: 0; }
@media screen and (max-width: 1400px) {
.head_info{ position: absolute; right: 3%; top: 35px;}
.head_info img{ width: 200px; }
.head_info .txt{ width: 110%; margin: 9px 0 0 -5%; padding: 17px 0 0 0; font-size: 13px; line-height: 1; position: relative; }
}/*END*/
/*header_in*/
.header_in .head_info{ position: absolute; right: 3%; top: 20px;}
.header_in .head_info img{ width: 200px; }
.header_in .head_info .txt{ width: 110%; margin: 9px 0 0 -5%; padding: 17px 0 0 0; font-size: 13px; line-height: 1; position: relative; }
@media screen and (max-width: 1150px) {
.head_info{ position: absolute; right:65px; top: 15px; padding: 10px 20px ; border-right: solid #ddd 1px;}
.header_in .head_info{ position: absolute; right: 65px; top: 15px;}
.head_info .txt{ display: none; }
}/*END*/
@media screen and (max-width: 750px) {
.head_info{ position: absolute; right:65px; top: 12px; padding: 13px 20px ; border-right: solid #ddd 1px;}
.header_in .head_info{ position: absolute; right: 65px; top: 12px;}
.head_info .txt{ display: none; }
}/*END*/
@media screen and (max-width: 500px) {
.head_info{ position: absolute; right:65px; top: 12px; padding: 5px 15px ; border-right: solid #ddd 1px;}
.header_in .head_info{ top: 12px;}
.head_info img,
.header_in .head_info img{ width: 40px; }
}/*END*/
.head_info img.tel_pc{ display: block; }
.head_info img.tel_sp{ display: none; }
@media screen and (max-width: 500px) {
.head_info img.tel_pc{ display: none; }
.head_info img.tel_sp{ display: block; }
}/*END*/

/*-------------------------------------------------
	sp nav
--------------------------------------------------*/
/* hamburger [ = ]
-------------------------------*/
header .btn_drawer,
header .drawer-nav{ display: none; font-size:100% !important; padding: 0; margin: 0; }
@media screen and ( max-width: 1150px) {
header .btn_drawer{ display:block; position: absolute; right: 0px; top:0px; z-index: 101; }
header .btn_drawer button { padding: 15px 10px; max-height: 60px !important; }
/*menu_txt*/
.menu_txt,
.menu_txt_x{ width: 34px; color: #000; font-size: 9px; line-height: 1; padding: 0; margin: 0 0 0 -3px; position: relative; top: 3px; font-weight: normal; text-align: center; font-family: 'Montserrat', sans-serif; }
.menu_txt{ letter-spacing: 0.5px;}
.menu_txt_x{letter-spacing: 0.5px;}
.menu_txt{ display: block; }
.drawer-open .menu_txt{ display: none;}
.menu_txt_x{ display: none;}
.drawer-open .menu_txt_x{ display: block;}
/*.drawer-hamburger*/
.drawer-hamburger { top:9px !important; right:10px !important; margin: 0; padding: 0; }/*バンバーガー ナビ 位置 CLOSE*/
.drawer-open .drawer-hamburger { top:9px !important; right:10px !important; }/*バンバーガー ナビ 位置 OPEN*/
}/*END*/

/* sp nav open 
-------------------------------*/
@media screen and ( max-width: 1150px) {
.sp_nav_inner{ padding-top: 75px; background: #fff; }
.drawer-nav .sp_nav > ul{ border-bottom: solid 1px #ddd; }
.drawer-nav .sp_nav ul > li > a { outline:none; }
/*sp_nav*/
.drawer-nav .sp_nav ul > li > a { font-size: 14px; line-height: 1; font-weight: bold; text-align: left; color: #000; padding: 22px 0 22px 5vw; border-top: solid 1px #ddd; display: block; position: relative; text-decoration: none; }
.drawer-nav .sp_nav ul > li > a span{ display: block; font-size: 12px; line-height: 1; letter-spacing: 1px; margin-top: 5px; font-weight: 700; }
}/*END*/

/*-------------------------------------------------
	main
---------------------------------------------------*/
.main_pc{ display:inline; }
.main_sp{ display:none; }
@media ( max-width:768px){
.main_pc{ display:none; }
.main_sp{ display:inline; }
}/*END*/
#main{ margin-top: 150px; height: auto; background: #e7e2dc; transition: 0.5s; text-align: center;}
#main .img_box{display: inline-block; position: relative; }
@media screen and (max-width: 1400px) {
#main{ margin-top: 130px;}
}/*END*/
@media screen and (max-width: 1150px) {
#main{ margin-top: 75px;}
}/*END*/
#main .txt_box{ position: absolute; left: 0; top: 0; z-index: 2; width: 70%; height: 100%; display: flex; align-items: center; justify-content: center; text-align: left;}
#main .txt_box .main_read{ margin-top: 0px; font-size: 36px; line-height: 1.6; letter-spacing: 4px; font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; }
#main .txt_box .main_txt{ margin-top: 20px; font-size: 17px; line-height: 1.7; letter-spacing: 3px; }
@media screen and ( max-width: 1500px) {
#main .txt_box .main_read{ margin-top: 0px; font-size: 2.45vw; line-height: 1.6; letter-spacing: 0.2vw; }
#main .txt_box .main_txt{ margin-top: 1.3vw; font-size: 1.15vw; line-height: 1.7; letter-spacing: 0.2vw; }
}/*END*/
@media screen and ( max-width: 768px) {
#main .txt_box{ position: relative; left: 0; top: 0; z-index: 2; width: 100%; height: auto; background: #e1dcd5; padding: 8vw 0; display: block; text-align: center;}
#main .txt_box .main_read{display: none; }
#main .txt_box .main_txt{ display: inline-block; margin: 0 auto; margin-top: 0; font-size: 3vw; line-height: 1.7; letter-spacing: 0.4vw; text-align: center; }
}/*END*/
@media screen and ( max-width: 420px) {
#main .txt_box{  padding: 8vw 0; }
#main .txt_box .main_txt{ font-size: 3.5vw; letter-spacing: 0.5vw; }
}/*END*/

/*------------------------------------------------------
	co base
-------------------------------------------------------*/ 
p.txt{ font-size: 16px; line-height: 2;}
p.mg20{ margin: 20px 0;}
p.mg25{ margin: 25px 0;}
p.mg30{ margin: 30px 0;}
p.mg40{ margin: 40px 0;}
p.mgb15{ margin: 0 0 15px 0;}
p.mgb20{ margin: 0 0 20px 0;}
p.mgb30{ margin: 0 0 30px 0;}
dl dt.strong { font-weight: bold; }
span.bd{ font-weight: bold;}
span.txt-large{ font-size: 20px; text-decoration: underline;}
span.txt-color{ color: #FF0004;}

li.txt{ font-size: 16px; line-height: 1.6;}
h4{ font-size: 18px; list-style: 1.6; letter-spacing: 1px; font-weight: bold; color: #80b7bc;}
@media ( max-width:750px){
p.txt{ font-size: 14px; line-height: 2;}
ul.txt{ font-size: 14px; line-height: 1.6;}
h4{ font-size: 16px; list-style: 1.6; letter-spacing: 1px; font-weight: bold; color: #80b7bc;}
}/*END*/
hr{ padding: 0; display: block; width: 100%; height: 3px; background: url(../img/head_info_line.png) center left repeat-x; border: none; }
h2{ font-size: 30px; line-height: 1.6; letter-spacing: 7px; text-align: center; position: relative; display: inline-block; margin: 0 auto; z-index: 2;}
h2::after{ content: ''; width: 108%; height: 13px; background: #e2f1f2; position: absolute; bottom:7px; left: -5%; z-index: -1; }
@media ( max-width:750px){
h2{ font-size: 25px; line-height: 1.6; letter-spacing: 3px;}
h2::after{ content: ''; width: 108%; height: 11px; background: #e2f1f2; position: absolute; bottom:5px; left: -5%; z-index: -1; }
}/*END*/
@media ( max-width:400px){
h2{ font-size: 6.2vw; line-height: 1.6; letter-spacing: 3px; }
h2::after{ content: ''; width: 108%; height: 10px; background: #e2f1f2; position: absolute; bottom:3px; left: -5%; z-index: -1; }
}/*END*/

/*------------------------------------------------------
	topics
-------------------------------------------------------*/ 
#topics{ padding: 100px 0; text-align: center;}
@media ( max-width:950px){
#topics{ padding: 80px 0;}
}/*END*/
@media ( max-width:750px){
#topics{ padding: 60px 0;}
}/*END*/
@media ( max-width:400px){
#topics{ padding: 50px 0;}
}/*END*/
#topics h3{ font-size: 26px; line-height: 1.6; letter-spacing: 3px; text-align: center; position: relative; display: inline-block; margin: 0 auto;}
#topics h3::after{ content: ''; width: 106%; height: 10px; background: #e2f1f2; position: absolute; bottom:5px; left: -3%; z-index: -1; }
#topics h3 br{ display:none;}
@media ( max-width:750px){
#topics h3{ font-size: 20px; line-height: 1.6; letter-spacing: 3px; text-align: center; position: relative; display: inline-block; margin: 0 auto;}
#topics h3 br{ display:initial;}
#topics h3::after{ content: ''; width: 106%; height: 7px; background: #e2f1f2; position: absolute; bottom:-15px; left: -3%; z-index: -1; }
}/*END*/
@media ( max-width:400px){
#topics h3{ font-size: 18px; line-height: 1.5; letter-spacing: 2px; text-align: center; position: relative; display: inline-block; margin: 0 auto;}
#topics h3 br{ display:initial;}
#topics h3::after{ content: ''; width: 106%; height: 5px; background: #e2f1f2; position: absolute; bottom:-15px; left: -3%; z-index: -1; }
}/*END*/


#topics .inner{ width: 80%; max-width: 1000px; margin: 50px auto 0; text-align: left;}
#topics .inner hr{ margin: 70px 0;}
@media ( max-width:850px){
#topics .inner hr{ margin: 40px 0;}
}/*END*/
/*flex_box*/
#topics .flex_box{ display: flex; justify-content: space-between;}
#topics .flex_1{width: 47%;}
#topics .flex_2{width: 47%;}
@media ( max-width:850px){
#topics .flex_box{ display: block; }
#topics .flex_1{width: 100%;}
#topics .flex_2{ margin-top: 30px; width: 100%;}
}/*END*/
#topics .inner ul {margin-top: 20px;}
#topics .inner ul li{ padding: 0 0 10px 20px; font-size: 15px; }
#topics .inner ul li::before{content: '●'; color: #80b7bc; margin-left: -20px; padding-right: 5px;}
@media ( max-width:750px){
#topics .inner ul {margin-top: 10px;}
#topics .inner ul li { padding: 0 0 7px 20px;}
}/*END*/

/*------------------------------------------------------
	photo
-------------------------------------------------------*/
.photo img{width: 100%; }
.photo_pc{ display:inline; }
.photo_sp{ display:none; }
@media ( max-width:750px){
.photo_pc{ display:none; }
.photo_sp{ display:inline; }
}/*END*/

body .wrapper #about .mt{ margin-top: 50px;}

/*------------------------------------------------------
	about
-------------------------------------------------------*/
#about{ padding: 90px 0; text-align: center;}
@media ( max-width:950px){
#about{ padding: 80px 0;}
}/*END*/
@media ( max-width:750px){
#about{ padding: 60px 0;}
}/*END*/
@media ( max-width:400px){
#about{ padding: 50px 0;}
}/*END*/
#about .inner{ width: 80%; max-width: 1000px; margin: 50px auto 0; text-align: left;}
@media ( max-width:750px){
#about .inner{ width: 80%; margin: 40px auto 0;;}
}/*END*/
@media ( max-width:400px){
#about .inner{ width: 80%; margin: 30px auto 0;}
}/*END*/
/*flex_box*/
#about .flex_box{ display: flex; justify-content: space-between;}
#about .flex_1{width: 25%;}
#about .flex_2{width: 68%;}
@media ( max-width:750px){
#about .flex_box{ display: block; }
#about .flex_1{width: 70%; margin: 0 auto; text-align: center;}
#about .flex_2{ margin-top: 30px; width: 100%;}
}/*END*/
.txt_name{ margin-top: 15px; font-size: 14px; text-align: center;}
#about h4{ margin: 30px 0 5px;}



/*------------------------------------------------------
	news
-------------------------------------------------------*/
#news{ padding: 80px 0; text-align: center; background: #f5f3f1;}
@media ( max-width:950px){
#news{ padding: 70px 0; }
}/*END*/
@media ( max-width:750px){
#news{ padding: 60px 0; }
}/*END*/
@media ( max-width:400px){
#news{ padding: 50px 0; }
}/*END*/
#news h2::after{ background: #fff !important;  }
#news .inner{ width: 80%; max-width: 1000px; padding: 25px 60px 40px 60px; box-sizing: border-box; margin: 50px auto 0; text-align: left; background: #fff;}
/*dl dt dd*/
#news dl{ width:100%; display: flex; border-bottom: solid 1px #eee; padding:20px 0 16px; }
#news dl:last-child { border-bottom: none; padding-bottom: 0px; }
#news dt{ width: 150px; }
#news dd{ flex: 1;　margin-top:14px;background: #; }
#news dd a{ text-decoration: underline; display: block; }
#news dd a:hover{color: #488c92; }
#news dl{ font-size: 16px; line-height: 1.6;}
@media ( max-width:750px){
#news .inner{ width: 90%; max-width: 1000px; padding: 4vw 7vw 7vw 7vw; box-sizing: border-box; margin: 40px auto 0; text-align: left; background: #fff;}
/*dl dt dd*/
#news dl{ width:100%; display: flex;  }
#news dt{ width: 130px; }
#news dl{ font-size: 14px; line-height: 1.6;}
}/*END*/
@media ( max-width:500px){
#news .inner{ width: 90%; max-width: 1000px; padding: 4vw 7vw 7vw 7vw; box-sizing: border-box; margin: 30px auto 0; text-align: left; background: #fff;}
/*dl dt dd*/
#news dl{ width:100%; display: block; }
#news dt{ width: 130px; }
#news dl{ font-size: 14px; line-height: 1.6;}
}/*END*/

/*btn*/
.btn{ margin-top: 60px;}
.btn a{ width: 250px; padding: 20px 0; font-size: 15px; line-height: 1; letter-spacing: 2px; display: inline-block; background: #80b7bc; color: #fff; position: relative;  transition: 0.3s;}
.btn a:hover{ opacity: 0.7; }
.btn a::after{ content: ''; position: absolute; right: 10px; top: 50%; margin-top: -10px; display: block; width: 20px; height: 20px; background: url(../img/btn_arrow.png) no-repeat; background-size:cover; transition: 0.3s;}
.btn a:hover::after{  right: 7px; }
.btn_bk a::after{ content: ''; position: absolute; left: 10px; top: 50%; margin-top: -10px; display: block; width: 20px; height: 20px; transform: rotate(180deg); background: url(../img/btn_arrow.png) no-repeat; background-size:cover; transition: 0.3s;}
.btn_bk a:hover::after{  left: 7px; }
@media ( max-width:750px){
.btn{ margin-top: 40px;}
.btn a{ width: 220px; padding: 18px 0; font-size: 15px; line-height: 1; letter-spacing: 2px; display: inline-block; background: #80b7bc; color: #fff; position: relative;  transition: 0.3s;}
}/*END*/
@media ( max-width:500px){
.btn{ margin-top: 30px;}
}/*END*/

/*------------------------------------------------------
	news list
-------------------------------------------------------*/
#news.news_co{ padding: 60px 0; margin-top: 150px; transition: 0.5s; }
@media ( max-width:1400px){
#news.news_co{ margin-top: 130px; }
}/*END*/
@media ( max-width:950px){
#news.news_co{ padding: 50px 0; }
}/*END*/
@media ( max-width:1150px){
#news.news_co{ margin-top: 75px; }
}/*END*/
@media ( max-width:750px){
#news.news_co{ padding: 40px 0; }
}/*END*/
@media ( max-width:400px){
#news.news_co{ padding: 30px 0 90px; }
}/*END*/

/*------------------------------------------------------
	news page
-------------------------------------------------------*/
#news.news_co.page .inner{ padding: 60px 60px 60px 60px; box-sizing: border-box;  }
#news.news_co.page .inner .date{ font-size: 16px; line-height: 1.6; } /*color: #80b7bc;*/
#news.news_co.page .inner h2{ font-size: 30px; line-height: 1.4; letter-spacing:0; margin-top: 10px; text-align: left; font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;}
#news.news_co.page .inner h2::after{ display: none; }
#news.news_co.page .inner .txt_box{ margin-top: 20px; padding-top: 40px; border-top: solid 5px #eee; }
#news.news_co.page .inner{ padding: 60px 80px 60px 80px; box-sizing: border-box;  }
@media ( max-width:750px){
#news.news_co.page .inner{ padding: 8vw; box-sizing: border-box;  }
#news.news_co.page .inner .date{ font-size: 14px; line-height: 1.6; } /*color: #80b7bc;*/
#news.news_co.page .inner h2{ font-size: 25px; line-height: 1.4; margin-top: 10px; }
#news.news_co.page .inner .txt_box{ margin-top: 20px; padding-top: 30px; border-top: solid 5px #eee; }
}/*END*/
@media ( max-width:500px){
#news.news_co.page .inner{ padding: 7vw; box-sizing: border-box; }
#news.news_co.page .inner .date{ font-size: 13px; line-height: 1.6; } /*color: #80b7bc;*/
#news.news_co.page .inner h2{ font-size: 22px; line-height: 1.4; margin-top: 10px; }
}/*END*/

/*------------------------------------------------------
	facility
-------------------------------------------------------*/
#facility{ padding: 80px 0; text-align: center;}
@media ( max-width:950px){
#facility{ padding: 70px 0; }
}/*END*/
@media ( max-width:750px){
#facility{ padding: 60px 0; }
}/*END*/
@media ( max-width:400px){
#facility{ padding: 50px 0; }
}/*END*/
#facility .inner{ width: 80%; max-width: 1000px; margin: 50px auto 0; }
#facility .inner ul{  display:flex; flex-wrap:wrap; justify-content:space-between; text-align: left; }
#facility .inner ul li{ position: relative; width: 31%; margin-bottom: 35px; }
#facility .inner ul li .no{ position: absolute; left:0px; top:0px; width: 30px; height: 30px; font-size: 14px; line-height:1; text-align: center; background:rgba(255,255,255,0.8); font-family: 'Montserrat', sans-serif; display: flex; align-items: center; justify-content: center;}
#facility .inner p { font-size: 14px; text-align: left; }
#facility .inner p span{ display: inline-block; }
@media ( max-width:1180px){
#facility .inner ul li{ position: relative; width: 31%; margin-bottom: 3vw; }
}/*END*/
@media ( max-width:750px){
#facility .inner{ width: 80%;  margin: 40px auto 0; }
#facility .inner ul li{ position: relative; width: 47%; margin-bottom: 5vw; }
#facility .inner p { font-size: 12px; text-align: left; }
#facility .inner ul li .no{ position: absolute; left:0px; top:0px; width: 25px; height: 25px; font-size: 13px; line-height:1; text-align: center; background:rgba(255,255,255,0.8); font-family: 'Montserrat', sans-serif; display: flex; align-items: center; justify-content: center;}
}/*END*/
@media ( max-width:400px){
#facility .inner{ width: 85%;  margin: 30px auto 0; }
}/*END*/

/*------------------------------------------------------
	contact
-------------------------------------------------------*/
#contact{ padding: 80px 0; text-align: center; background: #f5f3f1;}
@media ( max-width:950px){
#contact{ padding: 70px 0; }
}/*END*/
@media ( max-width:750px){
#contact{ padding: 60px 0; }
}/*END*/
@media ( max-width:400px){
#contact{ padding: 50px 0; }
}/*END*/
#contact h2::after{ background: #fff !important;  }
#contact .inner{ width: 80%; max-width: 1000px; padding: 70px 60px 80px 60px; box-sizing: border-box; margin: 50px auto 0; text-align: center; background: #fff;}
@media ( max-width:750px){
#contact .inner{ width: 90%; padding: 6vw 7vw 6vw 7vw; box-sizing: border-box; margin: 40px auto 0;}
}/*END*/
@media ( max-width:400px){
#contact .inner{ width: 90%; padding: 6vw 7vw 6vw 7vw; box-sizing: border-box; margin: 30px auto 0;}
}/*END*/
.contact_tel img{ width: 320px; max-width: 85%; }
.contact_txt{ display: inline-block; text-align: left; margin-top: 25px; padding: 30px 40px; border-top: solid 1px #ddd;}
.contact_txt p{ font-size: 15px;}
.schedule{ margin: 0 auto; max-width:675px ;}
@media ( max-width:750px){
.contact_txt{ display: inline-block; text-align: left; margin-top: 25px; padding: 20px 0px; border-top: solid 1px #ddd;}
}/*END*/
.schedule_pc{ display:inline; }
.schedule_sp{ display:none; }
@media ( max-width:750px){
.schedule_pc{ display:none; }
.schedule_sp{ display:inline; }
}/*END*/

/*------------------------------------------------------
	access
-------------------------------------------------------*/
#access{ padding: 80px 0 140px; text-align: center;}
@media ( max-width:950px){
#access{ padding: 70px 0 120px; }
}/*END*/
@media ( max-width:750px){
#access{ padding: 60px 0 100px; }
}/*END*/
@media ( max-width:400px){
#access{ padding: 50px 0 100px; }
}/*END*/
#access .inner{ width: 80%; max-width: 1000px;  margin: 50px auto 0; }
@media ( max-width:750px){
#access .inner{ width: 80%; max-width: 1000px;  margin: 40px auto 0; }
}/*END*/
@media ( max-width:400px){
#access .inner{ width: 90%; max-width: 1000px;  margin: 30px auto 0; }
}/*END*/
.access_map iframe{ width: 100%; height: 500px;}
@media ( max-width:400px){
.access_map iframe{ width: 100%; height: 400px;}
}/*END*/
.access_txt{ text-align: left; width: 90%; max-width: 1000px; margin: 40px auto 0; }
.access_txt p{ font-size: 16px; }
@media ( max-width:500px){
.access_txt{ text-align: left; width: 95%; margin: 30px auto 0; }
.access_txt p{ font-size: 14px; }
}/*END*/

/*------------------------------------------------------
	gotop
-------------------------------------------------------*/ 
.gotop{ position: fixed; right: 10px; bottom: 0px; margin:0 0 0 0px; z-index: 1;}
.gotop a{ width: 60px; height: 80px; display: block; transition: 0.3s;}
.gotop a:hover{ opacity: 0.7; }
.gotop a:hover img{ filter:alpha(opacity=70); -moz-opacity: 0.7; opacity: 0.7; }
@media ( max-width:500px){
.gotop{ position: fixed; right: 5px; bottom: 0px; margin:0 0 0 0px; z-index: 1;}
.gotop a{ width: 50px; height: 60px; display: block; transition: 0.3s;}
}/*END*/

/*-------------------------------------------------
	footer
--------------------------------------------------*/
footer { background: #333; color: #fff; padding: 60px 0; position: relative; }
footer .copyright{ font-size: 13px; line-height: 1; letter-spacing: 1px; text-align: center; font-family: Helvetica, Arial, "sans-serif"; font-weight: 500; }
@media screen and (max-width: 480px) {
footer .copyright{ font-size: 12px; line-height: 1; letter-spacing: 0px; text-align: center; font-family: Helvetica, Arial, "sans-serif"; font-weight: 500; }
}/*END*/
.br_tab{display: none;}
.br_sp{display: none;}
@media screen and (max-width: 1100px) {
.br_tab{display: inline;}
.br_sp{display: none;}
}/*END*/
@media screen and (max-width: 480px) {
.br_tab{display: none;}
.br_sp{display: none;}
}/*END*/
