@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Mirza:wght@400;500;600&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');

.en { font-family: 'Mirza', serif; letter-spacing: 0; }
.brown { color: #85583F; }

._attention__outermost-wrapper--pc_grgv0_11 {padding-bottom: 0!important;}


/*=================================================
    リセット
==================================================*/

        html, body, div, span, applet, object, iframe, strong,
        h1, h2, h3, h4, h5, h6, p, blockquote, pre,
        a, abbr, acronym, address, big, cite, code,
        del, dfn, em, font, img, ins, kbd, q, s, samp,
        small, strike, sub, sup, tt, var,
        dl, dt, dd, ol, ul, li,
        fieldset, form, legend, caption, 
        tbody, tfoot, thead, table, label, tr, th, td{
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        font-style: inherit;
        font-family: inherit;
        vertical-align: baseline;
        list-style:none;
        }
        ul { 
        letter-spacing: -1em;
        word-spacing: -1em;
        }
        li { 
        letter-spacing: normal;
        word-spacing: normal;
        *display: inline;
        *zoom: 1;
        }
        figure { margin:0;}
        figure video { max-width: 100%;}
        img,iframe	{ vertical-align:bottom;}


/*=================================================

       メイン設定

==================================================*/

html    { scroll-behavior: smooth; } 
article	{ width: 950px;}

div#RthCustomizeW { background: #FEFCF5; }

.bodyWrap {
        font-size:18px;
        background:initial!important;
        font-family: 'Zen Maru Gothic', sans-serif;
        letter-spacing:0.05em;
        color:#46413E;
        font-weight:500;
        text-align:left;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        line-height:200%;
        font-feature-settings: "palt" 1;
        }

        .section-ll	{ padding-top:22rem; padding-bottom:22rem; }
        .section-l	{ padding-top:20rem; padding-bottom:20rem; }
        .section	{ padding-top:15rem; padding-bottom:15rem; }
        .section-m	{ padding-top:12rem; padding-bottom:12rem; }
        .section-s	{ padding-top:8rem; padding-bottom:8rem; }
        .section-ss	{ padding-top:4rem; padding-bottom:4rem; }
        .section-sss	{ padding-top:2.75rem; padding-bottom:2.75rem; }

        .second  	{ padding-top:0 !important; }
        .last       { padding-top:0 !important; padding-bottom:0 !important;}

        .outer		{ padding-left:1.35rem; padding-right:1.35rem; box-sizing:border-box; }

        .inner-wrap    { padding:0 17%; box-sizing:border-box; }
        .inner-wrap-s  { padding:2.5% 4%; box-sizing:border-box; }
        .box-inner     { padding: 0 1rem; box-sizing: border-box; }

        .inner-outer-l { padding-left:8%; padding-right:8%; box-sizing:border-box; }
        .inner-outer   { padding-left:24px; padding-right:24px; box-sizing:border-box; }
        .inner-outer-s   { padding-left:3%; padding-right:3%; box-sizing:border-box; }

        .row			{ margin-left:auto; margin-right:auto; position: relative;}
        .row .row		{ min-width: 0px; }
        .row:before,
        .row:after      { content:""; display:table; }
        .row:after      { clear: both; }
        .row            { zoom: 1; }

        h1,h2,h3,h4,h5 { letter-spacing: 0.05em; line-height: 160%; font-weight:500; }
        
        .en h1,.en h2,.en h3,.en h4,.en h5,
        h1.en,h2.en,h3.en,h4.en,h5.en { font-weight:400; }
        .white h2,.white h3 { color:#FFF;}
        h1 a,h2 a,h3 a,h4 a,h5 a {  }

        small { font-size:.75rem; }
        .bold { font-weight:bold;}
        
        .ls0   { letter-spacing: 0; }
        .ls01  { letter-spacing: .1em; }
        .ls02  { letter-spacing: .2em; }
        .ls03  { letter-spacing: .3em; }
        .ls05  { letter-spacing: .5em; }
        
        .op10  { opacity: .1 ; }
        .op30  { opacity: .3 ; }
        .op50  { opacity: .5 ; }
        .op75  { opacity: .75 ; }
        .op80  { opacity: .8 ; }
        
        .normal { font-weight:400 !important; }
        .float-l { float:left; }
        .float-r { float:right; }
        .margin-auto { margin-left:auto; margin-right:auto; }
        .bottom-none    { padding-bottom:0 !important;}
        
        .t-center    { text-align:center;}
        .t-left      { text-align:left;}

        .flex        { display: flex; justify-content: space-between; }
        .flex-center { display: flex; justify-content: space-between; align-items: center; }



/*=================================================

       ヘッダー

==================================================*/

.header {
    position: relative;
    width: 950px;
    height: 120px;
    background: #FEFCF5;
    box-sizing: border-box;
    z-index: 2;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.header .naviWrap {
    width:100%;
    box-sizing:border-box;
    position:relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 10;
}

.header .logo {
    opacity: 1;
    width:200px;
    box-sizing:border-box;
    position: absolute;
    top:16px;
    left:1.2rem;
    line-height:1;
    z-index:2;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

/*=================================================
        main navigation
==================================================*/
.header .fixedNav{
    position: absolute;
    top: 36px;
    right: 10rem;
    width: 490px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.header .mainNav{
    float: right;
    position:relative;
    text-align: center;
}
.header .mainNav li {
    float:left;
    font-size:18px;
    position: relative;
    letter-spacing:0.05em;
    text-align: center;
    padding-right:1.4rem;
    box-sizing: border-box;
    z-index: 1;
}
.header .mainNav li:last-child {
    padding-right:0;
}
.header .mainNav li a {
    line-height: 120%;
    letter-spacing:0em;
    color:#383E3B;
    font-weight: 500;
    display: block;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

/*=================================================
        hover bar
==================================================*/
.header .mainNav li a {
    position: relative;
    display: inline-block;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.header .mainNav li a:after {
    position:absolute;
    bottom:-4px;
    left:50%;
    content:'';
    width:0;
    height:2px;
    background-color:#383E3B;
    transition:.5s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); 
}
.header .mainNav li a:hover:after {
    width:100%;
}
.header .mainNav li a:hover {
    opacity:1;
    text-decoration: none!important;
}


/*=================================================
        resBtn
==================================================*/

.resBtn {
    position: absolute;
    text-align: center;
    top:22px;
    right:1.2rem;
    width:120px;
    letter-spacing: 0;
    line-height: 1;
    font-size:18px;
    z-index: 99999;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.resBtn a {
    width:100%;
    height:66px;
    line-height:66px;
    box-sizing: border-box;
    border-radius: 10px;
    background: url("../img/parts/orange.jpg") center center repeat;
    text-align: center;
    font-weight:500;
    letter-spacing:0.05em;
    display:block;
    color:#FFF;
    overflow: hidden;
    white-space: nowrap;
    text-decoration:none !important;
    position: relative;
    z-index: 1;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.resBtn a:after {
    position: absolute;
    content: "";
    width: 0;
    height: 100%;
    top: 0;
    right: 0;
    z-index: -1;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    background:rgba(255,255,255,.3);
}
.resBtn a:hover:after {
    left: 0;
    width: 100%;
                }
.resBtn a:hover {
    opacity:1;
    width:100%;
    color:#FFF!important;
}



/*=================================================

       フッター

==================================================*/
.footer {
    width:100%;
    position: relative;
    background:url("../img/parts/footer-bg.jpg") center center / cover;
    font-size:1rem;
    line-height: 180%;
    z-index: 0;
    color:#FFF;
}
.footer .logo {
    width: 210px;
    margin: 0 auto;
}
.footer .txt {
    text-align: center;
}



/*=================================================

		ページトップ

 ==================================================*/
#totop {
    /*position: fixed;*/
    position: absolute;
    bottom: 0;
    z-index: 999;
    margin-left:890px;
	}
    a.totop{ background:#EC9F47; width:60px; height:60px; display:block; cursor:pointer; text-align: center; color:#FFF; font-weight:700; font-size:13px; line-height: 125%; position: relative; }
    a.totop p { position: absolute; top:50%; left:50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); display: block;}
    a.totop:hover{ background-position:center bottom; color:#FFF;}



/*=================================================

       Link

==================================================*/

a {
        text-decoration:none;
        color:#46413E;
        cursor:pointer;
        opacity: 1;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        }
        a:hover {
        opacity: .7;
        }
        .news-item-box a:hover {
        opacity: 1;
        text-decoration:none;
        }
        a.hover100:hover,a.hover100:hover img {
        opacity: 1;
        }
        a img {
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        }
        a:hover img {
        opacity:0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha( opacity=70 )";
        }

.mobile-link-b a {
        color:#46413E;
        display: inline-block;
        }
        .mobile-link-w a {
        color:#FFF;
        display: inline-block;
        }

        .link { padding-bottom:.125rem ; border-bottom:1px solid #46413E;  font-weight: 500; color:#46413E; }
        .link:hover { border-bottom:1px solid #555; color:#555; }
        .bg-light .link { padding-bottom:.125rem ; border-bottom:1px solid #333; color:#333;}
        .bg-light .link:hover { border-bottom:1px solid #666; color:#666; }


/*================================================
      　list
================================================*/

.nomber-list {
        padding-left:1.5rem;
        }
        .nomber-list li {
        padding: 0 0 .5em 0;
        position: relative;
        line-height: 160%;
        list-style-type: decimal;
        }
        .nomber-list .nomber-list { padding-top:.5em; padding-bottom:1em;}
        .nomber-list .nomber-list li { list-style-type: lower-roman ;}
        .nomber-list .nomber-list .nomber-list li { list-style-type: katakana-iroha ; }
        
        .nomber-list li:last-child { padding-bottom:0; }
        .nomber-list .nomber-list { padding-bottom:0; }
        .nomber-list .nomber-list .nomber-list { padding-bottom:0; }
.normal-list { position: relative; line-height: 175%;}
        .normal-list li {
        padding: 0 0 0 .75rem ;
        position: relative;
        display:inline-block;
        margin-right: 0.2rem;
        }
        .normal-list li:before {
        content: "・";
        display:block;
        position: absolute;
        left: 0;
        font-size:1rem;
        vertical-align: middle;
        }
.maru-list {
        position: relative;
        line-height: 175%;
        border-top:2px dotted #707070;
        }
        .maru-list li {
        padding: .65em 0 .65em 1rem ;
        position: relative;
        margin-right:1rem;
        border-bottom:2px dotted #707070;
        }
        .maru-list li:before {
        content: "●";
        display:inline-block;
        position: absolute;
        left: 0;
        font-size:10px;
        vertical-align: middle;
        }
.check-list {
        position: relative;
        line-height: 175%;
        }
        .check-list li {
        padding: .65em 0 .65em 1.5rem ;
        position: relative;
        line-height: 125%;
        margin-right:1rem;
        border-top:2px dotted rgba(0,0,0,.3);
        }
        .check-list li:last-child { border-bottom:2px dotted rgba(0,0,0,.3); }
        .check-list li:before {
        content: "";
        display:inline-block;
        position: absolute;
        left: 0;
        top:50%;
        transform: translateY(-50%);
        background: url("../img/icons/icon-check.svg") center center / cover;
        width:20px;
        height:20px;
        vertical-align: middle;
        }
        @media screen and (max-width: 1024px) {
        .check-list li:before { width:18px; height:18px; }
        }
        @media screen and (max-width: 767px) {
        .check-list li:before { width:16px; height:16px; }
        }

.link-list {
        position: relative;
        line-height: 175%;
        }
        .link-list li {
        padding: 0 0 0 1.5rem ;
        position: relative;
        line-height: 150%;
        }
        .link-list li:before {
        content: "";
        display:inline-block;
        position: absolute;
        left: 0;
        top:.35rem;
        line-height: 150%;
        background: url("../img/icons/arrow.svg") center center / cover;
        width:13px;
        height:13px;
        }
        @media screen and (max-width: 1024px) {
        .link-list li:before { width:12px; height:12px; }
        }
        @media screen and (max-width: 767px) {
        .link-list li:before { width:11px; height:11px; }
        }

.list {
        border-top:1px dotted rgba(0,0,0,.5);
        }
        .list li {
        padding: .5rem 0 .5rem 0;
        box-sizing: border-box;
        position: relative;
        border-bottom:1px dotted rgba(0,0,0,.5);
        }
        
.kome-list {
        }
        .kome-list li {
        padding: 0;
        position: relative;
        padding-left:1.25em;
        }
        .kome-list li:before {
        content: "※";
        display:block;
        position: absolute;
        top: 0;
        left: 0;
        font-size:1em;
        vertical-align: middle;
        }

.disk-list {
        }
        .disk-list li {
        padding-left:1rem ;
        position: relative;
        }
        .disk-list li:before {
        content: "・";
        display:block;
        position: absolute;
        top:0;
        left: 0;
        font-size:1rem;
        vertical-align: middle;
        }
        .disk-list.large li:before { top:.5em; }
        .kome-list .disk-list li:before {content: "・"; }

        @media screen and (max-width: 767px) {
        .disk-list li { margin-bottom:.5em; }
        }

        .kome-list.center-left li {
        display:inline-block;
        }

.foodmenu-list {
        position: relative;
        line-height: 175%;
        word-break: keep-all;
        }
        .foodmenu-list li {
        position: relative;
        display:inline-block;
        margin-right:1rem;
        }



/*=================================================

       ボタン

==================================================*/

.more {
        position:relative;
        width:100%;
        max-width:210px;
        height:48px;
        }
        .more a {
        width:100%;
        height:48px;
        line-height:46px;
        text-align: center;
        border-radius:10px;
        border: 1px solid #85583F;
        box-sizing: border-box;
        color:#85583F;
        overflow: hidden;
        font-weight:500;
        font-size:1rem;
        white-space: nowrap;
        text-decoration:none !important;
        position: relative;
        z-index: 1;
        letter-spacing: 0em;
        display: inline-block;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .more.center a { text-align: center; padding-left:0; }
        .more a:after {
        position: absolute;
        content: "";
        width: 0;
        height:100%;
        bottom:0;
        right: 0;
        z-index: -1;
        border-radius:0;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background:#85583F;
        }      
        .more a:hover {
        opacity:1;
        color:#FFF;
        }
        .more a:hover:after {
        left: 0;
        width: 100%;
        }
        .more.w100p { max-width:100%; }

.more-link {
        position:relative;
        width:100%;
        height:68px;
        }
        .more-link a {
        width:100%;
        height:68px;
        line-height:66px;
        text-align: center;
        border-radius:2px;
        border: 1px solid #46413E;
        box-sizing: border-box;
        color:#46413E;
        overflow: hidden;
        font-weight:600;
        font-size:1.2rem;
        white-space: nowrap;
        text-decoration:none !important;
        position: relative;
        z-index: 1;
        letter-spacing: 0em;
        display: inline-block;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .more-link a:after {
        position: absolute;
        content: "";
        width: 0;
        height:100%;
        bottom:0;
        right: 0;
        z-index: -1;
        border-radius:0;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background:rgba(70,65,62,.1);
        }      
        .more-link a:hover {
        opacity:1;
        }
        .more-link a:hover:after {
        left: 0;
        width: 100%;
        }


.more-under {
        position: relative;
        display: inline-block;
        text-align: left;
        }
        .more-under a {
        display:inline-block;
        padding:.5rem 0;
        line-height: 100%;
        color:#363531;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .more-under a:before {
        content:"";
        display: inline-block;
        position: absolute;
        bottom:0;
        left:0;
        width:100%;
        height:1px;
        background:#363531;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .more-under a:after {
        content:"";
        display: inline-block;
        position: absolute;
        bottom:0;
        left:0;
        width:0;
        height:2px;
        background:#363531;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .more-under a:hover:after {
        width:100%;
        }

        @media only screen and (max-width:1024px) {
        .more-bar a { padding-right:3rem; }
        .more-bar a:hover { padding-right:3rem; }
        }
        @media only screen and (max-width:767px) {
        .more-under { text-align: center; }
        }

.more-tab {
        position:relative;
        width:100%;
        height:80px;
        }
        .more-tab a {
        width:100%;
        height:80px;
        line-height:140%;
        padding-top:18px;
        text-align: center;
        border-radius: 0px;
        background:#46413E;
        box-sizing: border-box;
        color:#FFF;
        overflow: hidden;
        font-weight:400;
        font-size:1rem;
        white-space: nowrap;
        text-decoration:none !important;
        position: relative;
        z-index: 1;
        letter-spacing: 0.05em;
        display: inline-block;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .more-tab a:after {
        position: absolute;
        content: "";
        width: 0;
        height:100%;
        bottom:0;
        right: 0;
        z-index: -1;
        border-radius:0;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background:rgba(255,255,255,.3);
        }      
        .more-tab a:hover {
        opacity:1;
        color:#FFF;
        }
        .more-tab a:hover:after {
        left: 0;
        width: 100%;
        }
        @media only screen and (max-width:374px) {
        .more-tab { height:73px; }
        .more-tab a { height:73px; }
        }

.more-arrow { width:185px; }
.more-arrow a {
        position: relative;
        display: block;
        padding: .25rem 0;
        }
        .more-arrow a:after {
        content:"";
        display:inline-block;
        position: absolute;
        top:50%;
        margin-left:1rem;
        width: 70px;
        height: 1px;
        background: #46413E;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .more-arrow a:hover:after {
        width:90px;
        }



/*=================================================

       table

==================================================*/

.table {
        width:100%;
        border-collapse:separate;
        border-spacing:2px;
        text-align:left;
        letter-spacing:0;
        box-sizing: border-box;
        line-height: 170%;
        font-size:1rem;
        }
        .table th {
        padding:.55rem 1.25rem .55rem 1.25rem;
        vertical-align: middle;
        font-weight:500;
        text-align:center;
        background: rgba(144,92,60,.25);
        }
        .table td {
        padding:.55rem 1.25rem .55rem 1.25rem;
        text-align:left;
        vertical-align: middle;
        background: rgba(144,92,60,.05);
        }

        .table .dark th { background: rgba(117,101,91,.8); color:#FFF; }

        .table th.center { text-align:center;}
        .table.td-right td { text-align: right;}
        .table.th-right th { text-align: right;}
        .table.th-center th { text-align: center;}
        .table th.right { text-align: right;}
        .table.center td,.table-b.center th { text-align: center;}


.table-menu {
        width:100%;
        border-collapse:collapse;
        border-spacing:0;
        text-align:left;
        letter-spacing:0;
        box-sizing: border-box;
        line-height: 170%;
        font-size:1rem;
        border-top:1px solid rgba(0,0,0,.2);
        }
        .table-menu tr { border-bottom:1px solid rgba(0,0,0,.2); }
        .table-menu th {
        padding:.55rem 1.25rem .55rem 0;
        vertical-align: middle;
        font-weight:600;
        text-align:left;
        }
        .table-menu td {
        padding:.55rem 0 .55rem 1.25rem;
        text-align:right;
        box-sizing: border-box;
        vertical-align: middle;
        }

        .table-scroll { overflow: inherit !important; }


/*=================================================

       アイコン

==================================================*/

.icon-before {
        width:1.5rem;
        height:1.5rem;
        display:inline-block;
        margin-right:.65rem;
        position: relative;
        top: .25rem;
        }
        .icon-before-m {
        width:1.35rem;
        height:1.35rem;
        display:inline-block;
        margin-right:.5rem;
        position: relative;
        top: .25rem;
        }
        .icon-before-s {
        width:1.15rem;
        height:1.15rem;
        display:inline-block;
        margin-right:.5rem;
        position: relative;
        top: .125rem;
        }
.icon-after {
        width:1.2rem;
        height:1.2rem;
        display:inline-block;
        margin-left:1rem;
        position: relative;
        top: .125rem;
        }
        .icon-after-s {
        width:1rem;
        height:1rem;
        display:inline-block;
        margin-left:.5rem;
        position: relative;
        top: .125rem;
        }


        .icon-map        { background: url("../img/icons/icon-map.svg") center center / cover; }
        .icon-air        { background: url("../img/icons/icon-air.svg") center center / cover; }
        .icon-bus        { background: url("../img/icons/icon-bus.svg") center center / cover; }
        .icon-car        { background: url("../img/icons/icon-car.svg") center center / cover; }
        .icon-car-w      { background: url("../img/icons/icon-car-w.svg") center center / cover; }
        .icon-hito       { background: url("../img/icons/icon-hito.svg") center center / cover; }
        .icon-train      { background: url("../img/icons/icon-train.svg") center center / cover; }
        .icon-train-w    { background: url("../img/icons/icon-train-w.svg") center center / cover; }
        .icon-link-b     { background: url("../img/icons/icon-link-b.svg") center center / cover; }
        .icon-link-w     { background: url("../img/icons/icon-link-w.svg") center center / cover; }



/*=================================================

       padding margin 設定

==================================================*/

        .pt-05em	{ padding-top:.5rem;}
        .pt-1em		{ padding-top:1rem;}
        .pt-1hem	{ padding-top:1.5rem;}
        .pt-2em		{ padding-top:2rem;}
        .pt-3em		{ padding-top:3rem;}
        .pt-4em		{ padding-top:4rem;}
        .pt-5em		{ padding-top:5rem;}

        .pb-0	    { padding-bottom:0rem;}
        .pb-05em	{ padding-bottom:.5rem;}
        .pb-1em		{ padding-bottom:1rem;}
        .pb-1hem	{ padding-bottom:1.5rem;}
        .pb-2em		{ padding-bottom:2rem;}
        .pb-2hem	{ padding-bottom:2.5rem;}
        .pb-3em		{ padding-bottom:3rem;}
        .pb-4em		{ padding-bottom:4rem;}
        .pb-5em		{ padding-bottom:5rem;}
        .pb-6em		{ padding-bottom:6rem;}
        .pb-10em	{ padding-bottom:10rem;}

        .pb-1px     { padding-bottom:1px;}
        .pb-10px    { padding-bottom:10px;}

        .pl-05em    { padding-left:.5rem; }
        .pl-1em     { padding-left:1rem; }
        .pl-1hem    { padding-left:1.5rem; }
        .pl-2em     { padding-left:2rem; }
        
        .ml-1hem     { margin-left:1.5rem; }
        
        .pr-05em     { padding-right:.5rem; }

        .mt-05em	{ margin-top:.5rem;}
        .mt-1em		{ margin-top:1rem;}
        .mt-2em		{ margin-top:2rem;}
        .mt-3em		{ margin-top:3rem;}
        .mt-4em		{ margin-top:4rem;}
        .mt-5em		{ margin-top:5rem;}
        .mt-10em	{ margin-top:10rem;}

        .mb-05em	{ margin-bottom:.5rem;}
        .mb-1em		{ margin-bottom:1rem;}
        .mb-1hem	{ margin-bottom:1.5rem;}
        .mb-2em		{ margin-bottom:2rem;}
        .mb-3em		{ margin-bottom:3rem;}
        .mb-4em		{ margin-bottom:4rem;}
        .mb-5em		{ margin-bottom:5rem;}
        .mb-6em		{ margin-bottom:6rem;}
        .mb-7em		{ margin-bottom:7rem;}
        .mb-8em		{ margin-bottom:8rem;}

        .mr-1em     { margin-right: 1rem ; }
        .mr-2em     { margin-right: 2rem ; }



/*=================================================

       Width ( wrap + wrap-1200 )

==================================================*/

        .wrap       { width:100%; margin-left:auto; margin-right:auto; position: relative; z-index:0; }

        .wrap-950   { max-width: 950px; }
        .wrap-930   { max-width: 930px; }
        .wrap-900   { max-width: 900px; }
        .wrap-880   { max-width: 880px; }
        .wrap-840   { max-width: 840px; }
        .wrap-800   { max-width: 800px; }
        .wrap-750   { max-width: 750px; }
        .wrap-700   { max-width: 700px; }
        .wrap-630   { max-width: 630px; }
        .wrap-600   { max-width: 600px; }
        .wrap-500   { max-width: 500px; }
        .wrap-450   { max-width: 450px; }
        .wrap-400   { max-width: 400px; }
        .wrap-300   { max-width: 300px; }

        .max90      { max-width:90px; width:100%;}
        .max170     { max-width:170px; width:100%;}
        .max280     { max-width:280px; width:100%;}
        .max300     { max-width:300px; width:100%;}
        .max320     { max-width:320px; width:100%;}
        .max400     { max-width:400px; width:100%;}
        .max420     { max-width:420px; width:100%;}
        .max450     { max-width:450px; width:100%;}
        .max500     { max-width:500px; width:100%;}
        .max550     { max-width:550px; width:100%;}
        .max600     { max-width:600px; width:100%;}
        .max650     { max-width:650px; width:100%;}
        .max700     { max-width:700px; width:100%;}
        .max750     { max-width:750px; width:100%;}
        
        .min600 { min-width: 600px; }

        .w2em { width:2em; }
        .w3em { width:3em; }
        .w4em { width:4em; }
        .w5em { width:5em; }
        .w6em { width:6em; }
        .w7em { width:7em; }
        .w8em { width:8em; }
        .w9em { width:9em; }
        .w10em { width:10em; }
        .w11em { width:11em; }
        .w12em { width:12em; }
        .w13em { width:13em; }
        .w14em { width:14em; }

        .w11p { width:11.111111%; }
        .w12p { width:12.5%; }
        .w16p { width:16.666666%; }
        .w20p { width:20%; }
        .w25p { width:25%; }
        .w33p { width:33%; }

        .w30p { width:30%; }
        .w32p { width:32%; }
        .w34p { width:34%; }
        .w36p { width:36%; }
        .w38p { width:38%; }

        .w40p { width:40%; }
        .w42p { width:42%; }
        .w44p { width:44%; }
        .w46p { width:46%; }
        .w48p { width:48%; }

        .w50p { width:50%; }
        .w52p { width:52%; }
        .w54p { width:54%; }
        .w56p { width:56%; }
        .w58p { width:58%; }

        .w60p { width:60%; }
        .w62p { width:62%; }
        .w64p { width:64%; }

        .h100p { height:100%; }



/*=================================================

       Other

==================================================*/

figcaption {
        font-size:1rem;
        padding:0;
        }

img,.img-auto img {
        max-width: 100%;
        height: auto;
        width /***/:auto;
        vertical-align:bottom;
        }
        .z0 { position: relative; z-index: 0; }
        .z1 { position: relative; z-index: 1; }
        .z2 { position: relative; z-index: 2; }
        .z3 { position: relative; z-index: 3; }
        .z4 { position: relative; z-index: 4; }
        .z5 { position: relative; z-index: 5; }
        .relative { position: relative;}
        
        .hidden { overflow: hidden; }

        .radius,
        .radius img { border-radius: 8px!important; }
.shadow	{
        -webkit-box-shadow: 0px 3px 6px rgba(0,0,0,.2);
        box-shadow:	        0px 3px 6px rgba(0,0,0,.2);
        }
.shadow-png	{
        -webkit-filter: drop-shadow(0px 3px 6px rgba(0,0,0,.2));
        filter: drop-shadow(0px 3px 6px rgba(0,0,0,.2));
        }

.anchor { padding-top:90px; margin-top:-90px; }

hr.line {
        position: relative;
        border: none;
        padding:0;
        margin: 0 auto;
        height:1px;
        background:#C8C8C8;
        width:100%;
        z-index: 1;
        opacity: .7;
        }

.even > div:first-child{
    order: 2;
}
.even > div:last-child{
    order: 1;
}


/*==================================================================================================

        テキスト

===================================================================================================*/

.small { font-size: .875rem;}
.smaller { font-size: .75rem;}

.tategaki {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.tategaki-right {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.tategaki-right .tategaki-outer {
    text-align: right;
    flex: 1;
}
.tategaki-right .tategaki-inner {
    text-align: left;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    box-sizing: border-box;
}
.tategaki-left {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.tategaki-left .tategaki-outer {
    text-align: left;
    flex: 1;
}
.tategaki-left .tategaki-inner {
    text-align: left;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    box-sizing: border-box;
}
        
.tategaki-h240 { height: 240px;}
        
.tategaki-nomber { /* 数字のみ横 */
    display: inline;
    padding-bottom:.17em;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
    -ms-text-combine-horizontal: digits 2; /* IE */
}
.tategaki-center {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.tategaki-center .tategaki-outer {
    text-align: center;
    flex: 1;
}
.tategaki-center .tategaki-inner {
    text-align: left;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    box-sizing: border-box;
}
        
.tategaki-inner.text-r { text-align: right; }

.tategaki-center h2 {  }
.tategaki-center h3 {  }
.tategaki-center.vertical-lr .tategaki-inner { writing-mode: vertical-lr; -ms-writing-mode: tb-lr; }

.f10 {font-size:10px;}
.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;}
.f21 {font-size:21px;}
.f22 {font-size:22px;}
.f23 {font-size:23px;}
.f24 {font-size:24px;}
.f27 {font-size:27px;}
.f30 {font-size:30px;}
.f33 {font-size:33px;}
.f36 {font-size:36px;}
.f39 {font-size:39px;}
.f40 {font-size:40px;}
.f42 {font-size:42px;}
.f44 {font-size:44px;}
.f45 {font-size:45px;}
.f60 {font-size:60px;}

.lh100 { line-height:100%; }
.lh105 { line-height:105%; }
.lh115 { line-height:115%; }
.lh125 { line-height:125%; }
.lh135 { line-height:135%; }
.lh150 { line-height:150%; }
.lh160 { line-height:160%; }
.lh175 { line-height:175%; }
.lh180 { line-height:180%; }
.lh200 { line-height:200%; }
.lh220 { line-height:220%; }
.lh235 { line-height:235%; }
.lh250 { line-height:250%; }
.lh300 { line-height:300%; }


/*==================================================================================================

        タイトル

===================================================================================================*/

.white { color:#FFF !important; }
.white .en { color:#FFF; }
.red { color:#800000;}
.brown {color:#85583F; }
.gold {color:#DFB73E; }
.white .gold {color:#DFB73E; }

.mark {background:linear-gradient(transparent 60%, #FCE989 60%);}

.under_ttl {
        padding-bottom:.5rem;
        border-bottom:1px solid #707070;
        }

.dotted_ttl {
        padding-bottom:.25rem;
        border-bottom:2px dotted #3A0D22;
        }
.lead {
        position: relative;
        width:100%;
        overflow: hidden;
        }
        .lead:after {
        content:"";
        position: absolute;
        display: inline-block;
        top:50%;
        transform: translateY(-50%);
        width:100%;
        height:1px;
        background:#707070;
        margin-left:1.5rem;
        }
        .lead.center:after {
        display: block;
        margin-left:0;
        }
        .lead.center span {
        position: relative;
        display: inline-block;
        background:#FFF;
        padding:0 2rem;
        z-index: 1;
        }
.label_ttl {
        background: rgba(55,53,52,.1);
        padding:.5rem 1rem;
        box-sizing: border-box;
        line-height: 135%;
        border-radius: 5px;
        }

.th45 img { height:45px; width:auto; }


