@charset "Shift-JIS";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&display=swap');
/* ====== common ====== */
.body_wrapper {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #F3F6FA;
}

button, .btn {
    background-color: #006af9;
    color: #ffffff;
    border: none;
    padding: 10px 20px;
}

    button:hover,
    .btn:hover {
        /*        background-color: #003087;
        
        color: #ffffff;*/
    }

button, .btn2 {
    background-color: #003087;
    color: #ffffff;
    border: none;
    padding: 10px 20px;
}


    .btn2:hover {
        background-color: #ffffff;
        color: #003087;
        border: 2px solid #003087;
    }
/*h1, h2, h3, h1 span, h2 span , h3 span {
    color: #006af9;
}*/
.font-title {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-weight: 700;
    letter-spacing: .03em;
}

.font-title-nrw {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-weight: 900;
    letter-spacing: -.03em;
}

.sub-text {
    color: #999999;
}

.section {
    background-color: #e6e6e6;
    padding: 20px;
}

.NotoSansJP {
    font-family: 'Noto Sans JP', sans-serif;
}

.NotoSerifJP {
    font-family: 'Noto Serif JP', serif;
}

.Montserrat {
    font-family: 'Montserrat', sans-serif !important;
}

.Barlow {
    font-family: 'Barlow', sans-serif;
    font-weight: 500;
}

.ZKGothicA {
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
}

a:hover {
    text-decoration: none !important;
}
/* font size and etc... */
.f-xxs {
    font-size: 0.625rem !important; /* 10px */
}

.f-xs {
    font-size: 0.75rem !important; /* 12px */
}

.f-13px {
    font-size: 0.8125rem !important; /* 13px */
}

.f-sm {
    font-size: 0.875rem !important; /* 14px */
}

.f-md {
    font-size: 1rem !important; /* 16px */
}

.f-lg {
    font-size: 1.125rem !important; /* 18px */
}

.f-xl {
    font-size: 1.25rem !important; /* 20px */
}

.f-xxl {
    font-size: 1.5rem !important; /* 24px */
}

.f-2x {
    font-size: 2rem !important;
}

.f-3x {
    font-size: 3rem !important;
}

.f-4x {
    font-size: 4rem !important;
}

.f-white {
    color: #fff;
}


.f-grey1, .f-lightgrey {
    color: #F8F9FA;
}

.f-grey2 {
    color: #DAD8DA;
}

.f-grey3 {
    color: #A1A5B5;
}

.f-black {
    color: #070600;
}

.f-blue, .f-blue font {
    color: #3772ff;
}

.f-blue2 {
    color: #200770;
}

.f-blue3 {
    color: #140152;
}

.f-mainblue {
    color: #006af9 !important;
}

.f-lightblue {
    color: #8AA5D8 !important;
}

.f-dkblue {
    color: #003087 !important;
}

.f-red {
    color: #FF4000 !important;
}

.f-grad1 {
    color: #3772FF;
    background: -webkit-linear-gradient( 0deg, #3772FF, #140152);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.f-grad2 {
    color: #3772FF;
    background: -webkit-linear-gradient( 0deg, rgba(55, 114, 255, 0.5), #3772FF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.f-grad3 {
    color: #DAD8DA;
    background: -webkit-linear-gradient( 0deg, #DAD8DA, #A1A5B5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.fw-400 {
    font-style: normal;
    font-weight: 400;
}

.fw-500 {
    font-style: normal;
    font-weight: 500;
}

.fw-600 {
    font-style: normal;
    font-weight: 600;
}

.fw-700 {
    font-style: normal;
    font-weight: 700;
}

.fw-900 {
    font-style: normal;
    font-weight: 900;
}

.lh-14 {
    line-height: 1.4 !important;
}

.lh-16 {
    line-height: 1.6 !important;
}

.lh-18 {
    line-height: 1.8 !important;
}

.lh-20 {
    line-height: 2 !important;
}

.w-40 {
    width: 40% !important;
}

.w-45 {
    width: 45% !important;
}

.mw_260 {
    max-width: 260px !important;
}

.mw_300 {
    max-width: 300px !important;
}

.mw_360 {
    max-width: 360px !important;
}

.mw_480 {
    max-width: 480px !important;
}

.mw_600 {
    max-width: 600px !important;
}

.mw_720 {
    max-width: 720px !important;
}

.mw_820 {
    max-width: 820px !important;
}

.mw_960 {
    max-width: 960px !important;
}

.h_400 {
    height: 400px;
}

.h_520 {
    height: 520px;
}

.text-decoration-underline {
    text-decoration: underline;
}

.centercenter {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
}

.flex-wrap-wrap {
    flex-wrap: wrap;
}

.list-style-none {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bg-white-50 {
    background: rgba(255, 255, 255, 0.50);
}

.bg-grad1 {
    background: linear-gradient( 230deg, #140152, #3772FF, #140152) 0% 0% / 300% 300%;
    /*    background: linear-gradient( 90deg, #3772FF, #140152);
    background-size: 180% 180%;*/
    -webkit-animation: grad1 60s ease 0s infinite normal none running;
    -moz-animation: grad1 60s ease 0s infinite normal none running;
    animation: grad1 60s ease 0s infinite normal none running;
}

@-webkit-keyframes grad1 {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 51%
    }

    100% {
        background-position: 0% 50%
    }
}

.bg-grunge-blue {
    background-image: url(/img/bg/subtle_grunge.png);
}

.bg-grad2 {
    background: linear-gradient( 230deg, #140152, #200770, #140152) 0% 0% / 300% 300%;
    -webkit-animation: grad2 60s ease 0s infinite normal none running;
    -moz-animation: grad2 60s ease 0s infinite normal none running;
    animation: grad2 60s ease 0s infinite normal none running;
}

@-webkit-keyframes grad2 {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 51%
    }

    100% {
        background-position: 0% 50%
    }
}

.bg-grad1-cover {
    background: rgba(4, 5, 46, 0.25);
}

.bg-grad3 {
    background: rgb(2,1,10);
    background: linear-gradient(230deg, rgba(2,1,10,0.28) 0%, rgba(2,1,10,0.18) 10%, rgba(2,1,10,0) 35%, rgba(2,1,10,0.35) 85%, rgba(2,1,10,0.7) 100%);
}

.bg-grad4 {
    background: #EFE889;
    background: linear-gradient(230deg, #e1da78 0%, #EFE889 10%, #f5f2c8 35%, #EFE889 85%, #e1da78 100%);
}

.bg-grad-blue {
    background-image: linear-gradient(rgb(0, 71, 179) 0%, rgb(0, 140, 255) 100%);
}

.bg-gravel-08 {
    background-image: url(/img/bg/gravel-08.png);
}

.bg-extra_clean_paper {
    background-image: url(/img/bg/extra_clean_paper.png);
}

.bg-circle-blues {
    background-image: url(/img/bg/circle-blues.png);
}

.bg-circle-blues {
    background-image: url(/img/bg/circle-blues.png);
}

.bg-wall4 {
    background-image: url(/img/bg/wall4.png);
}

.bg-lil_fiber {
    background-image: url(/img/bg/lil_fiber.png);
}

.bg-multiply {
    background-blend-mode: multiply;
}

.bg-normal {
    background-blend-mode: normal;
}
/* --- */
.pc_none {
    display: none;
}

@media (max-width:1024px) {
    .sp_none {
        display: none !important;
    }

    .pc_none {
        display: inline-block;
    }
}

.card-text {
    text-align: justify;
}
/* -------- */
/*@media (min-width: 1200px) {
    .container {
        max-width: 960px;
    }
}*/
select {
    -webkit-appearance: none;
    appearance: none;
}

    select::-ms-expand {
        display: none;
    }

select {
    display: block;
    width: 100%;
    padding: 12px;
    margin: 12px auto;
    background: #FFFFFF;
    border: 1px solid #DED9D6;
    box-sizing: border-box;
    border-radius: 4px;
    background-image: url('/img/svg/expand_more_black_24dp.svg');
    background-repeat: no-repeat;
    background-position: top 12px right 12px;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="url"] {
    display: block;
    width: 100%;
    height: 48px;
    padding: 12px;
    margin: 12px auto;
    background: #FFFFFF;
    border: 1px solid #DED9D6;
    box-sizing: border-box;
    border-radius: 4px;
}

textarea {
    display: block;
    width: 100%;
    padding: 12px;
    margin: 12px auto;
    background: #FFFFFF;
    border: 1px solid #DED9D6;
    box-sizing: border-box;
    border-radius: 4px;
}

.des-radio {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .des-radio input[type=radio] {
        display: none;
    }

    .des-radio li label {
        position: relative;
        top: 0;
        text-align: left;
        padding: 6px;
    }

    .des-radio input[type=radio] + label:before {
        content: "";
        display: inline-block;
        background-size: contain;
        width: 36px;
        height: 24px;
        margin-right: 6px;
        background-image: url(/img/svg/radio_button_unchecked_black_24dp.svg);
        position: relative;
        background-repeat: no-repeat;
        top: 6px;
        left: 6px;
    }

    .des-radio input[type=radio]:checked + label::before {
        background-image: url(/img/svg/radio_button_checked_black_24dp.svg);
    }

    .des-radio input[type=radio]:checked + label {
        border: 1px solid #070600;
    }

    .des-radio li label:hover {
        cursor: pointer;
    }



.des-checkbox {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .des-checkbox input[type=checkbox] {
        display: none;
    }

    .des-checkbox li label {
        position: relative;
        top: 0;
        text-align: left;
        padding: 6px 24px 8px 6px;
    }

    .des-checkbox input[type=checkbox] + label:before {
        content: "";
        display: inline-block;
        background-size: contain;
        width: 36px;
        height: 24px;
        margin-right: 6px;
        background-image: url(/img/svg/checkbox_button_unchecked_black_24dp.svg);
        position: relative;
        background-repeat: no-repeat;
        top: 6px;
        left: 6px;
    }

    .des-checkbox input[type=checkbox]:checked + label::before {
        background-image: url(/img/svg/checkbox_button_checked_black_24dp.svg);
    }

    .des-checkbox input[type=checkbox]:checked + label {
        border: 1px solid #070600;
        border-radius: 8px;
    }

    .des-checkbox li label:hover,
    .des-checkbox label:hover {
        cursor: pointer;
    }


/* ====== des ====== */
* {
    /*    font-family: sans-serif, 'Zen Kaku Gothic Antique', HiraKakuPro-W3,'ヒラギノ角ゴ Pro W3','メイリオ', Meiryo;
    color: #070600;*/
    font-feature-settings: "palt";
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
    letter-spacing: 0.08em;
    font-weight: 400;
    color: rgb(15, 21, 36);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


.bg-yellow {
    background: #FFF255;
}

.bg-blue1 {
    background: #8AA5D8;
}

.bg-blue2, .bg-blue {
    background: #3772FF;
}

.bg-dkblue {
    background: #0047b3;
}

.bg-grey1 {
    background: #F8F9FA;
}

.bg-grey2 {
    background: #DAD8DA;
}

.bg-grey3 {
    background: #A1A5B5;
}

.bg-yellow1 {
    background: #EFE889;
}

.border-top-white {
    border-top: 1px solid #fff;
}

.border-y-grey3 {
    border-top: 1px solid #EBE8E3;
    border-bottom: 1px solid #EBE8E3;
}

.border-grey3 {
    border: 1px solid #EBE8E3;
}

.border-red-3 {
    border: 3px solid #FF4000;
}

.text-x-border {
    display: flex;
    align-items: center;
}

    .text-x-border:before,
    .text-x-border:after {
        content: "";
        height: 1px;
        flex-grow: 1;
        background-color: #DED9D6;
    }

    .text-x-border:before {
        margin-right: 1rem;
    }

    .text-x-border:after {
        margin-left: 1rem;
    }

.btn:focus, .btn.focus {
    outline: 0;
    box-shadow: none;
}

.btn.btn_sm_blue {
    background: rgba(4, 5, 46, 0.20);
    border: 1px solid transparent;
    color: rgba(248, 249, 250, 0.75);
    border-radius: 22px;
    height: 44px;
    min-width: 140px;
    padding: 0 24px;
    line-height: 44px;
    font-weight: 400;
    font-size: 1rem;
    display: inline-block;
    align-items: center;
    text-align: center;
}

    .btn.btn_sm_blue:hover {
        background: rgba(4, 5, 46, 0.40);
        color: rgba(248, 249, 250, 1);
        border: 1px solid rgba(248, 249, 250, 1);
        transition: .3s;
    }

.btn.btn_sm_blue2 {
    background: #003087;
    border: 2px solid transparent;
    color: #FFFFFF;
    border-radius: 22px;
    height: 44px;
    min-width: 140px;
    padding: 0 24px;
    line-height: 40px;
    font-weight: 600;
    font-size: 1rem;
    display: inline-block;
    align-items: center;
    text-align: center;
}

    .btn.btn_sm_blue2:hover {
        transition: .3s;
        color: #FFFFFF;
    }

.btn.btn_lg_blue2 {
    background: rgba(55, 114, 255, 0.65);
    border: 1px solid transparent;
    color: #FAF9F7;
    border-radius: 36px;
    height: 72px;
    min-width: 290px;
    padding: 0 24px;
    line-height: 72px;
    font-weight: 400;
    font-size: 1.5rem;
    display: inline-block;
    align-items: center;
    text-align: center;
}

    .btn.btn_lg_blue2:hover {
        background: rgba(55, 114, 255, 1);
        border: 1px solid rgba(248, 249, 250, 1);
        transition: .3s;
    }

.btn.btn_sm_blue3 {
    background: #ffffff;
    border: 2px solid #003087;
    color: #003087;
    border-radius: 22px;
    height: 44px;
    min-width: 140px;
    padding: 0 24px;
    line-height: 40px;
    font-weight: 600;
    font-size: 1rem;
    display: inline-block;
    align-items: center;
    text-align: center;
}

    .btn.btn_sm_blue3 span {
        color: rgba(248, 249, 250, 0.75);
    }

    .btn.btn_sm_blue3:hover {
        transition: .3s;
    }

.btn.btn_sm_blue4 {
    background: rgba(4, 5, 46, 0.80);
    border: 1px solid rgba(248, 249, 250, 0.4);
    color: rgba(248, 249, 250, 1);
    border-radius: 22px;
    height: 44px;
    min-width: 140px;
    padding: 0 24px;
    line-height: 44px;
    font-weight: 400;
    font-size: 1rem;
    display: inline-block;
    align-items: center;
    text-align: center;
}

    .btn.btn_sm_blue4:hover {
        background: rgba(4, 5, 46, 1);
        color: rgba(248, 249, 250, 1);
        border: 1px solid rgba(248, 249, 250, 1);
        transition: .3s;
    }

.btn.btn_sm_blue4_outline {
    color: rgba(4, 5, 46, 0.80);
    border: 1px solid rgba(4, 5, 46, 0.80);
    border-radius: 22px;
    height: 44px;
    min-width: 140px;
    padding: 0 24px;
    line-height: 44px;
    font-weight: 400;
    font-size: 1rem;
    display: inline-block;
    align-items: center;
    text-align: center;
}

    .btn.btn_sm_blue4_outline:hover {
        color: rgba(4, 5, 46, 1);
        background: rgba(4, 5, 46, 0.05);
        border: 1px solid rgba(4, 5, 46, 1);
        transition: .3s;
    }

.btn.btn_lg_grey2 {
    background: #fff;
    border: 1px solid #DED9D6;
    color: #A1A5B5;
    border-radius: 36px;
    height: 72px;
    min-width: 290px;
    padding: 0 24px;
    line-height: 72px;
    font-weight: 400;
    font-size: 1.5rem;
    display: inline-block;
    align-items: center;
    text-align: center;
}

    .btn.btn_lg_grey2:hover {
        color: #000;
        transition: .3s;
    }

.btn.arw01 {
    background: #FFF255;
    background-image: url('/img/svg/arw01.svg');
    background-repeat: no-repeat;
    background-position: right 24px top 24px;
    border-radius: 4px;
    height: 72px;
    min-width: 290px;
    padding: 0 76px 0 56px;
    line-height: 76px;
    font-weight: bold;
    font-size: 1.5rem;
    /* or 38px */
    display: inline-block;
    align-items: center;
    text-align: center;
}

.btn.arw02 {
    background: #FFF255;
    background-image: url('/img/svg/arw01.svg');
    background-repeat: no-repeat;
    background-position: right 24px top 9px;
    border-radius: 4px;
    height: 44px;
    padding: 0 76px 0 56px;
    line-height: 44px;
    border: 1px solid #FFF255;
    font-weight: bold;
    font-size: 1rem;
    /* or 38px */
    display: inline-block;
    align-items: center;
    text-align: center;
}


.btn.arw03 {
    background: #FFF255;
    background-image: url('/img/svg/arw01.svg');
    background-repeat: no-repeat;
    background-position: right 24px top 15px;
    border-radius: 4px;
    height: 56px;
    min-width: 290px;
    padding: 0 76px 0 56px;
    line-height: 56px;
    font-weight: bold;
    font-size: 1rem;
    /* or 38px */
    display: inline-block;
    align-items: center;
    text-align: center;
}

.btn.btn_sm_yellow {
    background: #FFF255;
    border: 1px solid #FFF255;
    border-radius: 4px;
    height: 44px;
    min-width: 160px;
    padding: 0 24px;
    line-height: 44px;
    font-weight: bold;
    font-size: 1.125rem;
    /* or 38px */
    display: inline-block;
    align-items: center;
    text-align: center;
}

.btn.btn_sm_bk {
    background: #FFF;
    border: 1px solid #070600;
    border-radius: 4px;
    height: 44px;
    min-width: 160px;
    padding: 0 24px;
    line-height: 44px;
    font-weight: bold;
    font-size: 1.125rem;
    /* or 38px */
    display: inline-block;
    align-items: center;
    text-align: center;
}

.btn.btn_xs_bk {
    background: #FFF;
    border: 1px solid #070600;
    border-radius: 4px;
    height: 30px;
    padding: 0 12px;
    line-height: 30px;
    font-size: 0.75rem;
    /* or 38px */
    display: inline-block;
    align-items: center;
    text-align: center;
}

.btn.btn_xs_grey1 {
    background: #FFF;
    border: 1px solid #8E867E;
    color: #8E867E;
    border-radius: 4px;
    height: 24px;
    padding: 0 12px;
    line-height: 24px;
    font-size: 0.75rem;
    /* or 38px */
    display: inline-block;
    align-items: center;
    text-align: center;
}

.btn.login {
    background: #FFF;
    background-image: url('/img/svg/icon_login.svg');
    background-repeat: no-repeat;
    background-position: left 12px top 12px;
    border-radius: 4px;
    border: 1px solid #070600;
    height: 44px;
    min-width: 160px;
    padding: 0 24px 0 50px;
    line-height: 44px;
    font-weight: bold;
    font-size: 1rem;
    /* or 38px */
    display: inline-block;
    align-items: center;
    text-align: center;
}

/*.btn.logout {
    background: #FFF;
    border-radius: 4px;
    border: 1px solid #070600;
    height: 44px;
    min-width: 160px;
    padding: 0 50px 0 24px;
    line-height: 44px;
    font-weight: bold;
    font-size: 0.875rem;

    display: inline-block;
    align-items: center;
    text-align: center;
}*/
.btn.btn-default-bk {
    background: #FFF;
    color: #140152;
    border-radius: 4px;
    border: 1px solid #140152;
    height: 44px;
    display: block;
    padding: 0 24px;
    line-height: 44px;
    font-weight: bold;
    font-size: 1rem;
    align-items: center;
    text-align: center;
}

.btn.btn-default-grey {
    background: #FFF;
    border-radius: 4px;
    border: 1px solid #8E867E;
    color: #8E867E;
    height: 44px;
    display: block;
    padding: 0 24px;
    line-height: 44px;
    font-weight: bold;
    font-size: 1rem;
    align-items: center;
    text-align: center;
}

.btn.btn-default-red {
    background: #FFF;
    border-radius: 4px;
    border: 1px solid #FF4000;
    color: #FF4000;
    height: 44px;
    display: block;
    padding: 0 24px;
    line-height: 44px;
    font-weight: bold;
    font-size: 1rem;
    align-items: center;
    text-align: center;
}

.btn.btn-default-yel {
    background: #FFF255;
    border: 1px solid #FFF255;
    border-radius: 4px;
    height: 44px;
    display: block;
    padding: 0 24px;
    line-height: 44px;
    font-weight: bold;
    font-size: 1rem;
    align-items: center;
    text-align: center;
}

    .btn.btn-default-yel.h56 {
        height: 56px;
        line-height: 56px;
    }

.btn.btn-default-blue {
    background: #8AA5D8;
    border: 1px solid #8AA5D8;
    border-radius: 4px;
    height: 44px;
    display: block;
    padding: 0 24px;
    line-height: 44px;
    font-weight: bold;
    font-size: 1rem;
    align-items: center;
    text-align: center;
}

    .btn.btn-default-blue.h56 {
        height: 56px;
        line-height: 56px;
    }

.btn.grey4 {
    background: #FAF9F7;
    border-radius: 4px;
    border: 1px solid #EBE8E3;
    height: 72px;
    min-width: 290px;
    padding: 0 76px 0 56px;
    line-height: 76px;
    font-weight: normal;
    font-size: 1.25rem;
    /* or 38px */
    display: inline-block;
    align-items: center;
    text-align: center;
}

.btn.btn-mini-bk {
    background: #FFF;
    border-radius: 4px;
    border: 1px solid #070600;
    height: 30px;
    display: block;
    padding: 0 24px;
    line-height: 30px;
    font-weight: bold;
    font-size: 0.875rem;
    align-items: center;
    text-align: center;
}

.btn.btn-menu-bk {
    background: #FFF;
    color: #140152;
    border-radius: 36px;
    border: 1px solid #140152;
    padding: 14px 24px;
    margin: 8px auto;
    display: block;
    font-weight: bold;
    font-size: 1rem;
    align-items: center;
    text-align: center;
}

.btn.btn-menu-grey {
    background: #FFF;
    border-radius: 4px;
    color: #8E867E;
    border: 1px solid #8E867E;
    padding: 14px 24px;
    margin: 8px auto;
    display: block;
    font-weight: bold;
    font-size: 1rem;
    align-items: center;
    text-align: center;
}

.share-icon {
    width: 36px;
}


.rounded-8 {
    border-radius: 8px;
}

.rounded-upper-8 {
    border-radius: 8px 8px 0 0;
}

.rounded-lower-8 {
    border-radius: 0 0 8px 8px;
}

.msg_err {
    display: block;
    color: #FF4000;
    font-size: 0.75rem;
    line-height: 20px;
    margin-bottom: 8px;
    background: url(/img/svg/icon_attention.svg);
    background-repeat: no-repeat;
    text-indent: 18px;
    background-position: top 2px left 0;
}

.tag_mini_blk {
    display: inline-block;
    font-weight: bold;
    font-size: 12px;
    line-height: 16px;
    color: #FFFFFF;
    margin: 0px 8px;
    padding: 0 6px;
    background: #200770;
    border-radius: 2px;
    height: 16px;
    bottom: 2px;
    position: relative;
}

.tag_mini_yellow {
    display: inline-block;
    font-weight: 700;
    font-size: 12px;
    line-height: 16px;
    color: #070600;
    margin: 0px 8px;
    padding: 0 6px;
    background: #FFF255;
    border-radius: 2px;
    height: 16px;
    bottom: 2px;
    position: relative;
}

.tag_mini_grey {
    display: inline-block;
    font-weight: bold;
    font-size: 12px;
    line-height: 16px;
    color: #BCB4AC;
    margin: 0px 8px;
    padding: 0 6px;
    background: #FAF9F7;
    border-radius: 2px;
    height: 16px;
    bottom: 2px;
    position: relative;
}

.tag-yel {
    color: #070600;
    font-weight: 500;
    background: #FFF255;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.5rem;
    display: inline-flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 2px 7px;
    margin-bottom: 6px;
    border: 1px solid #FFF255;
    box-sizing: border-box;
    border-radius: 4px;
    top: -1px;
    position: relative;
}

.tag-date {
    color: #3772ff;
    display: block;
    font-size: 2.5rem;
    border: 0;
}

.icon_home {
    position: relative;
    bottom: 2px;
}

/* nav */
.header {
    position: relative;
    height: 80px;
}


.navbar-brand img {
    display: inline-block;
    width: 160px;
}

.navbar-light .navbar-toggler {
    border-color: rgba(0,0,0,0);
}

.navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23003087' stroke-width='3' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

button.navbar-toggler:focus {
    outline: none;
}

.nav_catch {
    line-height: 48px;
    margin-left: 1rem;
    display: inline-block;
}

ul {
    list-style: none;
}

nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

    nav ul li {
        display: inline-block;
        font-weight: 700;
        margin: auto 10px;
        padding: 0;
        width: auto;
    }

        nav ul li a {
            font-weight: 400;
            display: block;
            height: 56px;
            width: 100%;
            text-align: center;
            line-height: 56px;
            position: relative;
            color: #fff;
        }

            nav ul li a:hover {
            }

            nav ul li a::after {
                position: absolute;
                bottom: 0;
                left: 50%;
                content: '';
                width: 0;
                height: 1px;
                background-color: #3772FF;
                transition: .3s;
                -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
            }

            nav ul li a:hover::after {
                width: 100%;
            }

    nav ul.nav-set li a::after {
        background-color: transparent;
    }

/** nav new 250330**/
@media (min-width: 1200px) {
    .navbar-expand-xl > .container, .navbar-expand-xl > .container-fluid {
        padding: 1rem 3rem 0.9rem;
        top: 24px;
        z-index: 100;
        min-height: 6rem;
        backdrop-filter: blur(5px);
        background: rgba(255, 255, 255, 0.85);
        transition: min-height 0.5s, background 0.5s;
        border-radius: 0.6rem;
    }

    .navbar-expand-xl {
        height: 80px;
    }

    nav ul li a {
        color: #003087;
    }
}

/*dialog*/
.dialog-des {
    width: 100% !important;
    max-width: 500px !important;
}

/*reg*/
.stepwizard-step p {
    margin-top: 10px;
}

.stepwizard-row {
    display: table;
    width: 100%;
    position: relative;
}



.stepwizard-step button[disabled] {
    opacity: 1 !important;
    filter: alpha(opacity=100) !important;
}

.stepwizard-row:before {
    top: 14px;
    bottom: 0;
    position: absolute;
    content: " ";
    width: 100%;
    height: 1px;
    background-color: #ccc;
    z-index: 0;
}

.stepwizard-step {
    display: inline-block;
    text-align: center;
    position: relative;
    width: 33%;
}


.btn-circle {
    width: 30px;
    height: 30px;
    text-align: center;
    padding: 6px 0;
    font-size: 12px;
    line-height: 1.428571429;
    border-radius: 15px;
}

.reg-validation {
    background: #FF4000;
    width: 100%;
    padding: 16px;
    display: block;
    text-align: center;
    margin-bottom: 50px;
}

    .reg-validation ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

        .reg-validation ul li {
            color: #ffffff;
            font-size: 0.875rem;
            line-height: 1.8;
            font-weight: 500;
        }

.step {
    position: relative;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .step li {
        position: relative;
        list-style-type: none;
        text-align: center;
        text-transform: uppercase;
        width: 25%;
        font-weight: 500;
        font-size: 0.875rem;
        color: #DED9D6;
        counter-increment: steps;
    }

        .step li:before {
            display: block;
            width: 26px;
            height: 26px;
            margin: 7px auto 10px auto;
            content: '';
            line-height: 26px;
            font-size: 12px;
            text-align: center;
            border-radius: 50%;
            background-color: #F4F2EE;
            content: counter(steps);
        }

        .step li:after {
            position: absolute;
            z-index: -1;
            top: 19px;
            left: -50%;
            width: 100%;
            height: 2px;
            content: '';
            background-color: #F4F2EE;
        }

        .step li:first-child:after {
            content: none;
        }

        .step li.crnt,
        .step li.comp {
            color: #070600;
        }

            .step li.crnt:before,
            .step li.comp:before {
                background-color: #3772ff;
                color: #F8F9FA;
            }

            .step li.crnt:after,
            .step li.comp:after {
                background-color: #3772ff;
            }


.draftbtn.floating {
    border: 0;
    position: fixed;
    left: 0;
    bottom: 0;
    background: #3772ff;
    color: #F8F9FA;
    border-radius: 0;
    height: 72px;
    font-size: 1.25rem;
}

.reg-msg {
    background: #FF4000;
    color: #ffffff !important;
    font-weight: bold;
    width: 100%;
    padding: 16px;
    display: block;
    text-align: center;
}

    .reg-msg:empty {
        display: none !important;
    }

.wrap_regall div {
    position: relative;
}

.textmonidisp {
    color: #2ba1ff;
    position: absolute;
    top: -24px;
    right: 5px;
}

    .textmonidisp:after {
        content: '文字'; /*文字*/
        font-size: 10px;
    }

    .textmonidisp:before {
        content: '現在'; /*現在*/
        font-size: 10px;
    }

.wrap_sibouriyuu .textmonidisp,
.wrap_textmoni0 .textmonidisp {
    top: 0;
}

.wrap_textmoni15 .textmonidisp {
    top: 15px;
}

.wrap_shikakujouhou .textmonidisp,
.wrap_textmoni31 .textmonidisp {
    top: 31px;
}

.des-checkbox.skill_tag label {
    padding: 0 10px 5px 0;
}

.reg_ex {
    color: #8E867E;
    font-size: 0.75rem;
}

.reg_select_shibou {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}

    .reg_select_shibou li {
        list-style: none;
        display: inline-flex;
        height: 120px;
        width: 46%;
        text-align: center;
        margin: 0 2%;
    }

        .reg_select_shibou li label div:hover {
            cursor: pointer;
        }

        .reg_select_shibou li label {
            width: 100%;
        }

            .reg_select_shibou li label div {
                height: 90px;
                width: 100%;
                align-items: center;
                display: flex;
                border-radius: 4px;
                border: 1px solid #DED9D6;
            }

                .reg_select_shibou li label div img {
                    margin: auto;
                }

    .reg_select_shibou input[type="radio"] {
        display: none;
    }

        .reg_select_shibou input[type="radio"]:checked + label div {
            border: 1px solid #070600;
        }

.reg_select_sex {
    display: flex;
    margin: 0;
    padding: 0;
}

    .reg_select_sex li {
        display: inline-flex;
        height: 48px;
        width: calc( 50% - 9px);
        margin: 0 2%;
        padding: 0;
    }

        .reg_select_sex li label {
            width: 100%;
            height: 48px;
            border-radius: 4px;
            border: 1px solid #DED9D6;
            background: #fff;
        }


        .reg_select_sex li:first-child {
            margin: 0 7px 4px 0;
        }

        .reg_select_sex li:nth-child(2) {
            margin: 0 0 4px 7px;
            text-align: right;
        }

.reg_select_bunri {
    display: block;
    margin: 0;
    padding: 0;
}

    .reg_select_bunri li {
        display: inline-block;
        height: 48px;
        margin: 12px 4% 6px 0;
        padding: 0;
    }

        .reg_select_bunri li label {
            width: 100%;
            height: 48px;
            padding-right: 24px;
            border-radius: 4px;
            border: 1px solid #DED9D6;
        }

.select-sotsunen1 {
    display: inline-block;
    width: calc( 55% - 50px );
}

.select-sotsunen2 {
    display: inline-block;
    width: calc( 45% - 50px );
}

.col2-textbox input[type="text"]:first-child {
    width: calc( 50% - 9px);
    margin-right: 6px;
    margin-bottom: 4px;
}

.col2-textbox input[type="text"]:nth-child(2) {
    width: calc( 50% - 9px);
    margin-left: 5px;
    margin-bottom: 4px;
}

.col3-textbox-ymd select:first-child {
    width: calc( 33.333333% - 12px);
    margin-right: 6px;
    margin-bottom: 4px;
    display: inline-block;
}

.col3-textbox-ymd select:nth-child(2),
.col3-textbox-ymd select:nth-child(3) {
    width: calc( 33.333333% - 44px);
    margin-left: 5px;
    margin-bottom: 4px;
    display: inline-block;
}

.col3-textbox-tel input[type="text"] {
    width: calc( 100% / 3 - 12px );
    display: inline-block;
}

.des-checkbox.kinmuchi li {
    display: inline-block;
}

div.plevel {
    text-align: center;
    width: 100%;
    margin: 0;
    padding: 3px 0px 0px 0px;
    background-color: #eeeeee;
}

div.plevel2 {
    width: 100%;
    text-align: left;
    margin: 0;
    padding: 3px 0;
    background-color: #ffffff;
}

.removeThis {
    display: none;
}

.plevel-tag {
    background-color: #2ba1ff;
    padding: 4px 8px;
    margin: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
    display: inline-block;
}

    .plevel-tag span.pgs {
        color: #fff;
        font-weight: 500;
        font-size: 14px;
    }

.pgdel {
    color: #04406f;
    font-weight: 900;
    font-size: 16px;
}

.prselect li label {
    padding-right: 24px;
    padding-bottom: 10px;
    border-radius: 4px;
}
/*  .s_01 .accordion_one  */
.s_01 .accordion_one {
    max-width: 1024px;
    margin: 0 auto;
}

    .s_01 .accordion_one .accordion_header {
        background-color: #db0f2f;
        color: #fff;
        font-size: 26px;
        font-weight: bold;
        padding: 20px 11%;
        text-align: center;
        position: relative;
        z-index: +1;
        cursor: pointer;
        transition-duration: 0.2s;
    }

        .s_01 .accordion_one .accordion_header:hover {
            opacity: .8;
        }

        .s_01 .accordion_one .accordion_header .i_box {
            display: flex;
            justify-content: center;
            align-items: center;
            position: absolute;
            top: 50%;
            right: 5%;
            width: 40px;
            height: 40px;
            margin-top: -20px;
            box-sizing: border-box;
            transition-duration: 0.2s;
        }

            .s_01 .accordion_one .accordion_header .i_box .one_i {
                display: block;
                width: 18px;
                height: 18px;
                transition-duration: 0.2s;
                position: relative;
            }


                .s_01 .accordion_one .accordion_header .i_box .one_i:before, .s_01 .accordion_one .accordion_header .i_box .one_i:after {
                    display: flex;
                    content: '';
                    background-color: #fff;
                    border-radius: 10px;
                    width: 18px;
                    height: 4px;
                    position: absolute;
                    top: 7px;
                    left: 0;
                }

                .s_01 .accordion_one .accordion_header .i_box .one_i:before {
                    width: 4px;
                    height: 18px;
                    top: 0;
                    left: 7px;
                }

        .s_01 .accordion_one .accordion_header.open .i_box .one_i:before {
            content: none;
        }

    .s_01 .accordion_one .accordion_inner {
        display: none;
        padding: 30px 30px;
        border-left: 2px solid #db0f2f;
        border-right: 2px solid #db0f2f;
        border-bottom: 2px solid #db0f2f;
        box-sizing: border-box;
    }


@media screen and (max-width: 1024px) {
    .s_01 .accordion_one .accordion_header {
        font-size: 18px;
    }

        .s_01 .accordion_one .accordion_header .i_box {
            width: 30px;
            height: 30px;
            margin-top: -15px;
        }
}

@media screen and (max-width: 767px) {
    .s_01 .accordion_one .accordion_header {
        font-size: 16px;
        text-align: left;
        padding: 15px 60px 15px 15px;
    }
}
/* about_o */
.img_takaoka {
    border-radius: 50%;
    width: 130px;
    height: 130px;
}

/* flow */

.card_flow {
    padding: 0;
    border-radius: 0;
    border: 2px solid #200770;
}

    .card_flow .card-header {
        padding: 0;
        border-bottom: 0;
        background: #ffffff;
    }

        .card_flow .card-header img {
            width: calc( 100% + 2px );
            position: relative;
            top: -1px;
            left: -1px;
        }

    .card_flow .card-body {
        padding: 2.5rem 1.5rem;
    }

        .card_flow .card-body .card-text {
            font-weight: 600;
            color: #02010A;
            line-height: 1.8;
        }

            .card_flow .card-body .card-text .border-bottom {
                border-bottom: 1px solid #200770 !important;
            }

/*scroll-infinity */
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
}

.scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0
}

.scroll-infinity__list--left {
    animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
    width: 100vw;
}

    .scroll-infinity__item > img {
        width: 100%;
    }

@media (min-width: 1200px) {
    .scroll-infinity__wrap {
        position: relative;
        background: #fff;
        /*z-index: 10;*/
        bottom: 20px;
    }
}

/* voice */
.voice_face {
    width: 90px;
    height: 90px;
}

.voice_box {
    position: relative;
    display: inline-block !important;
    background: #8AA5D8;
    padding: 10px 16px;
    text-align: left;
    color: #FFFFFF;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}

    .voice_box:after {
        border: solid transparent;
        content: '';
        height: 0;
        width: 0;
        pointer-events: none;
        position: absolute;
        border-color: rgba(138, 165, 216, 0);
        border-top-width: 10px;
        border-bottom-width: 10px;
        border-left-width: 10px;
        border-right-width: 10px;
        margin-left: -10px;
        border-top-color: #8AA5D8;
        top: 100%;
        left: 50%;
    }

.voice_divider {
    display: flex;
    align-items: center;
}

    .voice_divider:before,
    .voice_divider:after {
        content: "";
        height: 1px;
        flex-grow: 1;
        background-color: #DAD8DA;
    }

    .voice_divider:before {
        margin-right: 1rem;
    }

    .voice_divider:after {
        margin-left: 1rem;
    }

    .voice_divider img {
        width: 18px;
        height: auto;
        margin: auto;
    }
/* des */
.wrap_title {
    position: relative;
    height: 160px;
}

    .wrap_title .g-cat {
        position: absolute;
        top: 85px;
        right: calc( 50% - 300px );
    }

.wrap_subtitle {
    position: relative;
    text-align: center;
}

    .wrap_subtitle h3 {
        font-size: 1.25rem !important;
        margin-bottom: 0;
        padding: 8px 0;
    }
/* festival-box */
.festival-box {
    /* background: #FFFFFF;*/
    position: relative;
    padding: 0 !important;
    margin-top: 50px;
    -moz-box-shadow: 2px 8px 15px -5px rgba(0, 0, 0, 0.20);
    -webkit-box-shadow: 2px 8px 15px -5px rgb(0 0 0 / 20%);
    -ms-box-shadow: 2px 8px 15px -5px rgba(0, 0, 0, 0.20);
    box-shadow: 2px 8px 15px -5px rgb(0 0 0 / 20%);
    -webkit-transition: .2s;
    transition: .2s;
}

    .festival-box .gfpanel_wrap {
        overflow: hidden;
        /*     height: 256px;*/
        width: 100%;
    }

    .festival-box img.gfpanel {
        display: block;
        /*   height: 256px;*/
        object-fit: cover;
        width: 100%;
        transition-duration: .3s;
    }

    .festival-box:hover img.gfpanel {
        transform: scale(1.03);
        transition-duration: .3s;
    }

    .festival-box .tag,
    .tag {
        color: #3772ff;
        font-size: 0.75rem;
        font-weight: 400;
        line-height: 1.5rem;
        display: inline-flex;
        flex-direction: row;
        align-items: flex-start;
        padding: 2px 8px;
        margin-bottom: 6px;
        border: 1px solid #3772ff;
        box-sizing: border-box;
        border-radius: 15px;
    }

        .tag.mypage_list {
            position: relative;
            top: -2px;
        }

    .festival-box a:hover span {
        text-decoration: none !important;
    }

    .festival-box .gfeyecatch {
        width: 100%;
        /*border-radius: 8px 8px 0px 0px;*/ /*
        height: 222px;*/
        object-fit: cover;
    }

    .festival-box .g-cat {
        position: absolute;
        top: -65px;
        right: 60px;
    }


/*default*/
.wrap_default_catch {
    height: 520px;
    position: relative;
    margin: 0 auto;
    text-align: center;
}

.default_catch_bg {
    position: absolute;
    height: 780px;
    width: 100%;
    background: url(/img/default/catch-bg.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    mix-blend-mode: multiply;
}


.pc-catch {
    width: 100%;
    max-width: 978px;
}

.sp-catch1 {
    width: 100%;
    max-width: 425px;
}

.sp-catch2 {
    width: 100%;
    max-width: 425px;
}

ul.swiper-wrapper {
    padding: 0;
    margin: 0;
}

    ul.swiper-wrapper li {
        margin: 0;
        text-align: center;
    }

.swiper-container li img {
    width: calc( 100% - 32px );
    margin-bottom: 16px;
}

.loop_logo img {
    width: auto;
    height: 100%;
}

.loop_logo {
    display: flex;
    width: 100vw;
    height: 54px;
    overflow: hidden;
}

    .loop_logo img:first-child {
        animation: loop_logo 50s -25s linear infinite;
    }

    .loop_logo img:last-child {
        animation: loop_logo2 50s linear infinite;
    }

@keyframes loop_logo {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes loop_logo2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

.title01 {
    height: 160px;
    text-align: center;
    position: relative;
}

.default02 {
    max-width: 423px;
    width: 100%;
    margin: 0 auto;
    position: absolute;
    top: -60px;
    right: 0;
    left: 0;
}


.btn.more {
    background-image: url('/img/svg/arw02.svg');
    background-repeat: no-repeat;
    background-position: right top;
    height: 26px;
    padding: 0 34px 0 0;
    line-height: 24px;
    font-weight: 400;
    font-size: 0.875rem;
    display: inline-block;
}

    .btn.more:hover {
        text-decoration: underline;
    }
/* gf_list */

.index-back {
    padding: 18px 12px 14px 12px;
    text-align: center;
    display: inline-block;
    font-size: 1.75rem;
    font-weight: 600;
    width: 100%;
    max-width: 460px;
    border-radius: 8px;
    background: -webkit-repeating-linear-gradient(-45deg, #F4F2EE, #F4F2EE 5px, #fff 5px, #fff 10px);
    background: repeating-linear-gradient(-45deg, #F4F2EE, #F4F2EE 5px, #fff 5px, #fff 10px);
}

.flow {
    position: relative;
    text-align: center;
    padding: 36px 12px 24px 12px;
}

    .flow:after {
        border: solid transparent;
        content: '';
        height: 0;
        width: 0;
        pointer-events: none;
        position: absolute;
        border-top-width: 20px;
        border-bottom-width: 20px;
        border-left-width: 10px;
        border-right-width: 10px;
        margin-left: -10px;
        top: 100%;
        left: 50%;
        z-index: 1000;
    }

.bg-extra_clean_paper.flow:after {
    border-top-color: #F4F2EE;
}

.flow.upper-arw:before {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-top-width: 20px;
    border-bottom-width: 20px;
    border-left-width: 10px;
    border-right-width: 10px;
    margin-left: -10px;
    top: 0;
    left: 50%;
    border-top-color: #ffffff;
    z-index: 1000;
}

.tabmenu {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
    width: 100%;
}

    .tabmenu li,
    .tabmenu div {
        /*        display: inline-flex;*/
        width: 25%;
        height: 50px;
        line-height: 50px;
        text-align: center;
        font-size: 1rem;
        cursor: pointer;
        border: solid 2px #e9e9e9;
        border-left: 0;
        background-color: #e9e9e9;
        color: #666;
    }

    .tabmenu div {
        font-size: 0.875rem;
    }

        .tabmenu li:first-child, .tabmenu div:first-child {
            border-left: solid 2px #e9e9e9;
        }

        .tabmenu li.gf-select,
        .tabmenu li.event-select,
        .tabmenu div.gf-select,
        .tabmenu div.event-select {
            color: #bbb;
            background-color: #fff;
        }

.wrap_gf_list .festival-box {
    max-width: calc( 50% - 32px );
    margin-right: 16px;
    margin-left: 16px;
}

/* gf_dt */
.wrap_gf_dt .col-lg-9 {
    -ms-flex: 0 0 70%;
    flex: 0 0 70%;
    max-width: 70%;
}

.wrap_gf_dt .col-lg-3 {
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    max-width: 30%;
}

.wrap_gf_dt .festival-box {
    min-width: 280px;
    max-width: unset;
}

.wrap_related .tag-date {
    font-size: 2rem;
}

.table-gf {
    border: 1px solid #DED9D6;
    box-sizing: border-box;
    border-radius: 8px;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    overflow: hidden;
}

    .table-gf th {
        background: #F8F9FA;
        font-size: 0.875rem;
        white-space: nowrap;
        padding: 1rem;
        border-bottom: 1px solid #DED9D6;
    }

    .table-gf td {
        background: #fff;
        padding: 1rem;
        border-bottom: 1px solid #DED9D6;
    }

    .table-gf tbody tr:last-child th,
    .table-gf tbody tr:last-child td {
        border-bottom: 0 !important;
    }

ul.clist {
    list-style: none;
    margin: 0;
    padding: 0;
}

    ul.clist li {
        padding-bottom: 8px;
    }



/*gf_thanks*/
.msg_attention {
    color: #FF4000;
}

    .msg_attention::before {
        content: '';
        width: 100%;
        height: 40px;
        display: block;
        background-image: url(/img/svg/icon_attention.svg);
        background-repeat: no-repeat;
        background-position: top 0 left 50%;
        background-size: 32px 32px;
    }

.note {
    margin: 0;
    padding: 24px 0 24px 24px;
}

    .note li {
        margin: 0;
        padding: 6px 0;
    }


/* event */
.wrap_event_list .festival-box {
    margin: unset;
    max-width: unset; /*
    margin-right: calc( ( 33.333333% - 280px ) / 2 );
    margin-left: calc( ( 33.333333% - 280px ) / 2 );*/
}


.wrap_event_dt .table-gf th {
    font-size: 0.875rem;
    white-space: nowrap;
}

.wrap_kon {
    border-radius: 8px;
    padding: 0.5rem 1rem 1rem 1rem;
    background: -webkit-repeating-linear-gradient( -45deg, #F4F2EE, #F4F2EE 5px, #fff 5px, #fff 10px);
    background: repeating-linear-gradient( -45deg, #F4F2EE, #F4F2EE 5px, #fff 5px, #fff 10px);
}

    .wrap_kon .kon {
        font-weight: 500;
        line-height: 2;
        padding-top: 0.75rem;
        padding-bottom: 0.5rem;
    }

.wrap_event_photo {
    display: flex;
    justify-content: flex-start;
}

    .wrap_event_photo .event_photos {
        display: inline-flex;
    }

        .wrap_event_photo .event_photos img {
            max-width: 100px;
            margin: 2rem;
        }



/* StudentDB */
.page-link {
    border: 0;
    display: inline-flex;
}

    .page-link.active {
        font-weight: bold;
        border-radius: 50%;
        background: #1592e6;
        color: #fff;
        width: 40px;
        height: 40px;
        padding: 9px 1px;
        text-align: center;
        white-space: nowrap;
        display: inline-block;
    }

.wrap_std {
    border: 1px solid #DED9D6;
    border-radius: 8px;
    margin: auto;
    text-align: justify;
    word-break: break-all;
}

    .wrap_std a {
        display: block;
        color: #070600;
    }

    .wrap_std .faceimg {
        width: 80px;
        height: 80px;
        border-radius: 40px;
        border: 1px solid #d9dde0;
        object-fit: cover;
        display: block;
        overflow: hidden;
        margin: auto;
    }

        .wrap_std .faceimg img {
            width: 80px;
            height: 80px;
            border-radius: 40px;
            object-fit: cover;
            display: block;
        }

    .wrap_std .nophoto {
        position: relative;
        background: #FAF9F7;
        overflow: hidden;
    }

        .wrap_std .nophoto img {
            position: absolute;
            top: 10px;
            left: 5px;
            width: 120px;
            height: unset;
            border-radius: unset;
            object-fit: unset;
        }

    .wrap_std .icons {
        height: 40px;
        text-align: center;
        padding-bottom: 1rem;
    }

    .wrap_std .name {
        font-size: 0.875rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .wrap_std .univ {
        font-size: 0.875rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-bottom: 1rem;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

.des-checkbox.shubetsu input[type=checkbox] + label {
    padding: 6px 18px 10px 8px;
}

.des-checkbox.shubetsu input[type=checkbox]:checked + label {
}
/*mypage*/
.icon_q {
    width: 16px;
    position: relative;
    bottom: 1px;
}

input.pgbtn {
    background: #fff;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    height: 50px;
    line-height: 50px;
    display: block;
    text-align: center;
    color: #2ba1ff;
    border: 1px solid #2ba1ff;
    padding: 0;
    margin: 15px 15px 20px auto;
    width: 100%;
    font-size: 15px;
    font-weight: 600;
    -webkit-appearance: none;
}

.lp_bn01 {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
}

.Wrap_float-link {
    display: inline-block;
    width: auto;
    position: fixed;
    right: 50px;
    bottom: 60px;
    text-align: right;
    z-index: 99999999;
}

.float-close img {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 40px;
}

.Wrap_float-link a {
    display: inline-block;
    cursor: pointer;
}

.float-link img {
    width: 336px;
}

.modal {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    align-items: center;
    display: none;
}

    .modal.is_active {
        display: none;
    }

@media (max-width:960px) {

    .modal.is_active {
        display: flex;
    }
}


.modal_bg {
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
}

.modal_wrap {
    text-align: right;
    width: 100%;
    margin: 0 auto;
    z-index: 10000;
    position: fixed;
    top: calc( 50% - 160px );
    left: 0;
    right: 0;
    /*    height:320px;
    width:356px;*/
    height: 256px;
    width: 284px;
}

    .modal_wrap .float-link img {
        width: 284px;
    }

.modal_inner {
    padding: 0;
}

.modal_close {
    position: absolute;
    top: -20px;
    right: -20px;
    z-index: 99999999;
}

    .modal_close img {
        width: 40px;
        height: 40px;
    }


.pwdialog-des {
    max-width: 100%;
}

.mypage_top .faceimg {
    width: 180px;
    height: 180px;
    border-radius: 90px;
    border: 1px solid #DAD8DA;
    object-fit: cover;
    display: block;
    overflow: hidden;
    margin: auto;
}

    .mypage_top .faceimg img {
        width: 180px;
        height: 180px;
        border-radius: 90px;
        object-fit: cover;
        display: block;
    }

.mypage_top .nophoto {
    position: relative;
    background: #F8F9FA;
    overflow: hidden;
}

    .mypage_top .nophoto img {
        position: absolute;
        top: 77px;
        left: -18px;
        width: 131px;
        height: unset;
        border-radius: unset;
        object-fit: unset;
    }

#gfhistory li {
    padding-top: 8px;
}

.acMenuTitle:hover {
    cursor: pointer;
}

.acMenuBody {
    display: none;
}

.entry_event_list {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .entry_event_list li {
        padding-bottom: 1.5rem;
    }

.message-tab {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}

    .message-tab li {
        height: 50px;
        line-height: 50px;
        text-align: center;
        font-size: 1rem;
        cursor: pointer;
        border: solid 2px #e9e9e9;
        border-left: 0;
        background-color: #fff;
        color: #bbb;
    }

    .message-tab.col2 li {
        width: 50%;
    }

    .message-tab.col3 li {
        width: 33.3333333%;
    }

    .message-tab li:first-child {
        border-left: solid 2px #e9e9e9;
    }

    .message-tab li.message-select {
        background-color: #e9e9e9;
        color: #666;
    }

div#message-box li.message {
    border-bottom: solid 1px #DED9D6;
    padding: 12px 6px;
    display: block;
    position: relative;
}

    div#message-box li.message:hover {
        cursor: pointer;
        background: #FAF9F7;
    }

    div #message-box li.message:last-child {
        border-bottom: 0;
    }

li.message .l {
    display: inline-block;
    width: calc( 100% - 118px );
}

li.message .r {
    display: inline-block;
    width: 112px;
    padding-left: 12px;
}

li.message .tantou_face_wrap,
.tantou_face_wrap {
    display: inline-block;
    vertical-align: top;
    text-align: right;
}

    li.message .tantou_face_wrap img,
    .tantou_face_wrap img {
        width: 80px;
        height: 80px;
        border-radius: 40px;
        border: 1px solid #d9dde0;
        object-fit: cover;
        display: block;
    }

/* message */
.msgshowallbtn:hover {
    cursor: pointer;
}

.o_sent {
    background: #DED9D6;
    padding: 0.5rem;
    border-radius: 8px;
    position: relative;
}

    .o_sent span {
        line-height: 30px;
        display: inline-block;
    }

    .o_sent::after {
        content: '';
        width: 24px;
        height: 24px;
        position: absolute;
        left: -16px;
        top: 6px;
        background-image: url(/img/svg/fuki_o.svg);
        background-repeat: no-repeat;
        background-size: 24px 24px;
    }


.o_sent_body {
    background: #DED9D6;
    font-weight: 500;
    border-radius: 0 0 8px 8px;
    font-size: 0.875rem;
    line-height: 1.8;
    padding: 0.25rem;
    text-align: justify;
    margin-top: 3px;
    position: relative;
    top: -10px;
    word-break: break-all;
}


.u_sent {
    background: #2ba1ff;
    padding: 0.5rem;
    border-radius: 8px;
    position: relative;
}

    .u_sent::after {
        content: '';
        width: 24px;
        height: 24px;
        position: absolute;
        right: -16px;
        top: 6px;
        background-image: url(/img/svg/fuki_u.svg);
        background-repeat: no-repeat;
        background-size: 24px 24px;
    }

    .u_sent span {
        line-height: 30px;
        display: inline-block;
    }

    .u_sent .tag,
    .o_sent .tag {
        color: #070600;
        background: #FAF9F7;
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.5rem;
        display: inline-flex;
        flex-direction: row;
        align-items: flex-start;
        padding: 2px 7px;
        margin-bottom: 0;
        margin-right: 6px;
        border: 1px solid #EBE8E3;
        box-sizing: border-box;
        border-radius: 4px;
    }

.u_sent_body {
    background: #2ba1ff;
    color: #fff;
    font-weight: 500;
    border-radius: 0 0 8px 8px;
    font-size: 0.875rem;
    line-height: 1.8;
    padding: 0.25rem;
    text-align: justify;
    margin-top: 3px;
    position: relative;
    top: -10px;
    word-break: break-all;
}

    .u_sent_body p {
        color: #fff;
    }
/*.message-info:hover{
    cursor:pointer;
}*/
.message .festival-box {
    max-width: 280px;
}

.message .col-lg-4 {
    flex: unset;
    max-width: unset;
}

.mypage_mslist.message[readf="0"]::after {
    content: '';
    width: 8px;
    height: 8px;
    position: absolute;
    left: 3px;
    top: 48px;
    background-image: url(/img/svg/icon_reddot.svg);
    background-repeat: no-repeat;
    background-size: 8px 8px;
}


/* prbiz */

.prbiz_event .festival-box {
    margin: unset;
    margin-right: calc( ( 50% - 280px ) / 2 );
    margin-left: calc( ( 50% - 280px ) / 2 );
    margin-bottom: 32px;
    display: inline-flex;
    border: 1px solid #DED9D6;
}


.tantou_info_wrap.prbiz {
    display: inline-block;
    width: calc( 100% - 86px );
    padding-left: 12px;
}

.tabmenu.prbiz li {
    color: #666;
    background-color: #fff;
    width: 33.333333%;
}

    .tabmenu.prbiz li.select {
        background-color: #e9e9e9;
        color: #070600;
    }

.company-info-table {
    border-bottom: 1px solid #dee2e6;
}

    .company-info-table th {
        font-size: 0.875rem;
        width: 160px;
    }

    .company-info-table td {
        word-break: break-all;
        text-align: justify;
    }
/* info */
.wrap_infoindex_p {
    height: 180px;
    overflow-y: scroll;
    padding: 16px 8px;
    background: #FAF9F7;
    border-radius: 8px;
}
/*footer*/
.footer_wrap ul {
    margin: 0 auto;
    padding: 0;
    display: inline-block;
}

    .footer_wrap ul li {
        display: inline-flex;
        list-style: none;
        font-size: 0.75rem;
        padding: 0.25rem 0.75rem;
    }

        .footer_wrap ul li a {
            color: #8AA5D8;
        }

/* del user */
.des-checkbox.del_anke label {
    font-size: 0.875rem;
    padding: 0 12px 6px 0;
}


.des-radio.del_anke {
    display: block;
    margin: 0;
    padding: 0;
}

    .des-radio.del_anke li {
        display: block; /*
        height: 48px;*/
        margin: 12px 4% 6px 0;
        padding: 0;
    }

        .des-radio.del_anke li label {
            display: inline-block;
            /*width: 100%; 
            height: 48px;*/
            padding-right: 24px;
            padding-left: 50px;
            text-indent: -45px;
            border-radius: 4px;
            border: 1px solid #DED9D6;
        }

/* sns */
.f-twitter {
    color: #1d9bf0;
}

.bg-twitter {
    background: #1d9bf0;
}

.link_twitter {
    display: inline-block;
    margin: auto;
    font-size: 0.75rem;
    color: #FAF9F7;
    font-weight: 600;
    height: 32px;
    line-height: 32px;
    background: #1d9bf0;
    padding: 0 16px 0 40px;
    border-radius: 4px;
    background-image: url('/img/svg/twitter/icons_circle_blue.svg');
    background-repeat: no-repeat;
    background-size: 32px;
}

    .link_twitter:hover {
        color: #fff;
    }


/* ==========================
  swiperslider
========================== */
.swiper-container {
    width: 100%;
    max-height: calc( 100% -80px);
    height: calc( 100vh - 80px );
    overflow-y: hidden;
    position: relative; /* 必要に応じて */
    top: 0; /* ズレ防止 */
}

.swiper-wrapper {
    height: 100% !important; /* 強制的に高さを固定 */
}

.swiper-container.first .container-fluid {
    height: calc( 100% - 80px );
    position: relative;
}

.swiper-container.first .container {
    position: absolute;
    top: -30px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: min-content;
}

.container.mainslide {
    top: 100px;
    height: calc( 100vh - 180px );
    position: relative;
    z-index: 1;
}

.mainslide_sp {
    top: 0;
    height: calc( 100vh - 100px );
    position: relative;
    z-index: 1;
}

.swiper-slide {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    overflow: hidden;
}
/* スライダー1のページネーション（右側に縦配置） */
.swiper-container.first .first-pagination {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 10;
}

.swiper-container.first .swiper-pagination-bullet {
    display: block;
    margin: 5px 0;
    width: 10px;
    height: 10px;
    background: #4078ed;
    opacity: 0.5;
    transition: opacity 0.3s;
}

.swiper-container.first .swiper-pagination-bullet-active {
    opacity: 1;
    background: #006af9;
}

/* スライダー2のページネーション（下部に水平配置） */
.swiper-container.second .second-pagination {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%); /* 中央揃え */
    display: flex;
    flex-direction: row; /* 水平に強制 */
    justify-content: center;
    z-index: 10;
}

.swiper-container.second .swiper-pagination-bullet {
    display: inline-block;
    margin: 0 5px; /* ドット間の水平間隔 */
    width: 10px;
    height: 10px;
    background: #fff;
    opacity: 0.5;
    transition: opacity 0.3s;
}

.swiper-container.second .swiper-pagination-bullet-active {
    opacity: 1;
}

.swiper-container.first {
    position: relative;
    overflow: hidden;
}

.swiper-container.second {
    position: relative;
    height: 300px; /* スライダー2の高さ */
    width: 100%; /* 幅を明示 */
}

/*
    .swiper-slide:nth-of-type(1) {
        background-color: #edda15;
    }

    .swiper-slide:nth-of-type(2) {
        background-color: #73a82d;
    }

    .swiper-slide:nth-of-type(3) {
        background-color: #2a6d39;
    }*/

/* Slider3 のスタイル調整 */
.swiper-container.slider3 {
    pointer-events: none; /* スライダー上でのタッチ/マウスイベントを無効化 */
    touch-action: none; /* タッチ操作をスライダーで吸収しない */
}

.slider3-container {
    position: absolute;
    bottom: 180px;
    right: -60px;
    width: 60%;
    max-width: 450px;
    border-radius: 16px;
    overflow: hidden;
    z-index: 0;
}

.swiper-container.slider3 {
    height: calc(100vh - 200px);
}

    .swiper-container.slider3 .swiper-slide {
        height: auto;
    }

        .swiper-container.slider3 .swiper-slide img {
            width: 100%;
            height: auto;
            object-fit: cover;
            border-radius: 16px; /* 画像自体を角丸に */
        }

@media ( max-width: 767px ) {
    .slider3-container {
        position: absolute;
        bottom: 0;
        top: 0;
        right: -35px;
    }
}

.navbar-toggler {
    z-index: 100;
}

/*TOP new 25/08/11 */
.TOP_link {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px; /* 丸のサイズ */
    height: 40px;
    background: rgba(0, 52, 132, 0.7);
    border-radius: 50%; /* 丸形 */
    z-index: 10000; /* 最前面 */
    display: flex; /* 中央揃え */
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

    .TOP_link.visible {
        opacity: 1;
        visibility: visible;
    }

        /* 山（∧形、ラインだけ） */
        .TOP_link.visible::before {
            content: '';
            position: absolute;
            width: 8px;
            height: 8px;
            top: 13px;
            left: 50%; /* 中央揃え */
            transform: translateX(-50%) rotate(-45deg); /* 回転＋中央揃え */
            border: 2px solid #fff; /* 白いライン */
            border-left: none;
            border-bottom: none;
            animation: floatArrow 1.5s ease-in-out infinite; /* 矢印アニメーション */
        }

        /* 棒（垂直なライン） */
        .TOP_link.visible::after {
            content: '';
            position: absolute;
            width: 2px; /* 棒の太さ */
            height: 16px;
            background: #fff;
            top: 14px;
            left: 50%;
            transform: translateX(-50%);
            animation: floatArrowRod 1.5s ease-in-out infinite; /* 棒専用のアニメーション */
        }

/* 矢印（山）の上下アニメーション */
@keyframes floatArrow {
    0%, 100% {
        transform: translateX(-50%) translateY(0) rotate(-45deg); /* 中央揃え＋回転 */
    }

    50% {
        transform: translateX(-50%) translateY(-3px) rotate(-45deg); /* 3px浮く */
    }
}

/* 棒のアニメーション */
@keyframes floatArrowRod {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(-3px); /* 3px浮く */
    }
}

.spbtn_top .btn {
    height: 30px;
    line-height: 28px;
    min-width: unset;
    border-width: 1px;
    font-weight: normal;
}

.sp_slidecontent {
    width: auto;
    height: calc(100% - 100px);
    margin: 0 auto;
    max-width: 90%;
    max-height: 90vh;
    position: relative;
    top: 0;
    left: 48%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    z-index: 100;
}

.top_swipe1_t {
    position: absolute;
    top: -70px;
    right: 40px;
    mix-blend-mode: hard-light;
    width: 180px;
}

.top_swipe1_b {
    position: absolute;
    top: -70px;
    right: 40px;
    mix-blend-mode: normal;
    opacity: 0.4;
    width: 180px;
}



@media ( max-width: 991px ) {
    .top_swipe1_t {
        top: -120px;
        right: -20px;
    }

    .top_swipe1_b {
        top: -120px;
        right: -20px;
    }

    .c-scrolldown.slide1 {
        bottom: 90px !important;
    }
}

.sp_top_swipe1_t {
    position: absolute;
    top: 40px;
    right: 5px;
    mix-blend-mode: hard-light;
    width: 100px;
}

.sp_top_swipe1_b {
    position: absolute;
    top: 40px;
    right: 5px;
    mix-blend-mode: normal;
    opacity: 0.4;
    width: 100px;
}

.top_swipe1_btnup {
    position: absolute;
    top: -70px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: 50px;
    line-height: 50px;
    width: 500px;
    font-size: 1.5rem;
    border-radius: 25px;
    border: 1px solid #8E867E;
}

.sp_top_swipe1_btnup {
    bottom: -10px;
    left: 20px;
    position: relative;
    margin: auto;
    height: 30px;
    line-height: 30px;
    font-size: 0.75rem;
    display: inline-block;
    padding: 0 16px;
    border-radius: 15px;
    border: 1px solid #8E867E;
}

.sp_top1_ttl {
    max-width: 74%;
    margin: auto;
    padding: 12px;
    border-radius: 4px;
    background-color: rgba(255, 255, 255, 0.60);
}

.sp_top1_cnt {
    position: absolute;
    top: 260px;
}

.scroll-infinity_sp {
    background: #fff;
    padding: 20px 0;
    width: calc( 100% + 30px);
    position: absolute;
    bottom: 20px;
    left: -15px;
}

    .scroll-infinity_sp .scroll-infinity__item {
        width: 200vw;
    }

.top_swipe2 {
    margin: auto;
    width: 100%;
}

.swipe3_ttl {
    background: #0047b3;
    color: #ffffff;
    font-size: large;
    text-align: center;
    padding: 0.2rem;
    border-radius: 8px;
    font-weight: 600;
}

.wrap_top_swipe3 {
    height: 150px;
    position: relative;
}

.top_swipe3 {
    margin: auto;
    max-width: 200px;
    width: 100%;
    border-radius: 50%;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

.swipe4_ttl {
    background: #0047b3;
    color: #ffffff;
    font-size: x-large;
    text-align: center;
    padding: 0.2rem;
    border-radius: 8px;
    font-weight: 600;
}

.wrap_top_swipe4 {
    height: 150px;
    position: relative;
}

.top_swipe4 {
    margin: auto;
    max-width: 200px;
    height: 150px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

.table.slide7 td {
    padding: 0.5rem 1rem;
}

.swipe8_ttl {
    font-size: large;
    text-align: center;
    padding: 0.2rem;
    font-weight: 600;
    color: #003484;
    padding-bottom: 18px;
}

.wrap_top_swipe8 {
    height: 150px;
    position: relative;
}

.top_swipe8 {
    margin: auto;
    max-height: 160px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

.content-with-bggradblue, .content-with-bgwhite {
    position: relative;
    display: inline-block;
    z-index: 1;
}

    .content-with-bggradblue::before {
        content: '';
        position: absolute;
        width: calc(100vw - 110px);
        height: calc(100vh - 150px);
        max-width: 1400px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-image: linear-gradient(rgb(0, 71, 179) 0%, rgb(0, 140, 255) 100%);
        border-radius: 12px;
        z-index: 0;
    }

    .content-with-bgwhite::before {
        content: '';
        position: absolute;
        width: calc(100vw - 110px);
        height: calc(100vh - 150px);
        max-width: 1400px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: #fff;
        border-radius: 12px;
        z-index: 0;
    }

.content-bgwhite {
    background-color: #fff;
    border-radius: 12px;
}

.content-bggradblue {
    background-image: linear-gradient(rgb(0, 71, 179) 0%, rgb(0, 140, 255) 100%);
    border-radius: 12px;
}


@media ( max-width: 425px ) {

    .swiper-container.first .container {
        top: 0 !important;
        position: relative;
    }


    .content-with-bggradblue::before {
        width: calc(100% - 24px);
        height: calc(100% - 80px);
        top: 20px;
        left: -10px;
        transform: none;
        transform: translate(-5%, 0%);
    }
}



/* スクロールバー追加 */
.c-scrolldown {
    width: 1px;
    height: 60px;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    overflow: hidden;
    z-index: 200;
}

    .c-scrolldown.slide1 {
        bottom: 110px;
    }

    .c-scrolldown .c-line {
        width: 100%;
        height: 40px;
        display: block;
        background-color: white;
        animation: scrolldown 2s ease-in-out infinite;
    }

        .c-scrolldown .c-line.line-blue {
            background-color: #006af9;
        }

@keyframes scrolldown {
    0% {
        transform: translateY(-40px) scaleY(1);
    }

    20% {
        transform: translateY(20px) scaleY(1);
    }

    40% {
        transform: translateY(15px) scaleY(1.5);
    }

    100% {
        transform: translateY(60px) scaleY(1);
    }
}

/* LG */
@media ( min-width: 992px ) {
    .f-lg-xs {
        font-size: 0.75rem !important; /* 14px */
    }

    .f-lg-sm {
        font-size: 0.875rem !important; /* 14px */
    }

    .f-lg-md {
        font-size: 1rem !important; /* 16px */
    }

    .f-lg-lg {
        font-size: 1.125rem !important; /* 18px */
    }

    .f-lg-xl {
        font-size: 1.25rem !important; /* 20px */
    }

    .f-lg-xxl {
        font-size: 1.5rem !important; /* 24px */
    }
}

/* MD */
@media ( min-width: 768px ) {
    .rounded-upper-md-8 {
        border-radius: 8px 8px 0 0 !important;
    }
}

/*大デバイス LG（デスクトップ, 1200px 未満）*/
@media (max-width: 1199.98px) {


    .navbar-collapse {
        text-align: right;
        padding-top: 16px;
        padding-bottom: 32px;
        padding-right: 24px;
        position: absolute;
        top: 60px;
        right: -24px;
        z-index: 100;
        width: calc( 100% + 48px );
        background: linear-gradient(230deg, rgb(0 52 132 / 80%), rgb(0 52 132 / 60%), rgb(0 52 132 / 10%)) 0% 0%;
        /*            -webkit-animation: grad2 60s ease 0s infinite normal none running;
            -moz-animation: grad2 60s ease 0s infinite normal none running;
            animation: grad2 60s ease 0s infinite normal none running;*/
    }

    nav ul li a {
        width: unset;
        text-align: right;
    }

    .btn.btn_sm_yellow, .btn.btn_sm_bk {
        height: 32px;
        min-width: 90px;
        padding: 0 12px;
        line-height: 32px;
        font-size: 0.75rem;
    }

    .navbar-collapse .nav-set .btn {
        width: 160px;
        text-align: center;
    }

        .navbar-collapse .nav-set .btn.btn_sm_blue {
            border: 1px solid rgba(248, 249, 250, 0.4);
        }
}
/*中デバイス MD（タブレット, 992px 未満）*/
@media (max-width: 991.98px) {


    .nav_catch {
        margin-left: 0.125rem;
    }

    .navbar-brand img {
        height: 32px;
        width: auto;
    }

    .header {
        height: 60px;
    }

    div .tabmenu {
        display: block;
    }

    .tabmenu div {
        float: left;
        width: 50%;
    }

        .tabmenu div:first-child,
        .tabmenu div:nth-child(2) {
            border-bottom: 0;
        }

        .tabmenu div:nth-child(3) {
            border-left: solid 2px #e9e9e9;
        }

    .wrap_gf_dt .col-lg-9,
    .wrap_gf_dt .col-lg-3 {
        flex: unset;
        max-width: unset;
        position: relative;
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }

    /*        .wrap_gf_dt .festival-box.detail {
            width: 720px;
        }*/

    .wrap_event_list .festival-box {
        margin-right: calc( ( 50% - 280px ) / 2 );
        margin-left: calc( ( 50% - 280px ) / 2 );
    }

    .wrap_event_dt .table-gf th {
        font-size: 0.75rem;
        padding: 1rem 0.75rem;
        width: 96px;
    }

    .wrap_event_dt .table-gf td {
        font-size: 0.875rem;
    }

    .default_catch_bg {
        height: 550px;
    }
}
/*小デバイス SM（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
    .default_catch_bg {
        height: 540px;
    }

    .f-sm-sm {
        font-size: 0.875rem !important;
    }

    .f-sm-lg {
        font-size: 1.125rem !important; /* 18px */
    }

    .w-sm-100 {
        width: 100% !important;
    }

    .sp_menu li {
        border-right: 1px solid #EBE8E3; /*
        border-bottom: 1px solid #EBE8E3;*/
        width: 25%;
        margin: 0;
        padding: 0;
        text-align: center;
    }

        .sp_menu li:last-child {
            border-right: 0;
        }

        .sp_menu li a {
            display: inline-block;
            height: 48px;
            margin: auto;
            width: 100%;
            padding: 7px 0;
        }

    .wrap_imggfpanel {
        width: 128px;
        min-width: 128px;
        height: 128px;
        border-radius: 8px 0px 0px 8px;
        background-size: cover;
        background-position: center center;
    }

    .festival-box .gfpanel {
        border-radius: unset;
    }

    .festival-box .tag {
        font-size: 0.625rem;
        line-height: 1.25rem;
        padding: 0 3px;
    }

    .festival-box {
        max-width: unset;
    }

    .wrap_gf_dt .festival-box,
    .wrap_gf_dt .festival-box .gfeyecatch {
        border-radius: 0;
    }

    .table-gf {
        width: calc( 100% + 24px );
        margin: auto;
        position: relative;
        left: -12px;
        /*        border-radius: 0;
        border-left: 0;
        border-right: 0;*/
    }

    .wrap_gf_dt .festival-box.detail {
        width: unset;
    }


    .wrap_gf_list .festival-box {
        margin-right: auto;
        margin-left: auto;
        max-width: 460px;
    }

    .wrap_related .festival-box {
        margin-right: auto;
        margin-left: auto;
        max-width: 460px;
    }


    .wrap_event_list .festival-box {
        margin-right: auto;
        margin-left: auto;
    }


    .prbiz_event .festival-box {
        margin-right: unset;
        margin-left: unset;
    }
}
/*極小デバイス XS（縦向きモバイル, 576px 未満）*/
@media (max-width: 575.98px) {
    .f-xs-xs {
        font-size: 0.75rem !important; /* 18px */
    }

    .col-xs-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .tag-date {
        font-size: 2rem;
    }

    .wrap_title .g-cat {
        display: none;
    }

    .tabmenu li {
        font-size: 0.875rem;
    }

    .table-gf {
        width: calc( 100% + 32px );
        margin: auto;
        position: relative;
        left: -16px;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    .wrap_gf_dt01 .w-75 {
        width: 100% !important;
        max-width: 330px;
    }

    .btn.arw01 {
        font-size: 1.25rem;
        padding: 0 70px 0 40px;
    }

    .wrap_event_photo {
        justify-content: space-evenly;
    }

        .wrap_event_photo .event_photos img {
            max-width: 100px;
            margin: 1rem;
        }

    .company-info-table.prbiz1 th {
        width: 70px;
    }

    .company-info-table.sp-table th,
    .company-info-table.sp-table td {
        display: block;
        border-top: 0;
        width: 100%;
    }

    .company-info-table.sp-table {
        border-bottom: 0;
    }

        .company-info-table.sp-table th {
            font-size: 1rem;
            padding: 8px;
        }

        .company-info-table.sp-table td {
            text-align: justify;
            padding: 0 8px 24px 8px;
        }
}
/*iphone6/7/8未満サイズ（縦向きモバイル, 375px 未満）*/
@media (max-width: 374.98px) {
    .px-xs-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .wrap_imggfpanel {
        width: 78px;
        min-width: 78px;
    }

    .nav_catch {
        display: none;
    }

    .btn.arw01 {
        font-size: 1.125rem;
        padding: 0 70px 0 20px;
        background-position: right 16px top 24px;
    }
}

/***credit***/
/* Background pattern from Toptal Subtle Patterns */
