@charset "UTF-8";
.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

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

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

/* Reset css */
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,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend {
  background: none repeat scroll 0 0;
  border: 0 none;
  margin: 0;
  outline: 0 none;
  padding: 0;
  vertical-align: baseline;
}

*,
::before,
::after {
  box-sizing: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0;
}

main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.2;
}

br {
  visibility: hidden;
}

table,
caption,
tbody,
tfoot,
thead {
  margin: 0;
  outline: 0 none;
  padding: 0;
}

th,
td {
  background: none repeat scroll 0 0;
  margin: 0;
  outline: 0 none;
  padding: 0;
  vertical-align: top;
}

button:focus {
  outline: 0 !important;
}

button:active {
  outline: none;
}

a:focus,
p:focus,
img:focus,
div:focus {
  outline: none;
}

ol,
ul {
  list-style: none outside none;
}

fieldset,
img {
  vertical-align: bottom;
}

img {
  height: auto;
  max-width: 100%;
  transition: opacity ease 0.3s;
}
img:not([src]):not([srcset]) {
  opacity: 0;
}

blockquote,
q {
  quotes: none;
}

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

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

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

br {
  letter-spacing: 0;
}

hr {
  border: 0 none;
  height: 0;
  visibility: hidden;
}

select,
input,
textarea {
  font-size: 99%;
}

/* @common */
.sp-area {
  display: none !important;
}

.pc-area {
  display: block !important;
}

/* @animation */
/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
a.link:hover img {
  transform: translateY(-3px) translateX(3px);
}

a.link img {
  transition: all 0.5s ease;
}

a.link:hover {
  opacity: 0.8;
}

.scroll_up {
  transition: 1s ease-in-out;
  transform: translateY(50px);
  opacity: 0;
}

.scroll_up.on {
  transform: translateY(0);
  opacity: 1;
}

/* @text-fadein */
.fade-in-text span {
  opacity: 0;
  position: relative;
  display: inline-block;
  transform: translateY(60px);
  transition: all 1s ease;
  min-width: 0.15em;
}

.fade-in-text span.visible {
  opacity: 1;
  transform: translateY(0);
}

/* @common */
html {
  font-size: 10px;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}

body {
  position: relative;
  margin: 0;
  font-family: "Noto Sans", sans-serif;
  transition: all 0.5s ease;
  will-change: background-color, color;
  color: #243e65;
}
body.home, body#message-page {
  color: #fff;
}

a {
  color: #243e65;
  text-decoration: none;
}

h2 {
  opacity: 0;
  font-family: "Lato", sans-serif;
  font-size: 12rem;
  line-height: 100%;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  font-weight: bold;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  h2 {
    font-size: 5rem;
  }
}

h3 {
  font-size: 1.2rem;
  line-height: 100%;
  margin: 0;
  padding: 0;
}

h4 {
  margin: 0;
  font-size: 3rem;
  line-height: 140%;
}

.by {
  font-family: "cormorant-garamond", serif;
}

.background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-image: linear-gradient(180deg, rgb(0, 73, 159), rgb(0, 57, 135) 71%, rgb(0, 44, 115));
  transition: opacity 0.5s ease;
}

.top-copy {
  position: absolute;
  right: 40px;
  bottom: 20px;
  color: #fff;
  font-size: 8px;
}

.video-area {
  display: flex;
  align-items: center;
}

.video:after {
  left: 0;
  top: 0;
  position: absolute;
  content: "";
  opacity: 0.3;
  background: #000;
  width: 100%;
  height: 100%;
}

.reception {
  position: fixed;
  right: 40px;
  bottom: 60px;
  width: 130px;
  z-index: 99;
  transition: all 0.3s linear;
}

.receptions {
  width: 110px;
  right: 60px;
  bottom: 50px;
  z-index: 5;
}

.reception:hover {
  bottom: 70px;
}

.reception.receptions:hover {
  bottom: 60px;
}

.video video {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  /* height: 100%; */
  width: 100%;
  height: 100%;
  /* aspect-ratio: 40 / 56; */
}

.video-area {
  padding: 0px 10%;
  margin: 150px auto;
  position: relative;
  top: 0;
  height: 100vh;
  height: 100dvh;
  left: 0;
  margin-top: 0;
  padding: 0px;
  right: 0;
}

.video-area .video {
  width: 100%;
  position: absolute;
  grid-gap: 40px;
  top: 18%;
  height: 100vh;
  width: 100% !important;
  width: 31%;
  /* top: 50%; */
  left: 0;
  transform: translate(0, 0);
  top: 0 !important;
  transition: all 0.3s linear;
}

.video-area.scrollnow .video {
  aspect-ratio: unset;
  width: unset !important;
  transform: translateY(-50px);
  left: 10%;
  width: 80% !important;
  transition: all 1s ease;
}

.scrollnow .video video {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  /* height: 100%; */
  width: 100%;
  aspect-ratio: 16/9;
}

.reception img {
  width: 100%;
}

@media screen and (max-width: 1200px) {
  .scrollWrap span {
    position: absolute;
    bottom: 132px;
    left: -16px;
    writing-mode: vertical-rl;
    font-size: 12px;
    letter-spacing: 0em;
    font-weight: 700;
    font-family: "Lato", sans-serif;
  }
}

.scroll {
  position: absolute;
  bottom: unset;
  bottom: -20px;
  z-index: 2;
  left: -20px;
  animation: sdb 3s infinite;
  height: 51vh;
  z-index: 10;
  border-left: 1px solid #fff;
}
@media screen and (max-width: 1200px) {
  .scroll {
    top: calc(100% + 50px);
    left: 0;
    height: 300px;
  }
}

@keyframes sdb {
  0% {
    transform: translateY(-20px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateY(0px);
    opacity: 0;
  }
}
/* @scroll */
.loop_wrap2 img {
  height: 100px;
}

section#scroll {
  position: relative;
  width: 100%;
  max-width: 100%;
  padding: 0;
  height: 600px;
  display: flex;
  align-items: center;
  margin: 0;
}

.fixed-background3 {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0 0 0 0);
  z-index: 0;
}

.loop_wrap2 {
  display: flex;
  width: 100vw;
  height: 400px;
  overflow: hidden;
  align-items: center;
}

.fixed-background,
.fixed-background2 {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0 0 0 0); /* この行を追加 */
  z-index: 0;
}

.loop_wrap {
  display: flex;
  width: 100vw;
  height: 100px;
  overflow: hidden;
}

.loop_wrap img {
  width: auto;
  height: 100%;
}

.loop_area {
  display: flex;
  width: 100vw;
  height: 100px;
  overflow: hidden;
}

.loop_area img {
  width: auto;
  height: 100%;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
section#scroll2 {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.loop_wrap2 img:first-child {
  animation: loop 50s -25s linear infinite;
}

.loop_wrap2 img:last-child {
  animation: loop2 50s linear infinite;
}

.page .loop_wrap2 img:first-child {
  animation: loop 100s -50s linear infinite;
}

.page .loop_wrap2 img:last-child {
  animation: loop2 100s linear infinite;
}

/* @scroll */
section#scroll {
  position: relative;
  width: 100%;
  max-width: 100%;
  padding: 0;
  height: 450px;
  display: flex;
  align-items: center;
  margin: 0;
}

.fixed-background,
.fixed-background2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0 0 0 0); /* この行を追加 */
  z-index: 0;
}

.loop_wrap {
  display: flex;
  width: 100vw;
  height: 400px;
  overflow: hidden;
}

.loop_wrap img {
  width: auto;
  height: 100%;
}

.loop_area {
  display: flex;
  width: 100vw;
  height: 100px;
  overflow: hidden;
}

.loop_area img {
  width: auto;
  height: 100%;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
section#scroll {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

img.pc-cu {
  width: 148px;
}

.member-small-grid .member-tag {
  font-size: 12px !important;
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.loop_wrap img:first-child {
  animation: loop 50s -25s linear infinite;
}

.loop_wrap img:last-child {
  animation: loop2 50s linear infinite;
}

.page .loop_wrap img:first-child {
  animation: loop 100s -50s linear infinite;
}

.page .loop_wrap img:last-child {
  animation: loop2 100s linear infinite;
}

/* @first */
ul.first-message {
  list-style: none;
  font-size: 1.8rem;
  letter-spacing: 0.03em;
  font-weight: 700;
  padding: 0;
}
@media screen and (max-width: 768px) {
  ul.first-message {
    font-size: 16px;
  }
}

.first-tag-grid {
  margin: 25px 0 0 0;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 1200px) {
  .first-tag-grid {
    position: relative;
  }
}
@media screen and (max-width: 768px) {
  .first-tag-grid {
    flex-wrap: wrap;
  }
}

.open-text {
  font-size: 2.4rem;
  border-bottom: 1px solid #fff;
  display: inline-block;
  padding-bottom: 4px;
}

.first-message li {
  margin-bottom: 6px;
}
@media screen and (max-width: 768px) {
  .first-message li {
    margin-bottom: 5px;
    font-weight: 600;
  }
}

ul.first-message {
  margin: 27px 0 38px 0;
}
@media screen and (max-width: 768px) {
  ul.first-message {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.message-t a.link {
  margin: 70px 0 0 0;
}

.first-message li img {
  margin-right: 5px;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .first-message li img {
    width: 16px;
  }
}

section#first {
  height: 100vh;
  margin-top: 0;
  padding: 0px;
}

section#second {
  height: 100vh !important;
  margin-top: 0;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
  overflow: hidden;
}

.first-tag-grid div {
  border: 1px solid #fff;
  display: inline-block;
  padding: 0px 10px;
  font-size: 1.4rem;
  font-weight: 600;
  border-radius: 30px;
  line-height: 1.9285714286;
  letter-spacing: 0.05em;
}

.first-right {
  position: relative;
  color: white;
}
@media screen and (max-width: 1200px) {
  .first-right {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.first-right-top {
  position: absolute;
  bottom: 12%;
  left: 35%;
  width: -moz-max-content;
  width: max-content;
  transform: translateX(-50%);
  top: auto !important;
}
@media screen and (max-width: 1200px) {
  .first-right-top {
    width: auto;
    position: static;
    transform: none;
    bottom: 0;
    left: 0;
    padding-top: 5px;
  }
}

/* @program */
.bo-bt {
  position: relative;
  height: 50%;
  padding: 5px;
}

.bo-gr {
  position: relative;
  height: 50%;
}

.bo-gr {
  display: grid;
  grid-template-columns: 50% auto;
  border-top: 1px solid #fff;
  /* margin-top: 10px; */
}

.bo-it1 {
  /* border-right: 1px solid #fff; */
  height: -moz-max-content;
  height: max-content;
  padding: 5px;
  border-right: 0.5px solid #fff;
}

.bo-it2 {
  padding: 5px;
  border-left: 0.5px solid #fff;
}

td.no-ma {
  padding: 0 !important;
}

.program-sp {
  display: none;
}

.bo-gr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #fff;
  margin-top: 8px;
}

#program a.link {
  margin-left: auto;
  width: 151px;
  display: flex;
  justify-content: space-between;
  padding-bottom: 12px;
  margin-bottom: 23px;
}

.program-img {
  aspect-ratio: 3/9;
  width: 13%;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
}

.program-item {
  position: relative;
}

.program-ttl-wrap {
  padding: 0px 10%;
  max-width: 1280px;
  position: relative;
  width: 80%;
  margin-bottom: 20px;
}

.program-text {
  font-size: 1.4rem;
  line-height: 200%;
  margin-top: 30px;
}

.program-grid {
  display: grid;
  position: relative;
  left: 0;
  top: 0;
  grid-gap: 0px;
  width: 100%;
  /* margin-left: -10%; */
  grid-template-columns: 1fr 1fr;
  padding: 0px 10%;
  max-width: 1280px;
  position: relative;
  width: 80%;
}

.p1.program-img {
  margin-top: -100px;
}

.c1.program-img {
  margin-top: -200px;
}

.c2.program-img {
  margin-top: -150px;
  margin-left: 30px;
}

.program-wrap {
  padding-left: 15px;
  margin-bottom: 0;
  position: relative;
}

.program-wrap a.link {
  position: absolute;
  right: -40px;
  bottom: 40px;
}

.link img {
  width: 20px;
  margin-left: 16px;
}

a.link {
  padding-left: 1px;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.4rem;
  border-bottom: 1px solid #fff;
  padding-bottom: 0px;
  /* display: block; */
  align-items: center;
}

.campfire-grid-r a.link {
  font-size: 1.6rem;
}

/* @FEATURE */
.feature-grid {
  margin-left: 300px;
  margin-top: 50px;
}

.feature-item {
  border-bottom: 1px solid #fff;
}

.feature-item:nth-child(1) {
  border-top: 1px solid #fff;
}

.feature-num {
  font-family: "cormorant-garamond", serif;
  font-size: 1.4rem;
  font-weight: 600;
  padding-left: 10px;
  margin: 10px 0 0 0;
  /* font-size: 14px; */
}

.feature-title {
  font-size: 2.4rem;
  font-weight: 600;
  margin-left: 27px;
  margin-bottom: 15px;
  margin-top: 15px;
}

.feature-text {
  margin-left: 360px;
  line-height: 200%;
  font-size: 1.4rem;
  padding-right: 10px;
  padding-bottom: 15px;
}

.curriculum-wrap {
  margin-left: 0px;
  margin-top: 50px;
  line-height: 200%;
  font-size: 1.4rem;
}

.curriculum-grid {
  display: grid;
  grid-template-columns: auto auto;
  grid-gap: 48px;
}

.member-grid {
  grid-gap: 50px;
  margin: 10px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.curriculum-description {
  margin-bottom: 20px;
}

.curriculum-l {
  margin: 0;
}

.curriculum-r {
  display: flex;
  align-items: center;
}

.curriculum-l img {
  width: 100%;
}

p.curriculum-item-title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 150%;
  -webkit-font-smoothing: antialiased;
}

img.volimg {
  height: 14px;
  display: none;
  cursor: pointer;
}

.vol {
  margin-top: 10px;
}

.curriculum2-txt {
  font-size: 20px;
  line-height: 200%;
  text-align: center;
  margin: 100px 0 60px 0;
}

.curriculum2-grid {
  display: grid;
  grid-template-columns: 45% 10% 45%;
}

.curriculum2-item1 img {
  width: 100%;
}

/* @what's new */
.whatsnew-item {
  display: grid;
  grid-template-columns: 150px auto 50px;
}

.whatsnew-item3 {
  text-align: center;
  color: #004a9f;
}

.chief-message {
  position: relative;
}

img.chief-qu {
  position: absolute;
  width: 80px;
  z-index: 0;
  left: -26px;
  top: -10px;
}

.whatsnew-item1 {
  font-size: 1.8rem;
  font-family: "cormorant-garamond", serif;
  text-align: center;
}

.qu-num {
  font-size: 28px;
  font-family: "cormorant-garamond", serif;
  text-align: center;
  font-weight: bold;
  display: flex;
  /* padding: 19px; */
  width: 60px;
  background: #123f89;
  height: 60px;
  border-radius: 100%;
  /* display: table-header-group; */
  line-height: 0;
  border: 1px solid #fff;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  z-index: 2;
  position: relative;
}

.curriculum2-item2 {
  position: relative;
}

.whatsnew-item {
  padding-bottom: 20px;
  padding-top: 20px;
  transition: all 0.5s ease;
}

.qu-line {
  position: absolute;
  top: 0;
  height: 0;
  border-left: 1px solid;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transition: all 1.5s linear;
}

.inview-show .qu-line {
  height: 100%;
}

.whatsnew-item:hover {
  transform: translateX(10px);
  opacity: 0.7;
  cursor: pointer;
}

.curriculum2-item3 {
  position: relative;
}

.curriculum2-item3-txt {
  position: relative;
}

.curriculum2-item3 {
  position: relative;
  display: flex;
  align-items: center;
}

.curriculum2-item3-num {
  position: absolute;
  color: #ffffff;
  font-size: 300px;
  right: 0;
  z-index: 0;
  opacity: 0.2;
  font-weight: 100;
  font-family: "cormorant-garamond", serif;
}

.curriculum2-item3-txt h3 {
  font-size: 24px;
}

.curriculum2-item3-txt p {
  margin-top: 30px;
  font-size: 14px;
  line-height: 180%;
}

.curriculum2-item1 img {
  width: 100%;
  margin: 100px 0 50px 0;
}

section#curriculum3 {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
}

.curriculum2-bottom {
  width: 100%;
  aspect-ratio: 3/2;
}

img.qu4 {
  position: absolute;
  width: 40%;
  right: 10%;
}

.program-chirf-txt {
  margin-bottom: 55px;
  line-height: 200%;
  font-size: 16px;
}

img.qu5 {
  position: absolute;
  width: 22%;
  left: 13%;
  top: 100px;
}

.curriculum2-bottom .curriculum2-item3-num {
  bottom: 5%;
  right: 8%;
}

img.qu6 {
  width: 20%;
  position: absolute;
  bottom: 16%;
  left: 26%;
}

.curriculum2-bottom-txt {
  width: 32%;
  position: absolute;
  left: 55%;
  bottom: 20%;
  max-width: 800px;
}

.curriculum2-bottom-txt h3 {
  font-size: 24px;
}

.curriculum2-bottom-txt p {
  font-size: 14px;
  margin-top: 25px;
  line-height: 200%;
}

.home #member h3 {
  font-size: 20px;
  text-align: center;
  line-height: 200%;
  margin-bottom: 60px;
}

.member-small-grid .member-image-wrap {
  aspect-ratio: 1/1;
  width: 100%;
}

.member-small-grid .member-name {
  font-size: 1.6rem;
  margin-top: 0;
}

.whatsnew-grid {
  text-align: left;
  font-size: 1.4rem;
  margin-top: 40px;
  position: relative;
}

/* @schedule */
img.online-bt {
  position: absolute;
  width: 55px;
  left: -28px;
  top: 14px;
  position: absolute;
  top: 50%;
  /* left: 0%; */
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.schedule-wrap {
  margin-left: 300px;
  margin-top: 50px;
  line-height: 200%;
  font-size: 1.4rem;
}

p.schedule-descrption {
  margin-bottom: 40px;
}

/* @member */
.member-image {
  width: 100%;
}

.member-image {
  width: 100%;
}

.member-small-grid {
  grid-gap: 15px;
  grid-row-gap: 25px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.member-tag {
  margin: 0 auto;
  border: 1px solid #fff;
  margin: 0 auto 13px auto;
  width: -moz-max-content;
  width: max-content;
  border-radius: 10px;
  padding: 0px 5px;
  font-size: 1.2rem;
}

.member-small-grid .member-tag {
  margin: 0 auto;
  border: 1px solid #fff;
  margin: 0 auto 5px auto;
  width: -moz-max-content;
  width: max-content;
  border-radius: 10px;
  padding: 0px 5px;
  font-size: 0.9rem;
  margin-bottom: 12px;
}

.member-small-grid .member-image {
  width: 100%;
  margin-bottom: 6px;
}

.member-small-grid .member-item {
  margin-bottom: 15px;
}

.member-image-contain {
  position: relative;
}

.tokyokyoto {
  position: absolute;
  writing-mode: vertical-rl;
  color: #123f89;
  font-size: 12px;
  background: #fff;
  padding: 5px 3px;
  right: 5px;
  top: -4px;
  z-index: 5;
}

.relative img {
  position: absolute;
  right: 0;
  width: 22px;
  top: 5px;
}

.member-small-grid .member-name {
  font-size: 1.6rem;
}

.member-small-grid .relative img {
  position: absolute;
  right: 0;
  width: 18px;
  top: 3px;
}

.member-small-grid span.member-title {
  font-size: 1.1rem;
}

img.movie-bt {
  width: 65px;
  margin-right: 17px;
  margin-top: 15px;
}

.modal-movie img.movie-bt {
  margin-right: 0px;
}

.modal-movie a.modal-youtubeembed {
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  margin-left: calc(45% + 40px);
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .modal-movie a.modal-youtubeembed {
    margin-left: auto;
    margin-right: auto;
  }
}

.movie-bt {
  width: 100%;
  text-align: right;
}

.relative {
  width: 100%;
  position: relative;
}

.member-name-wrap img {
  margin-top: 20px;
}

/* @ faq */
.faq-item:first-child {
  border-top: 1px solid #fff;
}

.faq-item {
  border-bottom: 1px solid #fff;
  padding: 20px;
  font-size: 1.4rem;
}

.br.spbr {
  display: none;
}

.moreread img {
  margin-left: 20px;
  transform: scale(1, -1);
}

.cross-w:hover {
  cursor: pointer;
}

td.guideline-l {
  font-size: 2.2rem !important;
}

/* @campfire */
.campfire-grid-r {
  position: relative;
}

section#campfire {
  margin: 0;
  width: 80% !important;
}

.campfire-grid-l img {
  width: 100%;
}

section#campfire .campfire-grid {
  width: 100%;
  padding: 0;
  max-width: unset;
  line-height: 0;
  margin: 0;
  width: 100%;
  max-width: 1280px;
  width: 100%;
  margin: 50px auto;
  display: grid;
  grid-template-columns: 40% 60%;
}

a.link.schedule-link.campfire-grid-link {
  position: absolute;
  right: 0;
  padding-bottom: 7px;
  bottom: 35px;
  display: block !important;
}

p.title {
  font-size: 3rem;
  font-weight: bold;
  margin: 0;
  line-height: 120%;
}

p.until {
  font-size: 1.4rem;
  line-height: 100%;
  padding: 3px 8px;
  border-radius: 12px;
  margin: 0 0 10px 0;
  display: inline-block;
  border: 1px solid #fff;
}

.campfire-grid-wrap {
  position: absolute;
  width: -moz-max-content;
  width: max-content;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

section#campfire {
  margin: 0;
  background-size: cover;
  max-width: 100%;
  padding: 0 10%;
}

/* @guideline */
.guideline-l {
  font-size: 2.2rem;
  font-weight: bold;
  vertical-align: top;
  padding: 20px;
}

.guideline-r {
  font-size: 1.4rem;
  line-height: 200%;
  padding: 20px;
}

.copyright {
  font-size: 1.2rem;
  margin-top: 40px;
}

.company {
  font-size: 1.6rem;
}

.address {
  font-size: 1.4rem;
}

.by {
  font-family: "cormorant-garamond", serif;
}

.first-grid {
  display: grid;
  grid-template-columns: 1fr;
  height: 100%;
  top: 0;
  width: 100%;
  padding: 0px 12%;
  margin: 150px auto;
  max-width: 1280px;
  position: relative;
  width: 80%;
  z-index: 10;
}
@media screen and (max-width: 1200px) {
  .first-grid {
    width: auto;
    padding-inline: 30px;
    margin: 0;
    width: 100%;
    display: block;
  }
}

#accordion-menu {
  display: none;
}

img.logo {
  margin-bottom: 20px;
}

header.headerscroll {
  width: 94%;
  top: 0px;
}

.first-copy {
  font-size: 4rem;
  line-height: 1.375;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .first-copy {
    font-size: 2.9rem;
    line-height: 1.724137931;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 389px) {
  .first-copy {
    font-size: 2.7rem;
  }
}

.fadeout {
  opacity: 0 !important;
  overflow: hidden;
  transition: all 0.5s ease-out;
}

.logo {
  transition: all 0.5s ease-out;
}

.logo.logos {
  width: 240px !important;
}

.subtitle {
  font-size: 1.8rem;
  opacity: 1;
}

.by {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: right;
  opacity: 1;
}

.sns-gird img {
  height: 20px;
  width: auto;
}

#movieModal .modal-content {
  padding: 0;
  background: transparent;
}

.youtubeembed {
  line-height: 0;
  width: 100%;
  aspect-ratio: 16/9;
}

.youtubeembed iframe {
  width: 100%;
  height: 100%;
}

.movie-bt {
  cursor: pointer;
}

.modal {
  display: none;
  position: fixed;
  z-index: 1002;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.7);
}

.modal-title {
  font-size: 1.2rem;
  margin-top: 10px;
  letter-spacing: 0.03em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .modal-title {
    margin-top: 0px;
    font-weight: 700;
  }
}

.modal-message {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 2.3333333333;
  letter-spacing: 0.03em;
}

.cross-w {
  color: #fff;
  position: absolute;
  right: 0px;
  font-size: 1.2rem;
  top: -22px;
  display: flex;
  pointer-events: none;
  align-items: center;
  font-family: "Lato", sans-serif;
  font-weight: 700;
}

.modal-movie {
  width: 100%;
  text-align: center;
}

.cross-w img {
  margin-left: 5px;
}

.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1000px;
  box-sizing: border-box;
}

.modal-content .sp-wrap {
  color: #4185b5;
  background-color: white;
  padding: 50px;
  border-radius: 10px;
  max-height: 86vh;
  overflow-y: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .modal-content .sp-wrap {
    padding: 35px;
    background-color: #faf6e7;
  }
}

.modal-name {
  font-size: 40px;
  letter-spacing: 0.03em;
  font-weight: bold;
  margin: 30px 0 0px 0;
  color: #4185b5;
}
@media screen and (max-width: 768px) {
  .modal-name {
    margin-top: 15px;
    font-size: 30px;
  }
}

.modal-grid {
  display: grid;
  grid-template-columns: 44.4444444444% auto;
}
@media screen and (max-width: 768px) {
  .modal-grid {
    display: block;
  }
}

.modal-grid-r {
  padding-left: 50px;
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .modal-grid-r {
    padding-left: 0;
    margin-top: 15px;
  }
}

.modal-sns-grid {
  margin: 15px 0 40px 0;
}
@media screen and (max-width: 768px) {
  .modal-sns-grid {
    margin-top: 28px;
    margin-bottom: 30px;
  }
}

.modal-sns-grid a {
  margin-right: 13px;
}

img.modal-image {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 50%;
}

.modal-tag {
  border: 1px solid #4185b5;
  margin: 20px 0 0 0;
  width: -moz-max-content;
  width: max-content;
  border-radius: 10px;
  padding: 0px 7px;
  font-size: 1.2rem;
}

.pagetop {
  cursor: pointer;
}

.reception a img {
  transition: all 0.5s ease;
}

/* @message-page */
.header-grid-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  pointer-events: auto;
}

img.subpage-logo {
  width: 210px;
}

.header-grid-nav a {
  font-family: "cormorant-garamond", serif;
  font-size: 1.6rem;
  margin-left: 20px;
  line-height: 0;
}

.header-grid {
  padding: 0px 10%;
  margin: 0 auto;
  max-width: 1280px;
  position: relative;
  z-index: 2;
  width: 80%;
  display: grid;
  position: fixed;
  top: 25px;
  grid-template-columns: 30% 70%;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
}

.page .loop_wrap {
  display: flex;
  width: 100vw;
  height: 500px;
  overflow: hidden;
}

.page .loop_area {
  display: block;
  width: 100vw;
  height: 500px;
  overflow: hidden;
}

.swiper-slide {
  margin-right: 15px;
  width: -moz-fit-content !important;
  width: fit-content !important;
}

.loop_area li {
  margin-right: 15px;
}

.loop_area .swiper-wrapper {
  transition-timing-function: linear;
}

.page .scroll2 .loop_wrap {
  height: 300px;
}

.page .scroll2 .loop_area {
  height: 300px;
}

section#scroll.scroll2 {
  height: 400px;
}

/* @future */
p.future-title {
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 200%;
}

.future-item1 {
  display: flex;
  align-items: flex-end;
  padding-bottom: 50px;
  justify-content: flex-start;
}

.future-item3 {
  display: flex;
  align-items: flex-end;
  padding-bottom: 50px;
  justify-content: flex-end;
}

.future-grid {
  display: grid;
  grid-template-columns: 20% 60% 20%;
  grid-gap: 0%;
}

.home .header-grid {
  transition: all 0.5s ease;
  display: none !important;
}

.home.scroll-up .header-grid {
  opacity: 1 !important;
}

.program-chirf-txt img.pc-cu {
  display: none;
}

.modal-tokyokyoto {
  border: 1px solid #4185b5;
  margin: 20px 0 0 0;
  width: -moz-max-content;
  width: max-content;
  border-radius: 10px;
  padding: 0px 7px;
  font-size: 1.2rem;
}

.tag-wrap {
  display: flex;
  gap: 10px;
}

@media screen and (min-width: 780px) {
  .future-grid {
    display: grid;
    grid-template-columns: auto 720px auto;
    grid-gap: 4%;
  }
}
@media screen and (min-width: 1680px) {
  .future-grid {
    display: grid;
    grid-template-columns: auto 720px auto;
    grid-gap: 12%;
  }
}
section#future {
  padding: 0;
  padding-top: 60px;
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  padding-bottom: 130px;
}

.future-grid img {
  width: 100%;
}

.future-item2 {
  padding: 0 60px;
  font-size: 1.6rem;
  line-height: 220%;
}

/*@changemaker */
#changemaker img {
  width: 100%;
  width: 800px;
  margin: 0 auto;
}

.changemaker-text {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  line-height: 160%;
  margin-top: 50px;
}

.nextprogram-next {
  font-size: 4rem;
  font-weight: 600;
  position: relative;
  z-index: 2;
  /* top: 0; */
  /* position: absolute; */
  font-family: "cormorant-garamond", serif;
}

section#nextprogram {
  background: #faf6e5;
  color: #0046a5;
  height: 350px;
  max-width: 100%;
  /* padding: 50px 0; */
  padding: 70px 10%;
  width: 80%;
}

.nextprogram-program {
  font-size: 15rem;
  font-weight: 100;
  /* top: 0; */
  /* position: absolute; */
  font-family: "cormorant-garamond", serif;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 2;
}

.nextprogram-link {
  font-size: 1.4rem;
  position: absolute;
  right: 30px;
  bottom: 40px;
}

p.detail-title {
  font-family: "cormorant-garamond", serif;
  font-weight: 600;
  line-height: 120%;
  font-size: 4rem;
  margin: 0;
}

p.detail-small {
  font-size: 1.4rem;
  margin: 0;
  margin-bottom: 30px;
}

.detail-nav {
  position: sticky;
  top: 200px;
}

section#detail .grid-program-l {
  min-height: 100vh;
}

.ellipse img {
  width: 100%;
}

.ellipse {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 280px;
  z-index: 0;
  height: auto;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  border-radius: 50%;
  background-size: cover;
  transition: all 0.5s ease;
}

#nextprogram:hover .ellipse {
  opacity: 0.9;
}

section#future {
  padding-top: 0;
  padding-bottom: 0;
}

section#future {
  padding-top: 0;
}

section#changemaker {
  padding-top: 0;
}

.nextprogram-bg {
  font-family: "cormorant-garamond", serif;
  position: absolute;
  top: 50%;
  width: 2;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1;
}

.page video#topvideo {
  width: 100%;
}

img.changemaker-bt {
  transition: all 0.5s ease;
}

img.changemaker-bt:hover {
  opacity: 0.9 !important;
  cursor: pointer;
}

.page .message-grid {
  grid-gap: 0;
}

/* @program */
body.home .top-show {
  display: block;
}

body.home .program-show {
  display: none;
}

body.page-id-77 .top-show {
  display: none;
}

body.page-id-77 .program-show {
  display: block;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: 25vw;
  padding: 10px;
}

.scroll-infinity__item > img {
  width: 100%;
}

@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
.scroll-infinity__list--right {
  animation: infinity-scroll-right 80s infinite linear 0.5s both;
}

.grid-program {
  font-size: 1.6rem;
  line-height: 200%;
  display: grid;
  grid-template-columns: 300px auto;
}

.grid-program-r img {
  width: 100%;
}

.grid-program-r h3 {
  font-size: 4rem;
  margin-bottom: 20px;
}

p.program-text {
  margin: 50px 0 20px 0;
  font-size: 1.4rem;
}

td.program1-1 {
  font-size: 1.6rem;
  font-weight: bold;
  width: 80px;
}

td.program1-1 {
  font-size: 1.6rem;
  font-weight: bold;
  width: 80px;
}

td.program1-2 {
  text-align: left;
}

.grid-program-r > div {
  margin-bottom: 100px;
}

.program2-1-grid {
  display: flex;
  align-items: center;
}

.program2-1-item1 {
  font-size: 1.6rem;
  margin-right: 15px;
}

.program2-1-item2 {
  font-size: 1.4rem;
  line-height: 150%;
}

p.program2-1-name {
  font-size: 1.6rem;
  margin: 5px 0 0 0;
}

p.program2-1-katagaki {
  font-size: 1.2rem;
  margin: 0px 0;
}

p.program-info {
  font-size: 1.2rem;
  line-height: 200%;
  margin: 30px 0 0 0;
}

a.current {
  color: #e0c28c;
}

.header-grid-nav a:hover {
  text-decoration: underline;
}

a.nexta {
  color: #004a9f;
}

a.nexta.nextover .nextprogram-bg {
  height: 80%;
}

section#nextprogram {
  overflow: hidden;
}

.nextprogram-bg {
  transition: all 0.6s ease-Out;
  height: 70%;
}

.clickanim .nextprogram-bg {
  transition: all 2s ease-Out;
  height: 250vh !important;
}

section#nextprogram {
  transition: all 1s ease;
}

.future-item1 {
  position: relative;
}

.future-item3 {
  position: relative;
}

.image1,
.image2,
.image3,
.image4 {
  position: absolute;
}

.image2,
.image4 {
  display: none;
}

.border-right {
  position: absolute;
  left: 0;
  width: 0;
  opacity: 0;
  border-top: 1px solid currentColor;
  transition: all 2s ease;
}

.border-right-on {
  opacity: 1;
  width: 100%;
}

.modal-content.modal-movie {
  height: -moz-fit-content;
  height: fit-content;
}

.page-id-77 .background {
  background-image: linear-gradient(rgb(0, 44, 115), rgb(0, 44, 115));
}

.logo.header-logo {
  width: -moz-fit-content !important;
  width: fit-content !important;
  left: unset;
}
@media screen and (max-width: 768px) {
  .logo.header-logo {
    width: auto !important;
  }
}

.member-name-wrap img {
  transition: all 0.5s ease;
  transform: translateX(0px) translateY(0px);
}

.relative img {
  transition: all 0.5s ease;
  transform: translateX(0px) translateY(0px);
}

section#nextprogram.nextprogram2 {
  background: #002c73;
  color: #fff;
}

.nextprogram2 a.nexta {
  color: #fff;
}

img.community {
  width: 100%;
  margin-top: 50px;
}

p.program-text2 {
  font-size: 18px;
  line-height: 200%;
  margin: 0;
  margin-top: 5px;
}

/**
* Header
*/
.homeHeader {
  position: fixed;
  max-width: unset;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  transition: all 0.5s linear;
  z-index: 99;
}
.homeHeader_wrapper {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  pointer-events: inherit;
}
.homeHeader_center {
  display: flex;
  gap: 20px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .homeHeader_center {
    display: none;
  }
}
.homeHeader_logo {
  position: absolute;
  top: 115px;
  left: 0;
  max-width: 1280px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  box-sizing: border-box;
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .homeHeader_logo {
    top: 100px;
    z-index: 1001;
    pointer-events: none;
  }
}
.homeHeader_logo h1 {
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
}
.homeHeader_logo img {
  opacity: 0; /* 透明 */
  transform: translateX(-200px); /* 左にずらしてスタート */
  transition: transform 1s cubic-bezier(0, 0, 0.2, 1), opacity 1s cubic-bezier(0, 0, 0.2, 1);
}
@media screen and (max-width: 768px) {
  .homeHeader_logo img {
    width: 88.9743589744vw;
  }
}
.homeHeader_logo.is-active img {
  opacity: 1;
  transform: translateX(0); /* 元の位置に */
}
.homeHeader_logo.is-move {
  max-width: 246px;
  top: 35px;
  left: 0;
}
@media screen and (max-width: 1024px) {
  .homeHeader_logo.is-move {
    max-width: 220px;
    top: 5px;
    left: 5px;
  }
}
@media screen and (max-width: 768px) {
  .homeHeader_logo.is-move {
    max-width: 160px;
    top: 33px;
    left: 30px;
  }
}
.homeHeader .scroll-nav {
  padding-top: 46px;
  padding-bottom: 44px;
  pointer-events: auto;
  transition: background-color 0.5s linear;
}
@media screen and (max-width: 768px) {
  .homeHeader .scroll-nav {
    padding-top: 33px;
    padding-bottom: 10px;
    padding: 33px 30px;
    position: relative;
    z-index: 100;
  }
}
.homeHeader_inner {
  max-width: calc(100% - 109px);
  max-width: 1211px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
  align-items: center;
  box-sizing: border-box;
  flex-wrap: wrap;
  padding-inline: 20px;
}
@media screen and (max-width: 768px) {
  .homeHeader_inner {
    padding-right: 35px;
  }
}
.homeHeader .logo h1 img {
  width: 100%;
  max-width: 82%;
  margin: 0 auto 20px auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .homeHeader .logo h1 img {
    max-width: 89.2307692308%;
  }
}
body.scroll-down .scroll-nav {
  background-color: transparent !important;
}
body.scroll-down .scroll-nav a {
  color: white !important;
}

body.scrolled .homeHeader {
  background-color: white;
}
@media screen and (max-width: 768px) {
  body.scrolled .homeHeader {
    background-color: transparent !important;
  }
}
body.scrolled .scroll-nav {
  background-color: white;
}
body.scrolled .scroll-nav .homeHeader_center a {
  color: #243e65;
}
body.scrolled .header-logo h1 img {
  display: block;
  margin: unset;
  width: 247px !important;
}
@media screen and (max-width: 768px) {
  body.scrolled .header-logo h1 img {
    width: 200px !important;
  }
}
body.scrolled .header-logo h1 {
  width: 247px !important;
}
@media screen and (max-width: 768px) {
  body.scrolled .header-logo h1 {
    width: 200px !important;
  }
}
body.scrolled .header-logo {
  position: absolute;
  width: 247px;
  top: 38px;
  left: 30px;
}
@media screen and (max-width: 768px) {
  body.scrolled .header-logo {
    top: 30px;
    left: 16px;
  }
}

.homeHeader_center > a {
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 170%;
  font-weight: bold;
  display: block;
  color: white;
}
@media (hover: hover) {
  .homeHeader_center > a {
    transition: all 0.5s ease;
  }
  .homeHeader_center > a:hover {
    opacity: 0.8;
  }
}
.homeHeader_right {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .homeHeader_right {
    position: static;
    transform: none;
    margin-left: auto;
  }
}
.homeHeader_right a {
  background: linear-gradient(200deg, #4185b5 0%, #aacaa0 100%);
  width: 100%;
  display: flex;
  height: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  gap: 8px;
  letter-spacing: 0.03em;
  align-items: center;
  justify-content: center;
  color: white;
  transition: all 0.5s ease;
  border-radius: 30px;
  padding: 6px 25px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .homeHeader_right a {
    background: white;
    color: #4185b5;
    font-size: 12px;
    line-height: 2;
    letter-spacing: 0em;
    padding: 0px 13px;
    gap: 8px;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2);
  }
  .homeHeader_right a svg {
    width: 8px;
  }
  body.scrolled .homeHeader_right a {
    background: #4185b5;
    color: white;
  }
}
@media (hover: hover) {
  .homeHeader_right a:hover {
    background: white;
    color: #243e65;
  }
}

.header {
  background-color: white;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: all 0.5s linear;
}
.header_inner {
  display: flex;
  justify-content: space-between;
  padding-inline: 40px;
  padding-block: 37.5px;
  max-width: 1168px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .header_inner {
    flex-wrap: wrap;
    padding: 20px;
    align-items: center;
    justify-content: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .header_inner {
    padding: 33px 30px;
    flex-wrap: nowrap;
  }
}
.header_logo a {
  display: block;
}
@media screen and (max-width: 768px) {
  .header_logo img {
    width: 160px;
  }
}
.header_nav {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .header_nav {
    margin-left: auto;
  }
}
@media screen and (max-width: 768px) {
  .header_nav {
    padding-right: 35px;
  }
}
.header_nav > a {
  padding: 10px;
  display: block;
  letter-spacing: 0.05em;
  font-size: 1.5rem;
  font-weight: 700;
  color: #243e65;
  font-family: "Lato", sans-serif;
}
@media screen and (max-width: 768px) {
  .header_nav > a {
    display: none;
  }
}
@media (hover: hover) {
  .header_nav > a {
    transition: all 0.5s ease;
  }
  .header_nav > a:hover {
    opacity: 0.8;
  }
}
.header_nav-btn {
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  .header_nav-btn {
    margin-left: 0;
  }
}
.header_nav-btn a {
  background-color: #4185b5;
  color: white;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  font-weight: 700;
  line-height: 2;
  padding: 2px 25.5px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .header_nav-btn a {
    font-size: 12px;
    letter-spacing: 0em;
    padding: 0 13px;
  }
  .header_nav-btn a svg {
    width: 8px;
  }
}
@media (hover: hover) {
  .header_nav-btn a {
    transition: all 0.5s ease;
  }
  .header_nav-btn a:hover {
    background-color: white;
    color: #4185b5;
  }
}

.footer {
  background-color: #243e65;
  color: white;
}
.footer_body {
  padding-top: 50px;
  padding-bottom: 40px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer_body {
    max-width: 390px !important;
    margin-left: auto;
    margin-right: auto;
    gap: 12px;
  }
}
.footer_left {
  padding-top: 10px;
}
@media screen and (max-width: 768px) {
  .footer_left {
    padding-top: 0;
  }
}
.footer_left-top {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .footer_left-top {
    display: block;
    margin-bottom: 21px;
  }
}
.footer_left-bottom small {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .footer_right {
    max-width: 160px;
    width: 100%;
  }
}
.footer_right a {
  display: block;
  background-color: white;
  color: #243e65;
  font-size: 3.7rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 2;
  padding: 3px 24px;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .footer_right a {
    font-size: 3rem;
    letter-spacing: 0em;
    padding: 5px 20px;
    border-radius: 5px;
  }
}
@media (hover: hover) {
  .footer_right a {
    transition: all 0.5s ease;
  }
  .footer_right a:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 768px) {
  .footer_contact {
    max-width: 105px;
    margin-bottom: 56px;
  }
}
.footer_contact a {
  display: block;
  color: white;
  font-family: "Lato", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  border: 1px solid white;
  border-radius: 10px;
  padding: 7px 16.5px;
}
@media screen and (max-width: 768px) {
  .footer_contact a {
    letter-spacing: 0.05em;
    border-radius: 8px;
  }
}
@media (hover: hover) {
  .footer_contact a {
    transition: all 0.5s ease;
  }
  .footer_contact a:hover {
    opacity: 0.5;
  }
}
.footer_sns {
  display: flex;
  align-items: center;
  gap: 15px;
}
.footer_sns a {
  display: block;
}
@media (hover: hover) {
  .footer_sns a {
    transition: all 0.5s ease;
  }
  .footer_sns a:hover {
    opacity: 0.5;
  }
}
.footer_logo {
  min-height: 70px;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .footer_logo {
    gap: 17px;
    min-height: 100px;
  }
  .footer_logo--h70 {
    min-height: 70px;
  }
}
@media (hover: hover) {
  .footer_logo a {
    transition: all 0.5s ease;
  }
  .footer_logo a:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 768px) {
  .footer_logo-item:nth-child(1) {
    max-width: 67px;
  }
  .footer_logo-item:nth-child(2) {
    max-width: 138.8px;
  }
  .footer_logo-item:nth-child(3) {
    max-width: 88px;
  }
}

.inner {
  max-width: 1009px;
  margin-inline: auto;
  padding-inline: 40px;
}
@media screen and (max-width: 768px) {
  .inner {
    padding-inline: 30px;
  }
}
@media screen and (max-width: 389px) {
  .inner {
    padding-inline: 20px;
  }
}

.text {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.small-text {
  font-size: 1.4rem;
  line-height: 1.7142857143;
  font-weight: 600;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .small-text--sp {
    margin-top: 20px !important;
    font-size: 1.2rem;
    line-height: 2;
  }
}

/**
 * Home
 */
.homeWrap {
  overflow: hidden;
}
.homeNews {
  padding-top: 160px;
  padding-bottom: 220px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .homeNews {
    padding-top: 96px;
    padding-bottom: 100px;
  }
}
.homeNews::after {
  position: absolute;
  content: "";
  width: 833px;
  height: 149px;
  background-image: url(../images/message-illust.svg);
  background-size: contain;
  bottom: -75px;
  right: -2px;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .homeNews::after {
    display: none;
  }
}
.homeNews_inner {
  display: flex;
}
@media screen and (max-width: 768px) {
  .homeNews_inner {
    display: block;
    padding-inline: 20px;
  }
}
.homeNews_title {
  width: 365px;
}
@media screen and (max-width: 768px) {
  .homeNews_title {
    width: 100%;
    padding-inline: 10px;
  }
}
.homeNews_title > span {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.125;
}
@media screen and (max-width: 768px) {
  .homeNews_title > span {
    display: block;
    font-size: 1rem;
    letter-spacing: 0.03em;
    margin-bottom: 10px;
  }
}
.homeNews_title h2 {
  font-size: 7.5rem;
  line-height: 1.0666666667;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .homeNews_title h2 {
    font-size: 4.5rem;
  }
}
.homeNews_body {
  margin-top: 140px;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .homeNews_body {
    margin-top: 40px;
  }
}
.homeNews_item {
  position: relative;
}
.homeNews_item-body {
  display: flex;
  align-items: center;
  padding: 26px 5px 26px 24px;
  color: currentColor;
}
@media screen and (max-width: 768px) {
  .homeNews_item-body {
    display: block;
    padding: 13px 5px 11px 9px;
  }
}
.homeNews_item-date {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.04em;
  margin-right: 40px;
}
@media screen and (max-width: 768px) {
  .homeNews_item-date {
    font-size: 13px;
    letter-spacing: 0.03em;
    margin-right: 0;
    margin-bottom: 14px;
  }
}
.homeNews_item-title {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0.03em;
  padding-right: 30px;
}
@media screen and (max-width: 768px) {
  .homeNews_item-title {
    line-height: 1.5;
    margin-bottom: 7px;
    padding-right: 10px;
  }
}
.homeNews_item-arrow {
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .homeNews_item-arrow {
    text-align: right;
    padding-right: 7px;
  }
}
@media (hover: hover) {
  .homeNews_item a {
    transition: all 0.5s ease;
  }
  .homeNews_item a:hover {
    opacity: 0.5;
    transform: translateX(5px);
  }
}
.homeNews_btn {
  margin-top: 24px;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .homeNews_btn {
    text-align: center;
    margin-top: 32px;
  }
}
.homeNews_btn a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 8px 28px;
  border-radius: 30px;
  transition: all 0.5s ease;
  background-color: white;
  color: #4185b5;
}
.is-inview .homeNews_btn a {
  color: #fff;
  background-color: #4185b5;
}
@media screen and (max-width: 768px) {
  .homeNews_btn a {
    font-size: 14px;
    line-height: 2;
    padding: 6px 32px;
  }
}
@media (hover: hover) {
  .homeNews_btn a {
    transition: all 0.5s ease;
  }
  .homeNews_btn a:hover {
    background: rgba(65, 133, 181, 0.5);
  }
}
@media screen and (max-width: 768px) {
  .homeNews_btn a img {
    display: none;
  }
}
.homeProgram {
  padding-top: 220px;
  padding-bottom: 240px;
  position: relative;
  color: white;
}
@media screen and (max-width: 768px) {
  .homeProgram {
    padding-top: 100px;
    padding-bottom: 95px;
  }
}
.homeProgram::before {
  position: absolute;
  top: 500px;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: calc(100% - 500px);
  height: 100%;
  background: linear-gradient(to bottom, #4185b5 0%, #4185b5 65%, rgba(0, 73, 159, 0.3) 100%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .homeProgram::after {
    position: absolute;
    content: "";
    width: 392px;
    height: 71px;
    background-image: url(../images/message-illust.svg);
    background-size: contain;
    background-repeat: no-repeat;
    bottom: -36px;
    right: -2px;
    z-index: 2;
  }
}
.homeProgram_inner {
  position: relative;
  z-index: 2;
}
.homeProgram_bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.homeProgram_bg img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .homeProgram_bg {
    width: 100%;
  }
  .homeProgram_bg img {
    max-height: 600px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center bottom;
       object-position: center bottom;
  }
}
.homeProgram_title {
  margin-bottom: 131px;
}
@media screen and (max-width: 768px) {
  .homeProgram_title {
    margin-bottom: 61px;
  }
}
.homeProgram_title > span {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.125;
}
@media screen and (max-width: 768px) {
  .homeProgram_title > span {
    font-size: 10px;
    letter-spacing: 0.03em;
    display: block;
    margin-bottom: 5px;
  }
}
.homeProgram_title h2 {
  font-size: 10rem;
  line-height: 1.2;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .homeProgram_title h2 {
    font-size: 5rem;
  }
}
.homeProgram_col2 {
  display: flex;
}
@media screen and (max-width: 768px) {
  .homeProgram_col2 {
    display: block;
  }
}
.homeProgram_lead {
  flex: 1;
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  .homeProgram_lead {
    margin-left: 0;
  }
}
.homeProgram_lead img {
  width: 200px;
}
@media screen and (max-width: 768px) {
  .homeProgram_lead img {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .homeProgram_lead p {
    font-size: 3rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    font-weight: 700;
  }
}
.homeProgram_body {
  margin-top: 44px;
  width: 505px;
}
@media screen and (max-width: 768px) {
  .homeProgram_body {
    width: 100%;
    margin-top: 36px;
  }
}
.homeProgram_text {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0em;
  margin-bottom: 46px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .homeProgram_text {
    font-size: 14px;
    letter-spacing: 0.03em;
  }
}
.homeProgram_recommend {
  font-size: 1.8rem;
  line-height: 1.75;
  border-bottom: 1px solid #fff;
  display: inline-block;
  padding-bottom: 2px;
  padding-right: 2px;
  font-weight: 700;
  margin-bottom: 28px;
}
@media screen and (max-width: 768px) {
  .homeProgram_recommend {
    margin-bottom: 27px;
  }
}
.homeProgram_list {
  margin-bottom: 28px;
}
@media screen and (max-width: 768px) {
  .homeProgram_list {
    margin-bottom: 18px;
  }
}
.homeProgram_list li {
  font-size: 1.6rem;
  line-height: 1.3125;
  letter-spacing: 0.03em;
  font-weight: 600;
}
.homeProgram_list li:not(:last-child) {
  margin-bottom: 14px;
}
@media screen and (max-width: 768px) {
  .homeProgram_list li:not(:last-child) {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 768px) {
  .homeProgram_list li {
    font-size: 13px;
    line-height: 1.6153846154;
    padding-left: 26px;
    position: relative;
  }
}
.homeProgram_list li::before {
  content: " ";
  height: 8px;
  border-radius: 100%;
  width: 8px;
  margin-left: 6px;
  margin-right: 8px;
  display: inline-block;
  background: #fff;
  width: -moz-min-content;
  width: min-content;
  aspect-ratio: 1/1;
  margin-bottom: 1px;
}
@media screen and (max-width: 768px) {
  .homeProgram_list li::before {
    position: absolute;
    top: 7px;
    left: 0;
  }
}
.homeProgram_small {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding-left: 28px;
}
@media screen and (max-width: 768px) {
  .homeProgram_small {
    padding-left: 0;
    line-height: 1.75;
  }
}
.homeProgram_links {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .homeProgram_links {
    margin-top: 67px;
  }
}
.homeProgram_links a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-left: auto;
  width: 151px;
  font-size: 1.4rem;
  font-weight: 600;
  padding-bottom: 7px;
  margin-bottom: 23px;
  padding-left: 1px;
  color: white;
  border-bottom: 1px solid #fff;
}
@media (hover: hover) {
  .homeProgram_links a img {
    transition: all 0.5s ease;
  }
  .homeProgram_links a:hover img {
    transform: translateY(-3px) translateX(3px);
  }
}
.homeVoice {
  padding-top: 160px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .homeVoice {
    padding-top: 120px;
  }
}
.homeVoice::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  bottom: 140px;
  left: 0;
  background: linear-gradient(to top, #fff 0%, #fff calc(100% - 140px), rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .homeVoice::before {
    background: linear-gradient(to top, #fff 0%, #fff calc(100% - 100px), rgba(255, 255, 255, 0) 100%);
    bottom: 100px;
  }
}
@keyframes poyon {
  0% {
    transform: scale(0.6);
    opacity: 0;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.homeVoice_inner {
  position: relative;
  z-index: 2;
}
.homeVoice_title {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #4185b5;
  padding-bottom: 14px;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 2px solid #4185b5;
  margin-bottom: 50px;
}
.homeVoice_items {
  display: flex;
  flex-wrap: wrap;
  max-width: 913px;
  margin-left: auto;
}
@media screen and (max-width: 640px) {
  .homeVoice_items {
    margin-right: auto;
    flex-direction: column;
    max-width: 450px;
  }
}
.homeVoice_item {
  opacity: 0;
  transform: scale(0.8);
}
.homeVoice_item.is-active {
  animation: poyon 0.45s ease forwards;
}
.homeVoice_item:nth-child(1) {
  width: 339px;
}
@media screen and (max-width: 1024px) {
  .homeVoice_item:nth-child(1) {
    width: 33.10546875vw;
  }
}
@media screen and (max-width: 640px) {
  .homeVoice_item:nth-child(1) {
    width: 260px;
    margin-right: auto;
    order: 3;
    margin-top: -18px;
  }
}
.homeVoice_item:nth-child(2) {
  width: 346px;
  margin-top: -126px;
  margin-left: 70px;
}
@media screen and (max-width: 1024px) {
  .homeVoice_item:nth-child(2) {
    width: 33.7890625vw;
    margin-top: -12.3046875vw;
    margin-left: 6.8359375vw;
  }
}
@media screen and (max-width: 640px) {
  .homeVoice_item:nth-child(2) {
    width: 266px;
    margin-right: auto;
    margin-top: 0;
    margin-left: 0;
    order: 1;
  }
}
.homeVoice_item:nth-child(3) {
  width: 376.5px;
  margin-top: -22px;
  margin-left: 101px;
}
@media screen and (max-width: 1024px) {
  .homeVoice_item:nth-child(3) {
    width: 36.767578125vw;
    margin-top: -2.1484375vw;
    margin-left: 9.86328125vw;
  }
}
@media screen and (max-width: 640px) {
  .homeVoice_item:nth-child(3) {
    width: 289px;
    margin-top: -13px;
    margin-left: auto;
    order: 4;
  }
}
.homeVoice_item:nth-child(4) {
  width: 377px;
  margin-top: -134px;
  margin-left: 58px;
}
@media screen and (max-width: 1024px) {
  .homeVoice_item:nth-child(4) {
    width: 36.81640625vw;
    margin-top: -13.0859375vw;
    margin-left: 5.6640625vw;
  }
}
@media screen and (max-width: 640px) {
  .homeVoice_item:nth-child(4) {
    width: 290px;
    margin-left: auto;
    margin-top: -10px;
    order: 2;
  }
}
.homeMessage {
  padding-top: 80px;
  padding-bottom: 120px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .homeMessage {
    padding-top: 70px;
    padding-bottom: 80px;
  }
}
.homeMessage::after {
  position: absolute;
  content: "";
  max-width: 641px;
  width: 641px;
  width: 50.078125vw;
  max-height: 168px;
  height: 168px;
  height: 13.125vw;
  background-image: url(../images/message-illust.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 83px;
  right: -2px;
}
@media screen and (max-width: 768px) {
  .homeMessage::after {
    display: none;
  }
}
.homeMessage_title {
  margin-bottom: 107px;
}
@media screen and (max-width: 768px) {
  .homeMessage_title {
    margin-bottom: 42px;
  }
}
.homeMessage_title > span {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.125;
}
@media screen and (max-width: 768px) {
  .homeMessage_title > span {
    font-size: 10px;
    display: block;
    margin-bottom: 5px;
    letter-spacing: 0.03em;
  }
}
.homeMessage_title h2 {
  font-size: 9rem;
  line-height: 1.3333333333;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .homeMessage_title h2 {
    font-size: 5.5rem;
  }
}
.homeMessage_lead {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6666666667;
  letter-spacing: 0.03em;
  flex: 1;
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .homeMessage_lead {
    font-size: 21px;
    line-height: 1.9047619048;
    margin-bottom: 41px;
  }
}
.homeMessage_col2 {
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .homeMessage_col2 {
    flex-direction: column-reverse;
    padding-bottom: 78px;
  }
}
.homeMessage_body {
  margin-top: 20px;
  width: 402px;
}
@media screen and (max-width: 768px) {
  .homeMessage_body {
    width: 100%;
    margin-top: 49px;
  }
}
.homeMessage_text {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.5;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .homeMessage_text {
    font-size: 14px;
    letter-spacing: 0em;
    line-height: 1.5;
    line-height: 2.17;
  }
}
.homeMessage_img {
  margin-top: -50px;
}
@media screen and (max-width: 768px) {
  .homeMessage_img {
    margin-top: 0;
    max-width: 330px;
  }
}
.homeMessage_links {
  position: absolute;
  bottom: 8px;
  right: 0;
}
.homeMessage_links a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-left: auto;
  width: 117px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  font-weight: 600;
  padding-bottom: 7px;
  padding-left: 1px;
  color: #243e65;
  border-bottom: 1px solid #243e65;
}
@media (hover: hover) {
  .homeMessage_links a img {
    transition: all 0.5s ease;
  }
  .homeMessage_links a:hover img {
    transform: translateY(-3px) translateX(3px);
  }
}
.homeCurriculum_top {
  padding-top: 125px;
  padding-bottom: 95px;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_top {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.homeCurriculum_bottom {
  padding-top: 95px;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_bottom {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.homeCurriculum_title {
  margin-bottom: 57px;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_title {
    margin-bottom: 26px;
  }
}
.homeCurriculum_title > span {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.125;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_title > span {
    font-size: 1rem;
    letter-spacing: 0.03em;
    display: block;
    margin-bottom: 5px;
  }
}
.homeCurriculum_title h2 {
  font-size: 10rem;
  line-height: 1.2;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_title h2 {
    font-size: 4.7rem;
    letter-spacing: 0.04em;
  }
}
.homeCurriculum_text {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.8;
  margin-bottom: 110px;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_text {
    font-size: 14px;
    line-height: 1.7142857143;
    text-align: left;
    margin-bottom: 14px;
  }
}
.homeCurriculum_member {
  max-width: 934px;
  margin-inline: auto;
}
.homeCurriculum_lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.homeCurriculum_list {
  width: 29.7324083251%;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_list {
    width: 100%;
  }
  .homeCurriculum_list:not(:last-child) {
    margin-bottom: 54px;
  }
}
.homeCurriculum_list:last-child {
  margin-top: 50px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_list:last-child {
    margin-top: 0;
  }
}
.homeCurriculum_list .num {
  font-family: "Lato", sans-serif;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 8px;
  display: inline-block;
  border-bottom: 1px solid currentColor;
  margin-bottom: 30px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_list .num {
    padding-bottom: 5px;
  }
}
.homeCurriculum_list .image {
  width: 100%;
  margin-bottom: 23px;
}
.homeCurriculum_list .image img {
  width: 100%;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_list .image img {
    aspect-ratio: 330/215;
  }
}
.homeCurriculum_list .title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-bottom: 19px;
}
.homeCurriculum_list .text {
  font-size: 1.4rem;
  line-height: 1.6428571429;
  letter-spacing: 0.03em;
  font-weight: 600;
}
.homeCurriculum_list--flex {
  display: flex;
  gap: 54px;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_list--flex {
    flex-direction: column;
    gap: 0;
    align-items: baseline;
  }
}
.homeCurriculum_list--flex .image {
  width: 49.8513379584%;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_list--flex .image {
    width: 100%;
    order: 1;
  }
}
.homeCurriculum_list--flex .body {
  flex: 1;
  padding-top: 26px;
}
@media screen and (max-width: 768px) {
  .homeCurriculum_list--flex .body {
    display: contents;
  }
  .homeCurriculum_list--flex .body .num {
    order: 0;
  }
  .homeCurriculum_list--flex .body * {
    order: 2;
  }
}

.member {
  display: grid;
  grid-gap: 118px 10.7066381156%;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 768px) {
  .member {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    grid-gap: 58px 100px;
    grid-template-columns: 1fr;
  }
}
.member-imageWrap {
  width: calc(100% - 117px);
  overflow: hidden;
  border-radius: 150px;
  aspect-ratio: 300/330;
}
@media screen and (max-width: 768px) {
  .member-imageWrap {
    aspect-ratio: initial;
    width: calc(100% - 10px);
    margin-left: auto;
  }
}
.member-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 300/330;
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .member-image {
    aspect-ratio: 18/23;
  }
}
.member-topWrap {
  display: flex;
  position: relative;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .member-topWrap {
    flex: 1;
  }
}
.member-nameWrap {
  writing-mode: vertical-rl;
  font-weight: 700;
  font-style: normal;
  margin-left: 34px;
  display: flex;
  align-items: center;
  gap: 25px;
}
.member-nameWrap img {
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .member-nameWrap {
    position: absolute;
    top: 117px;
    right: 20px;
    background-color: #eadfb3;
    border-radius: 5px;
    height: -moz-max-content;
    height: max-content;
    padding: 8px 3px;
    gap: 6px;
    margin-left: 0;
  }
}
.member-name {
  font-size: 5rem;
  font-size: 50px;
  display: inline-block;
  line-height: 1.1;
  margin-top: 30px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .member-name {
    font-size: 3rem;
    margin-top: 0;
  }
}
.member-titleWrap {
  writing-mode: vertical-rl;
  font-weight: 600;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .member-titleWrap {
    position: absolute;
    top: 104px;
    right: 0;
    background-color: #eadfb3;
    padding: 5px 3px;
    border-radius: 5px;
    height: -moz-max-content;
    height: max-content;
  }
}
.member-title {
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  margin-left: 13px;
}
@media screen and (max-width: 768px) {
  .member-title {
    font-size: 14px;
    margin-left: 0;
  }
}
.member-message {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5909090909;
  letter-spacing: 0.03em;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .member-message {
    margin-top: 0;
    width: 120px;
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
@media screen and (max-width: 768px) {
  .member .member-item .modal-bt {
    display: flex;
    gap: 20px;
    align-items: center;
  }
  .member .member-item:nth-child(2n) .member-nameWrap {
    top: -52px;
    left: 0;
    right: auto;
  }
  .member .member-item:nth-child(2n) .member-titleWrap {
    top: -63px;
    left: 39px;
    right: auto;
  }
  .member .member-item:nth-child(2n+1) .modal-bt {
    flex-direction: row-reverse;
  }
  .member .member-item:nth-child(2n+1) .member-imageWrap {
    margin-left: 0;
    margin-right: auto;
  }
}
.member .modal-bt {
  cursor: pointer;
}
@media (hover: hover) {
  .member .modal-bt {
    transition: all 0.5s ease;
  }
  .member .modal-bt:hover {
    opacity: 0.65;
  }
  .member .modal-bt:hover .member-image {
    transform: scale(1.05);
  }
  .member .modal-bt:hover .member-nameWrap img {
    transform: translateX(5px) translateY(-5px);
  }
}

/**
 * Program
 */
.program {
  padding-top: 115px;
}
@media screen and (max-width: 768px) {
  .program {
    overflow: hidden;
  }
}
.program_header {
  padding-top: 117px;
}
.program_header-inner {
  margin-bottom: 97px;
}
.program_header-fv {
  max-width: 1280px;
  padding-inline: 10px;
  margin-inline: auto;
}
.program_header-fv img {
  border-radius: 20px;
}
.program_overview {
  padding-top: 98px;
  padding-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .program_overview {
    padding-top: 73px;
  }
}
.program_overview-col2 {
  font-size: 1.6rem;
  display: grid;
  grid-template-columns: 259px auto;
}
@media screen and (max-width: 768px) {
  .program_overview-col2 {
    display: block;
  }
}
.program_overview-left {
  min-height: 100vh;
}
@media screen and (max-width: 768px) {
  .program_overview-left {
    display: none;
  }
}
.program_overview-heading {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .program_overview-heading {
    margin-bottom: 21px;
  }
}
.program_overview-title {
  font-weight: 700;
  font-size: 3.5rem;
  line-height: 1.1428571429;
  letter-spacing: 0.1em;
  font-family: "Lato", sans-serif;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .program_overview-title {
    letter-spacing: 0.05em;
  }
}
.program_overview-small {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 2;
  font-weight: 600;
}
.program_overview-nav {
  position: sticky;
  top: 200px;
}
.program_overview-nav .item {
  position: relative;
}
.program_overview-nav .item:not(:last-child) {
  margin-bottom: 10px;
}
.program_overview-nav .item::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  background: currentColor;
  border-radius: 50%;
  top: 50%;
  left: -16px;
  transform: translateY(-50%);
  display: none;
}
.program_overview-nav .item a {
  display: inline-block;
  line-height: 1.7142857143;
  font-weight: 600;
  letter-spacing: 0.03em;
  font-size: 1.4rem;
  color: currentColor;
}
.program_overview-nav .navlnow::before {
  display: block;
}
.program_overview-right {
  padding-top: 22px;
}
.program_overview-content {
  padding-block: 60px;
}
@media screen and (max-width: 768px) {
  .program_overview-content {
    padding-block: 25px;
  }
}
.program_overview-content:first-child {
  padding-top: 0;
}
.program_overview-content > h3 {
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .program_overview-content > h3 {
    font-size: 2.4rem;
    letter-spacing: 0.03em;
    margin-bottom: 19px;
  }
}
.program_overview-content .image {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .program_overview-content .image {
    margin-top: 24px;
    margin-bottom: 24px;
  }
}
.program_overview-content .image img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .program_overview-content .image--mb30 {
    margin-bottom: 30px;
  }
}
.program_overview-content .small-text {
  margin-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .program_overview-content .small-text {
    margin-bottom: 20px;
  }
}
.program_overview-content .small-text:last-child {
  margin-top: 30px;
  margin-bottom: 0;
}
.program_overview-content .sub-heading {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.75;
  margin-bottom: 14px;
}
@media screen and (max-width: 768px) {
  .program_overview-content .sub-heading {
    margin-bottom: 14px;
  }
}
.program_overview-content .sub-heading--tag {
  color: white;
  background-color: #243e65;
  border-radius: 16px;
  padding: 2px 14px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .program_overview-content .sub-heading--tag {
    font-size: 14px;
    line-height: 1.5;
  }
}
.program_overview-content .pc {
  display: inline-table;
}
@media screen and (max-width: 768px) {
  .program_overview-content .pc {
    display: none;
  }
}
.program_overview-content .tableFlex {
  display: flex;
}
.program_overview-content .tableFlex table {
  width: 50%;
}
.program_overview-content .tableFlex table:last-child {
  margin-left: -1px;
}
.program_overview-content .tableFlex--mb {
  margin-bottom: 15px;
}
.program_overview-content .tableFlex--mb table.ver03 th {
  padding-top: 11px;
  vertical-align: middle;
}
.program_overview-content table {
  table-layout: fixed;
  border: 1px solid currentColor;
  width: 100%;
}
.program_overview-content table + .image {
  margin-top: 30px;
}
.program_overview-content table th,
.program_overview-content table td {
  border: 1px solid currentColor;
  box-sizing: border-box;
}
.program_overview-content table th {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.4285714286;
  vertical-align: middle;
  text-align: left;
  padding: 11px 20px;
  height: 54px;
}
.program_overview-content table th.center {
  text-align: center;
}
.program_overview-content table th.large {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
.program_overview-content table td {
  vertical-align: middle;
  padding-left: 20px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.4285714286;
  height: 65px;
}
.program_overview-content table td.h80 {
  height: 80px;
}
.program_overview-content table td.h145 {
  height: 145px;
  padding-top: 15px;
  padding-bottom: 15px;
}
.program_overview-content table td.h150 {
  height: 150px;
  line-height: 1.75;
  font-weight: 600;
}
.program_overview-content table td.h150 .address {
  font-size: 1.2rem;
  line-height: 1.75;
}
.program_overview-content table td .flex {
  display: flex;
  gap: 10px;
  align-items: center;
}
.program_overview-content table td .small {
  font-size: 1rem;
}
.program_overview-content table td .small12 {
  font-size: 1.2rem;
}
.program_overview-content table td .bold {
  font-weight: 700;
}
.program_overview-content table td .large {
  font-size: 1.6rem;
  font-weight: 700;
  padding: 10px 10px 10px 0;
}
.program_overview-content table td .large span {
  font-size: 1.2rem;
  font-weight: 600;
}
.program_overview-content table td .large .name {
  font-size: 1.4rem;
  font-weight: 600;
}
.program_overview-content table .items {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 0;
}
.program_overview-content table .item {
  width: 100%;
}
.program_overview-content table .item--half {
  width: calc(50% - 10px);
}
.program_overview-content table .item--third {
  width: calc(42% - 10px);
  width: 128px;
}
.program_overview-content table .item--third-two {
  width: calc(58% - 10px);
  width: 181px;
}
.program_overview-content table .h85 {
  height: 85px;
}
.program_overview-content table.h78 td {
  height: 78px;
}
.program_overview-content table .ver01 col:first-child {
  width: 162px;
}
.program_overview-content table .ver01 col:nth-child(3) {
  width: 240px;
  width: 32%;
}
.program_overview-content table .ver02 col:first-child {
  width: 100px;
}
.program_overview-content table .ver02 col:nth-child(2) {
  width: 40%;
}
.program_overview-content table .ver02-2 col:first-child {
  width: 100px;
}
.program_overview-content table.ver03 col:first-child {
  width: 100px;
}
.program_overview-content table.ver03 th {
  vertical-align: baseline;
  padding-top: 27px;
}
.program_overview-content table.ver03 td {
  vertical-align: top;
  padding-top: 13px;
}
.program_overview-content .tableBoxWrap {
  margin-bottom: 20px;
}
.program_overview-content .tableBoxWrap .tableBox {
  width: 100%;
  margin-bottom: 0 !important;
}
.program_overview-content .tableBoxWrap .tableBox:last-child {
  margin-top: 20px;
}
.program_overview-content .tableBoxWrap .tableBox dd {
  line-height: 1.75;
}
.program_overview-content .tableBox {
  border: 1px solid currentColor;
  border-bottom: none;
}
.program_overview-content .tableBox:not(:last-child) {
  margin-bottom: 10px;
}
.program_overview-content .tableBox--mb24 {
  margin-bottom: 24px !important;
}
.program_overview-content .tableBox dt,
.program_overview-content .tableBox dd {
  border-bottom: 1px solid currentColor;
  transition: all 0.3s ease;
}
.program_overview-content .tableBox dt {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.4285714286;
  padding: 5px 19px;
}
.program_overview-content .tableBox .border-color {
  border-bottom-color: white;
}
.is-inview .program_overview-content .tableBox .border-color {
  border-bottom-color: currentColor;
}
.program_overview-content .tableBox .ver02 {
  background-color: white;
  color: #4185b5;
  font-size: 1.2rem;
  padding: 4px 19px;
  transition: all 0.3s ease;
}
.is-inview .program_overview-content .tableBox .ver02 {
  background-color: #243e65;
  color: white;
}
.program_overview-content .tableBox dd {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.4285714286;
  padding: 14px 19px;
  letter-spacing: 0.03em;
}
.program_overview-content .tableBox dd > span {
  display: block;
  margin-bottom: 5px;
  letter-spacing: 0em;
}
.program_overview-content .tableBox dd .flex {
  display: flex;
  align-items: center;
  gap: 10px;
}
.program_overview-content .tableBox dd .flex--30 {
  gap: 30px;
}
.program_overview-content .tableBox dd .small {
  font-size: 1rem;
  font-weight: 600;
}
.program_overview-content .tableBox dd .small12 {
  font-size: 1.2rem;
  font-weight: 600;
}
.program_overview-content .tableBox dd .bold {
  font-weight: 700;
  letter-spacing: 0.03em;
}
.program_overview-content .tableBox dd .large {
  font-size: 1.6rem;
  font-weight: 700;
}
.program_overview-content .tableBox dd .large .name {
  margin-top: 3px;
  font-size: 1.6rem;
  font-weight: 600;
}
.program_overview-content .tableBox dd .large .name span {
  font-size: 1.2rem;
  font-weight: 600;
}
.program_overview-content .tableBox dd.h95 {
  min-height: 95px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
.program_overview-content .tableBox dd.h78 {
  min-height: 78px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
.program_overview-content .tableBox dd.h90 {
  min-height: 90px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
.program_overview-content .tableBox dd.h130 {
  min-height: 130px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
.program_overview-content .tableBox dd.h140 {
  min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding-right: 5px;
}
.program_overview-content .tableBox dd.h150 {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
.program_overview-content .tableBox dd .fz12 {
  font-size: 1.2rem;
  letter-spacing: 0em;
}
.program_overview-content .tableBox dd.fz16,
.program_overview-content .tableBox dd .fz16 {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.03em;
}
.program_overview-content .tableBox dd .name {
  display: flex;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  align-items: flex-end;
  margin-bottom: 3px;
}
.program_overview-content .tableBox dd .name span {
  font-size: 1.2rem;
  font-weight: 600;
}
.program_overview-content .tableBox dd .address {
  font-size: 1.2rem;
  line-height: 1.75;
  font-weight: 600;
}
.program_overview-content .tableBox dd .mb10 {
  margin-bottom: 10px;
}
.program_overview-content .tableBox .items {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 3px;
}
.program_overview-content .tableBox .item {
  width: 100%;
}
.program_overview-content .tableBox .item--half {
  width: calc(50% - 10px);
}
.program_overview-content .tableBox .item--third {
  width: calc(42% - 10px);
  width: 120px;
}
.program_overview-content .tableBox .item--third-two {
  width: calc(58% - 10px);
  width: 181px;
}

/**
 * Message
 */
.message {
  padding-top: 115px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .message {
    padding-top: 90px;
  }
}
.message_header {
  padding-top: 117px;
}
@media screen and (max-width: 768px) {
  .message_header {
    padding-top: 40px;
  }
}
.message_header-inner {
  margin-bottom: 97px;
}
@media screen and (max-width: 768px) {
  .message_header-inner {
    margin-bottom: 30px;
  }
}
.message_header-fv {
  max-width: 1280px;
  padding-inline: 10px;
  margin-inline: auto;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .message_header-fv {
    padding: 0;
  }
}
.message_header-fv img {
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  .message_header-fv img {
    max-height: 260px;
    height: 100%;
    aspect-ratio: 39/26;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
}
.message_area01 {
  padding-top: 116px;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .message_area01 {
    padding-bottom: 60px;
  }
}
.message_area01-lead {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-bottom: 106px;
}
@media screen and (max-width: 768px) {
  .message_area01-lead {
    font-size: 3rem;
    line-height: 1.6666666667;
    margin-bottom: 50px;
  }
}
.message_area01-col2 {
  display: flex;
  align-items: flex-end;
  gap: 5.7482656095%;
}
@media screen and (max-width: 768px) {
  .message_area01-col2 {
    display: block;
  }
}
.message_area01-col:first-child {
  width: 49.5540138751%;
}
@media screen and (max-width: 768px) {
  .message_area01-col:first-child {
    width: 100%;
    margin-bottom: 50px;
  }
}
.message_area01-col:last-child {
  width: 44.6977205154%;
  padding-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .message_area01-col:last-child {
    width: 100%;
    padding-bottom: 0;
  }
}
.message_area01-col img {
  border-radius: 10px;
}
.message_area01-text:not(:last-child) {
  margin-bottom: 20px;
}
.message_area02 {
  padding-top: 120px;
  padding-bottom: 148px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .message_area02 {
    padding-top: 60px;
    padding-bottom: 70px;
  }
}
.message_area02::before {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100% + 617px - 148px);
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, #4185b5 0%, #4082b1 63%, rgba(65, 133, 181, 0.05) 75%, rgba(65, 133, 181, 0) 100%);
  pointer-events: none;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .message_area02::before {
    height: calc(100% + 208px);
    background: linear-gradient(to bottom, #4185b5 0%, #4185b5 83%, rgba(65, 133, 181, 0) 100%);
  }
}
.message_area02-inner {
  position: relative;
  z-index: 2;
}
.message_area02-lead {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .message_area02-lead {
    font-size: 2.6rem;
    line-height: 1.8461538462;
    margin-bottom: 50px;
  }
}
.message_area02-col2 {
  display: flex;
  gap: 5.0545094153%;
}
@media screen and (max-width: 768px) {
  .message_area02-col2 {
    display: block;
  }
}
.message_area02-col:last-child {
  width: 49.5540138751%;
}
@media screen and (max-width: 768px) {
  .message_area02-col:last-child {
    width: 100%;
  }
}
.message_area02-col:first-child {
  width: 45.3914767096%;
}
@media screen and (max-width: 768px) {
  .message_area02-col:first-child {
    width: 100%;
  }
}
.message_area02-col img {
  border-radius: 10px;
}
.message_area02-text:not(:last-child) {
  margin-bottom: 20px;
}
.message_bg {
  width: 100%;
  position: relative;
}
.message_bg::before {
  position: absolute;
  content: "";
  width: 941px;
  height: 168px;
  background-image: url("../images/message-illust.svg");
  background-size: contain;
  bottom: -84px;
  right: -2px;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .message_bg::before {
    width: 388px;
    height: 69px;
    bottom: -34px;
  }
}
.message_bg img {
  height: 600px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}
@media screen and (max-width: 768px) {
  .message_bg img {
    height: 300px;
  }
}
.message_feature {
  background-color: white;
  overflow: hidden;
  color: #243e65;
}
@media screen and (max-width: 768px) {
  .message_feature {
    padding-top: 95px;
    position: relative;
  }
  .message_feature::before {
    position: absolute;
    content: "";
    width: 100%;
    height: calc(100% - 247px);
    top: 0;
    left: 1px;
    background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 96%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: 1;
  }
}
.message_feature-inner {
  display: flex;
  padding-left: 10.703125vw;
  padding-left: clamp(0px, 10.703125vw, 137px);
  margin-inline: auto;
  width: 1360px;
  width: 106.25vw;
  max-width: 1360px;
  gap: clamp(0px, 5.703125vw, 73px);
}
@media screen and (min-width: 1498px) {
  .message_feature-inner {
    max-width: calc(1498px + (100vw - 1498px) / 2);
    width: 100%;
    box-sizing: border-box;
    margin-right: 0;
  }
}
@media screen and (max-width: 1200px) {
  .message_feature-inner {
    padding-left: 40px;
    gap: 40px;
  }
}
@media screen and (max-width: 768px) {
  .message_feature-inner {
    display: block;
    padding: 0;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }
}
.message_feature-lead {
  font-size: 3.2rem;
  font-size: clamp(10px, 2.34375vw, 3.2rem);
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1200px) {
  .message_feature-lead {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .message_feature-lead {
    font-size: 2.4rem;
    margin-bottom: 50px;
  }
}
.message_feature-texts {
  padding-top: 154px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 61px;
}
@media screen and (min-width: 1498px) {
  .message_feature-texts {
    width: 600px;
    flex: none;
  }
}
@media screen and (max-width: 1200px) {
  .message_feature-texts {
    padding-top: 120px;
    padding-bottom: 60px;
    flex: auto;
    width: 70%;
  }
}
@media screen and (max-width: 768px) {
  .message_feature-texts {
    flex: 1;
    width: 100%;
    padding-top: 0px;
    display: block;
    padding-inline: 30px;
    position: relative;
    z-index: 2;
  }
}
@media screen and (max-width: 768px) {
  .message_feature-text {
    margin-bottom: 70px;
  }
}
.message_feature-bg {
  position: relative;
}
@media screen and (min-width: 1498px) {
  .message_feature-bg {
    margin-left: auto;
  }
}
@media screen and (max-width: 1200px) {
  .message_feature-bg {
    width: 60%;
  }
}
@media screen and (max-width: 768px) {
  .message_feature-bg {
    width: 100%;
  }
}
.message_feature-bg::before {
  position: absolute;
  content: "";
  width: 545px;
  height: 100%;
  top: 0;
  left: -1px;
  background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .message_feature-bg::before {
    display: none;
  }
}
.message_feature-bg img {
  height: 1400px;
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 1200px) {
  .message_feature-bg img {
    height: 100%;
    flex: 1;
    -o-object-position: left center;
       object-position: left center;
  }
}
@media screen and (max-width: 768px) {
  .message_feature-bg img {
    width: 100%;
    height: 350px;
    -o-object-position: top center;
       object-position: top center;
    aspect-ratio: 39/35;
  }
}

.commonMember {
  padding-top: 100px;
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .commonMember {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.commonMember_text {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 2;
  margin-bottom: 83px;
}
@media screen and (max-width: 768px) {
  .commonMember_text {
    font-size: 1.4rem;
    text-align: left;
    letter-spacing: 0.03em;
    line-height: 1.7142857143;
    margin-bottom: 22px;
  }
}
.commonMember_title {
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4285714286;
  margin-bottom: 58px;
}
@media screen and (max-width: 768px) {
  .commonMember_title {
    font-size: 2.2rem;
    margin-bottom: 40px;
  }
}
.commonMember_items {
  display: flex;
  flex-wrap: wrap;
  gap: 56px 48.3333333333px;
}
@media screen and (max-width: 768px) {
  .commonMember_items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, 155px));
    gap: 50px 20px;
    justify-content: center;
  }
}
.commonMember_body {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .commonMember_body {
    margin-bottom: 50px;
  }
}
.commonMember_block:not(:last-child) {
  margin-bottom: 66px;
}
@media screen and (max-width: 768px) {
  .commonMember_block:not(:last-child) {
    margin-bottom: 38px;
  }
}
.commonMember .member-item {
  width: 21.4073339941%;
  width: 216px;
}
@media screen and (max-width: 768px) {
  .commonMember .member-item {
    width: 155px;
  }
}
.commonMember_imageWrap {
  position: relative;
}
.commonMember_imageWrap svg {
  position: absolute;
  top: -25px;
  left: -25px;
}
@media screen and (max-width: 768px) {
  .commonMember_imageWrap svg {
    top: -20px;
    left: -20px;
  }
}
.commonMember_imageWrap .wrap {
  overflow: hidden;
  border-radius: 50%;
  width: calc(100% - 16px);
  aspect-ratio: 1/1;
}
.commonMember_image {
  border-radius: 50%;
  width: 100%;
  aspect-ratio: 1/1;
}
.commonMember_info {
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .commonMember_info {
    margin-top: 13px;
  }
}
.commonMember_name {
  display: flex;
  justify-content: space-between;
  font-size: 1.8rem;
  line-height: 1.3333333333;
  letter-spacing: 0.03em;
  font-weight: 700;
  padding-right: 17px;
}
@media screen and (max-width: 768px) {
  .commonMember_name {
    font-size: 1.6rem;
    line-height: 1.5;
    padding-right: 5px;
  }
}
.commonMember_post {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .commonMember_post {
    margin-top: 8px;
    line-height: 16px;
  }
}
.commonMember_movie {
  max-width: 787px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (hover: hover) {
  .commonMember_movie {
    transition: all 0.5s ease;
  }
  .commonMember_movie:hover {
    opacity: 0.8;
  }
}
.commonMember .modal-bt {
  cursor: pointer;
}
@media (hover: hover) {
  .commonMember .modal-bt .commonMember_name img,
  .commonMember .modal-bt .commonMember_image {
    transition: all 0.5s ease;
  }
  .commonMember .modal-bt:hover .commonMember_name img {
    transform: translateX(5px) translateY(-5px);
  }
  .commonMember .modal-bt:hover .commonMember_image {
    transform: scale(1.05);
    opacity: 0.8;
  }
}
.commonSchedule {
  padding-top: 50px;
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .commonSchedule {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.commonSchedule_title {
  margin-bottom: 34px;
}
@media screen and (max-width: 768px) {
  .commonSchedule_title {
    margin-bottom: 29px;
  }
}
.commonSchedule_title > span {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.125;
}
@media screen and (max-width: 768px) {
  .commonSchedule_title > span {
    font-size: 1rem;
    letter-spacing: 0.03em;
  }
}
.commonSchedule_title h2 {
  font-size: 9rem;
  line-height: 1.3333333333;
  line-height: 1.2;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .commonSchedule_title h2 {
    font-size: 4.5rem;
  }
}
.commonSchedule_text {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 2;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .commonSchedule_text {
    line-height: 1.7142857143;
    margin-bottom: 49px;
  }
}
.commonSchedule_text a {
  color: #4185b5;
  text-decoration: underline;
}
@media (hover: hover) {
  .commonSchedule_text a {
    transition: all 0.5s ease;
  }
  .commonSchedule_text a:hover {
    opacity: 0.5;
  }
}
.commonSchedule_graph {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .commonSchedule_graph img {
    width: 100%;
  }
}
.commonSchedule_col2 {
  display: flex;
  align-items: flex-start;
  gap: 56px;
  margin-bottom: 66px;
}
@media screen and (max-width: 1200px) {
  .commonSchedule_col2 {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .commonSchedule_col2 {
    display: block;
    margin-bottom: 36px;
  }
}
.commonSchedule_boxWrap {
  margin-top: 40px;
  width: 38.6521308226%;
}
@media screen and (max-width: 1200px) {
  .commonSchedule_boxWrap {
    width: 390px;
  }
}
@media screen and (max-width: 768px) {
  .commonSchedule_boxWrap {
    width: 100%;
    margin-bottom: 30px;
  }
}
.commonSchedule_box {
  background-color: #243e65;
  color: white;
  border-radius: 20px;
  margin-bottom: 30px;
}
.commonSchedule_box-inner {
  padding: 44px 20px 44px 52px;
}
@media screen and (max-width: 768px) {
  .commonSchedule_box-inner {
    padding: 29px 20px 30px 31px;
  }
}
.commonSchedule_box-inner .item {
  display: flex;
  align-items: center;
  min-height: 40px;
  position: relative;
}
.commonSchedule_box-inner .item::before {
  position: absolute;
  content: "";
  top: 0;
  left: 90px;
  background-color: white;
  width: 1px;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .commonSchedule_box-inner .item::before {
    left: 84px;
  }
}
.commonSchedule_box-inner .item:not(:last-child) {
  margin-bottom: 28px;
}
@media screen and (max-width: 768px) {
  .commonSchedule_box-inner .item:not(:last-child) {
    margin-bottom: 22px;
  }
}
.commonSchedule_box-inner dt {
  width: 90px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
}
@media screen and (max-width: 768px) {
  .commonSchedule_box-inner dt {
    font-size: 1.3rem;
    line-height: 1.3846153846;
    width: 84px;
  }
}
.commonSchedule_box-inner dd {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  padding-left: 16px;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .commonSchedule_box-inner dd {
    font-size: 1.3rem;
    letter-spacing: 0.03em;
    line-height: 1.3846153846;
  }
}
.commonSchedule_box-text {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}
.commonSchedule_box-text a {
  color: #4185b5;
  text-decoration: underline;
}
@media (hover: hover) {
  .commonSchedule_box-text a {
    transition: opacity 0.5s ease;
  }
  .commonSchedule_box-text a:hover {
    opacity: 0.5;
  }
}
.commonSchedule_tab {
  flex: 1;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .commonSchedule_tab {
    max-width: 563px;
    flex: auto;
  }
}
@media screen and (max-width: 768px) {
  .commonSchedule_tab {
    max-width: 100%;
  }
}
.commonSchedule_tab::before {
  position: absolute;
  content: "";
  background-color: #faf6e7;
  width: 100%;
  top: 40px;
  height: calc(100% - 40px);
  left: 0;
  z-index: -1;
  border-radius: 0 20px 20px 20px;
}
.commonSchedule_tab-item {
  width: 80px;
  height: 40px;
  line-height: 40px;
  background-color: white;
  border: 1px solid #4185b5;
  border-bottom: none;
  border-radius: 15px 15px 0 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: #4185b5;
  display: block;
  float: left;
  text-align: center;
  transition: all 0.35s ease;
  box-sizing: border-box;
  margin-right: 3px;
  cursor: pointer;
}
@media (hover: hover) {
  .commonSchedule_tab-item[for=tab-kyoto]:hover {
    background-color: #e7f2fa;
  }
}
.commonSchedule_tab input[name=commonSchedule_tab-item] {
  display: none;
}
.commonSchedule_tab-content {
  display: none;
  padding: 34px 50px;
  padding: 38px 68px 36px 53px;
  clear: both;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .commonSchedule_tab-content {
    padding: 33px 22px 26px 17px;
  }
}
.commonSchedule_tab-schedule img {
  width: 100%;
}
.commonSchedule_tab #tab-tokyo:checked ~ #tab-tokyo_content,
.commonSchedule_tab #tab-kyoto:checked ~ #tab-kyoto_content {
  display: block;
}
.commonSchedule_tab #tab-kyoto_content {
  background-color: #e7f2fa;
  border-radius: 0 20px 20px 20px;
}
.commonSchedule_tab input:checked + .commonSchedule_tab-item {
  background-color: #faf6e7;
  border-color: transparent;
  color: #243e65;
}
.commonSchedule_tab input:checked + .commonSchedule_tab-item[for=tab-kyoto] {
  background-color: #e7f2fa;
}
.commonSchedule_link {
  text-align: right;
}
.commonSchedule_link a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-left: auto;
  width: 117px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  font-weight: 600;
  padding-bottom: 8px;
  padding-left: 1px;
  color: #243e65;
  border-bottom: 1px solid #243e65;
}
.commonSchedule_link a img {
  transform: translateY(-6px) translateX(-2px);
}
@media (hover: hover) {
  .commonSchedule_link a img {
    transition: all 0.5s ease;
  }
  .commonSchedule_link a:hover img {
    transform: translateY(-9px) translateX(1px);
  }
}
.commonCommunity {
  padding-top: 80px;
  padding-bottom: 464px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .commonCommunity {
    padding-top: 80px;
    padding-bottom: 567px;
    background-color: transparent;
  }
}
.commonCommunity::before {
  position: absolute;
  top: 580px;
  left: 0;
  content: "";
  width: 100%;
  height: 400px;
  background: linear-gradient(to bottom, #eadfb3 0%, #eadfb3 60%, rgba(234, 223, 179, 0) 100%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .commonCommunity::before {
    top: 0;
    height: 856px;
    background: linear-gradient(to bottom, #eadfb3 0%, #eadfb3 88%, rgba(234, 223, 179, 0) 100%);
  }
}
.commonCommunity_inner {
  position: relative;
  z-index: 2;
}
.commonCommunity_bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.commonCommunity_bg img {
  height: 600px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .commonCommunity_bg img {
    height: auto;
  }
}
.commonCommunity_bg2 {
  position: absolute;
  bottom: -81px;
  left: 0;
  width: 100%;
  height: 283.911px; /* 高さ固定 */
  overflow: hidden;
}
@media screen and (min-width: 1280px) {
  .commonCommunity_bg2 {
    min-height: 283.911px;
    height: 22.180546875vw;
    max-height: 400px;
  }
}
@media screen and (max-width: 768px) {
  .commonCommunity_bg2 {
    bottom: -18px;
    height: 136.08px; /* 高さ固定 */
  }
}
.commonCommunity_title {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .commonCommunity_title {
    margin-bottom: 33px;
  }
}
.commonCommunity_title > span {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.125;
}
@media screen and (max-width: 768px) {
  .commonCommunity_title > span {
    font-size: 1rem;
    letter-spacing: 0.03em;
  }
}
.commonCommunity_title h2 {
  font-size: 8rem;
  line-height: 1.2;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.03em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .commonCommunity_title h2 {
    font-size: 4.5rem;
    letter-spacing: 0.05em;
  }
}
.commonCommunity_text {
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  font-weight: 600;
  line-height: 2;
  margin-bottom: 29px;
}
@media screen and (max-width: 768px) {
  .commonCommunity_text {
    line-height: 1.7142857143;
  }
}
.commonFaq {
  padding-top: 119px;
  padding-bottom: 240px;
  color: white;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .commonFaq {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.commonFaq::before {
  position: absolute;
  top: 0px;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #4185b5 0%, #4185b5 88%, rgb(255, 255, 255) 100%);
  z-index: 1;
}
.commonFaq_inner {
  display: flex;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .commonFaq_inner {
    display: block;
    padding-inline: 20px;
  }
}
.commonFaq_title {
  width: 300px;
  padding-top: 10px;
}
@media screen and (max-width: 768px) {
  .commonFaq_title {
    width: 100%;
    margin-bottom: 28px;
  }
}
.commonFaq_title > span {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.125;
}
@media screen and (max-width: 768px) {
  .commonFaq_title > span {
    font-size: 1rem;
  }
}
.commonFaq_title h2 {
  font-size: 10rem;
  line-height: 1.2;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.03em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .commonFaq_title h2 {
    font-size: 5rem;
    letter-spacing: 0.05em;
  }
}
.commonFaq_body {
  flex: 1;
  max-width: 640px;
  width: 100%;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .commonFaq_body {
    max-width: 100%;
  }
}
.commonFaq_items {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .commonFaq_items {
    margin-bottom: 40px;
  }
}
.commonFaq_items h3 {
  font-size: 2rem;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 9px;
}
@media screen and (max-width: 768px) {
  .commonFaq_items h3 {
    padding-inline: 10px;
  }
}
.commonFaq_item {
  border-top: 1px solid #fff;
}
.commonFaq_item .faq-q {
  padding: 18px 20px;
  position: relative;
  cursor: pointer;
  line-height: 200%;
  display: grid;
  grid-template-columns: 40px auto 20px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .commonFaq_item .faq-q {
    padding: 26px 10px;
    font-weight: 700;
    line-height: 1.5;
  }
}
@media (hover: hover) {
  .commonFaq_item .faq-q {
    transition: all 0.5s ease;
  }
  .commonFaq_item .faq-q:hover {
    opacity: 0.8;
  }
}
.commonFaq_item .faq-q:before {
  font-family: "Lato", sans-serif;
  content: "Q";
  font-weight: bold;
  width: 15px;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  margin-right: 25px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .commonFaq_item .faq-q:before {
    margin-top: -1px;
    margin-right: 22px;
  }
}
.commonFaq_item .faq-q:after {
  content: "+";
  display: block;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 200%;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .commonFaq_item .faq-q:after {
    top: 23px;
    transform: none;
    right: 10px;
    font-weight: 700;
  }
}
.commonFaq_item .faq-q.open::after {
  content: "-";
  right: 27px;
}
@media screen and (max-width: 768px) {
  .commonFaq_item .faq-q.open::after {
    right: 12px;
  }
}
.commonFaq_item .faq-a {
  margin-top: -14px;
  padding: 0 20px 20px 20px;
  display: none;
}
@media screen and (max-width: 768px) {
  .commonFaq_item .faq-a {
    padding: 0px 10px 28px 10px;
  }
}
.commonFaq_item .faq-a-inner {
  line-height: 1.7142857143;
  display: grid;
  grid-template-columns: 40px auto;
  letter-spacing: 0.03em;
  font-weight: 600;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .commonFaq_item .faq-a-inner {
    line-height: 1.5;
    font-weight: 700;
  }
}
.commonFaq_item .faq-a-inner::before {
  margin-top: -2px;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  height: 100%;
  content: "A";
  width: 20px;
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  font-weight: 700;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .commonFaq_item .faq-a-inner::before {
    margin-top: 4px;
    margin-right: 17px;
  }
}
@media screen and (max-width: 768px) {
  .commonFaq_border {
    border-bottom: 1px solid white;
  }
}
.commonFaq .link.schedule-link {
  margin-left: auto;
  color: white;
  padding-bottom: 5px;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.7142857143;
  letter-spacing: 0.03em;
}
@media (hover: hover) {
  .commonFaq .link.schedule-link:hover {
    opacity: 1;
  }
}
.commonFaq .link.schedule-link:not(:last-child) {
  margin-bottom: 74px;
}
.commonFaq .moreread.link.schedule-link:hover img {
  margin-left: 20px;
  transform: scale(1, -1) translateY(-3px) translateX(3px);
}
.commonGuidelines {
  padding-top: 110px;
  padding-bottom: 120px;
  position: relative;
  overflow: hidden;
}
.commonGuidelines::after {
  position: absolute;
  content: "";
  width: 592px;
  height: 106px;
  background-image: url(../images/message-illust.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 0px;
  right: -2px;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .commonGuidelines::after {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .commonGuidelines {
    padding-top: 80px;
    padding-bottom: 44px;
  }
}
@media screen and (max-width: 768px) {
  .commonGuidelines_inner {
    padding-inline: 20px;
  }
}
.commonGuidelines_title {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .commonGuidelines_title {
    padding-inline: 10px;
    margin-bottom: 36px;
  }
}
.commonGuidelines_title > span {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.125;
}
@media screen and (max-width: 768px) {
  .commonGuidelines_title > span {
    font-size: 1rem;
  }
}
.commonGuidelines_title h2 {
  font-size: 8rem;
  line-height: 1.2;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.03em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .commonGuidelines_title h2 {
    font-size: 4.5rem;
    letter-spacing: 0.05em;
  }
}
.commonGuidelines_box {
  border: 1px solid #243e65;
  margin-bottom: 78px;
}
@media screen and (max-width: 768px) {
  .commonGuidelines_box {
    margin-bottom: 50px;
  }
}
.commonGuidelines_box-item {
  display: flex;
}
@media screen and (max-width: 768px) {
  .commonGuidelines_box-item {
    display: block;
  }
}
.commonGuidelines_box-item:not(:last-child) {
  border-bottom: 1px solid #243e65;
}
.commonGuidelines_box-item dt {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 18px 17px;
  width: 21.3082259663%;
  width: 215px;
  box-sizing: border-box;
  border-right: 1px solid #243e65;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .commonGuidelines_box-item dt {
    padding: 20px 14px;
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #243e65;
  }
}
.commonGuidelines_box-item dd {
  padding: 18px 20px;
  padding-right: 25px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 2.1538461538;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .commonGuidelines_box-item dd {
    font-size: 1.4rem;
    line-height: 1.5714285714;
    padding: 18px 15px;
  }
  .commonGuidelines_box-item dd:not(:last-child) {
    border-bottom: 1px solid #243e65;
  }
}
.commonGuidelines .entry-grid {
  display: grid;
  min-height: 182px;
  grid-template-columns: 31.2190287413% auto 51.5361744301%;
}
@media screen and (max-width: 768px) {
  .commonGuidelines .entry-grid {
    display: block;
    min-height: auto;
    padding-inline: 10px;
  }
}
.commonGuidelines .entry1 {
  font-size: 1.6rem;
  display: flex;
  line-height: 1.75;
  letter-spacing: 0.03em;
  font-weight: 700;
  color: #4185b5;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .commonGuidelines .entry1 {
    text-align: center;
    line-height: 1.5;
    margin-bottom: 30px;
  }
}
.commonGuidelines .entry2 {
  animation: side 3s infinite;
}
@media screen and (max-width: 768px) {
  .commonGuidelines .entry2 {
    animation: none;
    display: flex;
    justify-content: center;
    margin-bottom: 13px;
  }
  .commonGuidelines .entry2 img {
    animation: sideSp 3s infinite;
    transform: translateY(0px) rotate(90deg);
  }
}
@keyframes side {
  0% {
    transform: translateX(-20px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateX(0px);
    opacity: 0;
  }
}
@keyframes sideSp {
  0% {
    transform: translateY(-20px) rotate(90deg);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateY(0px) rotate(90deg);
    opacity: 0;
  }
}
@media screen and (max-width: 768px) {
  .commonGuidelines .entry3 {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}
.commonGuidelines a.entry-bt {
  background: linear-gradient(200deg, #4185b5 0%, #aacaa0 100%);
  width: 100%;
  display: flex;
  height: 100%;
  font-size: 7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  align-items: center;
  justify-content: center;
  color: white;
  transition: all 0.5s ease;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .commonGuidelines a.entry-bt {
    font-size: 5rem;
    letter-spacing: 0.03em;
    min-height: 120px;
  }
}
.commonGuidelines a.entry-bt:hover {
  background: linear-gradient(0deg, #4185b5 0%, #4185b5 100%);
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .menu-btn {
    display: block;
    position: fixed;
    width: 50px;
    height: 50px;
    top: 22px;
    right: 17px;
    cursor: pointer;
    z-index: 100;
  }
  .menu-btn span {
    position: absolute;
    width: 50%;
    height: 1px;
    left: 30%;
    background: #243e65;
    transition: 0.4s;
  }
  body.home .menu-btn span {
    background-color: white;
  }
  body.scrolled .menu-btn span {
    background-color: #243e65 !important;
  }
  /* 順に上・中・下の線 */
  .top-bar {
    top: calc(35% - 1px); /*上から35%の位置*/
  }
  .center-bar {
    top: calc(46% - 1px); /*上から50%の位置*/
  }
  .under-bar {
    top: calc(58% - 1px); /*上から65%の位置*/
  }
  /** クリック後(✔が入った後)の線 **/
  /*上の線*/
  #open:checked ~ .menu-btn > .top-bar {
    top: calc(50% - 1px); /*中央*/
    transform: rotate(45deg); /*45度回転*/
    background-color: white;
  }
  /*中の線*/
  #open:checked ~ .menu-btn > .center-bar {
    opacity: 0; /*真ん中の線は透過*/
  }
  /*下の線*/
  #open:checked ~ .menu-btn > .under-bar {
    top: calc(50% - 1px); /*中央*/
    transform: rotate(-45deg); /*-45度回転*/
    background-color: white;
  }
  .inner-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    box-sizing: border-box;
    pointer-events: none;
    background: #eee;
    background: #444444;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
    z-index: 99;
    overflow-y: scroll;
    /* text-align: center;*/
  }
  #open {
    display: none;
  }
  #accordion-menu {
    display: block;
    transition: all 0.5s ease;
  }
  div#accordion-menu {
    position: relative;
    z-index: 1001;
  }
  #open:checked ~ .inner-menu {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .menu {
    max-width: 1280px;
    background: #243e65;
    padding: 60px 30px 64px;
    position: relative;
  }
  .menu_sns {
    position: absolute;
    display: flex;
    flex-direction: column;
    top: 110px;
    right: 30px;
    gap: 20px;
    align-items: center;
    justify-content: center;
  }
  .menu_body {
    margin-bottom: 61px;
  }
  .menu_body a {
    display: block;
    color: white;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 1.6rem;
    letter-spacing: 0.03em;
    line-height: 1.6875;
    font-weight: 700;
    font-family: "Lato", sans-serif;
    margin-bottom: 6.5px;
  }
  .menu_btn {
    max-width: 160px;
  }
  .menu_btn a {
    display: block;
    background-color: white;
    color: #243e65;
    font-weight: 700;
    line-height: 2;
    font-size: 3rem;
    letter-spacing: 0em;
    padding: 5px 20px;
    border-radius: 5px;
  }
  .footer-bottom.splash-bottom {
    background: #fff;
    position: absolute;
    bottom: 0;
    display: none;
    width: 100%;
    position: relative;
    display: block;
  }
}
.parallax-img {
  height: 500px;
  border-radius: 20px;
  overflow: hidden;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .parallax-img {
    height: 260px;
  }
}
.parallax-img img {
  height: auto;
  width: 100%;
}