@charset "utf-8";

body {
    line-height: 2;
    font-size: 17px;
    font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Arial, "Yu Gothic", Meiryo, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: #333;
}

h2.h2 {
    font-size: 32px;
    text-align: center;
    font-weight: 900;
    color: #231815;
    margin-bottom: 0.5em;
}
h3{
    font-weight:bold;
    color: #2db19a;
    text-align: center;
}

a {
    transition: 0.6s;
}

a:hover {
    opacity: 0.6;
}

p {
    margin-bottom: 20px;
    text-align: center;
    font-size: 18px;
    color: #474747;
    line-height: 1.5;
    font-weight: 500;
}

ul {
    list-style-position: inside;
}

img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
img.imgmt1{
    margin-top: -2px;
}

div.sec {
    width: 600px;
    max-width: 100%;
    margin: 0 auto;
}


div.p100_gr{
background-color: #2db19a;
width: 100%;
}
div.p100_y{
background-color: #f9edcc;
width: 100%;
}

div.p100_gr_l{
background-color: #eaf5f3;
width: 100%;
}
div.p100_bl_l{
background-color: #edf3f4;
width: 100%;
}
div.p100_pdot{
background: url('../images/img007_bg.png');
width: 100%;
background-size: 60px;
}
.small {
    font-size: 0.8em;
    text-align: left;
    color:#575757;
    margin: 0 auto;
    line-height: 1;
}
.fc_white {
    color:#fff;
}

.inner01 {
    max-width: 600px;
    margin: 0 auto;
}
.inner02 {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    padding: 20px 3%;
}

/* ボタン */
.button {
    padding: 15px 0;
}

.button a {
    display: block;
    margin: 0 auto;
    max-width: 90%;
}

.button a:hover {
    opacity: 0.9;
}

.pt1{
    padding-top: 1em !important;
}
.pt4{
    padding-top: 4em !important;
}
.pd4 {
    padding: 4em 0 !important;
}
.pt2{
    padding-top: 2em;
}
.pb4{
    padding-bottom: 4em;
}
.pb2{
    padding-bottom: 2em;
}
.pb1{
    padding-bottom: 1em !important;
}
.pd2 {
    padding: 2em 0 !important;
}
.pdb1 {
    padding-bottom: 1em !important;
}

.mb05 {
    margin-bottom: .5em !important;
}

.mb10{
    margin-bottom: 10px !important;
}
.mb0 {
    margin-bottom: 0 !important;
}
.mb1 {
    margin-bottom: 1em !important;
}
.mb2 {
    margin-bottom: 2em !important;
}

.mb3 {
    margin-bottom: 3em !important;
}
.mt2{
    margin-top: 2em !important; 
}
.mt1{
    margin-top:1em;
}
.mg1{
margin:1em;
}
.pdb0{
    padding-bottom: 0 !important; 
}
.em_08{
    font-size:.8em;
}
.fs_35{
    font-size:35px;
    font-weight:bold;
}
.w_80p{
    width: 80%;
    margin: 0 auto;
    display: block;
}
.w_90p {
    width: 90%;
    margin: 0 auto;
    display: block;
}
/*　FV　*/
.logo{
    text-align: center;
}
.logo img{
    width: 40%;
    max-width: 220px;
    padding: 2px 0 5px;
}
.fv_copy{
    background:#f7f0ef;
    border: 4px solid #d95085;
    font-weight:bold;
    color:#c9646a;
    text-align: center;
    font-size: 1.3em;
    line-height: 1.45;
    padding:15px 10px;
    width: 95%;
    margin: 40px auto;
}

/* know_container */
.know_container{
  display: grid;
grid-template-columns: 49% 49%;
    gap: 2%;
}
.know_container .col {
  box-sizing: border-box;
  text-align: center;
  font-size: 23px;
  font-weight:bold;
  color: #2db19a;
  line-height: 1.5;
}

@media screen and (max-width: 500px){
.know_container .col { 
  font-size: 18px;
}
}

/*reco_container*/
.reco_container{
    position: relative;
margin-top: 100px;
    padding-top: 200px;
}
.reco_container .recoImg{
position: absolute;
top:-50px;
}
.reco_container ul{
    padding:20px 15px;
}
.reco_container ul li{
    list-style: none;
    background: url('../images/icon_check.jpg') no-repeat 0 0;
  background-size:auto 20px;
  background-position: left 15px;
  padding: 5px 0 0 30px;
  font-size: 25px;
  font-weight:bold;
  color:#2db19a;
  line-height: 1.6;
}
@media screen and (max-width: 500px){
    .reco_container{
    margin-top: 18%;
    padding-top: 30%;
    }
    .reco_container ul li{
  font-size: 18px;
  line-height: 1.4;
  background-position: left 8px;
}
}

/*index_container*/
.index_container ul{
    padding:0 25px 40px;
}
.index_container ul li{
    list-style: none;
    margin-bottom:10px;
}
.index_container a{
    background-color: #2db19a;
    width:100%;
    display: inline-block;
  background-position: left 8px;
  padding: 15px 25px;
  font-size: 20px;
  font-weight:bold;
  color:#fff;
  line-height: 1.4;
  text-decoration: none;
  border-radius:10px;
}

.index_list li {
  position: relative;
}

.index_list li::before,
.index_list li::after {
content: "";
    position: absolute;
    bottom: 35%;
    right: 15px;
    width: 4px;
    height: 13px;
    border-radius: 9999px;
    background-color: #fff;
    transform-origin: 50% calc(100% - 1px);
}

.index_list li::before {
  transform: rotate(45deg);
}

.index_list li::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 500px){
    .index_container ul{
    padding:0 15px 30px;
}
.index_container a {
    background-color: #2db19a;
    width: 100%;
    display: inline-block;
    background-position: left 8px;
    padding: 10px 15px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
    text-decoration: none;
    border-radius: 10px;
}
}
/*reason_container*/
.reason_area{
padding:15px 15px 25px;
text-align: center;
}
.reason_area img{
    margin: 5px 0;
    max-width: 500px;
}
/*reason_container*/
.head01 {
    display: flex;
    justify-content: start;
    align-items: center;
    position: relative;
    padding: .2em 1.4em;
    overflow: hidden;
    border: 3px solid #2db19a;
    border-radius: 5px;
    color: #2db19a;
    border-radius: 35px;
    font-size: 24px;
    font-weight:bold;
    width:90%;
    margin:0 5%;
}

.head01:before {
    position: absolute;
    top: -50%;
    left: -30px;
    z-index: -1;
    width: 60px;
    height: 200%;
    background-color: #2db19a;
    content: '';
}

.head01 span {
    margin-right: 1.1em;
    color: #fff;
    font-size: 1.1em
}
@media screen and (max-width: 500px){
    .head01 {
    padding: 0 0 .1em .4em;
    border-radius: 5px;
    border-radius: 35px;
    font-size: 19px;
    width:100%;
    margin:0;
}

.head01:before {
    position: absolute;
    top: -50%;
    left: -30px;
    z-index: -1;
    width: 55px;
    height: 200%;
    background-color: #2db19a;
    content: '';
}

.head01 span {
    margin-right: 1.1em;
    color: #fff;
    font-size: 1.1em
}
}
.about_container p{
text-align: left;
padding:15px;
font-weight:400;
}

/*flow_container*/
.flow_container img{
    margin-bottom:1em;
}

.certificate{
    background-color: #eaf5f3;
    border-radius: 0 15px 0 10px;
    padding: 15px;
    
}
.certificate h3{
    border-bottom:dotted 4px #75c6b9; 
    line-height: 1.3;
    padding:5px 0 15px;
}
.certificateArea{
    display: flex;
    padding-top:15px;
}
.certificateArea p{
padding-left:15px;
margin-bottom:5px;
text-align: left;
font-size: .9em;
font-weight: 400;
}

/*voice_container*/
.voice_container{
    padding:20px 0 60px;
}
.voice_container img{
    margin-bottom:10px;
}

/*sf_container*/
.sf_container .sfArea{
    background-color: #eaf5f3;
    border-radius: 0 15px 0 10px;
    padding: 15px;
}
.sf_container .sfArea p{
    color:#364646;
    padding-bottom: 0;
    margin-bottom:10px;
}
.sf_container .sfArea h3{
    color:#2db19a;
    border-bottom: dotted 4px #75c6b9;
    line-height: 1.3;
    padding: 5px 0 15px;
}
.sf_container{
    position: relative;
}
.sf_container .imgFor{
    position: absolute;
    top:-80px;
    right: 0;
    left: 0;
    margin: auto;
    width: 120px;
}
.sf_container h3{
    color:#fff;
    line-height: 1.4;
}
.sf_container p{
    text-align: left;
    padding: 15px;
    font-weight: 400;
    color:#fff;
}

/*consultation*/
.consult_container{
    background-color: #edf3f4;
    background-image: url('../images/img_acne035.jpg');
    background-size: contain;
    background-repeat: no-repeat;
    padding: 25px;
    color: #364646;
}
.cns_title{
    font-size: 22px;
    font-weight: bold;
    text-align: left;
    color: #364646;
    line-height: 1.3;
}
.consult_container span{
    color:#c36565;
}
.cns_txt{
    text-align: left;
    color: #364646;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
}

.consult_container .button a {
max-width: 100%;
}

/*FAQ*/
.faq-item {
    padding: 10px 1em;
  }

  /* アコーディオン用のチェックボックスは非表示 */
  .faq-item input {
    display: none;
  }

  /* 質問部分 */
  .faq-question {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: bold;
    border-bottom: dotted 4px #75c6b9;
    color: #364646;
    padding: 8px 0;
    margin: 0 10px;
    line-height: 1.3;
  }

  .faq-question .icon {
      flex: 0 0 28px;   /* ← 幅を固定 */
  height: 28px;     /* ← 高さを固定 */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin-right: 8px;
    background-image: url('../images/icon_q.png');
    background-size: contain;
    background-repeat: no-repeat;
  }

  /* 回答部分 */
  .faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  display: flex;
  align-items: flex-start;
    background-color: #fff;
  }

  .faq-answer .icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background-image: url('../images/icon_a.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
    font-weight: bold;
  }

  .faq-answer p {
    margin: 0;
    text-align: left;
    color: #364646;
    font-size: 14px;
    font-weight: 400;
  }

  /* チェックONで回答表示 */
  .faq-item input:checked ~ .faq-answer {
  max-height: 1000px; /* 十分大きな値にして事実上autoに近づける */
     padding: 13px;
    margin-top:5px;
    border-radius: 10px;
  }


/* caurion */
div.caution{
    padding: 20px 5% 0;
}
div.caution table{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: 1px solid #bcbcbc;
    border-left: 1px solid #bcbcbc;
}
div.caution table thead th{
    background-color: #2db19a;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    padding: 5px 1%;
    text-align: center;
}
div.caution table th{
    background-color: #eaeaea;
    color: #474747;
    font-size: 14px;
    line-height: 1.4;
    font-weight: bold;
    padding: 10px 15px;
    text-align: left;
    line-height: 1.5;
    border-right: 1px solid #bcbcbc;
    border-bottom: 1px solid #bcbcbc;
}
div.caution table td{
    background-color: #fff;
    color: #474747;
    font-size: 14px;
    font-weight: normal;
    padding: 10px 15px;
    text-align: left;
    line-height: 1.5;
    border-right: 1px solid #bcbcbc;
    border-bottom: 1px solid #bcbcbc;
}
.wid42{
    width: 42%;
}

/* フッター */
footer {
    background-color: #474747;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 90px;
}

.footer_content {
    width: 600px;
    margin: 0 auto;
    padding: 2em;
}

.footer_content img {
    width: 300px;
    display: block;
    margin: 0 auto 2em;
    max-width: 60%;
}

.fc_inner ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    list-style: none;
}

.fc_inner ul li{
    line-height: 1.7;
}

.fc_inner ul li a{
    color: #fff;
}
.top {
    position: fixed;
    bottom: 95px;
    right: 50px;
    z-index: 2;
}

.top a {
    background: #2db19a;
    display: block;
    width: 80px;
    height: 65px;
    border-radius: 5px;
    font-size: 20px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border: 2px solid #fff;
    transition: 0.6s;
    line-height: 61px;
}

.top a:hover {
    opacity: 0.6;
}

.wid480{
    display: none;
}

.footer_ad {
    display: block;
    background: rgba(51, 51, 51, 0.6);
    padding: 20px 15px;
    position: relative;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 900;
    width: 100%;
    box-sizing: border-box;
}

.footer_ad .reserv_btn {
    width: auto;
    text-align: center;
    display: flex;
}

.footer_ad .reserv_btn a {
    width: 50%;
    padding: 12px 0;
    margin: 0 auto;
    display: block;
    box-sizing: border-box;
    border-radius: 45px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    line-height: 1.5em;
    letter-spacing: 0.025em;
    background-color: #2db19a;
    position: relative;
}
.footer_ad .reserv_btn a:hover,
.footer_ad .reserv_btn a:active {
    background-color: #4ac7b2;
    opacity: 1;
}
.footer_ad .reserv_btn a.telbtn{
        width: 40%;
        display: none;
    }


@media screen and (max-width: 768px){
    body {
        font-size: 15px;
    }

    .inner {
        max-width: 94%;
        margin: 0 auto;
    }

    p{
        font-size: 16px;
    }
    .button a {
        line-height: 40px;
        font-size: 20px;
    }

    h2.h2 {
        font-size: 28px;
        line-height: 1.6;
    }

    .pd2 {
        padding: 1.5em 0 !important;
    }
    .pd4 {
        padding: 3em 0 !important;
    }

    .toc_h {
        font-size: 18px;
    }

    .toc_list ul {
        gap: 5px;
    }

    .toc_list li {
        width: 49%;
        margin-bottom: .8em;
    }

    .toc_list li:last-child {
        margin-bottom: 0;
    }

    .toc_list li a {
        line-height: 40px;
        font-size: 15px;
        padding:6px 0;
    }

    .triangle {
        border-right: 150px solid transparent;
        border-left: 150px solid transparent;
        border-top: 50px solid #333;
        margin: 0em auto 1.5em;
    }

    .text01 {
        font-size: 22px;
    }

    .text01:before{
        transform: translate(-195px, 24px);
    }

    .text01:after{
        transform: translate(14px, 24px);
    }

    .text02 {
        font-size: 17px;
    }

    .sp_on {
        display: block;
    }

    
    .merit img{
        width: 100%;        
    }
    
    .merit img{
    padding-bottom:.5em;        
    }

    .h2.dosage_ti::before{
        width: 24px;
        height: 24px;
        transform: translate(-35px,7px);
    }
    h2.h2.treat::before{
        transform: translate(-40px, 6px);
    }
    h2.h2.cl_info::before{
        transform: translate(-40px, 2px);
    }
    .price_box {
        padding: 15px;
    }

    .price_table_cover {
        padding: 25px 15px 0;
        border-top:2px #fff dashed;
    }

    .price_table {
        line-height: 1.6;
        font-size: 14px;
        table-layout: initial;
    }

    .price_table th,
    .price_table td {
        padding: 8px 5px;
    }

    .price_table_cover h3 {
        line-height: 1.6;
    }

    .inner.cl_info{
        padding: 50px 5px;
    }

    .flow_item {
        padding: 30px 20px 0px 20px;
        grid-template-columns: 120px calc(100% - 160px);
        gap: 0 30px;
    }

    .flow_img {
        width: 120px;
        height: 120px;
    }

    .flow_img-body {
        width: 110px;
        height: 110px;
    }

    .flow_main_text_en {
        font-size: 16px;
    }

    .flow_main_text_jp {
        font-size: 18px;
        margin: 0 0 10px;
        padding: 0 0 10px;
    }

    .flow_text {
        font-size: 15px;
    }

    table.hour_table th,
    table.hour_table td {
        padding: 1rem 0.2rem;
    }

    .footer_content {
        padding: 2em;
        max-width: 100%;
    }

    .footer_content_right ul {
        flex-wrap: wrap;
    }

    .footer_content_right ul li a {
        font-size: 14px;
    }

    .top {
        bottom: 95px;
        right: 10px;
    }

    .top a {
        width: 50px;
        height: 45px;
        font-size: 18px;
        line-height: 41px;
    }

    .sp_footer {
        display: block;
        position: fixed;
        width: 100%;
        height: 80px;
        background: rgba(0, 0, 0, 0.6);
        left: 0;
        bottom: 0;
    }

    .sp_footer .button {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        width: 100%;
    }

    div.reserv_btn a::after {
        content: "";
        width: 22px;
        height: 22px;
        position: absolute;
        background: url(../../images/common/resev_arrow_icon.png) no-repeat 0px 0px;
        background-size: 22px auto;
        top: 50%;
        transform: translateY(-50%);
        right: 4%;
    }

    .footer_ad{
        padding: 10px 15px;
    }

    .footer_ad .reserv_btn a{
        width: 60%;
        border-radius: 5px;
        line-height: 2.2;
    }
    .footer_ad .reserv_btn a.telbtn{
        width: 40%;
        display: initial;
        background-color: #e76e9c;
        margin-right:5px;
        line-height: 1.2;
    }

    footer{
        margin-bottom: 71px;
    }

}

@media screen and (max-width: 600px){
    h2.h2{
        font-size: 24px;
    }
    .plan-block{
        width: 95%;
    }
    /* treat */
    .treat_info01, .treat_info02{
        width: 95%;
    }
    .treat_info01 ul li{
        gap: 5px;
    }
    .tr_title{
        font-size: 18px;
        width: 25%;
    }
    .doc_inner_top{
        flex-direction: column-reverse;
    }
    .doc_iL{
        width: 100%;
    }
    .doc_iR {
        width: 50%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 550px){
    /* worry */
    p.big_title{
        font-size: 24px;
        line-height: 1.3;
        color: #2db19a;
    }
    .big_title span.fs_big{
        font-size: 27px;
        line-height: 1.3;
    }
    .big_title .fs_big::after{
        width: 306px;
        transform: translate(-324px, 49px);
    }
    .mi_L p{
        font-size: 16px;
    }
    p.title{
        font-size: 19px;
    }
    /* case */
    .text01{
        font-size: 20px;
    }
    .text01:before, .text01:after{
        width: 165px;
    }
    .text01:before{
        transform: translate(-180px, 20px);
    }
    .text01:after{
        transform: translate(13px, 20px);
    }
    p.case_title{
        font-size: 20px;
    }
    article.case dl dt{
        font-size: 16px;
    }
    /* price */
    .recommend-label{
        width: calc(90% / 4);
        top: 0;
        font-size: 18px;
        transform: translate(-35px, 41px);
    }
    /* flow */
    .title01{
        font-size: 22px;
    }
    .title01:before, .title01:after{
        width: 135px;
    }
    .title01:before{
        transform: translate(-156px, 17px);
    }
    .title01:after{
        transform: translate(15px, 17px);
    }
    .num{
        font-size: 18px;
    }
    .flow_t{
        font-size: 24px;
    }
    span.pay_title{
        font-size: 18px;
    }
    .pay_L{
        font-size: 15px;
        line-height: 1.6;
    }
    
    /* treat */
    .tr_title{
        width: 25%;
    }
    h2.h2.treat::before{
        width: 24px;
        height: 30px;
        transform: translate(-35px, 3px);
    }
    .tr_inner{
        line-height: 1.4;
    }
    /* cl_info */
    .small01{
        font-size: 16px;
    }
    .text02 span{
        font-size: 16px;
    }
    /* caution */
    div.caution table thead th{
        font-size: 20px;
        padding: 10px 1%;
    }
    div.caution table td{
        font-size: 15px;
        line-height: 1.4;
    }
}
@media screen and (max-width: 530px){
    .recommend-label{
        transform: translate(-16px, 38px);
        width: calc(95% / 4);
    }
    table.plan-table{
        width: 94%;
    }
    img.title-img{
        padding-left: 16px;
    }
    .fs_s {
        font-size: 13px;
    }
    table.plan-table th{
        line-height: 1.3;
    }
    small {
        width: 95%;
    }
}
@media screen and (max-width: 480px){
    .wid480{
        display: block;
    }
    .text01:before, .text01:after{
        width: 130px;
    }
    .text01:before{
        transform: translate(-141px, 20px);
    }
    .text01:after{
        transform: translate(9px, 20px);
    }
    article.case{
        width: 94%;
    }
    p.case_title{
        width: 96%;
        font-size: 18px;
    }
    article.case dl{
        width: 95%;
    }
    .recommend-label{
        transform: translate(-16px, 31px);
        width: calc(101% / 4);
    }
    th.bg_pink.wid20{
        width: 20%;
    }
    .inner {
        width: 96%;
    }
    .inner2{
        width: 90%;
    }
    li.flow_inner{
        gap: 16px;
    }
    .flow_t{
        font-size: 22px;
    }
    .title01:before, .title01:after{
        width: 120px;
    }
    .title01:before{
        transform:translate(-133px, 17px);
    }
    .title01:after{
        transform:translate(12px, 17px) ;
    }
    .pay_box{
        width: 100%;
    }
    .pay_L{
        width: 60%;
    }
    .tr_title{
        width: 33%;
    }
    .big_title span.fs_big{
        font-size: 27px;
    }
    .big_title .fs_big::after {
        width: 280px;
        transform: translate(-292px, 42px);
    }
}
@media screen and (max-width: 440px){
    .recommend-label{
        transform: translate(-15px, 27px);
    }
    div.caution{
        width: 100%;
    }
    p {
        font-size: 15px;
    }
}
@media screen and (max-width: 400px){
    .text01:before, .text01:after {
        width: 100px;
    }
    .text01:before {
        transform: translate(-115px, 20px);
    }
    .text01:after {
        transform: translate(12px, 20px);
    }
    article.case{
        width: 97%;
    }
    article.case dl{
        width: 98%;
    }
    article.case dl dd{
        padding: 3px 5px;
    }
    th.bg_pink.wid20 {
        width: 16%;
    }
    .recommend-label{
        width: calc(108% / 4);
        transform: translate(-12px, 50px);
        font-size: 17px;
    }
    img.title-img {
        width: 85%;
        padding-left: 12px;
    }
    img.title-img.s02 {
        width: 73%;
    }
    .sp_mb2{
        margin-bottom: 20px;
    }
    .inner2 {
        width: 90%;
    }
    .title01:before, .title01:after {
        width: 90px;
    }
    .title01:before {
        transform: translate(-97px, 17px);
    }
    .title01:after {
        transform: translate(5px, 17px);
    }
    .pay_L {
        width: 97%;
        font-size: 14px;
    }
    .tr_title {
        width: 45%;
    }
    h2.h2 {
        font-size: 22px;
    }
    h2.h2.cl_info{
        padding-left: 26px;
    }
    p.big_title {
        font-size: 20px;
        color:#2db19a;
    }
    .big_title span.fs_big {
        font-size: 26px;
    }
    .big_title .fs_big::after {
        width: 240px;
        transform: translate(-249px, 36px);
    }
    .mi_L p {
        font-size: 15px;
    }
    p.title {
        font-size: 17px;
    }
}


/*スライダー1*/
 .slider-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 480px; /* デモ用：スマホ幅 */
    margin: 0 auto;
  }

  .slider-wrapper {
    display: flex;
    transition: transform 0.4s ease;
  }

  .slide {
    flex: 0 0 100%; /* スライド幅：画面の90% */
    margin: 0;  /* 中央寄せ */
    border-radius: 12px;
    padding: 20px 20px 10px;
    box-sizing: border-box;
    text-align: center;
    user-select: none; /* テキスト選択防止 */
  }


  /* 矢印ボタン */
  .slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(68, 194, 226, 0.7);
    border: none;
    color: #fff;
    font-size: 24px;
    width: 44px;
    height: 44px;
    cursor: pointer;
    border-radius: 50%; /* 正円にする */
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .slider-btn.prev { left: 10px; }
  .slider-btn.next { right: 10px; }

   /* 症例エリア2 */
img.caseName {
width:100px;
margin-bottom:15px;
}

.caseArea02 article.case {
    width: 90%;
    margin: 0 auto 40px;;
    padding: 15px 10px 25px;
    background-color: #e9f3f4;
}
/* =========================
   スライダー（as_ 接頭辞あり）
========================= */
.as_auto_slider {
  overflow: hidden;
  width: 100%;
  margin-bottom: 20px;
}

.as_auto_slider .as_slide_track {
  display: flex;
  gap: 0;
  will-change: transform;
}

.as_auto_slider .as_slide {
  flex: 0 0 auto;
  cursor: pointer;
}

.as_auto_slider .as_slide img {
  width: 150px;
  height: auto;
  display: block;
}
.as_auto_slider .as_slide_track02 .as_slide img {
  width: 350px;
  height: auto;
  display: block;
}

/* モーダル */
.as_modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.as_modal .as_modal_content {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  max-width: 400px;
  text-align: center;
  position: relative;
}

.as_modal .as_modal_content button {
  margin-top: 20px;
  padding: 8px 20px;
  border: none;
  background: #00a8ff;
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
}

.as_modal_content article.case{
margin-bottom:0;
padding:0;
width:100%;
background-color: #fff;;
}

/* 閉じる（×）ボタン */
.as_modal_close {
  position: absolute;
 top: 3px;
right: 3px;
font-size: 25px;
  font-weight: bold;
  color: #888;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s;
}

.as_modal_close:hover {
  color: #00a8ff;
}