@charset "UTF-8";
/*----------------------------------------
	fonts
----------------------------------------*/
/*----------------------------------------
	Vars
----------------------------------------*/
/*----------------------------------------
	Reset
----------------------------------------*/
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, small,
strike, strong, sub, sup, tt, var, b, u, i, center,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article,
aside, canvas, details, embed, figure, figcaption, footer,
header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  font: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  text-align: left;
  vertical-align: top;
}

img {
  border: none;
  vertical-align: top;
}

/*----------------------------------------
	Mediaquery
----------------------------------------*/
/*----------------------------------------
	fonts
----------------------------------------*/
/*----------------------------------------
	Base
----------------------------------------*/
html {
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  html {
    font-size: 15px;
  }
}

body {
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  background-color: #071928;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
  overflow-wrap: break-word;
}

picture, img {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  transition: opacity 0.4s ease;
}
a:link, a:visited {
  color: #ffffff;
}

a:hover {
  opacity: 0.7;
}

a[data-rel=external]:after {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5em;
  background: transparent url("../image/icon-external.png") no-repeat scroll center center;
  background-size: contain;
  margin-right: 0.5em;
}

/*----------------------------------------
	Setting
----------------------------------------*/
/* font family */
/*----------------------------------------
	Layout
----------------------------------------*/
.l-container {
  overflow: hidden;
}

.l-limit {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .l-limit {
    max-width: 1280px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 769px) {
  .l-limit--md {
    max-width: 1080px;
  }
}

.l-frame {
  width: 89.3333333333%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .l-frame {
    width: 89.0625%;
  }
}

@media screen and (min-width: 769px) {
  .l-column {
    display: flex;
    justify-content: space-between;
  }
}
.l-column-both {
  display: flex;
  justify-content: space-between;
}
.l-column--wrap {
  flex-wrap: wrap;
}
.l-column--reverse {
  flex-direction: row-reverse;
}

/*----------------------------------------
	Header
----------------------------------------*/
.l-header {
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px 2.6666666667%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .l-header {
    padding: 16px 1.25%;
  }
}
.l-header::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 114px;
  background: linear-gradient(180deg, rgba(7, 25, 40, 0.8) 0%, rgba(7, 25, 40, 0) 100%);
  background-blend-mode: multiply;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .l-header::before {
    height: 202px;
    background: linear-gradient(180deg, rgba(7, 25, 40, 0.8) 0%, rgba(7, 25, 40, 0) 100%);
  }
}
.l-headerLimit {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .l-headerLimit {
    display: flex;
    justify-content: space-between;
  }
}
.l-headerLogo {
  width: 272px;
}
@media screen and (min-width: 769px) {
  .l-headerLogo {
    width: 448px;
  }
}
.l-headerLogo img {
  image-rendering: -webkit-optimize-contrast; /* WebKit独自のアンチエイリアシング最適化 */
  shape-rendering: crispEdges; /* SVGの形状レンダリングをシャープに */
  text-rendering: geometricPrecision; /* テキストのレンダリング精度を向上 */
}
.l-headerButton {
  position: absolute;
  top: 0;
  right: 0;
  width: 57px;
  aspect-ratio: 1/1;
  background-color: #1C3040;
  border-radius: 0 0 0 100%;
}
@media screen and (min-width: 769px) {
  .l-headerButton {
    width: 91px;
    cursor: pointer;
  }
}
.l-headerButton span.bar {
  position: absolute;
  top: 22px;
  right: 12px;
  width: 24px;
  height: 2px;
  border-radius: 20px;
  background-color: #ffffff;
  transition: background-color 0.35s ease-out 0s;
}
@media screen and (min-width: 769px) {
  .l-headerButton span.bar {
    top: 36px;
    right: 20px;
    width: 34px;
    height: 2px;
  }
}
.l-headerButton span.bar::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -7px;
  right: 0;
  width: 24px;
  height: 2px;
  background-color: #ffffff;
  border-radius: 20px;
  transition: all 0.35s ease-out 0s;
}
@media screen and (min-width: 769px) {
  .l-headerButton span.bar::before {
    top: -8px;
    right: 0;
    width: 34px;
    height: 2px;
  }
}
.l-headerButton span.bar::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 7px;
  right: 0;
  width: 24px;
  height: 2px;
  background-color: #ffffff;
  border-radius: 20px;
  transition: all 0.35s ease-out 0s;
}
@media screen and (min-width: 769px) {
  .l-headerButton span.bar::after {
    top: 8px;
    right: 0;
    width: 34px;
    height: 2px;
  }
}
.l-headerButton span.bar.is-active {
  background-color: transparent;
}
.l-headerButton span.bar.is-active::before {
  top: 0;
  transform: rotate(45deg);
}
.l-headerButton span.bar.is-active::after {
  top: 0;
  transform: rotate(-45deg);
}
.l-headerButton span.motif {
  position: absolute;
  top: 6px;
  right: 4px;
  width: 13px;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  .l-headerButton span.motif {
    top: 18px;
    right: 12px;
    width: 14px;
  }
}
.l-headerButton span.motif::before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 4.77px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #005DAC;
  border: 3px solid #1C3040;
}
@media screen and (min-width: 769px) {
  .l-headerButton span.motif::before {
    width: 6.48px;
  }
}
.l-headerButton span.motif::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 2px;
  right: 1px;
  width: 2.21px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #FEBE10;
}
@media screen and (min-width: 769px) {
  .l-headerButton span.motif::after {
    top: 0;
    right: 0;
    width: 3px;
  }
}
.l-headerActions {
  display: none;
}
@media screen and (min-width: 769px) {
  .l-headerActions {
    display: block;
    margin-right: 84px;
  }
}
@media screen and (min-width: 769px) {
  .l-headerActions ul {
    display: flex;
    gap: 0 10px;
  }
}
.l-headerActions ul li a {
  position: relative;
  display: block;
  align-items: center;
  padding: 10px 23px 10px 44px;
  background-color: #005DAC;
  border-radius: 200px;
  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.3019607843);
}
.l-headerActions ul li a span {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 23.03px;
  color: #ffffff;
}
.l-headerActions ul li a img {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 19px;
}
.l-headerActions ul li a.apply img {
  width: 17px;
}
.l-headerActions ul li a.contact img {
  width: 22px;
}
.l-headerActions ul li a.tour img {
  width: 21px;
}

.l-globalNavi {
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: #071928;
  box-sizing: border-box;
}
.l-globalNavi__inner {
  width: 100%;
  height: 100%;
  padding: 104px 5.3333333333%;
  overflow-y: scroll;
  box-sizing: border-box;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
@media screen and (min-width: 769px) {
  .l-globalNavi__inner {
    width: 84.375%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 170px 0;
  }
}
.l-globalNavi__inner::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}
.l-globalNaviSidebar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 10px;
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviSidebar {
    display: none;
  }
}
.l-globalNaviSidebar ul {
  display: flex;
  gap: 0 10px;
}
.l-globalNaviSidebar ul li {
  width: 137px;
}
.l-globalNaviSidebar ul a, .l-globalNaviSidebar ul button {
  display: flex;
  align-items: center;
  gap: 0 8px;
  width: 100%;
  padding: 9px 0 9px 11px;
  border: none;
  min-height: 50px;
  background-color: #FEBE10;
  border-radius: 200px;
  box-sizing: border-box;
}
.l-globalNaviSidebar ul a span, .l-globalNaviSidebar ul button span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  aspect-ratio: 1/1;
  background-color: #ffffff;
  border-radius: 50%;
}
.l-globalNaviSidebar ul a p, .l-globalNaviSidebar ul button p {
  text-align: center;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 13px;
  color: #005DAC;
}
.l-globalNaviSidebar ul a.pp img, .l-globalNaviSidebar ul button.pp img {
  width: 19.76px;
}
.l-globalNaviSidebar ul a.donation img, .l-globalNaviSidebar ul button.donation img {
  width: 14px;
}
.l-globalNaviSidebar__world {
  width: 44px;
}
.l-globalNaviSidebar__world a, .l-globalNaviSidebar__world button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 38px;
  border-radius: 30px;
  background-color: #ffffff;
  border: none;
}
.l-globalNaviSidebar__world a img, .l-globalNaviSidebar__world button img {
  width: 17px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviWrapper {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .l-globalNaviWrapper__leftbox {
    width: 49.0740740741%;
  }
}
@media screen and (min-width: 769px) {
  .l-globalNaviWrapper__rightbox {
    width: 47.7777777778%;
  }
}
.l-globalNaviList {
  display: flex;
  flex-direction: column;
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 45px;
    gap: 0 36px;
  }
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__column {
    display: flex;
    flex-direction: column;
    gap: 23px 0;
    width: 100%;
    flex: 1;
  }
}
.l-globalNaviList__item {
  padding: 14px 0;
  border-top: 1px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item {
    padding: 0;
    border: none;
  }
}
.l-globalNaviList__item:last-of-type {
  border-bottom: 1px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item:last-of-type {
    border: none;
  }
}
.l-globalNaviList__item__heading {
  position: relative;
  display: block;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 100%;
  text-transform: capitalize;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__heading {
    padding-bottom: 12px;
    font-size: 22px;
    letter-spacing: 0em;
  }
}
.l-globalNaviList__item__heading::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 15px;
  height: 1px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__heading::before {
    display: none;
  }
}
.l-globalNaviList__item__heading::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7px;
  width: 1px;
  height: 15px;
  background-color: #ffffff;
  transition: transform 0.25s ease-out 0s;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__heading::after {
    display: none;
  }
}
.l-globalNaviList__item__heading.is-active::after {
  transform: translateY(-50%) rotate(-90deg);
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__heading:hover + .l-globalNaviList__item__pages::before {
    transform: scaleX(0);
    transform-origin: right;
  }
}
.l-globalNaviList__item__pages {
  display: none;
  padding: 20px 0 20px 10px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__pages {
    position: relative;
    display: block;
    padding: 17px 0;
  }
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__pages::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #ffffff;
    transform-origin: left;
    transform: scaleX(1);
    transition: transform 0.35s ease 0s;
  }
}
.l-globalNaviList__item__pages li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 16.25px;
  text-transform: capitalize;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__pages li {
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 100%;
    letter-spacing: 2%;
  }
}
.l-globalNaviList__item__pages li + li {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__pages li + li {
    margin-top: 14px;
  }
}
.l-globalNaviList__item__pages li a {
  position: relative;
  padding-left: 48px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__pages li a {
    padding-left: 0;
  }
}
.l-globalNaviList__item__pages li a::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 20px;
  width: 15px;
  height: 12px;
  background: transparent url(../image/common/arrow_header.svg) no-repeat scroll center center/cover;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__pages li a::before {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #ffffff none;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform 0.35s ease 0s;
  }
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__pages li a:hover::before {
    transform: scaleX(1);
    transform-origin: left;
  }
}
.l-globalNaviList__item__pages li.pageIndex {
  font-size: 17px;
  letter-spacing: 0.02em;
}
.l-globalNaviList__item__pages li.pageIndex a {
  padding-left: 30px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__pages li.pageIndex a {
    padding-left: 0;
  }
}
.l-globalNaviList__item__pages li.pageIndex a::before {
  top: 6px;
  left: 0;
}
@media screen and (min-width: 769px) {
  .l-globalNaviList__item__pages li.pageIndex a::before {
    top: auto;
  }
}
.l-globalNaviButtons {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviButtons {
    margin-bottom: 0;
  }
}
.l-globalNaviButtons ul {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media screen and (min-width: 769px) {
  .l-globalNaviButtons ul {
    flex-direction: row;
    justify-content: space-between;
    gap: 0 36px;
  }
}
.l-globalNaviButtons ul li {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .l-globalNaviButtons ul li {
    flex: 1;
  }
}
.l-globalNaviButtons ul li a {
  text-align: center;
  display: block;
  padding: 15px 0;
  border: 1px solid #ffffff;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 100%;
  text-transform: capitalize;
}
@media screen and (min-width: 769px) {
  .l-globalNaviButtons ul li a {
    padding: 17px 0;
    font-size: 17px;
    letter-spacing: 0em;
  }
}
.l-globalNaviCategories {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 0;
}
@media screen and (min-width: 769px) {
  .l-globalNaviCategories {
    gap: 24px 0;
  }
}
.l-globalNaviCategories__item {
  width: 46.8656716418%;
}
@media screen and (min-width: 769px) {
  .l-globalNaviCategories__item {
    width: 47.0930232558%;
  }
}
.l-globalNaviCategories__item a {
  display: block;
  position: relative;
  border-radius: 16.77px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .l-globalNaviCategories__item a {
    border-radius: 25.96px;
  }
}
.l-globalNaviCategories__item a::before {
  content: "";
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(11, 42, 72, 0) 31.24%, rgba(11, 42, 72, 0.458654) 66.37%, rgba(11, 42, 72, 0.9) 122.59%);
  pointer-events: none;
}
.l-globalNaviCategories__item__type {
  z-index: 1;
  position: absolute;
  top: 7px;
  right: 9px;
  padding: 3px 6px;
  color: #005DAC;
  background-color: #ffffff;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 8px;
  letter-spacing: 0.02em;
  line-height: 5.59px;
  border-radius: 20px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviCategories__item__type {
    top: 10.82px;
    right: 11.52px;
    font-size: 10px;
    letter-spacing: 0.02em;
  }
}
.l-globalNaviCategories__item .c-part-label {
  z-index: 1;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 7px 11px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviCategories__item .c-part-label {
    padding: 13.4px 17px;
  }
}
.l-globalNaviSocial {
  margin-top: 33px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviSocial {
    margin-top: 56px;
  }
}
.l-globalNaviSocial ul {
  display: flex;
  justify-content: center;
  gap: 0 10px;
}
@media screen and (min-width: 769px) {
  .l-globalNaviSocial ul {
    justify-content: flex-start;
  }
}
.l-globalNaviSocial ul li {
  width: 42px;
}

/*----------------------------------------
	Footer
----------------------------------------*/
.l-footerInfo {
  padding: 27px 5.3333333333% 50px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .l-footerInfo {
    padding: 64px 0;
  }
}
@media screen and (min-width: 769px) {
  .l-footerInfoLimit {
    display: flex;
    justify-content: space-between;
    width: 69.921875%;
    max-width: 895px;
    min-width: 686px;
    margin: 0 auto;
  }
}
.l-footerInfo * {
  color: #000000;
}
.l-footerInfoHead {
  margin-bottom: 38px;
}
@media screen and (min-width: 769px) {
  .l-footerInfoHead {
    width: 54.5758928571%;
    margin-bottom: 0;
  }
}
.l-footerInfoHead__logo {
  width: 100%;
  margin-bottom: 21px;
}
@media screen and (min-width: 769px) {
  .l-footerInfoHead__logo {
    margin-bottom: 9px;
  }
}
.l-footerInfoHead__table tr {
  display: flex;
}
.l-footerInfoHead__table tr + tr {
  margin-top: 9px;
}
@media screen and (min-width: 769px) {
  .l-footerInfoHead__table tr + tr {
    margin-top: 8px;
  }
}
.l-footerInfoHead__table tr th {
  width: 70px;
  color: #005DAC;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 22.5px;
  text-transform: capitalize;
}
.l-footerInfoHead__table tr td {
  display: flex;
  align-items: flex-start;
  gap: 0 11px;
  flex: 1;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 22.5px;
  text-transform: capitalize;
}
.l-footerInfoHead__table tr td p {
  flex: 1;
}
.l-footerInfoHead__table tr td a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 3px;
  width: 64px;
  padding: 7.5px 0;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0.02em;
  border-radius: 200px;
  line-height: 18px;
  text-transform: capitalize;
  color: #005DAC;
  border: 1px solid #005DAC;
}
@media screen and (min-width: 769px) {
  .l-footerInfoHead__table tr td a {
    gap: 0 4px;
    width: 77px;
    padding: 9px 0;
    font-size: 15px;
    letter-spacing: 0.02em;
  }
}
.l-footerInfoHead__table tr td a img {
  width: 8.8px;
}
@media screen and (min-width: 769px) {
  .l-footerInfoHead__table tr td a img {
    width: 11px;
  }
}
@media screen and (min-width: 769px) {
  .l-footerInfoLinks {
    width: 41.5178571429%;
    margin-top: 25px;
  }
}
.l-footerInfoLinks ul {
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}
.l-footerInfoLinks ul li {
  width: 100%;
}
.l-footerInfoLinks ul li a {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 11px 0;
  border-radius: 200px;
  background-color: #005DAC;
}
@media screen and (min-width: 769px) {
  .l-footerInfoLinks ul li a {
    padding: 14px 0;
  }
}
.l-footerInfoLinks ul li a img {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 30px;
}
@media screen and (min-width: 769px) {
  .l-footerInfoLinks ul li a img {
    left: 26px;
  }
}
@media screen and (min-width: 1000px) {
  .l-footerInfoLinks ul li a img {
    left: 40px;
  }
}
.l-footerInfoLinks ul li a.apply img {
  width: 28px;
}
@media screen and (min-width: 769px) {
  .l-footerInfoLinks ul li a.apply img {
    width: 35px;
  }
}
.l-footerInfoLinks ul li a.contact img {
  width: 32px;
}
@media screen and (min-width: 769px) {
  .l-footerInfoLinks ul li a.contact img {
    width: 40px;
  }
}
.l-footerInfoLinks ul li a.tour img {
  width: 48px;
}
@media screen and (min-width: 769px) {
  .l-footerInfoLinks ul li a.tour img {
    width: 50px;
  }
}
.l-footerInfoLinks ul li a span {
  color: #ffffff;
  font-size: 17px;
  letter-spacing: 0em;
  line-height: 40px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .l-footerInfoLinks ul li a span {
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 40px;
  }
}
.l-footerInfoLinks ul li a svg {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
}
@media screen and (min-width: 769px) {
  .l-footerInfoLinks ul li a svg {
    right: 30px;
  }
}
.l-footerGuide {
  padding: 18px 0;
  background-color: #FEBE10;
}
@media screen and (min-width: 769px) {
  .l-footerGuide {
    padding: 20px 0;
  }
}
.l-footerGuide ul {
  display: flex;
  justify-content: center;
  gap: 0 80px;
}
@media screen and (min-width: 769px) {
  .l-footerGuide ul {
    gap: 0 130px;
  }
}
.l-footerGuide ul li {
  width: -moz-max-content;
  width: max-content;
}
.l-footerGuide ul li a, .l-footerGuide ul li button {
  cursor: pointer;
  transition: opacity 0.3s ease 0s;
}
.l-footerGuide ul li a:hover, .l-footerGuide ul li button:hover {
  opacity: 0.6;
}
.l-footerGuide ul li a span, .l-footerGuide ul li button span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 46px;
  aspect-ratio: 1/1;
  margin: 0 auto;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .l-footerGuide ul li a span, .l-footerGuide ul li button span {
    width: 61px;
  }
}
.l-footerGuide ul li a.pp img, .l-footerGuide ul li button.pp img {
  width: 30px;
}
@media screen and (min-width: 769px) {
  .l-footerGuide ul li a.pp img, .l-footerGuide ul li button.pp img {
    width: 38px;
  }
}
.l-footerGuide ul li a.donation img, .l-footerGuide ul li button.donation img {
  width: 20.97px;
}
@media screen and (min-width: 769px) {
  .l-footerGuide ul li a.donation img, .l-footerGuide ul li button.donation img {
    width: 26px;
  }
}
.l-footerGuide ul li a p, .l-footerGuide ul li button p {
  text-align: center;
  margin-top: 6px;
  color: #005DAC;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 11.29px;
}
@media screen and (min-width: 769px) {
  .l-footerGuide ul li a p, .l-footerGuide ul li button p {
    margin-top: 7px;
    font-size: 14px;
    letter-spacing: 0em;
    line-height: 14px;
  }
}
.l-footerGuide ul li button {
  padding: 0;
  background-color: transparent;
  border: none;
}
.l-footerList {
  padding: 52px 5.3333333333% 40px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .l-footerList {
    padding: 88px 0 110px;
  }
}
.l-footerListLimit {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px 0;
}
@media screen and (min-width: 769px) {
  .l-footerListLimit {
    gap: 52px 0;
    width: 84.375%;
    max-width: 1080px;
    margin: 0 auto;
  }
}
.l-footerListItem {
  width: 46.8656716418%;
}
@media screen and (min-width: 769px) {
  .l-footerListItem {
    width: 22.5%;
  }
}
@media screen and (max-width: 768px) {
  .l-footerListItem:nth-of-type(7), .l-footerListItem:nth-of-type(8) {
    width: 100%;
  }
}
.l-footerListItem__heading {
  position: relative;
  display: block;
  padding-bottom: 11px;
  border-bottom: 1px solid #ffffff;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0em;
  line-height: 100%;
  text-transform: capitalize;
}
@media screen and (min-width: 769px) {
  .l-footerListItem__heading {
    padding-bottom: 12px;
    font-size: 22px;
    letter-spacing: 0em;
  }
}
.l-footerListItem__menu {
  padding-top: 10px;
}
@media screen and (min-width: 769px) {
  .l-footerListItem__menu {
    display: block;
    padding-top: 17px;
  }
}
.l-footerListItem__menu li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 100%;
  text-transform: capitalize;
}
@media screen and (min-width: 769px) {
  .l-footerListItem__menu li {
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 100%;
    letter-spacing: 2%;
  }
}
.l-footerListItem__menu li + li {
  margin-top: 8px;
}
@media screen and (min-width: 769px) {
  .l-footerListItem__menu li + li {
    margin-top: 12px;
  }
}
.l-footerListItem__menu li a {
  position: relative;
}
.l-footerListItem__buttons ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .l-footerListItem__buttons ul {
    flex-direction: column;
    justify-content: space-between;
    gap: 20px 0;
  }
}
.l-footerListItem__buttons ul li {
  width: 46.8656716418%;
}
@media screen and (min-width: 769px) {
  .l-footerListItem__buttons ul li {
    width: 100%;
  }
}
.l-footerListItem__buttons ul li a {
  text-align: center;
  display: block;
  padding: 15px 0;
  border: 1px solid #ffffff;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 100%;
  text-transform: capitalize;
}
@media screen and (min-width: 769px) {
  .l-footerListItem__buttons ul li a {
    padding: 17px 0;
    font-size: 17px;
    letter-spacing: 0em;
  }
}
.l-footerListItem__social ul {
  display: flex;
  justify-content: center;
  gap: 0 10px;
}
@media screen and (min-width: 769px) {
  .l-footerListItem__social ul {
    justify-content: flex-start;
  }
}
.l-footerListItem__social ul li {
  width: 42px;
}
.l-footerBottom {
  position: relative;
}
.l-footerBottom__images {
  position: relative;
}
.l-footerBottom__images__wrap {
  opacity: 0;
  transition: opacity 0.4s ease 0s;
}
.l-footerBottom__images__overlay {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.4s ease 0s;
}
.l-footerBottom__images__circles.left .c-circles {
  top: 50px;
  left: 23%;
}
@media screen and (min-width: 769px) {
  .l-footerBottom__images__circles.left .c-circles {
    top: 200px;
    left: 26%;
  }
}
.l-footerBottom__images__circles.right .c-circles {
  top: 20px;
  right: 10%;
}
@media screen and (min-width: 769px) {
  .l-footerBottom__images__circles.right .c-circles {
    top: 80px;
    right: 16%;
  }
}
.l-footerBottom__images .c-circles {
  z-index: 1;
  position: absolute;
  aspect-ratio: 136/106;
}
@media screen and (min-width: 769px) {
  .l-footerBottom__images .c-circles {
    width: 200px;
  }
}
@media screen and (min-width: 769px) {
  .l-footerBottom__images .c-circles__item--large {
    width: 130px;
  }
}
@media screen and (min-width: 769px) {
  .l-footerBottom__images .c-circles__item--small {
    width: 58.8px;
  }
}
.l-footerBottom__logo {
  z-index: 3;
  position: absolute;
  width: 115px;
  left: 2.6666666667%;
  bottom: 138px;
}
@media screen and (min-width: 769px) {
  .l-footerBottom__logo {
    width: 300px;
    left: 3.125%;
    bottom: 55px;
  }
}
.l-footerBottom__logo__only {
  animation: loopRorate 15s linear 0s infinite;
}
.l-footerBottom__logo__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 86px;
}
@media screen and (min-width: 769px) {
  .l-footerBottom__logo__inner {
    width: 225px;
  }
}
@keyframes loopRorate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.l-footerBottom__copyright {
  padding: 50px 0 88px;
}
@media screen and (min-width: 769px) {
  .l-footerBottom__copyright {
    position: relative;
    padding: 48px 0 45px;
  }
}
.l-footerBottom__copyright ul {
  display: flex;
  justify-content: center;
  margin-bottom: 11px;
}
@media screen and (min-width: 769px) {
  .l-footerBottom__copyright ul {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3.125%;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1280px) {
  .l-footerBottom__copyright ul {
    right: 7.8125%;
  }
}
.l-footerBottom__copyright ul li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 100%;
  text-transform: capitalize;
  border-left: 1px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .l-footerBottom__copyright ul li {
    font-size: 12px;
    letter-spacing: 0.02em;
  }
}
.l-footerBottom__copyright ul li:last-of-type {
  border-right: 1px solid #ffffff;
}
.l-footerBottom__copyright ul li a {
  display: block;
  padding: 2px 17px 3px;
}
.l-footerBottom__copyright small {
  text-align: center;
  display: block;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 10px;
  letter-spacing: 0.02em;
  line-height: 100%;
  text-transform: capitalize;
}
@media screen and (min-width: 769px) {
  .l-footerBottom__copyright small {
    font-size: 11px;
    letter-spacing: 0.02em;
  }
}

/*----------------------------------------
	Component
----------------------------------------*/
.c-h1 {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-h1 {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.c-button {
  max-width: 196px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-button {
    max-width: 275px;
  }
}
.c-button a {
  padding: 6px 12px 6px 20px;
  align-items: center;
  border: 2px solid #ffffff;
  border-radius: 200px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-button a {
    padding: 14px 18px 14px 26px;
  }
}
.c-button a .c-part-label__name {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 33px;
}
@media screen and (min-width: 769px) {
  .c-button a .c-part-label__name {
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 33px;
  }
}
.c-button a .c-part-label__motif {
  transform: translate(0);
}
.c-button--white a {
  padding: 6px 12px 6px 20px;
  background-color: #ffffff;
  color: #000000;
  border: none;
}
@media screen and (min-width: 769px) {
  .c-button--white a {
    padding: 14px 18px 14px 26px;
  }
}
.c-button--white a .c-part-label__motif line {
  stroke: #000000;
}
.c-button--white a .c-part-label__motif ellipse {
  fill: #000000;
}
.c-button--white a .c-part-label__motif path {
  stroke: #000000;
}
.c-button--lg {
  max-width: 335px;
}
@media screen and (min-width: 769px) {
  .c-button--lg {
    max-width: 389px;
  }
}
.c-button--lg a {
  padding: 14px 18px 14px 30px;
}
@media screen and (min-width: 769px) {
  .c-button--lg a {
    padding: 26px 18px 26px 30px;
  }
}
.c-button--lg a .c-part-label__name {
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 37.5px;
}
@media screen and (min-width: 769px) {
  .c-button--lg a .c-part-label__name {
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 37.5px;
  }
}
.c-button--label {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-button--label {
    grid-area: button;
    width: 88.3458646617%;
    max-width: 470px;
  }
}
.c-button--label a, .c-button--label .contact {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 11px 0;
  border-radius: 200px;
  background-color: #005DAC;
}
@media screen and (min-width: 769px) {
  .c-button--label a, .c-button--label .contact {
    padding: 18px 0;
  }
}
.c-button--label a img, .c-button--label .contact img {
  display: block;
  position: absolute;
  top: 46%;
  transform: translateY(-50%) rotate(-35deg);
  left: 20px;
}
@media screen and (min-width: 769px) {
  .c-button--label a img, .c-button--label .contact img {
    left: 30px;
  }
}
.c-button--label a.contact img, .c-button--label .contact.contact img {
  width: 30px;
  transform: translateY(-42%) rotate(0);
}
@media screen and (min-width: 769px) {
  .c-button--label a.contact img, .c-button--label .contact.contact img {
    width: 40px;
  }
}
.c-button--label a.tour img, .c-button--label .contact.tour img {
  width: 64px;
}
@media screen and (min-width: 769px) {
  .c-button--label a.tour img, .c-button--label .contact.tour img {
    width: 80px;
  }
}
.c-button--label a.heart img, .c-button--label .contact.heart img {
  width: 33px;
  top: 50%;
  transform: translateY(-50%) rotate(0);
}
@media screen and (min-width: 769px) {
  .c-button--label a.heart img, .c-button--label .contact.heart img {
    width: 48px;
  }
}
.c-button--label a span, .c-button--label .contact span {
  color: #ffffff;
  font-size: 17px;
  letter-spacing: 0em;
  line-height: 40px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .c-button--label a span, .c-button--label .contact span {
    font-size: 22px;
    letter-spacing: 0em;
    line-height: 40px;
  }
}
.c-button--label a svg, .c-button--label .contact svg {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
@media screen and (min-width: 769px) {
  .c-button--label a svg, .c-button--label .contact svg {
    right: 30px;
  }
}
.c-button--label.c-button--sm {
  margin: 0;
}
.c-button--label:has(+ .c-button--exclude) {
  margin-bottom: 16px !important;
}
@media screen and (min-width: 769px) {
  .c-button--label:has(+ .c-button--exclude) {
    margin-bottom: 20px !important;
  }
}
.c-button--blue {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-button--blue {
    grid-area: button;
    width: 88.3458646617%;
    max-width: 470px;
  }
}
.c-button--blue a {
  display: flex;
  justify-content: center;
  flex-direction: column;
  position: relative;
  padding: 14px 0 14px 26px;
  border-radius: 200px;
  background-color: #005DAC;
}
@media screen and (min-width: 769px) {
  .c-button--blue a {
    padding: 18px 0 18px 33px;
  }
}
.c-button--blue a span {
  display: block;
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0em;
}
@media screen and (min-width: 769px) {
  .c-button--blue a span {
    font-size: 14px;
    letter-spacing: 0em;
  }
}
.c-button--blue a span:has(+ strong) {
  margin-bottom: 6px;
}
.c-button--blue a strong {
  display: block;
  color: #ffffff;
  font-size: 18px;
  letter-spacing: 0em;
}
@media screen and (min-width: 1000px) {
  .c-button--blue a strong {
    font-size: 20px;
    letter-spacing: 0em;
  }
}
.c-button--blue a svg {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
@media screen and (min-width: 769px) {
  .c-button--blue a svg {
    right: 30px;
  }
}
.c-button--blue:has(+ .c-button--exclude) {
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .c-button--blue:has(+ .c-button--exclude) {
    margin-bottom: 11px;
  }
}
.c-button--full {
  width: 100%;
  max-width: initial;
}
.c-button--full a {
  padding: 12px 12px 12px 20px;
}
.c-button--full a .c-part-label__name {
  font-size: 14px;
  letter-spacing: 0.02em;
  font-size: 14px;
  line-height: 33px;
}
.c-button--exclude {
  max-width: 195px;
}
@media screen and (min-width: 769px) {
  .c-button--exclude {
    max-width: 195px;
  }
}
.c-button--exclude a {
  display: flex;
  justify-content: space-between;
  padding: 5px 16px 6px 16px;
  border: 2px solid #ffffff;
  border-radius: 200px;
  box-sizing: border-box;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 33px;
}
@media screen and (min-width: 769px) {
  .c-button--exclude a {
    padding: 5px 16px 6px 16px;
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 33px;
  }
}
.c-button--exclude a img {
  width: 17px;
}
.c-button--exclude a strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .c-button--exclude.c-button--center {
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

.c-section {
  margin-top: 60px;
  margin-bottom: 60px;
}
@media screen and (min-width: 769px) {
  .c-section {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

.c-sidebar {
  z-index: 9;
  position: fixed;
  top: 92px;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 11px 0;
}
@media screen and (min-width: 769px) {
  .c-sidebar {
    z-index: 21;
    top: 190px;
    gap: 7px 0;
  }
}
.c-sidebar__world {
  width: 33px;
  transition: opacity 0.3s ease 0s;
}
.c-sidebar__world a, .c-sidebar__world button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 34px;
  padding: 0;
  background-color: #ffffff;
  border-radius: 22px 0px 0px 22px;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
  border: none;
}
@media screen and (min-width: 769px) {
  .c-sidebar__world a, .c-sidebar__world button {
    cursor: pointer;
    transition: opacity 0.35s ease 0s;
  }
}
.c-sidebar__world a img, .c-sidebar__world button img {
  width: 17px;
}
@media screen and (min-width: 769px) {
  .c-sidebar__world a img, .c-sidebar__world button img {
    width: 17px;
    transform: translateX(3px);
  }
}
.c-sidebar__world a:hover, .c-sidebar__world button:hover {
  opacity: 0.6;
}
.c-sidebar__list {
  display: flex;
  flex-direction: column;
  gap: 1px 0;
}
.c-sidebar__list li {
  width: 40px;
  transition: opacity 0.3s ease 0s;
}
@media screen and (min-width: 769px) {
  .c-sidebar__list li {
    width: 50px;
  }
}
.c-sidebar__list li:nth-of-type(1) button, .c-sidebar__list li:nth-of-type(1) a {
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
  border-radius: 16px 0px 0px 0px;
}
@media screen and (min-width: 769px) {
  .c-sidebar__list li:nth-of-type(1) button, .c-sidebar__list li:nth-of-type(1) a {
    border-radius: 20px 0px 0px 0px;
  }
}
.c-sidebar__list li:nth-of-type(2) a {
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
  border-radius: 0 0px 0px 16px;
}
@media screen and (min-width: 769px) {
  .c-sidebar__list li:nth-of-type(2) a {
    border-radius: 0 0px 0px 20px;
  }
}
.c-sidebar__list a, .c-sidebar__list button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px 0;
  width: 100%;
  padding: 7px 0 13px;
  border: none;
  min-height: 50px;
  background-color: #FEBE10;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-sidebar__list a, .c-sidebar__list button {
    gap: 5px 0;
    padding: 10px 0 17px;
    transition: opacity 0.3s ease 0s;
    cursor: pointer;
  }
}
.c-sidebar__list a span, .c-sidebar__list button span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 27px;
  aspect-ratio: 1/1;
  background-color: #ffffff;
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  .c-sidebar__list a span, .c-sidebar__list button span {
    width: 34px;
  }
}
.c-sidebar__list a p, .c-sidebar__list button p {
  text-align: left;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.02em;
  line-height: 11px;
  color: #005DAC;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 769px) {
  .c-sidebar__list a p, .c-sidebar__list button p {
    font-size: 13px;
    letter-spacing: 0.02em;
    line-height: 14px;
  }
}
.c-sidebar__list a.pp img, .c-sidebar__list button.pp img {
  width: 16.8px;
}
@media screen and (min-width: 769px) {
  .c-sidebar__list a.pp img, .c-sidebar__list button.pp img {
    width: 21px;
  }
}
.c-sidebar__list a.donation img, .c-sidebar__list button.donation img {
  width: 12px;
}
@media screen and (min-width: 769px) {
  .c-sidebar__list a.donation img, .c-sidebar__list button.donation img {
    width: 15px;
  }
}
.c-sidebar__list a:hover, .c-sidebar__list button:hover {
  opacity: 0.6;
}
.c-sidebar.is-active .c-sidebar__world,
.c-sidebar.is-active .c-sidebar__list li:last-of-type {
  pointer-events: none;
  opacity: 0.1;
}
.c-sidebar.is-select .c-sidebar__list li {
  pointer-events: none;
  opacity: 0.8;
}
.c-sidebarLanguage {
  z-index: 22;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.9);
  opacity: 0;
  pointer-events: none;
}
.c-sidebarLanguage__close {
  position: absolute;
  top: 14px;
  right: 3.2%;
}
@media screen and (min-width: 769px) {
  .c-sidebarLanguage__close {
    display: none;
  }
}
.c-sidebarLanguage__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (min-width: 769px) {
  .c-sidebarLanguage__inner {
    gap: 0;
    top: 170px;
    right: 0;
    left: auto;
    transform: translate(0, 0);
  }
}
.c-sidebarLanguage__inner a {
  display: block;
  position: relative;
  padding: 15px 30px 16px 18px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 13px;
  color: #1067B1;
  background-color: #ffffff;
  border-radius: 12px;
}
@media screen and (min-width: 769px) {
  .c-sidebarLanguage__inner a {
    padding: 15px 30px 16px 18px;
    font-size: 14px;
    letter-spacing: 0.02em;
  }
}
.c-sidebarLanguage__inner a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 9px;
  width: 15px;
  aspect-ratio: 12/8.5;
  background: transparent url(../image/common/icon_check.svg) no-repeat scroll center center/cover;
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .c-sidebarLanguage__inner li:first-of-type a {
    border-radius: 18px 0px 0px 0px;
  }
}
@media screen and (min-width: 769px) {
  .c-sidebarLanguage__inner li:last-of-type a {
    border-radius: 0px 0px 0px 18px;
  }
}
.c-sidebarLanguage__inner li.is-disabled a {
  pointer-events: none;
  background-color: #EFEFEF;
}
.c-sidebarLanguage__inner li.is-disabled a::before {
  opacity: 1;
}
.c-sidebarMenu {
  z-index: 20;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.9);
  opacity: 0;
  pointer-events: none;
}
.c-sidebarMenu__close {
  position: absolute;
  top: 14px;
  right: 3.2%;
}
@media screen and (min-width: 769px) {
  .c-sidebarMenu__close {
    display: none;
  }
}
.c-sidebarMenu__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  width: -moz-max-content;
  width: max-content;
  padding: 0;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-sidebarMenu__inner {
    position: absolute;
    top: 212px;
    right: 66px;
    left: auto;
    transform: translate(0, 0);
    width: 257px;
    padding: 0;
  }
}
.c-sidebarMenu__inner li {
  text-align: center;
}
.c-sidebarMenu__inner li a {
  position: relative;
  display: block;
  min-width: 315px;
  padding: 17px 0 20px;
  background-color: #FEBE10;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 13px;
  color: #005DAC;
  border-radius: 200px;
}
@media screen and (min-width: 769px) {
  .c-sidebarMenu__inner li a {
    min-width: initial;
    font-family: "Noto Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-size: 13px;
    letter-spacing: 0.02em;
    line-height: 13px;
  }
}
.c-sidebarMenu__inner li a span {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 17px;
}
.c-sidebarMenu__inner li a.external img {
  width: 16px;
}
.c-sidebarMenu__inner li a.download img {
  width: 17px;
}

.news .c-sidebar__world a,
.news .c-sidebar__world button,
.news .l-globalNaviSidebar__world a,
.news .l-globalNaviSidebar__world button,
.post-type-archive-news .c-sidebar__world a,
.post-type-archive-news .c-sidebar__world button,
.post-type-archive-news .l-globalNaviSidebar__world a,
.post-type-archive-news .l-globalNaviSidebar__world button,
.single-news .c-sidebar__world a,
.single-news .c-sidebar__world button,
.single-news .l-globalNaviSidebar__world a,
.single-news .l-globalNaviSidebar__world button {
  position: relative;
  pointer-events: none;
}
.news .c-sidebar__world a::before,
.news .c-sidebar__world button::before,
.news .l-globalNaviSidebar__world a::before,
.news .l-globalNaviSidebar__world button::before,
.post-type-archive-news .c-sidebar__world a::before,
.post-type-archive-news .c-sidebar__world button::before,
.post-type-archive-news .l-globalNaviSidebar__world a::before,
.post-type-archive-news .l-globalNaviSidebar__world button::before,
.single-news .c-sidebar__world a::before,
.single-news .c-sidebar__world button::before,
.single-news .l-globalNaviSidebar__world a::before,
.single-news .l-globalNaviSidebar__world button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 22px 0px 0px 22px;
}

.c-bottombar {
  z-index: 10;
  position: fixed;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  width: 355px;
  background: #005DAC;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
  border-radius: 20px;
}
@media screen and (min-width: 769px) {
  .c-bottombar {
    display: none;
  }
}
.c-bottombar__list {
  position: relative;
  display: flex;
  align-items: flex-end;
}
.c-bottombar__list::before {
  content: "";
  position: absolute;
  top: 0;
  right: 33.3333333333%;
  width: 1px;
  height: 100%;
  background-color: #2076BD;
}
.c-bottombar__list::after {
  content: "";
  position: absolute;
  top: 0;
  right: 66.6666666667%;
  width: 1px;
  height: 100%;
  background-color: #2076BD;
}
.c-bottombar__list li {
  position: relative;
  width: 33.3333333333%;
}
.c-bottombar__list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  padding: 0 0 4px;
}
.c-bottombar__list li a.apply img {
  width: 17px;
  height: 20px;
  -o-object-fit: contain;
  object-fit: contain;
  transform: translateY(-3px);
}
.c-bottombar__list li a.contact img {
  width: 22px;
  height: 13px;
  -o-object-fit: contain;
  object-fit: contain;
  transform: translateY(-7px);
}
.c-bottombar__list li a.tour img {
  width: 26px;
  height: 38px;
  -o-object-fit: contain;
  object-fit: contain;
  transform: translateY(6px);
}
.c-bottombar__list li span {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.02em;
  line-height: 23px;
}
.c-bottombar__list li:last-of-type a {
  border: none;
}

.c-hero {
  padding-top: 135px;
}
@media screen and (min-width: 769px) {
  .c-hero {
    padding-top: 190px;
  }
}
.c-heroMain {
  z-index: 1;
  position: relative;
}
.c-heroMain__wrap {
  position: relative;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
.c-heroMain__wrap .c-circles {
  top: -42px;
  right: -66px;
}
@media screen and (min-width: 769px) {
  .c-heroMain__wrap .c-circles {
    top: -80px;
    right: -140px;
  }
}
.c-heroMain__heading {
  text-align: center;
  margin-bottom: 13px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  letter-spacing: 0em;
  line-height: 39px;
}
@media screen and (min-width: 769px) {
  .c-heroMain__heading {
    margin-bottom: 35px;
    font-size: 50px;
    letter-spacing: 0em;
    line-height: 65px;
  }
}
.c-heroMain__lead {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .c-heroMain__lead {
    font-size: 26px;
    letter-spacing: 0em;
    line-height: 39px;
  }
}
.c-heroMain__lead + .c-heroMain__text {
  margin-top: 39px;
}
.c-heroMain__text {
  padding: 0 5.3333333333%;
  box-sizing: border-box;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-heroMain__text {
    max-width: 708px;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-heroImage {
  margin-top: -10px;
}
@media screen and (min-width: 769px) {
  .c-heroImage {
    margin-top: -74px;
  }
}

.c-message {
  position: relative;
  padding: 55px 0 37px;
  background-color: #0C2438;
}
@media screen and (min-width: 769px) {
  .c-message {
    padding: 69px 0 67px;
  }
}
.c-message .c-circles {
  top: -30px !important;
  right: auto;
  left: 5.3333333333%;
}
@media screen and (min-width: 769px) {
  .c-message .c-circles {
    top: -10px !important;
    left: 14.333333%;
  }
}
.c-message__heading {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0em;
  line-height: 38px;
}
@media screen and (min-width: 769px) {
  .c-message__heading {
    font-size: 32px;
    letter-spacing: 0em;
    line-height: 54px;
  }
}
.c-message__subheading {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 54px;
}
@media screen and (min-width: 769px) {
  .c-message__subheading {
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 54px;
  }
}

.c-lead {
  padding: 60px 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-lead {
    margin: 0 auto;
    padding: 120px 0;
  }
}
.c-lead:has(+ .c-event) {
  padding-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .c-lead:has(+ .c-event) {
    padding-bottom: 55px;
  }
}
.c-lead__text {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-lead__text {
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 1.65;
    padding: 0 2%;
  }
}
@media screen and (min-width: 1000px) {
  .c-lead__text {
    font-size: 24px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
.c-lead__text em {
  color: #FEBE10;
}
.c-lead__text + * {
  margin-top: 24px;
}
.c-lead__detail {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-lead__detail {
    max-width: 708px;
    margin-right: auto;
    margin-left: auto;
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
.c-lead__detail strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.c-leadColumn {
  display: flex;
  flex-direction: column;
  margin-top: 32px;
  padding: 0 3.8805970149%;
}
@media screen and (min-width: 769px) {
  .c-leadColumn {
    flex-direction: row;
    margin-top: 100px;
    padding: 0;
  }
}
.c-leadColumnItem {
  padding: 40px 0;
  border-bottom: 1px solid #0C2438;
}
@media screen and (min-width: 769px) {
  .c-leadColumnItem {
    width: 33.3333333333%;
    padding: 0 40px;
    border-right: 1px solid #0C2438;
    border-bottom: none;
  }
}
@media screen and (min-width: 769px) {
  .c-leadColumnItem:first-of-type {
    padding-left: 0;
  }
}
.c-leadColumnItem:last-of-type {
  border: none;
}
@media screen and (max-width: 768px) {
  .c-leadColumnItem:last-of-type {
    padding: 40px 0 20px;
  }
}
@media screen and (min-width: 769px) {
  .c-leadColumnItem:last-of-type {
    padding-right: 0;
  }
}
.c-leadColumnItem__heading {
  text-align: center;
  margin-bottom: 15px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 27px;
  letter-spacing: 0em;
  line-height: 27px;
}
@media screen and (min-width: 769px) {
  .c-leadColumnItem__heading {
    font-size: 27px;
    letter-spacing: 0em;
    line-height: 27px;
  }
}
.c-leadColumnItem__heading span {
  display: block;
  margin-top: 11px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-leadColumnItem__heading span {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-leadColumnItem .c-button {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .c-leadColumnItem .c-button {
    margin-top: 30px;
  }
}

.c-part-label {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  box-sizing: border-box;
}
.c-part-label__name {
  flex: 1;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 17.47px;
}
@media screen and (min-width: 769px) {
  .c-part-label__name {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 19.2px;
  }
}
.c-part-label__motif {
  display: block;
  position: relative;
  width: 30px;
  height: 13px;
  transform: translateY(-3px);
}
@media screen and (min-width: 769px) {
  .c-part-label__motif {
    width: 34.61px;
    height: 15.14px;
  }
}
.c-part-label__motif line {
  display: block;
  stroke-width: 1px;
  stroke: #ffffff;
  transform-origin: left;
  transition: transform 0.35s ease-out 0s;
}
.c-part-label__motif path {
  stroke-width: 1px;
  stroke: #ffffff;
  fill: transparent;
  transition: fill 0.3s ease-out 0s;
}
.c-part-label__motif ellipse {
  display: block;
  fill: #ffffff;
}

[data-hover=label]:hover .c-part-label__motif line {
  transform: scaleX(0);
  transform-origin: right;
}
[data-hover=label]:hover .c-part-label__motif path {
  fill: #ffffff;
}

.c-part-arrow {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
}
.c-part-arrow__text {
  flex: 1;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 33px;
}
@media screen and (min-width: 769px) {
  .c-part-arrow__text {
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 33px;
  }
}
.c-part-arrow .arrow {
  display: block;
  position: relative;
  width: 14px;
  height: 14px;
  transform: translate(0, 1px);
}
@media screen and (min-width: 769px) {
  .c-part-arrow .arrow {
    transition: transform 0.3s ease-out 0s;
  }
}
.c-part-arrow .arrow path {
  fill: #ffffff;
  transition: fill 0.3s ease-out 0s;
}
.c-part-arrow .arrow-skew {
  display: block;
  position: relative;
  width: 14px;
  height: 14px;
  transform: translate(0, 1px);
}
@media screen and (min-width: 769px) {
  .c-part-arrow .arrow-skew {
    transition: transform 0.3s ease-out 0.15s;
  }
}
.c-part-arrow .arrow-skew path {
  fill: #ffffff;
  transition: fill 0.3s ease-out 0s;
}
.c-part-arrow .instagram {
  display: block;
  position: relative;
  width: 16px;
  height: 16px;
  transform: translate(0, 1px);
}
@media screen and (min-width: 769px) {
  .c-part-arrow .instagram {
    transition: transform 0.3s ease-out 0s;
  }
}
.c-part-arrow .instagram path {
  fill: #ffffff;
  transition: fill 0.3s ease-out 0s;
}

[data-hover=arrow]:hover {
  opacity: 1;
}
[data-hover=arrow]:hover .arrow {
  transform: translate(10px, 1px);
}
[data-hover=arrow]:hover .arrow-skew {
  transform: translate(0, 1px) scale(1.12);
}
[data-hover=arrow]:hover .instagram {
  transform: translate(0, 1px) scale(1.12);
}

.c-circles {
  position: absolute;
  width: 18.1333333333%;
  min-width: 68px;
  aspect-ratio: 68/53;
}
@media screen and (min-width: 769px) {
  .c-circles {
    width: 136px;
    aspect-ratio: 136/106;
  }
}
.c-circles__item--large {
  position: absolute;
  width: 64.7058823529%;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}
@media screen and (min-width: 769px) {
  .c-circles__item--large {
    width: 88px;
  }
}
.c-circles__item--small {
  position: absolute;
  width: 32.3529411765%;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../image/common/circle_yellow.svg);
  mask-image: url(../image/common/circle_yellow.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}
@media screen and (min-width: 769px) {
  .c-circles__item--small {
    width: 40px;
  }
}
.c-circles--1 .c-circles__item--large {
  top: 0;
  left: 0;
}
.c-circles--1 .c-circles__item--small {
  bottom: 0;
  right: 0;
}
.c-circles--2 .c-circles__item--large {
  top: 0;
  right: 0;
}
.c-circles--2 .c-circles__item--small {
  bottom: 0;
  left: 0;
}
.c-circles--3 .c-circles__item--large {
  bottom: 0;
  left: 0;
}
.c-circles--3 .c-circles__item--small {
  top: 0;
  right: 0;
}
.c-circles--4 .c-circles__item--large {
  bottom: 0;
  right: 0;
}
.c-circles--4 .c-circles__item--small {
  top: 0;
  left: 0;
}
.c-circles svg {
  display: block;
}
.c-circles--heading {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  bottom: auto;
  width: 6.6666666667%;
  aspect-ratio: 25/24;
  min-width: initial;
}
@media screen and (min-width: 769px) {
  .c-circles--heading {
    width: 42px;
    aspect-ratio: 42/40;
  }
}
.c-circles--heading .c-circles__item--large {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 84%;
}
@media screen and (min-width: 769px) {
  .c-circles--heading .c-circles__item--large {
    width: 35.7px;
  }
}
.c-circles--heading .c-circles__item--small {
  position: absolute;
  top: 0;
  right: 0;
  width: 36%;
}
@media screen and (min-width: 769px) {
  .c-circles--heading .c-circles__item--small {
    width: 15.6px;
  }
}

.c-group {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .c-group {
    flex-direction: row;
    max-width: 1280px;
    margin-right: auto;
    margin-left: auto;
  }
}
.c-group--color {
  background-color: #0C2438;
}
@media screen and (min-width: 769px) {
  .c-group--reverse {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 1280px) {
  .c-group--reverse .c-group__contents {
    padding: 0 9.609375% 0 0;
  }
}
@media screen and (max-width: 768px) {
  .c-group--frame {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 768px) {
  .c-group--frame:last-of-type {
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 768px) {
  .c-group--frame .c-group__image {
    padding: 0 5.3333333333%;
  }
}
@media screen and (min-width: 769px) {
  .c-group__image {
    width: 50%;
  }
}
.c-group__image picture, .c-group__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-group__contents {
  padding: 50px 5.3333333333% 70px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-group__contents {
    flex: 1;
    display: flex;
    justify-content: center;
    flex-direction: column;
    max-width: 540px;
    padding: 30px 4.8780487805%;
  }
}
@media screen and (min-width: 1000px) {
  .c-group__contents {
    padding: 30px 9.609375%;
  }
}
@media screen and (min-width: 1280px) {
  .c-group__contents {
    max-width: 540px;
    padding: 0 0 0 9.609375%;
    box-sizing: border-box;
  }
}
.c-group__contents__heading {
  margin-bottom: 18px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  letter-spacing: 0em;
  line-height: 44.8px;
}
@media screen and (min-width: 769px) {
  .c-group__contents__heading {
    margin-bottom: 34px;
    font-size: 30px;
    letter-spacing: 0em;
    line-height: 1.5;
  }
}
@media screen and (min-width: 1000px) {
  .c-group__contents__heading {
    font-size: 34px;
    letter-spacing: 0em;
  }
}
.c-group__contents__text {
  margin-bottom: 22px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-group__contents__text {
    margin-bottom: 30px;
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 1.7;
  }
}
@media screen and (min-width: 1000px) {
  .c-group__contents__text {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
.c-group__contents .c-button {
  margin: 0;
}

.c-overview {
  display: flex;
  flex-direction: column;
  background-color: #0C2438;
}
@media screen and (min-width: 769px) {
  .c-overview {
    flex-direction: row;
    align-items: center;
  }
}
@media screen and (min-width: 769px) {
  .c-overview__image {
    width: 50%;
  }
}
.c-overview__contents {
  padding: 17px 5.3333333333% 28px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-overview__contents {
    flex: 1;
    padding: 0 7.8125% 0 8.671875%;
  }
}
.c-overview__contents__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-overview__contents__text {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
.c-overview__contents__text strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.c-navigation {
  padding: 40px 5.3333333333% 60px;
  box-sizing: border-box;
  background-color: #0C2438;
}
@media screen and (min-width: 769px) {
  .c-navigation {
    padding: 103px 7.8125% 120px;
  }
}
.c-navigation--buttons {
  padding: 60px 5.3333333333%;
}
@media screen and (min-width: 769px) {
  .c-navigation--buttons {
    padding: 110px 7.8125%;
  }
}
.c-navigation .c-circles {
  top: -20px !important;
  right: 9.6% !important;
}
@media screen and (min-width: 769px) {
  .c-navigation .c-circles {
    top: 10px !important;
    right: 11.328125% !important;
  }
}
.c-navigation__heading {
  text-align: center;
  margin-bottom: 23px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  letter-spacing: 0em;
  line-height: 32px;
}
@media screen and (min-width: 769px) {
  .c-navigation__heading {
    text-align: left;
    margin-bottom: 43px;
    font-size: 32px;
    letter-spacing: 0.02em;
    line-height: 24px;
  }
}
.c-navigation__detail {
  text-align: center;
  margin-bottom: 18px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 22px;
  letter-spacing: 0em;
  line-height: 35px;
}
@media screen and (min-width: 769px) {
  .c-navigation__detail {
    margin-bottom: 34px;
    font-size: 34px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
@media screen and (min-width: 1000px) {
  .c-navigation__detail {
    margin-bottom: 40px;
    font-size: 40px;
    letter-spacing: 0em;
  }
}
.c-navigation__text {
  margin-bottom: 26px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 23px;
}
@media screen and (min-width: 769px) {
  .c-navigation__text {
    max-width: 708px;
    margin: 0 auto 60px;
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
.c-navigationCategories {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 0;
}
@media screen and (min-width: 769px) {
  .c-navigationCategories {
    justify-content: center;
    gap: 30px 2.7777777778%;
  }
}
.c-navigationCategories__item {
  width: 46.8656716418%;
}
@media screen and (min-width: 769px) {
  .c-navigationCategories__item {
    width: 31.4814814815%;
  }
}
.c-navigationCategories__item a {
  display: block;
  position: relative;
  border-radius: 16.77px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-navigationCategories__item a {
    border-radius: 25.96px;
  }
}
.c-navigationCategories__item a::before {
  content: "";
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(11, 42, 72, 0) 31.24%, rgba(11, 42, 72, 0.458654) 66.37%, rgba(11, 42, 72, 0.9) 122.59%);
  pointer-events: none;
}
.c-navigationCategories__item__type {
  z-index: 1;
  position: absolute;
  top: 7px;
  right: 9px;
  padding: 3px 6px;
  color: #005DAC;
  background-color: #ffffff;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 8px;
  letter-spacing: 0.02em;
  line-height: 5.59px;
  border-radius: 20px;
}
@media screen and (min-width: 769px) {
  .c-navigationCategories__item__type {
    top: 15px;
    right: 16px;
    padding: 3px 8px;
    font-size: 11px;
    letter-spacing: 0.02em;
    line-height: 12px;
  }
}
.c-navigationCategories__item .c-part-label {
  z-index: 1;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 7px 11px;
}
@media screen and (min-width: 769px) {
  .c-navigationCategories__item .c-part-label {
    padding: 16px 24px 15px;
  }
}
@media screen and (min-width: 769px) {
  .c-navigationCategories__item .c-part-label__name {
    font-size: 24px;
    letter-spacing: 0em;
    line-height: 38px;
  }
}
@media screen and (min-width: 769px) {
  .c-navigationCategories__item .c-part-label__motif {
    width: 48px;
    height: 21px;
    transform: translateY(-6px);
  }
}

.c-buttonsSection {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 0;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection {
    gap: 26px 0;
  }
}
@media screen and (min-width: 769px) {
  .c-buttonsSection::after {
    content: "";
    display: block;
    width: 31.1111111111%;
  }
}
.c-buttonsSection .c-button {
  width: 48.9795918367%;
  max-width: initial;
  margin: 0;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection .c-button {
    width: 31.1111111111%;
  }
}
.c-buttonsSection .c-button a {
  min-height: 60px;
  padding: 6px 12px;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection .c-button a {
    min-height: 90px;
    padding: 14px 18px 14px 26px;
    border-radius: 200px;
  }
}
.c-buttonsSection .c-button .c-part-label__name {
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 18px;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection .c-button .c-part-label__name {
    font-size: 15px;
    letter-spacing: 0em;
    line-height: 22.5px;
  }
}
.c-buttonsSection--center {
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection--center {
    flex-direction: row;
    justify-content: center;
    gap: 10px 30px;
  }
}
@media screen and (min-width: 769px) {
  .c-buttonsSection--center::after {
    display: none;
  }
}
.c-buttonsSection--center .c-button {
  width: 100%;
  max-width: 330px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection--center .c-button {
    max-width: 336px;
    margin: 0;
  }
}
.c-buttonsSection--full {
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection--full {
    justify-content: space-between;
    flex-direction: row;
    max-width: 1080px;
    margin: 0 auto;
  }
}
.c-buttonsSection--full .c-button {
  width: 100%;
  max-width: 335px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection--full .c-button {
    width: 31.1111111111%;
    max-width: initial;
    margin: 0;
  }
}
.c-buttonsSection--full .c-button a {
  padding: 13px 16px 13px 30px;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection--full .c-button a {
    padding: 26px 16px 26px 30px;
  }
}
.c-buttonsSection--full .c-button .c-part-label__name {
  font-size: 14px;
  letter-spacing: 0em;
}
@media screen and (min-width: 769px) {
  .c-buttonsSection--full .c-button .c-part-label__name {
    font-size: 20px;
    letter-spacing: 0em;
  }
}
.c-buttonsSection--full .c-button .c-part-label__motif {
  width: 48px;
  height: 21px;
}
.c-buttonsSection--white a {
  color: #000000;
  background-color: #ffffff;
}
.c-buttonsSection--white .c-part-label__motif line {
  stroke: #000000;
}
.c-buttonsSection--white .c-part-label__motif ellipse {
  fill: #000000;
}
.c-buttonsSection--white .c-part-label__motif path {
  stroke: #000000;
}

.c-saturday-school {
  padding: 42px 5.3333333333%;
  background: transparent url(../image/about/bg_about02.jpg) no-repeat scroll center center/cover;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-saturday-school {
    padding: 146px 7.8125%;
  }
}
.c-saturday-school__wrap {
  position: relative;
  padding: 37px 10.7462686567% 40px;
  border: 1px solid #ffffff;
  border-top: none;
}
@media screen and (min-width: 769px) {
  .c-saturday-school__wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 36px;
    max-width: 1080px;
    margin: 0 auto;
    padding: 60px 8.5185185185%;
    box-sizing: border-box;
  }
}
.c-saturday-school__wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 11.9402985075%;
  height: 1px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .c-saturday-school__wrap::before {
    width: calc(50% - 150px);
  }
}
.c-saturday-school__wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 11.9402985075%;
  height: 1px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .c-saturday-school__wrap::after {
    width: calc(50% - 150px);
  }
}
.c-saturday-school__wrap__heading {
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -8px;
  width: 100%;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  letter-spacing: 0em;
  line-height: 19px;
}
@media screen and (min-width: 769px) {
  .c-saturday-school__wrap__heading {
    top: -16px;
    font-size: 32px;
    letter-spacing: 0em;
    line-height: 35px;
  }
}
.c-saturday-school__wrap__text {
  text-align: center;
  margin-bottom: 20px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-saturday-school__wrap__text {
    flex: 1;
    text-align: left;
    margin-bottom: 0;
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 36px;
  }
}
@media screen and (min-width: 1000px) {
  .c-saturday-school__wrap__text {
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 40px;
  }
}
@media screen and (min-width: 769px) {
  .c-saturday-school__wrap .c-button {
    width: 240px;
  }
}
@media screen and (min-width: 1000px) {
  .c-saturday-school__wrap .c-button {
    width: 275px;
  }
}

.c-mask-image {
  z-index: 1;
  position: absolute;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}
.c-mask-color {
  z-index: 1;
  position: absolute;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}

.c-fiContents {
  opacity: 0;
  transform: translateY(20px);
}

.c-background {
  background-color: #071928;
}
.c-background--color {
  background-color: #0C2438;
}

.c-pageLinks {
  display: flex;
  flex-direction: column;
  gap: 10px 0;
  margin: 40px 0;
  padding: 0 5.3333333333%;
}
@media screen and (min-width: 769px) {
  .c-pageLinks {
    padding: 0 3%;
    flex-direction: row;
    width: 84.375%;
    max-width: 1080px;
    margin: 57px auto 70px;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageLinks {
    padding: 0 5.3333333333%;
  }
}
.c-pageLinksItem {
  border: 1px solid #ffffff;
  border-radius: 200px;
  display: flex;
  align-items: center;
}
.c-pageLinksItem a {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  padding: 13px 50px 13px 30px;
}
@media screen and (min-width: 769px) {
  .c-pageLinksItem a {
    padding: 12px 34px 12px 30px;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageLinksItem a {
    padding: 12px 54px 12px 40px;
  }
}
.c-pageLinksItem a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 21px;
  width: 15px;
  height: 28px;
  background: transparent url(../image/common/arrow_page.svg) no-repeat scroll center center/cover;
}
@media screen and (min-width: 769px) {
  .c-pageLinksItem a::before {
    right: 13px;
    width: 11.6px;
    height: 22px;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageLinksItem a::before {
    right: 21px;
    width: 15px;
    height: 28px;
  }
}
.c-pageLinksItem__heading {
  flex: 1;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-pageLinksItem__heading {
    font-size: 17px;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageLinksItem__heading {
    font-size: 20px;
    letter-spacing: 0em;
  }
}
.c-pageLinksItem__heading span {
  display: block;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 1.25;
}
@media screen and (min-width: 769px) {
  .c-pageLinksItem__heading span {
    font-size: 10px;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageLinksItem__heading span {
    font-size: 14px;
    letter-spacing: 0em;
  }
}
.c-pageLinksItem__image {
  width: 88px;
}
@media screen and (min-width: 769px) {
  .c-pageLinksItem__image {
    width: 17.8571428571%;
    min-width: 60px;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageLinksItem__image {
    width: 26.1904761905%;
    min-width: 88px;
  }
}
@media screen and (min-width: 769px) {
  .c-pageLinks--3col {
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .c-pageLinks--3col .c-pageLinksItem {
    width: 31.1111111111%;
  }
}
@media screen and (min-width: 769px) {
  .c-pageLinks--4col {
    justify-content: center;
    flex-wrap: wrap;
    gap: 23px 20px;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageLinks--4col {
    gap: 23px 38px;
  }
}
@media screen and (min-width: 769px) {
  .c-pageLinks--4col .c-pageLinksItem {
    width: 39.7222222222%;
    min-width: 312px;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageLinks--4col .c-pageLinksItem {
    min-width: 386px;
  }
}

.c-detail {
  width: 89.3333333333%;
  margin: 0 auto;
  border: 1px solid #ffffff;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-detail {
    width: 84.375%;
    max-width: 1080px;
    margin: 0 auto;
  }
}
.c-detail + .c-detail {
  margin-top: 22px;
}
@media screen and (min-width: 769px) {
  .c-detail + .c-detail {
    margin-top: 80px;
  }
}
.c-detail:last-of-type {
  margin-bottom: 74px;
}
@media screen and (min-width: 769px) {
  .c-detail:last-of-type {
    margin-bottom: 102px;
  }
}
.c-detailHeading {
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .c-detailHeading {
    margin-bottom: 82px;
  }
}
.c-detailHeading__background {
  z-index: -1;
  position: relative;
  width: 213.1343283582%;
  margin-left: -56.5%;
}
@media screen and (min-width: 769px) {
  .c-detailHeading__background {
    width: 100%;
    margin-left: 0;
  }
}
.c-detailHeading__background::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 105.79px;
  left: 0;
  bottom: -2px;
  background: linear-gradient(180deg, #071928 5.35%, rgba(7, 25, 40, 0.63) 50.67%, rgba(7, 25, 40, 0) 89.12%);
  transform: rotate(180deg);
}
@media screen and (min-width: 769px) {
  .c-detailHeading__background::before {
    height: 160px;
    background: linear-gradient(180deg, #071928 5.35%, rgba(7, 25, 40, 0.63) 50.67%, rgba(7, 25, 40, 0) 89.12%);
    transform: rotate(180deg);
  }
}
.c-detailHeading__main {
  position: relative;
  text-align: center;
  margin-top: -90px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0em;
  line-height: 42px;
}
@media screen and (min-width: 769px) {
  .c-detailHeading__main {
    margin-top: -13%;
    font-family: "Libre Baskerville", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 37px;
    letter-spacing: 0em;
    line-height: 48px;
  }
}
.c-detailHeading__main span {
  display: block;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  font-size: 16px;
  line-height: 26px;
}
@media screen and (min-width: 769px) {
  .c-detailHeading__main span {
    margin-top: 17px;
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 40px;
  }
}
.c-detailOverview {
  padding: 0 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-detailOverview {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 8.7962962963% 56px;
  }
}
.c-detailOverviewContents {
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents {
    width: 47.9775280899%;
    margin-bottom: 0;
  }
}
.c-detailOverviewContents__heading {
  display: flex;
  align-items: flex-start;
  gap: 0 8px;
}
.c-detailOverviewContents__heading .c-circles--heading {
  transform: translateY(5px);
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__heading .c-circles--heading {
    transform: translateY(-6px);
  }
}
.c-detailOverviewContents__heading h3 {
  flex: 1;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0em;
  line-height: 33px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__heading h3 {
    font-size: 24px;
    letter-spacing: 0em;
    line-height: 33px;
  }
}
.c-detailOverviewContents__heading + .c-detailOverviewContents__text, .c-detailOverviewContents__heading + .c-detailOverviewContents__list, .c-detailOverviewContents__heading + .c-detailExpandBlockTable, .c-detailOverviewContents__heading + .c-detailExpandBlock__frame {
  margin-top: 12px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__heading + .c-detailOverviewContents__text, .c-detailOverviewContents__heading + .c-detailOverviewContents__list, .c-detailOverviewContents__heading + .c-detailExpandBlockTable, .c-detailOverviewContents__heading + .c-detailExpandBlock__frame {
    margin-top: 24px;
  }
}
.c-detailOverviewContents__text {
  margin-bottom: 20px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__text {
    margin-bottom: 40px;
    font-size: 15px;
    letter-spacing: 0em;
    line-height: 1.5;
  }
}
@media screen and (min-width: 1000px) {
  .c-detailOverviewContents__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-detailOverviewContents__text + .c-detailOverviewContents__heading {
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__text + .c-detailOverviewContents__heading {
    margin-top: 70px;
  }
}
.c-detailOverviewContents__text + p.c-detailOverviewContents__text {
  margin-top: 26px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__text + p.c-detailOverviewContents__text {
    margin-top: 32px;
  }
}
.c-detailOverviewContents__text:has(+ .c-detailOverviewContents__list), .c-detailOverviewContents__text:has(+ .c-detailOverviewContents__number) {
  margin-bottom: 14px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__text:has(+ .c-detailOverviewContents__list), .c-detailOverviewContents__text:has(+ .c-detailOverviewContents__number) {
    margin-bottom: 14px;
  }
}
.c-detailOverviewContents__text span {
  display: block;
  margin: 20px 0;
  padding: 16px 15px 24px 21px;
  background-color: #0C2438;
  box-sizing: border-box;
  border-radius: 10px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__text span {
    margin: 30px 0 36px;
    padding: 29px 20px 38px 44px;
    border-radius: 16px;
  }
}
.c-detailOverviewContents__text strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.c-detailOverviewContents__memo {
  margin-bottom: 12px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 23px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__memo {
    margin-bottom: 16px;
    font-size: 12px;
    letter-spacing: 0em;
    line-height: 21px;
  }
}
.c-detailOverviewContents__memo:has(+ .c-button--exclude, + .c-button--blue) {
  margin-bottom: 40px;
}
.c-detailOverviewContents__table {
  display: block;
  padding: 21px;
  background-color: #0C2438;
  box-sizing: border-box;
  border-radius: 20px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__table {
    padding: 23px 32px 26px;
  }
}
.c-detailOverviewContents__table tr {
  display: flex;
  align-items: flex-start;
  gap: 0 12px;
}
.c-detailOverviewContents__table tr + tr {
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__table tr + tr {
    margin-top: 12px;
  }
}
.c-detailOverviewContents__table tr th {
  width: 18px;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__table tr th {
    width: 22px;
  }
}
.c-detailOverviewContents__table tr th picture, .c-detailOverviewContents__table tr th img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.c-detailOverviewContents__table tr td {
  flex: 1;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.01em;
  line-height: 18.2px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__table tr td {
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 19.6px;
  }
}
.c-detailOverviewContents__list {
  list-style: disc;
  display: flex;
  flex-direction: column;
  gap: 4px 0;
  padding-left: 1.1em;
}
.c-detailOverviewContents__list li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 23px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__list li {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-detailOverviewContents__list + * {
  margin-top: 26px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__list + * {
    margin-top: 32px;
  }
}
.c-detailOverviewContents__number {
  list-style: decimal;
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  padding-left: 1.1em;
}
.c-detailOverviewContents__number li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 23px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__number li {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-detailOverviewContents__number + * {
  margin-top: 26px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewContents__number + * {
    margin-top: 32px;
  }
}
.c-detailOverviewSlider {
  position: relative;
  padding-bottom: 66px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewSlider {
    width: 48.202247191%;
    padding-bottom: 28px;
  }
}
.c-detailOverviewSlider .swiper-pagination {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: auto !important;
  left: 50% !important;
  bottom: 30px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 11px;
  width: -moz-max-content;
  width: max-content;
  height: 18px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewSlider .swiper-pagination {
    bottom: 0 !important;
  }
}
.c-detailOverviewSlider .swiper-pagination-bullet {
  position: relative;
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 !important;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 0.2;
  transition: all 0.25s ease-out 0s;
}
.c-detailOverviewSlider .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  aspect-ratio: 1/1;
  border: 2px solid #ffffff;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.25s ease-out 0s;
}
.c-detailOverviewSlider .swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(0.6);
}
.c-detailOverviewSlider .swiper-pagination-bullet-active::before {
  opacity: 1;
}
.c-detailOverviewImage {
  position: relative;
  padding-bottom: 66px;
}
@media screen and (min-width: 769px) {
  .c-detailOverviewImage {
    width: 48.202247191%;
    padding-bottom: 28px;
  }
}
@media screen and (min-width: 769px) {
  .c-detailOverviewImage--sticky {
    position: sticky;
    top: 90px;
  }
}
.c-detailExpand {
  display: none;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .c-detailExpand {
    margin-top: 50px;
  }
}
.c-detailExpand--open {
  display: block;
}
.c-detailExpandBlock {
  padding: 0 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock {
    padding: 0 8.7962962963%;
  }
}
.c-detailExpandBlock + .c-detailExpandBlock {
  margin-top: 72px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock + .c-detailExpandBlock {
    margin-top: 100px;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock:last-of-type {
    padding-bottom: 56px;
  }
}
.c-detailExpandBlock__head {
  display: flex;
  justify-content: center;
}
.c-detailExpandBlock__head h3 {
  position: relative;
  text-align: center;
  margin-bottom: 23px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 32px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock__head h3 {
    margin-bottom: 44px;
    padding-left: 44px;
    font-size: 24px;
    letter-spacing: 0em;
    line-height: 33px;
  }
}
.c-detailExpandBlock__head h3 span {
  position: relative;
}
.c-detailExpandBlock__head h3 span::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -40px;
  width: 30px;
  aspect-ratio: 30/28;
  background: transparent url(../image/common/motif.svg) no-repeat scroll center center/cover;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock__head h3 span::before {
    width: 42px;
    top: -10px;
    left: -49px;
  }
}
.c-detailExpandBlock__frame {
  padding: 18px;
  background-color: #17354D;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock__frame {
    padding: 24px 30px;
  }
}
.c-detailExpandBlock__frame__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.01em;
  line-height: 21px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock__frame__text {
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 22.5px;
  }
}
.c-detailExpandBlock__frame__text:has(+ *) {
  margin-bottom: 14px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock__frame__text:has(+ *) {
    margin-bottom: 15px;
  }
}
.c-detailExpandBlock__frame__list {
  padding-left: 14px;
  list-style: none;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock__frame__list {
    padding-left: 18px;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock__frame__list + .c-detailExpandBlockMemo {
    text-align: center;
  }
}
.c-detailExpandBlock__frame__list li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.01em;
  line-height: 21px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock__frame__list li {
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 22.5px;
  }
}
.c-detailExpandBlock__frame__list li::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #ffffff;
  transform: translate(-10px, -3px);
}
.c-detailExpandBlockColumn {
  display: flex;
  flex-direction: column-reverse;
  gap: 30px 0;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockColumn {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockColumn__image {
    width: 48.202247191%;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockColumn__contents {
    width: 48.0898876404%;
  }
}
.c-detailExpandBlockColumn__contents p {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 23px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockColumn__contents p {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 24px;
  }
}
.c-detailExpandBlockColumn__contents p + * {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockColumn__contents p + * {
    margin-top: 33px;
  }
}
.c-detailExpandBlockColumn__contents p a {
  display: inline;
  text-decoration: underline;
  transition: all 0.35s ease 0s;
}
.c-detailExpandBlockColumn__contents p a::after {
  content: "";
  display: inline-block;
  margin-left: 4px;
  width: 13px;
  aspect-ratio: 1/1;
  background: transparent url(../image/common/icon_external_w.svg) no-repeat scroll center center/cover;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockColumn__contents p a:hover {
    text-decoration: none;
  }
}
.c-detailExpandBlockColumn__contents h4 {
  display: inline-block;
  margin-bottom: 14px;
  padding-bottom: 9px;
  border-bottom: 1px solid #ffffff;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0em;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockColumn__contents h4 {
    margin-bottom: 24px;
    font-size: 15px;
    letter-spacing: 0em;
    line-height: 24px;
  }
}
.c-detailExpandBlockColumn__contents ul {
  list-style: disc;
  padding-left: 1.1rem;
}
.c-detailExpandBlockColumn__contents ul li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 23px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockColumn__contents ul li {
    font-size: 14px;
    letter-spacing: 0em;
    line-height: 22px;
  }
}
.c-detailExpandBlockColumn__contents ul li + li {
  margin-top: 2px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockColumn__contents ul li + li {
    margin-top: 6px;
  }
}
.c-detailExpandBlockItems {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 2px 0;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems {
    flex-direction: row;
    gap: 1px;
  }
}
.c-detailExpandBlockItems__wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 16px;
  padding: 16px 6.4516129032%;
  background-color: #0C2438;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems__wrap {
    flex: 1;
    flex-direction: column;
    gap: 10px 0;
    padding: 18px 0 26px;
  }
}
.c-detailExpandBlockItems__wrap:first-of-type {
  border-radius: 20px 20px 0 0;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems__wrap:first-of-type {
    border-radius: 30px 0 0 30px;
  }
}
.c-detailExpandBlockItems__wrap:last-of-type {
  border-radius: 0 0 20px 20px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems__wrap:last-of-type {
    border-radius: 0 30px 30px 0;
  }
}
.c-detailExpandBlockItems__wrap img {
  width: 40px;
  height: 40px;
  -o-object-fit: contain;
  object-fit: contain;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems__wrap img {
    width: 50px;
    height: 50px;
  }
}
.c-detailExpandBlockItems__wrap p:not(.c-detailExpandBlockItems__wrap__heading,
.c-detailExpandBlockItems__wrap__text) {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 21px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems__wrap p:not(.c-detailExpandBlockItems__wrap__heading,
  .c-detailExpandBlockItems__wrap__text) {
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 21px;
  }
}
.c-detailExpandBlockItems__wrap__heading {
  text-align: center;
  width: 100%;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems__wrap__heading {
    font-size: 22px;
    letter-spacing: 0em;
    line-height: 1.6;
  }
}
.c-detailExpandBlockItems__wrap__heading:has(+ .c-detailExpandBlockItems__wrap__text) {
  margin-bottom: 8px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems__wrap__heading:has(+ .c-detailExpandBlockItems__wrap__text) {
    margin-bottom: 2px;
  }
}
.c-detailExpandBlockItems__wrap__text {
  text-align: center;
  width: 100%;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems__wrap__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 1.6;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems--5set {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems--5set .c-detailExpandBlockItems__wrap {
    flex: none;
    width: calc(33.3333333333% - 1px);
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems--5set .c-detailExpandBlockItems__wrap:nth-of-type(1) {
    border-radius: 30px 0 0 30px;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems--5set .c-detailExpandBlockItems__wrap:nth-of-type(2) {
    border-radius: 0;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems--5set .c-detailExpandBlockItems__wrap:nth-of-type(3) {
    border-radius: 0 30px 30px 0;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems--5set .c-detailExpandBlockItems__wrap:nth-of-type(4) {
    border-radius: 0 0 0 30px;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems--5set .c-detailExpandBlockItems__wrap:nth-of-type(5) {
    border-radius: 0 0 30px 0;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems--center .c-detailExpandBlockItems__wrap {
    justify-content: center;
    gap: 4px 0;
  }
}
.c-detailExpandBlockClasses {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px 3.3898305085%;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockClasses {
    justify-content: space-between;
    gap: 0;
  }
}
.c-detailExpandBlockClasses__item {
  position: relative;
  width: 48.1355932203%;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockClasses__item {
    width: 30.4494382022%;
  }
}
.c-detailExpandBlockClasses__item__image {
  position: relative;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
}
.c-detailExpandBlockClasses__item__image::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 38px;
  background-color: #0C2438;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockClasses__item__image::before {
    height: 84px;
  }
}
.c-detailExpandBlockClasses__item__image picture, .c-detailExpandBlockClasses__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-detailExpandBlockClasses__item__text {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockClasses__item__text {
    bottom: 36px;
  }
}
.c-detailExpandBlockClasses__item__text p {
  text-align: center;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.01em;
  font-size: 13px;
  line-height: 18px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockClasses__item__text p {
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 21px;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockSample {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockSample .c-detailOverviewSlider {
    width: 47.9775280899%;
    margin-bottom: 0;
  }
}
.c-detailExpandBlockSample__schedule {
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockSample__schedule {
    width: 42.6966292135%;
    margin-bottom: 0;
  }
}
.c-detailExpandBlockSample__schedule table {
  display: block;
  position: relative;
  margin-bottom: 20px;
  padding-left: 23px;
  box-sizing: border-box;
}
.c-detailExpandBlockSample__schedule table tr {
  display: flex;
  position: relative;
}
.c-detailExpandBlockSample__schedule table tr::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -23px;
  width: 11px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ffffff;
}
.c-detailExpandBlockSample__schedule table tr::after {
  content: "";
  position: absolute;
  top: 6px;
  left: -18.6px;
  width: 2px;
  height: calc(100% + 24px);
  background-color: #ffffff;
}
.c-detailExpandBlockSample__schedule table tr:last-of-type::after {
  display: none;
}
.c-detailExpandBlockSample__schedule table tr + tr {
  margin-top: 17px;
}
.c-detailExpandBlockSample__schedule table tr th, .c-detailExpandBlockSample__schedule table tr td {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 21px;
}
.c-detailExpandBlockSample__schedule table tr th {
  width: 120px;
}
.c-detailExpandBlockSample__schedule table tr td {
  flex: 1;
}
.c-detailExpandBlockPrograms {
  display: flex;
  flex-direction: column;
  width: 89.1525423729%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockPrograms {
    flex-direction: row;
    width: 100%;
    margin: 0;
  }
}
.c-detailExpandBlockPrograms__item {
  padding: 25px 0;
  border-bottom: 1px solid #0C2438;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockPrograms__item {
    width: 33.3333333333%;
    padding: 0;
    border-bottom: none;
    border-right: 1px solid #0C2438;
  }
}
.c-detailExpandBlockPrograms__item:last-of-type {
  border-bottom: none;
}
.c-detailExpandBlockPrograms__item h4 {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 22px;
}
.c-detailExpandBlockPrograms__item picture {
  padding: 10px 0;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockPrograms__item picture {
    padding: 20px 0;
  }
}
.c-detailExpandBlockPrograms__item picture, .c-detailExpandBlockPrograms__item img {
  display: block;
  width: 88%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockPrograms__item picture, .c-detailExpandBlockPrograms__item img {
    width: 88%;
  }
}
.c-detailExpandBlockPrograms__item p {
  text-align: center;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.01em;
  line-height: 20px;
}
.c-detailExpandBlockTable {
  display: flex;
  gap: 1px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockTable {
    gap: 0;
  }
}
.c-detailExpandBlockTable + .c-detailExpandBlockTable {
  margin-top: 1px;
}
.c-detailExpandBlockTable__heading {
  width: 124px;
  padding: 10px 14px;
  box-sizing: border-box;
  background-color: #0A2133;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.01em;
  line-height: 18px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockTable__heading {
    width: 232px;
    padding: 23px 26px;
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 21px;
  }
}
.c-detailExpandBlockTable__wrap {
  flex: 1;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockTable__wrap {
    display: flex;
  }
}
.c-detailExpandBlockTable__wrap__contents {
  padding: 10px 14px 20px 14px;
  box-sizing: border-box;
  background-color: #17354D;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.01em;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockTable__wrap__contents {
    padding: 23px 30px;
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 22px;
  }
}
.c-detailExpandBlockTable__wrap__contents__detail {
  display: flex;
  align-items: flex-start;
  gap: 0 13px;
  margin-top: 14px;
}
.c-detailExpandBlockTable__wrap__contents__detail img {
  width: 17px;
  transform: translateY(2px);
}
.c-detailExpandBlockTable__wrap__contents__detail span {
  flex: 1;
  display: block;
}
.c-detailExpandBlockMemo {
  margin: 17px 0 24px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.01em;
  line-height: 21px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockMemo {
    margin: 12px 0 65px;
    font-size: 14px;
    letter-spacing: 0.01em;
    line-height: 28px;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock .c-detailOverviewContents__heading {
    justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlock .c-detailOverviewContents__heading h3 {
    flex: none;
  }
}
.c-detailSwitch {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 12px;
  width: 92.5373134328%;
  margin: 0 auto;
  padding: 27px 0 32px;
}
@media screen and (min-width: 769px) {
  .c-detailSwitch {
    cursor: pointer;
    width: 82.4074074074%;
    transition: opacity 0.35s ease 0s;
  }
}
@media screen and (min-width: 769px) {
  .c-detailSwitch:hover {
    opacity: 0.6;
  }
}
.c-detailSwitch::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  transition: opacity 0.3s ease 0s;
}
.c-detailSwitch p {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.02em;
}
.c-detailSwitch span {
  display: block;
  position: relative;
  width: 20px;
  height: 20px;
  border: 2px solid #ffffff;
  border-radius: 50%;
}
.c-detailSwitch span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 2px;
  background-color: #ffffff;
}
.c-detailSwitch span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 10px;
  background-color: #ffffff;
}
.c-detailSwitch.is-active span::after {
  opacity: 0;
}
.c-detailSwitch.is-active::before {
  opacity: 0;
}
.c-detail .c-button--label {
  max-width: 295px;
  margin: 0 auto;
  padding-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .c-detail .c-button--label {
    max-width: 429px;
    padding-bottom: 80px;
  }
}

.c-detailExpandBlockItems .icon01 {
  width: 33.4px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon01 {
    width: 50px;
  }
}
.c-detailExpandBlockItems .icon02 {
  width: 34px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon02 {
    width: 41px;
  }
}
.c-detailExpandBlockItems .icon03 {
  width: 28.3px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon03 {
    width: 33px;
  }
}
.c-detailExpandBlockItems .icon04 {
  width: 40.9px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon04 {
    width: 54px;
  }
}
.c-detailExpandBlockItems .icon05 {
  width: 42px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon05 {
    width: 44px;
  }
}
.c-detailExpandBlockItems .icon06 {
  width: 34px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon06 {
    width: 50px;
  }
}
.c-detailExpandBlockItems .icon07 {
  width: 32.7px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon07 {
    width: 48px;
  }
}
.c-detailExpandBlockItems .icon08 {
  width: 26px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon08 {
    width: 28.9px;
  }
}
.c-detailExpandBlockItems .icon09 {
  width: 31px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon09 {
    width: 39px;
  }
}
.c-detailExpandBlockItems .icon10 {
  width: 30.7px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon10 {
    width: 36px;
  }
}
.c-detailExpandBlockItems .icon11 {
  width: 34px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon11 {
    width: 44px;
  }
}
.c-detailExpandBlockItems .icon12 {
  width: 30px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon12 {
    width: 38px;
  }
}
.c-detailExpandBlockItems .icon13 {
  width: 44.7px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon13 {
    width: 65px;
  }
}
.c-detailExpandBlockItems .icon14 {
  width: 30px;
}
@media screen and (min-width: 769px) {
  .c-detailExpandBlockItems .icon14 {
    width: 34px;
  }
}

.c-summary {
  position: relative;
  padding-top: 102px;
}
@media screen and (min-width: 769px) {
  .c-summary {
    padding-top: 110px;
  }
}
.c-summary:last-of-type {
  margin-bottom: 80px;
}
@media screen and (min-width: 769px) {
  .c-summary:last-of-type {
    margin-bottom: 110px;
  }
}
.c-summary .l-limit {
  z-index: 1;
  position: relative;
}
.c-summary + .c-summary {
  padding-top: 115px;
}
@media screen and (min-width: 769px) {
  .c-summary + .c-summary {
    padding-top: 140px;
  }
}
.c-summary--bottom {
  margin-bottom: 0 !important;
  padding-top: 58px !important;
}
@media screen and (min-width: 769px) {
  .c-summary--bottom {
    margin-bottom: 0 !important;
    padding-top: 179px !important;
  }
}
.c-summaryContents {
  margin-bottom: 30px;
  padding: 0 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-summaryContents {
    width: 69.609375%;
    margin: 0 auto 80px;
    padding: 0;
  }
}
.c-summaryContents__wrap {
  z-index: 2;
  position: relative;
}
@media screen and (min-width: 769px) {
  .c-summaryContents__wrap {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 890px;
    margin: 0 auto;
  }
}
.c-summaryContents__heading {
  position: relative;
  text-align: center;
  margin-bottom: 14px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0em;
  line-height: 38px;
}
@media screen and (min-width: 769px) {
  .c-summaryContents__heading {
    font-size: 34px;
    letter-spacing: 0em;
    line-height: 1.65;
  }
}
@media screen and (min-width: 1000px) {
  .c-summaryContents__heading {
    margin-bottom: 1em;
    font-size: 40px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
.c-summaryContents__heading:has(+ .c-summaryContents__subheading) {
  margin-bottom: -8px;
}
@media screen and (min-width: 769px) {
  .c-summaryContents__heading:has(+ .c-summaryContents__subheading) {
    margin-bottom: -6px;
  }
}
.c-summaryContents__subheading {
  position: relative;
  text-align: center;
  margin-bottom: 14px;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 54px;
}
@media screen and (min-width: 769px) {
  .c-summaryContents__subheading {
    margin-bottom: 54px;
    font-size: 30px;
    letter-spacing: 0em;
    line-height: 54px;
  }
}
.c-summaryContents__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-summaryContents__text {
    width: 79.4612794613%;
    margin: 0 auto;
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
.c-summaryContents__text strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.c-summaryContents__text a {
  text-decoration: underline;
}
.c-summaryContents__text a:hover {
  text-decoration: none;
}
.c-summaryContents:has(+ .c-summary__picture) {
  margin-bottom: 14px;
}
@media screen and (min-width: 769px) {
  .c-summaryContents:has(+ .c-summary__picture) {
    margin-bottom: 50px;
  }
}
.c-summary__slide {
  position: relative;
  padding: 0 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-summary__slide {
    width: 69.84375%;
    max-width: 894;
    margin: 0 auto 30px;
    padding: 0;
  }
}
.c-summary__slide .swiper-slide {
  opacity: 0;
  transition: opacity 0.35s ease-in 0s;
}
.c-summary__slide .swiper-slide-active {
  opacity: 1;
}
.c-summary__slide .swiper-pagination {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: auto !important;
  left: 50% !important;
  bottom: -36px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 11px;
  width: -moz-max-content;
  width: max-content;
  height: 18px;
}
.c-summary__slide .swiper-pagination-bullet {
  position: relative;
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 !important;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 0.2;
  transition: all 0.25s ease-out 0s;
}
.c-summary__slide .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  aspect-ratio: 1/1;
  border: 2px solid #ffffff;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.25s ease-out 0s;
}
.c-summary__slide .swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(0.6);
}
.c-summary__slide .swiper-pagination-bullet-active::before {
  opacity: 1;
}
.c-summary__image {
  z-index: -1;
  position: relative;
  width: 152%;
  margin-left: -26%;
}
@media screen and (min-width: 769px) {
  .c-summary__image {
    width: 100%;
    margin: -70px 0 0 0;
  }
}
.c-summary__picture {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-summary__picture {
    width: 100%;
    max-width: 894px;
    margin-right: auto;
    margin-left: auto;
  }
}
.c-summary__graph {
  position: relative;
  margin-bottom: 54px;
  padding: 0 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-summary__graph {
    width: 69.84375%;
    max-width: 894px;
    margin: 0 auto 100px;
    padding: 0;
  }
}
.c-summary__message {
  text-align: center;
  width: 89.3333333333%;
  margin: 1px auto 0;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .c-summary__message {
    width: 84.375%;
    max-width: 1080px;
    font-size: 36px;
    letter-spacing: 0em;
    line-height: 54px;
  }
}
.c-summary__message + .c-summary__image {
  margin-top: -50px;
}
@media screen and (min-width: 769px) {
  .c-summary__message + .c-summary__image {
    margin-top: -60px;
  }
}

.c-register {
  padding: 55px 5.3333333333% 97px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-register {
    padding: 96px 0 103px;
  }
}
.c-register__text {
  text-align: center;
  margin-bottom: 40px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 32px;
}
@media screen and (min-width: 769px) {
  .c-register__text {
    margin-bottom: 25px;
    font-size: 25px;
    letter-spacing: 0em;
    line-height: 54px;
  }
}
.c-register .c-button--label {
  max-width: 335px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-register .c-button--label {
    max-width: 429px;
  }
}

.c-gridEqual {
  display: flex;
  flex-wrap: wrap;
}
.c-gridEqualItem {
  position: relative;
  width: 50%;
  aspect-ratio: 1/1;
  display: block;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-gridEqualItem {
    width: 33.3333333333%;
  }
}
.c-gridEqualItem__background {
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  .c-gridEqualItem__background {
    transition: transform 0.5s ease-out 0s;
  }
}
.c-gridEqualItem__background picture, .c-gridEqualItem__background img {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-gridEqualItem__contents {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.c-gridEqualItem__contents__heading {
  text-align: center;
  margin-bottom: 11px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 30px;
}
@media screen and (min-width: 769px) {
  .c-gridEqualItem__contents__heading {
    font-size: 24px;
    letter-spacing: 0em;
    line-height: 48px;
  }
}
.c-gridEqualItem__contents__heading span {
  display: block;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 19.5px;
}
@media screen and (min-width: 769px) {
  .c-gridEqualItem__contents__heading span {
    margin-top: -10px;
    margin-bottom: 20px;
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 20px;
  }
}
.c-gridEqualItem__contents__text {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .c-gridEqualItem__contents__text {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}

.c-table {
  width: 89.3333333333%;
  margin: 0 auto;
  padding: 0 5.3333333333%;
}
@media screen and (min-width: 769px) {
  .c-table {
    width: 84.375%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0;
  }
}
.c-table tr {
  display: flex;
  flex-wrap: wrap;
}
.c-table tr + tr {
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .c-table tr + tr {
    margin-top: 1px;
  }
}
.c-table tr th {
  text-align: center;
  width: 100%;
  padding: 12px 0 15px;
  background-color: #0A2133;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 32px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-table tr th {
    text-align: left;
    width: 25.8333333333%;
    padding: 37px 10px 37px 51px;
    font-size: 25px;
    letter-spacing: 0em;
    line-height: 32px;
  }
}
.c-table tr td {
  width: 100%;
  padding: 21px 14px 35px;
  background-color: #112C42;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-table tr td {
    width: 74.1666666667%;
    padding: 37px 36px;
  }
}
.c-table tr td > * + * {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .c-table tr td > * + * {
    margin-top: 28px;
  }
}
.c-table tr td ul {
  list-style: disc;
  display: flex;
  flex-direction: column;
  gap: 10px 0;
  padding-left: 1.1em;
}
.c-table tr td ul li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 21px;
}
@media screen and (min-width: 769px) {
  .c-table tr td ul li {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 24px;
  }
}
.c-table tr td ul li strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.c-table tr td ol {
  list-style: decimal;
  display: flex;
  flex-direction: column;
  gap: 10px 0;
  padding-left: 1.1em;
}
.c-table tr td ol li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 21px;
}
@media screen and (min-width: 769px) {
  .c-table tr td ol li {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 24px;
  }
}
.c-table tr td ol li strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.c-table tr td p {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0em;
  line-height: 17.6px;
}
@media screen and (min-width: 769px) {
  .c-table tr td p {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 24px;
  }
}
.c-table tr td p strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.c-listFrame {
  position: relative;
  width: 89.3333333333%;
  margin: 0 auto;
  border: 1px solid #DBDBDB;
}
@media screen and (min-width: 769px) {
  .c-listFrame {
    width: 84.375%;
    max-width: 1080px;
    min-width: 680px;
    margin: 0 auto;
  }
}
.c-listFrame__heading {
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -17px;
  width: -moz-max-content;
  width: max-content;
  padding: 0 15px;
  background-color: #071928;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 22px;
  letter-spacing: 0em;
  line-height: 35px;
}
@media screen and (min-width: 769px) {
  .c-listFrame__heading {
    top: -17px;
    width: -moz-max-content;
    width: max-content;
    padding: 0 25px;
    font-size: 32px;
    letter-spacing: 0em;
    line-height: 35px;
  }
}
.c-listFrameColumn {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .c-listFrameColumn {
    flex-direction: row;
  }
}
.c-listFrameColumn__item {
  padding: 31px 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-listFrameColumn__item {
    width: 50%;
    padding: 55px 20px;
  }
}
.c-listFrameColumn__item:first-of-type {
  position: relative;
}
.c-listFrameColumn__item:first-of-type::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 89.3333333333%;
  height: 1px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .c-listFrameColumn__item:first-of-type::before {
    top: 50%;
    left: 100%;
    transform: translate(0, -50%);
    width: 1px;
    height: calc(100% - 90px);
  }
}
@media screen and (min-width: 769px) {
  .c-listFrameColumn__inner {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.c-listFrameColumn__inner__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 12px;
  margin-bottom: 6px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 48px;
}
@media screen and (min-width: 769px) {
  .c-listFrameColumn__inner__heading {
    gap: 0 13px;
    margin-bottom: 11px;
    font-size: 24px;
    letter-spacing: 0em;
  }
}
.c-listFrameColumn__inner__heading img {
  width: 18px;
}
@media screen and (min-width: 769px) {
  .c-listFrameColumn__inner__heading img {
    width: 22px;
  }
}
.c-listFrameColumn__inner__title {
  margin-bottom: 16px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.01em;
  line-height: 22.4px;
}
@media screen and (min-width: 769px) {
  .c-listFrameColumn__inner__title {
    text-align: center;
    margin-bottom: 17px;
    font-size: 17px;
    letter-spacing: 0em;
    line-height: 23.8px;
  }
}
.c-listFrameColumn__inner__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.01em;
  line-height: 22.5px;
}
@media screen and (min-width: 769px) {
  .c-listFrameColumn__inner__text {
    font-size: 15px;
    letter-spacing: 0em;
    line-height: 22.5px;
  }
}
.c-listFrameColumn__inner ul {
  list-style: disc;
  padding-left: 1.1em;
}
.c-listFrameColumn__inner ul li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.01em;
  line-height: 22.5px;
}
@media screen and (min-width: 769px) {
  .c-listFrameColumn__inner ul li {
    font-size: 15px;
    letter-spacing: 0em;
    line-height: 22.5px;
  }
}
.c-listFrameInfo {
  padding: 31px 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-listFrameInfo {
    display: flex;
    gap: 0 56px;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 60px 20px;
  }
}
.c-listFrameInfo__title {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-listFrameInfo__title {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-listFrameInfo__title strong {
  display: block;
  margin-top: 12px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
}
@media screen and (min-width: 769px) {
  .c-listFrameInfo__title strong {
    margin-top: 6px;
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-listFrameInfo__contents {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-listFrameInfo__contents {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 30px;
  }
}
.c-listFrameMemo {
  width: 89.3333333333%;
  margin: 10px auto 0;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.01em;
  line-height: 18px;
}
@media screen and (min-width: 769px) {
  .c-listFrameMemo {
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
    margin: 20px auto 0;
    font-size: 14px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}

@media screen and (min-width: 769px) {
  .c-listFrame--md {
    width: 69.84375%;
    max-width: 894px;
    min-width: 680px;
    margin: 0 auto;
  }
}
.c-listFrame--md .c-listFrameColumn__inner__text {
  font-size: 15px;
  letter-spacing: 0em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-listFrame--md .c-listFrameColumn__inner__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}

.c-pageAnchor {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px 0;
  width: 89.3333333333%;
  margin: 0 auto 42px;
}
@media screen and (min-width: 769px) {
  .c-pageAnchor {
    width: 84.375%;
    min-width: 760px;
    max-width: 1080px;
    margin: 0 auto 51px;
    flex-direction: row;
    align-items: center;
  }
}
.c-pageAnchorItem {
  position: relative;
  background-color: #0C2438;
  border-radius: 200px;
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem {
    width: 15.7407407407%;
    aspect-ratio: 1/1;
  }
}
.c-pageAnchorItem a {
  display: block;
  padding: 32px 0 25px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem a {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
}
.c-pageAnchorItem__number {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -12px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 26px;
  letter-spacing: 0em;
  line-height: 1;
  color: #FEBE10;
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem__number {
    top: -10px;
    font-size: 34px;
    letter-spacing: 0em;
  }
}
.c-pageAnchorItem__text {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0em;
  line-height: 22px;
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem__text {
    font-size: 14px;
    letter-spacing: 0em;
    padding: 0px 4px;
    box-sizing: border-box;
    width: 100%;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageAnchorItem__text {
    font-size: 15px;
    letter-spacing: 0em;
  }
}
.c-pageAnchorItem .c-button--label {
  max-width: 253px;
  margin: 8px auto 0;
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem .c-button--label .contact {
    padding: 5px 0;
  }
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem .c-button--label img {
    left: 22px !important;
    width: 27px !important;
  }
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem .c-button--label span {
    font-size: 14px;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem .c-button--label svg {
    right: 18px !important;
  }
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem:first-of-type {
    width: 28.1524926686%;
  }
}
@media screen and (min-width: 1000px) {
  .c-pageAnchorItem:first-of-type {
    width: 21.2037037037%;
  }
}
.c-pageAnchorItem:first-of-type a {
  padding: 12px 0 21px;
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem:first-of-type a {
    flex-direction: column;
  }
}
.c-pageAnchorItem:first-of-type .c-pageAnchorItem__text {
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem:first-of-type .c-pageAnchorItem__text {
    margin-bottom: 10px;
    font-size: 20px;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 769px) {
  .c-pageAnchorItem:first-of-type .c-pageAnchorItem__text:last-of-type {
    margin-top: 14px;
    margin-bottom: 0;
    font-size: 16px;
    letter-spacing: 0em;
  }
}

.c-pageList {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px 0;
  width: 89.3333333333%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-pageList {
    width: 69.84375%;
    max-width: 894px;
  }
}
.c-pageListItem {
  display: flex;
}
.c-pageListItem dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0em;
  line-height: 27px;
  background-color: #FEBE10;
  color: #102435;
}
@media screen and (min-width: 769px) {
  .c-pageListItem dt {
    width: 61px;
    font-size: 34px;
    letter-spacing: 0em;
    line-height: 27px;
  }
}
.c-pageListItem dd {
  flex: 1;
  padding: 15px 23px 21px 21px;
  background-color: #0C2438;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-pageListItem dd {
    display: flex;
    justify-content: space-between;
    gap: 0 20px;
    padding: 35px 40px 40px 40px;
  }
}
.c-pageListItem dd .c-button--label {
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .c-pageListItem dd .c-button--label {
    max-width: 200px;
  }
}
@media screen and (min-width: 769px) {
  .c-pageListItem dd .c-button--label a {
    padding: 6px 0;
  }
}
@media screen and (min-width: 769px) {
  .c-pageListItem dd .c-button--label img {
    width: 27px !important;
    left: 20px;
  }
}
@media screen and (min-width: 769px) {
  .c-pageListItem dd .c-button--label span {
    font-size: 14px;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 769px) {
  .c-pageListItem dd .c-button--label svg {
    right: 14px;
  }
}
.c-pageListItemInner {
  flex: 1;
}
.c-pageListItemInner__heading {
  margin-bottom: 8px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0em;
  line-height: 28.8px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner__heading {
    margin-bottom: 19px;
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 27px;
  }
}
.c-pageListItemInner__subheading {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner__subheading {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-pageListItemInner__contact {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner__contact {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-pageListItemInner__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 19.5px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 24px;
  }
}
.c-pageListItemInner__list {
  list-style: disc;
  display: flex;
  flex-direction: column;
  gap: 10px 0;
  margin: 16px 0 20px;
  padding-left: 1.1em;
}
.c-pageListItemInner__list li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 20.8px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner__list li {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 24px;
  }
}
.c-pageListItemInner__list li strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.c-pageListItemInner__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner__buttons {
    gap: 10px 12px;
  }
}
.c-pageListItemInner__buttons .c-button--exclude {
  max-width: initial;
  width: -moz-fit-content;
  width: fit-content;
}
.c-pageListItemInner__buttons .c-button--exclude a {
  align-items: center;
  gap: 0 18px;
  padding: 7px 16px 8px 16px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner__buttons .c-button--exclude a {
    gap: 0 23px;
  }
}
.c-pageListItemInner__buttons .c-button--exclude span {
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 20px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner__buttons .c-button--exclude span {
    font-size: 14px;
    letter-spacing: 0.02em;
    line-height: 20px;
  }
}
.c-pageListItemInner__buttons .c-button--exclude .c-part-label__motif {
  transform: translateY(0);
}
.c-pageListItemInner .c-pageListItemInner__text:has(+ .c-pageListItemInner__subheading) {
  margin-bottom: 26px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner .c-pageListItemInner__text:has(+ .c-pageListItemInner__subheading) {
    margin-bottom: 35px;
  }
}
.c-pageListItemInner .c-pageListItemInner__text:has(+ .c-pageListItemInner__buttons) {
  margin-bottom: 16px;
}
.c-pageListItemInner .c-pageListItemInner__subheading:has(+ .c-pageListItemInner__text),
.c-pageListItemInner .c-pageListItemInner__subheading:has(+ .c-pageListItemInner__buttons) {
  margin-bottom: 8px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner .c-pageListItemInner__subheading:has(+ .c-pageListItemInner__text),
  .c-pageListItemInner .c-pageListItemInner__subheading:has(+ .c-pageListItemInner__buttons) {
    margin-bottom: 11px;
  }
}
.c-pageListItemInner .c-pageListItemInner__buttons:has(+ .c-pageListItemInner__text) {
  margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
  .c-pageListItemInner .c-pageListItemInner__buttons:has(+ .c-pageListItemInner__text) {
    margin-bottom: 17px;
  }
}

.c-comment {
  position: relative;
  width: 89.3333333333%;
  margin: 0 auto;
  padding: 38px 20px 56px;
  background-color: #0C2438;
  box-sizing: border-box;
  border-radius: 30px;
}
@media screen and (min-width: 769px) {
  .c-comment {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 69.84375%;
    max-width: 894px;
    padding: 41px 58px 34px;
  }
}
@media screen and (min-width: 769px) {
  .c-comment:nth-child(2n+1) {
    flex-direction: row-reverse;
  }
}
.c-comment::before {
  content: "“";
  position: absolute;
  top: 30px;
  left: 20px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 36px;
  letter-spacing: 0em;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .c-comment::before {
    top: 20px;
    left: 16px;
  }
}
.c-comment::after {
  content: "”";
  position: absolute;
  bottom: 0;
  right: 20px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 36px;
  letter-spacing: 0em;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .c-comment::after {
    bottom: -10px;
    right: 16px;
  }
}
.c-comment + .c-comment {
  margin-top: 9px;
}
.c-comment__image {
  width: 80px;
  margin: 0 auto 19px;
}
@media screen and (min-width: 769px) {
  .c-comment__image {
    width: 16.4524421594%;
    margin: 0;
  }
}
.c-comment__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-comment__text {
    width: 76.9922879177%;
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}

.c-plan {
  width: 89.3333333333%;
  margin: 60px auto;
}
@media screen and (min-width: 769px) {
  .c-plan {
    width: 69.84375%;
    max-width: 894px;
    margin: 80px auto;
  }
}
.c-planOverview {
  position: relative;
  margin-bottom: 40px;
  padding: 51px 22px 40px;
  border: 1px solid #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-planOverview {
    margin-bottom: 56px;
    padding: 64px 57px 46px;
  }
}
.c-planOverview__heading {
  text-align: center;
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -28px;
  width: -moz-max-content;
  width: max-content;
  padding: 0 12px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0em;
  line-height: 30px;
  background-color: #071928;
}
@media screen and (min-width: 769px) {
  .c-planOverview__heading {
    top: -18px;
    padding: 0 10px;
    font-size: 32px;
    letter-spacing: 0em;
    line-height: 35px;
  }
}
.c-planOverview__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-planOverview__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-planTable {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-planTable {
    display: table;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 1px;
  }
}
.c-planTable tr {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-planTable tr {
    display: table-row;
  }
}
.c-planTable tr + tr {
  margin-top: 1px;
}
.c-planTable tr th {
  width: 100%;
  padding: 10px 14px 9px;
  background-color: #17354D;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0em;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .c-planTable tr th {
    width: 100px;
    padding: 16px 26px;
    font-size: 15px;
    letter-spacing: 0.01em;
  }
}
@media screen and (min-width: 1000px) {
  .c-planTable tr th {
    width: 198px;
  }
}
.c-planTable tr td {
  padding: 9px 14px 8px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 22.5px;
}
@media screen and (min-width: 769px) {
  .c-planTable tr td {
    padding: 16px 26px;
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 22.5px;
  }
}
.c-planTable tr td.plan {
  flex: 1;
  background-color: #172E41;
}
@media screen and (min-width: 769px) {
  .c-planTable tr td.plan {
    flex: 1;
  }
}
.c-planTable tr td.value {
  text-align: right;
  width: 107px;
  background-color: #102435;
}
@media screen and (min-width: 769px) {
  .c-planTable tr td.value {
    width: 92px;
  }
}
@media screen and (min-width: 1000px) {
  .c-planTable tr td.value {
    width: 146px;
  }
}
.c-planTable tr + .c-planTable__wrap {
  margin-top: 21px !important;
}
.c-planTable caption {
  caption-side: bottom;
  text-align: left;
  margin-top: 14px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 2;
}

@media screen and (min-width: 769px) {
  .c-event {
    width: 69.84375%;
    max-width: 894px;
    min-width: 680px;
    margin: 0 auto;
  }
}
.c-eventCalendar__wrap {
  width: 89.3333333333%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-eventCalendar__wrap {
    max-width: 702px;
  }
}
.c-eventCalendar__wrap iframe {
  width: 100%;
  height: 340px;
}
@media screen and (min-width: 769px) {
  .c-eventCalendar__wrap iframe {
    height: 562px;
  }
}
.c-eventWrap {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .c-eventWrap {
    gap: 4px;
    margin-top: 78px;
  }
}
@media screen and (min-width: 769px) {
  .c-eventWrapItem {
    display: flex;
  }
}
@media screen and (min-width: 769px) {
  .c-eventWrapItem__thumb {
    width: 49.8881431767%;
  }
}
.c-eventWrapItem__thumb img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-eventWrapItem__contents {
  padding: 36px 22px;
  background-color: #0C2438;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-eventWrapItem__contents {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 68px 42px;
  }
}
@media screen and (min-width: 1000px) {
  .c-eventWrapItem__contents {
    padding: 68px 51px;
  }
}
.c-eventWrapItem__contents__heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 8px;
  margin-bottom: 16px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .c-eventWrapItem__contents__heading {
    margin-bottom: 10px;
    font-size: 24px;
    letter-spacing: 0em;
    line-height: 54px;
  }
}
.c-eventWrapItem__contents__heading span {
  font-size: 16px;
  letter-spacing: 0em;
}
@media screen and (min-width: 769px) {
  .c-eventWrapItem__contents__heading span {
    font-size: 16px;
    letter-spacing: 0em;
  }
}
.c-eventWrapItem__contents__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-eventWrapItem__contents__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 24px;
  }
}

.c-news {
  width: 89.3333333333%;
  margin: 38px auto 0;
}
@media screen and (min-width: 769px) {
  .c-news {
    width: 84.375%;
    max-width: 1080px;
    margin: 60px auto 0;
  }
}
.c-newsFilter {
  display: flex;
  flex-direction: column;
  gap: 10px 0;
  margin-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .c-newsFilter {
    flex-direction: row;
    justify-content: center;
  }
}
.c-newsFilterItem {
  display: flex;
  align-items: center;
  gap: 0 4px;
}
@media screen and (min-width: 769px) {
  .c-newsFilterItem {
    gap: 0 7px;
  }
}
@media screen and (min-width: 769px) {
  .c-newsFilterItem + .c-newsFilterItem {
    margin-left: 20px;
  }
}
@media screen and (min-width: 1000px) {
  .c-newsFilterItem + .c-newsFilterItem {
    margin-left: 40px;
  }
}
.c-newsFilterItem__heading {
  text-align: right;
  width: 82px;
  min-width: 82px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 12px;
}
@media screen and (min-width: 769px) {
  .c-newsFilterItem__heading {
    width: 94px;
    min-width: 94px;
    font-size: 14px;
    letter-spacing: 0em;
    line-height: 14px;
  }
}
.c-newsFilterItem__inner {
  flex: 1;
  display: flex;
}
.c-newsFilterItem__inner__select {
  padding: 7px 13px 9px;
  border: 1px solid #29323A;
  border-radius: 7px;
  background-color: transparent;
  color: #ffffff;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 22.5px;
  box-sizing: border-box;
  transition: all 0.35s ease 0s;
}
@media screen and (min-width: 769px) {
  .c-newsFilterItem__inner__select {
    padding: 7px 13px 9px;
  }
}
.c-newsFilterItem__inner__select.is-unenable {
  position: relative;
  background-color: #0C2438;
  border: none;
  background-image: none;
  pointer-events: none;
}
.c-newsFilterItem__inner__input {
  padding: 7px 13px 9px;
  border: none;
  border-radius: 7px;
  background-color: #102435;
  color: #ffffff;
  box-shadow: none;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-newsFilterItem__inner__input {
    padding: 7px 13px 9px;
  }
}
.c-newsFilterItem__inner select, .c-newsFilterItem__inner ::picker(select) {
  -moz-appearance: none;
  background-image: url("../image/common/arrow_select.svg");
  background-repeat: no-repeat;
  background-size: 23px 23px; /* 画像のサイズ（幅 高さ）*/
  background-position: right 6px center;
  color: #ffffff;
  background-color: #071928;
  border: 1px solid #29323A;
  border-radius: 7px;
}
.c-newsFilterItem:first-of-type .c-newsFilterItem__inner__select {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .c-newsFilterItem:first-of-type .c-newsFilterItem__inner__select {
    width: 19.21875vw;
    max-width: 246px;
  }
}
.c-newsFilterItem:last-of-type .c-newsFilterItem__inner {
  display: flex;
  gap: 0 12px;
}
.c-newsFilterItem:last-of-type .c-newsFilterItem__inner__select {
  width: 50%;
}
@media screen and (min-width: 769px) {
  .c-newsFilterItem:last-of-type .c-newsFilterItem__inner__select {
    width: 8.203125vw;
    max-width: 105px;
    min-width: 88px;
  }
}
.c-newsFilterItem:last-of-type .c-newsFilterItem__inner__input {
  width: 50%;
}
@media screen and (min-width: 769px) {
  .c-newsFilterItem:last-of-type .c-newsFilterItem__inner__input {
    width: 8.203125vw;
    max-width: 105px;
    min-width: 88px;
  }
}
.c-newsFilter button {
  display: block;
  text-align: center;
  width: 100%;
  max-width: 200px;
  margin: 10px auto 0;
  padding: 16px 0;
  border: none;
  border-radius: 200px;
  background-color: #ffffff;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 14px;
}
@media screen and (min-width: 769px) {
  .c-newsFilter button {
    cursor: pointer;
    transition: opacity 0.35s ease 0s;
    max-width: 67px;
    margin: 0 0 0 17px;
    padding: 16px 0;
  }
}
.c-newsFilter button:hover {
  opacity: 0.6;
}
.c-newsList {
  display: flex;
  flex-direction: column;
  gap: 52px 0;
}
@media screen and (min-width: 769px) {
  .c-newsList {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 44px 0;
  }
}
@media screen and (min-width: 769px) {
  .c-newsList::after {
    content: "";
    display: block;
    width: 31.1111111111%;
  }
}
@media screen and (min-width: 769px) {
  .c-newsListItem {
    width: 31.1111111111%;
  }
}
.c-newsListItem__thumb {
  position: relative;
  margin-bottom: 14px;
  aspect-ratio: 56/39;
  overflow: hidden;
}
.c-newsListItem__thumb span {
  position: absolute;
  top: 7px;
  left: 7px;
  display: inline-block;
  padding: 4px 9px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 10px;
  letter-spacing: 0em;
  line-height: 10px;
  border: 1px solid #ffffff;
  border-radius: 200px;
  background-color: #071928;
}
.c-newsListItem__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-newsListItem__contant__text {
  position: relative;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 22.5px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.c-newsListItem__contant__readMore {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  margin: 0.5em 0 0 auto;
  display: block;
  text-align: right;
  text-decoration: underline;
}
.c-newsListItem__state {
  display: flex;
  margin-top: 20px;
  justify-content: end;
}
.c-newsListItem__state:has(ul) {
  justify-content: space-between;
}
.c-newsListItem__state ul {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
}
.c-newsListItem__state ul li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 1.4;
  white-space: nowrap;
}
.c-newsListItem__state ul li::before {
  content: "#";
}
.c-newsListItem__state time {
  text-align: right;
  width: 103px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 1.4;
}

.c-pagination {
  margin-top: 20px;
}
.c-pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.c-pagination ul li {
  display: flex;
  align-items: center;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.c-pagination ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #ffffff;
  color: #ffffff;
  background-color: #071928;
  transition: all 0.35s ease 0s;
}
@media screen and (min-width: 769px) {
  .c-pagination ul li a:hover {
    border: 1px solid #0C2438;
    background-color: #0C2438;
  }
}
.c-pagination ul li.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  width: 45px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #0C2438;
  color: #ffffff;
  background-color: #0C2438;
}

.c-single {
  padding-top: 135px;
}
@media screen and (min-width: 769px) {
  .c-single {
    padding-top: 190px;
  }
}
.c-single__inner {
  width: 89.3333333333%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .c-single__inner {
    width: 100%;
    max-width: 706px;
    margin: 0 auto;
  }
}
.c-singleHead {
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .c-singleHead {
    margin-bottom: 28px;
  }
}
.c-singleHead__state {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 9px;
}
@media screen and (min-width: 769px) {
  .c-singleHead__state {
    margin-bottom: 12px;
  }
}
.c-singleHead__state time {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .c-singleHead__state time {
    font-size: 12px;
    letter-spacing: 0em;
  }
}
.c-singleHead__state span {
  display: none;
  padding: 1px 12px;
  border: 1px solid #ffffff;
  border-radius: 200px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .c-singleHead__state span {
    display: inline-block;
  }
}
.c-singleHead__title {
  margin-bottom: 30px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0em;
  line-height: 28.8px;
}
@media screen and (min-width: 769px) {
  .c-singleHead__title {
    margin-bottom: 30px;
    font-size: 24px;
    letter-spacing: 0em;
    line-height: 36px;
  }
}
.c-singleBody > *:last-child {
  margin-bottom: 0;
}
.c-singleBody h2, .c-singleBody h3, .c-singleBody h4, .c-singleBody h5, .c-singleBody h6, .c-singleBody .wp-block-button__link, .c-singleBody .wp-block-file {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.c-singleBody h2 {
  margin-bottom: 20px;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 25.6px;
}
@media screen and (min-width: 769px) {
  .c-singleBody h2 {
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 30px;
  }
}
.c-singleBody h3 {
  margin-bottom: 18px;
  font-size: 15px;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .c-singleBody h3 {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 27px;
  }
}
.c-singleBody h4, .c-singleBody h5, .c-singleBody h6 {
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 1.5;
  margin-bottom: 15px;
}
@media screen and (min-width: 769px) {
  .c-singleBody h4, .c-singleBody h5, .c-singleBody h6 {
    font-size: 16px;
    letter-spacing: 0em;
  }
}
.c-singleBody .wp-block-button__link {
  font-size: 13px;
  letter-spacing: 0.02em;
  padding: 7px 24px 8px;
  border: 2px solid #ffffff;
  background-color: transparent;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .c-singleBody .wp-block-button__link {
    font-size: 14px;
    padding: 9px 30px 10px;
  }
}
.c-singleBody p, .c-singleBody ul li, .c-singleBody ol li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.c-singleBody p {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 22.5px;
}
.c-singleBody p:has(+ *) {
  margin-bottom: 15px;
}
.c-singleBody p:has(+ h2) {
  margin-bottom: 35px;
}
@media screen and (min-width: 769px) {
  .c-singleBody p:has(+ h2) {
    margin-bottom: 54px;
  }
}
.c-singleBody p:has(+ h3) {
  margin-bottom: 26px;
}
@media screen and (min-width: 769px) {
  .c-singleBody p:has(+ h3) {
    margin-bottom: 42px;
  }
}
.c-singleBody p .img-float-right {
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .c-singleBody p .img-float-right {
    float: right;
    margin-left: 23px;
    margin-bottom: 20px;
    max-width: 336px;
    height: auto;
    transform: translateY(6px);
  }
}
.c-singleBody p .img-float-left {
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .c-singleBody p .img-float-left {
    float: left;
    margin-right: 23px;
    margin-bottom: 20px;
    max-width: 336px;
    height: auto;
    transform: translateY(6px);
  }
}
.c-singleBody p a {
  text-decoration: underline;
}
.c-singleBody p strong {
  font-weight: 700;
}
.c-singleBody ul, .c-singleBody ol {
  list-style: inherit;
  margin: 0 auto 20px 1rem;
}
@media screen and (min-width: 769px) {
  .c-singleBody ul, .c-singleBody ol {
    margin: 0 auto 30px 1rem;
  }
}
.c-singleBody ul li, .c-singleBody ol li {
  letter-spacing: 0.02em;
  line-height: 22.5px;
}
.c-singleBody > .wp-block-image.size-large, .c-singleBody .wp-block-gallery, .c-singleBody .wp-block-embed, .c-singleBody .wp-block-image.size-full {
  margin: 20px auto;
}
@media screen and (min-width: 769px) {
  .c-singleBody > .wp-block-image.size-large, .c-singleBody .wp-block-gallery, .c-singleBody .wp-block-embed, .c-singleBody .wp-block-image.size-full {
    margin: 40px auto;
  }
}
.c-singleBody .wp-block-columns {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  margin: 40px 0;
}
@media screen and (min-width: 769px) {
  .c-singleBody .wp-block-columns {
    flex-direction: row;
    gap: 20px 36px;
    margin: 42px 0;
  }
}
.c-singleBody .wp-block-columns .wp-block-column {
  flex: 1;
}
.c-singleBody .wp-block-columns .wp-block-image {
  display: block;
}
.c-singleBody .wp-block-image .alignright {
  float: none;
  margin: 20px auto;
}
@media screen and (min-width: 769px) {
  .c-singleBody .wp-block-image .alignright {
    float: right;
    margin: 0.5em 0 0.5em 1em;
  }
}
.c-singleBody .wp-block-image .alignleft {
  float: none;
  margin: 20px auto;
}
@media screen and (min-width: 769px) {
  .c-singleBody .wp-block-image .alignleft {
    float: left;
    margin: 0.5em 1em 0.5em 0;
  }
}
.c-singleBody .wp-block-file {
  margin-bottom: 20px;
}
.c-singleBody .wp-block-file .wp-block-file__button {
  color: transparent;
  position: relative;
  background-color: transparent;
}
.c-singleBody .wp-block-file .wp-block-file__button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  background-image: url(../image/common/icon_exclude.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.c-blocks {
  padding: 50px 5.3333333333% 67px;
  background-color: #0C2438;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-blocks {
    padding: 80px 0 200px;
  }
}
.c-blocks__heading {
  text-align: center;
  margin-bottom: 18px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .c-blocks__heading {
    margin-bottom: 50px;
    font-size: 32px;
    letter-spacing: 0em;
    line-height: 40px;
  }
}
.c-blocksWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 0;
}
@media screen and (min-width: 769px) {
  .c-blocksWrap {
    gap: 10px 0;
    max-width: 1080px;
    margin-right: auto;
    margin-left: auto;
  }
}
.c-blocksWrap__item {
  width: 48.6567164179%;
}
.c-blocksWrap + .c-blocks__heading {
  margin-top: 55px;
}
@media screen and (min-width: 769px) {
  .c-blocksWrap + .c-blocks__heading {
    margin-top: 96px;
  }
}
@media screen and (min-width: 769px) {
  .c-blocksWrap--4col {
    max-width: 894px;
  }
}
@media screen and (min-width: 769px) {
  .c-blocksWrap--4col .c-blocksWrap__item {
    width: 24.1610738255%;
  }
}
@media screen and (min-width: 769px) {
  .c-blocksWrap--3col {
    max-width: 668px;
  }
}
@media screen and (min-width: 769px) {
  .c-blocksWrap--3col .c-blocksWrap__item {
    width: 32.3353293413%;
  }
}
@media screen and (min-width: 769px) {
  .c-blocksWrap--1col {
    max-width: -moz-max-content;
    max-width: max-content;
    justify-content: center;
  }
}

.c-form {
  width: 89.3333333333%;
  margin: 30px auto 0;
  padding: 33px 20px;
  background-color: #0C2438;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-form {
    width: 69.84375%;
    max-width: 894px;
    min-width: 680px;
    margin: 47px auto 0;
    padding: 80px 60px;
  }
}
@media screen and (min-width: 1000px) {
  .c-form {
    padding: 80px 75px;
  }
}
@media screen and (min-width: 769px) {
  .c-formItem {
    display: flex;
    gap: 0 23px;
  }
}
.c-formItem + .c-formItem {
  margin-top: 14px;
}
@media screen and (min-width: 769px) {
  .c-formItem + .c-formItem {
    margin-top: 20px;
  }
}
.c-formItem__label {
  display: flex;
  margin-bottom: 6px;
}
@media screen and (min-width: 769px) {
  .c-formItem__label {
    justify-content: flex-end;
    width: 140px;
    margin-bottom: 6px;
  }
}
.c-formItem__label p {
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-formItem__label p {
    font-size: 18px;
    letter-spacing: 0em;
    white-space: nowrap;
  }
}
.c-formItem__label span {
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0em;
  color: #E73625;
}
@media screen and (min-width: 769px) {
  .c-formItem__label span {
    font-size: 18px;
    letter-spacing: 0em;
  }
}
.c-formItem__input {
  width: 100%;
  display: flex;
  gap: 0 15px;
}
@media screen and (min-width: 769px) {
  .c-formItem__input {
    flex: 1;
    gap: 0 20px;
  }
}
.c-formItem__input__wrap {
  flex: 1;
}
.c-formItem__input__wrap input, .c-formItem__input__wrap textarea {
  width: 100%;
  padding: 16px 15px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 28px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-formItem__input__wrap input, .c-formItem__input__wrap textarea {
    padding: 11px 20px;
    font-size: 16px;
    letter-spacing: 0em;
  }
}
.c-formItem__input__wrap select {
  -webkit-appearance: base-select;
  -moz-appearance: base-select;
  appearance: base-select;
  width: 100%;
  padding: 16px 15px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 28px;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  background-color: #ffffff;
  color: #000000;
  -moz-appearance: none;
  -webkit-appearance: none;
}
@media screen and (min-width: 769px) {
  .c-formItem__input__wrap select {
    padding: 11px 20px;
    font-size: 16px;
    letter-spacing: 0em;
  }
}
.c-formItem__acceptance {
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .c-formItem__acceptance {
    padding-left: 160px;
  }
}
.c-formItem__acceptance__wrap input {
  margin: 0 4px 0 0;
}
.c-formItem__acceptance__wrap input[type=checkbox] {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid #000000;
  background-color: #ffffff;
  vertical-align: -5px;
}
.c-formItem__acceptance__wrap input[type=checkbox]:checked:before {
  content: "";
  position: absolute;
  top: 2px;
  left: 5.5px;
  transform: rotate(50deg);
  width: 5px;
  height: 9px;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
}
.c-formItem__acceptance__wrap .wpcf7-list-item-label {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
}
.c-formItem__acceptance__wrap .wpcf7-list-item-label a {
  text-decoration: underline;
}
.c-formItem__acceptance__wrap .wpcf7-list-item-label a:hover {
  text-decoration: none;
}
.c-formItem__back {
  width: 100%;
  max-width: 110px;
  display: flex;
  align-items: center;
  position: relative;
  padding: 14px 12px;
  border-radius: 200px;
  background-color: transparent;
  border: 1px solid #ffffff;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .c-formItem__back {
    grid-area: button;
    width: 20.2985074627%;
    padding: 16px 16px;
    transition: opacity 0.3s ease 0s;
    cursor: pointer;
  }
}
@media screen and (min-width: 769px) {
  .c-formItem__back:hover {
    opacity: 0.6;
  }
}
.c-formItem__back input[type=submit] {
  position: relative;
  display: block;
  border: none;
  background-color: transparent;
  color: #ffffff;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) {
  .c-formItem__back input[type=submit] {
    font-size: 14px;
    letter-spacing: 0em;
  }
}
.c-formItem__back .c-part-label__motif {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
.c-formItem__button {
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-top: 47px;
  border-radius: 200px;
  background-color: #005DAC;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-formItem__button {
    grid-area: button;
    width: 60.447761194%;
    max-width: 405px;
    margin: 56px auto 0;
    transition: opacity 0.3s ease 0s;
    cursor: pointer;
  }
}
.c-formItem__button > p {
  width: 100%;
}
.c-formItem__button .wpcf7-spinner {
  display: none;
}
.c-formItem__button .wpcf7-spinner + br {
  display: none;
}
@media screen and (min-width: 769px) {
  .c-formItem__button:hover {
    opacity: 0.6;
  }
}
.c-formItem__button input[type=submit] {
  position: relative;
  display: block;
  border: none;
  background-color: transparent;
  color: #ffffff;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 17px;
  letter-spacing: 0em;
  letter-spacing: 0;
  padding: 22px 0;
  width: 100%;
  border-radius: 200px;
}
@media screen and (min-width: 769px) {
  .c-formItem__button input[type=submit] {
    padding: 24px 0;
    font-size: 22px;
    letter-spacing: 0em;
  }
}
.c-formItem__button .c-part-label__motif {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
.c-formItem__confirm__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .c-formItem__confirm__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
    box-sizing: border-box;
  }
}
.c-formItem__column {
  display: flex;
  flex-direction: column-reverse;
  gap: 20px 0;
  margin-top: 25px;
}
@media screen and (min-width: 769px) {
  .c-formItem__column {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 0 20px;
    margin-top: 56px;
  }
}
.c-formItem__column .c-formItem__back {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .c-formItem__column .c-formItem__back {
    max-width: 135px;
    margin: 0;
  }
}
.c-formItem__column .c-formItem__button {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .c-formItem__column .c-formItem__button {
    max-width: 370px;
    margin: 0;
  }
}

.c-map {
  width: 89.3333333333%;
  margin: 58px auto 23px;
}
@media screen and (min-width: 769px) {
  .c-map {
    width: 69.84375%;
    max-width: 894px;
    margin: 100px auto 57px;
  }
}
.c-map iframe {
  display: block;
  width: 100%;
  height: 300px;
  margin-bottom: 15px;
}
@media screen and (min-width: 769px) {
  .c-map iframe {
    height: 487px;
    margin-bottom: 46px;
  }
}
.c-map__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .c-map__text {
    padding: 0 95px;
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
    box-sizing: border-box;
  }
}
.c-map__text:has(+ .c-map__list) {
  margin-bottom: 3px;
}
@media screen and (min-width: 769px) {
  .c-map__text:has(+ .c-map__list) {
    margin-bottom: 6px;
  }
}
.c-map__list {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .c-map__list {
    padding: 0 95px;
    box-sizing: border-box;
  }
}
.c-map__list li {
  text-indent: -4px;
  padding-left: 10px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .c-map__list li {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.c-map__list li::before {
  content: "-";
  display: inline-block;
  margin-right: 4px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 1.6;
}

/*----------------------------------------
	Utility
----------------------------------------*/
.u-hidden {
  display: none;
}

@media screen and (max-width: 768px) {
  .u-hidden-sp {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .u-hidden-pc {
    display: none;
  }
}

.u-left {
  text-align: left;
}

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

.u-right {
  text-align: right;
}

.u-red {
  color: red;
}

.u-bg-red {
  background-color: red;
}

/* 
* 余白打ち消しクラス
*/
.u-noRadius {
  border-radius: 0 !important;
}

.u-noMargin {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.u-noMargin-top {
  margin-top: 0 !important;
}

.u-noMargin-bottom {
  margin-bottom: 0 !important;
}

.u-noPadding {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.u-noPadding-top {
  padding-top: 0 !important;
}

.u-noPadding-bottom {
  padding-bottom: 0 !important;
}

/* 
* 余白
*/
.-padding-t {
  padding-top: 10px;
}
.-padding-t.-x2 {
  padding-top: 20px;
}
.-padding-t.-x4 {
  padding-top: 40px;
}
.-padding-t.-x6 {
  padding-top: 60px;
}
.-padding-t.-x8 {
  padding-top: 80px;
}
.-padding-t.-x10 {
  padding-top: 100px;
}

.-padding-b {
  padding-bottom: 10px;
}
.-padding-b.-x2 {
  padding-bottom: 20px;
}
.-padding-b.-x4 {
  padding-bottom: 40px;
}
.-padding-b.-x6 {
  padding-bottom: 60px;
}
.-padding-b.-x8 {
  padding-bottom: 80px;
}
.-padding-b.-x10 {
  padding-bottom: 100px;
}

.-margin-t {
  margin-top: 10px;
}
.-margin-t.-x2 {
  margin-top: 20px;
}
.-margin-t.-x4 {
  margin-top: 40px;
}
.-margin-t.-x6 {
  margin-top: 60px;
}
.-margin-t.-x8 {
  margin-top: 80px;
}
.-margin-t.-x10 {
  margin-top: 100px;
}

.-margin-b {
  margin-bottom: 10px;
}
.-margin-b.-x2 {
  margin-bottom: 20px;
}
.-margin-b.-x4 {
  margin-bottom: 40px;
}
.-margin-b.-x6 {
  margin-bottom: 60px;
}
.-margin-b.-x8 {
  margin-bottom: 80px;
}
.-margin-b.-x10 {
  margin-bottom: 100px;
}

@media screen and (min-width: 769px) {
  body.lang-de .l-globalNaviList__item__heading {
    padding-bottom: 8px;
    line-height: 1.2;
  }
}
@media screen and (max-width: 768px) {
  body.lang-de .l-footerListItem {
    width: 48%;
  }
}
@media screen and (max-width: 768px) {
  body.lang-de .l-footerListItem:nth-of-type(7), body.lang-de .l-footerListItem:nth-of-type(8) {
    width: 100%;
  }
}
body.lang-de .l-footerListItem__heading {
  padding-bottom: 8px;
  line-height: 1.2;
}
@media screen and (min-width: 769px) {
  body.lang-de .l-footerListItem__heading {
    padding-bottom: 12px;
    line-height: 100%;
  }
}
@media screen and (min-width: 769px) {
  body.lang-de .t-homeHeroTitle {
    bottom: 20px;
  }
}
@media screen and (min-width: 1000px) {
  body.lang-de .t-homeHeroTitle {
    bottom: 40px;
  }
}
body.lang-de .t-homeHeroTitle h1 {
  font-size: 22px;
  letter-spacing: 0em;
  line-height: 36px;
}
@media screen and (min-width: 769px) {
  body.lang-de .t-homeHeroTitle h1 {
    font-size: 40px;
    line-height: 60px;
  }
}
@media screen and (min-width: 1000px) {
  body.lang-de .t-homeHeroTitle h1 {
    font-size: 60px;
    line-height: 80px;
  }
}
body.lang-de .t-homeNews__heading .c-part-arrow {
  width: 112px;
}
@media screen and (min-width: 769px) {
  body.lang-de .t-homeFutureWrap__list {
    gap: 24px;
  }
}
@media screen and (min-width: 1000px) {
  body.lang-de .t-homeFutureWrap__list {
    gap: 30px;
  }
}
body.lang-de .t-homeFutureWrap__title {
  font-size: 29.2px;
  line-height: 48px;
}
@media screen and (min-width: 769px) {
  body.lang-de .t-homeFutureWrap__title {
    font-size: 42px;
    line-height: 68px;
  }
}
@media screen and (min-width: 1000px) {
  body.lang-de .t-homeFutureWrap__title {
    font-size: 56px;
    line-height: 82px;
  }
}
body.lang-de .t-homeTopics__heading .c-part-arrow {
  gap: 0 10px;
  width: 162px;
  padding-left: 16px;
}
@media screen and (min-width: 769px) {
  body.lang-de .c-group__contents,
  body.lang-de .c-group--reverse .c-group__contents {
    padding-top: 50px;
    padding-bottom: 30px;
  }
}
@media screen and (min-width: 769px) {
  body.lang-de .c-overview__contents {
    flex: 1;
    padding: 20px 5.625% 20px 6.25%;
  }
}
@media screen and (min-width: 769px) {
  body.lang-de .c-overview__contents__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
@media screen and (min-width: 1000px) {
  body.lang-de .c-overview__contents__text {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
body.lang-de .c-button--exclude a {
  padding: 8px 20px;
  line-height: 1.4;
}
@media screen and (min-width: 1000px) {
  body.lang-de .c-button--exclude a {
    font-size: 18px;
    letter-spacing: 0em;
    padding: 10px 20px;
    line-height: 1.4;
    font-size: 17px;
  }
}
body.lang-de .c-button--exclude a .c-part-label__motif {
  transform: translateY(15px);
}
body.lang-de.admissions-index .c-button--exclude a .c-part-label__motif {
  transform: translateY(0);
}
body.lang-de .c-pageListItemInner__buttons .c-button--exclude a {
  padding: 7px 16px 8px 16px;
}
@media screen and (min-width: 769px) {
  body.lang-de .t-leadershipSpeechWrap__contents__heading {
    font-size: 35px;
    line-height: 1.55;
  }
}
body.lang-de.academics-summer-winter-school-index .c-detailHeading__main {
  font-size: 20px;
  margin-top: -27%;
}
@media screen and (min-width: 769px) {
  body.lang-de.academics-summer-winter-school-index .c-detailHeading__main {
    font-size: 32px;
    margin-top: -13%;
  }
}
@media screen and (min-width: 1000px) {
  body.lang-de.academics-summer-winter-school-index .c-detailHeading__main {
    font-size: 37px;
  }
}
body.lang-de.academics-summer-winter-school-index .c-button--exclude {
  max-width: 224px;
}

/*----------------------------------------
	Page Home
----------------------------------------*/
.t-homeHero {
  position: relative;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
}
.t-homeHeroBackground {
  position: relative;
}
.t-homeHeroBackground::before {
  content: "";
  z-index: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 215px;
  background: linear-gradient(0deg, #071928 5.35%, rgba(7, 25, 40, 0.2) 50.67%, rgba(7, 25, 40, 0) 89.12%);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .t-homeHeroBackground::before {
    height: 448px;
    background: linear-gradient(0deg, #071928 5.35%, rgba(7, 25, 40, 0.2) 50.67%, rgba(7, 25, 40, 0) 89.12%);
  }
}
.t-homeHeroBackground video {
  display: block;
  width: 176.5333333333%;
  margin-left: -58%;
}
@media screen and (min-width: 769px) {
  .t-homeHeroBackground video {
    width: 100%;
    margin-left: 0;
  }
}
.t-homeHeroTitle {
  position: relative;
  margin-top: -100px;
  padding-left: 4.2666666667%;
}
@media screen and (min-width: 769px) {
  .t-homeHeroTitle {
    position: absolute;
    bottom: 97px;
    left: 4.6875%;
    width: -moz-max-content;
    width: max-content;
    padding-left: 0;
  }
}
.t-homeHeroTitle h1 {
  margin-bottom: 10px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 41.8px;
  letter-spacing: 0em;
  line-height: 52.25px;
}
@media screen and (min-width: 769px) {
  .t-homeHeroTitle h1 {
    font-size: 54px;
    letter-spacing: 0em;
    line-height: 1.6;
  }
}
@media screen and (min-width: 1000px) {
  .t-homeHeroTitle h1 {
    margin-bottom: 22px;
    font-size: 78px;
    letter-spacing: 0em;
    line-height: 93.6px;
  }
}
.t-homeHeroTitle h1 .char {
  opacity: 0;
  display: inline-block;
}
.t-homeHeroTitle__link {
  width: 128px;
}
@media screen and (min-width: 769px) {
  .t-homeHeroTitle__link {
    width: 167px;
  }
}
.t-homeHeroTitle__link p.c-part-label__name {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 17px;
  letter-spacing: 0.02em;
  line-height: 33px;
}
@media screen and (min-width: 769px) {
  .t-homeHeroTitle__link p.c-part-label__name {
    font-size: 20px;
    letter-spacing: 0.02em;
    line-height: 33px;
  }
}
.t-homeHeroTitle__link .c-part-label__motif {
  display: block;
  position: relative;
  width: 38.4px;
  height: 16.8px;
  transform: translateY(-8px);
}
@media screen and (min-width: 769px) {
  .t-homeHeroTitle__link .c-part-label__motif {
    width: 48px;
    height: 21px;
    transform: translateY(-6px);
  }
}

.t-homeLead {
  padding: 158px 0;
}
@media screen and (min-width: 769px) {
  .t-homeLead {
    padding: 131px 0 191px;
  }
}
.t-homeLeadMessage {
  opacity: 0;
  z-index: 1;
  position: relative;
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0em;
  line-height: 36px;
}
@media screen and (min-width: 769px) {
  .t-homeLeadMessage {
    font-size: 34px;
    letter-spacing: 0em;
    line-height: 68px;
  }
}
.t-homeLeadImages {
  position: absolute;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}
.t-homeLeadImages--1 {
  top: -90px;
  left: 4.6666666667%;
  width: 21.0666666667%;
}
@media screen and (min-width: 769px) {
  .t-homeLeadImages--1 {
    top: -120px;
    left: 7.8125%;
    width: 14.53125%;
  }
}
.t-homeLeadImages--2 {
  top: -50px;
  right: -4.6666666667%;
  width: 26.9333333333%;
}
@media screen and (min-width: 769px) {
  .t-homeLeadImages--2 {
    top: 20px;
    right: 0.390625%;
    width: 19.140625%;
  }
}
.t-homeLeadImages--3 {
  bottom: -80px;
  left: 3.7333333333%;
  width: 23.4666666667%;
}
@media screen and (min-width: 769px) {
  .t-homeLeadImages--3 {
    bottom: -160px;
    left: 1.171875%;
    width: 23.59375%;
  }
}
.t-homeLeadColors {
  z-index: -1;
  position: absolute;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}
.t-homeLeadColors--1 {
  top: -10px;
  left: -18.6666666667%;
  width: 32.2666666667%;
}
@media screen and (min-width: 769px) {
  .t-homeLeadColors--1 {
    top: -90px;
    left: -11.71875%;
    width: 33.046875%;
  }
}
.t-homeLeadColors--2 {
  bottom: -70px;
  right: -13.3333333333%;
  width: 32.2666666667%;
}
@media screen and (min-width: 769px) {
  .t-homeLeadColors--2 {
    bottom: -170px;
    right: -17.1875%;
    width: 31.953125%;
  }
}
.t-homeLead .c-circles {
  top: -120px;
  right: 21.3333333333%;
}
@media screen and (min-width: 769px) {
  .t-homeLead .c-circles {
    top: -120px;
    right: 3.59375%;
  }
}

.t-homeBanners {
  padding: 30px 5.3333333333%;
  box-sizing: border-box;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-homeBanners {
    padding: 59px 7.8125%;
  }
}
.t-homeBanners ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 21px 0;
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul {
    justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li {
    border-left: 1px solid #DBDBDB;
  }
}
.t-homeBanners ul li a {
  display: block;
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
}
.t-homeBanners ul li picture, .t-homeBanners ul li img {
  display: block;
  margin: 0 auto;
}
.t-homeBanners ul li.banner01 {
  width: 13.7313432836%;
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li.banner01 {
    width: 21.8518518519%;
  }
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li.banner01 picture {
    width: 33.8983050847%;
  }
}
.t-homeBanners ul li.banner02 {
  width: 28.0597014925%;
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li.banner02 {
    width: 21.8518518519%;
  }
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li.banner02 picture {
    width: 61.8644067797%;
  }
}
.t-homeBanners ul li.banner03 {
  width: 45.0746268657%;
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li.banner03 {
    width: 21.8518518519%;
  }
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li.banner03 picture {
    width: 86.8644067797%;
  }
}
.t-homeBanners ul li.banner04 {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li.banner04 {
    flex: 1;
    width: auto;
  }
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li.banner04 a {
    justify-content: flex-end;
  }
}
@media screen and (min-width: 769px) {
  .t-homeBanners ul li.banner04 picture, .t-homeBanners ul li.banner04 img {
    width: 90.3225806452%;
    margin-left: auto;
  }
}

.t-homeNews {
  padding: 57px 5.3333333333% 60px;
}
@media screen and (min-width: 769px) {
  .t-homeNews {
    padding: 60px 7.8125% 40px;
  }
}
@media screen and (min-width: 769px) {
  .t-homeNews .l-limit {
    display: flex;
    justify-content: space-between;
    align-items: self-start;
    gap: 0 76px;
  }
}
.t-homeNews__heading {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .t-homeNews__heading {
    flex: 1;
    flex-direction: column;
    margin-bottom: 0;
  }
}
.t-homeNews__heading p {
  flex: 1;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 30px;
  letter-spacing: 0em;
  line-height: 30px;
}
@media screen and (min-width: 769px) {
  .t-homeNews__heading p {
    margin-bottom: 20px;
    font-size: 40px;
    letter-spacing: 0em;
    line-height: 30px;
  }
}
.t-homeNews__heading .c-part-arrow {
  width: 78px;
}
@media screen and (min-width: 769px) {
  .t-homeNews__table {
    width: 82.7777777778%;
  }
}
.t-homeNews__table tr {
  display: flex;
  flex-direction: column;
  gap: 3px 0;
  border-bottom: 1px solid #1B3142;
  padding: 14px 0;
}
@media screen and (min-width: 769px) {
  .t-homeNews__table tr {
    flex-direction: row;
    gap: 30px;
  }
}
.t-homeNews__table tr:first-of-type {
  padding-top: 0;
}
@media screen and (min-width: 769px) {
  .t-homeNews__table tr:last-of-type {
    border-bottom: none;
  }
}
.t-homeNews__table th {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .t-homeNews__table th {
    flex: 1;
    font-size: 15px;
    letter-spacing: 0.02em;
    line-height: 24px;
  }
}
.t-homeNews__table td {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 19.5px;
}
@media screen and (min-width: 769px) {
  .t-homeNews__table td {
    width: 87.6957494407%;
    font-size: 15px;
    letter-spacing: 0.02em;
    line-height: 22.5px;
  }
}

.t-homeFuture__image {
  position: relative;
}
.t-homeFuture__image::before {
  content: "";
  z-index: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 140px;
  background: linear-gradient(0deg, #071928 5.35%, rgba(7, 25, 40, 0.63) 50.67%, rgba(7, 25, 40, 0) 89.12%);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .t-homeFuture__image::before {
    height: 315px;
    background: linear-gradient(0deg, #071928 5.35%, rgba(7, 25, 40, 0.63) 50.67%, rgba(7, 25, 40, 0) 89.12%);
  }
}
.t-homeFuture__image picture {
  display: block;
  width: 152%;
  margin-left: -26%;
}
@media screen and (min-width: 769px) {
  .t-homeFuture__image picture {
    width: 100%;
    margin-left: 0;
  }
}
.t-homeFutureWrap {
  margin-bottom: 120px;
  padding: 0 5.3333333333%;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap {
    margin-bottom: 77px;
    padding: 0 7.8125%;
  }
}
.t-homeFutureWrap__inner {
  z-index: 1;
  position: relative;
  margin-top: -80px;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__inner {
    display: grid;
    grid-template: "title list" "button list";
    grid-template-columns: 49.2592592593% 48.1481481481%;
    grid-template-rows: auto 1fr;
    justify-content: space-between;
  }
  .c-button--label {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-button--blue {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-formItem__back {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .c-formItem__button {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}
.t-homeFutureWrap__inner .c-circles {
  bottom: -70px;
  left: 7.4666666667%;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__inner .c-circles {
    bottom: -140px;
    left: 1.5625%;
  }
}
.t-homeFutureWrap__title {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 32px;
  letter-spacing: 0em;
  line-height: 54px;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__title {
    grid-area: title;
    margin-bottom: 40px;
    text-align: left;
    font-family: "Libre Baskerville", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 40px;
    letter-spacing: 0em;
    line-height: 70px;
    white-space: nowrap;
  }
}
@media screen and (min-width: 1000px) {
  .t-homeFutureWrap__title {
    grid-area: title;
    margin-bottom: 40px;
    text-align: left;
    font-family: "Libre Baskerville", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 60px;
    letter-spacing: 0em;
    line-height: 90px;
  }
}
.t-homeFutureWrap__title h1 {
  opacity: 0;
}
.t-homeFutureWrap__list {
  --yellow-background-mask-size: 0%;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 2.0895522388%;
  margin: 80px 0;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__list {
    grid-area: list;
    margin: 20px 0 0 0;
    padding: 0;
    gap: 36px;
  }
}
.t-homeFutureWrap__list::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120.5970149254%;
  aspect-ratio: 1/1;
  background-color: #FEBE10;
  border-radius: 50%;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: var(--yellow-background-mask-size);
  mask-size: var(--yellow-background-mask-size);
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__list::before {
    width: 145%;
  }
}
.t-homeFutureWrap__list li {
  opacity: 0;
  display: flex;
  gap: 0 10px;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__list li {
    gap: 0 18px;
  }
}
.t-homeFutureWrap__list li picture {
  display: block;
  width: 78px;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__list li picture {
    width: 80px;
  }
}
@media screen and (min-width: 1000px) {
  .t-homeFutureWrap__list li picture {
    width: 106px;
  }
}
.t-homeFutureWrap__list li p {
  flex: 1;
  margin-top: -4px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 22px;
  letter-spacing: 0em;
  line-height: 1.6;
  color: #000000;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__list li p {
    font-size: 22px;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 1000px) {
  .t-homeFutureWrap__list li p {
    font-size: 30px;
    letter-spacing: 0em;
  }
}
.t-homeFutureWrap__list li span {
  display: block;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 21px;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__list li span {
    font-size: 16px;
    letter-spacing: 0.02em;
  }
}
@media screen and (min-width: 1000px) {
  .t-homeFutureWrap__list li span {
    font-size: 18px;
    letter-spacing: 0.02em;
    line-height: 27px;
  }
}
.t-homeFutureWrap__button {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__button {
    grid-area: button;
    width: 88.3458646617%;
    max-width: 470px;
  }
}
@media screen and (min-width: 769px){
  .t-homeFutureWrap__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .t-homeFutureWrap__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .t-homeFutureWrap__list {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .t-homeFutureWrap__button {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}
.t-homeFutureWrap__button a {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 11px 0;
  border-radius: 200px;
  background-color: #005DAC;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__button a {
    padding: 18px 0;
  }
}
.t-homeFutureWrap__button a img {
  display: block;
  position: absolute;
  top: 46%;
  transform: translateY(-50%) rotate(-35deg);
  left: 20px;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__button a img {
    left: 30px;
  }
}
.t-homeFutureWrap__button a.tour img {
  width: 64px;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__button a.tour img {
    width: 80px;
  }
}
.t-homeFutureWrap__button a span {
  color: #ffffff;
  font-size: 17px;
  letter-spacing: 0em;
  line-height: 40px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__button a span {
    font-size: 22px;
    letter-spacing: 0em;
    line-height: 40px;
  }
}
.t-homeFutureWrap__button a svg {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
}
@media screen and (min-width: 769px) {
  .t-homeFutureWrap__button a svg {
    right: 30px;
  }
}

@media screen and (min-width: 769px) {
  .t-homeAbout {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 300px auto 180px;
  }
}
.t-homeAboutSlider {
  position: relative;
  width: 100%;
  aspect-ratio: 565/420;
}
@media screen and (min-width: 769px) {
  .t-homeAboutSlider {
    width: 44.140625%;
  }
}
.t-homeAboutSlider__wrap__item {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  opacity: 0;
  z-index: 0;
  pointer-events: none;
}
.t-homeAboutSlider__wrap__item.is-current {
  z-index: 3;
  opacity: 1;
  pointer-events: auto;
  transform: scale(1) translateY(0);
}
.t-homeAboutSlider__wrap__item.is-next {
  z-index: 2;
  opacity: 1;
  transform: scale(0.95) translateY(-30px);
}
.t-homeAboutSlider__wrap__item.is-behind {
  z-index: 1;
  opacity: 1;
  transform: scale(0.9) translateY(-56px);
}
.t-homeAboutSlider__navigaton {
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -36px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 11px;
  width: -moz-max-content;
  width: max-content;
  height: 18px;
}
@media screen and (min-width: 769px) {
  .t-homeAboutSlider__navigaton {
    right: 0;
    left: auto;
    transform: translateX(0);
  }
}
.t-homeAboutSlider__navigaton span {
  position: relative;
  display: block;
  width: 8px;
  height: 8px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 0.2;
  transition: all 0.25s ease-out 0s;
}
.t-homeAboutSlider__navigaton span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  aspect-ratio: 1/1;
  border: 2px solid #ffffff;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.25s ease-out 0s;
}
.t-homeAboutSlider__navigaton span.is-active {
  opacity: 1;
  transform: scale(0.6);
}
.t-homeAboutSlider__navigaton span.is-active::before {
  opacity: 1;
}
.t-homeAboutContents {
  position: relative;
  padding: 60px 5.3333333333% 90px;
}
@media screen and (min-width: 769px) {
  .t-homeAboutContents {
    width: 48.90625%;
    position: relative;
    padding: 0 7.8125% 0 0;
    box-sizing: border-box;
  }
}
.t-homeAboutContents .c-circles {
  z-index: 1;
  bottom: -16px;
  right: 10.1333333333%;
}
@media screen and (min-width: 769px) {
  .t-homeAboutContents .c-circles {
    bottom: -220px;
    right: 11.796875%;
  }
}
.t-homeAboutContents__heading {
  text-align: center;
  margin-bottom: 12px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 36px;
  letter-spacing: 0.02em;
  line-height: 54px;
}
@media screen and (min-width: 769px) {
  .t-homeAboutContents__heading {
    text-align: left;
    font-size: 60px;
    letter-spacing: 0.02em;
    line-height: 90px;
  }
}
.t-homeAboutContents__text {
  margin-bottom: 40px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 32px;
}
@media screen and (min-width: 769px) {
  .t-homeAboutContents__text {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 36px;
  }
}
@media screen and (min-width: 1000px) {
  .t-homeAboutContents__text {
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 40px;
  }
}
.t-homeAboutContents__background {
  display: none;
}
@media screen and (min-width: 769px) {
  .t-homeAboutContents__background {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0%;
    width: 77.4760383387%;
    opacity: 0.04;
    pointer-events: none;
  }
}
@media screen and (min-width: 769px) {
  .t-homeAbout .c-button {
    margin-right: 0;
    margin-left: 0;
  }
}

.t-homeSection__image {
  position: relative;
}
.t-homeSection__image::before {
  content: "";
  z-index: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 140px;
  background: linear-gradient(0deg, #071928 5.35%, rgba(7, 25, 40, 0.63) 50.67%, rgba(7, 25, 40, 0) 89.12%);
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .t-homeSection__image::before {
    height: 315px;
    background: linear-gradient(0deg, #071928 5.35%, rgba(7, 25, 40, 0.63) 50.67%, rgba(7, 25, 40, 0) 89.12%);
  }
}
.t-homeSection__image picture {
  display: block;
  width: 152%;
  margin-left: -26%;
}
@media screen and (min-width: 769px) {
  .t-homeSection__image picture {
    width: 100%;
    margin-left: 0;
  }
}
.t-homeSectionContets {
  position: relative;
  padding: 0 5.3333333333% 116px;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets {
    padding: 0 0 180px;
  }
}
.t-homeSectionContets__inner {
  position: relative;
  margin-top: -80px;
}
.t-homeSectionContets__inner__heading {
  text-align: center;
  margin-bottom: 17px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 36px;
  letter-spacing: 0.02em;
  line-height: 54px;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets__inner__heading {
    margin-bottom: 50px;
    font-size: 92px;
    letter-spacing: 0em;
    line-height: 1.35;
    padding: 0 2%;
  }
}
@media screen and (min-width: 1000px) {
  .t-homeSectionContets__inner__heading {
    margin-bottom: 50px;
    font-size: 118px;
    letter-spacing: 0em;
  }
}
.t-homeSectionContets__inner__text {
  margin-bottom: 40px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 32px;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets__inner__text {
    text-align: center;
    margin: 0 auto 70px;
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 36px;
    padding: 0 2%;
  }
}
@media screen and (min-width: 1000px) {
  .t-homeSectionContets__inner__text {
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 40px;
  }
}
.t-homeSectionContets__inner__type {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets__inner__type {
    margin-bottom: 80px;
  }
}
.t-homeSectionContets__inner__type p {
  text-align: center;
  margin-bottom: 10px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 24.5px;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets__inner__type p {
    margin-bottom: 16px;
    font-size: 18px;
    letter-spacing: 0.02em;
    line-height: 30px;
  }
}
.t-homeSectionContets__inner__type ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets__inner__type ul {
    justify-content: center;
    gap: 0 20px;
  }
}
.t-homeSectionContets__inner__type ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30.1492537313%;
  aspect-ratio: 1/1;
  font-family: "Libre Baskerville", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 15.14px;
  letter-spacing: 0.02em;
  line-height: 41.7px;
  color: #000000;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets__inner__type ul li {
    width: 10.46875%;
    font-size: 20px;
    letter-spacing: 0.02em;
    line-height: 55.1px;
    min-width: 126px;
  }
}
.t-homeSectionContets__background {
  position: absolute;
  top: 240px;
  left: 0;
  width: 100%;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets__background {
    top: 170px;
  }
}
.t-homeSectionContets .c-circles--2 {
  z-index: 1;
  bottom: -98px;
  left: 5.8666666667%;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets .c-circles--2 {
    bottom: 50px;
    left: 17.03125%;
  }
}
.t-homeSectionContets .c-circles--4 {
  bottom: -98px;
  right: 5.8666666667%;
}
@media screen and (min-width: 769px) {
  .t-homeSectionContets .c-circles--4 {
    bottom: 0;
    right: 11.796875%;
  }
}
.t-homeSection--academics .c-circles--3 {
  z-index: 2;
  top: -36px;
  right: 5.8%;
}
@media screen and (min-width: 769px) {
  .t-homeSection--academics .c-circles--3 {
    top: -66px;
    right: 5.8%;
  }
}

.t-homeLoop__wrap {
  display: flex;
}
.t-homeLoop__wrap__inner {
  display: flex;
  list-style: none;
  padding: 0;
  animation: infinity-scroll-left 40s infinite linear 0.5s both;
}
.t-homeLoop__wrap__inner picture {
  display: block;
  width: 83.3333333333vw;
}
@media screen and (min-width: 769px) {
  .t-homeLoop__wrap__inner picture {
    width: 28.5714285714vw;
  }
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

.t-homeTopics {
  padding: 38px 0 60px;
}
@media screen and (min-width: 769px) {
  .t-homeTopics {
    padding: 110px 0 160px;
  }
}
.t-homeTopics__heading {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: 0 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-homeTopics__heading {
    margin-bottom: 31px;
    padding: 0 7.8125%;
  }
}
.t-homeTopics__heading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 89.0666666667%;
  height: 1px;
  background-color: #ffffff;
}
@media screen and (min-width: 769px) {
  .t-homeTopics__heading::before {
    width: 84.375%;
    max-width: 1080px;
  }
}
.t-homeTopics__heading p {
  z-index: 1;
  position: relative;
  padding-right: 18px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 30px;
  letter-spacing: 0em;
  line-height: 65.68px;
  background-color: #071928;
}
@media screen and (min-width: 769px) {
  .t-homeTopics__heading p {
    font-family: "Libre Baskerville", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 40px;
    letter-spacing: 0em;
    line-height: 65.68px;
  }
}
.t-homeTopics__heading .c-part-arrow {
  z-index: 1;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 13px;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 18px;
  background-color: #071928;
}
@media screen and (min-width: 769px) {
  .t-homeTopics__heading .c-part-arrow {
    width: 124px;
  }
}
.t-homeTopics__heading .c-part-arrow span {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 33px;
}
@media screen and (min-width: 769px) {
  .t-homeTopics__heading .c-part-arrow span {
    font-size: 14px;
    letter-spacing: 0em;
    line-height: 33px;
  }
}
.t-homeTopicsSlider {
  padding-left: 5.3333333333%;
}
@media screen and (min-width: 769px) {
  .t-homeTopicsSlider {
    padding-left: 7.8125%;
  }
}
.t-homeTopicsSlider__thumb {
  position: relative;
}
.t-homeTopicsSlider__thumb picture, .t-homeTopicsSlider__thumb img {
  aspect-ratio: 243/190;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}
.t-homeTopicsSlider__thumb span {
  position: absolute;
  top: 7px;
  left: 7px;
  display: inline-block;
  padding: 4px 9px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 10px;
  letter-spacing: 0em;
  line-height: 10px;
  border: 1px solid #ffffff;
  border-radius: 200px;
  background-color: #071928;
}
.t-homeTopicsSlider__text {
  margin-top: 12px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 22.5px;
}
@media screen and (min-width: 769px) {
  .t-homeTopicsSlider__text {
    margin-top: 14px;
  }
}
.t-homeTopicsSlider:has(.t-homeTopicsSlider__state) .t-homeTopicsSlider__text {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.t-homeTopicsSlider__state {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 12px;
}
@media screen and (min-width: 769px) {
  .t-homeTopicsSlider__state {
    margin-top: 20px;
    flex-direction: row;
    justify-content: end;
  }
}
@media screen and (min-width: 769px) {
  .t-homeTopicsSlider__state:has(ul) {
    justify-content: space-between;
  }
}
.t-homeTopicsSlider__state ul {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
  margin-top: 4px;
}
@media screen and (min-width: 769px) {
  .t-homeTopicsSlider__state ul {
    margin-top: 0px;
  }
}
.t-homeTopicsSlider__state ul li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 1.4;
  white-space: nowrap;
}
.t-homeTopicsSlider__state ul li::before {
  content: "#";
}
.t-homeTopicsSlider__state time {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .t-homeTopicsSlider__state time {
    text-align: right;
    width: 103px;
  }
}
.t-homeTopicsSlider__readMore {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  margin: 0.5em 0 0 auto;
  display: block;
  text-align: right;
  text-decoration: underline;
}

.t-homeCtaNews {
  position: fixed;
  bottom: 85px;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .t-homeCtaNews {
    bottom: 30px;
    right: 30px;
    left: inherit;
  }
}
.t-homeCtaNews a {
  background-color: #D6FF6D;
  padding: 5px 0;
  transition: opacity 0.4s;
  position: relative;
  display: block;
  text-align: center;
  width: 355px;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .t-homeCtaNews a {
    padding: 14px 20px;
    text-align: left;
    width: inherit;
  }
}
.t-homeCtaNews a:hover {
  opacity: 0.7;
}
.t-homeCtaNews span {
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0em;
  color: #000;
  line-height: 1.35;
}
@media screen and (min-width: 769px) {
  .t-homeCtaNews span {
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 1.5;
  }
}
.t-homeCtaNews .-arrow {
  position: absolute;
  right: 20px;
  display: inline-block;
  vertical-align: middle;
  color: #000;
  line-height: 1;
  width: 21px;
  height: 0.1em;
  background: currentColor;
  margin-left: 15px;
  border-radius: 3px;
}
@media screen and (min-width: 769px) {
  .t-homeCtaNews .-arrow {
    position: relative;
    right: inherit;
  }
}
.t-homeCtaNews .-arrow::after {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}

/*----------------------------------------
	Page About
----------------------------------------*/
.t-fvAbout {
  position: relative;
  padding: 82px 0 20px;
}
@media screen and (min-width: 769px) {
  .t-fvAbout {
    padding: 0;
  }
}
.t-fvAboutMain {
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 56%;
  width: 86.6666666667%;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  .t-fvAboutMain {
    top: 50%;
    width: 554px;
  }
}
.t-fvAboutMain .c-circles {
  z-index: 1;
  top: 10px;
  left: 20px;
}
@media screen and (min-width: 769px) {
  .t-fvAboutMain .c-circles {
    top: 36px;
    left: 10px;
  }
}
.t-fvAboutMain__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  background-color: #102435;
  border-radius: 50%;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}
.t-fvAboutMain__heading {
  text-align: center;
  margin-bottom: 12px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  letter-spacing: 0em;
  line-height: 39.24px;
}
@media screen and (min-width: 769px) {
  .t-fvAboutMain__heading {
    margin-bottom: 24px;
    font-size: 50px;
    letter-spacing: 0em;
    line-height: 65.39px;
  }
}
.t-fvAboutMain__subheading {
  text-align: center;
  margin-bottom: 18px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .t-fvAboutMain__subheading {
    margin-bottom: 32px;
    font-size: 28px;
    letter-spacing: 0em;
    line-height: 42px;
  }
}
.t-fvAboutMain__text {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 21px;
}
@media screen and (min-width: 769px) {
  .t-fvAboutMain__text {
    font-size: 18px;
    letter-spacing: 0.02em;
    line-height: 31.5px;
  }
}
.t-fvAboutWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  .t-fvAboutWrap {
    width: 100%;
    margin: 0;
  }
}
.t-fvAboutWrap__column {
  display: flex;
  justify-content: center;
}
.t-fvAboutWrap__column--1, .t-fvAboutWrap__column--3 {
  width: 195.4666666667%;
}
@media screen and (min-width: 769px) {
  .t-fvAboutWrap__column--1, .t-fvAboutWrap__column--3 {
    width: 105.625%;
  }
}
.t-fvAboutWrap__column--2 {
  width: 234.1333333333%;
  margin: -5.4% 0;
}
@media screen and (min-width: 769px) {
  .t-fvAboutWrap__column--2 {
    width: 126.875%;
    margin: -3% 0;
  }
}
.t-fvAboutWrap__item {
  position: relative;
  width: 38.9333333333vw;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}
@media screen and (min-width: 769px) {
  .t-fvAboutWrap__item {
    width: 21.09375vw;
  }
}
.t-fvAboutWrap__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
}

.t-aboutLead {
  position: relative;
  padding: 77px 5.3333333333% 60px;
  box-sizing: border-box;
  background: transparent url(../image/about/bg_about01.jpg) no-repeat scroll center bottom/cover;
}
@media screen and (min-width: 769px) {
  .t-aboutLead {
    padding: 100px 0 136px;
  }
}
.t-aboutLead__heading {
  text-align: center;
  margin-bottom: 20px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .t-aboutLead__heading {
    margin-bottom: 23px;
    font-size: 36px;
    letter-spacing: 0em;
    line-height: 54px;
  }
}
.t-aboutLead__text {
  z-index: 1;
  position: relative;
  text-align: center;
  margin-bottom: 30px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 28px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .t-aboutLead__text {
    margin-bottom: 60px;
    font-size: 24px;
    letter-spacing: 0em;
    line-height: 48px;
  }
}
.t-aboutLead__text em {
  color: #FEBE10;
}
.t-aboutLead__message {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 22.5px;
}
@media screen and (min-width: 769px) {
  .t-aboutLead__message {
    max-width: 708px;
    margin: 0 auto;
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.t-aboutLead .c-button--label {
  margin: 0 auto;
}

.t-aboutOverview {
  padding: 60px 5.3333333333%;
  box-sizing: border-box;
  background-color: #0C2438;
}
@media screen and (min-width: 769px) {
  .t-aboutOverview {
    padding: 80px 0;
  }
}
@media screen and (min-width: 769px) {
  .t-aboutOverview .l-limit {
    display: flex;
    justify-content: center;
    gap: 0 4.0268456376%;
    max-width: 680px;
  }
}
@media screen and (min-width: 1000px) {
  .t-aboutOverview .l-limit {
    max-width: 880px;
  }
}
.t-aboutOverview__image {
  width: 57.3134328358%;
  margin: 0 auto 25px;
  padding: 10px;
  background-color: #ffffff;
  box-sizing: border-box;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 769px) {
  .t-aboutOverview__image {
    width: 38.1818181818%;
    margin: 0;
    padding: 24px 0;
  }
}
.t-aboutOverview__image picture {
  display: block;
  width: 36.4583333333%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .t-aboutOverview__image picture {
    width: 34.8214285714%;
  }
}
.t-aboutOverview__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .t-aboutOverview__text {
    flex: 1;
    font-size: 16px;
    letter-spacing: 0.01em;
    line-height: 1.75;
  }
}
.t-aboutOverview__text strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

/*----------------------------------------
	Page History
----------------------------------------*/
.t-fvHistory {
  position: relative;
  padding: 135px 5.3333333333% 55px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-fvHistory {
    padding: 179px 7.8125% 107px;
  }
}
.t-fvHistory__main {
  z-index: 1;
  position: relative;
  text-align: center;
  margin-bottom: 11px;
}
@media screen and (min-width: 769px) {
  .t-fvHistory__main {
    margin-bottom: 0px;
  }
}
.t-fvHistory__main__wrap {
  position: relative;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
.t-fvHistory__main__wrap .c-circles {
  top: -54px;
  right: -20px;
}
@media screen and (min-width: 769px) {
  .t-fvHistory__main__wrap .c-circles {
    top: -90px;
    right: -140px;
  }
}
.t-fvHistory__main__heading {
  opacity: 0;
  pointer-events: none;
  margin-bottom: 13px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  letter-spacing: 0em;
  line-height: 39px;
}
@media screen and (min-width: 769px) {
  .t-fvHistory__main__heading {
    margin-bottom: 47px;
    font-size: 50px;
    letter-spacing: 0em;
    line-height: 65px;
  }
}
.t-fvHistory__main__text {
  opacity: 0;
  pointer-events: none;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 24px;
}
@media screen and (min-width: 769px) {
  .t-fvHistory__main__text {
    font-size: 26px;
    letter-spacing: 0em;
    line-height: 39px;
  }
}
.t-fvHistoryImages {
  position: relative;
  width: 100%;
  aspect-ratio: 332/218;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImages {
    margin-top: -120px;
  }
}
.t-fvHistoryImagesSlide {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 46.0843373494%;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImagesSlide {
    width: 41.2037037037%;
  }
}
.t-fvHistoryImagesSlide__item {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-mask-image: conic-gradient(#000 0deg, transparent 0deg);
  mask-image: conic-gradient(#000 0deg, transparent 0deg);
}
.t-fvHistoryImagesSlide__item:nth-child(1) {
  z-index: 1;
}
.t-fvHistoryImagesSlide__item:nth-child(n+2) {
  z-index: 0;
}
.t-fvHistoryImages__els {
  position: absolute;
  transform: scale(0);
}
.t-fvHistoryImages__els--1 {
  top: 6.7%;
  left: 2.1%;
  width: 34.9397590361%;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImages__els--1 {
    top: 11%;
    left: 7.1%;
    width: 31.2037037037%;
  }
}
.t-fvHistoryImages__els--2 {
  top: 30.2%;
  left: 0.3%;
  width: 29.5180722892%;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImages__els--2 {
    top: 32.5%;
    left: 5.6%;
    width: 26.4814814815%;
  }
}
.t-fvHistoryImages__els--3 {
  bottom: 16.3%;
  left: 0.1%;
  width: 20.4819277108%;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImages__els--3 {
    bottom: 19.5%;
    left: 5.3%;
    width: 18.3333333333%;
  }
}
.t-fvHistoryImages__els--4 {
  bottom: 10.9%;
  left: 25.2%;
  width: 14.4578313253%;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImages__els--4 {
    bottom: 14.5%;
    left: 27.9%;
    width: 13.0555555556%;
  }
}
.t-fvHistoryImages__els--5 {
  top: 7.5%;
  right: 5.3%;
  width: 30.421686747%;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImages__els--5 {
    top: 12%;
    right: 9.5%;
    width: 27.2222222222%;
  }
}
.t-fvHistoryImages__els--6 {
  right: 18%;
  bottom: 14.5%;
  width: 17.1686746988%;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImages__els--6 {
    right: 20.9%;
    bottom: 18.2%;
    width: 15.2777777778%;
  }
}
.t-fvHistoryImages__els--7 {
  right: 0.5%;
  bottom: 11.6%;
  width: 18.0722891566%;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImages__els--7 {
    right: 3.4%;
    bottom: 15.6%;
    width: 16.0185185185%;
  }
}
.t-fvHistoryImagesColors {
  z-index: -1;
  position: absolute;
  -webkit-mask-image: url(../image/common/circle_blue.svg);
  mask-image: url(../image/common/circle_blue.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 0%;
  mask-size: 0%;
}
.t-fvHistoryImagesColors--1 {
  bottom: 8%;
  left: 8%;
  width: 23.7951807229%;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImagesColors--1 {
    bottom: 12.2%;
    left: 12.2%;
    width: 21.4814814815%;
  }
}
.t-fvHistoryImagesColors--2 {
  top: 13.3%;
  right: 23.4%;
  width: 12.3493975904%;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryImagesColors--2 {
    top: 17.4%;
    right: 25.8%;
    width: 11.1111111111%;
  }
}
.t-fvHistoryLead {
  margin-top: 1px;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryLead {
    margin-top: -60px;
  }
}
@media screen and (min-width: 1000px) {
  .t-fvHistoryLead {
    margin-top: -103px;
  }
}
.t-fvHistoryLead__heading {
  text-align: center;
  margin-bottom: 42px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0em;
  line-height: 33px;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryLead__heading {
    margin-bottom: 63px;
    font-size: 36px;
    letter-spacing: 0em;
    line-height: 64px;
  }
}
@media screen and (min-width: 1000px) {
  .t-fvHistoryLead__heading {
    font-size: 48px;
    letter-spacing: 0em;
    line-height: 81px;
  }
}
.t-fvHistoryLead__text {
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .t-fvHistoryLead__text {
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 40px;
  }
}
.t-fvHistoryLead__text em {
  color: #FEBE10;
}

.t-historySummary {
  position: relative;
  padding-top: 258px;
}
@media screen and (min-width: 769px) {
  .t-historySummary {
    padding-top: 200px;
  }
}
.t-historySummary .l-limit {
  z-index: 1;
  position: relative;
}
.t-historySummary + .t-historySummary {
  padding-top: 362px;
}
@media screen and (min-width: 769px) {
  .t-historySummary + .t-historySummary {
    padding-top: 204px;
  }
}
.t-historySummary__contents {
  position: relative;
  margin-bottom: 30px;
  padding: 0 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-historySummary__contents {
    width: 55.3125%;
    margin: 0 auto 80px;
    padding: 0;
  }
}
.t-historySummary__contents__heading {
  text-align: center;
  margin-bottom: 30px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  letter-spacing: 0em;
  line-height: 42px;
}
@media screen and (min-width: 769px) {
  .t-historySummary__contents__heading {
    margin-bottom: 60px;
    font-size: 40px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
.t-historySummary__contents__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .t-historySummary__contents__text {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
.t-historySummary__contents__text strong {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.t-historySummary__slide {
  position: relative;
  padding: 0 5.3333333333%;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-historySummary__slide {
    width: 69.609375%;
    margin: 0 auto 30px;
    padding: 0;
  }
}
.t-historySummary__slide .swiper-slide {
  opacity: 0;
  transition: opacity 0.35s ease-in 0s;
}
.t-historySummary__slide .swiper-slide-active {
  opacity: 1;
}
.t-historySummary__slide .swiper-pagination {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: auto !important;
  left: 50% !important;
  bottom: -36px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 11px;
  width: -moz-max-content;
  width: max-content;
  height: 18px;
}
.t-historySummary__slide .swiper-pagination-bullet {
  position: relative;
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 !important;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 0.2;
  transition: all 0.25s ease-out 0s;
}
.t-historySummary__slide .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  aspect-ratio: 1/1;
  border: 2px solid #ffffff;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.25s ease-out 0s;
}
.t-historySummary__slide .swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(0.6);
}
.t-historySummary__slide .swiper-pagination-bullet-active::before {
  opacity: 1;
}
.t-historySummary__image {
  z-index: -1;
  position: relative;
  width: 152%;
  margin-left: -26px;
}
@media screen and (min-width: 769px) {
  .t-historySummary__image {
    width: 100%;
    margin: 0;
  }
}
.t-historySummary:nth-of-type(1) .c-circles {
  top: -60px;
  left: 17%;
}
@media screen and (min-width: 769px) {
  .t-historySummary:nth-of-type(1) .c-circles {
    top: -110px;
    left: 0;
  }
}
.t-historySummary:nth-of-type(2) .c-circles {
  top: -60px;
  right: 17%;
}
@media screen and (min-width: 769px) {
  .t-historySummary:nth-of-type(2) .c-circles {
    top: -110px;
    right: 0;
  }
}
.t-historySummary .c-mask-image--1 {
  width: 24%;
  top: -243px;
  right: 29.1%;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-image--1 {
    top: 164px;
    right: auto;
    left: 5.6%;
    width: 13.828125%;
  }
}
.t-historySummary .c-mask-image--2 {
  width: 34.6666666667%;
  top: -135px;
  right: 10.4%;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-image--2 {
    top: 122px;
    right: 2.4%;
    width: 18.75%;
  }
}
.t-historySummary .c-mask-image--3 {
  width: 37.3333333333%;
  top: -220px;
  left: 4.3%;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-image--3 {
    top: 453px;
    left: -4.5%;
    width: 21.015625%;
  }
}
.t-historySummary .c-mask-color--1 {
  display: none;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-color--1 {
    z-index: -1;
    display: block;
    top: 194px;
    left: -18.4%;
    width: 27.96875%;
  }
}
.t-historySummary .c-mask-color--2 {
  display: none;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-color--2 {
    z-index: -1;
    display: block;
    top: 295px;
    right: -16.6%;
    width: 30.390625%;
  }
}
.t-historySummary .c-mask-image--4 {
  width: 44.2666666667%;
  top: -192px;
  left: 1.3%;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-image--4 {
    top: 112px;
    left: 2.2%;
    width: 18.28125%;
  }
}
.t-historySummary .c-mask-image--5 {
  width: 25.6%;
  top: -300px;
  left: 32.8%;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-image--5 {
    top: 173px;
    right: 3%;
    left: auto;
    width: 13.75%;
  }
}
.t-historySummary .c-mask-image--6 {
  width: 32%;
  top: -210px;
  right: 9.2%;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-image--6 {
    top: 538px;
    right: 1.3%;
    width: 18.75%;
  }
}
.t-historySummary .c-mask-color--3 {
  display: none;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-color--3 {
    display: block;
    z-index: -1;
    top: 272px;
    right: -15.4%;
    width: 27.8125%;
  }
}
.t-historySummary .c-mask-color--4 {
  display: none;
}
@media screen and (min-width: 769px) {
  .t-historySummary .c-mask-color--4 {
    display: block;
    z-index: -1;
    top: 245px;
    left: -19.5%;
    width: 33.984375%;
  }
}

/*----------------------------------------
	Page History
----------------------------------------*/
.t-leadershipIntro {
  padding: 72px 5.3333333333%;
  background-color: #0C2438;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-leadershipIntro {
    padding: 118px 7.8125%;
  }
}
.t-leadershipIntro .c-circles {
  top: -100px;
  left: 0%;
}
@media screen and (min-width: 769px) {
  .t-leadershipIntro .c-circles {
    top: -100px;
    left: 10%;
  }
}
.t-leadershipIntro__heading {
  text-align: center;
  margin-bottom: 30px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  letter-spacing: 0em;
  line-height: 42px;
}
@media screen and (min-width: 769px) {
  .t-leadershipIntro__heading {
    margin-bottom: 60px;
    font-size: 40px;
    letter-spacing: 0em;
    line-height: 1.75;
  }
}
@media screen and (min-width: 769px) {
  .t-leadershipIntro__wrap {
    display: flex;
    justify-content: space-between;
  }
}
.t-leadershipIntro__wrap__image {
  margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
  .t-leadershipIntro__wrap__image {
    display: block;
    width: 30.462962963%;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  .t-leadershipIntro__wrap__contents {
    width: 65.5555555556%;
    margin-top: -10px;
  }
}
.t-leadershipIntro__wrap__contents p {
  margin-bottom: 10px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .t-leadershipIntro__wrap__contents p {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.t-leadershipIntro__wrap__contents picture {
  display: block;
  width: 174px;
  margin-left: auto;
}
@media screen and (min-width: 769px) {
  .t-leadershipIntro__wrap__contents picture {
    width: 221px;
  }
}

.t-leadershipSpeech {
  padding: 61px 5.3333333333% 69px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .t-leadershipSpeech {
    padding: 121px 7.8125%;
  }
}
.t-leadershipSpeech .c-circles {
  right: 14%;
  top: -20px;
}
@media screen and (min-width: 769px) {
  .t-leadershipSpeech .c-circles {
    right: 4%;
    top: -56px;
  }
}
.t-leadershipSpeechWrap {
  padding: 45px 4.776119403%;
  border: 1px solid #ffffff;
}
@media screen and (min-width: 769px) {
  .t-leadershipSpeechWrap {
    display: flex;
    justify-content: space-between;
    gap: 3.933747412%;
    padding: 90px 5.2777777778%;
  }
}
.t-leadershipSpeechWrap:not(:first-child) {
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .t-leadershipSpeechWrap:not(:first-child) {
    margin-top: 60px;
  }
}
.t-leadershipSpeechWrap__image {
  width: 53.3333333333%;
  margin: 0 auto 24px;
}
@media screen and (min-width: 769px) {
  .t-leadershipSpeechWrap__image {
    width: 28.6749482402%;
    margin: 0;
  }
}
@media screen and (min-width: 769px) {
  .t-leadershipSpeechWrap__contents {
    flex: 1;
  }
}
.t-leadershipSpeechWrap__contents__heading {
  text-align: center;
  margin-bottom: 16px;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0em;
  line-height: 36px;
}
@media screen and (min-width: 769px) {
  .t-leadershipSpeechWrap__contents__heading {
    text-align: left;
    margin-bottom: 24px;
    font-size: 36px;
    letter-spacing: 0em;
    line-height: 1.6;
  }
}
.t-leadershipSpeechWrap__contents__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .t-leadershipSpeechWrap__contents__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.t-leadershipSpeechWrap__contents__text span {
  display: block;
  text-align: right;
  margin-top: 18px;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 25px;
}
@media screen and (min-width: 769px) {
  .t-leadershipSpeechWrap__contents__text span {
    margin-top: 21px;
    font-size: 14px;
    letter-spacing: 0em;
    line-height: 25px;
  }
}

/*----------------------------------------
	Page History
----------------------------------------*/
.academics .c-hero {
  position: relative;
}

/*----------------------------------------
	Page General-Programs
----------------------------------------*/
/*----------------------------------------
	Page sub-subjects
----------------------------------------*/
.academics-sub-subjects-index .c-summary:nth-of-type(1) .c-circles {
  top: -60px;
  right: auto;
  left: 18.6666666667%;
}
@media screen and (min-width: 769px) {
  .academics-sub-subjects-index .c-summary:nth-of-type(1) .c-circles {
    top: -100px;
    left: -11.71875%;
  }
}
.academics-sub-subjects-index .c-summary:nth-of-type(2) .c-circles {
  top: -60px;
  right: 18.6666666667%;
}
@media screen and (min-width: 769px) {
  .academics-sub-subjects-index .c-summary:nth-of-type(2) .c-circles {
    top: -100px;
    right: -14.0625%;
  }
}
.academics-sub-subjects-index .c-summary:nth-of-type(3) .c-circles {
  top: -60px;
  right: 18.6666666667%;
}
@media screen and (min-width: 769px) {
  .academics-sub-subjects-index .c-summary:nth-of-type(3) .c-circles {
    top: -100px;
    right: -7.8125%;
  }
}

/*----------------------------------------
	Page General-Programs
----------------------------------------*/
.academics-language-index .t-homeSection {
  margin-top: 27px;
}
@media screen and (min-width: 769px) {
  .academics-language-index .t-homeSection {
    margin-top: 71px;
  }
}
.academics-language-index .t-homeSectionContets {
  padding-bottom: 0;
}
.academics-language-index .t-homeSectionContets__inner {
  margin-top: 0;
}
.academics-language-index .t-homeSectionContets__inner__text {
  text-align: center;
}
.academics-language-index .t-homeSectionContets__background {
  width: 128.2666666667%;
  margin-top: -160px;
  margin-left: -14%;
}
@media screen and (min-width: 769px) {
  .academics-language-index .t-homeSectionContets__background {
    width: 100%;
    margin-top: -120px;
    margin-left: 0;
  }
}
@media screen and (min-width: 769px) {
  .academics-language-index .c-summary:first-of-type {
    margin-top: 190px;
    padding-top: 0;
  }
}
.academics-language-index .c-mask-image--1 {
  width: 17.8666666667%;
  top: -92px;
  left: 2%;
}
@media screen and (min-width: 769px) {
  .academics-language-index .c-mask-image--1 {
    top: -60px;
    left: 2.2%;
    width: 18.28125%;
  }
}
.academics-language-index .c-mask-image--2 {
  width: 13.3333333333%;
  top: -77px;
  right: 4.5%;
}
@media screen and (min-width: 769px) {
  .academics-language-index .c-mask-image--2 {
    top: 3px;
    right: 3%;
    left: auto;
    width: 13.75%;
  }
}
.academics-language-index .c-mask-image--3 {
  width: 18.4%;
  top: 31px;
  right: -2.8%;
}
@media screen and (min-width: 769px) {
  .academics-language-index .c-mask-image--3 {
    top: 368px;
    right: 1.3%;
    width: 18.75%;
  }
}
.academics-language-index .c-mask-color--1 {
  z-index: -2;
  width: 27.2%;
  top: -59px;
  right: -16.8%;
}
@media screen and (min-width: 769px) {
  .academics-language-index .c-mask-color--1 {
    display: block;
    z-index: -1;
    top: 102px;
    right: -15.4%;
    width: 27.8125%;
  }
}
.academics-language-index .c-mask-color--2 {
  z-index: -2;
  width: 33.3333333333%;
  top: -48px;
  left: -16.8%;
}
@media screen and (min-width: 769px) {
  .academics-language-index .c-mask-color--2 {
    display: block;
    z-index: -1;
    top: 75px;
    left: -19.5%;
    width: 33.984375%;
  }
}

/*----------------------------------------
	Page General-Programs
----------------------------------------*/
@media screen and (min-width: 769px) {
  .academics-stem-index .l-container {
    overflow: visible;
  }
}
@media screen and (min-width: 769px) {
  .academics-stem-index .c-detail {
    overflow: visible;
  }
}
.academics-stem-index .c-summary {
  margin-bottom: 0;
  padding-top: 159px;
}
@media screen and (min-width: 769px) {
  .academics-stem-index .c-summary {
    margin-bottom: 0;
    padding-top: 193px;
  }
}
.academics-stem-index .c-mask-image--1 {
  width: 17.8666666667%;
  top: -92px;
  left: 2%;
}
@media screen and (min-width: 769px) {
  .academics-stem-index .c-mask-image--1 {
    top: -60px;
    left: 2.2%;
    width: 18.28125%;
  }
}
.academics-stem-index .c-mask-image--2 {
  width: 13.3333333333%;
  top: -77px;
  right: 4.5%;
}
@media screen and (min-width: 769px) {
  .academics-stem-index .c-mask-image--2 {
    top: 3px;
    right: 3%;
    left: auto;
    width: 13.75%;
  }
}
.academics-stem-index .c-mask-image--3 {
  width: 18.4%;
  top: 31px;
  right: -2.8%;
}
@media screen and (min-width: 769px) {
  .academics-stem-index .c-mask-image--3 {
    top: 368px;
    right: 1.3%;
    width: 18.75%;
  }
}
.academics-stem-index .c-mask-color--1 {
  z-index: -2;
  width: 27.2%;
  top: -59px;
  right: -16.8%;
}
@media screen and (min-width: 769px) {
  .academics-stem-index .c-mask-color--1 {
    display: block;
    z-index: -1;
    top: 102px;
    right: -15.4%;
    width: 27.8125%;
  }
}
.academics-stem-index .c-mask-color--2 {
  z-index: -2;
  width: 33.3333333333%;
  top: -48px;
  left: -16.8%;
}
@media screen and (min-width: 769px) {
  .academics-stem-index .c-mask-color--2 {
    display: block;
    z-index: -1;
    top: 75px;
    left: -19.5%;
    width: 33.984375%;
  }
}

/*----------------------------------------
	Page sub-subjects
----------------------------------------*/
.academics-summer-winter-school-index .c-summary {
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .academics-summer-winter-school-index .c-summary {
    padding-top: 175px;
  }
}
.academics-summer-winter-school-index .c-summary .c-circles {
  top: -60px;
  left: 18.6666666667%;
}
@media screen and (min-width: 769px) {
  .academics-summer-winter-school-index .c-summary .c-circles {
    top: -100px;
    left: -11.71875%;
  }
}

/*----------------------------------------
	Page General-Programs
----------------------------------------*/
@media screen and (min-width: 769px) {
  .saturday-school-index .l-container {
    overflow: visible;
  }
}
@media screen and (min-width: 769px) {
  .saturday-school-index .c-detail {
    overflow: visible;
  }
}
.saturday-school-index .c-button--exclude {
  max-width: 295px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .saturday-school-index .c-button--exclude {
    max-width: 310px;
    margin: 0;
  }
}
.saturday-school-index .c-button--exclude .c-part-label__motif {
  transform: translateY(10px);
}
.saturday-school-index .c-button--exclude + .c-button--exclude {
  margin-top: 18px;
}
.saturday-school-index .c-button--exclude + * {
  margin-top: 26px;
}
@media screen and (min-width: 769px) {
  .saturday-school-index .c-button--exclude + * {
    margin-top: 32px;
  }
}
@media screen and (max-width: 768px) {
  .saturday-school-index .c-pageLinks {
    padding: 0;
  }
  .saturday-school-index .c-pageLinks a {
    min-height: 94px;
    box-sizing: border-box;
  }
  .saturday-school-index .c-pageLinks .c-pageLinksItem__heading {
    line-height: 1.35;
  }
  .saturday-school-index .c-pageLinks .c-pageLinksItem__image {
    width: 70px;
  }
}
.saturday-school-index .t-aboutLead {
  margin-top: 58px;
  padding: 58px 5.3333333333% 78px;
  background-image: url(../image/saturday-school/bg01.jpg);
}
@media screen and (min-width: 769px) {
  .saturday-school-index .t-aboutLead {
    margin-top: 80px;
    padding: 168px 0 188px;
  }
}
.saturday-school-index .t-aboutLead__text {
  text-align: left;
  margin: 0;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .saturday-school-index .t-aboutLead__text {
    text-align: center;
    max-width: 840px;
    margin: 0 auto;
    font-size: 20px;
    letter-spacing: 0em;
  }
}
.saturday-school-index .c-detailExpand {
  display: block;
  margin-top: 0;
  padding-bottom: 37px;
}
@media screen and (min-width: 769px) {
  .saturday-school-index .c-detailExpand {
    padding-bottom: 0;
  }
}
.saturday-school-index .c-detailExpand .c-detailOverviewImage {
  padding-bottom: 0;
}
.saturday-school-index .c-button--label {
  margin-top: 26px;
  padding-bottom: 0;
}
@media screen and (min-width: 769px) {
  .saturday-school-index .c-button--label {
    margin-top: 32px;
  }
}
.saturday-school-index .c-summary {
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .saturday-school-index .c-summary {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  .saturday-school-index .c-button--blue a {
    width: 100%;
    max-width: 332px;
    padding: 18px 0 18px 24px;
  }
  .saturday-school-index .c-button--blue a svg {
    right: 10px;
  }
}
@media screen and (min-width: 1000px) {
  .saturday-school-index .c-button--blue a {
    width: 100%;
    max-width: 332px;
    padding: 18px 0 18px 33px;
  }
  .saturday-school-index .c-button--blue a svg {
    right: 30px;
  }
}

/*----------------------------------------
	Page admissions
----------------------------------------*/
.admissions .c-summary {
  margin-bottom: 0;
}
.admissions .c-summary .c-circles {
  top: -54px;
  right: -20px;
}
@media screen and (min-width: 769px) {
  .admissions .c-summary .c-circles {
    top: -90px;
    right: -140px;
  }
}
.admissions .c-pageList {
  padding-bottom: 30px;
}
.admissions .c-navigation {
  padding-top: 0;
  padding-bottom: 0;
  background-color: transparent;
}
@media screen and (min-width: 769px) {
  .admissions .c-pageListItemInner__list li .apply {
    padding-left: 30px;
    justify-content: flex-start;
  }
}
.admissions .c-pageListItemInner__list li:not(:first-child) {
  margin-top: 10px;
}
.admissions .c-pageListItemInner__list li:not(:first-child) .c-pageListItemInner__text {
  margin-top: 11px;
}
.admissions #content4 .c-pageListItemInner__list li .apply img {
  transform: rotate(0deg);
  width: 17px !important;
  right: 20px;
  left: inherit;
  top: 0;
  bottom: 0;
  margin: auto;
}

/*----------------------------------------
	Page student-life
----------------------------------------*/
@media screen and (min-width: 769px) {
  .student-life-index .l-container {
    overflow: visible;
  }
}
@media screen and (min-width: 769px) {
  .student-life-index .c-detail {
    overflow: visible;
  }
}
.student-life-index .c-button--exclude {
  max-width: 295px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .student-life-index .c-button--exclude {
    max-width: 310px;
    margin: 0;
  }
}
.student-life-index .c-button--exclude .c-part-label__motif {
  transform: translateY(10px);
}
.student-life-index .c-button--exclude + .c-button--exclude {
  margin-top: 18px;
}
.student-life-index .c-button--exclude + * {
  margin-top: 26px;
}
@media screen and (min-width: 769px) {
  .student-life-index .c-button--exclude + * {
    margin-top: 32px;
  }
}
.student-life-index .t-aboutLead {
  margin-top: 0;
  padding: 58px 5.3333333333% 78px;
  background-image: url(../image/student-life/bg01.jpg);
}
@media screen and (min-width: 769px) {
  .student-life-index .t-aboutLead {
    margin-top: 0;
    padding: 168px 0 188px;
  }
}
.student-life-index .t-aboutLead__text {
  text-align: left;
  margin: 0;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .student-life-index .t-aboutLead__text {
    text-align: center;
    max-width: 734px;
    margin: 0 auto;
    font-size: 20px;
    letter-spacing: 0em;
  }
}
.student-life-index .t-aboutLead .c-buttonsSection {
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .student-life-index .t-aboutLead .c-buttonsSection {
    margin-top: 60px;
  }
}
.student-life-index .c-detailExpand {
  display: block;
  margin-top: 0;
  padding-bottom: 37px;
}
@media screen and (min-width: 769px) {
  .student-life-index .c-detailExpand {
    padding-bottom: 0;
  }
}
.student-life-index .c-detailExpand .c-detailOverviewImage {
  padding-bottom: 0;
}
.student-life-index .c-button--label {
  margin-top: 26px;
  padding-bottom: 0;
}
@media screen and (min-width: 769px) {
  .student-life-index .c-button--label {
    margin-top: 32px;
  }
}
.student-life-index .c-summary {
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .student-life-index .c-summary {
    margin-bottom: 0;
  }
}

.student-life-clubs-index .c-summary {
  padding-top: 0;
}
.student-life-clubs-index .c-summary--bottom {
  padding-top: 98px !important;
}
@media screen and (min-width: 769px) {
  .student-life-clubs-index .c-summary--bottom {
    padding-top: 160px !important;
  }
}

/*----------------------------------------
	Page News
----------------------------------------*/
@media screen and (min-width: 769px) {
  .news .t-homeTopics {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  .news .t-homeTopics__heading .c-part-arrow {
    text-align: right;
    width: 76px;
  }
}
@media screen and (min-width: 769px) {
  .news .t-homeTopicsSlider {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0;
  }
}
.news .t-homeTopicsSlider .t-homeTopicsSlider__thumb {
  aspect-ratio: 56/39;
  overflow: hidden;
}
.news .t-homeTopicsSlider .swiper-wrapper {
  position: relative;
}
.news .t-homeTopicsSlider .swiper-wrapper::after {
  content: "";
  display: block;
  width: 31.1111111111%;
}
@media screen and (min-width: 769px) {
  .news .t-homeTopicsSlider .swiper-wrapper {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .news .t-homeTopicsSlider .swiper-slide {
    width: 31.1111111111%;
  }
}

/*----------------------------------------
	Page support
----------------------------------------*/
.support-index .c-lead__detail + .l-limit {
  margin-top: 28px;
}
@media screen and (min-width: 769px) {
  .support-index .c-lead__detail + .l-limit {
    margin-top: 74px;
  }
}
.support-index .t-aboutLead {
  margin-top: 0;
  padding: 58px 5.3333333333% 78px;
  background-image: url(../image/support/bg01.jpg);
}
@media screen and (min-width: 769px) {
  .support-index .t-aboutLead {
    margin-top: 0;
    padding: 168px 0 188px;
  }
}
.support-index .t-aboutLead__text {
  text-align: left;
  margin: 0;
  font-size: 16px;
  letter-spacing: 0em;
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .support-index .t-aboutLead__text {
    text-align: center;
    max-width: 734px;
    margin: 0 auto;
    font-size: 20px;
    letter-spacing: 0em;
  }
}
.support-index .t-aboutLead .c-button--label {
  margin-top: 50px;
}
.support-index .t-aboutLead .c-buttonsSection {
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .support-index .t-aboutLead .c-buttonsSection {
    margin-top: 60px;
  }
}
.support-index .c-summary:nth-of-type(1) .c-circles {
  top: -60px;
  right: auto;
  left: 18.6666666667%;
}
@media screen and (min-width: 769px) {
  .support-index .c-summary:nth-of-type(1) .c-circles {
    top: -100px;
    left: -19.53125%;
  }
}
.support-index .c-summary:nth-of-type(2) .c-circles {
  top: -60px;
  right: 18.6666666667%;
}
@media screen and (min-width: 769px) {
  .support-index .c-summary:nth-of-type(2) .c-circles {
    top: -100px;
    right: -23.4375%;
  }
}
.support-index .c-summary:nth-of-type(2) {
  padding-bottom: 60px;
}
@media screen and (min-width: 769px) {
  .support-index .c-summary:nth-of-type(2) {
    padding-bottom: 100px;
  }
}
@media screen and (min-width: 769px) {
  .support-index .c-blocksWrap--2col {
    max-width: 443.94px;
  }
}

/*----------------------------------------
	Page Career
----------------------------------------*/
.career-index .c-summary {
  margin-bottom: 0;
  padding-top: 151px;
}
@media screen and (min-width: 769px) {
  .career-index .c-summary {
    margin-bottom: 0;
    padding-top: 154px;
  }
}
.career-index .c-summary__image {
  padding-top: 215px;
}
@media screen and (min-width: 769px) {
  .career-index .c-summary__image {
    padding-top: 120px;
  }
}
.career-index .c-mask-image--1 {
  width: 18.1333333333%;
  top: -110px;
  left: 7%;
}
@media screen and (min-width: 769px) {
  .career-index .c-mask-image--1 {
    top: -60px;
    left: 2.2%;
    width: 11.25%;
  }
}
.career-index .c-mask-image--2 {
  width: 28.2666666667%;
  bottom: -164px;
  left: 4.5%;
}
@media screen and (min-width: 769px) {
  .career-index .c-mask-image--2 {
    bottom: -100px;
    left: -3%;
    width: 23.59375%;
  }
}
.career-index .c-mask-image--3 {
  width: 32.5333333333%;
  top: -133px;
  right: 4.5%;
}
@media screen and (min-width: 769px) {
  .career-index .c-mask-image--3 {
    top: -70px;
    right: -3.7%;
    width: 19.140625%;
  }
}
.career-index .c-mask-image--4 {
  width: 39.7333333333%;
  bottom: -244px;
  right: 9%;
}
@media screen and (min-width: 769px) {
  .career-index .c-mask-image--4 {
    bottom: -110px;
    right: 1.3%;
    width: 14.53125%;
  }
}
.career-index .c-mask-color--1 {
  z-index: -2;
  width: 46.1333333333%;
  bottom: -171px;
  right: -9.8%;
}
@media screen and (min-width: 769px) {
  .career-index .c-mask-color--1 {
    display: block;
    z-index: -1;
    bottom: -30px;
    right: -14.4%;
    width: 27.8125%;
  }
}
.career-index .c-summary .c-circles--4 {
  z-index: 1;
  top: -140px;
  right: 38%;
}
@media screen and (min-width: 769px) {
  .career-index .c-summary .c-circles--4 {
    top: -140px;
    right: -2%;
  }
}
.career-index .c-summary .c-circles--3 {
  z-index: 1;
  bottom: -100px;
  left: 40%;
}
@media screen and (min-width: 769px) {
  .career-index .c-summary .c-circles--3 {
    bottom: -140px;
    left: 12%;
  }
}
.career-index .c-summaryContents__heading {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .career-index .c-summaryContents__text {
    text-align: center;
  }
}
.career-index .c-summaryContents__text + .c-summaryContents__text {
  margin-top: 1em;
}
@media screen and (min-width: 769px) {
  .career-index .c-summaryContents__text + .c-summaryContents__text {
    margin-top: 60px;
  }
}
.career-index .c-summaryContents__text img {
  width: 112px;
  transform: translateY(4px);
}
@media screen and (min-width: 769px) {
  .career-index .c-summaryContents__text img {
    width: 144px;
    transform: translateY(7px);
  }
}

/*----------------------------------------
	Page Contact
----------------------------------------*/
@media screen and (min-width: 769px) {
  .contact .c-heroMain__text {
    text-align: center;
    max-width: 816px;
  }
}
.contact .c-listFrameColumn__inner__text img {
  width: 138px;
  margin-top: 4px;
}
.contact .c-heroMain__lead + .c-heroMain__text {
  text-align: center;
}
.contact .wpcf7-spinner {
  display: none;
}

/*----------------------------------------
	Page privacy-policy
----------------------------------------*/
.privacy-policy .c-section {
  margin-top: 26px;
}
@media screen and (min-width: 769px) {
  .privacy-policy .c-section {
    margin-top: 26px;
  }
}

.t-privacy {
  width: 89.3333333333%;
  margin: 0 auto;
  padding-bottom: 127px;
}
@media screen and (min-width: 769px) {
  .t-privacy {
    width: 55.3125%;
    max-width: 708px;
    padding-bottom: 210px;
  }
}
.t-privacyWrap + .t-privacyWrap {
  margin-top: 28px;
}
@media screen and (min-width: 769px) {
  .t-privacyWrap + .t-privacyWrap {
    margin-top: 40px;
  }
}
.t-privacyWrap__heading {
  margin-bottom: 4px;
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 28px;
}
@media screen and (min-width: 769px) {
  .t-privacyWrap__heading {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.t-privacyWrap__text {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 22.8px;
}
@media screen and (min-width: 769px) {
  .t-privacyWrap__text {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.t-privacyWrap__list {
  list-style: disc;
  padding-left: 15px;
}
@media screen and (min-width: 769px) {
  .t-privacyWrap__list {
    padding-left: 21px;
  }
}
.t-privacyWrap__list li {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 22.8px;
}
@media screen and (min-width: 769px) {
  .t-privacyWrap__list li {
    font-size: 16px;
    letter-spacing: 0em;
    line-height: 28px;
  }
}
.t-privacyWrap__list li + li {
  margin-top: 3px;
}