@charset "UTF-8";
@import "base.css";
@import "fonts.css";
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
  font-size: 140%;
}
html, body {
  font-size: ;
}
h1 {}
#index h2 {
  margin: 0;
  padding: 0;
}
h2 {
  margin: 120px 0px 170px;
}
h3 {
  background: url(../images/content_h3_bk.jpg) left top no-repeat;
  width: 656px;
  height: 97px;
  font-size: 240%;
  color: #3ea688;
  padding: 10px 0 0 10px;
  line-height: 3em;
}
h3.line2 {
  line-height: 1em;
}
h4 {
  background: url(../images/content_h4_bk.jpg) left top no-repeat;
  width: 581px;
  height: 52px;
  font-size: 200%;
  color: #3ea688;
  padding: 16px 0 0 77px;
}
a {
  color: #40a588;
}
a:hover {
  color: #a2d3c5;
}
a:active {
  color: #f96;
  text-decoration: none;
}
a:visited {}
ul {}
li {}
dl {}
dt {}
dd {}
table {}
th, td {}
th {}
td {}
.text {
  line-height: 190%;
}
p {
  margin: 0 0 1em;
}
dt img, dd img, li img {
  vertical-align: bottom;
}
.section {
  padding: .5em 1em 1em;
  margin-bottom: 30px;
}
.section .section {
  padding: .5em .5em 1em;
}
.image_l {
  float: left;
  margin: 0 8px 10px 10px;
}
.image_l {
  float: left;
  margin: 0 12px 10px 0px;
}
.image_l_h5 {
  float: left;
  margin: 0 8px 10px 10px;
}
.image_r {
  float: right;
  margin: 0 0 8px 16px;
}
.case {
  margin: 10px 20px;
  background: url(../images/arrow_h.jpg) center center no-repeat;
}
.case-narrow {
  margin: 10px 40px;
  background: url(../images/arrow_h.jpg) center center no-repeat;
}
.case-noimg {
  margin: 10px 20px;
}
ul.totop {
  clear: both;
  padding-bottom: 20px;
}
ul.totop li {
  float: right;
  list-style: none;
}
.box {
  width: 970px;
}
.f_r {
  float: right;
}
.f_l {
  float: left;
}
.h5p {
  padding: 1px 0 10px 10px;
}
.m_b0 {
  margin-bottom: 0px !important;
}
.mb15 {
  margin-bottom: 15px;
}
.w_50 {
  width: 50%;
}
.w_30 {
  width: 33%;
}
.w_40 {
  width: 47%;
}
.w_16 {
  width: 16%;
}
.w_20 {
  width: 20%;
}
.center {
  text-align: center;
}
html {
  background: none;
}
body {
  color: #333;
}
#wrapper {
  min-width: 1030px;
}
.content01 #wrapper {
  min-width: 1160px;
}
#index #wrapper {
  width: 100%;
  margin: 0 auto;
  background: url(../images/index_bk.jpg) top no-repeat;
  padding: 0;
}
#contents #wrapper {
  width: 100%;
  margin: 0 auto;
  background: url(../images/conten_bk.jpg) top no-repeat;
  padding: 0;
}
#main {
  margin: 0 auto;
  text-align: left;
  #index & {
    @media screen and (min-width: 769px) {
      padding-top: 163px;
    }
  }
}
#point_wrapper {
  margin: -70px 0 -50px 0;
  clear: both;
}
#point {
  width: 768px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
#index #content {
  width: 970px;
  margin: 0 auto 90px auto;
}
#content_wrapper {
  width: 100%;
  margin-top: 100px;
}
#contents #main_wrapper {
  width: 100%;
  @media screen and (min-width: 769px) {
    padding-top: 163px;
  }
}
#contents #main {
  margin: 0 auto;
  width: 970px;
}
#s_nav {
  width: 272px;
  float: left;
}
#contents #content {
  float: right;
  width: 669px;
}
#header {
  width: 970px;
  height: 163px;
  margin: 0 auto;
}
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  width: 100%;
  margin: 0 auto;
  background: url(../images/index_bk.jpg) top no-repeat;
  padding: 0;
}
#header .header_inner {
  width: 970px;
  height: 163px;
  margin: 0 auto;
}
#header p {
  padding: 0;
  margin: 0;
}
#header .header_text {
  height: 20px;
  line-height: 20px;
  text-indent: 1em;
  background: #333;
  color: #fff;
  margin: 0;
  font-size: 90%;
}
#h1area {
  width: 970px;
  height: 25px;
  padding-top: 5px;
}
#header h1 {
  float: left;
  color: #FFF;
  font-size: 13px;
}
.fontrisizer {
  float: right;
  color: #FFF;
  margin-top: 5px;
}
#header #header02 {
  float: right;
  padding-top: 10px;
}
#info {
  width: 970px;
  margin-top: 10px;
}
#header_logo {
  float: left;
}
#infobox {
  float: right;
  width: 454px;
}
#tel {
  float: left;
}
#contact {
  float: right;
}
#gnav {
  width: 951px;
  padding-top: 2px;
  margin: 0 auto;
}
#gnav ul {
  margin: 0;
  padding: 0;
  height: 64px;
}
#gnav ul li {
  float: left;
  list-style: none;
}
#footer_wrapper {
  background: url(../images/index_footer_bk.jpg) 0 no-repeat;
  height: 486px;
}
#footer {
  width: 970px;
  margin: 0 auto;
  clear: both;
}
#footer address {
  width: 970px;
  margin: 0 auto;
}
#f_info {
  width: 970px;
  height: 100px;
  margin: 0;
  padding: 0;
}
#f_info p {
  float: left;
  margin: 28px 0 0 0;
}
#f_info ul {
  float: right;
  margin: 18px 0 0px 0;
}
#f_info ul li {
  list-style: none;
  float: left;
}
#f_infobox {
  width: 437px;
  height: 296px;
  float: left;
}
#f_infobox dl dd {
  float: left;
  margin: 10px 0 19px 0;
}
#f_infobox dl {
  float: left;
  margin-bottom: 5px;
}
.fBanner {
  margin: -5px 0 -28px 3px;
}
.f_l, .f_r {
  margin-bottom: 7px;
}
#mapbox {
  float: right;
  padding: 15px 0 0 0;
  height: 276px;
  width: 460px;
}
#wrapper_address {
  width: 100%;
  clear: both;
  text-align: center;
  padding: 54px 0 0 0;
  color: #fff;
}
address {
  width: 970px;
  margin: 0 auto;
}
#mainSlide {
  clear: both;
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 357px;
  margin-top: 15px;
}
.image {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  clear: both;
}
.image p {
  position: absolute;
  right: 13px;
  top: -340px;
}
#mainSlide #slideInner {
  positions: relative;
  width: 970px;
  margin: 0 auto;
  overflow: visible;
  _overflow: hidden;
}
#mainSlide #inner {
  width: 2986px;
}
#mainSlide #inner .img {
  float: left;
  width: 970px;
}
#point ul li {
  list-style: none;
  float: left;
}
#tyny {
  background-image: url(../images/index_tyny_bk.jpg);
  width: 409px;
  height: 244px;
  float: left;
  text-align: center;
  padding: 0 20px 0 20px;
}
#tyny_title {
  margin: 21px 0 19px 7px;
  float: left;
}
#interview {
  background-image: url(../images/index_interview_bk.jpg);
  background-position: top right;
  width: 460px;
  height: 244px;
  float: right;
}
#interview_title {
  margin: 50px 0px 30px 0px;
}
.idx_calendar {
  width: 499px;
  float: right;
}
#kis {
  background-image: url(../images/index_kis_bk.jpg);
  width: 479px;
  height: 378px;
  float: left;
  margin-top: 30px;
}
#kis dl {
  margin-left: 28px;
}
#kis dl dt {
  margin: 33px 0px 12px 0px;
}
#kis dl dd {
  float: left;
  margin: 0;
}
#pikcup {
  background-image: url(../images/index_pickup_bk.jpg);
  width: 483px;
  height: 382px;
  float: right;
  margin-top: 28px;
}
#pikcup dl {
  margin-left: 28px;
}
#pikcup dl dt {
  margin: 33px 0px 12px 0px;
}
#pikcup dl dd {
  float: left;
  margin: 0;
}
#index h3 {
  background: url(../images/index_h3_bk.jpg) left top no-repeat;
  width: 950px;
  height: 76px;
  padding: 114px 0px 0px 40px;
  margin-top: -14px;
}
#index h4 {
  border: 1px solid #40a588;
  border-radius: 5px;
  padding: 15px 0px 15px 18px;
  margin: 20px 0px 20px 0px;
  background: none;
  height: 16px;
  width: 950px;
}
#treatment {
  padding: 0px;
  margin: 0 0 0 10px;
}
#treatment li {
  list-style: none;
  float: left;
}
h5 {
  background: url(../images/content_h5_bk.jpg) left top no-repeat;
  width: 658px;
  height: 50px;
  color: #fff;
  font-size: 190%;
  padding: 18px 0 0 20px;
  font-weight: bold;
}
.h5box {
  border: 1px solid #40a588;
  border-radius: 8px;
  width: 658px;
  margin-bottom: 30px;
  overflow: hidden;
}
.h5box p {
  margin: 1px 5px 3px 3px;
}

.index_bnr{
  width: 98%;
  margin: 0 auto;
  border: 2px solid #BFBFBF;
}
.index_bnr .title{
  padding: 20px 0;
  text-align: center;
  font-size: 250%;
  font-weight: bold;
  letter-spacing: 0.05em;
  background-color: #007d79;
  color: #fff;
}
.index_bnr .txt{
  text-align: center;
  font-size: 200%;
}
.index_bnr .btn { text-align: center; margin-bottom: 20px;}
.index_bnr .btn a{
  display: inline-block;
  max-width: 300px;
  padding: 10px 15px;
  margin: 0 auto;
  background-color: #007d79;
  color: #fff;
  border-radius: 10px;
  font-size: 150%;
  font-weight: bold;
  text-decoration: none;
}

ul.h5p {
  margin: 1px 5px 3px 3px;
  line-height: 3em;
}
.concept h4.cap_01 {
  background: url(../images/content_star_b_01.png) left top no-repeat;
  color: #3ea688;
  padding: 30px 0 14px 70px;
  line-height: 2.5em;
}
.concept h4.cap_02 {
  background: url(../images/content_star_b_02.png) left top no-repeat;
  color: #3ea688;
  padding: 30px 0 14px 70px;
  line-height: 2.5em;
}
.concept h4.cap_03 {
  background: url(../images/content_star_b_03.png) left top no-repeat;
  color: #3ea688;
  padding: 30px 0 14px 70px;
  line-height: 2.5em;
}
.con_box {
  border-bottom: 2px #28A7A7 dashed;
}
.point_box {
  border: 1px solid #B2C0BC;
  width: 628px;
  margin-bottom: 60px;
  padding: 2px 20px 23px 20px;
  background: #EDF1F0;
}
.point_box .inner_01 {
  margin: 2px -16px -20px -17px;
  padding: 20px;
  background: url(../images/content_point_bot_01.png) 565px 159px no-repeat;
  background-color: #FFF;
}
#content .point_box .inner_01 h5.tagu {
  background: url(../images/content_point_top_01.png) left top no-repeat;
  padding: 50px 0px 0px 0;
  margin: -40px 0 0 -12px;
  color: #3ea688;
  text-align: center;
}
.point_box .inner_02 {
  margin: 2px -16px -20px -17px;
  padding: 20px;
  background: url(../images/content_point_bot_02.png) 565px 173px no-repeat;
  background-color: #FFF;
}
.point_box .inner_02a {
  margin: 2px -16px -20px -17px;
  padding: 20px;
  background: url(../images/content_point_bot_02.png) 565px 140px no-repeat;
  background-color: #FFF;
}
.point_box .inner_03 {
  margin: 2px -16px -20px -17px;
  padding: 20px;
  background: url(../images/content_point_bot_02.png) 565px 173px no-repeat;
  background-color: #FFF;
}
#content .point_box .inner_02 h5.tagu {
  background: url(../images/content_point_top_02.png) left top no-repeat;
  padding: 50px 0px 0px 0;
  margin: -40px 0 0 -12px;
  color: #3ea688;
  text-align: center;
}
#content .point_box .inner_02a h5.tagu {
  background: url(../images/content_point_top_02.png) left top no-repeat;
  padding: 50px 0px 0px 0;
  margin: -40px 0 0 -12px;
  color: #3ea688;
  text-align: center;
}
#content .point_box .inner_03 h5.tagu {
  background: url(../images/content_point_top_03.png) left top no-repeat;
  padding: 50px 0px 0px 0;
  margin: -40px 0 0 -12px;
  color: #3ea688;
  text-align: center;
}
.point_box .inner_04 {
  margin: 2px -16px -20px -17px;
  padding: 20px;
  background: url(../images/content_point_bot_04.png) 565px 159px no-repeat;
  background-color: #FFF;
}
#content .point_box .inner_04 h5.tagu {
  background: url(../images/content_point_top_04.png) left top no-repeat;
  padding: 50px 0px 0px 0;
  margin: -40px 0 0 -12px;
  color: #3ea688;
  text-align: center;
}
.section.clearfix.star_box {
  background-color: rgb(235, 252, 252);
  padding: 27px 40px 40px 40px;
  border-radius: 8px;
}
#content .section h5.cap {
  background: url(../images/content_star_b_01.png) left top no-repeat;
  color: #3ea688;
  padding: 30px 0 14px 70px;
  line-height: 2.5em;
}
#content .section dl.star dt {
  background: url(../images/content_star_s_01.png) left top no-repeat;
  color: #3ea688;
  padding: 4px 0px 0px 66px;
  line-height: 2.5em;
  font-size: 160%;
  margin: 22px 0 0 0;
}
#content .section .star_2 {
  background: url(../images/content_star_s_01.png) left top no-repeat;
  color: #3ea688;
  padding: 4px 0px 0px 66px;
  line-height: 2.5em;
  font-size: 160%;
  margin: 22px 0 0 0;
  font-weight: normal;
}
#c_kis {
  background: url(../images/content_kis_bk.jpg) left top no-repeat;
  padding-top: 45px;
  text-align: center;
  height: 720px;
}
#c_point {
  background: url(../images/content_point_bk.jpg) left top no-repeat;
  padding-top: 45px;
  text-align: center;
  height: 610px;
}
#c_kis dt {
  margin-bottom: 20px;
}
#c_point dt {
  margin-bottom: 24px;
}
#c_treatment {
  margin: 30px 0 80px 0;
}
table {
  width: 659px;
  border: solid 1px #6a3436;
}
table tr th {
  border: solid 1px #fff;
  background-color: #e4eaf3;
}
table tr th.flow {
  background-color: #e4eaf3;
  border: 1px solid #fff;
  padding: 15px;
}
table tr td {
  border: solid 1px #fff;
  background-color: #f3f3f3;
}
.bunner {
  text-align: center;
}
#toTop {
  float: right;
  margin: 30px 0 30px 0;
}
.Q {
  font-size: 166%;
  font-weight: bold;
  margin: 0 13px 0 -4px;
  line-height: 0em;
}
.A {
  font-size: 341%;
  font-weight: bold;
  line-height: 0em;
  color: rgb(233, 131, 148);
  padding: 21px 7px 15px 15px;
  float: left;
}
.box_01 {
  border: 1px solid #40a588;
  border-radius: 8px;
  width: 658px;
  margin-bottom: 30px;
}
.box_01_01 {
  border: 1px solid #40a588;
  border-radius: 8px;
  width: 658px;
  margin-bottom: 30px;
  height: 85px;
}
.box_01_02 {
  border: 1px solid #40a588;
  border-radius: 8px;
  width: 658px;
  margin-bottom: 30px;
  height: 145px;
}
.box_01_03 {
  border: 1px solid #40a588;
  border-radius: 8px;
  width: 658px;
  margin-bottom: 30px;
  height: 130px
}
.box_01_04 {
  border: 1px solid #40a588;
  border-radius: 8px;
  width: 658px;
  margin-bottom: 30px;
  height: 110px;
}
.box_01_l {
  float: left;
  background-color: #40a588;
  padding: 15px;
  height: 115px;
  width: 200px;
  border: 1px solid #40a588;
  border-radius: 6px 0 0 6px;
  color: #fff;
  font-size: 117%;
  font-weight: bold;
}
.box_01_l_01 {
  float: left;
  background-color: #40a588;
  padding: 15px;
  height: 53px;
  width: 200px;
  border: 1px solid #40a588;
  border-radius: 6px 0 0 6px;
  color: #fff;
  font-size: 117%;
  font-weight: bold;
}
.box_01_l_02 {
  float: left;
  background-color: #40a588;
  padding: 15px;
  height: 113px;
  width: 200px;
  border: 1px solid #40a588;
  border-radius: 6px 0 0 6px;
  color: #fff;
  font-size: 117%;
  font-weight: bold;
}
.box_01_l_03 {
  float: left;
  background-color: #40a588;
  padding: 15px;
  height: 98px;
  width: 200px;
  border: 1px solid #40a588;
  border-radius: 6px 0 0 6px;
  color: #fff;
  font-size: 117%;
  font-weight: bold;
}
.box_01_l_04 {
  float: left;
  background-color: #40a588;
  padding: 15px;
  height: 78px;
  width: 200px;
  border: 1px solid #40a588;
  border-radius: 6px 0 0 6px;
  color: #fff;
  font-size: 117%;
  font-weight: bold;
}
.box_01_l.h130 {
  height: 130px;
}
.box_01_r {
  float: right;
  width: 394px;
  padding: 15px;
}
.yazirushi {
  text-align: center;
}
span.maru {
  border-radius: 60px;
  background-color: #40a588;
  line-height: 3em;
  padding: 2px 8px 2px 8px;
  margin: 0 10px 0 0;
  color: #fff;
}
.font_s {
  font-size: 75%;
  line-height: 2em;
}
.dot {
  background: url(../images/content_dot.png) left top no-repeat;
  padding-left: 35px;
  padding-bottom: 10px;
}
.dot_2 {
  background: url(../images/content_dot.png) left 8px no-repeat;
  padding-left: 35px;
}
input[type="checkbox"] {
  margin: 10px 10px 12px 0px;
}
.blue {
  color: blue;
  border: 1px solid;
  margin: 0 0 0 12px;
  font-size: 84%;
  padding: 0 2px 0 2px;
}
.red {
  color: red;
  border: 1px solid;
  margin: 0 0 0 12px;
  font-size: 84%;
  padding: 0 2px 0 2px;
}
.btnList li {
  float: left;
  padding-right: 20px;
}
.tbl01 {
  width: 650px;
  margin: 0 4px 5px;
}
.banner {
  padding: 15px 0 0 4px;
  clear: both;
  margin: 0;
}
.staff_bg {
  padding: 10px 5px;
  text-align: center;
  background-color: #e4eaf3;
  width: 100%;
}
.mt-20 {
  margin-top: -30px;
}
.mt20 {
  margin-top: 20px;
}
.cal_r {
  color: #f00;
}
.cal_b {
  color: #0f20f6;
}
.flex_cal {
  display: flex;
  justify-content: center
}
.taglist li {
  position: relative;
  padding-left: 20px;
}
.taglist li:before {
  position: absolute;
  content: '';
  left: 0;
  top: 3px;
  background: #4ea72e;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  z-index: 2;
}
.taglist li a {
  color: #eb7f47;
  text-decoration: none;
}
@media screen and (min-width: 769px) {
    .pc_none,.sp_nav, #fix_menu {
        display: none !important;
    }

    a.pc_click_none {
        pointer-events: none;
        display: block;
    }
}

@media screen and (max-width: 768px) {
    .pc_none {
        display: block;
    }

    .sp_none,.sp_nav a.none:after,#gnav,#infobox,.fontrisizer,#s_nav {
        display: none;
    }

    #header,#header .header_inner,#h1area,#info,#point,.idx_calendar,#tyny,.box,#content,h3,h4,h5,#f_info>*,#f_info,#footer,#footer address,#kis,#f_infobox,#f_infobox dl,.f_l, .f_r,.image_r,.image_l,#f_infobox dl dd,#mapbox,#contents #main,.box_01_r,.box_01_l_01,.box_01_01,.box_01_l_02,.box_01_02,.box_01_l_03,.box_01_03,.box_01_l_04,.box_01_04,.h5box,.point_box,.box_01_l,.box_01 {
        width: auto !important ;
        min-width: inherit !important;
        float: none !important;
        height: initial !important;
        margin-left: auto;
        margin-right: auto;
    }

    #header {
        position: relative;
        top: inherit;
        left: inherit;
        margin-left: auto;
    }

    html, body, form, fieldset, h1, h2, h3, h4, h5, h6, pre, blockquote, ul, ol, dl, dt, dd, address {
        margin: 0;
        padding: 0;
        /* font-family: "Sawarabi Mincho", serif; */
    }

    * {
        -webkit-box-sizing: border-box;
        /* Safari,Google ChromeÍÑ */
        -moz-box-sizing: border-box;
        /* FirefoxÍÑ */
        -ms-box-sizing: border-box;
        /* Internet Explorer 8ÍÑ */
        box-sizing: border-box;
        /* OperaÍÑ */
        min-width: inherit!important;
        margin-left: auto;
        margin-right: auto;
        word-break: break-all;
        float: none;
        word-break: break-word;
    }

    html {
        font-size: 62.5%;
    }

    body {
        -webkit-text-size-adjust: none;
        font-size: 1.4rem;
        line-height: 1.6;
        letter-spacing: 0;
        margin-bottom: 50px;
        overflow: auto;
    }

    img {
        max-width: 100%;
        height: initial;
        display: block;
        margin: auto;
    }
    #h1area {
      padding: 0;
    }
    h2, h3, h4, h5, h6 {
        line-height: 1.3;
    }

    #header h1 {
      font-size: 1rem !important;
      float: none;
      padding: 7px 10px;
      background: #7ec0ac;
    }

    h2 {
      font-size: 2rem !important;
      background: url(../images/conten_bk.jpg) bottom no-repeat;
      background-size: auto 150%;
      padding: 20px;
      margin-bottom: 30px;
      min-height: 130px;
      display: flex;
      align-items: center;
      justify-content: center;
      img {
        body:not(#index) & {
          max-height: 80px;
          width: auto;
          &[src="../images/interview_h2.png"],&[src="../images/child_h2.png"],&[src="../images/faq_h2.png"],&[src="../images/choice_h2.png"],&[src="../images/before_h2.png"],&[src="../images/concept_h2.png"],&[src="../images/staff_h2.png"],&[src="../images/flow_h2.png"] {
            max-height: 50px;
          }
        }
      }
    }

    h3 {
        font-size: 1.7rem !important;
        padding: 3vw 0 7vw;
        background-size: 100%;
        margin-bottom: 15px;
        background-position: bottom;
    }

    h4, .faq dt {
      font-size: 1.6rem !important;
      padding: 1.1vw 0 5.2vw 45px;
      background-size: 100%;
      margin-bottom: 9px;
      position: relative;
      border-bottom: solid 1px #c4c5c7;
      background: none;
      &:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        background: url(../images/content_h4_bk.jpg) left top no-repeat;
        background-size: 350px;
        width: 30px;
        height: 20px;
      }
    }

    h5 {
        font-size: 1.5rem;
        padding: 15px 10vw 10px 15px;
        min-height: 40px;
        margin-bottom: 10px;
        background-position: right top;
        background-size: 340px;
        background-color: #027d78;
    }

    h6 {
        font-size: 1.4rem;
    }

    table,table[class] {
        width: 100% !important;
        border-collapse: collapse;
        border-spacing: 0;
        table-layout: fixed;
        margin-bottom: 20px;
    }

    th, td {
        vertical-align: top;
        padding: 10px;
        word-break: break-all;
        display: block;
        width: 100%!important;
    }

    .mailform {
        margin: 0 0 10px;
    }

    .scroll_sp th, .tbl_pc th,.scroll_sp td, .tbl_pc td {
        display: table-cell;
        width: auto !important;
    }

    #fix_menu ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    #fix_menu li {
        width: 50%;
    }

    #fix_menu ul {
        /* width: 310px; */
        margin: auto;
    }

    #fix_menu {
        background: rgba(255, 255, 255, 0.8);
        overflow: auto;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 999;
    }

    #fix_menu li:nth-child(2) a {
        background: #f6d10e;
        color: white;
        padding: 4px 0px 0px;
        
        span {
          position: relative;
          padding-left: 1.5em;
        }
    }

    #fix_menu li:nth-child(2) a span:before {
        content: "→";
        height: fit-content;
        position: absolute;
        background: none;
        top: 0;
        left: 0;
        bottom: 0px;
        margin: auto;
        display: block;
    }



    #fix_menu a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        font-size: 1.8rem;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
        text-decoration: none;
        position: relative;
        background: white;
    }
    #info {
      position: relative;
      background: white;
      padding: 20px 10px;
      background: white;
      margin: 0;
    }
    #info.is-fixed {
      position: fixed;
      top: 0;
      width: 100% !important;
    }
    #sp-nav-toggle {
      display: flex;
      position: absolute;
      right: 10px;
      top: 10px;
      width: 50px !important;
      height: 50px;
      cursor: pointer;
      background: #f6f5f4;
      padding: 10px;
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
      border-radius: 5px;
      color: #000000;
      margin: 0 !important;
      z-index: 99999;
      border: 1px solid #000000;
    }

    #sp-nav-toggle:after {
        content: "MENU";
        position: absolute;
        bottom: 4px;
        left: 0;
        right: 0;
        font-size: 1.2rem;
        text-align: center;
    }

    #sp-nav-toggle.open:after {
        content: "CLOSE";
    }

    #sp-nav-toggle div {
        position: relative;
        width: 100%;
    }

    #sp-nav-toggle span {
        display: block;
        position: absolute;
        width: 100%;
        border-bottom: solid 3px #333;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        -o-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }

    #sp-nav-toggle span:nth-child(1) {
        top: -2px;
    }

    #sp-nav-toggle span:nth-child(2) {
        top: 5px
    }

    #sp-nav-toggle span:nth-child(3) {
        top: 12px
    }

    #sp-nav-toggle.open span:nth-child(1) {
        top: 6px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    #sp-nav-toggle.open span:nth-child(2), #sp-nav-toggle.open span:nth-child(3) {
        top: 6px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    .sp_nav {
        position: fixed;
        top: 94px;
        left: 0;
        right: 0;
        bottom: 50px;
        padding-top: 0;
        z-index: 9999;
        display: none;
        background: rgb(255 255 255 / 90%);
        text-align: center;
        /* color: white; */
        overflow: auto;
        overscroll-behavior-y: contain;
    }
    body:has(.is-fixed) {
      .sp_nav {
            top: 72px;
      }
    }
    .sp_nav dt,.sp_nav li>span {
        position: relative;
        /* background: #038868; */
        /* color: white; */
        padding: 10px;
        text-align: left;
        border-bottom: 1px dotted #7ebfac;
        font-size: 1.4rem;
        display: block;
    }

    .sp_nav dt:before, .sp_nav li>span:before {
        content: "";
        width: 11px;
        height: 1px;
        position: absolute;
        right: 8px;
        top: 0;
        bottom: 0;
        background: #7ebfac;
        margin: auto;
        transition: .3s;
    }

    .sp_nav dt:after, .sp_nav li>span:after {
        right: 13px;
        bottom: 0;
        top: 0;
        background: #7ebfac;
        content: " ";
        height: 11px;
        width: 1px;
        position: absolute;
        margin: auto;
        transition: .03s;
    }

    .sp_nav dt.open:before {
        transform: rotate(360deg)
    }

    .sp_nav dt.open:after {
        transform: rotate(450deg)
    }
    .sp_nav dd {
      display: none;
      padding-inline: 15px;
    }

    .sp_nav dt.open + dd {
      display: block;
    }
    .sp_nav dl {
        /* font-size: initial; */
        /* display: none; */
        dd a {
          padding-left: 2em;
        }
    }


    .sp_nav .last {
        width: 100%;
    }

    .sp_nav>* {
        transition: 0.4s;
    }


    .sp_nav li:empty {
        border-bottom: 1px dotted #c3c3c3;
    }

    .sp_nav dl.fix dd {
        display: block;
    }

    .sp_nav a.close2 {
        text-align: center;
        justify-content: center;
        border-right: none !important;
    }

    .sp_nav li {
        width: 100%;
        /* display: flex; */
    }

    .sp_nav li li {
    }

    .sp_nav a, .sp_nav .close {
        text-align: left;
        display: block;
        padding: 10px;
        text-decoration: none;
        border-bottom: 1px dotted #7ebfac;
        width: 100%;
        color: #000000;
        align-items: center;
        justify-content: start;
        position: relative;
        font-size: 1.4rem;
    }

    .sp_nav a {
        padding: 10px 20px 10px 10px;
    }

    .sp_nav *:nth-child(odd) a {
        /* border-right: 1px dotted #c3c3c3; */
    }

    .sp_nav a:after, .sp_nav .close:after {
        content: "";
        right: 5px;
        top: 0;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        border-color: rgba(136, 183, 213, 0);
        border-left-color: white;
        border-width: 5px;
        bottom: 0;
        margin: auto;
    }

    .sp_nav a:after, .sp_nav .close:after {
        border-left-color: #ffffff;
    }

    .sp_nav .close {
        text-align: center;
        justify-content: center;
    }

    p:empty {
        display: none;
    }

    a, area, button, [role="button"], input:not([type=range]), label, select, summary, textarea {
        -ms-touch-action: manipulation;
        touch-action: manipulation;
    }
    .tbl_sp2 th .pc_none {
        display: none;
    }
    .tbl_sp2 tr:nth-child(1),
    .tbl_sp tr:nth-child(1) {
        display: none;
    }

    .tbl_sp2 tr:not(:nth-child(1)) >td {
        position: relative;
        padding: 10px 10px 10px 52%;
    }

    .tbl_sp2 .pc_none {
        background: #fef6ed;
        border-right: 1px solid #cdbfb4;
        color: #e89302;
        font-weight: 700;
        margin: 0;
        padding: 10px;
        text-align: center;
        width: 50%;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .tbl_sp2 .pc_none span {
        font-size: 90%;
        color: #989898;
    }


    .tbl_sp tr:not(:nth-child(1)) >* {
        position: relative;
    }

    .tbl_sp .pc_none {
        background: #e8e0dc;
        border-bottom: 1px solid #cdbfb4;
        color: #5d4230;
        font-weight: 700;
        margin: -10px -10px 10px;
        padding: 10px;
        text-align: center;
    }

    .tbl_sp .pc_none span {
        font-size: 90%;
        color: #989898;
    }

    .target_link {
        font-size: 1.2rem;
        text-align: center;
        color: #808080;
    }

    /*インプットにはこれをいれる*/
    #fmail input[type="text"] {
        width: 100%!important;
        max-width: 100%!important;
        ox-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
    }

    /*テキストエリアにはこれを入れる*/
    #fmail textarea {
        height: 200px;
        width: 100%!important;
        max-width: 100%!important;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
    }

    input[value="郵便番号から住所を入力"] {
        display: none;
    }

    #twex {
        display: none!important;
    }

    form.fmail_submit, form.fmail_cancel {
        width: 100% !important;
        text-align: center !important;
    }

    span#fmail_title_default, span#fmail_title_confirm, span#fmail_title_error, span#fmail_title_thanks {
        display: none !important;
    }

    .scroll_sp {
        margin-bottom: 20px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch !important;
    }

    .scroll_sp::-webkit-scrollbar {
        width: 5px;
        background: #ccc;
    }

    .scroll_sp::-webkit-scrollbar:horizontal {
        height: 5px;
        background: #ccc;
    }

    .scroll_sp::-webkit-scrollbar-thumb {
        background: #969696;
        border-radius: 2px;
    }

    .scroll_sp::-webkit-scrollbar-thumb:horizontal {
        background: #969696;
        border-radius: 2px;
    }

    .scroll_sp table {
        width: 800px !important;
    }
    iframe {
      width: 100%;
    }
    #header_logo {
      float: none;
      width: 199px;
    }
    #mainSlide #inner .img {
      width: 100vw;
    }
    #point ul {
      display: flex;
    }

    #mainSlide {
      height: auto;
      margin: 0;
    }
    #mainSlide #inner {
      height: 35vw !important;
    }
    #point_wrapper {
      margin: -20px 0 0px;
    }

    #content_wrapper {
      margin-top: 20px;
    }
    p#tyny_title {
      float: none;
      padding: 10px;
      text-align: left;
      margin: 0;
      background: #0c7973;
      img {
        margin:0;
      }
    }

    #tyny {
      padding: 0;
      margin: 10px;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 0 5px #7b7b7b;
      background:white;
      iframe {
        margin:10px;
      }
    }
    .idx_calendar {
      padding: 10px 10px 0;
    }
    .index_bnr {
      width: auto;
      margin-inline: 10px;
    }

    .index_bnr .title {
      font-size: 1.5rem;
    }

    .index_bnr .txt {
      font-size: 1.4rem;
      padding-inline: 10px;
    }

    .index_bnr .btn a {
      font-size: 1.4rem;
    }

    #kis {
      background-position: top center;
      background-size: 99%;
      padding: 20px;
      max-width: 480px;
    }

    #kis dl {
      margin: 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    #kis dl dt {
      margin: 0 0 10px;
      width: 100%;
    }

    #kis dl dd {
      float: none;
      width: 49%;
    }
    #pikcup {
      background-position: top center;
      background-size: 99%;
      padding: 30px;
      max-width: 480px;
      float: none;
      width: auto;
      height: auto;
      margin: 10px auto 0;
    }

    #pikcup dl {
      margin: 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    #pikcup dl dt {
      margin-top: 0;
    }

    #pikcup dl dd {
      float: none;
      width: 50%;
    }

  [src="images/idx_bn.png"] {
    margin: 0 auto;
    padding: 5px;
    max-width: stretch;
  }

  #interview {
    background-size: 100%;
    background-repeat: no-repeat;
    width: auto;
    height: auto;
    float: none;
    margin: 5% auto;
    padding-right: 110px;
    max-width: 355px;
    br {
      display:none;
    }
  }

  #interview_title {
    margin: 0;
    padding: 30px 12% 20px 0;
    img {
      margin:0;
      max-width: 210px;
    }
  }
  #index h3 {
    padding: 115px 0 50px 0;
  }

  #index h4 {
    margin: 0 auto 10px;
    max-width: 360px;
  }
  #index .section {
    margin: 0 auto;
    max-width: 360px;
  }
  #treatment {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 360px;
  }

  #treatment li {
    float: none;
    width: 50%;
    line-height: 1;
    position: relative;
    a {
      position:relative;
      min-height: 70px;
      display: flex;
      overflow: hidden;
      img {
        margin-right: -1em;
      }

    }
    &:nth-child(odd){
      padding-right: 1em;
    }
    &:nth-child(even){
      &:before {
        content: "";
        position: absolute;
        top: 10px;
        left: -1em;
        bottom: 10px;
        border-left: 1px dotted #c7c7c7;
      }
    }
    &:nth-child(-n + 4) {
      a {
        align-items: flex-end;
      }
    }
    &:nth-child(n + 3) {
      border-top:1px dotted #c7c7c7;
    }
    &:nth-child(3) ,&:nth-child(7) {
      img {
        margin-left:-5px;
      }
    }
    &:nth-child(5) {
      img {
        margin-top: -5px;
      }
    } 
    img {
      margin: 0 0px -2px;
      max-width: 104%;
      height: fit-content;
    }
    &:last-child {
      img {
        max-width: 100%;
      }
    }
  }

  #f_info ul {
    display: flex;
    margin-bottom: 30px;
  }

  div#footer_wrapper {
    height: auto;
    padding: 20px 10px 0;
    background: none;
    position: relative;
    &:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 5px;
      background: url(../images/index_footer_bk.jpg) top center no-repeat;
    }
  }

  #f_info p {
    max-width: 250px;
    margin: 0 auto 20px;
  }
  #index #content {
    margin-bottom: 30px;
  }
  p.fBanner {
    margin: 0;
  }
  #f_infobox dl + dl {
    margin-top: 30px;
  }
  div#mapbox .f_r {
    text-align: right;
  }
  #wrapper_address {
    padding: 10px;
    margin: 15px -10px 0;
    background: url(../images/index_footer_bk.jpg) bottom;
    width: auto;
  }
  #contents #wrapper {
    background: none;
  }
  ul.h5p {
    margin: 0;
    padding-right: 10px;
  }

  .dot_2 {
    background-size: 11px;
    background-position: top 4px left;
    padding-left: 20px;
    line-height: 1.5;
    + .dot_2{
      margin-top:10px;
    }
  }
  div#content {
    padding-inline: 1em;
  }
  .section {
    margin-bottom: 0;
    padding-inline: 0;
  }


  #content .section .star_2 {
    line-height: initial;
    background-size: 26px;
    padding: 0px 0 0px 31px;
    min-height: auto;
    margin-bottom: 10px;
    &:nth-child(1) {
      margin-top: 0;
    }
  }
  .box_01_l_01,.box_01_l_02,.box_01_l_03,.box_01_l_04 {
    border-radius: 6px 6px 0 0;
    p {
      margin-bottom:0;
    }
  }

  .box_01_r p {
    margin: 0;
  }

  .box_01_01,.box_01_02,.box_01_03,.box_01_04 {
    margin-bottom: 15px;
  }
  .A.h5p {
    font-size: 24px;
    padding: 13px 10px 10px;
  }
  .h5box p {
    margin: 1px 10px 0px 0;
    padding: 0 10px 10px 10px;
  }
  .section.clearfix.star_box {
    padding: 20px;
    margin-bottom: 30px;
  }

  #content .section h5.cap {
    background-size: 36.5px 41.5px;
    padding: 7px 5px 0px 40px;
  }
  #content .section dl.star dt {
    background-size: 26px;
    padding: 0px 0 0px 31px;
    font-size: 1.5rem;
    background-position: top 5px left;
    margin: 15px 0px 0 0;
  }
  #content .point_box h5.tagu {
    padding:50px 10px 10px !important;
  }

  .point_box .inner_01 {
    padding: 20px 10px 1px;
  }
  .concept h4.cap_01,
  .concept h4.cap_02,
  .concept h4.cap_03 {
    background-size: 36.5px 41.5px;
    padding: 5px 5px 5px 40px;
    border:none;
    &:before {
      display:none;
    }
  }
  .box_01 {
    .box_01_l {
      border-radius: 6px 6px 0 0;
    }
    p {
      margin: 0;
    }
  }
  span.txt_yello {
    text-align: left;
    display: block;
    padding: 10px;
    color: #f7b52c;
    border-bottom: 1px solid;
  }

  span.pink {
    display: block;
    text-align: left;
    color: #ed8292;
    padding: 10px 0;
    border-bottom: 1px solid;
  }
  span.green.big {
    font-size: 110%;
    color: #007d79;
  }

}
