@charset "UTF-8";

/* ----------------------------------------------
 *JIMUDEN
 *2024.08
 * ---------------------------------------------- */

/*
====================================================
■ body
====================================================
*/

:root,
[data-bs-theme="light"] {
    --bs-font-sans-serif: YakuHanJPs, "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", sans-serif;
    --bs-body-font-size: 16px;
    --bs-body-line-height: 1.8;
    --bs-body-color: #343434;
    --bs-body-color-rgb: 52, 52, 52;
    --bs-primary: #0588ce;
    --bs-primary-text-emphasis: #0588ce;
    --bs-primary-rgb: 5, 136, 206;
    --bs-primary-bg-subtle: #e0f6ff;
    --bs-secondary: #ff9d00;
    --bs-secondary-rgb: 255, 157, 0;
    --bs-secondary-color: #ff9d00;
    --bs-secondary-color: rgba(255, 157, 0, 1);
    --bs-secondary-color-rgb: 255, 157, 0;
    --bs-secondary-bg: #e0f6ff;
    --bs-secondary-bg-rgb: 224, 246, 255;
    --bs-red: #eb5b00;
    --bs-danger: #eb5b00;
    --bs-blue: #0588ce;
    --bs-dark: #005989;
    --bs-dark-rgb: 0, 89, 137;
    --bs-tertiary-bg: #f4f4f4;
    --bs-tertiary-bg-rgb: 244, 244, 244;
    --bs-light-rgb: 244, 244, 244;
    --bs-border-color: #0588ce;
    --bs-border-color-translucent: rgba(5, 136, 206, 1);
    --bs-link-color: #0588ce;
    --bs-link-color-rgb: 5, 136, 206;
    --bs-link-hover-color: #37a0d8;
    --bs-link-hover-color-rgb: 55, 160, 216;
    --bs-border-radius: 0;
    --bs-secondary-border-subtle: #ededed;
}

@media (max-width: 575px) {
    main .container {
        --bs-gutter-x: 2rem;
    }
}

body {
    letter-spacing: 0.02em;
    font-family: Noto Sans JP, Noto Serif JP,'Hiragino Kaku Gothic ProN',YuGothic,'メイリオ',sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.76;
    margin: 0;
    text-align: left;
    color: #343434;
    background-color: #fff;
}

html {
    font-size: 10px;
    scroll-padding-top: 140px;
}

p {
    margin-bottom: 1.2rem;
}

b,
strong {
    font-weight: 700;
}

a img:hover {
    opacity: 0.9;
}

small,
.small {
    font-size: 1.6rem;
    line-height: 1.6 !important;
}

hr {
    border-color: #0588ce;
    opacity: 1;
    margin: 2rem 0;
}


h1, h2, h3 { font-weight: 700; line-height: 1.6; margin: 0px !important;}
h4, h5, h6 { font-weight: 500; line-height: 1.6; margin: 0px !important;}
h1 { font-size: 4.2rem}
h2 { font-size: 3.4rem}
h3 { font-size: 3.0rem}
h4 { font-size: 2.6rem}
h5 { font-size: 2.2rem}
h6 { font-size: 1.8rem}
h1>p,
h2>p,
h3>p,
h4>p,
h5>p,
h6>p{margin: 0px !important;}

figure {
    margin: 0 0 1rem;
}

.displaynone {
    display: none;
}

.row-eq-height {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    flex-wrap: wrap;
}

.textFkbar {
    position: relative;
    display: inline-block;
}

.textFkbar::before,
.textFkbar::after {
    content: "";
    display: block;
    height: 80%;
    width: 2px;
    background-color: #0588ce;
    position: absolute;
    bottom: 2px;
}

.textFkbar::before {
    left: -1em;
    transform: rotate(-35deg);
}

.textFkbar::after {
    right: -1em;
    transform: rotate(35deg);
}

@media (min-width: 768px) {
    .textFkbar {
        font-size: 1.8rem;
    }
}

.textFkSq {
    font-weight: 700;
    position: relative;
    display: inline-block;
    background: #0588ce;
    color: #fff;
    padding: .6rem .8rem;
    line-height: 1
}

.textFkSq:after {
    content: "";
    border: 10px solid transparent;
    border-top-color: #0588ce;
    width: 0;
    height: 0;
    position: absolute;
    bottom: -19px;
    left: 0;
    right: 0;
    margin: auto
}

@media (min-width: 768px) {
    .textFkSq {
        padding: .8rem 2rem;
        margin-bottom: 1.6rem !important;
    }
}

.textFkBo {
    position: relative;
    display: inline-block;
    background: #fff;
    color: #bc423d;
    border: 2px solid #bc423d;
    padding: .6rem 1.2rem;
    font-size: .8rem;
    line-height: 1.6;
    border-radius: 100px;
    font-weight: 700
}

.textFkBo:after,
.textFkBo:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    height: 0;
    width: 0
}

.textFkBo:after {
    border-color: #fff hsla(0, 0%, 100%, 0) hsla(0, 0%, 100%, 0);
    border-width: 6px;
    margin-left: -6px
}

.textFkBo:before {
    border-color: #bc423d rgba(188, 66, 61, 0) rgba(188, 66, 61, 0);
    border-width: 9px;
    margin-left: -9px
}

.listDot {
    padding-left: 2rem;
    list-style-type: disc;
}

.listDot li::marker {
    color: #0588ce;
}

.listNoMaker {
    padding-left: 0;
    list-style-type: none;
}

.listNumber {
    padding-left: 2rem;
    list-style-type: decimal;
}

.listNumber li {
    padding-right: 6px;
}

.listNumber li::marker {
    color: #0588ce;
    font-weight: 700;
}

.listNumber .secondLevel li::marker {
    color: #333;
    font-weight: 500;
}

.listAttention {
    padding-left: 2rem;
    list-style-type: none;
}

.listAttention li {
    position: relative;
    padding-left: 1rem;
}

.listAttention li:before {
    content: "※";
    position: absolute;
    top: 0px;
    left: -1em;
}

.listAttention.number li {
    position: relative;
    counter-increment: AttentionNumber;
    padding-left: 2rem;
}

.listAttention.number li:before {
    content: '※' counter(AttentionNumber, decimal);
    position: absolute;
    top: 0px;
    left: -1em;
}

.listIcon{
    list-style: none;
    padding-left: 2em;
    margin-bottom: 0;
}
.listIcon li{
    text-indent: -1.5rem;
}

.linkArrow {
    display: block;
    position: relative;
    padding: 3px 0 3px 1.5rem;
    line-height: 1.6 !important;
}

.linkArrow::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-left: 10px solid #0588ce;
    position: absolute;
    left: 0;
    top: 12px;
}

.linkArrowRound {
    display: block;
    position: relative;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #0588ce
}

.linkArrowRound:after {
    content: "";
    display: block;
    width: 60%;
    height: 60%;
    background: url(/assets/images/icon/icon_arrow_w.png) no-repeat 50%;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto
}

@media (min-width: 992px) {
    .link-arrow-round-r {
        width: 56px;
        height: 56px
    }
}


.linkInner {
    display: block;
    position: relative;
    padding: 3px 0 3px 1.5rem;
    line-height: 1.6 !important;
}

.linkInner::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-left: 10px solid #0588ce;
    position: absolute;
    left: 0;
    top: 12px;
}

.linkInner:hover::before {
    opacity: 0.8;
}

.linkOuter {
    display: block;
    position: relative;
    padding: 3px 0 3px 0;
    line-height: 1.6 !important;
}

.linkOuter::after {
    content: "　";
    display: inline-block;
    width: 24px;
    height: 24px;
    position: relative;
    top: 0px;
    bottom: 0;
    margin: auto;
    padding-left: 0px;
    background: url(/assets/images/icon/icon_new_b.png) no-repeat;
    background-size: contain;
    opacity: 1;
    text-decoration: underline;
}

.linkOuter:hover::after {
    opacity: 0.8;
}

.container-xl {
    max-width: 1062px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px
}

/*パーツ:テキスト*/

.textDefault {
    color: #0588ce !important
}

.textWhite {
    color: #fff !important
}

.textOrange {
    color: #eb5b00 !important
}

.textRed {
    color: #ef4565 !important
}

.textRight {
    text-align: right;
}

.textCenter {
    text-align: center;
}

.textMarker {
    background-image: linear-gradient(transparent 60%, #ffe1b2 0%);
    line-height: 2em;
}

.textNote {
    text-indent: -1em;
    padding-left: 1em;
    color: #777;
}

.textCatch {
    font-size: clamp(1.8rem, 1.6rem + 0.81vw, 2.2rem);
}

/*パーツ:背景色*/
.bgDefault {
    background-color: #0588ce !important
}

.bgWhite {
    background-color: #fff !important
}

.bgCyan {
    background-color: #e0f6ff !important
}

.bgYellow {
    background-color: #ffd52e !important;
}


aside,
section {
    display: block;
}

.fs-5-5 {
    font-size: clamp(1rem, 0.932rem + 0.27vw, 1.125rem);
}

.iconCheck {
    position: relative;
    line-height: 1.7em;
    padding-left: 26px;
}

.iconCheck::after {
    content: '';
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
    width: 18px;
    height: 11px;
    border: 4px solid #0588ce;
    border-right: 0;
    border-top: 0;
    transform: rotate(-45deg);
}

h4.iconCheck {
    padding: 1.6rem 1.6rem 1.6rem 4.8rem;
}

h4.iconCheck::after {
    top: 2.4rem;
    left: 1.8rem;
}

.iconArrowDown {
    display: block;
    line-height: 1;
    width: 32px;
    height: 32px;
    border: 2px solid #0588ce;
    border-left: 0;
    border-bottom: 0;
    transform: translateY(-25%) rotate(135deg);
    margin: 0.6rem auto 1rem auto;
}

@media (min-width: 768px) {
    .iconArrowDown {
        width: 48px;
        height: 48px;
    }
}

.linkGotop {
    position: relative;
    display: inline-block;
    text-decoration: none;
    border-bottom: 3px dotted #005989;
    padding: 0 1.5em 0 0;
    margin-top: 2rem;
}

.linkGotop:after {
    content: "";
    display: block;
    width: 1.6em;
    height: 1.6em;
    background: url(/assets/images/icon/icon_arrow_page.png) no-repeat 0;
    background-size: 1.6em auto;
    transform: rotate(180deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}


.maxW32 {
    max-width: 32em;
}

.maxW32r {
    max-width: 32rem;
}

.mAuto {
    margin: auto !important
}

.mtAuto,
.myAuto {
    margin-top: auto !important
}

.mrAuto,
.mxAuto {
    margin-right: auto !important
}

.mbAuto,
.myAuto {
    margin-bottom: auto !important
}

.mlAuto,
.mxAuto {
    margin-left: auto !important
}

/*
====================================================
+ utility margin / padding
====================================================
*/
.py9 {padding-top: 3.6rem !important;padding-bottom: 3.6rem !important;}
.py8 {padding-top: 3.2rem !important;padding-bottom: 3.2rem !important;}
.py7 {padding-top: 2.8rem !important;padding-bottom: 2.8rem !important;}
.py6 {padding-top: 2.4rem !important;padding-bottom: 2.4rem !important;}
.py5 {padding-top: 2.0rem !important;padding-bottom: 2.0rem !important;}
.py4 {padding-top: 1.6rem !important;padding-bottom: 1.6rem !important;}
.py3 {padding-top: 1.2rem !important;padding-bottom: 1.2rem !important;}
.py2 {padding-top: 0.8rem !important;padding-bottom: 0.8rem !important;}
.py1 {padding-top: 0.4rem !important;padding-bottom: 0.4rem !important;}
.py0 {padding-top: 0 !important;padding-bottom: 0 !important;}
.px9 {padding-left: 3.6rem !important;padding-right: 3.6rem !important;}
.px8 {padding-left: 3.2rem !important;padding-right: 3.2rem !important;}
.px7 {padding-left: 2.8rem !important;padding-right: 2.8rem !important;}
.px6 {padding-left: 2.4rem !important;padding-right: 2.4rem !important;}
.px5 {padding-left: 2.0rem !important;padding-right: 2.0rem !important;}
.px4 {padding-left: 3.6rem !important;padding-right: 3.6rem !important;}
.px3 {padding-left: 1.6rem !important;padding-right: 1.6rem !important;}
.px2 {padding-left: 0.8rem !important;padding-right: 0.8rem !important;}
.px1 {padding-left: 0.4rem !important;padding-right: 0.4rem !important;}
.px0 {padding-left: 0 !important;padding-right: 0 !important;}
.pt9 {padding-top: 3.6rem !important;}
.pt8 {padding-top: 3.2rem !important;}
.pt7 {padding-top: 2.8rem !important;}
.pt6 {padding-top: 2.4rem !important;}
.pt5 {padding-top: 2.0rem !important;}
.pt4 {padding-top: 1.6rem !important;}
.pt3 {padding-top: 1.2rem !important;}
.pt2 {padding-top: 0.8rem !important;}
.pt1 {padding-top: 0.4rem !important;}
.pt0 {padding-top: 0 !important;}
.pS9 {padding-left: 3.6rem !important;}
.ps8 {padding-left: 3.2rem !important;}
.pS7 {padding-left: 2.8rem !important;}
.ps6 {padding-left: 2.4rem !important;}
.ps5 {padding-left: 2.0rem !important;}
.ps4 {padding-left: 1.6rem !important;}
.ps3 {padding-left: 1.2rem !important;}
.ps2 {padding-left: 0.8rem !important;}
.ps1 {padding-left: 0.4rem !important;}
.ps0 {padding-left: 0 !important;}
.pe9 {padding-right: 3.6rem !important;}
.pe8 {padding-right: 3.2rem !important;}
.pe7 {padding-right: 2.8rem !important;}
.pe6 {padding-right: 2.4rem !important;}
.pe5 {padding-right: 2.0rem !important;}
.pe4 {padding-right: 3.6rem !important;}
.pe3 {padding-right: 1.6rem !important;}
.pe2 {padding-right: 0.8rem !important;}
.pe1 {padding-right: 0.4rem !important;}
.pe0 {padding-right: 0 !important;}
.pb9 {padding-bottom: 3.6rem !important;}
.pb8 {padding-bottom: 3.2rem !important;}
.pb7 {padding-bottom: 2.8rem !important;}
.pb6 {padding-bottom: 2.4rem !important;}
.pb5 {padding-bottom: 2.0rem !important;}
.pb4 {padding-bottom: 1.6rem !important;}
.pb3 {padding-bottom: 1.2rem !important;}
.pb2 {padding-bottom: 0.8rem !important;}
.pb1 {padding-bottom: 0.4rem !important;}
.pb0 {padding-bottom: 0 !important;}
.p9 {padding: 3.6rem !important;}
.p8 {padding: 3.2rem !important;}
.p7 {padding: 2.8rem !important;}
.p6 {padding: 2.4rem !important;}
.p5 {padding: 2.0rem !important;}
.p4 {padding: 1.6rem !important;}
.p3 {padding: 1.2rem !important;}
.p2 {padding: 0.8rem !important;}
.p1 {padding: 0.4rem !important;}
.p0 {padding: 0 !important;}
.my9 {margin-top: 3.6rem !important;margin-bottom: 3.6rem !important;}
.my8 {margin-top: 3.2rem !important;margin-bottom: 3.2rem !important;}
.my7 {margin-top: 2.8rem !important;margin-bottom: 2.8rem !important;}
.my6 {margin-top: 2.4rem !important;margin-bottom: 2.4rem !important;}
.my5 {margin-top: 2.0rem !important;margin-bottom: 2.0rem !important;}
.my4 {margin-top: 1.6rem !important;margin-bottom: 1.6rem !important;}
.my3 {margin-top: 1.2rem !important;margin-bottom: 1.2rem !important;}
.my2 {margin-top: 0.8rem !important;margin-bottom: 0.8rem !important;}
.my1 {margin-top: 0.4rem !important;margin-bottom: 0.4rem !important;}
.my0 {margin-top: 0 !important;margin-bottom: 0 !important;}
.mx9 {margin-left: 3.6rem !important;margin-right: 3.6rem !important;}
.mx8 {margin-left: 3.2rem !important;margin-right: 3.2rem !important;}
.mx7 {margin-left: 2.8rem !important;margin-right: 2.8rem !important;}
.mx6 {margin-left: 2.4rem !important;margin-right: 2.4rem !important;}
.mx5 {margin-left: 2.0rem !important;margin-right: 2.0rem !important;}
.mx4 {margin-left: 1.6rem !important;margin-right: 1.6rem !important;}
.mx3 {margin-left: 1.2rem !important;margin-right: 1.2rem !important;}
.mx2 {margin-left: 0.8rem !important;margin-right: 0.8rem !important;}
.mx1 {margin-left: 0.4rem !important;margin-right: 0.4rem !important;}
.mx0 {margin-left: 0 !important;margin-right: 0 !important;}
.mt9 {margin-top: 3.6rem !important;}
.mt8 {margin-top: 3.2rem !important;}
.mt7 {margin-top: 2.8rem !important;}
.mt6 {margin-top: 2.4rem !important;}
.mt5 {margin-top: 2.0rem !important;}
.mt4 {margin-top: 1.6rem !important;}
.mt3 {margin-top: 1.2rem !important;}
.mt2 {margin-top: 0.8rem !important;}
.mt1 {margin-top: 0.4rem !important;}
.mt0 {margin-top: 0 !important;}
.ms9 {margin-left: 3.6rem !important;}
.ms8 {margin-left: 3.2rem !important;}
.ms7 {margin-left: 2.8rem !important;}
.ms6 {margin-left: 2.4rem !important;}
.ms5 {margin-left: 2.0rem !important;}
.ms4 {margin-left: 1.6rem !important;}
.ms3 {margin-left: 1.2rem !important;}
.ms2 {margin-left: 0.8rem !important;}
.ms1 {margin-left: 0.4rem !important;}
.ms0 {margin-left: 0 !important;}
.me9 {margin-right: 3.6rem !important;}
.me8 {margin-right: 3.2rem !important;}
.me7 {margin-right: 2.8rem !important;}
.me6 {margin-right: 2.4rem !important;}
.me5 {margin-right: 2.0rem !important;}
.me4 {margin-right: 1.6rem !important;}
.me3 {margin-right: 1.2rem !important;}
.me2 {margin-right: 0.8rem !important;}
.me1 {margin-right: 0.4rem !important;}
.me0 {margin-right: 0 !important;}
.mb9 {margin-bottom: 3.6rem !important;}
.mb8 {margin-bottom: 3.2rem !important;}
.mb7 {margin-bottom: 2.8rem !important;}
.mb6 {margin-bottom: 2.4rem !important;}
.mb5 {margin-bottom: 2.0rem !important;}
.mb4 {margin-bottom: 1.6rem !important;}
.mb3 {margin-bottom: 1.2rem !important;}
.mb2 {margin-bottom: 0.8rem !important;}
.mb1 {margin-bottom: 0.4rem !important;}
.mb0 {margin-bottom: 0 !important;}
.m9 {margin: 3.6rem !important;}
.m8 {margin: 3.2rem !important;}
.m7 {margin: 2.8rem !important;}
.m6 {margin: 2.4rem !important;}
.m5 {margin: 2.0rem !important;}
.m4 {margin: 1.6rem !important;}
.m3 {margin: 1.2rem !important;}
.m2 {margin: 0.8rem !important;}
.m1 {margin: 0.4rem !important;}
.m0 {margin: 0 !important;}

@media (min-width: 768px) {
    .py9 { padding-top: 4.8rem !important; padding-bottom: 4.8rem !important; }
    .py8 { padding-top: 4.2rem !important; padding-bottom: 4.2rem !important; }
    .py7 { padding-top: 3.8rem !important; padding-bottom: 3.8rem !important; }
    .py6 { padding-top: 3.4rem !important; padding-bottom: 3.4rem !important; }
    .py5 { padding-top: 2.8rem !important; padding-bottom: 2.8rem !important; }
    .py4 { padding-top: 4.8rem !important; padding-bottom: 4.8rem !important; }
    .py3 { padding-top: 2.4rem !important; padding-bottom: 2.4rem !important; }
    .py2 { padding-top: 1.2rem !important; padding-bottom: 1.2rem !important; }
    .py1 { padding-top: 0.6rem !important; padding-bottom: 0.6rem !important; }
    .px9 { padding-left: 4.8rem !important; padding-right: 4.8rem !important; }
    .px8 { padding-left: 4.2rem !important; padding-right: 4.2rem !important; }
    .px7 { padding-left: 3.8rem !important; padding-right: 3.8rem !important; }
    .px6 { padding-left: 3.4rem !important; padding-right: 3.4rem !important; }
    .px5 { padding-left: 2.8rem !important; padding-right: 2.8rem !important; }
    .px4 { padding-left: 4.8rem !important; padding-right: 4.8rem !important; }
    .px3 { padding-left: 2.4rem !important; padding-right: 2.4rem !important; }
    .px2 { padding-left: 1.2rem !important; padding-right: 1.2rem !important; }
    .px1 { padding-left: 0.6rem !important; padding-right: 0.6rem !important; }
    .pt9 { padding-top: 4.8rem !important; }
    .pt8 { padding-top: 4.2rem !important; }
    .pt7 { padding-top: 3.8rem !important; }
    .pt6 { padding-top: 3.4rem !important; }
    .pt5 { padding-top: 2.8rem !important; }
    .pt4 { padding-top: 2.4rem !important; }
    .pt3 { padding-top: 1.8rem !important; }
    .pt2 { padding-top: 1.2rem !important; }
    .pt1 { padding-top: 0.6rem !important; }
    .pS9 { padding-left: 4.8rem !important; }
    .ps8 { padding-left: 4.2rem !important; }
    .pS7 { padding-left: 3.8rem !important; }
    .ps6 { padding-left: 3.4rem !important; }
    .ps5 { padding-left: 2.8rem !important; }
    .ps4 { padding-left: 2.4rem !important; }
    .ps3 { padding-left: 1.8rem !important; }
    .ps2 { padding-left: 1.2rem !important; }
    .ps1 { padding-left: 0.6rem !important; }
    .pe9 { padding-right: 4.8rem !important; }
    .pe8 { padding-right: 4.2rem !important; }
    .pe7 { padding-right: 3.8rem !important; }
    .pe6 { padding-right: 3.4rem !important; }
    .pe5 { padding-right: 2.8rem !important; }
    .pe4 { padding-right: 4.8rem !important; }
    .pe3 { padding-right: 2.4rem !important; }
    .pe2 { padding-right: 1.2rem !important; }
    .pe1 { padding-right: 0.6rem !important; }
    .pb9 { padding-bottom: 4.8rem !important; }
    .pb8 { padding-bottom: 4.2rem !important; }
    .pb7 { padding-bottom: 3.8rem !important; }
    .pb6 { padding-bottom: 3.4rem !important; }
    .pb5 { padding-bottom: 2.8rem !important; }
    .pb4 { padding-bottom: 2.4rem !important; }
    .pb3 { padding-bottom: 1.8rem !important; }
    .pb2 { padding-bottom: 1.2rem !important; }
    .pb1 { padding-bottom: 0.6rem !important; }
    .p9 { padding: 4.8rem !important; }
    .p8 { padding: 4.2rem !important; }
    .p7 { padding: 3.8rem !important; }
    .p6 { padding: 3.4rem !important; }
    .p5 { padding: 2.8rem !important; }
    .p4 { padding: 2.4rem !important; }
    .p3 { padding: 1.8rem !important; }
    .p2 { padding: 1.8rem !important; }
    .p1 { padding: 0.6rem !important; }
    .my9 { margin-top: 4.8rem !important; margin-bottom: 4.8rem !important; }
    .my8 { margin-top: 4.2rem !important; margin-bottom: 4.2rem !important; }
    .my7 { margin-top: 3.8rem !important; margin-bottom: 3.8rem !important; }
    .my6 { margin-top: 3.4rem !important; margin-bottom: 3.4rem !important; }
    .my5 { margin-top: 2.8rem !important; margin-bottom: 2.8rem !important; }
    .my4 { margin-top: 4.8rem !important; margin-bottom: 4.8rem !important; }
    .my3 { margin-top: 2.4rem !important; margin-bottom: 2.4rem !important; }
    .my2 { margin-top: 1.2rem !important; margin-bottom: 1.2rem !important; }
    .my1 { margin-top: 0.6rem !important; margin-bottom: 0.6rem !important; }
    .mx9 { margin-left: 4.8rem !important; margin-right: 4.8rem !important; }
    .mx8 { margin-left: 4.2rem !important; margin-right: 4.2rem !important; }
    .mx7 { margin-left: 3.8rem !important; margin-right: 3.8rem !important; }
    .mx6 { margin-left: 3.4rem !important; margin-right: 3.4rem !important; }
    .mx5 { margin-left: 2.8rem !important; margin-right: 2.8rem !important; }
    .mx4 { margin-left: 4.8rem !important; margin-right: 4.8rem !important; }
    .mx3 { margin-left: 2.4rem !important; margin-right: 2.4rem !important; }
    .mx2 { margin-left: 1.2rem !important; margin-right: 1.2rem !important; }
    .mx1 { margin-left: 0.6rem !important; margin-right: 0.6rem !important; }
    .mt9 { margin-top: 4.8rem !important; }
    .mt8 { margin-top: 4.2rem !important; }
    .mt7 { margin-top: 3.8rem !important; }
    .mt6 { margin-top: 3.4rem !important; }
    .mt5 { margin-top: 2.8rem !important; }
    .mt4 { margin-top: 4.8rem !important; }
    .mt3 { margin-top: 2.4rem !important; }
    .mt2 { margin-top: 1.2rem !important; }
    .mt1 { margin-top: 0.6rem !important; }
    .ms9 { margin-left: 4.8rem !important; }
    .ms8 { margin-left: 4.2rem !important; }
    .ms7 { margin-left: 3.8rem !important; }
    .ms6 { margin-left: 3.4rem !important; }
    .ms5 { margin-left: 2.8rem !important; }
    .ms4 { margin-left: 4.8rem !important; }
    .ms3 { margin-left: 2.4rem !important; }
    .ms2 { margin-left: 1.2rem !important; }
    .ms1 { margin-left: 0.6rem !important; }
    .me9 { margin-right: 4.8rem !important; }
    .me8 { margin-right: 4.2rem !important; }
    .me7 { margin-right: 3.8rem !important; }
    .me6 { margin-right: 3.4rem !important; }
    .me5 { margin-right: 2.8rem !important; }
    .me4 { margin-right: 4.8rem !important; }
    .me3 { margin-right: 2.4rem !important; }
    .me2 { margin-right: 1.2rem !important; }
    .me1 { margin-right: 0.6rem !important; }
    .mb9 { margin-bottom: 4.8rem !important; }
    .mb8 { margin-bottom: 4.2rem !important; }
    .mb7 { margin-bottom: 3.8rem !important; }
    .mb6 { margin-bottom: 3.4rem !important; }
    .mb5 { margin-bottom: 2.8rem !important; }
    .mb4 { margin-bottom: 4.8rem !important; }
    .mb3 { margin-bottom: 2.4rem !important; }
    .mb2 { margin-bottom: 1.2rem !important; }
    .mb1 { margin-bottom: 0.6rem !important; }
    .m9 { margin: 4.8rem !important; }
    .m8 { margin: 4.2rem !important; }
    .m7 { margin: 3.8rem !important; }
    .m6 { margin: 3.4rem !important; }
    .m5 { margin: 2.8rem !important; }
    .m4 { margin: 4.8rem !important; }
    .m3 { margin: 2.4rem !important; }
    .m2 { margin: 1.2rem !important; }
    .m1 { margin: 0.6rem !important; }
}

@media (min-width: 992px) {
    .py9 { padding-top: 8.6rem !important; padding-bottom: 8.6rem !important; }
    .py8 { padding-top: 7.4rem !important; padding-bottom: 7.4rem !important; }
    .py7 { padding-top: 6.2rem !important; padding-bottom: 6.2rem !important; }
    .py6 { padding-top: 5.0rem !important; padding-bottom: 5.0rem !important; }
    .py5 { padding-top: 4.8rem !important; padding-bottom: 4.8rem !important; }
    .py4 { padding-top: 3.6rem !important; padding-bottom: 3.6rem !important; }
    .py3 { padding-top: 2.4rem !important; padding-bottom: 2.4rem !important; }
    .py2 { padding-top: 1.2rem !important; padding-bottom: 1.2rem !important; }
    .px9 { padding-left: 8.6rem !important; padding-right: 8.6rem !important; }
    .px8 { padding-left: 7.4rem !important; padding-right: 7.4rem !important; }
    .px7 { padding-left: 6.2rem !important; padding-right: 6.2rem !important; }
    .px6 { padding-left: 5.0rem !important; padding-right: 5.0rem !important; }
    .px5 { padding-left: 4.8rem !important; padding-right: 4.8rem !important; }
    .px4 { padding-left: 3.6rem !important; padding-right: 3.6rem !important; }
    .px3 { padding-left: 2.4rem !important; padding-right: 2.4rem !important; }
    .px2 { padding-left: 1.2rem !important; padding-right: 1.2rem !important; }
    .pt9 { padding-top: 8.6rem !important; }
    .pt8 { padding-top: 7.4rem !important; }
    .pt7 { padding-top: 6.2rem !important; }
    .pt6 { padding-top: 5.0rem !important; }
    .pt5 { padding-top: 4.8rem !important; }
    .pt4 { padding-top: 3.6rem !important; }
    .pt3 { padding-top: 2.4rem !important; }
    .pt2 { padding-top: 1.2rem !important; }
    .pS9 { padding-left: 8.6rem !important; }
    .ps8 { padding-left: 7.4rem !important; }
    .pS7 { padding-left: 6.2rem !important; }
    .ps6 { padding-left: 5.0rem !important; }
    .ps5 { padding-left: 4.8rem !important; }
    .ps4 { padding-left: 3.6rem !important; }
    .ps3 { padding-left: 2.4rem !important; }
    .ps2 { padding-left: 1.2rem !important; }
    .pe9 { padding-right: 8.6rem !important; }
    .pe8 { padding-right: 7.4rem !important; }
    .pe7 { padding-right: 6.2rem !important; }
    .pe6 { padding-right: 5.0rem !important; }
    .pe5 { padding-right: 4.8rem !important; }
    .pe4 { padding-right: 3.6rem !important; }
    .pe3 { padding-right: 2.4rem !important; }
    .pe2 { padding-right: 1.2rem !important; }
    .pb9 { padding-bottom: 8.6rem !important; }
    .pb8 { padding-bottom: 7.4rem !important; }
    .pb7 { padding-bottom: 6.2rem !important; }
    .pb6 { padding-bottom: 5.0rem !important; }
    .pb5 { padding-bottom: 4.8rem !important; }
    .pb4 { padding-bottom: 3.6rem !important; }
    .pb3 { padding-bottom: 2.4rem !important; }
    .pb2 { padding-bottom: 1.2rem !important; }
    .p9 { padding: 8.6rem !important; }
    .p8 { padding: 7.4rem !important; }
    .p7 { padding: 6.2rem !important; }
    .p6 { padding: 5.0rem !important; }
    .p5 { padding: 4.8rem !important; }
    .p4 { padding: 3.6rem !important; }
    .p3 { padding: 2.4rem !important; }
    .p2 { padding: 1.2rem !important; }
    .my9 { margin-top: 8.6rem !important; margin-bottom: 8.6rem !important; }
    .my8 { margin-top: 7.4rem !important; margin-bottom: 7.4rem !important; }
    .my7 { margin-top: 6.2rem !important; margin-bottom: 6.2rem !important; }
    .my6 { margin-top: 5.0rem !important; margin-bottom: 5.0rem !important; }
    .my5 { margin-top: 4.8rem !important; margin-bottom: 4.8rem !important; }
    .my4 { margin-top: 3.6rem !important; margin-bottom: 3.6rem !important; }
    .my3 { margin-top: 2.4rem !important; margin-bottom: 2.4rem !important; }
    .my2 { margin-top: 1.2rem !important; margin-bottom: 1.2rem !important; }
    .mx9 { margin-left: 8.6rem !important; margin-right: 8.6rem !important; }
    .mx8 { margin-left: 7.4rem !important; margin-right: 7.4rem !important; }
    .mx7 { margin-left: 6.2rem !important; margin-right: 6.2rem !important; }
    .mx6 { margin-left: 5.0rem !important; margin-right: 5.0rem !important; }
    .mx5 { margin-left: 4.8rem !important; margin-right: 4.8rem !important; }
    .mx4 { margin-left: 3.6rem !important; margin-right: 3.6rem !important; }
    .mx3 { margin-left: 2.4rem !important; margin-right: 2.4rem !important; }
    .mx2 { margin-left: 1.2rem !important; margin-right: 1.2rem !important; }
    .mt9 { margin-top: 8.6rem !important; }
    .mt8 { margin-top: 7.4rem !important; }
    .mt7 { margin-top: 6.2rem !important; }
    .mt6 { margin-top: 5.0rem !important; }
    .mt5 { margin-top: 4.8rem !important; }
    .mt4 { margin-top: 3.6rem !important; }
    .mt3 { margin-top: 2.4rem !important; }
    .mt2 { margin-top: 1.2rem !important; }
    .ms9 { margin-left: 8.6rem !important; }
    .ms8 { margin-left: 7.4rem !important; }
    .ms7 { margin-left: 6.2rem !important; }
    .ms6 { margin-left: 5.0rem !important; }
    .ms5 { margin-left: 4.8rem !important; }
    .ms4 { margin-left: 3.6rem !important; }
    .ms3 { margin-left: 2.4rem !important; }
    .ms2 { margin-left: 1.2rem !important; }
    .me9 { margin-right: 8.6rem !important; }
    .me8 { margin-right: 7.4rem !important; }
    .me7 { margin-right: 6.2rem !important; }
    .me6 { margin-right: 5.0rem !important; }
    .me5 { margin-right: 4.8rem !important; }
    .me4 { margin-right: 3.6rem !important; }
    .me3 { margin-right: 2.4rem !important; }
    .me2 { margin-right: 1.2rem !important; }
    .mb9 { margin-bottom: 8.6rem !important; }
    .mb8 { margin-bottom: 7.4rem !important; }
    .mb7 { margin-bottom: 6.2rem !important; }
    .mb6 { margin-bottom: 5.0rem !important; }
    .mb5 { margin-bottom: 4.8rem !important; }
    .mb4 { margin-bottom: 3.6rem !important; }
    .mb3 { margin-bottom: 2.4rem !important; }
    .mb2 { margin-bottom: 1.2rem !important; }
    .m9 { margin: 8.6rem !important; }
    .m8 { margin: 7.4rem !important; }
    .m7 { margin: 6.2rem !important; }
    .m6 { margin: 5.0rem !important; }
    .m5 { margin: 4.8rem !important; }
    .m4 { margin: 3.6rem !important; }
    .m3 { margin: 2.4rem !important; }
    .m2 { margin: 1.2rem !important; }
}

/*
====================================================
■ Parts: btn
====================================================
*/

.btn {
    border-radius: 4px;
    font-weight: 600;
    line-height: 1.6rem;
    display: inline-block;
    padding: .5em 1em;
    font-size: 2rem;
}

.btn {
    --bs-btn-line-height: 1;
    --bs-btn-padding-x: 2rem;
    --bs-btn-padding-y: 1rem;
    --bs-btn-box-shadow: 0;
    --bs-btn-focus-box-shadow: 0;
    position: relative;
    font-weight: 600;
    border-radius: 4px !important;
    text-decoration: none !important;
}

@media (min-width: 768px) {
    .btn {
        --bs-btn-padding-y: 1.4rem;
    }
}

.btn-lg {
    max-width: 540px;
    padding: 2.2rem 3.2rem;
    font-size: 20px;
    line-height: 2rem;
}

@media (max-width: 375px) {
    .btn-lg {
        width: 100%;
        padding: 2.2rem 1.2rem;
    }
}

@media (max-width: 576px) {
    .btn-lg {
        width: 100%;
        padding: 2.2rem 1.2rem;
    }
}
/* btn-primary / btn-outline-primary は廃止予定 */
.btn-primary {
    background: rgb(5, 136, 206) !important;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
    --bs-btn-disabled-color: #fff;
    --bs-btn-focus-shadow-rgb: none;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-bg: #ccc;
    border: 0 !important;
    letter-spacing: 0.04em;
}

.btn-primary:hover {
    opacity: 0.8 !important;
}

.btn-outline-primary {
    --bs-btn-color: #0588ce;
    --bs-btn-bg: #ffffff;
    --bs-btn-border-color: #0588ce;
    --bs-btn-hover-color: #0588ce;
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #0588ce;
    --bs-btn-active-color: #0588ce;
    --bs-btn-active-bg: #fff;
    --bs-btn-active-border-color: #0588ce;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #ccc;
    --bs-btn-disabled-border-color: #ccc;
    --bs-gradient: none;
    letter-spacing: 0.04em;
    border-width: 1px;
}

.btnDefault {
    color: #fff;
    border-color: #0588ce;
    background-color: #0588ce;
}

.btnDefault:hover {
    color: #fff;
    border-color: #04679c;
    background-color: #046fa9;
}

.btnDefault:focus,
.btnDefault.focus {
    color: #fff;
    border-color: #04679c;
    background-color: #046fa9;
    -webkit-box-shadow: 0 0 0 .2rem rgba(43, 154, 213, .5);
    box-shadow: 0 0 0 .2rem rgba(43, 154, 213, .5);
}

.btnDefault.disabled,
.btnDefault:disabled {
    color: #fff;
    border-color: #6c757d;
    background-color: #bfbfbf;
}

.btnDefault:not(:disabled):not(.disabled):active,
.btnDefault:not(:disabled):not(.disabled).active,
.show>.btnDefault.dropdown-toggle {
    color: #fff;
    border-color: #035f90;
    background-color: #04679c;
}

.btnDefault:not(:disabled):not(.disabled):active:focus,
.btnDefault:not(:disabled):not(.disabled).active:focus,
.show>.btnDefault.dropdown-toggle:focus {
    -webkit-box-shadow: 0 0 0 .2rem rgba(43, 154, 213, .5);
    box-shadow: 0 0 0 .2rem rgba(43, 154, 213, .5);
}

.btnOrange {
    color: #fff;
    border-color: #eb5b00;
    background-color: #eb5b00;
}

.btnOrange:hover {
    color: #fff;
    border-color: #ff8436;
    background-color: #ff8436;
}

.btnOrange:focus,
.btnOrange.focus {
    color: #fff;
    border-color: #ff8436;
    background-color: #ff8436;
    -webkit-box-shadow: 0 0 0 .2rem rgba(238, 116, 38, .5);
    box-shadow: 0 0 0 .2rem rgba(238, 116, 38, .5);
}

.btnOrange.disabled,
.btnOrange:disabled {
    color: #fff;
    border-color: #ffa166;
    background-color: #eb5b00;
}

.btnOrange:not(:disabled):not(.disabled):active,
.btnOrange:not(:disabled):not(.disabled).active,
.show>.btnOrange.dropdown-toggle {
    color: #fff;
    border-color: #ab4200;
    background-color: #b84700;
}

.btnOrange:not(:disabled):not(.disabled):active:focus,
.btnOrange:not(:disabled):not(.disabled).active:focus,
.show>.btnOrange.dropdown-toggle:focus {
    -webkit-box-shadow: 0 0 0 .2rem rgba(238, 116, 38, .5);
    box-shadow: 0 0 0 .2rem rgba(238, 116, 38, .5);
}


.btnOrange:hover,
.btnDefault:hover {
    opacity: 0.8 !important;
}

.btnOutline {
    color: #0588ce;
    border-color: #0588ce;
    background: #fff;
}

.btnOutline.focus,
.btnOutline:focus,
.btnOutline:hover,
.btnOutline:not(:disabled):not(.disabled).active,
.btnOutline:not(:disabled):not(.disabled):active {
    color: #48b1ea;
    border-color: #0588ce;
    background-color: #fff
}

.btnOutline.bgWhite {
    background-color: #fff
}

.btnOutline.bgWhite:hover {
    background-color: #fff
}

.btnOutline.focus,
.btnOutline:focus {
    -webkit-box-shadow: 0 0 0 .2rem rgba(5, 136, 206, .5);
    box-shadow: 0 0 0 .2rem rgba(5, 136, 206, .5)
}

.btnOutline.disabled,
.btnOutline:disabled {
    color: #0588ce;
    background-color: transparent
}

.mainBtns {
    position: block;
    padding: 24px 0;
}

.btn-block {
    display: block;
    width: 100%;
}

.campaignBanner { max-width: fit-content; width: 100%; }
.campaignBanner img { max-width: fit-content; width: 100%; object-fit: cover;}
.campaignBanner img:hover { opacity: 0.7; }

/*
====================================================
+ header
====================================================
*/

header {
    position: relative;
    height: 80px;
    font-size: 1.8rem;
}

@media (max-width: 576px) {
    header {
        height: 84px !important
    }

    header.apply {
        height: 66px !important
    }
}


@media (min-width: 576px) and (max-width:992px) {
    header {
        height: 84px !important
    }

    header.apply {
        height: 84px !important
    }
}

@media (min-width: 992px) {
    header {
        height: 140px !important
    }

    header.apply {
        height: 120px !important
    }
}

.hdTopWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 11px;
    padding-bottom: 11px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.hdTopLogo{
    display: flex;
    justify-self: center;
    align-items: center;
    margin: 0;
    line-height: 0;
    padding: 0;
}

.hdLogo {
    padding: 0;
    vertical-align: baseline;
}

@media (max-width: 576px) {
    .hdTopWrapper {
        padding-top: 0px;
        padding-bottom: 0px;
    }

    .hdLogo {
        height: 36px
    }
}

@media (min-width: 576px) and (max-width:992px) {
    .hdTopWrapper {}

    .hdLogo {
        height: 36px
    }
}

@media (min-width: 992px) {
    .hdLogo {
        height: 42px
    }
}



.hdTopBtn {
    text-align: left;
    white-space: nowrap;
    padding: 0;
}

.hdTopBtn .support {
    line-height: 2rem;
}

.hdNavWrapper .nav-link,
.hdNavWrapper .nav-link:hover,
.hdNavWrapper .nav-link:focus,
.hdNavWrapper .nav-link:active {
    color: #fff;
}

@media (min-width: 992px) {
    .hdTopWrapper {
        padding: 11px 0 11px 0px;
    }

    .hdNavWrapper {
        background-color: #0588ce;
    }

    header .navbar-expand-lg .navbar-nav {
        width: 100%;
        max-width: 720px;
    }

    header .navbar-expand-lg .navbar-nav .nav-link {
        padding: 10px 15px;
    }
}

@media (max-width: 992px) {
    header .navbar {
        --bs-navbar-toggler-icon-bg: none;
    }

    .hdTopBtn {
        padding-right: 38px;
    }

    header .navbar-expand-lg .navbar-nav {
        border-top: 1px solid #fff;
    }

    header .navbar-expand-lg .navbar-nav .nav-link {
        padding: 8px 0;
        font-size: 1.06rem;
        border-bottom: 1px solid #fff;
        text-align: center;
    }

    header .navbar-expand-lg .navbar-nav li:nth-last-child(2) {
        margin-top: 12px;
    }
}

.hdBtn {
    line-height: 1;
    padding: 8px 12px 8px 28px !important;
    letter-spacing: 0 !important;
    font-size: 2rem !important;
    font-weight: normal !important;
    word-break: keep-all !important
}


.hdBtn.hdBtnApply {
    background-size: 18px auto;
    padding: 8px 12px 8px 12px !important;
}

.hdBtn.hdBtnContact {
    background-size: 18px auto;
    padding: 8px 12px 8px 12px !important;
}

.hdBtn.hdBtnQa {
    background: url(/assets/images/icon/btn_qa.png) left 7px center no-repeat;
    background-size: 18px auto;
}

.hdBtn.hdBtnSpt {
    background: url(/assets/images/icon/btn_spt.png) left 7px center no-repeat;
    background-size: 18px auto;
}

.spBtn {
    display: block;
    padding: 16px 0;
    border: 1px solid #fff;
    background: none;
    color: #fff;
    width: 80%;
    max-width: 280x;
    margin: 1.2rem auto 0 auto;
    font-size: 1.06rem;
    font-weight: normal;
}

.spBtn.spBtnQa {
    background: url(/assets/images/icon/btn_qa_w.png) left 14px center no-repeat;
    background-size: 25px auto;
}

.spBtn.spBtnSpt {
    background: url(/assets/images/icon/btn_spt_w.png) left 14px center no-repeat;
    background-size: 25px auto;
}

header .navbar-toggler {
    border: 0 !important;
    width: 56px;
    height: 56px;
    background-color: rgba(255, 255, 255, 0.8);
    color: #0588ce;
    position: fixed;
    top: 6px;
    right: 0;
    z-index: 2;
}

header .navbar-toggler:focus {
    box-shadow: none !important;
}

header .navbar-toggler-icon {
    width: auto;
    height: auto;
}

header .navbar-toggler-icon span {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    display: block;
    width: 28px;
    height: 2px;
    margin: auto;
    margin-top: -1px;
    text-indent: -999em;
    background: #0588ce;
}

header .navbar-toggler-icon span::after,
header .navbar-toggler-icon span::before {
    position: absolute;
    right: 0;
    left: 0;
    height: 2px;
    content: "";
    background: #0588ce;
}

header .navbar-toggler-icon span::before {
    top: -10px;
}

header .navbar-toggler-icon span::after {
    bottom: -10px;
}

header .offcanvas {
    --bs-offcanvas-height: 100svh;
    background-color: #0588ce;
}

.offcanvas-header {
    display: block;
    padding: 0.5rem;
    text-align: right;
}

header .offcanvas-header .btn-close {
    --bs-btn-close-color: #ffffff;
    --bs-btn-close-bg: none;
    color: #ffffff;
    width: 40px;
    height: 40px;
    border-radius: 0;
    opacity: 1;
    padding: 0;
    margin: 0;
    position: relative;
}

header .offcanvas-header .btn-close::before,
header .offcanvas-header .btn-close::after {
    content: "";
    display: block;
    width: 2px;
    height: 30px;
    background: #ffffff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

header .offcanvas-header .btn-close::before {
    transform: rotate(45deg);
}

header .offcanvas-header .btn-close::after {
    transform: rotate(-45deg);
}

header .offcanvas-body {
    padding-top: 0;
}


/*
====================================================
■ main
====================================================
*/

main {
    display: block;
    font-size: 1.8rem;
}


/*
----------------------------------------------------
+ parts bread-crumb page-title 
----------------------------------------------------
*/

.breadcrumb {
    --bs-breadcrumb-item-active-color: #0588ce;
    --bs-breadcrumb-divider-color: #0588ce;
    padding: 1.2rem 0 .8rem;
}

.breadcrumb-chevron {
    --bs-breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%236c757d'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    gap: 0.3rem;
}

.breadcrumb-chevron .breadcrumb-item {
    display: flex;
    gap: inherit;
    align-items: center;
    padding-left: 0;
}

.breadcrumb-chevron .breadcrumb-item.active {
    color: #343434 !important;
}

.breadcrumb-chevron .breadcrumb-item::before {
    gap: inherit;
    float: none;
    width: 1rem;
    height: 2.4rem;
    margin: 0px 6px;
}


@media (max-width: 576px) {
    .breadcrumb {
        padding: 0.5rem 0;
    }

    .breadcrumb-chevron {
        font-size: 1.6rem;
    }
}

@media (min-width: 576px) and (max-width:992px) {
    .breadcrumb {}

}

@media (min-width: 992px) {
    .breadcrumb {}
}


.pageTitleBlock {
    position: relative;
    background-size: cover
}

.pageTitleBlock>.container-xl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 240px;
    padding-top: 10px;
    padding-bottom: 10px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.pageTitleBlock>.container {
    height: 160px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}


@media (max-width: 1012px) {
    .pageTitleBlock>.container-xl {
        height: 200px
    }
}

@media (max-width: 768px) {
    .pageTitleBlock>.container-xl {
        height: 150px
    }
}

@media (min-width: 768px) {
    .pageTitleBlock>.container {
        height: 240px;
    }
}


.pageTitleBlock h2 {
    font-size: 3.4rem;
    font-weight: 700;
    margin: 0;
    text-align: center;
    color: #fff
}

.pageTitleBlock._onBg h2 {
    font-size: 4rem;
    text-shadow: 1px 0px 8px rgba(0, 0, 0, 0.3);
}

.pageTitleBlock h2 small,
.pageTitleBlock h2 time {
    font-size: 2rem;
    font-weight: 500;
    display: block;
    margin-top: .25em
}

.pageTitleBlock._onBg h2 small,
.pageTitleBlock._onBg h2 time {
    font-size: 2.4rem;
}

.pageTitleBlock h2 small._new::after,
.pageTitleBlock h2 time._new::after {
    font-size: 1.6rem;
    font-style: normal;
    line-height: 1.5;
    display: inline-block;
    padding: 1px 5px;
    content: 'NEW!!';
    vertical-align: 8%;
    text-indent: 0;
    letter-spacing: 0;
    color: #fff;
    background: #ff9d00
}

@media (max-width: 768px) {
    .pageTitleBlock h2 {
        font-size: 3rem
    }

    .pageTitleBlock h2 small,
    .pageTitleBlock h2 time {
        font-size: 1.2rem
    }

    .pageTitleBlock h2 small._new::after,
    .pageTitleBlock h2 time._new::after {
        font-size: 1.6rem
    }
}

.pageTitleShape {
    font-size: 1rem;
    display: block
}

.pageTitleBlock._noBg .container-xl {
    position: relative;
    height: 170px;
    margin-bottom: 50px
}

.pageTitleBlock._noBg .container-xl::after {
    position: absolute;
    right: 15px;
    bottom: 0;
    left: 15px;
    height: 0.5px;
    content: '';
    background: #343434
}

.pageTitleBlock._noBg h2 {
    padding-bottom: .5em;
    color: #343434
}

.pageTitleBlock._noBg._narrow h2 {
    height: 140px
}

.pageTitleBlock._noBg._narrow h2 {
    padding-top: .5em;
    padding-bottom: 0;
    color: #343434
}

.pageTitleBlock[class^=pageTitle] {
    background-size: cover;
    background-position: bottom left -40px;
}

.pageTitleBlock.pageTitlePrice {
    background-image: url(/assets/images/header_bg/price_bg.jpg);
}

.pageTitleBlock.pageTitlePay {
    background-image: url(/assets/images/header_bg/payment_bg.jpg);
}

.pageTitleBlock.pageTitleService {
    background-image: url(/assets/images/header_bg/service_bg.jpg);
}

.pageTitleBlock.pageTitleLnp {
    background-image: url(/assets/images/header_bg/lnp_bg.jpg);
}

.pageTitleBlock.pageTitleConditions {
    background-image: url(/assets/images/header_bg/conditions_bg.jpg);
}

.pageTitleBlock.pageTitleSupport {
    background-image: url(/assets/images/header_bg/support_bg.webp);
}

.pageTitleBlock.pageTitlFaq {
    background-image: url(/assets/images/header_bg/faq_bg.jpg);
}

.pageTitleBlock.pageTitlGuide {
    background-image: url(/assets/images/header_bg/guide_bg.jpg);
}

.pageTitleBlock.pageTitleCustomer {
    background-image: url(/assets/images/header_bg/customer_bg.jpg);
}

@media (max-width: 576px) {
    .pageTitleBlock._noBg h2 {
        padding-bottom: 0;
    }

    .pageTitleBlock._noBg .container-xl {
        padding-top: 0;
        padding-bottom: 0;
        height: 100px;
        margin-bottom: 30px
    }
}

@media (min-width: 576px) and (max-width:992px) {
    .pageTitleBlock._noBg h2 {
        padding-bottom: 0;
    }

    .pageTitleBlock._noBg .container-xl {
        margin-bottom: 35px
    }
}

@media (min-width: 992px) {
    .pageTitleBlock._noBg h2 {}

    .pageTitleBlock._noBg .container-xl {
        margin-bottom: 40px
    }

    .pageTitleBlock[class^=pageTitle] {
        background-position: bottom center;
    }

    .pageTitleBlock.pageTitleCustomer {
        background-position: left top !important;
        background-size: auto 320px !important;
    }

}

.innerPageNav {
    max-width: 1140px;
    margin: 0 auto;
}

.innerPageNav .nav-item {
    border-left: 1px solid #0588ce;
}

.innerPageNav .nav-item:last-child {
    border-right: 1px solid #0588ce;
}

@media (max-width: 880px) {
    .innerPageNav .nav-item {
        width: 33.3333%;
    }

    .innerPageNav .nav-item:nth-child(1),
    .innerPageNav .nav-item:nth-child(2) {
        border-bottom: 1px solid #0588ce;
        width: 50%;
    }

    .innerPageNav .nav-item:nth-child(2) {
        border-right: 1px solid #0588ce;
    }

    .innerPageNav .nav-item a {
        font-size: 1.4rem;
        line-height: 2.1rem;
    }
}



/*
====================================================
■ footer
====================================================
*/

footer {
    font-size: 1.8rem;
    margin-bottom: 14rem;
}

footer a {
    text-decoration: none !important
}

footer a.corp {
    text-decoration: none;
    color: #231815;
}

footer a.corp:hover {
    text-decoration: none;
    color: #7b7473;
}

footer .nav a {
    font-weight: 700;
    line-height: 1.5
}


footer .small {
    font-size: .7em;
    line-height: 1.6
}


footer .nav li+li {
    margin-top: .8rem
}

footer .nav .navSub {
    margin-top: .3rem;
    padding-left: 0
}

footer .nav .navSub a {
    font-weight: 400;
    font-size: .9em
}

footer .nav .navSub li+li {
    margin-top: 0
}

footer .nav .navSub li {
    list-style-type: none;
    position: relative
}

footer .nav .navSub li:before {
    content: "-";
    padding-right: 4px
}

.markBox {
    height: 102px;
}

.markBox>div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}

.ftLogoMaho,
.ftLogoJimden {
    width: 102px
}

.ftLogoEtoc {
    width: 72px;
    background: #fff;
}

.ftLogoFb {
    margin-left: 8px;
    width: 36px
}


.navInfo {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 1rem 0 0;
    margin: 1rem 0
}

.navInfo li {
    list-style: none;
    line-height: 1.2;
    margin-bottom: .8rem
}

.navInfo li+li {
    border-left: 1px solid #231815
}

.navInfo li a {
    font-size: 1.6rem;
    padding: 1.6rem;
    letter-spacing: 0
}

.linkEx:after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(/assets/images/icon/icon_ex_b.png) no-repeat;
    background-size: contain;
    background-position: 50%;
    margin-left: 1px;
    vertical-align: text-bottom
}

@media (min-width: 768px) {
    footer .small {
        font-size: .8em
    }

    footer hr {
        margin: 2.8rem 0
    }

    .markBox {
        height: 184px;
    }

    .ftLogoMaho,
    .ftLogoJimden {
        width: 196px
    }

    .ftLogoEtoc {
        width: 60px
    }

    .ftLogoFb {
        width: 42px
    }

    .navInfo li a {
        font-size: 1.4rem
    }
}

.ftTopWrapper {
    text-align: center;
    padding: 0 0 3rem !important;
}


.ftTopWrapper .ftLogoJmdn {
    height: 66px;
}

@media (min-width: 768px) {
    .ftTopWrapper .ftLogoJmdn {
        height: 42px;
    }
}

.ftNavWrapper {
    color: #fff;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
    background-color: #005989 !important;
}

@media (max-width: 576px) {
    .ftNavWrapper {
        padding-bottom: 20px !important;
    }
}

@media (min-width: 576px) and (max-width: 768px) {
    .ftNavWrapper {
        padding-bottom: 20px !important;
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    .ftNavWrapper {
        padding-bottom: 20px !important;
    }
}

@media (min-width: 1200px) {
    .ftNavWrapper {
        padding-bottom: 20px !important;
    }
}

.ftNavWrapper a {
    color: #fff;
}

.ftNavWrapper a:hover {
    text-decoration: underline !important;
}

.ftNavWrapper hr {
    margin: 2rem 0;
    border-color: #fff;
    opacity: 1;
}

.ftBottomWrapper a {
    color: #231815;
}

.ftBottomWrapper a:hover {
    color: #7b7473;
}

.ftBtnWrapper {
    background: #ffd52e;
}

.ftBtnBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 10px;
    padding-bottom: 10px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.ftBtnBox .ftBottomBtn {
    padding: 0;
}

.ftBtnBox .ftBottomBtn a.btnOutline {
    color: #0588ce;
}

.ftBtnBox .ftBottomBtn .spBtn {
    display: block;
    padding: 0;
    border: none;
    background: none;
    color: #fff;
    width: 100%;
    max-width: 320px;
    margin: 1.2rem auto 0 auto;
    font-size: 1.06rem;
    font-weight: normal;
}

@media (max-width: 768px) {
    .ftBtnBox .ftBottomBtn .spBtn {
        width: 100%;
        max-width: 320px;
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    .ftBtnBox .ftBottomBtn .spBtn {
        width: 100%;
        max-width: 420px;
    }
}

@media (min-width: 1200px) {
    .ftBtnBox .ftBottomBtn .spBtn {
        width: 100%;
        max-width: 460px;
    }
}

.ftGoTop {
    display: none;
    position: relative
}

@media (min-width: 576px) {
    .ftGoTop {
        display: block;
        position: fixed;
        right: 2rem;
        bottom: 3.5rem;
        z-index: 10;
        opacity: 0;
        transition: opacity .5s
    }

    .ftGoTop a {
        display: block;
        width: 72px;
        height: 72px;
        font-size: 0;
        height: 0;
        padding-top: 72px;
        background-color: hsla(5, 48%, 95%, .8);
        border-radius: 50%;
        color: #0588ce
    }

    .ftGoTop a:after,
    .ftGoTop a:before {
        content: "";
        display: block;
        position: absolute
    }

    .ftGoTop a:before {
        width: 12px;
        height: 12px;
        border-top: 3px solid;
        border-right: 3px solid;
        transform: rotate(-45deg);
        top: 8px;
        left: 0;
        right: 0;
        margin: auto
    }

    .ftGoTop a:after {
        width: 3px;
        height: 12px;
        background: #0588ce;
        top: 0;
        bottom: 42px;
        left: 0;
        right: 0;
        margin: auto
    }

    .ftGoTop img.ftGoTopIcon {
        position: absolute;
        top: 22px;
        left: 12px;
        margin: auto
    }
}





/*
====================================================
■ cookieconsent
====================================================
*/

.cc-window .cc-btn {
    text-decoration: none;
}

.cc-message {
    font-size: 11px !important;
    line-height: 1.6;
    letter-spacing: normal;
}

@media (min-width: 768px) {
    .cc-message {
        font-size: 13px !important;
    }
}

.cc-btn {
    white-space: nowrap !important;
}



/*
====================================================
■ contact
====================================================
*/

.contactBlock {
    background: #e0f6ff;
    position: relative;
}

.contactBlock::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: url(/assets/images/support/spt_contact_bg.jpg) left bottom no-repeat;
    background-size: cover;
}

.contactInner {
    padding: 2rem 0 2.5rem 0;
    position: relative;
}

@media (min-width: 768px) {
    .contactBlock {
        background: rgb(225, 246, 255);
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 70%, rgba(225, 246, 255, 1) 100%);
        height: 280px;
        display: flex;
        align-items: center;
        overflow: hidden;
    }

    .contactBlock::before {
        height: 280px;
        width: auto;
        background-position: left top;
        position: absolute;
        top: 0;
        left: -80px;
    }

    .contactInner {
        width: 50%;
        margin-left: 50%;
        padding: 0;
    }

    .contactInner .btn-lg {
        max-width: 380px;
    }
}

@media (min-width: 992px) {
    .contactBlock {
        background: rgb(225, 246, 255);
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 50%, rgba(225, 246, 255, 1) 100%);
        height: 320px;
    }

    .contactBlock::before {
        height: 320px;
        left: 0;
    }
}

/*
====================================================
+ News
====================================================
*/

.headerNews {
    list-style: none;
    white-space: wrap;
    line-height: 1rem;
}

.indexNews {
    margin: 0;
    padding: 5px 0;
    list-style: none;
}

.indexNews li {
    position: relative;
}

.headerNews i,
.indexNews i {
    color: #0588ce;
    padding-right: .6rem;
}


/*
====================================================
+ index
====================================================
*/
/* indexMainBlock */

.indexMainBlock {
    position: relative;
    padding: 2rem 0 2rem
}

.indexMainBlock:after,
.indexMainBlock:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1
}

.indexMainBlock:before {
    background-color: #3da9fc;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 92%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 92%)
}

.indexMainBlock:after {
    background-color: #ffd52e;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%)
}

.indexMainBlock .indexMainImg {
    position: absolute;
    right: 4%;
    top: 26%;
    width: 100%;
    max-width: 240px;
    transform: rotate(-4deg);
}

.indexMainBlock h2,
.indexMainBlock p {
    position: relative;
    line-height: 1.4;
}

.indexMainBlock h2 {
    text-align: left;
    font-size: 2rem;
    letter-spacing: .05em;
    margin-bottom: .8rem
}

.indexMainBlock .lead,
.indexMainBlock h2 {
    text-shadow: 0 0 5px hsla(0, 0%, 100%, .5), 0 0 10px hsla(0, 0%, 100%, .5), 0 0 20px #fff;
    margin: 1.6rem 1.6rem !important;
}

.indexMainBlock .lead {
    font-size: 1.6rem;
    font-weight: 700
}

.indexMainBlock .phonno {
    font-size: 2.6rem;
    font-weight: 700
}

.indexMainBlock .btn-secondary {
    box-shadow: 0 3px 5px rgba(0, 0, 0, .1);
    margin-top: .8rem
}

.icon-fk {
    display: block;
    color: #bc423d;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 70px;
    text-align: center;
    position: absolute;
    top: -1.9rem;
    left: -1.6rem;
    width: 70px;
    height: 70px;
    background: url(/assets/images/fk01.png) no-repeat 50%;
    background-size: contain
}

@media (max-width: 576px) {
    .indexMainBlock .container-xl {
        max-width: 468px;
        margin: 0 auto;
    }

    .indexMainBlock .indexMainImg {
        display: none;
    }

    .indexMainBlock h2 {
        text-align: center;
        font-size: 3.6rem;
    }

    .indexMainBlock .lead {
        text-align: center;
        font-size: 2.6rem;
        margin: 0.5rem !important
    }
}

@media (min-width: 576px) {
    .indexMainBlock .container-xl {
        max-width: 560px;
        margin: 0 auto;
    }

    .indexMainBlock .indexMainImg {
        right: 10%;
        top: 32px;
        width: 220px;
        max-width: 220px;
        transform: rotate(-2deg);
    }

    .indexMainBlock h2 {
        text-align: left;
        font-size: 2.6rem;
    }

    .indexMainBlock .lead {
        text-align: left;
        font-size: 2.0rem;
    }
}


@media (min-width: 768px) {
    .indexMainBlock {
        padding: 5rem 0 5rem
    }

    .indexMainBlock .container-xl {
        max-width: 664px;
        margin: 0 auto;
    }

    .indexMainBlock .indexMainImg {
        right: 13%;
        top: -2px;
        width: 260px;
        max-width: 260px;
        transform: rotate(-2deg);
    }

    .indexMainBlock h2 {
        font-size: 2.8rem;
        line-height: 1.4;
        margin-bottom: 1.2rem
    }

    .indexMainBlock .lead {
        font-size: 2.4rem
    }

    .indexMainBlock .phonno {
        font-size: 2.8rem
    }

    .indexMainBlock .btn-secondary {
        margin-top: 1.2rem;
        font-size: 1.1rem;
        max-width: 400px;
        padding: 1.6rem 0
    }

    .icon-fk {
        font-size: 1.2rem;
        line-height: 80px;
        top: -2rem;
        left: -1.4rem;
        width: 80px;
        height: 80px
    }
}

@media (min-width: 992px) {
    .indexMainBlock {
        padding: 6rem 0 8rem
    }

    .indexMainBlock .container-xl {
        max-width: 902px;
        margin: 0 auto;
    }

    .indexMainBlock .indexMainImg {
        width: 340px;
        max-width: 340px;
        right: 11%;
        top: -7px;
        transform: rotate(-2deg);
    }

    .indexMainBlock h2 {
        font-size: 4rem
    }

    .indexMainBlock .lead {
        font-size: 2.6rem
    }

    .indexMainBlock .phonno {
        font-size: 3.6rem
    }

}

@media (min-width: 1200px) {
    .indexMainBlock {
        padding: 6rem 0 10rem
    }

    .indexMainBlock .container-xl {
        max-width: 930px;
        margin: 0 auto;
    }

    .indexMainBlock .indexMainImg {
        right: 15%;
        width: 360px;
        max-width: 360px;
        top: -9px;
        transform: rotate(-2deg);
    }
}

@media (min-width: 1400px) {
    .indexMainBlock {
        padding: 1rem 0 7rem
    }

    .indexMainBlock .container-xl {
        max-width: 1062px;
        margin: 0 auto;
        position: relative;
    }

    .indexMainBlock .indexMainImg {
        right: 8px;
        width: 30%;
        top: -24px;
        transform: rotate(-1deg);
    }

    .indexMainBlock h2 {
        margin-top: -4.8rem;
        padding-top: 5rem;
    }

    .indexMainBlock .lead {
        font-size: 2.4rem;
    }
}

/* ---- ABOUT ------------------------------------ */

.about {
    position: relative;
    z-index: 3;
    padding: 4rem 0;
    font-size: 1.8rem;
}

.about h3 {
    font-size: 3rem;
    line-height: 1.6;
    text-align: center;
    text-indent: -.1em;
    letter-spacing: .1em;
    color: #005989 !important;
    margin-bottom: 1em;
}

.about h4 {
    font-size: 2.4rem;
    font-weight: 600;
    padding: 16px 0 8px;
    text-align: center;
}

.about h5 {
    font-size: 2rem;
    font-weight: 600;
    padding: 16px 0 8px;
    text-align: left;
}

.about p.lead {
    font-size: 2.2rem;
    line-height: 1.6;
    text-align: center;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 1rem;
}

.aboutWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (max-width: 768px) {
    .aboutWrapper {
        display: block
    }
}

.aboutImg {
    text-align: center;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

.aboutLead {
    line-height: 2.1;
    margin: 1rem 0 0;
}

@media (min-width: 768px) {
    .aboutImg {
        margin-left: 20px;
    }
}

/* ---- INTRO ------------------------------------ */

.intro h3 {
    font-size: 3rem;
    line-height: 1.6;
    text-align: center;
    text-indent: -.1em;
    letter-spacing: .1em;
    color: #005989 !important;
    margin-bottom: 1em;
}

.intro h3 .textFkBar {
    position: relative;
    display: inline-block;
    padding: 0 1rem
}

.intro h3 .textFkBar:after,
.intro h3 .textFkBar:before {
    content: "";
    display: block;
    height: 100%;
    width: 2px;
    background-color: #005989;
    position: absolute;
    bottom: 0
}

.intro h3 .textFkBar:before {
    left: -1em;
    transform: rotate(-24deg)
}

.intro h3 .textFkBar:after {
    right: -1em;
    transform: rotate(24deg)
}

@media (max-width: 576px) {
    .intro h3 {
        font-size: clamp(2.2rem, .932rem + .27vw, 2.4rem)
    }
}

@media (min-width: 576px) and (max-width: 768px) {
    .intro h3 {
        font-size: 2.6rem;
    }
}

@media (min-width: 768px) {
    .intro h3 {
        font-size: 2.8rem;
    }

    .intro h3 .textFkBar:before {
        left: -1em;
        transform: rotate(-30deg)
    }

    .intro h3 .textFkBar:after {
        right: -1em;
        transform: rotate(30deg)
    }
}

@media (min-width: 992px) {
    .intro h3 {
        font-size: 3rem;
    }
}

.intro h4 {
    font-size: 2.0rem;
    font-weight: 600;
    padding: 10px;
    margin-bottom: 2rem;
    text-align: center;
    color: #fff;
    border-radius: 50px;
    background-color: #ff9d00 !important;
    position: relative;
    z-index: 20;
}

.intro p.lead {
    font-size: 2.2rem;
    line-height: 1.6;
    text-align: center;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 1rem;
}

.intro img.rounded {
    -webkit-clip-path: circle(50%);
    clip-path: circle(50%);
    border-radius: .25rem !important;
    max-width: 80%;
    height: auto;
    vertical-align: middle;
    border-style: none;
    position: relative;
    z-index: 10;
}

.introHead {
    text-align: center;
    margin-bottom: -1.6rem
}

@media (max-width: 767px) {
    .introHead {
        margin-left: -.6rem;
        margin-right: -1.6rem;
        margin-bottom: 0rem;
        z-index: 99;
        position: relative
    }
}

.introVoice {
    position: relative;
    width: 116%;
    max-width: 220px;
    font-weight: 700;
    text-align: center;
    padding: 2rem 0;
    margin: 0 auto;
    border-radius: 49%;
    border: 2px solid #231815;
    background: #fff;
    z-index: 1
}

@media (max-width: 992px) {
    .introVoice.py-s {
        padding: 1.5rem 0
    }
}

.introVoice:after,
.introVoice:before {
    content: "";
    display: block;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #231815;
    position: absolute
}

.introVoice:before {
    width: 17px;
    height: 17px;
    bottom: 6px;
    right: 22px
}

.introVoice:after {
    width: 12px;
    height: 12px;
    bottom: -10px;
    right: 30px
}

.introHead img {
    position: relative;
    margin-top: -1.2rem;
    z-index: 2;
    max-width: 100%
}

.introWapper {
    align-items: flex-end;
}

.introBox {
    position: relative;
    text-align: center;
    height: 300px;
    margin-top: 5rem !important;
}

.introBox .listDot {
    color: #000;
    font-weight: 500;
}

.introBox .linkArrowRound {
    position: absolute;
    bottom: -6px;
    right: -6px
}

.introBox a:hover {
    color: inherit;
    opacity: .8
}

@media (max-width: 576px) {
    .introWapper {
        align-items: flex-start;
    }

    .introBox {
        font-size: 1.6rem;
        height: 280px;
        margin-top: 2rem !important;
    }
}

@media (min-width: 576px) and (max-width: 768px) {
    .introBox {
        height: 240px;
        margin: 2rem auto 0 !important;
    }
}

@media (min-width: 768px) and (max-width: 992px) {
    .introBox {
        height: 320px;
        margin: 0 auto 0 !important;
    }
}

@media (min-width: 992px) {
    .index-intro-voice {
        width: 90%;
        max-width: 270px;
        padding: 2.8rem 0;
        border-radius: 48%
    }

    .index-intro-voice:before {
        width: 22px;
        height: 22px;
        bottom: 12px;
        right: 30px
    }

    .index-intro-voice:after {
        width: 14px;
        height: 14px;
        bottom: -6px;
        right: 40px
    }

    .index-intro-voice small {
        font-size: 1.125em
    }

    .introHead img {
        max-width: 250px
    }

    .introBox {
        max-width: 320px;
        margin: 0 auto 0 !important;
        padding: 2rem 0 !important
    }

    .introBox p {
        font-size: 1.8rem
    }
}

/* ---- PRICE ------------------------------------ */

.price {
    margin-top: 48px;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.price h2 {
    font-size: 2.5rem;
    line-height: 1.6;
    margin-bottom: .85em;
    text-align: center;
    text-indent: -.1em;
    letter-spacing: .1em;
    color: #0588ce;
}

.price h3 {
    font-size: 3rem;
    line-height: 1.6;
    text-align: center;
    text-indent: -.1em;
    letter-spacing: .1em;
    color: #005989 !important;
    margin-bottom: 1em;
}

.price p.lead {
    font-size: 2.2rem;
    line-height: 1.6;
    text-align: center;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 1rem;
}

.feeBox {
    text-align: center;
}

.feeBox h3 {
    font-size: 2.1rem;
    font-weight: 700;
    margin: 0 0 .25em 0;
    color: #ffdf5f;
}

.feeBox p.lead {
    font-size: 1.2rem;
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 1rem;
    color: #fff;
    font-weight: 700;
}

/* FLOW */
.flow h3 {
    color: #005989 !important;
    text-align: center;
    font-size: 3rem;
}

.flow p.lead {
    text-align: center;
    font-weight: 700;
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 2rem !important
}

.flowList {
    list-style: none;
    padding: 0;
}

@media (max-width: 768px) {
    .flowList {
        width: 89.3333333333vw;
        margin: 0 auto 6.6666666667vw
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    .flowList {
        max-width: 100%;
        margin: 0 auto 54px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
        flex-flow: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media(min-width: 1200px) {
    .flowList {
        max-width: 1228px;
        width: 100%;
        margin: 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
        flex-flow: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.flowList li {
    position: relative;
}

@media (max-width: 768px) {
    .flowList li {
        width: 100%
    }
}

@media(min-width: 768px) and (max-width: 1200px) {
    .flowList li {
        border: 1px solid rgb(5 136 206 / 40%);
        border-radius: 12px;
        width: 22%;
        padding: 2.7777777778vw 0px
    }
}

@media(min-width: 1200px) {
    .flowList li {
        border: 1px solid rgb(5 136 206 / 40%);
        ;
        border-radius: 12px;
        max-width: 240px;
        width: 24%;
        padding: 30px 4px
    }
}

@media (max-width: 768px) {
    .flowList li:not(:first-child) {
        margin-top: 10.6666666667vw
    }
}

.flowList li:not(:first-child)::before {
    content: "▶";
    position: absolute;
    color: #bababa
}

@media (max-width: 768px) {
    .flowList li:not(:first-child)::before {
        left: calc(50% - 1.8rem);
        top: -13.33333vw;
        font-size: 8vw;
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        display: inline-block
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    .flowList li:not(:first-child)::before {
        left: -3.2222222222vw;
        top: calc(50% - 1.8rem);
        font-size: 1.9vw
    }
}

@media(min-width: 1200px) {
    .flowList li:not(:first-child)::before {
        left: -2.03333vw;
        top: calc(50% - 1.8rem);
        font-size: 1.8vw
    }
}

.flowStep {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    background-color: #fff
}

@media (max-width: 768px) {
    .flowStep {
        border: 1px solid rgb(5 136 206 / 40%);
        ;
        border-radius: 12px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
        flex-flow: row-reverse;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        padding: 2.380952381vw;
        margin-bottom: 1.9047619048vw
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    .flowStep {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column
    }
}

@media(min-width: 1200px) {
    .flowStep {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column
    }
}

.flowStep img {
    height: auto;
}

@media (max-width: 767px) {
    .flowStep img {
        width: 20%;
        margin: 1rem;
    }
}

@media (min-width: 768px) {
    .flowStep img {
        width: 80%;
        display: block;
        margin: 0.8rem auto
    }
}

.flowStepTitle {
    color: #0078c5;
    font-weight: 700;
    line-height: 1.125em
}

@media (max-width: 767px) {
    .flowStepTitle {
        font-size: 2.6rem;
        margin-left: 4.6vw;
        text-align: left
    }
}

@media(min-width: 768px) and (max-width: 1200px) {
    .flowStepTitle {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
        flex-flow: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        margin-bottom: 2.38vw;
        font-size: 2.1rem;
        height: 2.25em;
        text-align: center
    }
}

@media(min-width: 1200px) {
    .flowStepTitle {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
        flex-flow: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        margin-bottom: 30px;
        font-size: 2.6rem;
        height: 2.25em;
        text-align: center
    }
}

.flowStepText {
    font-weight: 500;
    color: #424242;
    line-height: 1.6em
}

@media (max-width: 767px) {
    .flowStepText {
        font-size: 1.6rem;
        text-align: left
    }
}

@media(min-width: 768px) and (max-width: 1200px) {
    .flowStepText {
        margin: 2.380952381vw 1.5873015873vw 0px;
        font-size: 1.8rem;
        margin-top: 1.98vw
    }
}

@media(min-width: 1200px) {
    .flowStepText {
        margin: 30px 20px 0px;
        font-size: 2rem;
        line-height: 1.8em
    }
}

.jmdnContBlock {}

.jmdnCont960Wrap {
    position: relative;
    max-width: 960px;
    margin: 0 auto
}

.jmdnCont960Wrap h5 {
    padding: 0.6em;
}

.jmdnCont960Wrap h5 a {
    position: relative;
    display: block;
    padding: 0 6rem 0 0;
    cursor: pointer;
    text-decoration: none
}

.jmdnCont960Wrap h5 a:after,
.jmdnCont960Wrap h5 a:before {
    position: absolute;
    top: 50%;
    right: 6px;
    content: "";
    background: #666
}

@media (max-width: 768px) {

    .jmdnCont960Wrap h5 a:after,
    .jmdnCont960Wrap h5 a:before {
        right: 20px;
        right: 15px
    }
}

.jmdnCont960Wrap h5 a:before {
    width: 22px !important;
    height: 2px !important
}

.jmdnCont960Wrap h5 a:after {
    width: 2px !important;
    height: 22px !important;
    margin-top: -10px;
    margin-right: 10px;
    transition: transform .2s ease-out 0s
}

.jmdnCont960Wrap h5 a.collapsed:after {
    transform: rotate(270deg)
}

/*
====================================================
+ heading
====================================================
*/

.heading1 {
    font-size: 4rem;
    line-height: 1.6;
    margin-bottom: .85em;
    text-align: center;
    text-indent: -.1em;
    letter-spacing: .1em;
    color: #0588ce
}

@media (max-width: 992px) {
    .heading1 {
        font-size: 3.5rem
    }
}

@media (max-width: 768px) {
    .heading1 {
        font-size: 3rem
    }
}

.heading1 small {
    font-size: 60%
}

.heading1 .smaller {
    font-size: 50%
}

.heading1 span {
    display: inline-block
}

.policyAction h3,
.heading2 {
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 2em;
    margin-bottom: .85em;
    padding: .8rem 1.5rem .9rem;
    color: #0588ce;
    background: #e0f6ff
}

@media (max-width: 768px) {

    .policyAction h3,
    .heading2 {
        font-size: 2.1rem;
    }
}

.heading3 {
    font-size: 1.9rem;
    line-height: 1.4;
    margin-bottom: .75em;
    padding: .5rem 1.5rem;
    background: #ededed
}

@media (max-width: 768px) {
    .heading3 {
        font-size: 1.75rem
    }
}

.heading4 {
    font-size: 2.4rem;
    line-height: 1.4;
    margin-bottom: .5em
}

@media (max-width: 768px) {
    .heading4 {
        font-size: 2rem
    }
}

.policyAction h4,
.heading5 {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.4;
    position: relative;
    margin-top: 1em;
    margin-bottom: .75em;
    padding-left: 1.2em
}

.policyAction h4::before,
.heading5::before {
    position: absolute;
    top: .35em;
    left: 0;
    width: .8em;
    height: .8em;
    content: '';
    background: #0588ce
}

@media (max-width: 768px) {

    .policy_action h4,
    .heading5 {
        font-size: 2rem
    }
}

.heading6 {
    font-size: 1.8rem;
    display: block;
    margin-top: 40px;
    padding-bottom: 5px;
    color: #0588ce;
    border-bottom: 1px solid #999
}




h5.stepTitle {
    font-weight: 600;
    position: relative;
    padding: 0.8rem 0;
    font-size: clamp(1.8rem, 1.8rem + .81vw, 2rem)
}


@media (min-width: 992px) {
    h5.stepTitle {
        padding: 1.2rem 1.6rem 1.2rem 92px
    }
}

.stepTitle img {
    width: 50px;
    height: auto;
    position: absolute;
    top: -8px;
    left: -10px;
}

@media (min-width: 768px) {
    .stepTitle img {
        width: 78px;
        left: -18px;
    }
}

.stepIcon img {
    width: 40%;
    max-width: 160px;
    height: auto;
}

@media (min-width: 992px) {
    .stepIcon img {
        width: 160px;
    }
}








/*
====================================================
+ policy_action parts
====================================================
*/

.policyAction .linkBox {
    padding: 20px 25px 25px;
    box-sizing: border-box;
    margin-bottom: 40px;
    background-color: #f8f7f6 !important;
    border-radius: 0 !important
}

@media (max-width: 768px) {
    .policyAction .linkBox {
        margin-bottom: 30px;
        margin-left: 0;
        margin-right: 0
    }
}

@media (min-width: 768px) {
    .policyAction .linkBox {
        margin-bottom: 40px;
        width: 100%
    }
}

.policyAction .link {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    border: 1px solid #ccc;
    border-bottom: none;
}

.policyAction .link dt,
.policyAction .link dd {
    padding: 5px 8px;
}

.policyAction .link dt {
    background: #f5f5f5;
    width: 220px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.policyAction .link dd {
    background: #fff;
    width: calc(100% - 220px);
    border-bottom: 1px solid #ccc;
    margin-bottom: 0rem !important;
}

@media (max-width: 765px) {
    .policyAction .link dt {
        width: 100%;
        border-right: none;
    }

    .policyAction .link dd {
        width: 100%;
    }
}

.policyAction .link a {
    display: inline;
}


.policy_action .tabel_privacy table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 1.5rem !important;
    margin-top: -1rem;
}

.policy_action .tabel_privacy table td {
    border: dashed 1px #e0dfde;
    padding: 1.5rem !important;
}

/* ---- policy&action ------------------------------------------------------- */
div.policy_action {
    padding: 0;
    margin-bottom: 1.75rem;
}

div.policy_action p {
    margin-top: 0;
    margin-bottom: 1.2rem;
}

div.policy_action img {
    display: block;
    margin-bottom: 1rem;
    padding: 0.75rem 0 !important;
}

div.policy_action ul {
    margin-bottom: 0;
}

div.policy_action ul li {
    list-style: none;
    padding-left: 1rem !important;
}

div.policy_action ul li p::before {
    position: absolute;
    left: 32px;
    content: "・";
    color: #0588ce;
    font-size: 1.5rem;
    font-weight: 700 !important;
}

div.policy_action div.table {
    padding: 1rem;
}

/*div.policy_action table {
    margin: 0 1rem !important;
    padding: 1rem !important;
    color: #333;
    vertical-align: top;
    caption-side: bottom;
    border-collapse: collapse;
    word-break: break-all;
    overflow-x: auto;
}*/

/*div.policy_action table thead,
div.policy_action table tbody,
div.policy_action table tr,
div.policy_action table td {
    border: solid 1px #005164;
}*/

div.policy_action table thead th {
    padding: 10px;
    text-align: center;
    background: rgba(0, 81, 100, 0.3);
    border: solid 1px #0588ce;
}

div.policy_action table tbody th {
    padding: 10px;
    text-align: left;
    background: rgba(0, 81, 100, 0.3);
    border: solid 1px #0588ce;
}

div.policy_action table tbody td {
    padding: 10px;
    border: solid 1px #0588ce;
}

/*div.policy_action td:first-child {
    background: rgba(0, 81, 100, 0.3);
}*/

div.policy_action table img {
    border-radius: calc(0.375rem - 1px);
}

div.policy_action table>:not(caption)>*>* {
    padding: 0.5rem 0.5rem;
    border-color: #0588ce;
    border-bottom-width: 1px;
    border-style: solid;
}

div.policy_action div.signature {
    text-align: right;
    padding: 1rem !important;
}

button#cookie-reset,
button#captcha-change {
    background-color: transparent;
    border: none;
    outline: 0;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #0588ce;
    text-decoration: underline;
}

button#captcha-change:hover,
button#captcha-change:focus,
button#cookie-reset:hover,
button#cookie-reset:focus {
    color: #035783 !important;
    text-decoration: underline;
}


/*
====================================================
+ swiper
====================================================
*/
.logo-swiper .swiper-wrapper {
    transition-timing-function: linear;
}

.swiper-pagination-bullet {
    background: #d4cec8;
    opacity: 1;
    width: 12px;
    height: 12px;
}

.swiper-pagination-bullet-active {
    background: #4f4644;
}

.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0;
}

.swiper-button-next,
.swiper-button-prev {
    height: 40px;
    width: 40px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    top: 36%;
}

.swiper-button-prev {
    background-image: url(/assets/images/sw_prev.png);
    left: 0.5rem;
}

.swiper-button-next {
    background-image: url(/assets/images/sw_next.png);
    right: 0.5rem;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    content: none;
}

@media (max-width: 768px) {

    .swiper-button-prev {
        left: -14px !important;
    }

    .swiper-button-next {
        right: -14px !important;
    }
}

@media (min-width: 768px) {

    .swiper-button-next,
    .swiper-button-prev {
        top: 25% !important;
        height: 56px;
        width: 56px;
    }

    .swiper-button-next {
        right: 1rem !important;
    }

    .swiper-button-prev {
        left: 1rem !important;
    }

    .swiper-button-next,
    .swiper-button-prev {
        top: 40% !important;
    }
}

/*
====================================================
■ News newsFilter newsList
====================================================
*/

div#newsList {
    font-size: 1.8rem !important;
}

.newsFilter .accordion-button {
    font-size: 1.8rem !important;
}

.newsList {
    margin: 0;
    padding: 0;
    list-style: none
}

.newsListItem {
    font-size: 2.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1.25em
}

@media (max-width: 992px) {
    .newsListItem {
        font-size: 2rem
    }
}

@media (max-width: 768px) {
    .newsListItem {
        font-size: 1.8rem
    }
}

@media (max-width: 576px) {
    .newsListItem {
        display: block
    }
}

.newsListItem time {
    max-width: 10em;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 10em;
    flex: 0 0 10em
}

.newsListItem a {
    display: block
}

.newsListItem a span {
    margin-right: 10px
}

.badge {
    border-radius: 4px;
    font-size: 1.8rem;
    line-height: 0.8rem;
    margin: 1rem 0.2rem 0.6rem;
    max-height: 2.2rem;
}

.badge.newBadge {
    background: #ff9d00;
    padding-right: 12px;
}

.badge.pdfBadge {
    background-color: #a7a3a1;
}

.badge.failureBadge {
    background-color: #a94442;
}

.badge.maintenanceBadge {
    background-color: #47a942;
}

@media (max-width: 768px) {

    .newBadge,
    .pdfBadge {
        font-size: 1.6rem
    }
}

.page-navi {
    justify-content: center !important
}

.page-navi .page-item {
    margin: 0 0.4rem;
    font-weight: 600;
    line-height: 1.2rem;
}

.page-navi .page-item>a.page-link {
    background-color: #d9d9d9 !important;
    border: none !important;
    color: #fff !important;
    font-size: 1.13rem;
    padding: 1rem;
}

.page-navi .page-item>a.page-link:hover {
    background: #37a0d8 !important;
    color: #fff;
}

.page-navi .page-item.active>a.page-link {
    background-color: #0588ce !important;
    border: none !important;
    color: #fff !important;
    cursor: default;
}



/*
====================================================
+ label is jdmedia parts
====================================================
*/

span[class^="label-"] {
    position: relative;
    display: inline-block;
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 30px;
    height: 30px;
    padding: 0 0.5rem 0 0.8rem;
    margin-bottom: 0;
    z-index: 2;
}

span[class^="label-"]::before,
span[class^="label-"]::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    position: absolute;
    right: -10px;
    z-index: -1;
}

span[class^="label-"]::before {
    top: 0;
}

span[class^="label-"]::after {
    bottom: 0;
}

span[class^=label-jdmedia-] {
    position: absolute;
    display: inline;
    font-weight: 700;
    font-size: .9rem;
    line-height: 30px;
    height: 30px;
    padding: 0 .5rem 0 .8rem;
    margin-bottom: 0;
    z-index: 2;
    top: 10px;
    left: -8px;
    box-shadow:
        0 1.9px 2.5px rgba(0, 0, 0, 0.057),
        0 5px 6.1px rgba(0, 0, 0, 0.076),
        0 10.1px 11.4px rgba(0, 0, 0, 0.086),
        0 19.2px 19.8px rgba(0, 0, 0, 0.092),
        0 38.4px 34.8px rgba(0, 0, 0, 0.1),
        0 101px 74px rgba(0, 0, 0, 0.13);
}

span.label-jdmedia-yl {
    background: #fff513;
    background: linear-gradient(90deg, #fff513, #ffde11 50%);
}

span.label-jdmedia-yl::before {
    border-top: 20px solid #ffde11;
    border-left: 20px solid #ffde11;
}

span.label-jdmedia-yl::after {
    border-bottom: 20px solid #ffde11;
    border-left: 20px solid #ffde11;
}

span.label-jdmedia-gr {
    background: #44d178;
    background: linear-gradient(90deg, #44d178, #44d178 50%);
    color: #fff;
}

span.label-jdmedia-gr::before {
    border-top: 20px solid #44d178;
    border-left: 20px solid #44d178;
}

span.label-jdmedia-gr::after {
    border-bottom: 20px solid #44d178;
    border-left: 20px solid #44d178;
}

span.label-jdmedia-rd {
    background: #dc4d47;
    background: linear-gradient(90deg, #dc4d47, #dc4d47 50%);
    color: #fff;
}

span.label-jdmedia-rd::before {
    border-top: 20px solid #dc4d47;
    border-left: 20px solid #dc4d47;
}

span.label-jdmedia-rd::after {
    border-bottom: 20px solid #dc4d47;
    border-left: 20px solid #dc4d47;
}


/*
====================================================
+ entry-content is news&jdmedia parts
====================================================
*/

.entry-content img.inlineRight {
    max-width: 100%;
    margin: 0;
    display: inline;
}

.entry-content img.textRight {
    text-align: right;
    margin: 0 0 0 1.5rem;
}


.entry-content .listBox {
    padding: 20px 25px;
    padding-bottom: 0;
    box-sizing: border-box;
    margin-bottom: 40px;
    background-color: #f8f7f6 !important;
    border-radius: 0 !important;
}

@media (max-width: 768px) {
    .entry-content .listBox {
        margin-bottom: 30px;
        margin-left: 0;
        margin-right: 0;
    }
}

@media (min-width: 768px) {
    .entry-content .listBox {
        margin-bottom: 40px;
        width: 100%;
    }
}

.entry-content .listBox ul {
    padding-top: 10px !important;
    padding-bottom: 30px !important;
    padding-right: 20px;
    padding-left: 20px;
}

@media (max-width: 767px) {
    .entry-content .listBox ul {
        padding-left: 4px !important;
        padding-right: 4px;
    }
}

.entry-content ul:not([class]) {
    margin-bottom: 0;
}

.entry-content ul>li {
    position: relative;
    display: block;
    margin-bottom: 0.35em;
    padding: 0em 0px 0em 25px;
}

.entry-content ul:not([class]) li:before,
.entry-content ul.wp-block-list li:before,
.entry-content ul.jinlist li:before,
.entry-content ul.wp-block-latest-posts__list li:before,
.entry-content table ul li:before {
    display: block;
    content: "";
    position: absolute;
    top: 0.7em;
    left: 10px;
    width: 6px;
    height: 6px;
    background-color: #2b2b2b;
    border-radius: 100%;
}

.entry-content ul>li:before,
.entry-content ol>li:before {
    background-color: #bc423d !important;
}

.entry-content .noteBox {
    padding: 20px 25px;
    padding-bottom: 0;
    box-sizing: border-box;
    margin-bottom: 40px;
    border: 1px solid #e0dfde !important;
    border-radius: 0 !important;
    background-image: repeating-linear-gradient(0deg, #f8f7f6 0px 1px, transparent 1px 20px), repeating-linear-gradient(90deg, #f8f7f6 0px 1px, transparent 1px 20px);
}

@media (max-width: 768px) {
    .entry-content .noteBox {
        margin-bottom: 30px;
        margin-left: 0;
        margin-right: 0;
    }
}

@media (min-width: 768px) {
    .entry-content .noteBox {
        margin-bottom: 40px;
        width: 100%;
    }
}

.entry-content ul {
    counter-reset: li;
    padding-left: 20px;
    margin-top: 0em;
    padding-bottom: 30px !important;
    padding-right: 20px;
    padding-top: 10px !important;
}

.entry-content ol {
    counter-reset: li;
    padding-left: 20px;
    margin-top: 0em;
    padding-bottom: 30px !important;
    padding-right: 20px;
    padding-top: 10px !important;
}

@media (max-width: 768px) {
    .entry-content .noteBox ol {
        padding-left: 4px !important;
        padding-right: 4px;
    }
}

.entry-content ol:not([class]) {
    margin-bottom: 0;
}

.entry-content ol>li {
    position: relative;
    display: block;
    padding: 0em 0px 0em 25px;
    margin-bottom: 0.5em;
}

.entry-content ol>li:before {
    position: absolute;
    content: "";
    left: 0px;
    height: 20px;
    top: 7px;
    width: 20px;
    border-radius: 10px;
    background-color: #bc423d !important;
}

@media (min-width: 768px) {
    .entry-content ol>li:before {
        top: 6px;
    }
}

.entry-content ol>li:after {
    counter-increment: li;
    content: counter(li);
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0px;
    padding: 0;
    line-height: 0;
    color: #fff;
    text-align: center;
    font-size: 0.65em;
    letter-spacing: 0;
}

@media (max-width: 768px) {
    .entry-content ol>li:after {
        width: 20px;
        height: 20px;
        left: 0px;
        top: 17px;
    }
}

@media (min-width: 768px) {
    .entry-content ol>li:after {
        top: 15px;
    }
}

.entry-content ol li:last-of-type,
.entry-content ul li:last-of-type {
    margin-bottom: 0;
}


.entry-content .overview {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    border: 1px solid #ccc;
    border-bottom: none;
}

.entry-content .overview dt,
.entry-content .overview dd {
    padding: 5px 8px;
}

.entry-content .overview dt {
    background: #f5f5f5;
    width: 150px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.entry-content .overview dd {
    background: #fff;
    width: calc(100% - 150px);
    border-bottom: 1px solid #ccc;
    margin-bottom: 0rem !important;
}


@media (max-width: 765px) {
    .entry-content .overview dt {
        width: 100%;
        border-right: none;
    }

    .entry-content .overview dd {
        width: 100%;
    }
}

.entry-content .overviewFailur,
.entry-content .overviewMainte {
    width: 100%;
}

.entry-content .overviewFailur dt,
.entry-content .overviewMainte dt {
    padding: 5px 8px;
}

.entry-content .overviewFailur dt,
.entry-content .overviewMainte dt {
    padding: 4px 8px 0px;
}

.entry-content .overviewFailur dt:before,
.entry-content .overviewMainte dt:before {
    content: "■";
    width: 30px;
    top: -5px;
    right: -15px;
}

.entry-content .overviewFailur dd,
.entry-content .overviewMainte dd {
    margin: 0rem 1.6rem 1rem;
}


.entry-content span.marker {
    background: linear-gradient(transparent 60%, #fff4b7 0%);
    font-weight: 700;
}

.entry-content span.marker2 {
    background: linear-gradient(transparent 60%, #f2d9d8 0%);
    font-weight: 700;
}

.entry-content span.txtRed {
    font-weight: 700;
    color: #bc423d;
}

.entry-content blockquote {
    margin-top: 40px;
    margin-bottom: 32px;
    font-size: 0.875rem;
    font-weight: 400;
    border-left: 4px solid rgb(234, 234, 239);
    font-style: italic;
    padding: 8px 20px;
}

.entry-content blockquote>p {
    margin: 0;
    padding: 0;
}


/*
====================================================
+ formContents /
====================================================
*/
.formContents h3 {
    color: #005989 !important;
    text-align: center;
    font-size: 3rem;
}

.formContents h4 {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 1rem
}

.formContents h6 {
    font-size: 1.8rem;
    font-weight: 600;
    background-color: #f4f4f4;
    padding: .9rem !important
}

.formContents h6:before {
    content: "▶";
    padding: 0 0 0 4px
}

.form .lead,
.formContents .lead {
    font-size: 1.8rem;
    font-weight: 500;
    display: block;
}

.formStep .stepBox {
    height: 100%;
    position: relative;
    border: 1px solid #48b1ea;
    border-radius: 10px
}

.formStep .stepBox::after{
    content: "";
    position: absolute;
    top: 50%;
    right: -15px;
    transform: translateY(-50%);
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 15px solid #48b1ea;
}
.formStep .stepBox.end::after {
    content: none;
}

.formStep .stepTitle {
    background-color: #e0f6ff;
    padding-top: 1em;
    padding-bottom: .5em;
    border-radius: 10px 10px 0 0;
}
.formStep .stepContent{
    font-size: 1.4rem !important;
    background-color: #fff;
    padding-top: .5em;
    padding-bottom: 1em;
    border-radius: 0 0 10px 10px;
}

@media (max-width: 768px) {
    .formStep .stepBox {
        border-bottom: solid 1px #b1b1b1
    }
}

.formStep i {
    color: #000;
    padding: 0 6px 2px;
    border-radius: 3px;
}

.formStep i.active {
    color: #000;
    background: #FFF;
    mix-blend-mode: difference;
    padding: 0px 8px 4px;
    border-radius: 3px;
}

.formStep .bi:before,
.formStep [class*=" bi-"]:before,
.formStep [class^=bi-]:before {
    color: #000;
    position: relative;
    font-size: 2.2rem;
}

.formStep .stepTitle {
    font-size: 2.4rem;
    font-weight: 700
}

.formStep .stepSubTitle {
    font-size: 1.8rem;
    display: block;
    margin: 15px 17px 0 17px
}

.formSpTitle h3{
    display: none;
}

.formSpTitle .lead {
    font-size: 1.8rem;
    font-weight: 500;
    display: block;
}

@media (max-width: 768px) {
    .formStep i.active {
        padding: 0 6px 3px;
    }

    .formStep .stepTitle {
        font-size: 2rem;
        border-radius: 10px;
    }

    .formStep .stepContent,
    .formStep .stepSubTitle {
        display: none;
    }

    .formSpTitle h3{
        display: block;
    }
}

@media (max-width: 1122px) {
    .formStep .stepSubTitle {
        font-size: 2rem
    }
}


.formContents .personal_caution {
    font-weight: 600;
    color: #0588ce
}

.formContents .personal_caution_caution {
    font-size: 18px;
    font-weight: 700;
    -webkit-animation: Flash1 1s infinite;
    animation: Flash1 1s infinite;
    color: #0588ce
}

@-webkit-keyframes Flash1 {
    50% {
        opacity: 0
    }
}

@keyframes Flash1 {
    50% {
        opacity: 0
    }
}


.formContents .hide {
    display: none
}

.formContents .checkbox label,
.formContents .radio label {
    font-weight: 500;
    min-height: 20px;
    margin-right: 15px;
    margin-bottom: 0;
    padding-left: 15px;
    cursor: pointer
}

.formContents .radio input[type=checkbox],
.formContents .radio input[type=radio] {
    margin-left: -15px
}

.formContents input[type=checkbox],
.formContents input[type=radio] {
    margin: 4px 0 0;
    margin-right: .5em;
    -webkit-transform: scale(1.4);
    transform: scale(1.4)
}

.formContents .idseparator,
.formContents .idseparator2 {
    display: block;
    margin-top: 15px;
    margin-bottom: 10px;
    text-align: right;
    border-bottom: dotted 1px #bfbfbf
}

.formContents .order_warning {
    font-size: 1.5rem;
    display: block;
    margin-top: 40px
}

.formContents .alert-icon {
    position: relative;
    padding-left: 52px
}

.formContents .alert-icon i {
    font-size: 22px;
    position: absolute;
    top: 13px;
    left: 15px;
    width: 30px;
    text-align: center
}

.formContents .clearfix::after,
.formContents .clearfix::before {
    display: table;
    content: ' '
}

.formContents .clearfix::after {
    clear: both
}

.formContents .close {
    cursor: pointer
}

.formContents .modal {
    display: none
}

.formContents .order-product-name {
    font-size: 1.3rem;
    line-height: 1.5;
    margin-bottom: 3px
}

.formControlLg {
    font-size: 2.2rem;
    line-height: 1.5;
    height: calc(1.5em + 1rem + 2px);
    padding: .5rem 1rem;
    border-radius: .3rem
}

.formContents .agreementBox {
    width: 100%;
    height: 340px;
    border: 1px solid #ced4da;
    overflow-y: scroll;
    padding: 1.5rem;
}

.formContents label {
    font-size: 1.8rem;
}

.formContents label.agree {
    font-size: 2.4rem;
}

.formContents .btn {
    letter-spacing: 0.5rem;
}








/*
====================================================
+ priceContents / payContBlock / srvContBlock / sptContBlock
====================================================
*/

.entry-main {
    padding-bottom: 40px;
    border-bottom: 1px solid #343434
}

@media (max-width: 767.98px) {
    .entry-main {
        padding-bottom: 32px
    }
}

@media (max-width: 575.98px) {
    .entry-main {
        padding-bottom: 28px
    }
}

.entry-body {
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
    overflow-wrap: break-word
}

@media (max-width: 767.98px) {
    .entry-body {
        font-size: 1.7rem
    }
}

.entry-body h1,
.entry-body h2,
.entry-body h3,
.entry-body h4,
.entry-body h5,
.entry-body h6 {
    font-weight: 700;
    margin-bottom: .75em
}

.entry-body h1 {
    font-size: 2.6rem
}

.entry-body h2 {
    font-size: 2.4rem
}

.entry-body h3 {
    font-size: 2.2rem
}

.entry-body h4 {
    font-size: 2rem
}

.entry-body h5 {
    font-size: 1.8rem
}

.entry-body h6 {
    font-size: 1.4rem
}

.entry-body p {
    margin-bottom: 3rem
}

.entry-body ol,
.entry-body ul {
    padding-left: 1.5em
}

.entry-body figcaption {
    font-size: 1.2rem;
    margin: 5px 0
}

.entry-body hr {
    clear: both;
    margin-top: 3rem;
    margin-bottom: 3rem
}

.entry-body .alignleft {
    float: left;
    margin-right: 15px;
    margin-bottom: 10px;
    text-align: left
}

.entry-body .alignright {
    float: right;
    margin-bottom: 10px;
    margin-left: 15px;
    text-align: left
}

.entry-body .aligncenter {
    display: block;
    margin: 0 auto;
    margin-bottom: 10px;
    text-align: center
}

.entry-body .aligncenter img,
.entry-body img.aligncenter {
    margin: 0 auto
}

.entry-body a:not(.btn) img {
    pointer-events: none
}

.entry-body .wp-caption {
    display: inline-block;
    width: auto !important;
    margin-bottom: 10px;
    border: none;
    border-radius: 5px
}

.entry-body .wp-caption a:hover img {
    opacity: .8
}

.entry-body .wp-caption-text {
    font-size: 1.3rem;
    font-style: italic;
    margin-top: 5px;
    margin-bottom: 0
}

.entry-body .clear {
    clear: both
}

.entry-body img {
    max-width: 100%;
    height: auto
}

@media (max-width: 767.98px) {

    .entry-body .alignleft,
    .entry-body .alignright {
        display: block;
        float: none;
        margin-right: auto;
        margin-left: auto;
        text-align: left
    }
}

.sweet-alert.swal-wide-contactus {
    right: 0;
    left: 0;
    width: 90%;
    max-width: 600px;
    margin-right: auto;
    margin-left: auto
}

.sweet-alert.swal-wide-contactus>p {
    font-weight: 500;
    padding: 1em;
    text-align: left;
    color: #0588ce
}

.has-error .control-label {
    color: #a94442
}

.has-error .form-control {
    border-color: #a94442
}

.has-error .form-control:focus {
    border-color: #843534;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483
}

.has-error .with-errors {
    font-size: 1.3rem;
    color: #a94442
}

.form h3.formHead3 {
    font-size: 2.4rem;
    line-height: 1.6;
    text-indent: -.1em;
    letter-spacing: .1em;
    margin-bottom: 1em !important;
    background: #f4f4f4;
    padding: .8rem 1.5rem .9rem;
    text-indent: 1em;
}


.form .form-group {
    margin-bottom: 15px
}

.form-control {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.8;
    display: block;
    width: 100%;
    height: calc(1.76em + .75rem + 2px);
    padding: .375rem .75rem;
    -webkit-transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
    color: #495057;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    background-color: #fff;
    background-clip: padding-box;
}

.form textarea.form-control {
    line-height: 1.4;
    height: auto
}
.form .control-label {
    font-size: 1.8rem;
    line-height: 1.5
}
.form .form-control::placeholder {
    opacity: 1;
    color: #6c757d
}
.form .readonly {
    border: none !important;
}

.form .require {
    font-size: 1.6rem;
    color: #ec1b05 !important;
}

.form .example{
    font-size: 1.6rem;
    color: #0588ce !important;
}

.form .caution,
.form .cautionRadio {
    font-size: 1.6rem;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #ec1b05
}

.form .explanation {
    font-size: 1.6rem;
    color: #6c757d
}

.form .explanationBox{
    border: 1px solid #cccccc;
    border-radius: 10px;
}

.form .bi:before,
.form [class*=" bi-"]:before,
.form [class^=bi-]:before {
    position: relative;
    font-size: 2.2rem;
}


.formContents .form_caution3 {
    font-size: 1.6rem;
    color: #5bc0de
}


.form .form-control:disabled,
.form .form-control[readonly] {
    opacity: 1;
    background-color: #ededed
}
@media (min-width: 768px) {
    .form.form-horizontal .control-label {
        padding-top: 6px;
        text-align: right
    }

    .form.form-horizontal .radio {
        padding-top: 2px
    }

    .form.form-horizontal .checkbox {
        padding-top: 2px
    }
}

/*
====================================================
+ priceContents / payContBlock / srvContBlock / sptContBlock
====================================================
*/

.sptTitleIcon {
    width: 64px;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
}

@media (min-width: 576px) {
    .sptTitleIcon {
        width: 100px;
        top: -24px;
        left: -16px;
        right: auto;
    }
}

@media (min-width: 992px) {
    .sptTitleIcon {
        width: 120px;
    }
}

.srvContBlock,
.prcContBlock,
.sptContBlock {
    position: relative;
    margin-bottom: clamp(2.5rem, 0.221rem + 9.724vw, 8.3rem);
    padding-top: clamp(3.75rem, 2.99rem + 3.241vw, 5rem);
    padding-bottom: clamp(2rem, 0.177rem + 7.78vw, 5rem);
}

.sptActBlock01 {
    background: url(/assets/images/support/icon_spt_ac01.png) no-repeat right 12px top 14px;
    background-size: 48px auto;
}

.sptActBlock02 {
    background: url(/assets/images/support/icon_spt_ac02.png) no-repeat right 12px top 14px;
    background-size: 48px auto;
}

.sptActBlock03 {
    background: url(/assets/images/support/icon_spt_ac03.png) no-repeat right 12px top 14px;
    background-size: 48px auto;
}

@media (min-width: 768px) {

    .sptActBlock01,
    .sptActBlock02,
    .sptActBlock03 {
        background-size: 76px auto;
        background-position: center top 28px;
        padding-top: 100px !important;
    }
}

.sptTextQst {
    background: url(/assets/images/support/icon_spt_txtQ.png) no-repeat left 16px top 18px;
    background-size: 18px auto;
    padding-left: 4.8rem !important;
    font-size: clamp(1.8rem, 0.924rem + 0.324vw, 2rem) !important;
}

.sptTextAns {
    background: url(/assets/images/support/icon_spt_txtA.png) no-repeat left 16px top 8px;
    background-size: 18px auto;
    padding-left: 4.8rem !important;
}

@media (min-width: 768px) {
    .sptTextQst {
        padding: 2rem !important;
    }

    .sptTextQst,
    .sptTextAns {
        background-position: left 24px top 20px;
        background-size: 30px auto;
        padding-left: 8rem !important;
    }

    .sptTextAns {
        background-position: left 24px top 4px;
        margin-top: 2.8rem;
    }
}

.sptTextQst a {
    cursor: pointer;
    position: relative;
    display: block;
    padding: 0 6rem 0 0;
    cursor: pointer;
    text-decoration: none;
}

.sptTextQst a::after,
.sptTextQst a::before {
    position: absolute;
    top: 50%;
    right: 6px;
    content: '';
    background: #666
}

@media (max-width: 768px) {

    .sptTextQst a::after,
    .sptTextQst a::before {
        right: 20px
    }
}

@media (max-width: 768px) {

    .sptTextQst a::after,
    .sptTextQst a::before {
        right: 15px
    }
}

.sptTextQst a::before {
    width: 22px !important;
    height: 2px !important
}

.sptTextQst a::after {
    width: 2px !important;
    height: 22px !important;
    margin-top: -10px;
    margin-right: 10px;
    -webkit-transition: -webkit-transform .2s ease-out 0s;
    transition: -webkit-transform .2s ease-out 0s;
    transition: transform .2s ease-out 0s;
    transition: transform .2s ease-out 0s, -webkit-transform .2s ease-out 0s
}

.sptTextQst a.collapsed::after {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg)
}

.sptTextAns p {
    margin-bottom: 1.6rem;
}

.sptTextAns .listNumber {
    padding-left: 4rem;
    list-style-type: decimal;
    margin: 1.2rem 0;
}

.sptTextAns h5 {
    margin: 1.2rem 0 0.6rem;
}

.sptTextAns h5:before {
    padding: 0 4px 0 0 !important;
    margin-left: -4px;
}

[class$=ContBlock] h3,
.priceContents h3 {
    color: #005989 !important;
    text-align: center;
    font-size: 3rem;
}

[class$=ContBlock] h4,
.payContBlock h4 {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.priceContents h4,
.sptContBlock h4 {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.sptContBlock h4 {
    margin-bottom: 1.6rem !important;
}

.sptContBlock h5 {
    font-size: 2.2rem;
    font-weight: 600;
}

.sptContBlock h5::before {
    content: '▶';
    padding: 0px 0px 0px 4px;
}

.sptContBlock h5.appName::before {
    content: '';
}

.sptContBlock.btn {
    width: 100%;
    border: 1px solid #0588ce;
    border-radius: 12px !important;
}

.sptContBlock.btn h3 {
    color: #005989 !important;
    text-align: center;
    font-size: 3rem;
}

.sptContBlock.btn a {
    text-decoration: none;
}

.sptContBlock.btn p {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 3rem;
}

.sptContBlock.btn img {
    position: absolute;
    width: 180px;
    display: block;
    right: 10px;
    bottom: 10px;
    opacity: 0.3;
}

@media (max-width: 576px) {
    .sptContBlock.btn img {
        width: 80px;
        bottom: 4px;
    }
}

@media (min-width: 576px) and (max-width: 768px) {
    .sptContBlock.btn img {
        width: 120px;
    }
}

@media (min-width: 768px) and (max-width: 992px) {
    .sptContBlock.btn img {
        width: 160px;
        bottom: 10px;
    }
}

.sptContBlock .nav-tabs {}

.sptContBlock .nav-link {
    font-size: 2.2rem;
    font-weight: 500;
    background: #e0f6ff;
    color: #666;
    padding: 0.5em 1.5em;
    border-bottom: 1px solid #0588ce;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
}

.sptContBlock a.nav-link:focus,
.sptContBlock a.nav-link:hover {
    text-decoration: none;
    border-bottom: none !important;
    opacity: 0.8;
}

.sptContBlock .nav-link.active {
    background: #fff;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
}

.sptContBlock a.nav-link.active:focus,
.sptContBlock a.nav-link.active:hover {
    text-decoration: none;
    border-bottom: 1px solid #fff !important;
    opacity: 1;
}

.priceContents .rentalItemBox {
    padding: 5rem 0;
}

.priceContents .rentalItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 3rem 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.priceContents .rentalItemImg {
    max-width: 38%;
    margin-bottom: 0;
    padding-right: 20px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 38%;
    flex: 0 0 38%
}

.priceContents .rentalItemImg img {
    max-width: 100%;
    height: auto
}

.priceContents .rentalItemDesc {
    max-width: 62%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 62%;
    flex: 0 0 62%
}

.priceContents .rentalItemDesc .itemSubName {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    color: #0588ce;
    margin-bottom: 0.5rem;
}

.priceContents .rentalItemDesc .itemPrice {
    line-height: 1.3;
    padding: 5px 10px;
    color: #0588ce;
    background: #e0f6ff;
    margin-bottom: 0.5rem;
}

.priceContents .rentalItemDesc .itemPrice .large {
    font-size: 2.6rem;
    font-weight: 700;
    color: #005989 !important;
}

.priceContents hr.bar {
    margin: 0;
}

@media (max-width: 576px) {
    .priceContents .rentalItem {
        display: block
    }

    .priceContents .rentalItemImg {
        max-width: 80%;
        margin: 0 auto;
        padding-right: 0;
        text-align: center
    }

    .priceContents .rentalItemDesc {
        max-width: inherit
    }
}

.priceMainLead {
    padding-top: 3rem;
    padding-bottom: 3rem;
    text-shadow: 0 0 5px hsla(0, 0%, 100%, .5), 0 0 10px hsla(0, 0%, 100%, .5), 0 0 20px #fff
}

.priceMainLead h3 {
    font-size: 4rem;
    line-height: 1.6;
    margin-bottom: .4em;
    text-align: center;
    text-indent: -.1em;
    letter-spacing: .1em;
}

.priceBoxWapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    font-weight: 700;
}

.priceBox {
    line-height: 1;
    height: 140px;
    max-height: 160px;
    margin-bottom: 1em;
}

.priceBox .priceName {
    font-size: 2.2rem;
    margin: 0;
}

.priceBox .amount {
    font-size: 8rem;
    font-weight: 700;
}

.priceBox small {
    font-size: 2.8rem;
    margin-top: 2em;
}

.priceBoxWapper .priceNote {
    font-size: 1.4rem;
    font-weight: 400;
    margin-bottom: 0 !important;
    text-shadow: none;
}

@media (max-width: 768px) {
    .priceBox {
        margin: 20px auto 0;
        text-align: left;
        height: 120px;
        width: 320px;
    }

    .priceBox .priceName {
        font-size: 1.8rem;
    }

    .priceBox .amount {
        font-size: 7.2rem;
    }

    .priceBoxWapper .priceNote {
        width: 320px;
        margin: 0 auto;
    }
}

@media (min-width: 768px) {
    .priceBox {
        margin: 20px 0 0;
        text-align: left;
        height: 120px;
    }

    .priceBox .amount {
        font-size: 7.2rem;
    }
}



.priceTable {
    margin: 0 0 15px 0;
    border-collapse: collapse;
    width: 100%;
    caption-side: bottom;
}

.priceTable tbody {
    border-color: gray;
    border-style: solid;
    border-width: 0;
}

.priceTable td,
.priceTable th {
    font-weight: 500;
    padding: 15px 20px;
    vertical-align: middle;
    border: 1px solid #bfbfbf;
}

.priceTable td,
.priceTable th {
    padding: 10px 20px;
    background: #fff;
}

.priceTable th {
    font-weight: 500;
    line-height: 1.6;
    background: #ededed;
    width: 25%;
}

@media (min-width: 576px) and (max-width: 768px) {

    .priceTable td,
    .priceTable th {
        font-size: 1.6rem;
        padding: 5px
    }
}

@media (min-width: 768px) and (max-width: 992px) {

    .priceTable td,
    .priceTable th {
        font-size: 1.8rem;
        padding: 10px
    }
}

@media (min-width: 992px) {

    .priceTable td,
    .priceTable th {
        font-size: 2rem
    }
}


.lnpContBlock .lnpIntroPict img {
    width: 100%;
    max-width: 500px;
}

.payContBlock .payIntroPict img {
    max-width: 400px;
}


@media (max-width: 576px) {
    .payContBlock .payIntroPict img {
        max-width: 70%;
    }
}

.payContBlock .payTimingPict {
    max-width: 700px;
}

.payContBlock .paySchePict {
    max-width: 780px;
}


.lnpPriceWrap {
    position: relative;
    max-width: 960px;
    margin: 0 auto;
}

.lnpPriceWrap img:first-child {
    width: 16%;
    max-width: 80px;
    height: auto;
    position: absolute;
    top: -12px;
    left: -12px;
}

@media (min-width: 992px) {
    .lnpPriceWrap img:first-child {
        top: -16px;
        left: -16px;
    }
}

.lnpPriceTable {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    border-top: 1px solid #b7b7b7;
}

.lnpPriceTable th,
.lnpPriceTable td {
    border-bottom: 1px solid #b7b7b7;
    font-weight: normal;
    line-height: 1;
    padding: 1rem;
}

.lnpPriceTable th {
    background: #f0f0f0;
    width: 40%;
    text-align: center;
}

.lnpPriceTable td {
    width: 60%;
}

.txtNum {
    font-size: 140%;
}

@media (min-width: 992px) {
    .lnpPriceTable td {
        padding-left: 3rem;
    }
}

h4.lnpStepTitle {
    position: relative;
    padding: 0.8rem 0;
    font-size: clamp(2.0rem, 1.8rem + .81vw, 2.4rem);
}

/*1.8rem,
1.6rem+0.81vw,
2.2rem*/

@media (min-width: 992px) {
    h4.lnpStepTitle {
        padding: 1.2rem 1.6rem 1.2rem 92px;
    }
}

.lnpStepTitle img {
    width: 50px;
    height: auto;
    position: absolute;
    top: -8px;
    left: -10px;
}

@media (min-width: 768px) {
    .lnpStepTitle img {
        width: 84px;
        left: -18px;
    }
}

.lnpStepIcon img {
    width: 40%;
    max-width: 160px;
    height: auto;
}

@media (min-width: 992px) {
    .lnpStepIcon img {
        width: 160px;
    }
}

.appOuter {
    display: flex;
    flex-direction: column;

}

.appBox {
    padding: 27px;
    text-align: left;
    border: 2px solid #0588ce;
    border-radius: 10px;
    background: #fff;
    -webkit-box-shadow: 4px 4px 4px rgba(0, 0, 0, .15);
    box-shadow: 4px 4px 4px rgba(0, 0, 0, .15);
    flex-grow: 1;
}

.appType {
    margin-bottom: 2rem;
    text-align: center;
    color: #fff;
    border-radius: 50px;
}

.appType.Free {
    background-color: #ff9d00 !important;
}

.appType.Chargeable {
    background-color: #0588ce !important;
}

.appItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.appItem figure {
    max-width: 68px;
    margin-right: 15px;
    margin-bottom: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 68px;
    flex: 0 0 68px;
}

.appItem .appDesc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.appDesc .appSubName {
    margin: 0;
    margin-bottom: .25em;
    letter-spacing: .05em;
}

.appDesc .appName {
    font-size: 2.2rem;
    line-height: 1.5;
    clear: both;
    margin: 0;
    letter-spacing: .05em;
}


.appDownload {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-evenly;
}

.appDownload a {
    margin: 0 5px;
    -ms-flex-negative: 1;
    flex-shrink: 1;
}

.appDownload img {
    height: 54px;
}

.appGuides {
    width: 25em;
    margin: 0;
    padding: 0 10px;
    list-style: none;
}

.appGuides li {
    margin-top: 2rem;
}

.appGuides li a {
    font-size: 1.8rem;
    line-height: 1.5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 8px 35px;
    color: currentColor;
    border-radius: 6px;
    background: #e3e3e3;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.appGuides li a {
    text-decoration: none;
}

.appGuides li a:focus,
.appGuides li a:hover {
    text-decoration: underline;
}

.appGuides li a em {
    font-size: 1.8rem;
    font-style: normal;
    display: inline-block;
    margin-left: 5px;
    padding: 0 8px;
    color: #fff;
    border-radius: 4px;
    background: #343434;
    width: 8rem;
}


.appGuides li a em::after {
    content: "";
    display: inline;
    right: 7rem;
    margin: 2px 4px;
    padding: 0 1.4rem;
    opacity: .9
}

.appGuides li a em::after {
    background: url(/assets/images/icon/icon_download.png) no-repeat;
    background-size: contain;
}

.docsDownload {
    width: 25em;
    margin: 0;
    padding: 0 10px;
    list-style: none;
}

.docsDownload li {
    margin-top: 2rem;
}

.docsDownload li a {
    font-size: 1.8rem;
    line-height: 1.5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 8px 35px;
    color: currentColor;
    border-radius: 6px;
    background: #e3e3e3;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.docsDownload li a {
    text-decoration: none;
}

.docsDownload li a:focus,
.docsDownload li a:hover {
    text-decoration: underline;
}

.docsDownload li a em {
    font-size: 1.8rem;
    font-style: normal;
    display: inline-block;
    margin-left: 5px;
    padding: 0 8px;
    color: #fff;
    border-radius: 4px;
    background: #343434;
    width: 8rem;
}

.docsDownload li a em::after {
    content: "";
    display: inline;
    right: 7rem;
    margin: 2px 4px;
    padding: 0 1.4rem;
    opacity: .9
}

.docsDownload li a em::after {
    background: url(/assets/images/icon/icon_download.png) no-repeat;
    background-size: contain;
}



.appSupps {
    flex-grow: 75;
}



@media (max-width: 768px) {
    .appBox {
        display: block;
    }
}

@media (max-width: 992px) {
    .appDownload img {
        height: 60px;
    }
}
dl.detail {
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 80%;
    border: 1px solid #ccc;
    border-bottom: none
}

dl.detail dd,
dl.detail dt {
    padding: 5px 8px
}

dl.detail dt,
dl.detail dd.head {
    background: #f5f5f5;
    font-weight: 700
}

dl.detail dt:first-child,
dl.detail dd.head {
    text-align: center;
}

dl.detail dt {
    width: calc(100% - 50%);
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc
}

dl.detail dd {
    background: #fff;
    width: calc(100% - 50%);
    border-bottom: 1px solid #ccc;
    margin-bottom: 0 !important
}

@media (max-width: 768px) {
    dl.detail {
        width: 100%;
    }

    dl.detail dt {
        width: 50%;
        border-right: none
    }

    dl.detail dd {
        width: 50%
    }
}

dl.areaDetail {
    width: 100%;
    border: 1px solid #ccc;
    border-bottom: none
}

dl.areaDetail dd,
dl.areaDetail dt {
    padding: 5px 8px
}

dl.areaDetail dt,
dl.areaDetail dd.head {
    background: #f5f5f5;
    font-weight: 700
}

dl.areaDetail dd.head {
    text-align: center;
}

dl.areaDetail dt {
    width: 100%;
    border-bottom: 1px solid #ccc;
}

dl.areaDetail dd {
    background: #fff;
    width: 100%;
    border-bottom: 1px solid #ccc;
    margin-bottom: 1rem !important
}
dl.numberDetail {
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    border: 1px solid #ccc;
    border-bottom: none
}


dl.numberDetail div {
    display: contents;
    width: 100%;
}

dl.numberDetail dd,
dl.numberDetail dt {
    padding: 5px 8px
}

dl.numberDetail dt,
dl.numberDetail dd.head {
    background: #f5f5f5;
    font-weight: 700
}

dl.numberDetail dt:first-child,
dl.numberDetail dd.head {
    text-align: center;
}

dl.numberDetail dt {
    width: calc(100% - 80%);
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc
}

dl.numberDetail dd {
    background: #fff;
    width: calc(100% - 70%);
    border-bottom: 1px solid #ccc;
    margin-bottom: 0 !important
}

dl.numberDetail dd:nth-child(3n) {
    width: calc(100% - 50%);
    border-left: 1px solid #ccc;
}

@media (max-width: 768px) {
    dl.numberDetail {
        width: 100%;
    }

    dl.numberDetail dt {
        width: 30%;
        border-right: none
    }

    dl.numberDetail dd {
        width: 20%;
    }
}

.jmdnCont960Wrap h6 {
    font-size: 1.8rem;
    font-weight: 600;
    background-color: #f4f4f4;
    padding: 0.9rem !important;
}

.jmdnCont960Wrap h6:before {
    content: "▶";
    padding: 0 0 0 4px
}

dl.companyCertificate {
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    border: 1px solid #ccc;
    border-bottom: none
}

dl.companyCertificate dd,
dl.companyCertificate dt {
    padding: 15px 20px
}

dl.companyCertificate dt {
    background: #f5f5f5;
    font-weight: 700
}

dl.companyCertificate dt {
    width: 30%;
    border-bottom: 1px solid #ccc;
}

dl.companyCertificate dd {
    background: #fff;
    width: calc(100% - 30%);
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-bottom: 0 !important;
}

.personalCertificate {
    position: relative
}

@media(min-width: 768px) and (max-width:1200px) {
    .personalCertificate {
        border: 1px solid rgba(5, 136, 206, .4);
        border-radius: 12px;
        width: 100%;
        padding: 2.7777777778vw 0
    }
}

@media(min-width: 1200px) {
    .personalCertificate {
        border: 1px solid rgba(5, 136, 206, .4);
        border-radius: 12px;
        max-width: 100%;
        width: 100%;
        padding: 20px 30px;
    }
}

.importantBox {
    padding: 20px 30px;
    color: #a94442;
    background: #fae7e7;
}

.supplementaryBox {
    padding: 20px 30px;
}

.supplementaryBox span._pill,
.importantBox span._pill {
    font-size: 80%;
    font-weight: 400;
    margin-bottom: 8px;
    padding: 2px 12px;
    color: #fff;
    border-radius: 2em;
    background: #0588ce
}




.sptContBlock .nav2 {
    margin-right: -10px;
    margin-left: -10px
}

.sptContBlock .nav2Item {
    margin-bottom: 30px
}

@media (max-width: 1012px) {
    .nav2Item {
        margin-bottom: 20px;
        padding-right: 10px;
        padding-left: 10px
    }
}

@media (max-width: 576px) {
    .nav2Item {
        margin-bottom: 10px;
        padding-right: 5px;
        padding-left: 5px
    }
}

.nav2Item label {
    font-size: 2.4rem;
    color: #0588ce;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    min-height: 4em;
    padding: 5px 5px;
    text-align: center;
    border: 2px solid #0588ce;
    border-radius: .8rem;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(222, 244, 255, 0)), to(#def4ff));
    background: linear-gradient(to bottom, rgba(222, 244, 255, 0) 50%, #def4ff 100%);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer
}

.nav2Item input[type="radio"] {
    display: none;
}

.nav2Item input[type="radio"]:checked+label {
    background: #0588ce;
    color: #ffffff;
}



.nav2Item a,
.nav2Item a:focus,
.nav2Item a:hover {
    text-decoration: none
}

.nav2Item a.active {
    color: #fff;
    background: #0588ce
}

@media (max-width: 1011.98px) {
    .nav2Item a {
        font-size: 2rem;
        min-height: 3em
    }
}

@media (max-width: 767.98px) {
    .nav2Item a {
        font-size: 1.8rem
    }
}

@media (max-width: 575.98px) {
    .nav2Item a {
        font-size: 1.5rem
    }
}


.functionList {
    justify-content: space-evenly;
}

.functionChild {
    position: relative
}

@media (max-width: 768px) {
    .functionList {
        width: 100%
    }
}

@media(min-width: 768px) and (max-width:1200px) {
    .functionChild {
        border: 1px solid rgba(5, 136, 206, .4);
        border-radius: 12px;
        width: 22%;
        padding: 2.7777777778vw 0
    }
}

@media(min-width: 1200px) {
    .functionChild {
        border: 1px solid rgba(5, 136, 206, .4);
        border-radius: 12px;
        max-width: 33%;
        width: 30%;
        padding: 30px 4px
    }
}

.functionList .functionIcon {
    background-color: #0588ce;
    border-radius: 26px;
    width: 40px;
    height: 40px;
    display: inline-block;
}

.functionList .bi:before,
.functionList[class*=" bi-"]:before,
.functionList[class^=bi-]:before {
    color: #fff;
    top: 2px;
    left: 0px;
    position: relative;
    font-size: 2.2rem;
}

.functionTitle {
    color: #0078c5;
    font-weight: 700;
    line-height: 1.125em
}

@media (max-width: 767px) {
    .functionTitle {
        font-size: 2.6rem;
        margin-left: 4.6vw;
        text-align: left
    }
}

@media(min-width: 768px) and (max-width:1200px) {
    .functionTitle {
        display: flex;
        flex-flow: wrap;
        align-items: center;
        justify-content: center;
        flex-grow: 1;
        margin-bottom: 2.38vw;
        font-size: 2.1rem;
        height: 2.25em;
        text-align: center
    }
}

@media(min-width: 1200px) {
    .functionTitle {
        display: flex;
        flex-flow: wrap;
        align-items: center;
        justify-content: center;
        flex-grow: 1;
        margin-bottom: 30px;
        font-size: 2.6rem;
        height: 2.25em;
        text-align: center
    }
}

.functionText {
    font-weight: 500;
    color: #424242;
    line-height: 1.4em
}

@media (max-width: 767px) {
    .functionText {
        font-size: 1.6rem;
        text-align: left
    }
}

@media(min-width: 768px) and (max-width:1200px) {
    .functionText {
        font-size: 1.8rem;
        margin: 1.98vw 1.5873015873vw 0
    }
}

@media(min-width: 1200px) {
    .functionText {
        margin: 30px 20px 0;
        font-size: 2rem;
        line-height: 1.8em
    }
}




/*
====================================================
+ pbx parts not use
====================================================
*/

.cloudPriceNum {
    font-weight: 700;
    font-size: 1.4rem;
}

.cloudPriceNum .num {
    color: #bc423d;
    font-size: 2.5em;
    line-height: 1.2;
    margin-right: 2px;
}

.modal-header {
    align-items: center;
    justify-content: space-between;
}


.caseArticleBlock div.pict {
    text-align: center !important;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    padding-right: 1rem !important;
    padding-left: 1rem !important;
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
    margin-bottom: clamp(2.5rem, 1.486rem + 4.32vw, 5rem) !important;
}

.caseArticleBlock img {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}

.sample h2.parts {
    color: #444 !important;
    border-bottom: dashed 2px #6594e0 !important;
    background-color: #e3e3e3 !important;
    padding: 0.6rem !important;
}

.sample h3.parts {
    color: #6594e0 !important;
    border: solid 3px #6594e0 !important;
    padding: 0.2em 0.4em !important;
    border-radius: 0.5em !important;
    background: #fff !important;
    display: inline-block;
    margin: 1.2rem 0.2rem 1rem;
}

.sample pre {
    word-wrap: break-word;
    white-space: pre-wrap;
}

.sample pre.code {
    font-size: 1.2rem;
    margin: 0 0 1.5rem;
    padding: 1rem 1rem;
    background-color: #364549;
    color: #e3e3e3;
}

.sample p.sampleTittle {
    font-size: 1.2rem;
    margin: 0 0 1.5rem;
    padding: 0;

}

.sample .snsButtonBlock ol.smaple li {
    list-style-type: none !important;
}

.sample .snsButtonBlock ol.smaple li::before {
    content: none;
}

.sample .snsButtonBlock ol.smaple li::after {
    content: none;
}

.sample .swiper h2 {
    font-size: 13px;
    line-height: 1.3rem;
    font-weight: 500 !important;
    border-bottom: 0 none none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.devLocal {
    border: #bc423d 1px solid;
    border-radius: 5px;
    padding: 0 15px;
}

.devLocal code {
    border: 1px solid #999999;
    background: #eee;
    padding: 1px 3px;
    color: #bc423d;
    border-radius: 4px;
}

.devLocal.pageNav {
    padding: 4rem;
    align-content: space-around;
}