@charset "UTF-8";
@keyframes slideInDown {
  0%{top: -300px}
  100%{top: 0px}
}
body{
  font-family:YuGothic,'Yu Gothic',sans-serif;
  color: #444;
  font-size: 15px;
  line-height: 1.5;
}
.container{
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
}
.slick-slide img{
  width: 100%
}
img{
  display: block;
  max-width: 100%;
}
p{
  line-height: 1.7;
}
a.btn{
  display: block;
  width: 49%;
  min-width: 180px;
  max-width: 250px;
}
a.btn.center{
  margin: 0 auto;
}
header{
  position: relative;
  padding: 10px 14px;
  background-color: #fff;
}
header p.read{
  margin-bottom: 7px;
}
nav ul li img{
  margin: 0 auto;
}
article{
  padding: 30px 0 50px;
}
article main{
  max-width: 820px;
}
a{
  transition: .8s
}
a:hover,
a img:hover{
  opacity: .8;
}
header .sp h1{
  width: 60%;
}
.btn_menu{
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  right: 5%;
  width: 30px;
  height: 30px;
  z-index: 100;
}
.btn_menu span{
  position: absolute;
  top: 0;
  display: block;
  width: 30px;
  height: 3px;
  background-color: #4383bd;
  transition: .3s
}
.btn_menu span:nth-child(2){
  top: 10px;
}
.btn_menu span:nth-child(3){
  top: 20px;
}
.btn_menu.open span:nth-child(1){
  display: none;
}
.btn_menu.open span:nth-child(2){
  top: 10px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.btn_menu.open span:nth-child(3){
  top: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.home section{
  margin-bottom: 30px;
}
.home #section1 .block{
  position: relative;
  border: solid 3px #64b4da;
  border-radius: 10px;
}
.home #section1 .block h2{
  background-color: #ddeee9;
  padding: 20px 0;
	border-radius: 10px 10px 0 0;
}
.home #section1 .block h2 img{
  margin: 0 auto;
}
.home #section1 .block ul{
  width: 90%;
  margin: 0 auto;
  padding: 30px 0 15px;
}
.home #section1 .block ul li{
  position: relative;
  margin-bottom: 1.9em;
  padding-left: 25px;
}
ul.check_list li{
  position: relative;
  padding-left: 25px;
}
ul.check_list li::before{
  content: '';
  width: 17px;
  height: 13px;
  background-image: url("../images/common/icon_check.png");
  background-size: cover;
  position: absolute;
  left: 0;
  top:0;
}
.home #section1 .block::after{
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 58px;
  height: 30px;
  background-image: url("../images/home/section1_3.png");
  background-size: cover;
}
.home #section2 .block{
  position: relative;
  background-image: url("../images/home/section2_2.png");
  /*background-size: cover;*/
}
.home #section2 .block .txt_block h2 img{
  display: block;
  margin: 0 auto 35px;
}
.home #section2 .block .txt_block p{
  background-color: rgba(255,255,255,.8);
  border-radius: 10px;
  margin-bottom: 2em;
  padding: 2em 1.8em;
  line-height: 2;
}
.home #section2 .block a{
  display: block;
  margin-left: calc(100% - 250px);
}
h2.section_ttl{
  position: relative;
  margin-bottom: 60px;
  padding: 30px 15px 0;
}
h2.section_ttl::after{
  content: '';
  width: 34px;
  height: 8px;
  background-color: #6dbda7;
  border-radius: 4px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -25px;
}
h2.section_ttl img{
  margin: 0 auto;
}
.fx_around{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
#chara p{
  width: 95%;
  margin: 0 auto;
}
#chara ul{
  margin-bottom: 44px;
}
#chara ul li{
  width: 32%;
}
#chara p{
  width: 93%;
  margin-bottom: 40px;
  line-height: 2;
}
.center_list{
  text-align: center;
}
.center_list a{
  display: inline-block;
}
.home #section4 .block{
  border: solid 5px #ddeee9;
  border-radius: 10px;
  padding: 35px 3% 0;
}
.home #section4 ul,
.home #section4 p.read{
  margin-bottom: 30px;
}
.home #section4 ul.check_list li{
  width: calc(48% - 25px);
}
.home #section4 ul.check_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.home #section4 li{
  display: inline-block;
  margin-bottom: 25px;
  font-size: 16px;
  width: 23.5%;
}
.home #section4 ul.check_list li:last-child{
  width: calc(100% - 23px);
}
#voice .block{
  background-color: #ddeee9;
  border-radius: 10px;
  padding: 10px 0 40px;
}
.home #voice ul.lg_flex{
  width: 95%;
  max-width: 778px;
  margin: 0 auto 10px;
}
#voice ul.lg_flex li{
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 20px;
}
#voice ul li .wrap{
  width: 88%;
  margin: 0 auto;
  padding: 25px 0 20px;
}
.page #voice ul.lg_flex li{
  border: 2px solid #64b4da;
  border-radius: 10px;
}
.single_wrap .ttl_block h3,
 #voice ul li h3{
  border-bottom: 3px dotted #4383bd;
  margin-bottom: 20px;
  padding-bottom: 20px;
  color: #4383bd;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
}
.single_wrap .ttl_block h3{
  border: none
}
#symptom .ttl_block h3{
  margin: 0;
  padding: 0;
}
#voice ul li dl{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
#voice dl.ttl_block img,
#voice ul li dt img{
  border-radius: 100px;
  width: 100px;
  height: 100px;
  overflow: hidden;
  border: 1px solid  #64b4da;
}
#voice dl.ttl_block dd,
#voice ul li dd{
  width: calc(100% - 125px);
}
.table_wrap{
overflow-x: auto;
white-space: nowrap;
}
table.typeA{
width: 100%;
border: 1px solid #4383bd;
border-radius: 10px;
border-collapse: separate;
}
table.typeA th{
background-color: #4383bd;
color: #fff;
font-size: 16px;
line-height: 55px;
font-weight: bold;
border-collapse: separate;
}
table.typeA th::-webkit-scrollbar{
height: 5px;
}
table.typeA th::-webkit-scrollbar-track{
background: #F1F1F1;
}
table.typeA th::-webkit-scrollbar-thumb {
background: #BCBCBC;
}
table.typeA th:first-child{
border-right: 1px solid #fff;
border-radius: 9px 0 0 0;
}
table.typeA th:last-child{
border-radius: 0 9px 0 0;
}
table.typeA th:nth-child(2) {
border-right: 1px dashed #fff;
}
table.typeA td{
line-height: 50px;
font-size: 16px;
text-align: center;
padding: 0 15px;
}
table.typeA tr td{
border-right: 1px dashed #4383bd;
}
table.typeA tr td:last-child{
border: none
}
table.typeA tr:nth-child(even) td{
background-color: #ddf4ff;
}
table.typeA tr:last-child td:first-child{
border-radius: 0 0 0 9px;
}
table.typeA tr:last-child td:last-child{
border-radius: 0 0 9px 0;
}
table.typeA td span{
font-size: 24px;
font-weight: bold;
}
p.center{
text-align: center;
line-height: 1.85;
}
p.center span.atention{
  font-size: 11px;
}
.page section p.read{
margin-bottom: 2em;
color: #663333;
line-height: 2
}
.btn_flex{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.btn_flex a{
display: block;
width: 49%;
}
#access #section3 .col{
width: 32%;
max-width: 260px;
}
#access #section3 .col img{
  margin-bottom: 20px;
}
#access #section3 .col p{
text-align: center;
}
.mb30{
margin-bottom: 30px
}
.mb35{
margin-bottom: 35px
}
h4.bar{
background-color: #f7ede3;
border-radius: 10px;
margin-bottom: 30px;
padding: 14px 22px;
}
#voice dl.ttl_block{
  margin-bottom: 30px;
}
#voice dl.ttl_block p,
#voice dl.ttl_block span,
#voice ul li dd p,
#voice ul li dd span{
  font-weight: bold;
}
#voice dl.ttl_block p,
#voice ul li dd p{
  margin-bottom: 5px;
  line-height: 1
}
#voice dl.ttl_block p span,
#voice ul li dd p span{
  margin: 0 .2em 0 .5em;
  font-size: 24px;
}
.single_wrap{
  border: 1px solid #64b4da;
  border-radius: 10px;
  margin-bottom: 40px;
  padding: 40px 20px;
}
.single_wrap .ttl_block{
  border: 1px solid #4383bd;
  padding: 30px;
}
#voice dl.ttl_block p{
  display: inline-block;
}
#voice .single_wrap dl.ttl_block h3{
  margin: 0;
}
.single .content_block .box{
  margin-bottom: 40px
}
.single .content_block h3{
  border-bottom: 2px solid #4383bd;
  margin-bottom: 15px;
  padding-bottom: 9px;
  font-weight: bold;
}
.single .content_block h4{
  border-left: 4px solid #64b4da;
  margin-bottom: 15px;
  padding: 8px 0 9px 10px;
  font-weight: bold;
  line-height: 1;
}

.single .content_block img {
	display: inline;
}
/* 画像配置 左 */
.single .content_block img.alignleft {
        text-align: left;
}
/* 画像配置 中央 */
.single .content_block img.aligncenter {
        display: block;
        margin: 1px auto;
}
/* 画像配置 右 */
.single .content_block img.alignright {
        display: block;
        margin: 1px 1px 1px auto;
}
/* 動画センタリング */
.wp-video {
	margin: 0 auto;
}
.single .page_back{
  text-align: center;
}
.single .page_back .btn_link{
  display: inline-block;
  background-color: #4383bd;
  border-radius: 5px;
  padding: 0 8px;
  color: #fff;
  font-weight: bold;
  line-height: 33px;
}
.single .page_back{
  margin: 0 0 50px;
}
.archive_list li span.category,
.ttl_block span.category,
#voice ul li dd span.category{
  display: inline-block;
  color: #fff;
  background-color: #64b4da;
  border-radius: 50px;
  margin: 10px 5px 0 0;
  padding: 1px 18px 0;
  line-height: 1.9;
  font-weight: bold;
  letter-spacing: .2em;
}
.archive_list li span.category{
  margin-bottom: 10px;
  letter-spacing: 1px;
}
#voice dl + p{
  margin-bottom: 1.5em;
  font-size: 14px;
  line-height: 1.7;
}
#voice a.more{
  display: block;
  width: 150px;
  margin-left: calc(100% - 155px);
}
.home #voice a.btn{
  width: 95%;
  max-width: 350px;
  margin: 0 auto;
}
.home #section6 dl{
  margin-bottom: 40px;
}
.home #section6 dl:last-of-type{
  margin-bottom: 50px;
}
.home #section6 dt img{
  margin: 0 auto;
}
.home #section6 dd {
  width: 80%;
  margin: 0 auto
}
.home #section6 dd h3{
  margin-bottom: 16px
}
.home #section6 dd h4{
  margin-bottom: 7px;
  color: #64b4da;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.66
}
.home #section6 dd p{
  line-height: 1.75
}
.home #section6 dd p a{
  font-weight: bold;
  text-decoration: underline;
}
#faq section,
.home #section7{
  padding-top: 30px;
}
#faq section .block,
.home #section7 .block{
  border: solid 2px #4383bd;
  border-radius: 10px;
  padding: 10px 0 40px;
}
#faq section .block{
  border: solid 2px #64b4da;
  padding: 35px 0
}
#faq section .block dl,
.home #section7 .block dl{
  width: 90%;
  max-width: 735px;
  margin: 0 auto 30px;
}
#faq section .block dt,
.home #section7 .block dt{
  position: relative;
  margin-bottom: 22px;
  color: #64b4da;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.25;
  padding-left: 45px;
}
#faq section .block dd,
.home #section7 .block dd{
  position: relative;
  padding-left: 45px;
  line-height: 1.75;
  font-size: 15px;
}
#faq section .block dt::before,
.home #section7 .block dt::before{
  content: '';
  width: 25px;
  height: 23px;
  background-image: url("../images/common/icon_q.png");
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}
#faq section .block dd::before,
.home #section7 .block dd::before{
  content: '';
  width: 24px;
  height: 21px;
  background-image: url("../images/common/icon_a.png");
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.home #section7 .media_block{
  margin-top: 60px;
}
.home #section7 .media_block h3 img{
  position: relative;
  margin: 0 auto;
  z-index: 1;
}
.home #section7 .media_block .block{
  position: relative;
  top: -23px;
  border: solid 5px #ddeee9;
  padding-top: 60px;
}
.home #section7 .media_block ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 90%;
  margin: 0 auto
}
.home #section7 .media_block ul li{
  width: 42%;
  margin-bottom: 25px;
}
.home #section7 .media_block ul li img{
  margin-bottom: 15px;
}
.home #section7 .media_block ul li p{
  font-size: 14px;
  line-height: 22px;
}
.home #section8 ul{
  margin-bottom: 30px;
}
.home #section8 li{
  border: solid 3px #ddeee9;
  border-radius: 10px;
}
.home #section8 li img.thumb{
  display: block;
  width: 100%;
  margin-bottom: 20px;
}
.home #section8 li h3 img{
  margin: 0 auto 20px;
}
.home #section8 li p{
  width: 90%;
  margin: 0 auto 20px;
  line-height: 22px;
  font-size: 14px;
}
.home #section9{
  background-image: url("../images/home/bg_section9.jpg");
  border-radius: 10px;
  padding: 10px 0 40px;
}
.home #section9 .wrap{
  width: 95%;
  max-width: 758px;
  margin: 0 auto;
}
.home #section9 .col{
  width: 95%;
  margin:  0 auto 30px;
}
.home #section9 .col img{
  width: 100%;
}
.home #section9 p{
  margin-bottom: 40px;
  color: #fff;
  text-align: center;
}
.home #section10{
  padding-top: 30px;
}
.home #section10 .img_block{
  margin-bottom: 30px;
}
.contact_bar{
  position: relative;
  background-image: url("../images/common/bg_contact_sp.png");
  background-size: 100% 100%;
  border-radius: 10px;
  height: 220px;
}
.contact_bar h3 img{
  width: 95%;
  margin: 0 auto 20px;
}
.access_block{
  padding-top: 30px;
}
.access_block iframe{
  margin-bottom: 40px;
  width: 100%;
  height: 300px;
}
.access_block .lg_flex .address_block span {
	font-size: 10px;
}
.access_block .lg_flex .address_block h3{
  margin-bottom: 1.2em;
  font-size: 20px;
  font-weight: bold;
}
.contact_bar .wrap .col{
  width: 47%;
}
.contact_bar .wrap .col img{
  width: 100%
}
#access #section1 .txt_block dl,
.access_block .lg_flex .address_block dl{
  display: flex;
  justify-content: space-between;
}
#access #section1 .txt_block dl,
.access_block .lg_flex .address_block dl{
  margin-bottom: 18px;
}
#access #section1 .txt_block dt,
.access_block .lg_flex .address_block dt{
  width: 5.5em;
  color: #663333;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5;
}
#access #section1 .txt_block dd,
.access_block .lg_flex .address_block dd{
  width: calc(100% - 5.5em);
  text-align: left;
  letter-spacing: -.3px;
  line-height: 1.5;
}
.access_block .lg_flex .address_block a.btn{
  width: 210px;
  margin-top: 30px;
}
footer .wrap {
  padding: 18px 0;
}
footer .wrap{
  background-color: #4383bd;
}
footer .wrap h1{
  margin-bottom: 10px;
}
footer .wrap p{
  margin-bottom: 1em;
  color: #fff;
  line-height: 1.5;
}
footer p.copy{
  padding: 1em 0;
  color: #6c4c38;
  text-align: center;
  font-size: 10px;
}
.side_content{
  margin-bottom: 20px
}
.side_content h3{
  background-color: #64b4da;
  padding: 10px;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
}
.side_content.box{
  border: 1px solid #64b4da;
}
.side_content .wrap{
  padding: 20px 20px 5px;
}
.side_content ul li {
  position: relative;
  margin-bottom: 15px;
  padding-left: 1.25em;
  line-height: 1.5
}
.side_content ul li::before{
  content: '・';
  color: #64b4da;
  position: absolute;	display: inline-block;
  top: 0;
  left: 0;
  display: inline-block;
  font-weight: bold;
  padding-right: .25em;
}
.side_content ul li a{
  font-size: 15px;
}
.side_content dl{
  width: 106%;
  margin-left: -3%;
  margin-bottom: 30px;
  display: flex;
  justify-content: space-between;
}
.side_content dt{
  width: 40%;
  height: 70px;
  overflow: hidden;
}
.side_content dd{
  width: 55%;
}
.side_content dd a{
  display: block;
  font-size: 14px;
  line-height: 18px;
  color: #663333;
}
.side_content dd span{
  font-size: 12px;
}
.side_content img{
  width: 100%;
}
.flex{
  display: flex;
  justify-content: space-between;
}
nav{
  display: none;
}
.bread{
  margin-bottom: 30px;
}
.bread li{
  display: inline-block;
  font-weight: bold;
}
.bread li a::after{
  content: '>';
  display: inline-block;
  padding-left: 5px;
}
.breadcrumbs {
	margin-bottom: 30px;
}
.breadcrumbs .current-item {
	font-weight: bold;
}
h2.page_ttl{
  margin-bottom: 20px;
}
.page h3 img{
  margin: 0 auto 30px;
}
#about #section1 .block{
  background-image: url("../images/page/bg_about1.png");
  background-color: #f5f0ec;
  background-size: auto 100%;
  padding: 40px 0;
  border-radius: 10px;
  margin-bottom: 30px;
}
#about #section1 .block p{
  width: 90%;
  margin: 0 auto 20px;
  color: #663333;
}
.page h3 + p.read{
  text-align: center;
  line-height: 26px;
  margin-bottom: 2.2em
}
#about #howto {
  padding-top: 30px;
}
#about #howto dl{
  margin-bottom: 25px;
}
#about #howto h4{
  border-bottom: 1px solid #64b4da;
  padding-bottom: 14px;
  margin-bottom: 14px
}
#about #howto dd p{
  line-height: 26px;
}
#about #flow dl{
  position: relative;
  border: 3px solid #ddeee9;
  border-radius: 10px;
  padding: 25px 15px;
}
#about #flow dl::after{
  content: '';
  width: 50px;
  height: 18px;
  background-image: url("../images/common/icon_down2.png");
  background-size: cover;
  position: absolute;
  bottom: -33px;
  left: 50%;
  transform: translateX(-50%);
}
#about #flow dl:last-child::after{
  display: none;
}
#about #flow h4{
  margin-bottom: 15px;
}
#about #flow h4 .step{
  height: 25px;
  margin: 0 0 4px
}
.inquiry_bar{
  position: fixed;
  left: 0;
  bottom: 0;
  display: flex;
  z-index: 1000
}
.inquiry_bar a{
  display: block;
  width: 50%;
}
a.btn_top{
  position: fixed;
  font-size: 50px;
  right: 2%;
  color: #64b4da;
  opacity: .85
}
.sp_x{
  display: none;
}
.category_list_block{
  margin-bottom: 20px;
}
.category_list_block p{
  margin-bottom: 5px;
  color: #4383bd;
  font-size: 18px;
  font-weight: bold;
}
.category_list_block li{
  display: inline-block;
  margin: 0 7px 10px 0;
}
.category_list_block a{
  display: inline-block;
  background-color: #64b4da;
  border-radius: 15px;
  padding: 0 10px;
  color: #fff;
  font-size: 16px;
  line-height: 25px;
  /*letter-spacing: .1em*/
}
.page section{
  padding: 30px 0;
}
#access #section1 .txt_block img.logo{
  width: 330px;
  margin-bottom: 15px;
}
#access #section1 .txt_block p.address{
  margin-bottom: 28px;
  text-align: center;
}
#access #section1 .txt_block a{
  display: block;
  margin-bottom: 45px;
}
#access #section1 .txt_block a img{
  margin:  0 auto;
}
#access #section1 iframe{
  margin-top: 40px;
  width: 100%;
  height: 300px;
}
#access #section2 .md_flex .col{
  position: relative;
  border: 3px solid #ddeee9;
  border-radius: 10px;
  margin: 0 0 40px 12px;
  padding: 15px 18px 10px;
}
#access #section2 .md_flex .col .step{
  position: absolute;
  top: -20px;
  left: -12px;
}
#access #section2 .md_flex .col img.thumb{
  width: 100%;
  margin-bottom: 1.1em
}
#access #section2 .youtube-wrap {
	width: 96%;
	height: auto;
	margin: 0 auto;
}
#access #section2 .youtube{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
#access #section2 .youtube iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
#menu #section1 a {
	font-weight: bold;
	text-decoration: underline;
	color: #663333;
}
#menu #section2 .md_flex{
  margin-bottom: 30px;
}
#menu #section2 .md_flex .txt_block p{
  line-height: 2
}
#menu .read2 {
  background-color: #ddeee9;
  border-radius: 50px;
  margin-top: 10px;
  padding: 10px 15px;
}
#menu .read2 img{
  margin: 0 auto;
}
#menu #section3{
  padding-bottom: 0;
}
#menu #section3 p.price,
#menu #section3 p.price + span{
  display: inline-block;
  margin-bottom: 15px;
}
 #menu #section3 .col{
   margin-bottom: 30px;
 }
 #menu #section3 p.price span{
   font-size: 30px;
   font-weight: bold;
 }
 #menu #section3 p.price span.second{
   font-size: 24px;
 }
 #menu #section3 span.plan{
   position: relative;
   top: -15px;
   display: inline-block;
   background-color: #64b4da;
   border-radius: 24px;
   margin-right: 10px;
   padding: 0 10px;
   color: #fff;
   font-size: 14px;
   font-weight: bold;
   line-height: 24px;
 }
 .atention_list {
   position: relative;
   background-size: cover;
   border: 1px solid #4383bd;
   border-radius: 13px;
   margin-top: 15px;
   padding: 50px 20px 20px;
 }
 .atention_list h3{
   position: absolute;
   top: 0;
   left: 0;
   width: 120px;
   color: #fff;
   font-weight: bold;
   text-align: center;
   border-radius: 10px 0 0 0;
   line-height: 35px;
   background: #4383bd;
 }
 .atention_list li{
   position: relative;
   padding-left: 1em;
   margin-bottom: 8px;
   line-height: 1.5;
 }
 .atention_list li::before{
   content: '＊';
   position: absolute;
   top: 0;
   left: 0;
 }
.atention_list span {
	font-weight: bold;
}
#menu #section3 dl + p{
  margin-top: 20px;
}
 #menu #section3 p.price {
   display: inline-block;
   border-bottom: 4px solid #ddeee9;
   border-radius: 2px;
   padding: 0 .5em;
   vertical-align: bottom;
 }
 #menu #section3 p.txt_bold{
   margin-bottom: .75em;
   font-weight: bold;
   line-height: 1.75
 }
 #menu #section3 p.txt{
   line-height: 1.75
 }
 #menu #section3 p.baroon{
   position: relative;
   display: inline-block;
   background-color: #64b4da;
   border-radius: 30px;
   margin: 1.5em 0;
   padding: .25em 1.25em;
   color: #fff;
   font-weight: bold;
 }
  #menu #section3 p.baroon:before{
	content: "";
	position: absolute;
	top: -30px;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
	border-bottom: 15px solid #64b4da;
}
.single_wrap .content_block p{
  margin-bottom: 1.8em;
}
.single .content_block h2{
  border-top: 4px solid #4383bd;
  border-bottom: 4px solid #4383bd;
  margin-bottom: 20px;
  padding: 15px 0;
  font-size: 21px;
  font-weight: bold;
}
.single .content_block h3{
  color: #333;
  border-bottom: 2px solid #4383bd;
  font-size: 18px;
}
.single .page_back .link_top{
  color: #666;
  font-weight: bold;
  text-decoration: underline;
}
.archive_list .notfound_content{
	text-align: center;
}
.archive_list li{
  margin-bottom: 20px;
  border: solid 1px #64b4da;
  border-radius: 10px;
  padding: 28px 35px 9px;
}
.archive_list li h3 a{
  display: block;
  font-size: 24px;
  font-weight: bold;
  line-height: 30px;
}
.archive_list li p.date{
  font-size: 14px;
  color: #666666;
}
.archive_list .thumb_block{
  margin-bottom: 20px;
}
.archive_list .thumb_block img{
  width: 100%;
  height: auto;
}
.single_wrap .ttl_block,
.single_wrap .main_vsl{
  margin-bottom: 30px;
}
.single_wrap .main_vsl{
  text-align: center;
}
.single_wrap .voice_list li{
  border: solid 3px #64b4da;
  border-radius: 10px;
  padding: 16px 15px;
  list-style: none;
  box-sizing: border-box;
}
.single_wrap .voice_list p.ttl{
  color: #4383bd;
  font-size: 14px;
  font-weight: bold;
}
.single_wrap .voice_list li .txt_block p{
  font-size: 10px;
  line-height: 1.25;
}
.single_wrap .voice_list li p span{
  font-size: 1.4em;
  font-weight: bold;
}
.single_wrap .voice_list li .btn_more{
  width: 90px;
}
.single_wrap .voice_list_block{
  margin-bottom: 30px;
}
.single_wrap .voice_list_block h4{
  background-color: #64b4da;
  color: #fff;
  margin: 0;
  padding: 14px 10px 15px;
  font-size: 21px;
  font-weight: bold;
  text-align: center;
}
.single_wrap .voice_list_block ul{
  background-color: #ddeee9;
  padding: 20px 30px;;
}
.single_wrap .voice_list_block ul li{
  background-color: #fff;
  margin-bottom: 20px;
}
.single_wrap .voice_list li .thumb img{
  width: 70px;
  height: 70px;
  overflow: hidden;
  border: 2px solid #64b4da;
  border-radius: 70px;
}
.single_wrap .voice_list li .txt_block{
  width: calc(100% - 85px)
}
.pagenation ul{
  margin: 30px 0;
  text-align: center;
}
.pagenation ul li{
  display: inline-block;
  background-color: #cccccc;
  border-radius: 5px;
  color: #fff;
  font-size: 16px;
}
.pagenation ul li{
  margin-right: 5px;
}
.pagenation ul li:last-child{
  margin-left: 0;
}
.pagenation ul li.active{
  background-color: #64b4da;
  padding: 7px;
}
.pagenation ul li a{
  display: block;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 7px;
  border-radius: 5px;
}
.pagenation ul li a:hover{
  border-radius: 5px;
  background-color: #aaa
}
.pagenation .prev{
  margin-right: 10px;
}
.pagenation .next{
  margin-left: 10px;
}
.pagenation .prev a,
.pagenation .next a{
  background-color: #4383bd;
  border-radius: 5px;
  padding: .5em .9em;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
}
#not_found .content{
  padding-bottom: 50px
}
#contact p{
  margin-bottom: 2em;
  text-align: center;
  line-height: 1.86;
}
#not_found .content p{
  margin-bottom: 2em;
  text-align: center;
  font-weight: bold;
  line-height: 1.86;
}
.page .btn{
  margin: 0 auto;
}
.form_block{
  border: 1px solid #64b4da;
  border-radius: 10px;
  margin-top: 50px;
  padding: 40px 0;
}
.form_block .wrap{
  width: 80%;
  margin: 0 auto;
}
form {
  display: block;
  margin-top: 40px;
}
form dl{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
form dt{
  width: 30%;
}
form dd{
  width: 68%;
}
form dd input,
form dd textarea{
  display: block;
  border-radius: 2px;
  border: 1px solid #ccc;
  width: calc(100% - 12px);
  padding: 4px 5px;
  font-size: 15px;
}
form dt.ind::after{
  content: '必須';
  background-color: #64b4da;
  border-radius: 2px;
  color: #fff;
  display: inline-block;
  width: 40px;
  line-height: 20px;
  margin-left: 10px;
  font-size: 12px;
  text-align: center;
}
form input[type="submit"]{
  display: block;
  width: 100%;
  max-width: 170px;
  background-color: #64b4da;
  border: none;
  border-radius: 5px;
  color: #fff;
  margin: 30px auto 0;
  padding: 15px 0;
  font-size: 16px;
  font-weight: bold;
}
.staff_list{
  position: relative;
  padding-bottom: 50px;
}
.staff_list::after{
  content: '';
  width: 34px;
  height: 8px;
  background-color: #6dbda7;
  border-radius: 4px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 15px;
}
.staff_list a img{
  margin: 0 auto 30px;
}
#staff .content dl{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#staff .content dd{
  margin-bottom: 20px;
}
#staff .content h4{
  margin-bottom: 20px;
}
#staff .content h4 + p{
  margin-bottom: 10px;
}
#staff .content img.midashi{
  margin-bottom: 15px;
  width: auto!important
}
#staff ul.circle {
  margin-left: 3%;
}
#staff ul.circle li{
  position: relative;
  margin-bottom: 10px;
  padding-left: 1.2em;
}
#staff ul.circle li::before{
  content: '●';
  position: absolute;
  top: 0;
  left: 0;
  color: #4383bd;
}
#staff .list_content h4{
  border-bottom: 1px solid  #6dbda7;
  margin-bottom: 15px;
  padding-bottom: 15px;
  color: #6dbda7;
  font-size: 22px;
  font-weight: bold;
}
#staff .list_content dt p{
  line-height: 1.75
}
#staff .content .col{
  margin-bottom: 20px;
}
#staff .content dd img{
  width: 100%;
}

#staff #staff1 {
	margin-top: 50px;
}

#staff #staff2 {
	margin-top: 70px;
}

.calendar .sbc-calendar-month {
    float: none;
    padding: 0px!important;
    width: 300px!important;
    border: 0px solid #ccc!important;
    background-color: inherit!important;
    margin-right: 0px!important;
}
 
.calendar #sbc-calendar table {
    width: 100%;
}

@media only screen and (max-width: 579px){
  #staff .content dl dt,
  #staff .content dl dd{
  width: 100%
  }
  #staff .content dl dt img,
  #staff .content dl dt img{
  width: 100%
  }
  .category_list_block a{
    font-size: 14px;
    line-height: 22px;
  }
  .archive_list li{
    margin-bottom: 25px;
    padding: 25px 15px 20px;
  }
  .single_wrap{
    margin-bottom: 40px;
    padding: 30px 15px;
  }
  .single_wrap .ttl_block{
    margin-bottom: 20px;
    padding: 20px 15px;
  }
  .single_wrap .ttl_block h3,
  #voice ul li h3{
    font-size: 21px;
  }
  .single .content_block img{
    display: block;
    width: 100%;
	  height: auto;
  }
  .single_wrap .voice_list li{
    padding: 15px 10px;
  }
  #access #section1 .img_block{
    margin-bottom: 30px;
  }
  .single_wrap .voice_list_block h4{
    font-size: 16px;
  }
  .single_wrap .voice_list_block ul{
    padding: 20px 15px;
  }
  #access #section1 .img_block img{
    width: 100%
  }
  #access #section3 .flex{
    flex-wrap: wrap;	
  }
  #access #section3 .col{
    max-width: none;
	margin-bottom: 25px;
	width: 98%;
	text-align: center;
  }
  #access #section3 .col img{
    margin: 0 auto;
	margin-bottom: 20px;
  }
  #menu #section2 .md_flex img{
    width: 100%;
    margin-bottom: 20px;
  }
	#menu #section2 .comment {
		text-align: center;
		font-weight: bold;
		color: #4383bd;
	}
  #menu .btn_flex{
    justify-content: center;
  }
  #menu .btn_flex a{
    display: block;
    width: 79%;
	margin-bottom: 10px;
  }
  #menu #section3 p.price{
    margin: 0;
  }
  #menu #section3 p.price + span{
    display: block;
    margin: 10px 0 15px;
  }
  #voice dl.ttl_block img{
    display: block;
    margin: 0 auto;
  }
  #voice .single_wrap dl.ttl_block h3{
    width: 100%;
  }
  #voice dl.ttl_block dd{
    width: 100%;
    margin-top: 20px;
  }
  #staff .content .list_content dd{
    margin: 30px 0
  }
}
@media only screen and (min-width: 580px){
  #staff .content .col:nth-of-type(even) dl{
    flex-direction: row-reverse;
  }
  #staff .content dd{
    width: 43%;
  }
  #staff .content dt{
    width: 55%
  }
  #staff .content .list_content dd{
    width: 33%;
  }
  #staff .content .list_content dt{
    width: 65%;
  }
  #voice dl.ttl_block{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
  }
  .single .page_back .link_top{
    margin: 0 50px;
  }
  #access #section1 .lg_flex{
    display: flex;
    justify-content: space-between;
  }
  #access #section1 .img_block,
  #access #section1 .txt_block{
    width: 48%;
  }
  .md_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .md_flex .col{
    width: calc(49% - 50px);
  }
  #menu #section2 .md_flex{
    flex-direction: row-reverse;
  }
  #menu #section2 .md_flex .img_block{
    width: 35%
  }
  #menu #section2 .md_flex .txt_block{
    width: 63%
  }
  .staff_list{
    display: flex;
    justify-content: center;
  }
  .staff_list .col{
    width: 40%;
  }
}
@media only screen and (min-width: 769px){
  .single_wrap ul.voice_list li{
    display: inline-block;
    width: 48%;
    margin: 0 .8%;
  }
  .single_wrap .voice_list li:last-child{
    display: none
  }
  #symptom .archive_list li{
    display: flex;
    justify-content: space-between;
  }
  #symptom .archive_list li .thumb_block{
    width: 200px;
  }
  #symptom .archive_list li .txt_block{
    width: calc(100% - 220px);
  }
  .single_wrap .content_block .box{
    overflow: hidden;
  }
  .single_wrap .content_block .col7{
    float: left;
    width: 67%
  }
  .single_wrap .content_block .col3{
    float: right;
    width: 30%
  }
  #menu #section3 dl{
    display: flex;
    justify-content: space-between;
  }
  #menu #section3 dl dt{
    width: 30%
  }
  #menu #section3 dl dd{
    width: 65%
  }
  #about #section1 .block{
    background-size: 100% 100%
  }
  .category_list_block{
    margin-bottom: 40px;
  }
  .category_list_block{
    display: flex;
    justify-content: space-between;
  }
  .category_list_block p{
    width: 120px;
  }
  .category_list_block ul{
    width: calc(100% - 180px);
  }
  .category_list_block p,
  .category_list_block ul{
    position: relative;
    display: inline-block;
  }
  .category_list_block p::after{
    content: '';
    position: absolute;
    right: -28px;
    width: 6px;
    height: 100%;
    background-color: #4383bd;
    border-radius: 10px;
    margin-left: 46px;
  }
  #about #howto dl,
  #about #flow dl{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  #about #howto dt{
    width: 34%;
    max-width: 250px;
  }
  #about #flow dt{
    width: 30%;
    max-width: 220px;
  }
  #about #flow dd{
    width: 66%;
    margin-left: 3%;
    max-width: 544px;
  }
  #about #flow h4{
    margin-bottom: 20px;
  }
  #about #flow h4 img{
    display: inline-block;
  }
  #about #howto dd{
    width: 63%;
    margin-left: 3%;
    max-width: 544px;
  }
  #about #section1 .block{
    margin-bottom: 60px;
  }
  #about #section1 .lg_flex{
    margin-bottom: 30px;
  }
  #about #section1 .txt_block{
    width: calc(100% - 275px);
  }
  h2.page_ttl{
    margin-bottom: 40px;
  }
  .lg_flex{
    display: flex;
    justify-content: space-between;
  }
  header .lg_flex h1{
    width: 31%;
  }
  header .lg_flex ul{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 63%;
  }
  header .lg_flex ul li{
    width: 32.8%
  }
  header .lg_flex ul li{
    width: 33%
  }
  header .lg_flex ul li.second{
    width: 33%
  }
  header .lg_flex ul li.second{
    width: 33%
  }
  header .lg_flex ul li.second img:first-child{
    margin-bottom: 15px;
    }
  header .lg_flex ul li.third{
    width: 27.5%
  }
  nav{
    display: block;
    background-color: #64b4da;
  }
  nav ul{
    display: flex;
    justify-content: space-between;
  }
  nav ul li{
    position: relative;
    width: calc(100% / 6);
    padding: 26px 0;
  }
  nav ul li img{
    height: 14px;
    margin: 0 auto;
  }
  nav ul li::before,
  nav ul li:last-child::after{
    content: '';
    width: 1px;
    height: 70%;
    background-color: #fff;
    position: absolute;
    top: 15%;
  }
  nav ul li:last-child::after{
    right: 0;
  }
  article{
    padding: 30px 0 100px;
    display: flex;
    justify-content: space-between;
  }
  article main{
    width: 75%;
  }
  article .sidebar{
    width: 23%;
    max-width: 260px
  }
  .home #section1 .block{
    position: relative;
  }
  .home #section1 .block img.bg{
    position: absolute;
    right: 5%;
    bottom: 0;
  }
  .home #section2 .block .txt_block{
    width: 70%;
    margin-left: 25%;
    padding: 50px 0 25px;
  }
  #chara ul li{
    width: 28%;
  }
  .center_list a.first{
    margin-right: 50px;
  }
  .home #section4 ul.check_list li{
    width: calc(24% - 25px);
  }
  .home #section4 ul.check_list li:last-child{
    width: calc(49% - 23px);
  }
  #voice ul.lg_flex li{
    width: 48.75%;
  }
  .lg_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .home #section6 dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .home #section6 dl:nth-last-of-type(even){
    flex-direction: row-reverse;
  }
  .home #section6 dt{
    width: 300px;
  }
  .home #section6 dd{
    width: calc(100% - 330px);
    margin: 0;
  }
  .home #section7 .media_block ul{
    justify-content: space-between;
  }
  .home #section7 .media_block ul li{
    width: 22%;
    margin: 0;
  }
  .home #section8 ul{
    display: flex;
    justify-content: space-between;
  }
  .home #section8 li{
    position: relative;
    width: 22%;
    max-width: 185px;
  }
  .home #section8 li::after{
    content: '';
    width: 18px;
    height: 23px;
    background-image: url("../images/common/icon_right.png");
    background-size: cover;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -26px;
  }
  .home #section8 li:last-child::after{
    content: none
  }
  .home #section9 .col{
    width: 48%
  }
  .sp{
    display: none!important;
  }
  .home #section10 .lg_flex{
    align-items: flex-end;
  }
  .home #section10 .img_block{
    width: 43%;
    margin: 0 0 20px;
  }
  .home #section10 .txt_block{
    width: 52%;
    margin-right: 2%;
  }
  .contact_bar {
    background-image: url("../images/common/bg_contact.png");
    height: 200px;
    margin-top: 60px;
  }
  .contact_bar .wrap{
    position: absolute;
    top: 53%;
    right: 5%;
    transform: translateY(-50%);
    width: 60%;
  }
  .contact_bar .wrap h3 img{
    margin-bottom: 20px;
  }
  .access_block .lg_flex .calendar{
    width: 352px;
  }
  .access_block .lg_flex .address_block{
    width: 400px;
  }
  footer .wrap {
    padding: 30px 0;
  }
  footer .wrap h1,
  footer .wrap .col{
    display: inline-block;
    vertical-align: top;
  }
  footer .wrap h1{
    margin-right: 35px;
  }
  footer p.copy{
    font-size: 13px;
  }
  .pc_fix_parts.fixed{
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    box-shadow: 0px 0px 22.56px 1.44px rgba(0, 0, 0, 0.16);
    animation: slideInDown .7s forwards linear;
    z-index: 1000;
  }
  .pc_fix_parts.fixed nav ul li{
    padding: 16px 0;
  }
}
@media only screen and (min-width: 980px){
  nav ul li img{
    height: auto
  }
  #chara{
    padding-bottom: 60px;
  }
}
@media only screen and (max-width: 768px){
  .side_content dt{
    height: 90px;
  }
  #about #howto dl,
  #about #flow dl{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  #about #howto dt,
  #about #flow dt,
  #about #howto dt img,
  #about #flow dt img{
    display: block;
    width: 100%;
    margin-bottom: 10px
  }
  #about #flow dd{
    width: 100%
  }
  #about #flow h4{
    margin-bottom: 20px;
  }
  #about #section1 .img_block img{
    margin: 0 auto 30px;
  }
  .home #section6 dt img{
    margin: 0 auto 30px;
  }
  .home #section10 .img_block img{
    margin: 0 auto;
  }
  .home #section1 .block h2 img{
    max-width: 95%;
    margin: 0 auto;

    }
  .home #section1 .block{
    background-image: url("../images/home/section1_2_sp.png");
    background-position: right bottom;
    background-size: 60% auto;
  }
  .home #section1 .block li{
    font-weight: bold

  }
  .home #section1 .block img.bg{
    display: none
  }
  main{
    margin-bottom: 40px;
  }
  .contact_bar .wrap{
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 92%;
  }
  .home #section8 li{
    position: relative;
    margin-bottom: 30px;
	  height: 160px;
  }
  .home #section8 li::after{
    content: '';
    width: 23px;
    height: 18px;
    background-image: url("../images/common/icon_down.png");
    background-size: cover;
    position: absolute;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);
  }
  .home #section8 li:last-child::after{
    content: none
  }
  .home #section8 li img.thumb{
    width: 40%;
    margin: 0;
  }
  .home #section8 li h3{
    position: absolute;
    left: 40%;
    top: 6%;
    width: 30%
  }
  .home #section8 li p{
    position: absolute;
    left: 44%;
    top: 18%;
    width: 55%;
    margin: 0;
    font-size: 18px;
    line-height: 1.75
  }
  .media_block h3{
    width: 92%;
    margin: 0 auto;
  }
  .home #section2 .block{
    padding: 40px 10px 20px;
  }
  .home #section2 .block .txt_block p{
    margin-bottom: 20px;
  }
  .pc{
    display: none!important;
  }
  nav{
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    background-color: #64b4da;
    width: 100%;
    height: 100%;
    z-index: 100;
  }
  nav ul{
    padding-top: 50px;
  }
  nav ul li{
    border-bottom: 1px solid #fff;
  }
  nav ul li a{
    padding: 15px;
  }
  header.fixed{
    position: fixed;
    width: calc(100% - 40px);
    top: 0;
    left: 0;
    background-color: #fff;
    box-shadow: 0px 0px 22.56px 1.44px rgba(0, 0, 0, 0.16);
    animation: slideInDown 1s forwards linear;
    z-index: 1000;
    padding: 15px 20px;
  }
}
@media only screen and (min-width: 600px) and (max-width: 768px){
  .sidebar{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .side_content{
    position: relative;
    width: 49%;
  }
  #about #howto dl{
    display: inline-block;
    width: 48%;
    margin: 0 .75% 20px;
    vertical-align: top;
  }
  #about #flow dl{
    display: inline-block;
    width: calc(48% - 35px);
    margin: 0 .75% 20px;
    vertical-align: top;
  }
  #about #flow dl::after{
    content: none;
  }
}
@media only screen and (min-width: 415px){
  .single_wrap ul.voice_list li{
    display: inline-block;
    width: 31.9%;
    margin: .5%
  }
  .single_wrap .voice_list li:last-child{
    display:inline-block;
  }
}
@media only screen and (min-width: 415px){
  footer{
    padding-bottom: 0!important
  }
}
@media only screen and (max-width: 414px){
  h4.bar{
    background-color: #f7ede3;
    border-radius: 5px;
    margin-bottom: 20px;
    padding: 10px;
  }
  #menu #section3 h4.bar img{
    display: block;
    margin: 0 auto;
    height: 12px;
  }
  #menu #section3 dt img{
    width: 100%;
    margin-bottom: 20px;
  }
  .tabs{
    display: none;
  }
  .contact_bar{
    background-size: auto 100%
  }
  #voice ul li dd span.category{
    font-size: 13px;
  }
  .sp_x{
    display: block!important;
  }
  #about #section1 .block{
    padding-top: 160px;
  }
  #about #howto h4 img{
    width: auto;
    height: 17px;
	  margin-bottom: 0;
  }
  .home #section2 .block a{
    display: block;
    margin-left: calc(100% - 180px);
  }
  .container{
    width: 90%;
  }
  footer h1{
    width: 70%;
  }
  .home #section4 ul, .home #section4 p.read{
    margin-bottom: 15px
  }
  section#section4 h2.section_ttl{
    padding-top: 0
  }
  .home #section4 ul li,
  #chara ul li{
    width: 45%;
  }
  .home #section8 li h3{
    left: 44%;
  }
  .home #section8 li p{
    font-size: 12px;
  }
}
@media only screen and (max-width: 320px){
	
}