/* フォント読み込み */
@font-face {
    font-family: "myfontHiraW3";
    src: url("../font/NotoSansJP-Medium.ttf") format("truetype");
}

@font-face {
    font-family: "myfontHiraW6";
    src: url("../font/NotoSansJP-SemiBold.ttf") format("truetype");
}

@font-face {
    font-family: "myfontRobotThin";
    src: url("../font/Roboto-Thin.ttf") format("truetype");
}

@font-face {
    font-family: "myfontRobotRegular";
    src: url("../font/Roboto-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "myfontRobotBold";
    src: url("../font/Roboto-Bold.ttf") format("truetype");
}

body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "myfontHiraW3", sans-serif;
    color: #595757;
}

main {
    padding-top: 225px;
}

img {
    width: 100%;
}

.content-wrapper {
    max-width: 1000px;
    margin: 0 auto;
}

.content-wrapper--lg {
    max-width: 1100px;
    margin: 0 auto;
}

.outer {
    margin: 0 5%;
}

.display-pc {
    display: block;
}

.display-pc--inline {
    display: inline;
}

.display-sp,
.display-sp--inline {
    display: none;
}

@media screen and (max-width: 1221px) {
    main {
        padding-top: calc((225 / 1220) * 100vw);
    }

    .content-wrapper {
        max-width: auto;
        width: calc((1000 / 1220) * 100vw);
    }

    .content-wrapper--lg {
        max-width: auto;
        width: calc((1100 / 1220) * 100vw);
    }
}

@media screen and (max-width:750px) {
    main {
        padding-top: calc((80 / 750)* 100vw);
    }
}

@media screen and (max-width:480px) {
    main {
        padding-top: 37px;
    }

    .content-wrapper {
        width: 100%;
    }

    .content-wrapper--lg {
        width: 100%;
    }

    .display-pc,
    .display-pc--inline {
        display: none;
    }

    .display-sp {
        display: block;
    }

    .display-sp--inline {
        display: inline;
    }
}

/* ページメインビジュアル */
/* ************************************************************* */
.page-mv {
    background-size: cover;
    margin-bottom: 77px;
}

.page-mv__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1200 / 270;
}

.page-mv__txt-content {
    text-align: center;
    color: #fff;
}

.page-mv__heading-ja {
    font-size: 36px;
    margin-bottom: 10px;
    letter-spacing: 0.3em;
}

.page-mv__heading-ja--m-btm-lg {
    margin-bottom: 30px;
}

.page-mv__heading-en {
    font-size: 44px;
    font-family: "myfontRobotRegular", sans-serif;
}

.page-mv__heading--bold {
    font-family: "myfontRobotBold", sans-serif;
}


@media screen and (max-width: 1221px) {
    .page-mv {
        margin-bottom: calc((77 / 1220) * 100vw);
    }

    .page-mv__heading-ja {
        font-size: clamp(18px, calc((36 / 1220) * 100vw), 36px);
        margin-bottom: calc((10 / 1220) * 100vw);
    }

    .page-mv__heading-en {
        font-size: clamp(24px, calc((44 / 1220) * 100vw), 44px);
    }

    .page-mv__heading-ja--m-btm-lg {
        margin-bottom: calc((20 / 1220) * 100vw);
    }

}

@media screen and (max-width:750px) {
    .mv__txt-content {
        text-align: center;
    }

    /* ページメインビジュアル */
    /* ************************************************************* */
    .page-mv {
        margin-bottom: 25px;
    }

    .page-mv__heading--bold {
        display: block;
        margin-top: 4px;
    }
}

@media screen and (max-width:480px) {
    .outer {
        margin: 0 4%;
    }

    /* ページメインビジュアル */
    /* ************************************************************* */
    .page-mv__inner {
        aspect-ratio: auto;
        height: 122px;
    }

    .page-mv__heading-ja {
        margin-bottom: 7px;
        font-size: 15px;
    }

    .page-mv__heading-en {
        font-size: 25px;
    }

}


/* ページタイトル */
/* ************************************************************* */
.page-title {
    margin-bottom: 53px;
}

.page-title h2 {
    text-align: left;
    padding-bottom: 15px;
    border-bottom: 1px solid #005BAB;
}

.page-title__en {
    font-size: 32px;
    line-height: 1em;
    margin-bottom: 26px;
    font-family: "myfontRobotRegular", sans-serif;
}

.page-title__ja {
    font-size: 24px;
    line-height: 1em;
    font-family: "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "myfontHiraW6", sans-serif;
}

.page-title__bold {
    font-family: "myfontRobotBold", sans-serif;
}

@media screen and (max-width: 1221px) {
    .page-title {
        margin-bottom: calc((53 / 1220) * 100vw);
    }

    .page-title h2 {
        padding-bottom: calc((15 / 1220) * 100vw);
    }

    .page-title__en {
        font-size: clamp(20px, calc((32 / 1220) * 100vw), 32px);
        margin-bottom: calc((26 / 1220) * 100vw);
    }

    .page-title__ja {
        font-size: clamp(16px, calc((24 / 1220) * 100vw), 24px);
    }
}

@media screen and (max-width:480px) {
    .page-title {
        margin-bottom: 16px;
    }
    
    .page-title h2 {
        padding-bottom: 10px;
    }

    .page-title__en {
        display: none;
    }

    .page-title__ja {
        font-size: 15px;
    }
}

/* リード文 */
/* ************************************************************* */
.page-read {
    text-align: center;
    margin-bottom: 42px;
}

.page-read__main {
    font-size: 25px;
    margin-bottom: 50px;
    color: #005BAB;
    line-height: 1.8em;
    font-family: "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "myfontHiraW6", sans-serif;
}

.page-read__detail {
    font-size: 19px;
    line-height: 1.8em;
    color: #595757;
}

@media screen and (max-width: 1221px) {
    .page-read {
        margin-bottom: calc((42 / 1220) * 100vw);
    }

    .page-read__main {
        font-size: clamp(16px, calc((25 / 1220) * 100vw), 25px);
        margin-bottom: calc((50 / 1220) * 100vw);
    }

    .page-read__detail {
        font-size: clamp(12px, calc((19 / 1220) * 100vw), 19px);
    }
}

@media screen and (max-width:480px) {
    .page-read {
        margin-bottom: 30px;
    }

    .page-read__main {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .page-read__detail {
        font-size: 13px;
    }
}

/* ページセクション見出し */
/* ************************************************************** */
.page-heading {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    padding-left: 20px;
    width: 100%;
    height: 50px;
    border: 1px solid #898989;
    font-size: 24px;
    line-height: 1em;
    color: #595757;
    font-family: "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "myfontHiraW6", sans-serif;
}

@media screen and (max-width: 1221px) {
    .page-heading {
        margin-bottom: calc((15 / 1220) * 100vw);
        padding-left: calc((20 / 1220) * 100vw);
        height: calc((50 / 1220) * 100vw);
        min-height: 30px;
        font-size: clamp(16px, calc((24 / 1220) * 100vw), 25px);
    }
}

@media screen and (max-width:480px) {
    .page-heading {
        margin-bottom: 11px;
        padding-left: 16px;
        height: 35px;
        font-size: 15px;
    }
}