@charset "utf-8";
/* CSS Document */
/*
Theme Name: 株式会社LIVUILD 2025
Theme URI: https://livuild.com
Version: 1.0
Author: DIGITAL STRIVE
Author URI: https://d-strive.com/
Requires PHP: 7.4
*/

/*--- PC版表示CSS ---*/
html {
    font-size: 62.5%;
    /* 10px */
}

body {
    color: #272727;
    background: #fff;
    background-blend-mode: normal;
    font-size: 1.6rem;
    /* 16px */
    line-height: 1.4em;
    position: relative;
    font-family: "Noto Sans JP", YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    body {
        color: #333;
        background: #fff;
        font-size: 1.6rem;
        /* 16px */
        line-height: 1.4em;
    }
}

/*--- ディスプレイ切り替え ---*/
.sp_none {
    display: block;
}

.pc_none {
    display: none;
}



@media screen and (max-width: 768px) {
    /*-- ディスプレイ切り替え --*/
    .sp_none {
        display: none;
    }

    .pc_none {
        display: block;
    }
}



/* Google-Fonts */
.noto-sans-jp-regular {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.oswald-regular {
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.roboto-regular {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}



/*--- 共通css ---*/
* {
    box-sizing: border-box;
}

.clear {
    clear: left;
}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

img {
    vertical-align: bottom;
    /* width: 100%; */
}

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

a:hover {
    transition: all 0.5s;
    opacity: 0.8;
}

a img:hover {
    transition: all 0.5s;
    opacity: 0.8;
}

a img {
    border-width: 0px;
    border-style: none;
    border-color: #fff;
    background: transparent;
}

a.anchor {
    display: block;
    padding-top: 21px;
    margin-top: -21px;
}

section {
    width: 100%;
    position: relative;
}

.container-5 {
    width: 5%;
}

.container-90 {
    width: 90%;
    padding: 40px 10%;
}

.container-100 {
    width: 100%;
    margin: 0 auto;
}

.container-960,
.container-960-w {
    width: 960px;
    margin: 0 auto;
}

.r-right {
    border-top-right-radius: 40px;
    border-bottom-right-radius: 40px;
}

.r-left {
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
}

@media screen and (max-width: 768px) {
    .container-5 {
        display: none;
    }

    .container-90 {
        width: 100%;
        padding: 40px 10%;
    }

    .r-right,
    .r-left {
        border-radius: 0;
    }
}

.center {
    text-align: center;
}

.my-10 {
    margin: 10px 0 !important;
}

.my-20 {
    margin: 10px 0 !important;
}

.my-40 {
    margin: 10px 0 !important;
}

.my-60 {
    margin: 10px 0 !important;
}

.my-80 {
    margin: 80px 0 !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mt-40 {
    margin-top: 40px !important;
}

.mt-60 {
    margin-top: 60px !important;
}

.mt-80 {
    margin-top: 80px !important;
}

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

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

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

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

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

.py-20 {
    padding: 20px 0 !important;
}

.py-40 {
    padding: 40px 0 !important;
}

.py-60 {
    padding: 60px 0 !important;
}

.py-80 {
    padding: 80px 0 !important;
}

.pb-20 {
    padding-bottom: 20px !important;
}

.pb-40 {
    padding-bottom: 40px !important;
}

.pb-60 {
    padding-bottom: 60px !important;
}

.pb-80 {
    padding-bottom: 80px !important;
}

.ps-10 {
    padding-left: 10px !important;
}

.ps-20 {
    padding-left: 20px !important;
}

.ps-40 {
    padding-left: 40px !important;
}

.pe-10 {
    padding-right: 10px !important;
}

.pe-20 {
    padding-right: 20px !important;
}

.pe-40 {
    padding-right: 40px !important;
}

@media screen and (max-width: 768px) {
    .pb-md-0 {
        padding-bottom: 0 !important;
    }

    .pb-md-20 {
        padding-bottom: 20px !important;
    }
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.row > * {
    box-sizing: border-box;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-top: var(--bs-gutter-y);
}

.d-flex,
.d-md-flex,
.d-sm-flex {
    display: flex;
    flex-wrap: wrap;
}

.d-flex-rev,
.d-md-flex-rev,
.d-sm-flex-rev {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}

.d-flex-col {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

.align-items-center {
    align-items: center;
}

.align-items-baseline {
    align-items: baseline;
}

.align-items-end {
    align-items: flex-end;
}

.align-items-stretch {
    align-items: stretch;
}

.justify-content-start {
    justify-content: flex-start;
}

.justify-content-end {
    justify-content: flex-end;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-around {
    justify-content: space-around;
}

.justify-content-between {
    justify-content: space-between;
}

@media (max-width: 768px) {
    .d-md-flex {
        display: flex;
        flex-direction: column;
    }
}

@media screen and (max-width: 992px) {
    /*--- 共通css ---*/
    a.anchor {
        display: block;
        padding-top: 0;
        margin-top: 0;
    }

    .container-960 {
        width: 85%;
        margin: 0 auto;
    }

    .container-960-w {
        width: 100%;
        margin: 0 auto;
    }
}



/* 色管理 */
.bg-green {
    background-color: #9CC715 !important;
}

.bg-freshgreen {
    color: #ffffff !important;
    background-color: #BEDE5A !important;
}

.bg-lightgreen {
    background-color: #F6FCE4 !important;
}

.bg-white {
    background-color: #ffffff !important;
}

.txt-green {
    color: #9CC715 !important;
}

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


/*--- ヘッダー ---*/
header {
    background: #fff;
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    box-shadow: 0 2px 8px #666;
}

.header_inner {
    width: 100%;
    height: 104px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

.header_logo {
    width: 180px;
    margin-left: 30px;
}

.header_logo img {
    width: 100%;
    height: 100%;
    aspect-ratio: 309 / 81;
}

/*--- グローバルナビ ---*/
.global_navi_wrap {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.global_navi {
    display: flex;
    justify-content: space-between;
    margin-right:60px;
}

.global_navi li {
    text-align: center;
    margin: 0 1.4em;
}

.global_navi li a {
}

.global_navi li a:hover {
}

.global_navi li p:nth-child(2n-1) {
    color: #9CC715;
    font-family: "Oswald", sans-serif;
    font-size: 2.4rem;
    font-weight: 400;
}

.global_navi li p:nth-child(2n) {
    color: #333;
    font-size: 1.4rem;
    font-weight: 400;
}

.header_contact_wrap {
    text-align: center;
    width: 200px;
}

.header_contact_title {
    color: #44AF35;
    background: #FFE400;
    font-size: 1.4rem;
    font-weight: 700;
    height: 32px;
    line-height: 32px;
}

.header_contact {
    display: flex;
}

.header_contact div {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    width: 200px;
    height: 72px;
    font-size: 1.6rem;
}

.header_contact div a {
    color: #fff;
    background: #44AF35;
    width: 100%;
    height: 100%;
    display: block;
}

.btn_header_phone {
    line-height: 0.7em;
}

.btn_header_mail {
    line-height: 2.24em;
    /* border-left: 1px solid #fff; */
}

.btn_header_phone p:nth-child(1) {
    font-family: 'Robot', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    padding-top: 16px;
}

.btn_header_phone p:nth-child(1)::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url(images/icon_phone_head.png) no-repeat 50%  50% / cover;
    vertical-align: middle;
}

.btn_header_mail p:nth-child(1)::before {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 36px;
    height: 36px;
    background: url(images/icon_mail_head@2x.png) no-repeat 50%  50% / cover;
}

.btn_header_phone::after,
.btn_header_mail::after {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 24px;
    height: 12px;
    background-color: #FFE400;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/*-- ハンバーガーボタン --*/
.hamburger,
nav.globalMenuSp {
    display: none;
}

@media screen and (max-width: 1200px) {
    .header_inner {
        width: 100%;
        height: 104px;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center;
    }

    .header_logo {
        width: 160px;
        margin-left: 40px;
    }

    .header_logo img {
        width: 100%;
        height: 100%;
        aspect-ratio: 309 / 81;
    }

    /*--- グローバルナビ ---*/
    .global_navi_wrap {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
    }

    .global_navi {
        display: flex;
        justify-content: space-between;
        margin-right: 20px;
    }

    .global_navi li {
        text-align: center;
        margin: 0 0.8em;
    }

    .global_navi li a {
    }

    .global_navi li a:hover {
    }

    .global_navi li p:nth-child(2n-1) {
        color: #9CC715;
        font-family: "Oswald", sans-serif;
        font-size: 2.2rem;
        font-weight: 400;
    }

    .global_navi li p:nth-child(2n) {
        color: #333;
        font-size: 1.2rem;
        font-weight: 400;
    }

    .header_contact_wrap {
        text-align: center;
        width: 200px;
    }

    .header_contact_title {
        color: #44AF35;
        background: #FFE400;
        font-size: 1.4rem;
        font-weight: 700;
        height: 32px;
        line-height: 32px;
    }

    .header_contact {
        display: flex;
    }

    .header_contact div {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        color: #fff;
        width: 200px;
        height: 72px;
        font-size: 1.2rem;
    }

    .header_contact div a {
        color: #fff;
        background: #44AF35;
        width: 100%;
        height: 100%;
        display: block;
    }

    .btn_header_phone {
        line-height: 1.0em;
    }

    .btn_header_mail {
        line-height: 3.0em;
        border-left: 1px solid #fff;
    }

    .btn_header_phone p:nth-child(1) {
        font-family: 'Robot', sans-serif;
        font-size: 1.4rem;
        font-weight: 700;
        padding-top: 20px;
    }

    .btn_header_phone p:nth-child(1)::before {
        content: "";
        display: inline-block;
        width: 20px;
        height: 20px;
        background: url(images/icon_phone_head.png) no-repeat 50%  50% / cover;
        vertical-align: middle;
    }

    .btn_header_mail p:nth-child(1)::before {
        position: absolute;
        top: 14px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 36px;
        height: 36px;
        background: url(images/icon_mail_head@2x.png) no-repeat 50%  50% / cover;
    }

    .btn_header_phone::after,
    .btn_header_mail::after {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 24px;
        height: 12px;
        background-color: #FFE400;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
    }
}

@media screen and (max-width: 992px) {
    /*--- ヘッダー ---*/
    .header_inner {
        width: 100%;
        height: 72px;
    }

    .header_logo {
        width: 240px;
        margin: 0 20px;
    }

    .header_logo img {
        width: 100%;
        height: 100%;
        aspect-ratio: 166 / 44;
    }

    .global_navi_wrap {
        display: block;
        width: 100%;
    }

    .global_navi {
        display: none;
    }

    .header_contact_wrap {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 94px;
        text-align: center;
    }

    .header_contact_title {
        color: #44AF35;
        background: #FFE400;
        font-size: 1.6rem;
        font-weight: 700;
        height: 28px;
        line-height: 28px;
    }

    .header_contact {
        display: flex;
        flex-flow: row nowrap;
        width: 100%;
    }

    .header_contact div {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: #44AF35;
        /* width: calc((100% - 1px) / 2); */
        width: 100%;
        height: 66px;
        padding: 20px 0 10px;
        font-size: 1.4rem;
        line-height: 1.2em;
    }

    .btn_header_phone p:nth-child(1) {
        font-family: 'Robot', sans-serif;
        font-size: 1.6rem;
        font-weight: 700;
        padding-top: 1px;
    }

    .btn_header_phone p:nth-child(1)::before {
        content: "";
        width: 20px;
        height: 20px;
        background: url(images/icon_phone_head.png) no-repeat 50%  50% / cover;
    }

    /*
    .btn_header_mail p:nth-child(1)::before {
        position: absolute;
        top: 13px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 30px;
        height: 30px;
        background: url(images/icon_mail_head@2x.png) no-repeat 50%  50% / cover;
    }
    */

    .btn_header_mail p:nth-child(2) {
        font-size: 2.0rem;
        margin-top: -1.2rem;
    }

    .btn_header_mail p:nth-child(1)::before {
        display: none;
    }

    .btn_header_mail p:nth-child(2)::before {
        position: static;
        display: inline-block;
        vertical-align: middle;
        content: "";
        width: 30px;
        height: 30px;
        background: url(images/icon_mail_head@2x.png) no-repeat 50%  50% / cover;
    }

    .btn_header_phone::after,
    .btn_header_mail::after {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 24px;
        height: 12px;
        background-color: #FFE400;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
    }

    /*-- ハンバーガーボタン --*/
    .hamburger {
        display: block;
        position: fixed;
        z-index: 100;
        right: 18px;
        top: 12px;
        width: 48px;
        height: 48px;
        cursor: pointer;
        text-align: center;
        background: #ccc0;
    }

    .hamburger span {
        display: block;
        position: absolute;
        width: 36px;
        height: 2px;
        left: 5px;
        background: #555;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        top: 12px;
    }

    .hamburger span:nth-child(2) {
        top: 22px;
    }

    .hamburger span:nth-child(3) {
        top: 32px;
    }

    /* ナビ開いてる時のボタン */
    .hamburger.active span:nth-child(1) {
        background: #fff;
        top: 22px;
        left: 5px;
        -webkit-transform: rotate(-160deg);
        -moz-transform: rotate(-160deg);
        transform: rotate(-160deg);
    }

    .hamburger.active span:nth-child(2) {
        background: #fff;
        width: 1px;
        top: 22px;
        left: 24px;
    }

    .hamburger.active span:nth-child(3) {
        background: #fff;
        top: 22px;
        left: 5px;
        -webkit-transform: rotate(160deg);
        -moz-transform: rotate(160deg);
        transform: rotate(160deg);
    }

    nav.globalMenuSp {
        position: fixed;
        z-index: 30;
        top: 0;
        left: 0;
        background: #9CC715;
        text-align: center;
        transform: translateY(-100%);
        transition: all 0.6s;
        width: 100%;
        height: 100%;
        display: block;
    }

    nav.globalMenuSp .gmsp_logo {
        position: absolute;
        z-index: 50;
        top: 20px;
        left: 20px;
        width: 166px;
        height: 43.5px;
    }

    nav.globalMenuSp .gmsp_logo img {
        width: 100%;
        height: 100%;
        aspect-ratio: 201 / 36;
    }

    nav.globalMenuSp ul {
        padding-top: 120px;
        width: 100%;
        height: auto;
    }

    nav.globalMenuSp ul li {
        line-height: 1.2em;
        margin: 0 0 1.4em;
    }

    nav.globalMenuSp ul li p:nth-child(2n-1) {
        list-style-type: none;
        text-align: center;
        width: 100%;
        color: #fff;
        font-family: "Oswald", sans-serif;
        font-size: 2.4rem;
        font-weight: 400;
    }

    nav.globalMenuSp ul li p:nth-child(2n) {
        list-style-type: none;
        text-align: center;
        width: 100%;
        color: #333;
        font-size: 1.4rem;
        font-weight: 400;
    }

    nav.globalMenuSp ul li a {
        display: block;
    }

    nav.globalMenuSp .btn_gmsp_wrap {
        margin: 40px 0 0;
        display: flex;
        flex-direction: column;
    }

    nav.globalMenuSp .btn_gmsp {
        background: #44AF35;
        width: 250px;
        height: 64px;
        border-radius: 32px;
        margin: 10px auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        line-height: 1.2em;
    }

    nav.globalMenuSp .btn_gmsp a {
        color: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        display: block;
    }

    /* このクラスを、jQueryで付与・削除する */
    nav.globalMenuSp.active {
        transform: translateX(0%);
    }

    .gmsp_mail {
        position: relative;
        padding-left: 1.5em;
    }

    .gmsp_mail::before {
        position: absolute;
        top: -1px;
        left: 32px;
        content: "";
        width: 24px;
        height: 24px;
        background: url(images/icon_mail_head@2x.png) no-repeat 50% 50% / cover;
    }

    .gmsp_phone {
        position: relative;
        padding-left: 1.0em;
    }

    .gmsp_phone::before {
        position: absolute;
        top: -1px;
        left: 58px;
        content: "";
        width: 24px;
        height: 24px;
        background: url(images/icon_phone_head@2x.png) no-repeat 50% 50% / cover;
    }
}




/*--- スクロールトップ ---*/
#page_top {
    position: fixed;
    z-index: 10;
    color: #fff;
    background: #9CC715;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    font-family: 'Oswald', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    padding: 1.4em 0 0;
    bottom: 100px;
    right: 10%;
    box-shadow: 0 0 8px #333;
}

#page_top:hover {
    color: #FFE400;
    box-shadow: 0 0 8px #ccc;
}

#page_top::before {
    content: "";
    margin: auto;
    position: absolute;
    top: 14px;
    left: 0;
    right: 0;
    width: 12px;
    /* くの字を山なりに見た時、左側の長さ */
    height: 12px;
    /* くの字を山なりに見た時、右側の長さ */
    border-top: 3px solid #fff;
    /* くの字を山なりに見た時、左側の太さと色 */
    border-right: 3px solid #fff;
    /* くの字を山なりに見た時、右側の太さと色 */
    transform: rotate(-45deg);
    /* くの字の向き */
}

#page_top:hover::before {
    border-top: 3px solid #FFE400;
    border-right: 3px solid #FFE400;
}

@media screen and (max-width: 768px) {
    /*--- スクロールトップ ---*/
    #page_top {
        position: fixed;
        bottom: 100px;
        right: 10px;
        z-index: 10;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        font-size: 1.4rem;
        padding: 1.3em 0 0;
    }

    #page_top::before {
        content: "";
        margin: auto;
        position: absolute;
        top: 11px;
        left: 0;
        right: 0;
        width: 12px;
        /* くの字を山なりに見た時、左側の長さ */
        height: 12px;
        /* くの字を山なりに見た時、右側の長さ */
    }
}



/*--- フッター ---*/
footer {
    position: relative;
    width: 100vw;
}

.footer_menu_wrap {
    background: #9CC715;
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}

ul.footer_menu {
    display: flex;
    justify-content: space-around;
}

.footer_menu li {
    font-size: 2.0rem;
    margin: 0 2.0rem;
}

.footer_information_wrap {
    max-width: 400px;
    width: 90%;
    margin: 0 auto;
    padding: 60px 0;
}

.footer_logo {
    max-width: 324px;
    width: 90%;
    height: 90px;
    margin: 0 auto;
}

.footer_logo img {
    width: 100%;
    height: 100%;
    aspect-ratio: 324 / 90;
}

.gmap_wrap {
    max-width: 400px;
    width: 100%;
    margin: 20px auto;
    clip-path: inset(0 round 30px); /*角丸を付ける場合*/
}

.gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%; /*高さ（横幅に対する比率で指定）*/
    position: relative;
}

.gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.footer_address,
.footer_phone {
    line-height: 1.6em;
}

.copyright {
    color: #fff;
    background: #9CC715;
    width: 100vw;
    height: 80px;
    font-size: 1.3rem;
    line-height: 80px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    /*--- フッター ---*/
    footer {
        position: relative;
        width: 100vw;
        padding: 0 0 94px;
    }

    .footer_menu_wrap {
        background: #9CC715;
        width: 100%;
        height: 100px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    ul.footer_menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
    }

    .footer_menu li {
        flex: 1 1 29.33%;
        font-size: 1.4rem;
        margin: 0.5em 2%;
        justify-content: center;
        text-align: center;
    }

    .footer_logo {
        width: 210px;
        height: 55px;
        margin: 0 auto;
    }

    .footer_logo img {
        width: 100%;
        height: 100%;
        aspect-ratio: 210 / 55;
    }

    .footer_address,
    .footer_phone {
        line-height: 1.4em;
    }

    .copyright {
        color: #fff;
        background: #9CC715;
        width: 100vw;
        height: 48px;
        font-size: 1.3rem;
        line-height: 48px;
        text-align: center;
    }
}



/*--- コンテンツ ---*/
#mv_area {
    position: relative;
    background: #9CC715;
    width: 100vw;
    height: auto;
    padding-top: 104px;
}

.catch_copy {
    position: absolute;
    top: 70%;
    left: 16%;
    z-index: 2;
    color: #fff;
    font-size: 4.0rem;
    font-weight: 700;
    font-style: normal;
    line-height: 1.6em;
    letter-spacing: 0.1em;
    text-shadow: 2px 2px 4px #666;
}

.main_visual {
    padding: 60px;
}

.main_visual img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1920 / 936;
    border-radius: 40px;
}

@media screen and (max-width: 1200px) {
    /*--- コンテンツ ---*/
    .catch_copy {
        position: absolute;
        top: 64%;
        left: 16%;
        z-index: 2;
        color: #fff;
        font-size: 3.6rem;
        font-weight: 700;
        font-style: normal;
        line-height: 1.6em;
        letter-spacing: 0.1em;
        text-shadow: 2px 2px 4px #666;
    }
}

@media screen and (max-width: 992px) {
    /*--- コンテンツ ---*/
    #mv_area {
        position: relative;
        background: #9CC715;
        width: 100vw;
        height: auto;
        padding-top: 64px;
    }

    .catch_copy {
        position: absolute;
        top: 56%;
        left: 16%;
        z-index: 2;
        color: #fff;
        font-size: 3.6rem;
        font-weight: 700;
        font-style: normal;
        line-height: 1.6em;
        letter-spacing: 0.1em;
        text-shadow: 2px 2px 4px #666;
    }
}

@media screen and (max-width: 768px) {
    /*--- コンテンツ ---*/
    #mv_area {
        position: relative;
        background: #9CC715;
        width: 100vw;
        height: auto;
        padding-top: 84px;
    }

    .catch_copy {
        position: absolute;
        top: 70%;
        left: 16%;
        z-index: 2;
        color: #fff;
        font-size: 2.4rem;
        font-weight: 700;
        font-style: normal;
        line-height: 1.6em;
        letter-spacing: 0.1em;
        text-shadow: 2px 2px 4px #666;
    }

    .main_visual {
        padding: 16px;
    }

    .main_visual img {
        width: 100%;
        height: 100%;
        aspect-ratio: 327 / 482;
        border-radius: 40px;
    }
}

.t_header,
.t_header_rev {
    position: relative;
}

.t_header::before {
    position: absolute;
    content: "";
    top: 2.0em;
    right: 0;
    width: calc(100% - 11.5em);
    height: 3px;
    background-color: #9CC715
}

.t_header::after {
    position: absolute;
    content: "";
    top: 1.6em;
    right: 0;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #9CC715
}

.t_header_rev::before {
    position: absolute;
    content: "";
    top: 2.0em;
    left: 0;
    width: calc(100% - 12.6em);
    height: 3px;
    background-color: #9CC715
}

.t_header_rev::after {
    position: absolute;
    content: "";
    top: 1.6em;
    left: 0;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #9CC715
}

.header-a::before {
    width: calc(100% - 15.7em);
}

.header-v::before {
    width: calc(100% - 9.5em);
    background-color: #fff
}

.header-c::before {
    width: calc(100% - 16.0em);
    background-color: #fff
}

.header-b::before {
    width: calc(100% - 8.6em);
    background-color: #fff
}

.header-n::before {
    width: calc(100% - 9.4em);
    background-color: #fff
}

.header-v::after,
.header-c::after,
.header-b::after,
.header-n::after {
    background-color: #fff
}

.t_header_en_h2 {
    color: #9CC715;
    font-family: "Oswald", sans-serif;
    font-size: 6.4rem;
    font-weight: 400;
    line-height: 6.4rem;
}

.t_header_ja_h2 {
    color: #9CC715;
    font-size: 2.4rem;
    font-weight: 400;
}

.t_header_h3 {
    font-size: 2.8rem;
    font-weight: 500;
    letter-spacing: -0.1rem;
}

.t_header_h4 {
    color: #9CC715;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
}

@media screen and (max-width: 1200px) {
    .t_header_h3 {
        font-size: 2.0rem;
        font-weight: 500;
    }

    .t_header_h4 {
        font-size: 1.8rem;
        font-weight: 500;
    }
}

@media screen and (max-width: 992px) {
    .t_header::before {
        top: 1.5em;
        width: calc(100% - 9.0em);
    }

    .header-a::before {
        width: calc(100% - 12.0em);
    }

    .header-v::before {
        width: calc(100% - 7.2em);
    }

    .header-c::before {
        width: calc(100% - 12.0em);
    }

    .header-b::before {
        width: calc(100% - 6.8em);
    }

    .header-n::before {
        width: calc(100% - 7.2em);
    }

    .t_header::after {
        top: 1.2em;
        width: 12px;
        height: 12px;
    }

    .t_header_rev::before {
        top: 1.5em;
        width: calc(100% - 9.6em);
    }

    .t_header_rev::after {
        top: 1.2em;
        width: 12px;
        height: 12px;
    }

    .t_header_en_h2 {
        font-size: 4.8rem;
        line-height: 4.8rem;
    }

    .t_header_ja_h2 {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 768px) {
    .t_header_h3 {
        font-size: 2.0rem;
        font-weight: 500;
    }

    .t_header_h4 {
        font-size: 1.8rem;
        font-weight: 500;
    }
}

.h2_c_wrap {
    margin: 80px auto 40px;
    text-align: center;
}

.t_header_en_c {
    color: #9CC715;
    font-family: "Oswald", sans-serif;
    font-size: 6.0rem;
    font-weight: 400;
    line-height: 1.0em;
}

.t_header_ja_h2_c {
    color: #9CC715;
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 1.8em;
}

@media screen and (max-width: 768px) {
    .h2_c_wrap {
        margin: 80px auto 40px;
        text-align: center;
    }

    .t_header_en_c {
        font-size: 4.0rem;
    }

    .t_header_ja_h2_c {
        font-size: 1.4rem;
    }
}



/* ABOUT US 私たちについて */
.about-1 {
    flex: 0 0 auto;
    width: 50%;
    margin-right: 6%;
}

.about-1 img {
    width: 100%;
    height: 100%;
    aspect-ratio: 750 / 390;
}

.about-2 {
    flex: 0 0 auto;
    width: 40%;
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 1.8em;
}

.btn_about {
    align-self: flex-end;
}

.btn_about a {
    color: #fff;
    background: #9CC715;
    padding: 1.0em 2.0em;
    border-radius: 2em;
    display: block;
}

@media screen and (max-width: 768px) {
    .about-1 {
        flex: 0 0 auto;
        width: 100%;
        margin-right: 0;
    }

    .about-2 {
        flex: 0 0 auto;
        width: 100%;
        align-items: center;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.8em;
    }

    .btn_about {
        align-self: inherit;
    }

    .btn_about a {
        color: #fff;
        background: #9CC715;
        padding: 1.0em 2.0em;
        border-radius: 2em;
        display: block;
    }
}



/* REASON LIVUILDが選ばれる理由 */
.reason_content_wrap {
    flex: 0 0 auto;
    width: 40%;
    margin-right: 6%;
    font-size: 1.8rem;
    line-height: 2.4em;
}

.reason_content_wrap_rev {
    flex: 0 0 auto;
    width: 40%;
    margin-left: 6%;
    font-size: 1.8rem;
    line-height: 2.4em;
}

@media screen and (max-width: 768px) {
    .reason_content_wrap,
    .reason_content_wrap_rev {
        width: 100%;
        margin-right: 0;
        font-size: 1.6rem;
        line-height: 2.4em;
    }
}

.reason_no {
    position: relative;
    color: #9CC715;
    font-family: "Oswald", sans-serif;
    font-size: 5.4rem;
    line-height: 5.6rem;
    margin-right: 1.0rem;
}

@media screen and (max-width: 768px) {
    .reason_no {
        font-size: 4.0rem;
        line-height: 4.0rem;
        margin-right: 1.0rem;
    }
}

.reason_image_wrap {
    flex: 0 0 auto;
    width: 54%;
}

@media screen and (max-width: 768px) {
    .reason_image_wrap {
        width: 100%;
    }
}

.reason_image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 750 / 390;
}

@media screen and (max-width: 992px) {
    .reason_content_wrap,
    .reason_content_wrap_rev {
        font-size: 1.6rem;
        line-height: 1.8em;
    }
}



/* VOICE お客様の声 */
.voice_list_wrap {
    padding: 0 2.0em;
}

.voice_list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    border-radius: 30px;
    padding: 1.5em 2.0em;
}

.voice_list figure img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    overflow: hidden;
}

.h_voice_list {
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 0.5em;
}

.article_tags {
    display: flex;
    flex-flow: row wrap;
}

.article_tags li a {
    color: #9CC715;
    font-size: 1.4rem;
    border: 1px solid #9CC715;
    padding: 0 0.25em;
    margin: 0.5em 0.25em 0 0;
}

.article_supplement {
    color: #888;
    font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
    .voice_list_wrap {
        padding: 0 0.5em;
    }

    .h_voice_list {
        font-size: 1.6rem;
    }

    .article_tags li {
        font-size: 1.2rem;
    }

    .article_supplement {
        font-size: 1.2rem;
    }
}

.btn_more {
}

.btn_more a {
    background: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    padding: 1.0em 4.0em;
    border-radius: 2em;
    display: block;
}




/* WORKS 施工事例 */
.works-before-1,
.works-before-2 {
    flex: 0 0 auto;
    width: 40%;
    margin-right: 6%;
}

.works-after-1,
.works-after-2 {
    flex: 0 0 auto;
    width: 54%;
}

.works_no {
    position: relative;
    color: #9CC715;
    font-family: "Oswald", sans-serif;
    font-size: 5.4rem;
    line-height: 5.6rem;
    margin-right: 1.0rem;
}

.works_no::before {
    position: absolute;
    content: "";
    top: 0.5em;
    left: -420px;
    width: 400px;
    height: 3px;
    background-color: #9CC715
}

.works_no::after {
    position: absolute;
    content: "";
    top: 0.4em;
    left: -0.5em;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #9CC715
}

@media screen and (max-width: 1200px) {
    .works_no {
        font-size: 4.0rem;
        line-height: 6.4rem;
        margin-right: 1.0rem;
    }

    .works_no::before {
        top: 0.8em;
        left: -420px;
        width: 400px;
        height: 3px;
    }

    .works_no::after {
        top: 0.7em;
        left: -0.8em;
        width: 12px;
        height: 12px;
    }
}

@media screen and (max-width: 768px) {
    .works-before-1,
    .works-before-2 {
        flex: 0 0 auto;
        width: 100%;
        margin-right: 0;
        order: 1;
    }

    .works-after-1,
    .works-after-2 {
        flex: 0 0 auto;
        width: 100%;
        order: 2;
    }

    .btn_top_works {
        flex: 0 0 auto;
        width: 100%;
        order: 3;
    }

    .works_no {
        font-size: 4.0rem;
        line-height: 4.0rem;
        margin-right: 1.0rem;
    }

    .works_no::before,
    .works_no::after {
        display: none;
    }
}

.works_image_before,
.works_image_after {
    position: relative;
    width: 100%;
}

.works_image_before img {
    width: 100%;
    height: 100%;
    aspect-ratio: 372 / 226 ;
    border-radius: 30px;
}

.works_image_after img {
    width: 100%;
    height: 100%;
    aspect-ratio: 372 / 246 ;
    border-radius: 30px;
}

.works_image_before::before {
    position: absolute;
    content: "BEFORE";
    bottom: -0.75em;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    border-radius: 80px;
    padding: 0.25em 1.0em;
    background-color: #fff
}

.works_image_after::before {
    position: absolute;
    content: "AFTER";
    bottom: -0.75em;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    border-radius: 80px;
    padding: 0.25em 1.0em;
    background-color: #fff
}

.works_image_before::after {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    right: -11%;
    z-index: 1;
    width: 28px;
    height: 46px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background-color: #9CC715
}

@media screen and (max-width: 1200px) {
    .works_image_before::after {
        top: 50%;
        transform: translateY(-50%);
        right: -11%;
        z-index: 1;
        width: 18px;
        height: 36px;
    }
}

@media screen and (max-width: 768px) {
    .works_image_before::after {
        display: none;
    }
}

.t_works_content {
    position: relative;
}

.btn_top_works a {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -18%;
    z-index: 5;
    width: 180px;
    height: 120px;
    font-size: 1.4rem;
    font-weight: 500;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    padding: 0.25em 40px;
    color: #fff;
    background-color: #9CC715;
    display: flex;
    align-items: center;
    transition: all 0.5s;
}

.btn_top_works a:hover {
    right: -20%;
    opacity: 1.0;
    transition: all 0.5s;
}

.btn_top_works a::before {
    position: absolute;
    top: 48%;
    right: 30px;
    z-index: 1;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
    .btn_top_works a {
        position: relative;
        top: 40px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        z-index: 5;
        width: 300px;
        height: 60px;
        font-size: 1.4rem;
        font-weight: 500;
        border-radius: 20px;
        padding: 0.25em 40px;
        color: #fff;
        background-color: #9CC715;
        display: flex;
        align-items: center;
        transition: all 0.5s;
    }
}



/* CATEGORY 施工事例の一覧 */
.t_cat_list {
    background: #fff;
    flex: 0 0 auto;
    width: 16%;
    margin-right: 5%;
    margin-bottom: 40px;
    aspect-ratio: 2 / 1;
    border-radius: 20px;
    padding: 0 5px;
}

.t_cat_list a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

.t_cat_list img {
    width:72px;
    height: 55.6363px;
    aspect-ratio: 110 / 85;
}

.t_cat_list:nth-child(5n) {
    margin-right: 0;
}

.t_cat_header {
    width: 100%;
    display: inline;
    text-align: center;
}


@media screen and (max-width: 1200px) {
    .t_cat_list {
        width: 23%;
        margin-right: 2.666%;
        margin-bottom: 30px;
    }

    .t_cat_list:nth-child(5n) {
        margin-right: 2.666%;
    }

    .t_cat_list:nth-child(4n) {
        margin-right: 0;
    }

    .t_cat_header {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 768px) {
    .t_cat_list {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 20px;
        padding: 0 5px;
    }

    .t_cat_list:nth-child(5n) {
        margin-right: 4%;
    }

    .t_cat_list:nth-child(4n) {
        margin-right: 0;
    }

    .t_cat_list:nth-child(2n) {
        margin-right: 0;
    }

    .t_cat_header {
        font-size: 1.2rem;
    }

    .t_cat_list img {
        width: 56px;
        height: 43.2727px;
        aspect-ratio: 110 / 85;
    }
}



/* BLOG ブログ */
.blog_list_wrap {
    padding: 0 2.0em;
}

.blog_list {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.blog_list figure img {
    width: 100%;
    height: 100%;
    aspect-ratio: 440 / 375;
    border-radius: 40px;
    object-fit: cover;
    overflow: hidden;
}

.h_voice_list {
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 0.5em;
}

.blog_list_info {
    position: absolute;
    bottom: 1.0em;
    left: 2.0em;
}

@media screen and (max-width: 768px) {
    .blog_list_wrap {
        padding: 0 0.5em;
    }

    .blog_list_info {
        font-size: 1.4rem;
        line-height: 1.4em;
    }
}

.btn_voice {
}

.btn_voice a {
    background: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    padding: 1.0em 4.0em;
    border-radius: 2em;
    display: block;
}



/* NEWS お知らせ */
.t_news_list {
    position: relative;
    border-bottom: 1px dotted #fff;
}

.t_news_list:nth-child(1) {
    border-top: 1px dotted #fff;
}

.t_news_list a {
    color: #fff;
}

.t_news_date {
    flex: 0 0 auto;
    width: 15%;
}

.t_news_cat{
    flex: 0 0 auto;
    width: 15%;
}

.t_news_title {
    width: 70%;
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 1.2em;
    padding: 2.0em 0;
}

.t_news_title::before {
    position: absolute;
    top: 45%;
    right: 3%;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    transition: 0.5s;
}

.t_news_title:hover::before {
    position: absolute;
    top: 45%;
    right: 2%;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    transition: 0.2s;
}

@media screen and (max-width: 768px) {
    .t_news_date {
        flex: 0 0 auto;
        width: 32%;
        padding: 2.0em 0 0.5em;
    }

    .t_news_cat{
        flex: 0 0 auto;
        width: 68%;
        padding: 2.0em 0 0.5em;
    }

    .t_news_title {
        width: 100%;
        font-size: 1.8rem;
        font-weight: 500;
        padding: 0 1.0em 2.0em 0;
    }
}



/*--- ABOUT わたしたちについて ---*/
#hi_area {
    padding-top: 104px;
    position: relative;
}

.h1_wrap {
    position: absolute;
    top: 50%;
    left: 20%;
}

.t_header_en_h1 {
    color: #9CC715;
    font-family: "Oswald", sans-serif;
    font-size: 6.0rem;
    font-weight: 400;
    line-height: 6.0rem;
}

.t_header_ja_h1 {
    color: #9CC715;
    font-size: 2.0rem;
    font-weight: 400;
}

.hero_image {
    width: 100vw;
}

.hero_image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1920 / 540;
}

@media (max-width: 992px) {
    #hi_area {
        padding-top: 72px;
    }
}

@media (max-width: 768px) {
    #hi_area {
        padding-top: 72px;
    }

    .h1_wrap {
        position: absolute;
        top: 55%;
        left: 10%;
    }

    .t_header_en_h1 {
        font-size: 4.0rem;
        line-height: 4.0rem;
    }

    .t_header_ja_h1 {
        font-size: 1.4rem;
    }

    .hero_image img {
        aspect-ratio: 750 / 276;
    }
}

.about_intro {
    background: url(images/about_message_pc.png) no-repeat 50% 0 / cover;
    height: 668px;
}

.about_header_ja_h2_c {
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
}

.about_intro p {
    font-size: 2.0rem;
    line-height: 2.0em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .about_intro {
        background: url(images/about_message_sp.png) no-repeat 50% 0 / cover;
        height: 585px;
    }

    .about_header_ja_h2_c {
        font-size: 2.4rem;
    }

    .about_intro p {
        font-size: 1.6rem;
        line-height: 2.0em;
        text-align: left;
    }

}

.txt_deco_dotted {
    position: relative;
    width: 38.6rem;
    margin: 0 auto;
}

.txt_deco_dotted::before {
    position: absolute;
    content: "・・・";
    top: -2.6rem;
    left: 13.1rem;
    font-size: 3.0rem;
    color: #9CC715;
}

@media screen and (max-width: 992px) {
    .txt_deco_dotted::before {
        top: -2.6rem;
        left: 13.1rem;
        font-size: 3.0rem;
    }
}

@media screen and (max-width: 768px) {
    .txt_deco_dotted {
        width: 30.0rem;
    }

    .txt_deco_dotted::before {
        top: -2.0rem;
        left: 10.2rem;
        font-size: 2.4rem;
    }
}

.about_list_l {
    position: relative;
    flex: 0 0 auto;
    width: 34%;
    padding: 60px 40px;
    text-align: center;
}

.about_list_l::after {
    position: absolute;
    bottom: 50%;
    transform: translateY(50%);
    right: 0;
    content: "";
    width: 1px;
    height: 60%;
    background: #9CC715;
}

.about_list_r {
    flex: 0 0 auto;
    width: 66%;
    font-size: 1.6rem;
    line-height: 1.8em;
    padding: 60px 40px;
}

.about_no {
    color: #9CC715;
    font-family: "Oswald", sans-serif;
    font-size: 4.8rem;
    margin-bottom: 1.0em;
}

.about_header_h3 {
    font-size: 2.0rem;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .about_list_l {
        width: 100%;
        padding: 2.4em 0;
    }

    .about_list_l::after {
        bottom: 0;
        right: 50%;
        transform: translateX(50%);
        width: 30%;
        height: 1px;
    }

    .about_list_r {
        flex: 0 0 auto;
        width: 100%;
        font-size: 1.4rem;
        line-height: 1.8em;
        padding: 2.4em 3.0em;
    }

    .about_no {
        font-size: 4.0rem;
        margin-bottom: 0.5em;
    }

    .about_header_h3 {
        font-size: 1.8rem;
        font-weight: 700;
    }
}



/*--- COMPANY 会社概要 ---*/
.company_profile div {
    flex: 0 0 auto;
    line-height: 1.8em;
    padding: 2.0em;
    border-bottom: 1px solid #9CC715;
}

.company_profile div:nth-child(2n-1) {
    background: #F6FCE4;
    font-weight: 500;
    width: 20%;
}

.company_profile div:nth-child(2n) {
    width: 80%;
}

.company_profile div:nth-child(1),
.company_profile div:nth-child(2) {
    border-top: 1px solid #9CC715;
}

@media screen and (max-width: 768px) {
    .company_profile div {
        font-size: 1.4rem;
        padding: 1.0em;
        border-bottom: 1px solid #9CC715;
    }

    .company_profile div:nth-child(2n-1) {
        background: #F6FCE4;
        font-weight: 500;
        width: 100%;
        border-bottom: none;
    }

    .company_profile div:nth-child(2n) {
        width: 100%;
    }

    .company_profile div:nth-child(2) {
        border-top: none;
    }
}



/*--- VOICE お客様の声 ---*/
/*--- WORKS 施工事例 ---*/
.article_wrap {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 40px;
    border-radius: 30px;
    box-shadow: 0 2px 8px #ccc;
}

.article_wrap:nth-child(2n) {
    margin-right: 0;
}

.article_image {
    width: 100%;
    height: 360px;
}

.article_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
    border-top-right-radius: 30px;
    border-top-left-radius: 30px;
}

.article_info {
    padding: 1.0em 1.5em;
}

.article_title_h2 {
    font-size: 1.8rem;
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .article_wrap {
        width: 100%;
        margin-right: 0%;
        margin-bottom: 40px;
    }

    .article_image {
        height: 200px;
    }

    .article_image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        overflow: hidden;
        border-top-right-radius: 30px;
        border-top-left-radius: 30px;
    }

    .article_info {
        padding: 1.0em 1.5em;
    }

    .article_title_h2 {
        font-size: 1.6rem;
        font-weight: 500;
    }
}



/*--- VOICE お客様の声 - 詳細ページ ---*/
/*--- WORKS 施工事例 - 詳細ページ ---*/
.single_image {
    width: 100%;
    height: auto;
}

.single_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}

.single_info {
    padding: 1.0em 0;
}

.single_title_h2 {
    font-size: 2.4rem;
    font-weight: 500;
    margin-bottom: 0.5em;
}

.single_supplement {
    color: #888;
    font-size: 1.8rem;
    margin-bottom: 0.5em;
}

.question,
.question-1,
.question-2,
.question-3 {
    font-size: 2.0rem;
    font-weight: 500;
    padding-top: 1.6em;
    margin-bottom: 1.0em;
}

.question::before,
.question-1::before,
.question-2::before,
.question-3::before {
    display: inline-block;
    content: "Q";
    font-size: 2.4rem;
    color: #fff;
    background-color: #9CC715;
    text-align: center;
    vertical-align: middle;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
}

.question-1::before {
    display: inline-block;
    content: "1";
}

.question-2::before {
    display: inline-block;
    content: "2";
}

.question-3::before {
    display: inline-block;
    content: "3";
}

.answer {
    color: #888;
    font-size: 1.6rem;
    padding-left: 2.4em;
    padding-bottom: 2.0em;
    border-bottom: 1px solid #9CC715;
}

.btn_back {
    width: 200px;
    height: 60px;
    margin: 1.6em auto;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 60px;
}

.btn_back a {
    border: 1px solid #9CC715;
    border-radius: 30px;
    background: #fff;
    display: block;
}

.btn_back a:hover {
    color: #fff;
    background: #9CC715;
}

@media screen and (max-width: 768px) {
    .single_title_h2 {
        font-size: 1.8rem;
    }

    .single_supplement {
        font-size: 1.4rem;
    }

    .question,
    .question-1,
    .question-2,
    .question-3 {
        font-size: 1.6rem;
        padding-top: 1.6em;
        margin-bottom: 1.0em;
    }

    .question::before,
    .question-1::before,
    .question-2::before,
    .question-3::before {
        font-size: 2.0rem;
        width: 2.6rem;
        height: 2.6rem;
    }

    .answer {
        color: #888;
        font-size: 1.4rem;
        padding-left: 2.0em;
    }
}



/*--- BLOG ブログ ---*/
.post_wrap {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 60px;
    box-shadow: 0 2px 8px #ccc;
}

.post_wrap:nth-child(2n) {
    margin-right: 0;
}

.post_image {
    position: relative;
    width: 100%;
    height: 375px;
}

.post_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}

.photo_caption {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 1.4rem;
    /*padding: 0.25em 1.5em;*/
}

.photo_caption a {
    color: #fff;
}

.cat_01,.cat-reform {
    background-color: #9CC715;
    padding: 0.25em 1.5em;
}

.cat_02,.cat-column {
    background-color: #4AB9FF;
    padding: 0.25em 1.5em;
}

.cat_03,.cat-work-scene {
    background-color: #FF9300;
    padding: 0.25em 1.5em;
}

.post_info {
    padding: 1.0em 1.5em;
}

.post_date {
    font-size: 1.4rem;
    margin-bottom: 0.25em;
}

.post_title_h2 {
    font-size: 1.8rem;
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .post_wrap {
        width: 100%;
        margin-right: 0%;
        margin-bottom: 40px;
    }

    .post_image {
        height: 200px;
    }

    .post_image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        overflow: hidden;
    }

    .post_info {
        padding: 1.0em 1.5em;
    }

    .post_title_h2 {
        font-size: 1.6rem;
        font-weight: 500;
    }
}



/*--- NEWS お知らせ ---*/
.news_list {
    position: relative;
    border-bottom: 1px dotted #9CC715;
}

.news_list:nth-child(1) {
    border-top: 1px dotted #9CC715;
}

.news_date {
    flex: 0 0 auto;
    width: 15%;
}

.news_cat {
    flex: 0 0 auto;
    width: 15%;
}

.news_title {
    width: 70%;
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 1.2em;
    padding: 2.0em 0;
}

.news_title::before {
    position: absolute;
    top: 45%;
    right: 3%;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #888;
    border-right: 2px solid #888;
    transform: rotate(45deg);
    transition: 0.5s;
}

.news_title:hover::before {
    position: absolute;
    top: 45%;
    right: 2%;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #888;
    border-right: 2px solid #888;
    transform: rotate(45deg);
    transition: 0.2s;
}

@media screen and (max-width: 768px) {
    .news_date {
        flex: 0 0 auto;
        width: 32%;
        padding: 2.0em 0 0.5em;
    }

    .news_cat{
        flex: 0 0 auto;
        width: 68%;
        padding: 2.0em 0 0.5em;
    }

    .news_title {
        width: 100%;
        font-size: 1.8rem;
        font-weight: 500;
        padding: 0 1.0em 2.0em 0;
    }
}



/*--- BLOG ブログ - 詳細ページ ---*/
/*--- NEWS お知らせ - 詳細ページ ---*/
.single_info {
    padding-bottom: 1.0em;
    border-bottom: 1px solid #9CC715;
    margin-bottom: 1.0em;
}

.single_caption {
    font-size: 1.4rem;
    display: inline-block;
    /*padding: 0.25em 1.5em;*/
}

.single_caption a {
    color: #fff;
}

.single_thumbnail {
    width: 100%;
    height: auto;
}

.single_thumbnail img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    overflow: hidden;
}

.single_content {
    font-size: 1.6rem;
    line-height: 2.0em;
    padding: 2.0em 0;
    border-bottom: 1px solid #9CC715;
}

@media screen and (max-width: 768px) {
    .single_content img {
        max-width: 100%;
    }
}











































.conversion_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 960px;
    margin: 0 auto 80px;
}

.btn_conversion a {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 460px;
    height: 180px;
    border: 4px solid #9CC715;
    border-radius: 40px;
    font-weight: 700;
    padding-top: 60px;
}

.btn_conversion a:hover {
    color: #fff;
    background: #9CC715;
    border: 4px solid #9CC715;
}

.btn_conversion p:nth-child(2) {
    font-size: 1.4rem;
    font-weight: 400;
}

.conversion_phone {
    position: relative;
    font-size: 3.2rem;
    line-height: 0.8em;
    margin: 0 40px 0 0;
}

.conversion_phone::before {
    position: absolute;
    top: 30px;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    content: "";
    width: 60px;
    height: 60px;
    background: url(images/icon_phone_grn.png) no-repeat 50% 50% / cover;
}

.conversion_phone:hover::before {
    background: url(images/icon_phone_wht.png) no-repeat 50% 50% / cover;
}

.conversion_mail {
    position: relative;
    font-size: 2.4rem;
    line-height: 1.0em;
}

.conversion_mail::before {
    position: absolute;
    top: 35px;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    content: "";
    width: 60px;
    height: 60px;
    background: url(images/icon_mail_grn.png) no-repeat 50% 50% / cover;
}

.conversion_mail:hover::before {
    background: url(images/icon_mail_wht.png) no-repeat 50% 50% / cover;
}

.txt_small {
    font-size: smaller;
    font-weight: 400;
}



@media screen and (max-width: 992px) {
    .conversion_wrap {
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: center;
        width: 100%;
        margin: 0 auto 80px;
    }

    .btn_conversion {
        width: 100%;
    }

    .btn_conversion a {
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 140px;
        border: 4px solid #9CC715;
        border-radius: 30px;
        font-weight: 700;
        padding-top: 60px;
    }

    .btn_conversion p:nth-child(2) {
        font-size: 1.4rem;
        font-weight: 400;
    }

    .conversion_phone {
        position: relative;
        font-size: 3.0rem;
        line-height: 0.8em;
        margin: 0 0 30px 0;
    }

    .conversion_phone::before {
        position: absolute;
        top: 15px;
        left: 50%;
        z-index: 1;
        transform: translateX(-50%);
        content: "";
        width: 60px;
        height: 60px;
        background: url(images/icon_phone_grn.png) no-repeat 50% 50% / cover;
    }

    .conversion_mail {
        position: relative;
        font-size: 2.0rem;
        line-height: 1.0em;
    }

    .conversion_mail::before {
        position: absolute;
        top: 20px;
        left: 50%;
        z-index: 1;
        transform: translateX(-50%);
        content: "";
        width: 60px;
        height: 60px;
        background: url(images/icon_mail_grn.png) no-repeat 50% 50% / cover;
    }

    .txt_small {
        font-size: smaller;
        font-weight: 400;
    }
}






































/*--- WPページナビ ---*/
.wp-pagenavi_wrap {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    margin: 0 0 40px 0;
}

.wp_pagenavi {
    font-family: "Montserrat", "Noto Sans JP", sans-serif;
    font-weight: 600;
}

.wp-pagenavi .pages {
    display: inline-block;
    width: 60px;
    height: 40px;
    line-height: 35px;
    border-radius: 20px;
    margin: 20px;
    text-align: center;
    font-family: "Montserrat", "Noto Sans JP", sans-serif;
    font-weight: 600;
    color: #666;
    background: #fff;
    border: 1px solid #666;
}

.wp-pagenavi .current {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 35px;
    border-radius: 50%;
    margin: 20px;
    text-align: center;
    font-family: "Montserrat", "Noto Sans JP", sans-serif;
    font-weight: 600;
    color: #fff;
    background: #9CC715;
    border: 1px solid #9CC715;
}

.wp-pagenavi .first,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .extend,
.wp-pagenavi .page,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .last {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 35px;
    border-radius: 50%;
    margin: 20px;
    text-align: center;
    font-family: "Montserrat", "Noto Sans JP", sans-serif;
    font-weight: 600;
    color: #666;
    background: #fff;
    border: 1px solid #666;
}

.wp-pagenavi .first:hover,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .page:hover,
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .last:hover {
    display: inline-block;
    border-radius: 50%;
    color: #9CC715;
    background: #fff;
    border: 1px solid #9CC715;
}

@media screen and (max-width: 768px) {
    /*--- WPページナビ ---*/
    .wp-pagenavi .pages {
        width: 50px;
        height: 30px;
        line-height: 25px;
        margin: 10px;
    }

    .wp-pagenavi .current {
        width: 30px;
        height: 30px;
        line-height: 25px;
        border-radius: 50%;
        margin: 10px;
    }

    .wp-pagenavi .first,
    .wp-pagenavi .previouspostslink,
    .wp-pagenavi .extend,
    .wp-pagenavi .page,
    .wp-pagenavi .nextpostslink,
    .wp-pagenavi .last {
        width: 30px;
        height: 30px;
        line-height: 25px;
        border-radius: 50%;
        margin: 10px;
    }

    .wp-pagenavi .first:hover,
    .wp-pagenavi .previouspostslink:hover,
    .wp-pagenavi .page:hover,
    .wp-pagenavi .nextpostslink:hover,
    .wp-pagenavi .last:hover {
        border-radius: 50%;
    }
}



/*--- ページネーションズ ---*/
.page_nation {
    display: flex;
    justify-content: center;
    margin: 80px 0 0;
}

.page_nation li {
    height: 60px;
    line-height: 60px;
    margin: 0 1px;
    text-align: center;
}

.pn1 {
    width: 240px;
}

.pn2 {
    width: 160px;
}

.pn3 {
    width: 100px;
}

.page_nation a {
    color: #333;
    background: #fff;
    border: 1px solid #9CC715;
    font-size: 1.8rem;
    font-weight: 500;
    display: block;
}

.page_nation li:first-child a {
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
}

.page_nation li:last-child a {
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
}

.page_nation a:hover {
    color: #fff;
    background: #9CC715;
}

@media screen and (max-width: 768px) {
    /*--- ページネーションズ ---*/
    .page_nation {
        margin: 40px 0 0;
    }

    .page_nation li {
        height: 40px;
        line-height: 40px;
    }

    .pn1 {
        width: 120px;
    }

    .pn2 {
        width: 90px;
    }

    .pn3 {
        width: 60px;
    }

    .page_nation a {
        font-size: 1.6rem;
    }

    .page_nation li:first-child a {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
    }

    .page_nation li:last-child a {
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
    }
}



/*--- mfp/mfp.statics/mailformpro.css カスタマイズ ---*/
form#mailformpro {
    padding: 10px 0px;
}

form#mailformpro dl dt {
    float: none;
    width: 100%;
    clear: both;
    font-size: 1.8rem;
    padding: 20px 0 0;
    text-align: left;
    border-top: none;
    margin: 0px;
}

form#mailformpro dl dd {
    border-top: none;
    margin: 0px;
    padding: 0 0 20px;
    font-size: 1.8rem;
    line-height: 1.0em;
    text-align: left;
}

.must {
    display: inline-block;
    background-color: #FF9300;
    border: none;
    text-shadow: none;
    text-align: center;
    padding: 2px 5px;
    font-size: 14px;
    color: #fff;
    float: none;
    margin: 5px 5px;
    border-radius: 20px;
    box-shadow: 0px 0px 0px #CCC0;
    background-image: none;
    background-size: 100% 100%;
    width: 60px;
}

form#mailformpro label {
    border-radius: 3px;
    margin: 3px;
    display: inline-block;
    white-space: nowrap;
}

form#mailformpro label.mfp_checked {
    padding: 17px 10px;
    border: solid 2px #F6FCE4; /* 枠線 */
    background-color: #FFF; /* チェック入力欄PC */
    box-shadow: 0px 1px 3px #CCC inset;
}

form#mailformpro label.mfp_not_checked {
    padding: 17px 10px;
    border: solid 2px #F6FCE4; /* 枠線 */
    background-color: #FFF; /* チェック入力欄PC */
}

div.mfp_err {
    clear: both;
    display: none;
    text-align: left;
    margin: 5px 0px 0px 0px;
    padding: 3px 0px 5px 17px;
    color: #F00;
    font-size: 1.6rem;
    line-height: normal;
    background-image: url(_images/mfp_error.gif);
    background-repeat: no-repeat;
    background-position: 0px 1px;
}

.mfp_parent_error {
    border: solid 2px #F00;
}

.problem {
    background-color: #FCC;
}

div#mfp_error {
    background-color: #FEE;
    border: solid 1px #F00;
    padding: 10px;
    display: none;
}

div#mfp_error p {
    padding: 0px;
    margin: 0px;
    font-size: 1.6rem;
    text-align: center;
}

div#mfp_error p strong {
    font-size: 1.6rem;
    color: #F00;
}

div#mfp_warning {
    background-color: #FEE;
    border: solid 1px #F00;
    padding: 10px;
    display: none;
    border-radius: 5px;
}

div#mfp_warning p {
    padding: 0px;
    margin: 0px;
    font-size: 1.6rem;
    text-align: center;
}

div#mfp_warning p strong {
    font-size: 1.6rem;
    color: #F00;
}

.mfp_colored {
    background-color: #FFF0; /*　入力欄 外枠偶数　*/
}

.mfp_achroma {
	background-color: #FFF0; /*　入力欄 外枠全体　*/
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button,
button.mfp_next,
button.mfp_prev {
    width: 240px;
    height: 80px;
    border-radius: 40px;
    padding: 0;
    border: none;
    color: #FFF;
    background: #9CC715;
    text-shadow: none;
    font-size: 1.8rem;
    cursor: pointer;
    outline: none;
}

.mfp_element_submit:hover,
.mfp_element_reset:hover,
.mfp_element_button:hover,
button.mfp_next:hover,
button.mfp_prev:hover {
    background: #BEDE5A;
    box-shadow: none;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password {
    background: #FFF; /*　入力欄PC　*/
    border: 2px solid #F6FCE4; /* 枠線 */
    border-radius: 3px;
    box-shadow: none;
    padding: 16px 8px;
    margin: 2px;
    vertical-align: middle;
}

/*--- mfp/mfp.statics/example.css カスタマイズ ---*/
.mfp_rows input[type="text"],
.mfp_rows input[type="email"],
.mfp_rows input[type="tel"],
.mfp_rows input[type="number"],
.mfp_rows input[type="date"],
.mfp_rows input[type="file"],
.mfp_rows select,
.mfp_rows button,
form#mailformpro .mfp_rows label {
    width: 100%;
    min-width: 100%;
    word-break: break-all;
    white-space: normal;
    font-size: 1.8rem;
}

.mfp_rows textarea {
    width: 100%;
    min-width: 100%;
    font-size: 1.8rem;
}

.mfp_rows .mfp_col1,
.mfp_rows .mfp_col2,
.mfp_rows .mfp_col3,
.mfp_rows .mfp_col4,
.mfp_rows .mfp_col5,
.mfp_rows .mfp_col6,
.mfp_rows .mfp_col7,
.mfp_rows .mfp_col8,
.mfp_rows .mfp_col9,
.mfp_rows .mfp_col10 {
    float: left;
    padding: 0;
}

div#example_selector span {
    font-size: 14px;
    color: #666;
}

@media screen and (max-width: 768px) {
    /*--- mfp/mfp.statics/mailformpro.css カスタマイズ ---*/
    form#mailformpro {
        padding: 10px 0px;
    }

    form#mailformpro dl dt {
        float: none;
        width: 100%;
        clear: both;
        font-size: 1.5rem;
        padding: 20px 0 0;
        text-align: left;
        border-top: none;
        margin: 0px;
    }

    form#mailformpro dl dd {
        border-top: none;
        margin: 0px;
        padding: 0 0 20px;
        font-size: 1.5rem;
        line-height: 1.0em;
        text-align: left;
    }

    .must {
        display: inline-block;
        background-color: #FF9300;
        border: none;
        text-shadow: none;
        padding: 2px 5px;
        font-size: 12px;
        color: #FFF;
        float: none;
        margin: 5px 5px;
        border-radius: 20px;
        box-shadow: 0px 0px 0px #CCC0;
        background-image: none;
        background-size: 100% 100%;
    }

    form#mailformpro label {
        border-radius: 3px;
        margin: 3px;
        display: inline-block;
        white-space: nowrap;
    }

    form#mailformpro label.mfp_checked {
        padding: 17px 10px;
        border: 2px solid #F6FCE4; /* 枠線 */
        background-color: #FFF; /* チェック入力欄SP */
        box-shadow: 0px 1px 3px #CCC inset;
    }

    form#mailformpro label.mfp_not_checked {
        padding: 17px 10px;
        border: 2px solid #F6FCE4; /* 枠線 */
        background-color: #FFF; /* チェック入力欄SP */
    }

    div.mfp_err {
        clear: both;
        display: none;
        text-align: left;
        margin: 5px 0px 0px 0px;
        padding: 3px 0px 5px 17px;
        color: #F00;
        font-size: 1.4rem;
        line-height: normal;
        background-image: url(_images/mfp_error.gif);
        background-repeat: no-repeat;
        background-position: 0px 1px;
    }

    .mfp_parent_error {
        border: solid 2px #F00;
    }

    .problem {
        background-color: #FCC;
    }

    div#mfp_error {
        background-color: #FEE;
        border: solid 1px #F00;
        padding: 10px;
        display: none;
    }

    div#mfp_error p {
        padding: 0px;
        margin: 0px;
        font-size: 1.4rem;
        text-align: center;
    }

    div#mfp_error p strong {
        font-size: 1.4rem;
        color: #F00;
    }

    div#mfp_warning {
        background-color: #FEE;
        border: solid 1px #F00;
        padding: 10px;
        display: none;
        border-radius: 5px;
    }

    div#mfp_warning p {
        padding: 0px;
        margin: 0px;
        font-size: 1.4rem;
        text-align: center;
    }

    div#mfp_warning p strong {
        font-size: 1.4rem;
        color: #F00;
    }

    .mfp_colored {
        background-color: #FFF0;
    }

    .mfp_element_submit,
    .mfp_element_reset,
    .mfp_element_button,
    button.mfp_next,
    button.mfp_prev {
        width: 240px;
        height: 80px;
        border-radius: 40px;
        padding: 0;
        border: none;
        color: #FFF;
        background: #9CC715;
        text-shadow: none;
        font-size: 1.5rem;
        cursor: pointer;
        outline: none;
    }

    .mfp_element_submit:hover,
    .mfp_element_reset:hover,
    .mfp_element_button:hover,
    button.mfp_next:hover,
    button.mfp_prev:hover {
        background: #BEDE5A;
        box-shadow: none;
    }

    .mfp_element_text,
    .mfp_element_number,
    .mfp_element_select-one,
    .mfp_element_email,
    .mfp_element_tel,
    .mfp_element_textarea,
    .mfp_element_date,
    .mfp_element_password {
        background: #FFF; /* 入力欄SP */
        border: 2px solid #F6FCE4; /* 枠線 */
        border-radius: 3px;
        box-shadow: none;
        padding: 16px 8px;
        margin: 2px;
        vertical-align: middle;
    }

    /*--- mfp/mfp.statics/example.css カスタマイズ ---*/
    .mfp_rows input[type="text"],
    .mfp_rows input[type="email"],
    .mfp_rows input[type="tel"],
    .mfp_rows input[type="number"],
    .mfp_rows input[type="date"],
    .mfp_rows input[type="file"],
    .mfp_rows select,
    .mfp_rows button,
    form#mailformpro .mfp_rows label {
        width: 100%;
        min-width: 100%;
        word-break: break-all;
        white-space: normal;
        font-size: 1.5rem;
    }

    .mfp_rows textarea {
        width: 100%;
        min-width: 100%;
        font-size: 1.56rem;
    }

    .mfp_rows .mfp_col1,
    .mfp_rows .mfp_col2,
    .mfp_rows .mfp_col3,
    .mfp_rows .mfp_col4,
    .mfp_rows .mfp_col5,
    .mfp_rows .mfp_col6,
    .mfp_rows .mfp_col7,
    .mfp_rows .mfp_col8,
    .mfp_rows .mfp_col9,
    .mfp_rows .mfp_col10 {
        float: left;
        padding: 0;
    }

    div#example_selector span {
        font-size: 14px;
        color: #666;
    }
}




/* slick-theme.css のカスタマイズ */
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.slick-prev {
    left: -16px;
}

.slick-next {
    right: -16px;
}

/* slickデフォルトの矢印
.slick-prev:before,
.slick-next:before {
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev:before {
    content: '←';
}

.slick-next:before {
    content: '→';
}
slickデフォルトの矢印 */

/* slick矢印カスタマイズ */
.slick-prev:before,
.slick-next:before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.slick-prev:before {
    transform: rotate(-135deg);
}

.slick-next:before {
    transform: rotate(45deg);
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: transparent;
    outline: none;
    background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: 0.25;
}




/*--- End ---*/
