@charset "utf-8";

/* Mobile First
/* ==========================================================================
   Base
========================================================================== */

* {
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
body {
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo UI", Meiryo, sans-serif;
	line-height: 170%;
	font-weight: 200;
	font-size: 14px;
	font-size: 1.6rem;
	color: #333333;
	-webkit-text-size-adjust: 100%;
	overflow-y: hidden;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: none;
}
body *{
	box-sizing: border-box;
}
main {
	display: block;
}
a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a img {
	background-color: rgba(255, 255, 255, .01);
	opacity: 1;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
a:hover img {
	display: inline-block;
	opacity: .75;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a:hover {
	opacity: .75;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a.color2 {
	color: #118c25;
	text-decoration: underline;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a[target="_blank"]:after {
	content: "\f08e";
	font-family: "FontAwesome";
	display: inline-block;
	margin: 0 5px;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
/* ==========================================================================
   module
========================================================================== */

.l-grid > *:not(a) {
	margin-bottom: 30px;
}
.l-grid > *:last-child {
margin-bottom: 0;
}
.l-grid.c-grid-sp-col-2 > *:nth-child(odd) {
padding-right: 3px;
}
.l-grid.c-grid-sp-col-2 > *:nth-child(even) {
padding-left: 3px;
}
.l-grid > *:not(a) {
margin-bottom: 5%;
}

/* PC-Tablet */
@media screen and (min-width: 768px) {
	.l-grid.c-grid-col-2 > *:nth-child(odd) {
	padding-right: 10px;
	}
	.l-grid.c-grid-col-2 > *:nth-child(even) {
	padding-left: 10px;
	}
	.l-grid.c-grid-col-3 > *:nth-child(3n+1) {
	padding-right: 14px;
	}
	.l-grid.c-grid-col-3 > *:nth-child(3n+2) {
	padding: 0 7px;
	}
	.l-grid.c-grid-col-3 > *:nth-child(3n) {
	padding-left: 14px;
	}
	.l-grid.c-grid-col-type-3 > .col:nth-of-type(3n+1) {
	padding-right: 7px;
	}
	.l-grid.c-grid-col-type-3 > .col:nth-of-type(3n+2) {
	padding: 0 3px;
	}
	.l-grid.c-grid-col-type-3 > .col:nth-of-type(3n) {
	padding-left: 7px;
	}
	.l-grid.c-grid-col-4 {
	margin-right: -13px;
	}
	.l-grid.c-grid-col-4 > * {
	padding-right: 13px;
	}
}
/* ==========================================================================
   Component
========================================================================== */
/* mobile */
@media screen and (max-width:767px) {
	*[class^=c-grid-sp-] > *,  *[class*= c-grid-sp-] > * {
		float: left;
	}
	*[class^="c-grid-sp-"]:before,  *[class*=" c-grid-sp-"]:before,  *[class^="c-grid-sp-"]:after,  *[class*=" c-grid-sp-"]:after {
		content: " ";
		display: table;
	}
	*[class^="c-grid-sp-"]:after,  *[class*=" c-grid-sp-"]:after {
		clear: both;
	}
	*[class^="c-grid-sp-"],  *[class*=" c-grid-sp-"] {
	 *zoom: 1;
	}
	*[class^="c-grid-sp-"]:before,  *[class*=" c-grid-sp-"]:before,  *[class^="c-grid-sp-"]:after,  *[class*=" c-grid-sp-"]:after {
		content: " ";
		display: table;
	}
	.c-grid-sp-col-2 > * {
		width: 50%;
	}
	.c-grid-sp-col-2 > *:nth-child(odd) {
		clear: both;
	}
	.c-grid-sp-col-2 > *:nth-last-child(-n+2) {
		margin-bottom: 0;
	}
	.c-grid-sp-col-3 > * {
		width: 33%;
	}
	.c-grid-sp-col-3 > *:nth-child(3n+1) {
		clear: both;
	}
	.c-grid-sp-col-3 > *:nth-last-child(-n+3) {
		margin-bottom: 0;
	}
}
/* PC-Tablet */
@media screen and (min-width: 768px) {
	*[class^=c-grid-] > *,  *[class*= c-grid-] > * {
	/*float: left;*/
		display: inline-block;
	}
	/**[class^="c-grid-"]:before,  *[class*=" c-grid-"]:before,  *[class^="c-grid-"]:after,  *[class*=" c-grid-"]:after {
	content: " ";
	display: table;
	}
	*[class^="c-grid-"]:after,  *[class*=" c-grid-"]:after {
	clear: both;
	}*/
	*[class^="c-grid-"],  *[class*=" c-grid-"] {
	*zoom: 1;
	}
	.c-grid-col-2 > * {
	width: 49%;
	}
	.c-grid-col-3 > *, .c-grid-col-type-3 > .col {
	width: 32%;
	}
	.c-grid-col-4 > * {
	width: 24%;
	}
	.c-grid-col-5 > * {
	width: 19%;
	}
	/*
	.c-grid-col-2 > *:nth-child(odd),
	.c-grid-col-3 > *:nth-child(3n+1),
	.c-grid-col-type-3 > *:nth-of-type(3n+1),
	.c-grid-col-4 > *:nth-child(4n+1),
	.c-grid-col-5 > *:nth-child(5n+1) {
	clear: both;
	}*/
	.c-grid-col-2 > *:nth-last-child(-n+2),
	.c-grid-col-3 > *:nth-last-child(-n+3),
	.c-grid-col-type-3 > .col:nth-last-of-type(-n+3),
	.c-grid-col-4 > *:nth-last-child(-n+4),
	.c-grid-col-5 > *:nth-last-child(-n+5) {
	margin-bottom: 0;
	}
}

/* ==========================================================================
   Utitlity
========================================================================== */

.clearfix:before, .clearfix:after {
	content: "\0020";
	display: block;
	height: 0;
	overflow: hidden;
}
.clearfix:after {
	clear: both;
}
.clearfix {
	zoom: 1;
}

@media screen and (min-width: 768px) {
	.u-sp {
	display: none !important;
	}
}
@media screen and (max-width: 767px) {
	.u-pc {
	display: none !important;
	}
}

.u-anchor-tdn a {
	text-decoration: none !important;
}
.u-anchor-tdn a:hover {
	text-decoration: underline !important;
}
.u-anchor-tdu a {
	text-decoration: underline !important;
}
.u-anchor-tdu a:hover {
	text-decoration: none !important;
}

/* margin */
.u-mt-l {margin-top: 60px;}
.u-mt-m {margin-top: 40px;}
.u-mt-s {margin-top: 20px;}
.u-mt-xs {margin-top: 10px;}

.u-mb-l {margin-bottom: 60px;}
.u-mb-m {margin-bottom: 40px;}
.u-mb-s {margin-bottom: 20px;}
.u-mb-xs {margin-bottom: 10px;}

/* padding */
.u-p-0 {padding: 0;}
.u-pr-5 {padding-right: 5px;}
.u-pl-5 {padding-left: 5px;}
.u-p-10{padding:1rem;}

/* font */
.u-fs-xxl{font-size: 3.4rem;}
.u-fs-xl {font-size: 2.8rem;}
.u-fs-l {font-size: 2.4rem;}
.u-fs-m {font-size: 1.8rem;}
.u-fs-s {font-size: 1.6rem;}
.u-fs-xs {font-size: 1.4rem;}
.u-fs-xxs {font-size: 1.2rem;}

.u-fw-b {font-weight: bold;}
.u-fw-n {font-weight: normal;}

.u-ta-c {text-align: center;}
.u-ta-r {text-align: right;}
.u-ta-l {text-align: left;}
.u-td-n {text-decoration: none;}
.u-td-u {text-decoration: underline;}

.u-lh-l {line-height: 2.1;}
.u-ws-nw {white-space: nowrap;}

/* mobile */
@media screen and (max-width: 767px) {
	.u-fs-xxl {font-size: 3rem;}
	.u-fs-xl {font-size: 2rem;}
	.u-fs-l {font-size: 1.8rem;}
	.u-fs-m {font-size: 1.6rem;}
}

/* ==========================================================================
   Object
========================================================================== */

.l-wrap {
	width: 100%;
	margin: 0 auto;
}
.l-wrap .inner {
	padding: 0 10px 20px;
}
/* background */
.bg-color1 {/* orange */
	background: #f19300;
	color: #FFF;
}

/* font-color */
.font-col1 {color: #f19300;}/* orange */
.font-col2 {color: #666666;}/* gray */
.font-col3 {color: #8DC224;}/* green */

.u-marker1{
background: linear-gradient(transparent 50%, #f9f9a2 50%);
}
.u-marker2{
background: linear-gradient(transparent 50%, #fddcee 50%);
}
.underline1{
	border-bottom:1px dashed #666;
}
/* btn */
.orange_btn {
	display: block;
	text-align: center;
	color: #fff;
	background-color: #f3980f;
	padding: 5px;
	font-weight: bold;
	margin-bottom: 5px;
}
.green_btn {
	display: block;
	text-align: center;
	color: #fff;
	background-color: #3399cc;
	padding: 5px;
	font-weight: bold;
	margin-bottom: 5px;
}
.btn-arrow:after{
	font-family: "Font Awesome 5 Free";
	content: "\f061";
	font-weight: 600;
	margin-left: 5px;
}
.btn-m {
	width:90%;
	max-width: 300px;
	margin: 0 auto;
	height: 50px;
	line-height: 50px;
	border-radius: 5px;
	padding: 0;
}

/* list-style */
.l-header .block1 {
	float: right;
}

.list-disc li,
.list-check li{
	position: relative;
	padding-left: 2.5rem;
}
.list-disc li:before{
	content:"・";
	position: absolute;
	left:0;
	font-size:1.2rem;
}
.list-check li:before{
	content:"\f00c";
	font-family: "font awesome 5 Free";
	font-weight: bold;
	position: absolute;
	left:0;
	font-size:1.2rem;
}
/* -----  header  ----- */
.l-header {
	border-top: 2px solid #f19300;
	padding: 10px 0 0;
	border-bottom: 1px solid #d8e0dd;/* overflow:  hidden; */
}
.l-header .inner {
	padding: 0 1rem;
}
.l-header .logo {
	float: left;
}

/* お問い合わせ */
.block1, .block1 li {
	display: inline-block;
	width: 100%;
	text-align:  center;
}
.block1 .txt {
	width: 100%;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1;
}
.block1 .tel {
	color: #00a4cb;
	font-size: 2.6rem;
	line-height: 1;
	white-space: nowrap;
	vertical-align: baseline;/* height:3rem; */
}
.block1 .tel {
	width: 100%;
	/* padding:0 1rem 0 0; */
	font-family: 'Roboto', sans-serif;
}
/*
.block1 .tel .tel-link:after {
	content: "";
	border-right: 1px dotted #666;
	display: inline-block;
	width: 5%;
	height: 25px;
	margin-right: 5%;
	vertical-align: bottom;
}
*/
.block1 .tel:before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url(../img/icon-phone.svg) no-repeat;
	background-size: contain;
	vertical-align: baseline;
	margin-right: 5px;
}
/* mobile */
@media screen and (max-width:767px) {
	.l-header {
		padding: 0;
		height: 52px;
		border-bottom: 1px solid #f19300;
	}
	.l-header .inner {
		padding: 0 0 0 10px;
	}
	.l-header .logo {
		width: calc(100% - 150px);
		margin: 10px 0 5px 25px;
	}
	.l-header .block1 {
		width: 50px;
		height: 100%;
		margin-right:  0;
	}
	.l-header .block1 li {
		display: inline-block;
		/* width: 49px; */
		height: 49px;
		vertical-align: middle;
		/* padding: 10px 0; */
		text-align: center;
		border-left: 1px solid #d8e0dd;
		line-height: 49px;
		/* margin-right:  1rem; */
	}
	.l-header .block1 li img {
		width: 30px;
		padding-bottom: 7px;
	}
	.l-header .block1 li a {
		display: inline-block;
		width: 50px;
		height: 100%;
		line-height: 50px;
	}
/*
	.l-header .block1 li a:first-of-type{
		border-right:1px solid #CCC;
	}
*/
	.l-header .tel {
		border-right: none;
		padding: 0;
	}
	.l-header .block1 .tel:before,
	.l-header .block1 .tel:after {
	content: none;
	}
	.l-header .tel .txt,
	.l-header .tel .tel-link {
		display: none;
	}
	/*.l-header .block1 .mail-link {
		border-left: 1px solid #EEE;
	}
	.block1 .mail-link i {
		font-size: 2.8rem;
	}*/
	.l-header .drawer-hamburger {
		padding: 15px .75rem 20px;
		position: absolute;
	}
	.drawer .drawer-nav {
		top: 52px;
		left: -50rem;
	}
	.drawer--left.drawer-open .l-header .drawer-hamburger {
		left: 0;
	}
	.drawer--left .l-header .drawer-nav {
		/* left: -50rem; */
	}
	.drawer .drawer-menu-item {
		font-size: 1.4rem;
		padding: 0;
		color: #f19300;
	}
	.drawer .drawer-menu-item{
		display: block;
		position: relative;
	}
	.drawer .drawer-menu-item:after{
		content:"\f061";
		font-family: "fontawesome";
		position: absolute;
		right:1rem;
	}
	.drawer .drawer-menu li {
		font-size: 1.4rem;
		/*padding: 1rem 0 1rem 2rem;*/
		color: #999;
		border-bottom: 1px solid #EEE;
		font-weight: normal;
		height:5rem;
		line-height: 5rem;
		display: inline-block;
		width:100%;
		padding-left:2rem;
	}
	.drawer .drawer-menu li:last-of-type {
		border-bottom: none;
	}
	.drawer .drawer-nav {
		width: 60%;
		height: 250px;
	}
	.drawer .drawer-overlay {
		top: 52px;
	}
	.l-header .drawer-nav .drawer-menu li.current{
	color:#333;
	opacity: 1;
	position: relative;
	}
	.l-header .drawer-nav .drawer-menu li.current:before{
		content:"";
		border:5px solid #666;
		position: absolute;
		left:0;
		height:5rem;
		top:0;
		box-sizing: border-box;
	}
}
.ttl02 {
	margin-bottom: 30px;
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.4;
}
.ttl03{
    font-size: 2rem;
    margin:3rem 0 2rem;
    font-weight: bold;
    border-left:10px solid #CCC;
    padding-left: 10px;
}

.ribbon1 {
	display: inline-block;
	position: relative;
	height: 30px;/*リボンの高さ*/
	line-height: 30px;/*リボンの高さ*/
	vertical-align: middle;
	text-align: center;
	padding: 0 15px;/*横の大きさ*/
	font-size: 2rem;/*文字の大きさ*/
	font-weight: bold;
	letter-spacing: .1em;
	background: #f19300;/*塗りつぶし色*/
	color: #FFF;/*文字色*/
	box-sizing: border-box;
	width: 100%;
	margin: 1rem auto;
}
.ribbon1:before, .ribbon1:after {
	position: absolute;
	content: '';
	width: 0px;
	height: 0px;
	z-index: 1;
}
.ribbon1:before {
	top: 0;
	left: 0;
	border-width: 15px 0px 15px 10px;
	border-color: transparent transparent transparent #fff;
	border-style: solid;
}
.ribbon1:after {
	top: 0;
	right: 0;
	border-width: 15px 10px 15px 0px;
	border-color: transparent #fff transparent transparent;
	border-style: solid;
}
.ribbon2 {
	display: block;
	position: relative;
	height: 60px;/*リボンの高さ*/
	line-height: 30px;/*リボンの高さ*/
	vertical-align: middle;
	text-align: center;
	padding: 0 15px;/*横の大きさ*/
	font-size: 2rem;/*文字の大きさ*/
	font-weight: bold;
	background: #f19300;/*塗りつぶし色*/
	color: #FFF;/*文字色*/
	box-sizing: border-box;
	width: 100%;
	margin: 1rem auto;
}
.ribbon2:before, .ribbon2:after {
	position: absolute;
	content: '';
	width: 0px;
	height: 0px;
	z-index: 1;
}
.ribbon2:before {
	top: 0;
	left: 0;
	border-width: 30px 0px 30px 10px;
	border-color: transparent transparent transparent #FFFBD1;
	border-style: solid;
}
.ribbon2:after {
	top: 0;
	right: 0;
	border-width: 30px 10px 30px 0px;
	border-color: transparent #FFFBD1 transparent transparent;
	border-style: solid;
}
.balloon1 {
 	position: relative;
	display: inline-block;
 	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
 	max-width: 100%;
 	color: #555;
	font-size: 20px;
	border-bottom:3px solid #00A4CB;
}

.balloon1:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -15px;
	border: 10px solid transparent;
	border-top: 8px solid #00A4CB;
}

.balloon1 p {
	margin: 0;
	padding: 0;
}
.balloon2 {
 	position: relative;
	display: inline-block;
 	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
 	max-width: 100%;
 	color: #555;
	font-size: 20px;
	border-bottom:3px solid #f19300;
}

.balloon2:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -15px;
	border: 10px solid transparent;
	border-top: 8px solid #f19300;
}
/* -----  footer ----- */
.l-footer {
	background-color: #333;
	padding: 20px 0;
}
.l-footer ul li {
	color: #fff;
}
.l-footer ul:last-of-type li {
	color: #ccc;
}
.l-footer .left {
	float: left;
	min-width: 45%;
}
.l-footer .f_logo img {
	height: 30px;
}

.l-footer .f_logo02 img {
	width: 40px;
	margin-right: 5px;
}
.l-footer a.f_logo02 {
	color: #FFF;
	font-size: 1.2rem;
}

/* -----  section  ----- */

section[class^=sec],  section[class*= sec] {
	padding: 10% 0;
}
main > header{
	background:#FFF;
}
main > header h1{
	font-size: 1.8rem;
	color: #f19300;
	border-bottom: 1px solid #fbc36a;
	line-height: 3;
	text-align: center;
	margin: 3rem 0 0;
}

/* sec01 */
.sec01{
    padding-top:0;
    padding-bottom: 0;
}
.sec01 .l-grid img {
	width: 100%;
}

.sec01 h3 {
	margin: 0 auto;
}

/* sec02 */

.station_detail {
	text-align: left;
}
.station_detail dl {
	font-size: 1.4rem;
}
.station_detail dl {
	width: 100%;
	padding: 10px 0;
	border-bottom: 1px dotted #333;
}
.station_detail dl:first-of-type {
	border-top: 1px dotted #333;
}
.station_detail > p {
	font-size: 1.6rem;
}
.station_detail dl dt {
	color: #666;
}
.station_detail dl dd {
	font-size: 100%;
}
.gmap iframe {
	width: 100%;
	height: 410px;
}
/* sec03 */
.sec03 {
	padding: 10px;
	background: #ffe581;
}
.sec03 .l-wrap .inner {
	background: #FFF;
	max-width: 850px;
	margin: 1rem;
	padding:1rem;
}
.sec03 > .l-wrap > p {
	margin: 0 10px;
}
.sec03 > .l-wrap > p img {
	width: 100%;
}
.sec03 .l-grid img {
	width: 100%;
	max-width: 300px;
}
.sec03 .block1 {
	width: 100%;
	/* max-width: 380px; */
}
.sec03 .block1 .u-fs-l {
	width:100%;
}
.sec03 .block1 li.u-ta-l{
	text-align: left;
}
.sec03 .block1 .tel {
	margin: 1rem 0;
}
.sec03 .c-grid-col-2 .ribbon1 {
	margin: .5rem auto;
}

/* ==========================================================================
   index.html
========================================================================== */
.swiper-container {
	width:100%;
}

.swiper-slide{
	width: 100%;
	border-bottom: 8px solid #F19300;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}


.swiper-slide a{
	display: block;
	width: 100%;
	height: 380px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	-webkit-background-size: cover;
}

.me_top_slide01 a{background-image: url(../img/mv-bg.jpg);}
.me_top_slide02 a{background-image: url(../img/bg_topmain02.gif);}

.swiper-slide a:hover,
.swiper-slide a:hover img {
	opacity: 1;
}

.swiper-slide div{
	display: table;
	height: 100%;
}
.swiper-slide div h2{
	display: table-cell;
	vertical-align: middle;
}

.me_top_slide01 div{
	width: 450px;
	margin: 0 auto;
	position: relative;
}
.me_top_slide01 div img{width:100%;}

.me_slide01_icon{
	display: block;
	width: 130px;
	position: absolute;
	top: 25px;
	left: -115px;
}

.me_top_slide02 div{
	width: 864px;
	max-width: 864px;
	margin: 0 auto;
}
.me_top_slide02 div img{width:100%;}


.top .main_visual h1 > img {
	width: 100%;
}
.top .main_visual {
	border-bottom: 8px solid #f19300;
}
.top .main_visual .copy_area {
	padding: 10px;
	background: #fffbd1;
}
.top .main_visual .copy_area .copy1 {
	white-space: nowrap;
	font-size: 1.6rem;
	letter-spacing: 0;
	position: relative;
	padding-top:1rem;
}
.top .main_visual .copy_area .copy1 .icon{
	height: 90px;
    width: 90px;
    border-radius: 50%;
    white-space: nowrap;
    font-size: 2rem;
    line-height: 9rem;
    position: absolute;
    left: 0px;
    top: -9rem;
    background: #ef3c3c;
    color: #FFF;
    display: block;
    text-align: center;
    box-shadow: 1px 2px 2px 1px rgba(0,0,0,0.15)
}
.top .main_visual .copy_area .copy1 br {
	display: none;
}
.top .main_visual .copy_area .copy1 span {
font-size: 1.6rem;
}

.top .main_visual .copy_area .mv-60days {
	margin: 10px;
	padding: 10px;
	border-top: 2px solid #f19300;
	border-bottom: 2px solid #f19300;
}
.top .main_visual .bunner_area {
	max-width: 360px;
	background: #FFF;
	border-radius: 5px;
	text-align: center;
	margin: 0 auto;
}
.top .bunner_area ul li:first-child {
	margin-bottom: 10px;
}
.top .main_visual .bunner_area .bg-color1 {
	font-weight: bold;
	text-align: center;
	letter-spacing: .1em;
	border-radius: 5px 5px 0 0;
}
.top .main_visual .bunner_area .block1 {
	padding: 0 10px 10px;
}
/* -----  sec01  ----- */
.top .sec01 {
    margin-top:3rem;
}
.top .sec01 h2:after{
	content:"";
	display: block;
	width:100px;
	height:3px;
	background:#999;
	margin:3rem auto;
}
.top .sec01 h3{
	font-weight: normal;
}
.top .sec01 h3 br{
	display:none;
}
.top .sec01 h3{
	line-height: 2.4;
}
.top .sec01 .c-grid-col-4 li img {
	max-width: 226px;
}
.top .sec01 .l-grid.c-grid-col-4.c-grid-sp-col-2 li p{
    border:1px solid #EEE;
    color:#00a4cb;
    font-weight: bold;
    height:100px;
    vertical-align: middle;
    margin:auto;
    
}
.top .sec01 .l-grid.c-grid-col-4.c-grid-sp-col-2 li p span{
    font-size: 1.4rem;
    font-weight: bold;
}
.top .sec01 p img{
	width:100%;
	max-width: 1060px;
}
/* -----  sec01-1  ----- */
.top .sec01-1{
	background: #fffbd1;
	padding:3rem 0;
}
.top .sec01-1 .box h3 span{
	border-bottom: 1px dashed #333;
}
.top .sec01-1 .box > p{
	border:2px solid #ff6600;
	border-radius: 10px;
	padding:2rem;
	display: inline-block;
	max-width: 900px;
	line-height: 1.6;
}
.top .sec01-1 .box article{
	max-width:900px;
	margin:0 auto;
	text-align: left;
	padding:2rem 0;
}s
.top .sec01-1 .box article .c-grid-col-2 .c-grid-col-2 li{
	width:49%;
	display: inline-block;
}
.top .sec01-1 .box h4,
.top .sec01-3 .box h3,
.top .sec01-4 .box h3{
	display: inline-block;
	color:#00a4cb;
	font-weight: bold;
	padding:0 0 5px 30px;
	margin-bottom: 2rem;
	font-size:2rem;
	position: relative;
	width:100%;
	border-bottom:2px solid #00a4cb;
}
.top .sec01-1 .box h4:before,
.top .sec01-3 .box h3:before,
.top .sec01-4 .box h3:before{
	content:"";
	display: inline-block;
	width:14px;
	height:14px;
	border:5px solid #00a4cb;
	border-radius: 50%;
	position: absolute;
	left:0;
	top:0px;
}
.top .sec01-1 .block-2 .reha ul{
	width:100%;
}
.top .sec01-1 .block-2 .reha ul li{
	line-height: 4rem;
	border-bottom: 1px solid #999;
}
.top .sec01-1 .block-2 .reha ul li:last-of-type{
	border:none;
}
.top .sec01-1 .block-2 .reha ul li span{
	float:right;
}
.top .sec01-1 .block-3 .feedback li:before{
	content:"・";
	line-height: 2;
}
/* -----  sec01-2  ----- */
.sec01-2 .img-60days{
	max-width:900px;
	width:100%;
}
.sec01-2 p.u-fs-xs.u-ta-l{
	max-width: 900px;
	margin:0 auto 2rem;
}
.sec01-2 .taiken-detail{
	max-width:900px;
	margin:0 auto;
	border:2px solid #00a4cb;
	border-radius:10px;
}
.sec01-2 .taiken-detail .detail1{
	margin:1rem 1rem 0;
}
.sec01-2 .taiken-detail .detail1 ul li{
	width:31%;
	display: inline-block;
}
.sec01-2 .taiken-detail .detail1 .font-col1{
	font-size:3rem;
	padding:1rem;
}
.sec01-2 .taiken-detail .detail2{
	background: #00a4cb;
	padding:2rem 0 .5rem;
}
.sec01-2 .taiken-detail .detail2 li:first-of-type{
	padding-bottom: 1rem;
}
.sec01-2 .taiken-detail .detail2 a{
	color:#FFF;
	border-top:1px solid #FFF;
	width:100%;
	display: inline-block;
	padding-top:1rem;
}

/* -----  sec01-3  ----- */
.top .sec01-3{
	background:#eaffbe;
}
.top .sec01-3 .box{
	background:#FFF;
	padding:1rem;
	border-radius: 10px;
	text-align: left;
	max-width: 900px;
	margin:1rem;
	
}
.top .sec01-3 .box h3{
	color:#8DC224 ;
	border-bottom:2px solid #8DC224 ;
	text-align: left;
}
.top .sec01-3 .box h3:before{
	border:5px solid #8DC224 ;
}
.top .sec01-3 .box li{
	vertical-align: top;
}
.top .sec01-3 .box .img li{
	width:48%;
	display: inline-block;
}
/* -----  sec01-4  ----- */
.top .sec01-4{
	background:#d7f5fc;
	padding:2rem 1rem;
}
.top .sec01-4 .ttl02{
	font-size:2rem;
	white-space: nowrap;
}
.top .sec01-4 h4{
	color:#00a4cb;
}
.top .sec01-4 .box-inner{
	max-width:900px;
	margin:1rem auto;
	text-align: left;
	padding:1rem;
	border:2px solid #FFF;
	background: #FFF;
	border-radius: 10px;
	position: relative;
	border:2px solid #00a4cb;
	font-size:1.4rem;
}
.top .sec01-4 .box-inner:after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: 50%;
	bottom: -15px;
	border-top: 15px solid #00a4cb;
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
}
.top .sec01-4 .box > p{
	color: #FF3300;
	max-width:900px;
	margin:3rem auto;
	font-size:2rem;
	line-height: 2;
	border-bottom:1px solid #FF3300;
	display: inline-block;
}
.top .sec01-4 .box .iryou li{
	border-bottom:1px solid #CCC;
	margin-bottom: 1rem;
}
.top .sec01-4 .box .iryou span{
	float:right;
}

.top .sec01-4 .box-inner .l-grid{
	margin:1rem 1rem 2rem;
}

/* ==========================================================================
   facility.html
========================================================================== */
.facility .sec01 .c-grid-col-2.box1 li:first-of-type{
	padding:2rem;
	background:#ffffcc;
	border:2px solid #f1a900;
	margin: 0 auto 2rem;
}

.facility .sec02 {
	padding: 0 3%;
}
.facility .nagare dl {
	border: 3px solid #e2e2e2;
	max-width: 1000px;
	margin: 20px auto;
	text-align: left;
	padding: 1rem 2rem;
	position: relative;
}
.facility .nagare dl dt {
	color: #8dc224;
	font-size: 2rem;
	line-height: 2;
	width: 30%;
	vertical-align: top;
	font-weight: bold;
	text-align: center;
}
.facility .nagare dl dt,
.facility .nagare dl dd {
	width: 100%;
}
.facility .nagare dl dd {
	font-size: 1.4rem;
}
.facility .nagare dl::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: 50%;
	bottom: -10px;
	border-top: 10px solid #e2e2e2;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
}
.facility .sec02 .c-grid-col-4 li {
	display: inline-block;
	width: 23%;
}
.facility .program{
    max-width:1000px;
    margin:0 auto 5rem;
}
.facility .program .ttl-wrap{
	margin:2rem auto 5rem;
}
.facility .program .ttl02:after{
	content:"";
	display: block;
	width:50%;
	background:#333;
	height:.2rem;
	margin:0 auto;
}
.facility .program .ttl02 span{
    display: block;
    margin:1rem 0 0;
}
.facility .sec02 .l-grid{
	margin:0 auto 2rem;
}
.facility .sec02 .l-grid li{
	display:inline-block;
	width:48%;
}

/* ==========================================================================
   price.html
========================================================================== */
.price .price-list{
	background: #FFFBD1;
	padding:3rem 1rem;
}
.price .price-list > div{
	max-width: 900px;
	margin:0 auto;
}
.price .price-list h3{
	background:#cae0a0;
	padding:.8rem 1rem;
	font-weight: bold;
	line-height: 1;
}
.price .price-list table{
	font-size: 1.3rem;
	margin:0 auto 2rem;
	background:#FFF;
	position:relative;
}
.price .price-list .free:after{
	content:"1回無料";
	display:block;
	background:red;
	width:100%;
	max-width: 10rem;
	height:2rem;
	border-radius:1rem;
	color:#FFF;
	line-height: 2rem;
	text-align: center;
	font-size:1.6rem;
	margin:0 auto;
}
.price .price-list th{
	font-size:1.1rem;
	white-space: nowrap;
	color:#8dc224;
	border-bottom:2px solid #8dc224;
	background: #FFFBD1;
}
.price .price-list th.menu{
	text-align: left;
}
.price .price-list td{
	border:1px solid #8dc224;
}
.price .price-list .menu{
	width:50%;
	padding:.5rem;
}
.price .price-list .time,
.price .price-list .price{
	width:20%;
	padding:.5rem;
	text-align: center;
}
.price .price-list .time{
	width:30%;
}
.price .price-list span{
	display: block;
	font-size:1.3rem;
}
.price .price-list .menu li{
	padding-left:2rem;
	position: relative;
}
.price .price-list .menu li:before{
	content:"・";
	position: absolute;
	left:.5rem;
}
.price .price-list .menu .ttl{
	font-weight: bold;
	padding-left:1rem;
}
.price .price-list .menu .ttl:before{
	content:none;
}
.price .price-list .note li{
	position: relative;
	padding:0 0 .5rem 2rem;
	font-size:1.2rem;
	line-height: 1.8;
}
.price .price-list .note li:before{
	content:"※";
	position:absolute;
	left:0;
}
.price .price-list  h2{
	position: relative;
	padding:3rem 0 2rem;
}
.price .price-list h2:after{
	position: absolute;
	content:"";
	display: block;
	background:#000;
	width:100%;
	max-width: 500px;
	height:3px;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;
}
.price .price-list .menu4 h3:first-of-type{
	background: none;
	line-height: 1.8;
	text-align: center;
	font-weight: normal;
}
.price .price-list .menu1 .ribbon2{
	max-width: 800px;
}
/* ==========================================================================
   vision.html
========================================================================== */
.vision .sec01 .l-wrap{
    margin-bottom: 0;
}
.vision .sec01 .l-wrap .inner,
.vision .sec02 .l-wrap .inner{
    max-width: 1000px;
    margin:0 auto;
}
.vision .sec01 p {
	text-align: left;
	margin: 3rem auto;
	letter-spacing: .1em;
}
.vision .sec02 .ttl02 span{
    line-height: 5rem;
}
.vision .sec02 .l-grid.c-grid-col-2{
    padding:2rem 0;
    border-bottom: 2px dotted #CCC;
    margin:0 auto;
}
.vision .sec02 .l-grid.c-grid-col-2:first-of-type{
    border-top: 2px dotted #CCC;
}
.vision .sec02 .l-grid.c-grid-col-2 > li:first-of-type img{
    width:100%;
    border-radius: 8px;
}
.vision .sec02 .l-grid.c-grid-col-2 h3 a:after{
    content:none;
}
/* ==========================================================================
   service
========================================================================== */
.service{
	background:#F6F6F6;
}
.service .sec01{
	padding-top:0;
}
.service .sec01 h1{
	margin-bottom:0;
}
.service .sec01 h2{
	background:#999;
	padding:2rem;
	color:#FFF;
	letter-spacing: .2rem;
	font-size:2.2rem;
	margin-bottom:3rem;
}
.service .sec01 .balloon-wrap{
	text-align: center;
	margin:2rem auto;
}
.service .sec01 h3{
	font-weight: bold;
}
.service .sec01 .inner > ul{
	margin:1rem auto 2rem;
}
.service .sec01 .point1 li{
	border:2px solid #777;
	border-radius: 6px;
	padding:2rem;
	font-size:1.4rem;
	vertical-align: top;
}
.service .sec01 .point1 li img{
	height:40px;
	margin:0 auto 2rem;
}
.service .sec01 .point1 li h4{
	color:#8DC224;
	font-weight: bold;
	font-size:2rem;
}
.service .sec01 .point2 .box{
	border:1px solid #CCC;
	background: #FFF;
	padding:2rem;
	font-size: 1.6rem;
}
.service .sec01 .point2 h5{
	background:#00A4CB;
	color:#FFF;
	display:inline-block;
	padding:0 1rem;
	margin:1rem 0 .5rem;
	width:100%;
}
.service .sec01 .point4{
	background:#00A4CB;
	padding:1rem;
	color:#FFF;
	font-size: 1.4rem;
}
.service .sec01 .point4 h3{
	text-align: center;
	font-size:1.6rem;
	padding:1rem 0;
	border-bottom:2px dotted #FFF;
	margin-bottom:1rem;
}
/* .sec02 */
.service .sec02{
	padding:1rem;
}
.service .sec02 h2{
	font-size:2.4rem;
	margin:0 auto 3rem;
	text-align: center;
}
.service .sec01 h2 br{
	display: none;
}
.service .sec02 .sec02-1{
	display: table;
	table-layout: fixed;
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px 0;
}
.service .sec02 .sec02-1 li{
	float:none;
	background:#8DC224;
	color:#FFF;
	font-size:1.4rem;
	line-height:1.4;
	width:33.3%;
	height:90px;
	border-radius:5px;
	text-align: center;
	vertical-align: middle;
	display: table-cell;
	padding:0 .5rem;
}
.service .sec02 .sec02-1 li br{
	display: none;
}
.service .sec02 .sec02-2 h3{
	display: inline-block;
	margin:1rem 0;
}
.service .sec02 .sec02-2 .c-grid-col-2{
	border:3px double #8DC224;
	padding:1rem;
	background:#FFF;
}
.service .sec02 .sec02-2 .c-grid-col-2 li{
	vertical-align: top;
}
.service .sec02 .sec02-2 .c-grid-col-2 .txt1{
	padding:1rem 0;
	border-bottom: 1px solid #8DC224;
}
.service .sec02 .sec02-2 .c-grid-col-2 .txt2 ul li{
	position: relative;
	font-size:1.4rem;
	padding:0 0 0 2rem;
}
.service .sec02 .sec02-2 .c-grid-col-2 .txt2 ul li:before{
	content:"・";
	position: absolute;
	left:0;
	top:0;
}
.service .sec02 .sec02-2 .c-grid-col-2 .time{
	border-top: 1px dashed #8DC224;
	border-bottom: 1px dashed #8DC224;
	padding:1rem;
	font-size: 1.4rem;
}
.service .sec02 .sec02-2 .c-grid-col-2 .time li:last-of-type{
	background: #CCC;
	padding:0 1rem;
}
.service .sec02 .sec02-2 a{
	background:#8DC224;
	border-radius: 5px;
	display: block;
	margin:1rem auto;
	color:#FFF;
	text-align: center;
}
.service .sec01-2 .taiken-detail h3{
	color: #00a4cb;
	font-size:2rem;
	font-weight: bold;
}
.service .sec01-2 .taiken-detail p{
	color:#00a4cb;
}
.service .reason{
	text-align: center;
	max-width:850px;
	margin:0 auto;
}
.service .reason h3.service .reason h3{
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
}
.service .reason > div{
	padding:1rem;
	text-align: left;
}
.service .reason h4{
	text-align: center;
	padding-bottom: 1rem;
	margin-bottom:2rem;
	border-bottom:2px solid #999;
	color:#f19300;
	font-size: 2rem;
}
.service .reason h4:before{
	content:"1";
	display: block;
	width:35px;
	height:35px;
	background:#f19300;
	border-radius: 50%;
	color:#FFF;
	line-height: 3.5rem;
	font-size:2.4rem;
	margin-right: .5rem;
	font-family: "roboto";
	text-align: center;
	margin:1rem auto;
}
.service .reason li{
	vertical-align: top;
	text-align: left;
}
.service .reason li:last-of-type{
	text-align: left;
}
.service .reason .point2 h4:before{
	content:"2";
}
.service .reason .point3 h4:before{
	content:"3";
}
.service .reason .box{
	border:1px dashed #ffcc33;
	background: #FFF;
	padding:1rem 1rem 2rem;
	margin:2rem auto;
}
.service .reason .box h5{
	background:#ffcc33;
	color:#000;
	padding:.5rem 1rem;
	border-radius: 5px;
	margin:0 auto 1rem;
	font-size: 2rem;
	line-height: 3rem;
}
.service .reason .box img{
	width:100%;
	max-width: 300px;
	margin:0 auto;
	display: block;
}
.service .reason .point3 h5 span{
	font-size:3rem;
	display: block;
	margin:0 auto 2rem;
	color:#00a4cb;
}
.service .reason .point3 h6{
	border-left:5px solid #000;
	padding:0 0 0 1rem;
	margin-bottom:2rem;
	font-weight: bold;
}
.service .reason .point3 p{
	font-size: 1.6rem;
	margin:2rem auto;
}
.service .reason .point3 .box1 li{
	border:1px solid #f19300;;
	padding:0;

}
.service .reason .point3 .box1 li:nth-of-type(2){
	border:none;
}
.service .reason .point3 .box1 h6{
	border:none;
	background:#f19300;
	padding:1rem;
	color:#FFF;
}
.service .reason .point3 .box1 p{
	padding:0 1rem 1rem;
}
.service .reason .point3-2{
	padding-top: 5rem;
}
.service .reason .point3-2 h5{
	line-height: 1.4;
}
.service .reason .point3-2 dl{
	margin-top:1rem;
}
.service .reason .point3-2 dt,
.service .reason .point3-2 dd{
	display: inline-block;
}
.service .reason .point3-2 dt{
	background:#CCC;
	padding:0 1rem;
	border-radius: 3px;
	font-weight: bold;
}
.service .reason .point3-2 .note{
	border-top:1px solid #CCC;
	border-bottom:1px solid #CCC;
	margin-bottom: 2rem;
}
.service .reason .point3-2 .box2{
	background:#8dc224;
	color:#FFF;
	padding:1rem;
	border-radius: .5rem;
}
.service .reason .point3-2 .box2 h6{
	border: none;
	text-align: center;
	font-size:2.2rem;
	font-weight: bold;
	padding:1rem 0;
	border-bottom: 2px solid #FFF;
}
.service .reason .point3-3 .balloon2{
	background:#f19300;
	border-radius: 15px;
	height:30px;
	line-height: 2rem;
	color:#FFF;
	display: block;
	max-width:5rem;
	margin:3rem auto;
}
.service .reason .point3-2 dl:first-of-type{
	border-bottom: 1px dotted #CCC;
}
.service .reason .point3-3 .box dt{
	font-weight: bold;
}
.service .reason .koujinou{
	margin-bottom: 5rem;
}
.service .reason .koujinou h5{
	position: relative;
	padding-left: 2.5rem;
	margin:0 auto 1rem;
}
.service .reason .koujinou h5:before{
	content:"";
	display: inline-block;
	width:10px;
	height:10px;
	border:5px solid #666;
	border-radius: 50%;
	position: absolute;
	left:0;
	top:2px;
}
.service .reason .koujinou li{
	width:100%;
	margin-bottom: 2rem;
}
.service .reason .koujinou li:first-of-type{
	text-align: center;
}
.service header .nav{
	text-align: center;
}
.service header .nav span{
	padding:0 1rem;
}
.service header .nav span + span{
	border-left:1px solid #CCC;
}
.service header .nav span{
}
.service header .nav span a{
	display: inline-block;
}
.service header .nav span a:after{
	content:"\f107";
	font-family: "font awesome 5 free";
	font-weight: bold;
	margin-left:1rem;
}
.remodal{
	padding:2rem;
	font-size:1.4rem;
}
.remodal h3{
	color:#00a4cb;
	font-weight: bold;
}
.remodal h3 span{
	font-size:1.4rem;
	display: block;
	font-weight: normal;
}
.remodal .copy1{
	border:1px solid #CCC;
	padding:1rem;
}
.remodal .price1.balloon1{
	font-size:2rem;
	margin:1rem auto;
	padding:7px 0;
}
.remodal .price1 span{
	font-size:1.4rem;
	background:#f1a900;
	border-radius: 5px;
	color:#FFF;
	padding:.2rem 1rem;
}
.remodal .price1 .zei{
	color:#000;
	background: none;
}
.remodal .price2{
	font-size:2.4rem;
	margin:1rem auto;
	color:#f1a900;
	display: inline-block;
	border-bottom:1px dashed #f1a900;
}
.remodal .merit h4,
.remodal .menu h4{
	text-align: left;
	font-weight: bold;
}
.remodal .merit ul{
	margin-bottom: 2rem;
}
.remodal .merit ul li{
	background:#8dc224;
	color:#FFF;
	border-radius: 10px;
	padding:1rem;
}
.remodal .merit p{
	text-align: left;
	border-bottom:1px dotted #CCC;
}
.remodal .menu {
	margin:2rem auto;
}
.remodal .menu h3{
	text-align: left;
}
.remodal .menu table{
	font-size:1.2rem;
	text-align: left;
}
.remodal .menu table th{
	background:#EEE;
}
.remodal-close{
	top:0;
	left:auto;
	right:0;
}
.remodal .menu table th,
.remodal .menu table td{
	border:1px solid #CCC;
	padding:.2rem;
	vertical-align: middle;
}
.remodal .menu table .menu{
	width:55%;
}
.remodal .menu table .price{
	width:20%;
}
.remodal .menu table .time{
	width:25%
}
.remodal .menu table .time span{
	display: block;
}
.remodal-cancel{
	background:#999;
	border-radius: 5px;
}
.remodal-cancel:hover, .remodal-cancel:focus{
	background: #CCC;
}
.remodal-btn{
	cursor: pointer;
}
/* ==========================================================================
   voice
========================================================================== */
.voice{
	background:#F6F6F6;
}
.voice .sec01 {
	margin-bottom:5rem;
}
.voice .sec01 .inner{
	background: #FFF;
	border:1px solid #CCC;
	padding:0 2rem 2rem;
	margin:1rem;
	max-width: 1000px;
}
.voice .sec01 .profile{
	border-bottom:1px dashed #CCC;
}
.voice .sec01 .profile li{
	display: inline;
	font-size:1.4rem;
	margin-right: 1rem;
	white-space: nowrap;
}
.voice .sec01 .profile .name{
	color:#FFF;
	display: block;
	background:#00a4cb;
	position:relative;
	margin:-2rem -3rem;
	padding:.5rem 1rem;
}
.voice .sec01 .profile .name:before,
.voice .sec01 .profile .name:after {
	position: absolute;
	content: '';
	top: 100%;
}
.voice .sec01 .profile .name:before{
	left: 0;
	border: none;
	border-bottom: solid 10px transparent;
	border-right: solid 10px #CCC;
}
.voice .sec01 .profile .name:after{
	border-bottom: solid 10px transparent;
	border-left: solid 10px #CCC;
	right:0;
}
.voice .sec01 .profile .name span{
	background:#def9ff;
	border-radius: 4rem;
	font-size:1.4rem;
	padding:0 1rem;
	margin-left: 2rem;
	color:#00a4cb;
}
.voice .sec01 .profile ul{
	padding-top:3rem;
}
.voice h2{
	font-weight: bold;
	background:#e7ffb6;
	padding:.5rem 1rem;
	border-left:#8dc224 solid 5px;
	margin:3rem auto 3rem;
	font-size:2rem;
}
.voice .box1{
	border-bottom:1px solid #CCC;
	padding:1rem 0;
}
.voice .box1:first-of-type{
	border-top:1px solid #CCC;
}
.voice .box1 h3{
	font-weight: bold;
	color:#00a4cb;
	margin:1rem auto 0;
	position: relative;
	padding-left: 2.2rem;
	line-height: 4rem;
}
.voice .box1 h3:before{
	content:"";
	display: inline-block;
	width:8px;
	height:8px;
	border:4px solid #00a4cb;
	border-radius: 50%;
	position:absolute;
	left:0;
	top:10px;
	line-height: 4rem;
}
.voice .box1 h4{
	font-weight: bold;
}
.voice .box1 ul li{
	position: relative;
	padding-left:2rem;
}
.voice .box1 ul li:before{
	content:"・";
	position: absolute;
	top:0;
	bottom:0;
	left:0;
}
.voice .box1 ul.after li{
	padding-left: 0;
}
.voice .box1 ul.after li:before{
	content: none;
}
.voice .box1 ul.after li:first-of-type:after{
	content:"\f078";
	display: block;
	font-family: fontawesome;
	text-align: center;
	font-size:2.4rem;
	color:#999;
}
.voice .box1 ul.after span{
	display: block;
	background:#e3e3e3;
	max-width:130px;
	margin:1rem 0;
	text-align: center;
}