@charset "UTF-8";
/* 
    pc  :960px ~ 
    tab :768px ~ 960px
    sp  :      ~ 768px
*/
:root {
    --yellow:#FFEC00;
    --navy:#1D2087;
    --blue:#00AFEC;
    --pink:#D6006C;
    --red:#FF0000;
    --sky:#DEF7FF;
    --gray:#707070;
    --black:#231815;
    
    --noto:"Noto Sans JP", sans-serif;

    --header-z:100;

    --trans:0.5s ease;
}
html {
    color:var(--black);
    font-family:var(--noto);
    font-weight:400;
    scroll-behavior:smooth;
}
*,*:before,*:after { margin:0; padding:0;}
[id] { scroll-margin-top:4rem;}
a.noDeco { text-decoration:none; color:inherit;}
a[href^="tel"] { pointer-events:none;}
a:where(:link, :visited) { color:var(--blue);}
img { max-width:100%; height:auto; vertical-align:bottom;}
:where(ul, ol) { list-style:none;}
:is(h1, h2, h3, h4, h5, h6) { margin:0; padding:0; font-size:1rem;}
button { cursor:pointer;}
main { overflow-x:clip;}
iframe { width:100%; height:auto; aspect-ratio:955/565;}

.label {
    /* 20-25px */
    --clip-range:clamp(1.25rem, calc(0rem + 2.604vw), 1.563rem);

    background-color:var(--yellow);
    margin-inline:auto;
    padding:1rem;
    width:clamp(330px, 11.7em, 100%);
    /* 25-35px */
    font-size:clamp(1.563rem, calc(-0.937rem + 5.208vw), 2.188rem);
    font-weight:bold;
    text-align:center;
    color:var(--black);
    clip-path:polygon(
        0 0,
        100% 0,
        calc(100% - var(--clip-range)) 50%,
        100% 100%,
        0 100%,
        var(--clip-range) 50%
    );
}
.content_wrap { width:min(1200px, 90%); margin-inline:auto;}
.indent { padding-left:1em; text-indent:-1em;}
a.btn {
    position:relative;
    display:grid;
    place-items:center;
    margin-inline:auto;
    padding:1.15em;
    width:min(478px, 100%);
    background-color:#fff;
    /* viewport:768-960px  18-26px */
    font-size:clamp(1.125rem, calc(-0.875rem + 4.167vw), 1.625rem);
    font-weight:bold;
    border:solid 1px currentColor;
    border-radius:1.15em;

    &:after {
        content:"";
        position:absolute;
        display:block;
        width:0.85em;
        height:auto;
        aspect-ratio:22/19;
        background-color:currentColor;
        mask:url(../../image/icon_arrow.svg) no-repeat center / contain;
        -webkit-mask:url(../../image/icon_arrow.svg) no-repeat center / contain;
        inset:50% 0 auto auto;
        translate:-100% -50%;
    }
}


/* 応募規約 */
.notice_scroller_wrap {
    width:min(900px, 100%);
    /* viewport:768-960px  17.5-56px */
    margin-block:clamp(1.094rem, calc(-8.531rem + 20.052vw), 3.5rem) 0;
    margin-inline:auto;
    /* viewport:768-960px  11-30px */
    padding:clamp(0.688rem, calc(-4.062rem + 9.896vw), 1.875rem) 20px;
    border:solid 1px var(--gray);

    & .indent_list {
        /* viewport:768-960px  12-30px */
        margin-top:clamp(0.75rem, calc(-3.75rem + 9.375vw), 1.875rem);
    }
    & dl {
        /* viewport:768-960px  0-30px */
        padding-left:clamp(0rem, calc(-7.5rem + 15.625vw), 1.875rem);
        /* viewport:768-960px  0-20px */
        padding-right:clamp(0rem, calc(-5rem + 10.417vw), 1.25rem);
        max-height:430px;
        overflow-y:auto;
        scrollbar-width:thin;
        overscroll-behavior:none;
        /* viewport:768-960px  14-18px */
        font-size:clamp(0.875rem, calc(-0.125rem + 2.083vw), 1.125rem);
    }
    & dt {
        /* viewport:768-960px  29.5-53px */
        margin-top:clamp(1.844rem, calc(-4.031rem + 12.24vw), 3.313rem);
        padding:0.4em 0.5em;
        background-color:var(--black);
        color:#fff;
        /* viewport:768-960px  15-20px */
        font-size:clamp(0.938rem, calc(-0.312rem + 2.604vw), 1.25rem);
        font-weight:bold;
        line-height:1.25;
        border:solid 1px var(--gray);
    }
    & dd {
        /* viewport:768-960px  8-15px */
        margin-top:clamp(0.5rem, calc(-1.25rem + 3.646vw), 0.938rem);
        font-family:var(--noto);
        line-height:2;
    }
    & table {
        --border:solid 1px var(--gray);

        margin-top:1.15em;
        width:100%;
        border-top:var(--border);
        border-left:var(--border);
    }
    & :where(th, td) {
        /* viewport:768-960px  3-16px */
        padding-block:clamp(0.188rem, calc(-3.062rem + 6.771vw), 1rem);
        /* viewport:768-960px  10-30 */
        padding-inline:clamp(0.625rem, calc(-4.375rem + 10.417vw), 1.875rem);
        border-right:var(--border);
        border-bottom:var(--border);
        /* viewport:768-960px  12-18px */
        font-size:clamp(0.75rem, calc(-0.75rem + 3.125vw), 1.125rem);
        font-weight:bold;
        text-align:start;
        line-height:1.5;
    }
    & thead th { background-color:#E5E5E5;}
    & th { width:57.5%;}
    & td { width:42.5%;}
    & .indent {
        /* viewport:768-960px  14-15px */
        font-size:clamp(0.875rem, calc(0.625rem + 0.521vw), 0.938rem);
        line-height:1.6666;
    }
    & .indent.mt_1 { margin-top:1em;}
    & .circle_num { margin-top:1em;}
    & .circle_num + .circle_num { margin-top:0;}
    & .ul_list { padding-left:1em; text-indent:-1em;}
    & .ol_list { margin-left:1em; list-style:decimal;}
    & .ol_list + .ol_list { margin-top:0.8888em;}
    & .ol_list .ul_list { margin-left:2em;}
}

.pc { display:block;}
.sp { display:none;}

@media (any-hover:hover) {
    a:not(.noDeco):hover { opacity:0.75;}
    a.noDeco:hover { filter:brightness(0.9);}
    button:hover { filter:brightness(0.9);}
}
@media (any-hover:none){
    a:not(.noDeco):active { opacity:0.75;}
    a.noDeco:active { filter:brightness(0.9)}
    button:active { filter:brightness(0.9);}
}

@media(width < 768px) {
    a[href^="tel"] { pointer-events:auto;}
    .pc { display:none;}
    .sp { display:block;}
}


/* ==================================================
    header
================================================== */
/* header はTOP・下層でレイアウトが異なるので、個別のcssに記述 */


/* ==================================================
    footer
================================================== */
footer {
    color:#fff;
    font-family:var(--noto);
    font-weight:bold;
    background:url(../../image/bg.png) repeat center / 305px 264px;

    & .content_wrap {
        position:relative;
        display:flex;
        flex-direction:column;
        align-items:center;
        /* viewpoer:768-960px  50-120px */
        padding-top:clamp(3.125rem, calc(-14.375rem + 36.458vw), 7.5rem);
        /* viewport:768-960px  36-95px */
        padding-bottom:clamp(2.25rem, calc(-12.5rem + 30.729vw), 5.938rem);
    }
    & .abs { position:absolute; width:303px; inset:174px calc(50% + 478px) auto auto;}
    & .t1 {
        /* viewport:768-960px  17.5-56px */
        margin-top:clamp(1.094rem, calc(-8.531rem + 20.052vw), 3.5rem);
        /* viewport:768-960px  20-26px */
        font-size:clamp(1.25rem, calc(-0.25rem + 3.125vw), 1.625rem);
        text-align:center;
        word-break:keep-all;
    }
    & .info {
        /* viewport:768-960px  7-27px */
        margin-top:clamp(0.438rem, calc(-4.562rem + 10.417vw), 1.688rem);
        /* viewport:768-960px  13-20px */
        font-size:clamp(0.813rem, calc(-0.937rem + 3.646vw), 1.25rem);
    }
    & .info a[href^="mailto"] {
        display:flex;
        align-items:center;
        justify-content:space-between;
        /* viewport:768-960px  26-40px */
        font-size:clamp(1.625rem, calc(-1.875rem + 7.292vw), 2.5rem);
    }
    & .info a[href^="mailto"]:before {
        content:"";
        display:block;
        width:auto;
        height:1em;
        aspect-ratio:53/40;
        background:url(../../image/icon_mail.svg) no-repeat center / contain;
    }
    & .info p { margin-top:1em;}
    & .indent_wrap {
        /* viewport:768-960px  18-54px */
        margin-top:clamp(1.125rem, calc(-7.875rem + 18.75vw), 3.375rem);
        /* viewport:768-960px  11-16px */
        padding-block:clamp(0.688rem, calc(-0.562rem + 2.604vw), 1rem);
        padding-inline:1rem;
        /* viewport:960-1720px  350-1080.55px */
        width:clamp(21.875rem, calc(-35.8rem + 96.125vw), 67.534rem);
        /* viewport:768-960px  13-18px */
        font-size:clamp(0.813rem, calc(-0.437rem + 2.604vw), 1.125rem);
        border:solid 2px #fff;
    }
}
@media (width < 960px){
    footer {

        & .content_wrap {
            /* viewport:375-768px  93-113px */
            padding-bottom:clamp(5.813rem, calc(4.62rem + 5.089vw), 7.063rem);
        }
        & .indent_wrap { width:100%;}
        & .abs { position:static; margin-top:18px; width:242px;}
    }
}

/* ==================================================
    parts
================================================== */
/* formLink */
:is(a, button).formLink {
    position:relative;
    display:block;
    width:min(900px, 95%);
    margin-inline:auto;
    padding:1em;
    background-color:var(--red);
    border:none;
    color:#fff;
    font-family:var(--noto);
    /* viewport:768-960px  20-39px */
    font-size:clamp(1.25rem, calc(-3.5rem + 9.896vw), 2.438rem);
    font-weight:900;
    text-align:center;
    line-height:1.35;
    border-radius:0.75em;

    & .abs { position:absolute; will-change:transform; transform:translateZ(0px);}
    & .abs1 {
        /* viewport:768-1000px  60.5-151.5px */
        width:clamp(3.781rem, calc(-15.046rem + 39.224vw), 9.469rem);
        inset-block:50% auto;
        /* viewport:768-960px  11.5-26.5px */
        inset-inline:clamp(0.719rem, calc(-3.031rem + 7.813vw), 1.656rem) auto;
        translate:0 -50%;
    }
    & .abs2 {
        /* viewport:768-960px  44-101px */
        width:clamp(2.75rem, calc(-11.5rem + 29.688vw), 6.313rem);
        inset-block:auto 0.3846em;
        /* viewport:768-960px  20-40px */
        inset-inline:auto clamp(1.25rem, calc(-3.75rem + 10.417vw), 2.5rem);
    }
    & p { position:relative; width:fit-content; margin-inline:auto;}
    & p:after {
        content:"";
        position:absolute;
        display:block;
        width:0.75em;
        height:auto;
        aspect-ratio:1;
        background:url(../../image/icon_arrow.svg) no-repeat center / contain;
        inset:50% auto auto calc(100% + 1em);
        translate:0 -50%;
    }
}
@media (width < 768px) {
    :is(a, button).formLink {
        display:none;
        
        & p:after { background-image:none;}
    }
}