    @charset "utf-8";
    /*--------------------------------------------------
    [1]common
    [2]headerContainer
    [3]sideContainer
    [4]footerContainer
    [5]Container
    [6]topContainer
    [7]subContainer
    [8]Display: none;
    ----------------------------------------------------*/

    /* [1]common
    ----------------------------------------------------*/
    /* 設定 */
    html{
        margin: 0;
        padding: 0;
    }

    /* font */
    body{
        line-height: 1.5;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        font-size: 14px;
        font-family: 'Noto Sans JP', sans-serif;
        font-style: normal;
        font-variant: normal;
        font-weight: 500;	
        color: #000;
        font-weight: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        overflow-x: hidden;
        min-width: 900px;
        
    }

    header {
        width: 100%;
        z-index: 9999999;
        position: relative;
    }

    .headerContetns {	
        width: 100%;
        height: 80px;
        box-sizing: border-box;
        background-color: #FFF;
        z-index: 9999999;
        position: fixed;
        top: 0;
    }

    .headerBox {
        width: 100%;
        height: 80px;
        box-sizing: border-box;
        margin: 0 auto;
        position: relative;	
    }

    #wrapper {
        width: 100%;
        position: relative;
        overflow: hidden;
    }

    /* clear
    -------------------------------------------------- */
    .clear { clear: both; }
    .clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    }
    .clearfix { min-height: 1px; }
    * html .clearfix {
    height: 1px;
    /*\*//*/
    height: auto;
    overflow: hidden;
    /**/
    }


    /* a 
    ----------------------------------------------- */
    a,a:link { text-decoration: none; }
    a img, img {
        border: none;
        line-height: normal;
        vertical-align: top;
    }

    /* img 
    --------------------------------------------- */
    img{
        max-width: 100%;
        height: auto;
        width /***/:auto;　/*IE8のみ適用*/
    }
    .imgText {
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
    }
    .object-fit-img {
    object-fit: cover;
    object-position: 50% 50%;
    font-family: 'object-fit: cover; object-position: 50% 50%;'
    }

    /* slide
    ------------------------------------ */
    #sliderbox { position: relative; width: 100%; padding: 0 84px; box-sizing: border-box; }
    .box {
        width: 100%;
        position: relative;
        padding-top: 0px;
    }

    #sliderbox li {
        position: relative;
        width: 100%;
        overflow: hidden;
    }

    #sliderbox li figure {
        position: relative;
        width: 100%;
        overflow: hidden;
        height: 95vh;
    }

    #sliderbox li figure img{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    }


    /* .fitImg {
    position: absolute;
    } */

    /* scroll */
    .scroll {
        z-index: 999999;
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -40px;
        width: 80px;
        height: 80px;
        text-align: center;
    }
    .scroll a{
        color: #000;
        display: block;
        position: relative;
        font-family: 'Asap', sans-serif;
        text-align: center;
        width: 80px;
        height: 80px;
        letter-spacing: 1px;
    }

    .scroll a:after{
        position: absolute;
        bottom: 20px;
        left: 50%;
        width: 1px;
        height: 30px;
        background-color: #000;
        content:"";
        margin-left: -0.5px;
    }

    .scroll a:hover:after{
        bottom: 0px;
        height: 50px;
        transition: bottom .5s,height .5s;
    }

    /* [2]headerContainer
    ----------------------------------------------------------------------------------------- */
    .headerContetns h1 {
        position: absolute;
        /* left: 50%;
        margin-left: -74px; */
        left: 80px;
        z-index: 9999999;
        width: 148px;
        height: 44px;
        top: 15px;
    }
    .headerContetns h1 a{
        display: block;
        background-repeat: no-repeat;
        background-position: left top;
        text-indent: 100%;
        overflow: hidden;
        white-space: nowrap;
        position:relative;
        width: 148px;
        height: 44px;
        background-image: url(images/logo.png);
    }
    .headerContetns h1 a:hover{ background-image: url(images/logo-on.png); }


    /* gnav */
    .headerNav {
        width: 700px;
        height: 100%;
        position: fixed;
        top: 0;
        left: -700px;
        z-index: 9999999;
        padding: 80px;
        box-sizing: border-box;
        background-color: #fff;
        overflow: auto;	
    }
    nav .navigation { margin-bottom: 30px;}
    nav .navigation li { border-bottom: 1px solid #d7d7d7; line-height: 1.1; padding: 20px 5px; box-sizing: border-box; }
    nav .navigation li:nth-of-type(1),
    nav .navigation li:nth-of-type(2) {
        float: left;
        width: 50%;
        box-sizing: border-box;
        border: none;
    }
    nav .navigation li:nth-of-type(1) { padding-right: 5px;}
    nav .navigation li:nth-of-type(2) { padding-left: 5px;}
    nav .navigation li a{
        font-family: 'Vollkorn', serif;
        display: block;
        color: #000;
        font-size: 15px;
        letter-spacing: 2px;
    }
    nav .navigation li a span{
        display: block;
        font-size: 10px;
        font-family: 'Noto Sans JP', sans-serif;
        color: #7d7d7d;
    }

    nav .navigation li a span.add{
        display: inline-block;
        font-size: 15px;
        font-family: 'Noto Serif JP', sans-serif;
        color: #000;
    }

    nav .navigation li:nth-of-type(1) a,
    nav .navigation li:nth-of-type(2) a {
        font-size: 20px;
        text-align: center;
        border: 1px solid #d7d7d7;
        width: 100%;
        height: 85px;
        padding: 25px 0;
        box-sizing: border-box;
    }
    nav .navigation li:nth-of-type(1) a span,
    nav .navigation li:nth-of-type(2) a span {
        font-size: 12px;
        text-align: center;
    }

    nav .navigation li a:hover,
    nav .navigation li a:hover span{ color: #2d7638; }
    nav .navigation li:nth-of-type(1) a:hover,
    nav .navigation li:nth-of-type(2) a:hover{ border: 1px solid #2d7638; }

    .sns { width: 100%; text-align: center;}
    .sns li{
        display: inline-block;
        padding: 30px 20px 0;
        box-sizing: border-box;
        text-align: center;
    }
    .sns li:nth-of-type(1) { border-right: 1px solid #d7d7d7;}
    .sns li a{
        font-family: 'Asap', sans-serif;
        font-size: 10px;
        text-align: center;
        position: relative;
        padding-top: 30px;
        color: #000;
    }
    .sns li a:hover{color: #2d7638;}

    .sns li a:before{
        position: absolute;
        top: 0;
        left: 50%;
        background-repeat: no-repeat;
        background-position: left top;
        width: 28px;
        height: 28px;
        margin-left: -14px;
        content: "";
    }
    .sns li:nth-of-type(1) a:before { background-image: url(images/icon-side-line.png);}
    .sns li:nth-of-type(2) a:before { background-image: url(images/icon-side-instagram.png);}

    .sns li a:hover {color: #2d7638;}
    .sns li:nth-of-type(1) a:hover:before { background-image: url(images/icon-side-line-on.png);}
    .sns li:nth-of-type(2) a:hover:before { background-image: url(images/icon-side-instagram-on.png);}

    .subnav {
        position: absolute;
        top: 20px;
        right: 20px;
    }
    .subnav li{
        float: right;
        font-family: 'Asap', sans-serif;
        font-size: 10px;
        text-align: center;
        margin-left: 20px;
    }
    .subnav li:nth-of-type(1),
    .subnav li:nth-of-type(2),
    .subnav li:nth-of-type(3) {
        padding-top: 20px;
    }
    .subnav li:nth-of-type(1) a,
    .subnav li:nth-of-type(2) a,
    .subnav li:nth-of-type(3) a {
        position: relative;
        padding-top: 20px;
        color: #000;
    }

    .subnav li:nth-of-type(1) a:before,
    .subnav li:nth-of-type(2) a:before,
    .subnav li:nth-of-type(3) a:before {
        position: absolute;
        top: 0;
        left: 50%;
        background-repeat: no-repeat;
        background-position: left top;
        width: 20px;
        height: 20px;
        margin-left: -10px;
        content: "";

    }
    .subnav li a:hover { color: #2d7638; }
    .subnav li:nth-of-type(1) a:before { background-image: url(images/icon-instagram.png); }
    .subnav li:nth-of-type(2) a:before { background-image: url(images/icon-line.png); }
    .subnav li:nth-of-type(3) a:before { background-image: url(images/icon-contact.png); }
    .subnav li:nth-of-type(1) a:hover:before { background-image: url(images/icon-instagram-on.png); }
    .subnav li:nth-of-type(2) a:hover:before { background-image: url(images/icon-line-on.png); }
    .subnav li:nth-of-type(3) a:hover:before { background-image: url(images/icon-contact-on.png); }

    .subnav li:nth-of-type(4){
        font-size: 20px;
        border-right: 1px solid #d7d7d7;
        padding: 8px 20px 3px 0;
        margin-left: 0;
    }

    /* [4]footerContainer
    ----------------------------------------------------------------------------------------- */
    footer {
        padding: 40px 20px;
        box-sizing: border-box;
        position: relative;
    }

    .footerBox dl,
    .footerBox dt,
    .footerBox dd { text-align: center; }
    .footerBox dt a{
        background-image: url(images/footer-logo.png);
        background-repeat: no-repeat;
        background-position: left top;
        width: 224px;
        height: 64px;
        text-indent: 100%;
        overflow: hidden;
        white-space: nowrap;
        display: block;
        margin: 0 auto;
    }
    .footerBox dt a:hover{background-image: url(images/footer-logo-on.png);}
    .footerBox dt { position: relative; padding-bottom: 20px; margin-bottom: 10px; }
    .footerBox dt:after {
        position: absolute;
        background-color: #000;
        width: 26px;
        height: 2px;
        content: "";
        bottom: 0;
        left: 50%;
        margin-left: -13px;
    }
    .footerBox dd:nth-of-type(1) { font-size: 12px; margin-bottom: 10px; }
    .footerBox dd:nth-of-type(2) { font-family: 'Asap', sans-serif; font-size: 10px; text-align: center; box-sizing: border-box;}
    .footerBox dd:nth-of-type(2) a{
        width: 52px;
        height: 52px;
        border-radius: 50%;
        border: 1px solid #d7d7d7;
        position: relative;
        display: block;
        margin: 0 auto;
        padding-top: 30px;
        box-sizing: border-box;
        color: #000;
    }
    .footerBox dd:nth-of-type(2) a:after{
        content: "";
        background-image: url(images/icon-map.png);
        background-repeat: no-repeat;
        background-position: center top;
        width: 24px;
        height: 24px;
        position: absolute;
        top: 5px;
        left: 50%;
        margin-left: -12px;
    }
    .footerBox dd:nth-of-type(2) a:hover{
        border: 1px solid #2d7638;
        color: #2d7638;
    }
    .footerBox dd:nth-of-type(2) a:hover:after{background-image: url(images/icon-map-on.png);}

    /* copyright */
    .copyright {
        z-index: 9999999;
        position: fixed;
        bottom: 20px;
        left: 30px;
        font-family: 'Asap', sans-serif;
        font-size: 10px;
    }

    .copyright p{
        writing-mode: vertical-rl;
        letter-spacing: 1.5px;
    }

    /* pageTop */
    #pageTop {
        width: 30px;
        height: 30px;
        z-index: 9999999;
        position: fixed;
        bottom: 20px;
        right: 25px;
    }

    #pageTop a{
        width: 30px;
        height: 30px;
        z-index: 9999999;
        background-image: url(images/pagetop.png);
        background-repeat: no-repeat;
        background-position: center top;
        display: block;
        transition: background-color .5s;
        font-family: 'Asap', sans-serif;
        font-size: 10px;
        text-align: center;
        color: #000;
        padding-top: 10px;

    }

    #pageTop a:hover {
        background-image: url(images/pagetop-on.png);
        color: #2d7638;
        transition: background-color .5s;
    }



    /* [5]Container
    ----------------------------------------------------------------------------------------- */

    #container {
        width: 100%;
        box-sizing: border-box;
        padding: 0;
        position: relative;
    }

    .subttl {
        text-align: center;
        font-family: 'Vollkorn', serif;
        font-size: 30px;
        letter-spacing: 2.0px;
        margin-bottom: 30px;
    }

    .btn { text-align: center; margin: 20px auto 0; }

    .btn a,
    .btn input,
    a .btn {
        font-size: 16px;
        display: inline-block;
        box-sizing: border-box;
        padding: 10px 40px 10px 60px;
        margin: 0 auto 0;
        text-align: center;
        transition: background-color .5s;
        cursor: pointer;
        letter-spacing: 1px;
        color: #000;
        border: 1px solid #000;
        position: relative;
    }

    .btn a:after,
    .btn input:after,
    a .btn:after {
        position: absolute;
        top: 50%;
        margin-top: -10px;
        left: 35px;
        content:"+";
        font-size: 16px;
        color: #000;
        width: 20px;
        height: 20px;
        line-height: 1;
        font-family: 'Asap', sans-serif;
    }

    .btn002 a {
        font-size: 14px;
        display: inline-block;
        box-sizing: border-box;
        padding: 0 5px 0 16px;
        text-align: center;
        transition: background-color .5s;
        cursor: pointer;
        letter-spacing: 1px;
        color: #000;
        font-family: 'Asap', sans-serif;
        border-bottom: 2px solid #000;
        position: relative;
    }

    .btn002 a:after {
        position: absolute;
        top: 50%;
        margin-top: -10px;
        left: 0;
        content:"+";
        font-size: 16px;
        color: #000;
        width: 20px;
        height: 20px;
        line-height: 1;
        font-family: 'Asap', sans-serif;
    }

    /* reservation */
    .sideBtn {
        position: fixed;
        right: 27px;
        top: 50%;
        writing-mode: vertical-rl;
        letter-spacing: 1.5px;
        margin-top: -60px;
        z-index: 9999999;
    }

    .btn002.sideBtn a {
        font-size: 15px;
        display: inline-block;
        box-sizing: border-box;
        padding: 16px 0 5px 0;
        text-align: center;
        transition: background-color .5s;
        cursor: pointer;
        letter-spacing: 1px;
        font-weight: bold;
        color: #fff;
        font-family: 'Asap', sans-serif;
        border-bottom: none;
        border: 2px solid #000;
        background-color: #000;
        position: relative;
        letter-spacing: 1.5px;
    }

    .btn002.sideBtn a:after {
        position: absolute;
        top: 10px;
        margin-left: -10px;
        left: 50%;
        content:"+";
        font-size: 16px;
        color: #fff;
        width: 20px;
        height: 20px;
        line-height: 1;
        font-family: 'Asap', sans-serif;
    }

    /* [6]topContainer
    ----------------------------------------------------------------------------------------- */


    /* toppick */
    .topBnr li { float: left; width: 50%; box-sizing: border-box; position: relative; }
    .topBnr li:nth-of-type(2n+1) { padding-right: 15px; margin-top: 30px; }
    .topBnr li:nth-of-type(2n) { padding-left: 15px;}

    .topBnr li dl {
        position: absolute;
        top: 50%;
        margin-top: -90px;
        height: 180px;	
    }

    .topBnr li:nth-of-type(2n+1)  dl {right: 15px;}
    .topBnr li:nth-of-type(2n)  dl {left: 15px;}

    .topBnr li dt {
        font-family: 'Vollkorn', serif;
        font-size: 40px;
        line-height: 1.0;
        color: #fff;
        padding-left: 20px;
    }
    .topBnr li dt span {font-size: 30px; display: block; }
    .topBnr li dd:nth-of-type(1) {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 15px;
        color: #fff;
        position: relative;
        margin-bottom: 40px;	
    }

    .topBnr li dd:nth-of-type(1):after {
        position: absolute;
        top: 50%;
        margin-top: -0.5px;
        background-color: #fff;
        width: 65%;
        height: 1px;
        content: "";	
    }
    .topBnr li:nth-of-type(2) dd:nth-of-type(1) { text-align: right; }

    .topBnr li:nth-of-type(1) dd:nth-of-type(1):after {
        background-color: #fff;
        right: 0;	
    }
    .topBnr li:nth-of-type(2) dd:nth-of-type(1):after {
        width: 60%;
        left: 0;	
    }

    .topBnr li:nth-of-type(1) dt { padding-right: 20px; padding-left: 0; }
    .topBnr li:nth-of-type(1) dt,
    .topBnr li:nth-of-type(1) dd:nth-of-type(1) { color: #fff; } 

    .topBnr li:nth-of-type(1) a dd.btn,
    .topBnr li:nth-of-type(2) a dd.btn {
        color: #FFF;
        border: 1px solid #fff;
    }
    .topBnr li:nth-of-type(1) a dd.btn:after,
    .topBnr li:nth-of-type(2) a dd.btn:after {color: #fff}
    .topBnr li:nth-of-type(2) a dd.btn {margin-left: 20px;}
    .topBnr li:nth-of-type(1) a dd.btn {margin-left: 40px; margin-right: 20px;}

    .topBnr li figure {
        position: relative;
        padding-top: 61.04651%;
        width: 100%;
        overflow: hidden;	
    }

    .topBnr li figure img {
        position: absolute;
        top: 0%;
        left: 0%;
        object-fit: cover;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        -moz-transition: -moz-transform 0.5s linear;
        -webkit-transition: -webkit-transform 0.5s linear;
        -o-transition: -o-transform 0.5s linear;
        -ms-transition: -ms-transform 0.5s linear;
        transition: transform 0.5s linear;

        -webkit-transform: scale(1.0);
        -moz-transform: scale(1.0);
        -o-transform: scale(1.0);
        -ms-transform: scale(1.0);
        transform: scale(1.0);
    }

    .topBnr li a:hover figure img {
        -webkit-transform: scale(1.03);
        -moz-transform: scale(1.03);
        -o-transform: scale(1.03);
        -ms-transform: scale(1.03);
        transform: scale(1.03);
    }

    .topBnr li a figure span {
        background-color: rgba(0,0,0,0.2);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform-origin: right top;
        transform: scale(1, 1);
        transition: transform .3s;	
    }

    .topBnr li a:hover figure span {
        transform-origin: left top;
        transform: scale(0, 1);
    }

    /* news */
    .newstopics {
        background-image: url(images/bg-img.png);
        /* background-image: url(images/bg-img-alpha.png); */
        background-repeat: no-repeat;
        background-position: center 60px;
        background-size: cover;
        padding-bottom: 40px;
        
    }


    .newstopics .box1180{
        padding: 30px;
        box-sizing: border-box;
        position: relative;
        background-color: #fff;
        margin-bottom: 40px;
    }

    .newstopics .btn002{
        position: absolute;
        top: 30px;
        right: 30px;
    }
    .newstopics li { padding: 5px; box-sizing: border-box; }
    .newstopics dt { float: left; width: 10%; box-sizing: border-box; color: #7d7d7d; font-size: 12px;}
    .newstopics dd { float: left; width: 90%;}
    .newstopics dd a{ color: #000;}
    .newstopics dd a:hover{ color: #2d7638;}
    /* figure {
        width: 100%;
        overflow: hidden;
        position: relative;
        padding-top: 100%;
    }

    figure img{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    } */


    /* subContents 
    ------------------------------------------------ */

    #sub #container {
        width: 100%;
        box-sizing: border-box;
        padding: 30px 0 0;
        position: relative;
        margin-top: 80px;
    }

    .ttl {
        text-align: center;
        font-family: 'Vollkorn', serif;
        font-size: 40px;
        letter-spacing: 2.0px;
        margin-bottom: 30px;
        font-weight: 400;
        position: relative;
        line-height: 1.0;
        padding-bottom: 10px;	
    }

    .ttl span{
        display: block;
        font-family: 'Vollkorn', serif;
        font-size: 16px;	
    }
    .ttl span span{
        display: inline-block;
        font-family: 'Noto Serif JP', sans-serif;
        font-size: 16px;	
    }

    .ttl:after {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #000;
        height: 3px;
        width: 20px;
        content: "";
        margin: 0 auto;
        
    }

    /* .subbg {
        background-image: url(images/bg-img.png),url(images/bnrsub-img001.png),url(images/bnrsub-img002.png);
        background-repeat: no-repeat,no-repeat,no-repeat;
        background-position: center bottom, 0% 10%, 100% 60%;
        background-size: contain, 70% auto, 70% auto;
        padding-bottom: 40px;
    } */

    .subbg {
        background-image: url(images/bg-img.png),url(images/bnrsub-img001.png);
        /* background-image: url(images/bg-img-alpha.png); */
        background-repeat: no-repeat,no-repeat;
        background-position: center bottom, 0% 10%;
        /* background-size: contain, auto 100%, auto 100%; */
        background-size: contain, 70% auto;
        padding-bottom: 40px;
    }

    .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin: 0 auto;
    }
    .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
    }
    .menuMuve,
    .menuMuve2,
    .menuMuve3 { position: relative; width: 100%; }
    .menuMuve3 { margin: 30px auto 0;}
    .menuMuve {
        background-image: url(images/bnrsub-img001.png);
        background-repeat: no-repeat;
        background-position: left top;
        background-size: auto 100%;
        padding: 30px 0; 
    }
    /* .menuMuve.collagen {
        background-image: url(images/bnrsub-img003.png); 
    } */

    .menuMuve2 {
        background-image: url(images/bnrsub-img002.png);
        background-repeat: no-repeat;
        background-position: right top;
        background-size: auto 100%;
        padding: 30px 0;
    }

    .menuMuve3 li {
        float: left;
        width: 50%;
        padding: 15px;
        box-sizing: border-box;
    }
    .menuMuve3 li:nth-of-type(2n+1) { clear:both; }
    .menuMuve .menuDetail {
        position: relative;
        top: 0px;
        left: 40%;
        background-color: #fff;
        width: 60%;
        padding: 30px;
        box-sizing: border-box;	
    }

    .menuMuve2 .menuDetail {
        position: relative;
        top: 0px;
        left: 0;
        background-color: #fff;
        width: 60%;
        padding: 30px;
        box-sizing: border-box;	
    }

    .menuMuve dt,
    .menuMuve2 dt,
    .menuMuve3 dt {
        font-family: 'Vollkorn', serif;
        font-size: 25px;
        line-height: 1.1;
        margin: 10px 0;
    }

    .menuMuve dt span,
    .menuMuve2 dt span,
    .menuMuve3 dt span {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 13px;
        display: inline-block;
        margin-left: 10px;
    }

    .menuMuve3 dd span {font-weight: bold; }

    /* J.Tamamura 2021/04/21 変更↓↓ */
    .recruite {
        border: 1px solid #dedede;
        background-color: #FFF;
        padding: 30px 40px 40px;
        box-sizing: border-box;
        position:relative;
        margin-bottom: 5px;
    }

    .menu {
        border: 1px solid #dedede;
        background-color: #FFF;
        padding: 60px 40px 40px;
        box-sizing: border-box;
        position:relative;
        margin-bottom: 5px;
    }
    /* J.Tamamura 2021/04/21 変更↑↑ */
    .menuTtl {
        font-family: 'Noto Serif JP', sans-serif;
        font-size: 18px;
        position: absolute;
        left: -1px;
        top: 10px;
        background-color: #000;
        color: #FFF;
        font-weight: 600;
        display: inline-block;
        padding: 5px 40px;
        box-sizing: border-box;
    }

    /* J.Tamamura 2021/04/21 追加↓↓ */
    /* .menuSubTtl {
        position: absolute;
        left: 50px;
        top: 60px;
    } */
    /* J.Tamamura 2021/04/21 追加↑↑ */

    .menuTtl span{
        font-family: 'Asap', sans-serif;    
        font-size: 12px;
    }

    .menu li,
    .recruite li{
        border-bottom: 1px dashed #eee;
        padding: 10px;
        box-sizing: border-box;
    }
    .menu li:last-child,
    .menu li:first-child { border-bottom: 1px solid #dedede;}

    .recruite li:last-child { border-bottom: none;}

    .menu dt { float: left; width: 55%; font-size: 16px; box-sizing: border-box; }
    .menu dt span{ font-size: 14px; }

    .menu dt span.attention {
        background-color: #fafafa;
        padding: 10px;
        box-sizing: border-box;
        display: block;
        margin-top: 10px;
    }


    .menu dt span.time {
        text-align: right;
        display: inline-block;
        float: right;
        line-height: 1.75;
    }

    .menu dd { float: right; width: 11%; text-align: right; font-size: 16px; box-sizing: border-box; }
    .menu dd:nth-of-type(2) { width: 16%; }
    .menu dd:nth-of-type(1) { width: 17%; }

    .menu dd.addoption {width: 17%;}
    .menu dd.addoption2:nth-of-type(2) { width: 10%; }

    .menu dd span{ font-size: 13px; }
    .menu dd span.pcno { display: none; }
    .menu li:first-child dd span{ font-size: 13px; font-weight: bold; }

    .recruite dt { float: left; width: 100px; font-size: 16px; box-sizing: border-box; font-weight: bold; }
    .recruite dd { float: left; width: calc(100%-100px); font-size: 16px; box-sizing: border-box; }
    .recruite dd span{ font-size: 13px; }
    /*  concept */
    .subttl2 {
        text-align: center;
        font-size: 30px;
        letter-spacing: 2.0px;
        margin-bottom: 30px;
        font-family: 'Noto Serif JP', sans-serif;
        line-height: 1.1;	
    }
    .subttl2 .subttl2min {
        font-size: 20px;

    }
    .subttl2 .subttl2min2 {
        font-size: 16px;
    }
    .subttl2 .en {
        font-family: 'Vollkorn', serif;	
    }


    .conceptBox {
        float: left;
        width: 600px;
        box-sizing: border-box;
        padding: 50px;
        color: #FFF;
        background-color: #604c3f;
        height: 600px;
    }
    .conceptImg {
        float: left;
        width: calc(100% - 600px);	
    }
    .conceptImg figure {
        width: 100%;
        overflow: hidden;
        position: relative;
        height: 600px;
    }

    .conceptImg figure img{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% top;
    font-family: 'object-fit: cover; object-position: 50% top;'
    }

    .conceptTxt {
        background-image: url(images/icon-conceptLine.png), url(images/icon-conceptLine.png);
        background-repeat: repeat-x, repeat-x;
        background-position: center top, center bottom, left top, left bottom;
        padding: 15px 10px;
        box-sizing: border-box;
        font-size: 16px;
        position:relative;
        font-family: 'Noto Serif JP', sans-serif;
        text-align: center;
        width: 500px;
        margin: 0 auto;
    }
    .conceptTxt:before {
        position: absolute;
        top: -16px;
        left: 0;
        right: 0;
        margin: 0 auto;
        content:"";
        background-image: url(images/icon-concept.png);
        background-repeat: no-repeat;
        background-position: left top;
        width: 101px;
        height: 32px;
        background-color: #604c3f;
    }
    .conceptTxt:after {
        position: absolute;
        bottom: -16px;
        left: 0;
        right: 0;
        margin: 0 auto;
        content:"";
        background-image: url(images/icon-concept-b.png);
        background-repeat: no-repeat;
        background-position: left top;
        width: 101px;
        height: 32px;
        background-color: #604c3f;
    }

    .conceptgranpri {
        box-sizing: border-box;
    }

    .conceptgranpri figure {
        float: left;
        width: 30%;	
    }
    .conceptgranpri dl {
        float: left;
        width: 70%;
        padding-left: 20px;
        box-sizing: border-box;	
    }

    .conceptgranpri dl dt {
        font-family: 'Noto Serif JP', sans-serif;
        font-size: 25px;
        display: block;
        margin-bottom: 30px;
        font-weight: 600;
    }
    .conceptgranpri dl dt span {
        font-family: 'Noto Serif JP', sans-serif;
        font-size: 15px;
        display: block;
    }
    .conceptgranpri dd { font-size: 16px; margin-bottom: 20px; }
    .conceptgranpri dd h4,
    .conceptgranpri dd:nth-of-type(2) {position: relative; display: block; margin-top: 50px;  }
    .conceptgranpri dd h4 span {
        display: inline-block;
        background-color: #000;
        color: #fff;
        padding: 2px 10px;
        box-sizing: border-box;
        font-family: 'Noto Serif JP', sans-serif;
        z-index: 9999;
        position:relative;
    }

    .conceptgranpri dd h4:before {
        position: absolute;
        top: 13px;
        left: 0;
        background-color: #000;
        content: "";
        height: 1px;
        width: 100%;
        z-index: 99;
    }
    .conceptgranpri dd:nth-of-type(2):after {
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: #000;
        content: "";
        height: 1px;
        width: 100%;
    }

    .conceptgranpri dd ul {
        padding: 15px 20px 20px;
    }
    .conceptgranpri dd ul li {
        margin: 3px 0;
    }
    .conceptgranpri dd ul li span {
        font-size: 12px;
    }

    .total {
        width: 100%;
        background-color: rgba(255,255,255,1.0);
        padding: 30px;
        box-sizing: border-box;
    }
    .totalBox { margin: 20px 0; }
    .totalBox li dt { text-align: center; font-size: 16px; margin-bottom: 5px; padding: 4px 0; line-height: 1.1; background-color: #000; color: #FFF; font-family: 'Noto Serif JP', sans-serif; }
    .totalBox li dt.hv { padding: 12px 0; }
    .totalBox li{
        float: left;
        width: 20%;
        padding: 5px;
        box-sizing: border-box;
    }

    .totalBox li figure{
        position: relative;
        width: 100%;
        padding-top: 100%;
        border-radius: 50%;
        overflow: hidden;
    }

    .totalBox li figure img{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    }

    .totalTxt {
        font-size: 16px;
        text-align: center;
        
    }


    @media screen and (max-width:1380px) { 
    .conceptBox {
        float: none;
        width: 100%;
        box-sizing: border-box;
        padding: 50px;
        color: #FFF;
        background-color: #604c3f;
        height: 620px;
    }
    .conceptImg {
        float: none;
        width: 100%;
    }
    }
    @media screen and (max-width:1228px) { 
    .conceptImg figure{
        float: none;
        max-height: 600px;
    }
    }

    @media screen and (max-width:1195px) { 
    .conceptgranpri figure {
        width: 40%;	
    }
    .conceptgranpri dl {
        width: 60%;
    }
    }


    /* form
    ---------------------------------------------- */
        input[type=text],textarea,input[type=password] {
                background-color: #fff;
                padding: 8px;
                width: 100%;
                -webkit-box-sizing: border-box;
                -moz-box-sizing: border-box;
                box-sizing: border-box;
                border: 1px solid #ddd;
        }
        input.boxShort,input.box60 {width: 10%;}
        input.box120 {width: 20%;}
        input.box140 {width: 40%;}
        input.boxMiddle,input.box380,input.box300 {width: 70%;}
        input.boxLong,input.box1000 {width: 100%;}
        .box95,textarea.box380 {width: 100%;}
        
        .styledRadio {
            display: inline-block;
            vertical-align: middle;
            margin-right: 2px;
            margin-bottom: 2px;
        }
        .radioV input br{ padding-bottom: 80px; }
        select {
            /*　矢印を消す　*/
            -webkit-appearance:none;
            -moz-appearance:none;
                text-indent: .01px; /* Firefox用 */
                text-overflow: ""; /* Firefox用 */
            appearance:none;
            
            /*　背景画像の指定　*/
            width: auto;
            height: 40px;
            padding: 5px 20px 5px 5px;
            background-color: #fff;
            background-image: url(images/select.png);
            background-repeat: no-repeat;
            background-size: 7px 10px;
            background-position: right 5px center;
            cursor: pointer;
            border: 1px solid #ddd;
            margin: 0 5px 5px 0;
        }
        .detailshopping select { width: 150px; }
        .selectV select {width: 20%;}
        
        @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
            select:not(:target) {
                padding-right:0;
                background-image: none;
            }
        }

    /* hover */
    .btn a:hover,
    .btn input:hover,
    a:hover .btn,
    .topBnr li:nth-of-type(1) a:hover dd.btn,
    .topBnr li:nth-of-type(2) a:hover dd.btn {
        background-color: #2d7638;
        border: 1px solid #2d7638;
        color: #fff;
        transition: background-color .5s, color .5s border .5s;
    }

    .btn a:hover:after,
    .btn input:hover:after,
    a:hover .btn:after,
    .topBnr li:nth-of-type(1) a:hover dd.btn:after,
    .topBnr li:nth-of-type(2) a:hover dd.btn:after { color: #fff; }
    .btn002 a:hover {
        border-bottom: 2px solid #2d7638;
        color: #2d7638;
        transition: color .5s border .5s;
    }
    .btn002 a:hover:after { color: #2d7638; }
    .btn002.sideBtn a:hover:after { color: #fff; }

    .btn002.sideBtn a:hover {
        border: 2px solid #2d7638;
        background-color: #2d7638;
        color: #fff;
    }

    /* font 
    --------------------------------------------- */
    .f10 { font-size: 10px; }
    .f11 { font-size: 11px; }
    .f12 { font-size: 12px; }
    .f13 { font-size: 13px; }
    .f14 { font-size: 14px; }
    .f15 { font-size: 15px; }
    .f16 { font-size: 16px; }
    .f17 { font-size: 17px; }
    .f18 { font-size: 18px; }
    .f19 { font-size: 19px; }
    .f20 { font-size: 20px; }
    .f25 { font-size: 25px; }
    .f30 { font-size: 30px; }
    .f35 { font-size: 35px; }
    .f40 { font-size: 40px; }
    .f45 { font-size: 45px; }
    .f50 { font-size: 50px; }
    .f55 { font-size: 55px; }
    .f60 { font-size: 60px; }
    .f65 { font-size: 65px; }
    .f70 { font-size: 70px; }

    .txtC,.alignC { text-align: center; }
    .txtR,.alignR { text-align: right; }
    .txtL,.alignL { text-align: left; }

    a.txtD { text-decoration: underline; color: #000; }

    .pb60 { padding: 60px 0;}
    .pb30 { padding: 30px 0;}
    .mb30 { margin-bottom: 30px; }
    .mb10 { margin-bottom: 10px; }

    .box84 {
        width: 100%;
        padding: 60px 84px;
        box-sizing: border-box;
    }

    .box1180 {
        width: 100%;
        padding: 60px 20px;
        max-width: 1180px;
        margin: 0 auto;
        box-sizing: border-box;
    }

    @media screen and (max-width:1180px) { 
    .box1180 {
        padding: 60px 20px;
        max-width: 85%;
    }
    }

    .green { background-color: #2d7638; }
    .gryBorder { border: #d7d7d7;}
    .gryTxt { background-color: #7d7d7d; }
    .gryBg { background-color: #f0f1f3; }

    .borderB { border-bottom: 1px dashed #d7d7d7;}
    .borderR { border-right: 1px dashed #d7d7d7;}
    .borderL { border-left: 1px dashed #d7d7d7;}

    .fontB { font-weight: bold; }

    .asap {font-family: 'Asap', sans-serif;}
    .notosans {font-family: 'Noto Sans JP', sans-serif;}
    .notoserif {font-family: 'Noto Serif JP', sans-serif;}
    .vollkorn {font-family: 'Vollkorn', serif;}
    .sortsmillgoudy {font-family: 'Sorts Mill Goudy', serif;}

    :hover { transition:background-color .5s, color .5s, opacity .5s;}
    .pcno { display: none; }

    /* slide */
    #_btn {
    overflow: hidden;
    background: #fff;
    height: 40px;
    width: 40px;
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 99999999;
    }

    #_btn_nav {
    float: left;
    cursor: pointer;
    position: relative;
    }

    #nav_open {
    position: absolute;
    z-index: 2;
    top: 0;
    height: 40px;
    width: 40px;
    }

    #nav_close {
    position: relative;
    z-index: 2;
    top: -30px;
    height: 40px;
    width: 40px;
    }

    #fadeLayer {
    position:absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    background-color: rgba(0,0,0,0.6);
    visibility:hidden;
    z-index: 99999998;
    cursor: pointer;
    }

    #menu {
        position: relative;
        z-index: 0;
        top: 7.5px;
        height: 20px;
        width: 20px;
        cursor: pointer;
    }

    #menu .bar {
        display: inline-block;
        width: 20px;
        height: 2px;
        background-color: #000;
        position: absolute;
        left: 50%;
        margin-left: -6px;
        transition: .15s ease-in-out;
    }

    #_btn:hover .bar {
        background-color: #2d7638;
    }

    #bar01 {top: 0;}
    #bar02 {top: 6px;}
    #bar03 {top: 12px;}

    #menu:after {
        content:"MENU";
        color: #000;
        font-family: 'Asap', sans-serif;
        font-size: 10px;
        position: absolute;
        bottom: -12px;
    }

    #menu.active:after {
        content:"CLOSE";
        color: #000;
        font-family: 'Asap', sans-serif;
        font-size: 10px;
        bottom: -12px;
    }

    #_btn:hover #menu:after,
    #_btn:hover #menu.active:after {
        color: #2d7638;
    }

    .active #bar01 {
        top: 7.5px;
        transform: rotate(45deg);
    }
    .active #bar02 {width: 0;}
    .active #bar03 {
        top: 7.5px;
        transform: rotate(-45deg);
    }

    .plantext {
        font-size: 16px;
        text-align: center;
        margin-top: 30px;
        font-family: 'Noto Serif JP', sans-serif;
        position: relative;
    }


