﻿@charset "utf-8";



/*

base

*/

*{box-sizing: border-box;}
html {font-size: 62.5%;}
@media screen and (max-width:768px) {
html {font-size: 51.5%;}
}
@media screen and (max-width:639px) {
html {font-size: 44.5%;}
}

body {
 width: 100%;
font-family:"ヒラギノ丸ゴ Pro W4" , "Hiragino Maru Gothic Pro" ,"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";

/*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;*/
 font-size: 1.4rem;
 color: #333333;
}

img {
	width: 100%;
	vertical-align: bottom;
}

a{
 color: #333333;
 text-decoration: none;
}
a:hover {
	opacity: .6;
	cursor: pointer;
}

.text {
	line-height: 1.9;
}
.description {
	line-height: 1.6;
}

#pagetop {
	position: fixed;
	bottom: 20px;
	right: 15px;
	width:48px;
	z-index: 101;
}

@media screen and (max-width:768px) {
br {display: none;}
}
/*

common-layout

*/

section {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto 30px;
	padding: 0 20px;
	overflow: hidden;
}
.inner {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

.block01_side {
	float: left;
	width: 16.666%;
}
.block01 {
	float: left;
	width: 83.334%;
}
.block02_side {
	float: left;
	width: 9.091%;
}
.block02 {
	float: left;
	width: 90.909%;
}
@media screen and (max-width:639px) {
.block01_side,
.block01,
.block02_side,
.block02 {
	float: none;
	width: 100%;
}
.block01_side,
.block02_side {
	margin-bottom: 40px;
}
}


h3 {
	margin-bottom: 25px;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.8;
	letter-spacing: .03rem;
}

h2.style01 {
	font-size: 1.5rem;
}
h2.style01::after {
	display: block;
	content: url(../images/black_line.png);
	margin: 5px 0 15px -1px;
}
h2.style02 {
	font-size: 1.5rem;
}
h2.style02::after {
	display: block;
	content: url(../images/white_line.png);
	margin: 5px 0 15px -1px;
}



/*

header

*/
header {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto 20px;
	padding: 0 20px;
	overflow: hidden;
}
header .maintitle {
	float: left;
	width: 50%;
	overflow: hidden;
}
header h1 {
	width: 70%;
	max-width: 364px;
	margin-top: 22px;
}
header .contact {
	float: left;
	width: 50%;
	text-align: right;
	overflow: hidden;
}
header .contact img {
	width: 60%;
	max-width: 360px;
}
header .contact .link {
	padding: 10px 0 35px;
}
header .contact .link p {
	float: right;
	width: auto;
}
header .contact p {
	padding: 0 1em;
	font-size: 1.3rem;
	border-left: 1px solid #78c0f9;
}
header .contact p a {
	color: #78c0f9;
}

@media screen and (max-width:768px) {
header h1 {
	width: 90%;
}
}
@media screen and (max-width:639px) {
header .maintitle {
	float: none;
	width: 100%;
	margin-bottom: 20px;
}
header .maintitle {
	float: none;
	width: 100%;
	margin-bottom: 18px;
	text-align: center;
}
header .maintitle h1{
	width: 90%;
	margin: 0 auto;
}
header .contact {
	float: none;
	width: 100%;
	text-align: center;
}
header .contact img {
	width: 70%;
}
header .contact .link {
	display: none;
}
}



/*

footer

*/

footer {
	width: 100%;
	background-color: #78c0f9;
}
footer .block03 {
	/* [disabled]width: 100%; */
	max-width: 1240px;
	margin: 0 auto;
	padding: 25px 20px 45px;
	color: white;
	overflow: hidden;
}
footer .block03 .block03-1 {
	float: left;
	width: 68%;
}
footer .block03 .block03-2 {
	float: left;
	width: 32%;
	text-align: right;
}
footer .block03 .block03-1 p {
	margin-bottom: 15px;
	font-size: 1.3rem;
}
footer .block03 .block03-1 img {
	max-width: 364px;
	width: 44.607%;
}
footer .block03 .block03-2 img {
	max-width: 360px;
	width: 93.750%;	
	margin-bottom: 10px;
}
footer .block03 .block03-2 p:first-child {
	font-size: 1.7rem;
}
footer .block03 .block03-2 p a{
	color: #fff;
}
@media screen and (max-width:639px) {
footer .block03 .block03-1 {
	float: none;
	width: 100%;
	text-align: center;
	margin-bottom: 15px;
}
footer .block03 .block03-2 {
	float: none;
	width: 100%;
	text-align: center;
}
footer .block03 .block03-2 img {
	margin-bottom: 15px;
}
}
/*

menu

*/

section#menu {
	overflow: visible;
}
section#menu::after {
	content:".";
	display: block;
	clear: both;
	height: 0;
	line-height: 0;
	visibility: hidden;
}
#menu .block01_side {
	position: relative;
}
#menu .block01_side h2 {
	margin-bottom: 10px;
	color : #78c0f9;
	font-size: 1.5rem;
	font-weight: bold;
}

#menu .block01_side img {
	width: 24px;
	margin: 1px 0 0 7px;
}

#menu .block01 p {
	text-align: center;
}

@media screen and (max-width:639px) {
	#menu .slider {
	margin: 0 -20px;
	width: calc(100% + 40px);
}
}

/*slidemenu*/
#menu .block01_side .slide_menu {
	position: absolute;
	top: -10px;
	left: -10px;
	width: 260px;
	height: 300px;
	color: white;
	background-color: rgba(120,192,249,0.7);
	z-index: 15;
}
#menu .block01_side .slide_menu h2 {
	margin: 10px 0 10px 10px;
	color: white;
}
#menu .block01_side .slide_menu img {
	margin: 0 0 0 17px;
}
#menu .block01_side .slide_menu ul {
	margin-top: 40px;
}
#menu .block01_side .slide_menu ul li {
	padding-left: 5em;
	line-height: 2.4;
	border-bottom: 1px solid #fff;
	letter-spacing: .15em;
}
#menu .block01_side .slide_menu ul li a{
	color: #fff;
	text-decoration: none
}
#menu .block01_side .slide_menu ul li a:hover{
	opacity: .6;
}
#menu_button01:hover,
#menu_button02:hover,
#menu_text01:hover,
#menu_text02:hover {
	cursor: pointer;
	opacity: .6;
}
#menu .block01_side .slide_menu ul li.hide {
	display: none;
}
@media screen and (max-width:639px) {
#menu .block01_side .slide_menu {
	position: absolute;
	top: -10px;
	left: -20px;
	width: 80%;
	height: 380px;
}
#menu .block01_side .slide_menu h2 {
	margin: 10px 0 10px 20px;
}
#menu .block01_side .slide_menu img {
	margin: 0 0 0 27px;
}
#menu .block01_side .slide_menu ul li {
	font-size: 1.6rem;
	line-height: 3;
}
#menu .block01_side .slide_menu ul li.hide {
	display: block;
}
}



/*

Greeting

*/

#greeting {
	background-color: #78c0f9;
	color: white;
	padding: 20px 20px 30px;
}
#greeting .block01 h3 {
	margin: 25px 0;
}
#greeting .block01 p.p01 {
	text-align: center;
	padding: 0 8em;
	margin-bottom: 45px;
}
#greeting .block01-2 {
	display: flex;
	justify-content: space-between;
}
#greeting .block01-2 .box01{
	width: 30%;
}
#greeting .block01-2 .box01 img {
	margin-bottom: 12px;
}
#greeting .block01-2 .box01 p {
	text-align: center;
	padding: 0 .5em;
}
@media screen and (max-width:639px) {
#greeting .block01 p.p01 {
	text-align: left;
	padding: 0 1em;
}
#greeting .block01-2 {
	flex-wrap: wrap;
}
#greeting .block01-2 .box01{
	width: 45%;
	margin-bottom: 25px;
}
}



/*

About　Treatment

*/

#about .block01 {
	overflow: hidden;
}
#about .block01 .block01-3 {
	float: left;
	width: 45%;
}
#about .block01 .block01-3:first-of-type {
	margin-right: 10%;
}
#about .block01 .block01-3 h4 {
	padding: .5em 0 .4em;
	font-size: 2.0rem;
	text-align: center;
	border: 1px solid #333;
}
#about .block01 .block01-3 ul {
	line-height: 1.8;
	padding: 25px 0;
}
#about .block01 .block01-3 ul li {
	padding-left: 2.2em;
	text-indent: -2.2em;
}
#about .block01 .block01-3 ul.ryoukin li {
	margin-bottom: 25px
}
#about .block01 .block01-3 ul li::before {
	content: url(../images/list_marker.png);
	margin-right: 1em;
	vertical-align: -2px;
}
#about .block01 .block01-3 span {
	font-size: 2.0rem;
	color: #fe86a4;
}
#about .block01 .block01-3 .attention {
margin: 1em;
padding: 1em;
color: #fe86a4;
border: 1px solid #fe86a4;
}
#about .block01 .block01-3 .attention02 {
margin: 1em;
padding: 1em;
border: 1px solid #fe86a4;
}
#about .block01 .block01-3 .attention02 span{
	font-size: 1.6rem;
	color: #fe86a4;
}
#about .block01 .block01-3 .attention p.p02{
margin-bottom: 1em;
letter-spacing: .1em
}
@media screen and (max-width:639px) {
#about .block01 .block01-3 {
	float: none;
	width: 100%;
	margin-bottom: 40px;
}
#about .block01 .block01-3 ul.ryoukin li {
	margin-bottom: 0;
}
#about .block01 .block01-3 ul li::before {
	content: url(../images/list_marker_02.png);
	vertical-align: -1px;
}
}



/*

Flow

*/

#flow {
	background-color: #78c0f9;
	color: white;
	padding: 20px 20px 45px;
}
#flow .flow_block {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
#flow .flow_block .square {
	max-width: 250px;
	width: 22.727%;
	position: relative;
}
#flow .flow_block .square p {
letter-spacing: -.05em;
}
#flow .flow_block .square h5 {
	position: absolute;
	top: 15px;
	left: calc(50% - .5em);
	font-size: 1.7rem;
	color: #333;
}
#flow .flow_block .square p.p03 {
	position: absolute;
	top: 36%;
	left: calc(50% - 6em);
	color: #333;
}
#flow .flow_block .square img.tel02 {
	position: absolute;
	top: 50%;
	left: 10%;
	width: 80%;
}
#flow .flow_block .square p.p04 {
	position: absolute;
	top: 38%;
	left: 0;
	width: 100%;
	text-align: center;
	color: #333;
	line-height: 1.7;
}
#flow .flow_block .square p.p05 {
	position: absolute;
	top: 27%;
	left: 0;
	width: 100%;
	text-align: center;
	color: #333;
	line-height: 1.7;
}
#flow .flow_block img.arrow {
	max-width: 21px;
	width: 2.048%;
	margin: 0 0.491%;
}
@media screen and (max-width:768px) {
#flow .flow_block .square p.p03 {
	display: block;
	padding: 0 1.5em;
	line-height: 1.4;
	font-size: 1.3rem;
}
#flow .flow_block .square img.tel02 {
	top: 70%;
}
#flow .flow_block .square p.p04 {
	top: 33%;
	padding: 0 1.5em;
	line-height: 1.4;
	font-size: 1.3rem;
}
#flow .flow_block .square p.p05 {
	top: 23%;
	padding: 0 1.3em;
	line-height: 1.4;
	font-size: 1.3rem;
}
}
@media screen and (max-width:639px) {
#flow .flow_block {
	flex-wrap: wrap;
}
#flow .flow_block .square {
	width: 44.8%;
	margin-bottom: 25px
}
#flow .flow_block img.arrow {
	max-width: 21px;
	width: 4%;
	margin: 0 0.6%;
}
}



/*

Voice

*/

#voice .block01 .slider {
	margin: 30px 40px 60px;
}
@media screen and (max-width:639px) {
#voice .block01 .slider {
	margin: 25px 0 25px;
}
}



/*

About Us

*/

#aboutus {
	margin-bottom: 0;
	padding: 20px 20px 40px;
	background-color: #F4F4F4;
}
#aboutus .block01 {
	overflow: hidden;
}
#aboutus .block01 p {
	text-align: center;
	margin: 25px 0;
}
#aboutus .block01 .textblock {
	float: left;
	width: 40%;
	max-width: 400px;
	margin-top: 90px;
	padding: 0 1em;
}
#aboutus .block01 .map {
	float: left;
	width: 60%;
	max-width: 600px;
}
@media screen and (max-width:639px) {
#aboutus .block01 .textblock {
	float: none;
	width: 100%;
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 40px;
}
#aboutus .block01 .map {
	float: none;
	width: 100%;
	max-width: 100%;
	height: 300px;
}
}
