@charset "utf-8";
/*====================================================
　　LP専用
====================================================*/

/*■■■■■■■■■■■■■■■■■■■■■■■
 Reset
■■■■■■■■■■■■■■■■■■■■■■■■ */

address, caption, cite, code, dfn, em, i, th, strong, var { font-style: normal; }
blockquote, dd, div, dl, dt, h1, h2, h3, h4, h5, h6, li, ol, p, pre, span, td, th, ul {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 { font-weight: normal; }
ol, ul { list-style:none; }
q:before, q:after {
	content:'';
}
article, aside, canvas, details, figcaption, figure, header, footer, hgroup, menu, nav, section, summary, main { display: block; }
article, aside, footer, header, hgroup, nav, section, main { position: relative; }
html { width: 100%; font-size: 100%; }


/*■■■■■■■■■■■■■■■■■■■■■■■
 共通
 ■■■■■■■■■■■■■■■■■■■■■■■■ */

html{
	margin: 0;
	padding: 0;
	position: relative;
	overflow-x: hidden;
	overflow-y: scroll;
	height: 100%;
	background: transparent !important;
}

body {
	background: #fff;
	position: relative;
	margin: 0;
	padding: 0;
	min-width: 320px;
	height: 100%;
	font-size: 16px;
	line-height: 1.7;
	color: #646464;
	word-wrap: break-word;
	overflow-wrap: break-word;
	text-align: justify;
	text-justify: inter-ideograph;
	font-family: BlinkMacSystemFont, "Helvetica Neue", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
}

a {
	text-decoration: none;
	color: #0071bc;
	-webkit-transition: all .5s linear;
	-moz-transition: all .5s linear;
	-o-transition: all .5s linear;
	transition: all .5s linear;
}

a:hover {
	text-decoration: underline;
	all: #40a1ec;
	-webkit-transition: all .2s linear;
	-moz-transition: all .2s linear;
	-o-transition: all .2s linear;
	transition: all .2s linear;
}

a:hover img,
input[type="image"]:hover {
	filter: Alpha(opacity=70);
	opacity: .7;
	-webkit-transition: all .2s linear;
	-moz-transition: all .2s linear;
	-o-transition: all .2s linear;
	transition: all .2s linear;
}

a img,
input[type="image"] {
	filter:;
	opacity: 1;
	-webkit-transition: all .5s linear;
	-moz-transition: all .5s linear;
	-o-transition: all .5s linear;
	transition: all .5s linear;
}

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: top; max-width: 100%; height: auto; }

form {
	margin: 0;
	padding: 0;
}

input[type="checkbox"],
input[type="radio"] {
	/* vertical-align: middle; */
	vertical-align: 0;
}

input[type="submit"], input[type="button"], input[type="text"] {
    -webkit-appearance: none;
}
.mincho{
	font-family: "ヒラギノ明朝 Pro W4", "Hiragino Mincho Pro", "HGS明朝B", "MingLiU", "SimSun", "ＭＳ Ｐ明朝", serif !important;
}

.times{
	font-family: Times, "Times New Roman", serif !important;
}

.pc {
	display: none;
}
.googlemap {
	position: relative;
	width: 100%;
	margin: 0;
	height: 0;
	padding-top: 56.25%;
	margin-bottom: 30px;
	border: solid 1px #666;
}
 .googlemap a {
	display: block;
	height: 100%;
}
 .googlemap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
.oh {
	overflow: hidden;
}

@media only screen and (min-width: 700px){

	.smt {
		display: none;
	}
	.pc {
		display: block;
	}
	.googlemap iframe {
		pointer-events: none;
	}
}


/* ■■■■■■ ヘッダー ■■■■■■ */
h1 {
	background-color: #ff7daf;
	color: #fff;
	text-align: center;
	padding: 0.5em 1em;
    font-size: 3.6vw;
}
header .in {
	padding: 4% 1%;
	text-align: center;
}
header .logo {
	width: 80%;
	max-width: 400px;
}
header .in div {
	display: table;
	table-layout: fixed;
	width: 100%;
	box-sizing: border-box;
	border-spacing: 10px;
}
header .in div p {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	line-height: 1.4;
}
header .in div p.tel {
	width: 65%;
}
header .in div p.tel span {
	display: block;
	text-align: center;
}
header .in div p.tel span.phone-number {
	font-weight: 600;
	font-size: 6.4vw;
}
header .in div p.tel span.phone-number::before {
	content: "\260e";
}
.phone-number a {
	color: inherit;
	font-family: BlinkMacSystemFont, "Helvetica Neue", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
}
header .in div p.tel span:last-child {
	font-size: 3.4vw;
}

header .in div p.head-btn {
	width: 35%;
	position: relative;
}
header .in div p.head-btn::before {
	content: '\25b6';
	color: #FFD989;
	position: absolute;
	left: 0.5em;
	top: 35%;
	font-size: 3.0vw;
}
header .in div p.head-btn a {
	display: block;
	background: #ff7daf;
	border-radius: 10.0em;
	color: #fff;
	text-align: center;
	padding: 5%;
	font-size: 3.0vw;
}
header .in div p.head-btn a:hover {
	background-color: #F7488F;
	text-decoration: none;
}

@media only screen and (min-width: 700px){

	h1 {
		font-size: 1.4vw;
	}
	header {
		/*background-color: rgba(255,255,255,.4);
		z-index: 2;*/
		background: #fff;
	}
	header .in {
		display: table;
		text-align: left;
		padding: 10px 0;
		height: 100px;
		max-width: 1000px;
		margin-right: auto;
		margin-left: auto;
	}
	header .logo {
		width: 32%;
		margin-right: 8%;
	}
	header .in div {
		width: 60%;
		float: right;
		border-spacing: 0;
	}
	header .in div p.tel span {
		text-align: left;
	}
	header .in div p.tel span.phone-number{
		font-size: 3.0vw;
	}
	header .in div p.tel span:last-child {
		font-size: 1.3vw;
	}
	header .in div p.tel,
	header .in div p.head-btn {
		width: 50%;
		position: relative;
	}
	header .in div p.head-btn a {
		border-radius: 3rem;
		font-size: 2.0vw;
	}
	header .in div p.head-btn::before {
		display: inline-block;
		color: #FFD989;
		position: absolute;
		left: 20px;
		top: 26%;
		font-size: 2.0vw;
	}
}

@media only screen and (min-width: 1200px){

	h1 {
		font-size: 16px;
	}
	header .in div p.tel span.phone-number{
		font-size: 30px;
	}
	header .in div p.tel span:last-child {
		font-size: 14px;
	}
	header .in div p.head-btn a {
		font-size: 24px;
	}
	header .in div p.head-btn::before {
		font-size: 24px;
	}
}

/* ■■■■■■ フッター ■■■■■■ */
footer{
	background: #ff7daf;
	color: #fff;
	text-align: center;
	padding : 0.5em;
	font-size: 3.0vw;
}

@media only screen and (min-width: 700px){

	footer{
		font-size: 12px;
	}

}


/* ■■■■■■ メインコンテンツ ■■■■■■ */

main {
	padding: 0;
}
main section {
	margin: 0;
}
main section .in {
	padding: 4%;
	color: #333;
	font-size: 3.6vw;
}
main .main-visual {
}
main section h2 {
	display: none;
}
main section h3 {
	display: block;
	background: #02a784;
	color: #fff;
	text-align: center;
	padding: 0.5em 0;
	font-weight: 600;
	font-size: 6.2vw;
	line-height: 1.3;
}
main section h3 small {
	font-size: 80%;
	display: inline-block;
	border: 1px solid #fff;
	padding: 0 5px;
	margin-left: 10px;
	line-height: 1.4em;
}

main section h4 {
	padding: 10px;
font-size:18px;
	line-height: 28px;
	margin-bottom: 40px;
	font-weight:bold;
}

h4.conclusion {
	text-align: center;
	border: 1px solid #E71F19;
	padding: 10px 0;
}

div.reason_box {
	margin: 10px 0 40px 0;
	padding: 0 10px;
}

div.reason_box p {
	margin-bottom: 30px;
}

p strong {
	display: block;
	text-align: center;
	background: #eeeeee;
	color: #01a684;
	padding: 10px 0;
	margin: 10px 0 10px 0;
	font-size: 20px;
}

main section .in dl {
	display: block;
	margin: 1.0em auto;
}
main section .in dl dt b {
	font-weight: 600;
	color: #FF870F;
}
main section .in dl dt {
	padding: 1.0em 0 2.0em;
}
main section .in dl dd p {
	padding: 0.5em 0;
}


main section h5 {
	font-size:22px;
	line-height: 30px;
	margin-bottom: 40px;
	font-weight:bold;
	padding: 10px;
}


div.table_box {
	padding: 0 10px;
}

table.schedule {
    border-collapse: collapse;
	width: 100%;
}

table.schedule th, td {
	border-bottom: 1px solid #02a784;
		padding: 1em 0;
		line-height: 1.4;
		font-weight: normal;
}

table.schedule th {

	width: 40%;

}

table.schedule td {

	width: 60%;

}

table.entry {
    border-collapse: collapse;
	width: 100%;
}

table.entry th, td {
	border-bottom: 1px solid #02a784;
		padding: 1em 0;
		line-height: 1.4;
}

table.entry th {
	color: #02a784;
	width: 40%;

}

table.entry td {
	width: 60%;
	word-break: break-all;
}

div.contact_box {
	text-align: center;
	padding: 0 10px;
	    margin-top: 40px;
}

div.contact_box a {
	margin: 0 auto;
	display: block;
	background: #ff7daf;
	border-radius: 2em;
	width: 16em;
	color: #fff;
	padding: 1em 0;
	font-size: 18px;
	font-weight: bold;
}

div.contact_box a:hover {
	background-color: #F7488F;
	text-decoration: none;
}


.contact_tel {
    border: solid 2px #02a784;
    text-align: center;
    font-size: 16px;
    margin-top: 20px;
	margin-bottom: 100px;
}


.contact_tel p span {
	color: #02a784;
font-size: 28px;
    font-weight: bold;
}

.contact_tel p {
    padding: 2%;
}
.contact_tel p:first-child {
    border-bottom: solid 1px #02a784;
}

span.red {
	color:#E71F19;
}

.wrapper {
	position: relative;
	width: 100%;
	margin-top: 10px;
}

.wrapper:before {
	content:"";
	display: block;
	padding-top: 56.25%; /* ｹ筅ｵ､ﾈﾉ�､ﾎﾈ讀�16:9､ﾋｸﾇﾄ遙｣9/16*100=56.25 */
}

.content_map {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.end {
	padding: 1em;
	background: #E71F19;
	color: #fff;
	text-align: center;
	margin-bottom: 30px;
	font-weight: bold;
}

footer {
    margin-top: 50px;
}

@media only screen and (min-width: 700px){

	main {
	}
	main section {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	main section .in {
		padding: 10px 0;
		margin: 0 auto;
		width: 68%;
		max-width: 960px;
		font-size: 1.0vw;
	}
	main .main-visual {
		display: block;
		background: #FFF6F4;
		margin-bottom: 20px;
	}
	main .main-visual img {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	main section h3 {
		padding: 0.1em 0;
		font-size: 2.4vw;
	}
	main section h3 span {
		display: block;
		margin: 0 auto;
		max-width: 960px;
		text-align: center;
		padding: 0.5em 0;
	}
	main section .in dl {
		display: table;
		width: 100%;
		margin: 1.0em auto;
	}
	main section .in dl dt {
		display: table-cell;
		width: 65%;
		padding: 0 5% 0 0;
		vertical-align: middle;
	}
	main section .in dl dd {
		display: table-cell;
		width: 30%;
		vertical-align: middle;
	}

main section h4 {
	font-size:22px;
	line-height: 38px;
	margin-bottom: 40px;
	font-weight:bold;
	padding: 0;

}

main section h5 {
	font-size:32px;
	line-height: 44px;
	margin-bottom: 60px;
	font-weight:bold;
	padding: 20px;
}

div.table_box {
	padding: 0 20px;
}


table.schedule th {
	width: 20%;

}

table.schedule td {

	width: 80%;

}


table.entry th {
	width: 20%;

}

table.entry td {
	width: 80%;
}

div.contact_box {
	padding: 0 20px;
	margin-top: 60px;
}

div.contact_box a {
	font-size: 32px;
	line-height: 1.0;
}

.contact_tel {
	margin-bottom: 100px;
}

.contact_tel p span {
	font-size: 48px;
	line-height: 1.0;
}


footer {
    margin-top: 100px;
}

}

@media only screen and (min-width: 1040px){

	main section .in {
		font-size: 14px;
	}
	main section h3 {
		font-size: 32px;
	}

}

@media only screen and (min-width: 1400px){
	
	
}

/**/
.place-list {
	overflow: hidden;
	margin-bottom: 30px;
}
.place-list>li {
	width: 22%;
	float: left;
	margin-left: 4%;
	text-align: center;
	cursor: pointer;
	color: #02a784;
  -webkit-box-shadow:0px 0px 0px 1px #02a784 inset;
  -moz-box-shadow:0px 0px 0px 1px #02a784 inset;
  box-shadow:0px 0px 0px 1px #02a784 inset;
  line-height: 1.2;
    padding: 1em 0;
}

.place-list>li.active{
	background: #02a784;
	color: #fff;
}

.place-list>li:hover {
	background: #02a784;
	color: #fff;
}

.place-list>li:nth-child(4n + 1) {
	clear: both;
	margin-left: 0;
}
.switch-wp {
	display: none;
}
.switch-wp.active {
	display: block;
}

@media screen and (max-width:799px) {
	.place-list>li {
		width: 48%;
		margin-left: 4%;
	}

	.place-list>li:nth-child(2n + 1) {
		clear: both;
		margin-left: 0;
	}

	.place-list>li:nth-child(n + 3) {
		margin-top: 2%;
	}

}

/* global */
.lead {
	font-size: 1.2rem;
}
.sect-1 {
	margin-top: 3%;
}
.h-1 {
	font-size: 1.7rem;
	padding: 0.4em;
	background: #3C8CC8;
	color: #fff;
	margin-bottom: 2%;
}

/*local*/
.border-wp {
	border: 2px solid #3C8CC8;
}

/*util*/
.fs-1 {
	font-size: 1.5rem !important;
}
.fs-2 {
	font-size: 2rem !important;
}
.tc {
	text-align: center !important;
}
.mt-1 {
	margin-top: 2% !important;
}
.pd-1 {
	padding: 2% !important;
}
.px-1 {
	padding-left: 3%;
	padding-right: 3%;
}
.mw-1 {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.blue {
	color: #3C8CC8 !important;
}