section{
    padding: 100px 5%;
    padding-top: 0;
}
section#menu {
    padding-top: 100px;
}
section h2{
    letter-spacing: 0.2em;
    line-height: 1.7em;
    font-weight: 400;
    font-size: 1.5rem;
}
section h2 span{
    display: inline-block;
}
section .title-item {
    margin-top: 1em;
}

/* balloon */
.balloon-left, .balloon-right {
    text-align: center;
    line-height: 1.3em;
    border-radius: 1em;
    background: rgb(211, 230, 236);
    padding: 1em;
    position: relative;
}
.balloon-left::before, .balloon-right::before {
    content: "";
    width: 1em;
    height: 1em;
    background: rgb(211, 230, 236);
    position: absolute;
    bottom: 0.5em;
}
.balloon-left::before {
    clip-path: polygon(75% 0, 100% 100%, 0 100%);
    left: -0.5em;
}
.balloon-right::before {
    clip-path: polygon(25% 0, 100% 100%, 0 100%);
    right: -0.5em;
}

/* triangle-icon */
.triangle-icon {
    width: 2em;
    height: 1em;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: rgb(100, 100, 100);
    display: block;
}

/* br */
br.pc {
    display: none;
}

/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    section h2{
        font-size: 2.2rem;
    }
    section .reservation-time .title-item h2 {
        font-size: 1.5rem !important;
    }
    section h2 span{
        display: inline-block;
    }
    /* br */
    br.pc {
        display: inline-block;
    }
    br.sp {
        display: none;
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {
    section{
        padding: 5% calc((100% - 1080px) / 2);
    }
}

/*===========================================================
    section-sticky
===========================================================*/
.section-sticky {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2em 3em;
}
.section-sticky:has(.section-sticky__right) {
    flex-direction: column-reverse;
    justify-content: center;
}
.sticky-phone {
    max-width: 400px;
    min-width: 275px;
    width: 25%;
}
.sticky-phone img {
    width: 100%;
}

/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {
    .section-sticky {
        flex-direction: row !important;
        align-items: flex-start;
    }
    .section-sticky:has(.section-sticky__right) {
        justify-content: space-between;
    }
    .section-sticky__left {
        position: sticky;
        top: 10em;
        left: 0;
    }
    .section-sticky__right {
        position: sticky;
        top: 10em;
        right: 0;
    }
}

/*--------------------------------------------

firstview

--------------------------------------------*/
#firstview{
    background-image:
    linear-gradient(to bottom, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 1) 100%),
    url(../images/strengths/first_view.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 60% bottom;
    width: 100vw;
    width: 100lvw;
    height: 100vh;
    height: 100svh;
    position: relative;
}
#firstview .title-menu{
    position: absolute;
    bottom: 5%;
    left: 5%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#firstview .title-menu h1{
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.4em;
}
#firstview .title-menu h1 small {
    font-size: 50%;
    line-height: 1em;
}
#firstview .title-menu p{
    background: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
    padding: 10px 20px;
    width: fit-content;
    letter-spacing: 0.1em;
}
#firstview .title-menu ul{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#firstview .title-menu ul li a{
    color: rgb(0, 0, 0);
    position: relative;
    padding-left: 20px;
}
#firstview .title-menu ul li a::before{
    content: "";
    background: rgb(0, 0, 0);
    height: 1px;
    width: 15px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    #firstview{
        background-position: 60%;
    }
    #firstview .title-menu h1{
        font-size: 3rem;
    }
    #firstview .title-menu{
        gap: 40px;
    }
    #firstview .title-menu ul{
        gap: 20px;
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {
    #firstview .title-menu h1{
        font-size: 3.5rem;
    }
}
/*--------------------------------------------
min-width 1500
--------------------------------------------*/
@media (min-width: 1500px) {
    #firstview .title-menu{
        left: 20%;
        bottom: 10%;
    }
}

/*--------------------------------------------

menu

--------------------------------------------*/
#menu{
    padding: 100px 0;
}
/*title-item*/
#menu .title-item{
    display: flex;
    flex-direction: column;
    gap: 40px;
    text-align: center;
    position: relative;
}
#menu .title-item::before{
    content: "";
    background: linear-gradient(90deg, rgb(217, 243, 254) ,rgb(217, 248, 234) ,rgb(255, 255, 224));
    width: 90%;
    height: 100px;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: skewY(-0.025turn);
    z-index: -1;
    position: absolute;
    left: 0;
    bottom: 0;
}
#menu .title-item p{
    position: relative;
}
#menu .title-item p::before{
    content: "";
    background: rgb(0, 0, 0);
    width: 40px;
    height: 1px;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/* menu-content */
.menu-content {
    width: 90%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2em;
    margin: 0 auto;
    margin-top: 5em;
}

/* menu-balloons */
.menu-balloons {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.menu-content h3 {
    font-size: 120%;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
    color: rgb(0, 160, 213);
}

/* menu-details */
.menu-details {
    background: rgb(240, 240, 240);
    border-radius: 1em;
    padding: 1em;
    padding-top: 2.5em;
    position: relative;
}
.details-bubble {
    white-space: nowrap;
    color: rgb(255, 255, 255);
    background: rgb(0, 160, 213);
    padding: 0.5em 1em;
    position: absolute;
    top: -0.75em;
    left: 50%;
    transform: translateX(-50%);
}
.details-bubble::before {
    content: "";
    width: 1em;
    height: 0.5em;
    background: rgb(0, 160, 213);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: -0.4em;
    left: 50%;
    transform: translateX(-50%);
}

.menu-details h4 {
    font-size: 160%;
    text-align: center;
}
.menu-details dl dt {
    font-size: 120%;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
    font-weight: 500;
    text-align: center;
    background: linear-gradient(90deg, rgb(217, 243, 254) ,rgb(217, 248, 234) ,rgb(255, 255, 224));
    padding: 0.5em 1em;
    margin: 0.75em 0;
}

/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    #menu{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 2em;
    }
    #menu .title-item {
        flex-shrink: 0;
        position: sticky;
        left: 0;
        top: 30%;
    }
    .menu-content {
        margin-top: 0;
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {
    #menu{
        gap: 5em;
        padding: 5% calc((100% - 1080px) / 2);
    }
    #menu .title-item br {
        display: none;
    }
    .menu-content {
        width: 100%;
    }
}

/*--------------------------------------------

correct

--------------------------------------------*/
#correct{
    background: linear-gradient(180deg, rgb(255, 255, 255) 0% ,rgb(255, 255, 255) 5% ,rgb(217, 243, 254) 5% ,rgb(217, 243, 254) ,rgb(217, 248, 234) ,rgb(255, 255, 224) ,rgb(255, 255, 255) 40%);
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
#correct::before{
    content: "";
    background: rgb(255, 255, 255);
    height: 80px;
    width: 100%;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    position: absolute;
    top: 4.9%;
    left: 0;
    z-index: -1;
}

/* correct-list */
.correct-list {
    max-width: 900px;
    height: 18em;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg, rgba(20, 122, 177, 0.6), rgba(21, 206, 128, 0.6), rgba(255, 255, 0, 0.6));;
    padding: 0.5em;
    margin: 0 auto;
}
.correct-item {
    width: calc((100% + 7.5%) / 3);
    height: 100%;
    position: relative;
    overflow: hidden;
}
.correct-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.correct-item p {
    text-align: center;
}
.correct-item--blue {
    clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
}
.correct-item--blue img {
    max-width: 350px;
    width: 150%;
    object-position: 0 40%;
    display: block;
    margin-left: -30%;
}
@media (min-width: 810px) {
    .correct-item--blue img {
        max-width: 500px;
        width: 105%;
        margin-left: -6%;
    }
}
.correct-item--green {
    clip-path: polygon(0 0, 85% 0, 100% 100%, 15% 100%);
    margin: 0 -3.75%;
}
.correct-item--yellow {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
}
.correct-item--yellow img {
    object-position: 25%;
}
.correct-item p {
    font-size: 95%;
    font-weight: 600;
    background: rgb(255, 255, 255);
    border-radius: 200px;
    padding: 0.25em 0.5em;
    position: absolute;
    top: 0.5em;
    left: 0.5em;
}
.correct-message h3 {
    font-size: 130%;
}

.correct-img {
    max-width: 400px;
    width: 100%;
}
.correct-img img {
    width: 100%;
}


/* correct-message */
.correct-message {
    min-width: 300px;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2em;
    flex-shrink: 0;
}
.correct-message p {
    background: rgb(255, 255, 255);
    border-radius: 1em;
    padding: 2em;
}

/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    #correct {
        background: linear-gradient(180deg, rgb(255, 255, 255) 0% ,rgb(255, 255, 255) 5% ,rgb(217, 243, 254) 5% ,rgb(217, 243, 254) ,rgb(217, 248, 234) ,rgb(255, 255, 224) ,rgb(255, 255, 255) 70%);
    }
    /* correct-content */
    .correct-select li {
        width: calc(100% / 3 - 2em / 3);
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {

}

/*--------------------------------------------

staff

--------------------------------------------*/
#staff {
    display: flex;
    flex-direction: column;
    gap: 50px;
    padding: 100px 0;
    padding-top: 0;
}
#staff .title-item {
    padding: 0 5%;
}
/* staff-content */
.staff-details {
    max-width: 600px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2em;
    padding: 3em 5%;
    padding-top: 0;
    margin: 0 auto;
}
.staff-details h3 {
    border-radius: 200px;
    padding: 0.5em 2em;
}
.staff-details img {
    width: 100%;
    border-radius: 1em;
    object-fit: cover;
}
.staff-list {
    display: flex;
    flex-direction: column;
    gap: 0.75em;
}
.staff-list li {
    padding-left: 1.5em;
    position: relative;
}
.staff-list li::before {
    content: "";
    width: 0.75em;
    height: 0.75em;
    border-radius: 50%;
    background: rgb(50, 50, 50);
    position: absolute;
    left: 0;
    top: 0.5em;
}


.staff-normal h3 {
    background: rgb(240, 240, 240);
}

.staff-bona {
    background: linear-gradient(90deg, rgb(217, 243, 254) ,rgb(217, 248, 234) ,rgb(255, 255, 224));
}
.staff-bona h3 {
    background: rgb(255, 255, 255);
}
.staff-bona dl dt {
    font-size: 140%;
    font-weight: 500;
    text-align: center;
    background: rgb(255, 255, 255);
    padding: 0.5em 1em;
    margin-bottom: 0.75em;
}

/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    #staff {
        padding: 5% calc((100% - 1080px) / 2);
    }
    #staff .title-item {
        padding: 0;
    }
    .staff-details {
        border-radius: 2em;
        padding: 3em 2em;
    }
    .staff-details h3 {
        background: rgb(255, 255, 255);
    }
    .staff-normal {
        background: rgb(240, 240, 240);
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {

}

/*--------------------------------------------

support

--------------------------------------------*/
#support {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
/* support-content */
.support-content video {
    max-width: 800px;
    width: 100%;
    border-radius: 1em;
    display: block;
    margin: 0 auto;
    margin-bottom: 2em;
}

.support-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2em;
}
.support-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1em;
    background: rgb(217, 243, 254);
    border-radius: 2em;
    padding: 2em;
}
.support-item svg {
    height: 5em;
}
.support-item svg path {
    fill: rgb(0, 160, 213);
}
.support-item h3 {
    color: rgb(0, 160, 213);
    background: rgb(255, 255, 255);
    border-radius: 200px;
    padding: 0.5em 1em;
}

.support-content > p {
    padding-top: 2em;
}

/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {
    /* support-content */
    .support-item {
        width: calc(50% - 1em);
    }
}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {

}

/*--------------------------------------------



--------------------------------------------*/

/*--------------------------------------------
min-width 810
--------------------------------------------*/
@media (min-width: 810px) {

}
/*--------------------------------------------
min-width 1080
--------------------------------------------*/
@media (min-width: 1080px) {

}
