@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap");
/* http://meyerweb.com/eric/tools/css/reset/
   v5.0.1 | 20191019
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, menu, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
  display: none;
}

body {
  line-height: 1;
}

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

blockquote, q {
  quotes: none;
}

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

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

:root {
  --design-width: 1440;
  --design-width-sp: 375;
  --color-text: #333;
  --color-text-hover: #111;
  --color-primary: #f43434;
  --color-accent: #fdc55a;
  --color-secondary: #002ea5;
  --color-highlight: #eb8314;
}

html {
  /*
    * 基準サイズ。基本はremで表記する
    */
  font-size: min(100vw / var(--design-width) * 10, 10px);
}

body {
  font-size: 1.4rem;
}

@media screen and (max-width: 48rem) {
  html,
  body {
    /*
      * 基準サイズ。基本はremで表記する
      */
    font-size: calc(100vw / var(--design-width-sp) * 10);
  }
}
header {
  position: sticky;
  height: 6.4rem;
  left: 0rem;
  right: 0rem;
  top: 0rem;
  z-index: 100;
  display: grid;
  grid-template-columns: auto 1fr auto;
  background-color: white;
  justify-content: center;
  align-items: center;
  padding: 0 1.6rem;
  min-width: 124.4rem;
}
@media (max-width: 768px) {
  header {
    position: fixed;
    grid-template-columns: auto;
    justify-content: flex-start;
    height: 4.8rem;
    min-width: auto;
  }
}
header .logo {
  height: 4.2rem;
}
@media (max-width: 768px) {
  header .logo {
    height: 3rem;
  }
}
header .text {
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.9rem;
  display: flex;
  align-items: center;
  color: #979797;
}
@media (max-width: 768px) {
  header .text {
    display: none;
  }
}
header .actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2.4rem;
  align-items: center;
  margin-left: 4rem;
}
@media (max-width: 768px) {
  header .actions {
    display: none;
  }
}
header .actions .left {
  display: grid;
  grid-template-columns: auto auto auto auto auto auto auto;
  gap: 2.4rem;
  align-items: center;
  justify-content: flex-start;
}
header .actions .right {
  display: grid;
  grid-template-columns: auto auto;
  gap: 1.6rem;
}
header .actions .user {
  width: 4.4rem;
}
header .action {
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.9rem;
  display: flex;
  align-items: center;
  color: var(--color-text-hover);
  text-decoration: none;
  cursor: pointer;
}
header .action:hover {
  color: var(--color-text);
}
header .action_btn {
  min-width: 8rem;
  padding: 0 1.6rem;
  height: 4rem;
  border-radius: 12rem;
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-decoration: none;
  position: relative;
  z-index: 3;
  overflow: hidden;
}
header .action_btn::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%);
}
header .action_btn::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%);
}
header .action_btn:hover {
  cursor: pointer;
}
header .action_btn.outline {
  border: 0.2rem solid var(--color-text);
  color: #000;
  -webkit-background-clip: text;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%);
  -webkit-text-fill-color: transparent;
}
header .action_btn.outline:hover {
  border: 0.2rem solid var(--color-text-hover);
  color: var(--color-text-hover);
}
header .separater {
  height: 1.6rem;
  width: 0.1rem;
  background: #999999;
}
header .businessLink {
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.6rem;
  color: #999999;
  text-decoration: none;
}
header .businessLink:hover {
  color: var(--color-accent);
}
header .loginSvg svg {
  height: 4rem;
  width: auto;
}
header .loginSvg:hover {
  filter: brightness(1.1);
}
header .firstpageSvg svg {
  height: 4rem;
  width: auto;
}
header .firstpageSvg:hover {
  filter: brightness(1.1);
}

.flashMessage {
  position: fixed;
  top: 6.4rem;
  left: 0;
  color: #ffffff;
  padding: 1.6rem;
  width: calc(100% - 3.2rem);
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  z-index: 10;
}
@media (max-width: 768px) {
  .flashMessage {
    top: 4.8rem;
  }
}
.flashMessage.error {
  background-color: #f82633;
}
.flashMessage.success {
  background-color: #42d47f;
}
.flashMessage .closeBtn {
  position: absolute;
  top: 50%;
  right: 1.2rem;
  transform: translateY(-50%);
  height: 3.2rem;
  width: 3.2rem;
  cursor: pointer;
}
.flashMessage .closeBtn:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.flashMessage .closeBtn::before, .flashMessage .closeBtn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  height: 0.1rem;
  background-color: #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.flashMessage .closeBtn::after {
  transform: translate(-50%, -50%) rotate(45deg);
}

.sp_menu_tregger {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
  width: 4.8rem;
  height: 4.8rem;
  justify-content: center;
  align-items: center;
  color: #c4c4c4;
  transition: all 0.1s ease;
  display: none;
}
@media (max-width: 768px) {
  .sp_menu_tregger {
    display: grid;
  }
}
.sp_menu_tregger.on {
  background-color: var(--color-text);
  color: #fff;
}

.sp_menu_wrapper {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99;
  width: 100%;
  padding-top: 4.8rem;
  box-sizing: border-box;
  background-color: var(--color-text);
  transform: translateY(-100%);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: none;
}
@media (max-width: 768px) {
  .sp_menu_wrapper {
    display: block;
  }
}
.sp_menu_wrapper.on {
  transform: translateY(0);
}

.sp_menu_content {
  padding: 2.4rem;
  color: #fff;
}
.sp_menu_content .login_user {
  padding-bottom: 1.6rem;
  line-height: 1.6;
}
.sp_menu_content .login_btn {
  border-radius: 2.4rem;
  color: #fff;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%);
  display: grid;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  height: 4.8rem;
  font-weight: bold;
  margin-bottom: 1.8rem;
  font-size: 1.6rem;
}
.sp_menu_content .support_btn {
  border-radius: 2.4rem;
  color: var(--color-accent);
  border: 0.2rem solid var(--color-accent);
  display: grid;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  height: 4.8rem;
  font-weight: bold;
  margin-bottom: 1.8rem;
  font-size: 1.8rem;
}
.sp_menu_content .menu_btn {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  padding: 1.8rem 0;
}
.sp_menu_content .menu_btn:hover {
  color: var(--color-accent);
}

.sp_navigations {
  display: none;
  position: fixed;
  top: 4.8rem;
  left: 0;
  z-index: 98;
  width: 100%;
  background: #fff;
  color: #555;
  font-size: 1.2rem;
  box-shadow: 0rem 0.2rem 0.5rem rgba(0, 0, 0, 0.1);
}
.sp_navigations .inner {
  display: grid;
  overflow-x: auto;
  white-space: nowrap;
  padding: 1.4rem 1.6rem 1.8rem;
  -webkit-overflow-scrolling: touch;
  -webkit-mask-image: linear-gradient(to right, transparent, black 1.5em, black calc(100% - 1.5em), transparent);
  mask-image: linear-gradient(to right, transparent, black 1.5em, black calc(100% - 1.5em), transparent);
  grid-template-columns: auto auto auto auto auto auto auto;
}
.sp_navigations .inner::-webkit-scrollbar {
  display: none;
}
.sp_navigations a {
  display: inline-block;
  color: #555;
  text-decoration: none;
  border-right: 0.1rem solid #c4c4c4;
  padding-right: 1rem;
  margin-right: 1rem;
  font-weight: bold;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
  -webkit-tap-highlight-color: transparent;
}
.sp_navigations a:last-child {
  border-right: none;
  margin-right: 0rem;
}
.sp_navigations a:hover, .sp_navigations a:active, .sp_navigations a:focus {
  color: var(--color-text);
}
@media (max-width: 768px) {
  .sp_navigations {
    display: block;
  }
}

.header_spacer {
  padding-bottom: 6.4rem;
}

footer {
  background-color: #262626;
  padding: 6rem 0;
}
footer .grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6rem;
}
@media (max-width: 768px) {
  footer .grid {
    grid-template-columns: auto;
    gap: 3rem;
  }
}
footer .footer_logo {
  width: 32rem;
}
footer .footer_text {
  display: grid;
  gap: 2rem;
  align-content: flex-start;
}
footer .footer_buttons {
  display: flex;
  gap: 1.6rem;
}
footer .footer_buttons img {
  width: 14rem;
}
footer .footer_buttons img:hover {
  cursor: pointer;
  opacity: 0.6;
}
footer .footer_links {
  display: grid;
  gap: 1.6rem;
  margin-top: 2.4rem;
}
@media (max-width: 768px) {
  footer .footer_links {
    margin-top: 6rem;
  }
}
footer .footer_links > div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2rem;
  width: 60%;
}
@media (max-width: 768px) {
  footer .footer_links > div {
    width: 100%;
  }
}
footer .footer_link {
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.2rem;
}
footer .footer_link:hover {
  color: var(--color-accent);
}
footer .description {
  font-style: normal;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 200%;
  color: #ffffff;
  width: 40rem;
}
@media (max-width: 768px) {
  footer .description {
    width: 100%;
  }
}
footer .footer_news {
  color: #fff;
}
@media (max-width: 768px) {
  footer .footer_news {
    margin-top: 2rem;
  }
}
footer .footer_news a {
  color: #fff;
}
footer .footer_news .news-list-header {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
}
footer .footer_news .news-list-items {
  display: grid;
  gap: 1.2rem;
}
footer .footer_news .news-list-item {
  display: grid;
  gap: 2rem;
  grid-template-columns: 9rem auto;
  font-size: 1.2rem;
  text-decoration: none;
  align-items: flex-start;
}
footer .footer_news .news-list-item-date {
  color: #ddd;
}
footer .footer_news .news-list-item-title {
  font-weight: 600;
  color: #fff;
  line-height: 140%;
}
footer .footer_news .news-list-item-title:hover {
  text-decoration: underline;
}
footer .footer_news .news-list-footer {
  margin-top: 1.6rem;
  display: grid;
  justify-content: end;
}
footer .footer_news .news-list-footer .news-list-footer-more {
  text-decoration: none;
}
footer .footer_news .news-list-footer .news-list-footer-more:hover {
  color: var(--color-accent);
  text-decoration: underline;
}

.regieteredModal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 100vh;
}
.regieteredModal .base {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 0.8rem;
  z-index: 1;
  width: calc(100% - 3.2rem);
  max-width: 80rem;
}
.regieteredModal .regieteredModalImage {
  position: relative;
  width: 100%;
  padding-top: 24%;
  border-radius: 0.8rem 0.8rem 0 0;
  overflow: hidden;
}
.regieteredModal .regieteredModalImage img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.regieteredModal .regieteredModalButtonArea {
  display: grid;
  justify-items: center;
  align-items: center;
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .regieteredModal .regieteredModalButtonArea {
    margin-top: 2rem;
  }
}
.regieteredModal .regieteredModalButton {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 180%;
  color: #ffffff;
  height: 4rem;
  width: 16rem;
  display: grid;
  justify-items: center;
  align-items: center;
  background: var(--color-text-hover);
  border-radius: 4rem;
}
.regieteredModal .regieteredModalButton:hover {
  background: var(--color-text);
  cursor: pointer;
}
@media (max-width: 768px) {
  .regieteredModal .regieteredModalButton {
    font-size: 1.4rem;
  }
}
.regieteredModal .regieteredModalContent {
  padding: 3.2rem;
}
@media (max-width: 768px) {
  .regieteredModal .regieteredModalContent {
    padding: 2rem;
  }
}
.regieteredModal .regieteredModalTitle {
  font-weight: bold;
  font-size: 3.2rem;
  line-height: 140%;
  text-align: center;
  color: var(--color-text-hover);
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  .regieteredModal .regieteredModalTitle {
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
  }
}
.regieteredModal .regieteredModalBody {
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 180%;
  text-align: center;
  color: var(--color-text-hover);
}
@media (max-width: 768px) {
  .regieteredModal .regieteredModalBody {
    font-size: 1.3rem;
  }
}
.regieteredModal .regieteredModalClose {
  position: absolute;
  right: -2.4rem;
  top: -2.4rem;
  cursor: pointer;
  z-index: 1;
}
@media (max-width: 768px) {
  .regieteredModal .regieteredModalClose {
    right: -1.6rem;
    top: -1.6rem;
  }
  .regieteredModal .regieteredModalClose svg {
    width: 3.2rem;
    height: 3.2rem;
  }
}
.regieteredModal .regieteredModalClose:hover circle {
  fill: var(--color-text);
}
.regieteredModal .overray {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
}

.page_firstpage {
  overflow: hidden;
  background: #fff;
}
.page_firstpage .onlyPc {
  display: block;
}
@media (max-width: 768px) {
  .page_firstpage .onlyPc {
    display: none;
  }
}
.page_firstpage .onlySp {
  display: none;
}
@media (max-width: 768px) {
  .page_firstpage .onlySp {
    display: block;
  }
}
.page_firstpage.content {
  padding-bottom: 0;
}
.page_firstpage .conversionButton {
  display: grid;
  justify-content: center;
  align-items: center;
  width: 42.3rem;
  height: 8rem;
  background: var(--color-primary);
  box-shadow: 0rem 0rem 2rem #000000;
  text-decoration: none;
  border-radius: 8rem;
  font-weight: bold;
  font-size: 2.3rem;
  text-align: center;
  color: #ffffff;
}
.page_firstpage .conversionButton:hover {
  filter: brightness(1.1);
  transition: filter 0.2s linear;
}
@media (max-width: 768px) {
  .page_firstpage .conversionButton {
    width: 28rem;
    height: 4.8rem;
    font-size: 1.4rem;
    box-shadow: 0rem 0rem 1.2rem rgba(0, 0, 0, 0.2);
  }
}
.page_firstpage .mainvisual {
  background-image: url("./../images/firstpage/mainvisual/background.webp");
  background-position: top center;
  background-size: cover;
  height: 70rem;
  position: relative;
}
.page_firstpage .mainvisual .container {
  position: absolute;
  width: 56rem;
  left: 50%;
  top: 50%;
  transform: translate(-100%, -50%);
  display: grid;
  gap: 2rem;
  justify-content: center;
  align-items: center;
  justify-items: center;
}
.page_firstpage .mainvisual .title {
  height: 33rem;
}
.page_firstpage .mainvisual .note {
  color: #fff;
}
.page_firstpage .mainvisual .reserch_note {
  color: #fff;
  font-size: 1rem;
  position: absolute;
  bottom: 1.6rem;
  left: 1.6rem;
}
@media (max-width: 768px) {
  .page_firstpage .mainvisual {
    display: none;
  }
}
.page_firstpage .mainvisual_sp {
  display: none;
  background: #fff;
  background-image: url("./../images/firstpage/mainvisual/background_sp.webp");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
@media (max-width: 768px) {
  .page_firstpage .mainvisual_sp {
    display: block;
  }
}
.page_firstpage .mainvisual_sp .container {
  display: grid;
  gap: 2rem;
  justify-content: center;
  align-items: center;
  justify-items: center;
  padding-top: 20rem;
  padding-bottom: 1.6rem;
}
.page_firstpage .mainvisual_sp .title {
  height: 19rem;
}
.page_firstpage .mainvisual_sp .note {
  color: #fff;
  font-size: 1rem;
}
.page_firstpage .mainvisual_sp .reserch_note {
  color: #fff;
  opacity: 0.8;
}
.page_firstpage .about {
  position: relative;
  padding-bottom: 16rem;
}
@media (max-width: 768px) {
  .page_firstpage .about {
    padding-bottom: 6rem;
  }
}
.page_firstpage .about .image {
  width: 72rem;
  position: absolute;
  top: -18rem;
  left: 50%;
  transform: translateX(10rem);
}
@media (max-width: 768px) {
  .page_firstpage .about .image {
    display: none;
  }
}
.page_firstpage .about .text {
  margin-top: 12rem;
  width: 60rem;
}
@media (max-width: 768px) {
  .page_firstpage .about .text {
    margin-top: 4rem;
    width: 100%;
  }
}
.page_firstpage .about .title {
  margin-bottom: 6rem;
  width: 100%;
}
@media (max-width: 768px) {
  .page_firstpage .about .title {
    width: 80%;
    margin-bottom: 3rem;
  }
}
.page_firstpage .about .body {
  font-style: normal;
  font-size: 1.6rem;
  line-height: 200%;
  color: #000000;
}
@media (max-width: 768px) {
  .page_firstpage .about .body {
    font-size: 1.4rem;
    line-height: 200%;
  }
}
.page_firstpage .about .body strong {
  font-weight: bold;
  font-size: 1.6em;
  line-height: 180%;
}
@media (max-width: 768px) {
  .page_firstpage .about .body strong {
    font-size: 1.3em;
  }
}
.page_firstpage .merit {
  margin-bottom: 16rem;
}
@media (max-width: 768px) {
  .page_firstpage .merit {
    margin-bottom: 6rem;
  }
}
.page_firstpage .merit .point {
  overflow: hidden;
}
@media (max-width: 768px) {
  .page_firstpage .merit .point {
    margin-bottom: 4rem;
  }
}
.page_firstpage .merit .point .inner {
  display: grid;
  grid-template-columns: 50% 50%;
  position: relative;
}
@media (max-width: 768px) {
  .page_firstpage .merit .point .inner {
    grid-template-columns: 1fr;
  }
}
.page_firstpage .merit .point .text {
  padding: 6.4rem;
}
@media (max-width: 768px) {
  .page_firstpage .merit .point .text {
    padding: 2rem 0rem;
  }
}
.page_firstpage .merit .point .image-wrapper {
  position: relative;
}
.page_firstpage .merit .point .image-wrapper.onlySp {
  display: none;
}
@media (max-width: 768px) {
  .page_firstpage .merit .point .image-wrapper.onlySp {
    display: block;
  }
}
.page_firstpage .merit .point .image {
  position: absolute;
  width: 50vw;
  top: 0;
  right: 0;
}
@media (max-width: 768px) {
  .page_firstpage .merit .point .image {
    position: relative;
    width: 100%;
    height: 16rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.page_firstpage .merit .point .image.right {
  left: 0;
  right: auto;
}
@media (max-width: 768px) {
  .page_firstpage .merit .point .image.right {
    display: none;
  }
}
@media (max-width: 768px) {
  .page_firstpage .merit .point .title {
    height: 10rem;
  }
}
.page_firstpage .merit .point .body {
  font-style: normal;
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 200%;
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .page_firstpage .merit .point .body {
    font-size: 1.2rem;
    margin-top: 2rem;
  }
}
.page_firstpage .section .header {
  width: 100%;
  max-height: 50vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.page_firstpage .section .container {
  padding: 8rem 0;
  position: relative;
  background-image: url("./../images/firstpage/section_corner.svg");
  background-position: top right;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .page_firstpage .section .container {
    padding: 4rem 0;
    background-size: 6rem;
  }
}
.page_firstpage .section .feature_title {
  height: 6.8rem;
}
.page_firstpage .section .title {
  font-weight: bold;
  font-size: 3.6rem;
}
@media (max-width: 768px) {
  .page_firstpage .section .title {
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
}
.page_firstpage .section .columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12rem;
}
@media (max-width: 768px) {
  .page_firstpage .section .columns {
    grid-template-columns: 1fr;
    gap: 4rem;
    margin-top: 4rem;
  }
}
.page_firstpage .section .column {
  display: grid;
  gap: 2.4rem;
  margin-top: 8rem;
  align-content: flex-start;
}
@media (max-width: 768px) {
  .page_firstpage .section .column {
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .page_firstpage .section .column .title {
    height: 6rem;
  }
}
.page_firstpage .section .icon {
  display: block;
  width: 8rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .page_firstpage .section .icon {
    width: 6rem;
  }
}
.page_firstpage .section .body {
  font-style: normal;
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 200%;
}
.page_firstpage .data .image {
  width: 100%;
  filter: drop-shadow(0px 0.2rem 1.2rem rgba(0, 0, 0, 0.25));
}
@media (max-width: 768px) {
  .page_firstpage .data .image {
    width: 70%;
    display: block;
    margin: 0 auto;
  }
}
.page_firstpage .data .body span {
  display: block;
  font-size: 1.1rem;
  color: #454545;
}
.page_firstpage .data .schools {
  margin-top: 8rem;
  padding: 4rem 6rem;
  background: #ffffff;
  border-radius: 5rem;
  filter: drop-shadow(0rem 0.4rem 1.6rem rgba(0, 0, 0, 0.25));
}
@media (max-width: 768px) {
  .page_firstpage .data .schools {
    margin-top: 4rem;
    padding: 3.2rem 2rem;
    border-radius: 2.4rem;
    filter: drop-shadow(0rem 0.2rem 0.8rem rgba(0, 0, 0, 0.25));
  }
}
.page_firstpage .data .schools .schoolsTitle {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 2.4rem;
  text-align: center;
}
@media (max-width: 768px) {
  .page_firstpage .data .schools .schoolsTitle {
    font-size: 1.8rem;
  }
}
.page_firstpage .data .schools .example {
  font-style: normal;
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 200%;
}
@media (max-width: 768px) {
  .page_firstpage .data .schools .example {
    font-size: 1.2rem;
    line-height: 180%;
  }
}
@media (max-width: 768px) {
  .page_firstpage .flow .column .title {
    max-width: 100%;
  }
}
.page_firstpage .events .items,
.page_firstpage .posts .items {
  margin: 4rem 0;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .page_firstpage .events .items,
  .page_firstpage .posts .items {
    margin: 2rem -1.6rem;
  }
}
.page_firstpage .events .item,
.page_firstpage .posts .item {
  display: inline-block;
  width: 37.2rem;
  background: #fff;
  box-shadow: 0rem 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
  border-radius: 0.8rem;
  overflow: hidden;
  margin-right: 2.4rem;
  margin-bottom: 3.2rem;
  white-space: normal;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  outline: none;
  transition: all 0.1s ease;
}
.page_firstpage .events .item:hover,
.page_firstpage .posts .item:hover {
  filter: brightness(1.1);
}
@media (max-width: 768px) {
  .page_firstpage .events .item,
  .page_firstpage .posts .item {
    width: calc(100vw - 6.4rem);
    margin-right: 1.6rem;
  }
}
.page_firstpage .events .itemImageWrapper,
.page_firstpage .posts .itemImageWrapper {
  border-radius: 0.8rem;
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}
.page_firstpage .events .itemImage,
.page_firstpage .posts .itemImage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page_firstpage .events .itemContent,
.page_firstpage .posts .itemContent {
  padding: 1.6rem;
}
.page_firstpage .events .itemTitle,
.page_firstpage .posts .itemTitle {
  font-style: normal;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 2.5rem;
  margin-bottom: 1.6rem;
  height: 5rem;
  overflow: hidden;
  color: #000;
}
.page_firstpage .events .itemBody,
.page_firstpage .posts .itemBody {
  font-style: normal;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.6rem;
  color: #666666;
  margin-bottom: 1.6rem;
  height: 3.2rem;
  overflow: hidden;
}
.page_firstpage .events .itemFooter,
.page_firstpage .posts .itemFooter {
  font-style: normal;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.6rem;
  color: #666666;
  display: grid;
  justify-content: flex-start;
  align-items: center;
  grid-template-columns: auto auto;
  gap: 1.6rem;
}
.page_firstpage .events .itemFooterSchedule,
.page_firstpage .events .itemFooterPlace,
.page_firstpage .posts .itemFooterSchedule,
.page_firstpage .posts .itemFooterPlace {
  display: grid;
  justify-content: flex-start;
  align-items: center;
  grid-template-columns: auto auto;
  gap: 0.6rem;
}
.page_firstpage .events .itemFooterCategories,
.page_firstpage .posts .itemFooterCategories {
  font-size: 0;
}
.page_firstpage .events .itemCategory,
.page_firstpage .posts .itemCategory {
  display: inline-block;
  border: 0.1rem solid #aaa;
  border-radius: 0.4rem;
  font-size: 1.2rem;
  padding: 0.2rem 0.4rem;
  color: #aaa;
  margin-right: 0.4rem;
}
@media (max-width: 768px) {
  .page_firstpage .events .slick-dots,
  .page_firstpage .posts .slick-dots {
    bottom: -0.5rem;
  }
}
.page_firstpage .events .itemImageWrapper {
  padding-top: 20%;
}
.page_firstpage .question .items {
  margin: 6rem 0;
  display: grid;
  gap: 2.4rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
  .page_firstpage .question .items {
    margin: 3rem 0;
    grid-template-columns: 1fr;
  }
}
.page_firstpage .question .item {
  padding: 4rem;
  border: 0.1rem solid #ddd;
  border-radius: 1.2rem;
  display: grid;
  gap: 2rem;
  box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.25);
}
@media (max-width: 768px) {
  .page_firstpage .question .item {
    padding: 2.4rem;
  }
}
.page_firstpage .question .question_text {
  font-weight: bold;
  font-size: 2rem;
  line-height: 140%;
}
@media (max-width: 768px) {
  .page_firstpage .question .question_text {
    font-size: 1.6rem;
  }
}
.page_firstpage .question .answer_text {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 180%;
}
@media (max-width: 768px) {
  .page_firstpage .question .answer_text {
    font-size: 1.4rem;
  }
}
.page_firstpage .question .text {
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 180%;
}
@media (max-width: 768px) {
  .page_firstpage .question .text {
    font-size: 1.2rem;
  }
}
.page_firstpage .conversion {
  background-image: url("./../images/firstpage/conversion/background.webp");
  background-size: cover;
  padding: 12rem 0;
  display: grid;
  justify-items: center;
  align-items: center;
}
@media (max-width: 768px) {
  .page_firstpage .conversion {
    padding: 6rem 0;
  }
}
.page_firstpage .conversion .title {
  font-style: normal;
  font-weight: bold;
  font-size: 3.6rem;
  line-height: 140%;
  text-align: center;
  color: #fff;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .page_firstpage .conversion .title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.page_firstpage .conversion .note {
  margin-top: 2.4rem;
  color: #fff;
}
@media (max-width: 768px) {
  .page_firstpage .conversion .note {
    margin-top: 1.6rem;
    font-size: 1.2rem;
  }
}

.page_business {
  background-color: #ffffff;
}
.page_business .section .title {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .page_business .section .title {
    font-size: 2.2rem;
    margin-bottom: 2.4rem;
    line-height: 1.4;
  }
}
.page_business .section .header {
  width: 100%;
  max-height: 50vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.page_business .section .container {
  padding: 8rem 0;
  position: relative;
}
@media (max-width: 768px) {
  .page_business .section .container {
    padding: 4rem 0;
    background-size: 6rem;
  }
}
.page_business .hero {
  height: 40rem;
  position: relative;
}
@media (max-width: 768px) {
  .page_business .hero {
    height: 20rem;
  }
}
.page_business .hero .hero_image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 12rem;
}
@media (max-width: 768px) {
  .page_business .hero .hero_image {
    height: auto;
    width: 70%;
  }
}
.page_business .hero .hero_background {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page_business .about .inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4rem;
  justify-content: space-between;
  align-items: start;
}
@media (max-width: 768px) {
  .page_business .about .inner {
    grid-template-columns: 1fr;
  }
}
.page_business .about .about_copy {
  font-size: 4rem;
  line-height: 140%;
  margin-bottom: 2.4rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page_business .about .about_copy {
    font-size: 2.2rem;
  }
}
.page_business .about .about_description {
  font-size: 1.6rem;
  line-height: 180%;
}
@media (max-width: 768px) {
  .page_business .about .about_description {
    font-size: 1.4rem;
  }
}
.page_business .about .about_description a {
  color: var(--color-secondary);
  text-decoration: none;
  font-weight: bold;
}
.page_business .about .about_description a:hover {
  text-decoration: underline;
}
.page_business .about .about_image {
  width: 49.6rem;
}
@media (max-width: 768px) {
  .page_business .about .about_image {
    width: 100%;
  }
}
.page_business .question .inner {
  max-width: 80rem;
}
.page_business .question .questions {
  margin-top: 4rem;
}
.page_business .question .questionItem {
  border-bottom: 0.1rem solid #ddd;
}
.page_business .question .questionItem:last-child {
  border-bottom: none;
}
.page_business .question .questionText {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 180%;
  padding: 1.6rem 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.2rem;
}
@media (max-width: 768px) {
  .page_business .question .questionText {
    font-size: 1.4rem;
  }
}
.page_business .question .questionText::before {
  content: "";
  display: block;
  width: 1.7rem;
  height: 1.8rem;
  background-image: url("./../images/biz/section_4_q.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.page_business .question .questionText.open::after {
  transform: rotate(180deg);
}
.page_business .question .answer {
  font-size: 1.4rem;
  line-height: 180%;
  padding: 1.6rem 0;
}
@media (max-width: 768px) {
  .page_business .question .answer {
    font-size: 1.2rem;
  }
}
.page_business .contact .inner {
  max-width: 80rem;
}
.page_business .contact .description {
  margin-top: 4rem;
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 180%;
}
.page_business .contact .formWrapper {
  margin-top: 4rem;
}
.page_business .contact .item {
  margin-bottom: 3.2rem;
}
.page_business .contact .name {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  color: #000000;
  margin-bottom: 1.6rem;
  display: flex;
}
.page_business .contact .name.require::after {
  content: "必須";
  display: inline-block;
  background-color: var(--color-primary);
  color: #ffffff;
  padding: 0.3rem 0.6rem;
  font-size: 1.2rem;
  border-radius: 0.4rem;
  font-weight: bold;
  margin-left: 1.2rem;
}
.page_business .contact .input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  padding: 1.2rem 1.6rem;
  box-sizing: border-box;
  font-size: 1.4rem;
  color: #000000;
  background: #fafafa;
  border: 0.1rem solid #ddd;
  border-radius: 0.8rem;
  outline: none;
}
.page_business .contact .input:focus {
  border-color: #000;
}
.page_business .contact .buttonArea {
  margin-top: 4rem;
  display: grid;
  justify-items: center;
  align-items: center;
}
.page_business .contact .buttonArea input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  padding: 1.2rem 5rem;
  border: none;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  background: #000;
}
.page_business .contact .wpcf7-not-valid-tip {
  margin-top: 0.8rem;
  font-size: 1.2rem;
}
.page_business .contact .wpcf7-response-output {
  padding: 2.4rem;
}
.page_business .reason .reasonItems {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: start;
  gap: 4rem;
}
@media (max-width: 768px) {
  .page_business .reason .reasonItems {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.page_business .reason .reasonItem {
  display: grid;
}
.page_business .reason .reasonItemImageWrapper {
  display: grid;
  justify-content: center;
  align-items: center;
}
.page_business .reason .reasonItemImage {
  width: 20rem;
}
.page_business .reason .reasonItemTitle {
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}
@media (max-width: 768px) {
  .page_business .reason .reasonItemTitle {
    font-size: 2.2rem;
  }
}
.page_business .reason .reasonItemDescription {
  margin-top: 1.6rem;
  font-weight: 400;
  line-height: 160%;
}
@media (max-width: 768px) {
  .page_business .reason .reasonItemDescription {
    font-size: 1.3rem;
    line-height: 180%;
  }
}
.page_business .data .dataItems {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: start;
  gap: 4rem;
  padding: 4rem 0;
}
@media (max-width: 768px) {
  .page_business .data .dataItems {
    padding: 2rem 0;
    grid-template-columns: 1fr;
  }
}
.page_business .data .dataItem {
  display: grid;
}
.page_business .data .dataItemImageWrapper {
  display: grid;
  justify-items: center;
  align-items: center;
}
.page_business .data .dataItemImage {
  width: 90%;
  filter: drop-shadow(0px 0.2rem 1.2rem rgba(0, 0, 0, 0.25));
}
@media (max-width: 768px) {
  .page_business .data .dataItemImage {
    width: 80%;
  }
}
.page_business .data .dataItemDescription {
  margin-top: 4rem;
  font-weight: 400;
  line-height: 160%;
}
@media (max-width: 768px) {
  .page_business .data .dataItemDescription {
    font-size: 1.3rem;
  }
}
.page_business .data .exampleTitle {
  font-size: 2.4rem;
  margin: 3rem 0 4rem;
  font-weight: bold;
}
.page_business .data .exampleCompanies {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  align-items: start;
  filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.15));
  gap: 2rem;
}
@media (max-width: 768px) {
  .page_business .data .exampleCompanies {
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
  }
}
.page_business .data .exampleCompany {
  padding: 1.6rem 2rem;
  border-radius: 0.8rem;
  background: #fff;
  font-size: 1.2rem;
}
@media (max-width: 768px) {
  .page_business .data .exampleCompany {
    padding: 1.6rem 1.2rem;
    font-size: 1rem;
  }
}
.page_business .data .exampleCompanyName {
  font-weight: bold;
  margin-bottom: 1.2rem;
  font-size: 1.4rem;
}
@media (max-width: 768px) {
  .page_business .data .exampleCompanyName {
    margin-bottom: 1rem;
    font-size: 1.2rem;
  }
}
.page_business .data .exampleCompanyData {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
}
.page_business .data .exampleCompanyData div:nth-child(2n+1) {
  color: #999;
}
.page_business .data .exampleIndustries {
  padding: 4rem;
  border-radius: 0.8rem;
  background: #fff;
  filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.15));
  line-height: 1.8;
  font-size: 1.6rem;
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .page_business .data .exampleIndustries {
    padding: 2.4rem;
    font-size: 1.2rem;
    margin-top: 3rem;
  }
}
.page_business .data .exampleIndustryTitle {
  font-size: 2rem;
  margin: 0 0 1.2rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page_business .data .exampleIndustryTitle {
    font-size: 1.6rem;
    margin: 0 0 1rem;
  }
}

/**


















*/
.page_biz {
  background: #fff;
}
.page_biz .onlyPc {
  display: block;
}
@media (max-width: 768px) {
  .page_biz .onlyPc {
    display: none;
  }
}
.page_biz .onlySp {
  display: none;
}
@media (max-width: 768px) {
  .page_biz .onlySp {
    display: block;
  }
}
.page_biz .section .header {
  width: 100%;
  max-height: 50vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.page_biz .section .container {
  padding: 8rem 0;
  position: relative;
}
@media (max-width: 768px) {
  .page_biz .section .container {
    padding: 4rem 0;
    background-size: 6rem;
  }
}
.page_biz .grid {
  display: grid;
  grid-template-columns: 50% 50%;
}
@media (max-width: 768px) {
  .page_biz .grid {
    grid-template-columns: 100%;
    gap: 3.2rem;
  }
}
.page_biz .grid + .grid {
  margin-top: 4rem;
}
.page_biz .cell {
  display: block;
}
.page_biz .text {
  max-width: 90%;
  display: block;
}
.page_biz .body {
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 180%;
  color: #000000;
}
@media (max-width: 768px) {
  .page_biz .graph {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .page_biz .graphB {
    height: 70vw;
    margin-left: -1.6vw;
  }
}
@media (max-width: 768px) {
  .page_biz .title {
    height: 2.4rem;
  }
}
.page_biz .companies {
  margin-top: 8rem;
  padding: 4rem 6rem;
  background: #ffffff;
  border-radius: 0.8rem;
  filter: drop-shadow(0rem 0.4rem 1.6rem rgba(0, 0, 0, 0.25));
}
@media (max-width: 768px) {
  .page_biz .companies {
    margin-top: 4rem;
    padding: 3.2rem 2rem;
    border-radius: 2.4rem;
    filter: drop-shadow(0rem 0.2rem 0.8rem rgba(0, 0, 0, 0.25));
  }
}
.page_biz .companies .companiesTitle {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 2.4rem;
  text-align: center;
}
@media (max-width: 768px) {
  .page_biz .companies .companiesTitle {
    font-size: 1.8rem;
  }
}
.page_biz .companies .example {
  font-style: normal;
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 200%;
}
@media (max-width: 768px) {
  .page_biz .companies .example {
    font-size: 1.2rem;
    line-height: 180%;
  }
}
.page_biz .question .inner {
  max-width: 80rem;
}
.page_biz .question .questions {
  margin-top: 4rem;
}
.page_biz .question .questionItem {
  border-top: 0.1rem solid #ddd;
  border-bottom: 0.1rem solid #ddd;
}
.page_biz .question .questionText {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 180%;
  padding: 1.6rem 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.2rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .page_biz .question .questionText {
    font-size: 1.4rem;
  }
}
.page_biz .question .questionText::before {
  content: "";
  display: block;
  width: 1.7rem;
  height: 1.8rem;
  background-image: url("./../images/biz/section_4_q.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.page_biz .question .questionText::after {
  content: "";
  display: block;
  width: 2.2rem;
  height: 1.2rem;
  background-image: url("./../images/biz/section_4_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.page_biz .question .questionText.open::after {
  transform: rotate(180deg);
}
.page_biz .question .answer {
  background: #fafafa;
  padding: 2.4rem;
  font-size: 1.4rem;
  line-height: 180%;
  margin-bottom: 1.6rem;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 1.2rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .page_biz .question .answer {
    font-size: 1.3rem;
  }
}
.page_biz .question .answer::before {
  content: "";
  display: block;
  width: 1.7rem;
  height: 1.4rem;
  background-image: url("./../images/biz/section_4_a.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: 0.6rem;
}
.page_biz .contact .inner {
  max-width: 80rem;
}
.page_biz .contact .description {
  margin-top: 4rem;
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 180%;
}
.page_biz .contact .formWrapper {
  margin-top: 4rem;
}
.page_biz .contact .item {
  margin-bottom: 3.2rem;
}
.page_biz .contact .name {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  color: #000000;
  margin-bottom: 1.6rem;
}
.page_biz .contact .name.require::after {
  content: "必須";
  display: inline-block;
  background-color: var(--color-primary);
  color: #ffffff;
  padding: 0.3rem 0.6rem;
  font-size: 1.2rem;
  border-radius: 0.4rem;
  font-weight: bold;
  margin-left: 1.2rem;
}
.page_biz .contact .input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  padding: 1.2rem 1.6rem;
  box-sizing: border-box;
  font-size: 1.4rem;
  color: #000000;
  background: #fafafa;
  border: 0.1rem solid #ddd;
  border-radius: 0.8rem;
  outline: none;
}
.page_biz .contact .input:focus {
  border-color: #000;
}
.page_biz .contact .buttonArea {
  margin-top: 4rem;
  display: grid;
  justify-items: center;
  align-items: center;
}
.page_biz .contact .buttonArea input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  padding: 1.2rem 5rem;
  border: none;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  background: #000;
}
.page_biz .contact .wpcf7-not-valid-tip {
  margin-top: 0.8rem;
  font-size: 1.2rem;
}
.page_biz .contact .wpcf7-response-output {
  padding: 2.4rem;
}

.page-support {
  background-color: white;
}
.page-support .supportHeader {
  position: relative;
}
.page-support .supportHeader img {
  width: 100%;
  height: auto;
}
.page-support .supportHeader h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  font-weight: bold;
  font-size: 4rem;
  color: #ffffff;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media (max-width: 768px) {
  .page-support .supportHeader img {
    height: 30vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .page-support .supportHeader h3 {
    font-size: 2.4rem;
    white-space: nowrap;
  }
}
.page-support .supportButtonArea {
  display: grid;
  justify-content: center;
  align-items: center;
  margin: 6rem 0;
}
@media (max-width: 768px) {
  .page-support .supportButtonArea {
    margin: 4rem 0;
  }
}
.page-support .supportButton {
  display: grid;
  justify-content: center;
  align-items: center;
  height: 7.2rem;
  width: 40rem;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 3.3rem;
  color: #ffffff;
  background: var(--color-text);
  border-radius: 15rem;
}
@media (max-width: 768px) {
  .page-support .supportButton {
    height: 4.8rem;
    width: 28rem;
    font-weight: bold;
    font-size: 1.8rem;
  }
}
.page-support .supportAbout {
  text-align: center;
  margin: 6rem 0;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
@media (max-width: 768px) {
  .page-support .supportAbout {
    margin: 4rem 0;
  }
}
.page-support .supportAboutTitle {
  font-weight: bold;
  font-size: 4rem;
  line-height: 180%;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .page-support .supportAboutTitle {
    font-size: 2.3rem;
  }
}
.page-support .supportAboutBody {
  font-size: 1.6rem;
  line-height: 180%;
  max-width: 80rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .page-support .supportAboutBody {
    max-width: calc(100vw - 3.2rem);
  }
}
.page-support .supportInterview {
  background-color: #faf9f7;
  padding: 6rem 0;
  overflow: hidden;
}
@media (max-width: 768px) {
  .page-support .supportInterview {
    padding: 4rem 0;
  }
}
.page-support .supportInterviewHead {
  text-align: center;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 180%;
  margin: 0 auto;
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  .page-support .supportInterviewHead {
    max-width: calc(100vw - 3.2rem);
  }
}
.page-support .supportInterviewHeadImage {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .page-support .supportInterviewHeadImage {
    width: 100%;
    height: auto;
  }
}
.page-support .supportInterviewHeadBody {
  max-width: 60rem;
  text-align: center;
  margin: 0 auto;
}
.page-support .supportInterviewSection {
  border-radius: 0.4rem;
  background-color: white;
  padding: 4rem;
  margin: 4rem auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  max-width: 120rem;
}
@media (max-width: 768px) {
  .page-support .supportInterviewSection {
    grid-template-columns: 1fr;
    padding: 1.6rem;
    margin: 1.6rem auto;
    gap: 3rem;
    padding-bottom: 3rem;
  }
}
.page-support .supportInterviewImage {
  position: relative;
}
.page-support .supportInterviewImage img {
  width: calc(100% + 8rem);
  transform: translate(-8rem, 2rem);
  margin-bottom: -4rem;
}
@media (max-width: 768px) {
  .page-support .supportInterviewImage img {
    width: calc(100% + 3.2rem);
    transform: translate(0);
    margin: 0 -1.6rem;
  }
}
.page-support .supportInterviewImage.second img {
  width: calc(100% + 8rem);
  transform: translate(0rem, 2rem);
  margin-bottom: -4rem;
}
@media (max-width: 768px) {
  .page-support .supportInterviewImage.second {
    display: none;
  }
}
.page-support .supportInterviewImage.third img {
  width: calc(100% + 8rem);
  transform: translate(-8rem, -6rem);
  margin-bottom: -4rem;
}
@media (max-width: 768px) {
  .page-support .supportInterviewImage.third img {
    width: calc(100% + 3.2rem);
    transform: translate(0);
    margin: 0 -1.6rem;
  }
}
.page-support .supportInterviewTitle {
  font-weight: bold;
  font-size: 4.3rem;
  line-height: 140%;
  color: #000000;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .page-support .supportInterviewTitle {
    font-size: 2.6rem;
    margin-bottom: 3rem;
  }
}
.page-support .supportInterviewBody {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 220%;
  color: #000000;
}
.page-support .supportInterviewInterviewee {
  font-size: 1.4rem;
  margin-top: 1.6rem;
}
.page-support .supportFormArea {
  margin: 6rem 0;
  text-align: center;
}
@media (max-width: 768px) {
  .page-support .supportFormArea {
    padding: 0 1.6rem;
  }
}
.page-support .supportFormHead {
  display: inline-block;
  font-weight: bold;
  font-size: 3.6rem;
  text-align: center;
  color: var(--color-text);
  padding-bottom: 0.8rem;
  border-bottom: 0.4rem solid var(--color-text);
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  .page-support .supportFormHead {
    font-size: 2.4rem;
    padding-bottom: 0.8rem;
    border-bottom: 0.2rem solid var(--color-text);
  }
}
.page-support .supportFormDescription {
  max-width: 81rem;
  margin: 0 auto;
  margin-bottom: 4rem;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 180%;
  text-align: center;
  color: #000000;
}
.page-support .supportFormNote {
  font-size: 1.4rem;
  line-height: 180%;
  text-align: center;
  color: #999999;
  max-width: 81rem;
  margin: 0 auto;
  margin-top: 4rem;
}
.page-support .supporFooter {
  padding-bottom: 6rem;
  margin-bottom: -6rem;
}
.page-support .calenderArea {
  width: 100rem;
  height: 100rem;
}
@media (max-width: 768px) {
  .page-support .calenderArea {
    width: 100%;
    height: 75rem;
  }
}

#bookingPackage {
  max-width: 81rem;
  margin: 0 auto;
  line-height: 4rem;
  color: #464646;
  background-color: white;
}
#bookingPackage .calendarChangeButton {
  text-align: left;
}
#bookingPackage .dayPanel {
  position: relative;
}
#bookingPackage .dayPostion {
  height: calc(4.5em - 1.2rem);
  display: grid;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  #bookingPackage .dayPostion {
    height: calc(4.5em - 2.2rem);
  }
}
#bookingPackage div.pointer div.dayPostion:after {
  content: "";
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAcfSURBVHgB7V1dctNIEO4eOSkec4MVCTwDJ8CcgOQEhKpdqK19CJyAcAKShy0qYaswJ9jkBIgTxDwvsMoJ1vu2Razp7RnJIXY8rZEs+UfKV0WcWGNb+tx/6uluEBYIeh9uQBJ0QdNPAHifnwqBKLQHEcOJ5QN+RcwH+BFiXncOSkXQGfbxaTyABQFhjrhCWBcIHk8hqSxi/heBglMIkmiehM6FQHp3x5C2x5/W5T83oH70DJn489cTqBm1EWilbaj2gPAFzIe0aYiZyH24SD7hr3EMNaByApeEuEnEgNTDX769hopRKYH0dmsXFL2q0LZVDSuRrNofoCJUQiC9DUMIgvf8axdWAQQnoJOXVaj1zATS8eYev80+lFfXAV9QxO/0GTTGoFUf1IX1oqMLtGbhP/P+nZAlnB+JQx68Zx/LS/uApfHFrNJYmsDM1r3KbF1RRPwOJ5Do01mlgH6/ex+Uvg8BPIEyGkB0gM+/vYSSKEVgqrLqzyz49QVLGh7C+vCgrjjNnpfq7ALoJ8Ukk/r8Ze6U+TILE5iepPpY4ATTUCJITucZ4JZwaDEkyaOiJBYisCB5tUucD+jozj6HMGynvWx0YRK9CSxIXsQn8rSu4LUo0nMPmEhrJ/NQiEQvAguRR/gSn385gCVEJo2vPJZ6k6jAB8Zh5JMXw4V6sKzkGfC57ZtzZM8b5yy1TtJGGjnIJZDebb7x8LbpN/bbX31Ycthz1PpRPol8zd9VrrSKKmw9WQDvQUYp77VoeJslIjZJ35xaheIHBMEZyN5rJckbwZPEAV/jA9c1ulVYBay6zSXPwJ57vjpvZPf5UzGVQKu6CNsg4ULtrDJ5I9hrGAY7Ocu69MfW1BBougSqHFdP+HoVHIYv7LVw+CUu0rA/zStfI5C9bt7tT8+GAw1DFn5FwpKQvfK1xMkYgdaoath1v4c1qJVndZcGfPcEdvfPAcS9SSmckEDeMZOkj+9tm2D3XLDXRnQoLNmYlMJxAmXbFzdRda9hXR+IXpml8OqflwTS0da2KH0mJdUC2MyRRslMbdBb3qbNcFUCpbAlrnIjZulxKzH7yW5bqOhSCi2B1jBKqR6i9pAHmRRKthA5LsycSSqB39l5SNC6B22DsYVu8H4QPDS/jFRYUt+oyZ7XhSyLHjkXkHpkHjIC6aFzoYIetBVEp+6D+Nj8VKn9w9C5Tiefoa3QWipOCg13CoYdKVka47O4Mfe8RZGZLrc3ZjuomOWuc4GG9krfD0TOI1rdZhuYVYROA1Jrpe8SRG4hQrynANVPzgVKn0HbYep13AhZAtGddR52/oW2I1CSFoayCsMwhrYjuRCrKkwc6JbAW7CwkowVQSjuCy+ypmVZkHcX5leZcAMnRAJtir/lyONAedSJ3MCNgazCwdK0KSwOnU7oPkgxB9JSoBgUKeFtJjQJQoQsgaTPncdJihHbAhKTLeZOxB1pE95IIJp2CgeIzg2BsXOBAneitS0gQQK1ihSsJxG4sdHmUIaO78qNPLeGfZXtQMXORUrJVVpNRqLlZDNzl4YxCO7cP6a5/1YiEKv6I/MjJZAwEhZ2fYqtm4bMdHWdC9BuvmcEpnbQnTiYUtbVeCi1Kx7vwCe7zPzI3QOdUtbVAkjq2xtlqn7cyiUol3UlQWtsYVrijKFzQaa+9texFx5v/QPuBGsMa8mDNuQI6Wjzb4FA3ur9env0x3gyQS4uDNtgC3NLnCfK/MYJTAtq5BLXBgfW9trkBvLYTAC5+sQYgbllXTk9EysP09Ep7RERfphM8V/PB+aVuJq48Gizcaqcqq7oeaeWOF8j0KPE1ajyG3uf2BDYuQtkB2e44ShxdvfKHW99BHmIw8q3ehl49csRnODzr1O7mdwp/byeCdtTG3xcZafi3WyoE2cXk5PAtGcC85pqVpZE73ZXM1tG0DJ5Yz1tf5K8ssHKkVhghMFhXndC/sb6WrJv56rISElcAceSDurxIY/6fMeRG23kEmi9cqJ3vOYMgD6z4cCSwo6pWtNnXvMfzDV7AMETBcee9ExT4lKNPfEfjlb92JOxEykyeAfpoI6Zfb4oMcuwvsE7lydVcvTTPFvF0mlvwfbSjX4aoeTwsdhMkYSh/lCXapefnjnH4WNjH3u8ZcKcveKvtBN3e7yv+hmfzTY6IPsyOdmLZvewC8VxaCKNsnnOmQg0yGbL5E34kMABO/TtAMYAzeyCAQzT0uLLAYyjGDNY48/grUZbcoL3ZpwKPLCzH2actDQzgQaZlzMkrsoecmXD0SohcISbIbQVwU5JKzxFslbUNsuwFgINUrsVdBcskbUPgayNwKuw8xiMffQbgDgr0qnA2kwY+RJBzZgLgSPYOC3tjt+2PcpVSaa5Tzf1PaZEZb2B/xmBC+kdQ8eMMe4ymaZnL+RnOSxBfpwIT0bJjLQkObbBL+H5vAmbxP/qzE/ZBIvGgQAAAABJRU5ErkJggg==");
  width: 4rem;
  height: 4rem;
  display: inline-block;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 768px) {
  #bookingPackage div.pointer div.dayPostion:after {
    width: 3.2rem;
    height: 3.2rem;
  }
}
#bookingPackage #booking-package_calendarPage .calendarData {
  font-size: 1.2em;
}
#bookingPackage #booking-package_calendarPage .dayPanel {
  background-color: #fff;
}
#bookingPackage #booking-package_calendarPage .closeDay {
  background-color: #f7f7f7;
}
#bookingPackage #booking-package_schedulePage {
  width: 66rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_schedulePage {
    width: 100%;
  }
}
#bookingPackage #booking-package_schedulePage .box_shadow {
  box-shadow: -0.2rem 0rem 1.2rem rgba(0, 0, 0, 0.1);
}
#bookingPackage #booking-package_schedulePage .selectPanelError {
  background-color: #f7f7f7 !important;
  color: #464646 !important;
  position: relative;
  color: red;
  height: 6.2rem;
}
#bookingPackage #booking-package_schedulePage .selectPanelActive {
  background-color: #fff;
  color: var(--color-text);
  position: relative;
}
#bookingPackage #booking-package_schedulePage .timeSlot {
  margin-left: 10rem;
}
#bookingPackage #booking-package_schedulePage .selectPanel {
  position: relative;
  height: 6.2rem;
}
#bookingPackage #booking-package_schedulePage .selectPanel:hover {
  background-color: #f7f7f7;
}
#bookingPackage #booking-package_schedulePage #daysListPanel {
  width: 20%;
  right: 20%;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_schedulePage #daysListPanel {
    width: 30%;
    right: 30%;
  }
}
#bookingPackage #booking-package_schedulePage #scheduleMainPanel {
  width: 80%;
  left: 20%;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_schedulePage #scheduleMainPanel {
    width: 70%;
    left: 30%;
  }
}
#bookingPackage #booking-package_schedulePage #scheduleMainPanel .selectPanel::before {
  content: "予約受付可能です";
  position: absolute;
  top: 0.9rem;
  left: 50%;
  margin-left: -13rem;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_schedulePage #scheduleMainPanel .selectPanel::before {
    font-size: 1.2rem;
    margin-left: -6rem;
  }
}
#bookingPackage #booking-package_schedulePage #scheduleMainPanel .selectPanelError::after {
  content: "予約は終了しました";
  position: absolute;
  top: 0.9rem;
  left: 50%;
  margin-left: -13rem;
  color: #545454;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_schedulePage #scheduleMainPanel .selectPanelError::after {
    margin-left: -6rem;
    font-size: 1.2rem;
  }
}
#bookingPackage #booking-package_schedulePage #scheduleMainPanel .selectPanel::after {
  content: "";
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAcfSURBVHgB7V1dctNIEO4eOSkec4MVCTwDJ8CcgOQEhKpdqK19CJyAcAKShy0qYaswJ9jkBIgTxDwvsMoJ1vu2Razp7RnJIXY8rZEs+UfKV0WcWGNb+tx/6uluEBYIeh9uQBJ0QdNPAHifnwqBKLQHEcOJ5QN+RcwH+BFiXncOSkXQGfbxaTyABQFhjrhCWBcIHk8hqSxi/heBglMIkmiehM6FQHp3x5C2x5/W5T83oH70DJn489cTqBm1EWilbaj2gPAFzIe0aYiZyH24SD7hr3EMNaByApeEuEnEgNTDX769hopRKYH0dmsXFL2q0LZVDSuRrNofoCJUQiC9DUMIgvf8axdWAQQnoJOXVaj1zATS8eYev80+lFfXAV9QxO/0GTTGoFUf1IX1oqMLtGbhP/P+nZAlnB+JQx68Zx/LS/uApfHFrNJYmsDM1r3KbF1RRPwOJ5Do01mlgH6/ex+Uvg8BPIEyGkB0gM+/vYSSKEVgqrLqzyz49QVLGh7C+vCgrjjNnpfq7ALoJ8Ukk/r8Ze6U+TILE5iepPpY4ATTUCJITucZ4JZwaDEkyaOiJBYisCB5tUucD+jozj6HMGynvWx0YRK9CSxIXsQn8rSu4LUo0nMPmEhrJ/NQiEQvAguRR/gSn385gCVEJo2vPJZ6k6jAB8Zh5JMXw4V6sKzkGfC57ZtzZM8b5yy1TtJGGjnIJZDebb7x8LbpN/bbX31Ycthz1PpRPol8zd9VrrSKKmw9WQDvQUYp77VoeJslIjZJ35xaheIHBMEZyN5rJckbwZPEAV/jA9c1ulVYBay6zSXPwJ57vjpvZPf5UzGVQKu6CNsg4ULtrDJ5I9hrGAY7Ocu69MfW1BBougSqHFdP+HoVHIYv7LVw+CUu0rA/zStfI5C9bt7tT8+GAw1DFn5FwpKQvfK1xMkYgdaoath1v4c1qJVndZcGfPcEdvfPAcS9SSmckEDeMZOkj+9tm2D3XLDXRnQoLNmYlMJxAmXbFzdRda9hXR+IXpml8OqflwTS0da2KH0mJdUC2MyRRslMbdBb3qbNcFUCpbAlrnIjZulxKzH7yW5bqOhSCi2B1jBKqR6i9pAHmRRKthA5LsycSSqB39l5SNC6B22DsYVu8H4QPDS/jFRYUt+oyZ7XhSyLHjkXkHpkHjIC6aFzoYIetBVEp+6D+Nj8VKn9w9C5Tiefoa3QWipOCg13CoYdKVka47O4Mfe8RZGZLrc3ZjuomOWuc4GG9krfD0TOI1rdZhuYVYROA1Jrpe8SRG4hQrynANVPzgVKn0HbYep13AhZAtGddR52/oW2I1CSFoayCsMwhrYjuRCrKkwc6JbAW7CwkowVQSjuCy+ypmVZkHcX5leZcAMnRAJtir/lyONAedSJ3MCNgazCwdK0KSwOnU7oPkgxB9JSoBgUKeFtJjQJQoQsgaTPncdJihHbAhKTLeZOxB1pE95IIJp2CgeIzg2BsXOBAneitS0gQQK1ihSsJxG4sdHmUIaO78qNPLeGfZXtQMXORUrJVVpNRqLlZDNzl4YxCO7cP6a5/1YiEKv6I/MjJZAwEhZ2fYqtm4bMdHWdC9BuvmcEpnbQnTiYUtbVeCi1Kx7vwCe7zPzI3QOdUtbVAkjq2xtlqn7cyiUol3UlQWtsYVrijKFzQaa+9texFx5v/QPuBGsMa8mDNuQI6Wjzb4FA3ur9env0x3gyQS4uDNtgC3NLnCfK/MYJTAtq5BLXBgfW9trkBvLYTAC5+sQYgbllXTk9EysP09Ep7RERfphM8V/PB+aVuJq48Gizcaqcqq7oeaeWOF8j0KPE1ajyG3uf2BDYuQtkB2e44ShxdvfKHW99BHmIw8q3ehl49csRnODzr1O7mdwp/byeCdtTG3xcZafi3WyoE2cXk5PAtGcC85pqVpZE73ZXM1tG0DJ5Yz1tf5K8ssHKkVhghMFhXndC/sb6WrJv56rISElcAceSDurxIY/6fMeRG23kEmi9cqJ3vOYMgD6z4cCSwo6pWtNnXvMfzDV7AMETBcee9ExT4lKNPfEfjlb92JOxEykyeAfpoI6Zfb4oMcuwvsE7lydVcvTTPFvF0mlvwfbSjX4aoeTwsdhMkYSh/lCXapefnjnH4WNjH3u8ZcKcveKvtBN3e7yv+hmfzTY6IPsyOdmLZvewC8VxaCKNsnnOmQg0yGbL5E34kMABO/TtAMYAzeyCAQzT0uLLAYyjGDNY48/grUZbcoL3ZpwKPLCzH2actDQzgQaZlzMkrsoecmXD0SohcISbIbQVwU5JKzxFslbUNsuwFgINUrsVdBcskbUPgayNwKuw8xiMffQbgDgr0qnA2kwY+RJBzZgLgSPYOC3tjt+2PcpVSaa5Tzf1PaZEZb2B/xmBC+kdQ8eMMe4ymaZnL+RnOSxBfpwIT0bJjLQkObbBL+H5vAmbxP/qzE/ZBIvGgQAAAABJRU5ErkJggg==");
  width: 2.1rem;
  height: 2.1rem;
  display: inline-block;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 2rem;
  left: 50%;
  margin-left: -17rem;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_schedulePage #scheduleMainPanel .selectPanel::after {
    margin-left: -9rem;
  }
}
#bookingPackage #booking-package_schedulePage #bottomPanel {
  padding-top: 2.4rem;
}
#bookingPackage #booking-package_schedulePage .timeSlot {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: 4rem;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_schedulePage .timeSlot {
    margin-left: 6rem;
  }
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_schedulePage {
    font-size: 1.4rem;
  }
}
#bookingPackage .selectedDate:not(.booking_completed):after {
  content: "日時をお確かめの上、ご入力ください";
  font-size: 1.6rem;
}
#bookingPackage .selectedDate:not(.booking_completed) {
  font-size: 0 !important;
}
#bookingPackage #booking-package_inputFormPanel {
  width: 64rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_inputFormPanel {
    width: 100%;
  }
}
#bookingPackage #booking-package_inputFormPanel .row {
  display: grid !important;
  grid-template-columns: 17rem auto;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_inputFormPanel .row {
    grid-template-columns: 1fr;
    justify-content: flex-start;
  }
}
#bookingPackage #booking-package_inputFormPanel .row .name {
  font-size: 1.6rem;
  font-weight: bold;
}
#bookingPackage #booking-package_inputFormPanel .row .value {
  font-size: 1.6rem;
}
#bookingPackage #booking-package_inputFormPanel input[type=text] {
  display: block;
  width: 90% !important;
  height: 3.4rem;
  border-radius: 0.8rem;
  font-size: 1.6rem;
  color: #000000;
  background-color: #f7f7f7;
  padding: 0.4rem 1.2rem;
  margin: 0;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_inputFormPanel input[type=text] {
    font-size: 1.6rem;
  }
}
#bookingPackage #booking-package_inputFormPanel .bookingButton {
  width: 100%;
  position: relative;
  display: block;
  height: 6.4rem;
  font-size: 2rem;
  color: #fff;
  border-radius: 10rem;
  box-shadow: 0 0.2rem 0 0 rgba(0, 0, 0, 0.06);
  background-color: var(--color-text);
  cursor: pointer;
  width: 32rem;
  margin: 2.4rem auto 0.8rem;
  border: 0.1rem solid var(--color-text);
  -webkit-appearance: none;
}
#bookingPackage #booking-package_inputFormPanel .bookingButton:hover {
  background-color: var(--color-text-hover);
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_inputFormPanel .bookingButton {
    width: 20rem;
  }
}
#bookingPackage #booking-package_schedulePage #returnToCalendarButton,
#bookingPackage #booking-package_schedulePage #returnToSchedules,
#bookingPackage #booking-package_inputFormPanel #returnToCalendarButton,
#bookingPackage #booking-package_inputFormPanel #returnToSchedules {
  position: relative;
  display: block;
  height: 4rem;
  line-height: 3.8rem;
  margin: 0rem auto;
  font-size: 1.4rem;
  color: #424242;
  border-radius: 0.8rem;
  box-shadow: 0 0.1rem 0 0 rgba(0, 0, 0, 0.06);
  background-color: #ffffff;
  cursor: pointer;
  width: 24rem;
  border: 0.1rem solid #dcdcdc;
  -webkit-appearance: none;
}
@media (max-width: 768px) {
  #bookingPackage #booking-package_schedulePage #returnToCalendarButton,
  #bookingPackage #booking-package_schedulePage #returnToSchedules,
  #bookingPackage #booking-package_inputFormPanel #returnToCalendarButton,
  #bookingPackage #booking-package_inputFormPanel #returnToSchedules {
    width: 14rem;
  }
}

#supportFixedFooter {
  display: none;
  position: fixed;
  z-index: 100;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0.8rem;
  box-sizing: border-box;
  background-color: #fff;
  grid-template-columns: 6fr 4fr;
  gap: 0.4rem;
  transition: opacity 0.2s ease;
}
#supportFixedFooter.hidden {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 768px) {
  #supportFixedFooter {
    display: grid;
  }
}
#supportFixedFooter .fixedButton {
  padding: 0.4rem;
  display: grid;
  justify-content: center;
  align-items: center;
  border-radius: 0.4rem;
  height: 4rem;
  font-size: 1.4rem;
  font-weight: bold;
}
#supportFixedFooter .fixedButton.primary {
  background-color: var(--color-text);
  color: #fff;
}
#supportFixedFooter .fixedButton.secondary {
  background-color: #eeeeee;
  color: #666;
}
@media (max-width: 320px) {
  #supportFixedFooter .fixedButton {
    font-size: 1.2rem;
  }
}

.page-register .register_panel {
  max-width: 72rem;
  width: 100%;
  margin: 4rem auto;
  background: #ffffff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  padding: 6rem;
}
@media (max-width: 768px) {
  .page-register .register_panel {
    margin: 4rem auto;
    padding: 3.2rem 1.6rem;
  }
}
.page-register .register_panel_title {
  font-weight: bold;
  font-size: 3rem;
  color: var(--color-text);
  padding-bottom: 1.6rem;
  border-bottom: 0.3rem solid var(--color-text);
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .page-register .register_panel_title {
    font-size: 1.8rem;
    padding-bottom: 1.2rem;
    border-bottom: 0.2rem solid var(--color-text);
    margin-bottom: 1.6rem;
  }
}
.page-register .register_panel_discription {
  font-size: 1.2rem;
  color: #666;
  line-height: 1.8;
}
.page-register .input {
  margin-bottom: 2.4rem;
}
.page-register .input h6 {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.9rem;
  color: #666666;
  margin-bottom: 1.2rem;
}
.page-register .input h6::after {
  content: "必須";
  display: inline-block;
  padding: 0.4rem 0.6rem;
  font-size: 1.2rem;
  color: #ffffff;
  background-color: #ff6666;
  font-weight: bold;
  border-radius: 0.2rem;
  margin-left: 0.8rem;
  line-height: 1;
}
.page-register .input p {
  font-size: 1.2rem;
  color: #bbb;
  margin-top: 0.6rem;
}
.page-register .input select,
.page-register .input input {
  font-size: 1.6rem;
  line-height: 1.6rem;
  padding: 1.2rem 1.2rem;
  background: #ffffff;
  border: 0.1rem solid #c4c4c4;
  box-sizing: border-box;
  border-radius: 0.4rem;
  width: 100%;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.page-register .input select:focus,
.page-register .input input:focus {
  background: #fff9f0;
  border: 0.1rem solid var(--color-text);
}
.page-register .input .select {
  position: relative;
  cursor: pointer;
}
.page-register .input .select::after {
  position: absolute;
  display: block;
  content: "";
  right: 1.6rem;
  top: 45%;
  width: 0;
  height: 0;
  border: 0.6rem solid transparent;
  border-top-color: var(--color-text);
  pointer-events: none;
}
.page-register .registration-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  display: block;
  font-style: normal;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 2.5rem;
  text-align: center;
  color: #ffffff;
  padding: 1.4rem 4rem;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%), var(--color-primary);
  border-radius: 16.5rem;
  margin: 0 auto;
  margin-top: 3rem;
  cursor: pointer;
  text-decoration: none;
}
.page-register .registration-button:hover {
  filter: brightness(0.9);
}
.page-register .registration-button:disabled {
  background: #bbb;
}
.page-register .success_icon {
  margin: 0 auto;
  display: block;
}
@media (max-width: 768px) {
  .page-register .success_icon {
    width: 10rem;
    height: auto;
  }
}
.page-register .completed_title {
  font-size: 3rem;
  font-weight: bold;
  margin: 3rem 0;
  text-align: center;
  color: var(--color-text);
}
@media (max-width: 768px) {
  .page-register .completed_title {
    font-size: 2.2rem;
  }
}
.page-register .completed_button {
  display: block;
  border-radius: 20rem;
  padding: 1.6rem 2.4rem;
  font-weight: bold;
  font-size: 1.8rem;
  color: #fff;
  text-decoration: none;
  background-color: var(--color-text);
  margin: 2rem auto;
  width: 18rem;
  text-align: center;
}
.page-register .completed_button:hover {
  filter: brightness(0.9);
}
.page-register .completed_button.outline {
  color: var(--color-text);
  border: 0.2rem solid var(--color-text);
  background-color: transparent;
}
.page-register .completed_go_home_area {
  text-align: center;
}
.page-register .completed_go_home {
  color: var(--color-text);
  text-decoration: none;
  font-size: 1.4rem;
}

.page-account .simplePanel {
  width: 100%;
  background: #ffffff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  padding: 6rem;
}
@media (max-width: 768px) {
  .page-account .simplePanel {
    padding: 2.4rem;
  }
}
.page-account .simplePanel h3 {
  font-size: 2.4rem;
  margin-bottom: 2.4rem;
  font-weight: bold;
}
.page-account .simplePanel section {
  margin: 0.1rem 0;
  display: grid;
  grid-template-columns: 16rem 1fr;
  gap: 2rem;
  align-items: center;
}
.page-account .simplePanel .account-grid {
  margin: 0 auto;
  border: 0.2rem solid var(--color-text);
}
.page-account .simplePanel .account-row {
  display: grid;
  grid-template-columns: 20rem 1fr;
  line-height: 1.6;
  border-bottom: 0.1rem solid #ddd;
}
.page-account .simplePanel .account-row:last-child {
  border-bottom: none;
}
@media (max-width: 768px) {
  .page-account .simplePanel .account-row {
    grid-template-columns: 1fr;
  }
}
.page-account .simplePanel .account-row div {
  padding: 1.6rem;
}
.page-account .simplePanel .account-row div:nth-of-type(1) {
  background: var(--color-text);
  color: white;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-account .simplePanel .account-row div:nth-of-type(1) {
    padding: 0.8rem 1.6rem;
  }
}
.page-account .simplePanel .edit-btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-grid;
  justify-content: center;
  align-items: center;
  width: 20rem;
  font-size: 1.6rem;
  color: var(--color-text);
  border-radius: 10rem;
  height: 4.8rem;
  border: 0.2rem solid var(--color-text);
  text-decoration: none;
  margin: 4rem 2rem 0;
  font-weight: bold;
}
.page-account .simplePanel .edit-btn:hover {
  background: var(--color-text);
  color: white;
}
.page-account .simplePanel .submit-btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-grid;
  justify-content: center;
  align-items: center;
  width: 20rem;
  font-size: 1.6rem;
  color: #fff;
  border-radius: 10rem;
  height: 4.8rem;
  border: 0.2rem solid var(--color-text);
  background: var(--color-text);
  text-decoration: none;
  margin: 4rem 2rem 0;
  font-weight: bold;
  cursor: pointer;
}
.page-account .simplePanel .submit-btn:hover {
  background: #000;
  color: white;
}
.page-account .simplePanel .submit-btn:disabled {
  opacity: 0.5;
}
.page-account .simplePanel .btn-area {
  text-align: center;
}
.page-account .simplePanel .input {
  margin-bottom: 2.4rem;
}
.page-account .simplePanel .input h6 {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.9rem;
  color: #666666;
  margin-bottom: 1.2rem;
}
.page-account .simplePanel .input h6::after {
  content: "必須";
  display: inline-block;
  padding: 0.4rem 0.6rem;
  font-size: 1.2rem;
  color: #ffffff;
  background-color: #ff6666;
  font-weight: bold;
  border-radius: 0.2rem;
  margin-left: 0.8rem;
  line-height: 1;
}
.page-account .simplePanel .input p {
  font-size: 1.2rem;
  color: #bbb;
  margin-top: 0.6rem;
}
.page-account .simplePanel .input select,
.page-account .simplePanel .input input {
  font-size: 1.6rem;
  line-height: 1.6rem;
  padding: 1.2rem 1.2rem;
  background: #ffffff;
  border: 0.1rem solid #c4c4c4;
  box-sizing: border-box;
  border-radius: 0.4rem;
  width: 100%;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.page-account .simplePanel .input select:focus,
.page-account .simplePanel .input input:focus {
  background: #fff9f0;
  border: 0.1rem solid var(--color-text);
  box-shadow: 0 0 0.2rem var(--color-text);
}
.page-account .simplePanel .input .select {
  position: relative;
  cursor: pointer;
}
.page-account .simplePanel .input .select::after {
  position: absolute;
  display: block;
  content: "";
  right: 1.6rem;
  top: 45%;
  width: 0;
  height: 0;
  border: 0.6rem solid transparent;
  border-top-color: var(--color-text);
  pointer-events: none;
}

.page-entrysheet .simplePanel {
  width: 100%;
  background: #ffffff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  padding: 6rem;
  text-align: center;
}
@media (max-width: 768px) {
  .page-entrysheet .simplePanel {
    padding: 2.4rem;
  }
}
.page-entrysheet .sampleImages {
  display: grid;
  grid-template-columns: auto auto;
  gap: 4rem;
  margin-bottom: 4rem;
  justify-content: center;
}
@media (max-width: 768px) {
  .page-entrysheet .sampleImages {
    gap: 2rem;
    margin-bottom: 2rem;
  }
}
.page-entrysheet .sampleImage {
  width: 24rem;
}
@media (max-width: 768px) {
  .page-entrysheet .sampleImage {
    width: 100%;
  }
}
.page-entrysheet .callout {
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 5rem;
  color: var(--color-text);
}
@media (max-width: 768px) {
  .page-entrysheet .callout {
    font-size: 1.6rem;
    line-height: 4rem;
  }
}
.page-entrysheet .callout span {
  position: relative;
  z-index: 1;
}
.page-entrysheet .callout span::after {
  content: "";
  position: absolute;
  display: block;
  bottom: -0.4rem;
  left: 0em;
  width: 100%;
  border-bottom: 1em solid #fff172;
  z-index: -1;
}
@media (max-width: 768px) {
  .page-entrysheet .callout span::after {
    display: none;
  }
}
.page-entrysheet .insight {
  margin: 4rem auto;
}
@media (max-width: 768px) {
  .page-entrysheet .insight {
    margin: 3.2rem auto;
    width: 100%;
  }
}
.page-entrysheet .btnArea {
  margin: 4rem 0;
}
@media (max-width: 768px) {
  .page-entrysheet .btnArea {
    margin: 3.2rem 0;
  }
}
.page-entrysheet .actionBtn {
  display: inline-block;
  padding: 2.4rem 6rem;
  text-decoration: none;
  background-color: #f00;
  border-radius: 10rem;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-entrysheet .actionBtn {
    font-size: 1.6rem;
    padding: 1.6rem 0;
    width: 100%;
  }
}
.page-entrysheet .actionBtn:hover {
  filter: brightness(0.9);
}
.page-entrysheet .actionBtn.support {
  background-color: var(--color-text);
}
.page-entrysheet .actionBtn.disabled {
  background-color: #999;
}
.page-entrysheet .actionBtn.disabled:hover {
  filter: brightness(1);
}
.page-entrysheet .btnNote {
  margin-top: 1.6rem;
  font-size: 1.2rem;
  color: #999;
}

.page-event .hero {
  display: grid;
  justify-content: center;
  align-items: center;
  justify-items: center;
  gap: 3.2rem;
  background-image: url(./../images/event/background.webp);
  background-position: center center;
  background-size: cover;
  color: #fff;
  padding: 8rem 4rem;
}
@media (max-width: 768px) {
  .page-event .hero {
    padding: 4rem 1.6rem;
    gap: 2.4rem;
  }
}
.page-event .hero h2 {
  font-weight: bold;
  font-size: 4.4rem;
}
@media (max-width: 768px) {
  .page-event .hero h2 {
    font-size: 2.6rem;
  }
}
.page-event .hero .description {
  text-align: center;
  font-size: 1.6rem;
  line-height: 3.2rem;
}
@media (max-width: 768px) {
  .page-event .hero .description {
    font-size: 1.2rem;
    line-height: 2.4rem;
  }
}
.page-event .targetFilter {
  width: 40rem;
  border-radius: 0.8rem;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 4rem;
  justify-content: center;
  display: grid;
}
@media (max-width: 768px) {
  .page-event .targetFilter {
    width: calc(100% - 0.8rem);
    margin: 0 auto;
    padding: 3.2rem;
    box-sizing: border-box;
  }
}
.page-event .targetFilterTitle {
  margin-bottom: 1.6rem;
  font-size: 1.6rem;
  text-align: center;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-event .targetFilterTitle {
    font-size: 1.4rem;
  }
}
.page-event .targetFilterButtons {
  display: grid;
  grid-template-columns: auto auto;
  gap: 1.2rem;
}
.page-event .targetFilterButton {
  display: grid;
  justify-content: center;
  align-items: center;
  height: 4.2rem;
  border: 0.1rem solid #fff;
  cursor: pointer;
  border-radius: 4rem;
  font-size: 1.8rem;
  padding: 0 3.5rem 0 1.3rem;
  grid-template-columns: auto auto;
  gap: 2.2rem;
}
.page-event .targetFilterButton::before {
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%2017C13.4183%2017%2017%2013.4183%2017%209C17%204.58172%2013.4183%201%209%201C4.58172%201%201%204.58172%201%209C1%2013.4183%204.58172%2017%209%2017ZM9%2018C13.9706%2018%2018%2013.9706%2018%209C18%204.02944%2013.9706%200%209%200C4.02944%200%200%204.02944%200%209C0%2013.9706%204.02944%2018%209%2018Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M13.68%205.26683C14.085%205.64241%2014.1088%206.27513%2013.7332%206.68005L8.16796%2012.68C7.98729%2012.8748%207.73654%2012.9897%207.47104%2012.9993C7.20555%2013.009%206.94713%2012.9126%206.75282%2012.7314L4.31804%2010.4611C3.91411%2010.0845%203.89198%209.4517%204.26862%209.04777C4.64526%208.64384%205.27804%208.62171%205.68197%208.99835L7.38345%2010.5849L12.2668%205.31996C12.6424%204.91504%2013.2751%204.89126%2013.68%205.26683Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .page-event .targetFilterButton {
    padding: 0 1.6rem 0 0.8rem;
    height: 3.6rem;
    font-size: 1.6rem;
    gap: 1rem;
  }
}
.page-event .targetFilterButton.selected {
  border-color: var(--color-primary);
  background: var(--color-primary);
}
.page-event .targetFilterButton.selected::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%2018C13.9706%2018%2018%2013.9706%2018%209C18%204.02944%2013.9706%200%209%200C4.02944%200%200%204.02944%200%209C0%2013.9706%204.02944%2018%209%2018ZM13.7332%206.68005C14.1088%206.27513%2014.085%205.64241%2013.68%205.26683C13.2751%204.89125%2012.6424%204.91504%2012.2668%205.31996L7.38345%2010.5849L5.68197%208.99835C5.27804%208.62171%204.64526%208.64384%204.26862%209.04777C3.89198%209.4517%203.91411%2010.0845%204.31804%2010.4611L6.75282%2012.7314C6.94713%2012.9126%207.20555%2013.009%207.47104%2012.9993C7.73654%2012.9897%207.98729%2012.8748%208.16796%2012.68L13.7332%206.68005Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
}
.page-event .targetFilterButtonsSub {
  display: grid;
  grid-template-columns: auto auto auto;
  margin: 1.2rem auto 0;
  gap: 1.2rem;
  align-items: center;
  font-size: 1.2rem;
}
.page-event .targetFilterButtonSub {
  display: grid;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  height: 2.8rem;
  padding: 0 2.4rem 0 0.8rem;
  border: 0.1rem solid #fff;
  border-radius: 4rem;
  grid-template-columns: auto auto;
  gap: 1.2rem;
}
.page-event .targetFilterButtonSub::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%2017C13.4183%2017%2017%2013.4183%2017%209C17%204.58172%2013.4183%201%209%201C4.58172%201%201%204.58172%201%209C1%2013.4183%204.58172%2017%209%2017ZM9%2018C13.9706%2018%2018%2013.9706%2018%209C18%204.02944%2013.9706%200%209%200C4.02944%200%200%204.02944%200%209C0%2013.9706%204.02944%2018%209%2018Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M13.68%205.26683C14.085%205.64241%2014.1088%206.27513%2013.7332%206.68005L8.16796%2012.68C7.98729%2012.8748%207.73654%2012.9897%207.47104%2012.9993C7.20555%2013.009%206.94713%2012.9126%206.75282%2012.7314L4.31804%2010.4611C3.91411%2010.0845%203.89198%209.4517%204.26862%209.04777C4.64526%208.64384%205.27804%208.62171%205.68197%208.99835L7.38345%2010.5849L12.2668%205.31996C12.6424%204.91504%2013.2751%204.89126%2013.68%205.26683Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .page-event .targetFilterButtonSub {
    padding: 0 1.2rem;
    gap: 0.8rem;
  }
}
.page-event .targetFilterButtonSub.selected {
  border-color: var(--color-primary);
  background: var(--color-primary);
}
.page-event .targetFilterButtonSub.selected::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%2018C13.9706%2018%2018%2013.9706%2018%209C18%204.02944%2013.9706%200%209%200C4.02944%200%200%204.02944%200%209C0%2013.9706%204.02944%2018%209%2018ZM13.7332%206.68005C14.1088%206.27513%2014.085%205.64241%2013.68%205.26683C13.2751%204.89125%2012.6424%204.91504%2012.2668%205.31996L7.38345%2010.5849L5.68197%208.99835C5.27804%208.62171%204.64526%208.64384%204.26862%209.04777C3.89198%209.4517%203.91411%2010.0845%204.31804%2010.4611L6.75282%2012.7314C6.94713%2012.9126%207.20555%2013.009%207.47104%2012.9993C7.73654%2012.9897%207.98729%2012.8748%208.16796%2012.68L13.7332%206.68005Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
}
.page-event .wrapper {
  max-width: 100rem;
  margin: 4rem auto;
  width: 100%;
  display: grid;
  grid-template-columns: 28rem 1fr;
  min-width: 100rem;
  align-items: start;
}
@media (max-width: 768px) {
  .page-event .wrapper {
    margin: 2rem auto;
    grid-template-columns: 1fr;
    width: calc(100% - 3.2rem);
    min-width: calc(100% - 3.2rem);
  }
}
.page-event .wrapper {
  padding-top: 0;
}
.page-event .filters {
  padding: 2.4rem;
  margin-right: 3rem;
  border: 0.1rem solid #ddd;
  background-color: #fff;
  border-radius: 0.8rem;
}
@media (max-width: 768px) {
  .page-event .filters {
    margin-right: 0rem;
    margin-bottom: 4rem;
  }
}
.page-event .filters .count {
  font-size: 3.2rem;
  font-weight: bold;
  margin-bottom: 4rem;
  position: relative;
}
@media (max-width: 768px) {
  .page-event .filters .count {
    font-size: 2.4rem;
    margin-bottom: 0rem;
  }
}
.page-event .filters .count span {
  font-size: 1.8rem;
}
.page-event .filters .filterTrigger {
  display: none;
  width: 2.4rem;
  height: 2.4rem;
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 768px) {
  .page-event .filters .filterTrigger {
    display: block;
  }
}
.page-event .filters .js-filter-trigger.isOpened path {
  fill: rgb(76, 174, 239);
}
.page-event .filters .js-filter-content {
  margin-top: 3.2rem;
}
@media (max-width: 768px) {
  .page-event .filters .js-filter-content {
    display: none;
  }
}
.page-event .filters .filterItem {
  margin-bottom: 2.4rem;
}
.page-event .filters .filterItem h5 {
  font-weight: bold;
  margin-bottom: 1.2rem;
}
.page-event .filters .placeWrapper {
  position: relative;
}
.page-event .filters .place {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0.4rem;
  border: 0.1rem solid #d8d8d8;
  background-color: #fff;
  padding: 0.8rem 1.6rem;
  font-size: 1.6rem;
  width: 100%;
  box-sizing: border-box;
  display: block;
  cursor: pointer;
}
.page-event .filters .dateWrapper {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 1.2rem;
}
.page-event .filters .date {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0.4rem;
  border: 0.1rem solid #d8d8d8;
  background-color: #fff;
  padding: 0.8rem 1.2rem;
  font-size: 1.4rem;
  width: calc(100% - 2.4rem);
  display: block;
  cursor: pointer;
}
.page-event .filters .weekdayWrapper {
  display: grid;
  grid-template-columns: auto auto auto auto;
  gap: 0.8rem;
}
.page-event .filters .weekdayWrapper input {
  display: none;
}
.page-event .filters .weekdayWrapper label {
  display: grid;
  grid-template-columns: auto auto;
  cursor: pointer;
}
.page-event .filters .weekdayWrapper label::before {
  content: "";
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  border: 0.1rem solid #d8d8d8;
  border-radius: 0.4rem;
}
.page-event .filters .weekdayWrapper input:checked + label::before {
  background-color: var(--color-text);
  background-image: url("./../images/event/check.svg");
  background-position: center;
  background-size: 1rem;
  background-repeat: no-repeat;
}
.page-event .btn {
  display: grid;
  justify-content: center;
  align-items: center;
  border-radius: 4rem;
  height: 4.8rem;
  width: 100%;
  color: #fff;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%);
  font-weight: bold;
  font-size: 1.4rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  cursor: pointer;
  transition: all 0.1s;
}
.page-event .btn:hover {
  filter: brightness(1.1);
}
.page-event .btn.disabled {
  opacity: 0.5;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: default;
  background-color: #666;
}
.page-event .featured {
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 0.1rem solid #d8d8d8;
}
.page-event .noResult {
  font-size: 2.4rem;
  text-align: center;
  color: #bbb;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-event .noResult {
    font-size: 1.4rem;
    text-align: left;
  }
}
.page-event .eventList {
  display: grid;
  gap: 4rem;
  grid-template-columns: auto auto;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .page-event .eventList {
    grid-template-columns: 6rem 1fr;
    gap: 1.6rem;
    -moz-column-gap: 0.8rem;
         column-gap: 0.8rem;
  }
}
.page-event .eventList .eventHead {
  font-weight: bold;
  color: #666;
  font-size: 0;
}
@media (max-width: 768px) {
  .page-event .eventList .eventHead {
    text-align: center;
  }
}
.page-event .eventList .eventHead div {
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .page-event .eventList .eventHead div {
    font-size: 1.4rem;
  }
}
.page-event .eventList .eventHead .featuredHead1 {
  display: inline-block;
  margin-bottom: 0.4rem;
}
.page-event .eventList .eventHead .featuredHead2 {
  display: inline-block;
}
.page-event .eventList .eventHead .month {
  display: inline-block;
}
@media (max-width: 768px) {
  .page-event .eventList .eventHead .month {
    display: block;
    font-size: 1.2rem;
  }
}
.page-event .eventList .eventHead .day {
  display: inline-block;
}
@media (max-width: 768px) {
  .page-event .eventList .eventHead .day {
    display: block;
    color: var(--color-text);
    font-size: 2rem;
    margin: 0.8rem 0;
  }
}
.page-event .eventList .eventHead .weekday {
  display: inline-block;
}
.page-event .eventList .eventHead .weekday::before {
  content: "(";
}
.page-event .eventList .eventHead .weekday::after {
  content: ")";
}
@media (max-width: 768px) {
  .page-event .eventList .eventHead .weekday {
    display: block;
    color: #999;
    font-size: 1.2rem;
  }
}
.page-event .eventList .eventItem {
  display: grid;
  width: 58rem;
  text-decoration: none;
  color: var(--color-text-hover);
  overflow: hidden;
  background-color: #fff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  transition: all 0.1s ease;
  position: relative;
}
@media (max-width: 768px) {
  .page-event .eventList .eventItem {
    width: 100%;
  }
}
.page-event .eventList .eventItem:hover {
  filter: brightness(1.05);
}
.page-event .eventList .eventItem .thumbnail-wrapper {
  width: 100%;
  padding-top: 20%;
  position: relative;
}
.page-event .eventList .eventItem .thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-event .eventList .eventItem .body {
  padding: 2.8rem 3.2rem 1.8rem;
}
@media (max-width: 768px) {
  .page-event .eventList .eventItem .body {
    padding: 1.6rem;
  }
}
.page-event .eventList .eventItem .title {
  margin-bottom: 1.2rem;
  font-size: 2.4rem;
  line-height: 1.4;
  max-height: 2.8em;
  font-weight: bold;
  overflow: hidden;
}
@media (max-width: 768px) {
  .page-event .eventList .eventItem .title {
    font-size: 1.8rem;
  }
}
.page-event .eventList .eventItem .excerpt {
  font-size: 1.6rem;
  color: #666;
  margin-bottom: 2.4rem;
  line-height: 1.4;
  max-height: 2.8em;
  overflow: hidden;
}
@media (max-width: 768px) {
  .page-event .eventList .eventItem .excerpt {
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
  }
}
.page-event .eventList .eventItem .info {
  padding-top: 1.6rem;
  border-top: 0.1rem solid #ddd;
  font-size: 1.4rem;
  color: #666;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.2rem;
  flex-flow: wrap;
}
@media (max-width: 768px) {
  .page-event .eventList .eventItem .info {
    padding-top: 1.2rem;
    font-size: 1.2rem;
    gap: 1.2rem;
  }
}
@media (max-width: 320px) {
  .page-event .eventList .eventItem .info {
    grid-template-columns: auto;
    justify-content: flex-start;
    gap: 0.4rem;
  }
}
.page-event .eventList .eventItem .info .infoItem {
  display: inline-flex;
  grid-template-columns: auto auto;
  justify-items: center;
  align-content: center;
  gap: 0.6rem;
  white-space: nowrap;
}
.page-event .eventList .eventItem .info .infoItem svg {
  margin-top: 0.1rem;
}
@media (max-width: 768px) {
  .page-event .eventList .eventItem .info .infoItem svg {
    margin-top: -0.1rem;
  }
}
@media (max-width: 320px) {
  .page-event .eventList .eventItem .info .infoItem {
    justify-content: flex-start;
  }
  .page-event .eventList .eventItem .info .infoItem svg {
    height: 1.4rem;
    margin-top: -0.1rem;
  }
}
.page-event .eventList .eventItem .info .eventComponentTargets {
  display: inline-flex;
  grid-template-columns: auto auto auto auto;
  gap: 0.8rem;
  justify-content: flex-start;
  flex-flow: wrap;
}
@media (max-width: 768px) {
  .page-event .eventList .eventItem .info .eventComponentTargets {
    gap: 0.6rem;
  }
}
.page-event .eventList .eventItem .info .eventComponentTarget {
  display: grid;
  padding: 0 1.2rem;
  height: 2rem;
  font-size: 1.2rem;
  border-radius: 10rem;
  border: 0.1rem solid #aaa;
  color: #aaa;
  justify-content: center;
  align-items: center;
}
.page-event .eventList .eventItem .info .eventComponentTarget.on {
  border-color: rgb(255, 161, 85);
  background-color: rgb(255, 161, 85);
  color: #fff;
}
.page-event .eventList .eventItem .stamp {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  border: 0.6rem solid crimson;
  border-radius: 0.8rem;
  padding: 4rem;
  transform: translate(-50%, -50%);
  font-size: 2.6rem;
  font-weight: bold;
  color: crimson;
  background: rgba(255, 255, 255, 0.8);
  text-align: center;
}
.page-event .eventList .eventItem .stamp i {
  display: inline-block;
  white-space: nowrap;
}
.page-event .eventList .eventItem .stamp span {
  display: block;
  font-size: 1.2rem;
  margin-top: 0.8rem;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .page-event .eventList .eventItem .stamp {
    padding: 2.8rem;
    font-size: 2rem;
  }
}
.page-event.detail {
  width: 100%;
  background-color: #fff;
}
@media (max-width: 768px) {
  .page-event.detail {
    grid-template-columns: 1fr;
  }
}
.page-event.detail .hero_detail {
  display: grid;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  color: #fff;
  font-weight: bold;
  position: relative;
  padding: 8rem 0;
}
@media (max-width: 768px) {
  .page-event.detail .hero_detail {
    padding: 4rem 0;
  }
}
.page-event.detail .hero_detail .hero_inner {
  display: grid;
  align-items: center;
  gap: 1.2rem;
  justify-items: center;
  width: 100rem;
  box-sizing: border-box;
  padding-right: 31rem;
  position: relative;
  z-index: 1;
  text-align: center;
}
@media (max-width: 768px) {
  .page-event.detail .hero_detail .hero_inner {
    margin: 2rem auto;
    width: 100%;
    padding-right: 0;
  }
}
.page-event.detail .hero_detail .hero_inner.has-no-options {
  padding-right: 0;
}
.page-event.detail .hero_detail .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 0;
}
.page-event.detail .hero_detail .hero_subtitle {
  font-size: 1.6rem;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.5);
}
.page-event.detail .hero_detail .hero_title {
  font-size: 2.8rem;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .page-event.detail .hero_detail .hero_title {
    font-size: 2.2rem;
  }
}
.page-event.detail .main {
  width: 100rem;
  padding-right: 31rem;
  margin: 0 auto;
  box-sizing: border-box;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media (max-width: 768px) {
  .page-event.detail .main {
    width: 100%;
    padding-right: 0;
    padding-top: 0;
  }
}
.page-event.detail .main.has-no-options {
  padding-right: 0;
  width: 80rem;
}
@media (max-width: 768px) {
  .page-event.detail .main.has-no-options {
    width: 100%;
  }
}
.page-event.detail .main .main_image {
  width: 100%;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .page-event.detail .main .main_image {
    margin-bottom: 1.6rem;
  }
}
.page-event.detail .main .body {
  position: relative;
  overflow: hidden;
}
@media (max-width: 768px) {
  .page-event.detail .main .body {
    max-width: calc(100% - 3.2rem);
    margin: 2rem auto;
    width: 100%;
  }
}
.page-event.detail .main .body.hidden {
  height: 20rem;
}
.page-event.detail .main .accrodion_trigger {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  text-align: center;
  padding: 3.6rem 0 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 70%);
  color: var(--color-text);
  font-weight: bold;
  display: none;
}
@media (max-width: 768px) {
  .page-event.detail .main .accrodion_trigger {
    display: block;
  }
}
.page-event.detail .main .accrodion_trigger.hidden {
  display: none;
}
.page-event.detail .main .main_title {
  font-size: 3.2rem;
  font-weight: bold;
  margin-bottom: 4rem;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .page-event.detail .main .main_title {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
}
.page-event.detail .main .container {
  font-family: "helvetica neue", "YuGothic";
  font-size: 1.6rem;
  color: #424242;
  line-height: 1.8;
  min-width: 0;
}
@media (max-width: 768px) {
  .page-event.detail .main .container {
    font-size: 1.4rem;
  }
}
.page-event.detail .main .container ul {
  padding: 0 2.4rem;
}
.page-event.detail .main .container ul li {
  list-style-type: disc;
}
.page-event.detail .main .container img {
  margin: 2em auto;
  height: auto;
  max-width: 100%;
  display: block;
}
.page-event.detail .main .container h2 {
  font-weight: bold;
  font-size: 3rem;
  color: #353535;
  padding-bottom: 1.6rem;
  border-bottom: 0.3rem solid var(--color-text);
  margin: 6rem 0 4rem;
}
@media (max-width: 768px) {
  .page-event.detail .main .container h2 {
    font-size: 2.2rem;
    margin: 3rem 0 2rem;
    padding-bottom: 0.8rem;
  }
}
.page-event.detail .main .container h3 {
  background-color: #f0f0f0;
  font-weight: bold;
  border-radius: 0.4rem;
  padding: 2rem;
  font-size: 2.2rem;
  margin: 4rem 0;
}
@media (max-width: 768px) {
  .page-event.detail .main .container h3 {
    border-radius: 0.4rem;
    padding: 1.2rem;
    font-size: 1.8rem;
    margin: 2rem 0;
  }
}
.page-event.detail .main .container h4 {
  font-weight: bold;
  margin: 1em 0;
  font-size: 2.2rem;
  padding: 1.6rem 0;
  color: #353535;
}
@media (max-width: 768px) {
  .page-event.detail .main .container h4 {
    font-size: 1.6rem;
    padding: 1.2rem 0;
  }
}
.page-event.detail .main .container h5 {
  font-weight: bold;
  margin: 1em 0 0.5em;
  font-size: 1.6rem;
  color: var(--color-highlight);
}
@media (max-width: 768px) {
  .page-event.detail .main .container h5 {
    font-size: 1.6rem;
  }
}
.page-event.detail .main .container a {
  color: var(--color-text);
  text-decoration: none;
}
.page-event.detail .main .container a:active {
  color: #a0a0a0;
}
.page-event.detail .main .container a:hover {
  text-decoration: underline;
}
.page-event.detail .main .container b,
.page-event.detail .main .container strong {
  font-weight: bold;
}
.page-event.detail .main .container table {
  width: 100%;
}
.page-event.detail .main .container table td,
.page-event.detail .main .container table th {
  padding: 1.2rem 1.6rem;
  border: 0.1rem solid #ccc;
  border-collapse: collapse;
  font-size: 1.4rem;
}
.page-event.detail .main .container table td:nth-of-type(1) {
  background: #eee;
  text-align: left;
  white-space: nowrap;
}
.page-event.detail .main .container .button-area {
  display: grid;
  align-items: center;
  justify-items: center;
}
.page-event.detail .main .container .button {
  border-radius: 4rem;
  display: inline-flex;
  padding: 2rem 8rem;
  text-decoration: none;
  background-color: var(--color-text-hover);
  color: #fff;
  text-decoration: none;
  font-weight: bold;
}
.page-event.detail .main .container .button:hover {
  text-decoration: none;
  filter: opacity(0.8);
}
.page-event.detail .main .container .button.primary {
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%);
}
.page-event.detail .sub {
  position: absolute;
  top: 0;
  right: calc((100vw - 100rem) / 2);
  height: 100%;
}
@media (max-width: 768px) {
  .page-event.detail .sub {
    display: none;
  }
}
.page-event.detail .panel {
  background-color: #fff;
  padding: 2.4rem;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  overflow: hidden;
  margin-bottom: 4rem;
  width: 27rem;
}
@media (max-width: 768px) {
  .page-event.detail .panel {
    border: none;
    filter: none;
    border-radius: 0;
    border-bottom: 0.1rem solid #d8d8d8;
    width: 100%;
  }
}
.page-event.detail .panel h6 {
  font-weight: bold;
  font-size: 1.4rem;
  color: #999;
  margin-bottom: 2.4rem;
}
.page-event.detail .sticky {
  position: sticky;
  top: 9rem;
  z-index: 3;
}
.page-event.detail .options {
  display: grid;
  gap: 1.6rem;
}
.page-event.detail .optionWrapper input {
  display: none;
}
.page-event.detail .optionWrapper .option {
  position: relative;
  display: block;
  padding-left: 3.6rem;
  cursor: pointer;
}
.page-event.detail .optionWrapper .option h4 {
  font-weight: bold;
  font-size: 1.6rem;
  color: var(--color-text-hover);
  margin-bottom: 0.8rem;
  line-height: 1.4;
}
.page-event.detail .optionWrapper .option .place {
  font-size: 1.2rem;
  margin-bottom: 0.4rem;
  color: #666;
}
.page-event.detail .optionWrapper .option .place svg {
  height: 1.1rem;
  vertical-align: bottom;
}
.page-event.detail .optionWrapper .option .scheduled_datetime {
  font-size: 1.2rem;
}
.page-event.detail .optionWrapper .option::before {
  content: "";
  display: block;
  border-radius: 10rem;
  width: 1.6rem;
  height: 1.6rem;
  border: 0.1rem solid #d8d8d8;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.page-event.detail .optionWrapper .option.disabled {
  opacity: 0.6;
  pointer-events: none;
}
.page-event.detail .optionWrapper .option .disabled_text {
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  padding: 0.4rem 1.2rem;
  border-radius: 10rem;
  background: var(--color-text);
  display: inline-block;
}
.page-event.detail .optionWrapper input:checked + label::before {
  background-color: var(--color-text);
  background-image: url("./../images/event/check.svg");
  background-position: center;
  background-size: 1rem;
  background-repeat: no-repeat;
}
.page-event.detail .note {
  font-size: 1.2rem;
  text-align: center;
  color: #999;
  margin-top: 1.6rem;
}
.page-event .sp_only {
  display: none;
}
@media (max-width: 768px) {
  .page-event .sp_only {
    display: block;
  }
}
.page-event .conversion_btn {
  width: 100%;
  position: sticky;
  bottom: 0;
  left: 0;
  background-color: #fff;
  padding: 1.2rem;
  box-sizing: border-box;
  z-index: 3;
}
.page-event .conversion_btn .btn {
  width: 100%;
}
.page-event .conversion_btn.has-no-options {
  display: none;
}
.page-event .confirm .panel {
  background-color: #fff;
  padding: 4rem;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  overflow: hidden;
  width: 70rem;
  margin: 6rem auto;
}
@media (max-width: 768px) {
  .page-event .confirm .panel {
    width: calc(100% - 3.2rem);
    margin: 2rem auto;
    padding: 4rem 2.4rem;
  }
}
.page-event .confirm .item {
  padding: 0 4rem;
}
@media (max-width: 768px) {
  .page-event .confirm .item {
    padding: 0 0;
  }
}
.page-event .confirm h4 {
  font-weight: bold;
  font-size: 2.8rem;
  text-align: center;
  margin-bottom: 4rem;
  color: var(--color-text-hover);
}
@media (max-width: 768px) {
  .page-event .confirm h4 {
    font-size: 2rem;
    margin-bottom: 4rem;
  }
}
.page-event .confirm h5 {
  font-weight: bold;
  font-size: 2rem;
  color: var(--color-text);
  margin-bottom: 0.8rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .page-event .confirm h5 {
    font-size: 1.6rem;
  }
}
.page-event .confirm p {
  font-weight: bold;
  margin-bottom: 4rem;
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--color-text);
}
.page-event .confirm .confirm-btn {
  width: 40rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .page-event .confirm .confirm-btn {
    width: 100%;
  }
}

.page-news {
  background-color: white;
  padding: 6rem 0;
}
.page-news .inner {
  max-width: 90rem;
}
.page-news .news-thumbnail {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .page-news .news-thumbnail {
    margin-bottom: 1.6rem;
  }
}
.page-news .news-thumbnail img {
  width: calc(100% + 3.2rem);
  height: auto;
  margin: 0 -1.6rem;
}
.page-news .news-title {
  font-size: 4rem;
  font-weight: bold;
  margin: 2rem 0;
  line-height: 140%;
}
@media (max-width: 768px) {
  .page-news .news-title {
    font-size: 2.4rem;
    margin-bottom: 1.2rem;
  }
}
.page-news .news-date {
  font-size: 1.4rem;
  margin-bottom: 4rem;
  color: #999;
}
@media (max-width: 768px) {
  .page-news .news-date {
    font-size: 1.2rem;
    margin-bottom: 2rem;
  }
}
.page-news .news-content {
  font-size: 1.6rem;
  line-height: 180%;
  padding-bottom: 8rem;
  border-bottom: 0.1rem solid #999;
  margin-bottom: 8rem;
}
@media (max-width: 768px) {
  .page-news .news-content {
    font-size: 1.4rem;
    padding-bottom: 4rem;
  }
}
.page-news .news-content p {
  margin: 1em 0;
}
.page-news .news-content h2 {
  margin: 2em 0 1em;
  line-height: 1.4;
  font-size: 2.4rem;
  font-weight: bold;
}
.page-news .news-content h3 {
  margin: 1.6em 0;
  line-height: 1.4;
  font-size: 1.8rem;
  font-weight: bold;
}
.page-news .news-content h4 {
  margin: 1.3em 0;
  line-height: 1.4;
  font-size: 1.6rem;
  font-weight: bold;
}
.page-news .news-content h5 {
  margin: 1em 0;
  line-height: 1.4;
  font-size: 1.6rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-news .news-content h2 {
    margin: 2em 0 1em;
    font-size: 1.8rem;
  }
  .page-news .news-content h3 {
    margin: 1.6em 0;
    font-size: 1.6rem;
  }
  .page-news .news-content h4 {
    margin: 1.3em 0;
    font-size: 1.4rem;
  }
  .page-news .news-content h5 {
    margin: 1em 0;
    font-size: 1.4rem;
  }
}
.page-news .news-content img {
  max-width: 100%;
  height: auto;
}
.page-news .news-content .wp-block-embed-youtube iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}

.news-list {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .news-list {
    margin-bottom: 2rem;
  }
}
.news-list .news-list-header {
  font-size: 2.4rem;
  margin-bottom: 5.2rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .news-list .news-list-header {
    font-size: 1.6rem;
    margin-bottom: 4rem;
  }
}
.news-list .news-list-items {
  display: grid;
  gap: 4rem;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 768px) {
  .news-list .news-list-items {
    gap: 1.6rem;
    grid-template-columns: 1fr 1fr;
  }
}
.news-list .news-list-item {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 1fr;
  font-size: 1.6rem;
  text-decoration: none;
  align-items: start;
  align-content: start;
  color: var(--color-text);
  transition: color 0.15s ease;
}
@media (max-width: 768px) {
  .news-list .news-list-item {
    gap: 0.8rem;
    grid-template-columns: 1fr;
    font-size: 1.3rem;
  }
}
.news-list .news-list-item:hover {
  color: var(--color-highlight);
}
.news-list .news-list-item-date {
  color: #999;
}
.news-list .news-list-item-thumbnail {
  width: 100%;
  aspect-ratio: 1200/630;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.4rem;
}
.news-list .news-list-item-title {
  font-weight: 600;
  line-height: 140%;
}

.page-news-archive {
  min-height: calc(100vh - 38.8rem);
}
.page-news-archive .news-list {
  margin-top: 2rem;
}

.news-footer {
  margin-top: 6rem;
  display: grid;
  align-items: center;
  justify-content: center;
}
.news-footer .news-footer-btn {
  font-size: 1.6rem;
  padding: 1.6rem 3.2rem;
  border: 0.1rem solid var(--color-text);
  color: var(--color-text);
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
  border-radius: 10rem;
}
@media (max-width: 768px) {
  .news-footer .news-footer-btn {
    font-size: 1.4rem;
    padding: 1.2rem 2.4rem;
  }
}
.news-footer .news-footer-btn:hover {
  background-color: var(--color-text);
  color: white;
}

@keyframes slide {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -288rem 0;
  }
}
.page-university {
  background-color: white;
  padding: 0;
  overflow: hidden;
}
.page-university .inner {
  width: 120rem;
  margin: 0 auto;
}
.page-university .inner.narrow {
  width: 92rem;
}
@media (max-width: 768px) {
  .page-university .inner {
    width: 34.3rem;
  }
  .page-university .inner.narrow {
    width: 34.3rem;
  }
}
.page-university .section_header {
  display: grid;
  justify-items: center;
  gap: 1.6rem;
  margin-bottom: 8rem;
}
.page-university .section_header h2 {
  font-size: 3.6rem;
  font-weight: bold;
}
.page-university .section_header p {
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
}
@media (max-width: 768px) {
  .page-university .section_header {
    margin-bottom: 4rem;
  }
  .page-university .section_header h2 {
    font-size: 2.4rem;
  }
  .page-university .section_header p {
    font-size: 1.4rem;
  }
}
.page-university .hero {
  background-image: url(./../images/university/hero/background.webp);
  background-size: cover;
  background-position: center;
  height: 56.8rem;
  position: relative;
}
.page-university .hero .title {
  position: absolute;
  bottom: 8rem;
  left: 12rem;
  height: 26rem;
}
.page-university .hero .ornament {
  position: absolute;
  top: -14rem;
  left: -14rem;
  height: 40rem;
}
@media (max-width: 768px) {
  .page-university .hero {
    height: 28.4rem;
  }
  .page-university .hero .title {
    height: 9rem;
    bottom: 2.4rem;
    left: 2.4rem;
  }
  .page-university .hero .ornament {
    height: 20rem;
    top: -7rem;
    left: -7rem;
  }
}
.page-university .support {
  padding: 12rem 0;
  position: relative;
  overflow: hidden;
}
.page-university .support .ornament {
  position: absolute;
  top: -30rem;
  left: -45rem;
  height: 68rem;
  pointer-events: none;
  filter: grayscale(1);
  opacity: 0.2;
}
.page-university .support .ornament2 {
  position: absolute;
  bottom: -10rem;
  right: -25rem;
  height: 40rem;
  pointer-events: none;
  filter: grayscale(1);
  opacity: 0.2;
}
.page-university .support .title {
  position: absolute;
  top: 0;
  right: 0;
  height: 9rem;
}
.page-university .support .row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  z-index: 1;
}
.page-university .support .row:nth-child(odd) .cell:first-child {
  order: 2;
}
.page-university .support .cell .image {
  width: 100%;
}
.page-university .support .text {
  display: grid;
  align-items: center;
  align-content: center;
  padding: 4rem;
  padding-right: 12rem;
  gap: 4rem;
}
.page-university .support .text h4 {
  font-size: 1.6rem;
  color: #ab113a;
  font-weight: bold;
  margin-bottom: -3.2rem;
}
.page-university .support .text h3 {
  font-size: 3.6rem;
  font-weight: bold;
}
.page-university .support .text p {
  font-size: 1.6rem;
  line-height: 1.6;
}
.page-university .support .buttons {
  display: flex;
  gap: 2rem;
}
.page-university .support .buttons .button {
  display: inline-block;
  padding: 1.2rem 4rem;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  background: #000;
  text-align: center;
  text-decoration: none;
}
.page-university .support .buttons .button:hover {
  background: #ab113a;
}
@media (max-width: 768px) {
  .page-university .support {
    padding: 6rem 0;
  }
  .page-university .support .title {
    height: 5rem;
  }
  .page-university .support .ornament {
    height: 20rem;
    top: -10rem;
    left: -10rem;
  }
  .page-university .support .ornament2 {
    height: 20rem;
    bottom: -5rem;
    right: -12.5rem;
  }
  .page-university .support .row {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
  .page-university .support .row:nth-child(odd) .cell:first-child {
    order: 0;
  }
  .page-university .support .text {
    padding: 0 2.4rem;
    padding-bottom: 4rem;
    padding-right: 2.4rem;
    gap: 2.4rem;
  }
  .page-university .support .text h4 {
    font-size: 1.4rem;
    margin-bottom: -0.8rem;
  }
  .page-university .support .text h3 {
    font-size: 2.4rem;
  }
  .page-university .support .text p {
    font-size: 1.4rem;
  }
  .page-university .support .buttons {
    justify-content: center;
  }
}
.page-university .mission {
  height: 72rem;
  position: relative;
  background-image: url(./../images/university/mission/background.webp);
  background-size: cover;
  animation: slide 90s linear infinite;
}
.page-university .mission .title {
  position: absolute;
  top: 0;
  right: 0;
  height: 9rem;
}
.page-university .mission .text {
  position: absolute;
  top: 12rem;
  left: 12rem;
  width: 48rem;
  color: #fff;
  font-weight: bold;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 4rem;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  box-shadow: 0.8rem 0.8rem 0 var(--color-highlight);
}
.page-university .mission .text h3 {
  font-size: 3.2rem;
  margin-bottom: 2rem;
  line-height: 1.6;
}
.page-university .mission .text h3 span {
  color: var(--color-highlight);
}
.page-university .mission .text p {
  line-height: 2;
  font-size: 1.4rem;
}
@media (max-width: 768px) {
  .page-university .mission {
    height: 48rem;
  }
  .page-university .mission .title {
    height: 5rem;
  }
  .page-university .mission .text {
    top: 6rem;
    left: 2.4rem;
    width: calc(100% - 4.8rem);
    font-size: 1.4rem;
    padding: 2rem;
  }
  .page-university .mission .text h3 {
    font-size: 2.4rem;
    margin-bottom: 1rem;
  }
}
.page-university .comment {
  padding: 12rem 0;
  position: relative;
  background-color: #1e1e1e;
  color: #fff;
}
.page-university .comment::before, .page-university .comment::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6rem;
  background-image: url(./../images/university/comment/pattern.webp);
  background-size: contain;
  background-position: center;
  z-index: 0;
  filter: grayscale(1);
}
.page-university .comment::after {
  top: auto;
  bottom: 0;
}
.page-university .comment .title {
  position: absolute;
  top: 0;
  right: 0;
  height: 9rem;
}
.page-university .comment .commentItems {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
.page-university .comment .commentItem {
  display: grid;
  gap: 3.2rem;
}
.page-university .comment .commentItem .commentItem_person {
  display: grid;
  grid-template-columns: 16rem 1fr;
  align-items: center;
  gap: 2rem;
}
.page-university .comment .commentItem .commentItem_person-image {
  width: 100%;
}
.page-university .comment .commentItem .commentItem_person-text {
  display: grid;
  gap: 1.6rem;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: bold;
}
.page-university .comment .commentItem .commentItem_person-text .name {
  font-size: 2.4rem;
}
.page-university .comment .commentItem .commentItem_comment {
  line-height: 1.6;
  font-size: 1.4rem;
}
@media (max-width: 768px) {
  .page-university .comment {
    padding: 6rem 0;
  }
  .page-university .comment::before, .page-university .comment::after {
    height: 3rem;
  }
  .page-university .comment .title {
    height: 5rem;
  }
  .page-university .comment .commentItems {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  .page-university .comment .commentItem {
    gap: 1.6rem;
  }
  .page-university .comment .commentItem .commentItem_person {
    grid-template-columns: 12rem 1fr;
    gap: 2.4rem;
  }
}
.page-university .projects {
  padding: 12rem 0;
  position: relative;
  overflow: hidden;
}
.page-university .projects .title {
  position: absolute;
  top: 0;
  right: 0;
  height: 9rem;
}
.page-university .projects .ornament {
  position: absolute;
  top: -30rem;
  left: -45rem;
  height: 68rem;
  pointer-events: none;
  z-index: 0;
}
.page-university .projects .ornament2 {
  position: absolute;
  bottom: -10rem;
  right: -25rem;
  height: 68rem;
  pointer-events: none;
  filter: grayscale(1);
  opacity: 0.2;
  z-index: 0;
}
.page-university .projects .projectItems {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem;
  position: relative;
  z-index: 1;
}
.page-university .projects .projectItem {
  display: grid;
  gap: 1.6rem;
}
.page-university .projects .projectItem .projectItem_image {
  width: 100%;
}
.page-university .projects .projectItem .projectItem_description {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: bold;
}
.page-university .projects .more {
  margin-top: 4rem;
  padding: 1.6rem;
  line-height: 1.6;
  font-size: 1.4rem;
  background-color: #fafafa;
  z-index: 2;
  position: relative;
  color: #666;
}
.page-university .projects .more span {
  font-weight: normal;
}
@media (max-width: 768px) {
  .page-university .projects {
    padding: 6rem 0;
  }
  .page-university .projects .title {
    height: 5rem;
  }
  .page-university .projects .ornament {
    height: 20rem;
    top: -10rem;
    left: -10rem;
  }
  .page-university .projects .ornament2 {
    height: 20rem;
    bottom: -5rem;
    right: -12.5rem;
  }
  .page-university .projects .projectItems {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  .page-university .projects .more {
    font-size: 1.2rem;
  }
  .page-university .projects .more span {
    display: block;
  }
}
.page-university .form .heading {
  height: 28.4rem;
  flex-shrink: 0;
  color: #fff;
  text-align: center;
  font-size: 3.6rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 140%;
  display: grid;
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), url(./../images/university/class/header.webp);
  background-size: cover;
}
@media (max-width: 768px) {
  .page-university .form .heading {
    height: 16rem;
    font-size: 2.4rem;
  }
}
.page-university .form .description {
  color: #000;
  text-align: center;
  font-size: 1.6rem;
  font-family: Noto Sans JP;
  line-height: 160%;
  margin: 8rem auto;
}
@media (max-width: 768px) {
  .page-university .form .description {
    font-size: 1.4rem;
    margin: 4rem 1.6rem;
  }
}
.page-university .form .formWrapper {
  margin: 4rem auto;
  width: 72rem;
  padding: 4rem;
  box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.25);
  border-radius: 0.8rem;
}
@media (max-width: 768px) {
  .page-university .form .formWrapper {
    width: 34.3rem;
    box-sizing: border-box;
    padding: 3.2rem 1.6rem;
  }
}
.page-university .form .item {
  margin-bottom: 3.2rem;
}
.page-university .form .name {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  color: #000000;
  margin-bottom: 1.6rem;
  display: flex;
  align-items: center;
}
.page-university .form .name.require::after {
  content: "必須";
  display: inline-block;
  background-color: var(--color-primary);
  color: #ffffff;
  padding: 0.3rem 0.6rem;
  font-size: 1.2rem;
  border-radius: 0.4rem;
  font-weight: bold;
  margin-left: 1.2rem;
}
.page-university .form .input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  padding: 1.2rem 1.6rem;
  box-sizing: border-box;
  font-size: 1.4rem;
  color: #000000;
  background: #fafafa;
  border: 0.1rem solid #ddd;
  border-radius: 0.8rem;
  outline: none;
}
.page-university .form .input:focus {
  border-color: #000;
}
.page-university .form .input.half {
  width: 50%;
}
@media (max-width: 768px) {
  .page-university .form .input.half {
    width: 100%;
  }
}
.page-university .form .buttonArea {
  margin-top: 4rem;
  display: grid;
  justify-items: center;
  align-items: center;
}
.page-university .form .buttonArea input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  padding: 1.2rem 5rem;
  border: none;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  background: #000;
}
.page-university .form .buttonArea input:hover {
  opacity: 0.8;
}
.page-university .form .wpcf7-not-valid-tip {
  margin-top: 0.8rem;
  font-size: 1.2rem;
}
.page-university .form .wpcf7-response-output {
  padding: 2.4rem;
}

.page-university-class {
  background-color: white;
  padding: 0;
}
.page-university-class .inner {
  width: 120rem;
  margin: 0 auto;
}
.page-university-class .inner.narrow {
  width: 92rem;
}
@media (max-width: 768px) {
  .page-university-class .inner {
    width: 34.3rem;
  }
  .page-university-class .inner.narrow {
    width: 34.3rem;
  }
}
.page-university-class .fv {
  position: relative;
  height: 64rem;
  width: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 75%, #fff 100%), url(./../images/university/class/header.webp), lightgray 50%/cover no-repeat;
  background-position: center;
  background-size: cover;
}
@media (max-width: 768px) {
  .page-university-class .fv {
    height: 28rem;
  }
}
.page-university-class .fv .copy {
  position: absolute;
  left: 12rem;
  top: 35rem;
  height: 30.7rem;
}
@media (max-width: 768px) {
  .page-university-class .fv .copy {
    left: 1.6rem;
    top: 8rem;
    height: auto;
    width: 34.3rem;
  }
}
.page-university-class .about {
  padding-top: 12rem;
}
@media (max-width: 768px) {
  .page-university-class .about {
    padding-top: 4rem;
  }
}
.page-university-class .about .inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6rem;
}
@media (max-width: 768px) {
  .page-university-class .about .inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.page-university-class .about .text {
  display: flex;
  flex-direction: column;
  gap: 4.6rem;
}
@media (max-width: 768px) {
  .page-university-class .about .text {
    gap: 2rem;
  }
}
.page-university-class .about .image {
  width: 44.8rem;
  height: 61.5rem;
}
@media (max-width: 768px) {
  .page-university-class .about .image {
    width: 20rem;
    height: auto;
    display: block;
    margin: 0 auto;
  }
}
.page-university-class .about .heading {
  font-size: 3.6rem;
  font-family: Noto Sans JP;
  line-height: 160%;
}
@media (max-width: 768px) {
  .page-university-class .about .heading {
    font-size: 1.8rem;
  }
}
.page-university-class .about .description {
  color: #666;
  font-size: 1.6rem;
  font-family: Noto Sans JP;
  line-height: 160%;
}
@media (max-width: 768px) {
  .page-university-class .about .description {
    font-size: 1.4rem;
    line-height: 180%;
  }
}
.page-university-class .about .conversion_button {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 8rem auto 12rem;
  border-radius: 15rem;
  background: var(--color-primary);
  width: 45rem;
  height: 8rem;
  color: #fff;
  text-align: center;
  font-size: 2.3rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 140%;
  border: none;
  outline: none;
  cursor: pointer;
}
@media (max-width: 768px) {
  .page-university-class .about .conversion_button {
    width: 30rem;
    height: 6rem;
    font-size: 1.6rem;
    margin: 4rem auto 6rem;
  }
}
.page-university-class .about .conversion_button:hover {
  opacity: 0.8;
}
.page-university-class .example {
  background-color: #282a55;
  padding: 10rem 0;
  color: #fff;
}
@media (max-width: 768px) {
  .page-university-class .example {
    padding: 6rem 0;
  }
}
.page-university-class .example .title {
  text-align: center;
  font-size: 3.6rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 140%;
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  .page-university-class .example .title {
    font-size: 2.4rem;
    margin-bottom: 6rem;
  }
}
.page-university-class .example .rows {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5.3rem;
}
@media (max-width: 768px) {
  .page-university-class .example .rows {
    gap: 3.6rem;
  }
}
.page-university-class .example .row {
  display: flex;
  flex-direction: row;
  gap: 4rem;
  font-size: 3.2rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 140%;
  align-items: center;
}
@media (max-width: 768px) {
  .page-university-class .example .row {
    gap: 2rem;
    font-size: 1.8rem;
  }
}
.page-university-class .example .row .image {
  width: 6.4rem;
}
@media (max-width: 768px) {
  .page-university-class .example .row .image {
    width: 4rem;
  }
}
.page-university-class .example .description {
  margin-top: 6rem;
  font-size: 1.6rem;
  font-family: Noto Sans JP;
  line-height: 160%;
}
@media (max-width: 768px) {
  .page-university-class .example .description {
    margin-top: 4rem;
    font-size: 1.1rem;
  }
}
.page-university-class .example .profile {
  margin-top: 6rem;
}
@media (max-width: 768px) {
  .page-university-class .example .profile {
    margin-top: 4rem;
  }
}
.page-university-class .example .profile .profileHeader {
  color: #fff;
  font-size: 2.4rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 140%;
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2rem;
  align-items: center;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .page-university-class .example .profile .profileHeader {
    font-size: 1.8rem;
    margin-bottom: 2.4rem;
    gap: 1.6rem;
  }
}
.page-university-class .example .profile .profileHeader:after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background-color: #fff;
}
.page-university-class .example .profileContent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6rem;
}
@media (max-width: 768px) {
  .page-university-class .example .profileContent {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.page-university-class .example .profileContent .profileImage {
  width: 30.5rem;
  height: 41.4rem;
}
@media (max-width: 768px) {
  .page-university-class .example .profileContent .profileImage {
    width: 20rem;
    height: auto;
    display: block;
    margin: 0 auto;
  }
}
.page-university-class .example .profileContent .profileTextRole {
  color: #fff;
  font-size: 1.6rem;
  font-family: Noto Sans JP;
  line-height: 160%;
  margin-bottom: 1.6rem;
}
@media (max-width: 768px) {
  .page-university-class .example .profileContent .profileTextRole {
    font-size: 1.2rem;
    margin-bottom: 1.4rem;
  }
}
.page-university-class .example .profileContent .profileTextName {
  color: #fff;
  font-size: 3.6rem;
  font-family: FOT-TsukuMin Pro;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 2.4rem;
}
.page-university-class .example .profileContent .profileTextDescription {
  color: #fff;
  font-size: 1.3rem;
  font-family: Noto Sans JP;
  line-height: 160%;
  margin-bottom: 3.2rem;
}
.page-university-class .example .profileContent .profileTextHistory {
  color: #fff;
  font-size: 1.2rem;
  font-family: Noto Sans JP;
  line-height: 160%;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.4rem 2.4rem;
}
.page-university-class .achieve {
  padding: 8rem 0;
}
@media (max-width: 768px) {
  .page-university-class .achieve {
    padding: 4rem 0 0;
  }
}
.page-university-class .achieve .header {
  color: #000;
  text-align: center;
  font-size: 3.6rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 140%;
  margin-bottom: 6.4rem;
}
@media (max-width: 768px) {
  .page-university-class .achieve .header {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.page-university-class .achieve .achieveItem {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
  .page-university-class .achieve .achieveItem {
    grid-template-columns: 1fr;
  }
}
.page-university-class .achieve .achieveImage {
  width: 100%;
}
.page-university-class .achieve .achiveText {
  padding: 4rem 8rem;
  display: grid;
  align-content: center;
}
@media (max-width: 768px) {
  .page-university-class .achieve .achiveText {
    padding: 4.4rem 3.2rem;
  }
}
.page-university-class .achieve .achiveTitle {
  color: #000;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}
@media (max-width: 768px) {
  .page-university-class .achieve .achiveTitle {
    font-size: 2.2rem;
  }
}
.page-university-class .achieve .achiveSubTitle {
  color: #666;
  font-size: 1.4rem;
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  .page-university-class .achieve .achiveSubTitle {
    font-size: 1.2rem;
  }
}
.page-university-class .achieve .achiveDetail {
  color: var(--color-text);
  font-size: 1.4rem;
  line-height: 160%;
}
@media (max-width: 768px) {
  .page-university-class .achieve .achiveDetail {
    font-size: 1.2rem;
  }
}
.page-university-class .achieve .achieveItem:nth-child(2n) .achieveImage {
  grid-column: 2;
}
.page-university-class .achieve .achieveItem:nth-child(2n) .achiveText {
  grid-row: 1;
  padding-left: 20rem;
}
.page-university-class .achieve .achieveItem:nth-child(2n+1) .achiveText {
  padding-right: 20rem;
}
@media (max-width: 768px) {
  .page-university-class .achieve .achieveItem:nth-child(2n) .achieveImage {
    grid-column: 1;
  }
  .page-university-class .achieve .achieveItem:nth-child(2n) .achiveText {
    grid-row: 2;
    padding-left: 3.2rem;
  }
  .page-university-class .achieve .achieveItem:nth-child(2n+1) .achiveText {
    padding-right: 3.2rem;
  }
}
.page-university-class .voice {
  padding: 12rem 0;
  background-color: #fafafa;
}
@media (max-width: 768px) {
  .page-university-class .voice {
    padding: 6rem 0;
  }
}
.page-university-class .voice .header {
  color: #000;
  text-align: center;
  font-size: 3.6rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 140%;
  margin-bottom: 6.4rem;
}
@media (max-width: 768px) {
  .page-university-class .voice .header {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.page-university-class .voice .professors {
  display: grid;
  gap: 6rem;
}
@media (max-width: 768px) {
  .page-university-class .voice .professors {
    gap: 4rem;
  }
}
.page-university-class .voice .professor {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.2rem 4rem;
}
@media (max-width: 768px) {
  .page-university-class .voice .professor {
    grid-template-columns: auto 1fr;
    gap: 0.4rem 1.6rem;
  }
}
.page-university-class .voice .professor .professorImage {
  width: 28rem;
  height: 28rem;
  grid-row: 1/span 3;
}
@media (max-width: 768px) {
  .page-university-class .voice .professor .professorImage {
    width: 10rem;
    height: 10rem;
    grid-row: 1/span 2;
  }
}
.page-university-class .voice .professor .professorTextRole {
  color: #000;
  font-size: 1.8rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 160%;
}
@media (max-width: 768px) {
  .page-university-class .voice .professor .professorTextRole {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.page-university-class .voice .professor .professorTextName {
  color: #000;
  font-size: 3.2rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 160%;
}
@media (max-width: 768px) {
  .page-university-class .voice .professor .professorTextName {
    font-size: 2.4rem;
    margin-bottom: 2rem;
  }
}
.page-university-class .voice .professor .professorTextComment {
  color: var(--color-text);
  font-size: 1.6rem;
  font-family: Noto Sans JP;
  line-height: 180%;
}
@media (max-width: 768px) {
  .page-university-class .voice .professor .professorTextComment {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    grid-column: 1/span 2;
  }
}
.page-university-class .voice .students {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6rem;
  margin-top: 10rem;
}
@media (max-width: 768px) {
  .page-university-class .voice .students {
    grid-template-columns: 1fr;
    margin-top: 6rem;
    gap: 4rem;
  }
}
.page-university-class .voice .student .studentHead {
  color: #000;
  font-size: 1.8rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 160%;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .page-university-class .voice .student .studentHead {
    margin-bottom: 1.4rem;
  }
}
.page-university-class .voice .student .studentComment {
  color: var(--color-text);
  font-size: 1.4rem;
  font-family: Noto Sans JP;
  line-height: 160%;
}
.page-university-class .form .hero {
  height: 28.4rem;
  flex-shrink: 0;
  color: #fff;
  text-align: center;
  font-size: 3.6rem;
  font-family: Noto Sans JP;
  font-weight: 700;
  line-height: 140%;
  display: grid;
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), url(./../images/university/class/header.webp);
  background-size: cover;
}
@media (max-width: 768px) {
  .page-university-class .form .hero {
    height: 16rem;
    font-size: 2.4rem;
  }
}
.page-university-class .form .description {
  color: #000;
  text-align: center;
  font-size: 1.6rem;
  font-family: Noto Sans JP;
  line-height: 160%;
  margin: 8rem auto;
}
@media (max-width: 768px) {
  .page-university-class .form .description {
    font-size: 1.4rem;
    margin: 4rem 1.6rem;
  }
}
.page-university-class .form .formWrapper {
  margin: 4rem auto;
  width: 72rem;
  padding: 4rem;
  box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.25);
  border-radius: 0.8rem;
}
@media (max-width: 768px) {
  .page-university-class .form .formWrapper {
    width: 34.3rem;
    box-sizing: border-box;
    padding: 3.2rem 1.6rem;
  }
}
.page-university-class .form .item {
  margin-bottom: 3.2rem;
}
.page-university-class .form .name {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  color: #000000;
  margin-bottom: 1.6rem;
  display: flex;
  align-items: center;
}
.page-university-class .form .name.require::after {
  content: "必須";
  display: inline-block;
  background-color: var(--color-primary);
  color: #ffffff;
  padding: 0.3rem 0.6rem;
  font-size: 1.2rem;
  border-radius: 0.4rem;
  font-weight: bold;
  margin-left: 1.2rem;
}
.page-university-class .form .input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  padding: 1.2rem 1.6rem;
  box-sizing: border-box;
  font-size: 1.4rem;
  color: #000000;
  background: #fafafa;
  border: 0.1rem solid #ddd;
  border-radius: 0.8rem;
  outline: none;
}
.page-university-class .form .input:focus {
  border-color: #000;
}
.page-university-class .form .input.half {
  width: 50%;
}
@media (max-width: 768px) {
  .page-university-class .form .input.half {
    width: 100%;
  }
}
.page-university-class .form .buttonArea {
  margin-top: 4rem;
  display: grid;
  justify-items: center;
  align-items: center;
}
.page-university-class .form .buttonArea input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  padding: 1.2rem 5rem;
  border: none;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  background: #000;
}
.page-university-class .form .buttonArea input:hover {
  opacity: 0.8;
}
.page-university-class .form .wpcf7-not-valid-tip {
  margin-top: 0.8rem;
  font-size: 1.2rem;
}
.page-university-class .form .wpcf7-response-output {
  padding: 2.4rem;
}

.page-story .inner {
  max-width: 110rem;
}
.page-story .hero {
  height: 40rem;
  background-image: url(./../images/story/hero_background.webp);
  background-position: center center;
  background-size: cover;
  display: grid;
  justify-content: center;
  align-content: center;
  gap: 2.4rem;
}
@media (max-width: 768px) {
  .page-story .hero {
    height: auto;
    padding: 4rem 0;
  }
}
.page-story .hero .hero_title {
  height: 16rem;
  display: block;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .page-story .hero .hero_title {
    height: 8rem;
  }
}
.page-story .hero .hero_description {
  font-size: 2.4rem;
  color: #fff;
  text-align: center;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .page-story .hero .hero_description {
    font-size: 1.6rem;
  }
}
.page-story section {
  padding: 6rem;
}
@media (max-width: 768px) {
  .page-story section {
    padding: 4rem 0;
  }
}
.page-story section.gray {
  background-color: #e6e6e6;
}
.page-story section.yellow {
  background-color: rgba(253, 197, 90, 0.2);
}
.page-story .back_link {
  color: var(--color-text);
  text-decoration: none;
}
.page-story .back_link:hover {
  text-decoration: underline;
}
.page-story article h1 {
  font-size: 6rem;
  font-weight: 700;
  margin: 2.4rem 0 2.4rem;
  color: var(--color-accent);
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%), var(--color-secondary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .page-story article h1 {
    font-size: 2.8rem;
  }
}
.page-story .student {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4rem;
}
@media (max-width: 768px) {
  .page-story .student {
    gap: 2rem;
    align-items: center;
  }
}
.page-story .student_icon {
  width: 13.6rem;
  display: grid;
  justify-items: center;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
}
@media (max-width: 768px) {
  .page-story .student_icon {
    width: 4.8rem;
  }
}
.page-story .student_icon_image {
  width: 13.6rem;
  height: 13.6rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 100%;
  border: 0.4rem solid var(--color-accent);
}
@media (max-width: 768px) {
  .page-story .student_icon_image {
    width: 4.8rem;
    height: 4.8rem;
    border: 0.2rem solid var(--color-accent);
  }
}
.page-story .student_icon_name {
  font-size: 1.4rem;
}
@media (max-width: 768px) {
  .page-story .student_icon_name {
    font-size: 1.2rem;
  }
}
.page-story .student_info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.4rem;
  align-items: center;
  align-content: center;
}
@media (max-width: 768px) {
  .page-story .student_info {
    gap: 1.6rem;
    grid-template-columns: 1fr;
  }
}
.page-story .student_info_item {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 2rem;
  font-size: 1.6rem;
  align-items: center;
}
@media (max-width: 768px) {
  .page-story .student_info_item {
    grid-template-columns: 6rem 1fr;
    font-size: 1.2rem;
  }
}
.page-story .student_info_item_key {
  display: inline-block;
  padding: 0.6rem;
  width: 10rem;
  background-color: #e6e6e6;
  color: var(--color-text);
  text-align: center;
  border-radius: 4rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-story .student_info_item_key {
    padding: 0.4rem;
    width: 6rem;
  }
}
.page-story .reasonArea {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 4rem;
  border-radius: 2.4rem;
  background-color: rgba(253, 197, 90, 0.2);
  margin-top: 4rem;
  align-items: center;
}
@media (max-width: 768px) {
  .page-story .reasonArea {
    grid-template-columns: 1fr;
    padding: 2.4rem;
    gap: 4rem;
  }
}
.page-story .axis {
  display: grid;
  gap: 2.4rem;
}
@media (max-width: 768px) {
  .page-story .axis {
    gap: 1.6rem;
  }
}
.page-story .axis_head {
  font-size: 2rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  .page-story .axis_head {
    font-size: 1.6rem;
  }
}
.page-story .axis_order_1 {
  display: grid;
  justify-content: start;
  align-items: center;
  grid-template-columns: auto auto;
  gap: 2.2rem;
  font-size: 4rem;
  font-weight: bold;
}
.page-story .axis_order_1::before {
  content: "1";
  display: grid;
  width: 9.6rem;
  height: 9.6rem;
  justify-content: center;
  align-items: center;
  color: var(--color-text);
  font-size: 6rem;
  font-weight: bold;
  background-color: #fff;
  border-radius: 10rem;
}
@media (max-width: 768px) {
  .page-story .axis_order_1 {
    gap: 2.2rem;
    font-size: 2.2rem;
  }
  .page-story .axis_order_1::before {
    width: 4rem;
    height: 4rem;
    font-size: 2.2rem;
  }
}
.page-story .axis_order_2 {
  display: grid;
  justify-content: start;
  align-items: center;
  grid-template-columns: auto auto;
  gap: 4rem;
  font-size: 3rem;
  font-weight: bold;
}
.page-story .axis_order_2::before {
  content: "2";
  display: grid;
  width: 7.6rem;
  height: 7.6rem;
  justify-content: center;
  align-items: center;
  color: var(--color-text);
  font-size: 4rem;
  font-weight: bold;
  background-color: #fff;
  border-radius: 10rem;
}
@media (max-width: 768px) {
  .page-story .axis_order_2 {
    gap: 2.2rem;
    font-size: 2.2rem;
  }
  .page-story .axis_order_2::before {
    width: 4rem;
    height: 4rem;
    font-size: 2.2rem;
  }
}
.page-story .reason {
  display: grid;
  gap: 4rem;
  align-content: start;
}
@media (max-width: 768px) {
  .page-story .reason {
    gap: 1.6rem;
  }
}
.page-story .reason_head {
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-story .reason_head {
    font-size: 1.6rem;
  }
}
.page-story .reason_body {
  font-size: 1.6rem;
  font-style: normal;
  line-height: 180%; /* 2.88rem */
}
@media (max-width: 768px) {
  .page-story .reason_body {
    font-size: 1.4rem;
  }
}
.page-story .difficultiesArea {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8rem;
  align-items: center;
}
@media (max-width: 768px) {
  .page-story .difficultiesArea {
    gap: 2.4rem;
    grid-template-columns: 1fr;
  }
}
.page-story .difficulties {
  display: grid;
  gap: 2.8rem;
}
@media (max-width: 768px) {
  .page-story .difficulties {
    gap: 1.4rem;
  }
}
.page-story .difficulties_head {
  color: #8f8f8f;
  font-size: 1.2rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-story .difficulties_head {
    line-height: 1.8;
  }
}
.page-story .difficulties_lead {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 180%;
  color: var(--color-secondary);
}
@media (max-width: 768px) {
  .page-story .difficulties_lead {
    font-size: 2.2rem;
  }
}
.page-story .difficulties_body {
  color: var(--color-text);
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 180%;
}
@media (max-width: 768px) {
  .page-story .difficulties_body {
    font-size: 1.4rem;
  }
}
.page-story .image1 {
  width: 48rem;
  height: 48rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .page-story .image1 {
    width: 100%;
    height: 32rem;
  }
}
.page-story .questions {
  margin-top: 4rem;
  display: grid;
  gap: 4rem;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
  .page-story .questions {
    margin-top: 2.4rem;
    gap: 2.4rem;
    grid-template-columns: 1fr;
  }
}
.page-story .question {
  padding: 4rem;
  display: grid;
  gap: 2.4rem;
  background-color: #fff;
  align-content: start;
}
@media (max-width: 768px) {
  .page-story .question {
    padding: 2.4rem 1.6rem;
  }
}
.page-story .question_head {
  color: #000;
  font-size: 2rem;
  font-weight: bold;
  line-height: 140%;
}
@media (max-width: 768px) {
  .page-story .question_head {
    font-size: 1.6rem;
  }
}
.page-story .question_body {
  color: var(--color-text);
  font-size: 1.4rem;
  font-style: bold;
  line-height: 180%;
}
@media (max-width: 768px) {
  .page-story .question_body {
    font-size: 1.2rem;
  }
}
.page-story .adviser {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4rem;
  align-items: center;
  max-width: 900px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .page-story .adviser {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
.page-story .adviser_icon {
  width: 24.6rem;
  height: 24.6rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .page-story .adviser_icon {
    width: 16rem;
    height: 16rem;
  }
}
.page-story .adviser_text {
  display: grid;
  gap: 3.2rem;
}
.page-story .adviser_head {
  font-size: 3rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-story .adviser_head {
    font-size: 2.4rem;
    text-align: center;
  }
}
.page-story .adviser_body {
  font-size: 1.4rem;
  line-height: 180%;
}
@media (max-width: 768px) {
  .page-story .adviser_body {
    font-size: 1.3rem;
  }
}
.page-story .conversion_hero {
  height: 68rem;
  background-image: url(./../images/story/conversion_background.webp);
  background-position: center center;
  background-size: cover;
  position: relative;
}
@media (max-width: 768px) {
  .page-story .conversion_hero {
    height: auto;
    background-position: 60%;
  }
  .page-story .conversion_hero .inner {
    width: 100%;
  }
}
.page-story .conversion_title_area {
  height: 68rem;
  background-color: rgba(0, 20, 70, 0.4);
  display: inline-block;
  padding: 8rem;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .page-story .conversion_title_area {
    padding: 3.2rem 1.6rem;
    height: auto;
  }
}
.page-story .conversion_title {
  height: 52rem;
  display: block;
}
@media (max-width: 768px) {
  .page-story .conversion_title {
    height: 30rem;
  }
}
.page-story .conversion_content {
  padding: 6rem;
}
@media (max-width: 768px) {
  .page-story .conversion_content {
    padding: 2.4rem 0;
  }
}
.page-story .conversion_head {
  margin: 0 auto 6rem;
  display: block;
  height: 11.1rem;
}
@media (max-width: 768px) {
  .page-story .conversion_head {
    height: auto;
    width: 100%;
    margin: 0 auto 3.2rem;
  }
}
.page-story .conversion_points {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem;
}
@media (max-width: 768px) {
  .page-story .conversion_points {
    grid-template-columns: 1fr;
  }
}
.page-story .conversion_point {
  display: grid;
  gap: 2rem;
}
.page-story .conversion_point_head {
  height: 9.7rem;
}
.page-story .conversion_point_body {
  line-height: 1.6;
}
@media (max-width: 768px) {
  .page-story .conversion_point_body {
    font-size: 1.2rem;
  }
}
.page-story .conversion_button_area {
  display: grid;
  justify-content: center;
  align-items: center;
}
.page-story .registration-button {
  display: block;
  font-style: normal;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 2.5rem;
  text-align: center;
  color: #ffffff;
  padding: 2rem 6rem;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%), var(--color-primary);
  border-radius: 16.5rem;
  margin-top: 3rem;
  cursor: pointer;
  text-decoration: none;
}
.page-story .registration-button:hover {
  filter: brightness(0.9);
}
.page-story .registration-button:disabled {
  background: #bbb;
}
.page-story .storyItems_head {
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .page-story .storyItems_head {
    font-size: 2.4rem;
  }
}
.page-story .storyItems {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2.4rem;
}
@media (max-width: 768px) {
  .page-story .storyItems {
    grid-template-columns: 1fr;
  }
}
.page-story .storyItem {
  text-decoration: none;
  color: var(--color-text);
  display: grid;
  grid-template-columns: auto 1fr;
  padding: 2.4rem;
  border-radius: 0.8rem;
  border: 0.1rem solid #ddd;
  background-color: #fff;
  gap: 1.6rem;
  transition: all 0.15s ease;
}
.page-story .storyItem:hover {
  background-color: #f4ecde;
}
.page-story .storyItem:hover .storyItem_infoLabel {
  background-color: #fff;
}
.page-story .storyItem_head {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
  grid-column: span 2;
}
@media (max-width: 768px) {
  .page-story .storyItem_head {
    font-size: 1.8rem;
  }
}
.page-story .storyItem_image {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  display: block;
}
.page-story .storyItem_info {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1rem;
  line-height: 1.4;
  font-weight: bold;
}
.page-story .storyItem_infoLabel {
  display: grid;
  justify-content: center;
  align-items: center;
  height: 2.4rem;
  width: 6rem;
  border-radius: 6rem;
  background-color: #efefef;
  color: var(--color-text);
}

.page-story-archive .storyListItems {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  margin: 8rem 0;
}
@media (max-width: 768px) {
  .page-story-archive .storyListItems {
    grid-template-columns: 1fr;
    gap: 3.2rem;
    margin: 3rem 0;
  }
}
.page-story-archive .storyListItem {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3.2rem;
  text-decoration: none;
}
@media (max-width: 768px) {
  .page-story-archive .storyListItem {
    gap: 2.4rem;
  }
}
.page-story-archive .storyListItem_icon {
  width: 20rem;
  height: 20rem;
  border-radius: 20rem;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .page-story-archive .storyListItem_icon {
    width: 10rem;
    height: 10rem;
    border-radius: 10rem;
  }
}
.page-story-archive .storyListItem_text {
  display: grid;
  justify-items: start;
  align-items: center;
  align-content: center;
  gap: 1.6rem;
}
@media (max-width: 768px) {
  .page-story-archive .storyListItem_text {
    gap: 1.2rem;
  }
}
.page-story-archive .storyListItem_head {
  font-size: 1.4rem;
  color: #666;
}
@media (max-width: 768px) {
  .page-story-archive .storyListItem_head {
    font-size: 1.2rem;
  }
}
.page-story-archive .storyListItem_title {
  font-size: 2.6rem;
  font-weight: bold;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%), var(--color-secondary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-decoration: none;
  line-height: 1.4;
}
.page-story-archive .storyListItem_title:hover {
  opacity: 0.8;
}
@media (max-width: 768px) {
  .page-story-archive .storyListItem_title {
    font-size: 1.8rem;
  }
}
.page-story-archive .storyListItem_button {
  display: grid;
  justify-content: center;
  align-items: center;
  padding: 1.2rem 2.4rem;
  border-radius: 4rem;
  background-color: var(--color-text);
  color: #fff;
  text-decoration: none;
  line-height: 1;
}
.page-story-archive .storyListItem_button:hover {
  opacity: 0.8;
}

body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  background-color: #f2f2f2;
}

.wrapper {
  min-width: 128rem;
  width: 100%;
}
@media (max-width: 768px) {
  .wrapper {
    min-width: auto;
    padding-top: 4.8rem;
  }
}

.content {
  min-height: calc(100vh - 30.4rem);
  padding-bottom: 6.4rem;
}
@media (max-width: 768px) {
  .content {
    padding-top: 4.8rem;
    padding-bottom: 4rem;
  }
}

.inner {
  width: calc(100% - 7.2rem);
  max-width: 120rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner {
    width: calc(100% - 3.2rem);
  }
}

img.fadeIn {
  opacity: 0;
  transition: opacity 0.5s;
}

img.fadeIn.lazyloaded {
  opacity: 1;
}

.js-slider {
  opacity: 0;
  transition: opacity 0.3s;
}
.js-slider.shown {
  opacity: 1;
}

.front-header {
  overflow: hidden;
}
.front-header .topBanners {
  margin-top: 1.6rem;
  display: block;
}
.front-header .topBanner {
  display: inline-block;
  width: 38rem;
  height: 21.3rem;
  border-radius: 0.8rem;
  overflow: hidden;
  position: relative;
  outline: none;
}
@media (max-width: 768px) {
  .front-header .topBanner {
    width: calc(100vw - 3.2rem);
    height: calc((100vw - 3.2rem) / 1200 * 630);
  }
}
.front-header .topBanner + .topBanner {
  margin-left: 2rem;
}
.front-header .topBannerImage {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
}
.front-header .topBannerTitle {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  padding: 1.2rem;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  font-weight: bold;
  line-height: 1.4;
  box-sizing: border-box;
  width: 100%;
}
@media (max-width: 768px) {
  .front-header .topBannerTitle {
    padding: 0.8rem;
    font-size: 1.4rem;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

.front-recommend {
  margin-top: 8rem;
  padding-bottom: 6rem;
}
@media (max-width: 768px) {
  .front-recommend {
    margin-top: 4rem;
    padding-bottom: 3rem;
  }
}
.front-recommend .recommend-header {
  font-style: normal;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 3.3rem;
  text-align: center;
  margin: 4rem 0;
}
@media (max-width: 768px) {
  .front-recommend .recommend-header {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin: 2.4rem 0;
  }
}
.front-recommend .recommend-posts {
  position: relative;
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 4rem;
}
@media (max-width: 768px) {
  .front-recommend .recommend-posts {
    grid-template-columns: auto;
    gap: 2rem;
  }
}
.front-recommend .recommend-posts .background {
  position: absolute;
  left: 50%;
  top: 5rem;
}
.front-recommend .recommend-posts .background img {
  transform: translate(-50%);
  width: 100vw;
}

.post {
  display: grid;
  gap: 1.6rem;
}
@media (max-width: 768px) {
  .post {
    gap: 1.2rem;
  }
}
.post .post-thumbnail {
  position: relative;
  width: 100%;
  padding-top: 52.5%;
  border-radius: 0.4rem;
  display: block;
  overflow: hidden;
}
.post .post-thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.post .post-info {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
}
.post .post-category {
  font-style: normal;
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 140%;
  color: var(--color-text);
  border: 0.1rem solid var(--color-text);
  padding: 0.2rem 0.6rem;
  border-radius: 0.4rem;
  display: inline-block;
  text-decoration: none;
  margin-bottom: 0.4rem;
}
.post .post-category:hover {
  filter: brightness(1.05);
}
.post .post-date {
  font-style: normal;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 140%;
  color: #999;
}
.post .post-title {
  font-style: normal;
  font-weight: bold;
  font-size: 2rem;
  line-height: 140%;
  color: #000000;
  max-height: 2.8em;
  overflow: hidden;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post .post-title:hover {
  text-decoration: underline;
}
@media (max-width: 768px) {
  .post .post-title {
    font-size: 1.6rem;
  }
}

.front-recommend {
  margin-bottom: 4rem;
}

.columns-2 {
  display: grid;
  grid-template-columns: 1fr 28rem;
  gap: 4rem;
  padding-top: 4rem;
}
@media (max-width: 768px) {
  .columns-2 {
    grid-template-columns: 1fr;
    padding-top: 2rem;
  }
}

.main-grid {
  display: grid;
  gap: 6rem;
  align-content: flex-start;
  min-width: 0;
}
@media (max-width: 768px) {
  .main-grid {
    gap: 3.2rem;
  }
}

.post-list.post-list--single {
  background: #fff;
  padding: 2rem;
  border-radius: 0.4rem;
  border: 0.1rem solid #ddd;
}
.post-list.post-list--single .post-list-content {
  grid-template-columns: 1fr;
}
.post-list.post-list--single .post-list-head {
  font-size: 1.4rem;
  line-height: 2.4rem;
  margin-bottom: 2rem;
}
.post-list.post-list--single .post-mini {
  gap: 1.6rem;
}
.post-list.post-list--single .post-info {
  gap: 0.4rem;
}
.post-list.post-list--single .post-thumbnail {
  width: 8rem;
  height: 8rem;
}
.post-list.post-list--single .post-title {
  font-size: 1.3rem;
}

.post-list-head {
  font-style: normal;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 3.3rem;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .post-list-head {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 1.6rem;
  }
}

.post-list-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.4rem;
}
@media (max-width: 768px) {
  .post-list-content {
    grid-template-columns: 1fr;
  }
}

.post-mini {
  display: grid;
  gap: 2.4rem;
  grid-template-columns: auto 1fr;
}
.post-mini .post-thumbnail {
  height: 10rem;
  width: 10rem;
}
.post-mini .post-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.post-mini .post-info {
  display: grid;
  justify-items: flex-start;
  align-items: flex-start;
  gap: 0.8rem;
}
.post-mini .post-category {
  font-style: normal;
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 140%;
  color: var(--color-text);
  border: 0.1rem solid var(--color-text);
  padding: 0.2rem 0.6rem;
  border-radius: 0.4rem;
  display: inline-block;
  text-decoration: none;
  margin-bottom: 0.4rem;
}
.post-mini .post-category:hover {
  filter: brightness(1.05);
}
.post-mini .post-title {
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 140%;
  color: #000000;
  max-height: 2.8em;
  overflow: hidden;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-mini .post-title:hover {
  text-decoration: underline;
}
.post-mini .post-date {
  font-style: normal;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 140%;
  color: #999;
}

.post-list-button-area {
  display: grid;
  justify-content: center;
  align-items: center;
  margin: 3rem 0 0;
}
.post-list-button-area .post-list-button {
  border-radius: 12rem;
  height: 4rem;
  padding: 0 2.4rem;
  display: block;
  background: var(--color-text);
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.9rem;
  display: flex;
  align-items: center;
  text-align: center;
  color: #ffffff;
  text-decoration: none;
}
.post-list-button-area .post-list-button:hover {
  background: var(--color-text-hover);
}

.banner img {
  width: 100%;
}
.banner:hover {
  filter: brightness(1.1);
}

.category-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
}
@media (max-width: 768px) {
  .category-links {
    gap: 1.6rem;
  }
}
.category-links .category-link {
  position: relative;
  text-decoration: none;
  display: grid;
  justify-content: center;
  align-content: center;
  height: 12rem;
  font-style: normal;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 140%;
  text-align: center;
  color: #ffffff;
  border-radius: 0.4rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  .category-links .category-link {
    height: 6rem;
    font-size: 1.6rem;
  }
}
.category-links .category-link::after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-size: cover;
  transition: all 0.1s ease-out;
}
.category-links .category-link:hover::after {
  transform: scale(1.1);
}
.category-links .category-link.category-know-jobs::after {
  background-image: url("./../images/category/category-link-1.webp");
}
.category-links .category-link.category-job-hunting-knowledges::after {
  background-image: url("./../images/category/category-link-2.webp");
}
.category-links .category-link.category-research::after {
  background-image: url("./../images/category/category-link-3.webp");
}
.category-links .category-link.category-cerificate-other::after {
  background-image: url("./../images/category/category-link-4.webp");
}

.socials {
  display: grid;
  gap: 3rem;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
  .socials {
    grid-template-columns: 1fr;
  }
}
.socials .socials-links {
  display: grid;
  gap: 3rem;
  align-content: flex-start;
}
@media (max-width: 768px) {
  .socials .socials-links {
    gap: 1.6rem;
  }
}
.socials .socials-link {
  display: grid;
  justify-content: center;
  align-content: center;
  border-radius: 0.8rem;
  border: 0.4rem solid #000;
  width: 100%;
  height: 8rem;
  color: #000;
  text-decoration: none;
  font-style: normal;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 140%;
}
@media (max-width: 768px) {
  .socials .socials-link {
    height: 4.8rem;
    font-size: 1.8rem;
  }
}
.socials .socials-link.twitter {
  border-color: #1da1f2;
  color: #1da1f2;
}
.socials .socials-link.instagram {
  border-color: #c13584;
  color: #c13584;
}
.socials .socials-link:hover {
  filter: brightness(1.2);
}

.loginPanel {
  background: #ffffff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  padding: 3.2rem;
}
.loginPanel .title {
  font-style: normal;
  font-weight: bold;
  font-size: 1.7rem;
  line-height: 1;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  .loginPanel .title {
    font-size: 2rem;
    line-height: 2.4rem;
  }
}
.loginPanel .input {
  margin-bottom: 1.6rem;
}
.loginPanel .input h6 {
  font-style: normal;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.9rem;
  color: #999999;
  margin-bottom: 0.6rem;
}
.loginPanel .input input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-style: normal;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.6rem;
  padding: 0.6rem 1.2rem;
  background: #f2f2f2;
  border: 0.1rem solid #c4c4c4;
  box-sizing: border-box;
  border-radius: 0.4rem;
  width: 100%;
}
.loginPanel .submit {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  border: none;
  background: var(--color-text);
  border-radius: 12rem;
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.9rem;
  text-align: center;
  color: #ffffff;
  padding: 1rem;
  cursor: pointer;
}
.loginPanel .submit:hover {
  background-color: var(--color-text-hover);
}
.loginPanel .forget-link-area {
  text-align: center;
  margin: 1.6rem 0;
}
.loginPanel .forget-link-area .forget-link {
  font-style: normal;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.6rem;
  color: #999999;
  text-decoration: none;
}
.loginPanel .forget-link-area .forget-link:hover {
  text-decoration: underline;
}
.loginPanel .border {
  height: 0.1rem;
  background-color: #c4c4c4;
  margin: 2.4rem 0;
}
.loginPanel .registration-merit {
  height: auto;
  width: 100%;
}
.loginPanel .registration-button {
  display: block;
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 2.5rem;
  text-align: center;
  color: #ffffff;
  padding: 1.2rem;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%), var(--color-primary);
  border-radius: 16.5rem;
  margin-top: 3rem;
  cursor: pointer;
  text-decoration: none;
}
.loginPanel .registration-button:hover {
  filter: brightness(0.9);
}
.loginPanel .registration-button:disabled {
  background: #bbb;
}
.loginPanel .menu_btn {
  display: block;
  color: var(--color-text);
  text-decoration: none;
  margin: 1.6rem 0;
  font-size: 1.3rem;
}
.loginPanel .menu_btn:hover {
  text-decoration: underline;
  color: #666;
}
.loginPanel .menu_btn.logout {
  text-align: center;
  font-size: 1rem;
  margin-top: 2.4rem;
}
.loginPanel .loginUser {
  border-bottom: 0.1rem solid #ddd;
  padding-bottom: 2.4rem;
  margin-bottom: 2.4rem;
}
.loginPanel .loginStatusLabel {
  display: inline-block;
  padding: 0.3rem 0.6rem;
  color: white;
  background: var(--color-text);
  border-radius: 0.4rem;
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
}
.loginPanel .loginUserName {
  font-size: 1.3rem;
  line-height: 1.4;
}
.loginPanel .loginUserName span {
  font-weight: bold;
}

.page-about {
  background-color: #fff;
}
.page-about .about-full-image {
  width: 100%;
}
@media (max-width: 768px) {
  .page-about .about-full-image {
    height: 80vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.page-about .about-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 8rem;
  width: calc(100% - 8rem);
  max-width: 120rem;
  margin: 8rem auto 12rem;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 180%;
}
@media (max-width: 768px) {
  .page-about .about-inner {
    margin: 4rem auto;
    gap: 4rem;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .page-about .about-section-title {
    width: 100%;
  }
}
.page-about .about-section-graph {
  margin-top: 3rem;
  width: 80%;
}
@media (max-width: 768px) {
  .page-about .about-section-graph {
    width: 100%;
  }
}
.page-about + footer {
  margin-top: 0;
}

.button-area {
  display: grid;
  justify-content: center;
  align-items: center;
}

.outline-button {
  border: 0.2rem solid var(--color-text);
  color: var(--color-text);
  border-radius: 12rem;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  padding: 1.6rem 4rem;
  display: inline-block;
  margin-top: 4rem;
  line-height: 1;
}
.outline-button:hover {
  background-color: var(--color-text);
  color: #fff;
}

.aboutFooter {
  padding-bottom: 6rem;
}

.about-footer-text {
  text-align: center;
  margin: 0 auto;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 250%;
  padding: 6rem 4rem;
  background-color: #f5f5f5;
  max-width: 80rem;
  width: 100%;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .about-footer-text {
    width: auto;
    font-size: 1.4rem;
    grid-template-columns: 1fr;
    width: calc(100% - 12.8rem);
  }
}

.about-footer-logo {
  margin-top: 3rem;
  height: 5rem;
}

.archive .hero {
  display: grid;
  justify-content: center;
  align-items: center;
  justify-items: center;
  gap: 3.2rem;
  background-image: url(./../images/archive/archive_background.webp);
  background-position: center center;
  background-size: cover;
  color: #fff;
  padding: 8rem 4rem;
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  .archive .hero {
    margin-bottom: 3rem;
    padding: 4rem;
    gap: 2.4rem;
  }
}
.archive .hero h2 {
  font-weight: bold;
  font-size: 4.4rem;
}
@media (max-width: 768px) {
  .archive .hero h2 {
    font-size: 2.6rem;
  }
}
.archive .hero .description {
  text-align: center;
  font-size: 1.6rem;
  line-height: 3.2rem;
}
@media (max-width: 768px) {
  .archive .hero .description {
    font-size: 1.4rem;
    line-height: 2.6rem;
  }
}

.post-list-normal {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem;
}
@media (max-width: 768px) {
  .post-list-normal {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}

.m-pagenation {
  text-align: center;
  margin-top: 4rem;
}
.m-pagenation li {
  display: inline-block;
}
.m-pagenation .pagenation-item {
  display: inline-flex;
  height: 4rem;
  width: 4rem;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #ddd;
  font-weight: bold;
  border-radius: 10rem;
  text-decoration: none;
  margin: 0 0.4rem;
}
.m-pagenation .pagenation-item.current {
  background-color: var(--color-text);
  color: #fff;
}
.m-pagenation a:hover {
  background-color: #555;
  color: #fff;
}

.page-single {
  color: rgb(49, 49, 49);
}
.page-single .article-top-banner {
  margin-bottom: -1.6rem;
  display: none;
}
.page-single .article-top-banner img {
  width: 100%;
}
@media (max-width: 768px) {
  .page-single .article-top-banner {
    display: block;
  }
}
.page-single article {
  padding: 4rem;
  border: 0.1rem solid #ddd;
  background-color: #fff;
  border-radius: 0.2rem;
  font-family: "helvetica neue", "YuGothic";
  font-size: 1.6rem;
  color: #424242;
  line-height: 1.8;
  min-width: 0;
}
@media (max-width: 768px) {
  .page-single article {
    padding: 1.6rem;
    font-size: 1.4rem;
  }
}
.page-single article .breadCrumbs {
  font-size: 1.2rem;
  margin-top: -1rem;
  margin-bottom: 1rem;
  color: #bbb;
}
@media (max-width: 768px) {
  .page-single article .breadCrumbs {
    margin-top: 0rem;
    margin-bottom: -1.6rem;
  }
}
.page-single article .title {
  font-weight: 700;
  font-size: 3.2rem;
  margin: 0 0 2rem;
  text-align: justify;
  font-feature-settings: "palt";
}
@media (max-width: 768px) {
  .page-single article .title {
    font-size: 2.2rem;
    margin: 2rem 0;
  }
}
.page-single article .single-info {
  display: grid;
  justify-content: space-between;
  gap: 0.8rem;
  grid-template-columns: auto auto;
}
.page-single article .single-category {
  font-style: normal;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 140%;
  background: var(--color-text);
  color: #fff;
  padding: 0.4rem 0.8rem;
  border-radius: 0.4rem;
  display: inline-block;
  margin-bottom: 0.4rem;
}
.page-single article .single-category:hover {
  filter: brightness(1.05);
}
.page-single article .single-date {
  font-style: normal;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 140%;
  color: #999;
}
.page-single article .single-thumbnail {
  margin: 4rem -4rem;
  width: calc(100% + 8rem);
}
@media (max-width: 768px) {
  .page-single article .single-thumbnail {
    margin: 2rem -1.6rem;
    width: calc(100% + 3.2rem);
  }
}
.page-single article .single-thumbnail .single-thumbnail-inner {
  position: relative;
  padding-top: 52.5%;
  width: 100%;
}
.page-single article .single-thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0;
}
.page-single article > ul {
  border: solid 0.1rem #cecece;
  padding: 0 2.4rem;
  margin-bottom: 8rem;
}
.page-single article img {
  display: inline-block;
  margin: 2em 0;
  height: auto;
  max-width: 100%;
}
.page-single article h2 {
  font-weight: bold;
  font-size: 3rem;
  color: #353535;
  padding-bottom: 1.6rem;
  margin: 6rem 0 4rem;
  position: relative;
}
.page-single article h2::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  bottom: 1rem;
  left: 0;
  height: 0.3rem;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%), #c4c4c4;
}
@media (max-width: 768px) {
  .page-single article h2 {
    font-size: 2.2rem;
    margin: 3rem 0 2rem;
    padding-bottom: 0.8rem;
  }
}
.page-single article h3 {
  background-color: #efeef3;
  font-weight: bold;
  border-radius: 0.4rem;
  padding: 2rem;
  font-size: 2.2rem;
  margin: 4rem 0;
}
@media (max-width: 768px) {
  .page-single article h3 {
    border-radius: 0.4rem;
    padding: 1.2rem;
    font-size: 1.8rem;
    margin: 2rem 0;
  }
}
.page-single article h4 {
  border-left: 0.3rem solid var(--color-text);
  font-weight: bold;
  margin: 1em 0;
  font-size: 2.2rem;
  padding: 1.6rem;
  color: #353535;
}
@media (max-width: 768px) {
  .page-single article h4 {
    font-size: 1.6rem;
    padding: 1.2rem;
  }
}
.page-single article a {
  text-decoration: none;
  color: #6ba2d2;
  font-weight: bold;
}
.page-single article a:active {
  color: #568fc0;
}
.page-single article a:hover {
  color: #568fc0;
  text-decoration: underline;
}
.page-single article b,
.page-single article strong {
  font-weight: bold;
}
.page-single article #toc_container {
  background: #fafafa;
  border: 0.1rem solid #ddd;
  padding: 0rem;
  margin: 2rem auto 6rem;
  font-size: 95%;
  padding-top: 0rem;
  width: 100%;
  padding-bottom: 1.4rem;
  padding: 2.4rem;
  max-width: 50rem;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .page-single article #toc_container {
    width: 100%;
    padding: 1.6rem;
  }
}
.page-single article #toc_container span.toc_toggle {
  display: none;
}
.page-single article #toc_container li {
  padding: 0 2rem;
}
.page-single article #toc_container a {
  text-decoration: none;
  text-shadow: none;
  color: #828282;
  line-height: 2;
}
.page-single article #toc_container a:hover {
  text-decoration: underline;
}
.page-single article #toc_container p.toc_title {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.page-single article #toc_container .toc_title {
  color: var(--color-text);
}
.page-single article .linkcard {
  margin: 1em 0;
}
.page-single article .linkcard:hover .lkc-title-text {
  text-decoration: underline;
}
.page-single article .linkcard .lkc-internal-wrap,
.page-single article .linkcard .lkc-external-wrap {
  margin: 0;
  max-width: 100%;
  border: 0.1rem solid #ddd;
  border-radius: 0.8rem;
  overflow: hidden;
  background-color: #fff;
}
.page-single article .linkcard .lkc-card {
  position: relative;
  margin: 0;
  padding: 1.6rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  .page-single article .linkcard .lkc-card {
    padding: 1.2rem;
  }
}
.page-single article .linkcard .lkc-info {
  position: absolute;
  right: 1.6rem;
  bottom: 1.6rem;
  display: none !important;
}
.page-single article .linkcard .lkc-content {
  margin: 0;
  height: auto;
}
.page-single article .linkcard .lkc-thumbnail {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
}
.page-single article .linkcard .lkc-thumbnail-img {
  width: 15rem;
  height: 15rem;
  max-height: none;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .page-single article .linkcard .lkc-thumbnail-img {
    width: 9rem;
    height: 9rem;
  }
}
.page-single article .linkcard .lkc-title {
  margin-left: 15rem;
}
@media (max-width: 768px) {
  .page-single article .linkcard .lkc-title {
    margin-left: 9rem;
  }
}
.page-single article .linkcard .lkc-title-text {
  font-size: 1.8rem;
  line-height: 2.8rem;
  margin-bottom: 1.2rem;
  overflow: hidden;
  max-height: 5.2rem;
}
@media (max-width: 768px) {
  .page-single article .linkcard .lkc-title-text {
    font-size: 1.4rem;
    line-height: 2.2rem;
    margin-bottom: 0;
    max-height: 6.6rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.page-single article .linkcard .lkc-url {
  margin-left: 15rem;
  display: none;
}
.page-single article .linkcard .lkc-excerpt {
  margin-left: 15rem;
  font-size: 1.2rem;
  line-height: 2rem;
  height: 4rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 768px) {
  .page-single article .linkcard .lkc-excerpt {
    display: none;
  }
}
.page-single article .article-footer-image img {
  max-width: 50rem;
  display: block;
  margin: 2em auto;
  width: 100%;
}
.page-single article .article-footer-image img:hover {
  filter: brightness(1.1);
}
.page-single .addtoany_content {
  margin: 0 auto;
  margin-top: 3rem;
}
.page-single .addtoany_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.page-single .a2a_svg {
  width: 100% !important;
  height: 4rem !important;
}
.page-single .a2a_svg svg {
  height: 4rem !important;
}
.page-single .login-required {
  display: grid;
  justify-items: center;
  padding: 6rem 4rem;
  background-color: #fafafa;
  border-radius: 1.6rem;
  margin-top: 8rem;
  border: 0.2rem solid var(--color-accent);
}
@media (max-width: 768px) {
  .page-single .login-required {
    padding: 4rem 2.4rem;
  }
}
.page-single .login-required-icon {
  width: 8rem;
  margin: 0;
}
@media (max-width: 768px) {
  .page-single .login-required-icon {
    width: 6rem;
  }
}
.page-single .login-required-header {
  font-size: 2.4rem;
  margin-top: 2rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-single .login-required-header {
    font-size: 1.8rem;
  }
}
.page-single .login-required-actions {
  display: grid;
  gap: 1.6rem;
  justify-items: center;
}
.page-single .login-required-conversion-image {
  margin: 0;
  margin-top: 2rem;
}
.page-single .login-required-conversion {
  display: grid;
  justify-content: center;
  align-items: center;
  border-radius: 8rem;
  height: 6.4rem;
  padding: 0 8rem;
  color: #fff;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%);
  font-weight: bold;
  font-size: 1.8rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  cursor: pointer;
  transition: all 0.1s;
}
@media (max-width: 768px) {
  .page-single .login-required-conversion {
    padding: 0;
    width: 24rem;
    height: 4.8rem;
    font-size: 1.6rem;
  }
}
.page-single .login-required-conversion:hover {
  color: #fff;
  filter: brightness(1.1);
  text-decoration: none;
}
.page-single .login-required-granted {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.6rem;
  align-items: center;
  align-content: center;
  padding: 1.6rem 2.4rem;
  background-color: #e3f1f9;
  border-radius: 0.4rem;
  margin: 6rem 0 2rem;
}
@media (max-width: 768px) {
  .page-single .login-required-granted {
    padding: 1.2rem 1.6rem;
  }
  .page-single .login-required-granted p {
    font-size: 1.2rem;
  }
}
.page-single .login-required-granted-icon {
  width: 6rem;
  margin: 0;
}
@media (max-width: 768px) {
  .page-single .login-required-granted-icon {
    width: 4rem;
  }
}
.page-single .login-required-granted-header {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--color-secondary);
}
@media (max-width: 768px) {
  .page-single .login-required-granted-header {
    font-size: 1.4rem;
  }
}

aside {
  overflow: visible;
}
aside .aside-inner {
  display: grid;
  gap: 3rem;
  position: sticky;
  top: 0;
}
@media (max-width: 768px) {
  aside {
    display: none;
  }
}
aside .side_baner {
  width: 100%;
}
aside .side_baner:hover {
  filter: brightness(1.1);
}

.page-login .panel {
  width: calc(100% - 7.2rem);
  max-width: 80rem;
  margin: 8rem auto;
  background: #ffffff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
}
@media (max-width: 768px) {
  .page-login .panel {
    margin: 4rem auto;
    width: calc(100% - 3.2rem);
  }
}
.page-login .panel.announce {
  margin: 4rem auto;
  color: var(--color-text);
  background-color: #fff;
  padding: 4rem;
  margin-bottom: -4rem;
  font-size: 1.8rem;
  font-weight: bold;
  border: 0.4rem solid var(--color-text);
  line-height: 1.6;
}
@media (max-width: 768px) {
  .page-login .panel.announce {
    font-size: 1.4rem;
    margin: 1.6rem auto;
    padding: 1.6rem 2.4rem;
    margin-bottom: -2.8rem;
  }
}
.page-login .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
  .page-login .grid {
    grid-template-columns: 1fr;
  }
}
.page-login .cell {
  padding: 0 4rem;
  margin: 4rem 0;
}
@media (max-width: 768px) {
  .page-login .cell {
    padding: 2.4rem 2.4rem;
    margin: 0;
  }
}
.page-login .cell + .cell {
  border-left: 0.1rem solid #d8d8d8;
}
@media (max-width: 768px) {
  .page-login .cell + .cell {
    border-left: 0;
    border-top: 0.1rem solid #d8d8d8;
  }
}
.page-login .title {
  font-style: normal;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  .page-login .title {
    font-size: 1.6rem;
    line-height: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.page-login .input {
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  .page-login .input {
    margin-bottom: 2rem;
  }
}
.page-login .input h6 {
  font-style: normal;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.9rem;
  color: #999999;
  margin-bottom: 0.6rem;
}
.page-login .input input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  padding: 1.2rem 1.6rem;
  background: #f2f2f2;
  border: 0.1rem solid #c4c4c4;
  box-sizing: border-box;
  border-radius: 0.4rem;
  width: 100%;
}
@media (max-width: 768px) {
  .page-login .input input {
    padding: 0.8rem 1.6rem;
  }
}
.page-login .submit {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  border: none;
  background: var(--color-text);
  border-radius: 12rem;
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.9rem;
  text-align: center;
  color: #ffffff;
  padding: 1.6rem;
  cursor: pointer;
}
.page-login .submit:hover {
  background-color: var(--color-text-hover);
}
@media (max-width: 768px) {
  .page-login .submit {
    padding: 1.2rem;
  }
}
.page-login .forget-link-area {
  text-align: center;
  margin: 1.6rem 0;
}
@media (max-width: 768px) {
  .page-login .forget-link-area {
    margin: 1.6rem 0 0;
  }
}
.page-login .forget-link-area .forget-link {
  font-style: normal;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.6rem;
  color: #999999;
  text-decoration: none;
}
.page-login .forget-link-area .forget-link:hover {
  text-decoration: underline;
}
.page-login .registration-merit {
  height: auto;
  width: 90%;
  display: block;
  margin: 4.4rem auto;
}
.page-login .registration-button {
  display: block;
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 2.5rem;
  text-align: center;
  color: #ffffff;
  padding: 1.2rem;
  background: linear-gradient(90deg, var(--color-primary) 18%, var(--color-accent) 65%), var(--color-primary);
  border-radius: 16.5rem;
  margin-top: 3rem;
  cursor: pointer;
  text-decoration: none;
}
.page-login .registration-button:hover {
  filter: brightness(0.9);
}
.page-login .registration-button:disabled {
  background: #bbb;
}

.page-forget .panel {
  max-width: 72rem;
  width: 100%;
  margin: 4rem auto;
  background: #ffffff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  padding: 6rem;
}
@media (max-width: 768px) {
  .page-forget .panel {
    padding: 3.2rem;
    width: calc(100% - 3.2rem);
  }
}
.page-forget section {
  margin: 4rem;
}
@media (max-width: 768px) {
  .page-forget section {
    margin: 2rem 0;
  }
}
.page-forget .input-item {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.6rem;
  padding: 1.2rem 1.6rem;
  background: #f2f2f2;
  border: 0.1rem solid #c4c4c4;
  box-sizing: border-box;
  border-radius: 0.4rem;
}
.page-forget .input-item.full {
  width: 100%;
}
.page-forget .input-item.authorization_code {
  display: block;
  margin: 0 auto;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 1rem;
}
@media (max-width: 768px) {
  .page-forget .input-item.authorization_code {
    font-size: 1.6rem;
  }
}
.page-forget .button_area {
  display: grid;
  justify-content: center;
}
.page-forget .button-submit {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: var(--color-text);
  border-radius: 12rem;
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.9rem;
  text-align: center;
  color: #ffffff;
  padding: 1.6rem 4rem;
  cursor: pointer;
}
.page-forget .button-submit:hover {
  filter: brightness(0.9);
}
.page-forget .button-submit:disabled {
  opacity: 0.5;
}
.page-forget .button-login {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: transparent;
  border: 0.2rem solid var(--color-text);
  border-radius: 12rem;
  font-style: normal;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.9rem;
  text-align: center;
  color: var(--color-text);
  padding: 1.6rem 4rem;
  cursor: pointer;
  text-decoration: none;
}
.page-forget .button-login:hover {
  filter: brightness(0.9);
}
.page-forget .panelHead {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4rem;
}
.page-forget .description {
  text-align: center;
  line-height: 1.8;
  font-size: 1.4rem;
  color: #666;
  margin-bottom: 4rem;
}
.page-forget .input-item-description {
  font-size: 1.2rem;
  color: #666;
  margin-top: 1.2rem;
  line-height: 1.4;
}

.page-privacy {
  font-size: 1.4rem;
  line-height: 1.6;
}
.page-privacy .panel {
  width: 100%;
  margin: 0 auto;
  background: #ffffff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  padding: 6rem;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .page-privacy .panel {
    padding: 2.4rem;
  }
}
.page-privacy h1 {
  font-size: 2.4rem;
  font-weight: bold;
}
.page-privacy h2 {
  font-size: 2rem;
  font-weight: bold;
  margin: 4rem 0 2.4rem;
}
.page-privacy h3 {
  font-size: 1.4rem;
  margin: 1.2rem 0;
  text-indent: -2.5em;
}
.page-privacy .section {
  padding-left: 2.5em;
}
.page-privacy p {
  margin: 1.2rem 0;
}
.page-privacy ul {
  list-style: disc;
  padding-left: 2rem;
}
.page-privacy ol {
  list-style: decimal;
  padding-left: 2rem;
}
.page-privacy ol ol {
  list-style: lower-roman;
}
.page-privacy li {
  margin: 0.8rem 0;
}
.page-privacy a {
  color: var(--color-text);
  text-decoration: none;
}
.page-privacy a:hover {
  color: var(--color-text-hover);
  text-decoration: underline;
}

.page-company .panel {
  width: 100%;
  background: #ffffff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  padding: 6rem;
}
@media (max-width: 768px) {
  .page-company .panel {
    padding: 2.4rem;
  }
}
.page-company .company-grid {
  max-width: 80rem;
  margin: 0 auto;
  border: 0.2rem solid var(--color-text);
}
.page-company .company-row {
  display: grid;
  grid-template-columns: 20rem 1fr;
  line-height: 1.6;
  border-bottom: 0.1rem solid #ddd;
}
.page-company .company-row:last-child {
  border-bottom: none;
}
@media (max-width: 768px) {
  .page-company .company-row {
    grid-template-columns: 1fr;
  }
}
.page-company .company-row div {
  padding: 1.6rem;
}
.page-company .company-row div:nth-of-type(1) {
  background: var(--color-text);
  color: white;
  font-weight: bold;
}
@media (max-width: 768px) {
  .page-company .company-row div:nth-of-type(1) {
    padding: 0.8rem 1.6rem;
  }
}
.page-company .company-description {
  max-width: 80rem;
  margin: 0 auto;
  margin-bottom: 4rem;
}
.page-company .company-description h3 {
  font-size: 2.4rem;
  margin-bottom: 2.4rem;
  font-weight: bold;
}
.page-company .company-description p {
  font-size: 1.6rem;
  line-height: 1.8;
}
.page-company .contact-btn {
  display: grid;
  justify-content: center;
  align-items: center;
  width: 20rem;
  font-size: 1.6rem;
  color: var(--color-text);
  border-radius: 10rem;
  height: 4.8rem;
  border: 0.2rem solid var(--color-text);
  text-decoration: none;
  margin: 4rem auto 0;
  font-weight: bold;
}
.page-company .contact-btn:hover {
  background: var(--color-text);
  color: white;
}

.page-contact .panel {
  width: 100%;
  background: #ffffff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  padding: 6rem;
}
@media (max-width: 768px) {
  .page-contact .panel {
    padding: 2.4rem;
  }
}
.page-contact .contact-title {
  margin-bottom: 2.4rem;
  font-size: 2.4rem;
  font-weight: bold;
}
.page-contact .contact-description {
  line-height: 1.6;
}
.page-contact .cf7-wrapper {
  margin: 4rem 0;
}
.page-contact .cf7-item {
  margin: 4rem 0;
}
.page-contact .cf7-item br {
  display: none;
}
.page-contact .cf7-item label {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--color-text);
  margin-bottom: 0.8rem;
}
.page-contact .cf7-item label.required::after {
  display: inline-block;
  content: "必須";
  margin-left: 1.2rem;
  border-radius: 0.4rem;
  background: #f82633;
  padding: 0.6rem 0.8rem;
  font-size: 1.2rem;
  color: #fff;
}
.page-contact .cf7-item input {
  display: block;
  padding: 1.2rem;
  font-size: 1.6rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #f2f2f2;
  border: none;
  border-radius: 0.4rem;
  border: 0.1rem solid #c4c4c4;
  box-sizing: border-box;
  width: 100%;
  outline: none;
}
.page-contact .cf7-item input:focus {
  border-color: var(--color-text);
}
.page-contact .cf7-item textarea {
  display: block;
  padding: 1.2rem;
  font-size: 1.6rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #f2f2f2;
  border: none;
  border-radius: 0.4rem;
  border: 0.1rem solid #c4c4c4;
  width: 100%;
  box-sizing: border-box;
  outline: none;
}
.page-contact .cf7-item textarea:focus {
  border-color: var(--color-text);
}
.page-contact .cf7-item .wpcf7-not-valid-tip {
  margin-top: 0.6rem;
  font-weight: bold;
}
.page-contact .cf7-item .submit {
  width: 20rem;
  margin: 6rem auto 0;
  border-radius: 4rem;
  border: none;
  color: white;
  background: var(--color-text);
  cursor: pointer;
}
.page-contact .cf7-item .submit:hover {
  filter: brightness(0.9);
}
.page-contact .wpcf7-response-output {
  padding: 2.4rem !important;
  border-radius: 0.4rem;
}

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

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

.common-event-list-header {
  font-style: normal;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 3.3rem;
  margin-bottom: 3rem;
}

.common-event-list-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.4rem;
}
@media (max-width: 768px) {
  .common-event-list-grid {
    grid-template-columns: 1fr;
  }
}

.common-event-component {
  background-color: #fff;
  border: 0.1rem solid #d8d8d8;
  box-sizing: border-box;
  border-radius: 0.8rem;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  color: var(--color-text-hover);
  transition: all 0.1s ease;
}
.common-event-component:hover {
  filter: brightness(1.05);
}

.common-event-thumbnail-wrapper {
  width: 100%;
  padding-top: 20%;
  position: relative;
}

.common-event-thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.common-event-body {
  padding: 1.6rem 3.2rem;
}

.common-event-head {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  overflow: hidden;
  height: 2.8em;
}

.common-event-description {
  font-size: 1.4rem;
  line-height: 1.4;
  color: #666666;
  margin-top: 1.2rem;
  margin-bottom: 1.6rem;
  height: 2.8em;
  overflow: hidden;
}

.common-event-info {
  padding-top: 1.2rem;
  border-top: 0.1rem solid #d8d8d8;
  font-size: 1.4rem;
  color: #666;
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: flex-start;
  gap: 2.4rem;
}
.common-event-info .infoItem {
  display: grid;
  grid-template-columns: auto auto;
  justify-items: center;
  align-content: center;
  gap: 0.6rem;
}
.common-event-info .infoItem svg {
  height: 1.4rem;
}

.common-event-list-button-area {
  display: grid;
  justify-content: center;
  align-items: center;
  margin: 3rem 0 0;
}
.common-event-list-button-area .common-event-list-button {
  border-radius: 12rem;
  height: 4rem;
  padding: 0 2.4rem;
  display: block;
  background: var(--color-text);
  font-style: normal;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.9rem;
  display: flex;
  align-items: center;
  text-align: center;
  color: #ffffff;
  text-decoration: none;
}
.common-event-list-button-area .common-event-list-button:hover {
  background: var(--color-text-hover);
}

.youtube-wrapper {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}
.youtube-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
