/*==========================================================
									C U S T O M
==========================================================*/
.under main .image_l{float:left;margin:0 60px 0 0}
.under main .image_r{float:right;margin:0 0 0 60px}

/* MB */
.under main .mb0{margin-bottom:0px}
.under main .mb10{margin-bottom:10px}
.under main .mb15{margin-bottom:15px}
.under main .mb20{margin-bottom:20px}
.under main .mb25{margin-bottom:25px}
.under main .mb30{margin-bottom:30px}
.under main .mb40{margin-bottom:40px}
.under main .mb50{margin-bottom:50px}
.under main .mb60{margin-bottom:60px}
.under main .mb70{margin-bottom:70px}
.under main .mb80{margin-bottom:80px}
.under main .mb90{margin-bottom:90px}
.under main .mb100{margin-bottom:100px}
.under main .mb120{margin-bottom:120px}
.under main .mb150{margin-bottom:150px}

/* MT */
.under main .mt10{margin-top:10px}
.under main .mt15{margin-top:15px}
.under main .mt20{margin-top:20px}
.under main .mt25{margin-top:25px}
.under main .mt30{margin-top:30px}
.under main .mt40{margin-top:40px}
.under main .mt50{margin-top:50px}

/*==========================================================
									H E A D I N G
==========================================================*/
.under:not(.noscroll) header:not(.fixed) #logo a {background: url("../images/under_logo.svg") no-repeat center center/100% auto;display: inline-block;}
.under:not(.noscroll) header:not(.fixed) #logo a img {opacity: 0;}
.under:not(.noscroll) header:not(.fixed) .btn_instagram img {opacity: 0;}
.under:not(.noscroll) header:not(.fixed) .btn_instagram a {position: relative;display: inline-block;background: url("../images/ic_instagram_black.svg") no-repeat center center/100% auto;}

.under main h2,
.under main h3,
.under main h4,
.under main h5,
.under main h6,
.under main .ovn_content h3,
.under main .ovn_content h4,
.under main .ovn_content h5,
.under main .ovn_content h6{margin-bottom: 28px;font-family: var(--f-stdn);}

.under main h2{font-size: 38px; text-align: center;margin-bottom: 36px;line-height: 1.5em;}
.under main h2 .small  {font-size: 57.9%;display: block;margin-top: -5px;}
.under main h2 .en {display: inline-flex;justify-content: center;color: var(--mcolor);line-height: 1em;font-size:58%;text-transform: uppercase;}
.under main h2 .lager {font-size: 236.85%;margin: 0 0 25px;}
.under main h2 .en .plus {position: relative;width: 25px;height: 25px;display: inline-block;top: 13px;margin: 0 -8px;}
.under main h2 .en .plus:before,.under main h2 .en .plus:after {position: absolute;width: 100%;height: 2px;background: var(--mcolor);content: '';top: calc(50% - 1px);left: 0;}
.under main h2 .en .plus:after {transform: rotate(90deg);}

.under main h3, .under main .ovn_content h3{font-size: 30px;margin-bottom: 36px;}
.under main h3 .en{font-size: 66.67%; color: var(--mcolor); display: block;margin: 0 0 8px;text-transform: uppercase;}

.under main h4,.under main .ovn_content h4{font-size: 26px;position: relative;color: var(--mcolor);margin: 0 0 17px;}
.under main h4 .num {display: block;font-family: var(--f-num);font-size: 133.34%;margin: 0 0 6px;}
.under main h4 .en{font-size: 66.67%; color: var(--mcolor); display: block;margin: 0 0 8px;text-transform: capitalize;}

.under main h5, .under main .ovn_content h5 { font-size: 22px; border-top: 1px solid rgb(54 54 54 / 40%); border-bottom: 1px solid rgb(54 54 54 / 40%); padding: 22px 20px; margin-bottom: 44px;}

.under main h6, .under main .ovn_content h6{font-size: 18px;position: relative;padding-left: 17px;}
.under main h6:before, .under main .ovn_content h6:before{content: '';position: absolute;background: #00531D;left: 0;top: 10px;width: 7px;height: 7px;}

.under main h5.ttl_small {color: var(--txt); padding: 0;border: none;}

/*==========================================================
								MAIN - CONTENT
==========================================================*/

.under main {padding-top: 130px;}
.under main #content{padding: 0 0 170px}
.under main #content>.inner{width: var(--small_size);}
.under main section{padding:0 0 90px;margin-bottom:0}
.under main section:last-child{padding:0}

/* LINK + BUTTON TOP */
.under main .link, .under main .blog_txt_main a{text-decoration: underline;color: var(--mcolor);text-underline-offset: 3px;}

/*============ TOP INFO ============ */
.under main #top_info{height:400px;width:100%;max-width:1920px;margin:0 auto;position: relative;}
.under main #top_info .inner{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;flex-direction: row-reverse;padding: 0;}
.top_info_img { width: calc(50% + 120px); margin: 0; height: 100%; display: flex; justify-content: center; align-items: center; overflow: hidden; position: relative;}
.top_info_img img {object-fit: cover;height: 100%;width: 100%;}
.top_info_img:after {content: '';position: absolute;width: 100%;height: 100%;background: #EBEBEB;top: 0;left: 0;pointer-events: none;mix-blend-mode: multiply;}
.top_info_main { flex: 1; margin-left: 111px; padding-top: 90px;}
.under main #top_info:after {content: '';position: absolute;width: 100%;height: calc(100% + 100px);left: 210px;background: #eeebdc;z-index: -2;top: 39px;}

.top_info_en { font-size: 20px; color: var(--mcolor); margin: 0 0 40px;text-transform: uppercase;}
.top_info_ttl { font-size: 38px; font-family: var(--f-stdn);line-height: 1.5em; }
.top_info_ttl .small {display: block;font-size: 73.69%;margin-top: 4px;}

/*==========================================================
							T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin-bottom:10px;}
.under main #topic_path ul{display:block;padding:10px 0}
.under main #topic_path li{display:inline;position: relative;}
.under main #topic_path li:not(:last-child)::after{content:">";position:relative;display: inline-block;margin: 0 5px 0 10px;top: -1px;pointer-events: none;}
.under main #topic_path li a{text-underline-offset: 3px;}


/*============ LIST ANCHOR LINK ============ */
.under main .list_anchor{display: flex; align-items: center; flex-wrap: wrap; justify-content: center;width:100%;margin-bottom: 30px;}
.under main .list_anchor .btn{margin: 0 10px 15px}
.under main .list_anchor:last-child{margin-bottom: -15px;}


/*==========================================================
									T A B L E
==========================================================*/
.under main table.td_top td{vertical-align:top}
.under main table.tb_fix{table-layout: fixed;}

.under main table{margin-bottom: 30px;}
.under main table.mailform th,
.under main table th{background:transparent;color:var(--txt); font-size: 20px;font-family: var(--f-stdn);}
.under main table.mailform td .info{color:var(--mcolor)}

.under main table td{background:transparent;position: relative;}
.under main table tr>*:not(:first-child):before{content: '';position: absolute;width: 1px;height: calc(100% - 38px);top: 0;bottom: 0;margin: auto 0;left: 0;background: rgb(54 54 54 / 40%);}
.under main table th,
.under main table td{padding:20px 35px 21px;border: 1px solid rgb(54 54 54 / 40%);border-left: none;border-right: none;line-height: 1.75em;position: relative;}
.under main table img{display:block;margin:auto;}

.under main table:not(:first-child) {margin-top: 62px;}

.under main .tb_scroll table tr>* , .under main table.tb_nobdt tr>* {border-top: none;}
.under main table.tb_small th,.under main table.tb_small td {padding: 15px;}
.under main table.tb_small th {font-size: 18px;}
/*============ LIST ============ */
/* LIST 01 */
.under main .list01,
.under main .ovn_content ul{margin-bottom: 30px;}
.under main .list01 li,
.under main .ovn_content ul li{display:block;padding-left:20px;margin-bottom:5px;position:relative}
.under main .list01 li::before,
.under main .ovn_content ul li::before{background:var(--mcolor);width:6px;height:6px;position:absolute;top:13px;left:0;content:''}
.under main .ovn_content ol:not(:last-child) {margin-bottom: 25px;}
/* LIST 02 */
.under main .list02{margin-bottom: 30px;}
.under main .list02 li{counter-increment: li; padding-left: 30px;position: relative;margin-bottom: 10px;}
.under main .list02 li::before{ content: counter(li);position: absolute;width: 22px;height: 22px;display: flex;justify-content: center;align-items: center;border-radius: 50%;left: 0; top: 2px; background-color: var(--mcolor);font-size: 12px;font-weight: bold;color: #FFF;line-height: 22px;}

/* LIST CHECK */
.under main .list_check{margin-bottom: 30px;}
.under main .list_check li{display:block;padding-left:25px;margin-bottom:5px;position:relative}
.under main .list_check li::before{content: ''; display: block; position: absolute; top: 5px; left: 5px; width: 7px; height: 15px; border: solid var(--mcolor); border-width: 0 2px 2px 0; transform: rotate(45deg);}

/* LIST FAQ */
.under main .list_faq{margin-bottom: 30px;}
.under main .list_faq dl{background: #FFF;padding: 15px;box-shadow: 0px 4px 13px rgba(0,0,0,0.2);margin-bottom: 50px}
.under main .list_faq dt{position: relative;font-size: 18px;font-weight: bold;line-height: 1.5em;margin-bottom: 10px;border-bottom: 1px dotted var(--mcolor);display: flex;align-items: center;display: flex;align-items: center;padding-bottom: 15px;}
.under main .list_faq dt span{width: 40px;height: 40px;font-weight: bold;text-align:center;line-height: 1em;background: #fff;border:1px solid var(--mcolor);color: var(--mcolor);margin-right: 15px;display: flex;align-items: center;justify-content: center;text-align: center;padding-bottom: 5px;flex-shrink: 0;}
.under main .list_faq dd{position: relative;padding-left: 50px;min-height: 62px}
.under main .list_faq dd span{position: absolute;top: 5px;left: 0;width: 40px;height: 40px;font-weight: bold;text-align:center;line-height: 1em;color:#fff;background: var(--mcolor);display: flex;align-items: center;justify-content: center;text-align: center;padding-bottom: 5px;flex-shrink: 0;}

/* LIST STEP */
.under main .list_step dl{margin-bottom: 35px;padding-bottom: 50px;position: relative;}
.under main .list_step dl:not(:last-child)::before{width: 80px;height: 30px;position: absolute;bottom: -10px;left: calc(50% - 40px);content: '';}
.under main .list_step dl:last-child{padding-bottom: 0;margin-bottom: 0}
.under main .list_step dt{background: var(--mcolor);color: #fff;font-weight: 500;padding: 10px;}
.under main .list_step dd{padding: 15px;background: #fff;box-shadow: 0 5px 8px rgba(0, 0, 0, 0.15);}

/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{margin-bottom: 50px;background: #F5F5F5;padding: 36px 40px 52px;}

/* FRAME 02 */
.under main .frame02{padding: 35px 40px;background: #fff;margin-bottom: 50px;}

/* FRAME PICKUP */
.under main .frame_pick{border: 1px solid #000;padding: 25px;background: var(--scolor);margin-bottom: 50px;}
.under main .frame_pick .pick_ttl{font-size: 24px;}
.under main .frame_pick .pick_ttl span{font-size: 36px;display: block;}

/* IFRAME BOX */
.under main .box_map{width:100%;height:400px}
.under main .box_ytb{width: 900px;height: auto; margin: 0 auto;aspect-ratio: 16/9;max-width: 100%;}
.under main .box_map iframe,
.under main .box_ytb iframe{width:100%;height:100%;border:none;outline: none;}

/* ===========  OVERNOTE ===========  */
.under main .list_ovn {display: flex;flex-wrap: wrap;margin: 50px auto 0;width: 1200px;max-width: 100%;}
.under main .list_ovn li {padding: 15px;margin-bottom: 15px;position: relative;margin: 0 20px 20px 0;width: calc((100% - 40px) / 3);border: 1px solid var(--gray);background: #fff;}
.under main .list_ovn li .img {width: 100%;height: auto;aspect-ratio: 3/3;background: #efefef;overflow: hidden;}
.under main .list_ovn li .img a {display: flex;align-items: center;justify-content: center;height: 100%;}
.under main .list_ovn li .img img {max-width: 100%;max-height: 100%;flex-shrink: 0;object-fit: cover;width: 100%;height: 100%;}
.under main .list_ovn li p {margin-bottom: 0;}
.under main .list_ovn .info_box {display: flex;justify-content: space-between;margin: 10px 0 15px;}
.under main .list_ovn .info_box .cate{padding: 0 15px;background: var(--mcolor);color: #fff;border-radius: 5px;}
.under main .list_ovn .big {max-width: 100%;overflow: hidden;text-overflow: ellipsis;max-height: 70px;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;margin-top: 10px;font-weight: 500;text-align: center;}
.under main .list_ovn li:hover {background: #fdf4e0;}

/* ===========  OVERNOTE DETAIL ===========  */
.under main .ovn_content p a {text-decoration: underline;color: var(--blue);}
.under main .ovn_content img {max-height: 500px;}
.under main .ovn_content ol {margin-left: 20px;}
.under main .ovn_content ol li{list-style: decimal;}

.under main .btn_list .is_prev a {}
.under main .btn_list .is_none a {background: var(--mcolor);}

/* ===========  PAGINATION ===========  */
.under main .pagination {display: flex;justify-content: center;flex-wrap: wrap;text-align: center;margin: 30px auto 0}
.under main .pagination li {margin: 3px;}
.under main .pagination li a {width: 40px;height: 40px;text-align: center;border: 1px solid var(--mcolor);background: #fff;display: flex;color: var(--mcolor);justify-content: center;align-items: center;border-radius: 5px;}
.under main .pagination li:hover a, .under main .pagination li.active a {
background: var(--mcolor);color: #fff;}
.under main .pagination li.active a {pointer-events: none;}
.under main .pagination li.disabled {display: none}

.under_top { background: #fff; padding: 56px 45px 73px; text-align: center; position: relative; margin: 0 auto 226px;max-width: 1200px;}
.under_top_en { position: absolute; color: #EEEBDD; font-size: 171px; white-space: nowrap; line-height: 1em; font-family: var(--f-en); width: calc(100vw - 5%); left: 50%; transform: translateX(-50%); opacity: 0.6; bottom: -85px; min-width: 1260px;pointer-events: none;text-transform: uppercase;}
.under_top:after {content: '';position: absolute;width: 100vw;height: 1px;background: #363636;left: 50%;transform: translateX(-50%);bottom: -140px;opacity: 0.4;max-width: 1905px;}
.under_top p:not([class]):nth-last-child(2) {margin-bottom: 0;}

.under_inner { display: flex; justify-content: space-between; align-items: flex-start; position: relative;}
.under_anchor { width: 390px; flex-shrink: 0;position: relative;}
.under_anchor_main {position: absolute; z-index: 5;padding: 43px 30px 38px 0;top: 0;width: 100%;}
.under_anchor_main:after {content: '';position: absolute;width: 100vw;height: 100%;background: #ebe8d6;right: 0;z-index: -2;pointer-events: none;top: 0;}
.under_main { width: 960px; }
.under_anchor_ttl { font-size: 27px; color: #726837; font-family: var(--f-en); display: flex; align-items: center; margin: 0 0 8px;text-transform: uppercase;}
.under_anchor_ttl:before {content: '';position: relative;display: inline-block;background: url("../images/under_anchor_icon.svg") no-repeat center center/100% auto;width: 12px;height: 12px;margin: 0 11px 0 0;}
.under_anchor_list {background: #fff;padding: 3px 15px 5px;}
.under_anchor_list ul li {font-size: 18px;line-height: 1.5em;}
.under_anchor_list ul li a {position: relative;display: block;padding: 16px 0 19px 30px;}
.under_anchor_list ul li a:before {content: '';position: absolute;width: 6px;height: 6px;background: #CEC59B;left: 3px;top: 26px;}
.under_anchor_list ul li:not(:last-child) {background: url("../images/under_line.png") repeat-x bottom left/auto 1px;}

.under_anchor.fixed .under_anchor_main {position: fixed;top: 120px;width: 390px;}
.under_anchor_list ul li.active a {color: var(--mcolor);cursor: default;}
.under_anchor_list ul li a .en {display: block;font-size: 78%;font-family: var(--f-en);}

.under_main_box {position: relative;margin-bottom: 113px;}
.under_main_box:last-child {margin-bottom: 0;}
.under_main_box:nth-child(2n) {padding: 90px 0;}
.under_main_box:nth-child(2n):after {content: '';position: absolute;width: 100vw;height: 100%;background: #fff;left: -100px;top: 0;z-index: -2;pointer-events: none;min-width: 1260px;}

.under_main_box.bg_green:after {background-color: var(--mcolor);}
.under_main_box.bg_green,.under main .under_main_box.bg_green h4,.under main .under_main_box.bg_green h3 .en  {color: #fff;}
.under main .under_main_box.bg_green .list_check li::before {border-color: #fff;}

.under_box_img { display: flex; justify-content: space-between; align-items: center; }
.under_box_img:not(:last-child) {margin-bottom: 70px;}
.under_box_img .under_img {flex-shrink: 0;}
.under_box_img .under_img.image_l {order: -1;}
.under_box_img_main {position: relative;}

.under main h4 .num { margin: 0; font-size: 12rem; font-family: var(--font-serif); color: var(--primary); opacity: 0.04; line-height: 0.8; position: absolute; top: -60px;right: 0; z-index: -1; letter-spacing: -0.05em; pointer-events: none; }

.pickup_list { position: relative; margin-left: -100px;padding: 31px 0 1px 50px;margin-right: -90px;}
.pickup_list:after {content: '';position: absolute;width: 100vw;height: 100%;background: #eeebdc;top: 0;left: 0;z-index: -2;pointer-events: none;}
.pickup_list_ttl { font-size: 20px; font-family: var(--f-en); color: var(--mcolor);margin: 0 0 23px;text-transform: uppercase; }
.pickup_list_item { display: flex; }
.pickup_list_item_main { width: calc((100% - 50px) / 3); background: #fff; margin-right: 25px; padding: 0 20px 38px; }
.pickup_list_item_main:last-child {margin-right: 0;}
.pickup_list_item_num { width: 160px; height: 40px; display: flex; justify-content: center; align-items: center; background: var(--mcolor); text-align: center; color: #fff; font-family: var(--f-en); margin: 0 auto 19px; font-size: 20px;text-transform: uppercase; }
.pickup_list_item_ttl { font-size: 19px; text-align: center; font-weight: 700; border-bottom: 1px solid #D5D4D1; padding: 0 0 30px; margin: 0 0 16px; }

.under_btn a { display: flex; background: var(--txt); color: #fff; justify-content: center; padding: 10px; font-family: var(--f-stdn); font-size: 18px; position: relative;width: 100%;height: 80px;align-items: center;font-weight: 400;text-align: center;line-height: 1.5em;}
.under_btn a:after {content: '';position: absolute;width: calc(100% - 10px);height: calc(100% - 10px);top: 0;left: 0;right: 0;bottom: 0;margin: auto;border: 1px solid #fff;pointer-events: none;opacity: 0.4;}
.under_btn_list {display: flex;flex-wrap: wrap;justify-content: center;}
.under_btn_list .under_btn {max-width: calc(50% - 20px);width: 400px;margin: 10px;}

.under_bnr { display: flex; justify-content: center; flex-wrap: wrap; }
.under_bnr li {width: calc((100% - 40px)/2);margin: 0 40px 0 0;}
.under_bnr li:nth-child(2n) {margin-right: 0;}
.under_bnr li a {display: flex;justify-content: center;align-items: center;background: url("../images/top_info_img.jpg") no-repeat center center/cover;height: 300px;position: relative;padding: 20px;}
.under_bnr .txt { background: rgba(255, 255, 255, 0.9); padding: 20px;  display: flex;flex-direction: column;justify-content: center;transition: all 0.3s;width: 100%;}
.under_bnr .en {display: block;color: var(--mcolor);margin-bottom: 10px;transition: all 0.3s;}
.under_bnr .ttl {display: block;margin-bottom: 10px;font-family: var(--f-stdn);font-size: 120%;}

.under_col_item_ttl .img {width: 60px; height: 60px; background:#fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; color: var(--mcolor);margin: 0 auto 10px;flex-shrink: 0;}
.under_col_item_ttl .small { display: block; font-family: var(--font-main); font-size: 80%; font-weight: 500; }
.under_col { display: flex; flex-wrap: wrap; justify-content: space-between; }
.under_col_item { width: calc((100% - 20px) / 3); background: rgb(54 54 54 / 5%); margin: 0 0 10px; padding: 30px 20px;display: flex;flex-direction: column;}
.under_col_item_ttl { display: flex; align-items: center; font-family: var(--f-stdn); margin: 0 0 20px; font-size: 18px;line-height: 1.5em;flex-wrap: wrap;justify-content: space-between;}
.under_col_item_ttl .txt {display: flex;justify-content: space-between;align-items: center;width: 100%;}
.under_col_item_price { color: #53402C; font-weight: 700; font-size: 27px; margin: 0 0 10px; }
.f_sm_bottom { font-size: 13px; margin-top: auto;}

.under .sec07_info dl .price { margin: 0 0 13px 5px !important; position: relative; top: -7px; }
.under main .voice_item h4 .num::before { content: "“"; position: absolute; top: -20px; left: -45px; font-family: var(--f-stdn); font-size: 100px; color: var(--txt); opacity: 0.15; line-height: 1; pointer-events: none; }
.under main .voice_item h4 .num { position: relative; font-family: var(--f-en); color: var(--mcolor); font-size: 16px; text-transform: uppercase; top: 0; opacity: 1; line-height: normal; letter-spacing: 0; }
.voice_item {position: relative;}
.under main .voice_item .under_img {margin-top: -50px;}
.voice_en {margin: 0;position: absolute;right: calc(100% + 30px);top: 150px;font-family: var(--f-stdn); font-size: 120px;line-height: 1em;opacity: 0.05;z-index: -2;}
.voice_meta {font-weight: 700;text-align: right;border-bottom: 1px solid #e5e5e5;padding:  0 0 30px;margin-bottom: 30px;}
.staff_comment { background: #fff; padding: 30px; border-left: 5px solid var(--mcolor);margin-bottom: 90px; }
.staff_comment:last-child {margin-bottom: 0;}
.staff_comment_ttl { color: var(--mcolor); font-family: var(--f-en); margin: 0 0 20px; text-transform: uppercase;}
.voice_item:nth-child(2n) .voice_en {left: auto;right: 0;}

.under_bnr .staff_bnr a {background-image: url("../images/staff_bnr.jpg");}
#voice .works_bnr a {background-image: url("../images/works_bnr.jpg");}
.under_bnr .villa_bnr a {background-image: url("../images/villa_bnr.jpg");}
.under_bnr .outline_bnr a {background-image: url("../images/outline_top_info_bg.jpg");}
.under_bnr .knowledge_bnr a {background-image: url("../images/knowledge_bnr.jpg");}
.under_bnr .comfortable_bnr a {background-image: url("../images/comfortable_top_info_bg.jpg");}
.under_bnr .health_bnr a {background-image: url("../images/health_top_info_bg.jpg");}

.supervisor_box { background: #fff; padding: 40px;display: flex;align-items: flex-start;}
.supervisor_img { width: 140px; height: 140px; border-radius: 50%; background: url("../images/knowledge_img06.jpg") no-repeat center center/cover; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #888; overflow: hidden;font-size: 12px;margin: 0 30px 0 0;}
.supervisor_img i { font-size: 4rem; color: var(--mcolor); opacity: 0.5; }
.supervisor_info .role { font-size: 0.85rem; color: var(--txt); font-weight: 700; letter-spacing: 0.1em; display: block; margin-bottom: 25px; }
.supervisor_info h4::before { content: '\f0da'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: var(--txt);margin-right: 10px; }
.supervisor_info h4 .f_sm {font-family: var(--font-main);color: var(--txt);font-weight: 500;}
.supervisor_info h4 {border-bottom: 1px solid #e0deda;padding: 0 0 15px;}
.list_step .pickup_list_item {display: block;}
.list_step .pickup_list_item_main {width: 100%;margin: 0 0 40px;}
.under main .txt_line { text-decoration: none; background-image: linear-gradient(0deg, #e9e9e9 20%, #ffffff 20%, #ffffff 50%, #e9e9e9 50%, #e9e9e9 70%, #ffffff 70%, #ffffff 100%); background-size: 50.00px 50.00px; }

.point_box { background: #fff; padding: 50px; position: relative; border: 1px solid #ebe8d5;}
.point_box_title { text-align: center; font-family: var(--f-stdn); font-size: 24px; color: var(--mcolor); line-height: 1.5em; margin: 0 0 20px; }
.point_box::before { content: 'AGEING HOUSE の強み'; position: absolute; top: -21px; left: 50%; transform: translateX(-50%); background: var(--mcolor); color: #fff; padding: 9px 20px; font-size: 0.85rem; letter-spacing: 0.2em; font-weight: 700; border-radius: 20px;white-space: nowrap;}

.under main .point_box h5 {margin-bottom: 20px;}
.outline_item .voice_en {left: auto;right: 0;}
.under_main_box.outline_box1:after { background: url("../images/outline_img02.jpg") no-repeat center center/cover;background-attachment: fixed;filter: brightness(0.35);}
.under_main_box.outline_box1, .under_main_box.outline_box1 h3 .en {color: #fff;text-align: center;}
.under_main_box.outline_box1 {padding: 200px 0;}
.under main .f_ttl {display: block;font-family: var(--f-stdn);color: var(--mcolor);margin: 20px 0 10px;}

.history_list li { display: flex; margin-bottom: 20px; }
.history_list li span { flex: 0 0 120px; font-family: var(--f-stdn); letter-spacing: 0.1em; font-size: 1.1rem;color: var(--accent); }

.staff_list { display: flex; flex-wrap: wrap; justify-content: space-between;}
.staff_item { width: calc((100% - 40px) / 2); display: flex; flex-wrap: wrap;height: 100%;align-items: flex-start;}
.staff_item_info { width: 200px; margin: 0 20px 0 0; }
.staff_item_main { flex: 1;}
.staff_item_role { opacity: 0.7; margin: 0 0 5px; }
.staff_item_ttl { color: var(--mcolor); font-family: var(--f-stdn); font-size: 20px; margin: 0 0 10px;line-height: 1.5em; }
.staff_item_ttl .en { color: var(--txt); font-size: 60%; display: inline-block; margin-left: 20px; }
.staff_item_note { padding: 0; margin:0;font-size: 14px; }
.staff_item:nth-child(n+3) {margin-top: 50px;}
.staff_item_img {line-height: 0;}
.staff_item dl {display: flex;flex-wrap: wrap;width: 100%;margin-top: 30px;}
.staff_item dt {background: var(--gray);text-align: center;flex-shrink: 0;width: 120px;margin-bottom: 10px;border-radius: 10px;display: flex;justify-content: center;align-items: center;font-size: 14px;}
.staff_item dd {width: calc(100% - 120px);margin-bottom: 10px;padding-left: 20px;}
.staff_video iframe {width: 100%;height: 250px;}
.staff_video {width: 100%;margin-top: 20px;display: none;}
.staff_item_btn { display: flex; justify-content: center; align-items: center; border: 2px solid var(--gray); border-radius: 10px; cursor: pointer; transition: all 0.3s; font-size: 14px;}
.staff_item_btn svg {width: 30px;margin-right: 10px;position: relative;top: 2px;}

.under main .staff_item h5 {width: 100%;margin-bottom: 20px;}

.gallery_grid { display: grid; grid-template-columns: repeat(3, 2fr); grid-auto-rows: 250px; gap: 20px; }
.g_item {background-size: cover; background-position: center; position: relative; overflow: hidden; filter: grayscale(100%); transition: 0.3s ease;  }
.g_item_1 { grid-column: span 2; grid-row: span 2; background-image: url("../images/staff_img16.jpg");}
.g_item_2 { grid-column: span 1; grid-row: span 1; background-image: url("../images/staff_img17.jpg");}
.g_item_3 { grid-column: span 1; grid-row: span 2; background-image: url("../images/staff_img18.jpg");}
.g_item_4 { grid-column: span 1; grid-row: span 1; background-image: url("../images/staff_img19.jpg");}
.g_item_5 { grid-column: span 1; grid-row: span 1; background-image: url("../images/staff_img20.jpg");}

.staff_voice { text-align: right; font-weight: 700; border-top: 1px solid #ccc; padding: 20px 0 0; }

#contact .under_inner, #works .under_inner , #blog .under_inner  , #p404 .under_inner, #outline .under_inner, #villa .under_inner {justify-content: center;}
/*#contact .under_inner .under_main, #works .under_inner .under_main , #blog .under_inner .under_main {width: 100%;}*/

.works_photo_main.slick-initialized .slick-slide .img {height: 500px;display: flex;justify-content: center;align-items: center;}
.works_photo_main.slick-initialized .slick-slide .img img {max-height: 100%;}
.works_photo_main.slick-initialized .slick-slide {text-align: center;}
.works_photo_main {margin-bottom: 30px;}
.works_photo_thumb.slick-initialized .slick-slide {margin: 0 1px;background: #fff;padding: 5px;cursor: pointer;transition: all 0.3s;height: auto;aspect-ratio: 3 / 3;overflow: hidden;}
.works_photo_thumb.slick-initialized .slick-slide img {opacity: 0.7;height: 100%;width: 100%;object-fit: cover;}
.works_photo_thumb.slick-initialized .slick-slide.slick-current img {opacity: 1;}
.works_photo_thumb.slick-initialized .slick-slide.slick-current {cursor: default;}
.works_photo_thumb .slick-dots li {width: 30px;height: 7px;padding: 0;margin: 0 5px;}
.works_photo_thumb .slick-dots li button {width: 100%;height: 100%;background: #DCD8C3;transition: all 0.3s;padding: 0;}
.works_photo_thumb .slick-dots li button:before {display: none;}
.works_photo_thumb .slick-dots li.slick-active button {background: var(--mcolor);cursor: default;}
.work_detail { margin: 0 0 80px; }
.navigation-box ul { display: flex;margin-bottom: 40px; }
.navigation-box ul li {width: calc((100% - 30px)/2);}
.navigation-box ul li.next {margin: 0 0 0 auto;}
.navigation-box ul li a{display: flex;border: 1px solid var(--mcolor);padding: 10px;position: relative;}
.navigation-box ul li a .dtl { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.navigation-box ul li a .dtl .txt {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.img-left { width: 100px; display: flex; justify-content: center; align-items: center; overflow: hidden; margin: 0 20px 0 0; aspect-ratio: 3 / 3;height: auto;}
.img-left img, .img-right img {flex-shrink: 0;width: 100%;height: 100%;object-fit: cover;}
.under main .dtl .link { position: absolute; background: var(--mcolor); color: #fff; font-family: var(--f-en); right: 0; bottom: 0; text-decoration: none; width: 80px; text-align: center; font-size: 90%; text-transform: uppercase;}
.img-right { order: 1; width: 100px; margin: 0 0 0 20px;display: flex; justify-content: center; align-items: center; overflow: hidden;aspect-ratio: 3 / 3; height: auto;}
.navigation-box ul li.next .dtl .link {left: 0;right: auto;}
.under main h3.ttl_pt1 {text-align: center;}

.blog_list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.blog_list li { width: calc((100% - 40px) / 2); margin: 0 0 40px;}
.blog_list li a { background: #fff;display: flex;flex-wrap: wrap;height: 100%;border: 1px solid var(--gray);}
.blog_list li .title { background: #000; display: block; color: #fff; padding: 10px; width: 100%;white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.blog_txt {flex: 1; padding: 0;display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}
.blog_list li .pic { width: 100px; aspect-ratio: 3 / 3.2;margin: 0 20px 0 0; display: flex; justify-content: center; align-items: center; overflow: hidden;flex-shrink: 0;}
.blog_list li .pic img {height: 100%;width: 100%;object-fit: cover;}
.blog_list li .more { margin: 10px auto; display: flex;justify-content: center;align-items: center;text-align: center;color: #fff;background: var(--mcolor);padding: 10px;max-width: calc(100% - 20px);width: 400px;margin-top: auto;}
.blog_item_main {display: flex;padding: 10px;align-items: flex-start;}
.blog-list-img li img { max-height: 500px;}
.blog-list-img { text-align: center; margin-bottom: 20px; }
#blog .navigation-box ul li a {padding-bottom: 40px;}

.blog_txt_main:not(:last-child) {margin-bottom: 30px;}

.under_col_item_ttl.center .img {margin: 0 auto;}

.villa_list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.villa_item { width: calc((100% - 30px) / 2); margin: 0 0 40px; }
.villa_item_ttl { display: flex; justify-content: space-between; font-family: var(--f-stdn); color: var(--mcolor); font-size: 22px; margin: 0 0 10px; }
.villa_item_img {margin-bottom: 10px;}

#villa main #top_info { position: relative; width: 100%; height: 100vh; min-height: 800px; display: flex; align-items: center; justify-content: center; text-align: center; z-index: 2;color: #fff;text-shadow: 0 5px 20px rgba(0, 0, 0, 0.8);}
#villa .top_info_img {margin: 0;width: 100%;position: absolute;top: 0;left: 0;height: 100%;z-index: -2;}
#villa.under main #top_info:after {background: #000;left: 0;top: 0;height: 100%;width: 100%;opacity: 0.3;z-index: -1;}
#villa.under .top_info_en {color: var(--accent);margin: 0 0 20px;letter-spacing: 0.1em;}
#villa.under .top_info_ttl { font-size: 5rem; margin: 0 0 20px; }
#villa header:not(.fixed) .h_box {top: -100px;}
#villa.under main {padding: 0;}
#villa .top_info_main p:not([class]) {font-size: 1.2rem;line-height: 2.2em;}
#villa .under_main_box:nth-child(2n):after {left: 0;}

.scroll-down { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); z-index: 2; color: var(--white); font-size: 0.8rem; letter-spacing: 0.2em; display: flex; flex-direction: column; align-items: center; gap: 15px; opacity: 0.8; }
.scroll-down::after { content: ''; width: 1px; height: 60px; background: var(--white); display: block; }

.navigation-box {margin-top: 30px;}
.works_photo_thumb.slick-slider {display: flex;flex-wrap: wrap;justify-content: center;align-items: center;margin: 0;}
.works_photo_thumb .slick-list {width: 100%;order: -1;margin-bottom: 31px;}
.works_photo_thumb .slick-arrow {position: relative;width: 35px;height: 35px;background: url("../images/sec04_next.svg") no-repeat center center var(--txt);border-radius: 2px;top: 0;transform: none;}
.works_photo_thumb .slick-arrow:before {display: none;}
.works_photo_thumb .slick-prev {left: 0;background-image: url("../images/sec04_prev.svg");}
.works_photo_thumb .slick-next {right: 0;order: 2;}
.works_photo_thumb .slick-dots {position: relative;bottom: 0;display: flex;justify-content: center;width: auto;margin: 0 25px;}
.works_photo_thumb .slick-arrow:hover {;background: url("../images/sec04_next.svg") no-repeat center center var(--mcolor);}
.works_photo_thumb .slick-prev:hover {;background: url("../images/sec04_prev.svg") no-repeat center center var(--mcolor);}

.ovn_content dt {color: var(--mcolor);font-family: var(--f-en);margin: 0 0 15px;font-size: 18px;}

#blog .navigation-box ul li a .dtl .txt {-webkit-line-clamp: 1;}
.under_main_box.knowledge_bg1:after {background: url(../images/knowledge_img05.jpg) no-repeat center center/cover;width: 100%; filter: opacity(0.8);}
.under_main_box.knowledge_bg1:before {content: '';position: absolute;width: 100%;height: calc(100% - 60px);background: #fff;opacity: 0.8;left: 0;top: 30px;z-index: -1;}
.under_main_box.knowledge_bg1 {padding: 60px;}

.under .sec06_info_item li {height: 280px;line-height: 1.875em;padding: 25px 0;}
.under .sec07_info dt .ttl { width: 145px; text-align: left; }

.staff_anchor { display: flex; flex-wrap: wrap; justify-content: center; }
.staff_anchor_item { width: calc((100% - 120px) / 5); margin: 0 30px 30px 0;text-align: center;}
.staff_anchor_item:nth-child(5n) {margin-right: 0;}
.staff_anchor_item .img { display: block; overflow: hidden; border-radius: 50%; margin: 0 0 5px; }
.staff_anchor_item .ttl { display: block; font-family: var(--f-stdn); color: var(--mcolor); font-size: 120%; }
.staff_anchor_item .en {font-size: 80%;letter-spacing: 0.05em;opacity: 0.7;}

.popup { position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 999; display: flex; justify-content: center; align-items: center; backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px);opacity: 0;visibility: hidden;transition: all 0.3s;}
.popup.show {opacity: 1;visibility: visible;}
.popup_main { position: relative; background: #fff; width: 1200px; height: calc(100% - 200px); padding: 60px; }
.popup_main_info {height: 100%;overflow: auto;}
.popup_close { position: absolute; right: 20px; top: 20px; font-size: 30px; font-family: var(--f-num); opacity: 0.5; line-height: 1em; cursor: pointer; }
.noscroll {overflow: hidden;}

.voice_thumb_item {background: #fff;padding: 3px;margin: 0 3px;cursor: pointer;}
.voice_thumb_item img {opacity: 0.7;}
.voice_thumb_item.slick-current img {opacity: 1;}
.voice_thumb_item.slick-current {cursor: default;}
.voice_clip {margin: 0 0 30px;}
.voice_clip_item_video {background: #000;height: 600px;}
.voice_clip_item_video iframe {width: 100%;height: 100%;}
.voice_clip_item_ttl {text-align: center;font-weight: 700;margin-top: 10px;}
.voice_clip .slick-arrow {position: absolute;z-index: 2;width: 36px;height: 36px;background: url("../images/sec04_next.svg") no-repeat center center var(--txt);border-radius: 2px;top: calc(50% - 48px);transform: none;}
.voice_clip .slick-arrow:before {display: none;}
.voice_clip .slick-prev {left: 10px;background-image: url("../images/sec04_prev.svg");}
.voice_clip .slick-next {right: 10px;order: 2;}

#contact table.mailform  {text-transform: none;}

/* RESET */
.under main table:last-child,
.under main .list_faq:last-child,
.under main .list_faq dl:last-child,
.under main .list01:last-child,
.under main .list01 li:last-child,
.under main .list02:last-child,
.under main .list02 li:last-child,
.under main .list_check:last-child,
.under main .list_check li:last-child,
.under main .list_step:last-child,
.under main .list_step dl:last-child,
.under main section p:last-child,
.under main p:last-child,
.under main .frame01:last-child,
.under main .frame02:last-child,
.under main .frame_pick:last-child{margin-bottom: 0}


/* =======================================
Concept Section (洗練されたオーバーラップ)
======================================= */
.under main .section-pad{padding:180px 0}
.concept-section{position:relative;background:var(--bg-color);overflow:hidden}
.watermark-bg{position:absolute;top:10%;left:0;font-size:14vw;font-family:var(--f-stdn);color:rgba(0,0,0,.02);white-space:nowrap;z-index:0;pointer-events:none;letter-spacing:.1em}
.concept-grid{display:flex;align-items:center;gap:80px;position:relative;z-index:2}
.concept-img-wrap{flex:0.6;position:relative}
.concept-img{width:85%;aspect-ratio:3/4;background:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=800&q=80') center/cover;box-shadow:-20px 20px 50px rgba(0,0,0,.08)}
.concept-img-accent{position:absolute;bottom:-40px;right:-20px;width:60%;aspect-ratio:1/1;background:url('../images/outline_img03.jpg') center/cover;box-shadow:0 20px 40px rgba(0,0,0,.1)}
.concept-text{flex:1.2;display:flex;gap:50px}
.under main .vertical-title{writing-mode:vertical-rl;font-family:var(--f-stdn);font-size:3.2rem;color:var(--mcolor);line-height:1.6;letter-spacing:.3em;margin:30px 0 0;text-indent: -30px;text-align:left}
.concept-desc{flex:1;padding-top:30px}
.under main .concept-desc h3{font-size:1.2rem;letter-spacing:.2em;margin-bottom:40px;font-family:var(--font-sans);font-weight:500}
/* =======================================
Philosophy Section (エモーショナルな背景)
======================================= */
.under main .philosophy-section{position:relative;padding:220px 0;color:#fff;text-align:center;overflow:hidden;z-index:2}
.philosophy-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1494526585095-c41746248156?auto=format&fit=crop&w=1920&q=80') center/cover fixed;filter:brightness(.35);z-index:1}
.philosophy-content{position:relative;z-index:2;max-width:900px;margin:0 auto}
.philosophy-en{font-size: .9rem; color: var(--accent); letter-spacing: .3em; display: block; margin-bottom: 20px;}
.under main .philosophy-content h3{font-size:3rem;line-height:1.8;margin-bottom:60px;font-weight:300;letter-spacing:.1em;text-shadow:0 10px 30px rgba(0,0,0,.5)}
.philosophy-content p{color:#f0f0f0}
/* =======================================
Top Message Section 
======================================= */
.message-section{background:var(--white);position:relative}
.message-inner{max-width:1100px;margin:0 auto;position:relative}
.message-header{text-align:center;margin-bottom:120px}
.message-header span,.profile-header span{font-size:.9rem;color:var(--accent);letter-spacing:.3em;display:block;margin-bottom:20px}
.message-header h2{font-size:2.6rem;color:var(--text-main);line-height:1.5}
.message-body{display:flex;gap:80px;align-items:flex-start}
.ceo-profile{flex:0 0 320px;position:sticky;top:100px}
.ceo-img{width:100%;aspect-ratio:4/5;background:url("../images/outline_img04.jpg") no-repeat center center/cover;display:flex;align-items:center;justify-content:center;color:#888;margin-bottom:30px;filter:grayscale(100%) contrast(1.1);transition:.6s;box-shadow:0 30px 60px rgba(0,0,0,.06)}
.ceo-img:hover{filter:grayscale(0%)}
.under main .ceo-name{ margin-bottom:7px;font-weight:500}
.ceo-title{font-size:.9rem;color:var(--text-light);letter-spacing:.15em;font-family:var(--font-sans)}
.message-content{flex:1;padding-top:10px}
.message-content h3{font-size:1.6rem;color:var(--text-main);line-height:1.8;margin-bottom:40px;border-left:4px solid var(--accent);padding-left:25px}
.quote-mark{font-size:10rem;color:rgba(212,163,115,.12);font-family:serif;position:absolute;top:-50px;left:-30px;line-height:1;z-index:0}
.vr-section{background:var(--bg-color);border-top:1px solid var(--border)}
.vr-wrap{width:100%;max-width:1200px;margin:0 auto;aspect-ratio:21/9;background:#333;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 30px 60px rgba(0,0,0,.08)}
/* =======================================
Company Profile (沿革修正)
======================================= */
.under main .profile-section{background:var(--bg-dark);color:#fff;padding:160px 0!important}
.under main .profile-section .inner{overflow:hidden}
.profile-header{text-align:center;margin-bottom:100px}
.under main .profile-header h2{font-size:2.6rem;letter-spacing:.1em}
.under main .company-table{width:100%; margin:0 auto;border-collapse:collapse}
.under main .company-table td,.under main .company-table th{padding:40px 20px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top}
.under main .company-table th{width:25%;color:var(--accent);font-family:var(--f-stdn)}
.under main .company-table td{color:#ccc}
.under main .company-table tr:first-child td,.under main .company-table tr:first-child th{border-top:1px solid rgba(255,255,255,.08)}
.history-list{list-style:none;padding:0;margin:0}
.history-list li{display:flex;margin-bottom:20px}
.history-list li:last-child{margin-bottom:0}
.history-list li span{flex:0 0 120px;color:var(--accent);font-family:var(--f-stdn);letter-spacing:.1em;font-size:1.1rem}
.access-map{width:100%;max-width:1000px;margin:120px auto 0;aspect-ratio:21/9;background:#222;display:flex;align-items:center;justify-content:center;color:#888}
#outline .under_main_box{padding-top:90px}
/* =======================================
Images (エモーショナルな夕焼け＆さわやかな犬など)
======================================= */
/* ① MVをエモーショナルな夕焼けヴィラに変更 */
.img-hero { background: url('https://images.unsplash.com/photo-1512917774080-9991f1c4c750?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat; }
.img-ocean { background: url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1000&q=80') center/cover no-repeat; }
.img-sauna { background: url('../images/villa_img09.jpg') center/cover no-repeat; }
/* ④ さわやかな走る犬の画像に変更 */
.img-dog { background: url('https://images.unsplash.com/photo-1548199973-03cce0bbc87b?auto=format&fit=crop&w=1000&q=80') center/cover no-repeat; }
.img-play { background: url('../images/villa_img10.jpg') center/cover no-repeat; }

.img-villa-1 { background: url('../images/villa_img11.jpg') center/cover no-repeat; }
.img-villa-2 { background: url('../images/villa_img12.jpg') center/cover no-repeat; }
/* ⑤ C棟の画像をしっかりとセット */
.img-villa-3 { background: url('../images/villa_img13.jpg') center/cover no-repeat; }
.img-villa-4 { background: url('https://images.unsplash.com/photo-1600566753086-00f18efc2291?auto=format&fit=crop&w=800&q=80') center/cover no-repeat; }
/* =======================================
② Concept Section (縦書きを大胆に魅せる)
======================================= */
.under main .concept-hero{background:var(--white);padding:180px 40px;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}
.bg-vertical-text{position:absolute;left:10%;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:var(--f-stdn);font-size:8rem;color:var(--bg-gray);white-space:nowrap;z-index:1;pointer-events:none;letter-spacing:.2em}
.concept-main-wrap{display:flex;gap:100px;align-items:flex-start;max-width:1000px;position:relative;z-index:2}
.vertical-catch-main{writing-mode:vertical-rl;font-family:var(--f-stdn);font-size:2.6rem;color:var(--text-main);line-height:1.8;letter-spacing:.3em;margin:0}
.concept-text-box{margin-top:40px}
.concept-text-box h3{font-size:1.6rem;color:var(--mcolor);margin-bottom:30px;line-height:1.8;letter-spacing:.1em}
.concept-text-box p{font-size:1.05rem;color:var(--text-light);margin-bottom:20px}
.btn-inline{display:inline-flex;align-items:center;font-family:var(--f-stdn);color:var(--accent);font-size:1.1rem;margin-top:30px;letter-spacing:.1em;border-bottom:1px solid var(--accent);padding-bottom:5px}
.btn-inline i{margin-left:10px;transition:.3s}
.btn-inline:hover i{transform:translateX(5px)}
/* =======================================
③ Resort Experience (画面幅ギリギリのエッジ・トゥ・エッジ)
======================================= */
.bg-white{background-color:var(--white)}
.bg-dark{background-color:#111;color:var(--white)}
.under main .edge-section{width:100%;margin:0;padding:0}
.edge-row{display:flex;width:100%;min-height:70vh}
.edge-row:nth-child(2n){flex-direction:row-reverse}
.edge-img-wrap{width:50%;position:relative}
.edge-img{width:100%;height:100%;background-size:cover;background-position:center}
.edge-text-wrap{width:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-gray);position:relative}
.edge-row:nth-child(2n) .edge-text-wrap{background:var(--white)}
.edge-text-inner{max-width:700px;padding:60px;position:relative}
.side-vertical-accent{position:absolute;left:40px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:var(--f-stdn);color:var(--accent);font-size:.9rem;letter-spacing:.4em;opacity:.8}
.edge-row:nth-child(2n) .side-vertical-accent{left:auto;right:40px}
.edge-text-inner h4{font-size:2.2rem;color:var(--text-main);margin-bottom:30px;line-height:1.6;letter-spacing:.1em}
.edge-text-inner p{font-size:1.05rem;color:var(--text-light);line-height:2.2;margin:0}
/* =======================================
Performance Experience
======================================= */
.perf-box{text-align:center;max-width:900px;margin:0 auto 100px}
.perf-box h3{font-size:2.2rem;margin-bottom:30px;letter-spacing:.1em}
.perf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.perf-card{background:var(--white);padding:50px 30px;border-top:3px solid var(--accent);box-shadow:0 20px 40px rgba(0,0,0,.03);text-align:left;transition:.4s}
.perf-card:hover{transform:translateY(-10px)}
.perf-card i{font-size:12.5rem;display:block;text-align:center;color:var(--mcolor);margin-bottom:25px;opacity:.8}
.under main .perf-card h4{font-size:1.3rem;color:var(--text-main);margin-bottom:20px;line-height:1.5}
.perf-card p{font-size:.95rem;color:var(--text-light);margin:0}
/* =======================================
Villas Overview (ダークトーン)
======================================= */
.rooms-intro{text-align:center;margin-bottom:100px}
.rooms-intro h2{font-size:2.8rem;margin-bottom:25px;color:var(--white);letter-spacing:.1em}
.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.room-card{cursor:pointer}
.room-card:hover .room-card-img{transform:translateY(-10px);box-shadow:0 30px 60px rgba(0,0,0,.8)}
.room-card-img{width:100%;aspect-ratio:4/3;margin-bottom:30px;transition:.5s;position:relative}
.room-card-img::after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.1);transition:.4s}
.room-card:hover .room-card-img::after{inset:-15px;border-color:var(--accent)}
.room-card h5{font-family:var(--f-stdn);font-size:1.8rem;color:var(--accent);margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:15px}
.room-card p{font-size:.95rem;color:#ccc;margin:0;line-height:2.2}
.recruit-section{position:relative;padding:100px 20px;box-sizing:border-box;background-image:url('../images/outline_img05.jpg');background-size:cover;background-position:center;background-attachment:fixed;color:#fff}
.recruit-section::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(15,15,20,.7);z-index:1}
.recruit-container{position:relative;z-index:2;max-width:1050px;margin:0 auto;text-align:center}
.lp-cta-box{max-width:900px;margin:0 auto;position:relative;z-index:2}
.btn-gold{display:inline-flex;align-items:center;justify-content:center;padding:25px 80px;background:var(--accent);color:var(--white);font-family:var(--f-stdn);font-size:1.3rem;letter-spacing:.1em;transition:.4s;margin-top:50px;box-shadow:0 15px 30px rgba(212,163,115,.3)}
.btn-gold:hover{background:#b88a5d;transform:translateY(-5px)}
.recruit-banner-wrapper{padding:0;box-sizing:border-box}
.recruit-banner{position:relative;display:block;width:100%;overflow:hidden;text-decoration:none;border-radius:4px;box-shadow:0 15px 40px rgba(0,0,0,.1);color: #fff;}
.banner-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.banner-bg img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.banner-bg::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);transition:background .5s ease}
.banner-content{position:relative;z-index:2;padding:100px 40px;text-align:center;color:#fff}
.recruit-header{color:#fff;margin-bottom:60px}
.title-en{font-size: .9rem; color: var(--accent); letter-spacing: .3em; display: block; margin-bottom: 20px;font-family: var(--font-main);text-transform: uppercase;}
.title-ja{display:block;font-family:var(--font-main);font-size:14px;letter-spacing:.15em;margin-bottom:13px;color:#e0e0e0}
.recruit-lead{color:#fff;font-family:var(--font-main);font-size:15px;margin:0 0 66px;letter-spacing:.08em;text-shadow:0 2px 4px rgba(0,0,0,.8)}
.recruit-features{display:flex;justify-content:space-between;gap:25px;margin-bottom:60px}
.feature-card{flex:1;background:rgba(255,255,255,.92);padding:40px 30px;text-align:left;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .3s ease;position: relative;}
.feature-card:hover{transform:translateY(-5px)}
.feature-num { font-family: var(--f-stdn); color: var(--mcolor); position: absolute; right: 10px; top: 10px; font-size: 4rem; font-weight: 600; line-height: 1em; opacity: 0.2; }
.under main .feature-title{font-family:var(--font-main);font-size:16px;font-weight:700;color:#222;letter-spacing:.05em;margin-bottom:15px;line-height:1.4}
.feature-text{font-family:var(--font-main);font-size:13px;line-height:1.8;color:#444}
.btn-recruit{display:inline-block;padding:20px 70px;font-family:var(--font-main);font-size:14px;letter-spacing:.15em;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.8);background:rgba(0,0,0,.4);transition:all .4s ease}
.btn-recruit:hover{background:#fff;color:#222}