@charset "UTF-8";


@media screen and (max-width: 1660px) {
  .fv-content-inner {
    padding: 0 20px;
  }
  :root {
    --card-h: 400px;
  }
  /* .stack-content {
    max-width: 1080px;
    margin-inline: auto;
  }
  .stack-wrapper {
    width: calc(100% - 30px);
  } */
  .dots {
    right: 0;
  }
}


@media screen and (max-width: 1280px) {
  .wrap {
    padding: 0 20px;
  }
  .footer-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  .message-content-flex {
    flex-direction: column;
    align-items: center;
  }
  .message-content-flex__img {
    max-width: 520px;
  }
  .message-content-flex__text {
    max-width: 600px;
    text-align: center;
  }
  .dialog {
    max-width: 100%;
    padding-top: 80px;
  }
  .greeting-content::before {
    height: 400px;
  }
  .greeting-content::after {
    height: calc(100% - 400px);
  }
}


@media screen and (max-width: 991px) {
  body {
    min-width: 100%;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  .body-inner {
    border: none;
  }
  .body-inner .bg-side {
    aspect-ratio: 991 / 3633;
    background: url(./assets/img/common/bg-side__sp.webp) repeat center / contain;
  }
  .header-inner {
    height: 60px;
  }
  .header-logo a {
    padding: 0 20px;
  }
  .hamburger-wrap {
    padding: 0 20px;
    gap: 10px;
  }
  .header-logo img {
    width: 150px;
  }
  .header-logo a p {
    display: none;
  }
  .hamburger-wrap p {
    display: none;
  }
  .header-nav-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .fv-content-inner {
    position: static;
    flex-direction: column-reverse;
    align-items: center;
    margin-top: 40px;
  }
  .fv-text-box {
    text-align: center;
  }
  .fv-text-box h2 {
    margin-bottom: 1em;
  }
  .fv-nav {
    display: none;
    transition-delay: 0s;
  }
  .fv-nav-list {
    flex-direction: row;
  }
  .fv-nav-item a span {
    display: block;
    padding-left: 0;
  }
  .fv-nav-item::before {
    top: .7em;
  }
  .fv-img {
    margin-top: 100px;
    top: -10%;
  }
  .fv-img img {
    max-width: 650px;
  }
  .message-icon img {
    max-width: 60px;
  }
  .message-content-top h2 {
    font-size: var(--px32);
  }
  .message-content {
    max-width: 600px;
    margin-inline: auto;
  }
  .message-content p {
    font-size: var(--px16);
  }
  .message-content p br.empty {
    display: none;
  }
  .message-content-top p strong {
    font-size: var(--px24);
  }
  .message-content-flex__text p strong {
    font-size: var(--px18);
  }
  .message-content-flex__text p .empty {
    display: none;
  }
  .crosstalk-items {
    flex-direction: column;
    gap: 50px;
  }
  .crosstalk-item.bottom-shift {
    top: 0;
  }
  .crosstalk-item.left {
    margin-right: 0;
  }
  .crosstalk-item.right {
    margin-left: 0;
  }
  .crosstalk-item.right .crosstalk-item-wrap {
    margin-inline: initial;
    padding-left: 2em;
  }
  .crosstalk-items:not(:first-child) {
    margin-top: 50px;
  }
  .infographics {
    margin-top: 100px;
  }
  .greeting-text-wrap {
    max-width: 600px;
    margin-inline: auto;
  }
  .greeting-text-wrap img {
    max-width: 450px;
  }
  .greeting-text-wrap h2 {
    font-size: var(--px32);
  }
  .greeting-text-wrap p {
    font-size: var(--px16);
  }
  .greeting-text-wrap p br.empty {
    display: none;
  }
  .greeting-content::before {
    height: 350px;
  }
  .greeting-content::after {
    height: calc(100% - 350px);
  }
  .greeting-content {
    padding-top: 100px;
  }
  .thanks-img img.text-80th {
    bottom: -2vw;
  }
  .thanks-icon img {
    max-width: 60px;
  }
  .thanks-text-wrap h2 {
    font-size: var(--px32);
  }
  .thanks-text-wrap p {
    font-size: var(--px16);
  }
  .thanks-text-wrap img.text-thanks {
    max-width: 650px;
  }
  .footer-inner-top {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .footer-inner-bottom {
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
  }
  .modal-top-title {
    font-size: var(--px32);
  }
  .modal-block-title {
    font-size: var(--px16);
  }
  .fv-content-slider {
    max-height: 300px;
  }
}


@media screen and (max-width: 767px) {
  .header-nav-list {
    grid-template-columns: 1fr;
  }
  .fv::before {
    background-image: url(/assets/img/fv-bg-sp.webp);
  }
  .fv-img {
    top: 0;
    margin-top: 60px;
    padding: 0 20px;
  }
  .fv-content {
  padding-top: 100px;
  }
  .fv-logo {
    max-width: 250px;
  }
  .fv-content-inner {
    margin-top: 30px;
  }
  .message {
    padding-top: 30px;
  }
  .message-content-top h2 {
    font-size: var(--px28);
    margin-bottom: 1em;
  }
  .message-content p {
    line-height: 2;
  }
  .message-content-top p strong {
    font-size: var(--px18);
  }
  .crosstalk {
    margin-top: 0;
    padding-top: 60px;
  }
  .crosstalk-item-wrap {
    padding-left: 0;
  }
  .crosstalk-item.right .crosstalk-item-wrap {
    padding-left: 0;
  }
  /* .stack-wrapper {
    width: calc(100% - 30px);
  } */
  .card-inner {
    flex-direction: column;
    justify-content: center;
    gap: 10px;
  }
  .card-body {
    width: 100%;
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid var(--color-theme);
  }
  .card-image {
    width: 100%;
    max-width: 360px;
  }
  .card-body-title {
    font-size: var(--px28);
    margin: .5em 0;
  }
  .card-body-text {
    font-size: var(--px18);
  }
  .card-body-title br {
    display: none;
  }
  .card-body-text br {
    display: none;
  }
  .message-icon img {
    max-width: 40px;
  }
  .thanks-icon img {
    max-width: 40px;
  }
  .thanks-text-wrap h2 {
    margin-bottom: 1em;
  }
  .inline-block {
    display: inline;
  }
  .message-content {
    max-width: 520px;
  }
  .message-content p {
    text-align: initial;
  }
  .message-content p br {
    display: none;
  }
  .message-content p br.sp {
    display: block;
  }
  .message-content-flex {
    margin-top: 60px;
  }
  .message-content-flex__img {
    max-width: 400px;
  }
  .modal-close {
    font-size: var(--px16);
    gap: 10px;
  }
  .modal-close img {
    max-width: 60px;
  }
  .modal-top-title {
    font-size: var(--px24);
  }
  .modal-block-item {
    flex-direction: column;
    gap: 0;
  }
  .modal-block-item dt {
    width: 100%;
    text-align: initial;
  }
  .modal-block-item dd {
    width: 100%;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid #CCD1E3;
    padding-top: .5em;
    margin-top: .5em;
  }
  .dialog {
    height: 70%;
  }
  .sec-title {
    font-size: var(--px48);
  }
  .sec-title-ja {
    font-size: var(--px16);
  }
  .sec-title-ja img {
    margin-right: 0;
  }
  .greeting-text-wrap {
    max-width: 520px;
  }
  .greeting-text-wrap p {
    text-align: initial;
    line-height: 2;
  }
  .greeting-text-wrap h2 {
    font-size: var(--px28);
    margin-bottom: 1.5em;
  }
  .greeting-text-wrap p br {
    display: none;
  }
  .greeting-text-wrap p br.sp {
    display: block;
  }
  .greeting-content::before {
    height: 250px;
  }
  .greeting-content::after {
    height: calc(100% - 250px);
  }
  .thanks-img {
    top: -15dvw;
  }
  .thanks-text-wrap p span.inline-block {
    display: inline-block;
  }
  .thanks-text-wrap h2 {
    font-size: var(--px28);
  }
  .header.over {
    & .header-inner {
      height: 40px;
    }
    & .header-logo img {
      width: 120px;
    }
    & .hamburger {
      width: 3em;
      height: 1.6em;
    }
  }
  .modal-top-image__img.frame04 {
    max-width: 80%;
  }
  .fv-content-slider__wrap {
    gap: 10px;
  }
  .fv-content-slider {
    max-height: 40vw;
  }
}


@media screen and (max-width: 540px) {
  .card-body-title br {
    display: block;
  }
}
