/*==========================================================
                        C U S T O M
==========================================================*/

.under main .image_l{float:left;margin:0 40px 0 0}
.under main .image_r{float:right;margin:0 0 0 40px}

/* 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 .ovn_content h3,
.under main .ovn_content h4,
.under main .ovn_content h5,
.under main .ovn_content h6{margin-bottom: 38px;font-family: var(--f-ja);letter-spacing: 0.1em;}

.under main h2, .under main .wp_content h2 { font-size: 35px; text-align: center; margin-bottom: 53px; position: relative; padding: 0 0 35px; }
.under main h2:after, .under main .under main .wp_content h2:after {content: '';position: absolute;width: 120px;height: 2px;background: #6E9193;bottom: 0;left: 50%;transform: translateX(-50%);}

.under main h3, .under main .wp_content h3{font-size: 30px; border-bottom: 2px solid #6E9193;margin-bottom: 48px;padding: 0 0 12px;}

.under main h4, .under main .wp_content h4{font-size: 30px;position: relative;padding-left: 16px;letter-spacing: 0.1em;margin-bottom: 40px;}
.under main h4::before,.under main .wp_content h4:before{content: "";position: absolute; width:2px;height: calc(100% - 5px);background-color: #9FAAA5;left: 0;top: 3px;}

.under main h5, .under main .wp_content h5{font-size: 22px; font-weight: 600;letter-spacing: 0.1em;position: relative;padding-left: 18px;}
.under main h5:before, .under main .wp_content h5:before{content: '';position: absolute;width: 8px;height: 8px;background: #A2A2A2;left: 0;top: 12px;}

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

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{padding: 0}
.under main #content .inner {width: 1030px;}
.under main section{padding:0 0 120px;margin-bottom:0}
.under main section:last-child{padding:0}

.under main p {overflow: hidden;}
.under main blockquote p {font-size: 100%}

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

/*============ TOP INFO ============ */
.under main #top_info{height:210px;width:100%; background:#9FAAA5;color: #fff;}
.under main #top_info .inner{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}
.under main .top_info_ttl {font-size: 40px;font-family: var(--f-ja);line-height: 1.5em;letter-spacing: 0.1em;text-align: center;}

/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin:27px 0 107px}
.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{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;}
.under main .list_anchor .btn{margin: 15px 80px 0 0;width: calc((100% - 80px)/2);}
.under main .list_anchor .btn a {width: 100%;min-height: 56px;line-height: 1.3em;height: auto;}
.under main .list_anchor .btn:nth-child(2n){margin-right: 0;}
.under main .list_anchor:last-child{margin-bottom: -15px;}

.under_anchor { background: #F8F8F8; position: relative; padding: 80px 56px 57px; }
.under_anchor_en { margin: 0; position: absolute; font-size: 90px; color: #E2E2E2; font-style: italic; font-weight: 100; mix-blend-mode: multiply; line-height: 1em; left: 56px; top: -46px; }
.under_anchor_list { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: ; grid-column-gap: 40px; grid-row-gap: 0px; }
.under_anchor_list li a {position: relative;text-decoration: underline;text-underline-offset: 2px;padding-left: 24px;display: inline-block;}
.under_anchor_list li a:before {content: '';position: absolute;width: 14px;height: 2px;background: #6E9193;left: 0;top: 10px;}
.under_anchor_list li {line-height: 1.5em;margin: 0 0 11px;}

/*==========================================================
                        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; border-spacing: 5px; width: calc(100% + 10px); position: relative; left: -5px; }
.under main table.mailform th,
.under main table th{background:#6E9193;color:#fff; font-size: 18px;font-family: var(--f-ja);letter-spacing: 0.05em;line-height: 1.8em;text-align: left;}
.under main table.mailform td .info{color:var(--mcolor)}
.under main table th.center, .under main table.center th, .under main table.th_center th {text-align: center;}

.under main table th,
.under main table td{padding:14px 20px;border: none;}
.under main table td {background: rgb(248 248 248 / 90%);}
.under main table img{display:block;margin:auto;}

/*============ LIST ============ */
/* LIST 01 */
.under main .list01,
.under main .wp_content ul{margin-bottom: 30px;}
.under main .list01 li,
.under main .wp_content ul li{display:block;padding-left:16px;margin-bottom:16px;position:relative;line-height: 1.5em;}
.under main .list01 li::before,
.under main .wp_content ul li::before{background:#6E9193;width:6px;height:6px;position:absolute;top:7px;left:0;content:''}

/* LIST 02 */
.under main .list02, .under main .wp_content ol{margin-bottom: 30px;}
.under main .list02 li, .under main .wp_content ol li{counter-increment: li; padding-left: 30px;position: relative;margin-bottom: 10px;}
.under main .list02 li::before, .under main .wp_content ol li:before{ content: counter(li);position: absolute;width: 22px;height: 22px;display: flex;justify-content: center;align-items: center;border-radius: 50%;left: 0; top: 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: 3px; 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 {counter-reset: itm_step;}
.under main .list_step dl { margin-bottom: 92px; position: relative; background: #9FAAA5; padding: 56px 40px; color: #fff;counter-increment: itm_step; }
.under main .list_step dl:before { counter-increment: li; content: 'Step ' counter(itm_step, decimal-leading-zero); position: absolute; font-size: 70px; font-family: var(--f-en); font-weight: 200; color: #9FAAA5; font-style: italic; mix-blend-mode: multiply; line-height: 1em; top: -34px; letter-spacing: 0.05em; }
.under main .list_step dl:last-child{margin-bottom: 0}
.under main .list_step dt { font-size: 25px; font-family: var(--f-ja); line-height: 1.6em; margin: 16px 0 37px;display: inline-block;max-width: calc(100% - 350px);}
.under main .list_step dd{}
.under main .list_step dl:not(:last-child) dd:after {content: '';position: absolute;background: url("../images/under_dot.png") repeat-y top center/100% auto;width: 2px;height: 92px;top: 100%;left: calc(50% - 1px);z-index: -2;pointer-events: none;}

/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{background: #F8F8F8;padding: 47px 50px 48px 80px;margin-bottom: 30px;overflow: hidden;}

/* FRAME 02 */
.under main .frame02{border: 1px solid #e6e6e6;padding: 25px; margin-bottom: 50px;}

/* FRAME PICKUP */
.under main .frame_pick{position: relative;margin-bottom: 71px;padding: 119px 0 65px;}
.under main .frame_pick:after{content: '';position: absolute;width: calc(100vw - 170px);min-width: 1400px;height: calc(100% - 29px);background: #B3BAB7;z-index: -3;pointer-events: none;top: 100px;left: calc(50% - 790px);}
.under main .frame_pick:before{content: '';position: absolute;width: calc(100vw - 170px);min-width: 1400px;height: 100%;background: url("../images/under_pick_bg.jpg") top center/cover;z-index: -2;pointer-events: none;top: 0;right: calc(50% - 790px);}
.under main .frame_pick_main{position: relative;background: #fff;padding: 89px 73px 64px;}
.under main .frame_pick .pick_ttl { font-size: 25px; text-align: center; padding: 0; border: none; margin: 0 0 52px; }
.pick_ttl_en { margin: 0; position: absolute; font-size: 100px; color: #9FAAA5; font-weight: 200; width: 100%; left: 0; text-align: center; line-height: 1em; top: -55px; font-style: italic; }
.under main .frame_pick .pick_ttl:after {display: none;}

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

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

.under main .btn_list .is_prev a {background-image: url("../images/ic_prev.svg");text-align: right;justify-content: flex-end;background-position: left 24px center;}
.under main .btn_list .is_none a {background-color: var(--scolor);justify-content: center;color: #fff;background-image: 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;}

.under_boxh2 {max-width: 850px;margin: 0 auto;}

.under_doctor {position: relative;padding: 92px 0;}
.under_doctor:after {content: '';position: absolute;width: 100vw;min-width: 1400px;height: 100%;top: 0;background: #F8F8F8;z-index: -3;pointer-events: none;right: calc(50% - 600px);}
.under main .under_doctor_ttl { font-size: 25px; font-family: var(--f-ja); color: #000000; line-height: 1.97em;letter-spacing: 0.15em;border: none;padding: 0;margin-bottom: 51px; }
.under_doctor_ttl .small {font-size: 96%;}
.under_doctor_ttl .lager { margin: 0 11px 0 2px; font-size: 120%; letter-spacing: 0.15em; }
.under_doctor_main { width: 560px; position: relative; }
.under_doctor_img { margin: 0; position: absolute; width: calc(100vw / 2.34); max-width: 820px; top: 8px; left: calc(100% + 80px);min-width: 490px;}
.under_doctor_info dt { font-size: 24px; letter-spacing: 0.15em; font-family: var(--f-ja);display: flex;align-items: center;margin: 0 0 8px;}
.under_doctor_info dt:after {content: '';position: relative;display: inline-block;flex: 1;height: 1px;background: #C8C8C8;margin-left: 24px;}
.under_doctor_info dd p {line-height: 2.5em;margin: 0;}
.under main .under_doctor_info ul li {line-height: 2.5em;position: relative;padding-left: 17px;margin: 0;}
.under main .under_doctor_info ul li:before {content: '';position: absolute;width: 6px;height: 6px;background: #6E9193;left: 0;top: 16px;}
.under_doctor_info dl:not(:last-child) { margin: 0 0 41px; }
.under_doctor_info dl:nth-child(2) {width: 480px;}
.under_doctor_en { margin: 0; position: absolute; color: #EFEFEF; mix-blend-mode: multiply; font-weight: 100; font-style: italic; line-height: 1em; left: calc(50% + 100px); font-size: clamp(80px, calc(100vw / 14.76), 130px); bottom: -29px; white-space: nowrap;}

.under_col { display: flex; flex-wrap: wrap; justify-content: space-between; }
.under_col_item { width: calc((100% - 80px) / 2); }
.under main .under_col_item_ttl {font-size: 24px;border: none;position: relative;padding: 0 0 0 17px;margin: 0 0 16px;}
.under main .under_col_item_ttl:before {content: '';position: absolute;width: 6px;height: 6px;background: #9FA5A2;left: 0;top: 13px;}
.under_col_item_img { margin: 0 0 30px; }
.under main .under_col_item_ttl .small {font-size: 75%;}

.under_bnr { display: flex; flex-wrap: wrap; justify-content: center;gap: 50px; }
.under_bnr li { width: calc((100% - 50px) / 2);font-size: 24px;font-family: var(--f-ja);line-height: 1.8em;}
.under_bnr li a {display: flex;align-items: center;color: #fff;background: url("../images/ic_arr_bnr.svg") no-repeat right 32px center var(--scolor);height: 150px;padding: 20px 70px 20px 32px;}
.under_bnr li .lager {font-size: 133.34%;letter-spacing: 0.05em;}
.under_bnr li .small {display: block;font-size: 66.67%;letter-spacing: 0.05em;margin: -8px 0 -2px;}
.under_bnr li .mid {display: block;font-size: 91.67%;letter-spacing: 0.05em;margin: 0 0 -5px;}
.under_bnr li.under_bnr_web a {background-color: var(--mcolor);}

.under_col_img { display: flex; flex-wrap: wrap; gap: 20px; }
.under_col_img li { width: calc((100% - 40px) / 3); text-align: center;}
.under_col_img li span {display: block;margin-top: 10px;}
.under_col_img img { display: block; margin: 0 0 7px; }

.form_tbl input[type="text"], .form_tbl input[type="email"] {width: 100%;border: 1px solid var(--gray);line-height: 1.5em;padding: 5px;}
.form_tbl textarea {width: 100%!important;border: 1px solid var(--gray);line-height: 1.5em;padding: 5px;height: 100px;}
.form_tbl .must { float: right; background: var(--red); font-size: 80%; line-height: 1.5em; padding: 2px 5px 0; margin-top: 4px; }

.form_btn {display: flex;justify-content: center;flex-wrap: wrap;position: relative;}
.form_btn_item {margin: 5px;}
.form_btn_item input {width: 250px; height: 56px; display: flex; align-items: center; background: url('../images/ic_arr.svg') no-repeat right 15px center /22px; text-decoration: none;padding: 13px 24px 10px;border: 1px solid #9CA29F;cursor: pointer;transition: all .3s;}
.form_btn_item input.back {background-image: url("../images/ic_prev.svg");background-position: left 15px center;}
.form_btn .wpcf7-spinner {position: absolute;left: 50%;transform: translateX(-50%);margin: 5px 0 0;}
.under main .wpcf7 form .wpcf7-response-output {font-size: 14px;}

.under main .list_anchor.list_cate .btn {width: calc((100% - 80px)/3);margin:0;}
.under main .list_anchor.list_cate .btn:nth-child(3n) {margin-right: 0;}
.under main .list_anchor.list_cate {margin-bottom: 50px;gap:40px;}
.blog_list { display: flex; flex-wrap: wrap;gap: 30px; }
.blog_item { width: calc((100% - 60px) / 3); position: relative; transition: all 0.3s; border: 1px solid var(--green-dark); padding: 15px;font-family: var(--f-ja); }
.blog_item a {position: absolute;width: 100%;height: 100%;top: 0;}
.blog_item:nth-child(3n) {margin-right: 0;}
.blog_item_info { display: flex; justify-content: space-between; margin: 0 0 10px; }
.blog_item_info .cate { background: var(--mcolor); color: #fff; width: 90px; text-align: center;padding: 2px 0 0; }
.blog_item_ttl { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 10px; font-weight: 600; }
.blog_item_btn {background: url("../images/ic_arr_white.svg") no-repeat right 15px center var(--gray);color: #fff;padding: 8px 30px 6px; text-align: center;}
.blog_item_img { background: #e6e6e6; height: 180px; display: flex; justify-content: center; align-items: center; overflow: hidden; margin: 0 0 15px; }
.blog_item_img img {max-height: 100%;}
.under main .list_anchor .btn.active a{background-color: #9CA29F;pointer-events: none;color: #fff;background-image: url("../images/ic_arr_white.svg");}
.blog_name_ttl {display: block;margin-top: 10px;font-family: var(--f-ja);}

.blog_list_img { display: flex; justify-content: center; gap: 50px; margin: 0 0 30px; }
.blog_list_img li {text-align: center;width: 100%;}
.blog_list_img .cap {margin-top: 10px;display: block;}
.blog_list_img li .img { background: #f0f0f0; height: 300px; display: flex; justify-content: center; align-items: center; }
.blog_list_img li .img img {flex-shrink: 0;max-height: 100%;}
.blog_list_baf { display: flex; justify-content: center; gap: 50px; margin: 0 0 30px; }
.blog_list_baf dl { width: 100%; }
.blog_list_baf dt {background: #9FAAA5;font-family: var(--f-ja);color: #fff;text-align: center;padding: 10px;}
.blog_list_baf dl:nth-child(2) dt {background: #838E89;}
.blog_list_baf dd { position: relative; height: 300px; display: flex; justify-content: center; align-items: center; background: #f0f0f0; }
.blog_list_baf dd img {flex-shrink: 0;max-height: 100%;}
.blog_list_baf dl:not(:last-child) dd:after {position: absolute;width: 30px;height: 50px;background: var(--gray);left: calc(100% + 10px);top: calc(50% - 25px);clip-path: polygon(0 0, 0% 100%, 100% 50%);content: '';}

.blog_item_img.blog_img_twentytwenty { height: 180px !important; padding: 0;}
.blog_item_img.blog_img_twentytwenty img {height: 100%;width: 100%;object-fit: cover;top: 0;}
.blog_item_img.blog_img_twentytwenty .twentytwenty-overlay{display: none;}

.under main .wp_content .alignleft {float: left;margin: 0 40px 20px 0;max-width: 400px;}
.under main .wp_content .alignright {float: right;margin: 0 0 20px 40px;max-width: 400px;}
.under main .wp_content .aligncenter {display: block;margin: 0 auto 20px;}

#blog .twentytwenty-handle { margin-top: -19px; }

.under main .btn a {text-align: left;line-height: 1.5em;min-height: 56px;height: auto;}

/* 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 {margin-bottom: 0}