@charset "UTF-8";
/*
目次~TOPページのコンテンツ~
#mainimage
#汎用ボタン
#loopSlider　無限ループスライダー
#TOP コンテンツ
#TOP newsパーツ
#Custom ここに追記
#mediaquery
#
#
/*===================
	　#mainimage
=====================*/
.clinic-slide {
  max-width: 800px;
  margin-inline: auto;
}
.clinic-slide .slideimg {
  position: relative;
}
.clinic-slide .slideimg .img_slider_title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(51, 51, 51, 0.5);
  color: white;
  text-align: center;
  padding: 10px 5px 7px;
}
.clinic-slide .slick-arrow:before {
  color: #8fc31f;
}

.clinic-page {
  max-width: 800px;
  margin-inline: auto;
}
.clinic-page .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 10px;
          column-gap: 10px;
}
.clinic-page .slick-track .slick-slide {
  width: calc((100% - 40px) / 5);
}

.slick-slide img {
  /*スライダーの時*/
  margin: 0 auto;
  border-radius: 0;
}

.mainimage, .slider {
  margin-bottom: 0;
}

.mainimage img {
  height: auto;
  max-width: none;
  max-height: none;
  width: 100%;
}

/*==========================
	#loopSlider　無限ループスライダー
==========================*/
.loopSliderWrap {
  top: 0;
  left: 0;
  height: 180px;
  overflow: hidden;
  position: absolute;
}

.loopSlider {
  margin: 0 auto;
  width: 100%;
  height: 180px;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.loopSlider ul {
  height: 180px;
  float: left;
  overflow: hidden;
}

.loopSlider ul li {
  width: 250px;
  height: 180px;
  float: left;
  display: inline;
  overflow: hidden;
}

.loopSlider ul li img {
  width: 100%;
}

/*=================
	　#TOP コンテンツ
===================*/
/* トップページ幅 100% */
.home #contents > .inner {
  width: 100%;
  max-width: 100%;
}

.topinner {
  width: 1200px;
  margin: 0 auto;
  max-width: 96%;
}

/* tinyMCE用に見出しをリセット */
.toppage h3, .toppage h4, .toppage h5 {
  background: none;
  border: none;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
}

.toppage h3::before, .toppage h3::after, .toppage h4::before, .toppage h4::after, .toppage h5::before, .toppage h5::after {
  display: none;
}

.top .mainblock a {
  text-decoration: none;
}

/*=================
	　#TOP newsパーツ
===================*/
/****************
	#Custom
*****************/
/****************
	#mediaquery
*****************/
  .row:not(:last-child) {
    margin-bottom: clamp(30px, 5vw, 50px);
  }
@media screen and (min-width: 768px) {
  /*PC*/
  .fr {
    float: right;
  }

  .fl {
    float: left;
  }

  .content {
    width: 66%;
    float: right;
  }

  .content-inner {
    width: 80%;
    margin: 0 auto;
  }

  .row .news-tel {
    width: 66%;
    -webkit-box-flex-basis: 66%;
    -ms-flex-preferred-size: 66%;
    flex-basis: 66%;
  }

  .row .news-access {
    width: 33%;
    -webkit-box-flex-basis: 33%;
    -ms-flex-preferred-size: 33%;
    flex-basis: 33%;
  }

  .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30px 2%;
  }
  .row.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .row.center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .col_2 {
    width: 48%;
    -webkit-box-flex-basis: 48%;
    -ms-flex-preferred-size: 48%;
    flex-basis: 48%;
  }

  .col_3 {
    width: 32%;
    -webkit-box-flex-basis: 32%;
    -ms-flex-preferred-size: 32%;
    flex-basis: 32%;
  }

  .col_4 {
    width: 23.5%;
    -webkit-box-flex-basis: 23.5%;
    -ms-flex-preferred-size: 23.5%;
    flex-basis: 23.5%;
  }

  .col_5 {
    width: 18%;
    -webkit-box-flex-basis: 18%;
    -ms-flex-preferred-size: 18%;
    flex-basis: 18%;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .border-block, .border_bg {
    padding: 15px;
  }

  .col_2.border-block, .col_2.border_bg, .col_3.border-block, .col_3.border_bg, .col_4.border-block, .col_4.border_bg, .col_5.border-block, .col_5.border_bg {
    margin-bottom: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  /*SP*/
  figure {
    text-align: center;
  }

  .row .col_2:not(:last-child), .row .col_3:not(:last-child), .row .col_4:not(:last-child), .row .col_5:not(:last-child) {
    margin-bottom: 30px;
  }
  .row.sp_col_2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 4%;
            column-gap: 4%;
  }
  .row.sp_col_2 .col_2, .row.sp_col_2 .col_3, .row.sp_col_2 .col_4, .row.sp_col_2 .col_5 {
    width: 48% !important;
    -ms-flex-preferred-size: 48% !important;
        flex-basis: 48% !important;
	margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .xo-event-calendar .xo-months {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 2%;
            column-gap: 2%;
  }
}

.map_wide {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 70%;
}
.map_wide iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .map_wide {
    padding-top: 340px;
  }
}

.coppy {
  padding: 20px 0;
  margin-bottom: clamp(50px, 10vw, 100px);
}
@media (max-width: 767px) {
  .coppy {
    margin-bottom: 13vw;
  }
}

.text-center {
  text-align: center;
}

.mb0 {
  margin-bottom: 0;
}

small {
  font-size: 70%;
}

.color1 {
  color: #8fc31f;
}

.color2 {
  color: #ec6d88;
}

.dbl {
  display: inline-block;
}

.bold {
  font-weight: bold;
}

/*====================================
	共通
====================================*/
a:not([class]) img, a.swipebox img {
  -webkit-transition: all .3s;
  transition: all .3s;
}
a:not([class]):hover img, a.swipebox:hover img {
  opacity: 0.8;
}

.mt-0 {
  margin-top: 0em !important;
}

.mb-0 {
  margin-bottom: 0em !important;
}

.mt-1 {
  margin-top: 1em !important;
}

.mb-1 {
  margin-bottom: 1em !important;
}

.mt-2 {
  margin-top: 2em !important;
}

.mb-2 {
  margin-bottom: 2em !important;
}

.mt-3 {
  margin-top: 3em !important;
}

.mb-3 {
  margin-bottom: 3em !important;
}

.mt-4 {
  margin-top: 4em !important;
}

.mb-4 {
  margin-bottom: 4em !important;
}

.mt-5 {
  margin-top: 5em !important;
}

.mb-5 {
  margin-bottom: 5em !important;
}

.mt-6 {
  margin-top: 6em !important;
}

.mb-6 {
  margin-bottom: 6em !important;
}

.mt-7 {
  margin-top: 7em !important;
}

.mb-7 {
  margin-bottom: 7em !important;
}

.mt-8 {
  margin-top: 8em !important;
}

.mb-8 {
  margin-bottom: 8em !important;
}

.mt-9 {
  margin-top: 9em !important;
}

.mb-9 {
  margin-bottom: 9em !important;
}

.mt-10 {
  margin-top: 10em !important;
}

.mb-10 {
  margin-bottom: 10em !important;
}

.tel_text a {
  color: currentColor;
}

@media (min-width: 768px) {
  .d-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .d-flex:after {
    content: none !important;
  }
  .d-flex > .col {
    float: none !important;
  }
  .d-flex > .col:after {
    content: none !important;
  }

  .flex-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .flex-row-reverse > .col {
    margin-left: 0 !important;
  }

  .align-items-start {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }

  .align-items-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .align-items-end {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }

  .justify-content-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .justify-content-between {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }

  .justify-content-start {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }

  .justify-content-end {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media (max-width: 767px) {
  .sp-hide,
  .pc-only,
  .tablet-only {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .pc-hide,
  .sp-only {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .tablet-hide {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .tablet-only {
    display: none !important;
  }
}
p:not(:last-child) {
  margin-bottom: 1em;
}

strong {
  font-weight: bold;
}

.text-large {
  font-size: 18px;
}
@media (min-width: 768px) {
  .text-large {
    font-size: 22px;
  }
}

.text-xlarge {
  font-size: 20px;
}
@media (min-width: 768px) {
  .text-xlarge {
    font-size: 26px;
  }
}

@media (min-width: 768px) {
  .link_col_2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .link_col_2 li {
    width: 49%;
  }
  .link_col_2 li:nth-child(odd) {
    margin-right: 2%;
  }
  .link_col_2 li:not(:nth-child(-n + 2)) {
    margin-top: 2%;
  }
}

@media (min-width: 768px) {
  .link_col_3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .link_col_3 li {
    width: 32%;
  }
  .link_col_3 li:not(:nth-child(3n)) {
    margin-right: 2%;
  }
  .link_col_3 li:not(:nth-child(-n + 3)) {
    margin-top: 2%;
  }
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

@media (min-width: 768px) {
  .pc-text-left {
    text-align: left !important;
  }

  .pc-text-center {
    text-align: center !important;
  }

  .pc-text-right {
    text-align: right !important;
  }
}
@media (max-width: 767px) {
  .sp-text-left {
    text-align: left !important;
  }

  .sp-text-center {
    text-align: center !important;
  }

  .sp-text-right {
    text-align: right !important;
  }
}
.cl1 {
  color: #8fc31f;
}

.cl2 {
  color: #ec6d88;
}

section {
  margin: 0 0 10%;
}
@media (min-width: 1025px) {
  section {
    margin: 0 0 7%;
  }
}

.mainblock p, .mce-content-body p {
  margin: 0;
}
.mainblock p:not(:last-child), .mce-content-body p:not(:last-child) {
  margin-bottom: 1.4em;
}

/*====================================
	汎用ボタン
====================================*/
.btn-style a {
  padding: 1rem 2em;
  background: #ec6d88;
  text-decoration: none;
  color: white;
  border-radius: 10px;
  width: 280px;
  max-width: 100%;
  display: block;
  text-align: center;
  font-size: clamp(16px, 1.8vw, 18px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  margin-inline: auto;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.btn-style a:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 8px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 51%);
          clip-path: polygon(0 0, 0% 100%, 100% 51%);
  background: currentColor;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.btn-style a:hover {
  background: #8fc31f;
  color: #fff;
}
.btn-style.cl2 a {
  background: #8fc31f;
}
.btn-style.cl2 a:hover {
  background: #ec6d88;
}
@media screen and (min-width: 768px) {
  .btn-style a {
    padding: 17px 2em 13px;
  }
  .btn-style.pc-text-left a {
    margin-left: 0;
  }
}

/*====================================
	cssでループスライダー
====================================*/
.loopslider_wrap {
  overflow: hidden;
}

.loopslider {
  -webkit-animation: loopslider 40s linear infinite;
          animation: loopslider 40s linear infinite;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(286px * 14);
  height: 100%;
}

@-webkit-keyframes loopslider {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(calc(-334px * 7));
            transform: translateX(calc(-334px * 7));
  }
}

@keyframes loopslider {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(calc(-334px * 7));
            transform: translateX(calc(-334px * 7));
  }
}
/*====================================
	お問い合わせページ (Contact Form 7)
====================================*/
.wpcf7 dl {
  width: 70%;
  margin: 0 auto 20px;
  overflow: hidden;
  border-top: 1px dashed #ccc;
}
.wpcf7 dl dt, .wpcf7 dl dd {
  padding: 10px 5px;
}
.wpcf7 dl dt {
  clear: both;
  float: left;
}
.wpcf7 dl dd {
  padding-left: 14em;
  border-bottom: 1px dashed #ccc;
}
.wpcf7 dl dd input {
  max-width: 90%;
  width: 500px;
}
.wpcf7 dl dd .heckbox input, .wpcf7 dl dd .radio input {
  width: 20px;
}
.wpcf7 dl .attention, .wpcf7 dl dl dt .requisite {
  font-size: 78%;
  color: #f45000;
}
.wpcf7 .mf {
  font-size: 80%;
  color: #EA0000;
  padding-left: 3px;
}
.wpcf7 .ex, .wpcf7 .subtxt {
  font-size: 88%;
  color: #ccc;
  line-height: 1.4em;
  display: inline-block;
}
.wpcf7 .wpcf7-not-valid-tip {
  font-size: 76%;
  color: #af2223;
}

.wpcf7 dl dd .correspondence span.wpcf7-list-item,
.wpcf7 dl dd .course span.wpcf7-list-item,
.wpcf7 dl dd .health-insurance span.wpcf7-list-item,
.wpcf7 dl dd .radio01 span.wpcf7-list-item,
.wpcf7 dl dd .sexes span.wpcf7-list-item {
  display: block;
}
.wpcf7 dl dd.radio01 input {
  max-width: 48%;
  width: auto;
}
.wpcf7 dl dd textarea {
  max-width: 90%;
  width: 500px;
}
.wpcf7 dl dd .wpcf7-list-item {
  margin-right: 10px;
}
.wpcf7 .btn-style {
  text-align: center;
}
.wpcf7 .btn-style input {
  width: 120px;
  font-size: 16px;
  padding: 0.4em;
}
.wpcf7 .btn-style input:hover {
  cursor: pointer;
  opacity: 0.6;
  -moz-opacity: 0.6;
  filter: alpha(opacity=60);
}

.mainblock .wpcf7 dl dd p {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .wpcf7 dl dt {
    float: none;
    margin-bottom: 0;
    padding-bottom: 2px;
  }
  .wpcf7 dl dd {
    padding-left: 5px;
    padding-top: 5px;
  }
  .wpcf7 dl dd input, .wpcf7 dl dd textarea {
    padding: 5px 2px;
    border: 1px solid #ccc;
    -webkit-box-shadow: none;
            box-shadow: none;
    max-width: 100%;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
/*====================================
	下層パーツ
====================================*/
.bread_wrap .bread {
  text-align: left;
}

.link_anchor.typeA {
  border: solid 1px #e1e6ed;
  padding: 15px 20px;
  border-radius: 5px;
}
@media (min-width: 1025px) {
  .link_anchor.typeA {
    padding: 30px 45px;
  }
}
.link_anchor.typeA li {
  margin: 10px 0;
}
.link_anchor.typeA li a {
  text-decoration: none;
  color: #8fc31f;
  line-height: 1.4;
  padding-left: 38px;
  position: relative;
  line-height: 1.4;
  display: block;
}
@media (min-width: 1025px) {
  .link_anchor.typeA li a {
    font-size: 17px;
    letter-spacing: .05em;
  }
}
.link_anchor.typeA li a:before {
  content: "";
  background: url(img/anchor_icon.png) no-repeat center/cover;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.link_anchor.typeA li a:hover {
  color: #ec6d88;
}
.link_anchor.typeB {
  display: grid;
  height: 100%;
  gap: 10px;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
.link_anchor.typeB li {
  display: table;
}
.link_anchor.typeB li a {
  display: table-cell;
  border: 1px solid;
  vertical-align: middle;
  text-decoration: none;
  padding: 15px 15px 12px;
  line-height: 1.4;
  -webkit-transition: all .3s;
  transition: all .3s;
  color: #ec6d88;
  font-weight: bold;
  border-radius: 5px;
  background: white;
  position: relative;
}
.link_anchor.typeB li a:after {
  content: "";
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 8px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 51%);
          clip-path: polygon(0 0, 0% 100%, 100% 51%);
  background: currentColor;
}
.link_anchor.typeB li a:hover {
  background: #ec6d88;
  color: white;
}
@media (min-width: 768px) {
  .link_anchor.typeB.list_col_2 {
    grid-template-columns: repeat(2, minmax(49%, 1fr));
    grid-template-areas: "1 1";
    grid-auto-columns: 49%;
  }
  .link_anchor.typeB.list_col_3 {
    grid-template-columns: repeat(3, minmax(32%, 1fr));
    grid-template-areas: "1 1 1";
    grid-auto-columns: 32%;
  }
}

.under h3, .under h4, .under h5, .under h6 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: bold;
}
.under h3 {
  position: relative;
  padding-top: 40px;
}
.under h3:after {
  content: "";
  width: 34px;
  height: 36px;
  background: url("img/h3.png") no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  margin: auto;
}
@media (min-width: 1025px) {
  .under h3 {
    font-size: 30px;
    letter-spacing: 0.075em;
  }
}

.border-block {
  padding: 15px 20px;
  border: solid 4px #ffccd8;
  border-radius: 20px;
}
.border-block:not(:last-child) {
  margin-bottom: 50px;
}
.border-block h3, .border-block h4, .border-block h5, .border-block h6 {
  margin-top: 0;
}
@media (min-width: 1025px) {
  .border-block {
    padding: 30px 50px;
  }
}

.bg-block {
  padding: 15px 20px;
  background: #fff2f5;
}
.bg-block:not(:last-child) {
  margin-bottom: 50px;
}
.bg-block h3, .bg-block h4, .bg-block h5, .bg-block h6 {
  margin-top: 0;
}
@media (min-width: 1025px) {
  .bg-block {
    padding: 30px 50px;
  }
}

.flow-block {
  padding: 15px 20px;
  border: solid 4px #d8e9b3;
  border-radius: 20px;
}
.flow-block:after {
  display: none;
}
.flow-block:not(:last-child) {
  margin-bottom: 70px;
  bottom: auto;
}
.flow-block:not(:last-child):after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 34px 42.5px 0 42.5px;
  border-color: #8fc31f transparent transparent transparent;
  top: calc(100% + 25px);
  bottom: auto;
  right: 0;
  left: 0;
  margin: auto;
}
.flow-block .flow_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  margin-bottom: 10px;
}
.flow-block .flow_title p {
  margin: 0;
}
.flow-block .flow_title .num {
  background: #8fc31f;
  color: #fff;
  width: 30px;
  height: 27px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 12px;
  font-size: 20px;
  padding-top: 3px;
}
.flow-block .flow_title .tit {
  font-size: clamp(20px, 2.4vw, 24px);
  padding-top: 3px;
}
@media (min-width: 1025px) {
  .flow-block {
    padding: 30px 50px;
  }
}

.ul01 li:before {
  background: #ec6d88;
}

.ul_arrow li:before {
  border-top: 8px solid #ec6d88;
}

.ul_check li:before {
  border-color: #8fc31f;
  background: #8fc31f;
}

.time-table th, .time-table td {
  border: 0;
}
.time-table th {
  background: #fff;
  color: #333333;
}
.time-table thead th {
  background: #fcdee4;
}
.time-table tbody tr {
  border-bottom: solid 1px #c6c6c6;
}

.icon_color01 {
  color: #8fc31f;
}

.icon_color02 {
  color: #ec6d88;
}

.table01 tr:first-child th {
  border-top: solid 1px #ec6d88;
}
.table01 tr:first-child td {
  border-top: solid 1px #eeeeee;
}
.table01 th, .table01 td {
  padding: 10px 15px;
}
@media (min-width: 1025px) {
  .table01 th, .table01 td {
    padding: 20px 30px;
  }
}
.table01 th {
  border-color: #ec6d88;
}

.border-table th, .border-table td {
  padding: .7em 1em;
}
@media (min-width: 1025px) {
  .border-table th, .border-table td {
    padding: .7em 1.5em;
  }
}
.border-table thead th {
  background: #8fc31f;
}
.border-table tbody th {
  background: rgba(143, 195, 31, 0.3);
  color: #333333;
}

table.manu-table tbody td {
  text-align: right;
}
@media (max-width: 767px) {
  table.responsive-stack th, table.responsive-stack td {
    display: block;
  }
}
table.responsive-stack.manu-table tbody th, table.responsive-stack.manu-table tbody td {
  text-align: center;
}

.qa-block {
  border-top: 0;
  padding: 0;
  position: relative;
  margin-bottom: 0;
}
.qa-block.bg {
  padding: 1em;
  background: rgba(143, 195, 31, 0.3);
  border-radius: 10px;
}
.qa-block:not(:last-child) {
  border-bottom: 1px solid #b0b0b0;
  padding-bottom: clamp(10px, 2vw, 20px);
  margin-bottom: clamp(10px, 2vw, 20px);
}
.qa-block h4 {
  position: relative;
}
.qa-block h4:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #ec6d88;
  border-right: solid 2px #ec6d88;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5px;
  left: auto;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transition: .3s;
  transition: .3s;
}
.qa-block.open h4:after {
  -webkit-transform: rotate(315deg);
          transform: rotate(315deg);
  -webkit-transition: .3s;
  transition: .3s;
}
.qa-block h4 {
  margin: 0;
  cursor: pointer;
  padding: .5em 0;
  font-size: 20px;
}
.qa-block h4:before {
  background: url(img/q_icon.png) no-repeat center/cover;
}
.qa-block .answer {
  position: relative;
  display: none;
  padding: 0;
  margin: 1em auto 1.5em;
}
.qa-block .answer:before {
  content: "";
  background: url(img/a_icon.png) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
}
.qa-block h4, .qa-block .answer {
  padding-left: 40px !important;
}
.qa-block h4:before, .qa-block .answer:before {
  width: 30px;
  height: 30px;
}
@media (min-width: 1025px) {
  .qa-block h4, .qa-block .answer {
    padding-left: 55px !important;
  }
  .qa-block h4:before, .qa-block .answer:before {
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 767px) {
  .box-same {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30px 10px;
  }
  .box-same .box {
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .box-same {
    display: grid;
    gap: 2%;
  }
  .box-same .box {
    display: grid;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  .box-same.col2 {
    grid-template-columns: repeat(auto-fit, minmax(49%, 1fr));
  }
  .box-same.col3 {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  }
  .box-same.span1 .box {
    grid-row: span 1;
  }
  .box-same.span2 .box {
    grid-row: span 2;
  }
  .box-same.span3 .box {
    grid-row: span 3;
  }
  .box-same.span4 .box {
    grid-row: span 4;
  }
  .box-same.span5 .box {
    grid-row: span 5;
  }
  .box-same.span6 .box {
    grid-row: span 6;
  }
  .box-same.span7 .box {
    grid-row: span 7;
  }
  .box-same.span8 .box {
    grid-row: span 8;
  }
  .box-same.span9 .box {
    grid-row: span 9;
  }
  .box-same.span10 .box {
    grid-row: span 10;
  }
}

.namibt {
  position: relative;
}
.namibt:after {
  content: "";
  position: absolute;
  left: 0;
  top: auto;
  bottom: -1px;
  width: 100%;
  height: 50px;
  -webkit-clip-path: polygon(100% 100%, 0% 100%, 0% 60.21%, 1.67% 56.52%, 3.33% 52.95%, 5% 49.55%, 6.67% 46.37%, 8.33% 43.45%, 10% 40.83%, 11.67% 38.54%, 13.33% 36.61%, 15% 35.07%, 16.67% 33.95%, 18.33% 33.24%, 20% 32.97%, 21.67% 33.14%, 23.33% 33.74%, 25% 34.76%, 26.67% 36.2%, 28.33% 38.04%, 30% 40.24%, 31.67% 42.79%, 33.33% 45.64%, 35% 48.76%, 36.67% 52.11%, 38.33% 55.64%, 40% 59.31%, 41.67% 63.06%, 43.33% 66.85%, 45% 70.64%, 46.67% 74.36%, 48.33% 77.96%, 50% 81.41%, 51.67% 84.65%, 53.33% 87.65%, 55% 90.36%, 56.67% 92.74%, 58.33% 94.77%, 60% 96.41%, 61.67% 97.66%, 63.33% 98.48%, 65% 98.87%, 66.67% 98.82%, 68.33% 98.34%, 70% 97.43%, 71.67% 96.1%, 73.33% 94.37%, 75% 92.26%, 76.67% 89.81%, 78.33% 87.04%, 80% 83.99%, 81.67% 80.7%, 83.33% 77.21%, 85% 73.57%, 86.67% 69.84%, 88.33% 66.05%, 90% 62.26%, 91.67% 58.52%, 93.33% 54.88%, 95% 51.38%, 96.67% 48.08%, 98.33% 45.01%, 100% 42.22%);
          clip-path: polygon(100% 100%, 0% 100%, 0% 60.21%, 1.67% 56.52%, 3.33% 52.95%, 5% 49.55%, 6.67% 46.37%, 8.33% 43.45%, 10% 40.83%, 11.67% 38.54%, 13.33% 36.61%, 15% 35.07%, 16.67% 33.95%, 18.33% 33.24%, 20% 32.97%, 21.67% 33.14%, 23.33% 33.74%, 25% 34.76%, 26.67% 36.2%, 28.33% 38.04%, 30% 40.24%, 31.67% 42.79%, 33.33% 45.64%, 35% 48.76%, 36.67% 52.11%, 38.33% 55.64%, 40% 59.31%, 41.67% 63.06%, 43.33% 66.85%, 45% 70.64%, 46.67% 74.36%, 48.33% 77.96%, 50% 81.41%, 51.67% 84.65%, 53.33% 87.65%, 55% 90.36%, 56.67% 92.74%, 58.33% 94.77%, 60% 96.41%, 61.67% 97.66%, 63.33% 98.48%, 65% 98.87%, 66.67% 98.82%, 68.33% 98.34%, 70% 97.43%, 71.67% 96.1%, 73.33% 94.37%, 75% 92.26%, 76.67% 89.81%, 78.33% 87.04%, 80% 83.99%, 81.67% 80.7%, 83.33% 77.21%, 85% 73.57%, 86.67% 69.84%, 88.33% 66.05%, 90% 62.26%, 91.67% 58.52%, 93.33% 54.88%, 95% 51.38%, 96.67% 48.08%, 98.33% 45.01%, 100% 42.22%);
}
@media screen and (max-width: 767px) {
  .namibt:after {
    height: calc(50 / 767 * 100vw);
  }
}

.sec_top.pd {
  padding: clamp(50px, 10vw, 100px) 0;
  margin-bottom: 0;
}
.sec_top.namibt {
  padding-bottom: clamp(80px, 13vw, 130px);
}
.sec_top h2, .sec_top h3, .sec_top h4 {
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.sec_top .l2 {
  line-height: 2;
}
.sec_00 {
  background: url("img/sec00_bg.jpg") no-repeat center/cover;
}

.sec_00 .box-tit {
  margin-bottom: clamp(20px, 4vw, 40px);
}

.sec_00 .box-tit figure {
  margin-bottom: clamp(20px, 4vw, 40px);
  text-align: center;
}

.sec_00 .box-tit .small {
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: bold;
  line-height: calc(38 / 24);
}

.sec_00 .box-banner {
  width: 100%;
}

.sec_00 .box-banner a {
  box-sizing: border-box;
  text-decoration: none;
  display: flex;
  align-items: center;
  background: url("img/banner_bg.jpg") no-repeat center/cover;
  max-width: 100%;
  margin-inline: auto;
  transition: all .3s;
  position: relative;
}

.sec_00 .box-banner a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: white;
  opacity: 0;
  transition: all .3s;
}

.sec_00 .box-banner a .box-txt span {
  display: block;
  color: white;
  font-weight: bold;
}

.sec_00 .box-banner a .box-txt .txt1 {
  line-height: calc(38 / 24);
  letter-spacing: 0.06em;
}

.sec_00 .box-banner a .box-txt .txt2 {
  letter-spacing: normal;
}

.sec_00 .box-banner a .box-txt .btn {
  width: 280px;
  height: 60px;
  font-size: 18px;
  background: white;
  border-radius: 10px;
  text-align: center;
  color: #52a3b4;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: all .3s;
}

.sec_00 .box-banner a .box-txt .btn:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: currentColor;
  width: 8px;
  height: 10px;
  right: 20px;
}

.sec_00 .box-banner a:hover:before {
  opacity: .3;
}

.sec_00 .box-banner a:hover .btn {
  background: #52a3b4;
  color: white;
}

@media screen and (max-width: 767px) {
  .sec_00 .box-tit figure img {
    width: calc(744 / 767 * 100vw);
  }
  .sec_00 .box-tit .small {
    font-size: calc(32 / 767 * 100vw);
  }
  .sec_00 .box-banner a {
    width: calc(767 / 767 * 100vw);
    height: calc(300 / 767 * 100vw);
    padding-left: calc(20 / 767 * 100vw);
  }
  .sec_00 .box-banner a .box-txt .txt1 {
    font-size: calc(24 / 767 * 100vw);
    margin-bottom: calc(15 / 767 * 100vw);
  }
  .sec_00 .box-banner a .box-txt .txt2 {
    margin-bottom: calc(20 / 767 * 100vw);
    font-size: calc(44 / 767 * 100vw);
    translate: calc(-20 / 767 * 100vw);
  }
  .sec_00 .box-banner a .box-txt .btn {
    font-size: calc(20 / 767 * 100vw);
    width: calc(280 / 767 * 100vw);
    height: calc(60 / 767 * 100vw);
  }
  .sec_00 .box-banner a .box-txt .btn:after {
    width: calc(14 / 767 * 100vw);
    height: calc(16 / 767 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .sec_00 .box-banner a {
    width: 750px;
    height: 300px;
    padding-left: 40px;
  }
  .sec_00 .box-banner a .box-txt .txt1 {
    font-size: 24px;
    margin-bottom: 25px;
  }
  .sec_00 .box-banner a .box-txt .txt2 {
    margin-bottom: 30px;
    font-size: 44px;
    translate: -20px;
  }
}


.sec_1 {
  background: url("img/sec1_bg.jpg") no-repeat center/cover;
}
.sec_1 .box-tit {
  margin-bottom: clamp(20px, 4vw, 40px);
}
.sec_1 .box-tit figure {
  margin-bottom: clamp(20px, 4vw, 40px);
  text-align: center;
}
.sec_1 .box-tit .small {
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: bold;
  line-height: calc(38 / 24);
}
.sec_1 .row {
  row-gap: clamp(30px, 6vw, 60px);
}
.sec_1 .row > * a {
  display: block;
  text-align: center;
}
.sec_1 .row a:hover img {
  opacity: .5;
}
@media screen and (max-width: 767px) {
  .sec_1 .box-tit figure img {
    width: calc(744 / 767 * 100vw);
  }
  .sec_1 .box-tit .small {
    font-size: calc(32 / 767 * 100vw);
  }
  .sec_1 .row {
    row-gap: calc(40 / 767 * 100vw);
  }
}

.sec_2 {
  margin-bottom: 0 !important;
}
.sec_2 h2 {
  font-size: clamp(24px, 4vw, 40px);
  display: table;
  background: white;
  -webkit-box-shadow: 0 0 10px 5px rgba(51, 51, 51, 0.1);
          box-shadow: 0 0 10px 5px rgba(51, 51, 51, 0.1);
  border-radius: 20px;
  padding: 1.8rem 2rem .4rem;
  margin-inline: auto;
  position: relative;
  margin-bottom: 25px;
}
.sec_2 h2:after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  margin: auto;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
          clip-path: polygon(100% 0, 0 0, 50% 100%);
  background: white;
  width: 131px;
  height: 35px;
  background: url("img/ic-arrow.png") no-repeat center/contain;
}
.sec_2 h2 .large {
  font-size: clamp(28px, 5vw, 52px);
}
.sec_2 h2 .dot {
  position: relative;
}
.sec_2 h2 .dot:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  width: 8px;
  height: 8px;
  background: #ec6d88;
  border-radius: 50%;
  margin: auto;
}
.sec_2 .chat {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}
.sec_2 .chat .large {
  font-size: 26px;
}
.sec_2 .chat .bg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 216px;
  height: 143px;
}
.sec_2 .chat .bg.bg1 {
  background: url("img/chat_bg1.png") no-repeat center/contain;
}
.sec_2 .chat .bg.bg2 {
  background: url("img/chat_bg2.png") no-repeat center/contain;
}
.sec_2 .tit {
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
.sec_2 .tit .small {
  font-size: 18px;
  display: table;
  margin-inline: auto;
  position: relative;
}
.sec_2 .tit .small:before, .sec_2 .tit .small:after {
  content: "";
  position: absolute;
  bottom: 6px;
  width: 1px;
  height: 70%;
  background: #808080;
}
.sec_2 .tit .small:before {
  right: calc(100% + 1rem);
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
}
.sec_2 .tit .small:after {
  left: calc(100% + 1rem);
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
.sec_2 .tit .large {
  font-size: 44px;
}
.sec_2 figure {
  margin-bottom: 30px;
}
.sec_2 .l2 {
  margin-bottom: 40px;
}
.sec_2 .box-same .box {
  position: relative;
  z-index: 0;
}
.sec_2 .box-same .box:before {
  content: "";
  position: absolute;
  width: 100vw;
  height: calc(100% - 35px);
  z-index: -1;
  bottom: 0;
}
.sec_2 .box-same .box__left:before {
  background: url("img/sec2_bg2.jpg");
  right: 0;
}
.sec_2 .box-same .box__right:before {
  background: url("img/sec2_bg1.jpg");
  left: 0;
}
@media screen and (max-width: 767px) {
  .sec_2 h2 {
    font-size: calc(40 / 767 * 100vw);
    padding: 1.3rem 1rem 1rem;
  }
  .sec_2 h2:after {
    width: 110px;
    height: 30px;
  }
  .sec_2 h2 .large {
    font-size: calc(52 / 767 * 100vw);
  }
  .sec_2 h2 .dot {
    padding-top: 3px;
  }
  .sec_2 h2 .dot:before {
    width: calc(10 / 767 * 100vw);
    height: calc(10 / 767 * 100vw);
  }
  .sec_2 .tit .small {
    font-size: calc(26 / 767 * 100vw);
    margin-bottom: .5rem;
  }
  .sec_2 .tit .large {
    font-size: calc(56 / 767 * 100vw);
  }
  .sec_2 .chat .bg {
    width: 200px;
    height: 132px;
  }
  .sec_2 .chat .bg.bg1 {
    margin-left: auto;
  }
  .sec_2 .box-same {
    row-gap: 0;
  }
  .sec_2 .box-same .box {
    padding: 30px 0;
  }
  .sec_2 .box-same .box:before {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    right: auto;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .sec_2 .chat {
    font-size: clamp(18px, 16.667px + 0.174vw, 20px);
  }
  .sec_2 .chat .large {
    font-size: clamp(24px, 22.667px + 0.174vw, 26px);
  }
  .sec_2 .chat .bg {
    width: clamp(190px, 172.667px + 2.257vw, 216px);
    height: clamp(126px, 114.667px + 1.476vw, 143px);
  }
  .sec_2 .chat .bg1 {
    margin-left: auto;
  }
  .sec_2 .tit .small {
    font-size: calc(22 / 1239 * 100vw);
  }
  .sec_2 .tit .large {
    font-size: calc(44 / 1239 * 100vw);
  }
  .sec_2 .box-same {
    gap: 0;
    grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
  }
  .sec_2 .box-same .box {
    padding-bottom: 10vw;
  }
  .sec_2 .box-same .box__left {
    padding-right: calc(40 / 1239 * 100vw);
  }
  .sec_2 .box-same .box__right {
    padding-left: calc(40 / 1239 * 100vw);
  }
}
@media screen and (min-width: 1240px) {
  .sec_2 {
    position: relative;
    padding-top: 25px;
  }
  .sec_2 h2 {
    position: absolute;
    top: 0;
    z-index: 1;
    left: 0;
    right: 0;
  }
  .sec_2 .tit .small {
    font-size: 18px;
  }
  .sec_2 .tit .large {
    font-size: 44px;
  }
  .sec_2 .box-same .box {
    padding-bottom: 100px;
  }
  .sec_2 .box-same .box__left {
    padding-right: 40px;
  }
  .sec_2 .box-same .box__right {
    padding-left: 40px;
  }
}

.sec_3 {
  background: #fff2f5;
}
.sec_3.namibt:after {
  background: white;
}
.sec_3 h2 {
  font-size: clamp(24px, 4vw, 40px);
  position: relative;
  text-align: center;
}
.sec_3 h2:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: url("img/ic_h2.png") no-repeat center/contain;
}
.sec_3 h2 .large {
  font-size: clamp(28px, 5vw, 52px);
}
.sec_3 .sub-tit {
  font-size: clamp(18px, 2vw, 20px);
}
.sec_3 figure {
  margin-bottom: 15px;
}
.sec_3 h3 {
  font-size: clamp(22px, 3vw, 30px);
  text-align: center;
  border-bottom: 1px dashed #ec6d88;
  margin-bottom: 15px;
  padding-bottom: 5px;
}
.sec_3 h3 .small {
  font-size: clamp(18px, 2.4vw, 24px);
}
@media screen and (max-width: 767px) {
  .sec_3 h2 {
    font-size: calc(40 / 767 * 100vw);
    padding-bottom: calc(20 / 767 * 100vw);
    margin-bottom: calc(20 / 767 * 100vw);
  }
  .sec_3 h2:after {
    width: calc(327 / 767 * 100vw);
    height: calc(13 / 767 * 100vw);
  }
  .sec_3 h2 .large {
    font-size: calc(52 / 767 * 100vw);
  }
  .sec_3 .sub-tit {
    font-size: calc(26 / 767 * 100vw);
  }
  .sec_3 .l2 {
    margin-bottom: 15px !important;
  }
}
@media screen and (min-width: 768px) {
  .sec_3 h2 {
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
  .sec_3 h2:after {
    width: 327px;
    height: 13px;
  }
  .sec_3 .sub-tit {
    margin-bottom: 30px;
  }
  .sec_3 .box-same {
    gap: 0 20px;
    grid-template-columns: repeat(auto-fit, minmax(calc((100% - 40px) / 3), 1fr));
  }
  .sec_3 .box-same .btn-style a {
    width: 100%;
    max-width: 280px;
  }
}
@media screen and (min-width: 1240px) {
  .sec_3 .box-same {
    gap: 0 40px;
    grid-template-columns: repeat(auto-fit, minmax(calc((100% - 80px) / 3), 1fr));
  }
}

.sec_4 {
  background: url("img/sec4_bg.jpg") no-repeat center/cover;
}
.sec_4 .title {
  margin-bottom: clamp(30px, 9vw, 90px);
}
.sec_4 .line__type1 {
  padding: 40px 1em 2em;
  border-radius: 20px;
  position: relative;
}
.sec_4 .line__type1:before, .sec_4 .line__type1:after {
  content: "";
  position: absolute;
}
.sec_4 .line__type1 h3 {
  font-size: clamp(24px, 3vw, 30px);
  display: table;
  background: white;
  border-radius: 100vmax;
  padding: .6rem 1.5rem .3rem;
  -webkit-box-shadow: 0 0 7px 3px rgba(51, 51, 51, 0.1);
          box-shadow: 0 0 7px 3px rgba(51, 51, 51, 0.1);
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  margin: auto;
}
.sec_4 .line__type1 h4 {
  text-align: center;
  font-size: clamp(18px, 2vw, 20px);
}
.sec_4 .line:not(:last-child) {
  margin-bottom: clamp(30px, 9vw, 90px);
}
.sec_4 .line__1 {
  background: #fff2f5;
}
.sec_4 .line__1:before {
  background: url("img/sec4_icon1.png") no-repeat center/contain;
}
.sec_4 .line__1:after {
  background: url("img/sec4_icon2.png") no-repeat center/contain;
}
.sec_4 .line__2 {
  background: #f0fad9;
}
.sec_4 .line__2:before {
  background: url("img/sec4_icon3.png") no-repeat center/contain;
}
.sec_4 .line__2:after {
  background: url("img/sec4_icon4.png") no-repeat center/contain;
}
.sec_4 .line__2 .box-same .box .img {
  position: relative;
  margin-bottom: 10px;
}
.sec_4 .line__2 .box-same .box .img h4 {
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 0;
  font-weight: normal;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 0 0 20px 20px;
  padding: 1.2rem .5rem .8rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.sec_4 .line__2 .box-same .box .img h4 .large {
  font-weight: bold;
  font-size: clamp(20px, 2.2vw, 24px);
  display: block;
}
.sec_4 .line__2 .box-same .box .link a {
  color: #8fc31f;
  font-weight: bold;
  position: relative;
  padding-right: 15px;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.sec_4 .line__2 .box-same .box .link a:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: all .3s;
  transition: all .3s;
}
.sec_4 .line__2 .box-same .box .link a:hover {
  color: #ec6d88;
  text-decoration: underline;
}
.sec_4 .line__news .box-tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 25px;
}
.sec_4 .line__news .box-tit h3 {
  font-size: clamp(30px, 4vw, 40px);
  font-family: Arial, Helvetica, sans-serif;
}
.sec_4 .line__news .box-tit .link a {
  font-size: 14px;
  position: relative;
  padding-right: 15px;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.sec_4 .line__news .box-tit .link a:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  height: 6px;
  border-right: 1px solid #ec6d88;
  border-bottom: 1px solid #ec6d88;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin: auto;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.sec_4 .line__news .box-tit .link a:hover {
  color: #ec6d88;
  text-decoration: underline;
}
.sec_4 .line__news .list_list {
  color: #3c3c3c;
}
.sec_4 .line__news .list_list dt {
  padding: 0 0;
}
.sec_4 .line__news .list_list dt + dd {
  border-bottom: 1px solid #c3c3c3;
}
.sec_4 .line__news .list_list dd {
  padding: 0 0 .5em;
}
.sec_4 .line__news .list_list dd:not(:last-child) {
  margin-bottom: .5em;
}
.sec_4 .line__news .list_list dd a:hover {
  color: #ec6d88;
}
@media screen and (max-width: 767px) {
  .sec_4 .title {
    margin-bottom: 50px;
  }
  .sec_4 .line:not(:last-child) {
    margin-bottom: 60px;
  }
  .sec_4 .line__type1 h3 {
    font-size: calc(38 / 767 * 100vw);
    top: calc(-38 / 767 * 100vw);
    padding: .6rem 1.5rem;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .sec_4 .line__1:before {
    bottom: calc(-20 / 767 * 100vw);
    left: calc(-10 / 767 * 100vw);
    width: calc(92 / 767 * 100vw);
    height: calc(58 / 767 * 100vw);
  }
  .sec_4 .line__1:after {
    bottom: calc(-20 / 767 * 100vw);
    right: calc(-10 / 767 * 100vw);
    width: calc(85 / 767 * 100vw);
    height: calc(76 / 767 * 100vw);
  }
  .sec_4 .line__1 figure {
    margin-bottom: 10px;
  }
    .sec_4 .line__1 figure img {
    border-radius: calc(20 / 767 * 100vw);
  }
  .sec_4 .line__1 .box-same {
    margin-bottom: 20px;
  }
  .sec_4 .line__2:before {
    bottom: calc(-16 / 767 * 100vw);
    left: calc(30 / 767 * 100vw);
    width: calc(77 / 767 * 100vw);
    height: calc(83 / 767 * 100vw);
  }
  .sec_4 .line__2:after {
    bottom: calc(-16 / 767 * 100vw);
    right: calc(30 / 767 * 100vw);
    width: calc(77 / 767 * 100vw);
    height: calc(83 / 767 * 100vw);
  }
  .sec_4 .line__2 .box-same .box .img h4 {
    border-radius: 0 0 calc(20 / 767 * 100vw) calc(20 / 767 * 100vw);
    font-size: calc(30 / 767 * 100vw);
    padding: .6rem .5rem;
  }
  .sec_4 .line__2 .box-same .box .img h4 .large {
    font-size: calc(36 / 767 * 100vw);
  }
  .sec_4 .line__2 .box-same .box .l2 {
    margin-bottom: 10px;
  }
  .sec_4 .line__2 .box-same .box .link {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .sec_4 .line__type1 {
    padding: 40px 20px 30px;
  }
  .sec_4 .line__type1 .box-same {
    gap: 0 20px;
  }
  .sec_4 .line__type1 .box-same.col3 {
    grid-template-columns: repeat(auto-fit, minmax(calc((100% - 40px) / 3), 1fr));
  }
  .sec_4 .line__type1 .box-same.col4 {
    grid-template-columns: repeat(auto-fit, minmax(calc((100% - 60px) / 4), 1fr));
  }
  .sec_4 .line__type1 .box-same.col4 figure {
    margin-bottom: 15px;
  }
  .sec_4 .line__type1 .box-same.col4 h4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 10px;
  }
  .sec_4 .line__type1 .box-same:not(:last-child) {
    margin-bottom: 30px;
  }
  .sec_4 .line__1:before {
    top: calc(-30 / 1239 * 100vw);
    left: calc(40 / 1239 * 100vw);
    width: calc(92 / 1239 * 100vw);
    height: calc(58 / 1239 * 100vw);
  }
  .sec_4 .line__1:after {
    bottom: calc(-20 / 1239 * 100vw);
    right: calc(150 / 1239 * 100vw);
    width: calc(85 / 1239 * 100vw);
    height: calc(76 / 1239 * 100vw);
  }
  .sec_4 .line__2:before {
    bottom: calc(-36 / 1239 * 100vw);
    left: calc(30 / 1239 * 100vw);
    width: calc(77 / 1239 * 100vw);
    height: calc(83 / 1239 * 100vw);
  }
  .sec_4 .line__2:after {
    bottom: calc(-36 / 1239 * 100vw);
    right: calc(30 / 1239 * 100vw);
    width: calc(77 / 1239 * 100vw);
    height: calc(83 / 1239 * 100vw);
  }
  .sec_4 .line__2 .l2 {
    margin-bottom: 5px !important;
  }
  .sec_4 .line__news .list_list dt {
    width: 120px;
    float: left;
    clear: both;
    padding: 1em 0;
  }
  .sec_4 .line__news .list_list dt + dd {
    padding-left: 120px;
  }
  .sec_4 .line__news .list_list dt:first-child {
    padding-top: 0;
  }
  .sec_4 .line__news .list_list dt:first-child + dd {
    padding-top: 0;
  }
  .sec_4 .line__news .list_list dd {
    padding: 1em 0;
  }
}
@media screen and (min-width: 1240px) {
  .sec_4 .line__type1 {
    padding: 55px;
  }
  .sec_4 .line__type1 .box-same {
    gap: 0 40px;
  }
  .sec_4 .line__type1 .box-same.col3 {
    grid-template-columns: repeat(auto-fit, minmax(calc((100% - 80px) / 3), 1fr));
  }
  .sec_4 .line__type1 .box-same.col4 {
    grid-template-columns: repeat(auto-fit, minmax(calc((100% - 120px) / 4), 1fr));
  }
  .sec_4 .line__1:before {
    top: -30px;
    left: 40px;
    width: 92px;
    height: 58px;
  }
  .sec_4 .line__1:after {
    bottom: -20px;
    right: 150px;
    width: 85px;
    height: 76px;
  }
  .sec_4 .line__2:before {
    bottom: -36px;
    left: 30px;
    width: 77px;
    height: 83px;
  }
  .sec_4 .line__2:after {
    bottom: -36px;
    right: 30px;
    width: 77px;
    height: 83px;
  }
}

.sec_links {
  background: url("img/sec5_bg.jpg");
  padding: 30px 0;
}
.sec_links .box-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0;
          column-gap: 0;
}
.sec_links .box-links a {
  text-decoration: none;
  color: white;
  width: 50%;
  font-size: 26px;
  font-weight: bold;
  position: relative;
  -webkit-transition: all .3s;
  transition: all .3s;
  padding: 15px 0;
}
.sec_links .box-links a:not(:last-child) {
  border-right: 2px dotted;
}
.sec_links .box-links a:after {
  content: "";
  position: absolute;
  right: clamp(10px, 3vw, 30px);
  top: 0;
  bottom: 0;
  margin: auto;
  background: currentColor;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 51%);
          clip-path: polygon(0 0, 0% 100%, 100% 51%);
  width: 10px;
  height: 12px;
}
.sec_links .box-links a .icon {
  position: relative;
  display: block;
  text-align: center;
}
.sec_links .box-links a .icon:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  margin: auto;
}
.sec_links .box-links a .icon__ha {
  padding-top: 70px;
}
.sec_links .box-links a .icon__ha:before {
  width: 42px;
  height: 50px;
  background: url("img/ic_ha.png") no-repeat center/contain;
}
.sec_links .box-links a .icon__search {
  padding-top: 69px;
}
.sec_links .box-links a .icon__search:before {
  width: 49px;
  height: 49px;
  background: url("img/ic_search.png") no-repeat center/contain;
}
.sec_links .box-links a:hover {
  background: #8fc31f;
}
@media screen and (max-width: 767px) {
  .sec_links .box-links a {
    font-size: 20px;
  }
  .sec_links .box-links a .icon__ha {
    padding-top: 50px;
  }
  .sec_links .box-links a .icon__ha:before {
    width: 32px;
    height: 40px;
  }
  .sec_links .box-links a .icon__search {
    padding-top: 49px;
  }
  .sec_links .box-links a .icon__search:before {
    width: 39px;
    height: 39px;
  }
}

.sec_ist {
  margin-bottom: clamp(50px, 10vw, 100px);
  padding: clamp(50px, 10vw, 100px) 0;
  background: #fff2f5;
}
.sec_ist.namibt:after {
  background: #fff;
}
.sec_ist h2 {
  font-size: 40px;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 40px;
}
.sec_ist .row {
  margin-bottom: 30px !important;
}
@media screen and (max-width: 767px) {
  .sec_ist h2 {
    font-size: 36px;
    margin-bottom: 25px;
  }
  .sec_ist .row {
    gap: calc(20 / 767 * 100vw);
  }
  .sec_ist .row .col {
    width: calc((100% - (20 / 767 * 100vw)) / 2);
  }
}
@media screen and (min-width: 768px) {
  .sec_ist .row {
    -webkit-column-gap: 20px;
            column-gap: 20px;
  }
  .sec_ist .row .col {
    width: calc((100% - 60px) / 4);
  }
}
@media screen and (min-width: 1240px) {
  .sec_ist .row {
    -webkit-column-gap: 40px;
            column-gap: 40px;
  }
  .sec_ist .row .col {
    width: calc((100% - 120px) / 4);
  }
}


.mceContentBody {
  width: 100%;
}