
/*==========================================================
                        C U S T O M
==========================================================*/
.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 .ovn_content h3,
.under main .ovn_content h4,
.under main .ovn_content h5,
.under main .ovn_content h6{font-weight: bold;margin-bottom: 22px;position: relative}

.under main h2{font-size: 42px;margin-bottom: 0;color: #fff;}

.under main h3,
.under main .ovn_content h3{font-size: 36px;text-align: center;padding-bottom: 7px;}
.under main h3 .en{font-size: 80%; color: var(--mcolor); display: block;}
.under main h3::before,.under main .ovn_content h3::before{content: "";position: absolute; width:86px;height: 4px;background-color: var(--mcolor);left: 0;bottom: 3px;right: 0;margin: 0 auto}


.under main h4,
.under main .ovn_content h4{font-size: 30px;position: relative;border-bottom: 5px solid var(--gray);padding-bottom: 0px;line-height: 1.35em;}
.under main h4::before,.under main .ovn_content h4::before{content: "";position: absolute;width:100px;height: 5px;background-color: var(--mcolor);left: 0;bottom: -5px;}

.under main h5,
.under main .ovn_content h5{font-size: 24px;color: var(--mcolor);}


.under main .stafftext{font-family: "‚Ó‚¢Žš", 'Noto Sans JP', sans-serif;}

.under main h6,
.under main .ovn_content h6{font-size: 18px;position: relative;font-weight: 500;padding-left: 19px;}
.under main h6::before,.under main .ovn_content h6::before{content: "";position: absolute;width:12px;height: 12px;background-color: var(--mcolor);left: 0;top: 7px;border-radius: 50%}


/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content{padding: 0 0 80px}
.under main section{padding:0 0 40px;margin-bottom:0}
.under main section:last-child{padding:0}
.under main .group_h3{padding: 44px 0;position: relative;margin: 40px 0;}
.under main .group_h3::before{top: 50%;left: 50%;min-width: 1260px;background: #f9e7e9;position: absolute;content:"";transform: translate(-50% ,-50%);width: 100vw;height: 100%;z-index: -1;}

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

/*============ TOP INFO ============ */
.under main #top_info{height: 132px;width:100%;max-width:1920px;margin:0 auto;background: var(--mcolor);}
.under main #top_info .inner{display:flex;flex-direction:column;justify-content:center;height:100%;width: calc(100% - 462px);padding-top: 17px;}

/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path{margin-bottom:30px}
.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 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(--mcolor);color:#fff;font-weight:700;font-size: 20px;}
.under main table.mailform th span{color:#fff}
.under main table.mailform td .info{color:var(--mcolor)}

.under main table td{border-color: var(--mcolor);background:#fff;}
.under main table th,
.under main table td{padding:15px;}
.under main table img{display:block;margin:auto;}

.under main table th{border-color: var(--mcolor);border-right-color: #fff;}
.under main table tr th:first-child{border-left-color: var(--mcolor);}
.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: var(--mcolor);border-bottom-color: #fff;}
.under main table.mailform tr:first-child th,
.under main table.tb_block tr:first-child th{border-top-color: var(--mcolor);}  
.under main table.mailform tr:last-child th,
.under main table.tb_block tr:last-child th{border-bottom-color: var(--mcolor);}

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

/* LIST 02 */
.under main .list02,
.under main .ovn_content ol{margin-bottom: 30px;}
.under main .list02 li,
.under main .ovn_content ol li{counter-increment: li; padding-left: 30px;position: relative;margin-bottom: 10px;}
.under main .list02 li::before,
.under main .ovn_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: 4px;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: 5px; 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;border: 3px solid var(--mcolor);margin-bottom: 50px}
.under main .list_faq dt{position: relative;font-size: 20px;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;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;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: auto;position: absolute;bottom: -10px;left: calc(50% - 40px);content: '';aspect-ratio: 8 / 3}
.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: bold;padding: 10px;font-size: 20px;}
.under main .list_step dd{padding: 15px;background: #fff;border: 3px solid var(--mcolor);}

/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01{border:3px solid var(--mcolor);padding:50px 30px;border-radius:10px;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;}

.under main .wp-list{display: flex;justify-content: space-between;}
.under main .tt-ovn{text-align: center;font-weight:bold;margin-bottom: 10px;}
.under main .tt-address{background: #c4152a;padding: 6px 15px;display: block;color: #fff;}
.under main .tt-cate{font-size: 24px}
.under main .tt-price{font-size: 48px;line-height: 1.2em;}
.under main .tt-price .txt-p{font-size: 18px;position: relative;top: -2px;}
.under main .list_img,.under main .list_img_big{flex-wrap: wrap;display: flex;}
.under main .list_img .item{width: calc((100% - 60px) / 3);margin: 0 30px 30px 0}
.under main .list_img_big{justify-content: space-between;margin: 50px 0}
.under main .list_img_big .item{width: calc((100% - 80px) / 2);display: flex;align-items: center;justify-content: center;height: 450px;background: var(--gray);}
.under main .list_img_big .item img{max-height: 100%}
.under main .list_img .item .img{display: flex;align-items: center;justify-content: center;height: 300px;background: var(--gray);margin-bottom: 10px;}
.under main .list_img .item .img img{max-height: 100%}
.under main .list_img .item .desc_img{text-align: center;font-weight: bold}
.under main .ovn_full{text-align: center}
.under main .ovn_full .tt-address{display: inline-block;}

.under main .ovn_content p a {text-decoration: underline;color: var(--blue);}
.under main .ovn_content img {max-height: 500px;}

.under main .btn_list .is_prev a {background:  var(--mcolor);}
.under main .btn_list .is_none a {background: var(--mcolor);}

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

.under .ft_link_banner{border-top: 1px solid var(--gray);}
.under#recommend #content{padding-bottom: 0}

.input_check {
  display: block;
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  font-size: 20px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin: 0 15px;
}

.input_check input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #fff;
}

.input_check:hover input ~ .checkmark {
  background-color: var(--mcolor);
}

.input_check input:checked ~ .checkmark {
}

.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.input_check input:checked ~ .checkmark:after {
  display: block;
}

.input_check .checkmark:after {
  left: 10px;
  top: 4px;
  width: 5px;
  height: 14px;
  border: solid var(--mcolor);
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.content_input_check{display: flex;justify-content: center;padding: 15px;background: #f9cbcb;}
.content_input_check .input_check{font-weight: bold;}
.btn-seach{padding: 4px 0 0 10px;color: #FFF;font-weight: bold;text-align: center;background-color: var(--mcolor);display: flex;justify-content: center;align-items: center;width: 220px;height: 45px;position: relative;border: navajowhite;margin: 30px auto 0 auto;    outline: none;-webkit-appearance: none;-moz-appearance: none;appearance: none;    cursor: pointer;}

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