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

*, ::before, ::after {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
	overflow-x: hidden;
}
body {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-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: 2vw;
    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: 12vw;
    left: 4vw;
    font-size: max(1.2vw , 1.6rem);
    letter-spacing: 0.06em;
    line-height: 1.8;
}
.catch .ja
{
    font-size: max(3vw , 3rem);
    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: 3% 0;
    background: #f3ede0;
}
.ttl
{
    font-size: 3vw;
    text-align: center;
    font-weight: 500;
}
.ttl span
{
    display: block;
    font-size: 2vw;
}
	.dentallone{
	padding: 3% 0;
    background: #f3ede0;
	}
	.dentallone .dentallone_ttl{
	font-size: 3vw;
    text-align: center;
    font-weight: 500;
	}
	.dentallone .dentallone_txt {
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-bottom: 1rem;
	padding: 3%;
}
	.plan{
	box-sizing: border-box;
    min-height: 250px;
    background: #ffe6c1;
    padding: 15px;
    border-radius: 10px;
	width: 30%;
	height: 50px;
	margin-bottom: 3%;
}
    .plan2{
	box-sizing: border-box;
    min-height: 250px;
    background: #ffe6c1;
    padding: 15px;
    border-radius: 10px;
	width: 30%;
	height: 50px;
}
    .plan_ttl{
	text-align: center;
    color: #f8845c;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}
    .plan_txt{
	font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.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-bottom: 3%;
}
.arw_trouble
{
    background: url("image/arrow_trouble.png") no-repeat top center;
    min-height: 6vw;
  padding: 4vw;
  background-size: contain;
  margin-bottom: 3%;
}
.tw
{
    font-size: max(3vw , 3rem);
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    line-height: 1.8;
    letter-spacing: 0.1em;
}
.implant
{
    padding: 3% 0;
    position: relative;
}
.implant_wrap
{
    background: #28325b;
    padding: 0 0 12vw 0;
}
.imp_img
{
    width: 100%;
}
.imp_txtbox
{
    position: absolute;
  width: 600px;
  background: rgba(255, 255, 255, 0.95);
  padding: 6vw 4vw;
  margin-left: auto;
  z-index: 1;
  bottom: 8vw;
  right: 0vw;
}
.imp_ttl
{
    font-size: 3.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;
}
.troubletxt
{
    font-size: 1.8rem;
    line-height: 1.6;
}
.feature
{
    background: url("image/feature_bg.png") top center no-repeat;
    background-size: cover;
}
.feature .ttl
{
    padding: 2rem;
    font-size: max(8vw , 8rem);
    margin-bottom: 1rem;
    font-family: futura-pt, sans-serif;
    color: #e7e4dd;
    letter-spacing: 0.06em;
}
.feature .sub_ttl
{ 
    font-size: max(1vw , 2.6rem);
    margin-bottom: 6%;
    text-align: center;
}
.feature .sub_ttl span
{
    display: inline-block;
    padding: 1rem;
    border: 1px solid #333333;
}
.feature_box
{
    width: 28%;
    position: relative;
    padding: 3rem 2rem;
    margin-bottom: 6rem;
    box-shadow: 3px 3px 10px -4px #777777;
    background: #fff;
    color: #28325b;
}
.feature_box::before
{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    border-top: 60px solid #28325b;  /* 好みで色を変えてください */ 
    border-bottom: 60px solid transparent;
    border-left: 60px solid transparent;
}
.feature_enttl
{
    font-size: max(3vw , 3rem);
    font-weight: 400;
    text-align: center;
    margin-bottom: 3rem;
    font-family: futura-pt, sans-serif;
}
.feature_enttl span
{
    font-size: max(4vw , 4rem);
    margin-left: 1vw;
}
.feature_img
{
    margin-bottom: 3rem;
}
.feature_jattl
{
    font-size: 2.4rem;
font-weight: 500;
text-align: center;
margin-bottom: 3rem;
letter-spacing: 0.1em;
}
.feature_txt
{
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-align: center;
}
.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: 25%;
}
.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;
}
.info_ttl
{
    font-size: 1.8rem;
    text-align: center;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.1em;
    color: #333333;
    margin-bottom: 5rem;
 text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.info_ttl span
{
    font-size: 3.8rem;
    display: block;
}
.tel_btn
{
    
}
.reserve_btn
{
    
}
.info .flex
{
    justify-content: center;
    gap:3vw;
}
.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;
}
.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_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%;
}
.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
{
    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;
}
.reason03
{
    background: url("image/reason03_bg.png") no-repeat top center;
    padding: 3% 0;
    background-size: cover;
}
.reason03 .reasonNm
{
    text-align: left;
}
.reason03 .flex
{
    align-items: center;
}
.reason03 .reason_ttl
{
    text-align: left;
}
.reason03 .txt
{
    width: 40%;
    margin: 5rem;
}
.reason03 .img
{
    width: 50%;
}
.reason04
{
    background: url("image/reason04_bg.png") no-repeat top center;
    background-size: cover;
    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%;
}

.reason05
{
    background: url("image/reason05_bg.png") no-repeat center / cover;
    padding: 3% 0;
}
.reason05_txt
{
    background: #FFFFFF;
    padding: 1rem;
    max-width: 85%;
    margin: -5rem auto 0;
    box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.35);
    position: relative;
}
.reason05_txt p
{
    font-size: max(0.9vw , 1.6rem);
    letter-spacing: 0.06em;
    line-height: 1.6;
}
.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 , 1.8rem);
}
.re
    {
        flex-direction: row-reverse;
    }
.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 , 1.8rem);
}
.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;
}
.flow .ttl {
  padding: 2rem;
  font-size: max(8vw , 8rem);
  margin-bottom: 1rem;
  font-family: futura-pt, sans-serif;
  color: #e7e4dd;
  letter-spacing: 0.06em;
}
 .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 , 1.8rem);
        letter-spacing: 0.06em;
        margin-bottom: 3%;
    }
.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: 2em;
    text-indent: -3em;
    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: 20px;
    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;
}
.frame.arrow.end:after {
    display: none;
}
.comparison_ttlbg {
  padding: 8rem 0;
  font-size: max(3vw , 3.8rem);
  text-align: center;
  letter-spacing: 0.1em;
  color: #28325b;
  line-height: 1.6;
  margin-top: 5rem;
}
.comparison
{
    background: url("image/comparison_bg.png") no-repeat center / contain;
    background-position: top;
}
.comparison_ttlbg span {
  display: block;
  font-family: futura-pt, sans-serif;
  font-style: normal;
  font-weight: 600;
}
.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;
	width: 15%;
}
.under_construction
{
    padding: 3%;
    text-align: 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;
}
.fee
{
    background: url("image/fee_bg.png") no-repeat top center;
    background-size: cover;
}
.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: 3%;
}
.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: bottom;
    padding: 4% 0;
}
.greeting .sub_ttl
{
    font-size: max(1.4vw , 2rem);
    color: #28325b;
    margin-bottom: 3%;
}
.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: #FFFFFF;
        border: 1px solid #28325b;
        padding: 2rem;
        max-width: 46%;
        width: 100%;
    }
    .career_box .sub_ttl
    {
        color: #FFFFFF;
        background: #4478b3;
        font-size: max(1.2vw , 1.8rem);
        padding: 1rem;
        text-align: center;
        margin-bottom: 4%;
    }
    dl.career
    {
        display: flex;
        font-size: max(0.9vw , 1.6rem);
        flex-wrap: wrap;
    }
    .career dt
    {
        width: 30%;
        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;
    position: absolute;
    left: 8vw;
    top:18px;
    width: 30px;
    height: 30px;
}
.clinic .txt
{
    width: 45%;
    text-align: center;
}
.clinic .txt p
{
    margin-bottom: 1rem;
}

.clinic .img
{
    width: 45%;
}
.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;
}

@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;
}
.faq .ttl {
  padding: 2rem;
  font-size: max(8vw , 8rem);
  margin-bottom: 1rem;
  font-family: futura-pt, sans-serif;
  color: #e7e4dd;
  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;
    background: #4478b3;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    color: #FFFFFF;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #FFFFFF;
    
}
.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: #fff;
    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 .txt
{
    width: 43%;
}
#footer .f_time
{
    width: 43%;
}
#footer .clinic_tel::before
{
    left: 0;
}
#footer .flex
{
    gap:3vw;
    max-width: 1500px;
    margin: 0% auto;
	    display:flex;
;
}
#footer .f_bnr
{
    width: calc((100% - -91.8vw) / 7);}
.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 , 3rem);
    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;
}
	.dentallone{
	padding: 3% 0;
    background: #f3ede0;
	}
	.dentallone .dentallone_ttl{
	font-size: 7vw;
    text-align: center;
    font-weight: 500;
	}
	.dentallone .dentallone_txt {
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-bottom: 5rem;
}
	.plan {
    box-sizing: border-box;
    min-height: 250px;
    background: #ffe6c1;
    padding: 15px;
    border-radius: 10px;
    width: 40%;
    height: 50px;
}
	.plan2 {
    box-sizing: border-box;
    min-height: 250px;
    background: #ffe6c1;
    padding: 15px;
    border-radius: 10px;
    width: 40%;
    height: 50px;
}
.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;
}
.implant
{
    padding: 3% 0;
}
.implant_wrap
{
    background: #F1EFEA;
    position: relative;
    padding: 10rem 8rem 12vw 0;
}
.imp_img
{
    position: absolute;
    top: -100px;
}
.imp_txtbox
{
    position: relative;
    width: 640px;
    background: rgba(255, 255, 255, 0.95);
    padding: 57px 60px 50px;
    margin-left: auto;
    z-index: 1;
}
.imp_ttl
{
    font-size: 3.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;
}
.troubletxt
{
    font-size: 1.8rem;
    line-height: 1.6;
}
.feature
{
    background: url("image/feature_bg.png") top center no-repeat;
    background-size: cover;
}
.feature .ttl
{
    margin-bottom: 5rem;
}
.feature_box
{
    width: 46%;
    padding: 3rem 2rem;
    margin-bottom: 6rem;
    box-shadow: 3px 3px 10px -4px #777777;
    background: #fff;
}
.feature_enttl
{
    font-size: 2.8rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 3rem;
}
.feature_enttl span
{
    font-size: 3.8rem;
}
.feature_img
{
    margin-bottom: 3rem;
}
.feature_jattl
{
    font-size: 2.4rem;
font-weight: 500;
text-align: center;
margin-bottom: 3rem;
letter-spacing: 0.1em;
}
.feature_txt
{
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
.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 td, .table-compare th {
    border: 1px solid #707070;
    padding: 1.4em;
    text-align: center;
    vertical-align: middle;
    background: #FFFFFF;
}
.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 .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% - -40.8vw) / 2);
}
.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;
}
}

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

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: 2vw;
    left: 4vw;
	font-size: max(1.2vw, 1.4rem);
}
	.catch .ja 
{
    font-size: max(3vw, 2.4rem);
}
    .maru {
  left: 5vw;
  top: 18vw;
  width: 40%;
        bottom: auto;
        right: auto;
}
    .all {
  position: absolute;
  right: 2vw;
  top: 60vw;
  width: 50%;
        bottom: auto;
}
    
.ja
{
    font-size: 2.4vw;
    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: 5.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;
}
	.dentallone{
	padding: 3% 0;
    background: #f3ede0;
	}
	.dentallone .dentallone_ttl{
	font-size: 7vw;
    text-align: center;
    font-weight: 500;
	}
	.dentallone .dentallone_txt {
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-bottom: 2rem;
}
	.plan {
    box-sizing: border-box;
    min-height: 240px;
    background: #ffe6c1;
    padding: 10px;
    border-radius: 10px;
    width: 90%;
    height: 50px;
    margin-bottom: 3%;
}
	.plan2 {
    box-sizing: border-box;
    min-height: 240px;
    background: #ffe6c1;
    padding: 10px;
    border-radius: 10px;
    width: 90%;
    height: 50px;
    margin-bottom: 10%;
}
	.plan_ttl {
    font-size: 20px;
    margin-bottom: 35px;
}
	.plan_txt {
    font-size: 1.6rem;
}
	.lone_icon img{
		margin: 1rem;
	}
.troublebox
{
    width: 45%;
    margin-bottom: 2rem;
}
.troublettl
{
    padding-bottom: 3%;
}
.arw_trouble
{
    background: url("image/arrow_trouble.png") no-repeat top center;
    height: auto;
    padding: 1.8rem;
    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% 0;
}
.implant_wrap
{
    background: #F1EFEA;
    position: relative;
    padding: 0;
}
.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;
}
.troubletxt
{
    font-size: 1.8rem;
    line-height: 1.6;
}
.feature
{
    background: url("image/feature_bg.png") top center no-repeat;
    background-size: cover;
}

.feature_box
{
    width: 90%;
    padding: 3rem 1rem;
    margin-bottom: 6rem;
    box-shadow: 3px 3px 10px -4px #777777;
    background: #fff;
}
.feature_enttl
{
    font-size: 2.8rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 3rem;
}
.feature_enttl span
{
    font-size: 3.8rem;
}
.feature_img
{
    margin-bottom: 3rem;
}
.feature_jattl
{
    font-size: 2.4rem;
font-weight: 500;
text-align: center;
margin-bottom: 3rem;
letter-spacing: 0.1em;
}
.feature_txt
{
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
.maker_box
{
    padding: 3rem;
}
.maker_ttl
{
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 5rem;
    line-height: 1.8;
    letter-spacing: 0em;
}
.maker_box .txt
{
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
	height: 18rem;
}
.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: #223770;
    margin-bottom: 5rem;
}
.info_ttl span
{
    font-size: 2.4rem;
    display: block;
}
.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: 2.8rem;
    text-align: center;
    margin-bottom: 5rem;
    line-height: 1.8
}
.reason_txt
{
    font-size: 1.5rem;
    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: 2.8rem;
  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_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.6rem;
    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.2rem;
    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: 0em;
    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: 1.8rem;
    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.6rem;
    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.6rem;
    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.4rem !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.6rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
	        margin-bottom: 30px;
}
.frame.arrow.end:after {
    display: none;
}

.table-compare {
    width: 100%;
    font-size: 1.2rem;
}
	.table-compare tr td img{
		max-width: 80%;
	}
    .scroll {
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
    overflow-x: scroll;
}
	.scroll-hint-icon-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    pointer-events: none;
}
	.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: .8;
}
	.scroll-hint-text {
    font-size: 10px;
    color: #FFF;
    margin-top: 5px;
}
	@media (max-width: 784px) {
    .scroll-hint-icon {
        position: absolute;
        top: 50%;
        right: 50%;
        left: auto;
        transform: translate(50%, -50%);
        box-sizing: border-box;
        background:url("image/scroll.svg");
        background-size: contain;
        width: calc(350 / 750* 100vw);
        height: calc(350 / 750* 100vw);
        border-radius: 0;
        transition: none;
        opacity: 0;
        text-align: center;
        padding: 0;
    }
}
	@media (max-width: 784px) {
    .scroll-hint-text, .scroll-hint-icon:before, .scroll-hint-icon:after {
        display: none;
    }
}
.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;
    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: 34px;
            width: 100%;
            padding: 0px 3px;
  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%;
}
#footer .f_time
{
    width: 100%;
}
#footer .clinic_tel::before
{
    left: 0;
}
    #footer .f_bnr {
  width: 90%;
}
.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: 0rem;
        left: 0;
        display: flex;
        justify-content: space-between;
        z-index: 99;
    }
    #page-top {
  bottom:12rem;
}

}