@charset "UTF-8";

/**
 * Layout: layout.css
 * ページ全体を構成する「器（大枠）」のスタイルを管理する。
 * ヘッダー、フッター、メインエリア、サイドバー、コンテナ幅、グリッドシステムなど、
 * 複数のページで共通して使用されるレイアウト構造を定義。
 * * 運用ルール:
 * - 接頭辞「l-」を使用すること。
 * - 原則として、内部の細かなパーツ（ボタン、装飾等）のスタイルは記述しない。
 * - ページ固有のレイアウト調整が必要な場合は Projectレイヤーでの上書きを検討すること。
 */

  /* ==========================================================================
   Layout: Wrap (.l-wrap)
   役割: ページ全体
   ========================================================================== */
    .l-wrap {
      position: relative;
    }

    @media screen and (min-width: 768px) {
      .l-wrap {}
    }/* min-width: 768px */

    @media screen and (min-width: 1025px) {
      .l-wrap {}
    }/* min-width: 1025px */

    @media screen and (min-width: 1040px) {
      .l-wrap {}
    }/* min-width: 1040px */


 /* ==========================================================================
   Layout: Container (.l-container)
   役割: コンテンツ幅指定
   ========================================================================== */
    .l-container {
      margin: 0 auto;
      padding: 0 20px;
      }

    .l-container-narrow {
      margin: 0 auto;
      padding: 0 20px;
      }

    @media screen and (min-width: 768px) {
      .l-container {}

      .l-container-narrow {}
    }/* min-width: 768px */

    @media screen and (min-width: 1025px) {
      .l-container {}

      .l-container-narrow {}
    }/* min-width: 1025px */

    @media screen and (min-width: 1040px) {
      .l-container {}

      .l-container-narrow {
        padding: 0;
        max-width: 1000px;
      }
    }/* min-width: 1040px */

    @media screen and (min-width: 1240px) {
      .l-container {
        padding: 0;
        max-width: 1200px;
      }

      .l-container-narrow {}
    } /* min-width: 1240px */


 /* ==========================================================================
   Layout: Header (.l-header)
   役割: ヘッダー指定
   ========================================================================== */
   .l-header{
    padding: 0.625rem 0;
    position: absolute;
    width: 100%;
    z-index: var(--zindex-header);
   }

   .l-header__container{
    padding: 0 10px;
   }

   .l-header__content{
    align-items: center;
    display: flex;
    justify-content: space-between;
   }

   .l-header__logo{
    align-items: center;
    display: flex;    
    flex-wrap: wrap;
    gap: 0 1.6875rem;
   }

   .l-header__logo-figure{
    width: 139px;
   }

   .l-header__logo-link{
    display: inline-block;
   }

   .l-header__logo-image{}

   .l-header__logo-caption{
    font-size: 10px;
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-xs);
    margin: 0;
    width: calc((100% - 1.6875rem) - 139px);
   }

    @media screen and (min-width: 768px) {
      .l-header{}

      .l-header__container{
        padding: 0 1.25rem;
      }

      .l-header__content{
        gap: 0 1rem;
      }

      .l-header__logo{
        gap: 0 0.5rem;
        width: 100%;   
      }

      .l-header__logo-figure{}

      .l-header__logo-link{}

      .l-header__logo-image{}

      .l-header__logo-caption{
        display: inline-block;        
        font-size: 1rem;
        width: auto;
      }

    }/* min-width: 768px */

    @media screen and (min-width: 1025px) {
      .l-header{}

      .l-header__container{}

      .l-header__content{}

      .l-header__logo{}

      .l-header__logo-figure{}

      .l-header__logo-link{}
      @media (hover: hover) {
        .l-header__logo-link:hover{
          opacity: var(--hover-opacity);
        }
      }

      .l-header__logo-image{}

      .l-header__logo-caption{}

    }/* min-width: 1025px */

    @media screen and (min-width: 1240px) {
      .l-header{
        padding: 1.25rem 0;
      }

      .l-header__container{
        padding: 0;
      }

      .l-header__content{}

      .l-header__logo{
        gap: 0 1rem; 
      }

      .l-header__logo-figure{
        width: 200px;
      }

      .l-header__logo-link{}

      .l-header__logo-image{}

      .l-header__logo-caption{
        width: calc((100% - 1rem) - 200px);
      }

    } /* min-width: 1240px */
    

 /* ==========================================================================
   Layout: Main (.l-main)
   役割: メインコンテンツ指定
   ========================================================================== */

 /* ==========================================================================
   Layout: Footer (.l-footer)
   役割: フッター指定
   ========================================================================== */
   .l-footer{
    margin: 3rem 0 0;
   }

   .l-footer-catch{
    margin: 0 0 1.875rem;
   }

   .l-footer-catch__container{}

   .l-footer-lead{
    border-bottom: 1px solid var(--color-primary);
    font-size: 1.125rem;    
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-xs);
    margin: 0 0 0.5em;
    padding: 0 0 0.5em;
   }

   .l-footer-description{
    font-size: 1rem;
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-sm);
    margin: 0;
   }

   .l-footer-info{}

   .l-footer-head{
    margin: 0 0 1rem;
   }

   .l-footer-head__text{
    align-items: center;
    display: flex;
    font-size: 1.125rem;
    font-weight: var(--font-weight-bold);
    height: 60px;
    justify-content: center;
    margin: 0 0 1em;
   }

   .l-footer-corporate{}

   .l-footer-corporate__text{
    font-size: 1.25rem;
    font-weight: var(--font-weight-medium);
   }

   .l-footer-corporate__address{
    font-size: 1rem;
    font-style: normal;
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-xs);
    margin: 0.8em 0 0;
   }

   .l-footer-body{}

   .l-footer__container{}

   .l-footer-contact{
    margin: 0 0 1.875rem;
    text-align: center;
   }

   .l-footer-contact__link{
    align-items: center;
    border: 2px solid var(--color-primary);
    border-radius: var(--border-radius-sm);
    color: var(--color-primary);
    display: inline-flex;
    justify-content: center;
    padding: 0.8em 0.8em calc(0.8em + 0.2em);
    position: relative;
    text-decoration: none;
    width: 100%;
   }
   .l-footer-contact__link:after{
    background-color: var(--color-primary);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    content: "";
    display: inline-block;
    height: 20px;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);    
    width: 15px;
   }

   .l-footer-contact__text{
    font-size: 1.125rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.3;
   }

   .l-fooer-external{
    margin: 0 0 3rem;
   }

   .l-fooer-external__nav{}

   .l-fooer-external__list{
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 1rem;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
   }

   .l-fooer-external__item{
    margin: 0 auto;
    width: calc((100% - 1rem) / 2);
   }
   .l-fooer-external__item--mhlw{}
   .l-fooer-external__item--no-harassment-mhlw{}
   .l-fooer-external__item--kokoro-mhlw{}
   .l-fooer-external__item--ikuji-kaigo-mhlw{}

   .l-fooer-external__link{
    display: inline-block;
   }

   .l-fooer-menu{}

   .l-fooer-menu__nav{}

   .l-fooer-menu__list{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.2rem;
    justify-content: center;
    list-style: none;
    margin: 0;
    overflow: hidden;
    padding: 0;
   }

   .l-fooer-menu__item{
    font-size: 1rem;
    font-weight: var(--font-weight-medium);
    position: relative;
   }

   .l-fooer-menu__link{
    display: inline-block;    
    /* text-underline-offset: var(--text-deco-offset); */
   }

   .l-copyright{
    margin: 1rem 0 0;
   }

   .l-copyright__note{
    background-color: var(--color-primary);
    padding: 1em 1em 2em;
   }

   .l-copyright__text{
    display: inline-block;
    font-size: 1rem;
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-xs);
   }

   
    @media screen and (min-width: 768px) {
      .l-footer{}

      .l-footer-catch{}

      .l-footer-catch__container{}

      .l-footer-lead{}

      .l-footer-description{
        text-align: center;
      }

      .l-footer-info{}

      .l-footer-head{}

      .l-footer-head__text{}

      .l-footer-corporate{}

      .l-footer-corporate__text{}

      .l-footer-corporate__address{}

      .l-footer-body{}

      .l-footer__container{}

      .l-footer-contact{}

      .l-footer-contact__link{}
      .l-footer-contact__link:after{}

      .l-footer-contact__text{}

      .l-fooer-external{}

      .l-fooer-external__nav{}

      .l-fooer-external__list{
        gap: 1.25rem 2rem;
      }

      .l-fooer-external__item{
        width: calc((100% - 2rem) / 2);
        max-width: 250px;
      }
      .l-fooer-external__item--mhlw{}
      .l-fooer-external__item--no-harassment-mhlw{}
      .l-fooer-external__item--kokoro-mhlw{}
      .l-fooer-external__item--ikuji-kaigo-mhlw{}

      .l-fooer-external__link{}

      .l-fooer-menu{}

      .l-fooer-menu__nav{}

      .l-fooer-menu__list{}

      .l-fooer-menu__item{}

      .l-fooer-menu__link{}

      .l-copyright{}

      .l-copyright__note{}

      .l-copyright__text{}

    } /* min-width: 768px */

    @media screen and (min-width: 1025px) {
      .l-footer{
        margin: 5rem 0 0;      
      }

      .l-footer-catch{}

      .l-footer-catch__container{}

      .l-footer-lead{}

      .l-footer-description{}

      .l-footer-info{}

      .l-footer-head{}

      .l-footer-head__text{}

      .l-footer-corporate{}

      .l-footer-corporate__text{}

      .l-footer-corporate__address{}

      .l-footer-body{}

      .l-footer__container{}

      .l-footer-contact{}

      .l-footer-contact__link{}
      @media (hover: hover) {
        .l-footer-contact__link:hover{
          background-color: var(--color-primary);
          color: var(--color-white-900);
        }
      }
      .l-footer-contact__link:after{}

      .l-footer-contact__text{}

      .l-fooer-external{}

      .l-fooer-external__nav{}

      .l-fooer-external__list{}

      .l-fooer-external__item{}
      .l-fooer-external__item--mhlw{}
      .l-fooer-external__item--no-harassment-mhlw{}
      .l-fooer-external__item--kokoro-mhlw{}
      .l-fooer-external__item--ikuji-kaigo-mhlw{}

      .l-fooer-external__link{}
      @media (hover: hover) {
        .l-fooer-external__link:hover{
          opacity: var(--hover-opacity);
        }
      }

      .l-fooer-menu{}

      .l-fooer-menu__nav{}

      .l-fooer-menu__list{}

      .l-fooer-menu__item{}

      .l-fooer-menu__link{}
      @media (hover: hover) {
        .l-fooer-menu__link:hover{
          text-decoration: none;
        }
      }
      @media (hover: hover) {
        .l-footer-contact__link:hover:after{
          background-color: var(--color-white-900);
        }
      }

      .l-copyright{}

      .l-copyright__note{}

      .l-copyright__text{}

    } /* min-width: 1025px */

    @media screen and (min-width: 1240px) {
      .l-footer{}

      .l-footer-catch{
        margin: 0 0 3.75rem;
      }

      .l-footer-catch__container{}

      .l-footer-lead{
        font-size: 2.1875rem;
      }

      .l-footer-description{
        font-size: 1.25rem;
      }

      .l-footer-info{}

      .l-footer-head{
        margin: 0 0 2.5rem;
      }

      .l-footer-head__text{
        font-size: 1.5rem;
        height: 75px;
      }

      .l-footer-corporate{}

      .l-footer-corporate__text{
        font-size: 1.75rem;
      }

      .l-footer-corporate__address{
        font-size: 1.25rem;
      }

      .l-footer-body{}

      .l-footer__container{}

      .l-footer-contact{
        margin: 0 0 3.75rem;
      }

      .l-footer-contact__link{
        border-radius: var(--border-radius-md);
        padding: 1em 1em calc(1em + 0.2em);
        max-width: 773px;
      }
      .l-footer-contact__link:after{
        height: 44px;
        right: 3.75rem;
        width: 35px;
      }

      .l-footer-contact__text{
        font-size: 2.1875rem;
        line-height: 1.2;
      }

      .l-fooer-external{
        margin: 0 0 6.25rem;
      }

      .l-fooer-external__nav{}

      .l-fooer-external__list{
        gap: 0 2.8125rem;
      }

      .l-fooer-external__item{
        margin: 0;
        width: auto;
      }
      .l-fooer-external__item--mhlw{
        max-width: 293px;
      }
      .l-fooer-external__item--no-harassment-mhlw{
        max-width: 340px;
      }
      .l-fooer-external__item--kokoro-mhlw{
        max-width: 247px;
      }
      .l-fooer-external__item--ikuji-kaigo-mhlw{
        max-width: 173px;
      }

      .l-fooer-external__link{}

      .l-fooer-menu{}

      .l-fooer-menu__nav{}

      .l-fooer-menu__list{
        gap: 0 2rem;
      }

      .l-fooer-menu__item{}

      .l-fooer-menu__link{}

      .l-copyright{}

      .l-copyright__note{}

      .l-copyright__text{}

    } /* min-width: 1240px */

