@charset "UTF-8";

/*==================================================================================================

       共通 Leaf 背景

===================================================================================================*/

        .wrapper {
        position: relative;
        z-index: 0;
        }
        .wrapper:before,
        .wrapper:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        width:40%;
        height:0;
        padding-bottom:50%;
        z-index: -1;
        }
        .wrapper:before { left:0; background: url("../images/parts/leaf-l.svg") center center / cover; }
        .wrapper:after { right:0; background: url("../images/parts/leaf-r.svg") center center / cover; }

/*==================================================================================================

       hero

===================================================================================================*/

.hero-wrap {
        position: relative;
        box-sizing: border-box;
        margin-top:287px;
        z-index: 1;
        }
        .page-section {
        position: relative;
        box-sizing: border-box;
        margin-top:350px;
        padding-bottom:3rem;
        z-index: 1;
        }
        .top-visual {
        position: relative;
        width:90%;
        margin-inline:auto;
        }
        
        @media screen and (max-width:1024px) {
        .hero-wrap { margin-top:90px; }
        .page-section { margin-top:150px; }
        }
        @media screen and (max-width:767px) {
        }

/*==================================================================================================

       背景

===================================================================================================*/

        .border-box {
        border:6px solid #C6BBA8;
        border-radius: 10px;
        padding:8%;
        box-sizing: border-box;
        background: rgb(255 255 255 / .5);
        }
        .white-box {
        background: #FFF;
        padding:80px;
        box-sizing: border-box;
        border:1px solid rgb(0 0 0 / .1);
        }
        .white-box-s {
        background: #FFF;
        padding:50px;
        box-sizing: border-box;
        border:1px solid rgb(0 0 0 / .1);
        }


       
        @media screen and (max-width:1800px) {
        .border-box { padding:4vw; }
        .white-box {  padding:65px; }
        .white-box-s { padding:45px; }
        }
        @media screen and (max-width:1350px) {
        .white-box {  padding:45px; }
        .white-box-s { padding:40px; }
        }
        @media screen and (max-width:1024px) {
        .border-box { padding:4vw; }
        .white-box {  padding:35px; }
        .white-box-s { padding:35px; }
        }
        @media screen and (max-width:767px) {
        .border-box { padding:0 0 3rem; }
        .white-box {  padding:24px; }
        .white-box-s { padding:24px; }
        }

/*==================================================================================================

        タイトル / テキスト

===================================================================================================*/

.white { color:var(--white-color) !important; }
.green { color:#4b9d65; }
.red { color:#e3342f; }
.light { color:#8abe2e; }
.dark { color:#20504f; }
.yellow { color:#bea10b; }

.mark {background:linear-gradient(transparent 60%, #F1B8A6 60%);}

.under-title {
        padding-bottom:.35rem;
        border-bottom:2px solid rgb(0 0 0 / .6);
        }
        .under-title-w {
        padding-bottom:.35rem;
        border-bottom:2px solid rgb(255 255 255 / .6);
        }
        .dotted-title {
        padding-bottom:.5rem;
        border-bottom:2px dotted rgb(47 49 50 / .6);
        }
.side-title {
        position: relative;
        padding-left:75px;
        }
        .side-title:before {
        content:"";
        display: block;
        position: absolute;
        top:50%;
        left:0;
        translate:0 -50%;
        width:60px;
        height:60px;
        }
        .side-title.culip:before { background: url("../images/parts/head-culip.svg") repeat; }
        .side-title.clover:before { background: url("../images/parts/head-clover.svg") repeat; }
        .side-title.leaf:before { background: url("../images/parts/head-leaf.svg") repeat; }
        .side-title.asagao:before { background: url("../images/parts/head-asagao.svg") repeat; }

.bar-title {
        padding-top:1rem;
        position: relative;
        }
        .bar-title:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left:0;
        width:50px;
        height:3px;
        background:#707070;
        z-index: -1;
        }
        .center.bar-title:after { left:50%; translate:-50%; }

.lead {
        position: relative;
        width:100%;
        overflow: hidden;
        z-index: 0;
        }
        .lead:after {
        content:"";
        position: absolute;
        display: inline-block;
        top:50%;
        width:100%;
        translate:0 -50%;
        height:3px;
        background: url("../images/parts/line.png") left center repeat;
        margin-left:1em;
        z-index: -1;
        }
.title-head {
        position: relative;
        width:100%;
        padding-top:60px;
        z-index: 0;
        }
        .title-head:before {
        content:"";
        position: absolute;
        display:block;
        top:0;
        left:50%;
        translate:-50%;
        height:60px;
        width:60px;
        z-index: -1;
        }
        .title-head.culip:before { background: url("../images/parts/head-culip.svg") repeat; }
        .title-head.clover:before { background: url("../images/parts/head-clover.svg") repeat; }
        .title-head.leaf:before { background: url("../images/parts/head-leaf.svg") repeat; }
        .title-head.asagao:before { background: url("../images/parts/head-asagao.svg") repeat; }

.light-label {
        background: #f2f3f5;
        padding:.5rem 1rem;
        box-sizing: border-box;
        border-radius: .25rem;
        margin-bottom:1rem;
        }

        @media screen and (max-width:1350px) {
        .title-head { padding-top:54px; }
        .title-head:before { height:54px; width:54px; }
        .side-title { padding-left:65px; }
        .side-title:before { width:54px; height:54px; }
        }
        @media screen and (max-width:1024px) {
        .title-head { padding-top:45px; }
        .title-head:before { height:45px; width:45px; }
        .side-title { padding-left:0; padding-top:45px; text-align: center; }
        .side-title:before { width:45px; height:45px; left:50%; top:0; translate:-50% 0; }
        }
        @media screen and (max-width:767px) {
        .title-head { padding-top:39px; }
        .title-head:before { height:39px; width:39px; }
        .side-title { padding-top:39px; }
        .side-title:before { width:39px; height:39px; }
        }

/*==================================================================================================

       トップページ

===================================================================================================*/

        /*=================================================
                MAP
        ==================================================*/

        .map-wrap {
        position: relative;
        width:100%;
        height:auto;
        }
        .map-wrap:after {
        content:"";
        display: block;
        position: absolute;
        top:0;
        left:0;
        width:100%;
        height: 0;
        padding-bottom:100%;
        background: url("../images/img/top/map.png") center center / cover;
        z-index: -1;
        }

/*==================================================================================================

       投稿一覧

===================================================================================================*/

        .post-title {
        padding:.75em 1.5em;
        box-sizing: border-box;
        color:#FFF;
        background: #4b9d65;
        border-radius: 3em;
        line-height: 125%;
        font-size:1.25rem;
        font-weight:500;
        }
        .post-title a { color:#FFF; }
        .post-date {
        color:#1f9d55;
        text-align: right;
        font-size:.9275rem;
        line-height: 180%;
        padding:1rem 1.25rem;
        box-sizing: border-box;
        }
        .post-content {
        font-size:.9275rem;
        font-weight: 400;
        width:100%;
        padding:0 1.25rem;
        box-sizing: border-box;
        }
        .post-content p {
        line-height: 165%;
        padding-bottom:1em;
        }
        .post-content a {
        color:#469658;
        position: relative;
        display: inline-block;
        }
        /*
        .post-content a:before {
        content:"▶";
        display: inline-block;
        position: relative;
        width:1em;
        height: 1em;
        margin-right:.5em;
        color:#666;
        }
        */

        @media screen and (max-width:767px) {
        .post-date { padding:1rem .75rem; }
        .post-content { padding:0 .75rem; }
        }

/*==================================================================================================

       固定ページ

===================================================================================================*/


        .page-content {
        font-size:.9275rem;
        font-weight: 400;
        }
        .page-content p {
        line-height: 165%;
        padding-bottom:1em;
        }
        .page-content a {
        color:#469658;
        }

        .indent-wrap {
        padding-left:1rem;
        box-sizing: border-box;
        }
        @media screen and (max-width:767px) {
        .indent-wrap { padding-left:.5rem; }
        }


/*==================================================================================================

       年間行事

===================================================================================================*/

        .event-wrap {
        width:100%;
        max-width:800px;
        margin-inline:auto; 
        padding:0 2rem;
        box-sizing: border-box;
        background-image: url("../images/img/event/bg-l.png"),url("../images/img/event/bg-r.png");
        background-repeat:no-repeat;
        background-position: 0% 0, 100% 0;
        background-size: contain;
        }
        @media screen and (max-width:767px) {
        .event-wrap { background: none; padding:0; }
        }

/*==================================================================================================

       Table

===================================================================================================*/

.table-b {
        width:100%;
        border-collapse:collapse;
        border-spacing:0;
        text-align:left;
        letter-spacing:0;
        box-sizing: border-box;
        line-height: 150%;
        background: #FFF;
        overflow: hidden;
        border: 1px solid #dae1e7;
        }
        .table-b tr { }
        .table-b th {
        padding:.5rem .75rem;
        vertical-align: middle;
        font-weight:700;
        text-align:center;
        white-space: nowrap;
        }
        .table-b thead th { border:1px solid #1f9d55; background:#4b9d65; color:#FFF; font-weight:500; }
        .table-b tbody th { border:1px solid #dae1e7; background:#fff9c2; }
        
        .table-b td {
        padding:.5rem .75rem;
        text-align:center;
        font-weight:500;
        vertical-align: middle;
        box-sizing: border-box;
        border:1px solid #dae1e7;
        }
        .table-b thead td { background: #4b9d65; border:1px solid #1f9d55; }
        .table-b tbody td { background: #FFF; }

.table-c {
        width:auto;
        border-collapse:collapse;
        border-spacing:0;
        text-align:center;
        letter-spacing:0;
        box-sizing: border-box;
        line-height: 150%;
        background: #FFF;
        overflow: hidden;
        border: 1px solid #dae1e7;
        }
        .table-c tr { }
        .table-c th {
        padding:0 .5rem;
        height:60px;
        vertical-align: middle;
        font-weight:500;
        font-size:14px;
        text-align:center;
        white-space: nowrap;
        }
        .table-c thead th { border:1px solid #1f9d55; background:#4b9d65; color:#FFF; font-weight:500; }
        .table-c tbody th { border:1px solid #dae1e7; background:#fff9c2; color:#222; }
        
        .table-c td {
        padding:0 .5rem;
        height:60px;
        text-align:center;
        font-weight:500;
        font-size:14px;
        vertical-align: middle;
        box-sizing: border-box;
        border:1px solid #dae1e7;
        }
        .table-c thead td { background: #4b9d65; border:1px solid #1f9d55; }
        .table-c tbody td { background: #FFF; color:#222; }

        .wrap-850 { width:100%; max-width:851px; }
        .w75 { width:75px; min-width:75px; box-sizing: border-box; }
        .w90 { width:90px; min-width:90px; box-sizing: border-box; }
        .w145 { width:145px; min-width:145px; box-sizing: border-box; }

        .scroll-wrap {
        overflow-x: auto;
        white-space: nowrap;
        padding-bottom:5px;
        }

.table-n {
        width:100%;
        border-collapse:collapse;
        border-spacing:0;
        text-align:left;
        letter-spacing:0;
        box-sizing: border-box;
        line-height: 150%;
        background: #FFF;
        overflow: hidden;
        border: 1px solid #DDD;
        }
        .table-n th {
        padding:.75rem 1rem;
        vertical-align: middle;
        font-weight:600;
        text-align:left;
        white-space: nowrap;
        border: 1px solid #DDD;
        }
        .table-n td {
        padding:.75rem 1rem;
        text-align:left;
        font-weight:400;
        vertical-align: middle;
        box-sizing: border-box;
        border: 1px solid #DDD;
        }
        @media screen and (max-width:767px) {
        .table-b { font-size:.9275rem; }
        }

/*==================================================================================================

       一覧ページ ページャー

===================================================================================================*/

    .pagination-wrap {
        position: relative;
        clear: both;
        width:100%;
        height:60px;
        }
        .pagination-wrap ul {
        position: relative;
        text-align: center;
        list-style: none;
        }
        .pagination-wrap li {
        position: relative;
        margin-right: .357143rem;
        display:inline-block;
        margin-bottom: 5px;
        }
        .pagination-wrap li a {
        display: block;
        color: #333;
        font-size:13px;
        font-weight:500;
        text-align: center;
        width:30px;
        height:30px;
        line-height: 30px;
        border-radius:50px;
        background: none;
        }
        .pagination-wrap li a:hover {
        background-color:#C3C3C3;
        }
        .pagination-wrap li .current {
        display: block;
        color: #FFF;
        font-size:13px;
        text-align: center;
        width:30px;
        height:30px;
        line-height: 30px;
        border-radius:50px;
        background-color: #4b9d65;
        text-decoration: none;
        }

/*==================================================================================================

       記事ページ ページャー

===================================================================================================*/

    .post-pager {
        padding:2em 0 1.5em;
        }
        .prev-pager,
        .next-pager,
        .all-pager {
        height:100%;
        line-height:135%;
        position: relative;
        }
        .prev-pager a {
        display: block;
        width:100%;
        height:100%;
        padding:1.75em 1.5em;
        box-sizing:border-box;
        color:#1F1F1F;
        text-align: left;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .prev-pager a:before {
        display: block;
        content: "◀";
        position: absolute;
        left:0;
        top:50%;
        translate:0 -50%;
        line-height:1;
        }
        .prev-pager a:hover {
        padding-left:2rem;
        }


        .next-pager a {
        display: block;
        width:100%;
        height:100%;
        padding:1.75em 1.5em;
        box-sizing:border-box;
        color:#1F1F1F;
        text-align: right;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .next-pager a:before {
        display: block;
        content: "▶";
        position: absolute;
        right:0;
        top:50%;
        translate:0 -50%;
        line-height:1;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        }
        .next-pager a:hover {
        padding-right:2rem;
        }

/*==================================================================================================

       もくじ

===================================================================================================*/

.mokuji-wrap {
        border-right:1px solid rgb(0 0 0 / .2);
        }
        .mokuji-wrap.last { border-right: none; }
        .mokuji-wrap .inner {
        padding:0 2rem 0 0;
        box-sizing: border-box;
        }
        .mokuji-wrap.last .inner { padding: 0 0 0 2rem; }
        @media screen and (max-width:1024px) {
        .mokuji-wrap { border-right:none; border-bottom:1px solid rgb(0 0 0 / .2); }
        .mokuji-wrap.last { border-bottom: none; }
        .mokuji-wrap .inner { padding:0 0 2rem 0; }
        .mokuji-wrap.last .inner { padding:2rem 0 0 0; }
        }

/*==================================================================================================

       RECRUIT

===================================================================================================*/

        .recruit-wrap {
        border-radius:10px;
        overflow: hidden;
        margin-bottom:3rem;
        }
        .green-label {
        background: #4b9d65;
        color:#FFF;
        padding:30px;
        line-height: 130%;
        box-sizing: border-box;
        }
        .recruit-text {
        background: #FFF;
        padding:30px;
        box-sizing: border-box;
        line-height: 150%;
        }
        .recruit-text p {
        padding-bottom:0;
        }
        @media screen and (max-width:1024px) {
        .green-label { padding:25px; }
        .recruit-text { padding:25px; }
        }
        @media screen and (max-width:767px) {
        .green-label { padding:20px; }
        .recruit-text { padding:20px; }
        }



















