@charset "UTF-8";


/* フロント用CSS */


/* common */
:root {
    /* colors */
    --hex-main: var(--ark-color--main);
    --hex-text: var(--ark-color--text);
    --hex-link: var(--ark-color--link);
    --hex-bg: var(--ark-color--bg);
    --hex-very-light-gray: var(--ark-color--gray);
    --hex-light-gray: #ccc;
    --hex-gray: #aaa;
    --hex-dark-gray: #777;
    --hex-main-text: var(--hex-main);
    --hex-main-object: var(--hex-main);
    --hex-main-bg: ;
    --hex-sub-text: ;
    --hex-sub-object: ;
    --hex-sub-bg: var(--hex-bg);
    --hex-accent-text: #B3A147;
    --hex-accent-object: ;
    --hex-accent-bg: ;
    --hex-logo-main: var(--ark-color--main);
    --hex-logo-sub: #B3B0A1;
    /* font-family */
    --serif:
        "Shippori Mincho",
        "Hiragino Mincho ProN",
        "Hiragino Mincho Pro",
        "Noto Serif JP",
        "BIZ UDPMincho",
        "Yu Mincho",
        "YuMincho",
        "Times New Roman",
        serif;
    --sans-serif:
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "Noto Sans JP",
        "BIZ UDPGothic",
        "Meiryo",
        'Yu Gothic Medium',
        'YuGothic',
        "Helvetica Neue",
        "Arial",
        sans-serif;
    /* others */
    --ark-color--border--table: #ccc;
}

html,
body {
    font-size: 16px;
    width: 100%;
    max-width: 100%;
    font-family: var(--serif);
}

a {
    text-decoration: none;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}

.fixed {
    position: fixed;
}

.left {
    text-align: left;
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

.underline {
    text-decoration: underline;
}

.none-underline,
.none-underline>a,
.l-main .none-underline>a {
    text-decoration: none;
}

.display-none {
    display: none;
}

svg {
    height: 1em;
}

svg+span {
    margin-left: .5em;
}

.l-main {
    padding-top: 4rem;
}

.l-main a {
    text-decoration: underline;
    color: #999;
}

.l-main a:hover {
    text-decoration: none;
}

.ark-block-column {
    transition: all 0.25s ease-in-out;
}

@media (max-width: 999px) {
    .mobile-tablet-text-align-left {
        text-align: left;
    }
}

h1.c-pageTitle__main {
    font-size: 1.5rem;
    font-weight: 500;
}


/* block(s) */
h1.wp-block-heading {
    font-size: 1.5rem;
    font-weight: 500;
}

h2.wp-block-heading {
    font-size: 1.35rem;
    font-weight: 500;
}

h2.h2-2 {
    font-size: 1.35rem;
    letter-spacing: 2px;
    line-height: 1.25;
}

h2.h2-2 span {
    font-size: .875rem;
    font-weight: 400;
    color: #999;
}

h3.wp-block-heading {
    font-size: 1.25rem;
    font-weight: 500;
}


/* arkhe block(s) */
.ark-block-postList .p-postList__times svg {
    display: none;
}

.ark-block-postList .p-postList__body {
    display: flex;
}

.ark-block-postList .p-postList__meta {
    padding-right: 2rem;
    font-size: .9rem
}

.ark-block-postList .p-postList__title {
    font-weight: 400;
    line-height: 2;
}

.ark-block-tab.is-style-default ul {
    border-bottom: solid 2px #333
}

.arkb-tabList__button {
    font-family: var(--sans-serif);
    font-size: 1rem;
    padding: .75rem;
}

.arkb-tabList__button[aria-selected=true] {
    border-top: 4px solid #333;
    border-bottom: 4px solid #333;
    background-color: #333;
    color: #fff;
    line-height: 1.5;
}

.arkb-tabList__button[aria-selected=false] {
    border-bottom: 4px solid #fff;
    border-left: 8px solid #fff;
    border-right: 8px solid #fff;
    background-color: #ddd;
}

.arkb-tabBody {
    background-color: #f7f7f7;
}


/* header */
.l-header__body.l-container {
    max-width: 1200px !important;
}

.l-header .c-gnav__li a,
.l-header .c-gnav__li span.c-gnav__a {
    transition: background-color .25s ease-in-out, color .25s ease-in-out;
}

.l-header .c-gnav__li a:hover,
.l-header .c-gnav__li span.c-gnav__a:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.l-header .c-gnav__li.-current,
.l-header .c-gnav__li.focus,
.l-header .c-gnav__li:hover,
.l-header .c-gnav .__mainText,
.l-header .c-gnav .__subText {
    color: var(--hex-link);
}

.l-header .c-gnav .sub-menu .c-gnav__a::before {
    transition: background-color .25s ease-in-out;
}

/* arkhe_header_right_content_1 */
.arkhe_header_right_content_1 ul {
    padding-left: 0;
}

.arkhe_header_right_content_1 ul li {
    list-style: none;
}

.arkhe_header_right_content_1 .gt_selector {
    width: 160px;
    height: 2rem;
    background-color: rgba(255 255 255 / .1);
    color: var(--hex-link);
    border: none;
    font-family: sans-serif;
    font-size: .9rem;
    margin-left: 1rem;
}

.arkhe_header_right_content_1 select.gt_selector.notranslate {
    cursor: pointer;
}

@media (max-width: 999px) {

    .l-header__logo {
        justify-content: flex-start;
        padding: 0 16px;
    }

    [data-btns=r-l] .l-header__body {
        grid-template-areas: "left center right search menu";
        grid-template-columns: 0 50% auto var(--ark-searchW) var(--ark-drawerW);
    }

    [data-btns=r-l] .l-header__body .l-header__right {
        display: flex;
    }

    [data-btns=r-l] .l-header__body .l-header__right nav {
        display: none;
    }

    .arkhe_header_right_content_1 .gt_selector {
        width: 110px;
        height: 2rem;
        margin-left: 0;
    }
}

@media (min-width: 1000px) {
    [data-logo=left] .l-header__logo img {
        padding: 4px;
    }
}


/* footer */
.l-footer {
    overflow: hidden;
}

/* arkhe_start_footer_inner_1 */
.arkhe_start_footer_inner_1 .footer-info-wrap {
    padding: 4rem 0 0;
    line-height: 1.75;
    /* font-size: 1rem; */
    /* font-family: var(--sans-serif); */
}

.arkhe_start_footer_inner_1 .footer-info-1 {
    width: 33%;
}

.arkhe_start_footer_inner_1 .footer-info-logo {
    max-width: 180px;
    margin-bottom: 1rem
}

.arkhe_start_footer_inner_1 .footer-info-2 {
    width: 66%;
    justify-content: flex-start;
    align-items: flex-start;
}

.arkhe_start_footer_inner_1 .footer-info-2-inner {
    width: 50%;
}

.arkhe_start_footer_inner_1 .footer-info-2-inner-title {
    margin-bottom: 1rem;
    letter-spacing: 1.5px;
}

.arkhe_start_footer_inner_1 .footer-info-sns-title {
    margin-top: 2rem;
}

.arkhe_start_footer_inner_1 .footer-info-2-inner-content ul {
    list-style: none;
    padding-left: 0;
}

.arkhe_start_footer_inner_1 .footer-info-sns ul {
    list-style: none;
    padding-left: 0;
    justify-content: flex-start;
    margin-top: .5rem;
}

.arkhe_start_footer_inner_1 .footer-info-sns ul li svg {
    width: 2em;
    height: 2em;
}

.arkhe_start_footer_inner_1 .footer-info-bg-img {
    bottom: -3rem;
    right: -1.5rem;
    pointer-events: none;
}

.arkhe_start_footer_inner_1 .footer-info-bg-img img {
    opacity: .05;
    width: 400px;
}

/* arkhe_after_copyright_1 */
.arkhe_after_copyright_1 .policy-copyright {
    margin: 2rem 0;
    justify-content: flex-start;
}

.arkhe_after_copyright_1 .policy-copyright .separator {
    margin: 0 1rem
}

@media (max-width: 599px) {

    .arkhe_start_footer_inner_1 .footer-info-1,
    .arkhe_start_footer_inner_1 .footer-info-2 {
        width: 100%;
    }

    .arkhe_start_footer_inner_1 .footer-info-2-inner {
        width: 100%;
        margin-top: 4rem;
    }

    .arkhe_start_footer_inner_1 .footer-info-sns-title {
        margin-top: 4rem;
    }
}

@media (min-width: 600px) and (max-width: 999px) {

    .arkhe_start_footer_inner_1 .footer-info-1,
    .arkhe_start_footer_inner_1 .footer-info-2 {
        width: 100%;
    }

    .arkhe_start_footer_inner_1 .footer-info-2 {
        width: 100%;
        margin-top: 4rem;
    }
}


/* parts */
/* drawer */
.p-drawer {
    background: var(--hex-main);
}

.arkhe_start_drawer_body_1 .drawer-logo img {
    width: 50%;
    margin-bottom: 1rem;
}

.arkhe_end_drawer_body_1 .drawer-sns {
    margin-top: 1rem;
}

.arkhe_end_drawer_body_1 .drawer-sns ul {
    list-style: none;
    padding-left: 0;
}

.arkhe_end_drawer_body_1 .drawer-sns ul {
    list-style: none;
    padding-left: 0;
    justify-content: flex-start;
    margin-top: .5rem;
}

.arkhe_end_drawer_body_1 .drawer-sns ul li svg {
    width: 2em;
    height: 2em;
    color: #fff;
}

.c-drawerNav .sub-menu {
    transition: all 1s ease-in-out !important;
    transition-duration: .125s !important;
}

.c-submenuToggleBtn__svg {
    transition: transform .125s ease-in-out !important;
}


/* share button */
.c-shareBtns__item.-facebook,
.c-shareBtns__item.-twitter,
.c-shareBtns__item.-twitter-x,
.c-shareBtns__item.-hatebu,
.c-shareBtns__item.-pocket,
.c-shareBtns__item.-pinterest,
.c-shareBtns__item.-line,
.c-shareBtns__item.-copy {
    color: #999999 !important
}

.c-shareBtns .c-shareBtns__list {
    width: 80%;
    margin: 0 auto;
    border: none;
}

@media (min-width: 600px) {
    .c-shareBtns .c-shareBtns__list {
        width: 40%;
        margin: 0 auto;
    }
}


/* page top button */
.c-fixBtn {
    display: none;
}


/* home */
.home .l-main a {
    text-decoration: none;
}

.home .l-main a span[data-icon="LsMoreArrow"] {
    display: inline-block;
    transition: transform 0.25s ease-in-out;
}

.home .l-main a:hover span[data-icon="LsMoreArrow"] {
    transform: translateX(6px);
}

/* home-hero */
.home-hero .ark-block-slider__media {
    overflow: hidden;
}

.home-hero .ark-block-slider__img {
    transform: scale(1);
    transition: none;
}

.home-hero .swiper-slide-active .ark-block-slider__img,
.home-hero .swiper-slide-duplicate-active .ark-block-slider__img,
.home-hero .swiper-slide-prev .ark-block-slider__img,
.home-hero .swiper-slide-duplicate-prev .ark-block-slider__img {
    transform: scale(1.1);
    transition: transform 10s linear;
}

.home-hero {
    position: relative;
}

.home-hero-crane {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 17.5vw;
    opacity: .4;
}

.home-hero-message {
    position: absolute;
    left: 70vw;
    top: 35vh;
}

.home-hero-message>div {
    writing-mode: vertical-rl;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.home-hero-message p {
    font-size: 1.25rem;
    letter-spacing: 2.5px;
    text-shadow:
        0 0 4px rgba(0, 0, 0, 0.9),
        0 0 10px rgba(0, 0, 0, 0.7),
        0 0 25px rgba(0, 0, 0, 0.4),
        0 0 50px rgba(0, 0, 0, 0.2);
    margin: 0 !important;
    padding: 0 .25rem
}

/* home-story */
.home-story h2.h2-2 span {
    color: #ffffff;
}

.home-story h2,
.home-story p {
    text-shadow:
        0 0 4px rgba(0, 0, 0, 0.9),
        0 0 10px rgba(0, 0, 0, 0.7),
        0 0 25px rgba(0, 0, 0, 0.4),
        0 0 50px rgba(0, 0, 0, 0.2);
}

/* home-magazine */
.home-magazine-subtitle {
    font-size: 1.25rem;
    font-weight: 500;
}

@media (max-width: 599px) {

    .home-hero-crane {
        width: 35vw;
    }

    .home-hero-message {
        left: 75vw;
        top: 20vh;
    }

    .home-hero-message p {
        padding: 0;
    }
}

@media (min-width: 600px) and (max-width: 999px) {

    .home-hero-crane {
        width: 25vw;
    }

    .home-hero-message {
        left: 70vw;
        top: 30vh;
    }
}

@media (min-width: 1000px) {
    .home-products .ark-block-columns {
        width: 60%;
        margin-right: 20%;
        margin-left: 20%;
    }
}


/* page */
.page-id-159 .l-content__body,
.page-id-165 .l-content__body,
.page-id-167 .l-content__body {
    margin-top: 0;
}

.page-id-159 .p-page__title,
.page-id-165 .p-page__title,
.page-id-167 .p-page__title {
    display: none;
}

.home .l-main,
.page-id-159 .l-main,
.page-id-165 .l-main,
.page-id-167 .l-main,
.page-id-387 .l-main {
    padding-top: 0;
}


/* story */
.page-id-159 .story-main.ark-block-columns {
    --arkb-gap--x: 0rem;
    --arkb-gap--y: 0rem;
}


/* ikkaku */
/* miyakotsuru */
.sugidama {
    display: flex;
    justify-content: flex-start;
}

.sugidama img {
    width: 48px;
}

@keyframes rotateYAxis {
    0% {
        transform: perspective(1000px) rotateY(0deg);
    }

    100% {
        transform: perspective(1000px) rotateY(360deg);
    }
}

.sugidama img.is-animated {
    animation: rotateYAxis 4s ease-in-out forwards;
}


/* magazine */
.page-id-387 .p-page__title {
    display: none;
}

.page-id-387 .l-main {
    padding-top: 0;
}


/* company */
.page-id-161 .ark-block-dl__div .ark-block-dl__dt {
    width: 6rem;
}

.page-id-161 .ark-block-dl__div .ark-block-dl__dd {
    width: calc(100% - 6rem);
}

@media (min-width: 1000px) {

    .page-id-161 .ark-block-dl__div .ark-block-dl__dt {
        width: 30%
    }

    .page-id-161 .ark-block-dl__div .ark-block-dl__dd {
        width: 70%;
    }
}


/* plugin(s) */
/* contact form 7 */
.wpcf7 p {
    margin: 24px 0;
    font-family: var(--sans-serif);
}

.wpcf7 span.required {
    color: #FFF;
    background-color: var(--hex-main);
    margin-left: 12px;
    font-size: .75rem;
    font-family: var(--sans-serif);
    padding: 6px 8px;
}

.wpcf7 .required .wpcf7-list-item {
    color: var(--ark-color--text);
}

.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
    margin-top: 4px;
    width: 100%;
}

.wpcf7 .required input,
.wpcf7 .required textarea,
.wpcf7 .required select {
    border: 1px solid var(--hex-main);
}

.wpcf7 input[type='submit'] {
    border: 1px solid var(--hex-main);
    background-color: var(--hex-main);
    color: #fff;
    font-size: 18px;
    padding-left: 5%;
    padding-right: 5%;
}

.wpcf7 ::-webkit-input-placeholder {
    color: #bbb;
}

.wpcf7 ::-moz-placeholder {
    color: #bbb;
}

.wpcf7 .contact-form-check {
    color: var(--ark-color--link);
}

.wpcf7 .contact-form-check .checkbox-check {
    color: var(--ark-color--text);
}

.footer-bottom {
    margin-bottom: 48px;
}

/* checkbox */
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
    display: none;
}

.wpcf7 label {
    cursor: pointer;
}

.wpcf7-radio .wpcf7-list-item {
    display: block;
    padding-left: 24px;
}

.wpcf7-list-item.first {
    padding-top: 12px;
}

.wpcf7-list-item {
    padding-top: 6px;
}

.wpcf7-list-item-label {
    position: relative;
    padding-left: 28px;
}

.wpcf7-checkbox .wpcf7-list-item-label::before,
.wpcf7-form-control .wpcf7-list-item-label::before {
    width: 20px;
    height: 20px;
    content: '';
    position: absolute;
    left: 0;
    top: -1px;
    background: #fff;
    border: 1.5px solid #999;
}

.wpcf7-checkbox .wpcf7-list-item-label::after,
.wpcf7-form-control .wpcf7-list-item-label::after {
    width: 20px;
    height: 10px;
    content: '';
    position: absolute;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 4px;
    top: 0px;
    border: 3px solid var(--hex-main);
    border-top: none;
    border-right: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0;
}

.wpcf7-radio .wpcf7-list-item-label::before {
    width: 20px;
    height: 20px;
    border-radius: 10px;
    content: '';
    position: absolute;
    left: 0;
    top: -1px;
    background: #fff;
    border: 1.5px solid #999;
}

.wpcf7-radio .wpcf7-list-item-label::after {
    width: 10px;
    height: 10px;
    border-radius: 5px;
    content: '';
    position: absolute;
    left: 5px;
    top: 4px;
    background-color: var(--hex-main);
    border-top: none;
    border-right: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0;
}

.wpcf7 input[type="checkbox"]:checked+.wpcf7-list-item-label::after,
.wpcf7 input[type="radio"]:checked+.wpcf7-list-item-label::after {
    opacity: 1;
}

span.wpcf7-list-item {
    margin-left: 0 !important;
    margin-right: 30px !important;
}

.wpcf7 form.sent .wpcf7-response-output {
    border: none;
    padding: 0;
    color: #46b450;
}



/* single */
@media (min-width: 1000px) {
    .p-entry__thumb__img {
        width: 60%;
        margin: auto;
    }
}




/* ~359px mobile */
@media (max-width: 359px) {

    html,
    body {
        font-size: 14px;
    }
}


/* ~599px mobile */
@media (max-width: 599px) {
    .tablet {
        display: none;
    }

    .pc {
        display: none;
    }

    .tablet-pc {
        display: none;
    }
}


/* ~999px mobile & tablet */
@media (max-width: 999px) {}


/* 600~999px tablet */
@media (min-width: 600px) and (max-width: 999px) {
    .mobile {
        display: none;
    }

    .pc {
        display: none;
    }
}

/* 600px~ tablet & pc */
@media (min-width: 600px) {}


/* 1000px~ pc */
@media (min-width: 1000px) {
    .mobile {
        display: none;
    }

    .tablet {
        display: none;
    }

    .mobile-tablet {
        display: none;
    }
}


/* 1441px~ large display pc */
@media (min-width: 1441px) {}


/* ~359px small display mobile */
@media (max-width: 359px) {
    html {
        font-size: 14px;
    }
}