@charset "UTF-8";

/* =================
　　　全体共通
===================*/

* {
    box-sizing: border-box;
    font-style: normal;
}

html {
    font-size: 100%;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #40220F;
    /* min-width: 375px; */
    /* overflow: hidden; */
}


a {
    text-decoration: none;
    color: #40220F;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

ul li {
    list-style: none;
}

.wrapper {
    max-width: 1080px;
    margin: 0 auto;
}

.hover:hover {
    opacity: .5;
    transition: .3s ease-in-out;
}

@media screen and (max-width: 1150px) {
    .wrapper {
        padding: 0 4%;
    }
}


@media screen and (max-width:768px) {

    .tab_only {
        display: none !important;
    }

    .wrapper {
        padding: 0 20px;
    }
}

@media screen and (min-width: 769px) {
    .pc_only {
        display: none !important;
    }
}


@media screen and (min-width: 941px) {
    .under_940 {
        display: none;
    }
}

.middle_br {
    display: none;
}

@media screen and (min-width: 769px) and (max-width: 950px) {

    .middle_br {
        display: block;
    }
}

@media screen and (min-width: 501px) {
    .up_500 {
        display: none;
    }
}


/* ====================
      メインページ
======================== */

/* -------------------------
    メインビジュアル部分
---------------------------- */

#main_bg {
    background: url(../images/main_bg.jpg) center center;
    position: relative;
    overflow-x: hidden;
}

#main_bg .mv_main {
    position: absolute;
    right: -54px;
    top: -50px;
    border-radius: 50px;
}

#main_bg .mv_01 {
    position: absolute;
    /* left: 4%; */
    bottom: 427px;
}

#main_bg .mv_02 {
    position: absolute;
    /* left: 4%; */
    bottom: 237px;
}

#main_bg .mv_01,
#main_bg .mv_02 {
    width: 240px;
}

.main_bg_inner {
    position: relative;
    height: 1000px;
    padding-bottom: 49px;
    box-sizing: content-box;
}

.main_bg_inner h1 {
    position: absolute;
    /* left: 4%; */
    top: 80px;
}

.main_bg_inner h1 img {
    width: 458px;
}

#main_bg .mv_txt {
    position: relative;
    background-color: #fff;
    border-radius: 30px;
    width: 73%;
    padding: 30px 50px 53px;
    position: absolute;
    bottom: 49px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
}

img.illust_3 {
    position: absolute;
    bottom: 28px;
    left: 8%;
    width: 74px;
}

img.illust_2 {
    position: absolute;
    top: 106.5px;
    right: 7%;
    width: 96px;
}


#main_bg .mv_txt h2 {
    margin-bottom: 15px;
    font-size: 28px;
}

#main_bg .mv_txt p {
    line-height: 2;
}


@media screen and (min-width :769px) {
    #main_bg .mv_main {
        width: 74vw;
        height: 730px;
        object-fit: cover;
        object-position: bottom center;
        top: 0;
    }
}

@media screen and (min-width: 1281px) {
    #main_bg .mv_main {
        width: 60vw;
        object-position: right bottom;
    }
}

@media screen and (max-width:768px) {

    #main_bg .mv_main {
        width: clamp(385px, 88vw, 770px);
        right: -12%;
        top: 180px;
        max-height: 400px;
        object-fit: cover;
    }

    #main_bg .mv_01 {
        /* width: clamp(160px, 42vw, 240px); */
        width: 160px;
        left: -6%;
        bottom: 49%;
        transform: translateY(100%);
    }

    #main_bg .mv_02 {
        /* width: clamp(216px, 57vw, 240px); */
        width: 216px;
        bottom: 49%;
        transform: translateY(100%);
        right: -3%;
    }

    #main_bg .mv_txt {
        border-radius: 10px;
        width: calc(100% - 40px);
        padding: 24px 15px 35px;
        bottom: 65px;
    }

    .main_bg_inner {
        /* height: 938px; */
        padding-bottom: 65px;
        box-sizing: border-box;
    }

    img.illust_3 {
        bottom: -47px;
        left: 20px;
        width: 54px;
    }

    #main_bg .mv_txt h2 {
        font-size: 24px;
    }

    .main_bg_inner h1 {
        top: 70px;
    }

    .main_bg_inner h1 img {
        width: 355px;
    }
}


@media screen and (max-width: 600px) {
    .main_bg_inner {
        height: 938px;
    }

    /* #main_bg .mv_01 {
        left: -6%;
        bottom: 49%;
        transform: translateY(100%);
    }

    #main_bg .mv_02 {
        bottom: 49%;
        transform: translateY(100%);
        right: -3%;
    }

    #main_bg .mv_main {
        right: -50px;
    } */

    #main_bg .mv_txt p {
        /* padding: 0 15px; */
        letter-spacing: -0.04em;
    }
}

@media screen and (min-width: 470px) and (max-width: 768px) {

    #main_bg .mv_01,
    #main_bg .mv_02 {
        bottom: 45%;
    }
}


@media screen and (min-width: 500px) and (max-width: 768px) {

    #main_bg .mv_01,
    #main_bg .mv_02 {
        bottom: 40%;
    }
}

@media screen and (min-width: 769px) and (max-width: 1050px) {
    #main_bg .mv_txt {
        padding: 24px 15px 35px;
    }

    #main_bg .mv_01,
    #main_bg .mv_02 {
        width: 20vw;
    }

    #main_bg .mv_01 {
        bottom: 42%;
    }

    #main_bg .mv_02 {
        bottom: 23%;
    }

    img.illust_3 {
        bottom: -47px;
        left: 20px;
    }
}


/*--------------------------
   かわせみの特徴・セクション
--------------------------- */

.top_features_inner {
    padding: 80px 4% 100px;
    position: relative;
    box-sizing: content-box;
}

img.illust_1 {
    position: absolute;
    top: -120px;
    right: 6%;
    z-index: 200;
    width: 140px;
}

img.illust_4 {
    position: absolute;
    top: 80px;
    left: 6%;
    width: 117px;
}

img.illust_5 {
    position: absolute;
    bottom: -35px;
    left: 15%;
    width: 107px;
}


#top_features ul li:first-of-type .point1_inner {
    display: flex;
    gap: 50px;
    align-items: center;
    justify-content: space-between;
}

#top_features ul li:first-of-type .point1_inner div {
    width: 64%;
}

#top_features ul li:first-of-type .point1_inner picture {
    display: block;
    width: 32%;
}



#top_features ul li {
    padding: 26px 50px 0;
    background-color: #FFF9EB;
    border-radius: 30px;
    margin-bottom: 30px;
}

#top_features ul li p {
    line-height: 2;
}

#top_features ul li:first-of-type {
    padding-bottom: 64px;
}

#top_features ul li:last-of-type {
    padding-bottom: 50px;
}

#top_features ul li h4 {
    margin-bottom: 36px;
}

#top_features ul li h4 img {
    width: 150px;
}

#top_features h5 {
    font-size: 24px;
    margin-bottom: 30px;
}

#point2_sec {
    display: flex;
    /* justify-content: space-between; */
    margin-top: 39px;
}

#point2_sec div:nth-child(even) {
    padding: 77.5px 8px 147px 10px;
}

#point2_sec h6 {
    margin-top: 15px;
    font-size: 20px;
}

#point2_sec h6 span {
    margin: 0 5px;
}



@media screen and (max-width: 950px) {
    #top_features ul li:first-of-type .point1_inner {
        flex-direction: column;
    }

    #point2_sec {
        flex-direction: column;
    }

    #top_features ul li:first-of-type .point1_inner div,
    #top_features ul li:first-of-type .point1_inner picture {
        width: 100%;
    }

    #point2_sec div:nth-child(even) {
        padding: 10px 0;
    }

    #top_features ul li:first-of-type .point1_inner picture img {
        width: 100%;
        object-fit: cover;
    }
}

@media screen and (max-width: 768px) {

    #top_features ul li:first-of-type .point1_inner {
        display: flex;
        gap: 50px;
        flex-direction: column;
    }

    #top_features ul li h4 {
        margin-bottom: 16px;
    }

    /* #top_features ul li h4 img {
        width: 120px;
    } */

    #top_features ul li:first-of-type {
        padding-bottom: 20px;
    }

    .top_features_inner {
        padding: 60px 20px 69px;
    }

    #top_features h5 {
        font-size: 18px;
        margin-bottom: 15px;
    }

    #point2_sec {
        flex-direction: column;
    }

    #point2_sec div:nth-child(even) {
        padding: 10px 0;
    }

    #top_features ul li {
        padding: 20px;
    }

    #top_features ul li:last-of-type {
        padding-left: 16px;
        padding-right: 16px;
    }

    img.illust_5 {
        position: absolute;
        bottom: -40px;
        left: 20px;
        width: 63px;
    }

    img.illust_4 {
        left: 20px;
        width: 71px;
        top: 120px;
    }

    img.illust_1 {
        top: -60px;
        right: 20px;
        width: 90px;
    }

    #top_features ul li:first-of-type .point1_inner div {
        width: 100%;
    }

    #top_features ul li h4 img {
        width: 120px;
    }
}


/*------------------------
      お知らせ・セクション
-------------------------- */

#top_news {
    background-color: #FFF9EB;
}

.top_news_inner {
    padding: 80px 4% 70px;
    box-sizing: content-box;
    position: relative;
}

img.illust_6 {
    position: absolute;
    right: 6%;
    top: 66px;
    width: 103px;
    transform: scale(-1, 1);
}

img.illust_1_top {
    position: absolute;
    left: 3%;
    bottom: -90px;
    width: 140px;
}

#top_news table {
    border-spacing: 0;
    width: 100%;
    margin-bottom: 30px;
}

#top_news table tr:first-of-type th,
#top_news table tr:first-of-type td {
    border-top: 1px solid #D3CAC4;
}


#top_news table tr:first-of-type th a,
#top_news table tr:first-of-type td a {
    display: block;
}


#top_news table tr {
    height: 64px;
}

#top_news table tr th,
#top_news table tr td {
    border-bottom: 1px solid #D3CAC4;
}

#top_news table tr th {
    padding-right: 20px;
}

#top_news table tr th span {
    display: inline-block;
    width: 120px;
    height: 30px;
    color: #3CAB84;
    border-radius: 15px;
    border: 1px solid #3CAB84;
    line-height: 30px;
    text-align: center;
}

#top_news table tr td:first-of-type {
    padding-right: 50px;
    font-size: 20px;
}



@media screen and (max-width: 768px) {

    .top_news_inner {
        padding: 50px 20px 60px;
    }

    #top_news table tr:first-of-type td {
        border-top: 0;
    }

    #top_news table tr {
        display: flex;
        flex-direction: column;
        height: 177px;
    }

    #top_news table tr td {
        padding-left: 0;
        line-height: 2;
    }

    #top_news table tr th,
    #top_news table tr td {
        border: 0;
        text-align: left;
    }

    #top_news table tr th {
        border-top: 1px solid #D3CAC4;
        margin-bottom: 16px;
        font-size: 18px;
    }

    #top_news table tr th {
        padding-top: 22px;
    }

    #top_news table tr td:first-of-type {
        padding-right: 0;
    }

    #top_news table {
        border-bottom: 1px solid #D3CAC4;
    }

    img.illust_1_news {
        position: absolute;
        left: 20px;
        bottom: 0px;
        transform: translateY(80%);
    }

    img.illust_6 {
        right: 10px;
        top: 55px;
        width: 62px;
        transform: scale(1, 1);
    }

    #top_news table tr th {
        padding-right: 0;
    }

    #top_news table tr th span {
        margin-right: 10px;
        font-size: 16px;
    }

    #top_news table tr td:nth-of-type(2) {
        padding-left: 0;
    }

    img.illust_1_top {
        width: 79px;
    }

}


/*--------------------------
       ブログ・セクション
---------------------------*/

.top_blog_inner {
    box-sizing: content-box;
    padding: 80px 4% 70px;
}

#top_blog ul {
    display: flex;
    /* justify-content: space-between; */
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 30px 30px;
}

#top_blog ul li {
    width: 22%;
    min-width: 200px;
    border: 1px solid #3CAB84;
    border-radius: 10px;
    overflow: hidden;
}

#top_blog ul li a {
    display: block;
}

#top_blog ul li h4 {
    font-size: 18px;
    margin: 14px 0 7px;
}

#top_blog ul li div.blog_top_cate {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
}

#top_blog ul li div.blog_top_cate span {
    display: inline-block;
    background-color: #3CAB84;
    color: #fff;
    border-radius: 2px;
    font-size: 14px;
    width: 80px;
    height: 20px;
    text-align: center;
}

div.blog_list_inner {
    padding: 30px 20px;
}

@media screen and (max-width: 985px) {
    #top_blog ul li {
        width: calc((100% - 30px) / 2);
    }
}


@media screen and (max-width: 768px) {

    .top_blog_inner {
        padding: 50px 20px 60px;
    }

    #top_blog ul {
        flex-wrap: wrap;
        gap: 30px 30px;
    }
}

@media screen and (max-width: 500px) {
    #top_blog ul {
        flex-direction: column;
        align-items: center;
    }

    #top_blog ul li {
        width: 100%;
    }
}


/*----------------------------
   ご入居について・セクション
------------------------------*/

#top_guide {
    background-color: #FFF9EB;
}

.top_guide_inner {
    padding: 80px 4%;
    position: relative;
}

.top_guide_inner_wrapper {
    display: flex;
    padding: 0 50px;
    justify-content: space-between;
}

.top_guide_inner_wrapper picture {
    width: 45%;
}

.top_guide_inner_wrapper picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.top_guide_txt {
    width: 49%;
}

.top_guide_txt p {
    margin-bottom: 65px;
    line-height: 2;
}

img.illust_3_top {
    position: absolute;
    top: -70px;
    right: 7%;
    width: 85px;
}

img.illust_7 {
    position: absolute;
    top: 58px;
    left: 6%;
    width: 100px;
}

@media screen and (max-width: 950px) {
    .top_guide_inner_wrapper {
        display: flex;
        padding: 0;
        gap: 0px;
        flex-direction: column;
    }

    .under_950 {
        display: none;
    }

    .top_guide_txt {
        width: 100%;
    }

    .top_guide_inner_wrapper picture {
        width: 100%;
        object-fit: cover;
    }
}


@media screen and (min-width: 951px) {
    .up_951 {
        display: none !important;
    }
}

@media screen and (max-width: 950px) {
    .under_950 {
        display: none !important;
    }
}




@media screen and (max-width: 768px) {

    /* .top_guide_inner_wrapper {
        display: flex;
        padding: 0;
        gap: 0px;
        flex-direction: column;
    } */

    .top_guide_txt {
        width: 100%;
    }

    .top_guide_inner {
        padding: 50px 20px 60px;
    }

    img.illust_7 {
        top: -15px;
        left: 20px;
        width: 67px;
    }

    img.illust_3_guide {
        top: 0;
        right: 30px;
    }

    img.illust_3_top {
        width: 47px;
        top: 0;
    }

}

/*----------------------------
        採用情報・セクション
------------------------------- */

#top_recruit {
    display: flex;
}

.top_recruit_inner {
    background: url(../images/recruit_info_bg.png) center center;
    color: #fff;
    padding: 80px 120px 90px;
}

.recruit_info_img,
.top_recruit_inner {
    width: calc(100% / 2);
}

.recruit_info_img {
    background: url(../images/recruit_info_img.jpg) no-repeat center center / cover;
}

.top_recruit_inner a {
    background-color: #fff;
}

.top_recruit_inner a span {
    color: #3CAB84;
}

.top_recruit_inner h3 {
    margin-bottom: 26px;
    font-size: 16px;
    letter-spacing: 0.1em;
}

.top_recruit_inner p {
    margin-bottom: 30px;
    line-height: 2;
}


@media screen and (min-width: 769px) and (max-width: 960px) {

    .top_recruit_inner {
        padding: 30px 20px 60px;
    }
}

@media screen and (max-width: 768px) {

    #top_recruit {
        flex-direction: column;
    }

    .top_recruit_inner h3 {
        margin-bottom: 20px;
    }

    .recruit_info_img,
    .top_recruit_inner {
        width: 100%;
    }

    .recruit_info_img {
        height: 245px;
        background: url(../images/sp/recruit_info_img_sp.jpg) no-repeat center center / cover;
    }

    .top_recruit_inner {
        padding: 30px 20px 60px;
        background: url(../images/sp/recruit_info_bg_sp.png) center center / contain;
    }

    .top_recruit_inner p {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 461px) {

    .under_460 {
        display: none;
    }
}



/*======================
   かわせみの特徴ページ
=======================*/

/*------------------
  メインビジュアル
--------------------- */

#features_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.features_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

.features_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}


@media screen and (max-width: 768px) {

    .features_main_bg_inner {
        padding: 70px 20px 52px;
    }

    .pan_list a {
        font-size: 12px;
    }

    .features_main_bg_inner h1 {
        margin-top: 25px;
        font-size: 32px;
    }

}


/*--------------------------
      運営方針・セクション
--------------------------- */

#feature_policy {
    background-color: #FFF9EB;
}

.feature_policy_inner {
    box-sizing: content-box;
    padding: 50px 4% 80px;
}

#feature_policy ul {
    display: flex;
}


#feature_policy ul li:first-of-type {
    padding-right: 25px;
}

#feature_policy ul li:nth-of-type(2) {
    padding: 0 25px;
    /* border-right: 1px #707070 dashed;
    border-left: 1px #707070 dashed; */
    background-image: url(../images/policy_border.png), url(../images/policy_border.png);
    background-position: left, right;
    background-repeat: no-repeat;
}

#feature_policy ul li:last-of-type {
    padding-left: 25px;
}


#feature_policy ul li h4 {
    position: relative;
    margin-bottom: 26px;
}

#feature_policy ul li h4 img {
    width: 83px;
}

#feature_policy ul li p {
    line-height: 2;
}

#feature_policy ul li h4 span {
    position: absolute;
    color: #fff;
    font-size: 30px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
    padding: 0 4px 0 0;
}


@media screen and (max-width:768px) {

    #feature_policy ul {
        display: flex;
        flex-direction: column;
    }

    #feature_policy ul li:nth-of-type(2) {
        border: none;
        /* border-top: 1px #707070 dashed;
        border-bottom: 1px #707070 dashed; */
        padding: 30px 0 50px;
        background-image: url(../images/sp/policy_border_sp.png), url(../images/sp/policy_border_sp.png);
        background-position: top, bottom;
        background-size: auto 11px;
        background-repeat: repeat-x;
    }

    .feature_policy_inner {
        box-sizing: content-box;
        padding: 50px 20px 60px;
    }

    #feature_policy ul li:first-of-type {
        padding: 0 0 50px;
    }

    #feature_policy ul li:last-of-type {
        padding: 30px 0 0;
    }

    #feature_policy ul li h4 {
        margin-bottom: 18px;
    }

    #feature_policy ul li h4 span {
        font-size: 24px;
        padding: 0 4px 0 0;
    }

    #feature_policy ul li h4 img {
        width: 69px;
    }
}


/*--------------------------
        特徴・セクション
---------------------------- */

#feature_feature {
    padding: 80px 0 100px;
    position: relative;
}

img.illust_5_feature {
    position: absolute;
    top: -99px;
    left: 4%;
    width: 107px;
}

.feature_feature_inner {
    box-sizing: content-box;
    position: relative;
}

img.illust_6_feature {
    position: absolute;
    right: 7%;
    bottom: -90px;
    width: 103px;
    transform: scale(-1, 1);
}

#feature_feature ul.feature_illust_list {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

#feature_feature ul.feature_illust_list li {
    width: calc(100% / 3);
    background-color: #FFF9EB;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-size: 24px;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
    padding: 25px 0;
}

#feature_feature ul.feature_illust_list li:first-of-type img {
    width: 50px;
}

#feature_feature ul.feature_illust_list li:nth-of-type(2) img {
    width: 55px;
}

#feature_feature ul.feature_illust_list li:nth-of-type(3) img {
    width: 52px;
}


@media screen and (max-width: 768px) {
    #feature_feature ul.feature_illust_list li:first-of-type img {
        width: 37px;
    }

    #feature_feature ul.feature_illust_list li:nth-of-type(2) img {
        width: 45px;
    }

    #feature_feature ul.feature_illust_list li:nth-of-type(3) img {
        width: 42px;
    }
}

.feature_point_area {
    margin-top: 30px;
    background-color: #FFF9EB;
    border-radius: 30px;
}

#feature_feature .feature_point_area:first-of-type {
    padding: 26px 50px 64px;
}

#feature_feature .feature_point_area:last-of-type {
    padding: 26px 50px 50px;
}

.feature_point1_inner {
    display: flex;
    gap: 50px;
    align-items: center;
    justify-content: space-between;
}

.feature_point1_inner div {
    width: 64%;
}

.feature_point1_inner picture {
    width: 32%;
    display: block;
}

section#feature_point2_sec {
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
    margin-top: 39px;
}

section#feature_point2_sec h6 {
    margin-top: 15px;
    font-size: 20px;
}

.feature_point_area h4 {
    margin-bottom: 36px;
}

.feature_point_area h4 img {
    width: 150px;
}

.feature_point_area h5 {
    font-size: 24px;
    margin-bottom: 30px;
}

.point_sec_line {
    line-height: 2;
}

#feature_point2_sec div:nth-child(even) {
    padding: 77.5px 8px 151.5px 10px;
}

@media screen and (min-width: 769px) and (max-width: 1279px) {
    #feature_feature ul.feature_illust_list li {
        font-size: clamp(18px, 1.875vw, 24px);
        /* padding: 25px 1%; */
        /* box-sizing: border-box; */
        gap: 8px;
    }
}


@media screen and (max-width: 950px) {

    .feature_point1_inner {
        flex-direction: column;
    }

    .feature_point1_inner div {
        width: 100%;
    }

    .feature_point1_inner picture img {
        width: 100%;
        object-fit: cover;
    }

    section#feature_point2_sec {
        flex-direction: column;
    }

    section#feature_point2_sec div,
    section#feature_point2_sec div picture,
    section#feature_point2_sec div:nth-child(odd) picture img {
        width: 100%;
        object-fit: cover;
    }


    #feature_point2_sec div:nth-child(even) {
        padding: 10px;
    }

    .feature_point1_inner picture {
        width: 100%;

    }
}



@media screen and (max-width: 768px) {
    #feature_feature {
        padding: 50px 0 70px;
    }

    .feature_point1_inner div {
        width: 100%;
    }

    #feature_feature ul.feature_illust_list {
        flex-direction: column;
        gap: 20px;
    }

    #feature_feature ul.feature_illust_list li {
        width: 100%;
        padding: 28px 0;
        font-size: 18px;
    }

    .feature_point_area {
        margin-top: 20px;
    }

    .feature_point1_inner {
        flex-direction: column;
    }

    #feature_feature .feature_point_area:first-of-type {
        padding: 20px;

    }

    section#feature_point2_sec {
        flex-direction: column;
        /* align-items: center; */
        margin-top: 55px;
    }

    #feature_feature .feature_point_area:last-of-type {
        padding: 20px 16px 15px;
    }

    .feature_point_area h5 {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .feature_point_area h4 {
        margin-bottom: 16px;
    }

    #feature_point2_sec div:nth-child(even) {
        padding: 10px;
    }

    img.illust_6_feature {
        right: 18px;
        bottom: -250px;
        z-index: 1;
        width: 62px;
        transform: scale(1, 1);
    }

    img.illust_5_feature {
        top: -58px;
        left: 20px;
        width: 63px;
    }

    .feature_point_area h4 img {
        width: 122px;
    }
}



/*------------------------------------
   ゼンショーの食について・セクション
--------------------------------------*/

#feature_food {
    padding: 80px 0;
    background-color: #FFF9EB;
}

.feature_food_inner {
    box-sizing: content-box;
    position: relative;
}

img.illust_4_feature {
    position: absolute;
    top: -60px;
    width: 117px;
}

.feature_food_safety,
.feature_food_rice {
    display: flex;
    gap: 50px;
    background-color: #fff;
    border-radius: 30px;
    padding: 50px;
    align-items: center;
}

.feature_food_safety {
    padding-bottom: 75px;
}

.feature_food_rice {
    flex-direction: row-reverse;
    margin-top: 30px;
}

.feature_food_safety h4,
.feature_food_rice h4 {
    font-size: 24px;
    margin-bottom: 15px;
}

.feature_food_safety p,
.feature_food_rice p {
    line-height: 2;
}

.feature_food_safety div,
.feature_food_rice div {
    width: 54%;
}

@media screen and (max-width: 950px) {

    .feature_food_safety,
    .feature_food_rice {
        display: flex;
        gap: 50px;
        padding: 20px 50px;
        flex-direction: column;
    }

    .feature_food_safety div,
    .feature_food_rice div {
        width: 100%;
    }

    .feature_food_safety picture,
    .feature_food_rice picture {
        width: 100%;
    }

    .feature_food_safety picture img,
    .feature_food_rice picture img {
        width: 100%;
        object-fit: cover;
    }
}

@media screen and (max-width: 768px) {

    #feature_food {
        padding: 50px 0 60px;
    }

    .feature_food_safety,
    .feature_food_rice {
        display: flex;
        gap: 50px;
        padding: 20px;
        flex-direction: column;
    }

    .feature_food_safety h4,
    .feature_food_rice h4 {
        font-size: 20px;
    }

    img.illust_4_feature {
        top: -90px;
        left: 18px;
        width: 71px;
    }

    .feature_food_safety div,
    .feature_food_rice div {
        width: 100%;
    }

}


/*-------------------------------
   グループホームとは・セクション
-------------------------------- */

#feature_grouphome {
    padding: 80px 0 103px;
}

.feature_grouphome_inner {
    box-sizing: content-box;
    position: relative;
}

img.illust_1_feature {
    position: absolute;
    top: -120px;
    left: 8%;
    width: 140px;
}

img.illust_7_feature {
    position: absolute;
    top: -34px;
    right: 7%;
    width: 100px;
}

.feature_grouphome_inner p {
    line-height: 2;
}


@media screen and (max-width: 768px) {
    #feature_grouphome {
        padding: 50px 0 95px;
    }

    img.illust_1_feature {
        top: -130px;
        left: 20px;
        width: 79px;
    }

    img.illust_7_feature {
        position: absolute;
        top: -75px;
        right: 20px;
        width: 67px;
    }
}



/*========================
    ご入居についてページ 
==========================*/


/*-------------------
   メインビジュアル 
 -------------------*/

#guide_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.guide_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

.guide_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}


@media screen and (max-width: 768px) {

    .guide_main_bg_inner {
        padding: 70px 20px 52px;
    }

    .pan_list a {
        font-size: 12px;
    }

    .guide_main_bg_inner h1 {
        margin-top: 25px;
        font-size: 32px;
    }
}


/*---------------------------
     ご入居条件・セクション 
-----------------------------*/

#guide_check {
    padding: 50px 0 79px;
    background-color: #FFF9EB;
}

#guide_check ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 570px;
    margin: 0 auto;
    justify-content: space-between;
}

#guide_check ul li {
    margin-bottom: 30px;
    font-size: 20px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

#guide_check ul li img {
    margin-right: 10px;
    width: 30px;
}


/* 一部適用 */
.border_none {
    border: none !important;
}

.table_collapse {
    width: calc(100% / 3) !important;
}


@media screen and (max-width: 768px) {
    #guide_check ul li {
        margin-bottom: 24px;
        font-size: 18px;
    }

    #guide_check ul li img {
        width: 27px;
    }

    .border_none {
        display: none;
    }
}

@media screen and (max-width: 550px) {
    #guide_check ul {
        flex-direction: column;
        flex-wrap: nowrap;
        /* padding: 0 40px; */
    }

    #guide_check {
        padding: 50px 0 60px;
    }
}


section.guide_accept_area {
    background-color: #FFF;
    border-radius: 30px;
    padding: 50px 0;
    margin-top: 30px;
}

section.guide_accept_area:first-of-type {
    margin-top: 50px;
}


section.guide_accept_area h4 {
    font-size: 24px;
    margin-bottom: 30px;
}

section.guide_accept_area table tr th {
    padding-bottom: 16px;
    border-bottom: 1px solid #40220F;
    text-align: left;
    font-size: 20px;
    padding-left: 56px;
    font-family: 'Zen Maru Gothic', sans-serif;
}

section.guide_accept_area table tr td {
    padding: 16px 0;
    border-bottom: 1px solid #D3CAC4;
}

section.guide_accept_area table {
    width: 100%;
    max-width: 950px;
    margin: 0 auto 40px;
    border-spacing: 30px 0;
}

section.guide_accept_area table tr th {
    background-repeat: no-repeat;
    background-size: 32px;
    background-position: left top;
}

section.guide_accept_area table:first-of-type tr th {
    background-image: url(../images/icon_guide01.png);
}

section.guide_accept_area table:nth-of-type(2) tr th {
    background-image: url(../images/icon_guide02.png);
}

section.guide_accept_area table:nth-of-type(3) tr th {
    background-image: url(../images/icon_guide03.png);
}



section.guide_accept_area:nth-of-type(3) table tr th {
    background-image: url(../images/icon_guide02.png);
}

section.guide_accept_area table:last-of-type {
    margin-bottom: 0;
}

section.guide_accept_area:last-of-type table tr th {
    background-image: none;
    padding: 0;
}

@media screen and (max-width: 860px) and (min-width: 769px) {
    section.guide_accept_area table tr td {
        font-size: 14px;
    }
}


@media screen and (max-width: 768px) {


    section.guide_accept_area table tr {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    section.guide_accept_area h4 {
        font-size: 20px;
    }

    section.guide_accept_area table tr th {
        font-size: 18px;
        padding-left: 56px;
        padding-left: 42px;
        background-size: 26px;
    }
}




/*========================
    利用料金ページ 
==========================*/


/*-----------------------------
       利用料金・セクション
-------------------------------*/

#guide_price {
    padding: 80px 0 72px;
    background-color: #FFF9EB;
}

#guide_price table {
    /* max-width: 685px; */
    width: 100%;
    border-spacing: 0
}

.guide_price_table {
    max-width: 700px;
    margin: 0 auto;
}

.guide_price_table p {
    color: #C11600;
    margin-top: 12px;
}

#guide_price table tr {
    height: 64px;
}

#guide_price table tr th,
#guide_price table tr td {
    border-top: 1px solid #D3CAC4;
    width: 50%;
    font-weight: normal;
    text-align: left;
}

#guide_price table tr td {
    font-size: 20px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

#guide_price table tr td sup {
    color: #C11600;
}

/* 初期費用の下の線 */
/* #guide_price table tr:last-of-type th,
#guide_price table tr:last-of-type td {
    border-top: 1px solid #40220F;
} */

#monthly_fee_table table tr:last-of-type th,
#monthly_fee_table table tr:last-of-type td {
    border-top: 1px solid #40220F;
}


div#initial_cost_first_line tr:last-of-type th,
div#initial_cost_first_line tr:last-of-type td {
    border-top: 1px solid #D3CAC4;
}

#guide_price table tr th {
    padding-left: 80px;
}

.guide_price_inner {
    position: relative;
}

img.illust_4_guide {
    position: absolute;
    width: 117px;
    top: -80px;
    left: 5%;
    transform: translateY(-50%);
}

img.illust_1_guide {
    position: absolute;
    width: 140px;
    top: -80px;
    right: 2%;
    transform: translateY(-25%);
}

@media screen and (max-width: 768px) {
    #guide_price table tr th {
        padding-left: 0;
    }

    #guide_price {
        padding: 50px 0 60px;
    }

    #guide_price table tr th,
    #guide_price table tr td {
        width: auto;
    }

    .guide_price_table p {
        line-height: 2;
    }

    img.illust_4_guide {
        position: absolute;
        width: 71px;
        top: -50px;
        left: 20px;
        transform: translateY(-25%);
    }

    img.illust_1_guide {
        position: absolute;
        width: 79px;
        top: -50px;
        right: 20px;
        transform: translateY(-25%);
    }
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
利用料金修正
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

div.wrap_initial_cost {
    background-color: #fff;
    max-width: 1080px;
    height: 323px;
    padding-top: 10px;
    border-radius: 30px;
}

div.wrap_initial_cost h4 {
    text-align: center;
    color: #40220F;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 24px;
    margin-top: 45px;
    margin-bottom: 35px;
}

div.wrap_initial_cost p {
    text-align: center;
    color: #C11600;
    padding-top: 20px;
    letter-spacing: -1px;
}

div.wrap_initial_cost table,
div.wrap_monthly_cost table {
    padding-top: 30px;
    padding: 0 15px;
}

hr.initial_cost {
    border-top: 1px solid #D3CAC4;
    margin: 0 15px;
}

div.wrap_monthly_cost {
    background-color: #fff;
    max-width: 1080px;
    height: 488px;
    margin-top: 30px;
    border-radius: 30px;
}

div.wrap_monthly_cost h4 {
    text-align: center;
    color: #40220F;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 24px;
    padding-top: 55px;
    padding-bottom: 35px;
}

.wrap_monthly_cost .guide_price_table tr:last-of-type th,
.wrap_monthly_cost .guide_price_table tr:last-of-type td {
    border-top: 1px solid #40220F;
}




/* 取得している加算状況 */
#price_accept_area {
    /*     background-color: #fff; */
    /*     border-radius: 30px; */
    /*     padding: 50px 0; */
    margin-top: 80px;
}

#price_accept_area h4 {
    font-size: 24px;
    /* margin-bottom: 30px; */
    margin-bottom: 10px;
}

#price_accept_area table {
    /*     max-width: 950px; */
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 30px 0;
}

#price_accept_area table tr td {
    width: 28%;
    /* font-size: 16px; */
    font-size: clamp(12.5px, 1.3vw, 16px);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    border-top: none;
}

#price_accept_area table tr {
    height: auto;
}

#price_accept_area table tr:nth-of-type(4) td {
    border-top: none;
    border-bottom: #D3CAC4 1px solid;
    /* ベースアップ等支援加算※2	生産性向上推進体制加算(Ⅰ)の下の線 */
}

div.annotation {
    margin-top: 30px;
}

#price_accept_area p {
    font-size: 16px;
    text-align: center;
    margin: 30px 0;
    line-height: 2.0;
}

#price_accept_area p.price_accept_area_SP {
    display: none;
}

#price_accept_area p.annotation1,
#price_accept_area p.annotation2 {
    text-align: left;
    color: #C11600;
    margin: 0 0 0 30px;
}

#price_accept_area table tr:first-of-type th {
    border-bottom: #40220F solid 1px;
}

#price_accept_area table tr:nth-of-type(2) td {
    border-top: none;
}

#price_accept_area table tr:nth-of-type(2) td,
#price_accept_area table tr:nth-of-type(3) td {
    border-bottom: 1px solid #D3CAC4;
}

#price_accept_area table tr:nth-of-type(2),
#price_accept_area table tr:nth-of-type(3),
#price_accept_area table tr:nth-of-type(4) {
    height: 60px;
}

#price_accept_area table tr:nth-of-type(2) td {
    padding-top: 12px;
}

@media screen and (min-width: 769px) {

    /*     #price_accept_area table tr:nth-of-type(4) td {
        text-align: center;
    } */
}



@media screen and (max-width: 768px) {

    #price_accept_area table tr td {
        width: 100%;
    }

    #price_accept_area table {
        border-spacing: 0 0;
    }

    #price_accept_area table tr {
        display: flex;
        flex-direction: column;
    }

    #price_accept_area table tr:nth-of-type(2),
    #price_accept_area table tr:nth-of-type(3) {
        height: auto;
    }


    #price_accept_area table tr td {
        font-size: 16px;
    }


    #price_accept_area table tr:nth-of-type(2) td,
    #price_accept_area table tr:nth-of-type(3) td {
        height: 60px;
        padding: 0;
        line-height: 60px;
    }

    #price_accept_area {
        /*         padding: 50px 0 85px; */
        margin-top: 80px;
    }

    #price_accept_area h4 {
        font-size: 20px;
    }

    #price_accept_area p {
        text-align: left;
        margin-top: 20px;
        margin-bottom: 30px;
        display: none;
        /*         white-space: nowrap;
        overflow-wrap: break-word; */
    }

    #price_accept_area p.price_accept_area_SP {
        display: block;
    }

    #price_accept_area table tr:nth-of-type(4) td {
        /* padding-top: 25px; */
        line-height: 60px;
        border-top: none;
    }

    div.wrap_initial_cost {
        height: 287px;
    }

    div.wrap_initial_cost h4 {
        margin: 20px;
    }

    div.wrap_initial_cost p {
        text-align: left;
        margin: 0 15px;
    }

    #price_accept_area div.annotation p.annotation1 {
        display: block;
        margin: 0;
        margin-top: 90px;
        color: #C11600;
    }

    #price_accept_area div.annotation p.annotation2 {
        display: block;
        margin: 0;
        color: #C11600;
    }

    div.wrap_monthly_cost {
        height: 410px;
    }

    div.wrap_monthly_cost h4 {
        padding: 20px;
    }

}



/*========================
   設備紹介
==========================*/


/*----------------------------
       設備紹介 ・セクション
------------------------------*/

#guide_facilities {
    background-color: #FFF9EB;
    padding: 80px 0;
}

.guide_facilities_inner {
    position: relative;
}

img.illust_3_guide {
    position: absolute;
    top: -80px;
    left: 5%;
    transform: translateY(-25%);
    width: 74px;
}

img.illust_7_guide {
    position: absolute;
    top: 0;
    right: 10%;
    transform: translateY(-50%);
    width: 100px;
}

.guide_facilities_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.guide_facilities_area section {
    width: 48%;
    margin-bottom: 30px;
    background-color: #FFFFFF;
    border-radius: 30px;
    /* padding: 50px; */
    padding: 30px;
}

.guide_facilities_area section img {
    width: 100%;
    object-fit: cover;
}

.guide_facilities_area section h4 {
    margin: 24px 0 15px;
    font-size: 24px;
}

.guide_facilities_area section p {
    letter-spacing: 2;
}

@media screen and (max-width: 768px) {
    img.illust_3_guide {
        position: absolute;
        top: -80px;
        left: 20px;
        transform: translateY(0);
        width: 47px;
    }

    img.illust_7_guide {
        position: absolute;
        top: -80px;
        right: 4%;
        transform: translateY(-50%);
        width: 67px;
    }
}




@media screen and (max-width: 678px) {
    .guide_facilities_area {
        flex-direction: column;
    }

    .guide_facilities_area section h4 {
        margin: 15px 0 10px;
        font-size: 20px;
    }

    .guide_facilities_area section {
        width: 100%;
        padding: 20px;
    }

    .guide_facilities_area section img {
        width: 100%;
        object-fit: cover;
    }

    #guide_facilities {
        padding: 50px 0 60px;
    }

    img.illust_3_guide {
        position: absolute;
        top: -50px;
        left: 20px;
        transform: translateY(0);
        width: 47px;
    }

    img.illust_7_guide {
        position: absolute;
        top: -50px;
        right: 4%;
        transform: translateY(-50%);
        width: 67px;
    }
}



/*=====================
     施設概要ページ
=======================*/

/*-------------------
   メインビジュアル 
 -------------------*/

#outline_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.outline_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

.outline_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}

@media screen and (max-width: 768px) {

    .outline_main_bg_inner {
        padding: 70px 20px 52px;
    }

    .pan_list a {
        font-size: 12px;
    }

    .outline_main_bg_inner h1 {
        margin-top: 25px;
        font-size: 32px;
    }
}


/*---------------
    メイン
---------------- */

#outline_about {
    background-color: #FFF9EB;
    padding: 80px 0 100px;
}

p.outline_about {
    text-align: right;
}

.outline_about_innner table {
    border-collapse: collapse;
}

.outline_about_innner table tr {
    height: 71px;
}

.outline_about_innner table tr th {
    width: calc(100% / 4);
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 20px;
}

.outline_about_innner table tr td,
.outline_about_innner table {
    width: 100%;
}

.outline_about_innner table td,
.outline_about_innner table th {
    border-bottom: 1px solid #D3CAC4;
    text-align: left;
}

.outline_about_innner table tr:first-of-type td,
.outline_about_innner table tr:first-of-type th {
    border-top: 1px solid #D3CAC4;
}


section.outline_imp_ope_area {
    display: flex;
    justify-content: flex-end;
    margin-top: 30px;
}

section.outline_imp_ope_area div {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 600px;
}

section.outline_imp_ope_area a {
    border-radius: 25px;
    border: 1px solid #3CAB84;
    background-image: url(../images/btn_arrow.png), url(../images/icon_pdf.svg);
    background-size: 24px 24px, 24px;
    background-position: 10px center, right 10px center;
    font-size: 18px;
    height: 50px;
    line-height: 50px;
    width: 48%;
    text-align: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    color: #3CAB84;
    font-weight: bold;
    background-color: #fff;
}

section.outline_imp_ope_area p {
    justify-content: flex-start;
}

/* .flex-container {
    display: flex;
    margin-top: 30px;
    justify-content: space-between;
}

.flex-group {
    display: flex;
    flex-wrap: wrap;
    width: 50%;
    max-width: 600px;
}

.flex-start {
    justify-content: flex-start;
    width: calc(50% - 60px);
}

.flex-end {
    justify-content: space-between;
    width: calc(50% + 60px);
}

.flex-end a {
    border-radius: 25px;
    border: 1px solid #3CAB84;
    background-image: url(../images/btn_arrow.png), url(../images/icon_pdf.svg);
    background-size: 24px 24px, 24px;
    background-position: 10px center, right 10px center;
    font-size: 18px;
    height: 50px;
    line-height: 50px;
    width: 48%;
    text-align: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    color: #3CAB84;
    font-weight: bold;
    background-color: #fff;
}

@media screen and (min-width: 769px) and (max-width: 1100px) {
    .flex-end a {
        background-size: 18px 18px, 18px;
        font-size: 14px;
        height: 50px;
        background-position: 4px center, right 4px center;
    }
} */

@media screen and (max-width: 768px) {

    #outline_about {
        padding: 50px 0 70px;
    }

    .outline_about_innner table tr:first-of-type td {
        border-top: none;
    }

    .outline_about_innner table tr:first-of-type th {
        padding-top: 22px;
    }

    .outline_about_innner table tr th {
        width: 100%;
        font-size: 18px;
        border-bottom: none;
        padding-top: 22px;
    }

    .outline_about_innner table tr td {
        padding-bottom: 25px;
    }

    .outline_about_innner table tr {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-height: 113px;
        gap: 16px;
    }

    section.outline_imp_ope_area div {
        flex-direction: column;
        max-width: 400px;
    }

    section.outline_imp_ope_area {
        justify-content: center;
    }

    section.outline_imp_ope_area a {
        width: 100%;
        font-size: 16px;
    }

    section.outline_imp_ope_area a:first-of-type {
        margin-bottom: 20px;
    }


    /* @media (max-width: 768px) {
        .flex-container {
            display: flex;
            margin-top: 30px;
            flex-wrap: wrap;
            justify-content: center;
        }

        .flex-group {
            display: flex;
            flex-wrap: wrap;
            max-width: 400px;
            width: 100%;
        }

        .flex-start,
        .flex-end {
            width: 100%;
        }
    
        .flex-start {
            justify-content: flex-end;
            align-items: center;
            margin-bottom: 20px;
        }
    
        .flex-end a {
            width: 100%;
            margin-bottom: 20px;
        }
    } */
}

@media screen and (max-width: 513px) {

    .table_gap {
        min-height: 22px !important;
        height: 22px !important;
    }
}

@media screen and (min-width: 514px) {

    .table_gap {
        display: none !important;
    }
}

@media screen and (max-width: 452px) {

    .table_gap_top {
        min-height: 22px !important;
        height: 22px !important;
    }
}

@media screen and (min-width: 453px) {

    .table_gap_top {
        display: none !important;
    }
}



/*----------------------------
     アクセス・セクション  
------------------------------*/

#guide_access {
    padding: 80px 0;
}

.guide_access_inner {
    position: relative;
}

img.illust_6_guide {
    position: absolute;
    width: 103px;
    top: -80px;
    left: 8%;
    transform: translateY(-25%);
}

img.illust_5_guide {
    position: absolute;
    width: 107px;
    top: -46px;
    right: 2%;
}

.guide_access_area {
    display: flex;
    justify-content: left;
    gap: 4%;
}

.guide_access_area:first-of-type {
    margin-bottom: 60px;
}


.guide_access_area div {
    width: 48%;
}

.guide_access_area table {
    width: 46%;
}

.guide_access_area table tr th,
.guide_access_area table tr td {
    text-align: left;
    vertical-align: top;
}

.guide_access_area table tr th {
    font-size: 18px;
    /* padding-right: 24px; */
    width: 19%;
}

.guide_access_area table tr td {
    line-height: 2;
    width: 80%;
}


.guide_access_area table tr:first-of-type th {
    font-size: 23px;
    padding-right: 0;
}


.guide_access_area table tr:nth-of-type(2) th,
.guide_access_area table tr:nth-of-type(2) td {
    padding-top: 1rem;
}


.iframe_wrapper_guide {
    position: relative;
    padding-bottom: 28%;
    height: 0;
}

.guide_access_area div iframe {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 22px;
}


.access_middle {
    display: none;
}

/* 
@media screen and (max-width: 975px) {
    
} */



@media screen and (min-width: 769px) and (max-width: 974px) {
    .access_middle {
        display: block;
    }

    .guide_access_area table tr td {
        width: 70%;
    }

    .guide_access_area table tr:first-of-type th {
        /* font-size: 19px; */
        font-size: clamp(18px, 2vw, 20px);
        padding-bottom: 1rem;
    }


    .guide_access_area table tr:nth-of-type(2) th,
    .guide_access_area table tr:nth-of-type(2) td {

        padding-bottom: 20px;
        padding-top: 0;
    }


    .guide_access_area table tr th {
        width: 24%;
    }

    .iframe_wrapper_guide {
        padding-bottom: 40%;
    }


    .guide_access_area:nth-of-type(2) .iframe_wrapper_guide {
        padding-bottom: 48%;
    }

    .guide_access_area table {
        width: 48%;
    }

    .guide_access_area {
        justify-content: space-between;
    }

}

@media screen and (max-width: 768px) {
    .guide_access_area {
        flex-direction: column;
        gap: 30px;
    }

    .guide_access_area div iframe {
        width: 100%;
        object-fit: cover;
        max-width: 100%;
    }

    .guide_access_area div,
    .guide_access_area table {
        width: 100%;
    }


    .guide_access_area table tr {
        display: flex;
        flex-direction: column;
    }

    #guide_access {
        padding: 50px 0 60px;
    }

    .guide_access_area table tr:first-of-type th {
        padding-right: 0;
        margin-bottom: 20px;
        font-size: 19px;
    }

    .guide_access_area table tr:nth-of-type(2) td {
        margin-bottom: 1rem;
    }


    .guide_access_area table tr td {
        width: 100%;
    }

    .guide_access_area table tr:not(:first-of-type) th {
        margin-bottom: 8px;
    }

    img.illust_6_guide {
        position: absolute;
        width: 62px;
        top: -50px;
        left: 8%;
        transform: translateY(-50%);
    }

    img.illust_5_guide {
        position: absolute;
        width: 63px;
        top: -30px;
        right: 20px;
    }

    .iframe_wrapper_guide {
        position: relative;
        padding-bottom: 48%;
        height: 0;
    }

    .guide_access_area table tr th {
        width: 100%;
    }
}


@media screen and (max-width: 440px) {
    .iframe_wrapper_guide {
        padding-bottom: 60%;
    }
}




/*======================
     お知らせページ
=======================*/


/*--------------------
    お知らせ共通部分 
-----------------------*/

.hover_news_area_btn:focus {
    background-color: #3CAB84;
    color: #fff;
}



/*------------------------
    メインビジュアル 
----------------------*/

#news_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.news_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

.news_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}

@media screen and (max-width: 768px) {
    .news_main_bg_inner {
        padding: 70px 4%;
    }
}

/*-------------------
      メイン 
----------------------*/

#news_wrapper {
    max-width: 980px;
    margin: 0 auto;
}

#news_area {
    background-color: #FFF9EB;
    padding: 70px 0 100px;
}

.news_area_list ul {
    display: flex;
    justify-content: space-between;
    max-width: 490px;
    margin-top: 20px;
    margin-bottom: 50px;
}

.news_area_list ul li {
    width: 30%;
    height: 40px;
    line-height: 40px;
    background-color: #fff;
    font-size: 18px;
    border-radius: 20px;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
}

.news_area_list ul li a {
    box-sizing: border-box;
    width: 100%;
    display: block;
    color: #3CAB84;
    border-radius: 20px;
    border: 1px solid #3CAB84;
}

/* 
#news_area .article_list li {
    display: flex;
    border-bottom: 1px solid #D3CAC4;
    align-items: center;
    height: 70px;
} */

#news_area .article_list li a {
    display: flex;
    border-bottom: 1px solid #D3CAC4;
    align-items: center;
    height: 70px;
}

#news_area .article_list li:first-of-type {
    border-top: 1px solid #D3CAC4;
}

#news_area .article_list li span:first-of-type {
    display: inline-block;
    text-align: center;
    width: 120px;
    height: 30px;
    line-height: 30px;
    margin-right: 20px;
    border: 1px solid #3CAB84;
    border-radius: 15px;
    color: #3CAB84;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

#news_area .article_list li span:nth-of-type(2) {
    font-size: 20px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
    margin-right: 50px;
}


.news_area_pagenation ul {
    display: flex;
    justify-content: space-between;
    max-width: 317px;
    margin: 0 auto;
}

.news_area_pagenation ul li {
    text-align: center;
}

.news_area_pagenation ul li a {
    display: block;
    color: #3CAB84;
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 24px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

@media screen and (max-width: 1150px) {
    #news_wrapper {
        padding: 0 4%;
    }
}

@media screen and (max-width: 768px) {
    #news_wrapper {
        padding: 0 20px;
    }

    /* 
    #news_area .article_list li {
        display: block;
        height: 170px;
        padding-top: 19px;
    } */


    #news_area .article_list li a {
        display: block;
        height: 170px;
        padding-top: 19px;
    }

    #news_area .article_list li span:first-of-type {
        display: inline-block;
        margin-right: 10px;
    }

    #news_area .article_list li span:nth-of-type(2) {
        font-size: 18px;
        margin-right: 0px;
    }

    #news_area .article_list li p {
        margin-top: 15px;
        line-height: 2;
    }

    #news_area {
        padding: 50px 0 70px;
    }

    .news_area_list h2 {
        font-size: 20px;
    }

    .news_area_list ul {
        margin-top: 10px;
        margin-bottom: 30px;
    }

    .news_area_list ul li a {
        font-size: 16px;
    }
}


/*=====================
   お知らせ詳細ページ
========================*/


#news_detail_area {
    background-color: #FFF9EB;
    padding: 80px 0 100px;
}

.news_detail_wrapper {
    max-width: 700px;
    margin: 0 auto;
}


.news_detail_area_inner h2 {
    margin: 30px 0;
    font-size: 36px;
}

.news_detail_area_inner p {
    line-height: 2;
}


.news_detail_area_inner picture {
    display: block;
    margin: 30px 0;
}

.news_detail_btn a {
    display: block;
    border-radius: 25px;
    border: 1px solid #3CAB84;
    color: #3CAB84;
    background-color: #fff;
    width: 270px;
    height: 50px;
    line-height: 50px;
    margin: 80px auto 0;
    background-image: url(../images/btn_arrow_left.png);
    background-size: 24px 24px;
    background-position: 10px center;
}

.detail_hover:hover {
    background-color: #3CAB84;
    color: #fff;
    transition: .3s ease-in-out;
}

.news_detail_ttl {
    font-size: 20px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

.news_detail_ttl span {
    display: inline-block;
    font-size: 16px;
    width: 120px;
    height: 30px;
    line-height: 30px;
    color: #3CAB84;
    border: 1px solid #3CAB84;
    border-radius: 30px;
    text-align: center;
    margin-right: 20px;
}

@media screen and (max-width: 768px) {
    .news_detail_btn a {
        height: 60px;
        font-size: 18px;
        line-height: 60px;
        margin: 60px auto 0;
        border-radius: 30px;

    }

    .news_detail_wrapper {
        padding: 0 20px;
    }

    #news_detail_area {
        padding: 50px 0;
    }

    .news_detail_area_inner h2 {
        margin: 20px 0 30px;
        font-size: 28px;
    }

    .news_detail_area_inner picture {
        margin: 50px 0 20px;
    }

    .news_detail_ttl span {
        margin-right: 10px;
    }

    .news_detail_ttl {
        font-size: 18px;
    }
}



/*=============================
      お問い合わせページ部分
==============================*/

/*------------------------------
　各お問い合わせページの共通部分
---------------------------------*/

/* メインビジュアル */
#contact_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.contact_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

.contact_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}

@media screen and (max-width: 768px) {

    .contact_main_bg_inner {
        padding: 70px 20px 52px;
    }

    .contact_main_bg_inner h1 {
        margin-top: 25px;
        font-size: 32px;
    }
}


.contact_section {
    background-color: #FFF9EB;
    padding: 80px 0 100px;
}

.contact_common_step {
    display: flex;
    justify-content: space-between;
}

.contact_common_step li {
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact_common_step li p {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
    font-size: 20px;
}

.contact_common_step li span:first-of-type,
.contact_common_step li span:nth-of-type(2) {
    font-family: 'M PLUS 1p', sans-serif;
}

.contact_common_step li span:first-of-type {
    font-size: 24px;
}

.contact_common_step li span:nth-of-type(2) {
    margin-right: 27px;
    font-size: 36px;
}

.contact_common_step li:nth-child(odd) {
    width: 26%;
    border-radius: 20px;
    background-color: #fff;
}

.contact_common_step li:nth-child(even) {
    width: 11%;
    background-image: url(../images/contact_arrows.png);
    background-position: center center;
    background-size: 16px 24px;
}

.contact_step_select {
    background-color: #3CAB84 !important;
    color: #fff;
}

.contact_step_non_select {
    color: #3CAB84;
}

.contact_txt {
    margin-top: 50px;
    text-align: center;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
}

.form_wrapper {
    max-width: 980px;
    margin: 0 auto;
}


/*-----------------
     ボタン形状 
-------------------*/
.contact_form_btn {
    display: flex;
    justify-content: space-between;
    max-width: 590px;
    margin: 0 auto;
}

.contact_form_btn a {
    width: 45%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background-color: #fff;
    color: #3CAB84;
    border-radius: 25px;
    border: 1px solid #3CAB84;
    font-size: 18px;
    background-image: url(../images/btn_arrow_left.png);
    background-size: 24px 24px;
    background-position: 10px center;
}

.contact_form_btn a:nth-of-type(2) {
    background-color: #3CAB84;
    background-image: url(../images/btn_arrow.png);
    color: #fff;
    border: none;
}

.contact_hover:hover {
    background-color: #3CAB84;
    color: #fff !important;
    transition: .3s ease-in-out;
}


@media screen and (max-width: 768px) {

    .contact_section {
        padding: 50px 0 60px;
    }

    .contact_common_step li {
        height: 80px;
    }

    .contact_common_step li p {
        text-align: center;
        font-size: 18px;
        line-height: 1.2;
    }

    .contact_common_step li span:first-of-type {
        font-size: 20px;
    }

    .contact_common_step li span:nth-of-type(2) {
        margin-right: 0;
        font-size: 30px;
    }
}

/* @media screen and (max-width: 600px) {
    .contact_form_btn {
        flex-direction: column;
        gap: 20px;
    }

    .contact_form_btn a {
        width: 72%;
        margin: 0 auto;
        min-width: 270px;
    }
} */



/*=============================
      お問い合わせページ・TOP
==============================*/

#form_area_top {
    margin-top: 50px;
}

.contact_form_method {
    text-align: center;
}

#contact_txt_top p:first-of-type {
    margin-bottom: 5px;
}

#form_area_top form table tr th {
    text-align: left;
    font-size: 20px;
    font-family: 'Zen Maru Gothic', sans-serif;
}

@media screen and (min-width: 769px) {
    #form_area_top form table tr th {
        vertical-align: top;
        padding-top: 14px;
    }
}

.contact_Req_tag {
    display: inline-block;
    width: 50px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    color: #fff;
    background-color: #C11600;
    border-radius: 5px;
    margin: 0 5px;
    font-size: 16px;
}



/* 追記 */
#form_area_top form table tr:nth-of-type(8) td p:nth-of-type(2) {
    margin-top: 1rem;
}

#form_area_top form table tr td input,
#form_area_top form table tr td select,
#form_area_top form table tr td textarea {
    background-color: #fff;
    border-radius: 5px;
    border: 1px solid #D3CAC4;
    width: 100%;
    height: 50px;
    padding: 14px 20px;
}

#form_area_top form table tr td input {
    width: 58%;
}

#form_area_top form table tr:nth-of-type(6) td input {
    width: 100%;
}

#form_area_top form table tr td textarea {
    min-height: 100px;
}

#form_area_top form table tr td p {
    margin: 8px 0;
    font-feature-settings: "palt";
}

#form_area_top form table tr td select {
    background-image: url(../images/form_aroow_option.png);
    background-size: 10px 15px;
    background-position: right 20px center;
    width: 27.5%;
    min-width: 187px;
    font-feature-settings: "palt";
    line-height: 1;
}

#form_area_top form table {
    border-collapse: separate;
    border-spacing: 0px 30px;
    width: 100%;
}

#form_area_top form table tr:last-of-type th {
    padding-top: 0;
}

.contact_form_method {
    text-align: center;
    display: flex;
    justify-content: center;
}

.contact_form_method a {
    color: #3CAB84;
    text-decoration: underline;
    margin-left: 20px;
}

.contact_form_method input[type="checkbox"] {
    display: none;
}

/* 
.contact_form_method .checkmark {
    display: block;
    height: 25px;
    width: 25px;
    background-color: #fff;
    border: 1px solid #D3CAC4;
    border-radius: 5px;
    position: relative;
}


.contact_form_method input:checked~.checkmark {
    background-color: #3CAB84;
}

.contact_form_method .checkmark span.check_mark_inner {
    position: absolute;
    width: 12px;
    height: 8px;
    left: 6px;
    top: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
} */


/* 追記 */

/* オリジナルチェックボックスのスタイル */
.contact_form_method .check_mark_inner {
    display: block;
    height: 25px;
    width: 25px;
    background-color: #fff;
    border: 1px solid #D3CAC4;
    border-radius: 5px;
    position: relative;
}

/* 選択したら背景を変更する */
.contact_form_method input:checked~.check_mark_inner {
    background-color: #3CAB84;
}

.contact_form_method .check_mark_inner::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 8px;
    left: 6px;
    top: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}

/* 
.contact_form_method p.error {
    display: none;
} */



section.contact_tel_method {
    width: 100%;
    min-height: 178px;
    margin-top: 80px;
    padding: 50px 0;
    display: flex;
    gap: 50px;
    align-items: baseline;
    justify-content: center;
    background-color: #fff;
    border-radius: 30px;
}

section.contact_tel_method p {
    font-size: 24px;
}

section.contact_tel_method div p {
    font-size: 16px;
}

section.contact_tel_method div p:first-of-type {
    font-size: 36px;
    color: #3CAB84;
    margin-bottom: 10px;
    padding-left: 72px;
    background-image: url(../images/contact_tel_icon.png);
    background-size: 50px 50px;
    background-position: left center;
}


section.contact_tel_method div p:first-of-type a {
    display: block;
    color: #3CAB84;
}

#contact_form_btn_top {
    margin-top: 30px;
}

/* 追記 */

input.btn_from {
    width: 45%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 25px;
    font-size: 16px;
    background-image: url(../images/btn_arrow.png);
    background-size: 24px 24px;
    background-position: 10px center;
    background-color: #3CAB84;
    color: #fff;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

input.btn_from:hover {
    opacity: .5;
    transition: .3s ease-in-out;
}

@media screen and (max-width: 600px) {
    input.btn_from {
        width: 72%;
        margin: 0 auto;
        min-width: 270px;
    }
}

/* 
.contact_form_method p.error {
    display: none;
} */

p.error {
    color: #C11613;
}

.bg_error select,
.bg_error input,
.bg_error span.check_mark_inner {
    border-color: #C11613 !important;
    background-color: #FFE8E8 !important;
}

.bg_error select option {
    background-color: #FFF;
}

.contact_form_method p.error {
    text-align: left;
    margin-top: 8px;
    padding-left: 10px;
}

.bg_error span.check_mark_inner::after {
    border-color: #FFE8E8
}


.bg_error input:checked~span.check_mark_inner {
    background-color: #3CAB84 !important;
    color: #fff !important;
    border: #D3CAC4;
}


.bg_error input:checked~span.check_mark_inner::after {
    border-color: #fff;
}

.bg_error_inner_info {
    flex-direction: column;
    margin-bottom: 0 !important;
}



/* .contact_form_method:has(p.error) span.check_mark_inner {
    border-color: #C11613;
    background-color: #FFE8E8;
}

.contact_form_method:has(p.error) span.check_mark_inner::after {
    border-color: #FFE8E8;
} */

/* 選択したら背景を変更する */
/* .contact_form_method:has(p.error) input:checked~.check_mark_inner {
    background-color: #3CAB84;
    border-color: #D3CAC4;
}

.contact_form_method:has(p.error) input:checked~.check_mark_inner:after {
    border-color: #FFF;
} */


@media screen and (min-width: 769px) and (max-width: 830px) {
    section.contact_tel_method {
        gap: 20px;
    }
}

@media screen and (max-width: 768px) {
    section.contact_tel_method {
        width: 100%;
        min-height: 213px;
        margin-top: 60px;
        padding: 20px 20px 30px;
        display: flex;
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }

    #form_area_top form table tr td input {
        width: 100%;
    }

    .contact_form_method a {
        margin-left: 8px;
    }

    section.contact_tel_method p {
        font-size: 20px;
    }

    section.contact_tel_method div p:nth-of-type(2) {
        text-align: center;
    }

    section.contact_tel_method div p:first-of-type {
        font-size: 18px;
        text-align: center;
        padding-left: 0;
        background-size: 30px 30px;
        background-position: 10px center;
        line-height: 60px;
        height: 60px;
        border: 1px solid #3CAB84;
        border-radius: 30px;
    }

    #form_area_top form table {
        border-spacing: 0px 0px;
    }

    #form_area_top form table tr {
        display: flex;
        flex-direction: column;
        margin-bottom: 30px;
    }

    #form_area_top form table tr th {
        margin-bottom: 8px;
        font-size: 18px;
    }

    #contact_txt_top p {
        font-size: 18px;
    }
}

@media screen and (max-width: 600px) {
    #contact_txt_top {
        text-align: left;
        margin-top: 30px;
    }

    #contact_txt_top p:first-of-type {
        margin-bottom: 10px;
    }

    #form_area_top {
        margin-top: 30px;
    }
}


@media screen and (max-width: 440px) {
    .contact_form_method .bg_error_inner {
        text-align: left;
    }

    .contact_form_method .bg_error_inner label {
        font-feature-settings: "palt";
        margin-left: 8px;
        font-size: 15.5px;
    }

    .contact_form_method .bg_error_inner a {
        margin-left: 0px;
    }

}


/*========================================
    お問い合わせページ・バリデーション部分
===========================================*/
/* 
#form_area_top form table tr td input,
#form_area_top form table tr td select,
#form_area_top form table tr td textarea,
.contact_form_method .check_mark_inner {
    background-color: #FFE8E8;
    border-color: #C11613;
} */



/*=============================
    お問い合わせページ・確認
==============================*/

#form_area_confirm {
    margin-top: 20px;
}

#contact_txt_confirm p {
    font-size: 20px;
}

#form_area_confirm tr {
    margin-bottom: 30px;
}

#form_area_confirm th {
    text-align: left;
    font-size: 20px;
    font-family: 'Zen Maru Gothic', sans-serif;
    width: calc(100% / 4);
}


#form_area_confirm table {
    border-collapse: separate;
    border-spacing: 0px 30px;
    width: 100%;
    margin-bottom: 30px;
}

/* 追記 */
#contact_form_btn_confirm form {
    width: 45%;
}

#contact_form_btn_confirm input.btn_from {
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background-color: #fff;
    color: #3CAB84;
    border-radius: 25px;
    border: 1px solid #3CAB84;
    font-size: 18px;
    background-image: url(../images/btn_arrow_left.png);
    background-size: 24px 24px;
    background-position: 10px center;
}

#contact_form_btn_confirm form:nth-of-type(2) input.btn_from {
    background-color: #3CAB84;
    color: #fff;
    border: none;
    background-image: url(../images/btn_arrow.png);
}

#contact_form_btn_confirm form:first-of-type input.btn_from:hover {
    background-color: #3CAB84;
    transition: .3s ease-in-out;
    color: #fff;
    opacity: 1;
}



@media screen and (max-width: 768px) {

    #form_area_confirm tr {
        display: flex;
        flex-direction: column;
    }

    #form_area_confirm th {
        font-size: 18px;
        width: 100%;
        margin-bottom: 5px;
    }

    #contact_txt_confirm {
        margin-top: 40px;
    }

    #contact_txt_confirm p {
        font-size: 18px;
    }

    #form_area_confirm {
        margin-top: 10px;
    }

    #form_area_confirm table {
        margin-bottom: 20px;
    }

}



@media screen and (max-width: 600px) {
    #contact_txt_confirm p {
        text-align: left;
    }


    /* 追記 */

    #contact_form_btn_confirm input.btn_from {
        width: 72%;
        margin: 0 auto;
        min-width: 270px;
    }

    #contact_form_btn_confirm form:first-of-type input.btn_from {
        margin-top: 20px;
    }

    #contact_form_btn_confirm form {
        width: 100%;
        text-align: center;
    }



}


/*=============================
    お問い合わせページ・完了
==============================*/


#form_area_complete {
    margin-top: 50px;
}

#form_area_complete p {
    text-align: center;
}

#form_area_complete p:first-of-type {
    line-height: 2;
}

#form_area_complete h2 {
    margin-bottom: 30px;
    font-size: 24px;
}

#form_area_complete p:nth-of-type(2) {
    margin: 30px 0;
    font-size: 20px;
    font-weight: bold;
}

@media screen and (max-width: 768px) {

    #form_area_complete h2 {
        margin-bottom: 40px;
        font-size: 26px;
    }

    #form_area_complete {
        margin-top: 40px;
    }

    #form_area_complete p:first-of-type,
    #form_area_complete p:nth-of-type(3) {
        text-align: left;
        line-height: 2;
    }

    #form_area_complete p:nth-of-type(2) {
        margin: 20px 0;
        font-size: 18px;
    }
}


/* -----------------------------
    ボタン共通部分 (600px以下)
--------------------------------*/

@media screen and (max-width: 600px) {
    .contact_form_btn {
        flex-direction: column-reverse;
        /* gap: 20px; */
    }

    .contact_form_btn a {
        width: 72%;
        margin: 0 auto;
        min-width: 270px;
    }

    .contact_form_btn a:first-of-type {
        margin-top: 20px;
    }
}



/*============================
        ブログページ 
==============================*/


/* --------------------------
      メインビジュアル 
-----------------------------*/

#blog_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.blog_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

.blog_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}

@media screen and (max-width: 768px) {

    .blog_main_bg_inner {
        padding: 70px 20px 52px;
    }

    .blog_main_bg_inner h1 {
        margin-top: 25px;
        font-size: 32px;
    }
}


/* -----------------------
        メイン 
-------------------------*/

#blog_area {
    background-color: #FFF9EB;
    padding: 70px 0 100px;
}

.blog_area_list ul {
    display: flex;
    max-width: 460px;
    justify-content: space-between;
    text-align: center;
    margin: 20px 0 50px;
}

.blog_area_list ul li {
    border: 1px solid #3CAB84;
    border-radius: 4px;
    background-color: #fff;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

.blog_area_list ul li a {
    display: block;
    color: #3CAB84;
    height: 30px;
    line-height: 30px;
}

.blog_area_list ul li:first-of-type,
.blog_area_list ul li:nth-of-type(2) {
    width: 28%;
    min-width: 130px;
}

.blog_area_list ul li:last-of-type {
    width: 39%;
    min-width: 180px;
}

#blog_area ul.article_list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 40px;
}

#blog_area ul.article_list li {
    width: calc((100% - 120px) / 4);
    border-radius: 10px;
    background-color: #fff;
    min-width: 240px;
    border: 1px solid #3CAB84;
    overflow: hidden;
}


#blog_area ul.article_list li a {
    display: block;
}

#blog_area ul.article_list li a img {
    aspect-ratio: 240 / 135;
    object-fit: cover;
}


@media screen and (max-width: 1150px) {

    #blog_area ul.article_list li {
        width: calc((100% - 80px) / 3);
    }
}

@media screen and (max-width: 880px) {

    #blog_area ul.article_list {
        gap: 40px 20px;
    }

    #blog_area ul.article_list li {
        width: calc((100% - 40px) / 3);
    }
}

@media screen and (max-width: 840px) {

    #blog_area ul.article_list {
        gap: 40px 40px;
    }

    #blog_area ul.article_list li {
        width: calc((100% - 40px) / 2);
    }
}



#blog_area ul.article_list li section {
    padding: 0 20px 30px;
}

#blog_area ul.article_list li h3 {
    margin: 20px 0 14px;
    font-size: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
    text-align: center;
}

#blog_area ul.article_list li h3 span:first-of-type {
    font-size: 14px;
    /* width: 80px; */
    max-width: 120px;
    padding: 0 10px;
    height: 20px;
    line-height: 20px;
    background-color: #3CAB84;
    color: #fff;
    border-radius: 2px;
}

#blog_area ul.article_list li h4 {
    font-size: 18px;
}

#blog_area ul.article_list li p {
    margin-top: 7px;
}

@media screen and (max-width: 768px) {
    #blog_area ul.article_list li {
        width: calc((100% - 40px) / 2);
    }

    .blog_area_list ul {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 10px;
        margin: 20px 0 30px;
    }

    .blog_area_list ul li:first-of-type {
        width: 120px;
        min-width: 120px;
    }

    .blog_area_list ul li:nth-of-type(2) {
        width: 110px;
        min-width: 110px;
    }

    .blog_area_list ul li:last-of-type {
        width: 150px;
        min-width: 150px;
    }
}

@media screen and (max-width: 580px) {
    #blog_area ul.article_list li {
        width: 100%;
    }
}



/*============================
    ブログページ・詳細
==============================*/

.blog_detail_btn a {
    display: block;
    border-radius: 25px;
    border: 1px solid #3CAB84;
    color: #3CAB84;
    background-color: #fff;
    font-size: 18px;
    width: 270px;
    height: 50px;
    line-height: 50px;
    margin: 80px auto 0;
    background-image: url(../images/btn_arrow_left.png);
    background-size: 24px 24px;
    background-position: 10px center;
}

.blog_detail_wrapper {
    max-width: 700px;
    margin: 0 auto;
}

.blog_detail_ttl {
    font-size: 20px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

.blog_detail_ttl span {
    display: inline-block;
    margin-right: 20px;
    width: 180px;
    height: 30px;
    line-height: 30px;
    background-color: #3CAB84;
    color: #fff;
    border-radius: 4px;
    font-size: 18px;
    text-align: center;
}

.blog_detail_area_inner h2 {
    margin: 30px 0;
    font-size: 36px;
}

.blog_detail_area_inner picture {
    display: block;
    margin: 30px 0;
}

.blog_detail_area_inner p {
    line-height: 2;
}

#blog_detail_area {
    background-color: #FFF9EB;
    padding: 70px 0 100px;
}


@media screen and (max-width: 768px) {
    .blog_detail_btn a {
        height: 60px;
        font-size: 18px;
        line-height: 60px;
        margin: 60px auto 0;
        border-radius: 30px;
    }

    .blog_detail_wrapper {
        padding: 0 20px;
    }

    #blog_detail_area {
        padding: 50px 0;
    }

    .blog_detail_area_inner h2 {
        margin: 20px 0 30px;
        font-size: 28px;
    }

    .blog_detail_area_inner picture {
        margin: 50px 0 20px;
    }

    .blog_detail_ttl span {
        margin-right: 10px;
        font-size: 14px;
        width: 130px;
        height: 20px;
        line-height: 20px;
    }

    .blog_detail_ttl {
        font-size: 18px;
    }
}



/*============================
        採用情報ページ 
==============================*/


/* --------------------------
      メインビジュアル 
-----------------------------*/

.recruit_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

#recruit_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.recruit_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}

@media screen and (max-width: 768px) {

    .recruit_main_bg_inner {
        padding: 70px 20px 52px;
    }

    .recruit_main_bg_inner h1 {
        margin-top: 25px;
        font-size: 32px;
    }
}


/* --------------------------
    セクション共通
-----------------------------*/

.recruit_section h2 {
    font-size: 32px;
}

.recruit_section h3 {
    font-size: 16px;
    letter-spacing: 0.1em;
    margin-top: .5rem;
}

@media screen and (max-width: 768px) {
    .recruit_section h2 {
        font-size: 28px;
    }
}

/* --------------------------
      メッセージ
-----------------------------*/

#recru_mess_sec {
    padding: 80px 0;
    background-color: #FFF9EB;
}

.recru_mess_sec_inner {
    position: relative;
}

img.recru_mess_illust_6 {
    position: absolute;
    width: 103px;
    transform: scale(-1, 1);
    right: 13%;
    bottom: -130px;
}


.recru_mess_sec_inner section {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}

.recru_mess_sec_inner section picture {
    display: block;
    width: 37%;
}

.recru_mess_sec_inner section div {
    width: 58%;
}

.recru_mess_sec_inner section div p {
    line-height: 2;
}


.recru_mess_sec_inner section div p:first-of-type {
    margin-bottom: 30px;
}


.recru_mess_sec_inner section div p:last-of-type {
    /* padding-left: 36px; */
    line-height: 1;
}


.recru_mess_sec_inner section div ul li {
    margin-bottom: 6px;
    padding-left: 36px;
    background-repeat: no-repeat;
    background-size: 25px;
    line-height: 2;
}

.recru_mess_sec_inner section div ul li:first-of-type {
    background-image: url(../images/mid_caree_circle01.png);
}

.recru_mess_sec_inner section div ul li:nth-of-type(2) {
    background-image: url(../images/mid_caree_circle02.png);
}

.recru_mess_sec_inner section div ul li:nth-of-type(3) {
    background-image: url(../images/mid_caree_circle03.png);
}




@media screen and (max-width: 768px) {

    #recru_mess_sec {
        padding: 50px 0 60px;
    }

    .recru_mess_sec_inner section {
        flex-direction: column;
        margin-top: 30px;
    }

    .recru_mess_sec_inner section picture {
        width: 100%;
    }

    .recru_mess_sec_inner section div {
        width: 100%;
        margin-top: 30px;
    }

    img.recru_mess_illust_6 {
        width: 62px;
        right: 6%;
        bottom: -90px;
    }

    .recru_mess_sec_inner section picture img {
        border-radius: 20px;
    }
}

@media screen and (min-width:769px) and (max-width:1160px) {

    .recru_mess_sec_inner section picture img {
        height: 100%;
        object-fit: cover;
        border-radius: 20px;
    }

    .recru_mess_sec_inner section picture,
    .recru_mess_sec_inner section div {
        width: 48%;
    }
}

@media screen and (min-width: 1161px) {

    .recru_mess_sec_inner section picture img {
        border-radius: 20px;
    }
}


/* --------------------------
      かわせみの強み
-----------------------------*/

#recru_stre_sec {
    padding: 80px 0;
}


.recru_stre_sec_inner section {
    background-color: #FFF9EB;
    border-radius: 30px;
    margin-bottom: 30px;
    padding: 40px 0 50px;
}


.recru_stre_sec_inner section:first-of-type {
    margin-top: 40px;
}

.recru_stre_sec_inner section:nth-of-type(3) {
    margin-bottom: 0;
}

.recru_stre_sec_inner section dl {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.recru_stre_sec_inner section dl dt img {
    width: 93px;
}

.recru_stre_sec_inner section dl dd {
    font-size: 24px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

.recru_stre_sec_inner section p {
    margin-top: 20px;
    line-height: 2;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .recru_stre_sec_inner section dl {
        flex-direction: column;
        gap: 10px;
    }

    .recru_stre_sec_inner section p {
        text-align: left;
    }

    #recru_stre_sec {
        padding: 50px 0 60px;
    }

    .recru_stre_sec_inner section {
        border-radius: 20px;
        margin-bottom: 20px;
        padding: 20px;
    }

    .recru_stre_sec_inner section:first-of-type {
        margin-top: 30px;
    }

    .recru_stre_sec_inner section dl dd {
        font-size: 18px;
    }
}




/* --------------------------
      福利厚生
-----------------------------*/

#recru_benef_sec {
    background-color: #FFF9EB;
    padding: 80px 0;
}

.recru_benef_sec_inner ul {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}

.recru_benef_sec_inner {
    position: relative;
}

img.recru_benef_illust_7 {
    position: absolute;
    width: 100px;
    left: 4%;
    top: -40px;
    transform: scale(-1, 1);
}


.recru_benef_sec_inner ul li {
    display: flex;
    /* align-items: center; */
    /* justify-content: space-between; */
    width: 31%;
    background-color: #FFFFFF;
    border-radius: 10px;
    padding: 20px 2%;
    gap: 18px;
}

.recru_benef_sec_inner ul li div {
    width: 69%;
}

.recru_benef_sec_inner ul li:first-of-type img {
    width: 58px;
}


.recru_benef_sec_inner ul li:nth-of-type(2) img {
    width: 58px;
}


.recru_benef_sec_inner ul li:nth-of-type(3) img {
    width: 58px;
}


#recru_benef_sec h4 {
    margin-bottom: .5rem;
    font-size: 24px;
    font-family: 'Zen Maru Gothic', sans-serif;
}


@media screen and (min-width: 769px) {
    .recru_benef_sec_inner ul li figure img {
        padding-top: .5rem;
    }
}


@media screen and (min-width: 769px) and (max-width: 1100px) {
    #recru_benef_sec h4 {
        font-size: 20px;
    }

    .recru_benef_sec_inner ul li {
        padding: 20px 0 20px 0.25rem;
        gap: 5px;
    }
}


@media screen and (max-width: 768px) {
    .recru_benef_sec_inner ul {
        flex-direction: column;
        margin-top: 30px;
    }

    .recru_benef_sec_inner ul li {
        width: 100%;
        align-items: center;
    }

    .recru_benef_sec_inner ul li:nth-of-type(2) {
        margin: 20px 0;
    }

    #recru_benef_sec {
        padding: 50px 0 60px;
    }

    #recru_benef_sec h4 {
        font-size: 20px;
    }

    img.recru_benef_illust_7 {
        width: 67px;
        right: 4%;
        top: -80px;
    }

}



/* --------------------------
     先輩インタビュー
-----------------------------*/


#recru_interv_sec {
    padding: 80px 0;
}

.recru_benef_sec__fp {
    margin: 50px 0;
    text-align: center;
}

.recru_interv_sec_inner {
    position: relative;
}

img.recru_interv_illust_5 {
    position: absolute;
    width: 100px;
    top: -40px;
    left: 10%;
}

.recru_interv_sec_inner section.recru_interv_items {
    display: flex;
    justify-content: space-between;
}

.recru_interv_sec_inner section.recru_interv_items div {
    width: 31%;
    background-color: #FFF9EB;
    border-radius: 30px;
}

.recru_interv_sec_inner section.recru_interv_items div a {
    display: block;
    padding: 50px;
}

.recru_interv_sec_inner section.recru_interv_items div h4 {
    margin: 10px 0;
}


.recru_interv_sec_inner section.recru_interv_items div p span {
    background-color: #3CAB84;
    display: block;
    color: #fff;
    border-radius: 5px;
    width: 100px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
    #recru_interv_sec {
        padding: 50px 0 60px;
    }

    img.recru_interv_illust_5 {
        position: absolute;
        width: 60px;
        top: -50px;
        left: 4%;
    }

    .recru_benef_sec__fp {
        margin: 30px 0 60px;
        text-align: left;
    }
}


@media screen and (min-width: 769px) and (max-width: 1000px) {
    .recru_interv_sec_inner section.recru_interv_items div a {
        padding: 30px;
    }
}


/* --------------------------
    応募はこちらから
-----------------------------*/

#recru_oubo_sec {
    background: url(../images/sec_main_bg.png) center center;
    padding: 110px 0;
}

#recru_oubo_sec h2,
#recru_oubo_sec h3 {
    color: #fff;
}

.recru_oubo_sec_btn {
    display: flex;
    max-width: 798px;
    margin: 20px auto 0;
    justify-content: space-between;
}

.recru_oubo_sec_btn a {
    display: block;
    background-color: #fff;
    border-radius: 40px;
    height: 80px;
    line-height: 80px;
    max-width: 360px;
    width: 45%;
    text-align: center;
    /* font-size: 24px; */
    font-size: clamp(20px, 2vw, 24px);
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
    padding-left: 23px;
    background-size: 35px;
    background-repeat: no-repeat;
    background-position: left 23px center;
}

.recru_oubo_sec_btn a:first-of-type {
    color: #5B7FDE;
    background-image: url(../images/rec_oubo_arrow_left.png);
}


.recru_oubo_sec_btn a:first-of-type:hover {
    background-color: #5B7FDE;
}

.recru_oubo_sec_btn a:nth-of-type(2) {
    color: #E65D78;
    background-image: url(../images/rec_oubo_arrow_right.png);
}

.recru_oubo_sec_btn a:nth-of-type(2):hover {
    background-color: #E65D78;
}

.recru_oubo_sec_btn a:hover {
    color: #fff;
    transition: .3s ease-in-out;
}


@media screen and (max-width: 768px) {
    #recru_oubo_sec {
        padding: 60px 0;
    }

    .recru_oubo_sec_btn {
        flex-direction: column;
        margin: 26px 0 0;
        gap: 30px;
    }

    .recru_oubo_sec_btn a {
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
        font-size: 18px;
    }
}




/*============================
       中途採用ページ 
==============================*/


/* --------------------------
      メインビジュアル共通
-----------------------------*/

.mid_career_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

#mid_career_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.mid_career_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}

@media screen and (max-width: 768px) {

    .mid_career_main_bg_inner {
        padding: 70px 20px 52px;
    }

    .mid_career_main_bg_inner h1 {
        margin-top: 25px;
        font-size: 32px;
    }
}


/* 応募方法 */

#mid_caree_entry_sec {
    background-color: #E2EAFF;
    padding: 80px 0;
}

.mid_caree_secton h2 {
    font-size: 36px;
}

.mid_caree_secton h3 {
    font-size: 16px;
    letter-spacing: 0.1em;
}

.mid_caree_entry_sec_inner section {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}

.mid_caree_entry_sec_inner section div {
    background-color: #FFFFFF;
    border-radius: 30px;
    width: 48%;
    padding: 30px 0;
    text-align: center;
}

.mid_caree_entry_sec_inner section div a {
    display: block;
    max-width: 270px;
    height: 50px;
    line-height: 50px;
    margin: 20px auto 0;
    border-radius: 25px;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
    background-repeat: no-repeat;
    background-position: 10px center;
}

.mid_caree_entry_sec_inner section div:first-of-type a {
    border: 1px solid #3CAB84;
    color: #3CAB84;
    background-image: url(../images/contact_tel_icon.png);
    background-size: 36px;
}

.mid_caree_entry_sec_inner section div:nth-of-type(2) a {
    background-color: #3CAB84;
    color: #fff;
    background-image: url(../images/btn_arrow.png);
    background-size: 24px;
}

.mid_caree_entry_sec_inner section div h4 {
    font-size: 24px;
    margin-bottom: 1rem;
}


@media screen and (max-width: 768px) {
    #mid_caree_entry_sec {
        padding: 50px 0 60px;
    }

    .mid_caree_entry_sec_inner section {
        flex-direction: column;
        margin-top: 30px;
    }

    .mid_caree_entry_sec_inner section div {
        width: 100%;
        padding: 20px 0;
    }

    .mid_caree_entry_sec_inner section div:first-of-type {
        margin-bottom: 20px;
    }

    .mid_caree_secton h2 {
        font-size: 28px;
    }

    .mid_caree_entry_sec_inner section div h4 {
        font-size: 20px;
    }

    .mid_caree_entry_sec_inner section div a {
        line-height: 60px;
        height: 60px;
        border-radius: 30px;
    }

    .mid_caree_entry_sec_inner section div:first-of-type a {
        background-size: 30px;
    }
}



/* 募集要項 */

#mid_caree_desc_sec {
    padding: 80px 0 130px;
}

.mid_caree_desc_sec_inner {
    background-image: url(../images/illust_3.png);
    background-repeat: no-repeat;
    background-position: right 4% top;
    background-size: 83px;
    position: relative;
    max-width: 980px;
    margin: 0 auto;
}

img.mid_caree_desc_illust {
    position: absolute;
    top: -85px;
    left: 0;
    width: 117px;
    transform: scale(-1, 1);
}

#mid_caree_desc_sec table tr th {
    width: 20%;
    text-align: left;
    font-family: 'Zen Maru Gothic', sans-serif;
    vertical-align: top;
    font-size: 20px;
}

#mid_caree_desc_sec table {
    border-collapse: collapse;
    margin: 60px auto;
}

#mid_caree_desc_sec table tr td,
#mid_caree_desc_sec table tr th {
    padding: 19px 0 26px;
    border-bottom: 1px solid #D3CAC4;
    line-height: 2;
}

#mid_caree_desc_sec table tr:first-of-type td,
#mid_caree_desc_sec table tr:first-of-type th {
    border-top: 1px solid #D3CAC4;
}

#mid_caree_desc_sec table tr:nth-of-type(4) ul li {
    padding-left: 1rem;
    position: relative;
    margin-bottom: 1rem;
}

#mid_caree_desc_sec table tr:nth-of-type(4) ul li:before {
    content: "";
    display: block;
    background-color: #3CAB84;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.mid_caree_desc_sec_inner section {
    margin-bottom: 40px;
}

.mid_caree_desc_sec_inner section h4 {
    margin-bottom: 30px;
    font-size: 24px;
}

.mid_caree_desc_sec_inner section address {
    margin-top: 40px;
    line-height: 2;
    letter-spacing: 0.05em;
}

.mid_caree_desc_sup {
    max-width: 840px;
    margin: 0 auto;
}

.mid_caree_desc_sup p {
    padding-left: 36px;
    background-size: 25px;
    background-repeat: no-repeat;
    background-position: left top;
    margin-bottom: 10px;
    line-height: 2;
}

.mid_caree_desc_sup p:first-of-type {
    background-image: url(../images/mid_caree_circle01.png);
}

.mid_caree_desc_sup p:nth-of-type(2) {
    background-image: url(../images/mid_caree_circle02.png);
}

.mid_caree_desc_sup p:nth-of-type(3) {
    background-image: url(../images/mid_caree_circle03.png);
}

.mid_caree_desc_sup p:nth-of-type(4) {
    background-image: url(../images/mid_caree_circle04.png);
}

.mid_caree_form {
    max-width: 840px;
    margin: 0 auto;
}


@media screen and (max-width: 768px) {
    #mid_caree_desc_sec table tr {
        display: flex;
        flex-direction: column;
    }

    #mid_caree_desc_sec table tr th {
        width: 100%;
    }

    .mid_caree_desc_sec_inner {
        background-size: 54px;
    }

    #mid_caree_desc_sec table tr td,
    #mid_caree_desc_sec table tr th {
        line-height: 1.3;
    }

    #mid_caree_desc_sec table tr td,
    #mid_caree_desc_sec table tr th,
    #mid_caree_desc_sec table tr:first-of-type th,
    #mid_caree_desc_sec table tr:first-of-type td {
        border: none;
    }

    #mid_caree_desc_sec table tr:nth-of-type(4) ul li,
    #mid_caree_desc_sec table tr:nth-of-type(4) p {
        line-height: 2;
    }

    img.mid_caree_desc_illust {
        position: absolute;
        top: -70px;
        left: 4%;
        width: 70px;
    }

    #mid_caree_desc_sec table tr td,
    #mid_caree_desc_sec table tr:first-of-type td {
        border-bottom: 1px solid #D3CAC4;
    }

    #mid_caree_desc_sec table tr:first-of-type th {
        border-top: 1px solid #D3CAC4;
    }

    #mid_caree_desc_sec {
        padding: 50px 0 60px;
    }

    #mid_caree_desc_sec table tr td {
        padding: 0 0 20px;
        line-height: 2;
    }

    #mid_caree_desc_sec table tr th {
        padding: 20px 0 0;
        margin-bottom: 5px;
        font-size: 18px;
    }

    #mid_caree_desc_sec table {
        margin: 30px auto;
    }

    #mid_caree_desc_sec table tr:nth-of-type(4) ul li:before {
        top: 10px;
        transform: translateY(0);
    }

    .mid_caree_desc_sec_inner section h4 {
        margin-bottom: 20px;
        font-size: 20px;
    }
}

@media screen and (max-width: 768px) and (min-width: 733px) {
    .mid_caree_desc_sup {
        width: 680px;
    }

    .mid_caree_form {
        width: 680px;
    }
}




/* ボタン部分 */
/* 共通 */

.btn_com_set {
    max-width: 270px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 25px;
}

.btn_com_colo_g {
    background-color: #3CAB84;
    color: #fff;
}

.btn_com_colo_w {
    background-color: #fff;
    color: #3CAB84;
}

/* /////////////////////////// */

.mid_caree_desc_btn {
    display: flex;
    flex-direction: column;
    max-width: 270px;
    margin: 0 auto;
    gap: 30px;
}

.mid_caree_desc_btn a {
    display: block;
    background-image: url(../images/btn_arrow.png);
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: left 10px center;
    font-size: 18px;
}

.mid_caree_desc_btn a:nth-of-type(2) {
    border: 1px solid #3CAB84;
    background-image: url(../images/btn_arrow_left.png);
}


/*-------------------------
       中途-応募
--------------------------*/

/* 応募フォーム共通 */

.mid_caree_form_item {
    background-color: #3CAB84 !important;
    color: #fff;
}

.mid_caree_form_item_st {
    color: #3CAB84;
}

.mid_caree_form_secton h2 {
    font-size: 36px;
    margin-bottom: .5rem;
}

.mid_caree_form_secton h3 {
    font-size: 16px;
    letter-spacing: 0.1em;
}

.mid_caree_form_secton {
    padding: 80px 0 100px;
    background-color: #FFF9EB;
}

.mid_caree_form_list {
    margin: 45px 0 50px;
}

.mid_caree_form_list ul {
    display: flex;
}

.mid_caree_form_list ul li {
    font-size: 20px;
    height: 75px;
    line-height: 75px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

.mid_caree_form_list ul li:nth-child(odd) {
    width: 26%;
    background-color: #fff;
    border-radius: 20px;
    text-align: center;
}

.mid_caree_form_list ul li:nth-child(even) {
    width: 11%;
    background-image: url(../images/mid_caree_form_arrow.png);
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center;
}

.mid_caree_form_list ul li strong {
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 24px;
    margin-right: 20px;
}

.mid_caree_form_list ul li span {
    font-size: 36px;
}

/* 必須タグ */
.mid_caree_Req_tag {
    display: inline-block;
    width: 50px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    color: #fff;
    background-color: #C11600;
    border-radius: 5px;
    margin: 0 5px;
    font-size: 16px;
}

.mid_caree_form_line {
    line-height: 2;
    font-size: 20px;
    text-align: center;
}

.mid_caree_form_area {
    max-width: 980px;
    margin: 50px auto 0;
}

.mid_caree_form_area #contact_form_btn_top input.btn_from {
    width: 45%;
    border-radius: 25px;
    background-color: #3CAB84;
    padding: 0;
    border: none;
}

#mid_caree_form_area_confirm #contact_form_btn_confirm form input {
    padding: 0;
}

/* 追記 */


@media screen and (max-width: 786px) {

    .mid_caree_form_area #contact_form_btn_top,
    .mid_caree_form_area .contact_form_method {
        flex-direction: row;
    }

}


@media screen and (max-width: 600px) {

    .mid_caree_form_area #contact_form_btn_top input.btn_from {
        width: 72%;
        margin: 0 auto;
        min-width: 270px;
    }

    .mid_caree_form_area #contact_form_btn_top {
        flex-direction: column-reverse;
    }

}


.mid_caree_form_btn {
    display: flex;
    max-width: 590px;
    margin: 30px auto 0;
    justify-content: space-between;
}

.mid_caree_form_btn li {
    max-width: 270px;
    width: 45%;
}

.mid_caree_form_btn li a {
    display: block;
    font-size: 18px;
    font-family: 'Zen Maru Gothic', sans-serif;
    background-image: url(../images/btn_arrow_left.png);
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: center left 10px;
}

.mid_caree_form_btn li:first-of-type a {
    border: 1px solid #3CAB84;
}

.mid_caree_form_btn li:nth-of-type(2) a {
    background-image: url(../images/btn_arrow.png);
}


@media screen and (max-width: 768px) {
    .mid_caree_form_secton {
        padding: 50px 0 60px;
    }


    .mid_caree_form_line {
        font-size: 18px;
        line-height: 1.5;
    }

    .mid_caree_form_secton h2 {
        font-size: 28px;
    }

    .mid_caree_form_list {
        margin: 30px 0;
    }

    .mid_caree_form_btn {
        max-width: 270px;
        flex-direction: column-reverse;
        /* gap: 20px; */
    }

    .mid_caree_form_btn li:nth-of-type(2) {
        margin-bottom: 20px;
    }

    .mid_caree_form_btn li {
        width: 100%;
    }

    .mid_caree_form_list ul li strong {
        font-size: 20px;
        margin-right: 0;
        display: block;
    }

    .mid_caree_form_list ul li span {
        font-size: 30px;
    }

    .mid_caree_form_list ul li {
        font-size: 18px;
        height: 81px;
        line-height: 1.2;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }

    .mid_caree_form_list ul li:nth-child(even) {
        background-size: 16px;
    }
}

@media screen and (max-width: 440px) {
    .mid_caree_form_line {
        text-align: left;
    }

    .mid_caree_form_area {
        margin: 30px auto 0;
    }
}






/*-------------------------
       中途-応募入力
--------------------------*/

.mid_caree_form_area form input,
.mid_caree_form_area form select {
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #D3CAC4;
    width: 58%;
    padding: 15px 20px;
    max-height: 50px;
    max-width: 400px;
}

.mid_caree_form_area form .mid_caree_form_area_address input {
    width: 69%;
    max-width: 100%;
}

.mid_caree_form_area form select {
    background-image: url(../images/form_aroow_op_mid.png);
    background-size: 10px;
    background-repeat: no-repeat;
    background-position: center right 20px;
    font-size: 16px;
    color: #40220F;
    padding: 13px 20px;
    width: 27%;
    max-width: 187px;
}

.mid_caree_form_area form div {
    margin-bottom: 30px;
    display: flex;
    /* justify-content: space-between; */
}


/* 追記 */
.mid_caree_form_area .contact_form_method label {
    width: auto;
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
}

.error_wrapper {
    margin: 0 !important;
    flex-direction: column;
    width: 69%;
}

.error_wrapper input,
.error_wrapper select {
    width: auto !important;
}

/* .mid_caree_form_area .error_wrapper:first-of-type {
    width: 27%;
} */


.mid_caree_form_area .contact_form_method label:nth-of-type(2) a {
    margin-left: 20px;
}

@media screen and (max-width: 768px) {
    .mid_caree_form_area .contact_form_method label:nth-of-type(2) a {
        margin-left: 8px;
    }

    p.error {
        margin-top: 10px;
    }

    .mid_caree_form_area .error_wrapper:first-of-type {
        width: 100%;
    }
}


.mid_caree_form_area form div section {
    width: 69%;
}

.mid_caree_form_area form div section input {
    width: 100%;
    max-width: 400px;
}

.mid_caree_form_area form div section p {
    margin: 10px 0;
}

.mid_caree_form_area form label {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 31%;
}

.mid_caree_form_area form .mid_caree_form_area_file input {
    padding: 10px 20px;
}

.mid_caree_form_area form .mid_caree_form_check label {
    font-size: 16px;
}

.mid_caree_form_area form .mid_caree_form_check label a {
    color: #3CAB84;
    text-decoration: underline;
}

.mid_caree_form_check .checkmark {
    display: block;
    height: 25px;
    width: 25px;
    background-color: #fff;
    border: 1px solid #D3CAC4;
    border-radius: 5px;
    position: relative;
}

.mid_caree_form_check {
    display: flex;
    justify-content: center;
}

.mid_caree_form_check label:nth-of-type(2) {
    width: auto !important;
    margin-left: 25px;
}

.mid_caree_form_check .checkmark span.check_mark_inner {
    position: absolute;
    width: 12px;
    height: 8px;
    left: 6px;
    top: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}

.mid_caree_form_check input:checked~.checkmark {
    background-color: #3CAB84;
}

.mid_caree_form_area form .mid_caree_form_check input[type="checkbox"] {
    display: none;
}


@media screen and (max-width: 768px) {
    .mid_caree_form_area form div {
        flex-direction: column;
    }

    .mid_caree_form_area form label {
        font-size: 18px;
        width: 100%;
        margin-bottom: 10px;
    }

    .mid_caree_form_area form select,
    .mid_caree_form_area form input,
    .mid_caree_form_area form div section,
    .mid_caree_form_area form .mid_caree_form_area_address input {
        width: 100%;
    }

    .mid_caree_form_area form input,
    .mid_caree_form_area form div section,
    .mid_caree_form_area form div section input {
        max-width: 100%;
    }

    /* .mid_caree_form_area form .mid_caree_form_area_address input {
        max-height: 80px;
        height: 80px;
    } */

    .mid_caree_form_check label:nth-of-type(2) {
        margin-left: 10px;
    }

    .mid_caree_form_area form .mid_caree_form_check label {
        text-align: left;
    }
}






/*-------------------------
       中途-応募確認
--------------------------*/

#mid_caree_form_area_confirm table tr {
    text-align: left;
}

#mid_caree_form_area_confirm table {
    margin-bottom: 50px;
    width: 100%;
}

#mid_caree_form_area_confirm table tr th {
    width: 31%;
    font-size: 20px;
    font-family: 'Zen Maru Gothic', sans-serif;
}

#mid_caree_form_area_confirm table tr th,
#mid_caree_form_area_confirm table tr td {
    padding: 15px 0;
}

#mid_caree_form_area_confirm table tr:first-of-type th,
#mid_caree_form_area_confirm table:first-of-type tr td {
    padding-top: 0;
}

#mid_caree_form_area_confirm table tr:last-of-type th,
#mid_caree_form_area_confirm table:last-of-type tr td {
    padding-bottom: 0;
}

.mid_caree_form_confirm_txt {
    font-size: 20px;
    text-align: center;
}

@media screen and (max-width: 900px) {
    #mid_caree_form_area_confirm table tr th {
        width: 40%;
    }
}


@media screen and (max-width: 768px) {
    .mid_caree_form_confirm_txt {
        font-size: 18px;
    }

    #mid_caree_form_area_confirm table tr {
        display: flex;
        flex-direction: column;
    }

    #mid_caree_form_area_confirm table tr th {
        font-size: 18px;
    }

    #mid_caree_form_area_confirm table tr th {
        padding: 7px 0;
        width: 100%;
    }

    #mid_caree_form_area_confirm table tr td {
        margin-bottom: 20px;
    }

    #mid_caree_form_area_confirm table {
        margin-bottom: 30px;
    }

    #mid_caree_form_area_confirm table tr:last-of-type th {
        padding-bottom: 7px;
    }

    #mid_caree_form_area_confirm table tr:last-of-type td {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 440px) {
    .mid_caree_form_confirm_txt {
        text-align: left;
    }
}


/*-------------------------
       中途-応募完了
--------------------------*/

#mid_caree_form_area_complete div {
    line-height: 2;
}

#mid_caree_form_area_complete h4 {
    font-size: 24px;
    margin-bottom: 30px;
}

#mid_caree_form_area_complete address {
    margin: 30px 0;
    font-size: 20px;
}

@media screen and (max-width: 768px) {


    #mid_caree_form_area_complete h4 {
        font-size: 20px;
        margin-bottom: 40px;
    }

    #mid_caree_form_area_complete address {
        margin: 30px 0 20px;
        font-size: 18px;
    }
}


@media screen and (max-width: 440px) {

    #mid_caree_form_area_complete div,
    #mid_caree_form_area_complete p {
        text-align: left;
    }

}


/*------------------------------
       バリデーション部分
--------------------------------*/


@media screen and (max-width: 440px) {
    .contact_form_method .bg_error_inner_info label {
        margin-bottom: 0;
        font-feature-settings: "palt";
        font-size: 15.5px;
    }

    .contact_form_method .bg_error_inner_info {
        text-align: left;
    }


}





/*============================
       新卒採用ページ 
==============================*/


/* --------------------------
      メインビジュアル共通
-----------------------------*/

.new_career_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

#new_career_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.new_career_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}

@media screen and (max-width: 768px) {

    .new_career_main_bg_inner {
        padding: 70px 20px 52px;
    }

    .new_career_main_bg_inner h1 {
        margin-top: 25px;
        font-size: 32px;
    }
}

/* 

.new_caree_desc_btn {
    display: flex;
    flex-direction: column;
    max-width: 270px;
    margin: 0 auto;
    gap: 30px;
}

.new_caree_desc_btn a {
    display: block;
    background-image: url(../images/btn_arrow.png);
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: left 10px center;
    font-size: 18px;
}

.new_caree_desc_btn a:nth-of-type(2) {
    border: 1px solid #3CAB84;
    background-image: url(../images/btn_arrow_left.png);
} */


/*-------------------------
       新卒-応募
--------------------------*/

/* 応募フォーム共通 */

.new_caree_form_item {
    background-color: #3CAB84 !important;
    color: #fff;
}

.new_caree_form_item_st {
    color: #3CAB84;
}

.new_caree_form_secton h2 {
    font-size: 36px;
    margin-bottom: .5rem;
}

.new_caree_form_secton h3 {
    font-size: 16px;
    letter-spacing: 0.1em;
}

.new_caree_form_secton {
    padding: 80px 0 100px;
    background-color: #FFF9EB;
}

.new_caree_form_list {
    margin: 45px 0 50px;
}

.new_caree_form_list ul {
    display: flex;
}

.new_caree_form_list ul li {
    font-size: 20px;
    height: 75px;
    line-height: 75px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

.new_caree_form_list ul li:nth-child(odd) {
    width: 26%;
    background-color: #fff;
    border-radius: 20px;
    text-align: center;
}

.new_caree_form_list ul li:nth-child(even) {
    width: 11%;
    background-image: url(../images/mid_caree_form_arrow.png);
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center;
}

.new_caree_form_list ul li strong {
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 24px;
    margin-right: 20px;
}

.new_caree_form_list ul li span {
    font-size: 36px;
}

/* 必須タグ */
.new_caree_Req_tag {
    display: inline-block;
    width: 50px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    color: #fff;
    background-color: #C11600;
    border-radius: 5px;
    margin: 0 5px;
    font-size: 16px;
}

.new_caree_form_line {
    line-height: 2;
    font-size: 20px;
    text-align: center;
}

.new_caree_form_area {
    max-width: 980px;
    margin: 50px auto 0;
}


.new_caree_form_btn {
    display: flex;
    max-width: 590px;
    margin: 30px auto 0;
    justify-content: space-between;
}

.new_caree_form_btn li {
    max-width: 270px;
    width: 45%;
}

.new_caree_form_btn li a {
    display: block;
    font-size: 18px;
    font-family: 'Zen Maru Gothic', sans-serif;
    background-image: url(../images/btn_arrow.png);
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: center left 10px;
}

.new_caree_form_btn li:first-of-type a {
    border: 1px solid #3CAB84;
    background-image: url(../images/btn_arrow_left.png);
}


@media screen and (max-width: 768px) {
    .new_caree_form_secton {
        padding: 50px 0 60px;
    }


    .new_caree_form_line {
        font-size: 18px;
        line-height: 1.5;
    }

    .new_caree_form_secton h2 {
        font-size: 28px;
    }

    .new_caree_form_list {
        margin: 30px 0;
    }

    .new_caree_form_btn {
        max-width: 270px;
        flex-direction: column-reverse;
        /* gap: 20px; */
    }

    .new_caree_form_btn li:nth-of-type(2) {
        margin-bottom: 20px;
    }

    .new_caree_form_btn li {
        width: 100%;
    }

    .new_caree_form_list ul li strong {
        font-size: 20px;
        margin-right: 0;
        display: block;
    }

    .new_caree_form_list ul li span {
        font-size: 30px;
    }

    .new_caree_form_list ul li {
        font-size: 18px;
        height: 81px;
        line-height: 1.2;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }

    .new_caree_form_list ul li:nth-child(even) {
        background-size: 16px;
    }
}


@media screen and (max-width: 440px) {
    .new_caree_form_line {
        text-align: left;
    }

    .new_caree_form_area {
        margin: 30px auto 0;
    }
}



/*-------------------------
       新卒-応募入力
--------------------------*/

.new_caree_form_area form input,
.new_caree_form_area form select {
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #D3CAC4;
    width: 58%;
    padding: 15px 20px;
    max-height: 50px;
    max-width: 400px;
}

.new_caree_form_area form .new_caree_form_area_address input {
    width: 69%;
    max-width: 100%
}

.new_caree_form_area form select {
    background-image: url(../images/form_aroow_op_mid.png);
    background-size: 10px;
    background-repeat: no-repeat;
    background-position: center right 20px;
    font-size: 16px;
    color: #40220F;
    padding: 13px 20px;
    width: 27%;
    max-width: 187px;
}

.new_caree_form_area form div {
    margin-bottom: 30px;
    display: flex;
    /* justify-content: space-between; */
}

.new_caree_form_area form div section {
    width: 69%;
}

.new_caree_form_area form div section input {
    width: 100%;
    max-width: 400px;
}

.new_caree_form_area form div section p {
    margin: 10px 0;
}

.new_caree_form_area form label {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 31%;
}

.new_caree_form_area form .new_caree_form_area_file input {
    padding: 10px 20px;
}

.new_caree_form_area form .new_caree_form_check label {
    font-size: 16px;
}

.new_caree_form_area form .new_caree_form_check label a {
    color: #3CAB84;
    text-decoration: underline;
}

.new_caree_form_check .checkmark {
    display: block;
    height: 25px;
    width: 25px;
    background-color: #fff;
    border: 1px solid #D3CAC4;
    border-radius: 5px;
    position: relative;
}

.new_caree_form_check {
    display: flex;
    justify-content: center;
}

.new_caree_form_check label:nth-of-type(2) {
    width: auto !important;
    margin-left: 25px;
}

.new_caree_form_check .checkmark span.check_mark_inner {
    position: absolute;
    width: 12px;
    height: 8px;
    left: 6px;
    top: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}

.new_caree_form_check input:checked~.checkmark {
    background-color: #3CAB84;
}

.new_caree_form_area form .new_caree_form_check input[type="checkbox"] {
    display: none;
}


@media screen and (max-width: 768px) {
    .new_caree_form_area form div {
        flex-direction: column;
    }

    .new_caree_form_area form label {
        font-size: 18px;
        width: 100%;
        margin-bottom: 10px;
    }

    .new_caree_form_area form select,
    .new_caree_form_area form input,
    .new_caree_form_area form div section,
    .new_caree_form_area form .new_caree_form_area_address input {
        width: 100%;
    }

    .new_caree_form_area form input,
    .new_caree_form_area form div section,
    .new_caree_form_area form div section input {
        max-width: 100%;
    }

    .new_caree_form_area form .new_caree_form_area_address input {
        max-height: 80px;
        height: 80px;
    }

    .new_caree_form_check label:nth-of-type(2) {
        margin-left: 10px;
    }

    .new_caree_form_area form .new_caree_form_check label {
        text-align: left;
    }
}



/*-------------------------
       新卒-応募確認
--------------------------*/

#new_caree_form_area_confirm table tr {
    text-align: left;
}

#new_caree_form_area_confirm table {
    margin-bottom: 50px;
    width: 100%;
}

#new_caree_form_area_confirm table tr th {
    width: 31%;
    font-size: 20px;
    font-family: 'Zen Maru Gothic', sans-serif;
}

#new_caree_form_area_confirm table tr th,
#new_caree_form_area_confirm table tr td {
    padding: 15px 0;
}

#new_caree_form_area_confirm table tr:first-of-type th,
#new_caree_form_area_confirm table:first-of-type tr td {
    padding-top: 0;
}

#new_caree_form_area_confirm table tr:last-of-type th,
#new_caree_form_area_confirm table:last-of-type tr td {
    padding-bottom: 0;
}

.new_caree_form_confirm_txt {
    font-size: 20px;
    text-align: center;
}

@media screen and (max-width: 900px) {
    #new_caree_form_area_confirm table tr th {
        width: 40%;
    }
}


@media screen and (max-width: 768px) {
    .new_caree_form_confirm_txt {
        font-size: 18px;
    }

    #new_caree_form_area_confirm table tr {
        display: flex;
        flex-direction: column;
    }

    #new_caree_form_area_confirm table tr th {
        font-size: 18px;
    }

    #new_caree_form_area_confirm table tr th {
        padding: 7px 0;
        width: 100%;
    }

    #new_caree_form_area_confirm table tr td {
        margin-bottom: 20px;
    }

    #new_caree_form_area_confirm table {
        margin-bottom: 30px;
    }

    #new_caree_form_area_confirm table tr:last-of-type th {
        padding-bottom: 7px;
    }

    #new_caree_form_area_confirm table tr:last-of-type td {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 440px) {
    .new_caree_form_confirm_txt {
        text-align: left;
    }
}


/*-------------------------
       新卒-応募完了
--------------------------*/

#new_caree_form_area_complete div {
    line-height: 2;
}

#new_caree_form_area_complete h4 {
    font-size: 24px;
    margin-bottom: 30px;
}

#new_caree_form_area_complete address {
    margin: 30px 0;
    font-size: 20px;
}

#new_caree_form_area_complete address span {
    font-size: 16px;
}

@media screen and (max-width: 768px) {


    #new_caree_form_area_complete h4 {
        font-size: 20px;
        margin-bottom: 40px;
    }

    #new_caree_form_area_complete address {
        margin: 30px 0 20px;
        font-size: 18px;
    }
}


@media screen and (max-width: 440px) {

    #new_caree_form_area_complete div,
    #new_caree_form_area_complete p {
        text-align: left;
    }
}


/*============================
       個人情報保護ページ 
==============================*/


/* --------------------------
      メインビジュアル共通
-----------------------------*/

.privacy_main_bg_inner {
    box-sizing: content-box;
    padding: 80px 4%;
}

#privacy_main_bg {
    background: url(../images/sec_main_bg.png) center center;
}

.privacy_main_bg_inner h1 {
    color: #fff;
    margin-top: 49px;
    font-size: 40px;
}

@media screen and (max-width: 768px) {

    .privacy_main_bg_inner {
        padding: 70px 20px 52px;
    }

    .privacy_main_bg_inner h1 {
        margin-top: 25px;
        font-size: 32px;
    }
}


/* --------------------------
      コンテンツ部分
-----------------------------*/

#privacy_sec {
    padding: 80px 0;
    background-color: #FFF9EB;
}

.privacy_sec_inner h3 {
    font-size: 20px;
}

.privacy_sec_inner h4 {
    font-size: 17.5px;
    line-height: 2;
}

.privacy_sec_inner h2,
.privacy_sec_inner h3,
.privacy_sec_inner h4 {
    font-family: 'Zen Maru Gothic', sans-serif;
    margin-bottom: 1rem;
}

.privacy_sec_inner h2 {
    margin-bottom: 1.5rem;
}

.privacy_sec_inner h5 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
}



.privacy_sec_common_lar {
    margin-bottom: 40px;
}

.privacy_sec_common_mid {
    margin-bottom: 30px;
}

.privacy_sec_common_link {
    color: #3CAB84;
    display: inline-block;
    margin-top: 10px;
}

.privacy_sec_common_link:hover {
    text-decoration: underline;
}


.privacy_sec_inner ul li {
    list-style: disc;
    list-style-position: inside;
    /* line-height: 1.5; */
    line-height: 2;
    text-indent: -1em;
    padding-left: 1em;
    position: relative;
}

.privacy_sec_inner table {
    font-size: 12px;
    max-width: 980;
    margin: 0 auto;
    line-height: 2;
}

.privacy_sec_inner table tr th {
    width: 6%;
    vertical-align: top;
}

.privacy_sec_inner h6 {
    font-size: 12px;
    margin-top: 1rem;
}

@media screen and (max-width: 900px) {

    .privacy_sec_inner table tr th {
        width: 15%;
    }
}

@media screen and (max-width: 768px) {
    .privacy_sec_common_link {
        font-size: 14px;
        letter-spacing: -0.05em;
    }

}