@charset "utf-8";
/*==============================
    変数設定
==============================*/
/* 幅の基準 */
:root {
    --widthBase : 1920px;
}
@media only screen and (max-width:1920px){
    :root {
        --widthBase : 100vw;
    }
}
@media only screen and (max-width:1400px){
    :root {
        --widthBase : 1400px;
    }
}
@media only screen and (max-width:767px){
    :root {
        --widthBase : 375px;
    }
}
@media only screen and (max-width:374px){
    :root {
        --widthBase : 100vw;
    }
}
:root {
    /* フッターの上の余白 */
    --footerPc: 150px;
    --footerSp: 100px;
    --footerSpMain: 0;

     /* フォントサイズ（PC） */
    --pcFontSize10: 10px;
    --pcFontSize11: 11px;
    --pcFontSize12: 12px;
    --pcFontSize13: 13px;
    --pcFontSize14: 14px;
    --pcFontSize15: 15px;
    --pcFontSize16: 16px;
    --pcFontSize17: 17px;
    --pcFontSize18: 18px;
    --pcFontSize19: 19px;
    --pcFontSize20: 20px;
    --pcFontSize22: 22px;
    --pcFontSize24: 24px;
    --pcFontSize26: 26px;
    --pcFontSize28: 28px;
    --pcFontSize30: 30px;
    --pcFontSize32: 32px;
    --pcFontSize34: 34px;
    --pcFontSize36: 36px;
    --pcFontSize38: 38px;
    --pcFontSize40: 40px;
    --pcFontSize42: 42px;
    --pcFontSize46: 46px;
    --pcFontSize50: 50px;
    --pcFontSize54: 54px;
    --pcFontSize56: 56px;
    --pcFontSize70: 70px;
    --pcFontSize80: 80px;
    --pcFontSize100: 100px;

    /* line-height（PC） */
    --pcLineHeight10_15: 1.5;
    --pcLineHeight10_25: 2.5;
    --pcLineHeight11_14: 1.4;
    --pcLineHeight12_12: 1.2;
    --pcLineHeight12_18: 1.8;
    --pcLineHeight13_15: 1.5;
    --pcLineHeight13_17: 1.7;
    --pcLineHeight13_18: 1.8;
    --pcLineHeight13_2: 2;
    --pcLineHeight13_27: 2.7;
    --pcLineHeight14_16: 1.6;
    --pcLineHeight14_17: 1.7;
    --pcLineHeight14_18: 1.87;
    --pcLineHeight14_19: 1.9;
    --pcLineHeight14_2: 2;
    --pcLineHeight14_25: 2.5;
    --pcLineHeight15_14: 1.4;
    --pcLineHeight15_17: 1.7;
    --pcLineHeight15_2: 2;
    --pcLineHeight16_16: 1.6;
    --pcLineHeight16_175: 1.75;
    --pcLineHeight16_18: 1.8;
    --pcLineHeight16_2: 2;
    --pcLineHeight16_225: 2.25;
    --pcLineHeight16_25: 2.5;
    --pcLineHeight17_13: 1.3;
    --pcLineHeight18_13: 1.3;
    --pcLineHeight18_17: 1.7;
    --pcLineHeight18_2: 2;
    --pcLineHeight18_25: 2.5;
    --pcLineHeight20_16: 1.6;
    --pcLineHeight20_17: 1.7;
    --pcLineHeight20_18: 1.8;
    --pcLineHeight22_15: 1.5;
    --pcLineHeight22_32: 3.2;
    --pcLineHeight24_12: 1.2;
    --pcLineHeight26_12: 1.2;
    --pcLineHeight28_13: 1.3;
    --pcLineHeight28_17: 1.7;
    --pcLineHeight30_13: 1.3;
    --pcLineHeight30_2: 2;
    --pcLineHeight32_13: 1.3;
    --pcLineHeight34_16: 1.6;
    --pcLineHeight36_15: 1.5;
    --pcLineHeight36_19: 1.9;
    --pcLineHeight38_2: 2;
    --pcLineHeight24_16: 1.6;
    --pcLineHeight40_145: 1.45;
    --pcLineHeight42_2: 2;
    --pcLineHeight50_16: 1.6;
    --pcLineHeight100_11: 1.1;


    /* letter-spacing（PC） */
    --pcLetterSpacing10_05: .5px;
    --pcLetterSpacing11_1: 1px;
    --pcLetterSpacing12_05: .5px;
    --pcLetterSpacing12_1: 1px;
    --pcLetterSpacing13_05: .5px;
    --pcLetterSpacing14_05: .5px;
    --pcLetterSpacing14_1: 1px;
    --pcLetterSpacing14_2: 2px;
    --pcLetterSpacing15_05: .5px;
    --pcLetterSpacing15_1: 1px;
    --pcLetterSpacing16_05: .5px;
    --pcLetterSpacing16_1: 1px;
    --pcLetterSpacing16_2: 2px;
    --pcLetterSpacing17_05: .5px;
    --pcLetterSpacing18_1: 1px;
    --pcLetterSpacing18_2: 2px;
    --pcLetterSpacing19_05: .5px;
    --pcLetterSpacing20_05: .5px;
    --pcLetterSpacing20_1: 1px;
    --pcLetterSpacing20_15: 1.5px;
    --pcLetterSpacing20_2: 2px;
    --pcLetterSpacing22_1: 1px;
    --pcLetterSpacing24_1: 1px;
    --pcLetterSpacing24_4: 4px;
    --pcLetterSpacing26_1: 1px;
    --pcLetterSpacing26_15: 1.5px;
    --pcLetterSpacing26_18: 1.8px;
    --pcLetterSpacing26_2: 2px;
    --pcLetterSpacing28_05: .5px;
    --pcLetterSpacing28_1: 1px;
    --pcLetterSpacing28_3: 3px;
    --pcLetterSpacing30_4: 4px;
    --pcLetterSpacing30_6: 6px;
    --pcLetterSpacing32_3: 3px;
    --pcLetterSpacing34_1: 1px;
    --pcLetterSpacing34_2: 2px;
    --pcLetterSpacing34_4: 4px;
    --pcLetterSpacing36_25: 2.5px;
    --pcLetterSpacing36_35: 3.5px;
    --pcLetterSpacing36_4: 4px;
    --pcLetterSpacing36_7: 7px;
    --pcLetterSpacing36_8: 8px;
    --pcLetterSpacing36_15: 15px;
    --pcLetterSpacing40_2: 2px;
    --pcLetterSpacing40_25: 2.5px;
    --pcLetterSpacing42_2: 2px;
    --pcLetterSpacing46_2: 2px;
    --pcLetterSpacing50_15: 1.5px;
    --pcLetterSpacing50_2: 2px;
    --pcLetterSpacing54_3: 3px;
    --pcLetterSpacing56_05: .5px;
    --pcLetterSpacing70_15: 1.5px;
    --pcLetterSpacing80_45: 4.5px;
    --pcLetterSpacing100_4: 4px;

    /* フォントサイズ（SP）*/
    --spFontSize10: calc((10 / 375) * var(--widthBase));
    --spFontSize11: calc((11 / 375) * var(--widthBase));
    --spFontSize12: calc((12 / 375) * var(--widthBase));
    --spFontSize13: calc((13 / 375) * var(--widthBase));
    --spFontSize14: calc((14 / 375) * var(--widthBase));
    --spFontSize15: calc((15 / 375) * var(--widthBase));
    --spFontSize16: calc((16 / 375) * var(--widthBase));
    --spFontSize17: calc((17 / 375) * var(--widthBase));
    --spFontSize18: calc((18 / 375) * var(--widthBase));
    --spFontSize20: calc((20 / 375) * var(--widthBase));
    --spFontSize22: calc((22 / 375) * var(--widthBase));
    --spFontSize24: calc((24 / 375) * var(--widthBase));
    --spFontSize26: calc((26 / 375) * var(--widthBase));
    --spFontSize28: calc((28 / 375) * var(--widthBase));
    --spFontSize30: calc((30 / 375) * var(--widthBase));
    --spFontSize32: calc((32 / 375) * var(--widthBase));
    --spFontSize38: calc((38 / 375) * var(--widthBase));

    /* line-height（SP） */
    --spLineHeight10_13: 1.3;
    --spLineHeight10_14: 1.4;
    --spLineHeight10_15: 1.5;
    --spLineHeight10_16: 1.6;
    --spLineHeight10_18: 1.8;
    --spLineHeight11_12: 1.2;
    --spLineHeight11_13: 1.3;
    --spLineHeight11_15: 1.5;
    --spLineHeight11_16: 1.6;
    --spLineHeight11_18: 1.8;
    --spLineHeight12_12: 1.2;
    --spLineHeight12_15: 1.5;
    --spLineHeight12_16: 1.6;
    --spLineHeight12_18: 1.8;
    --spLineHeight12_2: 2;
    --spLineHeight13_15: 1.5;
    --spLineHeight13_17: 1.7;
    --spLineHeight13_26: 2.6;
    --spLineHeight14_14: 1.4;
    --spLineHeight14_16: 1.6;
    --spLineHeight14_17: 1.7;
    --spLineHeight14_18: 1.8;
    --spLineHeight15_15: 1.5;
    --spLineHeight15_16: 1.6;
    --spLineHeight15_17: 1.7;
    --spLineHeight16_13: 1.3;
    --spLineHeight16_15: 1.5;
    --spLineHeight16_175: 1.75;
    --spLineHeight17_15: 1.5;
    --spLineHeight18_17: 1.7;
    --spLineHeight20_15: 1.5;
    --spLineHeight22_12: 1.2;
    --spLineHeight22_13: 1.3;
    --spLineHeight22_18: 1.8;
    --spLineHeight24_13: 1.84;
    --spLineHeight24_14: 1.41;
    --spLineHeight26_15: 1.5;

    /* letter-spacing（SP） */
    --spLetterSpacing10_0: 0;
    --spLetterSpacing11_0: 0;
    --spLetterSpacing12_0: 0;
    --spLetterSpacing12_05: .5;
    --spLetterSpacing12_1: 1px;
    --spLetterSpacing14_0: 0;
    --spLetterSpacing14_05: .5px;
    --spLetterSpacing12_05: .5px;
    --spLetterSpacing12_1: 1px;
    --spLetterSpacing13_0: 0;
    --spLetterSpacing13_05: 0.5px;
    --spLetterSpacing13_1: 1px;
    --spLetterSpacing15_0: 0;
    --spLetterSpacing15_05: .5px;
    --spLetterSpacing16_0: 0;
    --spLetterSpacing16_15: 1.5px;
    --spLetterSpacing16_2: 2px;
    --spLetterSpacing17_0: 0;
    --spLetterSpacing17_1: 1px;
    --spLetterSpacing18_0: 0;
    --spLetterSpacing18_3: 3px;
    --spLetterSpacing20_05: .5px;
    --spLetterSpacing20_4: 4px;
    --spLetterSpacing22_0: 0;
    --spLetterSpacing22_4: 4px;
    --spLetterSpacing22_1: 1px;
    --spLetterSpacing24_0: 0;
    --spLetterSpacing24_1: 1px;
    --spLetterSpacing26_05: .5px;
    --spLetterSpacing26_2: 2px;
    --spLetterSpacing32_1: 1px;
}
/*==============================
    基本設定
==============================*/
body{
    color:#001b3f;
    font-size:12px;
    font-family:'YakuHanJP_Narrow','游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
    margin:0;
    padding:0;
    text-align:left;
    background:#fff;
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:rgba(0,0,0,0.25);
    position:relative;
    word-break:break-all;
    min-width:1400px;
}
@media only screen and (max-width:767px){
    body{
        min-width:0;
    }
}

body *, body *::before, body *::after{box-sizing:border-box;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
    font-weight:normal;
    text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fPoppins{font-family:"Poppins",'游ゴシック', sans-serif;}

/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover,
.cursorPointer:hover{ opacity:0.8; }
.ro a,
a.ro,
a .ro,
.cursorPointer{
    transition:opacity 0.2s ease-out;
}
.cursorPointer{cursor:pointer;}
@media only screen and (max-width:767px){
    .ro a:hover,
    a.ro:hover,
    a .ro:hover,
    .cursorPointer:hover{ opacity:1; }
}

/*rollover(brightnessによる変化)*/
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.brt a,
a.brt,
a .brt{
    transition:filter 0.2s ease-out;
}
@media only screen and (max-width:767px){
    .brt a:hover,a.brt:hover,a .brt:hover{ filter:none; }
}

/*ro無効化*/
.ro .no_ro a:hover,
.ro a.no_ro:hover,
.ro .no_ro .cursorPointer:hover,
.ro .cursorPointer.no_ro:hover{ opacity:1; }

/* 電話リンクの無効化 */
a[href^="tel:"]{
    pointer-events:none;
    cursor:default;
}
@media only screen and (max-width:767px){
    a[href^="tel:"]{
        pointer-events:auto;
        cursor:pointer;
    }
}

/* container */
#container{
    overflow:hidden;
    width: 100%;
    margin:0 auto;
    padding-top: 120px;
}
@media only screen and (max-width:767px){
    #container{
        padding-top: 54px;
    }
}

/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.imgSp{
    display:none;
}
.img100{
    width:100%;
    height:auto;
}
@media only screen and (max-width:767px){
    .spNone,
    .brPc,
    .imgPc{
        display:none;
    }
    .spOnly{
        display:block;
    }
    .brSp,
    .imgSp{
        display:inline;
    }
    .imgR{
        width:100%;
        height:auto;
    }
}

a{
    text-decoration: none;
    color: inherit;
    display: inline-block;
}
/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
/* imgCover */
.imgCover,
.imgCont{
    position:relative;
}
.imgCover img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:cover;
}
.imgCont img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    display:block;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}
/*-----------------------------------------------
    iconArrow
-----------------------------------------------*/
.iconArrow{
    position: relative;
    display: inline-block;
}
.iconArrow::before,
.iconArrow::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 10px;
    height: 1px;
    background-color: #001b3f;
}
.iconArrow::after{
    width:0;
    height:0;
    border-style:solid;
    border-width: 3px 0 4px 3px;
    border-color: transparent transparent transparent #001b3f;
    background-color: transparent;
}
.scrollAnime{
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
/*-----------------------------------------------
    header
-----------------------------------------------*/
#header{
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, .95);
    z-index: 999;
    width: 100%;
    min-width: 1400px;
}
#header.hiddenNavi{
    top: -130px;
}
#header::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 10px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, .1), transparent);
    z-index: -1;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    opacity: 0;
}
#header .wrapper{
    position: relative;
}
#header .boxLogo{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 30px;
    margin: auto;
    display: flex;
    align-items: center;
    width: 10.7299%;
}
#header .boxLogo img{
    border-bottom-right-radius: 5px;
}
#header .headerInner{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: calc(100% - 14%);
    height: 120px;
    margin: 0 0 0 auto;
}
/* headerInfo */
#header .headerInfo{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(100% - 68%);
}
#header .headerInfo .imgBox{
    display: flex;
    align-items: center;
}
#header .headerInfo .aLink{
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: var(--pcFontSize10);
    margin-left: 14px;
    white-space: nowrap;
}
#header .headerInfo .aLink::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #001b3f;
}
#header .headerInfo .iconArrow{
    padding-right: 15px;
}
#header .headerInfo .txtBox{
    margin-top: 6px;
}
#header .headerInfo .txt{
    font-size: var(--pcFontSize10);
    line-height: var(--pcLineHeight10_15);
    font-weight: bold;
    white-space: nowrap;
}
/* headerLink */
#header .headerLink,
#header .headerLink .listLink,
#header .headerLink .listLinkImg{
    display: flex;
    justify-content: flex-end;
    width: calc(100% - 37.91%);
    height: 100%;
}
#header .headerLink{
    max-width: 1040px;
}
#header .headerLink .listLink,
#header .headerLink .listLinkImg{
    align-items: center;
    width: 54%;
}
#header .headerLink .listLink{
    padding-right: 4%;
}
#header .listLink .linkItem + .linkItem{
    margin-left: 5.5%;
}
#header .headerLink .aLink{
    font-size: var(--pcFontSize14);
    font-weight: bold;
    white-space: nowrap;
}
#header .headerLink .listLinkImg{
    width: 47.606%;
}
#header .listLinkImg .linkItem{
    width: 25%;
    min-width: 100px;
    height: 100%;
}
#header .listLinkImg .aLink{
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 33px;
}
#header .listLinkImg .aLink .txt{
    position: relative;
    display: inline-block;
}
#header .listLinkImg .aLink .txt::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: -47px;
    left: 0;
    right: 0;
    width: 30px;
    height: 30px;
}
#header .listLinkImg .aLink.bg01{
    border-left: 1px solid #ddd;
}
#header .listLinkImg .aLink.bg02{
    background-color: #002d59;
    color: #fff;
}
#header .listLinkImg .aLink.bg03{
    background-color: #b3925e;
    color: #fff;
}
#header .listLinkImg .aLink.bg04{
    background-color: #fac500;
}
#header .listLinkImg .aLink.bg01 .txt::after{
    background: url(../img/common/iconHeader01.png) center top / cover no-repeat;
}
#header .listLinkImg .aLink.bg02 .txt::after{
    background: url(../img/common/iconHeader02.png) center top / cover no-repeat;
}
#header .listLinkImg .aLink.bg03 .txt::after{
    background: url(../img/common/iconHeader03.png) center top / cover no-repeat;
}
#header .listLinkImg .aLink.bg04 .txt::after{
    background: url(../img/common/iconHeader04.png) center top / cover no-repeat;
}
/* tablet */
.isTablet #header .headerLink .aLink{
    font-size: var(--pcFontSize12);
}
.isTablet #header .headerLink .listLink{
    display: none;
}
.isTablet #header .headerInfo {
    width: calc(100% - 48%);
}
/* active */
@media only screen and (max-width:1720px){
    #header .headerInfo .txt{
        white-space: normal;
    }
}
@media only screen and (max-width:1650px){
    #header .headerInfo {
        width: calc(100% - 78%);
    }
    #header .headerLink {
        width: calc(100% - 29%);
    }
}
@media only screen and (max-width:767px){
    #header{
        min-width: auto;
        position: absolute;
        background-color: #fff;
    }
    #header.naviOpen{
        position: fixed;
    }
    #header .headerLink .listLink,
    #header .headerInfo .aLink,
    #header .headerInfo .txtBox{
        display: none;
    }
    #header::after{
        display: none;
    }
    #header .boxLogo{
        width: 27.47%;
        left: 15px;
    }
    #header .boxLogo img{
        border-bottom-right-radius: 8px;
    }
    #header .headerInner{
        width: calc(100% - 32%);
        height: 54px;
    }
    /* headerInfo */
    #header .headerInfo{
        width: 23.056%;
        left: 8px;
    }
    /* headerLink */
    #header .headerLink{
        width: 54.92%;
        max-width: none;
    }
    #header .headerLink .listLinkImg{
        width: 100%;
    }
    #header .listLinkImg .linkItem:not(.spOnly):nth-child(n+2){
        display: none;
    }
    #header .listLinkImg .linkItem{
        width: 31.43%;
        height: auto;
        min-width: auto;
        height: 34px;
    }
    #header .listLinkImg .linkItem:not(:last-child){
        margin-right: 3px;
    }
    #header .listLinkImg .aLink{
        align-items: center;
        padding-bottom: 0;
        border: none!important;
        font-size: var(--spFontSize10);
        border-radius: 4px;
        box-shadow: 0 -2px 0 0 rgba(4, 0, 0, .1) inset;
    }
    #header .listLinkImg .aLink.bg01{
        background-color: #002d56!important;
        color: #fff;
        box-shadow: 0 -2px 0 0 rgba(4, 0, 0, .4) inset;
    }
    #header .listLinkImg .aLink.bg05{
        background-color: #ac0008!important;
        color: #fff;
    }
    #header .listLinkImg .aLink.bg06{
        background-color: #f2f2f2!important;
    }
    #header .listLinkImg .aLink .txt::after{
        display: none;
    }
    #header .scrollShow{
        width: 70px;
    }
    #btnNavi{
        position: relative;
        width: 15.69%;
        height: 100%;
    }
    #btnNavi::before,
    #btnNavi::after{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: 6px;
        bottom: 0;
        left: 0;
        right: 0;
        width: 20px;
        height: 1px;
        background-color: #002d59;
        -webkit-transition: all 0.4s ease-out;
        transition: all 0.4s ease-out;
    }
    #btnNavi::after{
        top: -7px;
    }
    #btnNavi.naviOpen::before{
        transform: rotate(-45deg);
        top: -3px;
    }
    #btnNavi.naviOpen::after{
        transform: rotate(45deg);
        top: -3px;
    }
}

/* menu */
#menu {
    display: none;
}
@media only screen and (max-width:767px){
    #menu {
        position: absolute;
        top: 50px;
        left: 0;
        background-color: #f2f4f5;
        z-index: 998;
        min-height: 100vh;
        width: 100%;
    }
    #menu .menuWrapper{
        width: 83.736%;
        margin: 0 auto;
        padding: 73px 0;
    }
    #menu .listNavi{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #menu .naviItem{
        width: 48.5%;
    }
    #menu .naviItem:nth-child(n+3){
        margin-top: 20px;
    }
    #menu .linkItem a{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_2);
        display: block;
        width: 100%;
    }
    #menu .linkItem a span{
        line-height: 1.3;
        display: inline-block;
    }
    #menu .linkItem a span.txtsmall{
        font-size: var(--spFontSize11);
    }
    #menu .linkItem .tit{
        position: relative;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
        font-weight: 600;
        padding-bottom: 17px;
        margin-bottom: 12px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    #menu .linkItem .tit .jpTit {
        margin-top: 8px;
        font-size: var(--spFontSize13);
    }
    #menu .linkItem .tit::before,
    #menu .linkItem .tit::after{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #d7d8d9;
    }
    #menu .linkItem .tit::after{
        width: 20px;
        background-color: #001b3f;
    }
    #menu .listSns{
        margin-top: 35px;
        display: flex;
        justify-content: center;
    }
    #menu .snsItem + .snsItem{
        margin-left: 15px;
    }
    #menu .snsItem img{
        border-radius: 100%;
    }
    #menu .listSite{
        margin-top: 20px;
    }
    #menu .siteItem{
        width: 78.03%;
        margin: 0 auto;
    }
    #menu .listSite .iconArrow{
        width: 100%;
        height: 35px;
        border-radius: 17.5px;
        background-color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--spFontSize10);
        font-weight: bold;
    }
    #menu .listSite .iconArrow::before,
    #menu .listSite .iconArrow::after{
        right: 20px;
    }
    #menu .listTxtLink{
        margin-top: 30px;
        display: flex;
        justify-content: center;
    }
    #menu .txtLinkItem{
        position: relative;
        font-size: var(--spFontSize10);
        letter-spacing: -.5px;
    }
    #menu .txtLinkItem + .txtLinkItem{
        margin-left: 10px;
    }
    #menu .txtLinkItem + .txtLinkItem::after{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: 0;
        left: -5px;
        width: 1px;
        height: 100%;
        background-color: #001b3f;
    }
    #menu .boxTel{
        width: 100vw;
        margin: 40px calc(50% - 50vw) 0;
    }
    #menu .boxTel .aTel{
        width: 92%;
        height: 120px;
        margin: 0 auto;
        background-color: #fff;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.04);
        border-radius: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    #menu .boxTel .aTel .txt{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_0);
        font-weight: bold;
    }
    #menu .boxTel .aTel .telTxt{
        position: relative;
        font-size: var(--spFontSize24);
        letter-spacing: var(--spLetterSpacing24_1);
        font-weight: 600;
        margin: 10px 0;
        padding-left: 35px;
    }
    #menu .boxTel .aTel .telTxt::before{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: 0;
        bottom: 0;
        left: 0;
        width: 26px;
        height: 17px;
        background: url(../img/common/iconTelSp.gif) center top / cover no-repeat;
    }
    #menu .boxTel .aTel .txtMin{
        font-size: var(--spFontSize10);
    }
}

/* footer */
#footer{
    position: relative;
    margin-top: var(--footerPc);
}
/* .footerTop{
    padding-bottom: var(--footerPc);
} */
.footerTop + #footer{
    margin-top: 0;
}
#footer .wrapContact{
    display: flex;
    align-items: center;
    padding: 100px 0;
}
#footer .wrapContact.lazyloaded{
    background: url(../img/common/bgContact.jpg) center top / cover no-repeat;
}
#footer .wrapContact .wrapper{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#footer .wrapContact .titBox{
    color: #fff;
    margin-bottom: 10px;
}
#footer .wrapContact .titTop{
    position: relative;
    display: flex;
    align-items: center;
}
#footer .wrapContact .titEng{
    font-size: var(--pcFontSize70);
    font-weight: 600;
}
#footer .wrapContact .titJp{
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_2);
    font-weight: bold;
    margin-left: 25px;
}
#footer .wrapContact .txtJp{
    font-size: var(--pcFontSize15);
    font-weight: bold;
    margin-top: 30px;
}
#footer .listLinkImg{
    display: flex;
    flex-direction: column;
    width: 32.395%;
}
#footer .listLinkImg .linkItem{
    width: 100%;
    height: 90px;
}
#footer .listLinkImg .linkItem + .linkItem{
    margin-top: 20px;
}
#footer .listLinkImg .aLink{
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-color: #fff;
    border-radius: 4px;
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_1);
    font-weight: bold;
    padding-left: 97px;
}
#footer .listLinkImg .aLink::before,
#footer .listLinkImg .aLink::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
}
#footer .listLinkImg .aLink::before{
    right: 13px;
    width: 32px;
    height: calc(100% - 26px);
    border-radius: 4px;
}
#footer .listLinkImg .aLink::after{
    left: 50px;
    width: 27px;
    height: 20px;
}
#footer .listLinkImg .aLink.bg01::before{
    background-color: #6fa2cc;
}
#footer .listLinkImg .aLink.bg02::before{
    background-color: #002d59;
}
#footer .listLinkImg .aLink.bg03::before{
    background-color: #fac500;
}
#footer .listLinkImg.lazyloaded .aLink.bg01::after{
    background: url(../img/common/iconFooter01.gif) center top / cover no-repeat;
}
#footer .listLinkImg .aLink.bg02::after{
    width: 30px;
    height: 22px;
}
#footer .listLinkImg.lazyloaded .aLink.bg02::after{
    background: url(../img/common/iconFooter02.gif) center top / cover no-repeat;
}
#footer .listLinkImg .aLink.bg03::after{
    width: 26px;
    height: 26px;
}
#footer .listLinkImg.lazyloaded .aLink.bg03::after{
    background: url(../img/common/iconFooter03.gif) center top / cover no-repeat;
}
#footer .listLinkImg .aLink .txt{
    display: block;
    width: 100%;
}
#footer .listLinkImg .aLink .iconArrow::before,
#footer .listLinkImg .aLink .iconArrow::after{
    right: 24px;
}
#footer .listLinkImg .aLink:not(.bg03) .iconArrow::before{
    background-color: #fff;
}
#footer .listLinkImg .aLink:not(.bg03) .iconArrow::after{
    border-color: transparent transparent transparent #fff;
}
@media only screen and (max-width:767px){
    /* .footerTop{
        padding-bottom: var(--footerSp);
    } */
    #footer{
        margin-top: var(--footerSp);
    }
    #main + #footer{
        margin-top: var(--footerSpMain);
    }
    #main .mainWrapper{
        padding-bottom: var(--footerSp);
    }
    #footer .wrapContact{
        flex-direction: column;
        padding: 50px 0;
    }
    #footer .wrapContact.lazyloaded{
        background: url(../img/common/bgContactSp.jpg) center top / cover no-repeat;
    }
    #footer .wrapContact .wrapper{
        flex-direction: column;
    }
    #footer .wrapContact .titBox{
        margin: -5px 0 0 -5px;
    }
    #footer .wrapContact .titTop{
        flex-direction: column;
        align-items: flex-start;
    }
    #footer .wrapContact .titEng{
        font-size: var(--spFontSize32);
    }
    #footer .wrapContact .titJp{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
        margin: 10px 0 0 0;
    }
    #footer .wrapContact .txtJp{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_16);
        margin-top: 13px;
    }
    #footer .listLinkImg{
        width: 100%;
        margin-top: 25px;
    }
    #footer .listLinkImg .linkItem{
        height: 60px;
    }
    #footer .listLinkImg .linkItem + .linkItem{
        margin-top: 9px;
    }
    #footer .listLinkImg .aLink{
        border-radius: 3px;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
        padding-left: 53px;
    }
    #footer .listLinkImg .aLink::before{
        right: 6px;
        width: 30px;
        height: calc(100% - 10px);
        border-radius: 3px;
    }
    #footer .listLinkImg .aLink::after,
    #footer .listLinkImg .aLink.bg02::after{
        left: 20px;
        width: 18px;
        height: 14px;
    }
    #footer .listLinkImg.lazyloaded .aLink.bg01::after{
        background: url(../img/common/iconFooter01Sp.gif) center top / cover no-repeat;
    }
    #footer .listLinkImg.lazyloaded .aLink.bg02::after{
        background: url(../img/common/iconFooter02Sp.gif) center top / cover no-repeat;
    }
    #footer .listLinkImg .aLink.bg03::after{
        width: 16px;
        height: 16px;
    }
    #footer .listLinkImg.lazyloaded .aLink.bg03::after{
        background: url(../img/common/iconFooter03Sp.gif) center top / cover no-repeat;
    }
    #footer .listLinkImg .aLink .iconArrow::before,
    #footer .listLinkImg .aLink .iconArrow::after{
        right: 15px;
    }
}

#footer .wrapFooter{
    background-color: #f2f4f5;
    padding: 100px 0;
}
#footer .boxTel{
    max-width: calc(100% - 40px);
    width: 1210px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
#footer .boxTel .aTel{
    width: 47.935%;
    height: 180px;
    background-color: #fff;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.04);
    border-radius: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
#footer .boxTel .aTel .txt{
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_1);
    font-weight: bold;
}
#footer .boxTel .aTel .telTxt{
    position: relative;
    font-size: var(--pcFontSize40);
    letter-spacing: var(--pcLetterSpacing40_1);
    font-weight: 600;
    margin: 16px 0;
    padding-left: 68px;
}
#footer .boxTel .aTel .telTxt::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 49px;
    height: 32px;
}
#footer .boxTel.lazyloaded .aTel .telTxt::before{
    background: url(../img/common/iconTel.gif) center top / cover no-repeat;
}
#footer .boxTel .aTel .txtMin{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_05);
}
#footer .boxLink{
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
}
#footer .infoBox{
    width: 31.691%;
}
#footer .infoBox .txt{
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_15);
    letter-spacing: var(--pcLetterSpacing13_05);
    margin-top: 25px;
}
#footer .listSns{
    margin-top: 25px;
    display: flex;
    justify-content: flex-start;
}
#footer .snsItem + .snsItem{
    margin-left: 10px;
}
#footer .snsItem img{
    border-radius: 100%;
}
#footer .listNavi{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 64.789%;
}
#footer .naviItem{
    width: 21.74%;
}
#footer .linkItem a{
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing14_05);
    line-height: var(--pcLineHeight14_25);
    width: auto;
}
#footer .linkItem a span{
    line-height: 1.3;
    display: inline-block;
}
#footer .linkItem .tit{
    position: relative;
    font-size: var(--pcFontSize17);
    letter-spacing: var(--pcLetterSpacing17_05);
    font-weight: 600;
    padding-bottom: 17px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#footer .linkItem .titJp{
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_05);
    font-weight: bold;
}
.isTablet #footer .linkItem .titJp{
    display: none;
}
#footer .linkItem .tit::before,
#footer .linkItem .tit::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #d7d8d9;
}
#footer .linkItem .tit::after{
    width: 20px;
    background-color: #001b3f;
}
#footer .linkItem .tit .jpTit{
    font-family: inherit;
    font-size: var(--pcFontSize12);
}
#footer .boxSite{
    background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAAXNSR0IArs4c6QAAABNJREFUGFdj7Ozs/F9eXs7IAAUANIoEArhufRMAAAAASUVORK5CYII=);
    background-repeat: repeat-x;
    padding-top: 40px;
    margin-top: 40px;
}
#footer .listSite{
    display: flex;
}
#footer .siteItem{
    width: 12.817%;
}
#footer .siteItem + .siteItem{
    margin-left: 1.7%;
}
#footer .footerBtm{
    padding: 20px 0;
    min-height: 60px;
    display: flex;
    align-items: center;
}
#footer .footerBtm .wrapper {
    display: flex;
    justify-content: space-between;
}
#footer .listTxtLink{
    display: flex;
    justify-content: flex-start;
}
#footer .txtLinkItem{
    position: relative;
    font-size: var(--pcFontSize11);
}
#footer .txtLinkItem + .txtLinkItem{
    margin-left: 10px;
}
#footer .txtLinkItem + .txtLinkItem::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    left: -5px;
    width: 1px;
    height: 87%;
    background-color: #001b3f;
}
#footer #copyTxt{
    font-size: var(--pcFontSize11);
}
.isTablet #footer .linkItem a:not(.aLink){
    font-size: var(--pcFontSize10);
    letter-spacing: var(--pcLetterSpacing10_05);
    line-height: var(--pcLineHeight10_25);
}
@media only screen and (max-width:1700px){
    #footer .footerBtm{
        padding-right: 100px;
    }
}
@media only screen and (max-width:767px){
    #footer .wrapFooter{
        padding: 50px 0 30px;
    }
    #footer .boxTel{
        width: 92%;
        max-width: none;
        flex-direction: column;
    }
    #footer .boxTel .aTel{
        width: 100%;
        height: 110px;
        border-radius: 60px;
    }
    #footer .boxTel .aTel + .aTel{
        margin-top: 15px;
    }
    #footer .boxTel .aTel .txt{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_0);
    }
    #footer .boxTel .aTel .telTxt{
        font-size: var(--spFontSize24);
        letter-spacing: var(--spLetterSpacing24_1);
        margin: 10px 0;
        padding-left: 35px;
    }
    #footer .boxTel .aTel .telTxt::before{
        width: 26px;
        height: 17px;
    }
    #footer .boxTel.lazyloaded .aTel .telTxt::before{
        background: url(../img/common/iconTelSp.gif) center top / cover no-repeat;
    }
    #footer .boxTel .aTel .txtMin{
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_0);
    }
    #footer .boxLink{
        flex-direction: column-reverse;
        align-items: center;
        margin-top: 50px;
    }
    #footer .infoBox{
        width: 100%;
        margin-top: 35px;
    }
    #footer .infoBox .imgBox{
        width: 57.145%;
        margin: 0 auto;
    }
    #footer .infoBox .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_16);
        letter-spacing: var(--spLetterSpacing12_0);
        margin-top: 18px;
        text-align: center;
    }
    #footer .listSns{
        margin-top: 15px;
        justify-content: center;
    }
    #footer .snsItem + .snsItem{
        margin-left: 15px;
    }
    #footer .listNavi{
        width: 100%;
    }
    #footer .naviItem{
        width: 48.5%;
    }
    #footer .naviItem:nth-child(n+3){
        margin-top: 20px;
    }
    #footer .linkItem a{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_0);
        line-height: var(--spLineHeight12_2);
    }
    #footer .linkItem a span.txtsmall{
        font-size: var(--spFontSize11);
    }
    #footer .linkItem .tit{
        font-size: var(--spFontSize14);
        margin-bottom: 12px;
        padding-bottom: 15px;
        flex-direction: column;
        align-items: flex-start;
    }
    #footer .linkItem .titJp{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_0);
        margin-top: 7px;
    }
    #footer .linkItem .tit .jpTit{
        margin-top: 8px;
        font-size: var(--spFontSize13);
    }
    #footer .boxSite{
        padding-top: 30px;
        margin-top: 30px;
    }
    #footer .listSite{
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #footer .siteItem{
        width: 32.178%;
        background-color: #fff;
        display: flex;
        align-items: center;
    }
    #footer .siteItem + .siteItem{
        margin-left: 0;
    }
    #footer .siteItem:nth-child(n+4){
        margin-top: 6px
    }
    #footer .siteItem a{
        display: block;
    }
    #footer .footerBtm{
        position: relative;
        padding: 35px 0 100px;
        min-height: auto;
    }
    .noNavi #footer .footerBtm{
        padding: 30px 0;
    }
    #footer .footerBtm .wrapper {
        flex-direction: column;
        align-items: center;
    }
    #footer .listTxtLink{
        display: flex;
        justify-content: flex-start;
    }
    #footer .txtLinkItem{
        font-size: var(--spFontSize10);
        letter-spacing: -.5px;
    }
    #footer .txtLinkItem + .txtLinkItem{
        margin-left: 8px;
    }
    #footer #copyTxt{
        margin-top: 15px;
        font-size: var(--spFontSize10);
    }
}
/* fNavi */
#fNavi{display: none;}
#fNavi_estate{
    display: none;
}
@media only screen and (max-width:767px){
    #fNavi_estate{
        display: none;
    }
    #fNavi{
        display: block;
        position: fixed;
        right: 0;
        bottom: 0;
        transform: translateY(100%);
        transition: all 0.2s ease-out;
        z-index: 9999;
        background-color: #fff;
        box-shadow: 0 -5px 10px rgba(0, 27, 63, 0.08);
        width: 100%;
        height: 70px;
    }
    #fNavi.active{
        transform: none;
    }
    #fNavi.hiddenNavi{
        transform: translateY(100%);
    }
    #fNavi .listLinkImg{
        display: flex;
        height: 100%;
    }
    #fNavi .listLinkImg .linkItem{
        width: calc(100% / 5);
        height: 100%;
    }
    #fNavi .listLinkImg .aLink{
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        padding-bottom: 15px;
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_12);
    }
    #fNavi .listLinkImg .aLink.bg04{
        padding-bottom: 8px;
    }
    #fNavi .listLinkImg .bg02{
        background-color: #002d59;
        color: #fff;
    }
    #fNavi .listLinkImg .bg04{
        background-color: #b3925e;
        color: #fff;
    }
    #fNavi .listLinkImg .bg03{
        background-color: #fac500;
    }
    #fNavi .listLinkImg .bg05{
        background-color: #f2f2f2;
    }
    #fNavi .listLinkImg .aLink .txt{
        text-align: center;
        position: relative;
        display: inline-block;
    }
    #fNavi .listLinkImg .aLink .txt::after{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: -27px;
        left: 0;
        right: 0;
        width: 22px;
        height: 20px;
    }
    #fNavi .listLinkImg .aLink.bg01 .txt::after{
        background: url(../img/common/iconNavi01.gif) center top / cover no-repeat;
    }
    #fNavi .listLinkImg .aLink.bg02 .txt::after{
        background: url(../img/common/iconNavi02.gif) center top / cover no-repeat;
    }
    #fNavi .listLinkImg .aLink.bg03 .txt::after{
        background: url(../img/common/iconNavi03.gif) center top / cover no-repeat;
    }
    #fNavi .listLinkImg .aLink.bg04 .txt::after{
        background: url(../img/common/iconNavi04.gif) center top / cover no-repeat;
    }
    #fNavi .listLinkImg .aLink.bg05 .txt::after{
        background: url(../img/common/iconNavi05.gif) center top / cover no-repeat;
    }
}

/*-----------------------------------------------
    btnTop
-----------------------------------------------*/
#btnTop{
    position: absolute;
    right: 0;
    bottom: 0;
    transition: all 0.2s ease-out;
    z-index: 999;
    width: 115px;
    height: 90px;
    background-color: #002d56;
}
#btnTop a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
#btnTop .topTxt{
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_05);
    font-weight: 500;
    color: #fff;
    padding-top: 19px;
}
#btnTop .topTxt::before,
#btnTop .topTxt::after {
    left: 0;
    bottom: auto;
}
#btnTop .topTxt::before{
    background-color: #fff;
    width: 1px;
    height: 10px;
}
#btnTop .topTxt::after {
    border-color: transparent transparent transparent #fff;
    top: -3px;
    transform: rotate(-90deg);
}
@media only screen and (max-width:767px){
    #btnTop{
        right: 15px;
        bottom: auto;
        top: -15px;
        width: 31px;
        height: 31px;
        border-radius: 15px;
    }
    #btnTop .topTxt{
        font-size: 0;
        letter-spacing: 0;
        padding-top: 11px;
        width: 100%;
    }
}

.noNavi #header,
.noNavi #footer,
.noNavi #fNavi{display: none!important;}

/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper1840{
    width: 1840px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1550{
    width: 1550px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1500{
    width: 1500px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1420{
    width: 1420px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1260{
    width: 1260px;
    margin: 0 auto;
    max-width: 100%;
}
.wrapper1200{
    width: 1200px;
    margin: 0 auto;
    max-width: 100%;
}
.wrapper1000{
    width: 1000px;
    margin: 0 auto;
    max-width: 100%;
}
.wrapper960{
    width: 960px;
    margin: 0 auto;
    max-width: 100%;
}
@media only screen and (max-width:767px){
    .wrapper1840,
    .wrapper1550,
    .wrapper1500,
    .wrapper1420,
    .wrapper1260,
    .wrapper1200,
    .wrapper960{
        width: 100%;
        margin: 0 auto;
        max-width: none;
    }
    .wrapperSp{
        width: 92%;
        margin: 0 auto;
        max-width: none;
    }
    .wrapperSp335 {
        width: 89.334%;
        margin: 0 auto;
    }
    .wrapperSp315 {
        width: 84%;
        margin: 0 auto;
    }
}

/* secCmnTitBox */
.secCmnTitBox .titTop{
    position: relative;
    display: flex;
    align-items: center;
}
.secCmnTitBox .titEng{
    position: relative;
    font-size: var(--pcFontSize70);
    letter-spacing: var(--pcLetterSpacing70_15);
    padding-right: 23px;
    font-weight: 600;
}
.secCmnTitBox .titJp{
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_1);
    font-weight: bold;
}
@media only screen and (max-width:767px){
    .secCmnTitBox .titTop{
        align-items: flex-start;
        flex-direction: column;
    }
    .secCmnTitBox .titEng{
        font-size: var(--spFontSize32);
        letter-spacing: var(--spLetterSpacing32_1);
        padding-right: 0;
    }
    .secCmnTitBox .titJp{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
        margin-top: 10px;
    }
}
/* secCmnMinTitBox */
.secCmnTitBox.secCmnMinTitBox .titEng{
    font-size: var(--pcFontSize26);
    letter-spacing: var(--pcLetterSpacing26_1);
}
.secCmnTitBox.secCmnMinTitBox .titEng::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1px;
    height: 16px;
    border-radius: 0;
    background-color: #001b3f;
}
.secCmnTitBox.secCmnMinTitBox .titJp{
    font-size: var(--pcFontSize15);
    margin-left: 22px;
}
@media only screen and (max-width:767px){
    .secCmnTitBox.secCmnMinTitBox .titTop{
        padding-left: 0;
    }
    .secCmnTitBox.secCmnMinTitBox .titEng{
        font-size: var(--spFontSize22);
        font-weight: bold;
    }
    .secCmnTitBox.secCmnMinTitBox .titEng::after{
        display: none;
    }
    .secCmnTitBox.secCmnMinTitBox .titJp{
        font-size: var(--spFontSize14);
        margin: 10px 0 0 0;
    }
}
/* secCmnTitBoxCol */
.secCmnTitBoxCol .titTop {
    flex-direction: column;
    align-items: flex-start;
}
.secCmnTitBoxCol .titEng {
    text-align: left;
}
.secCmnTitBoxCol .titEng{
    font-size: var(--pcFontSize50);
    letter-spacing: var(--pcLetterSpacing50_15);
    font-weight: bold;
}
.secCmnTitBoxCol .titJp{
    position: relative;
    margin-top: 25px;
    padding-left: 70px;
}
.secCmnTitBoxCol .titJp::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 1px;
    background: #001b3f;
}
@media only screen and (max-width:767px){
    .secCmnTitBoxCol .titEng{
        font-size: var(--spFontSize22);
        letter-spacing: var(--spLetterSpacing22_1);
    }
    .secCmnTitBoxCol .titJp{
        position: relative;
        margin-top: 10px;
        padding-left: 29px;
    }
    .secCmnTitBoxCol .titJp::before{
        width: 20px;
        background: #001b3f;
    }
}
/*-----------------------------------------------
	hoverZoom
-----------------------------------------------*/
.hoverZoom{
	overflow: hidden;
}
.hoverZoom img:not(.noZoom){
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.hoverZoom:hover img:not(.noZoom){
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}
/*-----------------------------------------------
	fade
-----------------------------------------------*/
#fade{
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100vw;
    height: 100vh;
    opacity: 1;
    background-color: #ffffff;
    z-index: 100;
}

/*-----------------------------------------------
	jsHide
-----------------------------------------------*/
.jsHide{
    opacity: 0;
    transform: translate(0px, 50px);
    transition: opacity 0.5s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
}
.jsHide.jsShow{
    transform: none;
    opacity: 1;
}
/* jsHideImg */
.jsHideImg,
.ro a.jsHideImg{
    filter: blur(20px) brightness(4);
    transform: translateY(50px);
    opacity: 0;
    transition: transform 1.6s cubic-bezier(0.19, 1, 0.22, 1),filter 1s cubic-bezier(0.19, 1, 0.22, 1),opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1);
    transform-origin: center top;
}
.jsHideImg.jsShow,
.ro a.jsHideImg.jsShow{
    filter: blur(0) brightness(1);
    transform: translateY(0);
    opacity: 1;
}

/*-----------------------------------------------
    main
-----------------------------------------------*/
@media only screen and (max-width:767px){
    #main {
        display: flex;
        flex-flow: column;
    }
    .mainWrapper {
        order: 2;
    }
}
/*-----------------------------------------------
    pnkz
-----------------------------------------------*/
#pnkz {
    width: 100%;
    background: #fafbfc;
    padding: 12px 0px;
}
#pnkz ol {
    text-align: left;
    position: relative;
}
#pnkz li {
    display: inline;
    width: auto !important;
    font-size: var(--pcFontSize11);
    line-height: var(--pcLineHeight11_14);
    vertical-align: top;
    font-weight: bold;
}
#pnkz li::before {
    content: "/";
    display: inline-block;
    padding: 0 3px 0 0;
    color: #001b3f;
}
#pnkz li:first-child::before {
    display: none;
}
#pnkz a,
#pnkz span {
    color: #001b3f;
    text-decoration: underline;
}
@media only screen and (max-width:767px) {
    #pnkz {
        order: 3;
        padding: 17px 0;
        background: #f2f4f5;
    }
    #pnkz ol {
        white-space: nowrap;
        overflow-y: scroll;
    }
    #pnkz li::before {
        padding: 0px 3px 0px 0px;
    }
}

/*-----------------------------------------------
    secCmntitle
-----------------------------------------------*/
.secCmntitle {
    position: relative;
    width: 100%;
    height: 200px;
    background: url(../img/common/tp.gif) center top no-repeat;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.secCmntitle .titleinner {
    display: inline-block;
    color: #fff;
    text-align: center;
}
.secCmntitle .titleEng {
    font-size: var(--pcFontSize34);
    letter-spacing: var(--pcLetterSpacing34_2);
    font-weight: 500;
}
.secCmntitle .title {
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_2);
    font-weight: bold;
    margin: 12px 0 5px;
}
@media only screen and (max-width:767px) {
    .secCmntitle {
        height: 120px;
    }
    .secCmntitle .titleEng {
        margin-top: 6px;
        font-size: var(--spFontSize20);
        letter-spacing: var(--spLetterSpacing20_05);
    }
    .secCmntitle .title {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_1);
        margin: 9px 0 3px;
    }
}


/* 矢印 */
.iconLink{
    position: relative;
}
.iconLink::before,
.iconLink::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    right: 0;
    bottom: 0;
}
.iconLink::before{
    width: 30px;
    height: 30px;
    border-radius: 30px;
    background-color: #f2f4f5;
}
.iconLink::after{
    width: 8px;
    height: 8px;
    border-top: 2px solid #001b3f;
    border-right: 2px solid #001b3f;
    transform: rotate(45deg);
}
@media only screen and (max-width:767px){
    .iconLink::before{
        width: 23px;
        height: 23px;
        border-radius: 23px;
    }
    .iconLink::after{
        width: 5px;
        height: 5px;
    }
}


/* ページャー */
.secCmnIndexPager {
    margin: 80px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.secCmnIndexPager .btnPrev,
.secCmnIndexPager .btnNext {
    position: relative;
}
.secCmnIndexPager .btnPrev {
    margin-right: 7px;
    padding-right: 70px;
}
.secCmnIndexPager .btnNext {
    padding-left: 70px;
    margin-left: 15px;
}
.secCmnIndexPager .inner {
    font-size: var(--pcFontSize18);
    line-height: 35px;
    color: rgba(34, 34, 34, 0.3);
    text-decoration: none;
    font-family: inherit;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 35px;
}
.secCmnIndexPager .btnPrev .inner,
.secCmnIndexPager .btnNext .inner {
    position: relative;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    text-align: center;
    flex-shrink: 0;
    display: block;
}
.secCmnIndexPager .btnPrev:not(:has(div.inner)):after,
.secCmnIndexPager .btnNext:not(:has(div.inner)):after {
    content: "";
    position: absolute;
    width: 50px;
    height: 1px;
    background: rgba(0, 45, 86, 0.2);
    top: calc(50% - 0.5px);
}
.secCmnIndexPager .btnPrev::after {
    right: 0;
}
.secCmnIndexPager .btnNext::after {
    left: 0;
}
.secCmnIndexPager .boxList {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    font-weight: 400;
}
.secCmnIndexPager .btn {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    margin: 5px 5px;
    white-space: nowrap;
}
.secCmnIndexPager .on .inner {
    color: rgba(34, 34, 34, 1);
}
.secCmnIndexPager .dots {
    border: 0;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    margin: 0 12px 0 0px;
    font-size: var(--pcFontSize18);
    color: rgba(34, 34, 34, 0.3);
    box-shadow: none;
    position: relative;
    top: 0;
    letter-spacing: -10px;
}

@media only screen and (max-width:767px) {
    .secCmnIndexPager {
        margin: 40px auto 0;
    }
    .secCmnIndexPager .btnPrev .inner,
    .secCmnIndexPager .btnNext .inner {
        width: 40px;
        height: 40px;
    }
    .secCmnIndexPager .dots {
        border: 0;
        background: transparent;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 30px;
        margin: 0 12px 0 0px;
        font-size: var(--spFontSize16);
        letter-spacing: -10px;
    }
    .secCmnIndexPager .inner {
        font-size: var(--spFontSize16);
        line-height: 35px;
    }
    .secCmnIndexPager .btn {
        width: auto;
        margin: 7px;
    }
    .secCmnIndexPager .btnPrev::after,
    .secCmnIndexPager .btnNext::after {
        width: 30px;
        height: 1px;
    }
    .secCmnIndexPager .btnNext {
        padding-left: 40px;
        margin-left: 2px;
    }
    .secCmnIndexPager .btnPrev {
        margin-right: 2px;
        padding-right: 40px;
    }
    .secCmnIndexPager .btnPrev:not(:has(div.inner)):after, 
    .secCmnIndexPager .btnNext:not(:has(div.inner)):after {
        width: 30px;
    }
}

/* boxBackBtn */
.boxBackBtn{
    border-top: 1px solid #ebeced;
    padding-top: 50px;
    margin-top: 120px;
}
.boxBackBtn .aBackBtn{
    width: 260px;
    height: 65px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 32px;
    border: 1px solid #002d59;
    font-size: var(--pcFontSize14);
    font-weight: bold;
    margin: 0 auto;
}
.boxBackBtn .aBackBtn span{
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
}
.boxBackBtn .aBackBtn span::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 40px;
    width: 12px;
    height: 11px;
    background: url(../img/common/iconBack.png) center top / cover no-repeat;
}
.boxBackBtn:only-child{
    position: static !important;
    width: 100% !important;
    margin: 0 auto !important;
    transform: inherit !important;
}
@media only screen and (max-width:767px){
    .boxBackBtn{
        margin-top: 50px;
    }
    .boxBackBtn .aBackBtn{
        width: 185px;
        height: 51px;
        border-radius: 25px;
        font-size: var(--spFontSize12);
    }
    .boxBackBtn .aBackBtn span{
        width: auto;
        padding-left: 13px;
    }
    .boxBackBtn .aBackBtn span::before{
        left: -7px;
    }
    .secPage:not(:has(.nextBox)):not(:has(.nextBox)) {
        padding-bottom: 0;
    }
    .boxBackBtn:only-child{
        position: static!important;
        border: none!important;
        padding: 0!important;
    }
}

/* listAboutLink */
#footer .linkItem .aAboutLink {
    font-size: unset;
    letter-spacing:unset;
    line-height: unset;
    width: auto;
}
.listAboutLink{
    margin-top: 1px;
    display: flex;
    justify-content: center;
}
.listAboutLink .linkItem{
    width: 24.948%;
}
.listAboutLink .linkItem:not(:last-child){
    margin-right: 1px;
}
.listAboutLink .aAboutLink {
    padding: 36.326% 0 36.326% 11.6%;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    display: flex;
    justify-content: center;
    overflow: hidden;
}
.listAboutLink .aAboutLink .txtBox {
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    color: #fff;
}
.listAboutLink .aAboutLink::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}
.listAboutLink .linkItem:nth-child(1) .aAboutLink.lazyloaded::after{
    background: url(../img/common/bgFooterLink01.jpg) center top / cover no-repeat;
}
.listAboutLink .linkItem:nth-child(2) .aAboutLink.lazyloaded::after{
    background: url(../img/common/bgFooterLink02.jpg) center top / cover no-repeat;
}
.listAboutLink .linkItem:nth-child(3) .aAboutLink.lazyloaded::after{
    background: url(../img/common/bgFooterLink03.jpg?250120) center top / cover no-repeat;
}
.listAboutLink .linkItem:nth-child(4) .aAboutLink.lazyloaded::after{
    background: url(../img/common/bgFooterLink04.jpg) center top / cover no-repeat;
}
.listAboutLink .linkItem .txtBox{
    z-index: 1;
    width: 100%;
}
.listAboutLink .linkItem .aLinkInner {
    position: absolute;
    top: 80px;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 65px;
    height: 65px;
    border-radius: 65px;
    border: 1px solid #fff;
}
.listAboutLink .linkItem .aLinkInner::after {
    border-color: transparent transparent transparent #fff;
    right: 20px;
}
.listAboutLink .linkItem .aLinkInner{
    top: auto;
    right: 30px;
    bottom: 30px;
}
.listAboutLink .linkItem .aLinkInner::before {
    background-color: #fff;
    width: 23px;
    left: 0;
}
.listAboutLink .linkItem .txtAbout{
    margin-top: 10px;
}
.listAboutLink .engTxt{
    mix-blend-mode: overlay;
}
.listAboutLink .jpTxt{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    margin-top: 21px;
    letter-spacing: 1.5px;
}
.listAboutLink .aAboutLink.jsShow::after{
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.listAboutLink .aAboutLink:hover::after{
    -webkit-transform: scale(1.05)!important;
	transform: scale(1.05)!important;
}
.listAboutLink.spOnly{
    display: none;
}
@media only screen and (max-width:767px){
    
    /* listAboutLink */
    .listAboutLink{
        margin-top: 15px;
        flex-direction: column;
    }
    .listAboutLink.spOnly{
        display: flex;
    }
    .listAboutLink.spNone{
        display: none;
    }
    .listAboutLink .linkItem{
        width: 100%;
        margin-top: 15px;
    }
    .listAboutLink .aAboutLink {
        padding: 45px 25px;
    }
    .listAboutLink .linkItem:nth-child(1) .aAboutLink.lazyloaded::after{
        background: url(../img/common/bgFooterLink01Sp.jpg) center top / cover no-repeat;
    }
    .listAboutLink .linkItem:nth-child(2) .aAboutLink.lazyloaded::after{
        background: url(../img/common/bgFooterLink02Sp.jpg) center top / cover no-repeat;
    }
    .listAboutLink .linkItem:nth-child(3) .aAboutLink.lazyloaded::after{
        background: url(../img/common/bgFooterLink03Sp.jpg?250120) center top / cover no-repeat;
    }
    .listAboutLink .linkItem:nth-child(4) .aAboutLink.lazyloaded::after{
        background: url(../img/common/bgFooterLink04Sp.jpg) center top / cover no-repeat;
    }
    .listAboutLink .linkItem .txtBox{
        width: 100%;
        padding: 0;
        justify-content: center;
    }
    .listAboutLink .linkItem .aLinkInner{
        top: 0;
        right: 15px;
        bottom: 0;
        left: auto;
    }
    .listAboutLink .linkItem .txtAbout{
        display: flex;
        align-items: center;
        margin-top: 13px;
    }
    .listAboutLink .engTxt{
        width: 153px;
    }
    .listAboutLink .linkItem:nth-child(2) .engTxt{
        width: 143px;
    }
    .listAboutLink .linkItem:nth-child(3) .engTxt{
        width: 134px;
    }
    .listAboutLink .linkItem:nth-child(4) .engTxt{
        width: 144px;
    }
    .listAboutLink .jpTxt{
        font-size: var(--spFontSize13);
        margin: 0;
        letter-spacing: var(--spLetterSpacing13_0);
    }
    .listAboutLink .linkItem .aLinkInner{
        top: auto;
        right: auto;
        bottom: 22vw;
        left: 7px;
        width: 39px;
        height: 39px;
        border-radius: 39px;
    }
    .listAboutLink .linkItem .aLinkInner {
        top: 0;
        right: 15px;
        bottom: 0;
        left: auto;
    }
    .listAboutLink .linkItem .aLinkInner::after {
        right: 12px;
    }
    .listAboutLink .linkItem .aLinkInner::before {
        width: 13px;
    }
}

/* secNoListData */
.secNoListData{
	text-align:center;
	padding:150px 0;
	font-size:16px;
	line-height:1.875;
	letter-spacing:1px;
}
.secNoListData:only-child{
	width:100%;
    padding-bottom: 0;
}
.secNoListData.fWhite{
	color:#fff;
}
@media only screen and (max-width:767px){
	.secNoListData{
		padding:100px 0;
		font-size:14px;
		letter-spacing:0.5px;
	}
}

/* フォームページのフッターCSS */
.pageForm #footer .wrapContact.lazyloaded {
    display: none;
}
.pageForm #footer .boxTel {
    display: none;
}
.pageForm #footer .boxLink {
    margin-top: 0px;
}
@media only screen and (max-width:767px) {
    .pageForm #footer .boxLink {
        margin-top: 0px;
    }
}