@charset "UTF-8";
/*
Theme Name: theme name
Description: description
Author:yashibous
Author URI: https://yashibous.com
*/
/* 
 * Mixin
 * --------------------------
 */
/*
 * responsive.scss
 */
/*
 * text-setting.scss
 */
@import url("https://fonts.googleapis.com/css2?family=Klee+One:wght@400;600&family=Noto+Sans+JP:wght@400..900&family=Zen+Old+Mincho:wght@400;500&display=swap");
/* 
 * Base
 * --------------------------
 */
/*
 * base.scss
 */
body {
  margin: 0 auto;
  font-family: "Klee One", cursive;
  font-feature-settings: "palt";
  font-weight: 600;
  line-height: 1.3;
  background-color: #163e64;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

main {
  background-color: #163e64;
}

img {
  object-fit: contain;
  object-position: top left;
}

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

a:hover {
  translate: 0 1px;
}

/*
 * function.scss
 */
/*
 * variables.scss
 */
/*
 * ビューポートサイズ
 */
/*
 * デザイン幅
 */
/*
 * デザイン幅
 */
/*
 * カラーパレット
 */
/*
 * template.scss
 */
/*
 * layout
 */
.layout__list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.layout__item {
  width: 100%;
  /* height: 30vh; */
  background-color: rgba(136, 255, 255, 0.3333333333);
}

.layout__item-content {
  width: 100%;
  height: 100%;
}

.layout__item-title {
  padding: 0.5rem 0;
}

/*
* parts
*/
.parts__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 50px 30px;
}

.parts__item {
  border: 1px solid #333;
  width: 50%;
  flex-basis: calc(50% - 15px);
  padding: 20px;
  background-color: #fdd;
}

.parts__title {
  padding-bottom: 3px;
  border-bottom: 1px solid #333;
  margin-bottom: 20px;
}

.parts__content {
  width: 100%;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #333;
}
.parts__content--l {
  max-width: 100%;
}

.parts__img {
  width: 100%;
}

.parts__img2 {
  width: 317px;
  background-color: #fff;
}
.parts__img2 img {
  background-color: #ffe;
}

.parts__text {
  font-family: YakuHanMP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  color: #171717;
  text-align: left;
}

/* 
 * Module
 * --------------------------
 */
/*
 * layout.scss
 */
.layout03__item, .layout03__list, .layout02__text, .layout02__img, .layout01__block {
  border: 1px solid red;
  background-color: rgba(221, 221, 255, 0.5333333333);
  width: 100%;
  padding: 2rem;
}

.layout01 {
  height: 100%;
}
.layout01 .layout01__wrapper--horizontal, .layout01 .layout01__wrapper--vertical {
  display: flex;
  flex-wrap: nowrap;
  gap: 3%;
  height: 100%;
}
.layout01__wrapper--vertical {
  flex-direction: column;
}
.layout01__wrapper--horizontal {
  flex-direction: row;
}
.layout02__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.layout02 .layout02__item--reverse, .layout02 .layout02__item {
  display: flex;
  justify-content: space-between;
  gap: 3%;
}
.layout02__item {
  flex-direction: row;
}
.layout02__item--reverse {
  flex-direction: row-reverse;
}
.layout02__img {
  margin-left: auto;
  margin-right: auto;
  width: 32%;
}
.layout02__text {
  font-family: YakuHanMP, "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #171717;
  text-align: center;
  width: 65%;
}

.layout03__list {
  display: flex;
  justify-content: space-between;
}
.layout03__item {
  width: 30%;
  height: 50%;
}
.layout03__item:nth-child(1) {
  margin-top: 0;
}
.layout03__item:nth-child(2) {
  margin-top: 20px;
}
.layout03__item:nth-child(3) {
  margin-top: 40px;
}

.layout04__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}
.layout04__item {
  width: 100%;
  height: 200px;
  background-color: rgba(221, 221, 255, 0.5333333333);
}
@media screen and (min-width: 750px) {
  .layout04__item {
    width: 48%;
  }
}
@media screen and (min-width: 1280px) {
  .layout04__item {
    width: 30%;
  }
}

.layout05__mainvisual {
  width: 100%;
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
.layout05__contents {
  width: 100%;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

.layout06 {
  position: relative;
  height: 500px;
}
.layout06 .bg {
  display: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: linear-gradient(rgba(111, 0, 0, 0.5), rgba(111, 111, 111, 0.5));
}
@media screen and (min-width: 1280px) {
  .layout06 .bg {
    display: block;
  }
}
.layout06 .bg__contents {
  position: absolute;
}
.layout06 .bg__contents {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-end;
  width: fit-content;
  right: 40px;
  top: 100px;
}
.layout06 .contents {
  max-width: 100%;
  width: 100%;
  height: 100%;
  overflow: auto;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
  background-color: #fff;
  left: 0;
}
@media screen and (min-width: 1280px) {
  .layout06 .contents {
    position: relative;
  }
}
@media screen and (min-width: 1280px) {
  .layout06 .contents {
    max-width: 300px;
    left: -10%;
  }
}

/*
 * parts.scss
 */
.clipped-shadow {
  /* クリップ対象エリアのサイズ指定 */
  width: 100%;
  height: 100%;
  /* シャドウの指定。 */
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.5));
}

.clipped-shadow > * {
  /* クリップするpathを指定する */
  clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
  /* サイズは100%固定(親要素で指定する) */
  width: 100%;
  height: 100%;
}

.grid-area {
  display: grid;
  grid-template-areas: "main aside" "sub aside";
  grid-template-columns: 1fr 30%;
}
.grid-area__main {
  grid-area: main;
}
.grid-area__sub {
  grid-area: sub;
}
.grid-area__aside {
  grid-area: aside;
}

.footer-menu {
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer-menu__item:not(:last-child) {
  border-right: 1px solid #333;
}
.footer-menu__link {
  display: block;
  padding: 4px 10px;
}
.footer-menu__link:hover, .footer-menu__link:active {
  color: #00a;
}

/*
* card
*/
.card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
}
.card:hover .card__text {
  color: #08506a;
  transition: color 0.3s ease-out;
}
.card__img {
  border-radius: 5px;
  overflow: hidden;
}
.card__img img {
  object-fit: cover;
}
.card__textarea {
  display: flex;
  flex-direction: column;
  justify-content: flest-start;
  align-items: flex-start;
  gap: 5px;
  width: 100%;
}
.card__text {
  color: #171717;
  font-size: 11px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 0.55px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card__text.--white {
  color: #ffffff;
  font-size: 13px;
  letter-spacing: 1.3px;
  line-height: 20px;
}
.card__text-sub {
  width: 100%;
  color: #F59751;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1.1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.card--large {
  gap: 15px;
}
.card--large .card__text {
  color: #ffffff;
}
/*
* button
*/
.button {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-radius: 3px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1.6px;
  position: relative;
  width: 100%;
  height: 54px;
}
.button::after {
  position: absolute;
  content: "";
  background-image: url(../image/button-icon.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 14px;
  height: 6px;
  top: calc(50% - 2px);
  right: 15px;
}
.button.no-icon::after {
  content: none;
}
.button--primary {
  background-color: transparent;
  color: #ffffff;
  position: relative;
  z-index: 1;
}
.button--primary::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 220%;
  height: 100%;
  background: linear-gradient(60deg, #4D4D4D, #4D4D4D 50%, #08506a 50%);
  transition: left 0.3s ease;
  z-index: -1;
}
.button--primary:hover::before {
  left: 0;
}
.button--primary.--short {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.4px;
  height: 40px;
}
.button--primary.--short::after {
  top: 18px;
}
.button--primary.no-icon::after {
  content: none;
}
.button--primary.page-footer-banner__button {
  width: 400px;
}
.button--secondary {
  color: #08506a;
  position: relative;
  z-index: 1;
  border: 1px solid #08506a;
  background: #ffffff;
}
.button--secondary::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 220%;
  height: 100%;
  background: linear-gradient(60deg, #4D4D4D, #4D4D4D 50%, #ffffff 50%);
  transition: left 0.3s ease;
  z-index: -1;
}
.button--secondary:hover::before {
  left: 0;
}
.button--secondary::after {
  background-image: url(../image/button-icon--accent.svg);
}
.button--secondary.page-register-info__button {
  margin-left: auto;
  margin-right: auto;
  height: 50px;
}
.button--secondary.page-register-info__button::after {
  top: 20px;
}
.button--add-list {
  border-radius: 3px;
  border: 1px solid #E88B1F;
  background: #FFF;
  color: #E88B1F;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.4px;
  display: flex;
}
.button--add-list::before {
  display: inline-block;
  content: "";
  background-image: url(../image/button-addlist.svg);
  background-size: 100%;
  width: 15px;
  height: 15px;
  margin-right: 5px;
}
.button--add-list.active::before {
  background-image: url(../image/button-addlist--selected.svg);
}
.button--add-list:hover {
  background-color: #FFFAF5;
}
.button--add-list.active {
  background-color: #E88B1F;
  color: #ffffff;
}
.button--add-list.active::after {
  content: "済";
  color: #ffffff;
  position: relative;
  background-image: unset;
  width: unset;
  height: unset;
  top: unset;
  right: unset;
}
.button--add-list.--short {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.4px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.button--add-list.--short::before {
  margin-right: 0;
}
.button--add-list.--short::after {
  position: relative;
  content: "追加";
  background-image: unset;
  width: auto;
  height: unset;
  top: unset;
  right: unset;
}
.button--add-list.--short.active::after {
  content: "外す";
}
.button--clear {
  display: block;
  width: fit-content;
  height: fit-content;
  margin-left: auto;
  margin-right: auto;
  color: #08506a;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.3px;
  background-color: transparent;
  padding: 0;
}
.button--clear::after {
  content: none;
}
.button--clear:hover {
  background-color: transparent;
}
.button--clear.remodal__sub-contnet-trigger {
  font-size: 12px;
  letter-spacing: 1.2px;
}
.button--large {
  height: 73px;
}
.button--large::after {
  top: 34px;
}
.button--login {
  background-color: #F59751;
  color: #ffffff;
  text-align: center;
  transition: background-color 0.3s ease-out;
}
.button--login.active {
  background-color: #08506a;
}
.button--login.active:hover {
  background-color: #4D4D4D;
}

/*
* tag
*/
.tag {
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.84px;
  display: flex;
  padding: 5px 10px;
  align-items: center;
  gap: 10px;
  background-color: #08506a;
  border-radius: 5px;
  width: fit-content;
}
.tag::before {
  content: "";
  background-image: url(../image/tag-xmark.svg);
  background-size: 100% 100%;
  width: 10px;
  height: 10px;
}
.tag--small {
  font-size: 12px;
  letter-spacing: 0.84px;
}

/*
* accordion
*/
.accordion {
  list-style: none;
  margin-top: 10px;
}
.accordion__parts {
  margin-top: 10px;
  padding: 5px 10px;
}
.accordion__title {
  position: relative;
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.accordion__title::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url(../image/accordion-icon.svg);
  background-size: 100% 100%;
  transform: rotate(180deg);
  transition: transform 0.3s ease-out;
}
.accordion__title.page-register-info__accord-title::after {
  background-image: url(../image/accordion-icon--accent.svg);
}
.accordion__title.close::after {
  transform: rotate(0deg);
}
.accordion__title.page-register-info__accord-title {
  justify-content: center;
}
.accordion__box {
  display: none;
  margin-top: 10px;
}
.accordion__box.page-register-info__accord-box {
  margin-top: 20px;
}

/*
*
* sorting
*/
.sorting {
  position: relative;
  width: 114px;
}
.sorting.dashboard-info__top-right {
  width: 100px;
}
.sorting.dashboard-info__top-right .sorting__select {
  padding: 7px 10px 7px 30px;
}
.sorting::before {
  position: absolute;
  content: "";
  display: inline-block;
  background-image: url(../image/parts__icon--sorting.svg);
  background-size: 100% 100%;
  width: 15px;
  height: 15px;
  top: 7px;
  left: 10px;
}
.sorting__select {
  display: flex;
  align-items: flex-end;
  flex-shrink: 0;
  gap: 5px;
  width: 100%;
  height: 29px;
  padding: 7px 10px 7px 30px;
  color: #08506a;
  font-size: 13px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: 0.91px;
  text-align: left;
  border-radius: 43px;
  background: #4D4D4D;
  cursor: pointer;
}

/*
* icons
*/
.icons {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0;
}

.icon::before {
  display: inline-block;
  content: "";
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.icon--visible::before {
  background-image: url(../image/parts__icon--invisible.svg);
  width: 1em;
  height: 1em;
}
.icon--visible.active::before {
  background-image: url(../image/parts__icon--visible.svg);
}
.icon--open-in-new {
  position: relative;
  display: inline;
}
.icon--open-in-new::before {
  content: none;
}
.icon--open-in-new::after {
  content: none;
  display: inline-block;
  margin-left: 5px;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../image/parts__icon--open-in-new.svg);
  width: 1em;
  height: 1em;
  position: relative;
  top: 2px;
}
.icon--open-in-new:hover::after {
  content: "";
}

/*
* checkbox
*/
.checkbox {
  display: inline-flex;
  padding: 5px;
  cursor: pointer;
}
.checkbox input {
  display: none;
}
.checkbox input[type=checkbox] + span {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
  position: relative;
  color: #171717;
}
.checkbox input[type=checkbox] + span::before {
  width: 20px;
  height: 20px;
  content: "";
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../image/parts__icon--checkbox.svg);
}
.checkbox input[type=checkbox]:checked + span {
  color: #08506a;
}
.checkbox input[type=checkbox]:checked + span::before {
  background-image: url(../image/parts__icon--checkbox-checked.svg);
}

/*
* radio-button
*/
.radio-button {
  display: block;
}
.radio-button input {
  display: none;
}
.radio-button input[type=radio] + span {
  display: block;
  position: relative;
  padding: 15px;
  width: auto;
  color: #171717;
  text-align: center;
  border-radius: 3px;
  background-color: #4D4D4D;
}
.radio-button input[type=radio]:checked + span {
  color: #ffffff;
  background-color: #08506a;
}

/*
* switching-component
*/
.switching-component__tab-group {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.switching-component__tab {
  width: fit-content;
  padding: 10px;
  background-color: #eee;
}
.switching-component__tab--current {
  background-color: #fff;
}
.switching-component__content-group {
  position: relative;
}
.switching-component__content {
  background-color: #ffffff;
  position: relative;
  top: 0;
  left: 0;
  display: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
  padding: 10px;
}
.switching-component__content--visible {
  display: block;
  opacity: 1;
  visibility: visible;
}

/*
* textlink
*/
.textlink {
  color: #08506a;
  transition: color 0.3s ease-out;
}
.textlink:hover {
  color: #171717;
}

/*
* form-icon
*/
.form-icon {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.form-icon::after {
  display: flex;
  padding: 4px 6px;
  justify-content: center;
  align-items: center;
  border-radius: 11px;
  background-color: #F59751;
  content: "任意";
  color: #ffffff;
  text-align: justify;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  line-height: 1;
}
.form-icon--required::after {
  content: "必須";
  background-color: #F24E1E;
}

/*
 * section.scss
 */
.section {
  position: relative;
  z-index: 10;
  /* セクションごとのレイアウト */
}
.section__inner {
  max-width: 750px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1280px) {
  .section__inner {
    max-width: 950px;
    padding-left: 30px;
    padding-right: 30px;
  }
}
.section__contents {
  padding-top: 30px;
  padding-bottom: 30px;
}
@media screen and (min-width: 1280px) {
  .section__contents {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.section__title {
  background-color: #3f979b;
  font-family: YakuHanMP, "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1;
  color: #433F40;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (min-width: 1280px) {
  .section__title {
    font-family: YakuHanMP, "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 1;
    color: #433F40;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.section__image {
  width: 100%;
}
/*
 * sec.scss
 */
.layout {
  background-color: rgba(136, 255, 255, 0.3333333333);
}

/*
* sec-manga
*/
.sec-manga {
  background-color: #3f979b;
}

.sec-manga__content {
  width: clamp(1px, 80vw, 600px);
  margin-inline: auto;
}

.sec-manga__dummy {
  width: 100%;
  height: 400px;
  background-color: gray;
  display: grid;
  place-content: center;
}

/*
* sec01
*/
.sec01 {
  background-color: #3f979b;
  padding-top: clamp(1px, 6.6666666667vw, 50px);
  padding-bottom: clamp(1px, 6.6666666667vw, 50px);
}

.sec01__title {
  font-weight: 700;
  font-size: clamp(1px, 4.2666666667vw, 32px);
  color: #ffffff;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: clamp(1px, 2.6666666667vw, 20px);
}

.sec01__image-box {
  width: clamp(1px, 53.3333333333vw, 400px);
  margin-inline: auto;
  margin-bottom: clamp(1px, 4vw, 30px);
  display: grid;
  place-content: center;
}

.sec01__image-box2 {
  width: clamp(1px, 80vw, 600px);
  margin-inline: auto;
  margin-bottom: clamp(1px, 6.6666666667vw, 50px);
}

.sec01__box1 {
  background-color: #f0feeb;
  border-radius: clamp(1px, 4vw, 30px);
  padding: clamp(1px, 6.6666666667vw, 50px) clamp(1px, 2.6666666667vw, 20px) clamp(1px, 6.6666666667vw, 50px);
  box-shadow: 0 0 clamp(1px, 0.6666666667vw, 5px) clamp(1px, 0.4vw, 3px) #f0feeb;
}

.sec01__text1 {
  font-weight: 700;
  font-size: clamp(1px, 4.2666666667vw, 32px);
  color: #08506a;
  text-align: center;
  margin-bottom: clamp(1px, 8vw, 60px);
}

.sec01__box2 {
  margin-bottom: clamp(1px, 8vw, 60px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(1px, 6.6666666667vw, 50px);
}

.sec01__app-icon {
  width: clamp(1px, 16vw, 120px);
  filter: drop-shadow(clamp(1px, 0.4vw, 3px) clamp(1px, 0.4vw, 3px) clamp(1px, 0.4vw, 3px) rgba(0, 0, 0, 0.5333333333));
}

.sec01__text5 {
  font-weight: 400;
  font-size: clamp(1px, 8.5333333333vw, 64px);
  letter-spacing: -0.025em;
  background: rgb(155, 153, 255);
  background: linear-gradient(36deg, rgb(155, 153, 255) 0%, rgb(153, 164, 255) 31%, rgb(62, 211, 252) 64%, rgb(48, 71, 252) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.sec01__text2 {
  font-size: clamp(1px, 3.7333333333vw, 28px);
  color: #08506a;
  text-align: left;
  margin-bottom: clamp(1px, 5.3333333333vw, 40px);
}

.sec01__box3 {
  margin-bottom: clamp(1px, 2.6666666667vw, 20px);
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 1280px) {
  .sec01__box3 {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 50px;
  }
}

.sec01__list2 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: clamp(1px, 6.6666666667vw, 50px);
}
@media screen and (min-width: 1280px) {
  .sec01__list2 {
    flex-direction: column;
    gap: 26px;
  }
}

.sec01__item2 {
  flex-shrink: 0;
}

.sec01__item2-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(1px, 1.3333333333vw, 10px);
  width: 100%;
  font-size: clamp(1px, 2.6666666667vw, 20px);
  color: #171717;
}

.sec01__item2-icon {
  width: clamp(1px, 13.3333333333vw, 100px);
  filter: drop-shadow(clamp(1px, 0.4vw, 3px) clamp(1px, 0.4vw, 3px) clamp(1px, 0.8vw, 6px) rgba(0, 0, 0, 0.5333333333));
}

.sec01__box4 {
  padding: clamp(1px, 2.6666666667vw, 20px) 0;
}

.sec01__box5 {
  width: clamp(1px, 86.6666666667vw, 650px);
  height: clamp(1px, 43.6vw, 327px);
  background-image: url("../image/sec01__box5-bg.png");
  background-size: 100%;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
}
@media screen and (min-width: 1280px) {
  .sec01__box5 {
    width: 450px;
    height: 400px;
    background-size: 792px auto;
  }
}

.sec01__link1 {
  position: absolute;
  top: clamp(-30px, -4vw, 0px);
  right: clamp(1px, 4vw, 30px);
  width: fit-content;
  padding: clamp(1px, 0.4vw, 3px) clamp(1px, 2.6666666667vw, 20px);
  background-color: #cddfee;
  border: 2px solid #08506a;
  border-radius: clamp(1px, 1.3333333333vw, 10px);
  font-weight: 400;
  font-size: clamp(1px, 2.4vw, 18px);
  color: #171717;
  box-shadow: clamp(1px, 0.4vw, 3px) clamp(1px, 0.4vw, 3px) clamp(1px, 0.8vw, 6px) rgba(0, 0, 0, 0.5333333333);
}

.sec01__box5-display {
  width: clamp(1px, 32.5333333333vw, 244px);
  position: absolute;
  top: clamp(1px, 9.7333333333vw, 73px);
  left: clamp(1px, 26.2666666667vw, 197px);
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.sec01__box5-display.active {
  opacity: 1;
}
@media screen and (min-width: 1280px) {
  .sec01__box5-display {
    width: 300px;
    top: 89px;
    left: 68px;
  }
}

.sec01__text3 {
  font-weight: 700;
  font-size: clamp(1px, 3.2vw, 24px);
  color: #08506a;
  text-align: center;
  margin-bottom: clamp(1px, 5.3333333333vw, 40px);
}

.sec01__list {
  display: flex;
  flex-direction: column;
  gap: clamp(1px, 2.6666666667vw, 20px);
  padding: 0 clamp(1px, 13.3333333333vw, 100px);
  margin-bottom: clamp(1px, 5.3333333333vw, 40px);
}

.sec01__item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(1px, 13.3333333333vw, 100px);
  position: relative;
}

.sec01__item::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: clamp(1px, 6.6666666667vw, 50px);
  height: clamp(1px, 3.2vw, 24px);
  background-image: url("../image/sec01__item-arrow.png");
  background-size: 100%;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1280px) {
  .sec01__item::after {
    left: -100px;
  }
}

.sec01__icon {
  display: block;
  width: clamp(1px, 13.3333333333vw, 100px);
  margin-left: clamp(1px, 6.6666666667vw, 50px);
  flex-shrink: 0;
}
@media screen and (min-width: 1280px) {
  .sec01__icon {
    margin-left: 0;
  }
}

.sec01__qr {
  display: block;
  width: clamp(1px, 20vw, 150px);
}
@media screen and (min-width: 1280px) {
  .sec01__qr {
    width: 200px;
  }
}

.sec01__text4 {
  font-size: clamp(1px, 3.7333333333vw, 28px);
  color: #08506a;
  text-align: center;
}

/*
 * header.scss
 */
.header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 72px;
  background-color: black;
}
@media screen and (min-width: 1280px) {
  .header {
    height: 72px;
  }
}
.header__inner {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1280px) {
  .header__inner {
    max-width: 1380px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
/*
 * logo.scss
 */
.logo__image {
  display: block;
  width: 160px;
  position: relative;
}
.logo--centered {
  margin-right: auto;
  margin-left: auto;
}

/*
 * hamburger.scss
 */
.hamburger {
  width: clamp(1px, 5.3333333333vw, 40px);
}
@media screen and (min-width: 1280px) {
  .hamburger {
    display: none;
  }
}
.hamburger__inner {
  position: relative;
}
.hamburger__inner.active .hamburger__line:nth-last-of-type(1) {
  transform: translateY(-7px) rotate(-45deg);
}
.hamburger__inner.active .hamburger__line:nth-last-of-type(2) {
  opacity: 0;
}
.hamburger__inner.active .hamburger__line:nth-last-of-type(3) {
  transform: translateY(7px) rotate(45deg);
}
.hamburger__line {
  display: block;
  border-bottom: clamp(1px, 0.5333333333vw, 4px) solid #fff;
  border-radius: clamp(1px, 0.5333333333vw, 4px);
}
.hamburger__line:nth-child(2) {
  margin: 6px 0px;
}

/*
 * gnav.scss
.gnav {
  position: fixed;
  display: grid;
  place-content: center;
  top: 72px;
  width: 40vw;
  height: auto;
  right: -100%;
  background-color: rgba(255, 255, 255, 0.9333333333);
  transition: opacity 1.5s ease;
  opacity: 0;
  padding-block: clamp(1px, 6.6666666667vw, 50px);
}
.gnav.panelactive {
  z-index: 9999;
  opacity: 1;
  right: 0;
}
@media screen and (min-width: 1280px) {
  .gnav {
    opacity: 1;
    display: flex;
    gap: 38px;
    align-items: center;
    position: static;
    width: auto;
    background-color: transparent;
  }
}
.gnav__pages {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1px, 4vw, 30px);
}
@media screen and (min-width: 1280px) {
  .gnav__pages {
    flex-direction: row;
    height: 100%;
  }
}
.gnav__menu {
  height: 100%;
  font-weight: 700;
  font-size: clamp(1px, 2.9333333333vw, 22px);
  color: #171717;
}
@media screen and (min-width: 1280px) {
  .gnav__menu {
    font-size: 20px;
  }
}
.gnav__menu a {
  height: auto;
  display: grid;
  place-content: center;
  color: #ffffff;
  background-image: linear-gradient(90deg, #ff9152, #ff5fea);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 1280px) {
  .gnav__menu a {
    background-image: none;
    background-clip: initial;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: #ffffff;
  }
}
.gnav__menu a:hover, .gnav__menu a.active {
  background-image: linear-gradient(90deg, #ff9152, #ff5fea);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 1280px) {
  .gnav__menu a:hover, .gnav__menu a.active {
    color: transparent;
    background-image: linear-gradient(90deg, #ff9152, #ff5fea);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.gnav__menu:nth-child(1) {
  width: clamp(1px, 26.6666666667vw, 200px);
}
.gnav__menu:nth-child(1) a, .gnav__menu:nth-child(1) img {
  width: 100%;
}
@media screen and (min-width: 1280px) {
  .gnav__menu:nth-child(1) {
    display: none;
  }
}
 */

/*
 * mainvisual.scss
 */
.section--mainvisual {
  position: sticky;
  top: 72px;
  z-index: 1;
  margin-bottom: clamp(-100px, -13.3333333333vw, 0px);
}

.mainvisual {
  overflow: hidden;
  width: 100%;
  height: clamp(1px, 85.3333333333vw, 640px);
  background-image: url("../image/mainvisual-bg2.png");
  background-size: clamp(1px, 192vw, 1440px) auto;
  background-position: center top;
  background-repeat: no-repeat;
  animation: mainvisual-move 5s ease-in-out infinite;
}
@media screen and (min-width: 1280px) {
  .mainvisual {
    animation: mainvisual-move-pc 5s ease-in-out infinite;
  }
}
.mainvisual__image {
  vertical-align: bottom;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.mainvisual__inner {
  max-width: 750px;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 1280px) {
  .mainvisual__inner {
    max-width: 1280px;
  }
}
.mainvisual__list {
  position: relative;
}
.mainvisual__item {
  position: absolute;
  width: clamp(1px, 14.6666666667vw, 110px);
  animation: mainvisual-sphere 6s ease-out infinite;
  background-color: rgba(255, 255, 255, 0.1333333333);
  box-shadow: 0 0 clamp(1px, 1.3333333333vw, 10px) rgba(255, 255, 255, 0.2);
  border-radius: 50%;
}
@media screen and (min-width: 1280px) {
  .mainvisual__item {
    width: 150px;
  }
}
.mainvisual__item img {
  opacity: 0;
}
.mainvisual__item:nth-child(1) {
  top: clamp(1px, 5.3333333333vw, 40px);
  right: 70%;
  width: clamp(1px, 10.6666666667vw, 80px);
  animation-delay: 0.7s;
}
@media screen and (min-width: 1280px) {
  .mainvisual__item:nth-child(1) {
    width: 100px;
  }
}
.mainvisual__item:nth-child(2) {
  top: clamp(1px, 13.3333333333vw, 100px);
  right: 50%;
  width: clamp(1px, 12vw, 90px);
  animation-delay: 1.5s;
}
@media screen and (min-width: 1280px) {
  .mainvisual__item:nth-child(2) {
    width: 110px;
  }
}
.mainvisual__item:nth-child(3) {
  top: clamp(1px, 30.6666666667vw, 230px);
  right: 30%;
  animation-delay: 2.3s;
}
@media screen and (min-width: 1280px) {
  .mainvisual__item:nth-child(3) {
    right: 28%;
  }
}
.mainvisual__item:nth-child(4) {
  top: clamp(1px, 44vw, 330px);
  right: 10%;
  animation-delay: 0.5s;
}
@media screen and (min-width: 1280px) {
  .mainvisual__item:nth-child(4) {
    right: 3%;
  }
}
.mainvisual__item:nth-child(5) {
  top: clamp(1px, 5.3333333333vw, 40px);
  right: 30%;
  width: clamp(1px, 14.6666666667vw, 110px);
}
.mainvisual__item:nth-child(6) {
  top: clamp(1px, 14.6666666667vw, 110px);
  right: 8%;
  width: clamp(1px, 14.6666666667vw, 110px);
  animation-delay: 1s;
}
@media screen and (min-width: 1280px) {
  .mainvisual__item:nth-child(6) {
    width: 130px;
  }
}
.mainvisual__item::before {
  opacity: 0;
  content: "";
  width: 70%;
  height: 80%;
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  transition: opacity 0.6s;
}
.mainvisual__item::after {
  opacity: 0;
  content: "";
  position: absolute;
  bottom: calc(100% + clamp(1px, 0.8vw, 6px));
  left: 50%;
  transform: translateX(-50%);
  font-family: YakuHanMP, "Zen Old Mincho", serif;
  font-size: max(10px, clamp(1px, 1.8666666667vw, 14px));
  color: #F59751;
  background-image: linear-gradient(90deg, #FFFF80, #FF8400);
  background-clip: text;
  color: transparent;
  text-align: center;
  transition: opacity 0.6s;
}
@media screen and (min-width: 1280px) {
  .mainvisual__item::after {
    font-size: 20px;
  }
}
.mainvisual__item:hover::before, .mainvisual__item:focus::before, .mainvisual__item.active::before {
  opacity: 0.6;
}
.mainvisual__item:hover::after, .mainvisual__item:focus::after, .mainvisual__item.active::after {
  opacity: 0.9;
  transition: opacity 0.6s 0.5s;
}
.mainvisual__item[data-character="1"]::before {
  background-image: url("../image/data-character1.png");
}
.mainvisual__item[data-character="2"]::before {
  background-image: url("../image/data-character2.png");
  width: 80%;
}
.mainvisual__item[data-character="3"]::before {
  background-image: url("../image/data-character3.png");
  width: 60%;
}
.mainvisual__item[data-character="4"]::before {
  background-image: url("../image/data-character4.png");
}
.mainvisual__item[data-sentence="1"]::after {
  content: "神はサイコロを振らない";
  width: max(70px, clamp(1px, 13.3333333333vw, 100px));
}
@media screen and (min-width: 1280px) {
  .mainvisual__item[data-sentence="1"]::after {
    width: 140px;
  }
}
.mainvisual__item[data-sentence="2"]::after {
  content: "猫はどんなに小さくても最高傑作である";
  width: max(112px, clamp(1px, 21.3333333333vw, 160px));
}
@media screen and (min-width: 1280px) {
  .mainvisual__item[data-sentence="2"]::after {
    width: 220px;
  }
}
.mainvisual__item[data-sentence="3"]::after {
  content: "我が辞書に不可能という言葉はない";
  width: max(112px, clamp(1px, 21.3333333333vw, 160px));
}
@media screen and (min-width: 1280px) {
  .mainvisual__item[data-sentence="3"]::after {
    width: 220px;
  }
}
.mainvisual__item[data-sentence="4"]::after {
  content: "吾輩は猫である";
  width: max(70px, clamp(1px, 13.3333333333vw, 100px));
}
@media screen and (min-width: 1280px) {
  .mainvisual__item[data-sentence="4"]::after {
    width: 140px;
  }
}
.mainvisual__item[data-sentence="5"]::after {
  content: "完璧な⼈や猫なんていない";
  width: max(170px, clamp(1px, 22.6666666667vw, 170px));
}
@media screen and (min-width: 1280px) {
  .mainvisual__item[data-sentence="5"]::after {
    width: 240px;
  }
}
.mainvisual__item[data-sentence="6"]::after {
  content: "時代とは⼈間の偉⼤な芸術である";
  width: max(210px, clamp(1px, 13.3333333333vw, 100px));
}
@media screen and (min-width: 1280px) {
  .mainvisual__item[data-sentence="6"]::after {
    width: 300px;
  }
}

@keyframes mainvisual-move {
  0% {
    background-position: center top clamp(-80px, -10.6666666667vw, 0px);
  }
  50% {
    background-position: center top clamp(-70px, -9.3333333333vw, 0px);
  }
  100% {
    background-position: center top clamp(-80px, -10.6666666667vw, 0px);
  }
}
@keyframes mainvisual-move-pc {
  0% {
    background-position: center top -180px;
  }
  50% {
    background-position: center top -170px;
  }
  100% {
    background-position: center top -180px;
  }
}
@keyframes mainvisual-sphere {
  0% {
    translate: 0 0;
  }
  50% {
    translate: 0 6px;
  }
  100% {
    translate: 0 0;
  }
}
.text-anime1 {
  display: inline-block;
  opacity: 0;
  font-size: 2rem;
  position: relative;
}

.text-anime1 span {
  opacity: 0;
  display: inline-block;
  animation: floatText 3s forwards;
  color: #fff; /* 最初は白色で表示 */
  transition: color 1s ease, background-image 2s ease; /* フワッと変化するトランジションを追加 */
}

@keyframes floatText {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.mainvisual__text1 {
  font-family: YakuHanMP, "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: clamp(1px, 4.8vw, 36px);
  line-height: 1;
  color: #ffffff;
  text-align: left;
  width: fit-content;
  position: absolute;
  top: clamp(1px, 21.3333333333vw, 160px);
  left: clamp(1px, 6.6666666667vw, 50px);
}
@media screen and (min-width: 1280px) {
  .mainvisual__text1 {
    top: 200px;
    left: 140px;
  }
}

.mainvisual__text2 {
  font-family: YakuHanMP, "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: clamp(1px, 4.2666666667vw, 32px);
  line-height: 1;
  color: #ffffff;
  text-align: left;
  width: fit-content;
  position: absolute;
  top: clamp(1px, 40vw, 300px);
  left: clamp(1px, 16vw, 120px);
  rotate: -5deg;
}
@media screen and (min-width: 1280px) {
  .mainvisual__text2 {
    top: 310px;
    left: 250px;
  }
}

.mainvisual__text3 {
  font-family: YakuHanMP, "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: clamp(1px, 3.4666666667vw, 26px);
  line-height: 1;
  color: #ffffff;
  text-align: left;
  width: fit-content;
  position: absolute;
  top: clamp(1px, 61.3333333333vw, 460px);
  left: clamp(1px, 29.3333333333vw, 220px);
}
.mainvisual__text3 span {
  display: inline-block;
  vertical-align: text-bottom;
}
.mainvisual__text3#mainvisual__text4 {
  left: clamp(1px, 62.6666666667vw, 470px);
  top: clamp(1px, 72vw, 540px);
  font-size: clamp(1px, 6.9333333333vw, 52px);
}
@media screen and (min-width: 1280px) {
  .mainvisual__text3#mainvisual__text4 {
    left: 780px;
    top: 400px;
    font-size: 50px;
  }
}
.mainvisual__text3#mainvisual__text5 {
  left: clamp(1px, 69.3333333333vw, 520px);
  top: clamp(1px, 69.3333333333vw, 520px);
  font-size: clamp(1px, 2.9333333333vw, 22px);
}
@media screen and (min-width: 1280px) {
  .mainvisual__text3#mainvisual__text5 {
    left: 830px;
    top: 380px;
    font-size: 22px;
  }
}
@media screen and (min-width: 1280px) {
  .mainvisual__text3 {
    top: 420px;
    left: 410px;
  }
}

.shooting-star {
  position: absolute;
  top: 0;
  right: 0;
  height: clamp(1px, 42.6666666667vw, 320px);
  width: clamp(1px, 76vw, 570px);
  background-image: repeating-linear-gradient(40deg, #000000 0% 49%, rgba(0, 0, 0, 0) 50%, #000000 51% 100%), linear-gradient(#000000 0% 33%, #75bbf5 66%, #000000 67% 100%);
  background-size: 100% 100%, 100% 300%;
  animation: shooting-star 4s linear infinite, shtstrb 16s linear infinite;
  mix-blend-mode: screen;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

@keyframes shooting-star {
  0% {
    background-position-y: 0, 100%;
  }
  50%, 100% {
    background-position-y: 0, 0%;
  }
}
@keyframes shtstrb {
  0%, 20% {
    background-position-x: 200px, 100%;
  }
  25%, 45% {
    background-position-x: 100px, 100%;
  }
  50%, 70% {
    background-position-x: 300px, 100%;
  }
  75%, 100% {
    background-position-x: 900px, 0%;
  }
}
.mainvisual--bottom {
  width: 100%;
  height: clamp(1px, 53.3333333333vw, 400px);
  background-image: url("../image/mainvisual-bg1.png");
  background-size: clamp(1px, 192vw, 1440px) auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  position: relative;
}
.mainvisual--bottom__inner {
  height: 100%;
  max-width: 750px;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 1280px) {
  .mainvisual--bottom__inner {
    max-width: 1280px;
  }
}

.mainvisual__character1 {
  position: absolute;
  width: clamp(1px, 18.6666666667vw, 140px);
  height: clamp(1px, 33.3333333333vw, 250px);
  left: clamp(1px, 1.3333333333vw, 10px);
  top: clamp(-80px, -10.6666666667vw, 0px);
}
@media screen and (min-width: 1280px) {
  .mainvisual__character1 {
    width: 140px;
    height: 250px;
    left: 50px;
    top: -150px;
  }
}

.mainvisual__character2 {
  position: absolute;
  width: clamp(1px, 18.6666666667vw, 140px);
  height: clamp(1px, 25.3333333333vw, 190px);
  left: clamp(1px, 13.3333333333vw, 100px);
  top: clamp(1px, 2.6666666667vw, 20px);
}
@media screen and (min-width: 1280px) {
  .mainvisual__character2 {
    width: 140px;
    height: 190px;
    left: 150px;
    top: -40px;
  }
}

.mainvisual__bg-image {
  position: absolute;
  width: clamp(1px, 50.6666666667vw, 380px);
  height: clamp(1px, 24vw, 180px);
  right: 0;
  bottom: clamp(1px, 8vw, 60px);
}
@media screen and (min-width: 1280px) {
  .mainvisual__bg-image {
    width: 560px;
    height: 260px;
  }
}

/*
 * footer.scss
 */
.footer {
  width: 100%;
  height: clamp(1px, 8vw, 60px);
  background-color: black;
  display: flex;
  align-items: center;
  text-align: center;
  border-top: 1px solid gray;
}
@media screen and (min-width: 1280px) {
  .footer {
    height: 60px;
  }
}
.footer__inner {
  margin-left: auto;
  margin-right: auto;
}
.footer__copyright {
  font-family: YakuHanMP, "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  color: #ffffff;
}
@media screen and (min-width: 1280px) {
  .footer__copyright {
    font-family: YakuHanMP, "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 1;
    color: #ffffff;
  }
}

/*
 * fixed.scss
 */
.fixed {
  /* 下部固定バナーを非表示化しています。 有効にする場合はnone -> block に変えてください*/
  display: none;
  /* 下部固定バナーを非表示化しています。 */
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  background-color: rgba(22, 62, 100, 0.5);
}
.fixed__inner {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 750px;
  margin: auto;
  padding-block: clamp(1px, 2.6666666667vw, 20px);
}
@media screen and (min-width: 1280px) {
  .fixed__inner {
    max-width: 950px;
  }
}
.fixed.active {
  background-color: #fff;
}
.fixed__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  width: 100%;
}
.fixed__btn {
  width: 100%;
  font-family: YakuHanMP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(1px, 3.2vw, 24px);
  line-height: 1;
  color: #ffffff;
  font-feature-settings: "palt";
  text-align: center;
}
@media screen and (min-width: 750px) {
  .fixed__btn {
    font-size: 16px;
  }
}
.fixed__btn-link {
  display: inline-block;
  width: 85%;
  vertical-align: middle;
  padding-bottom: clamp(1px, 1.0666666667vw, 8px);
  position: relative;
}
.fixed__btn-link::before {
  content: "";
  border: 1px solid #ffffff;
  border-top: none;
  border-radius: 0 0 clamp(1px, 0.6666666667vw, 5px) clamp(1px, 0.6666666667vw, 5px);
  height: clamp(1px, 2.6666666667vw, 20px);
  width: 100%;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.fixed__btn-link:hover {
  position: relative;
}
.fixed__btn-link:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: #ffffff;
  opacity: 0.2;
  z-index: 1000;
}
.fixed__btn-link--img {
  padding-top: 0;
}
.fixed__btn:nth-child(2) {
  display: none;
}
@media screen and (min-width: 750px) {
  .fixed__btn:nth-child(2) {
    display: block;
  }
}

/* 
 * Utility
 * --------------------------
 */
/*
 * util.scss
 */
@media screen and (min-width: 1280px) {
  .sp {
    display: none;
  }
}

.pc {
  display: none;
}
@media screen and (min-width: 1280px) {
  .pc {
    display: inherit;
  }
}

.box-shadow {
  box-shadow: 0px 0px 14px 6px rgba(0, 0, 0, 0.2);
  width: fit-content;
}

.box-bg-grad {
  background-image: linear-gradient(30deg, #08506a, #ffffff 30%, #ffffff 70%, #08506a);
}

.text-capitalize {
  text-transform: capitalize;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-accent {
  font-family: YakuHanMP, "Noto Sans JP", sans-serif;
  color: #08506a;
}

.text-color--black {
  color: #171717;
}
.text-color--green {
  color: #218386;
}
.text-color--pink {
  color: #DC797E;
}
.text-color--orange {
  color: #FF8400;
}
.text-color--yellow {
  color: #FFFF80;
}

.text-deco-marker {
  background: linear-gradient(transparent 85%, rgba(255, 192, 2, 0.6666666667) 85%, rgba(255, 192, 2, 0.6666666667) 100%, transparent 100%);
}

.text-deco-marker2 {
  background: linear-gradient(transparent 85%, rgba(255, 192, 2, 0.6666666667) 85%, rgba(255, 192, 2, 0.6666666667) 100%, transparent 100%);
}

.text-deco-dash--accent, .text-deco-dash {
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

.text-deco-dash--accent {
  text-decoration-color: #08506a;
}

.text-deco-regular {
  font-weight: 400;
}

.text-deco-medium {
  font-weight: 500;
}

.text-deco-bold {
  font-weight: 700;
}

.text-deco-black {
  font-weight: 900;
}

.text-deco-underline--accent, .text-deco-underline {
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

.text-deco-underline--accent {
  text-decoration-color: #08506a;
}

.text-deco-overdot--small, .text-deco-overdot--accent, .text-deco-overdot {
  position: relative;
}
.text-deco-overdot--small::after, .text-deco-overdot--accent::after, .text-deco-overdot::after {
  position: absolute;
  content: "・";
  font-family: YakuHanMP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: #171717;
  font-feature-settings: "palt";
  top: -0.5em;
  left: 0.25em;
}

.text-deco-overdot--accent::after {
  font-family: YakuHanMP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: #08506a;
  font-feature-settings: "palt";
}
.text-deco-overdot--small::after {
  font-family: YakuHanMP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.5em;
  line-height: 1;
  font-feature-settings: "palt";
  top: -0.3em;
  left: 0.8em;
}

.text-deco-wave {
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-color: #A27E8A;
}

.text-deco-wave2 {
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-color: #ff0000;
}

.text-shadow {
  text-shadow: 3px 3px 0px #08506a;
}
.text-shadow--blur {
  text-shadow: 5px 5px 8px #08506a, 5px -5px 8px #08506a, -5px 5px 8px #08506a, -5px -5px 8px #08506a;
}
.text-shadow--box {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 8px;
  box-shadow: inset 3px 3px 20px #ffffff, inset -3px -3px 20px #ffffff;
}

.text-num {
  font-weight: 700;
  font-size: 1.4em;
  font-feature-settings: "palt";
}

.text-fz60 {
  font-size: 0.6em;
}

.text-fz70 {
  font-size: 0.7em;
}

.text-fz80 {
  font-size: 0.8em;
}

.text-fz90 {
  font-size: 0.9em;
}

.text-fz110 {
  font-size: 1.1em;
}

.text-fz120 {
  font-size: 1.2em;
}

.text-fz130 {
  font-size: 1.3em;
}

.text-fz140 {
  font-size: 1.4em;
}

.text-fz150 {
  font-size: 1.5em;
}

.text-fz200 {
  font-size: 2em;
  line-height: 1.3;
}

.text-fz250 {
  font-size: 2.5em;
}

.mb_vw0 {
  margin-bottom: unset;
}

.mb_vw10 {
  margin-bottom: 10px;
}

.mb_vw20 {
  margin-bottom: 20px;
}

.mb_vw30 {
  margin-bottom: 30px;
}

.mb_vw40 {
  margin-bottom: 40px;
}

.mb_vw50 {
  margin-bottom: 50px;
}

.mb_vw60 {
  margin-bottom: 60px;
}

.mb_vw70 {
  margin-bottom: 70px;
}

.mb_vw80 {
  margin-bottom: 80px;
}

.mb_vw90 {
  margin-bottom: 90px;
}

.mb_vw100 {
  margin-bottom: 100px;
}

.plr_vw10 {
  padding-left: 10px;
  padding-right: 10px;
}

.plr_vw20 {
  padding-left: 20px;
  padding-right: 20px;
}

.plr_vw30 {
  padding-left: 30px;
  padding-right: 30px;
}

.plr_vw40 {
  padding-left: 40px;
  padding-right: 40px;
}

.plr_vw60 {
  padding-left: 60px;
  padding-right: 60px;
}

.nanameline--accent, .nanameline {
  position: relative;
}
.nanameline--accent::before, .nanameline::before {
  content: "";
  position: absolute;
  display: block;
  width: 4px;
  height: 100%;
  background-color: #171717;
  left: -20px;
  bottom: -0.1em;
  transform: rotate(-40deg);
}
.nanameline--accent::after, .nanameline::after {
  content: "";
  position: absolute;
  display: block;
  width: 4px;
  height: 100%;
  background-color: #171717;
  right: -20px;
  bottom: -0.1em;
  transform: rotate(40deg);
}

.nanameline--accent::before, .nanameline--accent::after {
  background-color: #08506a;
  width: 2px;
}
.nanameline--accent::before {
  left: -0.6em;
}
.nanameline--accent::after {
  right: -0.6em;
}

.dummy1000, .dummy500, .dummy300, .dummy200, .dummy100, .dummy {
  width: 100%;
  background-color: #888;
  outline: 1px solid #001;
  display: grid;
  place-content: center;
}

.dummy {
  width: inherit;
}

.dummy100 {
  height: 100px;
}

.dummy200 {
  height: 200px;
}

.dummy300 {
  height: 300px;
}

.dummy500 {
  height: 500px;
}

.dummy1000 {
  height: 1000px;
}

.ellipsis {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ellipsis--oneline {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ellipsis--line3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  align-self: stretch;
}

/*
 * animation.scss
 */
/* modaal */
/*全て共通：hideエリアをはじめは非表示*/
.hide-area {
  display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after,
.modaal-close:before {
  background: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #666;
}

/*確認を促すモーダル：タイトルの色を変更したい場合*/
#modaal-title {
  font-size: 1.2rem;
  text-align: center;
  margin: 0 0 20px 0;
}

/*動画表示のモーダル：余白を変更したい場合*/
.modaal-inner-wrapper {
  padding: 30px 0;
}

.modaal-container {
  width: 90%;
  max-width: 480px;
  border-radius: 30px;
}

.modaal-content-container {
  padding: 30px;
}

/* 下からふわっと */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeUpTrigger {
  opacity: 0;
}

/* キラッと */
.shine {
  position: relative;
  overflow: hidden;
}
.shine::before {
  content: "";
  position: absolute;
  top: 0;
  left: -180px;
  background: rgba(255, 255, 255, 0.5333333333);
  width: 30px;
  height: 100%;
  animation: shineanime 3s ease-in-out infinite;
  z-index: 30;
}

@keyframes shineanime {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  30% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  31% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  50% {
    transform: scale(80) rotate(45deg);
    opacity: 0;
  }
  100% {
    transform: scale(80) rotate(45deg);
    opacity: 0;
  }
}/*# sourceMappingURL=style.css.map */

/* cocohole追記*/
html.spacebook {
  font-size: .73vw;
}

.section--mainvisual {
  position: sticky;
  top: 7rem;
}
@media screen and (max-width: 640px) {

  html.spacebook {
    font-size: 2.4vw;
  }

  .section--mainvisual {
    top: inherit;
  }

  main {
    margin-top: 8rem;
  }
}