html {
  font-size: 20px;
  scroll-behavior: smooth;
}

body {
  font-family: sans-serif;
  width: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  margin: 0 auto;
}
@media screen and (max-width: 1920px) {
  body {
    max-width: 1920px;
  }
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#header {
  z-index: 9999;
  width: 100%;
  position: absolute;
  padding: clamp(1.25rem, 4.1666666667vw, 5rem) 0 20px;
}
#header .inner {
  width: 100%;
  max-width: 90.625vw;
  margin: auto;
  position: relative;
}
#header .inner .headerL h1 {
  width: clamp(14.375rem, 36.09375vw, 43.3125rem);
}
#header .inner .headerL h1 a:focus-visible {
  outline-offset: 5px;
  -webkit-transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
}
#header .inner .headerL h1 img {
  width: 100%;
}
#header .inner .headerR {
  position: absolute;
  top: 0;
  right: 0;
}
#header .inner .headerR #ham {
  border-radius: clamp(0.625rem, 1.5625vw, 1.875rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .inner .headerR #ham.active {
  -webkit-box-shadow: 0.2604166667vw 0.2604166667vw 0px 0px #BA0545;
          box-shadow: 0.2604166667vw 0.2604166667vw 0px 0px #BA0545;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .inner .headerR #btnMenu {
  width: clamp(2.8125rem, 6.7708333333vw, 8.125rem);
  height: clamp(2.8125rem, 6.7708333333vw, 8.125rem);
  background-color: #E62066;
  border-radius: clamp(0.625rem, 1.5625vw, 1.875rem);
  -webkit-box-shadow: 0.2604166667vw 0.2604166667vw 0px 0px #BA0545;
          box-shadow: 0.2604166667vw 0.2604166667vw 0px 0px #BA0545;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .inner .headerR #btnMenu span {
  position: absolute;
  width: clamp(50%, 3.2291666667vw, 3.875rem);
  height: 0.15625vw;
  background-color: #fff;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .inner .headerR #btnMenu span::before, #header .inner .headerR #btnMenu span::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  left: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .inner .headerR #btnMenu span::before {
  top: -1.1458333333vw;
}
#header .inner .headerR #btnMenu span::after {
  bottom: -1.1458333333vw;
}
#header .inner .headerR #btnMenu.active {
  border-radius: clamp(0.625rem, 1.5625vw, 1.875rem) clamp(0.625rem, 1.5625vw, 1.875rem) 0 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .inner .headerR #btnMenu.active span {
  background-color: #E62066;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .inner .headerR #btnMenu.active span::before {
  -webkit-transform: translateY(1.1458333333vw) rotate(45deg);
          transform: translateY(1.1458333333vw) rotate(45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .inner .headerR #btnMenu.active span::after {
  -webkit-transform: translateY(-1.1458333333vw) rotate(-45deg);
          transform: translateY(-1.1458333333vw) rotate(-45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .inner .headerR #navMenu {
  display: none;
  border-radius: clamp(0.625rem, 1.5625vw, 1.875rem) 0 clamp(0.625rem, 1.5625vw, 1.875rem) clamp(0.625rem, 1.5625vw, 1.875rem);
  background-color: #E62066;
  text-align: center;
  padding: 15px;
  margin-top: -6px;
}
#header .inner .headerR #navMenu.active {
  display: block;
}
#header .inner .headerR #navMenu li:last-child a {
  border-bottom: none;
}
#header .inner .headerR #navMenu li::marker {
  content: none;
}
#header .inner .headerR #navMenu li a {
  width: 100%;
  font-size: clamp(1.25rem, 1.5625vw, 1.875rem);
  font-weight: 400;
  padding: clamp(1.25rem, 2.0833333333vw, 2.5rem);
  color: #fff;
  border-bottom: 1px solid #fff;
}
#header .inner .headerR #navMenu li a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#header .inner .headerR #navMenu li a:focus-visible {
  text-decoration: none;
  outline-offset: 5px;
  -webkit-transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
}
@media screen and (max-width: 768px) {
  #header {
    padding: 20px 0;
  }
  #header .inner {
    max-width: 89.3333333333vw;
  }
  #header .inner .headerL h1 {
    width: 61.3333333333vw;
  }
  #header .inner .headerR #ham.active {
    -webkit-box-shadow: 0.5333333333vw 0.5333333333vw 0px 0px #BA0545;
            box-shadow: 0.5333333333vw 0.5333333333vw 0px 0px #BA0545;
  }
  #header .inner .headerR #btnMenu {
    width: 12vw;
    height: 12vw;
    -webkit-box-shadow: 0.5333333333vw 0.5333333333vw 0px 0px #BA0545;
            box-shadow: 0.5333333333vw 0.5333333333vw 0px 0px #BA0545;
  }
  #header .inner .headerR #btnMenu span {
    width: 5.6vw;
    height: 0.5333333333vw;
  }
  #header .inner .headerR #btnMenu span::before {
    top: -2.1333333333vw;
  }
  #header .inner .headerR #btnMenu span::after {
    bottom: -2.1333333333vw;
  }
  #header .inner .headerR #btnMenu.active {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  #header .inner .headerR #btnMenu.active span::before {
    -webkit-transform: translateY(2.1333333333vw) rotate(45deg);
            transform: translateY(2.1333333333vw) rotate(45deg);
  }
  #header .inner .headerR #btnMenu.active span::after {
    -webkit-transform: translateY(-2.1333333333vw) rotate(-45deg);
            transform: translateY(-2.1333333333vw) rotate(-45deg);
  }
  #header .inner .headerR #navMenu {
    margin-top: 0;
  }
  #header .inner .headerR #navMenu li a {
    font-size: min(5.3333333333vw, 1.25rem);
    padding: 20px 28px;
  }
}

main {
  width: 100%;
}
main ul, main ol {
  padding-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  main ul, main ol {
    padding-left: 1rem;
  }
}

#footer {
  width: 100%;
  text-align: center;
}
#footer #pp {
  padding: clamp(3.125rem, 3.6458333333vw, 4.375rem);
  border-bottom: 5px solid #E5004F;
}
#footer #pp a {
  font-size: clamp(1.125rem, 1.3020833333vw, 1.5625rem);
  font-weight: 400;
}
#footer #pageTop {
  position: fixed;
  content: "";
  right: 0;
  bottom: 0;
  width: clamp(3.125rem, 5.2083333333vw, 6.25rem);
  height: clamp(3.125rem, 5.2083333333vw, 6.25rem);
  z-index: 9;
}
#footer #pageTop a {
  position: absolute;
  bottom: 4.1666666667vw;
  right: clamp(1.25rem, 4.6875vw, 5.625rem);
  width: clamp(3.125rem, 5.2083333333vw, 6.25rem);
  height: clamp(3.125rem, 5.2083333333vw, 6.25rem);
  background-image: url(../img/common/img_pagetop.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
#footer #pageTop.absolute {
  position: relative;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 0;
}
#footer #pageTop.absolute a {
  right: clamp(1.25rem, 4.6875vw, 5.625rem);
  bottom: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
@media screen and (max-width: 768px) {
  #footer #pageTop {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
  #footer #pageTop a {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    bottom: 13.3333333333vw;
  }
}
#footer .copy {
  font-size: clamp(1rem, 1.3020833333vw, 1.5625rem);
  padding: clamp(2rem, 2.0833333333vw, 2.5rem);
  font-weight: 400;
  line-height: 1.5;
  background-color: #009983;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #footer #pp a {
    font-size: min(4.8vw, 1.125rem);
  }
  #footer .copy {
    font-size: min(4.2666666667vw, 1rem);
  }
}