@charset "utf-8";

@font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:400;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.otf) format('opentype');
}
@font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:700;
    src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
        url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
}

/*==============================
    基本設定
==============================*/
body{
    color:#242121;
    font-size:12px;
    font-family: 'YakuHanJP_Noto','Noto Sans JP', sans-serif;
    margin:0;
    padding:0;
    text-align:left;
    background:#fff;
    -webkit-text-size-adjust:100%;
    position:relative;
    word-break:break-all;
    min-width: 1400px;
    overflow-y:scroll;
}
@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;}
.fGaramond{font-family: 'EB Garamond', serif;}
.fRoboto{font-family: 'Roboto', sans-serif;}
/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover,
.cursorPointer:hover{ opacity:0.8; }
.ro a,
a.ro,
a .ro,
.cursorPointer{
    transition:opacity 0.2s ease-out;
}
.cursorPointer{cursor:pointer;}

/*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;
}

/*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;
}
/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.brSpMin,
.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:350px){
    .brSpMin{
        display: inline;
    }
}

/*-----------------------------------------------
    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
-----------------------------------------------*/
.wrapper1120{
    width: 1120px;
    margin: 0 auto;
}
.wrapper1320{
    width: 1320px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1830{
    width: 1830px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}
.wrapper1280{
    width: 1280px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}

.Wrapper1200 {
    width: 1200px;
    margin: 0 auto;
}
.wrapper1130{
    width: 1130px;
    margin: 0 auto;
} 
.wrapper1210 {
    width: 1210px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}   
.wrapper1120{
    width: 1120px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
}   
@media only screen and (max-width:767px){
    .wrapper1830,
    .wrapper1320,
    .wrapper1210,
    .wrapper1120{
        width: 100%;
        max-width: none;
    }
    .wrapperSp{
        width: 92%;
        margin: 0 auto;
        max-width: none;
    }
    .wrapperSp335{
        width: 89.334%;
        margin: 0 auto;
        max-width: none;
    }
    .wrapperSp315{
        width: 84%;
        margin: 0 auto;
        max-width: none;
    }
}

@media only screen and (max-width:767px){
    #main{
        display: flex;
        flex-flow: column;
    }
    .mainWrapper{
        order: 2;
    }
}
/*-----------------------------------------------
    header
-----------------------------------------------*/
.headerCon{
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
    min-width: 1400px;
}

#header{
    height: 110px;
    width: 100%;
    display: flex;
    align-items: center;
    z-index: 9996;
    min-width: 1400px;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
}
#header:before {
    content: "";
    width: 100%;
    height: 3px;
    background: linear-gradient(rgba(0,0,0,0.05) 0%, rgba(0,0,0,0) 100%);
    position: absolute;
    bottom: -3px;
    left: 0;
}
#header.popupShow{
    display: none;
}
#header .wrapper{
    width: 100%;
    position: relative;
    z-index: 9997;
}
#header .headerWrapper{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 110px 0 30px;
    width: 100%;
}
#header .logoTit{
    display: flex;
    align-items: center;
}
#header .headerLogo{
    display: block;
    width: 109px;
}
#header .logoTit .logotxt{
    font-size: 12px;
    line-height: 1.5;
    padding-left: 20px;
}
.isDesktopIpad #header .logoTit .logotxt{
    font-size: 10px;
}
#header .rightBox{
    display: flex;
    align-items: center;
}
#header .righTxtBox{
    margin-right: 50px;
}
.isDesktopIpad #header .righTxtBox{
    margin-right: 20px;
}
#header .subListBox{
    display: flex;
    justify-content: flex-end;
}
#header .subListItem{
    position: relative;
    margin-right: 15px;
    padding-right: 15px;
}
#header .subListItem::after{
    position: absolute;
    content: "";
    width: 1px;
    height: 12px;
    right: 0;
    top: calc(50% - 6px);
    background: #242121;
    transform:rotate(20deg);
}
#header .subListItem:last-child::after{
    display: none;
}
#header .subListItem:last-child{
    margin-right: 0;
    padding-right: 0;
}
#header .subListInner{
    display: block;
    text-decoration: none;
    color: #242121;
    font-size: 12px;
    letter-spacing: 0.5px;
}
.isDesktopIpad #header .subListInner{
    font-size: 10px;
    letter-spacing: normal;
}
#header .listBox{
    display: flex;
    margin-top: 18px;
}
#header .listItem{
    margin-right: 30px;
}
.isDesktopIpad #header .listItem{
    margin-right: 10px;
}
#header .listItem:last-child{
    margin-right: 0;
}
#header .listInner{
    display: block;
    text-decoration: none;
    color: #242121;
    font-size: 15px;
    letter-spacing: 0.5px;
}
.isDesktopIpad #header .listInner{
    font-size: 10px;
    letter-spacing: normal;
}
#header .linkList{
    display: flex;
}
#header .linkItem{
    width: 130px;
}
#header .linkInner{
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.46;
    letter-spacing: 1px;
    font-weight: 500;
    position: relative;
    padding-bottom: 40px;
    background: rgb(59, 80, 103);
}
#header .linkItem:nth-child(2) .linkInner{
    background: rgb(59, 103, 65);
}
#header .linkInner::after{
    position: absolute;
    content: "";
    width: 96px;
    height: 49px;
    bottom: 0;
    left: calc(50% - 48px);
    background: url(../img/common/iconHeaderLink01.png) center top / cover;
}
#header .linkItem:nth-child(2) .linkInner::after{
    width: 130px;
    height: 50px;
    left: calc(50% - 65px);
    background: url(../img/common/iconHeaderLink02.png) center top / cover;
}
@media only screen and (max-width:1680px){
    #header .righTxtBox{
        margin-right: 30px;
    }
    #header .listItem{
        margin-right: 15px;
    }
    #header .listInner{
        font-size: 14px;
        letter-spacing: normal;
    }
}
@media only screen and (max-width:1580px){
    #header .righTxtBox{
        margin-right: 20px;
    }
    #header .listItem{
        margin-right: 10px;
    }
    #header .listInner{
        font-size: 13px;
    }
}
@media only screen and (max-width:1480px){
    #header .listInner{
        font-size: 12px;
    }
    #header .linkItem{
        width: 120px;
    }
    #header .linkItem:nth-child(2) .linkInner::after{
        width: 120px;
        height: 46px;
        left: calc(50% - 60px);
    }
}
@media only screen and (max-width:767px){
    .headerCon{
        min-width: auto;
    }
    #header{
        height: 60px;
        z-index: 9996;
        min-width: auto;
    }
    #header .headerWrapper{
        padding: 0 60px 0 15px;
    }
    #header .headerLogo{
        width: 65px;
    }
    #header .rightBox{
        display: block;
    }
    #header .righTxtBox{
        display: none;
    }
    #header .linkList{
        display: block;
    }
    #header .linkItem{
        width: 90px;
    }
    #header .linkInner{
        /* height: 30px; */
        font-size: 10px;
        line-height: 1.46;
        letter-spacing: normal;
        padding-bottom: 0;
        /* background: transparent;
        color: inherit; */
        /* border: 1px solid #ddd; */
        padding: 5px 3px;
        height: auto;
    }
    #header .linkInner::after{
        display: none;
    }
    #header .linkItem:nth-child(2) .linkInner::after{
        display: none;
    }
    #header .logoTit .logotxt{
        font-size: 10px;
        padding-left: 15px;
        flex: 1;
    }
}
/*-----------------------------------------------
    btnNavi
-----------------------------------------------*/
#btnNavi {
    width: 110px;
    margin: 0 0 0 auto;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9997;
}
#btnNavi .naviCover{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-decoration: none;
    width: 100%;
    height: 110px;
    color: #242121;
    background: rgb(255, 255, 255);
}
#btnNavi .border {
    margin-top: 2px;
	width: 32px;
	height: 13px;
	position: relative;
}
#btnNavi .border .inner,
#btnNavi .border .inner::before,
#btnNavi .border .inner::after{
	display: block;
	width: 32px;
	height: 1px;
	background: rgb(36, 33, 33);
    left: 0;
    right: 0;
    margin: auto;
}
#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{
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 500;
    margin-top: 15px;
}
#btnNavi.naviOpen .naviCover{
	background: #3b6741;
}
#btnNavi.naviOpen .border{
    width: 32px;
    height: 13px;
}
#btnNavi:not(.naviOpen) .txtClose,
#btnNavi.naviOpen .txtMenu{
    display: none;
}
#btnNavi.naviOpen .border .inner{
    width: 0;
    height: 0;
}
#btnNavi.naviOpen .border .inner::before{
    transform: translateY(42px) rotate(-30deg);
    top: -35px;
    width: 32px;
    height: 1px;
    background: rgb(255, 255, 255);
}
#btnNavi.naviOpen .border .inner::after{
    transform: translateY(10px) rotate(30deg);
    bottom: 15px;
    width: 32px;
    height: 1px;
    background: rgb(255, 255, 255);
}
#btnNavi.naviOpen .txt{
    color: #fff;
}
@media only screen and (max-width:767px){
    #btnNavi {
        width: 60px;
    }
    #btnNavi .naviCover{
        height: 60px;
    }
    #btnNavi .border{
        width: 25px;
        height: 8px;
    }
    #btnNavi .border .inner,
    #btnNavi .border .inner::before,
    #btnNavi .border .inner::after{
        width: 25px;
    }
    #btnNavi .txt {
        font-size: 11px;
        letter-spacing: normal;
        margin-top: 10px;
    }
    #btnNavi.naviOpen .border{
        width: 25px;
        height: 8px;
    }
    #btnNavi.naviOpen .border .inner::before{
        transform: translateY(39px) rotate(-30deg);
        top: -38px;
        width: 25px;
    }
    #btnNavi.naviOpen .border .inner::after{
        transform: translateY(13px) rotate(30deg);
        bottom: 18px;
        width: 25px;
    }
}
/*-----------------------------------------------
    menu
-----------------------------------------------*/
#menu{
    display: none;
    position: relative;
    background:#fff;
    z-index: 9998;
    width: 100%;
    min-width: 1400px;
    overflow: hidden;
    margin: 0 0 0 auto;
    min-height: 100vh;
}
#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: 620px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
#menu .menuLogo{
    text-align: center;
    display: inline-block;
}
#menu .logoTxt{
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 1.875;
    text-align: center;
    margin-top: 35px;
    color: #fff;
}
#menu .mapBox{
    width: 220px;
    margin: 30px auto 0;
}
#menu .mapInner{
    height: 50px;
    border-radius: 25px;
    border: solid 1px rgb(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    letter-spacing: 1px;
}
#menu .mapTxt{
    position: relative;
    font-weight: 500;
    padding-left: 20px;
}
#menu .mapTxt::after{
    position: absolute;
    content: "";
    width: 14px;
    height: 19px;
    top: calc(50% - 9.5px);
    left: -8px;
    background: url(../img/common/iconMenuMap.png) center top / cover;
}
@media only screen and (max-width:1650px){
    #menu .wrapperOut{
        width: 550px;
    }
}
@media only screen and (max-width:1550px){
    #menu .wrapperOut{
        width: 500px;
    }
}
@media only screen and (max-width:1500px){
    #menu .wrapperOut{
        width: 450px;
    }
}
/* wrapperIn */
#menu .wrapperIn{
    width: calc(100% - 620px);
    padding: 180px 140px;
    display: flex;
    align-items: center;
}
#menu .rightInner{
    width: 100%;
    max-width: 860px;
}
@media only screen and (max-width:1750px){
    #menu .wrapperIn{
        padding: 180px 80px;
    }
}
@media only screen and (max-width:1650px){
    #menu .wrapperIn{
        width: calc(100% - 550px);
    }
}
@media only screen and (max-width:1550px){
    #menu .wrapperIn{
        width: calc(100% - 500px);
    }
}
@media only screen and (max-width:1500px){
    #menu .wrapperIn{
        width: calc(100% - 450px);
    }
}
/* menuList */
#menu .menuList{
    display: flex;
}
#menu .linkTxtList:nth-child(n+2){
    margin-left: 9.5%;
}
#menu .linkTxtList .linkItem:nth-child(n+2){
    margin-top: 38px;
}
#menu .linkInner{
    font-size: 16px;
    text-decoration: none;
    color: #242121;
    display: inline-block;
    padding-left: 20px;
    position: relative;
    line-height: 1.5;
}
#menu .linkInner::after{
    position: absolute;
    content: "";
    width: 10px;
    height: 1px;
    top: calc(50% - 0.5px);
    left: 0;
    background: #242121;
}
#menu .snsList{
    display: flex;
    width: 100%;
    margin-top: 60px;
    border-right: solid 1px rgb(230, 227, 223);
}
#menu .snsItem{
    width: calc(100% / 3);
}
#menu .snsInner{
    height: 150px;
    border-left: solid 1px rgb(230, 227, 223);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-flow: column;
    color: #242121;
    font-size: 16px;
    line-height: 1.625;
    text-decoration: none;
}
#menu .snsTxt{
    margin-top: 15px;
}
#menu .lineItem{
    margin: 60px auto 0;
    text-align: center;
}
#menu .lineInner{
    display: inline-block;
}
#menu .btnClose{
    display: none;
}
@media only screen and (max-width:1450px){
    #menu .linkInner{
        font-size: 14px;
    }
}
@media only screen and (max-width:767px){
    #menu{
        display: none;
        position: relative;
        background: url(../img/common/imgMenuLeft_sp.jpg) center top / cover no-repeat;
        min-width: auto;
        margin: 0 auto;
        padding-top: 47px;
    }
    #menu .wrapperMenu{
        display: block;
    }
    #menu .wrapperOut{
        min-height: auto;
        background: none;
        display: block;
        width: 89.334%;
        margin: 0 auto;
    }
    #menu .menuLogo{
        width: 122px;
        margin: 0 auto;
    }
    #menu .logoTxt{
        font-size: 12px;
        line-height: 1.83;
        margin-top: 25px;
    }
    #menu .mapBox{
        width: 215px;
        margin: 15px auto 0;
        display: none;
    }
    #menu .mapInner{
        height: 50px;
        font-size: 14px;
    }
    #menu .mapTxt{
        padding-left: 25px;
    }
    #menu .mapTxt::after{
        left: 5px;
    }
    /* wrapperIn */
    #menu .wrapperIn{
        width: 89.334%;
        margin: 15px auto 0;
        padding: 0 0 40px 0;
        background: #fff;
        display: block;
    }
    #menu .rightInner{
        width: 100%;
        max-width: 100%;
    }
    /* menuList */
    #menu .menuList{
        display: block;
    }
    #menu .linkTxtList:nth-child(n+2){
        margin-left: 0;
        display: none;
    }
    #menu .linkTxtList .linkItem:nth-child(n+2){
        margin-top: 0;
    }
    #menu .linkTxtList{
        display: flex;
        flex-wrap: wrap;
    }
    #menu .linkItem{
        width: 50%;
        border-bottom: solid 1px rgb(230, 227, 223);
    }
    #menu .linkItem:nth-child(2n+1){
        border-right: solid 1px rgb(230, 227, 223);
    }
    #menu .linkInner{
        font-size: 11px;
        display: block;
        padding: 19px 0 19px 15px;
        letter-spacing: -0.5px;
        width: 100%;
    }
    #menu .linkInner::after{
        width: 5px;
        height: 1px;
        left: 5px;
    }
    #menu .snsList{
        display: flex;
        width: 100%;
        margin-top: 0;
        border-right: none;
        border-bottom: solid 1px rgb(230, 227, 223);
    }
    #menu .snsItem{
        width: calc(100% / 3);
        border-right: solid 1px rgb(230, 227, 223);
    }
    #menu .snsItem:last-child{
        border-right: none;
    }
    #menu .snsItem:nth-child(1) .snsImg{
        width: 18px;
        margin: 0 auto;
    }
    #menu .snsItem:nth-child(2) .snsImg{
        width: 22px;
        margin: 0 auto;
    }
    #menu .snsItem:nth-child(3) .snsImg{
        width: 14px;
        margin: 0 auto;
    }
    #menu .snsInner{
        height: 140px;
        font-size: 11px;
        line-height: 1.54;
        border-left: none;
        padding-top: 5px;
    }
    #menu .snsTxt{
        margin-top: 5px;
    }
    #menu .lineItem{
        margin: 20px auto 0;
        width: 265px;
    }
    #menu .btnClose{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 125px;
        height: 50px;
        margin: 20px auto 0;
        border: solid 1px #242121;
        font-size: 14px;
        font-weight: 500;
    }
}
@media only screen and (max-width:374px){
    #menu .linkInner{
        font-size: 10px;
    }
}
@media only screen and (max-width:359px){
    #menu .linkInner{
        padding: 19px 0 19px 5px;
    }
    #menu .linkInner::after{
        display: none;
    }
}
/*-----------------------------------------------
    footer
-----------------------------------------------*/
#footer{
    position: relative;
    padding: 132px 0 109px;
}
#footer.lazyloaded{
    background: url(../img/common/bgFooter.jpg) center top / cover no-repeat;
}
#footer .topCircle{
    position: absolute;
    right: 50px;
    top: 150px;
}
#footer .wrapperMenu{
    width: 1620px;
    margin: 0 auto;
    max-width: calc(100% - 40px);
    display: flex;
}
#footer .menuLogo{
    display: inline-block;
}
#footer .logoTxt{
    font-size: 16px;
    line-height: 1.875;
    letter-spacing: 1px;
    margin-top: 23px;
    color: #fff;
}
#footer .mapBox{
    width: 220px;
    margin: 30px auto 0 0;
}
#footer .mapInner{
    height: 50px;
    border-radius: 25px;
    border: solid 1px rgb(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    letter-spacing: 1px;
}
#footer .mapTxt{
    position: relative;
    padding-left: 20px;
    font-weight: 500;
}
#footer .mapTxt::after{
    position: absolute;
    content: "";
    width: 14px;
    height: 19px;
    top: calc(50% - 9.5px);
    left: -8px;
}
#footer.lazyloaded .mapTxt::after{
    background: url(../img/common/iconMenuMap.png) center top / cover;
}
#footer .lineItem{
    margin-top: 42px;
}
#footer .wrapperIn{
    margin: 20px 0 0 auto;
}
/* menuList */
#footer .menuList{
    display: flex;
}
#footer .linkTxtList:nth-child(n+2){
    margin-left: 80px;
}
#footer .linkTxtList .linkItem:nth-child(n+2){
    margin-top: 38px;
}
#footer .linkInner{
    font-size: 16px;
    text-decoration: none;
    color: #fff;
    display: inline-block;
    padding-left: 20px;
    position: relative;
}
#footer .linkInner::after{
    position: absolute;
    content: "";
    width: 10px;
    height: 1px;
    top: calc(50% - 0.5px);
    left: 0;
    background: #fff;
}
#footer .snsBox{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 58px;
}
#footer .snsTit{
    font-size: 16px;
    letter-spacing: 1px;
    font-weight: 500;
    color: #fff;
}
#footer .snsList{
    display: flex;
    align-items: center;
    margin-left: 20px;
}
#footer .snsItem:nth-child(n+2){
    margin-left: 20px;
}
#footer .snsInner{
    display: inline-block;
}
#footer .copyBox{
    border-top: solid 1px rgba(255, 255, 255, 0.102);
    padding-top: 40px;
    margin-top: 60px;
    display: flex;
    width: 1620px;
    margin: 60px auto 0;
    max-width: calc(100% - 40px);
    flex-direction: row-reverse;
    justify-content: space-between;
}
#footer .copyInner{
    display: flex;
    flex-direction: column-reverse;
}
#footer .copy{
    font-size: 12px;
    color: #fff;
    padding-bottom: 20px;
}
#footer .copy .fCopy{
    font-family: Verdana,'Droid Sans';
}
#footer .copyRight{
    padding-left: 10px;
    margin-left: 10px;
    letter-spacing: 0.5px;
    position: relative;
}
#footer .copyRight::after{
    position: absolute;
    content: "";
    left: 0;
    top: calc(50% - 4px);
    width: 1px;
    height: 12px;
    background: rgba(255, 255, 255, 0.5);
}
#footer .contactBtnBox{
    display: flex;
    justify-content: end;
}
#footer .contactBtn{
    width: 220px;
    height: 50px;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.5);
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 1px;
    font-size: 13px;
}
#footer .contactBtn.btn01{
    margin-right: 10px;
}

@media only screen and (max-width:1780px){
    #footer .wrapperIn{
        margin: 20px 40px 0 auto;
    }
}
@media only screen and (max-width:767px){
    #footer{
        padding: 57px 0 36px;
    }
    #footer.lazyloaded{
        background: url(../img/common/bgFooter_sp.jpg) center top / cover no-repeat;
    }
    #fNavi + #footer{
        padding-bottom: 95px;
    }
    #footer .topCircle{
        display: none;
    }
    #footer .wrapperMenu{
        width: 100%;
        margin: 0 auto;
        max-width: 100%;
        display: block;
    }
    #footer .logoInner{
        text-align: center;
    }
    #footer .menuLogo{
        width: 122px;
        margin: 0 auto;
    }
    #footer .logoTxt{
        font-size: 12px;
        line-height: 1.83;
        margin-top: 17px;
        text-align: center;
    }
    #footer .mapBox{
        width: 215px;
        margin: 25px auto 0;
    }
    #footer .mapInner{
        height: 50px;
        font-size: 14px;
    }
    #footer .mapTxt{
        padding-left: 25px;
    }
    #footer .mapTxt::after{
        left: 5px;
    }
    #footer .lineItem{
        margin: 30px auto 0;
        width: 222px;
    }
    #footer .wrapperIn{
        margin: 40px auto 0;
    }
    /* menuList */
    #footer .menuList{
        display: block;
    }
    #footer .linkTxtList:nth-child(n+2){
        margin-left: 0;
        display: none;
    }
    #footer .linkTxtList .linkItem:nth-child(n+2){
        margin-top: 0;
    }
    #footer .linkTxtList{
        display: flex;
        flex-wrap: wrap;
        border-top: solid 1px rgba(255, 255, 255, 0.2);
    }
    #footer .linkItem{
        width: 50%;
        border-bottom: solid 1px rgba(255, 255, 255, 0.2);
    }
    #footer .linkItem:nth-child(2n+1){
        border-right: solid 1px rgba(255, 255, 255, 0.2);
    }
    #footer .linkInner{
        font-size: 11px;
        display: block;
        padding: 19.5px 0 19.5px 25px;
        letter-spacing: -0.5px;
        width: 100%;
    }
    #footer .linkInner::after{
        width: 8px;
        height: 1px;
        left: 10px;
    }
    #footer .snsBox{
        justify-content: center;
        margin-top: 30px;
    }
    #footer .snsTit{
        font-size: 18px;
        letter-spacing: 1px;
    }
    #footer .snsList{
        margin-left: 15px;
    }
    #footer .snsItem:nth-child(n+2){
        margin-left: 20px;
    }
    #footer .snsItem:nth-child(1) img{
        width: 25px;
    }
    #footer .snsItem:nth-child(2) img{
        width: 27px;
    }
    #footer .snsItem:nth-child(3) img{
        width: 20px;
    }
    #footer .copyBox{
        border-top: none;
        padding-top: 0;
        margin-top: 27px;
    }
    #footer .copyInner{
        width: 100%;
        margin: 0 auto;
        max-width: 100%;
    }
    #footer .copy{
        font-size: 10px;
        line-height: 2;
        text-align: center;
    }
    #footer .copyRight{
        display: block;
        padding-left: 0;
        margin-left: 0;
        letter-spacing: 0.5px;
    }
    #footer .copyRight::after{
        display: none;
    }
    #footer .copyBox {
        border-top: none;
        padding-top: 0;
        margin-top: 27px;
        width: 100%;
        margin: 0 auto;
        max-width: unset;
        display: block;
    }
    #footer .contactBtn {
        width: 48.7%;
        height: 44px;
        color: #fff;
        text-decoration: none;
        display: flex;
        justify-content: center;
        align-items: center;
        letter-spacing: 1px;
        font-size: 11px;
    }
    #footer .contactBtn.btn01 {
        margin-right: 2.6%;
    }
    #footer .contactBtnBox {
        display: flex;
        justify-content: end;
        margin: 27px auto 24px auto;
        width: 92%;
    }
}
@media only screen and (max-width:359px){
    #footer .linkInner{
        font-size: 10px;
        padding: 19.5px 0 19.5px 15px;
    }
    #footer .linkInner::after{
        display: none;
    }
    #footer .contactBtn {
        letter-spacing: 0px;
        font-size: 10px;
    }
}
/*-----------------------------------------------
    fNavi
-----------------------------------------------*/
#fNavi{
    display: none;
}
@media only screen and (max-width:767px){
    #fNavi{
        bottom: 0;
        left: 0;
        width: 100%;
        display: flex;
        position: fixed;
        transform: translateY(102%);
        z-index: 40;
        -webkit-transition: all 0.2s ease-out;
        transition: all 0.2s ease-out;  
        z-index: 999;
    }
    #fNavi.jsShow{
        transform: none;
    }
    .fNaviNone #fNavi{
        display: none;
    }
    #fNavi .naviList{
        display: flex;
        width: 100%;
        border-top: solid 1px #fff;
    }
    #fNavi .naviItem{
        width: calc(100% / 4);
    }
    #fNavi .naviItem:nth-child(n+2){
        border-left: solid 1px #fff;
    }
    #fNavi .naviInner{
        height: 78px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        background: rgba(36, 33, 33, 0.949);
        text-decoration: none;
        color: #fff;
    }
    #fNavi .naviItem:nth-child(1) .naviInner{
        background: url(../img/common/iconNavi01.png) center top 12px / 20px auto no-repeat rgba(36, 33, 33, 0.949);
    }
    #fNavi .naviItem:nth-child(2) .naviInner{
        background: url(../img/common/iconNavi02.png) center top 12px / 17px auto no-repeat rgba(36, 33, 33, 0.949);
    }
    #fNavi .naviItem:nth-child(3) .naviInner{
        background: url(../img/common/iconNavi05.png) center top 17px / 18px auto no-repeat rgba(36, 33, 33, 0.949);
    }
    #fNavi .naviItem:nth-child(4) .naviInner{
        background: url(../img/common/iconNavi03.png) center top 13px / 17px auto no-repeat rgba(36, 33, 33, 0.949);
    }
    #fNavi .naviTxt{
        font-size: 11px;
        line-height: 1.27;
        padding-top: 25px;
    }
}

/* secIndexView */
.secIndexView{
    height: 340px;
    position: relative;
    padding-top: 110px;
    box-sizing: content-box;
    overflow: hidden;
}
.secIndexView img{
    position: absolute;
    top: 110px;
    left: calc(50% - 960px);
}
@media only screen and (max-width:767px){
    .secIndexView{
        height: auto;
        padding-top: 60px;
    }
    .secIndexView img{
        position: static;
    }
}
/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
#pnkz{
    width: 100%;
    font-size: 0;
    padding: 27px 0 10px;
    position: relative;

}
#pnkz .boxList{
    position: relative;
    text-align: right;
}
#pnkz li{
	display: inline;
	font-size: 12px;
	letter-spacing: 0.5px;
	line-height: 1.5;
    color: #242121;
}
#pnkz li::after{
	content: "/";
	margin: 0 3px;
    color: #242121;
}
#pnkz li:last-child::after{
	display: none;
}
#pnkz a{
    text-decoration: none;
    color: #006699;
    
}
@media only screen and (max-width:767px){
    #pnkz {
        letter-spacing: 0;
        padding: 14px 0 16px;
        order: 3;
        background: #fff;
    }
	#pnkz .boxList{
		white-space: nowrap;
		overflow-y: scroll;
        text-align: left;
	}
	#pnkz li{
		font-size: 10px;
	}
}
/*-----------------------------------------------
	jsHide
-----------------------------------------------*/
.jsHide{
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.jsHide:not(.jsShow){
    opacity: 0;
    transform: translate(0px, 50px);
}

/* 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);
}
/* 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.4;
        padding: 20px 0;
    }
}
@media only screen and (max-width:359px){
    .noneTxt{
        font-size: 10px;
    }
}

/* secBnrBox */
.boxBnrIn{
    margin-top: 2px;
}
.secBnrBox{
    margin: 200px 0 2px;
    overflow: hidden;
}
.secBnrBox .bnrCover{
    margin-top: 2px;
}
.secBnrBox .bnrInner{
    position: relative;
    height: 700px;
    display: block;
}

.secBnrBox .bnrInner img{
    position: absolute;
    width: 1920px;
    left: calc(50% - 960px);
    top: 0;
}
/* half */
.secBnrBox .bnrCover.halfBnr{
    position: relative;
    height: 580px;
}
.secBnrBox .halfCover{
    position: absolute;
    width: 1920px;
    left: calc(50% - 960px);
    top: 0;
    display: flex;
}
.secBnrBox .halfBnr .bnrInner{
    width: 959px;
    height: auto;
}
.secBnrBox .halfBnr .bnrInner:nth-child(2),
.secBnrBox .halfBnr .bnrInner:nth-child(4){
    margin-left: 2px;
}
.secBnrBox .halfBnr .bnrInner img{
    position: static;
    width: 100%;
}
@media only screen and (max-width:1900px){
    .secBnrBox .bnrInner{
        height: auto;
    }
    .secBnrBox .bnrInner.contact{
        height: auto;
    }
    .secBnrBox .bnrInner img{
        position: static;
        width: 100%;
        left: 0;
    }
    .secBnrBox .bnrCover.halfBnr{
        height: auto;
    }
    .secBnrBox .halfCover{
        position: static;
        width: 100%;
    }
    .secBnrBox .halfBnr .bnrInner{
        width: calc(50% - 0.5px);
    }
}
@media only screen and (max-width:767px){
    .secBnrBox{
        margin: 90px 0 1px;
    }
    .secBnrBox .bnrCover{
        margin-top: 1px;
    }
    /* half */
    .secBnrBox .halfBnr .bnrInner{
        width: calc(50% - 0.5px);
    }
    .secBnrBox .halfBnr .bnrInner:nth-child(2){
        margin-left: 1px;
    }
}
@media only screen and (max-width:767px){
    #main{
        display: flex;
        flex-flow: column;
    }
    .mainWrapper{
        order: 2;
    }
}
/* secIndexTit */
.secIndexTit{
    margin-top: 9px;
}
.secIndexTit .titBox{
    position: relative;
}
.secIndexTit .titBox::before{
    position: absolute;
    content: "";
    background: #242121;
    height: 280px;
    width: 1px;
    left: -50px;
    bottom: 5px
}
@media only screen and (max-width:1480px){
    .secIndexTit .titBox::before{
        left: -30px;
    }
}
.secIndexTit .tit{
    font-size: 36px;
    letter-spacing: 3px;
}
.secIndexTit .txt{
    font-size: 22px;
    margin-top: 23px;
    letter-spacing: 3px;
}
@media only screen and (max-width:767px){
    .secIndexTit{
      margin-top: 19px;
    }
    .secIndexTit .titBox{
        margin-left: 19px;
    }
    .secIndexTit .titBox::before{
        height: 120px;;
        left: -19px;
        bottom: 3px;
    }
    .secIndexTit .tit{
        font-size: 18px;
        letter-spacing: 1.5px;
    }
    .secIndexTit .txt{
        font-size: 14px;
        margin-top: 12px;
        letter-spacing: 1.5px;
    }
}

/* 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.4;
        padding: 20px 0;
    }
}
@media only screen and (max-width:359px){
    .noneTxt{
        font-size: 10px;
    }
}
/* secCmnIndexPager */
.secCmnIndexPager{
    margin-top: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.secCmnIndexPager .boxList{
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
}
.secCmnIndexPager .btn{
    text-align: center;
    min-width: 30px;
}
.secCmnIndexPager .btn + .btn{
    border-left: none;
}
.secCmnIndexPager .inner{
    font-size: 16px;
    color: inherit;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #d3cfc9;
}
.secCmnIndexPager .on{
    color: #242121;
}
.secCmnIndexPager .on .inner{
    color: #242121;
}
.secCmnIndexPager .dots{
    border: 0;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: end;
    height: 30px;
	margin: -7px 5px 0 3px;
    font-size: 13px;
    color: #d3cfc9;
    box-shadow: none;
}
.secCmnIndexPager .btnPrev .inner,
.secCmnIndexPager .btnNext .inner{
    width: 35px;
    height: 35px;
    border-radius: 50%;
    text-align: center;
    position: relative;
    border:solid 1px #242121;
    flex-shrink: 0;
    display: block;
}
.secCmnIndexPager .btnPrev{
    margin-right: 82px;
}
.secCmnIndexPager .btnNext{
    margin-left: 82px;
}
.secCmnIndexPager .btnPrev .inner,.secCmnIndexPager .btnNext .inner{
    position: relative;
}
.secCmnIndexPager .btnPrev .inner::before{
    position: absolute;
    content: "";
    background: #242121;
    width: 50px;
    height: 1px;
    top: 16px;
    right: -70px;
}
.secCmnIndexPager .btnNext .inner::before{
    position: absolute;
    content: "";
    background: #242121;
    width: 50px;
    height: 1px;
    top: 16px;
    left: -70px;
}
.secCmnIndexPager .btnPrev .inner:after,.secCmnIndexPager .btnNext .inner::after{
    content: "";
    position: absolute;
	width: 7px;
	height: 12px;
	left: calc(50% - 3.5px);
	top: calc(50% - 6px);
}
.secCmnIndexPager .btnPrev .inner.lazyloaded:after{
	background: url(../img/common/iconPagerArrow01.gif) center top / cover;
}
.secCmnIndexPager .btnNext .inner.lazyloaded:after{
	background: url(../img/common/iconPagerArrow02.gif) center top / cover;
}
.secCmnIndexPager .btnPrev.none,.secCmnIndexPager .btnNext.none{
    display: none;
}
@media only screen and (max-width:767px){
    .secCmnIndexPager{
        margin-top: 42px;
    }
    .secCmnIndexPager .btnPrev{
        margin-right: 20px;
    }
    .secCmnIndexPager .btnNext{
        margin-left: 20px;
    }
    .secCmnIndexPager .btnPrev .inner, .secCmnIndexPager .btnNext .inner {
        width: 35px;
		height: 35px;
    }
	.secCmnIndexPager .btn{
		min-width: 30px;
		height: 35px;
		text-align: center;
	}
    .secCmnIndexPager .dots{
        margin: -9px 7px 0 3px;
        font-size: 13px;
    }
    .secCmnIndexPager .btnPrev .inner::before{
       display: none;
    }
    .secCmnIndexPager .btnNext .inner::before{
        display: none;
    }
    .secCmnIndexPager .btnPrev .inner:after, .secCmnIndexPager .btnNext .inner::after{
        width: 5px;
        height: 8px;
        left: calc(50% - 2.5px);
        top: calc(50% - 4px);
    }
}

/* .secDetailsMap */
.secDetailsMap{
    margin-top: 100px;
    position: relative;
    overflow: hidden;
}
.secDetailsMap::before{
    position: absolute;
    content: "";
    background: url(../img/model/bgMap.gif) center top / cover;
    width:1770px;
    height: 675px;
    left: 0;
    top: 0;
    z-index: -1;
}
.secDetailsMap .mapCover{
    padding: 131px 0 102px;
}
.secDetailsMap .fleBox{
    display: flex;
    justify-content: end;
}
.secDetailsMap .txtImg{
    margin-top: -30px;
    width: 97px
}
.secDetailsMap .mapTxt{
    font-size: 13px;
    margin-top: 28px;
    padding-left: 170px;
}
.secDetailsMap .mapBox{
    width: calc(100% - 97px);
    padding-left: 73px;
}
@media only screen and (max-width:767px){
    .secDetailsMap{
        margin-top: 50px;
    }
    .secDetailsMap::before{
        background: url(../img/model/bgMap_sp.gif) center top / cover;
        width:100%;
        height: 100%;
        left: 0;
        top: 0;
    }
    .secDetailsMap .mapCover{
        padding: 50px 0 46px;
    }
    .secDetailsMap .mapTxt{
        font-size: 11px;
        line-height: 1.81;
        text-align: center;
        margin-top: 15px;
        padding-left: 0;
        letter-spacing: normal;
    }
    .secDetailsMap .map{
        text-align: end;
    }
    .secDetailsMap iframe{
        width: 70.67vw;
        height: 66.67vw;
    }
    .secDetailsMap .txtImg{
        width: 48px;
        margin-top: 0;
    }
    .secDetailsMap .mapBox{
        width: 100%;
        padding-left: 0px;
    }
}
@media only screen and (max-width:359px){
    .secDetailsMap .mapTxt{
        font-size: 10px;
    }
}

/* secPromise */
.secPromise{
    margin-top: 1px;
    height: 620px;
    position: relative;
}
.secPromise img{
    position: absolute;
    top: 0;
    left: calc(50% - 960px);
}
@media only screen and (max-width:767px){
    .secPromise{
        height: auto;
    }
    .secPromise img{
        position: static;
    }
}
.secDetailsMap + .secPromise{
    margin-top: 1px;
}
.secPromise{
    margin-top: 100px;
}
@media only screen and (max-width:767px){
    .secDetailsMap + .secPromise{
        margin-top: 1px;
    }
    .secPromise{
        margin-top: 50px;
    }
}


/* secBnrBox */
.secBnrBox{
    margin: 200px 0 2px;
    overflow: hidden;
}
.secBnrBox .bnrCover{
    margin-top: 2px;
}
.secBnrBox .bnrInner{
    position: relative;
    height: 700px;
    display: block;
}

.secBnrBox .bnrInner img{
    position: absolute;
    width: 1920px;
    left: calc(50% - 960px);
    top: 120px;
}
/* half */
.secBnrBox .bnrCover.halfBnr{
    position: relative;
    height: 580px;
}
.secBnrBox .halfCover{
    position: absolute;
    width: 1920px;
    left: calc(50% - 960px);
    top: 0;
    display: flex;
}
.secBnrBox .halfBnr .bnrInner{
    width: 959px;
    height: auto;
}
.secBnrBox .halfBnr .bnrInner:nth-child(2){
    margin-left: 2px;
}
.secBnrBox .bnrInner:nth-child(2){
    margin-left: 2px;
}
.secBnrBox .halfBnr .bnrInner img{
    position: static;
    width: 100%;
}
@media only screen and (max-width:1900px){
    .secBnrBox .bnrInner{
        height: auto;
    }
    .secBnrBox .bnrInner.contact{
        height: auto;
    }
    .secBnrBox .bnrInner img{
        position: static;
        width: 100%;
        left: 0;
    }
    .secBnrBox .bnrCover.halfBnr{
        height: auto;
    }
    .secBnrBox .halfCover{
        position: static;
        width: 100%;
    }
    .secBnrBox .halfBnr .bnrInner{
        width: calc(50% - 0.5px);
    }
}
@media only screen and (max-width:767px){
    .secBnrBox{
        margin: 100px 0 1px;
    }
    .secBnrBox .bnrCover{
        margin-top: 1px;
    }
    /* half */
    .secBnrBox .halfBnr .bnrInner{
        width: calc(50% - 0.5px);
    }
    .secBnrBox .bnrInner:nth-child(2) {
        margin-left: 1px;
    }
    .secBnrBox .halfBnr .bnrInner:nth-child(2){
        margin-left: 1px;
    }
}
.secDetailsCmnTit{
    height: 220px;
    position: relative;
    margin-top: 110px;
    background: url(../img/model/bgCmnTitDetails.jpg?240221) center top / cover;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
}
.secDetailsCmnTit .titJpn{
    font-size: 28px;
    letter-spacing: 4px;
}
.secDetailsCmnTit .titEng{
    font-size: 18px;
    margin-top: 19px;
    letter-spacing: 1px;
}
@media only screen and (max-width:767px){
    .secDetailsCmnTit{
        height: 90px;
        margin-top: 60px;
        background: url(../img/model/bgCmnTitDetails_sp.jpg?240221) center top / cover;
    }
    .secDetailsCmnTit .titJpn{
        font-size: 15px;
        letter-spacing: 1px;
    }
    .secDetailsCmnTit .titEng{
        font-size: 12px;
        margin-top: 6px;
        letter-spacing: 0.5px;
    }
}

/* secCmnBack */
.secCmnBack.no_form{
    width: 100%;
}
.secCmnBack .btnInner{
    width: 350px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: right;
    color: #242121;
    font-size: 20px;
    text-decoration: none;
    border: solid 1px #242121;
    position: relative;
    padding-right: 30px;
    margin: 70px auto 0;
}
.secCmnBack .btnInner::before{
    position: absolute;
    content: "";
    width: 60px;
    height: 8px;
    left: calc(50% - 145px);
    top: calc(50% - 4px);
}
.secCmnBack .btnInner.lazyloaded::before{
    background: url(../img/common/iconBackArrow.gif) center top / cover;
}
@media only screen and (max-width:767px){
    .secCmnBack .btnInner{
        width: 265px;
        height: 56px;
        font-size: 16px;
        padding-right: 29px;
    }
    .secCmnBack .btnInner::before{
        width: 50px;
        height: 7px;
        left: calc(50% - 102px);
        top: calc(50% - 3.5px);
    }
    .secCmnBack .btnInner.lazyloaded::before{
        background: url(../img/common/iconBackArrow_sp.gif) center top / cover;
    }
}
/* secDetailsPager */
.secDetailsPager{
    position: relative;
    border-top: solid 1px rgb(241, 239, 235);
    box-shadow: 0px -1px rgb(241, 239, 235) inset;
    margin-top: 80px;
}
.secDetailsPager::after{
    content: "";
    background: rgb(241, 239, 235);
    width: 1px;
    height: calc(100% - 92px);
    position: absolute;
    top: 50px;
    left: calc(50% - 0.5px);
}
.secDetailsPager .boxBtnPager{
    display: flex;
}
.secDetailsPager .boxBtnPrev,
.secDetailsPager .boxBtnNext{
    width: 50%;
}
.secDetailsPager .boxBtnNext{
    margin: 0 0 0 auto;
}
.secDetailsPager .btnPrev,
.secDetailsPager .btnNext{
    display: flex;
    align-items: center;
    color: #242121;
    text-decoration: none;
    width: 100%;
}
.secDetailsPager .btnPrev{
    padding: 50px 50px 42px 0;
}
.secDetailsPager .btnNext{
    padding: 50px 0 42px 50px;
    flex-flow: row-reverse;
    text-align: right;
}
.secDetailsPager .img{
    width: 210px;
    height: 280px;
}
.secDetailsPager .txtBox{
	width: calc(100% - 210px);
    padding-bottom: 15px;
}
.secDetailsPager .boxBtnPrev .txtBox{
	padding-left: 30px;
}
.secDetailsPager .boxBtnNext .txtBox{
	padding-right: 30px;
}
.secDetailsPager .tit{
    font-size: 18px;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secDetailsPager .txt{
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 11px;
}
.secDetailsPager .btnBox{
    font-size: 12px;
    margin-top: 25px;
}
.secDetailsPager .btnTxt{
    position: relative;
    border-bottom: solid 1px #242121;
    padding-bottom: 3px;
}
.secDetailsPager .boxBtnPrev .btnTxt{
    margin-left: 60px;
}
.secDetailsPager .boxBtnNext .btnTxt{
    margin-right: 60px;
}
.secDetailsPager .boxBtnPrev .btnTxt::after,
.secDetailsPager .boxBtnNext .btnTxt::after{
    position: absolute;
    content: "";
    width: 50px;
    height: 8px;
    top: calc(50% - 4px);    
}
.secDetailsPager .boxBtnPrev .btnTxt::after{
    left: -60px;
}
.secDetailsPager .boxBtnNext .btnTxt::after{
    right: -60px;
}
.secDetailsPager .boxBtnPrev .btnTxt.lazyloaded::after{
    background: url(../img/common/iconPagerPrev.gif) center top / cover;
}
.secDetailsPager .boxBtnNext .btnTxt.lazyloaded::after{
    background: url(../img/common/iconPagerNext.gif) center top / cover;
}
@media only screen and (max-width:767px){
    .secDetailsPager{
        margin-top: 50px;
    }
    .secDetailsPager::after{
        height: calc(100% - 60px);
        top: 30px;
    }
    .secDetailsPager .btnPrev,
    .secDetailsPager .btnNext{
        display: block;
    }
    .secDetailsPager .btnPrev{
        padding: 30px 20.5px 37px 0;
    }
    .secDetailsPager .btnNext{
        padding: 30px 0 37px 20.5px;
        text-align: left;
    }
    .secDetailsPager .img{
        width: 100%;
        height: 0;
        padding-top: 133.334%;
    }
    .secDetailsPager .txtBox{
        width: 100%;
        padding-bottom: 0;
    }
    .secDetailsPager .boxBtnPrev .txtBox{
        padding: 8px 0 0;
    }
    .secDetailsPager .boxBtnNext .txtBox{
        padding: 8px 0 0;
    }
    .secDetailsPager .tit{
        font-size: 12px;
        line-height: 1.5;
        white-space: normal;
        text-overflow: inherit;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        max-height: 36px;
    }
    .secDetailsPager .txt{
        font-size: 11px;
        letter-spacing: normal;
        margin-top: 4px;
    }
    .secDetailsPager .btnBox{
        font-size: 11px;
        margin-top: 18px;
        text-align: center;
    }
    .secDetailsPager .btnTxt{
        padding-bottom: 2px;
    }
    .secDetailsPager .boxBtnPrev .btnTxt{
        margin-left: 35px;
    }
    .secDetailsPager .boxBtnNext .btnTxt{
        margin-right: 35px;
    }
    .secDetailsPager .boxBtnPrev .btnTxt::after,
    .secDetailsPager .boxBtnNext .btnTxt::after{
        width: 30px;
        height: 8px;
        top: calc(50% - 4px);    
    }
    .secDetailsPager .boxBtnPrev .btnTxt::after{
        left: -35px;
    }
    .secDetailsPager .boxBtnNext .btnTxt::after{
        right: -35px;
    }
    .secDetailsPager .boxBtnPrev .btnTxt.lazyloaded::after{
        background: url(../img/common/iconPagerPrev_sp.gif) center top / cover;
    }
    .secDetailsPager .boxBtnNext .btnTxt.lazyloaded::after{
        background: url(../img/common/iconPagerNext_sp.gif) center top / cover;
    }
}

/* secCmnDetailsBtn */
.secCmnDetailsBtn{
    padding-top: 50px;
}
.secCmnDetailsBtn .btnInner{
    position: relative;
    border: solid 1px rgb(36, 33, 33);
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-decoration: none;
    color: #242121;
    font-size: 20px;
    padding: 0 30px;
    width: 350px;
    margin: 0 auto;
}
.secCmnDetailsBtn .btnInner::before{
    position: absolute;
    content: "";
    background: url(../img/common/iconCmnDetailsBtn.gif) center top / cover;
    width: 60px;
    height: 8px;
    left: 30px;
    top: calc(50% - 4px);
}
@media only screen and (max-width:767px){
    .secCmnDetailsBtn{
        padding-top: 40px;
    }
    .secCmnDetailsBtn .btnInner{
        height: 56px;
        font-size: 16px;
        width: 70.667%;
        min-width: 265px;
    }
    .secCmnDetailsBtn .btnInner::before{
        background: url(../img/common/iconCmnDetailsBtn_sp.gif) center top / cover;
        width: 50px;
        height: 6px;
        left: 30px;
        top: calc(50% - 3px);
    }
}
/* secCmnDetailsBtn02 */
.secCmnDetailsBtn02{
    border-top: solid 1px rgb(241, 239, 235);
    margin-top: 100px;
}
@media only screen and (max-width:767px){
    .secCmnDetailsBtn02{
        margin-top: 50px;
    }
}

/* secDetailsPager02 */
.secDetailsPager02{
    position: relative;
    border-top: 1px solid #f1efeb;
    box-shadow: 0 -1px #f1efeb inset;
    margin-top: 94px;
}
.secDetailsPager02::after{
    content: "";
    background: #f1efeb;
    width: 1px;
    height: calc(100% - 100px);
    position: absolute;
    top: calc(50% - 60px);
    left: calc(50% - 1px);
}
.secDetailsPager02 .boxBtnPager{
    display: flex;
}
.secDetailsPager02 .boxBtnPrev,
.secDetailsPager02 .boxBtnNext{
    width: 470px;
    padding: 50px 0 81px;
}
.secDetailsPager02 .btnPrev,
.secDetailsPager02 .btnNext{
    display: flex;
    align-items: center;
    color: inherit;
    color: #242121;
    text-decoration: none;
}
.secDetailsPager02 .boxBtnPrev .txtBox{
	width: calc(100% - 120px);
	padding-left: 20px;
}
.secDetailsPager02 .boxBtnNext .txtBox{
	width: calc(100% - 120px);
	padding-right: 20px;
}
.secDetailsPager02 .boxBtnNext{
    margin: 0 0 0 auto;
}
.secDetailsPager02 .btnNext{
    flex-direction: row-reverse;
}
.secDetailsPager02 .img{
    width: 120px;
    height: 88px;
}
.secDetailsPager02 .txtCover{
    display: flex;
    flex-flow: column;
    /* height: 42px; */
    justify-content: center;
}
.secDetailsPager02 .txt{
    font-size: 14px;
    line-height: 1.57;
    display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2; 
	overflow: hidden;
	max-height: 48px;
    margin-top: 10px 
}
.secDetailsPager02 .subTxt{
    font-size: 12px;
    position: relative;
}
.secDetailsPager02 .boxBtnPrev .subTxt{
	margin: 18px 0 0 30px;
    position: absolute;
    left: calc(50% - 485px);
    bottom: 42px;
}
.secDetailsPager02 .boxBtnNext .subTxt{
	text-align: right;
	margin: 18px 30px 0 0;
    position: absolute;
    right: calc(50% - 485px);
    bottom: 43px;
}
.secDetailsPager02 .boxBtnPrev .subTxt::after{
    position: absolute;
    content: "";
    width: 50px;
    height: 8px;
    left: -60px;
    top: 2px;
}
.secDetailsPager02 .boxBtnNext .subTxt::after{
    position: absolute;
    content: "";
    width: 50px;
    height: 8px;
    right: -60px;
    top: 2px;
}
.secDetailsPager02 .boxBtnPrev .subTxt.lazyloaded::after{
    background: url(../img/common/iconArrow02.gif) center top / cover;
}
.secDetailsPager02 .boxBtnNext .subTxt.lazyloaded::after{
    background: url(../img/common/iconArrow.gif) center top / cover;
}
.secDetailsPager02 .btnTxt{
	display: inline-block;
	position: relative;
	padding-bottom: 5px;
	border-bottom: solid 1px #d7d6d6;
}
.secDetailsPager02 .flexBox{
    display: flex;
    align-items: center;
}
.secDetailsPager02 .tit{
    color: #999896;
    font-size: 12px;
}
.secDetailsPager02 .boxTxt{
    color: #3b6741;
    font-size: 12px;
    padding-left: 12px
}

@media only screen and (max-width:767px){
    .secDetailsPager02{
        margin-top: 75px;
    }
    .secDetailsPager02{
        flex-wrap: wrap;
        margin-top: 75px;
    }
    .secDetailsPager02::after{
        height: calc(100% - 60px);
    top: 30px;
    }
    .secDetailsPager02 .boxBtnPager{
        position: relative;
    }
    .secDetailsPager02 .boxBtnPrev,
    .secDetailsPager02 .boxBtnNext{
        width: 44%;
        padding: 30px 0 67px;
        height: auto;
    }
    .secDetailsPager02 .btnPrev,
    .secDetailsPager02 .btnNext{
        display: block;
        height: 100%;
        padding-bottom: 15px;
        position: relative;
    }
    .secDetailsPager02 .img{
        width: 147px;
        height: 109px;
    }
    .secDetailsPager02 .btnNext .img{
        margin: 0 0 0 auto;
    }
    .secDetailsPager02 .txt,
    .secDetailsPager02 .btnNext .txt{
        width: 100%;
        font-size: 13px;
        line-height: 1.53;
        margin: 6px 0 6px;
        -webkit-line-clamp: 3; 
        max-height: 60px;
    }
    .secDetailsPager02 .txtCover{
        height: auto;
        display: block;
        margin-top: 10px;
    }
    .secDetailsPager02 .boxBtnPrev .txtBox{
        width: 100%;
        padding-left: 0;

    }
    .secDetailsPager02 .boxBtnNext .txtBox{
        width: 100%;
        padding: 0;
    }
    .secDetailsPager02 .subTxt{
        position: absolute;
        font-size: 11px;
        margin: 0;
        bottom: 0;
    }
    .secDetailsPager02 .boxBtnPrev .subTxt{
        left: calc(50% - 5px);
        margin: 0;
        bottom: -37px;
    }
    .secDetailsPager02 .boxBtnNext .subTxt{
        right: calc(50% - 5px);
        margin: 0;
        bottom: -37px;
    }
    .secDetailsPager02 .subTxt::after {
        top: -2px;
    }
    .secDetailsPager02 .boxBtnPrev .subTxt::after{
        left: -35px;
        width: 30px;
        height: 8px;
        top: 1px;
    }
    .secDetailsPager02 .boxBtnNext .subTxt::after{
        right: -36px;
        width: 30px;
        height: 8px;
        top: 1px;
    }
    .secDetailsPager02 .boxBtnPrev .subTxt.lazyloaded::after{
        background: url(../img/common/iconArrow02_sp.gif) center top / cover;
    }
    .secDetailsPager02 .boxBtnNext .subTxt.lazyloaded::after{
        background: url(../img/common/iconArrow_sp.gif) center top / cover;
    }
    .secDetailsPager02 .btnTxt{
        padding-bottom: 5px;
    }
    .secDetailsPager02 .flexBox{
        display: block;
    }
    .secDetailsPager02 .tit{
        font-size: 11px;
    }
    .secDetailsPager02 .boxTxt{
        font-size: 11px;
        /* position: absolute;
        bottom: 0; */
        padding-left: 0;
        line-height: 1.5;
    }
}

/*-----------------------------------------------
	popup
-----------------------------------------------*/
#popup{
	display: none;
	position: relative;
	z-index: 99999;
}
#popup .overlay{
	width: 100%;
	height: 100%;
	min-height: 100vh;
	background: rgba(0,0,0,0.8);
	position: absolute;
	top: 0;
	left: 0;
}
#popup .popupContainer{
	display: table;
	width: 100%;
	height: 100vh;
}
#popup .popupContents{
	display: table-cell;
	vertical-align: middle;
}
#popup .popupMain{
	width: 1000px;
	margin: 0 auto;
	padding: 0;
    position: relative;
}
#popup .btnClose{
	width: 50px;
	margin: 0 0 0px auto;
	position: absolute;
    right: 0;
	z-index: 10;
}
@media only screen and (max-width:767px){
	#popup .popupMain{
		width: 89.334%;
		
	}
    #popup .btnClose {
        width: 30px;
        margin: 0 0 0px auto;
        position: absolute;
        right: 0;
        z-index: 10;
    }
}


/* secPopup */
.secPopup{
	display: none;
	position: relative;
	overflow: hidden;
}

/* bnrBoxLine */
.formbox .bnrBoxLine{
    margin: 0 auto;
    display: block;
    width: 850px;
}
@media only screen and (max-width:767px){
    .formbox .bnrBoxLine{
        width: 92%;
    }
}

.bnrCover .bnrInner.Fullbnr {
    height: auto;
}
.bnrCover .bnrInner.Fullbnr img {
    position: static;
    width: 100%;
}

.secBnrBox .halfBnr.H700 {
    height: 700px;
}
@media only screen and (max-width:1900px) {
    .secBnrBox .halfBnr.H700 {
        height: auto;
    }
}
#menu .wrapperOut .flex {
    display: none;
}
@media only screen and (max-width:767px) {
    #menu .wrapperOut .flex {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 13px;
    }
    #menu .wrapperOut .flex .img {
        width: calc(50% - 2%);
        height: auto;
    }
    #menu .wrapperOut .flex .img:nth-child(n + 3) {
        margin-top: 15px;
    }
}
/* 250325 */
#menu .wrapperOut .healthyLinkBox{
    display: none;
}
@media only screen and (max-width:767px){
    #menu .wrapperOut .healthyLinkBox{
        display: block;
        margin: 15px auto 0;
    }
    #menu .wrapperIn{
        margin: 20px auto 0;
    }
}