@charset "UTF-8";

:root {
  --font-family: "Local Noto Sans JP", "Noto Sans JP", sans-serif;
  --font-color:#666;
  --link-color:#469658;
  --white-color:#FFF;
  --footer-font-color:#FFF;
}

/*==================================================================================================

       リセット

===================================================================================================*/

        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;}

/*==================================================================================================

       メイン設定

===================================================================================================*/

html { -webkit-text-size-adjust: 100%; }
html { scroll-behavior: smooth; }
html,body { width:100%; min-width: 320px; font-size:16px; }
        html,body.min200 { min-width: 200px; }/* iflame用 */
body {
        background: #FFF;
        background-attachment: fixed; /* スマホ背景固定 */
        font-family:var(--font-family);
        color:var(--font-color);
        letter-spacing:0em;
        font-weight:500;
        text-align:left;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-autospace:normal;
        line-height:180%;
        font-feature-settings: "palt" 1;
        overflow: inherit;
        z-index: 0;
        }
        @media screen and (min-width: 1025px) {
        body { overflow: inherit !important; }
        }



        
        
        body.hidden { overflow: hidden; }
        .wrapper    { overflow:hidden;}
        article		{ position:relative; width:100%; z-index: 0;}
        section		{ position:relative; }
        main        { display: block; position: relative; z-index: 1; }

        .section-m	{ padding-top:210px; padding-bottom:210px; }
        .section-ms	{ padding-top:180px; padding-bottom:180px; }
        .section-s	{ padding-top:140px; padding-bottom:140px; }
        .section-ss	{ padding-top:120px; padding-bottom:120px; }
        .section-sss{ padding-top:80px; padding-bottom:80px; }

        .second  	{ padding-top:0 !important; }

        .wide-outer	{ padding-left:5vw; padding-right:5vw; box-sizing:border-box; }
        .outer		{ padding-left:10vw; padding-right:10vw; 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; }
        .outer-spwide { padding-left:60px; padding-right:60px; box-sizing:border-box; }

        .inner-wrap    { padding:3rem 5.5% 0; box-sizing:border-box; }
        .inner-outer    { box-sizing:border-box; padding-left:24px; padding-right:24px; }

        .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 { line-height: 160%; font-weight:600; letter-spacing: 0em; font-family:"Murecho", sans-serif; }
        
        h1.en,h2.en,h3.en,h4.en,h5.en {  font-weight:400; letter-spacing: 0; }
        .en h1,.en h2,.en h3,.en h4 {  font-weight:400; letter-spacing: 0;}


        .nowrap { white-space: nowrap; }
        small { font-size:.75rem; }
        .bold { font-weight:700;  }
        .font-black { font-weight:900;}
        
        .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 ; }
        .op20  { opacity: .2 ; }
        .op30  { opacity: .3 ; }
        .op40  { opacity: .4 ; }
        .op50  { opacity: .5 ; }
        .op60  { opacity: .6 ; }
        .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-inline:auto; }
        .bottom-none    { padding-bottom:0 !important;}
        
        .left-center    { text-align:left;}
        .right-center    { text-align:right;}
        .center-right    { text-align:center;}


        @media screen and (max-width: 2000px) {
        .outer		{ padding-left:10vw; padding-right:10vw; }
        .outer-spwide { padding-left:4.5vw; padding-right:4.5vw; }
        }
        @media screen and (max-width: 1600px) {
        .section-m	{ padding-top:200px; padding-bottom:200px; }
        }
        @media screen and (max-width: 1350px) {
        html,body, .wrapper	{ line-height: 190%;}
        .section-m	{ padding-top:190px; padding-bottom:190px; }
        }
        @media screen and (max-width: 1024px) {
            html,body, .wrapper	{ font-size:15px; line-height: 180%;}
            h1,h2,h3,h4,h5 { line-height: 160%; }
            .outer			   { padding-left:10vw; padding-right:10vw; }
            .outer-middle      { padding-left:2.78vw; padding-right:2.78vw; }
            .outer-thin	       { padding-left:17px; padding-right:17px; }
            .outer-spwide { padding-left:4.5vw; padding-right:4.5vw; }
            
            .inner-wrap    { padding:6%; }
            .inner-outer   { padding-left:18px; padding-right:18px; }

            .section-m	{ padding-top:170px; padding-bottom:170px; }
            .section-ms	{ padding-top:160px; padding-bottom:160px; }
            .section-s	{ padding-top:120px; padding-bottom:120px; }
            .section-ss	{ padding-top:110px; padding-bottom:110px; }
            .section-sss{ padding-top:75px; padding-bottom:75px; }

            .section-sss       { padding-top:4rem; padding-bottom:4rem; }
            .tab-bottom-none    { padding-bottom:0 !important;}

            .left-center-tab    { text-align:center;}
            .tablet-center      { margin-left: auto; margin-right: auto; text-align: center; }
            
            .tablet-bottom-none { padding-bottom:0 !important; }
        }



        @media only screen and (max-width: 767px) {
            html,body, .wrapper	{ font-size:15px; letter-spacing: 0; line-height: 180%;}
            body			{ -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;}

            .section	{ padding-top:120px; padding-bottom:120px; }
            .section-m	{ padding-top:140px; padding-bottom:140px; }
            .section-ms	{ padding-top:120px; padding-bottom:120px; }
            .section-s	{ padding-top:100px; padding-bottom:100px; }
            .section-ss	{ padding-top:90px; padding-bottom:90px; }
            .section-sss{ padding-top:70px; padding-bottom:70px; }

            .sp-bottom-none    { padding-bottom:0 !important;}
            .sp-section-s	    { padding-top:3rem; padding-bottom:3rem; }

            .wide-outer	   { padding-left:7.5vw; padding-right:7.5vw; }
            .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; }
            .outer-spwide { padding-left:8.5vw; padding-right:8.5vw; }

            .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:4.5vw; padding-right:4.5vw; }
            .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:5% 6%; }

            .inner-outer   { padding-left:12px; padding-right:12px; }

            .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;}
            .right-center    { text-align:center;}
            .center-right    { text-align:right;}
            .sp-margin-auto { margin-left:auto; margin-right:auto; }
            .ml-auto.sp-center { margin-left:0; }
            .ls02-0  { letter-spacing: .05em; }
        }

        @media only screen and (max-width:374px) {
            html,body, .wrapper	{ font-size:14px; }
        }


/*==================================================================================================

       Image

===================================================================================================*/

        .img-fit { height:100%; }
        .img-fit img {
        height:100%;
        width:100%;
        object-fit: cover !important;
        }
        _:lang(x)+_:-webkit-full-screen-document, .img-fit img { 
        object-fit: cover !important;
        }

/*==================================================================================================

       Link

===================================================================================================*/

a {
        text-decoration:none;
        color:var(--link-color);
        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:#FEFEFE; }

        .hover-under a:hover {
        text-decoration:underline;
        }

.mobile-link-b a {
        color:#222;
        display: inline-block;
        }
        .mobile-link-w a {
        color:#FEFEFE;
        display: inline-block;
        }

        .link {  border-bottom:1px solid var(--font-color);  font-weight: 600; color:var(--font-color); }
        .link:hover { opacity:.6; }


/*==================================================================================================

       ボタン

===================================================================================================*/

.more {
        position:relative;
        display: inline-block;
        width:100%;
        max-width:300px;
        line-height: 1;
        }
        .more a {
        position: relative;
        display: inline-block;
        width:100%;
        height:56px;
        line-height:56px;
        text-align:center;
        color:#FFF !important;
        background: #f78da7;
        font-weight:400;
        box-sizing: border-box;
        overflow: hidden;
        font-size:1.175rem;
        border-radius:30px;
        white-space: nowrap;
        text-decoration:none !important;
        z-index: 1;
        letter-spacing: 0em;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .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:rgb(255 255 255 / .3);
        }

        .more a:hover {
        opacity:1;
        }
        .more a:hover:after {
        left: 0;
        width: 100%;
        }

        @media only screen and (max-width:1024px) {
        .more a { height:52px; line-height:52px; }
        }
        @media only screen and (max-width:767px) {
        .more { max-width:100%; }
        .more a { height:50px; line-height:50px; }
        }

.more-n {
        position:relative;
        display: inline-block;
        width:100%;
        max-width:400px;
        line-height: 1;
        }
        .more-n a {
        position: relative;
        display: inline-block;
        width:100%;
        line-height:125%;
        padding:1.2em 1em;
        text-align:center;
        color:#FFF !important;
        background: #ee7e86;
        font-weight:400;
        box-sizing: border-box;
        overflow: hidden;
        font-size:1rem;
        border-radius:45px;
        text-decoration:none !important;
        z-index: 1;
        letter-spacing: 0em;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .more-n 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:rgb(255 255 255 / .3);
        }

        .more-n a:hover {
        opacity:1;
        }
        .more-n a:hover:after {
        left: 0;
        width: 100%;
        }


.more-b {
        position:relative;
        display: inline-block;
        vertical-align: middle;
        line-height: 1;
        }
        .more-b a {
        position: relative;
        display: inline-block;
        width:100%;
        line-height:125%;
        padding:1em 2em;
        text-align:center;
        color:#FFF !important;
        background: #606f7b;
        font-weight:400;
        box-sizing: border-box;
        overflow: hidden;
        font-size:1rem;
        border-radius:45px;
        text-decoration:none !important;
        z-index: 1;
        letter-spacing: 0em;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .more-b 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:rgb(255 255 255 / .3);
        }

        .more-b a:hover {
        opacity:1;
        }
        .more-b a:hover:after {
        left: 0;
        width: 100%;
        }





/*==================================================================================================

       table

===================================================================================================*/



        .table-scroll { overflow: inherit !important; }

        @media screen and (max-width: 1024px) {
        .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-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; }
        }


/*================================================
      　map
================================================*/

    .map {
        position: relative;
        padding-bottom: 660px;
        height: 0;
        overflow: hidden;
        box-sizing: border-box;
        border: 1px solid #777;
        border-radius:0px;
        z-index: 2;
        }
        .map iframe,
        .map object,
        .map embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        }
        
    .map-gray iframe {
        -webkit-filter: grayscale(100%);
        filter: grayscale(100%);
        }    
    
        @media screen and (max-width: 1024px) {
        .map { padding-bottom: 600px; }
        }
        @media screen and (max-width: 767px) {
        .map { padding-bottom: 110%; }
        }


/*================================================
      　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 {
        position: relative;
        list-style-type: decimal;
         margin-bottom:.25em;
        }

.nomber-list-b {
        margin-left:0;
        }
        .nomber-list-b li {
        padding:0;
        position: relative;
        list-style-type:none;
        counter-increment: number;
        padding-bottom:0;
        padding-left:2.5em;
        }
        .nomber-list-b li::before {
        content: "(" counter(number) ") ";
        position: absolute;
        left:.5em;
        }

.nomber-list-c {
        padding-top:.5rem;
        margin-left:2rem;
        }
        .nomber-list-c li {
        padding:0;
        position: relative;
        list-style-type: katakana-iroha;
        }
        
.kana-list {
        padding-left: 1.25rem;
        }
        .kana-list li {
        padding:0 0 .5rem 0;
        position:relative;
        line-height: 160%;
        list-style-type: katakana-iroha;
        }
.alpha-list {
        padding-left: 1.5rem;
        }
        .alpha-list li {
        padding:0 0 .5rem 0;
        position:relative;
        line-height: 160%;
        list-style-type:lower-alpha;
        }
.roman-list {
        padding-left: 1.25rem;
        }
        .roman-list li {
        padding:0 0 .5rem 0;
        position:relative;
        line-height: 160%;
        list-style-type:lower-roman;
        }
       
.normal-list { position: relative; line-height: 160%;}
        .normal-list li {
        padding: 0;
        position: relative;
        }

.check-list {
        position: relative;
        line-height: 160%;
        }
        .check-list li {
        position: relative;
        padding: .1em 0 .1em 1.75em;
        list-style: none;
        font-size:1.2rem;
        font-weight:600;
        color:#1f9d55;
        }
        .check-list li:before {
        content: "";
        display:inline-block;
        position: absolute;
        left: 0;
        top:50%;
        translate:0 -50%;
        background: url("../images/parts/icon-check.svg") center center / cover;
        width:1.5rem;
        height:1.5rem;
        vertical-align: middle;
        }
        .check-list li:not(:last-of-type) { margin-bottom:1rem; }


.disk-list {
        }
        .disk-list > li {
        position: relative;
        padding: 0 0 0 1rem;
        margin-bottom:.25em;
        }
        .disk-list li:before {
        content: "・";
        display:block;
        position: absolute;
        top:auto;
        left: 0;
        font-size:1rem;
        vertical-align: middle;
        }
        .disk-list li:last-child { border-bottom: none; }
        .disk-list > li a { text-decoration: underline; }



.kome-list {
        }
        .kome-list li {
        padding: 0;
        position: relative;
        padding-left:1.5em;
        line-height: 160%;
        }
        .kome-list li:before {
        content: "※";
        display:block;
        position: absolute;
        top: 0;
        left: 0;
        font-size:1em;
        vertical-align: middle;
        }



.center-kome-list {
        }
        .center-kome-list li {
        text-align: center;
        padding: 0;
        position: relative;
        text-indent:1.25em;
        }
        .center-kome-list li:before {
        content: "※";
        display:inline-block;
        position: absolute;
        top: 0;
        margin-left:-2.5em;
        font-size:1em;
        vertical-align: middle;
        }
        @media screen and (max-width: 1024px) {
        .center-kome-list.tablet-left li { text-align: left; }
        }
        @media screen and (max-width: 767px) {
        .center-kome-list.sp-left li { text-align: left; text-indent:0; padding-left:1.25em; } 
        .center-kome-list.sp-left li:before { display:block; left:0; margin-left:0; }
        }


/*==================================================================================================

       アイコン

===================================================================================================*/


.icon-after {
        width:1em;
        height:1em;
        display:inline-block;
        margin-left:.5em;
        position: relative;
        top: 3px;
        -webkit-transition:all .3s ease;
                transition       : all .3s ease;
        }
        .icon-arrow-bottom { background: url("../images/icons/arrow-bottom-green.svg") center center / cover; }




/*==================================================================================================

       その他

===================================================================================================*/

.memo {
        padding:.5rem 0;
        box-sizing: border-box;
        line-height: 180%;
        border-top: 1px solid rgb(0 0 0 / .3);
        border-bottom: 1px solid rgb(0 0 0 / .3);
        }
        .memo-w {
        padding:.5rem 0;
        border-top:1px solid rgba(255,255,255,.5);
        border-bottom:1px solid rgba(255,255,255,.5);
        }

figure {
        position: relative;
        z-index: 0;
        }
.figure-caption {
        position: absolute;
        display: inline-block;
        bottom:0;
        left:0;
        padding: 5px 13px;
        margin: 0;
        color: #fff;
        background:#1F749C;
        font-size: 13px;
        line-height: 120%;
        z-index: 1;
        }
        .figure-caption.top { bottom:auto; top:0; }

        @media screen and (max-width:767px) {
        .figure-caption { font-size:11px; }
        }

/*==================================================================================================

       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;
        height:100%;
        }
        .flex-wrap.is-align-stretch { /* 上端揃え */
        align-items: stretch;
        }
        .is-align-flexend { /* 下端揃え */
        align-items: flex-end;
        }
        .is-content-flexend { /* 右端揃え */
        justify-content: flex-end;
        }
        .flex-side-center { /* 子要素の左右の中央揃え IE一部バグあり */
        display: flex;
        justify-content: center;
        }
        .flex-wrap.is-between { /* 子要素の等間隔 + 両端揃え */
        justify-content: space-between;
        }
        .flex {
        flex: none;
        display: block;
        flex-basis: auto;
        flex-grow: 1;
        flex-shrink: 1;
        width: 100%;
        box-sizing: border-box;
        }



        .flex-112   { order: 1; }
        .flex-221   { order: 2; }
        .flex-333   { order: 3; }
        
        .flex-211   { order: 2; }
        .flex-232   { order: 2; }
        .flex-323   { order: 3; }
        
        .flex-111   { order: 1; }
        .flex-223   { order: 2; }
        .flex-332   { 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;
        }
        .flex-side-center { /* 子要素の左右の中央揃え IE一部バグあり */
        display: flex;
        justify-content: center;
        }
        .columns.is-content-center { /* 子要素の等間隔 + 中央揃え */
        justify-content: center;
        }
        .columns.is-flex-end { /* 子要素の右揃え */
        justify-content: flex-end;
        }
        @media screen and (max-width: 1024px) {
        .flex-122   { order: 2; }
        .flex-211   { order: 1; }
        .flex-333   { order: 3; }
        .flex-232   { order: 3; }
        .flex-323   { order: 2; }
        }
        @media screen and (max-width: 767px) {
        .flex-112   { order: 2; }
        .flex-221   { order: 1; }
        .flex-223   { order: 3; }
        .flex-332   { order: 2; }
        .flex-232   { order: 2; }
        .flex-323   { order: 3; }
        }


/*==================================================================================================

       padding margin 設定

===================================================================================================*/

        /*=================================================
                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-2hem		{ padding-top:2.5rem;}
        .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-1h	{ padding-top:3rem;}
        .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;}
        .pt-6-3  	{ padding-top:6rem;}


        
        .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-1		{ 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-6-3		{ 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-5px     { margin-left:5px; }
        .ml-1em     { margin-left:1rem; }
        .ml-1-0     { margin-left:1rem; }
        .ml-1hem     { margin-left:1.5rem; }
        
        .pr-05em     { padding-right:.5rem; }
        .pr-1-0     { padding-right:1rem; }
        .pr-1hem     { padding-right:1.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-2-0  	{ margin-top:2rem;}
        .mt-4-2		{ margin-top:4rem;}
        .mt-10-5	{ margin-top:10rem;}
        
        .mt-3-0     { margin-top:3rem; }
        .mt-3-2     { 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-05-0	{ margin-bottom:.5rem;}
        .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-5-3		{ margin-bottom:5rem;}
        .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 ; }
        
        .mb-10-20vw { margin-bottom:10vw; }

        @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-1h	{ padding-top:2.25rem;}
        .pt-3-3-0	{ padding-top:3rem;}
        .tab-pt-1em	{ padding-top:1rem;}
        .pt-4-2  	{ padding-top:3rem;}
        .pt-4-3  	{ padding-top:3.5rem;}
        .pt-6-3  	{ padding-top: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.5rem;}
        .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-1		{ padding-bottom:3rem;}
        .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;}
        .pb-6-3		{ padding-bottom:5rem;}

        .mt10p      { margin-top:0%; }
        .mt-2-0  	{ margin-top:1rem;}
        .mt-3-2     { margin-top:2.5rem; }

        .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-5-3		{ margin-bottom:4rem;}
        .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;}
        .mb-05-0	{ margin-bottom:.25rem;}
        
        .mb-10-20vw { margin-bottom:16vw; }
        
        .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-1h	{ padding-top:1.5rem;}
        .pt-3-3-0	{ padding-top:0rem;}
        .sp-pt-1em	{ padding-top:1rem;}
        .sp-pt-2em	{ padding-top:2rem;}
        .pt-4-0  	{ padding-top:0rem;}
        .pt-4-2  	{ padding-top:2rem;}
        .pt-4-3  	{ padding-top:3rem;}
        .pt-6-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-1		{ padding-bottom:1rem;}
        .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-6-3		{ padding-bottom:3rem;}
        .pb-880		{ padding-bottom:0rem;}
        
        .pr-1-0     { padding-right:0; }
        
        .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-2-0  	{ margin-top:0rem;}
        .mt-4-2		{ margin-top:2rem;}
        .mt-10-5	{ margin-top:4rem;}
        .mt-3-2     { margin-top:2rem; }

        .mr10p      { margin-right:0%;}
        .mr20p      { margin-right:0;}
        .ml10p      { margin-left:0%;}
        .ml20p      { margin-left:0%;}
        .ml-1-0     { margin-left:0; }

        .mb-05-0	{ margin-bottom: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-5-3		{ margin-bottom:3rem;}
        .mb-543		{ margin-bottom:3rem;}
        .mb-6-4		{ margin-bottom:4rem;}
        
        .mb-10-20vw { margin-bottom:20vw; }
        
        .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-2300  { max-width:2300px; }
        .wrap-2200  { max-width:2200px; }
        .wrap-2100  { max-width:2100px; }
        .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-1250  { max-width:1250px; }
        .wrap-1200  { max-width:1200px; }
        .wrap-1120  { max-width:1120px; }
        .wrap-1100  { max-width:1100px; }
        .wrap-1080  { max-width:1080px; }
        .wrap-1000  { max-width:1000px; }
        .wrap-960   { max-width: 960px; }
        .wrap-920   { max-width: 920px; }
        .wrap-900   { max-width: 900px; }
        .wrap-860   { max-width: 860px; }
        .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-640   { max-width: 640px; }
        .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%;}
        .max110     { max-width:110px; width:100%;}
        .max140     { max-width:140px; width:100%;}
        .max170     { max-width:170px; width:100%;}
        .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%;}
        .max340     { max-width:340px; 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%;}
        .max480     { max-width:480px; 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; }
        .w15em { width:15em; }
        .w16em { width:16em; }
        .w17em { width:17em; }
        .w18em { width:18em; }

        .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%; }
        .w40p { width:40%; }
        .w50p { width:50%; }
        .w60p { width:60%; }
        .w70p { width:70%; }
        .w50-70p { width:50%; }
        .w50-60p { 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:800px; }
        .wrap-700   { max-width: 700px; }
        .wrap-640   { max-width: 640px; }
        .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-350   { max-width: 350px; }
        .wrap-300   { max-width: 300px; }
        .tablet-max500 { max-width:500px; }
        .tablet-w540 { max-width:540px; }
        .tablet-w500 { max-width:500px; }
        .tablet-w690 { max-width:690px; margin-inline:auto; }
        .w50-60p { width:60%; }
        
        .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:470px; }
        .wrap-300   { max-width: 300px; }
        .sp-wauto th.w50p { width: auto; }
        .sp-w9em { width: 9em;}
        .w20p-35p { width:35%; }
        .tablet-w540 { max-width:330px; }
        .sp-w270 { max-width:270px; }
        .sp-w120 { max-width:120px; }
        }

/*==================================================================================================

       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; }
        
        .relative { position: relative;}
        .hidden { overflow: hidden; }

        .radius,
        .radius video,
        .radius img { border-radius:10px; }
        .radius-s,
        .radius-s img { border-radius:4px; }
        .radius-ss,
        .radius-ss img { border-radius: 20px; }

        @media screen and (max-width: 1024px) {
        .radius,
        .radius video,
        .radius img { border-radius:10px; }
        .radius-s,
        .radius-s img { border-radius:4px; }
        .radius-ss,
        .radius-ss img { border-radius: 12px; }
        }
        @media screen and (max-width: 767px) {
        .radius,
        .radius video,
        .radius img { border-radius:10px; }
        .radius-s,
        .radius-s img { border-radius:3px; }
        .radius-ss,
        .radius-ss img { border-radius: 10px; }
        .sp-radius-none,.sp-radius-none img { border-radius: 0; }
        }

.anchor { padding-top:90px; margin-top:-90px; }

/*==================================================================================================

      　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);
        }

/*==================================================================================================

       text

===================================================================================================*/

        .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;}
        .tablet-center { text-align: center; }
        }
        @media only screen and (max-width: 767px) {
        .center-left    { text-align:left;}
        .left-center    { text-align:center;}
        .sp-left { text-align: left; }
        }

/*==================================================================================================

        テキスト

===================================================================================================*/

.small { font-size: .875rem;}
.smaller { font-size: .75rem;}


        .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;}
        .f20 {font-size:20px;}
        .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;}
        .f42 {font-size:42px;}
        .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;}
        .f110{font-size:110px;}
        .f120{font-size:120px;}
        .f150{font-size:150px;}
        .f180{font-size:180px;}

        .lh100 { line-height:100%; }
        .lh110 { line-height:110%; }
        .lh120 { line-height:120%; }
        .lh125 { line-height:125%; }
        .lh135 { line-height:135%; }
        .lh140 { line-height:140%; }
        .lh145 { line-height:145%; }
        .lh150 { line-height:150%; }
        .lh160 { line-height:160%; }
        .lh170 { line-height:170%; }
        .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%; }
        
        .lh200-160 { line-height:200%; }

        @media screen and (max-width: 1600px) {
        .f42 {font-size:39px;}
        .f45 {font-size:40px;}
        
        .lh220 { line-height:210%; }
        }

        @media screen and (max-width: 1350px) {
        .f16 {font-size:15px;}
        .f17 {font-size:16px;}
        .f18 {font-size:17px;}
        .f20 {font-size:18px;}
        .f21 {font-size:19px;}
        .f24 {font-size:20px;}
        .f27 {font-size:23px;}
        .f30 {font-size:25px;}
        .f33 {font-size:27px;}
        .f36 {font-size:30px;}
        .f39 {font-size:32px;}
        .f42 {font-size:34px;}
        .f45 {font-size:36px;}
        .f51 {font-size:40px;}
        .f60 {font-size:45px;}
        .f69 {font-size:56px;}
        .f72 {font-size:57px;}
        .f75 {font-size:58px;}
        .f90 {font-size:72px;}
        .f110{font-size:100px;}
        .f120{font-size:105px;}
        .f150{font-size:130px;}
        .f180{font-size:162px;}
        
        .lh220 { line-height:200%; }
        .lh250 { line-height:200%; }
        }
        @media screen and (max-width: 1024px) {
        .f12 {font-size:11px;}
        .f13 {font-size:12px;}
        .f14 {font-size:12px;}
        .f15 {font-size:14px;}
        .f16 {font-size:15px;}
        .f17 {font-size:15px;}
        .f18 {font-size:16px;}
        .f20 {font-size:17px;}
        .f21 {font-size:18px;}
        .f24 {font-size:19px;}
        .f27 {font-size:22px;}
        .f30 {font-size:24px;}
        .f33 {font-size:25px;}
        .f36 {font-size:27px;}
        .f39 {font-size:29px;}
        .f42 {font-size:31px;}
        .f45 {font-size:32px;}
        .f51 {font-size:39px;}
        .f60 {font-size:43px;}
        .f69 {font-size:52px;}
        .f72 {font-size:53px;}
        .f75 {font-size:55px;}
        .f90 {font-size:60px;}
        .f110{font-size:85px;}
        .f120{font-size:90px;}
        .f150{font-size:110px;}
        .f180{font-size:135px;}

        .lh170 { line-height:160%; }
        .lh180 { line-height:170%; }
        .lh220 { line-height:190%; }
        .lh235 { line-height:210%; }
        .lh250 { line-height:200%; }
        .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:14px;}
        .f16 {font-size:15px;}
        .f17 {font-size:15px;}
        .f18 {font-size:16px;}
        .f20 {font-size:17px;}
        .f21 {font-size:17px;}
        .f24 {font-size:18px;}
        .f27 {font-size:22px;}
        .f30 {font-size:23px;}
        .f33 {font-size:24px;}
        .f36 {font-size:25px;}
        .f39 {font-size:27px;}
        .f42 {font-size:28px;}
        .f45 {font-size:29px;}
        .f51 {font-size:32px;}
        .f60 {font-size:40px;}
        .f69 {font-size:41px;}
        .f72 {font-size:42px;}
        .f75 {font-size:42px;}
        .f90 {font-size:50px;}
        .f110{font-size:55px;}
        .f120{font-size:55px;}
        .f150{font-size:75px;}
        .f180{font-size:80px;}

        .lh170 { line-height:150%; }
        .lh175 { line-height:160%; }
        .lh180 { line-height:160%; }
        .lh200 { line-height:180%; }
        .lh220 { line-height:180%; }
        .lh235 { line-height:200%; }
        .lh250 { line-height:200%; }
        .lh300 { line-height:250%; }
        
        .lh200-160 { line-height:160%; }
        }


/*==================================================================================================

       デバイス

===================================================================================================*/

        .sp-none        { }
        .sp-on		    { display:none;}
            .tablet-none.sp-on		    { display:block;}
        .sp-inline-on   { display:none;}
        .tablet-on		{ display:none;}
        .w1450-none     { display:inline-block; }
        .w1400-on       { display:none; }
        .w1120-none     { display:inline-block; }
        .w1120-on       { display:none; }
        .w1280-none     { display:inline-block; }
        .w1200-none     {  }
        .w1200-inline-none     {  display:inline-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; }
        .w1600on        { display: none; }
        .w820-on       { display:none; }
        .tablet-inline-none	{ display:inline-block; } 
        .tablet-inline-on	{ display:none; }
        .w1700-on { display: none; }

        @media screen and (max-width:1700px) {
        .w1700-on { display: block; }
        }        
        .w1650-none { display: block; }
        @media screen and (max-width:1650px) {
        .w1650-none { display: none; }
        }
        @media screen and (max-width:1600px) {
        .w1600on { display: block; }
        }
        @media screen and (max-width:1500px) {
        .w1500-none { display: none; }
        }
        @media screen and (max-width:1450px) {
        .w1450-none { display: none; }
        }
        @media screen and (max-width:1400px) {
        .w1400-on       { display:block; }
        }
        @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: 1280px) {
        .w1280none     { 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-inline-none { display:none; }
        .w1200-on       { display:block; }
        }
        @media screen and (max-width: 1120px) {
        .w1120-none     { display:none; }
        .w1120-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; }
        .tablet-inline-on	{ display:inline-block; }
        }
        @media screen and (max-width: 820px) {
        .w820-on       { display:block; }
        }
        @media screen and (max-width: 767px) {
        .sp-none		{ display:none !important;}
        .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;}
        .sp-wide { width:110%; margin-left:-5%;}
        .sp-wide-l { width:120%; margin-left:-10%;}
        }

/*==================================================================================================

      　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; }
        }



