/* ========all page style======== */
section{padding: 80px 0 0}

p{letter-spacing: 0.03em;}
.banner-page{background: url(../images/bnr_about_us.png) center right 100px /460px no-repeat #eef0eb;height: 440px;position: relative;z-index: 2;display: flex;align-items: center;border-radius: 0 30px 30px 0}
.banner-page::before{content: '';position: absolute;width: 3000px;height: 100%;top: 0;right: 50%;background: #eef0eb;z-index: -1}
.banner-page.our-service{background-image: url(../images/bnr_our_service.png);background-size: 380px;padding-bottom: 105px}
.wp_pagination {padding: 50px 0px; display: flex; flex-wrap: wrap; justify-content: center; }
.wp_pagination a,
.wp_pagination span {width: 50px; height: 50px; border: 1px solid var(--txt); background-color: #fff; color: var(--txt); border-radius: 1px; display: flex; align-items: center; justify-content: center; margin: 3px 10px; border-radius: 50%;font-weight: 500;font-family: var(--font-eb);}
.wp_pagination span.current,
.wp_pagination a:hover {border-color: var(--txt); background-color: var(--txt); color: #fff}
.wp_pagination a.nextpostslink,
.wp_pagination a.previouspostslink {white-space: nowrap; color: #000000; font-weight: bold; background-color: transparent; border: unset; }
.wp_pagination .prev.page-numbers,
.wp_pagination .next.page-numbers{display: none;}
.link{color: var(--txt);}
.link_underline{text-decoration: underline;text-underline-offset: 5px;color: var(--txt);}
.link_underline:hover{text-decoration: none;}
.top_info .en{font-size: 36px;font-weight: 600;}
.txt_green{color: var(--green);font-size: 28px;letter-spacing: 0.01em;line-height: 1.2;text-align: left;}
.u_the_content .txt_green{text-align: left;}
.link{color: var(--txt);position: relative;width: fit-content;display: inline-block;}
.green_link{color: var(--green);}
.link::before{content: '';position: absolute;width: 0;border-bottom: 1px solid var(--txt);transition: .3s;left: 0;bottom: 0}
.link:hover::before{width: 100%}
.must{color: red}
table td{font-family: var(--font-eb);font-weight: 500;color: var(--txt);}

/* LIST 02 */
.the_content ol{list-style-type: none;padding-left: 0}
.num-list,
.the_content ol{margin-bottom: 30px;}
.num-list:last-child,
.the_content ol:last-child{margin-bottom: 0}
.num-list > li,
.the_content ol li{counter-increment: li; position: relative;padding-left: 20px}
.num-list > li::before,
.the_content ol li::before{ content: counter(li)".";font-size: var(--mfont-size);font-weight: 400;color: var(--txt);line-height: 1em;font-family: var(--font-eb);margin-right: 10px;position: absolute;left: 0;top: 6px}

/*W*/
.w10{width: 10%;}
.w15{width: 15%;}
.w20{width: 20%;}
.w25{width: 25%;}
.w30{width: 30%;}
.w35{width: 35%;}
.w40{width: 40%;}
.w45{width: 45%;}
.w50{width: 50%;}
.w55{width: 55%;}
.w60{width: 60%;}
.w65{width: 65%;}
.w70{width: 70%;}
.w75{width: 75%;}
.w80{width: 80%;}
.w85{width: 85%;}
.w90{width: 90%;}
.w95{width: 95%;}
.w100{width: 100%;}

/*==========================================================
                        H E A D I N G
==========================================================*/
.under main h1,
.under main h2,
.under main h3,
.under main h4,
.under main h5,
.under main h6{font-weight: 400;margin-bottom: 30px;font-family: var(--font-eb)}

.under main h1{font-size: 76px; text-align: center;margin-bottom: 0;color: var(--green);margin-left: 120px}

.under main h2{font-size: 72px;letter-spacing: 0.05em;margin-bottom: 70px;line-height: 1}

.under main h3{font-size: 32px;position: relative;color: var(--green);margin-bottom: 25px;line-height: 1.2}
.under main h3::before{content: "";position: absolute; width:32px;height: 1px;background-color: var(--txt);left: 0;bottom: -8px;}
.under main h3.no_ic::before{display: none;}
.under main h3 .big,
.under main .about_col_content_tag{font-size: 48px;}
.under main h3 .big .sm,
.under main .about_col_content_tag .sm{font-size: 16px;color: #fff;background: var(--green);padding: 3px 15px;margin-left: 20px;position: relative;top: -6px}

.under main h4{font-size: 24px;color: var(--mcolor);}
.under main h5{font-size: 20px;position: relative;}

/* IFRAME BOX */
.under main .box_map{width:100%;height:400px}
.under main .about_col_map{height: 270px}
.under main .box_ytb{width: 900px;height: auto; margin: 0 auto;aspect-ratio: 16/9;max-width: 100%;}
.under main .about_col_map iframe,
.under main .box_map iframe,
.under main .box_ytb iframe{width:100%;height:100%;border:none;outline: none;}
/*Card List*/
.under main .card-list{display: grid;grid-template-columns: repeat(5, 1fr);grid-gap: 30px}
.under main .card-list li{border: 2px solid var(--border-color);padding: 30px 20px 20px;border-radius: 20px;position: relative;overflow: hidden;display: flex;flex-direction: column;align-items: center;text-align: center;gap: 30px;transition: .3s;background: #fff}
.under main .card-list .card_img{margin-bottom: 0}
.under main .card-list .card_img img{border-radius: 15px}
.under main .card-list .card_ttl{color: var(--green);font-size: 20px;line-height: 1.3;text-align: center;font-family: var(--font-roboto);font-weight: 500;}


.under main .content_2col .col_img{margin-right: 60px;}
.under main .content_2col.reverse .col_img{margin-right: 0;margin-left: 60px}

/*SERVICE*/
.under main .service_col_img{width: 360px;flex-shrink: 0;margin-bottom: 0}
.under main .sevice_box_content,
.under main .about_box_content{display: flex;flex-direction: column;gap: 50px}
.under main .global_service{position: relative;z-index: 1}
.under main .glb_sv_box{margin-bottom: 40px;}
.under main .glb_sv_box:last-child{margin-bottom: 0}
.under main .glb_sv_box01{width: 48%;}
.under main .glb_sv_label{font-size: 34px;font-weight: 700;margin-bottom: 20px;line-height: 1.3em;color: var(--green)}
.under main .service_2col{display: flex;justify-content: space-between;align-items: flex-start;}
.under main .service_l,
.under main .service_r{width: 48%}
.under main .service_region{width: 100%;margin-bottom: 15px}
.under main .service_region_ja{margin-bottom: 77px}
.under main .service_region:last-child{margin-bottom: 0}
.under main .txt_transparent{color: transparent;}
.under main .visi-hide{visibility: hidden;}
.under main .sv_re_info{display: flex;align-items: flex-end;justify-content: space-between;margin-bottom: 0}
.under main .sv_re_ttl{font-weight: 700;margin-bottom: 0;font-size: 24px}
.under main .sv_re_list{padding: 10px}
.under main .service_region .sv_re_list .sv_re_item{margin: 0;display: flex;align-items: center;gap: 10px;margin-bottom: 10px}
.under main .service_region .sv_re_list .sv_re_item:last-child{margin-bottom: 0}
.under main .service_region .sv_re_list .sv_re_item p{margin: 0;line-height: 1.1;font-size: 16px;text-align: left;}
.under main .service_region .sv_re_list .sv_re_item .txt02{flex: 1;display: flex;align-items: flex-start;}
.under main .service_region .sv_re_list .sv_re_item .txt03{width: 50px;flex-shrink: 0;padding: 0}
.under main .service_region .sv_re_list .sv_re_item .txt03 img{width: 100%;height: auto;border-radius: 5px}
.under main .text_in_r{display: flex;justify-content: flex-end;margin-bottom: 30px}
.under main .text_in_r p{line-height: 1.1}
.under main .txt_tag{margin-right: 10px;width: fit-content;flex-shrink: 0;mask-position: 1px;width: 109px}
.under main .sv_map_txt{position: relative;z-index: 2}
.under main .sv_map_img{margin: 20px 0 -40px;text-align: center;}


/*about*/
.under main .about_col_img{width: 580px;flex-shrink: 0;margin-bottom: 0}
.under main .about_col_img_sm{width: 360px;flex-shrink: 0;margin-bottom: 0}
.under main .about_col_img_sm02{width: 580px}
.under main .about_col_img_sm02 img{width: 100%;}
.under main .about_box_content{margin-bottom: 60px}
.under main .about_box_content:last-child{margin-bottom: 0}
.under main .about_box_content_none_map{gap: 10px;}
.under main .about_box_content_none_map .about_col_img:has(.about_col_map){display: none;}

.about_company{position: relative;padding-bottom: 0;margin-bottom: 40px}
.about_company_tb_sec{position: relative;}
.about_company_tb_sec::before{content: '';position: absolute;width: 310px;height: auto;right: 0;bottom: 0;background: url(../images/about_img05.png) center /cover no-repeat;z-index: -1;zoom: 0.75;aspect-ratio: 82/57;display: none;}
.under_s03_img_ttl{justify-content: flex-start;gap: 10px;margin-bottom: 15px}
.u_sec03{padding: 30px 41px;}
.under main .about_ttl_layout .big{display: flex;justify-content: flex-start;align-items: center;flex-wrap: wrap;gap: 40px}
.under main .about_ttl_layout.align_top .big{align-items: flex-start;}
.under main .about_ttl_layout.align_top .tag_r{position: relative;top: 25px;}

.under main .ilius_ttl,
.under main .ilius_txt{padding-left: 15px;}
.under main .ilius_ttl{font-weight: 700;position: relative;}
.under main .ilius_ttl::before{content: '';position: absolute;width: 5px;height: 5px;background: var(--txt);border-radius: 50px;left: 0;top: 13px}
.under main .ilius_txt{font-weight: 500}
.under main .ilius_ttl,
.under main .ilius_txt{margin-bottom: 12px}

.under main .tag_r_txt02{display: block;color: var(--txt);font-size: var(--mfont-size);text-align: center;display: none;}
.under main h3 .sm_box,
.under main .about_col_content_tag .sm_box{display: flex;align-items: center;justify-content: center;margin-bottom: 10px;gap: 16px;flex-wrap: wrap;margin-bottom: 0}
.under main h3 .big .sm_box .sm,
.under main .about_col_content_tag .sm_box .sm{top: 0;margin: 0}
.under main .about_2col{justify-content: flex-start;}
.under main .about_col_content_tag{line-height: 1.2;margin-bottom: 10px}
.under main .about_col_content_tag .sm_box{justify-content: flex-start;}

/*CONTACT*/
.form-detail .mwform-checkbox-field {width: 45%; margin-left: 0px !important; }
.btn-form {display: -ms-flexbox; display: flex; position: relative; width: 280px; height: 62px; border-radius: 5px; background-color: var(--txt); color: #fff; font-size: 22px; font-weight: 700; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; box-shadow: 0 5px 15px rgba(144, 144, 144, 0.4); cursor: pointer; border: 0px; transition: 0.3s; font-family: var(--font-eb);font-weight: 500}
.btn-form:hover {background-color: var(--mcolor); color: var(--txt); }
.form_btn_box{display: flex;justify-content: center;align-items: center;margin-top: 80px;gap: 20px}
.mw_wp_form .error {width: 100%; }
.mw_wp_form_confirm .hidden-in-confirm {display: none; }
.form_contact dl{display: flex;align-items: center;margin: 0 0 12px}
.form_contact dl dt{width: 25%;flex-shrink: 0;padding: 5px 15px;}
.form_contact dl dd{padding: 0 0 0 33px;flex: 1;border-left: 1px solid var(--txt);width: 75%;flex-shrink: 0}
.f-control{width: 100%;height: 37px;border: 1px solid var(--txt);border-radius: 0;padding: 0 10px;font-family: var(--font-main);}
input[type=radio].f-control-radio{width: 20px;height: 20px;margin: 0}
.form_contact dd label:has(input[type=radio]){display: flex;align-items: center;gap: 10px}
.form_contact dd:has(input[type=radio]){display: flex;gap: 10px;flex-direction: column;}
.mw_wp_form .form_contact .horizontal-item + .horizontal-item{margin: 0}
textarea.f-control{max-width: 100%;width: 100%;height: 200px;padding: 15px}
.contact-page-container{margin-bottom: 80px}
input[type="checkbox"] {
    width: 32px;
    height: 32px;
    border: 2px solid #777;
    border-radius: 2px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    background: #fff;
    position: relative;
}

input[type="checkbox"]:checked {
    background-color: var(--green);
    border-color: var(--green);
}

input[type="checkbox"]:checked::after {
    content: "";
    color: #fff;
    position: absolute;
    left: calc(50% - 4px);
    top: calc(50% - 24px/2);
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    width: 10px;
    height: 19px
}
.policy_box{display: flex;align-items: center;position: relative;justify-content: center;margin-top: 50px}
.policy_checkbox{font-size: var(--mfont-size);font-weight: 600}
.policy_box .error{position: absolute;}
.mw_wp_form_confirm .policy_box{display: none;}


/*Insights*/
.archive_item{display: flex;gap: 20px;position: relative;padding: 30px 0;transition: .3s;border-bottom: 1px solid #ddd;z-index: 1;}
.archive_item::before{content: '';position: absolute;width: calc(100% + 40px);left: -20px;top: 0;height: 100%;background: var(--light-green);transition: .3s;opacity: 0;z-index: -1}
.archive_item:hover::before{opacity: 1}
.archive_item:hover{border-bottom-color: transparent;}
.archive_item:has(+ .archive_item:hover) {border-bottom-color: transparent;}
.archive_item_img{width: 20%;height: 130px;margin-bottom: 0;border: 1px solid #ddd;padding: 10px}
.archive_item_img img{width: 100%;height: 100%;object-fit: cover;}
.archive_item_content{flex: 1;}
.archive_item_content .item_date,
.post_single_date{opacity: .8;margin-bottom: 10px;font-weight: 400;font-family: var(--font-eb);}
.archive_item_content .item_cate,
.post_single_cat{display: inline-block;padding: 0 10px;line-height: 1.5;margin-bottom: 10px;color: var(--green);border: 1px solid var(--green);}
.archive_item_content .item_ttl{font-weight: 700;}
.archive_item_content .item_ttl a{font-size: 140%;color: var(--txt);}
.archive_item_content .item_ttl a::after{content: '';position: absolute;width: 100%;height: 100%;left: 0;top: 0;z-index: 2}

.list_anchor_single{display: flex;justify-content: center;align-items: center;flex-wrap: wrap;width: 100%;margin: 60px auto 0;gap: 20px}
.list_anchor_single li{margin: 0;}
.post_single_date{margin-bottom: 0}
.post_single_info{display: flex;align-items: center;gap: 20px;margin-bottom: 30px}
.btn_single a{font-family: var(--font-eb);padding: 6px 16px 8px;font-size: 18px}
.the_content ul:not(.num-list){margin-bottom: 30px}
.the_content ul:not(.num-list):last-child{margin-bottom: 0}
.the_content ul:not(.num-list) li{padding-left: 20px;position: relative;}
.the_content ul:not(.num-list) li::before{content: '';position: absolute;width: 5px;height: 5px;background: #000;left: 0;top: 14px;border-radius: 50%}
.the_content p{margin-bottom: 30px}
.the_content p:last-child{margin-bottom: 0}
.the_content img+img{margin-top: 40px}
p:has(.aligncenter){text-align: center;}
p:has(.alignright){text-align: right;}
.the_content .gallery_2col{display: grid;grid-template-columns: repeat(2, 1fr);gap: 10px;margin-bottom: 30px}
.the_content .gallery_2col p{margin-bottom: 0}
.the_content .gallery_2col:last-child{margin-bottom: 0}



/*================== Responsive style ==================*/
@media screen and (min-width: 768px){
	/*Policy*/
    .policy_the_content p,
    .u_the_content p[class=""],
	.the_content p{text-align: justify;}
}
@media screen and (min-width: 1440px){
  .banner-page,
  .banner-page.our-service{background-position: center right 135px;}
}
@media screen and (min-width: 768px) and (max-width: 1560px){
  
  .banner-page,
  .banner-page.our-service{padding-bottom: 0;}
  .banner-page::before{right: 80%}

  .under main .card-list{grid-gap: 10px}
  .under main .card-list li{padding: 30px 30px 20px}
  .under main .about_col_img_sm{width: 50%;max-width: 360px}
  .under main .about_col_img,
  .under main .about_col_img_sm02{width: 40%;max-width: 580px}
  .under main .global_service::before{top: -120px}

  .under main .card-list .card_ttl{font-size: 20px}

  .about_company_tb_sec::before{zoom: 0.5;right: 0}
}
@media screen and (min-width: 768px) and (max-width: 1100px){
  .under main .card-list li{padding: 30px 20px 20px}
  .under main h1{margin-left: 40px}
  .under main .about_company_tb_sec::before{width: 246px;height: 171px;}
  .banner-page::before{width: 30px;right: initial;left: -25px}

}
@media screen and (min-width: 768px) and (max-width: 900px) {
  .banner-page,
  .banner-page.our-service{background-size: 280px;height: 300px;background-position: center right 30px;}
  .under main h1{font-size: 66px}
}
@media screen and (max-width: 820px) {
  .under main .service_l, 
  .under main .service_r{width: 100%}
  .under main .global_service{gap: 30px}
  .under main .global_service{background: initial;}

}
@media screen and (max-width: 767px) {
  .text-justify{text-align: initial;}
  section{padding: 0 0 40px}
  .txt_green{font-size: 24px}
  .top_info .en{line-height: 1em}
  .under main{margin-bottom: 80px}
  .under main h1{font-size: 40px; margin-left: 0}
  .under main h2{font-size: 34px;margin-bottom: 30px}
  .under main h3{font-size: 30px;}
  .under main h3::before{bottom: -11px}
  .under main h3 .big{font-size: 110%}
  .under main h3 .sm_box{justify-content: flex-start;}
  .under main h4{font-size: 22px;}
  .under main h5{font-size: 18px;}

  .banner-page-container{margin-bottom: 40px}
  .banner-page,
  .banner-page.our-service{background-size: 237px;background-position: right 30px center;height: 280px;padding-bottom: 0}
  .banner-page::before{width: 30px;right: initial;left: -25px}
  
  .u_sec03{margin-bottom: 40px;padding: 20px}
  .under .sec05{margin: 80px 0 94px;padding-bottom: 0}
  .under main .content_2col .col_img,
  .under main .content_2col.reverse .col_img{margin-left: auto;margin-right: auto;}

  .under main .card-list{grid-template-columns: repeat(2, 1fr);grid-gap: 10px}
  .under main .card-list li{padding: 20px;gap: 10px}
  .under main .card_img{width: 70px;margin-top: 0 auto}
  .under main .card-list .card_ttl{padding: 0;font-size: 16px}
  .under main .service_col_img{width: 100%;max-width: 360px;margin: 0 auto}
  .under main .about_2col{gap: 30px}
  .under main .sv_re_ic_list{flex-wrap: wrap;justify-content: flex-end;width: 71%}
  .under main .sv_re_ttl{flex: 1}

  .under main .about_col_img{width: 100%;max-width: 580px;margin: 0 auto}
  .under main .about_col_img_sm{width: 100%;max-width: 360px;margin: 0 auto}
  .under main .about_col_img_sm02{max-width: 580px}
  .under main .about_ttl_layout.align_top .tag_r{top: 5px}

  .under main .about_company_tb_sec{padding-bottom: 0;margin-bottom: 30px}
  .under main .about_company_tb_sec::before{width: 246px;height: 171px;bottom: 0;right: 0;display: none;}

  .under main .service_region .sv_re_list .sv_re_item{padding: 10px 0}
  .under main .glb_sv_box01{width: 100%}
  .under main .glb_sv_label{font-size: 24px}
  .under main .sv_re_ttl{font-size: 20px}
  .under main .service_2col{flex-direction: column;}
  .under main .glb_sv_box{margin-bottom: 30px}
  .under main .service_region{margin-bottom: 15px}
  .under main .service_2col{gap: 15px}
  .under main .global_service::before{top: -100px}
  .under main .sv_map_img{margin-bottom: 0}

  /*CONTACT*/
  .contact-page-container{margin-bottom: 0}
  .form_contact dl{flex-direction: column;align-items: flex-start;gap: 10px}
  .form_contact dl dt{border-bottom: 1px solid var(--txt);width: 100%;padding-left: 0;}
  .form_contact dl dd{border-left: none;width: 100%;padding-left: 0}
  textarea.f-control{height: 100px}
  .form_btn_box{margin-top: 50px}
  .btn-form{width: 130px;height: 52px}

  /*INSIGHTS*/
  .archive_item{flex-direction: column;}
  .archive_item_img{width: 100%;height: calc((100vw - 40px) * 9 / 16);}
  .archive_item{gap: 10px}

  .list_anchor_single{gap: 10px}

/* TABLE SCROLL */
.under main .tb_scroll{overflow:scroll;}
.under main .tb_scroll:not(:last-child){margin-bottom: 30px;}
.under main .tb_scroll table{width: 800px;}
.under main .tb_note{margin-bottom: 10px;color: #999;}

.num-list > li::before, .the_content ol li::before{top: 5px}
}
@media screen and (max-width: 479px) {
  .banner-page,
  .banner-page.our-service{background-size: 210px;background-position: right 30px bottom;height: 280px;align-items: flex-start;padding-top: 10px;margin-bottom: 40px}
  .under main .card-list li{padding: 12px;}
  .under main .service_region .sv_re_list .sv_re_item .txt02{flex-direction: column;gap: 5px}
}
@media screen and (max-width: 360px) {
  .under main .service_region .sv_re_list .sv_re_item p{font-size: 14px;padding: 0}
  .under main .service_region .sv_re_list .sv_re_item .txt_tag{width: 96px}
  .under main .service_region .sv_re_list .sv_re_item{gap: 6px;padding: 5px}
}
@media screen and (max-width: 340px) {
  .policy_box{align-items: flex-start;gap: 10px}
  .policy_box > p{line-height: 1.3em}
  .policy_box > p > a{display: block;}
  .policy_checkbox .mwform-checkbox-field{display: block;margin-top: 1px}
}
/*================== Responsive style ==================*/