@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;1,800&family=Zen+Kaku+Gothic+New:wght@400;700;900&display=swap");
body {
  width: 100%;
  overflow-x: hidden; }
  @media screen and (min-width: 768px) {
    body {
      max-width: 1920px;
      min-width: 768px; } }

.page {
  margin: 0 !important; }
  @media screen and (max-width: 767px) {
    .page {
      width: 100%;
      overflow-x: hidden; } }

.site-main {
  font-family: 'Zen Kaku Gothic New', sans-serif; }

@media screen and (max-width: 767px) {
  .pc {
    display: none !important; } }
@media screen and (min-width: 768px) {
  .sp {
    display: none !important; } }
.entry-header {
  display: none; }

.entry-content {
  margin: 0 !important; }

.entry-footer {
  display: none; }

img {
  vertical-align: bottom; }

.site-info {
  position: relative;
  z-index: 1; }
  .site-info .box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 52.08%;
    max-width: 1000px;
    text-align: center;
    z-index: 2; }
    .site-info .box .foot-logo {
      width: 21.8%;
      max-width: 218px;
      margin: auto; }
    .site-info .box ul {
      display: flex;
      justify-content: space-between;
      margin: 2vw 0 0;
      padding: 2vw 0 0;
      list-style: none;
      border-top: #fff solid 1px; }
      .site-info .box ul li a {
        position: relative;
        font-size: 1.2vw;
        font-family: 'Zen Kaku Gothic New', sans-serif;
        text-decoration: none;
        color: #ffffff; }
      .site-info .box ul li a::after {
        position: absolute;
        left: 0;
        bottom: -1px;
        content: '';
        width: 100%;
        height: 1px;
        background: #FFF;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: transform 0.3s; }
      .site-info .box ul li a:hover::after {
        transform: scale(1, 1); }
    .site-info .box .cp {
      margin-top: 3vw;
      margin-bottom: 0;
      font-family: 'Poppins', sans-serif; }
      .site-info .box .cp a {
        font-size: 1vw;
        color: #ffffff;
        text-decoration: none; }
  @media screen and (max-width: 767px) {
    .site-info .box {
      width: 92.31%;
      max-width: 360px; }
      .site-info .box .foot-logo {
        width: 38.21%;
        max-width: 149px; }
      .site-info .box ul {
        flex-wrap: wrap;
        justify-content: flex-start; }
        .site-info .box ul li {
          width: 33%; }
          .site-info .box ul li a {
            font-size: 3vw; }
      .site-info .box .cp a {
        font-size: 3vw; } }

/* header */
#sp-header {
  width: 100%;
  height: 50px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9; }
  #sp-header .header__inner {
    padding: 2vw 2vw 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: inherit;
    position: relative; }
  #sp-header .header__nav {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    transform: translateX(100%);
    background-color: rgba(255, 255, 255, 0.9);
    transition: ease .4s; }
  #sp-header .nav-items {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0;
    margin: 0;
    width: 80%;
    list-style: none;
    font-family: 'Zen Kaku Gothic New', sans-serif; }
  #sp-header .nav-items__item a {
    width: 100%;
    display: block;
    text-align: center;
    font-size: 20px;
    margin-bottom: 24px;
    color: #000;
    text-decoration: none; }
  #sp-header .nav-items__item:last-child a {
    margin-bottom: 0; }
  #sp-header .header__hamburger {
    width: 64px;
    height: 100%;
    margin-left: auto;
    margin-right: 0; }
  #sp-header .hamburger {
    background: linear-gradient(0deg, black 0%, #86012e 100%);
    border-color: transparent;
    z-index: 9999; }
  #sp-header .hamburger span {
    width: 100%;
    height: 1px;
    background-color: #FFFFFF;
    filter: drop-shadow(1px 1px 1px black);
    position: relative;
    transition: ease .4s;
    display: block; }
  #sp-header .hamburger span:nth-child(1) {
    top: 0; }
  #sp-header .hamburger span:nth-child(2) {
    margin: 8px 0; }
  #sp-header .hamburger span:nth-child(3) {
    top: 0; }
  #sp-header .header__nav.active {
    transform: translateX(0); }
  #sp-header .hamburger.active span:nth-child(1) {
    top: 5px;
    transform: rotate(45deg); }
  #sp-header .hamburger.active span:nth-child(2) {
    opacity: 0; }
  #sp-header .hamburger.active span:nth-child(3) {
    top: -13px;
    transform: rotate(-45deg); }
  @media screen and (min-width: 768px) {
    #sp-header {
      display: none; } }
