@charset "utf-8";
/* Theme Name: res */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700');
html, body {
	font-size: 16px;
	line-height: 1.75;
	color: #5d5751;
	letter-spacing: .1em;
	font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
img {
	max-width: 100%;
	height: auto;
}
li {
	list-style: none;
}
a {
	color: inherit;
}
.txt_link {
	color: #5a7fae;
}
a:hover {
	opacity: .7;
	transition: .3s;
}
.inner {
	max-width: calc(1200px + 10%);
	width: 100%;
	margin: 0 auto;
	padding: 0 5%;
}
table{
	table-layout: fixed;
}
td input{
	max-width: 100%;
}
#map{
	position: relative;
	width: 100%;
	padding: 500px 0 0 0;
}
#map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
a[href^="tel:"] {
	cursor: default;
}
a[href^="tel:"]:hover {
	opacity: 1;
}
.slick-slide {
	outline: none;
}
.tb_only {
	display: none;
}
.sp_only {
	display: none;
}
.tb_pc {
	display: inherit;
}
.sp_tb {
	display: none;
}
.flex {
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.flex.start     { -webkit-justify-content: flex-start; justify-content: flex-start; }
.flex.end       { -webkit-justify-content: flex-end; justify-content: flex-end; }
.flex.center    { -webkit-justify-content: center; justify-content: center; }
.flex.around    { -webkit-justify-content: space-around; justify-content: space-around; }
.flex.between   { -webkit-justify-content: space-between; justify-content: space-between; }
.flex.stretch   { -webkit-align-items: stretch; align-items: stretch; }
.flex.ai_center { -webkit-align-items: center; align-items: center; }
.flex.ai_start  { -webkit-align-items: flex-start; align-items: flex-start; }
.flex.ai_end    { -webkit-align-items: flex-end; align-items: flex-end; }
.flex.nowrap    { -webkit-flex-wrap: nowrap; flex-wrap: nowrap; }
.flex.column    { -ms-flex-direction:column; -webkit-flex-direction:column; flex-direction:column; }
.flex.row       { -ms-flex-direction:row; -webkit-flex-direction:row; flex-direction:row; }
.flex.c_reverse { -ms-flex-direction:column-reverse; -webkit-flex-direction:column-reverse; flex-direction:column-reverse; }
.flex.r_reverse { -ms-flex-direction:row-reverse; -webkit-flex-direction:row-reverse; flex-direction:row-reverse; }
.noshrink       { flex: 0 0 auto; }
.grow           { flex: 1 1 auto; }

.txt_center { text-align: center; }
.no_mgn { margin-bottom: 0;}
.mb5    { margin-bottom:  5px; }
.mb10   { margin-bottom: 10px; }
.mb15   { margin-bottom: 15px; }
.mb20   { margin-bottom: 20px; }
.mb25   { margin-bottom: 25px; }
.mb30   { margin-bottom: 30px; }
.mb35   { margin-bottom: 35px; }
.mb40   { margin-bottom: 40px; }
.mb45   { margin-bottom: 45px; }
.mb50   { margin-bottom: 50px; }
.mb55   { margin-bottom: 55px; }
.mb60   { margin-bottom: 60px; }
.mb65   { margin-bottom: 65px; }
.mb70   { margin-bottom: 70px; }
.mb75   { margin-bottom: 75px; }
.mb80   { margin-bottom: 80px; }
.mb85   { margin-bottom: 85px; }
.mb90   { margin-bottom: 90px; }
.mb95   { margin-bottom: 95px; }
.mb100  { margin-bottom:100px; }
.mb105  { margin-bottom:105px; }
.mb110  { margin-bottom:110px; }
.mb115  { margin-bottom:115px; }
.mb120  { margin-bottom:120px; }
.mb125  { margin-bottom:125px; }
.mb130  { margin-bottom:130px; }
.mb135  { margin-bottom:135px; }
.mb140  { margin-bottom:140px; }
.mb145  { margin-bottom:145px; }
.mb150  { margin-bottom:150px; }
.mb05em { margin-bottom:0.5em; }
.mb10em { margin-bottom:1.0em; }
.mb15em { margin-bottom:1.5em; }
.mb20em { margin-bottom:2.0em; }
.mb25em { margin-bottom:2.5em; }
.mb30em { margin-bottom:3.0em; }
@media(min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.pc_only {
		display: none;
	}
	.tb_only {
		display: inherit;
	}
	.sp_only {
		display: none;
	}
	.tb_pc {
		display: inherit;
	}
	.sp_tb {
		display: inherit;
	}
}
@media(max-width: 767px) {
	html, body {
		font-size: 4.27vw;
		line-height: 1.5625;
		letter-spacing: 0;
	}
	.inner {
		padding: 0 3.2vw;
	}
	.pc_only {
		display: none;
	}
	.tb_only {
		display: none;
	}
	.sp_only {
		display: inherit;
	}
	.tb_pc {
		display: none;
	}
	.sp_tb {
		display: inherit;
	}
	#map {
		padding-top: 250px;
	}
	.noshrink {
		flex: 1 1 auto;
		text-align:center;
	}
	.sp_left {
		text-align: left!important;
	}
	.mb5   { margin-bottom: calc( 5  / 750 * 100vw); }
	.mb10  { margin-bottom: calc( 10 / 750 * 100vw); }
	.mb15  { margin-bottom: calc( 15 / 750 * 100vw); }
	.mb20  { margin-bottom: calc( 20 / 750 * 100vw); }
	.mb25  { margin-bottom: calc( 25 / 750 * 100vw); }
	.mb30  { margin-bottom: calc( 30 / 750 * 100vw); }
	.mb35  { margin-bottom: calc( 35 / 750 * 100vw); }
	.mb40  { margin-bottom: calc( 40 / 750 * 100vw); }
	.mb45  { margin-bottom: calc( 45 / 750 * 100vw); }
	.mb50  { margin-bottom: calc( 50 / 750 * 100vw); }
	.mb55  { margin-bottom: calc( 55 / 750 * 100vw); }
	.mb60  { margin-bottom: calc( 60 / 750 * 100vw); }
	.mb65  { margin-bottom: calc( 65 / 750 * 100vw); }
	.mb70  { margin-bottom: calc( 70 / 750 * 100vw); }
	.mb75  { margin-bottom: calc( 75 / 750 * 100vw); }
	.mb80  { margin-bottom: calc( 80 / 750 * 100vw); }
	.mb85  { margin-bottom: calc( 85 / 750 * 100vw); }
	.mb90  { margin-bottom: calc( 90 / 750 * 100vw); }
	.mb95  { margin-bottom: calc( 95 / 750 * 100vw); }
	.mb100 { margin-bottom:calc(100 / 750 * 100vw); }
	.mb105 { margin-bottom:calc(105 / 750 * 100vw); }
	.mb110 { margin-bottom:calc(110 / 750 * 100vw); }
	.mb115 { margin-bottom:calc(115 / 750 * 100vw); }
	.mb120 { margin-bottom:calc(120 / 750 * 100vw); }
	.mb125 { margin-bottom:calc(125 / 750 * 100vw); }
	.mb130 { margin-bottom:calc(130 / 750 * 100vw); }
	.mb135 { margin-bottom:calc(135 / 750 * 100vw); }
	.mb140 { margin-bottom:calc(140 / 750 * 100vw); }
	.mb145 { margin-bottom:calc(145 / 750 * 100vw); }
	.mb150 { margin-bottom:calc(150 / 750 * 100vw); }
	.ps-container{touch-action: auto;}
}

.btn_tel {
	font-family: english-grotesque,sans-serif;
	font-size: 200%;
	font-weight: 300;
	line-height: 1.0;
	letter-spacing: 0.04em;
}
.btn_tel:before {
	display: inline-block;
	transform: scaleX(-1);
	font-family: "Font Awesome 5 Free";
	font-size: 62.5%;
	font-weight: 900;
    vertical-align: middle;
	content: "\f095";
	margin: -4px 9px 0 0;
}
.btn_fax {
    font-family: english-grotesque, sans-serif;
    font-size: 200%;
    font-weight: 300;
    line-height: 1.0;
    letter-spacing: 0.04em;
}
.btn_fax:before {
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-size: 62.5%;
	font-weight: 900;
	vertical-align: middle;
	content: "\f1ac";
	margin: -4px 9px 0 0;
}
.btn_rsv {
	background: #c77c86;
	border-radius: 4px;
	color: #fff;
	width: 160px;
	padding: 5px;
	display: block;
}
.btn_rsv span.inr {
	border: dotted 2px #e3bec3;
	border-radius: 4px;
	font-family: kan412typos-std,sans-serif;
	font-size: 	112.5%;
	font-weight: 400;
	text-align: center;
	padding: 0 0 1px;
	display: block;
}
.btn_rsv span.inr:before {
	font-family: "Font Awesome 5 Free";
	font-size: 77.8%;
	font-weight: 900;
	content: "\f0e0";
    display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
	position: relative;
	top: -1px;
}
.btn_rsv span.en {
	font-family: english-grotesque,sans-serif;
	font-weight: 300;
}
@media only screen and (max-width: 767px) {
	.btn_rsv {
		width: 93.6vw;
	}
	.btn_rsv span.inr {
		font-size: 	125%;
		padding: 2.5vw 0 3.3vw;
	}
	.btn_rsv span.inr:before {
		font-size: 95%;
		margin-right: 2.6vw;
	}
}
.btn_online {
	background: #fff;
	border: solid 1px #e60012;
	border-radius: 4px;
	font-family: kan412typos-std,sans-serif;
	font-size: 75%;
	line-height: 1.5;
	letter-spacing: .1em;
	text-align: left;
	vertical-align: baseline;
	max-width: 404px;
	padding: 19px 20px 20px 25px;
	margin: 0 auto;
	position: relative;
}
.btn_online:before {
	content: "";
	background: url(images/index/icn_online_index.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 120px;
	height: 25px;
	margin: 0 20px 0 0;
}
.btn_online:after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f35a";
	color: #e60315;
	vertical-align: top;
    display: inline-block;
	margin: 11px 0 0 13px;
}
.btn_online span {
	display: inline-block;
}
@media only screen and (max-width: 1125px) {
	.btn_online {
		font-size: 1vw;
		padding: 1.5vw 1.5vw 1.3vw 1.5vw;
		max-width: inherit;
	}
	.btn_online:before {
		background-size: 100% auto;
	    width: 8.6vw;
		height: 2.2vw;
		margin: 0 1vw 0 0;
		position: relative;
		top: -1px;
	}
	.btn_online:after {
		margin: 0.9vw 0 0 0.9vw;
    	vertical-align: top;
	}
}
@media only screen and (max-width: 767px) {
	.btn_online {
		font-size: 62.5%;
		width: 100%;
		padding: 5.3vw 3vw 5.3vw 5.3vw;
	}
	.btn_online:before {
		background-size: 100% auto;
	    width: 27.7vw;
		height: 5.7vw;
		margin: 0 5vw 0 0;
		position: relative;
		top: -1px;
	}
	.btn_online:after {
		font-size: 150%;
		margin: 1.5vw 0 0 4.6vw;
    	vertical-align: top;
	}
}
.timetable {
	max-width: 550px;
}
.box_timetable {
	background: #fff;
	border: solid 1px #5a7fae;
	padding: 14px 30px 20px;
}
.timetable table {
	width: 100%;
}
.timetable thead th {
	border-bottom: solid 1px #5a7fae;
	color: #5a7fae;
	font-size: 87.5%;
	font-weight: 400;
	width: calc(41% / 8);
	text-align: left;
	padding: 0 0px 12px;
}
.timetable thead th:first-child {
	width: 28%;
    text-align: center;
    padding: 0 15% 12px 0;
	white-space: nowrap;
}
.timetable tbody tr th {
	color: #5a7fae;
	font-weight: 400;
	padding: 20px 15% 2px 0;
	white-space: nowrap;
}
.timetable tbody tr:last-child th {
	padding: 2px 15% 0 0;
}
.timetable tbody tr td {
	color: #5a7fae;
	font-size: 75%;
	width: calc(41% / 8);
	text-align: left;
	padding: 20px 0px 2px;
}
.timetable tbody tr:last-child td {
	padding: 2px 0px 0;
}
.timetable p {
	font-size: 87.5%;
	margin-top: 15px;
}
@media only screen and (max-width: 767px) {
	.timetable {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 5.3vw;
	}
	.timetable thead th {
		font-size: 100%;
		padding: 0 0 2vw;
	}
	.timetable thead th:first-child {
		letter-spacing: .1em;
		padding: 0 3vw 3.5vw 0;
	}
	.timetable tbody tr th {
		padding: 3.5vw 4vw 3.5vw 0;
	}
	.timetable tbody tr:last-child th {
		padding: 0 4vw 1vw 0;
	}
	.timetable tbody tr:first-child th:before, .timetable tbody tr:first-child th:after {
		width: calc(10 / 750 * 100vw);
	}
	.timetable tbody tr td {
		font-size: 100%;
		padding: 2.4vw 0 2vw;
	}
	.timetable tbody tr:last-child td {
		padding: 1vw 0 0;
	}
	.box_timetable {
		margin: 0  auto;
		font-size: 81.2%;
		padding: 4vw 5vw;
	}
	.timetable ul {
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-justify-content: space-around;
		-ms-justify-content: space-around;
		justify-content: space-around;
		-webkit-flex-wrap: wrap; /* Safari */
		flex-wrap: wrap;
		font-size: 87.5%;
	}
	.timetable ul li {
		padding-left: 6.5vw;
	}
	.timetable p {
		margin-top: 2.6vw;
	}
}

/* メインイメージ main_img
------------------------------------------------------------------*/
.main_img {
    width: 100%;
    height: 850px;
}
.main_img div{
	height: 100%;
}
.img_main_img {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    width: 100%;
    height: 100%;
}
.bg_main_img01 {
    background-image: url(images/index/main_img_index01.png);
}
.bg_main_img02 {
    background-image: url(images/index/main_img_index02.png);
}
.bg_main_img03 {
    background-image: url(images/index/main_img_index03.png);
}
@media only screen and (max-width: 960px) {
	.main_img {
   		/*height: 63vw;*/
	}
}
@media only screen and (max-width: 767px) {
	.main_img {
	    background-size: contain;
	    height: calc(850 / 750 * 100vw);
	}
	.bg_main_img01 {
	    background-image: url(images/index/main_img_index01_sp.jpg);
	}
	.bg_main_img02 {
	    background-image: url(images/index/main_img_index02_sp.jpg);
	}
	.bg_main_img03 {
	    background-image: url(images/index/main_img_index03_sp.jpg);
	}
}

/* ヘッダー header
------------------------------------------------------------------*/
.wrap_head {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	transition: .6s;
}
.wrap_head.fixed {
	position: fixed;
	background: #fff;
	padding: 30px 0;
}
.wrap_head h1 {
	padding: 0 2.1% 0 0;
	transition: .6s;
}
.home .wrap_head h1 {
	display: none;
}
.wrap_head.fixed h1 {
	display: block;
}
.wrap_head .gnav_head {
	max-width: 930px;
	width: 83%;
	-webkit-flex: 1;
  	flex: 1;
	margin: 35px 5% 0 0.5%;
	-ms-align-items: center;
	align-items: center;
}
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .wrap_head .gnav_head {
    max-width: 100%;
  }
}
.wrap_head .main_nav {
	max-width: 670px;
	-webkit-flex: 1;
  	flex: 1;
	transition: .6s;
}
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .wrap_head .main_nav {
    max-width: 100%;
  }
}
.home .wrap_head .main_nav {
	display: none;
}
.wrap_head.fixed .main_nav {
	display: block;
}
.wrap_head .main_nav .sub_nav nav {
    top: 50px;
}
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .wrap_head .main_nav > ul {
    max-width: 670px;
  }

}
.contact_head {
	margin: 30px 30px 0 0;
	-ms-flex-direction:column;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.home .contact_head {
	-ms-flex-direction:row;
	-webkit-flex-direction:row;
	flex-direction:row;
}
.wrap_head.fixed .contact_head {
	-ms-flex-direction:column;
	-webkit-flex-direction:column;
	flex-direction:column;
}
.home .contact_head li:first-child {
	margin: 0 48px 0 0;
}
.wrap_head.fixed .contact_head li:first-child {
	margin: 0 0 10px;
}
.wrap_head .contact_head .btn_tel,
.wrap_head.fixed .contact_head .btn_tel {
	color: #5d5751;
	margin: 0 0 15px;
	display: inline-block;
}
.home .wrap_head .contact_head .btn_tel {
	color: #5d5751;
	margin: 0;
}
.contact_head .btn_rsv {
	width: 230px;
}
.contact_head .btn_rsv span.inr {
	font-size: 	137.5%;
	padding: 1px 0;
}
.contact_head .btn_rsv span.inr:before {
	font-size: 	72.7%;
}
.contact_head .btn_rsv span.en {
	font-size: 	109%;
}
.main_nav_index {
	margin: 34px auto 60px;
}
.main_nav ul.flex > li > a {
	font-family: kan412typos-std,sans-serif;
	font-size: 	112.5%;
	font-weight: 400;
	line-height: 1.0;
	text-align: center;
	display: block;
	position: relative;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
.wrap_head .main_nav ul.flex > li:nth-child(1) > a:hover,
.main_nav_index ul.flex > li:nth-child(2) > a:hover {
	color: #5a7fae;
}
.wrap_head .main_nav ul.flex > li:nth-child(2) > a:hover,
.main_nav_index ul.flex > li:nth-child(3) > a:hover {
	color: #c77c86;
}
.wrap_head .main_nav ul.flex > li:nth-child(3) > a:hover,
.main_nav_index ul.flex > li:nth-child(4) > a:hover {
	color: #a8c374;
}
.wrap_head .main_nav ul.flex > li:nth-child(4) > a:hover,
.main_nav_index ul.flex > li:nth-child(5) > a:hover {
	color: #c77c86;
}
.wrap_head .main_nav ul.flex > li:nth-child(5) > a:hover,
.main_nav_index ul.flex > li:nth-child(6) > a:hover {
	color: #5a7fae;
}
.wrap_head .main_nav ul.flex > li:nth-child(6) > a:hover,
.main_nav_index ul.flex > li:nth-child(7) > a:hover {
	color: #5a7fae;
}
.main_nav_index ul.flex > li:nth-child(1) > a:before {
	content: '';
	background: url(images/index/icn_gnav01.png) no-repeat center top;
	background-size: cover;
	width: 20px;
	height: 23px;
	display: block;
	margin: 4px auto 5px;
}
.main_nav_index ul.flex > li:nth-child(2) > a:before {
	content: '';
	background: url(images/index/icn_gnav02.png) no-repeat center top;
	background-size: cover;
	width: 20px;
	height: 25px;
	display: block;
	margin: 0 auto 7px;
}
.main_nav_index ul.flex > li:nth-child(3) > a:before {
	content: '';
	background: url(images/index/icn_gnav03.png) no-repeat center top;
	background-size: cover;
	width: 20px;
	height: 20px;
	display: block;
	margin: 5px auto 7px;
}
.main_nav_index ul.flex > li:nth-child(4) > a:before {
	content: '';
	background: url(images/index/icn_gnav04.png) no-repeat center top;
	background-size: cover;
	width: 20px;
	height: 18px;
	display: block;
	margin: 7px auto;
}
.main_nav_index ul.flex > li:nth-child(5) > a:before {
	content: '';
	background: url(images/index/icn_gnav05.png) no-repeat center top;
	background-size: cover;
	width: 20px;
	height: 19px;
	display: block;
	margin: 8px auto 5px;
}
.main_nav_index ul.flex > li:nth-child(6) > a:before {
	content: '';
	background: url(images/index/icn_gnav06.png) no-repeat center top;
	background-size: cover;
	width: 20px;
	height: 20px;
	display: block;
	margin: 6px auto;
}
.main_nav ul.flex > li > a:hover {
  	animation: bound .3s ease infinite alternate;
}
@keyframes bound {
	0% {transform: translateY(0px);}
  	100% {transform: translateY(-10px);}
}
.main_nav .sub_nav {
	position: relative;
}
.main_nav .sub_nav nav {
	display: none;
	background: #a8c374;
	border-radius: 20px;
	padding: 5px;
	width: 211px;
	position: absolute;
	top: 84px;
	/* left: -67px; */
	left: -30px;
	z-index: 10;
}
.main_nav .sub_nav nav ul {
	border: dotted 2px #d4e1ba;
	border-radius: 20px;
	padding: 13px 23px;
}
.main_nav .sub_nav nav a {
	color: #fff;
	font-family: kan412typos-std,sans-serif;
	font-weight: 400;
	line-height: 2.5;
	letter-spacing: 0.04em;
	display: inline-block;
}
@media only screen and (max-width: 1080px) {
	.low_head .main_nav ul.flex, .wrap_head.fixed .main_nav ul.flex {
		-webkit-justify-content: normal;
		justify-content: normal;
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}
	.low_head .wrap_head.fixed .main_nav ul.flex::after{
		content:"";
		display: block;
		width:30%;
	}
	.low_head .main_nav ul.flex > li, .wrap_head.fixed .main_nav ul.flex > li {
		margin: 0 0 5% 5%;
	}
	.low_head .main_nav ul.flex > li > a, .wrap_head.fixed .main_nav ul.flex > li > a {
		font-size: 93.7%;
	}
	.low_head .wrap_head.fixed .contact_head .btn_tel {
		font-size: 169%;
    	margin: 0 0 10px;
	}
	.contact_head .btn_rsv {
		font-size: 	88.8%;
		width: 200px;
	}
}
@media only screen and (max-width: 767px) {
	.wrap_head {
		display: none;
	}
	.logo_sp {
		width: calc(352 / 750 * 100vw);
		height: calc(88 / 750 * 100vw);
		margin: 4vw 0 0 4.4vw;
		position: absolute;
    	z-index: 900;
	}
	.btn_gnav_sp {
		position: fixed;
		top: 2.6vw;
		right: 2.6vw;
		height: calc(80 / 750 * 100vw);
		width: calc(80 / 750 * 100vw);
		z-index: 10000;
		background: #c77c86;
		border-radius: 2.6vw;
	}
	.btn_gnav_sp span {
		width: 3.7vw;
		height: 2px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		margin: auto;
		background: #fff;
		border-radius: 10px;
		transform: translateX(-50%);
		transition: transform .3s ease-in-out;
	}
	.btn_gnav_sp span:before, .btn_gnav_sp span:after {
		content: "";
		width: 100%;
		height: 2px;
		position: absolute;
		left: 0;
		background: #fff;
		border-radius: 10px;
		transition: transform .3s ease-in-out;
	}
	.btn_gnav_sp span:before {
		top: -6px;
	}
	.btn_gnav_sp span:after {
		bottom: -6px;
	}
	.open .btn_gnav_sp span {
		background: none;
	}
	.open .btn_gnav_sp span:before, .open .btn_gnav_sp span:after {
		transition: transform .3s ease-in-out;
	}
	.open .btn_gnav_sp span:before {
		transform: rotate(45deg);
		top: 0;
	}
	.open .btn_gnav_sp span:after {
		transform: rotate(-45deg);
		bottom: 0;
	}
	.btn_tel_sp {
		position: fixed;
		top: 2.6vw;
		right: 16.6vw;
		height: calc(80 / 750 * 100vw);
		width: calc(80 / 750 * 100vw);
		z-index: 10000;
		background: #5d5751;
		border-radius: 2.6vw;
		text-align: center;
	}
	.btn_tel_sp:before {
		display: inline-block;
		transform: scaleX(-1);
		color: #fff;
		font-family: "Font Awesome 5 Free";
		font-size: 95.3%;
		font-weight: 900;
		content: "\f095";
		margin: 2.2vw auto 0;
	}
	.gnav_sp {
		padding: 16vw 0 14vw;
		overflow-y: auto;
		overflow-x: hidden;
		background: rgba(255,255,255,.9);
		color: #333;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 9997;
		height: 100%;
		visibility: hidden;
		opacity: 0;
		width: 86.67%;
		transition: opacity .6s ease, visibility .6s ease;
		line-height: 1.45;
		letter-spacing: .1em;
	}
	.gnav_sp > nav {
		padding: 0vw 3vw 5.3vw;
	}
	.gnav_sp > nav > ul > li {
		opacity: 0;
		transform: translateX(50%);
		transition: transform .6s ease, opacity .2s ease;
		z-index: 7000;
	}
	.gnav_sp > nav > ul > li > a {
		padding: 3vw 0 3.5vw;
		border-bottom: 2px dotted #e6e4e3;
		display: block;
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-flex-wrap: wrap; /* Safari */
		flex-wrap: wrap;
		-ms-align-items: center;
		align-items: center;
		position: relative;
		font-family: kan412typos-std,sans-serif;
		font-weight: 400;
	}
	.gnav_sp > nav > ul > li > a:before {
		content: '';
		width: 6.6vw;
		margin: 1.3vw 3.3vw 0 0;
	}
	.gnav_sp > nav > ul > li:first-child > a,
	.gnav_sp > nav > ul > li:nth-child(5) > a {
		border-top: 2px dotted #e6e4e3;
	}
	.gnav_sp > nav > ul > li:nth-child(1) > a:before {
		content: '';
		background: url(images/index/icn_gnav01.png) no-repeat center top;
		background-size: 100% auto;
		width: 5.3vw;
		height: 6vw;
	}
	.gnav_sp > nav > ul > li:nth-child(2) > a:before {
		content: '';
		background: url(images/index/icn_gnav02.png) no-repeat center top;
		background-size: 100% auto;
		width: 4.8vw;
		height: 6vw;
	}
	.gnav_sp > nav > ul > li:nth-child(3) > a:before {
		content: '';
		background: url(images/index/icn_gnav03.png) no-repeat center top;
		background-size: 100% auto;
		width: 4.8vw;
		height: 4.8vw;
	}
	.gnav_sp > nav > ul > li:nth-child(4) > a:before {
		content: '';
		background: url(images/index/icn_gnav04.png) no-repeat center top;
		background-size: 100% auto;
		width: 4.5vw;
		height: 4.2vw;
	}
	.gnav_sp > nav > ul > li:nth-child(5) > a:before {
		content: '';
		background: url(images/index/icn_gnav05.png) no-repeat center top;
		background-size: 100% auto;
		width: 4.8vw;
		height: 4.6vw;
	}
	.gnav_sp > nav > ul > li:nth-child(6) > a:before {
		content: '';
		background: url(images/index/icn_gnav06.png) no-repeat center top;
		background-size: 100% auto;
		width: 4.5vw;
		height: 4.5vw;
	}
	.open .gnav_sp {
		visibility: visible;
		opacity: 1;
	}
	.open .gnav_sp > nav > ul > li {
		opacity: 1;
		transform: translateX(0);
		transition: transform 1s ease, opacity .9s ease;
	}
	.sub_nav_sp {
		position: relative;
	}
	.gnav_sp > nav > ul > li.sub_nav_sp > a {
		border: none;
	}
	.sub_nav_sp nav {
		background: #a8c374;
		border-radius: 20px;
		width: 100%;
		padding: 1.3vw;
		margin: 0 0 4vw;
	}
	.sub_nav_sp nav ul {
		border: dotted 2px #d2e0b7;
		border-radius: 20px;
		padding: 1.8vw 5.3vw;
	}
	.sub_nav_sp nav li {
		position: relative;
	}
	.sub_nav_sp nav li:before {
		content: '';
		display: inline-block;
		border: 1.3vw solid transparent;
		border-top-width: 1.3vw;
		border-bottom-width: 1.3vw;
		border-left: 1.3vw solid #fff;
		margin: 0 1.5vw 0 0;
		position: relative;
		top: -0.2vw;
	}
	.sub_nav_sp nav a {
		color: #fff;
		font-family: kan412typos-std,sans-serif;
		font-weight: 400;
		line-height: 2.5;
	}
	.gnav_sp .btn_rsv {
		width: 100%;
		margin: 5.3vw auto 0;
	}
}

/* News index_news
------------------------------------------------------------------*/
.index_news {
	padding: 0 0 70px;
}
.index_news .inner {
	max-width: calc(1000px + 10%);
}
.box_index_news {
	border: dotted 2px #dfdddc;
	border-radius: 20px;
	padding: 32px 43px 32px 38px;
}
.ttl_index_news {
	font-family: kan48typos-std,sans-serif;
    font-weight: 400;
	line-height: 1.0;
	margin-bottom: 15px;
	text-align: center;
}
.ttl_index_news .en {
	font-size: 187.5%;
    letter-spacing: .08em;
}
.ttl_index_news .en span {
	color: #64a051;
}
.index_news ul li:not(:first-child) {
	margin-top: 10px;
}
.index_news ul dt {
	color: #96c431;
	font-weight: 700;
	line-height: 1.25;
}
.index_news ul li:nth-child(3n) dt {
	color: #69a4d3;
}
.index_news ul li:nth-child(3n+1) dt {
	color: #c77c86;
}
.index_news ul li:nth-child(3n+2) dt {
	color: #e3df2f;
}
@media only screen and (max-width: 767px) {
	.index_news {
		padding: 10.6vw 0 13.3vw;
	}
	.index_news .inner {
		max-width: 100%;
	}
	.box_index_news {
		padding: 4.2vw 5.7vw 4.2vw 5vw;
	}
	.ttl_index_news {
		margin-bottom: 5.3vw;
	}
	.ttl_index_news .ja {
	    margin: 0 0 0 4vw;
	    vertical-align: super;
	}
	.index_news ul {
		width: 100%;
	}
	.index_news ul li:not(:first-child) {
		margin-top: 5.4vw;
	}
	.index_news ul dt {
		font-size: 87.5%;
		margin-bottom: 1.5vw;
	}
}

/* カレンダー index_calendar
------------------------------------------------------------------*/
.index_calendar {
	padding: 0px 0 80px;
}
.row_index_calendar01 .col {
	width: 48%;
}
.row_index_calendar01 .col iframe {
	width: 100%;
	height: 500px;
}
@media(min-width: 768px) and (max-width:960px) {
	.row_index_calendar01 {
		display: block;
	}
	.row_index_calendar01 .col {
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
	}
	.row_index_calendar01 .col_l {
		margin-bottom: 40px;
	}
}
@media(max-width: 767px) {
	.index_calendar {
		padding: 0 0 10vw;
	}
	.row_index_calendar01 .col {
		width: 100%;
		max-width: 100%;
	}
	.row_index_calendar01 .col_l {
		margin-bottom: 5.5vw;
	}
	.row_index_calendar01 .col iframe {
		height: calc(700 / 750 * 100vw);
	}
}


/* アクセスについて index_access
------------------------------------------------------------------*/
.index_access {
	background: url(images/index/bg_access_index01.png) no-repeat center top;
	background-size: 100% 50px;
	padding: 50px 0 0;
	position: relative;
}
/*.index_access:after {
	content: '';
	background: url(images/index/bgc_pattern01.png);
	width: 100%;
	height: 50px;
	position: absolute;
	top: 0;
	left: 0;
}*/
.area_index_access01 {
	background: url(images/index/bgc_pattern01.png) #efeeed;
}
.area_index_access02 {
	background: url(images/index/bg_access_index02.png) no-repeat 11.7% bottom;
	padding: 70px 0;
}
.index_access .inner {
    max-width: calc(1000px + 10%);
}
.index_access .col_l {
    width: 55%;
}
.index_access .col_r {
    width: 41%;
}
.index_access h2 {
	font-family: kan48typos-std,sans-serif;
    font-weight: 400;
	line-height: 1.0;
	margin-bottom: 28px;
}
.index_access h2 .en {
	font-size: 250%;
    letter-spacing: .08em;
}
.index_access h2 .en:before {
	content: "";
	background: url(images/index/icn_access_index.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 60px;
	height: 37px;
	vertical-align: baseline;
	margin: 0 10px 0 0;
}
.index_access h2 .en span {
	color: #c77c86;
}
.index_access h2 .ja {
	color: #c77c86;
	font-size: 87.5%;
	display: inline-block;
    vertical-align: text-top;
    margin: -5px 0 0 18px;
}
.index_access .timetable {
	max-width: 550px;
}
.index_access .box_timetable {
	border: none;
}
@media only screen and (max-width: 767px) {
	.index_access {
		background-size: 100% 6.6vw;
		padding: 6.5vw 0 0;
	}
	.area_index_access02 {
		background: none;
		padding: 8vw 0 13.3vw;
	}
	.index_access .col_l {
	    width: 100%;
	}
	.index_access .col_r {
	    width: 100%;
	}
	.index_access .col_r img {
	    width: 100%;
	}
	.index_access h2 {
		font-size: 187.5vw
		margin-bottom: 8vw;
		text-align: center;
	}
	.index_access h2 .en {
		font-size: 8vw;
	}
	.index_access h2 .en:before {
		background-size: cover;
	    width: 12vw;
		height: 7.3vw;
		margin: 0 2.6vw 0 0;
	}
	.index_access h2 .ja {
		font-size: 2.9vw;
	    margin: 0 0 0 4vw;
	    vertical-align: super;
	}
	.index_access .timetable {
		max-width: initial;
	}
}

/* index_feature
------------------------------------------------------------------*/
.index_feature {
	padding: 50px 0 80px;
}
.row_index_feature .col {
	width: 50%;
}
.row_index_feature .col_img {
	width: 48.9%;
}
.row_index_feature .col_txt {
	width: 50%;
}
.box_index_feature {
	background: rgba(255, 255, 255, .5);
	border-radius: 20px;
	padding: 0 50px 43px;
	position: relative;
}
.box_index_feature.type01 {
	border: dashed 1px #5a7fae;
	max-width: 700px;
	margin: 0 115px 0 -97px;
	/* max-width: 1000px;
	margin: -70px auto 50px; */
	/*margin: -3.7vw auto 2.7vw;*/
}
.box_index_feature.type02 {
	border: dashed 1px #c77c86;
	max-width: 1000px;
	margin: -70px auto 50px;
	/*margin: -3.7vw auto 2.7vw;*/
}
.box_index_feature.type03 {
	border: dashed 1px #64a051;
	max-width: 700px;
	margin: 0 115px 0 -97px;
}
.box_index_feature.type04 {
	/* border: dashed 1px #69a4d3; */
	border: dashed 1px #c77c86;
	max-width: 700px;
	margin: 0 -100px 0 auto;
}
.box_index_feature:before {
	content: '';
	background: url(images/index/line_feature_index.png) no-repeat center top;
	background-size: cover;
	width: 98px;
	height: 4px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
}
.box_index_feature.type01:after {
	content: "";
	background: url(images/index/icn_feature_index01.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 337px;
	height: 198px;
	position: absolute;
    top: -111px;
    right: -64px;
}
.box_index_feature.type02:after {
	content: "";
	background: url(images/index/icn_feature_index02.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 326px;
	height: 195px;
	position: absolute;
    top: -165px;
    left: 50%;
	transform: translateX(-39%);
}
.box_index_feature.type03:after {
	content: "";
	background: url(images/index/icn_feature_index03.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    /* width: 261px; */
	width: 207px;
	height: 173px;
	position: absolute;
    top: -56px;
    right: -95px;
}
.box_index_feature.type04:after {
	content: "";
	/* background: url(images/index/icn_feature_index04.png) no-repeat left top; */
	background: url(images/index/icn_feature_index02.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    /* width: 446px; */
	width: 205px;
	height: 140px;
	position: absolute;
    top: -90px;
    /* left: -77px; */
	left: -10px;
}
.box_index_feature dt {
	font-family: kan48typos-std,sans-serif;
	font-size: 250%;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .09em;
    text-align: center;
    margin: 41px 0 21px;
}
.box_index_feature.type01 dt {
	color: #5a7fae;
}
.box_index_feature.type02 dt {
	color: #c77c86;
}
.box_index_feature.type03 dt {
	color: #64a051;
}
.box_index_feature.type04 dt {
	/* color: #69a4d3; */
	color: #c77c86;
}
.box_index_feature dt span {
	font-size: 75%;
}
@media only screen and (max-width: 1420px) {
	.box_index_feature.type04 {
		margin: 0 -100px 0 100px;
	}

}
@media only screen and (max-width: 1300px) and (min-width: 768px) {
	.index_feature {
		padding: 2.6vw 0 4.1vw;
	}
	.box_index_feature {
		padding: 0 2.6vw 2.2vw;
	}
	.box_index_feature.type03 {
		margin: 0 6vw 0 -5vw;
	}
	.box_index_feature.type04 {
		margin: 0 -5.2vw 0 5.2vw;
	}
	.box_index_feature:before {
		width: 5.1vw;
		height: 0.2vw;
	}
	.box_index_feature.type01:after {
	    width: 17.5vw;
		height: 10.3vw;
	    top: -5.8vw;
	    right: -3.3vw;
	}
	.box_index_feature.type02:after {
	    width: 17.5vw;
		height: 10.1vw;
	    top: -8.6vw;
		transform: translateX(-39%);
	}
	.box_index_feature.type03:after {
	    width: 13.6vw;
		height: 9vw;
	    top: -2.9vw;
	    right: -4.9vw;
	}
	.box_index_feature.type04:after {
	    width: 14.2vw;
		height: 9.7vw;
	    top: -5.8vw;
	    left: -4vw;
	}
}
/*@media only screen and (max-width: 1170px) {
	.box_index_feature.type01 {
		margin: -70px 75px 50px;
		margin: -3.7vw 75px 2.7vw;
	}
	.box_index_feature.type02 {
		margin: -70px 75px 50px;
		margin: -3.7vw 75px 2.7vw;
	}
}*/
@media only screen and (min-width: 961px) and (max-width: 1100px) {
	.box_index_feature.type01, .box_index_feature.type02 {
		margin: -70px 5% 50px;
	}
}
@media only screen and (min-width: 768px) and (max-width: 960px) {
	.box_index_feature.type01, .box_index_feature.type02 {
		margin: -40px 5% 50px;
	}
	.box_index_feature dt {
		font-size: 170%;
		margin: 20px auto 20px;
	}
}
@media only screen and (max-width: 767px) {
	.index_feature {
		padding: 5.3vw 0 8vw;
	}
	.row_index_feature .col {
		width: 100%;
	}
	.row_index_feature .col_img {
		width: 100%;
	}
	.row_index_feature .col_txt {
		width: 100%;
		margin: 0 auto;
	}
	.box_index_feature {
		width: 93.6vw;
		padding: 0 5.2vw 6.8vw;
	}
	.box_index_feature.type01 {
		margin: -5.3vw auto;
	}
	.box_index_feature.type02 {
		margin: -5.3vw auto;
	}
	.box_index_feature.type03 {
		margin: -5.3vw auto 1.3vw;
	}
	.box_index_feature.type04 {
		margin: -5.3vw auto 0;
	}
	.box_index_feature:before {
		width: 26.1vw;
		height: 1vw;
	}
	.box_index_feature.type01:after {
	    width: 44.9vw;
		height: 26.4vw;
	    /* top: -20.6vw;
	    right: -3.2vw; */
		 top: -3.6vw;
	    right: -3.2vw;
	}
	.box_index_feature.type02:after {
	    width: 43.4vw;
		height: 26vw;
	    top: -20.5vw;
		transform: translateX(-40%);
	}
	.box_index_feature.type03:after {
	    width: 34.8vw;
		/* height: 23vw;
	    top: -17.3vw; */
		height: 29vw;
	    top: -11.3vw;
	    right: 0;
	}
	.box_index_feature.type04:after {
	    /* width: 29.8vw;
		height: 12.4vw;
	    top: -8.4vw; */
		width: 30.8vw;
		height: 21.4vw;
	    top: -6.4vw;
	    left: 0;
	}
	.box_index_feature dt {
		/* font-size: 187.5%; */
		font-size: 157.5%;
	    line-height: 1.25;
	    margin: 6.9vw 0 4.4vw;
	}
	.box_index_feature dt span {
		font-size: 76.6%;
	}
	.box_index_feature dd {
		font-size: 100%;
	}
}

/* 診療案内 index_medical
------------------------------------------------------------------*/
.index_medical {
	background: url(images/index/bgc_pattern02.png);
}
.area_index_medical {
	background: url(images/index/bg_medical_index.png) no-repeat left top;
	background-size: cover;
	padding: 73px 0 100px;
}
.index_medical h2 {
	font-family: kan48typos-std,sans-serif;
    font-weight: 400;
	text-align: center;
	margin-bottom: 60px;
}
.index_medical h2 .en {
	font-size: 312%;
    letter-spacing: .08em;
	vertical-align: middle;
}
.index_medical h2 .en:before {
	content: "";
	background: url(images/index/icn_medical_index01.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 147px;
	height: 62px;
	position: relative;
    top: -5px;
    right: 23px;
}
.index_medical h2 .en:after {
	content: "";
	background: url(images/index/icn_medical_index02.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 146px;
	height: 86px;
	position: relative;
    top: -5px;
    left: 23px;
}
.index_medical h2 .en span {
	color: #a8c374;
}
.index_medical h2 .ja {
	color: #64a051;
	line-height: 1.0;
	display: block;
	margin: -7px 0 0;
}
.list_index_medical li {
	/* width: 31.16%; */
	width: 48.16%;
	text-align: center;
	margin-bottom: 54px;
}
.list_index_medical li:nth-child(1) dt {
	color: #5a7fae;
}
.list_index_medical li:nth-child(2) dt {
	color: #c77c86;
}
.list_index_medical li:nth-child(3) dt {
	color: #64a051;
}
.list_index_medical li:nth-child(4) dt {
	color: #beba0e;
}
.list_index_medical li:nth-child(5) dt {
	color: #a8c374;
}
.list_index_medical li:nth-child(6) dt {
	color: #69a4d3;
}
.list_index_medical li dt .ttl {
	font-size: 187%;
	line-height: 1.0;
	margin: 20px 0 14px;
	display: block;
}
.list_index_medical li dt span.tb_pc {
    display: inline;
}
/* .list_index_medical li dd {
	text-align: left;
} */
.box_index_medical {
	background: url(images/index/bg_online_index.png) no-repeat left top;
	background-size: cover;
	border-radius: 20px;
	text-align: center;
	max-width: 1000px;
	width: 100%;
	padding: 5px;
	margin: auto;
}
.box_index_medical {
	border: dotted 2px #ca848d;
	border-radius: 20px;
	display: block;
	padding: 43px 45px 25px;
}
.box_index_medical dt span {
	color: #c77c86;
	font-family: kan48typos-std,sans-serif;
	font-size: 175%;
    font-weight: 400;
    line-height: 1.0;
    display: block;
	margin: 10px 0 24px;
}
.box_index_medical dd {
	text-align: left;
	margin-bottom: 3px;
	text-shadow: 0 0 5px rgba(255,255,255,0.5),
		0 0 5px rgba(255,255,255,0.5),
		0 0 5px rgba(255,255,255,0.5),
		0 0 5px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 8px rgba(255,255,255,0.5),
		0 0 10px rgba(255,255,255,0.5),
		0 0 10px rgba(255,255,255,0.5),
		0 0 10px rgba(255,255,255,0.5),
		0 0 10px rgba(255,255,255,0.5),
		0 0 15px rgba(255,255,255,0.5),
		0 0 15px rgba(255,255,255,0.5),
		0 0 15px rgba(255,255,255,0.5),
		0 0 15px rgba(255,255,255,0.5),
		0 0 15px rgba(255,255,255,0.5);
}
/* ダイアル */
.box_index_medical.dial {
	background: url("images/index/bg_dial_index.png")no-repeat left 33% top;
	margin-top: 40px;
}
.box_index_medical.dial a {
	border-color: #a8c374;
}
.box_index_medical.dial .btn_tel {
	color: #fff;
	background: #a8c374;
	max-width: 404px;
	margin: 0 auto 23px;
	padding: 14px 0;
	border-radius: 4px;
}
.box_index_medical.dial .btn_tel:before {
	transform: rotate(0);
}
.box_index_medical.dial dt span {
	color: #a8c374;
	margin: 10px 0 35px;
}
.box_index_medical.dial dd {
	text-align: center;
	margin-bottom: 3px;
}

@media only screen and (max-width: 1125px) {
	.box_index_medical .btn_online {
		max-width: 35.9vw;
	}
}
@media only screen and (max-width: 767px) {
	.area_index_medical {
		background: none;
		padding: 13.3vw 0;
	}
	.index_medical h2 {
		margin-bottom: 8vw;
	}
	.index_medical h2 .en {
		font-size: 8vw;
		/* font-size: 10vw; */
	}
	.index_medical h2 .en:before {
		background: url(images/index/icn_medical_index01_sp.png) no-repeat left top;
	    background-size: 100% auto;
	    width: 17.6vw;
		height: 12.6vw;
	}
	.index_medical h2 .en:after {
		background: url(images/index/icn_medical_index02_sp.png) no-repeat left top;
	    background-size: 100% auto;
	    width: 17.6vw;
		height: 17.3vw;
	}
	.index_medical h2 .ja {
		font-size: 75%;
	}
	.list_index_medical li {
		width: 44.4%;
		margin-bottom: 8.5vw;
	}
	.list_index_medical li dt .ttl {
		font-size: 125%;
		line-height: 1.25;
		margin: 4vw 0 3.2vw;
	}
	.list_index_medical li dd {
		font-size: 87.5%;
		text-align: left;
	}
	.box_index_medical {
		background: url(images/index/bg_online_index_sp.png) #fff no-repeat left top;
		background-size: 100% auto;
	}
	.box_index_medical a {
		padding: 6.2vw 3.7vw 6.4vw;
	}
	.box_index_medical dt span {
		margin: 2.6vw 0 5vw;
	}
	.list_index_medical li dt span.tb_pc {
	    display: none;
	}
	.box_index_medical dd {
		margin-bottom: 6.8vw;
	}
	.box_index_medical .btn_online {
		letter-spacing: 0;
		padding: 3.7vw 5.0vw;
		max-width: initial;
	}
	.box_index_medical .btn_online:before {
	    width: 24vw;
		height: 5vw;
		margin: 0 4vw 0 0;
		position: relative;
		top: -3px;
	}
	.box_index_medical .btn_online:after {
		font-size: 100%;
		margin: 1.8vw 0 0 3.2vw;
    	vertical-align: top;
	}
	.box_index_medical.dial {
		background: url("images/index/bg_dial_index_sp.png")no-repeat left top/cover;
		margin-top: 5vw;
	}
	.box_index_medical.dial dt span {
		line-height: 1.2;
		letter-spacing: 0.1em;
		margin: 3vw 0 7vw;
	}
	.box_index_medical.dial .btn_tel {
		margin-bottom: 5vw;
	}
	.box_index_medical.dial dd {
		text-align: left;
	}
}

/* ご挨拶 index_message
------------------------------------------------------------------*/
.index_message {
	background: url(images/index/bg_message_index.png) no-repeat center top;
	background-size: cover;
	padding: 55px 0 110px;
}
.index_message .inner {
	overflow: hidden;
}
.area_index_message {
	max-width: 900px;
	float: right;
}
.index_message h2 {
	font-family: kan48typos-std,sans-serif;
    font-weight: 400;
	position: relative;
	left: -68px;
	bottom: -15px;
}
.index_message h2 .en {
	font-size: 312%;
    letter-spacing: .08em;
	vertical-align: middle;
}
.index_message h2 .en:before {
	content: "";
	background: url(images/index/icn_message_index.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 100px;
	height: 143px;
	position: relative;
    top: -6px;
    right: 0;
}
.index_message h2 .en span {
	color: #e3df2f;
    text-shadow: 2px 2px 0 #faf7db,
               -2px 2px 0 #faf7db,
               2px -2px 0 #faf7db,
               -2px -2px 0 #faf7db;
	margin: 0 0 0 -36px;
	position: relative;
	z-index: 10;
}
.index_message h2 .ja {
	color: #e3df2f;
	font-size: 125%;
	line-height: 1.0;
    vertical-align: middle;
	display: inline-block;
    margin: 45px 0 0 15px;
}
.txt_index_message {
	margin-bottom: 40px;
}
.index_message li {
	font-family: kan48typos-std,sans-serif;
    font-weight: 400;
}
.index_message li .ja {
    font-size: 125%;
    margin: 0 10px 0 0;
}
.index_message li .ja:before {
	content: "";
	background: url(images/index/icn_gnav06.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 16px;
	height: 16px;
    margin: 0 10px 0 0;
}
.index_message li:nth-child(2) .ja:before {
	background: url(images/index/icn_gnav03.png) no-repeat left top;
	background-size: cover;
}
.index_message li .en {
    font-size: 75%;
    vertical-align: text-top;
}
.index_message li:nth-child(1) .en {
    color: #5a7fae;
    margin: 0 20px 0 0;
}
.index_message li:nth-child(2) .en {
    color: #c77c86;
}
@media only screen and (max-width: 767px) {
	.index_message {
		background: url(images/index/bg_message_index_sp.jpg) #fefaee no-repeat left top;
		background-size: 100% auto;
		padding: 0 0 13.3vw;
	}
	.area_index_message {
		float: none;
	}
	.index_message h2 {
		position: static;
		text-align: center;
		padding: 6.6vw 0 0;
	}
	.index_message h2 .en {
		font-size: 237.5%;
	}
	.index_message h2 .en:before {
	    width: 13.3vw;
		height: 19vw;
	    right: 20px;
	    vertical-align: middle;
	}
	.index_message h2 .ja {
		font-size: 93.75%;
	    margin: 3.8vw 0 0 2.6vw;
	}
	.txt_index_message {
		line-height: 1.56;
		margin-bottom: 6.8vw;
	}
	.index_message li {
		width: 100%;
		text-align: center;
	}
	.index_message li .ja {
	    font-size: 106%;
	    margin: 0 3.3vw 0 0;
	    vertical-align: middle;
	}
	.index_message li .ja:before {
		background-size: 100% auto;
	    width: 4.2vw;
		height: 4.8vw;
	    margin: 0 2.6vw 0 0;
	}
	.index_message li:nth-child(2) .ja:before {
		background: url(images/index/icn_gnav03.png) no-repeat left top;
		background-size: 100% auto;
	}
	.index_message li .en {
	    font-size: 62.5%;
	    vertical-align: middle;
	    position: relative;
    	top: 0.7vw;
	}
	.index_message li:nth-child(1) .en {
	    margin: 0;
	}
}

/* SNS index_sns
------------------------------------------------------------------*/
.index_sns {
    padding: 60px 0 100px;
}
.btn_index_sns01,
.btn_index_sns02 {
    width: 48.3%;
    max-width: 580px;
    max-height: 160px;
    border-radius: 4px;
	color: #fff;
	padding: 5px;
	display: block;
}
.btn_index_sns01 {
    background: url(images/index/bg_facebook_index.png) no-repeat;
    background-size: cover;
}
.btn_index_sns02 {
    background: url(images/index/bg_twitter_index.png) no-repeat;
    background-size: cover;
}
.btn_index_sns01 span,
.btn_index_sns02 span {
	border: dotted 2px #fff;
	border-radius: 4px;
	font-family: kan412typos-std,sans-serif;
	font-size: 	150%;
	font-weight: 400;
    letter-spacing: .09em;
	text-align: center;
	padding: 52px 0;
	display: block;
}
.btn_index_sns01 span:before,
.btn_index_sns02 span:before {
	content: "";
    display: inline-block;
    width: 32px;
	height: 32px;
	margin: 0 10px 0 0;
	vertical-align: sub;
}
.btn_index_sns01 span:before {
	background: url(images/index/icn_facebook_index.png) no-repeat left top;
	background-size: cover;
}
.btn_index_sns02 span:before {
	background: url(images/index/icn_twitter_index.png) no-repeat left top;
	background-size: cover;
}
.btn_index_sns01 span:after,
.btn_index_sns02 span:after {
	font-family: "Font Awesome 5 Free";
	font-size: 50%;
	font-weight: 900;
	content: "\f35a";
	color: #fff;
    display: inline-block;
	margin: -5px 0 0 10px;
	vertical-align: middle;
}
.unit_index_sns {
   margin: 100px auto 0;
}
.ttl_index_sns {
	font-family: kan48typos-std,sans-serif;
	font-size: 	187.5%;
	font-weight: 600;
    letter-spacing: .09em;
	text-align: center;
	vertical-align: middle;
	display: block;
	margin-bottom: 20px;
}
.ttl_index_sns span {
	color: #a8c374;
}
.ttl_index_sns:before {
	content: "";
	background: url(images/index/icn_instagram_index01.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 106px;
	height: 79px;
	position: relative;
    top: -20px;
    right: 25px;
}
.ttl_index_sns:after {
	content: "";
	background: url(images/index/icn_instagram_index02.png) no-repeat left top;
	background-size: cover;
    display: inline-block;
    width: 56px;
	height: 56px;
	position: relative;
    top: -9px;
    left: 25px;
}
.row_index_sns .tb_pc {
	width: 100%;
	overflow: hidden;
}
.row_index_sns .tb_pc .bx-viewport {
	overflow: visible!important;
}
.row_index_sns .tb_pc .bx-wrapper {
	box-shadow: none;
	border: none;
	margin-bottom: 0;
}
.row_index_sns .tb_pc #sb_instagram{
	max-width: 100%!important;
	width:100%!important;
}
.row_index_sns .tb_pc .sbi_item {
	width: 250px!important;
}
.row_index_sns .tb_pc #sb_instagram #sbi_images .sbi_item {
	margin: 0 15px!important;
}
.row_index_sns .tb_pc .sbi_photo {
	height: 250px!important;
}
@media only screen and (max-width: 767px) {
	.index_sns {
	    padding: 8vw 0 13.3vw;
	}
	.btn_index_sns01,
	.btn_index_sns02 {
		background-size: 100% auto;
		width: 77.3vw;
		/*height: 21.3vw;*/
		margin: auto;
		text-align: center;
	}
	.btn_index_sns01 {
		margin: 0 auto 5.3vw;
	}
	.btn_index_sns01 span,
	.btn_index_sns02 span {
		font-size: 	112.5%;
		padding: 5vw 0;
	}
	.btn_index_sns01 span:before,
	.btn_index_sns02 span:before {
		background-size: 100% auto;
	    width: 6vw;
		height: 6vw;
		margin: 0 2vw 0 0;
	}
	.btn_index_sns01 span:after,
	.btn_index_sns02 span:after {
		margin: -0.6vw 0 0 2vw;
	}
	.unit_index_sns {
		margin: 10.7vw auto 0;
	}
	.ttl_index_sns {
		font-size: 	113.7%;
		position: relative;
    	left: -4.5vw;
		margin-bottom: 2vw;
	}
	.ttl_index_sns:before {
		background-size: 100% auto;
	    width: 21.2vw;
		height: 15.8vw;
		position: relative;
	    top: -2.6vw;
	    right: 4vw;
	}
	.ttl_index_sns:after {
		background-size: 100% auto;
	    width: 10.9vw;
		height: 10.9vw;
		position: relative;
	    top: -1.2vw;
	    left: 6vw;
	}
	.row_index_sns .sp_only {
		width: 100%;
		padding: 0 1.6vw;
	}
	.row_index_sns .sp_only #sb_instagram #sbi_images .sbi_item {
		padding: 1.6vw!important;
	}
}

/* 採用情報 index_recruit
------------------------------------------------------------------*/
.index_recruit {
	background: url(images/index/bgc_pattern01.png);
}
.area_index_recruit {
	background: url(images/index/bg_recruit_index.png) no-repeat center top;
	background-size: auto 100%;
	padding: 80px 0;
	text-align: left;
}
.index_recruit .inner {
	overflow: hidden;
}
.unit_index_recruit {
	max-width: 520px;
	float: right;
	margin-left: 54.3%;
}
.txt_index_recruit {
	margin: 24px 0;
}
.btn_index_recruit {
	background: #a8c374;
	border-radius: 4px;
	color: #fff;
	width: 180px;
	padding: 5px;
	display: block;
}
.btn_index_recruit span {
	border: dotted 2px #d4e1ba;
	border-radius: 4px;
	font-family: kan48typos-std,sans-serif;
	font-size: 	87.5%;
    font-weight: 400;
	text-align: center;
	padding: 5px 0 7px;
	display: block;
}
@media only screen and (max-width: 767px) {
	.index_recruit {
		background: url(images/index/bgc_pattern01.png);
	}
	.area_index_recruit {
		background: url(images/index/bg_recruit_index_sp.png) no-repeat left bottom;
		background-size: 100% auto;
		padding: 6.1vw 0 74.8vw;
		position: relative;
	}
	.unit_index_recruit {
		float: none;
		margin-left: 0;
	}
	.txt_index_recruit {
		margin: 6.8vw 0 0;
	}
	.btn_index_recruit {
		width: 36vw;
		position: absolute;
		top: 10.4vw;
		right: 3.2vw;
	}
	.btn_index_recruit span {
		font-size: 	68.7%;
		padding: 1.0vw 0 1.2vw;
	}

}

.index_tbl_charge{padding: 0px 0 80px;}
.tbl_charge01 {
	max-width: 580px;
	width: 48%;
}
.tbl_charge01 table{
	width: 100%;
	text-align: center;
}
.tbl_charge01 thead th{
	padding: 5.5px 0;
	font-family: kan412typos-std,sans-serif;
	font-size: 137.5%;
	color: #fff;
}
.tbl_charge01 tbody th{font-weight: normal;}
.tbl_charge01 tbody .th01{
	padding: 5.5px 0;
	color: #fff;
}
.tbl_charge01 tbody .th02,
.tbl_charge01 tbody td
{
	vertical-align: middle;
	height: 70px;
}
.tbl_cap_charge01{margin-top: 10px;}

.tbl_charge01.color01 table {border: 1px solid #6396bf;}
.tbl_charge01.color01 thead {background: #6396bf;}
.tbl_charge01.color01 tbody .th01{background: #82abcc;}
.tbl_charge01.color01 tbody .th02{color: #6396bf;}
.tbl_charge01.color01 tbody .th01:not(:first-child),
.tbl_charge01.color01 tbody td
{border-left: 1px solid #6396bf;}
.tbl_charge01.color01 tbody tr:last-child th,
.tbl_charge01.color01 tbody tr:last-child td
{border-top: 1px solid #6396bf;}


.tbl_charge01.color02 table {border: 1px solid #c77c86;}
.tbl_charge01.color02 thead {background: #c77c86;}
.tbl_charge01.color02 tbody .th01{background: #d2969e;}
.tbl_charge01.color02 tbody .th02{color: #c77c86;}
.tbl_charge01.color02 tbody .th01:not(:first-child),
.tbl_charge01.color02 tbody td
{border-left: 1px solid #c77c86;}
.tbl_charge01.color02 tbody tr:last-child th,
.tbl_charge01.color02 tbody tr:last-child td
{border-top: 1px solid #c77c86;}
@media(min-width: 961px) and (max-width: 1024px) {
	.tbl_charge01 table{font-size: 92.5%;}
}
@media(min-width: 768px) and (max-width:960px) {
	.tbl_charge01 {
		width: 100%;
		margin: 0 auto 45px;
	}
	.tbl_charge01:last-child{margin-bottom: 0;}
}
@media(max-width: 767px) {
	.index_tbl_charge{padding: 0 0 10vw;}
	.tbl_charge01 {
		width: 100%;
		font-size: calc(20 / 750 * 100vw);
		margin: 0 auto calc(25 / 750 * 100vw);
	}
	.tbl_charge01:last-child{margin-bottom: 0;}

	.tbl_charge01 thead th{
		padding: 5.5px 0;
		font-size: calc(22 / 750 * 100vw);
	}
	.tbl_charge01 tbody .th01{
		padding: 5.5px 0;
	}
	.tbl_charge01 tbody .th02,
	.tbl_charge01 tbody td
	{height: calc(85 / 750 * 100vw);}
	.tbl_cap_charge01{margin-top: 10px;}


}
/* フッター footer
------------------------------------------------------------------*/
.main_foot {
	border-top: solid 2px #e3df2f;
	padding: 80px 0 75px;
}
.main_foot .inner {
    max-width: calc(1000px + 10%);
}
.address_foot {
	color: #666464;
	font-size: 87.5%;
	letter-spacing: 0.09em;
	margin: 5px 0 35px;
}
.unit_foot01 {
	width: 40%;
}
.unit_foot02 {
	width: 55%;
	margin-top: 7px;
}
.contact_foot {
	margin-bottom: 20px;
}
.contact_foot li:first-child {
	margin-right: 18px;
}
.sns_foot {
	width: 130px;
	margin: 30px auto 20px;
}
.copyright {
	font-size: 75%;
	text-align: center;
	margin-bottom: 25px;
}
.pagetop {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 1000;
}
@media only screen and (max-width: 767px) {
	.main_foot {
		padding: 10.6vw 0 13.3vw;
	}
	.address_foot {
		font-size: 100%;
		letter-spacing: 0;
		margin: 4vw 0 4.6vw;
	}
	.unit_foot01 {
		width: 100%;
		text-align: center;
	}
	.unit_foot01 img {
		width: 80vw;
		height: 21.8vw;
	}
	.unit_foot02 {
		width: 100%;
	}
	.contact_foot {
		margin-bottom: 8vw;
	}
	/* .contact_foot li:first-child {
		background: #efeeed;
		border-radius: 8px;
		width: 93.6vw;
		padding: 5.3vw 0;
		text-align: center;
		margin: 0 0 2.6vw;
	} */
	 .contact_foot li {
		background: #efeeed;
		border-radius: 8px;
		width: 93.6vw;
		padding: 5.3vw 0;
		text-align: center;
		margin: 0 0 2.6vw;
	}
	.sns_foot {
		width: 32vw;
		margin: 5.3vw auto 2.6vw;
	}
	.sns_foot img {
		width: 8vw;
		height: 8vw;
	}
	.copyright {
		margin-bottom: 4vw;
	}
	.pagetop {
	    width: 20vw;
	    height: 17.6vw;
	    position: fixed;
	    right: 3.2vw;
	    bottom: 3.2vw;
	}
	li.btn_fax {
        margin-right: 18px;
	}
}

/* ※パーフェクトスクロールバー用基本css ここからデザインに合わせて適宜変更してください */
.index_news ul {
	overflow: hidden;
	position: relative;
	padding-right: 30px;
	max-height: 240px;
	height: auto;
}
.index_news li dd a {
	color: #5a7fae; /* コーダーさんへに記載されている★標準テキスト：リンク色に変更*/
}
/* パーフェクトスクロールバー */
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
	background: #64a051 !important;
	right: 0px !important;
	width: 4px !important;
}
.ps-container > .ps-scrollbar-y-rail {
	background: #e5e5e5 !important;
	right: 0px !important;
	width: 4px !important;
	opacity: 1;
}
.ps-container:hover>.ps-scrollbar-y-rail {
	opacity: 1;
}
@media(min-width: 768px) and (max-width:960px) {}

@media(max-width: 767px) {
	.index_news ul {
		padding-right: 8vw;
		max-height: 66.6vw;
	}
}
.inv-recaptcha-holder{
display: none;
}

/* 「機能強化加算」のお知らせ row_index_list01
------------------------------------------------------------------*/
.box_index_list01 .row_index_list01 .col{
	width: 100%;
}
@media(min-width: 768px) and (max-width:960px) {
	
}
@media(max-width: 767px) {
	
}
/* ドクターズファイルのバナー row_index_bnr01
------------------------------------------------------------------*/
.row_index_bnr01 .bnr01,.row_index_bnr01 .bnr02{
	width: 48%;
}
@media(min-width: 768px) and (max-width:960px) {
	
}
@media(max-width: 767px) {
	.row_index_bnr01 .bnr01,.row_index_bnr01 .bnr02{
		width: 100%;
	}
	.row_index_bnr01 .bnr01{
		margin-bottom: 6vw;
	}
}
.grecaptcha-badge { visibility: hidden; }