/*------------------------------------------
設定
------------------------------------------*/

:root {
    /* サイト幅 */
    --site-width: 1275px;

    /* 余白 */
    --section-padding-y: 40px;
    --tb-section-padding-y: 40px;
    --sp-section-padding-y: 4rem;

    /* カラー */
    --color-red1: #fa000f;
    --color-red2: #c00;
    --color-white: #fff;
    --color-gray1: #f4f4f4;
    --color-gray2: #d9d9d9;
    --color-gray3: #b3b3b3;
    --color-gray4: #737373;
    --color-gray5: #4d4d4d;
    --color-gray6: #222;
    --color-black: #0c0c0c;
    --color-orange1: #fdc796;
    --color-orange2: #fa6900;
    --color-orange3: #c85400;
    --color-yellow1: #fdec96;
    --color-yellow2: #fad200;
    --color-yellow3: #967e00;
    --color-pink1: #fd96d4;
    --color-pink2: #fa00a5;
    --color-pink3: #96005a;
    --color-purple1: #d096fd;
    --color-purple2: #9b00fa;
    --color-purple3: #540096;
    --color-blue1: #96c5fd;
    --color-blue2: #0064fa;
    --color-blue3: #004596;
    --color-teal1: #96f0fd;
    --color-teal2: #00dcfa;
    --color-teal3: #008496;
    --color-green1: #96fdcc;
    --color-green2: #00fa82;
    --color-green3: #00964e;
    --color-red1-tint1: #ffcbce;
    --color-red1-tint2: #ff979d;
    --color-red1-tint3: #ff636c;
    --color-red1-dark1: #bb000b;
    --color-red1-dark2: #7d0008;

    --color-gradation: linear-gradient(113deg, #fa000f 26.99%, #c00 85.99%);
}

/*------------------------------------------
リセット関連
------------------------------------------*/

h1,h2,h3,h4,h5,.JS h1,.JS h2,.JS h3,.JS h4,.JS h5 {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

div#Contents .GridSet {
    max-width: 1275px;
    margin: 0 auto;
}

#Contents h4 {
    margin: unset;
}

.GridSet .Grid1 .ImgOnlyStyle img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 994px) {
    .JS .Grid4, .JS .Grid3, .JS .Grid1 {
        padding: 0 1rem;
    }
    .JS .Grid1 {
        margin: 0;
    }
}

@media screen and (max-width: 767px) {
    .JS .Grid1 {
        border-top: none;
    }
}

@media screen and (min-width: 995px) and (max-width: 1304px) {
    .OptionWideRWD .Grid1 {
        padding-right: 25px;
    }
}


/*------------------------------------------
基本設定
------------------------------------------*/

.GridSet .Grid3 section {
    padding: var(--section-padding-y) 0;
}

.GridSet .Grid3 h1 {
    color: var(--color-black);
    font-size: 28px;
    font-weight: 700;
}
@media screen and (max-width: 767px) {
    .GridSet .Grid3 h1 {
        font-size: 1.4rem;
    }
}

.GridSet .Grid3 h2 {
    color: var(--color-black);
    font-size: 24px;
    font-weight: 700;
}
@media screen and (max-width: 767px) {
    .GridSet .Grid3 h2 {
        font-size: 1.4rem;
    }
}

.GridSet .Grid3 h3 {
    color: var(--color-black);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}
@media screen and (max-width: 767px) {
    .GridSet .Grid3 h2 {
        font-size: 1.2rem;
    }

    .GridSet .Grid3 h3 {
        font-size: 1.1rem;
    }
}

#Contents .GridSet .Grid3 h4 {
    color: var(--color-black);
    font-size: 18px;
    font-weight: 700;
}

.GridSet .Grid3 p,
.GridSet .Grid3 span {
    color: var(--color-black);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}

/* テキスト外部リンク */
a[target="_blank"]:not(:has(img)):not(.ot-cookie-policy-link) {
    padding-right: 22px;
    position: relative;
}
a[target="_blank"]:not(:has(img)):not(.ot-cookie-policy-link)::after {
    content: "";
    position: absolute;
    bottom: -3px;
    right: 2px;
    width: 18px;
    height: 18px;
    background: url(/-/media/ind/fs/common2/image/icon_new_window_hd.gif) no-repeat center / contain;
}
a[target="_blank"].icon-center:not(:has(img)):not(.ot-cookie-policy-link)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2px;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: url(/-/media/ind/fs/common2/image/icon_new_window_hd.gif) no-repeat center / contain;
}

/* ページ内のブロック間隔 */
.GridSet .Grid3 .mt-interval {
    margin-top: 40px!important;
}

/* サイドメニュー */
#VerticalLocalNavi h2 span {
    color: var(--color-white)!important;
    font-size: 16px;
}

/* 1階層目 */
#VerticalLocalNavi .LocalNaviContainer > ul > li > strong {
    display: block;
    padding: 9px 9px 9px 15px;
    background-color: var(--color-red2)!important;
    color: var(--color-white)!important;
    position: relative;
}
#VerticalLocalNavi .LocalNaviContainer > ul > li > strong::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 11px;
    background: url(/-/media/image/jp/r1/bg_v_navi_current.gif);
}

#VerticalLocalNavi .LocalNaviContainer > ul > li > .hasCurrentChild {
    display: block;
    padding: 9px 15px 9px 15px;
    background-color: var(--color-red2)!important;
    color: var(--color-white)!important;
    font-weight: 700;
    position: relative;
}
#VerticalLocalNavi .LocalNaviContainer > ul > li > .hasCurrentChild::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 11px;
    background: url(/-/media/image/jp/r1/bg_v_navi_current.gif);
}

/* 2階層目 */
#VerticalLocalNavi .LocalNaviContainer > ul > li > ul > li > strong {
    display: block;
    padding: 9px 9px 9px 30px;
    background: var(--color-gray1);
    border-top: solid 1px var(--color-white);
    position: relative;
}
#VerticalLocalNavi .LocalNaviContainer > ul > li > ul > li > strong::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 11px;
    background: url(/-/media/image/jp/r1/bg_v_navi_current.gif);
}

#VerticalLocalNavi .LocalNaviContainer > ul > li > ul > li > .hasCurrentChild {
    display: block;
    padding: 9px 15px 9px 30px;
    background-color: var(--color-red2)!important;
    color: var(--color-white)!important;
    font-weight: 700;
    position: relative;
}
#VerticalLocalNavi .LocalNaviContainer > ul > li > ul > li > .hasCurrentChild::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 11px;
    background: url(/-/media/image/jp/r1/bg_v_navi_current.gif);
}

/* 3階層目 */
#VerticalLocalNavi .LocalNaviContainer > ul > li > ul > li > ul > li > strong {
    display: block;
    padding: 9px 9px 9px 45px;
    background: var(--color-gray1);
    border-top: solid 1px var(--color-white);
    position: relative;
}
#VerticalLocalNavi .LocalNaviContainer > ul > li > ul > li > ul > li > strong::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 11px;
    background: url(/-/media/image/jp/r1/bg_v_navi_current.gif);
}

/* 1段目に.hasCurrentChildがあって2段目にstrongがあるパターン */
#VerticalLocalNavi .LocalNaviContainer > ul > li:has(> a.hasCurrentChild) > ul > li > strong {
    display: block;
    padding: 9px 9px 9px 30px;
    background: var(--color-gray1)!important;
    color: var(--color-black)!important;
    border-top: solid 1px var(--color-white);
    position: relative;
}
#VerticalLocalNavi .LocalNaviContainer > ul > li:has(> a.hasCurrentChild) > ul > li > strong::before {
    width: 4px;
    height: 100%;
    background: var(--color-red2);
}

/* 1段目と2段目に.hasCurrentChildがあるパターン */
#VerticalLocalNavi .LocalNaviContainer > ul > li:has(> a.hasCurrentChild) > ul > li > .hasCurrentChild {
    background: var(--color-gray1)!important;
    color: var(--color-black)!important;
}
#VerticalLocalNavi .LocalNaviContainer > ul > li:has(> a.hasCurrentChild) > ul > li > .hasCurrentChild::before {
    width: 4px;
    height: 100%;
    background: var(--color-red2);
}
#VerticalLocalNavi .LocalNaviContainer > ul > li:has(> a.hasCurrentChild) > ul > li > .hasCurrentChild:hover {
    background: var(--color-red2)!important;
    color: var(--color-white)!important;
    font-weight: 400;
}


/* サイドメニュー画像 */
@media screen and (max-width: 767px) {
    #banner_form {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        row-gap: 0;
    }
}

/* サイドメニュータイトル */
.GridSet .Grid1 #VerticalLocalNavi h2 a {
    font-size: 1rem;
}

/* /ind/fs/about/にあるサイドメニュー対応 */
.GridSet .Grid1 .border_box02 h2 {
    display: none;
}
.GridSet .Grid1 .border_box02 .inner_box {
    margin-bottom: 20px;
}
.GridSet .Grid1 .border_box02 .inner_box > h3 {
    background: none;
    border: none;
    padding: 7px 0 0;
    color: var(--color-black);
    border-top: 4px solid var(--color-red1-dark2);
    margin: 15px 0 0;
    font-size: 16px;
    font-weight: 700;
}
.GridSet .Grid1 .border_box02 .inner_box .list_arrow {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
.GridSet .Grid1 .border_box02 .inner_box .list_arrow > li {
    font-size: 14px;
    line-height: 1.4;
}
.GridSet .Grid1 .border_box02 .inner_box .list_arrow > li > a {
    font-size: 14px;
    line-height: 1.4;
    color: var(--color-black);
    text-decoration: none;
    position: relative;
    padding-right: 10px;
}
.GridSet .Grid1 .border_box02 .inner_box .list_arrow > li > a::after {
    content: "";
    position: absolute;
    bottom: 5px;
    right: 0;
    display: inline-block;
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    border-top: 1px solid var(--color-red2);
    border-right: 1px solid var(--color-red2);
}
.GridSet .Grid1 .border_box02 .inner_box .list_arrow > li > a:hover {
    text-decoration: underline;
}
.GridSet .Grid1 .border_box02 .inner_box .link_btn2 {
    margin-top: 10px;
    padding: 10px;
    background: var(--color-gray1);
    text-align: center;
}
.GridSet .Grid1 .border_box02 .inner_box .link_btn2 > a {
    padding-right: 10px;
    position: relative;
}
.GridSet .Grid1 .border_box02 .inner_box .link_btn2 > a::after {
    content: "";
    position: absolute;
    bottom: 5px;
    right: 0;
    display: inline-block;
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    border-top: 1px solid var(--color-red2);
    border-right: 1px solid var(--color-red2);
}

/*------------------------------------------
ユーティリティっぽいもの
------------------------------------------*/

/* width */
.GridSet .Grid3 .w-10 { width: 10px!important }
.GridSet .Grid3 .w-20 { width: 20px!important }
.GridSet .Grid3 .w-30 { width: 30px!important }
.GridSet .Grid3 .w-40 { width: 40px!important }
.GridSet .Grid3 .w-50 { width: 50px!important }
.GridSet .Grid3 .w-60 { width: 60px!important }
.GridSet .Grid3 .w-70 { width: 70px!important }
.GridSet .Grid3 .w-80 { width: 80px!important }
.GridSet .Grid3 .w-90 { width: 90px!important }
.GridSet .Grid3 .w-100 { width: 100px!important }
.GridSet .Grid3 .w-110 { width: 110px!important }
.GridSet .Grid3 .w-120 { width: 120px!important }
.GridSet .Grid3 .w-130 { width: 130px!important }
.GridSet .Grid3 .w-140 { width: 140px!important }
.GridSet .Grid3 .w-150 { width: 150px!important }
.GridSet .Grid3 .w-160 { width: 160px!important }
.GridSet .Grid3 .w-170 { width: 170px!important }
.GridSet .Grid3 .w-180 { width: 180px!important }
.GridSet .Grid3 .w-190 { width: 190px!important }
.GridSet .Grid3 .w-200 { width: 200px!important }
.GridSet .Grid3 .w-210 { width: 210px!important }
.GridSet .Grid3 .w-220 { width: 220px!important }
.GridSet .Grid3 .w-230 { width: 230px!important }
.GridSet .Grid3 .w-240 { width: 240px!important }
.GridSet .Grid3 .w-250 { width: 250px!important }
.GridSet .Grid3 .w-260 { width: 260px!important }
.GridSet .Grid3 .w-270 { width: 270px!important }
.GridSet .Grid3 .w-280 { width: 280px!important }
.GridSet .Grid3 .w-290 { width: 290px!important }
.GridSet .Grid3 .w-300 { width: 300px!important }
.GridSet .Grid3 .w-310 { width: 310px!important }
.GridSet .Grid3 .w-320 { width: 320px!important }
.GridSet .Grid3 .w-330 { width: 330px!important }
.GridSet .Grid3 .w-340 { width: 340px!important }
.GridSet .Grid3 .w-350 { width: 350px!important }
.GridSet .Grid3 .w-360 { width: 360px!important }
.GridSet .Grid3 .w-370 { width: 370px!important }
.GridSet .Grid3 .w-380 { width: 380px!important }
.GridSet .Grid3 .w-390 { width: 390px!important }
.GridSet .Grid3 .w-400 { width: 400px!important }
.GridSet .Grid3 .w-410 { width: 410px!important }
.GridSet .Grid3 .w-420 { width: 420px!important }
.GridSet .Grid3 .w-430 { width: 430px!important }
.GridSet .Grid3 .w-440 { width: 440px!important }
.GridSet .Grid3 .w-450 { width: 450px!important }
.GridSet .Grid3 .w-460 { width: 460px!important }
.GridSet .Grid3 .w-470 { width: 470px!important }
.GridSet .Grid3 .w-480 { width: 480px!important }
.GridSet .Grid3 .w-490 { width: 490px!important }
.GridSet .Grid3 .w-500 { width: 500px!important }

/* margin */
.GridSet .Grid3 .m-0  { margin: 0px!important; }
.GridSet .Grid3 .m-1  { margin: 1px!important; }
.GridSet .Grid3 .m-2  { margin: 2px!important; }
.GridSet .Grid3 .m-3  { margin: 3px!important; }
.GridSet .Grid3 .m-4  { margin: 4px!important; }
.GridSet .Grid3 .m-5  { margin: 5px!important; }
.GridSet .Grid3 .m-6  { margin: 6px!important; }
.GridSet .Grid3 .m-7  { margin: 7px!important; }
.GridSet .Grid3 .m-8  { margin: 8px!important; }
.GridSet .Grid3 .m-9  { margin: 9px!important; }
.GridSet .Grid3 .m-10 { margin: 10px!important; }
.GridSet .Grid3 .m-20 { margin: 20px!important; }

/* margin-top */
.GridSet .Grid3 .mt-0  { margin-top: 0px!important; }
.GridSet .Grid3 .mt-1  { margin-top: 1px!important; }
.GridSet .Grid3 .mt-2  { margin-top: 2px!important; }
.GridSet .Grid3 .mt-3  { margin-top: 3px!important; }
.GridSet .Grid3 .mt-4  { margin-top: 4px!important; }
.GridSet .Grid3 .mt-5  { margin-top: 5px!important; }
.GridSet .Grid3 .mt-6  { margin-top: 6px!important; }
.GridSet .Grid3 .mt-7  { margin-top: 7px!important; }
.GridSet .Grid3 .mt-8  { margin-top: 8px!important; }
.GridSet .Grid3 .mt-9  { margin-top: 9px!important; }
.GridSet .Grid3 .mt-10 { margin-top: 10px!important; }
.GridSet .Grid3 .mt-20 { margin-top: 20px!important; }
.GridSet .Grid3 .mt-30 { margin-top: 30px!important; }
.GridSet .Grid3 .mt-40 { margin-top: 40px!important; }

/* margin-right */
.GridSet .Grid3 .mr-0  { margin-right: 0px!important; }
.GridSet .Grid3 .mr-1  { margin-right: 1px!important; }
.GridSet .Grid3 .mr-2  { margin-right: 2px!important; }
.GridSet .Grid3 .mr-3  { margin-right: 3px!important; }
.GridSet .Grid3 .mr-4  { margin-right: 4px!important; }
.GridSet .Grid3 .mr-5  { margin-right: 5px!important; }
.GridSet .Grid3 .mr-6  { margin-right: 6px!important; }
.GridSet .Grid3 .mr-7  { margin-right: 7px!important; }
.GridSet .Grid3 .mr-8  { margin-right: 8px!important; }
.GridSet .Grid3 .mr-9  { margin-right: 9px!important; }
.GridSet .Grid3 .mr-10 { margin-right: 10px!important; }
.GridSet .Grid3 .mr-20 { margin-right: 20px!important; }

/* margin-bottom */
.GridSet .Grid3 .mb-0  { margin-bottom: 0px!important; }
.GridSet .Grid3 .mb-1  { margin-bottom: 1px!important; }
.GridSet .Grid3 .mb-2  { margin-bottom: 2px!important; }
.GridSet .Grid3 .mb-3  { margin-bottom: 3px!important; }
.GridSet .Grid3 .mb-4  { margin-bottom: 4px!important; }
.GridSet .Grid3 .mb-5  { margin-bottom: 5px!important; }
.GridSet .Grid3 .mb-6  { margin-bottom: 6px!important; }
.GridSet .Grid3 .mb-7  { margin-bottom: 7px!important; }
.GridSet .Grid3 .mb-8  { margin-bottom: 8px!important; }
.GridSet .Grid3 .mb-9  { margin-bottom: 9px!important; }
.GridSet .Grid3 .mb-10 { margin-bottom: 10px!important; }
.GridSet .Grid3 .mb-20 { margin-bottom: 20px!important; }
.GridSet .Grid3 .mb-30 { margin-bottom: 30px!important; }
.GridSet .Grid3 .mb-40 { margin-bottom: 40px!important; }

/* margin-left */
.GridSet .Grid3 .ml-0  { margin-left: 0px!important; }
.GridSet .Grid3 .ml-1  { margin-left: 1px!important; }
.GridSet .Grid3 .ml-2  { margin-left: 2px!important; }
.GridSet .Grid3 .ml-3  { margin-left: 3px!important; }
.GridSet .Grid3 .ml-4  { margin-left: 4px!important; }
.GridSet .Grid3 .ml-5  { margin-left: 5px!important; }
.GridSet .Grid3 .ml-6  { margin-left: 6px!important; }
.GridSet .Grid3 .ml-7  { margin-left: 7px!important; }
.GridSet .Grid3 .ml-8  { margin-left: 8px!important; }
.GridSet .Grid3 .ml-9  { margin-left: 9px!important; }
.GridSet .Grid3 .ml-10 { margin-left: 10px!important; }
.GridSet .Grid3 .ml-20 { margin-left: 20px!important; }

/* padding */
.GridSet .Grid3 .p-0  { padding: 0px!important; }
.GridSet .Grid3 .p-1  { padding: 1px!important; }
.GridSet .Grid3 .p-2  { padding: 2px!important; }
.GridSet .Grid3 .p-3  { padding: 3px!important; }
.GridSet .Grid3 .p-4  { padding: 4px!important; }
.GridSet .Grid3 .p-5  { padding: 5px!important; }
.GridSet .Grid3 .p-6  { padding: 6px!important; }
.GridSet .Grid3 .p-7  { padding: 7px!important; }
.GridSet .Grid3 .p-8  { padding: 8px!important; }
.GridSet .Grid3 .p-9  { padding: 9px!important; }
.GridSet .Grid3 .p-10 { padding: 10px!important; }
.GridSet .Grid3 .p-20 { padding: 20px!important; }

/* padding-top */
.GridSet .Grid3 .pt-0  { padding-top: 0px!important; }
.GridSet .Grid3 .pt-1  { padding-top: 1px!important; }
.GridSet .Grid3 .pt-2  { padding-top: 2px!important; }
.GridSet .Grid3 .pt-3  { padding-top: 3px!important; }
.GridSet .Grid3 .pt-4  { padding-top: 4px!important; }
.GridSet .Grid3 .pt-5  { padding-top: 5px!important; }
.GridSet .Grid3 .pt-6  { padding-top: 6px!important; }
.GridSet .Grid3 .pt-7  { padding-top: 7px!important; }
.GridSet .Grid3 .pt-8  { padding-top: 8px!important; }
.GridSet .Grid3 .pt-9  { padding-top: 9px!important; }
.GridSet .Grid3 .pt-10 { padding-top: 10px!important; }
.GridSet .Grid3 .pt-20 { padding-top: 20px!important; }

/* padding-right */
.GridSet .Grid3 .pr-0  { padding-right: 0px!important; }
.GridSet .Grid3 .pr-1  { padding-right: 1px!important; }
.GridSet .Grid3 .pr-2  { padding-right: 2px!important; }
.GridSet .Grid3 .pr-3  { padding-right: 3px!important; }
.GridSet .Grid3 .pr-4  { padding-right: 4px!important; }
.GridSet .Grid3 .pr-5  { padding-right: 5px!important; }
.GridSet .Grid3 .pr-6  { padding-right: 6px!important; }
.GridSet .Grid3 .pr-7  { padding-right: 7px!important; }
.GridSet .Grid3 .pr-8  { padding-right: 8px!important; }
.GridSet .Grid3 .pr-9  { padding-right: 9px!important; }
.GridSet .Grid3 .pr-10 { padding-right: 10px!important; }
.GridSet .Grid3 .pr-20 { padding-right: 20px!important; }

/* padding-bottom */
.GridSet .Grid3 .pb-0  { padding-bottom: 0px!important; }
.GridSet .Grid3 .pb-1  { padding-bottom: 1px!important; }
.GridSet .Grid3 .pb-2  { padding-bottom: 2px!important; }
.GridSet .Grid3 .pb-3  { padding-bottom: 3px!important; }
.GridSet .Grid3 .pb-4  { padding-bottom: 4px!important; }
.GridSet .Grid3 .pb-5  { padding-bottom: 5px!important; }
.GridSet .Grid3 .pb-6  { padding-bottom: 6px!important; }
.GridSet .Grid3 .pb-7  { padding-bottom: 7px!important; }
.GridSet .Grid3 .pb-8  { padding-bottom: 8px!important; }
.GridSet .Grid3 .pb-9  { padding-bottom: 9px!important; }
.GridSet .Grid3 .pb-10 { padding-bottom: 10px!important; }
.GridSet .Grid3 .pb-20 { padding-bottom: 20px!important; }

/* padding-left */
.GridSet .Grid3 .pl-0  { padding-left: 0px!important; }
.GridSet .Grid3 .pl-1  { padding-left: 1px!important; }
.GridSet .Grid3 .pl-2  { padding-left: 2px!important; }
.GridSet .Grid3 .pl-3  { padding-left: 3px!important; }
.GridSet .Grid3 .pl-4  { padding-left: 4px!important; }
.GridSet .Grid3 .pl-5  { padding-left: 5px!important; }
.GridSet .Grid3 .pl-6  { padding-left: 6px!important; }
.GridSet .Grid3 .pl-7  { padding-left: 7px!important; }
.GridSet .Grid3 .pl-8  { padding-left: 8px!important; }
.GridSet .Grid3 .pl-9  { padding-left: 9px!important; }
.GridSet .Grid3 .pl-10 { padding-left: 10px!important; }
.GridSet .Grid3 .pl-20 { padding-left: 20px!important; }

.GridSet .Grid3 .bg-gray1 { background-color: var(--color-gray1)!important; }
.GridSet .Grid3 .bg-gray2 { background-color: var(--color-gray2)!important; }
.GridSet .Grid3 .bg-gray3 { background-color: var(--color-gray3)!important; }
.GridSet .Grid3 .bg-gray4 { background-color: var(--color-gray4)!important; }
.GridSet .Grid3 .bg-gray5 { background-color: var(--color-gray5)!important; }
.GridSet .Grid3 .bg-gray6 { background-color: var(--color-gray6)!important; }


/* flex */
.GridSet .Grid3 .flex { display: flex!important; }
.GridSet .Grid3 .item-center { align-items: center!important; }
.GridSet .Grid3 .item-top { align-items: top!important; }
.GridSet .Grid3 .justify-center { justify-content: center!important; }
.GridSet .Grid3 .justify-left { justify-content: left!important; }
.GridSet .Grid3 .direction-column { flex-direction: column!important; }
.GridSet .Grid3 .direction-column-reverse { flex-direction: column-reverse!important; }
.GridSet .Grid3 .wrap { flex-wrap: wrap!important; }
.GridSet .Grid3 .gap-10 { gap: 10px!important; }
.GridSet .Grid3 .gap-20 { gap: 20px!important; }
.GridSet .Grid3 .gap-30 { gap: 30px!important; }
.GridSet .Grid3 .gap-40 { gap: 40px!important; }
.GridSet .Grid3 .gap-50 { gap: 50px!important; }

/* grid */
.GridSet .Grid3 .grid { display: grid!important; }
.GridSet .Grid3 .grid-cols-1 { grid-template-columns: 1fr!important; }
.GridSet .Grid3 .grid-cols-2 { grid-template-columns: repeat(2, 1fr)!important; }
.GridSet .Grid3 .grid-cols-3 { grid-template-columns: repeat(3, 1fr)!important; }
.GridSet .Grid3 .grid-cols-4 { grid-template-columns: repeat(4, 1fr)!important; }
.GridSet .Grid3 .grid-cols-5 { grid-template-columns: repeat(5, 1fr)!important; }
@media screen and (max-width: 767px) {
    .GridSet .Grid3 .sp-grid-cols-1 { grid-template-columns: 1fr!important; }
    .GridSet .Grid3 .sp-grid-cols-2 { grid-template-columns: repeat(2, 1fr)!important; }
    .GridSet .Grid3 .sp-grid-cols-3 { grid-template-columns: repeat(3, 1fr)!important; }
    .GridSet .Grid3 .sp-grid-cols-4 { grid-template-columns: repeat(4, 1fr)!important; }
    .GridSet .Grid3 .sp-grid-cols-5 { grid-template-columns: repeat(5, 1fr)!important; }
}

/* font-size */
.GridSet .Grid3 .fs-10 { font-size: 10px!important; }
.GridSet .Grid3 .fs-12 { font-size: 12px!important; }
.GridSet .Grid3 .fs-14 { font-size: 14px!important; }
.GridSet .Grid3 .fs-16 { font-size: 16px!important; }
.GridSet .Grid3 .fs-18 { font-size: 18px!important; }
.GridSet .Grid3 .fs-20 { font-size: 20px!important; }
.GridSet .Grid3 .fs-24 { font-size: 24px!important; }
.GridSet .Grid3 .fs-28 { font-size: 28px!important; }

.text-normal { font-weight: 400!important; }
.text-bold { font-weight: 700!important; }

.text-left { text-align: left!important; }
.text-center { text-align: center!important; }
.text-right { text-align: right!important; }

/* pc-only */
@media screen and (max-width: 767px) {
    .pc-only {
        display: none;
    }
}

/* sp-only */
.sp-only {
    display: none;
}
@media screen and (max-width: 767px) {
    .sp-only {
        display: unset;
    }
}

/*------------------------------------------
汎用パーツ
------------------------------------------*/

/* 共通CTA */
@media screen and (max-width: 930px) {
    .parts-cta .cta-block {
        flex-direction: column;
    }
}

/* H1下線 */
.GridSet .Grid3 h1.underline {
    margin-bottom: 40px;
    text-align: center;
    position: relative;
}
.GridSet .Grid3 h1.underline::after {
    content: "";
    display: block;
    width: 117px;
    height: 6px;
    background: var(--color-gradation);
    border-radius: 3px;
    margin: 30px auto 0;
}
.GridSet .Grid3 h1.underline > .sub-title {
    margin-top: 6px;
    font-size: 1rem;
}

/* H2左線 */
.GridSet .Grid3 h2.border-left {
    margin-bottom: 20px;
    padding-left: 20px;
    position: relative;
}
.GridSet .Grid3 h2.border-left::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 100%;
    border-radius: 3px;
    background: var(--color-gradation);
}

/* H3下線 */
.GridSet .Grid3 h3.underline {
    position: relative;
}
.GridSet .Grid3 h3.underline::after {
    content: "";
    display: block;
    margin-top: 6px;
    width: 100%;
    height: 2px;
    background: var(--color-gradation);
}

/* H3背景 */
.GridSet .Grid3 h3.background {
    padding: 10px 20px;
}
.GridSet .Grid3 h3.background.orange {
    background: var(--color-orange1);
    border: 1px solid var(--color-orange2);
}
.GridSet .Grid3 h3.background.gray {
    background: var(--color-gray4);
    border: 1px solid var(--color-gray2);
    color: var(--color-white);
}
.GridSet .Grid3 h3.background.light-gray {
    background: var(--color-gray2);
    border: 1px solid var(--color-gray1);
    color: var(--color-black);
}

/* ｐタグ文字小 */
.GridSet .Grid3 p.small-text {
    font-size: 12px;
}

/* ラベル */
.GridSet .Grid3 .label {
    margin-right: 10px;
    padding: 0 12px;
    border-radius: 5px;
    white-space: nowrap;
    font-size: 12px;
}
.GridSet .Grid3 .label.gray {
    border: 1px solid #ddd;
    background: #eee;
}

/* 画像 */
.GridSet .Grid3 .image-box {
    width: fit-content;
    margin: 0 auto;
}
.GridSet .Grid3 .image-box img {
    margin: 0 auto;
    display: block;
    max-width: 100%;
    height: auto;
}
.GridSet .Grid3 .image-box .caption {
    font-size: 12px;
    color: var(--color-black);
}

/* アンカーリンクボックス */
.GridSet .Grid3 .anchor-link-block {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
@media screen and (max-width: 767px) {
    .GridSet .Grid3 .anchor-link-block {
        gap: .5rem;
    }
}

/* アンカーリンク */
.anchor-link {
    position: relative;
    padding-right: 18px;
    font-size: 90%;
}
.anchor-link:link,
.anchor-link:visited {
    text-decoration: none;
    color: var(--color-red2);
}
.anchor-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 16px;
    height: 16px;
    background: url(/-/media/ind/fs/common2/image/icon_link_bottom_hd.gif) no-repeat center center / contain;
    transition: all .3s
}
.anchor-link:hover {
    text-decoration: underline;
}
.anchor-link:hover::after {
    bottom: -1px;
}
@media screen and (max-width: 767px) {
    .anchor-link:not(.GridSet .Grid3 .anchor-link-block .anchor-link) {
        margin-bottom: .5rem;
        display: block;
        padding: .5rem 1.2rem .5rem .5rem;
        border: 1px solid var(--color-red2);
        border-radius: 10px;
    }
    .anchor-link:not(.GridSet .Grid3 .anchor-link-block .anchor-link)::after {
        bottom: unset;
        top: 50%;
        right: .3rem;
        transform: translateY(-50%);
    }
}


/* 普通のテーブル */
.GridSet .Grid3 table.normal {
    width: 100%;
}
.GridSet .Grid3 table.normal th {
    padding: 20px;
    border: solid 1px #ccc;
    color: #000;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: left;
    white-space: nowrap;
}
.GridSet .Grid3 table.normal td {
    padding: 20px;
    border: solid 1px #ccc;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: left;
}
@media screen and (max-width: 767px) {
    .GridSet .Grid3 table.normal th,
    .GridSet .Grid3 table.normal td {
        padding: 0.5rem;
        font-size: .9rem;
    }
}

/* table（枠なし） */
table.no-border th,
table.no-border td {
    border: none!important;
}

/* 2列グリッド */
.GridSet .Grid3 .grid-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}
@media screen and (max-width: 767px) {
    .GridSet .Grid3 .grid-two-column {
        grid-template-columns: 1fr;
    }
}

/* 枠線つきのボックス */
.GridSet .Grid3 .border-box {
    padding: 20px 30px;
    border: 1px solid var(--color-gray2);
}
.GridSet .Grid3 .border-box .title {
    color: var(--color-black);
    font-size: 20px;
    font-weight: 700;
}
.GridSet .Grid3 .border-box .content {
    margin-top: 20px;
}

@media screen and (max-width: 767px) {
    .GridSet .Grid3 .border-box {
        padding: 1rem;
    }
}

/* 画像 + テキスト回り込み */
.GridSet .Grid3 .float-box {
    display: flow-root;
}
.GridSet .Grid3 .float-image.left {
    float: left;
    margin: 0 16px 16px 0;
}
.GridSet .Grid3 .float-image.right {
    float: right;
    margin: 0 0 16px 16px;
}

/* flexボックス */
.GridSet .Grid3 .flex-box {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
@media screen and (max-width: 767px) {
    .GridSet .Grid3 .flex-box {
        flex-direction: column;
        gap: 1rem;
    }
}

/* flex テキスト+画像 */
.GridSet .Grid3 .flex-box-image {
    display: flex;
    gap: 20px;
}
.GridSet .Grid3 .flex-box-image .image-box {
    width: unset;
    flex-shrink: 0;
}
.GridSet .Grid3 .flex-box-image .image-box img {
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .GridSet .Grid3 .flex-box-image {
        flex-direction: column;
        gap: 1rem;
    }
    .GridSet .Grid3 .flex-box-image img {
        margin: 0 auto;
    }
}

/* dl横並び */
.GridSet .Grid3 .dl-grid {
    display: grid;
    grid-template-columns: 1fr 5fr;
    gap: 20px;
    row-gap: 10px;
}
.GridSet .Grid3 .dl-grid dt {
    white-space: nowrap;
}

/* li */
.GridSet .Grid3 ul.list-style > li {
    position: relative;
    padding-left: 16px;
}

.GridSet .Grid3 ul.list-style > li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}

/* ol */
.GridSet .Grid3 ol.list-style {
    list-style: none;
    padding-left: 0;
    counter-reset: list-num;
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.GridSet .Grid3 ol.list-style > li {
    counter-increment: list-num;
    padding-left: 2.5em;
    position: relative;
}

.GridSet .Grid3 ol.list-style > li::before {
    content: "（" counter(list-num) "）";
    position: absolute;
    left: 0;
}

/* 注意書き */
.GridSet .Grid3 p.note {
    padding-left: 20px;
    position: relative;
}
.GridSet .Grid3 p.note::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}

/* 脚注 */
.GridSet .Grid3 ul.footnote {
    margin: 0;
    padding: 0;
}

.GridSet .Grid3 ul.footnote > li {
    padding-left: 1rem;
    position: relative;
    font-size: .8rem;
}

.GridSet .Grid3 ul.footnote > li::before {
    content: "※";
    position: absolute;
    top: 1px;
    left: 0;
    font-size: .8rem;
    line-height: 1.4;
}

/* ページャー */
.GridSet .Grid3 .pager > ul {
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.GridSet .Grid3 .pager > ul > li > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--color-gray3);
    background: var(--color-white);
    color: var(--color-black);
    text-decoration: none;
    transition: all .3s;
}

.GridSet .Grid3 .pager > ul > li > a:hover {
    background: var(--color-gray5);
    color: var(--color-white);
}

.GridSet .Grid3 .pager > ul > li.current > a {
    background: var(--color-gray5);
    color: var(--color-white);
}

.GridSet .Grid3 .pager > ul > li.current > a:hover {
    border: 1px solid var(--color-gray3);
    background: var(--color-white);
    color: var(--color-black);
}

/* フッター上ナビ */

#LowerNavigationFs {
    padding-top: 25px;
    padding-bottom: 10px;
    background: var(--color-gray1);
}

#LowerNavigationFs .ColumnSet {
    max-width: var(--site-width);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

#LowerNavigationFs .ColumnSet .LinkListStyle2 a:link,
#LowerNavigationFs .ColumnSet .LinkListStyle2 a:visited {
    color: var(--color-black);
    background-image: none;
    position: relative;
    padding-right: .8rem!important;
}

#LowerNavigationFs .ColumnSet .LinkListStyle2 a:link::after,
#LowerNavigationFs .ColumnSet .LinkListStyle2 a:visited::after {
    content: "";
    position: absolute;
    bottom: 5px;
    right: 0;
    width: 6px;
    height: 6px;
    transform: rotate(-45deg);
    border-bottom: 1px solid var(--color-black);
    border-right: 1px solid var(--color-black);
}

#LowerNavigationFs .ColumnSet .LinkListStyle2 a:hover {
    color: var(--color-red2);
}

#LowerNavigationFs .ColumnSet .LinkListStyle2 a:hover::after {
    border-bottom: 1px solid var(--color-red2);
    border-right: 1px solid var(--color-red2);
}

@media screen and (min-width: 995px) and (max-width: 1304px) {
    #LowerNavigationFs .ColumnSet {
        padding-left: calc(15px + 25px);
        padding-right: 15px;
    }
}

@media screen and (max-width: 994px) {
    #LowerNavigationFs .ColumnSet {
        padding: 0 1rem;
    }
}

@media screen and (max-width: 1230px) {
    #LowerNavigationFs .ColumnSet {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        row-gap: 0;
    }
}

@media screen and (max-width: 645px) {
    #LowerNavigationFs .ColumnSet {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 450px) {
    #LowerNavigationFs .ColumnSet {
        grid-template-columns: 1fr;
    }
}

/*------------------------------------------
FAQ
------------------------------------------*/

.GridSet .Grid3 .section-faq .question {
    margin-bottom: 10px;
    position: relative;
    padding-left: calc(20px + 12px);
    font-size: 20px;
}
.GridSet .Grid3 .section-faq .question::before {
    content: "Q.";
    position: absolute;
    top: 0;
    left: 0;
    font-size: 20px;
    font-weight: 700;
}

.GridSet .Grid3 .section-faq .answer {
    margin-bottom: 20px;
    position: relative;
    padding-left: calc(20px + 12px);
    padding-top: 3px;
}
.GridSet .Grid3 .section-faq .answer::before {
    content: "A.";
    position: absolute;
    top: 0;
    left: 0;
    font-size: 22px;
    font-weight: 700;
    color: var(--color-red2);
}
.GridSet .Grid3 .section-faq .answer > ul {
    margin: 20px 0;
    padding-left: calc(20px + 12px);
}
@media screen and (max-width: 767px) {
    .GridSet .Grid3 .section-faq .answer > ul {
        padding-left: 0;
    }
}


