@charset "utf-8";
/**
 * Layout: layout.css
 * ページ全体を構成する「器（大枠）」のスタイルを管理する。
 * ヘッダー、フッター、メインエリア、サイドバー、コンテナ幅、グリッドシステムなど、
 * 複数のページで共通して使用されるレイアウト構造を定義。
 * * 運用ルール:
 * - 接頭辞「l-」を使用すること。
 * - 原則として、内部の細かなパーツ（ボタン、装飾等）のスタイルは記述しない。
 * - ページ固有のレイアウト調整が必要な場合は Projectレイヤーでの上書きを検討すること。
 */


 /* ==========================================================================
   Layout: Container (.l-container)
   役割: コンテンツ幅指定
   ========================================================================== */
   .l-container {
    margin: 0 auto;
    padding: 0 var(--contents-padding);
    }

  @media screen and (min-width: 768px) {
    .l-container {}
  }/* min-width: 768px */

  @media screen and (min-width: 1025px) {
    .l-container {}
  }/* min-width: 1025px */

  @media screen and (min-width: 1240px) {
    .l-container {
      padding: 0;
      max-width: 1200px;
    }
  }/* min-width: 1040px */

 /* ==========================================================================
   Layout: Footer (.l-footer)
   役割: フッター指定
   ========================================================================== */
    .l-footer{
      padding: 2.5rem 0;
    }

    .l-footer__inner{
      padding: 0 var(--contents-padding);
    }

    .l-footer-lead{
      font-size: 0.875rem;
      font-weight: var(--font-weight-medium);
      letter-spacing: var(--ls-default);
      line-height: 1.9;
      margin: 0 0 1.875rem;
    }

    .l-footer-corp{
      align-items: center;
      display: flex;  
      justify-content: center;
      margin: 0 0 0.75rem;
    }

    .l-footer-corp__logo{
      align-items: center;
      display: flex;
      justify-content: center;
    }

    .l-footer-corp__label{
      font-size: 0.875rem;
      font-weight: var(--font-weight-medium);
      letter-spacing: var(--ls-default);
      line-height: var(--line-height-one-line);
    }

    .l-footer-corp__image{
      margin: 0 1rem 0 0.4375rem;
      width: 130px;
    }

    .l-footer-corp__link{
      display: inline-block;
    }

    .l-footer-corp__anniversary{
      width: 58px;
    }

    .l-footer-description{
      font-size: 0.875rem;
      font-weight: var(--font-weight-medium);
      letter-spacing: var(--ls-default);
      line-height: 1.9;
      margin: 0;
    }
    
    .l-footer-copyright{
      font-size: 0.625rem;
      font-weight: var(--font-weight-bold);
      letter-spacing: var(--ls-default);
      line-height: var(--line-height-one-line);
      margin: 1.875rem 0 0;
    }

    @media screen and (min-width: 768px) {

    }/* /min-width: 768px */


    @media screen and (min-width: 1025px) {

    }/* /min-width: 1025px */

    @media screen and (min-width: 1240px) {      
      .l-footer{
        padding: 5.5rem 0;
      }

      .l-footer__inner{
        padding: 0;
      }

      .l-footer-lead{
        font-size: 1rem;
        margin: 0 0 2.5rem;      
      }

      .l-footer-corp{
        margin: 0 0 1rem;
      }

      .l-footer-corp__logo{}

      .l-footer-corp__label{
        font-size: 1rem;
      }

      .l-footer-corp__image{
        margin: 0 1.875rem 0 0.5rem;  
        width: 187px;
      }

      .l-footer-corp__link{}
      .l-footer-corp__link:hover{
        opacity: var(--hover-opacity);
      }

      .l-footer-corp__anniversary{
        width: 82px;
      }

      .l-footer-description{
        font-size: 1rem;
      }
      
      .l-footer-copyright{
        font-size: 0.875rem;
        margin: 2.5rem 0 0;
      }

    }/* min-width: 1240px */