@charset "utf-8";
/* CSS Document */

*, ::before, ::after {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
body {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-style: normal;
  font-weight: normal;
  font-size: 1.2rem;
  color: #333;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  z-index: 0;
  font-feature-settings: "pkna"1;
  overflow-x: hidden;

}
a {
  text-decoration: none;
}
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0;
  font-weight: 400;
  font-size: inherit;
  font-feature-settings: "palt";
  line-height: 1.65;
}
p {
  margin-bottom: 0;
}
pre {
  margin-bottom: 0;
}
dl {
  margin-bottom: 0;
}
ul {
  margin-bottom: 0;
}
ol {
  margin-bottom: 0;
  list-style: decimal;
  padding-left: 1em;
}
img
{
    max-width: 100%;
}
a:hover
{
    opacity: .8;
}
/*-----------------------------------------------------------------*/
#header
{
    z-index: 100;
    padding-left: 5rem;
    position: relative;
}
.h_inner
{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.logo
{
    position: absolute;
    top: 1vw;
    left: 1vw;
    max-width: 26vw;
}
.h_btn
{
    display:flex;
    justify-content: flex-end;
    position: fixed;
    top: 0;
    right: 0;
    width: 50%;
    padding-top: 1vw;
}
.yoyaku
{
    max-width: 21.5vw;
}
.menu
{
    max-width: 10.5vw;
}
.mv
{
    position: relative;
    width: 100%;
}
.catch
{
    position: absolute;
    bottom: 12vw;
    left: 4vw;
    font-size: max(1.2vw , 1.6rem);
    letter-spacing: 0.06em;
    line-height: 1.8;
}
.catch .ja
{
    font-size: max(3vw , 2rem);
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

.en
{
   font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 2.2vw;
    letter-spacing: 0.1em;
}
.en span
{
    font-size: 6vw;
    display: block;
    letter-spacing: 0.1em;
    font-weight: 500;
}
.maru
{
    position: absolute;
  right: 30vw;
  bottom: 3vw;
  width: 21%;
}
.all
{
    position: absolute;
  right: 2vw;
  bottom: 3vw;
  width: 26%;
}
.top_bnr
{
    padding: 5% 3%;
}
.bnr_inner
{
    max-width: 1200px;
    margin: 0 auto;
    
}
.bnr_inner a
{
    display: block;
    padding: 3rem 5rem 3rem 25%;
    background: #d5b392;
    position: relative;
    color: #FFFFFF;
    font-size: max(2vw , 2rem);
    box-shadow: 3px 3px 9px -5px #777777;
}
.bnr_inner a::before
{
    content: "";
    background: url("image/bnr_icon.png") no-repeat center / contain;
    width: 61px;
    height: 42px;
    position: absolute;
    left: 5%;
    top: 50%;
    transform: translateY(-50%);
}
.bnr_inner a::after
{
    content: '';
  width: 14px;
  height: 14px;
  border: 0;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 5rem;
  bottom: 0;
  margin: auto;
}
.container
{
    padding: 3%;
    max-width: calc(1460px + 6%);
    margin: 0 auto;
}
.trouble
{
    padding: 0 0 3% 0;
    
}
.ttl
{
    font-size: 3vw;
    text-align: center;
    font-weight: 500;
}
.ttl span
{
    display: block;
    font-size: 2vw;
}
.trouble_wrap
{
    background: url("image/t_bg.png") no-repeat top center;
    padding: 3%;
    background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
    
}

.flex
{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}
.trouble .flex
{
    gap:3rem;
    justify-content: center;
}
.troublebox
{
    width: calc((100% - 9rem) / 4);
    margin-bottom: 3rem;
}
.troublettl
{
    padding: 3% 0;
    color: #FFFFFF;
    background: #3871da;
}
.arw_trouble {
  background: url("image/arrow_trouble.png") no-repeat bottom center;
    background-size: cover;
  min-height: 6vw;
  padding: 6vw 2vw;

}
.tw
{
    font-size: max(2.6vw , 3rem);
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    line-height: 1.8;
    letter-spacing: 0.1em;
}
.troubletxt
{
    font-size: 1.8rem;
    line-height: 1.6;
}
.implant
{
    padding: 3% 0;
    position: relative;
    background: url("image/implant_bg.png") no-repeat top /cover;
}
.implant_wrap
{
    max-width: 1660px;
    padding: 2rem;
    margin: 0 auto 13vw;
}
.implant_wrap.left
{
    background: #2641a9;
    position: relative;
}
.implant_wrap.left::after{
    content: "";
    background: url("image/r_deco.png") no-repeat center / contain;
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(517 / 1920* 100vw);
    max-width: 517px;
    height: calc(352 / 1920* 100vw);
    max-height: 352px;
}
.implant_wrap.right
{
    background: #132b88;
    position: relative;
}
.implant_wrap.right::after{
    content: "";
    background: url("image/l_deco.png") no-repeat center / contain;
    position: absolute;
    left: 0;
    bottom: 0;
    width: calc(517 / 1920* 100vw);
    max-width: 517px;
    height: calc(352 / 1920* 100vw);
    max-height: 352px;
}

.implant_inner
{
    border: 1px solid #FFFFFF;
    padding: 3vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    position: relative;
    z-index: 1;
}


.implant_inner_contents
{
    max-width: calc((100% - 2rem) / 2);
    color: #FFFFFF;
}
.imp_ttl
{
    font-size: 3.8rem;
    margin-bottom: 14vw;
    text-align: center;
    font-weight: 600;
}
.imp_en
{
    font-size: 2.8rem;
    text-align: center;
    font-family: futura-pt, sans-serif;
    margin-bottom: 5rem;
}
h4.sub_ttl
{
    text-align: center;
    font-size: max(2.3vw , 2rem);
    margin-bottom: 3%;
}
h4.sub_ttl span
{
    font-size: max(1.6vw , 1.8rem);
}

.implant_inner_contents p
{
    font-size: max(1vw , 1.6rem);
    letter-spacing: 0.08em;
    line-height: 1.6;
}
.re
{
    flex-direction: row-reverse;
}
.r_img_box
{
    margin-top: -13vw;
}
.implant01::before
{
    content: "01";
    font-size: max(6vw , 3rem);
    position: absolute;
    bottom: 0;
    left: 0;
    color: rgba(255,255,255,0.20);
    line-height: 1;
}
.implant02::before
{
    content: "02";
    font-size: max(6vw , 3rem);
    position: absolute;
    bottom: 0;
    right: 0;
    color: rgba(255,255,255,0.20);
    line-height: 1;
}
.implant03::before
{
    content: "03";
    font-size: max(6vw , 3rem);
    position: absolute;
    bottom: 0;
    left: 0;
    color: rgba(255,255,255,0.20);
    line-height: 1;
}
.implant05::before
{
    content: "05";
    font-size: max(6vw , 3rem);
    position: absolute;
    bottom: 0;
    right: 0;
    color: rgba(255,255,255,0.20);
    line-height: 1;
}
.implant06::before
{
    content: "06";
    font-size: max(6vw , 3rem);
    position: absolute;
    bottom: 0;
    left: 0;
    color: rgba(255,255,255,0.20);
    line-height: 1;
}
.implant07::before
{
    content: "07";
    font-size: max(6vw , 3rem);
    position: absolute;
    bottom: 0;
    right: 0;
    color: rgba(255,255,255,0.20);
    line-height: 1;
}
.implant .g_ttl
{
    margin-bottom: 14vw;
}

.maker_box
{
    padding: 5rem;
    border: 1px solid #333333;
    max-width: 1700px;
    width: 100%;
    position: relative;
}
.maker_ttl
{
    font-size: max(2vw , 2.6rem);
    font-weight: 600;
    text-align: center;
    margin-bottom: 5rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
}
.maker_l
{
    position: absolute;
    left: 0;
    bottom: 0;
    max-width: 30%;
}
.maker_r
{
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: 30%;
}
.maker_ttl span
{
    color: #479a3e;
}
.maker_box .txt
{
    text-align: center;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
.maker_box .txt p
{
    font-size: max(1vw , 1.6rem);
}
.maker_box .img
{
    width: 20%;
    text-align: center;
}
.maker_box .flex
{
    align-items: center;
}
.info
{
    background: url("image/info_bg.png") no-repeat top center;
    background-size: cover;
    padding: 5rem 0;
    position: relative;
}
.info_ttl
{
    font-size: 2.8rem;
    text-align: center;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    margin-bottom: 5rem;
}
.abs
{
    position: absolute;
}
.info_r
{
    right: 0;
    bottom: 0;
    width: calc(636 / 1920* 100vw);
    max-width: 636px;
}
.info_l
{
    left: 3%;
    bottom: 3%;
    width: calc(284 / 1920* 100vw);
    max-width: 284px;
}
.tc
{
    text-align: center;
}
.white
{
    color: #FFFFFF!important;
}
.info_ttl span
{
    font-size: 4.8rem;
}

.info .flex
{
    justify-content: center;
}
.reason_ttlbg
{
    background: url("image/reason_ttl.png") no-repeat top center;
    background-size: cover;
    padding: 8rem 0;
    font-size: 3.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    line-height: 1.6;
    margin-top: 5rem;
    min-height: 450px;
}
.info_txt
{
    padding-top: 2rem;
    text-align: center;
    color: #FFFFFF;
    font-size: max(1vw , 1.4rem);
}
.reason_ttlbg span
{
    font-size: 6rem;
    font-weight: 600;
}
.reason01
{
    background: url("image/reason01_bg.png")no-repeat top center;
    background-size: contain;
}
.reasonNm
{
    text-align: center;
    font-size: max(3vw , 3rem);
    font-family: futura-pt, sans-serif;
    margin-bottom: 3rem;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #d1caba;
}
.reasonNm span
{
    font-size: 8rem;
}
.reason_ttl
{
    font-size: 3.8rem;
    text-align: center;
    margin-bottom: 5rem;
    color: #28325b;
}
.reason_txt
{
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-bottom: 5rem;
}
.reasonimg
{
    margin-bottom: 5rem;
}
.reasonbox
{
    width: 24%;
    margin-bottom: 5rem;
}
.reasonbox_img
{
    width: 100%;
}
.bgb
{
    background: #223770;
    color: #FFFFFF;
    text-align: center;
    padding: 2rem 0;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.masui_wrap
{
  margin: 0 auto 5%;
    max-width: calc(1660px + 6%); 
    padding: 0 3%;
}
.masui_box
{
    position: relative;
    background: url("image/masui_box_bg.png")no-repeat center / cover;
    padding: 8rem;
}
.masui_ttlbox
{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.masui_deco
{
    position: absolute;
    top: -8rem;
    left: 0rem;
    background: url("image/reason01_deco.png")no-repeat top center;
    background-size: contain;
    width: 190px;
    height: 190px;
}
.masui_deco p
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    font-size: 2.4rem!important;
    font-weight: 600;
    color: #FFFFFF;
    width: 100%;
}
.blue
{
    color: #4478b3;
}
.masui_ttl
{
    font-size: 1.8rem;
    margin-bottom: 5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.6;
    padding-left: 20rem;
}
.masui_ttl span
{
    font-size: 3.8rem;
}
.masui_box .txt
{
    width: 50%;
}
.masui_box .img
{
    width: 42%;
}
.mb3
    {
        margin-bottom: 3%!important;
    }
.txt p
{
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.implant_contants_wrap04
{
    background: #ebeef3;
    padding: 5%;
    margin-bottom: 14vw;
}
.wrap04_ttl
{
    margin-bottom: 3%;
    text-align: center;
}
h3.wrap04
{
    font-size: max(6vw , 6rem);
    font-weight: 600;
}
.wrap04_ttl .sub_ttl
{
    font-size: max(2vw , 2rem);
}
.flex-3
{
    max-width: calc((100% - 6.1vw) / 3)
}

.g_ttl{
    margin-bottom: 4%;
    text-align: center;
    font-size: max(2vw , 2rem);
    
}

.g_ttl span {
  display: inline-block;
  background: linear-gradient(180deg, #2641a2 10%, #001a7a 20%, #2641a2 60%);
  background: -webkit-linear-gradient(-90deg, #2641a2 10%, #001a7a 20%, #2641a2 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    font-size: max(8vw , 4rem);
    letter-spacing: 0.08em;
}






.oneguidebox
{
    border: 1px solid #4478b3; 
    padding: 5rem;
    background: #FFFFFF;
    max-width: 1300px;
    margin: 5rem auto
}
.oneguide_ttl
{
    text-align: center;
    font-size: 3.8rem;
    font-weight: 500;
    margin-bottom: 5rem;
    letter-spacing: 0.1em;
}
.oneguidebox .img
{
    width: 30%;
}
.oneguidebox .txt
{
    width: 60%;
}
.alc
{
    align-items: center;
}

.center_ttl
{
    font-size: max(2.4vw , 3.8rem);
    line-height: 1.6;
    letter-spacing: 0.1em;
    margin-bottom: 5rem;
    text-align: center;
    color: #28325b;
}
.center_ttl span
{
    font-size: max(1.4vw , 2rem);
}

.flexbox
{
    width: 50%;
}
.flexbox:nth-child(2)::before
{
    content: "✕";
    position: absolute;
    top: 12vw;
    left: -8%;
    font-size: max(10vw , 10rem);
    color: #FFFFFF;
    transform: translateY(-50%);
    z-index: 1;
     text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
.flexbox:nth-child(2)
{
    margin-top: 10rem;
    position: relative;
}

.flexboxtxt_inner
{
    border: 1px solid #968d64;
    padding: 2vw;
}
.flexboxtxt_inner .sub_ttl
{
    color: #968d64;
    margin-bottom: 3%;
    text-align: center;
    font-size: max(2vw , 2rem);
}

.flexboxtxt_inner.bluep
{
    border: 1px solid #4478b3;
    padding: 2vw;
}
.flexboxtxt_inner.bluep .sub_ttl
{
    color: #4478b3;
    margin-bottom: 3%;
    text-align: center;
    font-size: max(2vw , 2rem);
}
.sub_txt
{
    font-size: 2.8rem;
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    padding: 8rem 3rem;
    background: #5d6e79;
    letter-spacing: 0.1em;
}.sub_txt
{
    font-size: 2.8rem;
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    padding: 8rem 3rem;
    background: #5d6e79;
    letter-spacing: 0.1em;
}
.medicaltxt
{
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    max-width: 900px;
    margin: 3rem auto;
}
.medical
{
    padding: 3% 0;
    background: url("image/medical_bg.png") no-repeat center / cover;
}
.medical_subttl
{
    font-size: 2.8rem;
    text-align: center;
    padding: 3rem 0;
    position: relative;
    margin-bottom: 5rem;
}
.medical_subttl::before
{
    content: "";
    width: 10vw;
    height: 3px;
    background: #2D2928;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.medical_subttl::after
{
    content: "";
    width: 10vw;
    height: 3px;
    background: #2D2928;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.med_box
{
    width: 42%;
    padding: 3vw;
    background: #FFFFFF;
    border: 1px solid #333333;
    margin-bottom: 3vw;
}
.med_img
{
    margin-bottom: 3rem;
}
.med_boxttl
{
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 3rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #28325b;
}
.med_boxttl span
{
    font-size: 1.8rem;
}
.med_box p
{
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.flow
{
    background: url("image/flow_bg.png")no-repeat top center;
    background-size: cover;
    padding: 3% 0;
}
.flow .ttl
{
    font-size: max(2vw , 2rem);
    margin-bottom: 3%;
}
.flow .ttl span {
  font-size: max(8vw , 5rem);
  letter-spacing: 0.08em;
    text-align: center;
    
}
 .flow .sub_ttl {
  font-size: max(1.4vw , 1.8rem);
  text-align: center;
     color: #28325b;
}
    .flow .sub_ttl span {
  display: inline-block;
  padding: 1rem;
  border: 1px solid #28325b;
}
.flow_ttlbg
{
    background: url("image/flow_ttl_bg.png") no-repeat top center;
    background-size: cover;
    padding: 8rem 0;
    font-size: 3.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    line-height: 1.6;
    margin-top: 5rem;
}
.flow_ttlbg span
{
    display: block;
    font-family: futura-pt, sans-serif;
    font-style: normal;
    font-weight: 600;
}
.flow_wrap
{
    max-width: calc(1300px + 6%);
    padding: 3%;
    margin: 0 auto;
}
.flow_wrap2
{
    max-width: calc(1500px + 6%);
    padding: 3%;
    margin: 0 auto;
}
.flow_implant_ttl
    {
        font-size: max(2vw , 2rem);
        letter-spacing: 0.06em;
        margin-bottom: 3%;
    }
.flow .flex
    {
        flex-wrap: nowrap;
        gap: 1rem;
    }
.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 30px;
    margin-bottom: 0;
    margin-right: calc(-1 * 30px / 2);
    margin-left: calc(-1 * 30px / 2);
    justify-content: space-evenly;
}
.row > .col {
    margin-top: 30px;
    margin-left: 0;
    padding-right: calc(30px / 2);
    padding-left: calc(30px / 2);
}
.row .span_12 {
    width: 100%;
}
.frame {
    border: 1px solid #707070;
    padding: 4rem;
    position: relative;
    display: flex;
    background: #fff;
    flex-wrap: wrap;
}
.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.frame > .col {
    padding-right: calc(30px / 2);
    padding-left: calc(30px / 2);
}
.row .span_2 {
    width: calc(100% / 12 * 2);
}
.row .span_3 {
    width: calc(100% / 12 * 3);
}
.row .span_4 {
    width: calc(100% / 12 * 4);
}
.row .span_5 {
    width: calc(100% / 12 * 5);
}
.row .span_6 {
    width: calc(100% / 12 * 6);
}
.row .span_8 {
    width: calc(100% / 12 * 8);
}
.text-large {
    font-size: 3.8rem !important;
}.frame
.indent {
    margin-left: 1em;
    text-indent: -2em;
    border-bottom: 1px solid #707070;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    color: #223770;
}
.indent span.bg {
    display: inline;
}
span.bg {
    background: #28325b;
    color: #FFFFFF;
    padding: 15px;
    display: block;
    margin-right: 10px;
    border-radius: 50px;
    font-family: futura-pt, sans-serif;
    font-style: normal;
    font-weight: 600;
    
}
.frame.arrow:after {
    border-color: #707070;
    border-style: solid;
    border-width: 30px 1px;
    content: '';
    position: absolute;
    right: 50%;
    bottom: -61px;
}
.stripe_bg
{
    padding: 2vw 5vw!important;
    background: url("image/flow01_bg.png") no-repeat center / cover;
    margin-top: 3%;
}
.stripe_bg .sub_ttl
{
    text-align: center;
    font-size: max(2vw , 2rem);
    margin-bottom: 3%;
}
.stripe_bg .sub_ttl span
{
    font-size: max(1vw , 1.6rem);
    border: none;
}
.gap3
{
    gap: 3vw;
}
.jcc
{
    justify-content: center!important;
}
.text-bold {
    font-weight: 600!important;
}
.t18
{
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.guide
{
    max-width: calc(1660px + 6%);
    margin: 0 auto 14vw;
    padding: 3%;
}
.guide_inner
{
    border: 1px solid #132b88;
    padding: 3vw;
    background: #FFFFFF;
}
.flex .img
{
    width: 38%;
}
.flex .txt
{
    width: 58%;
}

.guide_inner .flex .img
{
    width: 38%;
}
.guide_inner .flex .txt
{
    width: 58%;
}
.guide_inner .flex .txt p
{
    letter-spacing: 0.08em;
    line-height: 1.8;
}
.guide_inner .ttl
{
    font-size: max(2vw , 2rem);
    margin-bottom: 3%;
    font-weight: 600;
}
.implant_inner_contents .sub
{
    font-size: max(1.1vw , 2rem);
    margin-bottom: 3%;
    line-height: 2;
}
    .rejected
    {
        padding: 3% 0;
    }
.rejected_ttl
{
    font-size: 3.8rem;
  margin-bottom: 5% 3%;
  text-align: center;
  font-weight: 600;
}
    .rejected_inner
    {
        background: url("image/rejected_bg.png") no-repeat center / cover;
        padding: 10vw 0;
    }
    
    .rejected_inner .flex
    {
        max-width: 1600px;
        margin: 0 auto;
    }
.rejected_inner .sub_ttl
{
    text-align: left;
    font-weight: 600;
    margin-bottom: 5%;
}
.rejected_box_wrap
{
    max-width: calc(1680px + 6%);
    margin: 0 auto;
    padding: 3%;
}
.rejected_box
{
    position: relative;
    padding: 2rem 2rem 5vw;
    color: #FFFFFF;
}
.rejected_box.bg01
{
    background: url("image/bg01.png") no-repeat center / cover;
}
.rejected_box.bg02
{
    background: url("image/bg02.png") no-repeat center / cover;
}
.box_ttl
{
    font-size: max(1.6vw , 2rem);
    font-weight: 600;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid #FFFFFF;
    margin-top: 1rem;
    text-align: center;
}
.rejected_name
{
    font-size: max(4vw , 3rem);
    color: rgba(255,255,255,0.19);
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    text-align: center;
}

.comparison
{
    padding: 3%;
}
.comparison_inner
{
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.red
{
    color: #FF0000;
}


.frame.arrow.end:after {
    display: none;
}

.table-compare {
    width: 100%;
    font-size: 1.8rem;
}
.table-compare thead th {
    background: #28325b;
    color: #FFFFFF;
}
.table-compare tbody th {
    background: #4478b3;
    color: #FFFFFF;
}
.table-compare td, .table-compare th {
    border: 1px solid #707070;
    padding: 1.4em;
    text-align: center;
    vertical-align: middle;
    background: #FFFFFF;
}
.table-compare thead th
    {
        background: #132b88;
        color: #FFFFFF;
        text-align: center;
    }
    .table-compare tbody th
    {
        text-align: left;
    }
    .table-compare tbody th span
    {
        font-weight: normal;
        font-size: 1.6rem;
        display: block;
        margin-top: 1rem;
        line-height: 1.6;
    }
.under_construction
{
    padding: 3%;
    text-align: center;
    position: relative;
}
.under_construction::before
{
    content: "準備中";
    background: rgba(45,45,45,0.90);
    height: 100%;
    width: 100%;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    font-size: max(5vw , 5rem);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
}
.case .ttl {
  padding: 2rem;
  font-size: max(8vw , 8rem);
  margin-bottom: 1rem;
  font-family: futura-pt, sans-serif;
  color: #e7e4dd;
  letter-spacing: 0.06em;
}
 .case .sub_ttl {
  font-size: max(1.4vw , 1.8rem);
  text-align: center;
     color: #28325b;
}
    .case .sub_ttl span {
  display: inline-block;
  padding: 1rem;
  border: 1px solid #28325b;
}
.case_ttlbg {
  background: url("image/case_ttl_bg.png") no-repeat top center;
  background-size: cover;
  padding: 8rem 0;
  font-size: 3.8rem;
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  line-height: 1.6;
  margin-top: 5rem;
}
.case_ttlbg span {
  display: block;
  font-family: futura-pt, sans-serif;
  font-style: normal;
  font-weight: 600;
}
.grayout
{
    position: relative;
}

.fee
{
    padding: 3%;
}
.feetable
{
    max-width: 1000px;
    margin: 0 auto;
    margin-bottom: 5rem;
}
.fee_ttlbg {
  padding: 8rem 0;
  font-size: max(3vw , 3rem);
  text-align: center;
  letter-spacing: 0.1em;
  color: #28325b;
  line-height: 1.6;
  margin-top: 5rem;
}
.fee_ttlbg span {
  display: block;
  font-family: futura-pt, sans-serif;
  font-style: normal;
}
.feebox
{
    padding: 8rem;
    border: 1px solid #333333;
    background: #FFFFFF;
    text-align: center;
    margin-bottom: 5rem;
    max-width: 1300px;
    margin: 5rem auto;
}
.feebox_ttl
{
    font-size: 3.8rem;
    margin-bottom: 3rem;
    letter-spacing: 0.1em;
}
.feebox p ,.feebox_bg p
{
    margin-bottom: 3rem;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}
.fee_img
{
    margin-bottom: 3rem;
}
.feebox_bg
{
    padding: 8rem;
    background: url("image/masui_box_bg.png") no-repeat center / cover;
    text-align: center;
    margin-bottom: 5rem;
    max-width: 1480px;
    margin: 5rem auto;
}
.feebox_bg .txt
{
    width: 46%;
    text-align: left!important;
}
.feebox_bg .img
{
    width: 46%;
}
.risk
{
    padding: 5%;
    margin-bottom: 3%;
    background: url("image/risk_bg.png") no-repeat center / cover;
    background-position: bottom;
}
.risk_inner
{
    max-width: 1200px;
    margin: 0 auto;
    padding: 3vw;
 background: #FFFFFF;
}
.risk_wrap
{
    height: 200px;
    overflow-y: scroll;
    padding: 0 3vw;
}
.risk_inner .sub_ttl
{
    text-align: center;
    margin-bottom: 4%;
    font-size: max(2vw , 2rem);
    color: #28325b;
}
.risk_inner p
{
    font-size: max(0.9vw , 1.6rem);
    line-height: 1.6;
}
.greeting
{
    background: url("image/greeting_bg.png") no-repeat top center;
    background-size: contain;
    background-position: right;
    padding: 4% 0;
}
.greeting .sub_ttl
{
    font-size: max(1.6vw , 2rem);
    color: #28325b;
    margin-bottom: 3%;
    line-height: 1.8;
    letter-spacing: 0.08;
}
.greeting_ttlbg {
  background: url("image/greeting_ttl_bg.png") no-repeat top center;
  background-size: cover;
  padding: 8rem 0;
  font-size: 3.8rem;
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  line-height: 1.6;
  margin-top: 5rem;
}
.greeting_ttlbg span {
  display: block;
  font-family: futura-pt, sans-serif;
  font-style: normal;
  font-weight: 600;
}

.greeting_name
{
    font-size: max(2vw , 1.8rem);
    margin-bottom: 8rem;
    position: relative;
    letter-spacing: 0.1em;
    padding-top: 3rem;
    line-height: 1;
    text-align: right;
}
.greeting_name span
{
    font-size: 1.8rem;
}
.greeting_name span:first-child
{
    padding-right: 1vw;
}
.greeting_name span.rbrown
{
    color: #d5b291!important;
    font-weight: 400!important;
}
.greeting .txt
{
    width: 44%;
}
.greeting .img
{
    width: 44%;
}
.career_box
    {
        background: url("image/career_bg.png") no-repeat center / cover;
        padding: 2rem;
        max-width: 46%;
        width: 100%;
    }
    .career_box .sub_ttl
    {

        font-size: max(1.4vw , 1.8rem);
        padding: 1rem;
        margin-bottom: 4%;
        font-weight: 600;
    }
    dl.career
    {
        display: flex;
        font-size: max(0.9vw , 1.6rem);
        flex-wrap: wrap;
    }
    .career dt
    {
        width: 25%;
        padding: 1rem
    }
    .career dd
    {
        width: 70%;
        padding: 1rem;
    }
.career_box p
{
    font-size: max(0.9vw , 1.6rem);
    line-height: 1.8;
}
.list_disc
{
    font-size: max(0.9vw , 1.6rem);
    
}
.list_disc li
{
    margin-bottom: 1rem;
    list-style: disc;
    padding-left: 1rem;
    margin-left: 3rem;
}
.clinic_ttlbg {
  padding: 4% 0 3%;
  font-size: max(3vw , 3rem);
  text-align: center;
  letter-spacing: 0.1em;
  color: #28325b;
  line-height: 1.6;
}
.clinic_ttlbg span {
  display: block;
  font-family: futura-pt, sans-serif;
  font-style: normal;
  font-weight: 400;
}
.clinic_tel
{
    font-size: 3.8rem!important;
    font-family: futura-pt, sans-serif;
    font-style: normal;
  font-weight: 600;
    position: relative;
    padding-left: 5rem;
}
.clinic_tel::before
{
    content: "";
    background: url("image/icon_phone.png") no-repeat top center/ contain;
    position: absolute;
    left: 8vw;
    top:14px;
    width: 38px;
    height: 38px;
}
.clinic .txt
{
    width: 45%;
    text-align: center;
}
.clinic .txt p
{
    margin-bottom: 1rem;
}

.clinic .img
{
    width: 45%;
}
.clinic_name
{
    font-size: max(2vw , 2rem);
    margin-bottom: 3%;
    color: #011c7c;
}
.clinic_name span
{
    font-size: max(1.4vw , 1.8rem);
}
.time-table {
  display: block;
  border-collapse: collapse;
}

.time-table {
  display: block;
  border-collapse: collapse;
}

.time-table th {
  border-top: 1px solid #d2d2d2;
}

.time-table th, .time-table td {
  padding: 0px 10px;
  text-align: center;
  height:50px;
  border-bottom: 1px solid #d2d2d2;
    font-size: 1.6rem;
    vertical-align: middle;
    font-weight: 400;
}

.time-table td {
	  width: 100%;
    min-width: 58px;
}

.time-table td .time {
 color:#3c3c3c;
}
.time span
{
    font-size: 1.4rem;
}
.time_txt
{
    font-size: 1.3rem
}
@media screen and (max-width: 896px)  {
 .time-table td {
  min-width: auto;
  width:100%;
  max-width:5%;
  font-size:12px;
 }

 .time-table th, .time-table td {
  min-width: 40px;
  width:100%;
  padding:0px 15px;
  font-size:1.6rem;
     vertical-align: middle;
 }
}
.t_left
{
    text-align: left!important;
}
.gmap
{
    max-width: 1200px;
    margin: 5rem auto;
}
.faq
{
    padding: 3% 0;
    background: url("image/faq_bg.png") no-repeat center / cover;
}
.faq .ttl {
  padding: 2rem;
  font-size: max(8vw , 8rem);
  margin-bottom: 1rem;
  color: #FFFFFF;
  letter-spacing: 0.06em;
}
.faq .sub_ttl {
  font-size: max(1.4vw , 1.8rem);
  text-align: center;
     color: #28325b;
    margin-bottom: 4%;
}
    .faq .sub_ttl span {
  display: inline-block;
  padding: 1rem;
  border: 1px solid #28325b;
}
.faq_ttl
{
    font-size: 2rem;
    font-weight: 500;
    color: #FFFFFF;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 8rem;
} 
.faq_ttl span
{
    font-size: 15rem;
    font-family: futura-pt, sans-serif;
    font-style: normal;
  font-weight: 500;
    display: block;
}

.toggle-wrap {
    margin-bottom: 20px;
}
details {
    display: block;
}
summary {
    display: block;
    list-style: none;
}
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 1000px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
    background: #FFFFFF;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-weight: normal;
    padding: 1.5% 3% 1.5% 6%;
    transition: all .5s ease;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333333;
    
}
.title::before{
    top:48%;
    right: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    right: 15px;
    transform: rotate(90deg);

}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
  transform: rotate(45deg);
}

.title.close::after{
  transform: rotate(-45deg);
}
h3.title span
{
    display: block;
    position: absolute;
    left: 20px;
    top:25%;
    color: #182573;
    font-size: 2rem;
    font-weight: 100;
    letter-spacing: .05rem;
}
/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
  margin:0 3% 3% 3%;
    padding: 3%;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    position: relative;
}
.box p
{
    padding-left: 2rem;
}
.box p span {
    display: block;
    position: absolute;
    left: 20px;
    top: 30px;
    color: #f00;
    font-size: 2rem;
    font-weight: 100;
    letter-spacing: .05rem;
}
#footer
    {
        background: #182573;
        padding-top: 3%;
    }
#footer .clinic_name
{
    color: #FFFFFF;
    font-size: max(2vw , 2rem);
}
#footer .clinic_name span
{
    font-size: max(1vw , 2rem);
}

#footer .txt
{
    width: 43%;
}
#footer .f_time
{
    width: 43%;
}
#footer .clinic_tel::before
{
    left: 0;
}
#footer .flex
{
    gap:3vw;
    max-width: 1500px;
    margin: 3% auto;
}
#footer .f_bnr
{
    width: calc((100% - 9.2vw) / 4);
}
.f_time_box
{
    padding: 1rem;
    background: #FFFFFF;
}
.f_logo
{
    margin-bottom: 3rem;
}
.f_icon
{
    padding: 1rem 3rem; 
    background: #F1EFEA;
    text-align: center;
    margin: 3rem 0;
}
.yoyaku_btn
{
    margin-bottom: 5rem;
    text-align: center;
}
.f_time p
{
    padding: 1rem 0;
    font-size: 1.6rem;
}
.copy
{
    padding: 1rem;
    background: #223770;
    color: #FFFFFF;
    text-align: center;
    letter-spacing: 0.1em;
}
.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger{
    opacity: 0;
}
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
  top:0;
    right: -120%;
  width:50%;
    height: 100vh;/*ナビの高さ*/
  background:#f3ede0;
    /*動き*/
  transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 50%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    width: 80%;
}

/*リストのレイアウト設定*/

#g-nav li{
  list-style: none;
    text-align: center;
}

#g-nav li a{
  text-decoration: none;
  padding:2rem;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em!important;
  font-weight: 400;
font-size: 1.8rem;
    border-bottom: 1px solid #333333;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1{
  position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
  top:0;
  right: 0;
  cursor: pointer;
    height: 8vw;
width: 8vw;
}
  
/*×に変化*/  
.openbtn1 span{
    display: none;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    width: 45%;
  }
.openbtn1.active span {
    display: inline-block!important;
    background: #333333;
  }

.openbtn1 span:nth-of-type(1) {
  top:15px; 
}

.openbtn1 span:nth-of-type(2) {
  top:23px;
}

.openbtn1 span:nth-of-type(3) {
  top:31px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 60px;
    left: 38px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 72px;
    left: 38px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
#page-top {
  position: fixed;
  right: 10px;
  bottom:10px;
  z-index: 2;
    /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}

/*--------------------------------------------------------------------------

pc

--------------------------------------------------------------------------*/
@media screen and (min-width: 846px) {
    .sp-only {
    display: none !important;
  }
  .tab-only {
    display: none !important;
  }
    .sp-tab-only {
    display: none !important;
  }
}
    
/*--------------------------------------------------------------------------

tablet

--------------------------------------------------------------------------*/

@media only screen and (min-width: 558px) and (max-width: 845px) {
  .sp-only {
    display: none !important;
  }
  .pc-only {
    display: none !important;
  }
    #header
{
    z-index: 100;
    padding-left: 5rem;
    position: relative;
}
.h_inner
{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.logo
{
    position: absolute;
    top: 0;
    left: 4vw;
    max-width: 26vw;
}
.h_btn
{
    display:flex;
    justify-content: flex-end;
    position: fixed;
    top: 0;
    right: 0;
    width: 50%;
}
.yoyaku
{
    max-width: 28vw;
}
    
.menu
{
    max-width: 10.5vw;
}
.mv
{
    position: relative;
    width: 100%;
}
.catch
{
    position: absolute;
    bottom: 3vw;
    left: 4vw;
    font-size: max(1.2vw , 1.6rem);
}
    .maru {
  position: absolute;
  right: 45vw;
  bottom: 22vw;
  width: 25%;
}
.catch .ja
{
    font-size: max(3vw , 2rem);
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.1em;
}
.en
{
   font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 2.2vw;
    letter-spacing: 0.1em;
}
.en span
{
    font-size: 6vw;
    display: block;
    letter-spacing: 0.1em;
    font-weight: 500;
}
    .openbtn1.active span:nth-of-type(3) {
  top: 42px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}
    .openbtn1.active span:nth-of-type(1) {
  top: 30px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}
.container
{
    padding: 3%;
    max-width: calc(1460px + 6%);
    margin: 0 auto;
}
.trouble
{
    padding: 3% 0;
    background: #F1EFEA;
}
.ttl
{
    font-size: 3.6vw;
    text-align: center;
    font-weight: 500;
}
.ttl span
{
    font-family: futura-pt, sans-serif;
    display: block;
    font-size: 2vw;
}
.trouble_wrap
{
    background: url("image/t_bg.png") no-repeat top center;
    background-size: cover;
    padding: 3%;
    
}
.flex
{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}
.troublebox
{
    width: 30%;
    margin-bottom: 3rem;
}
.troublettl
{
    padding-bottom: 3%;
}
.arw_trouble
{
    background: url("image/arrow_trouble.png") no-repeat top center;
    height: 274px;
    padding: 5rem;
    background-size: auto;
    margin-bottom: 10rem;
}
.tw
{
    font-size: 3.8rem;
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    line-height: 1.8;
    letter-spacing: 0.1em;
}


.imp_en
{
    font-size: 2.8rem;
    text-align: center;
    font-family: futura-pt, sans-serif;
    margin-bottom: 5rem;
}
.troubletxt
{
    font-size: 1.8rem;
    line-height: 1.6;
}

.maker_box
{
    padding: 5rem;
}
.maker_ttl
{
    font-size: 2.6rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 5rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

.maker_box .txt
{
    width: 70%;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    margin: 0 auto;
}
.maker_box .img
{
    width: 20%;
    text-align: center;
}
.maker_box .flex
{
    align-items: center;
}
.info
{
    background: url("image/info_bg.png") no-repeat top center;
    background-size: cover;
    padding: 5rem 0;
}
.info_ttl
{
    font-size: 1.8rem;
    text-align: center;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.1em;
    color: #223770;
    margin-bottom: 5rem;
}
.info_ttl span
{
    font-size: 3.8rem;
    display: block;
}
    
    

    
.tel_btn
{
    width: 100%;
    height: 156px;
    text-align: center;
    margin-bottom: 3rem;
}
.reserve_btn
{
    width: 24%;
    height: 156px;
    text-align: center;
}
.reason_ttlbg
{
    background: url("image/reason_ttl.png") no-repeat top center;
    background-size: cover;
    padding: 8rem 0;
    font-size: 3.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    line-height: 1.6;
    margin-top: 5rem;
}
.reason_ttlbg span
{
    font-size: 6rem;
}
.reason01
{
    background: url("image/reason01_bg.png")no-repeat top center;
    background-size: cover;
}
.reasonNm
{
    text-align: center;
    font-size: 2.8rem;
    font-family: futura-pt, sans-serif;
    margin-bottom: 3rem;
    font-style: normal;
    letter-spacing: 0.1em;
}
.reasonNm span
{
    font-size: 8rem;
}
.reason_ttl
{
    font-size: 3rem;
    text-align: center;
    margin-bottom: 5rem;
}
.reason_txt
{
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-bottom: 5rem;
}
.reasonimg
{
    margin-bottom: 5rem;
}
.reasonbox
{
    width: 30%;
    margin-bottom: 5rem;
}
.reasonbox_img
{
    width: 100%;
}
.bgb
{
    background: #223770;
    color: #FFFFFF;
    text-align: center;
    padding: 2rem 0;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.masui_box
{
    position: relative;
    padding: 5rem;
}
.masui_ttlbox
{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.masui_deco
{
    position: absolute;
    top: -11rem;
    left: -12rem;
    background: url("image/reason01_deco.png")no-repeat top center;
    background-size: contain;
    width: 185px;
    height: 185px;
}
.masui_deco p
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    font-size: 2rem!important;
    font-weight: 600;
    color: #FFFFFF;
}
.masui_ttl
{
    font-size: 1.8rem;
    margin-bottom: 5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.6;
    padding-left: 4rem;
}
.masui_ttl span
{
    display: block;
    font-size: 3.8rem;
}
.masui_box .txt
{
    width: 50%;
}
.masui_box .img
{
    width: 42%;
}
.txt p
{
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
.reason02
{
    background: url("image/reason02_bg.png")no-repeat top center;
    background-size: contain;
    padding: 3% 0;
}
.reason02_wrap
{
    max-width: calc(1600px + 6%);
    padding: 3%;
    margin: 0 auto;
}
.reason02_wrap .txt
{
    width: 40%;
}
.reason02_wrap .img
{
    width: 45%;
}
.oneguidebox
{
    padding: 5rem;
    background: #FFFFFF;
    max-width: 1300px;
    margin: 5rem auto
}
.oneguide_ttl
{
    text-align: center;
    font-size: 3.8rem;
    font-weight: 500;
    margin-bottom: 5rem;
    letter-spacing: 0.1em;
}
.oneguidebox .img
{
    width: 30%;
}
.oneguidebox .txt
{
    width: 60%;
}
.reason03
{
    background: url("image/reason03_bg.png") no-repeat top center;
    padding: 3% 0;
    background-size: cover;
}
.reason03 .txt
{
    width: 40%;
    margin: 5rem;
}
.reason03 .img
{
    width: 45%;
}
.reason04
{
    background: url("image/reason04_bg.png") no-repeat top center;
    background-size: contain;
    padding: 3% 0;
}
.reason_ttl p
{
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.reason04_subttl
{
    font-size: 2.8rem!important;
    margin-bottom: 3rem;
    color: #6384B7;
}
.reason04 .txt
{
    width: 45%;
}
.reason04 .img
{
    width: 45%;
}
.sub_txt
{
    font-size: 2.8rem;
    font-weight: 600;
    text-align: center;
    color: #223770;
    padding: 8rem 3rem;
    background: #F1EFEA;
    letter-spacing: 0.1em;
}
.center_ttl
{
    font-size: 3.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 5rem;
    text-align: center;
}
.medical
{
    padding: 3% 0;
}
.medicaltxt
{
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    max-width: 900px;
    margin: 3rem auto;
}
.medical_subttl
{
    font-size: 2.8rem;
    text-align: center;
    padding: 3rem 0;
    position: relative;
    margin-bottom: 5rem;
}
.medical_subttl::before
{
    content: "";
    width: 10vw;
    height: 3px;
    background: #2D2928;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.medical_subttl::after
{
    content: "";
    width: 10vw;
    height: 3px;
    background: #2D2928;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.med_box
{
    width: 46%;
}
.med_img
{
    margin-bottom: 3rem;
}
.med_boxttl
{
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 3rem;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.med_box p
{
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.flow
{
    background: url("image/flow_bg.png")no-repeat top center;
    background-size: cover;
}
    
.flow_ttlbg
{
    background: url("image/flow_ttl_bg.png") no-repeat top center;
    background-size: cover;
    padding: 8rem 0;
    font-size: 3.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    line-height: 1.6;
    margin-top: 5rem;
}
.flow_ttlbg span
{
    display: block;
    font-family: futura-pt, sans-serif;
    font-style: normal;
    font-weight: 600;
}
.flow_wrap
{
    max-width: calc(1300px + 6%);
    padding: 3%;
    margin: 0 auto;
}
    
.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 30px;
    margin-bottom: 0;
    margin-right: calc(-1 * 30px / 2);
    margin-left: calc(-1 * 30px / 2);
    justify-content: space-evenly;
}
.row > .col {
    margin-top: 30px;
    margin-left: 0;
    padding-right: calc(30px / 2);
    padding-left: calc(30px / 2);
}
.row .span_12 {
    width: 100%;
}
.frame {
    border: 1px solid #707070;
    padding: 4rem;
    position: relative;
    display: flex;
    background: #fff;
}
.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.frame > .col {
    padding-right: calc(30px / 2);
    padding-left: calc(30px / 2);
}
.row .span_4 {
    width: calc(100% / 12 * 4);
}
.row .span_8 {
    width: calc(100% / 12 * 8);
}
.text-large {
    font-size: 2rem !important;
}
.indent {
    margin-left: 2em;
    text-indent: -2em;
    border-bottom: 1px solid #707070;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    color: #223770;
}
.indent span.bg {
    display: inline;
}
span.bg {
    padding: 20px;
    display: block;
    margin-right: 10px;
    border-radius: 50px;
    font-family: futura-pt, sans-serif;
    font-style: normal;
    font-weight: 600;
    
}
.row .span_6 {
    width: calc(100% / 12 * 6);
}
.frame.arrow:after {
    border-color: #707070;
    border-style: solid;
    border-width: 30px 1px;
    content: '';
    position: absolute;
    right: 50%;
    bottom: -61px;
}
.text-bold {
    font-weight: 600!important;
}
.t18
{
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.frame.arrow.end:after {
    display: none;
}

.table-compare {
    width: 100%;
    font-size: 1.8rem;
}
.table-compare thead th
    {
        background: #132b88;
        color: #FFFFFF;
        text-align: center;
    }
.table-compare td, .table-compare th {
    border: 1px solid #707070;
    padding: 1.4em;
    text-align: center;
    vertical-align: middle;
    background: #FFFFFF;
}
    .table-compare tbody th
    {
        text-align: left;
    }
    .table-compare tbody th span
    {
        font-weight: normal;
        font-size: 1.6rem;
    }

.under_construction
{
    padding: 3%;
    text-align: center;
}


.feetable
{
    max-width: 1000px;
    margin: 0 auto;
    margin-bottom: 5rem;
}

.feebox
{
    padding: 5rem;
    border: 1px solid #333333;
    background: #FFFFFF;
    text-align: center;
    margin-bottom: 5rem;
    max-width: 1300px;
    margin: 5rem auto;
}
.feebox_ttl
{
    font-size: 3.8rem;
    font-weight: 600;
    margin-bottom: 3rem;
    letter-spacing: 0.1em;
}
.feebox p ,.feebox_bg p
{
    margin-bottom: 3rem;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}
.fee_img
{
    margin-bottom: 3rem;
}
.feebox_bg
{
    padding: 5rem;
    text-align: center;
    margin-bottom: 5rem;
    max-width: 1300px;
    margin: 5rem auto;
}
.feebox_bg .txt
{
    width: 46%;
    text-align: left!important;
}
.feebox_bg .img
{
    width: 46%;
}


.greeting_name
{
    font-size: 2.8rem;
    margin-bottom: 8rem;
    position: relative;
    letter-spacing: 0.1em;
    padding-bottom: 3rem;
    line-height: 1.6;
}
.greeting_name span
{
    font-size: 1.8rem;
    display: block;
}

.greeting .txt
{
    width: 44%;
}
.greeting .img
{
    width: 44%;
}
    
    

.clinic_tel
{
    font-size: 3.8rem!important;
    font-family: futura-pt, sans-serif;
    font-style: normal;
  font-weight: 600;
    position: relative;
    padding-left: 5rem;
}
.clinic_tel::before
{
    content: "";
    background: url("image/icon_phone.png") no-repeat top center;
    position: absolute;
    left: 2vw;
    top:18px;
    width: 30px;
    height: 30px;
}
.clinic .txt
{
    width: 100%;
    text-align: center;
}
.clinic .txt p
{
    margin-bottom: 1rem;
}

.clinic .img
{
    width: 100%;
}
.time-table {
  display: block;
  border-collapse: collapse;
}

.time-table {
  display: block;
  border-collapse: collapse;
}

.time-table th {
  border-top: 1px solid #d2d2d2;
}

.time-table th, .time-table td {
  padding: 0px 10px;
  text-align: center;
  height:50px;
  border-bottom: 1px solid #d2d2d2;
    font-size: 1.6rem;
    vertical-align: middle;
    font-weight: 400;
}

.time-table td {
	  width: 100%;
    min-width: 58px;
}

.time-table td .time {
 color:#3c3c3c;
}

@media screen and (max-width: 896px)  {
 .time-table td {
  min-width: auto;
  width:100%;
  max-width:5%;
  font-size:12px;
 }

 .time-table th, .time-table td {
  min-width: 40px;
  width:100%;
  padding:0px 15px;
  font-size:1.6rem;
     vertical-align: middle;
 }
}
.t_left
{
    text-align: left!important;
}
.gmap
{
    max-width: 1200px;
    margin: 5rem auto;
}

.faq_ttl
{
    font-size: 2rem;
    font-weight: 500;
    color: #FFFFFF;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 8rem;
} 
.faq_ttl span
{
    font-size: 15rem;
    font-family: futura-pt, sans-serif;
    font-style: normal;
  font-weight: 500;
    display: block;
}

.toggle-wrap {
    margin-bottom: 20px;
}
details {
    display: block;
}
summary {
    display: block;
    list-style: none;
}
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 1000px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
    background: #FFFFFF;
}

/*アコーディオンタイトル*/

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
  margin:0 3% 3% 3%;
    padding: 3%;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
#footer
    {
        background: #182573;
        padding-top: 3%;
        color: #FFFFFF;
    }
#footer .txt
{
    width: 43%;
}
#footer .f_time
{
    width: 43%;
}
#footer .clinic_tel::before
{
    left: 0;
}
.f_logo
{
    margin-bottom: 3rem;
}
.f_icon
{
    padding: 1rem 3rem; 
    background: #F1EFEA;
    text-align: center;
    margin: 3rem 0;
}
    #footer .f_bnr {
  width: calc((100% - 6.2vw) / 2);
}
    
    .yoyaku_btn
{
    margin-bottom: 5rem;
    text-align: center;
}
.f_time p
{
    padding: 1rem 0;
    font-size: 1.6rem;
}
    .f_time_box
    {
        padding: 1px;
        background: #FFFFFF;
    }
.copy
{
    padding: 1rem;
    background: #223770;
    color: #FFFFFF;
    text-align: center;
    letter-spacing: 0.1em;
}
}

/*--------------------------------------------------------------------------

sp

--------------------------------------------------------------------------*/
@media screen and (max-width: 559px) {
    .pc-only {
    display: none !important;
  }
  .pc-tab-only {
    display: none !important;
  }
    #header
{
    z-index: 100;
    padding-left: 5rem;
    position: relative;
}
    .openbtn1 {
  position: fixed;
  z-index: 9999;
  top: 10px;
  right: 15px;
  cursor: pointer;
  height: 20vw;
  width: 22vw;
}
    #g-nav {
  width: 100%;
}
    #g-nav.panelactive #g-nav-list {
  width: 100%;
}
    .openbtn1.active span:nth-of-type(3) {
  top: 46px;
  left: 38px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}
    .openbtn1.active span:nth-of-type(1) {
  top: 34px;
  left: 38px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}
.h_inner
{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.logo
{
    position: absolute;
    top: 0;
    left: 4vw;
    max-width: 42vw;
}
.h_btn
{
    display:flex;
    justify-content: flex-end;
    position: fixed;
    top: 10px;
    right: 15px;
}
.yoyaku
{
    max-width: 36vw;
}
.menu
{
    max-width: 20vw;
}
.mv
{
    position: relative;
    width: 100%;
}
.catch
{
    position: absolute;
    bottom: 14vw;
    left: 4vw;
}
    .maru {
  left: 5vw;
  top: 30vw;
  width: 40%;
  bottom: auto;
  right: auto;
}
    .all {
  position: absolute;
  right: auto;
  top: auto;
        left: 2vw;
  width: 50%;
        bottom: 55vw;
}
    
.ja
{
    font-size: 4.5vw;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.1em;
}
.en
{
   font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
}
.en span
{
    font-size: 9vw;
    display: block;
    letter-spacing: 0.1em;
    font-weight: 500;
}
.container
{
    padding: 3%;
    max-width: calc(1460px + 6%);
    margin: 0 auto;
}
.trouble
{
    padding: 3% 0;
    background: #F1EFEA;
}
.ttl
{
    font-size: 6.6vw;
    text-align: center;
    font-weight: 500;
}
.ttl span
{
    font-family: futura-pt, sans-serif;
    display: block;
    font-size: 3vw;
}
.trouble_wrap
{
    background: url("image/t_bg.png") no-repeat top center;
    background-size: cover;
    padding: 3%;
    
}
.flex
{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}
.troublebox
{
    width: 42%;
    margin-bottom: 2rem;
}
.troublettl
{
    padding-bottom: 3%;
}
.arw_trouble
{
    background: url("image/arrow_trouble.png") no-repeat top center;
    height: auto;
    padding: 3rem;
    background-size: cover;
    margin-bottom: 10rem;
}
.tw
{
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    line-height: 1.8;
    letter-spacing: 0.1em;
}
.implant
{
    padding: 3%;
}
.implant_wrap
{
    background: #F1EFEA;
    position: relative;
    padding: 0;
}

    .implant_inner {
  border: 1px solid #FFFFFF;
  padding: 3vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  position: relative;
  z-index: 1;
  flex-wrap: wrap;
}
    .r_img_box {
  margin-top: -13vw;
  width: 100%;
}
    .implant_inner_contents {
  max-width: 100%;
  color: #FFFFFF;
}
  .implant_wrap.left.mb3 {
  margin-bottom: 8rem!important;
}  
    
.imp_img
{
    position: absolute;
    top: -100px;
}
.imp_txtbox
{
    position: relative;
    width: 100%;
    background: rgba(255, 255, 255, 0.95);
    padding: 4rem 2rem;
    margin-left: auto;
    z-index: 1;
}
.imp_ttl
{
    font-size: 2.8rem;
    margin-bottom: 1rem;
    text-align: center;
    font-weight: 600;
}
.imp_en
{
    font-size: 2.8rem;
    text-align: center;
    font-family: futura-pt, sans-serif;
    margin-bottom: 5rem;
}
    .guide_inner .flex .img {
  width: 100%;
}
    .guide_inner .flex .txt {
  width: 100%;
}
    .flex .txt {
  width: 100%;
}
    .flex-3 {
  max-width: 100%;
}
    .flow .flex {
  gap: 1rem;
}
    .career dt {
  width: 30%;
  padding: 1rem;
}
.troubletxt
{
    font-size: 1.8rem;
    line-height: 1.6;
}

.maker_box
{
    padding: 3rem;
}
.maker_ttl
{
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 5rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
}
.maker_box .txt
{
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
.maker_box .img
{
    width: 100%;
    text-align: center;
}
.maker_box .flex
{
    align-items: center;
}
.info
{
    background: url("image/info_bg.png") no-repeat top center;
    background-size: cover;
    padding: 8rem 0;
}
.info_ttl
{
    font-size: 1.4rem;
    text-align: center;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    margin-bottom: 5rem;
}
.info_ttl span
{
    font-size: 2.4rem;
}
.tel_btn
{
    width: 100%;
    height: 156px;
}
.reserve_btn
{
    width: 46%;
    height: auto;
}
.reason_ttlbg
{
    background: url("image/sp_reason_ttl.png") no-repeat top center;
    background-size: contain;
    padding: 3rem 0;
    font-size: 2.4rem;
    text-align: center;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    line-height: 1.6;
    margin-top: 5rem;
    min-height: 320px;
}
.reason_ttlbg span
{
    font-size: 4rem;
    font-weight: 600;
}
.reason01
{
    background: url("image/reason01_bg.png")no-repeat top center;
    background-size: contain;
}
.reasonNm
{
    text-align: center;
    font-size: 2.8rem;
    font-family: futura-pt, sans-serif;
    margin-bottom: 3rem;
    font-style: normal;
    letter-spacing: 0.1em;
}
.reasonNm span
{
    font-size: 8rem;
}
.reason03 .reason_ttl
{
    font-size: 3.4rem;
    text-align: center;
    margin-bottom: 5rem;
    line-height: 1.8
}
.reason_txt
{
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-bottom: 5rem;
}
.reasonimg
{
    margin-bottom: 5rem;
}
.reasonbox
{
    width: 90%;
    margin-bottom: 5rem;
}
.reasonbox_img
{
    width: 100%;
}
    .reason_ttl {
  font-size: 3.4rem;
  text-align: center;
  color: #28325b;
}
.bgb
{
    background: #223770;
    color: #FFFFFF;
    text-align: center;
    padding: 2rem 0;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.1em;
}
    
.masui_box
{
    position: relative;
    padding: 3rem;
}
    .masui_box .flex
    {
        flex-wrap: wrap;
    }
.masui_ttlbox
{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.masui_deco
{
    position: absolute;
    top: -10rem;
    right: -3rem;
    background: url("image/reason01_deco.png")no-repeat top center;
    background-size: auto;
    background-size: contain;
    width: 120px;
    height: 120px;
    left: auto;
}
.masui_deco p
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    font-size: 1.6rem!important;
    font-weight: 600;
    color: #FFFFFF;
}
.masui_ttl
{
    font-size: 1.8rem;
    margin-bottom: 3rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.6;
    padding-left: 0;
}
.masui_ttl span
{
    font-size: 3.8rem;
}
.masui_box .txt
{
    width: 100%;
}
.masui_box .img
{
    width: 100%;
}
.txt p
{
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
.reason02
{
    background: url("image/reason02_bg.png")no-repeat top center;
    background-size: contain;
    padding: 3% 0;
}
.reason02_wrap
{
    max-width: calc(1600px + 6%);
    padding: 3%;
    margin: 0 auto;
}
.reason02_wrap .txt
{
    width: 90%;
}
.reason02_wrap .img
{
    width: 90%;
}
.oneguidebox
{
    padding: 3rem;
    background: #FFFFFF;
    max-width: 1300px;
    margin: 3rem auto
}
.oneguide_ttl
{
    text-align: center;
    font-size: 2.4rem;
    font-weight: 500;
    margin-bottom: 3rem;
    letter-spacing: 0.1em;
}
.oneguidebox .img
{
    width: 100%;
}
.oneguidebox .txt
{
    width: 100%;
}
.reason03
{
    background: url("image/reason03_bg.png") no-repeat top center;
    padding: 3% 0;
    background-size: cover;
}
.reason03 .txt
{
    width: 100%;
    margin: 3rem;
}
.reason03 .img
{
    width: 100%;
}
    .flexbox {
  width: 100%;
}
    .flexbox:nth-child(2)::before {
  content: "✕";
  position: absolute;
  top: -16vw;
  left: 50%;
  font-size: max(10vw , 10rem);
  color: #FFFFFF;
  transform: translateX(-50%);
  z-index: 1;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
.reason04
{
    background: url("image/reason04_bg.png") no-repeat top center;
    background-size: contain;
    padding: 3% 0;
}
.reason_ttl p
{
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.reason04_subttl
{
    font-size: 1.8rem!important;
    margin-bottom: 3rem;
    color: #6384B7;
}
.reason04 .txt
{
    width: 100%;
}
.reason04 .img
{
    width: 100%;
}
.sub_txt
{
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    color: #223770;
    padding: 5rem 2rem;
    background: #F1EFEA;
    letter-spacing: 0.1em;
}
.center_ttl
{
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 5rem;
    text-align: center;
}
.medical
{
    padding: 3% 0;
}
.medicaltxt
{
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    max-width: 900px;
    margin: 3rem auto;
}
.medical_subttl
{
    font-size: 2.8rem;
    text-align: center;
    padding: 3rem 0;
    position: relative;
    margin-bottom: 5rem;
}
.medical_subttl::before
{
    content: "";
    width: 10vw;
    height: 3px;
    background: #2D2928;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.medical_subttl::after
{
    content: "";
    width: 10vw;
    height: 3px;
    background: #2D2928;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.med_box
{
    width: 90%;
    margin-bottom: 3rem;
}
.med_img
{
    margin-bottom: 3rem;
}
.med_boxttl
{
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 3rem;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.med_box p
{
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.flow
{
    background: url("image/flow_bg.png")no-repeat top center;
    background-size: cover;
}
.flow_ttlbg
{
    background: url("image/flow_ttl_bg.png") no-repeat top center;
    background-size: cover;
    padding: 8rem 0;
    font-size: 2.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    line-height: 1.6;
    margin-top: 5rem;
}
.flow_ttlbg span
{
    display: block;
    font-family: futura-pt, sans-serif;
    font-style: normal;
    font-weight: 600;
}
.flow_wrap
{
    max-width: calc(1300px + 6%);
    padding: 3%;
    margin: 0 auto;
}
    
.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 30px;
    margin-bottom: 0;
    margin-right: calc(-1 * 30px / 2);
    margin-left: calc(-1 * 30px / 2);
    justify-content: space-evenly;
}
.row > .col {
    margin-top: 30px;
    margin-left: 0;
    padding-right: calc(30px / 2);
    padding-left: calc(30px / 2);
}
.row .span_12 {
    width: 100%;
}
.frame {
    border: 1px solid #707070;
    padding: 2rem;
    position: relative;
    display: flex;
    background: #fff;
    flex-wrap: wrap;
}
.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.frame > .col {
    padding-right: calc(30px / 2);
    padding-left: calc(30px / 2);
}
.row .span_4 {
    width: 100%;
    margin-bottom: 3rem;
}
.row .span_8 {
    width: 100%;
}
.text-large {
    font-size: 2.0rem !important;
}
.indent {
    margin-left: 2em;
    text-indent: -2em;
    border-bottom: 1px solid #707070;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    color: #223770;
}
.indent span.bg {
    display: inline;
}

.row .span_6 {
    width: 100%;
}
.frame.arrow:after {
    border-color: #707070;
    border-style: solid;
    border-width: 30px 1px;
    content: '';
    position: absolute;
    right: 50%;
    bottom: -61px;
}
.text-bold {
    font-weight: 600!important;
}
.t18
{
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.frame.arrow.end:after {
    display: none;
}

.table-compare {
    width: 100%;
    font-size: 1.8rem;
}


    .scroll {
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
    overflow-x: scroll;
}
.under_construction
{
    padding: 3%;
    text-align: center;
}
.case_ttlbg {
  background: url("image/case_ttl_bg.png") no-repeat top center;
  background-size: cover;
  padding: 8rem 0;
  font-size: 2.8rem;
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  line-height: 1.6;
  margin-top: 5rem;
}
.case_ttlbg span {
  display: block;
  font-family: futura-pt, sans-serif;
  font-style: normal;
  font-weight: 600;
}
.fee
{
    background: url("image/fee_bg.png") no-repeat top center;
    background-size: cover;
}
.feetable
{
    max-width: 1000px;
    margin: 0 auto;
    margin-bottom: 5rem;
}
.feebox {
  padding: 3rem;
}

.feebox_ttl
{
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 3rem;
    letter-spacing: 0.1em;
}
.feebox p ,.feebox_bg p
{
    margin-bottom: 3rem;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}
.fee_img
{
    margin-bottom: 3rem;
}
.feebox_bg
{
    padding: 3rem;
    text-align: center;
    margin-bottom: 5rem;
    max-width: 1300px;
    margin: 5rem auto;
}
.feebox_bg .txt
{
    width: 100%;
    text-align: left!important;
    margin-bottom: 3rem;
}
.feebox_bg .img
{
    width: 100%;
}
.greeting
{
    background: url("image/greeting_bg.png") no-repeat top center;
    background-size: cover;
}
.greeting_ttlbg {
  background: url("image/greeting_ttl_bg.png") no-repeat top center;
  background-size: cover;
  padding: 8rem 0;
  font-size: 2.8rem;
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  line-height: 1.6;
  margin-top: 5rem;
}
.greeting_ttlbg span {
  display: block;
  font-family: futura-pt, sans-serif;
  font-style: normal;
  font-weight: 600;
}

.greeting_name
{
    font-size: 2.8rem;
    margin-bottom: 4rem;
    position: relative;
    letter-spacing: 0.1em;
    padding-bottom: 3rem;
    line-height: 1.6;
}
.greeting_name span
{
    font-size: 1.8rem;
    display: block;
}

.greeting .txt
{
    width: 100%;
}
.greeting .img
{
    width: 100%;
    margin-bottom: 3rem;

    }
    .career_box {
  max-width: 100%;
  width: 100%;
  margin-bottom: 3rem;
}

.clinic_tel
{
    font-size: 3.8rem!important;
    font-family: futura-pt, sans-serif;
    font-style: normal;
  font-weight: 600;
    position: relative;
    padding-left: 5rem;
}
.clinic_tel::before
{
    content: "";
    background: url("image/icon_phone.png") no-repeat top center / contain;
    position: absolute;
    left: 8vw;
    top:18px;
    width: 30px;
    height: 30px;
}
.clinic .txt
{
    width: 100%;
    text-align: center;
}
.clinic .txt p
{
    margin-bottom: 1rem;
}

.clinic .img
{
    width: 100%;
}
.time-table {
  display: block;
  border-collapse: collapse;
}

.time-table {
  display: block;
  border-collapse: collapse;
}

.time-table th {
  border-top: 1px solid #d2d2d2;
}

.time-table th, .time-table td {
  padding: 0px 10px;
  text-align: center;
  height:50px;
  border-bottom: 1px solid #d2d2d2;
    font-size: 1.6rem;
    vertical-align: middle;
    font-weight: 400;
}

.time-table td {
	  width: 100%;
    min-width: 58px;
}

.time-table td .time {
 color:#3c3c3c;
}

@media screen and (max-width: 896px)  {
 .time-table td {
  min-width: auto;
  width:100%;
  max-width:5%;
  font-size:12px;
 }

 .time-table th, .time-table td {
  min-width: 36px;
  width:100%;
  padding:0px 10px;
  font-size:1.6rem;
     vertical-align: middle;
 }
}
.t_left
{
    text-align: left!important;
}
.gmap
{
    max-width: 1200px;
    margin: 5rem auto;
}
.faq .sub_ttl {
  margin-bottom: 3rem;
}
.faq_ttl
{
    font-size: 2rem;
    font-weight: 500;
    color: #FFFFFF;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 8rem;
} 
.faq_ttl span
{
    font-size: 10rem;
    font-family: futura-pt, sans-serif;
    font-style: normal;
  font-weight: 500;
    display: block;
}

.toggle-wrap {
    margin-bottom: 20px;
}
details {
    display: block;
}
summary {
    display: block;
    list-style: none;
}
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 1000px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
    background: #FFFFFF;
}

/*アコーディオンタイトル*/
.title {

    padding: 2% 14%;
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
  margin:0 3% 3% 3%;
    padding: 3%;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
    .box p {
  padding-left:3rem;
}
    .box p span {
  left: 15px;
  top: 10px;
}
    #footer {
  margin-bottom: 12rem;
}
#footer .txt
{
    width: 100%;
    padding: 3%;
}
#footer .f_time
{
    width: 100%;
}
#footer .clinic_tel::before
{
    left: 0;
}
    #footer .f_bnr {
  width: 100%;
}
.f_logo
{
    margin-bottom: 3rem;
}
.f_icon
{
    padding: 1rem 3rem; 
    background: #F1EFEA;
    text-align: center;
    margin: 3rem 0;
}
.yoyaku_btn
{
    margin-bottom: 5rem;
    text-align: center;
}
.f_time p
{
    padding: 1rem 0;
    font-size: 1.6rem;
}
.copy
{
    padding: 1rem;
    background: #223770;
    color: #FFFFFF;
    text-align: center;
    letter-spacing: 0.1em;
}
    .f_floating
    {
        position: fixed;
        bottom: 1rem;
        left: 0;
        display: flex;
        justify-content: space-between;
        z-index: 99;
    }
    #page-top {
  bottom:12rem;
}

}