@charset "UTF-8";

.en { font-optical-sizing: auto; letter-spacing: 0; font-weight:400; }

.serif { font-family: "Shippori Mincho B1", serif; font-weight:700; }

/*==================================================================================================

       リセット

===================================================================================================*/

        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;
        }
        :root ul {
        letter-spacing: -1px;
        word-spacing: -1px;
        }
        li { 
        letter-spacing: normal;
        word-spacing: normal;
        *display: inline;
        *zoom: 1;
        }
        figure { margin:0;}
        figure video { max-width: 100%;}
        img,iframe	{ vertical-align:bottom;}

/*==================================================================================================

       RSS 共通設定

===================================================================================================*/

        .kanri { padding:1rem 0; text-align: right; font-size:13px; }
        .kanri a {
        display: inline-block;
        padding: 6px 1rem;
        border: 1px solid rgba(0,0,0,.4);
        line-height: 1;
        border-radius: 4px;
        opacity: .7;
        }
        .kanri a:hover { opacity: .4; }
        
/*==================================================================================================

       メイン設定

===================================================================================================*/

html { -webkit-text-size-adjust: 100%; }
html,body { width:100%; min-width: 320px; *width:320px; font-size:16px; }
body {
        background: #fff repeat;
        font-family: "Noto Sans JP", sans-serif;
        letter-spacing:0.05em;
        color:#2B2E2D;
        font-weight:500;
        text-align:left;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        line-height:200%;
        font-feature-settings: "palt" 1;
        }
        @media only screen and (max-width: 767px) {
        body { background:#fff repeat; }
        }

        .wrapper    { overflow:hidden;}
        article		{ position:relative; width:100%; z-index: 0;}
        section		{ position:relative; }
        main        { display: block; position: relative; z-index: 1; }

        .section-ll	{ padding-top:22rem; padding-bottom:22rem; }
        .section-l	{ padding-top:20rem; padding-bottom:20rem; }
        .section	{ padding-top:16rem; padding-bottom:16rem; }
        .section-m	{ padding-top:10rem; padding-bottom:10rem; }
        .section-s	{ padding-top:7rem; padding-bottom:7rem; }
        .section-ss	{ padding-top:4rem; padding-bottom:4rem; }
        .section-sss	{ padding-top:2.75rem; padding-bottom:2.75rem; }

        .second  	{ padding-top:0 !important; }

        .outer-l	{ padding-left:5vw; padding-right:5vw; box-sizing:border-box; }
        .outer		{ padding-left:4vw; padding-right:4vw; box-sizing:border-box; }
        .outer-middle{ padding-left:2.78vw; padding-right:2.78vw; box-sizing:border-box; }
        .outer-thin	{ padding-left:20px; padding-right:20px; box-sizing:border-box; }

        .inner-wrap    { padding:4% 4% 0; box-sizing:border-box; }
        .inner-wrap-s  { padding:2% 2%; box-sizing:border-box; }
        .box-inner     { padding: 0 1rem; box-sizing: border-box; }

        .inner-outer-l  { box-sizing:border-box; padding-left:8%; padding-right:8%; }
        .inner-outer    { box-sizing:border-box; padding-left:24px; padding-right:24px; }
        .inner-outer-s  { box-sizing:border-box; padding-left:3%; padding-right:3%; }

        .inner-5p       { box-sizing:border-box; padding-left: 5%; padding-right: 5%; }
        .inner-7p       { box-sizing:border-box; padding-left: 7%; padding-right: 7%; }
        .inner-9p       { box-sizing:border-box; padding-left: 9%; padding-right: 9%; }
        .inner-12p      { box-sizing:border-box; padding-left:12%; padding-right:12%; }
        .inner-15p      { box-sizing:border-box; padding-left:15%; padding-right:15%; }
        .inner-16p      { box-sizing:border-box; padding-left:16%; padding-right:16%; }
        .inner-17p      { box-sizing:border-box; padding-left:17%; padding-right:17%; }
        .inner-18p      { box-sizing:border-box; padding-left:18%; padding-right:18%; }


        .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.03em; line-height: 180%; font-weight:600; font-family: "Shippori Mincho B1", serif; }
        
        h1.en,h2.en,h3.en,h4.en,h5.en {  }
        .white h2,.white h3 { color:#FFF;}
        h1 a,h2 a,h3 a,h4 a,h5 a {  }

        small { font-size:.75rem; }
        .bold { font-weight:600;}
        
        .ls0   { letter-spacing: 0; }
        .ls01  { letter-spacing: .1em; }
        .ls015  { letter-spacing: .15em; }
        .ls02  { letter-spacing: .2em; }
        .ls03  { letter-spacing: .3em; }
        .ls05  { letter-spacing: .5em; }
        
        .op5   { opacity: .05 ; }
        .op10  { opacity: .1 ; }
        .op15  { opacity: .15 ; }
        .op30  { opacity: .3 ; }
        .op50  { opacity: .5 ; }
        .op70  { opacity: .7 ; }
        .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;}
        
        .left-center    { text-align:left;}
        .center-right    { text-align:center;}
        @media screen and (max-width: 1350px) {
        html,body, .wrapper	{  }
        }
        @media screen and (max-width: 1024px) {
        html,body, .wrapper	{ font-size:16px; line-height: 200%;}
        h1,h2,h3,h4,h5      { line-height: 180%; }
        .outer-l	       { padding-left:2.5rem; padding-right:2.5rem; }
        .outer			   { padding-left:5.5vw; padding-right:5.5vw; }
        .outer-middle      { padding-left:2.78vw; padding-right:2.78vw; }
        .outer-thin	       { padding-left:17px; padding-right:17px; }
        .tablet-outer-thin { padding-left:.75rem; padding-right:.75rem; }

        .inner-wrap    { padding:4% 4% 0; }
        .inner-wrap-s  { padding:3% 3%; }
        .inner-outer   { padding-left:18px; padding-right:18px; }
        .inner-wrap.inner-tablet-none { padding:0; }
        .inner-tablet { width:100%; max-width:450px; margin: 0 auto;}
        
        .section-ll	       { padding-top:18rem; padding-bottom:18rem; }
        .section-l	       { padding-top:14rem; padding-bottom:14rem; }
        .section	       { padding-top:11rem; padding-bottom:11rem; }
        .section-m	       { padding-top:7rem; padding-bottom:7rem; }
        .section-s	       { padding-top:5rem; padding-bottom:5rem; }
        .section-ss	       { padding-top:3.5rem; padding-bottom:3.5rem; }
        .section-sss       { padding-top:2rem; padding-bottom:2rem; }
        .tab-bottom-none    { padding-bottom:0 !important;}
        
        .left-center-tab    { text-align:center;}
        .tablet-center      { margin-left: auto; margin-right: auto; text-align: center; }
        }
        @media only screen and (max-width: 767px) {
        html,body, .wrapper	{ font-size:16px; letter-spacing: 0; line-height: 190%;}
        body			{ -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;}
        h1,h2,h3,h4,h5      { line-height: 160%; }
        
        .op10.en  { opacity: .2 ; }
        
        .section-ll	    { padding-top:13rem; padding-bottom:13rem; }
        .section-l	    { padding-top:9.5rem; padding-bottom:9.5rem; }
        .section	    { padding-top:10rem; padding-bottom:10rem; }
        .section-m	    { padding-top:6.5rem; padding-bottom:6.5rem; }
        .section-s	    { padding-top:5rem; padding-bottom:5rem; }
		.index-section-00{ padding-top:1rem!important; }
        .section-ss	    { padding-top:3.5rem; padding-bottom:3.5rem; }
        .section-sss    { padding-top:1.5rem; padding-bottom:1.5rem; }
        .sp-bottom-none    { padding-bottom:0 !important;}
        .sp-section-s	    { padding-top:3rem; padding-bottom:3rem; }

        .outer-l	    { padding-left:24px; padding-right:24px; }
        .outer			{ padding-left:8vw; padding-right:8vw; }
        .outer-middle   { padding-left:4vw; padding-right:4vw; }
        .outer-thin	    { padding-left:2.5vw; padding-right:2.5vw; }
        .tablet-outer-thin	       { padding-left:7px; padding-right:7px; }
        
        .sp-inner      { padding-left:12px; padding-right:12px; box-sizing: border-box; }
        .sp-outer      { padding-left:27px; padding-right:27px; box-sizing: border-box; }

        .outer-thin .outer-thin	    { padding-left:14px; padding-right:14px; }
        .outer-left		{ padding-left:24px; }
        
        .sp-outer-none { padding-left:0; padding-right:0; }
        .outer.sp-outer-none  { padding-left:0; padding-right:0; }
        
        .inner-wrap    { padding:6% 4% 0; }
        .outer-thin .inner-wrap { padding:6% 5vw 0; }
        .inner-wrap-s  { padding:3% 4% 2%; }
        .inner-wrap-tablet    { padding:21px 0 0; }
        .box-inner     { padding: 1rem; }

        .inner-outer   { padding-left:12px; padding-right:12px; }
        .inner-outer-s   { padding-left:12px; padding-right:12px; }
        .inner-outer-sp   { padding-left:12px; padding-right:12px; box-sizing: border-box; }
        .outer-thin .inner-outer   { padding-left:5vw; padding-right:5vw; }
        .outer-thin.sp-outer-none { padding-left:0; padding-right:0; }
        
        .sp-center     { text-align: center !important; }
        .float-r.sp-center { float:none; margin-left: auto; margin-right:auto; }
        .float-l.sp-center { float:none; padding:0 0 5px;  }
        .center-left    { text-align:left;}
        .left-center    { text-align:center;}
        .center-right    { text-align:right;}
        .sp-margin-auto { margin-left:auto; margin-right:auto; }
        }
        @media only screen and (max-width:374px) {
        html,body, .wrapper	{ font-size:14px; }
        }

/*==================================================================================================

       Link

===================================================================================================*/

a {
        text-decoration:none;
        color:#2B2E2D;
        cursor:pointer;
        opacity: 1;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        }
        a:hover {
        opacity: .7;
        }
        .news-item-box a:hover {
        opacity: 1;
        }
        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 )";
        }
        a .white { color:#FFF; }

.mobile-link-b a {
        color:#2B2E2D;
        display: inline-block;
        }
        .mobile-link-w a {
        color:#FFF;
        display: inline-block;
        }

        .link { padding-bottom:.125rem ; border-bottom:2px solid #2B2E2D;  font-weight: 700; color:#2B2E2D; }
        .link:hover { border-bottom:1px solid #555; color:#555; }
        .bg-black .link { color:#FFF; border-bottom:1px solid #FFF; }
        .bg-black .link:hover { color:#CCC; border-bottom:1px solid #CCC; }


/*==================================================================================================

       ボタン

===================================================================================================*/

.more {
        position:relative;
        width:100%;
        height:50px;
        }
        .more a {
        width:100%;
        height:50px;
        line-height:50px;
        text-align: center;
        color:#FFF;
        border-radius:0px;
        box-sizing: border-box;
        background:#2B2E2D;
        overflow: hidden;
        font-weight:400;
        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 a span { position: relative; display: inline-block; padding-right:1.75rem; }
        .more a span:after {
        content:"→";
        display: block;
        position: absolute;
        right:0;
        top:0;
        }
        .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:rgba(255,255,255,.35);
        }      
        .more a:hover {
        opacity:1;
        }
        .more a:hover:after {
        left: 0;
        width: 100%;
        }
        .more.w270 { max-width:270px; }
        .more.more-large { height:90px; }
        .more.more-large a { height:90px; line-height: 88px; border-radius: 45px; background:#FFF; }

        .more.more-black a { background: #4B4A49; color:#FFF; }

        @media only screen and (max-width:1024px) {
        .more { height:48px; }
        .more a { height:48px; line-height: 48px; }
        }
        @media only screen and (max-width:767px) {
        .more { max-width:100%; height:46px; }
        .more a { height:46px; line-height: 46px; }
        }

.more-sns {
        position:relative;
        width:100%;
        height:80px;
        overflow: hidden;
        }
        .more-sns a {
        width:100%;
        height:80px;
        line-height:1;
        text-align: center;
        border-radius:2px;
        box-sizing: border-box;
        background: url("https://habusou.com/assets/images/parts/brown-btn.jpg") center center / cover;
        color:#FFF;
        overflow: hidden;
        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-sns 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,.2);
        }      
        .more-sns a:hover {
        opacity:1;
        }
        .more-sns a:hover:after {
        left: 0;
        width: 100%;
        }
        .more-sns a img { height:30px; width:auto; position: absolute; top:50%; left:50%; transform: translate(-50%,-50%); }

        @media only screen and (max-width:1024px) {
        .more-sns { height:66px; }
        .more-sns a { height:66px; }
        .more-sns a img { height:28px; }
        }
        @media only screen and (max-width:767px) {
        .more-sns { height:56px; }
        .more-sns a { height:56px; }
        .more-sns a img { height:26px; }
        }


.more-link {
        position:relative;
        width:100%;
        height:46px;
        }
        .more-link  a {
        width:100%;
        height:46px;
        line-height:44px;
        text-align: center;
        border-radius:3px;
        border:1px solid rgba(0,0,0,.4);
        box-sizing: border-box;
        color:#222;
        overflow: hidden;
        font-weight:600;
        font-size:15px;
        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:#111;
        }      
        .more-link  a:hover {
        opacity:1;
        color:#FFF;
        }
        .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:2px;
        background:#363531;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .more-under a:hover:before {
        width:125%;
        background:#476747;
        }
        .more-under a:hover { 
        opacity:1;
        color:#476747;
        }
        
        .more-under.more-white a { color:#FFF; }
        .more-under.more-white a:before { background:#FFF;}
        .more-under.more-white a:after { background:#FFF;}
        .more-under.more-white a:hover {  color:#DDD; }
        @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:130%;
        padding-top:20px;
        text-align: center;
        border-radius: 1px;
        background:#2B2E2D;
        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 span { opacity:.6; }
        .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:#37924F;
        }      
        .more-tab a:hover {
        opacity:1;
        color:#FFF;
        }
        .more-tab a:hover:after {
        left: 0;
        width: 100%;
        }
        @media only screen and (max-width:767px) {
        .more-tab { height:75px; }
        .more-tab a { height:75px; font-size:14px; }
        }
        @media only screen and (max-width:374px) {
        .more-tab { height:73px; }
        .more-tab a { height:73px; font-size:13px; }
        }

.more-arrow {
        }
.more-arrow a {
        position: relative;
        display:inline-block;
        padding: 0 5rem 0 0;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .att-black .more-arrow a { color:#FFF; }
        .more-arrow a:after {
        content:"";
        display:inline-block;
        position: absolute;
        top:50%;
        margin-left:1rem;
        width:3.25rem;
        height:1px;
        background:#C09D68;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .more-arrow a:hover {
        padding-right:5.5rem;
        opacity:1;
        color:#C09D68;
        }
        .more-arrow a:hover:after {
        padding-left:1.25rem;
        }



/*==================================================================================================

       table

===================================================================================================*/

.table-a {
        width:100%;
        border-collapse:collapse;
        border-spacing:0px;
        text-align:left;
        letter-spacing:0;
        box-sizing: border-box;
        line-height: 150%;
        font-size:1rem;
        font-weight:500;
        border-top:1px solid rgba(0,0,0,.25);
        }
        .table-a tr { border-bottom:1px solid rgba(0,0,0,.25); }
        .table-a th {
        padding: .85rem 1rem;
        vertical-align: middle;
        font-weight:700;
        text-align:left; 
        }
        .table-a td {
        position: relative;
        padding:.85rem 1rem;
        font-weight:500;
        vertical-align: middle;
        text-align:right;
        }
        .table-a.th-center th { text-align: center;}
        .table-a.td-right td { text-align: right;}
        .table-a.th-right th { text-align: right;}
        .table-a.center td,.table-a.center th { text-align: center;}



.table-b {
        width:100%;
        border-collapse:collapse;
        border-spacing:0px;
        text-align:left;
        letter-spacing:0;
        box-sizing: border-box;
        border-radius: 4px;
        line-height: 170%;
        font-size:1rem;
        }
        .table-b th {
        padding:.85rem 1.25rem .85rem 1.25rem;
        vertical-align: middle;
        font-weight:500;
        text-align:center;
        background:#116845;
        border: 1px solid rgba(255,255,255,.7);
        color:#FFF;
        }
        .table-b td {
        padding:.85rem 1.25rem .85rem 1.25rem;
        text-align:left;
        vertical-align: middle;
        background:#F0F9F6;
        border: 1px solid rgba(0,0,0,.5);
        }
        
        .bg-ivory .table-b td { background: rgba(255,255,255,.6); }

        .table-b th.center { text-align:center;}
        .table-b.td-right td { text-align: right;}
        .table-b.th-right th { text-align: right;}
        .table-b.th-center th { text-align: center;}
        .table-b th.right { text-align: right;}
        .table-b.center td,.table-b.center th { text-align: center;}


.table-c {
        width:100%;
        border-collapse:collapse;
        border-spacing:0px;
        text-align:left;
        letter-spacing:0;
        box-sizing: border-box;
        line-height: 170%;
        font-size:1rem;
        }
        .table-c th {
        padding:1.75rem;
        vertical-align: middle;
        font-weight:500;
        text-align:center;
        color:#FFF;
        background:#719A52;
        border: 1px solid rgba(255,255,255,.2);
        }
        .table-c td {
        padding:1.75rem 2rem;
        text-align:left;
        vertical-align: middle;
        background:rgba(255,255,255,.65);
        border: 1px solid rgba(23,24,24,.2);
        border-radius: 2px;
        }
        

        .table-c th.center { text-align:center;}
        .table-c.td-right td { text-align: right;}
        .table-c.th-right th { text-align: right;}
        .table-c.th-center th { text-align: center;}
        .table-c th.right { text-align: right;}
        .table-c.center td,.table-c.center th { text-align: center;}
        



        .table-scroll { overflow: inherit !important; }

        @media screen and (max-width: 1024px) {
        .table-a.tablet-table { border:none; }
        .table-a.tablet-table td:after { display: none; }
        .table-a.tablet-table th { width:100% !important; display: block !important; padding:.25em .75rem .25rem; box-sizing: border-box; text-align: left; border-top:none; border-bottom:none; background: rgba(0,0,0,.05); font-weight:500; }
        .table-a.tablet-table td { width:100% !important; display: block !important; padding:.5em .75rem ; box-sizing: border-box;  }
        .table-a.tablet-table tr { display: block; padding-bottom:.5rem; border:none;}
        .table-a.tablet-table tr:last-child { padding-bottom:0rem;}
        .table-a.tablet-table td:nth-of-type(2) { border-top:none;}
        
        
        .table-scroll.is-tablet { overflow: auto !important; white-space: nowrap; }
        .table-scroll.is-tablet table { margin-bottom:6px; }
        .table-scroll.is-tablet ::-webkit-scrollbar { height: 5px; }
        .table-scroll.is-tablet ::-webkit-scrollbar-track { background: #F1F1F1; }
        .table-scroll.is-tablet ::-webkit-scrollbar-thumb { background: #BCBCBC; }
        }
        @media screen and (max-width: 767px) {
        .table-a.sp-table { border:none; }
        .table-a.sp-table td:after { display: none; }
        .table-a.sp-table th { width:100% !important; display: block !important; padding:.5em .75rem .5rem; box-sizing: border-box; text-align: left; border-top:none; border-bottom:none;  font-weight:500; }
        .table-a.sp-table td { width:100% !important; display: block !important; padding:0 .75rem .5rem; box-sizing: border-box;  }
        .table-a.sp-table tr { display: block; padding:1rem 0; }
        .table-a.sp-table td:nth-of-type(2) { border-top:none;}
        
        .table-b { }
        .table-b th { padding:1em 1rem; }
        .table-b td { padding:1em 1rem; }
        
        .table-b.sp-table { border:none; }
        .table-b.sp-table th { width:100% !important; display: block !important; padding:.75em 1em; box-sizing: border-box; text-align: left; border-bottom: none; text-shadow: none; }
        .table-b.sp-table td { width:100% !important; display: block !important; padding:.75em 1em ; box-sizing: border-box;   }
        .table-b.sp-table tr { display: block; padding-bottom:1rem;}
        .table-b.sp-table tr:last-child { padding-bottom:0rem;}
        .table-b.sp-table td:nth-of-type(2) { border-top:none;}
        .table-b.sp-td-right td { text-align: right; } 
        .table-b.sp-table .table th { padding:.25rem 0; border-bottom:1px solid #777;}
        .table-b.sp-table .table td { padding:.25rem 0;}

        .bg-bk .table-b.sp-table th { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.2); border-bottom:none; color:#FFF; }
        .bg-bk .table-b.sp-table td { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.2);}


        .table-c.sp-table { border:none; }
        .table-c.sp-table th { width:100% !important; display: block !important; padding:1.5em 1em; box-sizing: border-box; text-align: left; border: 1px solid #B1ACA8; border-bottom: none; background: rgba(75,70,64,.15); color:#2B2E2D; text-shadow: none; }
        .table-c.sp-table td { width:100% !important; display: block !important; padding:1.5em 1em ; box-sizing: border-box;   }
        .table-c.sp-table tr { display: block; padding-bottom:1rem;}
        .table-c.sp-table tr:last-child { padding-bottom:0rem;}
        .table-c.sp-table td:nth-of-type(2) { border-top:none;}
        .table-c.sp-td-right td { text-align: right; } 
        .table-c.sp-table .table th { padding:.25rem 0; border-bottom:1px solid #777;}
        .table-c.sp-table .table td { padding:.25rem 0;}



        .table-menu.sp-top-none { border-top:none; }

        .table-scroll.is-mobile { overflow: auto hidden !important; white-space: nowrap; min-height: 80px; }
        .table-scroll.is-mobile table { margin-bottom:6px; }
        .table-scroll.is-mobile ::-webkit-scrollbar { height: 5px; }
        .table-scroll.is-mobile ::-webkit-scrollbar-track { background: #F1F1F1; }
        .table-scroll.is-mobile ::-webkit-scrollbar-thumb { background: #BCBCBC; }
        }

/*==================================================================================================

       dl

===================================================================================================*/

        .indent {
        padding-left:3rem;
        box-sizing: border-box;
        }

        .nomber-dl {
        display: flex;
        flex-wrap: wrap;
        line-height: 200%;
        }
        .nomber-dl dt {
        width:2rem;
        font-size:1rem;
        font-weight:700;
        color:#C09D68;
        }
        .nomber-dl dd {
        width:calc(100% - 2rem);
        }
        .checkin-dl {
        display: flex;
        flex-wrap: wrap;
        }
        .checkin-dl dt {
        width:12em;
        }
        .checkin-dl dd {
        width:calc(100% - 12em);
        }
        @media screen and (max-width: 1024px) {

        }
        @media screen and (max-width: 767px) {

        }


/*==================================================================================================

       アイコン

===================================================================================================*/

.icon-before {
        width:1.5rem;
        height:1.5rem;
        display:inline-block;
        margin-right:.65rem;
        position: relative;
        top: .25rem;
        }
        .icon-before-m {
        width:27px;
        height:27px;
        display:inline-block;
        margin-right:.75rem;
        position: relative;
        top: .5rem;
        }
        
.icon-after {
        width:1.2rem;
        height:1.2rem;
        display:inline-block;
        margin-left:.5rem;
        position: relative;
        top: .125rem;
        }
        .icon-after-s {
        width:1rem;
        height:1rem;
        display:inline-block;
        margin-left:.5rem;
        position: relative;
        top: .125rem;
        }

        .icon-phone       { background: url("https://habusou.com/assets/images/icons/icon-phone.svg") center center / cover; }
        .icon-instagram     { background: url("https://habusou.com/assets/images/parts/icon-instagram.svg") center center / cover; }
        .icon-line          { background: url("https://habusou.com/assets/images/parts/icon-line.svg") center center / cover; }
        .icon-facebook      { background: url("https://habusou.com/assets/images/parts/icon-facebook.svg") center center / cover; }
        .icon-question     { background: url("https://habusou.com/assets/images/icons/icon-question.svg") center center / cover; }
        .icon-cart     { background: url("https://habusou.com/assets/images/parts/icon-cart.svg") center center / cover; }
        .icon-map      { background: url("https://habusou.com/assets/images/icons/icon-map.svg") center center / cover; }
        .icon-air      { background: url("https://habusou.com/assets/images/icons/icon-air.svg") center center / cover; }
        .icon-bus      { background: url("https://habusou.com/assets/images/icons/icon-bus.svg") center center / cover; }
        .icon-car      { background: url("https://habusou.com/assets/images/icons/icon-car.svg") center center / cover; }
        .icon-car-w    { background: url("https://habusou.com/assets/images/icons/icon-car-w.svg") center center / cover; }
        .icon-hito      { background: url("https://habusou.com/assets/images/icons/icon-hito.svg") center center / cover; }
        .icon-pdf      { background: url("https://habusou.com/assets/images/icons/icon-pdf.svg") center center / cover; }
        .icon-check    { background: url("https://habusou.com/assets/images/icons/icon-check.svg") center center / cover; }
        .icon-train    { background: url("https://habusou.com/assets/images/icons/icon-train.svg") center center / cover; }
        .icon-train-w  { background: url("https://habusou.com/assets/images/icons/icon-train-w.svg") center center / cover; }
        .icon-link     { background: url("https://habusou.com/assets/images/icons/icon-link.svg") center center / cover; }
        .icon-link-b   { background: url("https://habusou.com/assets/images/icons/icon-link-b.svg") center center / cover; }
        .icon-link-blue  { background: url("https://habusou.com/assets/images/icons/icon-link-blue.svg") center center / cover; }
        .icon-link-w   { background: url("https://habusou.com/assets/images/icons/icon-link-w.svg") center center / cover; }
        .icon-link-chain     { background: url("https://habusou.com/assets/images/icons/icon-link-chain.svg") center center / cover; }
        .icon-link-chain-w     { background: url("https://habusou.com/assets/images/icons/icon-link-chain-w.svg") center center / cover; }
        .icon-calendar     { background: url("https://habusou.com/assets/images/parts/icon-calendar.svg") center center / cover; }

        @media all and (max-width:1024px) {
        .icon-before-m { width:27px; height:27px; }
        .icon-after { margin-left:.75rem; }
        }
        @media all and (max-width: 767px) {
        .icon-before-m { width:21px; height:21px; top: .35rem; }
        }

/*================================================
      　calendar
================================================*/

        .g-calendar iframe {
        width: 100%;
        height: 450px;
        }
        @media all and (max-width: 767px) {
        .g-calendar iframe { height: 450px; }
        }

/*================================================
      　form
================================================*/

        @media screen and (max-width: 767px) {
        .input, .textarea { font-size:16px !important;}
        }

/*================================================
      　access
================================================*/

.access-logo { width:180px; padding-bottom:.5rem}

        @media screen and (max-width: 1024px) {
        .access-logo { width:180px; }
        }
        @media screen and (max-width: 767px) {
        .access-logo { width:180px; margin-left:auto; margin-right:auto; }
        }

.access-text span {
        text-indent: 0;
        display: inline-block;
        padding: 5px 12px;
        margin: 2px 5px 4px;
        line-height: 150%;
        letter-spacing: 0;
        background: rgba(255,255,255,.5);
        border: 1px solid rgba(0,0,0,.1);
        border-radius:2px;
        }
        .access-text span:last-child { background:#0F360F; color:#FFF; border:none; }

/*================================================
      　map
================================================*/

    .map {
        position: relative;
        padding-bottom: 650px;
        height: 0;
        overflow: hidden;
        box-sizing: border-box;
        border: 1px solid #999;
        border-radius:0px;
        z-index: 2;
        }
        .map iframe,
        .map object,
        .map embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        }
    .street-view {
        position: relative;
        padding-bottom: 360px;
        height: 0;
        overflow: hidden;
        box-sizing: border-box;
        border: 1px solid #CCC;
        z-index: 20;
        }
        .street-view.large { padding-bottom:62%; }
        .street-view iframe,
        .street-view object,
        .street-view embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        }

        @media screen and (max-width: 1024px) {
        .map { padding-bottom: 450px;  border: 1px solid #999; }
        .map-s { padding-bottom: 350px; }
        }
        @media screen and (max-width: 767px) {
        .map { padding-bottom: 90%;  border: 1px solid #999; }
        .map-s { padding-bottom: 70%;  }
        .street-view { padding-bottom:60%;}
        }

/*=================================================
        Facebook Resize
==================================================*/

        .facebook-wrapper {
        max-width: 500px;
        margin: 0 auto;
        }
        .facebook-wrapper > .fb-page {
        width: 100%;
        }
        .facebook-wrapper > .fb-page > span,
        .facebook-wrapper iframe {
        width: 100% !important;
        }

/*================================================
      　youtube
================================================*/

.youtube {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
        box-sizing: border-box;
        }
        .youtube iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        }


/*================================================
      　list
================================================*/

.nomber-list {
        margin-left:1.5rem;
        }
        .nomber-list li {
        padding: .5em 0;
        position: relative;
        list-style-type: decimal;
        }
        .nomber-list li:before {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left:-1.5rem;
        width:calc(100% + 1.5rem);
        height:1px;
        background: rgba(0,0,0,.3);
        }
        .nomber-list li:last-child:after {
        content:"";
        display: block;
        position: absolute;
        bottom:0;
        left:-1.5rem;
        width:calc(100% + 1.5rem);
        height:1px;
        background: rgba(0,0,0,.3);
        }
.nomber-list-b {
        margin-left:1.5rem;
        }
        .nomber-list-b li {
        position: relative;
        list-style-type: decimal;
        }

        
.kana-list {
        padding-left: 2rem;
        }
        .kana-list li {
        padding:0 0 .5rem 0;
        position:relative;
        line-height: 160%;
        list-style-type: katakana-iroha;
        }
        
        
        
.normal-list { position: relative; line-height: 175%;}
        .normal-list li {
        padding: 0 0 0 .75rem ;
        position: relative;
        display:inline-block;
        margin-right:1rem;
        }
        .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("https://habusou.com/assets/images/parts/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;
        }
        .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("https://habusou.com/assets/images/parts/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; }
        }


.links-list {
        }
        .links-list li {
        position: relative;
        padding:.75rem 0;
        border-bottom:1px dotted #666;
        }
        .links-list li:last-child { border-bottom:none; }
        .links-list li a {
        display: block;
        position: relative;
        }

.link-list-b {
        position: relative;
        line-height: 175%;
        display: flex;
        flex-wrap: wrap;
        margin-left:-1rem;
        margin-right:-1rem;
        }
        .link-list-b li {
        width:50%;
        flex: none;
        display: block;
        box-sizing: border-box;
        padding: 0 1rem 0 1rem ;
        position: relative;
        line-height: 150%;
        }
        .link-list-b li a {
        display: block;
        position: relative;
        box-sizing: border-box;
        padding: .75rem 0 .75rem 1.5rem;
        border-bottom:1px solid rgba(0,0,0,.2);
        -webkit-transition:all .5s ease;
        transition       : all .5s ease;
        }
        .link-list-b li a:before {
        content: "";
        display:inline-block;
        position: absolute;
        left: 0;
        top:50%;
        transform: translateY(-50%);
        line-height: 150%;
        background: url("https://habusou.com/assets/images/icons/link-arrow.svg") center center / cover;
        width:13px;
        height:13px;
        -webkit-transition:all .5s ease;
        transition       : all .5s ease;
        }
        .link-list-b li:nth-child(1) a { border-top:1px solid rgba(0,0,0,.2); }
        .link-list-b li:nth-child(2) a { border-top:1px solid rgba(0,0,0,.2); }

        .link-list-b li a:hover {
        padding-left:2.25rem;
        }
        .link-list-b li a:hover:before {
        left:.75rem;
        }
        @media screen and (max-width: 1024px) {
        .link-list-b li a:before { width:12px; height:12px; }
        }
        @media screen and (max-width: 767px) {
        .link-list-b li { width:100%; }
        .link-list-b li:nth-child(2) a { border-top:none; }
        .link-list-b li a: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);
        }


.disk-list {
        }
        .disk-list li {
        position: relative;
        padding:0 0 0 1.25rem;
        }
        .disk-list li:before {
        content: "・";
        display:block;
        position: absolute;
        top:0;
        left: 0;
        font-size:1rem;
        vertical-align: middle;
        }

        .is-list-line { border-top:1px solid rgba(0,0,0,.2); }
        .is-list-line li { padding-top:.5rem; padding-bottom:.5rem; border-bottom:1px solid rgba(0,0,0,.2); }

        @media screen and (max-width: 767px) {
        .disk-list li { margin-bottom:.5em; }
        }

.kome-list {
        }
        .kome-list li {
        padding: 0;
        position: relative;
        padding-left:1.25em;
        line-height: 200%;
        }
        .kome-list li:before {
        content: "※";
        display:block;
        position: absolute;
        top: 0;
        left: 0;
        font-size:1em;
        vertical-align: middle;
        }
        .kome-list.red { color:#822421; opacity: 1; font-weight:600; }
        @media screen and (max-width: 1024px) {
        .kome-list li { line-height: 190%; }
        }
        @media screen and (max-width: 767px) {
        .kome-list li { line-height: 180%; }
        }



        .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;
        }


/*==================================================================================================

       padding margin 設定

===================================================================================================*/

        /*=================================================
                %
        ==================================================*/

        .pb-1p     { padding-bottom:1%;}
        .pb-2p     { padding-bottom:2%;}
        .pb-3p     { padding-bottom:3%;}
        .pb-4p     { padding-bottom:4%;}
        .pb-5p     { padding-bottom:5%;}
        .pb-6p     { padding-bottom:6%;}
        .pb-7p     { padding-bottom:7%;}
        .pb-8p     { padding-bottom:8%;}
        .pb-9p     { padding-bottom:9%;}
        .pb-10p     { padding-bottom:10%;}
        .pb-11p     { padding-bottom:11%;}
        .pb-12p     { padding-bottom:12%;}
        .pb-13p     { padding-bottom:13%;}
        .pb-14p     { padding-bottom:14%;}
        .pb-15p     { padding-bottom:15%;}
        
        .pt-1p     { padding-top:1%;}
        .pt-2p     { padding-top:2%;}
        .pt-3p     { padding-top:3%;}
        .pt-4p     { padding-top:4%;}
        .pt-5p     { padding-top:5%;}
        .pt-6p     { padding-top:6%;}

        /*=================================================
                px
        ==================================================*/


        .pb-1px     { padding-bottom:1px;}
        .pb-2px     { padding-bottom:2px;}
        .pb-3px     { padding-bottom:3px;}
        .pb-4px     { padding-bottom:4px;}
        .pb-5px     { padding-bottom:5px;}

        .mb-1px     { margin-bottom:1px;}
        .mb-2px     { margin-bottom:2px;}
        .mb-3px     { margin-bottom:3px;}
        .mb-4px     { margin-bottom:4px;}
        .mb-5px     { margin-bottom:5px;}

        /*=================================================
                em
        ==================================================*/

        .pt-05em	{ padding-top:.5rem;}
        .pt-1em		{ padding-top:1rem;}
        .pt-1hem	{ padding-top:1.5rem;}
        .pt-1h-1    { padding-top:1.5rem;}
        .pt-2em		{ padding-top:2rem;}
        .pt-3em		{ padding-top:3rem;}
        .pt-4em		{ padding-top:4rem;}
        .pt-5em		{ padding-top:5rem;}
        .pt-1-0		{ padding-top:1rem;}
        .pt-1-05		{ padding-top:1rem;}
        .pt-2-0		{ padding-top:2rem;}
        .pt-2-1h	{ padding-top:2rem;}
        .pt-2-1		{ padding-top:2rem;}
        .pt-3-2		{ padding-top:3rem;}
        .pt-3-3-0	{ padding-top:3rem;}
        .pt-4-0  	{ padding-top:4rem;}
        .pt-4-2  	{ padding-top:4rem;}
        .pt-4-3  	{ padding-top:4rem;}



        
        .pb-0-1 	{ padding-bottom:0rem;}
        .pb-0-1h	{ padding-bottom:0rem;}
        .pb-025em	{ padding-bottom:.25rem;}
        .pb-05em	{ padding-bottom:.5rem;}
        .pb-075em	{ padding-bottom:.75rem;}
        .pb-05-0	{ padding-bottom:.5rem;}
        .pb-05-025	{ 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-1-0  	{ padding-bottom:1rem;}
        .pb-1-025	{ padding-bottom:1rem;}
        .pb-1-05	{ padding-bottom:1rem;}
        .pb-1h-0  	{ padding-bottom:1.5rem;}
        .pb-1h-05  	{ padding-bottom:1.5rem;}
        .pb-1h-1  	{ padding-bottom:1.5rem;}
        .pb-2-0		{ padding-bottom:2rem;}
        .pb-2-05	{ padding-bottom:2rem;}
        .pb-2-1		{ padding-bottom:2rem;}
        .pb-2-1h	{ padding-bottom:2rem;}
        .pb-2h-1	{ padding-bottom:2.5rem;}
        .pb-2h-1h	{ padding-bottom:2.5rem;}
        .pb-2h-2	{ padding-bottom:2.5rem;}
        .pb-220	    { padding-bottom:2rem;}
        .pb-221	    { padding-bottom:2rem;}
        .pb-3-0		{ padding-bottom:3rem;}
        .pb-3-1		{ padding-bottom:3rem;}
        .pb-3-1h	{ padding-bottom:3rem;}
        .pb-3-2		{ padding-bottom:3rem;}
        .pb-3-2h	{ padding-bottom:3rem;}
        .pb-3-4		{ padding-bottom:3rem;}
        .pb-4-0		{ padding-bottom:4rem;}
        .pb-4-2		{ padding-bottom:4rem;}
        .pb-4-3		{ padding-bottom:4rem;}
        .pb-5-2		{ padding-bottom:5rem;}
        .pb-5-3		{ padding-bottom:5rem;}
        .pb-5-4		{ padding-bottom:5rem;}
        .pb-6-2		{ padding-bottom:6rem;}
        .pb-880		{ padding-bottom:8rem;}
        .pb-1px     { padding-bottom:1px;}
        .pb-10px    { padding-bottom:10px;}

        .pl-05em    { padding-left:.5rem; }
        .pl-05-0    { padding-left:.5rem; }
        .pl-1em     { padding-left:1rem; }
        .pl-1-0     { padding-left:1rem; }
        .pl-1hem    { padding-left:1.5rem; }
        .pl-2em     { padding-left:2rem; }
        .pl-2-0     { padding-left:2rem; }
        .pl-2-1-0     { 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;}
        .mt-4-2		{ margin-top:4rem;}
        .mt-10-5	{ margin-top:10rem;}
        
        .mt-3-0     { margin-top:3rem; }

        .mb-025em	{ margin-bottom:.25rem;}
        .mb-05em	{ margin-bottom:.5rem;}
        .mb-075em	{ margin-bottom:.75rem;}
        .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;}
        .mb-1-0		{ margin-bottom:1rem;}
        .mb-1-05		{ margin-bottom:1rem;}
        .mb-1h-1	{ margin-bottom:1.5rem;}
        .mb-2-0		{ margin-bottom:2rem;}
        .mb-2-1		{ margin-bottom:2rem;}
        .mb-2-1h	{ margin-bottom:2rem;}
        .mb-2h-2	{ margin-bottom:2.5rem;}
        .mb-3-0		{ margin-bottom:3rem;}
        .mb-3-1		{ margin-bottom:3rem;}
        .mb-3-2		{ margin-bottom:3rem;}
        .mb-3-4		{ margin-bottom:3rem;}
        .mb-4-2		{ margin-bottom:4rem;}
        .mb-4-3		{ margin-bottom:4rem;}
        .mb-543		{ margin-bottom:5rem;}
        .mb-6-4		{ margin-bottom:6rem;}
        .mb-1-1-05		{ margin-bottom:1rem;}
        .mb-2-2-1		{ margin-bottom:2rem;}

        .mr-1em     { margin-right: 1rem ; }
        .mr-2em     { margin-right: 2rem ; }

        @media only screen and (max-width: 1024px) {
        .pt-1-0		{ padding-top:.5rem;}
        .pt-2-1		{ padding-top:1rem;}
        .pt-3-2		{ padding-top:2rem;}
        .pt-3-3-0	{ padding-top:3rem;}
        .tab-pt-1em	{ padding-top:1rem;}
        .tab-pt-2em	{ padding-top:2em;}
        .pt-4-2  	{ padding-top:3rem;}
        .pt-4-3  	{ padding-top:3.5rem;}
        
        .pl-2-1-0     { padding-left:1rem; }
        .pl-1-0     { padding-left:.5rem; }

        .pb-05-0	{ padding-bottom:.25rem;}
        .pb-05-025	{ padding-bottom:.375rem;}
        .pb-1-0		{ padding-bottom:.5rem;}
        .pb-1-025	{ padding-bottom:.5rem;}
        .pb-1-05	{ padding-bottom:.5rem;}
        .pb-1h-05  	{ padding-bottom:1rem;}
        .pb-1h-1  	{ padding-bottom:1rem;}
        .pb-2-0		{ padding-bottom:0rem;}
        .pb-2-1		{ padding-bottom:1rem;}
        .pb-2-1h	{ padding-bottom:1.75rem;}
        .pb-2h-1	{ padding-bottom:1.5rem;}
        .pb-2h-1h	{ padding-bottom:2rem;}
        .pb-2h-2	{ padding-bottom:2.25rem;}
        .pb-220	    { padding-bottom:2rem;}
        .pb-3-0		{ padding-bottom:2rem;}
        .pb-3-1		{ padding-bottom:2rem;}
        .pb-3-1h	{ padding-bottom:2rem;}
        .pb-3-2		{ padding-bottom:2rem;}
        .pb-3-2h	{ padding-bottom:2.75rem;}
        .pb-3-4		{ padding-bottom:4rem;}
        .pb-4-2		{ padding-bottom:3rem;}
        .pb-4-3		{ padding-bottom:3.5rem;}
        .pb-5-2		{ padding-bottom:2rem;}
        .pb-5-3		{ padding-bottom:4rem;}
        .pb-4-0		{ padding-bottom:3rem;}
        .pb-6-2		{ padding-bottom:4rem;}

        .mt10p      { margin-top:0%; }

        .mb-1-0		{ margin-bottom:0rem;}
        .mb-2-0		{ margin-bottom:0rem;}
        .mb-2-1		{ margin-bottom:1rem;}
        .mb-2h-2	{ margin-bottom:2.25rem;}
        .mb-3-1		{ margin-bottom:2rem;}
        .mb-3-2		{ margin-bottom:2rem;}
        .mb-3-4		{ margin-bottom:4rem;}
        .mb-4-2		{ margin-bottom:3rem;}
        .mb-4-3		{ margin-bottom:3.5rem;}
        .mb-543		{ margin-bottom:4rem;}
        .mb-6-4		{ margin-bottom:5rem;}
        .mb-1-1-05		{ margin-bottom:1rem;}
        .mb-2-2-1		{ margin-bottom:2rem;}
        
        .tablet-pt-1hem { padding-top:1.5rem; }
        }

        @media only screen and (max-width: 767px) {
        .pt-1-0		{ padding-top:0rem;}
        .pt-1-05		{ padding-top:.5rem;}
        .pt-1h-1    { padding-top:1rem;}
        .pt-2-0		{ padding-top:0rem;}
        .pt-2-1h	{ padding-top:1.5rem;}
        .pt-3-3-0	{ padding-top:0rem;}
        .sp-pt-1em	{ padding-top:1rem;}
        .pt-4-0  	{ padding-top:0rem;}
        .pt-4-2  	{ padding-top:2rem;}
        .pt-4-3  	{ padding-top:3rem;}

        .pb-0-1 	{ padding-bottom:1rem;}
        .pb-0-1h	{ padding-bottom:1.5rem;}
        .pb-05-0	{ padding-bottom:0;}
        .pb-05-025	{ padding-bottom:.25rem;}
        .pb-1-0		{ padding-bottom:0rem;}
        .pb-1-025	{ padding-bottom:.25rem;}
        .pb-1h-0  	{ padding-bottom:0rem;}
        .pb-1h-05  	{ padding-bottom:.5rem;}
        .pb-2-05	{ padding-bottom:.5rem;}
        .pb-2h-1	{ padding-bottom:1rem;}
        .pb-2-1h	{ padding-bottom:1.5rem;}
        .pb-2h-1h	{ padding-bottom:1.5rem;}
        .pb-2h-2	{ padding-bottom:2rem;}
        .pb-3-0		{ padding-bottom:0rem;}
        .pb-3-1h	{ padding-bottom:1.5rem;}
        .pb-3-2h	{ padding-bottom:2.5rem;}
        .pb-4-0		{ padding-bottom:0rem;}
        .pb-4-2		{ padding-bottom:2rem;}
        .pb-4-3		{ padding-bottom:3rem;}
        .pb-5-3		{ padding-bottom:3rem;}
        .pb-5-4		{ padding-bottom:4rem;}
        .pb-3-1		{ padding-bottom:1rem;}
        .pb-220 	{ padding-bottom:0rem;}
        .pb-221	    { padding-bottom:1rem;}
        .pb-6-2		{ padding-bottom:2rem;}
        .pb-880		{ padding-bottom:0rem;}
        
        .pl-05-0    { padding-left:0rem; }
        .pl-1-0     { padding-left:0rem; }
        .pl-2-0     { padding-left:0rem; }
        .pl-2-1-0     { padding-left:0rem; }
        
        .sp-pb-1em  { padding-bottom:1rem; }
        .sp-pb-2em  { padding-bottom:2rem; }

        .mt-4-2		{ margin-top:2rem;}
        .mt-10-5	{ margin-top:4rem;}

        .mr10p      { margin-right:0%;}
        .mr20p      { margin-right:0;}
        .ml10p      { margin-left:0%;}
        .ml20p      { margin-left:0%;}

        .mb-1-05		{ margin-bottom:.5rem;}
        .mb-1h-1	{ margin-bottom:1rem;}
        .mb-3-0		{ margin-bottom:0rem;}
        .mb-3-1		{ margin-bottom:1rem;}
        .mb-2-1h	{ margin-bottom:1.5rem;}
        .mb-2h-2	{ margin-bottom:2rem;}
        .mb-4-2		{ margin-bottom:2rem;}
        .mb-4-3		{ margin-bottom:3rem;}
        .mb-543		{ margin-bottom:3rem;}
        .mb-6-4		{ margin-bottom:4rem;}
        
        .mt-3-0     { margin-top:0rem; }
        .sp-pl-none { padding-left:0;}
        }

/*==================================================================================================

       Width ( wrap + wrap-1200 )

===================================================================================================*/

        .wrap       { width:100%; margin-left:auto; margin-right:auto; position: relative; z-index:0; }

        .wrap-2400  { max-width:2400px; }
        .wrap-2000  { max-width:2000px; }
        .wrap-1900  { max-width:1900px; }
        .wrap-1800  { max-width:1800px; }
        .wrap-1700  { max-width:1700px; }
        .wrap-1600  { max-width:1600px; }
        .wrap-1500  { max-width:1500px; }
        .wrap-1460  { max-width:1460px; }
        .wrap-1400  { max-width:1400px; }
        .wrap-1300  { max-width:1300px; }
        .wrap-1260  { max-width:1260px; }
        .wrap-1200  { max-width:1200px; }
        .wrap-1120  { max-width:1120px; }
        .wrap-1100  { max-width:1100px; }
        .wrap-1050  { max-width:1050px; }
        .wrap-1000  { max-width:1000px; }
        .wrap-960   { max-width: 960px; }
        .wrap-900   { max-width: 900px; }
        .wrap-840   { max-width: 840px; }
        .wrap-800   { max-width: 800px;}
        .wrap-750   { max-width: 750px; }
        .wrap-700   { max-width: 700px; }
        .wrap-660   { max-width: 660px; }
.wrap-680   { max-width: 680px; }
        .wrap-650   { max-width: 650px; }
        .wrap-600   { max-width: 600px; }
        .wrap-600-500   { max-width: 600px; }
        .wrap-500   { max-width: 500px; }
        .wrap-450   { max-width: 450px; }
        .wrap-400   { max-width: 400px; }
        .wrap-350   { max-width: 350px; }
        .wrap-300   { max-width: 300px; }

        .max90      { max-width:90px; width:100%;}
        .max170     { max-width:170px; width:100%; margin: 0px auto!important;}
        .max210     { max-width:210px; width:100%;}
        .max240     { max-width:240px; width:100%;}
        .max280     { max-width:280px; width:100%;}
        .max300     { max-width:300px; width:100%;}
        .max320     { max-width:320px; width:100%;}
        .max380     { max-width:380px; 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%;}
        .max550-widescreen { max-width:550px; width:100%;}
        .max800     { max-width:800px; width:100%;}
        .max900     { max-width:900px; width:100%;}
        .max1100     { max-width:1100px; width:100%;}
        .max1800     { max-width:1800px; 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%; }
        .w20p-40p { width:20%; }
        .w25p { width:25%; }
        .w30p { width:30%; }
        .w33p { width:33%; }
        .w35p { width:35%; }
        .w38p { width:38%; }
        .w50p { width:50%; }
        .w50-70p { width:50%; }

        .h100p { height:100%; }

        @media screen and (max-width: 1215px) {
        .max1000-desktop { max-width:1000px; width:100%;}
        .w50-70p { width:69%; }
        }
        @media screen and (max-width: 1024px) {
        .wrap { max-width:750px; }
        .wrap-700   { max-width: 700px; }
        .wrap-600   { max-width: 600px; }
        .wrap-600-500   { max-width: 500px; }
        .wrap-500   { max-width: 500px; }
        .wrap-450   { max-width: 450px; }
        .wrap-400   { max-width: 400px; }
        .wrap-300   { max-width: 300px; }
        .tablet-max500 { max-width:500px; }
        
        .wrap-600-tablet   { max-width: 600px; }
        .w500-tablet { max-width:500px; margin-left:auto; margin-right:auto; }
        }
        @media only screen and (max-width: 767px) {
        .wrap { max-width:375px; }
        .wrap-300   { max-width: 300px; }
        .sp-wauto th.w50p { width: auto; }
        .sp-w9em { width: 9em;}
        .w20p-35p { width:35%; }
        }

/*==================================================================================================

       Other

===================================================================================================*/

figcaption {
        font-size:1rem;
        padding:0;
        }
.hidden { overflow: hidden; }
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; }
        
        @media screen and (max-width: 767px) {
        .sp-z2 { position: relative; z-index: 2; }
        }
        
        .relative { position: relative;}
        
        .hidden { overflow: hidden; }

        .radius,
        .radius video,
        .radius img { border-radius: 30px; }
        .radius-s,
        .radius-s img { border-radius: 20px; }
        .radius-ss,
        .radius-ss img { border-radius: 10px; }
        @media screen and (max-width: 1024px) {
        .radius,
        .radius video,
        .radius img { border-radius: 24px; }
        .radius-s,
        .radius-s img { border-radius: 16px; }
        .radius-ss,
        .radius-ss img { border-radius: 7px; }
        }
        @media screen and (max-width: 767px) {
        .radius,
        .radius video,
        .radius img { border-radius: 15px; }
        .radius-s,
        .radius-s img { border-radius: 10px; }
        .radius-ss,
        .radius-ss img { border-radius: 4px; }
        .sp-radius-none,.sp-radius-none img { border-radius: 0; }
        }
.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: 1.5rem auto;
        height:1px;
        background:rgba(0,0,0,.4);
        width:100%;
        max-width:1300px;
        z-index: 1;
        opacity: .7;
        }
        @media screen and (max-width: 1024px) {
        hr.line {  }
        }
        @media screen and (max-width: 767px) {
        hr.line { }
        }

/*==================================================================================================

      　slick slider

===================================================================================================*/

.slide-caption {
        position: absolute;
        bottom:0;
        left:0;
        width:100%;
        padding:.75rem 1rem;
        box-sizing: border-box;
        background: rgba(0,0,0,.4);
        color:#FFF;
        text-align: right;
        line-height: 125%;
        z-index: 1;
        }
.slick-wrap {
        position: relative;
        width:100%;
        z-index: 0;
        }
        .slick-wrap.h66p:after {
        content: "";
        display: block;
        padding-bottom:66.666666%;
        }
        .slick-wrap.h55p:after {
        content: "";
        display: block;
        padding-bottom:55.55555%;
        }
        .slick-wrap.h60p:after {
        content: "";
        display: block;
        padding-bottom:60%;
        }
        .slick-wrap.h62p:after {
        content: "";
        display: block;
        padding-bottom:62%;
        }
        .slick-wrap.h80p:after {
        content: "";
        display: block;
        padding-bottom:80%;
        }
        .slick-wrap .slick-inner {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        }
.slick-text {margin-bottom:45px; }
        @media screen and (max-width: 1024px) {
        .slick-text {margin-bottom:35px; }
        }
        @media screen and (max-width: 1024px) {
        .slick-text {margin-bottom:0; }
        }

/*==================================================================================================

      　flex-slider

===================================================================================================*/

.flexslider-wrap {
        position: relative;
        width:100%;
        z-index: 0;
        }
        .flexslider-wrap.h36p:after {
        content: "";
        display: block;
        padding-bottom:36%;
        }
        .flexslider-wrap.h66p:after {
        content: "";
        display: block;
        padding-bottom:66.666666%;
        }
        .flexslider-wrap.h60p:after {
        content: "";
        display: block;
        padding-bottom:60%;
        }
        .flexslider-wrap.h55p:after {
        content: "";
        display: block;
        padding-bottom:55%;
        }
        .flexslider-wrap.h80p:after {
        content: "";
        display: block;
        padding-bottom:80%;
        }
        .flexslider-wrap .flexslider {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        }
        .flexslider-tumb-margin {
        margin-bottom:9%; /* 4枚 12% サムネイル幅の比率から調整 */
        }
        @media screen and (max-width: 767px) {
        .flexslider-tumb-margin { margin-bottom:18%; }
        }
        .flex-caption {
        padding: 3px 10px;
        margin: 0;
        color: #fff;
        font-size: .975rem;
        }

/*==================================================================================================

      　hover_zoom

===================================================================================================*/

.hover-zoom__image {
        overflow: hidden;
        position: relative;
        width:100%;
        -webkit-transition: all .5s ease;
        transition: all .5s ease;
        }    
        .hover-zoom__image figure {
        -webkit-transition: all .5s ease;
        transition: all .5s ease;
        }
        .hover-zoom__image:hover figure,
        a:hover .hover-zoom__image figure {
        opacity: 1;
        -webkit-transform: scale(1.1);
        transform:         scale(1.1);
        }
        .hover-zoom__image a:hover img,
        .hover-zoom__image a:hover,
        a:hover .hover-zoom__image img,
        a:hover .hover-zoom__image {
        opacity:1;
        filter: alpha(opacity=100);
        }

/*==================================================================================================

       サムネ付きNEWS用設定

===================================================================================================*/

        .img-3by2 {
        position: relative;
        width:100%;
        height:0;
        padding-bottom:66%;
        overflow: hidden;
        }
        .img-3by2 img {
        position: absolute;
        top:50%;
        left:50%;
        transform: translate(-50%,-50%);
        width:100%;
        min-height: 100%;
        }
        .img-5by3 {
        position: relative;
        width:100%;
        height:0;
        padding-bottom:60%;
        overflow: hidden;
        }
        .img-5by3 img {
        position: absolute;
        top:50%;
        left:50%;
        transform: translate(-50%,-50%);
        width:100%;
        min-height: 100%;
        }
        .img-9by5 {
        position: relative;
        width:100%;
        height:0;
        padding-bottom:55.5555555%;
        overflow: hidden;
        }
        .img-9by5 img {
        position: absolute;
        top:50%;
        left:50%;
        transform: translate(-50%,-50%);
        width:100%;
        min-height: 100%;
        }

/*==================================================================================================

       text link

===================================================================================================*/

        .center		{ text-align:center;}
        .center-left{ text-align:center;}
        .center-left-tablet{ text-align:center;}
        .left-center{ text-align: left;}
        .left-center-tablet{ text-align: left;}
        .right-center-tablet{ text-align: right;}
        .text-l		{ text-align:left;}
        .text-r		{ text-align:right;}
        @media screen and (max-width: 1024px) {
        .center-left-tablet{ text-align: left;}
        .left-center-tablet{ text-align: center;}
        .right-center-tablet{ text-align: center;}
        }
        @media only screen and (max-width: 767px) {
        .center-left    { text-align:left;}
        .left-center    { text-align:center;}
        }

/*==================================================================================================

        テキスト

===================================================================================================*/

.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-h80  { height:  80px;}
        .tategaki-h120 { height: 120px;}
        .tategaki-h130 { height: 130px;}
        .tategaki-h140 { height: 140px;}
        .tategaki-h165 { height: 165px;}
        .tategaki-h166 { height: 166px;}
        .tategaki-h200 { height: 200px;}
        .tategaki-h210 { height: 210px;}
        .tategaki-h240 { height: 240px;}

        
        .tategaki-nomber { /* 数字のみ横 */
        display: inline;
        padding-bottom:.17em;
        -webkit-text-combine: horizontal;
        text-combine-upright: all;
        font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
        }
        .tategaki-en { text-orientation: upright; }
        .combine { /* 一部横書き　まとめるタイプ */
        -ms-text-combine-horizontal: all;
        -webkit-text-combine: horizontal;
        text-combine-upright: all;
        padding-bottom: 0.65rem; /* 必要に応じて */
        }
        
        .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;
        }
        .vertical-lr .tategaki-inner {
        -ms-writing-mode: tb-lr;
        writing-mode: vertical-lr;
        }
        
        .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; }
        
        
        @media screen and (max-width: 1350px) {
        .tategaki-h80  { height:  70px;}
        .tategaki-h120 { height: 105px;}
        .tategaki-h130 { height: 122px;}
        .tategaki-h166 { height: 152px;}
        .tategaki-h200 { height: 180px;}
        .tategaki-h210 { height: 200px;}
        }
        
        @media screen and (max-width: 1024px) {
        .tategaki-center.tablet-yokogaki .tategaki-inner { -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; text-align: center; }
        .tategaki-center.tablet-yokogaki h2 { letter-spacing: .05em; margin-right:0; }
        .tategaki-center.tablet-yokogaki .ls02 { letter-spacing: .05em; }
        .tategaki-center.tablet-yokogaki h3 { letter-spacing: .05em; }
        .tategaki-left.tablet-yokogaki .tategaki-inner { -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; text-align: left; }
        .tategaki-left.tablet-yokogaki h2 { letter-spacing: .05em; margin-right:0; }
        .tategaki-left.tablet-yokogaki h3 { letter-spacing: .05em; }
        .tablet-yokogaki .tategaki-nomber {  font-family: "Zen Old Mincho", serif; }
        .tablet-left.tategaki-center .tategaki-outer { text-align: left; }
        .tategaki-center.tablet-yokogaki.tablet-left .tategaki-inner { text-align: left; }
        .tategaki-right.tablet-center .tategaki-outer { text-align: center; }
        
        .tategaki-h80  { height:  65px;}
        .tategaki-h120 { height:  98px;}
        .tategaki-h130 { height: 104px;}
        .tategaki-h140 { height: 130px;}
        .tategaki-h165 { height: 155px;}
        .tategaki-h166 { height: 128px;}
        .tategaki-h200 { height: 170px;}
        .tategaki-h210 { height: 165px;}
        .tategaki-h240 { height: 200px;}
        }
        @media screen and (max-width: 767px) {
        .tategaki.sp-yokogaki { -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; display: block; }
        .tategaki-center.sp-yokogaki .tategaki-inner { -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; display: block; }
        .tategaki-center.sp-yokogaki.sp-center .tategaki-inner { text-align:center; }
        .tategaki-center.sp-yokogaki .tategaki-outer { text-align: left;}
        .tategaki-center.sp-yokogaki h2 { letter-spacing: .05em; margin-right:0; }
        .tategaki-center.sp-yokogaki h3 { letter-spacing: .05em; }
        .tategaki-center.sp-yokogaki .ls02 { letter-spacing: .05em; }
        .tategaki-left.sp-yokogaki .tategaki-inner { -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; display: block; }
        .tategaki-left.sp-yokogaki.sp-center .tategaki-inner { text-align:center; }
        .tategaki-left.sp-yokogaki .tategaki-outer { text-align: left;}
        .tategaki-left.sp-center .tategaki-outer { text-align: center; }
        .tategaki-right.sp-yokogaki .tategaki-inner { -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; display: block; }
        .tategaki-right.sp-yokogaki.sp-center .tategaki-inner { text-align:center; }
        .tategaki-right.sp-yokogaki .tategaki-outer { text-align: left;}
        .sp-yokogaki .tategaki-indent { display: inline; text-indent:0; }

            .sp-tategaki-right { display: flex; align-items: flex-start; justify-content: space-between; }
            .sp-tategaki-right .tategaki-outer { text-align: right; flex: 1; }
            .sp-tategaki-right .tategaki-inner { text-align: left; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; display: inline-block; box-sizing: border-box; }
        
            .tategaki-h0-sp { height:auto; }

            .tategaki-h80  { height:  55px;}
            .tategaki-h120 { height:  88px;}
            .tategaki-h130 { height: 100px;}
            .tategaki-h140 { height: 122px;}
            .tategaki-h165 { height: 150px;}
            .tategaki-h166 { height: 125px;}
            .tategaki-h200 { height: 162px;}
            .tategaki-h210 { height: 162px;}
            .tategaki-h240 { height: 165px;}

            .sp-hfree { height: auto; }
        }




        .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;}
        .f21 {font-size:21px;}
        .f24 {font-size:24px;}
        .f27 {font-size:27px;}
        .f30 {font-size:30px;}
        .f33 {font-size:33px;}
        .f36 {font-size:36px;}
        .f39 {font-size:39px;}
        .f45 {font-size:45px;}
        .f51 {font-size:51px;}
        .f60 {font-size:60px;}
        .f69 {font-size:69px;}
        .f72 {font-size:72px;}
        .f75 {font-size:75px;}
        .f90 {font-size:90px;}
        .f120{font-size:120px;}
        .f180{font-size:180px;}

        .lh100 { line-height:100%; }
        .lh125 { line-height:125%; }
        .lh135 { line-height:135%; }
        .lh140 { line-height:140%; }
        .lh145 { line-height:145%; }
        .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%; }

        @media screen and (max-width: 1350px) {
        .f16 {font-size:15px;}
        .f17 {font-size:16px;}
        .f18 {font-size:18px;}
        .f21 {font-size:20px;}
        .f24 {font-size:22px;}
        .f27 {font-size:25px;}
        .f30 {font-size:27px;}
        .f33 {font-size:28px;}
        .f36 {font-size:30px;}
        .f39 {font-size:34px;}
        .f45 {font-size:36px;}
        .f51 {font-size:45px;}
        .f60 {font-size:50px;}
        .f69 {font-size:60px;}
        .f72 {font-size:63px;}
        .f75 {font-size:58px;}
        .f90 {font-size:81px;}
        .f180{font-size:162px;}
        }
        @media screen and (max-width: 1024px) {
        .f12 {font-size:11px;}
        .f13 {font-size:12px;}
        .f14 {font-size:12px;}
        .f15 {font-size:13px;}
        .f16 {font-size:14px;}
        .f17 {font-size:15px;}
        .f18 {font-size:17px;}
        .f21 {font-size:19px;}
        .f24 {font-size:20px;}
        .f27 {font-size:21px;}
        .f30 {font-size:24px;}
        .f33 {font-size:25px;}
        .f36 {font-size:29px;}
        .f39 {font-size:30px;}
        .f45 {font-size:32px;}
        .f51 {font-size:39px;}
        .f60 {font-size:43px;}
        .f69 {font-size:55px;}
        .f72 {font-size:32px;}
        .f75 {font-size:45px;}
        .f90 {font-size:60px;}
        .f120{font-size:90px;}
        .f180{font-size:135px;}

        .lh180 { line-height:170%; }
        .lh220 { line-height:200%; }
        .lh235 { line-height:210%; }
        .lh250 { line-height:235%; }
        .lh300 { line-height:250%; }
        }
        @media screen and (max-width: 767px) {
        .f12 {font-size:10px;}
        .f13 {font-size:11px;}
        .f14 {font-size:12px;}
        .f15 {font-size:13px;}
        .f16 {font-size:14px;}
        .f17 {font-size:15px;}
        .f18 {font-size:15px;}
        .f21 {font-size:18px;}
        .f24 {font-size:19px;}
        .f27 {font-size:20px;}
        .f30 {font-size:21px;}
        .f33 {font-size:21px;}
        .f36 {font-size:24px;}
        .f39 {font-size:26px;}
        .f45 {font-size:26px;}
        .f51 {font-size:30px;}
        .f60 {font-size:36px;}
        .f69 {font-size:40px;}
        .f72 {font-size:42px;}
        .f75 {font-size:36px;}
        .f90 {font-size:50px;}
        .f120{font-size:55px;}
        .f180{font-size:80px;}

        .lh175 { line-height:160%; }
        .lh180 { line-height:160%; }
        .lh200 { line-height:180%; }
        .lh220 { line-height:190%; }
        .lh235 { line-height:200%; }
        .lh250 { line-height:220%; }
        .lh300 { line-height:250%; }
        }
        @media screen and (max-width: 374px) {
        .f36 {font-size:22px;}
        .f27 {font-size:19px;}
        }

/*==================================================================================================

       デバイス

===================================================================================================*/

        .sp-none        { }
        .sp-on		    { display:none;}
        .sp-inline-on   { display:none;}
        .tablet-on		{ display:none;}
        .tablet-none	{ display:block; }
        .w1200-none     { display:block; }
        .w1200-on       { display:none; }
        .w1240-on       { display:none; }
        .w1240-none     { display: inline-block;}
        .w1300-none     { display:inline-block; }
        .w1300-on       { display:none; }
        .w1350-on       { display:none; }
        .w1215-on       { display:none; }
        .tablet-inline-none	{ display:inline-block; } 
        
        
        .w1650-none { display: block; }
        @media screen and (max-width:1650px) {
        .w1650-none { display: none; }
        }
        @media screen and (max-width:1500px) {
        .w1500-none { display: none; }
        }
        @media screen and (max-width: 1350px) {
        .w1350-none     { display:none; }
        .w1350-on     { display:block; }
        }
        @media screen and (max-width: 1300px) {
        .w1300-none       { display:none; }
        .w1300-on       { display:inline-block; }
        }
        @media screen and (max-width: 1270px) {
        .w1270-none     { display:none; }
        }
        @media screen and (max-width: 1240px) {
        .w1240-none     { display:none; }
        .w1240-on     { display:block; }
        }
        @media screen and (max-width: 1215px) {
        .w1215-on       { display:block; }
        }
        @media screen and (max-width: 1200px) {
        .w1200-none       { display:none; }
        .w1200-on       { display:block; }
        }
        @media screen and (max-width: 1024px) {
        .tablet-on		{ display:inherit;}
        .tablet-none	{ display:none; }
        .vertical-center.tablet-none		{ display:none;}
        .tablet-on.sp-none { display:block;}
        .tablet-none.sp-on { display:none;}
        .tablet-inline-none	{ display:none; } 
        }
        @media screen and (max-width: 767px) {
        .sp-none		{ display:none;}
        .vertical-center.sp-none		{ display:none;}
        .sp-on			{ display:inherit;}
        .sp-inline-on   { display:inline;}
        .tablet-on.sp-none { display:none;}
        .tablet-none.sp-on { display:block;}
        }



.tablet-on1024{ display:none!important;}
.tablet-none1024{ display:block!important;}

@media screen and (max-width: 1024px) {
.tablet-on1024{ display:block!important;}
.tablet-none1024{ display:none!important;}}

/*==================================================================================================

       Flex

===================================================================================================*/
 
.flex-wrap {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content:center;
        align-items: center;
        align-content:stretch;
        display: -webkit-flex;
        -webkit-flex-direction: row;
        -webkit-flex-wrap: nowrap;
        }
        .flex-wrap.is-align-stretch { /* 上端揃え */
        align-items: stretch;
        }
        .flex-wrap.is-align-start { /* 上端揃え */
        align-items: flex-start;
        }
        .flex-wrap.is-align-end { /* 下端揃え */
        align-items: flex-end;
        }
        .is-align-end { /* 親に設定 */
        align-items: flex-end;
        }
        .flex-side-center { /* 子要素の左右の中央揃え IE一部バグあり */
        display: flex;
        justify-content: center;
        }
        .flex-wrap.is-between { /* 子要素の等間隔 + 両端揃え */
        justify-content: space-between;
        }
        .flex-wrap.is-content-start { /* 子要素の等間隔 + 両端揃え */
        justify-content: flex-start;
        }
        .flex-wrap.is-content-center { /* 子要素の等間隔 + 中央揃え */
        justify-content: center;
        }
        .flex-wrap.is-wrap { /* 子要素折り返し */
        flex-wrap: wrap;
        }
    
        /* **** 子要素 **** */
        .flex {
        flex: none;
        display: block;
        flex-basis: auto;
        flex-grow: 1;
        flex-shrink: 1;
        width: 100%;
        min-width:0;
        box-sizing: border-box;
        }

        /* **** Width **** */
        .flex300    { max-width:300px; min-width:300px; width:300px; }
        .flex500    { max-width:500px; min-width:500px; width:500px; }
        .flex900    { max-width:900px; min-width:900px; width:900px; }

        .flex-1-right { margin-right:.5rem; }
        .flex-2-right { margin-right:1rem; }
        .flex-3-right { margin-right:1.5rem; }
        .flex-4-right { margin-right:2rem; }
        .flex-5-right { margin-right:2.5rem; }
        .flex-6-right { margin-right:3rem; }

        .flex-1-left { margin-left:.5rem; }
        .flex-2-left { margin-left:1rem; }
        .flex-3-left { margin-left:1.5rem; }
        .flex-4-left { margin-left:2rem; }
        .flex-5-left { margin-left:2.5rem; }
        .flex-6-left { margin-left:3rem; }

        .flex-pb-1 .flex { padding-bottom:.25em; }
        .flex-pb-2 .flex { padding-bottom:.5em; }
        .flex-pb-3 .flex { padding-bottom:.75em; }
        .flex-pb-4 .flex { padding-bottom:1em; }
        .flex-pb-5 .flex { padding-bottom:1.25em; }
        .flex-pb-6 .flex { padding-bottom:1.5em; }
        .flex-pb-7 .flex { padding-bottom:1.75em; }
        .flex-pb-8 .flex { padding-bottom:2em; }

        .flex-122   { order: 1; }
        .flex-211   { order: 2; }
        .flex-333   { order: 3; }

        .column .inner { width:100%;}
        .vertical-center { /* columnに付与 直下にinner設置 */
        display: flex;
        align-items: center;
        }
        .reverse-row-order {
        flex-direction: row-reverse;
        }
        .is-align-end { /* 下端揃え 親要素へ付与 */
        align-items: flex-end;
        }
        .columns.is-content-center { /* 子要素の等間隔 + 中央揃え */
        justify-content: center;
        }
        .columns.is-flex-end { /* 子要素の右揃え */
        justify-content: flex-end;
        }
        @media screen and (max-width: 1024px) {
        .is-flex-tablet { -webkit-flex-direction: column; flex-direction: column; flex: none; display: block; }
        .is-flex-tablet .flex { margin-right:0 !important; margin-left:0 !important; max-width:100% !important; min-width:100% !important;}
        .flex-122   { order: 2; }
        .flex-211   { order: 1; }
        .flex-333   { order: 3; }
        }
        @media screen and (max-width: 767px) {
        .is-flex-mobile { -webkit-flex-direction: column; flex-direction: column; flex: none; display: block; }
        .is-flex-mobile .flex { margin-right:0 !important; margin-left:0 !important; max-width:100% !important; min-width:100% !important;}
        
        }

/*==================================================================================================

      　pace

===================================================================================================*/

.intro {
        position: fixed;
        width:100%;
        height: 100%;
        z-index:-10;
        background:#FFF;
        animation: fadeOut 1.2s ease 0s 1 normal;
        -webkit-animation: fadeOut 1.2s ease 0s 1 normal;
        opacity: 0;
        }
        
.intro-top {
        position: fixed;
        width:100%;
        height: 100%;
        z-index:-10;
        background:#000;
        animation: fadeOut 3.5s ease 0s 1 normal;
        -webkit-animation: fadeOut 3.5s ease 0s 1 normal;
        opacity: 0;
        }
        @keyframes fadeOut {
        0% {opacity: 1; z-index:90000;}
        25% {opacity: 1; z-index:90000;}
        99% {opacity: 0; }
        100% { z-index:-10;}
        }

.intro-logo {
        position: absolute;
        top:50%;
        left:50%;
        transform: translate(-50%,-50%);
        width:170px;
        opacity: 0;
        z-index: 2;
        animation: introLogo 2.5s ease 0s 1 normal;
        -webkit-animation: introLogo 2.5s ease 0s 1 normal;
        }
        @keyframes introLogo {
        0% { opacity: 0; filter: blur(10px); }
        35% { opacity: 1; filter: blur(0);}
        70% { opacity: 1; filter: blur(0);}
        90% { opacity: 0; filter: blur(10); z-index: -10;}
        100% { opacity: 0; z-index: -10; }
        }


/*==================================================================================================

       hero

===================================================================================================*/

.hero-wrap {
        position: relative;
        box-sizing: border-box;
        width:100%;
        z-index: 0;
        }
        .hero-wrap:after {
        content:"";
        display: block;
        position: absolute;
        bottom:-1px;
        width:100%;
        height:30px;
        background: url("../images/parts/fuchi-bottom.png") repeat-x;
        z-index: 1;
        }
        
        
        .movie-wrap:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left: 0;
        width:100%;
        height:100%;
        background: rgba(0,0,0,.3);
        z-index: 0;
        }
        .movie-title {
        font-family: "Shippori Mincho B1", serif;
        position: absolute;
        top:calc(50% + 45px);
        left:50%;
        translate:-50% -50%;
        z-index: 1;
        }
        .movie-title p {
        position: relative;
        line-height: 180%;
        font-size:60px;
        color:#FFF;
        font-weight:700;
        min-height:610px;
        }
        .movie-title p:after {
        content:"";
        display: block;
        position: absolute;
        top:50%;
        left:50%;
        translate:-50% -50%;
        width:480px;
        height:480px;
        background: url("../images/parts/maru-w.svg") center center / cover;
        opacity: .2;
        z-index: -1;
        }
        @media screen and (max-width:2000px) {
        .movie-title p { font-size:3vw; min-height:3.1vw; }
        .movie-title p:after { width:24vw; height:24vw; }
        }
        @media screen and (max-width:1024px) {
        .hero-wrap { margin-top:96px;  }
        .movie-title { display: none; }
        }
        @media screen and (max-width:767px) {
        .hero-wrap { margin-top:80px; }
        .hero-wrap:after { background: url("../images/parts/fuchi-bottom-sp.png") repeat-x; height:15px; }
        }

/*==================================================================================================

       Movie

===================================================================================================*/

.movie-wrap {
        position: relative;
        box-sizing: border-box;
        height: auto;
        overflow: hidden;
        z-index: 0;
        }
        .movie {
        position: relative;
        width: 100%;
        height: auto;
        text-align: center;
        overflow: hidden;
        }
        .video-js {
        height: 100% !important;
        }
        .video-js .vjs-tech { 
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%,-50%);
        }

        /*=================================================
        高さ100％の場合
        ==================================================*/
        /*
        .movie_inner {
        position: relative;
        width: 100%;
        height:100vh;
        min-height: 800px;
        overflow: hidden;
        z-index: 0;
        top: 0;
        }
        .movie_inner video { object-fit: cover; }
        @media screen and (max-width:1024px) {
        .movie_inner { min-height: 600px; }
        }
        @media screen and (max-width:767px) {
        .movie_inner { min-height: 300px; }
        }
        */

        /*=================================================
        PCのみvh100%　スマホ：アスペクト比固定の場合　top-movie付与
        ==================================================*/
        /* 
        .movie_inner {
        position: relative;
        width: 100%;
        height:calc(100vh - 130px);
        overflow: hidden;
        z-index: 0;
        top: 0;
        }
        .movie_inner video { object-fit: cover; }


        @media screen and (max-width:1024px) {
        .movie_inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); min-height:0; height:100%; }
        .movie.top-movie:before { content:""; display: block; position: relative; top:0; left:0; padding-top:70%; }
        }
       */
        /*=================================================
        すべてアスペクト比固定の場合（movieサイズのまま）　top-movie付与
        ==================================================*/
        /*        */
        .movie_inner {
        position: relative;
        width: 100%;
		height: auto;
        overflow: hidden;
        z-index: 0;
        top: 0;
        }
        .movie_inner video { object-fit: cover; }
		.top-movie{
        max-height:100vh;
		}

        @media screen and (max-width: 1024px) {
        /* スマホ高さ変更 */
        .movie_inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); min-height:0; height:100%; }
        .movie.top-movie:before { content:""; display: block; position: relative; top:0; left:0; padding-top:70%; }
        /* スマホ高さ変更ここまで */
        }
        @media screen and (max-width:767px) {
            
        }


/*==================================================================================================

       背景

===================================================================================================*/

.border-box {
        border:3px solid #1C4B6C;
        padding:3.5rem 4rem;
        background:rgba(255,255,255,.5);
        box-sizing: border-box;
        overflow: hidden;
        }
        .border-box-s {
        border:1px solid #aaa;
        padding:2.5rem 3rem;
        box-sizing: border-box;
        }
        .border-box-s.bg-white { background: #FFF; }

.bg-blue {
        position:relative;
        background: url("../images/parts/blue.jpg") repeat;
        color:#FFF;
        z-index: 0;
        }
        .bg-blue:before,
        .bg-blue:after {
        content:"";
        display: block;
        position: absolute;
        left:0;
        width:100%;
        height:30px;
        z-index: 1;
        }
        .bg-blue:before { top:-1px; background:url("../images/parts/fuchi-top.png") repeat-x; }
        .bg-blue:after { bottom:-1px; background:url("../images/parts/fuchi-bottom.png") repeat-x; }

.after-wave {
        position: relative;
        z-index: 0;
        }
        .after-wave:after {
        content:"";
        display: block;
        position: absolute;
        bottom:0;
        left:50%;
        translate:-40% 0;
        width:1200px;
        height:400px;
        opacity:.1;
        z-index: -1
        }
        .after-wave.wave-b:after {background: url("../images/parts/fude-b.svg") center center / cover;}
        .after-wave.wave-w:after {background: url("../images/parts/fude-w.svg") center center / cover;}

.after-nami {
        position: relative;
        z-index: 0;
        }
        .after-nami:after {
        content:"";
        display: block;
        position: absolute;
        top:50%;
        translate:0 -50%;
        width:600px;
        height:240px;
        background: url("../images/parts/wave-b.svg") center center / cover;
        opacity:.1;
        z-index: -1
        }
        .after-nami.right:after { right:-410px; }
        .after-nami.left:after { left:-410px; }
        .after-nami.right-s:after { right:-310px; }
        .after-nami.left-s:after { left:-310px; }
        .after-nami.top:after { top:25%; }
        .after-nami.bottom:after { top:85%; }

.white-wrap {
        background: url("../images/parts/background.png") repeat;
        padding:100px;
        box-sizing: border-box;
        color:#2B2E2D;
        }
.white-box {
        background: url("../images/parts/background.png") repeat;
        padding:2.5rem;
        box-sizing: border-box;
        color:#2B2E2D;
        }

        @media screen and (max-width:1800px) {
        .after-nami.right:after { right:-25%; }
        .after-nami.left:after { left:-25%; }
        }
        @media screen and (max-width:1350px) {
        .after-wave:after { width:1050px; height:350px; }
        .after-nami:after { width:540px; height:216px; }
        .white-wrap { padding:75px; }
        .after-nami.right-s:after { right:-210px; }
        .after-nami.left-s:after { left:-210px; }
        }
        @media screen and (max-width:1024px) {
        .border-box-s { padding:2rem 2rem; }
        .after-wave:after { width:900px; height:300px; }
        .after-nami:after { width:360px; height:144px; }
        .white-wrap { padding:40px; }
        .white-box { padding:2rem; }
        }
        @media screen and (max-width:767px) {
        .border-box-s { padding:1.5rem 1.5rem; }
        .border-box  { padding:2rem 9%; }
        .after-wave:after { width:600px; height:200px; }
        .after-nami:after { width:240px; height:96px; }
        .after-nami.right-s:after { right:-110px; }
        .after-nami.left-s:after { left:-110px; }
        .bg-blue:before { height:15px; background:url("../images/parts/fuchi-top-sp.png") repeat-x; }
        .bg-blue:after { height:15px; background:url("../images/parts/fuchi-bottom-sp.png") repeat-x; }
        .white-wrap { padding:30px 1.7rem; }
        .white-box { padding:1.75rem; }
        }


/*==================================================================================================

        タイトル / テキスト

===================================================================================================*/

.white { color:#FFF !important; }
.white .en { color:#FFF; }
.red { color:#A12929;}
.blue { color:#213764;}
.yellow { color:#c3a04f; }

.mark {background:linear-gradient(transparent 60%, #FCE989 60%);}

.under-title {
        padding-bottom:.25rem;
        border-bottom:1px solid rgba(0,0,0,.6);
        }
        .bg-green .under-title {  border-bottom:1px solid rgba(255,255,255,.6); }
.box-title {
        border:1px solid rgba(0,0,0,.4);
        border-bottom:3px solid rgba(0,0,0,.65);
        padding:.7rem 1.2rem;
        box-sizing: border-box;
        }
.bar-title {
        position: relative;
        padding-top:1rem;
        box-sizing: border-box;
        }
        .bar-title:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left: 0;
        width:60px;
        height:5px;
        background:#8E1930;
        }
.bar-title-s {
        position: relative;
        padding-top:.75rem;
        box-sizing: border-box;
        }
        .bar-title-s:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left: 0;
        width:40px;
        height:3px;
        background:#8E1930;
        }
.dotted-title {
        padding-bottom:.25rem;
        border-bottom:2px dotted #3A0D22;
        }
.lead {
        position: relative;
        width:100%;
        overflow: hidden;
        z-index: 0;
        }
        .lead:after {
        content:"";
        position: absolute;
        display: inline-block;
        top:50%;
        transform: translateY(-50%);
        width:100%;
        height:1px;
        background:rgba(0,0,0,.3);
        margin-left:1.5rem;
        z-index: -1;
        }
        .bg-green .lead:after { background: rgba(255,255,255,.3); }
        .sp-lead {
        position: relative;
        width:100%;
        overflow: hidden;
        z-index: 0;
        }
        .sp-lead:after {
        content:"";
        position: absolute;
        display: none;
        top:50%;
        transform: translateY(-50%);
        width:100%;
        height:1px;
        background:rgba(0,0,0,.3);
        margin-left:1.5rem;
        z-index: -1;
        }
.center-lead {
        position: relative;
        width:100%;
        overflow: hidden;
        z-index: 0;
        }
        .center-lead:before,
        .center-lead:after {
        content:"";
        display: block;
        position: absolute;
        top:50%;
        width:95px;
        height:1px;
        background:#CCC;
        }
        .center-lead:before { left:50%; margin-left:-160px; }
        .center-lead:after { right:50%; margin-right:-160px; }

        @media screen and (max-width:767px) {
        .center-lead:before,.center-lead:after { width:60px;}
        .center-lead:before { left:50%; margin-left:-115px; }
        .center-lead:after { right:50%; margin-right:-115px; }
        }


.label-title {
        padding:.45em 1.25rem;
        box-sizing: border-box;
        background:#497694;
        color:#FFF;
        }
.maru-title {
        position: relative;
        z-index: 0;
        }
        .maru-title:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left:50%;
        translate:-50% -50%;
        width:460px;
        height:460px;
        opacity: .1;
        z-index: -1;
        }
        .maru-title.maru-w:after { background: url("../images/parts/maru-w.svg") center center / cover; }
        .maru-title.maru-b:after { background: url("../images/parts/maru-b.svg") center center / cover; }

        @media screen and (max-width:1024px) {
        .bar-title:after { width:50px; height:4px; }
        .maru-title:after { width:380px; height:380px; }
        }
        @media screen and (max-width:767px) {
        .bar-title:after { width:40px; height:3px; }
        .sp-lead:after { display: inline-block; }
        .maru-title:after { width:270px; height:270px; }
        }

/*==================================================================================================

       縦書き

===================================================================================================*/

        .tate245 { min-height:245px; }
        .tate270 { min-height:270px; }
        .tate280 { min-height:280px; }
        .tate300 { min-height:300px; }
        .tate335 { min-height:335px; }
        .tate380 { min-height:380px; }
        .tate415 { min-height:415px; }
        .tate430 { min-height:430px; }
        .tate450 { min-height:450px; }

        @media screen and (max-width:1350px) {
        .tate245 { min-height:200px; }
        .tate270 { min-height:240px; }
        .tate280 { min-height:250px; }
        .tate300 { min-height:270px; }
        .tate335 { min-height:285px; }
        .tate380 { min-height:310px; }
        .tate415 { min-height:330px; }
        .tate430 { min-height:340px; }
        .tate450 { min-height:360px; }
        }
        @media screen and (max-width:1024px) {
        .tate245 { min-height:145px; }
        .tate270 { min-height:210px; }
        .tate280 { min-height:225px; }
        .tate300 { min-height:250px; }
        .tate335 { min-height:260px; }
        .tate380 { min-height:270px; }
        .tate415 { min-height:300px; }
        .tate430 { min-height:245px; }
        .tate450 { min-height:320px; }
        }
        @media screen and (max-width:767px) {
        .tate245 { min-height:0; }
        .tate270 { min-height:160px; }
        .tate280 { min-height:195px; }
        .tate300 { min-height:235px; }
        .tate335 { min-height:225px; }
        .tate380 { min-height:225px; }
        .tate415 { min-height:240px; }
        .tate430 { min-height:0; }
        .tate450 { min-height:270px; }
        }

/*==================================================================================================

       トップページ

===================================================================================================*/

        /*=================================================
                Greeting
        ==================================================*/

        .greeting-img {
        position: relative;
        width:100%;
        height:0;
        padding-bottom:115.65%;
        z-index: 0;
        }
        .greeting-img:after {
        content:"";
        display: block;
        position: absolute;
        top:19%;
        left:11%;
        width:85%;
        height:78.5%;
        background: url("../images/parts/blue.jpg") repeat;
        z-index: -1;
        }
        .greeting-img figure:nth-child(1) {
        position: absolute;
        top:0;
        left:-10%;
        width:102%;
        }
        .greeting-img figure:nth-child(2) {
        position: absolute;
        top:65%;
        left:4%;
        width:30%;
        }
        .greeting-img figure:nth-child(3) {
        position: absolute;
        right:0;
        bottom:0%;
        width:57%;
        }
        @media screen and (max-width:767px) {
        .greeting-img { padding-bottom:120%; }
        .greeting-img figure:nth-child(1) { left:-5%; width:110%; }
        }

        /*=================================================
                Attraction
        ==================================================*/

        .att-title {
        font-size:69px;
        }
        .att-title span {
        font-size: .5em;
        vertical-align: text-bottom;
        }
        .att-more a {
        position:relative;
        height:45px;
        line-height:45px;
        text-align: center;
        box-sizing: border-box;
        background: none;
        font-weight:400;
        font-size:1rem;
        white-space: nowrap;
        text-decoration:none;
        z-index: 1;
        letter-spacing: 0.05em;
        display:inline-block;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .bg-blue .att-more a { color:#FFF; }
        .att-more a span {
        vertical-align: bottom;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .att-more a:hover { opacity:1; }
        .att-more a:hover span { opacity:.35; }
        .att-more a::after {
        position: absolute;
        bottom: 6px;
        left: 60px;
        content: '';
        width: calc(100% - 60px);
        height: 1px;
        background:#213764;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform .5s;
        }
        .bg-blue .att-more a::after { background:#FFF; }
        .att-more a:hover::after {
        transform-origin: left top;
        transform: scale(1, 1);
        }
        .icon-arrow-w { background: url("../images/parts/arrow-w.svg") center center / cover; }
        .icon-arrow-b { background: url("../images/parts/arrow-b.svg") center center / cover; }
        .icon-before-l {
        width:45px;
        height:45px;
        display:inline-block;
        margin-right:1.5rem;
        position: relative;
        top:0;
        }
        @media screen and (max-width:1350px) {
        .att-title { font-size:55px; }
        }
        @media screen and (max-width:1024px) {
        .att-title { font-size:39px; }
        .att-more a { height:39px; line-height: 39px; }
        .icon-before-l { width:39px; height:39px; margin-right:1rem; }
        .att-more a::after { left: 54px; width: calc(100% - 54px); }
        }
        @media screen and (max-width:767px) {
        .att-title { font-size:30px; }
        .att-title span { font-size:1em; vertical-align: baseline; }
        .att-more a { height:30px; line-height: 30px; }
        .icon-before-l { width:30px; height:30px; margin-right:1rem; }
        .att-more a::after { left: 45px; width: calc(100% - 45px); bottom:0; }
        }

        .att-more02 a {
        position:relative;
        height:45px;
        line-height:45px;
        text-align: center;
        box-sizing: border-box;
        background: none;
        font-weight:400;
        font-size:1rem;
        white-space: nowrap;
        text-decoration:none;
        z-index: 1;
        letter-spacing: 0.05em;
        display:inline-block;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
      .att-more02 a { color:#FFF; }
        .att-more02 a span {
        vertical-align: bottom;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .att-more02 a:hover { opacity:1; }
        .att-more02 a:hover span { opacity:.35; }
        .att-more02 a::after {
        position: absolute;
        bottom: 6px;
        left: 60px;
        content: '';
        width: calc(100% - 60px);
        height: 1px;
        background:#213764;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform .5s;
        }
 .att-more02 a::after { background:#FFF; }
        .att-more02 a:hover::after {
        transform-origin: left top;
        transform: scale(1, 1);
        }

@media screen and (max-width:1024px) {
      
        .att-more02 a { height:39px; line-height: 39px; }

        .att-more02 a::after { left: 54px; width: calc(100% - 54px); }
        }
        @media screen and (max-width:767px) {
      
        .att-more02 a { height:30px; line-height: 30px; }

        .att-more02 a::after { left: 45px; width: calc(100% - 45px); bottom:0; }
        }




        .top-cuisine:before,
        .top-cuisine:after {
        content:"";
        display: block;
        position: absolute;
        left:0;
        width:100%;
        height:30px;
        z-index: 1;
        }
        .top-cuisine:before { top:-1px; background:url("../images/parts/fuchi-top.png") repeat-x; }
        .top-cuisine:after { bottom:-1px; background:url("../images/parts/fuchi-bottom.png") repeat-x; }
        @media screen and (max-width:2000px) {
        .top-cuisine { height:0; padding-bottom:38%; }
        }
        @media screen and (max-width:767px) {
        .top-cuisine:before { height:15px; background:url("../images/parts/fuchi-top-sp.png") repeat-x; }
        .top-cuisine:after { height:15px; background:url("../images/parts/fuchi-bottom-sp.png") repeat-x; }
        }

.grid_wrap{
    display: grid;
}
.grid_wrap img{
}
.col_pc-5_tabl-3_sp_2{
    gap: clamp(5px,0.8vw,10px);
}
span.kara{
    display:none;
}
.col_pc-5_tabl-3_sp_2 > div{
    grid-column: span 2;
}
@media screen and (min-width:1025px){
    .col_pc-5_tabl-3_sp_2{
         grid-template-columns: repeat(10,minmax(0,1fr)); 
    }   
}
@media screen and (min-width:768px) and (max-width:1024px){
    .col_pc-5_tabl-3_sp_2{
        grid-template-columns: repeat(6,minmax(0,1fr)); 
    }
    span.kara.after-3{
    display:inherit;
    }
}
@media screen and (max-width:767px){
    .col_pc-5_tabl-3_sp_2{
         grid-template-columns: repeat(4,minmax(0,1fr))
    }
    .col_pc-5_tabl-3_sp_2 > div{
        grid-column: span 2;
    }
    span.kara.after-4{
    display:inherit;
    }
}



/*=================================================
                tab-btn
        ==================================================*/

        .btn-wrap {
        position: relative;
        overflow: hidden;
        width:100%;
        }
        .btn-img {
        position:relative;
        width:100%;
        height:0;
        padding-bottom:40%;
        -webkit-transition  : all .3s ease;
        transition  : all .3s ease;
        z-index: 0;
        }
        .btn_01 { background: url("../images/img/top/img_05-1.jpg") center center / cover; }
        .btn_02 { background: url("../images/img/top/img_05-2.jpg") center center / cover; }
        

        .btn_10 { background: url("../images/img/cuisine/img_00-1.jpg") center center / cover; }
        .btn_11 { background: url("../images/img/cuisine/img_00-2.jpg") center center / cover; }
        .btn_12 { background: url("../images/img/cuisine/img_00-1.jpg") center center / cover; }
        .btn_13 { background: url("../images/img/cuisine/img_00-1.jpg") center center / cover; }
        .btn_14 { background: url("../images/img/cuisine/img_00-1.jpg") center center / cover; }

        .btn_21 { background: url("../images/img/guide/tab_01.jpg") center center / cover; }
        .btn_22 { background: url("../images/img/guide/tab_02.jpg") center center / cover; }
        .btn_23 { background: url("../images/img/guide/tab_03.jpg") center center / cover; }

        .btn-wrap:hover .btn-img {
        -webkit-transform: scale(1.1);
        transform:         scale(1.1);
        }
        .btn-cover {
        position: relative;
        padding:1.5rem 7%;
        box-sizing:border-box;
        background: url("../images/parts/blue.jpg") repeat;
        color:#FFF!important;
        text-align: center;
        z-index: 1;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .btn-cover.cover-white { padding:.75rem 4%; background:#ccc repeat; }
        .btn-cover.short { padding:.75rem 4%; }
        a .btn-cover { color:#FFF; }
        a .btn-cover.cover-white { color:#213764; }
        
        .btn-cover h3 { line-height: 1.25; }
        .btn-cover:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left: 0;
        width: 100%;
        height: 100%;
        background:#A48C52;
        z-index: -1;
        opacity: 0;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }
        .btn-cover.cover-white:after { background: #222F54; }
        .tab-btn a:hover .btn-cover:after { opacity: 1; }
        .tab-btn a:hover .btn-cover.cover-white { color:#FFF; }
       

/*==================================================================================================

       下層 ヘッダー

===================================================================================================*/

.page-header-wrap {
        position: relative;
        box-sizing: border-box;
        height: auto;
        overflow: hidden;
        z-index: 0;
        }
        .page-header-wrap:before {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left:0;
        width:100%;
        height:90px;
        background: rgb(0,0,0);
        background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.75) 100%);
        z-index: 1;
        }
        .page-header-wrap:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left: 0;
        width:100%;
        height:100%;
        background: rgba(0,0,0,.2);
        z-index: 0;
        }

        /*=================================================
                ノーマルヘッダー
        ==================================================*/

        .page-header {
        position: relative;
        width: 100%;
        height:100%;
        max-height:100vh;
        z-index: 0;
        }
        .page-header:before {
        content: "";
        display: block;
        padding-bottom:56.25%;
        height:0;
        width:100%;
        }
        .page-header.short:before {
        content: "";
        display: block;
        height:0;
        padding-bottom:600px;
        width:100%;
        }

        .cuisine   { background: url("../images/img/cuisine/header.jpg") center center / cover; }
        .facilities{ background: url("../images/img/facilities/header.jpg") center center / cover; }
        .lunch     { background: url("../images/img/lunch/header.jpg") center center / cover; }
        .guide     { background: url("../images/img/guide/header.jpg") center center / cover; }


        @media screen and (max-width:1024px) {
        .page-header-wrap:before { display: none; }

        .page-header:before { padding-bottom:75%; height:0; }
        .page-header.short:before { padding-bottom:75%; }
        }


        .page-title h1 { line-height: 1; }

        .page-title {
        font-family: "Shippori Mincho B1", serif;
        position: absolute;
        top:calc(50% + 45px);
    left: 50%;
        translate:-50% -50%;
        z-index: 1;
        }
        .page-title h1 {
        position: relative;
        line-height: 180%;
        font-size:60px;
        color:#FFF;
        font-weight:700;
        }
        .th-130 { min-height:130px; }
        .th-260 { min-height:260px; }
        .th-320 { min-height:320px; }
        .th-380 { min-height:380px; }

        .page-title h1:after {
        content:"";
        display: block;
        position: absolute;
        top:50%;
        left:50%;
        translate:-50% -50%;
        width:480px;
        height:480px;
        background: url("../images/parts/maru-w.svg") center center / cover;
        opacity: .2;
        z-index: -1;
        }
        @media screen and (max-width:1350px) {
        .page-title h1 { font-size:4vw; }
        .page-title h1:after { width:30vw; height:30vw; }
        .th-130 { min-height: 9vw; }
        .th-260 { min-height:18vw; }
        .th-320 { min-height:22vw; }
        .th-380 { min-height:26vw; }
        }
        @media screen and (max-width:1024px) {
        .page-title { top:50%;
        width: 175px;
        display: block;
        margin: auto; }
        .page-title h1 { font-size:5vw; }
        .page-title h1:after { width:30vw; height:30vw; }
        .th-130 { min-height:11vw; }
        .th-260 { min-height:22vw; }
        .th-320 { min-height:28vw; }
        .th-380 { min-height:32vw; }
        }
        @media screen and (max-width:767px) {
        .page-title h1 { font-size:7vw; }
        .page-title h1:after { width:38vw; height:38vw; display: block!important; margin: auto!important; }
        .th-130 { min-height:15vw; }
        .th-260 { min-height:30vw; }
        .th-320 { min-height:38vw; }
        .th-380 { min-height:44vw; }
        }








.memo {
        padding:.4rem 0;
        border-top:2px dotted rgba(0,0,0,.3);
        border-bottom:2px dotted rgba(0,0,0,.3);
        }
        .memo-w {
        padding:.5rem 0;
        border-top:1px solid rgba(255,255,255,.3);
        border-bottom:1px solid rgba(255,255,255,.3);
        }

figure {
        position: relative;
        z-index: 0;
        }
        .figure-caption {
        position: absolute;
        bottom:0;
        left:0;
        display: inline-block;
        padding:.5rem .75rem;
        background: #111;
        color:#FFF;
        z-index: 1;
        }

/*==================================================================================================

       下層

===================================================================================================*/

        /*=================================================
                cuisine
        ==================================================*/

        .cuisine-img {
        position: relative;
        width:100%;
        height:100%;
        background: url("../images/img/cuisine/img_01-1.jpg") center center / cover;
        }
        
        .tab-title {
        background:#222F54;
        color:#FFF;
        border-radius: 1px;
        display: inline-block;
        padding:.5em 1.5em;
        margin-bottom:.5em; 
        }

        @media screen and (max-width:1024px) {
        .cuisine-img { height:0; padding-bottom:380px; }
        }
        @media screen and (max-width:767px) {
        .cuisine-img { padding-bottom:60%; }
        }


        .bg-white {
        position: relative;
        background: #A48C52;
        overflow: hidden;
        color:#FFF;
        z-index: 0;
        }
        .bg-white:after {
        content: "";
        display: block;
        position: absolute;
        bottom: -15%;
        right:0;
        width: 450px;
        height: 150px;
        background: url(../images/parts/fude-w.svg) center center / cover;
        opacity: .1;
        z-index: -1;
        }
        .cuisine-banner {
        width:100%;
        height:120px;
        background: url("../images/img/cuisine/img_05-1.jpg") center center / cover;
        }
        .cuisine-banner-text {
        padding:1.5rem 2.5rem;
        box-sizing: border-box;
        text-align: center;
        }







        /*=================================================
                access
        ==================================================*/

        .guide-wrap {
        padding:36px;
        box-sizing: border-box;
        border-radius: 1px;
        background:#7CBDD8;
        box-shadow: 0 4px 8px rgba(0,0,0,.1);
     
        }
        .guide-wrap.guide-w { background: url("../images/parts/background.png") repeat; color:#2B2E2D; }
        .guide-img {
        width:100%;
        height:100%;
        min-height:280px;
        }
        .guide-01 { background: url("../images/img/access/acs01.jpg") center center / cover; }
        .guide-02 { background: url("../images/img/access/acs02.jpg") center center / cover; }
        .guide-03 { background: url("../images/img/access/kuma.jpg") center center / cover; }
        .guide-04 { background: url("../images/img/access/ume.jpg") center center / cover; }
.guide-05 { background: url("../images/img/access/karigazou.jpg") center center / cover; }
        .guide-06 { background: url("../images/img/access/taki.jpg") center center / cover; }
        .guide-07 { background: url("../images/img/access/karigazou.jpg") center center / cover; }
        .guide-08 { background: url("../images/img/access/karigazou.jpg") center center / cover; }
        .guide-09 { background: url("../images/img/access/karigazou.jpg") center center / cover; }
        .guide-10 { background: url("../images/img/guide/img_10.jpg") center center / cover; }
        
        .guide-11 { background: url("../images/img/guide/img_11.jpg") center center / cover; }
        .guide-12 { background: url("../images/img/guide/img_12.jpg") center center / cover; }
        .guide-13 { background: url("../images/img/guide/img_13.jpg") center center / cover; }
        .guide-14 { background: url("../images/img/guide/img_14.jpg") center center / cover; }
        .guide-15 { background: url("../images/img/guide/img_15.jpg") center center / cover; }
        .guide-16 { background: url("../images/img/guide/img_16.jpg") center center / cover; }
        .guide-17 { background: url("../images/img/guide/img_17.jpg") center center / cover; }
        .guide-18 { background: url("../images/img/guide/img_18.jpg") center center / cover; }
        .guide-19 { background: url("../images/img/guide/img_19.jpg") center center / cover; }
        .guide-20 { background: url("../images/img/guide/img_20.jpg") center center / cover; }
        .guide-21 { background: url("../images/img/guide/img_21.jpg") center center / cover; }
        .guide-22 { background: url("../images/img/guide/img_22.jpg") center center / cover; }


        .guide-text {
        padding:6% 2%;
        box-sizing: border-box;
        }
        @media screen and (max-width:1024px) {
        .guide-wrap { padding:27px; }
        .guide-img { min-height:240px; }
        }
        @media screen and (max-width:767px) {
        .guide-wrap { padding:18px; }
        .guide-img { height:0; padding-bottom:60%; min-height:0px; }
        }

.outer02		{ padding-left:3vw; padding-right:3vw; box-sizing:border-box; }
























