@charset "UTF-8";
/*======================================
    font
======================================*/
/*======================================
    color
======================================*/
/*======================================
    common
======================================*/
html {
  font-size: 10px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #505050;
}

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

img {
  width: 100%;
  vertical-align: top;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  cursor: pointer;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
.is-nowrap {
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  br.is-pc {
    display: none;
  }
}

br.is-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  br.is-sp {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .hide-sp {
    display: none;
  }
}

/*======================================
    layout
======================================*/
.container {
  overflow: hidden;
  font-size: 1.6rem;
}
@media screen and (max-width: 1024px) {
  .container {
    font-size: min(1.3333333333vw, 1.2rem);
  }
}
@media screen and (max-width: 767px) {
  .container {
    font-size: min(4.2666666667vw, 1.6rem);
  }
}

.inner {
  max-width: 67.5em;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
@media screen and (max-width: 767px) {
  .inner {
    width: 82.67%;
  }
}

.page {
  padding-top: 13.75em;
  padding-bottom: 7.5em;
}
.page.no_pb {
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .page {
    padding-top: 5.625em;
    padding-bottom: 4.375em;
  }
}

.p_pb {
  padding-bottom: 7.5em;
}
@media screen and (max-width: 767px) {
  .p_pb {
    padding-bottom: 4.375em;
  }
}

.tab_area {
  display: none;
}
.tab_area.show {
  display: block;
}

/*======================================
    heading
======================================*/
.hg2_en {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
  justify-content: flex-end;
  column-gap: 1em;
  position: relative;
  padding-left: 2em;
  margin-bottom: 2.5em;
}
@media screen and (max-width: 767px) {
  .hg2_en {
    padding-left: 1.5em;
  }
}
.hg2_en::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 2px;
  height: 2.8125em;
  background-color: #505050;
}
@media screen and (max-width: 767px) {
  .hg2_en::before {
    height: 1.75em;
  }
}
.hg2_en h2 {
  font-size: 0.9375em;
  font-weight: 600;
  letter-spacing: 0.155em;
  font-feature-settings: "palt";
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .hg2_en h2 {
    font-size: 0.5625em;
  }
}
.hg2_en p {
  font-size: 2.8125em;
}
@media screen and (max-width: 767px) {
  .hg2_en p {
    font-size: 1.75em;
  }
}
.hg2_en p img {
  width: auto;
  height: 1em;
}

/*======================================
    section
======================================*/
.c_section_head {
  font-weight: 600;
  letter-spacing: 0.155em;
  line-height: 2.0625;
  font-feature-settings: "palt";
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .c_section_head {
    font-size: 0.75em;
    line-height: 2.0833333333;
  }
}

.c_section_text {
  font-size: 0.9375em;
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  line-height: 1.7333333333;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .c_section_text {
    font-size: 0.8125em;
    line-height: 1.5384615385;
  }
}

.c_section_ttl {
  display: inline-block;
  font-size: 1.375em;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 1.9545454545;
  border-bottom: 1px solid #505050;
  margin-bottom: 2em;
}

/*======================================
    sns
======================================*/
.c_sns_links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 0.875em;
  row-gap: 0.5em;
}

.c_sns_link {
  width: 1.1875em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 1024px) {
  .c_sns_link {
    width: 1.375em;
  }
}
.c_sns_link a {
  display: block;
  transition: opacity 0.3s ease;
}
.c_sns_link a:hover {
  opacity: 0.7;
}

/*======================================
    button
======================================*/
.button_type01 {
  font-size: 0.875em;
  font-weight: 600;
  letter-spacing: 0.075em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25em 1em 0.25em 0;
  width: 10.65em;
  min-height: 2.8125em;
  border: 1px solid #fff;
  border-radius: 5em;
  position: relative;
}
.button_type01:hover::before {
  transform: translate(0.25em, -50%);
}
.button_type01::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6em;
  transform: translateY(-50%);
  width: 0.36em;
  height: 0.72em;
  background: url(../img/icon_arrow_right.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}

.button_type02 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.875em;
  height: 2.8125em;
  border-radius: 3em;
  border: 1px solid #505050;
  position: relative;
  transition: opacity 0.3s ease;
}
.button_type02:hover {
  opacity: 0.7;
}
.button_type02:hover::before {
  transform: translate(calc(50% + 0.25em), -50%);
}
.button_type02::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  width: 2.5em;
  height: 0.6em;
  background: url(../img/btn_arrow.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
.button_type02 img {
  width: auto;
  height: 0.8125em;
}

.button_type03 {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  color: #505050;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 22.9375em;
  height: 4.875em;
  border: 1px solid #505050;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
  background: #fff url(../img/icon_arrow_right_black.svg) no-repeat center right 2.25em/0.5em 1em;
  transition: background-position 0.3s ease, opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .button_type03 {
    background-position: center right 1.5em;
  }
}
.button_type03:hover {
  background-position: center right 2em;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .button_type03:hover {
    background-position: center right 1.25em;
  }
}

/*======================================
    card
======================================*/
.c_cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3.75em;
  row-gap: 4.625em;
}
@media screen and (max-width: 767px) {
  .c_cards {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    column-gap: 1.25em;
    row-gap: 2.5em;
  }
}

.c_card {
  position: relative;
}

.c_card_icon {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 2.5em;
  height: 2.5em;
  transform: translate(-35%, -35%);
}

.c_card_link {
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: opacity 0.3s ease;
}
.c_card_link:hover {
  opacity: 0.7;
}
.c_card_link:hover .c_card_img img {
  transform: scale(1.1);
}

.c_card_img {
  aspect-ratio: 736/360;
  background: lightgray;
  overflow: hidden;
  margin-bottom: 1.25em;
}
.c_card_img img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.c_card_head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5em;
}

.c_card_out {
  margin-left: auto;
  position: relative;
  font-size: 0.75em;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  align-self: start;
  padding-left: 1em;
}
.c_card_out::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.67em;
  height: 0.67em;
  transform: translateY(-50%);
  background: url(../img/icon_link.svg) no-repeat center/contain;
}

.c_card_meta.-close .c_card_event,
.c_card_meta.-close .c_card_ttl {
  color: #a3a3a3;
  border-color: #a3a3a3;
}
.c_card_meta.-close .c_card_event span.icon {
  background-image: url(../img/icon_watch_gray.svg);
}

.c_card_event {
  color: #5BB3A9;
  font-size: 0.875em;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 1.7142857143;
}
.c_card_event span.icon {
  display: inline-block;
  width: 0.86em;
  height: 0.86em;
  background: url(../img/icon_watch_color.svg) no-repeat center/contain;
  margin-right: 0.5em;
}

.c_card_ttl {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 0.75em;
  margin-top: 0.25em;
}
.c_card_ttl.-close {
  color: #a3a3a3;
}

.c_card_cats {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.5em;
  row-gap: 0.25em;
  align-items: start;
  margin-top: auto;
}

.c_card_cat {
  font-size: 0.5625em;
  font-weight: 600;
  letter-spacing: 0.165em;
  font-feature-settings: "palt";
  color: #fff;
  background-color: #A3A3A3;
  line-height: 2.3333333333;
  padding: 0 1em;
  border-radius: 3em;
}

.c_card_button_all {
  margin-top: 5em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .c_card_button_all {
    margin-top: 4.375em;
  }
}

/*======================================
    cta
======================================*/
.cta_fixed {
  position: fixed;
  z-index: 100;
  transition: transform 0.3s ease;
  transform-origin: right bottom;
}
.cta_fixed.scale {
  transform: scale(0.6);
}
@media screen and (min-width: 768px) {
  .cta_fixed {
    bottom: 3.125em;
    right: 3.125em;
    font-size: clamp(0.75em, 0.8333333333vw, 1em);
  }
}
@media screen and (max-width: 767px) {
  .cta_fixed {
    right: 0;
    top: 7.25em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
}

.cta_button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 1.375em;
  font-weight: 700;
  background-color: #5BB3A9;
  color: #fff;
  box-shadow: 0.18em 0.18em 0.18em rgba(0, 0, 0, 0.4);
  position: relative;
  letter-spacing: 0.175em;
  transition: transform 0.3s ease;
}
@media screen and (min-width: 768px) {
  .cta_button {
    width: 8.73em;
    height: 8.73em;
    border-radius: 50%;
  }
}
@media screen and (max-width: 767px) {
  .cta_button {
    flex-direction: row;
    font-size: 0.8125em;
    width: 2.77em;
    height: 11.23em;
    border-radius: 0.76em 0 0 0.76em;
  }
}
.cta_button:hover {
  transform: scale(1.05);
}
.cta_button::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4.9em;
  aspect-ratio: 108/102;
  background: url(../img/cta_pamphlet.png) no-repeat center/contain;
  transform: translate(20%, -38%);
}
@media screen and (max-width: 767px) {
  .cta_button::before {
    width: 2.08em;
    right: 50%;
    transform: translate(56%, -25%);
  }
}
@media screen and (max-width: 767px) {
  .cta_button::after {
    content: "";
    position: absolute;
    bottom: 1em;
    left: 50%;
    transform: translateX(-50%);
    width: 1.1em;
    height: 0.6em;
    background: url(../img/btn_cta_arrow.svg) no-repeat center/contain;
  }
}
.cta_button .lead {
  display: block;
  font-size: 0.9em;
  line-height: 1.45;
  position: relative;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .cta_button .lead {
    font-size: 0.46em;
    line-height: 1.1666666667;
  }
}
.cta_button .lead::before, .cta_button .lead::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1px;
  height: 80%;
  background-color: #fff;
}
.cta_button .lead::before {
  left: 0;
  transform: translate(-0.75em, -50%) rotate(-15deg);
}
.cta_button .lead::after {
  right: 0;
  transform: translate(0.75em, -50%) rotate(15deg);
}

.cta_button_type02 {
  color: #5BB3A9;
  border: 1px solid #5BB3A9;
  border-radius: 0.625em;
  max-width: 32.375em;
  width: 100%;
  height: 6.375em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-weight: 700;
  letter-spacing: 0.175em;
  font-feature-settings: "palt";
  line-height: 1.625;
  margin: 4.375em auto;
  position: relative;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .cta_button_type02 {
    margin: 3.75em auto;
    font-size: 0.8125em;
    height: 7.7em;
  }
}
.cta_button_type02:hover {
  opacity: 0.7;
}
.cta_button_type02:hover::before {
  transform: translate(0.25em, -50%);
}
.cta_button_type02::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  width: 0.375em;
  height: 0.675em;
  background: url(../img/icon_arrow_right_main.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .cta_button_type02::before {
    width: 0.5em;
    height: 1.15em;
    right: 2em;
  }
}
.cta_button_type02 .lg {
  display: block;
  font-weight: 700;
  font-size: 1.25em;
  letter-spacing: 0.175em;
  line-height: 1.45;
}
@media screen and (max-width: 767px) {
  .cta_button_type02 .lg {
    font-size: 1.385em;
  }
}

/*======================================
    pagination
======================================*/
.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 0.625em;
  row-gap: 0.25em;
  margin-top: 6.25em;
}
@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 5.625em;
  }
}
.pagination a {
  transition: opacity 0.3s ease;
}
.pagination a:hover {
  opacity: 0.7;
}
.pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125em;
  font-weight: 600;
  aspect-ratio: 40/38;
  background: url(../img/bg_pagination.svg) no-repeat center/contain;
  width: 3em;
}
.pagination .page-numbers.current {
  background: url(../img/bg_pagination_gray.svg) no-repeat center/contain;
}
.pagination .page-numbers.dots {
  background-image: none;
}

/*======================================
    text
======================================*/
.text_center {
  text-align: center;
}

/*======================================
    header
======================================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 300;
  display: flex;
  color: #fff;
  padding: 2.25em 2.5em 1.25em;
  column-gap: 1.25em;
  transition: filter 0.3s ease, background-color 0.3s ease;
}
@media screen and (min-width: 1400px) {
  .header {
    padding-left: 1.25em;
    padding-right: 1em;
    column-gap: 0.625em;
  }
}
.header.header_top.active {
  filter: drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.16));
}
.header.header_top .header_icon_bar {
  background-color: #fff;
}
.header.shadow {
  filter: drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.16));
}
.header.active {
  background-color: #fff;
}
.header.active .header_logo_text .border {
  border-color: #505050;
}
.header.color, .header.active {
  color: #505050;
}
.header.color .header_logo_text .border, .header.active .header_logo_text .border {
  border-color: #505050;
}
.header.color .header_logo_text, .header.active .header_logo_text {
  background-image: url(../img/header_logo_text_black.svg);
}
@media screen and (max-width: 767px) {
  .header.color .header_logo_text, .header.active .header_logo_text {
    background-image: url(../img/header_logo_text_sp_black.svg);
  }
}
.header.color .header_logo, .header.active .header_logo {
  background-image: url(../img/logo_black.svg);
}
.header.color .header_logo img, .header.active .header_logo img {
  opacity: 0;
}
.header.color .header_icon_bar, .header.active .header_icon_bar {
  background-color: #000;
}
@media screen and (min-width: 1400px) {
  .header.color .header_contact, .header.active .header_contact {
    border-color: #505050;
  }
  .header.color .header_contact::before, .header.active .header_contact::before {
    background-image: url(../img/icon_arrow_right_black.svg);
  }
  .header.color .c_sns_link:nth-child(1), .header.active .c_sns_link:nth-child(1) {
    background-image: url(../img/icon_sns_fb_black.svg);
  }
  .header.color .c_sns_link:nth-child(2), .header.active .c_sns_link:nth-child(2) {
    background-image: url(../img/icon_sns_note_black.svg);
  }
  .header.color .c_sns_link:nth-child(3), .header.active .c_sns_link:nth-child(3) {
    background-image: url(../img/icon_sns_x_black.svg);
  }
  .header.color .c_sns_link:nth-child(4), .header.active .c_sns_link:nth-child(4) {
    background-image: url(../img/icon_sns_instagram_black.svg);
  }
  .header.color .c_sns_link a img, .header.active .c_sns_link a img {
    opacity: 0;
  }
}
@media screen and (min-width: 1400px) {
  .header {
    font-size: min(0.9523809524vw, 1em);
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding: 1.25em 1.25em 0.625em;
    column-gap: 0.625em;
  }
}

.header_left {
  max-width: 28.25em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .header_left {
    max-width: 16.75em;
  }
}

.header_logo {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.header_logo a {
  display: block;
}

.header_logo_text {
  aspect-ratio: 514/46;
  background: url(../img/header_logo_text.svg) no-repeat left center/contain;
  margin-top: 0.5em;
}
@media screen and (max-width: 767px) {
  .header_logo_text {
    margin-top: 0.25em;
    aspect-ratio: 268/24;
    background-image: url(../img/header_logo_text_sp.svg);
  }
}
.header_logo_text .hide,
.is-drawer {
  display: none;
}

@media screen and (min-width: 1400px) {
  .header_right {
    padding-bottom: 1.25em;
    margin-left: auto;
    display: flex;
    align-items: center;
    align-self: start;
    justify-content: flex-end;
    flex: 1;
  }
}
@media screen and (max-width: 1399px) {
  .header_right {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1;
    background-color: rgba(255, 255, 255, 0.8);
    color: #000;
    overflow: scroll;
    padding: 2.5em 0 calc(100vh - var(--vh, 1vh) * 100 + 2.5em);
    display: flex;
    flex-direction: column;
    display: none;
  }
  .header_right.active {
    opacity: 1;
    visibility: visible;
  }
  .is-drawer {
    display: flex;
  }
  .is-header {
    display: none;
  }
}

@media screen and (max-width: 1399px) {
  .header_nav {
    margin-top: 2.75em;
    order: 2;
    max-width: 400px;
    padding-left: 2em;
    padding-right: 2em;
    margin-left: auto;
    margin-right: auto;
  }
}

.header_links {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1399px) {
  .header_links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2em;
  }
}

.header_link a {
  display: block;
  font-size: 0.875em;
  font-weight: 700;
  letter-spacing: 0.155em;
  font-feature-settings: "palt";
  line-height: 2.2142857143;
  padding: 0 0.55em;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 1400px) {
  .header_link a {
    font-size: 0.8125em;
    padding: 0 0.5em;
  }
}
.header_link a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1399px) {
  .header_link {
    border-top: 0.5px solid #000;
    position: relative;
  }
  .header_link:nth-last-child(-n+2) {
    border-bottom: 0.5px solid #000;
  }
  .header_link a {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .header_link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translateY(-50%);
    width: 0.44em;
    height: 0.8em;
    background: url(../img/icon_arrow_right_black.svg) no-repeat center/contain;
    transition: transform 0.3s ease;
  }
  .header_link:hover::before {
    transform: translate(0.25em, -50%);
  }
}
.header_sns {
  margin-left: 1.75em;
}
@media screen and (min-width: 1400px) {
  .header_sns {
    margin-left: 0.5em;
  }
}
@media screen and (max-width: 1399px) {
  .header_sns {
    order: 4;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2em;
    justify-content: center;
  }
}

.header_contact {
  margin-left: 2.25em;
}
@media screen and (min-width: 1400px) {
  .header_contact {
    margin-left: 1.25em;
  }
}
@media screen and (max-width: 1399px) {
  .header_contact {
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.75em;
    background-color: #fff;
    border-color: #000;
    font-size: 0.9375em;
    width: 11.13em;
    height: 3em;
    order: 3;
  }
  .header_contact::before {
    background-image: url(../img/icon_arrow_right_black.svg);
  }
}

@media screen and (min-width: 1400px) {
  .header_icon {
    display: none;
  }
}
@media screen and (max-width: 1399px) {
  .header_icon {
    width: 1.875em;
    height: 0.9375em;
    position: relative;
    margin-left: auto;
    margin-top: 0.25em;
    z-index: 2;
    cursor: pointer;
  }
  .header_icon.active .header_icon_bar {
    background-color: #000 !important;
  }
  .header_icon.active .header_icon_bar.bar1, .header_icon.active .header_icon_bar.bar2 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(30deg);
  }
  .header_icon.active .header_icon_bar.bar3 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-30deg);
  }
}

.header_icon_bar {
  position: absolute;
  left: 50%;
  width: 1.875em;
  height: 1px;
  background-color: #000;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.header_icon_bar.bar1 {
  top: 0;
}
.header_icon_bar.bar2 {
  top: 50%;
}
.header_icon_bar.bar3 {
  top: 100%;
}

@media screen and (min-width: 1400px) {
  .header_drawer_head,
  .header_drawer_bottom {
    display: none;
  }
}

@media screen and (max-width: 1399px) {
  .header_drawer_head {
    order: 1;
  }
}

.header_drawer_head_logo {
  display: block;
  max-width: 10.875em;
  margin-left: auto;
  margin-right: auto;
}

.header_drawer_head_text {
  text-align: center;
  font-size: 0.5em;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.11em;
  font-feature-settings: "palt";
  margin-top: 2em;
}
.header_drawer_head_text.md {
  letter-spacing: 0.155em;
  font-size: 1.1875em;
  display: inline-block;
}
.header_drawer_head_text.ls {
  letter-spacing: 0.04em;
}

@media screen and (max-width: 1399px) {
  .header_drawer_bottom {
    margin-top: 2em;
    width: 90%;
    max-width: 19.375em;
    margin-left: auto;
    margin-right: auto;
    order: 5;
    text-align: center;
  }
}

.header_drawer_bottom_text {
  font-size: 0.75em;
  font-weight: 600;
  line-height: 1.9166666667;
  margin-bottom: 1em;
  font-feature-settings: "palt";
}

.header_drawer_bottom_copyright {
  font-size: 0.625em;
  font-feature-settings: "palt";
  font-weight: 600;
}

/*======================================
    footer
======================================*/
.footer {
  background: url(../img/bg.jpg) no-repeat center/cover;
  color: #fff;
  padding: 5.625em 0 3.75em;
}
@media screen and (max-width: 767px) {
  .footer {
    background-image: url(../img/bg_sp.jpg);
    padding: 3.375em 0 1.5em;
  }
}

.footer_logo {
  display: block;
  max-width: 14.75em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .footer_logo {
    max-width: 12.25em;
  }
}

.footer_links {
  justify-content: center;
  margin-top: 4.875em;
}
@media screen and (max-width: 767px) {
  .footer_links {
    margin-top: 2.5em;
  }
}

.footer_contact {
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5em;
  height: 3.21em;
}

.footer_sns {
  margin-top: 4.375em;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .footer_sns {
    margin-top: 3em;
  }
}

.footer_text {
  font-size: 0.9375em;
  font-feature-settings: "palt";
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.8;
  text-align: center;
  margin-top: 2.5em;
}
@media screen and (max-width: 767px) {
  .footer_text {
    text-align: left;
    font-size: 0.75em;
    line-height: 1.9166666667;
    margin-top: 4em;
  }
}

.footer_copyright {
  text-align: center;
  margin-top: 1.875em;
}
@media screen and (max-width: 767px) {
  .footer_copyright {
    text-align: left;
    margin-top: 1.25em;
  }
}
.footer_copyright small {
  font-size: 0.75em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .footer_copyright small {
    font-size: 0.625em;
  }
}

/*======================================
    TOP
======================================*/
.fv {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  background: url(../img/bg.jpg) no-repeat center/cover;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .fv {
    font-size: min(1.4814814815vh, 1em);
  }
}
@media screen and (max-width: 767px) {
  .fv {
    height: auto;
    background-image: url(../img/bg_sp.jpg);
  }
}

.fv_swiper {
  height: 100%;
}

.fv_swiper_slide {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
.fv_swiper_slide img {
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .fv_video_wrap {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 52%);
    grid-template-rows: 1fr auto 1fr;
    display: grid;
    row-gap: 1.5em;
    z-index: 2;
    max-width: 67.5em;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .fv_video_wrap {
    width: 85%;
    margin-top: 1.85em;
    margin-left: auto;
    margin-right: auto;
  }
}

.fv_video_ttl {
  font-size: 0.875em;
  font-weight: 700;
  letter-spacing: 0.155em;
  line-height: 2;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 0.75em;
}
@media screen and (max-width: 767px) {
  .fv_video_ttl {
    font-size: 1em;
    line-height: 1.25;
  }
}
.fv_video_ttl::before, .fv_video_ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 1.15em;
  background-color: #fff;
}
.fv_video_ttl::before {
  left: 0;
  transform: translateY(-40%) rotate(-20deg);
}
.fv_video_ttl::after {
  right: 0;
  transform: translateY(-40%) rotate(20deg);
}
.fv_video_ttl .logo {
  display: block;
  width: 1.36em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .fv_video_ttl .logo {
    width: 1em;
    line-height: 1;
  }
}

.fv_videos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 4.75em;
}
@media screen and (max-width: 767px) {
  .fv_videos {
    grid-template-columns: 1fr;
    row-gap: 1.875em;
    margin-top: 2.5em;
  }
}

.fv_video {
  display: grid;
  align-items: start;
}
.fv_video:last-child {
  margin-bottom: -50%;
}

.fv_video_episode {
  font-size: 1.125em;
  letter-spacing: 0.155em;
  line-height: 2.2222222222;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1.28em;
  border: 1px solid #fff;
  border-radius: 0.28em;
  grid-column: 1/2;
  grid-row: 1/2;
  transform: translateY(-50%);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .fv_video_episode {
    font-size: 0.875em;
    line-height: 1.7857142857;
    padding: 0 0.5em;
  }
}

.fv_video_frame {
  aspect-ratio: 500/282;
  background-color: gray;
  grid-column: 1/2;
  grid-row: 1/2;
}
.fv_video_frame iframe {
  width: 100%;
  height: 100%;
}

.pickup_news {
  color: #fff;
  position: absolute;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transition: opacity 0.3s ease;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .pickup_news {
    top: 7.5em;
    right: 2.5em;
    width: 18.375em;
    display: flex;
    font-size: clamp(0.75em, 1.4814814815vh, 1em);
  }
}
@media screen and (max-width: 767px) {
  .pickup_news {
    width: 100%;
    max-width: 21.4375em;
    left: 0;
    bottom: 1.25em;
    display: grid;
    grid-template-columns: 5em auto;
    column-gap: 0.625em;
    align-items: center;
  }
}
.pickup_news:hover {
  opacity: 0.7;
}
.pickup_news:hover::before {
  transform: translate(0.25em, -50%);
}
.pickup_news::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25em;
  transform: translateY(-50%);
  width: 0.3125em;
  height: 0.625em;
  background: url(../img/icon_arrow_right.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .pickup_news::before {
    right: 0.5em;
  }
}
@media screen and (min-width: 768px) {
  .pickup_news {
    flex-direction: column;
    justify-content: center;
    height: 4.875em;
    padding: 0 2.5em;
  }
}
@media screen and (max-width: 767px) {
  .pickup_news {
    height: 2.5em;
    padding: 0 2em 0 1em;
  }
}

.pickup_news_text {
  font-size: 0.75em;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.75;
  font-feature-settings: "palt";
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .pickup_news_text {
    font-size: 0.6875em;
  }
}

.t_event {
  margin-top: 16.875em;
}
@media screen and (max-width: 767px) {
  .t_event {
    margin-top: 15em;
  }
}

.t_event_swiper_wrap {
  position: relative;
  margin-top: 5.625em;
}
@media screen and (max-width: 767px) {
  .t_event_swiper_wrap {
    margin-top: 1.875em;
  }
}

.t_event_swiper {
  overflow: visible;
}
.t_event_swiper .swiper-wrapper {
  overflow: visible;
}

.t_event_swiper_slide {
  width: 44.875em;
}
@media screen and (max-width: 767px) {
  .t_event_swiper_slide {
    width: 19.375em;
  }
}

.t_event_swiper_slide_link {
  display: block;
  transition: opacity 0.3s ease;
}
.t_event_swiper_slide_link:hover {
  opacity: 0.7;
}
.t_event_swiper_slide_link:hover .t_event_swiper_slide_img img {
  transform: scale(1.1);
}

.t_event_swiper_slide_img {
  aspect-ratio: 736/360;
  overflow: hidden;
}
.t_event_swiper_slide_img img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.t_event_swiper_slide_meta {
  display: flex;
  margin-top: 1em;
  column-gap: 1em;
}
.t_event_swiper_slide_meta.-close .t_event_swiper_slide_text,
.t_event_swiper_slide_meta.-close .t_event_swiper_slide_date {
  color: #a3a3a3;
  border-color: #a3a3a3;
}
.t_event_swiper_slide_meta.-close .t_event_swiper_slide_date span.icon {
  background-image: url(../img/icon_watch_gray.svg);
}
@media screen and (max-width: 767px) {
  .t_event_swiper_slide_meta {
    flex-direction: column;
    margin-top: 0.75em;
  }
}

.t_event_swiper_slide_date {
  color: #5BB3A9;
  font-size: 0.875em;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 1.7142857143;
  /* white-space: nowrap; */
}
@media screen and (min-width: 768px) {
  .t_event_swiper_slide_date {
    border-right: 1px solid #505050;
    padding-right: 2em;
    width: 40%;
  }
}
.t_event_swiper_slide_date span.icon {
  display: inline-block;
  width: 0.86em;
  height: 0.86em;
  background: url(../img/icon_watch_color.svg) no-repeat center/contain;
  margin-right: 0.5em;
}

.t_event_swiper_slide_text {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
  width: 58%;
}
.t_event_swiper_slide_text .date {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .t_event_swiper_slide_text {
    flex-direction: column;
  }
}

.t_event_swiper_tools {
  width: 50%;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 3.125em;
}
@media screen and (max-width: 767px) {
  .t_event_swiper_tools {
    width: 100%;
    display: grid;
    grid-template-columns: auto 7em;
    justify-content: unset;
    row-gap: 2.5em;
    margin-top: 1.875em;
  }
}

@keyframes pagination {
  0% {
    left: 0;
  }
  100% {
    left: calc(100% - 0.625em);
  }
}
.t_event_swiper_pagination {
  position: static;
  display: flex;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .t_event_swiper_pagination {
    grid-column: 1/2;
    grid-row: 1/2;
    width: 100%;
  }
}
.t_event_swiper_pagination .swiper-pagination-bullet {
  opacity: 1;
  border-radius: 0;
  flex: 1;
  width: auto;
  height: 1px;
  background-color: #505050;
  margin: 0 !important;
  position: relative;
  display: block;
}
.t_event_swiper_pagination .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 0.625em;
  height: 0.625em;
  border-radius: 50%;
  background-color: #505050;
  display: none;
}
.t_event_swiper_pagination .swiper-pagination-bullet-active::before {
  display: block;
  animation-name: pagination;
  animation-duration: 1s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
  animation-direction: alternate;
}

.t_event_swiper_button_prev_target,
.t_event_swiper_button_next_target {
  display: none;
}

.t_event_swiper_buttons {
  display: flex;
  column-gap: 1.25em;
  margin-right: 1.5em;
}
@media screen and (max-width: 767px) {
  .t_event_swiper_buttons {
    grid-column: 2/3;
    grid-row: 1/2;
    margin-right: 0;
  }
}

.t_event_swiper_button {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
  box-shadow: none;
  width: 2.8125em;
  aspect-ratio: 1/1;
  cursor: pointer;
}

.t_event_swiper_button_prev {
  background: url(../img/btn_prev.svg) no-repeat center/contain;
}

.t_event_swiper_button_next {
  background: url(../img/btn_next.svg) no-repeat center/contain;
}

@media screen and (max-width: 767px) {
  .t_event_swiper_button_all {
    grid-column: 1/3;
    grid-row: 2/3;
    margin-left: auto;
    margin-right: auto;
  }
}

.t_links {
  padding: 11.25em 0 9em;
  position: relative;
  margin-top: 8.125em;
}
@media screen and (max-width: 767px) {
  .t_links {
    margin-top: 4.375em;
    padding: 3.125em 0;
  }
}
.t_links::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: url(../img/bg.jpg) no-repeat center/cover;
  opacity: 0.15;
}

.t_link_items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  column-gap: 4.625em;
  row-gap: 4.75em;
  max-width: 64.625em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .t_link_items {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    column-gap: 0.625em;
    row-gap: 0.75em;
  }
}

.t_link_item {
  display: contents;
}

.t_link_item_link {
  text-align: center;
  aspect-ratio: 293/274;
  background: url(../img/bg_circle.svg) no-repeat center/contain;
  display: grid;
  grid-template-rows: 1fr auto 1fr;
  row-gap: 1.875em;
  padding: 3.75em 1em;
  position: relative;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .t_link_item_link {
    padding: 0.75em 0;
    row-gap: 0.5em;
  }
}
.t_link_item_link:hover {
  opacity: 0.7;
}
.t_link_item_link:hover::before {
  transform: translate(0.25em, -50%);
}
.t_link_item_link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.5em;
  transform: translateY(-50%);
  width: 0.3125em;
  height: 0.625em;
  background: url(../img/icon_arrow_right_black.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .t_link_item_link::before {
    right: 1.25em;
  }
}

.t_link_item_ttl {
  font-weight: 600;
  letter-spacing: 0.155em;
  line-height: 1.5;
  font-feature-settings: "palt";
  grid-column: 1/2;
  grid-row: 2/3;
}
@media screen and (max-width: 767px) {
  .t_link_item_ttl {
    font-size: 0.625em;
  }
}
.t_link_item_ttl span {
  display: block;
}
.t_link_item_ttl .lg {
  font-size: 1.625em;
  letter-spacing: 0.155em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .t_link_item_ttl .lg {
    font-weight: 600;
    font-size: 1.4em;
  }
}
.t_link_item_ttl .sm {
  font-size: 0.625em;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 767px) {
  .t_link_item_ttl .sm {
    font-size: 0.6em;
  }
}

.t_link_item_text {
  font-size: 0.8125em;
  font-weight: 600;
  letter-spacing: 0.155em;
  line-height: 1.4615384615;
  grid-column: 1/2;
  grid-row: 3/4;
  font-feature-settings: "palt";
}
@media screen and (max-width: 1024px) {
  .t_link_item_text {
    font-size: 0.5em;
    line-height: 1.375;
  }
}

.t_info {
  margin: 8.75em 0 7.5em;
}
@media screen and (max-width: 767px) {
  .t_info {
    margin: 4.375em 0;
  }
}

.t_info_tab_buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3.75em;
  border-top: 1px solid rgba(80, 80, 80, 0.5);
  border-bottom: 1px solid rgba(80, 80, 80, 0.5);
}

.t_info_tab_button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 7.7em;
  font-size: 0.8125em;
  font-weight: 600;
  letter-spacing: 0.155em;
  text-align: center;
  line-height: 2.5;
  position: relative;
  opacity: 0.5;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .t_info_tab_button {
    font-size: 0.5375em;
  }
}
.t_info_tab_button.show {
  opacity: 1;
}
.t_info_tab_button.show::before {
  background: url(../img/bg.jpg) no-repeat center/cover;
}
.t_info_tab_button::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.54em;
  background-color: #F2F2F2;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .t_info_tab_button::before {
    height: 0.78em;
  }
}
.t_info_tab_button span.en {
  font-size: 1.4em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .t_info_tab_button span.en {
    font-size: 1.5em;
  }
}
.t_info_tab_button span.en.-line {
  margin-bottom: -0.33em;
}
.t_info_tab_button span.en.-line img {
  height: 1.33em;
}
.t_info_tab_button span.en img {
  height: 1em;
  width: auto;
}

.t_info_tab_area {
  margin-top: 3.25em;
}
@media screen and (max-width: 767px) {
  .t_info_tab_area {
    margin-top: 2.5em;
  }
}

.t_sns {
  justify-content: center;
  margin-top: 6.25em;
  margin-bottom: 3.75em;
}
@media screen and (max-width: 767px) {
  .t_sns {
    margin-bottom: 2.5em;
  }
}
.t_sns .c_sns_link {
  width: 2.125em;
}

.t_sns_text {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .t_sns_text {
    font-size: 0.625em;
  }
}

/*======================================
    information archive
======================================*/
.p_ttl {
  text-align: center;
  margin-bottom: 4.375em;
}
@media screen and (max-width: 767px) {
  .p_ttl {
    margin-bottom: 2.5em;
    display: flex;
    align-items: flex-end;
    column-gap: 1em;
    position: relative;
    padding-left: 1.5em;
  }
  .p_ttl::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 2px;
    height: 1.75em;
    background-color: #505050;
  }
}
.p_ttl p:not(.h1) {
  font-size: 1.5em;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 767px) {
  .p_ttl p:not(.h1) {
    margin-bottom: 0;
  }
}
.p_ttl p:not(.h1) img {
  height: 1em;
  width: auto;
}
.p_ttl h1,
.p_ttl .h1 {
  font-size: 0.9375em;
  letter-spacing: 0.155em;
  font-feature-settings: "palt";
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p_ttl h1,
  .p_ttl .h1 {
    font-size: 0.5625em;
    line-height: 1.25;
  }
}

@media screen and (min-width: 768px) {
  .p_ttl_sub {
    font-size: 0.867em;
  }
}
@media screen and (max-width: 767px) {
  .p_ttl_sub p:not(.h1) {
    font-size: 0.875em;
  }
}
.p_ttl_sub.line {
  padding-top: 4.8em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p_ttl_sub.line {
    padding-left: 0;
    padding-top: 1.25em;
  }
  .p_ttl_sub.line::before {
    display: none;
  }
}
.p_ttl_sub.line::after {
  content: "";
  position: absolute;
  top: 0;
  background-color: #505050;
}
@media screen and (min-width: 768px) {
  .p_ttl_sub.line::after {
    width: 3.5em;
    height: 1px;
    transform: translateX(-50%);
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p_ttl_sub.line::after {
    left: 0;
    width: 1.5em;
    height: 1px;
  }
}

.p_ttl_type02 {
  text-align: center;
}
.p_ttl_type02 h1 {
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.155em;
}
.p_ttl_type02 h1 span.lg {
  display: block;
  font-size: 1.625em;
  letter-spacing: 0.155em;
}
.p_ttl_type02 p {
  font-size: 0.625em;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.5;
}

.archive_head {
  margin-bottom: 3.125em;
}
@media screen and (max-width: 767px) {
  .archive_head {
    margin-bottom: 2.25em;
  }
}

.article {
  max-width: 48.875em;
  margin: 2.5em auto;
}
.article img {
  height: auto;
}

.article_eye {
  margin-bottom: 3em;
}

.article_date {
  font-size: 0.9375em;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 1.7333333333;
}
@media screen and (max-width: 767px) {
  .article_date {
    font-size: 0.8125em;
  }
}

.article_ttl {
  font-size: 1.125em;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.7777777778;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .article_ttl {
    font-size: 0.8125em;
  }
}

.article_cats {
  margin-top: 1em;
}

.article_contents {
  font-size: 0.875em;
  font-weight: 600;
  text-align: justify;
  letter-spacing: 0.03em;
  line-height: 2.3571428571;
  margin-top: 3.125em;
}
@media screen and (max-width: 767px) {
  .article_contents {
    font-size: 0.8125em;
    line-height: 2.3076923077;
  }
}
.article_contents * {
  font-weight: 600;
  margin-top: 2em;
}
.article_contents img {
  display: block;
  margin: 2.5em auto;
}
.article_contents h2, .article_contents h3, .article_contents h4, .article_contents h5 {
  margin-top: 3em;
}
.article_contents ul {
  list-style: disc;
  margin-left: 1.5em;
}
.article_contents ul li {
  margin-top: 0;
}
.article_contents ol {
  list-style: decimal;
  margin-left: 1.5em;
}
.article_contents ol li {
  margin-top: 0;
}
.article_contents a {
  text-decoration: underline;
}

.s_button {
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 22.5em;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5.625em;
  min-height: 5em;
  color: #fff;
  background-color: #5BB3A9;
  border-radius: 0.75em;
  position: relative;
  padding: 0.5em 2.5em;
}
@media screen and (max-width: 767px) {
  .s_button {
    min-width: 15em;
    font-size: 0.875em;
  }
}
.s_button:hover {
  opacity: 0.7;
}
.s_button:hover::before {
  transform: translate(0.25em, -50%);
}
.s_button::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  width: 0.5em;
  height: 0.8125em;
  background: url(../img/icon_arrow_right.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}

.s_pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 1.25em;
  align-items: center;
  max-width: 28.125em;
  margin: 10em auto 0;
}
@media screen and (max-width: 767px) {
  .s_pagination {
    margin-top: 6.25em;
  }
}

.s_pagination_button {
  display: block;
  aspect-ratio: 1/1;
  border-bottom: 1px solid #505050;
  border-left: 1px solid #505050;
  width: 1.5em;
  height: 1.5em;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.s_pagination_button:hover {
  opacity: 0.7;
}
.s_pagination_button.prev {
  grid-column: 1/2;
  grid-row: 1/2;
  transform: rotate(45deg);
}
.s_pagination_button.prev:hover {
  transform: translateX(-0.25em) rotate(45deg);
}
.s_pagination_button.next {
  grid-column: 3/4;
  grid-row: 1/2;
  margin-left: auto;
  transform: rotate(-135deg);
}
.s_pagination_button.next:hover {
  transform: translateX(0.25em) rotate(-135deg);
}

.s_pagination_all {
  grid-column: 2/3;
  grid-row: 1/2;
}

/*======================================
    contact
======================================*/
.p_form_wrap {
  max-width: 48.875em;
  margin-left: auto;
  margin-right: auto;
}

.p_form_list:nth-child(n+2) {
  margin-top: 2em;
}

.p_form_label {
  display: block;
  font-weight: 600;
  line-height: 1.75;
}

.p_form_input {
  margin-top: 0.625em;
}
.p_form_input input,
.p_form_input select,
.p_form_input textarea {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  font-size: 16px;
  font-family: inherit;
  line-height: 1.75;
  color: #505050;
  border: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  border-radius: 0.5em;
  width: 100%;
  padding: 1em 1.625em;
}
@media screen and (max-width: 767px) {
  .p_form_input input,
  .p_form_input select,
  .p_form_input textarea {
    padding: 1em;
  }
}
.p_form_input select {
  background-image: url(../img/icon_select.svg);
  background-size: 0.6875em 0.625em;
  background-position: right 1.5em center;
  background-repeat: no-repeat;
}
.p_form_input textarea {
  resize: vertical;
  height: 18.75em;
}

.p_form_privacy {
  margin-top: 3em;
  cursor: pointer;
  display: inline-block;
}
.p_form_privacy .wpcf7-list-item {
  margin-left: 0;
}
.p_form_privacy a {
  font-weight: inherit;
  transition: opacity 0.3s ease;
}
.p_form_privacy a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p_form_privacy {
    margin-top: 1.25em;
  }
}
.p_form_privacy input {
  display: none;
}
.p_form_privacy input:checked + span.wpcf7-list-item-label::after {
  opacity: 1;
  transform: translateY(10%) rotate(-45deg);
}
.p_form_privacy span.wpcf7-list-item-label {
  display: block;
  font-weight: 600;
  line-height: 1.75;
  padding-left: 2.5em;
  position: relative;
}
.p_form_privacy span.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.625em;
  height: 1.625em;
  border-radius: 0.5em;
  border: 1px solid #D1D1D1;
  background-color: #F5F5F5;
}
.p_form_privacy span.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0.25em;
  width: 1.625em;
  height: 0.5em;
  border-bottom: 3px solid #505050;
  border-left: 3px solid #505050;
  transform: translateY(10%) rotate(-30deg);
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.p_form_submit {
  margin-top: 6.25em;
}
@media screen and (max-width: 767px) {
  .p_form_submit {
    margin-top: 3em;
  }
}

.p_thanks_text {
  line-height: 1.75;
  font-weight: 600;
  text-align: center;
  margin: 10em auto;
}
@media screen and (max-width: 767px) {
  .p_thanks_text {
    margin: 5em auto;
  }
}

.wpcf7-response-output {
  display: none !important;
}

/*======================================
    about
======================================*/
.p_bg {
  position: relative;
}
.p_bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/bg_page.jpg) no-repeat center/cover;
  opacity: 0.07;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p_bg::before {
    background-image: url(../img/bg_page_sp.jpg);
  }
}

.p_about_fv_texts {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 11.25em;
}
@media screen and (max-width: 767px) {
  .p_about_fv_texts {
    margin-top: 5em;
  }
}

.p_about_fv_lead {
  max-width: 6.75em;
}

.p_about_fv_text {
  max-width: 22.625em;
  margin-top: 5em;
}

.p_section {
  margin: 6.25em auto;
}

.p_about_philosophy {
  font-size: 2em;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.625;
  font-feature-settings: "palt";
  margin-bottom: 0.75em;
}
@media screen and (max-width: 767px) {
  .p_about_philosophy {
    font-size: 1.25em;
  }
}

.p_about_section_text {
  line-height: 2.2;
  letter-spacing: 0.105em;
}

.p_about_overview {
  display: grid;
  grid-template-columns: 6.625em auto;
}

.p_about_messages {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 5.625em;
  row-gap: 3.125em;
  margin-top: 3em;
}
@media screen and (max-width: 767px) {
  .p_about_messages {
    grid-template-columns: 1fr;
  }
}

.p_about_message {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  row-gap: 1.5em;
}

.p_about_message_from {
  font-size: 1.0625em;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.9411764706;
}

.p_about_message_img {
  aspect-ratio: 494/328;
}
.p_about_message_img img {
  height: 100%;
  object-fit: cover;
}

.p_about_message_position {
  font-size: 0.875em;
  font-weight: 600;
  letter-spacing: 0.065em;
  line-height: 1.5714285714;
}

.p_about_message_name {
  font-size: 1.375em;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.75;
}
.p_about_message_name .en {
  display: block;
  font-size: 0.6em;
  letter-spacing: 0.175em;
  line-height: 1.1538461538;
}

.p_about_message_text {
  text-align: justify;
}

.p_members {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3.75em;
  row-gap: 4.375em;
}
@media screen and (max-width: 767px) {
  .p_members {
    grid-template-columns: 1fr;
  }
}

.p_member_head {
  display: grid;
  grid-template-columns: 10em auto;
  column-gap: 1.5em;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p_member_head {
    grid-template-columns: 8em auto;
  }
}

.p_member_img {
  aspect-ratio: 1/1;
}
.p_member_img img {
  height: 100%;
  object-fit: cover;
}

.p_member_text {
  font-size: 0.8125em;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.7692307692;
  text-align: justify;
  font-feature-settings: "palt";
}

.p_member_info_text {
  line-height: 1.5384615385;
  letter-spacing: 0.065em;
}

.p_member_name {
  font-size: 1.25em;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.p_member_name.p_member_name_space {
  margin-bottom: 0.5em;
}

.p_member_body {
  margin-top: 1.75em;
}
.p_member_body a {
  transition: opacity 0.3s ease;
  display: block;
}
.p_member_body a:hover {
  opacity: 0.7;
}

.p_member_link {
  word-break: break-all;
  margin-top: 1em;
}

.p_member_sns {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.9375em;
  row-gap: 0.5em;
  margin-top: 1.25em;
}

.p_member_sns_item {
  width: 1.25em;
}

.p_coiv_link {
  display: grid;
  grid-template-columns: 17.875em auto;
  column-gap: 3.375em;
  border: 1px solid #505050;
  position: relative;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p_coiv_link {
    grid-template-columns: 1fr;
  }
}
.p_coiv_link:hover {
  opacity: 0.7;
}
.p_coiv_link:hover::after {
  transform: translate(0.25em, -50%);
}
.p_coiv_link::before {
  content: "";
  position: absolute;
  top: 0.75em;
  right: 0.75em;
  width: 0.5em;
  height: 0.5em;
  background: url(../img/icon_link.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p_coiv_link::before {
    width: 1em;
    height: 1em;
  }
}
.p_coiv_link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.5em;
  transform: translateY(-50%);
  width: 0.3125em;
  height: 0.625em;
  background: url(../img/icon_arrow_right_black.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p_coiv_link::after {
    display: none;
  }
}

.p_coiv_link_img img {
  height: 100%;
  object-fit: cover;
}

.p_coiv_link_texts {
  min-height: 11.875em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1em 7em 1em 0;
}
@media screen and (max-width: 767px) {
  .p_coiv_link_texts {
    padding: 2.5em 1.25em;
  }
}

.p_coiv_link_logo {
  max-width: 22.5em;
}

.p_coiv_link_text {
  font-size: 0.8125em;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.7692307692;
  font-feature-settings: "palt";
  margin-top: 1.5em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p_coiv_link_text {
    margin-top: 1em;
  }
}

.p_anchors {
  margin-top: 5em;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 2.5em;
}

.p_anchor_link {
  display: block;
  font-size: 1.0625em;
  font-weight: 700;
  letter-spacing: 0.12em;
  font-feature-settings: "palt";
  line-height: 3.1764705882;
  padding: 0 1.75em 0;
  border-bottom: 1px solid #211815;
  color: #211815;
  position: relative;
  transition: opacity 0.3s ease;
}
.p_anchor_link:hover {
  opacity: 0.7;
}
.p_anchor_link:hover::before {
  transform: translateY(calc(-50% + 0.25em));
}
.p_anchor_link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 0.55em;
  height: 0.47em;
  background-color: #211815;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  transition: transform 0.3s ease;
}

.curriculum_overview_list {
  display: flex;
}
@media screen and (min-width: 768px) {
  .curriculum_overview_list {
    column-gap: 5.625em;
    align-items: center;
  }
  .curriculum_overview_list:nth-child(odd) .curriculum_overview_img {
    margin-left: -5.625em;
  }
  .curriculum_overview_list:nth-child(even) {
    flex-direction: row-reverse;
  }
  .curriculum_overview_list:nth-child(even) .curriculum_overview_img {
    margin-right: -5.625em;
  }
  .curriculum_overview_list:nth-child(n+2) {
    margin-top: -1.25em;
  }
}
@media screen and (max-width: 767px) {
  .curriculum_overview_list {
    flex-direction: column;
    row-gap: 2.5em;
  }
  .curriculum_overview_list:nth-child(n+2) {
    margin-top: 3.125em;
  }
}

@media screen and (min-width: 768px) {
  .curriculum_overview_img {
    flex: 1;
  }
}

@media screen and (min-width: 768px) {
  .curriculum_overview_texts {
    width: calc(50% - 2.8125em);
  }
}

.curriculum_overview_lead {
  font-size: 2em;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.625;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .curriculum_overview_lead {
    font-size: 1.25em;
    text-align: center;
  }
}

.curriculum_overview_text {
  margin-top: 2em;
}

.curriculum_text {
  line-height: 2;
  font-weight: 600;
  letter-spacing: 0.12em;
  font-feature-settings: "palt";
  text-align: justify;
}

.curriculum_person {
  padding: 7.5em 0 10em;
}
@media screen and (max-width: 767px) {
  .curriculum_person {
    padding-bottom: 20em;
  }
}

.curriculum_person_inner {
  position: relative;
}

.curriculum_person_img {
  position: absolute;
  bottom: 0;
  right: 50%;
  transform: translate(110%, 2.5em);
  width: 40%;
}
@media screen and (max-width: 767px) {
  .curriculum_person_img {
    transform: translate(10%, 100%);
    right: 0;
    width: 15.625em;
  }
}

.curriculum_section_ttl {
  font-size: 1.875em;
  font-weight: 700;
  letter-spacing: 0.12em;
  font-feature-settings: "palt";
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .curriculum_section_ttl {
    font-size: 1.5em;
  }
}
.curriculum_section_ttl .sm {
  font-size: 0.57em;
}
@media screen and (max-width: 767px) {
  .curriculum_section_ttl .sm {
    display: block;
    line-height: 1;
  }
}
.curriculum_section_ttl .md {
  display: block;
  font-size: 0.6em;
  line-height: 1.5;
}

.curriculum_person_list:nth-child(n+2) {
  margin-top: 5em;
}

.curriculum_person_lead {
  font-size: 1.875em;
}
@media screen and (max-width: 767px) {
  .curriculum_person_lead {
    font-size: 1.25em;
  }
  .curriculum_person_lead.-spbr img {
    height: 4.7em;
  }
}
.curriculum_person_lead img {
  height: 1em;
  object-fit: contain;
  object-position: center left;
}

.curriculum_person_text {
  margin-top: 1.75em;
}

.curriculum_curriculum_years {
  margin: 5.625em 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2.5em;
}
@media screen and (max-width: 767px) {
  .curriculum_curriculum_years {
    grid-template-columns: 1fr;
    row-gap: 2.5em;
    margin: 3.125em 0;
  }
}

.curriculum_curriculum_year {
  padding-left: 1em;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .curriculum_curriculum_year {
    padding-left: 0;
  }
}

.curriculum_curriculum_year_ttl {
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .curriculum_curriculum_year_ttl {
    font-size: 1em;
  }
}
.curriculum_curriculum_year_ttl .num {
  font-size: 1.6em;
  display: inline-block;
  margin-right: 0.1em;
}

.curriculum_curriculum_year_contents {
  margin-top: 1.25em;
  padding-left: 1.75em;
  border-left: 1px solid rgba(34, 23, 20, 0.6);
  margin-left: 0.75em;
  flex: 1;
}

.curriculum_timetable {
  margin-top: 5.625em;
  padding: 4.25em 3.125em 2.5em;
  background-color: #F6F6F6;
  border-radius: 1.75em;
}
@media screen and (max-width: 767px) {
  .curriculum_timetable {
    padding: 2.5em 1.25em;
    border-radius: 0;
    margin: 3.75em calc(50% - 50vw) 0;
  }
}

.curriculum_timetable_wrap {
  border: 2px solid #b4b4b5;
  padding: 2.375em 2.375em 2.375em 1.875em;
  position: relative;
  display: grid;
  grid-template-columns: 15.375em auto;
  column-gap: 3.125em;
}
@media screen and (max-width: 767px) {
  .curriculum_timetable_wrap {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 1.25em;
    padding: 2.5em 1.25em;
  }
}

.curriculum_timetable_ttl {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-50%);
  background-color: #F6F6F6;
  padding-left: 1.65em;
  padding-right: 0.52em;
  display: inline-block;
  font-size: 1.4375em;
  font-weight: 700;
  letter-spacing: 0.085em;
  font-feature-settings: "palt";
  line-height: 1.5652173913;
  display: flex;
  align-items: center;
  column-gap: 0.65em;
  color: #0076B0;
}
@media screen and (max-width: 767px) {
  .curriculum_timetable_ttl {
    font-size: 0.875em;
    padding: 0 1.25em;
  }
}
.curriculum_timetable_ttl span {
  display: block;
  width: 2.26em;
}

@media screen and (max-width: 767px) {
  .curriculum_timetable_texts {
    display: flex;
    flex-direction: column-reverse;
  }
}

.curriculum_timetable_text {
  font-size: 0.875em;
  font-weight: 600;
  line-height: 1.9285714286;
  letter-spacing: 0.05em;
  text-align: justify;
  padding-bottom: 0.7em;
}
@media screen and (min-width: 768px) {
  .curriculum_timetable_text {
    border-bottom: 1px solid rgba(0, 118, 176, 0.58);
  }
}
@media screen and (max-width: 767px) {
  .curriculum_timetable_text {
    border-top: 1px solid rgba(0, 118, 176, 0.58);
    padding-top: 1em;
    margin-top: 1em;
  }
}

.curriculum_timetable_class {
  margin-top: 1.25em;
  margin-left: 0.25em;
  max-width: 11.875em;
}
@media screen and (max-width: 767px) {
  .curriculum_timetable_class {
    margin-top: 0;
    max-width: 8em;
  }
}

.curriculum_features {
  margin-top: 7.5em;
}

.curriculum_feature:nth-child(n+2) {
  margin-top: 4.375em;
}
.curriculum_feature:nth-child(2) .curriculum_feature_head_lead {
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), calc(100% - 2px), #F1997E calc(100% - 2px), #F1997E 100%);
  color: #F1997E;
}
.curriculum_feature:nth-child(3) .curriculum_feature_head_lead {
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), calc(100% - 2px), #8CC456 calc(100% - 2px), #8CC456 100%);
  color: #8CC456;
}

.curriculum_feature_head {
  display: flex;
  align-items: center;
  column-gap: 1.5em;
}
@media screen and (max-width: 767px) {
  .curriculum_feature_head {
    flex-direction: column;
    row-gap: 0.625em;
  }
}

.curriculum_feature_ttl {
  width: 8em;
  margin-left: -0.5em;
}
@media screen and (max-width: 767px) {
  .curriculum_feature_ttl {
    width: 5em;
  }
}

.curriculum_feature_head_lead {
  font-size: 1.75em;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 1.75;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), calc(100% - 2px), #0076B0 calc(100% - 2px), #0076B0 100%);
  color: #0076B0;
  display: inline;
  padding-bottom: 0.2em;
}
@media screen and (max-width: 767px) {
  .curriculum_feature_head_lead {
    font-size: 1.25em;
  }
}

.curriculum_feature_head_text {
  font-weight: 700;
  line-height: 1.8125;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  margin-top: 1em;
}

.curriculum_feature_items {
  margin-top: 3.125em;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3.125em;
}
@media screen and (max-width: 767px) {
  .curriculum_feature_items {
    grid-template-columns: 1fr;
    row-gap: 2.5em;
    margin-top: 1.25em;
  }
}

@media screen and (max-width: 767px) {
  .curriculum_feature_img {
    max-width: 16.25em;
    margin-left: auto;
    margin-right: auto;
  }
}

.curriculum_feature_text {
  margin-top: 1em;
  line-height: 1.8666666667;
  letter-spacing: 0.08em;
}

.curriculum_internship {
  background-color: rgba(140, 196, 86, 0.12);
  margin-top: 5.625em;
  padding: 3.75em 4.375em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .curriculum_internship {
    padding: 2.5em 1.25em;
  }
}

@media screen and (min-width: 768px) {
  .curriculum_internship_map {
    position: absolute;
    top: -1.5em;
    right: 0;
    width: 21.5em;
    transform: translateX(-1.5em);
  }
}
@media screen and (max-width: 767px) {
  .curriculum_internship_map {
    width: 100%;
    max-width: 25em;
    margin: 2.5em auto;
  }
}

.curriculum_internship_ttl {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .curriculum_internship_ttl {
    margin-bottom: 1em;
  }
}

.curriculum_internship_dl {
  margin-top: 2em;
  position: relative;
  z-index: 2;
}
.curriculum_internship_dl dt {
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .curriculum_internship_dl dt {
    font-size: 1em;
  }
}
.curriculum_internship_dl dd {
  letter-spacing: 0.08em;
  margin-top: 0.25em;
}
.curriculum_internship_dl dd .note {
  font-size: 0.8em;
  line-height: 1.75;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  font-weight: 600;
  margin-top: 1em;
}

.curriculum_internship_examples {
  margin-top: 2.5em;
}

.curriculum_internship_example_ttl {
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.05em;
  height: 2.5em;
  display: flex;
  align-items: flex-end;
  max-width: 18em;
  padding-left: 2em;
  width: 100%;
  background: url(../img/page/curriculum_internship_note.svg) no-repeat top left/contain;
}
@media screen and (max-width: 767px) {
  .curriculum_internship_example_ttl {
    font-size: 0.875em;
    padding-left: 1.25em;
  }
}

.curriculum_internship_lists {
  background-color: #fff;
  padding: 2.375em 2.5em;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-radius: 0 0.625em 0.625em 0.625em;
  column-gap: 1.5em;
}
@media screen and (max-width: 767px) {
  .curriculum_internship_lists {
    grid-template-columns: 1fr;
    row-gap: 3.125em;
    padding: 1.25em;
    border-radius: 0 0.35em 0.35em 0.35em;
  }
}

.curriculum_internship_list_head {
  display: grid;
  grid-template-columns: 4.375em auto;
  column-gap: 0.625em;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .curriculum_internship_list_head {
    grid-template-columns: 3em auto;
  }
}

.curriculum_internship_list_area {
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .curriculum_internship_list_area {
    font-size: 1em;
  }
}

.curriculum_internship_list_theme {
  font-size: 0.9375em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .curriculum_internship_list_theme {
    font-size: 0.8125em;
  }
}

.curriculum_internship_list_lead {
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-feature-settings: "palt";
  margin-top: 0.5em;
}
@media screen and (max-width: 767px) {
  .curriculum_internship_list_lead {
    font-size: 1em;
  }
}

.curriculum_internship_list_text {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid rgba(80, 80, 80, 0.64);
  letter-spacing: 0.08em;
}

.curriculum_buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 5.625em;
  row-gap: 1.25em;
  margin-top: 5.625em;
}
@media screen and (max-width: 767px) {
  .curriculum_buttons {
    grid-template-columns: 1fr;
    margin-top: 3.125em;
  }
}

.curriculum_button .button_type03 {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .curriculum_button .button_type03 {
    font-size: 1.25em;
    height: 3.9em;
    background-position: center right 2em;
  }
  .curriculum_button .button_type03:hover {
    background-position: center right 1.75em;
  }
}

.curriculum_teachers {
  padding: 10em 0;
}
@media screen and (max-width: 767px) {
  .curriculum_teachers {
    padding: 5em 0;
  }
}

.curriculum_members {
  margin-top: 6.25em;
}
@media screen and (max-width: 767px) {
  .curriculum_members {
    margin-top: 3.125em;
  }
}

/*======================================
    campus life
======================================*/
.p_section_head_lead {
  font-size: 2em;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.625;
  font-weight: 600;
  margin-bottom: 1.25em;
  margin-top: 2.5em;
}
@media screen and (max-width: 767px) {
  .p_section_head_lead {
    font-size: 1.25em;
  }
}

.p_section_head_text {
  line-height: 2.0666666667;
  letter-spacing: 0.105em;
}

.p_campus-life_eye {
  margin: 3.75em 0;
}

.p_campus-life_bg {
  background-color: #e8f2f9;
  padding: 7.5em 0 5.625em;
  margin-top: 7.5em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_bg {
    padding: 3.125em 0;
    margin-top: 3.125em;
  }
}
.p_campus-life_bg .p_campus-life_ttl02 span {
  background-color: #e8f2f9;
}

.p_campus-life_button {
  margin-top: 7.5em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_button {
    margin-top: 2.5em;
  }
}
@media screen and (min-width: 768px) {
  .p_campus-life_button a {
    font-size: 1.25em;
    height: 3.9em;
    max-width: 29.25em;
  }
}

.p_campus-life_ttl02 {
  position: relative;
  margin-bottom: 3.75em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_ttl02 {
    margin-bottom: 1.25em;
  }
}
.p_campus-life_ttl02::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #505050;
}
.p_campus-life_ttl02 span {
  display: inline-block;
  background-color: #fff;
  padding-right: 0.9em;
  font-size: 1.75em;
  font-weight: 600;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.8571428571;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p_campus-life_ttl02 span {
    font-size: 1.25em;
  }
}

.p_campus-life_img1 {
  margin: 3.125em 0;
}
@media screen and (max-width: 767px) {
  .p_campus-life_img1 {
    margin: 2em 0;
  }
}

.p_campus-life_ttl03 {
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.3333333333;
  margin-bottom: 1.25em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_ttl03 {
    font-size: 1.125em;
  }
}

.p_campus-life_section_text {
  line-height: 1.8666666667;
  letter-spacing: 0.08em;
  text-align: justify;
}

.p_campus-life_feature {
  display: flex;
  column-gap: 1.625em;
  margin-top: 5em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_feature {
    flex-direction: column;
  }
}

.p_campus-life_feature_texts {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p_campus-life_feature_texts {
    display: contents;
  }
}

.p_campus-life_feature_head {
  display: flex;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p_campus-life_feature_head {
    order: 1;
  }
}

.p_campus-life_feature_head_num {
  width: 3.5em;
  transform: translateY(17.86%);
}
@media screen and (max-width: 767px) {
  .p_campus-life_feature_head_num {
    width: 2.5em;
    transform: translateY(35%);
  }
}

.p_campus-life_feature_head_texts {
  flex: 1;
}
.p_campus-life_feature_head_texts dt {
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.4444444444;
  padding-bottom: 0.5em;
  margin-bottom: 0.75em;
  border-bottom: 1px solid #505050;
  padding-left: 1.33em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_feature_head_texts dt {
    font-size: 1em;
  }
}
.p_campus-life_feature_head_texts dd {
  font-size: 1.375em;
  line-height: 1.7272727273;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  padding-left: 1.09em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_feature_head_texts dd {
    font-size: 1.125em;
  }
}

.p_campus-life_feature_body {
  margin-top: 2.25em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_feature_body {
    order: 3;
  }
}

.p_campus-life_feature_body_ttl {
  font-size: 1.375em;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.7272727273;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p_campus-life_feature_body_ttl {
    font-size: 1.25em;
  }
}

.p_campus-life_feature_body_text {
  text-align: justify;
  margin-top: 1em;
}

.p_campus-life_feature_img {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p_campus-life_feature_img {
    width: 100%;
    order: 2;
    margin-top: 1.875em;
  }
}

.p_campus-life_map {
  aspect-ratio: 1080/488;
  margin: 5.625em 0 2.5em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_map {
    aspect-ratio: 3/4;
    margin-top: 3.125em;
  }
}
.p_campus-life_map iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p_campus-life_access_ttl {
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p_campus-life_access_ttl {
    font-size: 1.125em;
  }
}

.p_campus-life_access {
  margin-top: 1.75em;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_access {
    row-gap: 0;
  }
}

@media screen and (max-width: 767px) {
  .p_campus-life_access_list {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p_campus-life_access_list:not(:last-child) {
    padding-right: 2.5em;
    margin-right: 2.5em;
    border-right: 1px solid #505050;
  }
}
@media screen and (max-width: 767px) {
  .p_campus-life_access_list:not(:last-child) {
    padding-bottom: 1.5em;
    margin-bottom: 1.5em;
    border-bottom: 1px solid #505050;
  }
}

.p_campus-life_access_city {
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .p_campus-life_access_city {
    margin-bottom: 0.5em;
  }
}

.p_campus-life_access_list_by {
  display: grid;
  grid-template-columns: 5em auto;
  column-gap: 0.625em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_access_list_by {
    grid-template-columns: 10em auto;
  }
}
.p_campus-life_access_list_by dt, .p_campus-life_access_list_by dd {
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.625;
  font-feature-settings: "palt";
}
.p_campus-life_access_list_by dt {
  position: relative;
}
.p_campus-life_access_list_by dt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 4px;
  background: radial-gradient(circle farthest-side, #505050, #505050 30%, transparent 30%, transparent);
  background-size: 4px 4px;
}
.p_campus-life_access_list_by dt span {
  display: inline-block;
  background-color: #e8f2f9;
  position: relative;
  z-index: 2;
}
.p_campus-life_support {
  margin-top: 5.625em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_support {
    margin-top: 3.125em;
  }
}

.p_campus-life_support_lists {
  margin-bottom: 3.75em;
}
@media screen and (max-width: 767px) {
  .p_campus-life_support_lists {
    margin-bottom: 2.5em;
  }
}

.p_campus-life_support_list:nth-child(n+2) {
  margin-top: 3em;
}

.p_campus-life_support_dl {
  display: grid;
  grid-template-columns: 5.375em auto;
  column-gap: 1.25em;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p_campus-life_support_dl {
    grid-template-columns: 1fr;
    row-gap: 1.25em;
  }
  .p_campus-life_support_dl dt {
    max-width: 5em;
    margin-left: auto;
    margin-right: auto;
  }
}

.p_campus-life_support_text {
  letter-spacing: 0.08em;
  text-align: justify;
}

/*======================================
    career
======================================*/
.p_career_head {
  display: grid;
  grid-template-columns: auto 28.875em;
  column-gap: 0.625em;
  border: 1px solid #505050;
  margin: 4.375em 0;
}
@media screen and (max-width: 767px) {
  .p_career_head {
    grid-template-columns: 1fr;
    margin: 3.125em 0;
  }
}

.p_career_head_texts {
  padding: 2.25em;
}
@media screen and (max-width: 767px) {
  .p_career_head_texts {
    padding: 1.875em 1.25em;
  }
}

.p_career_head_lead {
  font-weight: 600;
  font-feature-settings: "palt";
  font-size: 1.5em;
  line-height: 1.8333333333;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p_career_head_lead {
    font-size: 1.125em;
    letter-spacing: 0.08em;
  }
}

.p_career_head_text {
  margin-top: 1.5em;
  letter-spacing: 0.08em;
  text-align: justify;
}

.p_career_head_img img {
  height: 100%;
  object-fit: cover;
}

.p_career_ttl02 {
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  text-align: center;
  line-height: 2.1666666667;
}
@media screen and (max-width: 767px) {
  .p_career_ttl02 {
    font-size: 1.25em;
  }
}

.p_career_grad {
  margin: 6.25em 0 5.625em;
}

.p_career_grad_lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 5em;
  row-gap: 3.125em;
  margin-top: 3.125em;
}
@media screen and (max-width: 767px) {
  .p_career_grad_lists {
    grid-template-columns: 1fr;
  }
}

.p_career_grad_list {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 0;
}

.p_career_grad_list_img {
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
.p_career_grad_list_img img {
  height: 100%;
  object-fit: cover;
}

.p_career_grad_list_ttl {
  margin: 1em 0;
  font-size: 1.375em;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  font-feature-settings: "palt";
  line-height: 1.5909090909;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p_career_grad_list_ttl {
    font-size: 1.125em;
    margin: 1.75em 0;
  }
}

.p_career_grad_list_text {
  width: 91.5%;
  margin-left: auto;
  margin-right: auto;
}

.p_career_choice {
  padding: 3.125em 0 2.5em;
  border-top: 1px solid #505050;
  border-bottom: 1px solid #505050;
}

.p_career_choice_lead {
  font-size: 0.875em;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.105em;
  font-feature-settings: "palt";
  line-height: 2.2142857143;
}

.p_career_choice_lists_wrap {
  margin-top: 1.5em;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 2.25em;
}
@media screen and (max-width: 767px) {
  .p_career_choice_lists_wrap {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    flex-direction: column;
  }
}

.p_career_choice_list {
  position: relative;
  padding-left: 1em;
  font-size: 1.125em;
  font-weight: 600;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
  line-height: 1.6111111111;
}
@media screen and (max-width: 767px) {
  .p_career_choice_list {
    font-size: 0.9375em;
  }
}
.p_career_choice_list::before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
}

.p_career_message {
  margin-top: 7.5em;
}

.p_person {
  position: relative;
  display: grid;
  grid-template-columns: 18.125em auto;
  background-color: #0076b0;
  border-radius: 0.625em;
  color: #fff;
  column-gap: 2.5em;
  margin-top: 3.125em;
}
@media screen and (max-width: 767px) {
  .p_person {
    grid-template-columns: 1fr;
    margin-top: 10em;
  }
}

.p_person_img {
  min-width: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p_person_img {
    aspect-ratio: 2/1;
    width: 100%;
    max-width: 16em;
    margin-left: auto;
    margin-right: auto;
  }
}

.p_person_img_wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 290/308;
}
.p_person_img_wrap img {
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

.p_person_texts {
  padding: 3.125em 4.375em 3.125em 0;
}
@media screen and (max-width: 767px) {
  .p_person_texts {
    padding: 1.875em 1.25em 2.5em;
  }
}

.p_person_position {
  font-size: 0.875em;
  font-weight: 600;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
  line-height: 1.7142857143;
}

.p_person_name {
  font-size: 1.375em;
  font-weight: 600;
  font-feature-settings: "palt";
  line-height: 1.75;
  letter-spacing: 0.04em;
}

.p_person_text {
  letter-spacing: 0.105em;
  font-size: 0.875em;
  line-height: 2.2142857143;
  font-feature-settings: "palt";
  text-align: justify;
  font-weight: 600;
  margin-top: 0.5em;
}

.p_career_company {
  padding: 7.5em 0 10em;
}
@media screen and (max-width: 767px) {
  .p_career_company {
    padding: 3.125em 0 5em;
  }
}

.p_career_company_lists {
  margin-top: 5em;
}
@media screen and (max-width: 767px) {
  .p_career_company_lists {
    margin-top: 3.125em;
  }
}

.p_career_company_list {
  display: grid;
  grid-template-columns: 9.5em auto;
  column-gap: 2.5em;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p_career_company_list {
    column-gap: 1.25em;
    grid-template-columns: 7.5em auto;
  }
}
.p_career_company_list:nth-child(n+2) {
  margin-top: 2.5em;
}

.p_career_company_logo {
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .p_career_company_logo {
    grid-template-columns: 1/2;
    grid-row: 1/2;
    align-self: end;
  }
}
.p_career_company_logo img {
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p_career_company_texts {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .p_career_company_head {
    grid-column: 2/3;
    grid-row: 1/2;
    align-self: end;
  }
}

.p_career_company_name {
  font-weight: 600;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p_career_company_name {
    font-size: 0.875em;
  }
}
.p_career_company_name .md {
  font-size: 0.9375em;
  line-height: 1.4666666667;
  letter-spacing: 0.08em;
}
.p_career_company_name .lg {
  display: block;
  font-size: 1.125em;
  line-height: 1.2222222222;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
}

.p_career_company_text {
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-top: 0.75em;
}
@media screen and (max-width: 767px) {
  .p_career_company_text {
    grid-column: 1/3;
    grid-row: 2/3;
    margin-top: 1.5em;
  }
}

.p_career_company_person {
  display: grid;
  grid-template-columns: 4.875em auto;
  column-gap: 1.25em;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p_career_company_person {
    grid-template-columns: 1fr;
    column-gap: 0.625em;
  }
}

.p_career_company_person_img {
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  background-color: gray;
}
@media screen and (max-width: 767px) {
  .p_career_company_person_img {
    max-width: 5em;
    margin-bottom: 0.25em;
  }
}
.p_career_company_person_img img {
  height: 100%;
  object-fit: cover;
}

/*======================================
    support
======================================*/
.p_support_section {
  margin-top: 6.25em;
}
@media screen and (max-width: 767px) {
  .p_support_section {
    margin-top: 5em;
  }
}

.p_support_leaning_ttl {
  font-size: 1.75em;
  font-weight: 600;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.8571428571;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .p_support_leaning_ttl {
    font-size: 1.25em;
  }
}

.p_support_leaning_lists {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15.625em, 1fr));
  column-gap: 7.5em;
  row-gap: 2.5em;
  margin-top: 3.125em;
}
@media screen and (max-width: 1024px) {
  .p_support_leaning_lists {
    column-gap: 2.5em;
  }
}

.p_support_leaning_list {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 0;
}

.p_support_leaning_list_num {
  margin: 1em 0;
  display: flex;
  align-items: center;
  font-size: 1.25em;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  column-gap: 0.5em;
  line-height: 1.5;
}
.p_support_leaning_list_num .num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.78em;
  height: 1.78em;
  border: 1px solid #505050;
  border-radius: 50%;
  font-size: 0.9em;
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .p_support_message .p_person_texts {
    padding-top: 2.25em;
    padding-bottom: 2.25em;
  }
}

.p_support_scholarship_text {
  font-size: 1.4375em;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.8695652174;
  font-feature-settings: "palt";
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .p_support_scholarship_text {
    font-size: 1em;
  }
}

/*======================================
    admission
======================================*/
.p_admission_head {
  display: flex;
  flex-direction: column;
  row-gap: 2.5em;
  margin: 3.75em 0 7.5em;
}
@media screen and (max-width: 767px) {
  .p_admission_head {
    margin-bottom: 5em;
    row-gap: 1.875em;
  }
}

.p_admission_flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 13em;
  padding: 0 1.875em;
  position: relative;
  margin-top: 1.875em;
}
@media screen and (max-width: 767px) {
  .p_admission_flow {
    grid-template-columns: 1fr;
    padding: 0;
    row-gap: 3.125em;
    max-width: 22em;
    margin-left: auto;
    margin-right: auto;
  }
}
.p_admission_flow::before {
  content: "";
  position: absolute;
  top: 2.4375em;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
  z-index: -1;
  background-color: #505050;
}
@media screen and (max-width: 767px) {
  .p_admission_flow::before {
    top: 0;
    left: 1.5625em;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
  }
}

.p_admission_flow_item {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p_admission_flow_item {
    grid-template-rows: subgrid;
    row-gap: 0;
    grid-row: span 4;
  }
}
@media screen and (max-width: 767px) {
  .p_admission_flow_item {
    grid-template-columns: 3.125em auto;
    column-gap: 1.25em;
  }
}
.p_admission_flow_item:nth-child(1) .p_admission_flow_item_img img {
  width: 4.375em;
}
.p_admission_flow_item:nth-child(2) .p_admission_flow_item_img img {
  width: 4.5em;
}
.p_admission_flow_item:nth-child(3) .p_admission_flow_item_img img {
  width: 4.625em;
}
.p_admission_flow_item:nth-child(4) .p_admission_flow_item_img img {
  width: 3.125em;
}

.p_admission_flow_contents {
  display: contents;
}
@media screen and (max-width: 767px) {
  .p_admission_flow_contents {
    display: flex;
    flex-direction: column;
  }
}

.p_admission_flow_item_num {
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  color: #fff;
  background-color: #505050;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.25em;
  height: 3.25em;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p_admission_flow_item_num {
    font-size: 1em;
    width: 3.125em;
    height: 3.125em;
  }
}

.p_admission_flow_item_img {
  margin-top: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p_admission_flow_item_img {
    order: 2;
    margin-top: 1em;
  }
}

.p_admission_flow_item_ttl {
  font-size: 1.5em;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .p_admission_flow_item_ttl {
    order: 1;
    margin-top: 0;
    text-align: left;
  }
}

.p_admission_flow_item_text {
  margin-top: 1em;
}
.p_admission_flow_item_text .sm {
  font-size: 0.75em;
  line-height: 1.5;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p_admission_flow_item_text {
    order: 3;
    margin-top: 1.5em;
  }
}

/*======================================
    campus
======================================*/
.p_campus_lists {
  margin-top: 7.5em;
}
@media screen and (max-width: 767px) {
  .p_campus_lists {
    margin-top: 5em;
  }
}

.p_campus_list {
  display: grid;
  grid-template-columns: auto 33.75em;
  margin-left: calc(50% - 50vw);
}
.p_campus_list:nth-child(n+2) {
  margin-top: 7.5em;
}
@media screen and (max-width: 767px) {
  .p_campus_list:nth-child(n+2) {
    margin-top: 5em;
  }
}
@media screen and (max-width: 767px) {
  .p_campus_list {
    margin-left: 0;
    display: block;
  }
}

.p_campus_list_gallery {
  max-width: 60em;
  width: 100%;
  min-width: 0;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p_campus_list_gallery {
    margin: 0 calc(50% - 50vw);
    max-width: unset;
    width: 100vw;
  }
}

._campus_swiper_slide {
  aspect-ratio: 960/582;
  background-color: gray;
}
._campus_swiper_slide img {
  height: 100%;
  object-fit: cover;
}

.p_campus_thumb_swiper {
  margin-top: 2.25em;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p_campus_thumb_swiper {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .p_campus_thumb_swiper {
    margin-left: 0;
  }
}

.p_campus_thumb_swiper_slide {
  aspect-ratio: 68/38;
  background-color: gray;
  width: 4.25em;
}
.p_campus_thumb_swiper_slide img {
  height: 100%;
  object-fit: cover;
}

.p_campus_list_texts {
  padding-left: 3.75em;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p_campus_list_texts {
    padding-left: 0;
    margin-top: 2.5em;
  }
}

.p_campus_list_ttl {
  font-size: 1.625em;
  font-weight: 600;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.75;
}

.p_campus_list_address {
  font-size: 0.875em;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.75;
  font-feature-settings: "palt";
}

.p_campus_list_text {
  line-height: 2;
  margin-top: 1.5em;
}

.p_campus_list_details {
  margin-top: 1.875em;
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.5em;
  row-gap: 0.5em;
}

.p_campus_list_detail {
  display: block;
  font-size: 0.75em;
  font-weight: 600;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 2.5;
  padding: 0 1.67em;
  border-radius: 3em;
  color: #fff;
  background-color: #7c7c7c;
}
@media screen and (max-width: 767px) {
  .p_campus_list_detail {
    font-size: 0.625em;
  }
}

.p_campus_list_detail_etc {
  font-size: 0.875em;
  font-weight: 600;
  align-self: flex-end;
  line-height: 1.5;
}

.p_campus_list_caption {
  font-size: 0.8125em;
  font-weight: 600;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 1.6923076923;
  margin-top: 1.75em;
}

/*======================================
    privacy policy
======================================*/
.privacy {
  margin-top: 6.25em;
  display: flex;
  flex-direction: column;
  row-gap: 6.25em;
}
@media screen and (max-width: 767px) {
  .privacy {
    row-gap: 3.125em;
  }
  .privacy h2 {
    font-size: 1.125em;
  }
}
@media screen and (max-width: 767px) {
  .privacy {
    margin-top: 3.125em;
  }
}

.list_disc {
  margin-top: 1em;
}
.list_disc li {
  padding-left: 1em;
  position: relative;
}
.list_disc li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background-color: #505050;
  line-height: inherit;
}

.contact_text {
  font-size: 0.8125em;
  margin-top: 3em;
  text-align: center;
  font-weight: 400;
}
.contact_text a {
  font-weight: inherit;
}
@media screen and (max-width: 767px) {
  .contact_text {
    font-size: 0.75em;
  }
}

.grecaptcha-badge,
.rc-anchor-invisible,
.rc-anchor-error-msg-container,
.rc-anchor-normal-footer {
  display: none !important;
}

/*# sourceMappingURL=style.css.map */


/* 2025/04/16フッターデザイン追加 */
.footer.footer_new {
  background: url(../img/bg.jpg) no-repeat center/cover;
  color: #fff;
  padding: 5.625em 0 3.75em;
}
@media screen and (max-width: 767px) {
  .footer.footer_new {
    background-image: url(../img/bg_sp.jpg);
    padding: 3.375em 0 1.5em;
  }
}
.footer.footer_new .inner {
  display: grid;
  grid-template-columns: 1.5fr 1.5fr 1fr;
  column-gap: 5em;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .footer.footer_new .inner {
    grid-template-columns: 1fr;
    column-gap: 2em;
    align-items: center;
  }
}
.footer_copyright {
  grid-column: 1 / -1;
}
.footer_new .footer_logo {
  display: block;
  max-width: 14.75em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.1875em;
}
@media screen and (max-width: 767px) {
  .footer_new .footer_logo {
    max-width: 12.25em;
  }
}

.footer_new .footer_links.header_links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 3em;
  row-gap: 0;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .footer_new .footer_links.header_links {
    margin-top: 2.5em;
    column-gap: 2em;
  }
}
.footer_new .footer_links.header_links .header_link {
  border-top: 0.5px solid #fff;
  position: relative;
}
.footer_new .footer_links.header_links .header_link:nth-last-child(-n+2) {
  border-bottom: 0.5px solid #fff;
}
.footer_new .footer_links.header_links .header_link a {
  padding-top: 1em;
  padding-bottom: 1em;
}
.footer_new .footer_links.header_links .header_link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.5em;
  transform: translateY(-50%);
  width: 0.44em;
  height: 0.8em;
  background: url(../img/icon_arrow_right.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
.footer_new .footer_links.header_links .header_link:hover::before {
  transform: translate(0.25em, -50%);
}

.footer_new .footer_contact {
  margin-left: auto;
  margin-right: auto;
  margin-top: 4.4em;
  height: 3.21em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .footer_new .footer_contact {
    margin-top: 3em;
    width: 10.65em;
    order: 1;
  }
}

.footer_new .footer_sns {
  margin-top: 1em;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .footer_new .footer_sns {
    margin-top: 2em;
  }
}
.footer_new .footer_text-box {
  height: 100%;
  display: grid;
}
.footer_new .footer_text {
  font-size: 0.9375em;
  font-feature-settings: "palt";
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.8;
  text-align: left;
  margin-top: 0;
}
.footer_new .footer_text span.footer_text__pc-none {
  display: none;
}
@media screen and (max-width: 767px) {
  .footer_new .footer_text {
    text-align: left;
    font-size: 0.75em;
    line-height: 1.9166666667;
    margin-top: 2em;
    text-align: center;
  }
  .footer_new .footer_text span.footer_text__pc-none {
    display: inline;
  }
}

.footer_new .footer_copyright {
  text-align: center;
  margin-top: 3.75em;
}
@media screen and (max-width: 767px) {
  .footer_new .footer_copyright {
    margin-top: 1.25em;
  }
}
.footer_new .footer_copyright small {
  font-size: 0.75em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .footer_new .footer_copyright small {
    font-size: 0.625em;
  }
}

@media screen and (max-width: 767px) {
  .footer_new .footer_text-box {
    display: grid;
  }
  .footer_new .footer_contact {
    order: 1;
  }
  .footer_new .footer_sns {
    order: 2;
    justify-content: center;
  }
  .footer_new .footer_text {
    order: 3;
  }
}


/*======================================
    company message ※20250522追加
======================================*/
.p_com_message {
  padding: 6.25em 0 10.625em;
  margin-top: 18.125em;
  position: relative;
}
.p_com_message::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: url(../img/bg.jpg) no-repeat center/cover;
  opacity: 0.15;
  z-index: -1;
}
.p_com_message .p_career_choice_lead {
  margin-top: 1.5625em;
  margin-bottom: 5.9375em;
}
@media screen and (max-width: 767px) {
  .p_com_message {
    margin-top: 9.375em;
    padding: 5em 0 3.75em;
  }
  .p_com_message .p_career_choice_lead {
    text-align: left;
  }
}
.p_com-person {
  display: grid;
  display: grid;
  grid-template-columns: 9.4375em 1fr;
  grid-template-rows: auto 1fr;
  gap: 0.9375em 2.5em;
  margin-top: 3.75em;
}
.p_com-person_logo { grid-area: 1 / 1 / 3 / 2; }
.p_com-person_name-box { grid-area: 1 / 2 / 2 / 7; }
.p_com-person_texts { grid-area: 2 / 2 / 3 / 7; }

.p_com-person_logo {
  width: 9.4375em;
}
.p_com-person_name-box {
  display: flex;
  align-items: center;
  gap: 0.9375em;
}
.p_com-person_name-img {
  width: 4.875em;
  height: 4.875em;
}
.p_com-person_name-text {
  font-size: 1em;
  margin-bottom: 0.3125em;
}
@media screen and (max-width: 767px) {
  .p_com-person {
    grid-template-columns: 7.8125em 1fr;
    grid-template-rows: auto 1fr;
    gap: 2em 0.9375em;
    margin-top: 3.125em;
  }
  .p_com-person_logo { grid-area: 1 / 1 / 2 / 2; }
  .p_com-person_name-box { grid-area: 1 / 2 / 2 / 3; }
  .p_com-person_texts { grid-area: 2 / 1 / 3 / 3; }

  .p_com-person_logo {
    width: 7.8125em;
  }
  .p_com-person_name-box {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0;
  }
  .p_com-person_name-text {
    margin-bottom: 0;
    font-size: 0.875em;
    margin-top: 0.625em;
  }
}

/*======================================
    エントリーフォーム
======================================*/

.wpcf7 input[type=file] {
  width: 70%;
}

.p_form_input input[type="file"]::file-selector-button {
  appearance: none;
  visibility: hidden;
  margin: 0;
  padding: 0;
  border: 0 none;
  width: 0;
  height: 0;
  font-size: 100%;
  line-height: inherit;
}

.p_form_input {
  position: relative;
}
.p_form_input span.filebutton {
  font-size: 16px;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  padding: 1em;
  margin-right: 0;
  background-color: #e2e2e2;
  border: 1px solid #D1D1D1;
  border-radius: 0.5em;
  cursor: pointer;
  width: 28%;
  text-align: center;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .wpcf7 input[type=file] {
    width: 68%;
  }
  .p_form_input span.filebutton {
    width: 30%;
    font-size: 12px;
    height: 100%;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.66666667em;
  }
}

/*======================================
    エントリーボタン
======================================*/
.archive .cta_button_type02 {
  margin-top: 6em;
}
.wp-block-buttons>.wp-block-button {
  display: block;
}
.wp-block-buttons .wp-block-button__link {
  color: #5BB3A9;
  border: 1px solid #5BB3A9;
  border-radius: 0.625em;
  max-width: 32.375em;
  width: 100%;
  height: 6.375em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-weight: 700;
  letter-spacing: 0.175em;
  font-feature-settings: "palt";
  line-height: 1.625;
  margin: 2.5em auto;
  position: relative;
  transition: opacity 0.3s ease;
  text-decoration: none!important;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .wp-block-buttons .wp-block-button__link {
    margin: 3.75em auto;
    font-size: 0.8125em;
    height: 7.7em;
  }
}
.wp-block-buttons .wp-block-button__link:hover {
  opacity: 0.7;
}
.wp-block-buttons .wp-block-button__link:hover::before {
  transform: translate(0.25em, -50%);
}
.wp-block-buttons .wp-block-button__link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  width: 0.375em;
  height: 0.675em;
  background: url(../img/icon_arrow_right_main.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}