@charset "utf-8";
/* CSS Document */
/*
Theme Name: デイサービス浜風 2025
Theme URI: https://day-hamakazee.com
Description: デイサービス浜風のテーマです。
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: #505050;
    background: #fff;
    background-blend-mode: normal;
    font-size: 1.8rem;
    /* 18px */
    line-height: 1.4em;
    position: relative;
    font-family: "M PLUS Rounded 1c", YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 500;
}

.bg_icegreen {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
}

/* Google-Fonts */
.m-plus-rounded-1c-regular {
    font-family: "M PLUS Rounded 1c", serif;
    font-weight: 400;
    font-style: normal;
}

.m-plus-rounded-1c-medium {
    font-family: "M PLUS Rounded 1c", serif;
    font-weight: 500;
    font-style: normal;
}

.m-plus-rounded-1c-bold {
    font-family: "M PLUS Rounded 1c", serif;
    font-weight: 700;
    font-style: normal;
}


/*--- 共通css ---*/

* {
    box-sizing: border-box;
}

.clear {
    clear: left;
}

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

img {
    vertical-align: bottom;
}

a {
    color: #333;
    text-decoration: none;
    transition: all 0.5s;
}

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 {
    position: relative;
    width: 100%;
}

.container1200 {
    position: relative;
    width: 85%;
    max-width: 1200px;
    margin: 0 auto;
}

.container1080 {
    position: relative;
    width: 85%;
    max-width: 1080px;
    margin: 0 auto;
}

.container720 {
    position: relative;
    width: 85%;
    max-width: 720px;
    margin: 0 auto;
}

.margin_wrap {
    margin: 240px auto 160px;
}

.center {
    text-align: center;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}



/* 色管理 */
.txt_green {
    color: #1EA21E;
}

.txt_fleshgreen {
    color: #76C94B;
}

.txt_skyblue {
    color: #0099DB;
}

.bg_green {
    color: #fff;
    background: #1EA21E;
}

.bg_fleshgreen {
    color: #fff;
    background: #76C94B;
}

.bg_skyblue {
    color: #fff;
    background: #0099DB;
}

.bg_icegreen {
    background: #DFF7CE;
}

.bg_lightgreen {
    background: #F4FCEF;
}

.bg_ivory {
    background: #F8F3E4;
}



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

.pc_none {
    display: none;
}

/*--- ヘッダー ---*/
header {
    background: rgba(255, 255, 255, 0.9);
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
}

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

.header_logo a {
    color: #1EA21E;
    display: flex;
    margin-left: 32px;
}

.header_logo a p:nth-child(1) {
    font-size: 2.5rem;
    font-weight: 700;
    margin-right: 0.2em;
}

.header_logo a p:nth-child(2) {
    font-size: 3.5rem;
    font-weight: 700;
}

/*-- ノートPC表示CSS - W1440 --*/
@media screen and (max-width: 1440px) {
    /*--- ヘッダー ---*/
    .header_inner {
        height: 80px;
    }

    .header_logo a {
        color: #1EA21E;
        display: flex;
        margin-left: 32px;
    }

    .header_logo a p:nth-child(1) {
        font-size: 2.0rem;
        margin-right: 0.2em;
    }

    .header_logo a p:nth-child(2) {
        font-size: 3.0rem;
        font-weight: 700;
    }
}



/*--- グローバルナビ ---*/
#global_navi_wrap {
    display: flex;
    flex-flow: row nowrap;
    border-bottom-left-radius: 30px;
    padding-left: 30px;
    background: #fff;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
}

.global_navi {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.global_navi li {
    position: relative;
    width: 72px;
    margin: 0 18px;
    padding: 0 0 1.0em;
    font-size: 1.4rem;
    font-weight: 400;
    text-align: center;
}

.global_navi li a::before {
    position: absolute;
    top: -46px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 65px;
    height: 50px;
    transition: all 0.5s;
}

.global_navi li a:hover {
    color: #1EA21E;
}

/* グローバルナビ　アイコン */
.global_navi li:nth-child(1) a::before {
    background: url(images/icon_feature.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(2) a::before {
    background: url(images/icon_service.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(3) a::before {
    background: url(images/icon_price.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(4) a::before {
    background: url(images/icon_event.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(5) a::before {
    background: url(images/icon_blog.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(6) a::before {
    background: url(images/icon_recruit.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(7) a::before {
    background: url(images/icon_company.png) no-repeat 50% 50% / cover;
}

/* グローバルナビ　アイコン（ホバー時） */
.global_navi li:nth-child(1) a:hover::before {
    background: url(images/icon_feature_grn.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(2) a:hover::before {
    background: url(images/icon_service_grn.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(3) a:hover::before {
    background: url(images/icon_price_grn.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(4) a:hover::before {
    background: url(images/icon_event_grn.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(5) a:hover::before {
    background: url(images/icon_blog_grn.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(6) a:hover::before {
    background: url(images/icon_recruit_grn.png) no-repeat 50% 50% / cover;
}

.global_navi li:nth-child(7) a:hover::before {
    background: url(images/icon_company_grn.png) no-repeat 50% 50% / cover;
}

.header_contact_wrap {
    height: 120px;
    text-align: center;
}

.header_contact {
    display: flex;
}

.btn_header_phone,
.btn_header_mail {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 100px;
    padding: 10px 0 0;
}

.btn_header_phone {
    background: #76C94B;
    width: 260px;
    text-align: center;
}

.btn_header_phone::before {
    position: absolute;
    top: 27px;
    left: 10px;
    content: "";
    width: 30px;
    height: 30px;
    background: url(images/icon_phone.png) no-repeat 50% 50% / cover;
}

.btn_header_phone p:nth-child(1) {
    font-size: 2.8rem;
    margin-left: 1.0em;
}

.btn_header_phone p:nth-child(2) {
    font-size: 1.6rem;
}

.btn_header_mail {
    background: #1EA21E;
    width: 100px;
    text-align: center;
}

.btn_header_mail::before {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 45px;
    height: 45px;
    background: url(images/icon_mail.png) no-repeat 50% 50% / cover;
}

.btn_header_mail p:nth-child(1) {
    font-size: 2.8rem;
}

.btn_header_mail p:nth-child(2) {
    font-size: 1.4rem;
    line-height: 1.2em;
}

.btn_header_phone a,
.btn_header_mail a {
    color: #fff;
}

.hamburger,
nav.globalMenuSp {
    display: none;
}

/*-- ノートPC表示CSS - W1440 --*/
@media screen and (max-width: 1440px) {
    /*--- グローバルナビ ---*/
    #global_navi_wrap {
        border-bottom-left-radius: 30px;
        padding-left: 30px;
    }

    .global_navi li {
        width: 72px;
        margin: 0 10px;
        padding: 0 0 0.6em;
        font-size: 1.4rem;
    }

    .global_navi li::before {
        position: absolute;
        top: -35px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 48px;
        height: 37px;
    }

    /* グローバルナビ　アイコン */
    .global_navi li:nth-child(1) a::before {
        background: url(images/icon_feature.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(2) a::before {
        background: url(images/icon_service.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(3) a::before {
        background: url(images/icon_price.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(4) a::before {
        background: url(images/icon_event.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(5) a::before {
        background: url(images/icon_blog.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(6) a::before {
        background: url(images/icon_recruit.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(7) a::before {
        background: url(images/icon_company.png) no-repeat 50% 50% / cover;
    }

    /* グローバルナビ　アイコン（ホバー時） */
    .global_navi li:nth-child(1) a:hover::before {
        background: url(images/icon_feature_grn.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(2) a:hover::before {
        background: url(images/icon_service_grn.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(3) a:hover::before {
        background: url(images/icon_price_grn.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(4) a:hover::before {
        background: url(images/icon_event_grn.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(5) a:hover::before {
        background: url(images/icon_blog_grn.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(6) a:hover::before {
        background: url(images/icon_recruit_grn.png) no-repeat 50% 50% / cover;
    }

    .global_navi li:nth-child(7) a:hover::before {
        background: url(images/icon_company_grn.png) no-repeat 50% 50% / cover;
    }

    .header_contact_wrap {
        height: 80px;
        text-align: center;
    }

    .header_contact {
        display: flex;
    }

    .btn_header_phone,
    .btn_header_mail {
        width: 300px;
        height: 80px;
        padding: 10px 0 0;
    }

    .btn_header_phone {
        width: 220px;
    }

    .btn_header_phone::before {
        position: absolute;
        top: 16px;
        left: 8px;
        content: "";
        width: 30px;
        height: 30px;
        background: url(images/icon_phone.png) no-repeat 50% 50% / cover;
    }

    .btn_header_phone p:nth-child(1) {
        font-size: 2.4rem;
        margin-left: 1.2em;
    }

    .btn_header_phone p:nth-child(2) {
        font-size: 1.4rem;
        margin-left: 1.0em;
    }

    .btn_header_mail {
        width: 80px;
    }

    .btn_header_mail::before {
        position: absolute;
        top: 6px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 40px;
        height: 40px;
        background: url(images/icon_mail.png) no-repeat 50% 50% / cover;
    }

    .btn_header_mail p:nth-child(1) {
        font-size: 2.0rem;
    }

    .btn_header_mail p:nth-child(2) {
        font-size: 1.0rem;
        line-height: 1.2em;
    }

    .btn_header_phone a,
    .btn_header_mail a {
        color: #fff;
    }
}

/*-- タブレット表示CSS - W1024 --*/
@media screen and (max-width: 1024px) {
    body {
        color: #505050;
        background: #fff;
        font-size: 1.6rem;
        /* 16px */
        line-height: 1.4em;
    }

    body::before {
        background: url(images/bg_sp.png) no-repeat center;
        /* 画像（ここにfixedは入れない） */
        background-size: cover;
        /* cover指定できる */
        content: "";
        display: block;
        position: fixed;
        /* 擬似要素ごと固定 */
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        /* 横幅いっぱい */
        height: 100vh;
        /* 縦幅いっぱい */
    }

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

    .pc_none {
        display: block;
    }

    /*--- 共通css ---*/
    a.anchor {
        display: block;
        padding-top: 0;
        margin-top: 0;
    }

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

    .container1000 {
        width: 90%;
        margin: 0 auto;
    }

    .margin160 {
        margin: 60px 0;
    }

    .container880 {
        background: #fff;
        width: 90%;
        padding: 40px 10px;
        margin: 0 auto;
    }

    /*--- ヘッダー ---*/
    .header_inner {
        width: 100%;
        height: 64px;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center;
    }

    .header_logo a {
        margin-left: 15px;
    }

    .header_logo a p:nth-child(1) {
        font-size: 1.8rem;
    }

    .header_logo a p:nth-child(2) {
        font-size: 2.4rem;
    }

    /*--- グローバルナビ ---*/
    #global_navi_wrap {
        display: none;
    }


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

    .hamburger span {
        display: block;
        position: absolute;
        width: 36px;
        height: 2px;
        left: 5px;
        background: #1EA21E;
        -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(-145deg);
        -moz-transform: rotate(-145deg);
        transform: rotate(-145deg);
    }

    .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(145deg);
        -moz-transform: rotate(145deg);
        transform: rotate(145deg);
    }

    nav.globalMenuSp {
        position: fixed;
        z-index: 90;
        top: 0;
        left: 0;
        color: #fff;
        background: #76C94B;
        transform: translateY(-100%);
        transition: all 0.6s;
        width: 100%;
        height: 100%;
        display: block;
    }

    nav.globalMenuSp .gmsp_logo a {
        color: #fff;
        display: flex;
        padding: 15px 0 0 20px;
    }

    nav.globalMenuSp .gmsp_logo a p:nth-child(1) {
        font-size: 1.8rem;
    }

    nav.globalMenuSp .gmsp_logo a p:nth-child(2) {
        font-size: 2.4rem;
    }

    nav.globalMenuSp .gmsp_header {
        position: relative;
        font-size: 2.4rem;
        width: 30%;
        margin: 15px auto 10px;
        text-align: center;
    }

    nav.globalMenuSp .gmsp_header::before {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: -90%;
        content: "";
        width: 100%;
        height: 1px;
        border-top: 4px dotted #fff;
    }

    nav.globalMenuSp .gmsp_header::after {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -90%;
        content: "";
        width: 100%;
        height: 1px;
        border-top: 4px dotted #fff;
    }

    nav.globalMenuSp ul {
        width: 250px;
        margin: 0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        align-items: center;
    }

    nav.globalMenuSp ul li a {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        background: #fff;
        width: 100px;
        height: 100px;
        border-radius: 30px;
        font-size: 1.4rem;
        padding-bottom: 0.8em;
        margin-bottom: 20px;
    }

    nav.globalMenuSp ul li a::before {
        position: absolute;
        top: 12px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 65px;
        height: 50px;
    }

    nav.globalMenuSp ul li:nth-child(1) a:before {
        background: url(images/icon_feature_gmsp.png) no-repeat 50% 50% / cover;
    }

    nav.globalMenuSp ul li:nth-child(2) a:before {
        background: url(images/icon_service_gmsp.png) no-repeat 50% 50% / cover;
    }

    nav.globalMenuSp ul li:nth-child(3) a:before {
        background: url(images/icon_price_gmsp.png) no-repeat 50% 50% / cover;
    }

    nav.globalMenuSp ul li:nth-child(4) a:before {
        background: url(images/icon_event_gmsp.png) no-repeat 50% 50% / cover;
    }

    nav.globalMenuSp ul li:nth-child(5) a:before {
        background: url(images/icon_blog_gmsp.png) no-repeat 50% 50% / cover;
    }

    nav.globalMenuSp ul li:nth-child(6) a:before {
        background: url(images/icon_recruit_gmsp.png) no-repeat 50% 50% / cover;
    }

    nav.globalMenuSp ul li:nth-child(7) a:before {
        background: url(images/icon_company_gmsp.png) no-repeat 50% 50% / cover;
    }

    nav.globalMenuSp ul li:nth-child(8) a:before {
        background: url(images/icon_contact_gmsp.png) no-repeat 50% 50% / cover;
    }

    nav.globalMenuSp ul li p:nth-child(2n-1) {
        list-style-type: none;
        text-align: center;
        width: 100%;
        color: #fff;
        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 .btn_gmsp_wrap {
        display: flex;
        flex-direction: column;
        margin: 5px 0 0;
    }

    nav.globalMenuSp .btn_gmsp {
        position: relative;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        line-height: 1.2em;
    }

    nav.globalMenuSp .btn_gmsp a::before {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 24px;
        content: "";
        width: 45px;
        height: 45px;
        background: url(images/icon_phone_gmsp.png) no-repeat 50% 50% / cover;
    }

    nav.globalMenuSp .btn_gmsp a {
        background: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: center;
        width: 250px;
        height: 64px;
        border-radius: 32px;
    }

    nav.globalMenuSp .btn_gmsp a p:nth-child(1) {
        padding-left: 2.4em;
    }

    nav.globalMenuSp .btn_gmsp a p:nth-child(2) {
    }

    /* このクラスを、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: #76C94B;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    padding: 1.4em 0 0;
    bottom: 100px;
    right: 10%;
    box-shadow: 0 4px 4px #33333380;
}

#page_top:hover {
    box-shadow: 0 0 4px #fff;
}

#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);
    /* くの字の向き */
}



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

.footer_wrap {
    max-width: 1200px;
    width: 85%;
    margin: 0 auto;
    padding: 0 0 100px;
}

.footer_logo {
    padding: 100px 0 1.0em;
    border-bottom: 1px solid #1EA21E;
}

.footer_logo a {
    color: #1EA21E;
    display: flex;
}

.footer_logo a p:nth-child(1) {
    font-size: 2.5rem;
    font-weight: 700;
    margin-right: 0.2em;
}

.footer_logo a p:nth-child(2) {
    font-size: 3.5rem;
    font-weight: 700;
}

.footer_information {
    display: flex;
    flex-flow: row nowrap;
}

.footer_information_inner {
    width: 50%;
    margin: 20px 0 60px;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
}

.footer_gmap_set {
    display: flex;
}

.footer_address,
.footer_info {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.4em;
    margin: 0 2.0em 0 0;
}

.btn_gmap_wrap {
    position: relative;
    font-size: 1.4rem;
}

.btn_gmap {
    position: relative;
    color: #fff;
    background: #1EA21E;
    padding: 0.2em 2.0em 0.2em 1.0em;
    border-radius: 1.0em;
}

.btn_gmap::before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    content: "";
    width: 15px;
    height: 15px;
    background: url(images/icon_map.png) no-repeat 50% 50% / cover;
}

.footer_info_set {
    margin: 30px 0;
}

.footer_info_header {
    padding: 0 0 0.25em;
    border-bottom: 1px solid #1EA21E;
    margin: 0 0 0.3em;
}

.btn_ft_phone,
.btn_ft_mail {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    margin: 20px auto;
    width: 350px;
    height: 100px;
    border-radius: 50px;
}

.btn_ft_phone a,
.btn_ft_mail a {
    position: relative;
    color: #fff;
    display: flex;
    flex-flow: column;
    justify-content: center;
    width: 350px;
    height: 100px;
    border-radius: 50px;
    text-align: center;
}

.btn_ft_phone a::before {
    position: absolute;
    top: 16px;
    left: 50px;
    content: "";
    width: 40px;
    height: 40px;
    background: url(images/icon_phone.png) no-repeat 50% 50% / cover;
}

.btn_ft_phone a p:nth-child(1) {
    font-size: 2.8rem;
    padding-left: 1.5em;
}

.btn_ft_phone a p:nth-child(2) {
    font-size: 1.6rem;
    padding-left: 2.5em;
}

.btn_ft_mail a p {
    font-size: 2.0rem;
    padding-left: 1.5em;
}

.btn_ft_mail a::before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 48px;
    content: "";
    width: 40px;
    height: 40px;
    background: url(images/icon_mail.png) no-repeat 50% 50% / cover;
}

.footer_menu_wrap {

}

.footer_menu {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #1EA21E;
    border-bottom: 1px solid #1EA21E;
    padding: 20px 0;
}

.footer_menu li {
    width: calc(1200px / 7);
    height: 80px;
    font-size: 2.0rem;
    border-right: 1px solid #1EA21E;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
}

.footer_menu li:nth-last-child(1) {
    border-right: none;
}

.footer_menu li a {
    color: #1EA21E;
}

.copyright {
    color: #fff;
    background: #1EA21E;
    width: 100vw;
    height: 72px;
    font-size: 1.2rem;
    line-height: 72px;
    text-align: center;
}

.footer_spbtn {
    display: none;
}

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

    .footer_wrap {
        margin: 0 auto;
    }

    .footer_logo {
        padding: 60px 0 1.0em;
        border-bottom: 1px solid #1EA21E;
    }

    .footer_logo a {
        color: #1EA21E;
        display: flex;
    }

    .footer_logo a p:nth-child(1) {
        font-size: 1.8rem;
        margin-right: 0.2em;
    }

    .footer_logo a p:nth-child(2) {
        font-size: 2.4rem;
    }

    .footer_information {
        display: flex;
        flex-flow: column nowrap;
    }

    .footer_information_inner {
        width: 100%;
        margin: 10px 0 20px;
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
    }

    .footer_gmap_set {
        display: flex;
        flex-flow: column nowrap;
        margin: 0 0 10px;
    }

    .footer_address,
    .footer_info {
        font-size: 1.6rem;
        font-weight: 400;
        line-height: 1.4em;
        margin: 0 0 0.5em;
    }

    .btn_gmap_wrap {
        position: relative;
        font-size: 1.4rem;
    }

    .btn_gmap {
        position: relative;
        color: #fff;
        background: #1EA21E;
        padding: 0.2em 2.0em 0.2em 1.0em;
        border-radius: 1.0em;
    }

    .btn_gmap::before {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 10px;
        content: "";
        width: 15px;
        height: 15px;
        background: url(images/icon_map.png) no-repeat 50% 50% / cover;
    }

    .footer_info_set {
        margin: 5px 0;
    }

    .footer_info_header {
        padding: 0 0 0.25em;
        border-bottom: 1px solid #1EA21E;
        margin: 0 0 0.3em;
    }

    .btn_ft_phone,
    .btn_ft_mail {
        display: flex;
        flex-flow: column;
        justify-content: center;
        margin: 20px auto;
        width: 320px;
        height: 100px;
        border-radius: 50px;
    }

    .btn_ft_phone a,
    .btn_ft_mail a {
        position: relative;
        color: #fff;
        display: flex;
        flex-flow: column;
        justify-content: center;
        width: 320px;
        height: 100px;
        border-radius: 50px;
        text-align: center;
    }

    .btn_ft_phone a::before {
        position: absolute;
        top: 14px;
        left: 38px;
        content: "";
        width: 40px;
        height: 40px;
        background: url(images/icon_phone.png) no-repeat 50% 50% / cover;
    }

    .btn_ft_phone a p:nth-child(1) {
        font-size: 2.8rem;
        padding-left: 1.5em;
    }

    .btn_ft_phone a p:nth-child(2) {
        font-size: 1.6rem;
        padding-left: 2.5em;
    }

    .btn_ft_mail a p {
        font-size: 2.0rem;
        padding-left: 1.5em;
    }

    .btn_ft_mail a::before {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 32px;
        content: "";
        width: 40px;
        height: 40px;
        background: url(images/icon_mail.png) no-repeat 50% 50% / cover;
    }

    .footer_menu_wrap {

    }

    .footer_menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-top: 1px solid #1EA21E;
        border-bottom: 1px solid #1EA21E;
        padding: 20px 20px;
    }

    .footer_menu li {
        width: 50%;
        height: 40px;
        font-size: 1.6rem;
        border-right: none;
        display: flex;
        flex-flow: row nowrap;
        justify-content: flex-start;
        align-items: center;
    }

    .footer_menu li:nth-last-child(1) {
        border-right: none;
    }

    .copyright {
        height: 50px;
        font-size: 1.2rem;
        line-height: 50px;
    }
}

@media screen and (max-width: 768px) {
    .footer_spbtn {
        width: 100vw;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 20;
        display: flex;
        align-items: center;
    }

    .footer_spbtn div {
        position: relative;
        width: 50%;
        height: 45px;
    }

    .footer_spbtn div a {
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
    }

    .footer_spbtn div:nth-child(1) a::before {
        content: "";
        width: 24px;
        height: 24px;
        background: url(images/icon_phone.png) no-repeat 50% 50% / cover;
    }

    .footer_spbtn div:nth-child(2) a::before {
        content: "";
        width: 24px;
        height: 24px;
        background: url(images/icon_mail.png) no-repeat 50% 50% / cover;
    }
}



/*--- コンテンツ ---*/
#mv_area {
    position: relative;
    z-index: 1;
    width: 100vw;
    height: 700px;
    padding: 160px 0;
}

@media screen and (min-width: 1921px) {
    #mv_area {
        height: 700px;
        padding: 160px 0 700px;
    }
}

.catch_copy {
    position: absolute;
    top: 38%;
    right: 0;
    z-index: 2;
    width: 85%;
    margin: 0 auto;
}

.catch_copy p:nth-child(1) {
    font-size: 4.0rem;
    font-weight: 500;
    line-height: 1.6em;
    letter-spacing: 0.1em;
    margin: 0 0 1.0em;
}

.catch_copy p:nth-child(2) {
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 2.4em;
}

.main_visual {
    position: absolute;
    top: 160px;
    right: 0;
    width: 52%;
    height: auto;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    background: #eee;
    overflow: hidden;
}

.main_visual img {
    width: 100%;
    height: 100%;
    aspect-ratio: 650 / 700;
}

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

    .catch_copy {
        position: relative;
        top: 120px;
        right: 0;
        z-index: 2;
        width: 75%;
        margin: 0 auto;
    }

    .catch_copy p:nth-child(1) {
        font-size: 2.4rem;
        font-weight: 500;
        line-height: 1.6em;
        letter-spacing: 0.1em;
        margin: 0 0 1.0em;
    }

    .catch_copy p:nth-child(2) {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.8em;
    }

    .main_visual {
        position: absolute;
        top: 100px;
        right: 0;
        width: 56%;
        height: auto;
        border-top-left-radius: 40px;
        border-bottom-left-radius: 40px;
        background: #eee;
        overflow: hidden;
    }

    .main_visual img {
        width: 100%;
        height: 100%;
        aspect-ratio: 429 / 462;
    }
}

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

    .catch_copy {
        position: relative;
        top: 80px;
        left: 0;
        z-index: 2;
        width: 85%;
        margin: 0 auto;
    }

    .catch_copy p:nth-child(1) {
        font-size: 2.4rem;
        font-weight: 500;
        line-height: 1.6em;
        letter-spacing: 0.1em;
        margin: 0 0 1.0em;
    }

    .catch_copy p:nth-child(2) {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.8em;
    }

    .main_visual {
        position: absolute;
        top: 100px;
        right: 0;
        width: 56%;
        height: auto;
        border-top-left-radius: 40px;
        border-bottom-left-radius: 40px;
        background: #eee;
        overflow: hidden;
    }
}

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

    .catch_copy {
        position: relative;
        top: 440px;
        left: 0;
        z-index: 2;
        width: 70%;
        margin: 0 auto;
    }

    .catch_copy p:nth-child(1) {
        font-size: 2.4rem;
        font-weight: 500;
        line-height: 1.6em;
        letter-spacing: 0.1em;
        margin: 0 0 1.0em;
    }

    .catch_copy p:nth-child(2) {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.8em;
    }

    .main_visual {
        position: absolute;
        top: 80px;
        right: 0;
        width: 90%;
        height: auto;
        border-top-left-radius: 40px;
        border-bottom-left-radius: 40px;
        background: #eee;
        overflow: hidden;
    }
}


/*--- 空き状況エリア ---*/
#top_booking_area {
    width: 640px;
    margin: 0 auto;
    padding: 300px 0 100px;
}

.top_booking_header {
    font-size: 3.5rem;
    font-weight: 700;
    text-align: center;
    margin: 0 0 1.0em;
}

.last_updated {
    font-size: 1.8rem;
    text-align: right;
}

.booking_list_week {
    display: flex;
    width: 100%;
    margin: 10px 0 0;
    background: #CDF0BD;
}

.booking_list_week li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(640px / 7);
    height: 50px;
    border-top: 1px solid #707070;
    border-left: 1px solid #707070;
    border-bottom: 1px dotted #707070;
}

.booking_list_week li:nth-last-child(1),
.booking_list li:nth-last-child(1) {
    border-right: 1px solid #707070;
}

.booking_list {
    display: flex;
    width: 100%;
    margin: 0 0 10px;
}

.booking_list li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(640px / 7);
    height: 50px;
    border-left: 1px solid #707070;
    border-bottom: 1px solid #707070;
}

.booking_list li img {
    width: 32px;
    height: 32px;
    aspect-ratio: 1 / 1;
}

.booking_list_marks {
    display: flex;
    margin: 0 0 10px;
}

.booking_list_marks li {
    display: flex;
    align-items: center;
    margin-right: 1.5em;
}

.booking_list_marks li img {
    width: 24px;
    height: 24px;
    aspect-ratio: 1 / 1;
}

@media screen and (max-width: 576px) {
    #top_booking_area {
        width: 90%;
        margin: 0 auto;
        padding: 340px 0 100px;
    }

    .top_booking_header {
        font-size: 2.4rem;
        font-weight: 700;
        text-align: center;
        margin: 0 0 1.0em;
    }

    .last_updated {
        font-size: 1.4rem;
        text-align: center;
    }

    .booking_list_marks {
        display: flex;
        margin: 0 0 10px;
    }

    .booking_list_marks li {
        font-size: 1.4rem;
        margin-right: 1.5em;
    }

    .booking_list_marks li img {
        width: 20px;
        height: 20px;
        aspect-ratio: 1 / 1;
    }
}


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

.top_content {
    position: relative;
    width: 80%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 80px 0;
}

.top_content::before {
    position: absolute;
    top: 38%;
    left: 75%;
    content: "";
    width: 50%;
    max-width: 1920px;
    height: 2px;
    border-bottom: 2px dotted #1EA21E;
}

.top_content::after {
    position: absolute;
    top: 75%;
    left: 75%;
    content: "";
    width: 50%;
    max-width: 1920px;
    height: 2px;
    border-bottom: 2px dotted #1EA21E;
}

@media screen and (max-width: 1024px) {
    .top_content::before {
        position: absolute;
        top: 30%;
        left: 75%;
        content: "";
        width: 50%;
        height: 2px;
        border-bottom: 2px dotted #1EA21E;
    }

    .top_content::after {
        position: absolute;
        top: 90%;
        left: 75%;
        content: "";
        width: 50%;
        height: 2px;
        border-bottom: 2px dotted #1EA21E;
    }
}

@media screen and (max-width: 576px) {
    .top_content_wrap {
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
    }
    .top_content {
        position: relative;
        width: 100%;
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        padding: 40px 0;
    }

    .top_content::before {
        position: absolute;
        top: 400px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 85%;
        height: 2px;
        border-bottom: 2px dotted #1EA21E;
    }

    .top_content::after {
        position: absolute;
        top: 660px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 85%;
        height: 2px;
        border-bottom: 2px dotted #1EA21E;
    }
}

.top_content_wrap_rev {
    display: flex;
    flex-flow: row-reverse wrap;
    justify-content: flex-start;
}

.top_content_rev {
    position: relative;
    width: 80%;
    display: flex;
    flex-flow: row-reverse nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 80px 0;
}

.top_content_rev::before {
    position: absolute;
    top: 38%;
    right: 75%;
    content: "";
    width: 50%;
    max-width: 1920px;
    height: 2px;
    border-bottom: 2px dotted #1EA21E;
    overflow: hidden;
}

.top_content_rev::after {
    position: absolute;
    top: 75%;
    right: 75%;
    content: "";
    width: 50%;
    max-width: 1920px;
    height: 2px;
    border-bottom: 2px dotted #1EA21E;
    overflow: hidden;
}

@media screen and (max-width: 1024px) {
    .top_content_rev::before {
        position: absolute;
        top: 30%;
        right: 75%;
        content: "";
        width: 50%;
        height: 2px;
        border-bottom: 2px dotted #1EA21E;
        overflow: hidden;
    }

    .top_content_rev::after {
        position: absolute;
        top: 90%;
        right: 75%;
        content: "";
        width: 50%;
        height: 2px;
        border-bottom: 2px dotted #1EA21E;
        overflow: hidden;
    }
}

@media screen and (max-width: 576px) {
    .top_content_wrap_rev {
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
    }

    .top_content_rev {
        position: relative;
        width: 100%;
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
        align-items: flex-end;
        padding: 40px 0;
    }

    .top_content_rev::before {
        position: absolute;
        top: 400px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 85%;
        height: 2px;
        border-bottom: 2px dotted #1EA21E;
        overflow: hidden;
    }

    .top_content_rev::after {
        position: absolute;
        top: 660px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 85%;
        height: 2px;
        border-bottom: 2px dotted #1EA21E;
        overflow: hidden;
    }
}


.top_content_image {
    width: 70%;
}

.top_content .top_content_image img {
    width: 100%;
    height: 100%;
    border-top-right-radius: 40px;
    border-bottom-right-radius: 40px;
    aspect-ratio: 1110 / 700 ;
}

.top_content_rev .top_content_image img {
    width: 100%;
    height: 100%;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    aspect-ratio: 1110 / 700 ;
}

.top_content_article {
    position: relative;
    width: 25%;
}

.top_content_article::before {
    position: absolute;
    top: -100px;
    left: 120px;
    z-index: -1;
    content: "";
    width: 335px;
    height: 258px;
}

@media screen and (max-width: 1024px) {
    .top_content_article::before {
        position: absolute;
        top: -30px;
        left: 100px;
        z-index: -1;
        content: "";
        width: 160px;
        height: 123px;
    }
}

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

    .top_content .top_content_image img {
        width: 100%;
        height: 100%;
        border-top-right-radius: 40px;
        border-bottom-right-radius: 40px;
        aspect-ratio: 326 / 241 ;
    }

    .top_content_rev .top_content_image img {
        width: 100%;
        height: 100%;
        border-top-left-radius: 40px;
        border-bottom-left-radius: 40px;
        aspect-ratio: 326 / 241 ;
    }

    .top_content_article {
        position: relative;
        width: 30%;
    }

    .top_content_article::before {
        position: absolute;
        top: -100px;
        left: 120px;
        z-index: -1;
        content: "";
        width: 335px;
        height: 258px;
    }
}

@media screen and (max-width: 768px) {
    .top_content_article::before {
        position: absolute;
        top: -20px;
        left: 100px;
        z-index: -1;
        content: "";
        width: 160px;
        height: 123px;
    }
}

@media screen and (max-width: 576px) {
    .top_content_image {
        width: 90%;
    }

    .top_content .top_content_image img {
        aspect-ratio: 326 / 241 ;
    }

    .top_content_rev .top_content_image img {
        aspect-ratio: 326 / 241 ;
    }

    .top_content_article {
        position: relative;
        width: 85%;
        margin: 20px auto;
    }

    .top_content_article::before {
        position: absolute;
        top: -20px;
        left: 180px;
        z-index: -1;
        content: "";
        width: 160px;
        height: 123px;
    }
}

.top_cont_bg_01::before {
    background: url(images/feature_bg_pc@2x.png) no-repeat 50% 50% / cover;
}

.top_cont_bg_02::before {
    background: url(images/service_bg_pc@2x.png) no-repeat 50% 50% / cover;
}

.top_cont_bg_03::before {
    background: url(images/event_bg_pc@2x.png) no-repeat 50% 50% / cover;
}

.top_cont_bg_04::before {
    background: url(images/price_bg_pc@2x.png) no-repeat 50% 50% / cover;
}

.top_content_sub {
    font-size: 2.0rem;
    font-weight: 700;
    margin: 0 0 0.5em;
}

.top_content_header {
    font-size: 3.5rem;
    font-weight: 700;
    margin: 0 0 2.0em;
}

.top_content_summary {
    width: 100%;
    font-weight: 400;
    line-height: 2.0em;
}

@media screen and (max-width: 1024px) {
    .top_content_sub {
        font-size: 2.0rem;
        margin: 0 0 0.5em;
    }

    .top_content_header {
        font-size: 3.0rem;
        margin: 0 0 2.0em;
    }
}

@media screen and (max-width: 576px) {
    .top_content_sub {
        font-size: 1.6rem;
        margin: 0 0 0.5em;
    }

    .top_content_header {
        font-size: 2.4rem;
        margin: 0 0 2.0em;
    }
}

.btn_more {
    width: 100%;
    padding: 60px 90px 30px 0;
    text-align: right;
}

.btn_more a {
    position: relative;
    color: #1EA21E;
    font-size: 1.8rem;
}

.btn_more a::before {
    position: absolute;
    top: -28px;
    right: -90px;
    z-index: 0;
    content: "";
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #DFF7CE;
}

.btn_more a::after {
    position: absolute;
    top: 7px;
    right: -54px;
    z-index: 1;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 3px solid #1EA21E;
    border-right: 3px solid #1EA21E;
    transform: rotate(45deg);
}



/*--- トップページ　ブログスライダー ---*/
.top_blog_container {
    width: 100%;
    padding: 120px 0;
}

.top_blog_wrap {
    background: #fff;
    width: 1200px;
    margin: 120px auto;
    border-radius: 40px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding: 60px 40px;
}

.top_blog_wrap_header {
    width: 200px;
    margin-right: 40px;
}

.top_blog_wrap_slider {
    width: 880px;
}

.slider02 {
    width: 96%;
    margin: 0 auto;
    border: 1px solid #3330;
}

.blog_slider img {
    width: 90%;
    height: 90%;
    aspect-ratio: 1 / 1;
    margin: 0 5%;
    border-radius: 30px;
    object-fit: cover;
    overflow: hidden;
}

.blog_slider p:nth-of-type(1) {
    width: 90%;
    margin: 0 5%;
    font-size: 1.4rem;
    font-weight: 400;
}

.blog_slider p:nth-of-type(2) {
    width: 90%;
    margin: 0 5%;
    font-size: 1.8rem;
    font-weight: 400;
}

.slider03 {
    width: 100vw;
    height: 440px;
}

.slider03 img {
    width: 90%;
    margin: 0 5%;
}

@media screen and (max-width: 1024px) {
    .top_blog_container {
        width: 100%;
        padding: 60px 0;
    }

    .top_blog_wrap {
        background: #fff;
        width: 90%;
        margin: 60px auto;
        border-radius: 40px;
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
        padding: 30px 20px;
    }

    .top_blog_wrap_header {
        width:100%;
        margin-right: 0;
    }

    .top_blog_wrap_slider {
        width: 100%;
    }

    .slider02 {
        width: 96%;
        margin: 20px auto 0;
        border: 1px solid #3330;
    }

    .blog_slider img {
        width: 100%;
        margin: 0;
    }

    .blog_slider p:nth-of-type(1) {
        width: 90%;
        margin: 0 5%;
        font-size: 1.4rem;
        font-weight: 400;
    }

    .blog_slider p:nth-of-type(2) {
        width: 90%;
        margin: 0 5%;
        font-size: 1.8rem;
        font-weight: 400;
    }

    .slider03 {
        width: 100vw;
        height: 320px;
    }

    .slider03 img {
        width: 90%;
        margin: 0 5%;
    }
}

@media screen and (max-width: 768px) {
    .slider03 {
        width: 100vw;
        height: 320px;
    }

    .slider03 img {
        width: 90%;
        margin: 0 5%;
    }
}

@media screen and (max-width: 576px) {
    .top_blog_container {
        width: 100%;
        padding: 60px 0;
    }

    .top_blog_wrap {
        background: #fff;
        width: 90%;
        margin: 60px auto;
        border-radius: 40px;
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
        padding: 30px 20px;
    }

    .top_blog_wrap_header {
        width:100%;
        margin-right: 0;
    }

    .top_blog_wrap_slider {
        width: 100%;
    }

    .slider02 {
        width: 96%;
        margin: 20px auto 0;
        border: 1px solid #3330;
    }

    .blog_slider img {
        width: 100%;
        margin: 0;
    }

    .blog_slider p:nth-of-type(1) {
        width: 90%;
        margin: 0 5%;
        font-size: 1.4rem;
        font-weight: 400;
    }

    .blog_slider p:nth-of-type(2) {
        width: 90%;
        margin: 0 5%;
        font-size: 1.8rem;
        font-weight: 400;
    }

    .slider03 {
        width: 100vw;
        height: 320px;
    }

    .slider03 img {
        width: 90%;
        margin: 0 5%;
    }
}



/*--- トップページ　会社概要エリア ---*/
.top_company_area {
    width: 100%;
    background-image: url(images/hamakaze_pc@2x.png);
    background-color: rgba(243, 252, 237, 0.8);
    background-position: 50% 50%;
    background-size: cover;
    background-blend-mode: lighten;
    padding: 190px 0;
}

.top_company_wrap {
    max-width: 1200px;
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.top_company_summary {
    position: relative;
    width: 500px;
    background: #fff;
    padding: 50px 80px;
    border-radius: 20px;
}

.top_company_summary::before {
    position: absolute;
    top: 30px;
    right: 60px;
    z-index: 1;
    content: "";
    width: 160px;
    height: 123px;
}

.top_cont_bg_05::before {
    background: url(images/recruit_bg_pc@2x.png) no-repeat 50% 50% / cover;
}

.top_cont_bg_06::before {
    background: url(images/company_bg_pc@2x.png) no-repeat 50% 100% / cover;
}

@media screen and (max-width: 1024px) {
    .top_company_wrap {
        max-width: 980px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
    }

    .top_company_summary {
        position: relative;
        width: 400px;
        background: #fff;
        padding: 40px 40px;
        border-radius: 20px;
    }

    .top_company_summary::before {
        position: absolute;
        top: 30px;
        right: 30px;
        z-index: 1;
        content: "";
        width: 120px;
        height: 92px;
    }
}

@media screen and (max-width: 768px) {
    .top_company_area {
        padding: 80px 0;
    }

    .top_company_wrap {
        max-width: 720px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
    }

    .top_company_summary {
        position: relative;
        width: 300px;
        background: #fff;
        padding: 40px 20px;
        border-radius: 20px;
    }

    .top_company_summary::before {
        position: absolute;
        top: 30px;
        right: 10px;
        z-index: 1;
        content: "";
        width: 120px;
        height: 92px;
    }
}

@media screen and (max-width: 576px) {
    .top_company_area {
        width: 100%;
        background-image: url(images/hamakaze_sp@2x.png);
        padding: 40px 0;
    }

    .top_company_wrap {
        width: 85%;
        margin: 0 auto;
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
    }

    .top_company_summary {
        position: relative;
        width: 100%;
        margin: 10px auto;
        background: #fff;
        padding: 30px 20px;
        border-radius: 20px;
    }

    .top_company_summary::before {
        position: absolute;
        top: 40px;
        right: 30px;
        z-index: 1;
        content: "";
        width: 100px;
        height: 77px;
    }

    .top_cont_bg_05::before {
        background: url(images/recruit_bg_pc@2x.png) no-repeat 50% 50% / cover;
    }

    .top_cont_bg_06::before {
        background: url(images/company_bg_pc@2x.png) no-repeat 50% 50% / cover;
    }
}



/*--- 浜風の特徴 ---*/
.header_h2 {
    position: relative;
    color: #1EA21E;
    height: 320px;
    text-align: center;
    padding-top: 180px;
    font-size: 3.0rem;
    font-weight: 700;
}

.header_h2::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 80px;
    height: 80px;
}

.feature_h2::before {
    background: url(images/feature_top_pc@2x.png) no-repeat 50% 50% / contain;
}

@media screen and (max-width: 576px) {
    .header_h2 {
        position: relative;
        color: #1EA21E;
        height: 260px;
        text-align: center;
        padding-top: 180px;
        font-size: 2.0rem;
        font-weight: 700;
    }

    .header_h2::before {
        position: absolute;
        top: 120px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        display: inline-block;
        vertical-align: middle;
        width: 64px;
        height: 64px;
    }
}

.header_h3_wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 100px 0;
}

.header_h3 {
    color: #1EA21E;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.0em;
}

.header_read {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 2.0rem;
    font-weight: 400;
    line-height: 1.8em;
    text-align: center;
}

@media screen and (max-width: 576px) {
    .header_h3_wrap {
        margin: 60px 0;
    }

    .header_h3 {
        font-size: 2.4rem;
    }

    .header_read {
        font-size: 1.8rem;
        line-height: 1.8em;
        text-align: left;
    }
}

.feature_header_no {
    position: relative;
    color: #fff;
    background: #76C94B;
    width: 53px;
    height: 53px;
    border-radius: 50%;
    font-size: 4.0rem;
    font-weight: 700;
    line-height: 53px;
    text-align: center;
    margin: 0 0 20px;
}

.feature_header_no::before {
    position: absolute;
    bottom: -9px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 14px;
    height: 12px;
    background: #76C94B;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.feature_header {
    position: relative;
    color: #008D15;
    font-size: 4.0rem;
    font-weight: 700;
    padding-bottom: 0.3em;
    margin-bottom: 1.0em;
}

.feature_header:before {
    position: absolute;
    top: 1.0em;
    left: 0;
    content: "";
    display: inline-block;
    width: 100%;
    height: 16px;
    border-radius: 8px;background: #EAF7E2;
}

.feature_sub {
    font-size: 3.0rem;
    font-weight: 500;
    padding-bottom: 0.5em;
    border-bottom: 2px dotted #1EA21E;
    margin-bottom: 1.0em;
}

@media screen and (max-width: 576px) {
    .feature_header {
        font-size: 2.4rem;
        font-weight: 700;
        text-align: center;
        line-height: 1.4em;
        padding-bottom: 0.3em;
        margin-bottom: 1.0em;
    }

    .feature_header:before {
        position: absolute;
        top: 3.0em;
        left: 0;
        content: "";
        display: inline-block;
        width: 100%;
        height: 8px;
        border-radius: 8px;background: #EAF7E2;
    }

    .feature_sub {
        font-size: 2.0rem;
        text-align: center;
        padding-bottom: 0.5em;
        border-bottom: 2px dotted #1EA21E;
        margin-bottom: 1.0em;
    }
}

.feature_content_wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
}

.feature_content_left {
    width: 100%;
    max-width: 640px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.feature_content_right {
    width: 100%;
    max-width: 520px;
}

.feature_content {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 2.0rem;
    font-weight: 400;
    line-height: 1.8em;
}

.feature_content_images {
    display: flex;
    justify-content: space-between;
}

.feature_content_images img {
    width: 300px;
    height: 210px;
}

@media screen and (max-width: 576px) {
    .feature_content_wrap {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        margin-bottom: 100px;
    }

    .feature_content {
        font-size: 1.8rem;
        line-height: 1.8em;
        margin-bottom: 1.5em;
    }

    .feature_content_images figure {
        width: 48%;
    }

    .feature_content_images img {
        width: 100%;
        height: auto;
        aspect-ratio: 300 / 210;
        margin-bottom: 20px;
    }

    .feature_content_image_3 img {
        width: 100%;
        height: auto;
        aspect-ratio: 520 / 420;
        margin-bottom: 20px;
    }

    .feature_content_right img {
        width: 100%;
        height: auto;
        aspect-ratio: 520 / 420;
    }
}

.feature_content_conversion {
    color: #1EA21E;
    font-size: 2.4rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.btn_go_contact {
    margin: 30px 0;
}

.btn_go_contact a {
    position: relative;
    color: #1EA21E;
    width: 300px;
    height: 80px;
    border-radius: 40px;
    border: 2px solid #1EA21E;
    font-size: 2.0rem;
    line-height: 80px;
    display: block;
    padding-right: 1.0em;
}

.btn_go_contact a::before {
    position: absolute;
    top: 32px;
    right: 24px;
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 3px solid #1EA21E;
    border-right: 3px solid #1EA21E;
    transform: rotate(45deg);
}

.btn_go_contact a:hover {
    color: #fff;
    background: #1EA21E;
    opacity: 1.0;
}

.btn_go_contact a:hover::before {
    position: absolute;
    top: 32px;
    right: 24px;
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}

@media screen and (max-width: 576px) {
    .feature_content_conversion {
        font-size: 2.0rem;
        line-height: 1.4em;
    }

    .btn_go_contact {
        margin: 30px 0;
    }

    .btn_go_contact a {
        width: 260px;
        height: 60px;
        font-size: 1.8rem;
        line-height: 60px;
    }

    .btn_go_contact a::before {
        top: 23px;
        right: 23px;
        width: 8px;
        height: 8px;
    }

    .btn_go_contact a:hover::before {
        top: 23px;
        right: 23px;
        width: 8px;
        height: 8px;
    }
}



/*--- サービス ---*/
.service_h2::before {
    background: url(images/service_top_pc@2x.png) no-repeat 50% 50% / contain;
}

.service_read {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 2.0rem;
    font-weight: 400;
    line-height: 1.8em;
    text-align: center;
}

@media screen and (max-width: 576px) {
    .header_wrap {
        margin: 60px 0;
    }

    .service_h3 {
        font-size: 2.4rem;
    }

    .service_read {
        font-size: 1.8rem;
        line-height: 1.8em;
        text-align: left;
    }
}

.sevice_list_wrap {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    padding: 100px 0;
}

.service_list {
    width: 320px;
    height: auto;
    margin: 0 20px 40px;
}

.service_caption {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    margin-top: 0.5em;
    text-align: center;
}

.service_more {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 2.0rem;
    font-weight: 400;
    text-align: center;
    margin-top: 40px;
}

@media screen and (max-width: 768px) {
    .service_list_wrap {
        padding: 60px 0;
    }

    .service_list {
        width: 46%;
        height: auto;
        margin: 0  1% 40px;
    }

    .service_list img {
        width: 100%;
        height: auto;
        aspect-ratio: 300 /230;
    }

    .service_caption {
        font-size: 1.6rem;
        margin-top: 0.5em;
        text-align: center;
    }

    .service_more {
        font-size: 1.6rem;
        text-align: left;
    }
}

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

.timetable_point {
    position: relative;
    width: 10%;
}

.timetable_point::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 3px;
    height: 100%;
    background: #76C94B;
}

.timetable_point::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%);
    content: "";
    width: 12px;
    height: 12px;
    background: #fff;
    border: 6px solid #76C94B;
    border-radius: 50%;
}

.timetable_photo,
.timetable_photo_rev {
    width: 90%;
}

.timetable_photo img,
.timetable_photo_rev img {
    width: 100%;
    height: auto;
    aspect-ratio: 566 / 400;
}

.timetable_line,
.timetable_line_last {
    position: relative;
    width: 10%;
    height: auto;
}

.timetable_line::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 3px;
    height: 100%;
    background: #76C94B;
}

.timetable_line_last::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 3px;
    height: 100%;
    background: #76C94B;
}

.timetable_text,
.timetable_text_rev {
    width: 90%;
    padding: 1.0em 0 3.0em;
    align-self: center;
}

.timetable_time {
    color: #008D15;
    font-size: 1.6rem;
    font-weight: 700;
}

.timetable_header {
    font-size: 2.0rem;
    font-weight: 700;
    margin: 0.3em 0 1.0em;
}

.timetable_content {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
    .timetable_wrap {
        display: flex;
        flex-flow: row wrap;
    }

    .timetable_point {
        position: relative;
        width: 8%;
        order: 2;
    }

    .timetable_point::before {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 3px;
        height: 100%;
        background: #76C94B;
    }

    .timetable_point::after {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%);
        content: "";
        width: 14px;
        height: 14px;
        background: #fff;
        border: 8px solid #76C94B;
        border-radius: 50%;
    }

    .timetable_photo {
        width: 46%;
        order: 1;
    }

    .timetable_photo_rev {
        width: 46%;
        order: 3;
    }

    .timetable_photo img,
    .timetable_photo_rev img {
        width: 100%;
        height: auto;
        aspect-ratio: 552 / 342;
    }

    .timetable_line,
    .timetable_line_last {
        position: relative;
        width: 100%;
        height: 50px;
        order: 4;
    }

    .timetable_line::before {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 3px;
        height: 100%;
        background: #76C94B;
    }

    .timetable_line_last::before {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 3px;
        height: 100%;
        background: none;
    }

    .timetable_text {
        width: 46%;
        padding: 1.0em 0;
        order: 3;
    }

    .timetable_text_rev {
        width: 46%;
        padding: 1.0em 0;
        order: 1;
    }

    .timetable_time {
        font-size: 1.8rem;
    }

    .timetable_header {
        font-size: 2.4rem;
    }

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

@media screen and (min-width: 1280px) {
    .timetable_wrap {
        display: flex;
        flex-flow: row wrap;
    }

    .timetable_point {
        position: relative;
        width: 8%;
        order: 2;
    }

    .timetable_point::before {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 3px;
        height: 100%;
        background: #76C94B;
    }

    .timetable_point::after {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%);
        content: "";
        width: 16px;
        height: 16px;
        background: #fff;
        border: 8px solid #76C94B;
        border-radius: 50%;
    }

    .timetable_photo {
        width: 46%;
        order: 1;
    }

    .timetable_photo_rev {
        width: 46%;
        order: 3;
    }

    .timetable_photo img,
    .timetable_photo_rev img {
        width: 100%;
        height: auto;
        aspect-ratio: 552 / 342;
    }

    .timetable_line,
    .timetable_line_last {
        position: relative;
        width: 100%;
        height: 50px;
        order: 4;
    }

    .timetable_line::before {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 3px;
        height: 100%;
        background: #76C94B;
    }

    .timetable_line_last::before {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 3px;
        height: 100%;
        background: none;
    }

    .timetable_text {
        width: 46%;
        padding: 1.0em 0;
        order: 3;
    }

    .timetable_text_rev {
        width: 552px;
        padding: 1.0em 0;
        order: 1;
    }

    .timetable_time {
        font-size: 2.0rem;
    }

    .timetable_header {
        font-size: 3.0rem;
    }

    .timetable_content {
        font-size: 2.0rem;
    }
}

/*--- ご利用までの流れ ---*/
.flow_list_wrap {
    padding: 100px 0;
}

.flow_list {
    position: relative;
    background: #fff;
    border-radius: 40px;
    width: 85%;
    max-width: 1200px;
    padding: 40px 0;
    margin: 0 auto 100px;
}

.flow_list:not(:last-child)::before {
    position: absolute;
    bottom: -65px;
    left: 50%;
    transform: translate(-50%);
    content: "";
    width: 60px;
    height: 26px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #FFCF03;
}

@media screen and (max-width: 576px) {
    .flow_list_wrap {
        padding: 60px 0;
    }

    .flow_list {
        padding: 20px 0;
        margin: 0 auto 60px;
    }

    .flow_list:not(:last-child)::before {
        bottom: -40px;
        width: 40px;
        height: 18px;
    }
}

.flow_header_wrap {
    text-align: center;
}

.flow_header_no {
    color: #fff;
    background: #1EA21E;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    line-height: 60px;
    text-align: center;
    font-size: 3.0rem;
    font-weight: 700;
    display: inline-block;
    vertical-align: middle;
}

.flow_header_h4 {
    color: #1EA21E;
    font-size: 3.0rem;
    font-weight: 700;
    display: inline-block;
    vertical-align: middle;
}

.flow_content {
    width: 90%;
    max-width: 670px;
    margin: 40px auto;
}

.flow_content p {
    font-size: 2.0rem;
    font-weight: 400;
    line-height: 1.5em;
}

.flow_conversion_wrap {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    width: 800px;
    margin: 80px auto 0;
}

.flow_conversion {
    display: flex;
    flex-direction: column;
    width: 90%;
    max-width: 350px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .flow_header_no {
        width: 45px;
        height: 45px;
        line-height: 45px;
        font-size: 2.4rem;
    }

    .flow_header_h4 {
        font-size: 2.0rem;
    }

    .flow_content {
        margin: 20px auto;
    }

    .flow_content p {
        font-size: 1.8rem;
    }

    .flow_conversion_wrap {
        display: flex;
        flex-flow: column nowrap;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        margin: 40px auto 0;
    }

    .flow_conversion {
        margin-bottom: 20px;
    }
}



/*--- ご利用料金 ---*/
.price_h2::before {
    background: url(images/price_top_pc@2x.png) no-repeat 50% 50% / contain;
}

.price_list_wrap {
    padding: 100px 0;
}

.price_header_h4 {
    font-size: 3.0rem;
    font-weight: 700;
    padding-bottom: 0.3em;
    border-bottom: 2px dotted #1EA21E;
    margin-bottom: 1.0em;
}

.price_header_h5 {
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 0.5em;
}

@media screen and (max-width: 576px) {
    .price_list_wrap {
        padding: 40px 0;
    }

    .price_header_h4 {
        font-size: 2.0rem;
        padding-bottom: 0.3em;
        margin-bottom: 1.0em;
        text-align: center;
    }

    .price_header_h5 {
        font-size: 1.8rem;
        margin-bottom: 0.5em;
    }
}

.table_box {
    overflow-x: auto;
    display: block;
}

.table_box table th,
.table_box table td {
    white-space: nowrap;
}

table {
    width: 100%;
    border: 2px solid #DFF7CE;
    margin-bottom: 60px;
}

th, tr, td {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.8rem;
    border: 1px solid #DFF7CE;
    padding: 1.0em;
}

th {
    background: #EAF7E2;
}

th:first-child,
td:first-child {
    width: 30%;
}

td {
    text-align: right;
}

tr:nth-child(2n-1) {
    background: #FBFFF8;
}

@media screen and (max-width: 576px) {
    th, tr, td {
        font-size: 1.4rem;
        padding: 1.0em 0.5em;
    }
}



/*--- イベント ---*/
.event_h2::before {
    background: url(images/event_top_pc@2x.png) no-repeat 50% 50% / contain;
}

.event_content {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 400;
    margin-bottom: 100px;
}



/*--- ブログ ---*/
.blog_h2::before {
    background: url(images/blog_top_pc@2x.png) no-repeat 50% 50% / contain;
}

.blog_list_wrap {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding: 100px 0;
}

.blog_list {
    background: #fff;
    width: 550px;
    padding: 30px 35px;
    border-radius: 20px;
    margin-bottom: 60px;
}

.blog_thumb {
    width: 480px;
    height: 320px;
    margin-bottom: 30px;
}

.blog_thumb img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    object-position: 50% 50%;
    overflow: hidden;
}

.blog_date {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 0.5em;
}

.blog_title {
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 0.5em;
}

.blog_excerpt {
    font-size: 1.6rem;
    font-weight: 400;
}

.read_more {
    color: #1EA21E;
    text-decoration: underline;
}

@media screen and (max-width: 576px) {
    .blog_list_wrap {
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
        padding: 60px 0;
    }

    .blog_list {
        width: 100%;
        padding: 20px;
        border-radius: 20px;
        margin-bottom: 16px;
    }

    .blog_thumb {
        width: 100%;
        height: auto;
        margin-bottom: 20px;
    }

    .blog_thumb img {
        width: 100%;
        height: 100%;
        aspect-ratio: 3 / 2;
        object-fit: cover;
        object-position: 50% 50%;
        overflow: hidden;
    }

    .blog_date {
        font-size: 1.4rem;
        margin-bottom: 0.5em;
    }

    .blog_title {
        font-size: 2.0rem;
        margin-bottom: 0.5em;
    }

    .blog_excerpt {
        font-size: 1.4rem;
        font-weight: 400;
    }
}



/*--- ブログ個別ページ ---*/
.blog_article_wrap {
    margin: 160px 0;
}

.blog_title_wrap {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    border-bottom: 2px dotted #1EA21E;
    margin-bottom: 1.5em;
}

.blog_content {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 400;
    line-height: 1.8em;
    margin-bottom: 100px;
}

@media screen and (max-width: 576px) {
    .blog_article_wrap {
        margin: 100px 0;
    }

    .blog_title_wrap {
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
    }

    .blog_content {
        line-height: 1.8em;
        margin-bottom: 40px;
    }
}


/*--- 採用情報 ---*/
.recruit_h2::before {
    background: url(images/recruit_top_pc@2x.png) no-repeat 50% 50% / contain;
}

.recruit_h4 {
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 0.5em;
}

.recruit_list_wrap {
    padding: 100px 0;
}

.recruit_list_wrap ul {
    margin-bottom: 120px;
}

.recruit_list_wrap ul:nth-last-child(1) {
    margin-bottom: 0;
}

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

.recruit_list li {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.8em;
    padding: 1.5em 1.0em;
    border-bottom: 1px dotted #0099DB;
}

.recruit_list li:nth-child(1),
.recruit_list li:nth-child(2) {
    border-top: 1px dotted #0099DB;
}

.recruit_list li:nth-child(2n-1) {
    background: #E8F8FF;
    width: 20%;
    font-weight: 700;
}

.recruit_list li:nth-child(2n) {
    width: 80%;
}

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

    .recruit_list_wrap {
        padding: 0 0 60px;
    }

    .recruit_list_wrap ul {
        margin-bottom: 60px;
    }

    .recruit_list  {
        display: flex;
        flex-flow: column nowrap;
    }

    .recruit_list li {
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.8em;
        padding: 0.7em 0.5em;
        border-bottom: 1px dotted #0099DB;
    }

    .recruit_list li:nth-child(1) {
        border-top: 1px dotted #0099DB;
    }

    .recruit_list li:nth-child(2) {
        border-top: none;
    }

    .recruit_list li:nth-child(2n-1) {
        background: #E8F8FF;
        width: 100%;
    }

    .recruit_list li:nth-child(2n) {
        width: 100%;
    }
}

.btn_entry a {
    position: relative;
    color: #fff;
    background-color: #0099DB;
    width: 400px;
    height: 100px;
    border-radius: 20px;
    margin: 0 auto 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
}

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

.btn_entry a:hover::before {
    right: 20px;
    transition: all 0.5s;
}

.btn_entry a p:nth-child(2) {
    font-size: 1.8rem;
    font-weight: 400;
    display: inline-block;
    vertical-align: middle;
}

.btn_entry a p:nth-child(2)::after {
    content: "";
    width: 20px;
    height: 20px;
    background: url(images/window_w@2x.png) no-repeat 50% 50% / cover;
    display: inline-block;
    vertical-align: middle;
}

@media screen and (max-width: 576px) {
    .btn_entry a {
        width: 300px;
        height: 80px;
        border-radius: 20px;
        font-size: 2.0rem;
    }

    .btn_entry a::before {
        top: 33px;
        right: 20px;
        width: 10px;
        height: 10px;
    }

    .btn_entry a:hover::before {
        right: 10px;
        transition: all 0.5s;
    }

    .btn_entry a p:nth-child(2) {
        font-size: 1.4rem;
    }

    .btn_entry a p:nth-child(2)::after {
        width: 15px;
        height: 15px;
    }
}



/*--- 会社概要 ---*/
.company_h2::before {
    background: url(images/company_top_pc@2x.png) no-repeat 50% 50% / contain;
}

.company_list_wrap {
    padding: 100px 0;
}

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

.company_list li {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.8em;
    padding: 1.5em 1.0em;
    border-bottom: 1px dotted #76C94B;
}

.company_list li:nth-child(1),
.company_list li:nth-child(2) {
    border-top: 1px dotted #76C94B;
}

.company_list li:nth-child(2n-1) {
    background: #EAF7E2;
    width: 20%;
    font-weight: 700;
}

.company_list li:nth-child(2n) {
    width: 80%;
}

.company_profile_wrap {
    margin-bottom: 100px;
}

@media screen and (max-width: 576px) {
    .company_list_wrap {
        padding: 0 0 60px;
    }

    .company_list  {
        display: flex;
        flex-flow: column nowrap;
    }

    .company_list li {
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.8em;
        padding: 0.7em 0.5em;
        border-bottom: 1px dotted #76C94B;
    }

    .company_list li:nth-child(1) {
        border-top: 1px dotted #76C94B;
    }

    .company_list li:nth-child(2) {
        border-top: none;
    }

    .company_list li:nth-child(2n-1) {
        background: #EAF7E2;
        width: 100%;
    }

    .company_list li:nth-child(2n) {
        width: 100%;
    }
}

.company_h3 {
    font-size: 2.4rem;
    font-weight: 700;
    padding-bottom: 0.5em;
    border-bottom: 1px dotted #1EA21E;
    margin-bottom: 0.5em;
}

.company_profile {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.8em;
}

.minutes_list {
    margin: 10px 0;
}

.minutes_list li {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 0.4em;
}

.minutes_list li a:hover {
    text-decoration: underline dotted;
}

.minutes_list li::before {
    content: "";
    width: 9px;
    height: 16px;
    background: #999;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.25em;
}

.minutes_list li::after {
    content: "";
    width: 20px;
    height: 20px;
    background: url(images/window_b@2x.png) no-repeat 50% 50% / cover;
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.25em;
}

@media screen and (max-width: 576px) {
    .company_h3 {
        font-size: 2.0rem;
        padding-bottom: 0.5em;
        border-bottom: 1px dotted #1EA21E;
        margin-bottom: 0.5em;
    }

    .company_profile {
        font-size: 1.4rem;
    }

    .minutes_list li {
        font-size: 1.4rem;
        line-height: 1.2em;
    }

    .minutes_list li:after {
        width: 15px;
        height: 15px;
    }
}


/*--- お問い合わせ ---*/
.contact_h2::before {
    background: url(images/contact_top_pc@2x.png) no-repeat 50% 50% / contain;
}

.contact_wrap {
    font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 400;
    padding-bottom: 100px;
}































/*--- 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;
    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: #242684;
    border: 1px solid #242684;
}

.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: #fff;
    background: #55b7ff;
    border: 1px solid #55b7ff;
}



/*--- ページネーションズ ---*/
.page_nation {
    display: flex;
    justify-content: space-between;
    margin: 80px 0 0;
    border-top: 2px dotted #1EA21E;
}

.page_nation li {
    margin: 0.5em 0;
    text-align: center;
}

.page_nation a {
    color: #333;
    font-size: 1.8rem;
    font-weight: 500;
    display: block;
}

.page_nation li:first-child a {
    text-align: left;
}

.page_nation li:first-child a::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #1EA21E;
    border-left: 2px solid #1EA21E;
    transform: rotate(-45deg);
}

.page_nation li:last-child a {
    text-align: right;
}

.page_nation li:last-child a:after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #1EA21E;
    border-right: 2px solid #1EA21E;
    transform: rotate(45deg);
}

@media screen and (max-width: 576px) {
    .page_nation a {
        font-size: 1.4rem;
    }

    .page_nation li:first-child a::before,
    .page_nation li:last-child a:after {
        width: 8px;
        height: 8px;
    }
}











/*--- 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: #DFF7CE;
    border: none;
    text-shadow: none;
    padding: 0 10px;
    font-size: 10px;
    color: #333;
    float: none;
    margin: 5px 5px;
    border-radius: 4px;
    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: solid 1px #F2F2F2; */
    border: none;
    background-color: #F2F2F2;
    box-shadow: 0px 1px 3px #CCC inset;
}

form#mailformpro label.mfp_not_checked {
    padding: 17px 10px;
    /* border: solid 1px #F2F2F2; */
    border: none;
    background-color: #F2F2F2;
}

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_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: #1EA21E;
    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: #55b7ff;
    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: #F2F2F2;
    border: none;
    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;
}












/*--- End ---*/
