@charset "utf-8";
/* CSS Document */
html {
  font-size: 62.5%; /* 16px * 62.5% = 10px */
  width: 100%;
  scroll-behavior: smooth;
}
body {
    color: #352525;
    background-color: #F6F3E9;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1.4rem;
    line-height: 1.75;
    }
@media (min-width:800px) {
    body {
        font-size: 1.6rem;   
    } 
}
li {
    list-style: none;
}
a{
    text-decoration: none;
    color: inherit;
}
img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}
*, *:before, *:after {
    box-sizing: border-box;
}
.en{
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
}
.red{
    color: #F63C0D;
}
.bold{
    font-weight: 800;
}
.text_link{
    text-decoration: underline;
    color: #6b31a2;
}
.text_link:hover{
    opacity: 0.7;
}
@media (min-width:800px){
    .br-sp{
        display: none;
    }
    .sp-only{
        display: none;
    }
}
/*--------  ボタンなどホバーすると拡大する  --------*/
.btn-zoom{
    -webkit-transition: all .3s;
    transition: all .3s;
}
.btn-zoom:hover {
  transform: scale(1.1,1.1);
}

/*----------------ヘッダー----------------*/

.header-pc{
    display: none;
}
.header-sp {
    height: 80px;
    padding: 15px 0;
    border-bottom: #352525 1.5px solid;
}
.header-sp img{
    height: 50px;
}
@media (min-width:800px){
    .header-sp{
        display: none;
    }
    .header-pc{
        display: block;
    }
    .header-bar{
        display: block;
    background-color: #F63C0D;
    width: 100%;
}
.header-bar_text{
    width: 100%;
    padding: 7px 1.9444vw;
    color: #fff;
    line-height: 1;
    font-size: min(1.625vw,1.4rem);
}
.header-under{
    padding: 0 1.9444vw;
    padding-right: calc(1.9444vw + 120px);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-size: 2.2rem;
    font-weight: 800;
    border-bottom: #352525 solid 1.5px;
}
.header-rogo_pc img{
    height: 80px;
}
.header-nav__tel{
    display: flex;
    flex-direction: row;
    align-items: center;
}
.header-nav__tel::before{
    content: "";
    display: block;
    height: 20px;
    width: 20px;
    margin-right: 4px;
    background-image: url(/images/icon-tel.svg);
    background-size: contain;
    background-repeat: no-repeat;
}
}
/*pcハンバーガーメニュー*/
.hamburger{
    display: none;
}
@media(min-width:800px){
    .hamburger{
    display: block;
    border: 1.5px solid #352525;
    border-radius: 50px;
    font-size: 1.6rem;
    padding: 18px 20px 18px 30px;
    text-transform: uppercase;
    font-weight: 700;
    color: #352525;
    background-color: #F4D262;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    position: fixed;
    z-index: 1000;
    top: 37px;
    right: 20px;
    }
    .btn-dot{
        height: 4px;
        width: 4px;
        border-radius: 2px;
        background-color: #352525;
        position: relative;
    }
    .btn-dot::before{
        content: "";
        position: absolute;
        height: 4px;
        width: 4px;
        border-radius: 2px;
        background-color: #352525;
        right: 6px ;
    }
    .btn-dot::after{
        content: "";
        position: absolute;
        height: 4px;
        width: 4px;
        border-radius: 2px;
        background-color: #352525;
        right: 12px;
    }
}
/* -------------- ハンバーガーボタンがクリックされたら ----------------*/
.hamburger.active {
    background-color: transparent;
    border: none;
}

.hamburger.active .btn-dot {
    top: 0px;
    transform: rotate(45deg);
    height: 2px;
    width: 15px;
}
.hamburger.active .btn-dot::before {
    top: 0px;
    left: 0px;
    transform: rotate(-90deg);
    height: 2px;
    width: 15px;
}
.hamburger.active .btn-dot::after {
    display: none;
}

/*-------------sp固定ボタン--------------*/
.sp-navi-btn{
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1000;
    width: 100vw;
    height: 65px;
    background-color: #F63C0D;
    box-shadow: 0px -3px 8px 0px rgba(172, 161, 113, 0.2);
    border-top: 1px solid #F6F3E9; 
}
.sp-navi-btn__list{
    display: flex;
    height: 100%;
    font-size: 1rem;
    letter-spacing: 0.5px;
    color: #F6F3E9;
    text-transform: uppercase;
}
.sp-navi-btn__list-item{
    width: 20%;
    border-left :1px solid #F6F3E9; 
    
}
.sp-navi-btn__list-item:first-child{
    border-left: none;
}
.sp-navi-btn__list a{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.sp-navi-btn__list-icon img{
    height: 16px;
}
.sp-navi-btn__list-icon{
    margin-bottom: 2px;
}
.sp-navi-btn__list-item:hover{
    opacity: 0.6;
}

.hamburger-sp{
    width: 100%;
    height: 100%;
    cursor: pointer;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction:column;
    gap: 8px;
    background-color:  #F63C0D;
    padding: 0;
    border: none;
    padding-bottom: 15px;
}
.btn-dot-sp{
    height: 4px;
    width: 4px;
    top: -2px;
    border-radius: 2px;
    background-color: #FFF;
    position: relative;
    margin-right: 5px;
}
.btn-dot-sp::before{
    content: "";
    position: absolute;
    height: 4px;
    width: 4px;
    border-radius: 2px;
    background-color: #FFF;
    right: 8px ;
}
.btn-dot-sp::after{
    content: "";
    position: absolute;
    height: 4px;
    width: 4px;
    border-radius: 2px;
    background-color: #FFF;
    left: 8px;
}
.btn__text-sp{
    font-size: 1rem;
    font-weight: 600;
    color: #FFF;
    text-transform: uppercase;
}

@media(min-width:800px){
    .sp-navi-btn{
        display: none;
    }
}
/* -------------- ハンバーガーボタンがクリックされたら ----------------*/
.hamburger-sp.active .btn-dot-sp {
    transform: rotate(45deg);
    height: 2px;
    width: 15px;
}
.hamburger-sp.active .btn-dot-sp::before {
    left: 0px;
    transform: rotate(-90deg);
    height: 2px;
    width: 15px;
}
.hamburger-sp.active .btn-dot-sp::after {
    display: none;
}

/*-------------g-nav--------------*/
.g-nav{
    position: fixed;
    right: 0;
    bottom: -120%;
    opacity: 0;
    background-color: rgba(0,0,0,0.3);
    height: 100svh ;
    width: 100vw;
    z-index: 999;
    padding: 0;
    transition: all 0.5s;
}
.g-nav__content-wrap{
    background-color: #FFFCF3;
    padding: 40px 6.4vw 65px ;
    width: 100vw;
    height: 100%;
}
.g-nav__content{
    overflow-y:auto;
    height: 100%;
    width: 100%;
}
.g-nav__list{
    display: flex;
    flex-direction: column;
    margin-bottom: 28px;
}
.g-nav__list-item{
    font-size: 1.2rem;
    height: 65px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(53,37,37,0.6);
}
.g-nav__list-item .en{
    font-size: 2.0rem;
    font-weight: 800;
    margin-right: 10px;
}
.g-nav__list-item:hover{
    opacity: 0.6;
}
.g-nav__sns{
    display: flex;
    justify-content: space-between;
}
.g-nav__sns:hover{
    opacity: 1;
}
.g-nav__sns-list{
    display: flex;
    gap: 16px;
}
.g-nav__sns-icon{
    width: 32px;
}
.g-nav__contact{
    background-color: #F8F3E2;
    padding: 20px 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap:15px ;
    margin-bottom: 40px;
}
.g-nav__contact-text{
    font-weight: 600;
    text-align: center;
}
.g-nav__contact-link{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.g-nav__tel{
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    padding: 2px 12px;
    border: 1px solid #352525;
    border-radius: 5px;
    background-color: #fff;
}
.g-nav__tel::before{
    content: "";
    display: block;
    height: 18px;
    width: 18px;
    background-image: url(/images/icon-g-nav-tel.svg);
    background-size: contain;
    background-repeat: no-repeat;
}
.g-nav__contact-line{
    width: 32px;
}
.g-nav__business-hours{
    text-align: center;
    font-size: 1.3rem;
}
@media(min-width:800px){
    .g-nav{
        top: -120%;
        right: -120%;
    }
    .g-nav__content-wrap{
        padding: 90px 40px 0;
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
        border: solid 1.5px #352525;
        border-right: none;
        width: fit-content;
        height: 100%;
        position: absolute;
        right: 0;
    }
    .g-nav__content{
        height: 100%;
        width: 100%;
        padding-bottom: 0;
    }
    .g-nav__list-item{
        height: 70px;
    }
    .g-nav__list-item .en{
        font-size: 2.4rem;
    }
    .g-nav__contact-text{
        font-size: 1.4rem;
    }
}
/* -------------- ハンバーガーボタンがクリックされたら ----------------*/
.g-nav.active  {
    bottom: 0;
    opacity: 1;
}
@media(min-width:800px){
    .g-nav.active{
        top: 0;
        right: 0;
        opacity: 1;
    }
}




/*---------MV----------*/
.section-mv{
    border-bottom: 1.5px solid #352525;
    overflow: hidden;
}
.mv-pc{
    display: none;
}
.mv-img-top{
    margin-top: 20px;
    width: 85%;
    margin-left: -5vw;
    position: relative;
}
.mv-deco_01{
    position: absolute;
    bottom: 13%;
    right: -14%;
    width: 20%;
}
.mv-deco_01 img{
    transform: scaleX(-1);
}
.mv-deco_02{
    position: absolute;
    bottom: 7%;
    right: 3%;
    width: 13%;
}
.mv-message{
    width: 95%;
    margin-left: -5%;
    position: relative;
}
.mv-deco_03{
    position: absolute;
    right: -3.5%;
    bottom: 23%;
    width: 20%;
    z-index: -1;
    transform: rotate(10deg);
}
.mv-img-bottom{
    margin: -10px 0 50px 10%;
    position: relative;
    width: 98%;
}
.mv-deco_04{
    position: absolute;
    left: 9%;
    bottom: 1%;
    width: 19%;
}
.mv-deco_05{
    position: absolute;
    left: -5%;
    bottom: 6%;
    width: 18%;
}
@media(min-width:800px){
.mv-sp{
    display: none;
}
.mv-pc{
    display: block;
    width: 100%;
    max-width: 1800px;
    margin: 0 auto 100px;
}
.mv-img{
    display: flex;
    flex-direction: row;
    padding-top: 30px;
    gap: 10px;

}
.mv-img__left{
    width: 40%;
    padding-left: 60px;
    position: relative;
}
.mv-img__right{
    width: 60%;
    padding-right: 60px;
    position: relative;
    z-index: -1;
}
.mv-deco_01{
    position: absolute;
    top: 38%;
    left: 70px;
    width: 20%;
}
.mv-deco_01 img{
    transform: scalex(1);
}
.mv-deco_02{
    position: absolute;
    top: 47%;
    right: calc(66% - 60px);
    width: 12%;
}
.mv-deco_04{
    position: absolute;
    left: 60%;
    bottom: -11%;
    width: 17%;
}
.mv-deco_05{
    position: absolute;
    left: 75%;
    bottom: -4%;
    width: 14%;
}
.mv-message{
    width: 80%;
    padding-left: 60px;
    margin-top: -15%;
    position: relative;
}
.mv-deco_03{
    position: absolute;
    right: 28.5%;
    bottom: 20%;
    width: 11%;
    z-index: -1;
}
}

/*----------CONCEPT------------*/
.section-concept{
    background-color: #FAF3DF;
    padding: 60px 5% ;
    position: relative;
    border-bottom: #352525 1.5px solid;
}
.concept-ttl-wrap{
    display: flex;
    justify-content: space-between;
    margin-bottom: -40px;
}
.concept-ttl{
    line-height: 1.2;
    font-size: 16px;
}
.concept-ttl span{
    font-size: min(10.66vw,64px);
    letter-spacing: 2px;
    display: block;
    text-transform:uppercase ;
}
.concept__inner{
    max-width: 1160px;
    margin: 0 auto;
}
.concept-img{
    z-index: 5;
    width: 34.6666vw;
    padding-top: 15px;
}
.concept-img img{
    transform: scaleX(-1);
}
.concept-content{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.concept-text_box-wrap{
    position: relative;
    z-index: 0;
}
.concept-text_box{
    width: calc(100% - 10px);
    margin-bottom: 50px;
    background-color: #FFFCF3;
    border: #352525 1.5px solid;
    border-radius: 10px;
    padding: 36px 7%;
    position: relative;
}
.section-concept h3{
    font-size: min(4.85vw, 32px);
    font-weight: 700;
    line-height: 2;
    margin-bottom: 24px;
    -webkit-text-stroke: 3px #FFFCF3;
    paint-order: stroke;
}
.section-concept h3 span{
    background: linear-gradient(transparent 70%, #FDC2B4 50%);
}
.concept-text_box::after{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    background-color: #7BD4AC;
    border: #352525 1.5px solid;
    border-radius: 10px;
    top: 10px;
    left: 10px;
    z-index: -1;
}
.concept-text_box p{
    font-size: 1.6rem;
    margin-bottom: 10px;
}
.btn-concept{
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    padding: 20px 55px 20px 60px;
    background-color: #F4D262;
    border-radius: 50px;
    border: solid 1.5px #352525;
}
.btn-concept::after{
    content: "→";
    display: inline-block;
    margin-left: 10px;
}
@media(min-width:800px){
    .section-concept{
    padding: 100px 5% ;
    }
    .concept-ttl-wrap{
        flex-direction: column;
        margin-bottom: 0;
        align-items: flex-end;
        width: 40%;
        padding-top: 15px;
    }
    .concept-ttl{
        font-size: 18px;
    }
    .concept-ttl span{
        font-size: min(5vw,7.2rem );
    }
    .concept__inner{
        display: flex;
        gap: 5%;
    }
    .concept-img{
        width: 110%;
        padding: 0 0 110px;
        margin-right: -15%;
    }
    .concept-img img{
        transform: scaleX(1);
    }
    .concept-text_box{
        margin-bottom: 90px;
        padding: 56px 8.5714%;
    }
    .section-concept h3{
        font-size: min(3.125vw,3.6rem);
        margin-bottom: 30px;
    }
    .section-concept h3 span::after{
        height: 15px;
    }
    .concept-text_box p{
    font-size: 2.0rem;
    }
    .concept-content{
    align-items: flex-start;
}
}

/*---------------TOP-こんな方々をサポートします---------------*/
.section-support{
    padding: 60px 5% 80px;
    background-image: url(/images/bg-grid.png);
    background-size: 200%;
    background-position: center;
    background-repeat: repeat;
}
.section-support__ttl{
    font-size: min(6.4vw,44px);
    font-weight: 900;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 30px;
}
.box-support{
    position: relative;
    z-index: 0;
    width:calc(100% - 10px);
}
.box-support__inner{
    padding: 40px 7% 50px;
    background-color: #FAF3DF;
    border: solid 1.5px #352525;
    border-radius: 10px;
}
.box-support__inner::after{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    background-color: #F4D262;
    border: #352525 1.5px solid;
    border-radius: 10px;
    top: 10px;
    left: 10px;
    z-index: -1;
}
.top-support__list{
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-bottom: 32px;
}
.top-support__list-item{
    font-size: 1.5rem;
    position: relative;
    margin-left: 28px;
}
.top-support__list-item::before{
    content: "";
    background-image: url(/images/check-box.svg);
    background-repeat: no-repeat;
    background-size: contain;
    height: 27px;
    width: 20px;
    position: absolute;
    top: 8px;
    left: -25px;
}
.box-support p{
    display: flex;
    gap: 5px;
}
.box-support p::before{
    content: "※";
    display: inline-block;
    font-size: 1em;
    font-weight: 800;
    color: #F4D262;
}
.top-support-deco_01{
    position: absolute;
    width: 55px;
    bottom: -90px;
    left: 72px;
}
.top-support-deco_02{
    position: absolute;
    width: 84px;
    bottom: -90px;
    right: 57px;
}
.top-support-deco_03{
    position: absolute;
    width: 100px;
    bottom: -94px;
    right: -22px;
}
.top-support-deco_04{
    position: absolute;
    width: 70px;
    bottom: -90px;
    left: -5px;
}
@media(min-width:800px){
    .section-support{
    padding: 70px 5% 100px;
    background-size: cover;
    }
    .section-support__ttl{
        font-size: min(4.25vw,44px);
    }
    .box-support{
        width:calc(100% - 10px);
        max-width: 960px;
        margin: 0 auto;
    }
    .box-support__inner{
        padding: 60px 7% 60px;
    }
    .top-support__list{
        flex-direction: row;
        flex-wrap: wrap;
        gap: 40px;
        margin-bottom: 40px;
    }
    .top-support__list-item{
        font-size: 1.8rem;
        width:calc(50% - 52px);
        margin-left: 32px;
    }
    .top-support__list-item::before{
        left: -30px;
    }
    .top-support-deco_01{
        width: 76px;
        bottom: -110px;
        left: 48px;
    }
    .top-support-deco_02{
        width: 112px;
        bottom: -112px;
        right: 50px;
    }
    .top-support-deco_03{
        width: 135px;
        bottom: -115px;
        right: -56px;
    }
    .top-support-deco_04 {
        width: 104px;
        bottom: -115px;
        left: -50px;
    }
}
/*---------------------TOP-info------------------------*/
.section-info{
    margin-top: -10px;
    border-top: 1.5px solid #352525;
    border-bottom: 1.5px solid #352525;
    background-color: #FAF3DF;
    position: relative;
    padding: 60px 5%;
}
.info__list{
    display: flex;
    flex-direction: column;
    gap: 52px;
    align-items: center;
}
.info__list-item{
    position: relative;
    z-index: 0;
    width: min(calc(100% - 8px),350px);
}
.info__list-item-inner{
    padding: 40px 40px 44px;
    background-color: #FFFDF8;
    border: solid 1.5px #352525;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
}
.info__list-item-inner::after{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    border: #352525 1.5px solid;
    border-radius: 10px;
    top: 8px;
    left: 8px;
    z-index: -1;
    transition: .3s;
}
.info__list-menu::after{
    background-color: #FFB5A6;
}
.info__list-access::after{
    background-color: #FFE88A;
}
.info__list-faq::after{
    background-color: #9ED4BC;
}
.info__list-item-ttl{
    font-size:min(5.628vw,24px) ;
    font-weight: 700;
}
.info__icon{
    width: 150px;
    transition: .3s;
}
.info-arrow-wrap{
    position: relative;
    z-index: 0;
}
.info-arrow{
    position: absolute;
    bottom: -28px;
    right: 12px;
    height: 50px;
    width: 50px;
    text-align: center;
    border: solid 1px #333;
    border-radius: 100px;
    padding: 3px;
    font-weight: 700;
    font-size: 2.4rem;
    transition: .3s;
}
.info__list-menu-arrow{
    background-color: #FFEFEB;
}
.info__list-access-arrow{
    background-color: #FFF9DF;
}
.info__list-faq-arrow{
    background-color: #DFF8EC;
}
.info-arrow::after{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    border: #352525 1.5px solid;
    border-radius: 100px;
    top: 5px;
    left: 5px;
    z-index: -1;
    transition: 2.5s;
}
.info__list-menu-arrow::after{
    background-color: #FFB5A6;
}
.info__list-access-arrow::after{
    background-color: #FFE88A;
}
.info__list-faq-arrow::after{
    background-color: #9ED4BC;
}
@media(min-width:800px){
    .section-info{
    padding: 80px 5%;
}
.info__list{
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 42px;
}
.info__list-item-inner{
    padding: 44px 40px 50px;
    gap: 24px;
}
}
/*-------- ホバーするとボタンを押したようになる ---------*/
.btn-push{
    transition: .3s;
}
.btn-push:hover{
    transform: translate(8px,8px);
}
.btn-push:hover .info__list-item-inner::after ,.btn-push:hover .info-arrow::after{
    display: none;
}
.btn-push:hover .info-arrow{
    transform: scale(1.1,1.1);
    transform: translateY(-8px);
}
.btn-push:hover .info__list-menu-arrow{
    background-color: #FFB5A6;
}
.btn-push:hover .info__list-access-arrow{
    background-color: #FFE88A;
}
.btn-push:hover .info__list-faq-arrow{
    background-color: #9ED4BC;
}
.btn-push:hover .info__icon{
    transform: scale(1.1,1.1);
}


/*---------------CONTACT-----------------*/
.section-contact{
    background-image: url(/images/bg-contact-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 30px 8%;
}
/*-TOPページのみ下にボーダー入れる-*/
.border-bottom{
    border-bottom: #352525 solid 1px;
}
.box-contact{
    border: #352525 solid 1.5px;
    border-radius: 10px;
    background-color: rgba(255,253,248,0.9);
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}
.contact-ttl{
    font-size: min(6vw , 2.8rem);
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
}
.contact-text{
    text-align: center;
}
.contact-list{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 24px;
}
.contact-list__tel{
    font-size: min(5.86vw,2.4rem);
    font-weight: 700;
}
.contact-list__tel a::before{
    content: "";
    display: inline-block;
    background-image: url(/images/icon-tel.svg);
    background-size: contain;
    background-repeat: no-repeat;
    height: 16px;
    width: 16px;
    margin-right: 4px;
}
.contct-list__line{
    width: 40px;
}
@media(min-width:800px){
    .section-contact{
    background-image: url(/images/bg-contact-pc.jpg);
    padding: 120px 8%;
}
.box-contact{
    padding: 40px;
    gap: 42px;
    max-width: 800px;
}
.contact-ttl{
    font-size: 3.6rem;
}
.contact-text{
    font-size: 1.8rem;
}
.contact-list{
    gap: 40px;
}
.contact-list__tel{
    font-size: 3.6rem;
}
.contact-list__tel a::before{
    height: 30px;
    width: 30px;
    margin-right: 10px;
}
.contct-list__line{
    width: 48px;
}
}
/*-----------sns-link---------------*/
.sns-link{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 5%;
    gap: 20px;
}
@media(min-width:800px){
    .sns-link{
        flex-direction: row;
        padding: 0;
        gap: 0;
    }
    .sns-link__insta{
        margin-left: -2px;
    }
    .sns-link li:hover{
        opacity: 0.6;
    }
}

/*------------footer------------*/
.footer-info{
    padding: 30px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    border-top: 1.5px #352525 solid;
}
.footer-rogo{
    width: 230px;
}
.footer__link-wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
.footer__tel{
    font-size: 2.8rem;
    font-weight: 800;
}
.footer__tel::before{
    content: "";
    display: inline-block;
    background-image: url(/images/icon-tel.svg);
    background-size: contain;
    background-repeat: no-repeat;
    height: 20px;
    width: 20px;
    margin-right: 4px;
}
.footer__sns-list{
    display: flex;
    align-items: center;
    gap: 20px;
}
.footer-info__business-hours{
    text-align: center;
}
.footer__sns-list-item{
    width: 34px;
}
.footer__under{
    background-color: #F63C0D;
    color: #FFF;
    padding: 24px 0 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}
.footer__nav-list{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.footer__nav-list-item{
    transition: .3s;
}
.footer__copyright{
    font-size: 1.2rem;
}
@media(min-width:800px){
    .footer-info{
        gap: 14px;
    }
    .footer-rogo{
        width:300px;
    }
    .footer__link-wrap{
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 20px;
    }
    .footer__tel{
        font-size: 3.2rem;
    }
    .footer__tel::before{
        height: 26px;
        width: 26px;
    }
    .footer__under{
        padding: 30px 5% 20px;
        gap: 58px;
    }
    .footer__nav-list{
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 40px;
        max-width: 1160px;
        
    }
    .footer__copyright{
        font-size:1.4rem;
    }
}
/*--TOPページのみボーダー消す--*/
@media(min-width:800px){
    .border-none{
        border: none;
    }
}

/*---------- hover時にNAVにアンダーライン -----------*/
.footer__nav-list-item:hover{
    border-bottom: 1px solid #FFF;
}


/* fixed-menu */
.fixed-menu {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 5;
   -webkit-transform: translate(440px, -50%);
    transform: translate(440px, -50%);
}
.fixed-menu__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 2px solid #352525;
  border-right: none;
  border-radius: 10px 0 0 10px;
  overflow: hidden;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.fixed-menu__item:hover {
  -webkit-transform: translateX(-440px);
  transform: translateX(-440px);
}

.fixed-menu__item:focus-visible {
  -webkit-transform: translateX(-440px);
  transform: translateX(-440px);
}

.fixed-menu__ttl {
  width: 52px;
  padding: 40px 10px;
  display: grid;
  place-content: center;
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: 0.5em;
  background-color: #F4D262;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-font-feature-settings: "vpal", "vkna";
  font-feature-settings: "vpal", "vkna";
}
.fixed-menu_content {
  width: 438px;
  padding: 40px 20px;
  display: grid;
  place-content: center;
  background-color: #F8F3E2;
}
.fixed-menu__info{
    font-size: 1.6rem;
    margin-bottom: 24px;
    text-align: center;
}
.fixed-menu__contact-list{
    display: flex;
    gap: 20px;
    justify-content: center;
}
.fixed-menu__contact-list_item {
    padding: 8px 12px;
    font-size: 1.8rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background-color: #F9F9F9;
    border: 1px solid #352525;
    border-radius: 5px;
    width: 188px;
    margin-bottom: 24px;
}
.fixed-menu__tel::before{
    content: "";
    display: inline-block;
    height: 23px;
    width: 23px;
    background-image: url(/images/icon-g-nav-tel.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.fixed-menu__line::before{
    content: "";
    display: inline-block;
    height: 24px;
    width: 26px;
    background-image: url(/images/icon-line.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.fixed-menu ul{
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-left: 60px;
}
.fixed-menu li{
    display: flex;
    gap: 4px;
    align-items: center;
}
.fixed-menu li::before{
    content: "";
    display: inline-block;
    height: 18px;
    width: 18px;
    background-color: #F4D262;
    border-radius: 50%;
}

.fixed-menu__item.active {
  transform: translateX(-440px); /* hoverと同じ開く位置 */
}

@media (max-width: 800px) {
  .fixed-menu {
    display: none;
  }
}

/* hover は optional。PCのみで反応させたい場合 */
@media (hover: hover) and (pointer: fine) {
  .fixed-menu__item:hover {
    transform: translateX(-440px);
  }
}

/*--------------------------------------- 下層ページ共通 ----------------------------------------------------*/
/*------  パンくずリスト -------*/
.breadcrumb{
    padding: 0 5%;
}
.breadcrumb-list{
    display: flex;
    gap: 8px;
    max-width:1160px ;
    margin: 20px auto 30px;
}
.breadcrumb-list-item{
    font-size: 1.3rem;
}
.breadcrumb-list-item a:hover{
    border-bottom:1px solid #5d5d5d ;
}
.breadcrumb-home{
    letter-spacing: 0.1rem;
}
.breadcrumb-home a{
    display: flex;
    gap: 4px;
    color: #5d5d5d;
}
.breadcrumb-home img{
    padding-bottom: 2px;
    width: 12px;
}
.breadcrumb-list-item:nth-child(2):before{
    content: "/";
    display: inline-block;
    margin-right: 8px;
}
@media(min-width:800px){
.breadcrumb-list-item{
    font-size: 1.5rem;
}
.breadcrumb-home img{
    padding: 0;
    width: 14px;
}
}
/*------  下層ページタイトル  -------*/
.section-under_top{
    overflow: hidden;
    margin-bottom: 60px;
}
.under-ttl{
    font-size: min(7.46666vw , 4.2rem);
    font-weight: 900;
    line-height: 1;
    text-align: center;
    -webkit-text-stroke: 3px #FFFCF3;
    paint-order: stroke;
    padding-top: 80px;
}
.ttl-loop{
    display: flex;
    align-items: center;
    width: 100%;
    height: 120px;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}
.ttl-loop ul {
    display: flex;
    align-items: center;
    animation: ticker 20s linear infinite;
}
.ttl-loop li {
    margin-right: 60px;
    font-size: 120px;
    font-weight: 600;
    line-height: 1;
    color: #F7CDCB;
    white-space: nowrap;
}

@keyframes ticker {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}
@media(min-width:800px){
    .section-under_top{
    margin-bottom: 180px;
}
    .under-ttl{
    padding-top: 170px;
        font-size: min(7.46666vw , 6.4rem);

    }
    .ttl-loop{
        height: 230px;
    }
    .ttl-loop li {
        margin-right: 140px;
        font-size: 230px;
    }
}

/*------  アンカーリンク  -------*/
.anchor-link{
    padding: 0 5%;
    margin-bottom: 100px;
    
}
.anchor-link__list{
    width:100%;
    max-width: 1160px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
    line-height: 1;
}
.anchor-link__list-item{
    font-size: 1.3rem;
    font-weight: 600;
    display: flex;
    gap: 6px;
    align-items: center;
}
.anchor-link__list-item::after{
    content: "";
    display: inline-block;
    height: 22px;
    width: 22px;
    background-image: url(/images/anchor-link-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
}
@media(min-width:800px){
    .anchor-link{
        margin-bottom: 120px;
    }
    .anchor-link__list{
        gap: 40px;
    }
    .anchor-link__list-item{
        font-size: 1.6rem;
        gap: 10px;
    }
    .anchor-link__list-item::after{
        height: 26px;
        width: 26px;
    }  
}
/*------- 下層ページ　section ------*/
.section-under{
    padding: 60px 5%;
    border-bottom: 1px solid #352525;
}
.section-under_first{
    padding: 0 5% 60px;
    border-bottom: 1px solid #352525;
}
.section-under__inner{
    max-width:1160px ;
    margin: 0 auto;
}

@media(min-width:800px){
    .section-under{
    padding: 100px 5%;
    }
    .section-under_first{
    padding: 0 5% 100px;
}
}
/*------  下層ページｈ２  -------*/
.under-h2_ttl{
    font-size: min(5.8666vw,3.2rem);
    font-weight: 700;
    text-align: center;
    position: relative;
    margin-bottom: 60px;
}
.under-h2_ttl::after{
    position: absolute;
    display: block;
    content: "";
    background-color: #F63C0D;
    height: 4px;
    width: 40px;
    border-radius: 4px;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
}
@media(min-width:800px){
    .under-h2_ttl{
    font-size: min(4.5vw,4.2rem);
    margin-bottom: 80px;
    }
    .under-h2_ttl::after{
        height: 5px;
        width: 60px;
        border-radius: 5px;
        bottom: -20px;
    }
}
/*注意事項*/
.kome::before{
    display: inline-block;
    content: "※";
    color: #F63C0D;
}
/*-----------  当院についてページ  ---------------*/
/*--特徴--*/
.features-list{
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    justify-content: center;
}
.features-list_item{
    width: min(calc(100% - 10px), 350px);
    position: relative;
    z-index: 0;
}
.features-list_item__inner{
    background-color: #FFFDF8;
    outline: solid 1px #352525;
    outline-offset: -1px;
    border-radius: 10px;
    overflow: hidden;
}
.features-list_item__inner::after {
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    border: #352525 1.5px solid;
    border-radius: 10px;
    top: 8px;
    left: 8px;
    z-index: -1;
    background-color: #FFE88A;
}
.features-list_image{
    outline: 1px solid #352525;
    outline-offset: -1px;
}
.features-list__text-area{
    padding: 20px 5% 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
.features-list_ttl{
    font-size: 2.0rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}
.pink-marker{
    background: linear-gradient(transparent 65%, #FDC2B4 80%);
    -webkit-text-stroke: 1.5px #FFFCF3;
    paint-order: stroke;
}
@media(min-width:800px){
    .features-list{
        margin-bottom:  10px;
    }
    .features-list__text-area{
        padding: 20px 5% 24px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 16px;
    }
}
/*-スタッフ紹介-*/
.section-staff{
    background-image: url(/images/bg-grid.png);
}
.staff-list{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
}
.staff-list-item{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;
    padding-top: 30px;
}
.staff-list__img-wrap{
    background-color: #FFF;
    border: solid 2px #352525;
    border-radius: 8px;
    width: min(calc(100% - 2.5%),485px);
    padding: 12px;
    position: relative;
    margin-bottom: 20px;
}
.staff-image img{
    border-radius: 5px;
}
.staff-name{
    font-size: 2.4rem;
    font-weight: 900;
    -webkit-text-stroke: 3px #FFF;
    paint-order: stroke;
    border-radius: 5px;
    border: solid 2px #352525;
    text-align: center;
    padding: 5px 0;
    width: min(calc(100% - 10%),420px);
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 12px;
}
.staff-position{
    font-size: 1.8rem;
    padding-bottom: 3px;
}
.staff-green{
    background-color: #B5E1CD;
}
.staff-yellow{
    background-color: #FFE88A;
}
.staff-pink{
    background-color: #F7D1C9;
}
.staff-blue{
    background-color: #c9c2e4;
}
.staff-list__text-area{
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: min(calc(100vw - 10%),485px);
}
.staff-list__text-area h4{
    display: inline-block;
    color: #FFF;
    font-size: 2.0rem;
    font-weight: 600;
}
.staff-list__text-area h4 span{
    background-color: #352525;
    padding: 8px 24px;
    border-radius: 10px;
}
.staff-list__text-area p{
    -webkit-text-stroke: 1.5px #FFFCF3;
    paint-order: stroke;
}
.staff-list__text-area dl{
    display: flex;
    gap: 10px;
    margin-bottom: 8px;
    -webkit-text-stroke: 1.5px #FFFCF3;
    paint-order: stroke;
}
.staff-list__text-area dt{
    width: 80px;
}
.staff-list__text-area dd{
    width: calc(100% - 90px);
    display: flex;
    gap: 10px;
}
.staff-list__text-area dd::before{
    content: ":";
    display: inline-block;
}
.staff-list__img-wrap::before{
    display: block;
    position: absolute;
    top: -13%;
    left: -20px;
    font-family: "Oleo Script", system-ui;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 2px;
    -webkit-text-stroke: 4px #352525;
    paint-order: stroke;
    transform: rotate(-5deg);
}
.YO-Nagai::before{
    content: "Yo Nagai";
    color: #64BE95;
    font-size: min(16vw,8.4rem);
}
.Yuika-Takizawa::before{
    content: "Yuika Takizawa";
    color: #F4D262;
    font-size: min(12vw, 7rem);
}
.Nozomi-Arakawa::before{
    content: "Nozomi Arakawa";
    color: #FB8E89;
    font-size: min(12vw, 6.8rem);
}
.Akira-Hosino::before{
    content: "Akira Hosino";
    color: #7976AF;
    font-size: min(15.5vw,8.4rem);
}

@media(min-width:800px){
    .staff-list{
        gap: 80px;
        align-items: flex-start;
    }
    .staff-list-item{
        flex-direction: row;
        gap: 5%;
        align-items: flex-start;
    }
    .staff-list-item:nth-child(even){
        flex-direction: row-reverse;
    }

    .staff-list__img-wrap{
        width: min(calc(100% - 2.5%),485px);
        padding: 16px;
        margin-bottom: 0;
    }
    .staff-image img{
        border-radius: 6px;
    }
    .staff-name{
        font-size: min(3.25vw , 3.4rem);
        border-radius: 6px;
        align-items: center;
    }
    .staff-position{
        font-size: min(2.2vw,2.5rem);
        padding-bottom: 0;
    }
    .staff-list__text-area{
        padding-top: 24px;
        width: min(calc(100vw - 62%), 600px);
    }
    .staff-list__text-area h4{
        font-size: 2.6rem;
    }
    .staff-list__text-area dt{
        width: 85px;
    }
    .staff-list__text-area dd{
        width: calc(100% - 95px);
    }
    .staff-list__img-wrap::before{
        top: -14%;
        left: -18px;
    }
    .YO-Nagai::before{
        font-size: min(8vw,8.4rem);
    }
    .Yuika-Takizawa::before{
        font-size: min(6.74vw, 7rem);
        top: -12%;
    }
    .Nozomi-Arakawa::before{
        font-size: min(6.22vw, 7.0rem);
        top: -12%;
    }
    .Akira-Hosino::before{
    font-size: min(8.0vw,8.4rem);
}
}

.facility__list-item{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.facility-list__image-wrap{
    position: relative;
    z-index: 0;
    width: calc(100% - 8px);
    vertical-align: middle;
}
.facility-list__image{
    outline: solid 1px #352525;
    outline-offset: -1px;
    border-radius: 10px;
    overflow: hidden;
}

.facility-list__image::after {
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    border: #352525 1px solid;
    border-radius: 10px;
    top: 8px;
    left: 8px;
    z-index: -1;
    background-color: #FFFABF;
}
.facility__list-item:nth-child(even) .facility-list__image::after{
    background-color: #FFE88A;
}
.facility-list__text{
    display: flex;
    flex-direction: column;
    align-items:  center;
    gap: 10px;
    margin-bottom: 30px;
}
.facility-name{
    font-size: 1.8rem;
    font-weight: 800;
}

.swiper {
    width: calc(100vw - 10%);
    height:auto;
    margin: 0 auto;
}

.section-flow .swiper{
    width: 100%;
}

/*--------ページネーション、前へ・次へボタンを横並びにする--------*/
.slide-pagination-wrapper {
    display: flex;
    justify-content: center;
    gap: 30px;
}
/*デフォルトのabsoluteからstaticへ変更*/
.swiper-pagination {
    position: static;
}
/*pagenation-bulletの数によって、bulletを包むbulletsの幅が伸縮するようにする*/
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    width: auto;
}
/*bulletsの中にあるbulletの位置を縦中央揃え*/
.swiper-pagination-bullets {
    display: flex;
    align-items: center;
}
/*//スライドの前へ・次へボタンの位置をabsoluteからstaticへ変更*/
.swiper-button-prev,
.swiper-button-next {
    position: static;
    margin-top: initial;
}
/*ページネーションのさいず・色の変更*/
.swiper-pagination-bullet{
    height: 8px;
    width: 8px;
    border: #352525 1px solid;
    background-color: #FFFABF;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    /*アクティブなドットの透過度を1にする*/
    opacity: 1;
    height: 12px;
    width: 12px;
    background-color: #F4D262;
}

/*//通常の前へ・次へボタンの画像を非表示に変更*/
/*.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}*/
.swiper-button-prev,
.swiper-button-next {
  height: 20px;
  width: 20px;
  position: relative;
}
/* 矢印を消して画像に変更する */
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  height: 20px;
  width: 20px;
  margin: auto;
}
/* 前に戻る矢印の画像パス */
.swiper-button-prev::after {
  background-image: url(/images/swiper-prev.svg);
  left:0;
}
/* 次に進む矢印の画像パス */
.swiper-button-next::after {
  background-image: url(/images/swiper-next.svg);
  right: 0px;
}

@media screen and (min-width: 1024px) {
  .facility_slide-pagination-wrapper {
    display: none;
  }
  .facility__list{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
  }
  .facility__list-item{
    width: calc(33.333333% - 30px);
  }
}
@media screen and (min-width: 1180px){
    flow_slide-pagination-wrapper{
        display: none;
    }
}
/*--------------------メニュー・施術のながれ------------------*/
/*  保険診療  */
.health_insurance__inner{
    width: 100%;
    max-width:1160px ;
    margin: 0 auto;
}
.health_insurance__content{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.price_list-wrap{
    position: relative;
    z-index: 0;
    width: calc(100% - 8px);
    vertical-align: middle;
}
.price_list-box{
    outline: solid 1px #352525;
    outline-offset: -1px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #FFFDF8;
    padding: 10px 5%;
}
.price_list-wrap::after{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    border: #352525 1.5px solid;
    border-radius: 10px;
    top: 8px;
    left: 8px;
    z-index: -1;
    background-color: #74D1B2;
}
.price_list__item{
    padding: 40px;
    border-bottom: 1px solid #C4C4C4;
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
}
.price_list__item:last-child{
    border: none;
}
.price_list__item h3{
    font-size:2.2rem ;
    font-weight: 800;
    text-align: center;
    -webkit-text-stroke: 2px #FFFCF3;
    paint-order: stroke;
}
.green-marker{
    position: relative;
    z-index: 0;
    padding: 0 10px;
}
.green-marker::after{
    content: "";
    background-color: #B5E1CD;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 12px;
    z-index: -1;
}
.health_insurance__price{
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}
.health_insurance__price dl{
    display: flex;
    gap: 20px;
    justify-content: space-between;
    font-size: 1.8rem;
    width: 100%;
    max-width: 300px;
}
.health_insurance__price dt{
    width: 80px;
}
.health_insurance__price dd{
    width: calc(100% - 80px);
    text-align: right;
}
.dot{
    display: flex;
    gap: 2px;
    align-items: center;
}
.dot::before{
    content: "・";
    display: inline-block;
    font-size: 2.0rem;
}
.green_dot::before{
    color: #74D1B2;
}
.en-price::before{
    content: "￥";
    display: inline-block;
    margin-right: 2px;
}
.price_list__supplement{
    display: flex;
    gap: 4px;
    margin-top: 10px;
}
.section-health_insurance .marker{
    background: linear-gradient(transparent 50%, #B5E1CD 30%);
        -webkit-text-stroke: 1px #F6F3E9;
    paint-order: stroke;
}

@media(min-width:800px){
    .price_list-wrap{
        width: calc(100% - 10px);
    }
    .price_list-box{
        padding: 60px 5%;
        display: flex;
        flex-direction: row;
    }
    .price_list-wrap::after{
        top: 10px;
        left: 10px;
    }
    .price_list__item{
        padding: 5px 20px 10px;
        border-bottom: none;
        border-right: 1px solid #C4C4C4;
        width: 33.333333%;
        margin: 0 auto;
    }
    .price_list__item:last-child{
        border: none;
    }
        .price_list__item h3{
        font-size:min(2.75vw,3.0rem) ;
        font-weight: 800;
        text-align: center;
    }
    .green-marker{
        position: relative;
        z-index: 0;
    }
    .green-marker::after{
        content: "";
        background-color: #B5E1CD;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 12px;
        z-index: -1;
    }
    .health_insurance__price{
        display: flex;
        flex-direction: column;
        gap: 16px;
        align-items: center;
    }
    .health_insurance__price dl{
        font-size: min(2vw,2.0rem);
        gap: 15px;
        max-width: 240px;
    }
    .dot{
        display: flex;
        gap: 2px;
        align-items: center;
    }
    .dot::before{
        content: "・";
        display: inline-block;
        font-size: 2.0rem;
    }
    .green_dot::before{
        color: #74D1B2;
    }
    .en-price::before{
        content: "￥";
        display: inline-block;
        margin-right: 2px;
    }
    .price_list__supplement{
        display: flex;
        gap: 4px;
}
}
/*  交通事故治療  */
.section-trtaffic_accident{
    background-color: #FAF3DF;
}
.trtaffic_accident__inner{
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
}
.trtaffic_accident__summary{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 24px;
}
.section-trtaffic_accident .marker{
    background: linear-gradient(transparent 50%, #FFD2C9 30%);
    -webkit-text-stroke: 1px #FAF3DF;
    paint-order: stroke;
}
.traffic_accident-image{
    width: 100%;
    max-width: 600px;
}
.traffic_accident__features{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 30px;
}
.traffic_accident__features-ttl{
    font-size:2.0rem ;
    font-weight: 800;
    -webkit-text-stroke: 2px #FFFCF3;
    paint-order: stroke;
    padding: 20px;
    text-align: center;
    background-color: #FDBDB0;
    border: 1px solid #352525;
    border-radius: 10px;
    width: fit-content;
    z-index: 3;
}
.traffic_accident__features-wrap{
    position: relative;
    z-index: 0;
    width: calc(100% - 8px);
    vertical-align: middle;
    margin-top: -70px;
}
.traffic_accident__features-box{
    outline: solid 1px #352525;
    outline-offset: -1px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #FFFDF8;
    padding: 95px 5% 40px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.traffic_accident__features-wrap::after{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    border: #352525 1.5px solid;
    border-radius: 10px;
    top: 8px;
    left: 8px;
    z-index: -1;
    background-color: #FDBDB0;
}
.traffic_accident__features-list-item{
    font-size: 1.6rem;
    font-weight: 800;
    position: relative;
    padding-left: 28px;
}
.traffic_accident__features-list-item::before{
    content: "";
    display: block;
    background-image: url(/images/menu-traffic_accident-check.svg);
    background-size: contain;
    background-repeat: no-repeat;
    height:22px ;
    width:22px ;
    position: absolute;
    top: 5px;
    left: 0px;
}
@media(min-width:800px){
    .trtaffic_accident__summary{
        flex-direction: row;
        align-items: flex-start;
        margin-bottom: 40px;
        gap: 40px;
    }
    .traffic_accident-image{
        width: 36.5%;
        max-width: 420px;
    }
    .trtaffic_accident__summary p{
        width: calc(100% - 36.5% - 40px);
    }
    .traffic_accident__features{
        margin-bottom: 40px;
    }
    .traffic_accident__features-ttl{
        font-size:2.4rem ;
        padding: 20px 60px;
    }
    .traffic_accident__features-wrap{
        width: calc(100% - 10px);
        margin-top: -40px;
    }
    .traffic_accident__features-box{
        padding: 70px 5% 60px;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 30px;
    }
    .traffic_accident__features-wrap::after{
        top: 10px;
        left: 10px;
        z-index: -1;
    }
    .traffic_accident__features-list-item{
        width: calc(50% - 15px);
        font-size: 2.0rem;
    }
    .traffic_accident__features-list-item::before{
        top: 9px;
    }
}
/*  鍼灸治療  */
.acupuncture__inner{
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
}
.acupuncture__summary,.acupuncture_visit__summary{
    display: flex;
    flex-direction: column;
    align-items: center;    
    gap: 20px;
    margin-bottom: 40px;
}
.acupuncture_visit__summary{
    margin-bottom: 20px;
}
.acupuncture-image{
    width: 100%;
    max-width: 600px;
}
.acupuncture_visit__summary-text{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.text-emphasis{
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 10px;
    display: block;
}
.acupuncture_visit__summary strong{
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 0;
}
.acupuncture__in-hospital,.acupuncture__visit{
    margin-bottom: 40px;
}
.acupuncture__h3-ttl{
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}
.acupuncture__h3-ttl::before{
    content: "";
    display: inline-block;
    background-image: url(/images/icon-sun.svg);
    height:22px ;
    width: 22px;
    background-size:contain ;
    background-repeat: no-repeat;
}
.section-acupuncture .price_list-wrap{
    margin-bottom: 20px;
}
.section-acupuncture .price_list-wrap::after{
    background-color: #FFE88A;
}
.price_list-wrap__inner{
    outline: solid 1px #352525;
    outline-offset: -1px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #FFFDF8;
    padding: 10px 5%;
}
.section-acupuncture .price_list-box{
    padding: 0;
    outline: none;
}
.price_list__category{
    margin-top: 30px;
    font-size: 2.0rem;
    text-align: center;
    -webkit-text-stroke: 2px #FFFCF3;
    paint-order: stroke;
} 
.bg-dark_yellow{
    background-color: #FFE88A;
}
.bg-thin_yellow{
    background-color: #FFF9B8;
}
.acupuncture__price{
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}
.acupuncture__price dl{
    display: flex;
    gap: 20px;
    justify-content: space-between;
    font-size: 1.8rem;
    width: 100%;
    max-width: 300px;
}
.acupuncture__price dt{
    width: 80px;
}
.acupuncture__price dd{
    width: calc(100% - 80px);
    text-align: right;
}
.section-acupuncture h5{
    font-size: 2.2rem;
    font-weight: 800;
    text-align: center;
    -webkit-text-stroke: 2px #FFFCF3;
    paint-order: stroke;
}
.yellow-marker{
    position: relative;
    z-index: 0;
    padding: 0 10px;
}
.yellow-marker::after{
    content: "";
    background-color: #FFE88A;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 12px;
    z-index: -1;
}
.yellow_dot::before{
    color: #FFE88A;
}
.acupuncture__visit h3{
    font-size: 2.2rem;
    color: #F63C0D;
    font-weight: 800;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 20px;
}
.acupuncture__visit-area p{
    padding-left: 20px;
}
.section-acupuncture .marker{
    background: linear-gradient(transparent 50%, #FFFABF 30%);
        -webkit-text-stroke: 1px #F6F3E9;
    paint-order: stroke;
}
.self-pay_supplement{
    text-align: left;
    margin-bottom: 30px;
}
.self-pay_supplement a{
    text-decoration: underline;
}
.self-pay_supplement a:hover{
    opacity: 0.7;
}

@media(min-width:800px){
    .section-acupuncture{
    padding: 100px 5%;
    }
    .acupuncture__summary,.acupuncture_visit__summary{
        flex-direction: row;
        align-items: flex-start;
        gap: 40px;
    }
    .acupuncture_visit__summary{
        flex-direction: row-reverse;
    }
    .acupuncture-image{
        width: 36.5%;
        max-width: 420px;   
    }
    .acupuncture__summary p ,.acupuncture_visit__summary-text{
    width: calc(100% - 36.5% - 40px);
    }
    .acupuncture_visit__summary-text{
    gap: 30px;
}
    .text-emphasis{
    font-size: min(2.75vw,2.4rem);
    margin-bottom: 20px;
    }
    .acupuncture_visit__summary strong{
    font-size: 2.4rem;
}
    .acupuncture__in-hospital{
        margin-bottom: 80px;
    }
    .acupuncture__visit{
        margin-bottom: 50px;
    }
    .acupuncture__h3-ttl{
        font-size: 2.4rem;
        margin-bottom: 20px;
    }
    .acupuncture__h3-ttl::before{
        height:24px ;
        width: 24px;
    }
    .acupuncture__price .price_list-wrap{
        margin-bottom: 30px;
    }
    .price_list-wrap__inner{
        padding: 60px 5%;
    }
    .section-acupuncture .price_list-box{
        padding: 0;
        outline: none;
        margin-bottom: 40px;
    }
    .price_list__category{
        margin-top: 0px;
        margin-bottom: 30px;
        font-size: 2.4rem;
    } 
    .section-acupuncture .price_list__item h5{
        font-size: min(2.75vw, 3.0rem);
        font-weight: 800;
        text-align: center;
    }
    .acupuncture__price dl {
        font-size: min(2vw, 2.0rem);
        gap: 15px;
        max-width: 240px;
    }
    .acupuncture_visit__summary {
        margin-bottom: 40px;
    }
    .acupuncture__visit h3{
        font-size: 3.4rem;
        margin-bottom: 40px;
    }
    .acupuncture__visit-area h3{
        margin-bottom: 10px;
    }
    .acupuncture__visit-area p{
        padding-left: 20px;
    }
    .self-pay_supplement{
        text-align: center;
        margin-top: 20px;
        margin-bottom: 0;
    }
}
.border-rightbottom-none{
    border: none;
}
/*-自費メニュー-*/
.section-specialty-care{
    background-image: url(/images/bg-grid.png);
}
.tab-info{
    margin-bottom: 20px;
}
.tab-container ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 0;
    margin-bottom: 0;
    position: relative;
    width: calc(100% - 16px);
}
.tab-wrap{
    position: relative;
    z-index: 0;
    width: 100%;
    vertical-align: middle;
    margin-right: 14px ;
}
.tab-label {
    padding: 16px 0.5em;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    border-radius: 10px 10px 0 0;
    outline: solid 1.5px #352525;
    outline-offset: -1px;
    font-size: min(4.0625vw,1.8rem);
    font-weight: 800;
    line-height: 1.25;
    -webkit-text-stroke: 2px #FFFCF3;
    paint-order: stroke;
}
.tab-pink{
    background-color: #F7D1C9;
}
.tab-green{
    background-color:#B5E1CD ;
}
.tab-yellow{
    background-color:#f0eba7 ;
}
.tab-wrap.selected ::after {
    content: '';
    position: absolute;
    height: calc(100% - 10px);
    width: 100%;
    border: #352525 1.5px solid;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    top: 10px;
    left: 10px;
    z-index: -1;
}
.tab-wrap.selected .tab-pink::after{
    background-color: #F65E37;
}
.tab-wrap.selected .tab-green::after{
    background-color: #64BE95;
}
.tab-wrap.selected .tab-yellow::after{
    background-color: #F4D262;
}
.tab-wrap:not(.selected):hover {
    opacity: 0.8;
}
.tab-container .tab-content-wrap{
    position: relative;
    z-index: 0;
    vertical-align: middle;
    display: none;
}
.tab-container .tab-content {
    padding: 40px 5%;
    background: #fff;
    border: 1.5px solid #352525;
    border-radius: 10px;
    border-top-left-radius: 0;
    width: calc(100% - 10px);
    margin-top: -1px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.tab-content__item{
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-bottom: 24px;
    border-bottom: 1px solid #C4C4C4;
}
.tab-content__item:last-child{
    border-bottom: none;
}
.treatment-name{
    font-size: 1.8rem;
    font-weight: 700;
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}
.treatment-name::before{
    content: "";
    display: block;
    background-image: url(/images/icon-sun.svg);
    background-size: contain;
    background-repeat: no-repeat;
    height: 24px;
    width: 24px;
}
.treatment-price{
    font-size: 1.8rem;
    font-weight: 700;
    padding-left: 20px;
}
.treatment_time{
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
}
.treatment-point{
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 10px;
    -webkit-text-stroke: 2px #FFF;
    paint-order: stroke;
}
.treatment-point .marker{
    background: linear-gradient(transparent 50%, #F7D1C9 70%);
}
.treatment-point .marker-green{
    background: linear-gradient(transparent 50%, #B5E1CD 70%);
}
.treatment-point .marker-yellow{
    background: linear-gradient(transparent 50%, #FFF9B8 70%);
}
.tab-content__left .box{
    background-color: #FFF0EA;
    border-radius: 5px;
    padding: 10px;
    display: inline-block;
    margin: 10px 20px;
}
.tab-content__right dl{
    display: flex;
    gap: 10px;
    margin: 10px 0 14px;
}
.tab-content__right dt{
    display: flex;
    gap: 2px;
    width: 80px;
}
.tab-content__right dt::before{
    content: "●";
    display: inline-block;
    color: #F7D1C9;
}
.tab-content__right dt::after{
    content: "：";
    display: inline-block;
}
.tab-content__right dd{
    width: calc(100% - 80px);
}
.lymph_care-supplement{
    display: flex;
    gap: 5px;
}
.tab-container .tab-content-wrap.selected {
    display: block;
}
.tab-container .tab-content-wrap.selected::after {
    content: '';
    position: absolute;
    height:100%;
    width: calc(100% - 10px);
    border: #352525 1.5px solid;
    border-radius: 10px;
    top: 10px;
    left: 10px;
    z-index: -1;
}
.tab-container .tab-content-wrap.selected.tab-pink_content-wrap::after{
    background-color: #F65E37;
}
.tab-container .tab-content-wrap.selected.tab-green_content-wrap::after{
    background-color: #64BE95;
}
.tab-container .tab-content-wrap.selected.tab-yellow_content-wrap::after{
    background-color: #F4D262;
}


@keyframes bubbleIn {
    from { 
        opacity: 0; 
    }
    to { 
        opacity: 1; 
        transform: scale(1) translateY(0); 
    }
}
@media(min-width:800px){
    .tab-label {
    font-size: min(2.8vw, 2.8rem);
    }
    .tab-container .tab-content {
    padding: 60px 5%;
    gap: 30px;
    }
    .tab-content__item{
        flex-direction: row;
        gap: 35px;
        padding-bottom: 30px;
    }
    .tab-content__left{
        width: 295px;
    }
    .tab-content__right{
        width: calc(100% - 330px);
    }
    .treatment-name{
        font-size: 2.0rem;
    }
    .treatment-point{
        font-size:2.0rem;
    }
    .tab-content__left .box{
        padding: 14px;
        margin: 10px 20px;
    }
    .tab-content__right dl{
        display: flex;
        gap: 10px;
        margin: 10px 0 14px;
    }
    .tab-content__right dt{
        width: 100px;
    }
    .tab-content__right dd{
        width: calc(100% - 100px);
    }
}


/*-施術のながれ-*/
.flow__summary{
    margin-bottom: 40px;
}
.flow-no{
    display: inline-block;
    position: relative;
    font-family: "Alfa Slab One", serif;
    font-weight: 400;
    font-size: 52px;
    color: #FF8D70;
    -webkit-text-stroke: 2.5px #352525;
    paint-order: stroke;
    z-index: 3;
}
.flow__content-wrap{
    position: relative;
    z-index: 0;
    width: calc(100% - 13px);
    vertical-align: middle;
    margin-top: -50px;
    margin-left: 5px;
    max-width: 322px;
}
.flow__content{
    outline: solid 1.5px #352525;
    outline-offset: -1px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #FFFDF8;
    padding: 40px 10% ;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.flow__content-wrap::after{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    border: #352525 1.5px solid;
    border-radius: 10px;
    top: 8px;
    left: 8px;
    z-index: -1;
    background-color: #EFC745;
}
.flow__list-item:nth-child(even) .flow__content-wrap::after{
    background-color: #FFE88A;
}
.flow__list-ttl{
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 5.2rem;
    font-weight: 600;
    color: #EFC745;
    -webkit-text-stroke: 3px #352525;
    paint-order: stroke;
    text-align: center;
    z-index: 0;
    padding: 41px 0;
    position: relative;
    line-height: 1;
}
.flow__list-ttl::before{
    position: absolute;
    content: "";
    z-index: -2;
    background-color: #FFF6D2;
    height: 140px;
    width: 140px;
    border-radius: 50%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);   
}
.flow__list-ttl::after{
    position: absolute;
    content: "";
    font-size: 5.2rem;
    font-weight: 600;
    color: #ffffff;
    -webkit-text-stroke: 3px #352525;
    paint-order: stroke;
    top: 44px;
    left: 50%;
    transform: translateX(-48%);
    z-index: -1;
    width: 100%;
}
.flow__list-item:nth-child(even) .flow__list-ttl{
    color: #FFE88A;
}
.flow__list-ttl_01::after{
    content: "問診";
}
.flow__list-ttl_02::after{
    content: "テスト";
}
.flow__list-ttl_03::after{
    content: "評価";
}
.flow__list-ttl_04::after{
    content: "施術";
}
.flow__list-ttl_05::after{
    content: "ご提案";
}
@media(min-width:1180px){
    .flow__list{
    display: flex;
    gap: 40px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 10px;
}
}
/*---------------------アクセス・基本情報---------------------*/
.access_map__inner{
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
}
.map-address{
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    margin-bottom: 40px;
}
.map-wrap{
    background-color: #FFF;
    border-radius: 10px;
    border: solid 1px #352525;
    padding: 10px;
    width: 100%;
}
.map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
}
.map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.access_map-address{
    font-style: normal;
}
.access_map-info{
    margin-bottom: 10px;
}
.access_map-info dt{
    display: inline-block;
    padding: 16px 40px;
    line-height: 1;
    font-weight: 600;
    border: solid 1px #352525;
    border-radius: 30px;
    background-color:#FFE88A ;
    margin-bottom: 18px;
}
.access_map-info dd{
    margin-bottom: 20px;
    padding-left: 10px;
}
.access-parking{
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 10px;
}
.access_map-image-wrap{
    position: relative;
    z-index: 0;
    width: calc(100% - 8px);
    vertical-align: middle;
    max-width: 500px;
}
.access_map-image{
    outline: solid 1px #352525;
    outline-offset: -1px;
    border-radius: 10px;
    overflow: hidden;
}
.access_map-image-wrap::after{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    border: #352525 1.5px solid;
    border-radius: 10px;
    top: 8px;
    left: 8px;
    z-index: -1;
    background-color: #F3A38E;
}

@media(min-width:800px){
    .map-wrap{
    padding: 14px;
    }
    .map{
        padding-top: 62.5%;
    }
    .map-address{
    margin-bottom: 60px;
    }
    .access_map-info{
        margin-bottom: 10px;
    }
    .access_map-info dt{
        margin-bottom: 24px;
    }
    .access_map-info dd{
        margin-bottom: 40px;
    }
    .access-parking{
        flex-direction: row;
        justify-content: space-between;
        gap: 10%;
    }
    .access_map-image-wrap{
        width: calc(100% - 8px);
        max-width: 500px;
    }
}
.section-medical_hours{
    background-image: url(/images/bg-grid.png);
}
.medical_hours__inner{
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
}
/*----診療時間表----*/
.timetable-wrap{
    display: flex;
    flex-direction: column;
    gap :20px;
}
.timetable{
    width: 100%;
    font-size:min(3.2vw,1.7rem);
    border: 1px solid #352525;
}
.timetable tr{
    height: 70px;
}
.timetable th{
    background-color: #FFE88A;
    vertical-align: middle;
    letter-spacing: 2px;
    font-weight: 700;
    text-align: center;
    width: 9.28%;
}
.timetable td{
    background-color: #FFFBEE;
    text-align: center;
    vertical-align: middle;
    border-top: #352525 solid 1px;
    border-bottom: #352525 solid 1px;
}
.timetable-upper{
    font-size:min(3.2vw,2.0rem);
}

.timetable__ttl{
    font-size: min(3.4vw,2.2rem);
}
.first{
    width: 35%;
}
.timetable-star{
    font-size: min(4vw,20px);
    line-height: 1.0;
}
.timetable-star span{
    font-size: min(2.4vw,13px);
}
.timetable-supplement{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.timetable-supplement p{
    display: flex;
    gap: 4px;
    -webkit-text-stroke: 1px #FFFCF3;
    paint-order: stroke;
}
.timetable-supplement dl{
    display: flex;
    gap: 8px;
}
.timetable-supplement dt{
    width: 65px;
    height: 28px;
    background-color: #FFE88A;
    border-radius: 5px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}
.timetable-supplement dd{
    line-height: 2;
    width: calc(100% - 75px);
    -webkit-text-stroke: 1px #FFFCF3;
    paint-order: stroke;
}
@media(min-width:800px){
/*---診療時間表----*/
    .timetable th{
        width: 10%;
    }
    .timetable__ttl{
    font-size: min(2.2vw,2.4rem);
}
    .first{
        width: 30%;
    }
    .timetable-supplement{
        gap: 16px;
    }
    .timetable-supplement p{
        gap: 8px;
    }
    .timetable-supplement dt{
        height: 33px;
    }
    .timetable-supplement dd{
        width: calc(100% - 41px);
    }
}
/*------ 基本情報 ------*/
.basic_info__content-wrap{
    position: relative;
    z-index: 0;
    width: calc(100% - 10px);
    vertical-align: middle;
    max-width: 600px;
    margin: 0 auto;
}
.basic_info__content{
    background-color: #fff;
    outline: solid 1px #352525;
    outline-offset: -1px;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
    overflow: hidden;
    padding: 40px 5%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.basic_info__content-wrap::after{
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    border: #352525 1.5px solid;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
    background-color: #FFE88A;
    top: 10px;
    left: 10px;
    z-index: -1;
}
.basic_info-image img{
    border: #352525 1px solid;
    border-radius: 8px;
}
.basic_info-text{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.basic_info-text dl{
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.basic_info-text dt{
    font-size: 1.6rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 5px;
}
.basic_info-text dt::before{
    content: "";
    display: inline-block;
    background-image: url(/images/icon-sun.svg);
    background-size: contain;
    background-repeat: no-repeat;
    height: 16px;
    width: 16px;
}
.basic_info-text dd{
    padding-left: 20px;
}
.basic_info__tel{
    text-decoration: underline;
}
@media(min-width:800px){
    .basic_info__content-wrap{
        max-width: 1024px;
    }
    .basic_info__content{
        padding: 60px 5%;
        flex-direction: row;
        gap: 6.5%;
    }
    .basic_info-image{
        width: 43.5%;
    }
    .basic_info-text{
        gap: 30px;
    }
    .basic_info-text dl{
        display: flex;
        flex-direction: row;
        gap: 7%;
        align-items: flex-start;
    }
    .basic_info-text dt{
        width: 110px;
    }
    .basic_info-text dd{
        padding-left: 0px;
        width:calc(100% - 110px - 7%) ;
    }
}



/*----------------FAQ-------------------*/
.section-faq{
    padding-bottom: 80px;
}
.faq-category-list{
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.faq-category{
    font-size: 2.4rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}
.faq-category::before{
    content: "";
    display: inline-block;
    background-image: url(/images/icon-sun.svg);
    background-size: contain;
    background-repeat: no-repeat;
    height: 26px;
    width: 26px;
}
.faq-item-list{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.faq-item {
    border-radius: 10px;
    border: 1px solid #352525;
    overflow: hidden;
}
.faq-question__wrap {
    position: relative;
    background: #FFFDF8;
    padding: 16px 55px 16px 20px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    align-items: center;
}
.minus-icon {
    position: absolute;
    content: "";
    width: 16px;
    height: 2px;
    background: #352525;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}
.plus-icon {
    position: absolute;
    content: "";
    width: 16px;
    height: 2px;
    background: #352525;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
}
.plus-icon.active {
    transform: translateY(-50%);
}
.faq-question__title {
    font-size: 1.6rem;
    position: relative;
    display: flex;
    gap: 10px;
    align-items: center;
}
.faq-q {
    display: inline-flex;             /* 中身を中央寄せ */
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 500;
    border: solid 1px #352525;
    border-radius: 50%;
    background-color: #FFE88A;
    height: 35px;
    width: 35px ;
    flex-shrink: 0;  /* 横幅が潰れないように固定 */
}
.faq-answer__wrap {
    background: #FFFAE8;
    padding:  16px 20px;
    transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
    height: 0;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
}
.faq-answer__wrap.active {
    height: auto;
    padding:  16px 20px;
}
.faq-answer {
    position: relative;
    display: flex;
    gap: 10px;
}
.faq-a{
    display: inline-flex;             /* 中身を中央寄せ */
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 500;
    border: solid 1px #352525;
    border-radius: 50%;
    background-color: #FFDA46;
    height: 35px;
    width: 35px ;
    flex-shrink: 0; 
}
.faq-answer__reserve-list{
    padding-left: 45px;
    margin-top: 12px;
    display: flex;
    gap: 20px;
    align-items: center;
}
.faq-answer__tel{
    font-weight: 800;
    font-size: 1.8rem;
}
.faq-answer__line{
    width: 28px;
}
.faq-answer__link-btn{
    display: inline-block;
    margin-left: 45px;
    margin-top: 12px;
    padding: 16px 22px;
    line-height: 1;
    font-weight: 600;
    border: solid 1px #352525;
    border-radius: 30px;
    background-color:#C9EEDD ;
    -webkit-text-stroke: 1px #FFFCF3;
    paint-order: stroke;
}
@media(min-width:800px){
    .section-faq{
        padding-bottom: 140px;
    }
    .faq-category-list{
        gap: 60px;
    }
    .faq-category{
        font-size: 2.8rem;
        margin-bottom: 30px;
    }
    .faq-category::before{
        height: 28px;
        width: 28px;
    }
    .faq-item-list{
        gap: 20px;
    }
    .faq-question__wrap {
        padding: 30px 60px 30px 40px;
        gap: 20px;
    }
    .minus-icon {
        right: 40px;
    }
    .plus-icon {
        right: 40px;
    }
    .faq-question__title {
        font-size: 1.8rem;
        gap: 20px;
    }
    .faq-answer__wrap {
        padding:  30px 40px;
        transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
        height: 0;
        overflow: hidden;
        padding-top: 0;
        padding-bottom: 0;
    }
    .faq-answer__wrap.active {
        padding:  30px 40px;
    }
    .faq-answer {
        gap: 20px;
    }
    .faq-answer__reserve-list{
        padding-left: 55px;
        gap: 40px;
    }
    .faq-answer__tel{
        font-size: 2.0rem;
    }
    .faq-answer__line{
        width: 32px;
    }
    .faq-answer__link-btn{
        margin-left: 55px;
        padding: 16px 30px;
    }
}
/*-----------アニメーション---------------*/
/*左右に揺れる動き*/
.animation-01{
    animation-timing-function: steps(1);
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 1s;
}
.keyframe-a{
    animation-name: anim_s;
    transform: rotate(10deg);
    }
.keyframe-b{
    animation-name: anim_g;
    transform: rotate(-7deg);
}
@keyframes anim_s {
    50% {
    transform: rotate(-10deg);
}
    100% {
    transform: rotate(10deg);
}
}
@keyframes anim_g {
50% {
    transform: rotate(7deg);
}
100% {
    transform: rotate(-7deg);
}
}
/*上下にふわふわ*/
.animation-02{
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 2.0s;
}
.keyframe-c{
    animation-name: anim_h;
}
@keyframes anim_h {
    0% {
        transform: translate(0, -5px);
    }
    100% {
        transform: translate(0, 15px);
    }
} 
.keyframe-d{
    animation-name: anim_i;
}
@keyframes anim_i {
    0% {
        transform: translate(0, 15px);
    }
    100% {        
        transform: translate(0, -5px);
    }
}     
  
/* ------------- スクロールしたらふんわり出現 -------------------*/
.fade {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 1.5s, transform 1.5s;
}.fade.active {
	opacity: 1;
	transform: translateY(0px);
}



/* ==================================
FLOW：Swiper起動時のみレイアウト調整
================================== */
/* Swiper用：スライド自体を中央寄せ */
.flow-swiper.swiper-initialized .swiper-slide{
    display: flex;
    justify-content: center;
}

/* swiper-slide直下のdivを中央揃えラッパーとして扱う */
.flow-swiper.swiper-initialized .swiper-slide > div{
    display: flex;
    flex-direction: column;
}
/* スライドとページネーションの間に余白 */
.flow-swiper.swiper-initialized .slide-pagination-wrapper{
    margin-top: 50px;
}

/* =====================================
   FLOW：PC表示（1180px以上）は通常レイアウトに戻す
===================================== */
@media screen and (min-width: 1180px) {

  /* Swiperの横スクロール用指定を無効化 */
.flow-swiper .flow__list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
}

  /* swiper-slide を通常のカード扱いに戻す */
.flow-swiper .swiper-slide{
    width: auto !important;
    flex: none;
}

  /* 中身の中央寄せ指定を解除 */
.flow-swiper .swiper-slide > div{
align-items: initial;
}

  /* ページネーション・矢印は非表示（PC不要なら） */
.flow-swiper .slide-pagination-wrapper{
    display: none;
}
}


