@charset "utf-8";

/*==============================
    remの基準
==============================*/
html{
    font-size: 10px;
}
@media only screen and (max-width:1500px){
    html{
        font-size: calc((10 / 1500) * 100vw);
    }
}
@media only screen and (max-width:1215px){
    html{
        font-size: 10px;
    }
}

/*==============================
    変数設定
==============================*/
/* 幅の基準 */
:root {
    --widthBase : 192rem;
}
@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:1215px){
    :root {
        --widthBase : 375px;
    }
}
@media only screen and (max-width:374px){
    :root {
        --widthBase : 100vw;
    }
}

:root {
    /* フッターの上の余白 */
    --footerPc: 14rem;
    --footerSp: 10rem;

    --footerContactPc: 20rem;
    --footerContactSp: 14rem;

    /* 色 */
    --textColor: #333;
    --keyColor: #018cd4;
    --whiteColor: #fff;
    --white_light2Color: rgba(255, 255, 255,0.2);
    --white_light3Color: rgba(255, 255, 255,0.4);
    --gray_lightColor: #ddd;
    --gray_light2Color: #a8aeaf;
    --gray_light3Color: #cecece;
    --gray_light4Color: #d0d0d0;
    --gray_light5Color: #616f7f;
    --grayColor: #666;
    --greenColor: #27aa41;
    --green_darkColor: #3c845a;
    --green_dark2Color: #40865d;
    --green_dark3Color: #006a2d;
    --green_dark4Color: #1f8b34;
    --orangeColor: #ff4e00;
    --orange_darkColor: #ec5816;
    --orange_lightColor: #ff6c00;
    --redColor: #b12424;
    --brownColor: #803600;
    --brown_darkColor: #53331c;
    --yellowColor: #e9c510;
    --yellow_lightColor: #fffc00;
    --yellow_light2Color: #eac512;
    --yellow_light3Color: #fac500;
    --yellow_light4Color: #fff600;
    --yellow_darkColor: #a58200;
    --beigeColor: #faf6ef;
    --beige_darkColor: #f2efea;
    --beige_dark2Color: #dbd5cc;
    --beige_lightColor: #f9f9f9;
    --beige_light2Color: #f1f0eb;
    --black_lightColor: #191f20;
    --black_light2Color: rgba(15, 15, 15,0.15);
    --bgFooterColor: #191f20;
    --borderFnaviColor: #333333;
    --bgbtnNaviColor: #f2efea;
    --bgFnaviColor: #eac512;
    --borderFnaviColor: #333333;
    --bgSelectColor: #c0bab0;
    --bgSelect2Color: #928d86;
    --borderSelectColor: #c0bab0;
    --mustColor: #ff2400;
    --optColor: #c3c9ca;
    --blue1Color: #53c5e2;
    --blue2Color: #2dbeb9;
    --blue3Color: #004eff;
    
    --linkColor: #258be5;
    --editor_linkColor: #295ea2;
    --editor_borderColor: #ccc;

    /* フォントサイズ（PC） */
    --pcFontSize10: 1rem;
    --pcFontSize11: 1.1rem;
    --pcFontSize12: 1.2rem;
    --pcFontSize14: 1.4rem;
    --pcFontSize15: 1.5rem;
    --pcFontSize16: 1.6rem;
    --pcFontSize18: 1.8rem;
    --pcFontSize20: 2rem;
    --pcFontSize21: 2.1rem;
    --pcFontSize22: 2.2rem;
    --pcFontSize24: 2.4rem;
    --pcFontSize26: 2.6rem;
    --pcFontSize28: 2.8rem;
    --pcFontSize30: 3rem;
    --pcFontSize32: 3.2rem;
    --pcFontSize36: 3.6rem;
    --pcFontSize40: 4rem;
    --pcFontSize42: 4.2rem;
    --pcFontSize45: 4.5rem;
    --pcFontSize50: 5rem;
    --pcFontSize55: 5.5rem;
    --pcFontSize60: 6rem;
    --pcFontSize65: 6.5rem;
    --pcFontSize70: 7rem;
    --pcFontSize80: 8rem;
    --pcFontSize90: 9rem;
    --pcFontSize100: 10rem;

    /* line-height（PC） */
    --pcLineHeight10_15: calc(15 / 10);
    --pcLineHeight11_16: calc(16 / 11);
    --pcLineHeight11_20: calc(20 / 11);
    --pcLineHeight12_22: calc(22 / 12);
    --pcLineHeight12_28: calc(28 / 12);
    --pcLineHeight14_21: calc(21 / 14);
    --pcLineHeight14_24: calc(24 / 14);
    --pcLineHeight14_28: calc(28 / 14);
    --pcLineHeight14_30: calc(30 / 14);
    --pcLineHeight16_28: calc(28 / 16);
    --pcLineHeight16_32: calc(32 / 16);
    --pcLineHeight18_30: calc(30 / 18);
    --pcLineHeight18_32: calc(32 / 18);
    --pcLineHeight18_38: calc(38 / 18);
    --pcLineHeight20_36: calc(36 / 20);
    --pcLineHeight22_25: calc(25 / 22);
    --pcLineHeight22_38: calc(38 / 22);
    --pcLineHeight22_42: calc(42 / 22);
    --pcLineHeight26_40: calc(40 / 26);
    --pcLineHeight26_50: calc(50 / 26);
    --pcLineHeight28_42: calc(42 / 28);
    --pcLineHeight28_50: calc(50 / 28);
    --pcLineHeight30_40: calc(40 / 30);
    --pcLineHeight32_44: calc(44 / 32);
    --pcLineHeight32_55: calc(55 / 32);
    --pcLineHeight36_50: calc(50 / 36);
    --pcLineHeight40_65: calc(65 / 40);
    --pcLineHeight50_70: calc(70 / 50);
    --pcLineHeight65_100: calc(100 / 65);

    /* letter-spacing（PC） */
    --pcLetterSpacing10_50: 0.05em;
    --pcLetterSpacing11_50: 0.05em;
    --pcLetterSpacing12_50: 0.05em;
    --pcLetterSpacing14_50: 0.05em;
    --pcLetterSpacing16_50: 0.05em;
    --pcLetterSpacing18_50: 0.05em;
    --pcLetterSpacing20_50: 0.05em;
    --pcLetterSpacing21_50: 0.05em;
    --pcLetterSpacing22_50: 0.05em;
    --pcLetterSpacing24_50: 0.05em;
    --pcLetterSpacing26_50: 0.05em;
    --pcLetterSpacing28_50: 0.05em;
    --pcLetterSpacing30_30: 0.03em;
    --pcLetterSpacing30_50: 0.05em;
    --pcLetterSpacing32_50: 0.05em;
    --pcLetterSpacing36_50: 0.05em;
    --pcLetterSpacing36_100: 0.1em;
    --pcLetterSpacing40_50: 0.05em;
    --pcLetterSpacing40_100: 0.1em;
    --pcLetterSpacing42_50: 0.05em;
    --pcLetterSpacing55_50: 0.05em;
    --pcLetterSpacing50_100: 0.1em;
    --pcLetterSpacing60_50: 0.05em;
    --pcLetterSpacing65_50: 0.05em;

    /* フォントサイズ（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));
    --spFontSize21: calc((21 / 375) * var(--widthBase));
    --spFontSize22: calc((22 / 375) * var(--widthBase));
    --spFontSize24: calc((24 / 375) * var(--widthBase));
    --spFontSize28: calc((28 / 375) * var(--widthBase));
    --spFontSize30: calc((30 / 375) * var(--widthBase));
    --spFontSize32: calc((32 / 375) * var(--widthBase));
    --spFontSize36: calc((36 / 375) * var(--widthBase));
    --spFontSize40: calc((40 / 375) * var(--widthBase));

    /* line-height（SP） */
    --spLineHeight10_13: calc(13 / 10);
    --spLineHeight10_18: calc(18 / 10);
    --spLineHeight11_15: calc(15 / 11);
    --spLineHeight11_20: calc(20 / 11);
    --spLineHeight12_18: calc(18 / 12);
    --spLineHeight12_20: calc(20 / 12);
    --spLineHeight12_22: calc(22 / 12);
    --spLineHeight12_24: calc(24 / 12);
    --spLineHeight13_21: calc(21 / 13);
    --spLineHeight13_23: calc(23 / 13);
    --spLineHeight13_26: calc(26 / 13);
    --spLineHeight14_22: calc(22 / 14);
    --spLineHeight14_26: calc(26 / 14);
    --spLineHeight16_26: calc(26 / 16);
    --spLineHeight15_22: calc(22 / 15);
    --spLineHeight17_25: calc(25 / 17);
    --spLineHeight18_26: calc(26 / 18);
    --spLineHeight18_28: calc(28 / 18);
    --spLineHeight18_30: calc(30 / 18);
    --spLineHeight20_26: calc(26 / 20);
    --spLineHeight20_30: calc(30 / 20);
    --spLineHeight21_34: calc(34 / 21);
    --spLineHeight22_34: calc(34 / 22);
    --spLineHeight24_40: calc(40 / 24);

    /* letter-spacing（SP） */
    --spLetterSpacing10_0: 0;
    --spLetterSpacing10_50: 0.05em;
    --spLetterSpacing11_0: 0;
    --spLetterSpacing11_50: 0.05em;
    --spLetterSpacing11_100: 0.1em;
    --spLetterSpacing12_0: 0;
    --spLetterSpacing12_150: 0.15em;
    --spLetterSpacing13_0: 0;
    --spLetterSpacing14_0: 0;
    --spLetterSpacing14_50: 0.05em;
    --spLetterSpacing15_0: 0;
    --spLetterSpacing16_0: 0;
    --spLetterSpacing18_0: 0;
    --spLetterSpacing18_50: 0.05em;
    --spLetterSpacing20_0: 0;
    --spLetterSpacing20_50: 0.05em;
    --spLetterSpacing22_50: 0.05em;
    --spLetterSpacing22_100: 0.1em;
    --spLetterSpacing24_0: 0;
    --spLetterSpacing28_50: 0.05em;
    --spLetterSpacing30_30: 0.03em;
    --spLetterSpacing36_30: 0.03em;
}

/*==============================
    基本設定
==============================*/
body{
    color:var(--textColor);
    font-size:var(--pcFontSize12);
    font-family:YakuHanJP,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",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:1180px;
    overflow-y: scroll;
}
@media only screen and (max-width:1215px){
    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;}
.fOswald{font-family:"Oswald", YakuHanJP,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro";}

.fOrange{color: var(--orange_lightColor);}
.fOrange2{color: var(--orangeColor);}
.fYellow{color: var(--yellowColor);}
.fYellow2{color: var(--yellow_light4Color);}
.fWhite{color: var(--whiteColor);}
.fGreen{color: var(--green_darkColor);}
.fGreen2{color: var(--greenColor);}
.bgYl{background: linear-gradient(transparent 60%, var(--yellow_lightColor) 60% ,var(--yellow_lightColor) 90%,transparent 90%);}
.bgYl100{background: linear-gradient(transparent 10%, var(--yellow_lightColor) 10% ,var(--yellow_lightColor) 80%,transparent 80%);}
.bgYl2{background: linear-gradient(transparent 65%, var(--yellow_light2Color) 65% ,var(--yellow_light2Color) 90%,transparent 90%);}
.bgYl.jsAnim,
.bgYl100.jsAnim,
.bgYl2.jsAnim {
    background-size: 0% 100%;
    background-repeat: no-repeat;
    transition: background-size 0.8s ease-out 0.4s;
}
.bgYl.jsShow,
.bgYl100.jsShow,
.bgYl2.jsShow {
    background-size: 100% 100%;
}

/*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:1215px){
    .ro a:hover,
    a.ro:hover,
    a .ro:hover,
    .cursorPointer:hover{ opacity:1; }
}

/*rollover(brightnessによる変化)*/
.cursorPointer.brt:hover,.cursorPointer .brt:hover,
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.cursorPointer.brt,.cursorPointer .brt,
.brt a,
a.brt,
a .brt{
    transition:filter 0.2s ease-out;
}
@media only screen and (max-width:1215px){
    .cursorPointer.brt:hover,.cursorPointer .brt:hover,
    .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:1215px){
    a[href^="tel:"]{
        pointer-events:auto;
        cursor:pointer;
    }
}

a{color: inherit;text-decoration: none;}

/* container */
#container{
    overflow:hidden;
    max-width:1920px;
    width: 100%;
    margin:0 auto;
}
#header + #container{
    padding-top: 11rem;
}
@media only screen and (max-width:1215px){
    #header + #container{
        padding-top: 6rem;
    }
}

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

/*-----------------------------------------------
    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;
}

/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper1720{
    max-width:calc(100% - 10rem);
    width: 172rem;
    margin: 0 auto;
}
.wrapper1690{
    max-width:calc(100% - 10rem);
    width: 169rem;
    margin: 0 auto;
}
.wrapper1620{
    max-width:calc(100% - 10rem);
    width: 162rem;
    margin: 0 auto;
}
.wrapper1600{
    max-width:calc(100% - 10rem);
    width: 160rem;
    margin: 0 auto;
}
.wrapper1500{
    max-width:calc(100% - 10rem);
    width: 150rem;
    margin: 0 auto;
}
.wrapper1280{
    max-width:calc(100% - 10rem);
    width: 128rem;
    margin: 0 auto;
}
.wrapper1260{
    max-width:calc(100% - 10rem);
    width: 126rem;
    margin: 0 auto;
}
.wrapper1000{
    max-width:calc(100% - 10rem);
    width: 100rem;
    margin: 0 auto;
}
.wrapper940{
    max-width:calc(100% - 10rem);
    width: 94rem;
    margin: 0 auto;
}
@media only screen and (max-width:1215px){
    .wrapper1720,
    .wrapper1620,
    .wrapper1600,
    .wrapper1500,
    .wrapper1280,
    .wrapper1260,
    .wrapper1000,
    .wrapper940{
        max-width:none;
        width: 100%;
    }
    .wrapperFit{
        max-width: 40rem;
        margin: 0 auto;
	}
    .wrapperSp{
        width: 92%;
        margin: 0 auto;
    }
    .wrapperSp335{
        width: 89.336%;
        margin: 0 auto;
    }
}

/*-----------------------------------------------
    jsHide
-----------------------------------------------*/
/* .jsHide,
.jsHideHero{
    transition: opacity .6s ease-in;
}
.jsHide:not(.jsShow),
.jsHideHero:not(.jsShow){
    opacity: 0;
} */

.jsHide,
.ro a.jsHide{
    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;
}
.jsHide.jsShow,
.ro a.jsHide.jsShow{
    transform: translateY(0);
    opacity: 1;
}

/*-----------------------------------------------
    isTarget
-----------------------------------------------*/
.isTarget{
    position: relative;
    display: inline-block;
    padding-right: 1.4rem;
}
.isTarget::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: -0.3rem;
    right: 0;
    width: 1rem;
    height: 1rem;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
}
.isTarget.lazyloaded::after{
    background-image: url(../img/common/iconTarget.png);
}

/*-----------------------------------------------
    txtNotice
-----------------------------------------------*/
.txtNotice{
    color: var(--textColor);
    border: 1px solid var(--black_lightColor);
    background-color: var(--yellowColor);
    text-align: center;
    display: inline-block;
}

/*-----------------------------------------------
    cmnBtn
-----------------------------------------------*/
.cmnBtn{
    position: relative;
    width: 100%;
    height: 9rem;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border-radius: 3rem;
    padding: 1.5rem 0 1rem 0;
    font-weight: bold;
    box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.15);
    font-size: var(--pcFontSize22);
    font-size: var(--pcFontSize26);
    letter-spacing: var(--pcLetterSpacing22_50);
}
.cmnBtn.bg01{
    background-color: var(--orangeColor);
    color: var(--whiteColor);
}
.cmnBtn.bg02{
    background-color: var(--greenColor);
    color: var(--whiteColor);
}
.cmnBtn.bg03{
    background-color: var(--green_darkColor);
    color: var(--whiteColor);
}
@media only screen and (max-width:1215px){
    .cmnBtn{
        height: 6rem;
        padding-top: 0.8rem;
        font-size: var(--spFontSize15);
        letter-spacing: var(--spLetterSpacing15_0);
        border-radius: 1.5rem;
    }
}

/*-----------------------------------------------
    isArrow
-----------------------------------------------*/
.isArrow{
    position: relative;
    display: inline-block;
    padding-right: 2.8rem;
}
.isArrow::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 2.2rem;
    height: 1.8rem;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
}
.isArrow.lazyloaded::before{
    background-image: url(../img/common/iconArrow.svg);
}
@media only screen and (max-width:1215px){
    .isArrow{
        padding-right: 2.2rem;
    }
    .isArrow.spArrowNone{
        padding-right: 0;
    }
    .isArrow::before{
        width: 2rem;
        height: 1.6rem;
    }
    .isArrow.spArrowNone::before{
        display: none;
    }
}

/*-----------------------------------------------
    header
-----------------------------------------------*/
#header{
    position: fixed;
    top: 0;
    left: 0;
    background-color: var(--whiteColor);
    width: 100%;
    z-index: 100;
}
#header .wrapper{
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 11rem;
    padding: 0 3rem 0 4rem;
}
/* headerLogo */
#header .headerLogo{
    display: flex;
    align-items: center;
    gap: 5rem;
    padding-top: 1rem;
}
#header .txtHeader{
    font-size: var(--pcFontSize11);
    line-height: var(--pcLineHeight11_16);
    margin-top: 1.4rem;
    white-space: nowrap;
}
#header .txtLogo{
    font-size: var(--pcFontSize10);
    margin-bottom: 0.5rem;
}
/* presentedLogo */
#header .presentedLogo{
    padding: 0.6rem 0 1.5rem 2.8rem;
}
/* headerLink */
#header .headerLink{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2.5rem;
}
/* boxBtn */
#header .boxBtn{
    width: 24rem;
}
#header .boxBtn .linkBtn{
    width: 100%;
    height: 6rem;
    color: var(--whiteColor);
    font-size: var(--pcFontSize16);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2rem;
    background-color: var(--orangeColor);
    box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.15);
}
/* boxTel */
#header .boxTel{
    display: flex;
    align-items: center;
    gap: 1rem;
}
#header .boxTel .txt{
    font-size: var(--pcFontSize12);
    margin: 0.7rem 0.7rem 0 0;
}
#header .boxTel .txtTel{
    font-size: var(--pcFontSize36);
    letter-spacing: var(--pcLetterSpacing36_50);
    font-weight: 600;
    display: block;
}
#header .boxTel .txtInfo{
    margin: 1.5rem 0 0 0;
}
@media only screen and (max-width:1730px){
    #header .boxLink {
        flex-wrap: wrap;
        justify-content: flex-end;
        width: 40%;
        gap: 1.5rem 2rem;
    }
    #header .boxTel .txtTel {
        font-size: var(--pcFontSize28);
    }
}
@media only screen and (max-width:1215px){
    #header .wrapper{
        height: 6rem;
        padding: 1.2rem 1.4rem;
    }
    /* headerLogo */
    #header .headerLogo{
        gap: 1.5rem;
        padding: 0;
    }
    #header:not(.header_index) .txtHeader{
        display: none;
    }
    #header.header_index .txtHeader{
        position: absolute;
        bottom: -2.8rem;
        left: 0;
        right: 0;
        margin: auto;
        font-size: var(--spFontSize10);
        transform: scale(0.9);
        text-align: left;
        display: none;
    }
    #header.header_index .txtHeader.is-show{
        display: block;
    }
    /* siteLogo */
    #header .siteLogo{
        width: 13.9rem;
    }
    #header .txtLogo{
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_0);
        margin-bottom: 0.2rem;
    }
    /* presentedLogo */
    #header .presentedLogo{
        padding: 0.4rem 0 0.4rem 1.5rem;
        border-left: 1px solid var(--gray_lightColor);
    }
    #header .presentedLogo .logo{
        width: 7rem;
        display: block;
    }
    /* boxBtn */
    #header .boxBtn{
        width: 8rem;
    }
    #header .boxBtn .linkBtn{
        height: 4rem;
        font-size: var(--spFontSize12);
        font-weight: normal;
    }
    /* boxTel */
    #header .boxTel{
        display: none;
    }
}

/*-----------------------------------------------
    footer
-----------------------------------------------*/
#footer{
    background-color: var(--bgFooterColor);
    color: var(--whiteColor);
    padding: 9rem 0;
    margin-top: var(--footerPc);
}
.secCmnCtaBuy + #footer,
.secCmnContact + #footer{
    margin-top: 0;
}
/* txtFooter */
#footer .txtFooter{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_28);
    letter-spacing: var(--pcLetterSpacing12_50);
    color: var(--gray_light2Color);
}
/* boxTel */
#footer .boxTel{
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 4rem;
}
#footer .boxTel .txt{
    font-size: var(--pcFontSize12);
    margin: 0.7rem 0.7rem 0 0;
}
#footer .boxTel .txtTel{
    font-size: var(--pcFontSize36);
    letter-spacing: var(--pcLetterSpacing36_50);
    font-weight: 600;
    display: block;
}
#footer .boxTel .txtInfo{
    margin: 1.5rem 0 0 0;
}
/* boxBtn */
#footer .boxBtn{
    margin-top: 4.5rem;
    width: 27rem;
}
#footer .boxBtn .img{
    width: 100%;
    height: 10rem;
    padding: 0 3rem;
    background-color: var(--whiteColor);
    display: flex;
    justify-content: center;
    align-items: center;
}
#footer .boxBtn .txtImg{
    font-size: var(--pcFontSize12);
    color: var(--gray_light2Color);
    margin-top: 1.5rem;
}
/* footerInfo */
#footer .footerInfo{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 0.5rem;
}
#footer .footerInfo .link{
    font-size: var(--pcFontSize12);
    color: var(--gray_light2Color);
    font-weight: normal;
}
/* boxSns */
#footer .footerInfo .boxSns{
    display: flex;
    justify-content: flex-end;
    gap: 1.5rem;
    width: 100%;
}
#footer .footerInfo .link{
    border-radius: 100%;
    display: block;
    overflow: hidden;
}
/* copy */
#footer #copy{
    text-align: left;
    font-size: var(--pcFontSize11);
    color: var(--gray_light2Color);
    font-weight: normal;
}
@media only screen and (max-width:1215px){
    #footer{
        padding: 4.5rem 2rem 11rem;
        margin-top: var(--footerSp);
    }
    /* txtFooter */
    #footer .txtFooter{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        letter-spacing: var(--spLetterSpacing11_0);
    }
    /* boxTel */
    #footer .boxTel{
        flex-direction: column;
        margin-top: 2rem;
    }
    #footer .boxTel .txt{
        font-size: var(--spFontSize11);
        margin: 0;
    }
    #footer .boxTel .txtTel{
        font-size: var(--spFontSize36);
        letter-spacing: var(--spLetterSpacing36_30);
    }
    #footer .boxTel .txtInfo{
        margin: 0;
    }
    /* boxBtn */
    #footer .boxBtn{
        margin: 2.5rem auto 0;
        width: 17.5rem;
    }
    #footer .boxBtn .img{
        padding: 2rem;
        height: 6.5rem;
    }
    #footer .boxBtn .logo{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    #footer .boxBtn .txtImg{
        font-size: var(--spFontSize12);
        margin-top: 1.5rem;
    }
    /* footerInfo */
    #footer .footerInfo{
        justify-content: center;
        margin-top: 0;
        gap: 0;
    }
    #footer .footerInfo .boxLink{
        display: none;
    }
    /* boxSns */
    #footer .footerInfo .boxSns{
        justify-content: center;
        margin-top: 4rem;
        gap: 1.1rem;
    }
    #footer .boxSns .item{
        width: 4rem;
    }
    /* copy */
    #footer #copy{
        font-size: var(--spFontSize10);
        margin-top: 3rem;
        white-space: nowrap;
    }
}


/*-----------------------------------------------
    btnNavi
-----------------------------------------------*/
#btnNavi{
    display: none;
}
@media only screen and (max-width:1215px){
    #btnNavi {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        width: 6rem;
        height: 6rem;
        background-color: var(--bgbtnNaviColor);
        color: var(--green_darkColor);
        overflow: hidden;
        z-index: 9999;
        transition: all 0.4s ease-out;
    }
    #btnNavi .txt{
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        padding-bottom: 1.3rem;
        font-size: var(--spFontSize10);
        transform: scale(0.9);
    }
    #btnNavi:not(.naviOpen) .txt .open,
    #btnNavi.naviOpen .txt .close{
        display: none;
    }
    #btnNavi.naviOpen .txt .open{
        display: inline;
    }
    #btnNavi .border{
        position: absolute;
        top: 1.5rem;
        left: 0;
        right: 0;
        margin: auto;
        width: 1.6rem;
        height: 1.4rem;
        border-bottom: 2px solid var(--green_darkColor);
        transition: all 0.4s ease-out;
        z-index: 1;
    }
    #btnNavi .border::after,
    #btnNavi .border::before{
        position: absolute;
        content: '';
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 2px;
        background-color: var(--green_darkColor);
        transition: all 0.4s ease-out;
        z-index: 1;
    }
    #btnNavi .border::before{
        top: 1px;
        bottom: 0;
    }
    #btnNavi.naviOpen{
        position: absolute;
        background-color: unset;
        color: var(--whiteColor);
    }
    #btnNavi.naviOpen .border{
        width: 1.8rem;
        border-bottom: none;
    }
    #btnNavi.naviOpen .border::after,
    #btnNavi.naviOpen .border::before{
        background-color: var(--whiteColor);
    }
    #btnNavi.naviOpen .border::after{
        transform: translateY(0.5rem) rotate(45deg);
    }
    #btnNavi.naviOpen .border::before{
        bottom: auto;
        top: 0;
        transform: translateY(0.5rem) rotate(-45deg);
    }
}


/*-----------------------------------------------
    menu
-----------------------------------------------*/
#menu{
    display: none;
}
@media only screen and (max-width:1215px){
    #menu {
        position: relative;
        z-index: 9998;
        min-height: 100vh;
        width: 100%;
        background-color: var(--green_dark2Color);
        padding: 6rem 2rem 10rem;
    }
    /* wrapper */
    #menu .wrapper{
        position: relative;
        background-color: var(--whiteColor);
        border-radius: 0 1rem 1rem 1rem;
        padding: 3rem 3rem 4rem;
    }
    #menu .wrapper::before{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        bottom: -7.5rem;
        left: 0;
        right: 0;
        width: 13.5rem;
        height: 10.2rem;
        background-position: center top;
        background-repeat: no-repeat;
        background-size: contain;
    }
    #menu .wrapper.lazyloaded::before{
        background-image: url(../img/icon/icon01.png);
    }
    /* menuLink */
    #menu .menuLink{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 3.2rem;
    }
    /* boxLink */
    #menu .boxLink{
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    #menu .boxLink .item{
        width: 100%;
    }
    #menu .boxLink .link{
        width: 100%;
        font-size: var(--spFontSize16);
        display: block;
        font-weight: bold;
        padding: 1rem 0;
    }
    /* boxBtnLink */
    #menu .boxBtnLink{
        gap: 2.2rem;
    }
    #menu .boxLink .txt{
        position: absolute;
        top: -1.2rem;
        left: 0;
        margin: auto;
        min-width: 13rem;
        font-size: var(--spFontSize10);
        border-radius: 1.3rem;
        padding: 0.7rem 0.3rem;
        font-weight: normal;
    }
    /* boxTel */
    #menu .boxTel{
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 3rem;
        padding-top: 3rem;
        border-top: 1px solid var(--green_darkColor);
    }
    #menu .boxTel .txt{
        text-align: center;
        font-size: var(--spFontSize14);
        margin-bottom: 0.2rem;
    }
    #menu .boxTel .txtTel{
        position: relative;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30_30);
        font-weight: 600;
        padding: 0.8rem 0 0.8rem 3.8rem;
        display: block;
    }
    #menu .boxTel .txtTel::before{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: 3px;
        bottom: 0;
        left: 0;
        width: 3.1rem;
        height: 2rem;
        background-position: center top;
        background-repeat: no-repeat;
        background-size: contain;
    }
    #menu .boxTel.lazyloaded .txtTel::before{
        background-image: url(../img/common/iconTel.png);
    }
    #menu .boxTel .txtInfo{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_50);
        margin-top: 0.5rem;
    }
    /* boxLine */
    #menu .boxLine{
        margin-top: 1.8rem;
    }
    #menu .boxLine .link{
        width: 100%;
        height: 5.6rem;
        background-color: var(--greenColor);
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_50);
        color: var(--whiteColor);
        font-weight: bold;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 2.8rem;
    }
}


/*-----------------------------------------------
    fNavi
-----------------------------------------------*/
#fNavi{
    display: none;
}
@media only screen and (max-width:1215px){
    #fNavi{
        position: fixed;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        width: 92%;
        display: block;
        transition: all 0.5s ease-out;
        opacity: 0;
        z-index: -99;
        background-color: var(--bgFnaviColor);
        border-radius: 1rem 1rem 0 0;
        padding: 1.2rem 1.6rem;
    }
    #fNavi:after{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 2px solid var(--borderFnaviColor);
        border-bottom: none;
        border-radius: 1rem 1rem 0 0;
    }
    #fNavi.jsShow{
        opacity: 1;
        z-index: 999;
    }
    #fNavi.is-hidden{
        opacity: 0;
        z-index: -99;
    }
    #fNavi .wrapper{
        position: relative;
        z-index: 1;
    }
    #fNavi .naviList{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.6rem;
    }
    #fNavi .naviList .naviItem{
        width: 63.9%;
    }
    #fNavi .naviList .telItem{
        min-width: 10rem;
        width: 12.78%;
        border-radius: 50%;
    }
    #fNavi .naviList .link{
        width: 100%;
        height: 4rem;
        border-radius: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.15);
        padding-bottom: 1px;
        font-size: var(--spFontSize13);
        font-weight: bold;
        gap: 0.4rem;
    }
    #fNavi .naviList .bg01{
        background-color: var(--greenColor);
    }
    #fNavi .naviList .bg02{
        background-color: var(--orangeColor);
    }
    #fNavi .naviList .bg03{
        background-color: var(--whiteColor);
        color: var(--textColor);
    }
    #fNavi .naviList .txtIcon {
        background-color: var(--whiteColor);
        font-size: var(--spFontSize11);
        border-radius: 0.5rem;
        margin-right: 0.5rem;
        vertical-align: 0.1rem;
        padding: 0 0.4rem 0;
        font-weight: normal;
    }
    #fNavi .naviList .txtLink{
        color: var(--whiteColor);
    }
}

/*-----------------------------------------------
    secCmnCta
-----------------------------------------------*/
.secCmnCta{
    position: relative;
    background-color: var(--yellow_light2Color);
    text-align: center;
    z-index: 1;
    overflow: hidden;
}
.secCmnCta .wrapper{
    padding: 10rem 0;
    overflow-y: clip;
}
.secCmnCta .boxCmnTit{
    position: relative;
    display: inline-block;
}
.secCmnCta .boxCmnTit .tit{
    font-size: var(--pcFontSize40);
}
.secCmnCta .boxCmnTit .txt{
    font-size: var(--pcFontSize18);
}
.secCmnCta .boxCmnTit .txtIcon{
    position: absolute;
    top: -7rem;
    left: -10rem;
    font-size: 0;
    width: 10rem;
    height: 10rem;
}
.secCmnCta .boxCmnTit .txtIcon:before{
    position: absolute;
    content: '完全無料';
    font-size: 0;
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
}
.secCmnCta .boxCmnTit.lazyloaded .txtIcon::before{
    background-image: url(../img/index/iconCta02.png);
}
/* boxLink */
.secCmnCta .boxList{
    position: relative;
    background-color: var(--whiteColor);
    border-radius: 2rem;
    padding: 4rem 7rem;
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
    margin-top: 3.8rem;
}
.secCmnCta .boxList:after{
    position: absolute;
    content: 'お気軽にご相談ください！';
    margin: auto;
    display: block;
    font-size: 0;
    bottom: -10rem;
    right: -15rem;
    width: 20.6rem;
    height: 35.3rem;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
}
.secCmnCtaBuy .boxList:after{
    right: -11rem;
    width: 14.9rem;
    height: 35.6rem;
}
.secCmnCta.lazyloaded .boxList:after{
    background-image: url(../img/index/imgCta.png);
}
.secCmnCtaBuy.lazyloaded .boxList:after{
    background-image: url(../img/index/imgCta03.png);
}
.secCmnCta .boxLink {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 2rem;
}
.secCmnCta .boxLink .item{
    width: calc((100% - 2rem) / 2);
}
.secCmnCta .boxLink .item:only-child{
    width: 100%;
}
.secCmnCta .boxLink .cmnBtn {
    overflow-x: clip;
    z-index: 1;
}
.secCmnCta .boxLink .cmnBtn::before{
	content: "";
	position: absolute;
	top: 0;
	left: -10%;
	z-index: 2;
	display: block;
	opacity: 1;
	width: 10%;
	height: 100%;
	background: var(--white_light3Color);
	transform: skew(-25deg);
	transform-origin: top left;
	animation: oh-button-anim1 2s ease infinite; 
    z-index: -1;
}
@keyframes oh-button-anim1{
	0%{left:-50px;opacity:1}
	90%{left:100%;opacity:0}
	100%{left:100%;opacity:0}
}
.secCmnCta .boxLink .txt{
    position: absolute;
    top: -1.5rem;
    left: 2rem;
    margin: auto;
    min-width: 15rem;
    font-size: var(--pcFontSize11);
    letter-spacing: 0;
    border-radius: 1.6rem;
    padding: 1rem 1.5rem;
    font-weight: bold;
}
.secCmnCta .boxLink .txtIcon{
    font-size: var(--pcFontSize18);
    background-color: var(--whiteColor);
    border-radius: 1rem;
    padding: 0.3rem 0.6rem 0.1rem;
    font-weight: bold;
    margin-right: 0.5rem;
    vertical-align: 0.2rem;
}
/* secCmnTicker */
.secCmnCta .secCmnTicker{
    position: absolute;
    bottom: 5rem;
    left: 0;
    z-index: -2;
}
@media only screen and (max-width:1215px){
    .secCmnCta{
        text-align: left;
    }
    .secCmnCta .wrapper{
        position: relative;
        padding: 3.6rem 0 4.5rem;
    }
    .secCmnCta .wrapper:after{
        position: absolute;
        content: 'お気軽にご相談ください！';
        font-size: 0;
        margin: auto;
        display: block;
        right: 0;
        top: 6%;
        width: 13.2rem;
        height: 14.7rem;
        background-position: center top;
        background-repeat: no-repeat;
        background-size: contain;
        z-index: -1;
    }
    .secCmnCtaBuy .wrapper:after{
        right: 3%;
        width: 11.8rem;
        height: 14.2rem;
    }
    .secCmnCta.lazyloaded .wrapper:after{
        background-image: url(../img/index/imgCta_sp.png);
    }
    .secCmnCtaBuy.lazyloaded .wrapper:after{
        background-image: url(../img/index/imgCta03_sp.png);
    }
    .secCmnCta .boxCmnTit{
        text-align: left;
        padding: 0 1.5rem;
    }
    .secCmnCta .boxCmnTit .tit{
        font-size: var(--spFontSize20);
        margin: 0.8rem 0 0 0;
    }
    .secCmnCta .boxCmnTit .txt{
        font-size: var(--spFontSize12);
        margin-top: 0.5rem;
    }
    .secCmnCta .boxCmnTit .txtIcon{
        position: static;
        width: 7rem;
        height: 2.2rem;
        border-radius: 1.1rem;
        padding-top: 2px;
        background-color: var(--brownColor);
        color: var(--whiteColor);
        font-size: var(--spFontSize12);
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .secCmnCtaBuy .boxCmnTit .txtIcon:before,
    .secCmnCta .boxCmnTit .txtIcon:before{
        display: none;
    }
    /* boxLink */
    .secCmnCta .boxList{
        padding: 1.5rem;
        margin-top: 2rem;
    }
    .secCmnCta:not(.secCmnCtaBuy) .boxList:before,
    .secCmnCta:not(.secCmnCtaBuy) .boxList:after{
        display: none;
    }
    .secCmnCtaBuy .boxList:before{
        top: -13rem;
        bottom: auto;
        left: auto;
        right: -2.5rem;
        width: 14.7rem;
        height: 14.3rem;
    }
    .secCmnCtaBuy .boxList:after{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: -18rem;
        right: -2.5rem;
        width: 14.7rem;
        height: 5rem;
        background-color: var(--yellow_light2Color);
        background-image: none!important;
        z-index: -1;
    }
    .secCmnCta .boxLink {
        flex-wrap: wrap;
        gap: 2.3rem;
    }
    .secCmnCta .boxLink .item{
        width: 100%;
        padding-top: 2rem;
        overflow: hidden;
    }
    .secCmnCta .boxLink .cmnBtn {
        overflow-x: visible;
    }
    .secCmnCta .boxLink .link{
        height: 6rem;
        padding-top: 1.2rem;
        font-size: var(--spFontSize15);
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing15_0);
        border-radius: 1.5rem;
    }
    .secCmnCta .boxLink .txt{
        top: -1.8rem;
        left: 0;
        min-width: 13rem;
        font-size: var(--spFontSize10);
        border-radius: 1.3rem;
        padding: 0.7rem 1rem;
    }
    .secCmnCta .boxLink .txtArrow{
        padding-right: 0;
    }
    .secCmnCta .boxLink .txtArrow::before{
        display: none;
    }
    .secCmnCta .boxLink .txtIcon {
        font-size: var(--spFontSize14);
        border-radius: 0.5rem;
        margin-right: 0.5rem;
        vertical-align: 0.2rem;
        padding-top: 0.2rem;
    }
    /* secCmnTicker */
    .secCmnCta .secCmnTicker{
        bottom: 1rem;
    }
}

/*-----------------------------------------------
    secCmnTicker
-----------------------------------------------*/
.secCmnTicker{
    overflow: hidden;
}
.secCmnTicker .boxTicker {
    display: flex;
}
.secCmnTicker .itemTicker:nth-child(odd) {
    animation: loop 80s -40s linear infinite;
    backface-visibility: hidden;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}
.secCmnTicker .itemTicker:nth-child(even) {
    animation: loop2 80s linear infinite;
}
@keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}
@media only screen and (max-width:1215px){
    .secCmnTicker .imgTicker{
        width: 142.3rem;
        height: 8.6rem;
    }
}

/*-----------------------------------------------
    boxCmnTit
-----------------------------------------------*/
.boxCmnTit{
    text-align: center;
}
.boxCmnTit .tit{
    font-size: var(--pcFontSize50);
    letter-spacing: var(--pcLetterSpacing50_100);
    font-weight: bold;
}
.boxCmnTit .titLL{
    font-size: var(--pcFontSize100);
}
.boxCmnTit .titL{
    font-size: var(--pcFontSize30);
    margin-top: 1.8rem;
}
.boxCmnTit .tit65{
    font-size: var(--pcFontSize65);
    line-height: var(--pcLineHeight65_100);
    letter-spacing: var(--pcLetterSpacing65_50);
}
.boxCmnTit .txt{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_42);
    letter-spacing: var(--pcLetterSpacing22_50);
    font-weight: bold;
    margin-top: 1.5rem;
}
@media only screen and (max-width:1215px){
    .boxCmnTit .tit{
        font-size: var(--spFontSize20);
        line-height: var(--spLineHeight20_26);
        letter-spacing: var(--spLetterSpacing20_0);
    }
    .boxCmnTit .titLL{
        font-size: var(--spFontSize40);
    }
    .boxCmnTit .titL{
        font-size: var(--spFontSize12);
        margin-top: 1.2rem;
    }
    .boxCmnTit .tit65{
        font-size: var(--spFontSize24);
        line-height: 1;
        letter-spacing: var(--spLetterSpacing24_0);
    }
    .boxCmnTit .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
        letter-spacing: var(--spLetterSpacing12_0);
        margin-top: 1.2rem;
    }
}

/*-----------------------------------------------
    secCmnContact
-----------------------------------------------*/
.secCmnContact{
    background-color: var(--greenColor);
    margin-top: var(--footerContactPc);
    padding: 12rem 0 16rem;
}
.secCmnContact .wrapper{
    position: relative;
    z-index: 1;
}
/* boxCmnTit */
.secCmnContact .boxCmnTit{
    position: relative;
    padding-top: 4rem;
    color: var(--whiteColor);
}
.secCmnContact .boxCmnTit .txt {
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_30);
    letter-spacing: var(--pcLetterSpacing18_50);
    margin-top: 1.8rem;
}
.secCmnContact .boxCmnTit .imgTit{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: -1;
}
/* boxCmnContact */
.secCmnContact .boxCmnContact{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--whiteColor);
    border-radius: 1rem;
    padding: 4rem 0;
    margin-top: 5.5rem;
}
.secCmnContact .boxCmnContact::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 2px;
    height: calc(100% - 8rem);
    background-color: var(--green_darkColor);
}
/* boxContact */
.secCmnContact .boxContact{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 84rem;
    padding: 0.9rem 4rem 0;
}
.secCmnContact .boxContact .txt{
    text-align: center;
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing36_100);
    margin-bottom: 0.2rem;
}
/* boxTel */
.secCmnContact .boxTel .txt{
    margin-bottom: 0.2rem;
}
.secCmnContact .boxTel .txtTel{
    position: relative;
    font-size: var(--pcFontSize36);
    letter-spacing: var(--pcLetterSpacing36_50);
    font-weight: 600;
    margin-top: 1rem;
    padding: 0.8rem 0 0.8rem 4.6rem;
    display: block;
}
.secCmnContact .boxTel .txtTel::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 3px;
    bottom: 0;
    left: 0;
    width: 3.6rem;
    height: 2.4rem;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
}
.secCmnContact .boxTel.lazyloaded .txtTel::before{
    background-image: url(../img/common/iconTel.png);
}
.secCmnContact .boxTel .txtInfo{
    font-size: var(--pcFontSize11);
    letter-spacing: var(--spLetterSpacing11_50);
    margin: 0.8rem auto 0.9rem;
}
/* boxLine */
.secCmnContact .boxLine .link{
    width: 30rem;
    height: 6.4rem;
    background-color: var(--greenColor);
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_50);
    color: var(--whiteColor);
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3.2rem;
    padding-top: 0.4rem;
    margin: 2.6rem auto 0;
}
/* imgTxt */
.secCmnContact .imgTxt{
    position: absolute;
    top: -1rem;
    right: -16.5rem;
    margin: auto;
    z-index: 1;
}
.secCmnContact .jsShow .imgTxt{
    animation: puff-in-center 0.4s cubic-bezier(0.470, 0.000, 0.745, 0.715) both 0.2s;
}
.secCmnContact .imgTxt::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 7rem;
    right: 4rem;
    width: 23.2rem;
    height: 24.4rem;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}
.secCmnContact .imgTxt.lazyloaded::after{
    background-image: url(../img/icon/icon02.png);
}
@keyframes puff-in-center {
    0% {
        transform: scale(1.1);
        filter: blur(2px);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        filter: blur(0px);
        opacity: 1;
    }
}
@media only screen and (max-width:1380px){
    .secCmnContact .imgTxt{
        right: -18.5rem;
    }
}
@media only screen and (max-width:1215px){
    .secCmnContact{
        position: relative;
        margin-top: var(--footerContactSp);
        padding: 4.7rem 0 6rem;
    }
    .secCmnContact .wrapper{
        padding: 0 0.5rem;
    }
    /* boxCmnTit */
    .secCmnContact .boxCmnTit{
        padding-top: 2.5rem;
    }
    .secCmnContact .boxCmnTit .txt {
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing12_0);
        margin-top: 0.5rem;
        font-weight: normal;
    }
    .secCmnContact .boxCmnTit .imgTit{
        width: 90%;
    }
    /* boxCmnContact */
    .secCmnContact .boxCmnContact{
        position: static;
        flex-direction: column;
        padding: 2.5rem;
        margin-top: 2rem;
    }
    .secCmnContact .boxCmnContact::before{
        display: none;
    }
    /* boxContact */
    .secCmnContact .boxContact{
        position: relative;
        width: 100%;
        padding: 0.8rem 0 0 0;
    }
    .secCmnContact .boxContact + .boxContact:before{
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: var(--green_darkColor);
    }
    .secCmnContact .boxContact .txt{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
    }
    /* boxTel */
    .secCmnContact .boxTel{
        margin-top: 3rem;
        padding: 3rem 0 0.7rem 0;
    }
    .secCmnContact .boxTel .txt{
        margin-bottom: 0.2rem;
    }
    .secCmnContact .boxTel .txtTel{
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30_30);
        margin-top: 0;
        padding: 0.8rem 0 0.8rem 3.8rem;
    }
    .secCmnContact .boxTel .txtTel::before{
        width: 3.1rem;
        height: 2rem;
    }
    .secCmnContact .boxTel .txtInfo{
        font-size: var(--pcFontSize11);
        letter-spacing: var(--spLetterSpacing11_50);
        margin: 0.5rem auto 0;
    }
    /* boxLine */
    .secCmnContact .boxLine .link{
        width: 100%;
        height: 5.6rem;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
        border-radius: 2.8rem;
        margin-top: 1.5rem;
    }
    /* imgTxt */
    .secCmnContact .imgTxt{
        top: -12.5rem;
        right: -14.5rem;
        left: 0;
        margin: auto;
        width: 8.7rem;
    }
    .secCmnContact .imgTxt::after{
        top: 3rem;
        right: 6.5rem;
        width: 10rem;
        height: 10.5rem;
    }
}

/*-----------------------------------------------
    pnkz
-----------------------------------------------*/
#pnkz{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 3rem 3rem 0;
    font-size: var(--pcFontSize11);
    letter-spacing: var(--pcLetterSpacing11_50);
}
#pnkz .pnkzWrap{
    display: flex;
    gap: 1rem;
}
#pnkz .pnkzItem{
    position: relative;
    z-index: 1;
}
#pnkz .pnkzItem + .pnkzItem::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: -1rem;
    width: 1rem;
    height: 1px;
    background-color: var(--black_light2Color);
    z-index: -1;
}
#pnkz.pnkz_white .pnkzItem + .pnkzItem::before{
    background-color: var(--white_light2Color);
}
#pnkz .txt{
    position: relative;
    z-index: 1;
    background-color: var(--whiteColor);
    padding: 1.1rem 2.1rem 0.9rem;
    border-radius: 1.55rem;
    display: inline-block;
}
#pnkz .txt:not(a){
    background-color: var(--black_light2Color);
    color: var(--whiteColor);
}
#pnkz.pnkz_white .txt:not(a){
    background-color: var(--white_light2Color);
}
#pnkz a.txt{
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}
@media only screen and (max-width:1215px){
    #pnkz{
        padding: 1.5rem 0 0 1.5rem;
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_18);
        letter-spacing: var(--spLetterSpacing10_0);
    }
    #pnkz .pnkzWrap{
        white-space: nowrap;
        overflow-x: scroll;
        gap: 0.5rem;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    #pnkz .pnkzItem + .pnkzItem::before{
        left: -0.5rem;
        width: 0.5rem;
    }
    #pnkz .txt{
        padding: 0.2rem 1.1rem 0.1rem;
        border-radius: 1.05rem;
    }
}

/*-----------------------------------------------
    secCmnTop
-----------------------------------------------*/
.secCmnTop{
    position: relative;
    text-align: center;
    background: url(../img/common/bgNoise.png) 0% 0% / 5rem 5rem repeat var(--whiteColor);
}
/* secCmnTopForm */
.secCmnTopForm{
    padding: 11.5rem 0 21.6rem;
}
/* secCmnTit */
.secCmnTopForm .secCmnTit .txt{
    color: var(--whiteColor);
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing30_30);
    font-weight: bold;
}
.secCmnTopForm .secCmnTit .tit{
    position: relative;
    color: var(--yellow_lightColor);
    font-size: var(--pcFontSize60);
    letter-spacing: var(--pcLetterSpacing60_50);
    font-weight: bold;
    display: inline-block;
    margin-top: 2.7rem;
    padding-bottom: 5.2rem;
}
.secCmnTopForm .secCmnTit .titL{
    font-size: var(--pcFontSize80);
    line-height: 0;
}
.secCmnTopForm .secCmnTit .tit::after{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    bottom: 0;
    right: 0;
    left: -0.5rem;
    width: 25.8rem;
    height: 3.6rem;
    background: url(../img/common/iconTit.png) center top / cover no-repeat;
}
@media only screen and (max-width:1215px){
    .secCmnTop{
        background-size: 2.5rem 2.5rem;
    }
    /* secCmnTopForm */
    .secCmnTopForm{
        padding: 6.8rem 0 10.9rem;
    }
    /* secCmnTit */
    .secCmnTopForm .secCmnTit .txt{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
    }
    .secCmnTopForm .secCmnTit .tit{
        font-size: var(--spFontSize22);
        letter-spacing: var(--spLetterSpacing22_100);
        margin-top: 1.5rem;
        padding-bottom: 2.2rem;
    }
    .secCmnTopForm .secCmnTit .titL{
        font-size: var(--spFontSize32);
    }
    .secCmnTopForm .secCmnTit .tit::after{
        left: -1rem;
        width: 11.6rem;
        height: 1.6rem;
    }
}



/*-----------------------------------------------
    secCampaign02
-----------------------------------------------*/
.secCampaign02{
    position: relative;
    margin-top: 25rem;
    padding: 17rem 0;
    z-index: 1;
}
.secCampaign02.lazyloaded{
    background: url(../img/index/bgCampaign02.png) left bottom / 52rem 69.2rem no-repeat, url(../img/index/bgCampaignIcon02.png) center bottom / 1rem 1rem repeat;
}
.secCampaign02 .boxCmnTit{
    text-align: left;
}
.secCampaign02 .wrapper{
    position: relative;
}
.secCampaign02 .boxImg{
    margin-top: 3rem;
}
.secCampaign02 .boxImg .img02{
    position: absolute;
    top: 0;
    right: 3rem;
    z-index: -1;
}
.secCampaign02 .img03{
    position: absolute;
    bottom: 5rem;
    right: 5rem;
    z-index: -1;
    width: 64.5vw;
    max-width: 123.7rem;
}
.secCampaign02 .img04{
    position: absolute;
    top: -28rem;
    left: 0;
}
@media only screen and (max-width:1215px){
    .secCampaign02{
        margin-top: 12rem;
        padding: 4.5rem 0 10rem;
    }
    .secCampaign02.lazyloaded{
        background: url(../img/index/bgCampaign02.png) left bottom / 15.6rem 18.6rem no-repeat, url(../img/index/bgCampaignIcon02.png) center bottom / 1rem 1rem repeat;
    }
    .secCampaign02 .boxCmnTit .tit65{
        font-size: var(--spFontSize21);
        line-height: var(--spLineHeight21_34);
    }
    .secCampaign02 .boxCmnTit .txt{
        margin-top: 0.4rem;
    }
    .secCampaign02 .boxImg{
        margin-top: 1rem;
    }
    .secCampaign02 .boxImg .img02{
        position: absolute;
        top: auto;
        bottom: -10rem;
        right: 0;
        width: 13.1rem;
    }
    .secCampaign02 .img03{
        bottom: auto;
        top: 1.5rem;
        right: 1.5rem;
        width: 31rem;
        max-width: 31rem;
    }
    .secCampaign02 .img04{
        top: -8rem;
        width: 7rem;
    }
}