@charset "UTF-8";
/*
 * Base Group
 */
.lh-tight {
  line-height: 1.2;
}

.lh-normal {
  line-height: 1.5;
}

.lh-loose {
  line-height: 1.8;
}

.ls-tight {
  letter-spacing: -0.04em;
}

.ls-normal {
  letter-spacing: 0em;
}

.ls-loose {
  letter-spacing: 0.04em;
}

/*
font size settings
$font-sizes:最小値と最大値を指定
記入例：@include font-size(mapname);
*/
/*
 * Base Group
 */
html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "Segoe UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  color: #123460;
  font-size: clamp(0.8125rem, 0.6940789474rem + 0.3947368421vw, 1rem);
}

p {
  letter-spacing: 0.1em;
  font-weight: 400;
}

a {
  transition: all 0.3s;
  text-decoration: none;
  color: #123460;
}
a:hover, a:active {
  color: rgb(30.5052631579, 88.1263157895, 162.6947368421);
}

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

/*
 * Layout Group
 */
/*
 * Base Group
 */
.ly_header_inner {
  max-width: 1600px;
  margin: 0 auto;
}

.ly_cont {
  background-color: #fff;
}

.ly_contHidden {
  overflow: hidden;
  background-color: #fff;
}

.ly_cont_inner {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}
@media screen and (max-width: 1240px) {
  .ly_cont_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.ly_footer {
  position: relative;
}

.ly_footer_inner {
  max-width: 1200px;
  margin: 0 auto;
}

/*
 * Module Group - Block
 */
/*
 * Base Group
 */
.bl_header {
  position: relative;
}

.bl_header_logo {
  position: fixed;
  left: 50%;
  bottom: 2px;
  transform: translateX(-50%);
  z-index: 10;
}
@media screen and (max-width: 896px) {
  .bl_header_logo {
    top: 18px;
    left: 7.5px;
    transform: none;
  }
}

.bl_header_logo_wrapper img {
  width: min(20.9677419355vw, 260px);
  min-width: 230px;
}

.bl_header_inner {
  position: absolute;
  top: 0;
  right: 0;
  width: 26%;
  height: calc(100vh - 20px);
  color: #fff;
  padding: 68px 20px 50px 0px;
  text-align: right;
  background: rgb(0, 0, 0);
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.44) 0%, rgba(0, 0, 0, 0.44) 30%, rgba(255, 255, 255, 0) 60%);
}
@media (max-height: 900px) {
  .bl_header_inner {
    padding: 34px 5px 25px 0px;
  }
}
@media screen and (max-width: 1240px) {
  .bl_header_inner {
    width: 30%;
    padding: 34px 25px 25px 0px;
  }
}
@media screen and (max-width: 896px) {
  .bl_header_inner {
    display: flex;
    flex-direction: column;
    height: 100vh;
  }
}

.bl_header_subttl {
  font-size: clamp(1.0625rem, 0.7072368421rem + 1.1842105263vw, 1.625rem);
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.4375;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 896px) {
  .bl_header_subttl {
    padding-top: 146px;
    writing-mode: vertical-rl;
    text-align: start;
  }
}

.bl_header_nav {
  margin-top: 77px;
}
@media (max-height: 900px) {
  .bl_header_nav {
    margin-top: 33px;
  }
}
@media screen and (max-width: 896px) {
  .bl_header_nav {
    display: none;
  }
}

.bl_header_ul {
  display: flex;
  flex-direction: column;
  gap: 1.45em;
}
@media (max-height: 900px) {
  .bl_header_ul {
    gap: 0.75em;
  }
}

.bl_header_item {
  position: relative;
}
.bl_header_item:after {
  opacity: 0;
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
  content: "";
  background-image: url(../images/index/fv_menu_active@2x.png);
  background-size: cover;
  width: 21px;
  height: 25px;
  transition: opacity 0.4s ease;
}
.bl_header_item.active:after {
  opacity: 1;
}
.bl_header_item.active .bl_header_link {
  background-color: rgba(255, 255, 255, 0.2);
}

.bl_header_link {
  color: #fff;
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.45;
  padding: 0.2em 0.75em;
}
.bl_header_link:hover, .bl_header_link:active {
  color: #71CAEA;
}

.bl_header_bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 200px;
  height: min(8.064516129vw, 100px);
  background: #fff;
  background: linear-gradient(360deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0) 90%);
  z-index: 1;
}
@media screen and (max-width: 896px) {
  .bl_header_bottom {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 479px) {
  .bl_header_bottom {
    min-height: 100px;
  }
}

.bl_header_sns {
  display: flex;
  gap: 14px;
  padding: 12px 33px 12px 33px;
}

.bl_header_bottom_wrapper {
  padding: 11px 50px;
}
@media screen and (max-width: 896px) {
  .bl_header_bottom_wrapper {
    padding: 11px 15px;
  }
}

.bl_header_nintei img {
  width: min(24.1935483871vw, 300px);
  min-width: 206px;
}

.bl_header_copyright {
  font-size: 11px;
  color: #123460;
  text-align: right;
}
@media screen and (max-width: 896px) {
  .bl_header_copyright {
    display: none;
  }
}

.bl_header_lang {
  display: inline-block;
  background-color: #000;
  border-radius: 6px;
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #fff;
  max-width: 140px;
  width: 100%;
  text-align: center;
  padding: 7px 0.5em;
  margin-top: 40px;
}
@media screen and (max-width: 896px) {
  .bl_header_lang {
    display: none;
  }
}

.bl_header_bottom_lang {
  position: absolute;
  right: 33px;
  bottom: 80px;
  display: none;
  background-color: #000;
  border-radius: 6px;
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #fff;
  max-width: 110px;
  width: 100%;
  text-align: center;
  padding: 7px 0.5em;
  margin-top: 40px;
}
@media screen and (max-width: 896px) {
  .bl_header_bottom_lang {
    display: inline-block;
    z-index: 10000;
  }
}
@media screen and (max-width: 479px) {
  .bl_header_bottom_lang {
    right: 20px;
  }
}

/*
 * Base Group
 */
.bl_footer {
  position: relative;
  background-color: #153965;
  color: #fff;
  padding-top: 70px;
  padding-bottom: 70px;
  overflow: hidden;
}

.bl_footer_inner {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}
@media screen and (max-width: 1240px) {
  .bl_footer_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.bl_footer_wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 44px;
  padding-bottom: 44px;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 479px) {
  .bl_footer_wrapper {
    flex-wrap: wrap;
    gap: 18px;
  }
}

@media screen and (max-width: 479px) {
  .bl_footer_logo {
    width: 100%;
    text-align: center;
  }
}

.bl_footer_logo_link {
  line-height: 0;
}

.bl_footer_info {
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 479px) {
  .bl_footer_info {
    width: 100%;
  }
}

.bl_footer_tel {
  color: #fff;
}

.bl_footer_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em 2em;
  margin-top: 37px;
}
@media screen and (max-width: 479px) {
  .bl_footer_nav {
    justify-content: flex-start;
  }
}

.bl_footer_nav_item {
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 479px) {
  .bl_footer_nav_item {
    width: 45%;
  }
}

.bl_footer_nav_link {
  color: #fff;
}
.bl_footer_nav_link:hover {
  color: #71CAEA;
}

.bl_footer_other {
  width: 100%;
  height: 70px;
  background-color: #fff;
}

.bl_footer_other_inner {
  padding: 9px;
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}
@media screen and (max-width: 1240px) {
  .bl_footer_other_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.bl_footer_sns {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  gap: 14px;
}
@media screen and (max-width: 1240px) {
  .bl_footer_sns {
    left: 1em;
  }
}
@media screen and (max-width: 479px) {
  .bl_footer_sns {
    gap: 8px;
  }
}

.bl_footer_nintei {
  text-align: center;
}
@media (max-width: 600px) {
  .bl_footer_nintei {
    width: calc(100% - 88px);
    margin: 0 0 0 auto;
  }
}

.bl_footer_copyright {
  background-color: #153965;
  height: 52px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}
.bl_footer_copyright a {
  color: #fff;
}

/*
 * Base Group
 */
.bl_media {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bl_media.bl_media__rev {
  flex-direction: row-reverse;
}
@media screen and (max-width: 479px) {
  .bl_media {
    flex-wrap: wrap;
  }
}

.bl_media_img {
  width: 48%;
}
@media screen and (max-width: 479px) {
  .bl_media_img {
    width: 100%;
  }
}

.bl_media_body {
  width: 48%;
}
@media screen and (max-width: 479px) {
  .bl_media_body {
    width: 100%;
    padding-top: 4%;
  }
}

.bl_media_ttl {
  margin-bottom: 30px;
}
@media (max-width: 896px) {
  .bl_media_ttl {
    margin-bottom: calc(30px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .bl_media_ttl {
    margin-bottom: calc(30px * 0.5);
  }
}

.bl_media_txt {
  margin-bottom: 30px;
}
@media (max-width: 896px) {
  .bl_media_txt {
    margin-bottom: calc(30px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .bl_media_txt {
    margin-bottom: calc(30px * 0.5);
  }
}

/*
 * Base Group
 */
.bl_container {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}
@media screen and (max-width: 1240px) {
  .bl_container {
    padding-right: 4%;
    padding-left: 4%;
  }
}

/*
 * Base Group
 */
.bl_ttl {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.bl_ttl.__small {
  font-size: clamp(1.125rem, 0.7302631579rem + 1.3157894737vw, 1.75rem);
}
.bl_ttl.__middle {
  font-size: clamp(1.5rem, 1.0263157895rem + 1.5789473684vw, 2.25rem);
}
.bl_ttl.__large {
  font-size: clamp(1.5625rem, 0.9703947368rem + 1.9736842105vw, 2.5rem);
}

/*
 * Base Group
 */
.bl_loading .glare-overlay {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 20%, rgba(255, 255, 220, 0.6) 45%, rgba(255, 255, 128, 0.28) 70%, rgba(255, 255, 128, 0.05) 90%, transparent 100%);
  opacity: 1;
  transition: opacity 1s cubic-bezier(0.7, 0, 0.3, 1);
}
.bl_loading .glare-overlay.gone {
  opacity: 0;
}
.bl_loading .overlay {
  position: fixed;
  top: -10px;
  left: -10px;
  right: 0;
  bottom: 0;
  width: 110vw;
  height: 110vh;
  background: radial-gradient(ellipse at center, #fff 80%, #eee 100%);
  z-index: 19999;
  opacity: 1;
  filter: blur(6px) brightness(1.8) sepia(0.08);
  /* 眩しさ＋暖色エフェクト */
  transition: opacity 2.4s cubic-bezier(0.7, 0, 0.3, 1), filter 2.2s;
}
.bl_loading .overlay.fade1 {
  opacity: 0.75;
  filter: blur(2px) brightness(1.2) sepia(0.05);
}
.bl_loading .overlay.fade2 {
  opacity: 0;
  filter: none;
  pointer-events: none;
}

/*
 * Module Group - Element
 */
/*
 * Base Group
 */
.el_btn {
  display: inline-block;
  position: relative;
  color: #fff;
  background: linear-gradient(90deg, rgb(18, 52, 96) 0%, rgb(113, 202, 234) 100%);
  max-width: 378px;
  width: 100%;
  text-align: center;
  padding: 20px 0.5rem;
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-decoration: none;
  border-radius: 6px;
  overflow: hidden;
}
.el_btn:link, .el_btn:visited {
  color: #fff;
}
.el_btn.el_btn__w560 {
  max-width: 560px;
}
.el_btn.__max {
  max-width: 100%;
}
.el_btn.el_btn__whiteBlue {
  color: #418DA8;
  background-color: #fff;
  border: 1px solid #40BCEA;
}
.el_btn.el_btn__whiteBlue::before {
  color: #fff;
}
.el_btn.el_btn__whiteBlue::after {
  background-color: #418DA8;
}
.el_btn.el_btn__whiteOrange {
  color: #D88F5A;
  background-color: #fff;
  border: 1px solid #D88F5A;
}
.el_btn.el_btn__whiteOrange::before {
  color: #fff;
}
.el_btn.el_btn__whiteOrange::after {
  background-color: #D88F5A;
}
.el_btn.el_btn__submit {
  width: 100%;
  cursor: pointer;
  color: #fff;
  background-color: #95654C;
  border: 1px solid #95654C;
  border-radius: 6px;
}
.el_btn.el_btn__submit::after {
  display: none;
}
.el_btn.el_btn__submit:hover {
  color: #95654C;
  background-color: #fff;
}
.el_btn.el_btn__submit:hover:link {
  color: #95654C;
}
.el_btn.el_btn__submit:hover::after {
  display: none;
}

/*
 * Base Group
 */
.el_miniTtl {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: 600;
}
.el_miniTtl:before {
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 9px;
}
.el_miniTtl.el_miniTtl__skyBlue {
  color: #40BCEA;
}
.el_miniTtl.el_miniTtl__skyBlue:before {
  background-color: #40BCEA;
}
.el_miniTtl.el_miniTtl__coralOrange {
  color: #D88F5A;
}
.el_miniTtl.el_miniTtl__coralOrange:before {
  background-color: #D88F5A;
}
.el_miniTtl.el_miniTtl__white {
  color: #fff;
}
.el_miniTtl.el_miniTtl__white:before {
  background-color: #fff;
}

/*
 * Base Group
 */
.el_dottedLine {
  position: relative;
  height: 90px;
  /* 必要な高さに応じて調整 */
  width: 100%;
  /* 必要な幅に応じて調整 */
}
@media screen and (max-width: 479px) {
  .el_dottedLine {
    height: 40px;
  }
}

.el_dottedLine::before,
.el_dottedLine::after {
  content: "";
  position: absolute;
  height: 1px;
  background: repeating-linear-gradient(90deg, #999999 0, #999999 4px, transparent 4px, transparent 8px);
}

.el_dottedLine::before {
  top: 0;
  left: 0;
  width: 39%;
}

.el_dottedLine::after {
  bottom: 0;
  right: 0;
  width: 61%;
}

.el_dottedLine_vertical {
  position: absolute;
  left: 39%;
  top: 0;
  height: 100%;
  width: 1px;
  background: repeating-linear-gradient(0deg, #999999 0, #999999 4px, transparent 4px, transparent 8px);
}

/*
 * Pages Group
 * 各種ページの設定
 */
/*
 * Base Group
 */
.pa_header {
  position: relative;
  width: 100%;
  height: 400px;
  background-image: url(../images/common/header_bg@2x.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 479px) {
  .pa_header {
    height: 300px;
  }
}

.pa_header_logo {
  position: absolute;
  top: 40px;
  left: 0;
  max-width: 400px;
  width: 100%;
  height: 103px;
  background: rgba(255, 255, 255, 0.86);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 479px) {
  .pa_header_logo {
    top: 20px;
    max-width: 260px;
    height: 80px;
    padding-right: 10%;
    padding-left: 4%;
  }
}

.pa_header_logo_link {
  line-height: 0;
}

.pa_header_ttl {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(1.5625rem, 0.9703947368rem + 1.9736842105vw, 2.5rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: 0px 3px 6px rgb(0, 0, 0);
}

/*
 * Base Group
 */
.pa_modalSub {
  opacity: 0;
  pointer-events: none;
  transition: transform 0.4s ease, opacity 0.4s ease;
  position: absolute;
  top: 8.421%;
  left: 7.9375%;
  max-width: 973px;
  width: 100%;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.8);
  transform: scale(1.2);
  z-index: 10000;
}
.pa_modalSub.active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}
@media (max-height: 900px) {
  .pa_modalSub {
    left: 3.96875%;
    max-width: min(66.1290322581vw, 820px);
  }
}
@media (min-width: 1921px) {
  .pa_modalSub {
    left: 25%;
  }
}
@media screen and (max-width: 1240px) {
  .pa_modalSub {
    left: 3.96875%;
    max-width: min(66.1290322581vw, 820px);
  }
}
@media screen and (max-width: 896px) {
  .pa_modalSub {
    top: 90px;
    right: 4%;
    left: auto;
    max-width: none;
    width: 92%;
  }
}

.pa_modalSub_inner {
  padding: 8.164% 12.332%;
}
@media (max-height: 900px) {
  .pa_modalSub_inner {
    padding: 4.082% 6.166%;
  }
}
@media screen and (max-width: 1240px) {
  .pa_modalSub_inner {
    padding: 4.082% 6.166%;
  }
}
@media screen and (max-width: 896px) {
  .pa_modalSub_inner {
    padding: 10% 8%;
  }
}

.pa_modalSub_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 55px 53px;
}
@media (max-height: 900px) {
  .pa_modalSub_list {
    gap: 27px 26px;
  }
}
@media screen and (max-width: 1240px) {
  .pa_modalSub_list {
    gap: 27px 26px;
  }
}
@media screen and (max-width: 896px) {
  .pa_modalSub_list {
    gap: 20px;
    margin-top: 20px;
  }
}

@media (max-height: 900px) {
  .pa_modalSub_item {
    width: calc((100% - 26px) / 2);
  }
}
@media screen and (max-width: 1240px) {
  .pa_modalSub_item {
    width: calc((100% - 26px) / 2);
  }
}
@media screen and (max-width: 896px) {
  .pa_modalSub_item {
    width: 100%;
  }
}

.pa_modalSub_img {
  border-radius: 6px;
}
@media screen and (max-width: 896px) {
  .pa_modalSub_img {
    height: 90px;
    width: 100%;
    object-fit: cover;
  }
}

.pa_modalSub_ttl {
  position: relative;
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  text-align: left;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 896px) {
  .pa_modalSub_ttl {
    text-align: left;
  }
  .pa_modalSub_ttl:after {
    opacity: 1;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    content: "";
    background-image: url(../images/common/sp_arrow@2x.png);
    background-size: cover;
    width: 20px;
    height: 14px;
    transition: opacity 0.4s ease;
  }
}

/*
 * Base Group
 */
.pa_contact {
  position: relative;
  width: 100%;
  background-image: url(../images/common/contact_bg@2x.jpg);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}

.pa_contact_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 105px;
  min-height: 290px;
  color: #fff;
  text-shadow: 0px 3px 6px rgb(0, 0, 0);
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}
@media screen and (max-width: 1240px) {
  .pa_contact_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}
@media screen and (max-width: 1240px) {
  .pa_contact_inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    padding: 3em 0;
  }
}

@media screen and (max-width: 1240px) {
  .pa_contact_body {
    width: 100%;
    text-align: center;
  }
}

.pa_contact_ttl {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(1.5625rem, 0.9703947368rem + 1.9736842105vw, 2.5rem);
  margin-bottom: 20px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
}

.pa_contact_btns {
  flex: 1;
  display: flex;
  gap: 33px;
}
@media screen and (max-width: 1240px) {
  .pa_contact_btns {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 896px) {
  .pa_contact_btns {
    gap: 14px;
    padding: 0 4%;
  }
}

.pa_contact_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 27px 0.5em;
  max-width: 376px;
  width: 100%;
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-shadow: none;
  background-color: #fff;
  border-radius: 6px;
}
@media screen and (max-width: 896px) {
  .pa_contact_btn {
    padding: 14px 0.5em;
  }
}

.pa_contact_btn_icon {
  line-height: 0;
}

.pa_contact_btn_tel {
  font-size: clamp(0.9375rem, 0.7401315789rem + 0.6578947368vw, 1.25rem);
}

.pa_contact_btn_num {
  font-size: clamp(1.5rem, 1.1842105263rem + 1.0526315789vw, 2rem);
}

.pa_contact_btn_form {
  font-size: clamp(1.0625rem, 0.7072368421rem + 1.1842105263vw, 1.625rem);
}

/*
 * Base Group
 */
.pa_overview {
  position: relative;
}

.pa_overview_inner {
  text-align: center;
  margin-top: 120px;
}
@media (max-width: 896px) {
  .pa_overview_inner {
    margin-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_overview_inner {
    margin-top: calc(120px * 0.5);
  }
}

.pa_overview_ttl {
  color: #123460;
  word-break: keep-all;
}

.pa_overview_txt {
  margin-top: 30px;
}

.pa_overview_menu {
  display: flex;
  flex-wrap: wrap;
  gap: 3% 6.774%;
  margin-top: 50px;
}
@media screen and (max-width: 896px) {
  .pa_overview_menu {
    gap: 3% 4.7418%;
  }
}
@media (max-width: 600px) {
  .pa_overview_menu {
    gap: 40px 4%;
  }
}

.pa_overview_menu_item {
  width: 19.9195%;
}
@media screen and (max-width: 896px) {
  .pa_overview_menu_item {
    width: 21.44365%;
  }
}
@media (max-width: 600px) {
  .pa_overview_menu_item {
    width: 47.6291%;
  }
}

.pa_overview_menu_link {
  text-align: center;
}
.pa_overview_menu_link:hover .pa_overview_menu_circle:after {
  bottom: 8px;
}

.pa_overview_menu_circle {
  position: relative;
  background-color: #F0F9FC;
  border-radius: 50%;
  max-width: min(15.0806451613vw, 187px);
  min-width: 130px;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 1em auto;
}
.pa_overview_menu_circle:after {
  content: "";
  width: 39px;
  height: 14px;
  background-image: url(../images/about/overview_arrow@2x.png);
  background-size: cover;
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.3s;
}
@media screen and (max-width: 896px) {
  .pa_overview_menu_circle:after {
    width: 30px;
    height: 10px;
  }
}
.pa_overview_menu_circle > img {
  margin-top: -1em;
}
@media screen and (max-width: 896px) {
  .pa_overview_menu_circle > img {
    scale: 0.7;
  }
}

.pa_borderPhotos {
  display: flex;
}

.pa_borderPhotos_item {
  width: 33.3333333333%;
}

/*
 * Base Group
 */
.pa_requirements {
  position: relative;
  padding-top: 122px;
}
@media (max-width: 896px) {
  .pa_requirements {
    padding-top: calc(122px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_requirements {
    padding-top: calc(122px * 0.5);
  }
}

.pa_requirements_ttl {
  text-align: center;
}

.pa_requirements_dlist {
  display: flex;
  flex-wrap: wrap;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 50px;
}
@media (max-width: 896px) {
  .pa_requirements_dlist {
    margin-top: calc(50px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_requirements_dlist {
    margin-top: calc(50px * 0.5);
  }
}

.pa_requirements_dt {
  width: 20.967%;
  background-color: #E2F5FB;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  text-align: center;
  padding: 19px 0.5em;
}
.pa_requirements_dt.__last {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 479px) {
  .pa_requirements_dt {
    width: 30%;
  }
}

.pa_requirements_dd {
  width: 79.033%;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 19px 0.5em 19px 3em;
}
.pa_requirements_dd.__last {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 479px) {
  .pa_requirements_dd {
    width: 70%;
    padding: 19px 0.5em 19px 1.5em;
  }
}

/*
 * Base Group
 */
.pa_faq {
  position: relative;
  padding-top: 122px;
}
@media (max-width: 896px) {
  .pa_faq {
    padding-top: calc(122px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_faq {
    padding-top: calc(122px * 0.5);
  }
}

.pa_faq_ttl {
  text-align: center;
}

.pa_faq_dlist {
  position: relative;
}

.pa_faq_wrapper {
  margin-top: 70px;
}
@media (max-width: 896px) {
  .pa_faq_wrapper {
    margin-top: calc(70px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_faq_wrapper {
    margin-top: calc(70px * 0.5);
  }
}

.pa_faq_subttl {
  position: relative;
  text-align: left;
}
.pa_faq_subttl:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #71CAEA;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.pa_faq_subttl > span {
  position: relative;
  display: inline-block;
  background-color: #fff;
  padding: 0 0.25em;
  z-index: 5;
}

.pa_faq_dlist {
  margin-top: 45px;
}
@media (max-width: 896px) {
  .pa_faq_dlist {
    margin-top: calc(45px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .pa_faq_dlist {
    margin-top: calc(45px * 0.5);
  }
}

.pa_faq_dt {
  position: relative;
  background-color: #71CAEA;
  padding: 0.8em 2em;
  border-radius: 4px;
  margin-top: 12px;
  font-size: clamp(0.8125rem, 0.6940789474rem + 0.3947368421vw, 1rem);
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 2;
  cursor: pointer;
}
.pa_faq_dt:after {
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  content: "";
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  width: 24px;
  height: 18px;
  background: #fff;
}
@media screen and (max-width: 479px) {
  .pa_faq_dt:after {
    width: 16px;
    height: 12px;
  }
}

.pa_faq_dd {
  position: relative;
  display: none;
  padding: 1.5em 2em;
  letter-spacing: 0.1em;
  line-height: 2;
}
.pa_faq_dd:before {
  position: absolute;
  top: 1em;
  left: 0.5em;
  content: "";
  width: 10px;
  height: calc(100% - 2em);
  background: linear-gradient(0deg, rgb(18, 52, 96) 0%, rgb(113, 202, 234) 100%);
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.index {
  /*
  .pa_front {
      width: 100vw;
      height: 100vh;
      background-image: url(../images/index/fv_bg@2x.jpg);
      background-position: bottom 75px right;
      background-size: cover;
      background-repeat: no-repeat;
      @include sp-tab {
          background-image: url(../images/index/fv_bg_sp@2x.jpg);
          background-position: center;
      }
  }
      */
}
.index .pa_front {
  width: 100vw;
  height: 100vh;
  background-image: url(../images/index/fv_bg@2x.jpg);
  background-position: bottom 20px center;
  background-size: 100% calc(100% - 20px);
  /* ← 縦横を要素に合わせて伸縮 */
  background-repeat: no-repeat;
}
@media screen and (max-width: 896px) {
  .index .pa_front {
    background-image: url(../images/index/fv_bg_sp@2x.jpg);
    background-position: center;
    background-size: cover;
  }
}
.index .pa_modal {
  opacity: 0;
  pointer-events: none;
  transition: transform 0.4s ease, opacity 0.4s ease;
  position: absolute;
  top: 8.421%;
  left: 7.9375%;
  max-width: 973px;
  width: 100%;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.7);
  transform: scale(1.2);
}
.index .pa_modal.active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}
@media (max-height: 900px) {
  .index .pa_modal {
    left: 3.96875%;
    max-width: min(66.1290322581vw, 820px);
  }
}
@media (min-width: 1921px) {
  .index .pa_modal {
    left: 25%;
  }
}
@media screen and (max-width: 1240px) {
  .index .pa_modal {
    left: 3.96875%;
    max-width: min(66.1290322581vw, 820px);
  }
}
.index .pa_modal_inner {
  padding: 8.164% 12.332%;
}
@media (max-height: 900px) {
  .index .pa_modal_inner {
    padding: 4.082% 6.166%;
  }
}
@media screen and (max-width: 1240px) {
  .index .pa_modal_inner {
    padding: 4.082% 6.166%;
  }
}
.index .pa_modal_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 55px 53px;
}
@media (max-height: 900px) {
  .index .pa_modal_list {
    gap: 27px 26px;
  }
}
@media screen and (max-width: 1240px) {
  .index .pa_modal_list {
    gap: 27px 26px;
  }
}
@media (max-height: 900px) {
  .index .pa_modal_item {
    width: calc((100% - 26px) / 2);
  }
}
@media screen and (max-width: 1240px) {
  .index .pa_modal_item {
    width: calc((100% - 26px) / 2);
  }
}
.index .pa_modal_img {
  border-radius: 6px;
}
.index .pa_modal_ttl {
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  letter-spacing: 0.15em;
}
.index .pa_news {
  position: relative;
  padding-top: 120px;
}
@media (max-width: 896px) {
  .index .pa_news {
    padding-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_news {
    padding-top: calc(120px * 0.5);
  }
}
.index .pa_news_inner {
  text-align: center;
}
.index .pa_news_wrapper {
  max-width: 1000px;
  width: 100%;
  margin: 40px auto 0 auto;
}
.index .pa_news_item {
  border-bottom: 1px solid #123460;
}
.index .pa_news_link {
  display: flex;
  flex-wrap: wrap;
  padding: 2em 0.5em;
}
.index .pa_news_link:hover .pa_news_item_ttl {
  padding-left: 2em;
}
.index .pa_news_time {
  max-width: 100px;
  width: 100%;
}
.index .pa_news_item_ttl {
  flex: 1;
  text-align: left;
  padding-left: 1em;
  transition: all 0.3s;
}
.index .pa_news_all {
  text-align: right;
  margin-top: 40px;
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.index .pa_about {
  position: relative;
}
.index .pa_about_wrapper {
  position: relative;
  padding-bottom: 120px;
}
@media (max-width: 896px) {
  .index .pa_about_wrapper {
    padding-bottom: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_about_wrapper {
    padding-bottom: calc(120px * 0.5);
  }
}
.index .pa_about_wrapper:after {
  content: "";
  width: 100%;
  height: 440px;
  background: rgba(113, 202, 234, 0.02);
  background: linear-gradient(0deg, rgba(113, 202, 234, 0.2) 0%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  pointer-events: none;
}
.index .pa_about_inner {
  text-align: center;
  margin-top: 110px;
}
@media (max-width: 896px) {
  .index .pa_about_inner {
    margin-top: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_about_inner {
    margin-top: calc(110px * 0.5);
  }
}
.index .pa_about_ttl {
  color: #123460;
  margin-top: 86px;
}
@media (max-width: 896px) {
  .index .pa_about_ttl {
    margin-top: calc(86px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_about_ttl {
    margin-top: calc(86px * 0.5);
  }
}
.index .pa_about_txt {
  margin-top: 57px;
  line-height: 3.2;
}
@media screen and (max-width: 479px) {
  .index .pa_about_txt {
    line-height: 2.6;
    text-align: left;
  }
}
.index .pa_about_photos {
  display: flex;
}
.index .pa_about_photos_item {
  width: 33.3333333333%;
}
.index .pa_about_message {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 896px) {
  .index .pa_about_message {
    margin-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_about_message {
    margin-top: calc(120px * 0.5);
  }
}
.index .pa_about_message {
  padding-bottom: 115px;
}
@media (max-width: 896px) {
  .index .pa_about_message {
    padding-bottom: calc(115px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_about_message {
    padding-bottom: calc(115px * 0.5);
  }
}
.index .pa_about_message_media {
  align-items: center;
  gap: 88px;
}
@media screen and (max-width: 896px) {
  .index .pa_about_message_media {
    gap: 44px;
  }
}
@media screen and (max-width: 479px) {
  .index .pa_about_message_media {
    gap: 30px;
  }
}
.index .pa_about_message_img {
  width: 42.903%;
}
@media screen and (max-width: 479px) {
  .index .pa_about_message_img {
    width: 100%;
  }
}
@media screen and (max-width: 896px) {
  .index .pa_about_message_body {
    width: calc(100% - 44px - 42.903%);
  }
}
@media screen and (max-width: 479px) {
  .index .pa_about_message_body {
    width: 100%;
  }
}
.index .pa_about_message_txt {
  line-height: 2;
  margin-top: 46px;
}
@media (max-width: 896px) {
  .index .pa_about_message_txt {
    margin-top: calc(46px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_about_message_txt {
    margin-top: calc(46px * 0.5);
  }
}
.index .pa_philosophy {
  position: relative;
  background-color: #123460;
  padding-top: 112px;
}
@media (max-width: 896px) {
  .index .pa_philosophy {
    padding-top: calc(112px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_philosophy {
    padding-top: calc(112px * 0.5);
  }
}
.index .pa_philosophy {
  padding-bottom: 138px;
}
@media (max-width: 896px) {
  .index .pa_philosophy {
    padding-bottom: calc(138px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_philosophy {
    padding-bottom: calc(138px * 0.5);
  }
}
.index .pa_philosophy_inner {
  color: #fff;
  text-align: center;
  z-index: 10;
}
.index .pa_philosophy_inner:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  max-width: min(52.6612903226vw, 653px);
  max-height: min(52.5806451613vw, 652px);
  background-image: url(../images/about/rinen_bg@2x.png);
  background-size: cover;
  background-position: center;
  z-index: 1;
}
.index .pa_philosophy_ttl {
  position: relative;
  z-index: 2;
}
.index .pa_philosophy_txt {
  position: relative;
  margin-top: 40px;
  line-height: 2;
  z-index: 2;
}
@media screen and (max-width: 479px) {
  .index .pa_philosophy_txt {
    text-align: left;
  }
}
.index .pa_philosophy_list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 9.2741%;
  z-index: 2;
  margin-top: 86px;
}
@media (max-width: 896px) {
  .index .pa_philosophy_list {
    margin-top: calc(86px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_philosophy_list {
    margin-top: calc(86px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .index .pa_philosophy_list {
    gap: 30px 6.49187%;
  }
}
.index .pa_philosophy_item {
  width: 27.1506%;
}
@media screen and (max-width: 896px) {
  .index .pa_philosophy_item {
    width: 29.00542%;
  }
}
@media screen and (max-width: 479px) {
  .index .pa_philosophy_item {
    width: 100%;
    margin-top: 20px;
  }
}
.index .pa_philosophy_img {
  min-height: 165px;
}
@media screen and (max-width: 479px) {
  .index .pa_philosophy_img {
    min-height: auto;
  }
}
.index .pa_philosophy_list_ttl {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(0.9375rem, 0.6611842105rem + 0.9210526316vw, 1.375rem);
  font-weight: 600;
  height: 3em;
  margin-top: 37px;
}
@media screen and (max-width: 479px) {
  .index .pa_philosophy_list_ttl {
    margin-top: 10px;
    height: auto;
  }
}
.index .pa_philosophy_list_txt {
  margin-top: 55px;
}
@media screen and (max-width: 479px) {
  .index .pa_philosophy_list_txt {
    margin-top: 14px;
    text-align: left;
  }
}
.index .pa_facility {
  position: relative;
  padding-top: 100px;
}
.index .pa_facility_inner {
  text-align: center;
}
.index .pa_facility_txt {
  margin-top: 40px;
  line-height: 2;
}
@media screen and (max-width: 479px) {
  .index .pa_facility_txt {
    margin-top: 30px;
    text-align: left;
  }
}
.index .pa_facility_slider {
  margin-top: 38px;
}
.index .pa_facility_slider_item {
  overflow: hidden;
  width: auto;
  aspect-ratio: 716/500;
}
.index .pa_facility_slider_item > img {
  width: 100%;
}
.index .pa_lecturer {
  position: relative;
  padding-top: 100px;
}
@media (max-width: 896px) {
  .index .pa_lecturer {
    padding-top: calc(100px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_lecturer {
    padding-top: calc(100px * 0.5);
  }
}
.index .pa_lecturer_inner {
  text-align: center;
}
.index .pa_lecturer_photo {
  margin-top: 38px;
}
.index .pa_lecturer_photo > img {
  width: 100%;
}
.index .pa_lecturer_list {
  display: flex;
  flex-wrap: wrap;
  gap: 35px 37px;
  margin-top: 60px;
}
@media (max-width: 896px) {
  .index .pa_lecturer_list {
    margin-top: calc(60px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_lecturer_list {
    margin-top: calc(60px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .index .pa_lecturer_list {
    gap: 20px 22px;
  }
}
.index .pa_lecturer_item {
  width: calc((100% - 111px) / 4);
}
@media screen and (max-width: 896px) {
  .index .pa_lecturer_item {
    width: calc((100% - 66px) / 4);
  }
}
@media screen and (max-width: 479px) {
  .index .pa_lecturer_item {
    width: calc((100% - 22px) / 2);
  }
}
.index .pa_lecturer_name {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(0.9375rem, 0.6611842105rem + 0.9210526316vw, 1.375rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-top: 14px;
}
@media screen and (max-width: 479px) {
  .index .pa_lecturer_name {
    margin-top: 6px;
  }
}
.index .pa_access {
  position: relative;
  padding-top: 115px;
}
@media (max-width: 896px) {
  .index .pa_access {
    padding-top: calc(115px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_access {
    padding-top: calc(115px * 0.5);
  }
}
.index .pa_access_wrapper {
  padding-bottom: 115px;
  padding-bottom: 115px;
}
@media (max-width: 896px) {
  .index .pa_access_wrapper {
    padding-bottom: calc(115px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_access_wrapper {
    padding-bottom: calc(115px * 0.5);
  }
}
.index .pa_access_ttl {
  text-align: center;
}
.index .pa_access_dlist {
  display: flex;
  flex-wrap: wrap;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-top: 50px;
}
@media (max-width: 896px) {
  .index .pa_access_dlist {
    margin-top: calc(50px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .index .pa_access_dlist {
    margin-top: calc(50px * 0.5);
  }
}
.index .pa_access_dt {
  width: 20.967%;
  background-color: #E2F5FB;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  text-align: center;
  padding: 19px 0.5em;
}
.index .pa_access_dt.__last {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 479px) {
  .index .pa_access_dt {
    width: 30%;
  }
}
.index .pa_access_dd {
  width: 79.033%;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 19px 0.5em 19px 3em;
}
.index .pa_access_dd.__last {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 479px) {
  .index .pa_access_dd {
    width: 70%;
    padding: 19px 0.5em 19px 1.5em;
  }
}
.index .pa_access_map {
  line-height: 0;
}

.about .pa_about {
  position: relative;
}
.about .pa_about_wrapper {
  position: relative;
  padding-bottom: 120px;
}
@media (max-width: 896px) {
  .about .pa_about_wrapper {
    padding-bottom: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_about_wrapper {
    padding-bottom: calc(120px * 0.5);
  }
}
.about .pa_about_wrapper:after {
  content: "";
  width: 100%;
  height: 440px;
  background: rgba(113, 202, 234, 0.02);
  background: linear-gradient(0deg, rgba(113, 202, 234, 0.2) 0%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  pointer-events: none;
}
.about .pa_about_inner {
  text-align: center;
  margin-top: 110px;
}
@media (max-width: 896px) {
  .about .pa_about_inner {
    margin-top: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_about_inner {
    margin-top: calc(110px * 0.5);
  }
}
.about .pa_about_ttl {
  color: #123460;
  margin-top: 86px;
}
@media (max-width: 896px) {
  .about .pa_about_ttl {
    margin-top: calc(86px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_about_ttl {
    margin-top: calc(86px * 0.5);
  }
}
.about .pa_about_txt {
  margin-top: 57px;
  line-height: 3.2;
}
@media screen and (max-width: 479px) {
  .about .pa_about_txt {
    line-height: 2.6;
    text-align: left;
  }
}
.about .pa_about_photos {
  display: flex;
}
.about .pa_about_photos_item {
  width: 33.3333333333%;
}
.about .pa_about_message {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 896px) {
  .about .pa_about_message {
    margin-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_about_message {
    margin-top: calc(120px * 0.5);
  }
}
.about .pa_about_message {
  padding-bottom: 115px;
}
@media (max-width: 896px) {
  .about .pa_about_message {
    padding-bottom: calc(115px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_about_message {
    padding-bottom: calc(115px * 0.5);
  }
}
.about .pa_about_message_media {
  align-items: center;
  gap: 88px;
}
@media screen and (max-width: 896px) {
  .about .pa_about_message_media {
    gap: 44px;
  }
}
@media screen and (max-width: 479px) {
  .about .pa_about_message_media {
    gap: 30px;
  }
}
.about .pa_about_message_img {
  width: 42.903%;
}
@media screen and (max-width: 479px) {
  .about .pa_about_message_img {
    width: 100%;
  }
}
@media screen and (max-width: 896px) {
  .about .pa_about_message_body {
    width: calc(100% - 44px - 42.903%);
  }
}
@media screen and (max-width: 479px) {
  .about .pa_about_message_body {
    width: 100%;
  }
}
.about .pa_about_message_txt {
  line-height: 2;
  margin-top: 46px;
}
@media (max-width: 896px) {
  .about .pa_about_message_txt {
    margin-top: calc(46px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_about_message_txt {
    margin-top: calc(46px * 0.5);
  }
}
.about .pa_philosophy {
  position: relative;
  background-color: #123460;
  padding-top: 112px;
}
@media (max-width: 896px) {
  .about .pa_philosophy {
    padding-top: calc(112px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_philosophy {
    padding-top: calc(112px * 0.5);
  }
}
.about .pa_philosophy {
  padding-bottom: 138px;
}
@media (max-width: 896px) {
  .about .pa_philosophy {
    padding-bottom: calc(138px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_philosophy {
    padding-bottom: calc(138px * 0.5);
  }
}
.about .pa_philosophy_inner {
  color: #fff;
  text-align: center;
  z-index: 10;
}
.about .pa_philosophy_inner:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  max-width: min(52.6612903226vw, 653px);
  max-height: min(52.5806451613vw, 652px);
  background-image: url(../images/about/rinen_bg@2x.png);
  background-size: cover;
  background-position: center;
  z-index: 1;
}
.about .pa_philosophy_ttl {
  position: relative;
  z-index: 2;
}
.about .pa_philosophy_txt {
  position: relative;
  margin-top: 40px;
  line-height: 2;
  z-index: 2;
}
@media screen and (max-width: 479px) {
  .about .pa_philosophy_txt {
    text-align: left;
  }
}
.about .pa_philosophy_list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 9.2741%;
  z-index: 2;
  margin-top: 86px;
}
@media (max-width: 896px) {
  .about .pa_philosophy_list {
    margin-top: calc(86px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_philosophy_list {
    margin-top: calc(86px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .about .pa_philosophy_list {
    gap: 30px 6.49187%;
  }
}
.about .pa_philosophy_item {
  width: 27.1506%;
}
@media screen and (max-width: 896px) {
  .about .pa_philosophy_item {
    width: 29.00542%;
  }
}
@media screen and (max-width: 479px) {
  .about .pa_philosophy_item {
    width: 100%;
    margin-top: 20px;
  }
}
.about .pa_philosophy_img {
  min-height: 165px;
}
@media screen and (max-width: 479px) {
  .about .pa_philosophy_img {
    min-height: auto;
  }
}
.about .pa_philosophy_list_ttl {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(0.9375rem, 0.6611842105rem + 0.9210526316vw, 1.375rem);
  font-weight: 600;
  height: 3em;
  margin-top: 37px;
}
@media screen and (max-width: 479px) {
  .about .pa_philosophy_list_ttl {
    margin-top: 10px;
    height: auto;
  }
}
.about .pa_philosophy_list_txt {
  margin-top: 55px;
}
@media screen and (max-width: 479px) {
  .about .pa_philosophy_list_txt {
    margin-top: 14px;
    text-align: left;
  }
}
.about .pa_facility {
  position: relative;
  padding-top: 100px;
}
.about .pa_facility_inner {
  text-align: center;
}
.about .pa_facility_txt {
  margin-top: 40px;
  line-height: 2;
}
@media screen and (max-width: 479px) {
  .about .pa_facility_txt {
    margin-top: 30px;
    text-align: left;
  }
}
.about .pa_facility_slider {
  margin-top: 38px;
}
.about .pa_facility_slider_item {
  overflow: hidden;
  width: auto;
  aspect-ratio: 716/500;
}
.about .pa_facility_slider_item > img {
  width: 100%;
}
.about .pa_lecturer {
  position: relative;
  padding-top: 100px;
}
@media (max-width: 896px) {
  .about .pa_lecturer {
    padding-top: calc(100px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_lecturer {
    padding-top: calc(100px * 0.5);
  }
}
.about .pa_lecturer_inner {
  text-align: center;
}
.about .pa_lecturer_photo {
  margin-top: 38px;
}
.about .pa_lecturer_photo > img {
  width: 100%;
}
.about .pa_lecturer_list {
  display: flex;
  flex-wrap: wrap;
  gap: 35px 37px;
  margin-top: 60px;
}
@media (max-width: 896px) {
  .about .pa_lecturer_list {
    margin-top: calc(60px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_lecturer_list {
    margin-top: calc(60px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .about .pa_lecturer_list {
    gap: 20px 22px;
  }
}
.about .pa_lecturer_item {
  width: calc((100% - 111px) / 4);
}
@media screen and (max-width: 896px) {
  .about .pa_lecturer_item {
    width: calc((100% - 66px) / 4);
  }
}
@media screen and (max-width: 479px) {
  .about .pa_lecturer_item {
    width: calc((100% - 22px) / 2);
  }
}
.about .pa_lecturer_name {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(0.9375rem, 0.6611842105rem + 0.9210526316vw, 1.375rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-top: 14px;
}
@media screen and (max-width: 479px) {
  .about .pa_lecturer_name {
    margin-top: 6px;
  }
}
.about .pa_access {
  position: relative;
  padding-top: 115px;
}
@media (max-width: 896px) {
  .about .pa_access {
    padding-top: calc(115px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_access {
    padding-top: calc(115px * 0.5);
  }
}
.about .pa_access_wrapper {
  padding-bottom: 115px;
  padding-bottom: 115px;
}
@media (max-width: 896px) {
  .about .pa_access_wrapper {
    padding-bottom: calc(115px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_access_wrapper {
    padding-bottom: calc(115px * 0.5);
  }
}
.about .pa_access_ttl {
  text-align: center;
}
.about .pa_access_dlist {
  display: flex;
  flex-wrap: wrap;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-top: 50px;
}
@media (max-width: 896px) {
  .about .pa_access_dlist {
    margin-top: calc(50px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .about .pa_access_dlist {
    margin-top: calc(50px * 0.5);
  }
}
.about .pa_access_dt {
  width: 20.967%;
  background-color: #E2F5FB;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  text-align: center;
  padding: 19px 0.5em;
}
.about .pa_access_dt.__last {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 479px) {
  .about .pa_access_dt {
    width: 30%;
  }
}
.about .pa_access_dd {
  width: 79.033%;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 19px 0.5em 19px 3em;
}
.about .pa_access_dd.__last {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 479px) {
  .about .pa_access_dd {
    width: 70%;
    padding: 19px 0.5em 19px 1.5em;
  }
}
.about .pa_access_map {
  line-height: 0;
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.course .pa_about {
  position: relative;
  background-color: #F0F9FC;
  margin-top: 118px;
}
@media (max-width: 896px) {
  .course .pa_about {
    margin-top: calc(118px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_about {
    margin-top: calc(118px * 0.5);
  }
}
.course .pa_about {
  padding-top: 64px;
}
@media (max-width: 896px) {
  .course .pa_about {
    padding-top: calc(64px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_about {
    padding-top: calc(64px * 0.5);
  }
}
.course .pa_about {
  padding-bottom: 110px;
}
@media (max-width: 896px) {
  .course .pa_about {
    padding-bottom: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_about {
    padding-bottom: calc(110px * 0.5);
  }
}
.course .pa_about_inner {
  text-align: center;
}
.course .pa_about_txt {
  margin-top: 39px;
}
@media screen and (max-width: 479px) {
  .course .pa_about_txt {
    text-align: left;
  }
}
.course .pa_about_course {
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
  margin-top: 56px;
}
@media screen and (max-width: 896px) {
  .course .pa_about_course {
    gap: 30px;
  }
}
.course .pa_about_course_wrapper {
  width: calc((100% - 60px) / 2);
  background-color: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 896px) {
  .course .pa_about_course_wrapper {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (max-width: 479px) {
  .course .pa_about_course_wrapper {
    width: 100%;
  }
}
.course .pa_about_course_img {
  line-height: 0;
}
.course .pa_about_course_body {
  padding: 33px 44px 44px 44px;
}
@media screen and (max-width: 896px) {
  .course .pa_about_course_body {
    padding: 16px 22px 22px 22px;
  }
}
.course .pa_about_course_list {
  text-align: left;
  margin-top: 24px;
}
@media screen and (max-width: 479px) {
  .course .pa_about_course_list {
    margin-top: 12px;
  }
}
.course .pa_about_course_item {
  line-height: 2;
}
.course .pa_curriculum {
  position: relative;
  padding-top: 85px;
}
@media (max-width: 896px) {
  .course .pa_curriculum {
    padding-top: calc(85px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_curriculum {
    padding-top: calc(85px * 0.5);
  }
}
.course .pa_curriculum {
  padding-bottom: 110px;
}
@media (max-width: 896px) {
  .course .pa_curriculum {
    padding-bottom: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_curriculum {
    padding-bottom: calc(110px * 0.5);
  }
}
.course .pa_curriculum_inner {
  text-align: center;
}
.course .pa_curriculum_txt {
  margin-top: 39px;
}
.course .pa_curriculum_detail {
  margin-top: 58px;
}
.course .pa_curriculum_detail_ttl {
  position: relative;
  text-align: left;
}
.course .pa_curriculum_detail_ttl:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #71CAEA;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.course .pa_curriculum_detail_ttl > span {
  position: relative;
  display: inline-block;
  background-color: #fff;
  padding: 0 0.25em;
  z-index: 5;
}
.course .pa_curriculum_table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 38px;
}
.course .pa_curriculum_table th,
.course .pa_curriculum_table td {
  border: 1px solid #ccc;
  padding: 20px 6px;
  text-align: center;
  vertical-align: middle;
}
.course .pa_curriculum_table thead {
  background: #123460;
}
.course .pa_curriculum_table thead th {
  color: #fff;
  font-weight: bold;
}
.course .pa_curriculum_table tbody tr {
  background: #fff;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.course .pa_curriculum_table tbody tr td:first-child {
  background: #123460;
  color: #fff;
  font-weight: bold;
}
.course .pa_curriculum_time {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 32px;
}
@media screen and (max-width: 896px) {
  .course .pa_curriculum_time {
    gap: 18px;
  }
}
.course .pa_curriculum_time_item {
  width: calc((100% - 40px) / 2);
  background-color: #F0F9FC;
  padding: 62px 35px 52px 35px;
}
@media screen and (max-width: 896px) {
  .course .pa_curriculum_time_item {
    width: calc((100% - 18px) / 2);
    padding: 30px 18px 25px 18px;
  }
}
@media (max-width: 600px) {
  .course .pa_curriculum_time_item {
    width: 100%;
  }
}
.course .pa_curriculum_time_ttl {
  color: #fff;
  font-size: clamp(0.9375rem, 0.7401315789rem + 0.6578947368vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 8px 0.5em;
  background: linear-gradient(90deg, rgb(18, 52, 96) 0%, rgb(113, 202, 234) 100%);
  border-radius: 24px;
}
.course .pa_curriculum_dlist {
  margin-top: 36px;
}
.course .pa_curriculum_dlist_wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 2em;
  padding: 30px 0.5em;
  font-size: clamp(0.9375rem, 0.7401315789rem + 0.6578947368vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 0.1em;
}
.course .pa_curriculum_dlist_wrapper:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #707070 0 4px, transparent 4px 8px);
}
@media (max-width: 600px) {
  .course .pa_curriculum_dlist_wrapper {
    padding: 15px 0.5em;
  }
}
.course .pa_price {
  position: relative;
  background-color: #123460;
  padding-top: 80px;
}
@media (max-width: 896px) {
  .course .pa_price {
    padding-top: calc(80px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_price {
    padding-top: calc(80px * 0.5);
  }
}
.course .pa_price {
  padding-bottom: 110px;
}
@media (max-width: 896px) {
  .course .pa_price {
    padding-bottom: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_price {
    padding-bottom: calc(110px * 0.5);
  }
}
.course .pa_price_inner {
  text-align: center;
}
.course .pa_price_body {
  background-color: #fff;
  border-radius: 10px;
  padding: 60px 9.677%;
  margin-top: 45px;
}
@media screen and (max-width: 896px) {
  .course .pa_price_body {
    padding: 30px 4.8385%;
  }
}
.course .pa_price_ttl {
  color: #fff;
}
.course .pa_price_txt {
  margin-top: 39px;
}
.course {
  /* スクリーンリーダー向け */
}
.course .sr-only {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.course .tuition-table {
  inline-size: min(100%, 980px);
  margin-inline: auto;
  border-collapse: separate;
  border-spacing: 0;
}
.course .tuition-table .col-left {
  width: 36%;
}
.course .tuition-table .col-label {
  width: 28%;
}
.course .tuition-table .col-right {
  width: 36%;
}
.course .tuition-table thead th {
  text-align: center;
  padding: 10px 0.5em;
  border: 0;
  vertical-align: middle;
}
.course .tuition-table {
  /* 上部の緑の見出しカード */
}
.course .tuition-table .course {
  background: #e1c26e;
  color: #fff;
  font-weight: 500;
  line-height: 1.5;
}
.course .tuition-table .course .course__title {
  display: block;
  font-size: clamp(0.8125rem, 0.6940789474rem + 0.3947368421vw, 1rem);
}
.course .tuition-table .course .course__term {
  display: block;
  font-size: clamp(0.8125rem, 0.6940789474rem + 0.3947368421vw, 1rem);
}
.course .tuition-table tbody th,
.course .tuition-table tbody td {
  padding: clamp(14px, 2.4vw, 18px) 10px;
  vertical-align: middle;
  text-align: center;
  border: 0;
  position: relative;
}
.course .tuition-table {
  /* 金額カラム */
}
.course .tuition-table .amount {
  position: relative;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.course .tuition-table .amount:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #707070 0 4px, transparent 4px 8px);
}
.course .tuition-table .amount .note {
  font-weight: 600;
  color: #222;
  opacity: 0.9;
}
.course .tuition-table {
  /* 中央の項目ラベル（丸いチップ） */
}
.course .tuition-table .item {
  text-align: center;
}
.course .tuition-table .item .chip {
  display: inline-block;
  width: 100%;
  padding: 4.5px 18px;
  background: #F5F5F5;
  border-radius: 17px;
  font-size: clamp(0.8125rem, 0.6940789474rem + 0.3947368421vw, 1rem);
}
.course .tuition-table {
  /* スマホ時は縦に積む（読み順は 左→項目→右 のまま） */
}
@media screen and (max-width: 479px) {
  .course .tuition-table .col-left,
  .course .tuition-table .col-label,
  .course .tuition-table .col-right {
    width: auto;
  }
  .course .tuition-table thead {
    position: sticky;
    top: 10px;
    left: 0;
    z-index: 5;
  }
  .course .tuition-table thead tr {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .course .tuition-table thead .label-col {
    display: none;
  }
  .course .tuition-table {
    /* 見出しの中央空列は不要 */
  }
  .course .tuition-table tbody tr {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding-block: 8px;
    /* 行のドット線は最下段だけに */
  }
  .course .tuition-table tbody tr > *::after {
    display: none;
  }
  .course .tuition-table tbody tr::after {
    content: "";
    border-bottom: 2px dotted #f3f5f7;
    margin-block-start: 8px;
    grid-column: 1/-1;
  }
  .course .tuition-table tbody .item {
    order: 2;
  }
  .course .tuition-table {
    /* 見た目の並びを画像に近づけるなら調整可 */
  }
  .course .tuition-table tbody .amount {
    order: 1;
  }
  .course .tuition-table {
    /* ただし表としての読み上げ順は維持されます */
  }
}
.course .pa_schedule {
  position: relative;
  padding-top: 115px;
}
@media (max-width: 896px) {
  .course .pa_schedule {
    padding-top: calc(115px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_schedule {
    padding-top: calc(115px * 0.5);
  }
}
.course .pa_schedule {
  padding-bottom: 180px;
}
@media (max-width: 896px) {
  .course .pa_schedule {
    padding-bottom: calc(180px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_schedule {
    padding-bottom: calc(180px * 0.5);
  }
}
.course .pa_schedule_inner {
  text-align: center;
}
.course .pa_schedule_ttl {
  text-align: center;
}
.course .pa_schedule_list {
  display: flex;
  flex-wrap: wrap;
  gap: 43px 40px;
  margin-top: 70px;
}
@media (max-width: 896px) {
  .course .pa_schedule_list {
    margin-top: calc(70px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .course .pa_schedule_list {
    margin-top: calc(70px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .course .pa_schedule_list {
    gap: 21px 20px;
  }
}
.course .pa_schedule_list_item {
  width: calc((100% - 120px) / 4);
}
@media screen and (max-width: 896px) {
  .course .pa_schedule_list_item {
    width: calc((100% - 40px) / 3);
  }
}
@media screen and (max-width: 479px) {
  .course .pa_schedule_list_item {
    width: calc((100% - 20px) / 2);
  }
}
.course .pa_schedule_list_img {
  line-height: 0;
  border-top-right-radius: 8px;
  border-top-left-radius: 8px;
}
.course .pa_schedule_list_body {
  padding: 16px 25px 32px 25px;
  background-color: #F5F5F5;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
}
@media screen and (max-width: 896px) {
  .course .pa_schedule_list_body {
    padding: 8px 12px 16px 12px;
  }
}
.course .pa_schedule_list_ttl {
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "Segoe UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: clamp(1.5625rem, 0.9703947368rem + 1.9736842105vw, 2.5rem);
  font-weight: 700;
  color: #e1c26e;
}
.course .pa_schedule_events {
  min-height: 8em;
  margin-top: 20px;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 896px) {
  .course .pa_schedule_events {
    margin-top: 12px;
  }
}

/*
 * Base Group
 */
/*
 * Base Group
 */
.support .pa_flow {
  position: relative;
  margin-top: 160px;
}
@media (max-width: 896px) {
  .support .pa_flow {
    margin-top: calc(160px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .support .pa_flow {
    margin-top: calc(160px * 0.5);
  }
}
.support .pa_flow_inner {
  background-color: #F0F9FC;
  padding: 90px 4% 160px 4%;
}
@media screen and (max-width: 479px) {
  .support .pa_flow_inner {
    padding: 45px 4% 80px 4%;
  }
}
.support .pa_flow_ttl {
  text-align: center;
}
.support .pa_flow_list {
  max-width: 1000px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 37px;
  margin: 65px auto 0 auto;
}
@media screen and (max-width: 896px) {
  .support .pa_flow_list {
    gap: 24px;
  }
}
.support .pa_flow_item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 45px;
}
@media screen and (max-width: 896px) {
  .support .pa_flow_item {
    gap: 18px;
  }
}
.support .pa_flow_img {
  width: 20%;
  line-height: 0;
}
@media screen and (max-width: 479px) {
  .support .pa_flow_img {
    text-align: center;
    width: 100%;
  }
}
.support .pa_flow_body {
  width: calc(80% - 45px);
}
@media screen and (max-width: 896px) {
  .support .pa_flow_body {
    width: calc(80% - 18px);
  }
}
@media screen and (max-width: 479px) {
  .support .pa_flow_body {
    width: 100%;
  }
}
.support .pa_flow_list_ttl {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(1.125rem, 0.7302631579rem + 1.3157894737vw, 1.75rem);
  font-weight: 600;
  letter-spacing: 0.1em;
}
.support .pa_flow_list_txt {
  line-height: 1.5;
  margin-top: 1.15em;
}
.support .pa_download {
  position: relative;
  padding-top: 100px;
  padding-bottom: 115px;
  margin-top: 135px;
  background-color: #F0F9FC;
}
.support .pa_download_inner {
  text-align: center;
}
.support .pa_download_txt {
  margin-top: 50px;
}
.support .pa_download_btn {
  margin-top: 50px;
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.life .pa_flow {
  position: relative;
  margin-top: 160px;
}
@media (max-width: 896px) {
  .life .pa_flow {
    margin-top: calc(160px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_flow {
    margin-top: calc(160px * 0.5);
  }
}
.life .pa_flow_inner {
  background-color: #F0F9FC;
  padding: 90px 4% 140px 4%;
}
@media screen and (max-width: 896px) {
  .life .pa_flow_inner {
    padding: 45px 4% 75px 4%;
  }
}
.life .pa_flow_ttl {
  text-align: center;
}
.life .pa_flow_sday {
  position: relative;
  margin-top: 60px;
}
@media (max-width: 896px) {
  .life .pa_flow_sday {
    margin-top: calc(60px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_flow_sday {
    margin-top: calc(60px * 0.5);
  }
}
.life .pa_flow_item {
  position: relative;
  max-width: min(77.4193548387vw, 960px);
  width: 100%;
  margin: 0 auto;
  padding-bottom: 30px;
}
.life .pa_flow_item:before {
  content: "";
  width: min(5.6451612903vw, 70px);
  height: min(5.6451612903vw, 70px);
  min-width: 30px;
  min-height: 30px;
  background: url(../images/life/sday_icon01@2x.png);
  background-size: cover;
  position: absolute;
  top: calc(min(0.9677419355vw, 12px) * -1);
  left: calc(min(7.6612903226vw, 95px) * -1);
}
@media screen and (max-width: 479px) {
  .life .pa_flow_item:before {
    left: -37px;
  }
}
.life .pa_flow_item:after {
  content: "";
  width: 3px;
  height: calc(100% - min(8.064516129vw, 100px));
  background-color: #71CAEA;
  position: absolute;
  top: min(5.6451612903vw, 70px);
  left: calc(min(4.9193548387vw, 61px) * -1);
}
@media screen and (max-width: 479px) {
  .life .pa_flow_item:after {
    height: calc(100% - 45px);
    top: 33px;
    left: -24px;
  }
}
.life .pa_flow_item.__last:after {
  content: none;
}
.life .pa_flow_item_ttl {
  font-size: clamp(1.0625rem, 0.7072368421rem + 1.1842105263vw, 1.625rem);
  font-weight: 500;
  color: #fff;
  background-color: #123460;
  border-radius: 25px;
  padding: 2px 1em;
  letter-spacing: 0.1em;
}
.life .pa_flow_item_wrapper {
  padding: 0 4.167%;
  margin-top: 26px;
}
.life .pa_flow_item_txt {
  color: #333;
  line-height: 1.875;
  letter-spacing: 0em;
  min-height: 4em;
}
.life .pa_flow_item_imgs {
  display: flex;
  gap: 22px;
  margin-top: 1em;
}
.life .pa_flow_item_imgs > img {
  width: calc((100% - 22px) / 2);
  border-radius: 6px;
}
@media screen and (max-width: 479px) {
  .life .pa_flow_item_imgs {
    gap: 11px;
  }
  .life .pa_flow_item_imgs > img {
    width: calc((100% - 11px) / 2);
  }
}
.life .pa_flow_item_arrow {
  margin-top: 49px;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .life .pa_flow_item_arrow img {
    width: 50px;
  }
}
.life .pa_event {
  position: relative;
  margin-top: 100px;
}
@media (max-width: 896px) {
  .life .pa_event {
    margin-top: calc(100px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_event {
    margin-top: calc(100px * 0.5);
  }
}
.life .pa_event {
  padding-bottom: 160px;
}
@media (max-width: 896px) {
  .life .pa_event {
    padding-bottom: calc(160px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_event {
    padding-bottom: calc(160px * 0.5);
  }
}
.life .pa_event_inner {
  text-align: center;
}
.life .pa_event_txt {
  margin-top: 50px;
}
@media (max-width: 896px) {
  .life .pa_event_txt {
    margin-top: calc(50px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_event_txt {
    margin-top: calc(50px * 0.5);
  }
}
.life .pa_event_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 82px;
}
@media (max-width: 896px) {
  .life .pa_event_list {
    margin-top: calc(82px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_event_list {
    margin-top: calc(82px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .life .pa_event_list {
    gap: 20px;
  }
}
.life .pa_event_item {
  width: calc((100% - 120px) / 4);
}
@media screen and (max-width: 896px) {
  .life .pa_event_item {
    width: calc((100% - 60px) / 4);
  }
}
@media screen and (max-width: 479px) {
  .life .pa_event_item {
    width: calc((100% - 20px) / 2);
  }
}
.life .pa_event_detail {
  margin-top: 20px;
}
.life .pa_event_detail_item {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
.life .pa_ryou {
  position: relative;
  margin-top: 40px;
}
@media (max-width: 896px) {
  .life .pa_ryou {
    margin-top: calc(40px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_ryou {
    margin-top: calc(40px * 0.5);
  }
}
.life .pa_ryou {
  padding-bottom: 100px;
}
@media (max-width: 896px) {
  .life .pa_ryou {
    padding-bottom: calc(100px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_ryou {
    padding-bottom: calc(100px * 0.5);
  }
}
.life .pa_ryou_inner {
  text-align: center;
}
.life .pa_ryou_txt {
  margin-top: 50px;
}
@media (max-width: 896px) {
  .life .pa_ryou_txt {
    margin-top: calc(50px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_ryou_txt {
    margin-top: calc(50px * 0.5);
  }
}
.life .pa_ryou_img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px;
  margin-top: 82px;
}
@media (max-width: 896px) {
  .life .pa_ryou_img {
    margin-top: calc(82px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_ryou_img {
    margin-top: calc(82px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .life .pa_ryou_img {
    gap: 20px;
  }
}
.life .pa_ryou_img li {
  width: calc(50% - 20px);
}
.life .pa_ryou_bt {
  margin-top: 50px;
}
@media (max-width: 896px) {
  .life .pa_ryou_bt {
    margin-top: calc(50px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_ryou_bt {
    margin-top: calc(50px * 0.5);
  }
}
.life .pa_ryou_bt {
  text-align: center;
}
.life .pa_smap {
  position: relative;
  background-color: #F0F7E5;
  padding-top: 80px;
}
@media (max-width: 896px) {
  .life .pa_smap {
    padding-top: calc(80px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_smap {
    padding-top: calc(80px * 0.5);
  }
}
.life .pa_smap {
  padding-bottom: 145px;
}
@media (max-width: 896px) {
  .life .pa_smap {
    padding-bottom: calc(145px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_smap {
    padding-bottom: calc(145px * 0.5);
  }
}
.life .pa_smap_inner {
  text-align: center;
}
.life .pa_smap_txt {
  margin-top: 50px;
}
@media (max-width: 896px) {
  .life .pa_smap_txt {
    margin-top: calc(50px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_smap_txt {
    margin-top: calc(50px * 0.5);
  }
}
.life .pa_smap_body {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 109px 0;
  margin-top: 50px;
  background-image: url(../images/life/s-map_bg@2x.jpg);
  background-size: cover;
  background-position: center bottom;
}
@media screen and (max-width: 1240px) {
  .life .pa_smap_body {
    padding: 109px 4%;
  }
}
@media screen and (max-width: 896px) {
  .life .pa_smap_body {
    padding: 50px 4%;
  }
}
.life .pa_smap_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto auto auto;
  gap: 68px 30px;
  max-width: 1000px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 896px) {
  .life .pa_smap_grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 20px;
  }
}
@media screen and (max-width: 479px) {
  .life .pa_smap_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 16px;
  }
}
.life .pa_smap_item {
  position: relative;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}
.life .pa_smap_item_img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}
.life .pa_smap_item_label {
  width: 90%;
  position: absolute;
  bottom: 14px;
  bottom: min(1.1290322581vw, 14px);
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-weight: 500;
  background: #fff;
  padding: 0.3rem 0.5rem;
  border-radius: 18px;
  display: inline-block;
}
.life .pa_smap_center {
  grid-row: 2;
  grid-column: 2/span 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 896px) {
  .life .pa_smap_center {
    grid-row: 1;
    grid-column: auto;
  }
}
.life .pa_smap_center_logo {
  max-width: min(24.7580645161vw, 307px);
}
.life .pa_osaka {
  position: relative;
  padding-top: 118px;
}
@media (max-width: 896px) {
  .life .pa_osaka {
    padding-top: calc(118px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_osaka {
    padding-top: calc(118px * 0.5);
  }
}
.life .pa_osaka {
  padding-bottom: 140px;
}
@media (max-width: 896px) {
  .life .pa_osaka {
    padding-bottom: calc(140px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_osaka {
    padding-bottom: calc(140px * 0.5);
  }
}
.life .pa_osaka_inner {
  text-align: center;
}
.life .pa_osaka_txt {
  margin-top: 50px;
}
.life .pa_osaka_map {
  position: relative;
  margin-top: 90px;
}
@media (max-width: 896px) {
  .life .pa_osaka_map {
    margin-top: calc(90px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_osaka_map {
    margin-top: calc(90px * 0.5);
  }
}
.life .pa_osaka_map:after {
  position: absolute;
  top: 34px;
  left: 0;
  content: "";
  width: min(95.8208955224vw, 1284px);
  height: min(95.8208955224vw, 1284px);
  background-image: url(../images/life/osaka-map_bg@2x.png);
  background-size: cover;
  background-position: center;
  z-index: -1;
}
.life .pa_osaka_map_img {
  width: min(92.5373134328vw, 1240px);
}
.life .pa_gallery {
  position: relative;
  padding-top: 140px;
}
@media (max-width: 896px) {
  .life .pa_gallery {
    padding-top: calc(140px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_gallery {
    padding-top: calc(140px * 0.5);
  }
}
.life .pa_gallery {
  padding-bottom: 140px;
}
@media (max-width: 896px) {
  .life .pa_gallery {
    padding-bottom: calc(140px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .life .pa_gallery {
    padding-bottom: calc(140px * 0.5);
  }
}
.life .pa_gallery_inner {
  text-align: center;
}
.life .pa_gallery_txt {
  margin-top: 40px;
  line-height: 2;
}
.life .pa_gallery_slider {
  margin-top: 38px;
}
.life .pa_gallery_slider_item {
  overflow: hidden;
  width: auto;
  aspect-ratio: 716/500;
}
.life .pa_gallery_slider_item > img {
  width: 100%;
}

/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
/*
 * Base Group
 */
.recruit .pa_charm {
  position: relative;
  padding-top: 112px;
}
@media (max-width: 896px) {
  .recruit .pa_charm {
    padding-top: calc(112px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_charm {
    padding-top: calc(112px * 0.5);
  }
}
.recruit .pa_charm_inner {
  text-align: center;
}
.recruit .pa_charm_txt {
  margin-top: 30px;
}
.recruit .pa_charm_list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 11.5%;
  max-width: 1000px;
  margin: 75px auto 0;
}
@media screen and (max-width: 896px) {
  .recruit .pa_charm_list {
    gap: 30px 6%;
    margin: 35px auto 0;
  }
}
.recruit .pa_charm_item {
  width: 25.6666666667%;
}
@media screen and (max-width: 896px) {
  .recruit .pa_charm_item {
    width: 29.3333333333%;
  }
}
.recruit .pa_charm_item_circle {
  position: relative;
  border-radius: 50%;
  max-width: min(25.7vw, 257px);
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 1em auto;
}
.recruit .pa_charm_item_circle.__01 {
  background-color: #153965;
}
.recruit .pa_charm_item_circle.__02 {
  background-color: #346991;
}
.recruit .pa_charm_item_circle.__03 {
  background-color: #4D91B6;
}
@media screen and (max-width: 896px) {
  .recruit .pa_charm_item_circle > img {
    width: 70%;
  }
}
.recruit .pa_charm_item_txt {
  font-size: clamp(0.9375rem, 0.7401315789rem + 0.6578947368vw, 1.25rem);
  font-weight: 500;
  line-height: 1.6363636364;
  letter-spacing: 0.1em;
  margin-top: 1em;
}
@media screen and (max-width: 479px) {
  .recruit .pa_charm_item_txt {
    text-align: left;
  }
}
.recruit .pa_flow {
  position: relative;
  margin-top: 114px;
}
@media (max-width: 896px) {
  .recruit .pa_flow {
    margin-top: calc(114px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_flow {
    margin-top: calc(114px * 0.5);
  }
}
.recruit .pa_flow_inner {
  background-color: #F5F5F5;
  padding: 90px 4% 140px 4%;
}
@media screen and (max-width: 896px) {
  .recruit .pa_flow_inner {
    padding: 45px 4% 75px 4%;
  }
}
.recruit .pa_flow_ttl {
  text-align: center;
}
.recruit .pa_flow_txt {
  margin-top: 30px;
}
.recruit .pa_flow_list {
  position: relative;
  margin-top: 60px;
}
@media (max-width: 896px) {
  .recruit .pa_flow_list {
    margin-top: calc(60px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_flow_list {
    margin-top: calc(60px * 0.5);
  }
}
.recruit .pa_flow_item {
  position: relative;
  max-width: min(77.4193548387vw, 960px);
  width: 100%;
  margin: 0 auto;
  padding-bottom: 65px;
}
.recruit .pa_flow_item:before {
  content: "";
  width: min(5.6451612903vw, 70px);
  height: min(5.6451612903vw, 70px);
  min-width: 30px;
  min-height: 30px;
  background: url(../images/life/sday_icon01@2x.png);
  background-size: cover;
  position: absolute;
  top: calc(min(0.9677419355vw, 12px) * -1);
  left: calc(min(7.6612903226vw, 95px) * -1);
}
@media screen and (max-width: 479px) {
  .recruit .pa_flow_item:before {
    left: -37px;
  }
}
.recruit .pa_flow_item:after {
  content: "";
  width: 3px;
  height: calc(100% - min(8.064516129vw, 100px));
  background-color: #71CAEA;
  position: absolute;
  top: min(5.6451612903vw, 70px);
  left: calc(min(4.9193548387vw, 61px) * -1);
}
@media screen and (max-width: 479px) {
  .recruit .pa_flow_item:after {
    height: calc(100% - 45px);
    top: 33px;
    left: -24px;
  }
}
.recruit .pa_flow_item.__last {
  border-bottom: 8px solid #71CAEA;
  padding-bottom: 90px;
}
.recruit .pa_flow_item.__last:after {
  content: none;
}
.recruit .pa_flow_item_ttl {
  font-size: clamp(1.125rem, 0.7302631579rem + 1.3157894737vw, 1.75rem);
  font-weight: 900;
  color: #fff;
  background-color: #72CBEB;
  border-radius: 25px;
  padding: 2px 1em;
  letter-spacing: 0.1em;
}
.recruit .pa_flow_item_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 0 4.167%;
  margin-top: 26px;
}
.recruit .pa_flow_item_img {
  width: 33%;
  line-height: 0;
}
@media screen and (max-width: 479px) {
  .recruit .pa_flow_item_img {
    width: 100%;
  }
}
.recruit .pa_flow_item_body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: calc(67% - 20px);
}
@media screen and (max-width: 479px) {
  .recruit .pa_flow_item_body {
    width: 100%;
  }
}
.recruit .pa_flow_item_txt {
  color: #333;
  line-height: 1.875;
  letter-spacing: 0em;
  min-height: 4em;
}
.recruit .pa_flow_item_img_sub {
  display: flex;
  gap: 12px;
}
.recruit .pa_flow_item_img_sub > img {
  width: calc((100% - 12px) / 2);
  border-radius: 6px;
}
.recruit .pa_flow_item_box {
  padding: 18px 40px 40px 40px;
  background-color: #fff;
  border-radius: 8px;
  margin-top: 2em;
}
.recruit .pa_flow_item_box .pa_flow_item_img_sub {
  margin-top: 20px;
}
@media screen and (max-width: 896px) {
  .recruit .pa_flow_item_box {
    padding: 9px 20px 20px 20px;
  }
}
.recruit .pa_flow_item_box_ttl {
  font-size: clamp(0.9375rem, 0.6611842105rem + 0.9210526316vw, 1.375rem);
  color: #72CBEB;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-align: center;
}
.recruit .pa_flow_item_box_txt {
  color: #333;
  line-height: 1.875;
  letter-spacing: 0em;
  margin-top: 22px;
}
.recruit .pa_flow_item_illust {
  position: absolute;
  right: 1em;
  bottom: 0;
  line-height: 0;
}
.recruit .pa_flow_item_illust.__01 {
  max-width: min(31.8548387097vw, 395px);
}
.recruit .pa_flow_item_illust.__02 {
  max-width: min(32.6612903226vw, 405px);
}
.recruit .pa_flow_item_illust.__03 {
  max-width: min(37.5vw, 465px);
}
.recruit .pa_flow_item_illust.__04 {
  max-width: min(38.3064516129vw, 475px);
}
.recruit .pa_flow_item_arrow {
  margin-top: 55px;
  text-align: center;
}
@media screen and (max-width: 896px) {
  .recruit .pa_flow_item_arrow img {
    width: 60px;
  }
}
.recruit .pa_teacher {
  position: relative;
  padding-top: 108px;
}
@media (max-width: 896px) {
  .recruit .pa_teacher {
    padding-top: calc(108px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_teacher {
    padding-top: calc(108px * 0.5);
  }
}
.recruit .pa_teacher {
  margin-bottom: 50px;
}
@media (max-width: 896px) {
  .recruit .pa_teacher {
    margin-bottom: calc(50px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_teacher {
    margin-bottom: calc(50px * 0.5);
  }
}
.recruit .pa_teacher_ttl {
  text-align: center;
}
.recruit .pa_teacher_list {
  display: flex;
  flex-wrap: wrap;
  gap: 51px;
  margin-top: 60px;
}
@media (max-width: 896px) {
  .recruit .pa_teacher_list {
    margin-top: calc(60px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_teacher_list {
    margin-top: calc(60px * 0.5);
  }
}
@media screen and (max-width: 896px) {
  .recruit .pa_teacher_list {
    gap: 25px;
  }
}
.recruit .pa_teacher_item {
  width: calc((100% - 102px) / 3);
}
@media screen and (max-width: 896px) {
  .recruit .pa_teacher_item {
    width: calc((100% - 50px) / 3);
  }
}
@media screen and (max-width: 479px) {
  .recruit .pa_teacher_item {
    width: calc((100% - 25px) / 2);
  }
}
.recruit .pa_teacher_img {
  line-height: 0;
}
.recruit .pa_teacher_name {
  margin-top: 1em;
}
.recruit .pa_teacher_txt {
  margin-top: 22px;
}
.recruit .pa_apply {
  position: relative;
  background-color: #F0F9FC;
  padding-top: 100px;
}
@media (max-width: 896px) {
  .recruit .pa_apply {
    padding-top: calc(100px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_apply {
    padding-top: calc(100px * 0.5);
  }
}
.recruit .pa_apply {
  padding-bottom: 115px;
}
@media (max-width: 896px) {
  .recruit .pa_apply {
    padding-bottom: calc(115px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_apply {
    padding-bottom: calc(115px * 0.5);
  }
}
.recruit .pa_apply {
  margin-top: 135px;
}
@media (max-width: 896px) {
  .recruit .pa_apply {
    margin-top: calc(135px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .recruit .pa_apply {
    margin-top: calc(135px * 0.5);
  }
}
.recruit .pa_apply_inner {
  text-align: center;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
.recruit .pa_apply_txt {
  margin-top: 30px;
}
.recruit .pa_apply_btn {
  margin-top: 50px;
}

/*
 * Base Group
 */
.contact .pa_form {
  position: relative;
  padding-top: 112px;
}
@media (max-width: 896px) {
  .contact .pa_form {
    padding-top: calc(112px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .contact .pa_form {
    padding-top: calc(112px * 0.5);
  }
}
.contact .pa_form {
  padding-bottom: 150px;
}
@media (max-width: 896px) {
  .contact .pa_form {
    padding-bottom: calc(150px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .contact .pa_form {
    padding-bottom: calc(150px * 0.5);
  }
}
.contact .pa_form_inner {
  text-align: center;
}
.contact .pa_form_txt {
  margin-top: 30px;
}
.contact .pa_form {
  text-align: left;
  max-width: 820px;
  width: 100%;
  margin: 0 auto;
}
.contact .pa_form_item {
  display: flex;
  flex-direction: column;
  margin-top: 1em;
}
.contact .pa_form_item label {
  font-size: clamp(0.8125rem, 0.7335526316rem + 0.2631578947vw, 0.9375rem);
  font-weight: 500;
  color: #123460;
}
.contact .pa_form_item input,
.contact .pa_form_item textarea {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 0.5em;
  width: 100%;
}
.contact .pa_form_accept {
  margin-top: 40px;
}
.contact .pa_form_btn {
  margin-top: 50px;
}
.contact .pa_form_btn .el_btn {
  border: none;
  cursor: pointer;
}
.contact .pa_form_btn .el_btn:disabled {
  cursor: not-allowed;
}

/*
 * Base Group
 */
/*
 * Base Group
 */
.single .pa_single {
  position: relative;
  margin-bottom: 200px;
}
@media (max-width: 896px) {
  .single .pa_single {
    margin-bottom: calc(200px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .single .pa_single {
    margin-bottom: calc(200px * 0.5);
  }
}
.single .pa_single_inner {
  text-align: center;
  margin-top: 120px;
}
@media (max-width: 896px) {
  .single .pa_single_inner {
    margin-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .single .pa_single_inner {
    margin-top: calc(120px * 0.5);
  }
}
.single .pa_single_ttl {
  color: #123460;
}
.single .pa_single_content {
  margin-top: 70px;
}
@media (max-width: 896px) {
  .single .pa_single_content {
    margin-top: calc(70px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .single .pa_single_content {
    margin-top: calc(70px * 0.5);
  }
}
.single .pa_single_time {
  display: block;
  text-align: right;
}
.single .pa_single_main {
  text-align: left;
  margin-top: 40px;
}
.single .pa_single_main h1 {
  font-size: clamp(1.25rem, 0.8552631579rem + 1.3157894737vw, 1.875rem);
  font-weight: 700;
  margin-top: 1em;
}
.single .pa_single_main h2 {
  font-size: clamp(1.0625rem, 0.7072368421rem + 1.1842105263vw, 1.625rem);
  font-weight: 700;
  margin-top: 1em;
  color: #123460;
  border-bottom: 2px solid #123460;
}
.single .pa_single_main h3 {
  font-size: clamp(0.9375rem, 0.6611842105rem + 0.9210526316vw, 1.375rem);
  font-weight: 700;
  margin-top: 1em;
  color: #123460;
  border-left: 3px solid #123460;
  padding-left: 0.25em;
}
.single .pa_single_main h4 {
  font-size: clamp(0.9375rem, 0.7401315789rem + 0.6578947368vw, 1.25rem);
  font-weight: 500;
  margin-top: 1em;
  color: #123460;
}
.single .pa_single_main h5 {
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-weight: 500;
  margin-top: 1em;
  color: #123460;
}
.single .pa_single_main h6 {
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-weight: 500;
  margin-top: 1em;
  color: #123460;
}
.single .pa_single_main strong {
  font-weight: 700;
}
.single .pa_single_main small {
  font-size: clamp(0.625rem, 0.5460526316rem + 0.2631578947vw, 0.75rem);
  font-weight: 300;
}
.single .pa_single_main p {
  margin-top: 1em;
}
.single .pa_single_main a {
  text-decoration: underline;
}
.single .pa_single_main ul {
  list-style: disc;
  margin-top: 1em;
  padding-left: 1.5em;
}
.single .pa_single_main ol {
  list-style: decimal;
  margin-top: 1em;
  padding-left: 1.5em;
}
.single .pa_single_main li {
  list-style: inherit;
}
.single .pa_single_main figure {
  margin-top: 20px;
}
.single .pa_single_txt {
  margin-top: 30px;
}
.single .pa_archive {
  position: relative;
  padding-top: 120px;
}
@media (max-width: 896px) {
  .single .pa_archive {
    padding-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .single .pa_archive {
    padding-top: calc(120px * 0.5);
  }
}
.single .pa_archive {
  padding-bottom: 200px;
}
@media (max-width: 896px) {
  .single .pa_archive {
    padding-bottom: calc(200px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .single .pa_archive {
    padding-bottom: calc(200px * 0.5);
  }
}
.single .pa_archive_inner {
  text-align: center;
}
.single .pa_archive_wrapper {
  max-width: 1000px;
  width: 100%;
  margin: 40px auto 0 auto;
}
.single .pa_archive_item {
  border-bottom: 1px solid #123460;
}
.single .pa_archive_link {
  display: flex;
  flex-wrap: wrap;
  padding: 2em 0.5em;
}
.single .pa_archive_link:hover .pa_archive_item_ttl {
  padding-left: 2em;
}
.single .pa_archive_time {
  max-width: 100px;
  width: 100%;
}
.single .pa_archive_item_ttl {
  flex: 1;
  text-align: left;
  padding-left: 1em;
  transition: all 0.3s;
}
.single .pa_archive_pagenation {
  margin-top: 50px;
  letter-spacing: 0.1em;
}

/*
 * Base Group
 */
.privacy .pa_privacy {
  position: relative;
  padding-top: 120px;
}
@media (max-width: 896px) {
  .privacy .pa_privacy {
    padding-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .privacy .pa_privacy {
    padding-top: calc(120px * 0.5);
  }
}
.privacy .pa_privacy {
  padding-bottom: 200px;
}
@media (max-width: 896px) {
  .privacy .pa_privacy {
    padding-bottom: calc(200px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .privacy .pa_privacy {
    padding-bottom: calc(200px * 0.5);
  }
}
.privacy .pa_privacy_list {
  position: relative;
}
.privacy .pa_privacy_item {
  margin-top: 2em;
}
.privacy .pa_privacy_ttl {
  font-size: clamp(0.9375rem, 0.6611842105rem + 0.9210526316vw, 1.375rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 0.25em;
  border-bottom: 2px solid #123460;
}
.privacy .pa_privacy_txt {
  margin-top: 1em;
  letter-spacing: 0.1em;
  line-height: 2;
}

/*
 * Helper Group
 */
/*
 * Base Group
 */
@media screen and (max-width: 479px) {
  .hp_dSpPc {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  .hp_dSpNone {
    display: none;
  }
}

@media screen and (max-width: 896px) {
  .hp_dPcOnly {
    display: none;
  }
}

.hp_flexSp {
  display: none;
}
@media screen and (max-width: 479px) {
  .hp_flexSp {
    display: flex;
  }
}

.hp_dSpTab {
  display: none;
}
@media screen and (max-width: 896px) {
  .hp_dSpTab {
    display: block;
  }
}

.hp_dSp {
  display: none;
}
@media screen and (max-width: 479px) {
  .hp_dSp {
    display: block;
  }
}

.hp_base {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}
@media screen and (max-width: 1240px) {
  .hp_base {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.hp_hover:hover {
  filter: brightness(1.1) contrast(1.1);
}

.hp_hoverL:hover {
  filter: brightness(1.03) contrast(1.03);
}

.hp_fs2 {
  font-size: clamp(0.9375rem, 0.7401315789rem + 0.6578947368vw, 1.25rem);
}

.hp_tar {
  text-align: right;
}

.hp_tac {
  text-align: center;
}

.hp_tal {
  text-align: left;
}

.hp_fwB {
  font-weight: bold;
}

.hp_mt110 {
  margin-top: 110px;
}
@media (max-width: 896px) {
  .hp_mt110 {
    margin-top: calc(110px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .hp_mt110 {
    margin-top: calc(110px * 0.5);
  }
}

.hp_mt120 {
  margin-top: 120px;
}
@media (max-width: 896px) {
  .hp_mt120 {
    margin-top: calc(120px * 0.6666666667);
  }
}
@media (max-width: 480px) {
  .hp_mt120 {
    margin-top: calc(120px * 0.5);
  }
}

.hp_space {
  padding-right: 4%;
  padding-left: 4%;
}

.hp_wsnw {
  white-space: nowrap;
}

.hp_vb-hidden {
  visibility: hidden;
}

/*
 * Unique Group
 */
/*
 * program Group
 */
/*
 * Base Group
 */
.js_scroll_active.bl_header {
  background-color: transparent;
  backdrop-filter: blur(30px);
}
.js_scroll_active .bl_header_inner {
  min-height: 80px;
}
.js_scroll_active .bl_header_nav_list.bl_header_nav_list__offWhite {
  padding: 1.089% 6.069%;
}
.js_scroll_active .bl_header_nav_list.bl_header_nav_list__green {
  padding: 1.089% 4.079%;
}
.js_scroll_active .bl_header_nav_link {
  font-size: clamp(0.625rem, 0.5460526316rem + 0.2631578947vw, 0.75rem);
}

/*
 * Original Group
 */
/*
 * Base Group
 */
header .header_menu {
  display: block;
  position: fixed;
  right: 18px;
  top: 23px;
  width: 76px;
  height: 76px;
  cursor: pointer;
  background-color: #f5f5f5;
  border-radius: 50%;
  z-index: 10000;
}
header .header_menu div {
  position: relative;
}
header .header_menu span {
  display: block;
  position: absolute;
  height: 1px;
  width: 50%;
  background: #123460;
  left: 18px;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}
header .header_menu span:nth-child(1) {
  top: 20px;
}
header .header_menu span:nth-child(2) {
  top: 30px;
}
header .header_menu span:nth-child(3) {
  top: 40px;
}
header .header_menu span.menu {
  font-size: 13px;
  font-weight: 700;
  top: 46px;
  background: transparent;
}
header .header_menu.open {
  background-color: transparent;
}
header .header_menu.open span:nth-child(1) {
  top: 30px;
  -webkit-transform: rotate(20deg);
  -moz-transform: rotate(20deg);
  transform: rotate(20deg);
  background: #fff;
}
header .header_menu.open span:nth-child(2) {
  width: 0;
  left: 50%;
}
header .header_menu.open span:nth-child(3) {
  top: 30px;
  -webkit-transform: rotate(-20deg);
  -moz-transform: rotate(-20deg);
  transform: rotate(-20deg);
  background: #fff;
}
header .header_menu.open span.menu {
  color: #fff;
}

#subNav {
  display: none;
  flex-wrap: wrap;
  justify-content: space-between;
  position: fixed;
  left: 0;
  top: 0px;
  width: 100%;
  height: -webkit-calc(100vh);
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.35);
  text-align: right;
  z-index: 9999;
  overflow: auto;
}
#subNav .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#subNav .spNav_bg {
  position: relative;
  background: #fff;
  padding: 3vh 4% 4vh;
  width: 75%;
  height: 100%;
  margin: 0 0 0 auto;
  right: -100%;
}
#subNav .nav {
  display: flex;
  flex-direction: column;
  gap: 1em;
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.45;
  letter-spacing: 0.1em;
  padding: 120px 40px 1% 2%;
  background-color: #123460;
  height: 100%;
  width: 25%;
  margin: 0 0 0 auto;
  font-weight: 400;
}
#subNav .nav .sub_item {
  position: relative;
}
#subNav .nav .sub_item:after {
  opacity: 0;
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
  content: "";
  background-image: url(../images/index/fv_menu_active@2x.png);
  background-size: cover;
  width: 15px;
  height: 19px;
  transition: opacity 0.4s ease;
}
#subNav .nav .sub_item.active:after {
  opacity: 1;
}
#subNav .nav .nav_link_sub {
  color: #fff;
}
#subNav .nav .nav_link_sub:hover {
  color: #71CAEA;
}
@media screen and (max-width: 896px) {
  #subNav .nav {
    width: 100%;
    padding: 120px 4% 4% 4%;
  }
}
#subNav .nav .__other {
  height: 100%;
  display: none;
  justify-content: flex-end;
  align-items: flex-end;
}
#subNav .nav .__other .other_wrapper {
  position: relative;
  max-width: 110px;
  width: 100%;
}
#subNav .nav .__other .other_wrapper .nav_lang {
  display: block;
  background-color: #000;
  border-radius: 6px;
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  color: #fff;
  max-width: 110px;
  width: 100%;
  text-align: center;
  padding: 7px 0.5em;
}
@media screen and (max-width: 896px) {
  #subNav .nav .__other {
    display: flex;
  }
}
#subNav .sp_modal {
  opacity: 0;
  pointer-events: none;
  transition: transform 0.4s ease, opacity 0.4s ease;
  position: absolute;
  top: 90px;
  left: 4%;
  width: 92%;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.7);
  transform: scale(1.2);
}
#subNav .sp_modal.active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}
#subNav .sp_modal_inner {
  padding: 10% 8%;
}
#subNav .sp_modal_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
}
#subNav .sp_modal_item {
  position: relative;
  width: 100%;
}
#subNav .sp_modal_link_sub {
  color: #111;
}
#subNav .sp_modal_img {
  border-radius: 6px;
  height: 90px;
  width: 100%;
  object-fit: cover;
}
#subNav .sp_modal_ttl {
  font-size: clamp(0.9375rem, 0.7401315789rem + 0.6578947368vw, 1.25rem);
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-align: center;
}
#subNav .sp_modal_subttl {
  position: relative;
  font-size: clamp(0.875rem, 0.7171052632rem + 0.5263157895vw, 1.125rem);
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-align: left;
}
#subNav .sp_modal_subttl:after {
  opacity: 1;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
  content: "";
  background-image: url(../images/common/sp_arrow@2x.png);
  background-size: cover;
  width: 20px;
  height: 14px;
  transition: opacity 0.4s ease;
}
#subNav .nav_sns {
  display: flex;
  justify-content: center;
  gap: 14px;
  padding-top: 12px;
}

/*
 * Base Group
 */
.dl01s {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.dl02s {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.dl03s {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.dl04s {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.dl05s {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.dl06s {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.dl07s {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

.dl08s {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.dl09s {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

.dl1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.dl15s {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

.dl2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.dl25s {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

.dl3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.dl35s {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s;
}

.dl4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.dl45s {
  -webkit-animation-delay: 4.5s;
  animation-delay: 4.5s;
}

.dl5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.dl55s {
  -webkit-animation-delay: 5.5s;
  animation-delay: 5.5s;
}

.dl6s {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}

.dl65s {
  -webkit-animation-delay: 6.5s;
  animation-delay: 6.5s;
}

.dl7s {
  -webkit-animation-delay: 7s;
  animation-delay: 7s;
}

.dl75s {
  -webkit-animation-delay: 7.5s;
  animation-delay: 7.5s;
}

.dl8s {
  -webkit-animation-delay: 8s;
  animation-delay: 8s;
}

.dl85s {
  -webkit-animation-delay: 8.5s;
  animation-delay: 8.5s;
}

.dl9s {
  -webkit-animation-delay: 9s;
  animation-delay: 9s;
}

.dl95s {
  -webkit-animation-delay: 9.5s;
  animation-delay: 9.5s;
}
