@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
    text-decoration: none;
}

h2 {
    font-size: 3.88vw;
    color: #FFF264;
    font-family: "Noto Serif JP", sans-serif;
}

h3 {
    font-size: 2.77vw;
    letter-spacing: 0.1rem;
    font-family: "Noto Serif JP", sans-serif;
}

h4 {
    font-size: 1.94vw;
    font-family: "Noto Serif JP", sans-serif;
    font-style: italic;
}

.consul-p {
    font-size: calc(20/1440*100vw);
}

h5 {
    font-size: calc(16/1440*100vw);
}

p {
    font-size: 1.4vw;
    letter-spacing: -0.1rem;
    font-family: "Noto Sans JP", sans-serif;
}


h3 .span-font-size {
    font-size: calc(48/1440*100vw);
}

.section-title h3 {
    font-size: calc(36/1440*100vw);
}
.invi-maru p,
.recommend-content-text p,
.voice-content-text h5,
.voice-content p,
.step-content-text p {
    font-size: calc(14/1440*100vw);
}
.reason-content p {
    font-size: calc(24.35/1440*100vw);
    font-family: "Noto Serif JP", sans-serif;
    letter-spacing: 0.24rem;
    line-height: 1.7;
}

.step-content-num p {
    font-size: calc(55/1440*100vw);
    font-family: "Noto Serif JP", sans-serif;
    font-weight: 700;
    font-style: italic;
}
.span-color {
    color: #FFF264;
}

img {
    width: 100%;
}
.br-pc {
    display: inline;
}
.br-sp {
    display: none;
}
.contact-btn {
    width: 68.75%;
    display: inline-flex;
    align-items: center;
}
.contact-btn-img {
    width: 6%;
    margin-left: 1vw;
}

/* 

mainvisual

*/
#mainvisual {
    margin-bottom: -4vw;
}
.mv-inner {
    width: 100%;
}
.mv-img {
    width: 100%;
}
.mv-pc{
    display: block;
}
.mv-sp {
    display: none;
}

.banner {
    width: 100%;
    display: flex;
    position: fixed;
    bottom: 0;
    z-index: 99;
    opacity: 0; /* 初期状態では非表示 */
    transition: opacity 0.3s ease; /* フェードイン・アウト用 */
    pointer-events: none; /* 非表示時のクリック操作を無効化 */
}
.banner.visible {
    opacity: 1; /* 表示状態 */
    pointer-events: auto; /* 表示時のクリック操作を有効化 */
}


/* 

invitation

*/

.invitation {
    width: 100%;
    text-align: center;
    padding: 6.6% 0 0.2% 0;
    background-image: url(../img/invi.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}


.invi-inner {
    width: 68.75%;
    height: calc(520/1440*100vw);
    margin: -1% auto -4% auto;
    text-align: center;
    box-sizing: border-box;
    padding: 3% 2vw 1vw 2vw;
    background-image: url(../img/invi_inner.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.invi-text-wrap {
    margin-bottom: 6%;
    margin-top: 0.7vw;
    margin-left: 0.2vw;
}
.invi-text-wrap p {
    color: #fff;
    font-size: calc(24/1440*100vw);
    font-family: "Noto Serif JP", sans-serif;
    margin-left: -0.2vw;
    letter-spacing: 0.14rem;
}

.invi-text-wrap h2 {
    display: inline;
    border-bottom: solid 1px;
    box-sizing: border-box;
    padding-bottom: 1%;
}

.invi-text-container {
    display: flex;
    justify-content: space-around;
    width: 77%;
    margin: 0 auto;
    margin-top: 5vw;
}
.invi-text-content {
    display: flex;
}
.invi-maru {
    background-image: url(../img/masu.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 6vw;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 6vw;
}
.invi-maru p {
    color: #073676;
    letter-spacing: 0.05rem;
}
.invi-inner-text {
    text-align: start;
    margin-left: 0.5vw;
    color: #fff;
}
.invi-text-content:nth-child(1) {
    margin-right: -5vw;
    margin-left: -2vw;
}
.invi-text-content:nth-child(2) .invi-inner-text {
    display: flex;
    align-items: center;
}



/* 

inner

*/

.inner {
    background-image: url(../img/inner_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
/* 

consultation

*/
.consultation {
    width: 100%;
    box-sizing: border-box;
    padding: 5.4vw 0 3vw 0;
}
.consultation-inner {
    width: 74%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    
}
.consultation-title-wrap {
    width: 100%;
    text-align: center;
    color: #fff;
    margin-bottom: 3.7%;
    position: relative;
}
.consultation-title-wrap::before {
    content: '';
    width: 2px;
    height: 6.1vw;
    background-color: #fff;
    top: 1.4vw;
    left: 20.7vw;
    position: absolute;
    transform: rotate(-15deg);
}
.consultation-title-wrap::after {
    content: '';
    width: 2px;
    height: 6.1vw;
    background-color: #fff;
    top: 1.4vw;
    right: 20.8vw;
    position: absolute;
    transform: rotate(18deg);
}
.consultation-title-wrap h3 {
    letter-spacing: 0.05rem;
}
.consultation-fa-wrap {
    margin-bottom: 2.8%;
    margin-left: 0.2vw;
}
.consultation-fa-item {
    display: flex;
    border-bottom: dotted 3px #fff;
    box-sizing: border-box;
    padding: 1.7% 0;
    align-items: center;
}
.consultation-fa-item:first-child {
    display: flex;
    border-top: dotted 3px #fff;
}
.consultation-fa-img {
    width: 1.9vw;
}

.consultation-fa-item p {
    color: #fff;
    margin-left: 1vw;
    letter-spacing: 0.05rem;
}
.fukidasi {
    display: inline-flex;
    border: solid 1px #fff;
    color: #fff;
    padding: 0.3% 1.8vw;
    border-radius: 1rem;
    position: relative;
    margin-bottom: 1%;
    letter-spacing: 0.1rem;
}
.fukidasi::after {
    position: absolute;
    content: '▼';
    color: #fff;
    font-size: 0.5vw;
    bottom: -0.6vw;
    left: 50%;
    transform: translateX(-50%);
}
.consultation-inner h3{
    color: #fff;
    letter-spacing: 0.1rem;
}

/* 

later

*/
.later {
    width: 100%;
    box-sizing: border-box;
    padding: 6.2vw 0;
}
.later-inner {
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2.7% auto 0.8% auto;
}
.later-fukidasi {
    color: #000;
    border: solid 1px #000;
}
.later-fukidasi::after {
    color: #000;
}
.later-inner h3 {
    margin-bottom: 2.4%;
}
.later-container {
    width: 44%;
    margin-left: -48%;
}
.later-content {
    width: 100%;
    position: relative;
}
.later-content h4 {
    background-color: #073676;
    color: #fff;
    display: inline-flex;
    padding: 2.9% 4.1vw;
    clip-path: polygon(4% 0, 100% 0, 96% 100%, 0 100%);
    line-height: 1.2;
    margin: 2% 0 0.5% 0;
    width: 31vw;
}
.later-content::after {
    content: '';
    position: absolute;
    background-image: url(../img/later_star.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0.8vw;
    right: -1.4vw;
    width: 4.8vw;
    height: 5vw;
}
.content-star-2 {
    width: 100%;
    margin-left: 23vw;
}


/* 

recommend

*/
.recommend {
    background-image: url(../img/recommend_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.recommend-inner {
    box-sizing: border-box;
    padding: 5.1% 0;
    width: 74%;
    margin: 0 auto;
    text-align: center;
}

.recommend-inner h3 {
    color: #fff;
    margin-bottom: 3.9%;
}
.recommend-container {
    width: 100%;
    display: flex;
}

.recommend-content {
    width: 34%;
    box-sizing: border-box;
}

.recommend-content-img {
    position: relative;
    width: 73%;
    margin: 0 auto;
    margin-bottom: 6%;
}

.recommend-content-img::after {
    position: absolute;
    color: #fff;
    font-size: 2.77vw;
    bottom: -1vw;
    left: 50%;
    transform: translateX(-50%);
    font-family: "DM Serif Text", serif;
}
.recommend-content-img1::after {
    content: '01';
}
.recommend-content-img2::after {
    content: '02';
}
.recommend-content-img3::after {
    content: '03';
}
.recommend-content-img img{
    border-radius: 50%;
}
.recommend-content-text p {
    display: inline-flex;
    background-color: #fff;
    padding: 0 0.5vw;
    letter-spacing: 0.02rem;
}

/* 

reason
*/

.reason {
    width: 100%;
    margin-top: 6.2%;
    text-align: center;
}

.reason-inner {
    margin-bottom: 3.7%;
    position: relative;
}
.reason-inner::after {
    position: absolute;
    content: '';
    background-image: url(../img/nami.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: -1.1vw;
    left: 27.7vw;
    width: 30vw;
    height: 0.7vw;
}
.reason-container {
    width: 100%;
    background-color: #00275C;
    display: inline-flex;
    box-sizing: border-box;
    padding: 0.4% 4vw;
    position: relative;
    justify-content: center;
}
.reason-content {
    color: #fff;
    background-color: #073676;
    display: inline-flex;
    margin: 0.5% 0;
    padding: 3.3% 0vw 3.3% 7.2vw;
    clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%);
    text-align: start;
    flex-direction: column;
    font-weight: 700;
    width: 21.4vw;
}

.reason-content-1 {
    position: absolute;
    left: 8.7vw;
    top: 0.3vw;
    padding-top: 2.9%;
    padding-bottom: 3.2%;
}
.reason-content-2 {
    padding: 3.3% 2vw 3.3% 5.2vw;
}

.reason-content-3 {
    position: absolute;
    left: 62.8vw;
    top: 0.3vw;
    padding: 3vw 0vw 3.1vw 9vw;
}

/* 

voice

*/
.voice {
    width: 100%;
}
.voice-inner {
    box-sizing: border-box;
    padding: 5.8% 0 0 0;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.voice-title {
    position: relative;
}
.voice-title::before {
    position: absolute;
    content: '';
    background-image: url(../img/Voice.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: -1.7vw;
    left: 50%;
    transform: translateX(-50%);
    width: 20vw;
    height: 5vw;
}

.voice-container {
    width: 100%;
    margin-top: 2.7%;
}
.voice-content {
    width: 100%;
    display: flex;
}
.voice-content-text {
    width: 50%;
    box-sizing: border-box;
    padding: 3.6% 2vw 2% 8.3vw;
    text-align: start;
}
.voice-content-img {
    width: 50%;
}
.voice-content-img img {
    display: block;
}
.voice-content:nth-child(2) .voice-content-img {
    order: 1;
}
.voice-content:nth-child(2) .voice-content-text {
    order: 2;
    padding: 3.6% 7.8vw 3% 2.7vw;
}
.voice-content-text h5 {
    background-color: #073676;
    color: #fff;
    display: inline;
    box-sizing: border-box;
    padding: 0.9% 1.3vw;
    font-weight: 700;
    font-family: "Noto Serif JP", sans-serif;
}
.voice-content-text h3 {
    text-align: start;
    display: inline-block;
    color: #073676;
    margin-top: 1vw;
    margin-bottom: -0.2vw;
    font-size: 2.17vw;
}
.marker-class {
    display: inline-block; /* 幅をテキストに合わせる */
    background: linear-gradient(transparent 40%, #fff264 0%); /* マーカー風の色 */
    padding: 0 5px; /* 文字の左右に少し余白を追加 */
    font-weight: 900; /* 強調 */
}

.voice-content p {
    margin-top: 4%;
    padding-top: 7%;
    line-height: 1.6;
    letter-spacing: 0.03rem;
    padding-right: 1vw;
}
.border-class {
    position: relative;

}
.border-class::before {
    position: absolute;
    content: '';
    top: 0.5vw;
    left: 0;
    width: 3.7vw;
    height: 2px;
    background-color: #073676;
}

.voice-content-text .voice-text-2 {
    margin-top: -4%;
}

/* 

step

*/

.step {
    width: 100%;
    background-color: #073676;
    box-sizing: border-box;
    padding: 3% 0 1.1% 0;
}
.step-title {
    text-align: center;
}

.step-content-num h4 {
    margin-bottom: -27%;
}

.step-title h3 {
    color: #fff;
}
.step-title h3 span {
    color: #FFF264;
}
.step-container {
    width: 68.75%;
    margin: 0 auto;
    margin-top: 2%;
}
.step-content {
    width: 100%;
    display: flex;
    background-color: #fff;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4%;
    position: relative;
}

.step-content:nth-child(1)::after,
.step-content:nth-child(2)::after {
    position: absolute;
    content: '';
    background-image: url(../img/white_arrow.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: -2.4vw;
    left: 50%;
    transform: translateX(-50%);
    width: 4vw;
    height: 2vw;
} 
.step-content-num {
    color: #073676;
    box-sizing: border-box;
    padding: 0 3vw;
    font-family: "DM Serif Text", serif;
}
.step-content-text {
    text-align: start;
    width: 61%;
}
.step-content-text h3 {
    margin-top: -1%;
    margin-bottom: 2%;
}
.step-content-text p {
    font-weight: 500;
    letter-spacing: 0.05rem;
}
.step-content-img {
    width: 24.24%;
}
.step-content-img img {
    display: block;
}


/* 

consultation-last

*/
.consultation-last {
    background-color: #073676;
    box-sizing: border-box;
    padding: 4% 0;
}

@media screen and (max-width:450px) {
    h2 {
        font-size: 26px;
    }
    
    h3 {
        font-size: calc(40/450*54vw);
        letter-spacing: 0.1rem;
        font-family: "Noto Serif JP", sans-serif;
    }
    
    h4 {
        font-size: calc(28/450*54vw);
        font-family: "Noto Serif JP", sans-serif;
        font-style: italic;
    }
    
    .consul-p {
        font-size: 14px;
    }
    
    h5 {
        font-size: 14px;
    }
    
    p {
        font-size: 14px;
        letter-spacing: -0.1rem;
        font-family: "Noto Sans JP", sans-serif;
    }
    
    
    h3 .span-font-size {
        font-size: calc(48/450*54vw);
    }
    
    .section-title h3 {
        font-size: calc(36/450*54vw);
    }
    .invi-maru p,
    .invi-inner-text p,
    .recommend-content-text p,
    .voice-content-text h5,
    .voice-content p {
        font-size: 14px;
    }
    .step-content-text p {
        font-size: 10px;
    }
    .reason-content p {
        font-size: calc(30/450*54vw);
        font-family: "Noto Serif JP", sans-serif;
        letter-spacing: 0.24rem;
        line-height: 1.7;
    }
    
    .step-content-num p {
        font-size: calc(55/450*54vw);
        font-family: "Noto Serif JP", sans-serif;
        font-weight: 700;
        font-style: italic;
    }
    .mv-pc {
        display: none;
    }
    .mv-sp {
        display: block;
    }

    .br-pc {
        display: none;
    }
    .br-sp {
        display: inline;
    }

    /* 
    invitation
    */
    .invi-inner {
        width: 91.14vw;
        height: auto;
    }
    .invi-text-container {
        flex-direction: column;
        width: 100%;
        margin-bottom: 2%;
    }
    .invi-text-content {
        align-items: center;
    }
    .invi-text-content:nth-child(1) {
        margin-right: 0vw;
        margin-left: 0vw;
        margin-bottom: 2%;
    }
    .invi-maru {
        width: 76px;
        height: 70px;
        margin-right: 3vw;
    }
    .invi-inner-text {
        width: 86%;
        margin-left: 0;
    }
    .invi-inner-text p {
        letter-spacing: 0.03rem;
    }
    .contact-btn {
        width: 100%;
    }


    /* 
    
    inner

    */
    .inner {
        background-image: none;
    }
    /* 
    consultation
    */
    .consultation-inner {
        width: 100%;
    }
    .consultation {
        background-image: url(../img/consul_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        padding-bottom: 15vw;
        position: relative;
        z-index: 2;
    }
    .consultation-title-wrap::before {
        height: 12.1vw;
        top: 1.4vw;
        left: 20.7vw;
        }
    .consultation-title-wrap::after {
        height: 12.1vw;
        top: 1.2vw;
        right: 22.4vw;
    }
    .consultation-fa-img {
        width: 4vw;
    }
    .fukidasi::after {
        font-size: 2vw;
        bottom: -2.5vw;
    }

    /* 

    later

    */
    .later {
        padding: 16vw 0;
        background-image: url(../img/later_bg.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        z-index: 0;
        top: -16vw;
        margin-bottom: -16vw;

    }
    .later-container {
        width: 100%;
        margin-left: 0%;
    }
    .content-star:nth-child(2) .later-content {
        display: flex;
        justify-content: flex-end;
        margin-left: 0vw;
    }
    .later-content h4 {
        width: calc(243/450*100vw);
    }
    .later-content::after {
        display: none;
    }
    .content-star {
        position: relative;
        margin-left: 0;
    }
    .content-star::after {
        content: '';
        position: absolute;
        background-image: url(../img/later_star.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        top: 0.8vw;
        right: 25.6vw;
        width: 7.8vw;
        height: 8vw;
    }
    .content-star:nth-child(2)::after {
        top: 0.8vw;
        right: -0.4vw;
        width: 7.8vw;
        height: 8vw;
    }
   
    /* 
    recommend
    */
    .recommend-inner {
        width: 92%;
    }
    .recommend-container {
        flex-direction: column;
    }
    .recommend-content {
        width: 100%;
    }
    .recommend-content-img::after {
        font-size: 8.88vw;
        bottom: -4vw;
    }
    .recommend-content-text {
        width: 100%;
        margin-bottom: 5vw;
    }

    /* 
    reason
    */

    .reason-inner::after {
        bottom: -3vw;
        left: 9vw;
        width: 54vw;
        height: 4.5vw;
    }
    .reason-container {
        width: 100%;
        flex-direction: column;
        box-sizing: border-box;
        padding: 4% 0;
    }
    .reason-content {
        width: 90vw;
        align-items: center;
        padding: 3.3vw;
    }
    .reason-content-1,
    .reason-content-3 {
        position: static;
    }

    /* 
    voice
    */
    .voice-content {
        flex-direction: column;
        width: 100%;
    }
    .voice-content-text,
    .voice-content-img {
        width: 92%;
        margin: 0 auto;
    }
    .voice-content-text h3 {
        font-size: 4.9vw;
    }
    .voice-content-text {
        padding: 2% 0;
    }
    .voice-content-img {
        margin-bottom: 4%;
    }
    .border-class::before {
        width: 30vw;
    }
    .voice-content:nth-child(2) .voice-content-img {
        order: 2;
    }
    .voice-content:nth-child(2) .voice-content-text {
        order: 1;
        padding: 3.6% 0vw 3% 0vw;
    }

    /* 
    
    step
    
    */
    .step-container {
        width: 92%;
    }
    .step-content {
        box-sizing: border-box;
        padding: 1%;
    }
}