@charset "utf-8";

/*
----------------------------------------
追加CSS
----------------------------------------
*/

i{ font-style:normal;}
p{ font-size:1.8rem;text-align:left; }
.alnC{ text-align:center;}
.roboto{ font-family: 'Roboto', sans-serif; }
.green{ color: #109954;}
.bold{ font-weight: bold;}
.wrap{margin: 0 auto; padding:0;}
.contents section{ padding:10px 0; }
#contents{ overflow: hidden; }
input, button, textarea, select {
    font-size: 1.6rem;
}
input[type="text"], input[type="tel"], input[type="email"], textarea{
	padding:10px;
}
.sp{ display:none;}
.pc{ display:block;}
br.sp{display:none;}
select {
    background: #fff;
    vertical-align: middle;
    color: inherit;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1.6rem;
    min-height: 1em;
	padding: 7px 35px 7px 15px !important;
    background: url(../img/common/icon/arrow-select.svg) right 10px center / 10px no-repeat !important;
}
#wrapper{
	/*min-width:1280px;*/
}
#container{
	padding-bottom:30px;
}
.topic-path{
	background:none;
    padding: 15px 0 0 0;
    margin-bottom: -15px;
}
.topic-path a {
    text-decoration: underline;
}
.company-page .topic-path,
.staff-page .topic-path,
.blog-page .topic-path,
.faq-page .topic-path{
	margin-bottom:20px;
}
#page-ttl{
	position:relative;
	padding: 0;
    display: table;
    width: 100%;
    height: 330px;
}
#page-ttl .box {
    background: none;
    display: table-cell;
	color:#fff;
	text-align:left;
	vertical-align:middle;
    width: 100%;
    padding: 0;
	position:relative;
	z-index:10;
}
#page-ttl .box > *{
    max-width: 1180px;
	margin-left:auto;
	margin-right:auto;
}
#page-ttl:after{
	content:"";
	width:100%;
	height:100%;
	background:url(../img/common/title-bg-02.png) no-repeat center center;
	position:absolute;
	left:0;
	top:0;
}
#page-ttl .box h2.en {
    font-size: 5.2rem;
	position: relative;
	top: 10px;
}
#page-ttl .box p {
    font-size: 2.3rem;
}
#center #page-ttl:after{
	background-image:url(../img/common/title-bg.png);
}


/*--btn--*/
.left.btn-01,.left.btn-02,.left.btn-03,.left.btn-04,.left.btn-05,.left.btn-06 {
    text-align: left;
}
.right.btn-01,.right.btn-02,.right.btn-03,.right.btn-04,.right.btn-05,.right.btn-06 {
    text-align: right;
}
section div > .btn-01,section div > .btn-02,section div > .btn-03,section div > .btn-04,section div > .btn-05,section div > .btn-06{
	margin-top:40px;
}
.btn-01 a {
    display: inline-block;
    padding: 10px 40px 10px 30px;
    border-radius: 2em;
    color: #0d8046;
    background: #fff;
    line-height: 1.5;
    position: relative;
    font-size: 1.6rem;
}
.btn-01 a::after {
    content: "" !important;
    width: 30px;
    height: 30px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    right: 10px;
    top: 50%;
    background: url(../img/common/icon/f054-g.png) no-repeat 50% 50% / contain;
    margin-top: -15px;
}
.btn-01 a:hover {
    background: #109954;
	color:#fff;
}
.btn-01 a:hover:after {
    background: url(../img/common/icon/f054-w.png) no-repeat 50% 50% / contain;
}
.btn-01 a:hover svg{
	color:#fff;
}
.left.btn-02 {
    text-align: left;
}
.btn-02 a{
	box-sizing: border-box;
    display: inline-block;
    background: #109954;
    color: #fff;
    border-color: #109954;
    border-radius: 2em;
    font-size: 1.6rem;
    box-shadow: 0 0 3px 0 #109954;
    margin: 0;
	padding:16px 60px;
	left: 2px;
}
#topics .btn-02 a{
	padding:8px 45px;
}
.btn-02 a:hover {
    background: #fff;
	color:#109954;
}
.btn-02 a:after {
	display:none;
}
.btn-02 a svg {
    font-size: 2rem;
    vertical-align: middle;
    margin-right: 15px;
}
.btn-03 a {
    background: #109954;
    box-shadow: 0 0 3px 0 #109954;
    border-color: #109954;
    color: #fff;
    font-size: 2.8rem;
    width: 100%;
    padding: 22px 0;
    border-radius: 2em;
}
.btn-03 a:after {
	display:none;
}
.btn-03 a:hover {
    background: #fff;
	color:#109954;
}
/*
.btn-03 a::before {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f330";
}
.btn-03 a svg {
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
    margin-right: 15px;
	color:#fff;
	font-size: 2.5rem;
}
*/
.btn-03 a::before {
    content: "" !important;
    width: 38px;
    height: 38px;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
    margin-right: 0;
    background: url(../img/common/icon/f330-w.png) no-repeat 50% 50% / contain;
}

#coupon .btn-03 a::before{
    width: 48px;
    height: 48px;
    margin-top: -10px;
}
.btn-03 a:hover:before {
    background: url(../img/common/icon/f330-g.png) no-repeat 50% 50% / contain;
}
/*
.post .more a::after{
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f054";
}
.post .more a svg {
    position: absolute;
    top: 50%;
    right: 10px;
    transition: all .2s;
    margin-top: -.4em;
    line-height: 1;
}
.post .more a:hover svg {
	right: 5px;
}
*/
.post .more a::after {
    content: "" !important;
    width: 30px;
    height: 30px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    right: 10px;
    transition: all .2s;
    margin: -15px -15px 0 0;
    line-height: 1;
    background: url(../img/common/icon/f054-b.png) no-repeat 50% 50% / contain;
}
.post .more a:hover:after {
	right: 5px;
}
/*
.side-menu a::after{
	display: none;
	font-family: "Font Awesome 5 Regular";
	content: "\f054";
}
.side-menu a svg{
    position: absolute;
    right: 15px;
    top: 17px;
    transition: all .2s;
}
*/
.side-menu a::after {
    content: "" !important;
    width: 30px;
    height: 30px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    right: 10px;
    transition: all .2s;
    margin: -15px -15px 0 0;
    line-height: 1;
    background: url(../img/common/icon/f054-b.png) no-repeat 50% 50% / contain;
}
.side-menu a:hover:after {
	right: 5px;
}
#sidebar .back-link a::before {
	display:none;
}
.side-menu a {
    padding: 10px 15px 10px 10px;
}
/*
.post-nav .next a::before {
	display: none;
	font-family: "Font Awesome 5 Regular";
	content: '\f054';
}
.post-nav .next a svg{
	right: 5px;
    position: absolute;
    top: 50%;
    font-size: 3rem;
    transform: translate( 0, -50% );
    transition: all .2s;
}
.post-nav .next a:hover svg {
	right: 0;
}
*/
.post-nav .next a::before {
    content: "" !important;
    width: 50px;
    height: 50px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    right: 10px;
    transition: all .2s;
    margin: 0 -20px 0 0;
    line-height: 1;
    background: url(../img/common/icon/f054-b.png) no-repeat 50% 50% / contain;
}
.post-nav .next a:hover:before {
	right: 5px;
}
/*
.post-nav .prev a:before {
	display: none;
	font-family: "Font Awesome 5 Regular";
	content: '\f053';
}
.post-nav .prev a svg{
	left: 5px;
    font-size: 3rem;
    position: absolute;
    top: 50%;
    transform: translate( 0, -50% );
    transition: all .2s;
}
.post-nav .prev a:hover svg {
	left: 0;
}
*/

.post-nav .prev a::before {
    content: "" !important;
    width: 50px;
    height: 50px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    left: 10px;
    transition: all .2s;
    margin: 0 0 0 -20px;
    line-height: 1;
    background: url(../img/common/icon/f053-b.png) no-repeat 50% 50% / contain;
}
.post-nav .prev a:hover:before {
	left: 5px;
}
.search-form button {
	border: none;
	outline: none;
	cursor: pointer;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	width: 40px;
	height: 100%;
	background: url( ../img/common/icon/icon-search.svg ) center center / 16px no-repeat;
	text-indent: -999px;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
}

/*--title--*/
.contents .heading-01{
	color:#109954;
	font-size:1.8rem;
	background:none;
	line-height:1.5;
	padding: 0;
	position: relative;
	margin-bottom: 12px;
}
.contents #topics .heading-01 {
    font-weight: normal;
}
.contents #topics .heading-01 i{
	font-size:3.6rem;
    letter-spacing: 0;
}
.contents .heading-01 i {
    font-size: 4.6rem;
    line-height: 1.5;
    display: inline-block;
    vertical-align: middle;
    margin-right: 22px;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    /*letter-spacing: 2.2px;*/
}
.contents .heading-01 .btn-02 {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -1.2em;
	font-weight:normal;
}
.contents .heading-02{
	color:#222;
	font-size:3.2rem !important;
	background:none;
	line-height:1.5;
	padding: 0;
	position: relative;
	font-weight:bold;
}
.contents .heading-02.center{
	text-align:center;
}
.contents .heading-02:after{
	content:"";
	width:25%;
	max-width:60px;
	height:2px;
	display:block;
	background:#109954;
	margin:16px 0 0;
}
.contents .heading-02.center:after{
	margin:10px auto 0;
}
.contents .heading-02 i{
	color:#109954;
	font-size:2rem;
	line-height:1.5;
	display:block;
	vertical-align:middle;
	font-family: 'Roboto', sans-serif;
	font-weight:400;
	letter-spacing:1px;
}
.contents .heading-03 {
    padding: 0;
    border-bottom: none;
    color: #109954;
    font-size: 3rem;
	font-weight:bold;
}
.contents .heading-03 svg {
    display: block;
    margin: 0 auto 7px;
    font-size: 3.2rem;
    color: #109954;
}
.contents .heading-03 span {
	font-size:2rem;
	line-height:1.5;
	display:block;
	vertical-align:middle;
	font-family: 'Roboto', sans-serif;
	letter-spacing:.5px;
	font-weight:400;
}
.contents .heading-03 .btn-02{
    position: absolute;
    right: 0;
    top: 0;
}
.contents .heading-03 .btn-02 a {
    font-size: 1.4rem;
    line-height: 1.4;
    padding: 10px 18px 8px;
	font-weight:normal;
}
.contents .heading-04 {
    border-left: none;
    padding-left: 0;
    color: #222;
    font-size: 2.4rem;
	border-left: none;
	padding-left: 0;
	font-weight:bold;
}
.contents .heading-04 i{
	color:#109954;
	font-size:2rem;
	line-height:1.5;
	display:block;
	vertical-align:middle;
	font-family: 'Roboto', sans-serif;
	letter-spacing: 1px;
	font-weight:400;
}
.contents .heading-05 {
    border: none;
    padding: 20px 30px;
    position: relative;
    font-size: 2.6rem;
    background: #f2faf6;
    border-bottom: 2px solid #109954;
    color: #109954;
	font-weight:bold;
}
.contents .heading-05:before {
	display:none;
}
.contents .heading-05 svg {
    font-size: 2.3rem;
    vertical-align: middle;
    margin-right: 20px;
	font-weight:normal;
}
#contact #contents h2:before{
	display:none;
}
#contact #contents h2{
	text-align:left;
    border: none;
    padding: 20px 30px;
    position: relative;
    font-size: 2.2rem;
    background: #f2faf6;
    border-bottom: 2px solid #109954;
    color: #109954;
}
.contents .heading-06 {
    color: #333;
    background: none;
    padding: 10px 0;
    border-radius: 0;
    position: relative;
	margin-bottom: 10px;
    font-size: 2.4rem !important;
	font-weight:bold;
}
.contents .heading-06::after {
	display:none;
}
/*
.contents .heading-06::before {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f192";
}
.contents .heading-06 svg {
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
    margin-right: 7px;
	color:#109954;
    font-size: 1.8rem;
	top: -2px;
	font-weight:normal;
}
*/
.contents .heading-06::before {
    content: "" !important;
    width: 17px;
    height: 17px;
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
    color: #109954;
    font-weight: normal;
    margin: -3px 5px 0 0;
    background: url(../img/common/icon/f192-g.png) no-repeat 50% 50% / contain;
    display: inline-block;
    vertical-align: middle;
}

.akishima-tel .heading-06 {
	border-bottom: 2px solid #109954;
}
.center-tel .heading-06 {
	border-bottom: 2px solid #fd8d20;
}
.center-tel .heading-06::before {
    background: url(../img/common/icon/f192-o.png) no-repeat 50% 50% / contain;
}
#faq-menu li a{
	text-decoration:underline;
}
#faq-menu li a:hover{
	text-decoration:none;
}
#faq-menu h2{
    color: #333;
    background: none;
    padding: 10px 0;
    border-radius: 0;
    position: relative;
	margin-bottom: 10px;
	border-bottom: none;
    font-size: 2.4rem !important;
}
/*
#faq-menu h2::before {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f192";
}
#faq-menu h2 svg {
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
    margin-right: 7px;
	color:#109954;
    font-size: 1.8rem;
	top: -2px;
}
*/
#faq-menu h2::before {
    content: "" !important;
    width: 17px;
    height: 17px;
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
    color: #109954;
    font-weight: normal;
    margin: -3px 5px 0 0;
    background: url(../img/common/icon/f192-g.png) no-repeat 50% 50% / contain;
    display: inline-block;
    vertical-align: middle;
}
/*--faq--*/
.faq-01 dt::before {
    color: #109954;
    background: none;
    font-size: 2.2rem;
    border-radius: 100%;
    border: 3px solid #b7e0cb;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.6em;
    font-family: 'Roboto', sans-serif;
	margin-right:5px;
	top:15px !important;
}
.faq-01 dd::before {
    color: #fdce80;
    background: none;
    font-size: 2.2rem;
    border-radius: 100%;
    border: 3px solid #fee1b1;
    width: 1.6em;
    height: 1.6em;
    line-height: 1.6em;
    font-family: 'Roboto', sans-serif;
	margin-right:5px;
}
.faq-01 dt{
    font-size: 1.8rem;
	border-color: #999;
	border-style: dashed;
    min-height: 31px;
    margin-bottom: 10px;
    padding-top: 20px !important;
    padding-bottom: 5px;
}
.faq-01 dt,
.faq-01 dd{
	padding-left:5.5rem;
}
.faq-01 dd span {
	display:block;
    font-size: 1.8rem;
	margin-bottom:1em;
}
.faq-01 dd,
.faq-01 dd p{
    font-size: 1.6rem;
}

/*--common--*/
.contents section{
	border:none;
	padding: 20px 0;
}
.contents .wrap-box{
	background:#f9f9f2;
	position: relative;
	padding:40px 0;
}
.contents .wrap-box .wrap{
	background:#fff;
	max-width: 1180px;
	padding: 45px 50px 30px;
	position: relative;
	z-index:10;
	box-sizing: border-box;
}
.flex-01-box{	
	max-width: 1180px;
	margin: 0 auto;
	padding-top:74px !important;
}
.flex-01-box > div {
    position: relative;
}
.flex-01-box > div > *{
	position:relative;
	z-index:10;
	line-height: 2;
	font-size: 1.8rem;
}
.flex-01-box > div:before,
.flex-01-box > div:after {
	content:"";
    position: absolute;
	background:rgba(16,153,84,.1);
}
.flex-01-box > div:before {
	width: 130px;
	height: 130px;
	left:-122px;
	top:-35px;
}
.flex-01-box > div:after {
	width: 72px;
	height: 72px;
	left: -25px;
	top: -74px;
}
.flex-01-box > div.figure:before,
.flex-01-box > div.figure:after{
	display:none;
}
.btn-large-box{
	margin-bottom:-30px;
	padding:0;
	width:100%;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
	box-sizing: border-box;
}
.about-page .btn-large-box{
	padding:100px 0 0;
}
.btn-wrap{
	padding:20px 0;
	background:#f9f9f2;
}
.btn-large-box > a{
	width:48%;
	height: 170px;
    border: 2px solid #109954;
    display: table;
    color: #fff;
    font-size: 2.8rem;
    text-align: center;
    transition: all .4s;
    border-radius: 6px;
	background: #000;
    box-shadow: 0 0 5px rgba(0,0,0,.3);
}
.btn-large-box > a > span{
    display: table-cell;
    vertical-align: middle;
    height: 100%;
    width: 100%;
}
.btn-large-box > a .roboto {
    display: block;
    font-weight: 400;
    font-size: 1.4rem;
	font-family: 'Roboto', sans-serif;
	color:#fff;
}
.btn-large-box > a .more {
    font-size: 1.4rem;
    display: block;
    padding: 8px 15px;
    border-radius: 2em;
    color: #fff;
    border: 1px solid #fff;
    margin: 5px auto;
    line-height: 1.5;
    vertical-align: middle;
    max-width: 160px;
    box-sizing: border-box;
    transition: all .4s;
}
.btn-large-box > a:hover .more {
	background:#fff;
	color:#109954;
}
.btn-large-box .information{
	background:#000 url(/wp/wp-content/uploads/2019/01/btn-information.jpg) no-repeat 50% 50% / cover;
}
.btn-large-box .access{
	background:#000 url(/wp/wp-content/uploads/2019/01/btn-access.jpg) no-repeat 50% 50% / cover;
}
.btn-large-box .treatment{
	background:#000 url(/wp/wp-content/uploads/2019/01/btn-treatment.jpg) no-repeat 50% 50% / cover;
}
.btn-large-box .faq{
	background:#000 url(/wp/wp-content/uploads/2019/01/btn-faq.jpg) no-repeat 50% 50% / cover;
}
.btn-large-box .about{
	background:#000 url(/wp/wp-content/uploads/2019/01/btn-about.jpg) no-repeat 50% 50% / cover;
}
.btn-large.doctor a{
	background:#000 url(/wp/wp-content/uploads/2019/01/btn-doctor-large.jpg) no-repeat 50% 50% / cover;
}
.btn-large.machine a{
	background:#000 url(/wp/wp-content/uploads/2019/01/btn-machine-large.jpg) no-repeat 50% 50% / cover;
}
.btn-large {
    margin: 25px auto;
    max-width: 760px;
    height: 170px;
    display: table;
    width: 90%;
}
.btn-large > a {
    border: 2px solid #109954;
    display: table-cell;
    vertical-align: middle;
    height: 100%;
    width: 100%;
    color: #fff;
    font-size: 2.8rem;
    text-align: center;
    transition: all .4s;
    border-radius: 6px;
	background: #000;
    box-shadow: 0 0 5px rgba(0,0,0,.3);
}
.btn-large > a i {
    display: block;
    font-weight: 200;
    font-size: 1.4rem;
	font-family: 'Roboto', sans-serif;
	color:#109954;
	color:#fff;
    transition: all .4s;
	letter-spacing: .7px;
}
.btn-large > a span {
    font-size: 1.4rem;
    display: block;
    padding: 8px 15px;
    border-radius: 2em;
    color: #fff;
    border: 1px solid #fff;
    margin: 5px auto;
    line-height: 1.5;
    vertical-align: middle;
    max-width: 160px;
    box-sizing: border-box;
}
.btn-large > a:hover span {
	color:#111;
	background:#fff;
}
/*
.flow.flex .box:before {
	display: none;
	font-family: "Font Awesome 5 Light";
	content: "\f101";
}
.flow.flex .box > svg {
	color: #109954;
	font-size: 4rem;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate( -50%, -50% );
}
.flow.flex .box:first-child svg,
.flow.flex.box-02 .box:nth-child(2n+1) svg,
.flow.flex.box-03 .box:nth-child(3n+1) svg,
.flow.flex.box-04 .box:nth-child(4n+1) svg,
.flow.flex.box-05 .box:nth-child(5n+1) svg,
.flow.flex.box-06 .box:nth-child(6n+1) svg {
	display: none;
}
*/

.flow.flex{
	justify-content: space-around;
}
.flow.flex .box::before {
    content: "" !important;
    width: 34px;
    height: 34px;
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    position: absolute;
    left: -36px;
    top: 115px;
    margin: 0 0 0 0;
    transform: inherit;
    background: url(../img/common/icon/f101-g.png) no-repeat 0% 50% / contain;
}
.flow.flex .box:first-child:before,
.flow.flex.box-02 .box:nth-child(2n+1):before,
.flow.flex.box-03 .box:nth-child(3n+1):before,
.flow.flex.box-04 .box:nth-child(4n+1):before,
.flow.flex.box-05 .box:nth-child(5n+1):before,
.flow.flex.box-06 .box:nth-child(6n+1):before {
	display: none;
}
#car .flow.flex .box::before {
	margin:-10px 0 0 0;
}
.flex .box .num {
    position: absolute;
    left: 5px;
    top: 5px;
    width: 60px;
    height: 60px;
    line-height: 60px;
    background: #fff;
    color: #109954;
    text-align: center;
    font-size: 2.2rem;
    box-sizing: border-box;
    border-radius: 100%;
    font-family: 'Helvetica',sans-serif;
    border: 2px solid #b7e0cb;
    box-shadow: 0 0 5px 3px rgba(0,0,0,.1);
}

/*--dl-01--*/
.dl-01 dt {
    font-size: 2.2rem;
    background: #109954;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    text-align: center;
	min-height:156px;
    margin-bottom: 30px;
}
.dl-01 dt a{
	color:#fff;
	width: 100%;
	display: block;
}
.dl-01 dd {
    width: 80%;
    margin-bottom: 30px;
    line-height: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    box-sizing: border-box;
    padding: 15px 20px 15px 90px;
    background: #fff;
}
.dl-01 dd ul > br{
	display:none;
} 

.dl-01 dd .flex li{
	padding:5px;
}

.dl-01 dd .flex li a{
    display: block;
    width: 100%;
    height: 100%;
    padding: 10px 0;
}

.dl-01 dd .flex{
    width: 100%;
	margin-bottom: 0;
}

.dl-01 dd a {
	position:relative;
	font-size:1.8rem;
}

/*--table--*/
.tbl-a-wrap{
	position:relative;
	width:100%;
	overflow: auto;
}
.tbl-a-wrap.is-scrollable{
	padding-bottom:25px;
	margin:25px auto;
}
.tbl-a-wrap.is-scrollable > table{
	margin:0 auto;
}
.tbl-a-wrap .scroll-hint-icon-wrap .scroll-hint-icon{
	display:none;
}
/*
.tbl-a-wrap .scroll-hint-icon-wrap.is-active:after{
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f054";
}
.tbl-a-wrap .scroll-hint-icon-wrap.is-active > svg{
	display: inline-block;
	line-height: 1;
	margin-top: -26px;
	vertical-align: middle;
	font-size: 2.6rem;
	color:#999;
	position: absolute;
	right: 16px;
	top: 50%;
    z-index: 101;
    animation: anime 1s linear infinite;

.tbl-a-wrap .scroll-hint-icon-wrap.is-active:after{
    content: "" !important;
    width: 30px;
    height: 30px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    right: 10px;
    transition: all .2s;
    margin: -15px -15px 0 0;
    line-height: 1;
    background: url(../img/common/icon/f054-b.png) no-repeat 50% 50% / contain;
	z-index:101;
}
}*/
.tbl-a-wrap .scroll-hint-icon-wrap.is-active::after {

    content: "" !important;
    width: 60px;
    height: 60px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    right: 0;
    transition: all .2s;
    margin: -30px 0 0 0;
    line-height: 1;
    background: url(../img/common/icon/f054-b.png) no-repeat 50% 50% / contain;
    z-index: 101;

}
@keyframes anime {
    0% {
		transform: translateX(0);
    }
    100% {
		transform: translateX(7px);
    }
}
.tbl-a-wrap .scroll-hint-icon-wrap.is-active {
    content: "";
    width: 55px;
    height: 100%;
    background: rgba(242, 250, 250,.8);
    position: absolute;
    top: 0;
    border-bottom: 25px solid #fff;
    right: 0;
    z-index: 100;
    display: block;
    box-sizing: border-box;
}

/*--table-01--*/
.table-01 {
	background:#fff;
    border: 2px solid #109954;
	margin: 23px auto 10px;
	overflow:hidden;
}
.table-01 .afternoon td {
    background: #fff3e6;
}
.table-01 thead th, .table-01 thead td {
    background: #109954;
    padding: 2px 10px;
}
.table-01 th,
.table-01 td{
    font-size: 1.8rem;
	vertical-align:middle;
	text-align:center;
}
.table-01 tbody th {
    background: #eef8f3;
    vertical-align: middle;
    text-align: center;
	width: 19%;
	position:relative;
}
.table-01 tbody .afternoon th::before {
    content: "";
    width: 1180px;
    position: absolute;
    top: 0px;
    left: 0;
    height: 1px;
    background: #109954;
    z-index: 10;
}
.table-01 tbody th span {
    font-size: 1.6rem;
    background: #fff;
    display: inline-block;
    padding: 0px 18px;
    border-radius: 2em;
}
.table-01 tbody th .morning {
    color: #109954;
    border: 1px solid #109954;
}
.table-01 tbody th .afternoon {
    color: #fc8905;
    border: 1px solid #fc8905;
}
.table-01 tbody th p {
	text-align:center;
    font-size: 1.8rem;
}
.table-01 tbody th p i{
    font-size: 1.6rem;
    display: block;
}
.table-01 td span {
    display: block;
    font-size:1.3rem;
}

/*--table-02--*/
.table-02{
	position:relative;
	width:100%;
	margin-top:30px;
    /*border-bottom: solid 1px #ccc;*/
    border-top: none;
}
.table-02 td {
	vertical-align: middle;
    padding: 40px 20px;
    font-size: 1.6rem;
}
.table-02 th {
	vertical-align: top;
    padding: 32px 20px;
    border-bottom: solid 1px #ccc;
    font-weight: normal;
    font-size: 1.8rem;
    color: #109954;
	position:relative;
}
.table-02:after{
	content:"";
	width:100%;
	height:1px;
    background: #ccc;
	position:absolute;
	left:0;
	z-index:1;
	top:0;
}
.table-02:before,
.table-02 th:before {
	content:"";
	width:80%;
	height:2px;
    background: #109954;
	position:absolute;
	left:0;
	z-index:5;
	max-width: 120px;
}
.table-02:before {
	bottom:-1px;
}
.table-02 th:before {
	top:-1px;
}
table.cell-02 th {
    width: 20%;
}
table.cell-02 td {
    width: 80%;
}

/*--table-03--*/

.table-03{
	width: 100%;
	margin:20px auto;
	border: 2px solid #109954;
	min-width: 880px;
}
.table-03 th,
.table-03 td{
	border: 1px solid #eee;
	border-bottom: 2px solid #109954;
	text-align: center;
	vertical-align: middle;
	padding: 12px 0;
}
.table-03 thead th,
.table-03 thead td{
	color: #fff;
	background: #109954;
	font-size: 1.8rem;
	padding: 1px 0;
}
.table-03 tbody th span{
	color: #109954;
	display:block;
	font-size: 2.2rem;
	margin-bottom:5px;
}
.table-03 tbody th{
	text-align:left;
	font-weight: 500;
	font-size: 1.6rem;
	padding: 20px 5px 25px 25px;
}
.table-03 tbody td{
	padding: 2px 2px;
	font-size: 1.6rem;
}

/*--header--*/
#header{
    border-top: 2px solid #109954;
}

#header .tel-btn {
	display:none;
}
#header *{
	box-sizing: border-box;
}
#header .wrap {
    padding: 0;
}
#header .wrap > .logo-nav {
    margin: 0;
    width: 76%;
	align-items: flex-end;
}
#header .logo {
    margin: 0;
	width: 33%;
    max-width: 295px;
    margin-left: 0 !important;
}
#header .logo figure{
	text-align: left;
position: relative;
top: -10px;
}
#header h1 {
    background: none;
    margin-bottom: 5px;
    max-width: 100%;
    overflow: auto;
}
#header h1 .wrap {
    padding: 2px 0 15px;
    font-size: 1.1rem;
    color: #888;
	white-space: nowrap;
}
#header .part.tel-box .center{
	display:none;
}
.center-page #header .part.tel-box .center{
	display:block;
}
.center-page #header .part.tel-box .common{
	display:none;
}
#header .part.tel-box {
    background: #109954;
    padding: 6px 19px 12px;
	margin: 0;
	width: 24%;
	max-width: 280px;
}
#header .part.tel-box p {
    font-size: 1.2rem;
	color: #fff;
	line-height:1.5;
	max-width: 220px;
	margin: 0 auto;
	min-height: 3em;
	display: flex;
    align-items: center;
}
#header .part.tel-box i{
    font-size: 3rem;
	color: #fff;
	line-height:1.2;
	font-family: 'Roboto', sans-serif;
}
#header .part.tel-box i::before {
    content: "";
    width: 24px;
    height: 24px;
    display: inline-block;
    margin: -7px 6px 0 -10px;
    vertical-align: middle;
    background: url(../img/common/ico-tel2.png) no-repeat 50% 50% / contain;
}
#header .part.tel-box ul li a:hover {
	top:2px;
}
#header .part.tel-box ul li a {
    background: #fff;
    display: block;
    padding: 1px 10px;
	text-indent: 8px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    border-radius: 3px;
    font-size: 1.2rem;
    color: #109954;
	position:relative;
	transition:all .4s;
}
/*

#header .part.tel-box ul li a:before {
	display: none;
	font-family: "Font Awesome 5 Solid";
}
#header .part.tel-box ul li.access a:before {
	content:"\f3c5";
}
#header .part.tel-box ul li.contact a:before {
	font-family: "Font Awesome 5 Regular";
	content:"\f0e0";
}
#header .part.tel-box ul li a svg{
	display: block;
	line-height: 1;
	vertical-align: middle;
	font-size: 1.4rem;
	color:#109954;
	position:absolute;
	left:9px;
	top:50%;
	margin-top:-.5em;
}
*/
#header .part.tel-box ul li a:before{
    content: "" !important;
	width: 22px;
	height: 22px;
	display: block;
	line-height: 1;
	vertical-align: middle;
	position: absolute;
	left: 3px;
	top: 50%;
	margin: -11px 0 0 0;
}
#header .part.tel-box ul li.contact a:before{
    background: url(../img/common/icon/f0e0-g-L.png) no-repeat 50% 50% / contain;
}
.center-page #header .part.tel-box ul li.contact a:before{
    background: url(../img/common/icon/f0e0-o-L.png) no-repeat 50% 50% / contain;
}
#header .part.tel-box ul li.access a:before{
    background: url(../img/common/icon/f3c5-g.png) no-repeat 50% 50% / contain;
}
.center-page #header .part.tel-box ul li.access a:before{
    background: url(../img/common/icon/f3c5-o.png) no-repeat 50% 50% / contain;
}
#header .part.tel-box ul li {
    width: 48%;
    padding: 0;
    box-sizing: border-box;
}
#header .part.tel-box ul{
	margin: 4px auto 0;
}
#header.fixed{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100000;
    background: #fff;
	overflow:auto;
}
#header.fixed > .wrap{
	/*min-width:1180px;*/
}
#header.fixed #g-nav{
	width:100%;
}
#header.fixed .part.tel-box p{
	display:none;
}
/*#header.fixed .part.tel-box ul {
    margin: 4px auto 0;
    display: none;
}*/

/*--g-nav--*/
#g-nav {
    background: #fff;
    z-index: 99999;
    padding: 0;
    width: 67%;
}
#g-nav.fixed {
    width: 100%;
}
#g-nav.fixed > ul > li > a svg {
    font-size: 1.5rem;
    margin: 0 auto;
}
#g-nav.fixed > ul > li > a {
    padding: 7px 0 5px;
    font-size: 1.3rem;
}
#g-nav.fixed > ul > li > a::after {
    font-size: .9rem;
}
#g-nav > ul.wrap{
	border:none;
}
#g-nav > ul > li {
	border:none;
	width: 25%;
    border-left: 1px solid #e6e6e6;
}
#g-nav > ul > li > a {
	color:#333;
	padding: 0 0 13px;
	font-size: 1.5rem;
	font-weight:bold;
}
#g-nav > ul > li.access,
#g-nav > ul > li.contact {
	display:none;
}
#g-nav > ul > li > a:hover {
    background-color: #e6e6e6;
}/*
#g-nav > ul > li > a:before {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f15b";
}
#g-nav > ul > li.dm > a:before {
	content: "\f0f1";
}
#g-nav > ul > li.information > a:before {
	content: "\f05a";
}
#g-nav > ul > li.doctor > a:before {
	content: "\f508";
}
#g-nav > ul > li.faq > a:before {
	content: "\f4a6";
}
#g-nav > ul > li.access > a:before {
	content: "\f3c5";
}
#g-nav > ul > li.contact > a:before {
	content:"\f0e0";
}
#g-nav > ul > li > a svg{
	display: block;
	line-height: 1;
	vertical-align: middle;
	font-size: 1.8rem;
	color:#109954;
	margin:0 auto 6px;
}*/
#g-nav > ul > li > a:before{
	content:"";
	width:30px;
	height:30px;
	display: block;
	line-height: 1;
	vertical-align: middle;
	font-size: 1.8rem;
	color:#109954;
	margin:0 auto 3px;
}
#g-nav > ul > li.dm > a:before {
    background: url(../img/common/icon/f15b-g-S.png) no-repeat 50% 50% / contain;
}
#g-nav > ul > li.information > a:before {
    background: url(../img/common/icon/f05a-g-S.png) no-repeat 50% 50% / contain;
}
#g-nav > ul > li.doctor > a:before {
    background: url(../img/common/icon/f0f1-g-S.png) no-repeat 50% 50% / contain;
}
#g-nav > ul > li.faq > a:before {
    background: url(../img/common/icon/f4a6-g-S.png) no-repeat 50% 50% / contain;
}
#g-nav > ul > li.access > a:before {
    background: url(../img/common/icon/f3c5-g-S.png) no-repeat 50% 50% / contain;
}
#g-nav > ul > li.contact > a:before {
    background: url(../img/common/icon/f0e0-g-S.png) no-repeat 50% 50% / contain;
}
#g-nav > ul > li > a:after {
	font-family: 'Roboto', sans-serif;
	color:#109954;
	display:block;
	font-size: 1.1rem;
	top: -3px;
	position: relative;
	font-weight: 400;
	letter-spacing: 1px;
}
#g-nav > ul > li.dm > a:after {
	content:"DM";
}
#g-nav > ul > li.information > a:after {
	content:"INFORMATION";
}
#g-nav > ul > li.doctor > a:after {
	content:"DOCTOR";
}
#g-nav > ul > li.faq > a:after {
	content:"FAQ";
}
#g-nav > ul > li.access > a:after {
	content:"ACCESS";
}
#g-nav > ul > li.contact > a:after {
	content:"CONTACT";
}
#header.fixed #g-nav > ul > li.access,
#header.fixed #g-nav > ul > li.contact {
	display:block;
}
#header.fixed #g-nav > ul > li > a::after {
    display: none;
}
#header.fixed #g-nav > ul > li > a {
    font-size: 1.7rem;
	padding: 20px 0;
}
#header.fixed #g-nav > ul > li > a:before {
    display: inline-block;
    font-size: 1.9rem;
    margin: -5px 6px 0 0;
}
#header.fixed #g-nav > ul > li {
    border: none;
    width: auto;
	text-align: left;
}
#header.fixed #g-nav > ul.wrap {
    border: none;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: center;
}
#header.fixed #g-nav > ul > li > a:hover {
    background: none !important;
	text-decoration:underline;
}
#header.fixed .part.tel-box ul{
	display:none;
	transition:all .4s;
}
#header.fixed .logo{
	display:none;
	transition:all .4s;
}
#header.fixed .part.tel-box {
    padding: 17px 19px 18px;
}

/*--footer--*/
footer{
	position:relative;
}
footer:before{
	content:"";
	width:100%;
	height:30px;
	position:absolute;
	top:-30px;
	left:0;
	background:url(../img/common/bg-access.jpg) no-repeat bottom center / cover;
}
footer .store-info{
	flex:4;
}
footer #bottom-nav {
    flex: 3;
    padding: 15px 0 0 70px;
}
footer #bottom-nav .flex > .box,
footer #bottom-nav .flex > ul,
footer #bottom-nav .menu > ul {
    flex: 1;
}
footer #bottom-nav .flex > .box > ul > li > a,
footer #bottom-nav .flex > ul > li > a,
 footer #bottom-nav .menu > ul > li > a {
    padding: 7px 0 7px 28px;
    position: relative;
    font-size: 1.5rem;
	text-indent: -22px;
    display: inline-block;
}
#bottom-nav .parent a {
    color: #109954;
}
footer #bottom-nav .sub-menu {
    margin-left: 2em;
}
footer #bottom-nav .sub-menu li {
    display: block;
}
footer #bottom-nav .sub-menu li a {
    padding: 7px 0 7px 1rem;
    position: relative;
    font-size: 1.5rem;
    display: inline-block;
	color: inherit;
	text-decoration: none;
}
footer #bottom-nav .sub-menu li a,
footer #bottom-nav .sub-menu li a:hover {
	background:none;
}
footer #bottom-nav .sub-menu li a::before {
    content: "ー";
    position: absolute;
    top: .85em;
    left: -.5em;
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    font-size: 1.5rem;
    color: #109954;
}
footer .store-info h2{
	font-size:1.7rem;
	color:#109954;
    padding-left: 0;
    border-left: none;
}
footer .store-info h2 i{
	font-family: 'Roboto', sans-serif;
	font-weight:500;
	font-size:3.6rem;
	display:inline-block;
	margin-right:15px;
}
footer .store-info p{
    font-size: 1.5rem;
}
footer .footer-contents{
    max-width: 1180px;
    margin: 0 auto;
}
footer .wrap.nav{
	background:#f5f5eb;
    padding: 44px 0 58px;
    width: 100%;
    max-width: 100%;
}
footer .wrap.nav iframe{
	max-width: 100%;
	width: 630px;
	height: 320px;
	border: 3px solid #fff;
	margin-top:20px;
}
footer .wrap.info{
	background:#0d8046 url(../img/common/bg-footer.png) no-repeat 50% 50%;
    padding: 54px 0;
    width: 100%;
    max-width: 100%;
}
footer .wrap.info *{
	text-align:center;
}
footer .wrap.info .center{
	display:none;
}
.center-page footer .wrap.info .common{
	display:none;
}
.center-page footer .wrap.info .center{
	display:inline;
}
footer .wrap.info p{
	color:#fff;
	font-size: 1.5rem;
}
footer .wrap.info .btn-01 a {
    padding: 11px 0 11px 0;
    margin: 14px auto 28px;
    min-width: 280px;
    box-sizing: border-box;
    transition: all .2s;
	border:2px solid #fff;
}
footer .wrap.info .btn-01 a::after {
	display:none;
}
/*
footer .wrap.info .btn-01 a::before {
	display: none;
	font-family: "Font Awesome 5 Light";
    content: '\f0e0';
}
footer .wrap.info .btn-01 a svg {
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
	margin-right: 10px;
	font-size: 1.9rem;
}
*/
footer .wrap.info .btn-01 a::before {
    content: "" !important;
    width: 32px;
    height: 32px;
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    position: relative;
    left: 0;
    top: -3px;
    margin: -6px 0 -6px -6px;
    background: url(../img/common/icon/f0e0-g.png) no-repeat 50% 50% / contain;
}
footer .wrap.info .btn-01 a:hover:before{
    background: url(../img/common/icon/f0e0-w.png) no-repeat 50% 50% / contain;
}
footer .store-img {
    margin-bottom: 20px;
}
/*
footer #bottom-nav .flex > .box > ul > li > a::before,
footer #bottom-nav .flex > ul > li > a::before,
footer #bottom-nav .menu > ul > li > a::before{
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f330";
}
footer #bottom-nav .flex > ul > li > a svg,
footer #bottom-nav .flex > .box > ul > li > a svg,
footer #bottom-nav .menu > ul > li > a svg{
	display: inline-block;
	line-height: 1;
	margin-right: 10px;
	vertical-align: middle;
	font-size: 1.3rem;
	color:#109954;
}
*/

footer #bottom-nav .flex > .box > ul > li > a::before,
footer #bottom-nav .flex > ul > li > a::before,
footer #bottom-nav .menu > ul > li > a::before{
    content: "" !important;
    width: 28px;
    height: 28px;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: 0;
    left: 0;
    transition: all .2s;
    margin-right: 0;
    background: url(../img/common/icon/f330-g.png) no-repeat 50% 50% / contain;
    margin: -5px 0 0 -7px;
}

footer #bottom-nav .flex > .box > ul > li > a:hover:before,
footer #bottom-nav .flex > ul > li > a:hover:before,
footer #bottom-nav .menu > ul > li > a:hover:before{
	left:3px;
}

footer #bottom-nav .flex > .box > ul > li.parent > a::before,
footer #bottom-nav .flex > ul > li.parent > a::before,
footer #bottom-nav .menu > ul > li.parent > a::before{
	display:none;
}
#slide-nav {
	display:none;
}
.copyright {
    background: none;
    color: #fff;
    padding: 0;
    font-size: 1.2rem;
}
.copyright small {
    font-size: 1.1rem;
}
#bottom-fix{
	z-index:9999;
}
#bottom-fix #link-center,
#bottom-fix .contact a{
	display:none;
}
#page-top a {
    font-size: 3rem;
    color: #109954;
    transition: all .4s;
    line-height: 50px;
    width: 50px !important;
    height: 50px !important;
    background: #fff !important;
    border-radius: 100%;
    z-index: 100;
    text-align: center;
    border: 2px solid #e4e7e5 !important;
    box-shadow: 1px 1px 3px 0px rgba(0,0,0,.2);
}
#page-top a .fa-angle-up{
	width:100%;
	height:100%;
	top: 0;
	left: 0;
	position:absolute;
}

/*
---------------------------------------
icon
---------------------------------------
*/

.fa-angle-up{
	display:inline-block;
	position:relative;
}
.fa-angle-up::before{
    content: "" !important;
    width: 100%;
    height: 100%;
    display: inline-block;
    vertical-align: middle;
	position:absolute;
	top:0;
	left:0;
    background: url(../img/common/icon/f055-g.png) no-repeat 50% 50% / contain;
}
.fa-info-circle{
	display:inline-block;
	position:relative;
}
.fa-info-circle::before {
    content: "" !important;
    width: 34px;
    height: 34px;
    display: inline-block;
    vertical-align: middle;
    background: url(../img/common/icon/f05a-g-L.png) no-repeat 50% 50% / contain;
    margin: 0 auto 8px;
}
.fa-train{
	display:inline-block;
	position:relative;
}
.fa-train::before {
    content: "" !important;
    width: 34px;
    height: 34px;
    display: inline-block;
    vertical-align: middle;
    background: url(../img/common/icon/f238-g.png) no-repeat 50% 50% / contain;
    margin: -8px 5px 0 0;

}
.btn-02 a .fa-train::before {
	margin: -7px 5px 0 -7px;
	width:25px;
	height:25px;
    background: url(../img/common/icon/f238-w.png) no-repeat 50% 50% / contain;
}
.btn-02 a:hover .fa-train::before {
    background: url(../img/common/icon/f238-g.png) no-repeat 50% 50% / contain;
}

.fa-car{
	display:inline-block;
	position:relative;
}
.fa-car::before {
    content: "" !important;
    width: 34px;
    height: 34px;
    display: inline-block;
    vertical-align: middle;
    background: url(../img/common/icon/f1b9-g.png) no-repeat 50% 50% / contain;
    margin: -8px 5px 0 0;
}
.btn-02 a .fa-car::before {
	margin: -7px 5px 0 -7px;
	width:25px;
	height:25px;
    background: url(../img/common/icon/f1b9-w.png) no-repeat 50% 50% / contain;
}
.btn-02 a:hover .fa-car::before {
    background: url(../img/common/icon/f1b9-g.png) no-repeat 50% 50% / contain;
}

/*
---------------------------------------
slick
---------------------------------------
*/

/*
.slick-prev::before,
.slick-next::before{
	display: none !important;
	font-family: "Font Awesome 5 Regular" !important;
}
.slick-prev::before{
    content: '\f053' !important;
}
.slick-next::before{
    content: '\f054' !important;
}
.slick-prev svg,
.slick-next svg{
	color:#109954;
	font-size:2rem;
}
*/
.slick-prev::before,
.slick-next::before{
    content: "" !important;
    width: 100%;
    height: 100%;
    display: inline-block;
    vertical-align: middle;
	position:absolute;
	top:0;
	left:0;
}
.slick-prev::before{
    background: url(../img/common/icon/f053-g.png) no-repeat 50% 50% / contain;
}
.slick-next::before{
    background: url(../img/common/icon/f054-g.png) no-repeat 50% 50% / contain;
}
.slick-prev, .slick-next {
	position:relative;
    width: 44px !important;
    height: 44px !important;
    background: #fff !important;
    border-radius: 100%;
    z-index: 100;
    text-align: center;
    border: 2px solid #e4e7e5 !important;
    box-shadow: 1px 1px 3px 0px rgba(0,0,0,.2);
}
.slick-prev {
    left: 20px !important;
}
.slick-next {
    right: 20px !important;
}
.slick-dots li button::before {
    font-size: 10px !important;
}
.slick-dots li.slick-active button::before,
.slick-dots li.slick-active button:hover {
    color: #fc9e05 !important;
}
.slick-dots{
	bottom:-50px !important;
}

/*
---------------------------------------
flex
---------------------------------------
*/

.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
	box-sizing: border-box;
}
.flex.reverse{
	flex-direction: row-reverse;
}
.flex.nowrap{
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-content: center;
}
.flex.list{
	justify-content: flex-start;
}
.flex > *{
	box-sizing: border-box;
}
.flex.c02 > *{
	width: 48%;
}
.flex.aic{
	align-items:center;
}
.flex.c02-fd > figure,
.flex.c02-fd > .lg{
	width: 31%;
}
.flex.c02-fd > div,
.flex.c02-fd > .sl{
	width: 65%;
}
.flex.c03 > *{
	width: 33.3333%;
}
.flex.c04 > *{
	width: 25%;
}
.flex.c05 > *{
	width: 20%;
}
.flex.c06 > *{
	width: 16.6666%;
}
.flex-tbl{
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
}
.flex > *{
	box-sizing: border-box;
}
.flex-auto {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    align-content: space-between;
}
.flex-auto > *{
	box-sizing: border-box;
	flex-basis: auto;
}

/*--flex-box--*/
.contents .flex-box-01 > div {
    width: 57%;
	overflow: hidden;
}
.contents .flex-box-01 > .figure {
    overflow: visible;
    width: 68%;
    margin-right: -25%;
}
.contents .flex-box-01{
	max-width:1180px;
	margin:0 auto;
	padding-bottom:0;
}
.contents .flex-box-02 > div {
    width: 54%;
	overflow: hidden;
}
.contents .flex-box-02 > .figure {
    overflow: visible;
    width: 68%;
    margin-right: -25%;
}
.contents .flex-box-02.reverse > .figure{
    margin-right: 0;
    margin-left: -25%;
}

@media screen and ( max-width: 1698px ) {
	
	.contents .flex-box-02 > .figure {
	    width: 45%;
    	margin-right: -4%;
	}
	.contents .flex-box-02.reverse > .figure {
    margin-right: 0;
	    margin-left: -4%;
	}
}
.contents .flex-box-02{
	max-width:1180px;
	margin:0 auto;
	padding-bottom:60px;
}
/*
.contents .flex-box-02 > .figure {
    width: 46%;
    margin-right: -4%;
}
*/

/*-- index --*/
.contents #top-head-contents {
	margin-top: -20px;
    padding: 0 0 20px;
    border: none;
	overflow: hidden;
	position:relative;
    margin-bottom: 10px;
}
.contents #top-head-contents .wrap {
    max-width: inherit;
    padding: 0;
}
.btn-center img {
	display: block;
	margin: 0 auto;
}

.top-page #head-contents{
	margin-top:0;
}
.top-page #slider-main{
    position: relative;
    padding: 0;
}
#slider-main img.sp,
#slider-main .right img {
	display: none;
}
#slider-main img.pc,
#slider-main .center img {
	display: block;
	margin: 0 auto;
}
#slider-main .wrap,
#slider-main .slick-track > div{
	max-width: 100%;
	width:100%;
	position:relative;
}
#slider-main .wrap,
#slider-main .slider-1{
	padding-top:30px;
	position:relative;
	background:url(../img/top/bg-main-img.jpg) no-repeat 50% 50% / cover;
}
.btn-center {
	transition: all .4s;
    position: absolute;
    bottom: 209px;
    left: 60%;
    z-index: 1000;
}
#page-center {
	/*z-index:-9999;*/
    left: 100%;
    margin-left: -208px;
	transition: all .4s;
    bottom: -210px;
    bottom: 70px;
	/*opacity:0;*/
    position: fixed;
}
#bottom-fix.on #page-center {
	z-index:999;
	opacity:1;
}
.btn-center-common{
	position:relative;
	display:block;
	line-height: 1;
}
.btn-center-common:after,
.btn-center:after {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    left: 50%;
    margin-left: -10px;
    bottom: 23px;
    background: url(../img/top/ico-btn-center.png) no-repeat 50% 50% / contain;
	z-index:10;
	transition: all .4s;
}
.btn-center-common:hover:after,
.btn-center:hover:after {
	bottom:18px;
}
.contents #slider-main:after{
	content:"";
	width:100%;
	height:20px;
	background:#fff url(../img/common/bg-line.png) repeat;
	position: absolute;
    bottom: -20px;
    left: 0;
}


/*--topics--*/
#topics .wrap{
	position:relative;
}
#topics .heading-01 .btn-02 a {
	font-size:1.4rem;
}
#topics ul {
	border-bottom:1px solid #e6e6e6;
	max-height:240px;
	overflow:auto;
}
#topics ul li{
	font-size:1.7rem;
	color:#111;
	border-top:1px solid #e6e6e6;
}
#topics ul li a{
	padding:15px 0 14px;
	margin:0 auto;
	position:relative;
}
/*
#topics ul li a:before {
	display: none;
	font-family: "Font Awesome 5 Regular";
	content: "\f054";
}
#topics ul li a svg{
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
	font-size: 2rem;
	color:#109954;
	position:absolute;
	right: 10px;
	top: 50%;
	margin-top: -.5em;
}
*/
#topics ul li a::before {
    content: "" !important;
    width: 50px;
    height: 50px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    right: 0;
    top: 50%;
    background: url(../img/common/icon/f054-g.png) no-repeat 50% 50% / contain;
    margin-top: -25px;
}
#topics ul li a:hover i{
	text-decoration:underline;
}
#topics ul li time{
	min-width:120px;
	color:#888;
	font-family: 'Roboto', sans-serif;
	font-size:1.7rem;
	font-weight: 300;
}

/*--time-schedule--*/
.time-schedule{
	padding:10px 0 0;
}
.time-schedule .tbl-a-wrap {
    position: relative;
    background: #109954;
    padding: 2px 0 ;
    margin: 23px auto 10px;
    overflow: auto;
	width:100%;
    box-sizing: border-box;
    border-left: 2px solid #109954;
    border-right: 2px solid #109954;
}
.time-schedule .table-01 {
	background:#fff;
    min-width: 880px;
    margin: 0 auto;
    border: none;
}
.table-01 th, .table-01 td{
	font-size:1.6rem;
	background:#fff;
}
.time-schedule .table-01 td,
.time-schedule .table-01 th{
	border:none;
	position: relative;
}
.time-schedule .table-01 thead th:first-child:before{
	border-left:none;
}
.time-schedule .table-01 thead th:before,
.time-schedule .table-01 td:before{
	content:"";
	width:100%;
	height:100%;
	min-height:700px;
	display:block;
	position:absolute;
	top:0;
	left:0;
	z-index:5;
	border-left:1px solid #ccc;
	box-sizing: border-box;
}
.time-schedule .table-01 tbody tr.morning:first-child td:before,
.time-schedule .table-01 tbody tr.afternoon:first-child td:before{
	border-top:none;
}
.time-schedule .table-01 tbody td:before{
	border-top:1px solid #ccc;
}
.time-schedule .table-01 th > *,
.time-schedule .table-01 td > *{
	position:relative;
	z-index:10;
}
.table-01 tbody th p {
    font-size: 1.6rem;
}
.table-01 td span {
    font-size: 1.2rem;
}
.time-schedule{
	background:#f9f9f2;
}
.contents .time-schedule.wrap-box .wrap {
    padding: 32px 0;
	background:#f9f9f2;
}
.time-schedule .wrap > p{
    font-size: 1.4rem;
	margin-bottom: 37px;
}
.time-schedule .wrap > p span{
    color: #109954;
}
.time-schedule h2{
    font-size: 3rem;
	line-height:1.5;
	font-weight: bold;
}
.time-schedule h2 span {
    font-size: 1.5rem;
    display: inline-block;
    padding: 3px 24px;
    border-radius: 2em;
    color: #109954;
    border: 1px solid #109954;
    margin-left: 15px;
    line-height: 1.5;
    vertical-align: middle;
    position: relative;
    top: -3px;
	font-weight: normal;
}
.time-schedule > p{
	font-size:1.5rem;
}
.time-schedule > p span{
	color:#109954;
}

/*--concept--*/
.top-page #concept .heading-01{
    font-size: 1.7rem;
}
.top-page #concept .heading-01 span {
    font-size: 5rem;
}
.top-page #concept h3 {
    font-size: 2.4rem;
}
.top-page #concept {
    margin-top: 95px;
}
.top-page #concept.flex-box-01{
	margin-bottom:40px;
}
.top-page #concept.flex-box-01 > div p {
    font-size: 1.7rem;
}

/*--information--*/
.top-page #information{
	padding:0;
	margin-bottom:0;
}

.top-page #information .slick-next,
.top-page #information .slick-prev{
	top:350px;
}
.top-page #information > div.flex {
	border:1px solid #e6e6e6;
    border-top: 2px solid #109954;
	border-right:none;
	margin-bottom: 80px;
}
.top-page #information .flex.box-03 .box {
    padding: 0 0 25px;
	border-right:1px solid #e6e6e6;
	width: 568px;
	display: table-cell;
	vertical-align: top;
	height: 100%;
	float: none;
}
.top-page #information .flex.box-03 .box p {
    padding: 0 6.5%;
    font-size: 1.5rem;
	line-height: 2;
}
.top-page #information h2.heading-03 {
	color:#222;
}
.top-page #information h2.heading-03 span {
	color:#109954;
	margin-top: -3px;f
}
.top-page #information .box .heading-03 {
    color: #109954;
    font-size: 3rem !important;
    padding: 10px 6.5% 0;
    margin: 0;
    position: relative;
    line-height: 1.3;
	min-height:40px;
	margin-bottom:25px;
}
.top-page #information .box .heading-03 span{
	right:37px;
	top:12px;
}
.top-page #information .heading-03 i {
	display:block;
	font-size:1.4rem;
	line-height: 1.8;
	font-weight:400;
}

/*--recruit--*/

.top-page #recruit {
	background:#fff;
	padding:50px 0;
    position: relative;
}
.top-page #recruit > *{
    position: relative;
	z-index:10;
}
.top-page #recruit::before {
    content: "";
    background: #eef8f3;
    width: 25%;
    height: 100%;
    top: 0;
    right: 0;
    position: absolute;
}
.top-page #recruit .wrap > div {
    width: 54%;
	overflow: hidden;
	box-sizing:border-box;
}
.top-page #recruit .wrap > .figure {
    overflow: visible;
    width: 68%;
    margin-right: -25%;
}
.top-page #recruit .wrap > .figure figure{
	position:relative;
	max-width:750px;
}
.top-page #recruit .wrap > .figure figure::after {
    position: absolute;
    content: "Recruit Information";
    font-size: 5rem;
    color: #109954;
    font-family: "Roboto",sans-serif;
    bottom: -.5em;
    left: .5em;
    line-height: 1;
	font-weight:500;
}
.top-page #recruit .wrap{
	background:none;
	max-width:1180px;
	margin:0 auto;
	padding:0;
	width:100%;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
	box-sizing: border-box;
}

/*--faq--*/
.top-page #faq {
	background:#fff;
	padding:86px 0;
    position: relative;
}
.top-page #faq .wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
	box-sizing: border-box;
	padding:0;
	background:none;
	align-items:center;
}
.top-page #faq:before {
	content:"";
	background:#eef8f3;
	width:25%;
	height:100%;
	top:0;
	left:0;
    position: absolute;
}
.top-page #faq .wrap > *{
    position: relative;
	z-index:10;
	box-sizing: border-box;
}
.top-page #faq .wrap > div:first-child {
	background:#fff;
    border: 2px solid #109954;
    padding: 20px;
    width: 32%;
}
.top-page #faq .wrap > div:last-child {
    width: 66%;
}

/*--fitness--*/
.top-page #fitness{
	padding:0;
	margin-bottom: 0;
}
.top-page #fitness h2 {
	font-size:2rem;
}
.top-page #fitness h2:before{
	content:"";
	width:46px;
	height:39px;
	display:block;
	margin:0 auto 25px;
	background:url(../img/common/ico-fitness.png) no-repeat 50% 50% / contain;
}
.top-page #fitness h2 span{
	font-size:3.6rem;
	color:#109954;
	display:block;
	font-weight:bold;
}
.top-page #fitness p {
    font-size: 1.7rem;
}
.top-page .wrap div .btn-02 a {
    padding: 12px 5px;
    max-width: 251px;
    width: 100%;
    box-sizing: border-box;
}

.slider-fitness{
	width:100%;
	height:410px;
	margin-top:40px;
	background:url(../img/top/bg-center.jpg) no-repeat 50% 50% /cover;
}
.slider-fitness .wrap{
	position:relative;
	height:100%;
}
.slider-fitness .badge {
    width: 112px;
    height: 112px;
    border-radius: 100%;
    text-align: center;
    background: #fff;
    display: table;
    position: absolute;
    top: -55px;
    box-shadow: 0 0 3px 2px #109954;
}
.slider-fitness .badge-01 {
    right: 180px;
}
.slider-fitness .badge-02 {
    right: 45px;
}
.slider-fitness .badge > *{
	display:table-cell;
    vertical-align: middle;
	font-weight:normal;
	font-size: 1.8rem;
	line-height: 1.2;
	color:#109954;
}
.slider-fitness .badge > * i{
	font-family: 'Roboto', sans-serif;
	font-size: 2.2rem;
    font-weight: 300;
}
	.slider-fitness .wrap > img{
		display:none;
	}
/*
@media screen and ( max-width: 1698px ) {
	.slider-fitness .wrap > img{
		display:none;
	}
}
@media screen and ( min-width: 1699px ) {
	.slider-fitness .wrap{
		max-width:100%;
	}
	.slider-fitness .wrap > img{
		display:block;
		width:100%;
		height:auto;
	}
	.slider-fitness{
		height:auto;
	}
}
*/

/*--contact--*/
#contact{
	padding:0;
}
.contact-box {
	padding:80px 0 100px;
	background:url(../img/top/bg-contact.jpg) no-repeat 50% 50% / cover;
}
.contact-box .inner-box{
    max-width: 1060px;
}
.contact-box h2{
	font-size:1.8rem;
	text-align: center;
}
.contact-box h2 i{
	font-size:4.2rem;
	color:#109954;
	font-weight: 500;
	margin:0 auto;
	display:block;
	font-family: 'Roboto', sans-serif;
	line-height: 1.2;
}
.contact-box p{
	font-size:1.7rem;
	margin:25px auto 43px;
}
.contact-box .flex {
    max-width: 1080px;
    margin: 0 auto;
}
.contact-box dl{
	position:relative;
}
.contact-box dt {
    background: #109954;
    padding: 6px 0;
    color: #fff;
    font-size: 2rem;
    text-align: center;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.contact-box dd {
    background: #fff;
    padding:50px 0 5px 0;
    font-size: 1.5rem;
    text-align: center;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    height: 100%;
    vertical-align: middle;
    display: table;
    width: 100%;
    box-sizing: border-box;
}
.contact-box dd > *{
	display: table-cell;
	vertical-align: middle;
}
.contact-box .mail-btn a {
    padding: 16px 50px 16px 40px;
    font-size: 1.8rem;
    border: 1px solid #0d8046;
    width: 90%;
    box-sizing: border-box;
    max-width: 360px;
}
.contact-box .mail-btn a:after {
	display: none;
}
/*
.contact-box .mail-btn a:before {
	display: none;
	font-family: "Font Awesome 5 Light";
	content: "\f0e0";
}
.contact-box .mail-btn a svg{
	display: inline-block;
	line-height: 1;
	margin-right: 10px;
	vertical-align: middle;
	font-size: 2rem;
	color:#109954;
}
*/
.contact-box .mail-btn a:before{
    content: "" !important;
    width: 32px;
    height: 32px;
    display: inline-block;
    vertical-align: middle;
	top: -2px;
	position: relative;
    background: url(../img/common/icon/f0e0-g-L.png) no-repeat 50% 50% / contain;
}
.contact-box .mail-btn a:hover:before{
    background: url(../img/common/icon/f0e0-w-L.png) no-repeat 50% 50% / contain;
}
.contact-box .tel span{
	display: block;
}
.contact-box .tel .roboto{
	font-size:4.5rem;
	font-weight:500;
	line-height: 1.2;
	position:relative;
}
.contact-box .tel .roboto::before {
    content: "";
    width: 38px;
    height: 38px;
    display: inline-block;
    margin: -10px 10px 0 0;
    vertical-align: middle;
    background: url(../img/common/ico-tel.png) no-repeat 50% 50% / contain;
}

/*--blog--*/
.post-contents p{
	margin-bottom:2em;
}
.post-contents h2 {
    border-top: 2px solid #109954;
    padding: 12px 20px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #7f7f7f;
    font-size: 2.4rem !important;
    text-align: center;
    font-weight: bold;
}
.post-contents h3 {
    background: #109954;
    padding: 7px 20px;
    color: #fff;
    font-size: 2.2rem !important;
	text-decoration: none;
    margin-bottom: 20px;
}
.post-contents h5{
    font-size: 1.8rem !important;
    margin-bottom: 20px;
	padding:7px 0;
	position: relative;
	font-weight:bold;
}/*
.post-contents h4:before {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f192";
}
.post-contents h4 svg {
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
	font-size: 1.6rem;
	color:#109954;
	position: absolute;
	left: 0;
	top: .5rem;
}
*/
.post-contents h5:before {
    content: "" !important;
    width: 17px;
    height: 17px;
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
    color: #109954;
    font-weight: normal;
    margin: -3px 5px 0 0;
    background: url(../img/common/icon/f192-g.png) no-repeat 50% 50% / contain;
    display: inline-block;
    vertical-align: middle;
}
.post-contents h6{
    font-weight: bold;
    font-size: 1.6rem !important;
    border-bottom: 1px dotted #7f7f7f;
    margin-bottom: 20px;
    padding: 0 0 10px;
}
.post-contents h4{
    font-weight: bold;
    font-size: 2rem !important;
    border-left: 5px solid #109954;
    margin-bottom: 20px;
    padding: 7px 0 7px 12px;
}
.post-contents .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.post-contents .alignleft {
    float: left;
    margin: 0 1em 0.5em 0;
}
.post-contents .alignright {
	float: right;
    margin: 0 0 0.5em 1em;
}
.post-contents p{
	font-size: 1.6rem;
}

/*--information-page--*/
.information-page #contents .sec-info h3.heading-03 {
    font-size: 2.4rem;
}
.information-page #contents .wrap{
	max-width: 1180px;
	padding: 10px 0;
    position: relative;
}
.information-page #contents .wrap-box{
	margin: 0 auto;
}
.information-page #contents .wrap-box .wrap{
	background:#f9f9f2;
	width:100%;
}
.information-page #contents .sec-info{
	padding: 18px 0;
}
.information-page #contents .sec-info.wrap,
.information-page #contents .sec-info{
	padding: 40px 20px 0;
	margin: -40px auto 60px;
	width: 100%;
	box-sizing: border-box;
}
section#diabetes .wrap {
    margin-top: 40px;
}/*
.information-page #contents .sec-info.wrap{
	padding-top: 40px;
    margin-top: 18px;
}*/
.information-page #contents .sec-info .heading-01 {
    width: 188px;
    height: 188px;
    text-align: center;
    background: #109954;
    color: #fff;
    display: table;
    position: absolute;
    top: 20px;
    left: -30px;
    z-index: 10;
	font-weight:normal;
	font-size:2.8rem;
}
.information-page #contents .sec-info .wrap .heading-01 {
    top: -10px;
}
.information-page #contents .sec-info .heading-01 i{
	font-size:1.4rem;
	font-family: 'Roboto', sans-serif;
	display:block;
	margin-right:0;
	letter-spacing: .4px;
}
.information-page #contents .sec-info .heading-01 > *{
	z-index:10;
	position:relative;
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	height: 100%;
}
.information-page #contents #rheumatology .heading-01 > *,
.information-page #contents #thyroid .heading-01 > * {
    font-size: 2.2rem;
    letter-spacing: -1px;
}
.information-page #contents .sec-info .heading-01 > span:before{
	content:"";
	width:78px;
	height:78px;
	display:block;
	margin:0 auto;
}
.information-page #contents #diabetes .heading-01 > span:before{
	background:url(../img/common/ico-info-01.png) no-repeat 50% 50% / contain;
}
.information-page #contents #internal .heading-01 > span:before{
	background:url(../img/common/ico-info-02.png) no-repeat 50% 50% / contain;
}
.information-page #contents #ophthalmology .heading-01 > span:before{
	background:url(../img/common/ico-info-03.png) no-repeat 50% 50% / contain;
}
.information-page #contents #nephrology .heading-01 > span:before{
	background:url(../img/common/ico-info-04.png) no-repeat 50% 50% / contain;
}
.information-page #contents #dermatology .heading-01 > span:before{
	background:url(../img/common/ico-info-05.png) no-repeat 50% 50% / contain;
}
.information-page #contents #thyroid .heading-01 > span:before,
.information-page #contents #endocrinology .heading-01 > span:before{
	background:url(../img/common/ico-info-06.png) no-repeat 50% 50% / contain;
}
.information-page #contents #rheumatology .heading-01 > span:before{
	background:url(../img/common/ico-info-07.png) no-repeat 50% 50% / contain;
}
.information-page #contents #cardiology .heading-01 > span:before{
	background:url(../img/common/ico-info-08.png) no-repeat 50% 50% / contain;
}
.information-page #contents .sec-info .heading-01:before {
	content:"";
    width: 100%;
    height: 100%;
    background: #109954;
    position: absolute;
    top: 0;
    left: 0;
	z-index:1;
}
.information-page #contents .sec-info .heading-01:after {
	content:"";
    width: 100%;
    height: 100%;
    background: #005c2e;
    position: absolute;
    top: 10px;
    left: -10px;
	z-index:-1;
}
.information-page .sec-info .flex .box.pic {
    width: 53%;
}
.information-page .sec-info .flex .box.txt {
    width: 44%;
}
.information-page .sec-info .flex .box.txt p {
    font-size: 1.6rem;
}
.information-page #about{
	position:relative;
	border-top: 2px solid #109954;
	padding-top:280px;
	margin-bottom:100px auto !important;
}
.information-page #about:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	background:url(../img/common/bg-about-3.jpg) no-repeat top center / cover;
	width:100%;
	height:460px;
}
.information-page #about > *{
	position:relative;
	z-index:10;
}
.information-page #about.wrap-box .wrap {
    background: #fff;
	padding:40px 50px;
}

/*--center-page--*/
.center-page #effect .btn-large-box{
	padding-top:60px;
}
.center-page #header .part.tel-box {
    background: #fd8d20;
}
.center-page #header .part.tel-box ul li a,
.center-page #header .part.tel-box ul li a svg{
    color: #fd8d20;
}
#coupon.wrap-box{
	margin-bottom: 30px;
    padding-bottom: 22px;
}
#coupon .wrap {
    max-width: 980px;
	background:#f9f9f2;
	padding: 10px 0;
}
#coupon figcaption {
	font-size:1.6rem;
    text-align: right;
}
#coupon .wrap > p {
    margin-top: 12px;
}
#coupon .wrap .bnr,
#coupon .wrap .bnr figure{
	width:100%;
}
#coupon .wrap .bnr a{
	display:block;
}
.center-page .contents #feature{
	margin-bottom:0;
	padding-top: 62px;
	padding-bottom: 78px;
}
.center-page .contents #feature.wrap-box .wrap {
    padding-top: 0;
	padding-bottom: 50px;
}
.center-page .contents #feature .heading-02 {
    position: relative;
    top: -17px;
	margin-bottom: 15px;
}
.center-page .contents #feature .heading-02 i{
    margin-bottom: 15px;
}
.center-page .contents #feature .heading-02.center::after {
    margin: 20px auto 0;
}

.center-page #feature p.left {
    font-size: 1.6rem;
    line-height: 2;
}
.center-page #feature .flex {
    margin: 38px auto 5px;
}
.center-page #feature .flex .box h3{
	font-size:2.2rem;
}
.center-page #feature .flex .box figure {
    width: 240px;
    height: 240px;
    border: 1px solid #109954;
    border-radius: 100%;
    box-sizing: border-box;
    padding: 0;
    margin: 10px auto;
    display: table;
}
.center-page #feature .flex .box figure > *{
    display: table-cell;
	vertical-align:middle;
    width: 100%;
    height: 100%;
}
.center-page #introduce{
	position:relative;
	padding-top:360px;
	padding-bottom: 60px;
}
.center-page #introduce .wrap{
	padding-bottom: 65px;
}
.center-page #introduce p{
	font-size: 1.6rem;
}
.center-page #introduce:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	background:url(/wp/wp-content/uploads/2019/01/bg-about-2.jpg) no-repeat top center / cover;
	width:100%;
	height:410px;
}
.center-page #introduce > *{
	position:relative;
	z-index:10;
}
.center-page #introduce .heading-02 {
    margin-bottom: 30px;
}
.center-page #about > *{
	width: 52%;
}
.center-page #about .figure{
	width: 43%;
	margin-top: -25px;
}
.center-page #course .heading-02 {
    margin-bottom: 35px;
}
.center-page #course .heading-05 {
    margin-top: 60px;
}
.center-page #course table.cell-05.fixed th{
    width: 40%;
}
.center-page #course table.cell-02.fixed th,
.center-page #course table.cell-03.fixed th,
.center-page #course table.cell-05.fixed th {
    font-weight: normal;
}
.center-page #course table.cell-05.fixed td{
    width: 15%;
}
.center-page #course p.right,
.center-page #course p.left,
.center-page #course p.center {
    font-size: 1.5rem;
	/*margin-top:-20px;*/
}
.center-page #open h3{
	font-size:3.2rem;
}
.center-page #open .table-03 {
	min-width:700px;
}
.center-page #open .table-03 th {
	text-align:center;
	font-weight:normal;
}
.center-page #open .table-03 tbody th {
    padding: 20px 25px;
}
.center-page #open .table-03 {
    margin-bottom: 0;
}
.center-page #open thead th,
.center-page #open thead td{
	background:#109954;
	text-align:center;
}
.center-page #open p {
    font-size: 1.5rem;
    position: relative;
}
#contents #effect .flex .box h3 {
    font-size: 3.2rem;
}
.center-page #effect .flex .box.pic {
    width: 45%;
	padding:0;
}
.center-page #effect .flex .box.txt {
    width: 52%;
	padding:18px 0 0 0;
}
/*--machine--*/
.machine-page #machine-list.wrap-box .wrap {
    background: none;
    padding: 0;
}
.machine-page #machine-list .dl-01 li a{
    padding: 10px 0 10px 20px;
}
/*

.machine-page #machine-list .dl-01 li a::before {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f330";
}
.machine-page #machine-list .dl-01 li a svg {
    position: absolute;
    top: 12px;
    left: 0;
    transition: all .2s;
    color: #109954;
    font-size: 1.6rem;
}

*/
.machine-page #machine-list .dl-01 li a::before{
    content: "" !important;
    width: 40px;
    height: 40px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: -12px;
    transition: all .2s;
    background: url(../img/common/icon/f330-g.png) no-repeat 50% 50% / contain;
}
.machine-page #machine-list .dl-01 li a:hover:before{
	left:-9px;
}
.machine-page #contents > section .flex .box.txt {
    width: 66%;
}
.machine-page #contents > section .flex .box.txt p{
	font-size:1.6rem;
}
.machine-page #contents > section .flex .box.pic {
    width: 34%;
}

/*--faq--*/
.faq-page #contents{
	box-sizing:border-box;
	padding:0 2.5%;
}
.faq-page #contents section {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

/*--about--*/
.about-page #advantage figure.right {
	display:none;
}
.about-page #advantage .flex {
    margin-bottom: 5px;
}
.about-page #advantage p {
    font-size: 1.8rem;
    line-height: 2;
	margin: 15px auto 42px;
}
.about-page #advantage p .bold {
    font-size: 2.4rem;
}
.about-page #advantage .heading-04 {
    font-size: 3.2rem;
}
.about-page #read .heading-04 {
	font-size: 3.4rem;
	margin-bottom: 30px;
}
.about-page #feature {
    padding-top: 145px;
    background: #fff;
    margin-bottom: -12px;
    padding-bottom: 0;
}
.about-page #feature:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	background:url(/wp/wp-content/uploads/2019/01/bg-about-2-1.jpg) no-repeat top center / cover;
	width:100%;
	height:450px;
}
.about-page #feature > *{
	position:relative;
	z-index:10;
}
.about-page #feature.wrap-box .wrap {
    background: #fff;
	padding:50px 50px 40px 50px;
}
.about-page #feature h3{
	font-size: 3rem;
}
.about-page #feature h3 i{
	margin-bottom: 5px;
}
.about-page #advantage .flex .box h3{
	font-size:2rem;
}
.about-page #advantage .flex .box figure {
    width: 184px;
    height: 184px;
    border: 1px solid #109954;
    border-radius: 100%;
    box-sizing: border-box;
    padding: 0;
    margin: 0 auto 10px;
    display: table;
}
.about-page #advantage .flex .box figure > *{
    display: table-cell;
	vertical-align:middle;
    width: 100%;
    height: 100%;
}
.about-page .flex-box-02 .heading-03{
	padding-left:120px;
	position: relative;
	display: flex;
	align-items: center;
	min-height: 120px;
}
.about-page .flex-box-02 .heading-03 .point:after {
	content:"";
	position:absolute;
	right:-5px;
	top:0;
	z-index:10;
	background:#fff;
	width:32px;
	height:100%;
	font-weight:normal;
}
.about-page #feature .list-block .flex{
    max-width: 950px;
    margin: 0 auto;
}
.about-page #feature .list-block .flex li{
    color: #109954;
	font-size:2rem;
	line-height: 1.5;
}
.about-page #feature .list-block .flex li a,
.about-page .flex-box-02 .heading-03 .point {
    width: 120px;
    height: 120px;
    border: 1px solid #109954;
    border-radius: 100%;
    box-sizing: border-box;
    padding: 0;
    margin-bottom: 10px;
    display: table;
	font-size:2rem;
}
.about-page #feature .list-block .flex li a {
    margin: 0 auto 10px;
    color: #109954;
}
.about-page .flex-box-02 .heading-03 .point {
	position:absolute;
	top:0;
	left:0;
	z-index: -1;
	font-weight:normal;
}
.about-page .flex-box-02 .btn-02 {
    margin: 20px 0;
    text-align: left;
}
.about-page .flex-box-02 .btn-02 a{
	padding: 11px 60px;
    position: relative;
    left: 3px;
}
.about-page #feature .list-block .flex li a > *,
.about-page .flex-box-02 .heading-03 .point > *{
    display: table-cell;
	vertical-align:middle;
    width: 100%;
    height: 100%;
	text-align: center;
}
.about-page #feature .list-block .flex li a i,
.about-page .flex-box-02 .heading-03 .point em{
	display:block;
	font-size:4.8rem;
	font-style:normal;
	line-height: 1;
	font-weight: 300;
	font-family: 'Roboto';
}
.about-page #read p{
	font-size:1.6rem;
}
.about-page #read .heading-05 {
    margin-top: 40px;
}

/*--access--*/
.access-page #tab_access {
    padding: 10px 0;
}
.access-page #tab_access .wrap{
	background: none;
	max-width: 980px;
	padding: 0;
}
.access-page #car .flow.flex .box {
    border: 1px solid #109954;
    border-radius: 5px;
}
.access-page #car .flow.flex .box {
    padding-top: 30px;
    padding-bottom: 30px;
}
.access-page .flow-btn-list{
	padding: 0;
    margin-bottom: 15px;
}
.access-page .flow-btn-list .btn-02 a {
    margin: 12px 15px;
    min-width: 235px;
	font-size: 1.8rem;
}
.access-page #train .flow.flex .box{
    padding: 10px 0;
	width: 30%;
}
.access-page #car .flow.flex .box {
    padding: 34px 30px 34px 30px;
    width: 30.5%;
}
.access-page #train .flow.flex .box .heading-03,
.access-page #car .flow.flex .box .heading-03{
    font-size: 2.2rem;
	margin-bottom: 8px;
}
.access-page #train .flow.flex .box .heading-06,
.access-page #car .flow.flex .box .heading-06{
    font-size: 2.2rem !important;
}
.access-page #train .flow.flex .box .heading-06 svg,
.access-page #car .flow.flex .box .heading-06 svg{
    font-size: 2.2rem;
}
.access-page #train .flow.flex .box p,
.access-page #car .flow.flex .box p{
    font-size: 1.6rem;
}
.access-page #train .flow.flex .box .num,
.access-page #car .flow.flex .box .num {
	top: -5px;
    left: -10px;
    font-size: 2.5rem;
    font-family: 'Helvetica',sans-serif;
    font-weight: 400;
}
.access-page #train .flow.flex .box:first-child .num svg,
.access-page #car .flow.flex .box:first-child .num svg{
    left: -.5em;
}
.access-page #train .flow.flex .box > svg,
.access-page #car .flow.flex .box > svg {
    font-size: 5rem;
    margin-top: -1.25em;
	left: -.5em;
}
.access-page #car .flow.flex .box > svg {
    margin-top: 0;
}
.access-page #train .flow.flex .box:first-child figure,
.access-page #car .flow.flex .box:first-child figure{
	text-align: left;
}
/*--contact--*/
#contact #contents h2::before {
    color: #109954;
}
#contact .form-table th {
    padding: 15px;
    border-bottom: solid 1px #ccc;
    border-right: solid 1px #ccc;
    background: #eef8f3;
    font-weight: normal;
    vertical-align: middle;
    font-size: 1.8rem;
}
/*
#contact #contents .tel::before {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f2a0";
}
#contact #contents .tel svg {
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
    margin-right: 15px;
	color:#109954;
    font-size: 2.8rem;
}
#contact #contents .tel svg {
    position: relative;
    top: inherit;
    left: inherit;
    transition: all .2s;
    margin-right: 9px;
    color: #109954;
    font-size: 3.8rem;
    vertical-align: middle;
    transform: rotate(-30deg);
    top: -6px;
}*/
#contact #contents .tel::before {
    content: "" !important;
    width: 60px;
    height: 60px;
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    position: relative;
    left: 0;
    top: 0;
    margin: -10px 0 0 0;
    background: url(../img/common/icon/f2a0-g.png) no-repeat 50% 50% / contain;
    transform: inherit;
}
#contact #contents .center-tel .tel::before {
    background: url(../img/common/icon/f2a0-o.png) no-repeat 50% 50% / contain;
}
#contact #contents .date {
    display: inline-block;
    margin-left: 10px;
    border-bottom: none;
    transform: translate( 0, -5px );
    font-size: 1.2rem;
    background: #000;
    color: #fff;
    padding: 0 5px;
    border-radius: 3px;
    vertical-align: middle;
}
.btn-submit{
    position: relative;
    max-width: 400px;
    margin:30px auto 30px;
}
.btn-submit svg {
    display: inline-block;
    line-height: 1;
    margin: -.5em 10px 0 0;
    padding: 0;
    font-size: 1.8rem;
    vertical-align: middle;
    color:#fff;
    transition: all .4s;
    position: absolute;
    top: 50%;
    left: 20px;
    z-index: 1;
    transition: all .4s;
}
.btn-submit input {
    width: 100%;
    display: inline-block;
    font-size: 2rem;
    position: relative;
    border: 2px solid #109954;
    box-sizing: border-box;
    padding: 15px 2em;
    color: #fff !important;
    background: #109954;
    text-align: center;
    text-decoration: none !important;
    overflow: hidden;
    cursor: pointer;
    border-radius: 2em;
	vertical-align:middle;
}
.btn-submit input:hover,
.btn-submit input:focus,
.btn-submit input:active{
    color: #109954 !important;
    background: #fff;
}
.btn-submit:active svg,
.btn-submit:focus svg,
.btn-submit:hover svg {
    left: 25px;
    color: #109954 !important;
}

.staff-list .staff{
	text-align:left;
}
.staff-list .staff .txt p{
    font-size: 1.6rem;
}
.staff-list .staff .txt h3 {
    font-size: 2rem;
    font-weight: bold;
}
.staff-list .staff {
    border: none;
    padding: 0;
}
#recruit .company-box table th {
    width: 20%;
    text-align: left;
}
#recruit .outline-box table th {
    width: 15%;
    text-align: left;
}
#recruit .company-box table th,
#recruit .company-box table td {
    text-align: left;
    padding: 20px 30px;
}
#recruit .outline-box table th,
#recruit .outline-box table td {
    text-align: left;
	vertical-align:middle;
    padding: 30px 30px;
}
.map {
    border: none;
    margin-bottom: 60px;
    padding-bottom: 30px;
}
.map iframe{
	width:100%;
	height:100%;
}
.company-page .read p{
	font-size:1.6rem;
	margin-bottom:2em;
}
/*
---------------------------------------
tab-panel
---------------------------------------
*/

#tab-box{
	margin:30px auto;
}
#tab-box .panel-container {
    padding: 0px 30px 5px;
    border-top: 2px solid #109954;
    background:#fff;
	/*display: table;*/
    width: 100%;
	box-sizing: border-box;
}
#tab-box .panel-container > div {
    /*display: table-cell;*/
    width: 100%;
    height: 100%;
    vertical-align: middle;
}
#tab-box .panel-container #tab-2-gmap {
    padding-top: 30px;
    padding-bottom: 20px;
}
.tab-menu{
	margin-bottom: 0;
	overflow: hidden;
}
.tab-menu > li{
	width:48% !important;
	padding: 0;
}
.tab-menu > li > * {
    width: 100%;
    display: inline-block;
    font-size: 2rem;
    position: relative;
    box-sizing: border-box;
    padding: 12px 20px;
    color: #fff !important;
    background: #b3b3b3;
    text-align: center;
    text-decoration: none !important;
    overflow: hidden;
    cursor: pointer;
	transition: all .2s;
	display:block;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.tab-menu > li .active{
	background:#109954;
}
.tab-menu > li *:hover,
.tab-menu > li *:active {
	border-bottom-width:2px;
	bottom:-3px;
}

/*
---------------------------------------
画面サイズ最大値以下
---------------------------------------
*/
@media screen and (max-width: 1180px)  and (min-width: 751px) {
/*--ここから記述--*/

#header .wrap {
}
#header .part.tel-box ul li a{
	font-size:1rem;
}
#header .part.tel-box p {
    font-size: 1rem;
}
#header .part.tel-box i {
    font-size: 2.4rem;
}
#header .part.tel-box i::before {
    width: 19px;
    height: 19px;
}
#g-nav > ul > li > a {
    font-size: 1.2rem;
}
#header.fixed #g-nav > ul > li > a {
    font-size: 1.4rem;
}
#header .logo {
    width: 30%;
	padding-left: 20px;
}
#header.fixed #g-nav {
    padding-left: 10px;
}

footer .wrap.nav{
	padding-right:2.5%;
	padding-left:2.5%;
	box-sizing: border-box;
}
footer .store-info {
    width: 45%;
    flex: inherit;
}
footer #bottom-nav {
    width: 55%;
    padding: 15px 0 0 20px;
    flex: inherit;
}

/*--table--*/
.table-03 thead th, .table-03 thead td {
    font-size: 1.6rem;
}
.table-03 tbody td {
    font-size: 1.4rem;
}
.table-03 tbody th span {
    font-size: 2rem;
}
.table-03 tbody th {
    font-size: 1.4rem;
}
.contents .flex-box-01 {
    max-width: 95%;
}
.contact-box{
	padding-right:2.5%;
	padding-left:2.5%;
}
.contents .wrap-box .wrap{
	width:95%;
}
.top-page #faq .wrap > div:first-child{
	width: 42%;
}
.top-page #faq .wrap > div:last-child {
    width: 56%;
}

.top-page #recruit .wrap {
    max-width: 95%;
}

#page-ttl .box{
	padding:0 2.5%;
}
.topic-path .wrap {
    width: 95%;
}
.staff-list{
	width: 95%;
    margin: 0 auto;
}

.contents .flex-box-02 {
    max-width: 95%;
}
.contents .flex-box-02 > .figure {
    margin-right: -2.5%;
}
.contents .flex-box-02.reverse > .figure {
    margin-right: 0;
    margin-left: -2.5%;
}
.flex.box-05{
	justify-content: space-around;
}
.flex.box-05 .box {
    width: 33.3333%;
}
.about-page #read{
	padding:0 2.5%;
}
.dl-01 dd{
	padding-left:40px;
}
.dl-01 dd .flex li {
    padding: 5px;
    width: 50%;
}

#topics .wrap{
	max-width: 95%;
}

/*--machine--*/
.machine-page #machine-list.wrap-box .wrap {
    padding: 0 2.5%;
}
.machine-page #contents {
    padding: 0 2.5%;
    box-sizing: border-box;
}
.center-page #course,
.center-page #effect,
.center-page #about {
    padding: 0 2.5%;
        padding-top: 0px;
    box-sizing: border-box;
    width: 100%;
}
.center-page #feature .flex .box figure {
    width: 180px;
    height: 180px;
}
.center-page #feature .flex .box figure img{
    width: 81px;
}

/*--access--*/
.access-page #train, .access-page #car {
    width: 95%;
}

/*--contact--*/
.contact-page #contents {
    width: 95% !important;
}

.information-page #contents .sec-info.wrap, .information-page #contents .sec-info {
    padding: 40px 50px 0;
}
.information-page #contents .wrap.sec-info .heading-01{
	left:20px;
}
.information-page #contents .sec-info .heading-01 {
    width: 158px;
    height: 158px;
    font-size: 2.2rem;
}
.information-page #contents .sec-info .heading-01 i {
    font-size: 1.2rem;
}
.blog-page #container #contents {
    width: 70% !important;
}
.blog-page #container {
    padding: 0 2.5% 30px;
}
.access-page .btn-large-box{
	width: 95%;
    margin: 0 auto;
}
.top-page #fitness p {
    width: 80%;
    margin: 0 auto;
}
.top-page #recruit .wrap > .figure {
    width: 48%;
    margin-right: -2.5%;
}
.top-page #recruit .wrap > div {
    width: 50%;
}
.top-page #recruit .wrap > .figure figure::after {
    font-size: 3.6rem;
}
.btn-center {
    bottom: 270px;
}
/*--ここまで記述--*/
}
/*
---------------------------------------
960px以下
---------------------------------------
*/
@media screen and (max-width: 960px)  and (min-width: 751px) {
/*--ここから記述--*/
p {
    font-size: 1.6rem;
}
.btn-center {
    bottom: 300px;
}
.faq-01 dt {
    font-size: 1.6rem;
}
.faq-01 dd, .faq-01 dd p {
    font-size: 1.4rem;
}
.top-page #fitness p {
    font-size: 1.6rem;
}
.flex.box-04 .box {
    width: 50%;
}
.flow.flex .box::before {
	top: 90px;
    width: 24px;
    height: 24px;
    left: -26px;
}
.access-page #train .flow.flex .box .heading-03,
.access-page #car .flow.flex .box .heading-03 {
    font-size: 1.8rem;
}
#header .logo {
    width: 38%;
}
#header.fixed #g-nav > ul > li > a::before {
    display: none;
}
#header.fixed #g-nav > ul > li > a {
    font-size: 1.3rem;
    text-align: center;
}
#header.fixed .part.tel-box {
    padding: 19px 5px 18px;
}
#header .part.tel-box i {
    font-size: 2rem;
}
#header .part.tel-box i::before {
    width: 16px;
    height: 16px;
}
#header .part.tel-box {
    padding: 5px 10px 12px;
    width: 30%;
}
#header .wrap > .logo-nav {
    align-items: center;
}
#g-nav{
	width:60%;
	padding-right: 5px;
}
#g-nav > ul.wrap{
    flex-wrap: wrap;
}
#g-nav > ul > li {
    width: 50%;
	border:none;
}
#g-nav > ul > li > a::before {
    display: none;
}
#g-nav > ul > li > a {
    padding: 0;
}
#g-nav > ul > li:nth-child(2)::before, #g-nav > ul > li:nth-child(4)::before {
    content: "";
    width: 1px;
    height: 70%;
    background: #e6e6e6;
    position: absolute;
    top: 15%;
    left: 0;
}
#header.fixed #g-nav > ul > li:nth-child(2)::before, 
#header.fixed #g-nav > ul > li:nth-child(4)::before {
	display:none;
}

#topics .heading-01 {
    position: static;
}
#topics .heading-01 .btn-02 {
    bottom: -25px;
    left: 0;
    height: 60px;
    margin-top: 0;
    top: inherit;
}
#topics .wrap {
    padding: 0 0 60px;
    position: relative;
}

.information-page #contents .sec-info .heading-01 > span::before {
    content: "";
    width: 59px;
    height: 59px;
}
.information-page #contents .sec-info .heading-01 {
    width: 138px;
    height: 138px;
}
.information-page #contents #rheumatology .heading-01 > *, .information-page #contents #thyroid .heading-01 > * {
    font-size: 1.6rem;
}
.information-page #contents .sec-info .heading-01 i {
    font-size: 1rem;
}
.information-page #contents .sec-info h3.heading-03 {
    font-size: 2rem;
}
.dl-01 dt {
    font-size: 1.8rem;
	width:25%;
}
.dl-01 dd{
	width:75%;
}
.dl-01 dd a{
    font-size: 1.6rem;
}
.faq-page .flex.box-02 .box {
    width: 100%;
}
.top-page #concept h3 {
    font-size: 2.2rem;
}
.top-page #concept.flex-box-01 > div p {
    font-size: 1.6rem;
}
.contact-box .tel .roboto {
    font-size: 4rem;
}
.table-01 tbody th{
	width:15%;
}
.table-01 th, .table-01 td {
    font-size: 1.4rem;
	padding: 10px;
}
.table-01 tbody th span {
    font-size: 1.4rem;
}
.table-01 tbody th p {
    font-size: 1.4rem;
}
.table-01 tbody th p i {
    font-size: 1.2rem;
}
/*--ここまで記述--*/
}
/*
---------------------------------------
750px以下(タブレットサイズ)
---------------------------------------
*/
@media screen and (max-width: 750px) {
/*--ここから記述--*/

html #wpadminbar{
	display:none !important;
}
#wrapper{
	min-width:100%;
}
.wrap {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
}
p{
	font-size:1.6rem;
}
.pc{
	display:none;
}
.sp{
	display:block;
}
br.sp{
	display:block;
}
.left.btn-01,
.left.btn-02,
.left.btn-03,
.left.btn-04,
.left.btn-05,
.left.btn-06 {
    text-align: center;
}
.contents .heading-02 {
    font-size: 2.8rem !important;
}
.contents .heading-02::after {
    width: 15%;
    height: 1px;
}
.contents .heading-02.center::after {
    margin-top: 16px;
}

/*--header--*/
#header{
    padding: 10px;
	box-sizing:border-box;
	padding-bottom: 10px !important;
}
#header .wrap > .logo-nav {
    margin: 0;
    width: 100%;
    align-items: flex-end;
    padding: 0;
}
#header .logo {
    width: 100%;
    max-width: 100%;
}
#header .logo figure a {
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: bottom;
    padding: 0;
}
#header .logo figure {
    text-align: left;
    position: absolute;
    bottom: 0;
    top: inherit;
    left: 10px;
    width: 100%;
    height: 100%;
    display: table;
}
#header .logo img {
    max-height: inherit;
    max-width: 205px;
    height: auto;
}
#header h1{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #eee;
    z-index: 111111111;
    margin: 0;
    padding: 0 10px;
    height: 20px;
}
#header h1 .wrap {
    padding: 2px 0 1px 0;
    margin: 0;
}
#header .wrap {
    padding: 0;
}
#header.fixed{
	overflow:visible;
}
#header.fixed > .wrap{
	min-width:inherit;
}
#header.fixed .logo{
	display:block;
}

/*--footer--*/
footer #bottom-nav .flex > .box > ul > li > a, footer #bottom-nav .flex > ul > li > a, footer #bottom-nav .menu > ul > li > a{
	text-indent:0;
}
footer .wrap.nav {
    padding: 36px 0 15px;
	overflow:hidden;
}
footer .store-info h2 i {
    font-size: 3.6rem;
    display: block;
    margin: 0;
    line-height: 1;
}
footer .wrap.nav iframe {
    max-width: 100%;
    width: 630px;
    height: 140px;
    border: 3px solid #fff;
    margin: 10px auto 20px;
}
footer .store-info p {
    font-size: 1.3rem;
}
footer #bottom-nav{
	display:block;
	width:100%;
	padding: 0;
}
footer .store-info h2 {
    font-size: 1.7rem;
    margin: 0 auto 5px;
    line-height: 1.1;
}
footer .flex {
    flex-direction: column;
    margin: 0 auto;
    width: 100%;
}
footer .store-info {
    padding: 0 10px;
}
footer .wrap.info {
    background-position: 39% 39%;
}
.btn-center,
#page-center {
    margin-left: -145px;
    width: 145px;
    height: 145px;
}
.btn-center {
    transition: all .4s;
    position: absolute;
    bottom: 190px;
	bottom: 305px;
    left: 100%;
    z-index: 1000;
}
.btn-center-common::after, .btn-center::after {
    width: 15px;
    height: 15px;
	bottom:18px;
    margin-left: -8px;
}
footer #bottom-nav .flex .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
	box-sizing: border-box;
	width: 100%;
	padding: 0px 10px 5px 10px;
}

footer #bottom-nav .flex .box .parent{
	width: 100%;
}
footer #bottom-nav .sub-menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: space-between;
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    margin: 0;
}
footer #bottom-nav .flex > .box > ul > li > a,
footer #bottom-nav .flex > ul > li > a,
footer #bottom-nav .menu > ul > li > a,
footer #bottom-nav .sub-menu li a {
    padding: 0 0 0 1.7rem;
    position: relative;
    font-size: 1.4rem;
    display: table-cell;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
	line-height: 1.2;
    vertical-align: middle;
	height: 4em;
}
footer #bottom-nav .flex > .box > ul > li > a::before, 
footer #bottom-nav .flex > ul > li > a::before, 
footer #bottom-nav .menu > ul > li > a::before {
    width: 32px;
    height: 32px;
    margin: -6px -4px -4px -24px;
}
footer #bottom-nav .flex .parent > a > svg{
	display:none;
}
footer #bottom-nav .flex .parent > a {
    color: #109954;
    font-size: 1.5rem;
    padding-left: 0;
    padding-bottom: 0;
}
footer #bottom-nav .sub-menu li a::before {

    content: "ー";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    font-size: 1.3rem;
    color: #109954;
    margin-top: -.5em;

}
footer #bottom-nav .sub-menu li {
    display: block;
    width: 50%;
    border-bottom: 1px solid #ccc;
}
footer #bottom-nav .flex .box > ul li {
    border-bottom: 1px solid #ccc;
    height: 4em;
    display: table;
    width: 100%;
}
footer #bottom-nav .flex .box > ul{
	width:50%;
}
/*
footer #bottom-nav .flex > ul > li > a svg, footer #bottom-nav .flex > .box > ul > li > a svg, footer #bottom-nav .menu > ul > li > a svg {
    display: inline-block;
    line-height: 1;
    margin-right: 10px;
    vertical-align: middle;
    font-size: 1.3rem;
    color: #109954;
    position: absolute;
    top: 50%;
    margin-top: -.5em;
	left: 0;
}
*/
#page-top{
	z-index: 9998;
}
#bottom-fix{
	background: #109954;
}
#bottom-fix .tel a {
    display: block;
    line-height: 1;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    padding: 10px 0;
}
#bottom-fix .tel {
    width: 100%;
    text-align: center;
}

#bottom-fix .tel span::before {
    content: "";
    width: 24px;
    height: 24px;
    display: inline-block;
    margin: -7px 6px 0 -10px;
    vertical-align: middle;
    background: url(../img/common/ico-tel2.png) no-repeat 50% 50% / contain;
	font-family:inherit;
}
#bottom-fix .tel span {
    display: block;
    font-size: 3.2rem;
}

/*--common--*/
.topic-path {
    width: 95%;
    margin: 0 auto 20px;
}
#page-ttl .box{
	padding: 0 2.5%;
}
#page-ttl {
	background-size: auto 110%;
    height: 165px;
}
#page-ttl::after {
    background-size: auto 165px;
    background-position: 20% 50%;
}
#page-ttl .box h2 {
    font-size: 1.8rem;
}
#page-ttl .box h2.en {
    font-size: 3.9rem;
}
#page-ttl .box p {
    font-size: 1.3rem;
}

/*--dl-01--*/
.dl-01 dt {
    font-size: 1.8rem;
	width:30%;
}
.dl-01 dd {
    padding: 20px 20px 20px 20px;
    width: 70%;
}
.dl-01 dd a {
    font-size: 1.5rem;
}
.dl-01 dd .flex.c03 > *{
	width:50%;
}
.dl-01 dd .flex.c02 > *{
	width:100%;
}

/*--top--*/
.top-page #top-head-contents{
	margin:0 auto 45px;
	padding: 0 0 12px;
}
.top-page #slider-main{
	margin-top:0;
}

#slider-main .wrap{
	width:100%;
}
#slider-main img.pc,
#slider-main .center img {
	display: none;
}
#slider-main img.sp,
#slider-main .right img {
	display: block;
}
#slider-main .slider-1 a img {
    width: 99px;
    height: 99px;
}
.top-page #fitness p {
    max-width: 95%;
    margin: 0 auto;
}
.contact-box h2 {
    margin-bottom: 5px;
}
.contact-box p{
	font-size: 1.5rem;
	margin: 0px auto 17px;
}
.contact-box {
    padding: 50px 0 40px;
}
.contact-box dl {
    position: relative;
    width: 100% !important;
    margin: 0 auto 12px;
    max-width: 500px;
}
.contact-box dl dd {
    padding: 60px 0 20px;
}
.contact-box dd.btn-01.mail-btn {
    padding: 50px 0 1px 0;
}

.slider-fitness {
	margin-top: 55px;
    height: 205px;
}
.slider-fitness .badge {
    top: -25px;
    z-index: 1;
}
.slider-fitness .badge {
    box-shadow: 0 0 3px 0px #109954;
}
.contact-box dt {
    padding: 6px 0 4px 0;
    font-size: 1.8rem;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}
.contact-box .tel .roboto {
    font-size: 3.8rem;
}
.top-page #recruit {
    background: #fff;
    padding: 50px 0 40px 0;
    position: relative;
    margin: 40px auto 0;
}
.top-page #faq {
    margin: 0;
    padding: 65px 0 0 0;
}
.top-page #recruit::before {
	width: 48%;
    height: 78%;
}
.top-page #faq div p {
    font-size: 1.6rem;
    line-height: 2.2;
}
.top-page #faq .wrap > div > p.btn-02 {
    margin-top: 0px;
}
.top-page #faq .wrap > div:first-child,
.top-page #faq .wrap > div:last-child {
    width: 100%;
}
.top-page #recruit .wrap{
	width:100%;
	flex-direction: column-reverse;
}
.top-page #recruit .wrap > div h2{
	margin-bottom:5px;
}
.top-page #recruit .wrap > div {
    width: 100%;
	padding:0 10px;
}
.top-page #recruit .wrap > .figure {
    overflow: visible;
    width: 100%;
    margin: 0 0 35px;
	padding:0;
}
.top-page #information {
    padding: 60px 0 0 0;
}
.top-page #information > div.flex{
	border-top:none;
}
.top-page #information h2{
	border-bottom:2px solid #109954;
	font-size: 2.5rem;
}
.top-page #information h2.heading-03 span {
    padding: 5px 0 12px;
}
.top-page #information .slick-next,
.top-page #information .slick-prev{
	top:20%;
}
.slick-dots li{
	margin:0 1px;
}

/*
.top-page #recruit::before,*/
.top-page #faq::before {
    width: 100%;
    height: 25%;
}
.contents #top-head-contents .wrap {
    width: 100%;
}

/*--about--*/
.about-page #feature h3 {
    font-size: 2.8rem;
}
.about-page #advantage .heading-04{
	font-size:2.8rem;
}
.about-page #feature .list-block .flex li {
    font-size: 1.6rem;
    width: 50%;
}
.about-page #feature .list-block .flex {
    max-width: 480px;
}
.about-page .flex-box-02 {
    position: relative;
    padding: 140px 0 40px 0;
}
.about-page .flex-box-02 > div {
    position: static;
}
.about-page .flex-box-02 .heading-03 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    font-size: 2.3rem !important;
    margin: 0;
    z-index: 100;
	box-sizing: border-box;
}
/*--blog--*/
.blog-page #contents {
    width: 95% !important;
    margin: 0 auto;
	box-sizing: border-box;
}
#sidebar > .search-form,
#sidebar > .side-menu,
.back-link {
    width: 95%;
    margin: 0 auto 30px auto;
	box-sizing: border-box;
}
.side-menu.box-menu {
    padding: 0;
    border: none;
}
.side-menu .menu > ul > li{
	border-bottom: solid 1px #ccc;
}
.page-item-375 .children {
    display: none;
}


/*--contact--*/
.contact-page #contents {
    width: 95% !important;
}
#contact #contents .date{
	margin:15px auto 20px;
}
.contact-page #tel{
	text-align:center;
}
div.wpcf7 .ajax-loader {
    position: absolute;
    bottom: -25px;
    left: 50%;
    margin: 0 0 0 -8px !important;
}


/*--information--*/
.information-page #about{
	padding-top:180px;
}
.information-page #about.wrap-box .wrap{
	width:90%;
}
.information-page #about::before {
	height:280px;
}
.information-page #about.wrap-box .wrap {
    background: #fff;
    padding: 40px 2.5%;
}
.information-page #contents .sec-info .heading-01 {
    width: 168px;
    height: 168px;
    top: -10px;
    left: -10px;
    font-size: 2.2rem;
}
.information-page .sec-info .flex .box.pic,
.information-page .sec-info .flex .box.txt {
    width: 100%;
}
.information-page #contents .sec-info.wrap, 
.information-page #contents .sec-info .wrap {
    width: 95%;
	max-width: 600px;
}
.information-page #contents .sec-info .heading-01 i{
	font-size:1.2rem;
}

/*--tab--menu--*/
.tab-menu > li > * {
    font-size: 1.5rem;
}

/*--topics--*/
#topics{
	padding-bottom:0;
}
#topics .wrap {
    padding: 0 0 60px;
    position: relative;
}
#topics .btn-02 a {
	width: 100%;
	max-width: 90%;
    padding: 10px 55px;
}

#topics ul li a svg{
	right:0;
}
#topics .heading-01 .btn-02 {
    bottom: -25px;
    left: 0;
    height: 60px;
    margin-top: 0;
    top: inherit;
}
#topics .heading-01{
	position: static;
}
.flex-01-box > div::after {
    width: 36px;
    height: 36px;
    left: 40px;
    top: -74px;
}
.flex-01-box > div::before {
    width: 65px;
    height: 65px;
    left: -5px;
    top: -55px;
}

.contents .wrap-box .wrap {
    padding: 25px 25px 20px;
}
/*--center--*/
#coupon .wrap .bnr {
	width:100%;
    max-width: 490px;
    margin: 0 auto;
}
#coupon figcaption {
    font-size: 1.3rem;
}
#coupon .wrap > p {
    margin: 12px auto 0;
    width: 95%;
    max-width: 480px;
}
#coupon .btn-03 a {
    font-size: 2rem;
    padding: 12px 0;
	text-align:center;
}
#coupon .btn-03 a::before {
    width: 40px;
    height: 40px;
    margin: -5px 0 0 0;
}
/*
#coupon .btn-03 a svg {;
    margin-right: 7px;
    font-size: 1.8rem;
}
*/
.center-page #open h3 {
    font-size: 2.8rem;
}
#contents #effect .flex .box h3 {
    font-size: 2.8rem;
}
/*
.center-page #open p {
    margin-top: -20px;
    top: -20px;
}*/
.tbl-a-wrap .scroll-hint-icon-wrap.is-active{
	border-bottom:none;
}
.center-page #course p.right, .center-page #course p.left, .center-page #course p.center {
	margin-top:0;
}
.center-page #about > * {
    width: 100%;
}
.center-page #about .figure {
    width: 100%;
    margin-top: 25px;
}
.center-page #feature .flex .box figure {
    width: 180px;
    height: 180px;
}
.center-page .contents #feature.wrap-box .wrap {
    padding-left: 2.5%;
    padding-right: 2.5%;
}
.center-page #feature .flex.box-04 .box {
    width: 50%;
    font-size: 1.3rem;
	padding:0;
}
.center-page #feature .flex {
    max-width: 480px;
}
.center-page #feature .flex .box h3 {
    font-size: 2rem;
}
.center-page #introduce{
	padding-top: 168px;
}
.center-page #introduce .wrap {
    padding-bottom: 65px;
    width: 90%;
}

.center-page #introduce::before{
	height:238px;
}
.center-page #introduce.wrap-box .wrap {
    background: #fff;
    padding: 40px 2.5%;
}

.center-page #course {
    width: 95%;
    margin: 0 auto;
    box-sizing: border-box;
}
.center-page #effect {
    width: 95%;
}
.center-page #effect .flex .box.pic,
.center-page #effect .flex .box.txt {
    width: 100%;
}

/*--top-page--*/

.top-page #concept.flex-box-01 {
    width: 95%;
    flex-direction: column-reverse;
}
.top-page #faq .wrap > div:first-child {
    border-width: 1px;
    width: 97%;
	margin-left:auto;
	margin-right:auto;
	padding: 40px 30px 10px;
}
.top-page #faq .wrap div .btn-02 a {
    padding: 10px 30px;
}
.top-page #fitness {
    padding: 30px 0 0;
}
/*--about-page--*/

.about-page #advantage figure.right {
	display:block;
}
.about-page #advantage figure.center {
	display:none;
}
.about-page #read .heading-04 {
    font-size: 2.8rem;
}
.about-page #advantage .flex .box {
    width: 50%;
	padding:0;
}
.about-page #advantage .flex .box:last-child {
    width: 100%;
}
.about-page #feature .flex .box {
    margin-bottom: 15px;
}
.about-page #advantage .flex .box h3 {
    font-size: 1.8rem;
    white-space: nowrap;
}
.about-page .flex-box-02 .btn-02 {
    text-align: center;
}
.about-page #feature{
	padding-top:180px;
}
.about-page #feature.wrap-box .wrap{
	width:90%;
}
.about-page #feature::before {
	height:280px;
}
.about-page #feature.wrap-box .wrap {
    background: #fff;
    padding: 40px 2.5%;
}
/*--access-*/
.access-page #tab_access .wrap,
.access-page #access .wrap {
    width: 95%;
}
.access-page #train .flow.flex,
.access-page #car .flow.flex{
	width:95%;
    margin: 0 auto;
}
.access-page #train .flow.flex .box {
    padding: 10px 0;
    width: 100%;
    max-width: 350px;
    margin: 0 auto 45px;
}
.access-page #car .flow.flex .box{
    width: 100%;
    max-width: 350px;
    margin: 0 auto 45px;
}
.access-page #train .heading-06,
.access-page #car .heading-06{
	width: 90%;
    margin: 0 auto 25px;
}

.access-page #parking .box.txt {
    position: static;
}
.access-page #parking .flex {
    position: relative;
    padding-top: 109px;
}
.access-page #parking .box.txt h3{
	width:100%;
	position: absolute;
    top: 0;
    left: 0;
}/*
.access-page #train .flow.flex .box > svg,
.access-page #car .flow.flex .box > svg {
    font-size: 5rem;
    margin-top: -1.7em;
    left: 50%;
    top: -1em;
    margin-top: 0;
    transform: rotate(90deg);
    margin-left: -.5em;
    width: 1em;
}*/
.access-page #train .flow.flex .box::before,
.access-page #car .flow.flex .box::before {
    margin-top: -51px;
    left: 50%;
    transform: rotate(90deg);
    top: 0;
	width:34px;
	margin-left:0;
}
.access-page #car .flow.flex .box::before {
    margin: -40px 0 0 0;
}
/*--flex-box-01--*/
.flex-01-box {
	width: 95%;
    padding-top: 74px !important;
    flex-direction: column;
}
.contents .flex-box-01{
	width:95%;
    flex-direction: column;
}
.contents .flex-box-01 > .figure {
    width: 100%;
    margin-right: 0;
}
.contents .flex-box-01 > div {
    width: 100%;
}
.flex-01-box > div > *{
	font-size:1.6rem;
}
/*--.flex-box-02--*/
.contents .flex-box-02 {
    flex-direction: column-reverse;
	width:95%;
}
.contents .flex-box-02 > div {
    width: 100%;
}
.contents .flex-box-02 > .figure,
.contents .flex-box-02.reverse > .figure {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}

/*--btn--*/
.btn-large-box {
    padding: 0;
	max-width: 570px;
	width: 95%;
	margin: 10px auto;
}
.btn-large-box > a {
    width: 98%;
	margin:12px auto;
}
	/* sp-btn */
#sp-btn {
    border: none;
    width: 64px;
    height: 100%;
    z-index: 100;
    transition: all 0.2s;
    position: absolute;
    top: 0;
    right: 0;
    background: #0f9a59;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    padding: 12px 0 0 0;
}

#sp-btn:active,
#sp-btn:hover {
    cursor: pointer;
}

#sp-btn.active {
    background: #109954;
}

#sp-btn.active #sp-btn-a span {
    background: #fff;
}

#sp-btn #sp-btn-a,
#sp-btn #sp-btn-a span {
    display: inline-block;
    box-sizing: border-box;
    transition: all .5s;
}

#sp-btn #sp-btn-a {
    position: relative;
    width: 22px;
    height: 22px;
	margin-bottom: 1rem;
	display:block;
}

#sp-btn #sp-btn-a:active,
#sp-btn #sp-btn-a:hover {
    opacity: 1;
}

#sp-btn #sp-btn-a span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
}

#sp-btn #sp-btn-a span:nth-of-type(1) {
    top: 1px;
}

#sp-btn #sp-btn-a span:nth-of-type(2) {
    top: 9px;
}

#sp-btn #sp-btn-a span:nth-of-type(3) {
    bottom: 3px;
}
#sp-btn-a::after {
    position: absolute;
    left: -11px;
    bottom: -15px;
    content: 'メニュー';
    display: block;
    width: 100%;
    color: #fff;
    font-size: 1.1rem;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    line-height: .9;
    letter-spacing: 1px;
    transition: all 0.2s;
}

#sp-btn.active #sp-btn-a::after {
    color: #fff;
	content: 'とじる';
	left: -7px;
}

#sp-btn.active span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
}

#sp-btn.active span:nth-of-type(2) {
    opacity: 0;
}

#sp-btn.active span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
}
	/* g-anv */

	#g-nav {
		display:none;
	}

	#slide-nav {
		padding: 1px 0;
		background:none;
		z-index: -99999;
	    position: fixed;
	    top: -200%;
	    left: 0;
	    width: 100%;
	}
.bg-fixed {
    overflow: hidden;
}
#slide-nav.active {
	background:#fff;
    z-index: 10000;
	margin:0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block !important;
    box-sizing: border-box;
    padding: 0;
}
#slide-nav .flex .box {
    text-align: left;
    width: 100%;
    padding: 0;
}
#slide-nav nav .flex {

    margin-top: 15px;
}
#slide-nav.active > * {
    vertical-align: middle;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    overflow-x:hidden;
	overflow-y:scroll;
	-webkit-overflow-scrolling: touch;
	display: block;
}
#slide-nav .flex ul > li {
    display: block;
    width: 100%;
    border-bottom: 1px solid #ccc;
}
#slide-nav .flex .parent{
	border-bottom: none
}
#slide-nav .flex .parent ul {
    border-top: 1px solid #ccc;
}
#slide-nav .flex > ul > li a {
    font-size: 1.5rem;
    display: block;
    width: 100%;
    padding:16px 25px 16px 50px;
	box-sizing: border-box;
	text-align: left;
	position: relative;
}
/*
#slide-nav .flex > ul > li > a:before {
	display: none;
	font-family: "Font Awesome 5 Regular";
	content: "\f054";
}
#slide-nav .flex > ul > li > a > svg {
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    font-size: 1.8rem;
    color: #717171;
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -.5em;
}
*/
#slide-nav .flex > ul > li > a:before {
    content: "" !important;
    width: 40px;
    height: 40px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    right: 5px;
    top: 50%;
    background: url(../img/common/icon/f054-gr.png) no-repeat 50% 50% / contain;
    margin-top: -20px;
}
#slide-nav .flex > ul > li.parent > a > svg{
	transform: rotate(90deg);
}
#slide-nav .flex > ul > li.parent .sub-menu a{
	padding-left:87px;
}
#slide-nav .sub-menu li a::before {
    content: "ー";
    position: absolute;
    top: 50%;
    left: 67px;
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    font-size: 1.3rem;
    color: #109954;
    margin-top: -.5em;
}
#slide-nav .part.tel-box {
    background: #109954;
    padding: 10px 20px 10px;
    margin: 10px auto;
    width: 92.5%;
    box-sizing: border-box;
}
#slide-nav .part.tel-box p {
    font-size: 1.5rem;
    color: #fff;
    line-height: 1.5;
    margin: 0 auto 5px;
    font-weight: normal;
}
#slide-nav .part.tel-box i{
    font-size: 3.5rem;
	color: #fff;
	line-height:1.2;
	letter-spacing: 1px;
	font-family: 'Roboto', sans-serif;
}
#slide-nav .part.tel-box i::before {

    content: "";
    width: 28px;
    height: 28px;
    display: inline-block;
    margin: -11px 11px 0 -16px;
    vertical-align: middle;
    background: url(../img/common/ico-tel2.png) no-repeat 50% 50% / contain;

}
#slide-nav .part.tel-box ul li a {

    background: #fff;
    display: block;
    padding: 8px 10px;
    text-indent: 8px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    border-radius: 3px;
    font-size: 1.5rem;
    color: #109954;
    position: relative;

}
/*
#slide-nav .part.tel-box ul li a:before {
	display: none;
	font-family: "Font Awesome 5 Solid";
}
#slide-nav .part.tel-box ul li.access a:before {
	content:"\f3c5";
}
#slide-nav .part.tel-box ul li.contact a:before {
	font-family: "Font Awesome 5 Regular";
	content:"\f0e0";
}
#slide-nav .part.tel-box ul li a svg{
	display: block;
	line-height: 1;
	vertical-align: middle;
	font-size: 1.8rem;
	color:#109954;
	position:absolute;
	left:9px;
	top:50%;
	margin-top:-.5em;
}
*/
#slide-nav .part.tel-box ul li a::before {
    content: "" !important;
    width: 32px;
    height: 32px;
    display: block;
    line-height: 1;
    vertical-align: middle;
    position: absolute;
    left: 10px;
    top: 50%;
    margin: -15px 0 0 0;
}
#slide-nav .part.tel-box ul li.contact a:before{
    background: url(../img/common/icon/f0e0-g-L.png) no-repeat 50% 50% / contain;
}
.center-page #slide-nav .part.tel-box ul li.contact a:before{
    background: url(../img/common/icon/f0e0-o-L.png) no-repeat 50% 50% / contain;
}
#slide-nav .part.tel-box ul li.access a:before{
    background: url(../img/common/icon/f3c5-g.png) no-repeat 50% 50% / contain;
}
.center-page #slide-nav .part.tel-box ul li.access a:before{
    background: url(../img/common/icon/f3c5-o.png) no-repeat 50% 50% / contain;
}
#slide-nav .part.tel-box ul li {
    width: 48%;
    padding: 0;
    box-sizing: border-box;
}
#slide-nav .part.tel-box ul {
	width: 98%;
    margin: 5px auto 0;
    flex-direction: row;
}
.center-page #slide-nav .tel-box {
    background: #fd8d20;
}
.center-page #slide-nav .tel-box ul li a,
.center-page #slide-nav .tel-box ul li a svg{
    color: #fd8d20;
}
#bottom-fix #link-center, #bottom-fix .contact a {
    display: block;
}
#page-center{
	display:none;
}
#page-top {
    z-index: 1000000;
    position: fixed;
	right:0;
	bottom:70px;
}
#header .tel-btn,
#header .tel-btn * {
	display:block;
}
#header .tel-btn .center{
	display:none;
}
.center-page #header .tel-btn .common{
	display:none;
}
.center-page #header .tel-btn .center{
	display:block;
}
#header .tel-btn {
    position: absolute;
	display:block;
    top: 50%;
    right: 69px;
    width: 49px;
    margin-top: -15px;
}
#link-center {
    margin: 0;
    width: 100%;
    text-align: center;
}
#link-center a {
    display: block;
    background: #fd8d20;
    color: #fff;
    padding: 13px 0;
	position:relative;
	font-size: 1.3rem;
}
/*
#link-center a:before {
	display: none;
	font-family: "Font Awesome 5 Solid";
	content: "\f138";
}
#link-center a svg{
    position: absolute;
    color: #fff;
    margin-top: -.5em;
    top: 50%;
	font-size: 1.5rem;
	right:10px;
}
*/
#link-center a::before {

    content: "" !important;
    width: 20px;
    height: 20px;
    display: block;
    line-height: 1;
    vertical-align: middle;
    position: absolute;
    right: 10px;
    top: 50%;
    margin: -9px 0 0 0;
    background: url(../img/common/icon/f138-w.png) no-repeat 50% 50% / contain;

}

figure img{
	max-width:100%;
}

.top-page #concept {
    margin-top: 20px;
}
.top-page #concept.flex-box-01 > div p {
    font-size: 1.6rem;
}
.top-page #fitness p {
    font-size: 1.6rem;
}
.contents .time-schedule.wrap-box {
	padding: 15px 0;
}
.contents .time-schedule.wrap-box .wrap {
    padding-bottom:0;
}

#header {
    height: 103px;
}
/*--table--*/
.table-01 th, .table-01 td {
    font-size: 1.6rem;
}
.table-01 tbody th{
	width:13%;
}
.information-page table.cell-02 th,
.information-page table.cell-02 td,
.information-page table.cell-02 tr,
.information-page table.cell-02 thead,
.information-page table.cell-02 tbody,
.information-page table.cell-02 {
    width: 100%;
	display:block;
	box-sizing:border-box;
}
.table-02 th,
.table-02 td {
    padding: 22px 20px;
}
.tbl-a-wrap.is-scrollable {
    padding-bottom: 0px;
    margin: 10px auto 5px;
}
/*
.machine-page #contents > section > .flex,
.machine-page #contents > section > .flex.reverse{
    padding-top: 5rem;
    position: relative;
}
.machine-page #contents > section .flex .box.txt {
    position: static;
}
.machine-page #contents > section .flex .box.txt h3{
	font-size:2rem !important;
	position:absolute;
	top:0;
	left:0;
	width:100%;
}
*/
.machine-page #contents > section .heading-05 {
    font-size: 2.2rem;
}

/*--ここまで--*/
}

/*
---------------------------------------
640px以下
---------------------------------------
*/
@media screen and (max-width: 640px) {
/*--ここから記述--*/

#wrapper {
    padding-top: 83px;
    overflow: hidden;
}

#coupon .btn-03 a {
    font-size: 1.6rem;
    padding: 12px 0;
}
/*
#coupon .btn-03 a svg {
    margin-right: 5px;
    font-size: 1.6rem;
}*/
.btn-03 a::before {
    width: 34px;
    height: 34px;
    margin: -6px 0 0 0;
}

/*--dl-01--*/
.dl-01 dt {
	width:100%;
	min-height:auto;
	padding:15px 0;
	margin-bottom:0;
}
.dl-01 dd {
    width: 100%;
}

/*--machine--*/
.machine-page #contents > section > .flex,
.machine-page #contents > section > .flex.reverse {
    flex-direction: column;
}
.machine-page #contents > section .flex .box.txt,
.machine-page #contents > section .flex .box.pic {
    width: 100%;
}
.top-page #information .box .heading-03 span {
    top: inherit;
    bottom: 15px;
    right: 0;
    width: 100%;
}
.top-page #information .box .heading-03{
	position:static;
}
.top-page #information .flex.box-03 .box {
    padding: 0 0 65px 0;
}
.slick-prev, .slick-next {
    top: 35%;
}
.slick-next {
    right: 5px !important;
}
.slick-prev {
    left: 5px !important;
}
.about-page #advantage p {
    font-size: 1.6rem;
}

.about-page #advantage p .bold {
    font-size: 2.2rem;
}

/*--ここまで--*/
}

/*
---------------------------------------
480px以下
---------------------------------------
*/
@media screen and (max-width: 480px) {
/*--ここから記述--*/


#header {
    height: 83px;
}
.contents #topics .heading-01 i {
	font-size: 3.2rem;
    letter-spacing: 1px;
	display:block;
}
#topics .heading-01 {
    font-size: 1.6rem;
	line-height: 1.1;
	margin-bottom: 18px;
}
.contents .heading-01 i {
	margin-right:0;
    font-size: 3.6rem;
    display: block;
}
.contents .heading-06{
	font-size:2rem;
}
.wrap > p.center,
#head-contents p.center {
    text-align: left;
}

.contents #slider-main::after {
    height: 10px;
    bottom: -10px;
}
/*--center--*/
#coupon .wrap .bnr {
	max-width:100%;
	text-align:center;
}
#coupon figcaption {
    font-size: 1.1rem;
    text-align: center;
}
.center-page #feature .flex .box figure {
    width: 135px;
    height: 135px;
}
.center-page #feature .flex .box figure img {
    width: 81px;
}
.center-page #feature .flex .box h3 {
    font-size: 1.6rem;
}
#header .logo img{
	/*width:135px;*/
	height:auto;
}
.about-page #advantage .flex .box figure {
    width: 134px;
    height: 134px;
}
.about-page #advantage .flex .box figure img{
	height: 69px;
	width:auto;
}
#topics ul li a {
	padding:2px 0 0 0;
    flex-direction: column;
}
section div > .btn-01, section div > .btn-02, section div > .btn-03, section div > .btn-04, section div > .btn-05, section div > .btn-06 {
    margin-top: 15px;
}
.btn-02 a{
	padding:16px 22px;
}
.top-page #recruit .wrap > .figure figure::after {
    font-size: 3.2rem;
}
.top-page #fitness h2 {
    font-size: 1.4rem;
}
.top-page #fitness h2 span {
    font-size: 2.7rem;
}
.information-page #contents .sec-info .heading-01 > span::before {
    width: 39px;
    height: 39px;
}
.information-page #contents .sec-info .heading-01 i {
    display:none;
}
.information-page #contents .sec-info .heading-01 {
    width: 101px;
    height: 101px;
    top: -10px;
    left: 0px;
    font-size: 1.5rem;
}
.information-page #contents #rheumatology .heading-01 > *, .information-page #contents #thyroid .heading-01 > * {
    font-size: 1.3rem;
}
.information-page #contents .sec-info .heading-01 > span::before {
    width: 48px;
    height: 48px;
}
.information-page #contents .sec-info .heading-01::after {
	left:-5px;
    top: 5px;
}

.slider-fitness .badge {
    width: 95px;
    height: 95px;
}
.slider-fitness .badge > * {
    font-size: 1.5rem;
}
.slider-fitness .badge > * i {
    font-size: 2rem;
}
.slider-fitness .badge {
    top: -55px;
}
.slider-fitness .badge-01 {
    right: 110px;
}
.slider-fitness .badge-02 {
    right: 5px;
}
.slider-fitness .badge {
    font-size: 1.3rem;
    line-height: 1.5;
}
#contact #contents .tel::before,
#contact #contents .center-tel::before{
	width:36px;
	height:36px;
}
#contact #contents p.tel,
#contact #contents p.center-tel{
	font-size: 3.6rem;
	text-indent: -.5em;
}
#contact .akishima-tel h3 {
    text-indent: 0;
}
#contact .form-table * {
    width: 100%;
    box-sizing: border-box;
}
/*--ここまで--*/
}

/*
---------------------------------------
375px以下
---------------------------------------
*/
@media screen and (max-width: 375px) {
/*--ここから記述--*/

/*--common--*/
p {
    font-size: 1.6rem;
}
.flex-01-box > div > * {
    font-size: 1.6rem;
}/*
footer .store-img figure img {
    width: 161px;
    height: auto;
}*/
.copyright small {
    font-size: 1.1rem;
}
/*
footer .wrap.info p {
    font-size: 1.3rem;
}
*/
/*--table--*/
.table-01 th, .table-01 td {
    font-size: 1.6rem;
}
.table-01 td {
    padding: 10px 10px;
}
.table-01 tbody th{
	padding: 15px 10px;
}
.table-01 tbody th p i {
    font-size: 1.4rem;
}
.table-01 tbody th span {
    font-size: 1.3rem;
    padding: 1px 15px;
    margin-bottom: 5px;
}
.table-01 th, .table-01 td {
    font-size: 1.4rem;
}
.table-01 tbody th p {
    font-size: 1.5rem;
    line-height: 1.5;
}
.table-02 th{
	border-bottom:none;
}
.table-02 th,
.table-02 td,
.table-02 thead,
.table-02 tbody,
.table-02 tr{
	display:block;
	box-sizing:border-box;
	width:100%;
}
.table-02 th, .table-02 td {
    font-size: 1.6rem;
    padding: 15px 10px;
}
.table-02 th{
	padding-bottom:5px;
}
.table-02 td{
    font-size: 1.4rem;
	padding-top:5px;
}
.table-03 thead th, .table-03 thead td {
    font-size: 1.6rem;
}
.table-03 tbody th span {
    font-size: 1.8rem;
    margin-bottom: 2px;
}
.table-03 tbody th {
    font-size: 1.4rem;
    padding: 10px 5px 15px 15px;
}
.table-03 tbody td {
    padding: 2px 2px;
    font-size: 1.4rem;
}

/*--heading--*/
.contents .heading-02 {
    font-size: 2.2rem !important;
}
.contents .heading-02 i {
    font-size: 1.7rem;
}
.contents .heading-05 {
    padding: 10px 15px;
    font-size: 2.4rem;
}
.contents .heading-06 {
    font-size: 1.8rem !important;
}
.contents .heading-06 svg {
    font-size: 1.5rem;
}
.slick-prev, .slick-next {
    width: 30px !important;
    height: 30px !important;
}
.slick-prev svg, .slick-next svg {
    font-size: 1.2rem;
}
/*--btn--*/
.wrap > .btn-large {
    width: 100%;
}
.btn-large {
    height: 120px;
}
.btn-large > a i {
    font-size: 1.2rem;
}
.btn-large > a span {
    font-size: 1.2rem;
    padding: 6px 5px;
    max-width: 140px;
}
.btn-large > a {
    font-size: 2.2rem;
}/*
.btn-center::after {
    width: 10px;
    height: 10px;
    margin-left: -5px;
    bottom: 13px;
}
.btn-center:hover:after {
	bottom:8px;
}
.btn-center {
    width: 99px;
    height: 99px;
    transition: all .4s;
    position: absolute;
    bottom: 319px;
    left: 70%;
}
.btn-center.fixed {
    position: fixed;
    bottom: 10px;
    left: 100%;
    margin-left: -109px;
}*/
.wrap > div > p.btn-02 {
    margin-top: 20px;
}

#contact #contents h2 {
    padding: 10px 5px 10px 15px;
    font-size: 1.8rem;
}
#contact #contents p {
    margin: 0px 0;
    font-size: 1.4rem;
    text-align: left;
    padding: 0 10px;
}

/*--faq-01--*/
.faq-01 dt {
    font-size: 1.6rem;
}
.faq-01 dd,
.faq-01 dd p{
    font-size: 1.4rem;
}
.faq-01 dt,
.faq-01 dd {
	padding-left:5.5rem;
}
/*--contact-box--*/
#contents h2 {
    font-size: 1.6rem;
}
.contact-box .tel span {
    font-size: 1.3rem;
}
.top-page #fitness p {
    font-size: 1.5rem;
}
.contact-box .tel .roboto::before {
    width: 28px;
    height: 28px;
}
.contact-box h2 i {
    font-size: 3.2rem;
}
.contact-box p {
    font-size: 1.5rem;
}

/*--top--page--*/
.btn-02 a {
    padding: 10px 12px;
    font-size: 1.5rem;
}
.time-schedule .wrap > p {
    font-size: 1.2rem;
    margin-bottom: 18px;
}
.time-schedule h2 span {
    font-size: 1.2rem;
    padding: 2px 19px 1px;
    top: 0;
    margin: 0 0 0 15px;
    max-width: 50px;
	letter-spacing: 0;
}
.time-schedule h2 {
    font-size: 2.4rem !important;
    letter-spacing: .7px;
}
#topics ul li,
#topics ul li time {
    font-size: 1.5rem;
}
.top-page #concept.flex-box-01 > div p {
    font-size: 1.5rem;
	line-height:2;
}
.top-page #concept h3 {
    font-size: 2rem;
	margin-bottom: 5px;
}
.top-page #concept .heading-01 {
    font-size: 1.5rem;
	margin-bottom:27px;
}
.top-page #information .box .heading-03{
    font-size: 2.4rem !important;
}
.top-page #information .heading-03 i {
    font-size: 1.2rem;
}
.top-page #information .flex.box-03 .box p {
    font-size: 1.3rem;
}

.information-page #contents #diabetes .heading-01 > span::before {

    background: url(../img/common/ico-info-01.png) no-repeat 50% 50% / contain;

}
#topics .heading-01 .btn-02 {
    bottom: -20px;
}

/*--about-page--*/
/*.about-page #advantage .flex .box {
    width: 100%;
}*/
.about-page #advantage .flex .box h3 {
    font-size: 1.7rem;
    letter-spacing: -1px;
}
.about-page #feature .list-block .flex li {
    font-size: 1.5rem;
    /*width: 100%;*/
	white-space: nowrap;
}
.about-page #feature {
    padding-top: 100px;
}
.about-page #feature::before {
    height: 180px;
}

/*--company-page--*/

.company-page .read p{
	font-size:1.4rem;
}
#recruit .map {
    margin: 0 auto;
    padding-bottom: 250px;
    width: 90%;
}

/*--machine--*/
.dl-01 dd .flex.c03 > * {
    width: 100%;
    padding: 0;
}

/*--blog--*/

.post-nav .prev a svg{
	left: 10px;
    font-size: 1.8rem;
}
.post-nav .prev a:hover svg {
	left: -5px;
}
.post-nav .next a svg{
	right: 10px;
    font-size: 1.8rem;
}
.post-nav .next a:hover svg {
	right: -5px;
}

.btn-center.fixed {
    position: fixed;
    bottom: 70px;
    left: 100%;
    margin-left: -99px;
}
.center-page #head-contents .sec-01 {
    margin-bottom: 0;
    padding-bottom: 0;
}
.center-page #feature .flex .box figure {
    width: 134px;
    height: 134px;
}
.center-page #feature .flex .box figure img{
	height: 69px;
	width:auto;
}
.center-page #feature p.center br{
	display:none;
}
.center-page #introduce p {
    font-size: 1.4rem;
}
.center-page #feature p.center{
	text-align:center;
}
.center-page #feature .flex .box h3 {
    font-size: 1.5rem;
    white-space: nowrap;
}
.center-page #course p.right, .center-page #course p.left, .center-page #course p.center {
    font-size: 1.3rem;
}
.center-page #open h3 {
    font-size: 2.4rem;
}
.center-page #open p {
    font-size: 1.3rem;
}
#contents #effect .flex .box h3 {
    font-size: 2.4rem;
}
.about-page .flex-box-02 .heading-03 {
    font-size: 2.1rem !important;
    padding-left: 110px;
}
#slide-nav .part.tel-box ul li a::before {
    width: 28px;
    height: 28px;
    left: 3px;
    margin: -13px 0 0 0;
}
/*--ここまで--*/
}
