    @charset "utf-8";
    @import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville&family=Noto+Sans+JP:wght@500&display=swap');

    body {
        color: #000;
        font-feature-settings: "palt";
        letter-spacing: 1px;
        font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    }

    .clearfix {
        display: block;
    }

    .sp {
        display: none;
    }

    /* header */
    header {
        width: 100%;
        background-color: #002100;
    }

    header div {
        width: 1200px;
        margin: 0 auto;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-align-items: center;
        align-items: center;
        padding: 20px 0;
    }

    /* fv */
    #fv {
        width: 100%;
        background-image: url(../images/fv_bg.webp);
        background-position: center;
        padding: 80px 0;
        background-size: cover;
        text-align: center;
    }

    /* box01 */
    #box01 {
        width: 100%;
        background-image: url(../images/box01_bg.webp);
        background-position: center;
        padding: 60px 0;
    }

    #box01 section {
        width: 1080px;
        margin: 0 auto;
        color: #fff;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    .row {
        flex-direction: row-reverse;
    }

    #box01 section figure {
        width: 333px;
    }

    #box01 section div {
        width: 680px;
    }

    #box01 section h2 {
        font-size: 36px;
    }

    #box01 section p {
        font-size: 16px;
        line-height: 2;
    }

    /* box02 */
    #box02 {
        overflow: hidden;
        position: relative;
    }

    .loop__box {
        display: flex;
        width: 100vw;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .loop__item {
        flex: 0 0 auto;
        font-size: 72px;
        white-space: nowrap;
        padding-right: 10px;
        padding-left: 10px;
        color: #fff;
        -webkit-text-stroke: 1px #dddddd;
        font-weight: bold;
    }

    .loop__item:nth-child(odd) {
        animation: loop 50s -25s linear infinite;
    }

    .loop__item:nth-child(even) {
        animation: loop2 50s linear infinite;
    }

    @keyframes loop {
        0% {
            transform: translateX(100%);
        }

        to {
            transform: translateX(-100%);
        }
    }

    @keyframes loop2 {
        0% {
            transform: translateX(0);
        }

        to {
            transform: translateX(-200%);
        }
    }

    #box02 section {
        width: 1200px;
        margin: 0 auto;
        border-left: #dddddd 1px solid;
        border-right: #dddddd 1px solid;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-around;
        justify-content: space-around;
    }

    #box02 section figure {
        border-right: #dddddd 1px solid;
        padding: 100px 50px;
        width: 40%;
        box-sizing: border-box;
    }

    #box02 section div {
        padding: 100px 50px 150px;
        width: 60%;
        box-sizing: border-box;
    }

    #box02 section div h2 {
        font-family: 'Libre Baskerville', serif;
        font-weight: normal;
        font-size: 45px;
        margin: 0 0 30px;
        position: relative;
        border-bottom: 1px solid #ccc;
    }

    #box02 section div h2::after {
        position: absolute;
        bottom: -1px;
        left: 0;
        z-index: 2;
        content: '';
        width: 30%;
        height: 1px;
        background-color: #002100;
    }

    #box02 section div h2 span {
        display: block;
        font-size: 18px;
        font-family: 'Noto Sans JP', sans-serif;
    }

    #box02 section div p:first-of-type {
        margin: 0 0 30px 0;
    }

    #box02 section div p:last-of-type {
        text-align: right;
    }

    /* box03 */
    #box03 {
        background-image: url(../images/box03_bg.webp);
        background-position: center top;
        background-repeat: no-repeat;
        padding: 475px 0 0 0;
    }

    #box03 article {
        width: 1080px;
        margin: 0 auto;
    }

    #box03 article h2 {
        font-family: 'Libre Baskerville', serif;
        font-weight: normal;
        font-size: 45px;
        margin: 0 0 30px;
        position: relative;
        border-bottom: 1px solid #ccc;
    }

    #box03 article h2::after {
        position: absolute;
        bottom: -1px;
        left: 0;
        z-index: 2;
        content: '';
        width: 150px;
        height: 1px;
        background-color: #002100;
    }

    #box03 article h2 span {
        display: block;
        font-size: 18px;
        font-family: 'Noto Sans JP', sans-serif;
    }

    #box03_wrapper {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    #box03_wrapper div {
        width: 342px;
    }

    #box03_wrapper div figure {
        margin: 0 0 20px 0;
    }

    #box03_wrapper div p:first-of-type {
        margin: 0 0 .5em;
    }

    #box03_wrapper div p span {
        display: inline-block;
        background-color: #2cb22c;
        color: #fff;
        font-size: 18px;
        padding: 0 1em;
    }

    #box03_wrapper div p:last-of-type {
        font-weight: bold;
    }

    #box03_btn {
        text-align: center;
        padding: 50px 0 100px;
    }

    /* box04 */
    #box04 {
        margin: 0 auto 100px;
        width: 1080px;
    }

    #box04 h2 {
        font-family: 'Libre Baskerville', serif;
        font-weight: normal;
        font-size: 45px;
        margin: 0 0 30px;
        position: relative;
        border-bottom: 1px solid #ccc;
    }

    #box04 h2::after {
        position: absolute;
        bottom: -1px;
        left: 0;
        z-index: 2;
        content: '';
        width: 150px;
        height: 1px;
        background-color: #002100;
    }

    #box04 h2 span {
        display: block;
        font-size: 18px;
        font-family: 'Noto Sans JP', sans-serif;
    }

    /* box05 */
    #box05 {
        margin: 0 auto 100px;
        width: 1080px;
    }

    #box05 h2 {
        font-family: 'Libre Baskerville', serif;
        font-weight: normal;
        font-size: 45px;
        margin: 0 0 30px;
        position: relative;
        border-bottom: 1px solid #ccc;
    }

    #box05 h2::after {
        position: absolute;
        bottom: -1px;
        left: 0;
        z-index: 2;
        content: '';
        width: 150px;
        height: 1px;
        background-color: #002100;
    }

    #box05 h2 span {
        display: block;
        font-size: 18px;
        font-family: 'Noto Sans JP', sans-serif;
    }

    #box05 ul {
        display: -webkit-flex;
        display: flex;
    }

    /* footer */
    #sub_footer_top {
        width: 100%;
        background-color: #002100;
        text-align: center;
        padding: 50px 0;
    }

    #sub_footer_top h2 {
        color: #fff;
        font-size: 24px;
        margin: 0 0 30px;
    }

    #sub_footer_top_btn {
        width: 500px;
        margin: 0 auto;
    }

    #sub_footer_top_btn a {
        background-color: #fff;
        display: block;
        width: 100%;
        height: auto;
        text-decoration: none;
        color: #000;
        font-size: 36px;
        padding: 10px 0;
    }

    .youtube {
        width: 1080px;
        margin: 0 auto 20px;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    .youtube div {
        width: 520px;
    }

    footer {
        width: 1200px;
        margin: 0 auto;
        padding: 30px 0;
        text-align: left;
    }


    footer section {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        font-size: 14px;
    }

    footer section h2 {
        font-size: 24px;
        font-weight: normal;
    }

    footer section a {
        text-decoration: none;
        color: #000;
    }

    /* member */
    main#member {
        background-image: url(../images/members_top.webp);
        background-position: center top;
        background-repeat: no-repeat;
        padding: 395px 0 0 0;
    }

    main#occupation01 {
        background-image: url(../images/occupation01_bg.webp);
        background-position: center top;
        background-repeat: no-repeat;
        padding: 395px 0 0 0;
    }

    main#occupation02 {
        background-image: url(../images/occupation02_bg.webp);
        background-position: center top;
        background-repeat: no-repeat;
        padding: 395px 0 0 0;
    }

    main#occupation03 {
        background-image: url(../images/occupation03_bg.webp);
        background-position: center top;
        background-repeat: no-repeat;
        padding: 395px 0 0 0;
    }

    main#occupation04 {
        background-image: url(../images/occupation04_bg.webp);
        background-position: center top;
        background-repeat: no-repeat;
        padding: 395px 0 0 0;
    }

    main#member .wrapper,
    main#occupation01 .wrapper,
    main#occupation02 .wrapper,
    main#occupation03 .wrapper,
    main#occupation04 .wrapper {
        width: 1200px;
        margin: 0 auto;
        box-sizing: border-box;
        padding: 80px 60px;
    }

    main#member h2,
    main#occupation01 h2,
    main#occupation02 h2,
    main#occupation03 h2,
    main#occupation04 h2 {
        font-family: 'Libre Baskerville', serif;
        font-weight: normal;
        font-size: 60px;
        margin: 0 0 1em;
        border-bottom: #ddd 1px solid;
    }

    main#member h2 span,
    main#occupation01 h2 span,
    main#occupation02 h2 span,
    main#occupation03 h2 span,
    main#occupation04 h2 span {
        display: block;
        font-size: 18px;
        font-family: 'Noto Sans JP', sans-serif;
    }

    main#member section {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-align-items: stretch;
        align-items: stretch;
    }

    main#member section article {
        width: 343px;
        margin: 0 0 50px;
    }

    main#member section article figure {
        position: relative;
        margin: 0 0 20px;
    }

    main#member section article figure span {
        position: absolute;
        bottom: 0;
        right: 0;
    }

    main#member section article h3 {
        font-weight: normal;
        font-size: 24px;
        border-bottom: #000 1px solid;
        display: inline-block;
        margin: 0 0 20px;
    }

    main#member section article ul li {
        display: inline-block;
        background-color: #2cb22c;
        color: #fff;
        padding: 3px 20px;
        margin: 0 5px 5px 0;
    }

    .modal {
        display: none;
        /* 初期状態では非表示 */
        position: fixed;
        /* 画面の上に重ねる */
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        /* 半透明の背景 */
        z-index: 1;
        /* 他の要素より上に表示 */
    }

    /* モーダルコンテンツのスタイル */
    .modal-content {
        background-color: #fff;
        margin: 15% auto;
        padding: 20px;
        border: 1px solid #888;
        width: 1000px;
        position: relative;
        box-sizing: border-box;
    }

    .close-button {
        position: absolute;
        /* 絶対位置に設定 */
        top: 10px;
        /* 上端からの距離 */
        right: 10px;
        /* 右端からの距離 */
        color: #aaa;
        font-size: 28px;
        font-weight: bold;
        cursor: pointer;
    }

    .close-button:hover,
    .close-button:focus {
        color: black;
        text-decoration: none;
    }

    .profile {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    main#member section article .profile_main {
        width: 580px;
    }

    main#member section article .profile_main h3 {
        display: block;
        padding: 0 0 10px;
    }

    main#member section article .profile_main h3 span {
        display: block;
        font-size: 16px;
    }

    main#member section article .profile_main h4 {
        font-size: 18px;
    }

    main#member section article .profile_main div {
        background-color: #f8f8f8;
        padding: 1em;
        border-radius: 5px;
        margin: 0 0 10px;
        box-sizing: border-box;
    }

    main#member section article .profile_main>div:first-of-type {
        background-color: transparent;
        padding: 0;
        margin: 0 0 30px;
    }

    main#member section article .profile_main div.profile_box_min {
        background-color: transparent;
        padding: 0;
        margin: 0;
        border-radius: 0;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    main#member section article .profile_main div.profile_box_min div {
        width: 49%;
    }

    #occupation {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    #occupation article {
        width: 400px;
    }

    .occupation_box {
        background-color: #f8f8f8;
        padding: 1em;
        margin: 0 0 2em;
    }

    #occupation>div {
        width: 630px;
    }

    #occupation h3 {
        font-size: 1.5em;
    }

    #day {
        width: 100%;
    }

    #day th {
        width: 30%;
        padding: 1em;
        border: #ccc 1px solid;
        background-color: #2cb22c;
        box-sizing: border-box;
        color: #fff;
        text-align: center;
        vertical-align: middle;
    }

    #day th.bgk {
        background: #002100;
    }

    #day td {
        width: 70%;
        padding: 1em;
        border: #ccc 1px solid;
        box-sizing: border-box;
    }

    #day td h4 {
        color: #2cb22c;
        border-bottom: #2cb22c 2px solid;
        font-size: 1.1em;
        margin: 0 0 .5em;
    }

    #day td p {
        margin: 0 0 1em;
    }

    #day td p:last-of-type {
        margin: 0;
    }

    /*スマホ
------------------------------*/

    @media screen and (max-width: 750px) {
        .pc {
            display: none;
        }

        .sp {
            display: block;
        }

        header div {
            width: 100%;
            margin: 0 auto;
            display: -webkit-flex;
            display: flex;
            -webkit-justify-content: space-between;
            justify-content: space-between;
            -webkit-align-items: center;
            align-items: center;
            padding: 10px;
            box-sizing: border-box;
        }

        /* fv */
        #fv {
            width: 100%;
            background-image: none;
            background-position: center;
            padding: 0;
            background-size: cover;
            text-align: center;
        }

        /* box01 */
        #box01 {
            width: 100%;
            background-image: url(../images/box01_bg.webp);
            background-position: center;
            padding: 2em 0;
            background-size: cover;
        }

        #box01 section {
            width: 90%;
            margin: 0 auto;
            color: #fff;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        .row {
            flex-direction: row-reverse;
        }

        #box01 section figure {
            width: 100%;
        }

        #box01 section div {
            width: 100%;
        }

        #box01 section h2 {
            font-size: 25px;
        }

        #box01 section p {
            font-size: 16px;
            line-height: 2;
        }

        /* box02 */
        #box02 {
            overflow: hidden;
            position: relative;
        }

        .loop__box {
            display: flex;
            width: 100vw;
            position: absolute;
            bottom: 0;
            left: 0;
        }

        .loop__item {
            flex: 0 0 auto;
            font-size: 30px;
            white-space: nowrap;
            padding-right: 10px;
            padding-left: 10px;
            color: #fff;
            -webkit-text-stroke: 1px #dddddd;
            font-weight: bold;
        }

        .loop__item:nth-child(odd) {
            animation: loop 50s -25s linear infinite;
        }

        .loop__item:nth-child(even) {
            animation: loop2 50s linear infinite;
        }

        @keyframes loop {
            0% {
                transform: translateX(100%);
            }

            to {
                transform: translateX(-100%);
            }
        }

        @keyframes loop2 {
            0% {
                transform: translateX(0);
            }

            to {
                transform: translateX(-200%);
            }
        }

        #box02 section {
            width: 90%;
            margin: 0 auto;
            border-left: none;
            border-right: none;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        #box02 section figure {
            border-right: none;
            padding: 0 0 1em;
            width: 100%;
            box-sizing: border-box;
        }

        #box02 section div {
            padding: 2em 0 50px;
            width: 100%;
            box-sizing: border-box;
        }

        #box02 section div h2 {
            font-family: 'Libre Baskerville', serif;
            font-weight: normal;
            font-size: 30px;
            margin: 0 0 30px;
            position: relative;
            border-bottom: 1px solid #ccc;
        }



        #box02 section div h2 span {
            font-size: 14px;
        }

        #box02 section div p:first-of-type {
            margin: 0 0 30px 0;
        }

        #box02 section div p:last-of-type {
            text-align: right;
        }

        /* box03 */
        #box03 {
            background-image: none;
            background-position: center top;
            background-repeat: no-repeat;
            padding: 0;
        }

        #box03 figure {
            margin: 0 0 2em;
        }

        #box03 article {
            width: 90%;
            margin: 0 auto;
        }

        #box03 article h2 {
            font-family: 'Libre Baskerville', serif;
            font-weight: normal;
            font-size: 28px;
            margin: 0 0 30px;
            position: relative;
            border-bottom: 1px solid #ccc;
        }

        #box03 article h2::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            z-index: 2;
            content: '';
            width: 30%;
            height: 1px;
            background-color: #002100;
        }

        #box03 article h2 span {
            display: block;
            font-size: 14px;
            font-family: 'Noto Sans JP', sans-serif;
        }

        #box03_wrapper {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
            -webkit-justify-content: space-between;
            justify-content: space-between;
        }

        #box03_wrapper div {
            width: 48%;
            margin: 0 0 2em;
        }

        #box03_wrapper div figure {
            margin: 0 0 5px 0;
        }

        #box03_wrapper div p:first-of-type {
            margin: 0 0 .5em;
        }

        #box03_wrapper div p span {
            display: inline-block;
            background-color: #2cb22c;
            color: #fff;
            font-size: 12px;
            padding: 0 1em;
        }

        #box03_wrapper div p:last-of-type {
            font-weight: bold;
            font-size: 14px;
        }

        #box03_btn {
            text-align: center;
            padding: 0 0 3em;
            width: 70%;
            margin: 0 auto;
        }

        /* box04 */
        #box04 {
            margin: 0 auto 3em;
            width: 90%;
        }

        #box04 h2 {
            font-family: 'Libre Baskerville', serif;
            font-weight: normal;
            font-size: 28px;
            margin: 0 0 1em;
            position: relative;
            border-bottom: 1px solid #ccc;
        }

        #box04 h2::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            z-index: 2;
            content: '';
            width: 30%;
            height: 1px;
            background-color: #002100;
        }

        #box04 h2 span {
            display: block;
            font-size: 14px;
            font-family: 'Noto Sans JP', sans-serif;
        }

        /* box05 */
        #box05 {
            margin: 0 auto 3em;
            width: 90%;
        }

        #box05 h2 {
            font-family: 'Libre Baskerville', serif;
            font-weight: normal;
            font-size: 28px;
            margin: 0 0 1em;
            position: relative;
            border-bottom: 1px solid #ccc;
        }

        #box05 h2::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            z-index: 2;
            content: '';
            width: 30%;
            height: 1px;
            background-color: #002100;
        }

        #box05 h2 span {
            display: block;
            font-size: 14px;
            font-family: 'Noto Sans JP', sans-serif;
        }

        #box05 ul {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
        }

        #box05 ul li {
            width: 50%;
        }

        /* footer */
        #sub_footer_top {
            padding: 2em 1em;
            box-sizing: border-box;
        }

        #sub_footer_top h2 {
            color: #fff;
            font-size: 18px;
            margin: 0 0 30px;
        }

        #sub_footer_top_btn {
            width: 100%;
            margin: 0 auto;
        }

        #sub_footer_top_btn a {
            background-color: #fff;
            display: block;
            width: 100%;
            height: auto;
            text-decoration: none;
            color: #000;
            font-size: 24px;
            padding: 5px 0;
        }

        .youtube {
            width: 100%;
            margin: 0 auto 1em;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        .youtube div {
            width: 100%;
            margin: 0 0 1em;
        }

        footer {
            width: 100%;
            margin: 0 auto;
            padding: 2em 1em;
            text-align: left;
            box-sizing: border-box;
        }


        footer section {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
            font-size: 14px;
        }

        footer section div {
            margin: 0 0 2em;
        }

        footer section h2 {
            font-size: 24px;
            font-weight: normal;
        }

        footer section a {
            text-decoration: none;
            color: #000;
        }

        /* member */
        main#member,
        main#occupation01,
        main#occupation02,
        main#occupation03,
        main#occupation04 {
            background-image: none;
            background-position: center top;
            background-repeat: no-repeat;
            padding: 0;
        }

        main#member .wrapper,
        main#occupation01 .wrapper,
        main#occupation02 .wrapper,
        main#occupation03 .wrapper,
        main#occupation04 .wrapper {
            width: 90%;
            margin: 0 auto;
            box-sizing: border-box;
            padding: 2em 0;
        }

        main#member h2,
        main#occupation01 h2,
        main#occupation02 h2,
        main#occupation03 h2,
        main#occupation04 h2 {
            font-family: 'Libre Baskerville', serif;
            font-weight: normal;
            font-size: 28px;
            margin: 0 0 1em;
        }

        main#member h2 span,
        main#occupation01 h2 span,
        main#occupation02 h2 span,
        main#occupation03 h2 span,
        main#occupation04 h2 span {
            display: block;
            font-size: 14px;
            font-family: 'Noto Sans JP', sans-serif;
        }

        main#member section article {
            width: 48%;
            margin: 0 0 2em;
        }

        main#member section article figure {
            position: relative;
            margin: 0 0 .5em;
        }

        main#member section article figure span {
            position: absolute;
            bottom: 0;
            right: 0;
            width: 30px;
            height: 30px;
        }

        main#member section article h3 {
            font-weight: normal;
            font-size: 18px;
            border-bottom: #000 1px solid;
            display: inline-block;
            margin: 0 0 .5em;
        }

        main#member section article ul li {
            display: inline-block;
            background-color: #2cb22c;
            color: #fff;
            padding: 3px 10px;
            margin: 0 5px 5px 0;
            font-size: 12px;
        }

        /* モーダルコンテンツのスタイル */
        .modal-content {
            background-color: #fff;
            margin: 1em auto;
            padding: 1em;
            border: 1px solid #888;
            width: 90%;
            position: relative;
            box-sizing: border-box;
            height: 95%;
            overflow-y: auto;
        }

        .close-button {
            position: absolute;
            /* 絶対位置に設定 */
            top: 10px;
            /* 上端からの距離 */
            right: 10px;
            /* 右端からの距離 */
            color: #aaa;
            font-size: 14px;
            font-weight: bold;
            cursor: pointer;
        }

        .profile {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        main#member section article .profile_main {
            width: 100%;
        }

        main#member section article .profile_main div.profile_box_min {
            background-color: transparent;
            padding: 0;
            margin: 0;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        main#member section article .profile_main div.profile_box_min div {
            width: 100%;
        }

        #occupation {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        #occupation article {
            width: 100%;
        }

        .occupation_box {
            background-color: #f8f8f8;
            padding: 1em;
            margin: 0 0 2em;
        }

        #occupation>div {
            width: 100%;
        }

        #occupation h3 {
            font-size: 1.5em;
        }
    }