/*==========================================================
                        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}

/* 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}
.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}

/*==========================================================
                        FONT FAMILY
==========================================================*/

/*==========================================================
                        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: 38px; text-align: center;margin-bottom: 0;}

.under main h3{font-size: 30px; text-align: center;}
.under main h3 .en{font-size: 80%; color: var(--mcolor); display: block;}

.under main h4{font-size: 26px;position: relative;padding-left: 15px;}
.under main h4::before{content: "";position: absolute; width:4px;height: 25px;background-color: var(--mcolor);left: 0;top: 3px;}

.under main h5{font-size: 24px;color: var(--mcolor);}
.under main h6{font-size: 20px;position: relative;}
.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 h2{font-size: 60px;color: var(--blue-d);font-weight: 700;text-align: left;text-shadow: rgb(255, 255, 255) 1px 0px 0px, rgb(255, 255, 255) 0.540302px 0.841471px 0px, rgb(255, 255, 255) -0.416147px 0.909297px 0px, rgb(255, 255, 255) -0.989992px 0.14112px 0px, rgb(255, 255, 255) -0.653644px -0.756802px 0px, rgb(255, 255, 255) 0.283662px -0.958924px 0px, rgb(255, 255, 255) 0.96017px -0.279415px 0px;}
.under main h3{font-size: 44px;font-weight: 500;color: var(--blue-d);text-align: center;margin: 0 0 30px 0;padding: 8px 16px;outline: 1px solid #333;position: relative;z-index: 1;}
.under main h3::before{content: '';top: -6px;position: absolute;left: -6px;width: 40px;height: 40px;background: #d0e0e5;clip-path: polygon(0 0, 100% 0%, 0 100%);z-index: -1;}
.under main h3::after{content: ''; position: absolute;top: 6px;left: 6px;width: 100%;height: 100%;outline: 1px solid #333;pointer-events: none;}
/* .under main h3::first-letter{color: var(--mcolor);} */
.under main h4{font-size: 40px;font-weight: 500;color: var(--brown);border-bottom: 1px solid var(--brown);padding: 0 0 24px 0;margin: 0 0 30px 0;}
.under main h5{font-size: 28px;font-weight: 500;color: var(--blue-d);margin: 0 0 20px 0;}
.under main h6{font-size: 26px;color: var(--brown);font-weight: 500;position: relative;margin: 0 0 10px 0;}
/* .under main h6::before{content: '';position: absolute;bottom: 0;left: 0;width: 100px;border-bottom: 1px dashed var(--mcolor);height: 100%;} */

.under main .frame05{position: relative;z-index: 1;padding: 80px 0 80px 0;margin: 0 0 80px 0;}
.under main .frame05:last-child{padding: 110px 0 110px 0;}
.under main .frame05::before{content: '';position: absolute;top: 0;left: calc((100% - 100vw)/2);width: 100vw;height: 100%;background: #f6f4e7;z-index: -1;pointer-events: none;}
/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{padding: 0 0 120px;background: #f6f7f2;}
.under main section{padding: 0 0 105px;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);}

/*============ TOP INFO ============ */
.under main #top_info{height: 600px;width:100%;max-width:1920px;margin:0 auto;background:url('../images/top_info_bg.jpg') no-repeat center /cover;position: relative;overflow: hidden;z-index: 1;}
#knowledge main #top_info{background: url('../images/knowledge_top_info_bg.jpg') no-repeat center/cover;}
#company main #top_info{background: url('../images/company_top_info_bg.jpg') no-repeat center/cover;}
#knowledge main #top_info{background: url('../images/knowledge_top_info_bg.jpg') no-repeat center/cover;}
#recieve main #top_info{background: url('../images/recieve_top_info_bg.jpg') no-repeat center/cover;}
#inherit main #top_info{background: url('../images/inherit_top_info_bg.jpg') no-repeat center/cover;}
#kisarazu main #top_info{background: url('../images/kisarazu_top_info_bg.jpg') no-repeat center/cover;}
#case main #top_info{background: url('../images/case_top_info_bg.jpg') no-repeat center/cover;}
#utilization main #top_info{background: url('../images/utilization_top_info_bg.jpg') no-repeat center/cover;}
#point main #top_info{background: url('../images/point_top_info_bg.jpg') no-repeat center/cover;}
.under main #top_info::before{content: '';position: absolute;top: -70px;left: -50px;width: 800px;height: 800px;border-radius: 50%;background: rgba(255,255,255,.6);z-index: -1;}
.under main #top_info::after{content: '';position: absolute;top: -70px;left: 505px;width: 520px;height: 520px;border-radius: 50%;border: 40px solid rgba(255,255,255,.6);z-index: -1;}
/* .under main #top_info .inner{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%} */
.under main #top_info .inner{display: flex;flex-direction: column;height: 100%;justify-content: center;width: calc((100% - 350px));}

/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin-bottom: 60px;}
.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{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 10px 15px}
.under main .list_anchor:last-child{margin-bottom: -15px;}


/*==========================================================
                        T A B L E
==========================================================*/
.under main .fs_big{font-size: 120%;}
.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.mailform th,
.under main table th{background:var(--brown);color:#fff;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 td{border-color: #a39e87;background:#fff;vertical-align: top;}
.under main table th,
.under main table td{padding:15px;font-weight: 600;}
.under main table img{display:block;margin:auto;}

.under main .has_bg01 table tr td:first-child{background: #fdeacc;}
.under main .has_bg01 table tr td.bg01{background: #fdeacc;}

.under main table th{border-color: #a39e87;border-right-color: #a39e87;}
.under main table tr th:first-child{border-left-color: #a39e87;}
.under main table tr th:last-child{border-right-color: #a39e87;}
.under main table.mailform th,
.under main table.tb_block th{border-color: #a39e87;border-bottom-color: #a39e87;}
.under main table.mailform tr:first-child th,
.under main table.tb_block tr:first-child th{border-top-color: #a39e87;}
.under main table.mailform tr:last-child th,
.under main table.tb_block tr:last-child th{border-bottom-color: #a39e87;}

/*============ LIST ============ */
/* LIST 01 */.under main .list01,
.under main .fit_post ul{margin-bottom: 30px;}
.under main .list01 li,
.under main .fit_post ul li{display:block;padding-left:25px;margin-bottom: 4px;position:relative;font-weight: 500;font-size: 18px;}
.under main .list01 li::before,
.under main .fit_post ul li::before{background:#f4bb52;width: 10px;height: 10px;position:absolute;top: 13px;left: 4px;content:'';border-radius: 50%;}

/* LIST 02 */
.under main .list02,.under main .fit_post ol{margin-bottom: 30px;}
.under main .list02 li,.under main .fit_post ol li{counter-increment: li;padding-left: 30px;position: relative;margin-bottom: 10px;font-size: 18px;font-weight: 500;}
.under main .list02 li::before,
.under main .fit_post 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: 8px;background-color: var(--mcolor);font-size: 12px;font-weight: bold;color: #FFF;line-height: 22px;padding: 0 0 0px 2px;}


/* 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-size: 18px;}
.under main .list_check li::before{content: '';display: block;position: absolute;top: 10px;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;text-align:center;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;}
.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;text-align:center;line-height: 1em;color:#fff;background: var(--mcolor);display: flex;align-items: center;justify-content: center;text-align: center;padding-bottom: 5px;flex-shrink: 0;}

/* 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: 30px 30px;border-radius:10px;margin-bottom: 30px;background: #fffcf0;}
.under main .frame01.mb10{margin-bottom: 10px;}
.under main .frame01.pd10{margin-bottom: 10px;padding: 10px 10px;}

/* FRAME 02 */
.under main .frame02{border: 1px solid #e6e6e6;padding: 25px;margin-bottom: 50px;}

/* FRAME PICKUP */
.under main .frame_pick{padding: 25px;background: #e6e6e6;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}

/* ===========  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;}

/* PAGENATION - change WP same */
.under main .btn_ovn{display: flex;justify-content: center;}
.under main .btn_ovn .btn {margin: 5px 10px;}
.under main .btn_ovn.prevPage a{}
.under main .btn_ovn.nextPage a{}

.under main .img_u img{border-radius: 10px;}
.under main p,.under main .list01 li{font-weight: 500;font-size: 18px;}
/* RESET */
.under main table:last-child,
.under main .list_faq:last-child,
.under main .list_faq dl:last-child,
.under main .fit_post ul:last-child,
.under main .fit_post ol: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}

.under main .fit_post img{max-height: 400px;border-radius: 10px;}
.under main .fit_post ol{margin: 0 0 0 0;}
.under main .fit_post ol li{list-style: none;}
.under main .fit_post .alignleft{float: left;margin: 0 30px 30px 0;}
.under main .fit_post .alignright{float: right;margin: 0 0 30px 30px;}
.under main .fit_post .aligncenter{margin: 0 auto;display: block;}
.under main .fit_post p,
.under main .fit_post p a{word-break: break-all}
.under main .fit_post a{text-decoration: underline;color: var(--mcolor);}

.under main .frame_pickup{width: 100%;max-width: 1200px;margin: 0 auto;}
.under main .frame_pickup_box{width: 100%;height: auto;padding: 70px 60px 60px 60px;background: #fff;border-radius: 15px;}
.under main .frame_pickup_ttl p span{display: inline-block;font-size: 36px;font-weight: 500;color: var(--blue-d);position: relative;padding: 0 40px;letter-spacing: -5px;line-height: 1.5;}
.under main .frame_pickup_ttl p span::before{content: '';position: absolute;top: calc((100% - 52px)/2);left: 0;width: 16px;height: 52px;background: url(../images/quote_u01.png) no-repeat center/100%;}
.under main .frame_pickup_ttl p span::after{content: '';position: absolute;top: calc((100% - 52px)/2);right: 0;width: 16px;height: 52px;background: url(../images/quote_u02.png) no-repeat center/100%;}
.under main .frame_pickup_ttl p{display: inline-block;position: relative;padding: 0;}
.under main .frame_pickup_ttl p::before{content: '';position: absolute;top: -30px;left: -120px;width: 98px;height: 68px;background: url(../images/pickup_u.png) no-repeat center/100%;}
.under main .frame_pickup_ttl{text-align: center;margin: 0 0 -20px 0;}
.under main .frame_pickup_flex{display: flex;}
.under main .frame_pickup_img{flex-shrink: 0;margin: 0 50px 0 0;}
/* .under main .btn a{width: 720px;height: 80px;font-size: 28px;font-weight: 700;position: relative;background: var(--scolor);} */
.under main .btn a{width: 400px;height: 60px;font-size: 20px;font-weight: 700;position: relative;background: var(--scolor);}
.under main .btn a::after{content: '';position: absolute;top: calc((100% - 20px)/2);right: 29px;width: 20px;height: 20px;background: #fff url(../images/u_btn.png) no-repeat center/8px 10px;border-radius: 50%;}
/* .under main .btn a::after{display: none;} */
.under main .text_underline{text-decoration: underline;text-decoration-color: var(--mcolor);text-decoration-thickness: 3px;}
.under main .toc_box{background: #faf0bf;padding: 20px 40px;border-radius: 15px;}
.under main .toc_ttl p{font-size: 20px;font-weight: 700;color: var(--brown);}
.under main .toc_list li a{color: var(--mcolor);font-weight: 700;font-size: 18px;line-height: 1.5;}
.under main .toc_list li{line-height: 1.5}
.under main .toc_list li:not(:last-child){margin: 0 0 10px 0;}
.under main .toc_ttl{margin: 0 0 20px 0;border-bottom: 1px solid var(--mcolor);text-align: center;}
.under main .red{color: red;}
.under main table.td_right_left td:not(:first-child){text-align: left;}
.under main .pickup02_frame{padding: 30px 30px;width: 100%;height: auto;background: #fffcf0;border: 2px solid var(--mcolor);border-radius: 20px;}
.under main .pickup02_ttl{background: var(--mcolor);color: #fff;border-radius: 999px;padding: 5px 20px;display: inline-block;transform: translateY(25px);}
/* .under main p.mb5{margin-bottom: 5px;} */

.under main .box_cta{
    background: #F39700;
    background: linear-gradient(90deg,rgba(243, 151, 0, 1) 0%, rgba(237, 221, 83, 1) 100%);
    border-radius: 15px;
    width: 100%;
    height: auto;
    padding: 50px 30px;
    }
.under main .box_cta_ttl p{text-align: center;color: #fff;font-size: 30px;font-weight: 700;line-height: 1.5;}
.under main .box_cta_ttl{margin: 0 0 20px 0;}
.under main .content_cta p{color: #fff;}
.under main .in_white{background: #fff;padding: 10px 10px;}
.under main .u_list_ba{display: flex;justify-content: space-between;}
.under main .u_col_ba{width: 100%;max-width: 46%;}
.under main .u_col_ba p{margin: 0 0 10px 0;line-height: 1.5;}

.under main .frame_frist{padding: 30px 30px;position: relative;background: #fff;border-radius: 10px;box-shadow: 0 3px 6px rgba(0,0,0,0.05);border-top: 4px solid var(--mcolor);}
.under main .frame_first_ttl p{font-size: 20px;color: var(--mcolor);font-weight: 700;}
.under main .frame_first_ttl{margin: 0 0 20px 0;}
.under main .frame01_ttl p{color: var(--mcolor);font-weight: 700;font-size: 20px;}
.under main .frame01_ttl{margin: 0 0 20px 0;}
.under main .pickup02 h5{color: var(--mcolor);}

.under main .list_cta_btn{display: flex;justify-content: center;}
.under main .list_cta_btn .btn a{width: auto;height: auto;padding: 10px 20px;font-size: 18px;min-width: 300px;letter-spacing: 0;position: relative;display: inline-flex;}
.under main .list_cta_btn .btn{margin: 5px 5px;}
.under main .list_cta_btn .btn a.sweetlink::before{content: '';position: absolute;filter: brightness(0) invert(1);background: url(../images/ft_tel.png) no-repeat center/100%;width: 20px;height: 25px;top: calc((100% - 25px)/2);left: 60px;}
.under main .list_cta_btn .btn a.sweetlink::after{display: none;}
.under main .frame_red{background: #fff0f0;color: #cc0000;padding: 2px 8px;margin: 0 5px 0 0;min-width: 110px;display: inline-flex;justify-content: center;align-items: center;}
.under main .frame_blue{background: #e6f7ff;color: var(--blue-d);padding: 2px 8px;margin: 0 5px 0 0;min-width: 110px;display: inline-flex;justify-content: center;align-items: center;}
.under main table.td_center td{text-align: center;}
.under main .color_main{color: var(--mcolor);}

.under main .txt_label p{background: var(--blue-d);background: var(--blue-d);padding: 10px 20px;border-radius: 999px;text-align: center;display: inline;width: fit-content;line-height: 1.5;color: #fff;}
.under main .txt_label{display: flex;justify-content: center;margin: 0 0 30px 0;}

.under main .u_box_img{flex-shrink: 0;}
.under main .u_flex{display: flex;justify-content: space-between;}
.under main .u_col{width: 46%;}

.under main .cta_tel .fs_big02{font-size: 250%;color: #fff;font-weight: 700;}
.under main .u_case_ttl{background: var(--mcolor);padding: 20px 20px;display: flex;border-radius: 10px 10px 0 0;}
.under main .u_case_tag p{background: var(--brown);color: #fff;padding: 10px 10px;line-height: 1.5;border-radius: 10px;}
.under main .u_case_tag{margin: 0 10px 0 0;}
.under main .u_case_box{border: 1px solid #ccc;border-radius: 10px;}
.under main .u_case_content{padding: 30px 30px;}
.under main .u_case_ttl_small p{font-size: 20px;color: #fff;font-weight: 700;}
.under main .u_case_ttl_small{margin: 5px 0 0 0;}
.under main .frame02.pd10{padding: 10px;}
.under main .u_case_row:not(:last-child){margin: 0 0 50px 0;}

.under main .u_qa_ttl{display: flex;background: var(--mcolor);padding: 20px 20px;border-radius: 10px 10px 0 0;}
.under main .u_ttl_tag p{font-weight: 700;background: #fff;padding: 10px 10px;color: var(--mcolor);line-height: 1;border-radius: 50%;width: 40px;height: 40px;min-width: 40px;display: flex;justify-content: center;align-items: center;padding: 0 0 4px 0;}
.under main .u_ttl_tag{margin: 0 10px 0 0;}
.under main .u_qa_des{display: flex;}
.under main .u_qa_des{padding: 20px 20px;background: #fff;border-radius: 0 0 10px 10px;}
.under main .u_qa_ttl_txt p{color: #fff;font-weight: 700;}
.under main .u_des_tag p{font-weight: 700;background: var(--mcolor);padding: 10px 10px;color: #fff;line-height: 1;border-radius: 50%;width: 40px;height: 40px;min-width: 40px;display: flex;justify-content: center;align-items: center;padding: 0 0 4px 0;}
.under main .u_des_tag{margin: 0 10px 0 0;}
.under main .u_qa_row:not(:last-child){margin: 0 0 30px 0;}
.under main .contact_flexin_box{display: flex;justify-content: center;}
.under main .contact_boxin{width: 500px;height: 100%;padding: 40px 40px;background: var(--mcolor);border-radius: 20px;}
.under main .contact_boxin.line{background: #4cc764;}
.under main .contact_colin{margin: 0 20px;position: relative;}
.under main .contact_ttlin{text-align: center;}
.under main .contact_ttlin p{font-size: 24px;color: #fff;font-weight: 700;line-height: 1.5;}
.under main .contact_telling a{display: inline-block;font-size: 40px;color: #fff;font-weight: 700;font-family: var(--f-open);position: unset;line-height: 1.5;}
.under main .contact_telling a span{position: relative;padding: 0 0 0 35px;}
.under main .contact_telling a span::before{content: '';position: absolute;top: 12px;left: 0;width: 26px;height: 31px;background: url(../images/ft_tel.png) no-repeat center/100%;filter: brightness(0) invert(1);}
.under main .contact_telling{text-align: center;}
.under main .contact_txt p{line-height: 1.5;color: #fff;text-align: center;line-height: 1.5;}
.under main .contact_lining a{display: flex;justify-content: center;align-items: center;color: #4cc764;font-size: 18px;font-weight: 700;background: #fff url(../images/line.png) no-repeat 20px center/ 30px 30px;width: 300px;height: 50px;border-radius: 999px;}
.under main .contact_lining{display: flex;justify-content: center;margin: 20px 0 0 0;}
.under main .contact_telling a::before{content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 1;}
.under main .contact_clin{position: absolute;}
.under main .list_anchor_category{display: flex;justify-content: center;}
.under main .list_anchor_category .btn a{width: 300px;height: auto;padding: 10px 25px;font-size: 18px;}
.under main .list_anchor_category .btn{margin: 0 10px;}
.under main .blog_flex{display: flex;justify-content: space-between;}
.under main .blog_img{flex-shrink: 0;margin: 0 0 0 50px;width: 350px;display: flex;justify-content: center;align-items: center;}
.under main .blog_img img{max-height: 200px;}
.under main .date_cate{display: flex;align-items: center;margin: 0 0 10px 0;}
.under main .date_cate p{margin: 0;line-height: 1.5;}
.under main .date_cate p.date{color: var(--blue-d);margin: 0 20px 0 0;}
.under main .date_cate p.cate{background: var(--blue-d);color: #fff;padding: 5px 20px;border-radius: 999px;}
.under main .blog_box{background: #fdf8e4;padding: 30px 30px;border-radius: 20px;position: relative;}
.under main .blog_box::before{content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;border-radius: 20px;border: 2px solid var(--brown);transition: .3s ease-in-out;opacity: 0;visibility: hidden;}
.under main .blog_info .title a{display: inline-block;color: var(--blue-d);font-weight: 700;color: var(--blue-d);font-weight: 700;font-size: 22px;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;display: -webkit-box;}
.under main .blog_info .title{margin: 0 0 10px 0;}
.under main .blog_box:not(:last-child){margin: 0 0 30px 0;}
.under main .none{display: none !important}
#fmail .size_3 input, #fmail .size_3 select, #fmail .size_3 textarea{width: 100% !important;max-width: 350px;}
.under main .list_anchor_category .btn.hidden{display: none;}
.under main .list_anchor_category .btn.viewPage a::after{display: none;}
.under main .list_anchor_category .btn.prevPage a::after{right: unset;left: 29px;background: #fff url(../images/u_btn_prev.png) no-repeat center/8px 10px;}
.under main .blog_box .content p{-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;display: -webkit-box;}
.under main .list_anchor_category .btn.active a{background: #333;}
main #fmail textarea.fmail{min-height: 200px;resize: vertical;}
.under main .u_line_space{width: 100%;height: 1px;border-bottom: 1px dashed var(--mcolor);margin: -15px 0 15px 0;}
.under main .u_line_space.no_margin{margin: 0 0 15px 0;}
.under main .frame01 p{margin: 0 0 15px 0;}
.under main .frame01.bg_green{background: #f0fff4;border-color: #008f4c;}
.under main .frame01.bg_pink{background: #fff3f3;border-color: #ffcdd2;}
.under main .frame01.bg_pink .u_line_space{border-color: #ffcdd2;}

.under main p.fs_3up{font-size: 21px;}
.under main .u_flex_img{margin: 0 50px 0 0;min-width: 580px;}
.under main .ali_center{align-items: center;}
.under main .u_flex.reverse{flex-direction: row-reverse;}
.under main .u_flex.reverse .u_flex_img{margin: 0 0 0 50px;}

.under main .service-list{display: flex;justify-content: center;}
.under main table h5{margin: 0 0 10px 0;}
.under main .service-list li{margin: 3px;}
.under main .service-list svg{width: 20px;transform: translateY(2px);}
.under main .has_before{position: relative;}
.under main .has_before::before{content: "おすすめ";position: absolute;top: -15px;left: 50%;transform: translateX(-50%);background: var(--blue-d);color: white;padding: 0px 15px;border-radius: 20px;font-size: 0.85rem;font-weight: bold;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);}
.under main .ttl_point{position: relative;display: flex;}
.under main .ttl_point::before{content: 'Point';background: var(--blue-d);color: #fff;font-size: 16px;border-radius: 999px;padding: 10px 10px;margin: 10px 10px 0 0;display: block;width: fit-content;height: 100%;}

.diagram-container {
    display: flex;
    gap: 30px;
    margin-top: 2rem;
    flex-wrap: wrap;
    font-size: 18px;
}

.diagram-box {
    flex: 1;
    min-width: 300px;
    background: white;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--color-border);
}

.diagram-header {
    text-align: center;
    font-weight: bold;
    padding: 10px;
    margin-bottom: 20px;
    border-radius: 6px;
    color: white;
}

.header-bad { background-color: var(--color-diagram-gray); } 
.header-good { background-color: var(--color-primary); }

.flow-vertical {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.node {
    background: white;
    border: 2px solid var(--color-border);
    padding: 10px 15px;
    border-radius: 50px;
    font-weight: bold;
    width: 90%;
    text-align: center;
    position: relative;
    z-index: 2;
}

.node-user { background: #f0f0f0; border-color: #999; }
.node-agent-our { 
    border-color: var(--color-primary); 
    color: var(--color-primary); 
    background: #eef4fa; 
}
.node-market { border-color: var(--color-accent); color: var(--color-accent); font-size: 0.9rem;}
.node-blocked { 
    border-color: #999; 
    color: #999; 
    border-style: dashed; 
    background-color: #f9f9f9;
}

.arrow-down {
    width: 0; height: 0; 
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 10px solid #aaa;
}
.arrow-gold { border-top-color: var(--color-accent); }

.enclosure-area {
    border: 2px dashed var(--color-alert);
    padding: 15px 5px;
    border-radius: 12px;
    background-color: var(--color-alert-bg);
    width: 100%;
    text-align: center;
    position: relative;
}

.enclosure-area::after {
    content: "ブロック"; 
    position: absolute;
    top: 50%; right: -5px;
    transform: translateY(-50%) rotate(10deg);
    background: var(--color-alert);
    color: white;
    padding: 3px 8px;
    font-size: 0.75rem;
    border-radius: 4px;
    z-index: 2;
}

.network-branches {
    display: flex;
    width: 100%;
    justify-content: space-around;
    position: relative;
    padding-top: 10px;
}
.network-branches::before {
    content: ""; position: absolute; top: 0;
    left: 20%; right: 20%; height: 2px;
    background-color: var(--color-accent);
}
.network-branches::after {
    content: ""; position: absolute; top: 0; left: 50%;
    height: 10px; width: 2px;
    background-color: var(--color-accent);
    transform: translateY(-100%);
}

:root {
    /* Brand Colors */
    --color-primary: #004098;       /* Deep Royal Blue: 信頼、専門性 */
    --color-accent: #c5a059;        /* Muted Gold: 品格、価値 */
    --color-text-main: #333333;     /* Dark Grey: 可読性重視 */
    --color-text-light: #666666;    /* Light Grey: 補足情報 */
    --color-bg-body: #f4f8fb;       /* Pale Blue-Grey: 背景 */
    --color-bg-white: #ffffff;      /* Content Background */
    --color-border: #dbe2e8;        /* Subtle Border */
    
    /* Diagram Colors */
    --color-alert: #d9534f;         /* Red: 警告 */
    --color-alert-bg: #fff5f5;      /* Red Background */
    --color-success: #28a745;       /* Green: 肯定 */
    --color-diagram-gray: #8a9ba8;  /* Muted Blue-Grey */

    /* Typography */
    --font-stack: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Helvetica Neue", Arial, sans-serif;
    --line-height-base: 1.8;
    
    /* Radius */
    --radius-md: 12px;
}

.under main .list_people li{display: flex;}
.under main .list_people .avt{width: 70px;height: 70px;border-radius: 50%;background: #fff;border: 2px solid var(--blue-d);display: flex;justify-content: center;align-items: center;position: relative;margin: 0 20px 0 0;flex-shrink: 0;}
.under main .list_people .avt b{position: absolute;bottom: -5px;left: 0;width: 100%;height: auto;text-align: center;font-size: 16px;font-weight: 700;color: var(--blue-d);line-height: 1;text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;}
.under main .list_people .text{line-height: 1.5;display: inline-block;margin: 10px 0 0 0;}
.under main .list_people li:not(:last-child){margin: 0 0 30px 0;}
.under main .list_people .avt img{width: calc((100% - 0px));height: calc((100% - 0px));object-fit: cover;border-radius: 50%;}
.under main .ds01_list{display: flex;justify-content: center;margin-left: -15px;margin-right: -15px;}
.under main .ds01_col{padding: 0 15px;width: calc((100% / 3));}
.under main .ds01_ttl{text-align: center;margin: 0 0 20px 0;}
.under main .ds01_ttl p{background: var(--blue-d);color: #fff;padding: 5px 10px;position: relative;border-radius: 5px;}
.under main .ds01_ttl p::before{content: '';position: absolute;top: calc((100% - 1px));left: calc((100% - 20px)/2);width: 20px;height: 10px;clip-path: polygon(50% 100%, 0 0, 100% 0);background: var(--blue-d);}
.under main .ds01_img{margin: 0 0 20px 0;}
.under main table.td_mid td,
.under main table.td_mid th{vertical-align: middle;}