/*==========================================================
                        C U S T O M
==========================================================*/
:root {
  --font-main: 'Noto Sans JP', sans-serif;
  /* FONT SITE */
  /* SUB COLOR */
  --site_size: 1260px;
  /* SIZE WRAPPER */

  /* CUSTOM COLOR */
  --blue: blue;
  --gray: #e9e9e9;
  --red: red;
  --f-nts: 'Noto Sans JP', sans-serif;
  --f-yumin: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  --f-MPLUSRound: 'M PLUS Rounded 1c', sans-serif;
  --f-Caveat: 'Caveat', cursive;
}

.under main .big {
  font-size: 125%;
}

.under main {
  position: relative;
}

.under main::before {
  content: '';
  position: absolute;
  top: 0;
  right: -50px;
  width: 1434px;
  height: 444px;
  z-index: -1;
  pointer-events: none;
  background: url(../images/main_bf.png) no-repeat center /contain;
}

.under main .center_img {
  display: flex;
}

.under main .center_img img {
  margin: 0 5px;
}

.under main a[target="_blank"] {
  /* color: var(--mcolor2); */
}

.under main p {
  /*   font-size: 17px; */
  /*   letter-spacing: 0.02em; */
  margin-bottom: 30px;
}

.under main .mb5 {
  margin-bottom: 5px;
}

.under main .fs18 {
  font-size: 18px;
}

.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 .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 .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
}

.under main .mt70 {
  margin-top: 70px
}

.under main .mt80 {
  margin-top: 80px
}

/* 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 {
  font-weight: bold;
  margin-bottom: 30px;
}

.under main h2 {
  font-size: 38px;
  text-align: center;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}

.under main h2 .en {
  padding-right: 10px;
  align-self: flex-start;
  background: linear-gradient(to right, rgba(98, 195, 204, 1) 1%, rgba(203, 224, 151, 1) 45%, rgba(255, 234, 0, 1) 74%, rgba(245, 172, 60, 1) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 600;
  font-size: 74px;
  font-family: var(--f-Caveat);
  transform: rotate(-10deg);
  position: relative;
  margin-left: -90px;
  line-height: 1;
  top: 0;
  letter-spacing: 0.03em;
  text-transform: capitalize;
}

.under main h2 .jp {
  font-size: 48px;
  line-height: 1.25;
}

.under main h3 {
  font-size: 46px;
  text-align: center;
  margin-bottom: 15px;
  position: relative;
  z-index: 1;
}

.under main h3 span {
  color: #f6ad3c;
}

.under main .sec_h3 {
  width: 1000px;
  margin: 0 auto 35px;
  padding-bottom: 80px;
}

.under main .sec_h3.mb0 {
  margin-bottom: 0;
}

.under main .sec_h4,
.under main .sec_h5,
.under main .sec_h6 {
  display: flex;
  position: relative;
  justify-content: space-between;
}

.under main .sec_h4::after,
.under main .sec_h5::after,
.under main .sec_h6::after {
  display: none;
}

.under main .sec_h5 {
  z-index: 2;
}

.under main .sec_h4_img_l,
.under main .sec_h5_img_l,
.under main .sec_h6_img_l {
  flex-direction: row-reverse;
}

.under main .sec_h4_img_r .sec_h4_img {
  margin-left: 58px;
}

.under main .sec_h4_img,
.under main .sec_h5_img,
.under main .sec_h6_img {
  flex-shrink: 0;
}

.under main .sec_h4_img .hover,
.under main .sec_h5_img .hover {
  display: inline-block;
}

.under main .sec_h5_img .img {
  margin-right: 45px;
  position: relative;
  z-index: 1;
}

.under main .sec_h5_img_r .sec_h5_img .img {
  margin-right: auto;
  margin-left: 45px;
}

.under main .sec_h5_img .img:before {
  background: url("../images/brush09.png") no-repeat left top;
  width: 367px;
  height: 350px;
  left: -120px;
  top: -15px;
  z-index: -1;
}

.under main .sec_h5_img_r .sec_h5_img .img:before {
  transform: scaleX(-1);
  right: -120px;
  left: auto;
}

.under main .sec_h5_img .img:after {
  background: url("../images/brush10.png") no-repeat left top;
  width: 184px;
  height: 170px;
  left: -53px;
  bottom: -75px;
}

.under main .sec_h5_img_r .sec_h5_img .img:after {
  transform: scaleX(-1);
  left: auto;
  right: -53px;
}

/* .under main .sec_h5_txt {
  padding-top: 58px;
} */

.under main .sec_h5_txt:only-child {
  width: 100%;
}

.under main .sec_h4_img_l .sec_h4_img {
  margin-right: 40px;
}

.under main .sec_h4 .sec_h4_img .img,
.under main .sec_h4_txt {
  position: relative;
}

.under main .sec_h4_txt {
  width: 100%;
}

.under main .sec_h4 .sec_h4_img .img {
  flex-shrink: 0
}

.under main .sec_h4 .sec_h4_img .img:before {
  background: url("../images/brush07.png") no-repeat left top;
  width: 428px;
  height: 421px;
  right: -75px;
  top: 20px;
  z-index: -1;
  pointer-events: none;
}

.under main .sec_h4_img_l .sec_h4_img .img:before {
  transform: scaleX(-1);
  right: auto;
  left: -75px;
}

.under main .sec_h4 .sec_h4_img .img:after {
  background: url("../images/brush06.png") no-repeat left top;
  width: 184px;
  height: 170px;
  right: -15px;
  top: -25px;
  pointer-events: none;
}

.under main .sec_h4_img_l .sec_h4_img .img:after {
  right: auto;
  left: -15px;
}

.under main .sec_h4_txt:before {
  background: url("../images/bg_h4.png") no-repeat left top;
  width: 628px;
  height: 540px;
  left: -118px;
  top: -115px;
  z-index: -1;
}

.under main .sec_h4_img_l .sec_h4_txt:before,
.under main .sec_h4_img_l .sec_h4_txt:after,
.under main .sec_h6_img_l .sec_h6_img:before,
.under main .sec_h6_img_l .sec_h6_img:after,
.under main .sec_h4_img_l .sec_h4_img .img:after {
  transform: scaleX(-1);
}

.under main .sec_h4_img_l .sec_h4_txt:before {
  left: auto;
  right: -118px;
}

.under main .sec_h4_txt:after {
  background: url("../images/brush08.png") no-repeat left top;
  width: 189px;
  height: 112px;
  left: -222px;
  bottom: -20px;
}

.under main .sec_h4_img_l .sec_h4_txt:after {
  right: -222px;
  left: auto;
}

.under main h4 {
  font-size: 38px;
  position: relative;
  margin-bottom: 13px;
}

.under main h4::before {
  content: "";
  position: absolute;
  background: url("../images/h4.png") no-repeat left top;
  width: 57px;
  height: 48px;
  left: -40px;
  top: -30px;
}

.under main h4.no_icon::before {
  display: none;
}

.under main h5 {
  font-size: 34px;
  background: url("../images/h5.png") repeat-x left bottom;
  padding-bottom: 4px;
  margin-bottom: 30px;
  position: relative;
  padding-right: 60px;
}

.under main h5.non_h5 {
  background: none;
}

.under main h5::before {
  background: url("../images/brush11.png") no-repeat left top;
  width: 52px;
  height: 71px;
  left: -33px;
  top: -33px;
}

.under main h5::after {
  background: url("../images/brush12.png") no-repeat left top;
  width: 56px;
  height: 85px;
  right: 2px;
  bottom: 12px;
}

.under main h5.non_h5::before,
.under main h5.non_h5::after {
  display: none;
}

.under main h5+h6 {
  margin-top: 50px;
}

.under main h6 {
  font-size: 28px;
  color: #52b88c;
  position: relative;
  z-index: -1;
  letter-spacing: -0.05em;
}

.under main h6::before {
  position: absolute;
  content: "";
  background: url("../images/brush13.png") no-repeat left top;
  width: 145px;
  height: 109px;
  left: -65px;
  top: -30px;
  z-index: -1;
}

.under main h6 sup {
  font-size: 50%;
  vertical-align: top;
}

.under main h6.org {
  display: inline-block;
  background: var(--mcolor2);
  color: #fff !important;
  padding: 15px 30px;
}

.under main h6.org::before {
  display: none;
}

.under main .sec_h6_img {
  position: relative;
}

.under main .sec_h6_img_l .sec_h6_img {
  margin-left: 80px;
}

.under main .sec_h6_img_l .sec_h6_img {
  margin-left: auto;
  margin-right: 80px;
}

.under main .sec_h6_img_l .sec_h6_img:before {
  left: -20px;
  right: auto;
}

.under main .sec_h6_img:before {
  background: url("../images/brush15.png") no-repeat left top;
  width: 274px;
  height: 263px;
}

.under main .sec_h6_img_r .sec_h6_img {
  padding-right: 58px;
  margin-left: 62px;
}

.under main .sec_h6_img_l .sec_h6_img {
  padding-left: 58px;
  margin-right: 62px;
}

.under main .sec_h6_img:before {
  right: -20px;
  z-index: -1;
  top: -30px;
}

.under main .sec_h6_img:after {
  background: url("../images/brush14.png") no-repeat left top;
  width: 162px;
  height: 150px;
  top: -47px;
  right: -37px;
}

.under main .sec_h6_img_l .sec_h6_img:after {
  left: -37px;
  right: auto;
}

.under main .sec_h4_txt:before,
.under main .sec_h4_txt:after,
.under main .sec_h4 .sec_h4_img .img:before,
.under main .sec_h4 .sec_h4_img .img:after,
.under main .sec_h5_img .img:before,
.under main .sec_h5_img .img:after,
.under main h5:before,
.under main h5:after,
.under main .sec_h6_img:before,
.under main .sec_h6_img:after {
  position: absolute;
  content: "";
}

/*==========================================================
                        FONT FAMILY
==========================================================*/
.under main h2,
.under main h3,
.under main h4,
.under main h5,
.under main h6,
.under main table th {
  font-family: var(--f-MPLUSRound);
  font-weight: 500;
}

/*==========================================================
                      MAIN - CONTENT
==========================================================*/
.under main #content {
  padding: 0 0 50px
}

.under main section {
  padding: 0 0 165px;
  margin-bottom: 0
}


.under main section:last-child {
  padding: 0
}

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

/*============ TOP INFO ============ */
.under main #top_info {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}

.under main #top_info .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%
}

.under main .main_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  margin-bottom: 55px;
}

.under main .main_wrap::before,
.under main .main_wrap::after,
.under main .main_img::before {
  position: absolute;
  content: "";
  pointer-events: none;
}

.under main .main_wrap h2 {
  position: absolute;
  bottom: 50px;
  left: calc(50% - 540px);
  font-size: 42px;
  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;
  font-weight: 500;
  line-height: 1.45em;
  text-align: left;
  z-index: 5;
}

.under main .main_wrap:before {
  background: url("../images/brush03.png") no-repeat left -25px, url("../images/brush04.png") no-repeat right bottom;
  width: 1658px;
  height: 448px;
  bottom: -180px;
  left: calc(50% - 825px);
  z-index: -1;
}

.under main .main_wrap:after {
  background: url("../images/brush01.png") no-repeat right top, url("../images/brush02.png") no-repeat left bottom;
  width: 1266px;
  height: 555px;
  left: calc(50% - 685px);
  top: -85px;
}

.under main .main_img {
  position: relative;
}

.under main .main_img img {
  border-radius: 45px;
}

.under main .main_img:before {
  background: url("../images/brush05.png")#fff no-repeat center top 35px/72px;
  width: 150px;
  height: 150px;
  bottom: -96px;
  border-radius: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
}

/*==========================================================
                    T O P I C   P A T H
==========================================================*/
.under main #topic_path {
  margin-bottom: 15px;
}

.under main #topic_path ul {
  display: block;
  padding: 10px 0
}

.under main #topic_path li {
  display: inline-block;
  position: relative;
  font-weight: 300;
}

.under main #topic_path li:not(:last-child)::after {
  content: "";
  position: relative;
  width: 21px;
  height: 21px;
  background: url('../images/arrow-green.png') no-repeat center /cover;
  display: inline-block;
  margin: 0 6px 0 9px;
  top: 5px;
  pointer-events: none;
}

.under main #topic_path li {
  color: #333333;
}

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

.under main .list_anchor .btn_anchor {
  margin: 0 10px 15px;
  transition: all ease 0.3s;
}

.under main .btn_anchor a {
  width: 350px;
  height: 60px;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url('../images/ic-right.png') no-repeat right 10px center /6px #1a854d;
  font-size: 16px;
  color: #fff;
  max-width: 100%;
}

.under main .btn_anchor.center a {
  margin-left: auto;
  margin-right: auto;
}

.under main .btn_anchor a:hover {
  background: url('../images/ic-right.png') no-repeat right 10px center /6px #f6ad3c;
}

.under main .anchor_link {
  display: flex;
  background: #1a854d;
  border-radius: 9999px;
  box-shadow: 0px 4px 0px 0px #e7d8d3;
  flex-wrap: wrap;
  overflow: hidden;
}

.under main .anchor_link li,
.under main .anchor_link li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.under main .anchor_link li a.f_sm {
  font-size: 100%;
  line-height: 1.25em;
}

.under main .anchor_link li {
  width: 25%;
  position: relative;
}

.under main .list_anchor_post li a {
  width: 290px;
  margin: 0 10px;
}

.under main .mt-anchor.has_none li:nth-child(2)::before {
  display: none;
}

.under main .mt-anchor.has_none li:nth-child(3),
.under main .mt-anchor.has_none li:nth-child(4) {
  display: none !important;
}

.under main .anchor_link li a {
  color: #fff;
  text-decoration: none;
  font-size: 21px;
  line-height: 1.2em;
  font-family: var(--f-MPLUSRound);
  font-weight: 500;
  background: url(../images/arrow-down.png) no-repeat center bottom 5px/15px;
  height: 76px;
  width: 100%;
  padding-bottom: 20px;
}

.under main .anchor_link li:not(:last-child):before {
  position: absolute;
  content: "";
  border-right: 5px #fff dotted;
  height: 55px;
  right: 0;
  top: 10px;
}

.under main .mt-anchor {
  margin-top: 52px;
}

/*==========================================================
                        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-top: 3px #f6ad3c solid;
  border-bottom: 3px #f6ad3c solid;
}

.under main table.is_mb0 {
  margin-bottom: 0;
  border-bottom: 0;
}

.under main table tr {
  background: #fdeed8;
}

.under main table tr:nth-child(2n) {
  background: #fff;
}

.under main table tr:nth-child(2n+1) {
  border-top: 3px #f6ad3c solid;
  border-bottom: 3px #f6ad3c solid;
}

.under main table.mailform th,
.under main table th {
  color: #333;
  font-weight: 700;
  font-size: 24px;
  border: none;
}

.under main table.mailform th span {
  color: #fff;
}

.under main table.mailform td .info {
  color: var(--mcolor)
}

.under main table td {
  border: none;
  font-size: 18px;
}

.under main table th {
  font-family: var(--f-MPLUSRound);
  padding: 10px 15px;
}


.under main table td {
  padding: 15px 20px;
  background: #fff;
}

.under main table img {
  display: block;
  margin: auto;
}

.under main table.mailform th,
.under main table.tb_block th {}

.under main table.mailform tr:first-child th,
.under main table.tb_block tr:first-child th {}

.under main table.mailform tr:last-child th,
.under main table.tb_block tr:last-child th {}

/*============ LIST ============ */
/* LIST 01 */
.under main .list01 {
  margin-bottom: 30px;
}

.under main .list01.mb0 {
  margin-bottom: 0;
}

.under main .list01.mb10 {
  margin-bottom: 10px;
}

.under main .list01 li {
  display: block;
  padding-left: 20px;
  margin-bottom: 0px;
  position: relative;
  font-size: 18px;
  font-family: var(--f-MPLUSRound);
  font-weight: 500;
}

.under main .list01 li::before {
  background: #f5ac3c;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 10px;
  left: 0;
  content: '';
  border-radius: 50%;
}

.under main .list01 li:nth-child(4n+1)::before {
  background: #f5ac3c;
}

.under main .list01 li:nth-child(4n+2)::before {
  background: #5dc2d0;
}

.under main .list01 li:nth-child(4n+3)::before {
  background: #ed8599;
}

.under main .list01 li:nth-child(4n+4)::before {
  background: #ffeb00;
}

.under main .list01 li .link {
  text-decoration: none;
  color: var(--txt);
}

.under main .list01 li .link:hover {
  color: var(--mcolor2);
}


/* LIST 02 */
.under main .list02 {
  margin-bottom: 30px;
}

.under main .list02 li {
  counter-increment: li;
  padding-left: 40px;
  position: relative;
  font-size: 20px;
  margin-bottom: 30px;
}

.under main .list02 li .big {
  font-size: 150%;
  display: block;
  text-decoration: underline;
}

.under main .list02 li::before {
  content: counter(li);
  position: absolute;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  left: 0;
  top: 6px;
  background-color: var(--mcolor);
  font-size: 20px;
  font-weight: bold;
  color: #FFF;
  line-height: 22px;
}


.under main .list02_none li {
  padding-left: 0;
}

.under main .list02_none li::before {
  display: none;
}

.under main .list02 li:nth-child(even)::before {
  background: var(--mcolor2);
}

/* 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: #fff7ec;
  padding: 15px;
  margin-bottom: 50px;
  border-radius: 20px;
}

.under main .list_faq dt {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5em;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}

.under main .list_faq dt span {
  width: 60px;
  height: 40px;
  background: url("../images/icon_q.png") no-repeat left top/60px;
  font-weight: bold;
  text-align: center;
  line-height: 1em;
  color: #fff;
  margin-right: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 5px;
  flex-shrink: 0;
}

.under main .list_faq dt span,
.under main .list_faq dd span {
  font-family: var(--f-MPLUSRound);
}

.under main .list_faq dd {
  position: relative;
  min-height: 62px;
  padding: 20px 25px 20px 85px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);

}

.under main .list_faq dd span {
  position: absolute;
  top: 18px;
  left: 10px;
  width: 60px;
  height: 40px;
  font-weight: bold;
  text-align: center;
  line-height: 1em;
  color: #fff;
  background: url("../images/icon_a.png") no-repeat left top/60px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 5px;
  flex-shrink: 0;
}

/* LIST STEP */
.under main .list_step {
  position: relative;
  z-index: 2;
}

.under main .list_step dl {
  margin-bottom: 40px;
  position: relative;
  background: #eef9f3;
  border-radius: 20px;
  border-bottom: 3px #1a854d solid;
}

.under main .list_step dl:nth-child(2n) {
  background: #fff7ec;
  border-bottom: 3px #f5ac3d solid;
}

.under main .list_step dl:nth-child(2n) dt {
  background: #f5ac3d;
}

.under main .list_step dl:not(:last-child)::before {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 30px 0 30px;
  border-color: #1a854d transparent transparent transparent;
  bottom: -30px;
}

.under main .list_step dl:nth-child(2n):before {
  border-color: #f5ac3d transparent transparent transparent;
}

.under main .list_step dl:last-child {
  padding-bottom: 0;
  margin-bottom: 0
}

.under main .list_step dt {
  color: #fff;
  font-weight: 500;
  padding: 10px;
  font-size: 21px;
  background: #1a854d;
  border-radius: 20px 20px 0 0;
  position: relative;
  line-height: 1.5em;
}

.under main .list_step dt span {
  font-family: var(--f-Caveat);
  font-weight: 600;
  font-size: 24px;
  display: block;
  color: #fff;
}

.under main .list_step dd {
  padding: 20px 25px;
}

.under main .list_step dd span.img {
  display: inline-block;
  margin: 0 auto 20px;
}

.under main .list_step.flex_step dl dd {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.under main .list_step.flex_step dl dd .txt {
  width: calc(100% - 450px);
  order: 1;
}

.under main .list_step.flex_step dl dd .txt.w100 {
  width: 100%;
}

.under main .list_step.flex_step dl dd .txt,
.under main .list_step.flex_step dl dd,
.under main .list_step.flex_step dl dd p {
  font-size: 18px;
}

.under main .list_step.flex_step dl dd .img_flex {
  order: 2;
  margin-bottom: 0;
  width: 400px;
}


.under main .list_step dl.arrow {
  position: relative;
}

/* .under main .list_step dl.arrow::after{width: 80px;height: 100%;position: absolute;top: -40px;right: 50px;content: '';background: #52B88C;}
.under main .list_step dl.arrow::before{border-width: 80px 80px 0 80px;left: inherit;right: 10px;bottom: -40px;border-color: #52B88C transparent transparent transparent}
.under main .list_step dl.arrow dt,
.under main .list_step dl.arrow dd{padding-right: 200px;} */

.under main .list_step dl.arrow::after {
  width: 80px;
  height: 100%;
  position: absolute;
  top: -40px;
  right: -140px;
  content: '';
  background: #52B88C;
}

.under main .list_step dl.arrow::before {
  border-width: 80px 80px 0 80px;
  bottom: -40px;
  border-color: #52B88C transparent transparent transparent;
  left: inherit;
  right: -180px;
}

/*.under main .list_step dl.arrow dt,
 .under main .list_step dl.arrow dd{padding-right: 55%;} */

/*============ FRAME ============ */
/* FRAME 01 */
.under main .frame01 {
  border: 4px solid #52b88c;
  padding: 35px 53px 30px;
  background: #eef9f3;
  border-radius: 50px;
  margin-bottom: 50px;
  position: relative;
}

.under main .frame01:before {
  position: absolute;
  content: "";
  background: url("../images/brush16.png") no-repeat left top;
  width: 196px;
  height: 118px;
  right: -69px;
  top: -72px;
}

.under main .frame_recruit {
  background: url('../images/frame_recruit_bg.jpg') center /cover no-repeat;
  padding: 50px;
  margin-bottom: 100px;
}

.under main .frame_recruit:last-child {
  margin-bottom: 0;
}

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

/* FRAME PICKUP */
.under main .frame_pick {
  position: relative;
  margin-bottom: 50px;
}

.under main .frame_pick.mb0 {
  margin-bottom: 0;
}

.under main .frame_pick_right {
  flex-shrink: 0;
  margin-left: 40px;
}

.under main .frame_pick_left .img,
.under main .frame_pick_right .img {
  position: relative;
}

.under main .frame_pick_left .img:before,
.under main .frame_pick_right .img:before {
  position: absolute;
  content: "";
  background: url("../images/brush18.png") no-repeat left top, url("../images/brush19.png") no-repeat right bottom;
  width: 273px;
  height: 366px;
  top: 15px;
  right: -168px;
}

.under main .frame_pick h6::before {
  background: url("../images/brush13_fr.png") no-repeat left top;
  zoom: 0.8;
}

.under main .frame_pick_left {
  padding-left: 50px;
}

.under main .frame_pick_wrap,
.under main .frame_pick_left {
  position: relative;
}

.under main .frame_pick_wrap:before,
.under main .frame_pick_wrap:after,
.under main .frame_pick:before,
.under main .frame_pick_left:before {
  position: absolute;
  content: "";
}

.under main .frame_pick_left:before {
  background: url("../images/brush17.png") no-repeat left top;
  width: 287px;
  height: 171px;
  left: -280px;
  bottom: 20px;
}

.under main .frame_pick_wrap:before,
.under main .frame_pick_wrap:after {
  width: 1920px;
  left: calc(50% - 960px);
}

.under main .frame_pick_wrap:before {
  background: url("../images/frame_top.png") no-repeat center top;
  top: -43px;
  height: 45px;
}

.under main .frame_pick_wrap:after {
  background: url("../images/frame_bt.png") no-repeat center top;
  bottom: -48px;
  height: 48px;
}

.under main .frame_pick:before {
  width: 1920px;
  height: 100%;
  left: calc(50% - 960px);
  top: 0;
  background: url("../images/frame.png") repeat-y center top;
  z-index: -1;
  pointer-events: none;
}

.under main .frame_pick_wrap_blue:before {
  background: url("../images/sec07_bg.png") no-repeat center top
}

.under main .frame_pick_wrap_blue:after {
  background: url("../images/sec07_bg.png") no-repeat center bottom
}

.under main .frame_pick_blue:before {
  background: url("../images/frame_pick_blue.png") repeat-y center top;
}

.under main .frame_pick_blue *,
.under main .frame_pick.frame_pick_blue h6 {
  color: #333333;
}

.under main .frame_pick {
  display: flex;
  color: #fff;
  padding: 15px 0 10px;
  align-items: center;
}

.under main .frame_pick .pick_ttl {
  font-size: 48px;
  font-family: var(--f-MPLUSRound);
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.2;
  margin-bottom: 15px;
}

.under main .frame_pick .pick_ttl span {
  display: block;
  position: relative;
  left: -125px;
  top: -10px;
}

.under main .mb80 {
  margin-bottom: 80px;
}

.under main .frame_pick_wrap.mb150 {
  margin-bottom: 150px;
}

.under main .frame_pick_none {
  display: block;
  padding: 50px 0;
  margin-bottom: 100px;
}

.under main .frame_pick_none section:not(:last-child) {
  padding-bottom: 100px;
}

.under main .frame_pick_none h6 {
  color: #fff;
}


.under main .frame_flex {}

.under main .frame_flex .frame_pick_left {
  flex-grow: 1;
}

.under main .frame_pick_flex {
  display: flex;
  justify-content: space-between;
  margin: 40px 0 0;
}

.under main .frame_pick_flex .sec01_map_wrapper {
  flex-grow: 1;
  margin-left: 50px;
}

.under main .sec09_wrapper2 {
  width: 100%;
  border-radius: 0;
}

.under main .sec09_wrapper2 .sec09_column {
  width: 25%;
  min-height: auto;
}

.under main .sec09_wrapper2 .sec09_column h4 {
  font-size: 25px;
}

.under main .sec09_wrapper2 .sec09_column h4 .small {
  font-size: 20px;
}

.under main .sec09_wrapper2 .sec09_column h4::before {
  display: none;
}

.under main .sec09_wrapper2 .sec09_ttl_02 {
  margin-bottom: 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;
}

/* ===========  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 #f6ad3c;
  background: #fff;
  display: flex;
  color: #f6ad3c;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
}

.under main .pagination li:hover a,
.under main .pagination li.active a {
  background: #f6ad3c;
  color: #fff;
}

.under main .pagination li.active a {
  pointer-events: none;
}

.under main .pagination li.disabled {
  display: none
}

/* ===========  OVERNOTE ===========  */
.under main .list_ovn {
  display: flex;
  flex-wrap: wrap;
}

.under main .list_ovn li {
  width: 380px;
  margin: 0 30px 30px 0;
  border: 2px solid #1a854d;
  border-radius: 10px;
  padding: 10px 8px;
  background: #fff7ec;
}

.under main .list_ovn li .big {
  font-size: 18px;
  line-height: 1.5em;
  margin-top: 15px;
}

.under main .list_ovn li .date {
  margin-bottom: 0;
}

.under main .list_ovn li .big a {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.under main .list_ovn li .img {
  display: flex;
  width: 360px;
  height: 240px;
  aspect-ratio: 3/2;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #fff;
}

.under main .list_ovn li .img img {
  max-height: 100%;
}

.under main .list_ovn li:nth-child(3n + 3) {
  margin-right: 0;
}


/* GUIDE */
.case_block {
  margin-bottom: 60px;
}

.case_block p {
  margin-bottom: 0;
  word-break: break-all;
}

.case_block .title p:last-child {
  font-family: var(--f-MPLUSRound);
  font-size: 20px;
  color: #1a854d;
}

.case_block .item {
  display: flex;
  margin-bottom: 40px;
  border: 1px solid #1a854d;
  border-right: 0;
  border-bottom: 0;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.case_block .item:last-child {
  margin-bottom: 0;
}

.case_block .item .text .link a {
  font-size: 14px;
}

.case_block .info {
  display: flex;
}

.case_block .info>* {
  display: flex;
  width: 100%;
}

.case_block .info dt,
.case_block .info dd {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
}

.case_block .info>*:not(:first-child) {}

.case_block .info dt {
  background: #eefaf8;
  color: #1a854d;
  border: 1px solid #1a854d;
  font-weight: bold;
  width: 145px;
}

.case_block .info dd {
  border: 1px solid #1a854d;
  width: calc(100% - 145px);
}

.bor {
  border: 1px solid #1a854d;
}

.case_block .info dl {
  word-break: break-all;
}

.case_block .switch_img .main_img {
  width: 100%;
  height: 400px;
  position: relative;
  overflow: hidden;
  border: 1px solid #1a854d;
  margin-bottom: 10px;
}

.case_block .switch_img .main_img img {
  display: block;
  max-width: 95%;
  max-height: 95%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.case_block .img_caption {
  background-color: #f3fffd;
  border-bottom: 3px solid #1a854d;
  border-radius: 10px;
  padding: 10px 10px;
  margin-bottom: 15px;
  text-align: center;
}

.case_block .img_caption {
  min-height: 44px;
}

.case_block .block_thumb {
  display: flex;
  justify-content: flex-start;
}

.case_block .img_bg {
  cursor: pointer;
  float: left;
  display: block;
  width: 24%;
  height: 120px;
  margin-bottom: 10px;
  margin-right: 1.25%;
  background-color: #e6e6e6;
  position: relative;
  overflow: hidden;
}

.case_block .img_bg:hover {
  opacity: 0.8;
}

.case_block .col-3 .img_bg {
  width: 32.5%;
  height: 150px;
}

.case_block span:last-child {
  margin-right: 0;
}

.case_block .img_bg img {
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.t_date {
  text-align: right;
  color: #757575;
  font-size: 14px;
}

.case_block .image_none {
  width: 30%;
}

.case_block .image_none:empty,
.case_block .info:empty {
  display: none;
}

/* RESET */
.under main .case_block:last-child,
.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
}


.under main .btn_ovn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}




/* custom css under */
.under main section.sec_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.under main section.sec_flex .sec_h5,
.under main section.sec_flex .sec_h6 {
  width: calc(50% - 60px);
}

.under main section.sec_flex .sec_h5.is_col_3,
.under main section.sec_flex .sec_h6.is_col_3 {
  width: calc((100% / 3) - 60px);
}



.under main section.sec_flex .sec_h5.is_col_3 h5 {
  font-size: 26px;
  letter-spacing: -0.05em;
}

.under main section.sec_flex .sec_h6.is_col_3 h6 {
  height: 60px;
}

.tb_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.tb_flex:not(:last-child) {
  margin-bottom: 50px;
}

.tb_flex .img_flex {
  width: 320px;
  text-align: center;
}

.tb_flex table {
  width: calc(100% - 370px);
}

.step_flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.step_flex dl {
  width: 30%;
  margin-right: 20px;
}

.step_flex dl:nth-child(3n) {
  margin-right: 0;
}

.step_flex dl::before {
  display: none;
}

.step_flex dl:last-child {
  margin-bottom: 40px !important;
  padding-bottom: 0 !important;
}

.step_flex_2col dl {
  width: calc((100% - 15px) / 2);
  margin-right: 15px;
}

.step_flex_4col dl {
  width: calc((100% - 45px) / 4);
  margin-right: 15px;
}

.step_flex_5col dl {
  width: calc((100% - 60px) / 5);
  margin-right: 15px;
}


#staff main table th {
  font-size: 20px;
}

#staff main table td {
  font-size: 16px;
}

.clearfix:after {
  display: none;
}

.under main .list_arr_step {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 80px;
}

.under main .list_arr_step.no_wrap {
  flex-wrap: nowrap;
}

.under main .list_arr_step:last-child {
  margin-bottom: 0;
}

.under main .list_arr_step li {
  position: relative;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  background: #000;
  margin: 0 30px 0 0;
  line-height: 1.5em;
  height: 60px;
  min-width: 135px;
}

.under main .list_arr_step li::before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 0 30px 10px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 0;
  left: -1px;
  content: '';
}

.under main .list_arr_step li::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 0 30px 10px;
  border-color: transparent transparent transparent #000;
  position: absolute;
  top: 0;
  right: -9px;
  content: '';
}

.under main .list_arr_step li:last-child {
  margin-right: 0;
}

.under main .list_arr_step li.bg1 {
  background: #f5ac3c
}

.under main .list_arr_step li.bg1::after {
  border-color: transparent transparent transparent #f5ac3c;
}

.under main .list_arr_step li.bg2 {
  background: #5dc2d0
}

.under main .list_arr_step li.bg2::after {
  border-color: transparent transparent transparent #5dc2d0;
}

.under main .list_arr_step li.bg3 {
  background: #ed8599
}

.under main .list_arr_step li.bg3::after {
  border-color: transparent transparent transparent #ed8599;
}

.under main .list_arr_step li.bg4 {
  background: #CBE097
}

.under main .list_arr_step li.bg4::after {
  border-color: transparent transparent transparent #CBE097;
}

.under main .list_arr_step li.bg5 {
  background: #1A854D
}

.under main .list_arr_step li.bg5::after {
  border-color: transparent transparent transparent #1A854D;
}

.under main .list_arr_step li.bg6 {
  background: #ea433c
}

.under main .list_arr_step li.bg6::after {
  border-color: transparent transparent transparent #ea433c;
}

.under main .list_arr_step li.bg7 {
  background: #3498db
}

.under main .list_arr_step li.bg7::after {
  border-color: transparent transparent transparent #3498db;
}

.under main .arr_step_line {
  position: relative;
}

.under main .arr_step_line::before {
  background: #ea433c;
  width: 465px;
  height: 4px;
  position: absolute;
  top: -42px;
  left: calc(50% - 233px);
  content: '';
}

.under main .arr_step_line li span::before,
.under main .arr_step_line li span::after {
  width: 3px;
  height: 50px;
  position: absolute;
  top: -65px;
  right: 0;
  content: '';
  background: #ea433c;
}

.under main .arr_step_line li span::before {
  left: 0
}

.under main .arr_step_line.full li {
  width: 800px;
  max-width: 100%;
}

.under main .arr_step_line.full::before {
  width: 800px;
  left: 50%;
  max-width: 100%;
  transform: translateX(-50%);
  background: #3498db;
}

.under main .arr_step_line.full li span::after {
  right: 0;
  background: #3498db;
}

.under main .arr_step_line.full li span::before {
  left: 0;
  background: #3498db;
}

.under main .arr_step_line.arr_3item::before,
.under main .arr_step_line li::before,
.under main .arr_step_line li::after {
  display: none;
}

.under main .arr_step_line.arr_3item li::before {
  background: #ea433c;
  width: 100%;
  height: 4px;
  position: absolute;
  top: -42px;
  left: 0;
  content: '';
  border: none;
  display: block;
}

.under main .list01 li:nth-child(4n+1)::before {
  background: #f5ac3c;
}

.under main .list01 li:nth-child(4n+2)::before {
  background: #5dc2d0;
}

.under main .list01 li:nth-child(4n+3)::before {
  background: #ed8599;
}

.under main .list01 li:nth-child(4n+4)::before {
  background: #ffeb00;
}

.under main .main_btn {
  width: 360px;
  height: 60px;
  text-align: center;
  padding: 0 25px;
  line-height: 1.5em;
  margin: 0 auto;
  border-radius: 999px;
  display: flex;
}

.under main .main_btn::before {
  right: 10px;
}

#health.under main .main_btn::before {
  top: calc(50% - 12px/2)
}

.under main .list_lb {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.under main .list_lb li {
  width: calc((100% - 30px) / 4);
  margin: 0 10px 30px 0;
}

.under main .list_lb li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.under main .list_lb .slick-list {
  margin: 0 30px;
}

.slick-slider:not(.list_lb, .ortho_list_ic) .slick-prev,
.slick-slider:not(.list_lb, .ortho_list_ic) .slick-prev:focus {
  left: 0;
  transform: rotate(-180deg);
}

.slick-slider:not(.list_lb, .ortho_list_ic) .slick-next,
.slick-slider:not(.list_lb, .ortho_list_ic) .slick-next:focus {
  right: 0;
}

.slick-slider:not(.list_lb, .ortho_list_ic) .slick-prev,
.slick-slider:not(.list_lb, .ortho_list_ic) .slick-next,
.slick-slider:not(.list_lb, .ortho_list_ic) .slick-prev:focus,
.slick-slider:not(.list_lb, .ortho_list_ic) .slick-next:focus {
  z-index: 95;
  height: 30px;
  width: 30px;
  border: 0;
  font-size: 0;
  background: url('../images/right_01.svg') no-repeat center /cover;
  top: calc(50% - 20px);
  position: absolute;
}

.slick-slider:not(.list_lb, .ortho_list_ic) .slick-prev:before,
.slick-slider:not(.list_lb, .ortho_list_ic) .slick-next:before {
  display: none
}

.arr_b .slick-prev,
.arr_b .slick-next,
.arr_b .slick-prev:focus,
.arr_b .slick-next:focus {
  background: url('../images/right_02.svg') no-repeat center /cover;
}


.under main .box_2flex .box_flex_arr {
  flex-shrink: 0;
}


/* CONCEPT PAGE */
.under main .concept_box {
  display: flex;
  justify-content: space-between;
}

.under main .concept_left,
.under main .concept_right {
  width: 595px;
  max-width: 100%;
}

.under main .concept_item {
  border-radius: 15px;
  margin-bottom: 30px;
}

.under main .concept_item.bg_white {
  background-color: #fff;
  border: 2px solid var(--txt)
}

.under main .concept_item.bg_org {
  background-color: #faa74b;
}

.under main .concept_item.bg_yel {
  background-color: #ffde2d;
}

.under main .concept_item.bg_green {
  background-color: #c4df9c;
}

.under main .concept_item.bg_blue {
  background-color: #7ccfd7;
}

.under main .concept_item dl {
  padding: 25px 25px 35px;
  display: flex;
}

.under main .concept_item dt {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.25em;
  letter-spacing: -0.025em;
  flex-shrink: 0;
}

.under main .concept_item dd {
  margin-left: 25px;
  font-size: 12px;
  line-height: 1.5em;
  font-weight: bold;
}

.under main .concept_item ul {
  display: flex;
  flex-wrap: wrap;
  padding: 25px 15px;
  min-height: 130px;
  align-items: center;
}

.under main .concept_item ul li {
  width: 50%;
  padding-left: 90px;
  position: relative;
  margin-bottom: 15px;
}

.under main .concept_item ul li:last-child {
  margin-bottom: 0;
}

.under main .concept_item ul li.full {
  width: 100%;
}

.under main .concept_item p {
  margin-bottom: 0;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5em;
}

.under main .concept_item .icon {
  width: 70px;
  height: 70px;
  position: absolute;
  top: 0;
  left: 0;
}

.under main .concept_item .name {
  color: #fff;
  font-size: 13px;
  margin-bottom: 0;
}

.under main .concept_item .name .en {
  font-size: 21px;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: bold;
  display: inline-block;
  line-height: 1em;
  letter-spacing: -0.025em;
}

/* CHILD PAGE*/
.under main .childboxmain h5,
.under main .childboxmain h6 {
  background: none;
  text-align: center;
  margin: 0;
  z-index: 1;
  padding: 0;
}

.under main .childboxmain .childbox02_detail h5 {
  font-size: 26px;
  font-size: 22px;
  line-height: 1.25;
  margin-bottom: 15px;
}

.under main .childboxmain .childbox01_detail h6 {
  color: var(--txt);
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0;
}

.under main .childboxmain h5::before,
.under main .childboxmain h5::after,
.under main .childboxmain h6::before {
  display: none
}

.childboxmain.mb0 {
  margin-bottom: 0;
}

.childboxmain {
  width: 100%;
  max-width: 920px;
  margin: 0 auto 60px
}

.childbox01 {
  margin-bottom: 60px;
}

.childbox01_main>div {
  display: flex;
  justify-content: space-between;
}

.childbox01_detail {
  border-radius: 15px;
  padding: 15px;
  margin: 15px;
  min-width: 200px
}

.childbox01_dot li {
  text-align: center;
  color: var(--txt);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.6;
  margin-left: -10px;
}

.childbox01_de01 {
  background-color: #A2B3DB
}

.childbox01_de02 {
  background-color: #60C3CE;
  min-width: 260px
}

.childbox01_de03 {
  background-color: #B5D469;
  min-width: 260px
}

.childbox01_de04 {
  background-color: #52B88C
}

.childbox01_de05 {
  background-color: #EAD511
}

.childbox01_de06 {
  background-color: #F6AD3C
}

.childbox01_de07 {
  background-color: #ED8599
}

.childbox02_detail {
  display: block;
  justify-content: space-between;
  align-items: center;
  background-color: #FEF7EB;
  padding: 15px;
  border-radius: 20px;
  margin-right: 50px;
  position: relative;
}

.childbox02 {
  display: flex;
}

.childbox02_detail:last-child {
  margin-right: 0;
}

/* .childbox02_detail:not(:last-child):after{position: absolute;content: "";width: 0;height: 0; border-top: 25px solid #FEF7EB;border-left: 100px solid transparent;border-right: 100px solid transparent;left: 0;right: 0;bottom: -25px;margin: 0 auto;} */
.childbox02_detail:not(:last-child)::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-left: 25px solid #FEF7EB;
  border-top: 100px solid transparent;
  border-bottom: 100px solid transparent;
  left: 100%;
  ;
  top: 50%;
  margin: 0 auto;
  transform: translateY(-50%);
}

.childbox02_top,
.childbox02_bot {
  display: flex;
  justify-content: center;
}

.under main .childbox02_detail h6 {
  width: 90px;
  height: 90px;
  border-radius: 90px;
  margin: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  color: #fff;
  line-height: 1.25;
  font-family: 'Noto Sans JP', "Noto Sans SC", sans-serif;
}

.under main .childbox02_detail .childbox02_bot h6 {
  width: 75px;
  height: 75px;
  font-size: 13px;
}

.childbox02_left {
  flex-shrink: 0
}

.childbox02_right {
  width: 100%;
}

.child_img img {
  border-radius: 10px;
}

.under main .childbox02_de01 h6 {
  background-color: #5EC2CF
}

.under main .childbox02_de02 h6 {
  background-color: #7DCFD7
}

.under main .childbox02_de03 h6 {
  background-color: #B5D469
}

.under main .childbox02_de04 h6 {
  background-color: #C4DF9B
}

.under main .childbox02_de05 h6 {
  background-color: #EAD511
}

.under main .childbox02_de06 h6 {
  background-color: #FAA74A
}

.under main .childbox02_de07 h6 {
  background-color: #FBC486
}

.under main .childbox02_de08 h6 {
  background-color: #ED8599
}

.under main .childbox02_de09 h6 {
  background-color: #F3ADBB
}

.childboxmain.max_w {
  max-width: 100%;
  display: flex;
  justify-content: center;
}

/*.under main .list_step dl.arrow dt span,
.under main .list_step dl.arrow dt{color: #333;}*/
.under main .arcodion_ite {
  display: block;
  cursor: pointer;
  transition: all 0.3s;
}

.under main .arcodion_ite:not(.active) h6+* {
  display: none;
}

.under main .first_ortho_fix {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.under main .first_ortho_fix h4::before {
  left: -40px;
}

/* ORTHO FORM */
.under main .ortho_form {
  position: relative;
}

.under main .ortho_form::before {
  width: 40px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 80px;
  content: '';
  background: var(--mcolor2);
}

.under main .ortho_form .ortho_form_head {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 100px;
}

.under main .ortho_form .ortho_form_head::before {
  position: absolute;
  top: calc(50% - 20px);
  width: 100%;
  height: 40px;
  background: var(--mcolor2);
  content: '';
}

.under main .ortho_form .ortho_form_head .big {
  font-size: 30px;
  font-family: var(--f-MPLUSRound);
  font-weight: bold;
  color: #fff;
}

.under main .ortho_form .ortho_form_head .box {
  background: #5EC2CF;
  margin-bottom: 0;
}

.under main .ortho_form .ortho_form_body {
  position: relative;
}

.under main .ortho_form .ortho_form_body::before {
  width: 40px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 80px;
  content: '';
  background: var(--mcolor2);
}

.under main .ortho_form_body_accordion .box .ortho_form_txt {
  display: none;
  margin-top: 60px
}

.under main .ortho_form_body_accordion .box h6 {
  position: relative;
  cursor: pointer;
}

.under main .ortho_form_body_accordion .box h6::after {
  content: '';
  position: absolute;
  width: 15px;
  height: 15px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  transition: .3s;
  top: calc(50% - 15px/2);
  right: 20px
}

.under main .ortho_form_body_accordion .box h6.is_active::after {
  transform: rotate(135deg);
}

.under main .ortho_form .box {
  background: var(--mcolor2);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
  position: relative;
  padding: 25px 30px 15px;
  border-radius: 10px;
  margin-bottom: 60px;
  color: #fff;
}

.under main .ortho_form .box.line_h {
  padding: 15px
}

.under main .ortho_form .ortho_form_head .big {
  line-height: 1.5em
}

.under main .ortho_form .box p {
  color: #fff;
}

.under main .ortho_form .box:last-child {
  margin-bottom: 0;
}

.under main .ortho_form .box h6 {
  z-index: 1;
  margin: 10px 0 17px 60px;
  color: #fff;
}

.under main .ortho_form .box.min {
  max-width: 80%;
}

.under main .ortho_form .box h6.box_h6_img {
  display: flex;
}

.under main .ortho_form .box h6.box_h6_img span {
  font-size: 100%;
  color: #fff
}

.under main .ortho_form .box h6.box_h6_img .box_img {
  display: flex;
  margin-left: 50px
}

.under main .ortho_form .box h6.box_h6_img .box_img img {
  max-height: 100px;
  width: auto;
  margin: 0 10px;
  border-radius: 50%
}

.under main .flex_list {
  display: flex;
}

.under main .flex_list .list01 {
  max-width: 50%;
}

.under main .flex_list .list01:not(:last-child) {
  margin-right: 10px;
}

.under main .un_title01 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
}

.under main .un_box_time {
  margin-bottom: 80px;
  position: relative;
}

.under main .un_box_time:last-child {
  margin-bottom: 0;
}

.under main .un_box_time dl {
  display: flex;
  align-items: flex-start;
  padding: 20px 0;
}

.under main .un_box_time dl:first-child {
  border-top: 1px #ddd solid;
}

.under main .un_box_time dl {
  border-bottom: 1px #ddd solid;
}

.under main .un_box_time dl.none {
  border: none;
}

.under main .un_box_time dl dt {
  width: 150px;
  flex-shrink: 0;
  font-weight: 500;
}

.under main .un_box_time dl dd {
  font-weight: 500;
  flex-grow: 1;
}


/* OTHERS */
.under main p.mb0 {
  margin-bottom: 0px;
}

.under main .list_step_tt dt {
  padding-left: 20px;
}

#contact table.mailform th{
  width: 25%;
  background-color: #52b88c;
}

#contact table.mailform th{
  color: #fff;
  font-size: 20px;
}

#contact .mailform ~ .button{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

#contact .mailform ~ .button form{
  cursor: pointer;
}

#contact .mailform ~ .button form:hover{
  opacity: .8;
}

#contact .mailform ~ .button form input{
  font-weight: bold;
  cursor: pointer;
}

#contact .mailform ~ .button .fmail_cancel .submit_cancel_button{
  background-color: #ED8599;
}

.under#case_cate .post129_img_list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  gap: 20px;
}

.under#case_cate .post129_img_list li {
  width: calc(100% / 2 - 10px);
}

.under#case_cate .post129_img_list li a:hover {
  opacity: .8;
}

.under main .frame03 {
	width: 60%;
  border: 3px solid #52b88c;
  padding: 25px;
  margin: 0 auto;
	border-radius: 10px;
	text-align: center;	
	background: #eef9f3;
}
.under main .frame03 p {
	font-weight: 500;
	font-size: 20px;
	line-height: 1.5;
}