/*********************************

_main.scss

*********************************/
/*********************************

_variables.scss

*********************************/
/*********************************

_mixins.scss

*********************************/
/*********************************

_functions.scss

*********************************/
/*********************************

_base.scss

*********************************/
* {
  -webkit-tap-highlight-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-break: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
}

body {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: normal;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  color: #000;
  background-color: #fff;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

section {
  position: relative;
}

main {
  margin: 0 auto;
  padding: 0;
  display: block;
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  line-height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Hide HTML5 Up and Down arrows. */
input[type=search]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

textarea {
  resize: none;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s linear;
  -webkit-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
}
a:hover {
  text-decoration: none !important;
  opacity: 0.8;
}

img {
  margin: 0 auto;
  display: block;
  width: 100%;
  height: auto;
}

ul {
  list-style-position: inside;
}

::-webkit-input-placeholder {
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  color: inherit;
}

::placeholder,
::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder {
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  transition: opacity 0.2s linear;
  -webkit-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
}
button:hover {
  text-decoration: none !important;
  opacity: 0.8;
}

/*********************************

_misc.scss

*********************************/
.loaderScreen {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  z-index: 9999;
}

/* Animations */
/* Spin Left */
@keyframes spin-left {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes spin-left {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
/* Spin Right */
@keyframes spin-right {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
@-webkit-keyframes spin-right {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
  }
}
@-webkit-keyframes sway {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  75% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@keyframes sway {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  75% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
/* Bounce 1 (gentle, steady) */
@keyframes bounce1 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
}
@-webkit-keyframes bounce1 {
  0%, 100% {
    -webkit-transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-8px);
  }
}
/* Bounce 2 (slower, uneven heights) */
@keyframes bounce2 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  30% {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
  }
  70% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@-webkit-keyframes bounce2 {
  0%, 100% {
    -webkit-transform: translateY(0);
  }
  30% {
    -webkit-transform: translateY(-6px);
  }
  70% {
    -webkit-transform: translateY(-10px);
  }
}
/* Bounce 3 (faster, playful peaks) */
@keyframes bounce3 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
  50% {
    -webkit-transform: translateY(-12px);
            transform: translateY(-12px);
  }
  80% {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
  }
}
@-webkit-keyframes bounce3 {
  0%, 100% {
    -webkit-transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(-5px);
  }
  50% {
    -webkit-transform: translateY(-12px);
  }
  80% {
    -webkit-transform: translateY(-7px);
  }
}
/* Bounce 4 (slow drift, subtle wobble) */
@keyframes bounce4 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }
  60% {
    -webkit-transform: translateY(-9px);
            transform: translateY(-9px);
  }
}
@-webkit-keyframes bounce4 {
  0%, 100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-4px);
  }
  60% {
    -webkit-transform: translateY(-9px);
  }
}
@media print, screen and (max-width: 768px) {
  /* Bounce 1 (gentle, steady) */
  @keyframes bounce1 {
    0%, 100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    50% {
      -webkit-transform: translateY(-6px);
              transform: translateY(-6px);
    }
  }
  @-webkit-keyframes bounce1 {
    0%, 100% {
      -webkit-transform: translateY(0);
    }
    50% {
      -webkit-transform: translateY(-6px);
    }
  }
  /* Bounce 2 (slower, uneven heights) */
  @keyframes bounce2 {
    0%, 100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    30% {
      -webkit-transform: translateY(-4px);
              transform: translateY(-4px);
    }
    70% {
      -webkit-transform: translateY(-8px);
              transform: translateY(-8px);
    }
  }
  @-webkit-keyframes bounce2 {
    0%, 100% {
      -webkit-transform: translateY(0);
    }
    30% {
      -webkit-transform: translateY(-4px);
    }
    70% {
      -webkit-transform: translateY(-8px);
    }
  }
  /* Bounce 3 (faster, playful peaks) */
  @keyframes bounce3 {
    0%, 100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    20% {
      -webkit-transform: translateY(-4px);
              transform: translateY(-4px);
    }
    50% {
      -webkit-transform: translateY(-8px);
              transform: translateY(-8px);
    }
    80% {
      -webkit-transform: translateY(-6px);
              transform: translateY(-6px);
    }
  }
  @-webkit-keyframes bounce3 {
    0%, 100% {
      -webkit-transform: translateY(0);
    }
    20% {
      -webkit-transform: translateY(-4px);
    }
    50% {
      -webkit-transform: translateY(-8px);
    }
    80% {
      -webkit-transform: translateY(-6px);
    }
  }
  /* Bounce 4 (slow drift, subtle wobble) */
  @keyframes bounce4 {
    0%, 100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    40% {
      -webkit-transform: translateY(-2px);
              transform: translateY(-2px);
    }
    60% {
      -webkit-transform: translateY(-6px);
              transform: translateY(-6px);
    }
  }
  @-webkit-keyframes bounce4 {
    0%, 100% {
      -webkit-transform: translateY(0);
    }
    40% {
      -webkit-transform: translateY(-2px);
    }
    60% {
      -webkit-transform: translateY(-6px);
    }
  }
}
/*********************************

_utilities.scss

*********************************/
.textCenter {
  text-align: center;
}

.displayNone {
  display: none;
}

@media print, screen and (min-width: 769px) {
  .pcBlock {
    display: block;
  }
  .pcIBlock {
    display: inline-block;
  }
  .spBlock {
    display: none !important;
  }
  .spIBlock {
    display: none !important;
  }
  .pcFlex {
    display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  }
  .spFlex {
    display: none !important;
  }
}
@media print, screen and (max-width: 768px) {
  .pcBlock {
    display: none !important;
  }
  .pcIBlock {
    display: none !important;
  }
  .spBlock {
    display: block;
  }
  .spIBlock {
    display: inline-block;
  }
  .pcFlex {
    display: none !important;
  }
  .spFlex {
    display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  }
}
@font-face {
  font-family: "Gill Sans MT";
  src: url("./../fonts/gillsansmt.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
/*********************************

_header.scss

*********************************/
.header {
  margin: 0 auto;
  padding: 16px 60px 22px;
  width: 100vw;
  height: auto;
  position: fixed;
  color: #000;
  background-color: #fff;
  z-index: 10;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  top: 0;
}
.header.is-fixed {
  background-color: #fff;
  -webkit-box-shadow: 0 0 22px 0 rgba(0, 0, 0, 0.4);
  box-shadow: 1px 1px 22px 1px rgba(0, 0, 0, 0.4);
}
.header__wrapper {
  margin: 0 auto;
  max-width: 75vw;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.header__left {
  width: 16.5625vw;
}
.header__right {
  width: calc(100% - 16.5625vw);
}
.header__rightWrapper {
  width: 100%;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.header__logo {
  padding-right: 38px;
}
.header__logo h1 {
  font-size: 3vw;
  line-height: 1.2;
}
.header__logo img {
  margin-left: 0;
  max-width: 177px;
}
.header__hambuger {
  display: none;
}
.header__note {
  margin: 0 0 0 0.75vw;
  font-size: 1.125vw;
  font-weight: 500;
  line-height: 1.35;
}
.header__ctaWrapper {
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__ctaBtn:not(:last-of-type) {
  margin: 0 0.625vw 0 0;
}
.header__ctaBtn:hover {
  -webkit-filter: drop-shadow(3px 2px 5px rgba(0, 0, 0, 0.5));
  filter: drop-shadow(3px 2px 5px rgba(0, 0, 0, 0.5));
}
.header__nav {
  margin: 0 2.125vw 0 0;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  list-style: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.header__navItem {
  position: relative;
}
.header__navItem:hover > .header__navSub {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.header__navItemLink {
  font-family: "Gill Sans MT", sans-serif;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #E84B85;
  transition: opacity 0.2s linear;
  -webkit-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
}
.header__navItemLink img {
  margin: 0;
  padding: 0;
  height: 25px;
  width: auto;
}
.header__navItemLink.isActive {
  opacity: 1;
}
.header__navItemLink:hover {
  opacity: 0.8;
}
.header__navSub {
  margin: auto;
  padding: 0.625vw 0 0;
}
.header__navSubItem {
  padding: 0.5vw 0.5vw 0.5vw 1em;
  list-style: none;
}
.header__navSubItemLink {
  display: inline-block;
  font-size: 0.875vw;
  line-height: 1.35;
}
.header__navSubItemLink:hover {
  opacity: 1;
}

@media print, screen and (max-width: 1600px) and (min-width: 769px) {
  .header {
    padding: 1vw 3.75vw 1.375vw;
  }
  .header__logo {
    padding-right: 2.375vw;
  }
  .header__logo img {
    max-width: 11.0625vw;
  }
  .header__navItemLink {
    font-size: 1.5625vw;
  }
  .header__navItemLink img {
    margin: 0;
    padding: 0;
    height: 1.5625vw;
    width: auto;
  }
}
@media print, screen and (min-width: 769px) {
  .header__right {
    display: block !important;
  }
  .header__navItem:not(:last-of-type) {
    margin: 0 2.1875vw 0 0;
  }
  .header__navItemLink {
    position: relative;
  }
  .header__navItemLink:hover:after {
    opacity: 1;
  }
}
@media print, screen and (max-width: 768px) {
  .header {
    padding: 1.8666666667vw 4vw;
    height: 14.6666666667vw;
    display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-filter: drop-shadow(3px 2px 5px rgba(0, 0, 0, 0.5));
    filter: drop-shadow(3px 2px 5px rgba(0, 0, 0, 0.5));
  }
  .header.isActive {
    background-color: #f9c8da;
  }
  .header.isActive .header__logo {
    opacity: 0;
  }
  .header.isActive .header__hamburgerIcon--open {
    opacity: 0;
  }
  .header.isActive .header__hamburgerIcon--close {
    opacity: 1;
  }
  .header__wrapper {
    max-width: initial;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header__right {
    margin: 0;
    position: absolute;
    top: 100%;
    left: 0;
    height: auto;
    width: 100%;
    display: none;
  }
  .header__rightWrapper {
    padding: 6.4vw 4vw 2.6666666667vw;
    background-color: #f9c8da;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .header__left {
    width: calc(100% - 9.6vw);
  }
  .header__logo h1 {
    font-size: 5.3333333333vw;
  }
  .header__logo img {
    margin: 0;
    max-width: 22.9333333333vw;
  }
  .header__note {
    margin: 2.6666666667vw 0 0;
    font-size: 3.2vw;
  }
  .header__hambuger {
    position: relative;
    display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    width: 9.6vw;
    height: 9.6vw;
    cursor: pointer;
  }
  .header__hamburgerIcon {
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity 0.2s linear;
    -webkit-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
  }
  .header__hamburgerIcon--open {
    background-image: url("./../images/common/sp-hamburger-open.png");
  }
  .header__hamburgerIcon--close {
    width: 6.9333333333vw;
    opacity: 0;
    background-image: url("./../images/common/sp-hamburger-close.png");
  }
  .header__nav {
    margin: 0 auto;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .header__navItem {
    margin: 0 auto;
    padding-bottom: 4vw;
    width: 100%;
    text-align: center;
    position: relative;
  }
  .header__navItem:not(:first-of-type) {
    margin-top: 4.8vw;
  }
  .header__navItem:nth-child(2) {
    margin-top: 0;
  }
  .header__navItem:after {
    margin: auto;
    position: absolute;
    content: "";
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: 24px;
    height: 2px;
    background-image: url("./../images/common/divider-1.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  .header__navItemLink {
    padding-left: 0;
    font-size: 3.7333333333vw;
    letter-spacing: 0.2em;
    position: relative;
    display: inline-block;
  }
  .header__navItemLink img {
    margin: 1.6vw auto 0;
    height: 14.4vw;
  }
  .header__navItemLink .ja {
    font-size: 8.5333333333vw;
    letter-spacing: 0.15em;
  }
  .header__navSub {
    padding: 2.6666666667vw 0 0;
  }
  .header__navSubItem {
    padding: 2.1333333333vw 2.1333333333vw 2.1333333333vw 1em;
  }
  .header__navSubItemLink {
    padding-left: 4vw;
    font-size: 4vw;
    position: relative;
    display: inline-block;
  }
  .header__spContents {
    margin: 27.2vw auto 0;
  }
  .header__banner1 {
    display: block;
    margin: 7.4666666667vw auto 0;
    width: 39.7333333333vw;
  }
  .header__copy {
    margin: 4vw auto 0;
    font-family: "Gill Sans MT", sans-serif;
    font-size: 2.4vw;
    line-height: 1.2;
    letter-spacing: 0.2em;
    color: #3c3c3c;
    text-align: center;
  }
}
/*********************************

_footer.scss

*********************************/
.footer {
  padding: 8.125vw 0 1.375vw;
  width: 100%;
  height: 71.375vw;
  background-image: url("./../images/footer/footer-bg.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: relative;
}
.footer * {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.footer__cta1 {
  margin: 0 auto;
  width: 53.125vw;
  height: 17.625vw;
  background-image: url("./../images/footer/footer-cta1-bg.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}
.footer__cta1Link {
  margin: 0 auto;
  width: 53.125vw;
}
.footer__cta1Obj1 {
  margin: auto;
  position: absolute;
  width: 16.25vw;
  top: -10.75vw;
  right: -1vw;
  bottom: auto;
  left: 3.125vw;
  z-index: 3;
}
.footer__cta1Left img {
  width: 12.875vw;
}
.footer__cta1Right {
  padding-left: 2.375vw;
}
.footer__cta1Txt1 {
  margin: 0;
  padding-left: 0.625vw;
  width: 30.75vw;
}
.footer__cta1Txt2 {
  margin: 0.5vw 0 0;
  padding-left: 0.625vw;
  font-size: 1.0625vw;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.16em;
  color: #3c3c3c;
}
.footer__cta1Btn {
  margin: 1.25vw 0 0;
}
.footer__cta2 {
  margin: 2.25vw auto 0;
  padding-top: 4.5vw;
  position: relative;
}
.footer__cta2Obj1 {
  margin: auto;
  position: absolute;
  width: 9.125vw;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  z-index: 1;
}
.footer__cta2Txt1 {
  margin: 2.625vw auto 0;
  padding: 0 1.5625vw;
  width: 19.375vw;
  font-size: 1.125vw;
  letter-spacing: 0.2em;
  text-align: center;
  font-weight: 900;
  line-height: 1.2;
  color: #E84B85;
  position: relative;
}
.footer__cta2Txt1:before, .footer__cta2Txt1:after {
  margin: auto;
  top: 0;
  bottom: 0;
  position: absolute;
  content: "";
  width: 1vw;
  height: 1.0625vw;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.footer__cta2Txt1:before {
  right: auto;
  left: 0;
  background-image: url("./../images/footer/slant-left.png");
}
.footer__cta2Txt1::after {
  right: 0;
  left: auto;
  background-image: url("./../images/footer/slant-right.png");
}
.footer__cta2Obj2 {
  margin: 0.3125vw auto 0;
  width: 14.1875vw;
}
.footer__sns {
  margin: 2.875vw auto 0;
}
.footer__bottomObj {
  display: block;
  margin: 4.0625vw auto 0;
  width: 13.125vw;
}
.footer__copy {
  margin: 1.625vw auto 0;
  font-family: "Gill Sans MT", sans-serif;
  font-size: 0.9375vw;
  line-height: 1.2;
  letter-spacing: 0.2em;
  color: #3c3c3c;
  text-align: center;
}
.footer__copy img {
  margin: 0 auto;
  width: auto;
  height: 1vw;
}

@media print, screen and (max-width: 768px) {
  .footer {
    padding-top: 13.8666666667vw;
    padding-bottom: 2.6666666667vw;
    height: 203.7333333333vw;
    background-image: url("./../images/footer/footer-bg-sp.jpg");
  }
  .footer__cta1 {
    margin: 0 auto;
    width: 92vw;
    height: 38.6666666667vw;
    background-image: url("./../images/footer/footer-cta1-bg-sp.png");
  }
  .footer__cta1Link {
    margin: 0 auto;
    width: 92vw;
  }
  .footer__cta1Obj1 {
    width: 32.5333333333vw;
    top: -21.3333333333vw;
    right: 0;
    left: 8vw;
  }
  .footer__cta1Left img {
    width: 26.6666666667vw;
  }
  .footer__cta1Right {
    padding-left: 2.6666666667vw;
  }
  .footer__cta1Txt1 {
    padding-left: 1.3333333333vw;
    width: 53.3333333333vw;
  }
  .footer__cta1Txt2 {
    margin: 1.0666666667vw 0 0;
    padding-left: 1.3333333333vw;
    font-size: 1.8666666667vw;
  }
  .footer__cta1Btn {
    margin-top: 6.6666666667vw;
  }
  .footer__cta2 {
    margin: 14.4vw auto 0;
    padding-top: 12.2666666667vw;
  }
  .footer__cta2Obj1 {
    width: 29.3333333333vw;
  }
  .footer__cta2Txt1 {
    margin: 5.3333333333vw auto 0;
    padding: 0 6.6666666667vw;
    width: 38.6666666667vw;
    font-size: 3.4666666667vw;
    line-height: 1.4;
  }
  .footer__cta2Txt1:before, .footer__cta2Txt1:after {
    width: 5.3333333333vw;
    height: 8.5333333333vw;
  }
  .footer__cta2Txt1:before {
    background-image: url("./../images/footer/slant-left-sp.png");
  }
  .footer__cta2Txt1::after {
    background-image: url("./../images/footer/slant-right-sp.png");
  }
  .footer__cta2Obj2 {
    margin: 3.2vw auto 0;
    width: 41.3333333333vw;
  }
  .footer__sns {
    margin: 11.2vw auto 0;
  }
  .footer__bottomObj {
    margin: 11.4666666667vw auto 0;
    width: 40vw;
  }
  .footer__copy {
    margin: 5.3333333333vw auto 0;
    font-size: 2.4vw;
  }
  .footer__copy img {
    height: 2.1333333333vw;
  }
}
/*********************************

_sidebar.scss

*********************************/
.main {
  margin-top: 98px;
  width: 100%;
  position: relative;
}

.mainBg {
  margin: 0;
  position: absolute;
  content: "";
  top: 49.875vw;
  right: 0;
  bottom: auto;
  left: 0;
  background-image: url("./../images/common/main-bg-pc.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  width: 100%;
  height: 122vw;
  z-index: 1;
}

.mainContent {
  position: relative;
}

.commonWrapper {
  margin: 0 auto;
  max-width: 75vw;
}

.sns {
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sns__item:not(:last-of-type) {
  margin: 0 3.125vw 0 0;
}
.sns__item img {
  width: 5.8125vw;
}

@media print, screen and (max-width: 1600px) and (min-width: 769px) {
  .main {
    margin-top: 6.125vw;
  }
}
@media print, screen and (max-width: 768px) {
  .main {
    margin-top: 14.6666666667vw;
    background-image: none;
  }
  .mainBg {
    top: 104.8vw;
    background-image: url("./../images/common/main-bg-sp.png");
    width: 100%;
    height: 528.8vw;
    z-index: 1;
  }
  .commonWrapper {
    margin: 0 auto;
    max-width: 92vw;
  }
  .sns__item:not(:last-of-type) {
    margin: 0 8.5333333333vw 0 0;
  }
  .sns__item img {
    width: 14.6666666667vw;
  }
  .sns--header .sns__item:not(:last-of-type) {
    margin: 0 4.8vw 0 0;
  }
  .sns--header .sns__item img {
    width: 9.6vw;
  }
}
/*********************************

_kv.scss

*********************************/
.kv {
  padding-top: 5.375vw;
  min-height: 62.375vw;
  background-image: url("./../images/kv/kv-bg-pc.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  width: 100%;
  position: relative;
}
.kv * {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.kv__flowerMain {
  position: absolute;
  bottom: 0.5vw;
  left: 0;
}
.kv__flowerMain.anim1 {
  animation: bounce1 5s ease-in-out infinite;
  -webkit-animation: bounce1 5s ease-in-out infinite;
}
.kv__flowerMain.anim2 {
  animation: bounce2 6s ease-in-out infinite;
  -webkit-animation: bounce2 6s ease-in-out infinite;
}
.kv__flowerMain.anim3 {
  animation: bounce3 4s ease-in-out infinite;
  -webkit-animation: bounce3 4s ease-in-out infinite;
}
.kv__flowerMain.anim4 {
  animation: bounce4 7s ease-in-out infinite;
  -webkit-animation: bounce4 7s ease-in-out infinite;
}
.kv__flower1, .kv__flower2 {
  margin: auto;
  position: absolute;
}
.kv__flower1 {
  top: auto;
  left: -32.1875vw;
  right: 0;
  bottom: 29.875vw;
  width: 11.625vw;
  animation: spin-left 6s linear infinite;
  -webkit-animation: spin-left 6s linear infinite;
}
.kv__flower2 {
  top: auto;
  left: 0;
  right: 0;
  bottom: 27.5vw;
  right: -36.75vw;
  width: 12.5625vw;
  animation: spin-right 6s linear infinite;
  -webkit-animation: spin-right 6s linear infinite;
}
.kv__mainText {
  margin: 0 auto 0;
  max-width: 52.1875vw;
}
.kv__mainObj__item1, .kv__mainObj__item2 {
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
}
.kv__mainObj__item1 {
  width: 30.75vw;
  bottom: 13.25vw;
  right: -9.875vw;
  z-index: 2;
}
.kv__mainObj__item2 {
  width: 35.9375vw;
  bottom: -2.375vw;
  z-index: 1;
}

@media print, screen and (max-width: 768px) {
  .kv {
    padding-top: 16.8vw;
    background-image: url("./../images/kv/kv-bg-sp.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    min-height: 120.8vw;
  }
  .kv__mainText {
    margin: 0 auto 0;
    max-width: 59.4666666667vw;
  }
  .kv__flowerMain {
    bottom: 1.3333333333vw;
  }
  .kv__flower1 {
    left: -32.5333333333vw;
    bottom: 29.6vw;
    width: 11.4666666667vw;
  }
  .kv__flower2 {
    bottom: 29.8666666667vw;
    right: -35.2vw;
    width: 12.2666666667vw;
  }
  .kv__mainObj__item1 {
    width: 69.3333333333vw;
    bottom: -22.4vw;
    right: -21.3333333333vw;
  }
  .kv__mainObj__item2 {
    width: 58.4vw;
    bottom: -46.6666666667vw;
  }
}
/*********************************

_article.scss

*********************************/
/*********************************

_button.scss

*********************************/
.btn1 {
  padding: 0.625vw 2.5vw;
  background-color: #E84B85;
  color: #fff;
  width: 31.375vw;
  height: 6.3125vw;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 3.125vw;
  position: relative;
  font-size: 1.375vw;
  font-weight: 900;
  line-height: 1.2;
}
.btn1:after {
  margin: auto;
  position: absolute;
  content: "";
  background-image: url("./../images/footer/arrow-white-1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  top: 0;
  right: 1.25vw;
  bottom: 0;
  left: auto;
  width: 1.375vw;
  height: 1.75vw;
}

.btn2 {
  margin: 0 auto;
  padding: 0.625vw 3.25vw;
  position: relative;
  background-image: url("./../images/footer/btn-bg-2.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 26.1875vw;
  height: 6.5vw;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.5625vw;
  font-weight: 900;
  line-height: 1.2;
  color: #fff;
}
.btn2:after {
  margin: auto;
  position: absolute;
  content: "";
  background-image: url("./../images/footer/btn-arrow-2.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  top: 0;
  right: 1.375vw;
  bottom: 0;
  left: auto;
  width: 1.75vw;
  height: 1.75vw;
}

@media print, screen and (max-width: 768px) {
  .btn1 {
    padding: 1.3333333333vw 5.3333333333vw;
    width: 54.4vw;
    height: 10.9333333333vw;
    border-radius: 8vw;
    font-size: 2.4vw;
    letter-spacing: 0.1em;
  }
  .btn1:after {
    background-image: url("./../images/footer/arrow-white-1.png");
    right: 2.1333333333vw;
    width: 2.1333333333vw;
    height: 2.6666666667vw;
  }
  .btn2 {
    margin: 0 auto;
    padding: 2.6666666667vw 9.6vw;
    width: 78.4vw;
    height: 24.8vw;
    font-size: 4.5333333333vw;
  }
  .btn2:after {
    right: 4.2666666667vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.profile {
  padding-top: 10vw;
  padding-bottom: 13vw;
  position: relative;
  z-index: 1;
}
.profile__intro {
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
}
.profile__introLeft {
  width: 50%;
}
.profile__introRight {
  width: 50%;
}
.profile__introHeading {
  color: #E84B85;
}
.profile__introHeading .ja,
.profile__introHeading .en {
  display: block;
}
.profile__introHeading .ja {
  font-size: 4.375vw;
  line-height: 1.2;
  font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
  font-weight: 900;
  font-style: normal;
}
.profile__introHeading .en {
  font-size: 1.875vw;
  line-height: 1.2;
  letter-spacing: 0.2em;
  font-family: "Gill Sans MT", sans-serif;
}
.profile__introHeading .en img {
  margin: 0.25vw 0 0;
  width: auto;
  height: 2.125vw;
}
.profile__introText {
  margin: 2.1875vw 0;
  font-size: 1.375vw;
  font-weight: 900;
  line-height: 2.2727272727;
  color: #3c3c3c;
  letter-spacing: 0.2em;
}
.profile__introFig {
  width: 32.9375vw;
}
.profile__items {
  margin: 6.25vw auto 0;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
}
.profile__itemText {
  margin: 1.125vw auto 0;
  font-size: 1.125vw;
  font-weight: 900;
  line-height: 1.8333333333;
  letter-spacing: 0.2em;
  text-align: center;
  color: #3c3c3c;
}
.profile__itemFig {
  margin: 0 auto;
  width: 28.5vw;
  position: absolute;
  top: auto;
  left: 0;
  right: 0;
  bottom: 8.125vw;
}
.profile__item {
  padding-bottom: 2vw;
  position: relative;
  width: 35.625vw;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox; /* TWEENER - IE 10 */ /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -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: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 35.625vw;
  height: 24.0625vw;
}
.profile__item:before {
  margin: auto;
  position: absolute;
  content: "";
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url("./../images/profile/item-bg-1.png");
  background-size: cover;
  background-repeat: repeat;
  background-position: center;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.profile__item:nth-child(2) .profile__itemFig {
  margin: 0 1.5625vw 0 auto;
  width: 33.25vw;
}
.profile__item:nth-child(2):before {
  background-image: url("./../images/profile/item-bg-2.png");
}
.profile__item:nth-child(3) .profile__itemFig {
  width: 22vw;
}
.profile__item:nth-child(3):before {
  background-image: url("./../images/profile/item-bg-3.png");
}
.profile__item:nth-child(4) .profile__itemFig {
  margin-left: 8.125vw;
  width: 24.0625vw;
}
.profile__item:nth-child(4):before {
  background-image: url("./../images/profile/item-bg-4.png");
}

@media print, screen and (min-width: 769px) {
  .profile__introLeft {
    margin-top: 6.875vw;
  }
  .profile__item:not(:nth-child(2n)) {
    margin-right: 3.75vw;
  }
  .profile__item:nth-child(n+3) {
    margin-top: 3.625vw;
  }
}
@media print, screen and (max-width: 768px) {
  .profile {
    padding-top: 63.4666666667vw;
    height: 512.5333333333vw;
  }
  .profile__intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .profile__introLeft, .profile__introRight {
    width: 100%;
    text-align: center;
  }
  .profile__introFig {
    margin: 2.1333333333vw auto 0;
    width: 53.3333333333vw;
  }
  .profile__introFig img {
    margin-left: 4.8vw;
  }
  .profile__introHeading .ja {
    font-size: 10.6666666667vw;
    letter-spacing: 0.2em;
  }
  .profile__introHeading .en {
    font-size: 4.8vw;
    letter-spacing: 0.2em;
  }
  .profile__introHeading .en img {
    margin: 1.0666666667vw auto 0;
    height: 5.3333333333vw;
  }
  .profile__introText {
    margin: 2.6666666667vw 0;
    font-size: 3.7333333333vw;
    line-height: 2.2857142857;
    letter-spacing: 0.2em;
  }
  .profile__items {
    margin: 17.3333333333vw auto 0;
    -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: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .profile__itemText {
    margin: 2.6666666667vw auto 0;
    font-size: 3.4666666667vw;
    line-height: 1.6923076923;
    letter-spacing: 0.15em;
  }
  .profile__itemFig {
    margin: 0 auto;
    width: 68.2666666667vw;
    bottom: 27.2vw;
  }
  .profile__item {
    padding-bottom: 6.9333333333vw;
    width: 92vw;
    height: 65.8666666667vw;
  }
  .profile__item:before {
    background-image: url("./../images/profile/item-bg-sp-1.png");
  }
  .profile__item:not(:first-of-type) {
    margin-top: 8vw;
  }
  .profile__item:nth-child(2) {
    margin-top: 6.6666666667vw;
  }
  .profile__item:nth-child(2) .profile__itemFig {
    margin: 0 5.3333333333vw 0 auto;
    width: 81.3333333333vw;
  }
  .profile__item:nth-child(2):before {
    background-image: url("./../images/profile/item-bg-sp-2.png");
  }
  .profile__item:nth-child(3) .profile__itemText {
    margin: 2.1333333333vw 4.8vw 0 auto;
  }
  .profile__item:nth-child(3) .profile__itemFig {
    width: 53.3333333333vw;
  }
  .profile__item:nth-child(3):before {
    background-image: url("./../images/profile/item-bg-sp-3.png");
  }
  .profile__item:nth-child(4) .profile__itemFig {
    width: 58.1333333333vw;
    margin-left: 25.6vw;
  }
  .profile__item:nth-child(4):before {
    background-image: url("./../images/profile/item-bg-sp-4.png");
  }
}
/*# sourceMappingURL=main.css.map */