@charset "UTF-8";
/* =======================================================
Menu
========================================================*/
.section--menu {
    background-color: var(--primary-blue);
    padding: 60px 8%;
}

.topic {
    color: var(--primary-darkGreen);
    font-family: Lora;
    text-align: center;
    font-size: 2.2rem;
    font-weight: 500;
    letter-spacing: 3.3px;
}

.topic--menu span {
    font-family: "Zen Old Mincho";
    font-size: 1.3rem;
    font-weight: 700;
}

.precautionsPrice {
    color: var(--primary-darkGreen);
    text-align: center;
    font-size: 1.3rem;
    font-weight: 500;
    margin: 20px 0 60px;
}


#treatment {
    display: flex;
    padding: 60px 8% 40px ;
    flex-direction: column;
    align-items: center;
    background: var(--primary-white);
}

.menu__topic {
    color: var(--primary-darkGreen);
    text-align: center;
    font-family: Lora;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 25px; 
    letter-spacing: 1.8px;
    margin-bottom: 20px;
}

.menu__topic span {
    text-align: center;
    font-family: "Zen Old Mincho";
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 20px; 
}

.menu__group {
    padding: 20px 0;
}

.menuList {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.menu__set {
    display: flex;
    padding: 0   5px;
    align-items: center;
    gap:20px;
    margin-top: 20px;
}

.menu__linepc {
    display: none;
}

.menu__linesp {
    width: 2px;
    height: 160px;
}

.menu__linepc--another {
    display: none;
}

.menu__linesp--another {
    width: 2px;
    height: 100px;
}

.menuName {
    width: 260px;
}

.menuName__txt {
    color: var(--primaryblack);
    font-size: 1.7rem;
    font-weight: 900;
    line-height: 25px;
    align-items: flex-start; 
}

.menuName__txt span {
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 900;
    line-height: 23px;
}

.price {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 20px;
    align-self: stretch;
}

.price__txt {
    text-align: center;
    font-size: 1.7rem;
    font-weight: 900;
    line-height: 25px;
    margin-top: 20px;
}   

.price__txt--end  {
    text-align: right;
    margin-top: 0;
}
.price__txt--end span {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 900;
    line-height: 23px;
}

.menu__txt {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 23px;
    margin-top: 20px;
    padding: 0 10px;
}

/*treatment pc */
@media screen and (min-width:769px) {
    .section--menu {
        display: flex;
        padding: 100px ;
        flex-direction: column;
        align-items: center;
        align-self: stretch;
    }

    .topic {
        text-align: center;
        font-size: 2.8rem;
        font-weight: 500;
        letter-spacing: 3.3px;
    }

    .topic  span {
        font-size: 1.6rem;
        line-height: 40px;
  }

  .menu__group {
    padding: 0 0 40px;
}

    .precautionsPrice {
        text-align: center;
        font-size: 1.6rem;
        font-weight: 500;
        margin: 30px 0 100px;
}

    #treatment  {
        display: flex;
        max-width: 100%;
        padding: 100px 0 40px 0;
        flex-direction: column;
        align-items: center;
    }

    .menu__topic {
        line-height: 31px; 
        text-align: center;
        font-size: 2.4rem;
        font-weight: 600;
        letter-spacing: 2px;
        margin-bottom: 40px;
    }
    
    .menu__topic span {
        text-align: center;
        font-size: 1.6rem;
        font-weight: 500;
    }

    .menuList {
        display: flex;
        padding: 60px 6%;
        align-items: center;
        align-self: stretch;
        flex-direction: row;
    }

    .menu__img  {
       width: 65%;
       margin-right: 5%;
    }
}

@media screen and (min-width:1000px) {
    .menu__txt {
        font-size: 1.6rem;
        line-height: 37px;
        font-weight: 500;
    }
 }

 @media screen and (min-width:1200px) {
    .menu__box {
        display: flex;
        padding: 0 10px;
        flex-direction: column;
        align-items: flex-start;
        gap:10px;
        flex: 1 0 0;
    }
    
    .menu__set {
        display: flex;
        padding: 0;
        align-items: center;
        gap:40px;
        margin-top: 0;
    }

    .menu__linesp {
        display: none;
    }
    
    .menu__linepc {
        display: block;
        width: 2.5px;
        height: 250px;
    }

    .menu__linesp--another {
        display: none;
    }

    .menu__linepc--another {
        display: block;
        width: 2.5px;
        height: 160px;
    }
    
    .menuName {
        width: 260px;
    }

    .menuName__txt {
        font-size: 2rem;
        line-height: 37px;
        align-items: flex-start; 
    }
    
    .menuName__txt span,
    .price__txt--end span  {
        font-size: 1.4rem;
        font-style: normal;
        line-height: 24px;
    }
    
    .price {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-end;
        gap: 20px;
        align-self: stretch;
        margin-top: 20px;
    }
    
    .price__txt {
        text-align: end;
        font-size: 2rem;
        line-height: 37px;
        margin-top: 0;
    }  

    .menu__txt {
        font-size: 1.8rem;
        line-height: 39px;
        margin-top: 20px;
        padding: 0 ;
    }
}

 @media screen and (min-width:1400px) {
.menu__txt {
    margin-top: 40px;
}

.menu__txt:first-of-type {
    margin-top: 50px;
}
 }

/* 施術の流れ */

.flow {
    padding: 20px 10px;
}

.flow__name {
    color: var(--primary-darkGreen);
    font-family: "Yu Mincho";
    font-size: 1.3rem;
    font-weight: 600;
}

.flow__group  {
    display: flex;
    padding: 20px 0;
    justify-content: center;
    align-items: center;
    gap: 5px;
    align-self: stretch;
    margin-top: 20px;
}

.flow__group--first  {
    gap: 10px;
}

.flow__group--end {
    gap: 20px;
}

.menu__img {
    width: 90%;
}

.flow__tittle {
    color: var(--primary-darkGreen);
    text-align: center;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 15px; 
    writing-mode: vertical-rl;
    text-orientation: upright;
    border-radius: 50px;
    border: 0.3px solid var(--primary-darkGreen);
    background-color: var(--primary-blue);
    display: flex;
    width: 30px;
    height: 130px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px
    }

.flow__tittle--another {
    background-color: var(--primarywhite);
}

.flow__txt {
    color: var(--primary-darkGreen);
    font-size: 1.3rem;
    font-weight: 500;
}

.flow__txt:last-of-type {
    margin-top: 20px;
}

.precautionsMenu {
    width: 95%;
    padding: 10px 10px;
    align-items: center;
    border: 1px solid var(--primary-darkgray);
}

.precautionsMenu__txt {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 23px; 
}

@media screen and (min-width:769px) {
    .flow {
        padding: 0 7% 20px;
        margin-top: 40px;
    }

    .flow__name {
        font-size: 1.7rem;
    }

    .flow__group  {
        display: flex;
        padding: 20px 0;;
        flex-direction:row;
        align-items: center;
        justify-content: center;
        gap: 5px;
        margin: 30px 0;
        flex-wrap: wrap;
}

  .flow__tittle {
    text-align: center;
    font-size: 1.4rem;
    line-height: 18px; 
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    border:  0.5px solid var(--primary-darkGreen);
    display: flex;
    width: 150px;
    height: 40px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px
    }

    .flow__txt {
    font-size: 1.7rem;
    }
    
    .flow__txt:last-of-type {
        margin-top: 30px;
    }
    
    .precautionsMenu {
        display: flex;
        padding: 15px 20px;
        align-items: center;
        border: 1.5px solid var( --primary-Gray);
        width: 87%;
        margin-bottom: 60px;
    }
    
    .precautionsMenu__txt {
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 39px
    }

    .menu__img {
        width: 100%;
    }
}

@media screen and (min-width:820px) {
    .flow__group  {
        display: flex;
        padding: 20px 0;;
        flex-direction:row;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        margin: 30px 0;
        flex-wrap: wrap;
}

.flow__group--first {
    justify-content: flex-start;
    gap: 20px;
  }
}

@media screen and (min-width:1000px) {
.flow__group  {
    gap: 8px;
}
}

    @media screen and (min-width:1170px) {
    .flow__group  {
        display: flex;
        padding: 20px 0;;
        flex-direction:row;
        align-items: center;
        justify-content: flex-start;
        gap: 15px;
        margin: 30px 0;
        flex-wrap: nowrap;
      }

      .flow__group--first,
      .flow__group--end {
        justify-content: flex-start;
        gap: 40px;
      }
 }

 @media screen and (min-width:1190px) { 
 .menu__img {
    width: 60%;
}
}

/* colortherapy */
#colortherapy {
    display: flex;
    padding: 60px 8% 40px ;
    flex-direction: column;
    align-items: center;
    background: var(--primary-white);
    margin-top: 20px;
}

/*colortherapy pc */
@media screen and (min-width:769px) {
    #colortherapy {
        display: flex;
        max-width: 100%;
        padding: 100px 0 40px 0;
        flex-direction: column;
        align-items: center;
        margin-top: 40px;
    }
}

/* 講座 */

.lesson {
    display: flex;
    padding: 40px 5.3%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    background: var(--primary-white);
    margin-top: 20px;
}

.lesson__topic {
    color: var(--primary-darkGreen);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 25px; 
    letter-spacing: 0.85px;
    border: 1px solid var(--primary-darkGreen);
    background: var(--primary-blue);
    display: flex;
    height: 50px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
}

.lesson__group {
    padding: 10px;
}

.lesson__txt {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 23px; 
    letter-spacing: 0.39px
}

.requirement {
    display: flex;
    width: 262px;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 20px;
}

.requirement__group {
    display: flex;
}

.requirement__txt {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 25px; 
    letter-spacing: 0.75px;
    margin-right: 10px; 
    }

    .requirement__txt--end {
        margin-right: 30px; 
    }

    .requirement__price {
        font-size: 1.5rem;
        font-weight: 400;
        line-height: 25px;
        width: 190px;
    }

    .requirement__price span {
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 22px;
    }

    .lesson__contact {
        display: flex;
        padding: 0 10px ;
        align-items: center;
        align-self: stretch;
        justify-content: space-between;
    }

    .lesson__reserve {
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 23px;
    }

    .lesson__icon {
        width: 40px;
        height: 40px;
        margin-left: 10px;
    }

    /*講座 pc */
@media screen and (min-width:769px) {
    .lesson {
        display: flex;
        width: 100%;
        padding: 100px 5%;
        flex-direction: column;
        align-items: center;
        gap: 0;
        margin-top: 40px;
    }

    .lesson__topic {
        font-size: 2rem;
        font-weight: 900;
        line-height: 28px; 
        border: 1px solid var(--primary-darkGreen);
        padding: 30px;
        width: 100%;
        margin: 0 auto;
    }

    .lesson__group {
        padding: 0;
        margin-top: 60px;
    }

    .lesson__txt {
        font-size: 1.6rem;
        line-height: 37px;
        font-weight: 500;
    }

    .requirement {
        display: flex;
        width: auto;
        flex-direction: column;
        align-items: flex-start;
        margin-top: 30px;
        gap:10px;
    }
    
    .requirement__group {
        display: flex;
    }
    
    .requirement__txt {
        font-size: 1.8rem;
        line-height: 39px;
        font-weight: 500;
        margin-right: 30px; 
    }
    
    .requirement__txt--end {
         margin-right: 55px; 
    }
    
    .requirement__price {
         font-size: 1.8rem;
         font-weight: 400;
        line-height: 27px;
        width: auto;;
        padding: 5px 0 0;
        display: flex;
        }
    
    .requirement__price span {
         font-size: 1.7rem;
        font-weight: 400;
        line-height: 25px;
        margin-left: 10px;
        }
    
    .lesson__contact {
        display: flex;
        padding: 0;
        align-items: center;
        justify-content: space-between;
        margin:20px 0;
        }
    
    .lesson__reserve {
        font-size: 1.8rem;
        line-height: 39px;
        font-weight: 500;
        }
    
    .lesson__icon {
        width: 40px;
        height: 40px;
        margin-left: 10px;
        }
}

@media screen and (min-width:1200px) {
    .lesson__txt {
        font-size: 1.8rem;
        line-height: 39px
    }
}

@media screen and (min-width:1445px) {
    .lesson__contact {
    padding-left: 10px;
    }
}

@media screen and (min-width:1445px) {
    .lesson__contact {
    padding-left: 20px;
    }
}

@media screen and (min-width:1480px) {
    .lesson__contact {
    padding-left: 25px;
    }
}

@media screen and (min-width:1505px) {
    .lesson__contact {
    padding-left: 40px;
    }
}
/* =======================================================
Reserve
========================================================*/
.topic--name {
    color: var(--primary-white);
}

@media screen and (min-width: 769px) {
    .topic--name {
        text-align: center;
        font-size: 2.8rem;
        font-weight: 500;
        letter-spacing: 3.3px;
    }
}

