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

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{padding: 60px 0 120px}
.under main #content .inner{width: 1630px;max-width: 100%;display: flex;justify-content: space-between;}

.under main section{padding:0 0 100px;margin-bottom:0}
.under main section:last-child{padding:0}

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

/*============ 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 20px 20px 0;text-align: center;}
.under main .list_anchor:last-child{margin-bottom: -15px;}

.under main .list_3btn .btn{width: calc((100% - 60px) / 3);margin-right: 30px;margin-bottom: 20px;}
.under main .list_4btn .btn{width: calc((100% - 60px) / 4);margin-right: 20px;margin-bottom: 20px;}

.under main .list_3btn .btn a,
.under main .list_4btn .btn a{width: 100%;line-height: 1.5em;letter-spacing: 0;padding: 0 30px;}

.under main .list_3btn .btn:nth-child(3n + 3),
.under main .list_4btn .btn:nth-child(4n + 4),
.under main .list_3btn .btn:last-child,
.under main .list_4btn .btn:last-child{margin-right: 0;}

.under main .btn_blue{}
.under main .btn_blue a{background:url('../images/arrow_w.png') no-repeat right 10px center /15px var(--mcolor);box-shadow:0 3px 6px rgba(0,0,0,0.16);height: 80px;padding-bottom: 5px;}
.under main .u_content .btn_blue a {padding-bottom: 0;}
.under main .btn_icon{margin-bottom: 40px;}
.under main .btn_icon a{position: relative;background: url('../images/arrow_w.png') no-repeat right 12px center /15px var(--mcolor);padding: 0 0 3px 10px;}
.under main .btn_icon a::before{background: url('../images/ic_cirle.png') center /cover no-repeat;width: 28px;height: 28px;position: absolute;top: calc(50% - 14px);left: 14px;content: '';}

.under main .bnn_gray{width: 100%;height: 120px;margin-bottom: 10px;}
.under main .bnn_gray a{width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;text-align: center;background: #B2B2B2;line-height: 1.5em;font-weight: bold;color: var(--txt);}

/*==========================================================
                        A S I D E
==========================================================*/
.under main .nav_aside{width: 300px;margin-right: 100px;flex-shrink: 0;}
.under main .nav_aside .contact_mail a{width: 100%;height: 80px;box-shadow:0 3px 6px rgba(0,0,0,0.16);font-size: 20px;background: url('../images/arrow_w.png') no-repeat right 12px center /15px var(--scolor);padding-left: 3px;margin-bottom: 33px;}

.under main .list_cate{box-shadow:0 3px 6px rgba(0,0,0,0.16);margin-bottom: 30px;}
.under main .list_cate .icon{background: #E1E3EF;position: relative;font-size: 18px;font-weight: bold;color: #1A2674;padding: 11px 47px 10px;margin-bottom: 0;}
.under main .list_cate .icon::before{width: 24px;height: 24px;position: absolute;top: calc(50% - 10px);left: 15px;content: '';background: url('../images/ic_search.png') center /cover no-repeat;}

.under main .list_cate ul{padding: 10px 11px 12px;}
.under main .list_cate ul li:not(:last-child){margin-bottom: 10px;}
.under main .list_cate ul li a{position: relative;padding: 9px 0 16px 26px;width: 100%;display: block;line-height: 1em;font-weight: 500;}
.under main .list_cate ul li a::before{width: 7px;height: 12px;position: absolute;top: calc(50% - 10px);left: 7px;content: '';background: url('../images/ic_arr.png') center /cover no-repeat;}
.under main .list_cate ul li:not(:last-child) a::after{width: 100%;height: 1px;background: url('../images/ic_path.png') left repeat;content: '';position: absolute;bottom: 0;left: 0;}

.under main .list_bnn{margin-bottom: 50px;}
.under main .list_bnn .center img{width: 100%;height: auto;}
.under main .list_bnn .btn_blue,
.under main .list_btn .btn_blue{margin-bottom: 8px;}

.under main .list_btn{margin: 50px 0 38px;}

/*==========================================================
                        C O N T E N T
==========================================================*/
.under main .u_content{width: 1200px;max-width: 100%;position: relative;}
.under main .page_ttl{background: #1A2674;color: #fff;font-size: 60px;font-weight: 900;line-height: 1.5em;display: flex;align-items: center;justify-content: center;text-align: center;padding: 105px 15px;margin-bottom: 70px;height: 300px;}

.under main .u_ttl1{font-size: 40px;font-weight: 900;line-height: 1.5em;color: var(--txt);border-top: 7px solid var(--mcolor);border-bottom: 1px solid var(--txt);width: 100%;padding: 15px 0 15px;max-width: inherit;padding:29px 10px 28px;margin-bottom: 40px;}
.under main .u_ttl1_v2{font-size: 34px;font-weight: 900;line-height: 1.46em;position: relative;padding-left: 35px;margin-bottom: 50px;}
.under main .u_ttl1_v2::before{width: 7px;background: var(--mcolor);height: 100%;content: '';position: absolute;top: 0;left: 0;}

.under main .u_ttl2{font-weight: bold;font-size: 24px;color: #fff;background: var(--mcolor);padding: 9px 32px;margin-bottom: 30px;}
.under main .u_ttl3{border-bottom: 5px solid #000;font-size: 24px;font-weight: bold;line-height: 1.46em;margin-bottom: 45px;padding-bottom: 18px;padding-left: 10px;}
.under main .u_ttl4{font-weight: 900;font-size: 30px;line-height: 1.46em;color: var(--mcolor);padding-left: 65px;position: relative;margin-bottom: 30px;}
.under main .u_ttl4::before{width: 40px;height: 3px;background: var(--mcolor);position: absolute;top: 20px;left: 0;content: '';}

.under main .ttl_center{text-align: center;font-weight: 900;font-size: 36px;margin-bottom: 50px;padding-bottom: 0;line-height: 1.5em;}

/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{position: absolute;top: 300px;left: 0;}
.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{color: var(--scolor);font-weight: 500;}

/*==========================================================
                        T A B L E
==========================================================*/
.under main table{border-collapse:separate;border-spacing: 2px;}
.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 th{background: #313131;color:#fff;font-weight:500;font-size: 20px;padding: 7px 15px;}
.under main table td{border-color: var(--mcolor);background:#fff;padding:15px;}

.under main table tr:first-child th:first-child {border-top-left-radius: 6px;}
.under main table tr:first-child th:last-child {border-top-right-radius: 6px;}
.under main table tr:last-child th:last-child {border-bottom-right-radius: 6px;}

.under main table tr:nth-child(even) td{background: #fff;border:1px solid #E3E3E3}
.under main table tr:nth-child(odd) td{background: #E9E9E9;border:1px solid #D5D5D5}

.under main table img{display:block;margin:auto;}

/*============ LIST ============ */
/* LIST 01 */
.under main .list01,
.under main .wp_content ul{margin-bottom: 30px;}
.under main .list01 li,
.under main .wp_content ul li{display:block;padding-left:15px;margin-bottom:5px;position:relative;font-weight: 500;}
.under main .list01 li::before,
.under main .wp_content ul li::before{width: 8px;height: 8px;position: absolute;top: 13px;left: 0;content: '';background: var(--mcolor);border-radius: 50%;}

.under main .list01 li a,
.under main .wp_content ul li a{margin-left: -15px;padding-left: 15px;}

/* LIST 02 */
.under main .list02,
.under main .wp_content ol{margin-bottom: 30px;}
.under main .list02 li,
.under main .wp_content ol li{counter-increment: li; padding-left: 30px;position: relative;margin-bottom: 10px;font-weight: 500;}
.under main .list02 li::before,
.under main .wp_content ol 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: 7px; 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 IMG */
.under main .list_img{display: flex;flex-wrap: wrap;margin-bottom: 25px;}
.under main .list_img p{width: calc((100% - 40px) / 2);margin-right: 40px;margin-bottom: 0;height: auto;aspect-ratio: 58/30;}

.under main .list_3img{display: flex;flex-wrap: wrap;margin-bottom: 10px;align-items: flex-start;}
.under main .list_3img p{width: calc((100% - 60px) / 3);margin-right: 30px;margin-bottom: 40px;display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;}
.under main .list_3img p span{line-height: 1.5em;margin-top: 10px;}

.under main .list_img p:nth-child(2n + 2),
.under main .list_img p:last-child,
.under main .list_3img p:nth-child(3n + 3),
.under main .list_3img p:last-child{margin-right: 0;}
.under main .list_3img p:last-child{margin-bottom: 40px;}

/* LIST COMPANY */
.under main .list_comp{display:flex;flex-wrap:wrap;padding:30px;background: var(--mcolor);}
.under main .list_comp .item{width:calc((100% - 60px) / 3);height:auto;background:#fff;padding:40px 20px 20px;margin-bottom:40px;position:relative;cursor: pointer;}
.under main .list_comp .item::before{position:absolute;content:"";background:url('../images/icon_quote.png') no-repeat left top/30px;width:30px;height:26px;left:30px;top:-7px}

.under main .list_comp .comp_tt{}
.under main .list_comp .comp_tt a{display:flex;flex-direction:column;align-items:center;border-bottom:1px #686868 solid;padding-bottom:11px;margin-bottom:30px;text-align: center;}
.under main .list_comp .comp_tt .ja{font-size:24px;font-weight:900;letter-spacing:-.02em;color:#272727}
.under main .list_comp .comp_tt .en{font-size:18px;font-weight:700;font-family:var(--en);color:var(--mcolor)}
.under main .list_comp .comp_txt{line-height:1.75;font-weight:500}
.under main .list_comp .comp_txt .lg{font-size:112.5%;font-weight:700;line-height:1.2}

/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{border:1px solid #D4D4D4;padding:50px 30px;background: #F8F8F8;padding: 34px 50px 29px;}
.under main .frame02{background: #F2F5FE;padding: 40px;}
.under main .frame03{background: #fff;padding: 35px 40px 60px;border-top: 2px solid var(--mcolor);}

/* FRAME ITEM */
.under main .frame_flex{display: flex;margin-bottom: 43px;justify-content: space-between;}
.under main .frame_flex .img{width: 450px;margin:0 60px 0 0;height: auto;aspect-ratio: 3/2;max-height:300px}
.under main .frame_item{background: #fff;border:11px solid #E5E5E5;padding: 13px 19px;flex-grow: 1;}
.under main .frame_item dl{display: flex;position: relative;}
.under main .frame_item dl:not(:last-child){padding-bottom: 11px;margin-bottom: 14px;}
.under main .frame_item dl:not(:last-child)::before{width: 100%;height: 1px;background: url('../images/ic_path.png') left repeat;content: '';position: absolute;bottom: 0;left: 0;}
.under main .frame_item dt{width: 100px;height: auto;display: flex;align-items: center;justify-content: center;text-align: center;color: #fff;background: #2E2E2E;font-weight: bold;flex-shrink: 0;line-height: 1em;margin-right: 15px;}
.under main .frame_item dd{font-weight: 500;line-height: 1.6875em;padding-top: 3px;}

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

/* ===========  WORDPRESS ===========  */
.under main .wp_content p a {text-decoration: underline;color: var(--mcolor);}
.under main .wp_content img {max-height: 500px;width: auto;}
.under main .wp_content del{text-decoration: line-through;}

.under main .wp_content .btn a{color: #fff;text-decoration: none;}
.under main .wp_content .image_l{width: 450px;height: auto;aspect-ratio: 3/2;max-width: 100%;}
.under main .wp_content .image_r{width: 400px;height: auto;aspect-ratio: 16/9;max-width: 100%;}

/* ===========  PAGINATION WP ===========  */
.under main .wp_pagination {display: flex;justify-content: center;flex-wrap: wrap;margin-top: 40px;}
.under main .wp_pagination > span,
.under main .wp_pagination a{min-width: 40px;height: 40px;display: flex;justify-content: center;align-items: center;text-decoration: none;color: #fff;margin: 5px;text-align: center;font-weight: 500;line-height: 1em;transition: all 0.3s;padding: 5px;border: 1px #ccc solid;font-size: 14px;background: #ccc;}
.under main .wp_pagination a{color: var(--txt)}
.under main .wp_pagination > span {background: var(--mcolor);border: 1px var(--mcolor) solid;color: #fff;}

.under main .wp_btn{display: flex;justify-content: center;position: relative;max-width: 1000px;margin: 0 auto;}
.under main .wp_btn.mt50 {margin-top: 50px;}
.under main .wp_btn .btn,
.under main .wp_btn .btn:last-child{margin:0 0 10px;}
.under main .wp_btn .btn::before{display: none}

.under main .wp_btn .btn a{height: 70px;padding-bottom: 0;width: 270px;}
.under main .wp_btn .none{}
.under main .wp_btn .none a{background: var(--mcolor);}
.under main .wp_btn .prevPage a{background: url('../images/arrow_w_l.png') no-repeat left 10px center /15px var(--mcolor);}

/* WORK LIST */
.under main .list_work{}
.under main .list_work .item{position: relative;padding-left: 350px;height: 430px;padding-bottom: 30px;margin-bottom: 30px;border-bottom: 2px dashed var(--mcolor) ;}
.under main .list_work .item .link{position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 5;}
.under main .list_work .item .big{font-weight: bold;font-size: 24px;color: var(--mcolor);line-height: 1.5em;margin-bottom: 30px;}
.under main .list_work .item .img img{width: 100%;height: 100%;object-fit: cover;}
.under main .list_work .item .des{height:140px;text-overflow:ellipsis;overflow:hidden;display: -webkit-box;-webkit-line-clamp: 4;-webkit-box-orient: vertical;}

/* WORK DETAIL */
.under main .img_obj,
.under main .wp_content .img_obj{width: 100%;height: 100%;object-fit: cover;}
.under main .work_content .list_img p{height: 300px;}
.under main .work_content .image_l{width: 450px;height: auto;aspect-ratio: 3/2;}
.under main .work_content .image_r{width: 400px;height: auto;aspect-ratio: 40/27;}
.under main .work_content .work_full{width: 1200px;height: 350px}

/* CASE DETAIL */
.under main .case_content .image_l{width: 450px;height: auto;aspect-ratio: 3/2;}
.under main .case_layout .sec02_w{padding-bottom: 5px;}

/* RELATED */
.under main .related_list{margin-bottom: 0;}

/* SERVICE */
.under main .service_content{margin-bottom: 50px;}
.under main .service_des p{overflow: hidden;}
.under main .service_full{height: auto;aspect-ratio: 24/7;}
.under main .service_content:last-child{margin-bottom: 0}

.under main #content .sec04 .inner{width: 1430px;display: block;}
.under main #content .sec05 .inner{width: 1230px}
.under main #content .ft_top{margin-bottom: 120px;}
.under main #content .ft_top .h_contact_tel .tel{text-decoration: none;}
.under main #content .ft_top .inner p a{color: #fff;text-decoration: none;}

/* RESET */
.under main table: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}

/*CONTACT*/
.input_text01 {width: 300px;height: 38px;padding: 7px 5px 5px;box-sizing: border-box;}
.txt_info {color: #009900;font-size: 80%;display: block;margin-bottom: 5px;}
.textarea_text01 {padding: 10px;box-sizing: border-box;}
.btn_contact,
.back-btn {appearance: none;-webkit-appearance: none;border: none !important;width: 280px;height: 70px;display: flex;justify-content: center;align-items: center;background: url(../images/arrow_w.png) no-repeat right 10px center / 15px #000;font-size: 20px;color: #fff;letter-spacing: 0.02em;cursor: pointer;transition: all 0.3s;padding-top: 4px;font-weight: 700;}

.under main .box_contact p {text-align: left;}
.under main .box_contact .box-check01 p {text-align: center;display: flex;align-items: flex-start;}
.under main .box_contact .box-check01 p .must1 {left: 5px;}
.btn-con-arrow {display: table;position: relative;margin: 0 auto;}
.back-btn {background: #333;background: var(--scolor);}
.wpcf7 form .wpcf7-response-output {font-size: 14px;}
.under #content .btn_contact a,
.under #content .back-btn a {color: #fff;}

.under .btn_contact_w > p {display: flex;justify-content: center;margin-top: 50px;}
.under .btn_contact_w > p > input {margin: 0 5px;}
#confirm .btn_contact_w input {margin: 0 5px;position: relative;}
#confirm .btn_contact_w input.btn_contact {background: #333;}
.list_check.list_check01 {display: flex;}
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="submit"],
textarea,
button {-webkit-appearance: none;-moz-appearance: none;appearance: none;}
.btn_contact a {color: #fff;text-decoration: none;}
.clear_left {clear: left;}
.under main .check_wrap {display: flex;flex-wrap: wrap;}
.under img.ui-datepicker-trigger {position: relative;left: 7px;top: -1px;cursor: pointer;}
.under main .input02,
.under main .text_area01,
.select01 {border: 1px #ccc solid;padding: 7px 5px 5px;}
.under main .input02,
.select01 {width: 100%;height: 40px;}
.select01 {height: 40px;}
.under main .input02::placeholder,
.under main .text_area01::placeholder {color: #ccc;}
.under main .text_area01 {width: 100% !important;height: 150px !important;}
.under main .must1 {background: #f00;color: #fff;font-size: 11px;font-weight: 500;float: right;padding: 0px 5px 2px;border-radius: 3px;line-height: 1.7;margin-left: auto;position: relative;top: 10px;}
.under main .box-check01 .wpcf7-list-item {display: inline-block;margin: 3px 5px 3px 0;cursor: pointer;}

.under main p:empty {display: none;}
.wpcf7-spinner {position: absolute;bottom: -30px;left: 0;right: 0;margin: 0 auto;}
.textarea_text01 {width: 100% !important;min-width: 100%;max-height: 1000px;}
.box-check01 {display: flex;align-items: center;justify-content: center;}
.box-check01 .wpcf7-not-valid-tip {position: absolute;width: 280px;text-align: left;white-space: nowrap;}
.box-check01 .wpcf7-list-item-label {font-size: 0}

.get_ttl{pointer-events: none;}

/* TOP */
.under main .sec02_box .btn{margin-bottom: 50px;}
.under main .wp_content .sec02_item .img img{max-height: 100%;width: 100%;height: 100%;object-fit: cover;}
.under main .sec02_wrap .sec02_size{width: 50%;}
.under main section.mb01 {padding-bottom: 50px;}
