@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
/****** Elad Shechter's RESET *******/
/*** box sizing border-box for all elements ***/
*,
*::before,
*::after {
  box-sizing: border-box;
}
a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
button {
  background-color: transparent;
  color: inherit;
  border-width: 0;
  padding: 0;
  cursor: pointer;
}
figure { margin: 0;}
input::-moz-focus-inner {
  border: 0;
  padding: 0;
  margin: 0;
}

ul, ol, dl, dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

p {
  margin: 0;
}

cite {
  font-style: normal;
}

fieldset {
  border-width: 0;
  padding: 0;
  margin: 0;
}
.container {max-width: none !important;}

/* ------------------------------------
// base
------------------------------------ */
html {
  font-size: 62.5%;
  overflow: auto;
}
@media screen and (max-width: 767px) {html {font-size: calc(1000vw / 768);}}
@media screen and (max-width: 767px) {html {font-size: calc(16px + 5 * ((100vw - 990px) / 450));}}



body {
  	color: #444;
	font-family: "M PLUS 1p";
 	font-family: 'M PLUS Rounded 1c'!important;
  	font-size: 1.6rem;
  	font-weight: 500;
 	 line-height: 1.67;
 	 margin: 0;
	 padding-bottom:0!important;
  	overflow: hidden;
  	min-width: 1000px;
}
@media screen and (max-width: 1000px) {body {min-width: 0;}}

#wrapper {position: relative;}

a:link {text-decoration: none;}
a:visited {text-decoration: none;}
a:hover {text-decoration: none;}
a:active {text-decoration: none;}

a img {transition: .3s;}
a img:hover {opacity: .8;}

img {
  max-width: 100%;
  height: auto;
}

.go_bold{
	font-weight:600;
	}


.re{ color:#BA4845;}
.bl{ color:#1D59AC;}
.lbl{ color:#009AE4;}
.gr{ color:#579EA1;}
.bw{ color:#823E48;}
.pi{ color:;}
.or{ color:#DE673D;}
.pr{ color:#A064A0;}
.txt-bw-s{ color:#8C6800; font-size:13px; font-weight:600;}

.btm30{padding-bottom:3vh;}
.btm50{padding-bottom:5vh;}
@media screen and (max-width: 767px) {
	}

/* 背景画像の透過用 */
.bkRGBA{
	height: 100%;
	background: rgba(255,255,255,0.5);
	padding:5vw 0 5vw;
	}	

/* ------------------------------------
// main
----------------------------------- */
.sp {display: none;}
@media screen and (max-width: 767px) {.sp {display: block;}}
@media screen and (max-width: 767px) {.pc {display: none;}}




/* ------------------------------------
// header
----------------------------------- */
#header {
  overflow:hidden;
  text-align:center;
	}
.h1-out {  margin:0;
  overflow:hidden;
}
#header h1 {
  margin: 1vw auto 0!important;
  max-width: 1044px;
  overflow:hidden;
  text-align:center;
	font-family: "M PLUS 1p";
 	font-family: 'M PLUS Rounded 1c'!important;
}
#header h1 span,
#header h1 p{
	font-weight: 400;
	letter-spacing: 0.075em;
	display:block;
}
#header h1 a{
	font-size:42px;
	letter-spacing: 0.075em;
	}
	
#header #vi {
	background-image: url(../img/main.jpg)!important;
	background-repeat: no-repeat;
	background-size:cover!important;
	width: 100%!important;
  overflow:hidden;
  margin-top:-4vw;
}
#header #vi div {
  padding: 2vw 0 34vw;
  position: relative;
  overflow:hidden;
}

@media screen and (min-width: 1600px) {#header h1 span {font-size: 14px;}}
@media screen and (max-width: 1399px) {
  #header #vi div {
    margin: 0 2.142vw;
  padding: 2vw 0 34vw;
  }
  #header #vi h1 {
    margin: 0 auto 17.142vw;
    max-width: 71.428vw;
  }
  
}
#comment{margin:4vw auto; text-align:center; width:92%;}
@media screen and (max-width: 767px) {
#header h1 span{font-size:.7em;}
#header h1 p{font-size:16px;}
#header h1 a{
	font-size:32px;
	}
  #header #vi {
	background-image: url(../img/main.jpg)!important;
    background-size: 100% auto!important;
  }
  #header #vi div {
    margin: 0;
  padding: 2vw 0 34vw;
  }
#comment{margin-top:4vw; text-align:left;}
}



/* ------------------------------------
// contents
----------------------------------- */
.inner {
  margin: 4vw auto;
  max-width: 1000px;
  width:92%;
}




/* TOP info */
#info{
	background-color:#E4F7F7;
	width:100%;
	margin:0 auto 4vw;
	padding-bottom:2vw;
	overflow:hidden;
	background-image: url(../img/back.gif);
	background-repeat: repeat-x;
	background-position: center bottom;
	}
#info .inner{
	max-width:1280px;
	width:92%;
	margin:4vw auto;
	overflow:hidden;
	}
#info h2,
#access h2{
	text-align:center;
	color:#00999B;
	font-weight:600;
	font-size:1.2em;
	padding-bottom:1vw;
	}

/* news */
.news{
	overflow:hidden;
	width:46%;
	max-width:590px;
	margin:0 2% 0;
	float:left;
	}
.news dl{
	overflow: hidden;
	width: 100%;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	padding:.8vw 0;
	}	
.news dt{
	overflow:hidden;
	width: 25%;
	float:left;
	background-image: url(../img/arrow.gif);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left:20px;
	}	
.news dd{
	overflow:hidden;
	width: 75%;
	float:left;
	}	
/* time */
.time{
	overflow:hidden;
	width:46%;
	max-width:590px;
	margin:0 2% 0;
	float:left;
	}
.dayoff{
	color:#C54C85;
	text-align:center;
	}
.soudan{
	max-width:590px;
	clear:both;
	overflow:hidden;
	border-radius:15px;
	background-color:#fff;
	padding:2vw;
	text-align:center;
	margin:3vw auto;
	}
.soudan h4{
	font-size:1.2em;
	color:#00999B;
	padding-bottom:6px;
	}
@media screen and (max-width: 1300px) {
.news{
	overflow:hidden;
	width:100%;
	max-width:590px;
	margin:0 auto 4vw;
	float:none;
	}
.time{
	overflow:hidden;
	width:100%;
	max-width:590px;
	margin:0 auto 0;
	float:none;
	}
.news dl{
	padding:1.6vw 0;
	}	
.news dt{
	width: 100%;
	float:none;
	padding-left:20px;
	font-weight:600;
	}	
.news dd{
	width: 100%;
	float:none;
	}	
}
@media screen and (max-width: 767px) {
#info{
	background-color:#E4F7F7;
	width:100%;
	margin:0 auto 4vw;
	padding-bottom:14vw;
	overflow:hidden;
	}
}



/* TOP treatment */
#treatment {
	clear: both;
	display: block;
	width: 92%;
	max-width:1140px;
	padding:4vw 0 4vw;
	margin: 0 auto;
}
#treatment h2{
	text-align:center;
	font-size:1.2em;
	color:#00999B;
	font-weight:600;
	margin:0 0 1vw 0;
}
#treatment h3{
	text-align:center;
	font-size:1.6em;
	margin:1vw 0;
}
#treatment h3 p{font-size:.7em;}
.col6-box{
  display : flex;
  flex-wrap : wrap;
  justify-content:space-between;
  clear:both;
  text-align:center;
  margin:0 auto;
}
.col6-box::after{
  content:"";
  display: block;
  width:16%;
}
.col6-box .item{
  padding:0 ;
  box-sizing:border-box;
  width:16%;
}
@media screen and (max-width:1248px) {
#treatment {
	clear: both;
	display: block;
	width: 92%;
	max-width:960px;
	padding: 4vw 0 4vw;
	margin: 0 auto;
}
.col6-box::after{
  content:"";
  display: block;
  width:31%;
}
.col6-box .item{
  padding:0;
  box-sizing:border-box;
  width:31%;
}
.col6-box .item .inner{
	width:100%;
	margin:0 auto;
	padding:5% 1% 0% 1%;
	}
}
.setsubi{
	max-width:640px;
	clear:both;
	overflow:hidden;
	border-radius:15px;
	background-color:#EEEEEE;
	padding:2vw;
	text-align:center;
	margin:4vw auto 3vw;
	}
.setsubi h4{ font-size:1.2em; font-weight:600;}










.col3-box{
  display : flex;
  flex-wrap : wrap;
  justify-content:space-between;
  text-align:center;
  margin:3vw auto;
  float:left;
}
.col3-box::after{
  content:"";
  display: block;
  width:33%;
}
.col3-box .item{
  padding:0 ;
  box-sizing:border-box;
  width:33%;
}
@media screen and (max-width:1248px) {
.col3-box{
  float:none;
}
.col3-box::after{
  content:"";
  display: block;
  width:31%;
}
.col3-box .item{
  padding:0;
  box-sizing:border-box;
  width:33%;
}
.col3-box .item .inner{
	width:100%;
	margin:0 auto;
	padding:5% 1% 0% 1%;
	}
}



.col4-box{
  display : flex;
  flex-wrap : wrap;
  justify-content:space-between;
  text-align:center;
  margin:3vw auto;
  float:left;
}
.col4-box::after{
  content:"";
  display: block;
  width:25%;
}
.col4-box .item{
  padding:0 ;
  box-sizing:border-box;
  width:25%;
}
@media screen and (max-width:1248px) {
.col4-box{
  float:none;
}
.col4-box::after{
  content:"";
  display: block;
  width:23%;
}
.col4-box .item{
  padding:0;
  box-sizing:border-box;
  width:23%;
}
.col4-box .item .inner{
	width:100%;
	margin:0 auto;
	padding:5% 1% 0% 1%;
	}
}

@media screen and (max-width:767px) {
.col3-box .item img,	
.col4-box .item img{
	max-width:90px;}	
}













#access{
	background-color:#FAFAFA;
	width:100%;
	margin:0 auto ;
	overflow:hidden;
	padding:4vw 0;
	}
.access-outer{
	overflow:hidden;
	max-width:1040px;
	margin:0 auto ;
	clear:both;
	}
.access-l{
	overflow:hidden;
	float:left;
	max-width:460px;
	}	
.access-r{
	overflow:hidden;
	float:left;
	max-width:580px;
	}	
#access h2{
	margin-bottom:1vw;}
#access h3{
	font-weight:600;
	padding-top:1vw;
	padding-bottom:1vw;
	}
#access h3 span{
	padding-left:6px;
	color:#C64A85;
	}
#access ul{
	overflow:hidden;
	max-width:460px;
	width:100%;
	margin:0 auto 20px;
	}
#access li{
	float: none;
	width: 100%;
	padding-left: 22px;
	margin-bottom:10px;
	background-image: url(../img/icon-train.gif);
	background-repeat: no-repeat;
	background-position: left center;
	color:#763B8C;
	}
@media screen and (max-width:1040px) {
#access h3{
	font-size:92%;
	margin-bottom:10px;
	}
.access-outer{
	width:96%;
	margin:0 auto ;
	}
#access ul{
	overflow:hidden;
	max-width:100%;
	width:100%;
	margin:0 auto 20px;
	}
#access li{
	width: 100%;
	}
.access-l{
	float:none;
	width:100%;
	margin:0 auto;
	}	
.access-r{
	float:none;
	width:100%;
	margin:0 auto;
	}	
}


#attention{
	background-image: url(../img/back.gif);
	background-repeat: repeat-x;
	background-position: center top;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	padding: 4vw 0 0;
	background-color: #EEE;
	}
#attention .inner{
	width: 100%;
	max-width:1040px;
	}	
#attention h2{
	text-align:left;
	font-weight:600;
	}
#attention h3{
	text-align:left;
	font-weight:600;
	margin-top:20px;
	}
@media screen and (max-width:1040px) {
#attention{
	padding:8vw 0 2vw;
	}
#attention .inner{
	width: 92%;
	max-width:980px;
	}	
}
@media screen and (max-width:768px) {
#attention{
	padding:14vw 0 18vw;
	}
#attention .inner{
	width: 92%;
	max-width:980px;
	}	
}
	