@charset "UTF-8";
/*! このファイルを変更する場合は「.scss」から変更して下さい */
/*! 「.scss」ファイルがつかえない場合はcustom.cssを変更する */
/* ボタンカラー */
/* フォント系 */
/*
	Noto Sans使用する場合
	'Noto Sans JP', 'Open Sans', Verdana, Roboto, 'Droid Sans'
*/
.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-10 {
  margin-bottom: -10px !important;
}

.mb-20 {
  margin-bottom: -20px !important;
}

.mb-30 {
  margin-bottom: -30px !important;
}

.mb-40 {
  margin-bottom: -40px !important;
}

.mb-50 {
  margin-bottom: -50px !important;
}

.mb-60 {
  margin-bottom: -60px !important;
}

.mb-70 {
  margin-bottom: -70px !important;
}

.mb-80 {
  margin-bottom: -80px !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-10 {
  margin-top: -10px !important;
}

.mt-20 {
  margin-top: -20px !important;
}

.mt-30 {
  margin-top: -30px !important;
}

.mt-40 {
  margin-top: -40px !important;
}

.mt-50 {
  margin-top: -50px !important;
}

.mt-60 {
  margin-top: -60px !important;
}

.mt-70 {
  margin-top: -70px !important;
}

.mt-80 {
  margin-top: -80px !important;
}

.ta-center {
  text-align: center;
}

p.underline a {
  text-decoration: underline;
}

.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 {
  margin: 20px 0;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 .list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 .list li {
  margin-bottom: 20px;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 .list li a {
  position: relative;
  display: inline-block;
  padding-right: 28px;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01.icon-link-menu-02--has-arrow .list li a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: url(../images/common/icon_arrow04.svg) no-repeat;
  background-size: contain;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01.icon-link-menu-02--no-arrow .list li a {
  padding-right: 0;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01.icon-link-menu-02--no-arrow .list li a::after {
  display: none;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 24px;
  border-radius: 0 !important;
  font-weight: bold;
  font-size: 14px;
  background: #14126f !important;
  color: #fff !important;
  margin-left: 10px;
  border: none;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 a .badge,
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 .badge {
  color: #fff !important;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 .badge[data-icon=word] {
  background: #14126f !important;
  color: #fff !important;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 .badge[data-icon=excel] {
  background: #14126f !important;
  color: #fff !important;
}
.wp-block-lazyblock-icon-link-menu-02 .file-link-menu-01 .badge[data-icon=pdf] {
  background: #14126f !important;
  color: #fff !important;
}

@media screen and (min-width: 1001px) {
  .mb-0_pc {
    margin-bottom: 0 !important;
  }
  .mb-10_pc {
    margin-bottom: -10px !important;
  }
  .mb-20_pc {
    margin-bottom: -20px !important;
  }
  .mb-30_pc {
    margin-bottom: -30px !important;
  }
  .mb-40_pc {
    margin-bottom: -40px !important;
  }
  .mb-50_pc {
    margin-bottom: -50px !important;
  }
  .mb-60_pc {
    margin-bottom: -60px !important;
  }
  .mb-70_pc {
    margin-bottom: -70px !important;
  }
  .mb-80_pc {
    margin-bottom: -80px !important;
  }
  .mt-0_pc {
    margin-top: 0 !important;
  }
  .mt-10_pc {
    margin-top: -10px !important;
  }
  .mt-20_pc {
    margin-top: -20px !important;
  }
  .mt-30_pc {
    margin-top: -30px !important;
  }
  .mt-40_pc {
    margin-top: -40px !important;
  }
  .mt-50_pc {
    margin-top: -50px !important;
  }
  .mt-60_pc {
    margin-top: -60px !important;
  }
  .mt-70_pc {
    margin-top: -70px !important;
  }
  .mt-80_pc {
    margin-top: -80px !important;
  }
}
@media screen and (max-width: 1000px) {
  .mb-0_sp {
    margin-bottom: 0 !important;
  }
  .mb-10_sp {
    margin-bottom: -10px !important;
  }
  .mb-20_sp {
    margin-bottom: -20px !important;
  }
  .mb-30_sp {
    margin-bottom: -30px !important;
  }
  .mb-40_sp {
    margin-bottom: -40px !important;
  }
  .mb-50_sp {
    margin-bottom: -50px !important;
  }
  .mb-60_sp {
    margin-bottom: -60px !important;
  }
  .link-menu-01 {
    gap: 20px 2%;
  }
  .mb-70_sp {
    margin-bottom: -70px !important;
  }
  .mb-80_sp {
    margin-bottom: -80px !important;
  }
  .mt-0_sp {
    margin-top: 0 !important;
  }
  .mt-10_sp {
    margin-top: -10px !important;
  }
  .mt-20_sp {
    margin-top: -20px !important;
  }
  .mt-30_sp {
    margin-top: -30px !important;
  }
  .mt-40_sp {
    margin-top: -40px !important;
  }
  .mt-50_sp {
    margin-top: -50px !important;
  }
  .mt-60_sp {
    margin-top: -60px !important;
  }
  .mt-70_sp {
    margin-top: -70px !important;
  }
  .mt-80_sp {
    margin-top: -80px !important;
  }
}
.max_width_100 {
  max-width: 100px !important;
}

.max_width_200 {
  max-width: 200px !important;
}

.max_width_300 {
  max-width: 300px !important;
}

.max_width_400 {
  max-width: 400px !important;
}

.max_width_500 {
  max-width: 500px !important;
}

.magin_center {
  margin: 0 auto !important;
}

.margin_left {
  margin: 0 auto 0 0 !important;
}

.margin_right {
  margin: 0 0 0 auto !important;
}

.wp-block-image.full figure {
  display: block;
}
.wp-block-image.full img {
  width: 100% !important;
}
.wp-block-image figcaption,
.wp-block-image .wp-block-image__caption,
.wp-block-image .wp-element-caption {
  font-size: 15px !important;
  line-height: 1.5;
}
.wp-block-image.left {
  text-align: left;
}

.entry-content figcaption,
.entry-content .wp-caption-text,
.entry-content .wp-element-caption,
.wp-block-image figcaption,
.wp-block-image .wp-block-image__caption,
.wp-block-image .wp-element-caption,
figure figcaption,
figure .wp-element-caption {
  font-size: 15px !important;
  line-height: 1.5;
}

figcaption,
.wp-caption-text,
.wp-element-caption {
  font-size: 15px !important;
  line-height: 1.5;
}

.wp-block-heading {
  margin-top: 20px;
}

.entry-content strong {
  font-weight: bold;
}

.section__bg {
  background: rgba(18, 61, 131, 0.08);
  width: 100%;
  padding: 90px 0 !important;
}

.text-center {
  text-align: center;
}

.margin-center {
  margin-left: auto;
  margin-right: auto;
}

.display-inlineblock {
  display: inline-block;
}

.display-inline {
  display: inline;
}

.display-block {
  display: block;
}

a.icon {
  position: relative;
}
a.icon:after {
  position: absolute;
  top: calc(50% - 11px);
  right: 0;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: url(../images/common/icon_arrow02.svg) no-repeat;
}

.h2-01 {
  position: relative;
  margin-top: 40px;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #cdcddd;
  color: #14126f;
  font-size: 30rem;
  font-weight: bold;
  line-height: 1.5;
}
.h2-01::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 70px;
  height: 0;
  border-bottom: 2px solid #14126f;
}

.h2-02 {
  font-size: 22rem;
  position: relative;
  margin: 40px 0;
  border: 1px solid #14126f;
  text-align: center;
  padding: 15px 0;
}

.h2-link {
  position: relative;
  color: #14126f;
  font-size: 30rem;
  font-weight: bold;
  line-height: 1.5;
  border-bottom: none;
  display: inline-block;
  margin-bottom: 10px;
  padding-bottom: 0; /* h2 の padding-bottom も打ち消し */
}
.h2-link::before {
  content: none;
}
.h2-link a {
  text-decoration: none;
  position: relative;
  display: inline-block;
  padding-right: 40px;
}
.h2-link a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(../images/common/icon_arrow04.svg) no-repeat;
  background-size: 100%;
}

.h2-link.h2-nolink a::after {
  display: none !important;
  content: none !important;
}
.h2-link.h2-nolink::after {
  content: none !important;
  display: none !important;
}

.inpage-link-01 {
  margin-top: 0;
  margin-bottom: 30px;
}
.inpage-link-01 .inpage-link-01__title {
  margin-bottom: 15px;
  font-weight: 500;
  color: #14126f;
}
.inpage-link-01 .inpage-link-01__title img {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  width: 27px;
  max-width: 100%;
  height: auto;
}
.inpage-link-01 .inpage-link-01__list {
  margin: 0;
  padding: 10px;
  border: 1px solid #cdcddd;
  list-style-type: none;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  color: #14126f;
}
.inpage-link-01 .inpage-link-01__list a {
  position: relative;
  display: inline-block;
  padding: 10px 10px 10px 15px;
  color: currentColor;
  text-decoration: none;
}
.inpage-link-01 .inpage-link-01__list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  display: inline-block;
  width: 10px;
  height: 11px;
  background: url(../images/common/icon_arrow_btm.svg) no-repeat;
  background-size: 100%;
  vertical-align: middle;
}

.inpage-link-03 {
  background: #fff;
}
.inpage-link-03 ul {
  display: flex;
  padding: 0;
  flex-wrap: wrap;
  gap: 2px;
}
.inpage-link-03 .inpage-link-03__link {
  background: #eaeaf0;
  border-top: 3.5px solid #c5cbeb;
  list-style: none;
  text-indent: 0em;
  flex: 1;
  text-align: center;
  flex-basis: 31%;
}
.inpage-link-03 .inpage-link-03__link a {
  text-decoration: none;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3em;
  padding: 20px 50px;
  line-height: 1.4;
}
.inpage-link-03 .inpage-link-03__link a span {
  position: relative;
}
.inpage-link-03 .inpage-link-03__link a span:before {
  content: "";
  display: block;
  position: absolute;
  left: -35px;
  top: 0px;
  width: 22px;
  height: 22px;
  background: url(../images/common/icon_arrow03.svg) no-repeat;
  background-size: 100%;
  transform: rotate(90deg);
}
.inpage-link-03 .inpage-link-03__link .link__item {
  font-size: 0.95em;
  color: #14126F;
}

.link-menu-01 {
  display: flex;
  justify-content: left;
  flex-wrap: wrap !important;
  gap: 40px 2%;
  margin-bottom: 40px;
}
.link-menu-01 .link-menu-01__block a {
  font-weight: bold;
  padding: 0 5px 0 35px;
  line-height: 1.2;
  text-decoration: none;
  position: relative;
  display: flex;
  align-items: center;
  word-break: keep-all;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}
.link-menu-01 .link-menu-01__block a::before {
  content: "";
  width: 25px;
  height: 12px;
  position: absolute;
  left: 6px;
}
.link-menu-01 .link-menu-01__block a.link-menu-01__link1 {
  height: 55px;
  background-color: #14126f;
  border: 1px solid #14126f;
  color: #fff;
  font-size: 1.12em;
}
.link-menu-01 .link-menu-01__block a.link-menu-01__link1::before {
  background: url(../images/common/icon_arrow02.svg) no-repeat center top/contain;
  filter: grayscale(100%) brightness(0) invert(100%);
  top: 20px;
}
.link-menu-01.col-1 .link-menu-01__block {
  flex-basis: 100%;
}
.link-menu-01.col-2 .link-menu-01__block {
  flex-basis: 49%;
}
.link-menu-01.col-3 .link-menu-01__block {
  flex-basis: 32%;
}
.link-menu-01.col-4 .link-menu-01__block {
  flex-basis: 23.5%;
}

.link-menu-02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 15px 2%;
}
.link-menu-02 .link-menu-02__block {
  flex-basis: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.link-menu-02.col-1 .link-menu-02__block {
  flex-basis: 100%;
}
.link-menu-02.col-2 .link-menu-02__block {
  flex-basis: 49%;
  max-width: 49%;
}
.link-menu-02.col-3 .link-menu-02__block {
  flex-basis: 32%;
  max-width: 32%;
}
.link-menu-02.col-4 .link-menu-02__block {
  flex-basis: 23.5%;
  max-width: 23.5%;
}
.link-menu-02 a {
  position: relative;
  display: inline-block;
  padding-left: 36px;
  padding-right: 33px;
  padding-top: 3px;
  line-height: 1.6;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}
.link-menu-02 a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: url(../images/common/icon_arrow04.svg) no-repeat;
  background-size: 100%;
}
.link-menu-02 a.outerlink span {
  position: relative;
  display: inline-block;
  text-decoration: inherit;
}
.link-menu-02 a.outerlink span::after {
  content: "";
  display: block;
  position: absolute;
  right: -33px;
  top: 4px;
  width: 18px;
  height: 18px;
  background: url(../images/common/icon_blank02.svg) no-repeat;
  background-size: 100%;
}

@media screen and (max-width: 768px) {
  .link-menu-02.col-2 .link-menu-02__block, .link-menu-02.col-3 .link-menu-02__block, .link-menu-02.col-4 .link-menu-02__block {
    flex-basis: 100%;
    max-width: 100%;
  }
  .link-menu-02 a {
    padding-top: 0;
  }
  .link-menu-02 a::before {
    top: 0.2em;
    transform: none;
  }
}
/* .link-menu-02__link1：リンク・テキスト共通で同じ見た目（矢印::before 付き）※image-link / image-text-link で使用 */
.link-menu-02__link1,
.image-text-link .link-menu-02__link1,
.image-text-link__item .link-menu-02__link1 {
  position: relative;
  display: inline-block;
  padding-left: 30px;
  padding-right: 33px;
  line-height: 1.6;
  font-weight: bold;
  text-decoration: none;
  color: #14126f;
}

.link-menu-02__link1::before,
.image-text-link .link-menu-02__link1::before,
.image-text-link__item .link-menu-02__link1::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50%;
  transform: translateY(-50%);
  width: 22px !important;
  height: 22px !important;
  background: url(../images/common/icon_arrow04.svg) no-repeat !important;
  background-size: 100% !important;
  border-radius: 0 !important;
}

.link-menu-02__block--external .link-menu-02__link1 {
  padding-right: 22px;
}

.link-menu-02__block--external .link-menu-02__link1 .icon--external {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 11px;
  height: 11px;
  margin: 0;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .link-menu-02__link1,
  .image-text-link .link-menu-02__link1 {
    padding-top: 0;
  }
  .link-menu-02__link1::before,
  .image-text-link .link-menu-02__link1::before {
    top: 0.2em;
    transform: none;
  }
}
/* LazyBlock: image-link（画像＋リンクメニュー02風テキスト） */
.image-text-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px 20px;
}

.image-text-link__list {
  text-align: left;
  /* リストを1単位にし、狭いときは画像の下にまとめて落ちる（文字数でバラけて落ちない） */
  min-width: 360px;
  flex-shrink: 0;
}

.image-text-link__image img {
  width: 360px;
  height: 220px;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
}

.image-text-link__text,
.image-text-link__list {
  margin-top: 0;
}

/* image-text-link のリストは「・」を出さない（親テーマの ul li より強く上書き） */
.image-text-link .image-text-link__list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.image-text-link .image-text-link__list li,
.image-text-link .image-text-link__list .image-text-link__item {
  list-style: none !important;
}

/* image-link-02：2要素で落ちにくく（ul > li）※他CSSより強く効かせる */
body .image-link-02 ul,
body .lazyblock-image-link-02 ul,
body .wp-block-lazyblock-image-link-02 ul,
body [class*=lazyblock-image-link-02] ul {
  display: flex !important;
  flex-wrap: wrap;
}

body .image-link-02 ul > li,
body .lazyblock-image-link-02 ul > li,
body .wp-block-lazyblock-image-link-02 ul > li,
body [class*=lazyblock-image-link-02] ul > li {
  min-width: 220px !important;
  max-width: none !important;
  flex: 1 1 220px !important;
}

/* .menu-02 矢印位置（PC: 縦中央 / SP: 微調整） */
.menu-02 a::before {
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .menu-02 a::before {
    top: 0.2em;
    transform: none;
  }
}
.link-menu-03 {
  display: flex;
  justify-content: left;
  flex-wrap: wrap !important;
  gap: 14px 2%;
}
.link-menu-03 .link-menu-03__block a {
  padding: 0 5px 0 29px;
  line-height: 1.4;
  text-decoration: none;
  position: relative;
  display: flex;
  align-items: center;
  word-break: keep-all;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}
.link-menu-03 .link-menu-03__block a::before {
  content: "";
  width: 25px;
  height: 12px;
  position: absolute;
  top: 5px;
  left: 0px;
}
.link-menu-03 .link-menu-03__block a.link-menu-03__link1 {
  color: #14126f;
}
.link-menu-03 .link-menu-03__block a.link-menu-03__link1::before {
  background: url(../images/common/icon_arrow02.svg) no-repeat center top/contain;
}
.link-menu-03.col-1 .link-menu-03__block {
  flex-basis: 100%;
}
.link-menu-03.col-2 .link-menu-03__block {
  flex-basis: 49%;
}
.link-menu-03.col-3 .link-menu-03__block {
  flex-basis: 32%;
}
.link-menu-03.col-4 .link-menu-03__block {
  flex-basis: 23.5%;
}

.link-menu-set-01 {
  display: flex;
  justify-content: left;
  flex-wrap: wrap !important;
  gap: 43px 2%;
}
.link-menu-set-01 .link-menu-set-01__block {
  flex-basis: 23.5%;
}
.link-menu-set-01 .link-menu-set-01__block a {
  font-weight: bold;
  padding: 0 5px 0 35px;
  line-height: 1.2;
  text-decoration: none;
  position: relative;
  display: flex;
  align-items: center;
  word-break: keep-all;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}
.link-menu-set-01 .link-menu-set-01__block a::before {
  content: "";
  width: 25px;
  height: 12px;
  position: absolute;
  left: 6px;
}
.link-menu-set-01 .link-menu-set-01__block a.link-menu-set-01__link1 {
  height: 55px;
  background-color: #14126f;
  border: 1px solid #14126f;
  color: #fff;
  font-size: 1.12em;
}
.link-menu-set-01 .link-menu-set-01__block a.link-menu-set-01__link1::before {
  background: url(../images/common/icon_arrow02.svg) no-repeat center top/contain;
  filter: grayscale(100%) brightness(0) invert(100%);
  top: 20px;
}
.link-menu-set-01 .link-menu-set-01__block a.link-menu-set-01__link2 {
  height: 43px;
  background-color: #fff;
  border: 1px solid #14126f;
  color: #14126f;
}
.link-menu-set-01 .link-menu-set-01__block a.link-menu-set-01__link2::before {
  background: url(../images/common/icon_arrow02.svg) no-repeat center top/contain;
  top: 14px;
}

.table-01 {
  margin: 0 0 20px;
  /* base.css の p { margin: 0 0 15px } を table-01 内では当てない */
}
.table-01 p {
  margin: 0;
}
.table-01 .table-01__table {
  width: 100%;
  border-collapse: collapse;
}
.table-01 .table-01__table thead.table-01__thead th {
  background-color: #e0e0e0;
  color: #000;
  font-weight: bold;
  text-align: center;
}
.table-01 .table-01__table th {
  width: var(--width_pc);
  padding: 10px 20px;
  border: 1px solid #cdcddd;
  background-color: #14126f;
  color: #fff;
  text-align: center;
}
.table-01 .table-01__table td {
  padding: 10px 20px;
  border: 1px solid #cdcddd;
}
.table-01 .table-01__table td p:last-of-type {
  margin: 0;
}

.small .table-01 .table-01__table {
  width: auto !important;
  min-width: 0 !important;
  table-layout: auto;
}
.small .table-01 .table-01__table th,
.small .table-01 .table-01__table td {
  min-width: 0;
  max-width: none;
  white-space: normal;
}
.small .table-02 table {
  width: auto !important;
  min-width: 0 !important;
  table-layout: auto;
}
.small .table-02 table th,
.small .table-02 table td {
  width: auto !important;
  min-width: 0;
  max-width: none;
  white-space: normal;
}

.wp-block-lazyblock-table-02.small .table-02 table,
.wp-block-lazyblock-table-02.small .table-02.row-scroll table,
[class*=lazyblock-table-02].small .table-02 table,
[class*=lazyblock-table-02].small .table-02.row-scroll table {
  width: auto !important;
  min-width: 0 !important;
  table-layout: auto;
}
.wp-block-lazyblock-table-02.small .table-02 table th,
.wp-block-lazyblock-table-02.small .table-02 table td,
[class*=lazyblock-table-02].small .table-02 table th,
[class*=lazyblock-table-02].small .table-02 table td {
  width: auto !important;
  min-width: 0;
  max-width: none;
  white-space: normal;
}
.wp-block-lazyblock-table-02.small .table-02 table colgroup col,
[class*=lazyblock-table-02].small .table-02 table colgroup col {
  width: auto !important;
}

.table-02 {
  font-size: 16rem;
}
.table-02 table {
  width: 100%;
  table-layout: fixed;
}
.table-02 table th,
.table-02 table td {
  border: 1px solid #D8D8D8;
  padding: 10px 20px;
  vertical-align: middle;
}
.table-02 table th p:last-of-type,
.table-02 table td p:last-of-type {
  margin: 0;
}
.table-02 table thead th {
  background-color: #14126f;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.table-02 table tbody th {
  background-color: #fff;
  font-weight: normal;
}
.table-02 table tbody td {
  background-color: #fff;
  font-weight: normal;
}
.table-02 table tfoot td {
  background-color: #f6fafd;
  font-weight: bold;
}
.table-02 table .is-header {
  text-align: center;
}
.table-02 table .is-left {
  text-align: left;
}
.table-02 table .is-right {
  text-align: right;
}
.table-02 table .is-center {
  text-align: center;
}

.wp-block-lazyblock-table-02.type01 .table-02 table th,
[class*=lazyblock-table-02].type01 .table-02 table th {
  background-color: #14126f !important;
  color: #fff;
}
.wp-block-lazyblock-table-02.type01 .table-02 table td:nth-of-type(1),
[class*=lazyblock-table-02].type01 .table-02 table td:nth-of-type(1) {
  background-color: #eaeaf0 !important;
  color: #000;
}
.wp-block-lazyblock-table-02.type01 .table-02 table td:nth-of-type(2),
[class*=lazyblock-table-02].type01 .table-02 table td:nth-of-type(2) {
  background-color: #fff;
  color: #000;
}

.wp-block-lazyblock-table-02.type02 .table-02 table tbody tr:last-child th,
.wp-block-lazyblock-table-02.type02 .table-02 table tbody tr:last-child td,
[class*=lazyblock-table-02].type02 .table-02 table tbody tr:last-child th,
[class*=lazyblock-table-02].type02 .table-02 table tbody tr:last-child td {
  background-color: #eaeaf0 !important;
  color: #000;
}
.wp-block-lazyblock-table-02.type02 .table-02 table tfoot tr th,
.wp-block-lazyblock-table-02.type02 .table-02 table tfoot tr td,
[class*=lazyblock-table-02].type02 .table-02 table tfoot tr th,
[class*=lazyblock-table-02].type02 .table-02 table tfoot tr td {
  background-color: #eaeaf0 !important;
  color: #000;
}

.wp-block-lazyblock-table-02.type03 .table-02 table thead th,
.wp-block-lazyblock-table-02.type03 .table-02 table th.is-header,
[class*=lazyblock-table-02].type03 .table-02 table thead th,
[class*=lazyblock-table-02].type03 .table-02 table th.is-header {
  background-color: #E0E0E0 !important;
  color: #000;
}
.wp-block-lazyblock-table-02.type03 .table-02 table tbody th:nth-of-type(2),
.wp-block-lazyblock-table-02.type03 .table-02 table tbody td:nth-of-type(1),
[class*=lazyblock-table-02].type03 .table-02 table tbody th:nth-of-type(2),
[class*=lazyblock-table-02].type03 .table-02 table tbody td:nth-of-type(1) {
  background-color: #14126f !important;
  color: #fff;
}

.wp-block-lazyblock-table-01.type03 .table-01 .table-01__table tbody th,
[class*=lazyblock-table-01].type03 .table-01 .table-01__table tbody th {
  background-color: #E0E0E0 !important;
  color: #000 !important;
}
.wp-block-lazyblock-table-01.type03 .table-01 .table-01__table tbody tr:last-child th,
[class*=lazyblock-table-01].type03 .table-01 .table-01__table tbody tr:last-child th {
  background-color: #14126f !important;
  color: #fff !important;
}

.timeline-history {
  position: relative;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.timeline-history__item {
  display: grid;
  grid-template-columns: 90px 1fr;
  -moz-column-gap: 32px;
       column-gap: 32px;
  position: relative;
}

.timeline-history__year {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.timeline-history__year::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: #1d2088;
  transform: translateX(-50%);
}

/* br 改行時も各行が中央に来るよう inline-block + 上下対称 padding */
.timeline-history__year-label {
  position: relative;
  z-index: 1;
  display: inline-block;
  min-width: 66px;
  min-height: 42px;
  padding: 10px 8px;
  background: #1d2088;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  box-sizing: border-box;
  vertical-align: top;
}

/* 本文は年号と年号の間に来るよう上余白でスペースを確保 */
.timeline-history__body {
  padding-top: 75px;
  padding-bottom: 32px;
}

/* 本文の直横に写真（PCで flex-grow させず右端に寄せない） */
.timeline-history__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 20px 24px;
  min-width: 0;
}

.timeline-history__row--has-photo .timeline-history__text {
  flex: 0 1 auto;
  max-width: 100%;
}

/* 1行目（年号・西暦）と続き（マークアップ分割。PCは親グリッドの左列にまとめて載せる） */
.timeline-history__date-line,
.timeline-history__detail {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  word-break: break-word;
  min-width: 0;
}

@media screen and (min-width: 768px) {
  /*
   * display:contents は環境によって子のグリッド配置が崩れるため使わない。
   * 左列＝本文ブロック（日付行＋詳細を縦積み）、右列＝写真。左列幅を行間で統一して写真の左端を揃える。
   */
  .timeline-history__row--has-photo {
    display: grid;
    grid-template-columns: minmax(min(20em, 100%), min(20em, 100%)) minmax(0, max-content);
    justify-content: start;
    justify-items: start;
    align-items: start;
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
  .timeline-history__row--has-photo .timeline-history__text {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    max-width: none;
  }
  .timeline-history__row--has-photo .timeline-history__photos {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    align-self: start;
    min-width: 0;
  }
  .timeline-history__row--has-photo:not(:has(.timeline-history__text)) {
    grid-template-columns: max-content;
  }
  .timeline-history__row--has-photo:not(:has(.timeline-history__text)) .timeline-history__photos {
    grid-column: 1;
    grid-row: 1;
  }
  .timeline-history__photos {
    flex: 0 0 auto;
  }
  /* 先頭項目は body の padding-top が他行より小さいため、写真だけわずかに下げて本文行に寄せる */
  .timeline-history__item:first-child .timeline-history__row--has-photo .timeline-history__photos {
    padding-top: 0.85em;
  }
}
/* 画像エリア（1枚でも複数枚でも同じラッパー） */
.timeline-history__photos {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 12px 16px;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
}

/* 2枚以上は横並びで幅を分け合う */
.timeline-history__photos--multi .timeline-history__photo {
  flex: 1 1 0;
  min-width: 0;
  max-width: 260px;
}

.timeline-history__photo {
  flex: 0 0 auto;
  width: 100%;
  max-width: 280px;
  margin: 0;
}
.timeline-history__photo img {
  width: 100%;
  height: auto;
  display: block;
}

.timeline-history__text {
  flex: 1 1 100%;
  min-width: 0;
  max-width: 100%;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  word-break: break-word;
  /* 行・段落でフォントサイズがバラけないように統一 */
}
.timeline-history__text p, .timeline-history__text div, .timeline-history__text span {
  font-size: inherit;
  line-height: inherit;
}
.timeline-history__text > *:first-child {
  margin-top: 0;
}
.timeline-history__text > *:last-child {
  margin-bottom: 0;
}
.timeline-history__text > * + * {
  margin-top: 0.6em;
}
.timeline-history__text > .timeline-history__date-line + .timeline-history__detail {
  margin-top: 0.35em;
}

.timeline-history__item:first-child .timeline-history__body {
  padding-top: 12px;
}

.timeline-history__item:last-child .timeline-history__body {
  padding-bottom: 0;
}

@media screen and (max-width: 767px) {
  .timeline-history__item {
    grid-template-columns: 64px 1fr;
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
  .timeline-history__year-label {
    min-width: 50px;
    min-height: 36px;
    padding: 8px 6px;
    font-size: 0.9375em;
    line-height: 1.35;
  }
  .timeline-history__body {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .timeline-history__row {
    flex-direction: column;
  }
  .timeline-history__row--has-photo .timeline-history__text {
    flex: 1 1 auto;
  }
  .timeline-history__photos {
    flex-wrap: wrap;
    max-width: 100%;
  }
  .timeline-history__photos--multi .timeline-history__photo {
    flex: 1 1 calc(50% - 8px);
    max-width: 100%;
  }
  .timeline-history__photo {
    max-width: 100%;
  }
  .timeline-history__text {
    font-size: inherit;
    line-height: inherit;
  }
}
.list-01 {
  counter-reset: list01 var(--list01-start, 0);
}
.list-01 ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list-01 li {
  counter-increment: list01;
  position: relative;
  padding-left: 2.2em;
  line-height: 1.6;
  margin-bottom: 20px;
}
.list-01 li::before {
  content: counter(list01);
  position: absolute;
  left: 0;
  top: 0;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: bold;
  background-color: #14126f;
  border-radius: 50%;
  color: #fff;
  line-height: 1;
}
@supports (-webkit-hyphens: none) {
  .list-01 ol li::before {
    padding-top: 2px;
  }
}

.list-02 ol {
  margin: 0;
  padding-left: 20px;
}
.list-02 ol li {
  line-height: 1.6;
  position: relative;
}
.list-02 ol li::marker {
  font-size: 15px;
  font-weight: bold;
}
@supports (-webkit-hyphens: none) {
  .list-02 ol {
    padding-left: 25px;
  }
}

.list-03 p {
  margin-bottom: 25px;
}
.list-03 ol {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.list-03 ol li {
  margin-bottom: 10px;
  line-height: 1.4;
}
.list-03 ol li div:nth-of-type(1) {
  position: relative;
  padding-left: 3ch;
  text-indent: -3ch;
  font-size: 22rem;
  font-weight: bold;
  color: #14126f;
  margin-bottom: 14px;
}
.list-03 ol li div:nth-of-type(1)::before {
  content: "[" counter(list-item) "] ";
  font-variant-numeric: tabular-nums;
  font-size: 22rem;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
  margin-right: 5px;
  color: #14126f;
}
.list-03 ol li div:nth-of-type(2) {
  font-size: 16rem;
}

div.gray div.table-02 table thead tr th.is-header,
div.gray div.table-02 table th.is-header,
div.gray .table-02 table thead tr th.is-header,
div.gray .table-02 table th.is-header,
.gray div.table-02 table thead tr th.is-header,
.gray div.table-02 table th.is-header,
.gray .table-02 table thead tr th.is-header,
.gray .table-02 table th.is-header {
  background: #E0E0E0 !important;
  color: #000 !important;
  text-align: center;
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02 table thead tr th,
div.gray div.table-02 table tbody tr th,
div.gray div.table-02 table th,
div.gray .table-02 table thead tr th,
div.gray .table-02 table tbody tr th,
div.gray .table-02 table th,
.gray div.table-02 table thead tr th,
.gray div.table-02 table tbody tr th,
.gray div.table-02 table th,
.gray .table-02 table thead tr th,
.gray .table-02 table tbody tr th,
.gray .table-02 table th {
  background: #14126F !important;
  color: #fff !important;
  text-align: left;
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02 table tbody tr td,
div.gray div.table-02 table td,
div.gray .table-02 table tbody tr td,
div.gray .table-02 table td,
.gray div.table-02 table tbody tr td,
.gray div.table-02 table td,
.gray .table-02 table tbody tr td,
.gray .table-02 table td {
  background: #fff;
  color: #000;
  text-align: center;
  letter-spacing: 0.02em;
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02 table.colnum2 thead tr th.is-header,
div.gray div.table-02 table.colnum2 th.is-header, div.gray div.table-02 table.colnum3 thead tr th.is-header,
div.gray div.table-02 table.colnum3 th.is-header, div.gray div.table-02 table.colnum4 thead tr th.is-header,
div.gray div.table-02 table.colnum4 th.is-header, div.gray div.table-02 table.colnum5 thead tr th.is-header,
div.gray div.table-02 table.colnum5 th.is-header,
div.gray .table-02 table.colnum2 thead tr th.is-header,
div.gray .table-02 table.colnum2 th.is-header,
div.gray .table-02 table.colnum3 thead tr th.is-header,
div.gray .table-02 table.colnum3 th.is-header,
div.gray .table-02 table.colnum4 thead tr th.is-header,
div.gray .table-02 table.colnum4 th.is-header,
div.gray .table-02 table.colnum5 thead tr th.is-header,
div.gray .table-02 table.colnum5 th.is-header,
.gray div.table-02 table.colnum2 thead tr th.is-header,
.gray div.table-02 table.colnum2 th.is-header,
.gray div.table-02 table.colnum3 thead tr th.is-header,
.gray div.table-02 table.colnum3 th.is-header,
.gray div.table-02 table.colnum4 thead tr th.is-header,
.gray div.table-02 table.colnum4 th.is-header,
.gray div.table-02 table.colnum5 thead tr th.is-header,
.gray div.table-02 table.colnum5 th.is-header,
.gray .table-02 table.colnum2 thead tr th.is-header,
.gray .table-02 table.colnum2 th.is-header,
.gray .table-02 table.colnum3 thead tr th.is-header,
.gray .table-02 table.colnum3 th.is-header,
.gray .table-02 table.colnum4 thead tr th.is-header,
.gray .table-02 table.colnum4 th.is-header,
.gray .table-02 table.colnum5 thead tr th.is-header,
.gray .table-02 table.colnum5 th.is-header {
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02 table.colnum2 thead tr th,
div.gray div.table-02 table.colnum2 tbody tr th,
div.gray div.table-02 table.colnum2 th, div.gray div.table-02 table.colnum3 thead tr th,
div.gray div.table-02 table.colnum3 tbody tr th,
div.gray div.table-02 table.colnum3 th, div.gray div.table-02 table.colnum4 thead tr th,
div.gray div.table-02 table.colnum4 tbody tr th,
div.gray div.table-02 table.colnum4 th, div.gray div.table-02 table.colnum5 thead tr th,
div.gray div.table-02 table.colnum5 tbody tr th,
div.gray div.table-02 table.colnum5 th,
div.gray .table-02 table.colnum2 thead tr th,
div.gray .table-02 table.colnum2 tbody tr th,
div.gray .table-02 table.colnum2 th,
div.gray .table-02 table.colnum3 thead tr th,
div.gray .table-02 table.colnum3 tbody tr th,
div.gray .table-02 table.colnum3 th,
div.gray .table-02 table.colnum4 thead tr th,
div.gray .table-02 table.colnum4 tbody tr th,
div.gray .table-02 table.colnum4 th,
div.gray .table-02 table.colnum5 thead tr th,
div.gray .table-02 table.colnum5 tbody tr th,
div.gray .table-02 table.colnum5 th,
.gray div.table-02 table.colnum2 thead tr th,
.gray div.table-02 table.colnum2 tbody tr th,
.gray div.table-02 table.colnum2 th,
.gray div.table-02 table.colnum3 thead tr th,
.gray div.table-02 table.colnum3 tbody tr th,
.gray div.table-02 table.colnum3 th,
.gray div.table-02 table.colnum4 thead tr th,
.gray div.table-02 table.colnum4 tbody tr th,
.gray div.table-02 table.colnum4 th,
.gray div.table-02 table.colnum5 thead tr th,
.gray div.table-02 table.colnum5 tbody tr th,
.gray div.table-02 table.colnum5 th,
.gray .table-02 table.colnum2 thead tr th,
.gray .table-02 table.colnum2 tbody tr th,
.gray .table-02 table.colnum2 th,
.gray .table-02 table.colnum3 thead tr th,
.gray .table-02 table.colnum3 tbody tr th,
.gray .table-02 table.colnum3 th,
.gray .table-02 table.colnum4 thead tr th,
.gray .table-02 table.colnum4 tbody tr th,
.gray .table-02 table.colnum4 th,
.gray .table-02 table.colnum5 thead tr th,
.gray .table-02 table.colnum5 tbody tr th,
.gray .table-02 table.colnum5 th {
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02 table.colnum2 tbody tr td,
div.gray div.table-02 table.colnum2 td, div.gray div.table-02 table.colnum3 tbody tr td,
div.gray div.table-02 table.colnum3 td, div.gray div.table-02 table.colnum4 tbody tr td,
div.gray div.table-02 table.colnum4 td, div.gray div.table-02 table.colnum5 tbody tr td,
div.gray div.table-02 table.colnum5 td,
div.gray .table-02 table.colnum2 tbody tr td,
div.gray .table-02 table.colnum2 td,
div.gray .table-02 table.colnum3 tbody tr td,
div.gray .table-02 table.colnum3 td,
div.gray .table-02 table.colnum4 tbody tr td,
div.gray .table-02 table.colnum4 td,
div.gray .table-02 table.colnum5 tbody tr td,
div.gray .table-02 table.colnum5 td,
.gray div.table-02 table.colnum2 tbody tr td,
.gray div.table-02 table.colnum2 td,
.gray div.table-02 table.colnum3 tbody tr td,
.gray div.table-02 table.colnum3 td,
.gray div.table-02 table.colnum4 tbody tr td,
.gray div.table-02 table.colnum4 td,
.gray div.table-02 table.colnum5 tbody tr td,
.gray div.table-02 table.colnum5 td,
.gray .table-02 table.colnum2 tbody tr td,
.gray .table-02 table.colnum2 td,
.gray .table-02 table.colnum3 tbody tr td,
.gray .table-02 table.colnum3 td,
.gray .table-02 table.colnum4 tbody tr td,
.gray .table-02 table.colnum4 td,
.gray .table-02 table.colnum5 tbody tr td,
.gray .table-02 table.colnum5 td {
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02.gray table thead tr th.is-header,
div.gray div.table-02.gray table th.is-header, div.gray.table-02 table thead tr th.is-header,
div.gray.table-02 table th.is-header,
.gray div.table-02.gray table thead tr th.is-header,
.gray div.table-02.gray table th.is-header,
.gray.table-02 table thead tr th.is-header,
.gray.table-02 table th.is-header {
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02.gray table thead tr th,
div.gray div.table-02.gray table tbody tr th,
div.gray div.table-02.gray table th, div.gray.table-02 table thead tr th,
div.gray.table-02 table tbody tr th,
div.gray.table-02 table th,
.gray div.table-02.gray table thead tr th,
.gray div.table-02.gray table tbody tr th,
.gray div.table-02.gray table th,
.gray.table-02 table thead tr th,
.gray.table-02 table tbody tr th,
.gray.table-02 table th {
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02.gray table tbody tr td,
div.gray div.table-02.gray table td, div.gray.table-02 table tbody tr td,
div.gray.table-02 table td,
.gray div.table-02.gray table tbody tr td,
.gray div.table-02.gray table td,
.gray.table-02 table tbody tr td,
.gray.table-02 table td {
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02.gray table.colnum2 thead tr th.is-header,
div.gray div.table-02.gray table.colnum2 th.is-header, div.gray div.table-02.gray table.colnum3 thead tr th.is-header,
div.gray div.table-02.gray table.colnum3 th.is-header, div.gray div.table-02.gray table.colnum4 thead tr th.is-header,
div.gray div.table-02.gray table.colnum4 th.is-header, div.gray div.table-02.gray table.colnum5 thead tr th.is-header,
div.gray div.table-02.gray table.colnum5 th.is-header, div.gray.table-02 table.colnum2 thead tr th.is-header,
div.gray.table-02 table.colnum2 th.is-header, div.gray.table-02 table.colnum3 thead tr th.is-header,
div.gray.table-02 table.colnum3 th.is-header, div.gray.table-02 table.colnum4 thead tr th.is-header,
div.gray.table-02 table.colnum4 th.is-header, div.gray.table-02 table.colnum5 thead tr th.is-header,
div.gray.table-02 table.colnum5 th.is-header,
.gray div.table-02.gray table.colnum2 thead tr th.is-header,
.gray div.table-02.gray table.colnum2 th.is-header,
.gray div.table-02.gray table.colnum3 thead tr th.is-header,
.gray div.table-02.gray table.colnum3 th.is-header,
.gray div.table-02.gray table.colnum4 thead tr th.is-header,
.gray div.table-02.gray table.colnum4 th.is-header,
.gray div.table-02.gray table.colnum5 thead tr th.is-header,
.gray div.table-02.gray table.colnum5 th.is-header,
.gray.table-02 table.colnum2 thead tr th.is-header,
.gray.table-02 table.colnum2 th.is-header,
.gray.table-02 table.colnum3 thead tr th.is-header,
.gray.table-02 table.colnum3 th.is-header,
.gray.table-02 table.colnum4 thead tr th.is-header,
.gray.table-02 table.colnum4 th.is-header,
.gray.table-02 table.colnum5 thead tr th.is-header,
.gray.table-02 table.colnum5 th.is-header {
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02.gray table.colnum2 thead tr th,
div.gray div.table-02.gray table.colnum2 tbody tr th,
div.gray div.table-02.gray table.colnum2 th, div.gray div.table-02.gray table.colnum3 thead tr th,
div.gray div.table-02.gray table.colnum3 tbody tr th,
div.gray div.table-02.gray table.colnum3 th, div.gray div.table-02.gray table.colnum4 thead tr th,
div.gray div.table-02.gray table.colnum4 tbody tr th,
div.gray div.table-02.gray table.colnum4 th, div.gray div.table-02.gray table.colnum5 thead tr th,
div.gray div.table-02.gray table.colnum5 tbody tr th,
div.gray div.table-02.gray table.colnum5 th, div.gray.table-02 table.colnum2 thead tr th,
div.gray.table-02 table.colnum2 tbody tr th,
div.gray.table-02 table.colnum2 th, div.gray.table-02 table.colnum3 thead tr th,
div.gray.table-02 table.colnum3 tbody tr th,
div.gray.table-02 table.colnum3 th, div.gray.table-02 table.colnum4 thead tr th,
div.gray.table-02 table.colnum4 tbody tr th,
div.gray.table-02 table.colnum4 th, div.gray.table-02 table.colnum5 thead tr th,
div.gray.table-02 table.colnum5 tbody tr th,
div.gray.table-02 table.colnum5 th,
.gray div.table-02.gray table.colnum2 thead tr th,
.gray div.table-02.gray table.colnum2 tbody tr th,
.gray div.table-02.gray table.colnum2 th,
.gray div.table-02.gray table.colnum3 thead tr th,
.gray div.table-02.gray table.colnum3 tbody tr th,
.gray div.table-02.gray table.colnum3 th,
.gray div.table-02.gray table.colnum4 thead tr th,
.gray div.table-02.gray table.colnum4 tbody tr th,
.gray div.table-02.gray table.colnum4 th,
.gray div.table-02.gray table.colnum5 thead tr th,
.gray div.table-02.gray table.colnum5 tbody tr th,
.gray div.table-02.gray table.colnum5 th,
.gray.table-02 table.colnum2 thead tr th,
.gray.table-02 table.colnum2 tbody tr th,
.gray.table-02 table.colnum2 th,
.gray.table-02 table.colnum3 thead tr th,
.gray.table-02 table.colnum3 tbody tr th,
.gray.table-02 table.colnum3 th,
.gray.table-02 table.colnum4 thead tr th,
.gray.table-02 table.colnum4 tbody tr th,
.gray.table-02 table.colnum4 th,
.gray.table-02 table.colnum5 thead tr th,
.gray.table-02 table.colnum5 tbody tr th,
.gray.table-02 table.colnum5 th {
  border: 1px solid #D8D8D8 !important;
}
div.gray div.table-02.gray table.colnum2 tbody tr td,
div.gray div.table-02.gray table.colnum2 td, div.gray div.table-02.gray table.colnum3 tbody tr td,
div.gray div.table-02.gray table.colnum3 td, div.gray div.table-02.gray table.colnum4 tbody tr td,
div.gray div.table-02.gray table.colnum4 td, div.gray div.table-02.gray table.colnum5 tbody tr td,
div.gray div.table-02.gray table.colnum5 td, div.gray.table-02 table.colnum2 tbody tr td,
div.gray.table-02 table.colnum2 td, div.gray.table-02 table.colnum3 tbody tr td,
div.gray.table-02 table.colnum3 td, div.gray.table-02 table.colnum4 tbody tr td,
div.gray.table-02 table.colnum4 td, div.gray.table-02 table.colnum5 tbody tr td,
div.gray.table-02 table.colnum5 td,
.gray div.table-02.gray table.colnum2 tbody tr td,
.gray div.table-02.gray table.colnum2 td,
.gray div.table-02.gray table.colnum3 tbody tr td,
.gray div.table-02.gray table.colnum3 td,
.gray div.table-02.gray table.colnum4 tbody tr td,
.gray div.table-02.gray table.colnum4 td,
.gray div.table-02.gray table.colnum5 tbody tr td,
.gray div.table-02.gray table.colnum5 td,
.gray.table-02 table.colnum2 tbody tr td,
.gray.table-02 table.colnum2 td,
.gray.table-02 table.colnum3 tbody tr td,
.gray.table-02 table.colnum3 td,
.gray.table-02 table.colnum4 tbody tr td,
.gray.table-02 table.colnum4 td,
.gray.table-02 table.colnum5 tbody tr td,
.gray.table-02 table.colnum5 td {
  border: 1px solid #D8D8D8 !important;
}

div.gray div.table-02 table.colnum2 thead tr th.is-header,
div.gray div.table-02 table.colnum3 thead tr th.is-header,
div.gray div.table-02 table.colnum4 thead tr th.is-header,
div.gray div.table-02 table.colnum5 thead tr th.is-header,
div.gray .table-02 table.colnum2 thead tr th.is-header,
div.gray .table-02 table.colnum3 thead tr th.is-header,
div.gray .table-02 table.colnum4 thead tr th.is-header,
div.gray .table-02 table.colnum5 thead tr th.is-header,
.gray div.table-02 table.colnum2 thead tr th.is-header,
.gray div.table-02 table.colnum3 thead tr th.is-header,
.gray div.table-02 table.colnum4 thead tr th.is-header,
.gray div.table-02 table.colnum5 thead tr th.is-header,
.gray .table-02 table.colnum2 thead tr th.is-header,
.gray .table-02 table.colnum3 thead tr th.is-header,
.gray .table-02 table.colnum4 thead tr th.is-header,
.gray .table-02 table.colnum5 thead tr th.is-header {
  border: 1px solid #D8D8D8 !important;
}

div.gray div.table-02 table.colnum2 thead tr th,
div.gray div.table-02 table.colnum3 thead tr th,
div.gray div.table-02 table.colnum4 thead tr th,
div.gray div.table-02 table.colnum5 thead tr th,
div.gray .table-02 table.colnum2 thead tr th,
div.gray .table-02 table.colnum3 thead tr th,
div.gray .table-02 table.colnum4 thead tr th,
div.gray .table-02 table.colnum5 thead tr th,
.gray div.table-02 table.colnum2 thead tr th,
.gray div.table-02 table.colnum3 thead tr th,
.gray div.table-02 table.colnum4 thead tr th,
.gray div.table-02 table.colnum5 thead tr th,
.gray .table-02 table.colnum2 thead tr th,
.gray .table-02 table.colnum3 thead tr th,
.gray .table-02 table.colnum4 thead tr th,
.gray .table-02 table.colnum5 thead tr th {
  border: 1px solid #D8D8D8 !important;
}

div.gray div.table-02 table.colnum2 tbody tr th,
div.gray div.table-02 table.colnum3 tbody tr th,
div.gray div.table-02 table.colnum4 tbody tr th,
div.gray div.table-02 table.colnum5 tbody tr th,
div.gray .table-02 table.colnum2 tbody tr th,
div.gray .table-02 table.colnum3 tbody tr th,
div.gray .table-02 table.colnum4 tbody tr th,
div.gray .table-02 table.colnum5 tbody tr th,
.gray div.table-02 table.colnum2 tbody tr th,
.gray div.table-02 table.colnum3 tbody tr th,
.gray div.table-02 table.colnum4 tbody tr th,
.gray div.table-02 table.colnum5 tbody tr th,
.gray .table-02 table.colnum2 tbody tr th,
.gray .table-02 table.colnum3 tbody tr th,
.gray .table-02 table.colnum4 tbody tr th,
.gray .table-02 table.colnum5 tbody tr th {
  border: 1px solid #D8D8D8 !important;
}

div.gray div.table-02 table.colnum2 tbody tr td,
div.gray div.table-02 table.colnum3 tbody tr td,
div.gray div.table-02 table.colnum4 tbody tr td,
div.gray div.table-02 table.colnum5 tbody tr td,
div.gray .table-02 table.colnum2 tbody tr td,
div.gray .table-02 table.colnum3 tbody tr td,
div.gray .table-02 table.colnum4 tbody tr td,
div.gray .table-02 table.colnum5 tbody tr td,
.gray div.table-02 table.colnum2 tbody tr td,
.gray div.table-02 table.colnum3 tbody tr td,
.gray div.table-02 table.colnum4 tbody tr td,
.gray div.table-02 table.colnum5 tbody tr td,
.gray .table-02 table.colnum2 tbody tr td,
.gray .table-02 table.colnum3 tbody tr td,
.gray .table-02 table.colnum4 tbody tr td,
.gray .table-02 table.colnum5 tbody tr td {
  border: 1px solid #D8D8D8 !important;
}

.list-04 {
  font-size: 18rem;
}
.list-04 ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.list-04 ul li {
  line-height: 1.6;
  position: relative;
  margin-bottom: 20px;
  padding-left: 22px;
  font-weight: bold;
}
.list-04 ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  border: 1.3px solid #14126f;
}
.list-04 ul li::after {
  content: "";
  position: absolute;
  top: 15px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #14126f;
  left: 3.1px;
  width: 10px;
  height: 10px;
}
@supports (-webkit-hyphens: none) {
  .list-04 ul li::before {
    margin-top: -1px;
  }
  .list-04 ul li::after {
    margin-top: -1px;
  }
}

.list-06 ul {
  list-style: none;
  padding-left: 18px;
  margin: 0;
}
.list-06 ul li {
  line-height: 1.6;
  position: relative;
  margin-bottom: 35px;
}
.list-06 ul li::before {
  content: "";
  position: absolute;
  top: 12px;
  border-radius: 50%;
  background: #14126f;
  left: -18px;
  width: 7px;
  height: 7px;
}
.list-06 ul li div:nth-of-type(1) {
  font-size: 19rem;
  font-weight: bold;
  margin-bottom: 13px;
}
.image-cap-01 .image-cap-01__item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  gap: 20px 0;
}
.image-cap-01 .image-cap-01__item > div {
  flex-basis: 100%;
}
.image-cap-01 .image-cap-01__item > div > div {
  margin: 0 auto;
}
.image-cap-01 .image-cap-01__item img {
  margin-bottom: 10px;
}
.image-cap-01 .image-cap-01__item .caption {
  text-align: center;
  font-size: 15px;
}
.image-cap-01 .image-cap-01__item::after {
  content: "";
  flex-basis: 100%;
}

.image-cap-02 .image-cap-02__item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  gap: 20px 0;
}
.image-cap-02 .image-cap-02__item > div {
  flex-basis: 48.5%;
}
.image-cap-02 .image-cap-02__item img {
  margin-bottom: 10px;
}
.image-cap-02 .image-cap-02__item .caption {
  text-align: center;
  font-size: 15px;
}
.image-cap-02 .image-cap-02__item::after {
  content: "";
  flex-basis: 48.5%;
}

.image-cap-03 .image-cap-03__item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  gap: 20px 0;
}
.image-cap-03 .image-cap-03__item > div {
  flex-basis: 31.7%;
}
.image-cap-03 .image-cap-03__item img {
  margin-bottom: 10px;
}
.image-cap-03 .image-cap-03__item .caption {
  text-align: center;
  font-size: 15px;
}
.image-cap-03 .image-cap-03__item::after {
  content: "";
  flex-basis: 31.7%;
}

.wp-block-lazyblock-lb,
.wp-block-lazyblock-menu-l2-list {
  width: 100%;
}

.post-thumbnail, .entry-content .wp-audio-shortcode, .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator), *[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator), .default-max-width {
  max-width: 100%;
  width: 1200px;
}

.flexbox_list { /* Safari */
  display: flex; /* Safari */
  flex-wrap: wrap; /* Safari */
  justify-content: space-between;
}
.flexbox_list.list_reverse {
  flex-direction: row-reverse;
}

.blk_headline1 {
  background: #000;
  color: #fff;
  font-size: 30px;
  padding: 15px 30px;
}

/*
カスタムブロックのスタイルをここに書く
*/
/* sample */
.flashcard .card_number {
  color: #f00;
}
.flashcard .rugby_term {
  color: #0f0;
}

.blk-pic_about .about__pic {
  width: 47%;
}
.blk-pic_about .about__pic img {
  width: 100%;
}
.blk-pic_about .about__text {
  width: 47%;
}
.blk-pic_about .about__text p {
  margin: 0;
}

.menu_anchor {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.menu_anchor a {
  flex: 1;
  display: block;
  background: #14126f;
  color: #fff !important;
  margin: 0 12px;
  text-align: center;
  line-height: 1.5em;
  padding: 22px 0 30px 0;
  position: relative;
}
.menu_anchor a::after {
  content: "";
  background: url(../images/common/arrow_down_w.svg) no-repeat;
  background-size: contain;
  display: block;
  width: 16px;
  height: 6px;
  position: absolute;
  bottom: 17px;
  left: calc(50% - 8px);
}
.menu_anchor a:first-child {
  margin-left: 0;
}
.menu_anchor a:last-child {
  margin-right: 0;
}

.entry-content .content__title {
  font-size: 22rem;
  color: #15116F;
  font-weight: bold;
  border-bottom: 1px solid #D8D8D8;
  padding: 0 0 13px 0;
  margin-bottom: 40px;
}
.entry-content .content__title .link {
  font-size: 14rem;
  border: 2px solid #333089;
  padding: 4px 20px;
  position: relative;
  top: -5px;
  float: right;
}

.flow-step {
  position: relative;
  background: #fff;
  border: none;
  box-shadow: inset 0 0 0 1px #d9d9d9;
  padding: 24px;
  margin: 0 auto 40px;
  max-width: 980px;
}

.flow-step::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -24px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 24px solid transparent;
  border-right: 24px solid transparent;
  border-top: 24px solid #d9d9d9;
}

.flow-step::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -22px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 22px solid #fff;
}

.flow-step:last-child::after,
.flow-step:last-child::before {
  content: none;
}

.flow-step__title {
  margin: 0 0 16px;
  padding: 14px 20px;
  background: #0b1a6a;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}

.flow-step__notice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0 0 16px;
}

.flow-step__icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #d8342a;
  position: relative;
  margin-top: 2px;
}

.flow-step__icon::before {
  content: "!";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
}

.flow-step__notice-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
}

.flow-step__desc {
  font-size: 16px;
  line-height: 1.9;
}

.flow-step__desc p {
  margin: 0 0 12px;
}

.flow-step__desc p:last-child {
  margin-bottom: 0;
}

.flow-step__desc a {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .flow-step {
    padding: 18px;
    margin-bottom: 32px;
  }
  .flow-step::after {
    bottom: -27px;
    border-left-width: 18px;
    border-right-width: 18px;
    border-top-width: 18px;
  }
  .flow-step::before {
    bottom: -16px;
    border-left-width: 16px;
    border-right-width: 16px;
    border-top-width: 16px;
  }
  .flow-step__title {
    font-size: 18px;
    padding: 12px 14px;
  }
}
.post-navigation {
  display: flex;
  justify-content: space-between;
}
.post-navigation .nav-previous, .post-navigation .nav-home, .post-navigation .nav-next {
  width: 33%;
  margin: 0;
}
.post-navigation .nav-previous {
  text-align: left;
}
.post-navigation .nav-previous a::before {
  font-family: "FontAwesome";
  content: "\f060";
  margin-right: 15px;
}
.post-navigation .nav-home {
  text-align: center;
}
.post-navigation .nav-home a {
  background-color: #fff;
  padding: 10px 40px;
  color: #333089;
  transition: background-color 0.3s, color 0.3s;
  border-radius: 30px;
  border: 2px solid #333089;
}
.post-navigation .nav-next {
  text-align: right;
}
.post-navigation .nav-next a::after {
  font-family: "FontAwesome";
  content: "\f061";
  margin-left: 15px;
}

.content_head {
  display: flex;
  justify-content: space-between;
}
.content_head.simple .head__col:nth-child(1) {
  border: none;
}
.content_head.grid {
  display: grid;
  grid-template-columns: repeat(2, 50%);
}
.content_head.grid .head__col:nth-of-type(1) {
  width: 100%;
}
.content_head.grid .head__col:nth-of-type(2) {
  width: 100%;
}
.content_head .head__col {
  width: 50%;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  padding: 5px 0;
}
.content_head .head__col:nth-child(1) {
  flex-basis: 50%;
  border-right: 1px solid #aaa;
  padding-right: 5%;
}
.content_head .head__col:nth-child(2) {
  flex-basis: 50%;
  justify-content: flex-end;
  padding-top: 18px;
  padding-left: 1%;
}
.content_head .head__col .head__img {
  margin-right: 30px;
}
.content_head .head__col .head__img img {
  height: 120px;
}
.content_head .head__col .head__label {
  width: calc(100% - 200px);
  color: #14126f;
  font-weight: bold;
  font-size: 30rem;
  line-height: 1.3em;
  display: grid;
  place-items: center;
  justify-content: start;
}
.content_head .head__col .head__label img {
  margin-left: 20px;
  vertical-align: middle;
}
.content_head .head__col .head__label a {
  display: block;
  position: relative;
  color: #14126f;
}
.content_head .head__col .head__label a::after {
  content: "";
  background: url(../images/common/icon_arrow02.svg) no-repeat center right/contain;
  width: 22px;
  height: 22px;
  position: absolute;
  right: -46px;
  top: 53%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}
.content_head .head__col .head__sns {
  width: 200px;
  margin-right: 20px;
}
.content_head .head__col .head__sns a {
  position: relative;
  padding-left: 52px;
  display: inline-block;
  line-height: 1.4em;
  font-size: 14rem;
}
.content_head .head__col .head__sns a::before {
  display: inline-block;
  content: "";
  background: url(../images/common/icon_twitter.png) no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  margin-right: 20px;
  position: absolute;
  top: 0;
  left: 0;
}
.content_head .head__col .head__sns a:not(:last-child) {
  margin-bottom: 15px;
}
.content_head .head__col .head__sns .sns__twitter::before {
  display: inline-block;
  content: "";
  background: url(../images/common/icon_twitter.png) no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  margin-right: 20px;
  position: absolute;
  top: 0;
  left: 0;
}
.content_head .head__col .head__sns .sns__youtube::before {
  display: inline-block;
  content: "";
  background: url(../images/common/icon_youtube.svg) no-repeat;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  margin-right: 20px;
}
.content_head .head__col .head__sns .sns__instagram::before {
  display: inline-block;
  content: "";
  background: url(../images/common/icon_instagram.png) no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  margin-right: 20px;
}
.content_head .head__col .head__special a {
  background: #14126f;
  color: #fff;
  font-size: 15rem;
  border-radius: 50px;
  font-weight: bold;
  position: relative;
  line-height: 22px;
  display: inline-block;
  padding: 2px;
}
.content_head .head__col .head__special a span {
  background: #14126f;
  border: 2px solid #fff;
  padding: 13px 50px 13px 71px;
  border-radius: 50px;
  line-height: 22px;
  display: inline-block;
  position: relative;
}
.content_head .head__col .head__special a span::before {
  display: inline-block;
  content: "";
  background: url(../images/common/icon_megaphone.svg) no-repeat;
  width: 34px;
  height: 20px;
  position: absolute;
  top: 14px;
  left: 27px;
}
.content_head .head__col .head__special a span::after {
  display: inline-block;
  content: "";
  background: url(../images/common/arrow_right_w.svg) no-repeat;
  width: 6px;
  height: 14px;
  position: absolute;
  top: 16px;
  right: 25px;
}
.content_head .head__col .head__special.head__special--nurse a {
  background: #14126f;
}
.content_head .head__col .head__special.head__special--nurse a span {
  background: #14126f;
}
.content_head .head__col .head__special.head__special--officework a {
  background: #14126f;
}
.content_head .head__col .head__special.head__special--officework a span {
  background: #14126f;
}

.sns {
  width: 200px;
}
.sns a {
  position: relative;
  padding-left: 50px;
  display: inline-block;
  line-height: 1.3;
  font-size: 15rem;
  color: #000;
  letter-spacing: 1px;
}
.sns a::before {
  display: inline-block;
  content: "";
  width: 40px;
  height: 40px;
  margin-right: 20px;
  position: absolute;
  vertical-align: middle;
  top: 0;
  left: 0;
}
.sns .type_x::before {
  background: url(../images/common/icon_x.png) no-repeat;
  background-size: 40px;
}
.sns .type_youtube::before {
  background: url(../images/common/icon_youtube.svg) no-repeat;
  background-size: 40px;
}
.sns .type_instagram::before {
  background: url(../images/common/icon_instagram.png) no-repeat;
  background-size: 40px;
}

.h2-image-link-linkbtn-01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 0;
}
.h2-image-link-linkbtn-01 .head__col {
  width: 50%;
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
}
.h2-image-link-linkbtn-01 .head__col:nth-child(1) {
  width: 50%;
  min-width: 290px;
  border-right: 1px solid #aaa;
  padding-right: 15px;
}
.h2-image-link-linkbtn-01 .head__col:nth-child(1).wide {
  width: 100%;
  border-right: none;
}
.h2-image-link-linkbtn-01 .head__col:nth-child(2) {
  width: 50%;
  min-width: 270px;
  justify-content: flex-end;
  align-items: center;
}
.h2-image-link-linkbtn-01 .head__col .head__img {
  margin-right: 30px;
}
.h2-image-link-linkbtn-01 .head__col .head__img img {
  height: 120px;
}
.h2-image-link-linkbtn-01 .head__col .head__label {
  width: calc(100% - 200px);
  color: #14126f;
  font-weight: bold;
  font-size: 30rem;
  line-height: 1.3em;
  display: grid;
  place-items: center;
  justify-content: start;
}
.h2-image-link-linkbtn-01 .head__col .head__label a {
  color: #14126f;
}
.h2-image-link-linkbtn-01 .head__col .head__label img {
  margin-left: 20px;
  vertical-align: baseline;
}
.h2-image-link-linkbtn-01 .head__col .head__special {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px 15px;
  margin-left: 15px;
}
.h2-image-link-linkbtn-01 .head__col .head__special a {
  background: #F29D4B;
  color: #fff;
  font-size: 15rem;
  padding: 18px 50px 18px 71px;
  border-radius: 30px;
  font-weight: bold;
  position: relative;
  line-height: 49px;
  height: 50px;
  padding: 0 50px 0 71px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.h2-image-link-linkbtn-01 .head__col .head__special a::before {
  display: inline-block;
  content: "";
  background: url(../images/common/icon_megaphone.svg) no-repeat;
  width: 34px;
  height: 20px;
  position: absolute;
  top: 15px;
  left: 27px;
}
.h2-image-link-linkbtn-01 .head__col .head__special a::after {
  display: inline-block;
  content: "";
  background: url(../images/common/arrow_right_w.svg) no-repeat;
  width: 6px;
  height: 14px;
  position: absolute;
  top: 18px;
  right: 25px;
}
.h2-image-link-linkbtn-01 .head__col .head__special a:nth-child(1) {
  background: #F7A5A8;
}
.h2-image-link-linkbtn-01 .head__col .head__special a:nth-child(2) {
  background: #85D8F7;
}

.content_menu {
  list-style: none;
  padding-left: 0;
}
.content_menu .menu__l1:not(:last-child) {
  margin-bottom: 20px;
}
.content_menu .menu__l1 a {
  display: block;
  background: #14126f;
  color: #fff;
  position: relative;
  line-height: 1.4em;
  padding: 16px 30px 16px 15px;
  font-weight: bold;
}
.content_menu .menu__l1 a::after {
  content: "";
  background: url(../images/common/arrow_right_w.svg) no-repeat;
  background-size: contain;
  display: block;
  width: 6px;
  height: 16px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}
.content_menu .menu__l2:not(:last-child) {
  margin-bottom: 20px;
}
.content_menu .menu__l2 a {
  display: block;
  background: #F5F5F5;
  color: #14126f;
  position: relative;
  line-height: 1.4em;
  padding: 19px 25px 18px 15px;
  font-weight: bold;
  border-radius: 5px;
}
.content_menu .menu__l2 a::after {
  content: "";
  background: url(../images/common/arrow_right.svg) no-repeat;
  background-size: contain;
  display: block;
  width: 6px;
  height: 16px;
  position: absolute;
  bottom: calc(50% - 9px);
  right: 15px;
}
.content_menu .menu__l2 a.lock {
  background: #E9E8FD;
}
.content_menu .menu__l2 a.lock::after {
  width: 12px;
  background-image: url(../images/common/lock.svg);
}
.content_menu .menu__l3 {
  margin-bottom: 20px;
}
.content_menu .menu__l3 a {
  display: block;
  color: #14126f;
  position: relative;
  line-height: 25px;
  padding: 0 15px;
}
.content_menu .menu__l3 a:not(:last-child) {
  margin-bottom: 10px;
}
.content_menu .menu__l3 a::after {
  content: "";
  background: url(../images/common/arrow_right.svg) no-repeat;
  background-size: contain;
  display: block;
  width: 6px;
  height: 16px;
  position: absolute;
  top: 6px;
  left: 0;
}

.h3-01 {
  font-size: 22rem;
  color: #14126f;
  font-weight: bold;
  border: none;
  padding-left: 0;
  margin-top: 20px;
}

.h3-02 {
  font-size: 22rem;
  color: #14126f;
  font-weight: bold;
  border: none;
  padding-left: 2px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  line-height: 1.5;
}
.h3-02::before {
  content: "";
  position: relative;
  width: 20px; /* 外側の丸 */
  height: 20px;
  flex: 0 0 20px;
  border-radius: 50%;
  border: 2px solid #1a2f7a;
}
.h3-02::after {
  content: "";
  position: absolute;
  width: 12px; /* 内側の丸 */
  height: 12px;
  background: #1a2f7a;
  border-radius: 50%;
  left: 12px; /* padding-left(2px) + 丸の半径(10px) */
  top: 50%;
  transform: translate(-50%, -50%);
}

.h3-03 {
  font-size: 22rem;
  font-weight: normal;
  display: inline-block;
  border: 2px solid #14126f;
  padding: 5px 15px;
}

.h3-04 {
  margin-bottom: 20px;
  padding-left: 20px;
  border-left: 4px solid;
  color: #14126f;
  font-size: 24rem;
  font-weight: bold;
  line-height: 1.5;
}

.h3-05 .h3-05__block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: stretch;
  font-size: 1rem;
  gap: 40em 0;
}
.h3-05 .h3-05__block > div {
  flex-basis: 49%;
  background-color: #F5F5F5;
}
.h3-05 .h3-05__block > div.wide {
  flex-basis: 100%;
}
.h3-05 .h3-05__block > div .h3-05__title {
  display: flex;
  align-items: center;
  height: 3em;
  background-color: #14126f;
  padding-left: 1.1em;
  font-size: 20rem;
  font-weight: bold;
  color: #fff;
}
.h3-05 .h3-05__block > div .h3-05__text {
  background-color: #F5F5F5;
  padding: 0.9375em 1.375em 1.25em;
  font-size: 16rem;
}

.list-06-icon {
  width: 100%;
}
.list-06-icon ul {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  padding-left: 0;
}
.list-06-icon ul .icon_list {
  flex-basis: 23%;
  margin-left: 1%;
  margin-right: 1%;
  list-style: none;
  padding-left: 1.5em;
  text-indent: -1.5em;
  line-height: 1.3;
  margin-bottom: 1em;
}
.list-06-icon ul .icon_list:nth-of-type(4n+1) {
  margin-left: 0;
}
.list-06-icon ul .icon_list:nth-of-type(4n) {
  margin-right: 0;
}
.list-06-icon ul .icon_list::before {
  content: "";
  background-color: #14126f;
  border-radius: 50%;
  width: 17px;
  height: 17px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: -3px;
}

.accordion-link-menu-01 .menu_head {
  display: block;
  background: #14126f;
  color: #fff;
  position: relative;
  line-height: 60px;
  padding: 0 15px;
  font-weight: bold;
  cursor: pointer;
}
.accordion-link-menu-01 .menu_head::after {
  content: "";
  background: url(../images/common/plus_w.svg) no-repeat;
  background-size: contain;
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  bottom: 21px;
  right: 15px;
}
.accordion-link-menu-01 .menu_head.active::after {
  background: url(../images/common/minus_w.svg) no-repeat;
  bottom: 14px;
}
.accordion-link-menu-01 .menu_content {
  padding: 0;
  list-style: none;
  display: none;
}
.accordion-link-menu-01 .menu_content li a {
  display: block;
  background: #F5F5F5;
  color: #14126f;
  position: relative;
  line-height: 50px;
  padding: 0 15px;
  font-weight: bold;
}
.accordion-link-menu-01 .menu_content li a::after {
  content: "";
  background: url(../images/common/arrow_right.svg) no-repeat;
  background-size: contain;
  display: block;
  width: 6px;
  height: 16px;
  position: absolute;
  bottom: 21px;
  right: 15px;
}

.accordion-contents-01 {
  font-size: 16rem;
}
.accordion-contents-01 .menu_head {
  display: block;
  background: #14126f;
  color: #fff;
  position: relative;
  line-height: 50px;
  padding: 0 15px;
  font-weight: bold;
  font-size: 18rem;
  cursor: pointer;
}
.accordion-contents-01 .menu_head::after {
  content: "";
  background: url(../images/common/plus_w.svg) no-repeat;
  background-size: contain;
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  bottom: 17px;
  right: 15px;
}
.accordion-contents-01 .menu_head.active::after {
  background: url(../images/common/minus_w.svg) no-repeat;
  bottom: 10px;
}
.accordion-contents-01 .menu_content {
  padding: 0;
  list-style: none;
  display: none;
  background-color: #F5F5F5;
  padding: 20px 15px;
}
.accordion-contents-01 .menu_content li {
  line-height: 1.8;
  margin-bottom: 14px;
}
.accordion-contents-01 .menu_content li p {
  line-height: 1.8;
  margin-bottom: 0;
}
.accordion-contents-01 .menu_content li span {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 2px;
  color: #14126f;
}
.accordion-contents-01 .menu_content li:last-of-type {
  margin-bottom: 0;
}
.accordion-contents-01 .menu_content li:last-of-type a {
  position: relative;
  font-weight: bold;
}
.accordion-contents-01 .menu_content li:last-of-type a::before {
  content: "";
  display: inline-block;
  background: url(../images/common/icon_arrow05.svg) no-repeat;
  width: 1.7em;
  height: 1.55em;
  background-size: 1.15em;
  vertical-align: -0.6em;
}

.accordion-contents-02 {
  font-size: 16rem;
}
.accordion-contents-02 .menu_head {
  display: block;
  background: #14126f;
  color: #fff;
  position: relative;
  line-height: 1.5;
  padding: 12px 50px 12px 15px;
  font-weight: bold;
  font-size: 18rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  word-break: keep-all;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}
.accordion-contents-02 .menu_head::after {
  content: "";
  background: url(../images/common/plus_w.svg) no-repeat;
  background-size: contain;
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 15px;
}
.accordion-contents-02 .menu_head.active::after {
  background: url(../images/common/minus_w.svg) no-repeat;
  margin-top: 16px;
}
.accordion-contents-02 .menu_content {
  padding: 0;
  list-style: none;
  display: none;
  background-color: #F5F5F5;
  padding: 30px 20px 5px;
}
.accordion-contents-02 .menu_content li {
  line-height: 1.8;
  margin-bottom: 40px;
}
.accordion-contents-02 .menu_content li p {
  line-height: 1.8;
  margin-bottom: 0;
}
.accordion-contents-02 .menu_content li span {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 15px;
}

.faq-01 {
  font-size: 16rem;
}
.faq-01 .faq_contents:not(:last-of-type) {
  margin-bottom: 40px;
}
.faq-01 .faq_inner.faq_inner {
  display: flex;
  justify-content: left;
  gap: 0 12px;
}
.faq-01 .faq_inner.faq_inner > div:nth-of-type(1) {
  border: 2px solid #14126f;
  width: 42px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2em;
  font-weight: bold;
}
.faq-01 .faq_inner.faq_inner > div:nth-of-type(2) {
  flex: 1;
  padding-top: 4px;
}
.faq-01 .faq_inner.faq_inner--q {
  margin-bottom: 15px;
}
.faq-01 .faq_inner.faq_inner--q > div:nth-of-type(1) {
  background-color: #14126f;
  color: #fff;
}
.faq-01 .faq_inner.faq_inner--q > div:nth-of-type(2) {
  font-weight: bold;
}
.faq-01 .faq_inner.faq_inner--a > div:nth-of-type(1) {
  background-color: #fff;
  color: #14126f;
}
.faq-01 .faq_inner.faq_inner--a > div:nth-of-type(2) p {
  margin: 0;
}
.faq-01 .faq_inner.faq_inner--a > div:nth-of-type(2) a {
  text-decoration: underline;
}

.wp-block-lazyblock-image-text {
  margin-bottom: 40px;
}
.wp-block-lazyblock-image-text .images-text .images-text__images {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin-bottom: 15px;
}
.wp-block-lazyblock-image-text .images-text .images-text__images img {
  flex: 1 1 300px;
  min-width: 0;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-block-lazyblock-image-text .images-text .images-text__caption {
  text-align: center;
}

.h2-link-01 {
  color: #14126f;
  font-weight: bold;
  font-size: 30rem;
  margin: 40px 0;
}
.h2-link-01 img {
  margin-left: 20px;
  vertical-align: baseline;
}
.h2-link-01 a {
  color: #14126f;
}

.tabmenu1 {
  margin-bottom: 70px;
}
.tabmenu1 ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
  border-bottom: 3px solid #14126f;
  font-size: 18rem;
  font-weight: bold;
  text-align: center;
  padding: 0;
}
.tabmenu1 ul li {
  width: 50%;
}
.tabmenu1 ul li a, .tabmenu1 ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  height: 100%;
  background: #F5F5F5;
  color: #000;
}
.tabmenu1 ul li:hover a,
.tabmenu1 ul li:hover span {
  background: #14126f !important;
  color: #fff !important;
}
.tabmenu1 ul li span {
  background: #fff;
}
.tabmenu1 ul li.current a {
  background: #14126f;
  color: #fff;
}
.tabmenu2 {
  margin-bottom: 70px;
}
.tabmenu2 ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
  border-bottom: 1px solid #6A6A6A;
  font-size: 18rem;
  font-weight: bold;
  text-align: center;
  padding: 0;
}
.tabmenu2 ul li {
  width: 50%;
}
.tabmenu2 ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  height: 100%;
  background: #F5F5F5;
  font-size: 15rem;
  color: #6A6A6A;
}
.tabmenu2 ul li:hover a {
  background: #6A6A6A !important;
  color: #fff !important;
}
.tabmenu2 ul li.current a {
  background: #6A6A6A;
  color: #fff;
}

.access-info-01 .access-info-01__body .body__col:nth-child(1) {
  width: 340px;
}
.access-info-01 .access-info-01__body .body__col:nth-child(2) {
  width: calc(100% - 400px);
}
.access-info-01 .access-info-01__body .body__col:nth-child(2) iframe {
  width: 100%;
  height: 100%;
}
.access-info-01 .access-info-01__body .body__col .col__pic {
  margin-bottom: 15px;
}
.access-info-01 .access-info-01__body .body__col .col__pic img {
  width: 100%;
}
.access-info-01 .access-info-01__body .body__col .col__address::before {
  content: "";
  background: url(../images/common/icon_pin.svg) no-repeat;
  width: 15px;
  height: 20px;
  display: inline-block;
  vertical-align: sub;
  margin-right: 7px;
}
.access-info-01 .access-info-01__body .body__col .col__tel::before {
  content: "";
  background: url(../images/common/icon_phone.svg) no-repeat;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: sub;
  margin-right: 7px;
}
.access-info-01 .access-info-01__body .body__col .col_comment {
  margin-top: 15px;
}
.access-info-01 .access-info-01__body .body__col .col__gmap {
  height: 100%;
}

.on-campus-links {
  margin-bottom: 20px;
}
.on-campus-links .links__row {
  border: 5px solid #14126F;
  border-radius: 20px;
  display: flex;
  justify-content: space-between;
}
.on-campus-links .links__row .row__l {
  background: #14126F;
  width: 210px;
  color: #fff;
  text-align: center;
  font-size: 20rem;
  padding: 25px 0;
  line-height: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
}
.on-campus-links .links__row .row__l img {
  height: 80px;
  margin-bottom: 15px;
}
.on-campus-links .links__row .row__r {
  padding: 15px 40px;
  width: calc(100% - 210px);
  line-height: 2.6em;
  font-size: 19rem;
}
.on-campus-links .links__row .row__r a {
  color: #14126F;
  text-decoration: underline;
}

.link-menu-04 {
  border: 1px solid #aaa;
  display: block;
  line-height: 140px;
  border-left: 6px solid #14126f;
  padding-left: 40px;
  font-weight: bold;
  font-size: 24rem;
  color: #333;
  position: relative;
}
.link-menu-04:after {
  position: absolute;
  top: calc(50% - 11px);
  right: 0;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: url(../images/common/icon_arrow02.svg) no-repeat;
}

.h2-03 {
  font-size: 22rem;
  font-weight: bold;
  position: relative;
  margin: 40px 0;
  padding-bottom: 15px;
  color: #14126f;
}
.h2-03::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #D8D8D8;
}

.h2-04 {
  font-size: 22rem;
  font-weight: bold;
  position: relative;
  margin: 40px 0;
  padding: 12px 20px 14px;
  background-color: #f5f5f5;
}
.h2-04::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #f5f5f5;
}
.h2-04::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 30px;
  height: 3px;
  background: #14126f;
}

.related-link-menu-01 {
  border: 1px solid #D8D8D8;
  padding: 40px 0 85px;
}
.related-link-menu-01 .related-link-menu-01__label {
  font-size: 20rem;
  font-weight: bold;
  border-left: 5px solid #14126f;
  padding-left: 35px;
  line-height: 20px;
  margin-bottom: 40px;
  color: #222;
}
.related-link-menu-01 .related-link-menu-01__list {
  padding: 0 40px;
}
.related-link-menu-01 .related-link-menu-01__list ul {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 2%;
}
.related-link-menu-01 .related-link-menu-01__list ul li {
  width: 32%;
}
.related-link-menu-01 .related-link-menu-01__list ul li:not(:last-child) {
  margin-bottom: 15px;
}
.related-link-menu-01 .related-link-menu-01__list ul li a {
  font-size: 18rem;
  font-weight: bold;
  background: #E9E8FD;
  border: 1px solid #B5B4D1;
  display: block;
  line-height: 1.5em;
  padding: 20px 45px 20px 25px;
  color: #222;
}
.related-link-menu-01 .related-link-menu-01__list ul li a:after {
  top: calc(50% - 7px);
  right: 20px;
  width: 6px;
  height: 14px;
  background: url(../images/common/arrow_right.svg) no-repeat;
}

.external-link a {
  background: #F29D4B;
  color: #fff;
  font-size: 15rem;
  font-weight: bold;
  display: inline-block;
  border-radius: 50px;
  padding: 2px;
}
.external-link a span {
  background: #F29D4B;
  border: 2px solid #fff;
  padding: 13px 50px 13px 71px;
  border-radius: 50px;
  line-height: 22px;
  display: inline-block;
  position: relative;
}
.external-link a span::before {
  display: inline-block;
  content: "";
  background: url(../images/common/icon_megaphone.svg) no-repeat;
  width: 34px;
  height: 20px;
  position: absolute;
  top: 14px;
  left: 27px;
}
.external-link a span::after {
  display: inline-block;
  content: "";
  background: url(../images/common/arrow_right_w.svg) no-repeat;
  width: 6px;
  height: 14px;
  position: absolute;
  top: 16px;
  right: 25px;
}

.external-link02 {
  width: 100%;
  max-width: 380px;
}
.external-link02 a {
  font-size: 18rem;
  font-weight: bold;
  background: #737373;
  display: block;
  line-height: 1.5em;
  padding: 20px 25px;
  color: #fff;
}
.external-link02 a:after {
  top: calc(50% - 7px);
  right: 20px;
  width: 6px;
  height: 14px;
  background: url(../images/common/icon_arrow06.svg) no-repeat;
}

.wp-block-lazyblock-pdf-link-menu-01 {
  margin: 20px 0;
}
.wp-block-lazyblock-pdf-link-menu-01 .pdf-link-menu-01 .list {
  list-style: none;
  padding: 0;
}

.wp-block-lazyblock-link-menu-01 {
  margin-top: 50px;
}
.wp-block-lazyblock-link-menu-01 .pdf-link-menu-01 .list {
  list-style: none;
  padding: 0;
}
.wp-block-lazyblock-link-menu-01 .pdf-link-menu-01 .list li:not(.empty) a {
  font-size: 18rem;
  position: relative;
  padding-left: 90px;
  display: inline-block;
  color: #000;
}
.wp-block-lazyblock-link-menu-01 .pdf-link-menu-01 .list li:not(.empty) a::before {
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  content: "PDF";
  background: #fff;
  text-align: center;
  color: #C80000;
  border: 1px solid #C80000;
  border-radius: 20px;
  font-weight: bold;
  font-size: 14rem;
  line-height: 24px;
  width: 75px;
}
.wp-block-lazyblock-link-menu-01 .pdf-link-menu-01 .list li:nth-of-type(n+2) {
  margin-top: 30px;
}
@supports (-webkit-hyphens: none) {
  .wp-block-lazyblock-link-menu-01 .pdf-link-menu-01 .list li a::before {
    padding-top: 2px;
  }
}
.wp-block-lazyblock-link-menu-01.col-2 .pdf-link-menu-01 .list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.wp-block-lazyblock-link-menu-01.col-2 .pdf-link-menu-01 .list li {
  width: 48%;
  display: inline-block;
}
.wp-block-lazyblock-link-menu-01.col-3 .pdf-link-menu-01 .list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.wp-block-lazyblock-link-menu-01.col-3 .pdf-link-menu-01 .list li {
  width: 31%;
  display: inline-block;
}

.wp-block-lazyblock-link-btn-01 {
  margin: 30px 0;
}

.wp-block-lazyblock-image-note01 .pic {
  width: 420px;
  padding: 30px 30px;
  border: 1px solid #aaa;
}
.wp-block-lazyblock-image-note01 .note {
  width: calc(100% - 480px);
}
.wp-block-lazyblock-image-note01 .note .note__title {
  font-size: 30rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.wp-block-lazyblock-image-note01 .note .note__text {
  background: #F5F5F5;
  padding: 40px;
  font-size: 16rem;
}

.icon-link-menu-01 {
  display: flex;
  justify-content: left;
  flex-wrap: wrap !important;
  gap: 14px 2%;
}
.icon-link-menu-01 .icon-link-menu-01__block a {
  padding: 0 5px 0 29px;
  line-height: 1.4;
  text-decoration: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  word-break: keep-all;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}
.icon-link-menu-01 .icon-link-menu-01__block a::before {
  content: "";
  width: 25px;
  height: 12px;
  position: absolute;
  top: 5px;
  left: 0px;
}
.icon-link-menu-01 .icon-link-menu-01__block a.icon-link-menu-01__link1 {
  color: #14126f;
}
.icon-link-menu-01 .icon-link-menu-01__block a.icon-link-menu-01__link1::before {
  background: url(../images/common/icon_blank02.svg) no-repeat center top/contain;
}
.icon-link-menu-01.col-1 .icon-link-menu-01__block {
  flex-basis: 100%;
}
.icon-link-menu-01.col-2 .icon-link-menu-01__block {
  flex-basis: 49%;
}
.icon-link-menu-01.col-3 .icon-link-menu-01__block {
  flex-basis: 32%;
}
.icon-link-menu-01.col-4 .icon-link-menu-01__block {
  flex-basis: 23.5%;
}

@media screen and (max-width: 768px) {
  .icon-link-menu-01 .icon-link-menu-01__block a.icon-link-menu-01__link1 {
    font-size: 16rem;
  }
  .icon-link-menu-01 .icon-link-menu-01__block a.icon-link-menu-01__link1::before {
    width: 28px;
    height: 14px;
    top: 3px;
  }
}
.icon-link-menu-04 {
  font-size: 1.15em;
  display: inline-block;
}
.icon-link-menu-04::before {
  content: "";
  display: inline-block;
  background: url(../images/common/icon_arrow05.svg) no-repeat;
  width: 1.5em;
  height: 1.5em;
  background-size: 1em;
  vertical-align: -0.6em;
}

.dl-btn-01 {
  display: inline-block;
  width: 100%;
  max-width: 350px;
  padding-bottom: 23px;
  font-size: 16rem;
  color: #000;
  border-bottom: 1px solid #D8D8D8;
}
.dl-btn-01::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(../images/common/icon_download.svg) no-repeat;
  background-size: contain;
  vertical-align: -0.2em;
  margin-right: 0.6em;
}

.h4-01 {
  margin-bottom: 10px;
  padding-left: 20px;
  color: #14126f;
  font-size: 18rem;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
}
.h4-01::before {
  content: "";
  position: absolute;
  width: 10px;
  height: calc(100% - 6px);
  background-color: #14126f;
  top: 3px;
  left: 0;
}

.related-organization-link-01 {
  width: 100%;
}
.related-organization-link-01 > p {
  text-align: center;
  font-size: 24rem;
  font-weight: bold;
  color: #123D83;
  margin-bottom: 2.1em;
}
.related-organization-link-01 ul {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
  -moz-column-gap: 1.3%;
       column-gap: 1.3%;
}
.related-organization-link-01 ul:first-of-type {
  margin-bottom: 23px;
}
.related-organization-link-01 ul li {
  list-style: none;
  flex-basis: 20%;
  background-color: #fff;
  border: solid 1px #D8D8D8;
}
.related-organization-link-01 ul li a {
  display: flex;
  justify-content: space-between;
  color: #222;
  font-size: 14rem;
  font-weight: bold;
  text-align: left;
  line-height: 1.5;
}
.related-organization-link-01 ul li a span:nth-of-type(1) {
  flex-basis: 35%;
}
.related-organization-link-01 ul li a span:nth-of-type(2) {
  flex-basis: 62%;
  display: flex;
  align-items: center;
}
.related-organization-link-01 ul li a span img {
  width: 80px;
  height: 80px;
  -o-object-fit: cover;
     object-fit: cover;
}

.link-btn-01 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  gap: 15px 0;
}
.link-btn-01 ul::after {
  content: "";
  width: calc(33.333% - 34px);
}
.link-btn-01 ul li {
  list-style: none;
  width: calc(33.333% - 34px);
}
.link-btn-01 ul li a {
  display: block;
  position: relative;
  width: 100%;
  background-color: #14126f;
  color: #fff;
  border-radius: 100vmax;
  padding: 15px 45px 15px 35px;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.5;
  display: inline-block;
  text-align: center;
  text-decoration: none;
}
.link-btn-01 ul li a::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  display: inline-block;
  width: 22px;
  height: 22px;
  margin: auto 0;
  background: url(../images/common/icon_arrow.svg) no-repeat;
  background-size: 100%;
}
.link-btn-01 ul li.width {
  width: 100%;
}
.link-btn-01 ul.left {
  justify-content: flex-start;
}
.link-btn-01 ul.left::after {
  content: none;
}
.link-btn-01 ul.center {
  justify-content: center;
}
.link-btn-01 ul.center::after {
  content: none;
}
.link-btn-01 ul.right {
  justify-content: flex-end;
}
.link-btn-01 ul.right::after {
  content: none;
}

.link-btn-02 a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  width: 585px;
  max-width: 100%;
  background-color: #fff;
  border: 1px solid #14126F;
  color: #14126F;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  margin: 0 auto;
  height: 50px;
  padding-right: 70px;
  padding-left: 10px;
  line-height: 1.2;
}
.link-btn-02 a:before {
  content: "";
  background-color: #14126F;
  width: 51px;
  height: 51px;
  position: absolute;
  top: -1.5px;
  right: 0;
}
.link-btn-02 a:after {
  content: url(../images/common/icon_arrow05.svg);
  width: 14px;
  height: 14px;
  position: absolute;
  top: 14.5px;
  right: 17px;
}
.link-btn-02 a.wide {
  width: 100%;
}

.table-03 {
  font-size: 16rem;
}
.table-03 th {
  font-weight: normal;
  border: 1px solid #D8D8D8;
  background-color: #F5F5F5;
  padding-left: 20px;
  width: 300px;
}
.table-03 td {
  font-weight: normal;
  border: 1px solid #D8D8D8;
  padding-left: 20px;
}

.table-04 {
  font-size: 16rem;
}
.table-04 table {
  table-layout: fixed;
}
.table-04 table tr:first-of-type {
  color: #fff;
}
.table-04 table tr:first-of-type th, .table-04 table tr:first-of-type td {
  background-color: #99A6D0;
  font-weight: bold;
  text-align: center;
}
.table-04 table tr th {
  font-weight: normal;
  border: 1px solid #D8D8D8;
  background-color: #DAE1F8;
}
.table-04 table tr td {
  font-weight: normal;
  border: 1px solid #D8D8D8;
  padding-left: 20px;
}
.table-04 table.colnum2 tr th {
  width: 36%;
}
.table-04 table.colnum3 tr th {
  width: 23%;
}
.table-04 table.colnum4 tr th {
  width: 18%;
}
.table-04 table.colnum5 tr th {
  width: 14%;
}
.table-04 table.colnum6 tr th {
  width: 12%;
}
.table-04 table.colnum7 tr th {
  width: 10%;
}
.table-04 table.colnum8 tr th {
  width: 9%;
}

.table-05 {
  font-size: 16rem;
}
.table-05 .table-05__title {
  font-size: 22rem;
  font-weight: bold;
  position: relative;
  margin: 40px 0;
  padding-bottom: 24px;
}
.table-05 .table-05__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #D8D8D8;
}
.table-05 .table-05__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 30px;
  height: 3px;
  background: #14126f;
}
.table-05 tr:first-of-type {
  color: #fff;
}
.table-05 tr:first-of-type th, .table-05 tr:first-of-type td {
  background-color: #99A6D0;
  font-weight: bold;
  text-align: center;
}
.table-05 tr th {
  font-weight: normal;
  border: 1px solid #D8D8D8;
  padding-left: 20px;
}
.table-05 tr td {
  font-weight: normal;
  border: 1px solid #D8D8D8;
  padding-left: 20px;
  width: auto;
}

.table-06 {
  font-size: 16rem;
}
.table-06 table {
  table-layout: fixed;
}
.table-06 table tr:first-of-type {
  color: #fff;
}
.table-06 table tr:first-of-type th, .table-06 table tr:first-of-type td {
  background-color: #99A6D0;
  font-weight: bold;
  text-align: center;
}
.table-06 table tr th {
  font-weight: normal;
  border: 1px solid #D8D8D8;
  background-color: #DAE1F8;
}
.table-06 table tr td {
  font-weight: normal;
  border: 1px solid #D8D8D8;
  padding-left: 20px;
}
.table-06 table.colnum2 tr th {
  width: 36%;
}
.table-06 table.colnum3 tr th {
  width: 23%;
}

.table-07 {
  font-size: 16rem;
}
.table-07 .table-07__title {
  font-size: 22rem;
  font-weight: bold;
  position: relative;
  margin: 40px 0;
  padding-bottom: 24px;
}
.table-07 .table-07__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #D8D8D8;
}
.table-07 .table-07__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 30px;
  height: 3px;
  background: #14126f;
}
.table-07 tr th {
  background-color: #99A6D0;
  font-weight: bold;
  text-align: center;
  padding-left: 20px;
  color: #fff;
}
.table-07 tr th:nth-of-type(1) {
  width: 15%;
}
.table-07 tr th:nth-of-type(2) {
  width: 10%;
}
.table-07 tr th:nth-of-type(3) {
  width: 13%;
}
.table-07 tr th:nth-of-type(4) {
  width: 21%;
}
.table-07 tr th:nth-of-type(5) {
  width: 39%;
}
.table-07 tr td {
  font-weight: normal;
  border: 1px solid #D8D8D8;
  padding-left: 20px;
}
.table-07 tr td p {
  margin: 0;
}
.table-07 tr td p a {
  text-decoration: underline;
}

.flow-01 .color-01 {
  background-color: #6981CC;
}
.flow-01 .color-02 {
  background-color: #C2D0FC;
}
.flow-01 .color-03 {
  background-color: #99A6D0;
}
.flow-01 .color-04 {
  background-color: #DAE1F8;
}
.flow-01 .color-05 {
  background-color: #8B92A8;
}
.flow-01 .color-06 {
  background-color: #DEE1EB;
}
.flow-01 .flow-01__sec {
  position: relative;
}
.flow-01 .flow-01__sec .sec__block {
  display: flex;
  flex: 1 1 30%;
  font-size: 1.25em;
  margin-bottom: 1.1em;
}
.flow-01 .flow-01__sec .sec__block dt {
  color: #fff;
  text-align: center;
  flex-basis: 30%;
  padding: 17px 0;
}
.flow-01 .flow-01__sec .sec__block dd {
  padding: 17px 20px;
  flex-basis: 70%;
}
.flow-01 .flow-01__sec .sec__bar {
  width: 0.7em;
  background-color: #8B92A8;
  height: 5.1em;
  position: absolute;
  bottom: -2.6em;
  left: 15%;
  z-index: -1;
}
.flow-01 .flow-01__sec:last-of-type .sec__block {
  margin-bottom: 0;
}
.flow-01 .flow-01__sec:last-of-type .sec__bar {
  display: none;
}

.flow-02 ul {
  padding-left: 0;
}
.flow-02 ul li {
  position: relative;
  list-style: none;
  font-size: 20rem;
  margin-bottom: 1.5em;
}
.flow-02 ul li .type1 {
  background-color: #6981CC;
  color: #fff;
}
.flow-02 ul li .type1 a {
  color: #fff;
}
.flow-02 ul li .type1 a::before {
  background: url(../images/common/icon_arrow05w.svg) no-repeat !important;
  background-size: 1em;
}
.flow-02 ul li .type2 {
  background-color: #99A6D0;
  color: #fff;
}
.flow-02 ul li .type2 a {
  color: #fff;
}
.flow-02 ul li .type2 a::before {
  background: url(../images/common/icon_arrow05w.svg) no-repeat !important;
  background-size: 1em;
}
.flow-02 ul li .type3 {
  background-color: #DEE1EB;
}
.flow-02 ul li .type4 {
  background-color: #8B92A8;
  color: #fff;
}
.flow-02 ul li .type4 a {
  color: #fff;
}
.flow-02 ul li .type4 a::before {
  background: url(../images/common/icon_arrow05w.svg) no-repeat !important;
  background-size: 1em;
}
.flow-02 ul li .type5 {
  background-color: #FFFFFF;
  border: 10px solid #d8d8d8;
}
.flow-02 ul li .type5 + .type5 {
  border-top: none;
}
.flow-02 ul li .type6 {
  background-color: #d8d8d8;
}
.flow-02 ul li:not(:last-of-type)::after {
  content: "";
  font-size: 1rem;
  background-color: #8B92A8;
  width: 10em;
  height: 30em;
  position: absolute;
  bottom: -30em;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.flow-02 ul li > div.flow-02__row1 {
  font-size: 20rem;
  font-weight: bold;
  text-align: center;
  height: 3.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.3;
}
.flow-02 ul li > div.flow-02__row2 {
  font-size: 16rem;
  padding: 1.8em 1.8em 1.8em;
}
.flow-02 ul li > div.flow-02__row2 .flow-02__subtitle {
  font-size: 20rem;
  font-weight: bold;
  margin-bottom: 0.7em;
}
.flow-02 ul li > div.flow-02__row2 .flow-02__text {
  display: flex;
  justify-content: space-between;
  gap: 0 1em;
}
.flow-02 ul li > div.flow-02__row2 .flow-02__text > div {
  flex: 1;
}
.flow-02 ul li > div.flow-02__row2 .flow-02__text > div p {
  line-height: 2;
  margin-bottom: 0;
}
.flow-02 ul li > div.flow-02__row2 .flow-02__text a {
  text-decoration: underline;
}
.flow-02 ul li > div.flow-02__row3 {
  font-size: 16rem;
  padding: 1.8em 1.8em;
  font-weight: bold;
}
.flow-02 ul li > div.flow-02__row3 a::before {
  content: "";
  display: inline-block;
  background: url(../images/common/icon_arrow05.svg) no-repeat;
  width: 1.5em;
  height: 1.5em;
  background-size: 1em;
  vertical-align: -0.6em;
}

.back-btn-01 {
  text-align: right;
}
.back-btn-01.back-btn-01--left {
  text-align: left;
}
.back-btn-01 .back-btn-01__link {
  display: inline-block;
  border: 3px solid #14126f;
  text-align: center;
  font-size: 1.1em;
  width: 23%;
  padding: 3px 0;
}

.inpage-link-02 ul {
  border-left: 1px solid #cccccc;
  padding-top: 1px;
  padding-left: 0;
  margin-right: 0px;
  margin-bottom: 0px;
  margin: 0 auto;
  overflow: hidden;
  padding-right: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.inpage-link-02 ul li {
  height: 82px;
  margin-bottom: 0;
  padding-right: 0;
  border-top: 1px solid #cccccc;
  margin-top: -1px;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  background: #fff;
  margin-left: -1px;
  box-sizing: border-box;
  max-width: 50%;
  min-width: 220px;
  flex-shrink: 0;
  width: 25%;
  /* 2列のときは横幅いっぱい（50%ずつ） */
}
.inpage-link-02 ul li:first-child:nth-last-child(2), .inpage-link-02 ul li:first-child:nth-last-child(2) ~ li {
  width: 50%;
}
.inpage-link-02 ul li .inpage-link-02__inner {
  height: 100%;
}
.inpage-link-02 ul li .inpage-link-02__inner a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 80px;
  text-align: left;
  position: relative;
  transition: all 0.3s ease;
  backface-visibility: hidden;
  text-decoration: none;
  color: #444;
}
.inpage-link-02 ul li .inpage-link-02__inner a span {
  display: block;
  min-width: 0;
  padding: 0 30px 0 21px;
  font-size: 112.5%;
  line-height: 1.25;
  overflow-wrap: break-word;
}
.inpage-link-02 ul li .inpage-link-02__inner a span:after {
  display: block;
  content: "";
  position: absolute;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  opacity: 0;
  background: rgba(0, 0, 0, 0.2);
  transition: all 0.5s;
}
.inpage-link-02 ul li .inpage-link-02__inner a:after {
  position: absolute;
  right: 10px;
  top: 50%;
  font-family: FontAwesome;
  content: "\f0d7";
  display: inline-block;
  vertical-align: sub;
  font-size: 18px;
  margin-top: -0.5em;
  line-height: 1;
}
.inpage-link-02 ul li .inpage-link-02__inner a:hover {
  color: #fff;
  background: #323168;
  opacity: 1;
}
.inpage-link-02 ul li.inpage-link-02__item--no-arrow .inpage-link-02__inner a::after {
  display: none !important;
  content: none !important;
  visibility: hidden !important;
}

/* ------------------------------
pc-menu
------------------------------ */
@media screen and (min-width: 769px) {
  /* ------------------------------
  rstdtl-menu-lst
  ------------------------------ */
  .pttl {
    padding: 60px;
    text-align: center;
  }
  .pttl img {
    height: 36px;
    width: auto;
  }
  .rstdtl-menu-lst {
    max-width: 980px;
    margin: 0 auto 100px auto;
  }
  /* ------------------------------
  rstdtl-menu-lst
  ------------------------------ */
  .pttl {
    padding: 60px;
    text-align: center;
  }
  .pttl img {
    height: 36px;
    width: auto;
  }
  .rstdtl-menu-lst {
    margin: 60px auto 80px auto;
    max-width: 980px;
  }
  /* ------------------------------
  menu new
  ------------------------------ */
  .rstdtl-menu-lst__heading {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
  .rstdtl-menu-lst__contents {
    display: table;
    padding: 0 10px;
    border-bottom: 1px dotted #d2d2d2;
    width: 100%;
    box-sizing: border-box;
  }
  .rstdtl-menu-lst__contents:last-of-type {
    border-bottom: none;
  }
  .rstdtl-menu-lst__info {
    display: table-cell;
    padding: 10px 0;
    vertical-align: top;
  }
  .rstdtl-menu-lst__info-inner {
    display: table;
    width: 100%;
  }
  .rstdtl-menu-lst__menu-title {
    display: table-cell;
    /* color: #111; */
    font-weight: bold;
    font-size: 1.5rem;
  }
  .rstdtl-menu-lst__price {
    display: table-cell;
    font-weight: bold;
    text-align: right;
    width: 9rem;
    font-size: 1.8rem;
  }
  .rstdtl-menu-lst__desc {
    font-size: 15px;
    padding-bottom: 10px;
  }
  .rstdtl-menu-lst__desc p {
    font-size: 20px;
    padding: 12px 10px;
    line-height: 1.6;
    background: url("https://tblg.k-img.com/images/line/line_dot.gif?1547477344") repeat-x 0 100%;
  }
  .rstdtl-menu-lst__img {
    display: table-cell;
    padding: 20px 15px 20px 0;
    width: 120px;
    text-align: center;
  }
  /* ------------------------------
  course menu pc
  ------------------------------ */
  .course-list {
    margin: 20px 0 30px;
  }
  .course-list__heading {
    display: block;
    position: relative;
  }
  .course-list__hotpepper-logo {
    display: block;
    position: absolute;
    top: 3.2rem;
    right: 0.5rem;
  }
  .course-list__heading-tax {
    position: absolute;
    right: 0;
    color: #949499;
    top: 2.8rem;
    font-size: 1.1rem;
    transform: translate(0, -50%);
  }
  .course-list__items {
    margin: auto;
    width: 95%;
  }
  .course-list__tax-notice {
    margin-top: 5px;
    color: #949499;
    font-size: 1rem;
  }
  .course-seatonly {
    padding: 12px 15px;
    background-color: #faf8f5;
    margin-bottom: 1.5rem;
    display: -moz-flex;
    display: flex;
    -moz-justify-content: space-between;
    justify-content: space-between;
    -moz-align-items: center;
    align-items: center;
  }
  .course-seatonly__title {
    /* color: #13131e; */
    font-weight: bold;
    font-size: 1.4rem;
  }
  .course-seatonly__btn {
    width: 10rem;
  }
  .rstdtl-course-list {
    display: table;
    position: relative;
    z-index: 1;
    border-top: 1px solid #e0dccc;
    border-bottom: 1px solid #e0dccc;
    width: 100%;
  }
  .rstdtl-course-list + .rstdtl-course-list {
    border-top: none;
  }
  .rstdtl-course-list__target {
    color: inherit;
    z-index: 1;
  }
  .rstdtl-course-list__target:hover {
    color: inherit;
    text-decoration: none;
  }
  .rstdtl-course-list.rstdtl-course-list--hotpepper:hover {
    cursor: default;
  }
  .rstdtl-course-list__data {
    display: table-cell;
    position: relative;
    padding: 20px 0;
    /* width: 100%; */
    word-break: break-all;
    vertical-align: top;
  }
  .rstdtl-course-list__tieup-mc ~ .rstdtl-course-list__img {
    padding-top: 6.5rem;
  }
  .rstdtl-course-list__tieup-mc ~ .rstdtl-course-list__data {
    padding-top: 6.5rem;
  }
  .rstdtl-course-list__data-header {
    display: table;
    width: 100%;
  }
  .rstdtl-course-list__img + .rstdtl-course-list__data .rstdtl-course-list__data-header {
    min-height: 72px;
  }
  .rstdtl-course-list__course-title {
    display: table-cell;
    word-break: break-all;
  }
  .rstdtl-course-list__course-title-text {
    margin-bottom: 0.2rem;
    /* color: #111; */
    font-weight: bold;
    line-height: 1.6;
    font-size: 1.5rem;
  }
  .rstdtl-course-list__course-title-text .rstdtl-course-list__target:hover {
    color: #ff9600;
    text-decoration: underline;
  }
  .rstdtl-course-list.rstdtl-course-list--hotpepper .rstdtl-course-list__course-title-text {
    /* color: #13131e */
  }
  .rstdtl-course-list__dish-count.rstdtl-course-list__dish-count {
    border: 1px solid #e0dccc;
    box-sizing: border-box;
    /* color: #463f2d; */
    background-color: #fff;
    margin-left: 0.5rem;
    padding: 0.1rem 0.3rem;
    font-size: 0.9rem;
  }
  .rstdtl-course-list__price-wrap {
    display: table-cell;
    white-space: nowrap;
    vertical-align: top;
    padding-right: 0.8rem;
    width: 100%;
    display: inline-block;
  }
  .rstdtl-course-list__price-discount {
    display: inline-block;
  }
  .rstdtl-course-list__price-before {
    /* color: #13131e; */
    text-align: left;
    margin-right: 0.5rem;
    margin-bottom: -0.2rem;
    font-size: 1.1rem;
  }
  .rstdtl-course-list__price-hotpepper-discount {
    display: inline-block;
    position: relative;
    margin-bottom: 7px;
    border: solid 1px #d2d2d2;
    border-radius: 2px;
    color: #949499;
    font-weight: bold;
    line-height: 1;
    background-color: #fff;
    padding: 0.4rem 0.5rem 0.3rem;
    font-size: 1rem;
  }
  .rstdtl-course-list__price-hotpepper-discount::before,
  .rstdtl-course-list__price-hotpepper-discount::after {
    display: block;
    position: absolute;
    border: solid transparent;
    width: 0;
    height: 0;
    content: "";
  }
  .rstdtl-course-list__price-hotpepper-discount::before {
    bottom: -7px;
    border-width: 6px 6px 0;
    border-top-color: #d2d2d2;
    right: 3rem;
  }
  .rstdtl-course-list__price-hotpepper-discount::after {
    bottom: -5px;
    border-width: 5px 5px 0;
    border-top-color: #fff;
    right: 3.1rem;
  }
  .rstdtl-course-list__price-num {
    /* color: #000; */
    font-weight: bold;
    font-size: 1rem;
  }
  .rstdtl-course-list.rstdtl-course-list--hotpepper .rstdtl-course-list__price-num {
    display: block;
  }
  .rstdtl-course-list__price-num > em {
    margin-right: 2px;
    font-family: Arial, sans-serif;
    font-size: 1.8rem;
  }
  .rstdtl-course-list__price-num-tax {
    font-weight: normal;
    font-size: 0.6rem;
  }
  .rstdtl-course-list__data-body {
    display: block;
    width: 100%;
    line-height: 1;
    padding-top: 0.5rem;
  }
  .rstdtl-course-list__data-body:before,
  .rstdtl-course-list__data-body:after {
    display: block;
    overflow: hidden;
    content: "";
  }
  .rstdtl-course-list__data-body:after {
    clear: both;
  }
  .rstdtl-course-list__inner {
    /* display: table;
    width: 100%; */
    /* justify-content: space-between; */
  }
  .rstdtl-course-list__img {
    display: table-cell;
    padding: 20px 15px 20px 0;
    width: 150px;
  }
  .rstdtl-course-list__img .rstdtl-course-list__target:hover {
    opacity: 0.8;
  }
  .rstdtl-course-list.rstdtl-course-list--hotpepper .rstdtl-course-list__img:hover {
    opacity: 1;
  }
  .rstdtl-course-list__subinfo {
    display: table;
    position: relative;
    float: left;
    padding-top: 0.5rem;
  }
  .rstdtl-course-list__desc {
    color: #fff;
    line-height: 1.6;
    font-size: 1.2rem;
  }
  .rstdtl-course-list__data-footer {
    float: right;
  }
  .rstdtl-course-list__label {
    margin-left: 5px;
  }
  .rstdtl-course-list__label.rstdtl-course-list__label {
    background-color: #a40000;
    padding: 0.2rem 0.4rem;
    line-height: 1.1rem;
    font-size: 1.5rem;
    color: #fff;
  }
  .rstdtl-course-list__hotpepper-target::before {
    color: #999;
  }
  .rstdtl-course-list__course-rule {
    display: table-cell;
    white-space: nowrap;
    vertical-align: bottom;
    padding: 0 0 0.3rem 1rem;
  }
  .rstdtl-course-list__course-rule > dt,
  .rstdtl-course-list__course-rule > dd {
    display: inline-block;
  }
  .rstdtl-course-list__course-rule > dd {
    margin-right: 0.5rem;
  }
  .rstdtl-course-list__course-rule-title::before {
    display: inline-block;
    color: #bcb08a;
    vertical-align: -0.1rem;
  }
  .rstdtl-course-list__course-rule-title.rstdtl-course-list__course-rule-title--member::before {
    /* font-family: "Tabelog Glyph"; */
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    speak: none;
    /* content: "\f663" */
    content: "※";
  }
  .rstdtl-course-list__course-rule-title.rstdtl-course-list__course-rule-title--time::before {
    /* font-family: "Tabelog Glyph"; */
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    speak: none;
    /* content: "\f677" */
    content: "※";
  }
  .rstdtl-course-list__course-rule-title > i {
    display: none;
  }
  .rstdtl-course-list__action-btn {
    display: table-cell;
    width: 100px;
    text-align: right;
    padding-left: 1.5rem;
    color: #fff;
  }
  .rstdtl-course-list__action-btn-target {
    display: block;
    float: right;
    clear: right;
    cursor: pointer;
    white-space: nowrap;
    vertical-align: middle;
    width: 10rem;
    /* color: #000; */
  }
  .rstdtl-course-list__action-btn-target + .rstdtl-course-list__action-btn-target {
    margin-top: 0.6rem;
  }
  .rstdtl-course-list__reserve-notice + .rstdtl-course-list__action-btn-target {
    margin-top: 0.6rem;
  }
  .rstdtl-course-list__coupon {
    display: inline-block;
    float: right;
    margin-top: 0.5rem;
  }
  .rstdtl-course-list__coupon-btn {
    float: right;
  }
  .rstdtl-course-list__coupon-contents {
    width: auto;
    text-align: left;
    padding-top: 0.7rem;
  }
  .rstdtl-course-rdimg {
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .rstdtl-course-list__tieup-mc {
    display: table-row;
    position: absolute;
    left: 0;
    z-index: 5;
    border-radius: 6px;
    vertical-align: middle;
    /* background-color: #221815; */
    top: 1.5rem;
  }
  .rstdtl-course-list__tieup-mc:hover {
    opacity: 0.8;
  }
  .rstdtl-course-list__tieup-mc-target {
    display: block;
    box-sizing: border-box;
    padding: 0.6rem 1.2rem 0.6rem 1.5rem;
  }
  .rstdtl-course-list__tieup-mc-target::after {
    color: #fff;
    vertical-align: middle;
  }
  .rstdtl-course-list__tieup-mc-target:hover {
    text-decoration: none;
  }
  .rstdtl-course-list__tieup-mc-logo {
    display: inline-block;
    width: 123px;
    height: 22px;
    background: url("https://tblg.k-img.com/images/shared/tieup/mastercard_pricelessjapan/tieup_logo_mastercard.png?1547477503") no-repeat 0 0;
    background-size: 123px 22px;
    vertical-align: bottom;
  }
  .rstdtl-course-list__tieup-mc-logo > i {
    display: none;
  }
  .rstdtl-course-list__tieup-mc-text {
    display: inline-block;
    color: #fff;
    margin-left: 1rem;
    padding-bottom: 0.2rem;
    font-size: 1.1rem;
  }
  .rstdtl-course-list__tieup-mc-text > em {
    color: #ff9600;
    font-weight: bold;
    margin-right: 0.7rem;
    font-size: 1.3rem;
  }
}
.course-dtl__course-title {
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 1em;
}

.course-dtl__img {
  margin-bottom: 1em;
  max-width: 500px;
}

.course-dtl__contents table {
  width: 100%;
}

.course-dtl__contents th {
  width: 100%;
}

.c-table.c-table--form {
  border-collapse: separate;
  border-top: 1px solid #d6ceb4;
  color: #000;
}

.c-table tr {
  vertical-align: top;
}

.c-table tbody tr th {
  border-bottom: 1px solid #d6ceb4;
  color: #13131e;
  font-weight: bold;
  vertical-align: inherit;
  width: 5em;
  line-height: 1.5;
  padding: 1rem;
}

.c-table.c-table--form tbody tr th {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #d6ceb4;
  background-color: #faf8f5;
}

.c-table tbody tr td {
  border-bottom: 1px solid #d6ceb4;
  vertical-align: inherit;
  padding: 0.6rem;
}

.course-dtl__data-table tbody tr td {
  padding: 1.2rem 1.5rem;
}

.course-dtl__price-num {
  color: #e64c30;
  font-size: 1rem;
  font-weight: bold;
}

.course-dtl__price-num > em {
  margin-right: 2px;
  font-size: 1.8rem;
}

.rstdtl-course-list__img-target {
  pointer-events: none;
}

.course-dtl__info {
  padding-bottom: 3rem;
}

/* ------------------------------
sp-menu
------------------------------ */
@media screen and (max-width: 768px) {
  /* ------------------------------
  rstdtl-menu-lst
  ------------------------------ */
  .pttl {
    padding: 33px 0 40px 0;
    text-align: center;
  }
  .pttl img {
    height: 32px;
    width: auto;
  }
  .rstdtl-menu-lst {
    margin: 0 20px 60px 20px;
  }
  /* ------------------------------
  access
  ------------------------------ */
  dl.shop-info dt {
    clear: both;
    font-weight: bold;
    padding-top: 11px;
    padding-right: 10px;
    padding-bottom: 0;
    padding-left: 10px;
  }
  dl.shop-info dd {
    font-size: 0.9em;
    line-height: 1.6;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
  }
  /* ------------------------------
  rstdtl-menu-lst
  ------------------------------ */
  .pttl {
    padding: 33px 0 40px 0;
    text-align: center;
  }
  .pttl img {
    height: 32px;
    width: auto;
  }
  .rstdtl-menu-lst {
    margin: 40px 0px 0px 0px;
  }
  .rstdtl-menu-lst__heading {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.6rem;
  }
  .rstdtl-menu-lst__contents {
    display: table;
    padding: 0 10px;
    border-bottom: 1px dotted #d2d2d2;
    width: 100%;
    box-sizing: border-box;
  }
  .rstdtl-menu-lst__contents:last-of-type {
    border-bottom: none;
    padding-top: 10px;
  }
  .rstdtl-menu-lst__info {
    display: table-cell;
    padding: 6px 0;
    vertical-align: top;
  }
  .rstdtl-menu-lst__info-inner {
    /*        display: table;*/
    width: 100%;
  }
  .rstdtl-menu-lst__menu-title {
    display: table-cell;
    width: 100%;
    /* color: #111; */
    font-weight: bold;
    font-size: 1.4rem;
  }
  /*
      .rstdtl-menu-lst__price {
          display: table-cell;
          font-weight: bold;
          text-align: right;
          width: 7rem;
          font-size: 1.5rem
      }
  */
  .rstdtl-menu-lst__price {
    display: inline-block;
    width: 100% !important;
    font-weight: bold;
    text-align: right !important;
    font-size: 1.5rem;
  }
  .rstdtl-menu-lst__desc {
    font-size: 12px;
    padding-bottom: 10px;
  }
  .rstdtl-menu-lst__desc p {
    font-size: 20px;
    padding: 12px 10px;
    line-height: 1.6;
    background: url("https://tblg.k-img.com/images/line/line_dot.gif?1547477344") repeat-x 0 100%;
  }
  .rstdtl-menu-lst__img {
    display: table-cell;
    padding: 20px 15px 20px 0;
    width: 120px;
    text-align: center;
  }
  /* ------------------------------
  course menu sp
  ------------------------------ */
  .course-list__items {
    margin: auto;
    width: 100%;
  }
  .rstdtl-course-list {
    display: table;
    position: relative;
    z-index: 1;
    border-top: 1px solid #e0dccc;
    border-bottom: 1px solid #e0dccc;
    width: 100%;
  }
  .rstdtl-course-list + .rstdtl-course-list {
    border-top: none;
  }
  .rstdtl-course-list__target {
    color: inherit;
    z-index: 1;
  }
  .rstdtl-course-list__target:hover {
    color: inherit;
    text-decoration: none;
  }
  .rstdtl-course-list.rstdtl-course-list--hotpepper:hover {
    cursor: default;
  }
  .rstdtl-course-list__data {
    display: table-cell;
    position: relative;
    padding: 20px 0 40px;
    width: 100%;
    word-break: break-all;
    vertical-align: top;
  }
  .rstdtl-course-list__tieup-mc ~ .rstdtl-course-list__img {
    padding-top: 6.5rem;
  }
  .rstdtl-course-list__tieup-mc ~ .rstdtl-course-list__data {
    padding-top: 6.5rem;
  }
  .rstdtl-course-list__data-header {
    display: table;
    width: 100%;
  }
  .rstdtl-course-list__img + .rstdtl-course-list__data .rstdtl-course-list__data-header {
    min-height: 72px;
  }
  .rstdtl-course-list__course-title {
    display: table-cell;
    word-break: break-all;
  }
  .rstdtl-course-list__course-title-text {
    margin-bottom: 0.2rem;
    /* color: #111; */
    font-weight: bold;
    line-height: 1.6;
    font-size: 1.3rem;
  }
  .rstdtl-course-list__course-title-text .rstdtl-course-list__target:hover {
    color: #ff9600;
    text-decoration: underline;
  }
  .rstdtl-course-list.rstdtl-course-list--hotpepper .rstdtl-course-list__course-title-text {
    /* color: #13131e */
  }
  .rstdtl-course-list__dish-count.rstdtl-course-list__dish-count {
    border: 1px solid #e0dccc;
    box-sizing: border-box;
    /* color: #463f2d; */
    background-color: #fff;
    margin-left: 0.5rem;
    padding: 0.1rem 0.3rem;
  }
  .rstdtl-course-list__price-wrap {
    display: table-cell;
    white-space: nowrap;
    vertical-align: top;
    padding-right: 0rem;
  }
  .rstdtl-course-list__price-wrap {
    display: block;
    width: 100%;
    white-space: nowrap;
    vertical-align: top;
    padding-right: 0rem;
    margin-bottom: 1rem;
  }
  .rstdtl-course-list__price-discount {
    display: inline-block;
  }
  .rstdtl-course-list__price-before {
    /* color: #13131e; */
    text-align: left;
    margin-right: 0.5rem;
    margin-bottom: -0.2rem;
    font-size: 0.1rem;
  }
  .rstdtl-course-list__price-hotpepper-discount {
    display: inline-block;
    position: relative;
    margin-bottom: 7px;
    border: solid 1px #d2d2d2;
    border-radius: 2px;
    color: #949499;
    font-weight: bold;
    line-height: 1;
    background-color: #fff;
    padding: 0.4rem 0.5rem 0.3rem;
    font-size: 1rem;
  }
  .rstdtl-course-list__price-hotpepper-discount::before,
  .rstdtl-course-list__price-hotpepper-discount::after {
    display: block;
    position: absolute;
    border: solid transparent;
    width: 0;
    height: 0;
    content: "";
  }
  .rstdtl-course-list__price-hotpepper-discount::before {
    bottom: -7px;
    border-width: 6px 6px 0;
    border-top-color: #d2d2d2;
    right: 3rem;
  }
  .rstdtl-course-list__price-hotpepper-discount::after {
    bottom: -5px;
    border-width: 5px 5px 0;
    border-top-color: #fff;
    right: 3.1rem;
  }
  .rstdtl-course-list__price-num {
    /* color: #000; */
    font-weight: bold;
    font-size: 1.4rem;
  }
  .rstdtl-course-list.rstdtl-course-list--hotpepper .rstdtl-course-list__price-num {
    display: block;
  }
  .rstdtl-course-list__price-num > em {
    margin-right: 2px;
    font-family: Arial, sans-serif;
    font-size: 2rem;
  }
  .rstdtl-course-list__price-num-tax {
    font-weight: normal;
    font-size: 0.6rem;
  }
  .rstdtl-course-list__data-body {
    display: block;
    width: 100%;
    line-height: 1;
    padding-top: 0.5rem;
  }
  .rstdtl-course-list__data-body:before,
  .rstdtl-course-list__data-body:after {
    display: block;
    overflow: hidden;
    content: "";
  }
  .rstdtl-course-list__data-body:after {
    clear: both;
  }
  .rstdtl-course-list__img {
    /*        display: table-cell;*/
    padding: 20px 15px 20px 0;
    width: 200px;
    width: 100%;
  }
  .rstdtl-course-list__img img {
    width: 90%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
  .rstdtl-course-list__img .rstdtl-course-list__target:hover {
    opacity: 0.8;
  }
  .rstdtl-course-list.rstdtl-course-list--hotpepper .rstdtl-course-list__img:hover {
    opacity: 1;
  }
  .rstdtl-course-list__subinfo {
    /*        display: table;*/
    position: relative;
    /*        float: left;*/
    padding-top: 0.5rem;
  }
  .rstdtl-course-list__desc {
    color: #fff;
    line-height: 1.6;
    font-size: 1.2rem;
  }
  .rstdtl-course-list__data-footer {
    float: right;
  }
  .rstdtl-course-list__label {
    margin-left: 5px;
  }
  .rstdtl-course-list__label.rstdtl-course-list__label {
    background-color: #ffd700;
    padding: 0.2rem 0.4rem;
    line-height: 1.1rem;
    font-size: 1.3rem;
    color: #fff;
  }
  .rstdtl-course-list__hotpepper-target::before {
    color: #999;
  }
  .rstdtl-course-list__course-rule {
    display: table-cell;
    white-space: nowrap;
    vertical-align: bottom;
    padding: 0 0 0.3rem 1rem;
  }
  .rstdtl-course-list__course-rule > dt,
  .rstdtl-course-list__course-rule > dd {
    display: inline-block;
  }
  .rstdtl-course-list__course-rule > dd {
    margin-right: 0.5rem;
  }
  .rstdtl-course-list__course-rule-title::before {
    display: inline-block;
    color: #bcb08a;
    vertical-align: -0.1rem;
  }
  .rstdtl-course-list__course-rule-title.rstdtl-course-list__course-rule-title--member::before {
    /* font-family: "Tabelog Glyph"; */
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    speak: none;
    content: "※";
  }
  .rstdtl-course-list__course-rule-title.rstdtl-course-list__course-rule-title--time::before {
    /* font-family: "Tabelog Glyph"; */
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    speak: none;
    content: "※";
  }
  .rstdtl-course-list__course-rule-title > i {
    display: none;
  }
  .rstdtl-course-list__action-btn {
    display: table-cell;
    width: 100px;
    text-align: right;
    vertical-align: top;
    padding-left: 1.2rem;
    color: #fff;
  }
  .rstdtl-course-list__reserve-notice {
    display: block;
    color: #b4b4b4;
    text-indent: -1em;
    padding-left: 1em;
    text-align: left;
    white-space: nowrap;
    vertical-align: middle;
    line-height: 1.2;
    font-size: 0.8rem;
  }
  .rstdtl-course-list__action-btn-target {
    display: block;
    float: right;
    clear: right;
    cursor: pointer;
    white-space: nowrap;
    vertical-align: middle;
    /*        width: 10rem;*/
    /* color: #111; */
  }
  .rstdtl-course-list__action-btn-target + .rstdtl-course-list__action-btn-target {
    margin-top: 0.6rem;
  }
  .rstdtl-course-list__reserve-notice + .rstdtl-course-list__action-btn-target {
    margin-top: 0.6rem;
  }
  .rstdtl-course-list__coupon {
    display: inline-block;
    float: right;
    margin-top: 0.5rem;
  }
  .rstdtl-course-list__coupon-btn {
    float: right;
  }
  .rstdtl-course-list__coupon-contents {
    width: auto;
    text-align: left;
    padding-top: 0.7rem;
  }
  .rstdtl-course-rdimg {
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .rstdtl-course-list__tieup-mc {
    display: table-row;
    position: absolute;
    left: 0;
    z-index: 5;
    border-radius: 6px;
    vertical-align: middle;
    /* background-color: #221815; */
    top: 1.5rem;
  }
  .rstdtl-course-list__tieup-mc:hover {
    opacity: 0.8;
  }
  .rstdtl-course-list__tieup-mc-target {
    display: block;
    box-sizing: border-box;
    padding: 0.6rem 1.2rem 0.6rem 1.5rem;
  }
  .rstdtl-course-list__tieup-mc-target::after {
    color: #fff;
    vertical-align: middle;
  }
  .rstdtl-course-list__tieup-mc-target:hover {
    text-decoration: none;
  }
  .rstdtl-course-list__tieup-mc-logo {
    display: inline-block;
    width: 123px;
    height: 22px;
    background: url("https://tblg.k-img.com/images/shared/tieup/mastercard_pricelessjapan/tieup_logo_mastercard.png?1547477503") no-repeat 0 0;
    background-size: 123px 22px;
    vertical-align: bottom;
  }
  .rstdtl-course-list__tieup-mc-logo > i {
    display: none;
  }
  .rstdtl-course-list__tieup-mc-text {
    display: inline-block;
    color: #fff;
    margin-left: 1rem;
    padding-bottom: 0.2rem;
    font-size: 1.1rem;
  }
  .rstdtl-course-list__tieup-mc-text > em {
    color: #ff9600;
    font-weight: bold;
    margin-right: 0.7rem;
    font-size: 1.3rem;
  }
  .cms_menu___modal--close {
    left: 10px;
  }
}
.tblg-coupon__main-title,
.tblg-coupon__main-contents,
.rstdtl-course-list__coupon,
.tblg-coupon-toggle-btn {
  visibility: hidden;
  width: 0;
  height: 0;
}

#cms_menu__modal {
  z-index: 99999999 !important;
}

.key-icon-link-menu .menu__link {
  width: 320px;
  display: flex;
  justify-content: left;
  padding: 10px 15px;
  color: #14126F;
  background-color: #E9E8FD;
  position: relative;
}
.key-icon-link-menu .menu__link::after {
  content: "";
  background: url(../images/common/icon_key.svg) no-repeat;
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  top: 36%;
  right: 1%;
  margin-left: 2%;
}

.grade-linkbtn {
  font-size: 1rem;
  padding-top: 60em;
}
.grade-linkbtn .grade-linkbtn__block {
  display: flex;
  justify-content: space-between;
}
.grade-linkbtn .grade-linkbtn__block > div:nth-of-type(1) {
  flex-basis: 13%;
}
.grade-linkbtn .grade-linkbtn__block > div:nth-of-type(1) .grade-linkbtn__title {
  display: inline-block;
  width: 4.375em;
  height: 1.875em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32rem;
  font-weight: bold;
}
.grade-linkbtn .grade-linkbtn__block > div:nth-of-type(1) .grade-linkbtn__title span {
  margin-left: 0.2272em;
  font-size: 22rem;
  font-weight: bold;
}
.grade-linkbtn .grade-linkbtn__block > div:nth-of-type(2) {
  flex-basis: 85%;
}
.grade-linkbtn .grade-linkbtn__block > div:nth-of-type(2) .grade-linkbtn__btnwrap {
  display: flex;
  justify-content: right;
  flex-wrap: wrap;
}
.grade-linkbtn .grade-linkbtn__block > div:nth-of-type(2) .grade-linkbtn__btnwrap .grade-linkbtn__btn {
  position: relative;
  min-width: 10em;
  height: 3.333em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18rem;
  font-weight: bold;
  border-radius: 1.944em;
  padding: 0 1.833em;
}
.grade-linkbtn .grade-linkbtn__block > div:nth-of-type(2) .grade-linkbtn__btnwrap .grade-linkbtn__btn:not(:last-of-type) {
  margin-right: 0.556em;
}
.grade-linkbtn .grade-linkbtn__block > div:nth-of-type(2) .grade-linkbtn__btnwrap .grade-linkbtn__btn::after {
  content: "";
  font-size: 1rem;
  width: 6em;
  height: 11.95em;
  position: absolute;
  top: 21em;
  right: 15em;
}
.grade-linkbtn .grade1 .grade-linkbtn__title {
  border: 1px solid #D8D8D8;
  background-color: #fff;
  color: #222;
}
.grade-linkbtn .grade1 .grade-linkbtn__btn {
  border: 3px solid #222;
  color: #222;
}
.grade-linkbtn .grade1 .grade-linkbtn__btn::after {
  background: url(../images/common/icon_arrow_bk.png) no-repeat center top/contain;
}
.grade-linkbtn .grade2 .grade-linkbtn__title {
  background-color: #005AFF;
  color: #fff;
}
.grade-linkbtn .grade2 .grade-linkbtn__btn {
  border: 3px solid #005AFF;
  color: #005AFF;
}
.grade-linkbtn .grade2 .grade-linkbtn__btn::after {
  background: url(../images/common/icon_arrow_bl.png) no-repeat center top/contain;
}
.grade-linkbtn .grade3 .grade-linkbtn__title {
  background-color: #03AF7A;
  color: #fff;
}
.grade-linkbtn .grade3 .grade-linkbtn__btn {
  border: 3px solid #03AF7A;
  color: #03AF7A;
}
.grade-linkbtn .grade3 .grade-linkbtn__btn::after {
  background: url(../images/common/icon_arrow_gr.png) no-repeat center top/contain;
}
.grade-linkbtn .grade4 .grade-linkbtn__title {
  background-color: #FFF100;
  color: #222;
}
.grade-linkbtn .grade4 .grade-linkbtn__btn {
  border: 3px solid #FFF100;
  color: #222;
}
.grade-linkbtn .grade4 .grade-linkbtn__btn::after {
  background: url(../images/common/icon_arrow_bk.png) no-repeat center top/contain;
}
.grade-linkbtn .grade5 .grade-linkbtn__title {
  background-color: #F6AA00;
  color: #222;
}
.grade-linkbtn .grade5 .grade-linkbtn__btn {
  border: 3px solid #F6AA00;
  color: #F6AA00;
}
.grade-linkbtn .grade5 .grade-linkbtn__btn::after {
  background: url(../images/common/icon_arrow_or.png) no-repeat center top/contain;
}
.grade-linkbtn .grade6 .grade-linkbtn__title {
  background-color: #FF4B00;
  color: #fff;
}
.grade-linkbtn .grade6 .grade-linkbtn__btn {
  border: 3px solid #FF4B00;
  color: #FF4B00;
}
.grade-linkbtn .grade6 .grade-linkbtn__btn::after {
  background: url(../images/common/icon_arrow_rd.png) no-repeat center top/contain;
}

.page-template-page-extension-course .search, .page-template-page-news-events .search, .page-template-page-extension-course-past .search {
  background: #eee;
  padding: 30px 40px;
  margin-bottom: 13px;
}
.page-template-page-extension-course .search .search__list, .page-template-page-news-events .search .search__list, .page-template-page-extension-course-past .search .search__list {
  margin-bottom: 20px;
}
.page-template-page-extension-course .search .search__list label, .page-template-page-news-events .search .search__list label, .page-template-page-extension-course-past .search .search__list label {
  display: inline-block;
}
.page-template-page-extension-course .search .search__list .checkbox, .page-template-page-news-events .search .search__list .checkbox, .page-template-page-extension-course-past .search .search__list .checkbox {
  line-height: 25px;
  font-size: 15rem;
  margin-right: 20px;
}
.page-template-page-extension-course .search .search__list .checkbox input, .page-template-page-news-events .search .search__list .checkbox input, .page-template-page-extension-course-past .search .search__list .checkbox input {
  border: 1px solid #aaa;
  border-radius: 3px;
  vertical-align: middle;
  margin-right: 8px;
}
.page-template-page-extension-course .search .search__button, .page-template-page-news-events .search .search__button, .page-template-page-extension-course-past .search .search__button {
  text-align: center;
}
.page-template-page-extension-course .search .search__button input[type=submit], .page-template-page-news-events .search .search__button input[type=submit], .page-template-page-extension-course-past .search .search__button input[type=submit] {
  text-align: center;
  background: #333089;
  font-size: 14rem;
  font-weight: bold;
  color: #fff;
  padding: 10px 30px;
}
.page-template-page-extension-course .search .search__label, .page-template-page-news-events .search .search__label, .page-template-page-extension-course-past .search .search__label {
  font-size: 22rem;
  color: #ff4b00;
  font-weight: bold;
  margin: 40px 0 15px 0;
}

.content__news {
  margin-bottom: 70px;
}
.content__news .content__title {
  margin-bottom: 20px;
}
.content__news .news__list .list__row {
  border-bottom: 1px solid #D8D8D8;
  padding: 20px 0;
}
.content__news .news__list .list__row .row__date {
  width: 100px;
}
.content__news .news__list .list__row .row__cat a {
  padding: 2px 0;
  text-align: center;
  display: inline-block;
  width: 150px;
  font-size: 14rem;
  font-weight: bold;
  color: #14126f;
  border: 1px solid #14126f;
  border-radius: 20px;
}
.content__news .news__list .list__row .row__title {
  width: calc(100% - 250px);
  padding-left: 30px;
}

.course__links {
  margin-bottom: 90px;
}
.course__links a {
  display: inline-block;
  line-height: 20px;
}
.course__links a:not(:last-child) {
  margin-right: 25px;
}
.course__links a img {
  vertical-align: middle;
  margin-right: 6px;
}

.courses .courses_row {
  margin-bottom: 80px;
}
.courses .courses_row .row__title {
  font-size: 18rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.courses .courses_row .row__col:nth-child(1) {
  width: 300px;
  margin-bottom: 30px;
}
.courses .courses_row .row__col:nth-child(1) .col__pic {
  margin-bottom: 20px;
}
.courses .courses_row .row__col:nth-child(1) .col__pic img {
  width: 100%;
}
.courses .courses_row .row__col:nth-child(1) .col__pdf {
  line-height: 20px;
}
.courses .courses_row .row__col:nth-child(1) .col__pdf img {
  height: 20px;
  vertical-align: sub;
  margin-right: 7px;
}
.courses .courses_row .row__col:nth-child(2) {
  width: 750px;
}
.courses .courses_row .row__col:nth-child(2) .about table {
  width: 100%;
  border: none;
  border-top: 1px solid #D8D8D8;
}
.courses .courses_row .row__col:nth-child(2) .about table tr {
  border-bottom: 1px solid #D8D8D8;
}
.courses .courses_row .row__col:nth-child(2) .about table tr td, .courses .courses_row .row__col:nth-child(2) .about table tr th {
  border: none;
}
.courses .courses_row .row__col:nth-child(2) .about table tr th {
  width: 150px;
  font-weight: normal;
}
.courses .courses_row .row__col:nth-child(2) .about table tr td {
  padding: 25px 0;
}
.courses .courses_row .row__col:nth-child(2) .about table tr td p:last-child {
  margin-bottom: 0;
}
.courses .courses_row .row__col .about a {
  text-decoration: underline;
  color: #2A62C7;
  font-weight: bold;
}

.page-template-page-news-events .search {
  padding: 0;
  margin-bottom: 70px;
}
.page-template-page-news-events .search .search__title {
  background: #333089;
  color: #fff;
  font-weight: bold;
  padding: 10px 20px;
  font-size: 18rem;
  position: relative;
}
.page-template-page-news-events .search .search__title .toggle {
  background: url(../images/common/minus_w.svg) no-repeat center;
  background-size: contain;
  width: 20px;
  height: 20px;
  display: inline-block;
  position: absolute;
  top: 14px;
  right: 20px;
}
.page-template-page-news-events .search .search__title .toggle.closed {
  background-image: url(../images/common/plus_w.svg);
}
.page-template-page-news-events .search form {
  padding: 30px 40px;
  display: block;
}
.page-template-page-news-events .search .search__list .checkbox {
  margin-right: 15px;
  line-height: 45px;
}
.page-template-page-news-events .search .search__list .checkbox input {
  display: none;
}
.page-template-page-news-events .search .search__list .checkbox input + span {
  background-color: #fff;
  padding: 10px 20px;
  color: #333089;
  transition: background-color 0.3s, color 0.3s;
  border-radius: 30px;
  border: 2px solid #333089;
}
.page-template-page-news-events .search .search__list .checkbox input:checked + span {
  background-color: #333089;
  color: #fff;
}
.page-template-page-news-events .search .search__button {
  margin-bottom: 25px;
}
.page-template-page-news-events .search .search__button input[type=submit] {
  padding: 8px 0;
  line-height: 1.8em;
  border-width: 1px;
  width: 170px;
  margin: 0 5px;
}
.page-template-page-news-events .search .search__button input[type=button] {
  background: #fff;
  color: #333089;
  line-height: 1.8em;
  padding: 8px 0;
  font-size: 14rem;
  font-weight: bold;
  border: 1px solid #333089;
  width: 170px;
  margin: 0 5px;
}
.page-template-page-news-events .selected .selected__row span {
  border: 1px solid #000;
  display: inline-block;
  padding: 5px 20px;
  line-height: 1em;
  font-size: 13rem;
}
.page-template-page-news-events .articles {
  border-top: 1px solid #D8D8D8;
}
.page-template-page-news-events .articles .article_row {
  padding: 30px 0;
  border-bottom: 1px solid #D8D8D8;
}
.page-template-page-news-events .articles .article_row .row__date {
  width: 120px;
}
.page-template-page-news-events .articles .article_row .row__about {
  width: calc(100% - 120px);
}
.page-template-page-news-events .articles .article_row .row__about .about__title {
  font-size: inherit;
  font-weight: bold;
  font-weight: normal;
  border: none;
  margin-bottom: 8px;
}
.page-template-page-news-events .articles .article_row .row__about .about__title a {
  color: #000;
}
.page-template-page-news-events .articles .article_row .row__about .about__category a {
  display: inline-block;
  padding: 5px 20px;
  line-height: 1em;
  font-size: 13rem;
  margin-right: 5px;
}
.page-template-page-news-events .articles .article_row .row__about .about__category a.category-button {
  background-color: #fff;
  padding: 10px 20px;
  color: #333089;
  transition: background-color 0.3s, color 0.3s;
  border-radius: 30px;
  border: 2px solid #333089;
}
.page-template-page-news-events .articles .article_row .row__about .about__category a.tag-button {
  padding: 5px 10px;
}

/* 投稿記事はニュースページと同じデザイン */
.single-post .article, .page-template-page-news-events-detail .article {
  margin-bottom: 70px;
}
.single-post .article .article__meta, .page-template-page-news-events-detail .article .article__meta {
  margin-bottom: 50px;
}
.single-post .article .article__meta .meta__date, .page-template-page-news-events-detail .article .article__meta .meta__date {
  display: inline-block;
  width: 110px;
  font-weight: bold;
}
.single-post .article .article__meta .meta__cat a, .page-template-page-news-events-detail .article .article__meta .meta__cat a {
  display: inline-block;
  line-height: 1em;
  font-size: 13rem;
  margin-right: 5px;
}
.single-post .article .article__meta .meta__cat a.category-button, .page-template-page-news-events-detail .article .article__meta .meta__cat a.category-button {
  background-color: #fff;
  padding: 10px 20px;
  color: #333089;
  transition: background-color 0.3s, color 0.3s;
  border-radius: 30px;
  border: 2px solid #333089;
}
.single-post .article .article__meta .meta__cat a.tag-button, .page-template-page-news-events-detail .article .article__meta .meta__cat a.tag-button {
  padding: 5px 10px;
}
.single-post .article .article__text a, .page-template-page-news-events-detail .article .article__text a {
  text-decoration: underline;
  color: #2A62C7;
  font-weight: bold;
}
.single-post .article .article__title, .page-template-page-news-events-detail .article .article__title {
  margin-bottom: 50px;
  font-weight: bold;
  color: #333089;
}

.pressrelease.list .articles {
  margin-bottom: 50px;
}
.pressrelease.list .articles .article_row {
  border-bottom: 1px solid #999;
  padding: 30px 0;
}
.pressrelease.list .articles .article_row .row__date {
  width: 150px;
}
.pressrelease.list .articles .article_row .row__about {
  width: calc(100% - 150px);
}

.page-template-page-press .articles, .page-template-page-research-highlight .articles {
  margin-bottom: 50px;
}
.page-template-page-press .articles .article_row, .page-template-page-research-highlight .articles .article_row {
  border-bottom: 1px solid #999;
  padding: 30px 0;
}
.page-template-page-press .articles .article_row .row__date, .page-template-page-research-highlight .articles .article_row .row__date {
  width: 150px;
}
.page-template-page-press .articles .article_row .row__about, .page-template-page-research-highlight .articles .article_row .row__about {
  width: calc(100% - 150px);
}

.page-template-page-press-detail .article, .page-template-page-research-highlight-detail .article {
  margin-bottom: 70px;
}
.page-template-page-press-detail .article .article__meta, .page-template-page-research-highlight-detail .article .article__meta {
  margin-bottom: 50px;
}
.page-template-page-press-detail .article .article__meta .meta__date, .page-template-page-research-highlight-detail .article .article__meta .meta__date {
  display: inline-block;
  width: 110px;
}
.page-template-page-press-detail .article .article__title, .page-template-page-research-highlight-detail .article .article__title {
  margin-bottom: 50px;
  font-weight: bold;
  color: #333089;
}
.page-template-page-press-detail .article .article__text, .page-template-page-research-highlight-detail .article .article__text {
  margin-bottom: 30px;
}
.page-template-page-press-detail .article .article__text a, .page-template-page-research-highlight-detail .article .article__text a {
  text-decoration: underline;
  color: #2A62C7;
  font-weight: bold;
}
.page-template-page-press-detail .article .article__file a, .page-template-page-research-highlight-detail .article .article__file a {
  text-decoration: underline;
}

.page-template-page-media table colgroup col.date {
  width: 150px;
}
.page-template-page-media table colgroup col.type {
  width: 80px;
}
.page-template-page-media table colgroup col.media {
  width: 180px;
}
.page-template-page-media table colgroup col.person {
  width: 210px;
}
.page-template-page-media table td, .page-template-page-media table th {
  border-color: #D8D8D8;
}
.page-template-page-media table td {
  padding: 15px 15px;
}
.page-template-page-media table thead th {
  background: #E9E8FD;
}
.page-template-page-media table tbody tr:nth-child(2n) {
  background: #F5F5F5;
}

/* リスト */
.wp-block-lazyblock-list-02-text ol {
  counter-reset: section;
  list-style: none;
  padding: 0;
}
.wp-block-lazyblock-list-02-text ol li {
  position: relative;
  counter-increment: section;
  margin-bottom: 35px;
}
.wp-block-lazyblock-list-02-text ol li:before {
  position: absolute;
  content: "第 " counter(section) " 条";
  font-weight: bold;
  font-size: 18rem;
}
.wp-block-lazyblock-list-02-text ol li .li__label {
  font-weight: bold;
  margin-left: 4em;
  font-size: 18rem;
  margin-bottom: 8px;
}
.wp-block-lazyblock-list-02-text ol li ol {
  list-style: decimal;
  padding-left: 1.4em;
}
.wp-block-lazyblock-list-02-text ol li ol li {
  margin-bottom: 5px;
}
.wp-block-lazyblock-list-02-text ol li ol li:before {
  content: none;
}

.wp-block-lazyblock-list-01-number ol {
  counter-reset: section;
  list-style: none;
  padding: 0;
}
.wp-block-lazyblock-list-01-number ol li {
  font-size: 16rem;
  counter-increment: section;
  margin-bottom: 25px;
}
.wp-block-lazyblock-list-01-number ol li:before {
  position: absolute;
  content: counter(section) ".";
  font-weight: bold;
  font-size: 24rem;
  line-height: 0.917em;
  color: #14126f;
}
.wp-block-lazyblock-list-01-number ol li .li__label {
  margin-left: 2em;
  font-size: 16rem;
  line-height: 1.25em;
}

.page-template-page-search-php .gsc-control-cse {
  padding: 0;
}

.page-template-page-university-medicine-admission .content__news, .page-template-page-university-medicine-admission_test .content__news, .page-template-page-university-nursing-admission .content__news {
  margin-bottom: 0;
}
.page-template-page-university-medicine-admission .news__list .content__title, .page-template-page-university-medicine-admission_test .news__list .content__title, .page-template-page-university-nursing-admission .news__list .content__title {
  margin-bottom: 10px;
}
.page-template-page-university-medicine-admission .news__list .list__row, .page-template-page-university-medicine-admission_test .news__list .list__row, .page-template-page-university-nursing-admission .news__list .list__row {
  border-bottom: 1px solid #D8D8D8;
  padding: 20px 0;
}
.page-template-page-university-medicine-admission .news__list .list__row .row__date, .page-template-page-university-medicine-admission_test .news__list .list__row .row__date, .page-template-page-university-nursing-admission .news__list .list__row .row__date {
  width: 100px;
}
.page-template-page-university-medicine-admission .news__list .list__row .row__cat, .page-template-page-university-medicine-admission_test .news__list .list__row .row__cat, .page-template-page-university-nursing-admission .news__list .list__row .row__cat {
  width: 150px;
}
.page-template-page-university-medicine-admission .news__list .list__row .row__cat a, .page-template-page-university-medicine-admission_test .news__list .list__row .row__cat a, .page-template-page-university-nursing-admission .news__list .list__row .row__cat a {
  padding: 2px 0;
  text-align: center;
  display: inline-block;
  width: 150px;
  font-size: 14rem;
  font-weight: bold;
  color: #14126f;
  border: 1px solid #14126f;
  border-radius: 20px;
}
.page-template-page-university-medicine-admission .news__list .list__row .row__title, .page-template-page-university-medicine-admission_test .news__list .list__row .row__title, .page-template-page-university-nursing-admission .news__list .list__row .row__title {
  width: calc(100% - 250px);
  padding-left: 30px;
}
.page-template-page-university-medicine-admission .examinfo, .page-template-page-university-medicine-admission_test .examinfo, .page-template-page-university-nursing-admission .examinfo {
  border: 1px solid #aaa;
  padding: 40px 30px 10px 30px;
  border-radius: 20px;
}
.page-template-page-university-medicine-admission .examinfo .info__body, .page-template-page-university-medicine-admission_test .examinfo .info__body, .page-template-page-university-nursing-admission .examinfo .info__body {
  display: flex;
  justify-content: space-between;
  width: 320px;
  margin: 0 auto 10px auto;
}
.page-template-page-university-medicine-admission .examinfo .info__body .info__rank .num, .page-template-page-university-medicine-admission_test .examinfo .info__body .info__rank .num, .page-template-page-university-nursing-admission .examinfo .info__body .info__rank .num {
  font-size: 60rem;
  line-height: 1em;
}
.page-template-page-university-medicine-admission .examinfo .info__time, .page-template-page-university-medicine-admission_test .examinfo .info__time, .page-template-page-university-nursing-admission .examinfo .info__time {
  text-align: right;
  font-size: 14rem;
}
.page-template-page-university-medicine-admission .selection-buttons, .page-template-page-university-medicine-admission_test .selection-buttons, .page-template-page-university-nursing-admission .selection-buttons {
  padding: 25px 0;
}
.page-template-page-university-medicine-admission .selection-buttons a, .page-template-page-university-medicine-admission_test .selection-buttons a, .page-template-page-university-nursing-admission .selection-buttons a {
  background: #F29D4B;
  color: #fff;
  font-size: 20rem;
  padding: 13px 50px 13px 71px;
  border-radius: 50px;
  font-weight: bold;
  position: relative;
  line-height: 49px;
  width: 90%;
  display: block;
  text-align: center;
  margin: 30px auto;
}
.page-template-page-university-medicine-admission .selection-buttons a::after, .page-template-page-university-medicine-admission_test .selection-buttons a::after, .page-template-page-university-nursing-admission .selection-buttons a::after {
  display: inline-block;
  content: "";
  background: url(../images/common/arrow_right_w.svg) no-repeat;
  width: 6px;
  height: 14px;
  position: absolute;
  top: 30px;
  right: 30px;
}
.page-template-page-university-medicine-admission .selection-buttons a, .page-template-page-university-medicine-admission_test .selection-buttons a, .page-template-page-university-nursing-admission .selection-buttons a {
  /*
  &:nth-child(1){
      background: #EB7A90;

      img{
          vertical-align: middle;
          position: relative;
          top: -3px;
          margin-right: 20px;
      }
  }

  &:nth-child(2){
      background: #DB9A42;
  }

  &:nth-child(3){
      background: #14126f;
  }
  */
}
.page-template-page-university-medicine-admission .selection-buttons a:nth-child(1) img, .page-template-page-university-medicine-admission_test .selection-buttons a:nth-child(1) img, .page-template-page-university-nursing-admission .selection-buttons a:nth-child(1) img {
  vertical-align: middle;
  position: relative;
  top: -3px;
  margin-right: 20px;
}
.page-template-page-university-medicine-admission .selection-buttons a.button_announcement, .page-template-page-university-medicine-admission_test .selection-buttons a.button_announcement, .page-template-page-university-nursing-admission .selection-buttons a.button_announcement {
  background: #EB7A90;
}
.page-template-page-university-medicine-admission .selection-buttons a.button_summary, .page-template-page-university-medicine-admission_test .selection-buttons a.button_summary, .page-template-page-university-nursing-admission .selection-buttons a.button_summary {
  background: #DB9A42;
}
.page-template-page-university-medicine-admission .selection-buttons a.button_guidebook, .page-template-page-university-medicine-admission_test .selection-buttons a.button_guidebook, .page-template-page-university-nursing-admission .selection-buttons a.button_guidebook {
  background: #14126f;
}
.page-template-page-university-medicine-admission .selection-menu .menu__block, .page-template-page-university-medicine-admission_test .selection-menu .menu__block, .page-template-page-university-nursing-admission .selection-menu .menu__block {
  width: 48%;
  margin-bottom: 40px;
}
.page-template-page-university-medicine-admission .selection-menu .menu__sns, .page-template-page-university-medicine-admission_test .selection-menu .menu__sns, .page-template-page-university-nursing-admission .selection-menu .menu__sns {
  margin-top: 50px;
}
.page-template-page-university-medicine-admission .selection-menu .menu__sns .menu__button a, .page-template-page-university-medicine-admission_test .selection-menu .menu__sns .menu__button a, .page-template-page-university-nursing-admission .selection-menu .menu__sns .menu__button a {
  background: #14126f;
  color: #fff;
  font-size: 15rem;
  border-radius: 30px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding: 2px;
}
.page-template-page-university-medicine-admission .selection-menu .menu__sns .menu__button a span, .page-template-page-university-medicine-admission_test .selection-menu .menu__sns .menu__button a span, .page-template-page-university-nursing-admission .selection-menu .menu__sns .menu__button a span {
  background: #14126f;
  border: 2px solid #fff;
  padding: 13px 50px 13px 71px;
  border-radius: 30px;
  line-height: 22px;
  display: inline-block;
  position: relative;
}
.page-template-page-university-medicine-admission .selection-menu .menu__sns .menu__button a span::before, .page-template-page-university-medicine-admission_test .selection-menu .menu__sns .menu__button a span::before, .page-template-page-university-nursing-admission .selection-menu .menu__sns .menu__button a span::before {
  display: inline-block;
  content: "";
  background: url(../images/common/icon_megaphone.svg) no-repeat;
  width: 34px;
  height: 20px;
  position: absolute;
  top: 14px;
  left: 27px;
}
.page-template-page-university-medicine-admission .selection-menu .menu__sns .menu__button a span::after, .page-template-page-university-medicine-admission_test .selection-menu .menu__sns .menu__button a span::after, .page-template-page-university-nursing-admission .selection-menu .menu__sns .menu__button a span::after {
  display: inline-block;
  content: "";
  background: url(../images/common/arrow_right_w.svg) no-repeat;
  width: 6px;
  height: 14px;
  position: absolute;
  top: 17px;
  right: 25px;
}

.page-template-page-university-medicine-admission_opencampus #about, .page-template-page-university-medicine-admission_orientation #about {
  padding-bottom: 20px;
}
.page-template-page-university-medicine-admission_opencampus #about .about__header, .page-template-page-university-medicine-admission_orientation #about .about__header {
  margin-bottom: 60px;
}
.page-template-page-university-medicine-admission_opencampus #about .about__header .about__closed, .page-template-page-university-medicine-admission_orientation #about .about__header .about__closed {
  color: #b40000;
  font-weight: bold;
  margin-bottom: 30px;
}
.page-template-page-university-medicine-admission_opencampus #about .about__row, .page-template-page-university-medicine-admission_orientation #about .about__row {
  margin-bottom: 60px;
}
.page-template-page-university-medicine-admission_opencampus #about .about__row .h3-02, .page-template-page-university-medicine-admission_orientation #about .about__row .h3-02 {
  margin-bottom: 10px;
}
.page-template-page-university-medicine-admission_opencampus #about .about__row .row__date, .page-template-page-university-medicine-admission_orientation #about .about__row .row__date {
  font-weight: bold;
  margin: 10px 0 10px 0;
}
.page-template-page-university-medicine-admission_opencampus #about .about__row .row__date .closed, .page-template-page-university-medicine-admission_orientation #about .about__row .row__date .closed {
  background: #b40000;
  color: #fff;
  padding: 2px 10px;
  border-radius: 4px;
  margin-left: 20px;
}
.page-template-page-university-medicine-admission_opencampus #about .about__row .row__pdf .menu__l1, .page-template-page-university-medicine-admission_orientation #about .about__row .row__pdf .menu__l1 {
  padding: 0;
  border: none;
}

.page-template-page-university-medicine-admission_orientation #about .about__row:last-child {
  margin-bottom: 0;
}
.page-template-page-university-medicine-admission_orientation #about .about__row .row__pdf {
  margin-bottom: 15px;
}
.page-template-page-university-medicine-admission_orientation #about .about__row .row__pdf .list {
  list-style: none;
  padding-left: 0;
}
.page-template-page-university-medicine-admission_orientation #about .about__row .row__pdf .list .menu__l1 a i {
  font-size: 20px;
  position: relative;
  top: 2px;
  margin-right: 15px;
}

.page-template-page-university-society-student-activity-results-trial-lesson .list, .page-template-page-university-society-student-activity-results-school-visit .list, .page-template-page-university-society-student-activity-results-science .list {
  margin-bottom: 80px;
}
.page-template-page-university-society-student-activity-results-trial-lesson .list .table-05 tr td, .page-template-page-university-society-student-activity-results-trial-lesson .list .table-05 tr th, .page-template-page-university-society-student-activity-results-school-visit .list .table-05 tr td, .page-template-page-university-society-student-activity-results-school-visit .list .table-05 tr th, .page-template-page-university-society-student-activity-results-science .list .table-05 tr td, .page-template-page-university-society-student-activity-results-science .list .table-05 tr th {
  width: auto;
}
.page-template-page-university-society-student-activity-results-trial-lesson .list .table-05 tr a, .page-template-page-university-society-student-activity-results-school-visit .list .table-05 tr a, .page-template-page-university-society-student-activity-results-science .list .table-05 tr a {
  position: relative;
  padding-left: 75px;
}
.page-template-page-university-society-student-activity-results-trial-lesson .list .table-05 tr a::before, .page-template-page-university-society-student-activity-results-school-visit .list .table-05 tr a::before, .page-template-page-university-society-student-activity-results-science .list .table-05 tr a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: "PDF";
  background: #C80000;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 14rem;
  line-height: 22px;
  width: 60px;
}

.tab-menu-02 ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
  border-bottom: 1px solid #6A6A6A;
  font-size: 18rem;
  font-weight: bold;
  text-align: center;
  padding: 0;
}
.tab-menu-02 ul li {
  width: 100%;
}
.tab-menu-02 ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  height: 100%;
  background: #F5F5F5;
  font-size: 15rem;
  color: #6A6A6A;
}
.tab-menu-02 ul li.current a {
  background: #6A6A6A;
  color: #fff;
}

.menu-h01 {
  color: #fff;
  padding: 20px;
}
.menu-h01 .menu-h01__head {
  font-size: 1.1em;
}
.menu-h01.color-01 {
  background-color: #195ACE;
}
.menu-h01.color-02 {
  background-color: #003798;
}

.link-menu-05 {
  color: #fff;
  position: relative;
}
.link-menu-05 a {
  width: 100%;
  padding: 26px 20px;
  text-decoration: none;
  font-size: 1.1em;
  display: block;
}
.link-menu-05 a::after {
  content: "";
  background: url(../images/common/arrow_right.svg) no-repeat;
  display: block;
  width: 22px;
  height: 22px;
  position: absolute;
  right: 0;
  top: 42%;
}
.link-menu-05.color-01 {
  background-color: #E3EEFB;
}
.link-menu-05.color-02 {
  background-color: #D5E1F0;
}

.zone-01 {
  background-color: #D8D8D8;
  font-size: 1rem;
  padding: 0 8em 8em 8em;
}
.zone-01 div:nth-of-type(1) {
  font-size: 22rem;
  font-weight: bold;
  text-align: center;
  padding: 0.8em 0;
}
.zone-01 div:nth-of-type(2) {
  font-size: 16rem;
  background-color: #fff;
  padding: 1.6em 1.7em 0.6em;
}
.zone-01 div:nth-of-type(2) p {
  line-height: 1.8;
}
.zone-01 div.zone-01__name {
  font-weight: bold;
  margin-bottom: 10px;
  padding: 0 0 5px 0;
}

.label-01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 16rem;
}
.label-01 ul {
  padding: 1.2em 0 1em;
  border: 2px solid #14126f;
  flex-basis: 32.5%;
}
.label-01 ul li {
  text-align: center;
  font-size: 20rem;
  list-style: none;
  color: #14126f;
}
.label-01 ul li span.label-01__bold {
  font-weight: bold;
}
.label-01::after {
  content: "";
  display: block;
  flex-basis: 32.5%;
}

.label-02 {
  display: flex;
  margin-top: 10px;
  flex-wrap: wrap;
  line-height: 1.5;
}
.label-02 .label-02__block {
  margin-bottom: -4px;
  margin-right: 8px;
}
.label-02 .label-02__block > span {
  display: inline-block;
  min-width: 90px;
  margin-bottom: 4px;
  margin-right: 4px;
  padding: 5px 20px 5px;
  border: 2px solid #14126f;
  border-radius: 30px;
  background-color: #fff;
  color: #14126f;
  font-size: 15rem;
  font-weight: bold;
  vertical-align: middle;
  text-align: center;
}

.adobe-link {
  font-size: 18rem;
  font-weight: bold;
  color: #fff;
  background-color: #A10004;
  width: 13.8em;
  height: 2.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.word-link-menu-01 {
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
  margin: 20px 0;
}
.word-link-menu-01 a {
  font-size: 18rem;
  position: relative;
  padding-left: 75px;
  display: inline-block;
}
.word-link-menu-01 a::before {
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  content: "WORD";
  background: #0258BC;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 14rem;
  line-height: 22px;
  width: 60px;
}

.excel-link-menu-01 {
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
  margin: 20px 0;
}
.excel-link-menu-01 a {
  font-size: 18rem;
  position: relative;
  padding-left: 75px;
  display: inline-block;
}
.excel-link-menu-01 a::before {
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  content: "EXCEL";
  background: #0F7003;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 14rem;
  line-height: 22px;
  width: 60px;
}

.list-05 ul {
  list-style: none;
  padding-left: 18px;
  margin: 0;
}
.list-05 ul li {
  margin-bottom: 10px;
  line-height: 1.6;
  position: relative;
}
.list-05 ul li::before {
  content: "";
  position: absolute;
  top: 10px;
  border-radius: 50%;
  background: #14126f;
  left: -18px;
  width: 10px;
  height: 10px;
}

p:has(> .dot) {
  position: relative;
  padding-left: 18px; /* 10px dot + 8px gap */
}

.dot {
  position: absolute;
  left: 0;
  top: 0.35em;
  display: block;
  width: 10px;
  margin: 0;
}
.dot::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #14126f;
  margin-top: 7px;
}

.list-number {
  font-size: 16rem;
  padding-left: 1.5em;
}
.list-number a {
  text-decoration: underline;
}
.list-number li {
  list-style: none;
  counter-increment: cnt;
  position: relative;
}
.list-number li::before {
  content: counter(cnt) ".";
  position: absolute;
  top: 0;
  left: -1.5em;
  font-weight: bold;
}
.list-number li p {
  margin-bottom: 5px;
}

.interview-all {
  font-size: 16rem;
}
.interview-all > a:hover {
  text-decoration: underline;
}
.interview-all > img {
  width: 100%;
  height: auto;
}
.interview-all .interview-all__label {
  font-size: 21rem;
  font-weight: bold;
  line-height: 1.3;
  margin: 1.2em 0 0.75em;
}
.interview-all .interview-all__course {
  font-size: 18rem;
  line-height: 1.3;
  margin-bottom: 0.45em;
}
.interview-all .interview-all__block {
  display: flex;
  justify-content: space-between;
  line-height: 1.3;
}
.interview-all .interview-all__block > div {
  flex-basis: 49%;
}
.interview-all .interview-all__block > div:nth-of-type(1) {
  padding-right: 0.5em;
  font-size: 18rem;
}
.interview-all .interview-all__block > div:nth-of-type(2) {
  font-size: 17rem;
  min-width: 150px;
  text-align: right;
}

.senior-message-01 {
  font-size: 17rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.senior-message-01 > img {
  width: 100%;
  height: auto;
}
.senior-message-01 .senior-message-01__department1 {
  background-color: #14126f;
  color: #fff;
  font-weight: bold;
  display: flex;
  align-items: center;
  height: 47px;
  padding-left: 18px;
}
.senior-message-01 .senior-message-01__block {
  border: 1px solid #ddd;
  margin-bottom: 20px;
  background-color: #f4f4f4;
}
.senior-message-01 .senior-message-01__block.senior-message-01__match_height {
  flex: 1;
}
.senior-message-01 .senior-message-01__block .senior-message-01__department2 {
  display: flex;
  align-items: center;
  height: 47px;
  padding-left: 18px;
  background-color: #fff;
}
.senior-message-01 .senior-message-01__block .senior-message-01__message {
  background-color: #f4f4f4;
  padding: 14px 18px 0 18px;
  border-top: 1px solid #ddd;
}
.senior-message-01 .senior-message-01__btn a {
  margin: 0 auto;
  max-width: 100%;
}

.interview-detail-circleimage-text {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
.interview-detail-circleimage-text > div:nth-of-type(1) {
  width: 130px;
  margin-right: 50px;
  position: relative;
}
.interview-detail-circleimage-text > div:nth-of-type(1) img {
  width: 100%;
  height: auto;
}
.interview-detail-circleimage-text > div:nth-of-type(1)::after {
  content: "";
  width: 30px;
  height: 1px;
  background-color: #7f7f7f;
  position: absolute;
  right: -30px;
  top: calc(50% - 1px);
}
.interview-detail-circleimage-text > div:nth-of-type(2) {
  width: calc(100% - 175px);
  color: #333;
  line-height: 1.75;
  font-size: 16px;
}
.interview-detail-circleimage-text > div:nth-of-type(2) p {
  margin: 0;
  padding: 0;
}
.interview-detail-circleimage-text.interview-detail-circleimage-text--turn {
  flex-direction: row-reverse;
  justify-content: right;
}
.interview-detail-circleimage-text.interview-detail-circleimage-text--turn > div:nth-of-type(1) {
  margin-right: 0;
  margin-left: 45px;
}
.interview-detail-circleimage-text.interview-detail-circleimage-text--turn > div:nth-of-type(1)::after {
  left: -30px;
}
.interview-detail-circleimage-text.interview-detail-circleimage-text--turn > div:nth-of-type(2) {
  width: initial;
  max-width: calc(100% - 175px);
  text-align: left;
}

.interview-detail-profile {
  border: 1px solid #b0c2d4;
  position: relative;
  padding: 50px 50px;
}
.interview-detail-profile::before {
  content: "";
  border: 1px solid #b0c2d4;
  position: absolute;
  top: 6px;
  left: 6px;
  right: 6px;
  bottom: 6px;
  pointer-events: none;
}
.interview-detail-profile > p {
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 28px;
  margin-bottom: 60px;
  color: #14126f;
  position: relative;
}
.interview-detail-profile > p::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  background-color: #14126f;
  position: absolute;
  bottom: -15px;
  left: calc(50% - 24px);
}
.interview-detail-profile .interview-detail-profile__block {
  display: flex;
}
.interview-detail-profile .interview-detail-profile__block > div {
  width: calc(50% - 24px);
}
.interview-detail-profile .interview-detail-profile__block > div:nth-of-type(1) {
  margin-right: 48px;
  position: relative;
}
.interview-detail-profile .interview-detail-profile__block > div:nth-of-type(1)::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #e1e1e1;
  right: -24px;
  top: 0;
}
.interview-detail-profile .interview-detail-profile__block > div .interview-detail-profile__text {
  margin: 0;
  padding: 0;
  margin-top: 30px;
  font-size: 16px;
  line-height: 1.75;
}
.interview-detail-profile .interview-detail-profile__block > div .interview-detail-profile__text p {
  margin: 0;
  padding: 0;
}
.interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name {
  display: flex;
  align-items: center;
}
.interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name > div:nth-of-type(1) {
  width: 180px;
  margin-right: 20px;
}
.interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name > div:nth-of-type(1) img {
  width: 100%;
  height: auto;
}
.interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name > div:nth-of-type(2) {
  font-size: 16px;
  line-height: 1.8;
}
.interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name > div:nth-of-type(2) > span {
  font-size: 20px;
  line-height: 1.2;
  display: inline-block;
  padding-top: 5px;
}
.interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name > div:nth-of-type(2) > span > span {
  font-size: 14px;
  display: inline-block;
}
.interview-detail-profile .interview-detail-profile__linkblock {
  display: flex;
  justify-content: center;
  gap: 0 20px;
  margin: 50px auto 0;
}
.interview-detail-profile .interview-detail-profile__linkblock .interview-detail-profile__link {
  width: 100%;
  max-width: 540px;
}
.interview-detail-profile .interview-detail-profile__linkblock .interview-detail-profile__link a {
  border: 1px solid #14126f;
  border-radius: 100px;
  padding: 15px 40px;
  background: #14126f;
  color: #fff;
  font-weight: bold;
  display: block;
  width: 100%;
  text-align: center;
  transition: all 0.3s;
  margin: 0 auto;
  position: relative;
  line-height: 1.5;
}
.interview-detail-profile .interview-detail-profile__linkblock .interview-detail-profile__link a:after {
  background: url(../images/common/icon_blank_white.png) no-repeat 0 0/cover;
  content: "";
  width: 10.5px;
  height: 10.5px;
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.interview-detail-profile .interview-detail-profile__linkblock .interview-detail-profile__link a:nth-of-type(2) {
  display: none;
}
.interview-detail-profile .interview-detail-profile__linkblock .interview-detail-profile__link a p {
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 768px) {
  .table-02.row-scroll {
    overflow-x: scroll;
  }
  .table-02.row-scroll table {
    min-width: 900px !important;
  }
  .table-02.row-scroll table colgroup col {
    width: auto !important;
  }
  .table-02.row-scroll table colgroup col:nth-child(1) {
    width: var(--col1-width-sp, auto) !important;
  }
  .table-02.row-scroll table[data-col2sp="1"] colgroup col:nth-child(2) {
    width: var(--col2-width-sp) !important;
  }
  .wp-block-lazyblock-table-02.small .table-02.row-scroll table,
  [class*=lazyblock-table-02].small .table-02.row-scroll table,
  .small .table-02.row-scroll table {
    min-width: 0 !important;
  }
}
.image-cap-text-01 {
  display: flex;
  justify-content: space-between;
  gap: 0 48px;
}
.image-cap-text-01 .caption {
  font-size: 14rem;
}
.image-cap-text-01 > div:nth-of-type(1) {
  flex-basis: 50%;
  text-align: center;
}
.image-cap-text-01 > div:nth-of-type(1) img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto 5px;
}
.image-cap-text-01 > div:nth-of-type(1) img:nth-of-type(2) {
  display: none;
}
.image-cap-text-01 > div:nth-of-type(1) > p {
  text-align: center;
  font-size: 15px;
  word-break: break-all;
  margin: 0;
  padding: 0;
}
.image-cap-text-01 > div:nth-of-type(2) {
  flex: 1;
}
.image-cap-text-01 > div:nth-of-type(2) > p {
  line-height: 1.75;
  margin: 0;
  padding: 0;
}
.image-cap-text-01.image-cap-text-01--left {
  flex-direction: row-reverse;
}

.forward-back-btnset-01 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: 0 5%;
}
.forward-back-btnset-01 > div {
  margin: 50px 0;
}
.forward-back-btnset-01 > div a {
  border: 1px solid #14126f;
  border-radius: 30px;
  padding: 15px 40px;
  background: #14126f;
  color: #fff;
  font-weight: bold;
  display: block;
  text-align: center;
  transition: all 0.3s;
  margin: 0 auto;
  position: relative;
  font-size: 16px;
}
.forward-back-btnset-01 > div a::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
}
.forward-back-btnset-01 > div:nth-of-type(1) {
  flex-basis: 18%;
  min-width: 200px;
}
.forward-back-btnset-01 > div:nth-of-type(1) a::before {
  left: 0;
  background: url(../images/common/arr_prev.png) no-repeat 20px center;
  background-size: 10px;
}
.forward-back-btnset-01 > div:nth-of-type(2) {
  flex-basis: 50%;
}
.forward-back-btnset-01 > div:nth-of-type(3) {
  flex-basis: 18%;
  min-width: 200px;
}
.forward-back-btnset-01 > div:nth-of-type(3) a::before {
  background: url(../images/common/arr_next.png) no-repeat right center;
  background-size: 10px;
  left: auto;
  right: 20px;
}

.forward-back-btnset-02 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: 0 15px;
  width: 100%;
  margin: 0 auto;
}
.forward-back-btnset-02 > div {
  margin: 50px 0;
}
.forward-back-btnset-02 > div a {
  border: 1px solid #14126f;
  border-radius: 30px;
  padding: 12px 30px;
  background: #14126f;
  color: #fff;
  font-weight: bold;
  display: block;
  text-align: center;
  transition: all 0.3s;
  margin: 0 auto;
  position: relative;
  font-size: 15px;
  word-break: keep-all;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}
.forward-back-btnset-02 > div a::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
}
.forward-back-btnset-02 > div:nth-of-type(1) {
  flex-basis: 40%;
  min-width: 200px;
}
.forward-back-btnset-02 > div:nth-of-type(1) a::before {
  left: 0;
  background: url(../images/common/arr_prev.png) no-repeat 20px center;
  background-size: 10px;
}
.forward-back-btnset-02 > div:nth-of-type(2) {
  flex-basis: 13%;
  min-width: 150px;
}
.forward-back-btnset-02 > div:nth-of-type(3) {
  flex-basis: 40%;
  min-width: 200px;
}
.forward-back-btnset-02 > div:nth-of-type(3) a::before {
  background: url(../images/common/arr_next.png) no-repeat right center;
  background-size: 10px;
  left: auto;
  right: 15px;
}

.wp-block-lazyblock-chronology {
  margin-top: 0;
  margin-bottom: 0;
}
.wp-block-lazyblock-chronology .chronology {
  display: flex;
  justify-content: space-between;
  height: 120px;
  overflow-y: visible;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__year {
  flex-basis: 14%;
  order: 2;
  background-color: #14126f;
  color: #fff;
  height: 85px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__year span {
  display: block;
  text-align: center;
  line-height: 1.3;
  font-weight: bold;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__year span:nth-of-type(1) {
  font-size: 29px;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__year span:nth-of-type(2) {
  font-size: 14px;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__year {
  position: relative;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__year .chronology__bar {
  content: "";
  background-color: #14126f;
  width: 6px;
  height: 35px;
  position: absolute;
  bottom: -35px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data {
  flex-basis: 43%;
  order: 1;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__title {
  font-size: 22px;
  font-weight: bold;
  color: #14126f;
  border-bottom: 2px solid #7674A8;
  padding-bottom: 9px;
  margin-top: -7px;
  margin-bottom: 15px;
  height: 50px;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__title a {
  color: #14126f;
  position: relative;
  padding-right: 25px;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__title a::before {
  content: "";
  background: url(../images/common/icon_arrow04.svg) no-repeat center top/contain;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 4px;
  right: 0;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block {
  gap: 0 20px;
  padding-right: 20px;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__img {
  width: 100%;
  display: flex;
  justify-content: left;
  gap: 0 20px;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__img > div {
  max-width: 200px;
  flex-shrink: 1;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__img > div img {
  width: 100%;
  height: auto;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__date {
  margin-top: -3px;
  margin-bottom: 10px;
  flex-grow: 1;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__date > div {
  display: flex;
  justify-content: space-between;
  gap: 0 13px;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__date > div > div.chronology__date_date {
  width: 75px;
  font-weight: bold;
  color: #14126f;
  font-size: 17px;
  text-align: left;
  white-space: nowrap;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__date > div > div.chronology__date_date span {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__date > div > div.chronology__date_text {
  line-height: 1.5;
  flex-grow: 1;
  margin-top: 3px;
}
.wp-block-lazyblock-chronology .chronology > div.chronology__space {
  flex-basis: 43%;
  order: 3;
}
.wp-block-lazyblock-chronology .chronology.right > div.chronology__data {
  order: 3;
}
.wp-block-lazyblock-chronology .chronology.right > div.chronology__data .chronology__title {
  padding-left: 20px;
}
.wp-block-lazyblock-chronology .chronology.right > div.chronology__data .chronology__block {
  padding-right: 0;
  padding-left: 20px;
}
.wp-block-lazyblock-chronology .chronology.right > div.chronology__space {
  order: 1;
}

.schedule-01 {
  font-size: 20rem;
}
.schedule-01 .schedule-01__block {
  display: flex;
  justify-content: space-between;
  position: relative;
  width: 100%;
  gap: 0 30px;
}
.schedule-01 .schedule-01__block::before {
  content: "";
  background-color: #14126f;
  width: 5px;
  height: calc(100% - 60px);
  position: absolute;
  top: 60px;
  left: 58px;
}
.schedule-01 .schedule-01__block:not(:last-of-type) {
  padding-bottom: 70px;
}
.schedule-01 .schedule-01__block:not(:last-of-type)::before {
  height: calc(110% - 60px);
}
.schedule-01 .schedule-01__block p {
  margin-bottom: 0;
}
.schedule-01 .schedule-01__block img {
  width: 100%;
  height: auto;
}
.schedule-01 .schedule-01__block > div:nth-of-type(1) {
  width: 121px;
  z-index: 1;
  position: relative;
}
.schedule-01 .schedule-01__block > div:nth-of-type(2) {
  flex: 1;
  padding-top: 40px;
}
.schedule-01 .schedule-01__block .schedule-01__title {
  display: flex;
  gap: 0 35px;
}
.schedule-01 .schedule-01__block .schedule-01__title > div:nth-of-type(1) {
  font-weight: bold;
}
.schedule-01 .schedule-01__block .schedule-01__title > div:nth-of-type(2) {
  line-height: 1.5;
}
.schedule-01 .schedule-01__block .schedule-01__img {
  margin-top: 25px;
  display: flex;
  flex-wrap: wrap;
  gap: 30px 45px;
  width: 100%;
}
.schedule-01 .schedule-01__block .schedule-01__img img {
  max-width: 375px;
}
.schedule-01 .schedule-01__block .schedule-01__free {
  margin-top: 80px;
}

.educational-research-seminar .educational-research-seminar__title {
  font-size: 24rem;
  font-weight: bold;
  position: relative;
  margin: 0 0 22px;
  padding-bottom: 20px;
}
.educational-research-seminar .educational-research-seminar__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #D8D8D8;
}
.educational-research-seminar .educational-research-seminar__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 30px;
  height: 3px;
  background: #14126f;
}
.educational-research-seminar .educational-research-seminar__title.educational-research-seminar__title--h3 {
  font-size: 22rem;
  color: #14126f;
  padding-bottom: 0;
}
.educational-research-seminar .educational-research-seminar__title.educational-research-seminar__title--h3::before {
  content: none;
}
.educational-research-seminar .educational-research-seminar__title.educational-research-seminar__title--h3::after {
  content: none;
}
.educational-research-seminar .educational-research-seminar__subtitle {
  font-size: 19rem;
  display: inline-block;
  margin: 0 0 25px;
  font-weight: bold;
  color: #14126f;
}
.educational-research-seminar .educational-research-seminar__subtitle.educational-research-seminar__subtitle--blue {
  font-size: 14rem;
  background-color: #14126f;
  color: #fff;
  padding: 0.55em 0.75em;
  text-align: center;
}
.educational-research-seminar .educational-research-seminar__block {
  display: flex;
  justify-content: space-between;
  gap: 0 4%;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__img {
  flex-basis: 29%;
  min-width: 200px;
  max-width: 200px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__img img {
  margin-bottom: 8px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__img .educational-research-seminar__name {
  text-align: center;
  font-size: 15rem;
  line-height: 1.6;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text {
  flex-grow: 1;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__overviewtitle {
  font-size: 18rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__overview {
  font-size: 15rem;
  word-wrap: break-word;
  word-break: break-all;
  white-space: normal;
  margin-bottom: 20px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__linkbtn {
  display: inline-block;
  width: 17.777em;
  height: 3.333em;
  background-color: #fff;
  border: 0.1667em solid #14126f;
  border-radius: 1.944em;
  display: flex;
  align-items: center;
  font-size: 17rem;
  font-weight: bold;
  padding-left: 1.555em;
  padding-right: 1.944em;
  color: #14126f;
  position: relative;
  line-height: 1.3;
  margin-bottom: 20px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__linkbtn:after {
  content: url(../images/common/icon_arrow04.svg);
  position: absolute;
  top: 0.778em;
  right: 1.555em;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__weblinktext {
  font-size: 18rem;
  font-weight: bold;
  margin-bottom: 1px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__weblinkurl {
  display: block;
  text-decoration: underline;
  word-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__weblinkurl:last-of-type {
  margin-bottom: 20px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock {
  display: flex;
  justify-content: space-between;
  gap: 0 3%;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__mail {
  flex-basis: 60%;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__mail .educational-research-seminar__mailtext {
  font-size: 18rem;
  font-weight: bold;
  margin-bottom: 4px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__mail .educational-research-seminar__mailaddress {
  display: block;
  font-size: 16rem;
  margin-bottom: 2px;
  word-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__mail .educational-research-seminar__mailaddress:last-of-type {
  margin-bottom: 20px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__sns {
  flex-basis: 40%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 0 7.5%;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__sns > div {
  width: 39px;
  margin-bottom: 20px;
}
.educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__sns > div img {
  width: 100%;
}

@media screen and (max-width: 1000px) {
  body .is-layout-flex {
    display: block;
  }
  .sp_mb10 {
    margin-bottom: 20px !important;
  }
  .sp_mb20 {
    margin-bottom: 20px !important;
  }
  .sp_mb40 {
    margin-bottom: 40px !important;
  }
  .sp_mb60 {
    margin-bottom: 60px !important;
  }
  .sp_mb80 {
    margin-bottom: 80px !important;
  }
  .menu_anchor {
    flex-wrap: wrap;
  }
  .menu_anchor a {
    width: 48%;
    flex: none;
    margin: 0 0 15px 0;
    line-height: 1.5em;
    padding: 15px 10px 33px 10px;
  }
  .content_head {
    display: block;
  }
  .content_head.grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .content_head.grid .order {
    order: 1;
  }
  .content_head.grid .head__col:nth-of-type(2) {
    order: 2;
  }
  .content_head .head__col:nth-child(1) {
    width: 100%;
    border: none;
  }
  .content_head .head__col:nth-child(2) {
    width: 100%;
    display: block;
    text-align: center;
  }
  .content_head .head__col .head__img {
    margin-right: 20px;
    width: 100px;
  }
  .content_head .head__col .head__img img {
    height: auto;
  }
  .content_head .head__col .head__label {
    width: calc(100% - 135px);
    font-size: 18rem;
  }
  .content_head .head__col .head__sns {
    width: 100%;
    text-align: center;
    margin: 0 0 15px 0;
  }
  .content_head .head__col .head__sns a {
    line-height: 40px;
  }
  .post-navigation {
    position: relative;
    padding-bottom: 70px;
  }
  .post-navigation .nav-previous {
    width: 50%;
  }
  .post-navigation .nav-next {
    width: 50%;
  }
  .sns {
    width: 160px;
  }
  .sns a {
    position: relative;
    padding-left: 40px;
    display: inline-block;
    line-height: 1.2;
    font-size: 12rem;
    color: #000;
    letter-spacing: 1px;
  }
  .sns a::before {
    display: inline-block;
    content: "";
    width: 34px;
    height: 34px;
    margin-right: 20px;
    position: absolute;
    vertical-align: middle;
    top: -3px;
    left: 0;
  }
  .sns .type_x::before {
    background-size: 34px;
  }
  .sns .type_youtube::before {
    background-size: 34px;
  }
  .sns .type_instagram::before {
    background-size: 34px;
  }
  .h2-image-link-linkbtn-01 {
    display: block;
  }
  .h2-image-link-linkbtn-01 .head__col {
    margin-bottom: 15px;
  }
  .h2-image-link-linkbtn-01 .head__col:nth-child(1) {
    width: 100%;
    border: none;
  }
  .h2-image-link-linkbtn-01 .head__col:nth-child(2) {
    width: 100%;
    display: block;
    text-align: center;
  }
  .h2-image-link-linkbtn-01 .head__col .head__img {
    margin-right: 20px;
    width: 100px;
  }
  .h2-image-link-linkbtn-01 .head__col .head__img img {
    height: auto;
  }
  .h2-image-link-linkbtn-01 .head__col .head__label {
    width: calc(100% - 120px);
    font-size: 18rem;
  }
  .h2-image-link-linkbtn-01 .head__col .head__label img {
    vertical-align: -4px;
  }
  .h2-image-link-linkbtn-01 .head__col .head__special a {
    line-height: 1em;
    width: 90%;
    margin: 0 auto;
  }
  .h2-image-link-linkbtn-01 .head__col .head__special a:not(:last-child) {
    margin-bottom: 10px;
  }
  .h2-image-link-linkbtn-01 .head__col .head__special a:nth-child(1) {
    margin-right: auto;
  }
  .wp-block-lazyblock-pdf-link-menu-01 .pdf-link-menu-01 .list li:not(.empty) a {
    font-size: 15rem;
    line-height: 2.2em;
  }
  .wp-block-lazyblock-pdf-link-menu-01.col-2 .pdf-link-menu-01 .list li {
    width: 100%;
  }
  .wp-block-lazyblock-pdf-link-menu-01.col-3 .pdf-link-menu-01 .list li {
    width: 100%;
  }
  .related-link-menu-01 {
    padding: 25px 0 53px;
  }
  .related-link-menu-01 .related-link-menu-01__label {
    margin-bottom: 25px;
    padding-left: 25px;
  }
  .related-link-menu-01 .related-link-menu-01__list {
    padding: 0 30px;
  }
  .related-link-menu-01 .related-link-menu-01__list ul {
    display: block;
  }
  .related-link-menu-01 .related-link-menu-01__list ul li {
    width: 100%;
  }
  .related-link-menu-01 .related-link-menu-01__list ul li:not(:last-child) {
    margin-bottom: 15px;
  }
  .related-link-menu-01 .related-link-menu-01__list ul li a {
    font-size: 16rem;
    line-height: 1.5em;
    padding: 20px 45px 20px 15px;
  }
  .external-link02 a {
    font-size: 18px;
  }
  .h2-03 {
    font-size: 18rem;
  }
  .h2-04 {
    font-size: 18rem;
  }
  .accordion-contents-02 .menu_head {
    font-size: 16rem;
  }
  .faq-01 .faq_contents:not(:last-of-type) {
    margin-bottom: 45px;
  }
  .faq-01 .faq_inner.faq_inner {
    flex-direction: column;
  }
  .faq-01 .faq_inner.faq_inner > div:nth-of-type(1) {
    height: 38px;
    font-size: 1.1em;
  }
  .faq-01 .faq_inner.faq_inner > div:nth-of-type(2) {
    padding-top: 11px;
  }
  .faq-01 .faq_inner.faq_inner--q {
    margin-bottom: 20px;
  }
  .faq-01 .faq_inner.faq_inner--q > div:nth-of-type(2) {
    line-height: 1.5;
  }
  .faq-01 .faq_inner.faq_inner--a > div:nth-of-type(2) {
    font-size: 15rem;
  }
  .h2-01 {
    font-size: 25rem;
  }
  .h2-02 {
    font-size: 18rem;
  }
  .h2-link {
    font-size: 25rem;
  }
  .h2-link a {
    padding-right: 30px;
  }
  .h2-link a::after {
    width: 20px;
    height: 20px;
  }
  .inpage-link-01 {
    margin-top: 0;
  }
  .inpage-link-01 .inpage-link-01__list {
    padding: 10px;
  }
  .inpage-link-03 ul {
    gap: 0px 0;
    justify-content: space-between;
  }
  .inpage-link-03 ul .inpage-link-03__link {
    flex: inherit;
    flex-basis: 100%;
  }
  .inpage-link-03 ul .inpage-link-03__link .link__item {
    align-items: start;
  }
  .inpage-link-03 ul .inpage-link-03__link a {
    padding: 13px 45px;
  }
  .inpage-link-03 ul .inpage-link-03__link a span:before {
    left: -32px;
    top: 1px;
    width: 20px;
    height: 20px;
  }
  .wp-block-lazyblock-image-text .images-text .images-text__images {
    display: block;
  }
  .wp-block-lazyblock-image-text .images-text .images-text__images img:not(:last-child) {
    margin-bottom: 15px;
  }
  .h2-link-01 {
    font-size: 18rem;
    line-height: 20px;
    margin: 20px 0;
  }
  .h2-link-01 img {
    vertical-align: bottom;
  }
  .h3-01 {
    font-size: 20rem;
  }
  .h3-02 {
    font-size: 20rem;
  }
  .h3-02::before {
    width: 18rem;
    height: 18rem;
  }
  .h3-02::after {
    left: 3.1rem;
    top: 50%;
    width: 12rem;
    height: 12rem;
    transform: translate(-50%, -50%);
  }
  .h3-03 {
    font-size: 16rem;
  }
  .h3-04 {
    margin-bottom: 20px;
    padding-left: 15px;
    font-size: 20rem;
  }
  .h3-05 .h3-05__block {
    font-size: 1rem;
    gap: 30em 0;
    flex-direction: column;
  }
  .h3-05 .h3-05__block > div .h3-05__title {
    height: 3.0555em;
    padding-left: 1.111em;
    font-size: 18rem;
  }
  .h3-05 .h3-05__block > div .h3-05__text {
    padding: 0.933em 1.333em 1.2em;
    font-size: 15rem;
  }
  .h4-01 {
    font-size: 17rem;
  }
  .tabmenu1 {
    margin-bottom: 0;
  }
  .tabmenu1 ul li a {
    padding: 15px 10px;
    font-size: 14rem;
  }
  .tabmenu2 {
    margin-bottom: 0;
  }
  .tabmenu2 ul li a {
    padding: 15px 10px;
    font-size: 12rem;
  }
  .access-info-01 .access-info-01__body .body__col:nth-child(1) {
    width: 100%;
    margin-bottom: 20px;
  }
  .access-info-01 .access-info-01__body .body__col:nth-child(2) {
    width: 100%;
    height: 250px;
  }
  .on-campus-links .links__row {
    display: block;
  }
  .on-campus-links .links__row .row__l {
    width: 100%;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    border-bottom-left-radius: 0;
  }
  .on-campus-links .links__row .row__l img {
    height: 70px;
  }
  .on-campus-links .links__row .row__r {
    width: 100%;
    padding: 15px 30px;
    font-size: 18rem;
  }
  .link-menu-04 {
    font-size: 18rem;
    line-height: 100px;
  }
  .wp-block-lazyblock-image-note01 .flexbox_list {
    display: block;
  }
  .wp-block-lazyblock-image-note01 .pic {
    width: 100%;
    margin-bottom: 30px;
    text-align: center;
    padding: 30px 0;
  }
  .wp-block-lazyblock-image-note01 .pic img {
    width: 80%;
  }
  .wp-block-lazyblock-image-note01 .note {
    width: 100%;
  }
  .wp-block-lazyblock-image-note01 .note .note__title {
    font-size: 20rem;
  }
  .wp-block-lazyblock-image-note01 .note .note__text {
    padding: 30px;
  }
  .icon-link-menu-01 {
    flex-direction: column;
    gap: 35px 2%;
    font-size: 14rem;
  }
  .dl-btn-01 {
    font-size: 16rem;
  }
  .list-06-icon ul .icon_list {
    flex-basis: 48%;
  }
  .list-06-icon ul .icon_list:nth-of-type(2n+1) {
    margin-left: 0;
  }
  .list-06-icon ul .icon_list:nth-of-type(2n) {
    margin-right: 0;
  }
  .list-06-icon ul .icon_list::before {
    width: 15px;
    height: 15px;
    margin-right: 5px;
    vertical-align: -3px;
  }
  .related-organization-link-01 > p {
    margin-bottom: 1.5em;
  }
  .related-organization-link-01 ul {
    flex-direction: column;
    -moz-column-gap: 1.3%;
         column-gap: 1.3%;
  }
  .related-organization-link-01 ul:first-of-type {
    margin-bottom: 0px;
  }
  .related-organization-link-01 ul:last-of-type li:last-of-type {
    margin-bottom: 0 !important;
  }
  .related-organization-link-01 ul li {
    margin-bottom: 15px;
  }
  .related-organization-link-01 ul li a {
    font-size: 16rem;
  }
  .related-organization-link-01 ul li a span:nth-of-type(1) {
    flex-basis: 30%;
  }
  .related-organization-link-01 ul li a span:nth-of-type(2) {
    flex-basis: 63%;
  }
  .related-organization-link-01 ul li a span img {
    width: 110px;
    height: 110px;
  }
  .link-btn-01 ul {
    flex-direction: column;
    gap: 15px 0;
  }
  .link-btn-01 ul::after {
    width: 100%;
  }
  .link-btn-01 ul li {
    width: 100%;
  }
  .link-btn-01 ul li a {
    font-size: 15rem;
  }
  .link-btn-02 a {
    font-size: 15px;
    padding-right: 65px;
  }
  .link-btn-02 a:after {
    content: url(../images/common/icon_arrow05.svg);
    width: 14px;
    height: 14px;
    position: absolute;
    top: 15px;
    right: 17px;
  }
  .table-01 {
    overflow-x: scroll;
  }
  .table-01 .table-01__table {
    min-width: 900px !important;
  }
  .table-01 .table-01__table th {
    width: var(--width_sp);
  }
  .noscroll .table-01,
  .wp-block-lazyblock-table-01.noscroll .table-01 {
    overflow-x: hidden !important;
  }
  .noscroll .table-01 .table-01__table,
  .wp-block-lazyblock-table-01.noscroll .table-01 .table-01__table {
    min-width: 0 !important;
    width: 100% !important;
  }
  .table-02 {
    overflow-x: scroll;
  }
  .table-02 table {
    min-width: 900px !important;
  }
  .table-02 table colgroup col {
    width: auto !important;
  }
  .table-02 table colgroup col:nth-child(1) {
    width: var(--col1-width-sp, auto) !important;
  }
  .table-02 table[data-col2sp="1"] colgroup col:nth-child(2) {
    width: var(--col2-width-sp) !important;
  }
  .noscroll .table-02,
  .wp-block-lazyblock-table-02.noscroll .table-02 {
    overflow-x: hidden !important;
  }
  .noscroll .table-02 table,
  .wp-block-lazyblock-table-02.noscroll .table-02 table {
    min-width: 0 !important;
    width: 100% !important;
  }
  .list-01 {
    font-size: 15px;
  }
  .list-01 ol li::before {
    width: 25px;
    height: 25px;
    font-size: 12px;
  }
  .list-02 {
    font-size: 15px;
  }
  .list-02 ol {
    padding-left: 19px;
  }
  .list-02 ol li::marker {
    font-size: 14px;
  }
  @supports (-webkit-hyphens: none) {
    .list-02 ol {
      padding-left: 25px;
    }
  }
  .list-03 ol li div:nth-of-type(1) {
    font-size: 16rem;
  }
  .list-03 ol li div:nth-of-type(1)::before {
    font-size: 16rem;
  }
  .list-03 ol li div:nth-of-type(2) {
    font-size: 15rem;
  }
  .list-04 {
    font-size: 16rem;
  }
  .list-04 ul li {
    padding-left: 20px;
  }
  .list-04 ul li::before {
    top: 13px;
    width: 15px;
    height: 15px;
  }
  .list-04 ul li::after {
    top: 13px;
    left: 3.1px;
    width: 9px;
    height: 9px;
  }
  .list-05 ul li {
    font-size: 15rem;
  }
  .list-05 ul li::before {
    top: 9px;
  }
  .list-06 ul li::before {
    top: 10px;
  }
  .list-06 ul li div:nth-of-type(1) {
    font-size: 17rem;
  }
  .list-06 ul li div:nth-of-type(2) {
    font-size: 15rem;
  }
  .table-03 th {
    padding-left: 10px;
    width: 35%;
    max-width: 300px;
  }
  .table-03 td {
    padding-left: 10px;
  }
  .table-04 {
    font-size: 16rem;
  }
  .table-04 table {
    margin-bottom: 20px;
  }
  .table-04 table:last-of-type {
    margin-bottom: 0;
  }
  .table-04 table tr:first-of-type {
    color: inherit;
  }
  .table-04 table tr:first-of-type td {
    background-color: #DAE1F8;
    font-weight: normal;
    text-align: center;
  }
  .table-04 table tr th {
    text-align: center;
    font-weight: bold;
    color: #fff;
    background-color: #99A6D0;
    padding-left: 0;
    padding-right: 0;
    width: 30vw;
  }
  .table-04 table tr td {
    font-weight: normal;
    padding-left: 10px;
    width: 70vw;
  }
  .sp-column-08 .table-04 {
    overflow-x: scroll;
  }
  .sp-column-08 .pc_hidden {
    display: none !important;
  }
  .sp-column-08 .sp_hidden {
    display: block !important;
    min-width: 500px;
  }
  .table-05 {
    font-size: 14rem;
  }
  .table-05 .table-05__title {
    font-size: 18rem;
  }
  .table-05 tr th {
    width: 40%;
    padding-left: 10px;
  }
  .table-05 tr td {
    min-width: 100px;
    padding-left: 10px;
  }
  .table-06 {
    font-size: 16rem;
  }
  .table-06 table {
    margin-bottom: 20px;
  }
  .table-06 table:last-of-type {
    margin-bottom: 0;
  }
  .table-06 table tr:first-of-type {
    color: inherit;
  }
  .table-06 table tr:first-of-type td {
    background-color: #DAE1F8;
    font-weight: normal;
    text-align: left;
  }
  .table-06 table tr th {
    text-align: center;
    font-weight: bold;
    color: #fff;
    background-color: #99A6D0;
    padding-left: 0;
    padding-right: 0;
    width: 30vw;
  }
  .table-06 table tr td {
    font-weight: normal;
    padding-left: 10px;
    width: 70vw;
  }
  .table-07 {
    font-size: 14rem;
  }
  .table-07 .table-07__title {
    font-size: 18rem;
  }
  .table-07 table {
    margin-bottom: 20px;
    width: 100%;
  }
  .table-07 table:last-of-type {
    margin-bottom: 0;
  }
  .table-07 tr th {
    padding-left: 10px;
  }
  .table-07 tr th:nth-of-type(1) {
    width: 30vw;
  }
  .table-07 tr td {
    width: 70vw;
    padding-left: 10px;
  }
  .back-btn-01 .back-btn-01__link {
    width: 100%;
  }
  /* inpage-link-02：スマホは1カラムずつ縦に落とし、各カラムはウィンドウ幅いっぱい */
  .inpage-link-02 ul {
    flex-direction: column;
  }
  .inpage-link-02 ul li {
    width: 100%;
    max-width: 100%;
    height: inherit;
    min-width: 0;
  }
  .inpage-link-02 ul li:not(:last-of-type) {
    border-bottom: none;
  }
  .inpage-link-02 ul li .inpage-link-02__inner a {
    height: 55px;
  }
  .key-icon-link-menu .menu__link {
    width: 285px;
  }
  .grade-linkbtn .grade-linkbtn__block > div:nth-of-type(1) {
    flex-basis: 35%;
  }
  .grade-linkbtn .grade-linkbtn__block > div:nth-of-type(1) .grade-linkbtn__title {
    width: 4.107em;
    height: 1.964em;
    font-size: 28rem;
    margin-bottom: 0.535em;
  }
  .grade-linkbtn .grade-linkbtn__block > div:nth-of-type(1) .grade-linkbtn__title span {
    font-size: 18rem;
  }
  .grade-linkbtn .grade-linkbtn__block > div:nth-of-type(2) {
    flex-basis: 63%;
  }
  .grade-linkbtn .grade-linkbtn__block > div:nth-of-type(2) .grade-linkbtn__btnwrap {
    display: flex;
    justify-content: right;
    flex-wrap: wrap;
  }
  .grade-linkbtn .grade-linkbtn__block > div:nth-of-type(2) .grade-linkbtn__btnwrap .grade-linkbtn__btn {
    position: relative;
    min-width: 10em;
    height: 3.667em;
    font-size: 15rem;
    border-radius: 2.333em;
    padding: 0 2.2em;
    margin-right: 0 !important;
    margin-left: 10px;
    margin-bottom: 0.667em;
  }
  .grade-linkbtn .grade-linkbtn__block > div:nth-of-type(2) .grade-linkbtn__btnwrap .grade-linkbtn__btn::after {
    content: "";
    font-size: 1rem;
    width: 6em;
    height: 11.95em;
    top: 18.5em;
    right: 13em;
  }
  .entry-content .content__title {
    margin-bottom: 25px;
  }
  .entry-content .content__title .link {
    font-size: 13rem;
    top: -2px;
  }
  .page-template-page-extension-course .search, .page-template-page-news-events .search, .page-template-page-extension-course-past .search {
    padding: 20px 20px;
    margin-bottom: 20px;
  }
  .page-template-page-extension-course .search .search__list, .page-template-page-news-events .search .search__list, .page-template-page-extension-course-past .search .search__list {
    margin-bottom: 20px;
  }
  .page-template-page-extension-course .search .search__label, .page-template-page-news-events .search .search__label, .page-template-page-extension-course-past .search .search__label {
    font-size: 18rem;
    margin: 30px 0 15px 0;
  }
  .page-template-page-extension-course .content__news .news__list .list__row .row__date, .page-template-page-extension-course-past .content__news .news__list .list__row .row__date {
    width: 90px;
  }
  .page-template-page-extension-course .content__news .news__list .list__row .row__cat, .page-template-page-extension-course-past .content__news .news__list .list__row .row__cat {
    width: calc(100% - 90px);
  }
  .page-template-page-extension-course .content__news .news__list .list__row .row__cat a, .page-template-page-extension-course-past .content__news .news__list .list__row .row__cat a {
    width: 80px;
    font-size: 12rem;
    margin-bottom: 5px;
    padding: 6px 14px;
  }
  .page-template-page-extension-course .course__links, .page-template-page-extension-course-past .course__links {
    margin-bottom: 60px;
  }
  .page-template-page-extension-course .course__links a:not(:last-child), .page-template-page-extension-course-past .course__links a:not(:last-child) {
    margin: 0 0 10px 0;
  }
  .page-template-page-extension-course .courses .courses_row:last-child, .page-template-page-extension-course-past .courses .courses_row:last-child {
    margin-bottom: 0;
  }
  .page-template-page-extension-course .courses .courses_row .flexbox_list, .page-template-page-extension-course-past .courses .courses_row .flexbox_list {
    display: block;
  }
  .page-template-page-extension-course .courses .courses_row .row__col:nth-child(1), .page-template-page-extension-course-past .courses .courses_row .row__col:nth-child(1) {
    width: 100%;
  }
  .page-template-page-extension-course .courses .courses_row .row__col:nth-child(2), .page-template-page-extension-course-past .courses .courses_row .row__col:nth-child(2) {
    width: 100%;
  }
  .page-template-page-extension-course .courses .courses_row .row__col:nth-child(2) .about table tr th, .page-template-page-extension-course-past .courses .courses_row .row__col:nth-child(2) .about table tr th {
    width: 110px;
  }
  .page-template-page-extension-course .courses .courses_row .row__col:nth-child(2) .about table tr td, .page-template-page-extension-course-past .courses .courses_row .row__col:nth-child(2) .about table tr td {
    padding: 20px 0;
  }
  .content__news {
    margin-bottom: 20px;
  }
  .content__news .news__list .list__row .row__date {
    width: 100px;
    line-height: 30px;
    margin-bottom: 18px;
  }
  .content__news .news__list .list__row .row__cat {
    width: calc(100% - 100px);
  }
  .content__news .news__list .list__row .row__cat a {
    float: right;
  }
  .content__news .news__list .list__row .row__title {
    width: 100%;
    padding-left: 0;
  }
  .page-template-page-news-events .search {
    padding: 0;
  }
  .page-template-page-news-events .search .search__list .checkbox {
    margin-right: 5px;
    line-height: 35px;
  }
  .page-template-page-news-events .search .search__list .checkbox input + span {
    padding: 6px 15px;
  }
  .page-template-page-news-events .search .search__button input[type=button] {
    width: 45%;
  }
  .page-template-page-news-events .search .search__button input[type=submit] {
    width: 45%;
  }
  .page-template-page-news-events .search form {
    padding: 20px 20px;
  }
  .page-template-page-news-events .articles .article_row {
    display: block;
    padding-bottom: 25px;
  }
  .page-template-page-news-events .articles .article_row .row__date {
    width: 100%;
    margin-bottom: 5px;
  }
  .page-template-page-news-events .articles .article_row .row__about {
    width: 100%;
  }
  .page-template-page-news-events .articles .article_row .row__about .about__category a {
    margin-bottom: 5px;
  }
  .page-template-page-news-events .articles .article_row .row__about .about__category a.category-button {
    padding: 6px 15px;
  }
  .page-template-page-news-events-detail .article .article__meta {
    margin-bottom: 30px;
  }
  .page-template-page-news-events-detail .article .article__meta .meta__date {
    display: block;
    margin-bottom: 10px;
    width: 100%;
  }
  .page-template-page-news-events-detail .article .article__meta .meta__cat a {
    margin-bottom: 8px;
  }
  .page-template-page-news-events-detail .article .article__title {
    margin-bottom: 30px;
    font-size: 20rem;
    line-height: 1.5em;
  }
  .pressrelease.list .articles {
    margin-bottom: 30px;
  }
  .pressrelease.list .articles .article_row {
    padding: 25px 0;
  }
  .pressrelease.list .articles .article_row .row__date {
    width: 80px;
  }
  .pressrelease.list .articles .article_row .row__about {
    width: calc(100% - 80px);
  }
  .page-template-page-press .articles .article_row, .page-template-page-research-highlight .articles .article_row {
    padding: 25px 0;
  }
  .page-template-page-press .articles .article_row .row__date, .page-template-page-research-highlight .articles .article_row .row__date {
    margin-bottom: 5px;
    width: 100%;
  }
  .page-template-page-press .articles .article_row .row__about, .page-template-page-research-highlight .articles .article_row .row__about {
    width: 100%;
  }
  .page-template-page-media .articles {
    overflow-x: scroll;
  }
  .page-template-page-media .articles table {
    min-width: 800px;
  }
  .page-template-page-press-detail .article, .page-template-page-research-highlight-detail .article {
    margin-bottom: 50px;
  }
  .page-template-page-press-detail .article .article__meta, .page-template-page-research-highlight-detail .article .article__meta {
    margin-bottom: 20px;
  }
  .page-template-page-press-detail .article .article__title, .page-template-page-research-highlight-detail .article .article__title {
    margin-bottom: 20px;
    font-size: 18rem;
    line-height: 1.6em;
  }
  .page-template-page-university-medicine-admission .examinfo .info__body, .page-template-page-university-medicine-admission_test .examinfo .info__body, .page-template-page-university-nursing-admission .examinfo .info__body {
    width: 100%;
  }
  .page-template-page-university-medicine-admission .selection-buttons, .page-template-page-university-medicine-admission_test .selection-buttons, .page-template-page-university-nursing-admission .selection-buttons {
    padding: 5px 0;
  }
  .page-template-page-university-medicine-admission .selection-buttons a, .page-template-page-university-medicine-admission_test .selection-buttons a, .page-template-page-university-nursing-admission .selection-buttons a {
    width: 100%;
    font-size: 15rem;
    margin: 20px 0;
    padding: 0 50px;
    height: 75px;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .page-template-page-university-medicine-admission .selection-buttons a:nth-child(1) img, .page-template-page-university-medicine-admission_test .selection-buttons a:nth-child(1) img, .page-template-page-university-nursing-admission .selection-buttons a:nth-child(1) img {
    margin-right: 5px;
    width: 25px;
  }
  .page-template-page-university-medicine-admission .selection-buttons a span.ilb, .page-template-page-university-medicine-admission_test .selection-buttons a span.ilb, .page-template-page-university-nursing-admission .selection-buttons a span.ilb {
    display: inline-block;
  }
  .page-template-page-university-medicine-admission .selection-menu .menu__block, .page-template-page-university-medicine-admission_test .selection-menu .menu__block, .page-template-page-university-nursing-admission .selection-menu .menu__block {
    width: 100%;
  }
  .page-template-page-university-medicine-admission .selection-menu .menu__sns .sns, .page-template-page-university-medicine-admission_test .selection-menu .menu__sns .sns, .page-template-page-university-nursing-admission .selection-menu .menu__sns .sns {
    margin-bottom: 10px;
  }
  .page-template-page-university-medicine-admission .news__list .list__row .row__title, .page-template-page-university-medicine-admission_test .news__list .list__row .row__title, .page-template-page-university-nursing-admission .news__list .list__row .row__title {
    width: 100%;
    padding: 0;
  }
  .page-template-page-university-medicine-admission_opencampus #about .about__row .h3-02, .page-template-page-university-medicine-admission_orientation #about .about__row .h3-02 {
    margin-bottom: 10px;
    line-height: 1.6em;
  }
  .page-template-page-university-society-student-activity-results-trial-lesson .list, .page-template-page-university-society-student-activity-results-school-visit .list, .page-template-page-university-society-student-activity-results-science .list {
    overflow: scroll;
  }
  .wp-block-lazyblock-tab-menu-link,
  [class*=lazyblock-tab-menu-link] {
    margin-bottom: 20px;
  }
  .tab-menu-02 ul {
    flex-direction: column;
  }
  .tab-menu-02 ul li a {
    padding: 10px 0;
  }
  .zone-01 {
    padding: 0 6em 6em 6em;
  }
  .zone-01 div:nth-of-type(1) {
    font-size: 17rem;
  }
  .zone-01 div:nth-of-type(2) {
    padding: 1.3em 1.2em 0.3em;
    font-size: 15rem;
  }
  .flow-02 ul li {
    font-size: 19rem;
    margin-bottom: 1.5em;
  }
  .flow-02 ul li > div.flow-02__row1 {
    font-size: 19rem;
  }
  .flow-02 ul li > div.flow-02__row2 {
    font-size: 15rem;
    padding: 1.5em 1.8em;
  }
  .flow-02 ul li > div.flow-02__row2 .flow-02__subtitle {
    font-size: 19rem;
  }
  .flow-02 ul li > div.flow-02__row2 .flow-02__text {
    flex-direction: column;
  }
  .flow-02 ul li > div.flow-02__row3 {
    font-size: 16rem;
    padding: 1.5em 1.8em;
  }
  .label-01 {
    flex-direction: column;
    gap: 1em 0;
    font-size: 15rem;
  }
  .label-01 ul li {
    font-size: 19rem;
  }
  .label-02 {
    margin-top: 10px;
  }
  .label-02 .label-02__block > span {
    min-width: 80px;
    padding: 5px 10px;
    font-size: 14rem;
  }
  .adobe-link {
    font-size: 16rem;
    width: 13.6em;
    height: 3em;
  }
  .word-link-menu-01 {
    margin: 0;
  }
  .word-link-menu-01 a {
    font-size: 15rem;
  }
  .excel-link-menu-01 {
    margin: 0;
  }
  .excel-link-menu-01 a {
    font-size: 15rem;
  }
  .list-number {
    font-size: 14rem;
  }
  .interview-all {
    font-size: 16rem;
    margin-bottom: 2em;
  }
  .interview-all .interview-all__label {
    font-size: 19rem;
  }
  .interview-all .interview-all__course {
    font-size: 16rem;
  }
  .interview-all .interview-all__block {
    font-size: 16rem;
  }
  .interview-detail-circleimage-text > div:nth-of-type(2) {
    font-size: 14px;
  }
  .interview-detail-circleimage-text.interview-detail-circleimage-text--around {
    display: block;
    overflow: hidden;
  }
  .interview-detail-circleimage-text.interview-detail-circleimage-text--around > div:nth-of-type(1) {
    float: left;
    margin-bottom: 20px;
  }
  .interview-detail-circleimage-text.interview-detail-circleimage-text--around > div:nth-of-type(2) {
    width: 100%;
  }
  .interview-detail-circleimage-text.interview-detail-circleimage-text--around.interview-detail-circleimage-text--turn > div:nth-of-type(1) {
    float: right;
  }
  .interview-detail-circleimage-text.interview-detail-circleimage-text--around.interview-detail-circleimage-text--turn > div:nth-of-type(2) {
    width: initial;
    max-width: initial;
  }
  .interview-detail-profile {
    padding: 25px 30px;
  }
  .interview-detail-profile > p {
    margin-bottom: 40px;
  }
  .interview-detail-profile .interview-detail-profile__block {
    flex-wrap: wrap;
  }
  .interview-detail-profile .interview-detail-profile__block > div {
    width: 100%;
  }
  .interview-detail-profile .interview-detail-profile__block > div:nth-of-type(1) {
    margin-right: 0;
    margin-bottom: 40px;
  }
  .interview-detail-profile .interview-detail-profile__block > div:nth-of-type(1)::after {
    content: none;
  }
  .interview-detail-profile .interview-detail-profile__block > div .interview-detail-profile__text {
    font-size: 14px;
  }
  .interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name {
    display: block;
    margin: 20px 0;
  }
  .interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name > div:nth-of-type(1) {
    width: 180px;
    margin: 0 auto 20px;
  }
  .interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name > div:nth-of-type(2) {
    font-size: 14px;
  }
  .interview-detail-profile .interview-detail-profile__block .interview-detail-profile__name > div:nth-of-type(2) > span {
    font-size: 18px;
  }
  .interview-detail-profile .interview-detail-profile__linkblock {
    flex-direction: column;
    gap: 15px 20px;
  }
  .interview-detail-profile .interview-detail-profile__linkblock .interview-detail-profile__link {
    margin: 0 auto;
  }
  .interview-detail-profile .interview-detail-profile__linkblock .interview-detail-profile__link a:nth-of-type(1) {
    display: none;
  }
  .interview-detail-profile .interview-detail-profile__linkblock .interview-detail-profile__link a:nth-of-type(2) {
    display: block;
  }
  .image-cap-text-01 {
    flex-direction: column;
    gap: 30px 0;
  }
  .image-cap-text-01 > div:nth-of-type(1) img:nth-of-type(1) {
    display: none;
  }
  .image-cap-text-01 > div:nth-of-type(1) img:nth-of-type(2) {
    display: block;
  }
  .image-cap-text-01 > div:nth-of-type(1) > p {
    font-size: 14rem;
  }
  .image-cap-text-01 > div:nth-of-type(2) > p {
    font-size: 14rem;
  }
  .image-cap-text-01.image-cap-text-01--left {
    flex-direction: column;
  }
  .image-cap-text-01.image-cap-text-01--bottom {
    flex-direction: column-reverse;
  }
  .forward-back-btnset-01 {
    flex-direction: column;
    gap: 0;
  }
  .forward-back-btnset-01 > div {
    margin: 0 auto;
  }
  .forward-back-btnset-01 > div:nth-of-type(1) {
    width: 250px;
    order: 2;
  }
  .forward-back-btnset-01 > div:nth-of-type(1) a {
    margin-top: 20px;
  }
  .forward-back-btnset-01 > div:nth-of-type(2) {
    width: 100%;
    max-width: 540px;
    order: 1;
  }
  .forward-back-btnset-01 > div:nth-of-type(2) a {
    margin: 50px auto 30px;
  }
  .forward-back-btnset-01 > div:nth-of-type(3) {
    width: 250px;
    order: 3;
  }
  .forward-back-btnset-01 > div:nth-of-type(3) a {
    margin-top: 20px;
  }
  .forward-back-btnset-02 {
    flex-direction: column;
    gap: 0;
  }
  .forward-back-btnset-02 > div {
    margin: 0 auto;
  }
  .forward-back-btnset-02 > div:nth-of-type(1) {
    width: 100%;
    order: 2;
  }
  .forward-back-btnset-02 > div:nth-of-type(1) a {
    margin-top: 20px;
  }
  .forward-back-btnset-02 > div:nth-of-type(2) {
    width: 150px;
    max-width: 540px;
    order: 1;
  }
  .forward-back-btnset-02 > div:nth-of-type(2) a {
    margin: 50px auto 15px;
  }
  .forward-back-btnset-02 > div:nth-of-type(3) {
    width: 100%;
    order: 3;
  }
  .forward-back-btnset-02 > div:nth-of-type(3) a {
    margin-top: 20px;
  }
  .wp-block-lazyblock-chronology .chronology {
    height: inherit !important;
    overflow-y: hidden;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__year {
    flex-basis: 24%;
    order: 1;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__year span:nth-of-type(1) {
    font-size: 24px;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__year span:nth-of-type(2) {
    font-size: 12px;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__year .chronology__bar {
    height: 1500% !important;
    bottom: -1500% !important;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__data {
    flex-basis: 76%;
    order: 2;
    margin-bottom: 20px;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__title {
    font-size: 19px;
    padding-bottom: 10px;
    margin-top: 3px;
    margin-bottom: 12px;
    height: 40px;
    padding-left: 20px;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__title a {
    padding-right: 22px;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__title a::before {
    width: 14px;
    height: 14px;
    top: 3px;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block {
    flex-direction: column;
    padding-right: 0px;
    padding-left: 20px;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__img {
    margin-bottom: 15px;
    flex-direction: column;
    gap: 15px 0;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__img > div {
    width: 100% !important;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__date > div {
    flex-direction: column;
    margin-bottom: 10px;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__data .chronology__block .chronology__date > div > div.chronology__date_date {
    font-size: 16px;
    line-height: 1.2;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__space {
    display: none;
  }
  .wp-block-lazyblock-chronology .chronology.right > div.chronology__data {
    order: 2;
  }
  .wp-block-lazyblock-chronology .chronology.right > div.chronology__data .chronology__title {
    padding-left: 20px;
  }
  .wp-block-lazyblock-chronology .chronology.right > div.chronology__data .chronology__block {
    padding-right: 0;
    padding-left: 20px;
  }
  .wp-block-lazyblock-chronology .chronology.right > div.chronology__space {
    display: none;
  }
  .schedule-01 {
    font-size: 18rem;
  }
  .schedule-01 .schedule-01__block {
    display: flex;
    justify-content: space-between;
    gap: 0 15px;
  }
  .schedule-01 .schedule-01__block::before {
    width: 5px;
    height: calc(100% - 60px);
    top: 60px;
    left: 43px;
  }
  .schedule-01 .schedule-01__block:not(:last-of-type) {
    padding-bottom: 40px;
  }
  .schedule-01 .schedule-01__block:not(:last-of-type)::before {
    height: calc(110% - 60px);
  }
  .schedule-01 .schedule-01__block > div:nth-of-type(1) {
    width: 90px;
  }
  .schedule-01 .schedule-01__block > div:nth-of-type(2) {
    flex: 1;
    padding-top: 28px;
  }
  .schedule-01 .schedule-01__block .schedule-01__title {
    flex-direction: column;
    gap: 0 35px;
  }
  .schedule-01 .schedule-01__block .schedule-01__img {
    margin-top: 25px;
    flex-direction: column;
    gap: 30px 0px;
    width: 90%;
    max-width: 450px;
  }
  .schedule-01 .schedule-01__block .schedule-01__free {
    margin-top: 50px;
  }
  .educational-research-seminar .educational-research-seminar__title {
    font-size: 18rem;
  }
  .educational-research-seminar .educational-research-seminar__title.educational-research-seminar__title--h3 {
    font-size: 18rem;
  }
  .educational-research-seminar .educational-research-seminar__subtitle {
    font-size: 19rem;
  }
  .educational-research-seminar .educational-research-seminar__subtitle.educational-research-seminar__subtitle--blue {
    font-size: 14rem;
  }
  .educational-research-seminar .educational-research-seminar__block {
    flex-direction: column;
    gap: 0 4%;
  }
  .educational-research-seminar .educational-research-seminar__block .educational-research-seminar__img {
    max-width: 250px;
    margin: 0 auto;
  }
  .educational-research-seminar .educational-research-seminar__block .educational-research-seminar__img .educational-research-seminar__name {
    font-size: 15rem;
  }
  .educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__linkbtn {
    max-width: 16.111em;
    margin: 0 auto 20px;
  }
  .educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__weblinktext {
    font-size: 18rem;
    font-weight: bold;
  }
  .educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock {
    flex-direction: column;
    gap: 0 10%;
  }
  .educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__mailtext {
    font-size: 18rem;
    font-weight: bold;
  }
  .educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__mailaddress {
    display: inline-block;
    font-size: 16rem;
  }
  .educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__sns {
    justify-content: center;
    gap: 0 30px;
  }
  .educational-research-seminar .educational-research-seminar__block .educational-research-seminar__text .educational-research-seminar__subblock .educational-research-seminar__sns > div {
    flex-basis: 10%;
    max-width: 40px;
  }
  .link-menu-01 {
    flex-direction: column;
    gap: 20px 2%;
    font-size: 14rem;
  }
  .link-menu-02 {
    font-size: 15px;
  }
  .link-menu-02 a::before {
    margin-top: 1%;
    width: 21px;
    height: 21px;
  }
  .link-menu-02 a.outerlink span::after {
    top: 3px;
    width: 17px;
    height: 17px;
  }
  .link-menu-03 {
    flex-direction: column;
    gap: 35px 2%;
    font-size: 14rem;
  }
  .link-menu-set-01 {
    flex-direction: column;
    gap: 35px 2%;
    font-size: 14rem;
  }
  .image-cap-02 .image-cap-02__item {
    gap: 20px 0;
  }
  .image-cap-02 .image-cap-02__item > div {
    flex-basis: 48.5%;
  }
  .image-cap-02 .image-cap-02__item img {
    margin-bottom: 10px;
  }
  .image-cap-02 .image-cap-02__item .caption {
    text-align: center;
    font-size: 15px;
  }
  .image-cap-02 .image-cap-02__item::after {
    content: "";
    flex-basis: 48.5%;
  }
  .image-cap-03 .image-cap-03__item {
    gap: 20px 0;
  }
  .image-cap-03 .image-cap-03__item > div {
    flex-basis: 31.7%;
  }
  .image-cap-03 .image-cap-03__item img {
    margin-bottom: 10px;
  }
  .image-cap-03 .image-cap-03__item .caption {
    text-align: center;
    font-size: 15px;
  }
  .image-cap-03 .image-cap-03__item::after {
    content: "";
    flex-basis: 31.7%;
  }
}
@media screen and (max-width: 768px) {
  .image-cap-03 .image-cap-03__item {
    gap: 15px 0;
  }
  .image-cap-03 .image-cap-03__item > div {
    flex-basis: 48%;
  }
}
@media screen and (max-width: 500px) {
  .image-cap-02 .image-cap-02__item > div {
    flex-basis: 100%;
  }
  .image-cap-03 .image-cap-03__item > div {
    flex-basis: 100%;
  }
}
@media screen and (max-width: 380px) {
  .wp-block-lazyblock-chronology .chronology > div.chronology__year span {
    display: block;
    text-align: center;
    line-height: 1.3;
    font-weight: bold;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__year span:nth-of-type(1) {
    font-size: 22px;
  }
  .wp-block-lazyblock-chronology .chronology > div.chronology__year span:nth-of-type(2) {
    font-size: 11px;
  }
}
.wp-block-lazyblock-link-menu-02 .link-menu-02 {
  font-size: 1.12em;
  font-weight: bold;
  margin: 20px 0;
}
.wp-block-lazyblock-link-menu-02 .link-menu-02 ul,
.wp-block-lazyblock-link-menu-02 .link-menu-02 li {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.entry-content {
  counter-reset: flow;
}

.flow01,
.flow-box {
  position: relative;
  border: 5px solid #dcdcdc;
  background: #fff;
  padding: 0;
  margin: 0 0 60px;
  counter-increment: flow;
}

.wp-block-lazyblock-flow01 {
  position: relative;
  margin: 0 0 60px;
}
.wp-block-lazyblock-flow01::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -40px;
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 22px solid #dcdcdc;
}
.wp-block-lazyblock-flow01:not(:has(+ .wp-block-lazyblock-flow01))::after {
  content: none !important;
}

.wp-block-lazyblock-flow01 .flow01 {
  margin-bottom: 0;
}

.flow01__head {
  display: flex;
  align-items: center;
  gap: 28px;
  position: relative;
  padding: 14px 16px 14px 92px;
}

.flow01__head:not(:has(.flow01__icon)) .flow01__title {
  margin-top: 19px;
  padding-top: 0;
}

.flow01__icon {
  display: inline-block;
  width: 70px;
  height: 70px;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.flow01__icon img {
  width: 70px;
  height: 70px;
  display: block;
}

.flow01__icon--icon01 {
  background-image: url(../images/common/flow/icon01.png);
}

.flow01__icon--icon02 {
  background-image: url(../images/common/flow/icon02.png);
}

.flow01__icon--icon03 {
  background-image: url(../images/common/flow/icon03.png);
}

.flow01__icon--icon04 {
  background-image: url(../images/common/flow/icon04.png);
}

.flow01__icon--icon05 {
  background-image: url(../images/common/flow/icon05.png);
}

.flow01__icon--icon06 {
  background-image: url(../images/common/flow/icon06.png);
}

.flow01__icon--icon07 {
  background-image: url(../images/common/flow/icon07.png);
}

.flow01__label {
  display: none;
}

.flow01__label--icon05,
.flow01__label--icon06,
.flow01__label--icon07 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 172px;
  min-height: 44px;
  padding: 0 24px;
  border-radius: 999px;
  background: #1d2088;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  order: 2;
}

.flow01__label--icon05::before {
  content: "患者さん";
}

.flow01__label--icon06 {
  white-space: pre-line;
}
.flow01__label--icon06::before {
  content: "病院・診療所\a（かかりつけ医）";
  padding: 10px;
}

.flow01__label--icon07::before {
  content: "柏病院　患者支援センター";
}

.flow01__meta {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.flow01__meta .flow01__icon {
  order: 1;
  flex-shrink: 0;
}

.flow01__title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  border-left: none !important;
  padding-left: 0 !important;
  flex: 1;
  min-width: 0;
}

.flow01__body {
  padding: 24px;
  margin-top: 16px;
}
.flow01__body .lazyblock-inner-blocks {
  display: block;
}
.flow01__body .wp-block-columns {
  margin: 0;
}

.flow01__no {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 70px;
  height: 70px;
  background: #14126f;
  color: #fff;
  font-weight: 700;
  display: grid;
  place-items: center;
  font-size: 0;
  line-height: 0;
}
.flow01__no::before {
  content: counter(flow);
  font-size: 25px;
  line-height: 1;
}

.lb-borderbox {
  border: 5px solid #dcdcdc;
  background: #fff;
  padding: 20px;
}

/* 枠線の色（右パネル「色」で選択） */
.lb-borderbox--gray {
  border-color: #dcdcdc;
}

.lb-borderbox--red {
  border-color: #c62828;
}

.lb-borderbox--navy {
  border-color: #14126f;
}

.lb-borderbox__body > *:last-child {
  margin-bottom: 0;
}

/* borderbox 内のリスト調整 */
.lb-borderbox ul,
.lb-borderbox ol {
  padding-left: 1.2em;
  margin-left: 0;
  max-width: 100%;
}

/* 長文で突き抜け防止 */
.lb-borderbox li {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.photo-title {
  background-color: #f2f2f2;
  padding: 30px;
  margin: 0 0 20px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  /* min(100%,320px) はカラム flex の min-content 幅を列ごとに変えてしまうため使わない */
  min-width: 0;
}

/* カラム内：幅を列いっぱいに（等分カラムと相性よく） */
.wp-block-column > .photo-title {
  width: 100%;
  max-width: 100%;
}

/* カラムで photo-title を並べる：列幅均等（:has 非対応時はカラムに追加CSSクラス photo-title-row） */
.wp-block-columns:has(.photo-title) {
  align-items: stretch;
}
.wp-block-columns:has(.photo-title) > .wp-block-column > * {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.wp-block-columns:has(.photo-title) .photo-title {
  width: 100%;
  max-width: 100%;
  min-width: 0 !important;
  margin-bottom: 0;
}
.wp-block-columns:has(.photo-title) {
  /* PC：カード高さを統一（はみ出しはカード内スクロール） */
}
@media (min-width: 769px) {
  .wp-block-columns:has(.photo-title) .photo-title {
    height: 490px;
    min-height: 490px;
    max-height: 490px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 768px) {
  .wp-block-columns:has(.photo-title) .photo-title {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow-y: visible;
  }
}
.wp-block-columns:has(.photo-title) .photo-title__title {
  font-size: 24px;
}
@media (max-width: 768px) {
  .wp-block-columns:has(.photo-title) .photo-title__title {
    font-size: 20px;
  }
}

.wp-block-columns.photo-title-row {
  align-items: stretch;
}
.wp-block-columns.photo-title-row > .wp-block-column > * {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.wp-block-columns.photo-title-row .photo-title {
  width: 100%;
  max-width: 100%;
  min-width: 0 !important;
  margin-bottom: 0;
}
.wp-block-columns.photo-title-row {
  /* PC：カード高さを統一（はみ出しはカード内スクロール） */
}
@media (min-width: 769px) {
  .wp-block-columns.photo-title-row .photo-title {
    height: 490px;
    min-height: 490px;
    max-height: 490px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 768px) {
  .wp-block-columns.photo-title-row .photo-title {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow-y: visible;
  }
}
.wp-block-columns.photo-title-row .photo-title__title {
  font-size: 24px;
}
@media (max-width: 768px) {
  .wp-block-columns.photo-title-row .photo-title__title {
    font-size: 20px;
  }
}

@media (min-width: 769px) {
  .entry-content .wp-block-columns:has(.photo-title) > .wp-block-column,
  .l-main .wp-block-columns:has(.photo-title) > .wp-block-column,
  .entry-content .wp-block-columns.photo-title-row > .wp-block-column,
  .l-main .wp-block-columns.photo-title-row > .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    max-width: 100%;
  }
}
.photo-title__photo {
  margin: 0;
}
.photo-title__photo .photo-title__photo-link {
  display: block;
  line-height: 0;
  text-decoration: none;
  color: inherit;
}
.photo-title__photo .photo-title__photo-link:focus-visible {
  outline: 2px solid #14126f;
  outline-offset: 3px;
}
.photo-title__photo img {
  width: 100%;
  height: auto;
  display: block;
}

.photo-title__title {
  margin: 20px 0 0;
  text-align: center;
  color: #14126f;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.4;
}
.photo-title__title p,
.photo-title__title div {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  text-align: inherit;
}
.photo-title__title > * + * {
  margin-top: 0.35em;
}

.photo-title__caption {
  margin: 15px 0 0;
  text-align: left;
  color: #333;
  line-height: 1.8;
  font-size: 14px;
}
.photo-title__caption p,
.photo-title__caption div {
  margin: 0 0 0.6em;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.photo-title__caption p:last-child,
.photo-title__caption div:last-child {
  margin-bottom: 0;
}

/* 画像の直後に説明だけある場合は上余白をタイトル相当に */
.photo-title__photo + .photo-title__caption {
  margin-top: 20px;
}

@media (max-width: 768px) {
  .photo-title {
    padding: 20px;
    margin-bottom: 16px;
    min-width: 0;
  }
  .photo-title__title {
    font-size: 1.25rem;
    margin-top: 16px;
  }
  .photo-title__caption {
    font-size: 13px;
    margin-top: 12px;
  }
  .photo-title__photo + .photo-title__caption {
    margin-top: 16px;
  }
}
@media (max-width: 768px) {
  .flow01__head {
    flex-wrap: wrap;
    gap: 16px 16px;
    padding: 16px 16px 16px 70px;
  }
  .flow01__body {
    padding: 16px;
  }
  .flow01__title {
    flex: 0 0 100%;
    width: 100%;
    font-size: 18px;
    line-height: 1.5;
  }
  .flow01__meta {
    gap: 14px;
  }
  .flow01__no {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    top: 10px;
    left: 10px;
  }
  .flow01__no::before {
    font-size: 20px;
  }
  .flow01__icon {
    width: 34px;
    height: 34px;
  }
  .flow01__label--icon05,
  .flow01__label--icon06,
  .flow01__label--icon07 {
    min-width: auto;
    min-height: 34px;
    padding: 0 16px;
    font-size: 15px;
  }
  .flow01__head:not(:has(.flow01__icon)) .flow01__title {
    margin-top: 9px;
    padding-top: 0;
  }
}
.underline {
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

/* ===== スマホ：段落ち ===== */
.pay-logos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* SP 3列 */
  gap: 12px;
  align-items: center;
}

.pay-logos img {
  width: 100%;
  height: 48px;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

/* ===== PC：全部横並び ===== */
@media (min-width: 1024px) {
  .pay-logos {
    display: flex; /* ← PCだけflexに変更 */
    flex-wrap: nowrap; /* 折り返さない */
    justify-content: center;
    gap: 20px;
  }
  .pay-logos img {
    width: 60px;
    height: 50px;
  }
}
/* ===== アンカー用スペーサー ===== */
.anchor {
  padding-top: 140px;
  margin-top: -140px;
}

@media (max-width: 768px) {
  .anchor {
    padding-top: 70px;
    margin-top: -70px;
  }
}
/* box1ブロック：余白・背景なし（他で #f9f9f9 / padding:20px が当たるため !important で上書き） */
.wp-block-lazyblock-box1 {
  padding: 0 !important;
  background-color: transparent !important;
  margin-bottom: 30px;
}

/* =========================
   転院相談ボックス
========================= */
.transfer-consult-box {
  display: grid;
  grid-template-columns: 320px 1fr;
}

.transfer-consult-box__lead {
  background: #14126f;
  color: #fff;
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.transfer-consult-box__lead p {
  margin: 0 0 16px;
  line-height: 1.6;
}
.transfer-consult-box__lead p:last-child {
  margin-bottom: 0;
}

.transfer-consult-box__body {
  background: #f3f3f3;
  padding: 40px 48px;
  border: 5px solid #14126f;
}

@media (max-width: 768px) {
  .transfer-consult-box {
    grid-template-columns: 1fr;
  }
  .transfer-consult-box__lead {
    padding: 28px 20px;
  }
  .transfer-consult-box__body {
    padding: 28px 20px;
  }
}
/* =========================
   contact-row（TEL/FAX）
========================= */
.contact-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 15px;
}

.contact-row__icon {
  flex: 0 0 42px;
  width: 42px;
  height: 54px;
  margin-top: 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.contact-row.telephone .contact-row__icon {
  background-image: url(../images/common/flow/icon_tel_txt.png);
}

.contact-row.fax .contact-row__icon {
  background-image: url(../images/common/flow/icon_fax_txt.png);
}

.contact-row__text {
  display: flex;
  align-items: center;
  gap: 12px;
}

.contact-row__label {
  font-size: 22px;
  font-weight: 700;
}

.contact-row__number {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
}

@media (max-width: 768px) {
  .contact-row__icon {
    width: 34px;
    height: 44px;
  }
  .contact-row__label {
    font-size: 18px;
  }
  .contact-row__number {
    font-size: 24px;
  }
}
/* ============================================================
 * ブロック「追加CSSクラス」: hide
 * Lazy Blocks 等は wp-block-lazyblock-* であり .wp-block 単体が付かないことが多い
 * 段落は <p> に直接クラスが付き、wp-block- を含まない出力のこともある
 * ============================================================ */
body [class*=wp-block-].hide,
body [class*=lazyblock-].hide,
body .wp-block.hide,
body p.wp-block-paragraph.hide,
body .entry-content p.hide,
body .l-main article p.hide {
  display: none !important;
}

/*! このファイルを変更する場合は「.scss」から変更して下さい */
/*! 「.scss」ファイルがつかえない場合はcustom.cssを変更する */
/* スマホスタイル */
.visible-sp-block,
.visible-sp-inline,
br.sp {
  display: none !important;
}

.post-thumbnail, .entry-content .wp-audio-shortcode, .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator), *[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator), .default-max-width {
  max-width: 100%;
  width: 1200px;
}

.entry-content, .entry-summary {
  position: relative;
}

.entry-content.has_sidenavi {
  display: flex;
}
.entry-content.has_sidenavi ul#breadcrumbs {
  width: 100%;
}
.entry-content #contents {
  width: calc(90% - 260px);
  max-width: 1160px;
  margin: 0 auto;
  padding-bottom: 40px;
  font-size: 17rem;
}

.entry-content:not(.has_sidenavi) {
  width: 90%;
  max-width: 1160px;
}
.entry-content:not(.has_sidenavi) ul#breadcrumbs {
  width: 100%;
  padding: 20px 15px 30px 0;
}

html {
  font-size: 10px;
  font-size: 6.25%;
}

body {
  min-width: 1000px;
  color: #333;
  font-size: 16rem;
  -webkit-text-size-adjust: 100%;
  line-height: 1.75;
  overflow-x: hidden;
  background: #fff;
}

* {
  margin: 0px;
  padding: 0px;
}

em,
strong {
  font-weight: inherit;
  font-style: inherit;
}

form {
  display: inline;
}

ul,
ol {
  padding-left: 0;
  margin-left: 0;
}
ul.none,
ol.none {
  list-style-type: none;
}
ul.fa_list li:before,
ol.fa_list li:before {
  content: "\f0da";
  font-family: FontAwesome;
  margin-right: 0.5em;
}
ul li,
ol li {
  margin: 0px;
  padding: 0px;
}
ul li::marker,
ol li::marker {
  color: #14126f;
  font-size: 1.25em;
  line-height: 1;
  vertical-align: middle;
}
ul.icon li,
ol.icon li {
  text-indent: -20px;
  margin-left: 20px;
}
ul.icon li:before,
ol.icon li:before {
  content: "\f0c8";
  font-family: FontAwesome;
  margin-right: 0.5em;
  color: #14126f;
}

img {
  max-width: 100%;
  height: auto;
}

/* 標準アニメーション準備 */
.ani {
  transition: 1s all ease-out;
}
.ani.ani_fade {
  opacity: 0;
}
.ani.ani_fade.move {
  opacity: 1;
}
.ani.ani_fadeup {
  opacity: 0;
  position: relative;
  top: 100px;
}
.ani.ani_fadeup.move {
  opacity: 1;
  top: 0;
}
.ani.ani_fadedown {
  opacity: 0;
  position: relative;
  top: -100px;
}
.ani.ani_fadedown.move {
  opacity: 1;
  top: 0;
}
.ani.ani_rightleft {
  opacity: 0;
  position: relative;
  right: -100px;
}
.ani.ani_rightleft.move {
  opacity: 1;
  right: 0;
}
.ani.ani_leftright {
  opacity: 0;
  position: relative;
  left: -100px;
}
.ani.ani_leftright.move {
  opacity: 1;
  left: 0;
}
.ani.ani_blur {
  opacity: 0;
  filter: blur(10px);
}
.ani.ani_blur.move {
  opacity: 1;
  filter: blur(0);
}
.ani.ani_blurzoom {
  opacity: 0;
  filter: blur(10px);
  transform: scale(1.1);
  transition: 0.5s all ease-out;
}
.ani.ani_blurzoom.move {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}
.ani.ani_expand {
  opacity: 0;
  letter-spacing: -1em;
  font-size: 30rem;
  position: relative;
  left: -30px;
  transition: 0.5s all ease-out;
}
.ani.ani_expand.move {
  letter-spacing: 0em;
}
.ani.ani_expand.move {
  opacity: 1;
  left: 0px;
}

.img_wipe {
  position: relative;
  top: 0;
  left: 0;
}
.img_wipe::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #c7b6aa;
  content: "";
  transition: all 0.3s ease-out;
}
.img_wipe.wipe_open::before {
  width: 0;
}

/* アンカーリンクポイント　*/
.anchor_point01 {
  padding-top: 100px;
  margin-top: -100px;
}

@media screen and (max-width: 768px) {
  .anchor_point01 {
    padding-top: 30px;
    margin-top: -30px;
  }
}
.ani_wipe {
  position: relative;
  top: 0;
  left: 0;
}
.ani_wipe::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #c7b6aa;
  content: "";
  transition: all 0.3s ease-out;
}
.ani_wipe.move::before {
  width: 0;
}

.ani_rotateopen {
  text-align: center;
}
.ani_rotateopen img {
  width: 0;
  height: 100%;
  transition: all 0.3s ease-out;
}
.ani_rotateopen.move img {
  width: 100%;
}

.ani_float {
  position: relative;
  top: 30px;
  left: 0;
  opacity: 0;
  transition: all 0.5s ease-out;
  transition-delay: 0.2s;
}
.ani_float.move {
  top: 0px;
  opacity: 1;
}

.section {
  padding: 50px 0;
  /* 先頭のsection : 上部paddingが広い（通常の2倍） */
}
.section.section_first {
  padding-top: 100px;
}
.section {
  /* 末尾のsection : 下部paddingが広い（通常の2倍） */
}
.section.section_end {
  padding-bottom: 100px;
}
.section {
  /* 色付きセクション */
}
.section.section_odd {
  background-color: #eaeaf0;
}
.section.section_tilt_l {
  padding: 100px 0;
  clip-path: polygon(0 50px, 100% 0, 100% calc(100% - 50px), 0 100%);
}
.section.section_tilt_r {
  padding: 100px 0;
  clip-path: polygon(0 0, 100% 50px, 100% 100%, 0 calc(100% - 50px));
}
.section .section__description {
  margin-bottom: 60px;
}
.section {
  /* セクション内ブロック */
}
.section .section__block {
  margin: 60px 0;
}
.section .section__block:first-child {
  margin-top: 0;
}
.section .section__block:last-child {
  margin-bottom: 0;
}
.section .section__group {
  background-color: #F5F5F5;
  border-radius: 10px;
  padding: 15px;
  margin: 10px 0;
}
.section .section__group .group__label {
  font-weight: bold;
}
.section ul, .section ol {
  padding-left: 25px;
}

.container {
  width: 96%;
  max-width: 1160px;
  margin: 0 auto;
}

.cms p {
  margin: 0px;
}

.flexiblebox {
  position: relative;
}
.flexiblebox:before {
  content: "";
  display: block;
  padding-top: 75%;
  /* 高さを幅の75%に固定 */
}
.flexiblebox .flexiblebox__inner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.flexbox_list {
  /* Safari */
  display: flex;
  /* Safari */
  flex-wrap: wrap;
  /* Safari */
  justify-content: space-between;
}
.flexbox_list.list_reverse {
  flex-direction: row-reverse;
}

.lines-on-sides {
  position: relative;
  top: 0;
  left: 0;
  text-align: center;
}
.lines-on-sides:before {
  content: "";
  display: block;
  border-top: solid 1px #ccc;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  z-index: 1;
}
.lines-on-sides span {
  background: #fff;
  padding: 0 20px;
  position: relative;
  z-index: 5;
}
.lines-on-sides.sides_left {
  text-align: left;
}
.lines-on-sides.sides_left span {
  padding-left: 0;
}
.lines-on-sides.sides_right {
  text-align: right;
}
.lines-on-sides.sides_right span {
  padding-right: 0;
}

/* ボールド */
.f_bold {
  font-weight: bold;
  font-family: "Open Sans", Verdana, Roboto, "Droid Sans", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", sans-serif;
}

/* 明朝体 */
.f_mincho {
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

/* サンセリフ体 */
.f_sserif {
  font-family: "Open Sans", sans-serif;
}

/* セリフ体 */
.f_serif {
  font-family: "Roboto Slab", "Times New Roman", serif;
}

/* 数字 */
.f_number {
  font-family: "Roboto Slab", "Times New Roman", serif;
}

.c_blue {
  color: #14126f;
}

/* fontawesome の配置 */
.icon-left {
  position: relative;
  top: 0;
  left: 0;
  padding-left: 45px;
}
.icon-left:before {
  content: "\f060";
  font-family: FontAwesome;
  position: absolute;
  top: auto;
  left: 15px;
}

.icon-before:before {
  content: "\f060";
  font-family: FontAwesome;
  margin-right: 0.5em;
}

.icon-after:after {
  content: "\f061";
  font-family: FontAwesome;
  margin-left: 0.5em;
}

.icon-right {
  position: relative;
  top: 0;
  left: 0;
  padding-right: 45px;
}
.icon-right:after {
  content: "\f061";
  font-family: FontAwesome;
  position: absolute;
  top: auto;
  right: 15px;
}

.col-last {
  margin-right: 0;
}

/* 吹き出し */
.fukidashi {
  display: inline-block;
  background-color: #333;
  border-radius: 5px;
  position: relative;
  padding: 10px 20px;
  text-align: center;
  box-shadow: rgba(0, 0, 0, 0.25) 1px 1px 5px;
  color: #fff;
}
.fukidashi:after {
  border: 10px solid transparent;
  border-right-color: #333;
  border-left-width: 0;
  left: -10px;
  content: "";
  display: block;
  top: 10px;
  position: absolute;
  width: 0;
}

.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  table-layout: fixed;
  width: -moz-max-content;
  width: max-content; /* テーブル本来の幅で表示 */
  min-width: 100%;
}
table.visual {
  width: 100%;
  text-align: left;
}
table.visual td,
table.visual th {
  padding: 10px 20px;
  border: 1px solid #cdcddd;
}
table.visual th {
  background-color: #14126f;
  color: #fff;
  font-weight: inherit;
}
table.visual thead tr {
  border-bottom: 2px solid RGB(220, 224, 227);
  background-color: #f5f5f5;
  text-align: center;
}
table.visual tfoot {
  border-top: 2px solid RGB(220, 224, 227);
  background-color: #f5f5f5;
}

ul#breadcrumbs {
  margin: 0;
  padding: 30px 0 60px;
  list-style: none;
  display: flex;
  font-size: 14rem;
  line-height: 1.5;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin: 0 auto;
  width: 90%;
  max-width: 1200px;
}
ul#breadcrumbs li a {
  padding: 4px 0;
  color: #14126f;
  text-decoration: none;
  border-bottom: 1px solid;
}
ul#breadcrumbs li a:hover {
  border-bottom: none;
}
ul#breadcrumbs li:before {
  content: "＞";
  padding: 0 10px;
}
ul#breadcrumbs li:first-child::before {
  content: none;
}
ul#breadcrumbs li.home img {
  height: 1.5em;
  vertical-align: middle;
  margin-top: -4px;
}
ul#breadcrumbs li.home:before {
  content: "";
  margin: 0;
}

.pagination {
  text-align: center;
}
.pagination span,
.pagination a {
  display: inline-block;
  width: 45px;
  border: 1px solid #14126f;
  text-align: center;
  margin-right: 5px;
  text-decoration: none;
  line-height: 45px;
  color: #14126f;
}
.pagination span.current,
.pagination a.current {
  background-color: #ffd800;
  color: #14126f;
}
.pagination span.navi_ctrl,
.pagination a.navi_ctrl {
  border: none;
  background: #ffffff no-repeat center;
  background-size: 18px auto;
  width: 20px;
  height: 45px;
  vertical-align: middle;
  margin-top: -4px;
}
.pagination span.navi_ctrl.navi_first,
.pagination a.navi_ctrl.navi_first {
  background-image: url(../images/common/icons/navi_first.svg);
}
.pagination span.navi_ctrl.navi_prev,
.pagination a.navi_ctrl.navi_prev {
  background-image: url(../images/common/icons/navi_prev.svg);
}
.pagination span.navi_ctrl.navi_next,
.pagination a.navi_ctrl.navi_next {
  background-image: url(../images/common/icons/navi_next.svg);
}
.pagination span.navi_ctrl.navi_end,
.pagination a.navi_ctrl.navi_end {
  background-image: url(../images/common/icons/navi_end.svg);
}

input,
select,
textarea {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", sans-serif;
}

input {
  padding: 10px;
  font-size: 15rem;
}
input.long {
  width: 840px;
}
input.middle {
  width: 420px;
}
input.short {
  width: 120px;
}
input.mini {
  width: 80px;
}
input[type=button], input[type=submit] {
  cursor: pointer;
  transition: all 0.4s;
}
input::-moz-placeholder {
  color: #ccc;
}
input::placeholder {
  color: #ccc;
}

select {
  padding: 4px 10px;
  height: 45px;
}

textarea {
  padding: 15px 10px;
  line-height: 1.5em;
}
textarea.larget {
  width: 100%;
  height: 250px;
}
textarea.middle {
  width: 100%;
  height: 250px;
}
textarea.small {
  width: 100%;
  height: 250px;
}
textarea::-moz-placeholder {
  color: #ccc;
}
textarea::placeholder {
  color: #ccc;
}

.slick-next {
  right: -50px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 30rem;
}
.slick-next:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #000;
  font-size: 30rem;
  content: "\f105";
}

.slick-prev {
  left: -50px;
}
.slick-prev:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #000;
  font-size: 30rem;
  content: "\f104";
}

.slick-dots {
  bottom: -45px;
}
.slick-dots li {
  margin: 0 7px;
}
.slick-dots li.slick-active button {
  background: #818181;
}
.slick-dots li button {
  border-radius: 10px;
  width: 15px;
  height: 15px;
  background: #dddddd;
}
.slick-dots li button:before {
  content: none;
}

header#header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  min-width: 1000px;
  height: 130px;
  padding: 0 30px;
  background-color: #fff;
  color: #14126f;
  align-items: center;
  z-index: 2000;
}
header#header .header__logo {
  line-height: 1;
}
header#header #sp_globalnavi {
  margin-left: auto;
}
header#header .header__body {
  margin-left: auto;
}

#header__utility {
  position: relative;
  padding-top: 20px;
}
#header__utility .utility__contents {
  justify-content: flex-end;
  align-items: center;
}
#header__utility .utility__button {
  display: inline-block;
  width: 180px;
  padding: 5px 10px 6px;
  background: #14126f;
  border-radius: 100vmax;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
#header__utility .utility__button:hover {
  background: #6462c6;
}
#header__utility .utility__button img {
  position: relative;
  top: -2px;
  margin-right: 8px;
  display: inline-block;
  vertical-align: middle;
}
#header__utility .utility__button + .utility__button {
  margin-left: 10px;
}
#header__utility .utility__search {
  cursor: pointer;
  position: relative;
}
#header__utility .utility__search .search-form-wrapper {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  background-color: #fff;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  padding: 15px;
  margin-top: 5px;
  min-width: 350px;
}
#header__utility .utility__list {
  margin: 0 0 0 20px;
  padding: 0;
  color: currentColor;
  border-left: 1px solid #cdcddd;
  font-size: 12px;
  line-height: 1.2;
  list-style: none;
  text-align: center;
}
#header__utility .utility__list a {
  color: currentColor;
}
#header__utility .utility__list li {
  width: 80px;
  border-right: 1px solid #cdcddd;
}
#header__utility .utility__list li .icon {
  display: block;
  height: 26px;
  line-height: 26px;
  margin: 0;
  margin-bottom: 5px;
}
#header__utility .utility__list li .icon img {
  vertical-align: middle;
}
#header__utility .utility__list li .text {
  display: block;
}
#header__utility .utility__list .utility__lang {
  cursor: pointer;
  position: relative;
}
#header__utility .utility__list .utility__lang .submenu {
  display: block;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #f9f9f9;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  transition: opacity 0.5s ease, visibility 0.5s;
  width: 200%;
  margin-left: -50%;
}
#header__utility .utility__list .utility__lang .submenu a:hover {
  color: #fff;
  background-color: #14126f;
}
#header__utility .utility__list .utility__lang:hover .submenu {
  opacity: 1;
  visibility: visible;
}
#header__utility .utility__list .utility__lang .submenu-item {
  padding: 16px 16px;
  text-decoration: none;
  display: block;
}
#header__utility .utility__list .utility__lang .submenu-item:hover {
  background-color: #f1f1f1;
  /* ホバー時の背景色変更 */
}
#header__utility .utility__list .utility__fontsize {
  cursor: pointer;
}
#header__utility .utility__list .utility__bgcolor {
  cursor: pointer;
}
#header__utility .utility__list .utility__bgcolor .bgcolor__label {
  display: inline-block;
  width: 26px;
  height: 26px;
  margin: 0;
  padding: 0;
  border: 1px solid #333;
  border-radius: 6px;
  font-size: 13px;
  line-height: 26px;
  vertical-align: middle;
  background: #000;
  color: #fff;
}
#header__utility .utility__list .utility__volume {
  cursor: pointer;
}
#header__utility .utility__navi {
  position: absolute;
  right: 0;
  padding: 0;
  max-width: calc(100% - 260px);
  list-style: none;
  text-align: center;
}
#header__utility .utility__navi li {
  width: 220px;
  max-width: 20%;
  padding-left: 1px;
}
#header__utility .utility__navi li a {
  display: block;
  padding: 17px 5px 15px;
  background: #2A62C7;
  color: #fff;
}
#header__utility .utility__navi li a:hover {
  background: #2A62C7;
  opacity: 1;
}
#header__utility .search-form {
  border: 1px solid #D8D8D8;
  border-radius: 30px;
  line-height: 1;
}
#header__utility .search-form .search-field {
  height: 38px;
  margin: 0;
  padding: 0 0 0 40px;
  background: url(../images/common/icon_search.svg) no-repeat left 15px center;
  background-size: 20px;
  border: none;
  font-size: 16px;
  border-radius: 30px 0 0 30px;
  line-height: 38px;
  width: calc(100% - 60px);
}
#header__utility .search-form .search-submit {
  width: 60px;
  height: 38px;
  margin: 0;
  padding: 0;
  background: #14126f;
  border: none;
  border-radius: 0 30px 30px 0;
  color: #fff;
  font-size: 12px;
  line-height: 38px;
  text-align: center;
}

#globalnavi {
  margin-right: -15px;
  font-size: 18rem;
  line-height: 1.2;
}
#globalnavi a {
  color: currentColor;
  text-decoration: none;
}
#globalnavi a .icon {
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
}
#globalnavi .dropdown {
  z-index: 597;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: flex-end;
}
#globalnavi .dropdown li,
#globalnavi .dropdown .gnavi__sub {
  list-style: none;
  margin: 0;
  padding: 0;
}
#globalnavi .dropdown li.home {
  width: 10%;
}
#globalnavi .dropdown li.home .fa {
  font-size: 25rem;
}
#globalnavi .dropdown li.row2 a,
#globalnavi .dropdown li.row2 span,
#globalnavi .dropdown li.row2 .gmenu_menu {
  line-height: 1.3em;
  padding: 0.7em 0;
}
#globalnavi .dropdown li a,
#globalnavi .dropdown li span,
#globalnavi .dropdown li .gmenu_menu {
  position: relative;
  display: block;
  width: 100%;
  padding: 21px 20px;
  font-weight: 500;
}
#globalnavi .dropdown li.megamenu__open .plus {
  display: none;
}
#globalnavi .dropdown li.megamenu__open > a,
#globalnavi .dropdown li.megamenu__open > span {
  cursor: pointer;
}
#globalnavi .dropdown li.megamenu__open > a::after,
#globalnavi .dropdown li.megamenu__open > span::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  width: 0;
  height: 3px;
  margin: 0 auto;
  background: #14126f;
  transition: width 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#globalnavi .dropdown li.megamenu__open > a:hover::after,
#globalnavi .dropdown li.megamenu__open > span:hover::after {
  width: 100%;
}
#globalnavi .dropdown li.megamenu__open.open > a::after,
#globalnavi .dropdown li.megamenu__open.open > span::after {
  width: 100%;
}
#globalnavi .dropdown li .gnavi__sub {
  width: 100%;
  box-shadow: rgba(0, 0, 0, 0.25) 2px 2px 10px;
  background-color: #fff;
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 598;
  width: 220px;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-transition: all 0.6s ease-in-out;
}
#globalnavi .dropdown li .gnavi__sub li {
  width: 100%;
  float: none;
  line-height: 50px;
  height: auto;
}
#globalnavi .dropdown li .gnavi__sub li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
#globalnavi .dropdown li .gnavi__sub li.dir {
  background: url(../images/common/icons/right-arrow_gray.png) no-repeat center right 15px;
  background-size: 7px auto;
}
#globalnavi .dropdown li .gnavi__sub li .gnavi__sub_right {
  top: 0;
  left: 220px;
  padding: 15px 0;
}
#globalnavi .dropdown li .gnavi__sub li .gnavi__sub_right li {
  border: none;
  line-height: 2em;
}
#globalnavi .dropdown li .gnavi__sub li .gnavi__sub_right li a {
  line-height: 2.5em;
}
#globalnavi .dropdown li .gnavi__sub a {
  line-height: 3em;
  padding: 0;
  -webkit-transition: all 0.2s ease-in-out;
}
#globalnavi .dropdown li.hover, #globalnavi .dropdown li:hover {
  z-index: 599;
  cursor: default;
}
#globalnavi .dropdown li:hover > .gnavi__sub {
  visibility: visible;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
  top: 100%;
}
#globalnavi .dropdown li:hover > .gnavi__sub a {
  line-height: 4em;
}
#globalnavi .dropdown li.rtl ul {
  top: 100%;
  right: 0;
  left: auto;
}
#globalnavi .dropdown li.rtl ul ul {
  top: 1px;
  right: 99%;
  left: auto;
}
#globalnavi .megamenu {
  display: flex;
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  padding: 40px 0;
  background: #fff;
  background: rgb(248.875, 248.875, 250.625);
  box-shadow: 0 4px 6px rgba(20, 18, 111, 0.1);
  border-top: 1px solid #cdcddd;
  display: none;
  padding-left: 1%;
}
#globalnavi .megamenu .megamenu__title {
  position: relative;
  font-weight: bold;
  width: 230px;
  padding-top: 15px;
  font-size: 23rem;
  line-height: 1.3;
  padding-left: 2%;
}
#globalnavi .megamenu .megamenu__title a {
  padding: 0 0 5% 0;
}
#globalnavi .megamenu .megamenu__container {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
#globalnavi .megamenu .megamenu__container .megamenu__body .sublist {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
#globalnavi .megamenu .megamenu__container .megamenu__body .doctor_list {
  margin-top: 0;
}
#globalnavi .megamenu .megamenu__container2 {
  max-width: none !important;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 0 1% 0 0;
}
#globalnavi .megamenu .megamenu__container2 .subflex .smallflex {
  display: flex;
  justify-content: space-around;
}
#globalnavi .megamenu .megamenu__container2 .subflex:nth-of-type(1) {
  width: 30%;
  margin-left: 3.2%;
}
#globalnavi .megamenu .megamenu__container2 .subflex:nth-of-type(2), #globalnavi .megamenu .megamenu__container2 .subflex:nth-of-type(3), #globalnavi .megamenu .megamenu__container2 .subflex:nth-of-type(4) {
  width: 20%;
}
#globalnavi .megamenu .megamenu__container2 .subflex .miniflex .megamenu__sublist {
  margin-top: 2%;
}
#globalnavi .megamenu .megamenu__container2 .subflex .miniflex .megamenu__sublist2 {
  margin: 5.5% !important;
}
#globalnavi .megamenu .body__col0 {
  display: flex;
  position: relative;
  justify-content: space-between;
}
#globalnavi .megamenu .body__col2 {
  display: flex;
}
#globalnavi .megamenu__title {
  width: 230px;
  padding-top: 15px;
  font-size: 23rem;
  line-height: 1.3;
}
#globalnavi .megamenu__title a {
  position: relative;
  padding: 0 0 0 30px;
  font-weight: bold;
}
#globalnavi .megamenu__title a:hover {
  text-decoration: underline;
}
#globalnavi .megamenu__title a::before {
  content: "";
  position: absolute;
  left: -13%;
  top: 39%;
  display: block;
  width: 22px;
  height: 22px;
  margin-top: -11px;
  background: url(../images/common/icon_arrow03.svg);
  background-size: 100%;
}
#globalnavi .megamenu__body {
  width: calc(100% - 230px);
  padding-left: 40px;
  border-left: 1px solid #cdcddd;
  gap: 0 20px;
}
#globalnavi .megamenu__sublist .sphide {
  display: none;
}
#globalnavi .megamenu__list {
  width: 100%;
  margin: 0 0 15px;
  gap: 15px 15px;
  font-size: 17rem;
  line-height: 1.5;
  justify-content: flex-start;
}
#globalnavi .megamenu__list .sphide {
  display: none;
}
#globalnavi .megamenu__list li a {
  position: relative;
  min-width: 200px;
  padding: 16px 50px 16px 40px;
  background: #14126f;
  border-radius: 100vmax;
  color: #fff;
  text-align: center;
}
#globalnavi .megamenu__list li a:hover {
  background-color: #6462c6;
}
#globalnavi .megamenu__list li a::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: auto 0;
  background: url(../images/common/icon_arrow.svg) no-repeat;
  background-size: 100%;
}
#globalnavi .megamenu__sublist-mb {
  display: none;
}
#globalnavi .megamenu__sublist {
  margin: 30px 0 0;
  font-size: 16rem;
  line-height: 1.5;
}
#globalnavi .megamenu__sublist li + li {
  margin-top: 14px;
}
#globalnavi .megamenu__sublist li a {
  padding: 0 0 0 20px;
  color: #555;
}
#globalnavi .megamenu__sublist li a:hover {
  text-decoration: underline;
}
#globalnavi .megamenu__sublist li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  display: inline-block;
  width: 13px;
  height: 12px;
  background: url(../images/common/icon_arrow02.svg) no-repeat;
  background-size: 100%;
}
#globalnavi .megamenu__sublist li a[target=_blank]::before {
  left: 1px;
  top: 6px;
  width: 12px;
  height: 12px;
  background: url(../images/common/icon_blank02.svg) no-repeat;
  background-size: 100%;
}
#globalnavi.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
#globalnavi.fixed a:hover {
  border-bottom: 1px solid #88C859;
}
#globalnavi.gnavi_wide li {
  position: static;
}
#globalnavi .megamenu__department {
  padding-left: 0;
}

#mainvisual_sub {
  position: relative;
  width: 96%;
  height: 300px;
  margin-top: 130px;
  margin-bottom: 60px;
  padding: 85px 80px 0 60px;
  background: #14126f;
}
#mainvisual_sub::before {
  content: "";
  display: block;
  position: absolute;
  right: -4%;
  bottom: -60px;
  width: 100%;
  height: 100%;
  background: #eaeafb;
  z-index: -1;
}
#mainvisual_sub::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(rgba(20, 18, 111, 0.5), rgba(20, 18, 111, 0.5)), var(--mv-bg, none);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}
#mainvisual_sub .mv__title {
  position: relative;
  color: #fff;
  font-size: 46rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  font-synthesis: none;
  font-kerning: normal;
  font-feature-settings: "palt" 0 !important;
  line-height: 1.4;
  z-index: 1;
}

#contents_wrap {
  display: flex;
}

.contents__navi {
  margin-top: 60px;
  margin-bottom: 30px;
}
.contents__navi .navi__title {
  margin-bottom: 15px;
  font-weight: 500;
}
.contents__navi .navi__title .icon {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
}
.contents__navi .navi__list {
  margin: 0;
  padding: 10px;
  border: 1px solid #cdcddd;
  list-style-type: none;
  line-height: 1.5;
  justify-content: space-around;
}
.contents__navi .navi__list li a {
  position: relative;
  display: inline-block;
  padding: 10px 10px 10px 15px;
  color: currentColor;
  text-decoration: none;
}
.contents__navi .navi__list li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  display: inline-block;
  width: 10px;
  height: 11px;
  background: url(../images/common/icon_arrow_btm.svg) no-repeat;
  background-size: 100%;
  vertical-align: middle;
}

#sidenavi {
  position: sticky;
  left: 0;
  top: 180px;
  width: 260px;
  margin-top: -120px;
  background: #fff;
  order: -10;
  margin: -120px 0 0 0;
}
#sidenavi .navi__title {
  padding: 18px 20px;
  background: #14126f;
  color: #fff;
  font-size: 20rem;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  line-height: 1.2;
}
#sidenavi .navi__list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  line-height: 1.5;
}
#sidenavi .navi__list > li {
  border-bottom: 1px solid #cdcddd;
}
#sidenavi .navi__list .list__title {
  position: relative;
  padding: 17px 20px;
  color: #14126f;
  cursor: pointer;
}
#sidenavi .navi__list .list__title.trigger::before, #sidenavi .navi__list .list__title.trigger::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  display: block;
  width: 14px;
  height: 2px;
  background: #14126f;
}
#sidenavi .navi__list .list__title.trigger::after {
  transform: rotate(90deg);
}
#sidenavi .navi__list .list__title.trigger.open::after {
  opacity: 0;
}
#sidenavi .navi__list .list__title.arrow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
#sidenavi .navi__list .list__title.arrow span {
  flex: 1;
}
#sidenavi .navi__list .list__title.arrow i {
  color: #666;
  font-size: 12px;
  transition: transform 0.3s ease;
}
#sidenavi .navi__list .list__title.arrow:hover {
  text-decoration: none;
  color: #fff;
  background: #14126f;
}
#sidenavi .navi__list .list__title.arrow:hover i {
  transform: translateX(3px);
  color: #fff;
}
#sidenavi .navi__list .list__title.arrow.active {
  background: #f0f8ff;
  color: #0066cc;
  font-weight: bold;
}
#sidenavi .navi__list .list__title.arrow.active i {
  color: #0066cc;
}
#sidenavi .navi__list .list__title.arrow.active:hover {
  text-decoration: none;
  color: #fff;
  background: #14126f;
}
#sidenavi .navi__list .list__title.arrow.active:hover i {
  color: #fff;
}
#sidenavi .navi__list .inner__list {
  display: none;
  padding: 10px 20px 20px;
  font-size: 14rem;
  list-style-type: none;
}
#sidenavi .navi__list .inner__list li {
  position: relative;
  padding-left: 8px;
}
#sidenavi .navi__list .inner__list li + li {
  margin-top: 10px;
}
#sidenavi .navi__list .inner__list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}
#sidenavi .navi__list .inner__list li a {
  color: currentColor;
  text-decoration: none;
}
#sidenavi .navi__list .inner__list li a:hover {
  text-decoration: underline;
}

.tab__wrap .tab__button {
  margin: 0 0 40px;
  padding: 30px 30px 0;
  background: #eaeaf0;
  color: #14126f;
  gap: 0 10px;
  justify-content: center;
  font-size: 18rem;
  line-height: 1.2;
  list-style-type: none;
  text-align: center;
}
.tab__wrap .tab__button li {
  position: relative;
  padding: 15px 10px;
  background: #fff;
  cursor: pointer;
  flex: 1 1 0;
  min-width: 0;
  font-weight: 500;
  transition: all 0.5s;
}
.tab__wrap .tab__button li a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.tab__wrap .tab__button li a:hover {
  text-decoration: none;
}
.tab__wrap .tab__button li::before {
  content: "";
  position: absolute;
  display: block;
  left: 10px;
  right: 10px;
  top: 0;
  width: auto;
  height: 0;
  border-top: 1px solid #14126f;
  opacity: 0;
  transition: opacity 0.3s;
}
.tab__wrap .tab__button li:hover {
  background: #14126f;
  color: #fff;
}
.tab__wrap .tab__button li:hover a {
  color: #fff;
}
.tab__wrap .tab__button li.current {
  border-bottom-color: transparent;
}
.tab__wrap .tab__button li.current::before {
  opacity: 1;
}
.tab__wrap .tab__button li.tab_link a {
  text-decoration: none;
  display: block;
}

.page_title {
  background: #eee;
  margin: 0 0 30px 0px;
  font-size: 20rem;
  line-height: 3.5em;
}

.icon {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
}

h2 {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #cdcddd;
  color: #14126f;
  font-size: 30rem;
  font-weight: bold;
  line-height: 1.5;
}
h2::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 70px;
  height: 0;
  border-bottom: 2px solid #14126f;
}

.wp-block-lazyblock-h2-02 h2::before {
  content: none;
  border: 0;
}

h3 {
  margin-bottom: 15px;
  padding-left: 0;
  border-left: none;
  color: #14126f;
  font-size: 24rem;
  font-weight: bold;
  line-height: 1.5;
}

.section_label {
  border-left: 3px solid #aaa;
  line-height: 2em;
  text-align: left;
  padding-left: 1em;
  font-size: 16rem;
  font-weight: bold;
}

.icon__link {
  position: relative;
  display: inline-block;
  padding-left: 36px;
}
.icon__link::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 22px;
  height: 22px;
  background: url(../images/common/icon_arrow04.svg) no-repeat;
  background-size: 100%;
}

#top_footer .footer__sitemap {
  padding: 100px 0 60px;
  background: #eaeaf0;
  line-height: 1.47;
}
#top_footer .footer__sitemap a {
  color: currentColor;
  text-decoration: none;
}
#top_footer .footer__sitemap .flexbox_list:has(.sitemap__block) {
  gap: 60px 0;
}
#top_footer .footer__sitemap .sitemap__block {
  width: 17.242%;
}
#top_footer .footer__sitemap .sitemap__block.col02 {
  width: 38%;
}
#top_footer .footer__sitemap .sitemap__block.col02 .sitemap__list {
  width: 48%;
}
#top_footer .footer__sitemap .sitemap__block.col04 {
  width: 79.4%;
}
#top_footer .footer__sitemap .sitemap__block.col04 .sitemap__list {
  justify-content: flex-start;
}
#top_footer .footer__sitemap .sitemap__block.col04 .sitemap__list > li {
  width: 24%;
  margin-right: 2%;
}
#top_footer .footer__sitemap .sitemap__block.col04 .sitemap__list > li:nth-of-type(3) {
  margin-right: 0;
}
#top_footer .footer__sitemap .sitemap__block.col04 .sitemap__list > li.col02 {
  width: 48%;
}
#top_footer .footer__sitemap .sitemap__block.col04 .sitemap__list > li.col02 .sitemap__list02 {
  width: 47%;
}
#top_footer .footer__sitemap .sitemap__title {
  position: relative;
  margin-bottom: 20px;
  border-bottom: 1px solid #cdcddd;
  color: #14126f;
  font-weight: 500;
  line-height: 1.5;
}
#top_footer .footer__sitemap .sitemap__title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 20px;
  height: 0;
  border-bottom: 1px solid #14126f;
}
#top_footer .footer__sitemap .sitemap__title .icon {
  display: inline-block;
  min-width: 40px;
  height: 30px;
  margin-right: 5px;
  line-height: 30px;
  text-align: center;
  vertical-align: baseline;
}
#top_footer .footer__sitemap .sitemap__title .icon img {
  display: inline-block;
  vertical-align: middle;
}
#top_footer .footer__sitemap .sitemap__title a {
  position: relative;
  display: inline-block;
  padding-left: 30px;
  padding-bottom: 15px;
  color: #14126f;
  font-weight: 500;
}
#top_footer .footer__sitemap .sitemap__title a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  margin-top: -15px;
  background: url(../images/common/icon_arrow03.svg);
  background-size: 100%;
}
#top_footer .footer__sitemap .sitemap__title a:hover {
  text-decoration: underline;
}
#top_footer .footer__sitemap .sitemap__title + .sitemap__title {
  margin-top: 50px;
}
#top_footer .footer__sitemap .sitemap__list {
  margin: 0;
  font-size: 15rem;
  color: #14126f;
  list-style-type: none;
}
#top_footer .footer__sitemap .sitemap__list > li + li {
  margin-top: 10px;
}
#top_footer .footer__sitemap .sitemap__list > li > a {
  position: relative;
  display: inline-block;
  padding-left: 28px;
}
#top_footer .footer__sitemap .sitemap__list > li > a:hover {
  text-decoration: underline;
}
#top_footer .footer__sitemap .sitemap__list > li > a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  display: inline-block;
  width: 13px;
  height: 12px;
  background: url(../images/common/icon_arrow02.svg) no-repeat;
  background-size: 100%;
}
#top_footer .footer__sitemap .sitemap__list > li > a[target=_blank]::before {
  left: 2px;
  top: 6px;
  width: 11px;
  height: 11px;
  background: url(../images/common/icon_blank02.svg) no-repeat;
  background-size: 100%;
}
#top_footer .footer__sitemap .sitemap__list02 {
  margin: 10px 0 10px;
  padding-left: 28px;
  color: #333;
  font-size: 14rem;
  list-style-type: none;
}
#top_footer .footer__sitemap .sitemap__list02 > li + li {
  margin-top: 5px;
}
#top_footer .footer__sitemap .sitemap__list02 > li > a {
  position: relative;
  display: inline-block;
  padding-left: 8px;
}
#top_footer .footer__sitemap .sitemap__list02 > li > a:hover {
  text-decoration: underline;
}
#top_footer .footer__sitemap .sitemap__list02 > li > a::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}
#top_footer .footer__sitemap .sitemap__list02 > li > a.external-icon-only {
  padding-left: 0;
}
#top_footer .footer__sitemap .sitemap__list02 > li > a.external-icon-only::before {
  content: none;
}
#top_footer .footer__sitemap .sitemap__list02 > li > a.external-icon-only .icon {
  margin-right: 4px;
  vertical-align: middle;
}
#top_footer .footer__info {
  padding: 60px 0 60px;
  font-size: 15rem;
  /* #info へのアンカー時、固定ヘッダー分を空ける（.anchor-offset と同値） */
}
#top_footer .footer__info#info {
  scroll-margin-top: 150px;
}
#top_footer .footer__info .icon {
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
}
#top_footer .footer__info a {
  text-decoration: underline;
}
#top_footer .footer__info p {
  margin-bottom: 0;
}
#top_footer .footer__info .info__block {
  width: calc(33.333% - 27px);
}
#top_footer .footer__info .info__title {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #cdcddd;
  color: #14126f;
  font-weight: 500;
  line-height: 1.5;
}
#top_footer .footer__info .info__title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 40px;
  height: 0;
  border-bottom: 1px solid #14126f;
}
#top_footer .footer__info .info__title .icon {
  display: inline-block;
  min-width: 40px;
  height: 30px;
  margin-right: 5px;
  line-height: 30px;
  text-align: center;
  vertical-align: baseline;
}
#top_footer .footer__info .info__title .icon img {
  display: inline-block;
  vertical-align: middle;
}
#top_footer .footer__info * + .info__title {
  margin-top: 40px;
}
#top_footer .footer__info .info__tel {
  color: #14126f;
  font-size: 13rem;
  line-height: 1.2;
}
#top_footer .footer__info .info__tel a {
  color: #14126f;
  pointer-events: none;
  font-size: 24rem;
  font-weight: bold;
  text-decoration: none;
}
#top_footer .footer__info .info__button {
  margin-top: 10px;
}
#top_footer .footer__info .info__button .button {
  width: auto;
  padding: 5px 20px;
  font-size: 13rem;
}
#top_footer .footer__info .info__button .button::after {
  content: none;
}
#top_footer .footer__info .info__button .button img {
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 2px;
  vertical-align: middle;
}
#top_footer .footer__info .info__time {
  margin-bottom: 20px;
  color: #14126f;
  font-size: 16rem;
  font-weight: 500;
}
#top_footer .footer__info .info__time:has(.border) {
  padding-left: 10px;
}
#top_footer .footer__info .info__time .border {
  display: inline-block;
  min-width: 220px;
  margin-left: -10px;
  margin-bottom: 5px;
  padding: 8px 15px;
  border: 1px solid #cdcddd;
  font-size: 15rem;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}
#top_footer .footer__info .info__buttons {
  margin-top: 40px;
  gap: 50px;
}
#top_footer .footer__info .info__buttons li {
  width: calc(33.333% - 34px);
}
#top_footer .footer__info .info__buttons li .button {
  width: 100%;
  font-size: 16rem;
  text-decoration: none;
}
#top_footer .footer__hospitals {
  padding: 60px 0 60px;
  background: #eaeaf0;
}
#top_footer .footer__hospitals .hospitals__slide {
  line-height: 1.5;
}
#top_footer .footer__hospitals .hospitals__slide .slide__item {
  text-align: center;
}
#top_footer .footer__hospitals .hospitals__slide .slide__item a {
  color: #14126f;
  text-decoration: none;
}
#top_footer .footer__hospitals .hospitals__slide .slide__item a:hover .link__img img {
  transform: scale(1.06);
}
#top_footer .footer__hospitals .hospitals__slide .slide__item .link__img {
  overflow: hidden;
}
#top_footer .footer__hospitals .hospitals__slide .slide__item .link__img img {
  transition: transform 0.5s;
}
#top_footer .footer__hospitals .hospitals__slide .slide__item .list__text {
  margin-top: 15px;
}
#top_footer .footer__hospitals .hospitals__slide .slide__item .list__text .icon {
  position: relative;
  top: -2px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle;
}
#top_footer .footer__hospitals .hospitals__slide .swiper-button-next,
#top_footer .footer__hospitals .hospitals__slide .swiper-button-prev {
  display: none;
}

footer#footer {
  padding: 60px 0 50px;
  background: #14126f;
  color: #fff;
  text-align: center;
}
footer#footer .footer__logo {
  margin-bottom: 30px;
  text-align: center;
  line-height: 1;
}
footer#footer .footer__banner {
  margin-top: 50px;
  gap: 2px;
  justify-content: center;
  list-style-type: none;
  line-height: 1;
}
footer#footer .footer__address {
  font-size: 15rem;
}
footer#footer .footer__address a {
  display: inline-block;
  margin-left: 10px;
  padding: 5px 25px;
  border: 1px solid #fff;
  border-radius: 100vmax;
  color: currentColor;
  font-size: 13rem;
  line-height: 1.2;
  text-decoration: none;
}
footer#footer .footer__address a:hover {
  background: rgba(255, 255, 255, 0.3);
}
footer#footer .footer__address a .icon {
  position: relative;
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 2px;
  vertical-align: middle;
}
footer#footer .footer__navi {
  margin-top: 50px;
  font-size: 15rem;
  justify-content: center;
  line-height: 1;
}
footer#footer .footer__navi > li + li {
  border-left: 1px solid #4f4db0;
}
footer#footer .footer__navi > li > a {
  display: inline-block;
  padding: 0 20px;
  color: currentColor;
  text-decoration: none;
}
footer#footer .footer__navi > li > a:hover {
  text-decoration: underline;
}
footer#footer .footer__copyright {
  margin-top: 40px;
  font-size: 13rem;
  line-height: 1.5;
  text-align: center;
}

#main {
  margin: 0px auto;
  padding: 20px 0;
  text-align: center;
  background-color: #fff;
}

/* ボタン */
.button {
  position: relative;
  width: 300px;
  max-width: 100%;
  background-color: #14126f;
  color: #fff;
  border-radius: 100vmax;
  padding: 15px 15px;
  font-size: 18rem;
  font-weight: 500;
  line-height: 1.5;
  display: inline-block;
  text-align: center;
  text-decoration: none;
}
.button::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  display: inline-block;
  width: 22px;
  height: 22px;
  margin: auto 0;
  background: url(../images/common/icon_arrow.svg) no-repeat;
  background-size: 100%;
}
.button:hover {
  background-color: #6462c6;
}
.button.button_imp {
  background-color: #FFE400;
  color: #333;
}
.button.button_imp:hover {
  background-color: #FFEC4D;
}
.button.button_gst {
  border: 1px solid #14126f;
  background-color: transparent;
  color: #14126f;
}
.button.button_gst:hover {
  border: 1px solid #6462c6;
}
.button.button_wide {
  width: 100%;
  font-size: 20rem;
  line-height: 2.5em;
}
.button.button_shadow {
  box-shadow: rgba(0, 0, 0, 0.15) 0 5px 0;
}
.button.button_banner {
  border-radius: 0;
}
.button.button_big {
  font-size: 20rem;
  padding: 20px 40px;
}
.button.button_ico {
  position: relative;
  top: 0;
  left: 0;
  padding: 20px 20px;
  font-size: 18rem;
}
.button.button_ico .icon {
  height: 30px;
  position: absolute;
  top: 15px;
  left: 20px;
}
.button.button_ico .icon_r {
  height: 30px;
  position: absolute;
  top: 15px;
  right: 20px;
}
.button.ani_lr {
  position: relative;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
}
.button.ani_lr:before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: #6462c6;
  clip-path: polygon(0 0, 0% 0, -10% 100%, 0 100%);
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.5s ease-in-out;
}
.button.ani_lr:hover {
  background-color: #14126f;
}
.button.ani_lr:hover:before {
  clip-path: polygon(0 0, 110% 0, 100% 100%, 0 100%);
}
.button.ani_lr span {
  position: relative;
}
.button.ani_circle {
  position: relative;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
}
.button.ani_circle:before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: #6462c6;
  clip-path: circle(0 at 50% 50%);
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.5s ease-in-out;
}
.button.ani_circle:hover {
  background-color: #14126f;
}
.button.ani_circle:hover:before {
  clip-path: circle(100% at 50% 50%);
  opacity: 1;
}
.button.ani_circle span {
  position: relative;
}

.page footer#footer {
  margin-top: 40px;
}

/* シンプルなボタン */
.button_s {
  text-decoration: none;
  color: #0071C1;
}
.button_s::after {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f061";
  border: 1px solid #0071C1;
  width: 40px;
  line-height: 40px;
  display: inline-block;
  border-radius: 40px;
  text-align: center;
  margin-left: 20px;
}
.button_s.button_nega {
  color: #fff;
}
.button_s.button_nega::after {
  border-color: #fff;
}

#social_media {
  margin-bottom: 10px;
}
#social_media .sns_btn {
  float: left;
  width: 60px;
  height: 56px;
  margin-right: 5px;
  padding: 6px 0;
  text-align: center;
  color: #fff;
}
#social_media .sns_btn .sns_btn__icon {
  background-color: #000;
  margin-bottom: 2px;
}
#social_media .sns_btn .sns_btn__icon img {
  height: 20px;
}
#social_media .sns_btn .sns_btn__icon.full {
  height: 100%;
}
#social_media .sns_btn .sns_btn__icon.full img {
  margin: 11px 0;
}
#social_media .sns_btn.fb {
  background-color: #3B5998;
}
#social_media .sns_btn.fb .sns_btn__icon {
  background-color: #3B5998;
}
#social_media .sns_btn.tweet {
  background-color: #2CA7E0;
}
#social_media .sns_btn.tweet .sns_btn__icon {
  background-color: #2CA7E0;
}
#social_media .sns_btn.hatena {
  background-color: #5279E7;
}
#social_media .sns_btn.hatena .sns_btn__icon {
  background-color: #5279E7;
}
#social_media .sns_btn.g_plus {
  background-color: #DB4437;
}
#social_media .sns_btn.g_plus .sns_btn__icon {
  background-color: #DB4437;
}
#social_media .sns_btn.feedly {
  background-color: #0F8C0A;
}
#social_media .sns_btn.feedly .sns_btn__icon {
  background-color: #0F8C0A;
}
#social_media .sns_btn.line {
  background-color: #00B900;
}
#social_media .sns_btn.line .sns_btn__icon {
  background-color: #00B900;
}
#social_media a {
  display: block;
}
#social_media .count {
  display: inline-block;
  padding: 0;
}
#social_media .count_l {
  position: absolute;
  top: 7px;
  left: -5px;
}

/*
　レスポンシブ対応
　PCでは隠しておくもの
 */
#drawer {
  display: none;
}

.pc_block {
  display: block;
}

.sp_block {
  display: none;
}

.pc_inline {
  display: inline;
}

.sp_inline {
  display: none;
}

.pc_hidden {
  display: none !important;
}

@media screen and (min-width: 769px) {
  #sp_globalnavi {
    display: block !important;
  }
  #sp_globalnavi .fontsmall li {
    font-size: 14.5px;
    color: #000;
  }
  #sp_globalnavi .fontsmall li a {
    padding: 0 0 0 20px !important;
  }
  #sp_globalnavi .fontsmall li a::before {
    content: "";
    position: absolute;
    left: 0;
    display: inline-block;
    width: 13px;
    height: 12px;
    background: url(../images/common/icon_arrow02.svg) no-repeat;
    background-size: 100%;
  }
  #sp_globalnavi .acontainer {
    padding: 40px 0;
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr; /* 1列目だけちょい広く */
    justify-items: center;
    width: 100vw;
    background-color: #f9f9fb;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    align-items: start;
  }
  #sp_globalnavi .acontainer.show {
    opacity: 1;
  }
  #sp_globalnavi .miniflex {
    display: flex;
  }
  #sp_globalnavi .megamenu__container .subflex .minititle {
    min-width: 200px;
    padding: 16px 40px 16px 20px;
    background: #14126f;
    border-radius: 100vmax;
    color: #fff;
    text-align: center;
    width: 250px;
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  #sp_globalnavi .megamenu__container .subflex .minititle:hover {
    background: #6462c6 !important;
    color: #fff;
  }
  #sp_globalnavi .megamenu__container .subflex .minititle::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 0;
    bottom: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: auto 0;
    background: url(../images/common/icon_arrow.svg) no-repeat;
    background-size: 100%;
  }
  #sp_globalnavi .megamenu__container .subflex .minititle1 {
    width: 250px;
    min-width: 200px;
    padding: 16px 40px 16px 20px;
    background: #14126f;
    border-radius: 100vmax;
    color: #fff;
    text-align: center;
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  #sp_globalnavi .megamenu__container .subflex .minititle1:hover {
    background: #6462c6 !important;
    color: #fff;
  }
  #sp_globalnavi .megamenu__container .subflex .minititle1::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 0;
    bottom: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: auto 0;
    background: url(../images/common/icon_arrow.svg) no-repeat;
    background-size: 100%;
  }
  #sp_globalnavi .subflexsp {
    margin-top: 25%;
  }
  #sp_globalnavi .fontsmall:nth-of-type(2) {
    margin-left: 20%;
  }
  #top_footer .footer__info {
    display: block !important;
  }
}
@media screen and (max-width: 1366px) and (min-width: 769px) {
  header#header .header__logo img {
    width: 280px;
    height: auto;
  }
  #header__utility .utility__button {
    width: 150px;
    font-size: 14rem;
  }
  #globalnavi {
    font-size: 15rem;
  }
  #globalnavi .dropdown .megamenu__open .megamenu .megamenu__container .megamenu__title {
    padding: 0 0 0 3%;
  }
}
@media screen and (max-width: 1180px) and (min-width: 769px) {
  header#header {
    padding: 0 20px;
  }
  header#header .header__logo img {
    width: 250px;
  }
  #header__utility .utility__button {
    width: 130px;
    font-size: 13rem;
  }
  #header__utility .utility__button + .utility__button {
    margin-left: 6px;
  }
  #header__utility .utility__list {
    margin-left: 15px;
  }
  #globalnavi {
    font-size: 14rem;
  }
  #globalnavi .dropdown .megamenu__open .megamenu .megamenu__container .megamenu__title {
    padding: 0 0 0 3%;
  }
  #globalnavi .dropdown .megamenu__open .megamenu .megamenu__container .megamenu__list {
    gap: 15px 8px;
  }
  #globalnavi .dropdown li a,
  #globalnavi .dropdown li span,
  #globalnavi .dropdown li .gmenu_menu {
    padding: 23px 13px 22px;
  }
  #globalnavi .dropdown .megamenu__open .megamenu .megamenu__container .megamenu__body .doctor_list {
    margin-top: 0;
    width: 270px;
  }
  #globalnavi .dropdown .megamenu__open .megamenu .megamenu__container .megamenu__body .doctor_list li a {
    padding: 0 0 0 10%;
  }
  #globalnavi .dropdown .megamenu__open .megamenu .megamenu__container .body__col .megamenu__sublist li a {
    padding: 0 0 0 10%;
  }
}
@media screen and (max-width: 1180px) and (min-width: 769px) {
  #globalnavi .dropdown .megamenu__open .megamenu .megamenu__container .megamenu__title {
    padding: 0 0 0 3%;
  }
  #globalnavi .dropdown li a,
  #globalnavi .dropdown li span,
  #globalnavi .dropdown li .gmenu_menu {
    padding: 23px 13px 22px;
  }
  #globalnavi .megamenu__open .megamenu .megamenu__container2 .subflex .minititle {
    width: inherit;
  }
  #globalnavi .megamenu__open .megamenu .megamenu__container .megamenu__body .drop__list li {
    font-size: 10rem;
  }
  #globalnavi .megamenu__open .megamenu .megamenu__container .megamenu__body .drop__list li a {
    padding-right: 40px;
  }
  #globalnavi .megamenu__open .megamenu .megamenu__container .megamenu__body .drop__list li a::after {
    width: 20px;
    padding-left: 10px;
  }
}
@media screen and (max-width: 768px) and (min-width: 690px) {
  #header .sp_search__open .search-form-wrapper {
    left: 70% !important;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 6.25%;
  }
  body {
    min-width: 0;
    font-size: 14rem;
  }
  .visible-sp-block {
    display: block !important;
  }
  .visible-sp-inline {
    display: inline !important;
  }
  br.sp {
    display: inline !important;
  }
  .container-fluid,
  .container {
    width: 100%;
    max-width: 100%;
    padding: 0 15px;
  }
  .flexbox_list_sp {
    /* Safari */
    display: flex;
    /* Safari */
    flex-wrap: wrap;
    /* Safari */
    justify-content: space-between;
  }
  .container {
    padding: 0 15px;
  }
  #anc_top {
    display: block;
    padding-top: 60px;
    margin-top: -60px;
  }
  .h3-02 {
    padding-left: 2px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.5;
  }
  .h3-02::before {
    content: "";
    position: relative;
    width: 20px; /* ← 外側の丸サイズ */
    height: 20px;
    flex: 0 0 20px;
    border-radius: 50%;
    border: 2px solid #1a2f7a;
    margin-top: 0.25em;
  }
  .h3-02::after {
    content: "";
    position: absolute;
    width: 12px; /* ← 内側の丸サイズ */
    height: 12px;
    background: #1a2f7a;
    border-radius: 50%;
    left: 12px; /* padding-left + ::beforeの中央 */
    top: calc(0.25em + 10px); /* margin-top + ::beforeの中央 */
    transform: translate(-50%, -50%);
  }
  input {
    line-height: 2em;
  }
  input[type=button], input[type=submit] {
    -webkit-appearance: none;
    width: 100%;
  }
  input.long {
    width: 100%;
  }
  input.middle {
    width: 100%;
  }
  input.short {
    width: 30%;
  }
  textarea.larget {
    width: 100%;
  }
  textarea.middle {
    width: 100%;
  }
  textarea.small {
    width: 100%;
  }
  span.anchor a {
    top: -80px;
  }
  header#header {
    position: fixed;
    top: 0;
    left: 0;
    min-width: 0;
    height: 50px;
    padding: 0 0 0 8px;
    width: 100%;
    z-index: 10000;
  }
  header#header .header__logo img {
    width: 196px;
    height: auto;
  }
  header#header .sp_search__open {
    width: 50px;
    margin-left: auto;
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
  }
  header#header .sp_search__open .icon {
    display: block;
    margin: 0 auto 5px;
  }
  header#header .sp_search__open .search-form-wrapper {
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    z-index: 9999;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    padding: 15px;
    width: 100%;
  }
  header#header .sp_search__open .search-form-wrapper .search-form {
    border: 1px solid #D8D8D8;
    border-radius: 30px;
    line-height: 1;
  }
  header#header .sp_search__open .search-form-wrapper .search-form .search-field {
    height: 38px;
    margin: 0;
    padding: 0 0 0 40px;
    background: #fff url(../images/common/icon_search.svg) no-repeat left 15px center;
    background-size: 20px;
    border: none;
    font-size: 16px;
    border-radius: 30px 0 0 30px;
    line-height: 38px;
    width: calc(100% - 60px);
  }
  header#header .sp_search__open .search-form-wrapper .search-form .search-submit {
    width: 60px;
    height: 38px;
    margin: 0;
    padding: 0;
    background: #14126f;
    border: none;
    border-radius: 0 30px 30px 0;
    color: #fff;
    font-size: 12px;
    line-height: 38px;
    text-align: center;
  }
  #header__utility {
    position: relative;
    min-width: 0;
    padding: 20px 15px 20px;
  }
  #header__utility .utility__contents {
    justify-content: center;
  }
  #header__utility .utility__button {
    width: 150px;
    font-size: 14rem;
  }
  #header__utility .utility__list {
    margin: 30px 0 0;
    font-size: 11px;
    width: 100%;
  }
  #header__utility .utility__list li {
    width: 20%;
  }
  #header__utility .utility__list li .icon {
    height: 40px;
    line-height: 40px;
  }
  #header__utility .utility__list .utility__search .search-form-wrapper {
    position: absolute;
    width: calc(100vw - 40px);
    left: 260%;
    transform: translateX(-50%);
    box-shadow: none;
    top: 100%;
    margin-top: 10px;
    min-width: auto;
    z-index: 10;
  }
  #header__utility .utility__list .utility__lang .submenu {
    width: 500%;
    margin-left: 0;
    box-shadow: none;
    flex-wrap: wrap;
    justify-content: center;
    top: 20px;
    left: -100%;
    position: relative;
    opacity: 0;
    visibility: hidden;
    display: none;
    font-size: 14rem;
  }
  #header__utility .utility__list .utility__lang .submenu.in {
    opacity: 1;
    visibility: visible;
    display: flex;
  }
  #header__utility .utility__list .utility__lang .submenu-item {
    width: 50%;
  }
  #header__utility .utility__list .utility__bgcolor .bgcolor__label {
    display: inline-block;
    width: 26px;
    height: 26px;
    margin: 7px 0 0;
    padding: 0;
    border: 1px solid #333;
    border-radius: 6px;
    font-size: 13px;
    line-height: 26px;
    vertical-align: middle;
  }
  #header__utility .utility__navi {
    display: none;
  }
  #sp_globalnavi {
    display: none;
    position: fixed;
    left: 0;
    top: 50px;
    width: 100%;
    height: calc(100% - 50px);
    background: #fff;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    z-index: 598;
  }
  #sp_globalnavi__open {
    width: 50px;
    height: 50px;
    padding-top: 3px;
    background: #fff;
    color: #14126f;
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
  }
  #sp_globalnavi__open.open .bar {
    background: transparent;
  }
  #sp_globalnavi__open.open .bar:before {
    transform: rotate(45deg) translate(4px, 5px);
  }
  #sp_globalnavi__open.open .bar:after {
    transform: rotate(-45deg) translate(4px, -4px);
  }
  #sp_globalnavi__open .bar__wrap {
    display: block;
    width: 28px;
    height: 28px;
    margin: 0 auto 2px;
    padding-top: 13px;
    background: #14126f;
    border-radius: 50%;
  }
  #sp_globalnavi__open .bar {
    position: relative;
    display: block;
    width: 16px;
    height: 2px;
    margin: 0 auto 12px;
    background: #fff;
    transition: background 0.3s;
  }
  #sp_globalnavi__open .bar:before, #sp_globalnavi__open .bar:after {
    content: "";
    position: absolute;
    left: 0;
    display: block;
    width: 16px;
    height: 2px;
    background: #fff;
    transition: transform 0.3s;
  }
  #sp_globalnavi__open .bar:before {
    top: -6px;
  }
  #sp_globalnavi__open .bar:after {
    top: 6px;
  }
  #globalnavi {
    margin-right: 0;
  }
  #globalnavi .dropdown {
    flex-direction: column;
  }
  #globalnavi .dropdown > li > a,
  #globalnavi .dropdown > li > span,
  #globalnavi .dropdown > li .gmenu_menu, #globalnavi .dropdown > li.megamenu__open > span {
    position: relative;
    padding: 20px 13px 20px;
    border-bottom: 1px solid #000;
  }
  #globalnavi .dropdown > li > a .plus,
  #globalnavi .dropdown > li > span .plus,
  #globalnavi .dropdown > li .gmenu_menu .plus, #globalnavi .dropdown > li.megamenu__open > span .plus {
    display: block;
  }
  #globalnavi .dropdown > li > a::after,
  #globalnavi .dropdown > li > span::after,
  #globalnavi .dropdown > li .gmenu_menu::after, #globalnavi .dropdown > li.megamenu__open > span::after {
    content: none !important;
  }
  #globalnavi .dropdown .megamenu__open {
    z-index: 11111;
  }
  #globalnavi .dropdown .megamenu__open.open > span .plus::after {
    content: none;
  }
  #globalnavi .dropdown .megamenu__open .plus {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 50px;
    height: 100%;
    background: #eaeafb;
    z-index: 1;
  }
  #globalnavi .dropdown .megamenu__open .plus::before {
    content: "";
    display: block;
    position: absolute;
    right: 16px;
    top: 50%;
    width: 18px;
    height: 2px;
    background: #14126f;
    z-index: 1;
  }
  #globalnavi .dropdown .megamenu__open .plus::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    display: inline-block;
    width: 18px;
    height: 2px;
    margin: 0 auto;
    background: #14126f;
    transform: rotate(90deg);
  }
  #globalnavi .dropdown .megamenu__open .megamenu .subflex {
    font-size: 1em;
  }
  #globalnavi .dropdown .megamenu {
    padding: 0;
    position: static;
    box-shadow: none;
  }
  #globalnavi .dropdown .megamenu .megamenu__container2 .subflex {
    margin-left: 0 !important;
  }
  #globalnavi .dropdown .megamenu .megamenu__container2 .subflex .miniflex .megamenu__sublist {
    margin-top: 0 !important;
  }
  #globalnavi .dropdown .megamenu .megamenu__container2 .subflex .miniflex .megamenu__sublist li {
    width: 100vw;
  }
  #globalnavi .dropdown .megamenu .megamenu__container2 .subflex .miniflex .megamenu__sublist2 {
    margin: 0 !important;
  }
  #globalnavi .dropdown .megamenu .megamenu__container {
    display: block;
    width: 100%;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__title {
    display: none;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__title a {
    font-weight: normal;
    padding: 0;
    font-size: 17rem;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__title a::before {
    height: 0;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body {
    width: 100%;
    padding: 0;
    display: block;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .doctor_list .sphide {
    display: block !important;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .sublist {
    display: flex;
    flex-direction: column;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .megamenu__list {
    display: block;
    width: 100vw;
    margin: 0;
    gap: 0;
    font-size: 14rem;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .megamenu__list .sphide {
    display: block;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .megamenu__list li {
    background-color: #f4f4f4;
    border-bottom: 1px solid #000;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .megamenu__list a {
    padding: 16px 13px 16px 30px;
    width: 100%;
    background: none;
    border-radius: 0;
    color: #333;
    text-align: left;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .megamenu__list a::after {
    top: 5px;
    display: inline-block;
    width: 13px;
    height: 12px;
    background: url(../images/common/icon_arrow02.svg) no-repeat;
    background-size: 100%;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .megamenu__sublist-mb {
    display: block;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .megamenu__sublist-mb li {
    background-color: #f4f4f4;
    border-bottom: 1px solid #000;
  }
  #globalnavi .dropdown .megamenu .megamenu__container .megamenu__body .drop_list {
    display: block;
  }
  #globalnavi .dropdown .megamenu .subflex {
    font-size: 14rem;
  }
  #globalnavi .dropdown .megamenu .subflex .minititle .plus {
    display: block;
  }
  #globalnavi .dropdown .megamenu .subflex .miniflex {
    display: none;
  }
  #globalnavi .dropdown .megamenu .subflex .megamenu__sublist li {
    background-color: #eaeafb;
  }
  #globalnavi .dropdown .megamenu .subflex .megamenu__sublist li a {
    padding-left: 42px;
  }
  #globalnavi .dropdown .megamenu .subflex .minititle {
    padding: 16px 13px 16px 30px;
    background-color: none;
    border-bottom: 1px solid #000;
    color: #333;
    font-size: 14rem;
    width: 100vw;
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  #globalnavi .dropdown .megamenu .subflex .minititle:hover {
    background-color: #eaeafb;
  }
  #globalnavi .dropdown .megamenu .subflex .minititle.hidden-sp {
    display: none;
  }
  #globalnavi .dropdown .megamenu .subflex .minititle.open .plus::after {
    content: none;
  }
  #globalnavi .dropdown .megamenu .subflex .minititle .plus {
    background-color: #cdcddd;
  }
  #globalnavi .dropdown .megamenu .megamenu__sublist {
    margin-top: 0;
    font-size: 14rem;
  }
  #globalnavi .dropdown .megamenu .megamenu__sublist li {
    background-color: #f4f4f4;
    border-bottom: 1px solid #000;
  }
  #globalnavi .dropdown .megamenu .megamenu__sublist li + li {
    margin-top: 0;
  }
  #globalnavi .dropdown .megamenu .megamenu__sublist li a,
  #globalnavi .dropdown .megamenu .megamenu__sublist li span,
  #globalnavi .dropdown .megamenu .megamenu__sublist li .gmenu_menu {
    background: none;
    width: 100%;
    padding: 16px 13px 16px 30px;
    color: #333;
    text-align: left;
  }
  #globalnavi .dropdown .megamenu .megamenu__sublist li a::before,
  #globalnavi .dropdown .megamenu .megamenu__sublist li span::before,
  #globalnavi .dropdown .megamenu .megamenu__sublist li .gmenu_menu::before {
    left: auto;
    right: 16px;
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
  #globalnavi .dropdown .megamenu.megamenu__visit .megamenu__body {
    justify-content: flex-start;
  }
  #globalnavi .dropdown .megamenu.megamenu__visit .megamenu__body .body__col {
    margin-right: 0;
  }
  #globalnavi .dropdown .megamenu.megamenu__worker .megamenu__container .megamenu__title {
    display: none;
  }
  #globalnavi .dropdown .megamenu.megamenu__worker .megamenu__container .megamenu__body2 {
    display: block;
    padding-left: 0;
    border-left: none;
  }
  #globalnavi .dropdown .megamenu.megamenu__worker .megamenu__container .body__col2 {
    display: block;
  }
  /* メインビジュアル（SP：左右パディング均等・タイトル左寄せ・縦は中央。ブロック全体は従来どおり左基準） */
  #mainvisual_sub {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: calc(100% - 20px);
    max-width: 100%;
    margin: 50px 0 20px;
    box-sizing: border-box;
    min-height: 176px;
    height: auto;
    padding: 20px 20px;
    background: #14126f;
  }
  #mainvisual_sub::before {
    right: -20px;
    bottom: -20px;
  }
  #mainvisual_sub .mv__title {
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-size: 26rem;
    line-height: 1.4;
    text-align: left;
    box-sizing: border-box;
  }
  ul#breadcrumbs {
    width: 100%;
    padding: 20px 15px 30px;
    gap: 10px 0;
    font-size: 12rem;
  }
  ul#breadcrumbs li::before {
    padding: 0 5px;
  }
  #drawer {
    display: block;
  }
  #drawer .drawer__btn {
    position: fixed;
    top: 0px;
    right: 0;
    z-index: 1002;
    width: 50px;
    height: 50px;
    background-color: #555;
    cursor: pointer;
  }
  #drawer .drawer__btn span {
    display: block;
    width: 50%;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transition: 0.3s;
  }
  #drawer .drawer__btn span:nth-child(1) {
    transform: translate(-50%, -12px);
  }
  #drawer .drawer__btn span:nth-child(2) {
    transform: translate(-50%, -50%);
  }
  #drawer .drawer__btn span:nth-child(3) {
    transform: translate(-50%, 11px);
  }
  #drawer .drawer__btn.active span:nth-child(1) {
    transform: translate(-50%, 0) rotate(45deg);
  }
  #drawer .drawer__btn.active span:nth-child(2) {
    transform: translate(100%, 0);
    opacity: 0;
  }
  #drawer .drawer__btn.active span:nth-child(3) {
    transform: translate(-50%, 0) rotate(-45deg);
  }
  #drawer .drawer__menu {
    position: fixed;
    top: 0;
    right: 0;
    padding-top: 50px;
    z-index: 1001;
    width: 300px;
    height: 100vh;
    overflow-y: auto;
    transition: 0.3s;
    transform: translateX(100%);
    opacity: 0;
    background-color: #33496c;
    text-align: left;
  }
  #drawer .drawer__menu ul {
    list-style: none;
  }
  #drawer .drawer__menu.active {
    transform: translateX(0);
    opacity: 1;
  }
  #drawer .drawer__menu .menu__list {
    background-color: #456aa3;
    color: #fff;
  }
  #drawer .drawer__menu .menu__list li:not(:last-child) {
    border-bottom: 1px solid #6f8fc1;
  }
  #drawer .drawer__menu .menu__list li a,
  #drawer .drawer__menu .menu__list li span {
    color: #fff;
    padding: 10px 20px;
    display: block;
    text-decoration: none;
  }
  #drawer .drawer__menu .menu__list li.menu__parent {
    font-size: 20rem;
    font-weight: bold;
  }
  #drawer .drawer__menu .menu__list .menu__item {
    padding-left: 20px;
  }
  #drawer .drawer__menu .menu__list .menu__item.dir > span::after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "+";
    position: absolute;
    right: 30px;
  }
  #drawer .drawer__menu .menu__list .menu__item.dir > span.open::after {
    content: "\f068";
  }
  #drawer .drawer__menu .menu__list .menu__item.dir ul {
    display: none;
  }
  #drawer .drawer__menu .menu__list .menu__item.dir .dir__label {
    font-weight: bold;
  }
  #drawer .drawer__menu .menu__list .menu__item.dir .dir__label span {
    color: #ffe000;
  }
  #drawer .drawer__menu .menu__list .menu__item ul {
    background-color: #5176b1;
  }
  #drawer .drawer__bg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7);
    transition: 0.3s;
    transform: translateX(100%);
    opacity: 0;
    cursor: pointer;
  }
  #drawer .drawer__bg.active {
    transform: translateX(0);
    opacity: 1;
  }
  #top_footer .footer__sitemap {
    display: none;
    padding: 50px 0 35px;
  }
  #top_footer .footer__sitemap .flexbox_list:has(.sitemap__block) {
    gap: 0;
  }
  #top_footer .footer__sitemap .sitemap__block {
    width: 100%;
  }
  #top_footer .footer__sitemap .sitemap__block:has(.sitemap__list) {
    margin-bottom: 40px;
  }
  #top_footer .footer__sitemap .sitemap__block.col02 {
    width: 100%;
  }
  #top_footer .footer__sitemap .sitemap__block.col02 .sitemap__list {
    width: 48%;
  }
  #top_footer .footer__sitemap .sitemap__block.col04 {
    width: 100%;
  }
  #top_footer .footer__sitemap .sitemap__block.col04 .sitemap__list {
    justify-content: space-between;
  }
  #top_footer .footer__sitemap .sitemap__block.col04 .sitemap__list > li {
    width: 48%;
    margin-right: 0;
  }
  #top_footer .footer__sitemap .sitemap__block.col04 .sitemap__list > li.col02 {
    width: 100%;
  }
  #top_footer .footer__sitemap .sitemap__block.col04 .sitemap__list > li.col02 .sitemap__list02 {
    width: 48%;
  }
  #top_footer .footer__sitemap .sitemap__title {
    margin-bottom: 15px;
    font-size: 16rem;
  }
  #top_footer .footer__sitemap .sitemap__title + .sitemap__title {
    margin-top: 20px;
  }
  #top_footer .footer__sitemap .sitemap__list {
    font-size: 14rem;
  }
  #top_footer .footer__sitemap .sitemap__list > li + li {
    margin-top: 10px;
  }
  #top_footer .footer__sitemap .sitemap__list > li > a {
    padding-left: 22px;
  }
  #top_footer .footer__sitemap .sitemap__list > li > a:hover {
    text-decoration: none;
  }
  #top_footer .footer__sitemap .sitemap__list02 {
    margin: 10px 0 10px;
    padding-left: 25px;
    font-size: 12rem;
  }
  #top_footer .footer__sitemap .sitemap__list02 > li + li {
    margin-top: 5px;
  }
  #top_footer .footer__info__open {
    position: relative;
    padding: 15px 15px;
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    color: #14126f;
    cursor: pointer;
    font-size: 15rem;
  }
  #top_footer .footer__info__open.open::after {
    opacity: 0;
  }
  #top_footer .footer__info__open::before, #top_footer .footer__info__open::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    display: block;
    width: 14px;
    height: 2px;
    background: currentColor;
  }
  #top_footer .footer__info__open::after {
    transform: rotate(90deg);
  }
  #top_footer .footer__info {
    display: none;
    padding: 30px 0 50px;
    font-size: 14rem;
  }
  #top_footer .footer__info#info {
    scroll-margin-top: 50px;
  }
  #top_footer .footer__info .info__block {
    width: 100%;
  }
  #top_footer .footer__info .info__block + .info__block {
    margin-top: 50px;
  }
  #top_footer .footer__info .info__title {
    margin-bottom: 15px;
    font-size: 16rem;
  }
  #top_footer .footer__info * + .info__title {
    margin-top: 45px;
  }
  #top_footer .footer__info .info__tel a {
    pointer-events: inherit;
  }
  #top_footer .footer__info .info__time {
    margin-bottom: 15px;
    font-size: 16rem;
  }
  #top_footer .footer__info .info__time:has(.border) {
    padding-left: 10px;
  }
  #top_footer .footer__info .info__buttons {
    margin-top: 40px;
    gap: 15px;
  }
  #top_footer .footer__info .info__buttons li {
    width: 100%;
  }
  #top_footer .footer__info .info__buttons li .button {
    width: 100%;
    font-size: 15rem;
  }
  #top_footer .footer__hospitals {
    padding: 50px 0 40px;
  }
  #top_footer .footer__hospitals .container {
    padding: 0;
  }
  #top_footer .footer__hospitals .hospitals__slide .slide__item .link__img img {
    width: 100%;
    height: auto;
  }
  #top_footer .footer__hospitals .hospitals__slide .slide__item .list__text {
    margin-top: 12px;
  }
  #top_footer .footer__hospitals .hospitals__slide .slide__item .list__text .icon {
    margin-right: 5px;
  }
  #top_footer .footer__hospitals .hospitals__slide .swiper-button-next,
  #top_footer .footer__hospitals .hospitals__slide .swiper-button-prev {
    display: flex;
    width: 20px;
    height: 40px;
    margin-top: -36px;
    background: rgba(20, 18, 111, 0.5);
    color: #fff;
  }
  #top_footer .footer__hospitals .hospitals__slide .swiper-button-next::after,
  #top_footer .footer__hospitals .hospitals__slide .swiper-button-prev::after {
    font-size: 14px;
  }
  #top_footer .footer__hospitals .hospitals__slide .swiper-button-prev {
    left: 0;
  }
  #top_footer .footer__hospitals .hospitals__slide .swiper-button-next {
    right: 0;
  }
  footer#footer .footer__logo {
    margin-bottom: 20px;
  }
  footer#footer .footer__banner {
    margin-top: 40px;
    margin-left: 0;
    padding-left: 0;
  }
  footer#footer .footer__banner li {
    width: 240px;
  }
  footer#footer .footer__address {
    font-size: 14rem;
  }
  footer#footer .footer__address a {
    display: block;
    width: -moz-max-content;
    width: max-content;
    margin: 10px auto 0;
    padding: 5px 15px;
    font-size: 13rem;
  }
  footer#footer .footer__address a:hover {
    background: none;
  }
  footer#footer .footer__navi {
    margin-top: 40px;
    font-size: 13rem;
    margin-left: 0;
    padding-left: 0;
    gap: 20px 0;
  }
  footer#footer .footer__navi > li {
    margin-right: -1px;
    border-right: 1px solid #4f4db0;
    border-left: 1px solid #4f4db0;
  }
  footer#footer .footer__navi > li > a {
    padding: 0 15px;
  }
  footer#footer .footer__navi > li > a:hover {
    text-decoration: none;
  }
  .pagination {
    text-align: left;
  }
  .pagination span,
  .pagination a {
    width: 35px;
    height: 35px;
    line-height: 35px;
    margin-bottom: 3px;
  }
  #contents_wrap {
    display: block;
  }
  .entry-content {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-bottom: 0;
    font-size: 16rem;
  }
  .entry-content .section {
    padding-left: 15px;
    padding-right: 15px;
  }
  .entry-content.has_sidenavi {
    display: block;
  }
  .entry-content.has_sidenavi #contents {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 0;
    font-size: 16rem;
  }
  .entry-content.has_sidenavi #contents ul#breadcrumbs {
    padding-left: 0;
    padding-right: 0;
  }
  body.page-template-default .entry-content.has_sidenavi {
    display: flex;
    flex-direction: column;
  }
  body.page-template-default .entry-content.has_sidenavi #contents {
    order: 0;
  }
  body.page-template-default .entry-content.has_sidenavi #sidenavi {
    order: 1;
    margin-top: 50px;
  }
  .contents__navi {
    margin-top: 40px;
    padding: 0 15px;
  }
  .contents__navi .navi__list {
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0px 10px;
    font-size: 14rem;
  }
  .contents__navi .navi__list li {
    width: 100%;
  }
  .contents__navi .navi__list li a::before {
    top: 15px;
  }
  #sidenavi {
    position: static;
    width: 100%;
    margin-top: 50px;
    order: 0;
  }
  #sidenavi .navi__title {
    padding: 18px 15px;
    font-size: 20rem;
  }
  #sidenavi .navi__list .list__title {
    padding: 17px 15px;
  }
  #sidenavi .navi__list .list__title::before, #sidenavi .navi__list .list__title::after {
    right: 15px;
    width: 14px;
    height: 2px;
  }
  #sidenavi .navi__list .list__title::after {
    transform: rotate(90deg);
  }
  #sidenavi .navi__list .inner__list {
    display: none;
    padding: 10px 20px 20px;
    font-size: 14rem;
    list-style-type: none;
  }
  #sidenavi .navi__list .inner__list li {
    position: relative;
    padding-left: 8px;
  }
  #sidenavi .navi__list .inner__list li + li {
    margin-top: 10px;
  }
  #sidenavi .navi__list .inner__list li::before {
    content: "-";
    position: absolute;
    left: 0;
    top: 0;
  }
  #sidenavi .navi__list .inner__list li a {
    color: currentColor;
    text-decoration: none;
  }
  #sidenavi .navi__list .inner__list li a:hover {
    text-decoration: underline;
  }
  .tab__wrap {
    margin: 0 -15px;
  }
  .tab__wrap .tab__button {
    margin: 0;
    padding: 30px 15px 0;
    gap: 0 8px;
    font-size: 15rem;
    line-height: 1.2;
    list-style-type: none;
    text-align: center;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px 10px;
  }
  .tab__wrap .tab__button li {
    padding: 15px 3px;
    width: 100%;
    min-width: 0;
  }
  .tab__wrap .tab__button li::before {
    content: "";
    position: absolute;
    display: block;
    left: 6px;
    right: 6px;
    top: 0;
    width: auto;
    height: 0;
    border-top: 1px solid #14126f;
    opacity: 0;
    transition: opacity 0.3s;
  }
  .section {
    padding: 50px 0;
    /* 先頭のsection : 上部paddingが広い */
  }
  .section.section_first {
    padding-top: 60px;
  }
  .section {
    /* 末尾のsection : 下部paddingが広い */
  }
  .section.section_end {
    padding-bottom: 60px;
  }
  .section .section__label {
    text-align: left;
    font-size: 15rem;
    margin-bottom: 10px;
  }
  .section .section__label .fa {
    margin-right: 0.5em;
  }
  .section .section_blc {
    width: 90%;
    margin: 0 auto;
    border: 1px dashed #ddd;
    padding: 100px 0;
    margin-bottom: 15px;
    text-align: left;
  }
  /* 見出し */
  h2 {
    margin-bottom: 30px;
    font-size: 25rem;
  }
  h3 {
    margin-bottom: 15px;
    padding-left: 0;
    font-size: 20rem;
  }
  /* パネル型ボタン */
  .buttons-panel {
    margin-bottom: 20px;
  }
  .buttons-panel li {
    background-color: #eee;
    height: 100px;
    width: 50%;
    float: left;
    border-bottom: 1px solid #fff;
    box-sizing: border-box;
  }
  .buttons-panel li:nth-child(2n) {
    border-left: 1px solid #fff;
  }
  /* ワイド型ボタン */
  .button.ico-l:before {
    content: "\f14a";
    font-family: FontAwesome;
    margin-right: 0.5em;
  }
  .button.ico-ll:before {
    float: left;
    content: "\f14a";
    font-family: FontAwesome;
    margin-left: 1em;
  }
  .button.ico-r:after {
    content: "\f14a";
    font-family: FontAwesome;
    margin-left: 0.5em;
  }
  .button.ico-rr:before {
    float: right;
    content: "\f14a";
    font-family: FontAwesome;
    margin-right: 1em;
  }
  .button .button_ico {
    width: 100%;
  }
  table.visual td,
  table.visual th {
    padding: 10px 12px;
  }
  /* オーバーライドされないようにこの位置 */
  .pc_block {
    display: none;
  }
  .sp_block {
    display: block;
  }
  .pc_inline {
    display: none;
  }
  .sp_inline {
    display: inline;
  }
  .sp_hidden {
    display: none !important;
  }
  .pc_hidden {
    display: block !important;
  }
}