/*==========================================================
                        C U S T O M
==========================================================*/
.under #wrapper {overflow: hidden;}
.under main .image_l{float:left;margin:0 50px 0 0}
.under main .image_r{float:right;margin:0 0 0 50px}

/* 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 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;font-family: var(--f-ttl);}

.under main h2{font-size: 38px; text-align: center;margin-bottom: 0;}

.under main h3,
.under main .wp_content h3{font-size: 30px; text-align: center;}
.under main h3 .en{font-size: 60%; display: block;text-transform: uppercase;}

.under main h4,
.under main .wp_content h4{font-size: 26px;position: relative;border-bottom: 1px solid #B7A495;padding: 0 0 5px;}

.under main h5,
.under main .wp_content h5{font-size: 24px;background: var(--scolor);color: #fff;border-radius: 40px;padding: 10px 20px;}

.under main h6,
.under main .wp_content h6{font-size: 20px;position: relative;}

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{padding: 0 0 200px}
.under main #content >.inner{width: 1490px;}
.under main .under_main{background: #fff;padding: 50px;border-radius: 20px;}
.under main section{padding:0 0 80px;margin-bottom:0}
.under main section:last-child{padding:0}

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

/*============ TOP INFO ============ */
.under main #top_info{height:400px;width:100%; margin:0 auto;background:url("../images/mv_bg.jpg");padding-top: 90px;}
.under main #top_info .inner{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;z-index: 2;}
.under main #top_info .inner:before,.under main #top_info .inner:after {content: '';position: absolute;pointer-events: none;z-index: -1;background: url(../images/sec05_bg1.svg) no-repeat center center / 100% auto; width: 450px; height: 137px;mix-blend-mode: multiply;}
.under main #top_info .inner:before {  top: 40px; right: calc(50% + 300px); }
.under main #top_info .inner:after {width: 300px; height: 91px; bottom: 20px; left: calc(50% + 300px); }

/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin-bottom:30px}
.under main #topic_path .inner {width: 1490px;}
.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(--txt);text-underline-offset: 3px;}


/*============ LIST ANCHOR LINK ============ */
.under main .list_anchor{display: flex; align-items: center; flex-wrap: wrap; justify-content: center;width:100%;margin-bottom: 30px;gap: 10px;}
.under main .list_anchor .btn{margin: 0}


/*==========================================================
                        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;}
.under main table.mailform th,
.under main table th{background:var(--scolor);color:#fff;font-weight:700;font-size: 21px;}
.under main table .tb_bg1 {background: #f2f0ed;color: var(--txt);}
.under main table .tb_bg2 {background: var(--txt);color: #fff;}
.under main table tr:not(:last-child) .tb_bg2 {border-bottom-color: #fff;}

.under main table td{background:#fff;color: var(--txt);font-size: 19px;}
.under main table th,
.under main table td{padding:15px;border: 1px solid var(--txt);}
.under main table img{display:block;margin:auto;}
.under main .tb_scroll:not(:last-child) {margin-bottom: 30px;}


/*============ 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:20px;margin-bottom:5px;position:relative;font-size: 19px;}
.under main .list01 li::before,
.under main .wp_content ul li::before{background:var(--txt);width:8px;height:8px;position:absolute;top:15px;left:0;content:'';border-radius: 50%;}

/* LIST 02 */
.under main .list02{margin-bottom: 30px;}
.under main .list02 li{counter-increment: li; padding-left: 30px;position: relative;margin-bottom: 10px;font-size: 19px;}
.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: 7px; background-color: var(--txt);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;font-size: 19px;}
.under main .list_check li::before{content: ''; display: block; position: absolute; top: 10px; left: 5px; width: 7px; height: 15px; border: solid var(--txt); border-width: 0 2px 2px 0; transform: rotate(45deg);}

.under main .list_column { display: flex; text-align: center; gap: 40px; justify-content: center;}
.under main .list_column li .ttl::before { position: relative; top: 0; left: 0; display: inline-block; margin-right: 15px;width: 7px; height: 15px; border: solid var(--txt); border-width: 0 2px 2px 0; transform: rotate(45deg); content: '';}
.under main .list_column li {flex: 1;font-size: 19px;}
.under main .list_column li .img {display: block;text-align: center;margin: 0 auto 10px;max-width: 200px;position: relative;}
.under main .list_column li img {border-radius: 50%;}

.under main .frame03 .list_column li .ttl::before {border-color: #fff;}

.under main .list_column.list_colum_count {counter-reset: item_count;}
.under main .list_column.list_colum_count li {counter-increment: item_count;}
.under main .list_column.list_colum_count li .img:before { counter-increment: li; content: counter(item_count, decimal-leading-zero); }
.under main .list_column.list_colum_count li .img:before { counter-increment: li; content: counter(item_count, decimal-leading-zero); position: absolute; width: 50px; height: 50px; background: var(--scolor); color: #fff; border-radius: 50%; left: 0; top: 0; font-family: var(--f-ttl); font-size: 26px; display: flex; justify-content: center; align-items: center; }

/* 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 { display: flex; gap: 30px; padding-top: 20px;}
.under main .list_step:not(:last-child) {margin-bottom: 30px;}
.under main .step_item { border: 1px solid #ccc; padding: 1px 30px 30px; border-radius: 10px; flex: 1;background: #fff;color: var(--txt);}
.under main .step_item_num { text-align: center; font-family: var(--f-ttl); text-transform: uppercase; font-weight: 700; margin: -17px 0 15px; display: flex;flex-direction: column;align-items: center;position: relative;padding: 0 0 15px;}
.under main .step_item_num:after {content: '';position: absolute;width: 10px;height: 10px;background: var(--gray);border-radius: 50%;bottom: 0;left: calc(50% - 5px);}
.under main .step_item:not(:last-child) .step_item_num:before {content: '';position: absolute;width: calc(100% + 87px);height: 2px;background: var(--gray);left: 50%;bottom: 4px;}
.under main .step_item_num .num { display: inline-block; font-size: 200%; background: #fff; padding: 0 10px;}
.under main .step_item_ttl { text-align: center; font-family: var(--f-ttl); font-size: 23px; line-height: 1.5em; margin: 0 0 15px; font-weight: 700; }
.under main .step_item_icon {text-align: center;margin: 0 0 10px;}

.under main .frame02 .step_item_num .num { background: transparent; color: var(--brown); }
/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{border:2px solid var(--txt);padding:40px; border-radius:10px;margin-bottom: 30px;}
.under main .frame02{background: var(--txt);border-radius: 20px;padding: 40px;color: #fff;}
.under main .frame03 { background: var(--scolor); padding: 40px 60px; border-radius: 20px; color: #fff; }
/* FRAME PICKUP */
.under main .frame_pick{padding: 50px 80px; margin-bottom: 50px;position: relative;background: url("../images/frame_ic1.svg") no-repeat top left/200px auto, url("../images/frame_ic2.svg") no-repeat top right/200px auto, url("../images/frame_ic3.svg") no-repeat bottom left/200px auto, url("../images/frame_ic4.svg") no-repeat bottom right/200px auto  rgb(164 139 119 / 10%);text-align: center;}
.under main .frame_pick .pick_ttl{text-align: center;border: none;padding: 0;}

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

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


/* TALKSHOW */
.under main .talk_show{}
.under main .talk_show dl{display: flex;gap: 30px;align-items: center;}
.under main .talk_show dl:not(:last-child){margin-bottom: 20px;}
.under main .talk_show dt{display: flex;justify-content: center;flex-direction: column;align-items: center;flex-shrink: 0;margin-right: 30px;}
.under main .talk_show dt p{margin-bottom: 0;}
.under main .talk_show dt .img{width: 140px;background: #f8dcb9;border-radius: 50%;border:2px solid var(--txt);padding: 12px 6px 0px;overflow: hidden;}
.under main .talk_show dt .name{text-align: center;margin-top: 15px;line-height: 1.5em;font-family: var(--f-ttl);}
.under main .talk_show dt .name span{font-size: 125%;}

.under main .talk_show dl.bg1 dt .img {background: #f5e4d2;}

.under main .talk_show dd{display: flex;flex-direction: column;}
.under main .talk_show dd p{background: #ededed;border:2px solid #ededed;padding: 15px;border-radius: 20px;position: relative;flex-grow: 1;position: relative;margin-bottom: 10px;}
.under main .talk_show dd p:last-child{margin-bottom: 0;}
.under main .talk_show dd p::before{width: 0;height: 0;border-style: solid;border-width: 15px 30px 15px 0px;border-color: transparent #ededed transparent transparent;content: '';position: absolute;top: calc(50% - 15px);left: -30px;}

.under main .talk_show dl.talk_r{flex-direction: row-reverse;margin-top: 50px;gap: 30px;}
.under main .talk_show dl.talk_r dt{margin: 0 0 0 30px;}
.under main .talk_show dl.talk_r dd p::before{width: 0;height: 0;border-style: solid;border-width: 15px 0px 15px 30px;border-color: transparent transparent transparent #ededed;left: inherit;right: -30px;}

.under main .talk_show dl.bg1 dd p{background: #f9eada;border-color: var(--scolor)}
.under main .talk_show dl.bg1 dd p::before{border-color: transparent transparent transparent #f9eada;z-index: 1;}
.under main .talk_show dl.bg1 dd p::after{width: 0;height: 0;border-style: solid; border-width: 17px 0px 17px 34px;border-color: transparent transparent transparent var(--scolor);position: absolute;top: calc(50% - 17px);right: -34px;content: '';z-index: 0}

.box_h3 { background: #fff; border-radius: 20px; padding: 50px 30px 70px; }

/* TOC CONTENT */
.under main .toc_content{margin:0 auto;width: 1000px;max-width: 100%;background: #f7e6d2;padding: 30px;position: relative;}
.under main .toc_content::before{background: url('../images/toc_icon.png') center /cover;width: 120px;height: 220px;content: '';position: absolute;bottom: 10px;right: 20px;}
.under main .toc_content .list02 li a{color: var(--txt);padding-left: 30px;position: relative;left: -30px;}
.under main .toc_ttl{text-align: center;font-size: 28px;font-weight: bold;color: var(--txt); margin-bottom: 10px;font-family: var(--f-ttl);}

.under main .list_toc{padding-right: 100px;}
.under main .list_toc> li{position: relative;counter-increment: li;padding-left: 60px;margin-bottom: 20px;font-size: 20px;}
.under main .list_toc li:last-child{margin-bottom: 0;}
.under main .list_toc li a{position: relative;z-index: 2;}
.under main .list_toc > li::before{font-size: 24px;line-height: 1;border-radius: 50%;padding: 0;content: counter(li, decimal-leading-zero);width: 40px;height: 40px;position: absolute;top: -2px;left: 0;background: var(--scolor);display: flex;align-items: center;justify-content: center;text-align: center;color: #fff;}
.under main .list_toc > li::after{content: '';position: absolute;top: 11px;left: 30px;width: 10px;height: 40px;border-left: 2px solid var(--txt);rotate: 45deg;background-color: #f9eadb;}

.under main .list_toc ul li:not(:last-child) { margin: 0 0 15px; }
.under main .list_toc ul { padding-top: 15px;margin-left: 25px; }

.under main .under_row_item:not(:last-child) {margin-bottom: 30px;}
.under main .under_row_item {background: #f2f0ed;padding: 40px;border-radius: 20px;counter-increment: item;}
.under main .under_row {counter-reset: item;}
.under main .under_row_item_ttl:before { counter-increment: div; content: counter(item, decimal-leading-zero);width: 40px;height: 40px;flex-shrink: 0;background: var(--scolor);border-radius: 5px;display: flex;justify-content: center;align-items: center;text-align: center;color: #fff;position: relative;top: -4px;}
.under main .under_row_item_ttl {display: flex;font-family: var(--f-ttl);font-size: 20px;font-weight: 700;line-height: 1.5em;gap: 15px;margin: 0 0 15px;}

.under main .under_col { display: flex; gap: 30px; counter-reset: item_col;}
.under main .under_col_item { flex: 1; background: #f0f0f0; padding: 40px 30px 30px; border-radius: 10px; counter-increment: item_col; position: relative; margin-top: 25px; }
.under main .under_col_item_ttl { text-align: center; font-weight: 700; font-family: var(--f-ttl); font-size: 22px; line-height: 1.5em; margin: 0 0 15px; }
.under main .under_col_item:before { counter-increment: div; content: counter(item_col, decimal-leading-zero); width: 50px; height: 50px; background: var(--txt); display: flex; justify-content: center; align-items: center; text-align: center; color: #fff; border-radius: 50%; margin: 0 auto 10px; font-family: var(--f-ttl); font-size: 24px; position: absolute; top: -25px; left: calc(50% - 25px); }

.under main h4 .img { top: -3px; position: relative; }
.under main h4 .note { background: url(../images/under_h4_ic.svg) no-repeat left center / 100% auto; color: #fff; text-align: center; margin-right: 10px; display: inline-block; width: 140px; font-size: 55%; padding: 8px; position: relative; top: -4px; font-weight: 500; }


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