@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic&display=swap');

:root {
    --kaku: "Noto Sans JP", sans-serif;
    --maru: "Kosugi Maru", sans-serif;
}

html {
    font-size: 62.5%;
    /* 16px * 62.5% = 10px */
    width: 100%;
    box-sizing: border-box;
}

body {
    color: #000;
    font-weight: 500;
    font-size: 1.6rem;
    font-family: var(--kaku);
    line-height: 1.5;
    text-align: center;
}

img {
    width: 100%;
}

a {
    transition: 0.5s;
}

a:hover {
    opacity: 0.5;
}




header {
    width: 90%;
    max-width: 1630px;
    padding: 25px 0;
    margin: 0 auto;
}

header h1 {
    width: 450px;
}


@media (max-width: 600px) {
    header h1 {
        width: 70%;
    }
}





.sec1 {
    background: url(images/sec1/bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    padding: min(6.1349vw, 100px) 0;
}

.sec1__wapper {
    width: 90%;
    max-width: 1630px;
    margin: 0 auto;
    color: #FFFFFF;
}

.sec1__wapper__h2 {
    font-size: min(7.2392vw, 11.6rem);
    font-weight: 500;
}

.sec1__wapper__p1 {
    font-size: min(5.3987vw, 8.8rem);
    margin-bottom: 30px;
}

.sec1__wapper__p1 strong {
    font-size: min(7.2392vw, 11.6rem);
    vertical-align: bottom;
    margin-right: 2.5%;
    margin-bottom: -0.5%;
    display: inline-block;
}

.sec1__wapper__p1 span {
    font-size: min(4.6012vw, 7.5rem);
    font-weight: 400;
    margin-left: 2.5%;
}

.sec1__wapper__center {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: min(4.907vw, 80px);
    margin-bottom: min(1.8404vw, 30px);
}

.sec1__wapper__center__left {
    display: flex;
    border: solid 2px #FFFFFF;
    flex: 1;
}

.sec1__wapper__center__left__h3 {
    writing-mode: vertical-rl;
    background: #FFFFFF;
    color: #000000;
    font-size: min(3.4355vw, 5.6rem);
    letter-spacing: 10%;
}

.sec1__wapper__center__left__ul {
    padding: 30px 5%;
    text-align: left;
    font-size: min(2.822vw, 4.6rem);
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sec1__wapper__center__right {
    width: 15%;
}

.sec1__wapper__center__right__p1 {
    aspect-ratio: 1/1;
    width: 100%;
    border-radius: 50%;
    background-image: radial-gradient(#ffffff, #faad17 50%, #f05a24);
    color: #007362;
    font-size: min(4.2944vw, 7rem);
    line-height: 1.1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    letter-spacing: 0.5;
    margin-bottom: min(1.8404vw, 30px);
}

.sec1__wapper__center__right__p2 {
    font-size: min(2.147vw, 3.5rem);
    line-height: 1.2;
    font-weight: 400;
}

.sec1__wapper__strong1 {
    line-height: 1.2;
    font-size: min(3.6809vw, 6rem);
    font-weight: 500;
}

.sec1__wapper__p2 {
    line-height: 1.2;
    font-size: min(2.4539vw, 4rem);
    margin-bottom: min(1.8404vw, 30px);
}

.sec1__wapper__strong2 {
    display: block;
    line-height: 1.2;
    font-size: min(3.6809vw, 6rem);
    font-weight: 500;
    margin-bottom: min(1.8404vw, 30px);
}

.sec1__wapper__a {
    width: fit-content;
    display: block;
    margin: 0 auto;
    background: #f05a24;
    font-size: min(3.6809vw, 6rem);
    padding: min(1.2269vw, 20px) min(6.1349vw, 100px);
    font-weight: 400;
    border-radius: 200px;
}

.sec1__wapper__a:first-of-type {
    margin-bottom: min(6.1349vw, 100px);
}

.sec1__br {
    display: none;
}

.sec1__wapper__center__left__ul h4 {
    color: #f05a24;
}


@media (max-width: 600px) {
    .sec1__br {
        display: block;
    }

    .sec1__wapper__p1 span {
        margin-left: 0;
    }

    .sec1__wapper__center {
        flex-direction: column-reverse;
        align-items: flex-end;
        gap: 0;
    }

    .sec1__wapper__center__right {
        margin-top: -25%;
        margin-right: 10%;
    }

    .sec1__wapper__center__left {
        width: 100%;
    }

    .sec1__wapper__center__left {
        flex-direction: column;
        border: none;
        width: fit-content;
        margin: 0 auto;
    }

    .sec1__wapper__center__left__h3 {
        writing-mode: initial;
        background: transparent;
        text-align: left;
        color: #FFFFFF;
    }

    .sec1__wapper__center__left__ul {
        padding: 0;
        font-size: min(3.4355vw, 5.6rem);
    }

    .sec1__wapper__center__left__ul h4 {
        color: #f05a24;
    }

    .sec1__wapper__center__left__h3 .sec1__br {
        display: inline-block;
        margin-right: 5px;
    }

    .sec1__wapper__a {
        position: relative;
        border-radius: 15px;
        padding: 10px 50px;
    }

    .sec1__wapper__a::after {
        content: "";
        position: absolute;
        top: 45%;
        right: 10px;
        transform: translateY(-50%);
        display: block;
        width: 12px;
        height: 12px;
        border-right: solid 2px #FFFFFF;
        border-bottom: solid 2px #FFFFFF;
        rotate: -45deg;
    }
}




.sec2 {
    padding: min(6.1349vw, 100px) 0;
}

.sec2__wapper {
    width: 90%;
    max-width: 1630px;
    margin: 0 auto;
}

.sec2__wapper__h2 {
    text-align: left;
    color: #FFFFFF;
    font-size: min(3.6809vw, 6rem);
    padding: 0 2.5%;
    background-image: linear-gradient(90deg, #0070ab, #50948d);
    font-family: var(--maru);
    margin-bottom: min(4.6012vw, 75px);
}

.sec2__wapper__contents {
    width: 100%;
    padding: min(4.6012vw, 75px) 5%;
    background: rgba(0, 168, 156, 0.15);
    display: flex;
}

.sec2__wapper__contents__picture {
    width: 25%;
}

.sec2__wapper__contents__text {
    flex: 1;
    line-height: 1.1;
    text-align: left;
}

.sec2__wapper__contents__text__h3 {
    font-size: min(3.4355vw, 5.6rem);
    margin-bottom: min(1.8404vw, 30px);
    font-family: var(--maru);
    color: #007362;
    font-weight: 500;
}

.sec2__wapper__contents__text__strong {
    display: block;
    line-height: 1.1;
    font-size: min(3.0674vw, 5rem);
    font-weight: 400;
}

.sec2__wapper__contents__text__small {
    display: block;
    line-height: 1.1;
    font-size: min(1.8404vw, 3rem);
    font-weight: 400;
    margin-bottom: min(3.0674vw, 50px);
}

.sec2__wapper__contents__text__p {
    font-size: min(1.7177vw, 2.8rem);
    font-weight: 400;
}

.sec2__sp__image {
    display: none;
}


@media (max-width: 600px) {
    .sec2__wapper__contents__picture {
        display: none;
    }

    .sec2__sp {
        display: flex;
        align-items: center;
        margin-bottom: min(3.0674vw, 50px)
    }

    .sec2__sp__image {
        display: block;
        width: 30%;
    }

    .sec2__sp__right {
        width: 70%;
    }

    .sec2__wapper__contents__text__h3 {
        font-size: 4.5vw;
    }

    .sec2__wapper__contents__text__p {
        font-size: 3vw;
    }

    .sec2__wapper__contents__text__strong {
        font-size: 4vw;
    }

    .sec2__wapper__contents__text__small {
        font-size: 2.4vw;
    }
}




.sec3 {
    padding: min(6.1349vw, 100px) 0;
}

.sec3__wapper {
    width: 90%;
    max-width: 1630px;
    margin: 0 auto;
}

.sec3__wapper__h2 {
    text-align: left;
    color: #FFFFFF;
    font-size: min(3.6809vw, 6rem);
    padding: 0 2.5%;
    background-image: linear-gradient(90deg, #0070ab, #50948d);
    font-family: var(--maru);
    margin-bottom: min(4.6012vw, 75px);
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.line {
    position: relative;
    border-bottom: dashed 4px #000;
}

/* .line::after {
    content: "";
    display: block;
    width: 100%;
    position: absolute;
    top: 12.5px;
    left: 0;
    border-bottom: dashed 5px #000;
} */

.line th,
.line td {
    padding: 5px 0;
}

.space th,
.space td {
    padding: 5px 0;
}


td,
th {
    padding: 1%;
}

.sec3__wapper__table {
    width: 95%;
    margin: 0 auto;
    font-family: var(--maru);
    font-size: min(2.822vw, 4.6rem);
    text-align: left;
    margin-bottom: min(4.6012vw, 75px);
}

.first td {
    background: #f9e6d8;
}

.second td {
    background: #98cbd3;
}

.third td {
    background: #b7d7f0;
}

.force td {
    background: #98cbd3;
}

.sec3__wapper__table tbody tr td:nth-of-type(2) {
    font-size: min(2.147vw, 3.5rem);
    vertical-align: middle;
}

.sec3__bottom {
    width: 95%;
    margin: 0 auto;
    text-align: left;
}

.sec3__bottom h3 {
    font-size: min(2.822vw, 4.6rem);
    font-weight: 500;
    margin-bottom: min(1.8404vw, 30px);
}

.sec3__bottom ul {
    width: 95%;
    margin: 0 auto;
    font-size: min(2.4539vw, 4rem);
    font-weight: 400;
    display: flex;
    flex-direction: column;
    gap: min(1.8404vw, 30px);
}

.border__top {
    height: 6px;
    background: #000;
}


@media (max-width: 600px) {
    .line {
        border-bottom: dashed 2px #000;
    }
}






.sec4 {
    padding: min(6.1349vw, 100px) 0;
}

.sec4__wapper {
    width: 90%;
    max-width: 1630px;
    margin: 0 auto;
    text-align: left;
}

.sec4__wapper__h2 {
    text-align: left;
    color: #FFFFFF;
    font-size: min(3.6809vw, 6rem);
    padding: 0 2.5%;
    background-image: linear-gradient(90deg, #0070ab, #50948d);
    font-family: var(--maru);
    margin-bottom: min(4.6012vw, 75px);
}

.sec4__wapper__ul1 {
    width: 95%;
    display: flex;
    flex-direction: column;
    gap: min(1.8404vw, 30px);
    font-size: min(2.4539vw, 4rem);
    margin: 0 auto min(1.8404vw, 30px);
    font-weight: 400;
    line-height: 1.2;
}

.sec4__wapper__ul2 {
    width: 90%;
    margin: 0 auto;
    line-height: 1.1;
    font-size: min(2.147vw, 3.5rem);
    list-style: disc;
    margin-bottom: min(4.6012vw, 75px);
}

.sec4__wapper__bottom {
    text-align: center;
}

.sec4__wapper__bottom__strong1 {
    line-height: 1.2;
    font-size: min(3.6809vw, 6rem);
    font-weight: 500;
    color: #f05a24;
}

.sec4__wapper__bottom__strong2 {
    display: block;
    line-height: 1.2;
    font-size: min(3.6809vw, 6rem);
    font-weight: 500;
    margin-bottom: min(1.8404vw, 30px);
    color: #f05a24;
}


.sec4__wapper__bottom__p {
    line-height: 1.2;
    font-size: min(2.4539vw, 4rem);
    margin-bottom: min(1.8404vw, 30px);
    color: #f05a24;
}

.sec4__wapper__bottom__a {
    width: fit-content;
    display: block;
    margin: 0 auto;
    background: #f05a24;
    font-size: min(3.6809vw, 6rem);
    padding: min(1.2269vw, 20px) min(6.1349vw, 100px);
    font-weight: 400;
    border-radius: 200px;
    color: #FFFFFF;
}

.sec4__wapper__bottom__a:first-of-type {
    margin-bottom: min(6.1349vw, 100px);
}


@media (max-width: 600px) {
    .sec4__wapper__bottom__a {
        position: relative;
        border-radius: 15px;
        padding: 10px 50px;
    }

    .sec4__wapper__bottom__a::after {
        content: "";
        position: absolute;
        top: 45%;
        right: 10px;
        transform: translateY(-50%);
        display: block;
        width: 12px;
        height: 12px;
        border-right: solid 2px #FFFFFF;
        border-bottom: solid 2px #FFFFFF;
        rotate: -45deg;
    }

    .sec4__wapper__ul1 {
        font-size: 3vw;
    }

    .sec4__wapper__ul2 {
        font-size: 3vw;
    }
}




.sec5 {
    padding: min(6.1349vw, 100px) 0;
}

.sec5__wapper {
    width: 90%;
    max-width: 1630px;
    margin: 0 auto;
    text-align: left;
}

.sec5__wapper__h2 {
    text-align: left;
    color: #FFFFFF;
    font-size: min(3.6809vw, 6rem);
    padding: 0 2.5%;
    background-image: linear-gradient(90deg, #0070ab, #50948d);
    font-family: var(--maru);
    margin-bottom: min(4.6012vw, 75px);
}

.sec5__wapper__contents {
    display: flex;
}

.sec5__wapper__contents__ul {
    width: 55%;
    font-size: min(2.147vw, 3.5rem);
    font-weight: 400;
    display: flex;
    flex-direction: column;
    gap: min(3.0674vw, 50px);
}

.sec5__wapper__contents__ul li:nth-child(3) h3 {
    margin-bottom: min(3.0674vw, 50px);
}

.sec5__wapper__contents__ul li:nth-child(3) p:nth-of-type(1) {
    margin-bottom: min(3.0674vw, 50px);
}

.sec5__wapper__contents__ul a {
    display: block;
    font-size: min(1.2269vw, 2rem);
    margin-bottom: min(3.0674vw, 50px);
    color: #0071bc;
}

.sec5__wapper__contents__map {
    width: 45%;
}


@media (max-width: 600px) {
    .sec5__wapper__contents {
        flex-direction: column;
    }

    .sec5__wapper__contents__ul {
        font-size: 3vw;
        width: fit-content;
        margin: 0 auto 50px;
    }

    .sec5__wapper__contents__map {
        width: 75%;
        margin: 0 auto;
    }

    .sec5__wapper__contents__ul a {
        font-size: 1.2rem;
    }
}





.footer__wapper {
    width: 90%;
    max-width: 1630px;
    padding: min(6.1349vw, 100px) 0;
    margin: 0 auto;
    position: relative;
}

.footer__logo {
    display: block;
    width: 450px;
    margin: 0 auto;
}

.footer__button {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #00a89c;
    color: #FFFFFF;
}

.footer__button::after {
    content: "";
    display: block;
    position: absolute;
    top: 15px;
    left: 30px;
    width: 25px;
    height: 25px;
    border-right: solid 2px #FFFFFF;
    border-bottom: solid 2px #FFFFFF;
    rotate: -135deg;
}


@media (max-width: 600px) {
    .footer__wapper {
        padding-top: 100px;
    }

    .footer__logo {
        width: 70%;
    }
}




.fade {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .5s, transform .5s;
}

.fade.active {
    opacity: 1;
    transform: translateY(0);
}