/*==========================================================
                        C U S T O M
==========================================================*/
/* 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}

/*==========================================================
                        H E A D I N G
==========================================================*/
.ttl_h1_en{font-size: 6rem;color: rgba(15, 35, 135, 0.6);font-family: var(--f-montserrat);text-align: center;line-height: 1.25;margin-bottom: 5px;text-transform: uppercase;}
.ttl_h1{text-align: center;z-index: 2;position: relative;font-size: 1.8rem;font-weight: bold;color: var(--blue);letter-spacing: 0.18rem;margin-bottom: 0 !important;}

.under main h1,
.under main h2,
.under main h3,
.under main h4,
.under main h5,
.under main h6{font-weight: bold;margin-bottom: 20px;}
.under main h1{margin-bottom: 40px;font-size: 1.8rem; text-align: center;}
.under main h2{font-size: 3rem; text-align: center;}
.under main h3{font-size:3rem; text-align: center;}
.under main h4{font-size: 2.4rem;color: var(--blue);}
.under main h5{font-size: 2.2rem;color: var(--blue);}
.under main h6{font-size: 2rem;position: relative;}
/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under .h_box{position: fixed;background-color: #FFF;}
.under main{padding-top: 8rem;}
.under main #content{padding: 0 0 120px}
.under main section{padding:0 0 80px;margin-bottom:0}
.under main section:last-child{padding:0}
.under main ol li{list-style: decimal;}

/* LINK + BUTTON TOP */
.link{text-decoration: underline;}

/*============ TOP INFO ============ */
.top_info{height:220px;width:100%;max-width:1920px;margin:0 auto;background:#FBFBFB;padding-bottom: 5px;}
.top_info .inner{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}
/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.topic_path{margin-bottom: 109px;}
.topic_path ul{display:block;padding: 13px 0;}
.topic_path li{display:inline;position: relative;}
.topic_path li:not(:last-child)::after{content:"";position:relative;display: inline-block;margin: 0 5px 0 10px;top:0;pointer-events: none;width: 6px;height: 11px;background: url('../images/topic_path_ic.png') no-repeat center /contain;}
.topic_path li,
.topic_path li a{color: #383232;font-size: 1.4rem;}
.topic_path li a{text-decoration: underline;text-underline-offset: 2px;}

/*============ LIST ANCHOR LINK ============ */
.anchor_list{justify-content: center;display: flex;flex-wrap: wrap;gap: 3rem;}
.anchor_list li a{width: 250px;height: 60px;display: flex;justify-content: center;align-items: center;color: #222222;font-weight: 500;text-align: center;border: 1px solid #CECECE;}
.anchor_list li.active a{background-color: #0F2387;border-color: #0F2387;color: #FFF;}
/*==========================================================
                        T A B L E
==========================================================*/
table.td_top td{vertical-align:top}
table.tb_fix{table-layout: fixed;}
table{margin-bottom: 4rem;}
table th{background:#E5F5F7;font-weight:700;}
table td{background:#fff;font-weight: 500;}
table th,
table td{padding: 1rem 2rem;border-color: #C7C7C7;border-right: 0;border-left: 0;word-break: break-all;}
table img{display:block;margin:auto;}
table tr th:not(:first-child){border-left: 1px solid #FFF;}
/*============ LIST ============ */
/* LIST 01 */
.list01{margin-bottom: 30px;}
.list01 li{display:block;padding-left:17px;margin-bottom:5px;position:relative}
.list01 li::before{background:var(--mcolor);width:6px;height:6px;position:absolute;top:12px;left:2px;content:'';border-radius: 50%;}

/* LIST 02 */
.list02{margin-bottom: 30px;}
.list02 li{counter-increment: li; padding-left: 30px;position: relative;margin-bottom: 10px;}
.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;}
/*============ FRAME ============ */
/* FRAME 01 */
.frame01{border:3px solid var(--mcolor);padding:50px 30px;background-color: #e6e6e6;border-radius:10px;margin-bottom: 50px;}

.project_detail{margin-bottom: 80px;}
.project_detail_item{display: flex !important;justify-content: center;align-items: center;overflow: hidden;aspect-ratio: 820/526;background-color: #EDEDED;}
.project_detail_item img{max-height: 100%;}
.project_detail_slick{padding:0 3rem;}
.project_detail_slick{max-width: 88rem;margin: 0 auto 100px;}
.project_detail_carousel .project_detail_item{width: 23rem;aspect-ratio: 230/148;margin: 0 10px;border: 0;background-color: #e6e6e6;}
.project_detail_carousel{max-width: 980px;margin: 0 auto;}
.project_detail_carousel .slick-prev, .project_detail_carousel .slick-next, .project_detail_carousel .slick-prev:focus, .project_detail_carousel .slick-next:focus{width: 30px;height: 100%;border-radius: 0;}
.project_detail_carousel .slick-next:hover{background:url(../images/ic_right2.png) no-repeat center /1rem #E8E8E8;}
.project_detail_carousel .slick-prev:hover{background:url(../images/ic_left2.png) no-repeat center /1rem #E8E8E8;}
.project_detail_carousel .slick-prev,.project_detail_carousel .slick-prev:focus{background:url(../images/ic_left2.png) no-repeat center /1rem #E8E8E8;}
.project_detail_carousel .slick-next,.project_detail_carousel .slick-next:focus{background:url(../images/ic_right2.png) no-repeat center /1rem #E8E8E8;}
/* .project_detail_carousel .slick-current{position: relative;}
.project_detail_carousel .slick-current::after{content: '';position: absolute;width: 100%;height: 100%;top: 0;left: 0;background-color: rgba(0, 0, 0, 0.4);} */
/* CONTACT */
.note{font-size: 1.5rem;}
.contact_head{margin-bottom: 54px;}
.contact_form{max-width: 680px;margin: 0 auto;}
.contact_form:not(:last-child){margin-bottom: 45px;}
.contact_form dl:not(:last-child){margin-bottom: 28px;}
.contact_form dl dt{margin-bottom: 8px;font-weight: 500;}
.contact_form dl dt p{font-weight: 500;}
.contact_form dl dt .must{font-size: 1.2rem;color: #BC0D17;margin-left: 6px;}
.contact_form dl dd p{margin-bottom: 0;}
.contact_form dl.full{display: flex;justify-content: center;}
.contact_form dl.full dt{margin-bottom: 0;margin-right: 50px;}
.contact_form dl .no_break p{white-space: break-spaces;}
input,textarea,select,option {font-size: 1.6rem !important;}
input[type="checkbox"]{display:none}
input[type="checkbox"] + span{display:block;position:relative;padding-left:30px;margin-bottom:20px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none; color: #222222;font-weight: 500;}
input[type="checkbox"] + span:last-child{margin-bottom:0}
input[type="checkbox"] + span:before{content:'';display:block;width:20px;height:20px;border:1px solid #707070;position:absolute;left:0;top:5px;background-color: #FFF;}
input[type="checkbox"]:checked + span:before{background: url('../images/ic-check.svg') no-repeat center /16px #FFF;}

input[type="text"],input[type="tel"],input[type="email"],select{height: 42px;}
input[type="text"],input[type="email"],input[type="tel"]{width: 100%;}
input::placeholder{color: #7E7E7E;font-size: 1.6rem;font-family: var(--txt);}
input,textarea,select,option{color: var(--txt);max-width: 100%;font-family: var(--f-nts);font-size: 1.6rem;}
input,textarea,select{padding: 10px;background-color: #F7F7F7;border: 0;}
select{-webkit-appearance: none; -moz-appearance: none; appearance: none; min-width: 100px;}
textarea{height: 258px;min-width: 100%;width: 100% !important;min-height: 60px;margin-bottom: -10px;}
.select_box{width: fit-content;position: relative;min-width: 31rem;}
.select_box::after{content: "";position: absolute;width: 12px;height: 6px;background: url('../images/select_ic.png') no-repeat center /contain;top: 1.9rem;right: 2rem;}
.select_box select{width: 100%;}
.wpcf7-list-item{letter-spacing: 0;}

.wpcf7-checkbox{margin-left: -15px;display: block;width: calc(100% + 30px);}
.wpcf7-spinner{bottom: -30px;left: calc(50% - 24px);position: absolute;margin: 0 10px;}
.contact_zipcode .wpcf7-not-valid-tip{position: absolute; white-space: nowrap;left: -20px;}
.wpcf7 form .wpcf7-response-output{font-size: 1.6rem;}


.contact_btn.center input{margin: 0 auto;}
.contact_btn > p{width: 100%; height: 100%;}
.contact_btn input{border: none;cursor: pointer;max-width: 100%;font-weight:500;font-size: 1.5rem;width: 32rem; height: 7.6rem; border-radius: 99.9rem; display: flex; justify-content: center; align-items: center; background: var(--txt);color: #fff;}
.contact_btn_col{display: flex; justify-content: center;align-items: center;}
.contact_btn input:disabled{background-color: #afafaf;color: var(--txt);}

@media screen and (min-width: 768px) {
  .project_detail_carousel .slick-prev,.project_detail_carousel .slick-prev:focus{left:-4rem;}
  .project_detail_carousel .slick-next,.project_detail_carousel .slick-next:focus{right:-4rem;}
  .contact_btn_box{margin-top: 50px;}
  .contact_btn_col .contact_btn:not(:last-child){margin-right: 30px;}
  .contact_btn input:not(:disabled):hover{background-color: var(--blue);}
}

/* ===========  PAGINATION WP ===========  */
.pagenavi {display: flex;justify-content: center;flex-wrap: wrap;align-items: center;gap: 5px;}
.pagenavi > span,
.pagenavi a{text-decoration: none;color: #A5A5A5;margin: 5px;text-align: center;font-weight: 500;line-height: 1em;transition: all 0.3s;padding: 5px;font-size: 1.8rem;font-family: var(--f-montserrat);}
.pagenavi > span {width: 60px;height: 60px;display: flex;justify-content: center;align-items: center;color: #FFF;background-color: #0F2387;border-radius: 50%;}
/*==========================================================
                     EDITOR WORDPRESS + ovn
==========================================================*/
.u_editor::after { content: ""; display: table; clear: both; }
.u_editor div{font-size: 16px;}
.u_editor .clearfix:not(:last-child){margin-bottom: 40px;}
/* Blockquote */
.u_editor blockquote { border-left: 4px solid #ccc; padding-left: 1em; margin: 1em 0; color: var(--txt); font-style: italic; }
.u_editor blockquote cite { display: block; font-style: normal; margin-top: 0.5em; color: #999; }
/* Caption */
.u_editor .wp-caption { max-width: 100%; text-align: center; margin-bottom: 1.5em; }
.u_editor .wp-caption:last-child{margin-bottom: 0;}
.u_editor .wp-caption img { margin: 0 auto; border: 0; }
.u_editor .wp-caption-text { font-size: 16px; color: var(--txt); margin-top: 0.5em; font-weight: 500;}
/* Horizontal line */
.u_editor hr { border: none; border-top: 1px solid #ccc; margin: 2em 0; }
/* Text align */
.u_editor .has-text-align-center { text-align: center; }
.u_editor .has-text-align-right { text-align: right; }
.u_editor .has-text-align-left { text-align: left; }
/* Gutenberg-specific */
.u_editor .wp-block-image { margin: 1.5em 0; }
.u_editor .wp-block-gallery { display: flex; flex-wrap: wrap; gap: 1em; margin: 1.5em 0; }
.u_editor .wp-block-quote { border-left: 4px solid #ccc; padding-left: 1em; color: #555; font-style: italic; }
.u_editor .wp-block-quote cite { display: block; font-style: normal; margin-top: 0.5em; color: #999; }
.u_editor .wp-block-table td,
.u_editor .wp-block-table th { border: 1px solid #ccc; padding: 0.5em; }

.alignright, .alignleft{margin-bottom:30px;max-width:300px!important}
.aligncenter{display:block!important;margin:0 auto}

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

@supports (-webkit-touch-callout: none) {
  input, textarea, select,option { font-size: 1.6rem !important; }
}