/*  */
/* メディアクエリ */
/* 960px タブレット用 */
/* @media screen and (max-width: 960px) {

.tab_only{
    display: block;
}

.pc_only{
    display: none;
}

.sp_only{
    display: none;
}

 
} */

/* ここまで */
/* メディアクエリ */
/* 960px タブレット用 */

/*  */
/* メディアクエリ */
/* 430px スマホ用 sp用 */
@media screen and (max-width: 430px) {

.container{
    width: 100vw;
    height: auto;
    position: relative;
}

.pc_only{
    display: none;
}

.sp_only{
    display: block;
}
    
.sp_none{
    display: none;
}
    

/* ヘッダー */
.header_wrap{
    width: 100vw;
    max-width: none;
    height: 100px;
    display: flex;
    margin: 0 auto;
    padding: 30px;
    box-sizing: border-box;
}

h1{
    font: 900 2.6rem/3rem "M PLUS 1p", "Noto Sans JP", sans-serif;
    color: #B0B0B0;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ハンバーガーメニュー */
.menu_sp{
    width: 81%;
    height: 100vh;
    margin: 0 0 0 auto;
    overflow: hidden;
    position: absolute;
    top: -120%;
    right: -100%;
    z-index: 20;
    transition: all .3s ease;
}
.menu_sp.active{
    position: absolute;
    top: 0;
    right: 0;
}
.menu_sp::before{
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #7fd5aa;
    border-radius: 80px 0 0 80px;
    /*  */
    position: absolute;
    z-index: -1;
}
.main_menu_sp{
    font: 700 1.61rem/2.2rem "M PLUS 1p", "Noto Sans JP", sans-serif;
    color: #B0B0B0;
    margin: 100px 0;
}

.overlay.active {
    background-color: #ffffff;
    cursor: pointer;
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all 0.6s;
    visibility: hidden;
    width: 100vw;
    z-index: 15;
}

.contents {
    width: 100%;
    height: 100%;
    display: block;
    margin: 0 auto;
    padding: 40px;
    box-sizing: border-box;
}

.contents li+li {
    margin: 20px 0 0;
}

.contens_respons{
    position: relative;
    background: #fff;
    border: 1px solid #aaa;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    margin: -5px 0 0 auto;
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 30;
}
.contens_respons span{
    display: inline-block;
    /* アニメーション設定 */
    transition: all .4s;
    position: absolute;
}
.contens_respons span:nth-of-type(1),
.contens_respons span:nth-of-type(3){
    height: 2px;
    background: #aaa;
    width: 62%;
    left: 14px;
}
.contens_respons span:nth-of-type(1){
    top:20px;
}
.contens_respons span:nth-of-type(2){
    top: 27px;
    left: 16px;
    color: #aaa;
    font: 700 1.5rem / 1.5rem "M PLUS 1p", "Noto Sans JP", sans-serif;
}
.contens_respons span:nth-of-type(3){
    top: 50px;
}
.contens_respons.active span:nth-of-type(1){
    top: 28px;
    left: 12px;
    transform: translateY(6px) rotate(-45deg);
    width: 66%;
}
.contens_respons.active span:nth-of-type(2){
    opacity: 0;
}
.contens_respons.active span:nth-of-type(3){
    top: 41px;
    left: 13px;
    transform: translateY(-6px) rotate(45deg);
    width: 66%;
}

/* ヒーローの設定 */
.hero_wrap{
    width: 100%;
    position: relative;
}

.mask {
    width: 100vw;
    height: 100vh; 
}   

.mask image {
    width: 140%;
    mask-image: url(#customMask);
    mask-size: contain;
    mask-position: center;
    x: calc(-1000px / 2);
    y: calc(-500 / 2);
}

.mask path {
    fill: #ffffff;
}

.grass_position{
    width: 100%;
    margin-top: -300px;
    position: relative;
    z-index: -1;
}
.grass_position img{
    height: 70vh;
    width: 100%;
    object-fit: cover;
}

.hero_img_text{
    width: calc(100% - 100px);
    height: 0;
    margin: 0 auto;
    position: relative;
}
.hero_img_text p {
    font: 700 2rem / 3.2rem "M PLUS 1p", "Noto Sans JP", sans-serif;
    color: #2a8528;
    z-index: 10;
    position: absolute;
    top: 60px;
    left: 30px;
}

.play_ill_1{
    /* position: relative; */
}
.play_ill_1 img{
    width: 40vw;
    position: absolute;
    top: 180px;
    right: 20px;
}
.play_ill_2{
    /* position: relative; */
}
.play_ill_2 img{
    width: 40vw;
    position: absolute;
    bottom: 310px;
    left: 10px;
}

.sns_box{
    width: 100%;
    margin: 0 auto;
    display: block;
}

.sns_face{
    width: calc(100% - 40px);
    height: 500px;
    background-color: #555555;
    margin: 0 auto;
}
.sns_face > iframe{
    width: calc(100%);
}
.sns_insta{
    width: calc(100% - 40px);
    height: 500px;
    background-color: #555555;
    margin: 0 auto;
}
.sns_line{
    width: calc(100% - 40px);
    border-bottom: 3px dashed #555555;
    margin: 50px auto;
}

.access_wrap{
    padding: 70px 20px;
    box-sizing: border-box;
}

.map{
    width: calc(100% - 20px);
    height: auto;
    margin: 0 auto;
}

/*  */
/* 公式line */
/* LINE */
.bus_operator{
    width: 100%;
    height: auto;
    margin-top: 50px;
    background-color: #eeeeee;
}
.bus_operator_inner{
    width: 100%;
    margin: 0 auto;
    padding: 0 0 25px 0;
}
.bus_operator_headwrap{
    width: 100%;
    display: block;
    margin: 0px auto;
    padding: 50px 0;
}
.bus_operator_text{
    display: block;
    height: auto;
}

.bus_operator_maintext{
    width: calc(100% - 50px);
    text-align: center;
    font: 900 3rem / 4rem "Noto Sans Jp", sans-serif;
    margin: 25px auto;
}
.bus_operator_subtext{
    text-align: center;
    font: 500 2.0rem / 3.0rem "Noto Sans Jp", sans-serif;
}
.bus_operator_qr{
    width: 300px;
    height: 170px;
    margin: 25px auto 50px;
}
.bus_operator_qr img{
    width: 170px;
    height: 170px;
}
.bus_operator_qr a{
    font: 500 2.0rem / 2.5rem "Noto Sans Jp", sans-serif;
    margin: 25px auto;
}

.bus_operator_title{
    width: calc(100% - 50px);
    margin: 0 auto;
    text-align: center;
    font: 700 2.0rem / 2.0rem "Noto Sans Jp", sans-serif;
    position: relative;
}
.bus_operator_title::before{
    content: '';
    width: 300px;
    height: 4px;
    display: inline-block;
    background-color: #337ab7;
    position: absolute;
    top: 150%;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.bus_operator_title::after{
    content: '';
    width: 300px;
    height: 4px;
    display: inline-block;
    background-color: #337ab7;
    position: absolute;
    top: -70%;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.bus_operator_ill{
    width: 100vw;
    margin: 50px auto;
    display: block;
}
.bus_operator_ill li+li{
    margin-left: 0px;
}
.bus_operator_ill li {
    text-align: center;
    font: 500 1.8rem / 2.3rem "Noto Sans Jp", sans-serif;
}
.bus_operator_ill li img{
    width: 300px;
    height: auto;
}


/*  599px スマホ用 sp用 */
/* 角渕キャンプ場・バーベーキュー場管理事務所情報 */
/* camp/bbq */
.camp_wrap {
    width: 100%;
    height: auto;
    position: relative;
    }
    .camp_main_view {
    height: 400px;
    background-size: cover;
    }
    .camp_logo {
    max-width: 1000px;
    }
    .camp_logo_img {
    height: 250px;
    transform: translateY(-50%) translateX(-50%);
    }

    .caption{
        width: 100%;
        height: auto;
        text-align: center;
        box-sizing: border-box;
        padding: 20px;
        background-color: #468228;

    }
    .caption p{
        font: 700 2.0rem/3.2rem "Noto Sans Jp", sans-serif;
        color: #ffffff;
    }

    .subtitle_line {
    text-align: center;
    }
    .subtitle_line::after {
    content: "";
    width: calc(100% - 50px);
    }

    .subtitle_wrap{
    max-width: 900px;
    width: 100vw;
    height: 100px;
    display: flex;
    margin: 0 auto;
    font: 700 1.8rem/3.2rem "Noto Sans Jp", sans-serif;
    }
    .subtitle {
    max-width: 1000px;
    width: 50vw;
    text-align: center;
    margin: auto 0;
    }

    .subtitle > a{
    color: #0044CC;
    }

    /* 管理事務所情報 */
    .office_information{
    width: calc(100% - 50px);
    height: auto;
    margin: 50px auto 0;
    display: block;
    }
    .office_information_left{
    display: block;
    width: 100%;
    height: auto;
    text-align: center;
    margin: 15px auto 0;
    }
    .detailed_list{
    margin: 20px 0;
    }
    .detailed_list ul+ul{
    margin-left: 10px;
    }
    .detailed_list_title{
        font: 900 1.4rem / 3.2rem "Noto Sans Jp", sans-serif;
    }
    .detailed_list_text{
    font: 500 1.4rem / 3.2rem "Noto Sans Jp", sans-serif;
    }

    .office_information_title{
        font: 700 3rem/4.5rem "Noto Sans Jp", sans-serif;
        color:#468228;
    }
    .office_information_title_en{
        font: 700 1.6rem/2.4rem "Arial", "Noto Sans Jp", sans-serif;
        color:#b3e89d;
    }
    .office_information_title_line{
    width: 100%;
    margin: -7px auto 0;
    }

    .office_information_mainph {
    width: calc(100% + 54px);
    margin: 0 0 0 -26px;
    }

    .office_information_ph{
    width: fit-content;
    display: block;
    }
    .office_information_ph li+li{
    margin-left: auto;
    margin-top: 30px;
    }

    .office_ph_tag{
    display: block;
    margin-top: -40px;
    }

    .office_information_ph >li > p{
    font: 700 1.6rem / 2.4rem "Noto Sans Jp", sans-serif;
    color: #333333;
    display: block;
    margin: -30px 0 0 70px;
    }

    /* 管理事務所情報 地図情報 */
    .camp_map_wrap {
    width: 100%;
    height: auto;
    background-color: #f5f5f5;
    margin: 70px auto;
    padding: 90px 0;
    box-sizing: border-box;
    }

    .camp_map_inner{
    width: calc(100% - 50px);
    margin: 0 auto;
    }

    .camp_map_img {
    width: 100%;
    margin: 0 auto;
    display: block;
    }

    .camp_map_downlode {
    height: 45px;
    display: block;
    margin: 90px auto 0;
    }
    .camp_map_downlode:hover {
    opacity: 0.7; 
    }

    /* 管理事務所情報 ご利用の流れ */
    .usage_flow{
    width: calc(100% - 50px);
    height: auto;
    margin: 50px auto 0;
    display: block;
    }
    .usage_flow_left{
        display: block;
        width: 100%;
        height: auto;
        text-align: center;
        margin: 15px auto 0;
    }
    .usage_flow_text{
        margin: 20px 15px 0;
        /* display: flex; */
        text-align: left;
        font: 500 1.6rem / 3.2rem "Noto Sans Jp", sans-serif;
    }
    .usage_flow_text > p > a{
        color: #0044CC;
    }
    .usage_flow_title{
        font: 700 3rem/4.5rem "Noto Sans Jp", sans-serif;
        color:#468228;
    }
    .usage_flow_title_en{
        font: 700 1.6rem/2.4rem "Arial", "Noto Sans Jp", sans-serif;
        color:#b3e89d;
    }
    .usage_flow_title_line{
        width: calc(100% - 30px);
        margin: -7px auto 0;
    }
    
    .youtube > iframe{
        width: calc(100% - 30px);
        height: 200px;
        margin: 15px 15px 0;
    }

    .usage_flow_ph{
    width: calc(100% - 50px);
    margin: 0 auto;
    }

    .office_ph_tag{
    display: block;
    margin-top: -40px;
    }

    .office_information_ph >li > p{
    font: 700 1.6rem / 2.4rem "Noto Sans Jp", sans-serif;
    color: #333333;
    display: block;
    margin: -30px 0 0 70px;
    }

    .usage_flow_step_wrap{
    width: 100%;
    height: auto;
    margin: 0 auto;
    }
    .flow_line{
    display: block;
    }

    .flow_line_2nd{
    display: block;
    }

    .usage_flow_step{
        display: block;
        margin: 100px auto;
    }
    /* 2行目のmarginを操作 */
    .line_adjust_2nd{
    margin-top: 100px;
    }
    /* 3行目のmarginを操作 */
    .line_adjust_3nd{
    margin-top: 100px;
    }

    /* 管理事務所情報 ご利用の流れ 文言 */
    .step{
    width: 94px;
    height: 110px;
    text-align: center;
    margin-top: -10px;
    font: 700 1.6em / 2.4rem "Noto Sans Jp", sans-serif;
    }
    /* タイトル1行 */
    .step_word1{
    display: inline-block;
    width: 200px;
    height: 30px;
    margin: -15px 0 0 10px;
    font: 700 2.2rem / 3rem "Noto Sans Jp", sans-serif;
    }
    /* タイトル2行 */
    .step_word2{
    display: inline-block;
    width: 200px;
    height: 60px;
    margin: -30px 0 0 10px;
    font: 700 2.2rem / 3rem "Noto Sans Jp", sans-serif;
    }
    /* タイトル赤 */
    .word_red{
    color:#ff2d2d;
    }

    /* 吹き出し */
    .bubble_wrap{
    height: 500px;
    font: 700 1.6em / 2.4rem "Noto Sans Jp", sans-serif;
    position: relative;
    background-color: #ffffff;
    }
    .bubble_wrap::before{
    content: '';
    position: absolute;
    bottom: -10px;
    right: -10px;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(-45deg, #78c878 0px, #78c878 5px, rgba(0 0 0 / 0) 0%, rgba(0 0 0 / 0) 2%);
    z-index: -10;
    }

    .bubble_wrap_cancel{
    height: 500px;
    font: 700 1.6em / 2.4rem "Noto Sans Jp", sans-serif;
    position: relative;
    background-color: #ffffff;
    }
    .bubble_wrap_cancel::before{
    content: '';
    position: absolute;
    bottom: -10px;
    right: -10px;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(-45deg, #ff7887 0px, #ff7887 5px, rgba(0 0 0 / 0) 0%, rgba(0 0 0 / 0) 2%);
    z-index: -10;
    }

    .bubble_wrap_title{
    height: auto;
    font: 700 1.6em / 2.4rem "Noto Sans Jp", sans-serif;
    }
    .bubble_step{
    display: flex;
    position: relative;
    }

    .bubble{
    position: absolute;
        top: -45px;
        left: -5px;
    text-align: center;
    }

    .step_content{
    margin-top: -40px;
    }
    .step_explain{
    width: 100%;
    height: auto;
    padding: 5px 25px;
    box-sizing: border-box;
    font: 500 1.6em / 2.8rem "Noto Sans Jp", sans-serif;
    }
    .step_explain > a{
    color: #0044CC;
    }

    .step_explain_bold{
    font: 700 1.1em / 2.8rem "Noto Sans Jp", sans-serif
    }

    .box{
    width: 260px;
    height: 70px;
    margin: 0 auto;
    padding: 4px 10px;
    box-sizing: border-box;
    border: solid 0.1em #333333;
    font: 500 2rem / 2.8rem "Noto Sans Jp", sans-serif;
    }

    /* 管理事務所情報 下段 */
    .bottom_information_wrap{
        padding: 25px;
    }
    .bottom_information{
        width: 100%;
    }
    .bottom_information_title{
        font: 700 3rem / 4rem "Noto Sans Jp", sans-serif;
        color: #468228;
        margin-bottom: 30px;
    }
    .bottom_information_title_line{
    border-bottom:solid #238315 3px;
    }
    .bottom_detailed_list{
        width: 100%;
        padding: 25px 0;
    }
    .detailed_text{
    font: 500 1.6rem / 3.2rem "Noto Sans Jp", sans-serif;
    word-break: break-word;
    }
    .detailed_text_adjust{
    font: 500 1.4rem / 3.2rem "Noto Sans Jp", sans-serif;

    }
    /* 管理事務所情報　薪販売 */
    .bottom_information_firewood_wrap{
        width: auto;
        height: auto;
        border: solid 10px #d4ac7b;
        margin: 25px auto 0;
        display: flex;
        position: relative;
    }
    .bottom_information_firewood_left{
        width: 100%;
    }
    .bottom_information_firewood_left img {
        width: 100%;
    }
    .bottom_information_firewood_tittle{
        font: 700 3rem / 4rem "Noto Sans Jp", sans-serif;
        text-align: left;
    }
    .bottom_information_firewood_explain{
    font: 700 1.6rem / 2.8rem "Noto Sans Jp", sans-serif;
    color: #333333;
    text-align: left;
    }
    .bottom_information_firewood_explain > a{
    color: #0044CC;
    }
    .information_paypay{
        width: calc(100% - 5px);
        font: 700 1.8rem / 2.5rem "Noto Sans Jp", sans-serif;
        color: #333333;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
    }
    .office_internal{
    margin: 20px auto 0;
    }
    .information_paypay img{
        height: 45px;
        width: auto;
    }
    .bottom_information_firewood_right{
        position: absolute;
        top: -25px;
        right: -25px;
    }
    .bottom_information_firewood_right img{
        width: 140px;
        height: auto;
    }
    


/*  */
/* フッター */
.footer_wrap{
    width: 100%;

    height: auto;

    margin: 70px auto 0;
    background-color: #D9D9D9;
    padding: 45px;
    box-sizing: border-box;
}
.footer_inner{
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}

.footer_logo_text{
    font: 900 3rem / 3rem "M PLUS 1p", "Noto Sans JP", sans-serif;
    color: #B0B0B0;
}

.footer_copylight{
    font: 700 1rem / 1.2rem "M PLUS 1p", "Noto Sans JP", sans-serif;
    color: #555555;
    margin-top: 10px;
}

.footer_navi{
    margin: 10px 0 0;
    text-align: left;
}
.footer_navi li+li{
    margin-left: 0;
}

  
.footer_navi_main{
    display: block;
    font: 700 1.6rem / 2rem "M PLUS 1p", "Noto Sans JP", sans-serif;
    margin-top: 30px;
}
.footer_navi_main li+li{
    margin-top: 30px;
}
.footer_navi_main a{
    width: calc(100% - 10px);
    display: block;
}

.footer_navi_sub{
    display: block;
    margin: 30px 0 0 auto;
}
.footer_navi_sub li+li{
    margin-top: 30px;
}

.footer_copylight{
    font: 700 1.2rem / 1.2rem "M PLUS 1p", "Noto Sans JP", sans-serif;
    color: #555555;
    text-align: center;
    margin: 30px auto 0 ;
}

