@charset "utf-8";

/*
Base style
*/
html {
    font-size: medium;
    scroll-behavior: smooth;/* ページ内リンクのスクロール */
}
body {
    font-family: 'Noto Sans JP', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 1.0625rem;/* 17px */
    line-height: 2;
    color:#333;
    background-color: #fff;
}
img {
    width: 100%;
}
ul {
    list-style: none;
}
a {
    text-decoration: none;
}
th,td {
    vertical-align:top;
    text-align: left;
}

/* 表示非表示設定（Show/Hide） */
.pc--show {
    display: block;
}
.sp--show {
    display: none;
}
@media screen and (max-width: 768px) {
    .pc--show {
        display: none;
    }
    .sp--show {
        display: block;
    }
}
/* End 表示非表示設定（Show/Hide） */


/* 色設定 */
.main--color {
    background-color: #328451;
    color: #328451;
}
.bgcolor--color_01 {
    background-color: #D8E9C9;
}
.bgcolor--color_02 {
    background-color: #F5F2E9;
}
/* End 色設定 */


@media screen and (max-width: 900px) {
    body {
        height: 100%;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    body {
        font-size: 0.8125rem;/* 13px */
    }
}


/*
section
*/
.section {
    padding: 60px 0 100px;
}
.section-main {
    width: 75%;
    margin: 50px auto 0;
}
.section--wrap {
    margin: 0 auto 50px;
}
.section--wrap .section--title {
    margin: 0;
}
.section--wrap .section--title h2 {
    font-size: 1.875rem;/* 30px */
    line-height: 1.4em;
    letter-spacing: 0.04em;
    text-align: center;
}

@media screen and (max-width: 900px) {
    .section {
        margin: 0;
        padding: 30px 0;
    }
    .section-main {
        width: 95%;
    }
    .section-main::after {
        content:'';
        display: block;
        clear:both;
    }
}
@media screen and (max-width: 768px) {
    .section {
        padding: 20px 0;
    }
    .section-main {
        margin: 20px auto 0;
    }
    .section--wrap {
        width: 100%;
        padding: 0;
        margin: 0 auto 20px;
    }
    .section--wrap .section--title h2 {
        font-size: 1.25rem;/* 20px */
        margin: 10px 0;
    }
}


/*
grid
*/
.grid {
    display: flex;
    margin: 0 auto;
    padding: 0;
    justify-content: center;
}
.grid--item {
    position: relative;
}
.grid--col-2 > .grid--item {
    width: calc(100% / 2);
    margin: 0 10px 0 0;
}
.grid--col-2 > .grid--item:last-child {
    margin: 0;
}
.grid--col-2 > .grid--itemleft {
    width: 65%;
    margin: 0 30px 0 0;
}
.grid--col-2 > .grid--itemright {
    width: 35%;
    margin: 0 30px 0 0;
}
.grid--col-3 > .grid--item {
    width: calc(100% / 3);
    margin: 0 30px 0 0;
}
.grid--col-3 > .grid--item:last-child {
    margin: 0;
}
.grid--col-4 > .grid--item {
    width: calc(100% / 4);
}

@media screen and (max-width: 768px) {
    .grid {
        display: block;
    }
    .grid--col-2 > .grid--item {
        width: 100%;
        margin: 0;
    }
    .grid--col-3 > .grid--item {
        width: 100%;
        margin: 0;
    }
    .grid--col-4 > .grid--item {
        width: 80%;
        margin: 0 auto;
    }
}

/* =====================
　レスポンシブで要素の順番を入れ替えるCSS
===================== */
.parent {
    display: flex;
}
@media screen and (max-width: 768px) {
    .parent-reverse {
        flex-direction: column-reverse;
    }
    .parent-r-none {
        flex-direction: column;
    }
}
/* =====================
　End レスポンシブで要素の順番を入れ替えるCSS
===================== */



/* =====================
　moreボタン
===================== */
.more-btn a {
    position: relative;
    float: left;
    display: block;
    margin-top: 20px;
    padding: 20px 40px 20px 20px;
    background-color: #328451;
    border-radius: 10px;
    color: #fff;
    text-align: left;
    transition: all .3s;
}
@media (hover: hover) {
    .more-btn a:hover {
        background-color: #3CAB5C;
    }
}
@media (hover: none) {
    .more-btn a:active {
        background-color: #3CAB5C;
    }
}
/* 　矢印設定 */
.more-btn a::after{
    content: '';
    border: 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    display: inline-block;
    width: .7rem;
    height: .7rem;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
/* End 矢印設定 */
@media screen and (max-width: 768px) {
    .more-btn a {
        float: none;
        display: inline-block;
        margin-top: 0;
        padding: 10px 40px 10px 20px;
        border-radius: 6px;
    }
    .more-btn a::after{
        width: .5rem;
        height: .5rem;
    }
}
/* =====================
　End moreボタン
===================== */

/* ============================
　　ヘッダータイトル START
============================ */
.header-ttl {
    padding: 0;
    height: 10em;
}
.header-ttl.header-ttl--bgimg {
    position: relative;
    background-image: url('../img/image.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.header-ttl.header-ttl--bgimg::before {/* 画像に色を重ねる */
    content: "";
    color: transparent;
    background-color: rgba(43, 56, 48, 0.7);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }
.header-ttl .header-ttl--wrap {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #fff;
    text-align: left;
}
.header-ttl .header-ttl--wrap h1 {
    margin: 0;
    font-size: 1.875rem;/* 30px */
    letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
    .header-ttl {
        height: 7em;
    }
    .header-ttl .header-ttl--wrap {
        width: 95%;
    }
    .header-ttl .header-ttl--wrap h1 {
        margin: 0.2em 0 0 0;
        font-size: 1.25rem;/* 20px */
        letter-spacing: 0.1em;
    }
}
@media screen and (max-width: 480px) {
    .header-ttl {
        height: 8em;
    }
    .header-ttl .header-ttl--wrap h1 {
        letter-spacing: 0;
        line-height: 1.5em;
    }
}
/* ============================
　　ヘッダータイトル END
============================ */

/* ============================
　　パンくずリスト START
============================ */
.breadcrumb {
    width: 90%;
    margin: 0.1em auto;
    padding: 0;
}
.breadcrumb li {
    display: inline; /*横に並ぶように*/
    font-size: 0.8125rem;/* 13px */
    letter-spacing: 0.07em;
}
.breadcrumb li:last-child {
    font-weight: bold;
}
.breadcrumb li:after {
    /* >を表示*/
    content: '＞';
    padding: 0 0.2em;
    color: #333;
}
.breadcrumb li:last-child:after {
    content: '';
}
.breadcrumb li a {
    text-decoration: none;
    color: #333; /*色*/
    transition: all 0.3s;
}
@media (hover: hover) {
    .breadcrumb li a:hover {
        opacity: 0.5;
    }
}
@media (hover: none) {
    .breadcrumb li a:active {
        opacity: 0.5;
    }
}
@media screen and (max-width: 754px) {
    .breadcrumb {
        display: none;
    }
}
/* ============================
　　パンくずリスト END
============================ */


/* =====================
　ごあいさつ
===================== */
.message--section--bgimg {
    position: relative;
    background-image: url('../img/image.png');
    background-color:rgba(255,255,255,0.8);
    background-blend-mode:lighten;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.message {
    text-align: center;
}
.message .list__item--img {
    width: 100%;
}
.message--text--wrap {
    text-align: left;
}
.message--text--wrap h4 {
    padding-bottom: 20px;
    margin: 0;
    font-size: 1.875rem;/* 30px */
    line-height: 1.5em;
    border-bottom: #333 1px solid;
}
.message--text--wrap p {
    font-size: 1.125rem;/* 18px */
    line-height: 2.1em;
}
@media screen and (max-width: 768px) {
    .message--text--wrap h4 {
        padding-bottom: 0;
        font-size: 1.25rem;/* 20px */
        text-align: center;
        border-bottom: none;
    }
    .message--text--wrap p {
        font-size: 0.8125rem;/* 13px */
    }
}
/* =====================
　End ごあいさつ
===================== */


/* =====================
　アクセス
===================== */
.access {
    text-align: center;
}
.access .grid--col-2 > .grid--item {
    margin: 0 40px 0 0;
}
.access .grid--col-2 > .grid--item:last-child {
    margin: 0;
}
.access .grid--col-2 > .grid--item img {
    border: 1px solid #333;
}
@media screen and (max-width: 768px) {
    .access .grid--col-2 > .grid--item {
        width: 100%;
        margin: 0;
    }
}
.access .list__item--img {
    width: 100%;
}
.access--text--wrap {
    text-align: left;
}
.access--text--wrap h4 {
    padding-bottom: 20px;
    margin: 0;
    font-size: 1.875rem;/* 30px */
    line-height: 1.5em;
    border-bottom: #333 1px solid;
}
.access--text--wrap p {
    font-size: 1.25rem;/* 20px */
    line-height: 2.1em;
}
@media screen and (max-width: 768px) {
    .access--text--wrap h4 {
        padding-bottom: 0;
        font-size: 1.25rem;/* 20px */
        text-align: center;
        border-bottom: none;
    }
    .access--text--wrap p {
        font-size: 0.8125rem;/* 13px */
    }
}
/* =====================
　End アクセス
===================== */

/* =====================
　高速バス案内
===================== */
.bus {
    text-align: center;
}
.bus .list__item--img {
    width: 100%;
}
.bus--text--wrap {
    text-align: left;
}
.bus--text--wrap h4 {
    padding-bottom: 20px;
    margin: 0;
    font-size: 1.875rem;/* 30px */
    line-height: 1.5em;
    border-bottom: #333 1px solid;
}
.bus--text--wrap p {
    font-size: 1.125rem;/* 18px */
    line-height: 2.1em;
}
.bus--text--wrap p a {
    color: #328451;
    border-bottom: solid 1px #328451;
}
@media (hover: hover) {
    .more-btn a:hover {
        color: #3CAB5C;
    }
}
@media (hover: none) {
    .more-btn a:active {
        color: #3CAB5C;
    }
}
.bus--text--wrap p a[href*="tel:"] {
    color: #333;
    border-bottom: none;
}
@media screen and (max-width: 768px) {
    .bus--text--wrap h4 {
        padding-bottom: 0;
        font-size: 1.25rem;/* 20px */
        text-align: center;
        border-bottom: none;
    }
    .bus--text--wrap p {
        font-size: 0.8125rem;/* 13px */
    }
    .bus--text--wrap p a[href*="tel:"] {
        color: #328451;
        border-bottom: solid 1px #328451;
    }
}
/* スマホのみ電話かけられる */
@media (min-width: 768px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}
/* End スマホのみ電話かけられる */
/* =====================
　End 高速バス案内
===================== */