@charset "UTF-8";

/*********************************************
MARK: GA 記述 2026.07
*********************************************/
#divMain .mainInner {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.wrapper {
  --width-16: min(16px, 16 / 750 * 100vw);
  --width-35: min(35px, 35 / 750 * 100vw);
  --width-40: min(40px, 40 / 750 * 100vw);
  --color-navy: #222576;

  font-family: '游ゴシック', 'Yu Gothic', sans-serif;
  font-size: min(28px, 28 / 750 * 100vw);
  font-feature-settings: "palt";
  line-height: 1.714;
  background-image: url("../images/bg.jpg");
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: 100% 100%;
  background-size: cover;
  /* padding-block-end: min(120px, 120 / 750 * 100vw); */
}

/* @media (max-width: 736px) {
  .wrapper {
    background: none;
  }
} */

.container {
  width: 100%;
  max-width: 750px;
  margin-inline: auto;
  background-color: #fff;
  box-shadow: 0 0 var(--width-35) oklch(0% 0 0deg / 20%);
}

.cv-area {
  position: relative;
}

.area-campaign {
  position: relative;
}

.Select1 {
  display: none;
}

input[type="image"] {
  width: 100%;
}

/* anchor */
@media (any-hover: hover) {
    a {
      transition: opacity 0.2s;
    }

    a:hover {
      opacity: 0.7;
    }
}

/* button-campaign */
.button-campaign {
  position: absolute;
  inset-block-end: 4%;
  inset-inline: 0;
  width: min(727px, 727 / 750 * 100vw);
  margin-inline: auto;
  translate: 1.5% 0;
}

/* button-subsc */
.button-subsc {
  position:absolute;
  inset-block-end: 42%;
  inset-inline: 0;
  width: min(606px, 606 / 750 * 100vw);
  aspect-ratio: 606/ 129;
  margin-inline: auto;
  overflow: clip;
  border-radius: 100vmax;
  box-shadow:
    min(5px, 5 / 750 * 100vw)
    min(18px, 18 / 750 * 100vw)
    min(35px, 35 / 750 * 100vw)
    2px oklch(0% 0 0deg / 20%);
}


/* button-one */
.button-one {
  inset-block-end: 3.5%;
  inset-inline: 0;
  width: min(612px, 612 / 750 * 100vw);
  margin-inline: auto;
  translate: 0.5% 0;
}

.cv7140 {
  inset-block-end: 8.75%;
}

/* cv-nav */
.cv-nav {
  position: relative;
}

.cv-nav__container {
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  padding-inline: min(33px, 33 / 750 * 100vw) min(25px, 25 / 750 * 100vw);
}

/* pseudo-text-link */
.pseudo-text-link {
  position: relative;
}

.pseudo-text-link__anchor {
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  width: calc(680 / 750 * 100%);
  margin-inline: auto;
}

/* button-fixed */
.button-fixed {
  position: fixed;
  inset-block-end: 0;
  inset-inline: 0;
  width: min(686px, 686 / 750 * 100%);
  margin-inline: auto;
  pointer-events: none;
  translate: 0 100%;
  transition: translate .3s;
}

.button-fixed.is-show {
  pointer-events: auto;
  translate: 0 calc(var(--width-16) * -1);
}

/* footer-note */
.footer-note {
  padding-block-start: min(80px, 80 / 750 * 100vw);
  padding-inline: var(--width-35);
}
    
.footer-note__container {
  padding-block-end: min(60px, 60 / 750 * 100vw);
}

.footer-note__container dt:has(+ .footer-note__em) {
  font-weight: 700;
}

.footer-note__em {
  font-weight: 700;
  text-decoration: underline;
}

/* bounce-slow */
.bounce-slow {
  animation: slowBounce 4s infinite ease-in-out;
}

@keyframes slowBounce {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}

@keyframes slowBounce {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}


/* shiny-button */
.shiny-button {
  position: absolute;
  display: block;
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
}

.shiny-button::before {
  position: absolute;
  top: -180px;
  left: 0;
  display: inline-block;
  width: 40px;
  height: 100%;
  content: "";
  background-color: #fffdef;
  transition: 300ms;
  animation: shinyshiny 2.5s ease-in-out infinite;
}

@keyframes shinyshiny {
  0% {
    opacity: 0;
    transform: scale(0) rotate(45deg);
  }

  80% {
    opacity: 0.5;
    transform: scale(0) rotate(45deg);
  }

  81% {
    opacity: 1;
    transform: scale(4) rotate(45deg);
  }

  100% {
    opacity: 0;
    transform: scale(50) rotate(45deg);
  }
}

/* accordion */
.accordion {
  box-sizing: border-box;
  padding-block-end: min(100px, 100 / 750 * 100vw);
  padding-inline: var(--width-35);
}

.accordion__container {
  overflow: hidden;
  border: 2px solid var(--color-navy);
  border-radius: min(10px, 10 / 750 * 100vw);
}

.accordion__container + .accordion__container {
  margin-block-start: var(--width-35);
}

.accordion__button {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  color: var(--color-navy);
  text-align: inherit;
  cursor: pointer;
  background: none;
  border: none;
}

.accordion__button::before,
.accordion__button::after {
  position: absolute;
  top: 50%;
  right: var(--width-35);
  z-index: 1;
  width: min(38px, 38 / 750 * 100vw);
  height: 3px;
  content: "";
  background-color: currentColor;
  transition: transform 0.3s ease;
}

.accordion__button::before {
  transform: translateY(-50%);
}

.accordion__button::after {
  transform: translateY(-50%) rotate(90deg);
}

.js-accordion.is-open .accordion__button::after {
  transform: translateY(-50%) rotate(0deg);
}

.accordion__button img {
  display: block;
  width: 100%;
}

.accordion__content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.3s ease;
}

.js-accordion.is-open .accordion__content {
  grid-template-rows: 1fr;
}

.accordion__inner {
  padding-inline: var(--width-40);
  overflow: hidden;
}

.accordion__body {
  padding-block: var(--width-40);
  border-block-start: 1px solid #9294bb;
}

.accordion-note {
  font-size: calc(20 / 28 * 1em);
  color: #333;
}

.accordion-box {
  padding: min(24px, 24 / 750 * 100vw);
  text-align: center;
  border: 1px solid;
}

.accordion-box-title {
  padding-block-end: 0.5em;
  margin-block-end: 0.5em;
  font-weight: 700;
  border-block-end: 1px solid;
}

.accordion-contact {
  color: var(--color-navy);
}

.accordion-tel {
  font-size: calc(34 / 28 * 1em);
  font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
  .accordion__content {
    transition: none;
  }

  .accordion__button::before,
  .accordion__button::after {
    transition: none;
  }
}

/* Utility */
.u-pink {
  font-weight: 700;
  color: #d7426f;
}

.margin-top-16 {
  margin-top: var(--width-16);
}

.margin-top-35 {
  margin-top: var(--width-35);
}

.margin-top-40 {
  margin-top: var(--width-40);
}

.margin-top-50 {
  margin-top: min(50px, 50 / 750 * 100vw);
}

/*-- TOPへ戻る非表示 --*/
#pageTop { display:none!important; }

