@charset "UTF-8";
/*
目次~TOPページのコンテンツ~
#mainimage
#汎用ボタン
#loopSlider　無限ループスライダー
#TOP コンテンツ
#TOP newsパーツ
#Custom ここに追記
#mediaquery
#
#
/*===================
	　#mainimage
=====================*/
.slick-slide img {
  /*スライダーの時*/
  margin: 0 auto;
}

.mainimage, .slider {
  margin-bottom: 0;
}

.mainimage {
  margin-bottom: clamp(50px, 12vw, 120px);
}
.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
*****************/
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.row.container {
  row-gap: 0;
}
.row:not(:last-child) {
  margin-bottom: clamp(30px, 5vw, 50px);
}
@media screen and (max-width: 767px) {
  .row {
    row-gap: 30px;
  }
  .row > *, .row .col {
    width: 100%;
  }
  .row.sp_col2 {
    gap: 10px 10px;
  }
  .row.sp_col2 > *, .row.sp_col2 .col {
    width: calc((100% - 10px) / 2);
  }
  .row.sp_col3 {
    gap: 10px 10px;
  }
  .row.sp_col3 > *, .row.sp_col3 .col {
    width: calc((100% - 20px) / 3);
  }
  .row.sp_col2 .col_2 .box_bg,
  .row.sp_col2 .col_2 .box_border, .row.sp_col2 .col_3 .box_bg,
  .row.sp_col2 .col_3 .box_border, .row.sp_col2 .col_4 .box_bg,
  .row.sp_col2 .col_4 .box_border, .row.sp_col2 .col_5 .box_bg,
  .row.sp_col2 .col_5 .box_border, .row.sp_col2 .col_6 .box_bg,
  .row.sp_col2 .col_6 .box_border {
    height: 100%;
    padding: 20px;
  }
  .row.sp_col2 .col_2 .box_bg .box_bg,
  .row.sp_col2 .col_2 .box_bg .box_border,
  .row.sp_col2 .col_2 .box_border .box_bg,
  .row.sp_col2 .col_2 .box_border .box_border, .row.sp_col2 .col_3 .box_bg .box_bg,
  .row.sp_col2 .col_3 .box_bg .box_border,
  .row.sp_col2 .col_3 .box_border .box_bg,
  .row.sp_col2 .col_3 .box_border .box_border, .row.sp_col2 .col_4 .box_bg .box_bg,
  .row.sp_col2 .col_4 .box_bg .box_border,
  .row.sp_col2 .col_4 .box_border .box_bg,
  .row.sp_col2 .col_4 .box_border .box_border, .row.sp_col2 .col_5 .box_bg .box_bg,
  .row.sp_col2 .col_5 .box_bg .box_border,
  .row.sp_col2 .col_5 .box_border .box_bg,
  .row.sp_col2 .col_5 .box_border .box_border, .row.sp_col2 .col_6 .box_bg .box_bg,
  .row.sp_col2 .col_6 .box_bg .box_border,
  .row.sp_col2 .col_6 .box_border .box_bg,
  .row.sp_col2 .col_6 .box_border .box_border {
    height: auto;
  }
  .row.sp_order {
    row-gap: 0;
  }
  .row.sp_order .col {
    display: contents;
  }
  .row.sp_order .col > * {
    width: 100%;
  }
  .row.sp_order .col .spord1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .row.sp_order .col .spord2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .row.sp_order .col .spord3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .row.sp_order .col .spord4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .row.sp_order .col .spord5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .row.sp_order .col .spord6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .row.sp_order .col .spord7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .row.sp_order .col .spord8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .row.sp_order .col .spord9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .row.sp_order .col .spord10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
}
@media screen and (min-width: 768px) {
  .row {
    gap: 20px 2%;
  }
  .row.auto > *, .row.auto .col {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
  }
  .row.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .row.col2 > *, .row.col2 .col {
    width: calc((100% - 2%) / 2);
  }
  .row.col3 > *, .row.col3 .col {
    width: calc((100% - 4%) / 3);
  }
  .row.col4 > *, .row.col4 .col {
    width: calc((100% - 6%) / 4);
  }
  .row.col5 > *, .row.col5 .col {
    width: calc((100% - 8%) / 5);
  }
  .row .col_2 {
    width: 49%;
  }
  .row .col_3 {
    width: calc(96% / 3);
  }
  .row .col_4 {
    width: calc(94% / 4);
  }
  .row .col_5 {
    width: calc(92% / 4);
  }
  .row.base .col .box_bg,
  .row.base .col .box_border, .row.base .col_2 .box_bg,
  .row.base .col_2 .box_border, .row.base .col_3 .box_bg,
  .row.base .col_3 .box_border, .row.base .col_4 .box_bg,
  .row.base .col_4 .box_border, .row.base .col_5 .box_bg,
  .row.base .col_5 .box_border, .row.base .col_6 .box_bg,
  .row.base .col_6 .box_border {
    padding: 40px;
  }
  .row.base .col .box_bg .box_bg,
  .row.base .col .box_bg .box_border,
  .row.base .col .box_border .box_bg,
  .row.base .col .box_border .box_border, .row.base .col_2 .box_bg .box_bg,
  .row.base .col_2 .box_bg .box_border,
  .row.base .col_2 .box_border .box_bg,
  .row.base .col_2 .box_border .box_border, .row.base .col_3 .box_bg .box_bg,
  .row.base .col_3 .box_bg .box_border,
  .row.base .col_3 .box_border .box_bg,
  .row.base .col_3 .box_border .box_border, .row.base .col_4 .box_bg .box_bg,
  .row.base .col_4 .box_bg .box_border,
  .row.base .col_4 .box_border .box_bg,
  .row.base .col_4 .box_border .box_border, .row.base .col_5 .box_bg .box_bg,
  .row.base .col_5 .box_bg .box_border,
  .row.base .col_5 .box_border .box_bg,
  .row.base .col_5 .box_border .box_border, .row.base .col_6 .box_bg .box_bg,
  .row.base .col_6 .box_bg .box_border,
  .row.base .col_6 .box_border .box_bg,
  .row.base .col_6 .box_border .box_border {
    padding: 30px;
  }
  .row.base .col .box_bg .box_bg:not(:last-child),
  .row.base .col .box_bg .box_border:not(:last-child),
  .row.base .col .box_border .box_bg:not(:last-child),
  .row.base .col .box_border .box_border:not(:last-child), .row.base .col_2 .box_bg .box_bg:not(:last-child),
  .row.base .col_2 .box_bg .box_border:not(:last-child),
  .row.base .col_2 .box_border .box_bg:not(:last-child),
  .row.base .col_2 .box_border .box_border:not(:last-child), .row.base .col_3 .box_bg .box_bg:not(:last-child),
  .row.base .col_3 .box_bg .box_border:not(:last-child),
  .row.base .col_3 .box_border .box_bg:not(:last-child),
  .row.base .col_3 .box_border .box_border:not(:last-child), .row.base .col_4 .box_bg .box_bg:not(:last-child),
  .row.base .col_4 .box_bg .box_border:not(:last-child),
  .row.base .col_4 .box_border .box_bg:not(:last-child),
  .row.base .col_4 .box_border .box_border:not(:last-child), .row.base .col_5 .box_bg .box_bg:not(:last-child),
  .row.base .col_5 .box_bg .box_border:not(:last-child),
  .row.base .col_5 .box_border .box_bg:not(:last-child),
  .row.base .col_5 .box_border .box_border:not(:last-child), .row.base .col_6 .box_bg .box_bg:not(:last-child),
  .row.base .col_6 .box_bg .box_border:not(:last-child),
  .row.base .col_6 .box_border .box_bg:not(:last-child),
  .row.base .col_6 .box_border .box_border:not(:last-child) {
    margin-bottom: 20px;
  }
  .row__img_txt .col__img {
    width: 32%;
  }
  .row__img_txt .col__text {
    width: 66%;
  }
  .row__img_txt .col__text .box_bg,
  .row__img_txt .col__text .box_border {
    height: auto;
  }
}
@media screen and (min-width: 1240px) {
  .row .col__imgleft {
    width: 50vw;
    margin-left: calc((50vw - 50%) * -1);
  }
  .row .col__imgright {
    width: 50vw;
    margin-right: -50vw;
  }
}

@media screen and (max-width: 767px) {
  .row_same {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30px 10px;
  }
  .row_same .box {
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .row_same {
    display: grid;
    gap: 2%;
  }
  .row_same .box {
    display: grid;
    grid-template-rows: subgrid;
    row-gap: 10px;
  }
  .row_same.col2 {
    grid-template-columns: repeat(auto-fit, minmax(49%, 1fr));
  }
  .row_same.col3 {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  }
  .row_same.span1 .box {
    grid-row: span 1;
  }
  .row_same.span2 .box {
    grid-row: span 2;
  }
  .row_same.span3 .box {
    grid-row: span 3;
  }
  .row_same.span4 .box {
    grid-row: span 4;
  }
  .row_same.span5 .box {
    grid-row: span 5;
  }
  .row_same.span6 .box {
    grid-row: span 6;
  }
  .row_same.span7 .box {
    grid-row: span 7;
  }
  .row_same.span8 .box {
    grid-row: span 8;
  }
  .row_same.span9 .box {
    grid-row: span 9;
  }
  .row_same.span10 .box {
    grid-row: span 10;
  }
}

/****************
	#mediaquery
*****************/
@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;
  }

  .flex .news-tel {
    width: 66%;
    -webkit-box-flex-basis: 66%;
    -ms-flex-preferred-size: 66%;
    flex-basis: 66%;
  }

  .flex .news-access {
    width: 33%;
    -webkit-box-flex-basis: 33%;
    -ms-flex-preferred-size: 33%;
    flex-basis: 33%;
  }

  .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: flex;
    -moz-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 30px 2%;
  }
  .flex:not(:last-child) {
    margin-bottom: clamp(30px, 5vw, 50px);
  }
  .flex.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .flex.center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .flex__imgtxt {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .flex__imgtxt .col__img {
    width: 35%;
  }
  .flex__imgtxt .col__text {
    width: 63%;
  }

  .col_2 {
    width: 48%;
    -webkit-box-flex-basis: 48%;
    -ms-flex-preferred-size: 48%;
    flex-basis: 48%;
  }
  .col_2 .bg-block, .col_2 .border-block {
    height: 100%;
  }
  .col_2 .bg-block h3, .col_2 .bg-block h4, .col_2 .bg-block h5, .col_2 .border-block h3, .col_2 .border-block h4, .col_2 .border-block h5 {
    margin-bottom: .5em;
  }

  .col_3 {
    width: 32%;
    -webkit-box-flex-basis: 32%;
    -ms-flex-preferred-size: 32%;
    flex-basis: 32%;
  }
  .col_3 .bg-block, .col_3 .border-block {
    height: 100%;
  }
  .col_3 .bg-block h3, .col_3 .bg-block h4, .col_3 .bg-block h5, .col_3 .border-block h3, .col_3 .border-block h4, .col_3 .border-block h5 {
    margin-bottom: .5em;
  }

  .col_4 {
    width: 23.5%;
    -webkit-box-flex-basis: 23.5%;
    -ms-flex-preferred-size: 23.5%;
    flex-basis: 23.5%;
  }
  .col_4 .bg-block, .col_4 .border-block {
    height: 100%;
  }
  .col_4 .bg-block h3, .col_4 .bg-block h4, .col_4 .bg-block h5, .col_4 .border-block h3, .col_4 .border-block h4, .col_4 .border-block h5 {
    margin-bottom: .5em;
  }

  .col_5 {
    width: 18%;
    -webkit-box-flex-basis: 18%;
    -ms-flex-preferred-size: 18%;
    flex-basis: 18%;
  }
  .col_5 .bg-block, .col_5 .border-block {
    height: 100%;
  }
  .col_5 .bg-block h3, .col_5 .bg-block h4, .col_5 .bg-block h5, .col_5 .border-block h3, .col_5 .border-block h4, .col_5 .border-block h5 {
    margin-bottom: .5em;
  }
}
@media screen and (max-width: 767px) {
  /*SP*/
  figure {
    text-align: center;
  }

  .flex + .flex {
    margin-top: 30px;
  }
  .flex .col_2:not(:last-child), .flex .col_3:not(:last-child), .flex .col_4:not(:last-child), .flex .col_5:not(:last-child) {
    margin-bottom: 30px;
  }
  .flex.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%;
  }
  .flex.sp_col_2 .col_2, .flex.sp_col_2 .col_3, .flex.sp_col_2 .col_4, .flex.sp_col_2 .col_5 {
    width: 48% !important;
    -ms-flex-preferred-size: 48% !important;
        flex-basis: 48% !important;
  }
}
@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: 420px;
  }
}

.text-center {
  text-align: center;
}

.mb0 {
  margin-bottom: 0;
}

small {
  font-size: 70%;
}

.btn a {
  border: 1px solid #aba1e0;
  -o-border-image: linear-gradient(to right, #aba1e0 0%, #8fcff3 100%);
     border-image: -webkit-gradient(linear, left top, right top, from(#aba1e0), to(#8fcff3));
     border-image: linear-gradient(to right, #aba1e0 0%, #8fcff3 100%);
  border-image-slice: 1;
  width: 100%;
  max-width: 240px;
  display: block;
  text-align: center;
  padding: 10px 10px;
  color: #aba1e0;
  position: relative;
  background: white;
  text-decoration: none;
}
.btn a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 3%;
  -webkit-transition: all .3s;
  transition: all .3s;
  width: 20px;
  height: 4px;
  background: url("img/btn_icon2.png") no-repeat center center/cover;
}
.btn a:hover {
  background: -webkit-gradient(linear, left top, right top, from(#aba1e0), to(#8fcff3));
  background: linear-gradient(to right, #aba1e0 0%, #8fcff3 100%);
  color: white;
}
.btn a:hover:after {
  right: 1%;
}
.btn a.large {
  max-width: 320px;
}
.btn.text-center a {
  margin: auto;
}
@media (max-width: 767px) {
  .btn a {
    margin: auto;
  }
}

.ic {
  position: relative;
}
.ic:before {
  content: "";
  position: absolute;
  margin: auto;
  left: 0;
}
.ic__tel:before {
  background: url("img/ic_tel.png") no-repeat center/contain;
}
.ic__densha:before {
  background: url("img/ic_train.png") no-repeat center/contain;
}
.ic__densha2:before {
  background: url("img/ic_densha2.png") no-repeat center/contain;
}
.ic__people:before {
  background: url("img/ic_wheelchair.png") no-repeat center/contain;
}
.ic__people2:before {
  background: url("img/ic_wheelchair2.png") no-repeat center/contain;
}
.ic__note:before {
  background: url("img/ic_note.png") no-repeat center/contain;
}
.ic__car:before {
  background: url("img/ic_car.png") no-repeat center/contain;
}

/*====================================
	共通
====================================*/
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;
  }
}
section {
  margin: 0 0 clamp(50px, 10vw, 100px);
}

.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: 13px 2em 10px;
  background: #66c4d0;
  text-decoration: none;
  color: white;
  border-radius: 100vmax;
  border: 1px solid;
  display: block;
  text-align: center;
  width: 280px;
  max-width: 100%;
  -webkit-transition: all .3s;
  transition: all .3s;
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: bold;
  position: relative;
  margin: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.btn-style a:after {
  content: "";
  position: absolute;
  right: 5%;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 5px;
  -webkit-transform: skew(45deg);
          transform: skew(45deg);
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}
.btn-style a:hover {
  background: white;
  color: #66c4d0;
}
@media (min-width: 768px) {
  .btn-style.pc-text-left a {
    margin-left: 0;
  }
  .btn-style.pc-text-right a {
    margin-right: 0;
  }
}

.under .clearfix:not(:last-child) {
  margin-bottom: clamp(30px, 5vw, 50px);
}

/*====================================
	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 #65b3bd;
  padding: 15px 20px;
  gap: 20px 2%;
}
.link_anchor.typeA li {
  margin: 0;
}
.link_anchor.typeA li a {
  text-decoration: none;
  color: #323232;
  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: -3px;
  left: 0;
  margin: auto;
}
.link_anchor.typeA li a:hover {
  color: #65b3bd;
}
@media (min-width: 1025px) {
  .link_anchor.typeA {
    padding: 30px;
  }
}
@media (max-width: 767px) {
  .link_anchor.typeA li:not(:last-child) {
    margin-bottom: 10px;
  }
}
.link_anchor.typeB {
  display: grid;
  height: 100%;
  gap: 10px;
  grid-auto-rows: 1fr;
  border: 1px solid #65b3bd;
  padding: 15px 20px;
  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: 10px 10px;
  line-height: 1.4;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.link_anchor.typeB li a:hover {
  background: #65b3bd;
  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%;
  }
}
@media (min-width: 1025px) {
  .link_anchor.typeB {
    padding: 30px 45px;
  }
}

.under h3, .under h4, .under h5, .under h6 {
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
}

.border-block {
  padding: 15px 20px;
  border: solid 2px #e0f2f4;
}
.border-block:not(:last-child) {
  margin-bottom: clamp(30px, 5vw, 50px);
}
.border-block h3, .border-block h4, .border-block h5, .border-block h6 {
  margin-top: 0;
}
@media (min-width: 1025px) {
  .border-block {
    padding: 30px;
    border-width: 6px;
  }
}

.bg-block {
  padding: 15px 20px;
  background: #f5f9fa;
}
.bg-block .bg-block {
  background: rgba(101, 179, 189, 0.2);
}
.bg-block.cl2 {
  background: rgba(190, 188, 115, 0.3);
}
.bg-block:not(:last-child) {
  margin-bottom: clamp(30px, 5vw, 50px);
}
.bg-block h3, .bg-block h4, .bg-block h5, .bg-block h6 {
  margin-top: 0;
}

.flow-block {
  padding: 15px 20px;
  border: solid 3px #e0f2f4;
}
.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: #e5ebee 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-family: "Shippori Mincho", serif;
  font-weight: bold;
  margin-bottom: 1em !important;
}
.flow-block .flow_title .num {
  background: #66c4d0;
  color: #fff;
  width: 30px;
  height: 30px;
  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;
  line-height: 30px;
}
@media (min-width: 1025px) {
  .flow-block .flow_title {
    font-size: 24px;
  }
}
@media (min-width: 1025px) {
  .flow-block {
    padding: 30px;
    border-width: 6px;
  }
}

.ul01 li:before {
  background: #65b3bd;
}

.ul_arrow li:before {
  border-top: 8px solid #65b3bd;
}

.ul_check li:before {
  border-color: #333333;
  background: #333333;
}

.time-table {
  width: 100%;
  margin-bottom: 0.3em;
  line-height: 1.5;
  background: transparent;
}
.time-table th, .time-table td {
  color: #333;
  text-align: center;
  font-weight: normal;
  padding: 1rem .2rem;
  vertical-align: middle;
}
.time-table th {
  background: transparent;
  color: #333333;
}
.time-table thead th {
  background: #ceeaed;
  padding: .8rem .2rem;
}
.time-table thead th:first-child {
  width: 30%;
}
.time-table tbody {
  border-bottom: 1px solid #d3e2e4;
}
.time-table tbody tr:not(:last-child) th, .time-table tbody tr:not(:last-child) td {
  padding-bottom: 0;
}

.icon_color01 {
  color: #65b3bd;
}

.icon_color02 {
  color: #bebc73;
}

.table01 tr:first-child th {
  border-top: solid 1px #66c4d0;
}
.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: #66c4d0;
  color: #65b3bd;
  font-weight: 600;
}

.border-table th, .border-table td {
  padding: .7em .5em;
}
@media (min-width: 1025px) {
  .border-table th, .border-table td {
    padding: .7em 1.5em;
  }
}
.border-table thead th {
  background: #65b3bd;
}
.border-table tbody th {
  background: #ceeaed;
  color: #323232;
}

table.table-img th, table.table-img td {
  vertical-align: middle;
}
table.table-img th img, table.table-img td img {
  max-width: 100% !important;
}
table.manu-table tbody td {
  text-align: right;
}
@media (max-width: 767px) {
  table.responsive-stack {
    border: 1px solid #ccc;
  }
  table.responsive-stack th, table.responsive-stack td {
    display: block;
    width: 100%;
    border-top: 0;
    border-left: 0;
  }
  table.responsive-stack th {
    text-align: center;
    font-weight: bold;
  }
}
table.responsive-stack.manu-table tbody th, table.responsive-stack.manu-table tbody td {
  text-align: center;
}

.mce-content-body .qa-block h4:after {
  display: none;
}

.qa-block {
  border-top: 0;
  padding: 0;
  position: relative;
}
.qa-block:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #65b3bd;
  border-right: solid 2px #65b3bd;
  position: absolute;
  top: 17px;
  right: 3%;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transition: .3s;
  transition: .3s;
}
.qa-block.open: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:after {
  display: none;
}
.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;
  }
}

.color1 {
  color: #65b3bd;
}

.color2 {
  color: #bebc73;
}

.color3 {
  color: #cdc823;
}

.dbl {
  display: inline-block;
}

.sec_top {
  margin-bottom: 0;
}
.sec_top h2, .sec_top h3, .sec_top h4, .sec_top h5 {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  line-height: 1.4;
}
.sec_top h3 {
  padding-top: 0;
}
.sec_top.pd {
  padding: clamp(50px, 12vw, 120px) 0;
}
.sec_top.pdt {
  padding-top: clamp(50px, 12vw, 120px);
}
.sec_top.pdb {
  padding-bottom: clamp(50px, 12vw, 120px);
}
.sec_top .l3 {
  line-height: calc(36 / 16);
}

.sec_1 {
  background: #f5f9fa;
}
.sec_1 h2 {
  color: #65b3bd;
  font-size: clamp(26px, 3vw, 40px);
}
.sec_1 .post_heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2%;
          column-gap: 2%;
  border-bottom: 1px solid #d3e2e4;
  margin-bottom: clamp(15px, 2vw, 20px);
  padding-bottom: clamp(10px, 2vw, 20px);
}
.sec_1 .post_heading ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(20px, 4vw, 40px);
          column-gap: clamp(20px, 4vw, 40px);
}
.sec_1 .post_heading ul li a {
  font-family: "Shippori Mincho", serif;
  font-size: clamp(18px, 2.4vw, 24px);
  position: relative;
  padding-right: clamp(26px, 3vw, 30px);
}
.sec_1 .post_heading ul li a:before, .sec_1 .post_heading ul li a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.sec_1 .post_heading ul li a:before {
  right: 0;
  width: clamp(16px, 2vw, 20px);
  height: clamp(16px, 2vw, 20px);
  background: #65b3bd;
  border-radius: 50%;
}
.sec_1 .post_heading ul li a:after {
  width: clamp(8px, 1vw, 10px);
  height: clamp(2px, 0.3vw, 3px);
  border-bottom: 1px solid white;
  border-right: 1px solid white;
  -webkit-transform: skew(45deg);
          transform: skew(45deg);
  right: clamp(4px, 0.6vw, 6px);
}
.sec_1 .post_heading ul li a:hover {
  color: #bebc73;
}
.sec_1 .post_heading ul li a:hover:before {
  background: #bebc73;
}
.sec_1 .post_content dl dt {
  font-weight: bold;
}
.sec_1 .post_content dl dt .cat {
  color: #2f8f9b;
  background: #ceeaed;
  display: inline-block;
  text-align: center;
  width: 60px;
  line-height: 1.2;
  padding: .3rem .1rem .2rem;
  margin-left: clamp(10px, 1.5vw, 15px);
}
.sec_1 .post_content dl dt .cat__blog {
  color: #878541;
  background: #f0eda8;
}
.sec_1 .post_content dl dd:not(:last-child) {
  margin-bottom: 1em;
}
.sec_1 .post_content dl dd a {
  line-height: calc(30 / 16);
  -webkit-transition: all .3s;
  transition: all .3s;
  display: block;
}
.sec_1 .post_content dl dd a:hover {
  color: #65b3bd;
  text-decoration: underline;
}
.sec_1 .row .col__time h2 {
  border-bottom: 1px solid #d3e2e4;
  margin-bottom: clamp(15px, 2vw, 20px);
  padding-bottom: clamp(10px, 2vw, 20px);
}
.sec_1 .row .col__time .list_info {
  margin-bottom: clamp(20px, 3vw, 30px);
}
@media (max-width: 767px) {
  .sec_1 .row {
    row-gap: 50px;
  }
}
@media (min-width: 768px) {
  .sec_1 .row {
    -webkit-column-gap: 6%;
            column-gap: 6%;
  }
  .sec_1 .row .col {
    width: calc(94% / 2);
  }
}

.sec_2 .title {
  margin-bottom: clamp(30px, 5vw, 70px);
}
.sec_2 h3 {
  font-size: clamp(22px, 3vw, 36px);
  text-align: center;
  line-height: 1.7;
  border-bottom: 1px solid #d3e2e4;
  padding-bottom: .3em;
  margin-bottom: .5em;
  padding-top: 0;
}
.sec_2 h3 .small {
  font-size: clamp(18px, 2vw, 24px);
  display: block;
}
.sec_2 h3 .imgtxt {
  display: block;
}
.sec_2 .point {
  position: relative;
}
.sec_2 .list-access {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sec_2 .list-access li p {
  line-height: calc(34 / 24);
  font-family: "Shippori Mincho", serif;
  font-size: clamp(20px, 2.4vw, 24px);
}
.sec_2 .list-access li p .small {
  font-size: clamp(18px, 2vw, 20px);
}
.sec_2 .list-access li p .small2 {
  font-size: clamp(16px, 1.8vw, 18px);
}
.sec_2 .row__type1 .btn-style a {
  width: 300px;
}
.sec_2 .row__type2 .col .box-img {
  margin-bottom: clamp(15px, 2vw, 25px);
}
.sec_2 .row__type3 {
  border-bottom: 1px solid #d3e2e4;
  padding-bottom: 20px;
  margin-bottom: 25px;
}
.sec_2 .row__type3 h3 {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.sec_2 .row_same .box .box-img {
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .sec_2 .title img {
    max-width: calc(750 / 767 * 100vw);
  }
  .sec_2 .point {
    margin-bottom: calc(-70 / 767 * 100vw) !important;
  }
  .sec_2 .point img {
    max-width: clamp(120px, 76.952px + 11.48vw, 165px);
    translate: -15px;
  }
  .sec_2 .list-access {
    -webkit-column-gap: calc(20 / 767 * 100vw);
            column-gap: calc(20 / 767 * 100vw);
  }
  .sec_2 .list-access li {
    width: calc((100% - calc(40 / 767 * 100vw)) / 3);
  }
  .sec_2 .list-access li p {
    font-size: calc(36 / 767 * 100vw);
    text-align: center;
  }
  .sec_2 .list-access li p .small {
    font-size: calc(30 / 767 * 100vw);
  }
  .sec_2 .list-access li p .small2 {
    font-size: calc(28 / 767 * 100vw);
  }
  .sec_2 .list-access .ic {
    padding-top: calc(180 / 767 * 100vw);
  }
  .sec_2 .list-access .ic:before {
    width: calc(160 / 767 * 100vw);
    height: calc(160 / 767 * 100vw);
    top: 0;
    left: 0;
    right: 0;
  }
  .sec_2 .row__type1 {
    row-gap: 15px;
  }
  .sec_2 .row__type2 {
    row-gap: 50px;
  }
  .sec_2 .row__type3 {
    row-gap: 20px;
  }
  .sec_2 .line:not(:last-child) {
    margin-bottom: 50px;
  }
}
@media (min-width: 768px) {
  .sec_2 .list-access {
    -webkit-column-gap: 20px;
            column-gap: 20px;
  }
  .sec_2 .list-access li p {
    font-size: 24px;
    text-align: center;
  }
  .sec_2 .list-access li p .small {
    font-size: 20px;
  }
  .sec_2 .list-access li p .small2 {
    font-size: 18px;
  }
  .sec_2 .list-access .ic {
    padding-top: 140px;
  }
  .sec_2 .list-access .ic:before {
    width: 120px;
    height: 120px;
    top: 0;
    left: 0;
    right: 0;
  }
}
@media (min-width: 768px) and (max-width: 1239px) {
  .sec_2 .list-access li {
    width: calc((100% - 40px) / 3);
  }
}
@media (min-width: 768px) {
  .sec_2 .row {
    -webkit-column-gap: 3%;
            column-gap: 3%;
  }
  .sec_2 .row__type1 .col {
    width: calc(97% / 2);
  }
  .sec_2 .row__type1 .point {
    margin-bottom: -55px;
  }
  .sec_2 .row__type1 .point img {
    translate: -30px;
  }
  .sec_2 .row__type2 {
    row-gap: 40px;
  }
  .sec_2 .row__type2 .col {
    width: calc(97% / 2);
  }
  .sec_2 .row__type2 .point {
    margin-bottom: -55px;
  }
  .sec_2 .row__type2 .point img {
    translate: -15px;
  }
  .sec_2 .row__type3 {
    -webkit-column-gap: 1%;
            column-gap: 1%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sec_2 .row__type3 .col {
    width: calc(99% / 2);
  }
  .sec_2 .row_same {
    gap: 40px 3%;
    grid-template-columns: repeat(auto-fit, minmax(calc(97% / 2), 1fr));
  }
  .sec_2 .row_same .box {
    row-gap: 0;
  }
}
@media (min-width: 768px) and (max-width: 1239px) {
  .sec_2 .row_same .box .box-img img.pc {
    display: none !important;
  }
  .sec_2 .row_same .box .box-img img.sp {
    display: block !important;
  }
}
@media (min-width: 768px) {
  .sec_2 .line:not(:last-child) {
    margin-bottom: 60px;
  }
  .sec_2 .line__3 .point {
    margin-bottom: -5px;
  }
}
@media (min-width: 1240px) {
  .sec_2 .list-access {
    -webkit-column-gap: 40px;
            column-gap: 40px;
  }
  .sec_2 .list-access li p {
    font-size: 24px;
    text-align: left;
  }
  .sec_2 .list-access li p .small {
    font-size: 20px;
  }
  .sec_2 .list-access li p .small2 {
    font-size: 18px;
  }
  .sec_2 .list-access .ic {
    padding-left: 160px;
    padding-top: 0;
  }
  .sec_2 .list-access .ic:before {
    width: 120px;
    height: 120px;
    top: 0;
    left: 0;
    bottom: 0;
    right: auto;
  }
  .sec_2 .row {
    -webkit-column-gap: 6%;
            column-gap: 6%;
  }
  .sec_2 .row__type1 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sec_2 .row__type1 .col {
    width: calc(94% / 2);
  }
  .sec_2 .row__type1 .col__img img {
    max-width: calc(700 / 1920 * 100vw);
  }
  .sec_2 .row__type2 {
    row-gap: 60px;
  }
  .sec_2 .row__type2 .col {
    width: calc(94% / 2);
  }
  .sec_2 .row__type3 {
    -webkit-column-gap: 1%;
            column-gap: 1%;
  }
  .sec_2 .row__type3 .col {
    width: calc(99% / 2);
  }
  .sec_2 .row_same {
    gap: 60px 5%;
    grid-template-columns: repeat(auto-fit, minmax(calc(85% / 4), 1fr));
  }
}

.sec_3 {
  background: #f5f9fa;
}
.sec_3 h2 {
  color: #65b3bd;
  font-size: clamp(26px, 3vw, 40px);
  text-align: center;
  margin-bottom: clamp(30px, 5vw, 70px);
}
.sec_3 h2 .small {
  font-size: clamp(18px, 2vw, 22px);
  color: #374547;
  display: block;
}
.sec_3 .row .col a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  background: #e8f3f5;
  border-radius: 100vmax;
  position: relative;
  -webkit-transition: all .3s;
  transition: all .3s;
  line-height: calc(20 / 18);
  font-weight: 500;
  padding: .1rem 30px .1rem 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  letter-spacing: normal;
}
.sec_3 .row .col a:before, .sec_3 .row .col a:after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
}
.sec_3 .row .col a:before {
  width: 20px;
  height: 20px;
  background: #65b3bd;
  border-radius: 50%;
  right: 10px;
}
.sec_3 .row .col a:after {
  width: 10px;
  height: 2px;
  border-bottom: 1px solid white;
  border-right: 1px solid white;
  -webkit-transform: skew(45deg);
          transform: skew(45deg);
  right: 15px;
}
.sec_3 .row .col a .small {
  color: #489da8;
  display: block;
}
.sec_3 .row .col a:hover {
  background: rgba(102, 196, 208, 0.3);
}
.sec_3 .row .col .icon .icon_txt {
  position: relative;
}
.sec_3 .row .col .icon .icon_txt:before {
  content: "";
  position: absolute;
  right: calc(100% + 5px);
  top: 0;
  bottom: 0;
  margin: auto;
  width: 44px;
  height: 43px;
}
.sec_3 .row .col .icon__1 .icon_txt:before {
  background: url("img/sec3_icon1.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__2 .icon_txt:before {
  background: url("img/sec3_icon2.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__3 .icon_txt:before {
  background: url("img/sec3_icon3.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__4 .icon_txt:before {
  background: url("img/sec3_icon4.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__5 .icon_txt:before {
  background: url("img/sec3_icon5.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__6 .icon_txt:before {
  background: url("img/sec3_icon6.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__7 .icon_txt:before {
  background: url("img/sec3_icon7.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__8 .icon_txt:before {
  background: url("img/sec3_icon8.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__9 .icon_txt:before {
  background: url("img/sec3_icon9.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__10 .icon_txt:before {
  background: url("img/sec3_icon10.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__11 .icon_txt:before {
  background: url("img/sec3_icon11.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__12 .icon_txt:before {
  background: url("img/sec3_icon12.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__13 .icon_txt:before {
  background: url("img/sec3_icon13.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__14 .icon_txt:before {
  background: url("img/sec3_icon14.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__15 .icon_txt:before {
  background: url("img/sec3_icon15.png") no-repeat center/contain;
}
.sec_3 .row .col .icon__16 .icon_txt:before {
  background: url("img/sec3_icon16.png") no-repeat center/contain;
}
@media (max-width: 767px) {
  .sec_3 .row {
    gap: 15px;
  }
  .sec_3 .row .col {
    height: 70px;
  }
  .sec_3 .row .col .icon {
    padding: 0 30px 0 80px;
  }
  .sec_3 .row .col .icon .icon_txt:before {
    width: 60px;
    height: 58px;
  }
  .sec_3 .row.sp_col2 {
    gap: calc(10 / 767 * 100vw);
  }
  .sec_3 .row.sp_col2 .col {
    width: calc((100% - calc(10 / 767 * 100vw)) / 2);
    height: calc(120 / 767 * 100vw);
  }
  .sec_3 .row.sp_col2 .col a {
    font-size: calc(26 / 767 * 100vw);
    padding: 0 calc(40 / 767 * 100vw) 0 calc(65 / 767 * 100vw);
    letter-spacing: -0.01rem;
  }
  .sec_3 .row.sp_col2 .col a .small {
    font-size: calc(22 / 767 * 100vw);
    margin-top: .3rem;
  }
  .sec_3 .row.sp_col2 .col a:before {
    width: calc(30 / 767 * 100vw);
    height: calc(30 / 767 * 100vw);
    right: calc(10 / 767 * 100vw);
  }
  .sec_3 .row.sp_col2 .col a:after {
    width: calc(16 / 767 * 100vw);
    right: calc(17 / 767 * 100vw);
  }
  .sec_3 .row.sp_col2 .col .icon .icon_txt:before {
    width: calc(55 / 767 * 100vw);
    height: calc(53 / 767 * 100vw);
    right: calc(100% + calc(5 / 767 * 100vw));
  }
}
@media (min-width: 768px) {
  .sec_3 .row {
    gap: 1vw;
  }
  .sec_3 .row .col {
    width: calc((100% - 3vw) / 4);
    height: 9vw;
  }
  .sec_3 .row .col a {
    font-size: 1.7vw;
  }
  .sec_3 .row .col a .small {
    font-size: 1.3vw;
    margin-top: 1vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1239px) {
  .sec_3 .row .col .icon {
    padding: .1rem 3vw .1rem 6vw;
  }
  .sec_3 .row .col .icon:before {
    right: 1vw;
    width: 2vw;
    height: 2vw;
  }
  .sec_3 .row .col .icon:after {
    width: 1vw;
    height: .2vw;
    right: 1.6vw;
  }
  .sec_3 .row .col .icon .icon_txt:before {
    width: 4vw;
    height: 3.9vw;
    right: calc(100% + .3rem);
  }
}

@media (min-width: 1240px) {
  .sec_3 .row {
    gap: 20px;
  }
  .sec_3 .row .col {
    width: calc((100% - 60px) / 4);
    height: 90px;
  }
  .sec_3 .row .col a {
    font-size: 18px;
  }
  .sec_3 .row .col a .small {
    font-size: 14px;
    margin-top: 10px;
  }
}

.sec_4 h2 {
  margin-bottom: clamp(30px, 3vw, 40px);
  padding-bottom: clamp(30px, 4vw, 60px);
  position: relative;
  display: table;
}
.sec_4 h2:before, .sec_4 h2:after {
  content: "";
  position: absolute;
  background: #d3e2e4;
}
.sec_4 h2:before {
  width: 1000px;
  height: 1px;
  bottom: 0;
  right: 0;
}
.sec_4 h2:after {
  width: 1px;
  height: 100%;
  top: 0;
  right: 0;
}
.sec_4 h2 .en {
  color: #65b3bd;
  font-size: clamp(40px, 4.4vw, 44px);
}
.sec_4 h2 .jp {
  color: #435146;
  font-size: 18px;
  display: block;
}
.sec_4 h3 {
  font-size: clamp(22px, 3vw, 44px);
  line-height: calc(60 / 44);
  color: #374547;
  margin-bottom: .5em;
}
@media (max-width: 767px) {
  .sec_4 h2 {
    text-align: center;
    width: auto !important;
    margin-inline: auto;
    padding-right: calc(40 / 767 * 100vw);
  }
  .sec_4 h2:before {
    right: calc(-20 / 767 * 100vw);
    bottom: calc(20 / 767 * 100vw);
  }
  .sec_4 .box-img {
    margin-bottom: 15px;
  }
}
@media (min-width: 768px) {
  .sec_4 h2 {
    padding-right: 20px;
  }
  .sec_4 h2:before {
    right: -10px;
    bottom: 10px;
  }
  .sec_4 .row {
    -webkit-column-gap: 4%;
            column-gap: 4%;
  }
  .sec_4 .row .col__img {
    width: 45%;
  }
  .sec_4 .row .col__text {
    width: 51%;
  }
}
@media (min-width: 1240px) {
  .sec_4 h2 {
    padding-right: 40px;
  }
  .sec_4 h2:before {
    right: -20px;
    bottom: 20px;
  }
  .sec_4 .row .col__img img {
    max-width: calc(690 / 1920 * 100vw);
  }
}
