
/*==========================================================
                        C U S T O M
==========================================================*/
.under main .image_l{float:left;margin:0 75px 0 0}
.under main .image_r{float:right;margin:0 0 0 75px}
:root{
    --u_border1:#3366ff;
    --u_border2:#9966ff;
    --u_border3:#4dbba6;
    --u_border4:#ff9933;

    --u_bg1:#dde5ff;
    --u_bg2:#ebe1ff;
    --u_bg3:#d8f0eb;
    --u_bg4:#ffe8d1;
}
.u_border1{color:var(--u_border1)}
.u_border2{color:var(--u_border2)}
.u_border3{color:var(--u_border3)}
.u_border4{color:var(--u_border4)}
.u_bg1{color:var(--u_bg1)}
.u_bg2{color:var(--u_bg2)}
.u_bg3{color:var(--u_bg3)}
.u_bg4{color:var(--u_bg4)}
/* MB */
.under main .mb10{margin-bottom:10px}
.under main .mb20{margin-bottom:20px}
.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}

/* MT */
.under main .mt10{margin-top:10px}
.under main .mt20{margin-top:20px}
.under main .mt30{margin-top:30px}
.under main .mt40{margin-top:40px}
.under main .mt50{margin-top:50px}
.under main .mt60{margin-top:60px}
.under main .mt70{margin-top:70px}
.under main .mt80{margin-top:80px}
.under main .mt90{margin-top:90px}

/* MAX_W */
.under main .max_w200{width:100%;max-width:200px}
.under main .max_w250{width:100%;max-width:250px}
.under main .max_w300{width:100%;max-width:300px}
.under main .max_w350{width:100%;max-width:350px}
.under main .max_w500{width:100%;max-width:500px}
.under main .max_w600{width:100%;max-width:600px}
.under main .max_w700{width:100%;max-width:700px}
.under main .max_w800{width:100%;max-width:800px}
.under main .max_w900{width:100%;max-width:900px}

/* MIN-W */
.under main .min_w200{min-width:200px}
.under main .min_w250{min-width:250px}
.under main .min_w300{min-width:300px}
.under main .min_w350{min-width:350px}
.under main .min_w500{min-width:500px}

/*==========================================================
                        H E A D I N G
==========================================================*/
.under main h2,
.under main h3,
.under main h4,
.under main h5,
.under main h6{font-weight: bold;margin-bottom: 30px;}

.under main h2{font-size: 74px;margin-bottom: 0;color: var(--scolor);position: relative;top: -5px;letter-spacing: 0.03em;}
.under main .small_h2{font-size: 21px}
.under main h3{font-size: 32px;text-align: left;padding-left: 38px;position: relative;letter-spacing: 0.025em;line-height: 1.5em;color:var(--mcolor);}
.under main .txt_h3{margin-bottom: 103px}

.under main h3:before{width: 21px;height: 3px;left: 0;top: 24px;background: var(--mcolor);}
.under main h3 .en{font-size: 80%; color: var(--mcolor); display: block;}

.under main h4{font-size: 28px;position: relative;padding-left: 28px;letter-spacing: 0.02em;border-bottom: 1px solid var(--border);padding-bottom: 13px;margin-bottom: 20px;}
.under main h4::before{content: "";position: absolute;width: 11px;height: 11px;background-color: var(--scolor);left: 0;top: 18px;}

.under main h5{font-size: 25px;color: var(--mcolor);margin-bottom: 40px;position: relative;}
.under main h5.border{border-bottom: 1px solid var(--border);padding-bottom: 15px;margin-bottom: 20px;}

.under main .h_r::before,
.under main .h_l::before{width: calc(100% + 80px);left: 0;bottom: -17px;background: var(--border);height: 1px;z-index: -1;}
.under main .h_r::before{left: -75px}
.under main .h_l::before{right: -75px}
.under main h6{font-size: 20px;position: relative;color: var(--mcolor);}
.under main h6::before,
.under main h6::after{content: ""; position: absolute;height: 3px;left: 0; bottom: -5px;}
.under main h6::before{background-color: var(--mcolor);width: 50px;left: 0;z-index: 2;}
.under main h6::after{background-color: #ccc;width: 100%;}
.under main .u_small{font-size: 90%}
.under main .u_small1{font-size:150%;display: block;margin-bottom: 5px}
.under main .u_small2{font-size: 140%}
/*==========================================================
                        FONT FAMILY
==========================================================*/
.under main h2,
.under main h3,
.under main h4,
.under main h5,
.under main h6,
.under main table th,
.under main .list_faq dt,
.under main .list_step dt{font-family: var(--font-main)}

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{padding: 0 0 170px}
.under main section{padding: 0 0 140px;margin-bottom:0}
.under main section:last-child{padding:0}
.under main ol li{list-style: decimal;}

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

/*============ TOP INFO ============ */

.under main #top_info{height:486px;width:100%;max-width:1920px;margin:0 auto;background:var(--scolor2);position: relative;margin-bottom: 121px;}
.under main #top_info .inner{display:flex;flex-direction:column;justify-content:center;height:100%}
.under main #top_info .en{text-transform: uppercase;font-weight: bold;font-size: 21px;font-family: var(--f-en);color:var(--scolor);line-height: 1.1em;margin-bottom: 14px;display: block;letter-spacing: 0.03em;}
.under main #top_info:after{width: 2090px;height: 470px;right: -800px;top: -182px;background: url(../images/after_top_info.png) center /cover no-repeat;position:absolute;content:"";z-index: 1;}
/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{}
.under main #topic_path ul{display:block;margin-top: 56px;width: 100%;max-width: 600px;}
.under main #topic_path li{display:inline;position: relative;font-size: 14px;font-weight: bold;margin-right: 30px;}
.under main #topic_path li:not(:last-child)::after{content:"|";position: absolute;display: inline-block;top: calc(50% - 16px);pointer-events: none;right: -18px;color: #707070;}
.under main #topic_path li{color: var(--gray1);}
.under main #topic_path li a{color:var(--scolor);}

/*============ LIST ANCHOR LINK ============ */
.under main .list_anchor{display: flex; align-items: center; flex-wrap: wrap; justify-content: center;width:100%;margin-bottom: 0;}
.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;border-collapse: separate;}
.under main table.mailform th,
.under main table th{background:var(--bg_table);color: var(--mcolor);font-weight:700;font-size: 16px;}
.under main table.mailform th span{color:#fff}
.under main table.mailform td .info{color:var(--mcolor)}
.under main table th h5,
.under main table th .tt_tb{margin-bottom: 0;font-size: 16px;padding:0;margin: 0;border:none;}
.under main table th .tt_tb::before{display: none;}

.under main table td h4{margin-bottom: 0;font-size: 16px;border-bottom: none;padding-left: 15px;}
.under main table td h4:before{width: 8px;height: 8px;top: 10px}

.under main table td{border-color: #fff;background: var(--bg_table);border-left: none;border-right: none;}
.under main table th,
.under main table td{padding: 17px;border-bottom: 8px solid #fff;}
.under main table td:not(:last-child){border-right: 8px solid #fff;}
.under main table img{display:block;margin:auto;}

.under main table th{border-color: #fff;border-right-color: #fff;border-right: none;border-left: none;}
.under main table tr th:first-child{border-left-color: #fff;border-right: none;border-left: none;}
.under main table tr th:last-child{border-right-color: var(--mcolor);}
.under main table.mailform th,
.under main table.tb_block th{border-color: #fff;border-bottom-color: #fff;}
.under main table.mailform tr:first-child th,
.under main table.tb_block tr:first-child th{border-top-color: #fff;}  
.under main table.mailform tr:last-child th,
.under main table.tb_block tr:last-child th{border-bottom-color: #fff;}

/*============ LIST ============ */
/* LIST 01 */
.under main .list01{margin-bottom: 30px;}
.under main .list01 li{display:block;padding-left:25px;margin-bottom:5px;position:relative}
.under main .list01 li::before{background:var(--mcolor);width:12px;height:3px;position:absolute;top:16px;left:0;content:''}

/* 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: 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{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;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;font-family: var(--f-en);}
.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;line-height: 1em;color:#fff;background: var(--mcolor);display: flex;align-items: center;justify-content: center;text-align: center;font-family: var(--f-en);}

/* LIST STEP */
.under main .list_step dl{margin-bottom: 35px;padding-bottom: 50px;position: relative;}
.under main .list_step dl:not(:last-child)::before{background: url('../images/ic-step.png') center /cover no-repeat;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{border:3px solid var(--mcolor);padding:50px 30px;border-radius:10px;margin-bottom: 50px;}

/* FRAME 02 */
.under main .frame02{border: 1px solid #e6e6e6;padding: 25px;background: var(--mcolor);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;}

/* ===========  KIJIKAKU ===========  */
.under main .kiji_list{margin-top: 50px;}
.under main .kiji_list dl{display: flex;padding-bottom: 15px;margin-bottom: 15px;border-bottom: 1px dashed #ccc}
.under main .kiji_list dt{display: flex;align-items: center;width: 150px}
.under main .kiji_list dt img{margin-right: 10px;position: relative;top: -2px;}
.under main .kiji_list dd{width: calc(100% - 150px);display: flex;align-items: center;}
.under main .kiji_list dd a{display: inline-block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 100%;}
.under main .kiji_detail_ct img{max-width: 800px;max-height: 600px;}


/* ===========  PAGINATION ===========  */
.under main .pagination {display: flex;justify-content: center;flex-wrap: wrap;text-align: center;margin: 30px auto 0}
.under main .pagination li{margin: 0 10px}
.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}

/* ===========  OVERNOTE ===========  */

/*BOX H4*/
.under main .box_h4{display: flex;justify-content: space-between;align-items: center;position: relative}
.under main .box_h4 .box_info{width: calc(100% + 100px);background: var(--gray);min-height: 482px;position: relative;padding: 107px 0 0;z-index: 2;}
.under main .box_h4 .box_info:before{width: 1745px;min-width: 1260px;background: var(--gray);z-index: -1;height: 100%;top: 0;}

.under main .box_h4.l .box_info:before{border-radius:8px 0px 0px 8px;right: -50%;transform: translateX(50%);}
.under main .box_h4.r .box_info:before{border-radius: 0px 8px 8px 0;left: -50%;transform: translateX(-50%); }

.under main .btn_list .is_none a::before{display: none;}

/*All PAGE*/

.under main .f25{font-size: 25px}

.under main #top_info:after,.under main h3:before,.under main .box_h4 .box_info:before,.under main h5:before,.under main .list_item li .name  span:before{position: absolute;content:""}

.under main .list_co2_table{display: flex;justify-content: space-between;margin-bottom: 40px}
.under main .list_co2_table>li{width: calc((100% - 30px) / 2);}

.under main .list_item{display: flex;justify-content: space-between;margin-bottom: 40px}
.under main .list_item li{width: calc((100% - 40px) / 3);padding: 15px;background: var(--gray);}
.under main .list_item li .name{color:var(--mcolor);text-align: center;font-weight: bold;font-size: 26px;}
.under main .list_item li .img{display: flex;align-items: center;justify-content: center;height: 120px}
.under main .list_item li .img img{max-height: 100%}

.under main .list_item li .small{font-size: 12px}
.under main .list_item li dl{padding: 15px 0;}
.under main .list_item li dl:not(:last-child){border-bottom: 1px solid var(--mcolor);}
.under main .list_item li dl dd p:first-child{margin-bottom: 10px}
.under main .list_item li .name  span{position: relative;background-image: linear-gradient(0deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 87%, #fdfea9 85%, #fdffac 100%);background-size: 30px 110px;background-position: top 22px left;}
.under main .list_item li .name  span:before{}

.under main .list_step{display: flex;justify-content: space-between;}
.under main .list_step li{width: calc((100% - 90px) / 4);position: relative}

.under main .list_step li h4{font-size: 16px;border-bottom: none;padding-left: 15px;}
.under main .list_step li h4:before {width: 8px;height: 8px;top: 10px;}
.under main .list_step li span{display: block;color:#fff;font-size: 20px;}
.under main .list_step li .info_header{background: var(--mcolor);text-align: center;line-height: 1.5em;padding: 15px;position: relative}
.under main .list_step li:not(:last-child):before{position:absolute;content:"";right: -28px;height: 0;width: 0;border-top: 15px solid transparent;border-left: 25px solid var(--scolor);border-bottom: 15px solid transparent;top: 65px;}
.under main .list_step li p{margin-bottom: 0}
.under main .list_step li .info_center{padding: 15px}
.under main .list_step li .txt_step{color:var(--mcolor);border-bottom: 1px solid var(--mcolor);padding-bottom: 5px;margin-bottom: 15px;font-weight: bold;text-align: center;}
.under main .list_step li .tt_step{color:var(--mcolor);border-bottom: 1px solid var(--mcolor);padding-bottom: 5px;margin-bottom: 15px;font-weight: 500;text-align: center;}
.under main .list_step li .txt2{font-weight: bold;border-bottom: 1px solid #fff;padding-bottom: 15px;margin-bottom: 5px;display: inline-block;line-height: 1.5em;}
.under main .list_step li .txt3{font-size: 16px}


.under main .u_img{border-radius: 8px;}
.under main .u_img.u_img1 ,.under main .u_img.u_img2{box-shadow:12px 12px 16px rgb(0,0,0,8%)}
.under main .top_info_img{display: flex;position: absolute;bottom: -72px;right: -10px;z-index: 2;align-items: flex-end;justify-content: flex-end;}
.under main .top_info_img li{position: relative}

.under main .list_border{display: flex;border: 1px solid var(--border);}
.under main .list_border li{width: calc(100% / 2);padding: 15px;}
.under main .list_border li:nth-child(1){border-right: 1px solid var(--border);display: flex;flex-wrap: wrap;flex-direction: column;justify-content: center;}
.under main .list_border li.full_w{width: 100%;border-right: none}

.under main .u_banner a{height: 100px}
.under main .list_sec03{margin: 0 auto 40px auto;width: 100%;max-width: 1000px;}
.under main .list_sec03.full{max-width: 1100px}
.under main .list_sec03.cus_under_img{margin-bottom: 0}
.under main .list_sec03.cus_under_img li{min-height: 390px}
.under main .list_sec03 li .name{font-size: 17px}

.frame_img{position: relative;margin-bottom: 40px;min-height: 500px}
.frame_img.item1:before,.frame_img.item2:before{width: 100%;height: 500px;left: 0;bottom: 0;position: absolute;content:""}
.frame_img.item1:before{background: url(../images/overview_img_03.jpg) center /cover no-repeat}
.frame_img.item2:before{background: url(../images/overview_img_05.jpg) center /cover no-repeat;}
.frame_img .info_frame_img{min-height: 100px;background: rgb(255,255,255,80%);position: absolute;padding: 10px 20px 10px 20px;bottom: 0;left: 0;width: 100%;text-align: right;}
.frame_img.item2 .info_frame_img{text-align: left;}
.frame_img .title_img{font-size: 25px;margin-bottom: 0;line-height: 1.7em;}

.under main .talk_list dl {
    display: flex;
    margin-bottom: 50px;
    align-items: center;
}
.under main .talk_list dt {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: #fff;
    padding: 0px;
    flex-shrink: 0;
    border: 2px solid var(--mcolor);
    text-align: center;
    color: var(--mcolor);
    font-size: 18px;
    font-weight: bold;
}
.under main .talk_list dt img {
    border-radius: 50%;
}
.under main .talk_list dd {
    background: var(--gray);
    padding: 15px;
    position: relative;
    margin: 30px 0 0 60px;
    flex-grow: 1;
}
.under main .talk_list dl:nth-child(even) dd {
    margin: 30px 60px 0 0;
}
.under main .talk_list dd::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0px 50px 60px 0;
    border-color: transparent var(--gray) transparent transparent;
    position: absolute;
    top: 0;
    left: -50px;
    content: '';
}
.under main .talk_list dl:nth-child(even) dd::before {
    border-width: 60px 50px 0 0;
    border-color: var(--gray) transparent transparent transparent;
    left: inherit;
    right: -50px;
}
.under main .talk_list dl:nth-child(even) {
    flex-direction: row-reverse;
}

.under main .list_sec03.full li.item1{border-bottom: 4px solid var(--u_border1)}
.under main .list_sec03.full li.item2{border-bottom: 4px solid var(--u_border2)}
.under main .list_sec03.full li.item3{border-bottom: 4px solid var(--u_border3)}
.under main .list_sec03.full li.item4{border-bottom: 4px solid var(--u_border4)}


.under main .talk_list dl.item4 dt{border: 2px solid var(--u_border4);color:var(--u_border4)}
.under main .talk_list dl.item4 dd{background: var(--u_bg4);}
.under main .talk_list dl.item4 dd::before{border-color: transparent var(--u_bg4) transparent transparent;}
.under main .talk_list dl.item4:nth-child(even) dd::before{border-color: var(--u_bg4) transparent transparent transparent;}


.under main .talk_list dl.item1 dt{border: 2px solid var(--u_border1);color:var(--u_border1)}
.under main .talk_list dl.item1 dd{background: var(--u_bg1);}
.under main .talk_list dl.item1 dd::before{border-color: transparent var(--u_bg1) transparent transparent;}
.under main .talk_list dl.item1:nth-child(even) dd::before{border-color: var(--u_bg1) transparent transparent transparent;}

.under main .talk_list dl.item3 dt{border: 2px solid var(--u_border3);color:var(--u_border3)}
.under main .talk_list dl.item3 dd{background: var(--u_bg3);}
.under main .talk_list dl.item3 dd::before{border-color: transparent var(--u_bg3) transparent transparent;}
.under main .talk_list dl.item3:nth-child(even) dd::before{border-color: var(--u_bg3) transparent transparent transparent;}


.under main .talk_list dl.item2 dt{border: 2px solid var(--u_border2);color:var(--u_border2)}
.under main .talk_list dl.item2 dd{background: var(--u_bg2);}
.under main .talk_list dl.item2 dd::before{border-color: transparent var(--u_bg2) transparent transparent;}
.under main .talk_list dl.item2:nth-child(even) dd::before{border-color: var(--u_bg2) transparent transparent transparent;}


.under main .txt_en{position: absolute;bottom: 4px;right: 0;left: 0;margin: 0 auto;text-align: center;font-size: 56px;font-family: var(--f-en);font-weight: bold;color: #f2f2f2;}
.under main .blue_u{color: var(--scolor);}
.under main .small_h2.txt_big{margin-bottom: 25px}
/* 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}

/* TITLE */
.under main .tt2{}
.under main .tt3{border-bottom: 1px solid var(--border);padding:0 0 15px;margin-bottom: 20px;font-size: 25px;color: var(--mcolor);position: relative;letter-spacing: 0;}
.under main .tt3.h_r,
.under main .tt3.h_l{border-bottom: none;}

.under main .tt3::before{display: none;}
.under main .tt3.h_r::before,
.under main .tt3.h_l::before{top: inherit;bottom: 0;display: block;}

.under main .tt_bold{font-weight: bold;line-height: 2em;letter-spacing: 0.08em;padding: 0;margin: 0 0 1.5em;font-size: 16px;border:none;}
.under main .tt_bold::before{display: none;}
.under main .tt5{}

