html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dd,
figure,
blockquote {
  margin: 0;
}

ul,
ol {
  padding: 0;
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border-style: none;
}

article,
aside,
footer,
header,
nav,
section,
main,
figure,
figcaption {
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

button {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
}

[hidden] {
  display: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

input,
button,
textarea,
select {
  font: inherit;
  background-color: transparent;
  border-style: none;
  color: inherit;
}

html {
  overflow-x: hidden;
  font-size: 16px;
}
@media (max-width: 1279px) and (min-width: 769px) {
  html {
    font-size: 1.25vw;
  }
}
@media (max-width: 768px) and (min-width: 577px) {
  html {
    font-size: 2.0833333333vw;
  }
}
@media screen and (max-width: 576px) {
  html {
    font-size: 4.2666666667vw;
  }
}

body {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: #212122;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  background: #FFFFFF;
  word-break: break-all;
}

img {
  max-width: 100%;
  height: auto;
}

.js-fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition-delay: 0.4s;
}
.js-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100vw;
  z-index: 100;
  padding: 2rem 5.625rem;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .l-header {
    padding: 1.25rem 1.25rem;
  }
}
.l-header__inner {
  display: inline-flex;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
  border-radius: 31px;
  padding: 0.5rem 1.8125rem;
  gap: 1.875rem;
}
@media screen and (max-width: 768px) {
  .l-header__inner {
    display: flex;
    justify-content: space-between;
    background-color: transparent;
    backdrop-filter: none;
    border-radius: 0;
    padding: 0;
    width: 100%;
  }
}
.l-header__logo {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .l-header__logo {
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    border-radius: 31px;
    padding: 0.1875rem 0.875rem;
    position: relative;
    z-index: 101;
  }
}
.l-header__logo__link {
  display: block;
  transition: all 0.3s ease;
}
.l-header__logo__link:hover {
  opacity: 0.8;
}
.l-header__logo__image {
  display: block;
  width: 6.25rem;
}
@media screen and (max-width: 768px) {
  .l-header__logo__image {
    width: 6.25rem;
  }
}
.l-header__hamburger {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header__hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    background-color: #FBF3ED;
    border-radius: 50%;
    position: relative;
    z-index: 100;
    cursor: pointer;
  }
}
@media screen and (max-width: 768px) {
  .l-header__hamburger span {
    display: block;
    width: 1.3125rem;
    height: 2px;
    background-color: #E28000;
    position: absolute;
    transition: all 0.3s ease;
  }
  .l-header__hamburger span:nth-child(1) {
    top: 1.3125rem;
  }
  .l-header__hamburger span:nth-child(2) {
    display: none;
  }
  .l-header__hamburger span:nth-child(3) {
    bottom: 1.3125rem;
  }
}
@media screen and (max-width: 768px) {
  .l-header__hamburger.is-active {
    background-color: #FFFFFF;
    box-shadow: inset 0 0 0 1px #E28000;
  }
  .l-header__hamburger.is-active span {
    background-color: #E28000;
  }
  .l-header__hamburger.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(35deg);
    top: 1.125rem;
  }
  .l-header__hamburger.is-active span:nth-child(2) {
    opacity: 0;
  }
  .l-header__hamburger.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-35deg);
    bottom: 1.125rem;
  }
}
.l-header__nav {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .l-header__nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100dvh;
    background-color: #FFFFFF;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    padding: 5rem 1.25rem 1.25rem;
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .l-header__nav.is-open {
    display: flex;
    justify-content: flex-start;
  }
}
.l-header__menu {
  display: flex;
  gap: 1.875rem;
}
@media screen and (max-width: 768px) {
  .l-header__menu {
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
}
.l-header__menu__link {
  color: #212122;
  font-size: 1rem;
  transition: all 0.3s ease;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .l-header__menu__link {
    display: block;
    padding: 1.25rem 1rem 1.25rem 0;
    position: relative;
  }
}
.l-header__menu__link:hover {
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .l-header.is-scrolled {
    padding-top: 1rem;
  }
}
.l-header.is-active {
  background-color: #FFFFFF;
}

.l-footer {
  padding: 8.125rem 0 1.875rem;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 4.5rem 0 7.5rem;
  }
}
.l-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.l-footer__divider {
  width: 100%;
  border: none;
  border-top: 1px solid #212122;
  margin: 0 0 1rem 0;
}
.l-footer__logo {
  width: 6.25rem;
}
.l-footer__logo img {
  display: block;
  width: 100%;
}
.l-footer__privacy {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}
.l-footer__privacy:hover {
  text-decoration: underline;
}
.l-footer__copyright {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}

.l-main__inner {
  max-width: 68.75rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media screen and (min-width: 1280px) {
  .l-main__inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.l-main__inner--sm {
  max-width: 43.75rem;
}

.l-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(max(10%, 10rem), 1fr));
  gap: 0rem;
}
.l-grid__item > * {
  max-width: 100%;
}
.l-grid--2 {
  grid-template-columns: repeat(2, minmax(max(10%, 10rem), 1fr));
  gap: 4.25rem;
}
@media screen and (max-width: 768px) {
  .l-grid--2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}
.l-grid--3 {
  grid-template-columns: repeat(3, minmax(max(10%, 5rem), 1fr));
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .l-grid--3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.8125rem;
  }
}
.l-grid--4 {
  grid-template-columns: repeat(4, minmax(max(10%, 10rem), 1fr));
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .l-grid--4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.8125rem;
  }
}
@media screen and (max-width: 768px) {
  .l-grid--1-sp {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .l-grid--2-sp {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

.l-page__header {
  background-color: #F2F4F7;
  padding: 4.375rem 0;
}
.l-page__header__title {
  font-weight: 700;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.l-page__header__title__jp {
  font-size: 2.9375rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #E28000;
  line-break: strict;
}
@media screen and (max-width: 768px) {
  .l-page__header__title__jp {
    font-size: 2rem;
    line-height: 1.4;
  }
}
.l-page__header__title__en {
  font-family: "Montserrat", sans-serif;
  font-size: 1.0625rem;
  color: #6A6A6A;
}
.l-page__header--primary {
  background-color: #EFC200;
  margin-top: calc(var(--header-height, 0px) * -1);
  padding: calc(var(--header-height, 0px) + 10rem) 0 6.25rem;
}
@media screen and (max-width: 768px) {
  .l-page__header--primary {
    padding: calc(var(--header-height, 0px) + 6.25rem) 0 3.75rem;
  }
}
.l-page__header__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-top: 1.875rem;
}
.l-page__contents {
  padding: 3.125rem 0;
}
@media screen and (max-width: 768px) {
  .l-page__contents {
    padding: 1.875rem 0;
  }
}
.l-page__contents--bg, .l-page__contents--bg-primary {
  padding: 6.25rem 0;
}
@media screen and (max-width: 768px) {
  .l-page__contents--bg, .l-page__contents--bg-primary {
    padding: 3.75rem 0;
  }
}
.l-page__contents--bg {
  background-color: #F2F4F7;
}
.l-page__contents--bg-primary {
  background-color: #EFC200;
}
.l-page__header + .l-page__contents, .l-page__contents--bg + .l-page__contents, .l-page__contents--bg-primary + .l-page__contents {
  padding: 6.25rem 0;
}
@media screen and (max-width: 768px) {
  .l-page__header + .l-page__contents, .l-page__contents--bg + .l-page__contents, .l-page__contents--bg-primary + .l-page__contents {
    padding: 3.75rem 0;
  }
}
.l-page__contents--pb-0 {
  padding-bottom: 0;
}
.l-page__section {
  margin: 5rem 0;
}
@media screen and (max-width: 768px) {
  .l-page__section {
    margin: 1.875rem 0;
  }
}
.l-page__section:last-child {
  margin-bottom: 0;
}

.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 5rem;
  padding: 0 0.5rem 0 2.5rem;
  background-color: #E28000;
  color: #FFFFFF;
  border-radius: 10px;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  line-height: 1.4;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-button {
    padding-left: 1.875rem;
  }
}
.c-button:hover {
  background-color: #FFFFFF;
  color: #212122;
}
.c-button:hover .c-button__arrow {
  background-color: #E28000;
}
.c-button:hover .c-button__arrow::after {
  background-image: url("/assets/images/icon-right02.svg");
}
.c-button__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.0625rem;
  height: 4rem;
  background-color: #FFFFFF;
  border-radius: 10px;
  flex-shrink: 0;
  transition: background-color 0.3s ease;
}
.c-button__arrow::after {
  content: "";
  display: block;
  width: 1rem;
  height: 0.8125rem;
  background-image: url("/assets/images/icon-right01.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: background-image 0.3s ease;
}
.c-button--secondary {
  background-color: #FFFFFF;
  border: 1px solid #9D9DA1;
  color: #212122;
}
.c-button--secondary .c-button__arrow {
  background-color: #E28000;
}
.c-button--secondary .c-button__arrow::after {
  background-image: url("/assets/images/icon-right02.svg");
}
.c-button--secondary:hover {
  background-color: #E28000;
  border-color: #E28000;
  color: #FFFFFF;
}
.c-button--secondary:hover .c-button__arrow {
  background-color: #FFFFFF;
}
.c-button--secondary:hover .c-button__arrow::after {
  background-image: url("/assets/images/icon-right01.svg");
}
.c-button--white {
  background-color: #FFFFFF;
  color: #212122;
}
.c-button--white .c-button__arrow {
  background-color: #E28000;
}
.c-button--white .c-button__arrow::after {
  background-image: url("/assets/images/icon-right02.svg");
}
.c-button--white:hover {
  background-color: #E28000;
  color: #FFFFFF;
}
.c-button--white:hover .c-button__arrow {
  background-color: #FFFFFF;
}
.c-button--white:hover .c-button__arrow::after {
  background-image: url("/assets/images/icon-right01.svg");
}

.c-title {
  display: flex;
  flex-direction: column;
  gap: 0.1875rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-title {
    gap: 0.125rem;
    margin-bottom: 2rem;
  }
}
.c-title__en {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 3rem;
  color: #212122;
  display: block;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .c-title__en {
    font-size: 2.125rem;
  }
}
.c-title__jp {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.9375rem;
  color: #212122;
  display: block;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .c-title__jp {
    font-size: 0.875rem;
  }
}

.c-title-lg {
  font-weight: 700;
  font-size: 1.5625rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .c-title-lg {
    font-size: 1.25rem;
  }
}

.c-title-sub {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1875rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-title-sub {
    margin-bottom: 2rem;
  }
}
.c-title-sub__jp {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-title-sub__jp {
    font-size: 1.5625rem;
  }
}
.c-title-sub__en {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.9375rem;
  color: #8A8E9A;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-title-sub__en {
    font-size: 0.875rem;
  }
}

.c-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.c-table__title, .c-table__data {
  padding: 1.25rem 5rem;
  text-align: center;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #9D9DA1;
}
@media screen and (max-width: 768px) {
  .c-table__title, .c-table__data {
    font-size: 0.875rem;
    padding: 0.875rem 0.5rem;
  }
}
.c-table__title {
  font-weight: 700;
  border-top: 1px solid #9D9DA1;
}
.c-table thead .c-table__row:first-child .c-table__title {
  border-top: none;
}
.c-table--auto {
  table-layout: auto;
}

.js-scrollable-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.c-list-dot {
  margin: 0.625rem 0;
}
.c-list-dot .c-list-dot__item {
  list-style: disc;
  margin-left: 1.25rem;
}
.c-list-number {
  margin: 0.625rem 0;
}
.c-list-number .c-list-number__item {
  list-style: decimal;
  margin-left: 1.25rem;
}

.c-list-dl__section {
  display: flex;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-list-dl__section {
    gap: 1.25rem;
  }
}
.c-list-dl__section--row {
  flex-direction: column;
  gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .c-list-dl__section--responsive {
    flex-direction: column;
    gap: 0.625rem;
  }
}
@media screen and (max-width: 768px) {
  .c-list-dl__section--responsive .c-list-dl__title {
    width: 100%;
    max-width: 100%;
  }
}
.c-list-dl__title {
  font-weight: 700;
  max-width: 12.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-list-dl__title {
    max-width: 6.25rem;
  }
}
.c-list-dl__data {
  flex: 1;
}
.c-list-dl--lg .c-list-dl__title {
  max-width: 25rem;
}
@media screen and (max-width: 768px) {
  .c-list-dl--lg .c-list-dl__title {
    max-width: 9.375rem;
  }
}

.c-link-icon {
  display: flex;
}
.c-link-icon:after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0.4375rem 0 0 0.5rem;
}
.c-link-icon:hover {
  text-decoration: underline;
}
.c-link-icon--right:after {
  width: 1rem;
  background-image: url(../images/icon-right01.svg);
}
.c-link-icon--tab:after {
  background-image: url(../images/icon-tab01.svg);
}
.c-link-icon--download:after {
  background-image: url(../images/icon-download01.svg);
}

.c-circle-cta {
  position: fixed;
  right: 0.625rem;
  bottom: 1.875rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.c-circle-cta.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.c-circle-cta {
  width: 10.5625rem;
  height: 10.5625rem;
  z-index: 90;
}
.p-contact .c-circle-cta {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-circle-cta {
    width: calc(100% - 2.5rem);
    height: auto;
    right: 1.25rem;
    bottom: 1.25rem;
  }
}
.c-circle-cta a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #E28000;
  border-radius: 50%;
  border: 0.4375rem solid #EFC200;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.429;
  letter-spacing: 0.04em;
  text-align: center;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-circle-cta a {
    flex-direction: row;
    justify-content: space-between;
    height: 5rem;
    border-radius: 10px;
    border: none;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    line-height: 1.4;
    padding: 0 0.5rem 0 1.875rem;
  }
}
.c-circle-cta a::after {
  content: "";
  display: block;
  width: 1rem;
  height: 0.8125rem;
  margin-top: 0.375rem;
  background-image: url("/assets/images/icon-right02.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .c-circle-cta a::after {
    display: none;
  }
}
.c-circle-cta a:hover {
  opacity: 0.85;
}
.c-circle-cta__arrow-box {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-circle-cta__arrow-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.0625rem;
    height: 4rem;
    background-color: #FFFFFF;
    border-radius: 10px;
    flex-shrink: 0;
  }
  .c-circle-cta__arrow-box::after {
    content: "";
    display: block;
    width: 1rem;
    height: 0.8125rem;
    background-image: url("/assets/images/icon-right01.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }
}

.p-availability__intro {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-availability__intro {
    text-align: left;
  }
}
.p-availability__note {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-availability__note {
    text-align: left;
  }
}

.p-top__fv {
  position: relative;
  margin-top: calc(var(--header-height, 0px) * -1);
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__fv {
    margin-top: calc(var(--header-height, 0px) * -1);
    padding-bottom: 1.875rem;
  }
}
.p-top__fv__image {
  position: relative;
  width: calc(100% - 6.25rem);
  max-width: 73.75rem;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top__fv__image {
    width: calc(100% - 0.625rem);
    margin-left: 0.625rem;
    border-radius: 0 0 1.25rem 1.25rem;
  }
}
.p-top__fv__image img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 576px) and (max-width: 768px) {
  .p-top__fv__image img {
    aspect-ratio: 900/641;
    object-fit: cover;
  }
}
.p-top__fv__copy {
  position: absolute;
  left: 1rem;
  bottom: 2.625rem;
  width: 37.3125rem;
}
@media screen and (max-width: 1280px) {
  .p-top__fv__copy {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .p-top__fv__copy {
    left: 0.625rem;
    bottom: 34.6666666667vw;
    width: 10.8125rem;
  }
}
@media (min-width: 576px) and (max-width: 768px) {
  .p-top__fv__copy {
    width: 52%;
    left: 0;
    bottom: 18%;
  }
}
.p-top__fv__copy img {
  display: block;
  width: 100%;
}
@media (min-width: 576px) and (max-width: 768px) {
  .p-top__fv__copy img {
    aspect-ratio: auto;
  }
}
.p-top__fv__cta {
  position: absolute;
  right: 3rem;
  bottom: 2.625rem;
  width: 24.5625rem;
}
@media screen and (max-width: 1280px) {
  .p-top__fv__cta {
    right: 3%;
    width: 36%;
  }
}
@media screen and (max-width: 768px) {
  .p-top__fv__cta {
    position: static;
    width: 100%;
    margin-top: 1.25rem;
    padding: 0 1.25rem;
  }
}
.p-top__principals__button, .p-top__recital__button, .p-top__availability__button {
  width: 24.5625rem;
}
@media screen and (max-width: 1280px) {
  .p-top__principals__button, .p-top__recital__button, .p-top__availability__button {
    width: 36%;
  }
}
@media screen and (max-width: 768px) {
  .p-top__principals__button, .p-top__recital__button, .p-top__availability__button {
    width: 100%;
    max-width: 20.9375rem;
  }
}
.p-top__philosophy {
  background-color: #F2F4F7;
}
.p-top__philosophy__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top__philosophy__text {
    text-align: center;
  }
}
.p-top__principals {
  background-color: #EFC200;
}
.p-top__principals__list {
  display: flex;
  gap: 2.125rem;
}
@media screen and (max-width: 768px) {
  .p-top__principals__list {
    flex-direction: column;
    gap: 0.625rem;
  }
}
.p-top__principals__card {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .p-top__principals__card {
    padding-top: 0.625rem;
  }
}
.p-top__principals__card__body {
  background-color: #FFFFFF;
  border-radius: 15px;
  padding: 2.8125rem 3.125rem;
  margin-top: 2.8125rem;
  text-align: center;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-top__principals__card__body {
    margin-top: 2.1875rem;
    padding: 2.5rem 3.125rem;
  }
}
.p-top__principals__card__number {
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  font-size: 4.0625rem;
  line-height: 1.4;
  color: #E28000;
}
.p-top__principals__card__illust {
  width: 8.5625rem;
  height: 9.5625rem;
  margin: 0 auto 1.5rem;
}
.p-top__principals__card__illust img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-top__principals__card__title {
  font-weight: 500;
  font-size: 1.375rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
  margin-bottom: 1rem;
}
.p-top__principals__card__description {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: left;
}
.p-top__principals__button {
  margin-top: 3.75rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top__principals__button {
    margin-top: 2.5rem;
  }
}
.p-top__recital__description {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top__recital__description {
    margin-bottom: 2.5rem;
  }
}
.p-top__recital__list {
  display: flex;
  gap: 3.25rem;
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top__recital__list {
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
}
.p-top__recital__card {
  flex: 1;
  background-color: #FFFFFF;
  border: 1px solid #9D9DA1;
  border-radius: 15px;
  padding: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__recital__card {
    padding: 1.5625rem;
  }
}
.p-top__recital__card__image {
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.p-top__recital__card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 444/303;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-top__recital__card__image img {
    aspect-ratio: 285/195;
  }
}
.p-top__recital__card__title {
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-top__recital__card__title {
    font-size: 1.25rem;
  }
}
.p-top__recital__card__subtitle {
  font-size: 0.875rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  color: #8A8E9A;
  margin-top: 0.25rem;
}
.p-top__recital__card__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__recital__card__text {
    line-height: 1.6;
  }
}
.p-top__recital__button {
  text-align: center;
}
.p-top__voices {
  background-color: #F2F4F7;
}
@media screen and (max-width: 768px) {
  .p-top__voices .c-title__en {
    line-height: 1.2;
  }
}
.p-top__voices__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.p-top__voices__item {
  background-color: #FFFFFF;
  border-radius: 15px;
  padding: 1.875rem 3.125rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top__voices__item {
    padding: 1.25rem 1.25rem;
  }
}
.p-top__voices__item__quote {
  position: absolute;
  top: -0.5rem;
  left: 0;
  width: 1.3125rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-top__voices__item__quote {
    width: 1.375rem;
    top: -0.8125rem;
    left: -0.3125rem;
  }
}
.p-top__voices__item__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.p-top__voices__item__attribution {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: right;
  margin-top: 0.5rem;
}
.p-top__info__photos {
  display: flex;
  gap: 1.875rem;
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top__info__photos {
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
}
.p-top__info__photo {
  flex: 1;
}
.p-top__info__photo__image {
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 0.75rem;
}
.p-top__info__photo__image img {
  display: block;
  width: 100%;
  aspect-ratio: 346/250;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-top__info__photo__image img {
    aspect-ratio: 335/242;
  }
}
.p-top__info__photo__caption {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
.p-top__info__map {
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 1.875rem;
}
.p-top__info__map iframe {
  display: block;
  width: 100%;
  height: 32.9375rem;
}
@media screen and (max-width: 768px) {
  .p-top__info__map iframe {
    height: 18rem;
  }
}
.p-top__info__address {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__info__address {
    font-size: 1rem;
    align-items: baseline;
  }
}
.p-top__info__address__icon {
  width: 0.625rem;
  height: 1rem;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-top__info__address__icon {
    width: 1rem;
    height: 1.25rem;
  }
}
.p-top__info__parking {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
  margin-top: 0.25rem;
}
.p-top__availability {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-top__availability {
    margin-top: 4.375rem;
  }
}
.p-top__availability__intro {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 2.5rem;
}
.p-top__availability__note {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 2.5rem;
}
.p-top__availability__button {
  text-align: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top__availability__button {
    margin-top: 2.5rem;
  }
}
.p-top__faq__list {
  border-top: 1px solid #212122;
}
.p-top__faq__item {
  border-bottom: 1px solid #212122;
}
.p-top__faq__item__question {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding: 1.25rem 0;
  cursor: pointer;
  width: 100%;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-top__faq__item__question {
    gap: 0.5rem;
  }
}
.p-top__faq__item__label {
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  color: #E28000;
  flex-shrink: 0;
}
.p-top__faq__item__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  flex: 1;
}
.p-top__faq__item__toggle {
  width: 1.1875rem;
  height: 1.1875rem;
  position: relative;
  flex-shrink: 0;
  align-self: center;
  background-color: #E28000;
  border-radius: 50%;
}
.p-top__faq__item__toggle::before, .p-top__faq__item__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #FFFFFF;
  transition: transform 0.3s ease;
}
.p-top__faq__item__toggle::before {
  width: 0.875rem;
  height: 1px;
  transform: translate(-50%, -50%);
}
.p-top__faq__item__toggle::after {
  width: 1px;
  height: 0.875rem;
  transform: translate(-50%, -50%);
}
.p-top__faq__item.is-open .p-top__faq__item__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.p-top__faq__item__answer {
  display: none;
  padding: 0 0 1.25rem 2.25rem;
}
@media screen and (max-width: 768px) {
  .p-top__faq__item__answer {
    padding: 0 0 1.25rem 1.75rem;
  }
}
.p-top__faq__item__answer__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}

.p-aboutus__intro__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-aboutus__intro__text {
    text-align: left;
  }
}
.p-aboutus__mvv__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.125rem;
}
@media screen and (max-width: 768px) {
  .p-aboutus__mvv__list {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.p-aboutus__mvv__card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  background-color: #FFFFFF;
  border: 1px solid #9D9DA1;
  border-radius: 15px;
  padding: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-aboutus__mvv__card {
    padding: 1.875rem;
  }
}
.p-aboutus__mvv__card__label {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.8;
  text-align: center;
}
.p-aboutus__mvv__card__label--mission {
  color: #E28000;
}
.p-aboutus__mvv__card__label--vision {
  color: #80B51F;
}
.p-aboutus__mvv__card__label--value {
  color: #00ABE1;
}
.p-aboutus__mvv__card__title {
  font-weight: 500;
  font-size: 1.375rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-aboutus__mvv__card__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.p-aboutus__message__content {
  display: flex;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-aboutus__message__content {
    flex-direction: column;
    gap: 1.875rem;
  }
}
.p-aboutus__message__photo {
  width: 31.875rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-aboutus__message__photo {
    width: 100%;
  }
}
.p-aboutus__message__photo img {
  display: block;
  width: 100%;
  border-radius: 15px;
  aspect-ratio: 510/408;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-aboutus__message__photo img {
    aspect-ratio: 335/268;
  }
}
.p-aboutus__message__photo__caption {
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
  margin-top: 1rem;
}
.p-aboutus__message__body {
  flex: 1;
}
.p-aboutus__message__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.p-aboutus__message__career {
  margin-top: 2.5rem;
  border: 1px solid #212122;
  border-radius: 15px;
  padding: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-aboutus__message__career {
    padding: 1.25rem;
  }
}
.p-aboutus__message__career__divider {
  display: none;
}
.p-aboutus__message__career__title {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #E28000;
  padding-bottom: 1rem;
  border-bottom: 1px solid #E28000;
  margin-bottom: 1rem;
}
.p-aboutus__message__career__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.p-aboutus__instructors .c-title {
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-aboutus__instructors .c-title {
    margin-bottom: 2.5rem;
  }
}
.p-aboutus__instructor-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.125rem;
}
@media screen and (max-width: 768px) {
  .p-aboutus__instructor-list {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.p-aboutus__instructor {
  border: 1px solid #212122;
  border-radius: 15px;
  padding: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-aboutus__instructor {
    padding: 1.5625rem;
  }
}
.p-aboutus__instructor__photo {
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.p-aboutus__instructor__photo img {
  display: block;
  width: 100%;
  aspect-ratio: 441/301;
  object-fit: cover;
}
.p-aboutus__instructor__name {
  margin-bottom: 1rem;
}
.p-aboutus__instructor__name__jp {
  display: block;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-aboutus__instructor__name__jp {
    font-size: 1.25rem;
  }
}
.p-aboutus__instructor__name__en {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #8A8E9A;
}
@media screen and (max-width: 768px) {
  .p-aboutus__instructor__name__en {
    font-size: 0.875rem;
  }
}
.p-aboutus__instructor__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-aboutus__instructor__text {
    line-height: 1.6;
  }
}
.p-aboutus__instructor__career {
  margin-top: 1.25rem;
}
.p-aboutus__instructor__career__divider {
  display: none;
}
.p-aboutus__instructor__career__title {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #E28000;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #E28000;
  margin-bottom: 1rem;
}
.p-aboutus__instructor__career__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-aboutus__instructor__career__text {
    line-height: 1.6;
  }
}

.p-events__intro__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-events__intro__text {
    text-align: left;
  }
}
.p-events__benefits__list {
  display: flex;
  gap: 2.125rem;
}
@media screen and (max-width: 768px) {
  .p-events__benefits__list {
    flex-direction: column;
    gap: 1.25rem;
  }
}
.p-events__benefits__card {
  flex: 1;
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF;
  border: 1px solid #9D9DA1;
  border-radius: 15px;
  padding: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-events__benefits__card {
    padding: 1.875rem;
  }
}
.p-events__benefits__card__illust {
  width: 5.75rem;
  height: 6.25rem;
  margin: 0 auto;
}
.p-events__benefits__card__illust img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-events__benefits__card__title {
  font-weight: 500;
  font-size: 1.375rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-events__benefits__card__title {
    font-size: 1.25rem;
  }
}
.p-events__venue__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-events__venue__text {
    text-align: left;
  }
}
.p-events__venue__photos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-events__venue__photos {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.p-events__venue__photo {
  border-radius: 15px;
  overflow: hidden;
}
.p-events__venue__photo img {
  display: block;
  width: 100%;
  aspect-ratio: 524/348;
  object-fit: cover;
}

.p-lesson__intro__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-lesson__intro__text {
    text-align: left;
  }
}
.p-lesson__features__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.125rem;
}
@media screen and (max-width: 768px) {
  .p-lesson__features__list {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.p-lesson__features__card {
  flex: 1;
  background-color: #FFFFFF;
  border: 1px solid #9D9DA1;
  border-radius: 15px;
  padding: 1.75rem;
  display: flex;
  gap: 1.875rem;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .p-lesson__features__card {
    padding: 1.5625rem;
    gap: 1.25rem;
    flex-direction: column-reverse;
    align-items: center;
  }
}
.p-lesson__features__card__icon {
  width: 3.75rem;
  height: 3.75rem;
  flex-shrink: 0;
}
.p-lesson__features__card__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-lesson__features__card__body {
  flex: 1;
}
.p-lesson__features__card__title {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-lesson__features__card__title {
    font-size: 1.125rem;
  }
}
.p-lesson__features__card__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.p-lesson__availability__intro {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-lesson__availability__intro {
    text-align: left;
  }
}
.p-lesson__availability__note {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-lesson__availability__note {
    text-align: left;
  }
}
.p-lesson__pricing .c-table__title:first-child,
.p-lesson__pricing .c-table__data:first-child {
  text-align: left;
}
.p-lesson__pricing .c-table__title:not(:first-child),
.p-lesson__pricing .c-table__data:not(:first-child) {
  white-space: nowrap;
}
.p-lesson__pricing__intro {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-lesson__pricing__intro {
    text-align: left;
  }
}
.p-lesson__pricing__note {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-lesson__pricing__note {
    text-align: left;
  }
}

.p-contact__line {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}
.p-contact__line__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #28B228;
  border-radius: 15px;
  padding: 2.5rem 3.125rem;
  max-width: 39.8125rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-contact__line__card {
    flex-direction: column;
    padding: 1.875rem 1.5625rem;
    gap: 1.25rem;
  }
}
.p-contact__line__body {
  flex: 1;
}
.p-contact__line__title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 700;
  font-size: 1.6875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #FFFFFF;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .p-contact__line__title {
    font-size: 1.375rem;
    justify-content: center;
  }
}
.p-contact__line__title__icon {
  width: 2.0625rem;
  height: auto;
}
.p-contact__line__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .p-contact__line__text {
    text-align: left;
  }
}
.p-contact__line__qr {
  width: 6.625rem;
  flex-shrink: 0;
}
.p-contact__line__qr img {
  display: block;
  width: 100%;
}
.p-contact__line__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: #FFFFFF;
  color: #28B228;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 1rem 2rem;
  border-radius: 10px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.p-contact__line__btn:hover {
  opacity: 0.8;
}
.p-contact__flow__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-bottom: 2.5rem;
}
.p-contact__flow__list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-contact__flow__list {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-contact__flow__list--second {
  flex-direction: row-reverse;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-contact__flow__list--second {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__flow__list--second {
    flex-direction: column;
    margin-top: 1rem;
    margin-bottom: 0;
  }
}
.p-contact__flow__step {
  flex: 1;
  text-align: center;
  position: relative;
  padding-top: 2.5rem;
  width: 20.625rem;
  flex: 0 0 20.625rem;
}
@media screen and (max-width: 768px) {
  .p-contact__flow__step {
    width: 100%;
    flex: 1 1 100%;
  }
}
.p-contact__flow__step__number {
  display: block;
  font-family: "Manrope", sans-serif;
  font-weight: 600;
  font-size: 4.0625rem;
  line-height: 1;
  color: #E28000;
  position: absolute;
  top: 0;
  left: 0.625rem;
  z-index: 1;
}
.p-contact__flow__step__card {
  position: relative;
  z-index: 0;
  background-color: #FFFFFF;
  border: 1px solid #212122;
  border-radius: 15px;
  padding: 1.75rem 1.25rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-contact__flow__step__title {
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__flow__step__title {
    font-size: 1.125rem;
  }
}
.p-contact__flow__arrow {
  width: 1.875rem;
  flex-shrink: 0;
  align-self: center;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-contact__flow__arrow {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0;
    transform: rotate(90deg);
  }
}
.p-contact__flow__arrow img {
  display: block;
  width: 100%;
}
.p-contact__flow__arrow--down {
  margin-top: 0;
  position: absolute;
  bottom: -3.75rem;
  left: 50%;
  transform: translateX(-50%);
  width: 2.375rem;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-contact__flow__arrow--down {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-contact__flow__arrow--reverse {
    transform: scaleX(-1);
  }
}
.p-contact__flow__arrow--between {
  width: 1.5rem;
  height: 1.5rem;
  margin: -0.875rem auto -0.875rem;
  transform: rotate(90deg);
}
.p-contact__flow__koala {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 11.25rem;
}
@media screen and (max-width: 768px) {
  .p-contact__flow__koala {
    position: static;
    width: 11.25rem;
    margin: 1.25rem auto 0;
  }
}
.p-contact__flow__koala img {
  display: block;
  width: 100%;
}
.p-contact__form__heading {
  text-align: center;
  margin-bottom: 3.125rem;
}
.p-contact__form__heading__en {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.8;
  color: #8A8E9A;
  margin-bottom: 0.25rem;
}
.p-contact__form__heading__jp {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .p-contact__form__heading__jp {
    font-size: 1.5rem;
  }
}
.p-contact__form__heading__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .p-contact__form__heading__text {
    text-align: left;
  }
}
.p-contact__form__body {
  max-width: 50.5rem;
  margin: 0 auto;
}
.p-contact__form__row {
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-contact__form__row {
    margin-bottom: 1.5rem;
  }
}
.p-contact__form__row--half {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-contact__form__row--half {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.p-contact__form__field {
  display: flex;
  flex-direction: column;
}
.p-contact__form__label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}
.p-contact__form__label__text {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #0A0A0A;
}
@media screen and (max-width: 768px) {
  .p-contact__form__label__text {
    font-size: 1rem;
  }
}
.p-contact__form__label__optional {
  display: inline-block;
  background-color: #9D9DA1;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 0.625rem;
  line-height: 1.5;
  padding: 0.0625rem 0.25rem;
}
.p-contact__form__label__required {
  display: inline-block;
  background-color: #EC0000;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 0.625rem;
  line-height: 1.5;
  padding: 0.0625rem 0.25rem;
  border-radius: 0;
}
.p-contact__form__input {
  display: block;
  width: 100%;
  height: 4.3125rem;
  padding: 0 1.25rem;
  border: 1px solid #000000;
  border-radius: 10px;
  font-family: "Zen Kaku Gothic New", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  background-color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .p-contact__form__input {
    height: 3.5rem;
    font-size: 0.875rem;
  }
}
.p-contact__form__select {
  position: relative;
}
.p-contact__form__select::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 0.5625rem solid transparent;
  border-right: 0.5625rem solid transparent;
  border-top: 0.5625rem solid #E28000;
  pointer-events: none;
}
.p-contact__form__select select {
  display: block;
  width: 100%;
  height: 4.3125rem;
  padding: 0 3.125rem 0 1.25rem;
  border: 1px solid #000000;
  border-radius: 10px;
  font-family: "Zen Kaku Gothic New", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #0A0A0A;
  background-color: #FFFFFF;
  appearance: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .p-contact__form__select select {
    height: 3.5rem;
    font-size: 0.875rem;
    font-weight: 500;
  }
}
.p-contact__form__textarea {
  display: block;
  width: 100%;
  height: 13.25rem;
  padding: 1.25rem;
  border: 1px solid #000000;
  border-radius: 10px;
  font-family: "Zen Kaku Gothic New", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  background-color: #FFFFFF;
  resize: vertical;
}
@media screen and (max-width: 768px) {
  .p-contact__form__textarea {
    height: 10rem;
    font-size: 0.875rem;
  }
}
.p-contact__form__checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-contact__form__checkbox-group {
    gap: 0.25rem;
  }
}
.p-contact__form__checkbox-group {
  flex: 1;
  align-items: center;
}
.p-contact__form__checkbox {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.p-contact__form__checkbox input[type=checkbox] {
  display: none;
}
.p-contact__form__checkbox input[type=checkbox]:checked + .p-contact__form__checkbox__box {
  background-color: #E28000;
  border-color: #E28000;
}
.p-contact__form__checkbox input[type=checkbox]:checked + .p-contact__form__checkbox__box::after {
  opacity: 1;
}
.p-contact__form__checkbox__box {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid #000000;
  border-radius: 5px;
  flex-shrink: 0;
  position: relative;
}
.p-contact__form__checkbox__box::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%) rotate(45deg);
  width: 0.625rem;
  height: 1.125rem;
  border-right: 3px solid #FFFFFF;
  border-bottom: 3px solid #FFFFFF;
  opacity: 0;
}
.p-contact__form__agree {
  text-align: left;
  margin: 2.5rem 0;
}
.p-contact__form__agree .p-contact__form__checkbox {
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.p-contact__form__agree__link {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #0A0A0A;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .p-contact__form__agree__link {
    font-size: 1rem;
  }
}
.p-contact__form__error {
  display: block;
  color: #EC0000;
  font-size: 1.125rem;
  margin-top: 0.375rem;
}
.p-contact__form__error-general {
  background-color: #FFF0F0;
  border: 1px solid #EC0000;
  color: #EC0000;
  padding: 1rem 1.25rem;
  border-radius: 10px;
  font-size: 0.875rem;
  margin-bottom: 1.875rem;
  text-align: center;
}
.p-contact__form__confirm-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2.5rem;
}
.p-contact__form__confirm-table th, .p-contact__form__confirm-table td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #9D9DA1;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .p-contact__form__confirm-table th, .p-contact__form__confirm-table td {
    display: block;
    padding: 0.625rem 0;
    font-size: 0.875rem;
  }
}
.p-contact__form__confirm-table th {
  font-weight: 700;
  width: 12.5rem;
  color: #0A0A0A;
}
@media screen and (max-width: 768px) {
  .p-contact__form__confirm-table th {
    width: 100%;
    border-bottom: none;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-contact__form__confirm-table td {
    padding-top: 0;
  }
}
.p-contact__form__submit {
  text-align: center;
  margin-top: 3.125rem;
}
.p-contact__form__submit--confirm {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-contact__form__submit--confirm {
    flex-direction: row;
  }
  .p-contact__form__submit--confirm form {
    flex: 1;
    display: flex;
  }
  .p-contact__form__submit--confirm .p-contact__form__submit__btn {
    width: 100%;
  }
}
.p-contact__form__submit__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15.6875rem;
  height: 5rem;
  padding: 0 1.25rem;
  background-color: #E28000;
  color: #FFFFFF;
  border: none;
  border-radius: 10px;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: opacity 0.3s ease;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .p-contact__form__submit__btn {
    width: 100%;
    max-width: 20.9375rem;
  }
}
.p-contact__form__submit__btn:hover {
  opacity: 0.8;
}
.p-contact__form__submit__btn--back {
  background-color: #9D9DA1;
}

.p-cta {
  background-color: #EFC000;
  padding: 4.25rem 0;
}
.l-page .p-cta {
  margin-top: 4.375rem;
}
.p-cta {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-cta {
    padding: 2.5rem 0;
  }
}
.p-cta__inner {
  display: flex;
  align-items: center;
  gap: 6.25rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .p-cta__inner {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-cta__image {
  width: 29.375rem;
  flex-shrink: 0;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-cta__image {
    width: 100%;
    order: 2;
  }
}
.p-cta__image img {
  display: block;
  width: 100%;
  aspect-ratio: 470/376;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-cta__image img {
    aspect-ratio: 335/268;
  }
}
.p-cta__content {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-cta__content {
    display: contents;
  }
}
.p-cta__button {
  width: 24.5625rem;
}
@media screen and (max-width: 1280px) {
  .p-cta__button {
    width: 70%;
  }
}
@media screen and (max-width: 768px) {
  .p-cta__button {
    width: 100%;
    max-width: 20.9375rem;
    order: 3;
  }
}
.p-cta__title {
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-cta__title {
    font-size: 1.5rem;
    order: 1;
    margin-bottom: 0;
  }
}
.p-cta__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-cta__text {
    order: 1;
    margin-bottom: 0;
  }
}
.p-cta__koala {
  position: absolute;
  right: 1.875rem;
  bottom: 0;
  width: 9.6875rem;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .p-cta__koala {
    width: 7.875rem;
    right: 0.625rem;
    top: auto;
    bottom: 19rem;
  }
}
.p-cta__koala img {
  display: block;
  width: 100%;
}

.u-font-10 {
  font-size: 0.625rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-10-sp {
    font-size: 0.625rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-10-pc {
    font-size: 0.625rem !important;
  }
}
.u-font-12 {
  font-size: 0.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-12-sp {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-12-pc {
    font-size: 0.75rem !important;
  }
}
.u-font-14 {
  font-size: 0.875rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-14-sp {
    font-size: 0.875rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-14-pc {
    font-size: 0.875rem !important;
  }
}
.u-font-16 {
  font-size: 1rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-16-sp {
    font-size: 1rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-16-pc {
    font-size: 1rem !important;
  }
}
.u-font-18 {
  font-size: 1.125rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-18-sp {
    font-size: 1.125rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-18-pc {
    font-size: 1.125rem !important;
  }
}
.u-font-20 {
  font-size: 1.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-20-sp {
    font-size: 1.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-20-pc {
    font-size: 1.25rem !important;
  }
}
.u-font-22 {
  font-size: 1.375rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-22-sp {
    font-size: 1.375rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-22-pc {
    font-size: 1.375rem !important;
  }
}
.u-font-24 {
  font-size: 1.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-24-sp {
    font-size: 1.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-24-pc {
    font-size: 1.5rem !important;
  }
}
.u-font-26 {
  font-size: 1.625rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-26-sp {
    font-size: 1.625rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-26-pc {
    font-size: 1.625rem !important;
  }
}
.u-font-28 {
  font-size: 1.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-28-sp {
    font-size: 1.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-28-pc {
    font-size: 1.75rem !important;
  }
}
.u-font-30 {
  font-size: 1.875rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-30-sp {
    font-size: 1.875rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-30-pc {
    font-size: 1.875rem !important;
  }
}
.u-font-32 {
  font-size: 2rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-32-sp {
    font-size: 2rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-32-pc {
    font-size: 2rem !important;
  }
}
.u-font-34 {
  font-size: 2.125rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-34-sp {
    font-size: 2.125rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-34-pc {
    font-size: 2.125rem !important;
  }
}
.u-font-36 {
  font-size: 2.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-36-sp {
    font-size: 2.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-36-pc {
    font-size: 2.25rem !important;
  }
}
.u-font-38 {
  font-size: 2.375rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-38-sp {
    font-size: 2.375rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-38-pc {
    font-size: 2.375rem !important;
  }
}
.u-font-40 {
  font-size: 2.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-40-sp {
    font-size: 2.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-40-pc {
    font-size: 2.5rem !important;
  }
}
.u-font-42 {
  font-size: 2.625rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-42-sp {
    font-size: 2.625rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-42-pc {
    font-size: 2.625rem !important;
  }
}
.u-font-44 {
  font-size: 2.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-44-sp {
    font-size: 2.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-44-pc {
    font-size: 2.75rem !important;
  }
}
.u-font-46 {
  font-size: 2.875rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-46-sp {
    font-size: 2.875rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-46-pc {
    font-size: 2.875rem !important;
  }
}
.u-font-48 {
  font-size: 3rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-48-sp {
    font-size: 3rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-48-pc {
    font-size: 3rem !important;
  }
}
.u-font-50 {
  font-size: 3.125rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-50-sp {
    font-size: 3.125rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-50-pc {
    font-size: 3.125rem !important;
  }
}
.u-font-60 {
  font-size: 3.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-60-sp {
    font-size: 3.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-60-pc {
    font-size: 3.75rem !important;
  }
}
.u-font-70 {
  font-size: 4.375rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-70-sp {
    font-size: 4.375rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-70-pc {
    font-size: 4.375rem !important;
  }
}
.u-font-80 {
  font-size: 3.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-80-sp {
    font-size: 3.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-80-pc {
    font-size: 3.75rem !important;
  }
}
.u-font-100 {
  font-size: 6.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-font-100-sp {
    font-size: 6.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-100-pc {
    font-size: 6.25rem !important;
  }
}
.u-font-150per {
  font-size: 150% !important;
}

@media screen and (max-width: 768px) {
  .u-font-150per-sp {
    font-size: 150% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-150per-pc {
    font-size: 150% !important;
  }
}
.u-font-125per {
  font-size: 125% !important;
}

@media screen and (max-width: 768px) {
  .u-font-125per-sp {
    font-size: 125% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-125per-pc {
    font-size: 125% !important;
  }
}
.u-font-120per {
  font-size: 120% !important;
}

@media screen and (max-width: 768px) {
  .u-font-120per-sp {
    font-size: 120% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-120per-pc {
    font-size: 120% !important;
  }
}
.u-font-110per {
  font-size: 110% !important;
}

@media screen and (max-width: 768px) {
  .u-font-110per-sp {
    font-size: 110% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-110per-pc {
    font-size: 110% !important;
  }
}
.u-font-100per {
  font-size: 100% !important;
}

@media screen and (max-width: 768px) {
  .u-font-100per-sp {
    font-size: 100% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-100per-pc {
    font-size: 100% !important;
  }
}
.u-font-90per {
  font-size: 90% !important;
}

@media screen and (max-width: 768px) {
  .u-font-90per-sp {
    font-size: 90% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-90per-pc {
    font-size: 90% !important;
  }
}
.u-font-80per {
  font-size: 80% !important;
}

@media screen and (max-width: 768px) {
  .u-font-80per-sp {
    font-size: 80% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-80per-pc {
    font-size: 80% !important;
  }
}
.u-font-75per {
  font-size: 75% !important;
}

@media screen and (max-width: 768px) {
  .u-font-75per-sp {
    font-size: 75% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-75per-pc {
    font-size: 75% !important;
  }
}
.u-font-70per {
  font-size: 70% !important;
}

@media screen and (max-width: 768px) {
  .u-font-70per-sp {
    font-size: 70% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-70per-pc {
    font-size: 70% !important;
  }
}
.u-font-60per {
  font-size: 60% !important;
}

@media screen and (max-width: 768px) {
  .u-font-60per-sp {
    font-size: 60% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-60per-pc {
    font-size: 60% !important;
  }
}
.u-font-50per {
  font-size: 50% !important;
}

@media screen and (max-width: 768px) {
  .u-font-50per-sp {
    font-size: 50% !important;
  }
}
@media screen and (min-width: 768px) {
  .u-font-50per-pc {
    font-size: 50% !important;
  }
}
.u-lh-14 {
  line-height: 1.4 !important;
}

.u-m-0 {
  margin: 0 !important;
}

.u-mt-0,
.u-my-0 {
  margin-top: 0 !important;
}

.u-mr-0,
.u-mx-0 {
  margin-right: 0 !important;
}

.u-mb-0,
.u-my-0 {
  margin-bottom: 0 !important;
}

.u-ml-0,
.u-mx-0 {
  margin-left: 0 !important;
}

@media screen and (max-width: 768px) {
  .u-m-0-sp {
    margin: 0 !important;
  }
  .u-mt-0-sp,
  .u-my-0-sp {
    margin-top: 0 !important;
  }
  .u-mr-0-sp,
  .u-mx-0-sp {
    margin-right: 0 !important;
  }
  .u-mb-0-sp,
  .u-my-0-sp {
    margin-bottom: 0 !important;
  }
  .u-ml-0-sp,
  .u-mx-0-sp {
    margin-left: 0 !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-0-pc {
    margin: 0 !important;
  }
  .u-mt-0-pc,
  .u-my-0-pc {
    margin-top: 0 !important;
  }
  .u-mr-0-pc,
  .u-mx-0-pc {
    margin-right: 0 !important;
  }
  .u-mb-0-pc,
  .u-my-0-pc {
    margin-bottom: 0 !important;
  }
  .u-ml-0-pc,
  .u-mx-0-pc {
    margin-left: 0 !important;
  }
}
.u-m-4 {
  margin: 0.25rem !important;
}

.u-mt-4,
.u-my-4 {
  margin-top: 0.25rem !important;
}

.u-mr-4,
.u-mx-4 {
  margin-right: 0.25rem !important;
}

.u-mb-4,
.u-my-4 {
  margin-bottom: 0.25rem !important;
}

.u-ml-4,
.u-mx-4 {
  margin-left: 0.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-4-sp {
    margin: 0.25rem !important;
  }
  .u-mt-4-sp,
  .u-my-4-sp {
    margin-top: 0.25rem !important;
  }
  .u-mr-4-sp,
  .u-mx-4-sp {
    margin-right: 0.25rem !important;
  }
  .u-mb-4-sp,
  .u-my-4-sp {
    margin-bottom: 0.25rem !important;
  }
  .u-ml-4-sp,
  .u-mx-4-sp {
    margin-left: 0.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-4-pc {
    margin: 0.25rem !important;
  }
  .u-mt-4-pc,
  .u-my-4-pc {
    margin-top: 0.25rem !important;
  }
  .u-mr-4-pc,
  .u-mx-4-pc {
    margin-right: 0.25rem !important;
  }
  .u-mb-4-pc,
  .u-my-4-pc {
    margin-bottom: 0.25rem !important;
  }
  .u-ml-4-pc,
  .u-mx-4-pc {
    margin-left: 0.25rem !important;
  }
}
.u-m-8 {
  margin: 0.5rem !important;
}

.u-mt-8,
.u-my-8 {
  margin-top: 0.5rem !important;
}

.u-mr-8,
.u-mx-8 {
  margin-right: 0.5rem !important;
}

.u-mb-8,
.u-my-8 {
  margin-bottom: 0.5rem !important;
}

.u-ml-8,
.u-mx-8 {
  margin-left: 0.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-8-sp {
    margin: 0.5rem !important;
  }
  .u-mt-8-sp,
  .u-my-8-sp {
    margin-top: 0.5rem !important;
  }
  .u-mr-8-sp,
  .u-mx-8-sp {
    margin-right: 0.5rem !important;
  }
  .u-mb-8-sp,
  .u-my-8-sp {
    margin-bottom: 0.5rem !important;
  }
  .u-ml-8-sp,
  .u-mx-8-sp {
    margin-left: 0.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-8-pc {
    margin: 0.5rem !important;
  }
  .u-mt-8-pc,
  .u-my-8-pc {
    margin-top: 0.5rem !important;
  }
  .u-mr-8-pc,
  .u-mx-8-pc {
    margin-right: 0.5rem !important;
  }
  .u-mb-8-pc,
  .u-my-8-pc {
    margin-bottom: 0.5rem !important;
  }
  .u-ml-8-pc,
  .u-mx-8-pc {
    margin-left: 0.5rem !important;
  }
}
.u-m-12 {
  margin: 0.75rem !important;
}

.u-mt-12,
.u-my-12 {
  margin-top: 0.75rem !important;
}

.u-mr-12,
.u-mx-12 {
  margin-right: 0.75rem !important;
}

.u-mb-12,
.u-my-12 {
  margin-bottom: 0.75rem !important;
}

.u-ml-12,
.u-mx-12 {
  margin-left: 0.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-12-sp {
    margin: 0.75rem !important;
  }
  .u-mt-12-sp,
  .u-my-12-sp {
    margin-top: 0.75rem !important;
  }
  .u-mr-12-sp,
  .u-mx-12-sp {
    margin-right: 0.75rem !important;
  }
  .u-mb-12-sp,
  .u-my-12-sp {
    margin-bottom: 0.75rem !important;
  }
  .u-ml-12-sp,
  .u-mx-12-sp {
    margin-left: 0.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-12-pc {
    margin: 0.75rem !important;
  }
  .u-mt-12-pc,
  .u-my-12-pc {
    margin-top: 0.75rem !important;
  }
  .u-mr-12-pc,
  .u-mx-12-pc {
    margin-right: 0.75rem !important;
  }
  .u-mb-12-pc,
  .u-my-12-pc {
    margin-bottom: 0.75rem !important;
  }
  .u-ml-12-pc,
  .u-mx-12-pc {
    margin-left: 0.75rem !important;
  }
}
.u-m-16 {
  margin: 1rem !important;
}

.u-mt-16,
.u-my-16 {
  margin-top: 1rem !important;
}

.u-mr-16,
.u-mx-16 {
  margin-right: 1rem !important;
}

.u-mb-16,
.u-my-16 {
  margin-bottom: 1rem !important;
}

.u-ml-16,
.u-mx-16 {
  margin-left: 1rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-16-sp {
    margin: 1rem !important;
  }
  .u-mt-16-sp,
  .u-my-16-sp {
    margin-top: 1rem !important;
  }
  .u-mr-16-sp,
  .u-mx-16-sp {
    margin-right: 1rem !important;
  }
  .u-mb-16-sp,
  .u-my-16-sp {
    margin-bottom: 1rem !important;
  }
  .u-ml-16-sp,
  .u-mx-16-sp {
    margin-left: 1rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-16-pc {
    margin: 1rem !important;
  }
  .u-mt-16-pc,
  .u-my-16-pc {
    margin-top: 1rem !important;
  }
  .u-mr-16-pc,
  .u-mx-16-pc {
    margin-right: 1rem !important;
  }
  .u-mb-16-pc,
  .u-my-16-pc {
    margin-bottom: 1rem !important;
  }
  .u-ml-16-pc,
  .u-mx-16-pc {
    margin-left: 1rem !important;
  }
}
.u-m-20 {
  margin: 1.25rem !important;
}

.u-mt-20,
.u-my-20 {
  margin-top: 1.25rem !important;
}

.u-mr-20,
.u-mx-20 {
  margin-right: 1.25rem !important;
}

.u-mb-20,
.u-my-20 {
  margin-bottom: 1.25rem !important;
}

.u-ml-20,
.u-mx-20 {
  margin-left: 1.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-20-sp {
    margin: 1.25rem !important;
  }
  .u-mt-20-sp,
  .u-my-20-sp {
    margin-top: 1.25rem !important;
  }
  .u-mr-20-sp,
  .u-mx-20-sp {
    margin-right: 1.25rem !important;
  }
  .u-mb-20-sp,
  .u-my-20-sp {
    margin-bottom: 1.25rem !important;
  }
  .u-ml-20-sp,
  .u-mx-20-sp {
    margin-left: 1.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-20-pc {
    margin: 1.25rem !important;
  }
  .u-mt-20-pc,
  .u-my-20-pc {
    margin-top: 1.25rem !important;
  }
  .u-mr-20-pc,
  .u-mx-20-pc {
    margin-right: 1.25rem !important;
  }
  .u-mb-20-pc,
  .u-my-20-pc {
    margin-bottom: 1.25rem !important;
  }
  .u-ml-20-pc,
  .u-mx-20-pc {
    margin-left: 1.25rem !important;
  }
}
.u-m-24 {
  margin: 1.5rem !important;
}

.u-mt-24,
.u-my-24 {
  margin-top: 1.5rem !important;
}

.u-mr-24,
.u-mx-24 {
  margin-right: 1.5rem !important;
}

.u-mb-24,
.u-my-24 {
  margin-bottom: 1.5rem !important;
}

.u-ml-24,
.u-mx-24 {
  margin-left: 1.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-24-sp {
    margin: 1.5rem !important;
  }
  .u-mt-24-sp,
  .u-my-24-sp {
    margin-top: 1.5rem !important;
  }
  .u-mr-24-sp,
  .u-mx-24-sp {
    margin-right: 1.5rem !important;
  }
  .u-mb-24-sp,
  .u-my-24-sp {
    margin-bottom: 1.5rem !important;
  }
  .u-ml-24-sp,
  .u-mx-24-sp {
    margin-left: 1.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-24-pc {
    margin: 1.5rem !important;
  }
  .u-mt-24-pc,
  .u-my-24-pc {
    margin-top: 1.5rem !important;
  }
  .u-mr-24-pc,
  .u-mx-24-pc {
    margin-right: 1.5rem !important;
  }
  .u-mb-24-pc,
  .u-my-24-pc {
    margin-bottom: 1.5rem !important;
  }
  .u-ml-24-pc,
  .u-mx-24-pc {
    margin-left: 1.5rem !important;
  }
}
.u-m-28 {
  margin: 1.75rem !important;
}

.u-mt-28,
.u-my-28 {
  margin-top: 1.75rem !important;
}

.u-mr-28,
.u-mx-28 {
  margin-right: 1.75rem !important;
}

.u-mb-28,
.u-my-28 {
  margin-bottom: 1.75rem !important;
}

.u-ml-28,
.u-mx-28 {
  margin-left: 1.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-28-sp {
    margin: 1.75rem !important;
  }
  .u-mt-28-sp,
  .u-my-28-sp {
    margin-top: 1.75rem !important;
  }
  .u-mr-28-sp,
  .u-mx-28-sp {
    margin-right: 1.75rem !important;
  }
  .u-mb-28-sp,
  .u-my-28-sp {
    margin-bottom: 1.75rem !important;
  }
  .u-ml-28-sp,
  .u-mx-28-sp {
    margin-left: 1.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-28-pc {
    margin: 1.75rem !important;
  }
  .u-mt-28-pc,
  .u-my-28-pc {
    margin-top: 1.75rem !important;
  }
  .u-mr-28-pc,
  .u-mx-28-pc {
    margin-right: 1.75rem !important;
  }
  .u-mb-28-pc,
  .u-my-28-pc {
    margin-bottom: 1.75rem !important;
  }
  .u-ml-28-pc,
  .u-mx-28-pc {
    margin-left: 1.75rem !important;
  }
}
.u-m-32 {
  margin: 2rem !important;
}

.u-mt-32,
.u-my-32 {
  margin-top: 2rem !important;
}

.u-mr-32,
.u-mx-32 {
  margin-right: 2rem !important;
}

.u-mb-32,
.u-my-32 {
  margin-bottom: 2rem !important;
}

.u-ml-32,
.u-mx-32 {
  margin-left: 2rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-32-sp {
    margin: 2rem !important;
  }
  .u-mt-32-sp,
  .u-my-32-sp {
    margin-top: 2rem !important;
  }
  .u-mr-32-sp,
  .u-mx-32-sp {
    margin-right: 2rem !important;
  }
  .u-mb-32-sp,
  .u-my-32-sp {
    margin-bottom: 2rem !important;
  }
  .u-ml-32-sp,
  .u-mx-32-sp {
    margin-left: 2rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-32-pc {
    margin: 2rem !important;
  }
  .u-mt-32-pc,
  .u-my-32-pc {
    margin-top: 2rem !important;
  }
  .u-mr-32-pc,
  .u-mx-32-pc {
    margin-right: 2rem !important;
  }
  .u-mb-32-pc,
  .u-my-32-pc {
    margin-bottom: 2rem !important;
  }
  .u-ml-32-pc,
  .u-mx-32-pc {
    margin-left: 2rem !important;
  }
}
.u-m-36 {
  margin: 2.25rem !important;
}

.u-mt-36,
.u-my-36 {
  margin-top: 2.25rem !important;
}

.u-mr-36,
.u-mx-36 {
  margin-right: 2.25rem !important;
}

.u-mb-36,
.u-my-36 {
  margin-bottom: 2.25rem !important;
}

.u-ml-36,
.u-mx-36 {
  margin-left: 2.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-36-sp {
    margin: 2.25rem !important;
  }
  .u-mt-36-sp,
  .u-my-36-sp {
    margin-top: 2.25rem !important;
  }
  .u-mr-36-sp,
  .u-mx-36-sp {
    margin-right: 2.25rem !important;
  }
  .u-mb-36-sp,
  .u-my-36-sp {
    margin-bottom: 2.25rem !important;
  }
  .u-ml-36-sp,
  .u-mx-36-sp {
    margin-left: 2.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-36-pc {
    margin: 2.25rem !important;
  }
  .u-mt-36-pc,
  .u-my-36-pc {
    margin-top: 2.25rem !important;
  }
  .u-mr-36-pc,
  .u-mx-36-pc {
    margin-right: 2.25rem !important;
  }
  .u-mb-36-pc,
  .u-my-36-pc {
    margin-bottom: 2.25rem !important;
  }
  .u-ml-36-pc,
  .u-mx-36-pc {
    margin-left: 2.25rem !important;
  }
}
.u-m-40 {
  margin: 2.5rem !important;
}

.u-mt-40,
.u-my-40 {
  margin-top: 2.5rem !important;
}

.u-mr-40,
.u-mx-40 {
  margin-right: 2.5rem !important;
}

.u-mb-40,
.u-my-40 {
  margin-bottom: 2.5rem !important;
}

.u-ml-40,
.u-mx-40 {
  margin-left: 2.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-40-sp {
    margin: 2.5rem !important;
  }
  .u-mt-40-sp,
  .u-my-40-sp {
    margin-top: 2.5rem !important;
  }
  .u-mr-40-sp,
  .u-mx-40-sp {
    margin-right: 2.5rem !important;
  }
  .u-mb-40-sp,
  .u-my-40-sp {
    margin-bottom: 2.5rem !important;
  }
  .u-ml-40-sp,
  .u-mx-40-sp {
    margin-left: 2.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-40-pc {
    margin: 2.5rem !important;
  }
  .u-mt-40-pc,
  .u-my-40-pc {
    margin-top: 2.5rem !important;
  }
  .u-mr-40-pc,
  .u-mx-40-pc {
    margin-right: 2.5rem !important;
  }
  .u-mb-40-pc,
  .u-my-40-pc {
    margin-bottom: 2.5rem !important;
  }
  .u-ml-40-pc,
  .u-mx-40-pc {
    margin-left: 2.5rem !important;
  }
}
.u-m-48 {
  margin: 3rem !important;
}

.u-mt-48,
.u-my-48 {
  margin-top: 3rem !important;
}

.u-mr-48,
.u-mx-48 {
  margin-right: 3rem !important;
}

.u-mb-48,
.u-my-48 {
  margin-bottom: 3rem !important;
}

.u-ml-48,
.u-mx-48 {
  margin-left: 3rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-48-sp {
    margin: 3rem !important;
  }
  .u-mt-48-sp,
  .u-my-48-sp {
    margin-top: 3rem !important;
  }
  .u-mr-48-sp,
  .u-mx-48-sp {
    margin-right: 3rem !important;
  }
  .u-mb-48-sp,
  .u-my-48-sp {
    margin-bottom: 3rem !important;
  }
  .u-ml-48-sp,
  .u-mx-48-sp {
    margin-left: 3rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-48-pc {
    margin: 3rem !important;
  }
  .u-mt-48-pc,
  .u-my-48-pc {
    margin-top: 3rem !important;
  }
  .u-mr-48-pc,
  .u-mx-48-pc {
    margin-right: 3rem !important;
  }
  .u-mb-48-pc,
  .u-my-48-pc {
    margin-bottom: 3rem !important;
  }
  .u-ml-48-pc,
  .u-mx-48-pc {
    margin-left: 3rem !important;
  }
}
.u-m-56 {
  margin: 3.5rem !important;
}

.u-mt-56,
.u-my-56 {
  margin-top: 3.5rem !important;
}

.u-mr-56,
.u-mx-56 {
  margin-right: 3.5rem !important;
}

.u-mb-56,
.u-my-56 {
  margin-bottom: 3.5rem !important;
}

.u-ml-56,
.u-mx-56 {
  margin-left: 3.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-56-sp {
    margin: 3.5rem !important;
  }
  .u-mt-56-sp,
  .u-my-56-sp {
    margin-top: 3.5rem !important;
  }
  .u-mr-56-sp,
  .u-mx-56-sp {
    margin-right: 3.5rem !important;
  }
  .u-mb-56-sp,
  .u-my-56-sp {
    margin-bottom: 3.5rem !important;
  }
  .u-ml-56-sp,
  .u-mx-56-sp {
    margin-left: 3.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-56-pc {
    margin: 3.5rem !important;
  }
  .u-mt-56-pc,
  .u-my-56-pc {
    margin-top: 3.5rem !important;
  }
  .u-mr-56-pc,
  .u-mx-56-pc {
    margin-right: 3.5rem !important;
  }
  .u-mb-56-pc,
  .u-my-56-pc {
    margin-bottom: 3.5rem !important;
  }
  .u-ml-56-pc,
  .u-mx-56-pc {
    margin-left: 3.5rem !important;
  }
}
.u-m-60 {
  margin: 3.75rem !important;
}

.u-mt-60,
.u-my-60 {
  margin-top: 3.75rem !important;
}

.u-mr-60,
.u-mx-60 {
  margin-right: 3.75rem !important;
}

.u-mb-60,
.u-my-60 {
  margin-bottom: 3.75rem !important;
}

.u-ml-60,
.u-mx-60 {
  margin-left: 3.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-60-sp {
    margin: 3.75rem !important;
  }
  .u-mt-60-sp,
  .u-my-60-sp {
    margin-top: 3.75rem !important;
  }
  .u-mr-60-sp,
  .u-mx-60-sp {
    margin-right: 3.75rem !important;
  }
  .u-mb-60-sp,
  .u-my-60-sp {
    margin-bottom: 3.75rem !important;
  }
  .u-ml-60-sp,
  .u-mx-60-sp {
    margin-left: 3.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-60-pc {
    margin: 3.75rem !important;
  }
  .u-mt-60-pc,
  .u-my-60-pc {
    margin-top: 3.75rem !important;
  }
  .u-mr-60-pc,
  .u-mx-60-pc {
    margin-right: 3.75rem !important;
  }
  .u-mb-60-pc,
  .u-my-60-pc {
    margin-bottom: 3.75rem !important;
  }
  .u-ml-60-pc,
  .u-mx-60-pc {
    margin-left: 3.75rem !important;
  }
}
.u-m-80 {
  margin: 5rem !important;
}

.u-mt-80,
.u-my-80 {
  margin-top: 5rem !important;
}

.u-mr-80,
.u-mx-80 {
  margin-right: 5rem !important;
}

.u-mb-80,
.u-my-80 {
  margin-bottom: 5rem !important;
}

.u-ml-80,
.u-mx-80 {
  margin-left: 5rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-80-sp {
    margin: 5rem !important;
  }
  .u-mt-80-sp,
  .u-my-80-sp {
    margin-top: 5rem !important;
  }
  .u-mr-80-sp,
  .u-mx-80-sp {
    margin-right: 5rem !important;
  }
  .u-mb-80-sp,
  .u-my-80-sp {
    margin-bottom: 5rem !important;
  }
  .u-ml-80-sp,
  .u-mx-80-sp {
    margin-left: 5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-80-pc {
    margin: 5rem !important;
  }
  .u-mt-80-pc,
  .u-my-80-pc {
    margin-top: 5rem !important;
  }
  .u-mr-80-pc,
  .u-mx-80-pc {
    margin-right: 5rem !important;
  }
  .u-mb-80-pc,
  .u-my-80-pc {
    margin-bottom: 5rem !important;
  }
  .u-ml-80-pc,
  .u-mx-80-pc {
    margin-left: 5rem !important;
  }
}
.u-m-100 {
  margin: 6.25rem !important;
}

.u-mt-100,
.u-my-100 {
  margin-top: 6.25rem !important;
}

.u-mr-100,
.u-mx-100 {
  margin-right: 6.25rem !important;
}

.u-mb-100,
.u-my-100 {
  margin-bottom: 6.25rem !important;
}

.u-ml-100,
.u-mx-100 {
  margin-left: 6.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-m-100-sp {
    margin: 6.25rem !important;
  }
  .u-mt-100-sp,
  .u-my-100-sp {
    margin-top: 6.25rem !important;
  }
  .u-mr-100-sp,
  .u-mx-100-sp {
    margin-right: 6.25rem !important;
  }
  .u-mb-100-sp,
  .u-my-100-sp {
    margin-bottom: 6.25rem !important;
  }
  .u-ml-100-sp,
  .u-mx-100-sp {
    margin-left: 6.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-100-pc {
    margin: 6.25rem !important;
  }
  .u-mt-100-pc,
  .u-my-100-pc {
    margin-top: 6.25rem !important;
  }
  .u-mr-100-pc,
  .u-mx-100-pc {
    margin-right: 6.25rem !important;
  }
  .u-mb-100-pc,
  .u-my-100-pc {
    margin-bottom: 6.25rem !important;
  }
  .u-ml-100-pc,
  .u-mx-100-pc {
    margin-left: 6.25rem !important;
  }
}
.u-p-0 {
  padding: 0 !important;
}

.u-pt-0,
.u-py-0 {
  padding-top: 0 !important;
}

.u-pr-0,
.u-px-0 {
  padding-right: 0 !important;
}

.u-pb-0,
.u-py-0 {
  padding-bottom: 0 !important;
}

.u-pl-0,
.u-px-0 {
  padding-left: 0 !important;
}

@media screen and (max-width: 768px) {
  .u-p-0-sp {
    padding: 0 !important;
  }
  .u-pt-0-sp,
  .u-py-0-sp {
    padding-top: 0 !important;
  }
  .u-pr-0-sp,
  .u-px-0-sp {
    padding-right: 0 !important;
  }
  .u-pb-0-sp,
  .u-py-0-sp {
    padding-bottom: 0 !important;
  }
  .u-pl-0-sp,
  .u-px-0-sp {
    padding-left: 0 !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-0-pc {
    padding: 0 !important;
  }
  .u-pt-0-pc,
  .u-py-0-pc {
    padding-top: 0 !important;
  }
  .u-pr-0-pc,
  .u-px-0-pc {
    padding-right: 0 !important;
  }
  .u-pb-0-pc,
  .u-py-0-pc {
    padding-bottom: 0 !important;
  }
  .u-pl-0-pc,
  .u-px-0-pc {
    padding-left: 0 !important;
  }
}
.u-p-4 {
  padding: 0.25rem !important;
}

.u-pt-4,
.u-py-4 {
  padding-top: 0.25rem !important;
}

.u-pr-4,
.u-px-4 {
  padding-right: 0.25rem !important;
}

.u-pb-4,
.u-py-4 {
  padding-bottom: 0.25rem !important;
}

.u-pl-4,
.u-px-4 {
  padding-left: 0.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-4-sp {
    padding: 0.25rem !important;
  }
  .u-pt-4-sp,
  .u-py-4-sp {
    padding-top: 0.25rem !important;
  }
  .u-pr-4-sp,
  .u-px-4-sp {
    padding-right: 0.25rem !important;
  }
  .u-pb-4-sp,
  .u-py-4-sp {
    padding-bottom: 0.25rem !important;
  }
  .u-pl-4-sp,
  .u-px-4-sp {
    padding-left: 0.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-4-pc {
    padding: 0.25rem !important;
  }
  .u-pt-4-pc,
  .u-py-4-pc {
    padding-top: 0.25rem !important;
  }
  .u-pr-4-pc,
  .u-px-4-pc {
    padding-right: 0.25rem !important;
  }
  .u-pb-4-pc,
  .u-py-4-pc {
    padding-bottom: 0.25rem !important;
  }
  .u-pl-4-pc,
  .u-px-4-pc {
    padding-left: 0.25rem !important;
  }
}
.u-p-8 {
  padding: 0.5rem !important;
}

.u-pt-8,
.u-py-8 {
  padding-top: 0.5rem !important;
}

.u-pr-8,
.u-px-8 {
  padding-right: 0.5rem !important;
}

.u-pb-8,
.u-py-8 {
  padding-bottom: 0.5rem !important;
}

.u-pl-8,
.u-px-8 {
  padding-left: 0.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-8-sp {
    padding: 0.5rem !important;
  }
  .u-pt-8-sp,
  .u-py-8-sp {
    padding-top: 0.5rem !important;
  }
  .u-pr-8-sp,
  .u-px-8-sp {
    padding-right: 0.5rem !important;
  }
  .u-pb-8-sp,
  .u-py-8-sp {
    padding-bottom: 0.5rem !important;
  }
  .u-pl-8-sp,
  .u-px-8-sp {
    padding-left: 0.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-8-pc {
    padding: 0.5rem !important;
  }
  .u-pt-8-pc,
  .u-py-8-pc {
    padding-top: 0.5rem !important;
  }
  .u-pr-8-pc,
  .u-px-8-pc {
    padding-right: 0.5rem !important;
  }
  .u-pb-8-pc,
  .u-py-8-pc {
    padding-bottom: 0.5rem !important;
  }
  .u-pl-8-pc,
  .u-px-8-pc {
    padding-left: 0.5rem !important;
  }
}
.u-p-12 {
  padding: 0.75rem !important;
}

.u-pt-12,
.u-py-12 {
  padding-top: 0.75rem !important;
}

.u-pr-12,
.u-px-12 {
  padding-right: 0.75rem !important;
}

.u-pb-12,
.u-py-12 {
  padding-bottom: 0.75rem !important;
}

.u-pl-12,
.u-px-12 {
  padding-left: 0.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-12-sp {
    padding: 0.75rem !important;
  }
  .u-pt-12-sp,
  .u-py-12-sp {
    padding-top: 0.75rem !important;
  }
  .u-pr-12-sp,
  .u-px-12-sp {
    padding-right: 0.75rem !important;
  }
  .u-pb-12-sp,
  .u-py-12-sp {
    padding-bottom: 0.75rem !important;
  }
  .u-pl-12-sp,
  .u-px-12-sp {
    padding-left: 0.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-12-pc {
    padding: 0.75rem !important;
  }
  .u-pt-12-pc,
  .u-py-12-pc {
    padding-top: 0.75rem !important;
  }
  .u-pr-12-pc,
  .u-px-12-pc {
    padding-right: 0.75rem !important;
  }
  .u-pb-12-pc,
  .u-py-12-pc {
    padding-bottom: 0.75rem !important;
  }
  .u-pl-12-pc,
  .u-px-12-pc {
    padding-left: 0.75rem !important;
  }
}
.u-p-16 {
  padding: 1rem !important;
}

.u-pt-16,
.u-py-16 {
  padding-top: 1rem !important;
}

.u-pr-16,
.u-px-16 {
  padding-right: 1rem !important;
}

.u-pb-16,
.u-py-16 {
  padding-bottom: 1rem !important;
}

.u-pl-16,
.u-px-16 {
  padding-left: 1rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-16-sp {
    padding: 1rem !important;
  }
  .u-pt-16-sp,
  .u-py-16-sp {
    padding-top: 1rem !important;
  }
  .u-pr-16-sp,
  .u-px-16-sp {
    padding-right: 1rem !important;
  }
  .u-pb-16-sp,
  .u-py-16-sp {
    padding-bottom: 1rem !important;
  }
  .u-pl-16-sp,
  .u-px-16-sp {
    padding-left: 1rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-16-pc {
    padding: 1rem !important;
  }
  .u-pt-16-pc,
  .u-py-16-pc {
    padding-top: 1rem !important;
  }
  .u-pr-16-pc,
  .u-px-16-pc {
    padding-right: 1rem !important;
  }
  .u-pb-16-pc,
  .u-py-16-pc {
    padding-bottom: 1rem !important;
  }
  .u-pl-16-pc,
  .u-px-16-pc {
    padding-left: 1rem !important;
  }
}
.u-p-20 {
  padding: 1.25rem !important;
}

.u-pt-20,
.u-py-20 {
  padding-top: 1.25rem !important;
}

.u-pr-20,
.u-px-20 {
  padding-right: 1.25rem !important;
}

.u-pb-20,
.u-py-20 {
  padding-bottom: 1.25rem !important;
}

.u-pl-20,
.u-px-20 {
  padding-left: 1.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-20-sp {
    padding: 1.25rem !important;
  }
  .u-pt-20-sp,
  .u-py-20-sp {
    padding-top: 1.25rem !important;
  }
  .u-pr-20-sp,
  .u-px-20-sp {
    padding-right: 1.25rem !important;
  }
  .u-pb-20-sp,
  .u-py-20-sp {
    padding-bottom: 1.25rem !important;
  }
  .u-pl-20-sp,
  .u-px-20-sp {
    padding-left: 1.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-20-pc {
    padding: 1.25rem !important;
  }
  .u-pt-20-pc,
  .u-py-20-pc {
    padding-top: 1.25rem !important;
  }
  .u-pr-20-pc,
  .u-px-20-pc {
    padding-right: 1.25rem !important;
  }
  .u-pb-20-pc,
  .u-py-20-pc {
    padding-bottom: 1.25rem !important;
  }
  .u-pl-20-pc,
  .u-px-20-pc {
    padding-left: 1.25rem !important;
  }
}
.u-p-24 {
  padding: 1.5rem !important;
}

.u-pt-24,
.u-py-24 {
  padding-top: 1.5rem !important;
}

.u-pr-24,
.u-px-24 {
  padding-right: 1.5rem !important;
}

.u-pb-24,
.u-py-24 {
  padding-bottom: 1.5rem !important;
}

.u-pl-24,
.u-px-24 {
  padding-left: 1.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-24-sp {
    padding: 1.5rem !important;
  }
  .u-pt-24-sp,
  .u-py-24-sp {
    padding-top: 1.5rem !important;
  }
  .u-pr-24-sp,
  .u-px-24-sp {
    padding-right: 1.5rem !important;
  }
  .u-pb-24-sp,
  .u-py-24-sp {
    padding-bottom: 1.5rem !important;
  }
  .u-pl-24-sp,
  .u-px-24-sp {
    padding-left: 1.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-24-pc {
    padding: 1.5rem !important;
  }
  .u-pt-24-pc,
  .u-py-24-pc {
    padding-top: 1.5rem !important;
  }
  .u-pr-24-pc,
  .u-px-24-pc {
    padding-right: 1.5rem !important;
  }
  .u-pb-24-pc,
  .u-py-24-pc {
    padding-bottom: 1.5rem !important;
  }
  .u-pl-24-pc,
  .u-px-24-pc {
    padding-left: 1.5rem !important;
  }
}
.u-p-28 {
  padding: 1.75rem !important;
}

.u-pt-28,
.u-py-28 {
  padding-top: 1.75rem !important;
}

.u-pr-28,
.u-px-28 {
  padding-right: 1.75rem !important;
}

.u-pb-28,
.u-py-28 {
  padding-bottom: 1.75rem !important;
}

.u-pl-28,
.u-px-28 {
  padding-left: 1.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-28-sp {
    padding: 1.75rem !important;
  }
  .u-pt-28-sp,
  .u-py-28-sp {
    padding-top: 1.75rem !important;
  }
  .u-pr-28-sp,
  .u-px-28-sp {
    padding-right: 1.75rem !important;
  }
  .u-pb-28-sp,
  .u-py-28-sp {
    padding-bottom: 1.75rem !important;
  }
  .u-pl-28-sp,
  .u-px-28-sp {
    padding-left: 1.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-28-pc {
    padding: 1.75rem !important;
  }
  .u-pt-28-pc,
  .u-py-28-pc {
    padding-top: 1.75rem !important;
  }
  .u-pr-28-pc,
  .u-px-28-pc {
    padding-right: 1.75rem !important;
  }
  .u-pb-28-pc,
  .u-py-28-pc {
    padding-bottom: 1.75rem !important;
  }
  .u-pl-28-pc,
  .u-px-28-pc {
    padding-left: 1.75rem !important;
  }
}
.u-p-32 {
  padding: 2rem !important;
}

.u-pt-32,
.u-py-32 {
  padding-top: 2rem !important;
}

.u-pr-32,
.u-px-32 {
  padding-right: 2rem !important;
}

.u-pb-32,
.u-py-32 {
  padding-bottom: 2rem !important;
}

.u-pl-32,
.u-px-32 {
  padding-left: 2rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-32-sp {
    padding: 2rem !important;
  }
  .u-pt-32-sp,
  .u-py-32-sp {
    padding-top: 2rem !important;
  }
  .u-pr-32-sp,
  .u-px-32-sp {
    padding-right: 2rem !important;
  }
  .u-pb-32-sp,
  .u-py-32-sp {
    padding-bottom: 2rem !important;
  }
  .u-pl-32-sp,
  .u-px-32-sp {
    padding-left: 2rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-32-pc {
    padding: 2rem !important;
  }
  .u-pt-32-pc,
  .u-py-32-pc {
    padding-top: 2rem !important;
  }
  .u-pr-32-pc,
  .u-px-32-pc {
    padding-right: 2rem !important;
  }
  .u-pb-32-pc,
  .u-py-32-pc {
    padding-bottom: 2rem !important;
  }
  .u-pl-32-pc,
  .u-px-32-pc {
    padding-left: 2rem !important;
  }
}
.u-p-36 {
  padding: 2.25rem !important;
}

.u-pt-36,
.u-py-36 {
  padding-top: 2.25rem !important;
}

.u-pr-36,
.u-px-36 {
  padding-right: 2.25rem !important;
}

.u-pb-36,
.u-py-36 {
  padding-bottom: 2.25rem !important;
}

.u-pl-36,
.u-px-36 {
  padding-left: 2.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-36-sp {
    padding: 2.25rem !important;
  }
  .u-pt-36-sp,
  .u-py-36-sp {
    padding-top: 2.25rem !important;
  }
  .u-pr-36-sp,
  .u-px-36-sp {
    padding-right: 2.25rem !important;
  }
  .u-pb-36-sp,
  .u-py-36-sp {
    padding-bottom: 2.25rem !important;
  }
  .u-pl-36-sp,
  .u-px-36-sp {
    padding-left: 2.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-36-pc {
    padding: 2.25rem !important;
  }
  .u-pt-36-pc,
  .u-py-36-pc {
    padding-top: 2.25rem !important;
  }
  .u-pr-36-pc,
  .u-px-36-pc {
    padding-right: 2.25rem !important;
  }
  .u-pb-36-pc,
  .u-py-36-pc {
    padding-bottom: 2.25rem !important;
  }
  .u-pl-36-pc,
  .u-px-36-pc {
    padding-left: 2.25rem !important;
  }
}
.u-p-40 {
  padding: 2.5rem !important;
}

.u-pt-40,
.u-py-40 {
  padding-top: 2.5rem !important;
}

.u-pr-40,
.u-px-40 {
  padding-right: 2.5rem !important;
}

.u-pb-40,
.u-py-40 {
  padding-bottom: 2.5rem !important;
}

.u-pl-40,
.u-px-40 {
  padding-left: 2.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-40-sp {
    padding: 2.5rem !important;
  }
  .u-pt-40-sp,
  .u-py-40-sp {
    padding-top: 2.5rem !important;
  }
  .u-pr-40-sp,
  .u-px-40-sp {
    padding-right: 2.5rem !important;
  }
  .u-pb-40-sp,
  .u-py-40-sp {
    padding-bottom: 2.5rem !important;
  }
  .u-pl-40-sp,
  .u-px-40-sp {
    padding-left: 2.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-40-pc {
    padding: 2.5rem !important;
  }
  .u-pt-40-pc,
  .u-py-40-pc {
    padding-top: 2.5rem !important;
  }
  .u-pr-40-pc,
  .u-px-40-pc {
    padding-right: 2.5rem !important;
  }
  .u-pb-40-pc,
  .u-py-40-pc {
    padding-bottom: 2.5rem !important;
  }
  .u-pl-40-pc,
  .u-px-40-pc {
    padding-left: 2.5rem !important;
  }
}
.u-p-48 {
  padding: 3rem !important;
}

.u-pt-48,
.u-py-48 {
  padding-top: 3rem !important;
}

.u-pr-48,
.u-px-48 {
  padding-right: 3rem !important;
}

.u-pb-48,
.u-py-48 {
  padding-bottom: 3rem !important;
}

.u-pl-48,
.u-px-48 {
  padding-left: 3rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-48-sp {
    padding: 3rem !important;
  }
  .u-pt-48-sp,
  .u-py-48-sp {
    padding-top: 3rem !important;
  }
  .u-pr-48-sp,
  .u-px-48-sp {
    padding-right: 3rem !important;
  }
  .u-pb-48-sp,
  .u-py-48-sp {
    padding-bottom: 3rem !important;
  }
  .u-pl-48-sp,
  .u-px-48-sp {
    padding-left: 3rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-48-pc {
    padding: 3rem !important;
  }
  .u-pt-48-pc,
  .u-py-48-pc {
    padding-top: 3rem !important;
  }
  .u-pr-48-pc,
  .u-px-48-pc {
    padding-right: 3rem !important;
  }
  .u-pb-48-pc,
  .u-py-48-pc {
    padding-bottom: 3rem !important;
  }
  .u-pl-48-pc,
  .u-px-48-pc {
    padding-left: 3rem !important;
  }
}
.u-p-56 {
  padding: 3.5rem !important;
}

.u-pt-56,
.u-py-56 {
  padding-top: 3.5rem !important;
}

.u-pr-56,
.u-px-56 {
  padding-right: 3.5rem !important;
}

.u-pb-56,
.u-py-56 {
  padding-bottom: 3.5rem !important;
}

.u-pl-56,
.u-px-56 {
  padding-left: 3.5rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-56-sp {
    padding: 3.5rem !important;
  }
  .u-pt-56-sp,
  .u-py-56-sp {
    padding-top: 3.5rem !important;
  }
  .u-pr-56-sp,
  .u-px-56-sp {
    padding-right: 3.5rem !important;
  }
  .u-pb-56-sp,
  .u-py-56-sp {
    padding-bottom: 3.5rem !important;
  }
  .u-pl-56-sp,
  .u-px-56-sp {
    padding-left: 3.5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-56-pc {
    padding: 3.5rem !important;
  }
  .u-pt-56-pc,
  .u-py-56-pc {
    padding-top: 3.5rem !important;
  }
  .u-pr-56-pc,
  .u-px-56-pc {
    padding-right: 3.5rem !important;
  }
  .u-pb-56-pc,
  .u-py-56-pc {
    padding-bottom: 3.5rem !important;
  }
  .u-pl-56-pc,
  .u-px-56-pc {
    padding-left: 3.5rem !important;
  }
}
.u-p-60 {
  padding: 3.75rem !important;
}

.u-pt-60,
.u-py-60 {
  padding-top: 3.75rem !important;
}

.u-pr-60,
.u-px-60 {
  padding-right: 3.75rem !important;
}

.u-pb-60,
.u-py-60 {
  padding-bottom: 3.75rem !important;
}

.u-pl-60,
.u-px-60 {
  padding-left: 3.75rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-60-sp {
    padding: 3.75rem !important;
  }
  .u-pt-60-sp,
  .u-py-60-sp {
    padding-top: 3.75rem !important;
  }
  .u-pr-60-sp,
  .u-px-60-sp {
    padding-right: 3.75rem !important;
  }
  .u-pb-60-sp,
  .u-py-60-sp {
    padding-bottom: 3.75rem !important;
  }
  .u-pl-60-sp,
  .u-px-60-sp {
    padding-left: 3.75rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-60-pc {
    padding: 3.75rem !important;
  }
  .u-pt-60-pc,
  .u-py-60-pc {
    padding-top: 3.75rem !important;
  }
  .u-pr-60-pc,
  .u-px-60-pc {
    padding-right: 3.75rem !important;
  }
  .u-pb-60-pc,
  .u-py-60-pc {
    padding-bottom: 3.75rem !important;
  }
  .u-pl-60-pc,
  .u-px-60-pc {
    padding-left: 3.75rem !important;
  }
}
.u-p-80 {
  padding: 5rem !important;
}

.u-pt-80,
.u-py-80 {
  padding-top: 5rem !important;
}

.u-pr-80,
.u-px-80 {
  padding-right: 5rem !important;
}

.u-pb-80,
.u-py-80 {
  padding-bottom: 5rem !important;
}

.u-pl-80,
.u-px-80 {
  padding-left: 5rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-80-sp {
    padding: 5rem !important;
  }
  .u-pt-80-sp,
  .u-py-80-sp {
    padding-top: 5rem !important;
  }
  .u-pr-80-sp,
  .u-px-80-sp {
    padding-right: 5rem !important;
  }
  .u-pb-80-sp,
  .u-py-80-sp {
    padding-bottom: 5rem !important;
  }
  .u-pl-80-sp,
  .u-px-80-sp {
    padding-left: 5rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-80-pc {
    padding: 5rem !important;
  }
  .u-pt-80-pc,
  .u-py-80-pc {
    padding-top: 5rem !important;
  }
  .u-pr-80-pc,
  .u-px-80-pc {
    padding-right: 5rem !important;
  }
  .u-pb-80-pc,
  .u-py-80-pc {
    padding-bottom: 5rem !important;
  }
  .u-pl-80-pc,
  .u-px-80-pc {
    padding-left: 5rem !important;
  }
}
.u-p-100 {
  padding: 6.25rem !important;
}

.u-pt-100,
.u-py-100 {
  padding-top: 6.25rem !important;
}

.u-pr-100,
.u-px-100 {
  padding-right: 6.25rem !important;
}

.u-pb-100,
.u-py-100 {
  padding-bottom: 6.25rem !important;
}

.u-pl-100,
.u-px-100 {
  padding-left: 6.25rem !important;
}

@media screen and (max-width: 768px) {
  .u-p-100-sp {
    padding: 6.25rem !important;
  }
  .u-pt-100-sp,
  .u-py-100-sp {
    padding-top: 6.25rem !important;
  }
  .u-pr-100-sp,
  .u-px-100-sp {
    padding-right: 6.25rem !important;
  }
  .u-pb-100-sp,
  .u-py-100-sp {
    padding-bottom: 6.25rem !important;
  }
  .u-pl-100-sp,
  .u-px-100-sp {
    padding-left: 6.25rem !important;
  }
}
@media screen and (min-width: 768px) {
  .u-p-100-pc {
    padding: 6.25rem !important;
  }
  .u-pt-100-pc,
  .u-py-100-pc {
    padding-top: 6.25rem !important;
  }
  .u-pr-100-pc,
  .u-px-100-pc {
    padding-right: 6.25rem !important;
  }
  .u-pb-100-pc,
  .u-py-100-pc {
    padding-bottom: 6.25rem !important;
  }
  .u-pl-100-pc,
  .u-px-100-pc {
    padding-left: 6.25rem !important;
  }
}
.u-m-auto {
  margin: auto !important;
}

.u-mt-auto,
.u-my-auto {
  margin-top: auto !important;
}

.u-mr-auto,
.u-mx-auto {
  margin-right: auto !important;
}

.u-mb-auto,
.u-my-auto {
  margin-bottom: auto !important;
}

.u-ml-auto,
.u-mx-auto {
  margin-left: auto !important;
}

.u-wd-auto {
  width: auto !important;
}
.u-wd-620per {
  width: 620% !important;
}
.u-wd-620px {
  width: 620px !important;
}
.u-wd-300per {
  width: 300% !important;
}
.u-wd-300px {
  width: 300px !important;
}
.u-wd-267per {
  width: 267% !important;
}
.u-wd-267px {
  width: 267px !important;
}
.u-wd-200per {
  width: 200% !important;
}
.u-wd-200px {
  width: 200px !important;
}
.u-wd-100per {
  width: 100% !important;
}
.u-wd-100px {
  width: 100px !important;
}
.u-wd-96per {
  width: 96% !important;
}
.u-wd-96px {
  width: 96px !important;
}
.u-wd-92per {
  width: 92% !important;
}
.u-wd-92px {
  width: 92px !important;
}
.u-wd-88per {
  width: 88% !important;
}
.u-wd-88px {
  width: 88px !important;
}
.u-wd-84per {
  width: 84% !important;
}
.u-wd-84px {
  width: 84px !important;
}
.u-wd-80per {
  width: 80% !important;
}
.u-wd-80px {
  width: 80px !important;
}
.u-wd-76per {
  width: 76% !important;
}
.u-wd-76px {
  width: 76px !important;
}
.u-wd-72per {
  width: 72% !important;
}
.u-wd-72px {
  width: 72px !important;
}
.u-wd-68per {
  width: 68% !important;
}
.u-wd-68px {
  width: 68px !important;
}
.u-wd-64per {
  width: 64% !important;
}
.u-wd-64px {
  width: 64px !important;
}
.u-wd-60per {
  width: 60% !important;
}
.u-wd-60px {
  width: 60px !important;
}
.u-wd-56per {
  width: 56% !important;
}
.u-wd-56px {
  width: 56px !important;
}
.u-wd-52per {
  width: 52% !important;
}
.u-wd-52px {
  width: 52px !important;
}
.u-wd-48per {
  width: 48% !important;
}
.u-wd-48px {
  width: 48px !important;
}
.u-wd-44per {
  width: 44% !important;
}
.u-wd-44px {
  width: 44px !important;
}
.u-wd-40per {
  width: 40% !important;
}
.u-wd-40px {
  width: 40px !important;
}
.u-wd-36per {
  width: 36% !important;
}
.u-wd-36px {
  width: 36px !important;
}
.u-wd-32per {
  width: 32% !important;
}
.u-wd-32px {
  width: 32px !important;
}
.u-wd-28per {
  width: 28% !important;
}
.u-wd-28px {
  width: 28px !important;
}
.u-wd-24per {
  width: 24% !important;
}
.u-wd-24px {
  width: 24px !important;
}
.u-wd-20per {
  width: 20% !important;
}
.u-wd-20px {
  width: 20px !important;
}
.u-wd-16per {
  width: 16% !important;
}
.u-wd-16px {
  width: 16px !important;
}
.u-wd-12per {
  width: 12% !important;
}
.u-wd-12px {
  width: 12px !important;
}
.u-wd-8per {
  width: 8% !important;
}
.u-wd-8px {
  width: 8px !important;
}
.u-wd-4per {
  width: 4% !important;
}
.u-wd-4px {
  width: 4px !important;
}
.u-wd-0per {
  width: 0% !important;
}
.u-wd-0px {
  width: 0px !important;
}
@media screen and (max-width: 768px) {
  .u-wd-620per-sp {
    width: 620% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-620px-sp {
    width: 165.3333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-300per-sp {
    width: 300% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-300px-sp {
    width: 80vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-267per-sp {
    width: 267% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-267px-sp {
    width: 71.2vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-200per-sp {
    width: 200% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-200px-sp {
    width: 53.3333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-100per-sp {
    width: 100% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-100px-sp {
    width: 26.6666666667vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-96per-sp {
    width: 96% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-96px-sp {
    width: 25.6vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-92per-sp {
    width: 92% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-92px-sp {
    width: 24.5333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-88per-sp {
    width: 88% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-88px-sp {
    width: 23.4666666667vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-84per-sp {
    width: 84% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-84px-sp {
    width: 22.4vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-80per-sp {
    width: 80% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-80px-sp {
    width: 21.3333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-76per-sp {
    width: 76% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-76px-sp {
    width: 20.2666666667vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-72per-sp {
    width: 72% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-72px-sp {
    width: 19.2vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-68per-sp {
    width: 68% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-68px-sp {
    width: 18.1333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-64per-sp {
    width: 64% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-64px-sp {
    width: 17.0666666667vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-60per-sp {
    width: 60% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-60px-sp {
    width: 16vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-56per-sp {
    width: 56% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-56px-sp {
    width: 14.9333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-52per-sp {
    width: 52% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-52px-sp {
    width: 13.8666666667vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-48per-sp {
    width: 48% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-48px-sp {
    width: 12.8vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-44per-sp {
    width: 44% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-44px-sp {
    width: 11.7333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-40per-sp {
    width: 40% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-40px-sp {
    width: 10.6666666667vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-36per-sp {
    width: 36% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-36px-sp {
    width: 9.6vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-32per-sp {
    width: 32% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-32px-sp {
    width: 8.5333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-28per-sp {
    width: 28% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-28px-sp {
    width: 7.4666666667vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-24per-sp {
    width: 24% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-24px-sp {
    width: 6.4vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-20per-sp {
    width: 20% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-20px-sp {
    width: 5.3333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-16per-sp {
    width: 16% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-16px-sp {
    width: 4.2666666667vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-12per-sp {
    width: 12% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-12px-sp {
    width: 3.2vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-8per-sp {
    width: 8% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-8px-sp {
    width: 2.1333333333vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-4per-sp {
    width: 4% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-4px-sp {
    width: 1.0666666667vw !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-0per-sp {
    width: 0% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-wd-0px-sp {
    width: 0vw !important;
  }
}
.u-wd--auto {
  width: auto !important;
}

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

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

.u-align--center {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .u-align--center-sp {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .u-align--center-pc {
    text-align: center;
  }
}
.u-align--right {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .u-align--right-sp {
    text-align: right;
  }
}
@media screen and (min-width: 768px) {
  .u-align--right-pc {
    text-align: right;
  }
}
.u-align--left {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .u-align--left-sp {
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .u-align--left-pc {
    text-align: left;
  }
}
.u-align--top {
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .u-align--top-sp {
    vertical-align: top;
  }
}
@media screen and (min-width: 768px) {
  .u-align--top-pc {
    vertical-align: top;
  }
}
.u-align--middle {
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .u-align--middle-sp {
    vertical-align: middle;
  }
}
@media screen and (min-width: 768px) {
  .u-align--middle-pc {
    vertical-align: middle;
  }
}
.u-align--bottom {
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  .u-align--bottom-sp {
    vertical-align: bottom;
  }
}
@media screen and (min-width: 768px) {
  .u-align--bottom-pc {
    vertical-align: bottom;
  }
}
.u-align--auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-text--link {
  color: #0083E0;
  text-decoration: underline;
}
.u-text--link:hover {
  text-decoration: none;
}
.u-text--bold {
  font-weight: 700;
}
.u-text--red {
  color: #EC0000;
}

.u-icon {
  position: relative;
}
.u-icon--tab:after {
  position: absolute;
  display: block;
  content: "";
  width: 1rem;
  height: 1rem;
  background: url(../images/icon-tab03.svg) no-repeat center center/100% auto;
  right: -1.5rem;
  top: 0;
  bottom: 0;
  margin: auto;
}

.u-flex {
  display: flex;
}
.u-flex--wrap {
  flex-wrap: wrap;
}
.u-flex--aic {
  align-items: center;
}
.u-flex--aib {
  align-items: baseline;
}
.u-flex--aie {
  align-items: end;
}
.u-flex--ais {
  align-items: start;
}
.u-flex--jcsb {
  justify-content: space-between;
}
.u-flex--jcc {
  justify-content: center;
}
.u-flex--jce {
  justify-content: end;
}
.u-flex--jcsa {
  justify-content: start;
}

.u-hover:hover {
  opacity: 0.8;
  transition: 0.3s;
}

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