@charset "utf-8";



/* pagetitle
=========================================================================================== */

  .l-pagetitle {
    clear: both;
    background-color: var(--pagetitle-bgcolor);
    padding: 0 5%;
    display: -webkit-box!important;
    display: -webkit-flex!important;
    display: flex!important;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    }
  .l-pagetitle h1 {
    background-color: var(--pagetitle-bgtextcolor);
    color: var(--pagetitle-textcolor);
    margin: 0px auto;
    padding: 0 10px;
    display: -webkit-box!important;
    display: -webkit-flex!important;
    display: flex!important;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    text-align: center;
    line-height: 1.3;
    }


    @media print, screen and (min-width: 768px) {
      .l-pagetitle {
        height: 150px;
        }
        .l-pagetitle.l-pagetitle-L {
          height: 200px;
          }
      .l-pagetitle h1 {
        height: 100px;
        min-width: 520px;
        font-size: 4.0rem;
        }
      .l-pagetitlesub {
        font-size: 1.8rem;
        }
    }
    @media (max-width: 767px) {
      .l-pagetitle {
        height: 80px;
        }
        .l-pagetitle.l-pagetitle-L {
          height: 100px;
          }
      .l-pagetitle h1 {
        height: 50px;
        width: 90%;
        max-width: 300px;
        font-size: 2.0rem;
        }
      .l-pagetitlesub {
        font-size: 1.2rem;
        }
    }


    /* background */
    .l-pagetitle-stripe-h {
      background-image: repeating-linear-gradient( var(--pagetitle-bgcolor), var(--pagetitle-bgcolor) 3px, var(--pagetitle-bgcolor-s) 3px, var(--pagetitle-bgcolor-s) 12px);
      }
    .l-pagetitle-stripe-v {
      background-image: -webkit-repeating-linear-gradient(90deg, var(--pagetitle-bgcolor), var(--pagetitle-bgcolor) 3px, var(--pagetitle-bgcolor-s) 3px, var(--pagetitle-bgcolor-s) 12px);
      background-image: repeating-linear-gradient(-90deg, var(--pagetitle-bgcolor), var(--pagetitle-bgcolor) 3px, var(--pagetitle-bgcolor-s) 3px, var(--pagetitle-bgcolor-s) 12px);
      }
    .l-pagetitle-stripe-d {
      background-image: -webkit-repeating-linear-gradient(135deg, var(--pagetitle-bgcolor), var(--pagetitle-bgcolor) 3px, var(--pagetitle-bgcolor-s) 3px, var(--pagetitle-bgcolor-s) 12px);
      background-image: repeating-linear-gradient(-45deg, var(--pagetitle-bgcolor), var(--pagetitle-bgcolor) 3px, var(--pagetitle-bgcolor-s) 3px, var(--pagetitle-bgcolor-s) 12px);
      }
    [class*="l-pagetitle-photo"] {
      position: relative;
      }
      [class*="l-pagetitle-photo"] > h1 {
        position: relative;
        }
      [class*="l-pagetitle-photo"] > span {
        position: absolute;
        display: block;
        width: 100%;
        }
        [class*="l-pagetitle-photo"] > span > img {
          width: 100%;
          object-fit: cover;
          }
        .l-pagetitle-photo__left > span > img {
          object-position: left;
          }
        .l-pagetitle-photo__right > span > img {
          object-position: right;
          }
        .l-pagetitle-photo__top > span > img {
          object-position: top;
          }
        .l-pagetitle-photo__bottom > span > img {
          object-position: bottom;
          }
        @media print, screen and (min-width: 768px) {
          [class*="l-pagetitle-photo"] > span,
          [class*="l-pagetitle-photo"] > span > img {
            height: 150px;
            }
          [class*="l-pagetitle-photo"].l-pagetitle-L > span,
          [class*="l-pagetitle-photo"].l-pagetitle-L > span > img {
            height: 200px;
            }
          .l-pagetitle-photo__sizefixed > span > img {
            object-fit: none;
            }
        }
        @media (max-width: 767px) {
          [class*="l-pagetitle-photo"] > span,
          [class*="l-pagetitle-photo"] > span > img {
            height: 80px;
            }
          [class*="l-pagetitle-photo"].l-pagetitle-L > span,
          [class*="l-pagetitle-photo"].l-pagetitle-L > span > img {
            height: 100px;
            }
          .l-pagetitle-photo__sizefixed > span > img {
            object-fit: contain;
            }
        }




/* pankuzu
=========================================================================================== */
  .l-pankuzu > * {
    display: inline-block;
    }
  .l-pankuzu a {
    color: var(--cs-textcolor);
    text-decoration: none;
    }
  .l-pankuzu > span:not(:last-child)::after {
    content: '＞';
    padding: 0 10px;
    letter-spacing: 0;
    }
  
  @media print, screen and (min-width: 768px) {
    .l-pankuzu {
      padding-top: 30px;
      padding-bottom: 30px;
      }
    .l-pankuzu a:hover {
      text-decoration: underline;
      }
  }
  @media (max-width: 767px) {
    .l-pankuzu {
      padding-top: 20px;
      padding-bottom: 20px;
      }
  }


/* ヘッダーのボタンやバナー（スマホ：上・下・ハンバーガーメニュー内）
=========================================================================================== */

  .l-sidenav {
    position: fixed;
    z-index: 9500;
    }
	@media print, screen and (min-width: 768px) {
    .l-sidenav {
      top: 200px;
      right: -2px;
      writing-mode: vertical-lr;
      letter-spacing: -0.2em;
      }
    [class*="l-sidenav-bn__"] a {
      padding: 10px 9px 10px 8px;
      display: inline-block;
      letter-spacing: 0.1em;
      }
    [class*="l-sidenav-bn__"] a:not(:first-child) {
      margin-top: 15px;
      }
	}
	@media (max-width: 767px) {
    .l-sidenav {
      margin: 0;
      padding: 0;
      width: 100%;
      bottom: 0;
      left: 0px;
      }
  
    [class*="l-sidenav-bn__"] {
      width: 100%;
      display: -webkit-grid;
      display: grid;
      -webkit-justify-content: center;
      justify-content: center;
      }
    .l-sidenav-bn__1 {
      grid-template-columns: 1fr;
      }
    .l-sidenav-bn__2 {
      grid-template-columns: 1fr 1fr;
      }
    .l-sidenav-bn__3 {
      grid-template-columns: 1fr 1fr 1fr;
      }

    [class*="l-sidenav-bn__"] a{
      padding-top: 8px;
      padding-bottom: 8px;
      }
	}





