@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
.box_sample {
  margin: 10px;
  padding: 10px;
}

.mincho {
  font-family: "游明朝", YuMincho, "Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
}

.ftEN {
  font-family: "Crimson Text", serif;
}

.inrWidth {
  position: relative;
  width: 1020px;
  margin-right: auto;
  margin-left: auto;
}

.outerWidth {
  position: relative;
  width: 1088px;
  margin-right: auto;
  margin-left: auto;
}

.fullWidth {
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 1210px) {
  .fullWidth {
    width: 1210px;
  }
  .outerWidth {
    width: 96%;
  }
  .inrWidth {
    width: 90%;
  }
}
@media screen and (max-width: 768px) {
  .inrWidth {
    width: 95.5%;
  }
  .outerWidth {
    width: 86.6% !important;
  }
}
.invisible {
  opacity: 0;
}

.animated {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.anime {
  opacity: 0;
}
.anime-delay-1 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.anime-delay-2 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.anime-delay-3 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.anime-delay-4 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.anime-delay-5 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.anime-delay-6 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.anime-delay-7 {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.anime-delay-8 {
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}
.anime-delay-9 {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.anime-delay-10 {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.anime-delay-11 {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.anime-delay-12 {
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}
.anime-delay-13 {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}
.anime-delay-14 {
  -webkit-animation-delay: 2.6s;
          animation-delay: 2.6s;
}
.anime-delay-fast1 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.anime-delay-fast2 {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.anime-delay-fast3 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.anime-delay-fast4 {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.anime-delay-fast5 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.anime-delay-fast6 {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.anime-delay-fast7 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.anime-slow {
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
}

.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeInDown {
  -webkit-animation: 0.8s 0.6s fadeInDown both;
          animation: 0.8s 0.6s fadeInDown both;
}

.fadeOutUp {
  -webkit-animation: 0.6s fadeOutUp both;
          animation: 0.6s fadeOutUp both;
}

.fadeOutDown {
  -webkit-animation: 0.6s fadeOutDown both;
          animation: 0.6s fadeOutDown both;
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
          animation-name: fadeOutRight;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.popUp {
  -webkit-animation-name: popUp;
          animation-name: popUp;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.rotate {
  -webkit-animation: rotate 1.8s steps(2, end) 0s both infinite;
          animation: rotate 1.8s steps(2, end) 0s both infinite;
}

.upDown {
  -webkit-animation: upDown 1.8s steps(2, end) 0s both infinite;
          animation: upDown 1.8s steps(2, end) 0s both infinite;
}

.rubber {
  -webkit-animation: rubber 1s ease 0s both;
          animation: rubber 1s ease 0s both;
}

.bounce {
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.bounce2 {
  -webkit-animation-name: bounce2;
          animation-name: bounce2;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.infinite-fadein-out {
  -webkit-animation-name: smooth-fadein-out;
          animation-name: smooth-fadein-out;
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
}

.runIn {
  -webkit-animation-name: animation-runIn;
          animation-name: animation-runIn;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.runInUp {
  -webkit-animation-name: animation-runInUp;
          animation-name: animation-runInUp;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.runInLeftUp {
  -webkit-animation-name: animation-runInLeftUp;
          animation-name: animation-runInLeftUp;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.-origin-center-center {
  -webkit-transform-origin: center center !important;
          transform-origin: center center !important;
}
.-origin-top-center, .-origin-center-top {
  -webkit-transform-origin: top center !important;
          transform-origin: top center !important;
}
.-origin-bottom-center, .-origin-center-bottom {
  -webkit-transform-origin: bottom center !important;
          transform-origin: bottom center !important;
}
.-origin-top-left, .-origin-left-top {
  -webkit-transform-origin: top left !important;
          transform-origin: top left !important;
}
.-origin-top-right, .-origin-right-top {
  -webkit-transform-origin: top right !important;
          transform-origin: top right !important;
}
.-origin-bottom-left, .-origin-left-bottom {
  -webkit-transform-origin: bottom left !important;
          transform-origin: bottom left !important;
}
.-origin-bottom-right, .-origin-right-bottom {
  -webkit-transform-origin: bottom right !important;
          transform-origin: bottom right !important;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
}
@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@-webkit-keyframes popUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes popUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes rotate {
  to {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  from {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
}
@keyframes rotate {
  to {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  from {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
}
@-webkit-keyframes upDown {
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  from {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
}
@keyframes upDown {
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  from {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
}
@-webkit-keyframes rubber {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  20% {
    opacity: 0;
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
@keyframes rubber {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  20% {
    opacity: 0;
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
@-webkit-keyframes bounce {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  20% {
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  40% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  43% {
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  53% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
            transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    -webkit-transform: translateZ(0) scaleY(0.95);
            transform: translateZ(0) scaleY(0.95);
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
            transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
  100% {
    opacity: 1;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}
@keyframes bounce {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  20% {
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  40% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  43% {
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  53% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
            transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    -webkit-transform: translateZ(0) scaleY(0.95);
            transform: translateZ(0) scaleY(0.95);
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
            transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
  100% {
    opacity: 1;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}
@-webkit-keyframes bounce2 {
  0% {
    opacity: 1;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  20% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  40% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  43% {
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  53% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
            transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    -webkit-transform: translateZ(0) scaleY(0.95);
            transform: translateZ(0) scaleY(0.95);
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
            transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
  100% {
    opacity: 1;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}
@keyframes bounce2 {
  0% {
    opacity: 1;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  20% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  40% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  43% {
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  53% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
            transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    -webkit-transform: translateZ(0) scaleY(0.95);
            transform: translateZ(0) scaleY(0.95);
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
            transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
  100% {
    opacity: 1;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}
@-webkit-keyframes smooth-fadein-out {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  75% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes smooth-fadein-out {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  75% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes animation-runIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes animation-runIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes animation-runInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.75) translateY(50px);
            transform: scale(0.75) translateY(50px);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) ranslateY(0);
            transform: scale(1) ranslateY(0);
  }
}
@keyframes animation-runInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.75) translateY(50px);
            transform: scale(0.75) translateY(50px);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) ranslateY(0);
            transform: scale(1) ranslateY(0);
  }
}
@-webkit-keyframes animation-runInLeftUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8) translate(-80px, 50px);
            transform: scale(0.8) translate(-80px, 50px);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes animation-runInLeftUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8) translate(-80px, 50px);
            transform: scale(0.8) translate(-80px, 50px);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@media screen and (min-width: 769px) {
  main {
    font-family: "Noto Sans JP", sans-serif;
    max-width: 1440px;
    margin: auto;
    color: #350303;
  }
  main .inner {
    margin: auto;
    max-width: 1040px;
    width: 100%;
    padding: 0 20px;
  }
  main p {
    font-size: 16px;
    font-weight: 400;
  }
  main .note {
    font-size: 12px;
    line-height: 1.75;
    text-indent: -1em;
    padding-left: 1em;
    display: inline-block;
  }
  main .shadow {
    -webkit-box-shadow: 3px 3px 5px rgba(53, 3, 3, 0.3);
            box-shadow: 3px 3px 5px rgba(53, 3, 3, 0.3);
  }
  main #MV {
    position: relative;
    z-index: 2;
    -webkit-box-shadow: 3px 3px 5px rgba(53, 3, 3, 0.3);
            box-shadow: 3px 3px 5px rgba(53, 3, 3, 0.3);
  }
  main #SEC01 {
    height: 364px;
    background-image: url(../img/sec01_bg.png);
    background-position: center;
    position: relative;
  }
  main #SEC01 .hiroshi__img {
    position: absolute;
    left: calc(50% + 240px);
    bottom: -140px;
    width: 180px;
    z-index: 3;
  }
  main #SEC01 .sec01 {
    position: relative;
  }
  main #SEC01 .sec01__img-box {
    position: absolute;
    top: 50px;
  }
  main #SEC02 {
    background-image: url(../img/sec02_bg.png);
    position: relative;
  }
  main #SEC02::after {
    content: "";
    background-image: url(../img/sec02_img02.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 400px;
    height: 320px;
    position: absolute;
    left: 2vw;
    bottom: -2px;
  }
  main #SEC02 .sec02 {
    padding: 100px 20px;
  }
  main #SEC02 .sec02__content {
    padding: 50px 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    outline: 1px solid #e8421f;
    outline-offset: -10px;
    position: relative;
  }
  main #SEC02 .sec02__content__ttl {
    position: absolute;
    right: 20px;
    top: -70px;
    max-width: 107px;
    width: 11%;
  }
  main #SEC02 .sec02__img {
    max-width: 464px;
    width: 53%;
  }
  main #SEC02 .sec02__txt {
    width: 36%;
    margin-left: 20px;
  }
  main #SEC02 .sec02__txt__big {
    margin-bottom: 15px;
    font-size: 25px;
    line-height: 1.4;
    color: #d22426;
    font-weight: 700;
  }
  main #SEC02 .sec02__txt__big b {
    font-size: 30px;
    font-weight: 900;
  }
  main #SEC03 {
    margin-top: -2px;
    background: url(../img/sec03_bg.png);
  }
  main #SEC03 a {
    color: #d22426;
    text-decoration: underline;
    display: inline-block;
  }
  main #SEC03 .insta {
    display: inline-block;
    text-align: center;
    margin-top: 30px;
  }
  main #SEC03 .sec03 {
    padding: 80px 20px;
    position: relative;
  }
  main #SEC03 .sec03 .hiroshi__img {
    position: absolute;
    max-width: 340px;
    width: 33%;
    top: 50px;
    left: calc(50% + 20vw);
    z-index: 3;
  }
  main #SEC03 .sec03__content {
    background-color: #fff8e3;
    padding: 50px;
    margin-bottom: 40px;
  }
  main #SEC03 .sec03__content:last-of-type {
    margin-bottom: 0px;
  }
  main #SEC03 .sec03__content h2 {
    margin-bottom: 40px;
  }
  main #SEC03 .sec03__content h2 img {
    display: block;
    margin: auto;
  }
  main #SEC03 .sec03__content h2 p {
    text-align: center;
    font-weight: 700;
    font-size: 26px;
    line-height: 2;
  }
  main #SEC03 .sec03__content h2 .bg-red span {
    font-size: 32px;
    color: #fff;
    background-color: #e8421f;
    font-weight: 900;
    padding: 0 5px;
    line-height: 1;
  }
  main #SEC03 .sec03__content__list a {
    color: #d22426;
    text-decoration: underline;
  }
  main #SEC03 .sec03__content__list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 20px;
  }
  main #SEC03 .sec03__content__list__item:last-of-type {
    margin-bottom: 0;
  }
  main #SEC03 .sec03__content__list__item dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #350303;
    color: #fff;
    max-width: 110px;
    width: 100%;
    height: 35px;
    font-size: 16px;
    font-weight: 700;
  }
  main #SEC03 .sec03__content__list__item dd {
    font-size: 16px;
    margin-left: 20px;
  }
  main #SEC03 .sec03__content__list .step__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  main #SEC03 .sec03__content__list .step__item dt {
    background-color: initial;
    color: #e8421f;
    font-weight: 700;
    max-width: none;
    width: auto;
    display: block;
  }
  main #SEC03 .sec03__content__list .step__item dd {
    margin-left: 10px;
  }
  main #SEC03 .sec03__content.event01 {
    position: relative;
  }
  main #SEC03 .sec03__content.event01::before {
    -webkit-filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
            filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
    content: "";
    background-image: url(../img/sec03_event01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 68px;
    height: 224px;
    position: absolute;
    right: 30px;
    top: -30px;
  }
  main #SEC03 .sec03__content.event02 {
    position: relative;
  }
  main #SEC03 .sec03__content.event02::before {
    -webkit-filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
            filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
    content: "";
    background-image: url(../img/sec03_event02.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 59px;
    height: 223px;
    position: absolute;
    left: 30px;
    top: -30px;
  }
  main #SEC03 .sec03__content.event02 h2 {
    margin-bottom: 110px;
  }
  main #SEC03 .sec03__content.event02 h2 .bg-red {
    margin-left: 10px;
  }
  main #SEC03 .sec03__content.event02 .event02__img {
    max-width: 290px;
    position: absolute;
    bottom: -20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  main #SEC04 {
    padding: 100px 20px;
  }
  main #SEC04 .sec04 h2 {
    text-align: center;
    margin-bottom: 60px;
  }
  main #SEC04 .sec04__sub-txt {
    font-size: 18px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 40px;
  }
  main #SEC04 .sec04__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 50px;
  }
  main #SEC04 .sec04__anc__btn {
    background-color: #e8421f;
    border-radius: 8px;
    font-size: 16px;
    width: calc((100% - 40px) / 5);
    height: 60px;
  }
  main #SEC04 .sec04__anc__btn a {
    text-align: center;
    width: 100%;
    height: 100%;
    line-height: 60px;
    font-size: 20px;
    color: #fff;
    font-weight: 700;
  }
  main #SEC04 .sec04__shop {
    margin-bottom: 60px;
  }
  main #SEC04 .sec04__shop:last-of-type {
    margin-bottom: 0;
  }
  main #SEC04 .sec04__shop h3 {
    position: relative;
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    padding-left: 40px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e8421f;
    margin-bottom: 30px;
  }
  main #SEC04 .sec04__shop h3::before {
    content: "";
    background-image: url(../img/sec04_ico.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 40px;
    height: 27px;
    position: absolute;
    left: 10px;
  }
  main #SEC04 .sec04__shop__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
  }
  main #SEC04 .sec04__shop__list__item {
    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: center;
        -ms-flex-align: center;
            align-items: center;
    width: calc((100% - 30px) / 4);
    background-color: #fdeecd;
  }
  main #SEC04 .sec04__shop__list__item a {
    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: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main #SEC04 .sec04__shop__list__item small {
    font-size: 70%;
    line-height: 1;
  }
  main #SEC04 .sec04__shop__list__item .name {
    text-align: center;
    margin-top: 10px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    padding-bottom: 7px;
    border-bottom: 1px solid #350303;
  }
  main #SEC04 .sec04__shop__list__item .category {
    font-size: 16px;
    line-height: 1.5;
  }
  main #SEC04 .sec04__shop__list__item .tel {
    margin-bottom: 10px;
    margin-top: 10px;
    line-height: 20px;
  }
  main #SEC04 .sec04__shop__list__item .tel img {
    width: 34px;
    height: 20px;
    margin-right: 5px;
  }
  main #SEC05 {
    padding: 110px 20px;
    background: url(../img/sec05_bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
  }
  main #SEC05 .note {
    position: absolute;
    bottom: 10px;
    right: 10px;
  }
  main #SEC05 .sec05 ul {
    padding-left: 100px;
    position: relative;
  }
  main #SEC05 .sec05 ul::before {
    -webkit-filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
            filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
    content: "";
    background-image: url(../img/sec05_ttl.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 82px;
    height: 201px;
    position: absolute;
    left: -20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  main #SEC06 {
    background-color: #f8b62d;
    padding: 50px 20px;
  }
  main #SEC06 .sec06 {
    max-width: 840px;
    padding: 40px;
    background-color: #fdeecd;
  }
  main #SEC06 .sec06__otanosimi {
    max-width: 302px;
    display: block;
    margin: 0 auto 20px;
  }
  main #SEC06 .sec06__movie {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main #SEC06 .sec06__movie__img {
    max-width: 300px;
  }
  main #SEC06 .sec06__movie__txt {
    margin-left: 30px;
  }
  main #SEC06 .sec06__movie__txt p {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 700;
  }
  main #SEC06 .sec06__movie__txt p strong {
    font-weight: 900;
    font-size: 30px;
    color: #d22426;
  }
  main #SEC06 .sec06__movie__txt__btn {
    margin-top: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #e8421f;
    border-radius: 8px;
    color: #fff;
    max-width: 310px;
    height: 60px;
  }
  main #SEC06 .sec06__movie__txt__btn p {
    font-size: 16px;
    font-weight: 700px;
  }
  main #COPY {
    background-color: #350303;
    color: #fff;
    padding: 10px 0 5px;
  }
  main #COPY p {
    text-align: center;
    font-size: 12px;
  }
  footer {
    padding: 50px 0;
  }
  /* モーダル全体 */
  .modal-item {
    position: relative;
    cursor: pointer;
  }
  .modal-item:hover {
    opacity: 0.7;
  }
  .modal-item::before {
    content: "CHECK";
    background-color: #e8421f;
    color: #fff;
    font-weight: 700;
    padding: 5px 10px;
    line-height: 1;
    border-radius: 50px;
    position: absolute;
    top: 10px;
    left: 10px;
  }
  .modal {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: none;
    z-index: 1000;
  }
  .modal.is-active {
    display: block;
  }
  .modal__inner {
    height: 73vh;
    position: absolute;
    top: 54vh;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background: #fff;
  }
  .modal .modal__close {
    background-color: #e8421f;
    border-radius: 4px;
    padding: 10px;
    position: absolute;
    cursor: pointer;
    width: 60px;
    top: -30px;
    right: -30px;
    z-index: 4;
  }
  .modal__design {
    padding: 30px;
    height: 100%;
    overflow: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
  }
  .modal__design small {
    font-size: 70%;
  }
  .modal__design h4 {
    color: #d22426;
    font-size: 30px;
    font-weight: 900;
    text-align: center;
    margin-bottom: 10px;
  }
  .modal__design p {
    margin-top: 20px;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
  }
  .modal__design dl {
    margin-top: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .modal__design dl dt {
    color: #fff;
    background-color: #e8421f;
    font-weight: 700;
    font-size: 18px;
    border-radius: 50px;
    padding: 5px 10px 7px;
    line-height: 1;
  }
  .modal__design dl dd {
    margin-left: 10px;
    font-size: 24px;
    font-weight: 700;
    line-height: 26px;
  }
  .modal__design .modal__btn {
    padding: 20px;
    margin: 30px auto;
    background-color: #e8421f;
    height: 60px;
    width: 300px;
    border-radius: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .modal__design .modal__btn p {
    margin-top: 0;
    line-height: 1;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
  }
  /* スクロール止める */
  body.is-fixed {
    overflow: hidden;
  }
}
@media screen and (max-width: 1000px) {
  main #SEC01 .hiroshi__img {
    left: calc(50% + 22vw);
    bottom: -100px;
    width: 160px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  main {
    font-family: "Noto Sans JP", sans-serif;
    max-width: 1440px;
    margin: auto;
    color: #350303;
  }
  main .inner {
    margin: auto;
    max-width: 1040px;
    width: 100%;
    padding: 0 20px;
  }
  main p {
    font-size: 16px;
    font-weight: 400;
  }
  main .note {
    font-size: 12px;
    line-height: 1.75;
    text-indent: -1em;
    padding-left: 1em;
    display: inline-block;
  }
  main .shadow {
    -webkit-box-shadow: 3px 3px 5px rgba(53, 3, 3, 0.3);
            box-shadow: 3px 3px 5px rgba(53, 3, 3, 0.3);
  }
  main #MV {
    position: relative;
    z-index: 2;
    -webkit-box-shadow: 3px 3px 5px rgba(53, 3, 3, 0.3);
            box-shadow: 3px 3px 5px rgba(53, 3, 3, 0.3);
  }
  main #SEC01 {
    height: 540px;
    background-image: url(../img/sec01_bg_sp.png);
    background-position: center;
    position: relative;
  }
  main #SEC01 .hiroshi__img {
    position: absolute;
    left: calc(50% + 45px);
    bottom: -90px;
    width: 140px;
    z-index: 3;
  }
  main #SEC01 .sec01 {
    max-width: 390px;
    width: 100%;
    position: relative;
  }
  main #SEC01 .sec01__img-box {
    position: absolute;
    top: 20px;
    left: 10px;
  }
  main #SEC01 .sec01__img-box img {
    width: 100%;
  }
  main #SEC02 {
    background-image: url(../img/sec02_bg_sp.png);
    position: relative;
  }
  main #SEC02::after {
    content: "";
    background-image: url(../img/sec02_img02_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 390px;
    height: 187px;
    position: absolute;
    bottom: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  main #SEC02 .sec02 {
    padding: 75px 20px;
  }
  main #SEC02 .sec02__content {
    padding: 40px 20px 130px;
    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: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    outline: 1px solid #e8421f;
    outline-offset: -10px;
    position: relative;
  }
  main #SEC02 .sec02__content__ttl {
    position: absolute;
    top: -40px;
    max-width: 215px;
  }
  main #SEC02 .sec02__img {
    max-width: 320px;
  }
  main #SEC02 .sec02__txt {
    margin-top: 10px;
  }
  main #SEC02 .sec02__txt p {
    text-align: center;
    line-height: 1.5;
  }
  main #SEC02 .sec02__txt__big {
    margin-bottom: 15px;
    font-size: 22px;
    line-height: 1.4;
    color: #d22426;
    font-weight: 700;
  }
  main #SEC02 .sec02__txt__big b {
    font-size: 30px;
    font-weight: 900;
  }
  main #SEC02 .sec02__txt .note {
    margin-top: 10px;
  }
  main #SEC03 {
    margin-top: -2px;
    background: url(../img/sec03_bg_sp.png);
    background-size: 100%;
  }
  main #SEC03 a {
    color: #d22426;
    text-decoration: underline;
    display: inline-block;
  }
  main #SEC03 .insta {
    margin-top: 30px;
  }
  main #SEC03 .sec03 {
    padding: 80px 20px;
    position: relative;
  }
  main #SEC03 .sec03 .hiroshi__img {
    position: absolute;
    max-width: 237px;
    width: 100%;
    bottom: -60px;
    left: calc(50% - 118px);
    z-index: 3;
  }
  main #SEC03 .sec03__content {
    background-color: #fff8e3;
    padding: 40px 20px;
    margin-bottom: 20px;
  }
  main #SEC03 .sec03__content:last-of-type {
    margin-bottom: 0px;
  }
  main #SEC03 .sec03__content h2 {
    margin-bottom: 30px;
  }
  main #SEC03 .sec03__content h2 img {
    display: block;
    margin: auto;
  }
  main #SEC03 .sec03__content h2 p {
    text-align: center;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3;
  }
  main #SEC03 .sec03__content h2 .bg-red {
    margin-top: 5px;
  }
  main #SEC03 .sec03__content h2 .bg-red span {
    text-align: center;
    font-size: 28px;
    color: #fff;
    background-color: #e8421f;
    font-weight: 900;
    padding: 0 1px;
    line-height: 1.7;
  }
  main #SEC03 .sec03__content h2 img {
    max-width: 220px;
  }
  main #SEC03 .sec03__content__list__item {
    margin-bottom: 20px;
  }
  main #SEC03 .sec03__content__list__item:last-of-type {
    margin-bottom: 0;
  }
  main #SEC03 .sec03__content__list__item dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #350303;
    color: #fff;
    max-width: 100px;
    width: 100%;
    height: 30px;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
  }
  main #SEC03 .sec03__content__list__item dd {
    font-size: 16px;
    line-height: 1.5;
  }
  main #SEC03 .sec03__content__list .step__item dt {
    background-color: initial;
    color: #e8421f;
    font-weight: 700;
    max-width: none;
    width: auto;
    display: block;
    margin-bottom: 0;
  }
  main #SEC03 .sec03__content__list .step__item dd {
    margin-bottom: 10px;
  }
  main #SEC03 .sec03__content.event01 {
    position: relative;
  }
  main #SEC03 .sec03__content.event01::before {
    -webkit-filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
            filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
    content: "";
    background-image: url(../img/sec03_event01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 54px;
    height: 179px;
    position: absolute;
    right: -10px;
    top: -30px;
  }
  main #SEC03 .sec03__content.event02 {
    position: relative;
  }
  main #SEC03 .sec03__content.event02::before {
    -webkit-filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
            filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
    content: "";
    background-image: url(../img/sec03_event02.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 47px;
    height: 178px;
    position: absolute;
    left: -10px;
    top: -30px;
  }
  main #SEC03 .sec03__content.event02 .event02__img {
    max-width: 290px;
    margin: auto;
  }
  main #SEC04 {
    padding: 100px 20px;
  }
  main #SEC04 .sec04 {
    padding: 0;
  }
  main #SEC04 .sec04 h2 {
    max-width: 282px;
    text-align: center;
    margin: 0 auto 40px;
  }
  main #SEC04 .sec04__sub-txt {
    font-size: 18px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 1cap;
  }
  main #SEC04 .sec04__anc__btn {
    background-color: #e8421f;
    border-radius: 8px;
    font-size: 16px;
    width: calc((100% - 40px) / 5);
    height: 60px;
  }
  main #SEC04 .sec04__anc__btn a {
    text-align: center;
    width: 100%;
    height: 100%;
    line-height: 60px;
    font-size: 20px;
    color: #fff;
    font-weight: 700;
  }
  main #SEC04 .sec04 .selectbox {
    max-width: 235px;
    margin: auto;
    position: relative;
    margin-bottom: 40px;
  }
  main #SEC04 .sec04 .selectbox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #552323;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: "";
    pointer-events: none;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  main #SEC04 .sec04 .selectbox select {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    min-width: 230px;
    height: 2.8em;
    padding: 0.4em calc(0.8em + 30px) 0.4em 0.8em;
    border: 1px solid #350303;
    border-radius: 3px;
    background-color: #fff;
    color: #350303;
    font-size: 1em;
    cursor: pointer;
  }
  main #SEC04 .sec04__shop {
    margin-bottom: 60px;
  }
  main #SEC04 .sec04__shop:last-of-type {
    margin-bottom: 0;
  }
  main #SEC04 .sec04__shop h3 {
    position: relative;
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    padding-left: 40px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e8421f;
    margin-bottom: 30px;
  }
  main #SEC04 .sec04__shop h3::before {
    content: "";
    background-image: url(../img/sec04_ico.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 40px;
    height: 27px;
    position: absolute;
    left: 10px;
  }
  main #SEC04 .sec04__shop__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
  }
  main #SEC04 .sec04__shop__list__item {
    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: center;
        -ms-flex-align: center;
            align-items: center;
    width: calc((100% - 10px) / 2);
    background-color: #fdeecd;
  }
  main #SEC04 .sec04__shop__list__item a {
    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: center;
        -ms-flex-align: center;
            align-items: center;
  }
  main #SEC04 .sec04__shop__list__item small {
    font-size: 70%;
    line-height: 1;
  }
  main #SEC04 .sec04__shop__list__item .name {
    margin: 10px 10px 0;
    padding: 0 0 7px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    border-bottom: 1px solid #350303;
  }
  main #SEC04 .sec04__shop__list__item .category {
    font-size: 16px;
    line-height: 1.5;
  }
  main #SEC04 .sec04__shop__list__item .tel {
    margin-bottom: 10px;
    margin-top: 10px;
    line-height: 20px;
  }
  main #SEC04 .sec04__shop__list__item .tel img {
    width: 34px;
    height: 20px;
    margin-right: 5px;
  }
  main #SEC05 {
    padding: 60px 20px;
    background: url(../img/sec05_bg_sp.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
  main #SEC05 .sec05 {
    padding: 0;
    width: 95%;
    margin: auto;
    position: relative;
  }
  main #SEC05 .sec05::before {
    -webkit-filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
            filter: drop-shadow(3px 3px 5px rgba(53, 3, 3, 0.3));
    content: "";
    background-image: url(../img/sec05_ttl_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 200px;
    height: 76px;
    position: absolute;
    left: 0px;
    top: 0px;
  }
  main #SEC05 .sec05 ul {
    line-height: 1.7;
    padding-top: 100px;
    padding-bottom: 80vw;
    text-indent: -1em;
    padding-left: 1em;
  }
  main #SEC06 {
    background-color: #f8b62d;
    padding: 50px 20px;
  }
  main #SEC06 .sec06 {
    max-width: 840px;
    padding: 40px 20px;
    background-color: #fdeecd;
  }
  main #SEC06 .sec06__otanosimi {
    max-width: 302px;
    display: block;
    margin: 0 auto 20px;
  }
  main #SEC06 .sec06__movie {
    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: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main #SEC06 .sec06__movie__img {
    max-width: 300px;
  }
  main #SEC06 .sec06__movie__txt p {
    margin-top: 20px;
    text-align: center;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 700;
  }
  main #SEC06 .sec06__movie__txt p strong {
    line-height: 1.3;
    font-weight: 900;
    font-size: 26px;
    color: #d22426;
  }
  main #SEC06 .sec06__movie__txt__btn {
    margin-top: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #e8421f;
    border-radius: 8px;
    color: #fff;
    max-width: 310px;
    height: 60px;
  }
  main #SEC06 .sec06__movie__txt__btn p {
    font-size: 16px;
    margin-top: 0;
    font-weight: 700px;
  }
  main #COPY {
    background-color: #350303;
    color: #fff;
    padding: 10px 0 5px;
  }
  main #COPY p {
    text-align: center;
    font-size: 12px;
  }
  footer {
    padding: 50px 0;
  }
  /* モーダル全体 */
  .modal-item {
    position: relative;
    cursor: pointer;
  }
  .modal-item:hover {
    opacity: 0.7;
  }
  .modal-item::before {
    content: "CHECK";
    background-color: #e8421f;
    color: #fff;
    font-weight: 700;
    padding: 5px 10px;
    line-height: 1;
    border-radius: 50px;
    position: absolute;
    top: 10px;
    left: 10px;
  }
  .modal {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: none;
    z-index: 1000;
  }
  .modal.is-active {
    display: block;
  }
  .modal__inner {
    height: 80%;
    position: absolute;
    top: 53vh;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background: #fff;
    width: 90%;
    max-width: 390px;
  }
  .modal .modal__close {
    background-color: #e8421f;
    border-radius: 4px;
    padding: 10px;
    position: absolute;
    cursor: pointer;
    width: 50px;
    top: 10px;
    right: 10px;
    z-index: 4;
  }
  .modal__design {
    padding: 50px 30px 30px;
    height: 100%;
    overflow: auto;
    position: relative;
  }
  .modal__design small {
    font-size: 70%;
  }
  .modal__design h4 {
    color: #d22426;
    font-size: 30px;
    font-weight: 900;
    text-align: center;
    margin-bottom: 10px;
  }
  .modal__design p {
    margin-top: 20px;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
  }
  .modal__design dl {
    margin-top: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .modal__design dl dt {
    color: #fff;
    background-color: #e8421f;
    font-weight: 700;
    font-size: 18px;
    border-radius: 50px;
    padding: 5px 10px 7px;
    line-height: 1;
    width: 58px;
  }
  .modal__design dl dd {
    width: 71%;
    margin-left: 10px;
    font-size: 24px;
    font-weight: 700;
    line-height: 26px;
  }
  .modal__design .modal__btn {
    padding: 20px;
    margin: 30px auto;
    background-color: #e8421f;
    height: 60px;
    max-width: 300px;
    width: 80%;
    border-radius: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .modal__design .modal__btn p {
    margin-top: 0;
    line-height: 1;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
  }
  /* スクロール止める */
  body.is-fixed {
    overflow: hidden;
  }
}
/* SP ここまで */