/* ###page02###*/


#page02 {
    box-sizing: border-box;
    max-width: 1500px;
}


/* cate_list----------------------------------------------------- */
.cate_list {
    box-sizing: border-box;
}

    .cate_list li a::before {
        content: '';
        position: absolute;
        display: block;
        pointer-events: none;
        background-image: url(../../../img/user/sankaku_r.png);
        background-size: 6px;
        background-repeat: no-repeat;
        background-position: center right 35px;
        top: 50%;
        width: 100%;
        height: 100%;
        transform: translateY(-50%);
        font-size: 10px;
        z-index: 1;
    }

    .cate_list li a {
        padding: 10px 25px;
    }
/*.cate_list li a span {
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    pointer-events: none;
	font-size: 8px;
}*/
/* cate_list----------------------------------------------------- */




/* 検索フォーム----------------------------------------------------- */
#search_form {
    bottom: 5%;
    box-sizing: border-box;
}

/* 山域から探す検索フォーム--------- */
.search_freeform {
    position: relative;
    display: flex;
    align-items: center;
}

    .search_freeform input {
        width: 100%;
        padding: 14px 40px 14px 15px;
        font-size: 14px;
        border: none;
        outline: none;
        border-radius: 50px;
        color: var(--color4);
        background: var(--color2);
    }

    .search_freeform button {
        position: absolute;
        top: 50%;
        right: 10px; /* アイコンを右端に配置 */
        transform: translateY(-50%);
        background: none;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .search_freeform button img {
            width: 20px;
            height: 20px;
        }

/* form_box--------- */
.form_box input,
.form_box select {
    border: none;
    box-sizing: border-box;
    background: transparent;
}

.form_box button {
    border: none;
    cursor: pointer;
}

.form_box select, .form_box input {
    letter-spacing: 0.05em;
}

.search_btn img {
    padding-bottom: 3px;
}

/* クリック範囲 */
.select_wrapper {
    border: solid 2px var(--color3_opa01);
    border-radius: 0px;
    cursor: pointer;
    box-sizing: border-box;
}

    .select_wrapper select, .select_wrapper input {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background: transparent;
        font-size: clamp(14px, 1vw, 15px);
        /*font-weight: bold;*/
        padding: 10px 30px;
        border: none;
        cursor: pointer;
    }

    .select_wrapper input {
        padding: 8px 25px;
    }

    .select_wrapper span {
        position: absolute;
        right: 7px;
        pointer-events: none;
    }

    .select_wrapper img {
        left: 7px;
        top: 52%;
        transform: translateY(-50%);
    }

.form_box img,
.form_box span {
    pointer-events: none;
}
/* form_box--------- */


/* レスポンシブ対応（例） */
@media (max-width: 768px) {
    .form_box {
        margin-bottom: 10px;
    }

        .form_box label {
            font-size: 12px;
        }

        .form_box input,
        .form_box select,
        .form_box button {
            font-size: 12px;
            padding: 8px;
        }
}

.search_freeform input {
    border: solid 2px var(--color3_opa01);
}
/* 検索フォーム----------------------------------------------------- */




/* CMS----------------------------------------------- */
.cate_title {
    font-size: clamp(20px, 1.3vw, 50px);
}

.sub_cate_title {
    font-size: clamp(20px, 1.2vw, 28px);
}

.box_title2 {
    letter-spacing: 0;
}

    .box_title2::before {
        content: '';
        display: inline-block;
        width: 17px;
        height: 17px;
        background-image: url(../img/icon07_g.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        left: 0;
        top: 51%;
        transform: translateY(-50%);
    }

@media screen and (max-width: 667px) {
    .box_title1 {
        padding-top: 3px;
    }
}

/* CMS----------------------------------------------- */

@media screen and (orientation: portrait) and (max-width: 900px) {
    /* ul.cate_list {
    padding: 10px;
  } */
    ul.cate_list .grid_12_tb {
        width: 100% !important;
        padding: 5px;
    }

    .freeform_box.grid_12_tb {
        width: 70%;
    }
}

/*※※※PCレスポンシブ調整は各コンテンツに記載※※※*/

@media screen and (max-width: 768px) {

    /* 山域から探す検索フォーム */


    /* form_box */
    .form_box {
        width: 100%;
    }

        .form_box input, .form_box select, .form_box button {
            width: 100%;
        }

    .select_wrapper {
        width: 100%;
    }

    .form_contents01 .form_box {
        width: 50%;
        margin-bottom: 0px;
    }

    #search_form, .cate_list_wrap {
        max-width: 700px;
    }

    .form_box input, .form_box select, .form_box button {
        font-size: 12px;
        padding: 8px 25px 8px 27px;
    }

    .form_box.search_btn {
        margin: 0;
    }

    .form_box button {
        max-width: 250px;
        margin-top: 10px;
        padding: 10px;
    }

    .search_btn img {
        padding-bottom: 0;
    }

    /* cate_list */
    /* .cate_list {
	background: none!important;
} */

    .freeform_box.grid_12_tb {
        width: 100%;
    }
}



@media screen and (max-width: 667px) {

    /* 山域から探す検索フォーム */
    .search_freeform input {
        padding: 10px 40px 10px 15px;
        font-size: 12px;
    }

    .con3_title_box {
        margin-bottom: 30px;
    }

    .search_freeform button img {
        width: 18px;
        height: 18px;
    }

    .toggle_title .width_90per {
        width: 95% !important;
    }

    /* form_box */
    form#search_form {
        bottom: auto !important;
        left: auto;
        transform: inherit;
        margin-top: -40px;
    }

    .form_box h5, .form_box a {
        padding: 10px 5px;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
        letter-spacing: 0;
    }

    .form_box button {
        max-width: 200px;
        margin-top: 10px;
        padding: 10px;
        font-size: 14px;
    }

    .search_btn img {
        padding-bottom: 1px;
    }

    /* ul.cate_list {
  padding: 20px;
} */

    /* CMS */
    .box_wrap {
        background-color: var(--color2);
    }
}

@media screen and (max-width: 340px) {
    #search_form {
        padding: 0 2%;
    }

    .form_box h5, .form_box a {
        font-size: 13px;
    }
}


/*2025-05-02*/
.tour_card_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    display: flex;
    flex-wrap: wrap;
}

.tour_card_item {
    border: 1px solid #ccc;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    width: calc(33.333% - 24px); /* gapに応じて調整 */
}

/*タブレットサイズ*/
@media screen and (max-width: 768px) {
    .tour_card_list {
        display: flex;
        justify-content: space-between;
        /*grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));*/
        gap: 12px;
    }

    .tour_card_item {
        width: calc(50% - 12px); /* gapに応じて調整 */
    }
}
/*スマホサイズ*/
@media screen and (max-width: 667px) {
    .tour_card_item {
        width: 100%;
    }
}

.tour_card_img_wrapper {
    position: relative;
}

.tour_area_tag {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-color: #b94c4c;
    color: #fff;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 5px;
    font-weight: bold;
    z-index: 10;
}

.tour_card_img img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}

.tour_card_body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tour_card_title {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* 表示行数の制限 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.5;
    min-height: 4.5em;
    max-height: 4.5em;
}

.tour_card_date,
.tour_card_location,
.tour_card_price {
    font-size: 0.9rem;
    color: #444;
}

    .tour_card_price strong {
        font-size: 1.2rem;
        color: #d9480f; /* 目立つ系（赤・橙系） */
    }

.tour_card_features {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.85rem;
    color: #333;
}

    .tour_card_features li {
        margin-bottom: 4px;
    }

.tour_card_button {
    margin-top: auto;
    text-align: center;
}

    .tour_card_button .button {
        display: inline-block;
        background: #2d6a4f;
        color: #fff;
        padding: 8px 20px;
        border-radius: 24px;
        text-decoration: none;
        font-size: 0.9rem;
        transition: background 0.3s;
    }

        .tour_card_button .button:hover {
            background: #214e39;
        }

/*2025-05-12*/
/*.brand_image img {
width: 100%;
    height: 100%;
    object-fit: cover;
}*/

/*2025-05-16*/
/* contents2 【山小屋とキャンプ場】----------------------------------------------- */
/* slide---------------------------------------------- */
/* 背景画像調整-------------- */
/*#contents2 .slick-box .box_img {
  height: clamp(520px,70vh,1020px);
  margin: 0;
}*/

h2.font_min {
    line-height: 1.2;
}
/* レスポンシブ */
@media (min-aspect-ratio: 16/7) {
    #contents2 .slick-box .box_img {
        height: clamp(calc(520px + 20px), calc(70vh + 20px), calc(1020px + 20px));
    }

    .contents_right {
        padding: 50px;
    }
}

@media (max-aspect-ratio: 16/8) {
    #contents2 .slick-box .box_img {
        height: clamp(calc(520px + 20px), calc(70vh + 20px), calc(1020px + 20px));
    }

    .contents_right {
        padding: 50px;
    }
}

@media (max-aspect-ratio: 16/9) {
    #contents2 .slick-box .box_img {
        height: clamp(calc(520px + 50px), calc(70vh + 50px), calc(1020px + 50px));
    }
}

@media (max-aspect-ratio: 16/10) {
    #contents2 .slick-box .box_img {
        height: clamp(calc(520px + 100px), calc(70vh + 100px), calc(1020px + 100px));
    }
}

@media (max-aspect-ratio: 16/11) {
    #contents2 .slick-box .box_img {
        height: clamp(calc(520px + 150px), calc(70vh + 150px), calc(1020px + 150px));
    }
}

@media (max-aspect-ratio: 16/12) {
    #contents2 .slick-box .box_img {
        height: clamp(calc(520px + 200px), calc(70vh + 200px), calc(1020px + 200px));
    }
}
/* レスポンシブ */

/* 1520-------------------------------- */
@media screen and (max-width: 1600px) {
    .contents_right {
        padding: 70px;
    }

    #contents2 .slick-box .box_img {
        height: clamp(calc(520px + 50px), calc(70vh + 50px), calc(1020px + 50px));
    }
}

/* 1100-------------------------------- */
@media screen and (max-width: 1100px) {
    .contents_right {
        padding: 50px;
    }

    #contents2 .slick-box .box_img {
        height: clamp(calc(520px + 50px), calc(70vh + 50px), calc(1020px + 50px));
    }
}

@media (max-aspect-ratio: 16/20) {
    #contents2 .slick-box .box_img {
        height: clamp(400px, 50vh, 600px);
    }
}
/* @media (orientation: portrait) and (max-width: 1100px) {
  #contents2 .slick-box .box_img {
    height: clamp(calc(300px + 0px), calc(40vh + 0px), calc(600px + 0px));
}
} */
/* 背景画像調整-------------- */

/*--- arrow dot-------------------*/
.link_type_slick .slick-box .prev, .slick-box .next {
    display: block;
    cursor: pointer;
    position: absolute;
    bottom: 3%;
    z-index: 1;
}


#contents2 .link_type_slick .slick-box .prev, #contents2 .slick-box .next {
    box-shadow: 0px 0px 10px var(--color3_opa02);
}

.link_type_slick .slick-box .prev {
    left: 2%;
}

.link_type_slick .slick-box .next {
    left: calc(50px + 2%);
}
/* Dots */
#contents2 .link_type_slick .slick-dots {
    position: absolute;
    bottom: 5%;
    display: block;
    left: calc(50px + 7%);
}

    #contents2 .link_type_slick .slick-dots li {
        position: relative;
        display: inline-block;
        cursor: pointer;
    }

        #contents2 .link_type_slick .slick-dots li button {
            font-size: 0;
            display: block;
            width: 20px;
            height: 30px;
            padding: 5px;
            cursor: pointer;
            color: transparent;
            border: 0;
            outline: none;
            background: transparent;
            text-shadow: 0px 0px 10px var(--black);
        }

            #contents2 .link_type_slick .slick-dots li button:hover,
            #contents2 .link_type_slick .slick-dots li button:focus {
                outline: none;
            }

                #contents2 .link_type_slick .slick-dots li button:hover:before,
                #contents2 .link_type_slick .slick-dots li button:focus:before {
                    opacity: 1;
                }

            #contents2 .link_type_slick .slick-dots li button:before {
                font-family: 'slick';
                font-size: 10px;
                position: absolute;
                content: '●';
                text-align: center;
                opacity: .25;
                color: var(--white);
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
            }

        #contents2 .link_type_slick .slick-dots li.slick-active button:before {
            opacity: .75;
            color: var(--white);
        }

/* 最後まで行ったら、矢印透過する */
.link_type_slick .slick-disabled {
    opacity: 0.3;
}

.link_type_slick .slick-track {
    display: flex;
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px) {

    #contents5 h3 .icon_title, #contents6 h3 .icon_title, #contents5 h3 span.width_90per, #contents6 h3 span.width_90per {
        width: 80% !important;
    }


    .link_type_slick .slick-container {
        padding-left: 0;
        padding-right: 0;
    }

    .link_type_slick .slick-box .prev {
        left: -8px;
    }

    .link_type_slick .slick-box .next {
        right: -8px;
    }
    /* 両サイドの画像を透過 */
    .link_type_slick02 .slick-initialized .slick-slide {
        opacity: 0.1;
    }
    /* センター画像を非透過 */
    .link_type_slick .slick-initialized .slick-slide.slick-center {
        opacity: 1;
    }
}
/* slide---------------------------------------------- */
/* contents2 */
/*#contents2 .slick-box .box_img {
  height: clamp(300px, 63vh, 650px);
}*/
.link_type_slick .slick-box .prev {
    left: 4%;
}

.link_type_slick .slick-box .next {
    left: calc(40px + 3%);
}

.link_type_slick .slick-box .prev, .slick-box .next {
    bottom: 2%;
}

#contents2 .link_type_slick .slick-dots {
    bottom: 3%;
}

.contents_left {
    height: auto !important; /* JSで上書きしやすく */
    overflow: hidden;
    display: block;
}

.link_type_slick,
.slick-container,
.slick-box {
    height: 100% !important; /* 親の高さに合わせる */
}

.contents_left .slick-slide {
    height: 100%;
}

.contents_left .box_img {
    height: 100%;
    min-height: 100%;
    min-height: 400px;
}

@media screen and (max-width: 667px) {
    .contents_left {
        height: auto !important;
    }

        .contents_left .box_img {
            height: auto;
            min-height: 250px;
        }

        .contents_left .slick-track {
            height: auto !important;
        }
}
