@charset "utf-8";
/* PCなど広い画面では横並びメニューを表示 */
/*　メニュー　の横並びの一番の外側大枠　（ここから） */
.header_menu_pc-only {
display:block;
}
@media screen and (max-width: 1436px) {
.header_menu_pc-only {
display:none;
}
}
.keni-header_cont, .keni-header_col1 .keni-header_cont {
        max-width: initial !important;
}
.keni-header_wrap .keni-header_inner .header-nav-menu {
    align-items: center;
    align-content: center;
    margin-right: 0% !important;
}
.keni-header_wrap .keni-header_inner .rows {
    display: grid;
    grid-template-columns: 278px 168px 250px;
    align-items: center;
    gap: 0;
    align-content: center;
    text-align: center;
    margin-right: 33px;
    margin-top: -1%;
}
.keni-header_wrap .keni-header_inner .header-nav-menu .rows .list .tel {
    font-size: 25px;
    font-weight: bold;
    color: #ce0000;
    text-decoration: underline;
    display: inline-block;
    line-height: 1.4;
    white-space: nowrap;
}
.keni-header_wrap .keni-header_inner .header-nav-menu .rows .list .notes{
    font-size: 1.3rem !important;
    line-height: 1;
}
.keni-header_wrap .keni-header_inner .header-nav-menu .foam {
    color: #fff;
    background-color: #0e72b8;
    font-size: 12px!important;
    border-radius: 3px !important;
    text-decoration: none;
    border-radius: 3px;
    padding: 12px 10px 12px 10px !important;
    font-weight: 700;
    display: inline-block;
    text-align: center;
    margin-right: 0%;
    white-space: nowrap;
}
.keni-header_wrap .keni-header_inner .header-nav-menu {
  align-items: center;
  align-content: center;
}
.keni-header_wrap .keni-header_inner .header-nav-menu .rows .list:nth-child(1) {
  width: 390px;
  margin-left: -128px;
}

.keni-header_wrap .keni-header_inner .header-nav-menu .rows .list .tel {
    font-size: 30px;
    font-weight: bold;
    color: #f65e18f5;
    text-decoration: underline;
    display: inline-block;
    line-height: 1.4;
    white-space: nowrap;
}
.keni-header_wrap .keni-header_inner .header-nav-menu .foam {
   color: #fff;
    background-color: #0e72b8;
    font-size: 15px;
    border-radius: 3px !important;
    text-decoration: none;
    border-radius: 3px;
    padding: 13px 20px 13px 20px;
    font-weight: 700;
    display: inline-block;
    text-align: center;
    margin-right: 0%;
    white-space: nowrap;
}
.keni-header_wrap .keni-header_inner .header-nav-menu .foam a {
 color: #fff;
}
.keni-header_wrap .keni-header_inner {
  width: 96%;
  height:auto;
  margin: 0 auto 0;
}
.keni-header .site-title-original {
      float: left;
      max-width: 50%;
      font-size: inherit;
      padding: 11px 0 0 0;
    }
.keni-header .site-title-original ul {
      display: flex;
    }
.keni-header .site-title-original ul li:nth-child(1) {
      margin-right: 10px;
    }
.keni-header .site-title-original ul li:nth-child(2) {
      font-size: 116%;
      line-height: 1.2;
      padding: 6px 0 0 0;
      font-weight: 500;
    }
.keni-header .site-title-original ul .resize{
      font-size: 86% !important;
    }
.keni-header_wrap {
    position: fixed;
    z-index: 99;
    overflow: hidden;
    width: 100%;
    height: 115px;
    display: block;
    box-shadow: 2px 2px 8px #cdc7c7a8;
}
/*　メニュー　の横並びの一番の外側大枠　（ここまで） */
.hamburger-area .hamburger-overlay {
    position: fixed;
    top: 3%;
    right: 32px;
    z-index: 1000;
    width: 48px;
    height: 48px;
    border: none;
    background: transparent;
    cursor: pointer;
}

/* 3本線のハンバーガーメニュー（ここから） */
.hamburger-area {
  display: block I !important;
}
.hamburger-area .keni-header_inner {
width: 97%;
display: flow-root;
margin-top: 0;
}

.hamburger-area .hamburger-overlay__line {
position: absolute;
left: 22px;
width: 42px;
height: 5px;
background-color: #333;
transition: all .6s;
}
.hamburger-area .hamburger-overlay__line:nth-of-type(1) { top: 10px; }
.hamburger-area .hamburger-overlay__line:nth-of-type(2) { top: 23px; }
.hamburger-area .hamburger-overlay__line:nth-of-type(3) { top: 35px; }

.hamburger-area .hamburger-overlay.active .hamburger-overlay__line {
  background-color: #fff;
}
.hamburger-area .hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger-area .hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger-area .hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
  transform: translateY(-15px) rotate(45deg);
}
.hamburger-area .nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgb(0 0 0 / 86%);
  visibility: hidden;
  opacity: 0;
  transition: all .6s;
  z-index: 900;
}
.hamburger-area .nav-overlay.active {
  visibility: visible;
  opacity: 1;
}
.hamburger-area .nav-overlay__content {
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
.hamburger-area .nav-overlay__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.hamburger-area .nav-overlay__item {
  opacity: 0;
  transform: translateY(20px);
  transition: all .6s;
}
.hamburger-area .nav-overlay.active .nav-overlay__item {
  opacity: 1;
  transform: translateY(0);
}
.hamburger-area .nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
.hamburger-area .nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
.hamburger-area .nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
.hamburger-area .nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }
.hamburger-area .nav-overlay__link {
  display: inline-block;
  padding: 20px;
  color: #fff;
  font-size: 24px;
  text-decoration: none;
  transition: color .3s;
}
.hamburger-area .nav-overlay__link:hover {
  color: #4a90e2;
}
.hamburger-area .nav-overlay__link {
display: inline-block;
padding: 10px;
color: #fff;
font-size: 145%;
text-decoration: none;
transition: color .3s;
}
/* 3本線のハンバーガーメニュー（ここまで） */
/* 画面幅が768px以下になったらハンバーガーメニューに切り替え */
@media screen and (max-width: 767px) {
    .keni-header .site-title-original {
      float: left;
      max-width: 68%;
      font-size: inherit;
      padding: 0px 0 0 0;
    }
    .keni-header .site-title-original ul {
      display: flex;
      margin-left: 2px;
    }
    .keni-header .site-title-original ul li:nth-child(1) {
      margin-right: 10px;
      width: 58%;
    }
    .keni-header .site-title-original ul li:nth-child(2) {
     font-size: 70%;
     line-height: 1.3;
     padding: 0px 0 0 0;
     font-weight: 500;
     white-space: nowrap;
    }
    .keni-header .site-title-original ul .resize{
      font-size: 86% !important;
    }
    .keni-header_wrap {
    position: fixed;
    z-index: 99;
    overflow: hidden;
    width: 100%;
    display: block;
    height: 7%;
    box-shadow: 0px 0px 0px #cdc7c7a8;
 }

.hamburger-area .hamburger-overlay {
    position: fixed;
    top: 1%;
    right: 32px;
    z-index: 1000;
    width: 48px;
    height: 48px;
    border: none;
    background: transparent;
    cursor: pointer;
}
}
/* タブレットなどの横幅かつ横向き（ランドスケープ）の場合に適用 */
@media screen and (min-width: 768px) and (orientation: landscape) {
  .tategaki-container {
    writing-mode: vertical-rl; /* 右から左への縦書きに設定 */
    -webkit-writing-mode: vertical-rl;
    height: 100vh; /* 高さを画面全体に指定するなど */
  }
}


@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: portrait) {
  /* ここにiPadの縦向き時に適用したいCSSを記述 */
    .keni-header .site-title-original ul li:nth-child(1) {
      margin-right: 10px;
      width: 70%;
    }
    .keni-header .site-title-original ul li:nth-child(2) {
        font-size: 114%;
        line-height: 1.3;
        padding: 3px 0 0 0;
        font-weight: 500;
        white-space: nowrap;
    }
.hamburger-area .hamburger-overlay {
    position: fixed;
    top: 2.5%;
    right: 32px;
    z-index: 1000;
    width: 48px;
    height: 48px;
    border: none;
    background: transparent;
    cursor: pointer;
}
}
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: landscape) {
  /* ここにiPadの横向き時に適用したいCSSを記述 */
    .keni-header .site-title-original ul li:nth-child(1) {
      margin-right: 10px;
      width: 70%;
    }
    .keni-header .site-title-original ul li:nth-child(2) {
        font-size: 114%;
        line-height: 1.3;
        padding: 3px 0 0 0;
        font-weight: 500;
        white-space: nowrap;
    }
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1023px) and (orientation: portrait) {
  /* ここにiPadの縦向き時に適用したいCSSを記述 */
      .top_scroll_sp_top_00, .top_scroll_sp_top_01, .top_scroll_sp_top_02, .top_scroll_sp_top_03, .top_scroll_sp_top_04, .top_scroll_sp_top_05, .top_scroll_sp_top_06, .top_scroll_sp_top_07, .top_scroll_sp_top_08, .top_scroll_sp_top_09, .top_scroll_sp_top_10, .top_scroll_sp_top_11, .top_scroll_sp_top_12, .top_scroll_sp_top_13, .top_scroll_sp_top_14 {
        width: 100%;
        height: auto;
        margin: 6% auto 0 !important;
        overflow: hidden;
    }
    .keni-header .site-title-original {
      float: left;
      max-width: 68%;
      font-size: inherit;
      padding: 0px 0 0 0;
    }
    .keni-header .site-title-original ul {
      display: flex;
      margin-left: 2px;
    }
    .keni-header .site-title-original ul li:nth-child(1) {
      margin-right: 10px;
      width: 40%; 
    }
    .keni-header .site-title-original ul li:nth-child(2) {
     font-size: 70%;
     line-height: 1.3;
     padding: 0px 0 0 0;
     font-weight: 500;
     white-space: nowrap;
    }
    .keni-header .site-title-original ul .resize{
      font-size: 86% !important;
    }
    .keni-header_wrap {
    position: fixed;
    z-index: 99;
    overflow: hidden;
    width: 100%;
    display: block;
    height: 7%;
    box-shadow: 0px 0px 0px #cdc7c7a8;
 }

.hamburger-area .hamburger-overlay {
    position: fixed;
    top: 1%;
    right: 32px;
    z-index: 1000;
    width: 48px;
    height: 48px;
    border: none;
    background: transparent;
    cursor: pointer;
}
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1023px) and (orientation: landscape) {
  /* ここにiPadの横向き時に適用したいCSSを記述 */
  .keni-header .site-title-original {
      float: left;
      max-width: initial;
      font-size: inherit;
      padding: 11px 0 0 0;
    }
.hamburger-area .hamburger-overlay {
    position: fixed;
    top: 4%;
    right: 32px;
    z-index: 1000;
    width: 48px;
    height: 48px;
    border: none;
    background: transparent;
    cursor: pointer;
}
}