@charset "UTF-8";
/* fonts */
/*
min-font-size ($font_size, $min_font_size)

$font_size (vw):     可変フォントサイズ
$min_font_size (px): 最小フォントサイズ
*/
/*
max-font-size ($font_size, $max_font_size)

$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/*
@mixin clamp-font-size ($min_font_size, $font_size, $max_font_size)

$min_font_size (px): 最小フォントサイズ
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/* #main
----------------------------------------------------------------- */
.l-main {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
  color: #000000;
  font-family: "BIZ UDPGothic", sans-serif;
  display: block;
  width: 100%;
  height: auto;
  background: #fff000;
  position: relative;
}
.l-main * {
  box-sizing: border-box;
}
.l-main svg {
  width: 100%;
  height: auto;
}
.l-main img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
.l-main a {
  display: block;
}
.l-main ul li {
  list-style: none;
}
@media screen and (max-width: 999px) {
  .l-main__inner {
    position: relative;
  }
}

@keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* #c-block
----------------------------------------------------------------- */
.c-block {
  margin-top: calc(100 * ((100vw / 2200)));
  width: calc(1200 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
  border-style: solid;
  border-width: calc(10 * ((100vw / 2200)));
  border-color: #00632c;
}
@media screen and (min-width: 2200px) {
  .c-block {
    margin-top: 100px;
  }
}
@media screen and (min-width: 2200px) {
  .c-block {
    width: 1200px;
  }
}
@media screen and (min-width: 2200px) {
  .c-block {
    border-width: 10px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .c-block {
    border-width: calc(10 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .c-block {
    margin-top: calc(45 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .c-block {
    width: calc(660 * ((100vw / 750)));
  }
}

/* #js-scrollEffect
----------------------------------------------------------------- */
.js-scrollEffect--fadeInUp,
.js-loadEffect--fadeInUp {
  will-change: opacity, transform;
  opacity: 0;
  transform: translateY(3rem);
  transition: opacity 1.2s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 0.1s;
}
.js-scrollEffect--fadeInUp.is-active,
.js-loadEffect--fadeInUp.is-active {
  opacity: 1 !important;
  transform: translateY(0);
}
.js-scrollEffect--fadeInLeft,
.js-loadEffect--fadeInLeft {
  will-change: opacity, transform;
  opacity: 0;
  transform: translateX(-10rem);
  transition: opacity 1.2s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.js-scrollEffect--fadeInLeft.is-active,
.js-loadEffect--fadeInLeft.is-active {
  opacity: 1 !important;
  transform: translateX(0);
}
.js-scrollEffect--fadeInRight,
.js-loadEffect--fadeInRight {
  will-change: opacity, transform;
  opacity: 0;
  transform: translateX(10rem);
  transition: opacity 1.2s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.js-scrollEffect--fadeInRight.is-active,
.js-loadEffect--fadeInRight.is-active {
  opacity: 1 !important;
  transform: translateX(0);
}
.js-scrollEffect--zoomIn,
.js-loadEffect--zoomIn {
  opacity: 0;
  transform: scale(1.05);
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.js-scrollEffect--zoomIn.is-active,
.js-loadEffect--zoomIn.is-active {
  opacity: 1;
  transform: scale(1);
}
.js-scrollEffect--fadeIn,
.js-loadEffect--fadeIn {
  will-change: opacity;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.76, 0.05, 0.86, 0.06);
  transition-delay: 0.1s;
}
.js-scrollEffect--fadeIn.is-active,
.js-loadEffect--fadeIn.is-active {
  opacity: 1 !important;
}
.js-scrollEffect--slideIn,
.js-loadEffect--slideIn {
  clip-path: inset(0 100% 0 0);
  will-change: clip-path;
  transition: clip-path 0.8s cubic-bezier(0.65, 0.05, 0.36, 1);
}
.js-scrollEffect--slideIn.is-active,
.js-loadEffect--slideIn.is-active {
  clip-path: inset(0 0 0 0);
}
.js-scrollEffect--slideIn2,
.js-loadEffect--slideIn2 {
  clip-path: polygon(0 0, 0 0%, 0% 0);
  will-change: clip-path;
  transition: clip-path 1.1s cubic-bezier(0.65, 0.05, 0.36, 1);
}
.js-scrollEffect--slideIn2.is-active,
.js-loadEffect--slideIn2.is-active {
  clip-path: polygon(0 0, 0 200%, 200% 0);
}
.js-scrollEffect--bounceInDown,
.js-loadEffect--bounceInDown {
  opacity: 0;
  transform: translate3d(0, -6rem, 0) scaleY(1.2);
}
.js-scrollEffect--bounceInDown.is-active,
.js-loadEffect--bounceInDown.is-active {
  animation: bounceInDown 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}

@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -6rem, 0) scaleY(1.2);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 1rem, 0) scaleY(0.9);
  }
  75% {
    opacity: 1;
    transform: translate3d(0, -1rem, 0) scaleY(0.95);
  }
  90% {
    opacity: 1;
    transform: translate3d(0, 0.5rem, 0) scaleY(0.985);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scaleY(1);
  }
}
.p-mv {
  width: 100%;
  height: auto;
  background: url(../img/mv_bg.jpg) no-repeat center/cover;
  padding-top: calc(35 * ((100vw / 2200)));
  padding-bottom: calc(45 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-mv {
    padding-top: 35px;
  }
}
@media screen and (min-width: 2200px) {
  .p-mv {
    padding-bottom: 45px;
  }
}
@media screen and (max-width: 999px) {
  .p-mv {
    background: url(../img/mv_bg_sp.jpg) no-repeat center/cover;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-mv {
    padding-top: calc(20 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-mv {
    padding-bottom: calc(37 * ((100vw / 750)));
  }
}
.p-mv__main {
  width: calc(1216 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
  position: relative;
}
@media screen and (min-width: 2200px) {
  .p-mv__main {
    width: 1216px;
  }
}
@media screen and (max-width: 999px) {
  .p-mv__main {
    width: 100%;
  }
}
.p-mv__image {
  width: 100%;
  height: auto;
}
.p-mv__period {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 999px) {
  .p-mv__period {
    margin-inline: auto;
    position: static;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-mv__period {
    width: calc(725 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-mv__period {
    margin-top: calc(10 * ((100vw / 750)));
  }
}
.p-mv__button {
  display: block;
  margin-top: calc(35 * ((100vw / 2200)));
  width: calc(633 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
  position: relative;
  transform: translateY(0);
  transition: transform 0.3s;
}
@media screen and (min-width: 2200px) {
  .p-mv__button {
    margin-top: 35px;
  }
}
@media screen and (min-width: 2200px) {
  .p-mv__button {
    width: 633px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-mv__button {
    width: calc(633 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-mv__button {
    margin-top: calc(35 * ((100vw / 750)));
  }
}
.p-mv__button:hover {
  transform: translateY(0.5rem);
}
.p-mv__buttonHand {
  width: calc(92 * ((100vw / 2200)));
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  top: calc(-25 * ((100vw / 2200)));
  right: calc(-47 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-mv__buttonHand {
    width: 92px;
  }
}
@media screen and (min-width: 2200px) {
  .p-mv__buttonHand {
    top: -25px;
  }
}
@media screen and (min-width: 2200px) {
  .p-mv__buttonHand {
    right: -47px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-mv__buttonHand {
    width: calc(92 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-mv__buttonHand {
    top: calc(-25 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-mv__buttonHand {
    right: calc(-30 * ((100vw / 750)));
  }
}
.p-mv__buttonHand span {
  display: block;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
}
.p-mv__buttonHand span:nth-of-type(2) {
  position: absolute;
  left: 0;
  top: 0;
  animation: blinking 1s ease-in-out infinite alternate;
}
/* #p-top
----------------------------------------------------------------- */
.p-top {
  width: calc(1200 * ((100vw / 2200)));
  height: calc(1050 * ((100vw / 2200)));
  margin-inline: auto;
  background: url(../img/top_bg.png) no-repeat center/cover;
  margin-top: calc(100 * ((100vw / 2200)));
  padding-top: calc(50 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-top {
    width: 1200px;
  }
}
@media screen and (min-width: 2200px) {
  .p-top {
    height: 1050px;
  }
}
@media screen and (min-width: 2200px) {
  .p-top {
    margin-top: 100px;
  }
}
@media screen and (min-width: 2200px) {
  .p-top {
    padding-top: 50px;
  }
}
@media screen and (max-width: 999px) {
  .p-top {
    background: url(../img/top_bg_sp.png) no-repeat center/cover;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-top {
    width: calc(660 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-top {
    height: calc(1750 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-top {
    margin-top: calc(45 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-top {
    padding-top: calc(10 * ((100vw / 750)));
  }
}
.p-top__title {
  width: calc(1100 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
}
@media screen and (min-width: 2200px) {
  .p-top__title {
    width: 1100px;
  }
}
@media screen and (max-width: 999px) {
  .p-top__title {
    width: 100%;
  }
}
.p-top__content {
  width: 100%;
  height: auto;
  margin-top: calc(-10 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-top__content {
    margin-top: -10px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-top__content {
    margin-top: calc(0 * ((100vw / 750)));
  }
}

.p-movie {
  width: calc(1050 * ((100vw / 2200)));
  height: calc(675 * ((100vw / 2200)));
  margin-inline: auto;
  background: url(../img/movie_bg.png) no-repeat center/cover;
  margin-top: calc(100 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-movie {
    width: 1050px;
  }
}
@media screen and (min-width: 2200px) {
  .p-movie {
    height: 675px;
  }
}
@media screen and (min-width: 2200px) {
  .p-movie {
    margin-top: 100px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-movie {
    width: calc(700 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-movie {
    height: calc(450 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-movie {
    margin-top: calc(50 * ((100vw / 750)));
  }
}

/* #p-tech
----------------------------------------------------------------- */
.p-tech {
  width: calc(1212 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
  margin-top: calc(130 * ((100vw / 2200)));
  position: relative;
}
@media screen and (min-width: 2200px) {
  .p-tech {
    width: 1212px;
  }
}
@media screen and (min-width: 2200px) {
  .p-tech {
    margin-top: 130px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-tech {
    width: calc(671 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-tech {
    margin-top: calc(80 * ((100vw / 750)));
  }
}
.p-tech__title {
  width: calc(652 * ((100vw / 2200)));
  height: auto;
  position: absolute;
  left: calc(-10 * ((100vw / 2200)));
  top: calc(-50 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-tech__title {
    width: 652px;
  }
}
@media screen and (min-width: 2200px) {
  .p-tech__title {
    left: -10px;
  }
}
@media screen and (min-width: 2200px) {
  .p-tech__title {
    top: -50px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-tech__title {
    width: calc(652 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-tech__title {
    left: calc(-30 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-tech__title {
    top: calc(-50 * ((100vw / 750)));
  }
}
.p-tech__title span {
  display: block;
  width: calc(60 * ((100vw / 2200)));
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  left: calc(27 * ((100vw / 2200)));
  top: calc(20 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-tech__title span {
    width: 60px;
  }
}
@media screen and (min-width: 2200px) {
  .p-tech__title span {
    left: 27px;
  }
}
@media screen and (min-width: 2200px) {
  .p-tech__title span {
    top: 20px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-tech__title span {
    width: calc(60 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-tech__title span {
    left: calc(27 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-tech__title span {
    top: calc(20 * ((100vw / 750)));
  }
}
.p-tech__title span:nth-of-type(2) {
  animation: blinking 1s ease-in-out infinite alternate;
}
.p-tech__content {
  width: 100%;
  height: auto;
}
.p-how {
  width: calc(1212 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
  margin-top: calc(130 * ((100vw / 2200)));
  position: relative;
}
@media screen and (min-width: 2200px) {
  .p-how {
    width: 1212px;
  }
}
@media screen and (min-width: 2200px) {
  .p-how {
    margin-top: 130px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-how {
    width: calc(671 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-how {
    margin-top: calc(80 * ((100vw / 750)));
  }
}
.p-how__title {
  width: calc(652 * ((100vw / 2200)));
  height: auto;
  position: absolute;
  left: calc(-10 * ((100vw / 2200)));
  top: calc(-50 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-how__title {
    width: 652px;
  }
}
@media screen and (min-width: 2200px) {
  .p-how__title {
    left: -10px;
  }
}
@media screen and (min-width: 2200px) {
  .p-how__title {
    top: -50px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-how__title {
    width: calc(652 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-how__title {
    left: calc(-30 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-how__title {
    top: calc(-50 * ((100vw / 750)));
  }
}
.p-how__title span {
  display: block;
  width: calc(48 * ((100vw / 2200)));
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  left: calc(33 * ((100vw / 2200)));
  top: calc(22 * ((100vw / 2200)));
  animation: blinking 1s ease-in-out infinite alternate;
}
@media screen and (min-width: 2200px) {
  .p-how__title span {
    width: 48px;
  }
}
@media screen and (min-width: 2200px) {
  .p-how__title span {
    left: 33px;
  }
}
@media screen and (min-width: 2200px) {
  .p-how__title span {
    top: 22px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-how__title span {
    width: calc(48 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-how__title span {
    left: calc(33 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-how__title span {
    top: calc(22 * ((100vw / 750)));
  }
}
.p-how__content {
  width: 100%;
  height: auto;
}
/* #p-product
----------------------------------------------------------------- */
.p-product__title {
  width: 100%;
  height: auto;
}
.p-product__content {
  width: 100%;
  height: auto;
  border: 0;
  border-style: solid;
  border-top-width: calc(10 * ((100vw / 2200)));
  border-color: #00632c;
}
@media screen and (min-width: 2200px) {
  .p-product__content {
    border-top-width: 10px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-product__content {
    border-top-width: calc(10 * ((100vw / 750)));
  }
}

/* #submit
----------------------------------------------------------------- */
.p-submit__title {
  width: 100%;
  height: auto;
}
.p-submit__content {
  width: 100%;
  height: auto;
  border: 0;
  border-style: solid;
  border-top-width: calc(10 * ((100vw / 2200)));
  border-color: #00632c;
}
@media screen and (min-width: 2200px) {
  .p-submit__content {
    border-top-width: 10px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-submit__content {
    border-top-width: calc(0 * ((100vw / 750)));
  }
}

/* #terms
----------------------------------------------------------------- */
.p-terms__title {
  width: 100%;
  height: auto;
}
.p-terms__main {
  width: 100%;
  border: 0;
  border-style: solid;
  border-top-width: calc(10 * ((100vw / 2200)));
  border-color: #00632c;
  position: relative;
}
@media screen and (min-width: 2200px) {
  .p-terms__main {
    border-top-width: 10px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-terms__main {
    border-top-width: calc(10 * ((100vw / 750)));
  }
}
.p-terms__button {
  width: 100%;
  height: calc(45 * ((100vw / 2200)));
  background: rgba(0, 99, 44, 0.3);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10;
  border: 0;
  display: grid;
  place-content: center;
  transition: background 0.3s;
}
@media screen and (min-width: 2200px) {
  .p-terms__button {
    height: 45px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-terms__button {
    height: calc(45 * ((100vw / 750)));
  }
}
.p-terms__button:before {
  content: "";
  display: block;
  width: calc(46 * ((100vw / 2200)));
  height: calc(22 * ((100vw / 2200)));
  background: #ffeb4c;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media screen and (min-width: 2200px) {
  .p-terms__button:before {
    width: 46px;
  }
}
@media screen and (min-width: 2200px) {
  .p-terms__button:before {
    height: 22px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-terms__button:before {
    width: calc(46 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-terms__button:before {
    height: calc(22 * ((100vw / 750)));
  }
}
.p-terms__button.is-open:before {
  transform: scale(1, -1);
}
.p-terms__button:hover {
  background: rgba(0, 99, 44, 0.7);
}
.p-terms__mainInner {
  width: 100%;
  height: calc(400 * ((100vw / 2200)));
  overflow: hidden;
  background: #ffffff;
  padding-top: calc(10 * ((100vw / 2200)));
  padding-bottom: calc(60 * ((100vw / 2200)));
  padding-inline: calc(20 * ((100vw / 2200)));
  transition: height 0.6s;
}
@media screen and (min-width: 2200px) {
  .p-terms__mainInner {
    height: 400px;
  }
}
@media screen and (min-width: 2200px) {
  .p-terms__mainInner {
    padding-top: 10px;
  }
}
@media screen and (min-width: 2200px) {
  .p-terms__mainInner {
    padding-bottom: 60px;
  }
}
@media screen and (min-width: 2200px) {
  .p-terms__mainInner {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-terms__mainInner {
    height: calc(400 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-terms__mainInner {
    padding-top: calc(10 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-terms__mainInner {
    padding-bottom: calc(60 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-terms__mainInner {
    padding-inline: calc(20 * ((100vw / 750)));
  }
}
.p-terms__mainInner p {
  font-size: calc(17 * ((100vw / 2200)));
  line-height: 1.2;
  font-weight: 400;
  text-align: left;
}
@media screen and (min-width: 2200px) {
  .p-terms__mainInner p {
    font-size: 17px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-terms__mainInner p {
    font-size: calc(17 * ((100vw / 750)));
  }
}

.p-shirotama {
  margin-top: calc(100 * ((100vw / 2200)));
  width: calc(1243 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
}
@media screen and (min-width: 2200px) {
  .p-shirotama {
    margin-top: 100px;
  }
}
@media screen and (min-width: 2200px) {
  .p-shirotama {
    width: 1243px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-shirotama {
    margin-top: calc(60 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-shirotama {
    width: calc(710 * ((100vw / 750)));
  }
}
.p-shirotama__title {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 5;
}
.p-shirotama__content {
  width: calc(1155 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
  margin-top: calc(-90 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-shirotama__content {
    width: 1155px;
  }
}
@media screen and (min-width: 2200px) {
  .p-shirotama__content {
    margin-top: -90px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-shirotama__content {
    width: calc(660 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-shirotama__content {
    margin-top: calc(-46 * ((100vw / 750)));
  }
}

.p-contact {
  margin-top: calc(100 * ((100vw / 2200)));
  width: calc(1200 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
  background: #00632c;
  padding-block: calc(50 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-contact {
    margin-top: 100px;
  }
}
@media screen and (min-width: 2200px) {
  .p-contact {
    width: 1200px;
  }
}
@media screen and (min-width: 2200px) {
  .p-contact {
    padding-block: 50px;
  }
}
@media screen and (max-width: 999px) {
  .p-contact {
    width: 100%;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-contact {
    margin-top: calc(50 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-contact {
    padding-block: calc(40 * ((100vw / 750)));
  }
}
.p-contact__title {
  width: calc(393 * ((100vw / 2200)));
  height: auto;
  margin-inline: auto;
}
@media screen and (min-width: 2200px) {
  .p-contact__title {
    width: 393px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-contact__title {
    width: calc(235 * ((100vw / 750)));
  }
}
.p-contact__main {
  color: #ffffff;
  text-align: center;
  margin-top: calc(40 * ((100vw / 2200)));
  font-size: calc(37 * ((100vw / 2200)));
  font-weight: 600;
}
@media screen and (min-width: 2200px) {
  .p-contact__main {
    margin-top: 40px;
  }
}
@media screen and (min-width: 2200px) {
  .p-contact__main {
    font-size: 37px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-contact__main {
    margin-top: calc(20 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-contact__main {
    font-size: calc(22.5 * ((100vw / 750)));
  }
}
.p-contact__main span {
  font-size: calc(36 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-contact__main span {
    font-size: 36px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-contact__main span {
    font-size: calc(21.6 * ((100vw / 750)));
  }
}
.p-contact__main a {
  color: #ffffff;
  display: inline-block;
}
.p-contact__main small {
  font-size: calc(30 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-contact__main small {
    font-size: 30px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-contact__main small {
    font-size: calc(18 * ((100vw / 750)));
  }
}

/* #cta
----------------------------------------------------------------- */
@media screen and (max-width: 999px) {
  .p-cta {
    position: relative;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-cta {
    padding-bottom: calc(250 * ((100vw / 750)));
  }
}
.p-cta__inner {
  background: url(../img/cta_bg.png) no-repeat center/cover;
  width: calc(360 * ((100vw / 2200)));
  height: calc(256 * ((100vw / 2200)));
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10;
  padding-top: calc(20 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-cta__inner {
    width: 360px;
  }
}
@media screen and (min-width: 2200px) {
  .p-cta__inner {
    height: 256px;
  }
}
@media screen and (min-width: 2200px) {
  .p-cta__inner {
    padding-top: 20px;
  }
}
@media screen and (max-width: 999px) {
  .p-cta__inner {
    width: 100%;
    background: url(../img/cta_bg_sp.png) no-repeat top center/cover;
    position: fixed;
    left: 0;
    top: auto;
    bottom: 0;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-cta__inner {
    height: calc(195 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-cta__inner {
    padding-top: calc(28 * ((100vw / 750)));
  }
}
@media screen and (max-width: 999px) {
  .p-cta__inner.is-stopped {
    position: absolute;
    bottom: 0;
  }
}
.p-cta__button {
  display: block;
  width: calc(277 * ((100vw / 2200)));
  margin-inline: auto;
}
@media screen and (min-width: 2200px) {
  .p-cta__button {
    width: 277px;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-cta__button {
    width: calc(465 * ((100vw / 750)));
  }
}
.p-cta__notice {
  background: #e50012;
  width: calc(312 * ((100vw / 2200)));
  margin-top: calc(15 * ((100vw / 2200)));
  margin-inline: auto 0;
  padding-block: calc(10 * ((100vw / 2200)));
  padding-inline: calc(18 * ((100vw / 2200)));
}
@media screen and (min-width: 2200px) {
  .p-cta__notice {
    width: 312px;
  }
}
@media screen and (min-width: 2200px) {
  .p-cta__notice {
    margin-top: 15px;
  }
}
@media screen and (min-width: 2200px) {
  .p-cta__notice {
    padding-block: 10px;
  }
}
@media screen and (min-width: 2200px) {
  .p-cta__notice {
    padding-inline: 18px;
  }
}
@media screen and (max-width: 999px) {
  .p-cta__notice {
    width: 100%;
    margin: 0;
    position: absolute;
    left: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-cta__notice {
    padding-block: calc(5 * ((100vw / 750)));
  }
}
.p-cta__notice p {
  color: #ffffff;
  font-weight: 600;
  font-size: calc(15 * ((100vw / 2200)));
  line-height: 1.3333333333;
  text-align: left;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 2200px) {
  .p-cta__notice p {
    font-size: 15px;
  }
}
@media screen and (max-width: 999px) {
  .p-cta__notice p {
    text-align: center;
    line-height: 1.9411764706;
  }
}
@media screen and (max-width: 999px) and (max-width: 999px) {
  .p-cta__notice p {
    font-size: calc(17 * ((100vw / 750)));
  }
}

/* #pcsp
----------------------------------------------------------------- */
@media screen and (min-width: 1000px) {
  .u-pcNone {
    display: none !important;
  }
}
@media screen and (max-width: 999px) {
  .u-spNone {
    display: none !important;
  }
}
/* ==========================================================================
 #Layout
========================================================================== */
/* ==========================================================================
 #Component
========================================================================== */
/* ==========================================================================
 #Project
========================================================================== */
/* ==========================================================================
 #Utility
========================================================================== */
/*# sourceMappingURL=maps/style.css.map */

@media screen and (min-width: 1000px) {
  .p-cta__inner {
    top: 70px;
  }
}
#footShare {
  padding-top: 0;
}
.p-movie iframe {
  width: 76.9vw;
  height: 43.8vw;
  margin-top: 8.2vw;
}
@media screen and (min-width: 1000px) {
  .p-movie iframe {
    width: 39.333333vw;
    height: 22.4vw;
    margin-top: 4.2vw;
  }
}
