@charset "UTF-8";
/*----------------------------------------
	reset.scss
---------------------------------------- */
html, body, div, span, h1, h2, h3, h4, h5, h6, p, address, em, img, picture,
small, strong, sub, sup, b, i, dl, dt, dd, ol, ul, li,
article, aside, figure, footer, header, main, menu, nav, section, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
}

header, footer, article, section, picture, aside, nav, menu, figure, figcaption {
  display: block;
}

li {
  list-style: none;
}

img {
  border: 0;
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/*----------------------------------------
	fonts.scss
---------------------------------------- */
@font-face {
  font-display: swap;
  font-family: "NotoSansCJKjp";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansCJKjp-s-Light.otf") format("opentype"), url("../fonts/NotoSansCJKjp-s-Light.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "NotoSansCJKjp";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansCJKjp-s-Regular.otf") format("opentype"), url("../fonts/NotoSansCJKjp-s-Regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "NotoSansCJKjp";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansCJKjp-s-Medium.otf") format("opentype"), url("../fonts/NotoSansCJKjp-s-Medium.woff2") format("woff2");
}
/*----------------------------------------
	base.scss
---------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  position: relative;
  margin: 0 auto;
  font-family: "NotoSansCJKjp", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: normal;
  font-size: 1.8rem;
  text-align: center;
  color: #000;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #007dab url("../images/body_bg.svg") center center no-repeat;
  background-size: contain;
  overflow-x: hidden;
}
body::before {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  content: "";
  width: 60rem;
  height: 39rem;
  background: #007dab url("../images/footer_bg01.svg") right bottom no-repeat;
  background-size: contain;
}

a {
  text-decoration: none;
  outline: none;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
a:link, a:visited {
  color: #000;
}
a:hover, a:active {
  color: #c69c6d;
}

a:focus,
*:focus {
  outline: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*	mediaqueries
-------------------*/
@media screen and (min-width: 750px) and (max-width: 1119px) {
  body {
    width: 100%;
  }
  body::before {
    width: 41.6666666667%;
    height: 27.0833333333%;
  }
}
@media screen and (max-width: 749px) {
  body::before {
    width: 41.6666666667%;
    height: 27.0833333333%;
  }
}
/*// ============================================================
// base
// ============================================================*/
@keyframes shine {
  0% {
    -webkit-transform: scale(0) rotate(135deg);
            transform: scale(0) rotate(135deg);
    opacity: 0;
  }
  10% {
    -webkit-transform: scale(4) rotate(135deg);
            transform: scale(4) rotate(135deg);
    opacity: 1;
  }
  20% {
    -webkit-transform: scale(50) rotate(135deg);
            transform: scale(50) rotate(135deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(50) rotate(135deg);
            transform: scale(50) rotate(135deg);
    opacity: 0;
  }
}
@-webkit-keyframes shine {
  0% {
    -webkit-transform: scale(0) rotate(135deg);
            transform: scale(0) rotate(135deg);
    opacity: 0;
  }
  10% {
    -webkit-transform: scale(4) rotate(135deg);
            transform: scale(4) rotate(135deg);
    opacity: 1;
  }
  20% {
    -webkit-transform: scale(50) rotate(135deg);
            transform: scale(50) rotate(135deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(50) rotate(135deg);
            transform: scale(50) rotate(135deg);
    opacity: 0;
  }
}
@keyframes floatUpDown {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@-webkit-keyframes floatUpDown {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
*/
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1 ;
}

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

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

.animated.repeat-2 {
  -webkit-animation-iteration-count: 2;
  animation-iteration-count: 2;
}

.animated.repeat-3 {
  -webkit-animation-iteration-count: 3;
  animation-iteration-count: 3;
}

.animated.delay-01s {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.animated.delay-02s {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.animated.delay-03s {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.animated.delay-04s {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.animated.delay-05s {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.animated.delay-06s {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.animated.delay-07s {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

.animated.delay-08s {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.animated.delay-09s {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

.animated.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.animated.delay-1-1s {
  -webkit-animation-delay: 1.1s;
  animation-delay: 1.1s;
}

.animated.delay-1-2s {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

.animated.delay-1-3s {
  -webkit-animation-delay: 1.3s;
  animation-delay: 1.3s;
}

.animated.delay-1-4s {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}

.animated.delay-1-5s {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

.animated.delay-1-6s {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
}

.animated.delay-1-7s {
  -webkit-animation-delay: 1.7s;
  animation-delay: 1.7s;
}

.animated.delay-1-8s {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s;
}

.animated.delay-1-9s {
  -webkit-animation-delay: 1.9s;
  animation-delay: 1.9s;
}

.animated.delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.animated.delay-2-1s {
  -webkit-animation-delay: 2.1s;
  animation-delay: 2.1s;
}

.animated.delay-2-2s {
  -webkit-animation-delay: 2.2s;
  animation-delay: 2.2s;
}

.animated.delay-2-3s {
  -webkit-animation-delay: 2.3s;
  animation-delay: 2.3s;
}

.animated.delay-2-4s {
  -webkit-animation-delay: 2.4s;
  animation-delay: 2.4s;
}

.animated.delay-2-5s {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

.animated.delay-2-6s {
  -webkit-animation-delay: 2.6s;
  animation-delay: 2.6s;
}

.animated.delay-2-7s {
  -webkit-animation-delay: 2.7s;
  animation-delay: 2.7s;
}

.animated.delay-2-8s {
  -webkit-animation-delay: 2.8s;
  animation-delay: 2.8s;
}

.animated.delay-2-9s {
  -webkit-animation-delay: 2.9s;
  animation-delay: 2.9s;
}

.animated.delay-3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.animated.delay-4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.animated.delay-5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.animated.faster {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
}

.animated.fast {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
}

.animated.normal {
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
}

.animated.slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.slower {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}

@media (prefers-reduced-motion: reduce), print {
  .animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }

  .animated[class*=Out] {
    opacity: 0;
  }
}
@-webkit-keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftShorter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-5%, 0, 0);
    transform: translate3d(-5%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInLeftShorter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-5%, 0, 0);
    transform: translate3d(-5%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
.fadeInLeftShorter {
  -webkit-animation-name: fadeInLeftShorter;
  animation-name: fadeInLeftShorter;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(20%, 0, 0);
    transform: translate3d(20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(20%, 0, 0);
    transform: translate3d(20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightShorter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(5%, 0, 0);
    transform: translate3d(5%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInRightShorter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(5%, 0, 0);
    transform: translate3d(5%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
.fadeInRightShorter {
  -webkit-animation-name: fadeInRightShorter;
  animation-name: fadeInRightShorter;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 5%, 0);
    transform: translate3d(0, 5%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 5%, 0);
    transform: translate3d(0, 5%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpShorter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2%, 0);
    transform: translate3d(0, 2%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeInUpShorter {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2%, 0);
    transform: translate3d(0, 2%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
.fadeInUpShorter {
  -webkit-animation-name: fadeInUpShorter;
  animation-name: fadeInUpShorter;
}

@-webkit-keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

/*----------------------------------------
	footer.scss
---------------------------------------- */
.l-footer {
  padding-top: 15rem;
}
.l-footer__copyright {
  padding-bottom: 6rem;
}
@media print, screen and (min-width: 1120px) and (max-width: 1180px) {
  .l-footer {
    max-width: 1080px;
    margin: 0 auto;
  }
  .l-footer__copyright {
    text-align: left;
  }
}
@media print, screen and (min-width: 1180px) and (max-width: 1500px) {
  .l-footer {
    max-width: 1120px;
    margin: 0 auto;
  }
  .l-footer__copyright {
    text-align: left;
  }
}
@media screen and (min-width: 750px) and (max-width: 1119px) {
  .l-footer {
    padding-top: 5rem;
  }
  .l-footer__copyright {
    width: 37.5%;
    margin: 0 3rem;
    padding-bottom: 3rem;
    text-align: left;
  }
}
@media screen and (max-width: 749px) {
  .l-footer {
    padding-top: 0;
  }
  .l-footer__copyright {
    width: 54.6666666667%;
    margin: 0 2rem;
    padding-bottom: 3rem;
    text-align: left;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1119px) and (orientation: landscape) {
  .l-footer {
    padding-top: 5rem;
  }
  .l-footer__copyright {
    width: 37.5%;
    margin: 0 3rem;
    padding-bottom: 3rem;
    text-align: left;
  }
}
/*----------------------------------------
wrapper.scss
---------------------------------------- */
.l-wrapper {
  position: relative;
  min-height: 100%;
}
.l-wrapper.-fixed {
  height: 100vh;
  overflow: hidden;
}

/*// ============================================================
// layout
// ============================================================*/
/*----------------------------------------
	module/breakpoint.scss
---------------------------------------- */
@media screen and (max-width: 749px) {
  .m-tab-only,
.m-pc-only,
.m-tabpc-only {
    display: none !important;
  }

  .m-sp-only {
    display: block !important;
  }
}
@media screen and (min-width: 750px) and (max-width: 1119px) {
  .m-sp-only,
.m-pc-only {
    display: none !important;
  }

  .m-tab-only {
    display: block !important;
  }
}
@media screen and (min-width: 961px) {
  .m-sp-only,
.m-tab-only,
.m-sptab-only {
    display: none !important;
  }

  .m-tabpc-only,
.m-pc-only {
    display: block !important;
  }
}
/*----------------------------------------
	module/button.scss
----------------------------------------*/
.m-button a {
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.m-button a :hover {
  opacity: 0.85;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.m-button.disabled a {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  opacity: 0.7;
  pointer-events: none;
}
@media print, screen and (min-width: 1120px) and (max-width: 1180px) {
  .m-button a {
    width: 77.7777777778%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 750px) and (max-width: 1119px) {
  .m-button a {
    width: 70%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 749px) {
  .m-button a {
    width: 80%;
    margin: 0 auto;
  }
}

/*// ============================================================
// modules
// ============================================================*/