@charset "UTF-8";
@font-face {
  font-family: "NotoSansJP-Bold";
  src: url(/fonts/NotoSansJP/NotoSansJP-Bold.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP-Medium";
  src: url(/fonts/NotoSansJP/NotoSansJP-Medium.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP-Regular";
  src: url(/fonts/NotoSansJP/NotoSansJP-Regular.woff) format("woff");
  font-display: swap;
}
/*16*1.75/2*/
/*========*/
/* ヘッダ */
/*========*/
header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  background-color: #FFF;
  line-height: 1;
  /* Line QR */
}
@media (max-width: 1024px) {
  header {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
  }
}
@media (max-width: 767px) {
  header {
    padding: 8px 16px;
  }
}
header a {
  display: inline-block;
}
header .header-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 32px;
}
@media (max-width: 767px) {
  header .header-wrap {
    padding: 0;
  }
}
header .header-wrap .h-logo img {
  height: 48px;
}
@media (max-width: 767px) {
  header .header-wrap .h-logo img {
    height: 26px;
  }
}
header .header-wrap .h-cts-inner {
  display: flex;
  align-items: center;
}
header .h-date {
  padding-left: 32px;
  font-size: 14px;
  text-align: right;
}
@media (max-width: 767px) {
  header .h-date {
    padding-left: 0;
    font-size: 12px;
    line-height: 1;
  }
}
header .h-date span {
  padding: 0 3px 1px;
  background-color: #333;
  color: #FFF;
  font-size: 11px;
  vertical-align: 2px;
}
@media (max-width: 767px) {
  header .h-date span {
    padding: 0 2px 1px;
    transform: scale(0.8);
  }
}
header .h-date .time {
  padding-top: 4px;
  color: #000;
  font-family: "NotoSansJP-Bold", sans-serif;
  font-size: 16px;
}
@media (max-width: 767px) {
  header .h-date .time {
    font-size: 13px;
  }
}
header .h-weather {
  padding-left: 32px;
}
@media (max-width: 767px) {
  header .h-weather {
    padding-left: 24px;
  }
  header .h-weather img {
    height: 30px;
  }
}
header .h-menu {
  padding: 4px 0 0 32px;
}
header .h-menu:hover {
  cursor: pointer;
}
header .h-menu:hover img {
  opacity: 0.7;
}
@media (max-width: 767px) {
  header .h-menu {
    padding: 2px 0 0 24px;
  }
  header .h-menu img {
    width: 38px;
  }
}
header .g-nv {
  position: relative;
  padding: 16px 32px;
  background-color: #E6196B;
  text-align: center;
}
@media (max-width: 1024px) {
  header .g-nv {
    padding: 14px 16px 18px;
  }
}
@media (max-width: 767px) {
  header .g-nv {
    display: none;
  }
}
@media (max-width: 767px) {
  header .h-nv {
    display: none;
  }
}
header .h-nv ul {
  display: inline-flex;
}
@media (max-width: 767px) {
  header .h-nv ul {
    display: block;
    border-top: 1px solid #DDD;
    border-bottom: 1px solid #FFF;
    font-size: 124%;
  }
}
@media (min-width: 1280px) {
  header .h-nv ul li {
    padding: 0 16px;
  }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  header .h-nv ul li {
    padding: 0 8px;
  }
}
@media (max-width: 1024px) {
  header .h-nv ul li {
    padding: 0 6px;
    font-size: 14px;
  }
}
@media (max-width: 840px) {
  header .h-nv ul li {
    padding: 0 4px;
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  header .h-nv ul li {
    border-top: 1px solid #FFF;
    border-bottom: 1px solid #DDD;
    padding: 0;
  }
}
header .h-nv a {
  position: relative;
  text-decoration: none;
  color: #FFF;
}
@media (max-width: 767px) {
  header .h-nv a {
    display: block;
    padding: 10px 6%;
    color: #333;
    text-align: left;
  }
}
header .h-nv a::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #FFF;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
@media (max-width: 767px) {
  header .h-nv a::after {
    display: none;
  }
}
header .h-nv a:hover::after {
  transform: scale(1, 1);
}
header .h-sns {
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
}
@media (min-width: 768px) and (max-width: 1440px) {
  header .h-sns {
    top: -52px;
    right: 305px;
    transform: none;
  }
}
header .h-sns ul {
  display: flex;
  gap: 0 16px;
}
header .h-sns ul li a {
  display: block;
}
header .h-sns ul li a img {
  width: 24px;
}
header .h-sns ul li.header-line {
  position: relative;
}
header .h-sns ul li.header-line .line-qr {
  display: none;
  position: absolute;
  top: 34px;
  right: -79px;
  width: 190px;
  z-index: 10000;
}
header .h-sns ul li.header-line .line-qr img {
  background-color: #333;
  padding: 5px;
  overflow: visible;
  zoom: 1;
  box-shadow: 0 1px 3px #333;
  height: 180px;
}
header .h-sns ul li.header-line .line-qr span {
  background-color: #333;
  width: 8px;
  height: 8px;
  position: absolute;
  top: -4px;
  left: 50%;
  transform: rotate(-45deg);
}

/* ハンバーガーメニュー
---------------------------------------- */
header .sitemenu-warp {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 32px;
  background-color: #232323;
  z-index: 100000;
}
@media (min-width: 1024px) {
  header .sitemenu-warp {
    opacity: 1 !important;
  }
}
@media (max-width: 1024px) {
  header .sitemenu-warp {
    top: 0;
    right: -77%;
    width: 77%;
    left: auto;
    padding: 0;
    height: 100%;
    background-color: #E6196B;
    color: #333;
    z-index: 99999;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    display: block !important;
  }
}
header .sitemenu-warp .sitemenu-inner {
  position: relative;
  text-align: center;
}
header .sitemenu-warp .sitemenu-close {
  position: absolute;
  top: 0;
  right: 0;
}
header .sitemenu-warp .sitemenu-close:hover {
  opacity: 0.7;
}
@media (max-width: 1024px) {
  header .sitemenu-warp .sitemenu-close {
    position: relative;
    height: 80px;
    padding: 16px 24px;
    cursor: pointer;
  }
  header .sitemenu-warp .sitemenu-close img {
    display: none;
  }
}
@media (max-width: 767px) {
  header .sitemenu-warp .sitemenu-close {
    padding: 8px 16px;
    height: 46px;
  }
}
header .sitemenu-warp .sitemenu-close::before, header .sitemenu-warp .sitemenu-close::after {
  content: "";
  position: absolute;
  display: block;
  width: 36px;
  height: 2px;
  background-color: #232323;
  transition: all 0.5s;
  top: 40px;
  right: 24px;
}
@media (max-width: 767px) {
  header .sitemenu-warp .sitemenu-close::before, header .sitemenu-warp .sitemenu-close::after {
    width: 30px;
    top: 22px;
    right: 16px;
  }
}
header .sitemenu-warp .sitemenu-close::before {
  transform: rotate(45deg);
}
header .sitemenu-warp .sitemenu-close::after {
  transform: rotate(-45deg);
}
header .sitemenu-warp .sitemenu-logo {
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 1024px) {
  header .sitemenu-warp .sitemenu-logo {
    display: none;
  }
}
header .sitemenu-warp .sitemenu-logo img {
  height: 48px;
}
header .sitemenu-warp .sitemenu-header {
  display: inline-flex;
  align-items: center;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  header .sitemenu-warp .sitemenu-header {
    display: block;
  }
}
header .sitemenu-warp .sitemenu-header .h-sns {
  position: static;
  transform: none;
}
@media (max-width: 1024px) {
  header .sitemenu-warp .sitemenu-header .h-sns {
    padding: 0 16px 24px;
  }
}
@media (max-width: 767px) {
  header .sitemenu-warp .sitemenu-header .h-sns {
    padding: 0 16px 16px;
  }
}
@media (max-width: 1024px) {
  header .sitemenu-warp .sitemenu-header .h-sns ul {
    max-width: 176px;
    margin: 0 auto;
    gap: 0 16px;
  }
}
header .sitemenu-warp .sitemenu-header .h-sns ul li {
  margin-right: 0;
}
header .sitemenu-warp .sitemenu-header .h-sns ul li img {
  width: 32px;
}
header .sitemenu-warp .sitemenu-header .h-sns .header-line {
  position: relative;
}
header .sitemenu-warp .sitemenu-header .h-sns .line-qr {
  right: -76px;
}
header .sitemenu-warp .sitemenu-header .h-sns .line-qr img {
  width: 100%;
}
header .sitemenu-navi-pc {
  margin-top: 60px;
}
@media (max-width: 1024px) {
  header .sitemenu-navi-pc {
    display: none;
  }
}
header .sitemenu-navi-pc .h-nv-sub {
  margin-top: 32px;
}
@media (max-width: 1024px) {
  header .sitemenu-navi-pc .h-nv-sub {
    display: none;
  }
}
header .sitemenu-navi-pc .h-nv-sub ul {
  display: inline-flex;
}
header .sitemenu-navi-pc .h-nv-sub li {
  padding: 0 16px;
}
header .sitemenu-navi-pc .h-nv-sub a {
  position: relative;
  text-decoration: none;
  color: #FFF;
}
header .sitemenu-navi-pc .h-nv-sub a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #FFF;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
header .sitemenu-navi-pc .h-nv-sub a:hover::after {
  transform: scale(1, 1);
}
header .sitemenu-navi-pc .f-nv {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 40px auto 0;
  padding-top: 40px;
  border-top: solid 1px #FFF;
}
@media (max-width: 1024px) {
  header .sitemenu-navi-pc .f-nv {
    /*display: none;*/
    flex-wrap: wrap;
    margin: 0 auto;
    padding-top: 0;
    border-top: solid 1px #DDD;
  }
}
header .sitemenu-navi-pc .f-nv .col {
  text-align: left;
  line-height: 1.2;
}
@media (max-width: 1024px) {
  header .sitemenu-navi-pc .f-nv .col {
    width: 100%;
  }
  header .sitemenu-navi-pc .f-nv .col a {
    display: block;
    padding: 10px 6%;
    border-top: 1px solid #FFF;
    border-bottom: solid 1px #DDD;
    color: #333;
    font-size: 16px;
  }
  header .sitemenu-navi-pc .f-nv .col a:hover {
    text-decoration: none;
  }
}
header .sitemenu-navi-pc .f-nv .col li {
  margin: 8px 0 0 16px;
}
@media (max-width: 1024px) {
  header .sitemenu-navi-pc .f-nv .col li {
    margin: 0;
  }
}
header .sitemenu-navi-pc .f-nv .col li a {
  color: #DFDFDF;
}
@media (max-width: 767px) {
  header .sitemenu-navi-pc .f-nv .col li a {
    color: #333;
  }
}
header .sitemenu-navi-pc .f-nv p:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 1024px) {
  header .sitemenu-navi-pc .f-nv p:not(:first-child) {
    margin-top: 0;
  }
}
header .sitemenu-navi-pc .f-nv p a {
  color: #FFF;
  font-weight: 500;
}
header .sitemenu-navi-pc .nv-company-wrap {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  header .sitemenu-navi-pc .nv-company-wrap {
    flex-wrap: wrap;
  }
}
header .sitemenu-navi-pc .nv-company-wrap ul {
  margin-right: 6.25%;
}
@media (max-width: 1024px) {
  header .sitemenu-navi-pc .nv-company-wrap ul {
    width: 100%;
    margin-right: 0;
  }
}
header .sitemenu-navi-pc .nv-company-wrap ul:last-child {
  margin-right: 0;
}
header .sitemenu-navi-pc .nv-company-wrap ul li {
  white-space: nowrap;
}
@media (max-width: 1300px) {
  header .sitemenu-navi-pc .nv-company-wrap ul li {
    white-space: normal;
  }
}
header .sitemenu-navi-sp {
  display: none;
}
@media (max-width: 1024px) {
  header .sitemenu-navi-sp {
    display: block;
    padding-bottom: 24px;
  }
}
@media (max-width: 1024px) and (max-width: 767px) {
  header .sitemenu-navi-sp {
    padding-bottom: 16px;
  }
}
@media (max-width: 1024px) {
  header .sitemenu-navi-sp .sp-menu-list {
    border-bottom: 2px solid #FFF;
  }
  header .sitemenu-navi-sp .sp-menu-list li {
    border-top: 2px solid #FFF;
    text-align: left;
  }
  header .sitemenu-navi-sp .sp-menu-list li a {
    display: block;
    padding: 16px 24px;
    color: #FFF;
  }
}
@media (max-width: 1024px) and (max-width: 767px) {
  header .sitemenu-navi-sp .sp-menu-list li a {
    padding: 12px 16px;
  }
}
@media (max-width: 1024px) {
  header .sitemenu-navi-sp .sp-menu-list li .parent-menu {
    position: relative;
    display: block;
    padding: 16px 24px;
    color: #FFF;
    transition: all 0.5s;
    cursor: pointer;
  }
}
@media (max-width: 1024px) and (max-width: 767px) {
  header .sitemenu-navi-sp .sp-menu-list li .parent-menu {
    padding: 12px 16px;
  }
}
@media (max-width: 1024px) {
  header .sitemenu-navi-sp .sp-menu-list li .parent-menu::before, header .sitemenu-navi-sp .sp-menu-list li .parent-menu::after {
    content: "";
    display: block;
    position: absolute;
    width: 16px;
    height: 2px;
    top: 50%;
    right: 16px;
    background-color: #FFF;
    transform: translateY(-50%);
  }
}
@media (max-width: 1024px) {
  header .sitemenu-navi-sp .sp-menu-list li .parent-menu::after {
    width: 2px;
    height: 16px;
    right: 23px;
  }
}
@media (max-width: 1024px) {
  header .sitemenu-navi-sp .sp-menu-list li .parent-menu.open::after {
    display: none;
  }
  header .sitemenu-navi-sp .sp-menu-list li .parent-menu.open + .sub-menu {
    display: block;
  }
}
@media (max-width: 1024px) {
  header .sitemenu-navi-sp .sp-menu-list li .sub-menu {
    display: none;
  }
  header .sitemenu-navi-sp .sp-menu-list li .sub-menu a {
    padding-left: 2em;
  }
}

/* ハンバーガーメニュー表示中の背景スクロール抑制
---------------------------------------- */
@media (max-width: 1024px) {
  html.open {
    overflow: hidden;
    height: 100%;
  }
}
/*# sourceMappingURL=header.css.map */