@charset "utf-8";

/* 全体 */
:root {
    --serif: "Noto Serif", serif;
    --sans: "Noto Sans JP", sans-serif;
    --roboto: "Roboto", sans-serif;
    --corinthia: "Corinthia", cursive;
    --advent: "Advent Pro", sans-serif;
    --mplus: "M PLUS Rounded 1c", sans-serif;
    --primary-color: #60A8B0;
    --accent-color: #D8B890;
}

* {
    box-sizing: border-box;
    appearance: none;
    padding: 0;
    margin: 0;
}

html,
body {
    margin: 0;
    padding: 0;
    color: #555;
    font-family: var(--serif);
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    word-break: normal;
    overflow-wrap: break-word;
    font-feature-settings: "palt";
}

img {
    width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
}

li {
    list-style: none;
}

.abr {
    display: inline-block;
}

.no_wbr {
    word-break: normal;
    overflow-wrap: normal;
}

@media (min-width: 1280px) {
    .pc_none {
        display: none !important;
    }

    .tb_only {
        display: none !important;
    }
}

@media (max-width: 1279px) {
    .pc_only {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1279px) {
    .tb_none {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .sp_only {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .sp_none {
        display: none !important;
    }

    .tb_only {
        display: none !important;
    }
}

/*ふわっと出現*/
.fade-up,
.fade-left,
.fade-right {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-left {
    transform: translateX(-50px);
}

.fade-right {
    transform: translateX(50px);
}

.show {
    opacity: 1;
    transform: translate(0, 0);
}

.fadein01 {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(5px);
    transition: .7s;
}

.fadein01.go {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}


.block_inner {
    width: 1280px;
    max-width: 95%;
    margin: 0 auto;
}

@media screen and (max-width:1279px) {
    .block_inner {
        max-width: 93.125%;
    }
}

@media screen and (max-width:799px) {
    .block_inner {
        max-width: 88%;
    }
}



section {
    overflow: hidden;
    position: relative;
}

.section_inner {
    margin: auto;
}

@media (max-width: 1279px) {}

@media (max-width: 799px) {}

.section_en {
    color: #bbb;
    font-size: 87px;
    font-family: 'Corinthia';
    line-height: 1;
    position: relative;
    margin-bottom: 0.5em;
}

.section_en::after {
    content: "";
    position: absolute;
    display: block;
    width: 0.5em;
    height: 1px;
    background-color: #aaa;
    left: 0;
    bottom: 0em;
}

.section_title {
    font-weight: 400;
    line-height: 200%;
    font-size: clamp(40px, 5.21vw + 8px, 56px);
    line-height: 1.2;
    margin-bottom: 1em;
}

.section_title-c {
    color: var(--primary-color);
}

.section_title-sub {
    font-size: .8em;
}

.section_title:has(+ .section_subtitle) {
    margin-bottom: 16px;
}

.section_subtitle {
    font-size: 48px;
}

.section_subtitle-c {
    color: var(--accent-color);
}

.section_subtitle-sub {
    font-size: 0.8em;
}


.section_lead {
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 200%;
    margin-bottom: 64px;
    text-align: center;
    font-family: var(--sans);
}


@media (max-width: 1279px) {
    .section_title {
        font-size: 44px;
    }

    .section_subtitle {
        font-size: 40px;
    }

}

@media (max-width: 767px) {
    .section_title {
        font-size: 9vw;
    }

    .section_subtitle {
        font-size: max(23px, 5.5vw);
    }

}
