@charset "utf-8";


/* ----------------------------------------------------------------------
共通
---------------------------------------------------------------------- */
img { max-width: 100%; vertical-align: bottom;}
ol,ul { list-style: none;}
.br_sp { display: none;}

@media screen and (max-width: 768px) {
    .br_sp { display: inline-block;}
}
/* ----------------------------------------------------------------------
ヘッダー
---------------------------------------------------------------------- */
#header { background-image: image-set(url(../images/header_img.webp) 1x, url(../images/header_img@2x.webp) 2x); height: clamp(330px, 21.875vw, 420px); background-position: center top; background-repeat: no-repeat; background-size: auto 100%; }
#header picture { display: block;}
#header picture img { width: 100%; object-fit: cover;}

@media screen and (max-width: 1024px) {
    #header { background-image: image-set(url(../images/header_img_sp.webp) 1x, url(../images/header_img_sp@2x.webp) 2x); height: clamp(210px, 30.5vw, 290px); background-size: 100%; }
}

/* ----------------------------------------------------------------------
メイン
---------------------------------------------------------------------- */
body { background-image: url(../images/bg_beige.webp);}
.inner { max-width: 1200px; width: 85%; margin-inline: auto;}
main { margin-top: clamp(-180px, -9.375vw, -140px);}

@media screen and (max-width: 1024px) {
    .inner { width: 90%;}
    main { margin-top: clamp(-110px, -5vw, -95px);}
}

/*  MAP   ---------------------------------------------------------------------- */
.map_wrapper { position: relative; margin-bottom: 50px;}
.map_comment { position: absolute; bottom: 0; right: 0; width: 35%; max-width: 270px; display: flex; gap: 5%; padding: 10px; border-radius: 8px; border: 1px solid #040000; line-height: 1.3; align-items: center; font-weight: 600; font-size: 14px;}
.map_comment picture { display: block; width: max(16%, 63px);}

@media screen and (max-width: 639px) {
    .map_comment { position: relative; bottom: auto; right: auto; transform: translateX(-50%); width: 235px; top: 15px; left: 50%;}
}

/*  VIDEO AREA   ---------------------------------------------------------------------- */
.parking_list { display: flex; gap: 60px 18px; flex-wrap: wrap;}
.parking_list .list_item { background-image: url(../images/bg_green.webp); padding: 30px 1.5%; width: calc((100% - 36px) / 3);}
.list_item .text_flex { display: flex; gap: 5%; align-items: center; margin-bottom: 25px;}
.list_item .text_flex a, .list_item .lot_svg { display: block; width: 25%; flex-shrink: 0;}
/* .list_item .text_flex picture { width: 80px;} */
.list_item .text_flex .text { color: #fff;}
.list_item .text .parking_ttl { font-size: 1.5em; font-weight: 500; margin-bottom: 8px;}
.list_item .text .parking_ttl_sub { font-size: 0.9em; margin-bottom: 10px;}
.list_item .text .parking_time { font-size: 1em; }
.video_wrapper { border: 5px solid #fff; aspect-ratio: 340 / 295;}
.video_wrapper picture { display: block; width: 100%; height: 100%;}
.video_wrapper picture img {object-fit: cover; width: 100%; height: 100%;}

@media screen and (max-width: 768px) {
    .parking_list { flex-wrap: wrap; gap: 40px 10px;}
    .parking_list .list_item { width: calc((100% - 20px) / 3);}
    .list_item .text_flex a { width: 64px;}
    /* .list_item .text .parking_ttl { font-size: 30px;}
    .list_item .text .parking_ttl_sub { font-size: 14px;}
    .list_item .text .parking_time { font-size: 18px;} */
}
@media screen and (max-width: 699px) {
    .parking_list .list_item { width: calc((100% - 10px) / 2); max-width: 500px;}
}
@media screen and (max-width: 440px) {
    .parking_list { justify-content: center;}
    .parking_list .list_item { width: 100%; padding: 30px 3%;}
}

/* ----------------------------------------------------------------------
フッター
---------------------------------------------------------------------- */
#footer { background-image: image-set(url(../images/footer_img.webp) 1x, url(../images/footer_img@2x.webp) 2x); height: clamp(330px, 21.875vw, 420px); background-position: center bottom; background-repeat: no-repeat; background-size: auto 100%; }
#footer .inner { height: 100%; display: flex; align-items: flex-end; justify-content: flex-end; }
#footer .contact_wrapper { margin-bottom: 15px; color: #fff;}
#footer .contact_wrapper span { display: block; }
#footer span.contact_ttl { font-size: 19px; margin-bottom: 10px;}
#footer span.contact_name { font-size: 25px; margin-bottom: 15px; }
#footer span.contact_address { font-size: 19px; margin-bottom: 10px; line-height: 1.3; }
#footer span.contact_num { font-size: 19px; margin-bottom: 25px; line-height: 1.3; }
#footer span.copyright { font-size: 13px; text-align: right;}

@media screen and (max-width: 768px) {
    #footer { height: auto;}
    #footer .contact_wrapper { padding-top: 200px;}
}


/* ----------------------------------------------------------------------
個別ページ
---------------------------------------------------------------------- */
.p_single .inner { width: 75%; max-width: 800px;}
.p_single main { margin-top: 0; text-align: center; padding: 60px 0 80px;}
#p_header { background-image: url('../images/bg_green_s.webp'); background-repeat: no-repeat; background-size: cover; background-position: center bottom; }
#p_header .text_flex { display: flex; gap: 40px; justify-content: center; align-items: center; padding: 30px 30px 60px;}
#p_header picture { width: 180px;}
#p_header .text { color: #fff;}
#p_header .parking_ttl { font-size: 90px; margin-bottom: 15px;}
#p_header .parking_ttl_sub { font-size: 40px;}
.p_single .parking_time { font-size: 42px; margin-bottom: 15px;}
.p_single .video_wrapper { border: 15px solid #fff; margin-bottom: 70px;}
.btn_wrapper { display: flex; flex-direction: column; gap: 60px;}
.btn_wrapper a { display: block; max-width: 410px; width: 80%; margin-inline: auto; filter: drop-shadow(6px 6px 8px rgba(0,0,0,0.33));}

@media screen and (max-width: 768px) {
    .p_single .inner { width: 90%; max-width: 500px;}
    #p_header .text_flex { gap: 15px; padding-bottom: 45px;}
    #p_header picture { width: 100px;}
    #p_header .parking_ttl { font-size: 36px;}
    #p_header .parking_ttl_sub { font-size: 20px;}
    .p_single .parking_time { font-size: 26px;}
    .p_single .video_wrapper { border: 5px solid #fff;}
}