@charset "UTF-8";
/*==========================================================
	ウィンドウ・フォントサイズ設定
==========================================================*/
/*==========  サイズ設定 END  =============================*/
/*==========================================================
	カラー設定
==========================================================*/
/*==========================================================
	レスポンシブ設定
==========================================================*/
/*==========================================================
	ホバー処理
==========================================================*/
/*=========================================
袋文字
-----------------------------------------*/
/*==========================================================
  共通
==========================================================*/
body {
  position: relative;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #f8f8f8;
  color: #080808;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  z-index: 1;
  font-family: "Montserrat", "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  font-size: clamp(1.2rem, 0.4848484848vw + 10.1818181818px, 1.6rem);
  user-select: none;
}
@media (max-width: 834px) and (orientation: portrait) {
  body {
    font-size: 1.4vw;
  }
}
@media (max-width: 480px) and (orientation: portrait) {
  body {
    font-size: 3.6vw;
  }
}
body img {
  width: 100%;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
  -moz-user-select: none;
  pointer-events: none;
}
@media (min-width: 768px) {
  body a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media (max-width: 480px) and (orientation: portrait) {
  body br.pc {
    display: none;
  }
}
body br.sp {
  display: none;
}
@media (max-width: 480px) and (orientation: portrait) {
  body br.sp {
    display: inline;
  }
}

svg {
  fill: transparent;
  stroke: transparent;
}

main {
  position: relative;
  width: 100%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1em;
}

section {
  display: flex;
  flex-direction: column;
  align-items: center;
}

article,
section,
aside {
  position: relative;
  width: 100%;
  font-size: 1em;
  display: flex;
}

header,
footer {
  position: relative;
  width: 100%;
  font-size: 1em;
}

hgroup {
  font-size: 1em;
  display: flex;
  flex-direction: column;
}
hgroup.g_h2 {
  align-items: center;
  color: #0092be;
  gap: 0.5em 0;
}
hgroup.g_h2 span.en, hgroup.g_h2 span.jp {
  font-size: max(12px, 1.25em);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
@media (max-width: 480px) and (orientation: portrait) {
  hgroup.g_h2 span.en, hgroup.g_h2 span.jp {
    font-size: max(12px, 1.125em);
  }
}
hgroup.g_h2 h2 {
  font-size: max(12px, 3.0625em);
}
@media (max-width: 480px) and (orientation: portrait) {
  hgroup.g_h2 h2 {
    font-size: max(12px, 2.25em);
  }
}

/*==========================================
	固定リンク
==========================================*/
.link_fixed {
  position: fixed;
  top: 2em;
  right: 0;
  z-index: 10;
  font-size: 1em;
  width: 22em;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 1rem #818181;
  border-top-left-radius: 1em;
  border-bottom-left-radius: 1em;
  opacity: 0;
  translate: 100% 0;
  transition: 0.6s ease;
}
@media (max-width: 480px) and (orientation: portrait) {
  .link_fixed {
    display: none;
  }
}
.link_fixed.active {
  opacity: 1;
  translate: 0;
  transition: 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (max-width: 480px) and (orientation: portrait) {
  .link_fixed.active {
    display: none;
  }
}
.link_fixed .box_head {
  position: relative;
  background-color: #b9dff6;
  font-size: 1em;
  display: flex;
  justify-content: flex-end;
  padding: 1.8em 1em 0.5em;
  border-top-left-radius: 1em;
}
.link_fixed .box_head::before {
  content: "";
  position: absolute;
  bottom: -3rem;
  left: 0;
  width: 7.6em;
  aspect-ratio: 668/783;
  background: url(../img/ban_bg.webp) no-repeat left top/cover;
}
.link_fixed .box_head .item_logo {
  font-size: 1em;
  width: 14em;
  position: relative;
}
.link_fixed .box_foot {
  display: flex;
  justify-content: flex-end;
  background-color: #0092be;
  color: #fff;
  font-size: 1em;
  padding: 0.5em 3em;
  border-bottom-left-radius: 1em;
  z-index: 1;
}
.link_fixed .box_foot span {
  position: relative;
  font-size: max(12px, 1em);
  letter-spacing: 0.08em;
}
.link_fixed .box_foot span::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: calc(100% + 0.6em);
  width: 1.2em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M3.15,21c-1.74,0-3.15-1.41-3.15-3.15V6.3c0-1.74,1.41-3.15,3.15-3.15h6.3c.58,0,1.05.47,1.05,1.05s-.47,1.05-1.05,1.05H3.15c-.58,0-1.05.47-1.05,1.05v11.55c0,.58.47,1.05,1.05,1.05h11.56c.58,0,1.05-.47,1.05-1.05v-6.3c0-.58.47-1.05,1.05-1.05s1.05.47,1.05,1.05v6.3c0,1.74-1.41,3.15-3.15,3.15H3.15ZM7.66,13.34c-.41-.41-.41-1.07,0-1.48,0,0,0,0,0,0L17.42,2.1h-3.77c-.58,0-1.05-.47-1.05-1.05S13.08,0,13.66,0h6.3c.17,0,.34.04.49.12h.02s.01.01.01.01h.03c.32.21.51.56.5.94v6.28c0,.58-.47,1.05-1.05,1.05s-1.05-.47-1.05-1.05h0v-3.76l-9.75,9.76c-.41.41-1.07.41-1.48,0,0,0,0,0,0,0h0Z" fill="%23ffffff"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

.link_fixed_sp {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 20;
  display: none;
}
@media (max-width: 480px) and (orientation: portrait) {
  .link_fixed_sp {
    display: block;
    translate: 0 100%;
    opacity: 0;
    transition: 0.6s ease;
  }
  .link_fixed_sp.active {
    opacity: 1;
    translate: 0;
    transition: 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  }
}
.link_fixed_sp img {
  filter: drop-shadow(0 0 2vw rgba(8, 8, 8, 0.2));
}

/*==========================================
	ハンバーガーメニュー
==========================================*/
.hamburger-button {
  display: none;
}
@media (max-width: 480px) and (orientation: portrait) {
  .hamburger-button {
    display: block;
    position: fixed;
    top: 3vw;
    left: 4vw;
    width: 8vw;
    aspect-ratio: 1;
    z-index: 100;
    transition: 0.8s ease-out;
  }
  .hamburger-button span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 2px;
    background-color: #0092be;
    transition: 0.5s ease-out;
  }
  .hamburger-button span:nth-of-type(1) {
    transform: translate(-50%, calc(-50% - 3vw));
  }
  .hamburger-button span:nth-of-type(2) {
    transform: translate(-50%, -50%);
    transition-delay: 0.3s;
  }
  .hamburger-button span:nth-of-type(3) {
    transform: translate(-50%, calc(-50% + 3vw));
  }
  .hamburger-button.active span {
    transition: 0.3s ease-out;
  }
  .hamburger-button.active span:nth-of-type(1) {
    transform: translate(-50%, -50%) rotate(135deg);
  }
  .hamburger-button.active span:nth-of-type(2) {
    transform: translate(-100%, -50%);
    opacity: 0;
  }
  .hamburger-button.active span:nth-of-type(3) {
    transform: translate(-50%, -50%) rotate(-135deg);
  }
}

/*==========================================================
  ヘッダー
==========================================================*/
header {
  display: flex;
  flex-direction: column;
  background: url(../img/header_bg_pc.webp) no-repeat center bottom/cover;
}
@media (max-width: 480px) and (orientation: portrait) {
  header {
    background: url(../img/header_bg_sp.webp) no-repeat center bottom/cover;
  }
}
header {
  padding: 1em;
}
header .block_mobile_head {
  display: none;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .block_mobile_head {
    display: block;
    font-size: 1em;
  }
  header .block_mobile_head nav {
    display: flex;
    justify-content: flex-end;
    font-size: 1em;
    width: 100%;
  }
  header .block_mobile_head nav a {
    font-size: max(12px, 1.125em);
    font-weight: 500;
    color: #0092be;
    padding: 1em 1em;
  }
  header .block_mobile_head nav a.order {
    background-color: #fef7aa;
  }
}
header .block_menu {
  display: contents;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .block_menu {
    display: flex;
    font-size: 1em;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: #f8f8f8;
    padding-top: 20vw;
    height: 100vw;
    height: 100dvh;
    width: 65vw;
    translate: -65vw;
    transition: 0.3s ease-out;
  }
  header .block_menu.active {
    translate: 0;
    transition: 0.5s ease-out;
  }
}
header .block_menu nav {
  position: relative;
  font-size: 1em;
  display: flex;
  gap: 0 1.4em;
  align-self: flex-end;
  align-items: center;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .block_menu nav {
    flex-direction: column;
    align-items: stretch;
    align-self: start;
    gap: unset;
    width: 100%;
  }
}
header .block_menu nav a {
  position: relative;
  color: #0092be;
  font-size: max(12px, 1.25em);
  font-weight: 500;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .block_menu nav a {
    font-size: max(12px, 1.5em);
    padding: 1em 0 1em 1em;
    width: 100%;
    display: flex;
  }
  header .block_menu nav a:not(:first-of-type):not(:last-of-type)::after {
    content: "";
    position: absolute;
    top: 0;
    left: 1em;
    width: calc(100% - 3em);
    height: 1px;
    background-color: #b9dff6;
  }
}
header .block_menu nav a::before {
  content: "";
  position: absolute;
  top: calc(100% + 0.2em);
  width: 100%;
  height: 3px;
  background-color: #0092be;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.5s ease-out;
}
@media (hover: hover) {
  header .block_menu nav a:where(:any-link, :enabled, summary):hover::before {
    transform: scale(1, 1);
    transform-origin: left top;
    transition: transform 0.3s ease-out;
  }
}
header .block_menu nav a.order {
  background-color: #fef7aa;
  padding: 1em 2em 0.8em;
  transition: 0.5s ease-out;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .block_menu nav a.order {
    padding: 1em 0 1em 1em;
  }
}
header .block_menu nav a.order::before {
  display: none;
}
@media (hover: hover) {
  header .block_menu nav a.order:where(:any-link, :enabled, summary):hover {
    background-color: #0092be;
    color: #f8f8f8;
    transition: 0.3s ease-out;
  }
}
header .block_contents {
  padding: 6vw 0 6vw 10vw;
  align-self: flex-start;
  width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .block_contents {
    width: 100%;
    align-items: center;
    padding: 8vw 0 64vw;
  }
}
header .block_contents .box_logo {
  width: 36vw;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .block_contents .box_logo {
    width: 80vw;
  }
}
header .block_contents .box_logo img {
  width: 100%;
}
header .block_contents p {
  margin-top: 3em;
  font-size: 1.2vw;
  width: 30em;
  text-align: justify;
  color: #0092be;
  letter-spacing: 0.05em;
  line-height: 1.8em;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .block_contents p {
    width: 80vw;
    font-size: 3.6vw;
    margin-top: 2vw;
  }
}
header .box_catch {
  position: absolute;
  width: 15vw;
  top: 9vw;
  right: 8vw;
  transform: rotate(20deg);
  animation-name: textMove;
  animation-duration: 4s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .box_catch {
    top: unset;
    bottom: 40vw;
    width: 25vw;
    right: 10vw;
  }
}
@keyframes textMove {
  0% {
    translate: 0;
  }
  15% {
    translate: 1.5em -3em;
    scale: 1.1;
  }
  30% {
    translate: 0;
    scale: 1;
  }
  100% {
    translate: 0;
  }
}
header .text_host {
  position: absolute;
  bottom: 1vw;
  right: 4vw;
  font-size: 1.2vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: flex;
  flex-direction: column;
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, 0px -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}
@media (max-width: 480px) and (orientation: portrait) {
  header .text_host {
    font-size: 3.6vw;
  }
}

/*==========================================================
  フッター
==========================================================*/
footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #0092be;
  width: 100%;
}
footer .footer__inner {
  display: flex;
  justify-content: center;
  padding-block: 3em;
  color: #f8f8f8;
  width: 100%;
  max-width: 113rem;
  container-type: inline-size;
  padding-inline: 2vw;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner {
    padding: 3em 6vw 6vw;
    flex-direction: column;
    max-width: unset;
    align-items: center;
    gap: 2vw 0;
  }
}
footer .footer__inner > div,
footer .footer__inner dl {
  position: relative;
  display: flex;
  font-size: clamp(1.2rem, 1.5cqw, 1em);
  flex-direction: column;
}
footer .footer__inner .block_head {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.8em 0;
  padding-right: 1.8em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_head {
    display: contents;
  }
}
footer .footer__inner .block_head .box_logo {
  font-size: 1em;
  display: flex;
  flex-direction: column;
  width: 24.75em;
  flex: 1;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_head .box_logo {
    order: -2;
    width: 60vw;
  }
}
footer .footer__inner .block_head .box_logo img {
  filter: brightness(0) invert(100);
}
footer .footer__inner .block_head .box_logo span {
  font-size: max(12px, 1em);
  align-self: flex-end;
  margin-top: 0.5em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_head .box_logo span {
    font-size: max(12px, 1.125em);
  }
}
footer .footer__inner .block_head > a {
  position: relative;
  font-size: 1em;
  width: 27em;
  border-radius: 100vmax;
  padding-left: 3em;
  transition: 0.3s ease-out;
  color: #0092be;
}
footer .footer__inner .block_head > a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2em;
  width: 1.4em;
  transition: 0.5s ease-out;
}
footer .footer__inner .block_head > a span {
  font-size: max(12px, 1.5625em);
}
footer .footer__inner .block_head > a.link_form {
  background-color: #fef7aa;
  padding-block: 2.4em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_head > a.link_form {
    margin-top: 6vw;
  }
}
footer .footer__inner .block_head > a.link_form::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M3.15,21c-1.74,0-3.15-1.41-3.15-3.15V6.3c0-1.74,1.41-3.15,3.15-3.15h6.3c.58,0,1.05.47,1.05,1.05s-.47,1.05-1.05,1.05H3.15c-.58,0-1.05.47-1.05,1.05v11.55c0,.58.47,1.05,1.05,1.05h11.56c.58,0,1.05-.47,1.05-1.05v-6.3c0-.58.47-1.05,1.05-1.05s1.05.47,1.05,1.05v6.3c0,1.74-1.41,3.15-3.15,3.15H3.15ZM7.66,13.34c-.41-.41-.41-1.07,0-1.48,0,0,0,0,0,0L17.42,2.1h-3.77c-.58,0-1.05-.47-1.05-1.05S13.08,0,13.66,0h6.3c.17,0,.34.04.49.12h.02s.01.01.01.01h.03c.32.21.51.56.5.94v6.28c0,.58-.47,1.05-1.05,1.05s-1.05-.47-1.05-1.05h0v-3.76l-9.75,9.76c-.41.41-1.07.41-1.48,0,0,0,0,0,0,0h0Z" fill="%2300a273"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
@media (hover: hover) {
  footer .footer__inner .block_head > a.link_form:where(:any-link, :enabled, summary):hover {
    background-color: #f8f8f8;
  }
}
footer .footer__inner .block_head > a.link_pdf {
  background-color: #b9dff6;
  padding-block: 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_head > a.link_pdf {
    margin-bottom: 6vw;
  }
}
footer .footer__inner .block_head > a.link_pdf::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M18.9,0H6.3c-1.16,0-2.1.94-2.1,2.1v12.6c0,1.16.94,2.1,2.1,2.1h12.6c1.16,0,2.1-.94,2.1-2.1V2.1c0-1.16-.94-2.1-2.1-2.1ZM9.97,7.88c0,.87-.7,1.57-1.57,1.57,0,0,0,0,0,0h-1.05v2.1h-1.58v-6.3h2.62c.87,0,1.57.7,1.57,1.57,0,0,0,0,0,0v1.05ZM15.22,9.98c0,.87-.7,1.57-1.57,1.57,0,0,0,0,0,0h-2.62v-6.3h2.62c.87,0,1.57.7,1.58,1.57,0,0,0,0,0,0v3.15ZM19.42,6.83h-1.57v1.05h1.58v1.57h-1.58v2.1h-1.58v-6.3h3.15v1.58ZM7.35,7.88h1.05v-1.05h-1.05v1.05ZM2.1,4.2H0v14.7c0,1.16.94,2.1,2.1,2.1h14.7v-2.1H2.1V4.2ZM12.6,9.98h1.05v-3.15h-1.05v3.15Z" fill="%230092be"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
@media (hover: hover) {
  footer .footer__inner .block_head > a.link_pdf:where(:any-link, :enabled, summary):hover {
    background-color: #036785;
    color: #f8f8f8;
  }
  footer .footer__inner .block_head > a.link_pdf:where(:any-link, :enabled, summary):hover::after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M18.9,0H6.3c-1.16,0-2.1.94-2.1,2.1v12.6c0,1.16.94,2.1,2.1,2.1h12.6c1.16,0,2.1-.94,2.1-2.1V2.1c0-1.16-.94-2.1-2.1-2.1ZM9.97,7.88c0,.87-.7,1.57-1.57,1.57,0,0,0,0,0,0h-1.05v2.1h-1.58v-6.3h2.62c.87,0,1.57.7,1.57,1.57,0,0,0,0,0,0v1.05ZM15.22,9.98c0,.87-.7,1.57-1.57,1.57,0,0,0,0,0,0h-2.62v-6.3h2.62c.87,0,1.57.7,1.58,1.57,0,0,0,0,0,0v3.15ZM19.42,6.83h-1.57v1.05h1.58v1.57h-1.58v2.1h-1.58v-6.3h3.15v1.58ZM7.35,7.88h1.05v-1.05h-1.05v1.05ZM2.1,4.2H0v14.7c0,1.16.94,2.1,2.1,2.1h14.7v-2.1H2.1V4.2ZM12.6,9.98h1.05v-3.15h-1.05v3.15Z" fill="%23F8F8F8"/></svg>');
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
}
footer .footer__inner .block_contents {
  padding-top: 1em;
  gap: 2em 0;
  padding-left: 3em;
  border-left: 1px solid;
  padding-bottom: 0.5em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents {
    display: contents;
  }
}
footer .footer__inner .block_contents > div {
  display: flex;
  flex-direction: column;
  font-size: 1em;
  width: 100%;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div.box_01 {
    order: -1;
    align-items: center;
  }
  footer .footer__inner .block_contents > div.box_01 dt {
    display: none;
  }
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div:nth-of-type(2) {
    order: -1;
    margin-top: 4vw;
  }
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div:nth-of-type(3) {
    order: -1;
    margin-top: 4vw;
  }
}
footer .footer__inner .block_contents > div dt {
  font-size: max(12px, 1em);
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 0.5em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dt {
    margin-bottom: unset;
  }
}
footer .footer__inner .block_contents > div dt::before {
  content: "■";
}
footer .footer__inner .block_contents > div dd {
  font-size: 1em;
  display: flex;
  flex-direction: column;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd {
    width: 100%;
    gap: 2vw 0;
  }
}
footer .footer__inner .block_contents > div dd .wrap_head {
  font-size: 1em;
  display: flex;
  gap: 0 0.5em;
  align-items: center;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .wrap_head {
    flex-direction: column;
  }
}
footer .footer__inner .block_contents > div dd .wrap_head .item_date {
  font-size: max(12px, 2.4375em);
  font-weight: 700;
  line-height: 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .wrap_head .item_date {
    font-size: max(12px, 4em);
    margin-top: 0.5em;
  }
}
footer .footer__inner .block_contents > div dd .wrap_head .item_date small {
  font-size: 0.41em;
  display: inline-block;
  padding-bottom: 0.2em;
  letter-spacing: 0.12em;
  margin-left: 0.2em;
}
footer .footer__inner .block_contents > div dd .wrap_head .item_time {
  font-size: max(12px, 2.4375em);
  font-weight: 700;
  line-height: 1em;
}
footer .footer__inner .block_contents > div dd .wrap_head .item_time time:first-of-type::after {
  content: "~";
  margin-left: 0.1em;
  margin-right: -0.1em;
}
footer .footer__inner .block_contents > div dd .wrap_sidebar {
  background-color: #f8f8f8;
  border: 3px solid #026786;
  align-self: flex-start;
  color: #026786;
  font-size: 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .wrap_sidebar {
    align-self: center;
  }
}
footer .footer__inner .block_contents > div dd .wrap_sidebar span {
  font-size: max(12px, 1.25em);
  font-weight: 700;
  padding: 0.2em 3em;
  display: flex;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .wrap_sidebar span {
    font-size: max(12px, 1.5em);
    padding: 0.5em 3em;
  }
}
footer .footer__inner .block_contents > div dd .place {
  font-size: max(12px, 1.9375em);
  font-weight: 700;
  letter-spacing: 0.08em;
}
footer .footer__inner .block_contents > div dd address {
  font-size: max(12px, 1em);
  letter-spacing: 0.08em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd address {
    font-size: max(12px, 1.125em);
  }
}
footer .footer__inner .block_contents > div dd .contents {
  font-size: 1em;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
}
footer .footer__inner .block_contents > div dd .contents .item_head {
  display: flex;
  align-items: flex-end;
  font-size: max(12px, 1em);
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .contents .item_head {
    font-size: max(12px, 1.125em);
  }
}
footer .footer__inner .block_contents > div dd .contents .item_head i {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.4375em;
  font-weight: 700;
  line-height: 0.9em;
  margin-left: 0.1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .contents .item_head i {
    font-size: 3em;
  }
}
footer .footer__inner .block_contents > div dd .contents .item_head i:last-of-type {
  margin-left: 0.2em;
}
footer .footer__inner .block_contents > div dd .contents .item_free {
  background-color: #026786;
  color: #f8f8f8;
  padding: 0.3em 2em;
  border-radius: 0.3em;
  font-size: max(12px, 1em);
  letter-spacing: 0.08em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .contents .item_free {
    font-size: max(12px, 1.5em);
    padding: 0.3em 0;
    flex-grow: 1;
    text-align: center;
  }
}
footer .footer__inner .block_contents > div dd p {
  font-size: max(12px, 1em);
  letter-spacing: 0.04em;
  margin-top: 0.3em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd p {
    font-size: max(12px, 1.125em);
  }
}
footer .footer__inner .block_contents > div dd .contact_name {
  font-size: max(12px, 1.5625em);
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .contact_name {
    font-size: max(12px, 1.375em);
  }
}
footer .footer__inner .block_contents > div dd .wrap_tel {
  position: relative;
  border: 1px solid;
  font-size: 1em;
  margin-top: 0.3em;
  display: flex;
  justify-content: center;
}
footer .footer__inner .block_contents > div dd .wrap_tel a {
  font-size: max(12px, 3.8125em);
  font-weight: 300;
  letter-spacing: 0.08em;
  padding: 0.25em 0 0.3em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .wrap_tel a {
    font-size: max(12px, 3em);
  }
}
footer .footer__inner .block_contents > div dd .wrap_tel span {
  position: absolute;
  width: max-content;
  left: 50%;
  transform: translateX(-50%);
  bottom: -0.5em;
  background-color: #0092be;
  padding-inline: 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .footer__inner .block_contents > div dd .wrap_tel span {
    font-size: max(12px, 1.125em);
  }
}
footer .copyright {
  background-color: #080808;
  color: #f8f8f8;
  font-size: max(12px, 0.875em);
  padding-block: 0.5em;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 0 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  footer .copyright {
    flex-direction: column;
    align-items: center;
    font-size: 12px;
  }
}

/*==========================================================
 画像スライド
==========================================================*/
.container_slide__inner {
  --slideHeight: 22rem;
  height: var(--slideHeight);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_slide__inner {
    --slideHeight: 20vw;
  }
}
.container_slide__inner ul {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  width: max-content;
}
.container_slide__inner ul li {
  height: var(--slideHeight);
}
.container_slide__inner ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*==========================================================
 開催日時・場所
==========================================================*/
.container01 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 5em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01 {
    padding-block: 2vw;
    padding-bottom: 6vw;
  }
}
.container01__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner {
    display: flex;
    flex-direction: column;
    padding-inline: 6vw;
  }
}
.container01__inner::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
  height: 100%;
  background-color: #0092be;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner::before {
    display: none;
  }
}
.container01__inner .box_date {
  justify-self: end;
  width: max-content;
  font-size: 1em;
  padding-right: 3em;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1em;
  padding-bottom: 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner .box_date {
    width: 100%;
    padding-right: unset;
    justify-self: unset;
  }
}
.container01__inner .box_date .wrap_date {
  font-size: 1em;
  display: flex;
  color: #0092be;
  align-items: flex-end;
}
.container01__inner .box_date .wrap_date small {
  font-size: max(12px, 2.4375em);
  font-weight: 700;
}
.container01__inner .box_date .wrap_date span {
  position: relative;
  font-size: max(12px, 7.4375em);
  font-weight: 700;
  line-height: 0.8em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner .box_date .wrap_date span {
    font-size: max(12px, 6em);
  }
}
.container01__inner .box_date .wrap_date span:first-of-type {
  margin-right: 0.3em;
}
.container01__inner .box_date .wrap_date span:first-of-type::after {
  content: "";
  position: absolute;
  bottom: 0.03em;
  left: calc(100% + 0.05em);
  width: 0.2em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 62" fill="none"><rect x="-16.05" y="28.12" width="66.09" height="5.77" transform="translate(-18.31 32.77) rotate(-64.13)" fill="%2300a273"/></svg>');
  aspect-ratio: 1/1.9375;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.container01__inner .box_date .wrap_date i {
  font-size: max(12px, 1.5625em);
  font-weight: 700;
  background-color: #0092be;
  color: #f8f8f8;
  padding: 0.3em;
  display: inline-block;
  margin-left: 0.3em;
  transform: translateY(-0.1em);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner .box_date .wrap_date i {
    font-size: max(12px, 1.3125em);
  }
}
.container01__inner .box_date .wrap_time {
  display: flex;
  justify-content: center;
  font-size: 1em;
  margin-top: 0.2em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner .box_date .wrap_time {
    margin-top: 2vw;
  }
}
.container01__inner .box_date .wrap_time time {
  font-size: max(12px, 2.4375em);
  font-weight: 700;
  color: #0092be;
  letter-spacing: 0.08em;
}
.container01__inner .box_date .wrap_time time:first-of-type::after {
  content: "~";
}
.container01__inner .box_date .wrap_sidebar {
  color: #026786;
  width: 100%;
  display: flex;
  justify-content: center;
  border: 3px solid;
  font-size: 1em;
  margin-top: 0.5em;
}
.container01__inner .box_date .wrap_sidebar span {
  font-size: max(12px, 1.9375em);
  font-weight: 700;
  padding-block: 0.2em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner .box_date .wrap_sidebar span {
    font-size: max(12px, 1.5em);
  }
}
.container01__inner .box_contents {
  font-size: 1em;
  padding-left: 4em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.4em 0;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner .box_contents {
    padding-left: unset;
    gap: 4vw 0;
  }
}
.container01__inner .box_contents > div {
  font-size: 1em;
  display: flex;
  flex-direction: column;
}
.container01__inner .box_contents > div .title {
  font-size: max(12px, 1em);
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 0.2em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner .box_contents > div .title {
    font-size: max(12px, 1.125em);
  }
}
.container01__inner .box_contents > div .title::before {
  content: "■";
}
.container01__inner .box_contents > div .place {
  color: #0092be;
  font-size: max(12px, 1.9375em);
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner .box_contents > div .place {
    font-size: max(12px, 1.625em);
  }
}
.container01__inner .box_contents > div address {
  font-size: max(12px, 1em);
  font-weight: 500;
  color: #0092be;
  letter-spacing: 0.08em;
}
.container01__inner .box_contents > div .contents {
  font-size: 1em;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
}
.container01__inner .box_contents > div .contents .item_head {
  display: flex;
  align-items: flex-end;
  font-size: max(12px, 1em);
  font-weight: 700;
  color: #0092be;
  letter-spacing: 0.04em;
}
.container01__inner .box_contents > div .contents .item_head i {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.4375em;
  font-weight: 700;
  line-height: 0.9em;
  margin-left: 0.1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01__inner .box_contents > div .contents .item_head i {
    font-size: 3em;
  }
}
.container01__inner .box_contents > div .contents .item_head i:last-of-type {
  margin-left: 0.2em;
}
.container01__inner .box_contents > div .contents .item_free {
  background-color: #026786;
  color: #f8f8f8;
  padding: 0.3em 2em;
  border-radius: 0.3em;
  font-size: max(12px, 1em);
  letter-spacing: 0.08em;
}
.container01__inner .box_contents > div p {
  font-size: max(12px, 1em);
  letter-spacing: 0.04em;
  margin-top: 0.3em;
}
.container01 .foot_notice {
  font-size: max(12px, 1em);
  font-weight: 500;
  background-color: #fef7aa;
  padding: 0.5em 2em;
  letter-spacing: 0.12em;
  margin-top: 1.4em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container01 .foot_notice {
    width: 88vw;
    padding: 1em 2vw;
  }
}

/*==========================================================
 スケジュール・MAP
==========================================================*/
.container02 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 {
    display: flex;
    flex-direction: column;
  }
}
.container02 .g_h2 {
  color: #f8f8f8;
}
.container02 {
  --topSpace: 5em;
}
.container02.await > article, .container02.await > ul, .container02.await > a {
  translate: 0 10em;
  transition: 0.5s ease;
  opacity: 0;
}
.container02.await.show > article, .container02.await.show > ul, .container02.await.show > a {
  opacity: 1;
  translate: 0;
  transition: 1.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.container02.await.show article.container02__map {
  transition-delay: 0.4s;
}
.container02 .container02__schedule {
  background-color: #0092be;
  color: #f8f8f8;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-right: 3em;
  padding-top: var(--topSpace);
  padding-bottom: 2em;
  padding-left: 2vw;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__schedule {
    padding-inline: 6vw;
    align-items: center;
  }
}
.container02 .container02__schedule .block_schedule {
  font-size: 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-items: end;
  width: 100%;
  max-width: 50rem;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__schedule .block_schedule {
    display: contents;
  }
}
.container02 .container02__schedule .block_schedule .wrap_sidebar {
  background-color: #f8f8f8;
  border: 3px solid #026786;
  color: #026786;
  font-size: 1em;
  margin-top: 3em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__schedule .block_schedule .wrap_sidebar {
    margin-top: 8vw;
  }
}
.container02 .container02__schedule .block_schedule .wrap_sidebar span {
  font-size: max(12px, 1.25em);
  font-weight: 700;
  padding: 0.3em 2em;
  display: flex;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__schedule .block_schedule .wrap_sidebar span {
    padding-block: 0.5em;
  }
}
.container02 .container02__schedule .block_schedule dl {
  position: relative;
  width: 100%;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  margin-top: 2em;
  align-items: center;
  gap: 1.4em 0;
}
.container02 .container02__schedule .block_schedule dl > div {
  position: relative;
  width: 100%;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.container02 .container02__schedule .block_schedule dl > div .box_full {
  position: absolute;
  inset: 0;
  margin: auto;
  background-color: #ff0000;
  z-index: 1;
  display: inline-flex;
  font-size: 1em;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80%;
  height: 6em;
  rotate: -5deg;
  translate: 0 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__schedule .block_schedule dl > div .box_full {
    width: 90%;
    translate: 0 1.6em;
  }
}
.container02 .container02__schedule .block_schedule dl > div .box_full .head {
  font-size: max(12px, 1.75em);
  font-weight: 600;
  letter-spacing: 0.08em;
}
.container02 .container02__schedule .block_schedule dl > div .box_full p {
  font-size: max(12px, 1.125em);
  font-weight: 500;
  margin-top: 0.2em;
  letter-spacing: 0.08em;
}
.container02 .container02__schedule .block_schedule dl > div dt {
  width: 100%;
  background-color: #f8f8f8;
  color: #0092be;
  font-size: max(12px, 1.25em);
  font-weight: 700;
  text-align: center;
  padding-block: 0.3em;
  margin-bottom: 0.2em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__schedule .block_schedule dl > div dt {
    padding-block: 0.5em;
  }
}
.container02 .container02__schedule .block_schedule dl > div dd {
  position: relative;
  font-size: 1em;
  display: flex;
  flex-direction: column;
}
.container02 .container02__schedule .block_schedule dl > div dd .box_contents {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  font-size: 1em;
  width: 100%;
  padding-block: 1.2em;
}
.container02 .container02__schedule .block_schedule dl > div dd .box_contents:nth-of-type(2) {
  border-top: dashed 1px;
}
.container02 .container02__schedule .block_schedule dl > div dd .box_contents h3 {
  font-size: max(12px, 1em);
  display: flex;
  width: 9em;
}
.container02 .container02__schedule .block_schedule dl > div dd .box_contents h3::before {
  content: "■";
}
.container02 .container02__schedule .block_schedule dl > div dd .box_contents .wrap_time {
  display: flex;
  font-size: 1em;
}
.container02 .container02__schedule .block_schedule dl > div dd .box_contents .wrap_time time {
  font-size: max(12px, 2.4375em);
  letter-spacing: 0.04em;
}
.container02 .container02__schedule .block_schedule dl > div dd .box_contents .wrap_time time:first-of-type::after {
  content: "~";
  margin-inline: 0.1em;
}
.container02 .container02__map {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-top: var(--topSpace);
  color: #0092be;
  background-color: #ededed;
}
.container02 .container02__map h2 {
  color: #0092be;
}
.container02 .container02__map .h2_sidebar {
  font-size: max(12px, 1.25em);
  border-bottom: 1px solid;
  margin-top: 0.3em;
}
.container02 .container02__map .link_map {
  position: relative;
  color: #0092be;
  border: 3px solid;
  font-size: 1em;
  margin-top: 2em;
  width: 100%;
  max-width: 45rem;
  border-radius: 100vmax;
  padding-block: 0.8em;
  margin-bottom: -1em;
  z-index: 1;
  background-color: #f8f8f8;
  transition: 0.5s ease-out;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__map .link_map {
    width: 88vw;
    max-width: unset;
  }
}
.container02 .container02__map .link_map::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2em;
  width: 1.4em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M3.15,21c-1.74,0-3.15-1.41-3.15-3.15V6.3c0-1.74,1.41-3.15,3.15-3.15h6.3c.58,0,1.05.47,1.05,1.05s-.47,1.05-1.05,1.05H3.15c-.58,0-1.05.47-1.05,1.05v11.55c0,.58.47,1.05,1.05,1.05h11.56c.58,0,1.05-.47,1.05-1.05v-6.3c0-.58.47-1.05,1.05-1.05s1.05.47,1.05,1.05v6.3c0,1.74-1.41,3.15-3.15,3.15H3.15ZM7.66,13.34c-.41-.41-.41-1.07,0-1.48,0,0,0,0,0,0L17.42,2.1h-3.77c-.58,0-1.05-.47-1.05-1.05S13.08,0,13.66,0h6.3c.17,0,.34.04.49.12h.02s.01.01.01.01h.03c.32.21.51.56.5.94v6.28c0,.58-.47,1.05-1.05,1.05s-1.05-.47-1.05-1.05h0v-3.76l-9.75,9.76c-.41.41-1.07.41-1.48,0,0,0,0,0,0,0h0Z" fill="%2300a273"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  transition: 0.5s ease-out;
}
.container02 .container02__map .link_map span {
  font-size: max(12px, 1.25em);
  font-weight: 500;
  display: flex;
  justify-content: center;
}
@media (hover: hover) {
  .container02 .container02__map .link_map:where(:any-link, :enabled, summary):hover {
    transition: 0.3s ease-out;
    background-color: #0092be;
    color: #f8f8f8;
  }
  .container02 .container02__map .link_map:where(:any-link, :enabled, summary):hover::after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M3.15,21c-1.74,0-3.15-1.41-3.15-3.15V6.3c0-1.74,1.41-3.15,3.15-3.15h6.3c.58,0,1.05.47,1.05,1.05s-.47,1.05-1.05,1.05H3.15c-.58,0-1.05.47-1.05,1.05v11.55c0,.58.47,1.05,1.05,1.05h11.56c.58,0,1.05-.47,1.05-1.05v-6.3c0-.58.47-1.05,1.05-1.05s1.05.47,1.05,1.05v6.3c0,1.74-1.41,3.15-3.15,3.15H3.15ZM7.66,13.34c-.41-.41-.41-1.07,0-1.48,0,0,0,0,0,0L17.42,2.1h-3.77c-.58,0-1.05-.47-1.05-1.05S13.08,0,13.66,0h6.3c.17,0,.34.04.49.12h.02s.01.01.01.01h.03c.32.21.51.56.5.94v6.28c0,.58-.47,1.05-1.05,1.05s-1.05-.47-1.05-1.05h0v-3.76l-9.75,9.76c-.41.41-1.07.41-1.48,0,0,0,0,0,0,0h0Z" fill="%23F8F8F8"/></svg>');
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    transition: 0.3s ease-out;
  }
}
.container02 .container02__map .box_map {
  position: relative;
  width: 100%;
  flex-grow: 1;
  font-size: 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__map .box_map {
    flex-grow: unset;
    height: 120vw;
  }
}
.container02 .container02__map .box_map::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8em;
  background-image: linear-gradient(to bottom, #ededed, rgba(237, 237, 237, 0));
}
.container02 .container02__map .box_map iframe {
  width: 100%;
  height: 100%;
}
.container02 .container02__map .box_link-pdf {
  position: relative;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: #f8f8f8;
}
.container02 .container02__map .box_link-pdf::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 1em;
  width: 14vw;
  max-width: 18rem;
  aspect-ratio: 1;
  background: url(../img/illust_car.webp) no-repeat center center/contain;
  z-index: 1;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__map .box_link-pdf::before {
    max-width: unset;
    width: 28vw;
  }
}
.container02 .container02__map .box_link-pdf .wrap_head {
  position: relative;
  width: 100%;
  max-width: 68rem;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  padding-top: 2em;
  padding-bottom: 0.5em;
  padding-right: 1.6em;
  align-self: flex-end;
  align-items: flex-end;
  container-type: inline-size;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__map .box_link-pdf .wrap_head {
    padding-top: 1em;
    padding-right: 4vw;
  }
}
.container02 .container02__map .box_link-pdf .wrap_head::before, .container02 .container02__map .box_link-pdf .wrap_head::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.container02 .container02__map .box_link-pdf .wrap_head::before {
  width: 50vw;
  top: 0;
  right: 0;
  height: 100%;
  background-color: #6ba9bc;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__map .box_link-pdf .wrap_head::before {
    width: 100%;
  }
}
.container02 .container02__map .box_link-pdf .wrap_head::after {
  right: 0;
  bottom: 0;
  width: 50vw;
  height: 90%;
  background: url(../img/illust_car_bg.webp) no-repeat center center/cover;
  opacity: 0.16;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__map .box_link-pdf .wrap_head::after {
    width: 100%;
  }
}
.container02 .container02__map .box_link-pdf .wrap_head hgroup {
  font-size: 2.45cqw;
}
.container02 .container02__map .box_link-pdf .wrap_head hgroup .h3_sidebar {
  font-size: max(12px, 1.25em);
  font-weight: 700;
}
.container02 .container02__map .box_link-pdf .wrap_head hgroup h3 {
  font-size: max(12px, 3.8125em);
  font-weight: 300;
}
.container02 .container02__map .box_link-pdf .wrap_foot {
  font-size: 1em;
  background-color: #333333;
  display: flex;
  justify-content: flex-end;
  padding-block: 0.8em;
  padding-right: 5em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__map .box_link-pdf .wrap_foot {
    padding-block: 0.5em;
    padding-right: 12vw;
  }
}
.container02 .container02__map .box_link-pdf .wrap_foot span {
  position: relative;
  font-size: max(12px, 1.5625em);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container02 .container02__map .box_link-pdf .wrap_foot span {
    font-size: max(12px, 1.125em);
  }
}
.container02 .container02__map .box_link-pdf .wrap_foot span::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: calc(100% + 0.5em);
  width: 0.9em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M18.9,0H6.3c-1.16,0-2.1.94-2.1,2.1v12.6c0,1.16.94,2.1,2.1,2.1h12.6c1.16,0,2.1-.94,2.1-2.1V2.1c0-1.16-.94-2.1-2.1-2.1ZM9.97,7.88c0,.87-.7,1.57-1.57,1.57,0,0,0,0,0,0h-1.05v2.1h-1.58v-6.3h2.62c.87,0,1.57.7,1.57,1.57,0,0,0,0,0,0v1.05ZM15.22,9.98c0,.87-.7,1.57-1.57,1.57,0,0,0,0,0,0h-2.62v-6.3h2.62c.87,0,1.57.7,1.58,1.57,0,0,0,0,0,0v3.15ZM19.42,6.83h-1.57v1.05h1.58v1.57h-1.58v2.1h-1.58v-6.3h3.15v1.58ZM7.35,7.88h1.05v-1.05h-1.05v1.05ZM2.1,4.2H0v14.7c0,1.16.94,2.1,2.1,2.1h14.7v-2.1H2.1V4.2ZM12.6,9.98h1.05v-3.15h-1.05v3.15Z" fill="%23F8F8F8"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

/*==========================================================
 NEWS
==========================================================*/
.container03 {
  background-color: #fbf3e3;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 7em 2vw 3em;
}
.container03.await > article, .container03.await > ul, .container03.await > a {
  translate: 0 10em;
  transition: 0.5s ease;
  opacity: 0;
}
.container03.await.show > article, .container03.await.show > ul, .container03.await.show > a {
  opacity: 1;
  translate: 0;
  transition: 1.4s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container03 {
    padding: 4em 6vw 4em;
  }
}
.container03::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 41em;
  aspect-ratio: 1.956;
  background: url(../img/container_news_object01.svg) no-repeat left top/contain;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container03::before {
    width: 55vw;
  }
}
.container03::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 12.5em;
  aspect-ratio: 1;
  background: url(../img/container_news_object02.svg) no-repeat left top/contain;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container03::after {
    width: 18vw;
  }
}
.container03 ul {
  position: relative;
  width: 100%;
  max-width: 100rem;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  gap: 1em 0;
  margin-top: 4em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container03 ul {
    margin-top: 3em;
    max-width: unset;
  }
}
.container03 ul li {
  font-size: 1em;
  display: grid;
  grid-template-columns: 7em 1fr;
  background-color: #f8f8f8;
  padding: 4em 4em;
  gap: 0 3em;
  box-shadow: 0 0 1rem rgba(0, 146, 190, 0.25);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container03 ul li {
    display: flex;
    flex-direction: column;
    padding: 6vw;
  }
}
.container03 ul li time {
  font-size: max(12px, 1em);
  letter-spacing: 0.24em;
  padding-top: 0.5em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container03 ul li time {
    font-size: max(12px, 1.125em);
    margin-bottom: 2em;
  }
}
.container03 ul li .box_contents {
  font-size: 1em;
  display: flex;
  flex-direction: column;
  gap: 1.4em 0;
  color: #080808;
}
.container03 ul li .box_contents .title {
  font-size: max(12px, 1.9375em);
  font-weight: 300;
  letter-spacing: 0.08em;
}
.container03 ul li .box_contents .contents {
  text-align: justify;
  font-size: max(12px, 1em);
  letter-spacing: 0.04em;
  line-height: 1.6em;
}
.container03 ul li .box_contents .contents * {
  font-size: 1em;
}
.container03 ul li .box_contents .contents div {
  width: 100%;
  display: flex;
  flex-direction: column;
  font-size: 1em;
  text-align: justify;
  letter-spacing: 0.08em;
  line-height: 1.8em;
}
.container03 ul li .box_contents .contents div figure {
  position: relative;
  width: 80%;
  align-self: flex-start;
}
.container03 ul li .box_contents .contents div figure img {
  width: 100%;
  object-fit: contain;
}
.container03 ul li .box_contents .contents div figure a {
  pointer-events: none;
}
.container03 ul li .box_contents .contents div a {
  text-decoration: underline;
}
.container03 ul li .box_contents .contents div.attachment-gallery--2, .container03 ul li .box_contents .contents div.attachment-gallery--4, .container03 ul li .box_contents .contents div.attachment-gallery--6, .container03 ul li .box_contents .contents div.attachment-gallery--8, .container03 ul li .box_contents .contents div.attachment-gallery--10 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5em;
}
.container03 ul li .box_contents .contents div.attachment-gallery--2 figure, .container03 ul li .box_contents .contents div.attachment-gallery--4 figure, .container03 ul li .box_contents .contents div.attachment-gallery--6 figure, .container03 ul li .box_contents .contents div.attachment-gallery--8 figure, .container03 ul li .box_contents .contents div.attachment-gallery--10 figure {
  width: 100%;
}
.container03 ul li .box_contents .contents div.attachment-gallery--3, .container03 ul li .box_contents .contents div.attachment-gallery--5, .container03 ul li .box_contents .contents div.attachment-gallery--8, .container03 ul li .box_contents .contents div.attachment-gallery--9 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5em;
}
.container03 ul li .box_contents .contents div.attachment-gallery--3 figure, .container03 ul li .box_contents .contents div.attachment-gallery--5 figure, .container03 ul li .box_contents .contents div.attachment-gallery--8 figure, .container03 ul li .box_contents .contents div.attachment-gallery--9 figure {
  width: 100%;
}

/*==========================================================
 申込みリンク
==========================================================*/
.container_banner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2em 2vw;
}
.container_banner.await > article, .container_banner.await > ul, .container_banner.await > a {
  translate: 0 10em;
  transition: 0.5s ease;
  opacity: 0;
}
.container_banner.await.show > article, .container_banner.await.show > ul, .container_banner.await.show > a {
  opacity: 1;
  translate: 0;
  transition: 1.4s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner {
    padding-inline: 6vw;
    padding-block: 6vw;
  }
}
.container_banner .link_order {
  position: relative;
  width: 100%;
  max-width: 100rem;
  font-size: 1em;
  display: flex;
  flex-direction: column;
}
.container_banner .link_order .box_head {
  position: relative;
  font-size: 1em;
  padding-top: 3em;
  padding-left: 22em;
  padding-right: 2.4em;
  padding-bottom: 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head {
    padding: 4vw 4vw 0;
  }
}
.container_banner .link_order .box_head {
  z-index: 1;
}
.container_banner .link_order .box_head::before, .container_banner .link_order .box_head::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.container_banner .link_order .box_head::before {
  inset: 0;
  background-color: #b9dff6;
}
.container_banner .link_order .box_head::after {
  bottom: 0;
  left: 0;
  width: 100%;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 274" fill="none"><path d="M1000,186.94s-382.18,33.82-631.48,8.3S0,0,0,0v274h1000v-87.06Z" fill="%230092be"/></svg>');
  aspect-ratio: 3.65;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.container_banner .link_order .box_head .wrap_image {
  position: absolute;
  font-size: 1em;
  bottom: 0;
  left: 0;
  width: 22em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head .wrap_image {
    width: 45vw;
  }
}
.container_banner .link_order .box_head .wrap_image::before {
  content: "";
  position: absolute;
  left: 48%;
  translate: -50%;
  bottom: 100%;
  width: 9em;
  aspect-ratio: 1/1.0734;
  background: url(../img/header_catch-text.svg) no-repeat center center/contain;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head .wrap_image::before {
    display: none;
  }
}
.container_banner .link_order .box_head .wrap_image img {
  overflow: hidden;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1.06;
  object-position: center top;
}
.container_banner .link_order .box_head .wrap_contents {
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 1em;
  gap: 1em 0;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head .wrap_contents {
    gap: 2vw 0;
  }
}
.container_banner .link_order .box_head .wrap_contents .item_date {
  margin-top: 0.5em;
  display: flex;
  justify-content: space-between;
  font-size: 1em;
  gap: 0 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head .wrap_contents .item_date {
    justify-content: unset;
    flex-direction: column;
    align-items: flex-end;
  }
}
.container_banner .link_order .box_head .wrap_contents .item_date > div {
  font-size: 1em;
  display: flex;
  flex-direction: column;
}
.container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_date {
  font-size: 1em;
  display: flex;
  color: #0092be;
  align-items: flex-end;
}
.container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_date small {
  font-size: max(12px, 1.625em);
  font-weight: 700;
}
.container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_date span {
  position: relative;
  font-size: max(12px, 5em);
  font-weight: 700;
  line-height: 0.8em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_date span {
    font-size: max(12px, 3.5em);
  }
}
.container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_date span:first-of-type {
  margin-right: 0.3em;
}
.container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_date span:first-of-type::after {
  content: "";
  position: absolute;
  bottom: 0.03em;
  left: calc(100% + 0.05em);
  width: 0.2em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 62" fill="none"><rect x="-16.05" y="28.12" width="66.09" height="5.77" transform="translate(-18.31 32.77) rotate(-64.13)" fill="%2300539A"/></svg>');
  aspect-ratio: 1/1.9375;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_date i {
  font-size: max(12px, 1.25em);
  font-weight: 700;
  background-color: #0092be;
  color: #f8f8f8;
  padding: 0.3em;
  display: inline-block;
  margin-left: 0.3em;
  transform: translateY(-0.1em);
}
.container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_time {
  display: flex;
  justify-content: center;
  font-size: 1em;
  margin-top: 0.2em;
}
.container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_time time {
  font-size: max(12px, 2.4375em);
  font-weight: 700;
  color: #0092be;
  letter-spacing: 0.12em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_time time {
    font-size: max(12px, 1.9375em);
  }
}
.container_banner .link_order .box_head .wrap_contents .item_date > div .wrap_time time:first-of-type::after {
  content: "~";
}
.container_banner .link_order .box_head .wrap_contents .item_date .free {
  background-color: #026786;
  color: #f8f8f8;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1;
  gap: 0.5em 0;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head .wrap_contents .item_date .free {
    flex-direction: row;
    padding: 2vw 4vw;
    border-radius: 2vw;
  }
}
.container_banner .link_order .box_head .wrap_contents .item_date .free i {
  font-size: max(12px, 1.9375em);
  font-weight: 300;
  letter-spacing: 0.2em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head .wrap_contents .item_date .free i {
    font-size: max(12px, 1em);
  }
}
.container_banner .link_order .box_head .wrap_contents .place {
  color: #f8f8f8;
  font-size: max(12px, 1.9375em);
  margin-top: 0.5em;
  align-self: flex-end;
  display: flex;
  align-items: center;
  gap: 0 0.8em;
  letter-spacing: 0.08em;
  text-shadow: 0 0 0.5em #0092be;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_head .wrap_contents .place {
    font-size: max(12px, 1.125em);
  }
}
.container_banner .link_order .box_head .wrap_contents .place i {
  font-size: 0.65em;
  font-weight: 700;
}
.container_banner .link_order .box_head .wrap_contents .place i::before {
  content: "■";
}
.container_banner .link_order .box_foot {
  font-size: 1em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #333333;
  align-items: center;
  padding: 1em 3em;
  position: relative;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_foot {
    margin-bottom: 3em;
    justify-content: flex-end;
    padding: 4vw 2vw;
  }
}
.container_banner .link_order .box_foot .host {
  font-size: max(12px, 1em);
  font-weight: 500;
  color: #f8f8f8;
  letter-spacing: 0.08em;
  display: flex;
  gap: 0 1em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_foot .host {
    position: absolute;
    top: calc(100% + 0.5em);
    right: 0;
    color: #080808;
    font-size: 12px;
  }
}
.container_banner .link_order .box_foot .guide {
  position: relative;
  font-size: max(12px, 1.5625em);
  color: #fef7aa;
  letter-spacing: 0.08em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container_banner .link_order .box_foot .guide {
    font-size: max(12px, 1.3125em);
  }
}
.container_banner .link_order .box_foot .guide::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: calc(100% + 0.6em);
  width: 0.6em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 32" fill="none"><path id="arrow" class="cls-1" d="M2.6,32l-2.6-2.44,13.05-13.91L.03,2.51,2.56,0l15.44,15.57L2.6,32Z" fill="%23FEF7AA"/></svg>');
  aspect-ratio: 0.5625;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

/*==========================================================
 合同説明会参加校
==========================================================*/
.container04 {
  background-color: #0092be;
  padding: 3em 2vw;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container04 {
    padding: 6vw;
  }
}
.container04__inner {
  margin-inline: auto;
  background-color: #f8f8f8;
  border-radius: 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 7em 2vw 3em;
}
.container04__inner ul {
  position: relative;
  width: 100%;
  max-width: 80rem;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  margin-top: 3em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container04__inner ul {
    gap: 12vw 0;
    max-width: unset;
  }
}
.container04__inner ul li {
  position: relative;
  width: 100%;
  font-size: 1em;
  padding: 3em 0 1em;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #0092be;
}
.container04__inner ul li.await {
  translate: 0 10em;
  transition: 0.5s ease;
  opacity: 0;
}
.container04__inner ul li.await.show {
  opacity: 1;
  translate: 0;
  transition: 1.4s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container04__inner ul li {
    padding: 0 4vw;
    border-bottom: unset;
  }
}
.container04__inner ul li .g_h3 {
  font-size: 1em;
  color: #0092be;
}
.container04__inner ul li .g_h3 h3 {
  font-size: max(12px, 2.4375em);
  font-weight: 300;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container04__inner ul li .g_h3 h3 {
    font-size: max(12px, 1.75em);
  }
}
.container04__inner ul li .g_h3 span {
  font-size: max(12px, 1.25em);
  letter-spacing: 0.08em;
  text-indent: 0.3em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container04__inner ul li .g_h3 span {
    font-size: max(12px, 1.125em);
  }
}
.container04__inner ul li address {
  display: flex;
  font-size: 1em;
  flex-direction: column;
  margin-top: 3em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container04__inner ul li address {
    margin-top: 4vw;
  }
}
.container04__inner ul li address span {
  font-size: max(12px, 1.25em);
  letter-spacing: 0.04em;
  margin-bottom: 0.2em;
}
.container04__inner ul li address a {
  font-size: max(12px, 1.5625em);
  font-weight: 500;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  gap: 0 0.2em;
}
.container04__inner ul li address a::before {
  text-transform: capitalize;
  font-size: 0.64em;
  background-color: #818181;
  color: #f8f8f8;
  display: inline-block;
  line-height: 1em;
  padding: 0.2em 0.3em;
  letter-spacing: 0.04em;
  width: 2.8em;
}
.container04__inner ul li address a.tel::before {
  content: "tel.";
}
.container04__inner ul li address a.fax {
  display: none;
  pointer-events: none;
}
.container04__inner ul li address a.fax::before {
  content: "fax.";
}
.container04__inner ul li .link_website {
  position: absolute;
  right: 0;
  bottom: 1em;
  font-size: 1em;
  background-color: #b9dff6;
  padding: 1.4em 6em;
  border: 2px solid #0092be;
  border-radius: 100vmax;
  transition: 0.5s ease-out;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container04__inner ul li .link_website {
    right: unset;
    bottom: unset;
    position: relative;
    padding: 0.8em 0;
    text-align: center;
    margin-top: 2vw;
  }
}
.container04__inner ul li .link_website::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2em;
  width: 1.4em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M3.15,21c-1.74,0-3.15-1.41-3.15-3.15V6.3c0-1.74,1.41-3.15,3.15-3.15h6.3c.58,0,1.05.47,1.05,1.05s-.47,1.05-1.05,1.05H3.15c-.58,0-1.05.47-1.05,1.05v11.55c0,.58.47,1.05,1.05,1.05h11.56c.58,0,1.05-.47,1.05-1.05v-6.3c0-.58.47-1.05,1.05-1.05s1.05.47,1.05,1.05v6.3c0,1.74-1.41,3.15-3.15,3.15H3.15ZM7.66,13.34c-.41-.41-.41-1.07,0-1.48,0,0,0,0,0,0L17.42,2.1h-3.77c-.58,0-1.05-.47-1.05-1.05S13.08,0,13.66,0h6.3c.17,0,.34.04.49.12h.02s.01.01.01.01h.03c.32.21.51.56.5.94v6.28c0,.58-.47,1.05-1.05,1.05s-1.05-.47-1.05-1.05h0v-3.76l-9.75,9.76c-.41.41-1.07.41-1.48,0,0,0,0,0,0,0h0Z" fill="%230092be"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  transition: 0.5 ease-out;
}
.container04__inner ul li .link_website span {
  font-size: max(12px, 1.25em);
  letter-spacing: 0.08em;
}
@media (hover: hover) {
  .container04__inner ul li .link_website:where(:any-link, :enabled, summary):hover {
    background-color: #0092be;
    transition: 0.3s ease-out;
    color: #f8f8f8;
  }
  .container04__inner ul li .link_website:where(:any-link, :enabled, summary):hover::after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M3.15,21c-1.74,0-3.15-1.41-3.15-3.15V6.3c0-1.74,1.41-3.15,3.15-3.15h6.3c.58,0,1.05.47,1.05,1.05s-.47,1.05-1.05,1.05H3.15c-.58,0-1.05.47-1.05,1.05v11.55c0,.58.47,1.05,1.05,1.05h11.56c.58,0,1.05-.47,1.05-1.05v-6.3c0-.58.47-1.05,1.05-1.05s1.05.47,1.05,1.05v6.3c0,1.74-1.41,3.15-3.15,3.15H3.15ZM7.66,13.34c-.41-.41-.41-1.07,0-1.48,0,0,0,0,0,0L17.42,2.1h-3.77c-.58,0-1.05-.47-1.05-1.05S13.08,0,13.66,0h6.3c.17,0,.34.04.49.12h.02s.01.01.01.01h.03c.32.21.51.56.5.94v6.28c0,.58-.47,1.05-1.05,1.05s-1.05-.47-1.05-1.05h0v-3.76l-9.75,9.76c-.41.41-1.07.41-1.48,0,0,0,0,0,0,0h0Z" fill="%23F8F8F8"/></svg>');
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    transition: 0.3s ease-out;
  }
}

/*==========================================================
 よくある質問
==========================================================*/
.container05 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 7em 2vw 5em;
  background-color: #fbf3e3;
}
.container05.await > article, .container05.await > ul, .container05.await > a {
  translate: 0 10em;
  transition: 0.5s ease;
  opacity: 0;
}
.container05.await.show > article, .container05.await.show > ul, .container05.await.show > a {
  opacity: 1;
  translate: 0;
  transition: 1.4s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container05 {
    padding: 5em 6vw 4em;
  }
}
.container05::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 41em;
  aspect-ratio: 1.956;
  background: url(../img/container_news_object01.svg) no-repeat left top/contain;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container05::before {
    width: 55vw;
  }
}
.container05::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 12.5em;
  aspect-ratio: 1;
  background: url(../img/container_news_object02.svg) no-repeat left top/contain;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container05::after {
    width: 18vw;
  }
}
.container05__inner {
  max-width: 82rem;
  display: flex;
  flex-direction: column;
  margin-top: 7em;
  gap: 1em 0;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container05__inner {
    margin-top: 3em;
  }
}
.container05__inner details[open] .icon {
  rotate: 180deg;
  transition: rotate 0.3s ease-out;
}
.container05__inner details {
  position: relative;
  font-size: 1em;
  background-color: #f8f8f8;
}
.container05__inner details.await {
  translate: 0 10em;
  transition: 0.5s ease;
  opacity: 0;
}
.container05__inner details.await.show {
  opacity: 1;
  translate: 0;
  transition: 1.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.container05__inner details summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}
.container05__inner details summary {
  position: relative;
  display: block;
  font-size: 1em;
  background-color: #0092be;
  color: #f8f8f8;
  padding: 1em 2em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container05__inner details summary {
    padding: 0.8em 1em;
  }
}
.container05__inner details summary .icon {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 2em;
  font-size: 1em;
  display: block;
  width: 1em;
  aspect-ratio: 1.15;
  background-color: #f8f8f8;
  z-index: 1;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  transition: rotate 0.3s ease-out;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container05__inner details summary .icon {
    right: 4vw;
    width: 3vw;
  }
}
.container05__inner details summary h3 {
  font-size: max(12px, 1.9375em);
  font-weight: 300;
  letter-spacing: 0.08em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container05__inner details summary h3 {
    font-size: max(12px, 1.125em);
    letter-spacing: 0.04em;
  }
}
.container05__inner details summary h3::before {
  content: "Q :";
  margin-right: 0.5em;
}
.container05__inner details .box_answer {
  position: relative;
  font-size: 1em;
  border-bottom: 1px solid #0092be;
  border-left: 1px solid #0092be;
  border-right: 1px solid #0092be;
}
.container05__inner details .box_answer::before {
  content: "A :";
  position: absolute;
  font-size: max(12px, 1.9375em);
  font-weight: 300;
  color: #0092be;
  top: 0.9em;
  left: 1.1em;
  letter-spacing: 0.08em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container05__inner details .box_answer::before {
    font-size: max(12px, 1.125em);
    left: 1em;
    top: 0.7em;
  }
}
.container05__inner details .box_answer p {
  font-size: max(12px, 1em);
  letter-spacing: 0.04em;
  line-height: 1.6em;
  padding: 1.8em 3em 2em 6em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container05__inner details .box_answer p {
    padding: 0.8em 1em 1em 3em;
  }
}
.container05__inner details .box_answer p a {
  color: #0092be;
  font-size: 1em;
  margin-right: 0.1em;
  border-bottom: 1px solid;
}

/*==========================================================
 参加校PR動画
==========================================================*/
.container055 {
  padding: 3em 2vw 5em;
  background-color: #b9dff6;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container055 {
    padding: 4em 6vw;
  }
}
.container055 .box_movie {
  position: relative;
  width: 100%;
  max-width: 80rem;
  aspect-ratio: 16/9;
  border: solid 1px #cecece;
  background-color: #6ba4bc;
  margin-top: 1em;
  font-size: inherit;
}
.container055 .box_movie::before {
  content: "Coming Soon...";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  color: #fff;
  font-size: max(12px, 1.25em);
}
.container055 .box_movie iframe {
  width: 100%;
  aspect-ratio: 1/0.5625;
}

/*==========================================================
 ユーザーズボイス
==========================================================*/
.container06 {
  background-color: #b9dff6;
  padding: 8em 2vw 5em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container06 {
    padding: 4em 6vw;
  }
}
.container06 hgroup span.en {
  text-transform: capitalize;
}
.container06 dl {
  position: relative;
  width: 100%;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  gap: 1.6em 0;
  max-width: 80rem;
  margin-top: 8em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container06 dl {
    margin-top: 4em;
  }
}
.container06 dl > div {
  position: relative;
  display: flex;
  font-size: 1em;
  gap: 0 3em;
  width: 100%;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container06 dl > div {
    gap: 0 6vw;
  }
}
.container06 dl > div.await {
  translate: 0 10em;
  transition: 0.5s ease;
  opacity: 0;
}
.container06 dl > div.await dt img {
  opacity: 0;
  scale: 0;
  transition: 0.4s ease-out;
}
.container06 dl > div.await.show dt img {
  opacity: 1;
  scale: 1;
  transition: 0.4s ease-out 0.6s;
}
.container06 dl > div.await.show {
  opacity: 1;
  translate: 0;
  transition: 1.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.container06 dl > div:nth-last-of-type(2n-1) {
  flex-direction: row-reverse;
}
.container06 dl > div:nth-last-of-type(2n-1) dd {
  box-shadow: -3px 3px 5px rgba(0, 146, 190, 0.2);
}
.container06 dl > div:nth-last-of-type(2n-1) dd::after {
  right: unset;
  left: 100%;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.container06 dl > div dt {
  display: block;
  position: relative;
  font-size: 1em;
  width: 10rem;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container06 dl > div dt {
    width: 25vw;
  }
}
.container06 dl > div dd {
  position: relative;
  background-color: #f8f8f8;
  font-size: 1em;
  padding: 2em;
  border-radius: 0.8em;
  flex-grow: 1;
  box-shadow: 3px 3px 5px rgba(0, 146, 190, 0.2);
}
@media (max-width: 480px) and (orientation: portrait) {
  .container06 dl > div dd {
    padding: 4vw;
  }
}
.container06 dl > div dd::after {
  content: "";
  top: 2em;
  position: absolute;
  right: 100%;
  width: 1.6em;
  aspect-ratio: 1.1;
  background-color: #f8f8f8;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.container06 dl > div dd p {
  font-size: max(12px, 1.25em);
  width: 100%;
  font-weight: 300;
  color: #080808;
  letter-spacing: 0.08em;
  text-align: justify;
  max-width: 30em;
  line-height: 1.6em;
}
@media (max-width: 480px) and (orientation: portrait) {
  .container06 dl > div dd p {
    font-size: max(12px, 1.125em);
  }
}
