@charset "utf-8";
/*------------------------------------------
★HOME
------------------------------------------*/
#top_img_bg{
background: #131d55;
}

/*------------------------------------------
★おすすめ
------------------------------------------*/
#osusume{
background: url(../img/osusume_bg.jpg) no-repeat center center fixed;
background-size: cover;
}
#osusume .box_bg {
padding: 1.5em;
background: #1b1d51;
border-radius: 10px;
}
#osusume ul li {
text-align: left;
border-bottom: none;
background: #fff;
width: 48%;
margin: 1%;
padding: 10px 1em;
font-weight: bold;
border-radius: 5px;
font-size: 110%;
}

/*------------------------------------------
★ブルラジについて
------------------------------------------*/
#about_bl{
background: #efeee9 url(../img/about_bg.jpg) no-repeat center center scroll;
}

/*------------------------------------------
★“従来の治療との違い”
------------------------------------------*/
#chigai{
background: #1a1935 url(../img/chigai-bg.jpg) no-repeat center top scroll;
padding-top: 10em;
}
#chigai .box_w{
background: #fff;
}
#chigai .chigai_arrow{
width: 6%;
display: flex;
justify-content: center;
align-items: center;
}
#chigai .before{
width: 47%;
background: #ccc;
}
#chigai .after{
width: 47%;
background: #cfedff;
}
#chigai .before .title {
font-size: 185%;
font-weight: bold;
background: #444;
color: #fff;
text-align: center;
/*height: 65px;*/
padding: 10px;
display: flex;
justify-content: center;
align-items: center;
}
#chigai .after .title {
background: #004986;
padding: 5px;
/*height: 65px;*/
display: flex;
align-content: center;
justify-content: center;
}
#chigai .midashi{
font-size: 140%;
font-weight: bold;
padding: 0.5em 0;
}

/**/
.table-wrap {
    overflow-x: scroll;
}
table {
border-collapse: collapse;
border-spacing: 0;
width: 100%;
}
.tb01 .bg01 {
width: 20%;
background: #7391ab;
color: #fff;
}
.tb01 tr th,
.tb01 tr td {
text-align: center;
vertical-align: middle;
}
.tb01 .bg02 {
background: #c8d7f0;
}
.tb01 .bg03 {
background: #cccccc;
}
.bg06 {
background: #004986 !important;
}
.under_tbl.tb01 tr:first-child th {
border-right: solid 1px #000000;
background: #333;
color: #fff;
/*width: 30%;*/
}
.under_tbl.tb01 tr td,
.under_tbl.tb01 tr th {
border: solid 1px #fff;
}
.tb01 .bg04 {
background: #f1eed2;
}
.tb01 .bg05 {
background: #f8f7ec;
}

/*under table*/
.under_tbl {
    white-space: nowrap;
}
.under_tbl td,
.under_tbl th {
color: #23234B;
border: solid 1px #23234B;
border-collapse: collapse;
}
.under_tbl tr th {
background: #EFF6FB;
padding: 1em;
font-weight: bold;
letter-spacing: -0.02em;
color: #23234B;
border-collapse: collapse;
}
.under_tbl.fixed {
table-layout: fixed;
}
.under_tbl tr td {
border: solid 1px #23234B;
padding: 1em;
letter-spacing: -0.02em;
font-weight: 500;
border-collapse: collapse;
background: #fff;
}
.under_tbl tr:first-child th {
border-right: solid 1px #23234B;
border-bottom: 0;
}
.under_tbl tr:first-child th.border_b {
border-bottom: solid 1px #23234B;
}
.under_tbl tr th.th02 {
background: #E8E8EC;
padding: 24px 10px 20px;
}
.under_tbl .star {
color: #CCC;
text-align: center;
}
.under_tbl .star span {
color: #ffcc00;
}
.under_tbl .star span.star02 {
color: #CCC;
display: inline-block;
position: relative;
}
.under_tbl .star span.star02::before {
color: #ffcc00;
content: attr(data-star);
width: 50%;
white-space: nowrap;
overflow: hidden;
position: absolute;
top: 0px;
left: 0px;
}
.under_tbl .note {
color: #23234B;
font-size: 10px;
margin-bottom: 10px;
}
.under_tbl .vtop {
vertical-align: top;
}
.under_tbl .w33 {
width: 33.33%;
}
.under_tbl .lh0 {
line-height: 0;
}
.under_tbl .v_middle {
vertical-align: middle;
}
.under .under h3,
.under h4,
.under h5,
.under h6 {
line-height: 1.5em;
word-break: break-all;
word-wrap: break-word;
}
/*under mainvisual*/
.under #mainvisual {
position: relative;
padding-bottom: 50px;
}
.under #mainvisual:before {
position: absolute;
content: '';
left: calc(50% - 200px);
bottom: 0;
width: 200vw;
height: 250px;
background: #f1f1f1;
}
.under #mainvisual .inner {
position: relative;
display: flex;
height: 100%;
}
.under_mv_ttl,
.under_mv_ttl h1 {
display: block;
position: relative;
line-height: 1.5em;
font-size: 44px;
font-weight: 600;
color: #23234B;
letter-spacing: 0;
}
.under_mv_content {
display: flex;
align-items: center;
position: relative;
height: 250px;
width: 800px;
padding: 0 30px 0 0;
}
.under_mv_content:before {
position: absolute;
content: '';
right: calc(50% - 400px);
top: 0;
width: 1200px;
height: 100%;
background: url(../images/under_mv_bg.jpg) no-repeat center;
background-size: cover;
}

/*------------------------------------------
★VOICE
------------------------------------------*/
#voice {
background: #dfebf2;
}
#voice .voice_set{
background: #fff;
margin: 3em auto;
}
#voice .voice_set img{
background: #fff;
margin: 0em auto;
max-width: 320px;
width: 100%;
}
#voice .box_bg {
padding: 5px 15px;
margin-bottom: 1em;
background: #d8ecfd;
border-radius: 10px;
}

/*------------------------------------------
症例
------------------------------------------*/
#example{}
.ex_list ul{
    width: 100%;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    align-content: space-around;
    align-items: stretch;
    flex-direction: row;
    justify-content: center;
}
.ex_list ul li{
    background: #fff;
    border-radius: 10px;
    margin: 5px;
    padding: 5px;
}
.ex_list ul li img{
    max-width:100%;
    display: block;
    padding: 5px;
}

/*------------------------------------------
★FLOW
------------------------------------------*/
#flow .flow_set{
background:url(../img/flow_line.png) repeat-y top left scroll;
padding-bottom: 2em;
}
#flow .flow_bg{
background: #dfebf2;
width: 94%;
margin-left: 6%;
padding: 0.5em 1.5em 1.5em;
border-radius: 10px;
}
#flow dl dt{
font-size: 150%;
font-weight: 900;
color: #002e73;
border-bottom: #a9d3eb 6px solid;
margin-bottom: 5px;
}
#flow dl dt .num{
font-size: 120%;
font-weight: 900;
padding: 0 5px;
transform: skew(-10deg, 0deg);
display: inline-block;
}
#flow dl dd{}

/*------------------------------------------
★治療が受けられない方
------------------------------------------*/
#nonp ul.nonp_list{
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: space-around;
align-items: stretch;
flex-direction: row;
justify-content: center;
}
#nonp ul.nonp_list li{
background: #fff;
padding: 5px;
padding-bottom: 15px;
border-radius: 10px;
margin: 5px;
}
#nonp ul.nonp_list li p{
text-align: center;
line-height: 1.6;
color: #2e487c;
font-weight: 900;
font-size: 120%;
letter-spacing: 0;
}

/*------------------------------------------
Q＆A
-------------------------------------------*/
#faq{
background: #dfebf2;
}
#faq .toggle_wrap {
background: #e1f5fe;
width: 98%;
margin: 0 auto 2em;
border-radius: 5px;
padding: 0px;
box-shadow: #ccc 5px 5px 5px;
border: #1a1935 1px solid;
}
#faq .toggle_wrap p.q {
font-size: 115%;
line-height: 1.8;
padding:10px 40px 10px 25px;
/*font-weight: bold;*/
}
#faq .toggle_wrap p.q:before,
#faq .toggle_wrap p.a:before{
content: "Q.";
font-family: FontAwesome;
margin-right: 10px;
font-weight: bold;
color: #78ddf5;
background: transparent;
padding: 0;
border-radius: 5px;
}
#faq .toggle_wrap p.a:before {
content: "A.";
color: #cc0000;
background: transparent;
}
#faq .toggle_contents {background: #fff;}

/* アコーディオン */
#faq .toggle_switch {
position: relative;
cursor: pointer;
padding:5px 0;
background: #181937;
color: #fff;
}
#faq .toggle_contents p {
text-align: left;
padding: 15px 25px;
line-height: 2.0;
}
#faq .toggle_switch::after {
content: "";
display: inline-block;
width: 18px;
height: 11px;
background: url(../img/arrow_down.png) no-repeat center center;
background-size: contain;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 20px;
transition: transform .2s;
}
#faq .toggle_switch.open::after {
transform: rotateZ(180deg);
top: 40%;
}
#faq .toggle_contents {
display: none;
/*display: block;*/
padding: 5px 0 5px;
background: #fff;
width: 100%;
margin: 0;
border-radius: 0 0 10px 10px;
}

@media screen and (max-width: 590px) {
#faq .toggle_wrap p.q,#faq .toggle_wrap p.a {padding:10px 20px 10px 20px;}
#faq .toggle_switch::after {right: 5px;}
}

/*------------------------------------------
★治療プラン
------------------------------------------*/
#plan ul.plan_list{
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: space-around;
align-items: stretch;
flex-direction: row;
justify-content: flex-start;
margin-bottom: 1.5em;
}
#plan ul.plan_list li{
background: #fff;
border: #2d3a6e 3px solid;
padding: 10px;
border-radius: 10px;
text-align: center;
width: 14%;
margin: 1%;
}
#plan ul.plan_list li.long{
width: fit-content;
border: navajowhite;
background: transparent;
text-align: left;
font-size: 90%;
}
#plan ul.plan_list li p{
text-align: center;
line-height: 1.6;
color: #2e487c;
font-weight: 900;
letter-spacing: 0;
}

/*------------------------------------------
★適応症／料金について
------------------------------------------*/
#tekiosho{
background: #efeee9 url(../img/bg-5.jpg) no-repeat center center scroll;
background-size: cover;
}
#price{
background:#efeee9;
}
#tekiosho .title,
#price .title{
font-weight: 600;
border-bottom: #000000 1px dashed;
margin-top: 1em;
}
.price{
font-size: 160%;
font-weight: 900;
line-height: 1.6;
}
.price .red{
font-size: 140%;
font-weight: 900;
}
.price .xxsmall{
font-size: 80%;
font-weight: 900;
}
.price .xsmall{
    font-size: 90%;
    font-weight: 900;
}
ul.keihi-list li{
background: #131c54;
color: #fff;
margin: 1em auto;
padding: 5px 1em;
line-height: 1.4;
}

/*------------------------------------------
★#message
------------------------------------------*/
#message{
background:#44507b url(../img/message_bg.jpg) no-repeat center center fixed;
background-size: cover;
color: #fff;
}
#message .message_title{
font-size: 205%;
margin: 0em auto;
font-family: "Noto Serif JP", serif;
font-weight: 600;
line-height: 1.8;
color: #d4f2ff;
}

/*------------------------------------------
★CTA
------------------------------------------*/
/*TAB*/
#lpcta{background: #f8f7ec;}
#lpcta h3.sub_title {
text-align: center;
padding: 0.5em 1em;
border: #0d1f4b 6px double;
font-size: 150%;
font-weight: 500;
margin: 1.5em auto;
width: 100%;
    color: #0d1f4b;
}
ul.block_03{
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: space-around;
align-items: stretch;
flex-direction: row;
justify-content: space-evenly;
}
ul.block_03 li{
width: 30%;
margin: 1%;
background: #ffffff;
border: #000 2px solid;
padding: 1em 1em;
border-radius: 15px;
line-height: 1.8;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: stretch;
align-content: space-around;
flex-wrap: wrap;
}
ul.block_03 li .t1{
display: block;
text-align: center;
border-top: #000 1px solid;
border-bottom: #000 1px solid;
font-size: 110%;
font-weight: bold;
padding: 5px;
}
ul.block_03 li .t2{
display: block;
font-size: 60px;
letter-spacing: 0;
font-weight: bold;
line-height: 1;
padding: 10px 0;
color: #ee0000;
}
ul.block_03 li .t2 .small{
font-size: 50%;
display: inline-block;
line-height: 1.4;
font-weight: bold;
color: #000;
}
ul.block_03 li .t2 .yellow{
display: block;
color: #FF9800;
}
ul.block_03 li .t3{
font-size: 90%;
display: block;
}
@media screen and (max-width:1280px) {
ul.block_03 li {
width: 31%;
margin: 1%;
background: #f5f2d4;
padding: 2em 1em;
border-radius: 15px;
line-height: 1.4;
text-align: center;
}
}

/*------------------------------------------
★クリニック
------------------------------------------*/
.clinic-1,.clinic-2{
width: 47%;
margin: 1.5%;
padding: 1.5em;
color: #fff;
}
.clinic-1 a,.clinic-2 a{color: #fff;}
.clinic-1{background: #7896c0;}
.clinic-2{background: #40b49d;}

.clinic_info{
line-height: 2.0;
font-size: 80%;
padding: 1em 0 0;
}
.clinic-1 h3,
.clinic-2 h3 {
color: #fff;
text-align: center;
padding:0em 0em 0.7em 0;
font-family: "Noto Serif JP", serif;
font-size: 160%;
font-weight: 700;
}

/*サムネslickスライダー*/
.slider7-wrap {
width: 100%;
margin: 0 auto;
position: relative;
}
.slider-7 .slick-slide {
height: auto;
overflow: hidden;
}
.slider-7 .slick-slide img {
display: block;
width: 100%;
height: auto;
object-fit: cover;
}
.slider-7 .slick-arrow {
width: 30px;
height: 30px;
cursor: pointer;
border: none;
outline: none;
font-size: 0;
position: absolute;
top: 45%;
z-index: 1;
}
.slider-7 .slick-arrow::before {
content: "";
display: block;
width: 15px;
height: 15px;
border: 1px solid #9E9E9E;
border-width: 3px 3px 0 0;
position: absolute;
top: 30%;
transform: rotate(45deg);
}

.slider-7 .slick-next {right: -15px;}
.slider-7 .slick-prev {left: -15px;}
.slider-7 .slick-next::before {left: 2px;}
.slider-7 .slick-prev::before {border-width: 0 0 3px 3px;right: 2px;}
.slick_count {padding-right: 10px;}
.slick_count .num {display: none;font-size: 15px;text-align: right;}
.slick_count .num .nowcnt,.slick_count .num .allcnt {font-size: 18px;}
.slider-7 .slick-prev::before,.slider-7 .slick-arrow::before {display: none;}

/*BTN*/
#lpcta .btn_more a {
color: #fff;
margin: 1em auto 0;
padding:1.2em 1.5em 1.2em 1em;
line-height: 1.6;
font-weight: bold;
letter-spacing: 0.1em;
width: 80%;
max-width: 94%;
font-size: 100%;
text-align: center;
text-decoration: none;
clear: both;
display: block;
border-radius: 50px;
box-shadow: #838383 3px 3px 3px;
}
#lpcta .btn_more a:hover {
opacity: 0.9;
color: #5d9fe3;
background-color: transparent;
background-color: #fff;
border: #5d9fe3 2px solid;
}
.btn_more a:before {
content: "\f178";
content: "\f101";
content: "\f105";
content: "\f138";
font-family: FontAwesome;
margin-right: 1.2em;
}

/**.btn1 a{background: #7896c0;}**/
.btn2 a{background: #40b49d;}

@media screen and (max-width: 599px) {
ul.block_03 li {
width: 48%;
margin: 1%;
padding: 1em;
}
}

/*------------------------------------------
★カレンダー
------------------------------------------*/
.calender{
box-sizing: border-box;
margin-top: 1em;
}
.calender table{
width: 100%;
margin-bottom: 5px;
    white-space: nowrap;
}
.calender table th, 
.calender table td {
padding: 5px;
border: none;
vertical-align: middle;
font-size: 12px;
}
.calender tbody th span {
padding: 2px 2px;
margin: 0 8px;
}
.calender table thead th {
text-align: center;
font-weight: normal;
letter-spacing: 4px;
}
.clinic-1 .circle,.clinic-2 .circle{
background-color: #6597c4;
color: #fff;
border-radius: 50%;
width: 25px;
height: 25px;
line-height: 25px;
letter-spacing: 0;
display: inline-block;
}
.calender table tbody th {
font-size: 14px;
font-weight: normal;
letter-spacing: 4px;
text-align: center;
background-color: #ffffff !important;
}
.clinic-1 .calender table tbody td {
width: 8%;
text-align: center;
}

/*clinic-1*/
.clinic-1 .calender table th, 
.clinic-1 .calender table td {
background: #fff;
color: #8396bc;
}
.clinic-1 .calender tbody th span {
background-color: #d5e6ff;
color: #6597c4;
}
.clinic-1 .calender table thead th {
background: #d5e6ff;
color: #3f6c94;
}
.clinic-1 .circle {
background-color: #6597c4;
}
.clinic-1 .calender table tbody th {
background-color: #ffffff !important;
color: #8396bc;
    font-size: 75%;
}


/*clinic-2*/
.clinic-2 .calender table tbody td {
    width: 8%;
    text-align: center;
}
.clinic-2 .calender table th,
.clinic-2 .calender table td {
    background: #fff;
    color: #097366;
}
.clinic-2 .calender tbody th span {
    background-color: #97dcd6;
    color: #097366;
}
.clinic-2 .calender table thead th {
    background: #97dcd6;
    color: #097366;
}
.clinic-2 .circle {
    background-color: #ffffff;
    color:#097366;
}
.clinic-2 .calender table tbody th {
    background-color: #ffffff !important;
    color: #097366;
    font-size: 75%;
}

/*------------------------------------------
★footer_area
------------------------------------------*/
#footer_area .clinic-1,
#footer_area .clinic-2{
background: transparent;
}
