@charset "utf-8";

@font-face{
    font-family:'Noto Serif Japanese';
    font-style:normal;
    font-weight:400;
    src:url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.ttf) format('truetype');
}
@font-face{
    font-family:'Noto Serif Japanese';
    font-style:normal;
    font-weight:700;
    src:url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.ttf) format('truetype');
}

/*==============================
    変数設定（コンセプト用）
==============================*/
/* 幅の基準 */
: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 {
    --bnrFontWeight: 700;

    /* PCボタン */
    --btnPcWidth : 250px;
    --btnPcFontSize : 15px;
    --btnPcFontWeight : 700;
    --btnPcLetterSpacing : 0;
    --btnPcHeight : 50px;

    /* SPボタン */
    --btnSpWidth : 142px;
    --btnSpFontSize : 10px;
    --btnSpFontWeight : 700;
    --btnSpLetterSpacing : 0;
    --btnSpHeight : 40px;

    /* 文字色 */
    --textColor: #1f1f1f;
    --keyColor: #221606;
    --lightKeyColor: #36230a;
    --brandColor: #ff8200;
    --brandColor: #ff8200;
    --brandColor: #ff8200;
    --brandColor_2: #000000;
    --brandColor_3: #fae800;
    --brandColor_4: #fff;
    --brandColor_5: #fa484f;

    /* フォントサイズ（PC） */
    --pcFontSize11: 11px;
    --pcFontSize12: 12px;
    --pcFontSize13: 13px;
    --pcFontSize14: 14px;
    --pcFontSize15: 15px;
    --pcFontSize16: 16px;
    --pcFontSize16Variable: calc((16 / 1920) * var(--widthBase));
    --pcFontSize17: 17px;
    --pcFontSize18: 18px;
    --pcFontSize18Variable: calc((18 / 1920) * var(--widthBase));
    --pcFontSize20: 20px;
    --pcFontSize20Variable: calc((20 / 1920) * var(--widthBase));
    --pcFontSize21: 21px;
    --pcFontSize22: 22px;
    --pcFontSize24: 24px;
    --pcFontSize26: 26px;
    --pcFontSize28: 28px;
    --pcFontSize30: 30px;
    --pcFontSize30Variable: calc((30 / 1920) * var(--widthBase));
    --pcFontSize32: 32px;
    --pcFontSize34: 34px;
    --pcFontSize35: 35px;
    --pcFontSize36: 36px;
    --pcFontSize37: 37px;
    --pcFontSize40: 40px;
    --pcFontSize46: 46px;
    --pcFontSize50: 50px;
    --pcFontSize55: 55px;
    --pcFontSize60: 60px;
    --pcFontSize70: 70px;
    --pcFontSize80: 80px;
  
    /* line-height（PC） */
    --pcLineHeight10_145: 1.45;
    --pcLineHeight11_145: 1.45;
    --pcLineHeight11_181: 1.82;
    --pcLineHeight12_134: 1.34;
    --pcLineHeight12_167: 1.67;
    --pcLineHeight12_183: 1.83;
    --pcLineHeight12_2: 2;
    --pcLineHeight13_19: 1.9;
    --pcLineHeight14_157: 1.57;
    --pcLineHeight14_172: 1.72;
    --pcLineHeight14_186: 1.86;
    --pcLineHeight14_2: 2;
    --pcLineHeight14_214: 2.14;
    --pcLineHeight15_173: 1.73;
    --pcLineHeight15_18: 1.8;
    --pcLineHeight15_2: 2;
    --pcLineHeight15_233: 2.33;
    --pcLineHeight16_15: 1.5;
    --pcLineHeight16_1625: 1.625;
    --pcLineHeight16_175: 1.75;
    --pcLineHeight16_1875: 1.875;
    --pcLineHeight16_225: 2.25;
    --pcLineHeight16_28125: 2.8125;
    --pcLineHeight18_167: 1.67;
    --pcLineHeight18_2: 2;
    --pcLineHeight18_222: 2.22;
    --pcLineHeight20_15: 1.5;
    --pcLineHeight20_175: 1.75;
    --pcLineHeight20_17: 1.7;
    --pcLineHeight20_18: 1.8;
    --pcLineHeight20_19: 1.9;
    --pcLineHeight22_136: 1.36;
    --pcLineHeight22_145: 1.45;
    --pcLineHeight22_163: 1.63;
    --pcLineHeight22_172: 1.72;
    --pcLineHeight22_182: 1.82;
    --pcLineHeight24_15: 1.5;
    --pcLineHeight24_25: 2.5; /* 縦書き */
    --pcLineHeight26_13: 1.3;
    --pcLineHeight26_2: 2;
    --pcLineHeight26_215: 2.15;
    --pcLineHeight28_178: 1.78;
    --pcLineHeight30_1: 1;
    --pcLineHeight30_14: 1.4; /* メニュー */
    --pcLineHeight30_187: 1.87; /* タイトル */
    --pcLineHeight30_2: 2;
    --pcLineHeight32_125: 1.25;
    --pcLineHeight32_144: 1.44;
    --pcLineHeight32_175: 1.75;
    --pcLineHeight34_177: 1.77;
    --pcLineHeight36_167: 1.67;
    --pcLineHeight40_1125: 1.125;
    --pcLineHeight40_15: 1.5;
    --pcLineHeight46_144: 1.44;
    --pcLineHeight50_14: 1.4;
    --pcLineHeight55_108: 1.08;
  
    /* letter-spacing（PC） */
    --pcLetterSpacing11_0: 0;
    --pcLetterSpacing12_0: 0;
    --pcLetterSpacing12_1: 1px;
    --pcLetterSpacing14_0: 0;
    --pcLetterSpacing14_05: 0.5px;
    --pcLetterSpacing15_0: 0;
    --pcLetterSpacing15_1: 1px;
    --pcLetterSpacing16_0: 0;
    --pcLetterSpacing16_05: 0.5px;
    --pcLetterSpacing17_0: 0;
    --pcLetterSpacing18_0: 0;
    --pcLetterSpacing18_05: 0.5px;
    --pcLetterSpacing20_0: 0;
    --pcLetterSpacing20_05: 0.5px;
    --pcLetterSpacing20_2: 2px;
    --pcLetterSpacing21_0: 0;
    --pcLetterSpacing21_2: 2px;
    --pcLetterSpacing22_0: 0;
    --pcLetterSpacing22_1: 1px;
    --pcLetterSpacing24_0: 0;
    --pcLetterSpacing24_1: 1px;
    --pcLetterSpacing24_2: 2px; /* 縦書き */
    --pcLetterSpacing26_0: 0;
    --pcLetterSpacing26_1: 1px;
    --pcLetterSpacing26_15: 1.5px;
    --pcLetterSpacing28_0: 0;
    --pcLetterSpacing28_1: 1px;
    --pcLetterSpacing30_0: 0;
    --pcLetterSpacing30_5: 5px;
    --pcLetterSpacing32_0: 0;
    --pcLetterSpacing34_0: 0;
    --pcLetterSpacing35_1: 1px;
    --pcLetterSpacing36_2: 2px;
    --pcLetterSpacing40_0: 0;
    --pcLetterSpacing40_2: 2px;
    --pcLetterSpacing46_0: 0;
    --pcLetterSpacing46_1: 1px;
    --pcLetterSpacing46_15: 1.5px;
    --pcLetterSpacing46_3: 3px;
    --pcLetterSpacing50_0: 0;
    --pcLetterSpacing50_1: 1px;
    --pcLetterSpacing60_0: 0;
    --pcLetterSpacing60_45: 4.5px;
    --pcLetterSpacing70_0: 0;
    --pcLetterSpacing80_6: 6px;
  
    /* フォントサイズ（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));
    --spFontSize26: calc((26 / 375) * var(--widthBase));
    --spFontSize30: calc((30 / 375) * var(--widthBase));
  
    /* line-height（SP） */
    --spLineHeight10_15: 1.5;
    --spLineHeight10_16: 1.6;
    --spLineHeight10_18: 1.8;
    --spLineHeight10_21: 2.1;
    --spLineHeight11_136: 1.36;
    --spLineHeight11_154: 1.54;
    --spLineHeight11_163: 1.63;
    --spLineHeight11_173: 1.73;
    --spLineHeight11_19: 1.9;
    --spLineHeight12_15: 1.5;
    --spLineHeight12_166: 1.66;
    --spLineHeight12_183: 1.83;
    --spLineHeight12_184: 1.84;
    --spLineHeight12_2: 2;
    --spLineHeight13_123: 1.23;
    --spLineHeight13_161: 1.61;
    --spLineHeight13_176: 1.76;
    --spLineHeight14_157: 1.57;
    --spLineHeight14_172: 1.72;
    --spLineHeight14_214: 2.14;
    --spLineHeight15_15: 1.5;
    --spLineHeight15_186: 1.86;
    --spLineHeight16_1: 1;
    --spLineHeight16_125: 1.25;
    --spLineHeight16_1625: 1.625;
    --spLineHeight17_188: 1.88;
    --spLineHeight18_155: 1.55;
    --spLineHeight18_167: 1.67;
    --spLineHeight20_15: 1.5;
    --spLineHeight21_108: 1.08;
    --spLineHeight22_136: 1.36;
    --spLineHeight22_1455: 1.455;
    --spLineHeight24_108: 1.08;
  
    /* letter-spacing（SP） */
    --spLetterSpacing10_0: 0;
    --spLetterSpacing11_0: 0;
    --spLetterSpacing11_1: 1px;
    --spLetterSpacing12_0: 0;
    --spLetterSpacing13_0: 0;
    --spLetterSpacing14_0: 0;
    --spLetterSpacing15_0: 0;
    --spLetterSpacing16_0: 0;
    --spLetterSpacing17_0: 0;
    --spLetterSpacing17_2: 2px;
    --spLetterSpacing18_0: 0;
    --spLetterSpacing18_05: 0.5px;
    --spLetterSpacing20_0: 0;
    --spLetterSpacing22_0: 0;
    --spLetterSpacing24_0: 0;
    --spLetterSpacing26_0: 0;
    --spLetterSpacing30_0: 0;
    --spLetterSpacing30_1: 1px
}

/*==============================
    基本設定
==============================*/
body{
    color: var(--textColor);
    font-size:12px;
    font-family:YakuHanMP,'Noto Serif Japanese', 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;
    overflow-y: scroll;
    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;}
.fOswald{font-family:"Oswald", 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{
    width: 100%;
    overflow: hidden;
    max-width: 1920px;
    margin: 0 auto;
    padding-top: 110px;
}
@media only screen and (max-width:767px){
    #container{
        max-width: none;
        padding-top: 0;
    }
}
/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.brSp413,
.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;
    }
}
@media only screen and (max-width:413px){
    .brSp413{
        display:inline;
    }
}

/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
/* imgCover */
.imgCover,
.imgCont{
    position:relative;
}
.imgCover img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:cover;
    font-family:'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;
}
/*-----------------------------------------------
    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);
}
/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper900{
    width: 900px;
    margin: 0 auto;
}
.wrapper1000{
    width: 1000px;
    margin: 0 auto;
}
.wrapper1080{
    width: 1080px;
    margin: 0 auto;
}
.wrapper1090{
    width: 1090px;
    margin: 0 auto;
}
.wrapper1110{
    width: 1110px;
    margin: 0 auto;
}
.wrapper1180{
    width: 1180px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1200{
    width: 1200px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1250{
    width: 1250px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1260{
    width: 1260px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1280{
    width: 1280px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1340{
    width: 1340px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1380{
    width: 1380px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1450{
    width: 1450px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1550{
    width: 1550px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1650{
    width: 1650px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1720{
    width: 1720px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1800{
    width: 1800px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
@media only screen and (max-width:767px){
    .wrapper900,
    .wrapper1000,
    .wrapper1080,
    .wrapper1090,
    .wrapper1110,
    .wrapper1180,
    .wrapper1200,
    .wrapper1250,
    .wrapper1260,
    .wrapper1280,
    .wrapper1340,
    .wrapper1380,
    .wrapper1450,
    .wrapper1550,
    .wrapper1650,
    .wrapper1720,
    .wrapper1800{
        width: 100%;
        max-width: none;
    }
    .wrapperSp{
        width: 92%;
        margin: 0 auto;
	}
    .wrapper355{
        width: 94%;
        margin: 0 auto;
	}
}
/* jsHide */
.jsHide,
.ro a.jsHide{
    /* 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;
}
.jsHide.jsShow,
.ro a.jsHide.jsShow{
    /* filter: blur(0) brightness(1); */
    transform: translateY(0);
    opacity: 1;
}
/*-----------------------------------------------
    header
-----------------------------------------------*/
#header{
    height: 110px;
    width: 100%;
    position: fixed;
    display: flex;
    align-items: flex-end;
    top: 0;
    left: 0;
    min-width: 1400px;
    color: #fff;
    z-index: 9999;
    border-bottom: solid 1px #fff;
    transition: all 0.3s ease-out;
}
#header.is-hidden{
    opacity: 0;
    z-index: -3;
}
#header::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 100px;
    left: 0;
    top: 0;
    background-image: -moz-linear-gradient( -90deg, rgb(54,35,10) 0%, rgba(54,35,10,0) 100%);
    background-image: -webkit-linear-gradient( -90deg, rgb(54,35,10) 0%, rgba(54,35,10,0) 100%);
    background-image: -ms-linear-gradient( -90deg, rgb(54,35,10) 0%, rgba(54,35,10,0) 100%);
    opacity: 0.502;
}
#header.naviOpen{
    border-bottom: none;
}
#header.naviOpen::after{
    display: none;
}
#header .headerWrapper{
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 112px 0 30px;
}
#header .leftBox{
   flex-shrink: 0;
}
#header .headerLogo{
    position: relative;
    width: 184px;
    display: block;
}
#header .headerTit{
    position: absolute;
    left: 30px;
    bottom: -33px;
    font-size: 12px;
}
#header .rightBox{
    display: flex;
    align-items: center;
    margin: 0 0 0 auto;
}
#header .gNaviList{
    display: flex;
    align-items: center;
}
#header .gNaviItem{
    margin-left: 32px;
}
#header .gNaviItem:first-child{
    margin-left: 0;
}
#header .naviLink{
    font-size: 15px;
    text-decoration: none;
    color: #fff;
    display: block;
}
#header .linkList{
    margin-left: 50px;
    display: flex;
    border-left: solid 1px #fff;
}
#header .linkItem{
    width: 170px;
    border-right: solid 1px #fff;
}
#header .linkInner{
    position: relative;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 14px;
    color: #fff;
    padding-bottom: 55px;
}
#header .linkInner::after{
    position: absolute;
    content: "";
}
#header .linkItem:nth-child(1) .linkInner::after{
    width: 105px;
    height: 59px;
    bottom: 0;
    left: calc(50% - 52.5px);
    background: url(../img/common/iconHeaderLink01.png) center top / cover;
}
#header .linkItem:nth-child(2) .linkInner::after{
    width: 118px;
    height: 60px;
    bottom: 0;
    left: calc(50% - 58px);
    background: url(../img/common/iconHeaderLink02.png) center top / cover;
}
#header .linkItem:nth-child(3) .linkInner::after{
    width: 168px;
    height: 70px;
    max-width: 100%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/common/iconHeaderLink03.png) center bottom / 100% auto no-repeat;
}
.isDesktopIpad #header .linkItem{
    width: 110px;
}
.isDesktopIpad #header .linkInner{
    font-size: 10px;
    letter-spacing: -0.3px;
    padding-bottom: 45px;
}
.isDesktopIpad #header .linkItem:nth-child(1) .linkInner::after{
    width: 90px;
    height: 51px;
    left: calc(50% - 45px);
}
.isDesktopIpad #header .linkItem:nth-child(2) .linkInner::after{
    width: 90px;
    height: 47px;
    left: calc(50% - 45px);
}
.isDesktopIpad #header .linkItem:nth-child(3) .linkInner::after{
    width: 90px;
    height: 47px;
    left: calc(50% - 45px);
}
.isDesktopIpad #header .naviLink{
    font-size: 10px;
}
@media only screen and (max-width:1750px){
    #header .gNaviItem{
        margin-left: 20px;
    }
    #header .linkList{
        margin-left: 30px;
    }
    #header .linkItem{
        width: 150px;
    }
}
@media only screen and (max-width:1620px){
    #header .gNaviItem{
        margin-left: 15px;
    }
    #header .naviLink{
        font-size: 14px;
    }
    #header .linkList{
        margin-left: 25px;
    }
    #header .linkItem{
        width: 140px;
    }
}
@media only screen and (max-width:1520px){
    #header .naviLink{
        font-size: 12px;
    }
    #header .linkItem{
        width: 130px;
    }
    #header .linkInner{
        font-size: 13px;
    }
}
@media only screen and (max-width:767px){
    #header{
        height: auto;
        min-width: auto;
        border-bottom: none;
    }
    #header::after{
        width: 100%;
        height: 60px;
    }
    #header .headerWrapper{
        display: block;
        padding: 15px 52px 15px 15px;
    }
    #header .headerLogo{
        width: 122px;
    }
    #header .headerTit{
        display: none!important;
    }
    #header .rightBox{
        display: none;
    }
}
/*-----------------------------------------------
    btnNavi
-----------------------------------------------*/
.btnNavi{
    width: 112px;
    height: 110px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9999;
}
.btnNavi .naviCover{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    text-decoration: none;
    height: 110px;
    color: #fff;
    transition: all 0.5s;
}
.btnNavi .border{
	width: 32px;
	height: 8px;
	position: relative;
}
.btnNavi .border .inner,
.btnNavi .border .inner::before,
.btnNavi .border .inner::after{
	display: block;
	width: 32px;
	height: 1px;
	background: #fff;
    left: 0;
    right: 0;
    margin: auto;
    transition: all 0.5s;
}
.btnNavi .border .inner{
    width: 0;
    height: 0;
}
.btnNavi .border .inner::before{
	content: '';
	position: absolute;
	transition: all 0.4s ease-out;
    top: 0;
    left:0;
    right:0;
    margin: auto;
}
.btnNavi .border .inner::after{
	content: '';
	position: absolute;
	transition: all 0.4s ease-out;
    bottom: 0;
    left:0;
    right:0;
    margin: auto;
}
.btnNavi .txt{
    margin-top: 15px;
}
.btnNavi.naviOpen .border{
    width: 32px;
    height: 8px;
}
.btnNavi:not(.naviOpen) .txtClose,
.btnNavi.naviOpen .txtMenu{
    display: none;
}
.btnNavi.naviOpen .border .inner::before{
    transform: translateY(40px) rotate(-25deg);
    top: -37px;
    width: 45px;
    background: var(--textColor);
    left: -5px;
}
.btnNavi.naviOpen .border .inner::after{
    transform: translateY(11px) rotate(25deg);
    bottom: 14px;
    left: -5px;
    width: 45px;
    background: var(--textColor);
}
.internal .btnNavi.naviOpen .border .inner::before,.internal .btnNavi.naviOpen .border .inner::after{
    background: #fff;
}
@media only screen and (max-width:767px){
    .btnNavi{
        width: auto;
        height: auto;
        top: 20px;
        right: 20px;
        display: block;
    }
    .btnNavi .naviCover{
        height: auto;
    }
    .btnNavi .txt{
       display: none;
    }
    .btnNavi.naviOpen .txt{
        display: block;
        width: 33px;
        margin: 10px auto 0;
     }
     .btnNavi.naviOpen .border .inner::before{
        top: -36px;
        width: 30px;
        left: 0;
    }
    .btnNavi.naviOpen .border .inner::after{
        bottom: 14px;
        left: 0;
        width: 30px;
    }
    .internal .btnNavi .border .inner::before,.internal .btnNavi .border .inner::after,
    .internal .btnNavi.naviOpen .border .inner::before,.internal .btnNavi.naviOpen .border .inner::after{
        background: var(--textColor);
    }
}
/*-----------------------------------------------
    menu
-----------------------------------------------*/
#menu{
    display: none;
    position: relative;
    z-index: 9998;
    width: 100%;
    min-width: 1400px;
    overflow: hidden;
    margin: 0 0 0 auto;
    min-height: 100vh;
    background: rgb(255, 255, 255 , 1);
}
#menu .wrapperMenu{
    display: flex;
}
#menu .wrapperOut{
    height: auto;
    min-height: 100vh;
    background: url(../img/common/imgMenuLeft.jpg) center top / cover no-repeat;
    position: relative;
    width: 39.584%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#menu .menuLogo{
    display: inline-block;
}
#menu .wrapperIn{
    width: 60.416%;
    padding: 100px 100px 80px;
    display: flex;
    align-items: center;
}
#menu .wrapperInBox{
    width: 100%;
}
#menu .gNaviBox{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
#menu .gNaviListBox{
    width: 31.25%;
    margin-right: 3.125%;
}
#menu .gNaviListBox:nth-child(3n){
    margin-right: 0;
}
#menu .gNaviListBox:nth-child(n+4){
    margin-top: 87px;
}
#menu .gNaviTit{
    font-size: 18px;
    font-weight: bold;
}
#menu .gNaviList{
    border-top: solid 1px rgb(190, 190, 190);
    padding-top: 25px;
    margin-top: 25px;
}
#menu .gNaviItem:nth-child(n+2){
    margin-top: 12px;
}
#menu .naviLink{
    font-size: 14px;
    color: var(--textColor);
    text-decoration: none;
    display: inline-block;
}
#menu .naviLink.sub{
    padding-left: 15px;
    position: relative;
}
#menu .naviLink.sub::after{
    position: absolute;
    content: "";
    width: 5px;
    height: 1px;
    left: 5px;
    top: calc(50% - 0.5px);
    background: var(--textColor);
}
#menu .snsList{
    margin-top: 120px;
    display: flex;
    justify-content: center;
}
#menu .snsItem{
    width: 80px;
    margin-right: 30px;
}
#menu .snsItem:last-child{
    margin-right: 0;
}
#menu .snsInner{
    height: 80px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0px 0px 10px 0px rgba(46, 53, 59, 0.1);
}
@media only screen and (max-width:767px){
    #menu{
        min-width: auto;
    }
    #menu .wrapperMenu{
        display: block;
    }
    #menu .wrapperOut{
        display: none;
    }
    #menu .wrapperIn{
        width: 86.667%;
        margin: 0 auto;
        padding: 80px 0 80px;
    }
    #menu .gNaviListBox{
        width: calc(50% - 5.5px);
        margin-right: 11px;
    }
    #menu .gNaviListBox:nth-child(3n){
        margin-right: 11px;
    }
    #menu .gNaviListBox:nth-child(2n){
        margin-right: 0;
    }
    #menu .gNaviListBox:nth-child(n+3){
        margin-top: 50px;
    }
    #menu .gNaviTit{
        font-size: 13px;
    }
    #menu .gNaviList{
        padding-top: 16px;
        margin-top: 15px;
    }
    #menu .gNaviItem:nth-child(n+2){
        margin-top: 10px;
    }
    #menu .naviLink{
        font-size: 12px;
    }
    #menu .naviLink.sub{
        padding-left: 12px;
    }
    #menu .naviLink.sub::after{
        left: 4px;
    }
    #menu .snsList{
        margin-top: 38px;
    }
    #menu .snsItem{
        width: 54px;
        margin-right: 20px;
    }
    #menu .snsItem:last-child{
        margin-right: 0;
    }
    #menu .snsInner{
        height: 54px;
    }
    #menu .snsItem:nth-child(1) img,
    #menu .snsItem:nth-child(3) img,
    #menu .snsItem:nth-child(4) img{
        width: 21px;
    }
    #menu .snsItem:nth-child(2) img{
        width: 23px;
    }
}
/*-----------------------------------------------
    footer
-----------------------------------------------*/
#footer .footerBox{
    background: var(--lightKeyColor);;
    color: #fff;
    padding: 100px 0 0 0;
}
#footer .logoBox{
    text-align: center;
}
#footer .footerLogo{
    width: 184px;
    display: inline-block;
    margin: 0 auto;
}
#footer .footerTxt{
    font-size: 13px;
    line-height: 1.8;
    text-align: center;
    margin-top: 22px;
}
#footer .gNaviBox{
    margin-top: 54px;
}
#footer .gNaviList{
    display: flex;
    justify-content: center;
}
#footer .gNaviItem{
    margin-left: 20px;
    padding-left: 19px;
    border-left: solid 1px #fff;
}
#footer .gNaviItem:first-child{
    margin-left: 0;
    padding-left: 0;
    border-left: none;
}
#footer .naviLink{
    font-size: 16px;
    text-decoration: none;
    color: #fff;
}
#footer .gNaviList:nth-child(2){
    margin-top: 29px;
}
#footer .snsList{
    margin-top: 60px;
    display: flex;
    justify-content: center;
}
#footer .snsItem{
    width: 80px;
    margin-right: 30px;
}
#footer .snsItem:last-child{
    margin-right: 0;
}
#footer .snsInner{
    height: 80px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
#footer .telList{
    border-top: solid 1px #54442f;
    margin-top: 100px;
    display: flex;
}
#footer .telItem{
    width: calc(100% / 3);
}
#footer .telItem:nth-child(n+2){
    border-left: solid 1px #54442f;
}
#footer .telInner{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    text-decoration: none;
    height: 260px;
    padding-bottom: 13px;
}
#footer .telTit{
    font-size: 20px;
    font-weight: bold;
    line-height: 26px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#footer .telSubTit{
    font-size: 14px;
    display: block;
}
.isDesktopIpad #footer .telSubTit{
    font-size: 10px;
    letter-spacing: -0.5px;
}
#footer .telTxt{
    font-size: 14px;
    letter-spacing: 1px;
    margin-top: 7px;
}
.isDesktopIpad #footer .telTxt{
    font-size: 10px;
    letter-spacing: normal;
}
#footer .telNumber{
    display: inline-block;
    font-size: 30px;
    letter-spacing: 2px;
    font-weight: bold;
    position: relative;
    padding-left: 30px;
    margin-top: 22px;
}
#footer .telNumber::after{
    position: absolute;
    content: "";
    width: 22px;
    height: 22px;
    left: 2px;
    top: calc(50% - 8px);
}
#footer .telNumber.lazyloaded::after{
    background: url(../img/common/iconFooterTel.gif) center top / cover;
}
@media only screen and (max-width:1620px){
    #footer .telSubTit{
        font-size: 12px;
    }
    #footer .telTxt{
        font-size: 12px;
        letter-spacing: normal;
    }
    #footer .telNumber{
        letter-spacing: normal;
    }
}
@media only screen and (max-width:767px){
    #fNavi +  #footer{
        padding-bottom: 55px;
    }
    #footer .footerBox{
        padding: 50px 0 0 0;
    }
    #footer .footerLogo{
        width: 112px;
    }
    #footer .footerTxt{
        font-size: 10px;
        line-height: 1.6;
        padding: 0 14px;
        text-align: left;
        margin-top: 15px;
    }
    #footer .gNaviBox{
        display: none;
    }
    #footer .snsList{
        margin-top: 25px;
    }
    #footer .snsItem{
        width: 54px;
        margin-right: 20px;
    }
    #footer .snsInner{
        height: 54px;
    }
    #footer .snsItem:nth-child(1) img,
    #footer .snsItem:nth-child(3) img,
    #footer .snsItem:nth-child(4) img{
        width: 21px;
    }
    #footer .snsItem:nth-child(2) img{
        width: 23px;
    }
    #footer .telList{
        border-top: none;
        margin-top: 42px;
        display: block;
    }
    #footer .telItem{
        width: 100%;
        border-top: solid 1px #54442f;
    }
    #footer .telItem:nth-child(n+2){
        border-left: none;
    }
    #footer .telInner{
        height: 128px;
        padding: 0;
    }
    #footer .telTit{
        font-size: 16px;
        line-height: 18px;
        height: auto;
        display: block;
    }
    #footer .telSubTit{
        font-size: 11px;
        display: block;
    }
    #footer .telTxt{
        font-size: 11px;
        letter-spacing: normal;
        margin-top: 7px;
    }
    #footer .telNumber{
        font-size: 20px;
        letter-spacing: 1px;
        padding-left: 25px;
        margin-top: 10px;
    }
    #footer .telNumber::after{
        width: 18px;
        height: 18px;
        left: 2px;
        top: calc(50% - 8px);
    }
}
/*-----------------------------------------------
    fNavi
-----------------------------------------------*/
#fNavi{
    display: flex;
	display: -webkit-flex;
    flex-direction: column;
    position: fixed;
    right: -220px;
    bottom: 150px;
    z-index: 300;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
#fNavi.jsShow{
    right:0;
}
#fNavi .naviItem{
    width: 220px;
    position: relative;
    transition: all 0.2s ease-out;
}
#fNavi .naviItem:nth-child(n+2){
    margin-top: 1px;
}
#fNavi .naviInner{
    height: 60px;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    color: #fff;
    position: relative;
    padding-left: 27px;
    background: var(--lightKeyColor);
    white-space: nowrap;
    transition: all 0.2s ease-out;
}
#fNavi .naviItem:nth-child(4) .naviInner{
    background-image: -moz-linear-gradient( 0deg, rgb(255,130,0) 0%, rgb(255,174,0) 100%);
    background-image: -webkit-linear-gradient( 0deg, rgb(255,130,0) 0%, rgb(255,174,0) 100%);
    background-image: -ms-linear-gradient( 0deg, rgb(255,130,0) 0%, rgb(255,174,0) 100%);
}
#fNavi .naviItem .naviTxt{
    position: relative;
    padding-left: 26px;
}
#fNavi .naviItem .naviTxt::after{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
#fNavi .naviItem:nth-child(1) .naviTxt.lazyloaded::after{
    background: url(../img/common/iconNavi01.png) center top / cover;
}
#fNavi .naviItem:nth-child(2) .naviTxt.lazyloaded::after{
    background: url(../img/common/iconNavi02.png) center top / cover;
}
#fNavi .naviItem:nth-child(3) .naviTxt.lazyloaded::after{
    background: url(../img/common/iconNavi03.png) center top / cover;
}
#fNavi .naviItem:nth-child(4) .naviTxt.lazyloaded::after{
    background: url(../img/common/iconNavi04.png) center top / cover;
}
#fNavi .topBtn{
    position: absolute;
    bottom: -86px;
    right: 20px;
    width: 66px;
}
#fNavi .topInner{
    height: 66px;
    border: solid 1px #282823;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--textColor);
    background: #fff;
    font-size: 10px;
    line-height: 1.2;
    font-weight: bold;
    text-decoration: none;
}
#fNavi .topTxt{
    position: relative;
    padding-top: 15px;
}
#fNavi .topTxt::after{
    position: absolute;
    content: "";
    width: 11px;
    height: 9px;
    left: calc(50% - 5.5px);
    top: 2px;
}
#fNavi .topTxt.lazyloaded::after{
    background: url(../img/common/iconNextBtn03.gif) center top / cover;
}
#fNavi .closeBtn{
    width: 100%;
    height: 41px;
    margin-top: 1px;
}
#fNavi .closeBtn .topInner{
    width: 100%;
    height: 100%;
    background: #282823;
    border: none;
    border-radius: 0;
    color: #fff;
    font-size: 11px;
}
#fNavi .closeBtn .topTxt{
    padding: 0 0 0 9px;
}
#fNavi .closeBtn .topTxtOpen{
    display: none;
}
#fNavi .closeBtn .topTxt::after{
    width: 6px;
    height: 7px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
#fNavi .closeBtn .topTxt.lazyloaded::after{
    background: url(../img/common/iconNextBtn01.png) center top / cover;
}
#fNavi.jsShow.close .naviItem{
    width: 70px;
}
#fNavi.jsShow.close .naviInner{
    padding-left: 70px;
}
/* #fNavi.jsShow.close .naviItem .naviTxt {
    font-size: 0;
} */
#fNavi.jsShow.close .naviItem .naviTxt::after{
    left: -40px;
}
#fNavi.jsShow.close .closeBtn .topTxtOpen{
    display: block;
}
#fNavi.jsShow.close .closeBtn .topTxt:not(.topTxtOpen){
    display: none;
}
#fNavi.jsShow.close .closeBtn .topTxt::after{
    transform: rotate(180deg);
}
@media only screen and (max-width:767px){
    #fNavi{
        top: auto;
        bottom: 0;
        right: 0;
        width: 100%;
        display: block;
        transform: translateY(115%);
        transition: all 0.2s ease-out;
    }
    #fNavi.jsShow{
        right: auto;
    }
    #fNavi.jsShow{
        transform: none;
    }
    #fNavi .naviList{
        display: flex;
    }
    #fNavi .naviItem{
        width: 25%;
    }
    #fNavi .naviItem:nth-child(n+2){
        margin: 0;
        border-left: solid 1px #fff;
    }
    #fNavi .naviInner{
        height: 55px;
        font-size: 11px;
        line-height: 1.45;
        justify-content: center;
        text-align: center;
        padding-left: 0;
    }
    #fNavi .naviItem .naviTxt{
        padding-left: 0;
    }
    #fNavi .naviItem .naviTxt::after{
        display: none;
    }
    #fNavi .topBtn{
        display: none;
    }
}
/*-----------------------------------------------
    tkg_footer
-----------------------------------------------*/
#tkg_footer {
    width: 1100px;
    max-width: 90%;
    margin: 90px auto 130px;
}
#tkg_footer .tkg_logo {
    width: 560px;
    max-width: 100%;
    margin: 0 auto 30px;
    text-align: center;
}
#tkg_footer .tkg_logo a {
    transition: .3s;
}
#tkg_footer .tkg_logo a:hover {
    opacity: 0.7;
}
#tkg_footer .tkg_logo img {
    width: 100%;
}
#tkg_footer .tkg_copyright {
    display: block;
    font-size: 13px;
    text-align: center;
}
#tkg_footer  .tkg_link {
    width: 100%;
    margin: 50px auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#tkg_footer  .tkg_link .tkg_link_area {
    width: 47%;
    padding: 15px 0;
    border-bottom: 1px solid #36200A;
}
#tkg_footer li {
    font-size: 14px;
    line-height: 1.6em;
    text-align: left;
}
#tkg_footer li:not(:first-child) {
    margin-top: 0.3em;
}
#tkg_footer li a {
    color: #000;
    display: inline-block;
    padding-left: 0.9em;
    position: relative;
    text-decoration: none;
    transition: .3s;
    letter-spacing: 0;
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo','ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    white-space: nowrap;
}
.isDesktopIpad #tkg_footer li a {
    white-space: normal;
}
#tkg_footer li a:hover {
    opacity: 1;
    color: #F08300;
}
#tkg_footer li a::before {
    content: "";
    display: inline-block;
    width: 0.7em;
    height: 1.5em;
    position: absolute;
    top: 0;
    left: 0;
}
#tkg_footer li a.lazyloaded::before{
    background: url("../img/common/arrow.svg") no-repeat center center / contain;
}
@media screen and (max-width: 1300px) {
    #tkg_footer li a {
        white-space: initial;
    }
}
@media screen and (max-width: 768px){
    #tkg_footer {
        margin: 43px auto 33px;
    }
    #tkg_footer .tkg_logo {
        margin: 0 auto 15px;
    }
    #tkg_footer .tkg_copyright {
        font-size: 10px;
    }
    #tkg_footer  .tkg_link {
        margin: 30px auto 0;
        display: block;
    }
    #tkg_footer  .tkg_link .tkg_link_area {
        width: 100%;
        padding: 13px 0;
    }
    #tkg_footer li {
        font-size: 12px;
        line-height: 1.6em;
    }
    #tkg_footer li:not(:first-child) {
        margin-top: 0.5em;
    }
    #tkg_footer li a::before {
        width: 0.65em;
    }
    #tkg_footer .nosp {
        display: none;
    }
}
/* noneTxt */
.noneTxt{
    font-size: 16px;
    text-align: center;
    padding: 30px 0;
}
@media only screen and (max-width:767px){
    .noneTxt{
        font-size: 12px;
        line-height: 1.5;
        padding: 20px 0;
    }
}
@media only screen and (max-width:359px){
    .noneTxt{
        font-size: 10px;
    }
}
/* iconNew */
.iconNew{
    width: 44px;
    height: 26px;
    font-size: 14px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--brandColor);
}
@media only screen and (max-width:767px){
    .iconNew{
        width: 28px;
        height: 13px;
        font-size: 10px;
    }
}

/* secCmnContact */
.secCmnContact{
    margin-top: 40px;
}
.ok .secCmnContact{
    margin-top: 0;
}
.secCmnContact .list{
    display: flex;
    background: #f8f7f6;
}
.secCmnContact .item{
    width: calc(100% / 4);
    margin-right: 1px;
    height: auto;
}
.secCmnContact .item:last-child{
    margin-right: 0;
}
.secCmnContact .inner{
    position: relative;
    display: block;
    height: 100%;
    text-decoration: none;
    color: var(--textColor);
}
.secCmnContact .img{
    padding-top: 58.456%;
}
.secCmnContact .txtBox{
    position: relative;
    padding: 80px 20px 85px;
    text-align: center;
}
.secCmnContact .item:nth-child(n+2) .txtBox::after{
    position: absolute;
    content: "";
    width: 1px;
    height: calc(100% - 160px);
    left: 0;
    top: 90px;
    background: #dfdfdf;
}
.secCmnContact .tit{
    font-size: 22px;
    letter-spacing: 1px;
}
.secCmnContact .engTit{
    font-size: 16px;
    margin-top: 24px;
}
.secCmnContact .txt{
    font-size: 14px;
    line-height: 1.71;
    margin-top: 35px;
}
.secCmnContact .btnTxt{
    position: relative;
    display: inline-block;
    font-size: 13px;
    text-align: left;
    padding-bottom: 15px;
    border-bottom: solid 1px var(--textColor);
    width: 120px;
    margin: 40px auto 0;
}
.secCmnContact .btnTxt::after{
    position: absolute;
    content: "";
    width: 6px;
    height: 7px;
    right: 0;
    top: 3.5px;
}
.secCmnContact .btnTxt.lazyloaded::after{
    background: url(../img/common/iconContactNextBtn01.gif) center top / cover;
}
@media only screen and (max-width:767px){
    .secCmnContact{
        margin-top: 83px;
    }
    .ok .secCmnContact{
        margin-top: 0;
    }
    .secCmnContact .list{
        flex-wrap: wrap;
        padding: 50px 13px 50px;
    }
    .secCmnContact .item{
        width: calc(100% / 2 - 4.5px);
        margin-right: 0;
    }
    .secCmnContact .item:nth-child(2n){
        margin-left: 9px;
    }
    .secCmnContact .item:nth-child(n+3){
        margin-top: 30px;
    }
    .secCmnContact .inner{
        padding-bottom: 0;
    }
    .secCmnContact .img{
        padding-top: 58.236%;
    }
    .secCmnContact .txtBox{
        padding: 12px 0 0;
    }
    .secCmnContact .item:nth-child(n+2) .txtBox::after{
        display: none;
    }
    .secCmnContact .tit{
        font-size: 15px;
        line-height: 1.33;
        letter-spacing: normal;
    }
    .secCmnContact .engTit{
       display: none;
    }
    .secCmnContact .txt{
        font-size: 11px;
        line-height: 1.54;
        margin: 10px -2px 0;
    }
    .secCmnContact .btnTxt{
        font-size: 12px;
        padding-bottom: 10px;
        width: 100px;
        margin: 15px auto 0;
    }
    .secCmnContact .btnTxt::after{
        position: absolute;
        content: "";
        width: 6px;
        height: 7px;
        right: 0;
        top: 3.5px;
    }
    .secCmnContact .btnTxt.lazyloaded::after{
        background: url(../img/common/iconContactNextBtn01.gif) center top / cover;
    }
}
@media only screen and (max-width:359px){
    .secCmnContact .txt{
        font-size: 10px;
    }
}
/* secCmnIndexTop */
.secCmnIndexTop{
    height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    position: relative;
}
.secCmnIndexTop.details{
    height: 300px;
}
.secCmnIndexTop::after{
    position: absolute;
    content: "";
    width: 1px;
    height: 100px;
    background: var(--lightKeyColor);;
    left: calc(50% - 0.5px);
    bottom: -50px;
    z-index: 20;
}
.secCmnIndexTop .titJpn{
    font-size: 20px;
    font-weight: bold;
    margin-top: 18px;
}
.secCmnIndexTop.static .titJpn{
    font-size: var(--pcFontSize36);
    letter-spacing: var(--pcLetterSpacing36_2);
    margin-top: 18px;
    font-weight: normal;
}
.secCmnIndexTop.static .txtJpn{
    font-size: var(--pcFontSize14);
    margin-top: 18px;
}
@media only screen and (max-width:767px){
    .secCmnIndexTop{
        height: 53.334vw;
    }
    .secCmnIndexTop.details{
        height: 53.334vw;
    }
    .secCmnIndexTop::after{
        height: 30px;
        bottom: -15px;
    }
    .secCmnIndexTop .titBox{
        padding-top: 58px;
    }
    .secCmnIndexTop .titEng img{
        width: auto;
        height: 17px;
    }
    .secCmnIndexTop .titJpn{
        font-size: 13px;
        margin-top: 11px;
    }
    .secCmnIndexTop.static .titBox {
        padding-top: 45px;
    }
    .secCmnIndexTop.static .titEng img {
        height: 9px;
    }
    .secCmnIndexTop.static .titJpn{
        font-size: var(--spFontSize20);
        letter-spacing: var(--spLetterSpacing20_0);
        margin-top: 8px;
    }
    .secCmnIndexTop.static .txtJpn{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_18);
        margin-top: 4px;
    }
}

/* secTopSports */
.secTopSports{
    display: none;
}
body.isPageTop .secTopSports{
    display: block;
    background-color: #f8f7f6;
    padding: 0 0 150px;
}
.secTopSports .boxWrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--brandColor);
    color: #fff;
    border-radius: 10px;
    padding: 50px;
}
.secTopSports .txtTop{
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.04em;
}
.secTopSports .boxList{
    display: flex;
    gap: 30px;
    margin: 45px 0 0;
}
.secTopSports .item{
    width: 360px;
    background-color: #fff;
    border-radius: 10px;
}
.secTopSports .item a{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 180px;
    color: #333;
    text-decoration: none;
}
.secTopSports .img{
    display: flex;
    height: 60px;
}
.secTopSports .txt{
    font-size: 12px;
    letter-spacing: 0.06em;
    position: relative;
    margin: 25px 0 0;
}
.secTopSports .txt::after{
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    background: url(../img/common/iconBlank.png) left top / 100% no-repeat;
    position: absolute;
    top: 0;
    right: -10px;
}
@media only screen and (max-width:767px){
    body.isPageTop .secTopSports{
        padding: 0 0 100px;
        order: 5;
    }
    .secTopSports .boxWrap{
        border-radius: 6px;
        padding: 27px 15px 30px;
    }
    .secTopSports .txtTop{
        font-size: 14px;
        line-height: 1.57;
        letter-spacing: 0;
        text-align: center;
    }
    .secTopSports .boxList{
        gap: 10px;
        margin: 15px 0 0;
        width: 100%;
    }
    .secTopSports .item{
        width: calc((100% - 10px) / 2);
        border-radius: 6px;
    }
    .secTopSports .item a{
        height: 110px;
        position: relative;
        padding-top: 6px;
    }
    .secTopSports .item a::after{
        content: "";
        display: block;
        width: 7px;
        height: 7px;
        background: url(../img/common/iconBlank.png) left top / 100% no-repeat;
        position: absolute;
        top: 8px;
        right: 8px;
    }
    .secTopSports .img{
        height: 35px;
    }
    .secTopSports .img img{
        width: auto;
        height: 100%;
    }
    .secTopSports .txt{
        font-size: 11px;
        letter-spacing: 0;
        margin: 9px 0 0;
        line-height: 14px;
        min-height: 28px;
        display: flex;
        align-items: center;
        text-align: center;
    }
    .secTopSports .txt::after{
        display: none;
    }
}

/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
#pnkz{
    width: 100%;
    padding: 26px 50px 0;
    position: relative;
    background: #fff;
}
#pnkz .boxList{
    position: relative;
}
#pnkz li{
	display: inline;
	font-size: 11px;
    line-height: 1.5;
    color:  var(--keyColor);
}
#pnkz li::after{
	content: "/";
	margin: 0 3px 0 4px;
    color: #6e604d;
}
#pnkz li:last-child::after{
	display: none;
}
#pnkz a{
    color:  var(--keyColor);
    text-underline-offset: 2px;
}
@media only screen and (max-width:767px){
    #pnkz{
        padding: 11px 0 12px;
        order: 3;
        border-top: solid 1px #ebe7e4;
    }
    #pnkz .boxList{
		white-space: nowrap;
		overflow-y: scroll;
	}
    #pnkz li{
        font-size: 10px;
    }
    #pnkz li::after{
        margin: 0 3px;
    }
}
@media only screen and (max-width:767px){
    #main{
        display: flex;
        flex-flow: column;
    }
    .mainWrapper{
        order: 2;
        padding-bottom: 100px;
    }
    .secCmnContact{
        order: 4;
    }
}
/*-----------------------------------------------
    header internal
-----------------------------------------------*/
#header.internal{
    background: #fff;
    border-bottom: none;
}
#header.internal.naviOpen{
    background: transparent;
}
#header.internal::after{
    display: none;
}
#header.internal .naviLink{
    color: var(--textColor);
}
#header.internal .linkInner{
    background: var(--keyColor);
}
#header.internal .btnNavi .naviCover{
    background: var(--keyColor);
}
@media only screen and (max-width:767px){
    /* #header.internal{
        position: absolute;
    } */
    #header.internal .btnNavi .naviCover{
        background: none;
    }
}
/* noneTxt */
.noneTxt{
    font-size: 16px;
    text-align: center;
    padding: 30px 0;
}

@media only screen and (max-width:767px){
    .noneTxt{
        font-size: 12px;
        line-height: 1.5;
        padding: 20px 0;
    }
}
@media only screen and (max-width:359px){
    .noneTxt{
        font-size: 10px;
    }
}
/* secCmnIndexPager */
.secCmnIndexPager{
    margin-top: 145px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.secCmnIndexPager .boxList{
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
}
.secCmnIndexPager .btn{
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    margin-right: 5px;
}
.secCmnIndexPager .inner{
    font-size: 18px;
    font-weight: bold;
    color: inherit;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 30px;
    color: #bfbfbf;
}
.secCmnIndexPager .on{
    color:  var(--keyColor);
}
.secCmnIndexPager .on .inner{
    color:  var(--keyColor);
    border-radius: 50%;
    background: #f8f7f6;
}
.secCmnIndexPager .dots{
    border: 0;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: end;
    height: 30px;
	margin: 0 6px 0 1px;
    font-size: 18px;
    color: #d4d4d4;
    box-shadow: none;
}
.secCmnIndexPager .btnPrev{
    margin-right: 80px;
}
.secCmnIndexPager .btnNext{
    margin-left: 80px;
}
.secCmnIndexPager .btnPrev .inner,
.secCmnIndexPager .btnNext .inner{
    position: relative;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    text-align: center;
    position: relative;
    background: #282823;
    flex-shrink: 0;
    display: block;
}
.secCmnIndexPager .btnPrev .inner::before,
.secCmnIndexPager .btnNext .inner::before{
    position: absolute;
    content: "";
    background: #51402b;
    width: 50px;
    height: 1px;
    top: calc(50% - 0.5px);
    right: -70px;
}
.secCmnIndexPager .btnNext .inner::before{
    right: auto;
    left: -70px;
}
.secCmnIndexPager .btnPrev .inner.lazyloaded{
    background: url(../img/common/iconViewmore02.gif) center center / 12px auto no-repeat var(--lightKeyColor);;
}
.secCmnIndexPager .btnNext .inner.lazyloaded{
    background: url(../img/common/iconViewmore.gif) center center / 12px auto no-repeat var(--lightKeyColor);;
}
.secCmnIndexPager .btnPrev.none,.secCmnIndexPager .btnNext.none{
    display: none;
}
@media only screen and (max-width:767px){
    .secCmnIndexPager{
        margin-top: 58px;
    }
    .secCmnIndexPager .btn{
        min-width: 29px;
        margin-right: 0;
    }
    .secCmnIndexPager .inner{
        font-size: 16px;
        height: 29px;
    }
    .secCmnIndexPager .dots{
        height: 29px;
        margin: 0 0 5px;
        font-size: 16px;
    }
    .secCmnIndexPager .btnPrev{
        margin-right: 30px;
    }
    .secCmnIndexPager .btnNext{
        margin-left: 30px;
    }
    .secCmnIndexPager .btnPrev .inner,
    .secCmnIndexPager .btnNext .inner{
        width: 35px;
        height: 35px;
    }
    .secCmnIndexPager .btnPrev .inner::before,
    .secCmnIndexPager .btnNext .inner::before{
        width: 20px;
        right: -30px;
    }
    .secCmnIndexPager .btnNext .inner::before{
        right: auto;
        left: -30px;
    }
    .secCmnIndexPager .btnPrev .inner.lazyloaded{
        background: url(../img/common/iconViewmore02.gif) center center / 8px auto no-repeat var(--lightKeyColor);;
    }
    .secCmnIndexPager .btnNext .inner.lazyloaded{
        background: url(../img/common/iconViewmore.gif) center center / 8px auto no-repeat var(--lightKeyColor);;
    }
}
/* secDetailsPager */
.secDetailsPager{
    position: relative;
    min-height: 170px;
    margin: 150px auto 0;
}
.secDetailsPager .wrapper{
    border-top: solid 1px #dcdcdc;
}
.secDetailsPager .boxBtnPager{
    display: flex;
    padding: 90px 0 0;
    position: relative;
}
.secDetailsPager .boxBtnPrev,
.secDetailsPager .boxBtnNext{
    width: 335px;
}
.secDetailsPager .boxBtnNext{
    margin: 0 0 0 auto;
}
.secDetailsPager .btnPrev,
.secDetailsPager .btnNext{
    display: block;
    color: var(--textColor);
    text-decoration: none;
    position: relative;
}
.secDetailsPager .nextTxt{
    position: absolute;
    left: 0;
    top: -65px;
    font-size: 14px;
    font-weight: bold;
    color: #787878;
    padding-left: 12px;
}
.secDetailsPager .nextTxt::after{
    position: absolute;
    content: "";
    width: 6px;
    height: 7px;
    left: 0;
    top: calc(50% - 3.5px);
}
.secDetailsPager .nextTxt.lazyloaded::after{
    background: url(../img/common/icoDetailsPagernNext01.gif) center top / cover;
}
.secDetailsPager .btnNext .nextTxt{
    padding: 0 12px 0 0;
    left: auto;
    right: 0;
}
.secDetailsPager .btnNext .nextTxt::after{
    left: auto;
    right: 0;
}
.secDetailsPager .btnNext .nextTxt.lazyloaded::after{
    background: url(../img/common/icoDetailsPagernNext02.gif) center top / cover;
}
.secDetailsPager .deyBox{
    display: flex;
    align-items: flex-start;
}
.secDetailsPager .deyTit{
    font-size: 14px;
    line-height: 1.71;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
    margin-top: 3px;
}
.secDetailsPager .tagItem{
    font-size: 12px;
    display: inline-block;
    text-align: center;
    min-width: 60px;
    padding: 6.5px 5px;
    color: #fff;
    margin-left: 10px;
    flex-shrink: 0;
}
.secDetailsPager .tagItem.tag01{
    background: #32739e;
}
.secDetailsPager .tagItem.tag02{
    background: #da7c00;
}
.secDetailsPager .txt{
    font-size: 18px;
    line-height: 1.66;
    margin-top: 10px;
}
.secDetailsPager .iconNew{
    padding: 6px 5px 7px;
    font-size: 12px;
    height: auto;
    display: inline-block;
    margin-left: 10px;
    position: relative;
    top: -3px;
    line-height: 1;
    font-weight: 400;
    text-align: center;
}
.secCmnBack{
    width: 264px;
    position: absolute;
    left: calc(50% - 132px);
    top: 100px;
}
.secCmnBack .btnInner{
    height: 70px;
    background: #fff;
    border: solid 1px var(--textColor);
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 35px;
    text-decoration: none;
    color: var(--textColor);
    position: relative;
}
.secCmnBack .btnTxt{
    position: relative;
    padding-left: 10px;
}
.secCmnBack .btnInner::after{
    position: absolute;
    content: "";
    width: 6px;
    height: 7px;
    left: 40px;
    top: calc(50% - 3.5px);
}
.secCmnBack .btnInner.lazyloaded::after{
    background: url(../img/common/iconCmnBack.gif) center top / cover;
}
@media only screen and (max-width:767px){
    .secDetailsPager{
        min-height: auto;
        margin: 77px auto 0;
    }
    .secDetailsPager .wrapper{
        border-top: none;
    }
    .secDetailsPager .boxBtnPager{
        display: block;
        padding: 0;
    }
    .secDetailsPager .boxBtnPrev,
    .secDetailsPager .boxBtnNext{
        width: 100%;
    }
    .secDetailsPager .boxBtnNext{
        margin: 0;
    }
    .secDetailsPager .btnPrev,
    .secDetailsPager .btnNext{
        padding-bottom: 20px;
    }
    .secDetailsPager .nextTxt{
        position: relative;
        left: 0;
        top: 0;
        font-size: 12px;
        padding-left: 10px;
    }
    .secDetailsPager .nextTxt::before{
        position: absolute;
        content: "";
        width: calc(100% - 55px);
        height: 1px;
        background: #dcdcdc;
        top: calc(50% - 0.5px);
        right: 0;
    }
    .secDetailsPager .btnNext .nextTxt{
        padding: 0 10px 0 0;
        left: auto;
        right: 0;
        text-align: right;
    }
    .secDetailsPager .btnNext .nextTxt::after{
        left: auto;
        right: 0;
    }
    .secDetailsPager .btnNext .nextTxt::before{
        right: 0;
        left: 0;
    }
    .secDetailsPager .deyBox{
        display: block;
    }
    .secDetailsPager .deyTit{
        font-size: 10px;
        line-height: 1.5;
        padding: 5px 10px;
        background: #f8f7f6;
        margin-top: 25px;
    }
    .secDetailsPager .txtBox{
        display: flex;
        margin-top: 10px;
    }
    .secDetailsPager .tagItem{
        font-size: 11px;
        display: inline-block;
        text-align: center;
        min-width: 50px;
        padding: 4.5px 3px;
        margin-left: 0;
    }
    .secDetailsPager .btnDetailsBox{
        padding-left: 15px;
    }
    .secDetailsPager .txt{
        font-size: 12px;
        line-height: 1.66;
        margin-top: 0;
    }
    .secDetailsPager .iconNew{
        padding: 4px 4px 5px;
        font-size: 11px;
        height: auto;
        margin-left: 6px;
        top: -1px;
        width: auto;
    }
    .secCmnBack{
        min-width: 205px;
        margin: 25px auto 0;
        width: 59.421%;
        position: static;
    }
    .secCmnBack .btnInner{
        height: 50px;
        font-size: 12px;
        border-radius: 25px;
    }
    .secCmnBack .btnInner::after{
        display: none;
    }
    .secCmnBack .btnTxt{
        padding-left: 10px;
    }
    .secCmnBack .btnTxt::after{
        position: absolute;
        content: "";
        width: 6px;
        height: 7px;
        left: 0;
        top: calc(50% - 3.5px);
    }
    .secCmnBack .btnTxt.lazyloaded::after{
        background: url(../img/common/iconCmnBack.gif) center top / cover;
    }
}
/* secCmnWorksBnr */
.secCmnWorksBnr{
    margin-top: 150px;
}
.secCmnWorksBnr .inner{
    position: relative;
    display: block;
    text-decoration: none;
    color: #fff;
}
.secCmnWorksBnr .txtBox{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    z-index: 10;
    padding-left: 110px;
}
.secCmnWorksBnr .engTit{
    position: relative;
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    font-style: italic;
}
.secCmnWorksBnr .engTit::after{
    position: absolute;
    content: "";
    width: 80px;
    height: 1px;
    top: calc(50% + 1px);
    right: -90px;
    background: #fff;
}
.secCmnWorksBnr .tit{
    font-size: 58px;
    letter-spacing: 4px;
    font-weight: bold;
    margin-top: 22px;
    margin-left: -13px;
}
.secCmnWorksBnr .txt{
    font-size: 40px;
    font-weight: bold;
    margin-top: 20px;
}
.secCmnWorksBnr .btnBox{
    margin-top: 30px;
    width: 270px;
    height: 60px;
    border-radius: 30px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secCmnWorksBnr .btnTxt{
    position: relative;
    font-size: 18px;
    color: var(--textColor);
    font-weight: bold;
    padding-left: 10px;
}
.secCmnWorksBnr .btnTxt::after{
    position: absolute;
    content: "";
    width: 6px;
    height: 7px;
    left: 0;
    top: calc(50% - 3.5px);
}
.secCmnWorksBnr .btnTxt.lazyloaded::after{
    background: url(../img/common/iconCmnBtnBox.gif) center top / cover;
}
@media only screen and (max-width:1600px){
    .secCmnWorksBnr .tit{
        font-size: 50px;
        letter-spacing: normal;
    }
}
@media only screen and (max-width:767px){
    .secCmnWorksBnr{
        margin-top: 50px;
    }
    .secCmnWorksBnr .txtBox{
        padding-left: 25px;
    }
    .secCmnWorksBnr .engTit{
        font-size: 12px;
    }
    .secCmnWorksBnr .engTit::after{
        width: 30px;
        height: 1px;
        top: calc(50% + 1px);
        right: -40px;
    }
    .secCmnWorksBnr .tit{
        font-size: 24px;
        letter-spacing: normal;
        margin-top: 10px;
        margin-left: -5px;
    }
    .secCmnWorksBnr .txt{
        font-size: 24px;
        margin-top: 7px;
    }
    .secCmnWorksBnr .btnBox{
        margin-top: 13px;
        width: 125px;
        height: 31px;
        border-radius: 15.5px;
    }
    .secCmnWorksBnr .btnTxt{
        font-size: 10px;
        padding-left: 10px;
    }
}
/* secCmnReservationBnr */
.secCmnWorksBnr + .secCmnReservationBnr{
    margin-top: 100px;
}
.secCmnReservationBnr{
    margin-top: 150px;
}
.secCmnReservationBnr.mt80{
    margin-top: 80px;
}
.secCmnReservationBnr.mt90{
    margin-top: 90px;
}
.secCmnReservationBnr .inner{
    position: relative;
    display: block;
    text-decoration: none;
    color: #fff;
    text-align: center;
    overflow: visible;
}
.secCmnReservationBnr .txtBox{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}
.secCmnReservationBnr .img {
    overflow: hidden;
}
.secCmnReservationBnr .engTit{
    position: relative;
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    font-style: italic;
}
.secCmnReservationBnr .engTit::after,
.secCmnReservationBnr .engTit::before{
    position: absolute;
    content: "";
    width: 80px;
    height: 1px;
    top: calc(50% + 3px);
    background: #fff;
}
.secCmnReservationBnr .engTit::after{
    left: -90px;
}
.secCmnReservationBnr .engTit::before{
    right: -90px;
}
.secCmnReservationBnr .tit{
    font-size: 58px;
    font-weight: bold;
    margin-top: 32px;
}
.secCmnReservationBnr .txt{
    font-size: 18px;
    line-height: 2.22;
    font-weight: bold;
    margin-top: 28px;
}
.secCmnReservationBnr .btnBox{
    margin: 37px auto 0;
    width: 240px;
    height: 60px;
    border-radius: 30px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secCmnReservationBnr .btnTxt{
    position: relative;
    font-size: 18px;
    color: var(--textColor);
    font-weight: bold;
    padding-left: 10px;
}
.secCmnReservationBnr .btnTxt::after{
    position: absolute;
    content: "";
    width: 6px;
    height: 7px;
    left: 0;
    top: calc(50% - 3.5px);
}
.secCmnReservationBnr .btnTxt.lazyloaded::after{
    background: url(../img/index/iconCmnBtnBox.gif) center top / cover;
}
.secCmnReservationBnr .cmnCpBnr{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    z-index: 20;
}
.secCmnReservationBnr .cmnCpBnr .icon{
    text-align: left;
    margin-top: 40px;
}
@media only screen and (max-width:767px){
    .secCmnWorksBnr + .secCmnReservationBnr{
        margin-top: 40px;
    }
    .secCmnReservationBnr{
        margin-top: 65px;
    }
    .secCmnReservationBnr.mt80{
        margin-top: 35px;
    }
    .secCmnReservationBnr.mt90{
        margin-top: 50px;
    }
    .secCmnReservationBnr .engTit{
        font-size: 10px;
    }
    .secCmnReservationBnr .engTit::after,
    .secCmnReservationBnr .engTit::before{
        width: 40px;
        top: calc(50% - 0.5px);
    }
    .secCmnReservationBnr .engTit::after{
        left: -45px;
    }
    .secCmnReservationBnr .engTit::before{
        right: -45px;
    }
    .secCmnReservationBnr .boxTxtIn{
        padding-bottom: 7px;
    }
    .secCmnReservationBnr .tit{
        font-size: 26px;
        margin-top: 10px;
    }
    .secCmnReservationBnr .txt{
        font-size: 11px;
        line-height: 1.54;
        margin-top: 5px;
    }
    .secCmnReservationBnr .btnBox{
        margin: 10px auto 0;
        width: 125px;
        height: 31px;
        border-radius: 15.5px;
    }
    .secCmnReservationBnr .btnTxt{
        font-size: 10px;
        padding-left: 10px;
    }
    .secCmnReservationBnr .btnTxt::after{
        top: calc(50% - 3.5px);
    }
    .secCmnReservationBnr .cmnCpBnr .icon{
        width: 18.67vw;
        height: auto;
        margin-top: -20px;
    }
}
@media only screen and (max-width:359px){
    .secCmnReservationBnr .tit{
        font-size: 20px;
    }
    .secCmnReservationBnr .txt{
        font-size: 10px;
    }
}

/* secCmnConceptList */
.secCmnConceptList{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.secCmnConceptList .item{
    width: 100%;
}
.secCmnConceptList .item:nth-child(n+2){
    width: calc(50% - 1px);
    margin-top: 2px;
}
.secCmnConceptList .link{
    display: block;
    overflow: hidden;
    color: #fff;
    position: relative;
    text-decoration: none;
}
.secCmnConceptList .img{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.secCmnConceptList .img img{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    font-family:'object-fit:cover;';
}
.secCmnConceptList .titMain{
    font-size: var(--pcFontSize70);
    letter-spacing: var(--pcLetterSpacing70_0);
    font-weight: bold;
}
.secCmnConceptList .titSub{
    font-size: var(--pcFontSize24);
    letter-spacing: var(--pcLetterSpacing24_0);
    margin-top: 30px;
    font-weight: bold;
}
.secCmnConceptList .boxTxt{
    height: 650px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    position: relative;
    z-index: 10;
    padding: 0 0 0 calc(50vw - 810px);
}
.secCmnConceptList .txtMain{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_1875);
    letter-spacing: var(--pcLetterSpacing16_05);
    margin-top: 10px;
}
.secCmnConceptList .txtDetails{
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_05);
    position: relative;
    margin-top: 42px;
}
.secCmnConceptList .txtDetails::after{
    content: "";
    width: 100px;
    height: 1px;
    background: #fff;
    position: absolute;
    top: calc(50% - 0.5px);
    left: 93px;
}
@media only screen and (max-width:1720px){
    .secCmnConceptList .boxTxt{
        padding-left: 50px;
    }
}
@media only screen and (max-width:767px){
    .secCmnConceptList{
        display: block;
    }
    .secCmnConceptList .item,
    .secCmnConceptList .item:nth-child(n+2){
        width: 100%;
    }
    .secCmnConceptList .item:nth-child(n+2){
        margin-top: 1px;
    }
    .secCmnConceptList .titMain{
        font-size: var(--spFontSize22);
        letter-spacing: var(--spLetterSpacing22_0);
        font-weight: bold;
    }
    .secCmnConceptList .titSub{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_0);
        margin-top: 16px;
    }
    .secCmnConceptList .boxTxt{
        height: 53.334vw;
        min-height: 200px;
        padding: 11.467vw 8vw 0;
        justify-content: flex-start;
    }
    .secCmnConceptList .txtMain{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_173);
        letter-spacing: var(--spLetterSpacing11_0);
        margin-top: 10px;
    }
    .secCmnConceptList .txtDetails{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_0);
        margin-top: 20px;
        text-align: right;
        padding-right: 40px;
        position: absolute;
        right: 5.34vw;
        bottom: 5.34vw;
    }
    .secCmnConceptList .txtDetails::after{
        width: 30px;
        left: auto;
        right: 0;
    }
}
@media only screen and (max-width:374px){
    .secCmnConceptList .boxTxt{
        padding-left: 6vw;
        padding-right: 6vw;
    }
}

/* secCmnLineup */
.secCmnLineup .list{
    margin-top: 72px;
}
.secCmnLineup .innerCover{
    position: relative;
    display: block;
    text-decoration: none;
    color: #fff;
    height: 100%;
}
.secCmnLineup .flexBox{
    display: flex;
}
.secCmnLineup .item{
    position: relative;
}
.secCmnLineup .item:nth-child(2){
    margin-top: 60px;
}
.secCmnLineup .leftBox{
    width: 61.595%;
}
.secCmnLineup .inner{
    position: relative;
    display: block;
    text-decoration: none;
    color: #fff;
    height: 600px;
}
.secCmnLineup .img{
    position: absolute;
    right: 0;
    top: 0;
}
.secCmnLineup .txtBox{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secCmnLineup .txtInBox{
    width: 600px;
    margin: 0 auto;
    text-align: center;
}
.secCmnLineup .tit{
    background: var(--brandColor);
    font-size: 16px;
    line-height: 1.5;
    padding: 13px 15px;
}
.secCmnLineup .item:nth-child(2) .tit{
    background: #6c8541;
}
.secCmnLineup .titImg{
    margin-top: 38px;
}
.secCmnLineup .imgTxt{
    font-size: 18px;
    font-weight: bold;
    margin-top: 12px;
}
.secCmnLineup .number{
    font-size: 40px;
    letter-spacing: 2px;
    font-weight: bold;
    margin-top: 11px;
}
.secCmnLineup .numberTxt{
    font-size: 30px;
}
.secCmnLineup .itemTagList{
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    padding: 0 15px;
}
.secCmnLineup .itemTagItem{
    font-size: 12px;
    line-height: 1.5;
    background: #fff;
    color: var(--textColor);
    margin: 5px;
    width: 180px;
    padding: 13.5px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.secCmnLineup .rightBox{
    width: 38.405%;
    height: 600px;
    position: relative;
}
.secCmnLineup .boxSlider{
    position: absolute;
    left: 0;
    top: 0;
    width: 800px;
}
.secCmnLineup .sliderBox{
    position: relative;
}
.secCmnLineup .sliderTxt{
    position: absolute;
    left: calc(50% - 80px);
    top: calc(50% - 25px);
    z-index: 10;
    font-size: 14px;
    font-weight: bold;
    width: 160px;
    height: 50px;
    background: rgb(0, 0, 0, 0.6);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secCmnLineup .swiper{
    width: 100%;
    overflow: hidden;
}
.secCmnLineup .imgSlider{
    padding-top: 75%;
}
.secCmnLineup .swiper-pagination{
    display: block;
    position: absolute;
    bottom: 20px;
    left: 25px;
    text-align: left;
}
.secCmnLineup .swiper-pagination-bullet{
    background: #ffffff;
    opacity: 1;
    width: 10px;
    height: 10px;
    margin: 0 5px!important;
    border-radius: 50%;
}
.secCmnLineup .swiper-pagination-bullet:last-child{
    margin-right: 0;
}
.secCmnLineup .swiper-pagination-bullet-active{
    background: var(--brandColor);
}
.secCmnLineup .item:nth-child(2) .swiper-pagination-bullet-active{
    background: #6c8541;
}
.secCmnLineup .iconImg{
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 10;
}
.secCmnLineup .innerCover:hover .swiper-slide img,
.secCmnLineup .innerCover:hover .titImg img{
    transform: none;
}
@media only screen and (max-width:767px){
    .secCmnLineup .list{
        margin-top: 30px;
    }
    .secCmnLineup .innerCover{
        width: 92%;
        margin: 0 auto;
    }
    .secCmnLineup .flexBox{
        display: block;
    }
    .secCmnLineup .item:nth-child(2){
        margin-top: 27px;
    }
    .secCmnLineup .leftBox{
        width: 100%;
    }
    .secCmnLineup .inner{
        background: #f8f7f6;
        color: var(--textColor);
        height: 100%;
    }
    .secCmnLineup .img{
        display: none;
    }
    .secCmnLineup .imgFlex{
        display: flex;
        position: relative;
    }
    .secCmnLineup .leftImgBox{
        width: 57.972%;
    }
    .secCmnLineup .leftImg{
        padding-top: 100%;
    }
    .secCmnLineup .rightImgBox{
        width: 42.029%;
    }
    .secCmnLineup .rightImg{
        padding-top: 68.966%;
    }
    .secCmnLineup .txtBox{
        position: static;
        display: block;
        padding: 26px 20px 36px;
    }
    .secCmnLineup .txtInBox{
        width: 100%;
    }
    .secCmnLineup .tit{
        background: none;
        font-size: 12px;
        letter-spacing: -0.3px;
        line-height: 1.58;
        padding: 0;
        color: var(--brandColor);
        margin: 0 -8px;
    }
    .secCmnLineup .item:nth-child(2) .tit{
        background: none;
        color: #6c8541;
    }
    .secCmnLineup .titImg{
        display: none;
    }
    .secCmnLineup .spTitEng{
        font-size: 25px;
        font-weight: bold;
        margin-top: 14px;
    }
    .secCmnLineup .imgTxt{
        font-size: 14px;
        margin-top: 7px;
    }
    .secCmnLineup .number{
        font-size: 24px;
        letter-spacing: 1px;
        margin-top: 13px;
    }
    .secCmnLineup .numberTxt{
        font-size: 16px;
        position: relative;
        top: -2px;
    }
    .secCmnLineup .itemTagList{
        margin-top: 18px;
        padding: 0 10px;
    }
    .secCmnLineup .itemTagItem{
        font-size: 11px;
        margin: 0;
        width: calc(50% - 4.5px);
        padding: 8.5px 8px;
        border: solid 1px #b2b2b2;
        display: flex;
        flex-direction: column;
    }
    .secCmnLineup .itemTagItem:nth-child(2n){
        margin-left: 9px;
    }
    .secCmnLineup .itemTagItem:nth-child(n+3){
        margin-top: 9px;
    }
    .secCmnLineup .txtSmall{
        font-size: 80%;
    }
    .secCmnLineup .moreTxt{
        font-size: 10px;
        font-weight: bold;
        padding-right: 34px;
        position: relative;
        text-align: right;
        margin-top: 22px;
    }
    .secCmnLineup .moreTxt::after{
        position: absolute;
        content: "";
        width: 20px;
        height: 20px;
        border-radius: 50%;
        right: 10px;
        top: calc(50% - 10px);
        background: #282823;
    }
    .secCmnLineup .moreTxt.lazyloaded::after{
        background: url(../img/index/iconViewmore.gif) center center / 6px auto no-repeat #282823;
    }
    .secCmnLineup .iconImg{
        width: 74px;
        top: auto;
        bottom: -15px;
        right: calc(50% - 37px);
    }
    .secCmnLineup .rightBox{
        display: none;
    }
}
@media only screen and (max-width:374px){
    .secCmnLineup .tit{
        font-size: 11px;
    }
}
@media only screen and (max-width:359px){
    .secCmnLineup .tit{
        font-size: 10px;
    }
    .secCmnLineup .itemTagList {
        padding: 0;
    }
}