    @charset "UTF-8";
    article,
    blockquote,
    body,
    dd,
    section,
    div,
    dl,
    dt,
    fieldset,
    form,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    li,
    ol,
    p,
    pre,
    td,
    textarea,
    th,
    ul {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    
    address,
    caption,
    cite,
    code,
    dfn,
    em,
    strong,
    th,
    var {
        font-style: normal;
    }
    
    table {
        border-collapse: collapse;
        border-spacing: 0;
    }
    
    .cursor {
        position: fixed;
        top: -10 px;
        left: -10px;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #534e4e;
        z-index: 1000;
        transition: width 0.5s, height 0.5s, top 0.5s, left 0.5s;
        transform: translate(0, 0);
        pointer-events: none;
    }
    
    .cursor.cursor--hover {
        top: -20px;
        left: -20px;
        width: 50px;
        height: 50px;
        background: rgba(110, 121, 85, 0.5);
    }
    
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: 100%;
    }
    
    abbr,
    acronym,
    fieldset,
    img {
        border: 0;
    }
    
    li {
        list-style-type: none;
    }
    
    img {
        vertical-align: middle;
        margin: 0;
        padding: 0;
        border: 0;
        max-width: 100%;
        height: auto;
        width: auto;
        filter: saturate(100%) contrast(110%) brightness(100%);
    }
    
    a {
        color: inherit;
        text-decoration: none;
        transition: 0.4s;
    }
    
    a:active,
    a:focus,
    a:hover {
        text-decoration: none;
    }
    
    a:hover {
        opacity: 0.8;
    }
    
    a:hover img {
        opacity: 0.8;
    }
    
    body p {
        display: block;
        -webkit-margin-before: 0;
        -webkit-margin-after: 0;
        -webkit-margin-start: 0;
        -webkit-margin-end: 0;
    }
    
    .fadeU,
    .fadeD,
    .fadeL,
    .fadeR {
        opacity: 0;
    }
    
    html {
        overflow-y: scroll;
        font-size: 62.5%;
        scroll-behavior: smooth;
    }
    
    body,
    html {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }
    
    body {
        color: #333333;
        position: relative;
        font-family: "Sawarabi Mincho";
        font-family: serif;
        font-family: 'Noto Serif JP', serif;
        flex-direction: column;
        font-style: normal;
    }
    
    .slick-slide img {
        object-fit: cover;
    }
    
    #header {
        width: 100%;
        height: auto;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99;
        transition: .4s;
        box-sizing: border-box;
    }
    
    .top #header {
        z-index: 99;
        border-bottom: 1px solid;
        color: #fff;
    }
    
    .top #header.leave_head,
    .top #header.menu_open {
        display: none;
    }
    
    .nav-li {
        font-size: 1.25em;
        font-weight: 800;
        line-height: 20px;
        text-align: center;
        list-style: none;
    }
    
    .nav-li a {
        text-decoration: none;
        color: #222;
        width: 100%;
        display: block;
        position: relative;
        max-width: 150px;
    }
    
    .nav-li a::after {
        position: absolute;
        bottom: -4px;
        left: 0;
        content: "";
        width: 100%;
        height: 2px;
        background: #043c78;
        transform: scale(0, 1);
        transform-origin: center top;
        transition: transform 0.3s;
    }
    
    .nav-li a:hover::after {
        transform: scale(1, 1);
    }
    
    .nav-li a:hover {
        color: #043c78;
    }
    
    #home .wrapper {
        padding-top: 0;
    }
    
    .wrapper {
        box-sizing: border-box;
    }
    
    body .home #header {
        background: rgba(255, 255, 255, 0.67) !important;
    }
    
    .home #header {
        background: none;
    }
    /* header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    transition: .3s;
} */
    
    body.home #header.leave_head {
        background: rgba(255, 255, 255, 0.6) !important;
    }
    
    #header .header_logo,
    header .header_logo_other {
        float: left;
        margin: 25px 0 0 50px
    }
    
    #header .header_logo img,
    #header .header_logo_other img {
        width: 100%;
    }
    
    #header .nav {
        display: flex;
        float: right;
        padding: 30px 0px 0px 30px;
    }
    
    #header .nav>li {
        margin-right: 45px;
    }
    
    #header .nav>li {
        position: relative;
        vertical-align: middle;
    }
    
    #header .nav>li>a,
    #header .nav>li>span {
        font-weight: 600;
        display: flex;
        align-items: center;
        text-align: center;
        vertical-align: middle;
        color: #FFF;
        line-height: 2;
        cursor: pointer;
        font-size: 1.6rem;
        letter-spacing: 0.2em;
        padding: 0;
        -moz-transition-duration: 0.7s;
        -o-transition-duration: 0.7s;
        -webkit-transition-duration: 0.7s;
        transition-duration: 0.7s;
        position: relative;
        height: 40px;
    }
    
    #header .nav>li>a>span,
    #header .nav>li>span>span {
        display: block;
        margin: 0 auto;
    }
    
    .shutter {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #1e1e1e;
        z-index: 9999;
    }
    
    .shutter::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        margin: auto;
        background-color: #fff;
        width: 0;
        height: 1px;
    }
    
    .shutter {
        -webkit-animation: byeShutter 2.6s forwards;
        animation: byeShutter 2.6s forwards;
    }
    
    .shutter::before {
        -webkit-animation: shutterOpen 2.6s forwards;
        animation: shutterOpen 2.6s forwards;
    }
    /* .mainshutter {
        -webkit-animation: contentScale 2.6s forwards;
        animation: contentScale 2.6s forwards;
    } */
    
    @keyframes byeShutter {
        70% {
            opacity: 1;
        }
        100% {
            opacity: 0;
            display: none;
            z-index: -1;
        }
    }
    
    @keyframes shutterOpen {
        0% {
            width: 0;
            height: 1px;
        }
        50% {
            width: 100%;
            height: 1px;
        }
        90% {
            width: 100%;
            height: 100%;
        }
        100% {
            width: 100%;
            height: 100%;
        }
    }
    
    @keyframes contentScale {
        70% {
            -webkit-transform: perspective(800px) scale(0.9) rotateX(15deg);
            transform: perspective(800px) scale(0.9) rotateX(15deg);
        }
        100% {
            -webkit-transform: perspective(800px) scale(1) rotateX(0);
            transform: perspective(800px) scale(1) rotateX(0);
        }
    }
    
    .clearfix:after {
        content: "";
        display: table;
        clear: both;
    }
    
    .title01 {
        display: block;
        text-align: center;
        margin-top: 100px;
    }
    
    .title-text {
        padding-top: 50px;
    }
    
    .title-text p {
        font-size: 2.2rem;
        letter-spacing: .4rem;
        line-height: 3;
        font-weight: 500;
        font-style: normal;
    }
    
    .Content {
        margin-top: 250px;
    }
    
    .content::before {
        display: block;
        content: '';
        position: absolute;
        top: 11vw;
        left: 0;
        width: 100%;
        height: calc(100% - 11vw);
        background-color: #F1F1F4;
        z-index: -10;
    }
    
    .content {
        position: relative;
        display: block;
        padding: 0 0 135px;
    }
    
    .c-img {
        position: relative;
        margin-bottom: 50px;
        border: solid 1px #777777;
        padding: 10px;
    }
    
    .img-wrap {
        overflow: hidden;
        position: relative;
    }
    
    .img-wrap::before {
        animation: img-wrap 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
        background: #fff;
        content: '';
        inset: 0;
        pointer-events: none;
        position: absolute;
        z-index: 1;
    }
    
    @keyframes img-wrap {
        100% {
            transform: translateX(100%);
        }
    }
    
    .img-wrap {
        opacity: 0;
    }
    
    .img-animation {
        animation: img-opacity 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
        overflow: hidden;
        position: relative;
    }
    
    .img-animation::before {
        animation: img-animation 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
        background: #fff;
        content: '';
        inset: 0;
        pointer-events: none;
        position: absolute;
        z-index: 1;
    }
    
    @keyframes img-opacity {
        100% {
            opacity: 1;
        }
    }
    
    @keyframes img-animation {
        100% {
            transform: translateX(100%);
        }
    }
    
    .c-img::before {
        display: block;
        content: '';
        position: absolute;
        top: -15px;
        left: 13px;
        width: 1px;
        height: 60px;
        background-color: #534e4e;
        transform-origin: center center;
        transform: rotate(45deg);
        z-index: 10;
    }
    
    .c-img::after {
        display: block;
        content: '';
        position: absolute;
        bottom: -16px;
        right: 13px;
        width: 1px;
        height: 60px;
        background-color: #534e4e;
        transform-origin: center center;
        transform: rotate(45deg);
        z-index: 10;
    }
    
    .unity {
        margin-bottom: 30px;
        text-align: center;
    }
    
    .jpn {
        position: relative;
        display: inline-block;
        margin-bottom: 10px;
        font-size: 2.8rem;
        line-height: 1.3;
    }
    
    .en {
        display: block;
        font-family: 'Roboto Condensed', sans-serif;
        font-weight: 400;
        font-size: 1.1rem;
        line-height: 1.3;
        letter-spacing: 0.04em;
        color: #223a70;
    }
    
    .sec-text {
        padding: 0 20px;
    }
    
    .sec-text p {
        margin-bottom: 30px;
        font-size: 1.5rem;
        line-height: 2.3;
    }
    
    .c-link {
        margin-top: 28px;
        text-align: right;
    }
    
    .sec-link {
        position: relative;
        font-size: 1.5rem;
        letter-spacing: 0.03em;
        color: #223a70;
    }
    
    .sec-link span {
        position: relative;
        display: inline-block;
        padding: 16px 110px 0 0;
        transition: color .3s;
    }
    
    .sec-link span::before {
        display: block;
        content: '';
        position: absolute;
        top: 32px;
        right: 28px;
        width: 60px;
        height: 1px;
        background-color: #223a70;
        transition: all .3s;
    }
    
    .sec-link span::after {
        display: block;
        content: '';
        position: absolute;
        top: 32px;
        right: 28px;
        width: 8px;
        height: 1px;
        background-color: #223a70;
        transform-origin: right bottom;
        transform: rotate(40deg);
        transition: right .3s;
    }
    
    .sec-link::after {
        display: block;
        content: '';
        position: absolute;
        top: -20px;
        right: 0;
        width: 60px;
        height: 60px;
        background-size: 60px 60px;
        transition: all .3s;
    }
    
    @media screen and (min-width:981px) {
        .content {
            display: flex;
        }
        /* .content {
            position: relative;
            display: flex;
            padding: 0 0 135px;
        } */
        /* .content::before {
            display: block;
            content: '';
            position: absolute;
            top: 11vw;
            left: 0;
            width: 100%;
            height: calc(100% - 11vw);
            background-color: #F1F1F4;
            z-index: -10;
        } */
        .content1,
        .content2 {
            width: 50%;
            margin: 0;
            padding: 0 10% 0 10.8%;
            transition-property: transform, opacity;
            transition-duration: 1.0s;
        }
        /* .c-img {
            position: relative;
            margin-bottom: 50px;
            border: solid 1px #777777;
            padding: 10px;
        }
        .c-img::before {
            display: block;
            content: '';
            position: absolute;
            top: -15px;
            left: 13px;
            width: 1px;
            height: 60px;
            background-color: #534e4e;
            transform-origin: center center;
            transform: rotate(45deg);
            z-index: 10;
        }
        .c-img::after {
            display: block;
            content: '';
            position: absolute;
            bottom: -16px;
            right: 13px;
            width: 1px;
            height: 60px;
            background-color: #534e4e;
            transform-origin: center center;
            transform: rotate(45deg);
            z-index: 10;
        } */
        /* .unity {
            margin-bottom: 30px;
            text-align: center;
        }
        .jpn {
            position: relative;
            display: inline-block;
            margin-bottom: 10px;
            font-size: 2.8rem;
            line-height: 1.3;
        }
        .en {
            display: block;
            font-family: 'Roboto Condensed', sans-serif;
            font-weight: 400;
            font-size: 1.1rem;
            line-height: 1.3;
            letter-spacing: 0.04em;
            color: #223a70;
        } */
        /* .sec-text {
            padding: 0 20px;
        }
        .sec-text p {
            margin-bottom: 30px;
            font-size: 1.5rem;
            line-height: 2.3;
        }
        .c-link {
            margin-top: 28px;
            text-align: right;
        }
        .sec-link {
            position: relative;
            font-size: 1.5rem;
            letter-spacing: 0.03em;
            color: #223a70;
        }
        .sec-link span {
            position: relative;
            display: inline-block;
            padding: 16px 110px 0 0;
            transition: color .3s;
        }
        .sec-link span::before {
            display: block;
            content: '';
            position: absolute;
            top: 32px;
            right: 28px;
            width: 60px;
            height: 1px;
            background-color: #223a70;
            transition: all .3s;
        }
        .sec-link span::after {
            display: block;
            content: '';
            position: absolute;
            top: 32px;
            right: 28px;
            width: 8px;
            height: 1px;
            background-color: #223a70;
            transform-origin: right bottom;
            transform: rotate(40deg);
            transition: right .3s;
        }
        .sec-link::after {
            display: block;
            content: '';
            position: absolute;
            top: -20px;
            right: 0;
            width: 60px;
            height: 60px;
            background-size: 60px 60px;
            transition: all .3s;
        } */
        .content::after {
            display: block;
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            width: 1px;
            height: calc(100% - 125px);
            background-color: #534e4e;
            z-index: 10;
        }
    }
    
    .Earthimage {
        text-align: center;
        background-image: url(./img/earth.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        width: 100%;
        height: 382px;
        margin: 0 auto;
    }
    
    .earth-img {
        position: relative;
        margin: 230px 0 300px;
    }
    
    a.btn_27 {
        display: inline-block;
        letter-spacing: .2rem;
        font-size: 1.3rem;
        text-align: center;
        vertical-align: middle;
        text-decoration: none;
        width: 120px;
        margin: auto;
        padding: 2.5rem 5rem;
        color: #274a78;
        font-weight: bold;
        background: #bccddb;
        position: relative;
        transition: 0.3s ease-in-out;
    }
    
    a.btn_27:hover {
        background: #fff;
        color: #050505;
    }
    
    a.btn_27:before,
    a.btn_27:after {
        box-sizing: inherit;
        content: "";
        position: absolute;
        border: 1px solid transparent;
        width: 0;
        height: 0;
    }
    
    a.btn_27:before {
        top: 0;
        left: 0;
    }
    
    a.btn_27:after {
        bottom: 0;
        right: 0;
    }
    
    a.btn_27:hover:before,
    a.btn_27:hover:after {
        width: 100%;
        height: 100%;
    }
    
    a.btn_27:hover:before {
        border-top-color: #050505;
        border-right-color: #050505;
        transition: width 0.15s ease-out, height 0.15s ease-out 0.15s;
    }
    
    a.btn_27:hover:after {
        border-bottom-color: #050505;
        border-left-color: #050505;
        transition: border-color 0s ease-out 0.2s, width 0.15s ease-out 0.2s, height 0.15s ease-out 0.3s;
    }
    
    .button {
        display: inline-block;
        position: absolute;
        top: 78%;
        left: 67%;
        transform: translate(-50%, -50%);
    }
    
    #footer .logo_wrap .logo_img_wrap {
        width: 350px;
        margin: 0 auto;
    }
    
    #footer .logo_wrap .logo_img_wrap .header_img01 {
        width: 60px;
        height: 60px;
        display: inline-block;
    }
    
    #footer .logo_wrap .logo_img_wrap .header_img02 {
        display: inline-block;
    }
    
    #footer .footer_company_info {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    
    #footer .footer_nav {
        padding-top: 30px;
    }
    
    #footer .footer_nav ul {
        line-height: 3.5rem;
    }
    
    #footer .footer_nav ul li {
        display: flex;
        padding: 7px 0;
        font-size: 16px;
        padding: 0 10px 10px 10px;
        font-weight: 400;
        float: left;
    }
    
    #footer .footer_nav ul:after {
        top: 0;
    }
    
    #footer .footer_nav ul:before {
        bottom: 0;
    }
    
    #footer .privacy_link {
        position: relative;
        width: 100%;
        height: 16px;
    }
    
    #footer .privacy_link a {
        display: block;
        text-align: center;
        font-size: 1rem;
        line-height: 1;
    }
    
    #footer .cp_wrap {
        display: inline-block;
        width: 100%;
        padding-bottom: 15px;
        padding-top: 70px;
    }
    
    .privacy {
        width: 80%;
        margin: 100px 50px;
    }
    
    .privacy h2 {
        font-size: 20px;
        padding: 0.25em 0.5em;
        color: #000;
        background: #e3e3e3;
        border-left: solid 5px #1a487b;
        margin-bottom: 1em;
        margin-top: 12rem;
    }
    
    .privacypolicy {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .privacy p {
        font-size: 16px;
        margin-left: 2em;
    }
    
    .policy {
        font-size: 18px;
        margin: 15px 0 5px 0;
        padding-left: 15px;
    }
    
    #footer {
        width: 100%;
        height: auto;
        font-family: "yuji-syuku", 'Noto Serif JP', sans-serif, serif;
        background-image: url(./img/back-f.jpg);
        background-position: center;
        bottom: 0;
    }
    
    #footer p {
        font-size: 1.9rem;
    }
    
    #footer a {
        font-size: 1.5rem;
    }
    
    #footer h1 {
        font-size: 4rem;
        font-family: "sawarabi-mincho", sans-serif;
        font-weight: 500;
        font-style: normal;
        letter-spacing: .3rem;
    }
    
    .p_box {
        width: 600px;
        height: 150px;
        border: 1px solid #333;
        background-color: #fff;
        position: relative;
    }
    
    .p_box img {
        width: 40px;
        height: 30px;
        padding-right: 15px;
    }
    
    .tel {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 80%;
        height: 3.2rem;
    }
    
    .contact-p {
        padding-top: 25px;
    }
    
    .sec-tel {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .more_icon:after {
        position: absolute;
        content: “more”;
        bottom: 0;
        right: 0;
        background: #fff;
        color: #333;
        padding: 5px 15px;
    }
    
    #footer p {
        text-align: center;
        font-weight: 400;
    }
    
    #footer p span {
        font-size: 1.6rem;
        padding-top: 15px;
        display: inline-block;
        line-height: 1.1;
        letter-spacing: 0.3em;
    }
    
    #footer .footer_wrap .footer_link_wrap {
        width: 50%;
        display: block;
        margin: auto;
    }
    
    .footer-box {
        max-width: 1600px;
        margin: auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    
    .logo_wrap {
        padding: 70px 70px 0;
    }
    
    #footer .menu {
        display: flex;
        padding-top: 15px;
    }
    
    #footer .menu li {
        padding-right: 15px;
    }
    
    @media screen and (max-width: 1200px) {
        #footer .footer_wrap .footer_link_wrap {
            width: 60%;
        }
    }
    
    @media screen and (max-width: 780px) {
        #footer .footer_wrap .footer_link_wrap {
            width: 80%;
        }
    }
    
    @media screen and (max-width: 414px) {
        #footer .footer_wrap .footer_link_wrap {
            width: 95%;
        }
    }
    /************************************
** Contact form 7 CSSカスタマイズ
************************************/
    /* 入力欄全体の設定 */
    
    input[type="text"],
    input[type="password"],
    input[type="datetime"],
    input[type="date"],
    input[type="month"],
    input[type="time"],
    input[type="week"],
    input[type="number"],
    input[type="email"],
    input[type="url"],
    input[type="search"],
    input[type="tel"],
    input[type="color"],
    select,
    textarea {
        display: block;
        width: 100%;
        height: 45px;
        margin-bottom: 0;
        padding: 0 12px;
        border: 0;
        border-radius: 3px;
        box-shadow: none;
        background-color: #F6F8F8;
        color: #5c6b80;
        font-size: 1em;
        vertical-align: middle;
        line-height: 45px;
        transition: background-color 0.24s ease-in-out;
    }
    /* テキストエリアの設定 */
    
    table.CF7_table textarea {
        resize: vertical;
        max-width: 100%;
        min-height: 300px;
        line-height: 1.5em;
        padding: 0.5em;
        overflow: auto;
    }
    /* 入力欄とテキストエリア共通 */
    
    .CF7_table input,
    .CF7_table select,
    .CF7_table textarea {
        border: 1px solid #d8d8d8;
    }
    /* table */
    
    table.CF7_table {
        width: 100%;
        margin: 0 auto;
        border: none !important;
        max-width: 1200px;
    }
    
    table.CF7_table tr th p {
        text-align: start;
    }
    
    table.CF7_table tr {
        border-top: 1px solid #e5e5e5;
    }
    
    table.CF7_table th {
        width: 30%;
        background-color: #F6F8F8;
        font-size: 15px;
        vertical-align: middle;
    }
    /* 背景を削除 */
    
    table.CF7_table tr,
    table.CF7_table th,
    table.CF7_table td {
        padding: 0.75rem 0.75rem !important;
        background: none !important;
        border: none !important;
        text-align: start;
    }
    
    .single .entry-content table.CF7_table,
    .page .entry-content table.CF7_table {
        display: table;
    }
    
    .CF7_table ::placeholder {
        color: #797979;
    }
    /*「必須」文字*/
    
    .CF7_req {
        font-size: .9em;
        padding: 4px 7px;
        background: #4c6d70;
        color: #fff;
        border-radius: 3px;
        margin-right: 1em;
    }
    /*「任意」文字*/
    
    .CF7_unreq {
        font-size: .9em;
        padding: 4px 7px;
        background: #bdbdbd;
        color: #fff;
        border-radius: 3px;
        margin-right: 1em;
    }
    
    .wp-block-image img {
        max-width: 700px;
    }
    
    .wp-block-gallery.has-nested-images figure.wp-block-image {
        max-width: 700px;
    }
    
    .content_wrap h2 {
        margin-bottom: 5%;
    }
    
    .single_txt {
        font-size: 20px;
    }
    /* レスポンシブ */
    
    @media screen and (max-width: 768px) {
        table.CF7_table {
            width: 90%;
        }
        .CF7_table tr,
        .CF7_table td,
        .CF7_table th {
            display: block;
            width: 100% !important;
            line-height: 2.5em;
        }
        .CF7_table th {
            background-color: #F6F8F8;
        }
    }
    /* 「送信する」ボタン */
    
    .wpcf7 input.wpcf7-submit {
        background-color: #4c6d70;
        border: 2px solid #4c6d70;
        color: #fff;
        font-size: 1.2em;
        font-weight: bold;
        margin: 0 auto;
        padding: 15px 30px;
        transition: all 0.5s 0s ease;
        width: 250px;
    }
    
    .wpcf7 input.wpcf7-submit:hover {
        background: #fff;
        color: #4c6d70;
    }
    
    .CF7_btn {
        text-align: center;
        margin: 20px;
    }
    
    .wpcf7-spinner {
        width: 0;
        margin: 0;
    }
    /* ************************************
  ************************************ */
    
    .other #header .nav>li>a {
        color: #333333;
    }
    
    .top .header_logo_other {
        display: none;
    }
    
    .other .header_logo {
        display: none;
    }
    
    .other #header {
        background-color: #fff;
        border-bottom: 1px solid;
        color: #333333;
        z-index: 9999;
    }
    
    .mail-c {
        position: relative;
        font-size: 1.5rem;
        letter-spacing: 0.03em;
    }
    
    .contact-p::before {
        display: block;
        content: '';
        position: absolute;
        top: 41px;
        right: 86px;
        width: 60px;
        height: 1px;
        background-color: #333333;
        transition: all .3s;
    }
    
    .contact-p::after {
        display: block;
        content: '';
        position: absolute;
        top: 40px;
        right: 87px;
        width: 9px;
        height: 1px;
        background-color: #333333;
        transform-origin: right bottom;
        transform: rotate(40deg);
        transition: right .3s;
    }
    
    .mail-img {
        width: 40px;
        height: 40px;
        padding-left: 15px;
    }
    
    .page-text {
        margin-top: 102px;
        padding-top: 200px;
        text-align: center;
        transform: translateX(0%);
    }
    
    .page-text p {
        font-size: 2.3rem;
        text-align: center;
        letter-spacing: 1.1rem;
        text-orientation: upright;
        font-family: "yuji-syuku", 'Noto Serif JP', sans-serif, serif;
        font-style: normal;
        color: #fff;
    }
    
    #page {
        margin-bottom: 160px;
    }
    
    .pageimage-1 {
        background-image: url(./img/pageimage1.jpg);
        background-size: cover;
        position: relative;
        width: 100%;
        height: 50vh;
        background-position: bottom;
    }
    
    .pageimage-1::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.4);
    }
    
    .pageimage-2 {
        background-image: url(./img/pageimage2.jpg);
        background-size: cover;
        height: 50vh;
        position: relative;
        width: 100%;
        background-position: bottom;
    }
    
    .pageimage-2::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.4);
    }
    
    .pageimage-3 {
        background-image: url(./img/pageimage3.jpg);
        background-size: cover;
        height: 50vh;
        position: relative;
        width: 100%;
        background-position: bottom;
    }
    
    .pageimage-3::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.4);
    }
    
    .pageimage-4 {
        background-image: url(./img/pageimage4.jpg);
        background-size: cover;
        height: 50vh;
        position: relative;
        width: 100%;
        background-position: bottom;
    }
    
    .pageimage-4::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.4);
    }
    
    .pageimage-5 {
        background-image: url(./img/pageimage5.jpg);
        background-size: cover;
        height: 50vh;
        position: relative;
        width: 100%;
        background-position: bottom;
    }
    
    .pageimage-5::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.4);
    }
    
    .page-text .eng {
        font-size: 1.4rem;
        letter-spacing: 0.3rem;
    }
    
    #table01 tr {
        border-bottom: 1px solid #b5b1b1;
    }
    
    #table01 th,
    #table01 td {
        padding: 24px 0;
        border: none;
        letter-spacing: .2rem;
    }
    
    #table01 td {
        width: 40%;
    }
    
    #table01 th {
        width: 30%;
    }
    
    #table01 {
        font-size: 1.8rem;
        margin: 0 auto;
    }
    
    .company {
        margin: 150px 0 100px;
    }
    
    @media only screen and (max-width: 480px) {
        #table01 th,
        #table01 td {
            width: 100%;
            display: block;
        }
        #table01 th {
            width: 100%;
        }
        #table01 td {
            padding-top: 0;
        }
    }
    
    .greeting {
        text-align: center;
        margin-top: 100px;
        background-image: url(./img/line.png);
        background-repeat: no-repeat;
        background-position: bottom;
    }
    
    .greeting-title {
        font-size: 3.5rem;
        letter-spacing: .7rem;
    }
    
    .greeting-text {
        margin-top: 50px;
    }
    
    .greeting-p {
        font-size: 2rem;
        font-family: "yuji-syuku", 'Noto Serif JP', sans-serif, serif;
        letter-spacing: .2rem;
        line-height: 4rem;
    }
    
    .greeting-neme {
        margin-top: 50px;
    }
    
    .ggmap {
        position: relative;
        overflow: hidden;
        padding-top: 30%;
        margin: 100px;
    }
    
    .ggmap iframe,
    .ggmap object,
    .ggmap embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    
    .page_title {
        position: relative;
        font-weight: bold;
        font-size: 2.6rem;
        padding-bottom: 5px;
        text-align: center;
    }
    
    @media screen and (max-width: 780px) {
        .page_title {
            font-size: 2.2rem;
        }
    }
    
    @media screen and (max-width: 414px) {
        .page_title {
            font-size: 2rem;
        }
    }
    
    .page_title_wrap {
        width: 100%;
        margin: 0 auto;
        display: inline-block;
        display: inline-block;
        margin: 100px 0 0;
    }
    
    .t_top {
        padding-top: 70px;
    }
    
    @media screen and (max-width: 414px) {
        .page_title_wrap {
            margin-top: 30px;
        }
    }
    
    @media screen and (max-width: 414px) {
        .t_top {
            padding-top: 30px;
        }
    }
    
    .formwork,
    .formwork2 {
        margin: 150px 100px;
        display: flex;
    }
    
    .formwork-img {
        background-image: url(./img/business1.jpg);
        /* width: 900px; */
        height: 500px;
        background-size: contain;
        background-repeat: no-repeat;
    }
    
    .formwork-img2 {
        background-image: url(./img/business2.jpg);
        /* width: 900px; */
        height: 500px;
        background-size: contain;
        background-repeat: no-repeat;
    }
    
    .formwork-p {
        font-size: 1.9rem;
    }
    
    .formwork-R2,
    .formwork-L {
        width: 50%;
        float: right;
    }
    
    .formwork2 {
        flex-direction: row-reverse;
    }
    
    .formwork-L2,
    .formwork-R {
        position: relative;
        box-sizing: border-box;
        float: left;
        width: 50%;
        padding: 80px 120px 160px;
        margin-top: 70px;
    }
    
    .formwork-R::before {
        content: "";
        background-color: #e8e2e2;
        width: 100%;
        height: 140px;
        bottom: 0;
        left: 0;
        position: absolute;
        z-index: -999999;
    }
    
    .formwork-L2::before {
        content: "";
        background-color: #d9dee3;
        width: 100%;
        height: 140px;
        bottom: 0;
        left: 0;
        position: absolute;
        z-index: -999999;
    }
    /* .formwork-L2,
    .formwork-R {
        position: relative;
        box-sizing: border-box;
        float: left;
        width: 50%;
        margin-top: 70px;
        padding: 120px;
        background-color: #606060;
        color: #fff;
        z-index: 999;
    } */
    
    .formwork-text {
        line-height: 3.5rem;
    }
    
    .number {
        position: absolute;
        top: -35px;
        left: 8px;
        z-index: 4;
        font-size: 3.8rem;
        font-weight: 300;
        line-height: 1;
        content: counter(box-num);
        writing-mode: vertical-rl;
    }
    
    .number2 {
        position: absolute;
        top: -35px;
        right: 8px;
        z-index: 4;
        font-size: 3.8rem;
        font-weight: 300;
        line-height: 1;
        content: counter(box-num);
        writing-mode: vertical-rl;
    }
    
    .number span {
        font-size: 3rem;
        color: #8c7272;
        padding-bottom: 10px;
    }
    
    .number2 span {
        font-size: 3rem;
        color: #728799;
        padding-bottom: 10px;
    }
    
    .sec-environment {
        margin-top: 150px;
    }
    
    .environment {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .environment-text0 {
        position: relative;
        justify-content: flex-start;
    }
    
    .environment-text0::after {
        background-image: url(./img/eco.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: -50px;
        right: 0;
        width: 100%;
        max-width: 807px;
        height: 605px;
        background-position: top right;
        content: "";
        display: block;
        background-size: 100%;
        z-index: -1;
    }
    
    .Enme {
        max-width: 1100px;
    }
    
    .environment-h1 {
        margin-bottom: 80px;
    }
    
    .environment-title {
        text-align: center;
        font-size: 2.7rem;
        letter-spacing: .4rem;
    }
    
    .contents {
        font-size: 2.2rem;
        font-weight: 500;
    }
    
    .contents-title {
        text-align: center;
    }
    
    .environment-text0 {
        padding: 100px 0;
        padding: 80px 0 100px;
    }
    
    .environment-text {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 40px 0 40px
    }
    
    .environment-p {
        font-size: 1.7rem;
        width: 650px;
        line-height: 3.5rem;
        letter-spacing: .2rem;
    }
    
    .environment-h1 {
        text-align: center;
        color: #2e56a0;
    }
    
    .environment-title-en {
        font-size: 1.8rem;
        letter-spacing: .6rem;
    }
    
    .boxline {
        position: relative;
        margin: 2em 0;
        padding: 0.5em 1em;
        border: solid 1px #ccc;
        border-radius: 8px;
        max-width: 800px;
        top: 50%;
        left: 50%;
        transform: translateY(0%) translateX(-50%);
    }
    
    .boxline .contents-title {
        position: absolute;
        display: inline-block;
        top: -13px;
        left: 10px;
        padding: 0 9px;
        line-height: 1;
        font-size: 19px;
        background: #FFF;
        font-weight: bold;
    }
    
    .boxline p {
        margin: 0;
        padding: 0;
    }
    
    .wrapper-box {
        width: 650px;
        height: 650px;
        border: #274a78 1.5px solid;
        border-radius: 320px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        animation: color-change 2s linear infinite;
    }
    
    .circle {
        border-radius: 50%;
        border: solid 5px #808080;
    }
    
    .circle-frame {
        position: relative;
        top: -5px;
        left: calc(50% - 5px);
        width: 10px;
        height: calc(50% + 5px);
        transform-origin: center bottom;
        transform: rotate(0deg);
        animation: rotate 10s linear infinite;
    }
    
    @keyframes rotate {
        0% {
            transform: rotate(0deg);
        }
        100% {
            transform: rotate(360deg);
        }
    }
    
    @keyframes color-change {
        0%,
        100% {
            border-color: #00008b;
        }
        25% {
            border-color: #00bfff;
        }
        50% {
            border-color: #6495ed;
        }
        75% {
            border-color: #add8e6;
        }
    }
    
    .materials {
        margin: 100px;
    }
    
    .materials-img img {
        border-radius: 20px;
    }
    
    .wpcf7-form-control .wpcf7-textarea {
        max-width: 620px;
        width: 100%;
    }
    
    .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img:hover {
        filter: none;
        opacity: 1;
    }
    
    .con-1 {
        align-items: center;
        justify-content: center;
        display: flex;
        margin: 100px 0 0;
    }
    
    .con-2 {
        width: 700px;
    }
    
    .contact-text {
        font-size: 1.7rem;
        line-height: 3rem;
        text-align: center;
    }
    
    .contact {
        margin: 0 auto;
        padding: 60px 0;
    }
    
    @media screen and (min-width: 1081px) {
        .contact {
            width: 960px;
        }
    }
    
    @media screen and (min-width: 981px) {
        .contact {
            width: 850px;
        }
    }
    
    .contact-ttl {
        font-size: 4rem;
        font-weight: bold;
        margin-bottom: 40px;
        text-align: center;
    }
    
    .contact-table {
        width: 100%;
        margin-bottom: 80px;
        border: 1px solid #ccc;
        font-size: 1.7rem;
    }
    
    .contact-item,
    .contact-body {
        padding: 25px;
        border: 1px solid #ccc;
    }
    
    .contact-item {
        text-align: left;
        width: 30%;
        background-color: #eee;
    }
    
    .contact-body {
        width: 70%;
    }
    
    .form-text {
        width: 100%;
        padding: 10px;
        border-radius: 5px;
        border: 1px solid #ccc;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        max-width: 400px;
    }
    
    .contact-sex+.contact-sex {
        margin-left: 10px;
    }
    
    .contact-sex-txt {
        display: inline-block;
        margin-left: 5px;
    }
    
    .form-select {
        width: 180px;
        height: 40px;
        padding: 5px;
        border: 1px solid #ccc;
        border-radius: 5px;
    }
    
    .contact-submit {
        width: 250px;
        background-color: #333;
        color: #fff;
        display: block;
        margin: 0 auto;
        font-size: 1.8rem;
        padding: 15px;
        border: none;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        cursor: pointer;
        font-family: 'Noto Serif JP', serif;
    }
    
    .contact .must {
        color: #FFF;
        border-radius: 3px;
        font-size: 1rem;
        margin-left: 10px;
        padding: 4px 10px;
        letter-spacing: 2px;
    }
    
    .contact .must {
        background: #c9171e;
    }
    
    select {
        font-size: 1.6rem;
        font-family: 'Noto Serif JP', serif;
    }
    
    .wpcf7-form-control {
        width: 100%;
        padding: 0 10px 0;
        border-radius: 5px;
        border: 1px solid #ccc;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
    }
    
    .wrapper>.top_bg .slick_slide {
        height: 100%;
    }
    
    .catchcopy {
        position: absolute;
        top: 53%;
        left: 78%;
        text-align: center;
        perspective: 500px;
    }
    
    .wrapper>.top_bg .slick_slide .slick-list {
        width: 100%;
        height: 100vh;
    }
    
    .wrapper>.top_bg .slick_slide .slick-list .slick-track {
        height: 100%;
        filter: brightness(70%) contrast(120%) saturate(110%);
    }
    
    @keyframes zoomUp {
        0% {
            transform: scale(1);
        }
        100% {
            transform: scale(1.15);
            /* 拡大率 */
        }
    }
    
    .add-animation {
        animation: zoomUp 10s linear 0s normal both;
    }
    
    .error_404 {
        margin: 300px 20px 200px 20px;
    }
    
    .error_message {
        background: #e3e3e3;
        width: 70%;
        text-align: center;
        padding: 5em;
        margin-top: 120px;
        margin-right: auto;
        margin-left: auto;
    }
    
    .about404 {
        font-size: 1.6rem;
        text-align: center;
        margin: 20px;
        line-height: 1.5;
    }
    
    .error1 {
        font-size: 30px;
        font-weight: bold;
        color: #414040;
    }
    
    .error2 {
        font-size: 28px;
        font-weight: bold;
        color: #858585;
    }
    
    @media screen and (max-width: 780px) {
        .errorBtn {
            width: 260px;
        }
        .errorBtn a {
            font-size: 1.4rem;
        }
        .error_message .error1 {
            font-size: 20px;
        }
        .error_message .error2 {
            font-size: 20px;
        }
        .error_message {
            width: 96%;
            margin: 20px auto;
            margin-top: 60px;
        }
    }
    
    @media screen and (max-width: 414px) {
        .about404 {
            margin: 20px 0;
        }
    }
    
    @media screen and (max-width: 1700px) {
        .button {
            top: 111%;
        }
        .formwork-R {
            padding: 100px 80px;
        }
        .formwork-L2 {
            padding: 100px 80px;
        }
    }
    
    @media screen and (max-width: 1600px) {
        .sec-environment {
            margin-top: 150px;
            margin-left: 50px;
        }
        .Enme {
            max-width: 900px;
        }
    }
    
    @media screen and (max-width: 1500px) {
        .formwork-R {
            padding: 80px 60px;
        }
        .formwork-L2 {
            padding: 80px 60px;
        }
        .formwork-text {
            line-height: 3.2rem;
        }
        .Enme {
            max-width: 700px;
        }
        .environment-title {
            font-size: 2.5rem;
        }
        .contents {
            font-size: 2rem;
        }
        .environment-p {
            width: 580px;
            line-height: 3.2rem;
        }
    }
    
    @media screen and (max-width: 1400px) {
        .wrapper>.top_bg .slick_slide .slick-list .slick-track img {
            height: 100%;
        }
        .materials {
            margin: 100px 50px;
        }
        .environment-title {
            font-size: 2.3rem;
        }
        .environment-text0::after {
            max-width: 700px;
        }
        #page {
            margin-bottom: 100px;
        }
    }
    
    @media screen and (max-width: 1280px) {
        .p_box {
            width: 500px;
        }
        .contact-p::before {
            top: 41px;
            right: 64px;
            width: 36px;
        }
        .contact-p::after {
            right: 65px;
        }
        .catchcopy {
            left: 74%;
        }
        .logo-inner img {
            max-width: 93%;
        }
        .title-text p {
            font-size: 2.1rem;
            line-height: 2.5;
        }
        .formwork-p {
            font-size: 1.7rem;
            line-height: 1.7;
        }
        .formwork-R {
            padding: 80px 60px;
        }
        .formwork-L2 {
            padding: 80px 60px;
        }
        .number,
        .number2 {
            font-size: 3.5rem;
        }
        .formwork-R::before {
            height: 120px;
        }
        .formwork-L2::before {
            height: 120px;
        }
        .environment-p {
            font-size: 1.6rem;
        }
        .Enme {
            max-width: 640px;
        }
        .environment-title {
            font-size: 2.2rem;
        }
    }
    
    @media screen and (max-width: 1230px) {
        .environment-text0::after {
            max-width: 640px;
        }
    }
    
    @media screen and (max-width: 1180px) {
        .formwork,
        .formwork2 {
            display: block;
        }
        .formwork-R2,
        .formwork-L {
            width: 100%;
            float: none;
        }
        .formwork-L2,
        .formwork-R {
            float: none;
            width: 100%;
        }
        .formwork-img,
        .formwork-img2 {
            background-position: center;
            margin-top: 40px;
        }
        .formwork,
        .formwork2 {
            margin: 150px 140px;
        }
        .formwork-R,
        .formwork-L2 {
            padding: 50px 100px 80px;
        }
        .formwork-R::before {
            height: 100px;
        }
        .formwork-L2::before {
            height: 100px;
        }
        .formwork-p {
            line-height: 2;
        }
        .environment-p {
            width: 480px;
            line-height: 3rem;
        }
        .Enme {
            max-width: 570px;
        }
        .environment-title-en {
            font-size: 1.6rem;
            letter-spacing: .5rem;
        }
        .environment-title {
            font-size: 2.1rem;
        }
        .contents {
            font-size: 1.9rem;
        }
        #page {
            margin-bottom: 40px;
        }
    }
    
    @media screen and (max-width: 1080px) {
        .Content {
            margin-top: 200px;
        }
        .wrapper-box {
            width: 600px;
            height: 600px;
        }
        #footer h1 {
            font-size: 3.5rem;
        }
        .earth-img {
            position: relative;
            margin: 180px 0 250px;
        }
        .title-text p {
            font-size: 2rem;
            line-height: 2;
        }
        .title01 {
            margin-top: 80px;
        }
        .tel {
            height: 0rem;
        }
        .p_box {
            width: 440px;
            height: 130px;
        }
        #footer .footer_company_info {
            padding: 0;
        }
        .p_box img {
            width: 37px;
            height: 26px;
            padding-right: 5px;
        }
        .mail-img {
            padding-left: 5px;
        }
        .contact-p::before {
            right: 47px;
            width: 30px;
        }
        .contact-p::after {
            right: 47px;
        }
        .button {
            left: 73%;
        }
        #header .nav>li {
            margin-right: 30px;
        }
        #footer p {
            font-size: 1.7rem;
        }
        #footer .logo_wrap .logo_img_wrap {
            width: 320px;
        }
        #footer h1 {
            font-size: 3.2rem;
        }
        .catchcopy {
            left: 73%;
        }
        .logo-inner img {
            max-width: 89%;
        }
        .contact-text {
            font-size: 1.6rem;
        }
        .contact-submit {
            width: 200px;
            font-size: 1.7rem;
        }
        .formwork-R,
        .formwork-L2 {
            padding: 50px 80px 80px;
        }
        .formwork,
        .formwork2 {
            margin: 150px 100px;
        }
        .Enme {
            max-width: 480px;
        }
        .environment-p {
            width: 400px;
        }
        .environment-text0::after {
            height: 480px;
            max-width: 600px;
            top: -25px;
        }
        .environment-text0 {
            padding: 60px 0 100px;
        }
        .environment-p {
            font-size: 1.5rem;
        }
    }
    
    @media screen and (max-width: 980px) {
        #header .nav {
            display: none;
        }
        .formwork-img,
        .formwork-img2 {
            height: 470px;
        }
        .formwork-img,
        .formwork-img2 {
            margin-top: 0;
        }
        .formwork-R,
        .formwork-L2 {
            padding: 30px 80px 60px;
        }
        .formwork2 {
            margin: 100px 100px;
        }
        .environment-text0::after {
            height: 410px;
            max-width: 530px;
            top: -20px;
        }
    }
    
    @media screen and (min-width: 981px) {
        .hamburger-menu {
            display: none;
        }
    }
    
    @media screen and (max-width: 980px) {
        .other #header .menu-btn span,
        .menu-btn span:before,
        .menu-btn span:after {
            background-color: #050505;
        }
        .other #header .menu-btn span:before,
        .other #header .menu-btn span:after {
            background-color: #050505;
        }
        #menu-btn-check:checked~.menu-btn span {
            background-color: rgba(255, 255, 255, 0);
        }
        #menu-btn-check:checked~.menu-btn span::before {
            bottom: 0;
            transform: rotate(45deg);
        }
        #menu-btn-check:checked~.menu-btn span::after {
            top: 0;
            transform: rotate(-45deg);
        }
        .menu-btn {
            position: fixed;
            top: 20px;
            right: 20px;
            display: flex;
            height: 60px;
            width: 60px;
            justify-content: center;
            align-items: center;
            z-index: 90;
            transform: rotate(45deg);
        }
        .menu-btn span,
        .menu-btn span:before,
        .menu-btn span:after {
            content: '';
            display: block;
            height: 2px;
            width: 25px;
            border-radius: 3px;
            background-color: #ffffff;
            position: absolute;
        }
        .menu-btn span {
            transform: rotate(135deg);
        }
        .menu-btn span:before {
            bottom: 8px;
        }
        .menu-btn span:after {
            top: 8px;
        }
        #menu-btn-check {
            display: none;
        }
        .menu-content {
            width: 100%;
            height: 100%;
            position: fixed;
            top: 0;
            left: 100%;
            z-index: 80;
            background-image: url(./img/back-f.jpg);
            transition: all 0.5s;
        }
        #menu-btn-check:checked~.menu-content {
            left: 0;
        }
        .menu-content ul {
            padding-right: 20px;
        }
        .menu-content ul li {
            list-style: none;
        }
        .menu-content ul li a {
            display: block;
            width: 100%;
            display: block;
            width: 100%;
            font-size: 2.3rem;
            box-sizing: border-box;
            color: #050505;
            text-decoration: none;
            position: relative;
            font-family: "yuji-syuku", 'Noto Serif JP', sans-serif, serif;
        }
        .menu-text {
            width: 1em;
            display: inline-block;
            margin: 0 auto auto;
            padding-top: 5px;
            font-size: 1.1rem;
            text-align: right;
            letter-spacing: 0.15em;
            order: 4;
            z-index: 1;
            transform: scaleY(0.9);
            transform-origin: center top;
            color: var(--color-drawer-txt-weak);
            transition: color 0.5s ease;
        }
        .line::after {
            content: "";
            position: absolute;
            background-color: #fff;
            left: 0;
            right: 0;
            content: "";
            display: inline-block;
            flex: 1 0;
            width: 1px;
            height: 100%;
            min-height: 60px;
            margin: auto;
            background-size: 5px;
            background-position: center top;
            transition: opacity 0.5s cubic-bezier(0.17, 0.84, 0.44, 1);
            order: 3;
            opacity: 0.5;
        }
        .menu-box2 .table-row th {
            padding-block-start: 0.1em;
            padding-inline-start: 0;
            padding-inline-end: 100px;
            vertical-align: baseline;
            text-align: left;
            white-space: nowrap;
            height: auto;
            font-weight: 500;
        }
        .menu-box2 .eve-table {
            inline-size: calc(100% / 0.9);
            block-size: auto;
            font-feature-settings: inherit;
        }
        .menu-box2 .table-row td {
            margin-inline-start: 0;
        }
        .menu-box2 .table-row td {
            inline-size: calc(100% - 80px);
            margin-block-end: 0;
            padding-block-end: 15px;
            font-size: 1.3rem;
            text-align: right;
        }
        .menu-box2 {
            height: auto;
            padding: 0;
            list-style: none;
            line-height: 7rem;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -30%);
            font-feature-settings: "vpal";
            text-orientation: upright;
            block-size: 100%;
            max-inline-size: 100%;
            letter-spacing: .2rem;
            font-size: 1.4rem;
        }
        .menu-box2 li {
            flex-direction: column;
            justify-content: flex-start;
            height: 100%;
            margin: 0;
        }
        .menu-logo {
            position: absolute;
            top: 50%;
            left: 60px;
            transform: translate(-50%, -50%);
        }
        .menu-box {
            max-width: 1600px;
            margin: auto;
        }
        .logo-inner img {
            max-width: 85%;
        }
        .footer-box {
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .p_box {
            margin: 0 auto;
        }
        #footer .menu {
            width: fit-content;
            margin: auto;
        }
        .table-row {
            border-bottom: dashed 1px #050505;
        }
        .c-img::before {
            display: block;
            content: '';
            position: absolute;
            top: -15px;
            left: 13px;
            width: 1px;
            height: 60px;
            background-color: #534e4e;
            transform-origin: center center;
            transform: rotate(45deg);
            z-index: 10;
        }
        .c-img {
            max-width: 56%;
            margin: 0 auto;
            display: block;
        }
        .content {
            text-align: center;
        }
        .content1 {
            margin-bottom: 70px;
        }
        .jpn {
            margin-top: 20px;
        }
        .c-link {
            margin-top: 0px;
            padding-right: 50px;
        }
        .sec-text p {
            margin-bottom: 0px;
        }
        .wrapper-box {
            width: 550px;
            height: 550px;
        }
        .ft-tel {
            padding-top: 10px;
        }
        .greeting-p {
            font-size: 1.8rem;
            letter-spacing: 0;
            line-height: 3rem;
        }
        .greeting-title {
            font-size: 3rem;
            letter-spacing: .6rem;
        }
        .company {
            margin: 100px 50px 20px;
        }
        .ggmap {
            margin: 20px;
        }
        .greeting {
            background-size: contain;
            margin: 100px 20px;
        }
        #table01 {
            font-size: 1.6rem;
        }
        .materials-img img {
            border-radius: 10px;
        }
        .con-1 {
            margin: 100px 50px 0;
        }
        .contact-table {
            font-size: 1.5rem;
        }
        select {
            font-size: 1.4rem;
        }
        .contact-table th,
        .contact-table td {
            width: 100%;
            display: block;
        }
        .contact-table th {
            text-align: left;
        }
        .contact {
            margin: 0 20px;
        }
    }
    
    @media screen and (max-width: 900px) {
        .number,
        .number2 {
            font-size: 3.2rem;
        }
        .formwork-R {
            padding: 30px 0px 60px 70px;
        }
        .formwork-L2 {
            padding: 30px 70px 60px 0px;
        }
        .formwork-p {
            font-size: 1.6rem;
        }
        .formwork {
            margin: 150px 80px 50px;
        }
        .formwork2 {
            margin: 100px 80px 50px;
        }
        .Enme {
            max-width: 100%;
        }
        .environment-text0::after {
            height: 450px;
            max-width: 587px;
            top: -20px;
        }
        .sec-environment {
            margin-top: 120px;
            margin-left: 0;
        }
        .environment-text0 {
            padding: 170px 0 70px;
        }
        .boxline {
            max-width: 650px;
        }
        .environment-h1 {
            margin-bottom: 230px;
        }
        .environment-p {
            width: 500px;
        }
    }
    
    @media screen and (max-width: 780px) {
        #footer .cp_wrap {
            padding-top: 30px;
        }
        .logo_wrap {
            padding: 50px 50px 0;
        }
        #footer .menu {
            padding-top: 7px;
        }
        .p_box {
            height: 117px;
        }
        a.btn_27 {
            padding: 2.3rem 4rem;
        }
        .title-text p {
            font-size: 1.8rem;
            line-height: 1.8;
            letter-spacing: .3rem;
        }
        .content1 {
            margin: 0 50px 70px;
        }
        .content2 {
            margin: 0 50px;
        }
        .c-img {
            max-width: 58%;
        }
        .logo-inner img {
            max-width: 84%;
        }
        .catchcopy {
            left: 68%;
        }
        .title01 {
            margin-top: 60px;
        }
        .earth-img {
            margin: 150px 50px 200px;
        }
        .button {
            top: 114%;
        }
        .menu-content ul li a {
            font-size: 2rem;
        }
        .greeting-p {
            font-size: 1.7rem;
            line-height: 2.8rem;
        }
        #table01 th,
        #table01 td {
            padding: 20px 0;
        }
        #header .header_logo_other {
            float: left;
            margin: 25px 0 0 30px;
        }
        #table01 {
            font-size: 1.5rem;
        }
        #table01 th {
            width: 25%;
        }
        .environment-p {
            font-size: 1.6rem;
            line-height: 3rem;
        }
        .materials {
            margin: 70px 20px;
        }
        .contact-text {
            font-size: 1.5rem;
            line-height: 2.5rem;
        }
        .environment-img {
            background-image: url(./img/earth2.png);
            background-repeat: no-repeat;
            width: 100%;
            height: 0;
            padding-top: 80%;
            background-size: contain;
        }
        .formwork-img,
        .formwork-img2 {
            height: 380px;
        }
        .environment-text0::after {
            height: 425px;
            max-width: 560px;
        }
        .environment-text0 {
            padding: 160px 0 70px;
        }
        .environment-title-en {
            font-size: 1.5rem;
            letter-spacing: .4rem;
        }
        .environment-title {
            font-size: 2rem;
        }
        .boxline {
            max-width: 580px;
        }
    }
    
    @media screen and (max-width: 720px) {
        .environment-text0 {
            padding: 400px 0 70px;
        }
        .environment-h1 {
            margin-bottom: 60px;
        }
    }
    
    @media screen and (max-width: 680px) {
        .formwork {
            margin: 150px 50px 50px;
        }
        .formwork-img,
        .formwork-img2 {
            height: 350px;
        }
        .formwork-p {
            line-height: 1.7;
        }
        .formwork2 {
            margin: 100px 50px 50px;
        }
        .Enme {
            margin: 0 50px;
        }
        .environment-text {
            margin: 20px;
        }
        .environment-text0::after {
            height: 380px;
            max-width: 540px;
        }
        .environment-p {
            width: 100%;
        }
    }
    
    @media screen and (max-width: 630px) {
        .catchcopy {
            left: 63%;
        }
        .wrapper-box {
            width: 480px;
            height: 480px;
        }
        .title-text p {
            font-size: 1.7rem;
            line-height: 1.6;
            letter-spacing: .2rem;
        }
        .earth-img {
            margin: 110px 50px 170px;
        }
        .Content {
            margin-top: 160px;
        }
        .c-img {
            max-width: 67%;
        }
        #header .header_logo,
        #header .header_logo_other {
            float: left;
            margin: 25px 0 0 30px;
        }
        #table01 th,
        #table01 td {
            letter-spacing: .1rem;
        }
        .greeting-p {
            font-size: 1.6rem;
            line-height: 2.6rem;
        }
        .greeting-text {
            margin-top: 35px;
        }
        .number,
        .number2 {
            font-size: 2.5rem;
        }
        .contents {
            font-size: 1.8rem;
        }
        .con-1 {
            margin: 80px 20px 0;
        }
        .formwork-R::before {
            height: 85px;
        }
        .formwork-L2::before {
            height: 85px;
        }
        .formwork-img,
        .formwork-img2 {
            height: 320px;
        }
        .formwork-R {
            padding: 30px 0px 60px 60px;
        }
        .formwork-L2 {
            padding: 30px 60px 60px 0px;
        }
        .formwork {
            margin: 130px 50px 50px;
        }
        .environment-p {
            font-size: 1.5rem;
            line-height: 2.6rem;
        }
    }
    
    @media screen and (max-width: 580px) {
        .formwork-img,
        .formwork-img2 {
            height: 290px;
        }
        .boxline p {
            background: #FFF;
        }
        .boxline .contents-title {
            left: 0;
            padding: 0 65px;
            background: none;
            width: 100%;
        }
    }
    
    @media screen and (max-width: 560px) {
        .wrapper-box {
            width: 400px;
            height: 400px;
        }
        .title-text p {
            font-size: 1.6rem;
        }
        .earth-img {
            margin: 70px 50px 170px;
        }
        .p_box {
            width: 380px;
        }
        #footer h1 {
            font-size: 3rem;
        }
        #footer .menu li {
            padding-right: 8px;
        }
        .contact-p::after {
            right: 29px;
        }
        .contact-p::before {
            right: 29px;
            width: 26px;
        }
        #footer .cp_wrap {
            padding-top: 20px;
        }
        #footer .footer_nav {
            padding-top: 20px;
        }
        .sec-text p {
            line-height: 1.5;
        }
        a.btn_27 {
            padding: 2rem 3.5rem;
        }
        .button {
            top: 110%;
            left: 82%;
        }
        .c-img {
            max-width: 75%;
        }
        #footer a {
            font-size: 1.4rem;
        }
        #footer p {
            font-size: 1.6rem;
        }
        .content {
            padding: 0 0 80px;
        }
        .logo-inner img {
            max-width: 84%;
        }
        .catchcopy {
            left: 60%;
        }
        .indention {
            display: none;
        }
        .contact-table {
            margin-bottom: 50px;
        }
        #page {
            margin-bottom: 70px;
        }
        .page_title_wrap {
            margin: 50px 0 0;
        }
        .contact-ttl {
            font-size: 3.5rem;
        }
        .contact-item,
        .contact-body {
            padding: 15px;
            border: 0;
        }
        .formwork-R {
            padding: 20px 0px 50px 60px;
        }
        .formwork-L2 {
            padding: 20px 60px 50px 0px;
        }
        .formwork-p {
            font-size: 1.5rem;
        }
        .formwork-R::before {
            height: 120px;
        }
        .formwork-L2::before {
            height: 120px;
        }
        .company {
            margin: 100px 20px 20px;
        }
        .Enme {
            margin: 0 20px;
        }
        table.CF7_table {
            width: 100%;
        }
    }
    
    .sp-br {
        display: none;
    }
    
    @media screen and (max-width: 520px) {
        .formwork {
            margin: 110px 20px 50px;
        }
        .formwork-R {
            padding: 10px 0px 30px 50px;
        }
        .formwork-L2 {
            padding: 10px 50px 30px 0px;
        }
        .formwork-img,
        .formwork-img2 {
            height: 250px;
        }
        .menu-content ul li a {
            font-size: 1.9rem;
        }
        .environment-text0 {
            padding: 350px 0 70px;
        }
        .contents {
            font-size: 1.7rem;
        }
        .boxline .contents-title {
            padding: 0 57px;
        }
        .formwork2 {
            margin: 100px 20px 50px;
        }
    }
    
    @media screen and (max-width: 480px) {
        #table01 th {
            padding: 20px 0 0;
        }
        .sp-br {
            display: block;
        }
        .environment-p {
            letter-spacing: .1rem;
        }
        .contact-submit {
            width: 150px;
            font-size: 1.5rem;
            padding: 13px;
        }
        .contact-table {
            font-size: 1.4rem;
        }
        .page-text p {
            font-size: 2rem;
            letter-spacing: 1rem;
        }
        .formwork2 {
            margin: 90px 20px 80px;
        }
        .environment-p {
            font-size: 1.4rem;
            line-height: 2.3rem;
        }
        .contents {
            font-size: 1.6rem;
        }
        .environment-title {
            font-size: 1.8rem;
        }
        .environment-title-en {
            font-size: 1.5rem;
            letter-spacing: .3rem;
        }
        .environment-text0::after {
            height: 290px;
            max-width: 415px;
        }
        .environment-text0 {
            padding: 300px 0 70px;
        }
        .boxline .contents-title {
            padding: 0 45px;
        }
        .sec-environment {
            margin-top: 100px;
        }
    }
    
    @media screen and (max-width: 460px) {
        #header .header_logo,
        #header .header_logo_other {
            margin: 25px 0 0 15px;
        }
        .menu-box2 .table-row th {
            padding-block-end: 0;
        }
        .menu-box2 .table-row td {
            padding-block-end: 0;
        }
        .menu-box2 .table-row th {
            padding-inline-end: 20px
        }
        .contact-item,
        .contact-body {
            padding: 11px;
        }
        .formwork-p {
            line-height: 1.6;
        }
        .formwork-p {
            font-size: 1.4rem;
        }
        .formwork-img,
        .formwork-img2 {
            height: 220px;
        }
        .formwork-R::before {
            height: 100px;
        }
        .formwork-L2::before {
            height: 100px;
        }
        .number,
        .number2 {
            font-size: 2.3rem;
        }
        .environment-text0::after {
            height: 315px;
        }
        .environment-text0 {
            padding: 320px 0 50px;
        }
    }
    
    @media screen and (max-width: 430px) {
        .wrapper-box {
            width: 360px;
            height: 360px;
        }
        .title-text p {
            font-size: 1.5rem;
        }
        .earth-img {
            margin: 30px 50px 130px;
        }
        a.btn_27 {
            padding: 1.7rem 2.8rem;
        }
        .c-img {
            max-width: 85%;
        }
        #footer .menu li {
            padding-right: 5px;
        }
        .p_box {
            width: 355px;
            height: 107px;
        }
        .p_box img {
            width: 33px;
            height: 23px;
        }
        #footer h1 {
            font-size: 2.8rem;
        }
        .title01 {
            margin-top: 40px;
        }
        .button {
            top: 105%;
        }
        .sec-text {
            padding: 0;
        }
        .menu-btn {
            right: 12px;
        }
        #header .header_logo img,
        #header .header_logo_other img {
            width: 95%;
        }
        .page-text {
            margin-top: 98px;
        }
        .formwork-img,
        .formwork-img2 {
            height: 200px;
        }
        .formwork-p {
            line-height: 1.5;
        }
        .formwork-R {
            padding: 10px 0px 30px 45px;
        }
        .formwork-L2 {
            padding: 10px 45px 30px 0px;
        }
        .boxline .contents-title {
            padding: 0 35px;
        }
        .environment-text0 {
            padding: 300px 0 50px;
        }
    }
    
    @media screen and (max-width: 410px) {
        .environment-text {
            margin: 15px;
        }
        .boxline .contents-title {
            padding: 0 30px;
        }
        .environment-text0 {
            padding: 280px 0 50px;
        }
    }
    /* ここまで */