@charset "utf-8";
/*
===========================================================
 global
=========================================================== */

/* --------------------------------------------------------
-----------------------------------------------------------
 base
-----------------------------------------------------------
----------------------------------------------------------- */

/* @import url('https://fonts.googleapis.com/css2?family=Barlow:wght@100;200;300;400;500;600;700;800;900&display=swap'); */
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap'); */
/* @import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;700&display=swap'); */
/* @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,700&display=swap'); */
/* @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap'); */

:root {
    --light-steel: #95ACBA;
    --fire-blick: #C90404;
    --gradient-deep-sea: linear-gradient(270deg, rgba(60, 98, 255, 1) 0%, rgba(0, 35, 188, 1) 100%);
    --silver: #A8A8A8;
    --snow: #F0F0F0;
    --steel-blue: #0C6CA8;
    --charcoal: #505050;
    --font-family01: Arial, "Helvetica Neue", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "游ゴシック体", 'Yu-Gothic', 'Yu Gothic', 'YuGothic', "Hiragino Sans", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    --font-family02: Oswald, Arial, "Helvetica Neue", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "游ゴシック体", 'Yu-Gothic', 'Yu Gothic', 'YuGothic', "Hiragino Sans", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

a,
button {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

a {
    color: inherit;
}

:where(.keni-section) a {
    color: var(--steel-blue);
}

p {
    margin: 0;
    padding: 0;
}

:where(.keni-section) p {
    margin: 0 0 1.5em;
}

figure {
    margin: 0;
}

:where(.keni-section) figure {
    margin: 1em 0;
}

ul,
ol,
ul>li,
ol>li,
dd {
    margin: 0;
    padding: 0;
}

ul {
    list-style: none;
}

:where(.keni-section) ul {
    list-style-type: disc;
}

:where(.keni-section) ul,
:where(.keni-section) ol {
    margin: 1em 0 1.5em 1.5em;
    padding-left: 0;
}

:where(.keni-section) ul>li,
:where(.keni-section) ol>li {
    margin-bottom: .5em;
}

:where(.keni-section) ul>li:last-child,
:where(.keni-section) ol>li:last-child {
    margin-bottom: 0;
}

:where(.keni-section) dd {
    margin-left: 0;
    padding-left: 1em;
}

table {
    width: auto;
    margin: 0;
}

th,
td {
    font-size: inherit;
}

th {
    border: none;
    background: none;
    color: inherit;
}

td {
    border: none;
}

tbody th {
    background: none;
    border: none;
    color: inherit;
    text-align: inherit;
}

:where(.keni-section) table {
    width: 100%;
    margin: 1em 0;
}

:where(.keni-section) th,
:where(.keni-section) td {
    font-size: 1.4rem;
}

:where(.keni-section) th {
    border: 1px solid #05a5ab;
    background-color: #05a5ab;
    color: #fff;
    font-weight: bold;
    text-align: left;
}

:where(.keni-section) td {
    border: 1px solid #ddd;
}

:where(.keni-section) tbody th {
    background: #f7f7f7;
    border: 1px solid #ddd;
    color: #505050;
    text-align: center;
}

h2 {
    margin: 0;
    padding: 0;
    background: none;
    color: inherit;
    font-size: inherit;
}

:where(.keni-section) h2 {
    padding: 10px 10px 5px;
    background: #05a5ab;
    color: #fff;
    font-size: 1.9rem;
    margin-bottom: 23px;
}

@media (min-width : 768px) {
    :where(.keni-section) h2 {
        font-size: 2.1rem;
    }
}

h3 {
    margin: 0;
    padding: 0;
    border: none;
    color: inherit;
    font-size: inherit;
}

:where(.keni-section) h3 {
    margin: 60px 1px 24px;
    padding: 10px 0;
    border-top: 1px solid #05a5ab;
    border-bottom: 1px solid #05a5ab;
    color: #00858a;
    font-size: 1.8rem;
}

@media (min-width : 768px) {
    :where(.keni-section) h3 {
        font-size: 2.0rem;
    }
}

h4 {
    margin: 0;
    padding: 0;
    border: none;
    color: inherit;
    font-size: inherit;
}

:where(.keni-section) h4 {
    margin-top: 60px;
    margin-bottom: 18px;
    padding: 0 0 5px;
    border-bottom: 1px dotted #05a5ab;
    color: #00858a;
    font-size: 1.8rem;
}

@media (min-width : 768px) {
    :where(.keni-section) h4 {
        font-size: 2.0rem;
    }
}

h5 {
    margin: 0;
    color: inherit;
    font-size: inherit;
}

:where(.keni-section) h5 {
    margin-top: 60px;
    margin-bottom: 12px;
    color: #00858a;
    font-size: 1.8rem;
}

@media (min-width : 768px) {
    :where(.keni-section) h5 {
        font-size: 2rem;
    }
}

h6 {
    margin: 0;
    color: inherit;
    font-size: inherit;
}

:where(.keni-section) h6 {
    margin-top: 60px;
    margin-bottom: 12px;
    color: #505050;
    font-size: 1.6rem;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 common
-----------------------------------------------------------
----------------------------------------------------------- */

/* html, */
body {
    background: white;
    font-size: 1.5rem;
    /* font-size: 16px; */
    color: var(--charcoal);
    /* font-family: source-han-sans-japanese, "游ゴシック", "游ゴシック体", 'Yu-Gothic', 'Yu Gothic', 'YuGothic', "Hiragino Sans", sans-serif; */
    /* font-family: "游ゴシック", "游ゴシック体", 'Yu-Gothic', 'Yu Gothic', 'YuGothic', "Hiragino Sans", 'Barlow', sans-serif; */
    font-family: var(--font-family01);
    letter-spacing: 0.025em;
    line-height: 1.8;
}

@media screen and (max-width: 800px) {
    body {
        font-size: 1.3rem;
    }
}

a {
    /* color: inherit; */
    transition: color 0.3s;
    /* transition: all 0.3s; */
    /* text-decoration: none; */
    /* font-size: 13px; */
    /* letter-spacing: 0.2em; */
}

@media print,
screen and (min-width: 801px) {
    a:hover {
        color: var(--steel-blue);
        /* text-decoration: none; */
    }

    a img:not(.hover-scale) {
        transition: opacity 0.3s;
    }

    a:hover img:not(.hover-scale) {
        opacity: 0.7;
    }
}

/* p {
    font-size: 15px;
    line-height: 32px;
    letter-spacing: 0.025em;
} */

/* p:before,p:after{
    content:'';
    width: 0;
    height: 0;
    display: block;
}
p:before{ margin-bottom: -8.5px; }
p:after{ margin-bottom: -8.5px;} */

/* ul {
    list-style: none;
} */

@media (max-width: 800px) {

    input[type="text"],
    input[type='password'],
    input[type="email"],
    textarea,
    select {
        font-size: 16px;
    }
}

input[type="text"],
input[type="email"] {
    display: block;
    width: 100%;
    border: 0.5px solid var(--charcoal);
    padding: 6px 10px;
}

::placeholder {
    color: #B4B4B4;
}

textarea {
    width: 100%;
    height: 240px;
    resize: none;
    padding: 6px 10px;
}


.container-fluid {
    width: 100%;
}

.container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.container-max {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}

.bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
}

.bg>* {
    position: relative;
    z-index: 2;
}

.bg:before {
    content: '';
    width: 100%;
    height: 100%;
    background: #50A9E0;
    opacity: 0.79;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.bg:nth-child(2):before {
    background: #0069AA;
}

.bt-0:before {
    top: 0;
}

.bt-m220:before {
    top: -220px;
}

.bb-0:before {
    bottom: 0;
}

.bb-10:before {
    bottom: 10px;
}

.bb-m250:before {
    bottom: -250px;
}

.bb-m10:before {
    bottom: -10px;
}

.bb-150:before {
    bottom: 150px;
}

.bb-m30:before {
    bottom: -30px;
}

.bl-100:before {
    left: 100px;
}

.bl-150:before {
    left: 150px;
}

.bl-170:before {
    left: 170px;
}

.bl-m370:before {
    left: -370px;
}

.br-0:before {
    right: 0;
}

.br-m480:before {
    right: -480px;
}

.bl-m480:before {
    left: -480px;
}

.br-80:before {
    right: 80px;
}


.d-block {
    display: block !important;
}

.font-montserrat {
    font-family: 'Montserrat' !important
}

/* .font-noto-sans {
    font-family: 'Noto Sans JP' !important
} */

.font-noto-serif {
    font-family: 'Noto Serif JP' !important;
}

.font-yu-gothic {
    /* font-family: source-han-sans-japanese, "游ゴシック", "游ゴシック体", 'Yu-Gothic', 'Yu Gothic', 'YuGothic', "Hiragino Sans", sans-serif; */
    font-family: var(--font-family01);
}

.font-sana {
    font-family: 'Sana' !important
}

.before-text-light-steel:before {
    color: var(--light-steel);
}

.after-none:after,
.before-none:before {
    content: none !important;
}

.after-text-light-steel:after {
    color: var(--light-steel);
}

.after-ml-10:after {
    margin-left: 10px !important;
}

.align-content-between {
    align-content: space-between;
}

.align-items-center {
    align-items: center !important;
}

.bg-steel-blue {
    background: var(--steel-blue) !important;
}

.d-flex {
    display: flex !important;
}

.d-inline-block {
    display: inline-block !important;
}

.d-grid {
    display: grid;
}

.grid-r3c2 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
}

.d-none {
    display: none !important;
}

.font-oswald {
    font-family: var(--font-family02) !important;
}

/* .font-noto-sans {
    font-family: 'Noto Sans JP'
} */

.flex-column-reverse {
    flex-direction: column-reverse !important;
}

.flex-row-reverse {
    flex-direction: row-reverse !important;
}

.flex-wrap {
    flex-wrap: wrap
}

.font-size-13 {
    font-size: 13px !important;
}

.font-size-15 {
    font-size: 15px !important;
}

.font-size-17 {
    font-size: 17px !important;
}

.font-size-12 {
    font-size: 12px !important;
}

.font-size-14 {
    font-size: 14px !important;
}

.font-size-16 {
    font-size: 14px !important;
}

.font-size-18 {
    font-size: 18px !important;
}

.font-size-20 {
    font-size: 20px !important;
}

.font-size-24 {
    font-size: 24px !important;
}

.font-size-29 {
    font-size: 29px !important;
}

.font-size-30 {
    font-size: 30px !important;
}

.font-size-32 {
    font-size: 32px !important;
}

.font-size-33 {
    font-size: 33px !important;
}

.font-size-38 {
    font-size: 38px !important;
}

.font-size-40 {
    font-size: 40px !important;
}

.font-size-50 {
    font-size: 50px !important;
}

.font-size-60 {
    font-size: 60px !important;
}

/* .line-height-22{ line-height: 22px !important; } */
.line-height-26 {
    line-height: 26px !important;
}

.line-height-40 {
    line-height: 40px !important;
}

.font-size-29-18 {
    font-size: 29px !important;
}

.font-size-24-12 {
    font-size: 24px !important;
}

.font-size-14-12 {
    font-size: 14px !important;
}

.font-size-18-12 {
    font-size: 18px !important;
}

.font-weight-bold {
    font-weight: 700;
}

.font-weight-semibold {
    font-weight: 600;
}

.font-weight-medium {
    font-weight: 500;
}

.noto-sans-medium {
    font-weight: 500;
}

.h-100 {
    height: 100% !important;
}

.h-360 {
    height: 360px !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-evenly {
    justify-content: space-evenly !important;
}

.position-absolute {
    position: absolute !important;
}

.position-relative {
    position: relative !important;
}

.m-auto {
    margin-right: auto !important;
    margin-left: auto !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-5 {
    margin-bottom: 5px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mb-40 {
    margin-bottom: 40px !important;
}

.mb-50 {
    margin-bottom: 50px !important;
}

.mb-60 {
    margin-bottom: 60px !important;
}

.mb-80 {
    margin-bottom: 80px !important;
}

.mb-100 {
    margin-bottom: 100px !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-10 {
    padding-top: 10px !important;
}

.pt-15 {
    padding-top: 15px !important;
}

.pt-20 {
    padding-top: 20px !important;
}

.pt-30 {
    padding-top: 30px !important;
}

.pt-40 {
    padding-top: 40px !important;
}

.pt-50 {
    padding-top: 50px !important;
}

.pt-60 {
    padding-top: 60px !important;
}

.pt-80 {
    padding-top: 80px !important;
}

.pt-90 {
    padding-top: 90px !important;
}

.pt-100 {
    padding-top: 100px !important;
}

.pt-120 {
    padding-top: 120px !important;
}

.pt-140 {
    padding-top: 140px !important;
}

.pt-150 {
    padding-top: 150px !important;
}

.pt-160 {
    padding-top: 160px !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-15 {
    padding-bottom: 15px !important;
}

.pb-20 {
    padding-bottom: 20px !important;
}

.pb-30 {
    padding-bottom: 30px !important;
}

.pb-40 {
    padding-bottom: 40px !important;
}

.pb-50 {
    padding-bottom: 50px !important;
}

.pb-60 {
    padding-bottom: 60px !important;
}

.pb-70 {
    padding-bottom: 70px !important;
}

.pb-80 {
    padding-bottom: 80px !important;
}

.pb-90 {
    padding-bottom: 90px !important;
}

.pb-100 {
    padding-bottom: 100px !important;
}

.pb-150 {
    padding-bottom: 150px !important;
}

.pb-170 {
    padding-bottom: 170px !important;
}

.pr-15 {
    padding-right: 15px !important;
}

.pr-24 {
    padding-right: 24px !important;
}

.pr-30 {
    padding-right: 30px !important;
}

.pr-50 {
    padding-right: 50px !important;
}

.pr-60 {
    padding-right: 60px !important;
}

.pr-70 {
    padding-right: 70px !important;
}

.pr-80 {
    padding-right: 80px !important;
}

.pr-130 {
    padding-right: 130px !important;
}

.pr-150 {
    padding-right: 150px !important;
}

.pr-200 {
    padding-right: 200px !important;
}

.pl-0 {
    padding-left: 0 !important;
    ;
}

.pl-15 {
    padding-left: 15px !important;
}

.pl-18 {
    padding-left: 18px !important;
}

.pl-24 {
    padding-left: 24px !important;
}

.pl-30 {
    padding-left: 30px !important;
}

.pl-50 {
    padding-left: 50px !important;
}

.pl-60 {
    padding-left: 60px !important;
}

.pl-80 {
    padding-left: 80px !important;
}

.pl-150 {
    padding-left: 150px !important;
}

.pl-200 {
    padding-left: 200px !important;
}

.radius-3 {
    border-radius: 3px;
}

.pt-44-14 {
    padding-top: 44px;
}

.p-tb-44-14 {
    padding-top: 44px;
    padding-bottom: 44px;
}

.p-tb-83-40 {
    padding-top: 83px;
    padding-bottom: 83px;
}

.p-20 {
    padding: 20px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mt-160 {
    margin-top: 160px !important;
}

.mr-20 {
    margin-right: 20px !important;
}

.mr-150 {
    margin-right: 150px !important;
}

.mr-m30 {
    margin-right: -30px !important;
}

.ml-m30 {
    margin-left: -30px !important;
}

.letter-spacing-25 {
    letter-spacing: 0.025em !important;
}

.text-steel-blue {
    color: var(--steel-blue);
}

.text-white {
    color: white !important;
}

.text-light-steel {
    color: var(--light-steel);
}

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

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

.w-100 {
    width: 100% !important;
}

.w-50 {
    width: 50% !important;
}

.mw-100 {
    max-width: 100% !important;
}

.w-160 {
    width: 160px !important;
}


.d-grid>div[name="grid-panel-1"] {
    grid-column: 1 / 2;
}

.d-grid>div[name="grid-panel-2"] {
    grid-column: 2 / 3;
    grid-row: 1 / 4;
}

.d-grid>div[name="grid-panel-3"] {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

.index-1 {
    z-index: 1 !important;
}

.index-2 {
    z-index: 2 !important;
}

@media (max-width: 1200px) {
    .w-xl-100 {
        width: 100% !important;
    }

    .flex-xl-wrap {
        flex-wrap: wrap !important;
    }
}

/*** lg ***/
@media (max-width: 1000px) {

    .service-badge {
        width: 140px;
        height: 140px;
    }

    .step-arrow:before {
        top: 53px;
    }

    .justify-content-lg-between {
        justify-content: space-between !important;
    }

}

/*** md ***/
@media screen and (max-width: 800px) {

    /* p {
        font-size: 12px;
        line-height: 24px;
    } */

    /* a {
        font-size: 12px;
    } */

    /* ::placeholder {
        font-size: 11px;
    } */

    input[type="radio"] {
        position: relative;
        top: 2px;
    }

    .bb-md-0:before {
        bottom: 0;
    }

    .bl-md-0:before {
        left: 0;
    }

    .bl-md-m40:before {
        left: -40px;
    }

    .br-md-0:before {
        right: 0;
    }

    .br-md-m40:before {
        right: -40px;
    }

    .d-md-inline-block {
        display: inline-block !important;
    }

    .d-md-block {
        display: block !important;
    }

    .d-md-none {
        display: none !important;
    }

    .d-md-inline {
        display: inline !important;
    }

    .font-size-md-11 {
        font-size: 11px !important;
    }

    .font-size-md-12 {
        font-size: 12px !important;
    }

    .font-size-md-13 {
        font-size: 13px !important;
    }

    .font-size-md-14 {
        font-size: 14px !important;
    }

    .font-size-md-20 {
        font-size: 20px !important;
    }

    .font-size-md-24 {
        font-size: 24px !important;
    }

    .font-size-md-26 {
        font-size: 26px !important;
    }

    .font-size-md-28 {
        font-size: 28px !important;
    }

    .font-size-md-33 {
        font-size: 33px !important;
    }

    .font-size-md-37 {
        font-size: 33px !important;
    }

    .font-weight-md-bold {
        font-weight: bold !important;
    }

    .font-weight-md-regular {
        font-weight: 400 !important;
    }

    .flex-md-row {
        flex-direction: row !important;
    }

    .h-md-auto {
        height: auto !important;
    }

    .h-md-195 {
        height: 195px !important;
    }

    .h-md-84 {
        height: 84px !important;
    }

    .pt-md-0 {
        padding-top: 0 !important;
    }

    .pt-md-4 {
        padding-top: 4px !important;
    }

    .pt-md-10 {
        padding-top: 10px !important;
    }

    .pt-md-15 {
        padding-top: 15px !important;
    }

    .pt-md-20 {
        padding-top: 20px !important;
    }

    .pt-md-30 {
        padding-top: 30px !important;
    }

    .pt-md-40 {
        padding-top: 40px !important;
    }

    .pt-md-50 {
        padding-top: 50px !important;
    }

    .pt-md-60 {
        padding-top: 60px !important;
    }

    .pt-md-70 {
        padding-top: 70px !important;
    }

    .pt-md-80 {
        padding-top: 80px !important;
    }

    .pb-md-0 {
        padding-bottom: 0 !important;
    }

    .pb-md-8 {
        padding-bottom: 8px !important;
    }

    .pb-md-10 {
        padding-bottom: 10px !important;
    }

    .pb-md-15 {
        padding-bottom: 15px !important;
    }

    .pb-md-20 {
        padding-bottom: 20px !important;
    }

    .pb-md-30 {
        padding-bottom: 30px !important;
    }

    .pb-md-40 {
        padding-bottom: 40px !important;
    }

    .pb-md-50 {
        padding-bottom: 50px !important;
    }

    .pb-md-58 {
        padding-bottom: 58px !important;
    }

    .pb-md-60 {
        padding-bottom: 60px !important;
    }

    .pb-md-80 {
        padding-bottom: 80px !important;
    }

    .pb-md-120 {
        padding-bottom: 120px !important;
    }

    .pr-md-0 {
        padding-right: 0 !important;
    }

    .pr-md-24 {
        padding-right: 24px !important;
    }

    .pr-md-40 {
        padding-right: 40px !important;
    }

    .pl-md-0 {
        padding-left: 0 !important;
    }

    .pl-md-24 {
        padding-left: 24px !important;
    }

    .pl-md-40 {
        padding-left: 40px !important;
    }

    .mt-md-0 {
        margin-top: 0 !important;
    }

    .mt-md-30 {
        margin-top: 30px !important;
    }

    .mb-md-15 {
        margin-bottom: 15px !important;
    }

    .mb-md-20 {
        margin-bottom: 20px !important;
    }

    .mb-md-30 {
        margin-bottom: 30px !important;
    }

    .mb-md-50 {
        margin-bottom: 50px !important;
    }

    .mb-md-60 {
        margin-bottom: 60px !important;
    }

    .mr-md-0 {
        margin-right: 0 !important
    }

    .mr-md-23 {
        margin-right: 23px !important;
    }

    .mr-md-30 {
        margin-right: 30px !important;
    }

    .mr-md-m30 {
        margin-right: -30px !important;
    }

    .ml-md-m30 {
        margin-left: -30px !important;
    }

    .letter-spacing-md-20 {
        letter-spacing: 0.02em;
    }

    .position-md-relative {
        position: relative !important;
    }

    .flex-md-wrap {
        flex-wrap: wrap !important;
    }

    .justify-content-md-start {
        justify-content: flex-start !important;
    }

    .justify-content-md-center {
        justify-content: center !important;
    }

    .justify-content-md-evenly {
        justify-content: space-evenly !important;
    }

    .text-md-center {
        text-align: center !important;
    }

    .text-md-left {
        text-align: left !important;
    }

    .w-md-100 {
        width: 100% !important;
    }

    .w-md-206 {
        width: 206px !important;
    }

    .w-md-90 {
        width: 90px !important;
    }

    .w-md-110 {
        width: 110px !important;
    }

    .w-md-150 {
        width: 150px !important;
    }

    .d-grid>div[name="grid-panel-1"] {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .d-grid>div[name="grid-panel-2"] {
        grid-column: 1 / 3;
        grid-row: 2;
    }

    .d-grid>div[name="grid-panel-3"] {
        grid-column: 1 / 3;
        grid-row: 3;
    }



}

/*** sm ***/
@media (max-width: 600px) {

    .d-sm-none {
        display: none !important;
    }

    .d-sm-block {
        display: block !important;
    }

    .font-size-24-12 {
        font-size: 12px !important;
    }

    .font-size-14-12 {
        font-size: 12px !important;
    }

    .font-size-18-12 {
        font-size: 12px !important;
    }

    .justify-content-sm-around {
        justify-content: space-around !important;
    }

    .pt-sm-40 {
        padding-top: 40px !important;
    }

    .pt-44-14 {
        padding-top: 14px;
    }

    .p-tb-44-14 {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .p-tb-83-40 {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .pr-sm-0 {
        padding-right: 0 !important;
    }

}




/*** xs ***/
@media (max-width: 400px) {

    .d-xs-none {
        display: none !important;
    }

    .d-xs-block {
        display: block !important;
    }

    .justify-content-xs-between {
        justify-content: space-between !important;
    }
}

/*
-----------------------------------------------------------
 section
----------------------------------------------------------- */
.section {
    padding: 150px 50px;
}

.section_page {
    padding: 100px 50px;
}

@media screen and (max-width: 800px) {
    .section {
        padding: 75px 40px !important;
    }

    .section_page {
        padding: 40px;
    }
}

/*
-----------------------------------------------------------
 bar
----------------------------------------------------------- */

.bar {
    position: relative;
}

.bar:before {
    content: '';
    width: 2px;
    height: 100px;
    display: block;
    background-color: white;
    position: absolute;
    top: 0;
    left: calc(50% - 1px);
}

@media screen and (max-width: 800px) {
    .bar {
        padding-top: 75px;
    }

    .bar:before {
        height: 75px;
    }

}

.bar-long {
    position: relative;
}

.bar-long:before {
    content: '';
    width: 2px;
    height: 150px;
    display: block;
    background-color: var(--steel-blue);
    position: absolute;
    top: 0;
    left: calc(50vw - 1px);
}

@media screen and (max-width: 800px) {
    .bar-long {
        padding-top: 75px;
    }

    .bar-long:before {
        height: 75px;
    }
}

.bar-short:before {
    height: 75px;
}

@media screen and (max-width: 800px) {
    .bar-short:before {
        height: 56px;
    }

}

.bar-steel-blue:before {
    background-color: var(--steel-blue);
}


/*** internal link ***/
.internal_link {
    width: 187px;
    background: white;
    padding: 20px 0;
    text-align: center;
    vertical-align: middle;
    color: var(--steel-blue);
    font-size: 13px;
    line-height: 13px;
    border-radius: 4px;
    font-family: var(--font-family02);
    font-weight: 500;
    position: relative;
    transition: all 0.3s;
    text-decoration: none;
    letter-spacing: 0.2em;
}

.internal_link:before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(180deg, #3C6EF5 0%, #16A2E0 100%);
    position: absolute;
    z-index: -1;
    top: 5px;
    left: 5px;
    opacity: 0.22;
    border-radius: 4px;
    filter: blur(8px);
}

.internal_link:after {
    content: url(../img/arrow/upeer-right.svg);
    margin-left: 22px;
    position: relative;
    z-index: 1;
    vertical-align: baseline;
}

.internal_link:hover {
    background: var(--steel-blue);
    color: white;
}

.internal_link:hover:after {
    content: url(../img/arrow/upper-right-white.svg);
}

.internal_link_simple {
    letter-spacing: 0.2em;
    font-family: var(--font-family02);
    font-weight: 400;
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: all 0.3s;
    font-size: 1.3rem;
}

@media screen and (max-width: 800px) {
    .internal_link_simple {
        font-size: 1.2rem;
    }
}

.internal_link_simple:after {
    content: url('../img/circle-arrow/white.svg');
    margin-left: 15px;
    height: 26px;
    overflow: hidden;
    transition: all 0.3s;
}

.internal_link_simple:hover:after {
    transform: scale(1.3);
}

.internal_link_simple-steel-blue:after {
    content: url('../img/circle-arrow/blue.svg');
}

/*
-----------------------------------------------------------
 hover-scale
----------------------------------------------------------- */
.hover-scale {
    cursor: pointer;
    transition: all 0.3s;
}

.hover-scale:hover {
    transform: scale(1.3);
}

/*
-----------------------------------------------------------
 #table-of-contents
----------------------------------------------------------- */
#table-of-contents {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

#table-of-contents>a {
    width: 204px;
    height: 83px;
    padding: 25px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3px;
    margin-bottom: 10px;
    margin-right: 20px;
    border: 1px solid var(--steel-blue);
    color: var(--steel-blue);
    text-decoration: none;
    letter-spacing: 0.2em;
}

#table-of-contents[num="3"]>a {
    width: auto;
    flex: 1;
}

#table-of-contents>a:last-child {
    margin-right: 0;
    margin-right: 0;
}

#table-of-contents>a>div {
    text-align: center;
}

#table-of-contents>a>div:first-child {
    flex: 7;
    text-align: center;
    font-size: 15px;
    line-height: 15px;
}

#table-of-contents>a>div:last-child {
    flex: 1;
    height: 100%;
}

#table-of-contents>a>div:last-child:after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: url(../img/circle-arrow/blue.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transform: rotate(135deg);
    background-position: center center;
}

#table-of-contents>a.arrow-r>div:last-child:after {
    transform: rotate(45deg);
}

@media screen and (max-width: 800px) {
    #table-of-contents[num="5"] {
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
    }

    #table-of-contents[num="3"]>a {
        width: 50% !important;
        flex: none;
    }

    #table-of-contents>a {
        width: 100%;
        max-width: calc(50% - 5px);
        height: 39px;
        margin: 0;
        margin-bottom: 8px;
        padding: 4px 2px;
        letter-spacing: 0;
    }

    #table-of-contents>a:nth-child(odd) {
        margin-right: 10px;
    }

    #table-of-contents>a>div:last-child {
        width: 12px;
        height: 12px;
    }

    #table-of-contents>a>div:first-child {
        font-size: 11px;
        line-height: 11px;
    }

}

/*
-----------------------------------------------------------
 #table-of-contents02
----------------------------------------------------------- */
#table-of-contents02 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0 12px;
    flex-direction: row;
    padding: 0 10px;
}

#table-of-contents02>a {
    min-height: 55px;
    padding: 5px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3px;
    border: 1px solid #0C6CA8;
    color: #0C6CA8;
    text-decoration: none;
    min-width: calc((100% - 24px) / 3);
    flex: 1;
    margin-bottom: 12px;
}

#table-of-contents02 .spacer {
    width: 100%;
    height: 0;
    margin: 0;
}

#table-of-contents02>a>div:first-child {
    flex: 1;
    text-align: center;
    font-size: 15px;
    line-height: 1.3;
}

#table-of-contents02>a:last-child {
    margin-right: 0;
    margin-right: 0;
}

#table-of-contents02>a>div:last-child {
    height: 26px;
    width: 26px;
}

#table-of-contents02>a>div:last-child:after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background: url('../img/circle-arrow/blue.svg');
    transform: rotate(45deg);
    background-position: center center;
}

@media screen and (max-width: 800px) {
    #table-of-contents02 {
        padding: 0px;
    }

    #table-of-contents02>a {
        padding: 4px 6px;
        min-width: calc((100% - 12px) / 2);
        min-height: 38px;
    }

    #table-of-contents02>a>div:last-child {
        width: 12px;
        height: 12px;
    }

    #table-of-contents02>a>div:first-child {
        font-size: 11px;
    }

    #table-of-contents02 .spacer {
        display: none;
    }
}

/* .table-of-contents02--column04
----------------------------------------------------------- */
/* @media print,
screen and (min-width: 801px) {
    #table-of-contents02.table-of-contents02--column04 a {
        min-width: calc((100% - 36px) / 4);
    }
} */


/*
-----------------------------------------------------------
 p-global-btn-list
----------------------------------------------------------- */
.p-global-btn-list {
    padding: 0 10px;
}

.p-global-btn-list ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    flex-direction: row;
}

.p-global-btn-list ul+ul {
    margin-top: 12px;
}

.p-global-btn-list li {
    min-width: calc((100% - 36px) / 4);
    flex: 1;
}

.p-global-btn-list li a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border-radius: 3px;
    border: 1px solid #0C6CA8;
    color: #0C6CA8;
    min-height: 55px;
    padding: 5px 20px;
}

.p-global-btn-list li a>div:first-child {
    flex: 1;
    text-align: center;
    font-size: 15px;
    line-height: 1.3;
}

.p-global-btn-list li a:last-child {
    margin-right: 0;
    margin-right: 0;
}

.p-global-btn-list li a>div:last-child {
    height: 26px;
    width: 26px;
}

.p-global-btn-list li a>div:last-child:after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background: url('../img/circle-arrow/blue.svg');
    transform: rotate(45deg);
    background-position: center center;
}

@media screen and (max-width: 800px) {
    .p-global-btn-list {
        padding: 0px;
    }

    .p-global-btn-list li {
        min-width: calc((100% - 12px) / 2);
    }

    .p-global-btn-list li a {
        padding: 4px 6px;
        min-height: 38px;
    }

    .p-global-btn-list li a>div:last-child {
        width: 12px;
        height: 12px;
    }

    .p-global-btn-list li a>div:first-child {
        font-size: 11px;
    }
}

/* --------------------------------------------------------
-----------------------------------------------------------
 title
-----------------------------------------------------------
----------------------------------------------------------- */

/* h1 */
.l-page-title__title {
    font-size: 43px;
    line-height: 1.2;
    margin-bottom: 0;
    letter-spacing: 0.1em;
    font-weight: normal;
}

.l-page-title__title::before {
    content: attr(data-title);
    display: block;
    margin-bottom: 0.5em;
    font-size: 48%;
    letter-spacing: 0.25em;
    font-family: var(--font-family02);
    font-weight: 300;
    padding: 0 3px;
}

@media screen and (max-width: 800px) {
    .l-page-title__title {
        font-size: 26px;
    }
}

/* .l-page-title__title {
    font-size: 50px;
    display: block;
    letter-spacing: 0.25em;
    font-family: var(--font-family02);
    font-weight: 300;
    line-height: 1.2;
}

.l-page-title__title::after {
    content: attr(data-title);
    display: block;
    font-size: 13px;
    letter-spacing: 0.1em;
    font-weight: bold;
    font-family: source-han-sans-japanese, 游ゴシック, 游ゴシック体, Yu-Gothic, "Yu Gothic", YuGothic, "Hiragino Sans", sans-serif;
    margin-top: 1.2em;
}

@media screen and (max-width: 800px) {
    .l-page-title__title {
        font-size: 30px;
    }

    .l-page-title__title::after {
        font-size: 11px;
        line-height: 24px;
        margin-top: 0;
        padding: 0;
    }
} */

/*
-----------------------------------------------------------
 c-title01
----------------------------------------------------------- */

/* h2 */
.c-title01 {
    font-size: 28px;
    color: var(--steel-blue);
}

.c-title01::before {
    content: attr(data-title);
    display: block;
    border-left: 1px solid var(--light-steel);
    font-size: 12px;
    line-height: 12px;
    padding: 20px;
    font-family: var(--font-family02);
    font-weight: 400;
    letter-spacing: 0.2em;
    margin-bottom: 30px;
    color: var(--light-steel)
}

@media screen and (max-width: 800px) {

    /* h2 */
    .c-title01 {
        font-size: 18px;
    }

    .c-title01::before {
        font-size: 12px;
        padding: 3px 15px;
        margin-bottom: 15px;
    }
}

/*
-----------------------------------------------------------
 c-title02
----------------------------------------------------------- */
/* h3 */
.c-title02 {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    font-weight: bold;
}


.post .c-title02 {
    color: #2e2e2e;
}

@media screen and (max-width: 800px) {

    /* h3 */
    .c-title02 {
        font-size: 14px;
    }
}

/*
-----------------------------------------------------------
c-title03
----------------------------------------------------------- */
.hyphen,
.c-title03 {
    position: relative;
}

.hyphen::before,
.c-title03::before {
    content: '';
    width: 50px;
    height: 2px;
    display: block;
    background: white;
    position: absolute;
    top: 32px;
    left: -90px;
}

.hyphen-steel-blue:before,
.c-title03--color-blue::before {
    background: var(--steel-blue);
}

.hyphen h1,
.c-title03 .c-title03__text {
    font-size: 50px;
    font-family: var(--font-family02);
    font-weight: 300;
    letter-spacing: 0.25em;
    line-height: 1.2;
    margin-bottom: 0;
}

.hyphen h1::after,
.c-title03 .c-title03__text::after {
    content: attr(data-title);
    display: block;
    margin-top: 20px;
    font-size: 13px;
    /* font-family: source-han-sans-japanese, "游ゴシック", "游ゴシック体", 'Yu-Gothic', 'Yu Gothic', 'YuGothic', "Hiragino Sans", sans-serif; */
    font-family: var(--font-family01);
    letter-spacing: 0.15em;
    font-weight: 700;
}

@media screen and (max-width: 800px) {

    .hyphen::before,
    .c-title03::before {
        left: -40px;
        width: 26px;
        top: 19px;
    }

    .hyphen h1,
    .c-title03 .c-title03__text {
        text-align: left;
        font-size: 36px;
    }

    .hyphen h1::after,
    .c-title03 .c-title03__text::after {
        font-size: 12px;
        margin-top: 15px;
    }
}

/*
-----------------------------------------------------------
 c-title04
----------------------------------------------------------- */
/* h3.page_recruit */
.c-title04 {
    font-size: 28px;
    color: var(--steel-blue);
    padding: 10px 20px;
    border-left: 1px solid var(--light-steel);
    margin-bottom: 30px;
    line-height: 1.25;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 800px) {
    .c-title04 {
        font-size: 18px;
        line-height: 18px;
    }
}

/* --------------------------------------------------------
-----------------------------------------------------------
 footer
-----------------------------------------------------------
----------------------------------------------------------- */
.l-footer {
    background-color: #FFF;
}

.l-footer__nav a {
    letter-spacing: 0.2em;
    text-decoration: none;
}

.footer_logo {
    width: 287px;
    margin: 0 auto 12px;
}

@media screen and (max-width: 800px) {
    .footer_logo {
        width: 208px;
    }
}

/* --------------------------------------------------------
-----------------------------------------------------------
 #topics
-----------------------------------------------------------
----------------------------------------------------------- */

.topics_item {
    border-bottom: 1px solid #E0E0E0;
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.topics_item:last-child {
    margin-bottom: 0;
}

.topics_item a {
    text-decoration: none;
}

.topics_time {
    font-size: 15px;
    line-height: 15px;
    margin-bottom: 15px;
    display: block;
    /* font-family: 'Noto Sans JP'; */
    letter-spacing: 0.1em;
}

.topics_title {
    font-size: 15px;
    line-height: 1.4;
    display: block;
    /* font-family: 'Noto Sans JP'; */
}

#topics>div[name="heading"] {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
}

#topics>div[name="viewmore"] {
    grid-column: 1;
    grid-row: 3 / 4;
}

#topics>div[name="list"] {
    grid-column: 2 / 3;
    grid-row: 1 / 4;
}

.bg-gradient {
    position: relative;
    z-index: 1;
    overflow: hidden;
    background: #FFF;
}

.bg-gradient:before {
    content: url(../img/gradient01.jpg);
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    /* background: url(assets/imagegradient01.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 150% top;
    opacity: 0.21;
    background-blend-mode: multiply; */
    opacity: 0.21;
    transform: rotate(-36deg);
    mix-blend-mode: multiply;
}

.bg-gradient-upper-right:before {
    top: 150px;
    right: -250px;
}

@media screen and (max-width: 800px) {
    #topics>div[name="heading"] {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
    }

    #topics>div[name="list"] {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
    }

    #topics>div[name="viewmore"] {
        grid-column: 1 / 3;
        grid-row: 3 / 4;
    }


    .bg-gradient-md-upper-left:before {
        top: 0;
        left: 0;
        transform: rotate(15deg);
    }

    .bg-gradient-md-none:before {
        content: none;
    }

}

/* --------------------------------------------------------
-----------------------------------------------------------
 #column_and_contact
-----------------------------------------------------------
----------------------------------------------------------- */
/* #column_and_contact {
    line-height: 1.5;
}

#column_and_contact>div[name="column"] {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

#column_and_contact>div[name="contact"] {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

@media screen and (max-width: 800px) {
    #column_and_contact>div[name="column"] {
        grid-column: 1;
        grid-row: 1;
    }

    #column_and_contact>div[name="contact"] {
        grid-column: 1;
        grid-row: 2;
    }
}

#column_and_contact .text-center.after-none {
    font-size: 50px;
    font-family: var(--font-family02);
    font-weight: 300;
    letter-spacing: 0.25em;
    line-height: 1.2;
    margin-bottom: 0;
}

@media screen and (max-width: 800px) {
    #column_and_contact .text-center.after-none {
        text-align: left;
        font-size: 36px;
    }
} */

.p-global-column-contact {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

.p-global-column-contact>div {
    position: relative;
    width: 50%;
    padding: 120px 5.4% 60px;
}

@media screen and (max-width: 800px) {
    .p-global-column-contact>div {
        width: 100%;
    }
}

.p-global-column-contact__title {
    font-family: var(--font-family02);
    text-align: center;
    font-weight: 300;
    font-size: 50px;
    letter-spacing: 0.25em;
    line-height: 1.2;
    margin-bottom: 30px;
}

@media screen and (max-width: 800px) {
    .p-global-column-contact__title {
        font-size: 36px;
    }
}

/*
-----------------------------------------------------------
 column
----------------------------------------------------------- */
.p-global-column-contact__column {
    background: var(--steel-blue);
    color: #FFF;
}

.p-global-column-contact__column-link-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    gap: 20px 9%;
    max-width: 625px;
    margin: 0 auto;
}

.p-global-column-contact__column-link {
    width: 43%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}

.p-global-column-contact__column-link:nth-of-type(odd) {
    width: 48%;
}

.p-global-column-contact__column-link a {
    color: inherit !important;
    justify-content: space-between;
    width: 100%;
    font-size: 18px;
}

@media screen and (max-width: 800px) {
    .p-global-column-contact__column-link a {
        font-size: 12px;
    }
}

.p-global-column-contact__column-link a span {
    flex: 1;
}

/*
-----------------------------------------------------------
 contact
----------------------------------------------------------- */
.p-global-column-contact__contact {
    background: #EFF4F7;
}

.p-global-column-contact__contact .p-global-column-contact__title {
    color: var(--steel-blue);
}

.p-global-column-contact__contact-body {
    text-align: center;
}

.p-global-column-contact__contact-link {
    display: inline-block;
    text-decoration: none;
}

.p-global-column-contact__contact-text {
    font-size: 17px;
    margin-bottom: 30px;
}

.p-global-column-contact__contact-link .p-global-column-contact__contact-button img {
    transition: all 0.3s;
}

.p-global-column-contact__contact-link:hover .p-global-column-contact__contact-button img {
    transform: scale(1.3);
}

/* --------------------------------------------------------
-----------------------------------------------------------
 header
-----------------------------------------------------------
----------------------------------------------------------- */
@media print,
screen and (min-width: 801px) {
    .header_dummy {
        padding-top: 70px;
    }

    .header {
        position: fixed;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        flex-direction: row;
        flex-wrap: nowrap;
        background: #FFF !important;
        z-index: 100;
        width: 100%;
        box-shadow: 0 2px 6px rgb(0 0 0 / 10%);
        height: 70px;
        padding: 0 2%;
        font-size: 15px;
    }

    .header__logo {
        width: 192px;
    }

    .header__logo a {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
        height: 100%;
        padding-bottom: 4px;
    }

    .header .nav {
        display: flex;
        align-items: stretch;
        flex-wrap: nowrap;
        flex-direction: row;
        justify-content: space-between;
    }

    .header .nav__item {
        position: relative;
        height: 100%;
    }

    .header .nav__item:last-child {
        padding-right: 10px;
    }

    .header .nav__item>a,
    .header .nav__item>span {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        font-family: var(--font-family02);
        transition: all 0.3s;
        height: 100%;
        letter-spacing: 0.2em;
        padding: 0 2.3vw;
        font-size: 13px;
    }

    .header .nav__item:hover>a,
    .header .nav__item:hover>span {
        color: #0076c0;
        background: #ecf8ff;
    }

    .header .hbg_btn {
        display: none;
    }

    /*** drower menu ***/
    .header .menu_sub {
        display: none;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        min-width: 200px;
        padding-top: 12px;
        top: calc(100% - 5px);
        z-index: 10;
    }

    .header .menu_sub::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0px 7px 12px 7px;
        border-color: transparent transparent #0076c0 transparent;
        border-color: transparent transparent #FFF transparent;
        z-index: 10;
        transform: translate(-50%, 0px);
    }

    .header .menu_sub:after {
        content: '';
        width: 100%;
        height: calc(100% - 10px);
        display: block;
        background: linear-gradient(180deg, #3C6EF5 0%, #16A2E0 100%);
        position: absolute;
        z-index: 0;
        top: 15px;
        left: 5px;
        opacity: 0.22;
        border-radius: 4px;
        filter: blur(8px);
    }

    .header .menu-sub-inner {
        position: relative;
        background: #FFF;
        padding: 7px;
        z-index: 10;
        /* background: #0076c0;
        color: #FFF; */
    }

    .header .menu_sub li a {
        display: block;
        text-decoration: none;
        white-space: nowrap;
        transition: all 0.3s;
        padding: 8px 18px;
        font-size: 14px;
        line-height: 1.5;
    }

    .header .menu_sub li a:hover {
        color: #0076c0;
        background: #ecf8ff;
    }
}

@media screen and (max-width: 800px) {
    .header_dummy {
        padding-top: 46px;
    }

    .header {
        position: fixed;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        flex-direction: row;
        flex-wrap: nowrap;
        background: #FFF !important;
        z-index: 100;
        width: 100%;
        height: 46px;
        box-shadow: 0 1px 4px rgb(0 0 0 / 10%);
        font-size: 13px;
    }

    .header__logo {
        padding-left: 10px;
    }

    .header__logo a {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
        height: 100%;
        width: 138px;
    }

    .header .nav {
        /* display: none; */
        position: fixed;
        top: 46px;
        left: 0;
        width: 100%;
        height: calc(100% - 46px + 100px);
        background: rgba(255, 255, 255, 0.95);
        visibility: hidden;
        overflow: auto;
        opacity: 0;
        transition: all 0.2s;
        z-index: 100;
        padding-bottom: 140px;
        /* animation: fadeIn 0.3s ease-in 0s forwards; */
    }

    .nav_open~.nav {
        visibility: visible;
        opacity: 1;
        /* display: block; */
    }

    .header .nav__item {
        letter-spacing: 0.2em;
        font-family: var(--font-family02);
        line-height: 25px;
        width: 100%;
        text-align: left;
        padding: 0;
    }

    .header .nav__item>a,
    .header .nav__item>span {
        transition: all 0.3s;
        text-decoration: none;
        letter-spacing: 0.2em;
        font-size: 12px;
        padding: 10px 0;
        padding-left: 10%;
        display: block;
        width: 100%;
    }

    /* .header .nav__blog {
        pointer-events: none;
    } */
    .header .hbg_btn {
        display: block;
        cursor: pointer;
        background: url("../img/menu_btn.svg") no-repeat center center;
        height: 100%;
        width: 56px;
    }

    /*** drower menu ***/
    .header .menu_sub li a {
        display: block;
        text-decoration: none;
        white-space: nowrap;
        padding: 5px 15px;
    }

    /* .header .nav__item .menu_sub {
        pointer-events: all;
    } */
    .header .nav__item .menu_sub a {
        padding-left: 15%;
    }
}

/* sidebar */
/* .keni-sub .keni-section_wrap, .keni-footer .keni-section_wrap {
    margin-top: 0;
    margin-bottom: 40px;
    padding: 20px;
} */

/* --------------------------------------------------------
-----------------------------------------------------------
 p-global-category-list
-----------------------------------------------------------
----------------------------------------------------------- */
.p-global-category-list {
    list-style-position: outside;
    list-style-type: disc;
    padding-left: 1.5em;
    margin: 0;
}

.p-global-category-list li {
    margin: 0;
}

.p-global-category-list li+li {
    margin-top: 9px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 sidebar
-----------------------------------------------------------
----------------------------------------------------------- */

.keni-sub .sidebar-image__wrap {
    margin: 0 auto 40px;
    padding: 0 10px;
    max-width: 375px;
}

.keni-sub .sidebar-image__wrap a {
    display: block;
    text-align: center;
    margin-bottom: 15px;
}