@charset "UTF-8";

@media screen and (max-width: 768px) {
  /* ==========================================================================
  ベース設定
  =========================================================================== */
  :root {
    /* カラー */
    --Main: #000;
    --Sub: #FD7D05;
    --Accent: #FFC654;
    --Back: #F5F5F5;
    --grey: #A1A1A1;

    /* フォント */
    --font_ja: NotoSansJP, sans-serif;
    --font_en: AtkinsonHyperlegibleNext, sans-serif;
  }

  .html {
    font-size: 16px;
  }

  .body {
    font-size: 0.875rem;
    line-height: 1.8;
    overflow-x: hidden;
  }

  .body:has(.hamburgerCont.active) {
    overflow: hidden;
  }

  .body a:hover {
    opacity: 1;
  }

  .forPC {
    display: none;
  }
  
  .forPC-inline {
    display: none;
  }  

  .forSP {
    display: block;
  }

  .forSP-inline {
    display: inline;
  }

  @media screen and (max-width: 425px) {
    .html {
      font-size: max(calc(100vw / 393 * 16));
    }

    .container {
      width: 100%;
      max-width: auto;
    }
  }


  /* ==========================================================================
  ヘッダー
  =========================================================================== */
  .header {
    padding: 1rem 0;
  }

  .header__flex {
    justify-content: center;
  }

  .header__logo {
    width: 10.5rem;
  }
  
  /* ==========================================================================
  トップページ
  =========================================================================== */
  .inner {
    width: 100%;
    padding: 0 1.25rem;
    margin: 0 auto;
  }

  .ttl {
    font-size: 3rem;
    line-height: 2rem;
  }

  .ttl:has(br) {
    line-height: 1;
  }

  .numbering > *:nth-child(1)::before {
    width: 4.4375rem;
  }

  .numbering > *:nth-child(2)::before {
    width: 5.0625rem;
  }

  .numbering > *:nth-child(3)::before {
    width: 5.125rem;
  }

  .numbering > *:nth-child(4)::before {
    width: 5rem;
  }

  .numbering > *:nth-child(5)::before {
    width: 5.125rem;
  }

  .numbering > *:nth-child(6)::before {
    width: 5.125rem;
  }

  .numbering > *:nth-child(7)::before {
    width: 4.8125rem;
  }

  .numbering > *:nth-child(8)::before {
    width: 5.25rem;
  }

  .numbering > *:nth-child(9)::before {
    width: 5.125rem;
  }

  .numbering > *:nth-child(10)::before {
    width: 4.375rem;
  }

  /* FV */
  .home__fv {
    min-height: 21.25rem;
    padding: 8.5rem 0 3.3125rem;
  }

  .home__fv-catch {
    width: 223px;
  }

  .home__fv-txt {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
    margin-top: 1rem;
  }

  .home__fv-mainImg {
    width: 11.625rem;
    top: 7.4375rem;
    right: 0.5rem;
  }

  .home__fv-img01 {
    width: 4.4375rem;
    top: 17.25rem;
    left: 0;
  }

  .home__fv-img02 {
    width: 2rem;
    top: 6.8125rem;
    left: 0.3125rem;
  }

  .home__fv-img03 {
    display: none;
  }

  .home__fv-img04 {
    display: none;
  }

  .home__fv-img05 {
    width: 1.3125rem;
    top: 7.9375rem;
    right: 9.5rem;
  }

  .home__fv-img06 {
    width: 1.3125rem;
    top: 18.375rem;
    right: 4.875rem;
  }

  .home__fv-img07 {
    width: 3.5625rem;
    top: 6.5rem;
    right: -0.4375rem;
  }

  /* 導入 */
  .home__intro {
    padding-top: 0;
    margin-top: 2.5rem;
  }

  .home__intro::before {
    display: none;
  }

  .home__intro-catch {
    font-size: 1rem;
  }

  .home__intro-txt {
    margin-top: 2rem;
  }

  .home__intro-txt p + p {
    margin-top: calc(1em * 1.8);
  }

  /* CONCEPT */
  .home__concept {
    padding-top: 5rem;
  }

  .home__concept-content {
    margin-top: 3.5rem;
  }

  .home__concept-list-item:nth-of-type(n+2) {
    margin-top: 3.5rem;
  }

  .home__concept-list-item-ttl {
    font-size: 1.5rem;
    line-height: 1.5;
  }

  .home__concept-list-item-img {
    margin: 2rem auto 0;
    position: static;
    transform: translateY(0);
  }

  .home__concept-list-item-img01 {
    width: 14.5625rem;
  }

  .home__concept-list-item-img02 {
    width: 9.4375rem;
  }

  .home__concept-list-item-img03 {
    width: 12.3125rem;
  }

  .home__concept-list-item-txt {
    line-height: 2;
    width: 100%;
  }

  /* COMPANY */
  .home__company {
    padding-top: 6.75rem;
  }

  .home__company-content {
    margin-top: 2.125rem;
  }

  .home__company-list {
    grid-template-columns: 3.5rem 1fr;
    width: 100%;
  }

  .home__company-list dt {
    font-size: 0.75rem;
    white-space: nowrap;
  }

  .home__company-list dd {
    font-size: 0.875rem;
  }

  .home__company-logo {
    display: none;
  }

  /* CONTACT */
  .home__contact {
    padding-top: 5rem;
  }

  .home__contact-txt {
    margin-top: 1.5rem;
  }

  .contact__form {
    background: transparent;
    box-shadow: none;
    padding: 0;
    margin-top: 1.5rem;
  }

  .contact__form-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .contact__form-grid > p:nth-of-type(1) {
    grid-row: 1;
    grid-column: 1;
  }

  .contact__form-grid > p:nth-of-type(2) {
    grid-row: 2;
    grid-column: 1;
  }

  .contact__form-grid > p:nth-of-type(3) {
    grid-row: 3;
    grid-column: 1;
  }

  .contact__form-grid > p:nth-of-type(4) {
    grid-row: 4;
    grid-column: 1;
  }

  .contact__form-grid > p:nth-of-type(5) {
    grid-row: 5;
    grid-column: 1;
  }

  .contact__form input[type="text"],
  .contact__form input[type="email"] {
    margin-top: 0.625rem;
  }

  .contact__form select {
    margin-top: 0.625rem;
  }

  .contact__form textarea {
    margin-top: 0.625rem;
  }

  .contact__form input[type="submit"] {
    background: url(../img/btn_arrow_white.svg) no-repeat left 14.5rem center / 2rem auto,
                linear-gradient(180deg, #59BDEF 0%, #1794D3 100%);
    width: 100%;
    margin-top: 1.5rem;
  }

  .contact__form input[type="submit"]:hover {
    opacity: 1;
  }


  /* ==========================================================================
  固定ページ
  =========================================================================== */
  .page__top {
    padding-top: 6rem;
  }

  .page__content {
    margin-top: 2.5rem;
  }

  .page__content h2 {
    font-size: 1.5rem;
    margin-top: 1rem;
  }

  .page__content h3 {
    font-size: 1.25rem;
    line-height: 1.2;
    margin-top: 1rem;
  }

  .page__content h3 + * {
    margin-top: 1rem;
  }

  .privacy-policy__list {
    margin-top: 2.5rem;
  }

  .privacy-policy__list-item:nth-of-type(n+2) {
    margin-top: 2.5rem;
  }




  /* ==========================================================================
  フッター
  =========================================================================== */
  .footer {
    padding: 2.5rem 0 1.25rem;
    margin-top: 5.75rem;
  }

  .page:not(.home) .footer {
    margin-top: 5.5rem;
  }

  .footer__flex {
    flex-direction: column;
  }

  .footer__logo {
    align-items: center;
    gap: 1rem;
    width: 14rem;
  }

  .footer__nav {
    margin-top: 2rem;
  }

  .footer__nav .menu {
    font-size: 0.75rem;
    line-height: 1;
    justify-content: center;
    gap: 1.5rem
  }

  .footer__copyright {
    margin-top: 2rem;
  }


  /* ==========================================================================
  404
  =========================================================================== */
  .error404__ttl {
    font-size: 2rem;
  }

}