@charset "UTF-8";
/*! consolidated by zip-checker build 2026-06-10 — 元: reset/parts/customize/menu_pc/menu_mb/def/css01 */

/* ===================== reset.css (all) ===================== */
/* RESET
----------------------------------------------------------------------------------------------------*/
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
caption,
canvas,
center,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
form,
footer,
header,
hgroup,
h1,
h2,
h3,
h4,
h5,
h6,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
tt,
table,
tbody,
textarea,
tfoot,
thead,
time,
tr,
th,
td,
u,
ul,
var,
video {
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
    vertical-align: bottom;
    /* white-space: normal; */
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

:focus {
    outline: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

/*input,textarea,select {
-webkit-appearance: none;
}*/

b,
strong {
    font-weight: bold;
}

.continer {
    max-width: 1200px;
    margin: auto;
}

#creative_store {
    background: linear-gradient(to right bottom, #9400D3 0%, #FFF 20%, #FFF 80%, #9400D3 100%);
}

.site-table {
    border-radius: 10px;
    overflow: hidden;
}

.site-table th,
.site-table td {
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
    line-height: 1.6;
}

.nowrap {
    white-space: nowrap;
}

/* ============== parts.css (PC / min-width:835px) ============== */
@media (min-width: 835px) {
    html {
        overflow-y: scroll;
        overflow-x: hidden;
        font-size: 62.5%;
    }

    body {
        width: 100%;
        height: auto;
        overflow: hidden;
        font-size: 2rem;
        line-height: 1;
        color: #252525;
        font-family: "游ゴシック Medium", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴシック Pro", Meiryo, "メイリオ", YuGothic, "游ゴシック体", Osaka, MS PGothic, "ＭＳ Ｐゴシック", sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        -webkit-text-size-adjust: 100%;
    }

    .en {
        font-family: 'Spartan', sans-serif;
        letter-spacing: -0.05em;
    }

    :root {
        --weight-bold: 700;
        /*font-weight=bold*/
        --weight-normal: 500;
        /*font-weight=normal*/
    }

    /*var(--weight-bold)*/


    ul {
        list-style: none;
    }

    img {
        vertical-align: bottom;
        outline: none;
    }

    .left-text {
        display: inline-block;
        margin: auto;
        text-align: left !important;
        padding: 0 1rem !important;
    }

    .mb-0 {
        margin-bottom: 0 !important;
    }

    .text-md-center {
        text-align: center;
    }


    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        img {
            width: 100%;
            height: auto;
        }

        .small-pc {
            display: none;
        }
    }


    a {
        text-decoration: none;
        color: #000;
    }

    a img {
        border: 0;
    }

    /*PC*/
    @media (min-width: 835px) {
        .pc {
            display: block;
        }

        .tab {
            display: none;
        }

        .sp {
            display: none;
        }

        .mb {
            display: none;
        }

        a:link,
        a:visited {
            color: #000;
        }

        a:hover,
        a:active {
            color: #000;
        }

        header a img,
        footer a img {
            transition: opacity .3s;
        }

        header a:hover img,
        footer a:hover img {
            opacity: 0.7;
        }
    }


    @media (min-width: 520px) {
        a[href*="tel:"] {
            pointer-events: none;
            cursor: default;
            text-decoration: none;
        }
    }



    #container {
        width: 100%;
    }

    #wrap_contents {
        width: 100%;
        background-color: #fbfbfb;
    }

    .section_inner,
    #main_contents {
        box-sizing: border-box;
        width: 100%;
        max-width: 1920px;
        margin-left: auto;
        margin-right: auto;
        position: relative;
    }

    #main_contents {
        max-width: 1200px;
        padding-bottom: 80px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #main_contents {
            padding-bottom: 4.16vw;
        }
    }



    /*parts
==========================================================*/
    /*ホバーで文字が変わるリンク*/
    a[class^="hovertxt"],
    .hovertxt_service {
        position: relative;
    }

    a[class^="hovertxt"]::after,
    .hovertxt_service::after {
        position: absolute;
        left: 0;
        top: 0;
        font-size: 1em;
        opacity: 0;
        transition: opacity .5s linear;
        white-space: nowrap;
    }

    a[class^="hovertxt"] span,
    .hovertxt_service span {
        opacity: 1;
        transition: opacity .5s ease-out
    }

    a[class^="hovertxt"]:hover span,
    .hovertxt_service:hover span {
        opacity: 0;
        transition: opacity .5s ease-out
    }

    a[class^="hovertxt"]:hover::after,
    .hovertxt_service:hover::after {
        opacity: 1;
        transition: opacity .5s cubic-bezier(0.075, 0.82, 0.165, 1)
    }

    a.hovertxt_home::after {
        content: "ホーム";
    }

    .hovertxt_service::after {
        content: "サービス";
    }

    a.hovertxt_news::after {
        content: "ニュース";
    }

    a.hovertxt_company::after {
        content: "会社概要";
    }

    a.hovertxt_contact::after {
        content: "お問い合わせ";
    }

    a.hovertxt_service01::after {
        content: "インターネット広告";
    }

    a.hovertxt_service02::after {
        content: "スペースデザイン事業";
    }

    a.hovertxt_service03::after {
        content: "広告事業";
    }

    a.hovertxt_service04::after {
        content: "VR空間事業";
    }

    a.hovertxt_service05::after {
        content: "フィットネス事業";
    }



    /*緑のグラデボタン*/
    .color_btn {
        background-image: linear-gradient(to right, #66b553 0%, #125648 45%, #0e6440 100%);
        background-size: 200% auto;
        transition: .3s;
        color: #fff !important;

    }

    .color_btn:hover,
    a:hover .color_btn {
        background-position: right center;
    }



    /*平行四辺形のボタン*/
    .skew_btn {
        transform: skewX(-18deg);
    }

    .skew_btn span {
        transform: skewX(18deg);
    }






    /* LOADING
* ----------------------------------------------- */
    #mask {
        opacity: 1;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 100000;
        background: #fff;
    }

    #splash {
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 2010;
        background: #fff;
        text-align: center;
    }

    #splash_logo {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    #splash_logo img {
        width: 400px;
    }

    .fadeUp {
        animation-name: fadeUpAnime;
        animation-duration: 0.5s;
        animation-fill-mode: forwards;
        opacity: 0;
    }

    @keyframes fadeUpAnime {
        from {
            opacity: 0;
            transform: translateY(100px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }







    /*footer
==========================================================*/
    .footer_inner {
        width: 100%;
        margin: 0 auto;
        max-width: 1920px;
    }

    /*footer01*/
    .footer01 {
        background-image: url("/assets/img/bg_contact_pc.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        width: 100%;
        height: 200px;
        padding: 49px 0;
        box-sizing: border-box;
    }

    .footer01 .footer_inner {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .footer01 {
            height: 10.41vw;
            padding: 2.5vw 0;
        }
    }


    /*contact title*/
    .footer_contact_title {
        width: 50%;
        padding: 30px 95px 30px 0;
        box-sizing: border-box;
        display: flex;
        justify-content: flex-end;
        border-right: 1px solid #fff;
    }

    .footer_contact_title .en {
        font-size: 5rem;
        font-weight: var(--weight-normal);
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .footer_contact_title {
            padding: 1.56vw 4.94vw 1.56vw 0;
        }

        .footer_contact_title .en {
            font-size: 2.6vw;
        }
    }


    /*tel,btn*/
    .footer_contact_txt {
        width: 50%;
        display: flex;
        padding-left: 95px;
        box-sizing: border-box;
    }

    .footer_contact_txt .phone {
        font-size: 4.5rem;
        font-family: "Helvetica Neue", "Helvetica", sans-serif;
        font-weight: var(--weight-normal);
        padding-left: 1.1em;
        background-image: url("/assets/img/icon_phone02.png");
        background-repeat: no-repeat;
        background-position: left 0.5em;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .footer_contact_txt .contact_btn {
        width: 393px;
        height: 80px;
        margin-left: 30px;
    }

    .footer_contact_txt .contact_btn a {
        font-size: 3rem;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 80px;
    }

    .footer_contact_txt .contact_btn a span {
        padding: 0 0 0 2em;
        background-image: url("/assets/img/icon_mail02.png");
        background-repeat: no-repeat;
        background-position: left center;
        display: inline-block;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .footer_contact_txt {
            padding-left: 4.97vw;
        }

        .footer_contact_txt .phone {
            font-size: 2.34vw;
            background-size: 1.82vw auto;
        }

        .footer_contact_txt .contact_btn {
            width: 20.46vw;
            height: 4.16vw;
            margin-left: 1.56vw;
        }

        .footer_contact_txt .contact_btn a {
            font-size: 1.56vw;
            height: 4.16vw;
        }

        .footer_contact_txt .contact_btn a span {
            background-size: 2.29vw auto;
        }
    }


    /*footer02*/
    .footer02 {
        background-color: #fbfbfb;
        width: 100%;
        padding: 50px;
        text-align: center;
    }

    .footer_logo img {
        width: 250px;
        height: auto;
        margin-bottom: 30px;
    }

    .footer_company_name {
        font-size: 1.8rem;
    }

    .footer_address {
        font-size: 1.5rem;
        padding: 1em 0 0;
    }

    .footer02 .mark {
        display: flex;
        justify-content: center;
        margin-top: 30px;
    }

    .footer02 .mark li {
        margin: 0 15px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .footer02 {
            padding: 2.6vw;
        }

        .footer_logo img {
            /*width: 13.02vw;*/
            width: 9.11vw;
            margin-bottom: 1.56vw;
        }

        .footer_company_name {
            font-size: 0.93vw;
        }

        .footer_address {
            font-size: 0.78vw;
        }

        .footer02 .mark {
            margin-top: 1.56vw;
        }

        .footer02 .mark li {
            margin: 0 0.78vw;
            width: 3.22vw;
        }
    }



    /*footer03*/
    .footer03 {
        background-color: #2e2e2e;
        width: 100%;
        padding: 60px 0 0;
        color: #bfc0c0
    }

    .copyright {
        font-size: 1.2rem;
        padding: 30px;
        border-top: 1px solid #474747;
        text-align: center;
        font-family: Arial, Helvetica, sans-serif;
    }

    .copyright .br {
        display: none;
    }

    .footer_link {
        width: 780px;
        margin: 0 auto;
        font-size: 1.4rem;
        line-height: 1;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 200px;
    }

    .footer_link .sns {
        font-size: 2.4rem;
    }

    .footer_link li {
        position: relative;
    }

    .footer_link li a,
    .footer_link li .hovertxt_service {
        color: #4b9543;
        transition: color .5s;
    }

    .footer_link li a:hover {
        color: rgba(75, 149, 67, 0.7);
    }

    footer .sublink {
        border-left: 1px solid #bfc0c0;
        padding-bottom: 0.5em;
        position: absolute;
        top: 2em;
        left: -1em;
        display: inline-block;
    }

    .footer_link li li {
        padding: 0.8em 0 0 1em;
        white-space: nowrap;
    }

    .footer_link li li a {
        color: #bfc0c0;
    }

    .footer_link li li a:hover {
        color: rgba(191, 192, 192, 0.7);
    }

    .footer_link a[class^="hovertxt"]::after,
    .footer_link .hovertxt_service::after {
        color: rgba(75, 149, 67, 0.7);
    }

    .footer_link a.hovertxt_service01::after,
    .footer_link a.hovertxt_service02::after,
    .footer_link a.hovertxt_service03::after,
    .footer_link a.hovertxt_service04::after,
    .footer_link a.hovertxt_service05::after {
        color: rgba(191, 192, 192, 0.7) !important;
        top: 1px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .footer03 {
            padding: 3.12vw 0 0;
        }

        .copyright {
            padding: 1.56vw;
        }

        .footer_link {
            width: 40.62vw;
            padding-bottom: 10.41vw;
        }
    }

    @media (max-width: 1200px) {

        .footer_link,
        .copyright {
            font-size: 1vw;
        }

        .footer_link .sns {
            font-size: 1.2vw;
        }
    }

    /*アニメーション*/
    .footer01 .footer_inner {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    .footer01.active .footer_inner {
        transform: translateY(0);
        opacity: 1;
    }

    .footer02 .footer_logo {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.5s;
    }

    .footer02.active .footer_logo {
        transform: translateY(0);
        opacity: 1;
    }

    .footer02 .footer_company_name,
    .footer02 .footer_address {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.8s;
    }

    .footer02.active .footer_company_name,
    .footer02.active .footer_address {
        transform: translateY(0);
        opacity: 1;
    }

    .footer02 .mark {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.2s;
    }

    .footer02.active .mark {
        transform: translateY(0);
        opacity: 1;
    }

    .footer03 .footer_link {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.1s;
    }

    .footer03.active .footer_link {
        transform: translateY(0);
        opacity: 1;
    }




    /*==========================================================
top page
==========================================================*/



    /*first_view
=======================*/
    #first_view {
        width: 100%;
        height: 100vh;
    }

    #first_view .fixed_div {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* video */
    #first_view .video-box {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 100vh;
    }

    #first_view .video {
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 100%;
        min-height: 100%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    /* overlay */
    #first_view .overlay::after {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        content: "";
        background-image: url("/assets/img/dot.png");
        background-repeat: repeat;
        background-color: rgba(37, 24, 16, 0.3);
    }

    /* text */
    #first_view .text-box {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        /*width: 884px;
height: 222px;*/
        width: 960px;
        height: 261px;
        background-image: url("/assets/img/fv_txt_pc.png");
        background-repeat: no-repeat;
        background-position: left top;
        background-size: 100% auto;
    }

    #first_view .text-box img {
        display: none;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #first_view .text-box {
            /*width: 46.04vw;
height: 11.57vw;*/
            width: 50vw;
            height: 13.6vw;
        }
    }




    /*lead
=======================*/
    #lead {
        padding-top: 258px;
        text-align: center;
    }

    #lead .section_inner {
        padding: 0 0 120px;
    }

    .lead_bg {
        background-image: url("/assets/img/bg01.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 100% auto;
    }

    .lead_logo {
        width: 783px;
        display: inline-block;
        margin-top: -127px;
        padding-bottom: 92px;
    }

    .lead_title {
        width: 540px;
        margin: 0 auto 56px;
    }

    .lead_title img {
        width: 540px;
        height: auto;
    }

    .lead_txt {
        font-size: 1.6rem;
        line-height: 2;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #lead {
            padding-top: 13.43vw;
        }

        #lead .section_inner {
            padding: 0 0 6.25vw;
        }

        .lead_logo {
            width: 40.78vw;
            margin-top: -6.61vw;
            padding-bottom: 4.79vw;
        }

        .lead_title {
            width: 28.12vw;
            margin: 0 auto 2.91vw;
        }

        .lead_title img {
            width: 28.12vw;
        }

        .lead_txt {
            font-size: 0.83vw;
        }
    }

    /*アニメーション*/
    #lead .lead_logo {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.5s;
    }

    #lead.active .lead_logo {
        transform: translateY(0);
        opacity: 1;
    }

    #lead .lead_title {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.2s;
    }

    #lead.active .lead_title {
        transform: translateY(0);
        opacity: 1;
    }

    #lead .lead_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 2.2s;
    }

    #lead.active .lead_txt {
        transform: translateY(0);
        opacity: 1;
    }



    /*service
=======================*/
    #service {
        padding: 150px 0 400px;
    }


    /*飾り付きのセクションタイトル*/
    .section_title {
        text-align: center;
    }

    .section_title .en {
        font-size: 7rem;
        font-weight: var(--weight-normal);
        padding-bottom: 36px;
        margin-bottom: 120px;
        display: inline-block;
        position: relative;
    }

    .section_title .en::after {
        content: "";
        width: 72px;
        height: 7px;
        background-color: #000;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #service {
            padding: 7.81vw 0 20.83vw;
        }

        /*飾り付きのセクションタイトル*/
        .section_title .en {
            font-size: 3.64vw;
            padding-bottom: 1.87vw;
            margin-bottom: 6.25vw;
        }

        .section_title .en::after {
            width: 3.75vw;
            height: 0.36vw;
        }
    }

    /*影付きボックス*/
    .service_box {
        background-color: #fff;
        box-shadow: 3px 3px 15px rgb(102 102 102 / 30%);
        padding: 60px 60px 80px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        flex-direction: column;
        position: relative;
        z-index: 2;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .service_box {
            padding: 3.12vw 3.12vw 4.16vw;
        }
    }


    /*英語タイトル部分*/
    #service .title_en {
        font-size: 6rem;
        font-style: italic;
        font-weight: var(--weight-bold);
        margin-bottom: -13px;
    }

    /*日本語タイトル部分*/
    .service_box .title_jp {
        font-size: 4rem;
        font-style: italic;
        font-weight: 600;
    }

    /*ボックスの中の本文*/
    .service_box .desc {
        font-size: 1.6rem;
        line-height: 2;
        letter-spacing: 0.05em;
        padding-top: 1em;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #service .title_en {
            font-size: 3.12vw;
            margin-bottom: -0.67vw;
        }

        .service_box .title_jp {
            font-size: 2.08vw;
        }
    }

    @media (max-width: 1200px) {
        .service_box .desc {
            font-size: 1.2vw;
        }
    }


    /*block01：インターネット広告*/
    #service a:hover .ph img {
        opacity: 1;
    }

    #service .block01 {
        width: 1560px;
        margin: 0 auto 140px;
        position: relative;
    }

    #service .block01::after {
        content: "";
        display: block;
        clear: both;
    }

    #service .block01 .ph {
        width: 900px;
        float: right;
    }

    #service .block01 .service_txt {
        width: 750px;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    #service .block01 .service_box {
        height: 360px;
    }

    /*block02とblock03のラッパー*/
    #service .block_wrapper {
        width: 1920px;
        display: flex;
    }

    /*block02：スペースデザイン事業*/
    #service .block02 {
        width: 50%;
        position: relative;
    }

    /*block03：デザイン制作*/
    #service .block03 {
        width: 50%;
        margin-top: 102px;
        position: relative;
    }

    #service .block02 .service_txt {
        width: 858px;
        position: absolute;
        right: 0;
        bottom: -120px;
    }

    #service .block03 .service_txt {
        width: 858px;
        position: absolute;
        right: 0;
        bottom: -220px;
    }

    #service .block_wrapper .title_en {
        color: #fff;
    }

    #service .block_wrapper .service_box {
        height: 316px;
    }

    /*block04：3D*/
    #service .block04 {
        width: 1560px;
        margin: 26rem auto 140px;
        position: relative;
    }

    #service .block04::after {
        content: "";
        display: block;
        clear: both;
    }

    #service .block04 .ph {
        width: 900px;
        float: right;
    }

    #service .block04 .ph img {
        width: 100%;
    }

    #service .block04 .service_txt {
        width: 750px;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    /*block05：FITNESS*/
    #service .block05 {
        width: 1560px;
        margin: 0 auto 140px;
        position: relative;
    }

    #service .block05::after {
        content: "";
        display: block;
        clear: both;
    }

    #service .block05 .ph {
        width: 900px;
        float: right;
    }

    #service .block05 .ph img {
        width: 100%;
    }

    #service .block05 .service_txt {
        width: 750px;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    #service .block04 .service_box {
        height: 360px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #service .block01 {
            width: 81.25vw;
            margin: 0 auto 7.29vw;
        }

        #service .block01 .ph {
            width: 46.87vw;
        }

        #service .block01 .service_txt {
            width: 39.02vw;
        }

        #service .block01 .service_box {
            height: 18.75vw;
        }

        #service .block_wrapper {
            width: 100vw;
        }

        #service .block03 {
            margin-top: 5.31vw;
        }

        #service .block02 .service_txt {
            width: 44.68vw;
            bottom: -6.25vw;
        }

        #service .block03 .service_txt {
            width: 44.68vw;
            bottom: -11.45vw;
        }

        #service .block_wrapper .service_box {
            height: 16.45vw;
        }

        #service .block04 {
            width: 81.25vw;
            margin: 34rem auto 7.29vw;
        }

        #service .block04 .ph {
            width: 46.87vw;
        }

        #service .block04 .service_txt {
            width: 39.02vw;
        }

        #service .block04 .service_box {
            height: 18.75vw;
        }

        #service .block05 {
            width: 81.25vw;
            margin: 4rem auto 4rem;
        }

        #service .block05 .ph {
            width: 46.87vw;
        }

        #service .block05 .service_txt {
            width: 39.02vw;
        }

        #service .block05 .service_box {
            height: 18.75vw;
        }
    }


    /*VIEW MOREボタン*/
    #service .btn_more {
        position: absolute;
        left: 50%;
        bottom: -40px;
        width: 450px;
        transform: translateX(-50%);
        z-index: 3;
        font-size: 2rem;
    }

    #service .btn_more .skew_btn {
        width: 450px;
        height: 80px;
        display: block;
        position: relative;
    }

    #service .btn_more .skew_btn span {
        position: absolute;
        right: 94px;
        bottom: 20px;
        padding-right: 1em;
    }

    #service .btn_more .skew_btn span::before {
        content: "";
        width: 58px;
        height: 1px;
        background-color: #fff;
        position: absolute;
        right: -58px;
        bottom: 0.5em;
        transition: all .3s;
    }

    #service .btn_more .skew_btn span::after {
        content: "";
        width: 10px;
        height: 1px;
        background-color: #fff;
        transform: rotate(35deg);
        position: absolute;
        right: -58px;
        bottom: calc(0.5em + 3px);
        transition: all .3s;
    }

    #service a:hover .btn_more .skew_btn span::before {
        width: 68px;
        right: -68px;
    }

    #service a:hover .btn_more .skew_btn span::after {
        right: -68px;

    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #service .btn_more {
            bottom: -2.08vw;
            width: 23.43vw;
            font-size: 1.04vw;
        }

        #service .btn_more .skew_btn {
            width: 23.43vw;
            height: 4.16vw;
        }

        #service .btn_more .skew_btn span {
            right: 4.89vw;
            bottom: 1.04vw;
        }

        #service .btn_more .skew_btn span::before {
            width: 3.02vw;
            right: -3.02vw;
        }

        #service .btn_more .skew_btn span::after {
            width: 0.52vw;
            right: -3.02vw;
            bottom: calc(0.5em + 0.15vw);
        }

        #service a:hover .btn_more .skew_btn span::before {
            width: 3.54vw;
            right: -3.54vw;
        }

        #service a:hover .btn_more .skew_btn span::after {
            right: -3.54vw;

        }
    }

    /*アニメーション*/
    #service .section_title .en::after {
        opacity: 0;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: all .8s 0s;
    }

    #service .section_title.active .en::after {
        opacity: 1;
        transform: scale(1, 1);
    }

    #service .block01 .ph {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.2s;
    }

    #service .block01.active .ph {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block01 .service_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.8s;
    }

    #service .block01.active .service_txt {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block01 .title_jp,
    #service .block01 .desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.2s;
    }

    #service .block01.active .title_jp,
    #service .block01.active .desc {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block01 .btn_inner {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.7s;
    }

    #service .block01.active .btn_inner {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block02 .ph {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.2s;
    }

    #service .block02.active .ph {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block02 .service_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.8s;
    }

    #service .block02.active .service_txt {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block02 .title_jp,
    #service .block02 .desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.2s;
    }

    #service .block02.active .title_jp,
    #service .block02.active .desc {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block02 .btn_inner {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.7s;
    }

    #service .block02.active .btn_inner {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block03 .ph {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.9s;
    }

    #service .block03.active .ph {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block03 .service_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.5s;
    }

    #service .block03.active .service_txt {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block03 .title_jp,
    #service .block03 .desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.9s;
    }

    #service .block03.active .title_jp,
    #service .block03.active .desc {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block03 .btn_inner {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 2.4s;
    }

    #service .block03.active .btn_inner {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block04 .ph {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.2s;
    }

    #service .block04.active .ph {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block04 .service_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.8s;
    }

    #service .block04.active .service_txt {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block04 .title_jp,
    #service .block04 .desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.2s;
    }

    #service .block04.active .title_jp,
    #service .block04.active .desc {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block04 .btn_inner {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.7s;
    }

    #service .block04.active .btn_inner {
        transform: translateY(0);
        opacity: 1;
    }


    /*spacer_ph
=======================*/
    .spacer_ph {
        background-image: url("/assets/img/top_ph04.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        height: 550px;
        position: relative;
    }


    .spacer_ph::after {
        content: "";
        width: 100%;
        height: 100%;
        background-image: url("/assets/img/dot.png");
        background-repeat: repeat;
        background-color: rgba(37, 24, 16, 0.3);
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .spacer_ph {
            height: 28.64vw;
        }
    }




    /*news
=======================*/
    #news {
        padding: 150px 0;
    }

    #top .news_list {
        width: 820px;
        height: 350px;
        margin: 0 auto 68px;
        overflow-y: scroll;
    }

    .news_list li a {
        display: flex;
        width: 100%;
        padding: 23px 30px;
        box-sizing: border-box;
        font-size: 1.6rem;
        line-height: 1.5;
    }

    #top .news_list li:nth-child(odd) {
        background-color: #f0f0f0;
    }

    .news_list .date {
        width: 7.2em;
    }

    #topics_list6 .news_list .date {
        color: #488f41;
    }

    .news_list p {
        /*width: calc(100% - 7.2em);*/
        transition: color .3s;
    }

    .news_list a:hover p,
    #topics_list6 .news_list a:hover {
        color: #488f41;
    }

    #news .btn_more02 {
        display: flex;
        justify-content: center;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #news {
            padding: 7.81vw 0;
        }

        #top .news_list {
            width: 42.7vw;
            height: 18.22vw;
            margin: 0 auto 3.54vw;
        }

        .news_list li a {
            padding: 1.19vw 1.56vw;
        }
    }

    @media (max-width: 1200px) {
        .news_list li a {
            font-size: 1.2vw;
        }
    }


    /*VIEW MOREボタン02（矢印線のみ）*/
    .btn_more02 a {
        width: 110px;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        font-size: 1.4rem;
        border-left: 1px solid #000;
    }

    .btn_more02 a::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 110px;
        height: 1px;
        background: #000;
        transition: all .3s;
    }

    .btn_more02 a::after {
        content: "";
        position: absolute;
        bottom: 3px;
        right: 0px;
        width: 10px;
        height: 1px;
        background: #000;
        transform: rotate(35deg);
        opacity: 0;
        transition: all .3s;
    }

    /*hoverした際の移動*/
    .btn_more02 a:hover::before {
        width: 120px;
    }

    .btn_more02 a:hover::after {
        opacity: 1;
        right: -10px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .btn_more02 a {
            width: 5.72vw;
            height: 2.18vw;
            font-size: 0.79vw;
        }

        .btn_more02 a::before {
            width: 5.72vw;
        }

        .btn_more02 a::after {
            bottom: 0.15vw;
            width: 0.52vw;
        }

        .btn_more02 a:hover::before {
            width: 6.25vw;
        }

        .btn_more02 a:hover::after {
            right: -0.52vw;
        }
    }

    /*アニメーション*/
    #news .section_title .en::after {
        opacity: 0;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: all .8s 0s;
    }

    #news.active .section_title .en::after {
        opacity: 1;
        transform: scale(1, 1);
    }

    #news .news_list {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1s;
    }

    #news.active .news_list {
        transform: translateY(0);
        opacity: 1;
    }

    #news .btn_more02 {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 2s;
    }

    #news.active .btn_more02 {
        transform: translateY(0);
        opacity: 1;
    }




    /*company
=======================*/
    #company {
        /*padding: 150px 0 0;*/
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .gmap {
        width: 50%;
        height: 628px;
    }

    .company_info {
        width: 50%;
        display: flex;
        justify-content: center;
    }

    .company_info_inner {
        display: inline-block;
        padding: 0 30px;
    }

    #company .section_title {
        text-align: left;
    }

    #company .section_title .en {
        margin-bottom: 66px;
    }

    .company_info .company_name {
        font-size: 2.5rem;
    }

    .company_info .address {
        font-size: 1.8rem;
        line-height: 1.5;
        padding: 1em 0 5em;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {

        /* #company {
padding: 7.81vw 0 0;
}*/
        .gmap {
            height: 32.7vw;
        }

        .company_info_inner {
            padding: 0 1.56vw;
        }

        #company .section_title .en {
            margin-bottom: 3.43vw;
        }
    }

    @media (max-width: 1600px) {

        .company_info .company_name,
        .company_info .address {
            font-size: 1.2vw;
        }
    }

    /*アニメーション*/
    #company .company_info .section_title .en::after {
        opacity: 0;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: all .8s 0s;
    }

    #company .company_info.active .section_title .en::after {
        opacity: 1;
        transform: scale(1, 1);
    }

    #company .company_info .company_name,
    #company .company_info .address {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.6s;
    }

    #company .company_info.active .company_name,
    #company .company_info.active .address {
        transform: translateY(0);
        opacity: 1;
    }

    #company .company_info .btn_more02 {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1s;
    }

    #company .company_info.active .btn_more02 {
        transform: translateY(0);
        opacity: 1;
    }





    /*==========================================================
subpage01(インターネット広告)
==========================================================*/


    /*first_view
=======================*/
    #first_view.sub .fixed_div {
        background-image: url("/assets/img/subpage01_fv_img_pc.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #first_view.sub .fixed_div div {
        padding-bottom: 60px;
        z-index: 3;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #first_view.sub .fixed_div img {
            width: 36.19vw;
            height: auto;
        }

        #first_view.sub .fixed_div div {
            padding-bottom: 3.125vw;
        }
    }

    /*アニメーション*/



    /*footpath
=======================*/
    #footpath {
        width: 100%;
        max-width: 1920px;
        margin: 0 auto;
        padding: 30px 20px 120px;
        display: flex;
        justify-content: flex-end;
        background-color: #fbfbfb;
    }

    #footpath ul {
        display: flex;
        font-size: 1.4rem;
    }

    #footpath li:not(:last-child) {
        padding-right: 2em;
        position: relative;
    }

    #footpath li:not(:last-child)::after {
        content: ">";
        display: inline-block;
        position: absolute;
        right: 0.75em;
        top: -0.1em;
    }

    #footpath a {
        color: #37864c;
        display: inline-block;
        position: relative;
    }

    #footpath a::after {
        position: absolute;
        bottom: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #37864c;
        transform: scale(1, 1);
        transform-origin: left top;
        transition: transform .3s;
    }

    #footpath a:hover::after {
        transform: scale(0, 1);
        transform-origin: right top;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #footpath {
            padding: 1.56vw 1.04vw 6.25vw;
        }

        #footpath ul {
            font-size: 0.72vw;
        }
    }


    /*大タイトル
=======================*/
    div.sub_wrap .title_txt,
    #main_contents h2 {
        font-size: 5rem;
        color: #000;
        font-weight: bold;
        font-style: italic;
    }

    div.sub_wrap .title_txt span {
        display: inline-block;
        padding-bottom: 36px;
        position: relative;
    }

    div.sub_wrap .title_txt span::after {
        content: "";
        width: 70px;
        height: 7px;
        background-image: linear-gradient(to right, #60A539 0%, #1A7159 51%, #093A36 100%);
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -35px;
    }

    div.sub_wrap .title_illust {
        width: 496px;
    }

    div.sub_wrap .subpage_title01 .title_txt,
    div.sub_wrap .subpage_title02 .title_txt {
        display: flex;
        align-items: center;
        width: 1399px;
        height: 167px;
        box-sizing: border-box;
        margin-bottom: 30px;
    }

    div.sub_wrap .subpage_title01 .title_txt {
        justify-content: flex-end;
        background-image: url("/assets/img/subpage01_bg01.png");
        background-repeat: no-repeat;
        background-position: left top;
        padding-right: 234px;
    }

    div.sub_wrap .subpage_title02 .title_txt {
        justify-content: flex-start;
        background-image: url("/assets/img/subpage01_bg02.png");
        background-repeat: no-repeat;
        background-position: right top;
        padding-left: 234px;
    }

    div.sub_wrap .subpage_title01,
    div.sub_wrap .subpage_title02 {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    div.sub_wrap .subpage_title02 .title_illust {
        order: 1;
    }

    div.sub_wrap .subpage_title02 .title_txt {
        order: 2;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {

        div.sub_wrap .title_txt,
        #main_contents h2 {
            font-size: 2.6vw;
        }

        div.sub_wrap .title_txt span {
            padding-bottom: 1.87vw;
        }

        div.sub_wrap .title_txt span::after {
            width: 3.64vw;
            height: 0.36vw;
            margin-left: -1.82vw;
        }

        div.sub_wrap .title_illust {
            width: 25.83vw;
        }

        div.sub_wrap .subpage_title01 .title_txt,
        div.sub_wrap .subpage_title02 .title_txt {
            width: 72.86vw;
            height: 8.69vw;
            margin-bottom: 1.56vw;
        }

        div.sub_wrap .subpage_title01 .title_txt {
            background-size: 72.86vw auto;
            padding-right: 12.18vw;
        }

        div.sub_wrap .subpage_title02 .title_txt {
            background-size: 72.86vw auto;
            padding-left: 12.18vw;
        }
    }



    /*本文
=======================*/
    div.sub_wrap .subpage_desc,
    #main_contents {
        font-size: 1.8rem;
        line-height: 2;
        color: #252525;
    }

    div.sub_wrap .subpage_desc {
        margin-bottom: 100px;
    }

    div.sub_wrap .txt_center {
        text-align: center;
    }

    div.sub_wrap #subpage01_01 .subpage_desc {
        margin-bottom: 96px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        div.sub_wrap #subpage01_01 .subpage_desc {
            margin-bottom: 5vw;
        }
    }

    @media (max-width: 1200px) {

        div.sub_wrap .subpage_desc,
        #main_contents {
            font-size: 1.2vw;
        }
    }



    /*#subpage01_01 , #subpage01_02
=======================*/
    #subpage01_01 {
        padding-bottom: 170px;
    }

    #subpage01_02 {
        padding-bottom: 170px;

    }

    /*subpage_block*/
    #subpage01_01 .subpage_block {
        width: 1546px;
        margin: 0 0 0 auto;
        position: relative;
    }

    #subpage01_02 .subpage_block {
        width: 1546px;
        margin: 100px auto 0 0;
        position: relative;
    }

    /*subpage_ph*/
    #subpage01_01 .subpage_ph {
        width: 960px;
        margin: 0 0 0 auto;
    }

    #subpage01_02 .subpage_ph {
        width: 960px;
        margin: 0 auto 0 0;
    }

    /*shadow_box*/
    div.sub_wrap .shadow_box {
        background-color: #fff;
        box-shadow: 3px 3px 15px rgb(102 102 102 / 30%);
        padding: 60px 46px;
        box-sizing: border-box;
        position: absolute;
    }

    #subpage01_01 .shadow_box {
        left: 0;
        bottom: 0;
        width: 625px;
        height: 580px;
    }

    #subpage01_02 .shadow_box {
        right: 0;
        bottom: 0;
        width: 625px;
        height: 580px;
    }

    /*subpage_subtitle01*/
    div.sub_wrap .subpage_subtitle01 {
        font-size: 4rem;
        color: #37864c;
        font-weight: bold;
        margin-bottom: 1em;
    }

    /*bullet_list*/
    div.sub_wrap .bullet_list li {
        background-image: url("/assets/img/bullet.png");
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 34px auto;
        padding-left: 58px;
        margin-bottom: 26px;
        font-size: 2.5rem;
        min-height: 34px;
        display: flex;
        align-items: center;
    }

    /*subpage_ph_list*/
    #subpage01_01 .subpage_ph_list {
        display: flex;
        position: absolute;
        left: 40px;
        bottom: -40px;
    }

    #subpage01_02 .subpage_ph_list {
        display: flex;
        position: absolute;
        right: 40px;
        bottom: -40px;
    }

    #internet_ad .subpage_ph_list li {
        margin-right: 27px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #subpage01_01 {
            padding-bottom: 8.85vw;
        }

        #subpage01_02 {
            padding-bottom: 8.85vw;
        }

        #subpage01_01 .subpage_block {
            width: 80.52vw;
        }

        #subpage01_02 .subpage_block {
            width: 80.52vw;
            margin: 5.2vw auto 0 0;
        }

        #subpage01_01 .subpage_ph {
            width: 50vw;
        }

        #subpage01_02 .subpage_ph {
            width: 50vw;
        }

        div.sub_wrap .shadow_box {
            padding: 3.12vw 2.39vw;
        }

        #subpage01_01 .shadow_box {
            width: 32.55vw;
            height: 30.2vw;
        }

        #subpage01_02 .shadow_box {
            width: 32.55vw;
            height: 30.2vw;
        }

        div.sub_wrap .subpage_subtitle01 {
            font-size: 2.08vw;
        }

        div.sub_wrap .bullet_list li {
            background-size: 1.77vw auto;
            padding-left: 3.02vw;
            margin-bottom: 1.35vw;
            font-size: 1.3vw;
            min-height: 1.77vw;
        }

        #subpage01_01 .subpage_ph_list {
            left: 2.08vw;
            bottom: -2.08vw;
        }

        #subpage01_02 .subpage_ph_list {
            right: 2.08vw;
            bottom: -2.08vw;
        }

        #internet_ad .subpage_ph_list li {
            margin-right: 1.4vw;
            width: 12.6vw;
        }
    }

    /*アニメーション*/
    .subpage_title01 .title_txt,
    .subpage_title02 .title_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    .subpage_title01.active .title_txt,
    .subpage_title02.active .title_txt {
        transform: translateY(0);
        opacity: 1;
    }

    .subpage_title01 .title_txt span::after,
    .subpage_title02 .title_txt span::after {
        opacity: 0;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: all .8s 0.3s;
    }

    .subpage_title01.active .title_txt span::after,
    .subpage_title02.active .title_txt span::after {
        opacity: 1;
        transform: scale(1, 1);
    }

    .subpage_title01 .title_illust,
    .subpage_title02 .title_illust {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.8s;
    }

    .subpage_title01.active .title_illust,
    .subpage_title02.active .title_illust {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_01 .subpage_desc,
    #subpage01_02 .subpage_desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.2s;
    }

    #subpage01_01 .subpage_desc.active,
    #subpage01_02 .subpage_desc.active {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_01 .subpage_block .subpage_ph,
    #subpage01_02 .subpage_block .subpage_ph {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.5s;
    }

    #subpage01_01 .subpage_block.active .subpage_ph,
    #subpage01_02 .subpage_block.active .subpage_ph {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_01 .subpage_block .shadow_box,
    #subpage01_02 .subpage_block .shadow_box {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.1s;
    }

    #subpage01_01 .subpage_block.active .shadow_box,
    #subpage01_02 .subpage_block.active .shadow_box {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_01 .subpage_block .subpage_ph_list li,
    #subpage01_02 .subpage_block .subpage_ph_list li {
        opacity: 0;
        transform: translateY(40px);
    }

    #subpage01_01 .subpage_block .subpage_ph_list li:nth-child(1),
    #subpage01_02 .subpage_block .subpage_ph_list li:nth-child(1) {
        transition: all .8s 1.6s;
    }

    #subpage01_01 .subpage_block .subpage_ph_list li:nth-child(2),
    #subpage01_02 .subpage_block .subpage_ph_list li:nth-child(2) {
        transition: all .8s 1.9s;
    }

    #subpage01_01 .subpage_block .subpage_ph_list li:nth-child(3),
    #subpage01_02 .subpage_block .subpage_ph_list li:nth-child(3) {
        transition: all .8s 2.2s;
    }

    #subpage01_01 .subpage_block.active .subpage_ph_list li,
    #subpage01_02 .subpage_block.active .subpage_ph_list li {
        transform: translateY(0);
        opacity: 1;
    }



    /*#subpage01_03
=======================*/
    #subpage01_03 .subpage_block {
        width: 1200px;
        padding-right: 16px;
        padding-top: 60px;
        box-sizing: border-box;
        position: relative;
        margin: 20px auto 90px;
    }

    #subpage01_03 .subpage_block.summary {
        padding-right: 0;
        padding-top: 0;
        margin-top: 80px;
        margin-bottom: 0;
    }

    #subpage01_03 .subpage_block .subpage_ph {
        position: absolute;
        left: 0;
        top: 0;
    }

    #subpage01_03 .shadow_box {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 118px auto;
        width: 735px;
        height: auto;
        padding: 60px 32px;
        box-sizing: border-box;
        text-align: justify;
        position: relative;
        margin: 0 0 0 auto;
        /*    position: absolute;
right: 0;
top: 60px;*/
    }

    #subpage01_03 .shadow_box.bg_num01 {
        background-image: url("/assets/img/subpage01_num01.png");
    }

    #subpage01_03 .shadow_box.bg_num02 {
        background-image: url("/assets/img/subpage01_num02.png");
    }

    #subpage01_03 .shadow_box.bg_num03 {
        background-image: url("/assets/img/subpage01_num03.png");
    }

    #subpage01_03 .shadow_box.bg_num04 {
        background-image: url("/assets/img/subpage01_num04.png");
    }

    #subpage01_03 .shadow_box.bg_num05 {
        background-image: url("/assets/img/subpage01_num05.png");
    }

    div.sub_wrap .subpage_subtitle02 {
        font-size: 3rem;
        color: #37864c;
        font-weight: bold;
        padding-bottom: 1em;
    }

    #subpage01_03 .subpage_block.summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 92px;
    }

    #subpage01_03 .subpage_block.summary .subpage_illust {
        order: 1;
        width: 462px;
    }

    #subpage01_03 .subpage_block.summary .subpage_talk {
        order: 2;
        width: 684px;
        text-align: center;
        font-size: 3rem;
        line-height: 1.5;
        font-weight: 500;
        padding-bottom: 1em;
        border-bottom: 2px solid #000;
        position: relative;
    }

    #subpage01_03 .subpage_block.summary .subpage_talk::after {
        content: "";
        width: 14px;
        height: 14px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: rotate(135deg);
        position: absolute;
        bottom: -9px;
        left: 50%;
        margin-left: -8px;
        background-color: #fff;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #subpage01_03 .subpage_block {
            width: 62.5vw;
            padding-right: 0.83vw;
            padding-top: 3.125vw;
            margin: 1.04vw auto 4.68vw;
        }

        #subpage01_03 .subpage_block.summary {
            margin-top: 10.93vw;
        }

        #subpage01_03 .shadow_box {
            background-size: 6.14vw auto;
            width: 38.28vw;
            padding: 3.12vw 1.66vw;
        }

        div.sub_wrap .subpage_subtitle02 {
            font-size: 1.56vw;
        }

        #subpage01_03 .subpage_block.summary {
            padding-bottom: 4.79vw;
            margin-top: 4vw;
        }

        #subpage01_03 .subpage_block.summary .subpage_illust {
            width: 24.08vw;
        }

        #subpage01_03 .subpage_block.summary .subpage_talk {
            width: 35.62vw;
            font-size: 1.56vw;
        }

        #subpage01_03 .subpage_block.summary .subpage_talk::after {
            width: 0.72vw;
            height: 0.72vw;
            bottom: -0.46vw;
            margin-left: -0.41vw;
        }

        #subpage01_03 .subpage_ph {
            width: 25.52vw;
        }
    }

    /*アニメーション*/
    #subpage01_03 .subpage_block .subpage_ph,
    #subpage01_03 .subpage_block .shadow_box {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.3s;
    }

    #subpage01_03 .subpage_block.active .subpage_ph,
    #subpage01_03 .subpage_block.active .shadow_box {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_03 .subpage_block .subpage_subtitle02,
    #subpage01_03 .subpage_block .subpage_desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.0s;
    }

    #subpage01_03 .subpage_block .subpage_desc {
        margin-bottom: 0;
    }

    #subpage01_03 .subpage_block.active .subpage_subtitle02,
    #subpage01_03 .subpage_block.active .subpage_desc {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_03 .subpage_block.summary {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    #subpage01_03 .subpage_block.summary.active {
        transform: translateY(0);
        opacity: 1;
    }



    /*==========================================================
company(会社概要)
==========================================================*/


    /*first_view
=======================*/
    #topics_detail5 #first_view .fixed_div {
        background-image: url("/assets/img/company_fv_img_pc.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #topics_detail5 #first_view .fixed_div img {
            width: 34vw;
            height: auto;
        }
    }

    /*アニメーション*/
    #first_view.sub .fixed_div img {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    #first_view.sub .fixed_div.active img {
        transform: translateY(0);
        opacity: 1;
    }


    #topics_detail5 .section_inner,
    #topics_detail5 #main_contents {
        max-width: 1200px;
    }

    #topics_detail5 .subpage_block {
        padding-left: 12px;
        padding-right: 12px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {

        #topics_detail5 .section_inner,
        #topics_detail5 #main_contents {
            max-width: 62.5vw;
        }

        #topics_detail5 .subpage_block {
            padding-left: 0.625vw;
            padding-right: 0.625vw;
        }
    }


    /*H2
=======================*/
    #topics_detail5 .subpage_title03 {
        background-image: url("/assets/img/company_title_bg_pc.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100% auto;
        height: 77px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 2.5em;
        margin-bottom: 5em;
    }

    #topics_detail5 .subpage_title03 .title_txt {
        font-size: 4.5rem;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #topics_detail5 .subpage_title03 {
            height: 4vw;
        }

        #topics_detail5 .subpage_title03 .title_txt {
            font-size: 2.3vw;
        }
    }

    #main_contents h2 {
        background-image: url("/assets/img/company_title_bg_pc.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100% auto;
        height: 77px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 1.35em;
        margin-bottom: 2.7em;
        font-size: 4.5rem;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #main_contents h2 {
            height: 4vw;
            font-size: 2.3vw;
        }
    }

    /*H3
=======================*/
    #topics_detail5 .subpage_title04,
    #main_contents h3 {
        font-size: 4rem;
        line-height: 1.25;
        color: #37864c;
        font-weight: bold;
        padding: 5px 5px 5px 40px;
        position: relative;
        margin-bottom: 0.7em;
    }

    #topics_detail5 .subpage_title04::after,
    #main_contents h3::after {
        content: "";
        width: 6px;
        height: 100%;
        background-image: linear-gradient(to bottom, #60A539 0%, #1A7159 51%, #093A36 100%);
        position: absolute;
        top: 0;
        left: 0;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {

        #topics_detail5 .subpage_title04,
        #main_contents h3 {
            font-size: 2.08vw;
            padding: 0 0.26vw 0 2.08vw;
        }

        #topics_detail5 .subpage_title04::after,
        #main_contents h3::after {
            width: 0.31vw;
        }
    }



    /*本文
=======================*/
    #topics_detail5 .subpage_desc {
        margin-bottom: 5em !important;
    }

    /*図版
=======================*/
    #topics_detail5 .subpage_block.chart {
        display: flex;
        justify-content: center;
        margin-bottom: 130px;
    }

    #topics_detail5 .subpage_block.chart div {
        margin: 0 50px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #topics_detail5 .subpage_block.chart {
            margin-bottom: 6.77vw;
        }

        #topics_detail5 .subpage_block.chart div {
            margin: 0 2.6vw;
        }
    }

    /*テーブル
=======================*/
    #topics_detail5 table.table_def {
        width: calc(100% - 100px);
        margin: 0 50px 100px;
    }

    #topics_detail5 table.table_def th {
        background-color: #f0f0f0 !important;
        font-size: 1.8rem;
        line-height: 2;
        text-align: left;
        padding: 0.7em 1em;
        width: 41%;
        box-sizing: border-box;
        border: 0 !important;
        border-bottom: 4px solid #fff !important;
        vertical-align: top;
    }

    #topics_detail5 table.table_def td {
        background-color: #fff !important;
        font-size: 1.8rem;
        line-height: 2;
        text-align: left;
        padding: 0.7em 1em;
        width: 59%;
        box-sizing: border-box;
        border: 0 !important;
        border-bottom: 4px solid #fff !important;
        vertical-align: top;
    }

    #topics_detail5 table.table_def td a {
        color: #37864c;
        position: relative;
        display: inline-block;
    }

    #topics_detail5 table.table_def td a::after {
        position: absolute;
        bottom: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #37864c;
        transform: scale(1, 1);
        transform-origin: left top;
        transition: transform .3s;
    }

    #topics_detail5 table.table_def td a:hover::after {
        transform: scale(0, 1);
        transform-origin: right top;
    }


    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #topics_detail5 table.table_def {
            width: calc(100% - 5.2vw);
            margin: 0 2.6vw 5.2vw;
        }
    }

    @media (max-width: 1200px) {

        #topics_detail5 table.table_def th,
        #topics_detail5 table.table_def td {
            font-size: 1.2vw;
        }
    }


    #main_contents table.des {
        width: calc(100% - 100px) !important;
        margin: 0 50px 100px !important;
    }

    #main_contents table.des th {
        background-color: #f0f0f0 !important;
        font-size: 1.8rem;
        line-height: 2;
        text-align: left;
        padding: 0.7em 1em !important;
        width: 41%;
        box-sizing: border-box;
        border: 0 !important;
        border-bottom: 4px solid #fff !important;
        vertical-align: top;
    }

    #main_contents table.des td {
        background-color: #fff !important;
        font-size: 1.8rem;
        line-height: 2;
        text-align: left;
        padding: 0.7em 1em !important;
        width: 59%;
        box-sizing: border-box;
        border: 0 !important;
        border-bottom: 4px solid #fff !important;
        vertical-align: top;
    }

    #main_contents table.des td a {
        color: #37864c;
        position: relative;
        display: inline-block;
    }

    #main_contents table.des td a::after {
        position: absolute;
        bottom: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #37864c;
        transform: scale(1, 1);
        transform-origin: left top;
        transition: transform .3s;
    }

    #main_contents table.des td a:hover::after {
        transform: scale(0, 1);
        transform-origin: right top;
    }


    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #main_contents table.des {
            width: calc(100% - 5.2vw) !important;
            margin: 0 2.6vw 5.2vw !important;
        }
    }

    @media (max-width: 1200px) {

        #main_contents table.des th,
        #main_contents table.des td {
            font-size: 1.2vw;
        }
    }


    /*G MAP
=======================*/
    #company_03 .subpage_desc,
    #accessmap .subpage_desc {
        margin: -40px 50px 0;
    }

    #company_03 .gmap,
    #accessmap .gmap {
        width: calc(100% - 100px);
        height: 704px;
        margin: -40px 50px 130px;
    }

    #company_04 {
        padding-bottom: 80px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {

        #company_03 .subpage_desc,
        #accessmap .subpage_desc {
            margin: -2.08vw 2.6vw 0;
        }

        #company_03 .gmap,
        #accessmap .gmap {
            width: calc(100% - 5.2vw);
            height: 36.66vw;
            margin: -2.08vw 2.6vw 6.77vw;
        }

        #company_04 {
            padding-bottom: 4.16vw;
        }
    }

    /*アニメーション*/
    #main_contents .animate_item {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    #main_contents .animate_item.active {
        transform: translateY(0);
        opacity: 1;
    }

    #topics_detail5 .subpage_block.chart.animate_item div {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    #topics_detail5 .subpage_block.chart.animate_item div:nth-child(2) {
        transition: all .8s 0.5s;
    }

    #topics_detail5 .subpage_block.chart.animate_item.active div {
        transform: translateY(0);
        opacity: 1;
    }





    /*==========================================================
creative(クリエイティブ)
==========================================================*/


    /*first_view
=======================*/
    #creative #first_view .fixed_div {
        background-image: url("/assets/img/creative_fv_img_pc.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #creative #first_view .fixed_div img {
            width: 34vw;
            height: auto;
        }
    }

    /*fitness（creative流用）first_view + 大タイトル
=======================*/
    #fitness #first_view .fixed_div {
        background-image: url("/assets/img/fitness.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #fitness .subpage_title02 .title_txt {
        width: 1542px !important;
        height: 167px;
        background-image: url("/assets/img/creative_bg02.png") !important;
        background-position: left top !important;
        padding-left: 147px !important;
    }

    #fitness .subpage_title02 .title_illust {
        width: 329px;
    }

    @media (max-width: 1919px) {
        #fitness .subpage_title02 .title_txt {
            width: 80.31vw !important;
            height: 8.69vw;
            padding-left: 7.65vw !important;
        }

        #fitness .subpage_title02 .title_illust {
            width: 17.13vw;
        }
    }


    /*fitness 配下（creative流用）first_view + 大タイトル
=======================*/
    #fitness #first_view .daita {
        background-image: url("/assets/img/fit-summer_gp.jpg");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
    }

    /*大タイトル
=======================*/
    /* #creative .subpage_title01 .title_txt{
width: 1344px;
height: 167px;
background-image: url("/assets/img/creative_bg01.png");
padding-right: 120px;
} */
    #creative .subpage_title02 .title_txt {
        width: 1542px !important;
        height: 167px;
        background-image: url("/assets/img/creative_bg02.png") !important;
        background-position: left top !important;
        padding-left: 147px !important;
    }

    #creative .subpage_title02 .title_illust {
        width: 329px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {

        /* #creative .subpage_title01 .title_txt{
width: 70vw;
height: 8.69vw;
padding-right: 6.25vw;
} */
        #creative .subpage_title02 .title_txt {
            width: 80.31vw !important;
            height: 8.69vw;
            padding-left: 7.65vw !important;
        }

        #creative .subpage_title02 .title_illust {
            width: 17.13vw;
        }
    }


    /*creative_01
=======================*/
    #creative_01 {
        padding-bottom: 150px;
    }

    #creative_01 .subpage_block {
        width: 1542px;
        margin: 0 0 0 auto;
        padding-top: 60px;
        position: relative;
    }

    #creative_01 .subpage_block .subpage_ph {
        position: absolute;
        top: 0;
        right: 0;
    }

    #creative_01 .subpage_block .shadow_box {
        width: 625px;
        padding-bottom: 240px;
        padding-top: 50px;
        position: relative;
    }

    #creative_01 .subpage_subtitle01 {
        font-size: 3.5rem;
        line-height: 1.3;
    }

    #creative_01 .subpage_block .subpage_ph_list {
        position: absolute;
        bottom: -40px;
        left: 0;
        display: flex;
    }

    #creative_01 .subpage_block .subpage_ph_list li {
        margin-left: 36px;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #creative_01 {
            padding-bottom: 7.81vw;
        }

        #creative_01 .subpage_block {
            width: 80.31vw;
            padding-top: 3.12vw;
        }

        #creative_01 .subpage_block .subpage_ph {
            width: 50vw;
        }

        #creative_01 .subpage_block .shadow_box {
            width: 34vw;
            padding-bottom: 12.5vw;
            padding-top: 2.6vw;
        }

        #creative_01 .subpage_subtitle01 {
            font-size: 1.82vw;
        }

        #creative_01 .subpage_block .subpage_ph_list {
            bottom: -2.08vw;
        }

        #creative_01 .subpage_block .subpage_ph_list li {
            margin-left: 1.87vw;
            width: 16.87vw;
        }
    }


    /*creative_02
=======================*/
    #creative_02 {
        padding-bottom: 150px;
    }

    #creative_02 .subpage_block {
        position: relative;
        margin-top: 150px;
    }

    #creative_02 .subpage_block .shadow_box {
        width: 640px;
        position: relative;
        margin: 0 auto;
        padding-top: 90px;
        padding-bottom: 1px;
        z-index: 2;
    }

    #creative_02 .subpage_subtitle01 {
        font-size: 3.5rem;
        line-height: 1.3;
        text-align: center;
    }

    #creative_02 .subpage_block .subpage_ph.ph04 {
        position: absolute;
        top: -60px;
        left: 0;
    }

    #creative_02 .subpage_block .subpage_ph.ph05 {
        position: absolute;
        bottom: -60px;
        right: 0;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #creative_02 {
            padding-bottom: 7.81vw;
        }

        #creative_02 .subpage_block {
            margin-top: 7.81vw;
        }

        #creative_02 .subpage_block .shadow_box {
            width: 36vw;
            padding-top: 4.68vw;
        }

        #creative_02 .subpage_subtitle01 {
            font-size: 1.82vw;
        }

        #creative_02 .subpage_block .subpage_ph.ph04 {
            top: -3.12vw;
            width: 36.45vw;
        }

        #creative_02 .subpage_block .subpage_ph.ph05 {
            bottom: -3.12vw;
            width: 36.45vw;
        }
    }



    .subpage_block.summary {
        width: 1200px;
        box-sizing: border-box;
        position: relative;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 92px;
    }

    .subpage_block.summary .subpage_illust {
        order: 1;
        width: 462px;
    }

    .subpage_block.summary .subpage_talk {
        order: 2;
        width: 684px;
        text-align: center;
        font-size: 3rem;
        line-height: 1.5;
        font-weight: 500;
        padding-bottom: 1em;
        border-bottom: 2px solid #000;
        position: relative;
    }

    .subpage_block.summary .subpage_talk::after {
        content: "";
        width: 14px;
        height: 14px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: rotate(135deg);
        position: absolute;
        bottom: -9px;
        left: 50%;
        margin-left: -8px;
        background-color: #fff;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .subpage_block.summary {
            width: 62.5vw;
            padding-bottom: 4.79vw;
        }

        .subpage_block.summary .subpage_illust {
            width: 24vw;
        }

        .subpage_block.summary .subpage_talk {
            width: 35.62vw;
            font-size: 1.56vw;
        }

        .subpage_block.summary .subpage_talk::after {
            width: 0.72vw;
            height: 0.72vw;
            bottom: -0.46vw;
            margin-left: -0.41vw;
        }
    }

    /*アニメーション*/
    .contents_wrapper#creative .animate_item {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    .contents_wrapper#creative .animate_item.active {
        transform: translateY(0);
        opacity: 1;
    }

    #creative_01 .subpage_block .shadow_box,
    #creative_01 .subpage_block .subpage_ph_list li {
        opacity: 0;
        transform: translateY(40px);
    }

    #creative_01 .subpage_block.active .shadow_box,
    #creative_01 .subpage_block.active .subpage_ph_list li {
        transform: translateY(0);
        opacity: 1;
    }

    #creative_01 .subpage_block .shadow_box {
        transition: all .8s 0.8s;
    }

    #creative_01 .subpage_block .subpage_ph_list li:nth-child(1) {
        transition: all .8s 1.8s;
    }

    #creative_01 .subpage_block .subpage_ph_list li:nth-child(2) {
        transition: all .8s 2.3s;
    }

    #creative_02 .subpage_block .shadow_box,
    #creative_02 .subpage_block .subpage_ph {
        opacity: 0;
        transform: translateY(40px);
    }

    #creative_02 .subpage_block.active .shadow_box,
    #creative_02 .subpage_block.active .subpage_ph {
        transform: translateY(0);
        opacity: 1;
    }

    #creative_02 .subpage_block .shadow_box {
        transition: all .8s 0s;
    }

    #creative_02 .subpage_block .subpage_ph {
        transition: all .8s 1s;
    }





    /*==========================================================
digital(スペースデザイン事業
==========================================================*/


    /*first_view
=======================*/
    #topics_list27 #first_view .fixed_div {
        background-image: url("/assets/img/digital_fv_img_pc.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #topics_list27 #first_view .fixed_div div {
        background-image: url("/assets/img/digital_fv_txt_pc.png");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        width: 920px;
        height: 288px;
    }

    #topics_list27 #first_view .fixed_div img {
        display: none;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #topics_list27 #first_view .fixed_div div {
            width: 47.916vw;
            height: 15vw;
        }
    }


    /*大タイトル
=======================*/
    .subpage_digital .subpage_title01,
    .subpage_digital .subpage_title02 {
        display: block;
    }

    .subpage_digital .subpage_title01 .title_txt {
        width: 1384px;
        height: 167px;
        background-image: url("/assets/img/digital_bg01.png");
        padding-right: 0;
    }

    .subpage_digital .subpage_title02 .title_txt {
        width: 1384px;
        height: 167px;
        background-image: url("/assets/img/digital_bg02.png");
        background-position: right top;
        padding-left: 0;
        margin: 0 0 0 auto;
    }

    div.sub_wrap .subpage_subtitle03 {
        font-size: 4rem;
        font-weight: bold;
        margin-top: 1.3em;
        margin-bottom: 0.5em;
        text-align: center;
    }


    /*スライド
=======================*/
    .slider {
        margin: 0 auto;
        max-width: 1920px;
        width: 100%;
    }

    .slider-item {
        margin: 0 40px;
        padding-bottom: 50px;
    }

    /*スライドの写真*/
    .slider-item .slider_ph {
        width: 88.88%;
        height: auto;
        margin: 0 auto;
    }

    .slider-item .slider_ph img {
        width: 100%;
        height: auto;
    }

    /*影付きボックス*/
    .slider-item .shadow_box {
        width: 88.88% !important;
        margin-left: 120px;
        margin-top: -46px;
        padding: 100px 80px 30px !important;
        box-sizing: border-box;
        z-index: -1;
        position: relative !important;
    }

    /*スライドのタイトル*/
    .slider .slide_title {
        width: 100%;
        display: flex;
        align-items: baseline;
        line-height: 1;
        padding-bottom: 1em;
    }

    .slider .slide_title strong {
        font-size: 4rem;
        font-weight: 600;
        font-style: italic;
        color: #37864c;
        display: inline-block;
        white-space: nowrap;
    }

    .slider .slide_title span {
        font-size: 2.4rem;
        font-style: italic;
        padding-right: 0.2em;
        display: inline-block;
    }

    /*スライドの本文*/
    .slider .subpage_desc {
        font-size: 1.8rem;
        line-height: 2;
        padding-bottom: 50px;
        margin-bottom: 0 !important;
    }

    /*スライドの矢印*/
    .slick-arrow {
        z-index: 1000;
        width: 60px !important;
        height: 115px !important;
    }

    .slick-next {
        top: 32%;
        right: 50%;
        margin-right: -590px;
    }

    .slick-prev {
        top: 32%;
        left: 50%;
        margin-left: -590px;
    }

    .slick-arrow:before {
        content: "" !important;
        width: 60px !important;
        height: 115px !important;
        position: absolute;
        top: 0;
        left: 0;
    }

    .slick-next:before {
        background: url("/assets/img/slide_arrow_r.png") !important;
        background-size: contain !important;
    }

    .slick-prev:before {
        background: url("/assets/img/slide_arrow_l.png") !important;
        background-size: contain !important;
    }





    /*スライドのVIEW MOREボタン*/
    .slide_wrapper {
        width: 100%;
        display: block;
        position: relative;
    }

    .slide_wrapper .btn_more {
        position: absolute;
        left: 50%;
        bottom: 10px;
        width: 440px;
        z-index: 3;
        font-size: 2rem;
        margin-left: 140px;
    }

    .slide_wrapper .btn_more .skew_btn {
        width: 440px;
        height: 80px;
        display: block;
        position: relative;
    }

    .slide_wrapper .btn_more .skew_btn span {
        position: absolute;
        right: 94px;
        bottom: 20px;
        padding-right: 1em;
    }

    .slide_wrapper .btn_more .skew_btn span::before {
        content: "";
        width: 58px;
        height: 1px;
        background-color: #fff;
        position: absolute;
        right: -65px;
        bottom: 0.5em;
        transition: all .3s;
    }

    .slide_wrapper .btn_more .skew_btn span::after {
        content: "";
        width: 10px;
        height: 1px;
        background-color: #fff;
        transform: rotate(35deg);
        position: absolute;
        right: -65px;
        bottom: calc(0.5em + 3px);
        transition: all .3s;
    }

    .slide_wrapper .btn_more .skew_btn:hover span::before {
        width: 68px;
        right: -78px;
    }

    .slide_wrapper .btn_more .skew_btn:hover span::after {
        right: -78px;
    }


    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        .slider-item {
            margin: 0 2.08vw;
            padding-bottom: 2.6vw;
        }

        .slider-item .shadow_box {
            margin-left: 6.25vw;
            margin-top: -2.39vw;
            padding: 5.2vw 4.16vw 1.56vw !important;
        }

        .slider .slide_title strong {
            font-size: 2vw;
        }

        .slider .slide_title span {
            font-size: 1.2vw;
        }

        .slider .subpage_desc {
            font-size: 0.93vw;
        }

        .slick-arrow {
            width: 3.125vw !important;
            height: 5.98vw !important;
        }

        .slick-next {
            margin-right: -30.72vw;
        }

        .slick-prev {
            margin-left: -30.72vw;
        }

        .slick-arrow:before {
            width: 3.125vw !important;
            height: 5.98vw !important;
        }

        .slide_wrapper .btn_more {
            bottom: 0.52vw;
            width: 22.91vw;
            font-size: 1.04vw;
            margin-left: 7.29vw;
        }

        .slide_wrapper .btn_more .skew_btn {
            width: 22.91vw;
            height: 4.16vw;
        }

        .slide_wrapper .btn_more .skew_btn span {
            right: 4.89vw;
            bottom: 1.04vw;
        }

        .slide_wrapper .btn_more .skew_btn span::before {
            width: 3.02vw;
            height: 0.052vw;
            right: -3.38vw;
        }

        .slide_wrapper .btn_more .skew_btn span::after {
            width: 0.52vw;
            height: 0.052vw;
            right: -3.38vw;
            bottom: calc(0.5em + 0.156vw);
        }

        .slide_wrapper .btn_more .skew_btn:hover span::before {
            width: 3.54vw;
            right: -4.06vw;
        }

        .slide_wrapper .btn_more .skew_btn:hover span::after {
            right: -4.06vw;
        }
    }



    /*アニメーション*/
    .subpage_digital #first_view .fixed_div div {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    .subpage_digital #first_view .fixed_div.active div {
        transform: translateY(0);
        opacity: 1;
    }

    .subpage_digital .animate_item .title_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    .subpage_digital .animate_item.active .title_txt {
        transform: translateY(0);
        opacity: 1;
    }

    #digital_01 .animate_item .subpage_subtitle03,
    #digital_01 .animate_item .subpage_desc,
    #digital_02 .animate_item .subpage_subtitle03,
    #digital_02 .animate_item .subpage_desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    #digital_01 .animate_item.active .subpage_subtitle03,
    #digital_01 .animate_item.active .subpage_desc,
    #digital_02 .animate_item.active .subpage_subtitle03,
    #digital_02 .animate_item.active .subpage_desc {
        transform: translateY(0);
        opacity: 1;
    }

    #digital_02 {
        padding-top: 5em;
        padding-bottom: 5em;
    }

    /*first_view
=======================*/
    #sitemap #first_view .fixed_div {
        background-image: url("/assets/img/sitemap_fv_img_pc.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    /*1919px以下は、縮小して表示*/

    /*first_view
=======================*/
    #inquiry_list #first_view .fixed_div {
        background-image: url("/assets/img/contact_fv_img_pc.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    /*1919px以下は、縮小して表示*/

    /*first_view
=======================*/
    #topics_list6 #first_view .fixed_div {
        background-image: url("/assets/img/news_fv_img_pc.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #sitemap #first_view .fixed_div img {
            width: 34vw;
            height: auto;
        }
    }

    /** 20250501_add *******************************/
    .text-center {
        text-align: center !important;
    }

    .d-flex {
        display: flex !important;
    }

    .list-unstyled {
        display: flex;
    }

    .imgV {
        aspect-ratio: 16 / 9;
        vertical-align: top;
        object-fit: cover;
        overflow: hidden;
    }

    .text-white {
        color: #fff !important;
    }

    .mb-1 {
        margin-bottom: .5rem !important;
    }

    .mb-2 {
        margin-bottom: .75rem !important;
    }

    .mb-3 {
        margin-bottom: 1rem !important;
    }

    .mb-4 {
        margin-bottom: 2rem !important;
    }

    .mb-5 {
        margin-bottom: 3rem !important;
    }

    .mb-50 {
        margin-bottom: 50px !important;
    }

    .fs-normal {
        font-size: 1.56vw !important;
    }

    .fs-big {
        font-size: 1.9vw !important;
    }

    .lh-2 {
        line-height: 2 !important;
    }

    .d-inline-block {
        display: inline-block !important;
    }

    .virtual01 {
        width: 100%;
        max-width: 900px;
    }

    .virtual08 {
        width: 100%;
        max-width: 800px;
    }

    .pc {
        display: inline-block !important;
    }

    .sp {
        display: none !important;
    }

    #virtual_btn .section_inner {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #virtual_btn .section_inner .twinBtn {
        background: #37864c;
        border: 1px solid #37864c;
        border-radius: 15px;
        color: #FFF;
        display: block;
        font-weight: bold;
        padding: 2rem;
        width: 100%;
        max-width: 350px;
        text-align: center;
        transition: .5s;
    }

    #virtual_btn .section_inner .twinBtn+.twinBtn {
        margin-left: 20px;
    }

    #virtual_btn .section_inner .twinBtn:hover,
    #virtual_btn .section_inner .twinBtn:active {
        background: #FFF;
        color: #37864c;
    }

    #digital_04 {
        background: linear-gradient(to right, #3697b0 0%, #8ad75e 100%);
        padding-bottom: 6rem;
        margin-bottom: 6rem;
    }

    #digital_04 .subpage_desc {
        margin-bottom: 50px !important;
    }

    #digital_04 .innerBox {
        margin: 1rem;
    }

    #digital_04 .d-flex {
        max-width: 900px;
        margin: auto;
    }

    #digital_04 .d-flex .innerBox {
        width: 50%;
    }

    @media(max-width:767px) {

        .pc {
            display: none !important;
        }

        .sp {
            display: inline-block !important;
        }
    }



    /*==========================================================
Virtual VR空間事業
==========================================================*/
    .video

    /*first_view
=======================*/
    #topics_list40 #first_view .fixed_div {
        background-image: url("/assets/img/virtual_fv_txt_pc.png");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #topics_list40 #first_view .fixed_div div {
        background-image: url("/assets/img/virtual_fv_txt_pc.png");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        width: 920px;
        height: 288px;
    }

    #topics_list40 #first_view .fixed_div img {
        display: none;
    }

    #topics_list40 #first_view.sub .fixed_div {
        background: none;
        position: relative;
        z-index: 1;
    }

    #topics_list40 #main_module,
    #topics_list40 #footpath {
        background: #FFF;
        position: relative;
        z-index: 1;
    }

    #topics_list40 #cath_box {
        width: 100%;
        height: 100vh;
        position: absolute;
        top: 0;
        left: 0;
        overflow: hidden;
        z-index: -1;
    }

    #topics_list40 #cath_box video {
        min-width: 100%;
        min-height: 100%;
        width: auto;
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #topics_list40 #first_view .fixed_div div {
            width: 47.916vw;
            height: 15vw;
        }
    }




    @media (max-width: 519px) {

        .fs-normal {
            font-size: 4.5vw !important;
        }

        .fs-big {
            font-size: 5.1vw !important;
        }

        .txt_center {
            text-align: center !important;
        }

        .left-text {
            text-align: left !important;
            padding: 0 1rem !important;
        }
    }


    /*==========================================================
fitness(フィットネス)
==========================================================*/
    .section_inner_fitness {
        max-width: 1200px;
        margin: auto;
    }

    .section_inner_fitness .subpage_title02 {
        background: darkviolet;
        color: #fff;
        padding: 15px;
        font-weight: bold;
        font-size: 3rem;
    }

    .section_inner_fitness .subpage_block {
        margin-top: 3rem !important;
    }
}

/* ============ customize.css (SP / max-width:834px) ============ */
@media (max-width: 834px) {
    html {
        overflow-y: scroll;
        overflow-x: hidden;
        font-size: 62.5%;
    }

    body {
        width: 100%;
        height: auto;
        overflow: hidden;
        line-height: 1;
        color: #333;
        font-family: "游ゴシック Medium", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴシック Pro", Meiryo, "メイリオ", YuGothic, "游ゴシック体", Osaka, MS PGothic, "ＭＳ Ｐゴシック", sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        -webkit-text-size-adjust: 100%;
    }

    .en {
        font-family: 'Spartan', sans-serif;
        letter-spacing: -0.05em;
    }

    :root {
        --weight-bold: 700;
        /*font-weight=bold*/
        --weight-normal: 500;
        /*font-weight=normal*/
    }

    /*var(--weight-bold)*/


    ul {
        list-style: none;
    }

    img {
        vertical-align: bottom;
        outline: none;
    }


    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        img {
            width: 100%;
            height: auto;
        }

        .small-pc {
            display: none;
        }
    }


    a {
        text-decoration: none;
        color: #000;
    }

    a img {
        border: 0;
    }

    /*PC*/
    @media (min-width: 835px) {
        .pc {
            display: block;
        }

        .tab {
            display: none;
        }

        .sp {
            display: none;
        }

        .mb {
            display: none;
        }

        a:link,
        a:visited {
            color: #000;
        }

        a:hover,
        a:active {
            color: #000;
        }

        a img {
            transition: opacity .3s;
        }

        a:hover img {
            opacity: 0.7;
        }
    }

    /*TABLET*/
    @media (max-width: 834px) and (min-width: 520px) {
        .pc {
            display: none;
        }

        .tab {
            display: block;
        }

        .sp {
            display: none;
        }

        .mb {
            display: block;
        }

        a:link,
        a:visite,
        a:hover,
        a:actived {
            color: #000;
        }
    }

    /*SP*/
    @media (max-width: 519px) {
        .pc {
            display: none;
        }

        .tab {
            display: none;
        }

        .sp {
            display: block;
        }

        .mb {
            display: block;
        }

        a:link,
        a:visite,
        a:hover,
        a:actived {
            color: #000;
        }
    }


    @media (min-width: 520px) {
        a[href*="tel:"] {
            pointer-events: none;
            cursor: default;
            text-decoration: none;
        }
    }



    #container {
        width: 100%;
    }

    #wrap_contents {
        width: 100%;
        background-color: #fbfbfb;
    }


    .section_inner {
        box-sizing: border-box;
        width: 100%;
        position: relative;
    }



    /*緑のグラデボタン*/
    .color_btn {
        background-image: linear-gradient(to right, #60A539 0%, #1A7159 51%, #093A36 100%);
        background-size: 100% auto;
        color: #fff !important;
    }



    /*平行四辺形のボタン*/
    .skew_btn {
        transform: skewX(-18deg);
    }

    .skew_btn span {
        transform: skewX(18deg);
    }






    /* LOADING
* ----------------------------------------------- */
    #mask {
        opacity: 1;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 100000;
        background: #fff;
    }

    #splash {
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 2010;
        background: #fff;
        text-align: center;
    }

    #splash_logo {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    #splash_logo img {
        width: 46vw;
    }

    .fadeUp {
        animation-name: fadeUpAnime;
        animation-duration: 0.5s;
        animation-fill-mode: forwards;
        opacity: 0;
    }

    @keyframes fadeUpAnime {
        from {
            opacity: 0;
            transform: translateY(100px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }












    /*footer
==========================================================*/
    .footer_inner {
        width: 100%;
    }

    /*footer01*/
    .footer01 {
        background-image: url("/assets/img/bg_contact_mb.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        width: 100%;
        height: 57.68vw;
        padding: 2vw;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .footer01 .footer_inner {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .footer01 {
            background-size: cover;
            height: 69.21vw;
        }
    }



    /*contact title*/
    .footer_contact_title {
        width: 67.44vw;
        padding-bottom: 5vw;
        margin-bottom: 5vw;
        display: inline-block;
        text-align: center;
        border-bottom: 1px solid #fff;
    }

    .footer_contact_title .en {
        font-size: 6.51vw;
        font-weight: var(--weight-normal);
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .footer_contact_title {
            width: 80.93vw;
            padding-bottom: 6.25vw;
            margin-bottom: 6.25vw;
        }

        .footer_contact_title .en {
            font-size: 7.81vw;
        }
    }




    /*tel,btn*/
    .footer_contact_txt {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    .footer_contact_txt .phone {
        font-size: 5.85vw;
        font-family: "Helvetica Neue", "Helvetica", sans-serif;
        font-weight: var(--weight-normal);
        padding-left: 1.1em;
        background-image: url("/assets/img/icon_phone02.png");
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 4.55vw auto;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 6.25vw;
    }

    .footer_contact_txt .contact_btn {
        width: 44.79vw;
        height: 10.41vw;
    }

    .footer_contact_txt .contact_btn a {
        font-size: 3.9vw;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 10.41vw;
    }

    .footer_contact_txt .contact_btn a span {
        padding: 0 0 0 2em;
        background-image: url("/assets/img/icon_mail02.png");
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 5.72vw auto;
        display: inline-block;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .footer_contact_txt .phone {
            font-size: 7.03vw;
            background-size: 5.46vw auto;
        }

        .footer_contact_txt .contact_btn {
            width: 53.75vw;
            height: 12.5vw;
        }

        .footer_contact_txt .contact_btn a {
            font-size: 4.68vw;
            height: 12.5vw;
        }

        .footer_contact_txt .contact_btn a span {
            background-size: 6.87vw auto;
        }
    }




    /*footer02*/
    .footer02 {
        background-color: #fbfbfb;
        padding: 6.51vw 0 7.81vw;
        text-align: center;
    }

    .footer_logo img {
        width: 51.82vw;
        height: auto;
        margin-bottom: 3.9vw;
    }

    .footer_company_name {
        font-size: 3.9vw;
    }

    .footer_address {
        font-size: 2.6vw;
        line-height: 1.5;
        padding: 1em 0 0;
    }

    .footer02 .mark {
        display: flex;
        justify-content: center;
        margin-top: 3.9vw;
    }

    .footer02 .mark li {
        margin: 0 1.04vw;
        width: 8.07vw;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .footer02 {
            padding: 5.46vw 0;
        }

        .footer_logo img {
            width: 62.18vw;
            margin-bottom: 4.68vw;
        }

        .footer_company_name {
            font-size: 4.68vw;
        }

        .footer_address {
            font-size: 3.12vw;
        }

        .footer02 .mark {
            margin-top: 4.68vw;
        }

        .footer02 .mark li {
            margin: 0 1.25vw;
            width: 9.68vw;
        }
    }





    /*footer03*/
    .footer03 {
        background-color: #2e2e2e;
        color: #bfc0c0
    }

    .copyright {
        font-size: 2.6vw;
        padding: 10.93vw 0;
        text-align: center;
        font-family: Arial, Helvetica, sans-serif;
    }

    .copyright .br {
        display: none;
    }

    .footer_link {
        display: none;
    }

    .copyright span {
        display: block;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .copyright {
            font-size: 3.125vw;
            line-height: 2;
            padding: 6.8vw;
        }

        .copyright .br {
            display: block;
        }
    }




    /*==========================================================
top page
==========================================================*/



    /*first_view
=======================*/
    #first_view {
        width: 100%;
        height: 100vh;
    }

    #first_view .fixed_div {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        background-color: #999;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* video */
    .video-box {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 100vh;
    }

    .video {
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 100%;
        min-height: 100%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    /* overlay */
    .overlay::after {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        content: "";
        background-image: url("/assets/img/dot.png");
        background-repeat: repeat;
        background-size: 3.125vw 3.125vw;
        background-color: rgba(37, 24, 16, 0.3);
        z-index: 2;
    }

    /* text */
    .text-box {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 68.22vw;
        z-index: 3;
        padding-bottom: 6vw;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .text-box {
            width: 81.87vw;
        }
    }




    /*lead
=======================*/
    #lead {
        padding-top: 19.27vw;
        padding-bottom: 19.5vw;
        text-align: center;
    }

    #lead .section_inner {
        padding: 0 0 13vw;
    }

    .lead_bg {
        background-image: url("/assets/img/bg01.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    .lead_logo {
        width: 61.45vw;
        display: inline-block;
        margin-top: -9.11vw;
        padding-bottom: 13.02vw;
    }

    .lead_title {
        width: 70.31vw;
        margin: 0 auto 5.5vw;
    }

    .lead_txt {
        font-size: 2.34vw;
        line-height: 2;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #lead {
            padding-top: 23.12vw;
            padding-bottom: 23.12vw;
        }

        #lead .section_inner {
            padding: 0 0 16.5vw;
        }

        .lead_bg {
            background-image: url("/assets/img/bg01.jpg");
            background-repeat: no-repeat;
            background-position: center top;
            background-size: auto 100%;
        }

        .lead_logo {
            width: 73.75vw;
            margin-top: -10.93vw;
            padding-bottom: 15.62vw;
        }

        .lead_title {
            width: 87vw;
            margin: 0 auto 6vw;
        }

        .lead_txt {
            font-size: 3.43vw;
        }
    }

    /*アニメーション*/
    #lead .lead_logo {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.5s;
    }

    #lead.active .lead_logo {
        transform: translateY(0);
        opacity: 1;
    }

    #lead .lead_title {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.2s;
    }

    #lead.active .lead_title {
        transform: translateY(0);
        opacity: 1;
    }

    #lead .lead_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 2.2s;
    }

    #lead.active .lead_txt {
        transform: translateY(0);
        opacity: 1;
    }





    /*service
=======================*/
    #service {
        padding: 9vw 0 8vw;
    }


    /*飾り付きのセクションタイトル*/
    .section_title {
        text-align: center;
    }

    .section_title .en {
        font-size: 8vw;
        font-weight: var(--weight-normal);
        letter-spacing: 0.01em;
        padding-bottom: 4.7vw;
        margin-bottom: 13.02vw;
        display: inline-block;
        position: relative;
    }

    .section_title .en::after {
        content: "";
        width: 9.37vw;
        height: 0.91vw;
        background-color: #000;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #service {
            padding: 10vw 0 7vw;
        }

        .section_title .en {
            font-size: 9.2vw;
            padding-bottom: 6vw;
            margin-bottom: 15.62vw;
        }

        .section_title .en::after {
            width: 11.25vw;
            height: 1.09vw;
        }
    }

    /*影付きボックス*/
    .service_box {
        background-color: #fff;
        box-shadow: 3px 3px 15px rgb(102 102 102 / 30%);
        padding: 9.11vw 4.16vw 13.8vw;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        flex-direction: column;
        position: relative;
        z-index: 2;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .service_box {
            padding: 10.93vw 5vw 15.5vw;
        }
    }


    /*英語タイトル部分*/
    #service .title_en {
        font-size: 7.4vw;
        font-style: italic;
        font-weight: var(--weight-bold);
        margin-bottom: -1.69vw;
    }

    /*日本語タイトル部分*/
    .service_box .title_jp {
        font-size: 3.64vw;
        font-style: italic;
        font-weight: 600;
    }

    /*ボックスの中の本文*/
    .service_box .desc {
        font-size: 2.34vw;
        line-height: 2;
        padding-top: 1.5em;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #service .title_en {
            font-size: 9vw;
            margin-bottom: -2.03vw;
        }

        .service_box .title_jp {
            font-size: 5.46vw;
        }

        .service_box .desc {
            font-size: 3.65vw;
            padding-top: 1em;
        }
    }


    /*block01：インターネット広告*/
    #service .service_txt {
        width: 78.12vw;
        margin: 5.5vw auto 17.7vw;
        position: relative;
    }


    /*VIEW MOREボタン*/
    #service .btn_more {
        position: absolute;
        left: 50%;
        bottom: -4.68vw;
        width: 58.59vw;
        height: 10.41vw;
        transform: translateX(-50%);
        z-index: 3;
        font-size: 2.6vw;
    }

    #service .btn_more .skew_btn {
        width: 58.59vw;
        height: 10.41vw;
        display: block;
        position: relative;
    }

    #service .btn_more .skew_btn span {
        position: absolute;
        right: 12.23vw;
        bottom: 2.6vw;
        padding-right: 1em;
    }

    #service .btn_more .skew_btn span::before {
        content: "";
        width: 7.55vw;
        height: 1px;
        background-color: #fff;
        position: absolute;
        right: -7.55vw;
        bottom: 0.5em;
    }

    #service .btn_more .skew_btn span::after {
        content: "";
        width: 1.3vw;
        height: 1px;
        background-color: #fff;
        transform: rotate(35deg);
        position: absolute;
        right: -7.55vw;
        bottom: calc(0.5em + 3px);
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #service .service_txt {
            width: 93.75vw;
            margin: 7vw auto 21.25vw;
        }

        #service .btn_more {
            bottom: -5.62vw;
            width: 70.31vw;
            height: 12.5vw;
            font-size: 2.6vw;
        }

        #service .btn_more .skew_btn {
            width: 70.31vw;
            height: 12.5vw;
        }

        #service .btn_more .skew_btn span {
            right: 14.68vw;
            bottom: 3.12vw;
        }

        #service .btn_more .skew_btn span::before {
            width: 9.06vw;
            right: -9.06vw;
        }

        #service .btn_more .skew_btn span::after {
            width: 1.56vw;
            right: -9.06vw;
            bottom: calc(0.5em + 2px);
        }
    }

    /*アニメーション*/
    #service .section_title .en::after {
        opacity: 0;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: all .8s 0s;
    }

    #service .section_title.active .en::after {
        opacity: 1;
        transform: scale(1, 1);
    }

    #service .block01 .ph {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.2s;
    }

    #service .block01.active .ph {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block01 .service_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.8s;
    }

    #service .block01.active .service_txt {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block01 .title_jp,
    #service .block01 .desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.2s;
    }

    #service .block01.active .title_jp,
    #service .block01.active .desc {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block01 .btn_inner {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.7s;
    }

    #service .block01.active .btn_inner {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block02 .ph {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.2s;
    }

    #service .block02.active .ph {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block02 .service_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.8s;
    }

    #service .block02.active .service_txt {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block02 .title_jp,
    #service .block02 .desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.2s;
    }

    #service .block02.active .title_jp,
    #service .block02.active .desc {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block02 .btn_inner {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.7s;
    }

    #service .block02.active .btn_inner {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block03 .ph {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.9s;
    }

    #service .block03.active .ph {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block03 .service_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.5s;
    }

    #service .block03.active .service_txt {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block03 .title_jp,
    #service .block03 .desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.9s;
    }

    #service .block03.active .title_jp,
    #service .block03.active .desc {
        transform: translateY(0);
        opacity: 1;
    }

    #service .block03 .btn_inner {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 2.4s;
    }

    #service .block03.active .btn_inner {
        transform: translateY(0);
        opacity: 1;
    }






    /*spacer_ph
=======================*/
    .spacer_ph {
        background-image: url("/assets/img/top_ph04.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        height: 71.61vw;
        position: relative;
    }

    .spacer_ph::after {
        content: "";
        width: 100%;
        height: 100%;
        background-image: url("/assets/img/dot.png");
        background-repeat: repeat;
        background-size: 3.125vw 3.125vw;
        background-color: rgba(37, 24, 16, 0.3);
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .spacer_ph {
            background-position: 63% top;
            height: 85.93vw;
        }
    }




    /*news
=======================*/
    #news {
        padding: 19.53vw 0 22.13vw;
    }

    #top .news_list {
        width: 87.23vw;
        height: 75.52vw;
        margin: -3vw auto 8.85vw;
        overflow-y: scroll;
    }

    .news_list li a {
        display: block;
        width: 100%;
        padding: 4vw 2.99vw;
        box-sizing: border-box;
        line-height: 1.5;
    }

    #top .news_list li:nth-child(odd) {
        background-color: #f0f0f0;
    }

    #top .news_list li:nth-child(even) {
        background-color: #fff;
    }

    #topics_list6 .news_list li a {
        display: flex;
    }

    .news_list .date {
        font-size: 1.95vw;
        margin-bottom: 0.3em;
    }

    .news_list p {
        font-size: 2.34vw;
    }

    #news .btn_more02 {
        display: flex;
        justify-content: center;
    }

    /*VIEW MOREボタン02（線のみ）*/
    .btn_more02 a {
        width: 21.87vw;
        height: 6.25vw;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2.4vw;
        border-left: 1px solid #000;
        border-bottom: 1px solid #000;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #news {
            padding: 23.43vw 0 29vw;
        }

        #top .news_list {
            width: 89.06vw;
            height: 90.62vw;
            margin: -5vw auto 10.62vw;
        }

        .news_list li a {
            padding: 3.2vw 3vw;
        }

        .news_list .date {
            font-size: 3.43vw;
        }

        #topics_list6 .news_list .date {
            color: #488f41;
        }

        .news_list p {
            font-size: 3.7vw;
        }

        .btn_more02 a {
            width: 26.25vw;
            height: 7.5vw;
            font-size: 3.12vw;
        }
    }

    /*アニメーション*/
    #news .section_title .en::after {
        opacity: 0;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: all .8s 0s;
    }

    #news.active .section_title .en::after {
        opacity: 1;
        transform: scale(1, 1);
    }

    #news .news_list {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1s;
    }

    #news.active .news_list {
        transform: translateY(0);
        opacity: 1;
    }

    #news .btn_more02 {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 2s;
    }

    #news.active .btn_more02 {
        transform: translateY(0);
        opacity: 1;
    }








    /*company
=======================*/
    #company {
        padding: 0 0 9.11vw;
    }

    .gmap {
        width: 100%;
        height: 69vw;
    }

    .company_info {
        text-align: center;
    }

    /*.company_info_inner {
display: inline-block;
padding: 0 30px;
}*/
    #company .section_title .en {
        margin-bottom: 8.6vw;
    }

    .company_info .company_name {
        font-size: 3.64vw;
        padding-top: 3em;
    }

    .company_info .address {
        font-size: 2.34vw;
        line-height: 1.8;
        padding: 2em 0 3.2em;
    }

    #company .btn_more02 {
        display: flex;
        justify-content: center;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #company {
            padding: 0 0 10vw;
        }

        .gmap {
            width: 100%;
            height: 82vw;
        }

        #company .section_title .en {
            margin-bottom: 10vw;
        }

        .company_info .company_name {
            font-size: 5.5vw;
            padding-top: 2em;
        }

        .company_info .address {
            font-size: 3.75vw;
            padding: 1.5em 0 1.7em;
        }
    }

    /*アニメーション*/
    #company .company_info .section_title .en::after {
        opacity: 0;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: all .8s 0s;
    }

    #company .company_info.active .section_title .en::after {
        opacity: 1;
        transform: scale(1, 1);
    }

    #company .company_info .company_name,
    #company .company_info .address {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.6s;
    }

    #company .company_info.active .company_name,
    #company .company_info.active .address {
        transform: translateY(0);
        opacity: 1;
    }

    #company .company_info .btn_more02 {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1s;
    }

    #company .company_info.active .btn_more02 {
        transform: translateY(0);
        opacity: 1;
    }





    /*==========================================================
subpage01(インターネット広告)
==========================================================*/



    /*first_view2
=======================*/
    #first_view.sub .fixed_div {
        background-image: url("/assets/img/subpage01_fv_img_tab.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #first_view.sub .fixed_div div {
        z-index: 3;
    }

    #first_view.sub .fixed_div img {
        width: 72vw;
        height: auto;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #first_view.sub .fixed_div img {
            width: 86vw;
            height: auto;
        }
    }

    /*アニメーション*/



    /*footpath
=======================*/
    #footpath {
        display: none;
    }


    /*大タイトル
=======================*/
    div.sub_wrap .title_txt,
    #main_contents h2 {
        font-size: 6vw;
        color: #000;
        font-weight: bold;
        font-style: italic;
    }

    div.sub_wrap .title_txt span {
        display: inline-block;
        padding-bottom: 4.6vw;
        position: relative;
    }

    div.sub_wrap .title_txt span::after {
        content: "";
        width: 9.11vw;
        height: 0.91vw;
        background-image: linear-gradient(to right, #60A539 0%, #1A7159 51%, #093A36 100%);
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -4.55vw;
    }

    div.sub_wrap .title_illust {
        width: 64.5vw;
        margin: 7.8vw auto 10vw;
    }

    div.sub_wrap .subpage_title01 .title_txt,
    div.sub_wrap .subpage_title02 .title_txt {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 21.7vw;
        margin-bottom: 7.8vw;
    }

    div.sub_wrap .subpage_title01 .title_txt {
        background-image: url("/assets/img/subpage01_bg01.png");
        background-repeat: no-repeat;
        background-position: right top;
        background-size: auto 100%;
    }

    div.sub_wrap .subpage_title02 .title_txt {
        background-image: url("/assets/img/subpage01_bg02.png");
        background-repeat: no-repeat;
        background-position: left top;
        background-size: auto 100%;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {

        div.sub_wrap .title_txt,
        #main_contents h2 {
            font-size: 7.8vw;
        }

        div.sub_wrap .title_txt span {
            padding-bottom: 5.6vw;
        }

        div.sub_wrap .title_txt span::after {
            width: 10.9vw;
            height: 1.09vw;
            margin-left: -5.4vw;
        }

        div.sub_wrap .title_illust {
            width: 77.5vw;
            margin: 9.3vw auto 6.25vw;
        }

        div.sub_wrap .subpage_title01 .title_txt,
        div.sub_wrap .subpage_title02 .title_txt {
            width: 100%;
            height: 26vw;
            margin-bottom: 9.3vw;
        }
    }



    /*本文
=======================*/
    div.sub_wrap .subpage_desc,
    #main_contents {
        font-size: 2.3vw;
        line-height: 2;
        color: #252525;
    }

    div.sub_wrap .txt_center {
        padding: 0 5vw;
    }

    div.sub_wrap #subpage01_01 .subpage_desc,
    div.sub_wrap #subpage01_02 .subpage_desc {
        margin-bottom: 11vw;
    }


    /*519px以下は、SP表示*/
    @media (max-width: 519px) {

        div.sub_wrap .subpage_desc,
        #main_contents {
            font-size: 3.75vw;
        }

        div.sub_wrap .txt_center {
            padding: 0 6.2vw;
        }

        div.sub_wrap #subpage01_01 .subpage_desc,
        div.sub_wrap #subpage01_02 .subpage_desc {
            margin-bottom: 10vw;
        }
    }



    /*#subpage01_01 , #subpage01_02
=======================*/
    #subpage01_01 {
        padding-top: 15vw;
    }

    #subpage01_01 {
        padding-bottom: 31vw;
    }

    #subpage01_02 {
        padding-bottom: 20vw;
    }

    /*subpage_block*/
    #subpage01_01 .subpage_block,
    #subpage01_02 .subpage_block {
        width: 100%;
        position: relative;
        padding-bottom: 49vw;
    }

    /*subpage_ph*/
    #subpage01_01 .subpage_ph,
    #subpage01_02 .subpage_ph {
        width: 100%;
    }

    /*shadow_box*/
    div.sub_wrap .shadow_box {
        background-color: #fff;
        box-shadow: 3px 3px 15px rgb(102 102 102 / 30%);
        padding: 7.8vw 4.9vw;
        box-sizing: border-box;
        position: absolute;
    }

    #subpage01_01 .shadow_box {
        left: 0;
        bottom: 0;
        width: 92.4vw;
        height: 66.4vw;
    }

    #subpage01_02 .shadow_box {
        right: 0;
        bottom: 0;
        width: 92.4vw;
        height: 66.4vw;
    }

    /*subpage_subtitle01*/
    div.sub_wrap .subpage_subtitle01 {
        font-size: 3.9vw;
        color: #37864c;
        font-weight: bold;
        margin-bottom: 1em;
    }

    /*bullet_list*/
    div.sub_wrap .bullet_list li {
        background-image: url("/assets/img/bullet.png");
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 4.4vw auto;
        padding-left: 7vw;
        margin-bottom: 3.3vw;
        font-size: 2.6vw;
        min-height: 4.4vw;
        display: flex;
        align-items: center;
    }

    /*subpage_ph_list*/
    #subpage01_01 .subpage_ph_list {
        display: flex;
        position: absolute;
        left: 0;
        bottom: -6.5vw;
    }

    #subpage01_02 .subpage_ph_list {
        display: flex;
        position: absolute;
        right: 0;
        bottom: -6.5vw;
    }

    #subpage01_01 .subpage_ph_list li {
        margin-right: 3.12vw;
        width: 26vw;
    }

    #subpage01_02 .subpage_ph_list li {
        margin-left: 3.12vw;
        width: 26vw;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #subpage01_01 {
            padding-top: 15vw;
        }

        #subpage01_01 {
            padding-bottom: 30vw;
        }

        #subpage01_02 {
            padding-bottom: 30vw;
        }

        /*subpage_block*/
        #subpage01_01 .subpage_block,
        #subpage01_02 .subpage_block {
            width: 100%;
            position: relative;
            padding-bottom: 66vw;
        }

        /*shadow_box*/
        div.sub_wrap .shadow_box {
            padding: 8vw 7vw;
        }

        #subpage01_01 .shadow_box {
            left: 0;
            bottom: -4vw;
            width: 92.4vw;
            height: 78vw;
        }

        #subpage01_02 .shadow_box {
            right: 0;
            bottom: -7vw;
            width: 92.4vw;
            height: 78vw;
        }

        /*subpage_subtitle01*/
        div.sub_wrap .subpage_subtitle01 {
            font-size: 6.2vw;
        }

        /*bullet_list*/
        div.sub_wrap .bullet_list li {
            font-size: 4.7vw;
            margin-bottom: 1em;
        }

        /*subpage_ph_list*/
        #subpage01_01 .subpage_ph_list,
        #subpage01_02 .subpage_ph_list {
            width: 100vw;
            display: flex;
            justify-content: space-between;
            position: absolute;
            left: 0;
            bottom: -12.5vw;
        }

        #subpage01_01 .subpage_ph_list li,
        #subpage01_02 .subpage_ph_list li {
            margin: 0;
            width: 31.25vw;
        }
    }

    /*アニメーション*/
    .subpage_title01 .title_txt,
    .subpage_title02 .title_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    .subpage_title01.active .title_txt,
    .subpage_title02.active .title_txt {
        transform: translateY(0);
        opacity: 1;
    }

    .subpage_title01 .title_txt span::after,
    .subpage_title02 .title_txt span::after {
        opacity: 0;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: all .8s 0.3s;
    }

    .subpage_title01.active .title_txt span::after,
    .subpage_title02.active .title_txt span::after {
        opacity: 1;
        transform: scale(1, 1);
    }

    .subpage_title01 .title_illust,
    .subpage_title02 .title_illust {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.8s;
    }

    .subpage_title01.active .title_illust,
    .subpage_title02.active .title_illust {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_01 .subpage_desc,
    #subpage01_02 .subpage_desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.2s;
    }

    #subpage01_01 .subpage_desc.active,
    #subpage01_02 .subpage_desc.active {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_01 .subpage_block .subpage_ph,
    #subpage01_02 .subpage_block .subpage_ph {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.5s;
    }

    #subpage01_01 .subpage_block.active .subpage_ph,
    #subpage01_02 .subpage_block.active .subpage_ph {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_01 .subpage_block .shadow_box,
    #subpage01_02 .subpage_block .shadow_box {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.1s;
    }

    #subpage01_01 .subpage_block.active .shadow_box,
    #subpage01_02 .subpage_block.active .shadow_box {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_01 .subpage_block .subpage_ph_list li,
    #subpage01_02 .subpage_block .subpage_ph_list li {
        opacity: 0;
        transform: translateY(40px);
    }

    #subpage01_01 .subpage_block .subpage_ph_list li:nth-child(1),
    #subpage01_02 .subpage_block .subpage_ph_list li:nth-child(1) {
        transition: all .8s 1.6s;
    }

    #subpage01_01 .subpage_block .subpage_ph_list li:nth-child(2),
    #subpage01_02 .subpage_block .subpage_ph_list li:nth-child(2) {
        transition: all .8s 1.9s;
    }

    #subpage01_01 .subpage_block .subpage_ph_list li:nth-child(3),
    #subpage01_02 .subpage_block .subpage_ph_list li:nth-child(3) {
        transition: all .8s 2.2s;
    }

    #subpage01_01 .subpage_block.active .subpage_ph_list li,
    #subpage01_02 .subpage_block.active .subpage_ph_list li {
        transform: translateY(0);
        opacity: 1;
    }






    /*#subpage01_03
=======================*/
    #subpage01_03 .subpage_block {
        /* width: 100%; */
        position: relative;
        padding-top: 19vw;
        margin-bottom: 7vw;
    }

    div.sub_wrap .subpage_block.summary {
        width: 76vw;
        position: relative;
        margin: 0 auto 0;
        padding: 4vw 0 13vw 0;
    }

    #subpage01_03 .shadow_box {
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 15.36vw auto;
        width: 94.7vw;
        padding: 9.11vw 3.9vw;
        box-sizing: border-box;
        text-align: justify;
        margin: 0 2.65vw;
        position: relative;

    }

    #subpage01_03 .shadow_box.bg_num01 {
        background-image: url("/assets/img/subpage01_num01.png");
    }

    #subpage01_03 .shadow_box.bg_num02 {
        background-image: url("/assets/img/subpage01_num02.png");
    }

    #subpage01_03 .shadow_box.bg_num03 {
        background-image: url("/assets/img/subpage01_num03.png");
    }

    #subpage01_03 .shadow_box.bg_num04 {
        background-image: url("/assets/img/subpage01_num04.png");
    }

    #subpage01_03 .shadow_box.bg_num05 {
        background-image: url("/assets/img/subpage01_num05.png");
    }

    div.sub_wrap .subpage_subtitle02 {
        font-size: 3.9vw;
        color: #37864c;
        font-weight: bold;
        padding-bottom: 1em;
    }

    #subpage01_03 .subpage_ph {
        position: absolute;
        top: 0;
        right: 0;
        width: 41.6vw;
        z-index: 2;
    }

    div.sub_wrap .subpage_block.summary .subpage_illust {
        width: 70vw;
        margin-left: auto;
        margin-right: auto;
    }

    div.sub_wrap .subpage_block.summary .subpage_talk {
        width: 100%;
        text-align: center;
        font-size: 3.9vw;
        line-height: 1.5;
        font-weight: 500;
        padding-bottom: 1em;
        border-bottom: 2px solid #000;
        position: relative;
        margin-bottom: 10vw;
    }

    div.sub_wrap .subpage_block.summary .subpage_talk::after {
        content: "";
        width: 14px;
        height: 14px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: rotate(135deg);
        position: absolute;
        bottom: -9px;
        left: 50%;
        margin-left: -8px;
        background-color: #fff;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #subpage01_03 .subpage_block {
            /* width: 100%; */
            padding-top: 19vw;
            margin-bottom: 7vw;
        }

        div.sub_wrap .subpage_block.summary {
            width: 90vw;
            margin: 0 auto 0;
            padding: 10vw 0 13vw 0;
        }

        #subpage01_03 .shadow_box {
            background-size: 18.5vw auto;
            width: 94.7vw;
            padding: 20vw 6vw 6vw;
            margin: 0 2.65vw;

        }

        div.sub_wrap .subpage_subtitle02 {
            font-size: 5.5vw;
            padding-bottom: 1em;
        }

        #subpage01_03 .subpage_ph {
            position: absolute;
            top: 0;
            right: 0;
            width: 50vw;
            z-index: 2;
        }

        div.sub_wrap .subpage_block.summary .subpage_illust {
            width: 70vw;
        }

        div.sub_wrap .subpage_block.summary .subpage_talk {
            width: 100%;
            text-align: center;
            font-size: 4.5vw;
            line-height: 1.5;
            font-weight: 500;
            padding-bottom: 1em;
            border-bottom: 2px solid #000;
            position: relative;
            margin-bottom: 10vw;
        }

        div.sub_wrap .subpage_block.summary .subpage_talk::after {
            content: "";
            width: 14px;
            height: 14px;
            border-top: 2px solid #000;
            border-right: 2px solid #000;
            transform: rotate(135deg);
            position: absolute;
            bottom: -9px;
            left: 50%;
            margin-left: -8px;
            background-color: #fff;
        }
    }

    /*アニメーション*/
    #subpage01_03 .subpage_block .subpage_ph,
    #subpage01_03 .subpage_block .shadow_box {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1s;
    }

    #subpage01_03 .subpage_block.active .subpage_ph,
    #subpage01_03 .subpage_block.active .shadow_box {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_03 .subpage_block .subpage_subtitle02,
    #subpage01_03 .subpage_block .subpage_desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 1.8s;
    }

    #subpage01_03 .subpage_block.active .subpage_subtitle02,
    #subpage01_03 .subpage_block.active .subpage_desc {
        transform: translateY(0);
        opacity: 1;
    }

    #subpage01_03 .subpage_block.summary {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0.5s;
    }

    #subpage01_03 .subpage_block.summary.active {
        transform: translateY(0);
        opacity: 1;
    }



    /*==========================================================
company(会社概要)
==========================================================*/


    /*first_view
=======================*/
    #topics_detail5 #first_view .fixed_div {
        background-image: url("/assets/img/company_fv_img_sp.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #topics_detail5 #first_view .fixed_div img {
        width: 83vw;
        height: auto;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #topics_detail5 #first_view .fixed_div img {
            width: 100vw;
            height: auto;
        }
    }

    /*アニメーション*/
    #first_view.sub .fixed_div img {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    #first_view.sub .fixed_div.active img {
        transform: translateY(0);
        opacity: 1;
    }

    #main_contents {
        padding-top: 18vw;
        padding-bottom: 10vw;
    }


    /*H2
=======================*/
    #topics_detail5 .subpage_title03 {
        background-image: url("/assets/img/company_title_bg_sp.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100% auto;
        height: 10.54vw;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 2.5em;
        margin-bottom: 4.2em;
    }

    #topics_detail5 .subpage_title03 .title_txt {
        font-size: 5.4vw;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #topics_detail5 .subpage_title03 {
            height: 13vw;
        }

        #topics_detail5 .subpage_title03 .title_txt {
            font-size: 6vw;
        }
    }


    #main_contents h2 {
        background-image: url("/assets/img/company_title_bg_sp.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100% auto;
        height: 10.54vw;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 1.1em;
        margin-bottom: 1.85em;
        font-size: 5.4vw;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #main_contents h2 {
            height: 13vw;
            font-size: 6vw;
        }
    }

    /*H3
=======================*/
    #topics_detail5 .subpage_title04,
    #main_contents h3 {
        font-size: 4.5vw;
        color: #37864c;
        font-weight: bold;
        padding: 1.3vw 1.3vw 1.3vw 5.3vw;
        position: relative;
        margin-bottom: 1em;
        line-height: 1.5;
    }

    #main_contents h3 {
        margin-left: 5.2vw;
        margin-right: 5.2vw;
    }

    #main_contents .tbox_side_out h3 {
        margin-left: 0;
        margin-right: 0;
    }

    #topics_detail5 .subpage_title04::after,
    #main_contents h3::after {
        content: "";
        width: 0.78vw;
        height: 100%;
        background-image: linear-gradient(to bottom, #60A539 0%, #1A7159 51%, #093A36 100%);
        position: absolute;
        top: 0;
        left: 0;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {

        #topics_detail5 .subpage_title04,
        #main_contents h3 {
            font-size: 5.4vw;
            padding: 0.5vw 0.5vw 0.5vw 6.25vw;
        }

        #topics_detail5 .subpage_title04::after,
        #main_contents h3::after {
            width: 0.93vw;
        }
    }



    /*本文
=======================*/
    #topics_detail5 .subpage_desc {
        margin-bottom: 3.3em !important;
    }

    #main_contents .tbox_side_out,
    #main_contents .inner {
        padding-left: 5.2vw;
        padding-right: 5.2vw;
    }

    /*図版
=======================*/
    #topics_detail5 .subpage_block.chart {
        text-align: center;
        margin-bottom: 3vw;
    }

    #topics_detail5 .subpage_block.chart img {
        width: 84vw;
        margin-bottom: 3em;
    }

    /*テーブル
=======================*/
    #topics_detail5 table.table_def {
        width: calc(100% - 3vw);
        margin: 0 1.5vw 15vw;
    }

    #topics_detail5 table.table_def th {
        background-color: #f0f0f0 !important;
        font-size: 2.6vw;
        line-height: 2;
        text-align: left;
        padding: 0.45em 0.8em;
        width: 100%;
        display: block;
        box-sizing: border-box;
        border: 0 !important;
        border-bottom: 4px solid #fff !important;
        vertical-align: top;
    }

    #topics_detail5 table.table_def td {
        background-color: #fff !important;
        font-size: 2.6vw;
        line-height: 2;
        text-align: left;
        padding: 0.45em 0.8em;
        width: 100%;
        display: block;
        box-sizing: border-box;
        border: 0 !important;
        border-bottom: 4px solid #fff !important;
        vertical-align: top;
    }

    #topics_detail5 table.table_def td li {
        display: flex;
    }

    #topics_detail5 table.table_def td li strong {
        display: inline-block;
        width: 9em;
        white-space: nowrap;
    }


    /*519px以下は、SP表示*/
    @media (max-width: 519px) {

        #topics_detail5 table.table_def th,
        #topics_detail5 table.table_def td {
            font-size: 3.8vw;
        }
    }


    #main_contents table.des {
        width: calc(100% - 3vw) !important;
        margin: 0 1.5vw 15vw !important;
    }

    #main_contents table.des th {
        background-color: #f0f0f0 !important;
        font-size: 2.6vw;
        line-height: 2;
        text-align: left;
        padding: 0.45em 0.8em !important;
        width: 100%;
        display: block;
        box-sizing: border-box;
        border: 0 !important;
        border-bottom: 4px solid #fff !important;
    }

    #main_contents table.des td {
        background-color: #fff !important;
        font-size: 2.6vw;
        line-height: 2;
        text-align: left;
        padding: 0.45em 0.8em !important;
        width: 100%;
        display: block;
        box-sizing: border-box;
        border: 0 !important;
        border-bottom: 4px solid #fff !important;
    }

    #main_contents table.des td li {
        display: flex;
    }

    #main_contents table.des td li strong {
        display: inline-block;
        width: 9em;
        white-space: nowrap;
    }


    /*519px以下は、SP表示*/
    @media (max-width: 519px) {

        #main_contents table.des th,
        #main_contents table.des td {
            font-size: 3.8vw;
        }
    }


    /*G MAP
=======================*/
    #company_03,
    #accessmap {
        padding-bottom: 10vw;
    }

    #company_03 .subpage_desc,
    #accessmap .subpage_desc {
        margin: 0vw 3vw;
        display: flex;
    }

    #company_03 .subpage_desc .area_label,
    #accessmap .subpage_desc .area_label {
        display: inline-block;
        white-space: nowrap;
    }

    #company_03 .subpage_desc .area_txt,
    #accessmap .subpage_desc .area_txt {
        display: inline-block;
    }

    #company_03 .gmap,
    #accessmap .gmap {
        margin-top: -3vw;
    }

    #company_04 {
        padding-bottom: 10vw;
    }





    /*==========================================================
creative(クリエイティブ)
==========================================================*/


    /*first_view
=======================*/
    #creative #first_view .fixed_div {
        background-image: url("/assets/img/creative_fv_img_sp.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #creative #first_view .fixed_div img {
        width: 100vw;
        height: auto;
    }

    #creative #wrap_contents {
        padding-top: 18vw;
    }

    /*fitness（creative流用）first_view + 大タイトル
=======================*/
    #fitness #first_view .fixed_div {
        background-image: url("/assets/img/fitness.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #fitness #wrap_contents {
        padding-top: 18vw;
    }

    #fitness .subpage_title01 .title_txt,
    #fitness .subpage_title02 .title_txt {
        text-align: center;
        font-size: 6.2vw;
        line-height: 1.3;
    }

    #fitness .subpage_title01 .title_txt span::after,
    #fitness .subpage_title02 .title_txt span::after {
        bottom: 2vw;
    }

    /*大タイトル
=======================*/
    #creative .subpage_title01 .title_txt,
    #creative .subpage_title02 .title_txt {
        text-align: center;
        font-size: 6.2vw;
        line-height: 1.3;
    }

    #creative .subpage_title01 .title_txt span::after,
    #creative .subpage_title02 .title_txt span::after {
        bottom: 2vw;
    }



    /*creative_01
=======================*/
    #creative_01 .subpage_block {
        position: relative;
        padding-bottom: 70vw;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #creative_01 .subpage_block {
            padding-bottom: 86vw;
        }
    }

    #creative_01 .subpage_block .subpage_ph {
        margin-top: 10vw;
    }

    #creative_01 .subpage_block .shadow_box {
        margin-top: -10vw;
        width: 90.62vw;
        padding-bottom: 20vw;
    }

    #creative_01 .subpage_subtitle01 {
        font-size: 3.9vw;
        line-height: 1.3;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #creative_01 .subpage_subtitle01 {
            font-size: 6vw;
        }
    }


    #creative_01 .subpage_block .subpage_ph_list {
        position: absolute;
        bottom: 0;
        left: 0;
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    #creative_01 .subpage_block .subpage_ph_list li {
        width: 48.43vw;
    }



    /*creative_02
=======================*/
    #creative_02 {
        padding-bottom: 12vw;
    }

    #creative_02 .subpage_title02 {
        margin-top: 20vw;
    }

    #creative_02 .title_illust {
        width: 50vw;
        margin-top: 15vw;
    }

    #creative_02 .subpage_block {
        margin-top: 13vw;
        display: flex;
        flex-direction: column;
    }

    #creative_02 .shadow_box {
        width: 93.75%;
        padding: 8vw 10vw;
        order: 2;
        position: relative;
        margin: 3.5vw auto;
    }

    #creative_02 .subpage_ph {
        position: relative;
    }

    #creative_02 .ph04 {
        order: 1;
    }

    #creative_02 .ph05 {
        order: 3;
    }

    #creative_02 .subpage_subtitle01 {
        font-size: 3.9vw;
        line-height: 1.3;
        white-space: nowrap;
        text-align: center;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #creative_02 .subpage_subtitle01 {
            font-size: 6vw;
        }
    }



    #creative_02 .shadow_box .subpage_desc {
        margin-right: -6vw;
        font-size: 2.6vw;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        #creative_02 .shadow_box .subpage_desc {
            font-size: 4.6vw;
        }
    }


    /*アニメーション*/
    #creative_01 .subpage_desc,
    #creative_01 .subpage_block .subpage_ph,
    #creative_01 .subpage_block .shadow_box,
    #creative_01 .subpage_block .subpage_ph_list li,
    #creative_02 .subpage_block .subpage_ph,
    #creative_02 .subpage_block .shadow_box,
    .subpage_block.summary {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    #creative_01 .subpage_block .shadow_box {
        transition: all .8s 0.5s;
    }

    #creative_01 .subpage_block .subpage_ph_list li:nth-child(1) {
        transition: all .8s 1s;
    }

    #creative_01 .subpage_block .subpage_ph_list li:nth-child(2) {
        transition: all .8s 1.5s;
    }

    #creative_02 .subpage_block .shadow_box {
        transition: all .8s 0.5s;
    }

    #creative_02 .subpage_block .subpage_ph.ph05 {
        transition: all .8s 1.5s;
    }

    #creative_01 .subpage_desc.active,
    #creative_01 .subpage_block.active .subpage_ph,
    #creative_01 .subpage_block.active .shadow_box,
    #creative_01 .subpage_block.active .subpage_ph_list li,
    #creative_02 .subpage_block.active .subpage_ph,
    #creative_02 .subpage_block.active .shadow_box,
    .subpage_block.summary.active {
        transform: translateY(0);
        opacity: 1;
    }


    /*==========================================================
digital(スペースデザイン事業)
==========================================================*/


    /*first_view
=======================*/
    #topics_list27 #first_view .fixed_div {
        background-image: url("/assets/img/digital_fv_img_sp.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #topics_list27 #first_view .fixed_div img {
        width: 100vw;
        height: auto;
    }

    #topics_list27 .sub_wrap {
        padding-top: 18vw;
    }


    div.sub_wrap .subpage_subtitle03 {
        font-size: 5.2vw;
        line-height: 1.4;
        font-weight: bold;
        margin-top: 1.3em;
        margin-bottom: 0.5em;
        text-align: center;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        div.sub_wrap .subpage_subtitle03 {
            font-size: 6.25vw;
        }
    }




    /*スライド
=======================*/
    .slider {
        margin: 6vw auto 0;
        width: 100%;
        padding-bottom: 1.5vw;
    }

    .slider-item {
        padding: 0 3.9vw 5vw;
        box-sizing: border-box;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .slider-item .slider_ph {
            width: 76.8vw;
        }
    }

    /*スライドの写真*/
    .slider-item .slider_ph {
        width: 64vw;
        height: auto;
        margin: 0 auto 9vw;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .slider-item .slider_ph {
            width: 76.8vw;
            margin: 0 auto 11vw;
        }
    }

    /*影付きボックス*/
    .slider-item .shadow_box {
        width: 75.52vw;
        margin: 0 auto;
        padding: 5em 3em 6em !important;
        box-sizing: border-box;
        position: relative !important;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .slider-item .shadow_box {
            width: 90.62vw;
            padding: 2.8em 2em !important;
            margin: 2.6vw auto 0;
        }
    }

    /*スライドのタイトル*/
    .slider .slide_title strong {
        font-size: 5.8vw;
        font-weight: 600;
        font-style: italic;
        color: #37864c;
        display: block;
        position: absolute;
        top: 5.5vw;
        left: 0;
        margin-top: -10.8vw;
    }

    .slider .slide_title span {
        font-size: 3.9vw;
        font-style: italic;
        display: block;
    }

    /*スライドの本文*/
    .slider .subpage_desc {
        font-size: 2.8vw !important;
        line-height: 2;
        padding: 1.5em 0;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .slider .slide_title strong {
            font-size: 7vw;
            margin-top: -12vw;
        }

        .slider .slide_title span {
            font-size: 5vw;
        }

        .slider .subpage_desc {
            font-size: 3.125vw;
            padding: 1.0em 0;
        }
    }

    /*スライドの矢印*/
    .slick-arrow {
        z-index: 1000;
        width: 5.72vw !important;
        height: 10.94vw !important;
    }

    .slick-next {
        top: 20.5%;
        right: 3vw;
    }

    .slick-prev {
        top: 20.5%;
        left: 3vw;
    }

    .slick-arrow:before {
        content: "" !important;
        width: 5.72vw !important;
        height: 10.94vw !important;
        position: absolute;
        top: 0;
        left: 0;
    }

    .slick-next:before {
        background: url("/assets/img/slide_arrow_r.png") !important;
        background-size: contain !important;
    }

    .slick-prev:before {
        background: url("/assets/img/slide_arrow_l.png") !important;
        background-size: contain !important;
    }


    /*VIEW MOREボタン*/
    .slide_wrapper {
        position: relative;
        margin-bottom: 15vw;
    }

    #digital_02 .slide_wrapper {
        margin-bottom: 0vw !important;
    }

    .slide_wrapper .btn_more {
        position: absolute;
        left: 50%;
        bottom: 0vw;
        margin-left: -31vw;
        width: 62vw;
        height: 12vw;
        z-index: 3;
        font-size: 2.6vw;
    }

    .slide_wrapper .btn_more .skew_btn {
        width: 62vw;
        height: 12vw;
        display: block;
        position: relative;
    }

    /*519px以下は、SP表示*/
    @media (max-width: 519px) {
        .slide_wrapper {
            margin-bottom: 20vw;
        }

        #digital_02 .slide_wrapper {
            margin-bottom: 10vw;
        }

        .slide_wrapper .btn_more {
            margin-left: -37vw;
            width: 74vw;
        }

        .slide_wrapper .btn_more .skew_btn {
            width: 74vw;
            height: 12vw;
        }
    }

    .slide_wrapper .btn_more .skew_btn span {
        position: absolute;
        right: 12vw;
        bottom: 2vw;
        padding-right: 1em;
        font-size: 3vw;
    }

    .slide_wrapper .btn_more .skew_btn span::before {
        content: "";
        width: 7.55vw;
        height: 1px;
        background-color: #fff;
        position: absolute;
        right: -7.55vw;
        bottom: 0.5em;
    }

    .slide_wrapper .btn_more .skew_btn span::after {
        content: "";
        width: 2vw;
        height: 1px;
        background-color: #fff;
        transform: rotate(35deg);
        position: absolute;
        right: -7.6vw;
        bottom: calc(0.5em + 0.5vw);
    }

    /*アニメーション*/
    .subpage_digital #first_view .fixed_div div {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    .subpage_digital #first_view .fixed_div.active div {
        transform: translateY(0);
        opacity: 1;
    }

    .subpage_digital .animate_item .title_txt {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    .subpage_digital .animate_item.active .title_txt {
        transform: translateY(0);
        opacity: 1;
    }

    #digital_01 .animate_item .subpage_subtitle03,
    #digital_01 .animate_item .subpage_desc,
    #digital_02 .animate_item .subpage_subtitle03,
    #digital_02 .animate_item .subpage_desc {
        opacity: 0;
        transform: translateY(40px);
        transition: all .8s 0s;
    }

    #digital_01 .animate_item.active .subpage_subtitle03,
    #digital_01 .animate_item.active .subpage_desc,
    #digital_02 .animate_item.active .subpage_subtitle03,
    #digital_02 .animate_item.active .subpage_desc {
        transform: translateY(0);
        opacity: 1;

    }

    /*first_view
=======================*/
    #sitemap #first_view .fixed_div {
        background-image: url("/assets/img/sitemap_fv_img_sp.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    /*first_view
=======================*/
    #inquiry_list #first_view .fixed_div {
        background-image: url("/assets/img/contact_fv_img_sp.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    /*first_view
=======================*/
    #topics_list6 #first_view .fixed_div {
        background-image: url("/assets/img/news_fv_img_sp.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #sitemap #first_view .fixed_div img {
        width: 100vw;
        height: auto;
    }


    /*519px以下は、SP表示*/
    @media (max-width: 519px) {

        #sitemap #first_view .fixed_div img,
        #topics_list6 #first_view .fixed_div img,
        #inquiry_list #first_view .fixed_div img {
            width: 100vw;
            height: auto;
        }
    }

    /** 20250501_add *******************************/
    .text-center {
        text-align: center !important;
    }

    .d-flex {
        display: flex !important;
    }

    .list-unstyled {
        display: flex;
    }

    .imgV {
        aspect-ratio: 16 / 9;
        vertical-align: top;
        object-fit: cover;
        overflow: hidden;
    }

    .text-white {
        color: #fff !important;
    }

    .mb-1 {
        margin-bottom: .5rem !important;
    }

    .mb-2 {
        margin-bottom: .75rem !important;
    }

    .mb-3 {
        margin-bottom: 1rem !important;
    }

    .mb-4 {
        margin-bottom: 2rem !important;
    }

    .mb-5 {
        margin-bottom: 3rem !important;
    }

    .mb-50 {
        margin-bottom: 50px !important;
    }

    .fs-normal {
        font-size: 1.56vw !important;
    }

    .fs-big {
        font-size: 1.9vw !important;
    }

    .lh-2 {
        line-height: 2 !important;
    }

    .d-inline-block {
        display: inline-block !important;
    }

    .virtual01 {
        width: 100%;
        max-width: 900px;
    }

    .virtual08 {
        width: 100%;
        max-width: 800px;
    }

    .pc {
        display: inline-block !important;
    }

    .sp {
        display: none !important;
    }

    #virtual_btn .section_inner {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #virtual_btn .section_inner .twinBtn {
        background: #37864c;
        border: 1px solid #37864c;
        border-radius: 15px;
        color: #FFF;
        display: block;
        font-weight: bold;
        padding: 2rem;
        width: 100%;
        max-width: 350px;
        text-align: center;
        transition: .5s;
    }

    #virtual_btn .section_inner .twinBtn+.twinBtn {
        margin-left: 20px;
    }

    #virtual_btn .section_inner .twinBtn:hover,
    #virtual_btn .section_inner .twinBtn:active {
        background: #FFF;
        color: #37864c;
    }

    #digital_04 {
        background: linear-gradient(to right, #3697b0 0%, #8ad75e 100%);
        padding-bottom: 6rem;
        margin-bottom: 6rem;
    }

    #digital_04 .subpage_desc {
        margin-bottom: 50px !important;
    }

    #digital_04 .innerBox {
        margin: 1rem;
    }

    #digital_04 .d-flex {
        max-width: 900px;
        margin: auto;
    }

    #digital_04 .d-flex .innerBox {
        width: 50%;
    }

    @media(max-width:767px) {

        .pc {
            display: none !important;
        }

        .sp {
            display: inline-block !important;
        }
    }



    /*==========================================================
Virtual VR空間事業
==========================================================*/
    .video

    /*first_view
=======================*/
    #topics_list40 #first_view .fixed_div {
        background-image: url("/assets/img/digital_fv_txt_pc.png");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #topics_list40 #first_view .fixed_div div {
        background-image: url("/assets/img/digital_fv_txt_pc.png");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        width: 920px;
        height: 288px;
    }

    #topics_list40 #first_view .fixed_div img {
        display: none;
    }

    #topics_list40 #first_view.sub .fixed_div {
        background: none;
        position: relative;
        z-index: 1;
    }

    #topics_list40 #main_module,
    #topics_list40 #footpath {
        background: #FFF;
        position: relative;
        z-index: 1;
    }

    #topics_list40 #cath_box {
        width: 100%;
        height: 100vh;
        position: absolute;
        top: 0;
        left: 0;
        overflow: hidden;
        z-index: -1;
    }

    #topics_list40 #cath_box video {
        min-width: 100%;
        min-height: 100%;
        width: auto;
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }

    /*1919px以下は、縮小して表示*/
    @media (max-width: 1919px) {
        #topics_list40 #first_view .fixed_div div {
            width: 47.916vw;
            height: 15vw;
        }
    }




    @media (max-width: 519px) {

        .fs-normal {
            font-size: 4.5vw !important;
        }

        .fs-big {
            font-size: 5.1vw !important;
        }

        .txt_center {
            text-align: center !important;
        }

        .d-inline-block {
            display: inline-block !important;
        }

        div.sub_wrap .subpage_desc {
            margin-bottom: 50px;
        }

        #digital_01,
        #digital_02,
        #digital_04 {
            padding-top: 6rem;
            margin-top: 6rem;
        }

        .virtual01,
        .virtual08,
        #virtual_btn {
            max-width: 95%;
            margin: auto;
        }

        .flex-wrapsp {
            flex-wrap: wrap;
        }

        #topics_list40 #first_view .fixed_div div {
            width: 101.916vw;
            height: 59vw;
            background: none;
        }

        #topics_list40 #first_view .fixed_div img {
            display: inline-block;
            width: 100%;
        }

        #digital_04 .d-flex .innerBox {
            width: 100%;
        }

    }
}

/* ============= menu_pc.css (PC / min-width:835px) ============= */
@media (min-width: 835px) {
    /*
	##### AMIS #####
	/css/menu_pc.css
*/

    /*parts
==========================================================*/
    /*ホバーで文字が変わるリンク*/
    a[class^="hovertxt"],
    .hovertxt_service {
        position: relative;
    }

    a[class^="hovertxt"]::after,
    .hovertxt_service::after {
        position: absolute;
        left: 0;
        top: 0;
        font-size: 1em;
        opacity: 0;
        transition: opacity .5s linear;
        white-space: nowrap;
    }

    a[class^="hovertxt"] span,
    .hovertxt_service span {
        opacity: 1;
        transition: opacity .5s ease-out
    }

    a[class^="hovertxt"]:hover span,
    .hovertxt_service:hover span {
        opacity: 0;
        transition: opacity .5s ease-out
    }

    a[class^="hovertxt"]:hover::after,
    .hovertxt_service:hover::after {
        opacity: 1;
        transition: opacity .5s cubic-bezier(0.075, 0.82, 0.165, 1)
    }

    a.hovertxt_home::after {
        content: "ホーム";
    }

    .hovertxt_service::after {
        content: "サービス";
    }

    a.hovertxt_news::after {
        content: "お知らせ";
    }

    a.hovertxt_company::after {
        content: "会社概要";
    }

    a.hovertxt_contact::after {
        content: "お問い合わせ";
    }

    a.hovertxt_service01::after {
        content: "インターネット広告";
    }

    a.hovertxt_service02::after {
        content: "スペースデザイン事業";
    }

    a.hovertxt_service03::after {
        content: "広告事業";
    }

    a.hovertxt_service04::after {
        content: "VR空間事業";
    }

    a.hovertxt_service05::after {
        content: "フィットネス事業";
    }


    /*ヘッダー・メニュー関連
==========================================================*/
    /*上部固定：横メニュー*/

    .headerArea {
        z-index: 2000;
    }

    .headerArea.fixed {
        position: fixed;
        display: flex;
        top: -80px;
        left: 0;
        width: 100%;
        /*height: 82px;*/
        height: 65px;
        background-color: rgb(251, 251, 251);
        align-items: center;
        justify-content: space-between;
    }

    .headerArea.fixed.open {
        top: 0;
        transition: top .3s linear
    }

    .headerArea.fixed.close {
        top: -80px;
        transition: top .2s linear
    }

    .headerArea .headerLogo img {
        margin-left: 20px
    }

    .headerArea .headerLogo a {
        opacity: 1;
        transition: opacity .2s ease
    }

    .headerArea .headerLogo a:hover {
        opacity: .5
    }

    .headerArea .icon_links {
        display: none;
    }

    .headerArea .scroll {
        display: none
    }

    .headerArea.fixed .contents_menu {
        width: 80%;
        max-width: 820px;
    }

    .headerArea.fixed .header_link {
        display: flex;
        padding-left: 40px;
    }

    .headerArea.fixed .header_link .hovertxt_service,
    .headerArea.fixed .header_link a {
        box-sizing: border-box;
        display: flex;
        /*height: 80px;*/
        height: 65px;
        color: #4b9543;
        text-decoration: none;
        align-items: center;
        justify-content: center;
    }

    .headerArea.fixed .header_link>li:nth-child(1) {
        width: calc(142/820*100%)
    }

    .headerArea.fixed .header_link>li:nth-child(2) {
        width: calc(162/820*100%)
    }

    .headerArea.fixed .header_link>li:nth-child(3) {
        width: calc(138/820*100%)
    }

    .headerArea.fixed .header_link>li:nth-child(4) {
        width: calc(178/820*100%)
    }

    .headerArea.fixed .header_link>li:nth-child(5) {
        width: calc(200/820*100%)
    }

    .headerArea.fixed .header_link a.hovertxt_contact {
        color: #fff;
        background-image: linear-gradient(to right, #60A539 0%, #1A7159 51%, #008945 100%);
        background-size: 100% auto;
        transition: all .3s;
    }

    .headerArea.fixed .header_link a.hovertxt_contact:hover {
        background-image: linear-gradient(to right, #008945 0%, #1A7159 51%, #60A539 100%);
        background-color: #fff;
        opacity: 1;
        animation: flash 1s;
    }

    /*SERVICE（サービス）：フライアウトメニュー（fixed用）*/
    .headerArea.fixed .sublink {
        position: absolute;
        display: none;
        box-sizing: border-box;
        width: 100%;
        height: calc(180/1920*100vw);
        background-color: rgba(0, 0, 0, .9);
        left: 0;
        top: 65px;
        padding: 0 10px;
        align-items: center;
        justify-content: center;
    }

    .headerArea.fixed .header_link li:nth-child(2):hover .sublink {
        display: flex
    }

    .headerArea.fixed .header_link li:nth-child(2):hover .hovertxt_service::before {
        content: '';
        display: block;
        position: absolute;
        width: 0;
        height: 0;
        bottom: 0;
        border: 10px solid transparent;
        border-bottom: 10px solid #000
    }

    .headerArea.fixed .sublink::before {
        content: 'SERVICE';
        color: #fff;
        margin-right: calc(84/1920*100vw);
        font-family: 'Spartan', sans-serif;
        line-height: 0;
        font-size: calc(60/1920*100vw);
        padding-top: 0.25em;
        letter-spacing: -0.05em
    }

    .headerArea.fixed .sublink li {
        display: inline-block;
        border: #478b3f 1px solid;
        width: calc(100% / 6.5);
    }

    .headerArea.fixed .sublink li+li {
        margin-left: calc(25/1920*100vw)
    }

    .headerArea.fixed .header_link .sublink a {
        width: calc(280/1920*100vw);
        height: calc(80/1920*100vw);
        color: #fff;
        font-size: calc(24/1920*100vw);
        justify-content: center;
        overflow: hidden;
    }

    .headerArea.fixed .header_link .sublink a img {
        width: 100%;
        height: auto;
    }

    /*ホバーで文字が変わるリンク：over-ride*/
    .headerArea.fixed .header_link a[class^="hovertxt"]::after,
    .headerArea.fixed .hovertxt_service::after {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }




    /*ファースト・ビュー：縦メニュー*/
    .headerArea.side {
        position: absolute;
        display: block;
        top: 0;
        left: -150px;
        width: 150px;
        height: 100vh;
        min-height: 640px;
    }

    .headerArea.side.open {
        left: 0;
        transition: left .45s ease
    }

    .headerArea.side.close {
        left: -150px;
        transition: left .2s ease
    }

    .headerArea.side .inner {
        display: flex;
        width: 100%;
        height: 100%;
        background-color: rgb(251, 251, 251);
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    }

    .headerArea.side .headerLogo img {
        display: none;
    }

    .headerArea.side .headerLogo a {
        display: block;
        width: 108px;
        height: 70px;
        margin-top: 20px;
        background: url(/assets/img/side_logo.png?v=1628139257) no-repeat center top / contain;
    }

    /*フライアウトメニュー（side用）*/
    .headerArea.side .contents_menu {
        box-sizing: border-box;
        position: absolute;
        display: block;
        width: 515px;
        height: 100vh;
        padding: 60px 72px;
        top: 0;
        left: -515px;
        background-color: rgba(0, 0, 0, .9);
        font-size: 20px;
        overflow-y: auto;
        z-index: -1;
        transition: left .45s ease-in-out
    }

    .headerArea.side .contents_menu.open {
        left: 150px;
    }

    .headerArea.side .header_link .hovertxt_service,
    .headerArea.side .header_link a {
        box-sizing: border-box;
        display: flex;
        width: 370px;
        height: 92px;
        color: #4b9543;
        text-decoration: none;
        align-items: center
    }

    .headerArea.side .header_link .hovertxt_service {
        cursor: pointer
    }

    .headerArea.side .header_link .hovertxt_service::before {
        content: url(/assets/img/side_sub_open.png?v=1628139258);
        position: absolute;
        right: 0;
        line-height: 0;
    }

    .headerArea.side .header_link .open-sub .hovertxt_service::before {
        content: url(/assets/img/side_sub_close.png?v=1628139258);
    }

    .headerArea.side .header_link .sublink {
        display: block;
        height: 0;
        overflow: hidden;
        transition: height .35s ease-in-out
    }

    .headerArea.side .header_link .open-sub .sublink {
        height: 680px;
        transition: height .35s ease-in-out
    }

    .headerArea.side .header_link>li {
        display: inline-block;
        border-bottom: 1px solid #666
    }

    .headerArea.side .header_link .sublink li {
        box-sizing: border-box;
        display: block;
        border: 1px solid #478b3f;
        margin-bottom: 30px;
    }

    .headerArea.side .header_link .sublink li:last-child {
        margin-bottom: 50px
    }

    .headerArea.side .header_link .sublink a {
        width: 368px;
        height: 98px;
        color: #fff;
        font-size: 24px;
        justify-content: center;
        overflow: hidden;
    }

    /*ホバーで文字が変わるリンク：over-ride*/
    .headerArea.side .header_link a[class^="hovertxt"]::after,
    .headerArea.side .hovertxt_service::after {
        top: 50%;
        transform: translateY(-50%);
    }

    /*SERVICE（サービス）：フライアウトメニュー（fixed, side共用）*/
    .header_link .sublink a[class^="service"] {
        position: relative;
        background-position: center top;
        background-repeat: no-repeat;
        background-size: cover
    }

    .header_link .sublink a[class^="service"] span {
        z-index: +1;
    }

    .header_link .sublink a[class^="service"] img {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        transition: opacity .3s ease-in-out
    }

    .header_link .sublink a[class^="service"]:hover img {
        opacity: 0;
    }

    .header_link .sublink .service01 {
        background-image: url(/assets/img/banner01_r.jpg)
    }

    .header_link .sublink .service02 {
        background-image: url(/assets/img/banner02_r.jpg)
    }

    .header_link .sublink .service03 {
        background-image: url(/assets/img/banner03_r.jpg)
    }

    .header_link .sublink .service04 {
        background-image: url(/assets/img/banner04_r.jpg)
    }

    .header_link .sublink .service05 {
        background-image: url(/assets/img/banner05_r.png)
    }


    /*サイドメニュー：アイコンリンク関連*/
    .headerArea.side .icon_links .tel {
        display: none;
    }

    .headerArea.side .icon_links {
        display: flex;
        flex-direction: column;
    }

    .headerArea.side .icon_links li {
        display: inline-block;
        text-align: center;
        line-height: 0;
        cursor: pointer;
        opacity: 1;
        /* transition: opacity .2s ease */
    }

    .headerArea.side .icon_links li .trigger,
    .headerArea.side .icon_links li a {
        display: inline-block;
        background: no-repeat center top / cover
    }

    .headerArea.side .icon_links li:hover img {
        opacity: 0
    }

    .headerArea.side .icon_links li+li {
        margin-top: 60px
    }

    .headerArea.side .icon_links li .trigger {
        width: 40px;
        height: 31px;
        background-image: url(/assets/img/side_menu_r.png?v=1628139258)
    }

    .headerArea.side .icon_links li .trigger img {
        opacity: 1;
        transition: opacity .3s
    }

    .headerArea.side .icon_links li .trigger:hover img {
        opacity: 0;
    }

    .headerArea.side .icon_links li .mail {
        width: 24px;
        height: 17px;
        background-image: url(/assets/img/side_icon_mail_r.png?v=1628139257)
    }

    .headerArea.side .icon_links li .facebook {
        width: 24px;
        height: 26px;
        background-image: url(/assets/img/side_icon_facebook_r.png?v=1628139256)
    }

    .headerArea.side .icon_links li .twitter {
        width: 24px;
        height: 21px;
        background-image: url(/assets/img/side_icon_twitter_r.png?v=1628139257)
    }

    .headerArea.side .icon_links .open-menu {
        background-image: url(/assets/img/side_close_r.png?v=1628139254)
    }

    .headerArea.side .icon_links .open-menu .trigger img {
        visibility: hidden;
    }

    .headerArea.side .icon_links .open-menu .trigger {
        background-image: url(/assets/img/side_close.png?v=1628139253);
        opacity: 1;
        transition: opacity .3s
    }

    .headerArea.side .icon_links .open-menu .trigger:hover {
        opacity: 0;
    }

    /*サイドメニュー：scroll*/
    .headerArea.side .scroll {
        display: block;
        padding: 0 10px;
        margin-bottom: 160px;
        font-size: 14px;
        line-height: 1;
        letter-spacing: .2em;
        writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: vertical-rl
    }

    .headerArea.side .scroll span {
        display: inline-block;
        transform: rotate(180deg)
    }

    .headerArea.side .scroll::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 1px;
        height: 150px;
        background: #999;
    }

    .headerArea.side .scroll::after {
        animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
    }

    @keyframes sdl {
        0% {
            opacity: 1;
            transform: scale(1, 0);
            transform-origin: 0 0;
        }

        30% {
            transform: scale(1, 1);
            transform-origin: 0 0;
        }

        30.1%,
        70% {
            transform: scale(1, 1);
            transform-origin: 0 100%;
        }

        100% {
            opacity: 0;
            transform: scale(1, 0);
            transform-origin: 0 100%;
        }
    }
}

/* ============= menu_mb.css (SP / max-width:834px) ============= */
@media (max-width: 834px) {

    /*ヘッダー・メニュー関連
==========================================================*/
    .headerArea {
        z-index: 2000;
    }

    .headerArea.side {
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: calc(80/640*100vw)
    }

    .headerArea.side.fixed2 {
        position: fixed;
        top: calc(-80/640*100vw)
    }

    .headerArea.side.fixed2.down {
        top: 0;
        transition: top .2s ease;
    }

    .headerArea.side.fixed2.down.up {
        top: calc(-80/640*100vw);
        transition: top .2s ease;
    }

    .headerArea.side .inner {
        display: flex;
        width: 100%;
        height: 100%;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid transparent;
        background-color: rgba(0, 0, 0, 0);
        transition: background-color .2s ease;
    }

    .headerArea.side.fixed2 .inner,
    .headerArea.side.bg .inner {
        background-color: rgba(0, 0, 0, .8);
        border-bottom: 1px solid #D9E4E6
    }

    .headerArea.side .headerLogo img {
        display: none;
    }

    .headerArea.side .headerLogo a {
        display: block;
        width: calc(215/640*100vw);
        height: calc(42/640*100vw);
        margin-left: calc(20/640*100vw);
        background: url(/assets/img/logo.png?v=1628139252) no-repeat center top / contain;
    }

    @media (min-width: 520px) and (max-width: 834px) {
        .headerArea.side {
            height: calc(80/768*100vw)
        }

        .headerArea.side.fixed2 {
            top: calc(-80/768*100vw)
        }

        .headerArea.side.fixed2.down.up {
            top: calc(-80/768*100vw);
        }

        .headerArea.side .headerLogo a {
            width: calc(215/768*100vw);
            height: calc(42/768*100vw);
            margin-left: calc(20/768*100vw);
            background: url(/assets/img/logo.png?v=1628139252) no-repeat center top / contain;
        }
    }



    /*フライアウトメニュー*/
    .headerArea.side .contents_menu {
        box-sizing: border-box;
        position: absolute;
        display: none;
        width: 100%;
        height: 100vh;
        padding: calc(125/640*100vw) calc(29/640*100vw);
        top: 0;
        left: 0;
        background-color: rgba(0, 0, 0, .9);
        font-size: calc(32/640*100vw);
        overflow-y: auto;
        z-index: -1;
        opacity: 0;
        transition: opacity .3s ease-in-out
    }

    .headerArea.side .contents_menu.open {
        opacity: 1;
    }

    .headerArea.side .header_link .hovertxt_service,
    .headerArea.side .header_link a {
        box-sizing: border-box;
        display: flex;
        width: calc(582/640*100vw);
        height: calc(125/640*100vw);
        color: #4b9543;
        text-decoration: none;
        align-items: center
    }

    .headerArea.side .header_link .hovertxt_service {
        cursor: pointer;
        position: relative;
    }

    .headerArea.side .header_link .hovertxt_service::before {
        content: '';
        position: absolute;
        right: 0;
        line-height: 0;
        display: block;
        width: calc(36/640*100vw);
        height: calc(32/640*100vw);
        background: url(/assets/img/side_sub_open.png?v=1628139258) no-repeat center top / cover
    }

    .headerArea.side .header_link .open-sub .hovertxt_service::before {
        background: url(/assets/img/side_sub_close.png?v=1628139258) no-repeat center top / cover
    }

    .headerArea.side .header_link .sublink {
        display: none;
        overflow: hidden;
        text-align: center;
    }

    .headerArea.side .header_link>li {
        display: inline-block;
        border-bottom: 1px solid #666
    }

    .headerArea.side .header_link .sublink li {
        box-sizing: border-box;
        display: inline-block;
        width: calc(370/640*100vw);
        height: calc(100/640*100vw);
        border: 1px solid #478b3f;
        margin-bottom: calc(40/640*100vw);
    }

    .headerArea.side .header_link .sublink li:last-child {
        margin-bottom: calc(70/640*100vw)
    }

    .headerArea.side .header_link .sublink a {
        width: 100%;
        height: 100%;
        color: #fff;
        font-size: calc(28/640*100vw);
        font-feature-settings: "palt";
        justify-content: center;
        overflow: hidden;
    }


    .header_link .sublink a[class^="service"] {
        position: relative;
        background-position: center top;
        background-repeat: no-repeat;
        background-size: cover
    }

    .header_link .sublink a[class^="service"] span {
        z-index: +1;
    }

    .header_link .sublink a[class^="service"] img {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        transition: opacity .3s ease-in-out
    }

    .header_link .sublink a[class^="service"]:hover img {
        opacity: 0;
    }

    .header_link .sublink .service01 {
        background-image: url(/assets/img/banner01_r.jpg?v=1628139280)
    }

    .header_link .sublink .service02 {
        background-image: url(/assets/img/banner02_r.jpg?v=1628139245)
    }

    .header_link .sublink .service03 {
        background-image: url(/assets/img/banner03_r.jpg?v=1628139247)
    }

    .header_link .sublink .service05 {
        background-image: url(/assets/img/banner05_r.png)
    }


    /*アイコンリンク関連*/

    .headerArea.side .icon_links li img {
        display: none;
    }

    .headerArea.side .icon_links li .trigger,
    .headerArea.side .icon_links li a {
        display: block;
        width: 100%;
        height: 100%
    }

    /*scroll*/
    .headerArea.side .scroll {
        display: none;
    }

    /*アイコンリンク関連 SP版*/
    @media (max-width: 519px) {
        .headerArea.side .icon_links {
            display: flex;
            margin-right: calc(20/640*100vw)
        }

        .headerArea.side .icon_links li {
            display: block;
            width: calc(42/640*100vw);
            height: calc(42/640*100vw);
        }

        .headerArea.side .icon_links .trigger {
            background: url(/assets/img/icon_menu.png?v=1628139251) no-repeat center top / cover
        }

        .headerArea.side .icon_links .open-menu .trigger {
            background: url(/assets/img/icon_close.png?v=1628139249) no-repeat center top / cover
        }

        .headerArea.side .icon_links .mail {
            background: url(/assets/img/icon_mail_sp.png?v=1628139250) no-repeat center top / cover
        }

        .headerArea.side .icon_links .tel {
            background: url(/assets/img/icon_phone_sp.png?v=1628139251) no-repeat center top / cover
        }

        .headerArea.side .icon_links li+li {
            margin-right: calc(33/640*100vw)
        }

        .headerArea.side .icon_links li:nth-child(1) {
            order: 3;
        }

        .headerArea.side .icon_links li:nth-child(4),
        .headerArea.side .icon_links li:nth-child(5) {
            display: none;
        }
    }

    /*アイコンリンク関連 TAB版*/
    @media (min-width: 520px) and (max-width: 834px) {
        .headerArea.side .icon_links {
            display: flex;
            margin-right: calc(20/768*100vw)
        }

        .headerArea.side .icon_links li {
            display: block;
            width: calc(42/768*100vw);
            height: calc(42/768*100vw);
        }

        .headerArea.side .icon_links .trigger {
            background: url(/assets/img/icon_menu.png?v=1628139251) no-repeat center top / cover
        }

        .headerArea.side .icon_links .open-menu .trigger {
            background: url(/assets/img/icon_close.png?v=1628139249) no-repeat center top / cover
        }

        .headerArea.side .icon_links .mail {
            background: url(/assets/img/icon_mail_tab.png?v=1628139250) no-repeat center top / cover
        }

        .headerArea.side .icon_links .tel {
            display: none;
        }

        .headerArea.side .icon_links .facebook {
            background: url(/assets/img/icon_facebook_tab.png?v=1628139250) no-repeat center top / cover
        }

        .headerArea.side .icon_links .twitter {
            background: url(/assets/img/icon_twitter_tab.png?v=1628139252) no-repeat center top / cover
        }

        .headerArea.side .icon_links li+li {
            margin-right: calc(3/768*100vw)
        }

        .headerArea.side .icon_links li:nth-child(1) {
            order: 3;
            margin-left: calc(20/768*100vw)
        }

    }
}

/* ===================== def.css (all) ===================== */
/*----------------------------------------------------------------------
ファイル名：def.css
内容：ページ基本設定、初期設定
----------------------------------------------------------------------*/


/* CSS
******************************************************************/
.clear,
.clr,
#bottom_contents {
    clear: both !important;
}

/* For modern browsers */
.clearfix:before,
.clearfix:after,
#wrap_contents:before,
#wrap_contents:after {
    content: "";
    display: table;
}

.clearfix:after,
#wrap_contents:after {
    clear: both;
}

/* For IE 6/7 (trigger hasLayout) */
.clearfix,
#wrap_contents {
    zoom: 1;
}

.center {
    text-align: center !important;
}

.left {
    text-align: left !important;
}

.right {
    text-align: right !important;
}

.floatL {
    float: left !important;
}

.floatR {
    float: right !important;
}

.ovh {
    overflow: hidden;
}

.b {
    font-weight: bold;
}

.big {
    font-size: 130px;
    font-weight: bold;
}

.color_red {
    color: #c52d2d;
    font-weight: bold;
}

.sml {
    font-size: 80% !important;
}

.normal {
    font-weight: normal !important;
}

ul li {
    list-style-type: none !important;
}


/*------------------------------------------------------------
SP template
------------------------------------------------------------*/
@media screen and (max-width : 980px) {

    html,
    body {
        padding: 0;
        margin: 0;
    }

    body {
        word-wrap: break-word;
    }

    img {
        max-width: 100%;
        border: 0;
    }

    ul li {
        list-style-type: none !important;
    }

    table {
        word-break: break-all;
        border: none;
        border-collapse: collapse;
    }
}

/* Font-size */
@media screen and (max-width : 640px) {
    html {
        font-size: 81.25%;
    }
}

@media screen and (max-width : 600px) {
    html {
        font-size: 76.171875%;
    }
}

@media screen and (max-width : 560px) {
    html {
        font-size: 71.09375%;
    }
}

@media screen and (max-width : 520px) {
    html {
        font-size: 66.015625%;
    }
}

@media screen and (max-width : 480px) {
    html {
        font-size: 60.9375%;
    }
}

@media screen and (max-width : 440px) {
    html {
        font-size: 55.859375%;
    }
}

@media screen and (max-width : 400px) {
    html {
        font-size: 50.78125%;
    }
}

@media screen and (max-width : 360px) {
    html {
        font-size: 45.703125%;
    }
}

@media screen and (max-width : 320px) {
    html {
        font-size: 40.625%;
    }
}

@media screen and (max-width : 280px) {
    html {
        font-size: 35.546875%;
    }
}

@media screen and (max-width : 240px) {
    html {
        font-size: 30.46875%;
    }
}

/* MARGIN(rem) */
.mT1rem {
    margin-top: 1rem !important;
}

.mT2rem {
    margin-top: 2rem !important;
}

.mT3rem {
    margin-top: 3rem !important;
}

.mR1rem {
    margin-right: 1rem !important;
}

.mR2rem {
    margin-right: 2rem !important;
}

.mR3rem {
    margin-right: 3rem !important;
}

.mL1rem {
    margin-left: 1rem !important;
}

.mL2rem {
    margin-left: 2rem !important;
}

.mL3rem {
    margin-left: 3rem !important;
}

.mB1rem {
    margin-bottom: 1rem !important;
}

.mB2rem {
    margin-bottom: 2rem !important;
}

.mB3rem {
    margin-bottom: 3rem !important;
}


/* MARGIN(px) */
.mT5 {
    margin-top: 5px !important;
}

.mT10 {
    margin-top: 10px !important;
}

.mT15 {
    margin-top: 15px !important;
}

.mT20 {
    margin-top: 20px !important;
}

.mT25 {
    margin-top: 25px !important;
}

.mT30 {
    margin-top: 30px !important;
}

.mT35 {
    margin-top: 35px !important;
}

.mT40 {
    margin-top: 40px !important;
}

.mT45 {
    margin-top: 45px !important;
}

.mT50 {
    margin-top: 50px !important;
}

.mT55 {
    margin-top: 55px !important;
}

.mT60 {
    margin-top: 60px !important;
}

.mT65 {
    margin-top: 65px !important;
}

.mT70 {
    margin-top: 70px !important;
}

.mT75 {
    margin-top: 75px !important;
}

.mT80 {
    margin-top: 80px !important;
}

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

    .mT55,
    .mT60,
    .mT65,
    .mT70,
    .mT75,
    .mT80 {
        margin-top: 50px !important;
    }
}

.mR5 {
    margin-right: 5px !important;
}

.mR10 {
    margin-right: 10px !important;
}

.mR15 {
    margin-right: 15px !important;
}

.mR20 {
    margin-right: 20px !important;
}

.mR25 {
    margin-right: 25px !important;
}

.mR30 {
    margin-right: 30px !important;
}

.mR35 {
    margin-right: 35px !important;
}

.mR40 {
    margin-right: 40px !important;
}

.mR45 {
    margin-right: 45px !important;
}

.mR50 {
    margin-right: 50px !important;
}

.mR55 {
    margin-right: 55px !important;
}

.mR60 {
    margin-right: 60px !important;
}

.mR65 {
    margin-right: 65px !important;
}

.mR70 {
    margin-right: 70px !important;
}

.mR75 {
    margin-right: 75px !important;
}

.mR80 {
    margin-right: 80px !important;
}

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

    .mR25,
    .mR30,
    .mR35,
    .mR40,
    .mR45,
    .mR50,
    .mR55,
    .mR60,
    .mR65,
    .mR70,
    .mR75,
    .mR80 {
        margin-right: 20px !important;
    }
}

.mL5 {
    margin-left: 5px !important;
}

.mL10 {
    margin-left: 10px !important;
}

.mL15 {
    margin-left: 15px !important;
}

.mL20 {
    margin-left: 20px !important;
}

.mL25 {
    margin-left: 25px !important;
}

.mL30 {
    margin-left: 30px !important;
}

.mL35 {
    margin-left: 35px !important;
}

.mL40 {
    margin-left: 40px !important;
}

.mL45 {
    margin-left: 45px !important;
}

.mL50 {
    margin-left: 50px !important;
}

.mL55 {
    margin-left: 55px !important;
}

.mL60 {
    margin-left: 60px !important;
}

.mL65 {
    margin-left: 65px !important;
}

.mL70 {
    margin-left: 70px !important;
}

.mL75 {
    margin-left: 75px !important;
}

.mL80 {
    margin-left: 80px !important;
}

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

    .mL25,
    .mL30,
    .mL35,
    .mL40,
    .mL45,
    .mL50,
    .mL55,
    .mL60,
    .mL65,
    .mL70,
    .mL75,
    .mL80 {
        margin-left: 20px !important;
    }
}

.mB5 {
    margin-bottom: 5px !important;
}

.mB10 {
    margin-bottom: 10px !important;
}

.mB15 {
    margin-bottom: 15px !important;
}

.mB20 {
    margin-bottom: 20px !important;
}

.mB25 {
    margin-bottom: 25px !important;
}

.mB30 {
    margin-bottom: 30px !important;
}

.mB35 {
    margin-bottom: 35px !important;
}

.mB40 {
    margin-bottom: 40px !important;
}

.mB45 {
    margin-bottom: 45px !important;
}

.mB50 {
    margin-bottom: 50px !important;
}

.mB55 {
    margin-bottom: 55px !important;
}

.mB60 {
    margin-bottom: 60px !important;
}

.mB65 {
    margin-bottom: 65px !important;
}

.mB70 {
    margin-bottom: 70px !important;
}

.mB75 {
    margin-bottom: 75px !important;
}

.mB80 {
    margin-bottom: 80px !important;
}

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

    .mB55,
    .mB60,
    .mB65,
    .mB70,
    .mB75,
    .mB80 {
        margin-bottom: 50px !important;
    }
}

.mV5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

.mV10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.mV15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

.mV20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.mV25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
}

.mV30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}

.mV35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
}

.mV40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
}

.mV45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important;
}

.mV50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}

.mH5 {
    margin-left: 5px !important;
    margin-right: 5px !important;
}

.mH10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
}

.mH15 {
    margin-left: 15px !important;
    margin-right: 15px !important;
}

.mH20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
}

.mH25 {
    margin-left: 25px !important;
    margin-right: 25px !important;
}

.mH30 {
    margin-left: 30px !important;
    margin-right: 30px !important;
}

.mH35 {
    margin-left: 35px !important;
    margin-right: 35px !important;
}

.mH40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
}

.mH45 {
    margin-left: 45px !important;
    margin-right: 45px !important;
}

.mH50 {
    margin-left: 50px !important;
    margin-right: 50px !important;
}

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

    .mH25,
    .mH30,
    .mH35,
    .mH40,
    .mH45,
    .mH50 {
        margin-left: 20px !important;
        margin-right: 20px !important;
    }
}

.m5 {
    margin: 5px !important;
}

.m10 {
    margin: 10px !important;
}

.m15 {
    margin: 15px !important;
}

.m20 {
    margin: 20px !important;
}

.m25 {
    margin: 25px !important;
}

.m30 {
    margin: 30px !important;
}

.m35 {
    margin: 35px !important;
}

.m40 {
    margin: 40px !important;
}

.m45 {
    margin: 45px !important;
}

.m50 {
    margin: 50px !important;
}

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

    .m25,
    .m30,
    .m35,
    .m40,
    .m45,
    .m50 {
        margin: 20px !important;
    }
}

.mHA {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* PADDING(rem) */
.pT1rem {
    padding-top: 1rem !important;
}

.pT2rem {
    padding-top: 2rem !important;
}

.pT3rem {
    padding-top: 3rem !important;
}

.pR1rem {
    padding-right: 1rem !important;
}

.pR2rem {
    padding-right: 2rem !important;
}

.pR3rem {
    padding-right: 3rem !important;
}

.pL1rem {
    padding-left: 1rem !important;
}

.pL2rem {
    padding-left: 2rem !important;
}

.pL3rem {
    padding-left: 3rem !important;
}

.pB1rem {
    padding-bottom: 1rem !important;
}

.pB2rem {
    padding-bottom: 2rem !important;
}

.pB3rem {
    padding-bottom: 3rem !important;
}


/* PADDING(px) */
.pT5 {
    padding-top: 5px !important;
}

.pT10 {
    padding-top: 10px !important;
}

.pT15 {
    padding-top: 15px !important;
}

.pT20 {
    padding-top: 20px !important;
}

.pT25 {
    padding-top: 25px !important;
}

.pT30 {
    padding-top: 30px !important;
}

.pT35 {
    padding-top: 35px !important;
}

.pT40 {
    padding-top: 40px !important;
}

.pT45 {
    padding-top: 45px !important;
}

.pT50 {
    padding-top: 50px !important;
}

.pT55 {
    padding-top: 55px !important;
}

.pT60 {
    padding-top: 60px !important;
}

.pT65 {
    padding-top: 65px !important;
}

.pT70 {
    padding-top: 70px !important;
}

.pT75 {
    padding-top: 75px !important;
}

.pT80 {
    padding-top: 80px !important;
}

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

    .pT55,
    .pT60,
    .pT65,
    .pT70,
    .pT75,
    .pT80 {
        padding-top: 50px !important;
    }
}

.pR5 {
    padding-right: 5px !important;
}

.pR10 {
    padding-right: 10px !important;
}

.pR15 {
    padding-right: 15px !important;
}

.pR20 {
    padding-right: 20px !important;
}

.pR25 {
    padding-right: 25px !important;
}

.pR30 {
    padding-right: 30px !important;
}

.pR35 {
    padding-right: 35px !important;
}

.pR40 {
    padding-right: 40px !important;
}

.pR45 {
    padding-right: 45px !important;
}

.pR50 {
    padding-right: 50px !important;
}

.pR55 {
    padding-right: 55px !important;
}

.pR60 {
    padding-right: 60px !important;
}

.pR65 {
    padding-right: 65px !important;
}

.pR70 {
    padding-right: 70px !important;
}

.pR75 {
    padding-right: 75px !important;
}

.pR80 {
    padding-right: 80px !important;
}

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

    .pR25,
    .pR30,
    .pR35,
    .pR40,
    .pR45,
    .pR50,
    .pR55,
    .pR60,
    .pR65,
    .pR70,
    .pR75,
    .pR80 {
        padding-right: 20px !important;
    }
}

.pL5 {
    padding-left: 5px !important;
}

.pL10 {
    padding-left: 10px !important;
}

.pL15 {
    padding-left: 15px !important;
}

.pL20 {
    padding-left: 20px !important;
}

.pL25 {
    padding-left: 25px !important;
}

.pL30 {
    padding-left: 30px !important;
}

.pL35 {
    padding-left: 35px !important;
}

.pL40 {
    padding-left: 40px !important;
}

.pL45 {
    padding-left: 45px !important;
}

.pL50 {
    padding-left: 50px !important;
}

.pL55 {
    padding-left: 55px !important;
}

.pL60 {
    padding-left: 60px !important;
}

.pL65 {
    padding-left: 65px !important;
}

.pL70 {
    padding-left: 70px !important;
}

.pL75 {
    padding-left: 75px !important;
}

.pL80 {
    padding-left: 80px !important;
}

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

    .pL25,
    .pL30,
    .pL35,
    .pL40,
    .pL45,
    .pL50,
    .pL55,
    .pL60,
    .pL65,
    .pL70,
    .pL75,
    .pL80 {
        padding-left: 20px !important;
    }
}

.pB5 {
    padding-bottom: 5px !important;
}

.pB10 {
    padding-bottom: 10px !important;
}

.pB15 {
    padding-bottom: 15px !important;
}

.pB20 {
    padding-bottom: 20px !important;
}

.pB25 {
    padding-bottom: 25px !important;
}

.pB30 {
    padding-bottom: 30px !important;
}

.pB35 {
    padding-bottom: 35px !important;
}

.pB40 {
    padding-bottom: 40px !important;
}

.pB45 {
    padding-bottom: 45px !important;
}

.pB50 {
    padding-bottom: 50px !important;
}

.pB55 {
    padding-bottom: 55px !important;
}

.pB60 {
    padding-bottom: 60px !important;
}

.pB75 {
    padding-bottom: 65px !important;
}

.pB70 {
    padding-bottom: 70px !important;
}

.pB85 {
    padding-bottom: 75px !important;
}

.pB80 {
    padding-bottom: 80px !important;
}

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

    .pB55,
    .pB60,
    .pB75,
    .pB70,
    .pB85,
    .pB80 {
        padding-bottom: 50px !important;
    }
}

.pV5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

.pV10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.pV15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.pV20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.pV25 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
}

.pV30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.pV35 {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
}

.pV40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

.pV45 {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
}

.pV50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.pH5 {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.pH10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.pH15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.pH20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.pH25 {
    padding-left: 25px !important;
    padding-right: 25px !important;
}

.pH30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

.pH35 {
    padding-left: 35px !important;
    padding-right: 35px !important;
}

.pH40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

.pH45 {
    padding-left: 45px !important;
    padding-right: 45px !important;
}

.pH50 {
    padding-left: 50px !important;
    padding-right: 50px !important;
}

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

    .pH25,
    .pH30,
    .pH35,
    .pH40,
    .pH45,
    .pH50 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

.p5 {
    padding: 5px !important;
}

.p10 {
    padding: 10px !important;
}

.p15 {
    padding: 15px !important;
}

.p20 {
    padding: 20px !important;
}

.p25 {
    padding: 25px !important;
}

.p30 {
    padding: 30px !important;
}

.p35 {
    padding: 35px !important;
}

.p40 {
    padding: 40px !important;
}

.p45 {
    padding: 45px !important;
}

.p50 {
    padding: 50px !important;
}

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

    .p25,
    .p30,
    .p35,
    .p40,
    .p45,
    .p50 {
        padding: 20px !important;
    }
}

.p0 {
    padding: 0 !important;
}

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

.pR0 {
    padding-right: 0 !important;
}

.pL0 {
    padding-left: 0 !important;
}

.pB0 {
    padding-bottom: 0 !important;
}

.m0 {
    margin: 0 !important;
}

.mT0 {
    margin-top: 0 !important;
}

.mR0 {
    margin-right: 0 !important;
}

.mL0 {
    margin-left: 0 !important;
}

.mB0 {
    margin-bottom: 0 !important;
}

.vaT {
    vertical-align: top !important;
}

.vaM {
    vertical-align: middle !important;
}

.vaB {
    vertical-align: bottom !important;
}

.dispn {
    display: none !important;
}

.nodec a {
    text-decoration: none !important;
}

.img_border img {
    padding: 1px;
    border: 1px solid #ccc;
}

/*　新着情報
******************************************************************/
#topics_list6 #main_contents ul.topics li {
    border-bottom: 1px #ccc dotted;
    margin-bottom: 8px;
    padding-bottom: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#topics_list6 #main_contents ul.topics li .date {
    padding-right: 2em;
}


/* sitemap
******************************************************************/
/* #sitemap #main_contents .module_contents{padding:10px 15px;} */

#main_contents .sitemap ul li.home {
    list-style-type: none;
    font-size: 14px;
    background: none !important;
}

#main_contents .sitemap ul.tree {
    margin: 0 0 0 2em !important;
    padding: 0 !important;
    list-style: none !important;
}

#main_contents .sitemap ul.tree ul {
    margin: 0 0 0 2em !important;
    padding: 0 !important;
}

#main_contents .sitemap ul.tree li {
    margin: 0 !important;
    padding: 0 0 0 16px !important;
    background: none !important;
    background-image: url(/assets/img/tree_lst.png?v=1371102253) !important;
    background-repeat: no-repeat !important;
    list-style: none !important;
    border-bottom: 0 !important;
}

#main_contents .sitemap ul.tree li a {
    background: none !important;
}

#main_contents .sitemap ul.tree li.tree_end {
    background-image: url(/assets/img/tree_end.png?v=1371102252) !important;
    list-style: none;
}


/* managed by RCMS
******************************************************************/
.rcms {
    font-size: 10px;
    text-decoration: none;
}

.rcms a {
    text-decoration: none !important;
}


/* 記事
******************************************************************/
#main_contents .topics_ymd {
    text-align: left;
    padding: 10px 10px 30px 0 !important;
    color: #bfc0c0;
}

#main_contents .relation_link {
    margin-top: 30px;
    text-align: center;
}

ul li {
    list-style-position: outside;
}



/* お問い合わせ
******************************************************************/
#main_contents .contact_form p {
    margin: 5px 0 20px 10px;
    padding: 0;
}

#main_contents .contact_form .input_form input,
#main_contents .contact_form .input_form textarea {
    width: 95%;
    border: 1px solid #999;
    padding: 2px;
}

#main_contents .contact_form #inquiry_item_button_confirm,
#main_contents .contact_form #inquiry_item_button_send {
    width: 100px;
}

input[type="submit"],
input[type="button"] {
    border: 1px solid #999;
    padding: 7px !important;
}

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

    input[type="submit"],
    input[type="button"] {
        margin: 0 auto;
        display: block;
    }
}

input[type="radio"],
input[type="checkbox"] {
    width: 20px !important;
    border: 0 !important;
}

label {
    margin-right: 10px;
}

#main_contents .contact_form input#inquiry_item_name,
#main_contents .contact_form input#inquiry_item_ext_title_01,
#main_contents .contact_form input#inquiry_item_ext_title_02 {
    width: 50% !important;
}

#main_contents .contact_form .c_txt {
    font-size: 10px;
    font-weight: normal;
    margin-top: 5px;
}

.login_input input {
    border: 1px solid #999;
}

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

    input[type="text"],
    textarea {
        width: 90%;
    }
}

/*** エラーテーブル ***/
table..errtable {
    width: 50%;
}

.errtable td.errmsg {
    font-size: 15px;
    font-weight: bold;
    border-bottom: 1px solid #555;
    padding: 3px 10px;
}

.errtable ul {
    margin: 15px 0 15px 25px;
}

.required {
    color: #D72D02;
}


/* ==================== フォームテーブル ==================== */
.c-form-input--textarea {
    height: 10em;
}

.c-form-policyAgree__contents {
    width: 100%;
    margin: 0 auto 30px;
    border: 1px #CCC solid;
    padding: 2%;
    height: 250px;
    overflow-y: scroll;
    overflow-x: hidden;
    box-sizing: border-box;
}

.c-form-policyAgree__check {
    text-align: center;
}

.c-button,
.c-button--strong,
.c-button--disabled,
.c-button--return {
    display: inline-block;
    position: relative;
    padding: 1em 2em;
    border-radius: 4px;
    background-color: #099ad2;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.15;
    cursor: pointer;
    transition: 0.3s;
    border: 0;
}

.c-button:hover,
.c-button--strong:hover,
.c-button--disabled:hover,
.c-button--return:hover {
    background-color: #31bff6;
}

.c-button__outer {
    margin: 20px auto 40px;
    text-align: center;
}

.c-button__outer button {
    margin: 0 10px;
}

.c-button--strong {
    font-weight: bold;
}

.c-button--disabled {
    background-color: #bbb;
    pointer-events: none;
}

.c-button--return {
    border: solid 1px #099ad2;
    background-color: #ffffff;
    color: #099ad2;
}

.c-button--return:hover {
    background-color: #e6e6e6;
}


.contact_form .input_form input,
.contact_form .input_form textarea {
    padding: 8px !important;
    line-height: 1.75;
    border-radius: 5px;
    border: 1px solid #999;
}

.c-form-input--textarea {
    height: 15em !important;
}

.c-form-policyAgree__contents {
    border-radius: 5px;
    border: 1px solid #999 !important;
}

@media screen and (max-width:834px) {
    .p-contact__table dl dt {
        padding-bottom: 0;
        border-bottom: none;
    }

    .c-form-policyAgree__contents {
        padding: 10px;
        margin-bottom: 15px;
    }

    .c-form-policyAgree__check {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

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

    input[type="text"],
    textarea {
        width: 100% !important;
        box-sizing: border-box;
    }
}

/* ==================== エラー ==================== */
.c-form-errorBox {
    width: 100%;
    margin: 20px auto;
    padding: 20px;
    border: 2px solid #D91E10;
    background-color: rgba(217, 30, 16, 0.1);
    color: #D91E10;
}

.c-form-errorBox__heading {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
}

.c-form-errorBox__heading i {
    margin-right: 10px;
    vertical-align: middle;
}

.c-form-errorBox__list {
    margin-top: 20px;
}

.c-form-errorBox__list li {
    margin-top: 10px;
}

.c-form-error__msg {
    display: block;
    margin-top: 10px;
    color: #D91E10;
}

.err_box {
    border: 2px solid #D91E10;
}

.err_msg {
    font-size: 180%;
    margin: 15px;
    font-weight: bold;
    color: #D91E10;
}

.err_msg span {
    background: linear-gradient(transparent 60%, #ff6 60%);
}

.err_list {
    line-height: 150%;
    margin: 0 15px 15px;
}


/* テーブルデザイン .des
******************************************************************/
#main_contents table.des {
    border-collapse: collapse;
    border-spacing: 0px;
    margin: 10px auto 30px;
    width: 100%;
}

#main_contents table.des th,
#main_contents table.des td {
    border: 1px solid #d0d0d0;
    padding: 10px;
    text-align: left;
}

#main_contents table.des th {
    background: #F6F6F6;
}

#amap .module_contents {
    margin-top: 10px;
    margin-bottom: 30px;
}

/*** 地図情報 ***/
.location_detail_nolist .frame_out {
    border: 1px solid #999;
    padding: 1px;
}

/* テキストボックス
******************************************************************/
/*** 　テキストボックス画像   ***/
.tbox_left {
    float: left;
    margin: 0 15px 10px 0;
}

.tbox_right {
    float: right;
    margin: 0 0 10px 15px;
}

.tbox_none {
    float: none;
    text-align: center;
    margin-bottom: 15px;
}

.tbox_under {
    float: none;
    text-align: center;
    margin-top: 15px;
}

/******************
画像リスト用
*****************/
.item_listbox {
    width: 225px;
    float: left;
    margin-right: 20px;
}

.item_listbox_last {
    width: 225px;
    float: left;
    margin-right: 0;
}

.itemlist_text {
    margin: 5px 0;
}

.itemlist_title a.btn {
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    display: block;
    background: url(/assets/img/btn_bg.jpg?v=) 0 0;
    color: #FFF;
    width: 225px;
    line-height: 29px;
}

.itemlist_title a.btn:hover {
    filter: alpha(opacity=80);
    /*IE*/
    -moz-opacity: 0.8;
    /*FF*/
    opacity: 0.8;
}

.img_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.img_list::after {
    content: "";
    display: block;
    width: 30%;
}

.imglist_box {
    width: 32%;
    padding: 20px 0 0 0;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

.imglist_box img {
    max-width: 100% !important;
    max-height: 100% !important;
}

.img_list_txt {
    font-size: 12px;
    padding-top: 5px;
}

/* QA
******************************************************************/
.faq_q {
    color: #4646e7;
}

.faq_a {
    color: #e74646;
}

.help_item table th {
    font-size: 15px;
    font-weight: bold;
}

.help_item table td,
.help_item table th {
    padding: 2px;
    vertical-align: top;
}

.help_item table td.faq_atxt {
    padding-bottom: 25px;
}

.help_item table .faq_qtxt {
    font-weight: bold;
}

/* サイドメニューバナーリスト
******************************************************************/
.side_banner_list {
    text-align: center;
    margin-bottom: 15px;
}

.side_banner_list .side_banner_box {
    margin-bottom: 20px;
}

dl.extensions dt {
    font-weight: bold;
    display: none;
}

dl.extensions dd {
    margin: 0 0 10px 10px;
}




/* トップバナー
******************************************************************/
#bnr_list .top_bnr_list {
    float: left;
    width: 31%;
    margin: 0 1% 10px;
}

#bnr_list1 .top_bnr_list {
    float: none;
    width: 100%;
    margin: 0 2% 10px;
}

#bnr_list1 .top_bnr_list img {
    float: left;
    width: 150px !important;
}

#bnr_list1 .top_bnr_list {
    clear: both;
}

#bnr_list2 .top_bnr_list {
    float: left;
    width: 45%;
    margin: 0 2% 10px;
}

p.page_links {
    padding: 0 !important;
    margin: 50px 0 10px !important;
    text-align: center;
}


/* SNS
******************************************************************/
#sns_area {
    margin-bottom: 15px;
}

#sns_twitter,
#sns_facebook,
#sns_line {
    float: left;
    font-size: 0;
}

#sns_twitter iframe {
    width: 80px !important;
}

#sns_line {
    padding-left: 5px;
}




/*****************************************************************
*　ページャ
******************************************************************/
.paginavi {
    overflow: hidden !important;
}

.paginavi ul.pagination {
    list-style: none !important;
    position: relative !important;
    left: 50% !important;
    float: left !important;
}

.paginavi ul.pagination li {
    margin: 0 1px 5px !important;
    padding: 0 !important;
    position: relative !important;
    left: -50% !important;
    float: left !important;
    background: url(none) !important;
}

.paginavi ul.pagination li span,
.paginavi ul.pagination li a {
    display: block !important;
    font-size: 16px !important;
    padding: 0.6em 1em !important;
    border-radius: 3px !important;
}

.paginavi ul.pagination li a {
    background: #EEE !important;
    color: #000 !important;
    text-decoration: none !important;
}

.paginavi ul.pagination li a:hover {
    background: #333 !important;
    color: #FFF !important;
}

.paginavi ul.pagination li span.active {
    background: #000;
    color: #FFF;
}



/*アコーディオン
-------------------------------------*/
/*
.accordion{
border-radius:5px;
margin-bottom:40px;

}

.trigger{
font-size:100%;
padding: 10px 10px 10px 15px;
background: #f5f5f5;
border: 1px solid #e5e5e5;
border-radius: 5px;
cursor: pointer;
box-shadow: none;
}

.trigger.active{
border-radius:5px 5px 0 0;
border-bottom:1px solid #cfcfcf;
}

.accordion_tree{
font-size:90%;
padding:15px;
background-color: #fee;
}

.open-close {
float:right;
text-indent:-9999px;
display:block;
margin-top:3px;
height:11px;
width:20px;
background:url(/assets/img/open.png?v=1454641075) no-repeat;
-webkit-background-size:20px 11px;
}

.trigger.active .open-close{
background:url(/assets/img/close.png?v=1454641074) no-repeat;
-webkit-background-size:20px 11px;
}
*/

/*page topに戻る
-------------------------------------*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
    z-index: 9999;
}

#page-top a {
    background: #666;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

#page-top a:hover {
    text-decoration: none;
    background: #999;
}


/*GoogleMAP
-------------------------------------*/
.googlemap_set iframe {
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 752px) {
    .googlemap_set iframe {
        width: 100%;
        height: 100%;
    }
}

/*　ブログ
******************************************************************/
#topics_list19 #main_contents ul.blog_list li {
    border-bottom: 1px #ccc dotted;
    margin-bottom: 8px;
    padding-bottom: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

/*　採用情報
******************************************************************/
.col2_type01 .col {
    float: left;
    width: 31.5%;
    margin-right: 3.5%;
}

.col2_type01 .col .image img {
    max-width: 100%;
}

.col2_type01 .col_end {
    width: 65%;
    margin-right: 0;
}

.col2_type01 .col_end table.des {
    width: 100% !important;
    margin-top: 0 !important;
}

#jobs ul.category {
    margin: 0 0 10px;
    font-size: 0;
    font-weight: bold;
    list-style: none;
}

#jobs ul.category li {
    font-size: 14px;
    font-weight: normal;
    margin: 0 5px 5px 0;
    display: inline-block;
    padding: 5px 10px;
    background-color: #fff;
    border: solid 2px #333;
    color: #333;
}

#topics_detail20 .flow {
    margin-bottom: 40px;
}

#topics_detail20 .flow .step:after {
    clear: both;
    content: url(/assets/img/arrow.png?v=1563945867);
    text-align: center;
    margin: 20px auto;
    visibility: initial;
}

#topics_detail20 .flow .step:last-child:after {
    content: "";
    margin: 0;
}

#topics_detail20 .flow .step .img {
    float: left;
    width: 280px;
    margin-right: 20px;
    margin-bottom: 1rem;
}

#topics_detail20 .flow .step .img img {
    max-width: 100%;
}

#topics_detail20 .flow .step .txt {
    font-size: 14px;
    line-height: 1.6;
    float: left;
    width: 400px;
    margin-bottom: 1rem;
}

@supports (-ms-ime-align:auto) {
    #topics_detail20 .flow .step .txt {
        font-size: 14px;
    }
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    #topics_detail20 .flow .step .txt:not(:target) {
        font-size: 14px;
    }
}


#topics_detail20 .flow .step .txt h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 5px;
    padding: 0;
    border: 0;
}

@media screen and (max-width: 980px) {
    #topics_detail20 .flow .step:after {
        -webkit-transform: scale(0.4);
        transform: scale(0.4);
        margin: 1rem auto;
    }

    #topics_detail20 .flow .step .img {
        width: 46%;
        margin-right: 4%;
    }

    #topics_detail20 .flow .step .txt {
        width: 50%;
    }
}

#topics_detail20 .staff_box {
    margin-top: 10px;
    margin-bottom: 40px;
    border-top: 1px solid #ccc;
}

#topics_detail20 .staff_cont ul {
    margin: 0;
}

#topics_detail20 .staff_cont ul li {
    border-bottom: 1px solid #ccc;
    padding: 2vw 0;
    margin: 0;
}

#topics_detail20 .staff_cont ul li .image {
    width: 40%;
    max-width: 300px;
    float: left;
    margin: 0 2vw 0 0;
    padding: 0;
}

#topics_detail20 .staff_cont ul li .image img {
    max-width: 100%;
}

#topics_detail20 .staff_cont ul li .staff_text {
    padding: 0 0 .5rem;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.6;
}

#topics_detail20 .staff_cont ul li .staff_sub,
#topics_detail20 .staff_cont ul li .staff_name {
    font-size: 13px;
    line-height: 1.6;
}

#topics_detail20 .staff_more {
    font-size: 13px;
    line-height: 4;
    text-align: center;
    border-bottom: 1px solid #ccc;
    cursor: pointer;
}

#topics_detail20 .accordion {
    background: #fff;
    border-radius: 5px;
    margin-bottom: 40px;
}

#topics_detail20 .trigger {
    font-size: 100%;
    padding: 10px 10px 10px 15px;
    background: #f5f5f5;
    border: 1px solid #e5e5e5;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: none;
}

#topics_detail20 .trigger.active {
    border-radius: 5px 5px 0 0;
    border-bottom: 1px solid #cfcfcf;
}

#topics_detail20 .accordion_tree {
    font-size: 90%;
    padding: 15px;
    background-color: #fee;
}

#topics_detail20 .open-close {
    float: right;
    text-indent: -9999px;
    display: block;
    margin-top: 3px;
    height: 11px;
    width: 20px;
    background: url(/assets/img/open.png?v=1454641075) no-repeat;
    -webkit-background-size: 20px 11px;
}

#topics_detail20 .trigger.active .open-close {
    background: url(/assets/img/close.png?v=1454641074) no-repeat;
    -webkit-background-size: 20px 11px;
}

#main_contents table.recruit_table.des,
#topics_detail20 #google_map iframe {
    width: 100% !important;
}

#topics_detail20 table.recruit_table th {
    width: 25%;
}

#topics_detail20 #google_map {
    text-align: center;
    margin-bottom: 40px;
}

/*　スタッフ紹介
******************************************************************/
#topics_list24 ul.staff_list li {
    float: left;
    width: 31%;
    margin: 0 3.5% 5% 0;
    text-align: center;
}

#topics_list24 ul.staff_list li:nth-child(3n) {
    margin-right: 0;
}

#topics_list24 ul.staff_list li:nth-child(3n+1) {
    clear: both;
}

#topics_list24 ul.staff_list li img {
    max-width: 100%;
    margin-bottom: 10px;
}


/**** btn_B ****/
.btn_B {
    clear: both;
    text-align: center;
    margin-bottom: 50px;
}

.btn_B a {
    margin: 0 auto;
    width: 50%;
    display: block;
    background: #ff8800;
    color: #FFF;
    font-weight: bold;
    font-size: 20px;
    line-height: 50px;
    border-radius: 25px;
    text-decoration: none;
}

.btn_B a:hover {
    opacity: .8;
}

@media screen and (max-width : 980px) {
    .btn_B a {
        width: 80%;
    }
}


/*　アイキャッチ設定
******************************************************************/
#cathimg {
    display: table;
    width: 100%;
    height: 200px;
    margin: 0 auto;
    font-size: 200%;
    font-weight: bold;
    color: #fff;
    overflow: hidden;
    background-position: 0;
    background-size: cover;
}

#cathimg .cath_text {
    display: table-cell;
    vertical-align: middle;
    padding: 0 2rem;
    text-shadow: 1px 1px 5px #999;
}

@media screen and (max-width: 752px) {
    #cathimg {
        width: 100%;
        font-size: 150%;
    }

    #cathimg .cath_text {
        text-align: center;
        padding: 0 1rem;
        text-shadow: 2px 2px 2px #666;
    }
}

#page_notfound div {
    font-size: 100%;
}

#page_notfound p.note {
    font-size: 100%;
}

@media screen and (max-width: 752px) {
    #page_notfound .err_msg {
        font-size: 5vw;
        margin: 15px;
        font-weight: bold;
        color: #D91E10;
    }

    #page_notfound div {
        font-size: 100%;
        margin: 15px;
    }

    #page_notfound p.note {
        font-size: 3vw;
        margin: 15px;
    }
}

/* ===================== css01.css (all) ===================== */
/*****************************************
* 会社案内
******************************************/
.box_3 ul li img {
    /* 画像サイズ */
    width: 200px;
}

.box_3 ul li {
    /* ボックスサイズ */
    width: 210px;
    margin-right: 10px;
}

.box_3 ul li h4 {
    /* H4タイトル */
    background-color: #444;
    color: #fff;
    padding: 3px 0;
}

.side_2 {
    width: 46%;
    padding: 3px;
    margin-right: 13px;
    margin-bottom: 13px;
}




/*****************************************
* 会社沿革（仮）
******************************************/
div.year {
    font-weight: bold;
    font-size: 15px;
}

#main_contents .enkaku table {
    margin: 5px 0 5px 10px;
    width: 95%;
}

#main_contents .enkaku table th {
    width: 15%;
}

#main_contents .enkaku table th,
#main_contents .enkaku table td {
    vertical-align: top;
}

@media (min-width: 1919px) {
  #first_view.sub .fixed_div div {
    padding-bottom: 3.125vw;
  }
}