@charset "UTF-8";
/*
Author: c.nz
Version: 1.0
*/
/* ---------------------------------------------------
	acms リセット
------------------------------------------------------ */
.acms-entry .entry-container {
  margin: 0;
}

.entry {
  border: none;
  width: 100%;
  max-width: 100%;
  margin: 0 auto 5rem;
}

.entry-title {
  text-align: center;
  font-size: 3.6rem;
  line-height: 1.2;
  font-weight: 500;
}

.acms-grid, .acms-grid-r {
  margin: 0;
}

.entry-column tr:nth-child(odd) {
  background: none;
}

.acms-admin-form .acms-admin-form-select, .acms-admin-form select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

/* メディアユニットの調整 */
.acms-entry [class*=column-eximage], .acms-entry [class*=column-media], .acms-entry [class*=column-video], .acms-entry [class*=column-youtube] {
  padding-left: 0;
  padding-right: 0;
}

.acms-entry [class*=column-media].img-full {
  width: 100%;
  max-width: 100%;
}

.acms-entry [class*=column-media].acms-col-sm-12,
.acms-entry [class*=column-media].acms-col-sm-10,
.acms-entry [class*=column-media].acms-col-sm-8,
.acms-entry [class*=column-media].acms-col-sm-6,
.acms-entry [class*=column-media].acms-col-sm-4 {
  width: 100%;
  border-radius: 2rem;
  overflow: hidden;
}

.acms-entry [class*=column-media-auto],
.acms-entry [class*=column-media-left],
.acms-entry [class*=column-media-center],
.acms-entry [class*=column-media-right] {
  float: none;
  border-radius: 2rem;
  overflow: hidden;
}

.acms-entry [class*=column-media-auto] > * {
  margin-right: auto;
}

.acms-entry [class*=column-media-left] > * {
  margin-right: auto;
}

.acms-entry [class*=column-media-center] > * {
  margin: auto;
}

.acms-entry [class*=column-media-right] > * {
  margin-left: auto;
}

.acms-entry [class*=column-media-auto] > a,
.acms-entry [class*=column-media-left] > a,
.acms-entry [class*=column-media-center] > a,
.acms-entry [class*=column-media-right] > a {
  display: inline-block;
}

.acms-entry [class*=column-media].img-full {
  border-radius: 0;
}

.acms-entry [class*=column-media].img-full > * {
  max-width: 100%;
}

.acms-entry [class*=column-media].img-full > img,
.acms-entry [class*=column-media].img-full > a,
.acms-entry [class*=column-media].img-full > a > img {
  width: 100%;
}

.acms-entry [class*=column-media].acms-col-sm-12 > * {
  width: 100%;
  max-width: 120rem;
}

.acms-entry [class*=column-media].acms-col-sm-10 > * {
  width: 100%;
  max-width: 100rem;
}

.acms-entry [class*=column-media].acms-col-sm-8 > * {
  width: 100%;
  max-width: 80rem;
}

.acms-entry [class*=column-media].acms-col-sm-6 > * {
  width: 100%;
  max-width: 60rem;
}

.acms-entry [class*=column-media].acms-col-sm-4 > * {
  width: 100%;
  max-width: 40rem;
}

.entry-column em { /*font-style: italic;*/
  font-style: normal;
  font-weight: bold;
  text-decoration: underline;
}

.message-back-link {
  display: inline-block;
  margin: 5rem auto;
  text-align: center;
  border: none;
  padding: 1rem 2rem;
}

.js-lazy-load {
  transform: translateY(0);
}

.column-pdf-image {
  border-radius: 2rem;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .entry-column.acms-entry [class*=column-media].acms-col-sm-12,
  .entry-column.acms-entry [class*=column-media].acms-col-sm-10,
  .entry-column.acms-entry [class*=column-media].acms-col-sm-8,
  .entry-column.acms-entry [class*=column-media].acms-col-sm-6,
  .entry-column.acms-entry [class*=column-media].acms-col-sm-4 {
    max-width: calc(100% - 4rem);
    margin-left: auto;
    margin-right: auto;
  }
  .entry-column.acms-entry [class*=column-media-auto],
  .entry-column.acms-entry [class*=column-media-left],
  .entry-column.acms-entry [class*=column-media-center],
  .entry-column.acms-entry [class*=column-media-right] {
    max-width: calc(100% - 4rem);
    margin-left: auto;
    margin-right: auto;
  }
}
/* ---------------------------------------------------
	ダイレクト編集用調整
------------------------------------------------------ */
.js-edit_inplace-hovering {
  width: 100% !important;
  max-width: 100%;
}

.acms-admin-table-admin-edit th {
  width: auto;
}

/* ---------------------------------------------------
	グループ用調整
------------------------------------------------------ */
.acms-grid > * {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1024px) {
  .acms-grid > * {
    max-width: 96rem;
  }
}
@media print {
  .acms-grid > * {
    max-width: 96rem;
  }
}
/* yahBGカラー */
[class*=group-bg-] {
  max-width: 100%;
  padding: 10rem 0;
}
[class*=group-bg-] > * {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1024px) {
  [class*=group-bg-] > * {
    max-width: 96rem;
  }
}
@media print {
  [class*=group-bg-] > * {
    max-width: 96rem;
  }
}
/* 背景色グループ */
.group-bg-gray {
  background: #eee;
  margin-bottom: 4rem;
}

.group-bg-yellow {
  background: #FBF6D7;
  margin-bottom: 4rem;
}

/* カラム */
.l-2col-l {
  width: 59rem;
  max-width: 59rem;
  margin-left: calc((100% - 120rem) / 2);
  margin-right: 1rem;
}

.l-2col-r {
  width: 59rem;
  max-width: 59rem;
  margin-right: calc((100% - 120rem) / 2);
  margin-left: 1rem;
}

.l-3col-l {
  float: left;
  width: 38.4rem;
  max-width: 38.4rem;
  margin-left: calc((100% - 120rem) / 2);
}

.l-3col-c {
  float: left;
  width: 38.4rem;
  max-width: 38.4rem;
  margin: 0 2.4rem;
}

.l-3col-r {
  float: left;
  width: 38.4rem;
  max-width: 38.4rem;
  margin-right: calc((100% - 120rem) / 2);
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .acms-grid > * {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  /* yahBGカラー */
  [class*=group-bg-] {
    max-width: 100%;
    padding: 50px 0;
  }
  [class*=group-bg-] > * {
    max-width: 100%;
  }
  /* カラム */
  .l-2col-l {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
  .l-2col-r {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .l-3col-l {
    float: none;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
  .l-3col-c {
    float: left;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  .l-3col-r {
    float: left;
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
}
@media print {
  .l-2col-l {
    width: 48rem;
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .l-2col-r {
    width: 48rem;
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .l-3col-l {
    float: left;
    width: 32rem;
    max-width: 32rem;
    margin-left: 1rem;
  }
  .l-3col-c {
    float: left;
    width: 32rem;
    max-width: 32rem;
    margin: 0 1rem;
  }
  .l-3col-r {
    float: left;
    width: 32rem;
    max-width: 32rem;
    margin-right: 1rem;
  }
}
/* ---------------------------------------------------
	汎用ユニット
------------------------------------------------------ */
.entry-column {
  counter-reset: flow;
}
.entry-column h2 { /*----- 見出し大 -----*/
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(16px, 3.6rem, 3.6rem);
  line-height: 1.25;
  color: #484848;
  margin: 0 auto 7rem;
  padding: 0;
  border: none;
  letter-spacing: 0.24em;
  position: relative;
}
.entry-column h2::before, .entry-column h2::after {
  content: "";
  width: 100%;
  height: 0.5rem;
  display: block;
  border-top: 0.2rem solid #484848;
  border-bottom: 0.2rem solid #484848;
}
.entry-column h2::before {
  margin-bottom: 1.7rem;
}
.entry-column h2::after {
  margin-top: 2.3rem;
}
.entry-column h2.taC {
  width: fit-content;
  padding: 0 4.6rem;
}
.entry-column h2.taC::before, .entry-column h2.taC::after {
  content: "";
  position: absolute;
  width: 0.7rem;
  height: 100%;
  display: block;
  border-top: none;
  border-bottom: none;
  border-left: 0.2rem solid #484848;
  border-right: 0.2rem solid #484848;
  top: 0;
}
.entry-column h2.taC::before {
  margin-bottom: 0;
  left: 0;
}
.entry-column h2.taC::after {
  margin-top: 0;
  right: 0;
}
.entry-column h3 { /*----- 見出し中 -----*/
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(16px, 3.2rem, 3.2rem);
  line-height: 1.4;
  color: #ED7A7A;
  margin: 0 calc((100vw - 120rem) / 2) 4rem;
  padding: 0;
  background: none;
  letter-spacing: 0.14em;
  padding-bottom: 0.1rem;
  width: fit-content;
}
.entry-column h3::after {
  content: "";
  display: block;
  height: 0.5rem;
  width: 100%;
  margin-top: 0.2rem;
  background: url(../images/common/txt-dot.png) repeat-x left top/1.1rem 0.5rem;
}
.entry-column h3.taC {
  margin: 0 auto 5rem;
}
.entry-column h3.tit-flow {
  padding-left: 8rem;
  font-size: clamp(16px, 2.8rem, 2.8rem);
  text-align: left;
  position: relative;
  border-bottom: none;
  color: #484848;
  padding-bottom: 0;
  margin-bottom: 3rem;
  border-image: none;
}
.entry-column h3.tit-flow::before {
  content: counter(flow, decimal-leading-zero);
  counter-increment: flow 1;
  position: absolute;
  color: #ED7A7A;
  top: -1rem;
  left: 0;
  margin-top: 0;
  letter-spacing: 0.3em;
  font-size: clamp(16px, 4.8rem, 4.8rem);
  font-weight: bold;
  line-height: 1;
}
.entry-column h3.tit-flow::after {
  display: none;
}
@media screen and (max-width: 1024px) {
  .entry-column h3 {
    margin: 0 calc(100vw - 120rem) 5rem;
  }
}
.entry-column h4 { /*----- 見出し小 -----*/
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(16px, 2.4rem, 2.4rem);
  line-height: 1.5;
  letter-spacing: 0.14em;
  color: #484848;
  padding: 0;
  margin: 0 auto 2rem;
}
.entry-column h4::before {
  content: "";
  display: inline-block;
  background: url(../images/common/h4.png) no-repeat center/contain;
  width: 1.6rem;
  height: 1.5rem;
  margin-right: 1.6rem;
  transform: translateY(-0.2rem);
}
.entry-column h4.yellowlabel {
  border-radius: 2rem 2rem 0 0;
  padding: 2.7rem 7.7rem;
  background: #FBECA0;
  margin-bottom: 0 !important;
  text-align: center;
}
.entry-column h4.yellowlabel::before {
  display: none;
}
.entry-column h4.decotit {
  text-align: center;
  font-size: clamp(14px, 3rem, 3rem);
  margin-bottom: 3.8rem;
}
.entry-column h4.decotit::before {
  display: none;
}
.entry-column h5 { /*----- 小見出し -----*/
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(16px, 2.2rem, 2.2rem);
  line-height: 1.4;
  padding: 0;
  margin: 0 auto 2rem;
  letter-spacing: 0.14em;
  color: #ED7A7A;
}
.entry-column p { /*----- 本文 -----*/
  font-size: clamp(16px, 1.8rem, 1.8rem);
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.14em;
  margin: 0 auto 4rem;
  padding: 0;
}
.entry-column p span.taL, .entry-column p span.taC, .entry-column p span.taR {
  display: block;
}
.entry-column p.flow-txt {
  margin: 0;
}
.entry-column p.lead {
  font-size: clamp(16px, 2.4rem, 2.4rem);
  line-height: 3.33;
  margin-bottom: 12rem;
}
.entry-column p .txtinlink {
  text-decoration: underline;
}
.entry-column ul, .entry-column ol { /*----- リスト 番号付きリスト -----*/
  padding: 0;
  margin: 0 auto;
}
.entry-column ul li, .entry-column ol li {
  padding: 0;
  margin: 0;
  font-size: clamp(16px, 1.8rem, 1.8rem);
  line-height: 1.8;
}
.entry-column ul { /*----- リスト -----*/
  margin-bottom: 40px;
  list-style: none;
}
.entry-column ul li {
  padding-left: 2.5rem;
  background: url(../images/common/ico-li@2x.png) no-repeat 0 0.5rem;
  background-size: 2rem 2rem;
  margin-bottom: 1rem;
}
.entry-column ol { /*----- 番号付きリスト -----*/
  counter-reset: oldef;
  margin-bottom: 4rem;
  list-style: none;
}
.entry-column ol li {
  padding-left: 2.5rem;
  position: relative;
  margin-bottom: 1rem;
}
.entry-column ol li::before {
  counter-increment: oldef;
  content: counter(oldef);
  color: #ED7A7A;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: clamp(16px, 1.8rem, 1.8rem);
  display: block;
  width: 2.5rem;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  line-height: 1.8;
}

.column-map-auto, .column-map-left {
  margin-bottom: 4rem;
}

.gmap-iframe {
  margin-bottom: 40px;
}
.gmap-iframe iframe {
  max-width: 100%;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  h2.entry-title {
    font-size: 2.3rem;
    font-size: 2.3rem;
    margin: 0 auto 4rem;
    padding: 0 2rem;
    letter-spacing: 0.2em;
    width: fit-content;
    max-width: calc(100% - 4rem);
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 1.7rem;
  }
  h2.entry-title::before {
    width: 0.5rem;
  }
  h2.entry-title::after {
    width: 0.5rem;
  }
  .entry-column h2 {
    font-size: 2.3rem;
    margin: 0 auto 4rem;
    padding: 0 2rem;
    letter-spacing: 0.2em;
  }
  .entry-column h2.taC {
    width: fit-content;
    max-width: calc(100% - 4rem);
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 1.7rem;
  }
  .entry-column h2.taC::before {
    width: 0.5rem;
  }
  .entry-column h2.taC::after {
    width: 0.5rem;
  }
  .entry-column h3 {
    font-size: 1.8rem;
    margin: 0 auto 2rem;
    padding: 0 0 1.2rem 0;
    width: calc(100% - 4rem);
  }
  .entry-column h3::after {
    height: 0.3rem;
    background: url(../images/common/txt-dot.png) repeat-x left top/0.7rem 0.3rem;
  }
  .entry-column h3.taC {
    margin-bottom: 2rem;
  }
  .entry-column h3.tit-flow {
    padding-left: 4.4rem;
    font-size: 1.7rem;
  }
  .entry-column h3.tit-flow::before {
    left: 0.5rem;
    letter-spacing: 0.14em;
    font-size: 3.2rem;
  }
  .entry-column h4 {
    font-size: 1.6rem;
    padding: 0 2rem;
  }
  .entry-column h4::before {
    left: 0;
    top: 50%;
    width: 1.2rem;
    margin-right: 0.5rem;
    transform: translateY(0.1rem);
  }
  .entry-column h4.yellowlabel {
    width: calc(100% - 4rem);
    margin-left: auto;
    margin-right: auto;
    font-size: 1.8rem;
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 1.3rem;
    padding-bottom: 1.3rem;
  }
  .entry-column h4.decotit {
    font-size: 1.8rem;
  }
  .entry-column h5 {
    font-size: 1.5rem;
    padding: 0 2rem;
    margin: 0 auto 1rem;
  }
  .entry-column p {
    font-size: 1.4rem;
    padding: 0 2rem;
    margin-bottom: 2rem;
  }
  .entry-column p.taC {
    text-align: left;
  }
  .entry-column p iframe {
    width: 100%;
  }
  .entry-column p.lead {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 5rem;
    text-align: left;
  }
  .entry-column ul, .entry-column ol {
    margin-bottom: 40px;
    padding: 0 10px;
  }
  .entry-column ul li, .entry-column ol li {
    font-size: 1.6rem;
  }
  .column-map-auto, .column-map-left {
    margin-bottom: 20px;
  }
  .gmap iframe {
    width: 100%;
  }
}
/* ---------------------------------------------------
	テキストリンク
------------------------------------------------------ */
.txt-link {
  justify-content: flex-start;
  margin-bottom: 4rem;
  gap: 1rem;
}
.txt-link .row_col {
  display: inline-block;
  margin-right: 6rem;
  margin-bottom: 2rem;
}
.txt-link .row_col a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0;
  font-weight: 700;
  color: #484848;
  line-height: 1.8;
  text-align: left;
  text-decoration: none;
  font-size: clamp(16px, 1.8rem, 1.8rem);
  border-bottom: 0.2rem solid #484848;
  /*			&::before {
  				content: "";
  				position: absolute;
  				top: 50%;
  				left: 0;
  				display: block;
  				width: 20px;
  				height: 20px;
  				margin-top: -10px;
  				margin-right: 10px;
  				background: url("../images/common/ico-link@2x.png") no-repeat center; background-size: 100%;
  			}*/
}
.txt-link .row_col a::after {
  content: "▶";
  font-size: clamp(10px, 1.4rem, 1.4rem);
  display: block;
  margin-left: 1rem;
  flex-shrink: 0;
}
.txt-link .row_col:hover a {
  color: #ED7A7A;
  border-bottom: 0.2rem solid #ED7A7A;
}
.txt-link .row_col.blank a::after {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  vertical-align: middle;
  margin-left: 1rem;
  background: url(../images/common/ico-blank@2x.png) no-repeat center;
  background-size: cover;
}
.txt-link.row-l {
  justify-content: flex-start;
}
.txt-link.row-l .row_col {
  text-align: left;
}
.txt-link.row-c {
  justify-content: center;
}
.txt-link.row-c .row_col {
  text-align: center;
}
.txt-link.row-r {
  justify-content: flex-end;
}
.txt-link.row-r .row_col {
  text-align: right;
}
.txt-link.num-1 .row_col {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  margin-right: 0;
}
.txt-link.num-2 .row_col {
  display: inline-block;
  width: 49%;
  margin-right: 2%;
}
.txt-link.num-2 .row_col:nth-child(2n) {
  margin-right: 0;
}
.txt-link.num-2 .row_col:last-child {
  margin-right: 0;
}
.txt-link.num-3 .row_col {
  display: inline-block;
  width: 32%;
  margin-right: 2%;
}
.txt-link.num-3 .row_col:nth-child(3n) {
  margin-right: 0;
}
.txt-link.num-3 .row_col:last-child {
  margin-right: 0;
}
.txt-link.num-4 .row_col {
  display: inline-block;
  width: 23.5%;
  margin-right: 2%;
}
.txt-link.num-4 .row_col:nth-child(4n) {
  margin-right: 0;
}
.txt-link.num-4 .row_col:last-child {
  margin-right: 0;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .txt-link {
    padding: 0 2rem;
    margin-bottom: 2rem;
  }
  .txt-link .row_col {
    margin-right: 0;
  }
  .txt-link .row_col a {
    font-size: 1.4rem;
  }
  .txt-link .row_col a::after {
    font-size: 1.1rem;
  }
  .txt-link.num-2 .row_col {
    width: 100%;
    margin-right: 0;
  }
  .txt-link.num-3 .row_col {
    width: 100%;
    margin-right: 0;
  }
  .txt-link.num-4 .row_col {
    width: 100%;
    margin-right: 0;
  }
}
@media screen and (max-width: 896px) and (orientation: landscape) {
  .txt-link {
    padding: 0 10px;
  }
}
/* ---------------------------------------------------
	ボタンリンク
------------------------------------------------------ */
.btnlink .row_col a, .btn-link a, a.btn-link {
  position: relative;
  display: inline-block;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  padding: 1.7rem 5rem 1.7rem 3rem;
  color: #fff;
  font-size: clamp(14px, 1.8rem, 1.8rem);
  font-weight: 700;
  text-align: left;
  text-decoration: none;
  background-color: #ED7A7A;
  border-radius: 6rem;
  text-align: center;
  letter-spacing: 0.14em;
}

.btnlink .row_col a.icon-file, .btnlink .row_col a.icon-ppt, .btnlink .row_col a.icon-xls, .btnlink .row_col a.icon-doc, .btnlink .row_col a.icon-pdf {
  border-radius: 1rem;
  background: #FBECA0;
  color: #484848;
}

.btnlink .row_col a::after, .btn-link a::after, a.btn-link::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 3rem;
  display: block;
  width: 1.1rem;
  height: 1.4rem;
  background: #fff;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.btnlink .row_col.blank a::after, .btn-link a[target=_blank].btn-link::after, a[target=_blank].btn-link::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 3rem;
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: url("../images/common/ico-blank-w.svg") no-repeat center;
  background-size: 100%;
  clip-path: none;
}

.btnlink .row_col.blank a[href$=".pdf"]::before, .btnlink .row_col a.icon-pdf::before {
  content: "";
  position: absolute;
  top: 62%;
  left: 2rem;
  display: block;
  width: 2rem;
  height: 1.5rem;
  margin-top: -1.5rem;
  background: url("../images/common/ico-pdf.svg") no-repeat center;
  background-size: 100%;
  width: 1.8rem;
  height: 2.4rem;
  top: 55%;
}

.btnlink .row_col.blank a[href$=".docx"]::before, .btnlink .row_col.blank a[href$=".doc"]::before, .btnlink .row_col a.icon-doc::before {
  content: "";
  position: absolute;
  top: 62%;
  left: 2rem;
  display: block;
  width: 2rem;
  height: 1.5rem;
  margin-top: -1.5rem;
  background: url("../images/common/ico-doc.svg") no-repeat center;
  background-size: 100%;
  width: 1.8rem;
  height: 2.4rem;
  top: 55%;
}

.btnlink .row_col.blank a[href$=".xlsx"]::before, .btnlink .row_col.blank a[href$=".xls"]::before, .btnlink .row_col a.icon-xls::before {
  content: "";
  position: absolute;
  top: 62%;
  left: 2rem;
  display: block;
  width: 2rem;
  height: 1.5rem;
  margin-top: -1.5rem;
  background: url("../images/common/ico-xls.svg") no-repeat center;
  background-size: 100%;
  width: 1.8rem;
  height: 2.4rem;
  top: 55%;
}

.btnlink .row_col.blank a[href$=".pptx"]::before, .btnlink .row_col.blank a[href$=".ppt"]::before, .btnlink .row_col a.icon-ppt::before {
  content: "";
  position: absolute;
  top: 62%;
  left: 2rem;
  display: block;
  width: 2rem;
  height: 1.5rem;
  margin-top: -1.5rem;
  background: url("../images/common/ico-ppt.svg") no-repeat center;
  background-size: 100%;
  width: 1.8rem;
  height: 2.4rem;
  top: 55%;
}

.btnlink .row_col a.icon-file::before {
  content: "";
  position: absolute;
  top: 62%;
  left: 2rem;
  display: block;
  width: 2rem;
  height: 1.5rem;
  margin-top: -1.4rem;
  background: url("../images/common/ico-folder.svg") no-repeat center;
  background-size: 100%;
}

.btnlink .row_col.blank a[href$=".pptx"], .btnlink .row_col.blank a[href$=".ppt"], .btnlink .row_col.blank a[href$=".xlsx"], .btnlink .row_col.blank a[href$=".xls"], .btnlink .row_col.blank a[href$=".docx"], .btnlink .row_col.blank a[href$=".doc"], .btnlink .row_col.blank a[href$=".pdf"], .btnlink .row_col a.icon-file, .btnlink .row_col a.icon-ppt, .btnlink .row_col a.icon-xls, .btnlink .row_col a.icon-doc, .btnlink .row_col a.icon-pdf {
  padding: 2.3rem 5rem 2.1rem 5.2rem;
}

.btnlink {
  justify-content: flex-start;
  margin-bottom: 6rem;
  font-feature-settings: "palt";
}
.btnlink .row_col {
  width: auto;
  max-width: 100%;
  margin-bottom: 2rem;
}
.btnlink.row-l {
  justify-content: flex-start;
  text-align: left;
}
.btnlink.row-l .row_col {
  margin-right: auto;
}
.btnlink.row-c {
  justify-content: center;
  text-align: center;
}
.btnlink.row-c .row_col {
  margin-right: auto;
  margin-left: auto;
}
.btnlink.row-r {
  justify-content: flex-end;
  text-align: right;
}
.btnlink.row-r .row_col {
  margin-left: auto;
}
.btnlink.num-1 {
  display: block;
  width: 100%;
}
.btnlink.num-1 .row_col {
  max-width: fit-content;
}
.btnlink.num-2 .row_col {
  width: 49%;
  max-width: 49%;
  margin-right: 2%;
}
.btnlink.num-2 .row_col:nth-child(2n), .btnlink.num-2 .row_col:last-child {
  margin-right: 0;
}
.btnlink.num-3 .row_col {
  width: 30%;
  max-width: 30%;
  margin-right: 5%;
}
.btnlink.num-3 .row_col:nth-child(3n), .btnlink.num-3 .row_col:last-child {
  margin-right: 0;
}
.btnlink.num-4 .row_col {
  width: 23.5%;
  max-width: 23.5%;
  margin-right: 2%;
}
.btnlink.num-4 .row_col:nth-child(4n), .btnlink.num-4 .row_col:last-child {
  margin-right: 0;
}
.btnlink.num-4 .row_col a {
  padding: 0.7rem 3rem;
}
.btnlink.num-4 .row_col a::after {
  width: 0.9rem;
  height: 1.2rem;
  right: 1.5rem;
}
.btnlink.num-4 .row_col.blank a::after {
  width: 1.4rem;
  height: 1.4rem;
}

a.btn-link {
  width: auto;
  margin-right: 1rem;
  line-height: 1.2;
}
a.btn-link:hover {
  text-decoration: none !important;
}
a.btn-link:visited {
  color: #fff;
}
.btn-link a {
  width: auto;
  margin-right: 1rem;
  line-height: 1.2;
}
.btn-link a:hover {
  text-decoration: none !important;
}
.btnlink .row_col a.icon-pdf::after {
  display: none;
}
.btnlink .row_col a.icon-doc::after {
  display: none;
}
.btnlink .row_col a.icon-xls::after {
  display: none;
}
.btnlink .row_col a.icon-ppt::after {
  display: none;
}
.btnlink .row_col a.icon-file::after {
  display: none;
}
.btnlink .row_col a[href^="#"] {
  padding: 1.5rem 5rem;
  text-align: center;
  background: #FBECA0;
  color: #484848;
}
.btnlink .row_col a[href^="#"]::after {
  content: "";
  transition: all ease 0.2s;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 3rem;
  display: block;
  width: 1.4rem;
  height: 1.1rem;
  background: #484848;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.btnlink .row_col a[href^="#"]:hover {
  opacity: 1;
}
.btnlink .row_col a[href^="#"]:hover::after {
  transform: translateY(0.1rem);
}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .btnlink {
    display: block;
    margin-bottom: 3rem;
    padding: 0 2rem;
  }
  .btnlink .row_col {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .btnlink .row_col:last-of-type {
    margin-bottom: 0;
  }
  .btnlink.num-2 .row_col {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .btnlink.num-3 .row_col {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .btnlink.num-4 .row_col {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .btn-link,
  .btnlink .row_col a {
    padding: 2rem 5rem 2rem 3.2rem;
    font-size: 1.4rem;
  }
  .btn-link::after,
  .btnlink .row_col a::after {
    right: 3.2rem;
    width: 0.8rem;
    height: 1rem;
  }
  a[target=_blank].btn-link::after,
  .btnlink .row_col.blank a::after {
    right: 2.5rem;
  }
  .btn-link {
    margin-right: 0;
    margin-top: 1rem;
  }
  .btn-link a {
    width: 100%;
    margin-right: 0;
  }
}
.box_row2 a.btn-link, .box_row3 a.btn-link, .box_row4 a.btn-link {
  margin-top: 1rem;
  max-width: 100%;
}

.box_row2 a.btn-link {
  min-width: 36rem;
}

.box_row3 a.btn-link {
  width: 100%;
}

.box_row4 a.btn-link {
  padding: 0.7rem 3rem;
  width: 100%;
}
.box_row4 a.btn-link::after {
  width: 0.9rem;
  height: 1.2rem;
  right: 1.5rem;
}

@media screen and (max-width: 896px) and (orientation: landscape) {
  .btnlink {
    padding: 0 10px;
  }
  .btn-link,
  .btnlink .row_col a {
    padding: 25px;
  }
  .btn-link::after,
  .btnlink .row_col a::after {
    right: 10px;
  }
  a[target=_blank].btn-link::after,
  .btnlink .row_col.blank a::after {
    right: 10px;
  }
  /* ファイルアイコン */
  .btnlink .row_col a.icon-pdf, .btnlink .row_col.blank a[href$=".pdf"], .btnlink .row_col a.icon-doc, .btnlink .row_col.blank a[href$=".doc"], .btnlink .row_col.blank a[href$=".docx"], .btnlink .row_col a.icon-xls, .btnlink .row_col.blank a[href$=".xls"], .btnlink .row_col.blank a[href$=".xlsx"], .btnlink .row_col a.icon-ppt, .btnlink .row_col.blank a[href$=".ppt"], .btnlink .row_col.blank a[href$=".pptx"], .btnlink .row_col a.icon-file {
    padding: 25px 36px 25px 40px;
  }
  /* ー＊ー＊ー＊ー＊ー */
  .btnlink .row_col a.icon-pdf::before, .btnlink .row_col.blank a[href$=".pdf"]::before {
    left: 10px;
  }
  .btnlink .row_col a.icon-doc::before, .btnlink .row_col.blank a[href$=".doc"]::before, .btnlink .row_col.blank a[href$=".docx"]::before {
    left: 10px;
  }
  .btnlink .row_col a.icon-xls::before, .btnlink .row_col.blank a[href$=".xls"]::before, .btnlink .row_col.blank a[href$=".xlsx"]::before {
    left: 10px;
  }
  .btnlink .row_col.blank a::after {
    right: 10px;
  }
  .btnlink .row_col a.icon-ppt::before, .btnlink .row_col.blank a[href$=".ppt"]::before, .btnlink .row_col.blank a[href$=".pptx"]::before {
    left: 10px;
  }
  .btnlink .row_col a.icon-file::before {
    left: 10px;
  }
}
/* ---------------------------------------------------
	コラム
------------------------------------------------------ */
.column_unit {
  width: 100%;
  margin: 0 auto 6rem;
}
.column_unit > .box {
  width: 100%;
  padding: 6rem;
  box-sizing: border-box;
  background: #FBECA0;
  border-radius: 2rem;
}
.column_unit > .box h2 {
  margin-bottom: 2rem;
}
.column_unit > .box h3 {
  width: 100%;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
}
.column_unit > .box h4 {
  margin-bottom: 2rem;
}
.column_unit > .box .content-wrap {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
}
.column_unit > .box .txt {
  width: 100%;
}
.column_unit > .box .txt p {
  margin-bottom: 0;
}
.column_unit > .box .img {
  width: 30%;
  max-width: 36rem;
  margin-left: 3rem;
}
.column_unit.column_important { /* 重要なコラムの設定 */ }
.column_unit.column_important > .box {
  background: #fff;
  border: 0.5rem solid #EA4242;
}
.column_unit.column_important > .box h2, .column_unit.column_important > .box h3, .column_unit.column_important > .box h4 {
  color: #EA4242;
}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .column_unit {
    width: calc(100% - 20px);
    margin: 0 auto 30px;
  }
  .column_unit h2, .column_unit h3, .column_unit h4, .column_unit h5 {
    padding: 0;
  }
  .column_unit > .box {
    display: block;
    width: 100%;
    padding: 20px;
  }
  .column_unit > .box .content-wrap {
    display: block;
  }
  .column_unit > .box .txt {
    margin-bottom: 20px;
  }
  .column_unit > .box .txt p {
    padding: 0;
    margin-bottom: 0;
  }
  .column_unit > .box .img {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
}
/* ---------------------------------------------------
	画像＋テキスト（左右配置）
------------------------------------------------------ */
.pic_txt {
  margin-bottom: 6rem;
  align-items: flex-start;
}
.pic_txt .row_pic {
  width: 50%;
  max-width: 60rem;
  border-radius: 1rem;
  overflow: hidden;
}
.pic_txt .row_pic.row_pic_w30 {
  width: 30%;
  max-width: 36rem;
}
.pic_txt .row_pic.row_pic_w40 {
  width: 40%;
  max-width: 48rem;
}
.pic_txt .row_pic.row_pic_w60 {
  width: 60%;
  max-width: 72rem;
}
.pic_txt .row_pic.row_pic_w70 {
  width: 70%;
  max-width: 84rem;
}
.pic_txt.pic_right .row_pic {
  width: 50%;
  max-width: 60rem;
  order: 10;
}
.pic_txt.pic_right .row_pic.row_pic_w30 {
  width: 30%;
  max-width: 36rem;
  order: 10;
}
.pic_txt.pic_right .row_pic.row_pic_w40 {
  width: 40%;
  max-width: 48rem;
  order: 10;
}
.pic_txt.pic_right .row_pic.row_pic_w60 {
  width: 60%;
  max-width: 72rem;
  order: 10;
}
.pic_txt.pic_right .row_pic.row_pic_w70 {
  width: 70%;
  max-width: 84rem;
  order: 10;
}
.pic_txt.pic_right .row_pic img + img {
  margin-top: 2rem;
}
.pic_txt .row_txt {
  width: 46.667%;
  max-width: 56rem;
}
.pic_txt .row_txt.row_txt_w66 {
  width: 66.667%;
  max-width: 79rem;
}
.pic_txt .row_txt.row_txt_w56 {
  width: 56.667%;
  max-width: 67rem;
}
.pic_txt .row_txt.row_txt_w36 {
  width: 36.667%;
  max-width: 44rem;
}
.pic_txt .row_txt.row_txt_w26 {
  width: 26.667%;
  max-width: 32rem;
}
.pic_txt .row_txt h3 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.pic_txt .row_txt p {
  margin-bottom: 0;
}
.pic_txt .row_txt p + .btn-link {
  margin-top: 4rem;
}
.pic_txt .row_txt p .btn-link.btnL {
  margin-left: 0;
  margin-right: auto;
}
.pic_txt .row_txt p .btn-link.btnR {
  margin-left: auto;
  margin-right: 0;
}
.pic_txt .row_txt p .btn-link.btnC {
  margin-left: auto;
  margin-right: auto;
}

.border-caution {
  width: 100%;
  border: 0.5rem solid #EA4242;
  padding: 4rem;
  box-sizing: border-box;
  margin: 0 auto 6rem;
  border-radius: 2rem;
}
.border-caution .pic_txt {
  margin-bottom: 0;
}

.border-standard {
  width: 100%;
  border-radius: 2rem;
  padding: 4rem;
  box-sizing: border-box;
  margin: 0 auto 6rem;
  background: #FBECA0;
}
.border-standard .pic_txt {
  margin-bottom: 0;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .pic_txt {
    margin-bottom: 3rem;
    padding: 0 2rem;
  }
  .pic_txt .row_pic {
    width: 100%;
    max-width: 100%;
    margin-bottom: 2rem;
    text-align: center;
  }
  .pic_txt .row_pic.row_pic_w30, .pic_txt .row_pic.row_pic_w40, .pic_txt .row_pic.row_pic_w60, .pic_txt .row_pic.row_pic_w70 {
    width: 100%;
    max-width: 100%;
  }
  .pic_txt.pic_right .row_pic {
    width: 100%;
    max-width: 100%;
    order: 0;
  }
  .pic_txt.pic_right .row_pic.row_pic_w30, .pic_txt.pic_right .row_pic.row_pic_w40, .pic_txt.pic_right .row_pic.row_pic_w60, .pic_txt.pic_right .row_pic.row_pic_w70 {
    width: 100%;
    max-width: 100%;
    order: 0;
  }
  .pic_txt .row_txt {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  .pic_txt .row_txt.row_txt_w66, .pic_txt .row_txt.row_txt_w56, .pic_txt .row_txt.row_txt_w36, .pic_txt .row_txt.row_txt_w26 {
    width: 100%;
    max-width: 100%;
  }
  .pic_txt .row_txt p {
    padding: 0;
  }
  .pic_txt .row_txt p + .btn-link {
    margin-top: 2rem;
  }
  .pic_txt .row_txt p .btn-link.btnL, .pic_txt .row_txt p .btn-link.btnC, .pic_txt .row_txt p .btn-link.btnR {
    margin-right: auto;
    margin-left: auto;
  }
  .pic_txt h5 {
    padding: 0;
  }
  .border-caution {
    padding: 1rem;
    margin: 0 auto 3rem;
    width: calc(100% - 2rem);
  }
  .border-caution .pic_txt .row_txt {
    padding: 0;
  }
  .border-standard {
    padding: 1rem;
    margin: 0 auto 3rem;
    width: calc(100% - 2rem);
  }
  .border-standard .pic_txt .row_txt {
    padding: 0;
  }
}
@media screen and (max-width: 896px) and (orientation: landscape) {
  .pic_txt .row_txt {
    padding: 0;
  }
  .pic_txt .row_txt_w26 .txt_btn a {
    padding: 25px 16px;
  }
  .pic_txt .row_txt_w26 .txt_btn a::after {
    right: 20px;
  }
  .entry-column .content_row {
    padding: 0 40px;
  }
  .entry-column .content_row h2 {
    padding: 0;
    font-size: 30px;
  }
  .entry-column .content_row h3 {
    padding: 0;
    font-size: 28px;
  }
  .entry-column .content_row h4 {
    width: 100%;
  }
  .entry-column .content_row h5 {
    padding: 0;
  }
  .entry-column .content_row p {
    padding: 0;
    font-size: 16px;
  }
  .border-caution {
    width: calc(100% - 80px);
    padding: 20px;
  }
  .border-caution .content_row {
    padding: 0;
  }
  .border-standard {
    width: calc(100% - 80px);
    padding: 20px;
  }
  .border-standard .content_row {
    padding: 0;
  }
}
/* ---------------------------------------------------
	画像＋テキスト（画像に重ねて配置）
------------------------------------------------------ */
.pic-ontxt {
  margin-bottom: 7rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}
.pic-ontxt .img {
  position: relative;
  z-index: 1;
  order: 1;
}
.pic-ontxt .txt {
  background: #fff;
  border-radius: 1rem;
  padding: 8rem 6rem 8rem 8rem;
  position: relative;
  z-index: 2;
  order: 2;
}
.pic-ontxt .txt h3 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.pic-ontxt .txt p {
  margin-bottom: 0;
}
.pic-ontxt.ontxt-top .img {
  width: 100%;
  order: 10;
}
.pic-ontxt.ontxt-top .txt {
  width: calc(100% - 100px);
  margin: 0 auto -150px;
}
.pic-ontxt.ontxt-bottom .img {
  width: 100%;
}
.pic-ontxt.ontxt-bottom .txt {
  width: calc(100% - 100px);
  margin: -150px auto 0;
}
.pic-ontxt.ontxt-left {
  flex-wrap: nowrap;
}
.pic-ontxt.ontxt-left .img {
  width: 70%;
  margin-left: auto;
  order: 10;
}
.pic-ontxt.ontxt-left .txt {
  width: 50%;
  margin: 120px -20% 50px 0;
}
.pic-ontxt.ontxt-right {
  flex-wrap: nowrap;
}
.pic-ontxt.ontxt-right .img {
  width: 70%;
  margin-right: auto;
}
.pic-ontxt.ontxt-right .txt {
  width: 50%;
  margin: 120px 0 50px -20%;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .pic-ontxt {
    margin-bottom: 20px;
  }
  .pic-ontxt.ontxt-left, .pic-ontxt.ontxt-right {
    flex-wrap: wrap;
  }
  .pic-ontxt.ontxt-top .img, .pic-ontxt.ontxt-bottom .img, .pic-ontxt.ontxt-left .img, .pic-ontxt.ontxt-right .img {
    width: 100%;
    order: 1;
  }
  .pic-ontxt.ontxt-top .txt, .pic-ontxt.ontxt-bottom .txt, .pic-ontxt.ontxt-left .txt, .pic-ontxt.ontxt-right .txt {
    width: calc(100% - 20px);
    margin: -50px auto 0;
    padding: 20px;
    order: 2;
  }
}
/* ---------------------------------------------------
	画像＋テキスト（縦：2分割）※センターから表示する
------------------------------------------------------ */
.box_row2 {
  justify-content: space-between;
  margin-bottom: 4rem;
}
.box_row2 h4 {
  margin-bottom: 1rem;
}
.box_row2 .row_col {
  width: 58rem;
  max-width: 48.333%;
  margin-bottom: 4rem;
}
.box_row2 .row_col .col_pic {
  margin-bottom: 2rem;
  text-align: center;
  border-radius: 1rem;
  overflow: hidden;
}
.box_row2 .row_col .col_pic img {
  width: 100%;
}
.box_row2 .row_col .col_txt h3 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.box_row2 .row_col .col_txt p {
  padding: 0;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .box_row2 {
    padding: 0 2rem;
  }
  .box_row2 h4 {
    width: 100%;
    margin-bottom: 1rem;
    padding: 0;
  }
  .box_row2 .row_col {
    width: 100%;
    max-width: 100%;
    margin-bottom: 2rem;
  }
  .box_row2 .row_col .col_pic {
    margin-bottom: 1.5rem;
  }
  .box_row2 .row_col + .row_col {
    margin-top: 3rem;
  }
  .box_row2 .row_col .col_txt {
    padding: 0 1rem;
  }
  .box_row2 .row_col .col_txt h5 {
    padding-left: 0;
    padding-right: 0;
  }
  .box_row2 .row_col .col_txt p {
    padding: 0;
  }
}
@media screen and (max-width: 896px) and (orientation: landscape) {
  .box_row2 .row_col .col_txt {
    padding: 0;
  }
}
/* ---------------------------------------------------
	画像＋テキスト（縦：3分割）※センターから表示する
------------------------------------------------------ */
.box_row3 {
  justify-content: center;
  margin-bottom: 4rem;
}
.box_row3 h4 {
  margin-bottom: 1rem;
}
.box_row3 .row_col {
  width: 37.3rem;
  max-width: 31.084%;
  margin-right: 3.37%;
  margin-bottom: 4rem;
}
.box_row3 .row_col:nth-of-type(3n) {
  margin-right: 0;
}
.box_row3 .row_col:last-of-type {
  margin-right: 0;
}
.box_row3 .row_col .col_pic {
  margin-bottom: 2rem;
  text-align: center;
  border-radius: 1rem;
  overflow: hidden;
}
.box_row3 .row_col .col_pic img {
  width: 100%;
}
.box_row3 .row_col .col_txt h3 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.box_row3 .row_col .col_txt p {
  margin: 0;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .box_row3 {
    margin-bottom: 5rem;
    padding: 0 2rem;
  }
  .box_row3 h4 {
    width: calc(100% - 2rem);
    margin-bottom: 1rem;
    padding: 0;
  }
  .box_row3 .row_col {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .box_row3 .row_col:last-of-type {
    margin-bottom: 0;
  }
  .box_row3 .row_col .col_pic {
    margin-bottom: 1.5rem;
  }
  .box_row3 .row_col .col_txt {
    padding: 0;
  }
  .box_row3 .row_col .col_txt h5 {
    padding-left: 0;
    padding-right: 0;
  }
  .box_row3 .row_col .col_txt p {
    padding: 0;
  }
}
@media screen and (max-width: 896px) and (orientation: landscape) {
  .box_row3 h4 {
    width: 100%;
  }
  .box_row3 .row_col .col_txt {
    padding: 0;
  }
}
/* ---------------------------------------------------
	画像＋テキスト（縦：4分割）※センターから表示する
------------------------------------------------------ */
.box_row4 {
  justify-content: center;
  margin-bottom: 4rem;
  padding: 0 2rem;
}
.box_row4 h5 {
  margin-bottom: 2rem;
}
.box_row4 .row_col {
  width: 22.5%;
  margin-right: 3.33%;
  margin-bottom: 4rem;
}
.box_row4 .row_col:nth-of-type(4n) {
  margin-right: 0;
}
.box_row4 .row_col:last-of-type {
  margin-right: 0;
}
.box_row4 .row_col .col_pic {
  margin-bottom: 2rem;
  text-align: center;
  border-radius: 1rem;
  overflow: hidden;
}
.box_row4 .row_col .col_pic img {
  width: 100%;
}
.box_row4 .row_col .col_txt h3 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .box_row4 {
    margin-bottom: 5rem;
    justify-content: space-between;
  }
  .box_row4 h4 {
    padding: 0;
  }
  .box_row4 h5 {
    margin-bottom: 1rem;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
    padding: 0 1rem;
  }
  .box_row4 .row_col {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .box_row4 .row_col:last-of-type {
    margin-bottom: 0;
  }
  .box_row4 .row_col .col_pic {
    margin-bottom: 1.5rem;
  }
  .box_row4 .row_col .col_txt h5 {
    padding-left: 0;
    padding-right: 0;
  }
  .box_row4 .row_col .col_txt p {
    padding: 0;
  }
}
@media screen and (max-width: 896px) and (orientation: landscape) {
  .box_row4 .row_col .col_txt h5 {
    padding: 0;
  }
}
/* ---------------------------------------------------
	タイトル＋テキスト（左右配置）
------------------------------------------------------ */
.tit-and-txt-wrap {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 6rem;
}
.tit-and-txt-wrap .text-wrap {
  width: 47%;
}
.tit-and-txt-wrap .tit-wrap {
  width: 50%;
}
.tit-and-txt-wrap .tit-wrap h3 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.tit-and-txt-wrap .tit-wrap.w70 {
  width: 70%;
}
.tit-and-txt-wrap .tit-wrap.w70 + .text-wrap {
  width: 27%;
}
.tit-and-txt-wrap .tit-wrap.w60 {
  width: 60%;
}
.tit-and-txt-wrap .tit-wrap.w60 + .text-wrap {
  width: 37%;
}
.tit-and-txt-wrap .tit-wrap.w50 {
  width: 50%;
}
.tit-and-txt-wrap .tit-wrap.w50 + .text-wrap {
  width: 47%;
}
.tit-and-txt-wrap .tit-wrap.w40 {
  width: 40%;
}
.tit-and-txt-wrap .tit-wrap.w40 + .text-wrap {
  width: 57%;
}
.tit-and-txt-wrap .tit-wrap.w30 {
  width: 30%;
}
.tit-and-txt-wrap .tit-wrap.w30 + .text-wrap {
  width: 67%;
}
.tit-and-txt-wrap.pos-top {
  align-items: flex-start;
}
.tit-and-txt-wrap.pos-middle {
  align-items: center;
}
.tit-and-txt-wrap.pos-under {
  align-items: flex-end;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .tit-and-txt-wrap {
    padding: 0 2rem;
  }
  .tit-and-txt-wrap .tit-wrap {
    width: 100% !important;
  }
  .tit-and-txt-wrap .text-wrap {
    width: 100% !important;
  }
}
/* ---------------------------------------------------
	Q&A
------------------------------------------------------ */
.faq-group {
  max-width: 120rem;
  margin: 0 auto 4rem;
}
.faq-group .faq-tit {
  width: 100%;
  text-align: center;
  border-radius: 1rem;
  color: #fff;
  background: #ED7A7A;
  padding: 1rem 0;
  cursor: pointer;
  margin-bottom: 6rem;
  font-size: clamp(16px, 2.6rem, 2.6rem);
  transition: all ease 0.3s;
}
.faq-group .faq-tit::before {
  display: none;
}
.faq-group .faq-tit::after {
  content: "";
  display: inline-block;
  background: #fff;
  width: 2rem;
  height: 1.5rem;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  transition: all 0.4s ease-in-out;
  margin: 0 0 0 2rem;
  border-top: none;
  border-bottom: none;
}
.faq-group .faq-tit:hover {
  opacity: 0.8;
}
.faq-group .faq-tit.open::after {
  transform: rotateX(180deg);
}

.faq-group-contents {
  display: none;
}
.faq-group-contents .faq-content {
  margin: 0 auto 6rem;
}
.faq-group-contents .faq-content .faq-q {
  position: relative;
  padding-left: 3.6rem;
  text-align: left;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(14px, 2.4rem, 2.4rem);
  border-bottom: none;
  width: 100%;
  padding-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.7rem;
  color: #484848;
  letter-spacing: 0.14em;
}
.faq-group-contents .faq-content .faq-q::before {
  content: "Q";
  position: absolute;
  color: #ED7A7A;
  line-height: 1.23;
  font-size: clamp(14px, 3.4rem, 3.4rem);
  left: 0;
  top: -0.8rem;
  font-weight: 700;
}
.faq-group-contents .faq-content .faq-a {
  position: relative;
  padding-left: 3.6rem;
  color: #484848;
  font-size: clamp(14px, 1.8rem, 1.8rem);
  margin: 0;
}
.faq-group-contents .faq-content .faq-a a {
  color: #484848;
  text-decoration: underline;
}
.faq-group-contents .faq-content .faq-a::before {
  content: "A";
  position: absolute;
  top: -0.8rem;
  left: 0;
  font-size: clamp(14px, 3.4rem, 3.4rem);
  font-weight: 700;
  line-height: 1.23;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .faq-group {
    max-width: 100%;
    margin: 0 auto 4rem;
    padding: 0 2rem;
  }
  .faq-group .faq-tit {
    font-size: 1.8rem;
    margin-bottom: 3rem;
  }
  .faq-group .faq-tit::after {
    width: 1.4rem;
    height: 1.1rem;
  }
  .faq-group .faq-content .faq-q {
    font-size: 1.6rem;
  }
  .faq-group .faq-content .faq-q::before {
    line-height: 1;
    font-size: 2.8rem;
  }
  .faq-group .faq-content .faq-a {
    font-size: 1.4rem;
  }
  .faq-group .faq-content .faq-a::before {
    font-size: 2.8rem;
  }
}
/* ---------------------------------------------------
	流れ・手順用
------------------------------------------------------ */
.custom-flow {
  counter-reset: flownum;
}

.flow-box {
  position: relative;
  padding: 4rem 1rem;
}
.flow-box:nth-child(2n) {
  background: rgba(42, 24, 0, 0.05);
}
.flow-box h3 {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  padding-left: 5rem;
  position: relative;
  margin-bottom: 2rem;
}
.flow-box h3.tit-flow::before {
  counter-increment: flownum;
  content: counter(flownum);
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 0;
  letter-spacing: 0.1em;
  font-size: clamp(14px, 4rem, 4rem);
  font-family: "Noto Sans JP";
  font-weight: 700;
}

.flow-content {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
}
.flow-content::before, .flow-content::after {
  content: "";
  display: none;
}
.flow-content .flow-img {
  width: 28.334%;
  max-width: 34rem;
}
.flow-content .flow-txt {
  width: 68.334%;
  max-width: 82rem;
}
.flow-content.no-img .flow-img {
  display: none;
}
.flow-content.no-img .flow-txt {
  width: 100%;
  max-width: 100%;
}
.flow-content.no-img .flow-txt strong {
  font-weight: bold;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .flow-box {
    position: relative;
    padding: 2rem;
  }
  .flow-box h3.tit-flow {
    margin-bottom: 1.5rem;
  }
  .flow-box h3.tit-flow::before {
    font-size: 2.4rem;
  }
  .flow-box .flow-content {
    display: block;
    width: 100%;
    max-width: 120rem;
  }
  .flow-box .flow-content .flow-img {
    width: 100%;
    max-width: 100%;
    text-align: center;
    margin-bottom: 1rem;
  }
  .flow-box .flow-content .flow-txt {
    width: 100%;
    max-width: 100%;
  }
}
/* ---------------------------------------------------
	テーブル
------------------------------------------------------ */
.column-table- {
  width: 100%;
  margin: 0 auto 6rem;
}
.column-table- table {
  border-radius: 1rem;
  border-spacing: 0;
  overflow: hidden;
  border-collapse: separate;
  border-top: 0.1rem solid #FBECA0;
  border-left: 0.1rem solid #FBECA0;
}
.column-table- table tr {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  empty-cells: show;
  table-layout: fixed;
  background: #FFF;
}
.column-table- table tr th, .column-table- table tr td {
  padding: 2rem;
  vertical-align: middle;
  color: #484848;
  font-size: clamp(16px, 1.8rem, 1.8rem);
}
.column-table- table tr th {
  width: 25%;
  background: #FBECA0;
  text-align: left;
  font-weight: 700;
  border-top: none;
  border-right: 0.1rem solid #FBECA0;
  border-bottom: 0.1rem solid #FFF;
  color: #484848;
}
.column-table- table tr td {
  background: #fff;
  font-weight: 500;
  border-top: none;
  border-bottom: 0.1rem solid #FBECA0;
  border-right: 0.1rem solid #FBECA0;
}
.column-table- table tr:first-of-type th:first-child, .column-table- table tr:first-of-type td:first-child {
  border-radius: 1rem 0 0 0;
}
.column-table- table tr:first-of-type th:last-child, .column-table- table tr:first-of-type td:last-child {
  border-radius: 0 1rem 0 0;
}
.column-table- table tr:first-of-type th {
  border-top: 0.1rem solid #FBECA0;
}
.column-table- table tr:last-of-type th:first-child, .column-table- table tr:last-of-type td:first-child {
  border-radius: 0 0 0 1rem;
}
.column-table- table tr:last-of-type th:last-child, .column-table- table tr:last-of-type td:last-child {
  border-radius: 0 0 1rem 0;
}
.column-table- table tr:last-of-type th {
  border-bottom: 0.1rem solid #FBECA0;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .column-table- {
    padding: 0 2rem;
    margin: 0 auto 2rem;
  }
  .column-table- table.yoko-table tr th, .column-table- table.yoko-table tr td {
    display: table-cell;
  }
  .column-table- table.yoko-table tr th {
    width: auto;
  }
  .column-table- table tr th, .column-table- table tr td {
    padding: 1rem;
    font-size: 1.4rem;
    display: block;
  }
  .column-table- table tr th {
    width: 100%;
  }
  .column-table- table.js-table-unit-scroll-hint {
    table-layout: auto;
  }
  .column-table- table.acms-table-scrollable {
    table-layout: auto;
  }
}
@media screen and (max-width: 896px) and (orientation: landscape) {
  .column-table- {
    padding: 0 40px;
  }
  .column-table- table.js-table-unit-scroll-hint {
    table-layout: auto;
  }
  .column-table- table.js-table-unit-scroll-hint th, .column-table- table.js-table-unit-scroll-hint td {
    display: table-cell !important;
    white-space: nowrap;
  }
  .column-table- table.acms-table-scrollable {
    table-layout: auto;
  }
  .column-table- table.acms-table-scrollable th, .column-table- table.acms-table-scrollable td {
    display: table-cell !important;
    white-space: nowrap;
  }
}
/* ---------------------------------------------------
	罫線
------------------------------------------------------ */
.entry-column hr.hr-line {
  margin: 0 auto;
  border-bottom: 0.1rem solid #484848;
}

/* ---------------------------------------------------
	余白
------------------------------------------------------ */
.hr_margin {
  margin: 0 auto;
  border: none !important;
}

.margin-s {
  margin-bottom: 20px;
}

.margin-m {
  margin-bottom: 40px;
}

.margin-l {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .margin-s {
    margin-bottom: 10px;
  }
  .margin-m {
    margin-bottom: 20px;
  }
  .margin-l {
    margin-bottom: 30px;
  }
}
/* ------------------------------
　　sdgs
------------------------------ */
.sdgs-unit-wrap {
  width: 100%;
  max-width: 1200px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: auto;
  margin-bottom: 60px;
}
.sdgs-unit-wrap img {
  display: block;
  width: 260px;
  height: 260px;
  object-fit: cover;
  margin-right: 40px;
}
.sdgs-unit-wrap .text {
  width: 900px;
}
.sdgs-unit-wrap > *:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1240px) {
  .sdgs-unit-wrap {
    width: 120rem;
    margin: auto;
    margin-bottom: 6rem;
  }
  .sdgs-unit-wrap img {
    width: 26rem;
    height: 26rem;
    margin-right: 4rem;
  }
  .sdgs-unit-wrap .text {
    width: 90rem;
  }
}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .sdgs-unit-wrap {
    width: 100%;
  }
  .sdgs-unit-wrap img {
    margin-right: auto;
    margin: auto;
    margin-bottom: 20px;
  }
  .sdgs-unit-wrap .text {
    width: 100%;
  }
}

/* ---------------------------------------------------
	slider 共通
------------------------------------------------------ */
.slick-prev, .slick-next {
  background: none;
}
.slick-prev::before, .slick-next::before {
  content: "";
  display: none;
}

.slide-inft {
  max-width: 1000px;
  margin: 0 auto;
  display: none;
}
.slide-inft.slick-initialized {
  display: block;
}
.slide-inft .slick-next, .slide-inft .slick-prev {
  width: 30px;
  height: 54px;
  margin-top: -27px;
}
.slide-inft .slick-prev {
  background: url("../images/common/ico-slider-prev@2x.png") no-repeat;
  left: -50px;
}
.slide-inft .slick-next {
  background: url("../images/common/ico-slider-next@2x.png") no-repeat;
  right: -50px;
}
.slide-inft .slick-slide img {
  max-width: 1000px;
  max-height: 660px;
}

.slide-inft-thumb {
  max-width: 880px;
  margin: 0 auto 40px;
  display: none;
}
.slide-inft-thumb.slick-initialized {
  display: block;
}
.slide-inft-thumb .slick-track {
  display: flex;
  justify-content: space-between;
}
.slide-inft-thumb .slick-track::before, .slide-inft-thumb .slick-track::after {
  display: none;
}
.slide-inft-thumb .slick-slide {
  max-width: 170px;
}
.slide-inft-thumb .slick-next, .slide-inft-thumb .slick-prev {
  width: 15px;
  height: 27px;
  top: 50%;
  margin-top: -14px;
}
.slide-inft-thumb .slick-prev {
  background: url("../images/common/ico-slider-prev.png") no-repeat;
  left: -30px;
}
.slide-inft-thumb .slick-next {
  background: url("../images/common/ico-slider-next.png") no-repeat;
  right: -30px;
}

.slide-inf {
  max-width: 1000px;
  margin: 0 auto 40px;
  display: none;
}
.slide-inf.slick-initialized {
  display: block;
}
.slide-inf .slick-next, .slide-inf .slick-prev {
  width: 30px;
  height: 54px;
  margin-top: -27px;
}
.slide-inf .slick-prev {
  background: url("../images/common/ico-slider-prev@2x.png") no-repeat;
  left: -50px;
}
.slide-inf .slick-next {
  background: url("../images/common/ico-slider-next@2x.png") no-repeat;
  right: -50px;
}
.slide-inf .slick-slide img {
  max-width: 1000px;
  max-height: 660px;
}

.slick-list:focus::before {
  border: none;
}

.slick-slide .slide-img-cap {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .slide-inft {
    max-width: 100%;
    margin: 0 auto;
  }
  .slide-inft .slick-next, .slide-inft .slick-prev {
    display: none !important;
    width: 80px;
    height: 15px;
    margin-top: -7px;
    top: 110px;
  }
  .slide-inft .slick-prev {
    background: url("../img/common/ico_slide_arrow_left.png") no-repeat;
    left: 0;
  }
  .slide-inft .slick-next {
    background: url("../img/common/ico_slide_arrow_right.png") no-repeat;
    right: 0;
  }
  .slide-inft .slick-slide img {
    max-width: 100%;
    max-height: 250px;
  }
  .slide-inft-thumb {
    max-width: 100%;
    margin: 0 auto 40px;
  }
  .slide-inft-thumb .slick-track {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
  }
  .slide-inft-thumb .slick-track::before, .slide-inft-thumb .slick-track::after {
    display: none;
  }
  .slide-inft-thumb .slick-slide {
    max-width: 170px;
  }
  .slide-inft-thumb .slick-next, .slide-inft-thumb .slick-prev {
    top: 40%;
  }
  .slide-inf {
    max-width: 100%;
    margin: 0 auto 40px;
  }
  .slide-inf .slick-next, .slide-inf .slick-prev {
    display: none !important;
    width: 80px;
    height: 15px;
    margin-top: -7px;
    top: 110px;
  }
  .slide-inf .slick-prev {
    background: url("../img/common/ico_slide_arrow_left.png") no-repeat;
    left: 0;
  }
  .slide-inf .slick-next {
    background: url("../img/common/ico_slide_arrow_right.png") no-repeat;
    right: 0;
  }
  .slide-inf .slick-slide img {
    max-width: 100%;
    max-height: 250px;
  }
  .slick-slide .slide-img-cap {
    margin-bottom: 10px;
    line-height: 1.6;
  }
}
/* 追加したユニット */
/* ---------------------------------------------------
	背景画像の上にcontentsを表示ユニット
------------------------------------------------------ */
.bgontxt {
  width: 100%;
  max-width: 100%;
  padding: 10rem 0;
  margin-bottom: 4rem;
}
.bgontxt > * {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}
.bgontxt > * h3.taL {
  margin-left: 0;
  margin-right: auto;
}
.bgontxt > * h3.taR {
  margin-right: 0;
  margin-left: auto;
}
.bgontxt > * h3.taC {
  margin-right: auto;
  margin-left: auto;
}
.bgontxt > * .btnL {
  text-align: left;
}
.bgontxt > * .btnR {
  text-align: right;
}
.bgontxt > * .btnC {
  text-align: center;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .bgontxt {
    padding: 5rem 2rem;
  }
}
/* ---------------------------------------------------
	ユニットグループ 白背景セクション（アーチ形ラベル）
------------------------------------------------------ */
.group-arch {
  background: #fff;
  border-radius: 3rem;
  padding: 8rem 10rem 10rem;
  position: relative;
  margin: 10rem auto 6rem;
  counter-reset: flow;
}
.group-arch::before {
  content: "";
  background: #fff;
  clip-path: ellipse(50% 50% at 50% 50%);
  position: absolute;
  width: 40rem;
  height: 13.2rem;
  top: -5rem;
  left: 50%;
  transform: translateX(-50%);
}
.group-arch::after {
  content: "";
  position: absolute;
  width: 21rem;
  height: 15.7rem;
  right: 6.8rem;
  top: -8.6rem;
  background: url(../images/common/group-tree.png) no-repeat center/contain;
}
.group-arch h3 {
  margin-left: 0;
  margin-right: auto;
}
.group-arch h3.taC {
  margin-left: auto;
  margin-right: auto;
}
.group-arch .pic-ontxt .txt {
  box-shadow: 0 0 0.5rem rgba(72, 72, 72, 0.2);
}
.group-arch .bgontxt {
  padding-left: 10rem;
  padding-right: 10rem;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .group-arch {
    width: calc(100% - 4rem);
    margin-left: auto;
    margin-right: auto;
    padding: 3rem;
    border-radius: 2rem;
  }
  .group-arch::before {
    width: 17rem;
    height: 5.6rem;
    top: -3rem;
  }
  .group-arch::after {
    width: 8.4rem;
    height: 5.4rem;
    right: 0.8rem;
    top: -2.5rem;
  }
  .group-arch h2 {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch h2.taC {
    padding-left: 2rem;
    padding-right: 1.7rem;
    max-width: 100%;
  }
  .group-arch h3 {
    max-width: 100%;
    width: fit-content;
  }
  .group-arch h4 {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch h5 {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch ul, .group-arch ol {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch p {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .column-table- {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .txt-link {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .btnlink {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .column_unit {
    width: 100%;
  }
  .group-arch .tit-and-txt-wrap {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .tit-and-txt-wrap .text-wrap p {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .tit-and-txt-wrap .text-wrap .btn-link {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .border-standard {
    width: 100%;
  }
  .group-arch .border-standard .row_txt .btn-link {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .box_row2, .group-arch .box_row3, .group-arch .box_row4 {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .box_row2 .col_txt, .group-arch .box_row3 .col_txt, .group-arch .box_row4 .col_txt {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .box_row2 .col_txt p, .group-arch .box_row3 .col_txt p, .group-arch .box_row4 .col_txt p {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
  }
  .group-arch .faq-group {
    padding-left: 0;
    padding-right: 0;
  }
  .group-arch .bgontxt {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .group-arch .pic_txt {
    padding-left: 0;
    padding-right: 0;
  }
}
/* ---------------------------------------------------
	ユニットグループ 白背景セクション（装飾）
------------------------------------------------------ */
.group-deco {
  margin: 10rem auto 6rem;
  background: #fff;
  padding: 2.2rem 0 6.5rem;
  position: relative;
  width: 100%;
  max-width: 100%;
}
.group-deco > * {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}
.group-deco::before {
  content: "";
  width: 18.6rem;
  height: 14.7rem;
  top: -5.2rem;
  left: 12%;
  display: block;
  position: absolute;
  background: url(../images/common/group_bird.png) no-repeat center/contain;
}
.group-deco::after {
  content: "";
  width: 26.3rem;
  height: 26.3rem;
  display: block;
  bottom: -9rem;
  right: 12%;
  position: absolute;
  background: url(../images/common/group_m.png) no-repeat center/contain;
}
.group-deco .btnlink .row_col a[href^="#"]::after {
  transform: translateY(-50%) rotate(180deg);
}
.group-deco .btnlink .row_col a[href^="#"]:hover::after {
  transform: translateY(-1rem) rotate(180deg);
}
.group-deco .btnlink.num-2:has(a[href^="#"]) {
  gap: 0 11rem;
  margin-bottom: 0;
}
.group-deco .btnlink.num-2:has(a[href^="#"]) .row_col {
  width: fit-content;
  margin-bottom: 0;
}
.group-deco .btnlink.num-2:has(a[href^="#"]) .row_col:first-of-type {
  margin-left: auto;
  margin-right: 0;
}
.group-deco .btnlink.num-2:has(a[href^="#"]) .row_col:last-of-type {
  margin-left: 0;
  margin-right: auto;
}
.group-deco .btnlink.num-2:has(a[href^="#"]) .row_col a[href^="#"]::after {
  transform: translateY(-50%) rotate(180deg);
}
.group-deco .btnlink.num-2:has(a[href^="#"]) .row_col a[href^="#"]:hover::after {
  transform: translateY(-1rem) rotate(180deg);
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .group-deco {
    margin: 10rem auto 6rem;
    background: #fff;
    padding: 3rem 0 4.7rem;
    position: relative;
    width: 100%;
    max-width: 100%;
  }
  .group-deco > * {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .group-deco::before {
    width: 8rem;
    height: 5.3rem;
    top: -2rem;
    left: 5%;
  }
  .group-deco::after {
    width: 10.4rem;
    height: 10.4rem;
    bottom: -3.6rem;
    right: 5%;
  }
  .group-deco .btnlink.num-2:has(a[href^="#"]) .row_col:first-of-type {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
  }
  .group-deco .btnlink.num-2:has(a[href^="#"]) .row_col:last-of-type {
    margin-left: auto;
    margin-right: auto;
  }
}
/* ---------------------------------------------------
	ユニットグループ 白背景セクション
------------------------------------------------------ */
.group-white {
  background: #fff;
  border-radius: 0 0 2rem 2rem;
  padding: 5rem 10rem;
  margin-bottom: 6rem;
}
.group-white .column-media-auto, .group-white .column-media-left, .group-white .column-media-center, .group-white .column-media-right {
  width: fit-content !important;
}

.acms-entry .group-white .column-media-auto, .acms-entry .group-white .column-media-left, .acms-entry .group-white .column-media-center, .acms-entry .group-white .column-media-right {
  width: fit-content !important;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .group-white {
    width: calc(100% - 4rem);
    margin-left: auto;
    margin-right: auto;
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .group-white h2 {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white h2.taC {
    padding-left: 2rem;
    padding-right: 1.7rem;
    max-width: 100%;
  }
  .group-white h3 {
    max-width: 100%;
    width: fit-content;
  }
  .group-white h4 {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white h5 {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white ul, .group-white ol {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white p {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .column-table- {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .txt-link {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .btnlink {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .column_unit {
    width: 100%;
  }
  .group-white .tit-and-txt-wrap {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .tit-and-txt-wrap .text-wrap p {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .tit-and-txt-wrap .text-wrap .btn-link {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .border-standard {
    width: 100%;
  }
  .group-white .border-standard .row_txt .btn-link {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .box_row2, .group-white .box_row3, .group-white .box_row4 {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .box_row2 p, .group-white .box_row3 p, .group-white .box_row4 p {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .faq-group {
    padding-left: 0;
    padding-right: 0;
  }
  .group-white .bgontxt {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
/* ---------------------------------------------------
	PCSPユニット
------------------------------------------------------ */
.pcsp-img {
  text-align: center;
  margin-bottom: 4rem;
}
/* ---------------------------------------------------
	自動スライドショー
------------------------------------------------------ */
.autoslider {
  width: 100%;
  max-width: 100%;
  margin-bottom: 6rem;
}
.autoslider .autoslider-wrap {
  transition-timing-function: linear;
}
.autoslider .autoslider-wrap .autoslider-item {
  width: 30.1rem;
  border-radius: 1rem;
  overflow: hidden;
}
/* ---------------------------------------------------
	モジュールユニット：お知らせ
------------------------------------------------------ */
.news-box {
  background: #fff;
  border: 0.1rem solid #808080;
  border-radius: 2rem;
  padding: 3.9rem 2.5rem;
  position: relative;
  z-index: 1;
  max-width: 100rem;
  margin: auto;
}
.news-box .item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 3.1rem 0 3.2rem 0;
  border-bottom: 0.1rem solid #ED7A7A;
}
.news-box .item .item-pic {
  flex-shrink: 0;
  aspect-ratio: 51/41;
  width: 15.3rem;
  overflow: hidden;
  margin-right: 2.7rem;
}
.news-box .item .item-pic img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: cover;
}
.news-box .item .item-txt .date {
  color: #484848;
  letter-spacing: 0.14em;
  font-size: clamp(14px, 1.5rem, 1.5rem);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1.9rem;
}
.news-box .item .item-txt .title {
  font-weight: 500;
  font-size: clamp(16px, 1.8rem, 1.8rem);
  letter-spacing: 0.14em;
  line-height: 1.6;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.news-box .item:nth-of-type(1) {
  padding: 0 0 3.2rem 0;
}
.news-box .item:nth-of-type(3) {
  padding: 3.1rem 0 0 0;
  border-bottom: none;
}
.news-box .link-btn {
  background: #ED7A7A;
  color: #fff;
  border-radius: 29.5rem;
  font-size: clamp(16px, 1.8rem, 1.8rem);
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.3;
  padding: 1.4rem 4.7rem 1.6rem 4.5rem;
  width: fit-content;
  max-width: 100%;
  margin: 3.1rem auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.news-box .link-btn:visited {
  color: #fff;
}
.news-box .link-btn .txt {
  display: flex;
  align-items: center;
  justify-content: center;
}
.news-box .link-btn .txt::after {
  content: "";
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #fff;
  margin-left: 1.8rem;
  width: 1.2rem;
  height: 1.6rem;
  display: block;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .box {
    padding: 3.4 1.9rem 2.8rem;
    margin-bottom: 4.7rem;
    max-width: 100%;
  }
  .box .item {
    padding: 2.5rem 0;
  }
  .box .item .item-pic {
    aspect-ratio: 106/85;
    width: 10.6rem;
    margin-right: 1.8rem;
  }
  .box .item .item-txt .date {
    font-size: 1rem;
    margin-bottom: 0.8rem;
  }
  .box .item .item-txt .title {
    font-size: 1.4rem;
  }
  .box .item:nth-of-type(1) {
    padding: 0 0 2.5rem 0;
  }
  .box .item:nth-of-type(3) {
    padding: 2.5rem 0 0 0;
  }
  .box .link-btn {
    border-radius: 2rem;
    font-size: 1.4rem;
    padding: 0.7rem 2.5rem 1rem 3.2rem;
    line-height: 1.71;
  }
  .box .link-btn .txt::after {
    margin-left: 0.5rem;
    width: 1rem;
    height: 1.2rem;
  }
}
/* ---------------------------------------------------
	職員紹介ユニット
------------------------------------------------------ */
.staff {
  background: #fff;
  border-radius: 2rem;
  padding: 6.2rem;
  margin-bottom: 4rem;
}
.staff .info {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  margin-bottom: 6.1rem;
}
.staff .info .img-box {
  width: 41.3rem;
  max-width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  flex-shrink: 0;
}
.staff .info .img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.staff .info .info-box {
  max-width: calc(100% - 47.5rem);
}
.staff .info .info-box .name {
  border-bottom: 0.1rem solid #484848;
  color: #484848;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.24em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 2.6rem;
  padding: 0 0.7rem;
  margin-bottom: 2.2rem;
}
.staff .info .info-box .name .kana {
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  color: #484848;
}
.staff .info .info-box .profile {
  color: #484848;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.24em;
}
.staff .info .info-box .catch {
  color: #ED7A7A;
  text-align: left;
  font-weight: 700;
  line-height: 1.6;
  font-size: 3rem;
  letter-spacing: 0.22em;
  margin-top: 9.4rem;
  padding-left: 7.4rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-wrap: pretty;
  font-feature-settings: "palt";
}
.staff .tita {
  font-family: "Zen Kaku Gothic New", sans-serif;
  letter-spacing: 0.22em;
  margin-bottom: 3.9rem;
  color: #484848;
  font-weight: 700;
  font-size: 2.4rem;
  text-wrap: pretty;
}
.staff .titb {
  color: #484848;
  margin-bottom: 1.8rem;
  font-size: 1.8rem;
  text-wrap: pretty;
}
.staff .titb::before {
  content: "ー";
  color: #ED7A7A;
  display: inline-block;
}
.staff .desc {
  color: #484848;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.24em;
  margin: 0;
  margin-bottom: 4.4rem;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .staff {
    width: calc(100% - 3.4rem);
    margin-left: auto;
    margin-right: auto;
    padding: 3.4rem 2.7rem 4.5rem;
  }
  .staff .info {
    display: block;
    margin-bottom: 4.6rem;
  }
  .staff .info .img-box {
    width: 22.6rem;
    margin: 0 auto 4.2rem;
  }
  .staff .info .info-box {
    max-width: 100%;
  }
  .staff .info .info-box .name {
    font-size: 1.8rem;
    line-height: 1.3;
    letter-spacing: 0.14em;
    gap: 0 1.7rem;
    padding: 0 0.5rem;
    padding-bottom: 1.2rem;
    margin-bottom: 1.2rem;
  }
  .staff .info .info-box .name .kana {
    font-size: 1.4rem;
  }
  .staff .info .info-box .profile {
    font-size: 1.4rem;
    letter-spacing: 0.14em;
    padding: 0;
  }
  .staff .info .info-box .catch {
    line-height: 1.6;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    margin-top: 4.7rem;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .staff .tita {
    letter-spacing: 0.1em;
    margin-bottom: 2.6rem;
    font-size: 2.2rem;
    padding-left: 0;
    padding-right: 0;
  }
  .staff .titb {
    letter-spacing: 0.05em;
    margin-bottom: 1.8rem;
    font-size: 1.8rem;
    padding-left: 0;
    padding-right: 0;
  }
  .staff .desc {
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: 0.14em;
    padding: 0;
    margin-bottom: 1.8rem;
  }
}