@charset "utf-8";
/*ハンバーガーメニュー js制御*/
.scroll-prevent{
    overflow: hidden;
}

.is-blur{
    filter: blur(15px);
    opacity: 50%;
    backdrop-filter: none !important;
}

.mask{
    display: none;
    transition: all .5s;
}

@media (1024px < width) {
    .mask.is-open{
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        cursor: pointer;
        z-index: 2;
    }
}

/*パンくずリスト*/
.breadcrumb{
    margin: 16px auto clamp(1.875rem, 1.328rem + 2.5vw, 2.5rem);
    padding: 0 calc(var(--space-side) + var(--space-inner-side));
}

.breadcrumb ol{
    display: flex;
    flex-wrap: wrap;
}

.breadcrumb li{
    color: #A8A3A3;
    font-size: clamp(0.75rem, 0.422rem + 1.5vw, 1.125rem);
}

.breadcrumb li:not(:last-of-type)::after {
    content: "\03e";
    margin: .813rem;
    color: #A8A3A3;
}

.breadcrumb a{
    display: inline;
    transition: color var(--hover-animation);
}

.breadcrumb a:hover{
    color: var(--hover-color);
}

@media (1024px < width) {
    .breadcrumb{
        margin: 20px auto 50px;
    }

    .breadcrumb li{
        font-size: .75rem;
    }
}

/*セクション , 見出し*/
.main_area{
    margin: 0 0 calc(150px - var(--size-btn-scrolltop));
}

.section_inner{
    width: 100%;
    max-width: 1200px;
}

.article_inner{
    width: 100%;
    max-width: 900px;
}

.page_container{
    margin: 0 auto;
    padding: 0 calc(var(--space-side) + var(--space-inner-side));
}

.result_contents{
    margin: 0 auto clamp(3.125rem, 1.869rem + 5.03vw, 3.75rem);
}

.childpage_ttl{
    font-size: clamp(2rem, 1.125rem + 4vw, 3rem);
    font-weight: var(--font-bold);
    letter-spacing: .06em;
    margin: 0 auto min(12.666vw, 95px);
    padding: 0 calc(var(--space-side) + var(--space-inner-side));
    line-height: 1;
}

.childpage_subttl{
    font-size: clamp(1.125rem, 0.797rem + 1.5vw, 1.5rem);
    font-weight: var(--font-semibold);
    letter-spacing: .1em;
    text-align: center;
    margin: 0 0 min(5.333vw, 54px);
}

@media (600px <= width) {
    .childpage_ttl{
        margin: 0 auto min(8vw, 81px);
    }
}

@media (1024px < width) {
    .childpage_ttl{
        font-size: 2.25rem;
        margin: 0 auto 60px;
    }

    .childpage_subttl{
        font-size: 1.25rem;
        margin: 0 0 50px;
    }

    .result_contents{
        margin: 0 auto 60px;
    }
}

/*ボタン*/
.btn_primary{
    min-width: 240px;
    max-width: 90%;
    min-height: 55px;
    font-size: clamp(1rem, -1rem + 5.33vw, 1.5rem);
    font-weight: var(--font-semibold);
    letter-spacing: .12em;
    color: #fff;
    display: grid;
    justify-items: center;
    align-items: center;
    background-color: var(--color-primary);
    transition: background-color var(--hover-animation);
}

.btn_primary, .btn_secondary{
    cursor: pointer;
}

.btn_primary:hover{
    background-color: var(--hover-color);
}

.btn_primary a{
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
    gap: 0 10px;
    padding: 16px 24px 14px;
}

.btn_arrow_next a::after, .btn_arrow_down a::after, .btn_pagejump a::after, .btn_pdf a::after{
    content: "";
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    transition: transform var(--hover-animation);
}

.btn_arrow_next a::after{
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="28,11"><path stroke="%23fff" fill="none" d="M.484,10.002h25.591L14.523.89" /></svg>');
    width: 28px;
    height: 19px;
}

.btn_arrow_down a::after{
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="17,9"><path stroke="%23fff" fill="none" d="M.354.361l8.146,7.937L16.646.361" /></svg>');
    width: 17px;
    height: 9px;
}

.close-btn a::after{
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="17,9"><path stroke="%23fff" fill="none" d="M16.6,8.6L8.5.7.4,8.6" /></svg>');
}

.btn_arrow_next:hover a::after{
    transform: translateX(5px);
}

.btn_arrow_down:hover a::after{
    transform: translateY(3px);
}

.close-btn:hover a::after{
    transform: translateY(-3px);
}

.btn_container_center, .btn_container_right{
    display: flex;
}

.btn_container_center{
    justify-content: center;
}

.btn_container_right{
    justify-content: flex-end;
}

.btn_secondary_contents{
    display: grid;
    grid-template-columns: repeat(auto-fit, 48%);
    row-gap: clamp(2.5rem, 1.071rem + 5.71vw, 3.75rem);
    column-gap: 4%;
    justify-content: center;
}

.btn_secondary{
    background-color: #F8F8F7;
    border: 1px solid var(--color-primary);
    min-height: 60px;
}

.btn_secondary a, .btn_tertiary a{
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: center;
    gap: 0 10px;
    letter-spacing: .12em;
    font-weight: var(--font-semibold);
    padding: 10px 20px;
}

.btn_secondary a{
    font-size: clamp(0.938rem, 0.58rem + 1.43vw, 1.25rem);
    transition: opacity var(--hover-animation);
    min-height: 60px;
}

.btn_secondary a:hover{
    opacity: var(--hover-opacity);
}

.btn_tertiary{
    background-color: #fff;
    border-radius: 1000px;
    border: 1px solid var(--color-primary);
    transition: background-color var(--hover-animation);
}

.btn_tertiary:hover{
    background-color: #F8F8F7;
}

.btn_tertiary a{
    font-size: clamp(0.75rem, 0.536rem + 0.86vw, 0.938rem);
}

.btn_pagejump a::after{
    background-image: url("../images/icon_pagejump.svg");
    width: 17px;
    height: 14px;
}

.btn_pdf a::after{
    background-image: url("../images/icon_pdf.svg");
    width: 20px;
    height: 23px;
}

@media (600px <= width) {
    .btn_primary{
        max-width: 62.7%;
        min-height: 75px;
    }

    .btn_primary a{
        padding: 20px 30px 16px;
    }

    .btn_secondary, .btn_secondary a{
        min-height: 70px;
    }
}

@media (1024px < width) {
    .btn_primary{
        max-width: 300px;
        min-height: 57px;
        font-size: 1rem;
    }

    .btn_primary a{
        padding: 18px 24px;
    }

    .btn_secondary_contents{
        grid-template-columns: repeat(auto-fit, 28%);
        row-gap: 60px;
        column-gap: 8%;
        justify-content: center;
    }

    .btn_secondary a{
        font-size: 1rem;
    }

    .btn_tertiary a{
        font-size: .875rem;
    }
}

/* SVG */
.stroke-1, .stroke-2{
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.stroke-2, .stroke-fill-2{
    stroke-width: 2px;
}

.stroke-1, .stroke-fill-1{
    stroke-width: 1px;
}

.stroke-wh{
    stroke: #fff;
}

.stroke-gl{
    stroke: var(--color-primary);
}

.fill-wh, .fill-gl{
    stroke-width: 0px;
}

.fill-wh{
    fill: #fff;
}

.fill-gl{
    fill: var(--color-primary);
}

.stroke-fill{
    fill: #fff;
    stroke: var(--color-primary);
    stroke-linecap: round;
    stroke-linejoin: round;
}