/*==========================================================
            C U S T O M
==========================================================*/
.under main {background: #eff3f6;padding-top: 90px;}
.under main .image_l {float: left;margin: 0 50px 0 0}
.under main .image_r {float: right;margin: 0 0 0 50px}

/* MB */
.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}
.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 main h2,
.under main h3,
.under main h4,
.under main h5,
.under main h6{font-weight:700;margin-bottom:30px}

.under main .page_title{font-size:38px;position:relative;margin-bottom: 0;}

.under main .un_ttl3{display:flex;flex-direction:column;margin-bottom:45px}
.under main .un_ttl3 .en{font-family:var(--en);font-size:80px;letter-spacing:.05em;font-weight:500;line-height:1;margin-bottom:15px;text-transform:uppercase}
.under main .un_ttl3 .ja{font-size:18px;letter-spacing:.03em;font-weight:700;margin-bottom: 0;}
.under main .un_ttl3 .ja .text{padding:0 20px}

.under main h4{position:relative;font-weight:700;font-size:30px;letter-spacing:.03em;line-height:2;color:#1d1d1d;border-bottom:1px #CECECE solid;padding-bottom:20px;margin-bottom:35px}
.under main h4::before{content:"";position:absolute;width:50px;height:1px;background-color:#4D8699;left:0;bottom:-1px}

.under main h5{font-weight:700;font-size:24px;letter-spacing:.03em;color:#4d8699;margin-bottom:13px}

.under main h6{font-size:20px;position:relative}

.under main .top_info_txt p{line-height:1.875}
.under main .top_info_txt{padding-right:110px;margin-bottom:40px}

/*==========================================================
          MAIN - CONTENT
==========================================================*/
.under main #content {padding: 0 0 120px}
.under main #content > .inner {width: 100%;padding: 0px 53px;}
.under main section {padding: 0 0 60px;margin-bottom: 0}
.under main section:last-child {padding: 0}

/* LINK + BUTTON TOP */
.under main .link {text-decoration: underline;color: var(--mcolor);}

/*============ TOP INFO ============ */
.under main #top_info{height:350px;width:100%;max-width:1920px;margin:0 auto 20px;background: url('../images/topinfo_dummy.jpg') center /cover no-repeat;}
.under main #top_info .inner{display:flex;align-items:center;height:100%;}

#room.under main #top_info{background: url('../images/topinfo_room.jpg') center /cover no-repeat;}
#flow.under main #top_info{background: url('../images/topinfo_flow.jpg') center /cover no-repeat;}
#company.under main #top_info{background: url('../images/topinfo_company.jpg') center /cover no-repeat;}
#contact.under main #top_info{background: url('../images/topinfo_contact.jpg') center /cover no-repeat;}

.top_info_con{}

.page_title{display:flex;flex-direction:column}
.page_title .en{font-family:var(--en);font-weight:500;font-size:85px;letter-spacing:.05em;line-height:1;margin-bottom:15px}
.page_title .ja{font-weight:700;font-size:26px;letter-spacing:.03em}

/*==========================================================
        T O P I C   P A T H
==========================================================*/
.under main p{letter-spacing:.03em}
.under main #topic_path{margin-bottom:20px}
.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:2px;pointer-events:none;background:url(../images/topic.svg) no-repeat center;width:10px;height:17px}
.under main #topic_path li{color:var(--txt);font-size:16px;letter-spacing:.03em}
.under main #topic_path li a{font-weight:700;color:var(--txt);letter-spacing:.03em}

/*============ 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{margin-bottom:30px;}
.under main table.td_top td{vertical-align:top}
.under main table.tb_fix{table-layout:fixed}
.under main table.mailform th,
.under main table th{font-weight:700;font-size:18px;line-height: 1.5em;}
.under main table.mailform td .info{color:var(--mcolor)}
.under main table td{border-color:#CECECE}
.under main table th,
.under main table td{padding:5px 15px;border:none;border-bottom:1px #CECECE solid}
.under main table img{display:block;margin:auto}
.under main table th{text-align:left;font-weight:500;font-size:16px;letter-spacing:.03em;margin-right:10px}
.under main table th .en{font-family:var(--en);font-weight:500;font-size:12px;letter-spacing:.05em;color:#8e8e8e;margin-right:13px}
.under main table tr th:first-child{}
.under main table tr th:last-child{border-right-color:var(--mcolor)}
.under main table.mailform tr:first-child th,
.under main table.tb_block tr:first-child th{border-top-color:var(--mcolor)}

.under main table.center th{text-align: center;}
.under main .privacy_box{height: 300px;padding: 30px;overflow: auto;background: #E8ECED;margin-bottom: 20px;}
.under main .privacy_box p{color: var(--txt);}

.under main .price_box{height: 500px;overflow: auto;background: #f0f3f5;margin-bottom: 20px;}
.under main .price_box p{color: var(--txt);}

.under main #flow_ttl05 table{margin-bottom:0px!important;}

.fixed01,
.fixed02{
  position: sticky;
  top: 0;
  left: 0;
  color: #fff;
  background: var(--mcolor);
  &:before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
  }
}
.fixed01{
  z-index: 2;
}
.fixed02{
  z-index: 1;
}



/*============ LIST ============ */
/* LIST 01 */
.under main .list01{margin-bottom:30px}
.under main .list01 li{display:block;padding-left:20px;margin-bottom:3px;position:relative;font-weight:500;letter-spacing:.03em;line-height:2}
.under main .list01 li::before{position:absolute;top:12px;left:0;content:'';width:10px;height:10px;background:#ccc;border-radius:50%}

/* LIST 02 */
.under main .list02{margin-bottom:30px}
.under main .list02 li{counter-increment:li;padding-left:30px;position:relative;margin-bottom:10px;font-weight:500;letter-spacing:.03em}
.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;font-family:var(--en);font-weight:500;font-size:15px;letter-spacing:.05em;line-height:269px;text-align:left;color:#b5b5b5;top:6px}

/* LIST CHECK */
.under main .list_check{margin-bottom:30px}
.under main .list_check li{display:block;padding-left:25px;margin-bottom:5px;position:relative;font-weight:500;letter-spacing:.03em}
.under main .list_check li::before{content:'';display:block;position:absolute;top:7px;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{}
.under main .list_faq dl{margin-bottom:60px;position:relative;background:#E8ECED;border-radius:60px 0 60px 0;padding:40px}
.under main .list_faq dt{font-weight:500;font-size:22px;display:flex;margin-bottom:20px;border-bottom:1px var(--txt) solid;align-items: center;padding-bottom: 20px;position: relative;cursor: pointer;}
.under main .list_faq dt.open{color: #4d8699;}
.under main .list_faq dt.open::after{rotate: 90deg;opacity: 0;}
.under main .list_faq dt::before{width: 22px;height: 2px;position: absolute;top: 21px;right: 0;content: '';background: var(--txt);}
.under main .list_faq dt::after{width: 2px;height: 22px;position: absolute;top: 11px;right: 11px;content: '';background: var(--txt);transition: all ease 0.3s;}
.under main .list_faq dt .en{font-family:var(--en);font-weight:500;font-size:53px;margin-right:10px;flex-shrink: 0;}
.under main .list_faq dt .ja{font-weight:700;font-size:20px;letter-spacing:.03em}

/* LIST STEP */
.under main .list_step{}
.under main .list_step dl{margin-bottom:60px;position:relative;background:#E8ECED;border-radius:60px 0 60px 0;padding:40px}
.under main .list_step dl:not(:last-child)::before{width:0;height:0;border-style:solid;border-right:20px solid transparent;border-left:20px solid transparent;border-top:25px solid #1d1d1d;border-bottom:0;left:0;right:0;margin:0 auto;bottom:-45px;position:absolute;content:""}
.under main .list_step dt{font-weight:500;font-size:22px;display:flex;flex-direction:column;margin-bottom:20px;border-bottom:1px var(--txt) solid}
.under main .list_step dt .num{font-family:var(--en);font-weight:500;font-size:53px;margin-bottom:10px}
.under main .list_step dt .ja{font-weight:700;font-size:20px;letter-spacing:.03em}
.under main .list_step dd{}

/* FLEX 2COL */
.under main .flex_2col{display: flex;justify-content: space-between;flex-wrap: wrap;margin-bottom: -47px;}
.under main .flex_2col .item{background: #E8ECED;padding: 30px 30px 120px;width: calc((100% - 47px) / 2 );margin:0 0 47px;position: relative;border-radius: 40px 0 40px 0;}
.under main .flex_2col .item .big{font-weight: bold;font-size: 24px;margin-bottom: 15px;}
.under main .flex_2col .item .img{border-radius: 20px 0 20px 0;overflow: hidden;}
.under main .flex_2col .item .txt{display: flex;align-items: flex-start;margin-bottom: 10px;}
.under main .flex_2col .item .txt span{display: inline-block;width: 120px;flex-shrink: 0;font-weight: bold;}
.under main .flex_2col .item .btn{position: absolute;bottom: 30px;left: 0;width: 100%;}

/* FLEX 3COL */
.under main .flex_3col{display: flex;justify-content: center;flex-wrap: wrap;}
.under main .flex_3col .item{background: #E8ECED;padding: 30px;width: calc((100% - 50px) / 3);margin:0 25px 50px 0;position: relative;border-radius: 40px 0 40px 0;display: flex;flex-direction: column;align-items: center;}
.under main .flex_3col .item:last-child{margin-right: 0;}
.under main .flex_3col .item .big{font-weight: bold;font-size: 24px;margin-bottom: 0;}
.under main .flex_3col .item .img{border-radius: 20px 0 20px 0;overflow: hidden;}
.under main .flex_3col .item .txt{display: flex;align-items: flex-start;margin-bottom: 0;width: 260px;max-width: 100%;}
.under main .flex_3col .item .txt span{display: inline-block;width: 90px;flex-shrink: 0;font-weight: bold;}

/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01 {margin-bottom: 50px;background: #fff;border-radius: 60px 0px;padding: 40px;}
.under main .un_boxh3 .frame01 {background: #eff3f6;}

/* FRAME PICKUP */
.under main .frame_pick {border-radius: 60px 0px;background: #e8eced;max-width: 1420px;margin: 0 auto 23px;padding: 40px;}
.under main .frame_pick .pick_ttl {margin-bottom: 10px;font-weight: bold;font-size: 20px;letter-spacing: 0.03em;}
.under main .frame_pick .pick_ttl span {font-size: 36px;display: block;font-family: var(--en);font-weight: 500;font-size: 53px;margin-bottom: 10px;}

/* 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;}

/* FEATURE BOX */
.un_boxh3{background:#fff;border-radius:60px 0 60px 0;padding:142px 0 130px}
.un_boxh3 + .un_boxh3{margin-top: 60px;}
.sec_un_boxh3_con,.sec_un_boxh3{padding-left:186px;padding-right:186px}
.sec_un_boxh4_con,.sec_un_boxh4{padding-left:175px;padding-right:177px}
.under main .sec_un_boxh3{position:relative;min-height:530px;display:flex;flex-direction:column}
.under main .sec_un_boxh3.mh0{min-height: inherit;margin-top: 50px;}
.under main .sec_un_boxh4.no_pd {padding: 0;}

.under main .sec_un_boxh3.cen,
.under main .sec_un_boxh4.cen{justify-content:center}
.under main .sec_un_boxh3 .image,
.under main .sec_un_boxh4 .image{position:absolute}
.under main .sec_un_boxh3 .image img,
.under main .sec_un_boxh4 .image img{width:100%;height:100%;object-fit:cover}
.under main .un_boxh3_r{padding-right:925px}
.under main .un_boxh3_l{padding-left:925px}
.under main .un_boxh3_r .image{right:0;top:0}
.under main .un_boxh3_r .image,.under main .un_boxh3_r .image img{border-radius:30px 0 0 30px;overflow:hidden}
.under main .un_boxh3_l .image{left:0;top:0;padding-right:930px}
.under main .un_boxh3_l .image img,.under main .un_boxh3_l .image{border-radius:0 30px 30px 0;overflow:hidden}
.under main .sec_un_boxh4{position:relative;min-height:480px;display:flex;flex-direction:column}
.under main .un_boxh4_r{padding-right:860px}
.under main .un_boxh4_l{padding-left:860px}
.under main .un_boxh4_r .image{right:-60px;top:0}
.under main .un_boxh4_r .image,
.under main .un_boxh4_r .image img{border-radius:30px 0 0 30px;overflow:hidden}
.under main .un_boxh4_l .image{left:-60px;top:0;padding-right:930px}
.under main .un_boxh4_l .image img,.under main .un_boxh4_l .image{border-radius:0 30px 30px 0;overflow:hidden}
.under main .un_boxh4{padding:0 182px 0 181px}
.un_boxh5{border-radius:60px 0;background:#e8eced;max-width:1420px;margin:0 auto 90px;padding:80px 90px}
.under main .un_boxh5 section{position:relative}
.under main .un_boxh5 section:not(:last-of-type){padding-bottom:64px;margin-bottom:66px}
.un_boxh5 section:not(:last-of-type):before{position:absolute;content:"";width:calc(100% + 180px);left:-90px;bottom:0;background:#cecece;height:1px}

.under main .sec_un_boxh4 .un_boxh5{margin-bottom: 0;}

.un_features{background:#fff;margin-top:60px;border-radius:60px 0;padding:137px 190px 100px;margin-bottom:115px}
.un_features_w{display:flex;justify-content:space-between;position:relative;left:-60px;width:calc(100% + 122px)}
.under main .un_features_w .un_ttl3{margin-bottom:98px}
.un_features_tt{font-weight:700;font-size:30px;letter-spacing:.03em;line-height:1.83;text-align:right;margin-top:9px}
.un_features_tt span{color: #458fa8;font-size: 110%;}
.blue{color: #458fa8;}
.un_features_box{display:flex;margin-bottom:0}
.un_features_box .item1{flex-shrink:0;margin-right:90px}
.un_features_box .item2{max-width:611px;width:100%;display:flex}
.un_features_box .item1 .img,
.un_features_box .item1 img{border-radius:20px 0 20px 0}
.un_features_box .item2{position:relative}
.un_features_box .item2 .un_features_tt1 .ja{letter-spacing: 0.025em;font-size: 28px;}

.un_features_info{display:flex;flex-direction:column;position:relative}
.un_features_box .un_features_info{justify-content:center;position:static}

.un_features_tt1{display:flex;flex-direction:column}
.un_features_tt1 .bg{width:294px;height:60px;border-radius:30px;background:#1d1d1d;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.03em;position:relative;margin-bottom:35px}
.un_features_tt1 .bg:before{position:absolute;content:"";width:0;height:0;border-style:solid;border-right:5px solid transparent;border-left:4px solid transparent;border-top:8px solid var(--txt);border-bottom:0;left:0;right:0;margin:0 auto;bottom:-8px}
.un_features_tt1 .ja{font-weight:700;font-size:26px;letter-spacing:0.025em;color:#1d1d1d}
.un_features_en{position:absolute;-webkit-writing-mode:vertical-rl;-moz-writing-mode:vertical-rl;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;-webkit-text-orientation:mixed;-moz-text-orientation:mixed;-ms-text-orientation:mixed;right: -3px;top: 10px;height: calc(100% - 20px);border-right: 2px #989898 solid;font-family: var(--en);font-weight: 500;font-size: 14px;letter-spacing: 0.025em !important;line-height: 36px;text-align: left;margin-bottom: 0;color: #8e8e8e;padding-right: 5px;}
.un_features_en > span{margin-top:10px}
.un_features_box .item2 .un_features_txt1{max-width:512px}

.under main .un_features_txt1{line-height:1.875}
.un_features_item .item{width: 670px;margin:0 25px;flex-shrink: 0;}
.un_features_item .item .un_features_en{height:150px;top:-4px;right: -2px;font-size: 12px;padding-right: 1px;}
.un_features_item .item .img{}
.un_features_item .item .img,
.un_features_item .item .img img{border-radius:20px 0 20px 0}
.un_features_item .item .un_features_txt1{padding-right:65px}
.un_features_item .item .un_features_tt1{}
.under .inner2{max-width:1480px;padding:0 30px;margin:0 auto}
.un_features_item .slick-arrow {width: 40px;height: 90px;background: url("../images/arrow_next.png") no-repeat center center/16px auto var(--gray);transition: all 0.3s;z-index: 3;}
.un_features_item .slick-prev {background-image: url("../images/arrow_prev.png");}

/* ROOM SLIDE */
.under main .room_slide{display: flex;width: 950px;max-width: 100%;margin:0 auto 30px;}
.under main .room_slide .room_big{width: calc(100% - 200px);}
.under main .room_slide .room_thumb{width: 150px;flex-shrink: 0;margin-top: -2px;}
.under main .room_slide .room_thumb p{margin-bottom: 0;cursor: pointer;}
.under main .room_slide .room_thumb .slick-current{pointer-events: none;cursor: default;position: relative;}
.under main .room_slide .room_thumb .slick-current::before{width: 100%;height: 100%;background: rgba(0, 0, 0, 0.6);position: absolute;top: 0;left: 0;content: '';}

.under main .flex_3img{display: flex;flex-wrap: wrap;}
.under main .flex_3img .item{width: calc((100% - 66px) / 3);margin:0 33px 33px 0;background: #fff;padding: 20px;border-radius: 20px 0;}
.under main .flex_3img .item .img{width: 420px;max-width: 100%;margin-bottom: 15px;}
.under main .flex_3img .item .img img{border-radius: 20px 0;}
.under main .flex_3img .item p{text-align: center;font-size: 18px;font-weight: bold;line-height: 1.5em;}
.under main .flex_3img .item:nth-child(3n + 3){margin-right: 0;}

.under main .flex_slide{margin-bottom: 30px;}
.under main .flex_slide .item{width: 460px;height: 420px;margin:0 30px 0 0}
.under main .flex_slide .item:nth-child(3n + 3){margin-right: 30px;}

.under main .box_contact_list.center{justify-content: center;align-items: center;}
.under main .flex_center {display: flex;justify-content: center;}
.under main .flex_center>* {width: 900px;max-width: 100%;}

.under main .under_bg_white { background: #fff; padding: 20px; border-radius: 20px; }
.under main .under_bg_gray { background: #f0f3f5;padding: 20px;border-radius: 20px; }
.under main .under_bg_gray:not(:last-child) {margin-bottom: 20px;}

/* 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 .frame_pick:last-child {margin-bottom: 0}

.sec04_item > div{height: auto;padding: 15px 0;}
.sec04_title{margin-bottom: 25px;}
.sec04_price .number{font-size: 36px;}
.sec04_price{margin-bottom: 10px;}

.under .room_flex{display: flex;align-items: center;}
.under .room_flex .img{width: auto;flex-grow: 1;margin-right: 30px;margin-bottom: 0;}
.under .room_flex .sec04_item{display: flex;flex-direction: column;flex-shrink: 0;width: auto;}
.under .room_flex .sec04_item > div{margin: 0 0 20px;max-width: 100%;}
.under .room_flex .sec04_item > div .center{padding: 0 15px;}
.under .room_flex .sec04_item > div:last-child{margin-bottom: 0;}

/* POPUP */
.under.noscroll {overflow: hidden;}
.under .room_popup { position: fixed; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); top: 0; left: 0; z-index: 999;display: flex;justify-content: center;align-items: center;opacity: 0;visibility: hidden;}
.under .room_popup.show {opacity: 1;visibility: visible;}
.under .room_popup_ct {background: #fff;position: relative;padding: 20px;}
.under .close{ position: absolute; width: 50px; height: 50px; background: var(--mcolor); border-radius: 50%; right: -20px; top: -20px; cursor: pointer;display: flex;justify-content: center;align-items: center;color: #fff;font-size: 30px;padding: 0 0 10px;transition: all 0.3s;}
.under .close::after { content: 'x'; line-height: 0; font-family: var(--font-main); font-weight: 400; }

.under .room_popup .popup_item{position: absolute;top: 0;left: 0;opacity: 0;pointer-events: none;}
.under .room_popup .popup_item.active{position: relative;top: inherit;left: inherit;opacity: 1;pointer-events: inherit;}

.under .room_popup .sec04_item{margin-bottom: 0;}
.under .room_popup .sec04_item > div{padding: 15px;width: 300px;max-width: 100%;}
.under .room_popup .sec04_item .sec04_title{margin-bottom: 20px;}
.under .room_popup .sec04_price {margin-bottom: 0;}
.under .room_popup .sec04_price .number{font-size: 32px;line-height: 1em;}

/* FLOW TABLE */
.under main .flow_tb{display: flex;align-items: flex-start;}
.under main .flow_tb .flex_3col{flex-shrink: 0;width: 640px;margin-right: 30px;}
.under main .flow_tb .flex_3col .item{width: 100%;}
.under main .flow_tb .flow_tb{flex-grow: 1;}
.under main .tb_content{display: flex;align-items: flex-start;justify-content: space-between;flex-wrap: wrap;width: 100%;}
.under main .tb_content table{width: 48%;}
.under main .tb_content table th,
.under main .tb_content table td{padding: 10px;}
.under main .tb_content .des{width: 100%;}


.under main .tb_2col{}
.under main .tb_2col_ct{display: flex;}
.under main .tb_2col_ct:not(:last-child){margin-bottom: 20px;}
.under main .tb_2col_ct .big{margin-bottom: 15px;}
.under main .tb_2col_ct table th,
.under main .tb_2col_ct table td{padding: 5px;}
.under main .tb_2col_ct table {max-width: 100%;}
.under main .tb_l{width: 45%;padding-right: 50px;}
.under main .tb_r{width: 55%;padding: 55px 0 0 20px;}
.under main .tb_r .bold{}

