/* area.css */
@charset 'utf-8';

@media screen and (max-width: 740px){/* SP */}
@media screen and (min-width: 741px){/* PC */}



header .teaser_wrap { display: none; }



/*==============================
AREA
==============================*/
main { margin-top: 0 !important; }
main.scrolled { margin-top: 0 !important; }
header { background: #FFFFFF00; box-shadow: 0px 4px 12px #00000000; transition: all 0.3s ease;  }
header.scrolled  { background: #FFF; box-shadow: 0px 4px 12px #00000030; }
header .teaser_wrap { display: none; }
@media screen and (max-width: 1200px){/* SP */
    main.scrolled { margin-top: 0 !important; }
}

/*---------- top ----------*/
.area_top_wrap { position: relative; display: flex; justify-content: right; padding: 130px 0 60px; }
/* .scrolled .top_wrap { padding-top: 126px; } */
.area_top_img { width: 80vw; aspect-ratio: 9 / 5; object-fit: cover; }
.area_top_wrap small { position: absolute; bottom: 1vw; right: 1vw; font-size: 12px; line-height: 1.5em; opacity: 0.7; }
.area_top_wrap small br { display: none; }
.area_top_content { position: absolute; top: calc(1vw + 130px); left: 5vw; display: flex; flex-direction: column; justify-content: space-between; height: 40vw; }
.area_h1_wrap { display: flex; flex-direction: column; gap: 2vw; color: #FFF; }
.area_h1_wrap h1 { font-size: 7vw; font-weight: 400; line-height: 1em; }
.area_h1_wrap span { font-size: 3vw; line-height: 1em; }
.area_top_text { display: flex; flex-direction: column; gap: 0.5em; font-size: 2vw; line-height: 1em; }
.area_top_text span { width: fit-content; padding: 0.25em; padding-left: calc(5vw + 0.25em); margin-left: -5vw; }
@media screen and (max-width: 1200px){/* SP */
    .area_top_wrap { padding: 90px 0 50px; }
    .area_top_content { top: calc(1vw + 90px); }
    /* .scrolled .top_wrap { padding-top: 110px; } */
}
@media screen and (max-width: 1030px){/* SP */
    .area_top_wrap small br { display: inline; }
}
@media screen and (max-width: 740px){
    .area_top_wrap { padding: 85px 0 80px; }
    .area_top_wrap small { bottom: 2vw; right: 3vw; }
    .area_top_img { width: 90vw; aspect-ratio: 9 / 10; object-position: 80%; }
    .area_top_content { top: calc(8vw + 85px); height: 80vw; }
    .area_h1_wrap h1 { font-size: 15vw; }
    .area_h1_wrap span { font-size: 6vw; }
    .area_top_text { font-size: max(3vw, 20px); }
}
@media screen and (max-width: 610px){
    .area_top_wrap small { width: 88vw; }
    .area_top_wrap small br { display: none; }
    .area_top_content { height: 78vw; }
}

/*---------- slide ----------*/
.area_slide_wrap { position: relative; width: 100vw; margin-top: -1px; overflow: hidden; }
.area_slide_container { display: flex; width: fit-content; }
.area_slide_img { width: 20vw; min-width: 200px; aspect-ratio: 2 / 1; object-fit: cover; }
.area_slide_text { position: absolute; bottom: 0.5vw; left: 1vw; color: #FFF; text-shadow: 0px 0px 6px #000; }


/*---------- link ----------*/
.plan_link .link_button { flex: 1; max-width: 300px; padding: 20px 24px; }
.plan_link .link_button_arrow { display: none; margin-left: 24px; transform: rotate(90deg); }
.plan_link .plan_link_text .plan_link_title { position: absolute !important; top: -20px; left: -25px; font-size: 48px; opacity: 0.4; }
.plan_link .plan_link_text p { margin-top: 24px; font-size: 16px; line-height: 1.5em; }
@media screen and (max-width: 740px){/* SP */
    .plan_link .link_button_wrap { flex-direction: column; }
    .plan_link .link_button { max-width: 100%; }
}


/*==============================
PLAN
==============================*/
.plan_wrap { position: relative; }
.plan { position: relative; }
.plan:nth-child(2n) { background-image: radial-gradient(at 10% 20%, #FFF, #DDD); }
.plan:nth-child(2n+1) { background-image: radial-gradient(at 10% 20%, #CCC, #999); }
.plan:last-child { padding-bottom: 200px; }
.plan_num { position: absolute; top: 0; left: 0; font-size: 160px; line-height: 0.69em; writing-mode: vertical-lr; opacity: 0.1; }
.plan_main { display: flex; flex-direction: column; gap: 40px; }
.plan_top { display: flex; justify-content: space-between; }
.plan_info { font-size: 20px; }
.plan_text ul li::before { content: '◼︎'; }
.plan_img_wrap { position: relative; display: flex; justify-content: center; width: 100%; padding: 40px; background: #FFF; }
.plan_img_wrap.service_room { padding-bottom: 80px; }
.plan_img_wrap small { position: absolute; bottom: 30px; left: 40px; display: none; line-height: 1em; }
.plan_img_wrap.service_room small { display: block; }
@media screen and (max-width: 740px){
    .plan_num { font-size: 120px; opacity: 0.07; }
    .plan_top { flex-direction: column; gap: 12px; }
    .plan_left { display: flex; flex-direction: column; gap: 12px; }
    .plan_left .plan_title { display: flex; justify-content: space-between; line-height: 50px; }
    .plan_info { font-size: 16px; }
}

/*---------- エリアリンク ----------*/
.area_link_wrap { position: absolute; bottom: 80px; right: 0; left: 0; z-index: 1; }
.area_link_wrap .contents { display: flex; }
.area_link { position: relative; flex: 1; display: flex;align-items: center; justify-content: space-between; padding: 12px }
.area_link:first-child { flex-direction: row-reverse; }
span.area_link :nth-child(n) { display: none; }
.area_link::before { content: ''; position: absolute; bottom: 0; right: 0; left: 0; display: block; width: 100%; height: 4px; transition: all 0.3s; }
.area_link1::before { background: #8B9BAD; }
.area_link2::before { background: #8BC0C4; }
.area_link3::before { background: #FFCC33; }
a.area_link:hover::before { height: 100%; }
.area_link .area_link_text { display: flex; align-items: flex-end; gap: 8px; z-index: 1; }
.area_link_arrow { width: auto; height: 20px; filter: invert(72%); z-index: 1; }
.area_link:first-child .area_link_arrow { transform: rotate(180deg); }
@media screen and (max-width: 1000px){
    .area_link { padding: 12px 0; }
    .area_link .area_link_text :last-child { display: none; }
}
@media screen and (max-width: 420px){
    a.area_link { flex: 0 0 120px; }
}





