@charset "UTF-8";
/**
 * default.css
 * updatedAt: 2018.03.02
 */
/*========================================

 Reset

========================================*/
dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

header, footer, nav, main, aside, article, section {
  display: block;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

/*========================================

override .s5-returnToTop

========================================*/
.s5-returnToTop {
  margin: 0;
}

/*========================================

html

========================================*/
html {
  font-size: 100%;
}

@media screen and (max-width: 1199px) {
  html {
    font-size: 93.8%;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 87.5%;
  }
}

@media screen and (max-width: 639px) {
  html {
    font-size: 80.3%;
  }
}

@media screen and (max-width: 479px) {
  html {
    font-size: 60%;
  }
}

/*========================================

body

========================================*/
body {
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 100%;
  font-family: sans-serif;
  font-feature-settings: 'palt' 1;
  color: #333;
  background: #141414;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
}

/*========================================

Anchor Text

========================================*/
a {
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

/*========================================

Break Set

========================================*/
.b37 {
  display: none;
}

.b48 {
  display: none;
}

.b64 {
  display: none;
}

.b76 {
  display: none;
}

.b96 {
  display: none;
}

.b120 {
  display: none;
}

.nb120 {
  display: block;
}

@media screen and (max-width: 1199px) {
  .b120 {
    display: block;
  }
  .nb120 {
    display: none;
  }
}

@media screen and (max-width: 959px) {
  .b96 {
    display: block;
  }
  .nb96 {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .b76 {
    display: block;
  }
  .nb76 {
    display: none;
  }
}

@media screen and (max-width: 639px) {
  .b64 {
    display: block;
  }
  .nb64 {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  .b48 {
    display: block;
  }
  .nb48 {
    display: none;
  }
}

@media screen and (max-width: 374px) {
  .b37 {
    display: block;
  }
  .nb37 {
    display: none;
  }
}

/*========================================

.footer

========================================*/
.footer {
  overflow: hidden;
  padding: 38px 0;
  background: #1a1a1a;
}

.footer small {
  display: inline-block;
  font-size: 12px;
  line-height: 1.0;
  color: #b0b0b0;
}

@media screen and (max-width: 479px) {
  .footer {
    text-align: center;
  }
}

/*========================================

module

========================================*/
.mod__inner-l, .section-02 .section-header-inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 1199px) {
  .mod__inner-l, .section-02 .section-header-inner {
    max-width: 93.75%;
  }
}

@media screen and (max-width: 479px) {
  .mod__inner-l, .section-02 .section-header-inner {
    max-width: 87.5%;
  }
}

.mod__inner-m {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 959px) {
  .mod__inner-m {
    max-width: 93.75%;
  }
}

@media screen and (max-width: 479px) {
  .mod__inner-m {
    max-width: 87.5%;
  }
}

.mod__inner-s {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 959px) {
  .mod__inner-s {
    max-width: 93.75%;
  }
}

@media screen and (max-width: 479px) {
  .mod__inner-s {
    max-width: 87.5%;
  }
}

.mod__block {
  padding: 40px 0;
}

@media screen and (max-width: 767px) {
  .mod__block {
    padding: 30px 0;
  }
}

@media screen and (max-width: 639px) {
  .mod__block {
    padding: 20px 0;
  }
}

.flex {
  display: flex;
}

.flex.right {
  justify-content: flex-end;
}

.flex.center {
  justify-content: center;
}

.clearfix::after {
  content: '';
  display: block;
  clear: both;
}

@keyframes wave {
  0% {
    opacity: 0;
  }
  11% {
    opacity: 1;
  }
  22% {
    opacity: 0;
  }
  33% {
    opacity: 1;
  }
  44% {
    opacity: 0;
  }
  55% {
    opacity: 1;
  }
  66% {
    opacity: 0;
  }
  77% {
    opacity: 1;
  }
  88% {
    opacity: 0;
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

@keyframes wave2x {
  0% {
    opacity: 0;
  }
  5.9% {
    opacity: 1;
  }
  11.8% {
    opacity: 0;
  }
  17.7% {
    opacity: 1;
  }
  23.6% {
    opacity: 0;
  }
  29.5% {
    opacity: 1;
  }
  35.4% {
    opacity: 0;
  }
  41.3% {
    opacity: 1;
  }
  47.2% {
    opacity: 0;
  }
  53.1% {
    opacity: 1;
  }
  59% {
    opacity: 0;
  }
  64.9% {
    opacity: 1;
  }
  70.8% {
    opacity: 0;
  }
  76.7% {
    opacity: 1;
  }
  82.6% {
    opacity: 0;
  }
  88.5% {
    opacity: 1;
  }
  94.4% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes shock {
  0% {
    opacity: 0;
  }
  7% {
    transform: translateX(-2px);
  }
  7.5% {
    transform: translateX(2px);
  }
  8% {
    transform: translateX(-2px);
  }
  8.5% {
    transform: translateX(2px);
  }
  9% {
    transform: translateX(-2px);
  }
  9.5% {
    transform: translateX(2px);
  }
  10% {
    transform: translateX(-2px);
  }
  10.5% {
    transform: translateX(2px);
  }
  11% {
    opacity: 1;
  }
  22% {
    opacity: 0;
  }
  29% {
    transform: translateX(-2px);
  }
  29.5% {
    transform: translateX(2px);
  }
  30% {
    transform: translateX(-2px);
  }
  30.5% {
    transform: translateX(2px);
  }
  31% {
    transform: translateX(-2px);
  }
  31.5% {
    transform: translateX(2px);
  }
  32% {
    transform: translateX(-2px);
  }
  32.5% {
    transform: translateX(2px);
  }
  33% {
    opacity: 1;
  }
  44% {
    opacity: 0;
  }
  51% {
    transform: translateX(-2px);
  }
  51.5% {
    transform: translateX(2px);
  }
  52% {
    transform: translateX(-2px);
  }
  52.5% {
    transform: translateX(2px);
  }
  53% {
    transform: translateX(-2px);
  }
  53.5% {
    transform: translateX(2px);
  }
  54% {
    transform: translateX(-2px);
  }
  54.5% {
    transform: translateX(2px);
  }
  55% {
    opacity: 1;
  }
  66% {
    opacity: 0;
  }
  73% {
    transform: translateX(-2px);
  }
  73.5% {
    transform: translateX(2px);
  }
  74% {
    transform: translateX(-2px);
  }
  74.5% {
    transform: translateX(2px);
  }
  75% {
    transform: translateX(-2px);
  }
  75.5% {
    transform: translateX(2px);
  }
  76% {
    transform: translateX(-2px);
  }
  76.5% {
    transform: translateX(2px);
  }
  77% {
    opacity: 1;
  }
  88% {
    opacity: 0;
  }
  95% {
    transform: translateX(-2px);
  }
  95.5% {
    transform: translateX(2px);
  }
  96% {
    transform: translateX(-2px);
  }
  96.5% {
    transform: translateX(2px);
  }
  97% {
    transform: translateX(-2px);
  }
  97.5% {
    transform: translateX(2px);
  }
  98% {
    transform: translateX(-2px);
  }
  98.5% {
    transform: translateX(2px);
  }
  99% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

@keyframes shock2x {
  0% {
    opacity: 0;
  }
  0.9% {
    transform: translateX(-2px);
  }
  1.4% {
    transform: translateX(2px);
  }
  1.9% {
    transform: translateX(-2px);
  }
  2.4% {
    transform: translateX(2px);
  }
  2.9% {
    transform: translateX(-2px);
  }
  3.4% {
    transform: translateX(2px);
  }
  3.9% {
    transform: translateX(-2px);
  }
  4.4% {
    transform: translateX(2px);
  }
  5.9% {
    opacity: 1;
  }
  11.8% {
    opacity: 0;
  }
  13.7% {
    transform: translateX(-2px);
  }
  14.2% {
    transform: translateX(2px);
  }
  14.7% {
    transform: translateX(-2px);
  }
  15.2% {
    transform: translateX(2px);
  }
  15.7% {
    transform: translateX(-2px);
  }
  16.2% {
    transform: translateX(2px);
  }
  16.7% {
    transform: translateX(-2px);
  }
  17.2% {
    transform: translateX(2px);
  }
  17.7% {
    opacity: 1;
  }
  23.6% {
    opacity: 0;
  }
  24.5% {
    transform: translateX(-2px);
  }
  25% {
    transform: translateX(2px);
  }
  25.5% {
    transform: translateX(-2px);
  }
  26% {
    transform: translateX(2px);
  }
  26.5% {
    transform: translateX(-2px);
  }
  27% {
    transform: translateX(2px);
  }
  27.5% {
    transform: translateX(-2px);
  }
  28% {
    transform: translateX(2px);
  }
  29.5% {
    opacity: 1;
  }
  35.4% {
    opacity: 0;
  }
  36.3% {
    transform: translateX(-2px);
  }
  37.8% {
    transform: translateX(2px);
  }
  37.3% {
    transform: translateX(-2px);
  }
  38.8% {
    transform: translateX(2px);
  }
  38.3% {
    transform: translateX(-2px);
  }
  39.8% {
    transform: translateX(2px);
  }
  39.3% {
    transform: translateX(-2px);
  }
  40.8% {
    transform: translateX(2px);
  }
  41.3% {
    opacity: 1;
  }
  47.2% {
    opacity: 0;
  }
  48.1% {
    transform: translateX(-2px);
  }
  49.6% {
    transform: translateX(2px);
  }
  49.1% {
    transform: translateX(-2px);
  }
  50.6% {
    transform: translateX(2px);
  }
  50.1% {
    transform: translateX(-2px);
  }
  51.6% {
    transform: translateX(2px);
  }
  51.1% {
    transform: translateX(-2px);
  }
  52.6% {
    transform: translateX(2px);
  }
  53.1% {
    opacity: 1;
  }
  59% {
    opacity: 0;
  }
  60.9% {
    transform: translateX(-2px);
  }
  61.4% {
    transform: translateX(2px);
  }
  61.9% {
    transform: translateX(-2px);
  }
  62.4% {
    transform: translateX(2px);
  }
  62.9% {
    transform: translateX(-2px);
  }
  63.4% {
    transform: translateX(2px);
  }
  63.9% {
    transform: translateX(-2px);
  }
  64.4% {
    transform: translateX(2px);
  }
  64.9% {
    opacity: 1;
  }
  70.8% {
    opacity: 0;
  }
  72.7% {
    transform: translateX(-2px);
  }
  73.2% {
    transform: translateX(2px);
  }
  73.7% {
    transform: translateX(-2px);
  }
  74.2% {
    transform: translateX(2px);
  }
  74.7% {
    transform: translateX(-2px);
  }
  75.2% {
    transform: translateX(2px);
  }
  75.7% {
    transform: translateX(-2px);
  }
  76.2% {
    transform: translateX(2px);
  }
  76.7% {
    opacity: 1;
  }
  82.6% {
    opacity: 0;
  }
  84.5% {
    transform: translateX(-2px);
  }
  85% {
    transform: translateX(2px);
  }
  85.5% {
    transform: translateX(-2px);
  }
  86% {
    transform: translateX(2px);
  }
  86.5% {
    transform: translateX(-2px);
  }
  87% {
    transform: translateX(2px);
  }
  87.5% {
    transform: translateX(-2px);
  }
  88% {
    transform: translateX(2px);
  }
  88.5% {
    opacity: 1;
  }
  94.4% {
    opacity: 0;
  }
  96% {
    transform: translateX(-2px);
  }
  96.5% {
    transform: translateX(2px);
  }
  97% {
    transform: translateX(-2px);
  }
  97.5% {
    transform: translateX(2px);
  }
  98% {
    transform: translateX(-2px);
  }
  98.5% {
    transform: translateX(2px);
  }
  99% {
    transform: translateX(-2px);
  }
  99.5% {
    transform: translateX(2px);
  }
  100% {
    opacity: 1;
  }
}

/*
 waveアニメーション
 */
.l-human .wave {
  transform: translate3d(0px, 0px, 0px);
}

.l-human .wave.active {
  animation: wave2x 10s both;
}

.r-human .wave {
  transform: translate3d(0px, 0px, 0px);
}

.r-human .wave.active {
  animation: shock2x 10s both;
}

@keyframes transition-up {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
 slideinアニメーション
 */
#slidein1 .img-box img,
#slidein2 .img-box img,
#slidein3 .img-box img {
  opacity: 1;
  /*transform: rotate(0.0001deg);*/
}

#slidein1.active .img-box img,
#slidein2.active .img-box img,
#slidein3.active .img-box img {
  /*animation: transition-up .8s both ease-in;*/
}

#box1,
#box2,
#box3,
#box4 {
  opacity: 1;
  transform: rotate(0.0001deg);
}

#box1.active,
#box2.active,
#box3.active,
#box4.active {
  /*animation: transition-up .8s both ease-in;*/
}

/*========================================

style.css

========================================*/
body {
  background: #fff;
  color: #444;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, Verdana;
  line-height: 1.5;
  letter-spacing: .1rem;
}

main {
  overflow-x: hidden;
}

a {
  text-decoration: none;
}

a:not(.s5-button):not(.s5-storeButton):hover {
  opacity: .6;
}

a.fade {
  opacity: 1;
  transition: .2s;
  display: block;
}

a.fade:hover {
  opacity: .6;
}

a.fade:hover p {
  opacity: .6;
}

p {
  letter-spacing: .2rem;
  line-height: 1.67;
}

.fs22 {
  font-size: 1.375rem;
}

.fs24 {
  font-size: 1.5rem;
}

.fs28 {
  font-size: 1.75rem;
  font-weight: bold;
}

.fs32 {
  font-size: 2rem;
  font-weight:bold;
}

.fs36 {
  font-size: 2.25rem;
}

.fs38 {
  font-size: 2.375rem;
}

.fs40 {
  font-size: 2.5rem;
}

.fs44 {
  font-size: 2.75rem;
  font-weight: bold;
}

.fs54 {
  font-size: 3.375rem;
}

.fs56 {
  font-size: 3.5rem;
}

.fs60 {
  font-size: 3.75rem;
}

.fs62 {
  font-size: 3.875rem;
}

.fs70 {
  font-size: 4.375rem;
}

.mt16 {
  margin-top: 16px;
}

.mt20 {
  margin-top: 20px;
}

.mt24 {
  margin-top: 24px;
}

.mt32 {
  margin-top: 32px;
}

.mt36 {
  margin-top: 36px;
}

.mt40 {
  margin-top: 40px;
}

.mt48 {
  margin-top: 48px;
}

.mt56 {
  margin-top: 56px;
}

.mt60 {
  margin-top: 60px;
}

.mt64 {
  margin-top: 64px;
}

.mt72 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt88 {
  margin-top: 88px;
}

.mt96 {
  margin-top: 96px;
}

.mt100 {
  margin-top: 100px;
}

.ml16 {
  margin-left: 16px;
}

.ml20 {
  margin-left: 20px;
}

.ml24 {
  margin-left: 24px;
}

.ml32 {
  margin-left: 30px;
}

.ml40 {
  margin-left: 40px;
}

.ml48 {
  margin-left: 48px;
}

@media screen and (max-width: 959px) {
  .fs22 {
    font-size: 1.1rem;
  }
  .fs24 {
    font-size: 1.2rem;
  }
  .fs28 {
    font-size: 1.4rem;
  }
  .fs32 {
    font-size: 1.6rem;
  }
  .fs36 {
    font-size: 1.8rem;
  }
  .fs38 {
    font-size: 1.9rem;
  }
  .fs40 {
    font-size: 2rem;
  }
  .fs44 {
    font-size: 2.2rem;
  }
  .fs54 {
    font-size: 2.7rem;
  }
  .fs56 {
    font-size: 2.8rem;
  }
  .fs60 {
    font-size: 3rem;
  }
  .fs62 {
    font-size: 3.1rem;
  }
  .fs70 {
    font-size: 3.5rem;
  }
  .mt16 {
    margin-top: 12px;
  }
  .mt20 {
    margin-top: 15px;
  }
  .mt24 {
    margin-top: 18px;
  }
  .mt32 {
    margin-top: 24px;
  }
  .mt36 {
    margin-top: 27px;
  }
  .mt40 {
    margin-top: 30px;
  }
  .mt48 {
    margin-top: 36px;
  }
  .mt56 {
    margin-top: 42px;
  }
  .mt60 {
    margin-top: 45px;
  }
  .mt64 {
    margin-top: 48px;
  }
  .mt72 {
    margin-top: 54px;
  }
  .mt80 {
    margin-top: 60px;
  }
  .mt88 {
    margin-top: 66px;
  }
  .mt96 {
    margin-top: 72px;
  }
  .mt100 {
    margin-top: 75px;
  }
  .ml16 {
    margin-left: 12px;
  }
  .ml20 {
    margin-left: 15px;
  }
  .ml24 {
    margin-left: 18px;
  }
  .ml32 {
    margin-left: 24px;
  }
  .ml40 {
    margin-left: 30px;
  }
  .ml48 {
    margin-left: 36px;
  }
}

@media screen and (max-width: 639px) {
  .mt48 {
    margin-top: 24px;
  }
  .mt56 {
    margin-top: 28px;
  }
  .mt60 {
    margin-top: 30px;
  }
  .mt64 {
    margin-top: 32px;
  }
  .mt72 {
    margin-top: 36px;
  }
  .mt80 {
    margin-top: 40px;
  }
  .mt88 {
    margin-top: 44px;
  }
  .mt96 {
    margin-top: 48px;
  }
  .mt100 {
    margin-top: 50px;
  }
  .ml16 {
    margin-left: 8px;
  }
  .ml20 {
    margin-left: 10px;
  }
  .ml24 {
    margin-left: 12px;
  }
  .ml32 {
    margin-left: 16px;
  }
  .ml40 {
    margin-left: 20px;
  }
  .ml48 {
    margin-left: 24px;
  }
}

@media screen and (max-width: 374px) {
  .fs32 {
    font-size: 1.4rem;
  }
  .fs36 {
    font-size: 1.575rem;
  }
  .fs38 {
    font-size: 1.6625rem;
  }
  .fs40 {
    font-size: 1.75rem;
  }
  .fs44 {
    font-size: 1.925rem;
  }
  .fs54 {
    font-size: 2.3625rem;
  }
  .fs56 {
    font-size: 2.45rem;
  }
  .fs60 {
    font-size: 2.625rem;
  }
  .fs62 {
    font-size: 2.7125rem;
  }
  .fs70 {
    font-size: 3.0625rem;
  }
}

.underline-white,
.underline-gray {
  text-decoration: underline;
}

.underline-white {
  text-decoration-color: #fff;
}

.underline-gray {
  text-decoration-color: #444;
}

/*
 button
 */
.s5-button,
.s5-storeButton {
  padding: 20px;
  width: 100%;
  max-width: 358px;
  position: relative;
  text-align: center;
  border-radius: 10px;
}

.s5-button::before,
.s5-storeButton::before {
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 639px) {
  .s5-button,
  .s5-storeButton {
    padding: 10px 20px;
  }
}

.s5-button-box,
.s5-storeButton-box {
  text-align: center;
}

.s5-button-box p,
.s5-storeButton-box p {
  line-height: 2.5rem;
  margin-bottom: 18px;
}

@media screen and (max-width: 639px) {
  .s5-button-box p,
  .s5-storeButton-box p {
    margin-bottom: 9px;
  }
}

.s5-button-box .price,
.s5-storeButton-box .price {
  color: #d04800;
  font-weight: bold;
}

.s5-storeButton-box {
  margin-top: 36px;
}

@media screen and (max-width: 639px) {
  .s5-storeButton-box {
    margin-top: 18px;
  }
}

/*
 header
 */
header {
  position: relative;
  background-image: url(../img/mainvisual.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  height: 596px;
}

@media screen and (max-width: 1199px) {
  header {
    height: 500px;
  }
}

@media screen and (max-width: 959px) {
  header {
    background-image: url(../img/mainvisual_sp.jpg);
    height: 700px;
  }
}

@media screen and (max-width: 639px) {
  header {
    height: 600px;
  }
}

@media screen and (max-width: 479px) {
  header {
    height: 500px;
    background-position: left center;
  }
}

.header-inner {
  max-width: 1600px;
  margin: 0 auto;
}

@media screen and (max-width: 1199px) {
  .header-inner {
    max-width: 93.75%;
  }
}

.header-logo {
  padding: 25px;
}

@media screen and (max-width: 1199px) {
  .header-logo {
    padding: 25px 0;
  }
}

.header-title {
  display: flex;
  justify-content: center;
  padding-top: 110px;
}

@media screen and (max-width: 1199px) {
  .header-title {
    padding-top: 80px;
  }
}

@media screen and (max-width: 959px) {
  .header-title {
    padding-top: 0;
  }
}

h1.fs70 {
  color: #242838;
  text-shadow: 1px 1px 20px #fff, -1px 1px 20px #fff, 1px -1px 20px #fff, -1px -1px 20px #fff;
  letter-spacing: .4rem;
  margin-left: .5rem;
}

h1.fs70::selection {
  text-shadow: none;
}

h1.fs70 .small::selection {
  text-shadow: none;
}

@media screen and (max-width: 959px) {
  h1.fs70 {
    margin-left: 7%;
  }
}

@media screen and (max-width: 639px) {
  h1.fs70 {
    font-size: 3.375rem;
  }
  h1.fs70 .small {
    font-size: 2.75rem;
  }
}

@media screen and (max-width: 479px) {
  h1.fs70 {
    font-size: 3.25rem;
	text-shadow: none;
  }
  h1.fs70 .small {
    font-size: 2.625rem;
	text-shadow: none;
  }
}

@media screen and (max-width: 374px) {
  h1.fs70 {
    font-size: 2.875rem;
  }
  h1.fs70 .small {
    font-size: 2.25rem;
  }
}

.s-title-wrapper {
  background: #006daf;
  height: 260px;
  text-align: center;
}

@media screen and (max-width: 1199px) {
  .s-title-wrapper {
    height: 22vw;
  }
}

.s-title-wrapper .flex {
  justify-content: center;
  align-items: center;
  height: 100%;
}

.s-title-wrapper .s-product-box {
  flex: 0 1 auto;
}

@media screen and (max-width: 1199px) {
  .s-title-wrapper .s-product-box {
    flex: 0 0 22%;
    margin-left: 2%;
  }
}

.s-title-wrapper .s-title {
  flex: 0 0 auto;
  line-height: 4.5rem;
  color: #fff;
}

@media screen and (max-width: 1199px) {
  .s-title-wrapper .s-title {
    line-height: 5.34vw;
    font-size: 4.16vw;
  }
  .s-title-wrapper .s-title .small {
    font-size: 3.39vw;
  }
}

@media screen and (max-width: 1199px) and (-ms-high-contrast: none) {
  .s-title-wrapper .s-title {
    font-size: 3.9vw;
  }
  .s-title-wrapper .s-title .small {
    font-size: 3.1vw;
  }
}

.lightblue-wrapper {
  background: #b5d3e7;
  padding: 50px 0 80px;
}

@media screen and (max-width: 959px) {
  .lightblue-wrapper {
    padding: 37.5px 0 60px;
  }
}

@media screen and (max-width: 639px) {
  .lightblue-wrapper {
    padding: 25px 0 40px;
  }
}

.lightblue-wrapper h3 {
  text-align: center;
}

.arrow-box {
  text-align: center;
  margin-top: 80px;
}

@media screen and (max-width: 959px) {
  .arrow-box {
    margin-top: 60px;
  }
}

@media screen and (max-width: 639px) {
  .arrow-box {
    margin-top: 40px;
  }
}

.arrow-box em {
  letter-spacing: 0rem;
  font-weight: bold;
  font-style: normal;
  display: block;
  margin-bottom: 6px;
}

@media screen and (max-width: 1199px) {
  .arrow-box .arrow img {
    width: 7.3125%;
  }
}

@media screen and (max-width: 639px) {
  .arrow-box .arrow img {
    width: 12%;
  }
}

.blue {
  color: #006daf;
}

/*
 intro
 */
.intro.mod__block {
  padding-top: 0;
}

.intro h2 {
  color: #006daf;
  line-height: 1;
}

.intro h2 .model-number {
  color: #444;
}

@media screen and (max-width: 639px) {
  .intro .s-title-wrapper .s-title {
    text-align: left;
  }
}

.intro .product-wrapper-01 {
  display: flex;
  justify-content: center;
  position: relative;
}

@media screen and (max-width: 639px) {
  .intro .product-wrapper-01 {
    display: block;
  }
}

.intro .product-wrapper-01 .img-box,
.intro .product-wrapper-01 .text-box {
  flex: 0 1 auto;
}

@media screen and (max-width: 767px) {
  .intro .product-wrapper-01 .img-box,
  .intro .product-wrapper-01 .text-box {
    margin-top: 30px;
  }
}

@media screen and (max-width: 639px) {
  .intro .product-wrapper-01 .img-box,
  .intro .product-wrapper-01 .text-box {
    text-align: center;
  }
}

.intro .product-wrapper-01 .img-box {
  margin-top: -28px;
}

@media screen and (max-width: 1199px) {
  .intro .product-wrapper-01 .img-box {
    flex: 0 0 35%;
  }
}

@media screen and (max-width: 959px) {
  .intro .product-wrapper-01 .img-box {
    margin-top: 40px;
  }
}

@media screen and (max-width: 639px) {
  .intro .product-wrapper-01 .img-box {
    margin: 20px auto 0;
    width: 60%;
  }
}

.intro .product-wrapper-01 .text-box {
  margin-left: 56px;
  margin-top: 40px;
}

@media screen and (max-width: 1199px) {
  .intro .product-wrapper-01 .text-box {
    margin-left: 2.917%;
  }
}

@media screen and (max-width: 639px) {
  .intro .product-wrapper-01 .text-box {
    margin-left: 0;
  }
}

.intro .product-wrapper-01 p {
  margin-top: 36px;
  font-weight: bold;
  margin-bottom: 50px;
}

@media screen and (max-width: 1199px) {
  .intro .product-wrapper-01 p {
    margin-bottom: 2.6%;
  }
}

.intro .three-columns {
  padding: 0;
  list-style: none;
  width: 100%;
  justify-content: center;
}

@media screen and (max-width: 479px) {
  .intro .three-columns {
    display: block;
  }
}

.intro .three-columns .item {
  flex: 0 0 29.08%;
}

@media screen and (max-width: 479px) {
  .intro .three-columns .item {
    text-align: center;
  }
}

.intro .three-columns .item:nth-of-type(n+2) {
  margin-left: 76px;
}

@media screen and (max-width: 1199px) {
  .intro .three-columns .item:nth-of-type(n+2) {
    margin-left: 4%;
  }
}

@media screen and (max-width: 479px) {
  .intro .three-columns .item:nth-of-type(n+2) {
    margin-left: 0;
    margin-top: 4%;
  }
}

.intro .three-columns .item .caption {
  line-height: 1.67;
  letter-spacing: 0rem;
  margin-top: 24px;
  text-align: center;
  font-weight: bold;
  color: #000;
}

@media screen and (max-width: 1199px) {
  .intro .three-columns .item .caption {
    margin-top: 1.25vw;
    font-size: 2.2vw;
  }
}

@media screen and (max-width: 479px) {
  .intro .three-columns .item .caption {
    font-size: 1.75rem;
  }
}

.intro .one-column {
  position: relative;
}

.intro .one-column .one-column-text-outer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 479px) {
  .intro .one-column .one-column-text-outer {
    align-items: flex-end;
  }
}

.intro .one-column .one-column-text-outer h3,
.intro .one-column .one-column-text-outer p {
  color: #fff;
  text-align: center;
  text-shadow: 1px 1px 30px rgba(0, 0, 0, 0.4), -1px 1px 30px rgba(0, 0, 0, 0.4), 1px -1px 30px rgba(0, 0, 0, 0.4), -1px -1px 30px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 959px) {
  .intro .one-column .one-column-text-outer h3 {
    font-size: 4.16vw;
  }
}

@media screen and (max-width: 479px) {
  .intro .one-column .one-column-text-outer h3 {
    font-size: 2.75rem;
  }
  .intro .one-column .one-column-text-outer h3,
  .intro .one-column .one-column-text-outer p {
    text-shadow: none;
  }
}

@media screen and (max-width: 374px) {
  .intro .one-column .one-column-text-outer h3 {
    font-size: 2.5rem;
  }
}

.intro .one-column .one-column-text-outer p {
  margin-top: 50px;
  line-height: 3.75rem;
}

@media screen and (max-width: 1199px) {
  .intro .one-column .one-column-text-outer p {
    margin-top: 1.75vw;
    line-height: 1.875;
  }
}

@media screen and (max-width: 959px) {
  .intro .one-column .one-column-text-outer p {
    font-size: 2.5vw;
  }
  .intro .one-column .one-column-text-outer p .large {
    font-size: 3.75vw;
  }
}

@media screen and (max-width: 479px) {
  .intro .one-column .one-column-text-outer p {
    font-size: 1.75rem;
  }
  .intro .one-column .one-column-text-outer p .large {
    font-size: 2rem;
  }
}

@media screen and (max-width: 374px) {
  .intro .one-column .one-column-text-outer p {
    font-size: 1.4rem;
  }
  .intro .one-column .one-column-text-outer p .large {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 479px) {
  .intro .one-column .one-column-text {
    max-width: 93.75%;
    margin-bottom: 2.5vw;
  }
}

.intro .product-wrapper-02 {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 1199px) {
  .intro .product-wrapper-02 {
    margin-top: 4.16vw;
  }
}

@media screen and (max-width: 479px) {
  .intro .product-wrapper-02 {
    display: block;
  }
}

.intro .product-wrapper-02 .product,
.intro .product-wrapper-02 .text {
  flex: 0 0 auto;
}

@media screen and (max-width: 479px) {
  .intro .product-wrapper-02 .product,
  .intro .product-wrapper-02 .text {
    text-align: center;
  }
}

@media screen and (max-width: 1199px) {
  .intro .product-wrapper-02 .product {
    flex: 0 0 20%;
  }
}

@media screen and (max-width: 767px) {
  .intro .product-wrapper-02 .product {
    flex: 0 0 30%;
  }
}

.intro .product-wrapper-02 .text {
  margin-left: 24px;
  font-weight: bold;
  line-height: 3rem;
}

@media screen and (max-width: 479px) {
  .intro .product-wrapper-02 .text {
    margin-left: 0;
    margin-top: 4.16vw;
  }
}

.section-header {
  background-size: cover;
  background-position: center center;
  height: 600px;
}

@media screen and (max-width: 1199px) {
  .section-header {
    height: 31.25vw;
  }
}

@media screen and (max-width: 639px) {
  .section-header {
    height: 200px;
  }
}

.section-02 .section-header {
  background-image: url(../img/02.jpg);
}

@media screen and (max-width: 1199px) {
  .section-02 .section-header {
    background-position: left center;
  }
}

@media screen and (max-width: 639px) {
  .section-02 .section-header {
    background-position: left center;
  }
}
@media screen and (max-width: 479px) {
  .section-02 .section-header {
    background-position: right -140px center;
  }
}

.section-02 .section-header-inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
}

.section-02 .section-header-inner h2 {
  line-height: 1.67;
  flex: 0 0 auto;
  text-align: center;
}

@media screen and (max-width: 1199px) {
  .section-02 .section-header-inner h2 {
    font-size: 3vw;
  }
}

@media screen and (max-width: 639px) {
  .section-02 .section-header-inner h2 {
    font-size: 1.625rem;
  }
}

@media screen and (max-width: 374px) {
  .section-02 .section-header-inner h2 {
    text-shadow: 1px 1px 10px #fff, -1px 1px 10px #fff, 1px -1px 10px #fff, -1px -1px 10px #fff;
  }
}

.section-02 h3 {
  text-align: center;
}

.section-02 h3 .large {
  line-height: 1.67;
}

.section-02 .animation-wrapper {
  overflow: hidden;
  justify-content: center;
  background: #ebeaea;
  border-radius: 10px;
  padding: 0 16px;
  display: block;
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper {
    display: block;
  }
}

.section-02 .animation-wrapper .item {
  position: relative;
  flex: 0 1 50%;
  /*height: 520px;*/
  overflow:hidden;
}
@-moz-document url-prefix() {
    .section-02 .animation-wrapper .item {
	  height: 800px;
	}
}

@media screen and (max-width: 1199px) {
  .section-02 .animation-wrapper .item {
    /*height: 46vw;*/
  }
  @-moz-document url-prefix() {
    .section-02 .animation-wrapper .item {
	  height: 74vw;
	}
  }
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper .item {
    height: 80vw;
    overflow: hidden;
  }
}

.section-02 .animation-wrapper .title {
  position: absolute;
  /*display: flex;*/
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #006daf;
  color: #fff;
  z-index: 1;
  top: 28px;
  left: 28px;
}

@media screen and (max-width: 1199px) {
  .section-02 .animation-wrapper .title {
    width: 16vw;
    height: 16vw;
    top: 14px;
    left: 6px;
  }
}

@media screen and (max-width: 727px) {
  .section-02 .animation-wrapper .title {
    width: 22vw;
    height: 22vw;
  }
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper .title {
    width: 24vw;
    height: 24vw;
  }
}


.section-02 .animation-wrapper h4 {
  font-size: 1.5rem;
  line-height: 1;
  text-align: center;
}
.section-02 .animation-wrapper strong {
  display: block;
  text-align: center;
}

@media screen and (max-width: 1199px) {
  .section-02 .animation-wrapper h4 {
    line-height: 1.1;
    font-size: 2vw;
  }
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper .r-title {
	  left: 8px;
	}
  .section-02 .animation-wrapper h4 {
    font-size: 3.5vw;
  }
}

.section-02 .animation-wrapper h4 .large {
  display: inline-block;
  margin-top: .5rem;
}

@media screen and (max-width: 1199px) {
  .section-02 .animation-wrapper h4 .large {
    margin-top: .2rem;
    font-size: 3vw;
  }
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper h4 .large {
    font-size: 4.5vw;
  }
}

.section-02 .animation-wrapper .human {
  position: relative;
  text-align: center;
  zoom: 1.5;
  transform-origin: 0 0;
  -moz-transform: scale(1.5);
}

@-moz-document url-prefix() {
    .section-02 .animation-wrapper .human {
		width:66.75%;
	}
}
_:-ms-lang(x)::-ms-backdrop, .section-02 .animation-wrapper .human {
	width:66.75%;
}

.section-02 .animation-wrapper .human .human-img {
  position: relative;
  top: -96px;
  left: 12.7%;
}

@media screen and (max-width: 1199px) {
  .section-02 .animation-wrapper .human .human-img {
    width: 70%;
    top: -5vw;
    margin: 0 0 0 auto;
	left: 0;
  }
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper .human {
	  text-align: right;
	  zoom: 1;
	  transform-origin: 0 0;
     -moz-transform: scale(1);
	}
	@-moz-document url-prefix() {
		.section-02 .animation-wrapper .human {
			width:auto;
		}
	}
	_:-ms-lang(x)::-ms-backdrop, .section-02 .animation-wrapper .human {
	width:auto;
  }
  .section-02 .animation-wrapper .human .human-img {
    width: 60%;
	left: 0;
  }
}

.section-02 .animation-wrapper .human .wave {
  position: absolute;
  opacity: 0;
}

.section-02 .animation-wrapper .l-human .wave {
  top: 38px;
  left: 24.7%;
}

@media screen and (max-width: 1199px) {
  .section-02 .animation-wrapper .l-human .wave {
    top: 14.4%;
    left: 17%;
    width: 70%;
  }
}

@media screen and (max-width: 1100px) {
  .section-02 .animation-wrapper .l-human .wave {
    top: 15.7%;
    left: 15.4%;
  }
}

@media screen and (max-width: 1000px) {
  .section-02 .animation-wrapper .l-human .wave {
    top: 16%;
    left: 13.8%;
  }
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper .l-human .wave {
    width: 60%;
    left: 26.5%;
    top: 18.6%;
  }
}

.section-02 .animation-wrapper .r-human .r-wave-01 {
  top: 171px;
  left: 43%;
}

@media screen and (max-width: 1199px) {
  .section-02 .animation-wrapper .r-human .r-wave-01 {
    width: 33%;
    top: 38.5%;
    left: 40.4%;
  }
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper .r-human .r-wave-01 {
    width: 28.5%;
    left: 47.2%;
    top: 42%;
  }
}

.section-02 .animation-wrapper .r-human .r-wave-02 {
  top: 155px;
 left: 41%;
}

@media screen and (max-width: 1199px) {
  .section-02 .animation-wrapper .r-human .r-wave-02 {
    width: 38%;
    top: 36%;
    left: 38%;
  }
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper .r-human .r-wave-02 {
    width: 33.5%;
    top: 38.5%;
    left: 44.7%;
  }
}

.section-02 .animation-wrapper .caption {
  letter-spacing: 0rem;
  text-align: center;
  position: absolute;
  bottom: 80px;
  left: 0;
  width: 100%;
}

@media screen and (max-width: 1199px) {
  .section-02 .animation-wrapper .caption {
    bottom: 3.4%;
    font-size: 2.2vw;
  }
}

@media screen and (max-width: 479px) {
  .section-02 .animation-wrapper .caption {
    font-size: 4vw;
    position: relative;
  }
}

.section-02 .s-last {
  line-height: 1.34;
  text-align: center;
  font-weight: bold;
}

.section-03 .slidein {
  margin-top: 48px;
  position: relative;
  height: 530px;
}

@media screen and (max-width: 1199px) {
  .section-03 .slidein {
    height: 35vw;
    margin-top: 5%;
  }
}

@media screen and (max-width: 479px) {
  .section-03 .slidein {
    height: auto;
    margin-top: 10%;
  }
}

.section-03 .slidein .img-box {
  position: absolute;
  top: 0;
  z-index: 1;
}

@media screen and (max-width: 1199px) {
  .section-03 .slidein .img-box {
    width: 50%;
  }
}

@media screen and (max-width: 479px) {
  .section-03 .slidein .img-box {
    position: static;
    width: 100%;
    text-align: center;
  }
  .section-03 .slidein .img-box img {
    width: 80%;
  }
}

.section-03 .slidein .img-box em {
  display: none;
}

@media screen and (max-width: 479px) {
  .section-03 .slidein .img-box em {
    font-weight: bold;
    display: block;
    margin-bottom: 5%;
    font-size: 2.2rem;
  }
}

.section-03 .slidein .text-box {
  position: absolute;
  top: 80px;
}

@media screen and (max-width: 479px) {
  .section-03 .slidein .text-box {
    position: static;
  }
}

.section-03 .slidein em {
  font-style: normal;
  display: block;
  letter-spacing: 0rem;
}

@media screen and (max-width: 1199px) {
  .section-03 .slidein em {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 479px) {
  .section-03 .slidein em {
    display: none;
  }
}

.section-03 .slidein .inner {
  margin-top: 30px;
  height: 270px;
  background: #474444;
  color: #fff;
  padding: 0 50px;
  display: flex;
  align-items: center;
  border-radius: 10px;
}

@media screen and (max-width: 1199px) {
  .section-03 .slidein .inner {
    margin-top: 2%;
    height: 18.5vw;
    padding: 0 3%;
  }
  .section-03 .slidein .inner p {
    font-size: 2vw;
  }
  .section-03 .slidein .inner p .large {
    font-size: 2.6vw;
  }
}

@media screen and (max-width: 479px) {
  .section-03 .slidein .inner {
    height: auto;
  }
  .section-03 .slidein .inner p {
    font-size: 1.5rem;
  }
  .section-03 .slidein .inner p .large {
    font-size: 1.875rem;
  }
}

.section-03 #slidein1 .img-box {
  left: -122px;
}

@media screen and (max-width: 1199px) {
  .section-03 #slidein1 .img-box {
    left: -8%;
  }
}

.section-03 #slidein1 .text-box {
  right: 0;
  left: 200px;
}

@media screen and (max-width: 1199px) {
  .section-03 #slidein1 .text-box {
    top: 11.5%;
    left: 6%;
  }
}

.section-03 #slidein1 em {
  text-align: right;
}

@media screen and (max-width: 479px) {
  .section-03 #slidein1 em {
    text-align: center;
  }
}

.section-03 #slidein1 .inner {
  padding-left: 420px;
  padding-right: 20px;
}

@media screen and (max-width: 1199px) {
  .section-03 #slidein1 .inner {
    padding-left: 43%;
    padding-right: 2%;
  }
}

@media screen and (max-width: 479px) {
  .section-03 #slidein1 .inner {
    padding: 5%;
  }
}

.section-03 #slidein2 .img-box {
  right: -164px;
}

@media screen and (max-width: 1199px) {
  .section-03 #slidein2 .img-box {
    right: -11.5%;
  }
}

@media screen and (max-width: 479px) {
  .section-03 #slidein2 .img-box {
    top: 37%;
    right: -8.5%;
  }
}

.section-03 #slidein2 .text-box {
  left: 0;
  right: 200px;
}

@media screen and (max-width: 1199px) {
  .section-03 #slidein2 .text-box {
    top: 15%;
    right: 6%;
  }
}

.section-03 #slidein2 em {
  text-align: left;
}

@media screen and (max-width: 479px) {
  .section-03 #slidein2 em {
    text-align: center;
  }
}

.section-03 #slidein2 .inner {
  padding-right: 350px;
}

@media screen and (max-width: 1199px) {
  .section-03 #slidein2 .inner {
    padding-right: 30%;
    padding-left: 5%;
  }
}

@media screen and (max-width: 479px) {
  .section-03 #slidein2 .inner {
    padding: 5%;
  }
}

.section-03 #slidein3 .img-box {
  left: -126px;
}

@media screen and (max-width: 1199px) {
  .section-03 #slidein3 .img-box {
    left: -9.3%;
  }
}

@media screen and (max-width: 479px) {
  .section-03 #slidein3 .img-box {
    left: -7.3%;
  }
}

.section-03 #slidein3 .text-box {
  right: 0;
  left: 200px;
}

@media screen and (max-width: 1199px) {
  .section-03 #slidein3 .text-box {
    left: 6%;
    top: 13%;
  }
}

.section-03 #slidein3 em {
  text-align: right;
}

@media screen and (max-width: 479px) {
  .section-03 #slidein3 em {
    text-align: center;
  }
}

.section-03 #slidein3 .inner {
  padding-left: 360px;
}

@media screen and (max-width: 1199px) {
  .section-03 #slidein3 .inner {
    padding-left: 43%;
    padding-right: 2%;
  }
}

@media screen and (max-width: 479px) {
  .section-03 #slidein3 .inner {
    padding: 5%;
  }
}

.section-03 .one-column {
  text-align: center;
}

@media screen and (max-width: 1199px) {
  .section-03 .one-column {
    margin-top: 10%;
  }
}

@media screen and (max-width: 479px) {
  .section-03 .one-column .fs32 {
    font-size: 1.5rem;
  }
  .section-03 .one-column .fs32 .large {
    font-size: 1.875rem;
  }
}

.section-03 .lightblue-wrapper .product-wrapper {
  justify-content: center;
}

@media screen and (max-width: 959px) {
  .section-03 .lightblue-wrapper .product-wrapper {
    display: block;
  }
}

.section-03 .lightblue-wrapper .product {
  box-sizing: border-box;
  flex: 0 0 30%;
  padding: 2.08% 4.67%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: #fff;
}

.section-03 .lightblue-wrapper .product img {
  width: 100%;
}

@media screen and (max-width: 959px) {
  .section-03 .lightblue-wrapper .product {
    width: 30%;
    min-width: 240px;
    margin: 0 auto;
  }
}

.section-03 .lightblue-wrapper .text {
  margin-left: 48px;
}

@media screen and (max-width: 959px) {
  .section-03 .lightblue-wrapper .text {
    margin-top: 36px;
    margin-left: 0;
  }
}

@media screen and (max-width: 639px) {
  .section-03 .lightblue-wrapper .text {
    margin-top: 24px;
  }
}

.section-03 .lightblue-wrapper .title {
  line-height: 1;
  font-weight:bold;
}

@media screen and (max-width: 959px) {
  .section-03 .lightblue-wrapper .title {
    text-align: center;
  }
}

.section-03 .lightblue-wrapper .button-wrapper {
  align-items: flex-end;
  margin-top: 15%;
}

@media screen and (max-width: 959px) {
  .section-03 .lightblue-wrapper .button-wrapper {
    margin-top: 36px;
    justify-content: center;
  }
}

@media screen and (max-width: 639px) {
  .section-03 .lightblue-wrapper .button-wrapper {
    margin-top: 24px;
    display: block;
  }
}

.section-03 .lightblue-wrapper .button-wrapper > div {
  flex: 0 1 360px;
}

.section-03 .lightblue-wrapper .button-wrapper > div:last-child {
  margin-left: 42px;
  margin-top: 0;
}

@media screen and (max-width: 959px) {
  .section-03 .lightblue-wrapper .button-wrapper > div:last-child {
    margin-left: 31.5px;
  }
}

@media screen and (max-width: 639px) {
  .section-03 .lightblue-wrapper .button-wrapper > div:last-child {
    margin-left: 0;
    margin-top: 18px;
  }
}

.section-03 .lightblue-wrapper .button-wrapper p.fs22 {
  letter-spacing: 0rem;
  text-align: left;
  margin-bottom: 6px;
  margin-top: 15%;
}
@media screen and (max-width: 959px) {
  .section-03 .lightblue-wrapper .button-wrapper p.fs22 {
    text-align: center;
	margin-top: 0%;
  }
}

@media screen and (max-width: 639px) {
  .section-03 .lightblue-wrapper .button-wrapper p.fs22 {
    text-align: center;
    font-size: 1.2rem;	
  }
}

.section-04 .section-header {
  background: #eeeaea;
  padding: 60px 0 80px;
  text-align: center;
  height: auto;
}

.section-04 .section-header h2 {
  /*font-weight: normal;*/
  color: #006daf;
  margin-bottom: 36px;
}

.section-04 .section-header .product-wrapper {
  justify-content: space-between;
  position: relative;
}

.section-04 .section-header .product-wrapper .left,
.section-04 .section-header .product-wrapper .right {
  flex: 0 0 22.5%;
}

@media screen and (max-width: 639px) {
  .section-04 .section-header .product-wrapper .left,
  .section-04 .section-header .product-wrapper .right {
    flex: 0 0 28%;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .left,
  .section-04 .section-header .product-wrapper .right {
    flex: 0 0 46%;
    top: 0;
  }
}

.section-04 .section-header .product-wrapper .left {
  left: 0;
}

.section-04 .section-header .product-wrapper .right {
  right: 0;
}

.section-04 .section-header .product-wrapper .text-box {
  max-width: 270px;
  width: 100%;
  height: 188px;
  border-radius: 5px;
  background: #006daf;
  color: #fff;
  box-sizing: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .text-box {
    height: 15vw;
  }
}

@media screen and (max-width: 639px) {
  .section-04 .section-header .product-wrapper .text-box {
    height: 17vw;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .text-box {
    height: 30vw;
  }
}

.section-04 .section-header .product-wrapper .text-box .fs24 {
  line-height: 1;
  font-weight:bold;
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .text-box .fs24 {
    font-size: 1.6vw;
    line-height: 1.28;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .text-box .fs24 {
    font-size: 1.2rem;
  }
}

.section-04 .section-header .product-wrapper .text-box .fs24 .fs36 {
  line-height: 1.28;
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .text-box .fs24 .fs36 {
    font-size: 2.6vw;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .text-box .fs24 .fs36 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .text-box {
    padding: 2%;
    box-sizing: border-box;
  }
}

.section-04 .section-header .product-wrapper .box-02,
.section-04 .section-header .product-wrapper .box-04 {
  margin-top: 28px;
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .box-02,
  .section-04 .section-header .product-wrapper .box-04 {
    margin-top: 10%;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .box-02,
  .section-04 .section-header .product-wrapper .box-04 {
    margin-top: 50vw;
  }
}

.section-04 .section-header .product-wrapper .box-01,
.section-04 .section-header .product-wrapper .box-03,
.section-04 .section-header .product-wrapper .box-04 {
  position: relative;
}

.section-04 .section-header .product-wrapper .box-01::before,
.section-04 .section-header .product-wrapper .box-03::before,
.section-04 .section-header .product-wrapper .box-04::before {
  content: '';
  display: block;
  position: absolute;
  height: 2px;
  width: 72%;
  background: #006daf;
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .box-01::before,
  .section-04 .section-header .product-wrapper .box-03::before,
  .section-04 .section-header .product-wrapper .box-04::before {
    width: 75%;
  }
}

@media screen and (max-width: 639px) {
  .section-04 .section-header .product-wrapper .box-01::before,
  .section-04 .section-header .product-wrapper .box-03::before,
  .section-04 .section-header .product-wrapper .box-04::before {
    width: 43%;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .box-01::before,
  .section-04 .section-header .product-wrapper .box-03::before,
  .section-04 .section-header .product-wrapper .box-04::before {
    width: 2px;
    height: 40%;
  }
}

.section-04 .section-header .product-wrapper .box-01::before {
  right: -175px;
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .box-01::before {
    right: -70%;
  }
}

@media screen and (max-width: 639px) {
  .section-04 .section-header .product-wrapper .box-01::before {
    right: -35%;
  }
}

.section-04 .section-header .product-wrapper .box-03,
.section-04 .section-header .product-wrapper .box-04 {
  z-index: 2;
}

.section-04 .section-header .product-wrapper .box-03::before,
.section-04 .section-header .product-wrapper .box-04::before {
  left: -195px;
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .box-03::before,
  .section-04 .section-header .product-wrapper .box-04::before {
    left: -68%;
  }
}

@media screen and (max-width: 639px) {
  .section-04 .section-header .product-wrapper .box-03::before,
  .section-04 .section-header .product-wrapper .box-04::before {
    left: -32%;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .box-03::before,
  .section-04 .section-header .product-wrapper .box-04::before {
    left: 32%;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .box-01::before,
  .section-04 .section-header .product-wrapper .box-03::before {
    top: 100%;
    height: 45%;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .box-01::before {
    right: 32%;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .box-04::before {
    bottom: 100%;
  }
}

.section-04 .section-header .product-wrapper .product {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .product {
    flex: 0 0 32%;
  }
}

@media screen and (max-width: 639px) {
  .section-04 .section-header .product-wrapper .product {
    flex: 0 0 35%;
  }
}

@media screen and (max-width: 479px) {
  .section-04 .section-header .product-wrapper .product {
    width: 50%;
    margin: 0 auto;
    position: absolute;
    top: 27.5%;
    left: 25%;
  }
}

.section-04 .section-header .product-wrapper .product img {
  margin-top: 30px;
}

@media screen and (max-width: 1199px) {
  .section-04 .section-header .product-wrapper .product img {
    margin-top: 6%;
  }
}

.section-04 .mod__inner-l, .section-04 .section-02 .section-header-inner, .section-02 .section-04 .section-header-inner {
  text-align: center;
}

.section-04 .mod__inner-l h3, .section-04 .section-02 .section-header-inner h3, .section-02 .section-04 .section-header-inner h3 {
  /*font-weight: normal;*/
}

.section-04 .mod__inner-l > p, .section-04 .section-02 .section-header-inner > p, .section-02 .section-04 .section-header-inner > p {
  font-weight: bold;
}

@media screen and (max-width: 1199px) {
  .section-05 .s-title {
    text-align: left;
  }
}

.section-05 .s-product-box {
  margin-left: 16px;
}

.section-05 .mod__inner-l, .section-05 .section-02 .section-header-inner, .section-02 .section-05 .section-header-inner {
  text-align: center;
}

.section-05 .mod__inner-l > p, .section-05 .section-02 .section-header-inner > p, .section-02 .section-05 .section-header-inner > p {
  font-weight: bold;
}

.section-05 .mod__inner-l .img, .section-05 .section-02 .section-header-inner .img, .section-02 .section-05 .section-header-inner .img {
  max-width: none;
  width: 108.5%;
}

.section-06 .s-product-box {
  margin-left: 16px;
}

.section-06 .mod__inner-l, .section-06 .section-02 .section-header-inner, .section-02 .section-06 .section-header-inner {
  text-align: center;
}

.section-06 .mod__inner-l h3, .section-06 .section-02 .section-header-inner h3, .section-02 .section-06 .section-header-inner h3 {
  /*font-weight: normal;*/
}

.section-06 .onepoint {
  max-width: 800px;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  background: #edeaea;
  border-radius: 10px;
  padding: 10px;
  color: #006daf;
  box-sizing: border-box;
}

.section-06 .hand {
  flex: 0 0 auto;
}

@media screen and (max-width: 639px) {
  .section-06 .hand img {
    width: 60%;
  }
}

.section-06 .hand p {
  font-weight: bold;
}

.section-06 .img-0602 + p {
  font-weight: bold;
}

.section-06 .caption {
  font-size: 0.875rem;
}

.section-06 .lightblue-wrapper .mod__inner-l, .section-06 .lightblue-wrapper .section-02 .section-header-inner, .section-02 .section-06 .lightblue-wrapper .section-header-inner {
  margin-top: 0;
}

@media screen and (max-width: 1365px) {
  .section-06 .lightblue-wrapper .mod__inner-l .flex, .section-06 .lightblue-wrapper .section-02 .section-header-inner .flex, .section-02 .section-06 .lightblue-wrapper .section-header-inner .flex {
    margin: 0 30px;
  }
}

@media screen and (max-width: 639px) {
  .section-06 .lightblue-wrapper .mod__inner-l .flex, .section-06 .lightblue-wrapper .section-02 .section-header-inner .flex, .section-02 .section-06 .lightblue-wrapper .section-header-inner .flex {
    margin: 0 20px;
  }
}

@media screen and (max-width: 479px) {
  .section-06 .lightblue-wrapper .mod__inner-l .flex, .section-06 .lightblue-wrapper .section-02 .section-header-inner .flex, .section-02 .section-06 .lightblue-wrapper .section-header-inner .flex {
    display: block;
  }
}

.section-06 .lightblue-wrapper .item {
  position: relative;
  margin-top: 56px;
  flex: 0 1 47.8%;
}

@media screen and (max-width: 959px) {
  .section-06 .lightblue-wrapper .item {
    margin-top: 42px;
  }
}

@media screen and (max-width: 639px) {
  .section-06 .lightblue-wrapper .item {
    margin-top: 28px;
  }
}

.section-06 .lightblue-wrapper .item .circle {
  position: absolute;
  top: -40px;
  left: -40px;
  background: #006daf;
  color: #fff;
  border-radius: 50%;
  width: 128px;
  height: 128px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 1365px) {
  .section-06 .lightblue-wrapper .item .circle {
    top: -30px;
    left: -30px;
  }
}

@media screen and (max-width: 1199px) {
  .section-06 .lightblue-wrapper .item .circle {
    width: 10.67vw;
    height: 10.67vw;
  }
}

@media screen and (max-width: 639px) {
  .section-06 .lightblue-wrapper .item .circle {
    top: -20px;
    left: -20px;
  }
}

@media screen and (max-width: 479px) {
  .section-06 .lightblue-wrapper .item .circle {
    width: 20vw;
    height: 20vw;
  }
}

.section-06 .lightblue-wrapper .item .circle p {
  line-height: 1;
  font-weight: bold;
  margin-top: 16px;
}

@media screen and (max-width: 1199px) {
  .section-06 .lightblue-wrapper .item .circle p {
    margin-top: 10%;
    font-size: 2.4vw;
  }
  .section-06 .lightblue-wrapper .item .circle p .fs24 {
    font-size: 1.8vw;
  }
}

@media screen and (max-width: 479px) {
  .section-06 .lightblue-wrapper .item .circle p {
    font-size: 4.6vw;
  }
  .section-06 .lightblue-wrapper .item .circle p .fs24 {
    font-size: 3.2vw;
  }
}

.section-06 .lightblue-wrapper .item img {
  border-radius: 16px;
}

.section-06 .lightblue-wrapper .item:last-child {
  margin-left: 48px;
}

@media screen and (max-width: 639px) {
  .section-06 .lightblue-wrapper .item:last-child {
    margin-left: 36px;
  }
}

@media screen and (max-width: 479px) {
  .section-06 .lightblue-wrapper .item:last-child {
    margin-left: 0;
    margin-top: 24px;
  }
}

.section-06 .lightblue-wrapper .item > p {
  font-weight: bold;
}

.section-06 .lightblue-wrapper .item .caption {
  margin-top: 0;
  font-weight: normal;
}

.section-07 .mod__inner-l, .section-07 .section-02 .section-header-inner, .section-02 .section-07 .section-header-inner {
  text-align: center;
}

.section-07 h2 {
  color: #006daf;
}

.section-07 .item-wrapper {
  position: relative;
  border: 2px solid #006daf;
  border-radius: 16px;
}

@media screen and (max-width: 1365px) {
  .section-07 .item-wrapper {
    margin-left: 30px;
    margin-right: 30px;
  }
}

@media screen and (max-width: 639px) {
  .section-07 .item-wrapper {
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 14vw;
  }
}

.section-07 .item-wrapper .circle {
  width: 176px;
  height: 176px;
  color: #fff;
  background: #006daf;
  border-radius: 50%;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: -54px;
  left: -46px;
}

@media screen and (max-width: 1365px) {
  .section-07 .item-wrapper .circle {
    left: -30px;
  }
}

@media screen and (max-width: 1199px) {
  .section-07 .item-wrapper .circle {
    width: 16vw;
    height: 16vw;
    top: -8vw;
  }
}

@media screen and (max-width: 639px) {
  .section-07 .item-wrapper .circle {
    left: -20px;
    width: 24vw;
    height: 24vw;
    top: -12vw;
  }
}

.section-07 .item-wrapper .circle p {
  line-height: 1.28;
  letter-spacing: 0rem;
  font-weight: bold;
}

@media screen and (max-width: 1199px) {
  .section-07 .item-wrapper .circle p {
    font-size: 2vw;
  }
}

@media screen and (max-width: 639px) {
  .section-07 .item-wrapper .circle p {
    font-size: 3vw;
  }
}

.section-07 .items {
  padding: 50px 50px 36px;
  box-sizing: border-box;
  flex-wrap: wrap;
  list-style: none;
}

@media screen and (max-width: 1365px) {
  .section-07 .items {
    padding: 80px 80px 36px;
  }
}

@media screen and (max-width: 1199px) {
  .section-07 .items {
    justify-content: flex-start;
    padding: 8vw 5% 4vw;
  }
}

@media screen and (max-width: 639px) {
  .section-07 .items {
    padding: 12vw 4% 4vw;
  }
}

.section-07 .item {
  flex: 0 0 25%;
  padding: 0 10px;
  box-sizing: border-box;
}

@media all and (-ms-high-contrast: none) {
  .section-07 .item {
    flex: 0 0 24%;
    padding: 0 .5%;
  }
}

.section-07 .item .img-box {
  height: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-07 .item .img-box .img {
  width: 100%;
  height: 100%;
}

.section-07 .item .img-box .ofi {
  object-fit: contain;
  font-family: 'object-fit:contain;';
}

@media screen and (max-width: 1199px) {
  .section-07 .item .img-box {
    height: 12.2vw;
  }
  .section-07 .item .img-box img {
    max-height: 100%;
    height: auto;
  }
}

@media screen and (max-width: 639px) {
  .section-07 .item .img-box {
    height: 14vw;
  }
}

.section-07 .item:nth-of-type(6) img {
  margin-top: 30px;
}

@media screen and (max-width: 1199px) {
  .section-07 .item:nth-of-type(6) img {
    margin-top: 10%;
  }
}

.section-07 .item:nth-of-type(8) img {
  margin-top: 20px;
}

@media screen and (max-width: 1199px) {
  .section-07 .item:nth-of-type(8) img {
    margin-top: 6.7%;
  }
}

.section-07 .item:nth-of-type(n+5) {
  margin-top: 16px;
}

.section-07 .item p {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .section-07 .item {
    flex: 0 0 33.333%;
  }
  .section-07 .item:nth-of-type(n+4) {
    margin-top: 16px;
  }
}

@media screen and (max-width: 639px) {
  .section-07 .item {
    flex: 0 0 50%;
  }
  .section-07 .item:nth-of-type(n+3) {
    margin-top: 16px;
  }
}

@media screen and (max-width: 767px) and (-ms-high-contrast: none) {
  .section-07 .item {
    flex: 0 0 32%;
  }
}

@media screen and (max-width: 639px) and (-ms-high-contrast: none) {
  .section-07 .item {
    flex: 0 0 49%;
  }
}

.section-07 .s7-full {
  background-image: url(../img/07-09.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  height: 673px;
  text-align: center;
}

@media screen and (max-width: 959px) {
  .section-07 .s7-full {
    height: 500px;
    background-position: left 40% center;
  }
}

@media screen and (max-width: 639px) {
  .section-07 .s7-full {
    height: 400px;
  }
}

@media screen and (max-width: 479px) {
  .section-07 .s7-full {
    height: 300px;
  }
}

@media screen and (max-width: 374px) {
  .section-07 .s7-full {
    height: 250px;
  }
}

.section-07 .s7-full .mod__inner-l, .section-07 .s7-full .section-02 .section-header-inner, .section-02 .section-07 .s7-full .section-header-inner {
  height: 100%;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-07 .s7-full p {
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.75), -1px 1px 10px rgba(0, 0, 0, 0.75), 1px -1px 10px rgba(0, 0, 0, 0.75), -1px -1px 10px rgba(0, 0, 0, 0.75);
}

@media screen and (max-width: 1199px) {
  .section-07 .lightblue-wrapper .product-wrapper {
    align-items: center;
  }
}

@media screen and (max-width: 479px) {
  .section-07 .lightblue-wrapper .product-wrapper {
    display: block;
  }
}

.section-07 .lightblue-wrapper .product {
  flex: 0 1 auto;
}

@media screen and (max-width: 1199px) {
  .section-07 .lightblue-wrapper .product {
    flex: 0 0 43%;
  }
}

@media screen and (max-width: 479px) {
  .section-07 .lightblue-wrapper .product {
    order: 1;
    flex: 0 0 100%;
    margin-top: 2%;
  }
}

.section-07 .lightblue-wrapper .text {
  margin-left: 48px;
  text-align: left;
  margin-top: 70px;
}

@media screen and (max-width: 1199px) {
  .section-07 .lightblue-wrapper .text {
    margin-left: 2%;
	margin-top: 0;
  }
}

@media screen and (max-width: 479px) {
  .section-07 .lightblue-wrapper .text {
    margin-left: 0;
  }
}

.section-07 .lightblue-wrapper .text h2 {
  color: #444;
}

@media screen and (max-width: 767px) {
  .section-07 .lightblue-wrapper .text h2 {
    font-size: 3.6vw;
  }
  .section-07 .lightblue-wrapper .text p {
    font-size: 2.6vw;
  }
}

@media screen and (max-width: 479px) {
  .section-07 .lightblue-wrapper .text {
    text-align: center;
  }
  .section-07 .lightblue-wrapper .text h2 {
    font-size: 1.75rem;
    margin-top: 2%;
  }
  .section-07 .lightblue-wrapper .text p {
    font-size: 1.4rem;
  }
}

.section-07 .lightblue-wrapper .caption-list {
  list-style: none;
  padding: 0;
  margin-top: 14px;
}

@media screen and (max-width: 1199px) {
  .section-07 .lightblue-wrapper .caption-list {
    margin-top: 2%;
  }
}

.section-07 .lightblue-wrapper .caption-list li {
  flex: 0 0 32%;
  background: #fff;
  border-radius: 10px;
  color: #006daf;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 28px 0;
}

@media screen and (max-width: 1199px) {
  .section-07 .lightblue-wrapper .caption-list li {
    border-radius: .8vw;
  }
}

@media screen and (max-width: 479px) {
  .section-07 .lightblue-wrapper .caption-list li {
    border-radius: 2vw;
  }
}

.section-07 .lightblue-wrapper .caption-list li:nth-of-type(n+2) {
  margin-left: 2%;
}

.section-07 .lightblue-wrapper .caption-list li p {
  line-height: 1.28;
  text-align: center;
  font-weight:bold;
}

.section-07 .lightblue-wrapper .caption-list.b120 {
  display: none;
}

@media screen and (max-width: 1199px) {
  .section-07 .lightblue-wrapper .caption-list.b120 {
    display: flex;
  }
}

@media screen and (max-width: 1199px) {
  .section-07 .lightblue-wrapper .caption-list.nb120 {
    display: none;
  }
}

.section-08 .clearfix .img-box {
  float: right;
}

@media screen and (max-width: 1199px) {
  .section-08 .clearfix .img-box {
    width: 50%;
  }
}

.section-08 ul {
  list-style: none;
  padding: 0;
  flex-wrap: wrap;
}

.section-08 ul li {
  box-sizing: border-box;
  flex: 0 0 18.4%;
}

.section-08 ul li:nth-of-type(n+2) {
  margin-left: 2%;
}

@media screen and (max-width: 767px) {
  .section-08 ul li {
    flex: 0 0 32%;
    margin-left: 2%;
  }
  .section-08 ul li:nth-of-type(3n+1) {
    margin-left: 0;
  }
  .section-08 ul li:nth-of-type(n+4) {
    margin-top: 5%;
  }
}

@media screen and (max-width: 479px) {
  .section-08 ul li {
    flex: 0 0 49%;
  }
  .section-08 ul li:nth-of-type(3n+1) {
    margin-left: auto;
  }
  .section-08 ul li:nth-of-type(n+3) {
    margin-top: 5%;
  }
  .section-08 ul li:nth-of-type(odd) {
    margin-left: 0;
  }
}

.section-08 ul li p {
  text-align: center;
  margin-top: 16px;
}

.section-08 ul li p::before {
  content: "\025b8";
  font-family: icon;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: middle;
  display: inline-block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0 .6em .05em 0;
  position:relative;
  top: -3px;
}

.section-08 h3 {
  text-align: center;
}

.section-08 h3 + p {
  text-align: center;
}

.section-08 .s5-button {
  display: block;
  max-width: 800px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0;
}
