@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap");
#site-header:after, .h__navList:after {
  content: "";
  display: table;
  clear: both; }

img {
  max-width: 100%;
  height: auto; }
  .lt-ie9 img {
    width: auto; }

.u-en, .c-title01 .en, .p-homeHero__title, .p-homeHero__date, .p-homeCountdown__timer, .p-homeCta__title .en {
  font-family: 'Oswald', sans-serif;
  font-weight: 500;
  word-wrap: break-word; }

.u-jp {
  font-family: 'NotoSansCJKjp-Bold',"YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }

.u-pcNone {
  display: none; }

.u-redTxt {
  color: #A90166; }

@media only screen and (max-width: 640px) {
  .u-spNone {
    display: none; }
  .u-pcNone {
    display: block; } }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*animations*/
/******************
* Bounce in right *
*******************/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slow {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slower {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slowest {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

/* Added by Andy Meetan */
.delay-250 {
  -webkit-animation-delay: 0.25s;
  -moz-animation-delay: 0.25s;
  -o-animation-delay: 0.25s;
  animation-delay: 0.25s; }

.delay-500 {
  -webkit-animation-delay: 0.5s;
  -moz-animation-delay: 0.5s;
  -o-animation-delay: 0.5s;
  animation-delay: 0.5s; }

.delay-750 {
  -webkit-animation-delay: 0.75s;
  -moz-animation-delay: 0.75s;
  -o-animation-delay: 0.75s;
  animation-delay: 0.75s; }

.delay-1000 {
  -webkit-animation-delay: 1.0s;
  -moz-animation-delay: 1.0s;
  -o-animation-delay: 1.0s;
  animation-delay: 1.0s; }

.delay-1250 {
  -webkit-animation-delay: 1.25s;
  -moz-animation-delay: 1.25s;
  -o-animation-delay: 1.25s;
  animation-delay: 1.25s; }

.delay-1500 {
  -webkit-animation-delay: 1.5s;
  -moz-animation-delay: 1.5s;
  -o-animation-delay: 1.5s;
  animation-delay: 1.5s; }

.delay-1750 {
  -webkit-animation-delay: 1.75s;
  -moz-animation-delay: 1.75s;
  -o-animation-delay: 1.75s;
  animation-delay: 1.75s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  -moz-animation-delay: 2.0s;
  -o-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  -moz-animation-delay: 2.5s;
  -o-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  -moz-animation-delay: 2.0s;
  -o-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  -moz-animation-delay: 2.5s;
  -o-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-3000 {
  -webkit-animation-delay: 3.0s;
  -moz-animation-delay: 3.0s;
  -o-animation-delay: 3.0s;
  animation-delay: 3.0s; }

.delay-3500 {
  -webkit-animation-delay: 3.5s;
  -moz-animation-delay: 3.5s;
  -o-animation-delay: 3.5s;
  animation-delay: 3.5s; }

.bounceInRight, .bounceInLeft, .bounceInUp, .bounceInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight, .fadeInLeft, .fadeInUp, .fadeInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  transform: translateX(400px); }

.flipInX, .flipInY, .rotateIn, .rotateInUpLeft, .rotateInUpRight, .rotateInDownLeft, .rotateDownUpRight, .rollIn {
  opacity: 0; }

.lightSpeedInRight, .lightSpeedInLeft {
  opacity: 0;
  -webkit-transform: translateX(400px);
  transform: translateX(400px); }

/***********
* bounceIn *
************/
@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3); }
  50% {
    opacity: 1;
    transform: scale(1.05); }
  70% {
    transform: scale(0.9); }
  100% {
    transform: scale(1); } }

.bounceIn.go {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

/****************
* bounceInRight *
****************/
@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(400px); }
  60% {
    transform: translateX(-30px); }
  80% {
    transform: translateX(10px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.bounceInRight.go {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

/******************
* Bounce in left *
*******************/
@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-400px); }
  60% {
    transform: translateX(30px); }
  80% {
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.bounceInLeft.go {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

/******************
* Bounce in up *
*******************/
@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translateY(400px); }
  60% {
    transform: translateY(-30px); }
  80% {
    transform: translateY(10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.bounceInUp.go {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/******************
* Bounce in down *
*******************/
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-400px); }
  60% {
    transform: translateY(30px); }
  80% {
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.bounceInDown.go {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

/**********
* Fade In *
**********/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

.fadeIn {
  opacity: 0; }

.fadeIn.go {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

/**********
* Grow in *
***********/
@-webkit-keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }

@keyframes growIn {
  0% {
    transform: scale(0.2);
    opacity: 0; }
  50% {
    transform: scale(1.2); }
  100% {
    transform: scale(1);
    opacity: 1; } }

.growIn {
  -webkit-transform: scale(0.2);
  transform: scale(0.2);
  opacity: 0; }

.growIn.go {
  -webkit-animation-name: growIn;
  animation-name: growIn; }

/********
* Shake *
********/
@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px); } }

@keyframes shake {
  0%, 100% {
    transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    transform: translateX(10px); } }

.shake.go {
  -webkit-animation-name: shake;
  animation-name: shake; }

/********
* ShakeUp *
********/
@-webkit-keyframes shakeUp {
  0%, 100% {
    -webkit-transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateY(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateY(10px); } }

@keyframes shakeUp {
  0%, 100% {
    transform: translateY(0); }
  10%, 30%, 50%, 70%, 90% {
    transform: translateY(-10px); }
  20%, 40%, 60%, 80% {
    transform: translateY(10px); } }

.shakeUp.go {
  -webkit-animation-name: shakeUp;
  animation-name: shakeUp; }

/*************
* FadeInLeft *
*************/
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.fadeInLeft {
  opacity: 0;
  -webkit-transform: translateX(-400px);
  transform: translateX(-400px); }

.fadeInLeft.go {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

/*************
* FadeInRight *
*************/
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.fadeInRight {
  opacity: 0;
  -webkit-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight.go {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

/*************
* FadeInUp *
*************/
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(400px);
  transform: translateY(400px); }

.fadeInUp.go {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

/*************
* FadeInDown *
*************/
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.fadeInDown {
  opacity: 0;
  -webkit-transform: translateY(-400px);
  transform: translateY(-400px); }

.fadeInDown.go {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

/*****************
* rotateIn *
*****************/
@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    transform-origin: center center;
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1; } }

.rotateIn.go {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

/*****************
* rotateInUpLeft *
*****************/
@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpLeft.go {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

/*******************
* rotateInDownLeft *
*******************/
@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownLeft.go {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

/******************
* rotateInUpRight *
*******************/
@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpRight.go {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

/********************
* rotateInDownRight *
********************/
@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownRight.go {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

/*********
* rollIn *
**********/
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg); } }

.rollIn.go {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/*********
* wiggle *
**********/
@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    transform: skewX(9deg); }
  10% {
    transform: skewX(-8deg); }
  20% {
    transform: skewX(7deg); }
  30% {
    transform: skewX(-6deg); }
  40% {
    transform: skewX(5deg); }
  50% {
    transform: skewX(-4deg); }
  60% {
    transform: skewX(3deg); }
  70% {
    transform: skewX(-2deg); }
  80% {
    transform: skewX(1deg); }
  90% {
    transform: skewX(0deg); }
  100% {
    transform: skewX(0deg); } }

.wiggle.go {
  -webkit-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/********
* swing *
*********/
@-webkit-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center; }
  20% {
    -webkit-transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg); } }

@keyframes swing {
  20% {
    transform: rotate(15deg); }
  40% {
    transform: rotate(-10deg); }
  60% {
    transform: rotate(5deg); }
  80% {
    transform: rotate(-5deg); }
  100% {
    transform: rotate(0deg); } }

.swing.go {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

/*******
* tada *
********/
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    transform: scale(1); }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg); }
  100% {
    transform: scale(1) rotate(0); } }

.tada.go {
  -webkit-animation-name: tada;
  animation-name: tada; }

/*********
* wobble *
**********/
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%); } }

@keyframes wobble {
  0% {
    transform: translateX(0%); }
  15% {
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    transform: translateX(20%) rotate(3deg); }
  45% {
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    transform: translateX(10%) rotate(2deg); }
  75% {
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    transform: translateX(0%); } }

.wobble.go {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

/********
* pulse *
*********/
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes pulse {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }

.pulse.go {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

/***************
* lightSpeedInRight *
****************/
@-webkit-keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInRight {
  0% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInRight.go {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/***************
* lightSpeedInLeft *
****************/
@-webkit-keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInLeft {
  0% {
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInLeft.go {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/*******
* Flip *
*******/
@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(0);
    animation-timing-function: ease-out; }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    animation-timing-function: ease-out; }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    animation-timing-function: ease-in; }
  80% {
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    animation-timing-function: ease-in; }
  100% {
    transform: perspective(400px) scale(1);
    animation-timing-function: ease-in; } }

.flip.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip; }

/**********
* flipInX *
**********/
@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    transform: perspective(400px) rotateX(10deg); }
  100% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.flipInX.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX; }

/**********
* flipInY *
**********/
@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    transform: perspective(400px) rotateY(10deg); }
  100% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

.flipInY.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY; }

/*****************
* Out animations *
*****************/
/************
* bounceOut *
*************/
@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3); } }

@keyframes bounceOut {
  0% {
    transform: scale(1); }
  25% {
    transform: scale(0.95); }
  50% {
    opacity: 1;
    transform: scale(1.1); }
  100% {
    opacity: 0;
    transform: scale(0.3); } }

.bounceOut.goAway {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

/************
* bounceOutUp *
*************/
@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    transform: translateY(0); }
  20% {
    opacity: 1;
    transform: translateY(20px); }
  100% {
    opacity: 0;
    transform: translateY(-2000px); } }

.bounceOutUp.goAway {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/************
* bounceOutDown *
*************/
@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    transform: translateY(0); }
  20% {
    opacity: 1;
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    transform: translateY(2000px); } }

.bounceOutDown.goAway {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

/************
* bounceOutLeft *
*************/
@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    transform: translateX(0); }
  20% {
    opacity: 1;
    transform: translateX(20px); }
  100% {
    opacity: 0;
    transform: translateX(-2000px); } }

.bounceOutLeft.goAway {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

/************
* bounceOutRight *
*************/
@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    transform: translateX(0); }
  20% {
    opacity: 1;
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    transform: translateX(2000px); } }

.bounceOutRight.goAway {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

/************
* fadeOut *
*************/
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut.goAway {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

/************
* fadeOutUp *
*************/
@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0;
    transform: translateY(-2000px); } }

.fadeOutUp.goAway {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

/************
* fadeOutDown *
*************/
@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0;
    transform: translateY(2000px); } }

.fadeOutDown.goAway {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

/************
* fadeOutLeft *
*************/
@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 0;
    transform: translateX(-2000px); } }

.fadeOutLeft.goAway {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

/************
* fadeOutRight *
*************/
@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 0;
    transform: translateX(2000px); } }

.fadeOutRight.goAway {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

/************
* flipOutX *
*************/
@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX.goAway {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important; }

/************
* flipOutY *
*************/
@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY; }

/************
* lightSpeedOutRight *
*************/
@-webkit-keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  0% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

.lightSpeedOutRight.goAway {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* lightSpeedOutLeft *
*************/
@-webkit-keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  0% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

.lightSpeedOutLeft.goAway {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* rotateOut *
*************/
@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1; }
  100% {
    transform-origin: center center;
    transform: rotate(200deg);
    opacity: 0; } }

.rotateOut.goAway {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

/************
* rotateOutUpLeft *
*************/
@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1; }
  100% {
    -transform-origin: left bottom;
    -transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutUpLeft.goAway {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

/************
* rotateOutDownLeft *
*************/
@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1; }
  100% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutDownLeft.goAway {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

/************
* rotateOutUpRight *
*************/
@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1; }
  100% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutUpRight.goAway {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

/************
* rollOut *
*************/
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg); } }

@keyframes rollOut {
  0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg); } }

.rollOut.goAway {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/*****************
* Short Animations
*******************/
/*********************
* fadeInUpShort
*********************/
@-webkit-keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUpShort {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.fadeInUpShort {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px); }

.fadeInUpShort.go {
  -webkit-animation-name: fadeInUpShort;
  animation-name: fadeInUpShort; }

/*********************
* fadeInDownShort
*********************/
@-webkit-keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDownShort {
  0% {
    opacity: 0;
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.fadeInDownShort {
  opacity: 0;
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px); }

.fadeInDownShort.go {
  -webkit-animation-name: fadeInDownShort;
  animation-name: fadeInDownShort; }

/*********************
* fadeInRightShort
*********************/
@-webkit-keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRightShort {
  0% {
    opacity: 0;
    transform: translateX(20px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.fadeInRightShort {
  opacity: 0;
  -webkit-transform: translateX(20px);
  transform: translateX(20px); }

.fadeInRightShort.go {
  -webkit-animation-name: fadeInRightShort;
  animation-name: fadeInRightShort; }

/*********************
* fadeInLeftShort
*********************/
@-webkit-keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

.fadeInLeftShort {
  opacity: 0;
  -webkit-transform: translateX(-20px);
  transform: translateX(-20px); }

.fadeInLeftShort.go {
  -webkit-animation-name: fadeInLeftShort;
  animation-name: fadeInLeftShort; }

/* MAILFORMPRO
---------------------------------------------- */
/*
  ./_mailformpro.css/default/01.mailformpro.css
  ./_mailformpro.css/default/02.base.css
  ./_mailformpro.css/default/03.label.css
  ./_mailformpro.css/default/04.confirm.css
  ./_mailformpro.css/default/05.confirm.flat.css
  ./_mailformpro.css/default/06.confirm.overlay.css
  ./_mailformpro.css/default/07.loading.css
  ./_mailformpro.css/default/08.stripe.css
  ./_mailformpro.css/default/09.error.css
  ./_mailformpro.css/default/10.warning.css
  ./_mailformpro.css/default/11.price.css
  ./_mailformpro.css/default/12.phase.css
  ./_mailformpro.css/default/13.cart.css
  ./_mailformpro.css/default/14.button.css
  ./_mailformpro.css/default/15.element.css
  ./_mailformpro.css/default/16.reserve.css
  ./_mailformpro.css/default/17.ok.css
  ./_mailformpro.css/default/18.prefadv.css
  ./_mailformpro.css/default/99.animated.css
  ./_mailformpro.css/max-width.800px/mobile.css
*/
body {
  overflow-x: hidden; }

div#mfp_hidden {
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: 0px; }

div#mfp_hidden input {
  margin: 10px; }

div.mfp_thanks {
  padding: 30px; }

div.mfp_thanks p {
  line-height: 1.7em; }

div.mfp_thanks ul.mfp_caution {
  margin: 0px;
  padding: 0px; }

div.mfp_thanks ul.mfp_caution li {
  display: block;
  color: #C00;
  margin: 0px;
  padding: 5px 0px; }

div#mfp_thanks {
  text-align: center;
  font-size: 18px;
  padding: 20px 0px; }

div#mfp_thanks strong {
  color: #C00;
  font-size: 24px; }

div#mfp_phase_confirm {
  clear: both; }

div#mfp_phase_confirm h4 {
  font-size: 36px;
  padding: 10px 0px 0px 0px;
  text-align: center; }

div#mfp_overlay {
  position: absolute;
  display: none;
  z-index: 10001; }

div#mfp_overlay_inner {
  background-color: #FFF;
  padding: 15px;
  margin: 0px auto;
  border-radius: 5px;
  box-shadow: 0px 0px 10px #000;
  width: 640px;
  max-width: 90%; }

div#mfp_overlay_background {
  background-color: #000;
  position: absolute;
  display: none;
  z-index: 10000; }

div#mfp_loading_screen {
  z-index: 20000;
  opacity: 0.8;
  display: none;
  background-color: #000;
  position: absolute; }

div#mfp_loading {
  z-index: 20001;
  position: absolute;
  display: none;
  width: 40px;
  height: 40px;
  background-image: url(images/mfp_loading.gif); }

.mfp_colored {
  background-color: #F6F7F9; }

.mfp_achroma {
  background-color: #FFF; }

div.mfp_err {
  clear: both;
  display: none;
  text-align: left;
  margin: 5px 0px 0px 0px;
  padding: 3px 0px 5px 17px;
  color: #F00;
  font-size: 12px;
  line-height: normal;
  background-image: url(images/mfp_error.gif);
  background-repeat: no-repeat;
  background-position: 0px 1px; }

.mfp_parent_error {
  border: solid 2px #F00; }

.problem {
  background-color: #FCC; }

div#mfp_error {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none; }

div#mfp_error p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  text-align: center; }

div#mfp_error p strong {
  font-size: 18px;
  color: #F00; }

div#mfp_warning {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none; }

div#mfp_warning p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  text-align: center; }

div#mfp_warning p strong {
  font-size: 18px;
  color: #F00; }

div#mfp_price {
  color: #C00;
  font-size: 36px;
  padding: 10px;
  font-weight: bolder; }

div#mfp_price span {
  color: #666;
  font-size: 12px;
  font-weight: normal; }

button.mfp_next, button.mfp_prev {
  font-size: 18px;
  margin: 10px;
  padding: 5px 10px; }

button.mfp_next {
  float: right; }

button.mfp_prev {
  float: left; }

ul#mfp_phase_stat {
  padding: 10px; }

ul#mfp_phase_stat li {
  float: left;
  padding: 8px 15px;
  border-radius: 3px;
  margin: 5px;
  list-style: none;
  font-size: 14px; }

ul#mfp_phase_stat li.mfp_phase_arrow {
  box-shadow: none;
  padding: 8px 5px; }

ul#mfp_phase_stat li.mfp_active_phase {
  background-color: #E8EEF9;
  box-shadow: 0px 0px 5px #000; }

ul#mfp_phase_stat li.mfp_inactive_phase {
  background-color: #CCC;
  color: #666;
  box-shadow: 0px 0px 5px #CCC; }

div#mfp_shopping_cart {
  border: solid 1px #CCC;
  margin: 0px;
  padding: 0px; }

div#mfp_shopping_cart p {
  margin: 0px;
  text-align: center;
  padding: 20px 10px;
  font-size: 12px;
  background-color: #FEE; }

table.mfp_shoppingcart {
  border-spacing: 0px;
  border-collapse: collapse;
  width: 100%; }

table.mfp_shoppingcart tbody tr th, table.mfp_shoppingcart tbody tr td {
  font-size: 12px;
  padding: 5px;
  border-bottom: solid 1px #CCC; }

table.mfp_shoppingcart tbody tr td select {
  display: block;
  margin: 0px auto;
  text-align: center; }

table.mfp_shoppingcart tbody tr td select option {
  text-align: center; }

table.mfp_shoppingcart tbody tr th span {
  display: block;
  font-weight: normal;
  font-size: 10px;
  color: #666;
  padding: 3px 0px; }

table.mfp_shoppingcart tfoot tr td {
  padding: 5px;
  font-size: 16px;
  font-weight: bolder;
  color: #900; }

td.msc_price {
  font-size: 12px;
  text-align: right; }

div.mfp_buttons {
  clear: both;
  padding: 10px 0px;
  text-align: center; }

.imagebutton {
  margin: 0px;
  padding: 0px;
  border: none;
  outline: none;
  background: none; }

.mfp_element_checkbox,
.mfp_element_radio {
  vertical-align: middle;
  margin: 0px 2px; }

table#mfp_confirm_table {
  border-spacing: 0px;
  border-collapse: collapse;
  width: 100%; }

table#mfp_confirm_table tr.mfp_colored {
  background-color: #F6F7F9; }

table#mfp_confirm_table tr.mfp_achroma {
  background-color: #FFF; }

table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
  text-align: left;
  font-size: 12px;
  border-top: solid 1px #CCC;
  padding: 5px 10px; }

table#mfp_confirm_table tr th {
  white-space: nowrap;
  width: 200px; }

table#mfp_confirm_table tr td {
  line-height: 1.5em;
  word-break: break-all; }

.mfp_element_button {
  -webkit-appearance: none;
  box-shadow: none;
  display: inline-block;
  padding: 5px 10px;
  border: none;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  color: #fff; }

#mfp_button_send {
  background-color: red; }

input#mfp_reserve_item, input#mfp_reserve_date {
  display: none; }

div#mfp_reserve_wrapper {
  position: relative;
  overflow: hidden;
  border: solid 1px #CCC; }

div#mfp_reserve_inner {
  position: relative;
  padding: 0px 0px 0px 100px;
  overflow: auto; }

div#mfp_reserve_wrapper table {
  border-spacing: 0px;
  border-collapse: collapse; }

div#mfp_reserve_wrapper table.mfp_reserve_table_label {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100px;
  background-color: #FEE;
  z-index: 100; }

div#mfp_reserve_wrapper table.mfp_reserve_table_value {
  padding: 0px 0px 0px 0px; }

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active,
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning {
  cursor: pointer; }

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active:hover,
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning:hover {
  background-color: #E8EEF9; }

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_current {
  background-color: #0068B7;
  color: #FFF; }

td.mfp_reserve_disabled {
  background-color: #CCC; }

td.mfp_reserve_warning {
  background-color: #FFC; }

div#mfp_reserve_wrapper table tr td, div#mfp_reserve_wrapper table tr th {
  border: solid 1px #CCC;
  padding: 0px 5px;
  font-size: 12px;
  text-align: center;
  font-family: Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
  font-weight: normal;
  height: 20px;
  text-align: left; }

td.mfp_reserve_week_0 {
  color: #F00;
  background-color: #FEE; }

td.mfp_reserve_week_6 {
  color: #00F;
  background-color: #EEF; }

div.mfp_ok {
  border-radius: 5px;
  background-color: red;
  border: solid 1px red;
  display: inline-block;
  line-height: 1.5em;
  padding: 0px 5px;
  margin: 0px 2px;
  color: #FFF;
  font-size: 10px;
  background-image: url(images/header.png);
  background-size: 100% 100%;
  display: none; }

div.prefcodeWrapper {
  position: relative; }

div.prefcodeResult {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 5px;
  border: solid 1px #CCC;
  background-color: #FFF;
  box-shadow: 0px 0px 5px #CCC;
  display: none; }

div.prefcodeResult div {
  cursor: pointer; }

div.prefcodeResult div:hover {
  background-color: #C9EBFB; }

div.prefcodeResult div.prefcodeNext {
  background-color: #EEE;
  text-align: center; }

div.prefLoading {
  padding: 60px 100px;
  background: url(images/mfp_zip_loading.gif) no-repeat center center; }

.hidefield {
  height: 0px;
  overflow: hidden; }

.showfield {
  height: auto;
  overflow: visible; }

/**
 *
 * Base css
 *
 * Extract normalize.css 2011-06-21T18:23 UTC
 *  http://github.com/necolas/normalize.css
 *
 * Modify reset.css ver 1.4 with jQuery [2009/04/24]
 *  This document validates as CSS level 2.1
 *  GNU General Public License v3
 *  http://higash.net/labo/
 * Modify basic.css ver 1.2 with jQuery [2009/04/24]
 *  This document validates as CSS level 2.1
 *  GNU General Public License v3
 *  http://higash.net/labo/
 *
 * Modify YUI Reset CSS, YUI Fonts CSS
 *  Copyright (c) 2008, Yahoo! Inc. All rights reserved.
 *  http://developer.yahoo.com/yui/license.html
 *
 */
/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/*
 * Corrects block display not defined in IE6/7/8/9 & FF3
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
main {
  display: block; }

/*
 * Corrects inline-block display not defined in IE6/7/8/9 & FF3
 */
audio[controls],
canvas,
video {
  display: inline-block;
  *display: inline;
  zoom: 1; }

/*
 * Addresses margin not present in IE6/7/8/9, S5, O11
 */
figure {
  margin: 0; }

/* =============================================================================
   Base
   ========================================================================== */
/*
 * html InitialStyle
 */
html {
  background: #fff;
  color: #333;
  font-size: 62.5%; }

/*
 * body InitialStyle
 */
body {
  font-family: "YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 150%;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  height: 100%;
  line-height: 1.8; }

body {
  font-size: 1.6rem; }
  @media only screen and (max-width: 1080px) {
    body {
      font-size: 14px;
      font-size: 1.4rem; } }

/*
 * All InitialStyle
 */
body, div, pre, p, blockquote,
form, fieldset, input, textarea, select, option,
dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
embed, object, main {
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, form, input, textarea, button, table, tr, th, td, article, aside, footer, header, hgroup, nav, section, main {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* =============================================================================
   Links
   ========================================================================== */
a {
  border: 0;
  color: #333;
  cursor: pointer;
  outline: none;
  overflow: hidden;
  text-decoration: none; }

/*
 * Addresses outline displayed oddly in Chrome
 */
/*
 * Improves readability when focused and also mouse hovered in all browsers
 * people.opera.com/patrickl/experiments/keyboard/test
 */
a:hover,
a:active,
a:focus {
  outline: 0; }

a {
  overflow: hidden; }

/* =============================================================================
   Typography
   ========================================================================== */
/*
 * Addresses styling not present in IE7/8/9, S5, Chrome
 */
abbr[title] {
  border-bottom: 1px dotted; }

/*
 * Addresses styling not present in S5, Chrome
 */
dfn {
  font-style: italic; }

/*
 * Addresses styling not present in IE6/7/8/9
 */
mark {
  background: #ff0;
  color: #000; }

/*
 * Improves readability of pre-formatted text in all browsers
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

/*
 * Prevents sub and sup affecting line-height in all browsers
 * gist.github.com/413930
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

q {
  quotes: none; }

q:before, q:after {
  content: '';
  content: none; }

/* =============================================================================
   Forms
   ========================================================================== */
button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  *vertical-align: middle; }

/*
 * 1. Corrects color not being inherited in IE6/7/8/9
 * 2. Corrects text not wrapping in FF3
 * 3. Corrects alignment displayed oddly in IE6/7
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: -7px;
  /* 3 */ }

/*
 * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
 */
button,
input {
  line-height: normal;
  /* 1 */ }

input {
  padding: 0.1em;
  vertical-align: middle; }

/*
 * 1. Improves usability and consistency of cursor style between image-type 'input' and others
 * 2. Corrects inability to style clickable 'input' types in iOS
 * 3. Removes inner spacing in IE7 without affecting normal text inputs
 *    Known issue: inner spacing remains in IE6
 */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  /* 1 */
  -webkit-appearance: button;
  /* 2 */
  *overflow: visible;
  /* 3 */ }

/*
 * Re-set default cursor for disabled elements
 */
button[disabled],
input[disabled] {
  cursor: default; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
  vertical-align: baseline; }

/*
 * 1. Addresses appearance set to searchfield in S5, Chrome
 * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/*
 * Removes inner padding and search cancel button in S5, Chrome on OS X
 */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none; }

/*
 * Removes inner padding and border in FF3+
 * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

legend {
  background: #FFF;
  color: #333;
  padding: 0.3em; }

select {
  padding: 0;
  vertical-align: baseline; }

/* for IE6 */
* html select {
  vertical-align: middle; }

/* for IE7 */
*:first-child + html select {
  vertical-align: -0.2em; }

textarea {
  line-height: 1.4;
  padding: 0.1em;
  vertical-align: middle; }

/*
 * 1. Removes default vertical scrollbar in IE6/7/8/9
 * 2. Improves readability and alignment in all browsers
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* =============================================================================
   Tables
   ========================================================================== */
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%; }

/* =============================================================================
   Image
   ========================================================================== */
img {
  border: 0; }

img {
  vertical-align: bottom;
  line-height: 0px; }

/*
 * Improves image quality when scaled in IE7
 * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
  -ms-interpolation-mode: bicubic; }

/* =============================================================================
   Others
   ========================================================================== */
ing, abbr, acronym, fieldset {
  border: 0; }

/*
 * Define consistent border, margin, and padding
 */
fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/*
 * Corrects overflow displayed oddly in IE9
 */
svg:not(:root) {
  overflow: hidden; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

caption, th {
  text-align: left; }

code, kbd, pre, samp, tt {
  font-family: monospace;
  _font-family: 'courier new', monospace;
  line-height: 100%; }

/* for IE7 */
*:first-child + html code, *:first-child + html kbd, *:first-child + html pre, *:first-child + html samp, *:first-child + html tt {
  font-size: 108%; }

/* =============================================================================
   Common Style
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

hr, legend {
  display: none; }

object, embed {
  vertical-align: top; }

ol, ul {
  list-style-type: none; }

abbr, acronym {
  cursor: help; }

caption {
  text-align: center; }

b, em, strong {
  font-weight: bold; }

p {
  word-wrap: break-word;
  margin-bottom: 15px; }

.text-center {
  text-align: center; }

.fl-l {
  float: left; }

.fl-r {
  float: right; }

.c-crumb {
  font-size: 1.1rem;
  color: #fff; }
  .c-crumb a, .c-crumb span {
    color: #fff; }

h2 img,
h3 img {
  vertical-align: middle; }

.m0 {
  margin: 0px; }

.mt0 {
  margin-top: 0px; }

.mb0 {
  margin-bottom: 0px; }

.ml0 {
  margin-left: 0px; }

.mr0 {
  margin-right: 0px; }

.p0 {
  padding: 0px; }

.pt0 {
  padding-top: 0px; }

.pb0 {
  padding-bottom: 0px; }

.pl0 {
  padding-left: 0px; }

.pr0 {
  padding-right: 0px; }

.m5 {
  margin: 5px; }

.mt5 {
  margin-top: 5px; }

.mb5 {
  margin-bottom: 5px; }

.ml5 {
  margin-left: 5px; }

.mr5 {
  margin-right: 5px; }

.p5 {
  padding: 5px; }

.pt5 {
  padding-top: 5px; }

.pb5 {
  padding-bottom: 5px; }

.pl5 {
  padding-left: 5px; }

.pr5 {
  padding-right: 5px; }

.m10 {
  margin: 10px; }

.mt10 {
  margin-top: 10px; }

.mb10 {
  margin-bottom: 10px; }

.ml10 {
  margin-left: 10px; }

.mr10 {
  margin-right: 10px; }

.p10 {
  padding: 10px; }

.pt10 {
  padding-top: 10px; }

.pb10 {
  padding-bottom: 10px; }

.pl10 {
  padding-left: 10px; }

.pr10 {
  padding-right: 10px; }

.m15 {
  margin: 15px; }

.mt15 {
  margin-top: 15px; }

.mb15 {
  margin-bottom: 15px; }

.ml15 {
  margin-left: 15px; }

.mr15 {
  margin-right: 15px; }

.p15 {
  padding: 15px; }

.pt15 {
  padding-top: 15px; }

.pb15 {
  padding-bottom: 15px; }

.pl15 {
  padding-left: 15px; }

.pr15 {
  padding-right: 15px; }

.m20 {
  margin: 20px; }

.mt20 {
  margin-top: 20px; }

.mb20 {
  margin-bottom: 20px; }

.ml20 {
  margin-left: 20px; }

.mr20 {
  margin-right: 20px; }

.p20 {
  padding: 20px; }

.pt20 {
  padding-top: 20px; }

.pb20 {
  padding-bottom: 20px; }

.pl20 {
  padding-left: 20px; }

.pr20 {
  padding-right: 20px; }

.m25 {
  margin: 25px; }

.mt25 {
  margin-top: 25px; }

.mb25 {
  margin-bottom: 25px; }

.ml25 {
  margin-left: 25px; }

.mr25 {
  margin-right: 25px; }

.p25 {
  padding: 25px; }

.pt25 {
  padding-top: 25px; }

.pb25 {
  padding-bottom: 25px; }

.pl25 {
  padding-left: 25px; }

.pr25 {
  padding-right: 25px; }

.m30 {
  margin: 30px; }

.mt30 {
  margin-top: 30px; }

.mb30 {
  margin-bottom: 30px; }

.ml30 {
  margin-left: 30px; }

.mr30 {
  margin-right: 30px; }

.p30 {
  padding: 30px; }

.pt30 {
  padding-top: 30px; }

.pb30 {
  padding-bottom: 30px; }

.pl30 {
  padding-left: 30px; }

.pr30 {
  padding-right: 30px; }

.m35 {
  margin: 35px; }

.mt35 {
  margin-top: 35px; }

.mb35 {
  margin-bottom: 35px; }

.ml35 {
  margin-left: 35px; }

.mr35 {
  margin-right: 35px; }

.p35 {
  padding: 35px; }

.pt35 {
  padding-top: 35px; }

.pb35 {
  padding-bottom: 35px; }

.pl35 {
  padding-left: 35px; }

.pr35 {
  padding-right: 35px; }

.m40 {
  margin: 40px; }

.mt40 {
  margin-top: 40px; }

.mb40 {
  margin-bottom: 40px; }

.ml40 {
  margin-left: 40px; }

.mr40 {
  margin-right: 40px; }

.p40 {
  padding: 40px; }

.pt40 {
  padding-top: 40px; }

.pb40 {
  padding-bottom: 40px; }

.pl40 {
  padding-left: 40px; }

.pr40 {
  padding-right: 40px; }

.m45 {
  margin: 45px; }

.mt45 {
  margin-top: 45px; }

.mb45 {
  margin-bottom: 45px; }

.ml45 {
  margin-left: 45px; }

.mr45 {
  margin-right: 45px; }

.p45 {
  padding: 45px; }

.pt45 {
  padding-top: 45px; }

.pb45 {
  padding-bottom: 45px; }

.pl45 {
  padding-left: 45px; }

.pr45 {
  padding-right: 45px; }

.m50 {
  margin: 50px; }

.mt50 {
  margin-top: 50px; }

.mb50 {
  margin-bottom: 50px; }

.ml50 {
  margin-left: 50px; }

.mr50 {
  margin-right: 50px; }

.p50 {
  padding: 50px; }

.pt50 {
  padding-top: 50px; }

.pb50 {
  padding-bottom: 50px; }

.pl50 {
  padding-left: 50px; }

.pr50 {
  padding-right: 50px; }

.m55 {
  margin: 55px; }

.mt55 {
  margin-top: 55px; }

.mb55 {
  margin-bottom: 55px; }

.ml55 {
  margin-left: 55px; }

.mr55 {
  margin-right: 55px; }

.p55 {
  padding: 55px; }

.pt55 {
  padding-top: 55px; }

.pb55 {
  padding-bottom: 55px; }

.pl55 {
  padding-left: 55px; }

.pr55 {
  padding-right: 55px; }

.m60 {
  margin: 60px; }

.mt60 {
  margin-top: 60px; }

.mb60 {
  margin-bottom: 60px; }

.ml60 {
  margin-left: 60px; }

.mr60 {
  margin-right: 60px; }

.p60 {
  padding: 60px; }

.pt60 {
  padding-top: 60px; }

.pb60 {
  padding-bottom: 60px; }

.pl60 {
  padding-left: 60px; }

.pr60 {
  padding-right: 60px; }

.m65 {
  margin: 65px; }

.mt65 {
  margin-top: 65px; }

.mb65 {
  margin-bottom: 65px; }

.ml65 {
  margin-left: 65px; }

.mr65 {
  margin-right: 65px; }

.p65 {
  padding: 65px; }

.pt65 {
  padding-top: 65px; }

.pb65 {
  padding-bottom: 65px; }

.pl65 {
  padding-left: 65px; }

.pr65 {
  padding-right: 65px; }

.m70 {
  margin: 70px; }

.mt70 {
  margin-top: 70px; }

.mb70 {
  margin-bottom: 70px; }

.ml70 {
  margin-left: 70px; }

.mr70 {
  margin-right: 70px; }

.p70 {
  padding: 70px; }

.pt70 {
  padding-top: 70px; }

.pb70 {
  padding-bottom: 70px; }

.pl70 {
  padding-left: 70px; }

.pr70 {
  padding-right: 70px; }

.m75 {
  margin: 75px; }

.mt75 {
  margin-top: 75px; }

.mb75 {
  margin-bottom: 75px; }

.ml75 {
  margin-left: 75px; }

.mr75 {
  margin-right: 75px; }

.p75 {
  padding: 75px; }

.pt75 {
  padding-top: 75px; }

.pb75 {
  padding-bottom: 75px; }

.pl75 {
  padding-left: 75px; }

.pr75 {
  padding-right: 75px; }

.m80 {
  margin: 80px; }

.mt80 {
  margin-top: 80px; }

.mb80 {
  margin-bottom: 80px; }

.ml80 {
  margin-left: 80px; }

.mr80 {
  margin-right: 80px; }

.p80 {
  padding: 80px; }

.pt80 {
  padding-top: 80px; }

.pb80 {
  padding-bottom: 80px; }

.pl80 {
  padding-left: 80px; }

.pr80 {
  padding-right: 80px; }

.m85 {
  margin: 85px; }

.mt85 {
  margin-top: 85px; }

.mb85 {
  margin-bottom: 85px; }

.ml85 {
  margin-left: 85px; }

.mr85 {
  margin-right: 85px; }

.p85 {
  padding: 85px; }

.pt85 {
  padding-top: 85px; }

.pb85 {
  padding-bottom: 85px; }

.pl85 {
  padding-left: 85px; }

.pr85 {
  padding-right: 85px; }

.m90 {
  margin: 90px; }

.mt90 {
  margin-top: 90px; }

.mb90 {
  margin-bottom: 90px; }

.ml90 {
  margin-left: 90px; }

.mr90 {
  margin-right: 90px; }

.p90 {
  padding: 90px; }

.pt90 {
  padding-top: 90px; }

.pb90 {
  padding-bottom: 90px; }

.pl90 {
  padding-left: 90px; }

.pr90 {
  padding-right: 90px; }

.m95 {
  margin: 95px; }

.mt95 {
  margin-top: 95px; }

.mb95 {
  margin-bottom: 95px; }

.ml95 {
  margin-left: 95px; }

.mr95 {
  margin-right: 95px; }

.p95 {
  padding: 95px; }

.pt95 {
  padding-top: 95px; }

.pb95 {
  padding-bottom: 95px; }

.pl95 {
  padding-left: 95px; }

.pr95 {
  padding-right: 95px; }

.m100 {
  margin: 100px; }

.mt100 {
  margin-top: 100px; }

.mb100 {
  margin-bottom: 100px; }

.ml100 {
  margin-left: 100px; }

.mr100 {
  margin-right: 100px; }

.p100 {
  padding: 100px; }

.pt100 {
  padding-top: 100px; }

.pb100 {
  padding-bottom: 100px; }

.pl100 {
  padding-left: 100px; }

.pr100 {
  padding-right: 100px; }

a img {
  opacity: 1;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }
  a img:hover {
    opacity: .6; }

.c-anchor {
  margin-top: -65px;
  padding-top: 65px; }
  @media only screen and (max-width: 1080px) {
    .c-anchor {
      margin-top: -60px;
      padding-top: 60px; } }


.c-title01 {
  text-align: center;
  margin-bottom: 36px; }
  .c-title01.--white {
    color: #fff; }
  .c-title01 span {
    display: block; }
  .c-title01 .en {
    font-size: 64px;
    font-size: 6.4rem; }
    @media only screen and (max-width: 1080px) {
      .c-title01 .en {
        font-size: 48px;
        font-size: 4.8rem; } }
  .c-title01 .ja {
    font-weight: bold;
    font-size: 18px;
    font-size: 1.8rem; }

.h3 {
  margin-bottom: 24px;
  font-weight: bold;
  font-size: 24px;
  font-size: 2.4rem; }
  @media only screen and (max-width: 1080px) {
    .h3 {
      font-size: 21px;
      font-size: 2.1rem; } }
  .h3.--white {
    color: #fff; }

.h4 {
  margin-bottom: 21px;
  font-weight: bold;
  font-size: 21px;
  font-size: 2.1rem; }
  @media only screen and (max-width: 1080px) {
    .h4 {
      font-size: 18px;
      font-size: 1.8rem; } }

.c-pageHeader {
  margin-top: 65px;
  background-color: #5B626C;
  color: #fff;
  padding: 80px 0; }
  @media only screen and (max-width: 1080px) {
    .c-pageHeader {
      margin-top: 60px; } }

.c-pageTitle {
  color: #fff;
  margin-bottom: 0; }

.c-btn {
  padding: 2rem;
  font-weight: bold;
  background-color: #5B626C;
  color: #fff;
  display: inline-block;
  text-align: center;
  transition: all .3s;
  line-height: 1;
  border-radius: .5rem;
  letter-spacing: .1rem;
  font-size: 16px;
  font-size: 1.6rem; }
  @media only screen and (max-width: 1080px) {
    .c-btn {
      font-size: 16px;
      font-size: 1.6rem; } }
  .c-btn.--sm {
    padding: 10px 35px; }
  .c-btn.--xs {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 7px 15px; }
  .c-btn.--lg {
    padding: 20px 100px;
    font-size: 24px;
    font-size: 2.4rem; }
    @media only screen and (max-width: 1080px) {
      .c-btn.--lg {
        padding: 26px 20px;
        font-size: 21px;
        font-size: 2.1rem; } }
  .c-btn.--xl {
    padding: 26px 120px;
    border-radius: 1rem;
    font-size: 28px;
    font-size: 2.8rem; }
    @media only screen and (max-width: 1080px) {
      .c-btn.--xl {
        padding: 26px 20px;
        font-size: 22px;
        font-size: 2.2rem; } }
  .c-btn:hover {
    background-color: #E34242; }
  .c-btn.--disabled {
    background-color: #D3A4A4; }
    .c-btn.--disabled:hover {
      cursor: not-allowed; }
  .c-btn.--black {
    background-color: #333; }
    .c-btn.--black:hover {
      background-color: #1a1a1a; }
  .c-btn.--white {
    color: #1f2c44;
    background-color: #fff; }
    .c-btn.--white:hover {
      background-color: #e6e6e6; }
  .c-btn.--outline {
    background-color: rgba(71, 13, 143, 0);
    border: 1px solid #1f2c44;
    color: #1f2c44; }
    .c-btn.--outline:hover {
      background-color: rgba(71, 13, 143, 0.1); }
  .c-btn.--no-shadow {
    box-shadow: none; }
  .c-btn.--block {
    display: block; }
  @media only screen and (max-width: 1080px) {
    .c-btn.--sp-block {
      display: block; } }

/*  column
------------------------------------------*/
.row {
  position: relative;
  z-index: 1;
  margin: 0;
  margin-left: -1rem;
  margin-right: -1rem;
  display: flex;
  flex-wrap: wrap; }
  .row.align-item-stretch {
    align-items: stretch; }

.column, .column-nogutter {
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0 1rem;
  min-height: 2px; }

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

.column-nogutter {
  padding: 0; }

.flex-row-reverse {
  flex-direction: row-reverse; }

.justify-content-between {
  justify-content: space-between; }

.justify-content-around {
  justify-content: space-around; }

.large-2 {
  width: 16.666667%; }
  @media only screen and (max-width: 780px) {
    .large-2 {
      width: 100%; } }

.large-3 {
  width: 25%; }
  @media only screen and (max-width: 780px) {
    .large-3 {
      width: 100%; } }

.large-4 {
  width: 33.333333%; }
  @media only screen and (max-width: 780px) {
    .large-4 {
      width: 100%; } }

.large-5 {
  width: 41.6666667%; }
  @media only screen and (max-width: 780px) {
    .large-5 {
      width: 100%; } }

.large-6 {
  width: 50%; }
  @media only screen and (max-width: 780px) {
    .large-6 {
      width: 100%; } }

.large-7 {
  width: 58.333333%; }
  @media only screen and (max-width: 780px) {
    .large-7 {
      width: 100%; } }

.large-8 {
  width: 66.6666667%; }
  @media only screen and (max-width: 780px) {
    .large-8 {
      width: 100%; } }

.large-9 {
  width: 75%; }
  @media only screen and (max-width: 780px) {
    .large-9 {
      width: 100%; } }

.large-10 {
  width: 83.33333%; }
  @media only screen and (max-width: 780px) {
    .large-10 {
      width: 100%; } }

.large-12 {
  width: 100%; }

@media only screen and (max-width: 780px) {
  .small-3 {
    width: 25%; } }

@media only screen and (max-width: 780px) {
  .small-4 {
    width: 33.333333%; } }

@media only screen and (max-width: 780px) {
  .small-6 {
    width: 50%; } }

@media only screen and (max-width: 780px) {
  .small-10 {
    width: 83.33333%; } }

@media only screen and (max-width: 780px) {
  .small-12 {
    width: 100%; } }

.offset-lg-1 {
  margin-left: 8.333333%; }
  @media only screen and (max-width: 780px) {
    .offset-lg-1 {
      margin: 0; } }

* {
  word-wrap: break-word;
  white-space: normal; }

section {
  position: relative;
  z-index: 1;
  background-color: #fff; }

.c-section {
  width: 1100px;
  margin: 0 auto; }
  @media only screen and (max-width: 1080px) {
    .c-section {
      width: 90%; } }
  .c-section.narrow {
    width: 800px; }
    @media only screen and (max-width: 1080px) {
      .c-section.narrow {
        width: 90%; } }
  @media only screen and (max-width: 1080px) {
    .c-section.spFluid {
      width: 100%; } }

.c-sectionInner {
  width: 1160px;
  margin: 0 auto; }

.c-sectionUnit {
  margin-bottom: 80px; }

#wrapper {
  margin: 0 auto;
  background-color: #fff;
  position: relative; }

#site-header {
  position: fixed;
  height: 65px;
  background-color: transparent;
  background-color: #5B626C;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  transition: all .4s ease;
  z-index: 10; }
  #site-header .c-target {
    transition: opacity 0.3s ease; }
    #site-header .c-target:hover {
      opacity: 0.5;
      filter: alpha(opacity=50);
      -ms-filter: "alpha( opacity=50 )"; }
      @media only screen and (max-width: 930px) {
        #site-header .c-target:hover {
          opacity: 1;
          filter: alpha(opacity=100);
          -ms-filter: "alpha( opacity=100 )"; } }
  @media only screen and (max-width: 1080px) {
    #site-header {
      height: 60px;
      filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25)); }
      #site-header[data-nav="close"] {
        overflow: hidden; } }

.h__rogo {
  float: left;
  padding-left: 20px;
  height: 65px;
  display: table;
  width: 300px; }
  .h__rogo .inner {
    display: table-cell;
    vertical-align: middle; }
  @media only screen and (max-width: 880px) {
    .h__rogo {
      width: 200px;
      height: 65px;
      float: none; } }

@media only screen and (max-width: 880px) {
  .h__overlay {
    position: absolute;
    top: 60px;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .h__overlay[data-status="out"] {
      opacity: 0;
      filter: alpha(opacity=0);
      -ms-filter: "alpha( opacity=0 )"; }
    .h__overlay[data-status="in"] {
      z-index: 9999;
      background-color: #000000EA;
      opacity: 1;
      filter: alpha(opacity=100);
      -ms-filter: "alpha( opacity=100 )"; } }

.h__inner {
  position: relative; }

.h__nav {
  float: right; }
  @media only screen and (max-width: 1080px) {
    .h__nav {
      float: none; } }

.h__navList {
  padding-right: 20px; }
  @media only screen and (max-width: 1080px) {
    .h__navList {
      padding: 20px; } }

.h__navListItem {
  float: left;
  display: table;
  height: 65px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center; }
  @media only screen and (max-width: 1080px) {
    .h__navListItem {
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      color: #333;
      width: 100%;
      height: auto; } }

.h__navTarget {
  vertical-align: middle;
  padding: 0 12px;
  font-size: 1.4rem;
  color: #fff;
  font-weight: bold;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  font-size: 14px;
  font-size: 1.4rem; }
  @media only screen and (max-width: 1080px) {
    .h__navTarget {
      width: 100%;
      text-align: center;
      height: 60px;
      padding: 0 10px;
      margin-bottom: 5px;
      justify-content: center;
      font-size: 18px;
      font-size: 1.8rem; } }
  .h__navTarget i {
    margin-left: 8px; }
  .h__navTarget.--entry {
    color: #fff; }
    .h__navTarget.--entry .emoji {
      margin-right: 10px; }

.h__entry--sp {
  display: none; }
  @media only screen and (max-width: 1080px) {
    .h__entry--sp {
      position: absolute;
      top: 0;
      right: 80px;
      height: 60px;
      display: -webkit-flex;
      display: -ms-flex;
      display: flex;
      align-items: center; }
      .h__entry--sp a {
        font-size: 12px !important; } }

#site-spMenu {
  display: none; }
  @media only screen and (max-width: 1080px) {
    #site-spMenu {
      display: block;
      position: absolute;
      width: 60px;
      height: 60px;
      top: 50%;
      right: 2%;
      margin-top: -30px;
      transition-duration: 0.4s;
      cursor: pointer;
      z-index: 9999; }
      #site-spMenu .icon {
        transition-duration: 0.125s;
        position: absolute;
        width: 28px;
        height: 2px;
        top: 28px;
        left: 15px;
        background-color: #FFF; }
        #site-spMenu .icon:before, #site-spMenu .icon:after {
          transition-duration: 0.125s;
          position: absolute;
          width: 28px;
          height: 2px;
          background-color: #FFF;
          content: ""; }
        #site-spMenu .icon:before {
          top: -9px;
          left: 0; }
        #site-spMenu .icon:after {
          width: 20px;
          top: 9px;
          left: 0; }
      #site-spMenu.open {
        transition-duration: .8s;
        transform: rotate(180deg); }
        #site-spMenu.open .icon {
          transition-duration: 0.6s;
          background-color: transparent; }
          #site-spMenu.open .icon:before {
            transition-duration: 0.6s;
            top: 0;
            transform: rotate(45deg); }
          #site-spMenu.open .icon:after {
            width: 28px;
            transition-duration: 0.6s;
            top: 0;
            transform: rotate(-45deg); } }

#site-main {
  transition: opacity 0.9s cubic-bezier(0.645, 0.045, 0.355, 1); }
  #site-main[data-status="out"] {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha( opacity=0 )"; }
  #site-main[data-status="in"] {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )"; }

.page-footer {
  color: #fff;
  position: relative; }
  .page-footer .f__menu {
    padding: 25px 0;
    background-color: #5D626B; }
    @media only screen and (max-width: 1080px) {
      .page-footer .f__menu .column, .page-footer .f__menu .column-nogutter {
        margin-bottom: 24px; } }
  .page-footer .f__navListItem {
    font-size: 12px;
    font-size: 1.2rem; }
    .page-footer .f__navListItem a {
      display: inline-block;
      padding: 3px 0;
      color: #fff; }
  .page-footer .f__snsList {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex; }
  .page-footer .f__copy {
    padding: 20px 0;
    background-color: #5B626C;
    color: #fff;
    text-align: center; }
    .page-footer .f__copy .copyright {
      letter-spacing: .1rem;
      margin: 0;
      font-size: 12px;
      font-size: 1.2rem; }
      @media only screen and (max-width: 1080px) {
        .page-footer .f__copy .copyright {
          font-size: 10px;
          font-size: 1rem; } }

.p-homeHero {
  background-image: url(../img/hero2.jpg);
  background: linear-gradient(rgba(31, 44, 108, 0.65), rgba(31, 44, 108, 0.65)), rgba(0, 0, 0, 0.55) url("../img/hero2.jpg") no-repeat;
  background-attachment: fixed;
  background-size: cover;
  margin-top: 65px; }
  @media only screen and (max-width: 1080px) {
    .p-homeHero {
      margin-top: 60px; } }
  .p-homeHero .inner {
    padding: 250px 0;
    color: #fff;
    position: relative; }
    @media only screen and (max-width: 1080px) {
      .p-homeHero .inner {
        padding: 100px 0; } }
    .p-homeHero .inner .prize {
      position: absolute;
      right: 0;
      bottom: 160px; }
      @media only screen and (max-width: 1080px) {
        .p-homeHero .inner .prize {
          margin-top: 30px;
          margin-bottom: 30px;
          position: relative;
          text-align: center;
          bottom: auto;
          padding-left: 20%;
          padding-right: 20%; } }

.p-homeHero__title {
  line-height: 1.2;
  margin-bottom: 20px;
  font-size: 116px;
  font-size: 11.6rem; }
  @media only screen and (max-width: 1080px) {
    .p-homeHero__title {
      font-size: 68px;
      font-size: 6.8rem; } }

.p-homeHero__date {
  margin-bottom: 3rem;
  letter-spacing: .1rem;
  font-size: 32px;
  font-size: 3.2rem; }
  @media only screen and (max-width: 1080px) {
    .p-homeHero__date {
      font-size: 18px;
      font-size: 1.8rem; } }
  .p-homeHero__date .date {
    font-size: 48px;
    font-size: 4.8rem; }
    @media only screen and (max-width: 1080px) {
      .p-homeHero__date .date {
        font-size: 30px;
        font-size: 3rem; } }

.p-homeHero__logo{
   visibility: visible;}
   @media only screen and(max-width: 1080px) {
    .p-homeHero__logo{
      visibility: hidden;
    }}

.p-homeCountdown {
  background-color: transparent;
  padding: 60px 0 120px;
  position: absolute;
  top: 100px;
  right: 30px;
  color: #fff;
  font-weight: bold; }
  @media only screen and (max-width: 1080px) {
    .p-homeCountdown {
      position: relative;
      top: 0;
      right: 0;
      background-color: #333;
      padding: 20px 0 80px; } }
  @media only screen and (max-width: 1080px) {
    .p-homeCountdown .inner {
      width: 90%;
      margin-left: auto;
      margin-right: auto; } }

.p-homeCountdown__title {
  font-weight: bold;
  padding: 10px 40px;
  margin-bottom: 15px;
  background: linear-gradient(90deg, #5B626C 0%, #11D8B4 100%);
  font-size: 16px;
  font-size: 1.6rem; }
  @media only screen and (max-width: 1080px) {
    .p-homeCountdown__title {
      font-size: 14px;
      font-size: 1.4rem; } }

.p-homeCountdown__timer {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
  line-height: 1;
  font-weight: normal;
  font-size: 36px;
  font-size: 3.6rem; }
  .p-homeCountdown__timer .note {
    color: #ddd;
    letter-spacing: .2rem;
    font-size: 10px;
    font-size: 1rem; }
  .p-homeCountdown__timer > span {
    width: 25%;
    border-right: 1px solid #ccc; }
    .p-homeCountdown__timer > span:last-child {
      border-right: 0; }
  .p-homeCountdown__timer .complete {
    width: 100%;
    font-weight: bold;
    font-size: 16px;
    font-size: 1.6rem; }

.p-homeIntro {
  background-color: #5B626C;
  color: #fff;
  padding: 80px 0;
  position: relative; }
  @media only screen and (max-width: 1080px) {
    .p-homeIntro {
      margin-bottom: 200px; } }
  .p-homeIntro::before {
    content: '';
    position: absolute;
    left: 50%;
    right: 0;
    top: 0;
    bottom: 0;
    background: url(../img/intro_bg.jpg) no-repeat center center;
    background-size: cover; }
    @media only screen and (max-width: 1080px) {
      .p-homeIntro::before {
        left: 0;
        top: 100%;
        height: 200px;
        bottom: -200px; } }

.p-homeIntro__title {
  font-weight: bold;
  margin-bottom: 50px;
  line-height: 1.5;
  font-size: 32px;
  font-size: 3.2rem; }
  @media only screen and (max-width: 1080px) {
    .p-homeIntro__title {
      font-size: 26px;
      font-size: 2.6rem; } }
  .p-homeIntro__title .bg {
    padding: 0 10px;
    margin: 0 5px;
    color: #5B626C;
    background-color: #fff; }

.p-homeMovie .box-movie {
  position: relative;
  max-width: 100%;
  height: 500px;
  overflow: hidden; }
  @media only screen and (max-width: 1080px) {
    .p-homeMovie .box-movie {
      height: 250px; } }
  .p-homeMovie .box-movie .bg_video {
    width: 100%;
    height: 100%;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 2; }
    .p-homeMovie .box-movie .bg_video .bt_play {
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -30px 0 0 -30px;
      display: inline-block;
      width: 60px;
      height: 60px;
      cursor: pointer;
      z-index: 2;
      -webkit-transition: all .3s ease-out;
      transition: all .3s ease-out;
      z-index: 9999;
      cursor: pointer;
      transform: scale(1, 1); }
      .p-homeMovie .box-movie .bg_video .bt_play:hover {
        transform: scale(1.1, 1.1); }
    .p-homeMovie .box-movie .bg_video .filter_box {
      background-image: url(../images/top_ft2.png);
      background-repeat: repeat;
      background-position: 0 0;
      width: 100%;
      height: 100%;
      border-radius: 10px;
      overflow: hidden;
      position: absolute;
      z-index: 999;
      -webkit-transition: all .4s;
      -moz-transition: all .4s;
      -ms-transition: all .4s;
      -o-transition: all .4s;
      transition: all .4s; }
  .p-homeMovie .box-movie.open .video_container {
    opacity: 1;
    -webkit-transition: all .6s .8s;
    transition: all .6s .8s; }
  .p-homeMovie .box-movie.open .bg_video {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all .6s .8s;
    transition: all .6s .8s; }
  .p-homeMovie .box-movie .video_container {
    position: relative;
    margin: 0;
    z-index: 1;
    width: 100%;
    height: 100%; }
    .p-homeMovie .box-movie .video_container iframe {
      width: 100%;
      height: 100%;
      display: block; }

.p-homeLasytear .button {
  margin: 60px 0; }

.p-homeContest__inner {
  background-color: #FFFFFF;
  padding-bottom: 60px; }

.p-homeContest__tmb {
  height: 300px;
  background: url(../img/contest_bg.jpg) no-repeat center center;
  background-size: cover; }
  @media only screen and (max-width: 1080px) {
    .p-homeContest__tmb {
      height: 200px; } }

.p-homeContest__titleWrap {
  margin-top: -100px;
  margin-bottom: 60px;
  width: 600px;
  margin-left: auto;
  margin-right: auto;
  background-color: #FFFFFF;
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 1080px) {
    .p-homeContest__titleWrap {
      margin-top: -50px;
      width: 90%; } }

.p-homeContest__unit {
  margin-bottom: 36px; }
  .p-homeContest__unit .card {
    padding: 24px;
    border-radius: 1rem;
    background-color: #fff; }
    @media only screen and (max-width: 1080px) {
      .p-homeContest__unit .card {
        margin-bottom: 15px; } }
    .p-homeContest__unit .card .icon {
      margin-bottom: 24px;
      text-align: center; }
    .p-homeContest__unit .card .title {
      text-align: center;
      color: #1f2c44; }
    .p-homeContest__unit .card .list::before {
      content: '☑';
      margin-right: 5px; }
  .p-homeContest__unit.-other .cta {
    text-align: center;
    margin: 30px 0; }
  .p-homeContest__unit.--selection .list {
    padding: 10px 0;
    border-bottom: 1px solid #333; }
    .p-homeContest__unit.--selection .list .item.--head {
      font-weight: bold; }
    .p-homeContest__unit.--selection .list .item.--body {
      font-size: 14px;
      font-size: 1.4rem; }
  .p-homeContest__unit.--schedule .list {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    overflow: hidden;
    position: relative;
    background-color: #FFFFFF;
    border-radius: 6px; }
    @media only screen and (max-width: 1080px) {
      .p-homeContest__unit.--schedule .list {
        flex-wrap: wrap; } }
    .p-homeContest__unit.--schedule .list .item {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      position: relative;
      z-index: 2;
      width: 100%;
      color: #333;
      height: 140px;
      background-color: #fff;
      padding-left: 44px;
      padding-top: 30px;
      text-align: center; }
      @media only screen and (max-width: 1080px) {
        .p-homeContest__unit.--schedule .list .item {
          padding: 20px;
          padding-left: 10px;
          padding-right: 10px;
          margin-bottom: 10px;
          flex: auto;
          height: 110px; } }
      .p-homeContest__unit.--schedule .list .item::before {
        padding-left: 22px;
        margin-right: -6px;
        border-width: 82px 0 82px 45px;
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-color: transparent;
        content: '';
        border-left-color: #5D626B; }
        @media only screen and (max-width: 1080px) {
          .p-homeContest__unit.--schedule .list .item::before {
            border-width: 0;
            padding: 0;
            height: 13px;
            width: 100%;
            top: -4px;
            left: 0;
            right: 0;
            background-image: url(../img/triangle_before.png);
            background-size: 100% 13px;
            z-index: 2; } }
      .p-homeContest__unit.--schedule .list .item::after {
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-color: transparent;
        border-left-color: #fff;
        border-width: 72px 0 72px 40px;
        content: ''; }
        @media only screen and (max-width: 1080px) {
          .p-homeContest__unit.--schedule .list .item::after {
            border-width: 0;
            height: 13px;
            width: 100%;
            top: 5px;
            left: 0;
            right: 0;
            background-image: url(../img/triangle_after.png);
            background-size: 100% 13px; } }
      .p-homeContest__unit.--schedule .list .item:first-child {
        padding-left: 22px;
        border-radius: 3px 0 0 3px; }
        .p-homeContest__unit.--schedule .list .item:first-child::before {
          border: none; }
          @media only screen and (max-width: 1080px) {
            .p-homeContest__unit.--schedule .list .item:first-child::before {
              display: none; } }
        @media only screen and (max-width: 1080px) {
          .p-homeContest__unit.--schedule .list .item:first-child::after {
            display: none; } }
      .p-homeContest__unit.--schedule .list .item:last-child {
        padding-right: 22px;
        border-radius: 3px 0 0 3px; }
      .p-homeContest__unit.--schedule .list .item .date {
        margin-bottom: 10px;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: bold; }
      .p-homeContest__unit.--schedule .list .item .title {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1.3;
        color: #1f2c44; }
        .p-homeContest__unit.--schedule .list .item .title small {
          font-size: 11px;
          font-size: 1.1rem; }

.p-homeFinal {
  color: #fff;
  padding: 80px 0;
  background: linear-gradient(180deg, #5B626C 0%, #A90166 100%); }

.p-homeFinal__title {
  font-weight: bold;
  text-align: center;
  margin-bottom: 8px;
  font-size: 48px;
  font-size: 4.8rem; }
  @media only screen and (max-width: 1080px) {
    .p-homeFinal__title {
      font-size: 32px;
      font-size: 3.2rem; } }

.p-homeFinal__subtitle {
  font-weight: bold;
  text-align: center;
  margin-bottom: 48px;
  font-size: 24px;
  font-size: 2.4rem; }
  @media only screen and (max-width: 1080px) {
    .p-homeFinal__subtitle {
      font-size: 18px;
      font-size: 1.8rem; } }

.p-homeFinal__card {
  border-radius: 1rem;
  padding: 30px;
  box-shadow: 0px 4px 25px rgba(0, 0, 0, 0.25);
  background-color: rgba(0, 0, 0, 0.8); }
  @media only screen and (max-width: 1080px) {
    .p-homeFinal__card {
      margin-bottom: 24px; } }
  .p-homeFinal__card .icon {
    height: 185px;
    margin-bottom: 24px;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media only screen and (max-width: 1080px) {
      .p-homeFinal__card .icon {
        width: 60%;
        margin-left: auto;
        margin-right: auto;
        height: auto; } }
  .p-homeFinal__card .title {
    text-align: center;
    font-weight: bold;
    margin-bottom: 24px;
    font-size: 24px;
    font-size: 2.4rem; }
    @media only screen and (max-width: 1080px) {
      .p-homeFinal__card .title {
        font-size: 21px;
        font-size: 2.1rem; } }

.p-homeEntry {
  padding: 80px 0; 
}
  @media only screen and (max-width: 1080px) {
    .p-homeEntry {
      padding: 40px 0; } }

.p-homeEntry__title {
  text-align: center;
  font-weight: bold;
  margin-bottom: 60px;
  font-size: 36px;
  font-size: 3.6rem; }
  @media only screen and (max-width: 1080px) {
    .p-homeEntry__title {
      margin-bottom: 30px;
      font-size: 24px;
      font-size: 2.4rem; } }

.p-homeEntry__list {
  padding: 20px 0;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  border-bottom: 1px solid #ccc; }
  @media only screen and (max-width: 1080px) {
    .p-homeEntry__list {
      flex-wrap: wrap; } }

.p-homeEntry__listItem {
  font-size: 14px;
  font-size: 1.4rem; }
  .p-homeEntry__listItem.-head {
    font-weight: bold;
    width: 200px; }
    @media only screen and (max-width: 1080px) {
      .p-homeEntry__listItem.-head {
        width: 100%;
        margin-bottom: 15px;
        font-size: 16px;
        font-size: 1.6rem; } }
  .p-homeEntry__listItem.-body {
    width: 100%; }

.p-homeLeague__inner {
  background: linear-gradient(180deg, #5B626C 0%, #470D8F 100%);
  padding: 80px 0;
  z-index: 2; }
  @media only screen and (max-width: 1080px) {
    .p-homeLeague__inner {
      padding: 40px 0 80px; } }

.p-homeLeague__box {
  margin-top: 48px;
  margin-bottom: 36px; }
  .p-homeLeague__box .column, .p-homeLeague__box .column-nogutter {
    margin-bottom: 24px; }

.p-homeLeague .card {
  border-radius: 5px;
  background-color: #fff;
  height: 100%;
  padding: 20px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); }
  .p-homeLeague .card .title {
    font-weight: bold;
    color: #1f2c44;
    margin-bottom: 18px;
    font-size: 18px;
    font-size: 1.8rem; }
  .p-homeLeague .card .company {
    font-size: 12px;
    font-size: 1.2rem; }
  .p-homeLeague .card .company_tech {
    font-weight: bold;
    color: #1f2c44;
    font-size: 12px;
    font-size: 1.2rem; }
  .p-homeLeague .card .note {
    color: #999;
    margin-bottom: 0;
    font-size: 12px;
    font-size: 1.2rem; }

.p-homeSupporter__inner {
  padding: 80px 0; }
  @media only screen and (max-width: 1080px) {
    .p-homeSupporter__inner {
      padding: 0 0 40px; } }

.p-homeSupporter__box {
  padding-bottom: 48px;
  margin-bottom: 24px; }
  .p-homeSupporter__box .logo {
    text-align: center;
    margin-bottom: 24px; }
  .p-homeSupporter__box .title {
    margin-bottom: 36px;
    text-align: center;
    position: relative; }
    .p-homeSupporter__box .title::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      right: 0;
      height: 1px;
      background-color: #5B626C; }
    .p-homeSupporter__box .title span {
      font-weight: bold;
      padding: 10px 25px;
      background-color: #5B626C;
      color: #fff;
      position: relative;
      z-index: 2; }
  .p-homeSupporter__box .card {
    margin-bottom: 20px; }
  .p-homeSupporter__box .name {
    font-weight: bold; }
    @media only screen and (max-width: 1080px) {
      .p-homeSupporter__box .name {
        font-size: 14px;
        font-size: 1.4rem; } }

.p-homeCta {
  padding: 50px 0 100px;
  background-color: #5B626C; }

.p-homeCta__title {
  color: #fff;
  text-align: center;
  margin-bottom: 60px; }
  .p-homeCta__title span {
    font-weight: bold;
    display: block; }
  .p-homeCta__title .en {
    font-size: 24px;
    font-size: 2.4rem; }
    @media only screen and (max-width: 1080px) {
      .p-homeCta__title .en {
        font-size: 18px;
        font-size: 1.8rem; } }
  .p-homeCta__title .ja {
    font-size: 48px;
    font-size: 4.8rem; }
    @media only screen and (max-width: 1080px) {
      .p-homeCta__title .ja {
        font-size: 24px;
        font-size: 2.4rem; } }

.p-termsBox {
  padding: 80px 0; }

.p-termsBox__unit {
  margin-bottom: 36px; }

.final-mark{
  background-color: rgb(248, 120, 120);
  color:#ffffff;
  padding:0.2em;
  font-size:0.5em;
  width:90px;
  border-radius: 5px;
  text-align:center;
}

.final-buttle-mark{
  background-color: rgb(93, 93, 242);
  color:#ffffff;
  padding:0.2em;
  font-size:0.5em;
  width:90px;
  border-radius: 5px;
  margin-left:5px;  
  text-align:center;
}

.conditions-mark{
  background-color:#999;
  color:#ffffff;
  padding:0.2em;
  font-size:0.5em;
  width:40px;

  border-radius: 5px;
  text-align:center;
}