@charset "UTF-8";
/* =================
common 
====================*/
:root{
    --primary-white:#fff;
    --primary-brown:rgba(122, 88, 85, 1);
    --primary-pink: rgba(210, 147, 157,0.6)
}

html{
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body{
    font-family: "Zen Kaku Gothic New",          "Shippori Mincho",
    sans-serif,
    "Allura",
    "Pinyon Script",
    cursive;
    font-style: normal;
    color:var(--, #7A5855);
    background-color: #FFF;
    line-height:1.5;
    font-size: 1.4rem;
}

.pagetop {
    height: 40px;
    width: 40px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    background: rgba(255, 255, 255, 0.6);
    border: solid 2px var(--primary-brown);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid var(--primary-brown);
    border-right: 3px solid var(--primary-brown);
    transform: translateY(20%) rotate(-45deg);
}

img{
    max-width: 100%;
    height: auto;
}

.txt{
    color: var(--primary-brown);
}

.title{
    text-align: center;
}

.topic{
    color: var(--primary-pink);
    text-align: center;
    font-family: Allura;
    font-size: 7rem;
}

.section{
    padding: 32px 2%;
}

.sub{
    color: rgba(210, 147, 157);
    text-align: center;
    font-family: "Shippori Mincho";
    font-size: 1rem;
    font-weight: 700;
    position: relative;
    display:inline-block; 
}

.sub::after{
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: rgba(210, 147, 157);
}

#btn_animation .btn__main::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fbfbfb;
    animation: btn_animation 4s ease-in-out infinite;
}

@-webkit-keyframes btn_animation {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.btn__txt{
    color:var(--primary-brown);
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
}

.btn__main{
    display: block;
    width: 274px;
    flex-shrink: 0;
    border-radius: 50px;
    background-color: rgba(228, 113, 122, 0.85);
    filter: drop-shadow(0px 4px 4px #D9D9D9);
    color: var(--primary-white);
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    padding: 14px 49px;
    position: relative;
    transition: 0.4s;
    margin: 0 auto;
    text-align: center;
    overflow: hidden;
    letter-spacing: 0.1em;
}

.btn__main::after{
    content: '';
    display: inline-block;
    width: 7.9px;
    height: 18px;
    background-image: url(../sozai/btn__arrow.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    right: 32px;
    top: 53%;
    transform: translateY(-50%);
}

.btn__main:hover{
    background-color:rgba(228, 113, 122, 0.65);
}

.pcBr{
    display: none;
}

/* --------------
common pc
------------------ */

@media screen and (min-width:769px){

    body{
    font-size: 1.6px;
    }

    section{
        padding: 72px 2%;
    }
    
    .sub{
        font-size: 1.2rem;
    }

    .btn{
        margin-top: 12px;
    }
    
    .btn__txt{
        font-size: 2rem;
    }
    
    .btn__txt > img{
        width: 20px;
    }

    .btn__main{
        width: 650px;
        padding: 25px;
        font-size: 2.4rem;
        margin-top: 8px;
    }

    .topic{
        font-size: 12.8rem;
    }

    .section{
        padding: 72px 0;
    }
    
    .btn__main::after{
        width: 16px;
        height: 29px;
        right: 35px;
    }

    .pcBr{
        display: block;
    }

    .spBr{
        display: none;
    }
    
    
}

/* ===============
article header
======================= */

.mainVisual{
    background: linear-gradient(180deg, #FFF 23.56%, #D7C2C3 79%);
    padding-bottom: 32px;
    text-align: center;
}

.mainImg{
    position: relative;
    display: inline-block;
}

.mainImg__badge{
    font-family: "Shippori Mincho";
    font-size: 2rem;
    color: #d95b90;
    text-align: center;
    line-height: 1.2;
    position: absolute;
    bottom: 40px;
    left: 30px;
    display: inline-block;
    z-index: 1;  
}

.mainImg__badge::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90px;
    height: 90px;
    background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #dac7c8 80%,
    #dac7c8 100%);
    border-radius: 50%;
    box-shadow:
      0 8px 16px rgba(0, 0, 0, 0.2),  /* 大きめのぼかし影 */
      0 4px 8px  rgba(0, 0, 0, 0.15); /* 小さめ＋濃い影 */
    z-index: -1;
}

.mainImg__badge >span{
    font-size: 1.6rem;
}

.mainImg__pc{
    display: none;
}

.mainImg__sp{
    width: 100%;
}

.mainTxt{
    padding: 0 2%;
}

.main__txt{
    color: var(--primary-white);
    text-align: center;
    font-family: "Shippori Mincho";
    font-size: 1.8rem;
    font-weight: 600;
    margin-top: 8px;
}

.btn{
    margin-top: 8px;
}

.btn__main{
    margin-top: 4px;
}

.txt__header{
    color: var(--primary-brown);
    text-align: center;
    font-size: 1.4rem;
    line-height: 2.7;
    margin: 32px 0 28px; 
}

.img__header{
    display: block;
    width: 335px;
    margin: 0 auto;
    padding-bottom: 32px;
}

/* ----------------
article header pc
----------------------- */
@media screen and (min-width:769px) {
    
    .mainVisual{
        padding-bottom: 32px;text-align: center;
    }
    
    .mainImg__badge{
        font-size: 3.6rem;
        line-height: 1.2;
        position: absolute;
        bottom: 100px;
        left: 140px;
    }
    
    .mainImg__badge::before {
        position: absolute;
        width: 160px;
        height: 160px;
        box-shadow:
          0 8px 16px rgba(0, 0, 0, 0.2),
          0 4px 8px  rgba(0, 0, 0, 0.15);
    }
    
    .mainImg__badge >span{
        font-size: 3rem;
    }
    
    .mainImg__pc{
        display: inline-block;
        max-width: 1000px;
        width: 100%;
        height: auto;
    }

    .mainImg__sp{
        display: none;
    }
    
    .main__txt{
        font-size: 3.4rem;
        font-weight: 700;
        margin-top: 8px;
    }
    
    .mainTxt{
        display: flex;
        width: 970px;
        gap: 40px;
        vertical-align: top;
        margin: 72px auto 0;
        padding: 0 2%;
        align-items: flex-start;
    }
    
    .txt__header{
        font-size: 1.6rem;
        line-height: 2.5;
        text-align: left;
        margin-top: 32px;
    }

    .txt__header:first-of-type{
        margin-top: 0;
    }
    
    .img__header{
        display: block;
        width: 380px;
        margin: 0;
    }
}

/* =========
recommend
========== */

.section--recommend{
    padding: 32px 0;
}

.recommend__title{
    text-align: center;
    font-family: "Pinyon Script";
    font-size: 6rem;
}

.sectionReommend__topic{
    margin-bottom: -60px;
}

.txt__recommend{
    color: var(--primary-brown);
    text-align: center;
    font-size: 1.2rem;
    margin-top: 12px;
}

.sectionRecommend__list1{
    background: rgb(215, 194, 195,0.3);
    box-shadow: 0px 4px 4px 0px #E0CECA;
    margin-right: 5%;
    margin-top: 32px;
    position: relative;
    padding-bottom: 16px;
}

.sectionRecommend__list2{
    background: rgba(122, 88, 85, 0.10);
    box-shadow: 0px 4px 4px 0px #d9d9d9;
    margin-left: 5%;
    margin-top: 32px;
    padding-bottom: 16px;
    position: relative;
}

.number{
    color:rgba(218, 192, 193);
    text-align: center;
    font-family: Allura;
    font-size: 6.4rem;
    line-height: 2.7;
    position: absolute;
    top: -80px;
    left: 20px;
}

.number2{
    color: rgba(122, 88, 85, 0.3);
    top: -80px;
    right: 20px;
    text-align: center;
    font-family: Allura;
    font-size: 6.4rem;
    line-height: 2.7;
    position: absolute;
}

.recommendTitle__top{
    color: var(--primary-brown);
    text-align: center;
    font-size: 1rem;
    line-height: 2.7;
    padding-top: 16px;
}

.recommendTitle{
    color: var(--primary-brown);
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
}

/* .check{
    width: 24px;
    height: 24px;
    margin-right: 12px;
} */

.recommendList{
    color: var(--primary-brown);
    font-size: 1.4rem;
    font-weight: 500;
    background-color: var(--primary-white);
    width: 312px;
    height: 50px;
    margin: 8px auto 0;
    position: relative;
    padding: 4px 0 4px 40px;
}

.recommendList:first-of-type{
    margin-top: 16px;
}

.recommendList::before{
    content: '';
    position: absolute;
    top: 0.9em;
    left: 0.6em;
    width: 24px;
    height: 24px;
    background-image: url('../sozai/check.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

.ex{
    color: var(--primary-brown);
    font-size: 1.3rem;
    display: block;
    width: 298px;
    margin: 16px auto;
    padding-left: 20px;
}

.ex2{
    width: 245px;
}

.ex::before{
    content: '例）';
    margin-left: -25px;
}

.student__name{
    color: var(--primary-brown);
    text-align: center;
    font-size: 1rem;
}

.comment{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 24px auto;
    width: fit-content;
    padding-bottom: 24px;
}

.student__comment{
    font-size: 1.2rem;
    color: #FFF;
    max-width: 240px;
    display: flex;
    align-items: center;
    position: relative;
    margin-left: 20px;
    padding: 0.8em 1.2em;
    border-radius: 5px;
    background-color:rgba(218, 192, 193);
}

.student__comment::before{
    position: absolute;
    left: -15px;
    width: 15px;
    height: 20px;
    background-color:#D7BCB6;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    content: '';
}

.student__img{
    width: 60px;
    height: 60px;
}

/* ---------------------
recommend pc
------------------------- */

@media screen and (min-width:769px) {
    .section--recommend{
        padding: 72px 2%;
    }
    
    .sectionReommend__topic{
        margin-bottom: -60px;
    }
    
    .txt__recommend{
        font-size: 2rem;
        margin-top: 24px;
    }

    .sectionRecommend__list{
        display: flex;
        justify-content: center;
        width: 100%;
        max-width: 1200px;
        margin: 64px auto;
        gap: 60px;
    }
    
    .sectionRecommend__list1{
        margin: 0;
        padding-bottom: 16px;
        width: 500px;
    }
    
    .sectionRecommend__list2{
        margin: 0;
        padding-bottom: 16px;
        width: 500px;
    }

    .number{
        font-size: 9.6rem;
        top: -120px;
        left: 20px;
    }
    
    .number2{
        font-size: 9.6rem;
        top: -120px;
        left: -330px;
    }
    
    .recommendTitle__top{
        font-size: 1.2rem;
        padding-top: 18px;
    }
    
    .recommendTitle{
        font-size: 2.4rem;
    }

    .recommendList{
        font-size: 1.6rem;
        width: 445px;
        height: 64px;
        margin: 16px auto 0;
        position: relative;
        padding: 9px 21px 9px 53px;
    }
    
    .recommendList:first-of-type{
        margin-top: 24px;
    }
    
    .recommendList::before{
        content: '';
        position: absolute;
        top: 0.9em;
        left: 0.6em;
        width: 33px;
        height: 33px;
        background-image: url('../sozai/check.svg');
        background-size: contain;
        background-repeat: no-repeat;
    }
    
    .ex{
        font-size: 1.4rem;
        width: 321px;
        margin: 16px auto 8px;
    }
    
    .ex::before{
        content: '例）';
    }
    
    .student__name{
        text-align: center;
        font-size: 1.2rem;
    }
    
    .student__img{
        width: 85px;
        height: 85px;
    }
    
    .comment{
        gap: 16px;
        margin: 32px auto;
        padding-bottom: 24px;
    }
    
    .student__comment{
        font-size: 1.6rem;
        color: #FFF;
        max-width: 400px;
        margin-left: 20px;
        padding: 0.8em 1.2em;
    }
    
    .student__comment::before{
        left: -25px;
        width: 30px;
        height: 30px;
    }
    
}

/* ===============
point
=================== */

.section--point{
    padding-top: 0;
}

.sectionPoint__title{
    color: var(--primary-brown);
    text-align: center;
    font-family: "Shippori Mincho";
    font-size: 2.4rem;
    font-weight: 700;
    background-image: url(../sozai/point__title.png);
    background-size: 210px;
    background-repeat: no-repeat;
    background-position: top;
    padding-bottom: 24px;
}

.list__point{
    background-image: url(../sozai/bg__point_pink.png);
    background-size: 291px;
    background-repeat: no-repeat;
    background-position: center;
    padding: 60px 0 92px;
}

.title__point{
    color: var(--primary-brown);
    font-family: "Shippori Mincho";
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
}

.txt__point{
    width: 228px;
    margin: 16px auto 0;
}

/* -----------------
point
---------------------- */

@media screen and (min-width:769px) {
    
    .sectionPoint__title{
        font-size: 4rem;
        background-image: url(../sozai/point__titlePc.png);
        background-size: 410px 90px;
        background-position: top;
        padding: 20px 0;
    }

    .sectionPoint__content{
        display: flex;
        justify-content: center;
        gap: 48px;
        margin-top: 0;
    }
    
    .list__point{
        background-image: url(../sozai/bg__point_pink.png);
        background-size: 320px;
        padding: 60px 0 92px;
    }
    
    .title__point{
        font-size: 2.4rem;
        margin-top: 24px;
    }

    .txt__point{
        font-size: 1.4rem;
        margin-top: 24px;
    }
}

/* ============
concept
================ */

.section--concept{
    background: linear-gradient(180deg, rgba(217, 217, 217, 0.20) 0%, rgba(215, 194, 195, 0.30) 82.69%);
}

.sectionConcept__topic{
    margin-bottom: -8px;
}

.sectionConcept__txt{
    margin-bottom: 8px;
}

.mainTxt__concept{
    color: var(--primary-brown);
    text-align: center;
    font-family: "Shippori Mincho";
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7; /* 168.75% */
    margin-top: 32px;
}

.txt__concept{
    color: var(--primary-brown);
    text-align: center;
    font-size: 1.4rem;
    line-height: 2; /* 192.857% */
    margin-top: 24px;
}

.txt__concept2{
    margin-top: 0;
}

.comment{
    margin: 24px auto 8px;
}

/* -----------
concept pc 
------------------------*/

@media screen and (min-width:769px) {
    
    .mainTxt__concept{
        font-size: 2.4rem;
    }
    
    .txt__concept{
        font-size: 1.6rem;
        margin-top: 22px;
    }

    .txt__concept.first{
        margin-top: 32px;
    }

    .comment{
        margin-top: 32px;
    }
}

/* ===========
omoi
=============== */

.section--omoi{
    background-image: url(../sozai/marble.png);
    background-repeat: repeat;
    background-size: cover;
}

.sectionOmoi__topic{
    color:rgba(189,  80,  87,0.7);
    text-align: center;
    font-family: "Shippori Mincho";
    font-size: 2rem;
    font-weight: 700;
}

.content__omoi{
    color: var(--primary-brown);
    font-size: 1.4rem;
    font-weight: 500;
    width: 297px;
    margin: 8px auto;
    background-color: #FFF;
    border: solid 1px var(--primary-brown);
    padding: 6px 26px;
    position: relative;
    z-index: 1;
    overflow: visible;
}

.content__omoi::before{
    content: '';
    width: 10px;
    height: 1px;
    background-color: #FFF;
    display: inline-block;
    position: absolute;
    top: -1px;
    left: 5px;
    transform: translateX(-50%);
    z-index: 2;
}
.content__omoi::after{
    content: '';
    width: 10px;
    height: 1px;
    background-color:#FFF;
    display: inline-block;
    position: absolute;
    bottom: -1px;
    right: -7px;
    transform: translateX(-50%);
    z-index: 2;
}

.content__omoi:first-of-type{
    margin-top: 24px;
}

.txt__omoi{
    color:var(--primary-brown);
    text-align: center;
    font-size: 1.4rem;
    line-height: 2; /* 192.857% */
    margin-top: 24px;
}

.content__mirai:first-of-type{
    margin-top: 24px;
}

.content__mirai{
    color: var(--primary-brown);
    font-size: 1.4rem;
    font-weight: 500;
    width: 300px;
    margin: 8px auto;
    background-color: #FFF;
    padding: 6px 15px;
    border: solid 1px  rgba(210, 147, 157);
    position: relative;
}

.content__mirai::before{
    content: '';
    width: 10px;
    height: 1px;
    background-color: #FFF;
    display: inline-block;
    position: absolute;
    top: -1px;
    left: 5px;
    transform: translateX(-50%);
    z-index: 2;
}
.content__mirai::after{
    content: '';
    width: 10px;
    height: 1px;
    background-color:#FFF;
    display: inline-block;
    position: absolute;
    bottom: -1px;
    right: -7px;
    transform: translateX(-50%);
    z-index: 2;
}

.txt__omoi2{
    color: var(--primary-brown);
    text-align: center;
    font-size: 1.4rem;
    line-height: 2;
}

/* --------------------
omoi pc
----------------------- */

@media screen and (min-width:769px) {
    
    .sectionOmoi__topic{
        font-size: 4rem;
    }

    .list__omoi{
        margin-top: 32px;
    }
    
    .content__omoi{
        font-size: 2rem;
        width: 680px;
        margin: 16px auto;
        padding: 15px 15px;
    }
    
    .content__omoi::before{
        width: 20px;
        background-color: #FFF;
    }

    .content__omoi::after{
        width: 20px;
        right: -10px;
        height: 2px;
    }
    
    .content__omoi:first-of-type{
        margin-top: 32px;
    }

    .txt__omoi{
        font-size: 1.6rem;
        margin-top: 48px;
    }

    .txt__omoi2{
        font-size: 1.6rem;
        margin-top: 12px;
    }
    
    .content__mirai:first-of-type{
        margin-top: 48px;
    }
    
    .content__mirai{
        font-size: 2rem;
        width: 680px;
        margin: 16px auto;
        padding: 15px 15px;
    }
    
    .content__mirai::before{
        width: 20px;
    }
    .content__mirai::after{
        width: 20px;
        right: -10px;
        height: 2px;
    }
    
    .txt__omoi2{
        font-size: 1.6rem;
    } 
}

/* ============
contents
=============== */

.section--contents{
    background-image: url(../sozai/bg__contents2.png);
    background-repeat: repeat-y;
    background-size: 100%;
}

.sectionContents__topic{
    margin-bottom: -20px;
}

.migiyose{
    padding-left: 16px;
}

.txt__contents{
    margin-top: 32px;
    text-align: center;
}

.txt__contents__list{
    color:var(--primary-brown);
    display: block;
    width: 297px;
    margin: 8px auto;
}

.contents__list{
    margin-top: 4px;
}

.curriculum{
    margin: 30px auto 0;
    width: 310px;
}

.curriculum__title{
    color: var(--primary-brown);
    font-family: "Shippori Mincho";
    font-size: 2rem;
    font-weight: 700;
    display: table;
    margin: -10px auto;
    position: relative;
}

.curriculum__title::after{
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--primary-brown);
}

.day{
    color: #E0A2A6;
    font-family: "Pinyon Script";
    font-size: 3.2rem;
    margin-top: 30px;
}

.txt__day{
    margin: 2px 0 8px;
    font-size: 1.4rem;
    color: var(--primary-white);
    background-color:rgba(218, 192, 193);;
    padding: 8px;
}

.content__curriculum{
    color:var(--primary-brown);
    font-size: 1.4rem;
    position: relative;
    padding-left: 1.5em;
    text-indent: -1.5em;
    margin-bottom: 0.3em;
}

.content__curriculum::before{
    content: '・';
    display: inline-block;
    margin-left: 16px;
}

.content__curriculum::marker {
    content: none;
}

.txt__contents2{
    color: var(--primary-brown);
    margin-top: 30px;
    text-align: center;
}

.video{
    display: block;
    width: 100%;
    margin: 16px auto 0;
    max-width: 288px;
    aspect-ratio: 16 / 9;
    border: none;
}

/* ------------------
contents
---------------------- */

@media screen and (min-width:769px) {
    .section--contents{
        background-repeat: no-repeat;
        background-position: center top; 
        background-size: 100%; 
        width: 100%;
        background-color: #f9f3f1;
    }

    .sectionContents__topic{
        margin-bottom: -20px;
    }
    
    .migiyose{
        padding-left: 16px;
        max-width: 100%;
        margin: 0 auto;
    }
    
    .txt__contents{
        margin-top: 48px;
        font-size: 1.6rem;
    }
    
    .txt__contents__list{
        display: block;
        width: 340px;
        margin: 12px auto;
    }
    
    .contents__list{
        margin-top: 4px;
        font-size: 1.6rem;
    }
    
    .curriculum{
        margin: 48px auto 0;
        width: 100%;
        max-width: 1248px;
        padding-left: 48px;
        display: block;
    }
    
    .curriculum__title{
        font-size: 2.8rem;
        text-align: center;
        position: relative;
        margin-bottom: 2rem;
    }
    
    .curriculum__title::after{
        content: '';
        position: absolute;
        bottom: -6px;
    }
    
    .day{
        font-size: 4.8rem;
        margin-top: 32px;
    }

    .txt__day{
        font-size: 1.6rem;
        margin: 4px 0 12px;
    }
    
    .content__curriculum{
        font-size: 1.6rem;
        padding-left: 1.5em;
        text-indent: -1.5em;
        margin-bottom: 0.3em;
    }
    
    .content__curriculum::before{
        margin-left: 16px;
    }
    
    .txt__contents2{
        font-size: 1.6rem;
        margin-top: 48px;
    }
    
    .video{
        max-width: 570px;
        margin: 48px auto 0;
    }

    .curriculum__flex{
        display: flex;
        justify-content: space-between;
        gap: 32px;
        margin: 0 auto;
        flex: nowrap;
    }
    
    .curriculum__day{
        flex: 1;
        max-width: 370px;
        min-width: 200px;
    }
}

/* ===========
reviews
========== */

.section--reviews{
    padding: 32px 2%;
}

.sectionReviews__topic{
    color: var(--primary-pink);
    text-align: center;
    font-family: "Pinyon Script";
    font-size: 6rem;
    margin-bottom: -10px;
}

.sectionReviews__txt{
    margin-top: -8px;
}

.donyu__reviews{
    font-size: 1.2rem;
    line-height: 2;
    margin: 32px auto -20px;
    width: 320px;
    text-align: center;
}

.content__reviews{
    display: block;
    width: 340px;
    margin: 0 auto;
}

.img__reviews{
    display: block;
    width: 230px;
    margin: 20px auto 0;
}

.title__reviews{
    color:var(--primary-brown);
    font-family: 'Shippori Mincho';
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5; /* 150% */
    margin: 14px auto 0;
}

.list__reviews{
    padding-bottom: 24px;
}

.name__reviews,.txt__reviews, .txt__reviews2{
    color:var(--primary-brown);
    font-size: 1.2rem;
}

.name__reviews{
    text-align: center;
    margin-top: -14px;
}

.txt__reviews, .txt__reviews2{
    width: 340px;
    margin-top: 8px;
    background-color: rgb(215, 194, 195,0.2);;
    padding: 8px;
    line-height: 2;
}

.line{
    background-image: linear-gradient(rgba(210, 147, 157,0.4), rgba(210, 147, 157,0.4));
  background-repeat: no-repeat;
  background-size: 100% 0.6rem;
  background-position: 0 100%;
}

/* --------------------
reviews pc
-------------------------- */

@media screen and (min-width:769px) {
    
    .sectionReviews__topic{
        font-size: 12.8rem;
        margin-bottom: -10px;
    }
    
    .sectionReviews__txt{
        margin-top: -8px;
    }
    
    .donyu__reviews{
        margin: 32px auto 0;
        width: 100%;
        font-size: 1.6rem;
    }
    
    .content__reviews{
        display: flex;
        justify-content: center;
        gap: 48px;
        width: 100%;
        max-width: 1248px;
        margin: 72px auto 0;
    }
    
    .img__reviews{
        display: block;
        width: 300px;
        height: auto;
        margin: -20px 0 -20px 0;
    }

    .txtAll__reviews{
        width: 100%;
        max-width: 730px;
    }
    
    .title__reviews{
        font-family: "Shippori Mincho";
        font-size: 2.8rem;
        margin: 0;
    }

    .list__reviews{
        padding-bottom: 60px;
    }

    .list__reviews > li:nth-child(2) {
        flex-direction: row-reverse;
    }
    
    .name__reviews,.txt__reviews, .txt__reviews2{
        font-size: 1.6rem;
    }
    
    .txt__reviews, .txt__reviews2{
        width: 100%;
        margin-top: 16px;
        padding: 16px;
    }
    
    .txt__reviews2{
        background-color: #F1EFEF;
    }
    
    
    .line{
      background-size: 100% 0.6rem;
    }
     
}

/* ============
instructor
=============== */

.sectionInstructor__topic{
    color:var(--primary-pink);
    text-align: center;
    font-family: "Pinyon Script";
    font-size: 6rem;
    margin-bottom: -8px;
}

.sectionInstructor__txt{
    margin-bottom: 24px;
}

.instructor{
    width: 310px;
    margin: 16px auto 0;
}

.name__instructor{
    color: var(--primary-brown);
    font-family: "Shippori Mincho";
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 16px;
}

.job__instructor{
    color:var(--primary-brown);
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    margin-top: 4px;
}

.txt__instructor{
    color:var(--primary-brown);
    font-size: 1.2rem;
    line-height: 2;
    margin-top: 16px;
    text-align: left;
}

/* --------------
instructor pc
---------------------- */
@media screen and (min-width:769px) {

    .sectionInstructor__topic{
        font-size: 12.8rem;
        margin-bottom: -8px;
    }
    
    .sectionInstructor__txt{
        margin-bottom: 56px;
    }
    
    .instructor{
        width: 100%;
        max-width: 850px;
        display: flex;
        justify-content: center;
        margin: 0 auto;
        gap: 48px;
    }

    .instructorImg {
        width: 340px;
        flex-shrink: 0;
      }

    .img__instructor{
        width: 100%;
        height: auto;
        max-width: 340px;
    }
    
    .name__instructor{
        font-size: 2rem;
        margin-top: 16px;
    }
    
    .job__instructor{
        font-size: 1.6rem;
        font-weight: 400;
        margin-top: 4px;
    }

    .txt__instructor{
        font-size: 1.6rem;
        line-height: 2;
        margin-top: 24px;
        text-align: left;
    }

    .txt__instructor:first-child{
        margin-top: 0;
    }
    
}

/* ===========
schedule
============== */

.section--schedule{
    background-image: url(../sozai/bg__schedule.png);
    background-size: cover;
    background-repeat: no-repeat;
}

.sectionSchedule__topic{
    margin-bottom: -16px;
}

.sectionSchedule__txt{
    margin-bottom: 24px;
}

.subtitleSchedule__title{
    color: var(--primary-brown);
    text-align: center;
    font-size: 1.8rem;
    margin-top: 16px;
}

.subtitleSchedule__txt{
    color: var(--primary-brown);
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
}

.list__caution{
    color: var(--primary-brown);
    font-size: 1.2rem;
    display: block;
    width: 294px;
    margin: 16px auto 0;
}

.content__caution{
    margin-top: 12px;
}

.list__schedule{
    width: 200px;
    margin: 24px auto 0;
}

.content__schedule{
    margin-top: 16px;
}

.term{
    color:#E0A2A6;
    font-family: "Shippori Mincho";
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5; /* 150% */
}

.schedule__day{
    color:var(--primary-brown);
    font-size: 1.4rem;
    line-height: 2;
}

/* -----------------
schedule pc
---------------------- */
@media screen and (min-width:769px) {
    .section--schedule{
        background-size: cover;
    }
    
    .sectionSchedule__topic{
        margin-bottom: -16px;
    }
    
    .sectionSchedule__txt{
        margin-bottom: 24px;
    }
    
    .subtitleSchedule__title{
        font-size: 3.2rem;
        margin-top: 48px;
    }
    
    .subtitleSchedule__txt{
        font-size: 1.6rem;
    }
    
    .list__caution{
        font-size: 1.6rem;
        width: 400px;
        margin: 48px auto 0;
    }
    
    .content__caution{
        margin-top: 24px;
    }

    .list__schedule{
        width: 100%;
        max-width: 700px;
        margin: 48px auto 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 56px 24px;
        padding: 0;
        margin: 48px auto 0;
    }
    
    .content__schedule{
        margin: 0;
        width: 250px;
    }
    
    .term{
        font-size: 2.4rem;
    }
    
    .schedule__day{
        font-size: 1.8rem;
    }
    
}

/* ============
application
============= */

.sectionApplication__topic{
    margin-bottom: -16px;
}

.sectionApplication__txt{
    margin-bottom: 16px;
}

.txt__application{
    color:var(--primary-brown);
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.7; /* 171.429% */
    margin-top: 24px;
}

.img__application{
    display: block;
    width: 310px;
    margin: 48px auto 0;
    position: relative;
    z-index: 1;
}

.img__application2{
    display: block;
    width: 130px;
    position: absolute;
    top: -20px;
    right: -10px;
    transform: rotate(-10deg);
    z-index: 2;
}

.applicationTitle{
    color:var(--primary-brown);
    font-family: 'Shippori Mincho';
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    margin-top: 24px;
}

.applicationTxt{
    color:var(--primary-brown);
    font-size: 1.4rem;
    line-height: 1.7;
    margin: 10px auto 16px;
    width: 322px;
}

/* ----------------
application pc
----------------------- */
@media screen and (min-width:769px) {
    .sectionApplication__txt{
        margin-bottom: 36px;
    }
    
    .txt__application{
        font-size: 1.6rem;
        margin-top: 20px;
    }
    
    .img__application{
        display: block;
        width: 100%;
        max-width: 430px;
        margin: 70px auto 0;
    }
    
    .img__application2{
        width: 160px;
        top: -30px;
        right: 0px;
    }
    
    .applicationTitle{
        font-size: 2.8rem;
        margin-top: 48px;
    }
    
    .applicationTxt{
        font-size: 1.6rem;
        line-height: 2;
        text-align: center;
        margin: 24px auto;
        width: 100%;
    }
}

/* ＝＝＝＝＝＝＝
question
============= */

.section--faq{
    background-color: rgba(215, 194, 195,0.1)
}

.sectionFaq__topic{
    margin-bottom: -16px;
}

.sectionFaq__txt{
    margin-bottom: 20px;
}

.list__faq {
    display: block;
    margin: 0 auto;          
    padding: 0;              
    width: 350px;             
    list-style: none;
}

.question {
    color: #FFF;
    font-size: 1.4rem;
    font-weight: 500;
    position:relative;         
    width:290px;               
    margin: 24px 0 0 14px; 
    padding: 12px; 
    text-align: left; 
    box-sizing:border-box;  
    background: linear-gradient(90deg, rgba(218, 192, 193,0.7) 10%,rgba(218, 192, 193) 100%
    );   
}

.question::before{
    content: 'Q';
    font-family: 'Allura';
    font-size: 3.2rem;
    color:#E0A2A6;
    position: absolute;
    top: 50%;
    left: -20px;
    transform: translateY(-50%);
}

.answer {
    color:var(--primary-brown);
    font-size: 1.4rem;
    position: relative; 
    width: 300px; 
    margin: 6px 0 0 50px; 
    padding: 12px; 
    text-align: left; 
    box-sizing: border-box;
    background: linear-gradient(90deg, #F1EFEF 0%, #D9D9D9 100%);
    }

.answer::before{
    content: 'A';
    font-family: 'Allura';
    font-size: 3.2rem;
    color:#E0A2A6;
    position: absolute;
    top: 50%;
    left: -24px;
    transform: translateY(-50%);
}

/* -----------------
question pc
----------------------- */
@media screen and (min-width:769px) {
    .list__faq {
        display: block;
        margin: 0 auto;          
        padding: 0;              
        width: 850px;             
        list-style: none; }

    .question {
        position:relative;         
        width:500px;               
        margin: 60px 0 0 0; 
        padding: 20px; 
        font-size: 1.8rem;
        text-align: left; 
        box-sizing:border-box;     
        }
    
    .question::before{
        font-size: 4.8rem;
        position: absolute;
        top: 50%;
        left: -34px;
        transform: translateY(-50%);
    }

    /* .answer{
        font-size: 1.8rem;
        width: 40%;
        margin: 8px 0 0 30px;
        padding: 18px 20px;
        margin-left: 40px;
    } */

    .answer {
    position: relative; 
    width: 570px; 
    margin: 8px 0 0 auto; 
    padding: 20px; 
    font-size: 1.8rem;
    text-align: left; 
    box-sizing: border-box;
    }
    
    .answer::before{
        font-size: 4.8rem;
        position: absolute;
        top: 50%;
        left: -34px;
        transform: translateY(-50%);
    }
}

/* ==========
last
============= */

.last{
    padding: 32px 2%;
    background-image: url(../sozai/bg__last.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.txt__last{
    color:var(--primary-brown);
    text-align: center;
    font-size: 1.4rem;
    line-height: 2; /* 192.857% */
    margin-top: 56px;
}

.last .btn{
    margin-top: 40px;
}

.copy{
    text-align: center;
    font-size: 1.4rem;
}

/* ------------------
last pc
--------------------- */
@media screen and (min-width:769px) {
    .last{
        padding: 120px;
        background-image: url(../sozai/bg__last.png);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    
    .txt__last{
        font-size: 1.6rem;
        line-height: 2;
        margin-top: 48px;
    }
    
    .last .btn{
        margin-top: 160px;
    }
    
    .copy{
        text-align: center;
        font-size: 1.6rem;
        padding: 4px;
    }
}