﻿html {
font-size: 62.5%;
}
@media screen and (max-width: 1260px) {
	html {
	font-size: 55%;
	}
}
@media screen and (max-width: 999px) {
}
@media screen and (max-width: 767px) {
}

body {
overflow-x: hidden;
position: relative;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
font-size: 1.6rem;
font-weight: normal;
line-height: 1.6;
color: #060d17;
background-color: #fff;
}
@media screen and (max-width: 767px) {
	body {
	line-height: 1.5;
	}
}


/* リセット */
* {
margin: 0px;
padding: 0px;
border: 0;
outline: 0;
word-break: normal !important;
word-wrap: break-word;
line-break: normal;
box-sizing: border-box;
-webkit-text-size-adjust: none;
}


section {
position: relative;
}


/*-------------------------
共通設定
--------------------------*/
table {
border-collapse: collapse;
border-spacing: 0;
}

ol, ul {
list-style: none;
}

h1, h2, h3, h4, h5, h6 {
line-height: 1.5;
}

a {
text-decoration: none;
color: inherit;
}
a:hover {
text-decoration: none;
}
a[href^="tel:"] {
pointer-events: none;
}
a.anc {
}
@media screen and (max-width: 767px) {
	a[href^="tel:"] {
	pointer-events: auto;
	}
}

.clearfix:after {
content:" ";
display:block;
clear:both;
}

.wrap {
position: relative;
margin-right: auto;
margin-left: auto;
}
.wrap:after {
content:" ";
display:block;
clear:both;
}

.pc_none {
display: none;
}
.pc_none2 {
display: none;
}
@media screen and (max-width: 767px) {
	.sp_none {
	display: none !important;
	}
	.pc_none {
	display: inline-block !important;
	}
}

.right {text-align: right !important;}
.left {text-align: left !important;}
.center {text-align: center !important;}

.flex {
display: flex;
display: box;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: -moz-box;
}

img {
display: block;
max-width: 100%;
height: auto;
margin: auto;
}

.body_wrap {
overflow: hidden;
position: relative;
}

.red {
font-weight: bold;
color: #de4981;
}


/*-------------------------
TOPページ
--------------------------*/
/* TOP共通 */
header,
section,
footer {
position: relative;
}
header .wrap,
section .wrap,
footer .wrap {
position: relative;
max-width: 1260px;
margin-right: auto;
margin-left: auto;
padding-right: 30px;
padding-left: 30px;
}
@media screen and (max-width: 767px) {
  header .wrap,
  section .wrap,
  footer .wrap {
  padding-right: 20px;
  padding-left: 20px;
  }
}


/* ヘッダー */
header {
}
header .bg1 {
padding: 12px 20px;
color: #fff;
background: #12693e;
}
#este header .bg1 {
background: #dc4b83;
}
header h1 {
font-weight: normal;
font-size: 1.5rem;
}
header .box1 {
padding: 20px 0;
}
header .box1 .flex {
align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
}
header .box1 .flex .in {
width: 50%;
}
header .in1 {
}
header .in1 img {
margin-left: 0;
}
header .in2 {
text-align: right;
}
.tel {
color: #314991;
font-family: "Century Gothic","Futura";
font-weight: bold;
font-size: 2.6rem;
letter-spacing: 1px;
}
#este .tel {
color: #a2003e;
}
.tel i {
margin-right: 1px;
}
.address {
margin-bottom: 10px;
}
.info .flex {
justify-content: flex-end;
-webkit-justify-content: flex-end;
-ms-justify-content: flex-end;
}
.info dl {
margin-bottom: 5px;
text-align: center;
line-height: 1;
}
.info dl:last-of-type {
margin-bottom: 0;
}
.info dt {
width: 100px;
padding: 5px;
color: #fff;
background-color: #ccc;
}
.info dd {
width: 130px;
padding: 5px;
}
header .box2 {
padding-top: 20px;
padding-bottom: 30px;
}
header .menu {
justify-content: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
}
header .menu {
text-align: center;
line-height: 1;
}
header .menu li {
margin: 0 4px;
font-size: 1.8rem;
font-weight: bold;
background-color: #f1f1f1;
}
header .menu li a {
display: block;
padding: 14px 30px;
}
header .menu li:hover {
background-color: #9cd0b6;
transition: all 0.5s;
}
#este header .menu li:hover {
background-color: #ecc4d3;
}
header .menu span {
display: block;
margin-top: 8px;
font-family: "Century Gothic","Futura";
font-size: 1.4rem;
letter-spacing: 2px;
color: #12693e;
}
#este header .menu span {
color: #a2003e;
}
@media screen and (max-width: 1100px) {
	header .menu {
	flex-wrap: wrap;
	-webkit-flex-wrap:wrap
	-ms-flex-wrap: wrap;
	max-width: 700px;
	margin: auto;
	}
	header .menu li {
	margin-bottom: 8px;
	}
}
@media screen and (max-width: 767px) {
	header .bg1 {
	padding: 10px;
	}
	header h1 {
	font-size: 1.3rem;
	}
	header .box1 {
	padding: 20px 0;
	}
	header .box1>.flex {
	display: block;
	}
	header .box1 .flex .in {
	width: 100%;
	}
	header .box1 .flex .in1 {
	width: 250px;
	margin: auto;
	margin-bottom: 5px
	}
	header .in2 {
	text-align: center;
	}
	header .box2 {
	padding-top: 0px;
	padding-bottom: 0px;
	}
	header .box2 .wrap {
	padding-right: 0;
	padding-left: 0;
	}
	.tel {
	margin-bottom: 5px;
	}
	.info .flex {
	justify-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	}
	header .menu {
	display: block;
	max-width: inherit;
	}
	header .menu li {
	width: 100%;
	margin: 0;
	font-size: 1.6rem;
	border-bottom: 2px solid #fff;
	}
	header .menu li a {
	padding: 10px 0;
	}
	header .menu span {
	display: none;
	}
}


/* コンテンツ */
.sec {
padding: 60px 0;
}
@media screen and (max-width: 767px) {
	.sec {
	padding: 50px 0;
	}
}

.bg1 {
background: #f1f1f1;
}
#este .bg1 {
background: #f6eef1;
}
.bg2 {
background: #fff7e9;
}
.bg3 {
background: #fff;
}
.in_box {
clear: both;
margin-bottom: 60px;
text-align: center;
}
.in_box:last-of-type {
margin-bottom: 0px;
}
.col2 {
}
.col2 .in {
width: 50%;
padding: 0 30px;
}
@media screen and (max-width: 767px) {
	.col2 {
	display: block;
	}
	.col2 .in {
	width: 100%;
	margin-bottom: 60px;
	padding: 0;
	}
	.col2 .in:last-of-type {
	margin-bottom: 0;
	}
	.col2 .in img {
	max-width: 350px;
	width: 80%;
	}
}


.waku01 {
margin: 20px;
padding: 30px;
border-radius: 20px;
}
.waku01 h4 {
margin-bottom: 20px;
padding-bottom: 20px;
border-bottom: 2px dashed #ccc;
}
.waku01 ul {
flex-wrap: wrap;
-webkit-flex-wrap:wrap
-ms-flex-wrap: wrap;
max-width: 800px;
margin: auto;
}
.waku01 .list1 li {
width: 25%;
padding: 10px;
text-align: left;
}
.waku01 .list1 li i {
margin-right: 10px;
color: #314991;
}
#este .waku01 .list1 li i {
color: #a2003e;
}
.waku01 .list2 li {
margin-bottom: 10px;
text-align: left;
}
.waku01 .list2 li:last-of-type {
margin-bottom: 0px;
}
.waku01 .list2 li::before {
content: "・";
}
@media screen and (max-width: 767px) {
	.waku01 {
	margin: 0px;
	padding: 20px;
	border-radius: 20px;
	}
	.waku01 .list1 li {
	width: 50%;
	}
}


a.anc {
color: #314991;
text-decoration: underline;
}
#este a.anc {
color: #a2003e;
}
a.anc:hover {
opacity: 0.7;
transition: all 0.3s;
}
.float_l,
.float_r {
margin: 20px;
}
.float_l:after,
.float_r:after {
content: "";
clear: both;
display: block;
}
.float_l img,
.float_r img {
width: 40%;
}
.float_l img {
float: left;
padding-right: 20px;
}
.float_r img {
float: right;
padding-left: 20px;
}
.float_l p,
.float_r p {
margin-bottom: 1em;
text-align: left;
}
.float_l p:last-of-type,
.float_r p:last-of-type {
margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	.float_l, .float_r {
	margin: 0px;
	}
	.float_l img, .float_r img {
	float: none;
	width: 90%;
	max-width: 400px;
	margin: auto;
	padding: 0;
	padding-bottom: 20px;
	}
}

.link {
display: inline-block;
margin-top: 40px;
}
.link:hover {
opacity: 0.7;
transition: all 0.3s;
}
.link img {
border-radius: 50%;
}
@media screen and (max-width: 767px) {
	.link img {
	width: 80%;
	max-width: 350px;
	}
}


h2 {
margin-bottom: 60px;
font-size: 2.6rem;
text-align: center;
}
h2 span {
display: block;
margin-top: 10px;
font-family: "Century Gothic","Futura";
font-size: 2.2rem;
letter-spacing: 5px;
color: #314991;
}
#este h2 span {
color: #a2003e;
}
h2 i {
margin-right: 10px;
color: #314991;
}
#este h2 i {
color: #a2003e;
}
h3 {
margin-bottom: 30px;
padding: 30px 10px;
font-size: 2.0rem;
text-align: center;
background-color: #fff;
}
h3 span {
color: #de4981;
}
h4 {
font-size: 1.8rem;
color: #12693e;
}
#este h4 {
color: #a2003e;
}
h5 {
margin-bottom: 10px;
font-size: 1.8rem;
color: #12693e;
}
#este h5 {
color: #a2003e;
}
h5 span {
display: block;
font-family: "Century Gothic","Futura";
font-weight: normal;
font-size: 1.4rem;
letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
	h2 {
	margin-bottom: 40px;
	font-size: 2.2rem;
	}
	h2 span {
	margin-top: 4px;
	font-size: 2.0rem;
	letter-spacing: 2px;
	}
	h3 {
	margin-bottom: 20px;
	padding: 20px;
	font-size: 1.8rem;
	}
	h4 {
	font-size: 1.6rem;
	}
}


.tbl {
max-width: 800px;
margin: auto;
}
table {
width: 100%;
border-spacing: 2px;
border-collapse: separate;
}
table tr {
}
table th {
width: 30%;
padding: 20px 5px;
font-size: 1.8rem;
background: #ccc;
}
table th p {
margin-bottom: 8px;
}
table th p:last-of-type {
margin-bottom: 0px;
}
table th p span {
font-weight: normal;
}
table td {
width: 70%;
padding: 20px 40px;
background: #f2f2f2;
text-align: left;
}
table td p {
margin-bottom: 8px;
}
table td p:last-of-type {
margin-bottom: 0px;
}
table td p.price {
margin-bottom: 20px;
font-size: 2.0rem;
font-weight: bold;
color: #de4981;
}
table td .price span {
font-size: 1.6rem;
font-weight: normal;
}
table td ul {
margin-bottom: 20px;
}
table td li {
}
table td li::before {
content: "・";
}
@media screen and (max-width: 767px) {
	table tr {
	display: block;
	margin-bottom: 10px;
	}
	table th {
	display: block;
	width: 100%;
	padding: 10px 10px;
	font-size: 1.6rem;
	}
	table th p {
	margin-bottom: 0;
	}
	table td {
	display: block;
	width: 100%;
	padding: 20px 10px;
	}
	table td ul {
	display: flex;
	display: box;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -moz-box;
	flex-wrap: wrap;
	-webkit-flex-wrap:wrap
	-ms-flex-wrap: wrap;
	margin-bottom: 10px;
	}
	table td li {
	margin-right: 15px;
	}
	table td p.price {
	margin-bottom: 10px;
	font-size: 1.8rem;
	}
}


.coupon {
display: block;
margin: auto;
margin-top: 60px;
width: 600px;
height: 420px;
padding-top: 60px;
font-weight: bold;
line-height: 1.3;
background-image: url(../img/chiro/coupon.jpg);
background-repeat: no-repeat;
background-position: center top;
background-size: contain;
}
#este .coupon {
background-image: url(../img/este/coupon.jpg);
}
.coupon p:nth-of-type(1) {
margin-bottom: 10px;
font-size: 2.4rem;
}
.coupon p:nth-of-type(2) {
margin-bottom: 30px;
font-size: 2.4rem;
color: #314991;
}
#este .coupon p:nth-of-type(2) {
color: #a2003e;
}
.coupon p:nth-of-type(3) {
margin-bottom: 20px;
font-size: 2.8rem;
letter-spacing: 2px;
}
.coupon p:nth-of-type(3) span {
font-size: 3.4rem;
color: #de4981;
}
.coupon p:nth-of-type(4) {
font-weight: normal;
}
@media screen and (max-width: 767px) {
	.coupon {
	margin-top: 30px;
	width: calc(600px * 0.55);
	height: calc(420px * 0.55);
	padding-top: 30px;
	}
	.coupon p:nth-of-type(1) {
	display: none;
	}
	.coupon p:nth-of-type(2) {
	margin-bottom: 10px;
	font-size: 1.8rem;
	text-shadow: #fff 1px 0px 1px, #fff -1px 0px 1px,#fff 0px -1px 1px, #fff -1px 0px 1px,#fff 1px 1px 1px, #fff -1px 1px 1px,#fff 1px -1px 1px, #fff -1px -1px 1px,#fff 1px 1px 1px, #fff -1px 1px 1px,#fff 1px -1px 1px, #fff -1px -1px 1px,#fff 1px 1px 1px, #fff -1px 1px 1px,#fff 1px -1px 1px, #fff -1px -1px 1px,#fff 1px 1px 1px, #fff -1px 1px 1px,#fff 1px -1px 1px, #fff -1px -1px 1px;
	}
	.coupon p:nth-of-type(3) {
	margin-bottom: 10px;
	font-size: 2.0rem;
	letter-spacing: 0;
	}
	.coupon p:nth-of-type(3) span {
	font-size: 2.4rem;
	}
	.coupon p:nth-of-type(4) {
	font-size: 1.4rem;
	}
}


#info {
}
#info .box {
max-width: 700px;
margin: auto;
padding: 20px;
background-color: #fff;
border: 2px solid #ccc;
}
#info .box p {
margin-bottom: 30px;
}
#info .box p:last-of-type {
margin-bottom: 0px;
}
#about .staff {
margin-bottom: 60px;
}
#about .staff ul {
margin: 20px 0;
}
#about .staff li {
margin-bottom: 5px;
text-align: left;
}
#about .staff li:last-of-type {
margin-bottom: 0px;
}
#about .staff li::before {
content: "・";
}
#about .staff .txt {
padding: 15px;
text-align: left;
border: 2px solid #6b7db4;
border-radius: 10px;
}
#este #about .staff .txt {
border-color: #a2003e;
}
#about .staff .txt i {
margin-right: 8px;
color: #314991;
}
#este #about .staff .txt i {
color: #a2003e;
}
.map {
height: 500px;
}
.map iframe {
display: block;
width: 100%;
height: 100%;
border: 0 !important;
}
#access .info {
margin-top: 20px;
margin-bottom: 30px;
}
#access .info .flex {
justify-content: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
}
.access_txt {
font-size: 1.8rem;
}
.pagetop {
z-index: 9;
display: block;
position: fixed;
width: 130px;
right: 20px;
bottom: 20px;
font-size: 1.4rem;
text-align: center;
color: #fff;
background: #12693e;
}
#este .pagetop {
background: #dc4b83;
}
.pagetop:hover {
opacity: 0.7;
transition: all 0.3s;
}
.pagetop i {
margin-right: 10px;
}
.pagetop a {
display: block;
padding: 8px 0;
}
#entrance {
}
#entrance .flex {
}
#entrance .in {
width: 50%;
padding: 60px 0;
text-align: center;
background-repeat: no-repeat;
background-position: top center;
background-size: cover;
}
#entrance .in1 {
background-image: url(../img/top_chiro-bg.jpg);
}
#entrance .in2 {
background-image: url(../img/top_este-bg.jpg);
}
#entrance .in a {
display: inline-block;
}
#entrance .in img {
}
#entrance .in img:hover {
opacity: 0.7;
transition: all 0.3s;
}
footer {
padding: 30px;
}
.copyright {
text-align: center;
}
@media screen and (max-width: 1100px) {
	#entrance .in img {
	width: 300px;
	}
}
@media screen and (max-width: 767px) {
	#greeting h4 {
	text-align: left;
	}
	#este #greeting h4 {
	text-align: center;
	}
	#contact .txt {
	text-align: left;
	}
	.map {
	height: 400px;
	}
	.access_box2 img {
	width: 250px;
	}
	#access .info {
	margin-top: 0px;
	margin-bottom: 20px;
	}
	.access_txt {
	font-size: 1.7rem;
	}
	.pagetop {
	width: 110px;
	right: 0px;
	bottom: 0px;
	font-size: 1.3rem;
	}
	.pagetop i {
	margin-right: 5px;
	}
	#entrance .flex {
	display: block;
	}
	#entrance .in {
	width: 100%;
	padding: 30px 0;
	}
	#entrance .in img {
	width: 250px;
	}
	footer {
	padding: 15px 5px;
	font-size: 1.4rem;
	}
}



/* フォーム */
.form_dl {
max-width: 800px;
margin: auto;
margin-bottom: 30px;
}
.form_dl dl {
display: flex;
display: box;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: -moz-box;
align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
margin-bottom: 20px;
line-height: 1.3;
}
.form_dl dl:last-of-type {
margin-bottom: 0;
}
.form_dl dt {
width: 200px;
padding-right: 15px;
font-weight: bold;
text-align: right;
}
.form_dl dt span {
display: block;
margin-top: 2px;
font-size: 1.4rem;
font-weight: normal;
color: #de4981;
}
.form_dl dd {
width: calc(100% - 200px);
}
.policy {
overflow-x: hidden;
overflow-y: auto;
max-width: 800px;
margin: auto;
margin-bottom: 30px;
height: 200px;
padding: 20px;
text-align: left;
}
.policy::-webkit-scrollbar{
width: 10px;
background: #eee;
}
.policy::-webkit-scrollbar-thumb{
background: #ccc;
border-radius: 2px;
}
input[type="text"],
input[type="tel"],
input[type="mail"],
textarea {
width: 100%;
padding: 10px;
border: 1px solid #888;
}
input[type="search"] {
width: 100%;
padding: 18px 40px;
font-size: 1.8rem;
border-radius: 50px;
}
input[type="checkbox"] {
display: inline-block;
margin-left: 0;
margin-right: 10px;
}
input[type="radio"] {
margin-right: 5px;
margin-right: 10px;
}
input:read-only {
padding: 0 !important;
background-color: inherit;
}
textarea {
height: 250px;
}
input[type="submit"] {
cursor: pointer;
display: block;
width: 200px;
margin: auto;
padding: 15px !important;
font-size: 1.8rem;
font-weight: normal;
text-align: center;
line-height: 1;
color: #fff;
background-color: #12693e;
border-radius: 50px;
}
#este input[type="submit"] {
background-color: #dc4b83;
}
input[type="submit"]:hover {
opacity: 0.6;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
	.form_dl {
	}
	.form_dl dl {
	display: block;
	margin-bottom: 20px;
	}
	.form_dl dt {
	width: 100%;
	margin-bottom: 5px;
	padding-right: 0;
	text-align: left;
	}
	.form_dl dt span {
	display: inline-block;
	margin-top: 0;
	margin-left: 10px;
	}
	.form_dl dd {
	width: 100%;
	}
	.policy {
	margin-bottom: 20px;
	height: 200px;
	padding: 15px;
	}
	input[type="submit"] {
	width: 150px;
	font-size: 1.6rem;
	}
}
