@charset 'utf-8';

/* PC改行なし */
.br_pc_none {
    display: none;
}

.br_sp_none {
    display: inline;
}

/* メインビジュアル */

.mv_section {
    position: relative;
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
}

.slick {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
}

.slick_photo {
    margin-left: 100px;
    width: 100%;
}

.mv_image {
    width: 100%;
    aspect-ratio: 1330/770;
    object-fit: cover;
    border-radius: 370px 0 0 0;
}

.site_copy_area {
    position: absolute;
    z-index: 3;
    top: 35%;
    left: 10%;
}

.site_copy {
    font-size: clamp(24px, 3vw, 48px);
    /* 縦書き */
    font-weight: bold;
    line-height: 1.6;
    writing-mode: vertical-rl;
}

/*----------- キャッチコピー -----------*/
.site_copy span {
    font-family: 'Zen Maru Gothic', sans-serif;
    padding: .5em 0 0 0;
    letter-spacing: .3em;
    color: #809f32;
    background-color: #fff;
}

/*----------- 各セクションのタイトル（共通部分） -----------*/
.news_section_title,
.aboutus_section_title,
.map_section_title,
.service_section_title,
.access_section_title {
    font-size: 1.875em;
    font-weight: bold;
    flex-wrap: nowrap;
    text-align: center;
    letter-spacing: .4em;
}


/* お知らせのタイトル
.news_section_title {
    position: relative;
    top: -.7em;
} */

/* セクションボタン */
.section_button_area {
    justify-content: center;
    margin-top: 2em;
}

/* -----------セクションのボタン----------- */
.section_button {
    font-weight: bold;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 280px;
    margin-bottom: 2em;
    padding: 1em 0;
    transition: .5s;
    transition: .5s;
    color: #fff;
    border-radius: 60px;
    background-color: #55412f;
}

.section_button:hover {
    opacity: .7;
}

/* セクションのイラスト */
.section_illust {
    overflow: hidden;
    width: 100%;
    border-radius: 0 0 50px 50px;
    margin-inline: auto;
}

/* ボタンの疑似要素　＞マーク */
.section_button::after {
    position: absolute;
    right: 1.5em;
    display: block;
    width: .5em;
    height: .5em;
    margin-left: .5em;
    content: '';
    transform: rotate(-45deg) translateY(-15%);
    border: 1px solid #fff;
    border-top: 0;
    border-left: 0;
}

/* -----------お知らせ -----------*/
.news_section {
    margin-top: 8.75em;
    padding-top: 50px;
    border-radius: 50px;
    background-color: #fffced;
}

.news_list {
    align-items: center;
    flex-direction: column;
    margin-top: 30px;
    margin-bottom: 5em;

    /* 左右の余白 */
    padding: 0 1.5em;
}

.news_list dl {
    display: flex;
    max-width: 800px;
    padding: 1.75em 0;
    transition: .5s;

    /* 下線ドット */

    background-image: linear-gradient(to right, #505050 2px, transparent 2px);
    background-repeat: repeat-x;
    background-position: left bottom;
    background-size: 10px 2px;
    margin-inline: auto;
}

.news_list dl a {
    display: block;
}

/* 不透明度を下げる */
.news_list dl:hover {
    opacity: .5;
}

.news_list dt {
    font-weight: normal;
}

.news_list dd {
    font-weight: bold;
    margin-left: 5em;
}

/* -----------キャンプイン能勢について----------- */
.aboutus_section {
    align-items: center;
    flex-direction: column;
    justify-content: end;
    margin-top: 8.25em;
}

/*----------- キャンプイン能勢についてタイトル
（案内マップと同様）----------- */
.aboutus_title_area,
.map_title_area {
    align-items: flex-end;

    /* タイトルと旗を下揃え */

    width: 100%;
}

.aboutus_section_title,
.map_title_area {
    margin: 0 1em;
}

/* あしらいの旗 */
.flag_image {
    width: fit-content;
    max-width: 100%;
}

/* 右の旗（左右反転） */
.flag_image:nth-of-type(2) {
    transform: scale(-1, 1);
}

/* 説明文 */
.aboutus_text {
    font-size: 1.125em;
    font-weight: bold;
    line-height: 2.8;
    max-width: 1000px;
    margin-top: 4.45em;
    margin-bottom: 230px;
    text-align: center;
    vertical-align: bottom;
    letter-spacing: .1em;
}

/* -----------楽しむ -----------*/
.enjoy_section {
    position: relative;
    align-items: center;
    flex-direction: column;
    padding-top: 5.625em;
    border-radius: 50px;
    background-color: #d3efec;
}

/* 楽しむのタイトル */
.enjoy_section_title {
    font-size: 3.75em;
    font-weight: bold;
    position: absolute;
    top: -.7em;
    letter-spacing: .4em;
}

.enjoy_container {
    flex-direction: column;
    margin-inline: auto;
}

/* 楽しみ方 */
.enjoy_text {
    font-size: 1.125em;
    line-height: 2;
    max-width: 600px;
    margin-top: 3em;
    text-align: center;
    letter-spacing: .1em;
}

/* 楽しむの過ごし方提案 */


.enjoy_box {
    position: relative;

    display: flex;
    width: 95%;
    /* 右下角丸 */
    border-radius: 0 0 50px 0;
    background-color: #fff;

    /*  横と縦の比率 */

    aspect-ratio: 370/130;
}

/* 上下の余白 */
.enjoy_box:first-of-type {
    margin-top: 5.625em;
}

.enjoy_box:nth-of-type(n+2) {
    margin-top: 7.5em;
}

/* リボン */
.ribbon_area {
    position: absolute;

    /* ポジション調整 */
    top: -45px;
    left: -10px;
    align-items: center;

    /* 中の要素の位置指定 */
    flex-direction: column;
    justify-content: center;

    /* 大きさ */

    width: 200px;
    height: 150px;
    padding: 1em;
    background-image: url(../image/ribbon.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.tent_image {
    width: 50px;
    margin-top: -20px;
    margin-left: -40px;
}

.ribbon_area h3 {
    font-weight: bold;
    margin-left: -40px;
    letter-spacing: .05em;
}


/* 最後のボックスに余白 */
.enjoy_box:last-of-type {
    margin-bottom: 100px;
}

.enjoy_box_textarea {
    padding-top: 120px;
    padding-bottom: 60px;
    padding-left: 2.5em;
    margin-inline: auto;
    width: 32%;
}

.enjoy_box p {
    line-height: 2;
    margin-inline: auto;
}

.enjoy_image {
    width: 67%;

    /* 右下角丸 */

    border-radius: 0 0 50px 0;
    aspect-ratio: 240/100;
    object-fit: cover;
}

/*　写真のトリミング位置調整*/
.enjoycoffee,
.enjoyfire {
    object-position: 50% 85%;
}



/* -----------キャンプ場案内マップ -----------*/
/* コンテンツ縦ならび　中央揃え */
.map_section {
    align-items: center;
    flex-direction: column;
    justify-content: center;
    margin-top: 8em;
}

/* テキスト中央揃え */
.map_text {
    line-height: 1.875em;
    margin-top: 5em;
    text-align: center;
}

/* キャンプ場のマップ */
.map_image {
    width: 100%;
    max-width: 1000px;
    margin-top: 6.25em;
}

/* イノシシのイラスト */
.map_bg_illust {
    width: 100%;
    margin-top: 4.375em;
}

/* キャンプ場の写真 */
.camparea_photo {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: stretch;
    align-items: stretch;
    justify-items: center;
    width: 100%;
    max-width: 1440px;
}

/* 施設・サービス */
.service_section {
    align-items: center;
    flex-direction: column;
    margin-top: 8.125em;
}

/* -----------泊まる、食べる、借りる -----------*/
.service_container {
    align-items: center;

    margin-top: 4.375em;
    margin-bottom: 5em;
    margin-inline: auto;
    flex-wrap: wrap;
}

.service_box {
    display: flex;
    align-items: center;
    flex-direction: column;
    min-width: 280px;
    max-width: 320px;
    transition: .4s;
}

/* aをブロック化 */
.service_box a {
    display: block;
}

.service_box:hover {
    margin-top: -8%;
}


/* 吹き出しとタイトル */
.service_title_area {
    position: relative;
    z-index: 3;
    transform: translate(50%, 0);
    width: 150px;
    height: 80px;
    margin-bottom: -30px;
    background-image: url(../image/service_fukidasi.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.service_title_area h3 {
    font-size: 1.375em;
    font-weight: bold;
    text-align: center;
    width: 100%;
}

.service_image {
    width: 100%;
}



/* ボックスの左のライン */
.service_box_text1,
.service_box_text2,
.service_box_text3 {
    width: 100%;
    margin-top: 1em;
    padding-left: 1em;
    border-left: 10px solid #71b8c3;
}

/* 2番目のラインは黄色 */
.service_box_text2 {
    border-color: #feb13d;
}

/* 3番目のラインは赤 */
.service_box_text3 {
    border-color: #cc511d;
}

/* 案内マップのイラスト
サービス（シカ）のイラスト */
.service_bg_illust,
.map_bg_illust {
    width: 100%;
    max-width: 1440px;
}

/* -----------アクセス----------- */
.access_section {
    position: relative;
    align-items: center;
    flex-direction: column;
    margin-top: 9.375em;
    padding: 80px 0;
    border-radius: 50px;
    background-color: #d3efec;
}

/* アクセスのタイトル */
/* .access_section_title {
    position: absolute;
    top: -.7em;
    left: 50%;
    transform: translateX(-50%);
} */

.access_container {
    margin-top: 5em;
    padding: 0 3em;
}

/* グーグルマップ */
.access_map iframe {
    width: 100%;
    aspect-ratio: 6/5;
}

/* アクセス情報（文章部分） */
.access_contents_area {
    width: 45%;
    margin-left: 1em;
}

/* 所在地・営業日 */
.access_wrap {
    margin-top: 1em;
}

/* 所在地、営業日、交通手段 */
.access_textarea {
    width: 100%;
    margin-top: 1em;
}

.access_contents_area h3 {
    font-size: 1.5em;
}

.access_textarea h4 {
    font-size: 1.125em;
    font-weight: bold;
    width: 150px;
    padding: .5em 0;
    text-align: center;
    letter-spacing: .1em;
    border-radius: 20px;
    background-color: #fff;
}

.access_textarea p {
    margin-top: 1em;
    white-space: wrap;
}

/* 交通手段のマージン調整 */
.transport {
    margin-top: 1.5em;
}

/* スタッフ　CTA */
.staff_cta {
    max-width: 1000px;
    margin-top: 100px;
    margin-inline: auto;
    align-items: center;
    gap: 20px;
}

/* スタッフ紹介 */
.staff_area {
    display: flex;
    flex-direction: column;
    max-width: 600px;
    height: 100%;


}

.staff_image {
    position: relative;
    height: 100%;
    object-fit: cover;

}

/* 吹き出しとタイトル */
.staff_message {
    position: absolute;
    z-index: 3;
    width: 150px;
    height: 80px;
    margin-top: -70px;
    margin-left: -100px;
    background-image: url(../image/staff_fukidasi.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.staff_message p {
    font-size: 14px;
    text-align: center;
}

/* CTA */
/* お問い合わせ */
.cta {
    align-items: center;
    flex-direction: column;
    justify-content: center;
    max-width: 600px;
    height: 100%;
    padding: 2em;
    background-color: #fff;
    margin-inline: auto;
}

.cta h3 {
    font-size: 1.25em;
    font-weight: bold;
    padding: .25em 2em;
    border: 1px solid;
    border-radius: 50px;
}

.cta p {
    margin-top: 1em;
}

/* ボタンのデザイン*/
.cta_button_area {
    margin-top: 1em;

    gap: 1em;
}


.cta_contact_button,
.cta_yoyaku_button {
    font-weight: bold;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 265px;
    height: 70px;
    color: #505050;
    border-radius: 0 0 10px 0;
}

/* ホバー時の変化 */
.cta_contact_button,
.cta_yoyaku_button {
    transition: .5s;
}

/* ボタンの前のアイコン */
.cta_contact_button::before,
.cta_yoyaku_button::before {
    position: absolute;
    top: 30%;
    left: 10%;
    display: inline-block;
    width: fit-content;
}

.cta_contact_button::before,
.cta_yoyaku_button::before {
    content: url(../image/icon_mail.png);
}

.cta_yoyaku_button::before {
    content: url(../image/icon_pc.png);
}

/* ボタンの疑似要素　＞マーク */
.cta_contact_button::after,
.cta_yoyaku_button::after {
    position: absolute;
    right: 1.5em;
    display: block;
    width: .5em;
    height: .5em;
    margin-left: .5em;
    content: '';
    transform: rotate(-45deg) translateY(-20%);
    border: 1px solid #505050;
    border-top: 0;
    border-left: 0;
}

.cta_contact_button {
    background-color: #9ccfca;
}

.cta_yoyaku_button {
    text-transform: uppercase;
    background-color: #abcb64;
}


/* ホバー時の変化 */
.cta_contact_button:hover,
.cta_yoyaku_button:hover {
    opacity: .6;
}



/* -----------レスポンシブ対応----------- */
@media (max-width:1200px) {

    /* スタッフとお問い合わせの位置を逆に */
    .staff_cta {
        flex-direction: column-reverse;

    }

    /* お問い合わせのボタンを縦ならび */
    .cta_button_area {
        flex-direction: column;
    }

    /* 所在地・営業日を縦ならび */
    .access_wrap {
        flex-direction: column;
    }

    /* 吹き出しの位置調整 */
    .staff_message {
        left: 30%;
    }

    .staff_area {
        margin-top: 100px;
        width: 100%;
    }

    .cta {
        width: 100%;

    }
}

@media (max-width: 960px) {

    /* アクセスセクションを縦並びに */
    .access_container {
        flex-direction: column;
    }

    .access_map {
        width: 95%;
    }

    .access_map iframe {
        width: 100%;
        aspect-ratio: 100/100;
    }

    .access_contents_area {
        width: 100%;
        margin-left: 0;
    }



    .access_textarea {
        width: 100%;
    }



}

/* --------------(768レスポンシブ)768px------------- */
@media (max-width: 768px) {

    body {
        font-size: 14px;
    }

    /* 改行あり */
    .br_pc_none {
        display: inline;
    }

    .br_sp_none {
        display: none;
    }

    /* 各タイトルの行間詰め */
    .aboutus_section_title,
    .map_section_title {
        letter-spacing: .15em;
        margin: 0 .5em;
    }

    /* --------------(768レスポンシブ)メインビジュアル------------- */

    .slick {
        width: 100%;
        margin-inline: auto;
    }

    .slick_photo {
        margin-left: 0;
    }

    /* キャッチコピーの位置調整 */
    .site_copy_area {
        bottom: 10%;
        left: 10%;
    }

    /* メインビジュアルの角丸なくす
    縦横比の調整 */
    .mv_image {
        width: 100%;
        border-radius: 0 0 0 0;
        aspect-ratio: 500/600;
    }

    /* キャッチコピーの位置調整 */
    .site_copy_area {
        position: absolute;
        z-index: 3;
        top: 29%;
        left: 3%;
    }

    /* --------------(768レスポンシブ)お知らせ------------- */


    /* 横幅を調整 */
    .news_section {
        width: 95%;
    }

    /* お知らせを2行に */
    .news_list dl {
        display: flex;
        flex-direction: column;
    }

    .news_list dd {
        margin-left: 0;
    }


    /* --------------(768レスポンシブ)キャンプイン能勢について------------- */
    .aboutus_text {
        text-align: justify;
        font-weight: normal;
        line-height: 2;
        margin-bottom: 150px;
    }

    /* キャンプイン能勢について、
    キャンプ場案内マップ
    あしらいの旗の大きさ調整 */
    .flag_image {
        max-width: 100px;
        margin-bottom: 20px;
    }


    /* -----------(768レスポンシブ)楽しむ -----------*/
    /* セクションの横幅を調整 */
    .enjoy_section {
        width: 100%;
        border-radius: 0 0 0 0;
    }

    /* 楽しむのタイトルを小さく */
    .enjoy_section_title {
        font-size: 30px;
    }




    .section_illust.enjoy {
        border-radius: 0 0 0px 0px;
    }

    /* タイトル下の文章、 行間詰め*/
    .enjoy_text {
        margin: 0 1em;
        letter-spacing: 0;
        text-align: justify;
    }

    /* 楽しむ　写真と文字の場所を入れ替え */
    .enjoy_box {
        flex-direction: column-reverse;
        margin-left: 10px;
    }

    /* 写真の角丸を消す */
    .enjoy_image {
        border-radius: 0 0 0 0;
    }

    /* 文字エリアの余白を調整 */
    .enjoy_box_textarea {
        padding-top: 2em;
        padding-bottom: 2em;
        padding-left: 3em;
        margin-inline: auto;
    }

    /* 文字エリアの横幅を広く */
    .enjoy_box_textarea {
        width: 100%;
    }

    .enjoy_box_textarea p {
        padding-left: 2em;
    }

    /* 画像のと小幅を広く */
    .enjoy_image {
        width: 100%;
    }

    /* リボンの大きさを調整 */
    .ribbon_area {
        /* ポジション調整 */
        top: -25px;
        left: -5px;

        width: 120px;
        height: 90px;
        padding: .8em;
    }

    .ribbon_area h3 {
        font-weight: bold;
        margin-left: -25px;
        letter-spacing: .05em;
    }

    /* テントアイコンを非表示 */
    .tent_image {
        display: none;
    }

    /* 写真と説明文の縦横比調整 */
    .enjoy_image {
        flex: 1;
    }

    /* 文字の余白調整 */
    .enjoy_box_textarea {
        padding-left: 0;
    }

    /* 案内マップ */

    .map_text {
        margin-inline: 1em;
    }

    /* 案内マップの下の写真（2つ×2行に） */
    .camparea_photo {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }

    /* 施設・サービス　縦並びに */
    .service_container {
        flex-direction: column;
    }

    .service_box+.service_box {
        margin-top: 2em;

    }


    /* -----------(768レスポンシブ)アクセス -----------*/

    /* コンテンツ幅を調整 */
    .access_section {
        width: 100%;
        padding-top: 50px;
        border-radius: 0 0 0 0;
    }

    .access_contents_area,
    .transport {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-inline: auto;
    }

    /* アクセスセクションの余白調整 */
    .access_container {
        margin-top: 2em;
        padding: 0 1em;
    }

    /* アクセスマップの高さ調整 */
    .access_map iframe {
        height: 300px;
    }

    .access_contents_area {
        margin-top: 1em;
        align-items: start;
    }

    /* 所在地、営業日、交通手段のコンテンツの位置調整*/
    .access_textarea {
        display: flex;
        flex-direction: column;
        /* align-items: center; */
    }


    /* 交通手段　左揃え */
    .transport {
        display: flex;
        flex-direction: column;
        align-items: start;
    }



}