@charset "utf-8";
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}
html,
body {
    width: 100%;
    height: 100%
}
body {
    line-height: 1.5;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(1.6rem, 1.547rem + 0.27vw, 1.8rem);
    color: #000;
    /* overflow-x: hidden; */
}
/*_:lang(x)::-ms-backdrop, body {
    font-family: "Segoe UI", Meiryo, sans-serif;
}*/

@media screen and (min-width : 1024px) {
    body {
        line-height: 1.5;
    }
}

img {
    display: block;
    margin: 0;
    width: 100%;
    height: auto;
    font-size: 0
}
@media screen and (min-width : 1024px) {
    img {
        width: auto;
        max-width: 100%;
        height: auto;
    }
}

svg {
    width: 100%;
    height: 100%;
}
figure {
    display: block;
    margin: 0
}
figcaption {
    font-size: 1.6rem;
}
picture {
    display: block;
    margin: 0
}
ul,
li {
    list-style: none
}
a, a:link a:visited {
    color: #000;
    word-break: break-word;
    text-decoration: none;
}
a:hover {
    /*transition: color .1s ease, opacity .1s ease, background .1s ease;*/
}
h1, h2, h3, h4, h5 {
    margin: 0;
    font-weight: 400;
}
p {
    line-height: 1.6;
}
input,
textarea,
select {
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    border: none;
    outline: none;
    color: #2E2E2E;
}
/*to enable resizing for IE*/
input,
textarea,
select {
  *font-size:100%;
}

sup {
    font-size: 1.1rem;
    vertical-align: super;
    display: inline-block;
    margin-left: .2rem;
}

/* Basic Modules
---------------------------------------*/
.mt0 { margin-top: 0!important }
.mt1 { margin-top: 1rem!important }
.mt1-5 { margin-top: 1.5rem!important }
.mt2 { margin-top: 2rem!important }
.mt3 { margin-top: 3rem!important }
.mt4 { margin-top: 4rem!important }
.mt5 { margin-top: 5rem!important }
.mt6 { margin-top: 6rem!important }
.mt7 { margin-top: 7rem!important }
.mt8 { margin-top: 8rem!important }
.mt9 { margin-top: 9rem!important }
.mt10 { margin-top: 10rem!important }
.mt11 { margin-top: 11rem!important }
.mt12 { margin-top: 12rem!important }
.mt13 { margin-top: 13rem!important }
.mt14 { margin-top: 14rem!important }
.mt15 { margin-top: 15rem!important }

.mb0 { margin-bottom: 0!important }
.mb1 { margin-bottom: 1rem!important }
.mb2 { margin-bottom: 2rem!important }
.mb3 { margin-bottom: 3rem!important }
.mb4 { margin-bottom: 4rem!important }
.mb5 { margin-bottom: 5rem!important }
.mb6 { margin-bottom: 6rem!important }
.mb7 { margin-bottom: 7rem!important }
.mb8 { margin-bottom: 8rem!important }
.mb9 { margin-bottom: 9rem!important }
.mb10 { margin-bottom: 10rem!important }
.mb11 { margin-bottom: 11rem!important }
.mb12 { margin-bottom: 12rem!important }
.mb13 { margin-bottom: 13rem!important }
.mb14 { margin-bottom: 14rem!important }
.mb15 { margin-bottom: 15rem!important }

.ml0 { margin-left: 0!important }
.ml1 { margin-left: 1rem!important }
.ml2 { margin-left: 2rem!important }
.ml3 { margin-left: 3rem!important }
.ml4 { margin-left: 4rem!important }

.mr0 { margin-right: 0!important }
.mr1 { margin-right: 1rem!important }
.mr2 { margin-right: 2rem!important }
.mr4 { margin-right: 4rem!important }

/* Padding */
.pt0 { padding-top: 0!important }
.pt1 { padding-top: 1rem!important }
.pt2 { padding-top: 2rem!important }
.pt3 { padding-top: 3rem!important }
.pt4 { padding-top: 4rem!important }
.pt5 { padding-top: 5rem!important }
.pt6 { padding-top: 6rem!important }
.pt7 { padding-top: 7rem!important }
.pt8 { padding-top: 8rem!important }
.pt9 { padding-top: 9rem!important }
.pt10 { padding-top: 10rem!important }
.pt15 { padding-top: 15rem!important }

.pb0 { padding-bottom: 0!important }
.pb1 { padding-bottom: 1rem!important }
.pb2 { padding-bottom: 2rem!important }
.pb3 { padding-bottom: 3rem!important }
.pb4 { padding-bottom: 4rem!important }
.pb5 { padding-bottom: 5rem!important }
.pb6 { padding-bottom: 6rem!important }
.pb7 { padding-bottom: 7rem!important }
.pb8 { padding-bottom: 8rem!important }
.pb9 { padding-bottom: 9rem!important }
.pb10 { padding-bottom: 10rem!important }
.pb15 { padding-bottom: 15rem!important }

.pl0 { padding-left: 0!important }
.pr0 { padding-right: 0!important }

/* Margin PC */
@media screen and (min-width : 1024px) {
    .mt0_lg { margin-top: 0!important }
    .mt1_lg { margin-top: 1rem!important }
    .mt1-5_lg { margin-top: 1.5rem!important }
    .mt2_lg { margin-top: 2rem!important }
    .mt3_lg { margin-top: 3rem!important }
    .mt4_lg { margin-top: 4rem!important }
    .mt5_lg { margin-top: 5rem!important }
    .mt6_lg { margin-top: 6rem!important }
    .mt7_lg { margin-top: 7rem!important }
    .mt8_lg { margin-top: 8rem!important }
    .mt9_lg { margin-top: 9rem!important }
    .mt10_lg { margin-top: 10rem!important }
    .mt15_lg { margin-top: 15rem!important }

    .mb0_lg { margin-bottom: 0!important }
    .mb1_lg { margin-bottom: 1rem!important }
    .mb2_lg { margin-bottom: 2rem!important }
    .mb3_lg { margin-bottom: 3rem!important }
    .mb4_lg { margin-bottom: 4rem!important }
    .mb5_lg { margin-bottom: 5rem!important }
    .mb6_lg { margin-bottom: 6rem!important }
    .mb7_lg { margin-bottom: 7rem!important }
    .mb8_lg { margin-bottom: 8rem!important }
    .mb9_lg { margin-bottom: 9rem!important }
    .mb10_lg { margin-bottom: 10rem!important }
    .mb15_lg { margin-bottom: 15rem!important }

    .ml0_lg { margin-left: 0!important }
    .ml1_lg { margin-left: 1rem!important }
    .ml2_lg { margin-left: 2rem!important }
    .ml3_lg { margin-left: 3rem!important }
    .ml4_lg { margin-left: 4rem!important }

    .mr0_lg { margin-right: 0!important }
    .mr1_lg { margin-right: 1rem!important }
    .mr2_lg { margin-right: 2rem!important }
    .mr4_lg { margin-right: 4rem!important }

    /* Padding */
    .pt0_lg { padding-top: 0!important }
    .pt1_lg { padding-top: 1rem!important }
    .pt2_lg { padding-top: 2rem!important }
    .pt3_lg { padding-top: 3rem!important }
    .pt4_lg { padding-top: 4rem!important }
    .pt5_lg { padding-top: 5rem!important }
    .pt6_lg { padding-top: 6rem!important }
    .pt7_lg { padding-top: 7rem!important }
    .pt8_lg { padding-top: 8rem!important }
    .pt9_lg { padding-top: 9rem!important }
    .pt10_lg { padding-top: 10rem!important }
    .pt15_lg { padding-top: 15rem!important }

    .pb0_lg { padding-bottom: 0!important }
    .pb1_lg { padding-bottom: 1rem!important }
    .pb2_lg { padding-bottom: 2rem!important }
    .pb3_lg { padding-bottom: 3rem!important }
    .pb4_lg { padding-bottom: 4rem!important }
    .pb5_lg { padding-bottom: 5rem!important }
    .pb6_lg { padding-bottom: 6rem!important }
    .pb7_lg { padding-bottom: 7rem!important }
    .pb8_lg { padding-bottom: 8rem!important }
    .pb9_lg { padding-bottom: 9rem!important }
    .pb10_lg { padding-bottom: 10rem!important }
    .pb15_lg { padding-bottom: 15rem!important }

    .pl0_lg { padding-left: 0!important }
    .pr0_lg { padding-right: 0!important }
}

/* Margin window size --small */
@media screen and (max-width : 767px) {
    .mt0_sm { margin-top: 0!important }
    .mt1_sm { margin-top: 1rem!important }
    .mt1-5_sm { margin-top: 1.5rem!important }
    .mt2_sm { margin-top: 2rem!important }
    .mt3_sm { margin-top: 3rem!important }
    .mt4_sm { margin-top: 4rem!important }
    .mt5_sm { margin-top: 5rem!important }
    .mt6_sm { margin-top: 6rem!important }
    .mt7_sm { margin-top: 7rem!important }
    .mt8_sm { margin-top: 8rem!important }
    .mt9_sm { margin-top: 9rem!important }
    .mt10_sm { margin-top: 10rem!important }
    .mt15_sm { margin-top: 15rem!important }

    .mb0_sm { margin-bottom: 0!important }
    .mb1_sm { margin-bottom: 1rem!important }
    .mb2_sm { margin-bottom: 2rem!important }
    .mb3_sm { margin-bottom: 3rem!important }
    .mb4_sm { margin-bottom: 4rem!important }
    .mb5_sm { margin-bottom: 5rem!important }
    .mb6_sm { margin-bottom: 6rem!important }
    .mb7_sm { margin-bottom: 7rem!important }
    .mb8_sm { margin-bottom: 8rem!important }
    .mb9_sm { margin-bottom: 9rem!important }
    .mb10_sm { margin-bottom: 10rem!important }
    .mb15_sm { margin-bottom: 15rem!important }

    .ml0_sm { margin-left: 0!important }
    .ml1_sm { margin-left: 1rem!important }
    .ml2_sm { margin-left: 2rem!important }
    .ml3_sm { margin-left: 3rem!important }
    .ml4_sm { margin-left: 4rem!important }

    .mr0_sm { margin-right: 0!important }
    .mr1_sm { margin-right: 1rem!important }
    .mr2_sm { margin-right: 2rem!important }
    .mr4_sm { margin-right: 4rem!important }

    /* Padding */
    .pt0_sm { padding-top: 0!important }
    .pt1_sm { padding-top: 1rem!important }
    .pt2_sm { padding-top: 2rem!important }
    .pt3_sm { padding-top: 3rem!important }
    .pt4_sm { padding-top: 4rem!important }
    .pt5_sm { padding-top: 5rem!important }
    .pt6_sm { padding-top: 6rem!important }
    .pt7_sm { padding-top: 7rem!important }
    .pt8_sm { padding-top: 8rem!important }
    .pt9_sm { padding-top: 9rem!important }
    .pt10_sm { padding-top: 10rem!important }
    .pt15_sm { padding-top: 15rem!important }

    .pb0_sm { padding-bottom: 0!important }
    .pb1_sm { padding-bottom: 1rem!important }
    .pb2_sm { padding-bottom: 2rem!important }
    .pb3_sm { padding-bottom: 3rem!important }
    .pb4_sm { padding-bottom: 4rem!important }
    .pb5_sm { padding-bottom: 5rem!important }
    .pb6_sm { padding-bottom: 6rem!important }
    .pb7_sm { padding-bottom: 7rem!important }
    .pb8_sm { padding-bottom: 8rem!important }
    .pb9_sm { padding-bottom: 9rem!important }
    .pb10_sm { padding-bottom: 10rem!important }
    .pb15_sm { padding-bottom: 15rem!important }

    .pl0_sm { padding-left: 0!important }
    .pr0_sm { padding-right: 0!important }
}

/* Margin window size --middle */
@media screen and (max-width : 1023px) {
    .mt0_md { margin-top: 0!important }
    .mt1_md { margin-top: 1rem!important }
    .mt1-5_md { margin-top: 1.5rem!important }
    .mt2_md { margin-top: 2rem!important }
    .mt3_md { margin-top: 3rem!important }
    .mt4_md { margin-top: 4rem!important }
    .mt5_md { margin-top: 5rem!important }
    .mt6_md { margin-top: 6rem!important }
    .mt7_md { margin-top: 7rem!important }
    .mt8_md { margin-top: 8rem!important }
    .mt9_md { margin-top: 9rem!important }
    .mt10_md { margin-top: 10rem!important }
    .mt15_md { margin-top: 15rem!important }

    .mb0_md { margin-bottom: 0!important }
    .mb1_md { margin-bottom: 1rem!important }
    .mb2_md { margin-bottom: 2rem!important }
    .mb3_md { margin-bottom: 3rem!important }
    .mb4_md { margin-bottom: 4rem!important }
    .mb5_md { margin-bottom: 5rem!important }
    .mb6_md { margin-bottom: 6rem!important }
    .mb7_md { margin-bottom: 7rem!important }
    .mb8_md { margin-bottom: 8rem!important }
    .mb9_md { margin-bottom: 9rem!important }
    .mb10_md { margin-bottom: 10rem!important }
    .mb15_md { margin-bottom: 15rem!important }

    .ml0_md { margin-left: 0!important }
    .ml1_md { margin-left: 1rem!important }
    .ml2_md { margin-left: 2rem!important }
    .ml3_md { margin-left: 3rem!important }
    .ml4_md { margin-left: 4rem!important }

    .mr0_md { margin-right: 0!important }
    .mr1_md { margin-right: 1rem!important }
    .mr2_md { margin-right: 2rem!important }
    .mr4_md { margin-right: 4rem!important }

    /* Padding */
    .pt0_md { padding-top: 0!important }
    .pt1_md { padding-top: 1rem!important }
    .pt2_md { padding-top: 2rem!important }
    .pt3_md { padding-top: 3rem!important }
    .pt4_md { padding-top: 4rem!important }
    .pt5_md { padding-top: 5rem!important }
    .pt6_md { padding-top: 6rem!important }
    .pt7_md { padding-top: 7rem!important }
    .pt8_md { padding-top: 8rem!important }
    .pt9_md { padding-top: 9rem!important }
    .pt10_md { padding-top: 10rem!important }
    .pt15_md { padding-top: 15rem!important }

    .pb0_md { padding-bottom: 0!important }
    .pb1_md { padding-bottom: 1rem!important }
    .pb2_md { padding-bottom: 2rem!important }
    .pb3_md { padding-bottom: 3rem!important }
    .pb4_md { padding-bottom: 4rem!important }
    .pb5_md { padding-bottom: 5rem!important }
    .pb6_md { padding-bottom: 6rem!important }
    .pb7_md { padding-bottom: 7rem!important }
    .pb8_md { padding-bottom: 8rem!important }
    .pb9_md { padding-bottom: 9rem!important }
    .pb10_md { padding-bottom: 10rem!important }
    .pb15_md { padding-bottom: 15rem!important }

    .pl0_md { padding-left: 0!important }
    .pr0_md { padding-right: 0!important }
}

/* Margin window size --large */
@media screen and (min-width : 1024px) {
    .mt0_lg { margin-top: 0!important }
    .mt1_lg { margin-top: 1rem!important }
    .mt1-5_lg { margin-top: 1.5rem!important }
    .mt2_lg { margin-top: 2rem!important }
    .mt3_lg { margin-top: 3rem!important }
    .mt4_lg { margin-top: 4rem!important }
    .mt5_lg { margin-top: 5rem!important }
    .mt6_lg { margin-top: 6rem!important }
    .mt7_lg { margin-top: 7rem!important }
    .mt8_lg { margin-top: 8rem!important }
    .mt9_lg { margin-top: 9rem!important }
    .mt10_lg { margin-top: 10rem!important }
    .mt15_lg { margin-top: 15rem!important }

    .mb0_lg { margin-bottom: 0!important }
    .mb1_lg { margin-bottom: 1rem!important }
    .mb2_lg { margin-bottom: 2rem!important }
    .mb3_lg { margin-bottom: 3rem!important }
    .mb4_lg { margin-bottom: 4rem!important }
    .mb5_lg { margin-bottom: 5rem!important }
    .mb6_lg { margin-bottom: 6rem!important }
    .mb7_lg { margin-bottom: 7rem!important }
    .mb8_lg { margin-bottom: 8rem!important }
    .mb9_lg { margin-bottom: 9rem!important }
    .mb10_lg { margin-bottom: 10rem!important }
    .mb15_lg { margin-bottom: 15rem!important }

    .ml0_lg { margin-left: 0!important }
    .ml1_lg { margin-left: 1rem!important }
    .ml2_lg { margin-left: 2rem!important }
    .ml3_lg { margin-left: 3rem!important }
    .ml4_lg { margin-left: 4rem!important }

    .mr0_lg { margin-right: 0!important }
    .mr1_lg { margin-right: 1rem!important }
    .mr2_lg { margin-right: 2rem!important }
    .mr4_lg { margin-right: 4rem!important }

    /* Padding */
    .pt0_lg { padding-top: 0!important }
    .pt1_lg { padding-top: 1rem!important }
    .pt2_lg { padding-top: 2rem!important }
    .pt3_lg { padding-top: 3rem!important }
    .pt4_lg { padding-top: 4rem!important }
    .pt5_lg { padding-top: 5rem!important }
    .pt6_lg { padding-top: 6rem!important }
    .pt7_lg { padding-top: 7rem!important }
    .pt8_lg { padding-top: 8rem!important }
    .pt9_lg { padding-top: 9rem!important }
    .pt10_lg { padding-top: 10rem!important }
    .pt15_lg { padding-top: 15rem!important }

    .pb0_lg { padding-bottom: 0!important }
    .pb1_lg { padding-bottom: 1rem!important }
    .pb2_lg { padding-bottom: 2rem!important }
    .pb3_lg { padding-bottom: 3rem!important }
    .pb4_lg { padding-bottom: 4rem!important }
    .pb5_lg { padding-bottom: 5rem!important }
    .pb6_lg { padding-bottom: 6rem!important }
    .pb7_lg { padding-bottom: 7rem!important }
    .pb8_lg { padding-bottom: 8rem!important }
    .pb9_lg { padding-bottom: 9rem!important }
    .pb10_lg { padding-bottom: 10rem!important }
    .pb15_lg { padding-bottom: 15rem!important }

    .pl0_lg { padding-left: 0!important }
    .pr0_lg { padding-right: 0!important }
}

.mla { margin-left: auto; }
.mra { margin-right: auto; }

/* inner */
.inner {
    margin: 0 auto;
    padding: 0 1.8rem;
    width: 100%;
    max-width: 1520px;
}
@media screen and (max-width : 767px) {
    .inner {
    }
}
@media screen and (min-width : 1600px) {
    .inner {
        padding: 0;
    }
}


/* 12カラムグリッド */
.grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.6rem;
}
.grid.--gap_lg {
    gap: 4.8rem;
}
@media screen and (max-width : 1023px) {
    .grid, .grid10 {
        /* display: block; */
        grid-template-columns: none;
        gap: 3rem;
    }
    .grid > *, .grid10 > * {
        grid-column: 1 / -1 !important;
    }
}

@media screen and (min-width : 1024px) {
    .grid_lg {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 3rem;
    }
}
@media screen and (min-width : 768px) and (max-width : 1023px) {
    .grid_md {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 1.6rem;
    }
}
@media screen and (max-width : 1023px) {
    .grid_md_sm {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 1.6rem;
    }
}
@media screen and (max-width : 767px) {
    .grid_sm {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 1.6rem;
    }
}

.grid_col_1_2 { grid-column: 1 / 2; }
.grid_col_1_3 { grid-column: 1 / 3; }
.grid_col_1_4 { grid-column: 1 / 4; }
.grid_col_1_5 { grid-column: 1 / 5; }
.grid_col_1_6 { grid-column: 1 / 6; }
.grid_col_1_7 { grid-column: 1 / 7; }
.grid_col_1_8 { grid-column: 1 / 8; }
.grid_col_1_9 { grid-column: 1 / 9; }
.grid_col_1_10 { grid-column: 1 / 10; }
.grid_col_1_11 { grid-column: 1 / 11; }
.grid_col_1_12 { grid-column: 1 / 12; }
.grid_col_1_13 { grid-column: 1 / 13; }

.grid_col_2_3 { grid-column: 2 / 3; }
.grid_col_2_4 { grid-column: 2 / 4; }
.grid_col_2_5 { grid-column: 2 / 5; }
.grid_col_2_6 { grid-column: 2 / 6; }
.grid_col_2_7 { grid-column: 2 / 7; }
.grid_col_2_8 { grid-column: 2 / 8; }
.grid_col_2_9 { grid-column: 2 / 9; }
.grid_col_2_10 { grid-column: 2 / 10; }
.grid_col_2_11 { grid-column: 2 / 11; }
.grid_col_2_12 { grid-column: 2 / 12; }
.grid_col_2_13 { grid-column: 2 / 13; }

.grid_col_3_4 { grid-column: 3 / 4; }
.grid_col_3_5 { grid-column: 3 / 5; }
.grid_col_3_6 { grid-column: 3 / 6; }
.grid_col_3_7 { grid-column: 3 / 7; }
.grid_col_3_8 { grid-column: 3 / 8; }
.grid_col_3_9 { grid-column: 3 / 9; }
.grid_col_3_10 { grid-column: 3 / 10; }
.grid_col_3_11 { grid-column: 3 / 11; }
.grid_col_3_12 { grid-column: 3 / 12; }
.grid_col_3_13 { grid-column: 3 / 13; }

.grid_col_4_5 { grid-column: 4 / 5; }
.grid_col_4_6 { grid-column: 4 / 6; }
.grid_col_4_7 { grid-column: 4 / 7; }
.grid_col_4_8 { grid-column: 4 / 8; }
.grid_col_4_9 { grid-column: 4 / 9; }
.grid_col_4_10 { grid-column: 4 / 10; }
.grid_col_4_11 { grid-column: 4 / 11; }
.grid_col_4_12 { grid-column: 4 / 12; }
.grid_col_4_13 { grid-column: 4 / 13; }

.grid_col_5_6 { grid-column: 5 / 6; }
.grid_col_5_7 { grid-column: 5 / 7; }
.grid_col_5_8 { grid-column: 5 / 8; }
.grid_col_5_9 { grid-column: 5 / 9; }
.grid_col_5_10 { grid-column: 5 / 10; }
.grid_col_5_11 { grid-column: 5 / 11; }
.grid_col_5_12 { grid-column: 5 / 12; }
.grid_col_5_13 { grid-column: 5 / 13; }

.grid_col_6_7 { grid-column: 6 / 7; }
.grid_col_6_8 { grid-column: 6 / 8; }
.grid_col_6_9 { grid-column: 6 / 9; }
.grid_col_6_10 { grid-column: 6 / 10; }
.grid_col_6_11 { grid-column: 6 / 11; }
.grid_col_6_12 { grid-column: 6 / 12; }
.grid_col_6_13 { grid-column: 6 / 13; }

.grid_col_7_8 { grid-column: 7 / 8; }
.grid_col_7_9 { grid-column: 7 / 9; }
.grid_col_7_10 { grid-column: 7 / 10; }
.grid_col_7_11 { grid-column: 7 / 11; }
.grid_col_7_12 { grid-column: 7 / 12; }
.grid_col_7_13 { grid-column: 7 / 13; }

.grid_col_8_9 { grid-column: 8 / 9; }
.grid_col_8_10 { grid-column: 8 / 10; }
.grid_col_8_11 { grid-column: 8 / 11; }
.grid_col_8_12 { grid-column: 8 / 12; }
.grid_col_8_13 { grid-column: 8 / 13; }

.grid_col_9_10 { grid-column: 9 / 10; }
.grid_col_9_11 { grid-column: 9 / 11; }
.grid_col_9_12 { grid-column: 9 / 12; }
.grid_col_9_13 { grid-column: 9 / 13; }

.grid_col_10_11 { grid-column: 10 / 11; }
.grid_col_10_12 { grid-column: 10 / 12; }
.grid_col_10_13 { grid-column: 10 / 13; }

.grid_col_11_12 { grid-column: 11 / 12; }
.grid_col_11_13 { grid-column: 11 / 13; }

.grid_col_12_13 { grid-column: 12 / 13; }

@media screen and (min-width : 1024px) {
    .grid_col_1_2_lg { grid-column: 1 / 2 !important; }
    .grid_col_1_3_lg { grid-column: 1 / 3 !important; }
    .grid_col_1_4_lg { grid-column: 1 / 4 !important; }
    .grid_col_1_5_lg { grid-column: 1 / 5 !important; }
    .grid_col_1_6_lg { grid-column: 1 / 6 !important; }
    .grid_col_1_7_lg { grid-column: 1 / 7 !important; }
    .grid_col_1_8_lg { grid-column: 1 / 8 !important; }
    .grid_col_1_9_lg { grid-column: 1 / 9 !important; }
    .grid_col_1_10_lg { grid-column: 1 / 10 !important; }
    .grid_col_1_11_lg { grid-column: 1 / 11 !important; }
    .grid_col_1_12_lg { grid-column: 1 / 12 !important; }
    .grid_col_1_13_lg { grid-column: 1 / 13 !important; }

    .grid_col_2_3_lg { grid-column: 2 / 3!important; }
    .grid_col_2_4_lg { grid-column: 2 / 4!important; }
    .grid_col_2_5_lg { grid-column: 2 / 5!important; }
    .grid_col_2_6_lg { grid-column: 2 / 6!important; }
    .grid_col_2_7_lg { grid-column: 2 / 7!important; }
    .grid_col_2_8_lg { grid-column: 2 / 8!important; }
    .grid_col_2_9_lg { grid-column: 2 / 9!important; }
    .grid_col_2_10_lg { grid-column: 2 / 10!important; }
    .grid_col_2_11_lg { grid-column: 2 / 11!important; }
    .grid_col_2_12_lg { grid-column: 2 / 12!important; }
    .grid_col_2_13_lg { grid-column: 2 / 13!important; }

    .grid_col_3_4_lg { grid-column: 3 / 4!important; }
    .grid_col_3_5_lg { grid-column: 3 / 5!important; }
    .grid_col_3_6_lg { grid-column: 3 / 6!important; }
    .grid_col_3_7_lg { grid-column: 3 / 7!important; }
    .grid_col_3_8_lg { grid-column: 3 / 8!important; }
    .grid_col_3_9_lg { grid-column: 3 / 9!important; }
    .grid_col_3_10_lg { grid-column: 3 / 10!important; }
    .grid_col_3_11_lg { grid-column: 3 / 11!important; }
    .grid_col_3_12_lg { grid-column: 3 / 12!important; }
    .grid_col_3_13_lg { grid-column: 3 / 13!important; }

    .grid_col_4_5_lg { grid-column: 4 / 5!important; }
    .grid_col_4_6_lg { grid-column: 4 / 6!important; }
    .grid_col_4_7_lg { grid-column: 4 / 7!important; }
    .grid_col_4_8_lg { grid-column: 4 / 8!important; }
    .grid_col_4_9_lg { grid-column: 4 / 9!important; }
    .grid_col_4_10_lg { grid-column: 4 / 10!important; }
    .grid_col_4_11_lg { grid-column: 4 / 11!important; }
    .grid_col_4_12_lg { grid-column: 4 / 12!important; }
    .grid_col_4_13_lg { grid-column: 4 / 13!important; }

    .grid_col_5_6_lg { grid-column: 5 / 6!important; }
    .grid_col_5_7_lg { grid-column: 5 / 7!important; }
    .grid_col_5_8_lg { grid-column: 5 / 8!important; }
    .grid_col_5_9_lg { grid-column: 5 / 9!important; }
    .grid_col_5_10_lg { grid-column: 5 / 10!important; }
    .grid_col_5_11_lg { grid-column: 5 / 11!important; }
    .grid_col_5_12_lg { grid-column: 5 / 12!important; }
    .grid_col_5_13_lg { grid-column: 5 / 13!important; }

    .grid_col_6_7_lg { grid-column: 6 / 7!important; }
    .grid_col_6_8_lg { grid-column: 6 / 8!important; }
    .grid_col_6_9_lg { grid-column: 6 / 9!important; }
    .grid_col_6_10_lg { grid-column: 6 / 10!important; }
    .grid_col_6_11_lg { grid-column: 6 / 11!important; }
    .grid_col_6_12_lg { grid-column: 6 / 12!important; }
    .grid_col_6_13_lg { grid-column: 6 / 13!important; }

    .grid_col_7_8_lg { grid-column: 7 / 8!important; }
    .grid_col_7_9_lg { grid-column: 7 / 9!important; }
    .grid_col_7_10_lg { grid-column: 7 / 10!important; }
    .grid_col_7_11_lg { grid-column: 7 / 11!important; }
    .grid_col_7_12_lg { grid-column: 7 / 12!important; }
    .grid_col_7_13_lg { grid-column: 7 / 13!important; }

    .grid_col_8_9_lg { grid-column: 8 / 9!important; }
    .grid_col_8_10_lg { grid-column: 8 / 10!important; }
    .grid_col_8_11_lg { grid-column: 8 / 11!important; }
    .grid_col_8_12_lg { grid-column: 8 / 12!important; }
    .grid_col_8_13_lg { grid-column: 8 / 13!important; }

    .grid_col_9_10_lg { grid-column: 9 / 10!important; }
    .grid_col_9_11_lg { grid-column: 9 / 11!important; }
    .grid_col_9_12_lg { grid-column: 9 / 12!important; }
    .grid_col_9_13_lg { grid-column: 9 / 13!important; }

    .grid_col_10_11_lg { grid-column: 10 / 11!important; }
    .grid_col_10_12_lg { grid-column: 10 / 12!important; }
    .grid_col_10_13_lg { grid-column: 10 / 13!important; }

    .grid_col_11_12_lg { grid-column: 11 / 12!important; }
    .grid_col_11_13_lg { grid-column: 11 / 13!important; }

    .grid_col_12_13_lg { grid-column: 12 / 13!important; }
    }

@media screen and (max-width : 767px) {
    .grid_col_1_2_md_sm { grid-column: 1 / 2 !important; }
    .grid_col_1_3_md_sm { grid-column: 1 / 3 !important; }
    .grid_col_1_4_md_sm { grid-column: 1 / 4 !important; }
    .grid_col_1_5_md_sm { grid-column: 1 / 5 !important; }
    .grid_col_1_6_md_sm { grid-column: 1 / 6 !important; }
    .grid_col_1_7_md_sm { grid-column: 1 / 7 !important; }
    .grid_col_1_8_md_sm { grid-column: 1 / 8 !important; }
    .grid_col_1_9_md_sm { grid-column: 1 / 9 !important; }
    .grid_col_1_10_md_sm { grid-column: 1 / 10 !important; }
    .grid_col_1_11_md_sm { grid-column: 1 / 11 !important; }
    .grid_col_1_12_md_sm { grid-column: 1 / 12 !important; }
    .grid_col_1_13_md_sm { grid-column: 1 / 13 !important; }

    .grid_col_2_3_md_sm { grid-column: 2 / 3 !important; }
    .grid_col_2_4_md_sm { grid-column: 2 / 4 !important; }
    .grid_col_2_5_md_sm { grid-column: 2 / 5 !important; }
    .grid_col_2_6_md_sm { grid-column: 2 / 6 !important; }
    .grid_col_2_7_md_sm { grid-column: 2 / 7 !important; }
    .grid_col_2_8_md_sm { grid-column: 2 / 8 !important; }
    .grid_col_2_9_md_sm { grid-column: 2 / 9 !important; }
    .grid_col_2_10_md_sm { grid-column: 2 / 10 !important; }
    .grid_col_2_11_md_sm { grid-column: 2 / 11 !important; }
    .grid_col_2_12_md_sm { grid-column: 2 / 12 !important; }
    .grid_col_2_13_md_sm { grid-column: 2 / 13 !important; }

    .grid_col_3_4_md_sm { grid-column: 3 / 4 !important; }
    .grid_col_3_5_md_sm { grid-column: 3 / 5 !important; }
    .grid_col_3_6_md_sm { grid-column: 3 / 6 !important; }
    .grid_col_3_7_md_sm { grid-column: 3 / 7 !important; }
    .grid_col_3_8_md_sm { grid-column: 3 / 8 !important; }
    .grid_col_3_9_md_sm { grid-column: 3 / 9 !important; }
    .grid_col_3_10_md_sm { grid-column: 3 / 10 !important; }
    .grid_col_3_11_md_sm { grid-column: 3 / 11 !important; }
    .grid_col_3_12_md_sm { grid-column: 3 / 12 !important; }
    .grid_col_3_13_md_sm { grid-column: 3 / 13 !important; }

    .grid_col_4_5_md_sm { grid-column: 4 / 5 !important; }
    .grid_col_4_6_md_sm { grid-column: 4 / 6 !important; }
    .grid_col_4_7_md_sm { grid-column: 4 / 7 !important; }
    .grid_col_4_8_md_sm { grid-column: 4 / 8 !important; }
    .grid_col_4_9_md_sm { grid-column: 4 / 9 !important; }
    .grid_col_4_10_md_sm { grid-column: 4 / 10 !important; }
    .grid_col_4_11_md_sm { grid-column: 4 / 11 !important; }
    .grid_col_4_12_md_sm { grid-column: 4 / 12 !important; }
    .grid_col_4_13_md_sm { grid-column: 4 / 13 !important; }

    .grid_col_5_6_md_sm { grid-column: 5 / 6 !important; }
    .grid_col_5_7_md_sm { grid-column: 5 / 7 !important; }
    .grid_col_5_8_md_sm { grid-column: 5 / 8 !important; }
    .grid_col_5_9_md_sm { grid-column: 5 / 9 !important; }
    .grid_col_5_10_md_sm { grid-column: 5 / 10 !important; }
    .grid_col_5_11_md_sm { grid-column: 5 / 11 !important; }
    .grid_col_5_12_md_sm { grid-column: 5 / 12 !important; }
    .grid_col_5_13_md_sm { grid-column: 5 / 13 !important; }

    .grid_col_6_7_md_sm { grid-column: 6 / 7 !important; }
    .grid_col_6_8_md_sm { grid-column: 6 / 8 !important; }
    .grid_col_6_9_md_sm { grid-column: 6 / 9 !important; }
    .grid_col_6_10_md_sm { grid-column: 6 / 10 !important; }
    .grid_col_6_11_md_sm { grid-column: 6 / 11 !important; }
    .grid_col_6_12_md_sm { grid-column: 6 / 12 !important; }
    .grid_col_6_13_md_sm { grid-column: 6 / 13 !important; }

    .grid_col_7_8_md_sm { grid-column: 7 / 8 !important; }
    .grid_col_7_9_md_sm { grid-column: 7 / 9 !important; }
    .grid_col_7_10_md_sm { grid-column: 7 / 10 !important; }
    .grid_col_7_11_md_sm { grid-column: 7 / 11 !important; }
    .grid_col_7_12_md_sm { grid-column: 7 / 12 !important; }
    .grid_col_7_13_md_sm { grid-column: 7 / 13 !important; }

    .grid_col_8_9_md_sm { grid-column: 8 / 9 !important; }
    .grid_col_8_10_md_sm { grid-column: 8 / 10 !important; }
    .grid_col_8_11_md_sm { grid-column: 8 / 11 !important; }
    .grid_col_8_12_md_sm { grid-column: 8 / 12 !important; }
    .grid_col_8_13_md_sm { grid-column: 8 / 13 !important; }

    .grid_col_9_10_md_sm { grid-column: 9 / 10 !important; }
    .grid_col_9_11_md_sm { grid-column: 9 / 11 !important; }
    .grid_col_9_12_md_sm { grid-column: 9 / 12 !important; }
    .grid_col_9_13_md_sm { grid-column: 9 / 13 !important; }

    .grid_col_10_11_md_sm { grid-column: 10 / 11 !important; }
    .grid_col_10_12_md_sm { grid-column: 10 / 12 !important; }
    .grid_col_10_13_md_sm { grid-column: 10 / 13 !important; }

    .grid_col_11_12_md_sm { grid-column: 11 / 12 !important; }
    .grid_col_11_13_md_sm { grid-column: 11 / 13 !important; }

    .grid_col_12_13_md_sm { grid-column: 12 / 13 !important; }
}

@media screen and (max-width : 767px) {
    .grid_col_1_2_sm { grid-column: 1 / 2 !important; }
    .grid_col_1_3_sm { grid-column: 1 / 3 !important; }
    .grid_col_1_4_sm { grid-column: 1 / 4 !important; }
    .grid_col_1_5_sm { grid-column: 1 / 5 !important; }
    .grid_col_1_6_sm { grid-column: 1 / 6 !important; }
    .grid_col_1_7_sm { grid-column: 1 / 7 !important; }
    .grid_col_1_8_sm { grid-column: 1 / 8 !important; }
    .grid_col_1_9_sm { grid-column: 1 / 9 !important; }
    .grid_col_1_10_sm { grid-column: 1 / 10 !important; }
    .grid_col_1_11_sm { grid-column: 1 / 11 !important; }
    .grid_col_1_12_sm { grid-column: 1 / 12 !important; }
    .grid_col_1_13_sm { grid-column: 1 / 13 !important; }

    .grid_col_2_3_sm { grid-column: 2 / 3 !important; }
    .grid_col_2_4_sm { grid-column: 2 / 4 !important; }
    .grid_col_2_5_sm { grid-column: 2 / 5 !important; }
    .grid_col_2_6_sm { grid-column: 2 / 6 !important; }
    .grid_col_2_7_sm { grid-column: 2 / 7 !important; }
    .grid_col_2_8_sm { grid-column: 2 / 8 !important; }
    .grid_col_2_9_sm { grid-column: 2 / 9 !important; }
    .grid_col_2_10_sm { grid-column: 2 / 10 !important; }
    .grid_col_2_11_sm { grid-column: 2 / 11 !important; }
    .grid_col_2_12_sm { grid-column: 2 / 12 !important; }
    .grid_col_2_13_sm { grid-column: 2 / 13 !important; }

    .grid_col_3_4_sm { grid-column: 3 / 4 !important; }
    .grid_col_3_5_sm { grid-column: 3 / 5 !important; }
    .grid_col_3_6_sm { grid-column: 3 / 6 !important; }
    .grid_col_3_7_sm { grid-column: 3 / 7 !important; }
    .grid_col_3_8_sm { grid-column: 3 / 8 !important; }
    .grid_col_3_9_sm { grid-column: 3 / 9 !important; }
    .grid_col_3_10_sm { grid-column: 3 / 10 !important; }
    .grid_col_3_11_sm { grid-column: 3 / 11 !important; }
    .grid_col_3_12_sm { grid-column: 3 / 12 !important; }
    .grid_col_3_13_sm { grid-column: 3 / 13 !important; }

    .grid_col_4_5_sm { grid-column: 4 / 5 !important; }
    .grid_col_4_6_sm { grid-column: 4 / 6 !important; }
    .grid_col_4_7_sm { grid-column: 4 / 7 !important; }
    .grid_col_4_8_sm { grid-column: 4 / 8 !important; }
    .grid_col_4_9_sm { grid-column: 4 / 9 !important; }
    .grid_col_4_10_sm { grid-column: 4 / 10 !important; }
    .grid_col_4_11_sm { grid-column: 4 / 11 !important; }
    .grid_col_4_12_sm { grid-column: 4 / 12 !important; }
    .grid_col_4_13_sm { grid-column: 4 / 13 !important; }

    .grid_col_5_6_sm { grid-column: 5 / 6 !important; }
    .grid_col_5_7_sm { grid-column: 5 / 7 !important; }
    .grid_col_5_8_sm { grid-column: 5 / 8 !important; }
    .grid_col_5_9_sm { grid-column: 5 / 9 !important; }
    .grid_col_5_10_sm { grid-column: 5 / 10 !important; }
    .grid_col_5_11_sm { grid-column: 5 / 11 !important; }
    .grid_col_5_12_sm { grid-column: 5 / 12 !important; }
    .grid_col_5_13_sm { grid-column: 5 / 13 !important; }

    .grid_col_6_7_sm { grid-column: 6 / 7 !important; }
    .grid_col_6_8_sm { grid-column: 6 / 8 !important; }
    .grid_col_6_9_sm { grid-column: 6 / 9 !important; }
    .grid_col_6_10_sm { grid-column: 6 / 10 !important; }
    .grid_col_6_11_sm { grid-column: 6 / 11 !important; }
    .grid_col_6_12_sm { grid-column: 6 / 12 !important; }
    .grid_col_6_13_sm { grid-column: 6 / 13 !important; }

    .grid_col_7_8_sm { grid-column: 7 / 8 !important; }
    .grid_col_7_9_sm { grid-column: 7 / 9 !important; }
    .grid_col_7_10_sm { grid-column: 7 / 10 !important; }
    .grid_col_7_11_sm { grid-column: 7 / 11 !important; }
    .grid_col_7_12_sm { grid-column: 7 / 12 !important; }
    .grid_col_7_13_sm { grid-column: 7 / 13 !important; }

    .grid_col_8_9_sm { grid-column: 8 / 9 !important; }
    .grid_col_8_10_sm { grid-column: 8 / 10 !important; }
    .grid_col_8_11_sm { grid-column: 8 / 11 !important; }
    .grid_col_8_12_sm { grid-column: 8 / 12 !important; }
    .grid_col_8_13_sm { grid-column: 8 / 13 !important; }

    .grid_col_9_10_sm { grid-column: 9 / 10 !important; }
    .grid_col_9_11_sm { grid-column: 9 / 11 !important; }
    .grid_col_9_12_sm { grid-column: 9 / 12 !important; }
    .grid_col_9_13_sm { grid-column: 9 / 13 !important; }

    .grid_col_10_11_sm { grid-column: 10 / 11 !important; }
    .grid_col_10_12_sm { grid-column: 10 / 12 !important; }
    .grid_col_10_13_sm { grid-column: 10 / 13 !important; }

    .grid_col_11_12_sm { grid-column: 11 / 12 !important; }
    .grid_col_11_13_sm { grid-column: 11 / 13 !important; }

    .grid_col_12_13_sm { grid-column: 12 / 13 !important; }
}

.grid .span1 { grid-column:span 1; }
.grid .span2 { grid-column:span 2; }
.grid .span3 { grid-column:span 3; }
.grid .span4 { grid-column:span 4; }
.grid .span5 { grid-column:span 5; }
.grid .span6 { grid-column:span 6; }
.grid .span7 { grid-column:span 7; }
.grid .span8 { grid-column:span 8; }
.grid .span9 { grid-column:span 9; }
.grid .span10 { grid-column:span 10; }
.grid .span11 { grid-column:span 11; }
.grid .span12 { grid-column:span 12; }
.grid .span13 { grid-column:span 13; }

.gap0 {
    gap: 0 !important;
}

@media screen and (max-width : 767px) {
    .order_1_sm { order: 1; }
    .order_2_sm { order: 2; margin-top: 6rem; }
}

/* FlexBox */
.aic { align-items: center!important; }
.ais { align-items: flex-start!important; }
.aie { align-items: flex-end!important; }

.jcsb { justify-content: space-between!important; }
.jcs { justify-content: flex-start!important; }
.jce { justify-content: flex-end!important; }


/* Text-align */
.tal { text-align: left !important }
.tar { text-align: right !important }
.tac { text-align: center !important }
.tac > img {
    margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width : 1024px) {
    .tal_lg { text-align: left !important }
    .tar_lg { text-align: right !important }
    .tac_lg { text-align: center !important }
}

/* Vergical-align */
.vat { vertical-align: top !important }
.vab { vertical-align: bottom !important }
.vam { vertical-align: middle !important }

/* responsive */
@media screen and (max-width : 767px) {
    .sm { display: block!important; }
    .md { display: none!important; }
    .lg { display: none!important; }
    .md_lg { display: none!important; }
}
@media screen and (min-width : 768px) and  (max-width : 1023px) {
    .sm { display: none!important; }
    .md { display: block!important; }
    .lg { display: none!important; }
    .md_lg { display: none!important; }
}
@media screen and (min-width : 768px) {
    .sm { display: none!important; }
    .md { display: none!important; }
    .md_lg { display: block!important; }
    .lg { display: none!important; }
}
@media screen and (min-width : 1024px) {
    .sm { display: none!important; }
    .md { display: none!important; }
    .md_lg { display: block!important; }
    .lg { display: block!important; }
}


/* Tel
---------------------------------------*/
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
    color: #2E2E2E;
    text-decoration: none;
  }
}

/* Parts List
---------------------------------------*/
.parts_list_ttl {
    color: #FF34CC;
    font-weight: 700;
    margin: 5rem 0 0;
}
.parts_list_txt {
    margin: 3rem 0 0;
    color: #FF34CC;
}

/* Animation
---------------------------------------*/
/* Scroll Animation */
.sca-fadein {
    opacity: 0;
    transition: opacity .5s ease, transform .5s ease;
    animation-delay: .2s;
}
.sca-fadein.is-show {
    opacity: 1;
}

.sca-fadein-up {
    opacity: 0;
    transition: opacity .5s ease, transform .5s ease;
    animation-delay: .2s;
    transform: translateY(20px);
}
.sca-fadein-up.is-show {
    opacity: 1;
    transform: translateY(0);
}


/* library */
@keyframes fadein {
  0% {
      opacity: 0;
  }

  100% {
      opacity: 1;
  }
}

@keyframes fadeinUp {
  0% {
    opacity: 0;
    transform: translateY(15px);
    transition: opacity .5s ease-in, transform .5s ease-in;
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* wrapper
---------------------------------------*/
.wrapper {
    position: relative;
    /*padding-top: 53px; ヘッダー高さ */
    opacity: 0;
    animation-name: fadein;
    animation-duration: 1.2s;
    animation-delay: 0;
    animation-fill-mode: forwards;
    width: 100%;
    max-width: 100vw;

}
@media screen and (min-width : 1024px) {
    .wrapper {
        /*padding-top: 60px; ヘッダー高さ */
    }
}

/* header
---------------------------------------*/
.header {
    height: 9.7rem;
    position: fixed;
    background: #fff;
    z-index: 99;
    box-shadow: 0 0 1rem rgba(0, 0, 0, .1);
    width: 100%;
}
@media screen and (min-width : 1024px) {
    .header {
        height: 10.7rem;
    }
}

/* header_bar */
.header_bar {
    background-color: #F5F5F5;
    display: flex;
    justify-content: space-between;
    padding: .5rem 1.5rem;
    height: 43px;
}
@media screen and (min-width : 1024px) {
    .header_bar {
        height: 4.7rem;
        padding: .5rem 1.8rem .5rem 4rem;
    }
}

/* header_bar_products */
.header_bar_products {
    display: flex;
}
.header_bar_products_list {
    display: flex;
    gap: .7rem;
    align-items: center;
    position: relative;
}
.header_bar_products_list + .header_bar_products_list {
    margin-left: 1.5rem;
    padding-left: 1.5rem;
}
.header_bar_products_list + .header_bar_products_list::before {
    content: '';
    display: block;
    background-color: #b1b1b1;
    width: 2px;
    height: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.header_bar_products_list .item a {
    display: inline-block;
    padding: .3rem 1rem .1rem ;
    text-align: center;
    font-size: 1.4rem;
    border-radius: 20rem;
    transition: .2s ease;
}
.header_bar_products_list .item a.link_blank {
    padding-right: .2rem;
}
.header_bar_products_list.cat01 .item a {
    background-color: #fff;
}
.header_bar_products_list.cat02 .item a {
    border: solid 1px #B1B1B1;
}
.header_bar_products_list .item a:hover {
    text-decoration: none;
    background-color: #D0D0D0;
}

@media screen and (min-width : 1024px) {

}

@media screen and (max-width : 1023px) {
    .header_bar_products_list.cat02 {
        display: none;
    }
}

/* header_bar_utilities */
.header_bar_utilities {
    display: flex;
    gap: 2rem;
    align-items: center;
}

/* header_bar_search */
/* .search_form {
    position: relative;
}
.search_input {
    background-color: #343434;
    font-size: 1.35rem;
    font-weight: 500;
    border-radius: 5rem;
    padding-right: 2rem;
    padding-left: 1.1rem;
    height: 2.7rem;
    position: relative;
    width: 9rem;
    color: #fff;
    transition: .3s ease;
}
.search_input::placeholder {
    color: #fff;
}
.search_input:focus {
    background-color: #202020;
    width: 23rem;
}
.search_btn {
    position: absolute;
    right: .5rem;
    width: 2rem;
    top: .1rem;
    height: 100%;
    cursor: pointer;
    font-size: 0;
    border: none;
    background: none;
}
.search_btn_icon {
    width: 1.4rem;
    margin: 0 auto;
}
.search_btn svg {
    color: #fff;
    width: 1.4rem;
    height: 1.4rem;
} */

/* header_menu */
.header_menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* gap: 2rem; */
    height: 54px;
    padding: 0 0 0 1.5rem;
    position: relative;
}
@media screen and (min-width : 1024px) {
    .header_menu {
        height: 6rem;
        padding: 0 1.8rem 0 4rem;
    }
}


/* header_logo */
.header_logo {
    max-width: 23.9rem;
}
.header_logo a {
    display: block;
}
@media screen and (min-width : 1024px) {
    .header_logo {
        margin: .9rem 0 0;
    }
}

/* header_nav
---------------------------------------*/
/* header_nav_btn */
.header_nav_btn {
    width: 64px;
    height: 100%;
    cursor: pointer;
    z-index: 100;
    transform: translateX(0);
    transition: transform .5s;
    margin: 0 0 0 auto;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* header_nav_btn_lines */
.header_nav_btn_lines {
    position: relative;
    width: 19px;
    height: 19px;
    cursor: pointer;
    z-index: 100;
    transform: translateX(0);
    transition: all .5s;
    margin: .1rem auto 0;
}
.header_nav_btn_lines span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #343434;
    transition: all .4s;
}
.header_nav_btn_lines span:nth-of-type(1) {
    top: 4px;
}
.header_nav_btn.is_active .header_nav_btn_lines span:nth-of-type(1) {
    transform: translateY(6px) rotate(-45deg);
}
.header_nav_btn_lines span:nth-of-type(2) {
    bottom: 4px;
}
.header_nav_btn.is_active .header_nav_btn_lines span:nth-of-type(2) {
    transform: translateY(-3px) rotate(45deg);
}

@media(min-width: 1024px){
    .header_nav_btn {
        display: none;
    }
}

/* header_nav SP */
@media(max-width: 1023px){
    body.is_fixed {
        height: 100%;
        overflow: hidden; 
    }

    .header_nav_wrap {
        position: absolute;
        top: 5.5rem; /* ヘッダー高さ+1px */
        left: 0;
        background: #fff;
        width: 100%;
        height: calc(100vh - 9.8rem);
        opacity: 0;
        z-index: -1;
        visibility: hidden;
        transition: opacity .3s ease, z-index .3s ease, visibility .3s ease;
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        overflow-y: auto;
    }
    .header_nav_wrap.is_open {
        opacity: 1;
        z-index: 99;
        visibility: visible;
    }

    .header_nav {
        height: calc(100vh - 9.7rem - 7rem);
        overflow-y: auto;
    }

    .header_nav_list {
        padding: .8rem 1.8rem;
        margin: 0 0 2rem;
    }
    .header_nav_list > li {
        border-bottom: solid 1px #D7D7D7;
    }
    .header_nav_list > li > a, .header_nav_list > li > span {
        display: block;
        padding: 1.5rem 8rem 1.5rem 0;
        margin: 0;
        font-size: clamp(2rem, 1.947rem + 0.27vw, 2.2rem);
        font-weight: 700;
        position: relative;
    }
    .header_nav_list > li > .parent {
        position: relative;
        transition: .4s ease;
    }
    .header_nav_list > li > .parent::before {
        content: "";
        display: inline-block;
        width: 1.7rem;
        height: 1.7rem;
        background-image: url(/jp/assets/images/common/icon_arrow_circle_ltgry.svg);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100%;
        vertical-align: top;
        transform: rotate(180deg);
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        opacity: 0;
        transition: .2s ease;
    }
    .header_nav_list > li > .parent::after {
        content: "";
        display: inline-block;
        width: 1.7rem;
        height: 1.7rem;
        background-image: url(/jp/assets/images/common/icon_arrow_circle.svg);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100%;
        vertical-align: top;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 1.2rem;
        margin: auto;
        transition: .2s ease;
    }
    .header_nav_list > li > .parent.is_active {
        color: #005AFF;
        padding-left: 4rem;
    }
    .header_nav_list > li > .parent.is_active::before {
        opacity: 1;
    }
    .header_nav_list > li > .parent.is_active::after {
        opacity: 0;
    }

    .header_nav_mega {
        display: none;
        margin: 0 0 1rem;
    }
    .header_nav_list > li > .parent.is_active + .header_nav_mega {
        display: block;
    }
    .header_nav_mega a {
        font-size: 1.5rem;
    }

    .mega_col_1st_main > *:not(.mega_p_list_1st),
    .mega_col_1st .mega_col_1st_sub {
        display: none;
    }
    .mega_p_list_1st > li {
        margin: 0 0 1.5rem;
    }
    .mega_p_list_1st > li + li {
        border-top: solid 1px #D7D7D7;
    }
    .mega_p_list_1st .parent {
        color: #E60013;
        font-weight: 700;
        display: inline-block;
        position: relative;
        padding: .2rem 0;
        width: 100%;
        /* cursor: pointer; */
    }

    .mega_col_2nd {
        padding: 1rem 1rem;
        background-color: #f5f5f5;
    }
    .mega_p_2nd_list > li {
    }
    .mega_p_2nd_list > li + li {
        border-top: solid 1px #D7D7D7;
    }
    .mega_p_2nd_list > li a {
        color: #343434;
        font-weight: 700;
        display: block;
        padding: .8rem 1.5rem;
    }

    .mega_p_3rd_list {
        display: none;
    }
    
    .header_nav_contact {
        margin: auto 0 1px;
        padding: 0 1.8rem;
        width: 100%;
        position: absolute;
        bottom: 0;
    }
    .header_nav_contact a {
        display: block;
        padding: 1.25rem 1rem;
    }

    .header_nav_products {
        padding: 0 1.8rem;
        margin: auto 0 2rem;
    }
    .header_nav_products_list > li {
        margin: 0 0 .8rem;
    }
    .header_nav_products_list a {
        display: inline-block;
        padding: .2rem 1rem;
        text-align: center;
        font-size: 1.4rem;
        border-radius: 20rem;
    }
    .header_nav_products_list.cat01 a {
        background-color: #fff;
    }
    .header_nav_products_list.cat02 a {
        border: solid 1px #B1B1B1;
    }
}

/* header_nav PC */
@media(min-width: 1024px){
    .header_nav_products, .header_nav_lang {
        display: none;
    }
    .header_nav_wrap {
        flex: 1 1 auto;
        display: flex;
    }
    .header_nav {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 100%;
    }
    .header_nav_list {
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        padding: 0 1rem 0;
        margin: 0;
        gap: 1%;
        max-width: 80rem;
        height: 6rem;
    }
    .header_nav_list > li {
        flex-grow: 1;
        margin: 0;
        position: relative;
        height: 100%;
    }
    .header_nav_list > li > span,
    .header_nav_list > li > a {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        font-size: clamp(1.5rem, 1.447rem + 0.27vw, 1.7rem);
        font-weight: 500;
        line-height: 1.35;
        width: 100%;
        height: 100%;
        cursor: pointer;
        position: relative;
    }
    .header_nav_list > li > span::before,
    .header_nav_list > li > a::before {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        /* left: 50%;
        width: 0; */
        height: 2px;
        background: transparent;
        transition: .2s ease-out;
    }
    .header_nav_list li a:hover {
        text-decoration: none;
    }
    .header_nav_list > li > span:hover,
    .header_nav_list > li.is_active > .parent,
    .header_nav_list > li > a:hover {
        color: #E60013;
    }
    .header_nav_list > li > span:hover:before,
    .header_nav_list > li.is_active > .parent:before,
    .header_nav_list > li > a:hover:before {
        left: 0;
        width: 100%;
        background-color: #E60013;
    }

    .header_nav_contact {
        width: 14rem;
    }
    .header_nav_contact a {
        display: block;
        background-color: #E60013;
        color: #fff;
        text-align: center;
        border-radius: 5px;
        padding: 1.45rem 1rem;
        font-size: 1.4rem;
        font-weight: 500;
    }

    /* 下層メニュー */
    .header_nav_mega {
        position: absolute;
        top: 61px;
        left: 0;
        right: 0;
        margin: auto;
        background: #fff;
        max-width: 150rem;
        padding: 0;
        text-align: left;
        font-size: 1.6rem;
        border-radius: 0 0 .4rem .4rem;
        transition: opacity .3s ease, z-index .3s ease, visibility .3s ease;
    }
    .header_nav_mega.width_lg {
        width: calc(100vw - 8rem);
    }
    .header_nav_mega.width_md {
        width: 78rem;
    }
    .header_nav_mega.width_sm {
        width: 40rem;
    }

    .header_nav_list > li:has(.width_lg) {
        position: inherit;
    }

   .header_nav_list > li > .parent:hover + .header_nav_mega,
    .header_nav_mega:hover {
        opacity: 1;
        z-index: 99;
        visibility: visible;
    }

    .header_nav_mega_row {
        display: flex;
        position: relative;
    }
    .mega_col_1st {
        flex: 0 1 35rem;
        padding: 4rem 0;
    }
    .mega_col_2nd {
        flex: 0 1 38rem;
        padding: 4rem 0 4rem 6rem;
    }
    .mega_col_3rd {
        flex: 1 1 80rem;
    }

    /* mega_col_1st */
    .mega_col_1st {
        padding: 4rem 0 1rem 5rem;
    }
    .mega_col_1st_ttl {
        font-size: 3.2rem;
        font-weight: 700;
        margin: 0 0 1rem;
    }
    .mega_p_list_1st > li {
        margin: 0 0 1.5rem;
    }
    .mega_p_list_1st .parent {
        color: #E60013;
        font-weight: 700;
        display: inline-block;
        position: relative;
        padding: .2rem 0;
        width: 100%;
        /* cursor: pointer; */
    }
    /* .mega_p_list_1st .parent::after {
        content: '';
        display: inline-block;
        vertical-align: middle;
        width: 6px;
        height: 6px;
        margin: 0 0 .3rem 1.5rem;
        border: solid 1px #E60013;
        border-top: none;
        border-left: none;
        transform: rotate(-45deg);
        opacity: 1;
        transition: .2s ease;
    } */
    /* .mega_p_list_1st .parent:hover:after {
        opacity: 1;
    } */
    .mega_p_guide_btn a {
        display: inline-block;
        background-color: #F5F5F5;
        border-radius: .4rem;
        padding: 1.6rem 2rem 1.3rem;
        margin: 1.5rem 0 1rem;
        text-align: center;
        font-weight: 700;
        line-height: 1.35;
        transition: .2s ease;
    }
    .mega_p_guide_btn a:hover {
        background-color: #343434;
        color: #fff;
    }

    .mega_p_guide_btn.dl a {
        padding-right: 4rem;
        position: relative;
    }
    .mega_p_guide_btn.dl a::after {
        content: '';
        display: block;
        background-image: url(/jp/assets/images/common/icon_arrow_circle_gry.svg);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100%;
        width: 1.7rem;
        height: 1.7rem;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 1.6rem;
        margin: auto;
        transition: .2s;
        transform: rotate(90deg);
    }
    .mega_p_guide_btn.dl a:hover:after {
        background-image: url(/jp/assets/images/common/icon_arrow_circle_wh.svg);
    }

    .mega_col_1st_sub {
        border-top: solid 2px #F5F5F5;
        padding: 3rem 0;
        margin: 2rem 0 0;
        font-size: 1.5rem;
    }
    .mega_col_1st_sub_ttl {
        font-weight: 700;
        margin: 0 0 2rem;
    }
    .mega_p_other_list > li {
        margin: 1rem 0;
    }
    .mega_p_other_list > li a {
        display: block;
        background-color: #F5F5F5;
        border-radius: .4rem;
        text-align: left;
        font-size: 1.4rem;
        font-weight: 700;
        padding: .7rem 1rem .7rem 1rem;
        position: relative;
    }
    .mega_p_other_list > li a.blank {
        padding-right: 5rem;
    }
    .mega_p_other_list > li a.blank::after {
        content: "";
        display: block;
        width: 1.7rem;
        height: 1.7rem;
        background-image: url(/jp/assets/images/common/icon_arrow_circle_gry.svg);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 1.2rem;
        margin: auto;
        transform: rotate(-45deg);
        transition: .2s ease;
    }
    .mega_p_other_list > li a.blank::after {
        transform: rotate(-45deg);
    }
    .mega_p_other_list > li a:hover {
        color: #005AFF;
    }
    .mega_p_other_list > li a:hover:after {
        background-image: url(/jp/assets/images/common/icon_arrow_circle_bl.svg);
    }

    /* mega_col_2nd */
    .mega_p_2nd_list {
        /* display: none; */
    }
    .mega_p_2nd_list > li {
        margin: 0;
    }
    .mega_p_2nd_list > li a {
        color: #343434;
        font-weight: 700;
        display: block;
        padding: .8rem 1.5rem;
    }
    .mega_p_2nd_list > li a.is_active {
        color: #005AFF;
        background-color: #F5F5F5;
    }

    /* mega_col_3rd */
    .mega_col_3rd {
        opacity: 0;
        background-color: #F5F5F5;
        padding: 0;
        position: relative;
        display: flex;
    }
    .mega_p_3rd_list {
        padding: 0;
        max-width: 80rem;
        position: absolute;
        top: 4rem;
        right: 0;
        opacity: 0;
        z-index: -1;
        visibility: hidden;
        height: calc(100% - 4rem);
    }
    .mega_p_3rd_list.is_show {
        opacity: 1;
        z-index: 1;
        visibility: visible;
    }
    .mega_p_3rd_list > li {
        margin: 0;
        position: relative;
    }
    .mega_p_3rd_list > li::after {
        content: "";
        display: block;
        width: calc(100% - 6rem);
        height: .1rem;
        background-color: #BEBCBB;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    .mega_p_3rd_list > li a {
        color: #0c0c0c;
        display: block;
        padding: .8rem 3rem;
        font-size: 1.5rem;
        transition: .2s ease;
        position: relative;
        overflow: hidden;
        font-weight: 400;
    }
    .mega_p_3rd_list > li a .num {
        display: inline-block;
        vertical-align: middle;
        color: #E60013;
        font-weight: 700;
        font-size: 1.3rem;
        margin: 0 1rem 0 0;
    }
    .mega_p_3rd_list > li a .ttl {
        display: inline-block;
        vertical-align: middle;
    }
    .mega_p_3rd_list > li a::after {
        content: "";
        display: block;
        width: 1.7rem;
        height: 1.7rem;
        background-image: url(/jp/assets/images/common/icon_arrow_circle.svg);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100%;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 2rem;
        opacity: 0;
        transition: right .3s ease, opacity .3s ease;
    }
    .mega_p_3rd_list > li a:hover {
        background-color: #E9E9E9;
    }
    .mega_p_3rd_list > li a:hover * {
        color: #005AFF;
    }
    .mega_p_3rd_list > li a:hover:after {
        opacity: 1;
        right: 3rem;
    }

    /* 開閉 */
    .header_nav_mega {
        opacity: 0;
        z-index: -99;
        visibility: hidden;
    }
    .header_nav_list > li > .parent:hover + .header_nav_mega {
        opacity: 1;
        z-index: 1;
        visibility: visible;
    }

    .mega_p_2nd_list > li:has(.mega_p_3rd_list):hover .mega_p_3rd_list {
        opacity: 1;
        z-index: 1;
        visibility: visible;
    }

    .mega_p_img_list {
        margin-left: auto;
        width: 50%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        position: relative;
    }
    .mega_p_img_list li {
        position: absolute;
        opacity: 0;
    }
}

/* wovn言語切り替えボタン */
#wovn-translate-widget[wovn].type-floating.wovn--position-top {
    top: 4px !important;
}
#wovn-translate-widget[wovn].type-floating.wovn--position-right {
    right: 15px !important;
}
@media(min-width: 1024px){
    #wovn-translate-widget[wovn].type-floating.wovn--position-top {
        top: 6px !important;
    }
    #wovn-translate-widget[wovn].type-floating.wovn--position-right {
        right: 18px !important;
    }
}

/* breadcrumb
---------------------------------------*/
.breadcrumb {
    position: relative;
    width: 100%;
    z-index: 2;
    margin: 0;
    padding: .8rem 4rem;
    border-bottom: solid 1px #F5F5F5;
}
.breadcrumb ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    line-height: 1.2;
}
.breadcrumb li {
    padding: 0 0 0 1.8rem;
    color: #343434;
    line-height: 2;
    font-size: 1.3rem;
    position: relative;
}
.breadcrumb li:first-of-type {
    padding-left: 0;
}
.breadcrumb li a {
    display: inline-block;
    color: #343434;
}
.breadcrumb li a:hover {
    text-decoration: underline;
}
.breadcrumb li+li::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 5px;
    height: 5px;
    margin: 0;
    border: solid 1px #797574;
    border-top: none;
    border-left: none;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0.6rem;
    margin: auto;
}
/*.breadcrumb li:first-child {
    padding-right: 0;
}
 .breadcrumb li:first-child a {
    padding: 2px 0 0 34px;
    background: url(/jp/assets/images/common/icon_home.svg) no-repeat 0 0;
    background-size: 22px;
    font-size: 0;
    line-height: 26px;
} */

@media screen and (max-width : 1023px) {
    .breadcrumb {
        padding: .8rem 1.5rem;
    }
    .breadcrumb li {
        font-size: 1.2rem;
    }
}

/* pagetop
---------------------------------------*/
.pagetop {
    width: 6rem;
    height: 6rem;
    position: fixed;
    bottom: 4rem;
    right: 2rem;
    z-index: 9;
    visibility: hidden;
    opacity: 0;
    transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
}
.pagetop a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    cursor: pointer;
    background-color: rgba(13, 13, 13, 0.5);
    border-radius: .4rem;
}
.pagetop svg {
    width: 1.5rem;
    height: 2.4rem;
    fill:#fff;
    transform: rotate(-90deg);
}
.pagetop.is-show {
    visibility: visible;
    opacity: 1;
}

@media screen and (max-width : 767px) {
    .pagetop {
        width: 4rem;
        height: 4rem;
        bottom: 6.5rem;
    }
    .pagetop svg {
        width: 1.0rem;
        height: 1.6rem;
    }
}

/* footer
---------------------------------------*/
.footer {
    position: relative;
    padding-top: 5rem;
    padding-bottom: 3rem;
}
.footer_logo {
    margin: 20px 0 10px;
    font-size: 2.0rem
}
.footer_logo svg {
    width: 17.8rem;
    height: 5.9rem;
}
.footer_links {
    margin: 4rem 0 0;
}
.footer_links_ttl {
    font-weight: 700;
    font-size: clamp(1.4rem, 1.373rem + 0.13vw, 1.5rem);
    border-bottom: solid 1px #D7D7D7;
    margin: 0;
    padding: 1.4rem 0 1.1rem;
    display: block;
    position: relative;
}
.footer_links_list {
    margin: 0;
}
.footer_links_list li {
    margin: .5rem 0;
}
.footer_links_list a {
    font-size: clamp(1.4rem, 1.373rem + 0.13vw, 1.5rem);
    color: #343434;
}
.footer_links_list a:hover {
    text-decoration: none;
    text-decoration: underline;
}
.footer_links_contact {
    margin: 2rem 0 0;
}
.footer_links_contact a {
    display: block;
    border-radius: .4rem;
    padding: 1.45rem 1rem;
    font-size: 1.4rem;
    width: 100%;
}

.footer_links a:hover {
    text-decoration: underline;
}
.footer_links_col a.link_blank:hover {
    color: #000;
}
.footer_links_col a.link_blank:hover:after {
    background-image: url(/jp/assets/images/common/icon_arrow_circle_ltgry.svg);
}

.footer_bottom {
    padding: 4rem 0 0;
}
.footer_policies {
    margin: 0 0 1.2rem;
}
.footer_policies a {
    font-size: clamp(1.4rem, 1.373rem + 0.13vw, 1.5rem);
    color: #343434;
}
.footer_policies a:hover {
    text-decoration: underline;
}
.footer_copyright {
    font-size: clamp(1.4rem, 1.373rem + 0.13vw, 1.5rem);
    color: #343434;
}

@media screen and (min-width : 1024px) {
    .footer {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    .footer_logo {
        margin-top: 0;
        font-size: 3.2rem;
        grid-column: 1 / 3;
    }
    .footer_links {
        grid-column: 3 / -1;
        padding: 0 0 4rem;
        margin: 1rem 0 0;
    }
    .footer_links_col {
        grid-column: span 3;
    }
    .footer_links_ttl {
        border: none;
        padding: 0;
    }
    .footer_links_ttl + .footer_links_ttl {
        margin-top: .3rem;
    }
    .footer_links_list {
        margin-top: .5rem;
    }
    .footer_links li {
        margin: 0;
        padding: 0;
    }
    .footer_links_contact {
        margin: 1.2rem 0 0;
    }
    .footer_links_contact a {
        display: inline-block;
        width: auto;
        min-width: 14.4rem;
    }
    .footer_bottom {
        padding: 3rem 0;
        border-top: solid 1px #D7D7D7;
    }
    .footer_policies {
        grid-column: 7 / 11;
        order: 2;
        align-items: center;
    }
    .footer_policies > li {
        margin: 0 3rem 0 0;
    }
    .footer_copyright {
        grid-column: 3 / 7;
        order: 1;
    }
}

@media screen and (max-width : 1023px) {
    .footer_links_col {
        border-bottom: solid 1px transparent;
        transition: .3s ease;
    }
    .footer_links_ttl {
        cursor: pointer;
        transition: .3s ease;
    }
    .footer_links_list {
        display: none;
    }
    .footer_links_col.is_active {
        border-color: red;
        padding: 0 0 1rem;
    }
    .footer_links_col.is_active .footer_links_ttl {
        border-color: transparent;
    }
}


/* Page Layout
---------------------------------------*/
.page_wrapper {
    position: relative;
    padding-top: 9.7rem;
}
@media screen and (min-width : 1024px) {
    .page_wrapper {
        padding-top: 10.7rem;
    }
    .page_wrapper::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, .2);
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        z-index: -1;
        visibility: hidden;
        transition: .3s ease;
    }
    .page_wrapper.overlay::before {
        opacity: 1;
        z-index: 10;
        visibility: visible;
    }
}

.page_main {
    padding-top: 0;
}
@media screen and (min-width : 1024px) {
    .page_main {
        padding-top: 6rem;
    }
}

.page_container {
    position: relative;
    z-index: 0;
    margin: 0 auto;
    width: 100%;
}
@media screen and (max-width : 767px) {
    .page_container {
        padding-top: 4rem;
    }
    .layout_p_single .page_container {
        padding-top: 0;
    }
}

/* page_side */
.page_side {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    /* width: 31rem; */
    width: 100%;
    max-width: 1520px;
    z-index: 10;
    padding: 0 2rem;
    pointer-events: none;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.6rem;
}
.page_side_col {
    grid-column: 1 / 4;
    padding-right: 5.6rem;
    pointer-events: all;
}
.page_side.is_fixed {
    position: fixed;
    top: calc(10.7rem + 3rem);
}

.layout_p_single .page_side_col {
    grid-column: 1 / 3;
}

.page_side_nav {
    background-color: #fff;
    padding: 1rem 2rem;
    border-radius: .4rem;
}
.page_side_nav_list li {
    margin: 1.2rem 0;
    line-height: 1.11;
}
.page_side_nav_list a {
    font-weight: 700;
    font-size: 1.4rem;
    color: #0c0c0c;
    position: relative;
    transition: .2s ease;
}
.page_side_nav_list a::before {
    content: '';
    display: block;
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background-color: transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1.2rem;
    margin: auto;
    transition: .2s ease;
}
.page_side_nav_list a:hover {
    text-decoration: none;
    color: #E60013;
}
.page_side_nav_list a.is_current {
    color: #E60013;
}
.page_side_nav_list a.is_current::before {
    background-color: #E60013;
}

@media screen and (max-width : 1023px) {
    .page_side {
        display: none;
    }
}

/* page_body */
.page_body {
    position: relative; 
    z-index: 1;
}
@media screen and (min-width : 768px) {
    .page_body {
        padding-top: 2.4rem;
    }
}

@media screen and (min-width : 1024px) {
    .sec_grid {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 1.6rem;
        max-width: 1520px;
    }
    .sec_grid > * {
        grid-column: 4 / -1
    }

    /* layout_no_side01 左ナビなし、コンテンツ12中央（ウィンドウ幅いっぱい） */
    .layout_no_side01 .sec_grid > * {
        grid-column: 1 / -1;
        gap: 4.0rem;
    }

    /* layout_no_side02 左ナビなし、コンテンツ10中央 */
    .layout_no_side02 .sec_grid > * {
        grid-column: 2 / -2;
    }
    
    /* layout01 左ナビあり、コンテンツ8 */
    .layout01 .sec_grid > * {
        grid-column: 4 / span 8;
    }

    /* layout02 左ナビあり、コンテンツ7 */
    .layout02 .sec_grid > * {
        grid-column: 4 / span 7;
    }

    /* layout_p_single 左ナビあり、コンテンツ10 */
    .layout_p_single .sec_grid > * {
        grid-column: 3 / -1;
    }

}


/* Parts
---------------------------------------*/
/* page_head */
.page_head {
    margin: 5rem 3vw 5rem;
}
.page_ttl {
    font-size: 4.0rem!important;
    font-weight: 400!important;
    text-align: center!important;
    position: relative;
    margin: 0 0 4rem;
    padding: 0 0 3.5rem;
}
.page_ttl::after {
    content: "";
    display: block;
    width: 32px;
    height: 4px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: linear-gradient(90deg, #F6AB00 0%, #F6AB00 50%, #797574 50%, #797574 100%);
}
.page_ttl_sub {
    font-size: 2.8rem;
}

@media screen and (min-width : 1024px) {
    .page_head {
        margin: 0 0 6rem;
        padding: 4rem 0 0;
    }
    .page_ttl {
        font-size: 5.6rem!important;
        padding: 0 0 3.5rem;
    }
    .page_ttl_sub {
        font-size: 4rem;
    }
}

/* H */
.heading01 {
    font-size: clamp(3.9rem, 2.164rem + 3.62vw, 5.6rem);
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 1.5rem;
    font-feature-settings: "palt";
}
.heading02 {
    font-size: clamp(3.7rem, 2.168rem + 3.19vw, 5.2rem);
    line-height: 1.35;
    margin: 0 0 1.5rem;
    font-feature-settings: "palt";
}
.heading03 {
    font-size: clamp(3.2rem, 1.566rem + 3.4vw, 4.8rem);
    line-height: 1.35;
    margin: 0 0 1.5rem;
    font-feature-settings: "palt";
}
.heading04 {
    font-size: clamp(2.6rem, 1.17rem + 2.98vw, 4rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 1.5rem;
    font-feature-settings: "palt";
}
.heading05 {
    font-size: clamp(2.3rem, 1.381rem + 1.91vw, 3.2rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 1.5rem;
}
.heading06 {
    font-size: clamp(2rem, 1.591rem + 0.85vw, 2.4rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 1.5rem;
}

.heading_border_b {
    font-size: clamp(2.3rem, 1.381rem + 1.91vw, 3.2rem);
    font-weight: 700;
    border-bottom: solid 3px #D2D2D2;
    padding-bottom: 2.6rem;
    margin-bottom: 2rem !important;
}
.heading_border_t {
    font-size: clamp(2.3rem, 1.381rem + 1.91vw, 3.2rem);
    font-weight: 700;
    border-top: solid 1px #D9D9D9;
    padding-top: 3rem;
    color: #343434;
}

@media screen and (min-width : 768px) {
    .sec_grid > [class*="heading"]  {
        margin-bottom: 0;
    }
}

@media screen and (min-width : 1520px) {
    .heading01 {
        line-height: 1.2;
        margin: 0 0 1rem;
    }
    .heading02 {
        line-height: 1.2;
        margin: 0 0 2rem;
    }
    .heading03 {
        line-height: 1.2;
        margin: 0 0 2rem;
    }
    .heading04 {
        line-height: 1.3;
        margin: 0 0 2rem;
    }
    .heading05 {
        line-height: 1.3;
        margin: 0 0 2rem;
    }
    .heading06 {
        line-height: 1.35;
        margin: 0 0 2rem;
    }
}

[class*="heading"] .sub {
    font-size: 75%;
}

/* p */
p + p {
    margin-top: 1rem;
}
h3 + p, h4 + p, h5 + p {
    margin-top: 1rem;
}


/* Text */
.txt_regular {
    font-size: clamp(1.6rem, 1.547rem + 0.27vw, 1.8rem);
}
.txt_larger {
    font-size: clamp(1.8rem, 1.494rem + 0.64vw, 2.1rem);
    line-height: 1.5;
}
.txt_larger + .txt_larger {
    margin-top: 3rem;
}
.txt_smaller {
    font-size: clamp(1.4rem, 1.347rem + 0.27vw, 1.6rem);
    line-height: 1.38;
}
.txt_smallest {
    font-size: clamp(1.2rem, 1.147rem + 0.27vw, 1.4rem);
    line-height: 1.38;
}
.txt_normal {
    font-weight: 400;
}
.txt_bold {
    font-weight: 700;
}
.txt_gry {
    color: #343434;
}
.txt_blk {
    color: #000;
}
.txt_rd {
    color: #E60013;
}

/* note */
.txt_note {
    font-size: 1.4rem;
}
.txt_note + .txt_note {
    margin-top: .5rem;
}
@media screen and (min-width : 1024px) {
    .txt_note {
        font-size: 1.5rem;
    }
}

/* インデント */
.indent {
    padding-left: 1.2rem;
    text-indent: -1.2rem;
}
.indent2 {
    padding-left: 2rem;
    text-indent: -2rem;
}

/* リンク */
a {
    text-decoration: none;
    transition: color .2s ease, opacity .2s ease;
}
a:hover {
    text-decoration: none;
}

/* リンク blank */
.link_blank {
    display: inline-block;
    position: relative;
}
.link_blank::after {
    content: "";
    display: inline-block;
    width: 1.7rem;
    height: 1.7rem;
    background-image: url(/jp/assets/images/common/icon_arrow_circle.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    vertical-align: top;
    margin: .1rem .2rem 0 .5rem;
    transform: rotate(-45deg);
    transition: .2s ease;
}
.link_blank.--gry::after {
    background-image: url(/jp/assets/images/common/icon_arrow_circle_gry.svg);
}
.link_blank.--ltgry::after {
    background-image: url(/jp/assets/images/common/icon_arrow_circle_ltgry.svg);
}
.link_blank.--bl::after {
    background-image: url(/jp/assets/images/common/icon_arrow_circle_bl.svg);
}

.link_blank:hover {
    color: #005AFF;
}
.link_blank:hover:after {
    background-image: url(/jp/assets/images/common/icon_arrow_circle_bl.svg);
}

.page_container .link_blank:hover {
    text-decoration: underline;
}

/* リンク画像 */
a img {
    display: block;
    transition: opacity .3s ease-in-out;
}
/* a:hover img {
    opacity: .7;
} */

/* テキストリンク */
.link_txt01 {
    display: inline-block;
    color: #005AFF;
    text-decoration: none !important;
    position: relative;
}
.link_txt01:hover {
    text-decoration: underline !important;
}

.link_txt02 {
    display: inline-block;
    text-decoration: underline;
    position: relative;
}
.link_txt02:hover {
    text-decoration: none;
}

.link_txt01.blank, .link_txt02.blank {
    padding-right: .2rem;
}
.link_txt01.blank::after, .link_txt02.blank::after {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background-image: url(/jp/assets/images/common/icon_arrow_circle_bl.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    vertical-align: text-top;
    margin: .1rem .3rem 0 .3rem;
    transform: rotate(-45deg);
}
.link_txt02.blank::after {
    background-image: url(/jp/assets/images/common/icon_arrow_circle.svg);
}

/* 矢印アイコン付きリンク */
.link_arrow01 {
    display: inline-block;
    position: relative;
    margin: .3rem 0;
    padding: .6rem 0 .6rem 4.9rem;
    font-weight: 700;
    line-height: 1.5;
}
.link_arrow01::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 3.8rem;
    height: 3.8rem;
    background-color: #E60013;
    border-radius: 50%;
    background-image: url(/jp/assets/images/common/icon_arrow_wh.svg);
    background-repeat: no-repeat;
    background-size: .7rem;
    background-position: center;
    transition: .2s ease;
}
.link_arrow01:hover {
    text-decoration: underline;
}

/* 続きを読むアイコン付きリンク */
.link_read {
    display: inline-block;
    position: relative;
    margin: .5rem 0;
    padding: 0 0 0 4rem;
    font-weight: 700;
    background-size: 100%;
    line-height: 2;
}
.link_read::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    width: 2.9rem;
    height: 3.8rem;
    background-image: url(/jp/assets/images/common/icon_document.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
}
.link_read:hover {
    text-decoration: underline;
}

/* ファイル・ダウンロードリンク */
.link_file {
    display: block;
    background-color: #F5F5F5;
    border-radius: .4rem;
    padding: .8rem 1rem;
    margin: .6rem 0;
    font-size: 1.6rem;
    font-weight: 500;
    position: relative;
    transition: .2s;
}
.link_file.page, .link_file.sw, .link_file.dl, .link_file.blank {
    padding-right: 3rem;
}
.link_file.page::after, .link_file.dl::after, .link_file.blank::after {
    content: '';
    display: block;
    background-image: url(/jp/assets/images/common/icon_arrow_circle_gry.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    width: 1.7rem;
    height: 1.7rem;
    position: absolute;
    top: 0;
    bottom: 0;
    right: .8rem;
    margin: auto;
    transition: .2s;
}
.link_file.page::after {
    transform: rotate(0);
}
.link_file.dl::after {
    transform: rotate(90deg);
}
.link_file.blank::after {
    transform: rotate(-45deg);
}

.link_file.doc, .link_file.sw {
    padding-left: 3.4rem;
}
.link_file.doc::before {
    content: '';
    display: block;
    background: url(/jp/assets/images/common/icon_document.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    width: 1.4rem;
    height: 2.0rem;
    position: absolute;
    top: 0;
    bottom: 0;
    left: .8rem;
    margin: auto;
}
.link_file.sw::before {
    content: '';
    display: block;
    background: url(/jp/assets/images/common/icon_software.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    width: 2.0rem;
    height: 2.0rem;
    position: absolute;
    top: calc(50% - 1rem);
    left: .8rem;
    margin: auto;
}

.link_file:hover {
    text-decoration: underline;
    color: #005AFF;
}
.link_file.page:hover:after, .link_file.dl:hover:after {
    background: url(/jp/assets/images/common/icon_arrow_circle_bl.svg);
}

/* tel */
@media(max-width: 767px){
  a[href^="tel:"]{
    color: #005AFF;
  }
}

/* CTAボタン */
.cta_btn01, .cta_btn02 {
    display: inline-block;
    color: #fff;
    text-align: center;
    background-color: #E60013;
    margin: 1rem 0;
    padding: 1.2rem 2.3rem 1.1rem;
    border-radius: .4rem;
    transition: .2s ease;
    font-weight: 700;
    min-height: 5rem;
    font-feature-settings: "palt";
}
.cta_btn02 {
    font-size: 1.4rem;
    padding: 1.5rem 2.5rem 1.4rem;
}
.cta_btn01:hover, .cta_btn02:hover {
    background-color: #AB000E;
    text-decoration: none !important;
}

*[class*="cta_btn"].--wh {
   color: #E60013;
   background-color: #fff;
}
*[class*="cta_btn"].--wh:hover {
   color: #fff;
   background-color: #E60013;
}

*[class*="grid_col"] > *[class*="cta_btn"] {
    width: 100%;
}

/* ボタン横並び */
.btns_row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    width: 100%;
    margin: 1rem 0;
}
@media screen and (max-width : 767px) {
    .btns_row {
        flex-flow: column;
        gap: 0;
    }
}

/* ボタン */
.btn01 {
    display: inline-block;
    color: #fff;
    text-align: center;
    background-color: #0C0C0C;
    margin: 1rem 0;
    padding: 1.2rem 2.5rem 1.1rem;
    border-radius: .4rem;
    transition: .2s ease;
    font-weight: 700;
    min-height: 5rem;
}
.btn01:hover {
    background-color: #343434;
    text-decoration: none;
}

/* アンカーリンク */
.anchor_links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0 0 3rem;
}
.anchor_link {
    flex: 0 1 24%;
}
.anchor_link a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background-color: #F5F5F5;
    text-align: center;
    border-radius: .4rem;
    padding: 1.2rem 2rem;
}
.anchor_link a:hover {
    color: #005AFF;
    text-decoration: underline;
}

@media screen and (max-width : 767px) {
    .anchor_links {
        justify-content: space-between;
    }
    .anchor_link {
        flex: 0 1 48.5%;
    }
}

/* リスト */
ul.list_dot {
    margin: 0 0 1rem;
}
ul.list_dot li {
    position: relative;
    padding: 0 0 0 2.0rem;
    margin: 0 0 .6rem;
}
ul.list_dot li::before {
    content: "";
    display: block;
    width: .6rem;
    height: .6rem;
    border-radius: .6rem;
    background: #000;
    position: absolute;
    top: .55em;
    left: 0;
}

.list_dot.txt_gry li::before {
    background-color: #343434;
}

table ul.list_dot li {
    margin: 0 0 .2rem;
}

/* ol */
ol:not([class]) {
    margin: 18px 0;
    counter-reset: count 0;
}
ol:not([class]) li {
    position: relative;
    padding: 0 0 0 2.6rem;
    margin: 16px 0;
    counter-reset: item 0;
}
ol:not([class]) li::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    content: counter(count) ". ";
    counter-increment: count 1;
}

/* 表組み table01 */
.table01 {
    width: 100%;
    border-collapse: collapse;
}
.table01 th, .table01 td {
    padding: 1.3rem 1.8rem 1.2rem;
    line-height: 1.65;
    text-align: left;
    font-size: clamp(1.4rem, 1.373rem + 0.13vw, 1.5rem);
    border-bottom: solid 1px #848484;
    border-right: solid 1px #848484;
}
.table01 tr *:last-child {
    border-right: none;
}
.table01 thead tr + tr th {
    border-right: solid 1px #848484 !important;
}
.table01 th {
    font-weight: 700;
    background-color: #E7E7E7;
}
.table01 td {
    background-color: #fff;
}
.table01 thead th {
    font-weight: 700;
    text-align: center;
    font-size: clamp(1.5rem, 1.473rem + 0.13vw, 1.6rem);
}
.table01 td.gry {
    background-color: #F5F5F5;
}
.table01.tac td {
    text-align: center;
}
.table01 a {
    text-decoration: underline;
}
.table01 a:hover {
    text-decoration: none;
}

/* 表組み table02 */
.table02 {
    width: 100%;
    border-collapse: collapse;
}
.table02 th, .table02 td {
    line-height: 1.65;
    text-align: left;
    font-size: clamp(1.4rem, 1.373rem + 0.13vw, 1.5rem);
}
.table02 th {
    font-weight: 700;
    background-color: #E7E7E7;
    padding: .8rem 1.8rem .7rem;
}
.table02 thead th {
    font-weight: 700;
}
.table02 tbody tr {
    background-color: #fff;
    border-bottom: solid 1px #D9D9D9;
}
.table02 tbody tr:nth-of-type(2n) {
    background-color: #F5F5F5;
}
.table02 tbody th, .table02 tbody td {
    padding: 1.8rem 1.8rem 1.7rem;
}
.table02 td.gry {
    background-color: #F5F5F5;
}
.table02.tac td {
    text-align: center;
}
.table02 a {
    font-weight: 700;
    text-decoration: underline;
    color: #005AFF;
}
.table02 a:hover {
    text-decoration: none;
}

@media screen and (max-width : 767px) {
    .table02 tbody th, .table02 tbody td {
        padding: 1.4rem 1.2rem 1.3rem;
    }
}

/* figcaption */
figcaption {
    margin: 1.5rem 0 0;
}

/* bg_gry */
.bg_gry {
    background-color: #F5F5F5;
}

/* sec_bg_gry */
.sec_bg_gry {
    background-color: #F5F5F5;
    padding-top: 6.5rem;
    padding-bottom: 6.5rem;
}

.sec_bg_gry .sec_grid > p,
.sec_bg_gry .p_flex_col {
    color: #343434;
}
.sec_bg_gry .sec_grid ul {
    color: #343434;
}
.sec_bg_gry .sec_grid ul.list_dot li::before {
    background-color: #343434;
}

.sec_bg_gry + .sec_bg_gry {
    padding-top: 0;
}

@media screen and (max-width : 767px) {
    .sec_bg_gry {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .sec_bg_gry + .sec_bg_gry {
        padding-top: 0;
    }
    .sec_bg_gry_sm {
        background-color: #F5F5F5;
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}

@media screen and (min-width : 768px) {
    .sec_bg_gry_lg {
        background-color: #F5F5F5;
    }
}

/* 404 Not Found
---------------------------------------*/
.notfound_ttl {
    font-size: 3.0rem;
    font-weight: 700;
    margin: 0 0 20px;
}
.notfound_blk {
    margin: 0 0 30px;
}

@media screen and (min-width : 1024px) {
    .notfound_ttl {
        font-size: 4.8rem;
        margin: 30px 0 40px;
   }
    .notfound_blk {
        margin: 0 0 30px;
    }
}

/* 横スクロール
---------------------------------------*/
/* スクロールバー */
[class*="js_scroll_vertical_wrap"]::-webkit-scrollbar {
    height: 6px;
}
[class*="js_scroll_vertical_wrap"]::-webkit-scrollbar-thumb {
    background-color: #343434;
    border-radius: 6px;
}
[class*="js_scroll_vertical_wrap"]::-webkit-scrollbar-button {
    display: none;
}
[class*="js_scroll_vertical_wrap"]::-webkit-scrollbar-track-piece:start, 
[class*="js_scroll_vertical_wrap"]::-webkit-scrollbar-track-piece:end {
    background-color: #E0E0E0;
}

@media screen and (min-width : 1024px) {
    .js_scroll_vertical_rail {
        width: auto !important;
        max-width: 100%;
    }
}

@media screen and (max-width : 1023px) {
    .js_scroll_vertical_wrap {
        width: 100%;
        overflow-x: auto;
        /* cursor: grab; */
    }
}

@media screen and (max-width : 767px) {
    .js_scroll_vertical_wrap table {
        min-width: 130vw
    }
}

.js_scroll_vertical_note {
    background-color: #848484;
    color: #fff;
    padding: .5rem 1rem;
    text-align: center;
}
@media screen and (min-width : 1024px) {
    .js_scroll_vertical_note {
        display: none;
    }
}


/* page_contact
---------------------------------------*/
.page_contact {
    color: #fff;
    padding: 11rem 0 25rem;
    background: #1b3ba9;
    background: linear-gradient(45deg, #1b3ba9, #1b3ba9 3%, #852677 14%, #e60013 45%, #e60013 55%, #852677 86%, #1b3ba9 93%, #1b3ba9);
    position: relative;
    overflow: hidden;
}
.page_contact_ttl {
    font-size: clamp(3rem, 0.753rem + 4.68vw, 5.2rem);
    line-height: 1.30;
    font-weight: 500;
    margin: 2rem 0 1rem;
}
.page_contact_blk {
    grid-column: 1 / -1;
    position: relative;
    z-index: 2;
}
.layout_no_side01 .page_contact_blk,
.layout_no_side02 .page_contact_blk {
    grid-column: 2 / -2;
}
@media screen and (max-width : 767px) {
    .page_contact {
        padding: 7rem 0 10rem;
    }
}
@media screen and (min-width : 1520px) {
    .page_contact_blk {
        grid-column: 1 / 9;
    }
    .layout_no_side01 .page_contact_blk,
    .layout_no_side02 .page_contact_blk {
        grid-column: 1 / 6 !important;
    }
}

/* page_contact ヘアラインアニメーション */
.page_contact_wave {
    position: absolute;
    bottom: -11.5rem;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    opacity: .8;
}
.page_contact_wave .element, .page_contact_wave canvas {
  width: 100% !important;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

@media screen and (max-width : 767px) {
    .page_contact_wave {
        bottom: -8rem;
        opacity: .6;
    }
}

/* side_fixed_contact
---------------------------------------*/
.side_fixed_contact {
    position: fixed;
    top: 45vh;
    right: 0;
    z-index: 98;
    width: 5rem;
    height: 14.8rem;
}
.side_fixed_contact a {
    display: block;
    background-color: #E60013;
    color: #fff;
    writing-mode: vertical-rl;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .1rem;
    padding: 2.3rem 1.3rem 2.3rem 1.3rem;
    border-radius: .4rem 0 0 .4rem;
}


/* p_archive_customers
---------------------------------------*/
.p_archive_customers {
    padding-top: 12rem;
    padding-bottom: 12rem;
}
@media screen and (max-width : 767px) {
    .p_archive_customers {
        padding-top: 9rem;
        padding-bottom: 4rem;
    }
}

.p_archive_customers {
    overflow: hidden;
    position: relative;
}
.p_archive_customers_head {
    display: flex;
    align-items: flex-end;
    gap: 16rem;
    margin: 0 0 4rem;
}
@media screen and (max-width : 767px) {
    .p_archive_customers_head {
        margin: 0 0 2.5rem;
    }
}

.p_archive_customers_rail {
    position: relative;
}
.p_archive_customers_item .blk {
    background-color: #F5F5F5;
    padding: 3.5rem 4rem;
    display: flex;
    flex-flow: column;
    gap: 2rem;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
}
.p_archive_customers_item .tmb_row {
    display: flex;
    gap: 2rem;
    align-items: center;
}
.p_archive_customers_item .tmb_box {
    width: 12rem;
    height: 12rem;
}
.p_archive_customers_item .tmb {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
}
.p_archive_customers_item .ttl {
    margin-top: auto;
    font-weight: 700;
    position: relative;
    font-size: 2.0rem;
    margin: 0;
}
.p_archive_customers_item .ttl .name {
    display: block;
    line-height: 1.3;
    margin: 0 0 .3rem;
}
.p_archive_customers_item .ttl .organization {
    display: block;
    font-size: 1.6rem;
}

@media screen and (max-width : 767px) {
    .p_archive_customers_item {
        width: 77vw !important;
    }
    .p_archive_customers_item .blk {
        padding: 3rem 2rem 2rem;
        gap: 1rem;
    }
    .p_archive_customers_item .tmb_row {
        gap: .5rem;
    }
    .p_archive_customers_item .tmb_box {
        height: auto;
        padding: 1rem 2rem;
    }
    .p_archive_customers_item .ttl {
        font-size: 1.8rem;
    }
}

.p_archive_customers_controller {
    position: relative;
    height: 6.2rem;
}
@media screen and (max-width : 767px) {
    .p_archive_customers_controller {
        display: none;
    }
}
 
/* Swiper 矢印 */
.p_archive_customers .swiper-button-prev, .p_archive_customers .swiper-button-next {
    position: absolute;
    top: 0;
    right: inherit;
    margin: 0;
    width: 6.8rem;
    height: 6.8rem;
    background-color: #fff;
    border-radius: 50%;
    font-weight: 700;
    border: solid 1px #797574;
}
.p_archive_customers .swiper-button-prev::after, .p_archive_customers .swiper-button-next::after {
    color: #005AFF;
    font-size: 1.6rem;
}
.p_archive_customers_controller .swiper-button-prev {
    left: 0;
}
.p_archive_customers_controller .swiper-button-next {
    left: 8rem;
}
.p_archive_customers_controller .swiper-button-prev::after, .p_archive_customers_controller .swiper-button-next::after {
    color: #0C0C0C;
}

@media screen and (max-width : 767px) {
    .p_archive_customers .swiper-button-prev, .p_archive_customers .swiper-button-next {
        width: 5rem;
        height: 5rem;
    }
    .p_archive_customers .swiper-button-prev::after, .p_archive_customers .swiper-button-next::after {
        font-size: 1.6rem;
    }
}

.p_archive_faq {
    padding-top: 8rem;
    padding-bottom: 12rem;
}
@media screen and (max-width : 767px) {
    .p_archive_faq {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
}

/* 製品詳細ページ 動画部分
---------------------------------------*/
.p_single_movies_wrap {
    background-image: radial-gradient(95.12% 183.4% at 50% 50%, #E60013 7.29%, #852677 64.06%, rgba(0, 90, 255, .7) 100%);
    padding: 4rem 0;
}
.p_single_movies_wrap_in {
    position: relative;
}
.p_single_movies_rail {
    border-radius: .8rem .8rem 0 0;
    width: 100%;
    height: auto;
    background-color: #F5F5F5;
    overflow: hidden;
}
.p_single_movies_item {
    padding: 0;
    display: flex;
    flex-flow: column;
}
.p_single_movies_item_txt {
    order: 2;
    padding: 2rem 3rem 3rem;
}
.p_single_movies_item_txt .ttl {
    font-weight: 700;
    margin: 0 0 1rem;
    font-size: clamp(2.2rem, 1.72rem + 2.4vw, 4rem);
    line-height: 1.12;
}
.p_single_movies_item_txt .ribbon {
    display: inline-block;
    background-color: #202020;
    color: #fff;
    text-align: center;
    margin: 0 0 3rem;
    padding: .7rem .7rem .6rem;
    font-size: 1.4rem;
    line-height: 1;
    border-radius: .3rem;
}
.p_single_movies_item_txt .time {
    color: #005AFF;
    margin: 1rem 0 0;
    font-size: 1.4rem;
}
.p_single_movies_item_box {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.p_single_movies_item_box iframe {
    border-radius: .8rem;
    width: 100%;
    height: 100%;
}

.p_single_movies_controller {
    background-color: #F5F5F5;
    border-top: solid 1px #D2D2D2;
    border-radius: 0 0 .8rem .8rem;
    position: relative;
    z-index: 0;
    padding: 0 2rem;
}
@media screen and (max-width : 767px) {
    .p_single_movies_controller {
        height: 9.2rem;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
}

@media screen and (min-width : 768px) {
    .p_single_movies_rail {
        order: 2;
        grid-column: 3 / -1 !important;
        /* max-height: 45.8rem; */
        border-radius: 0 .8rem .8rem 0;
    }
    .p_single_movies_controller {
        order: 1;
        grid-column: 1 / 3 !important;
        border: none;
        border-right: solid 1px #D2D2D2;
        border-radius: .8rem 0 0 .7rem;
    }
    .p_single_movies_item {
        display: flex;
        flex-flow: row;
        justify-content: space-between;
        padding: 4.3rem;
    }
    .p_single_movies_item_txt {
        order: 1;
        flex: 0 1 34%;
        padding: 0;
    }
    .p_single_movies_item_txt .ribbon {
        margin: 0 0 3.6rem;
    }
    .p_single_movies_item_txt .time {
        margin: 4rem 0 0;
    }
    .p_single_movies_item_box {
        order: 2;
        flex: 0 1 62%;
        align-self: center;
    }
}

@media screen and (min-width : 1024px) {
    .p_single_movies_rail {
        grid-column: 4 / -1 !important;
    }
    .p_single_movies_controller {
        grid-column: 3 / 4 !important;
    }

    [class*="layout_no_side"] .p_single_movies_rail {
        grid-column: 2 / -1 !important;
    }
    [class*="layout_no_side"]  .p_single_movies_controller {
        grid-column: 1 / 2 !important;
    }

    .--no_controller .p_single_movies_rail {
        grid-column: 2 / -2 !important;
        border-radius: .8rem;
    }
}

@media screen and (min-width : 1024px) {
    .p_single_movies_wrap.size_m .p_single_movies_rail {
        grid-column: 5 / -2 !important;
    }
    .p_single_movies_wrap.size_m .p_single_movies_controller {
        grid-column: 4 / 5 !important;
    }
    .p_single_movies_wrap.size_m .p_single_movies_item_txt .ttl {
        font-size: clamp(2.2rem, 1.933rem + 1.33vw, 3.2rem);
    }
}


/* Swiper 矢印 */
.p_single_movies_wrap .swiper-button-prev, .p_single_movies_wrap .swiper-button-next {
    position: absolute;
    top: 0;
    bottom: 0;
    right: inherit;
    margin: auto;
    width: 5rem;
    height: 5rem;
    background-color: #fff;
    border-radius: 50%;
    font-weight: 700;
}
.p_single_movies_wrap .swiper-button-prev::after, .p_single_movies_wrap .swiper-button-next::after {
    color: #005AFF;
    font-size: 1.6rem;
}

@media screen and (max-width : 767px) {
    .p_single_movies_wrap .swiper-button-next {
        left: 8.5rem;
    }
    .p_single_movies_wrap .swiper-button-prev {
        left: 2rem;
    }
}

@media screen and (min-width : 768px) {
    .p_single_movies_wrap .swiper-button-prev, .p_single_movies_wrap .swiper-button-next {
        position: absolute;
        left: 0;
        right: 0;
        bottom: inherit;
        margin: auto;
        width: 6.2rem;
        height: 6.2rem;
        background-color: #fff;
        border-radius: 50%;
        font-weight: 700;
    }
    .p_single_movies_wrap .swiper-button-next {
        top: 4rem;
    }
    .p_single_movies_wrap .swiper-button-prev {
        top: 11.5rem;
    }
    .p_single_movies_wrap .swiper-button-prev::after, .p_single_movies_wrap .swiper-button-next::after {
        font-size: 1.6rem;
    }
}

/* Swiper ページネーション */
.p_single_movies_wrap .swiper-pagination {
    position: inherit;
    margin: 1rem 0 0;
    padding: .8rem .5rem .5rem;
    width: 6rem;
    border-radius: 6.5rem;
    background-color: #fff;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1;
}
@media screen and (min-width : 768px) {
    .p_single_movies_wrap .swiper-pagination {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 6.5rem;
        margin: auto;
        padding: .8rem .5rem .5rem;
        width: 6rem;
        border-radius: 6.5rem;
        background-color: #fff;
        text-align: center;
        font-size: 1.4rem;
        line-height: 1;
    }
}


/* FAQ
---------------------------------------*/
.p_faq_item_wrap {
    margin: 0 0 2rem;
}
.p_faq_item {
    border: solid 1px #D9D9D9;
    border-left: none;
    border-right: none;
}
.p_faq_item + .p_faq_item {
    border-top: none;
}
.p_faq_item_q {
    border-bottom: solid 1px #D9D9D9;
    font-weight: 700;
    font-size: clamp(2rem, 1.591rem + 0.85vw, 2.4rem);
    padding: 2rem 1rem 1.8rem 5.0rem;
    position: relative;
    background-color: #fff;
    line-height: 1.38;
    text-indent: -1.8rem;
}
.p_faq_item_q > span {
    vertical-align: middle;
}
.p_faq_item_q .initial {
    display: inline-block;
    margin: 0 .2rem 0 0;
    font-family: Meiryo, Arial;
}
.p_faq_item_q .tag {
    display: inline-block;
    background-color: #E0E0E0;
    font-weight: 400;
    font-size: 1.3rem;
    padding: .3rem 1rem .2rem;
    margin: 0 .5rem 0 0;
    text-indent: 0;
}
.p_faq_item_q .txt {
    margin-right: 2.5rem;
}
.p_faq_item_a {
    background-color: #F5F5F5;
    padding: 2.5rem 3rem 2.5rem 5rem;
    color: #343434;
}

.js-faq-toggle {
    cursor: pointer;
    padding-right: 7.5rem;
}
.js-faq-toggle .icon {/* 矢印 */
    content: '';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.6rem;
    height: 3.6rem;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3rem;
    margin: auto;
    border: solid 1px #CCCCCC;
    border-radius: 50%;
    transform: rotate(45deg);
    transition: .3s ease;
}
.js-faq-toggle .icon::before {
    content: '';
    display: block;
    width: .6rem;
    height: .6rem;
    border: solid 1px #000;
    border-top: none;
    border-left: none;
    transform: translate(-1px, -1px);
}
.js-faq-toggle.is-active .icon {
    transform: rotate(-135deg);
}

.js-faq-toggle {
    border-bottom: none;
}
.js-faq-toggle.is-active {
    border-bottom: solid 1px #D9D9D9;
}
.js-faq-toggle + .p_faq_item_a {
    display: none;
}

@media screen and (max-width : 767px) {
    .p_faq_item_q {
        padding-left: 4rem;
        padding-right: 3.5rem;
        text-indent: -1.5rem;
    }
    .p_faq_item_a {
        padding-left: 4rem;
    }
    .p_faq_item_q .txt {
        margin-right: .5rem;
    }
    .p_faq_item_q .icon {
        right: .5rem;
        width: 2.4rem;
        height: 2.4rem;
    }
}

/* サポートページ FAQ */
.s_faq_sec + .s_faq_sec {
    margin-top: 10rem;
}
@media screen and (max-width : 767px) {
    .s_faq_sec + .s_faq_sec {
        margin-top: 8rem;
    }
}


/* サポートページ
---------------------------------------*/
/* ページ下部背景 */
.s_bg {
    content: "";
    display: block;
    background-image: url(/jp/assets/images/common/bg_wave03.webp);
    background-repeat: no-repeat;
    background-position: 0 bottom;
    background-size: 110%;
    padding-bottom: 16rem;
}

@media screen and (max-width : 767px) {
    .s_bg {
        padding-bottom: 12rem;
    }
}

/* 冒頭 */
.s_summary {
    padding: 0 0 10rem;
}
.s_summary_row {
    display: flex;
    gap: 4rem;
    justify-content: space-between;
}
.s_summary_main {
    flex: 1 1 50%;
}
.s_summary_sub {
    flex: 0 1 47%;
}

@media screen and (max-width : 767px) {
    .s_summary {
        padding: 0 0 6rem;
    }
    .s_summary_row {
        display: block;
    }
    .s_summary_row > *:first-of-type {
        padding: 0;
    }
}


/* ダウンロードリスト */
.s_dl_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
}
.s_dl_list_item .status {
    display: block;
    font-weight: 400;
    color: #343434;
    font-size: 1.2rem;
}
@media screen and (max-width : 767px) {
    .s_dl_list {
        grid-template-columns: auto;
        gap: 1rem;
    }
}

.link_catalogue {
    display: block;
    height: 100%;
    background-color: #F5F5F5;
    border-radius: .4rem;
    padding: 1rem 3.5rem .7rem;
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
    position: relative;
    transition: .2s ease;
}
.link_catalogue::before {
    content: '';
    display: block;
    background: url(/jp/assets/images/common/icon_document.svg) no-repeat 0 0;
    background-size: 100%;
    width: 1.4rem;
    height: 2.0rem;
    position: absolute;
    top: 1rem;
    left: 1.1rem;
    opacity: .5;
}
.link_catalogue::after {
    content: '';
    display: block;
    background: url(/jp/assets/images/common/icon_arrow_circle_gry.svg) no-repeat 0 0;
    background-size: 100%;
    width: 1.7rem;
    height: 1.7rem;
    position: absolute;
    top: 1rem;
    right: 1.1rem;
}
.link_catalogue:hover {
    color: #005AFF;
    text-decoration: none;
}
.link_catalogue:hover:after {
    background: url(/jp/assets/images/common/icon_arrow_circle_bl.svg) no-repeat 0 0;
}

.link_catalogue.blank::after {
    transform: rotate(-45deg);
}
.link_catalogue:hover {
    color: #005AFF;
}

.link_catalogue.dl::after {
    transform: rotate(90deg);
}
.link_catalogue:hover {
    color: #005AFF;
}

/* サポート トップ
---------------------------------------*/
.s_index_wrap {
    padding: 9rem 12rem;
    background-color: #F5F5F5;
    border-radius: 1rem;
}
@media screen and (max-width : 767px) {
    .s_index_wrap {
        padding: 3rem 2rem;
    }
}

.s_index_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.4rem 2.6rem;
}
.s_index_list_item .blk {
    background-color: #fff;
    border-radius: .4rem;
    padding: 3.9rem 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    height: 100%;
}
.s_index_list_item .txt {
    font-weight: 700;
    font-size: clamp(1.8rem, 1.427rem + 1.87vw, 3.2rem);
}
.s_index_list_item .icon {
    flex: 0 0 10rem;
    font-weight: 700;
    font-size: 1.2rem;
    position: relative;
    padding: 0 0 0 5rem;
}
.s_index_list_item a .icon::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 3.8rem;
    height: 3.8rem;
    background-color: #E60013;
    border-radius: 50%;
    background-image: url(/jp/assets/images/common/icon_arrow_wh.svg);
    background-repeat: no-repeat;
    background-size: 1rem;
    background-position: center;
    transition: .2s ease;
}
.s_index_list_item a:hover .icon:before {
    background-color: #fff;
    background-image: url(/jp/assets/images/common/icon_arrow_rd.svg);
}

@media screen and (max-width : 767px) {
    .s_index_list {
        grid-template-columns: auto;
        gap: 1.6rem;
    }
    .s_index_list_item .blk {
        padding: 3rem 2.5rem;
        gap: 1.5rem;
    }
    .s_index_list_item .icon {
        flex: 0 0 9rem;
        padding-left: 4rem;
    }
    .s_index_list_item a .icon::before {
        width: 3rem;
        height: 3rem;
    }
}

/* 導入事例
---------------------------------------*/
/* 一覧ページ */
.customer_archive_item + .customer_archive_item {
    margin-top: 13rem;
}
@media screen and (max-width : 767px) {
    .customer_archive_item + .customer_archive_item {
        margin-top: 10rem;
    }
}

.customer_archive_item_row {
    margin: 2rem 0 0;
}
.customer_archive_item_img .tmb_box {
    text-align: right;
}
.customer_archive_item_img .tmb_box img {
    border-radius: 2.4rem;
}
.customer_archive_item .link {
    margin-top: 4.5rem;
}

.customer_submission {
    margin-top: 10rem;
}
.customer_submission_box {
    background-color: #F5F5F5;
    border-radius: 1rem;
    padding: 7rem 12rem;
}
@media screen and (max-width : 767px) {
    .customer_submission {
        margin-top: 6rem;
    }
    .customer_submission_box {
        padding: 4rem 3rem;
    }
}

/* 詳細ページ */
.customer_single_sec {
    margin-top: 5rem;
}
.customer_single_sec + .customer_single_sec {
    margin-top: 12rem;
}
@media screen and (max-width : 767px) {
    .customer_single_sec + .customer_single_sec {
        margin-top: 8rem;
    }
}
.customer_single_sec_head_img {
    width: 100%;
    height: 16rem;
    background-image: url(/jp/assets/images/support/customer-feedback/customer_img_01.webp);
    background-repeat: no-repeat;
    background-position: center 0;
    background-size: 100%;
    margin: 0 0 5.5rem;
}

/* 販売終了ページ
---------------------------------------*/
.discontinued_sec + .discontinued_sec {
    margin-top: 11rem;
}
@media screen and (max-width : 767px) {
    .discontinued_sec + .discontinued_sec {
        margin-top: 10rem;
    }
}

/* カタログ
---------------------------------------*/
.s_datasheets_sec {
    position: relative;
}
.s_datasheets_list {
    margin: 2rem 0 0;
}
.s_datasheets_sec_content {
    padding-bottom: 4rem;
}
.s_datasheets_sec:first-of-type .s_datasheets_sec_content {
    padding-top: 0;
    padding-top: 3.5rem;
}
.s_datasheets_sec + .s_datasheets_sec .s_datasheets_sec_content {
    border-top: solid 1px #D9D9D9;
    padding-top: 3rem;
}

/* フォーム
---------------------------------------*/
.form_row .form_head {
    grid-column: 1 / 5;
}
.form_head .ttl {
    margin: 0 0 3rem;
}
.form_row .form_body {
    grid-column: 6 / -1;
    position: relative;
}
.form_body iframe {
    width: 100%;
    height: 100%;
}
.form_body.--bg_wh {
    background-color: #fff;
    padding: 2rem 2rem 2rem 7rem;
    border-radius: 1rem;
}
@media screen and (max-width : 767px) {
    .form_body.--bg_wh {
        padding: 1rem 2rem;
    }
}

.form_height_90 {
    height: 90vh;
}
.form_height_100 {
    height: 100vh;
}
.form_height_120 {
    height: 120vh;
}
.form_height_150 {
    height: 150vh;
}
@media screen and (max-width : 767px) {
    .form_height_90 {
        height: 90rem;
    }
    .form_height_100 {
        height: 100rem;
    }
    .form_height_120 {
        height: 120rem;
    }
    .form_height_150 {
        height: 150rem;
    }
}


/* 関連資料
---------------------------------------*/
.knowledge_archive {
    padding-top: 0;
    padding-bottom: 8rem;
}
@media screen and (max-width : 767px) {
    .knowledge_archive {
        padding-top: 0;
        padding-bottom: 6rem;
    }
}

.knowledge_archive_list {
    margin: 0 0 2rem;
}
.knowledge_archive_item {
    margin: 0 0 3rem;
}
.knowledge_archive_item .blk {
    background-color: #F5F5F5;
    border-radius: 1rem;
    position: relative;
}
.knowledge_archive_item .tmd_box {
    grid-column: 1 / 5;
    padding: 4rem 4rem;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.knowledge_archive_item .tmd_box .tmb {
    border-radius: .5rem;
    height: 160px;
    object-fit: cover;
}
.knowledge_archive_txt {
    grid-column: 5 / -1;
    padding: 2rem 4rem 4rem 0;
}
.knowledge_archive_txt .category {
    color: #B1B1B1;
    font-weight: 700;
    font-size: clamp(2rem, 1.591rem + 0.85vw, 2.4rem);
    margin: 0 0 .7rem;
}
.knowledge_archive_txt .ttl {
    margin: 0 0 1rem;
}
.knowledge_archive_txt .desc {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 3rem;
}

.knowledge_archive_item:hover .link_arrow01:before {
    transform: scale(1.17);
}
.knowledge_archive_item:hover .link_arrow01:before img {
    transform: scale(1);
}

@media screen and (max-width : 767px) {
    .knowledge_archive_item .blk {
        gap: 0;
    }
    .knowledge_archive_fig {
        padding: 3rem;
    }
    .knowledge_archive_txt {
        grid-column: 4 / -1;
        padding: 3rem 3rem 3rem 3rem;
        box-shadow: 0 -6px 8px -8px rgba(0,0,0,.15);
    }
    .knowledge_archive_txt .desc {
        font-size: 1.6rem;
        padding-right: 5rem;
    }
}

/* 関連資料 詳細 インタビュー
---------------------------------------*/
.interview_sec + .interview_sec {
    margin-top: 14rem;
}
@media screen and (max-width : 767px) {
    .interview_sec + .interview_sec {
        margin-top: 6rem;
    }
}

/* 関連製品 */
.interview_related_products {
    margin-top: 12rem;
    padding-top: 10rem;
    border-top: solid 1px #D9D9D9;
}
.interview_sec_row {
    gap: 6rem;
    margin-top: 3rem;
}
.interview_related_products_box {
    background-color: #F5F5F5;
    padding: 3.5rem 5rem;
}
.interview_related_products_box {
    margin-top: 2rem;
}
.interview_related_products_box .ribbon {
    font-weight: 700;
    color: #E60013;
    margin: 0 0 .5rem;
}
.interview_related_products_box .tmb_box {
    width: 100%;
    height: 100%;
}
.interview_related_products_box .tmb {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
}

@media screen and (max-width : 767px) {
    .interview_related_products {
        margin-top: 6rem;
    }
}

/* ウェビナー
---------------------------------------*/
/* 一覧 */
.webinar_archive_list {
    margin: 3rem 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
}
.webinar_archive_item .blk {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
    background-color: #F5F5F5;
    padding: 3rem;
}
.webinar_archive_item .tmb_box {
    margin: 0 0 2rem;
}
.webinar_archive_item a:hover {
    text-decoration: underline;
}
@media screen and (max-width : 767px) {
    .webinar_archive_list {
        grid-template-columns: auto;
    }
}

/* 詳細ページ */
.webinar_single_sec {
    padding-bottom: 11rem;
}
.webinar_single_form {
    padding-top: 10rem;
    padding-bottom: 10rem;
}
@media screen and (max-width : 767px) {
    .webinar_single_sec {
       padding-bottom: 7rem;
    }
    .webinar_single_form {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

/* ビデオギャラリー
---------------------------------------*/
/* 一覧 */
.movie_archive_sec + .movie_archive_sec {
    margin-top: 14rem;
}
@media screen and (max-width : 767px) {
    .movie_archive_sec + .movie_archive_sec {
        margin-top: 8rem;
    }
}

.movie_archive_list {
    margin: 1rem 0 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.8rem 1.6rem;
}
.movie_archive_item .blk {
    display: block;
    width: 100%;
    height: 100%;
}
.movie_archive_item .tmb_box {
    margin: 0 0 1.1rem;
}
.movie_archive_item a:hover {
    text-decoration: underline;
}
@media screen and (max-width : 767px) {
    .movie_archive_list {
        grid-template-columns: auto;
    }
}

/* 詳細ページ */
.movie_single_summary .time {
    color: #005AFF;
    margin: 1rem 0 0;
    font-size: 1.4rem;
}
.movie_single_summary .s_summary_main {
    flex-basis: 68%;
}
.movie_single_summary .s_summary_sub {
    flex-basis: 20%;
    text-align: right;
}

.movie_single_wrap {
    padding: 0;
    width: 100%;
    aspect-ratio: 16 / 9;
}
.movie_single_wrap iframe {
    border-radius: .8rem;
    width: 100%;
    height: 100%;
}

.movie_single_contact {
    text-align: center;
    margin: 10rem 0 12rem;
}
@media screen and (max-width : 767px) {
    .movie_single_contact {
        margin: 6rem 0 8rem;
    }
}

/* 論文
---------------------------------------*/
.p_slm_publications_item {
    margin: 3rem 0;
}
.p_slm_publications_item .blk {
    display: block;
    background-color: #F5F5F5;
    border-radius: 1rem;
    padding: 5rem 4rem 4rem 5rem;
}
.p_slm_publications_item .ttl {
    margin-bottom: 2rem;
}
.p_slm_publications_dl {
    margin: .5rem 0;
    font-size: 1.6rem;
    display: flex;
    gap: .5rem;
}
.p_slm_publications_dl dt {
    color: #343434;
}
.p_slm_publications_btn_wrap {
    text-align: right;
    margin: 1.7rem 0 0;
}
.p_slm_publications_btn {
    display: inline-block;
    background-color: #fff;
    border-radius: 20rem;
    padding: 1.8rem 2.6rem 1.8rem 2.6rem;
    text-align: center;
    font-size: 1.6rem;
    position: relative;
    transition: .2s ease;
}
.p_slm_publications_btn::after {
    content: "";
    display: inline-block;
    width: 2.0rem;
    height: 2.0rem;
    background-image: url(/jp/assets/images/common/icon_arrow_circle_gry.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    vertical-align: middle;
    transform: rotate(-45deg);
    margin: 0 0 .2rem 1.3rem;
    transition: .2s ease;
}

.p_slm_publications_item a {
    transition: .2s ease;
}
.p_slm_publications_item a:hover {
    background: #FFF;
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.10);
}
.p_slm_publications_item a:hover .p_slm_publications_btn {
    color: #005AFF;
    text-decoration: underline;
}
.p_slm_publications_item a:hover .p_slm_publications_btn::after {
    background-image: url(/jp/assets/images/common/icon_arrow_circle_bl.svg);
}

@media screen and (max-width : 767px) {
    .p_slm_publications_item .blk {
        padding: 3rem;
    }
    .p_slm_publications_btn_wrap {
        margin: 2.5rem 0 0;
    }
}


/* ブログ
---------------------------------------*/
.knowledge_single_article {
    padding-bottom: 6rem;
}
.knowledge_single_article h1 {
    font-size: clamp(2.6rem, 1.17rem + 2.98vw, 4rem);
    font-weight: 700;
    line-height: 1.4;
    margin: 1rem 0 2rem;
    font-feature-settings: "palt";
}
.knowledge_single_article h2 {
    font-size: clamp(2rem, 1.733rem + 1.33vw, 3rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 3.5rem 0 1.5rem;
}
.knowledge_single_article h3 {
    font-size: clamp(2rem, 1.591rem + 0.85vw, 2.4rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 3.5rem 0 1.5rem;
}
.knowledge_single_article h4 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 3rem 0 1rem;
}

.knowledge_single_article h2 + h3 {
    margin-top: 2.5rem;
}

@media screen and (min-width : 768px) {
    .knowledge_single_article h1 {
        margin-top: 0;
        
}

@media screen and (min-width : 1520px) {
    .knowledge_single_article h1 {
        line-height: 1.2;
        margin: 0 0 6rem;
    }
    .knowledge_single_article h2 {
        line-height: 1.2;
        margin: 8rem 0 2rem;
    }
    .knowledge_single_article h3 {
        line-height: 1.2;
        margin: 8rem 0 2rem;
    }
    .knowledge_single_article h4 {
        line-height: 1.3;
        margin: 4rem 0 2rem;
    }
    .knowledge_single_article h5 {
        line-height: 1.3;
        margin: 4rem 0 2rem;
    }
    .knowledge_single_article h6 {
        line-height: 1.35;
        margin: 4rem 0 2rem;
    }
}

/* grid */
.knowledge_single_article .grid {
    margin: 2.5rem 0;
    gap: 4rem 3.2rem;
}
.knowledge_single_article .grid + .grid {
    margin-top: 4.5rem;
}
.knowledge_single_article .grid h2,
.knowledge_single_article .grid h3,
.knowledge_single_article .grid h4,
.knowledge_single_article .grid h5,
.knowledge_single_article .grid h6 {
    margin-top: 0;
}
.knowledge_single_article .grid h4,
.knowledge_single_article .grid h5,
.knowledge_single_article .grid h6 {
    margin-bottom: 1.2rem;
}

.knowledge_single_article figure {
    margin: .5rem 0;
}
.knowledge_single_article .grid figure {
    margin-bottom: 1.5rem;
}

.knowledge_single_article .grid .tmb_box {
    aspect-ratio: 4 / 2.5;
    transition: .3s ease;
}
.knowledge_single_article .grid .tmb_box img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
}
.knowledge_single_article .grid a:hover .tmb_box {
    opacity: .7;
}

/* 関連記事 */
.knowledge_related_article {
    border-top: solid 1px #D9D9D9;
    margin: 8rem 0 2rem;
    padding: 2rem 0 0;
}
.knowledge_related_article_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 3.2rem;
    margin: 4rem 0;
}
.knowledge_related_article_item a {
    display: block;
    width: 100%;
    height: 100%;
}
.knowledge_related_article_item .tmb_box {
    margin: 0 0 1.5rem;
    width: 100%;
    overflow: hidden;
}
.knowledge_related_article_item .tmb_box .tmb {
    transition: .4s ease;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.knowledge_related_article_item .category {
    color: #B1B1B1;
    font-weight: 700;
    font-size: clamp(2rem, 1.591rem + 0.85vw, 2.4rem);
    line-height: 1.35;
    margin: 0 0 .5rem;
}
.knowledge_related_article_item .ttl {
    margin: 0;
    font-weight: 700;
    font-size: clamp(1.8rem, 1.494rem + 0.64vw, 2.1rem);
    line-height: 1.5;
}
.knowledge_related_article_item a:hover .tmb {
    transform: scale(1.07);
    opacity: .8;
}
.knowledge_related_article_item a:hover .ttl {
    text-decoration: underline;
}

.knowledge_single_article a:hover h3,
.knowledge_single_article a:hover h4,
.knowledge_single_article a:hover h5 {
    text-decoration: underline;
}


/* 日本語で非表示にするアイテム
---------------------------------------*/
html:lang(ja) .en_item,
html:lang(ja) .cn_item
{
    display:none;
}

