/*==========================================================
                        C U S T O M
==========================================================*/
.under main {
  margin-top: 100px;
}
.under main .image_l {
  float: left;
  margin: 0 30px 0 0
}
.under main .image_r {
  float: right;
  margin: 0 0 0 30px
}
/* 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 .mb80 {
  margin-bottom: 80px
}
.under main .mb100 {
  margin-bottom: 100px
}
/* 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
}
/* 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 {
  margin-bottom: 30px;
}
.under main h2 {
  font-size: 45px;
  text-align: center;
  margin-bottom: 0;
  color: #fff
}
.under main h3 {
  font-size: 32px;
  text-align: center;
  line-height: 1.68;
  color: var(--mcolor);
  margin-bottom: 20px;
}
.under main h4 {
  font-size: 30px;
  position: relative;
  padding: 3px 5px 3px 20px;
  background: #aae1fa;
  color: var(--mcolor);
  border-left: 10px var(--mcolor) solid;
  line-height: 1.63;
}
.under main h5 {
  font-size: 24px;
  color: var(--txt);
  background: url("../images/bg_h5.png") repeat-x left bottom;
  padding-bottom: 18px;
  position: relative;
  padding-left: 35px;
}
.under main h5::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  background: var(--mcolor);
  border-radius: 50%;
  left: 0;
  top: 8px;
}
.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 .flex_box_it h6 {
  margin-bottom: 20px;
}
/*==========================================================
                        FONT FAMILY
==========================================================*/
.under main .lato {
  font-family: var(--Lato);
}
.under main .color {
  color: var(--mcolor);
}
.under main p, .under main ul, .under main li, .under main dl, .under main dt, .under main dd {
  line-height: 2.22em
}
/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content {
  padding: 0 0 120px
}
#basic.under main #content {
  padding: 0
}
.under main section {
  padding: 0 0 110px;
  margin-bottom: 0
}
.under main section:last-child {
  padding: 0
}
.under main .box_content_main {
  border-bottom: 4px var(--mcolor) solid;
  margin-bottom: 100px;
  color: #000;
}
.under main .box_content_main p {
  color: #000;
  font-size: 20px;
  line-height: 2.45;
}
.under main .box_content_main .inner {
  width: 960px
}
.under main .box_content_main section {
  margin-bottom: 118px;
}
/* LINK + BUTTON TOP */
.under main a {
  color: var(--mcolor);
}
.under main .link {
  text-decoration: underline;
}
.under main .btn a {
  color: var(--txt);
}
/*============ TOP INFO ============ */
.under main #top_info {
  height: 290px;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  background: var(--mcolor);
  position: relative
}
.under main #top_info::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 100px 0 100px;
  border-color: var(--mcolor) transparent transparent transparent;
  left: 0;
  right: 0;
  bottom: -50px;
  margin: 0 auto;
}
.under main #top_info .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%
}
/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path {
  margin-bottom: 10px;
  color: var(--mcolor);
  padding-top: 100px;
}
.under main #topic_path ul {
  display: flex;
  padding: 10px 0;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 21px;
  text-align: center;
  align-items: center;
}
.under main #topic_path li {
  display: inline;
  position: relative;
  font-size: 14px;
}
.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;
}
.under main .btn_anchor, .under main .btn_anchor:last-child {
  margin-bottom: 60px;
}
.under main .btn_anchor.mb0{margin-bottom: 0;}
.under main .btn_anchor a {
  width: 320px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--scolor);
  font-size: 20px;
  color: #000;
  text-decoration: none;
  font-weight: 500;
  border-bottom: 5px var(--mcolor) solid;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  text-align: center;
  line-height: 1.3em;
  padding-top: 3px;
}
.under main .btn_anchor.center a {
  margin-left: auto;
  margin-right: auto;
}
/*==========================================================
                        T A B L E
==========================================================*/
.under main table {
  margin-bottom: 30px;
}
.under main table.mailform th, .under main table th {
  background: var(--mcolor);
  color: #fff;
  font-weight: 700;
  line-height: 1.75em;
}
.under main table.mailform th span {
  color: #fff
}
.under main table.mailform td .info {
  color: var(--mcolor)
}
.under main table td {
  background: #fff;
}
.under main table th, .under main table td {
  padding: 15px;
  border-color: var(--blue_light);
}
.under main table.td_top td {
  vertical-align: top
}
.under main table.tb_fix {
  table-layout: fixed;
}
.under main table img {
  display: block;
  margin: auto;
}
/*============ LIST ============ */
/* LIST 01 */
.under main .list01 {
  margin-bottom: 30px;
}
.under main .list01 li {
  display: block;
  padding-left: 30px;
  margin-bottom: 5px;
  position: relative
}
.under main .list01 li::before {
  width: 20px;
  height: 20px;
  background: url('../images/ic_check1.png') center /cover no-repeat;
  position: absolute;
  top: 10px;
  left: 0;
  content: '';
}
.under main .list01 li:nth-child(2n)::before {
  background: url('../images/ic_check2.png') center /cover no-repeat;
}
/* 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: 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;
  margin-bottom: 50px;
  padding: 15px;
  box-shadow: 0 2px 8px rgba(0, 90, 180, 0.3)
}
.under main .list_faq dt {
  position: relative;
  display: flex;
  color: var(--mcolor);
  font-weight: 700;
  padding-bottom: 15px;
  border-bottom: 2px solid var(--mcolor);
  margin-bottom: 10px;
}
.under main .list_faq dd {
  position: relative;
  display: flex;
}
.under main .list_faq dt .icon, .under main .list_faq dd .icon {
  width: 50px;
  height: 50px;
  background: url('../images/ic_q.png') center /cover no-repeat;
  display: inline-block;
  flex-shrink: 0;
  margin-right: 20px;
}
.under main .list_faq dd .icon {
  background: url('../images/ic_a.png') center /cover no-repeat;
  position: relative;
  top: 10px;
}
/* LIST STEP */
.under main .list_step {
  margin-bottom: 30px;
}
.under main .list_step dl {
  margin-bottom: 50px;
  position: relative;
}
.under main .list_step dl:not(:last-child)::before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 30px 0 30px;
  border-color: #0082c8 transparent transparent transparent;
  content: '';
  position: absolute;
  bottom: -30px;
  left: calc(50% - 30px);
}
.under main .list_step dt {
  background: #0082c8;
  color: #fff;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.65em;
  padding-left: 16px;
}
.under main .list_step dt span {
  font-size: 30px;
  border-right: 2px solid #fff;
  width: 53px;
  flex-shrink: 0;
  flex-shrink: 0;
  padding-right: 17px;
  margin-right: 20px;
  display: inline-block;
  line-height: 1.65em;
}
.under main .list_step dd {
  padding: 10px 25px 15px;
  background: #fff;
  border: 6px solid #0082c8;
  border-top: none;
  line-height: 2em;
}
/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01 {
  border: 3px solid var(--mcolor);
  padding: 40px;
  margin-bottom: 30px;
  position: relative;
}
.under main .frame01::before {
  pointer-events: none;
  width: calc(100% - 22px);
  height: calc(100% - 22px);
  border: 1px solid var(--mcolor);
  content: '';
  top: 10px;
  left: 10px;
  position: absolute;
}
/* FRAME 02 */
.under main .frame02 {
  border: 1px solid #e6e6e6;
  padding: 25px;
  margin-bottom: 50px;
}
/* FRAME PICKUP */
.under main .frame_pick {
  background: var(--scolor);
  margin: 120px 0 118px;
  padding: 120px 0;
}
.under main .frame_pick_ct {
  background: #fff;
  position: relative;
  z-index: 0;
  padding: 40px;
}
.under main .frame_pick_ct::before {
  background: url('../images/ic_pick.png') center /cover no-repeat;
  width: 234px;
  height: 270px;
  content: '';
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: -1;
}
.under main .frame_pick_ct .lato {
  color: var(--mcolor);
  font-weight: 900;
  font-size: 80px;
  line-height: 1em;
  position: absolute;
  top: -70px;
  left: -5px;
  letter-spacing: -0.05em;
  margin-bottom: 0;
}
.under main .frame_pick_ct .title {
  font-size: 28px;
  line-height: 1.75em;
  border-left: 10px solid var(--mcolor);
  border-bottom: 3px solid #003264;
  padding: 5px 20px;
  margin-bottom: 28px;
}
/* FLEX BOX */
.under.ovn_page main .flex_box {
  margin-bottom: 0px;
}
.under main .flex_box_it.box_ovn {
  padding: 0px;
  width: 340px;
  margin-right: 30px;
  background: #dcf0ff;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
}
.under main .ovn_info {
  padding: 0 20px 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.under main .flex_box {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.under main .flex_box_it {
  width: 320px;
  margin-right: 60px;
  background: #dcf0ff;
  padding: 15px 25px 22px;
  margin-bottom: 30px;
}
.under main .flex_box_2col .flex_box_it {
  width: 510px;
}
.under main .ovn_txt {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 56px;
  margin-bottom: 15px;
}
.under main .flex_box_it .center {
  margin-bottom: 20px;
}
.under main .flex_box_it .ovn-img {
  width: 100%;
  height: 200px;
  margin-bottom: 0px;
}
.under main .ovn_date {
  width: 112px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  background: var(--scolor);
  font-size: 14px;
  margin-bottom: 15px;
  padding-top: 2px;
}
.under main .ovn-btn {
  margin-top: auto;
}
.under main .ovn-btn a {
  width: 100%;
  height: 48px;
  text-decoration: none;
  color: var(--mcolor);
  text-align: center;
  border: 1px var(--mcolor) solid;
  margin: 0 auto;
  transition: all 0.3s linear;
  position: relative;
  z-index: 1;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.ovn_txt p {
  font-size: 14px;
}
.under main .flex_box_it .ovn-img a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.under main .flex_box_it .ovn-img a img {
  width: auto;
  height: 100%;
  object-fit: cover;
}
.under main .flex_box_it .big {
  font-size: 24px;
  line-height: 1.5em;
  margin-bottom: 7px;
}
.under main .flex_box_it .big a {
  color: var(--txt);
}
.under main .flex_2col .flex_box_it {
  width: 510px;
}
.ovn_page #content, .ovn_page_detail #content {
  word-break: break-all;
}
/* LIST LINK FOOTER */
.under main .list_link_ct {}
.under main .list_link_ct .en {
  font-size: 62px;
  font-weight: 500;
  color: var(--mcolor);
  text-align: center;
  line-height: 1em;
  margin-bottom: 13px;
}
.under main .list_link_ct .big {
  text-align: center;
  font-size: 28px;
  margin-bottom: 30px;
}
.under main .list_link_ct .list_bnn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: -40px;
}
.under main .list_link_ct .list_bnn li {
  width: 420px;
  height: 84px;
  margin: 0 80px 40px 0;
}
.under main .list_link_ct .list_bnn li a {
  color: #fff;
  background: var(--mcolor);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  line-height: 1.5em;
}
.under main .list_link_ct .list_bnn li a::before {
  border: 1px solid #fff;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  content: '';
  position: absolute;
  top: 10px;
  left: 10px;
  pointer-events: none;
  transition: all ease 0.3s;
}
.under main .list_link_ct .list_bnn li a::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 40px;
  border-color: transparent transparent var(--scolor) transparent;
  position: absolute;
  bottom: 0;
  right: 0;
  content: '';
  pointer-events: none;
  transition: all ease 0.3s;
}
.under main .bnn_tel {
  width: 500px;
  height: 160px;
  background: var(--blue);
  color: #fff;
  margin: 0 auto;
  max-width: 100%;
}
.under main .bnn_tel a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  width: 100%;
  height: 100%;
  flex-direction: column;
  line-height: 1.5em;
}
.under main .bnn_tel .lato {
  color: var(--scolor);
  font-size: 48px;
  font-weight: bold;
  line-height: 1em;
  display: inline-block
}
.under main .bnn_tel .lato img {
  margin-right: 20px;
}
/* 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 .under_tt01 {
  display: table;
  font-size: 30px;
  font-weight: 700;
  border-bottom: 1px #000000 solid;
  margin: 0 auto;
  color: #000;
  padding-bottom: 10px;
  margin-bottom: 80px;
}
/* ===========  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;
  text-decoration: none;
  color: var(--mcolor);
  text-decoration: none;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  transition: all ease 0.3s;
}
.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 ===========  */
#blog_detail.under main .center img {
  max-width: 100%;
  max-height: 600px;
}
.ovn_page main .flex_box_it .big {
  font-size: 18px;
  line-height: 1.5;
}
.ovn_page main .flex_box_it .big a {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #000;
}
/* 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
}