/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */

[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}
@charset "UTF-8";
:root {
  --main-color: #00fff5;
}
/*--------------------------------
 全体
---------------------------------*/
body {
  font-family: "Times New Roman", "YuMincho",
  "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 16px;
  color: #333;
}
a {
  text-decoration: none;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.sp{
  display: none;
}
.sp-menu_logo{
  display: none;
}
/*--------------------------------
 フェードエフェクト
---------------------------------*/
.fadeUp, .slideLeft, .slideRight,.fadeIn{
  opacity: 0;
}
.active{
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
}
.fadeUp.active{
  animation-name: fadeUp;
}
@keyframes fadeUp{
  from{
    opacity: 0;
    transform: translateY(40px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}
.slideLeft.active{
  animation-name: slideLeft;
}
@keyframes slideLeft{
  from{
    opacity: 0;
    transform: translateX(40px);
  }
  to{
    opacity: 1;
    transform: translateX(0);
  }
}
.slideRight.active{
  animation-name: slideRight;
}
@keyframes slideRight{
  from{
    opacity: 0;
    transform: translateX(-40px);
  }
  to{
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeIn.active{
  animation-name: fadeIn;
}
@keyframes fadeIn{
  from{
    opacity: 0;
  }
  to{
    opacity: 1;
  }
}
/*--------------------------------
 見出し
---------------------------------*/
.section__heading {
  font-size: 60px;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
}
.heading__subtitle{
  display: block;
  font-size: 30px;
  margin-top: 28px;
}
.btn {
  display: inline-block;
  position: relative;
  width: 230px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
  margin: 0 auto;
  padding: 20px 0;
  transition: box-shadow 0.3s;
  background-color: var(--main-color);
}
.btn:hover {
  box-shadow: 0 0 18px 5px rgba(0, 255, 174, 0.6);
}
.btn--sm {
  width: 164px;
  font-size: 15px;
  padding: 15px 0;
}
/*--------------------------------
 レイアウト
---------------------------------*/
.container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 30px;
  z-index: 10;
}
/*--------------------------------
  header
---------------------------------*/
.header{
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 6px 10px rgba(0, 0, 0, .1);
  backdrop-filter: blur(3px);
}
.header-inner{
  height: 80px;
  padding: 0 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-logo{
  width: 160px;
  line-height: 1;
}
/*--------------------------------
 gnav
---------------------------------*/
.gnav-list{
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 70px;
}
.gnav-item{
  font-size: 16px;
  line-height: 1;
}
.gnav-item .line{
  display: block;
  cursor: pointer;
}
.gnav-btn{
  display: block;
  margin: 0 auto;
  padding: 10px 15px;
  border-radius: 30px;
  max-width: 240px;
  color: #fff;
  background: rgb(57,226,239);
  background: linear-gradient(55deg, rgba(57,226,239,1) 0%, rgba(16,144,255,1) 100%);
}
.btn-menu{
  display: none;
}
.gnav-list li{
  position: relative;
}
.line::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: #58c4d1;
  border-radius: 50%;
  bottom: -10px;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
  }
  .line:hover::after {
  transform: scale(1, 1);
  }
/*media Queries 1200
---------------------------------------------------*/
@media screen and (max-width: 1200px) {
  .gnav-list{
    display: block;
    position: relative;
  }
  .gnav_bg{
    display: block;
    position: absolute;
    top: 0px;
    right: -100%;
    width: 100%;
    height: 100vh;
    background: linear-gradient(45deg, rgba(20,139,182,1) 0%, rgba(20,170,182,1) 100%);
    opacity: .9;
    transition: 0.6s;
    padding-top: 40px;
    z-index: 50;
  }
  .gnav_bg.active{
    transition: 0.6s;
    transform: translateX(-100%);
    z-index: 50;
  }
  .gnav{
    display: block;
    position: absolute;
    top: 150px;
    right: -100%;
    width: 100%;
    height: auto;
    opacity: 0;
    transition: 0.4s;
  }
  .gnav.active{
    transform: translateX(-100%);
    opacity: 1;
    transition: 1s;
    z-index: 100;
  }
  .sp-menu_logo{
    display: block;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    /* left: calc((240px - 160px) / 2); */
    width: 160px;
    height: 33px;
    z-index: 100;
  }
  .gnav-item{
    font-size: 22px;
    color: #fff;
    text-align: center;
    margin-top: 55px;
  }
  .line:hover::after {
    transform: scale(0, 0);
    }
  .btn-menu {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    text-align: center;
    padding: 21px 16px;
    border: none; 
    outline: none; /*■■ クリックした時の、ボタンのアウトラインを非表示にする ■■*/
    background: none;
    background-color: #13C3D1;
    cursor: pointer;
    appearance: none; /*■■ inputタグに標準でついているcssを打ち消す ■■*/
  }
  .btn-menu__line {
    display: block;
    position: relative;
    left: 0;
    width: 100%;
    height: 2px;
    transition: all 0.4s;
    border-radius: 4px;
    background-color: #fff;
  }
  .btn-menu__line::before,
  .btn-menu__line::after {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    transition: inherit; /*■■ 親要素のアニメーションを継承する、これがない疑似要素のアニメーションが動かない ■■*/
    border-radius: 4px;
    background-color: #fff;
  }
  .btn-menu__line::before { top: -8px; }
  .btn-menu__line::after { top: 8px; }
  .btn-menu.active .btn-menu__line {
    background-color: transparent;  /*■■ 背景色を無効にするが、ここでは必要ない？？ ■■*/
  }
  .btn-menu.active .btn-menu__line::before,
  .btn-menu.active .btn-menu__line::after {
    top: 0;
    background-color: #fff; /*■■　必要？？　■■*/
  }
  .btn-menu.active .btn-menu__line::before { transform: rotate(45deg); }
  .btn-menu.active .btn-menu__line::after { transform: rotate(-45deg); }
}

/*--------------------------------
 mv
---------------------------------*/
.mv{
  margin-top: 80px;
  height: 640px;
  display: flex;
  position: relative;
  background-image: url(../img/mv_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
.mv-imageArea{
  height: 100%;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mv-fadeIn_1,.mv-fadeIn_2,.mv-fadeIn_3,.mv-fadeIn_4,.mv-fadeUp,.mv-slideLeft,.mv-slideRight{
  opacity: 0;
}
.mv-fadeIn_1{
  animation: .8s fadeIn 0.3s forwards;
}
.mv-fadeIn_2{
  animation: .8s fadeIn 0.45s forwards;
}
.mv-fadeIn_3{
  animation: .8s fadeIn 0.6s forwards;
}
.mv-fadeIn_4{
  animation: .8s fadeIn 0.75s forwards;
}
.mv-fadeUp{
  animation: .8s fadeUp 0.2s forwards;
}
.mv-slideLeft{
  animation: 1s slideLeft 0.2s forwards;
}
.mv-slideRight{
  animation: 1s slideRight 0.2s forwards;
}
/* ------ imageArea ------ */
.mv-imageArea img{
  margin-left: 15%;
  width: 460px;
}
.mv-titleArea{
  margin: auto 0;
}
.left_water{
  width: clamp(120px,18.4%,265px);
  position: absolute;
  left: 0;
  bottom: 0;
}
.right_water{
  width: clamp(113px,18.75%,270px);
  position: absolute;
  right: 0;
  top: 0;
}
/* ------ titleArea ------ */
.titleArea{
  display: flex;
}
.titleArea img{
  width: 87.5px;
  height: 87.5px;
}
.mv-title{
  font-size: 48px;
  margin-left: 10px;
  line-height: 1;
}
.mv-label{
  display: block;
  margin-top: 3px;
  font-size: 24px;
  line-height: 1;
}
.mv-subtitle{
  margin-top: 89px;
  font-size: 50px;
  line-height: 1.4;
  text-shadow: 10px 10px 6px #459da985;
}
.mv-schedule{
  margin-top: 72px;
}
.mv-date{
  font-size: 33px;
  line-height: 1;
  color: #00629F;
}
.mv-explanation{
  margin-top: 13px;
}
/* pagetop */
.page-top{
  display: none;
  position: fixed;
  right: 40px;
  bottom: 40px;
  border-radius: 50%;
  z-index: 1;
  box-shadow: 6px 6px 6px rgba(0, 0, 0, .16);
  cursor: pointer;
}
.page-top__link:hover{
  opacity: 0.8;
}

/*media Queries 1200
---------------------------------------------------*/
@media screen and (max-width: 1200px) {
  .header-inner{
    height: 60px;
    padding: 0 20px;
  }
  .header-logo{
    width: 97px;
  }
  .mv{
    margin-top: 60px;
    height: 580px;
  }
  .mv-imageArea img{
    /* margin-left: 13%; */
    width: 440px;
  }
  .mv-imageArea img{
    width: 430px;
  }
  .titleArea img{
    width: 80px;
    height: 80px;
  }
  .mv-title{
    font-size: 44px;
  }
  .mv-label{
    font-size: 24px;
  }
  .mv-subtitle{
    font-size: 42px;
    text-shadow: 6px 6px 4px #459da985;
  }
  .mv-date{
    font-size: 26px;
  }
  .mv-explanation{
    font-size: 15px;
  }
}
/*media Queries 800
---------------------------------------------------*/
@media screen and (max-width: 800px) {
  .sp{
    display: block;
  }
  .mv{
    background-position: bottom 80px left 0;
    height: 660px;
  }
  .mv-imageArea{
    position: absolute;
    width: 100%;
  }
  .mv-imageArea img{
    width: clamp(371px,50%,410px);
    margin: 0px auto 0;
  }
  .mv-titleArea{
    width: 100%;
    height: 100%;
    z-index: 2;
    position: relative;
    /* margin: 60px 3% auto auto; */
  }
  .left_water{
    margin-bottom: 80px;
  }
  .titleArea{
    margin-top: 18px;
    justify-content: center;
  }
  .mv-schedule{
    position: absolute;
    bottom: 0;
    /* left: 50%; */
    left: calc(50% - (290px / 2));
  }
  .mv-subtitle{
    font-size: clamp(26px, 4vw, 40px);
    line-height: 1.65;
    margin-top: 300px;
    margin-left: 60%;
  }
  .titleArea img{
    width: 60px;
    height: 60px;
  }
  .mv-title{
    font-size: 35px;
  }
  .mv-label{
    font-size: 17px;
  }
  .mv-schedule{
    font-size: 28px;
    margin-bottom: 13px;
    text-align: center;
  }
  .mv-explanation{
    margin-top: 10px;
    font-size: 14px;
  }
}
/*--------------------------------
 products
---------------------------------*/
/* ------ products ------ */
.products{
  position: relative;
  background-color: #F0F3F7;
  padding-top: 72px;
  padding-bottom: 200px;
  background-image: url(../img/cloth_right.png),url(../img/cloth_left.png);
  background-position: right top, left bottom;
	background-size: 50% auto, 50% auto;
	background-repeat: no-repeat, no-repeat;
}
.product-description{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 70px;
  column-gap: 90px;
  z-index: 10;
}
.product-imageArea{
  width: 440px;
  height: 440px;
  border-radius: 30px;
  background-color: #fff;
  box-shadow: 0 10px 36px rgba(0, 0, 0, .18);
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-textArea{
  position: relative;
  width: 580px;
}
.product-text{
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.01em;
}
.product-schedule{
  font-size: 24px;
  line-height: 1;
  margin-top: 45px;
  color: #13C3D1;
}
.product-line{
  margin-top:28px;
  width: 100%;
}
.product-price{
  margin-top: 30px;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2;
}
.product-viewmore{
  font-size: 24px;
  color: #13C3D1;
  position: absolute;
  right: 10px;
  bottom: 24px;
}
.product-viewmore::before{
  position: absolute;
  content: "";
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: solid 1px #13C3D1;
  bottom: -24px;
  left: -22px;
  pointer-events: none;
}
/* ------ twinBubble ------ */
.product-twinBubble{
  margin-top: 130px;
  z-index: 10;
}
.twinBubble-text{
  font-size: 40px;
  text-align: center;
}
.twinBubble-text p span{
  color: #13C3D1;
}
.bubbles{
  margin: 20px auto 0;
  width: 100%;
  display: flex;
  justify-content: center;
}
.left_bubble, .right_bubble{
  width: 100%;
  height: auto;
  animation: bubble 4s infinite;
}
@keyframes bubble {
 0% {transform: scale(1, 1);}
 25% {transform: scale(1.09, 0.95);}
 50% {transform: scale(0.95, 1.05);}
 75% {transform: scale(1.09, 0.95);}
}
.right_bubble{
  animation-delay: 0.5s;
}
.batu{
  width: 102px;
  height: 102px;
  margin: auto 55px auto 41px;
}
/* ------ recommend ------ */
.product-recommend{
  margin-top: 100px;
  padding: 55px 65px 80px 65px;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 30px;
  z-index: 10;
}
.recommend-title{
  font-size: 40px;
  text-align: center;
}
.recommend-example{
  margin-top: 54px;
  display: grid;
  grid-template-columns:1fr 1fr;
  row-gap: 32px;
  font-size: 26px;
}
.example{
  width: 420px;
  height: 40px;
}
.example img{
  height: 40px;
  margin-right: 26px;
}

/*waveanimation___________________________________________*/
.wave_ctn{
  position: absolute;
  bottom: 0;
  width: 100%;
}
.waves {
  position:relative;
  width: 100%;
  height: 96px;
  margin-bottom:-10px; /*Fix for safari gap*/
  min-height:96px;
  max-height:120px;
}
.wave_btm {
  position:relative;
  text-align:center;
  background-color: white;
  height: 500px;
  bottom: 0;
}

/* wave_Animation______________________________________ */
.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {transform: translate3d(-90px,0,0);}
  100% { transform: translate3d(85px,0,0);}
}

/*media Queries 1200
---------------------------------------------------*/
@media screen and (max-width: 1200px) {
  .products{  /* tablet */
    padding-top: 50px;
    padding-bottom: 90px;
  }
  .section__heading {
    font-size: 48px;
  }
  .heading__subtitle{
    font-size: 25px;
    margin-top: 25px;
  }
  .product-description{
    margin-top: 50px;
    column-gap: 50px;
  }
  .product-imageArea{
    width: 290px;
    height: 290px;
  }
  .product-imageArea img{
    width: 104px;
  }
  .product-textArea{
    max-width: 400px;
  }
  .product-text{
    font-size: 22px;
  }
  .product-schedule{
    font-size: 18px;
    margin-top: 30px;
  }
  .product-line{
    margin-top:24px;
  }
  .product-price{
    margin-top: 24px;
    font-size: 14px;
    line-height: 1.6;
  }
  .product-viewmore{
    font-size: 20px;
    right: 0px;
    bottom: 20px;
  }
  .product-viewmore::before{
    width: 60px;
    height: 60px;
    bottom: -20px;
    left: -19px;
    pointer-events: none;
  }
  /* ------ twinBubble ------ */
  .product-twinBubble{
    margin-top: 60px;
  }
  .twinBubble-text{
    font-size: 22px;
  }
  .bubbles{
    margin-top: 20px;
  }
  .left_bubble, .right_bubble{  /* tablet */
    width: 290px;
    height: 290px;
  }
  .batu{ /* tablet */
    width: 60px;
    height: 60px;
  }
  /* ------ recommend ------ */
  .product-recommend{
    max-width: 740px;
    margin: 60px auto 0;
    padding: 34px 41px 40px;
  }
  .recommend-title{
    font-size: 18px;
  }
  .recommend-example{
    margin-top: 40px;
    row-gap: 18px;
    font-size: 16px;
  }
  .example{
    max-width: 253px;
    width: 100%;
    /* width: 253px; */
    height: 28px;
  }
  .example img{
    height: 22px;
    margin: 0 10px 3px 0;
  }
  /* ------ waves ------ */
  .waves {
    height: 60px;
    min-height: 60px;
}
}
@media screen and (max-width: 800px) {
  .products{  /* tablet */
    padding-top: 35px;
  }
  .section__heading {
    font-size: 36px;
  }
  .heading__subtitle{
    font-size: 20px;
    margin-top: 12px;
  }
  .product-description{
    display: block;
    margin-top: 50px;
  }
  .product-imageArea{
    max-width: 290px;
    width: 100%;
    margin: 0 auto;
  }
  .product-textArea{
    width: 100%;
    margin: 40px auto 0;
  }
  .product-price{
    padding-bottom: 100px;
  }
  .product-schedule{
    font-size: 21px;
    margin-top: 36px;
  }
  .product-viewmore{
    font-size: 20px;
    right: 50%;
    transform: translateX(50%);
  }
  .product-viewmore::before{
    width: 60px;
    height: 60px;
    bottom: -20px;
    left: -19px;
    pointer-events: none;
  }
  /* ------ twinBubble ------ */
  .product-twinBubble{
    margin-top: 60px;
  }
  .twinBubble-text{
    font-size: 22px;
  }
  .bubbles{
    max-width: 600px;
    margin: 20px auto 0;
  }
  .left_bubble, .right_bubble{ 
    width: clamp(120px,40%,290px);
    height: auto;
  }
  .batu{
    width: clamp(33px,10%,60px);
    height: auto;
    margin: auto 5.3% auto 5%;
  }
  /* ------ recommend ------ */
  .product-recommend{
    max-width: 600px;
    margin: 60px auto 0;
    padding: 34px 10px 40px;
  }
  .recommend-title{
    font-size: 18px;
  }
  .recommend-example{
    display: block;
  }
  .recommend-example li:not(:first-child){
    margin-top: 18px;
  }
  .example{
    font-size: 14px;
    letter-spacing: 0;
    vertical-align: middle;
    line-height: 28px;
    margin: 0 auto;
  }
}
/*--------------------------------
 howtouse
---------------------------------*/
.color-white{
  color: #fff;
}
.howtouse{
  background-image: url(../img/how_to.png),linear-gradient(180deg,
  rgba(99,211,238,1) 0%,
  rgba(255,255,255,1) 50%,
  rgba(224,249,255,1) 100%);;
  background-position: bottom , top;
  background-size: 100% auto , auto;
  background-repeat: no-repeat,no-repeat;
  background-blend-mode: multiply;
}
.howtouse{
  padding-top: 72px;
  padding-bottom: 170px;
}
.howto-columnWrap{
  display: grid;
  row-gap: 90px;
  margin-top: 70px;
}
.howto-column{
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 75px;
}
.howto-img{
  width: 480px;
  height: 480px;
  position: relative;
}
.howto-img img{
  border-radius: 50%;
  width: 100%;
  height: auto;
  position: absolute;
  z-index: 1;
}
.howto-img::after{
  content: "";
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  top: -30px;
  left: -30px;
  border: solid 1px #fff;
}
.howto-img_right::after{
  content: "";
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  top: -30px;
  left: 30px;
  border: solid 1px #fff;
}
.howto-img_before1::before{
  content: "";
  position: absolute;
  background-image: url(../img/howto_img1.png);
  background-repeat:  no-repeat; 
  background-position:center center; 
  background-size: contain;
  height: 690px;
  width: 194px;
  left: -94px;
  bottom: -40px;
  z-index: 2;
}
.howto-img_before1_2::before{
  content: "";
  position: absolute;
  background-image: url(../img/howto_img1_2.png);
  background-repeat:  no-repeat; 
  background-position:center center; 
  background-size: contain;
  width: 170px;
  height: 204px;
  top: -141px;
  right: -70px;
  z-index: 2;
}
.howto-img_before2::before{
  content: "";
  position: absolute;
  background-image: url(../img/howto_img2.png);
  background-repeat:  no-repeat; 
  background-position:center center; 
  background-size: contain;
  height: 341px;
  width: 160px;
  right: -46px;
  bottom: -65px;
  z-index: 2;
}
.howto-img_before2_2::before{
  content: "";
  position: absolute;
  background-image: url(../img/howto_img2_2.png);
  background-repeat:  no-repeat; 
  background-position:center center; 
  background-size: contain;
  width: 120px;
  height: 213px;
  right: -150px;
  top: -65px;
  z-index: 2;
}
.howto-img_before3::before{
  content: "";
  position: absolute;
  background-image: url(../img/howto_img3.png);
  background-repeat:  no-repeat; 
  background-position:center center; 
  background-size: contain;
  width: 177px;
  height: 489px;
  left: -38px;
  top: 27px;
  z-index: 2;
}
.howto-desc{
  background:rgba(255,255,255,0.7);
  box-shadow: 10px 10px 10px rgba(0, 0, 0, .16);
  border-radius: 20px;
  padding: 40PX 50px;
  position: relative;
}
.howto-step{
  font-size: 38px;
  color: #0B8A95;
}
.number{
  font-size: 63px;
}
.howto-title{
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.01em;
  margin-top: 32px;
}
.howto-text p{
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.01em;
  margin-top: 38px;
}
.howto-column:nth-child(2n) { 
  flex-direction: row-reverse;
}

/*media Queries 1200
---------------------------------------------------*/
@media screen and (max-width: 1200px) {
  .howtouse{
    padding-top: 50px; /* tablet */
    padding-bottom: 60px;
  }
  .howto-columnWrap{
    row-gap: 60px;
    margin-top: 50px;
  }
  .howto-column{
    column-gap: 50px;
  }
  .howto-img{
    width: 260px;
    height: 260px;
  }
  .howto-img::after{
    width: 260px;
    height: 260px;
    top: -10px;
    left: -10px;
  }
  .howto-img_right::after{
    width: 260px;
    height: 260px;
    top: -10px;
    left: 10px;
  }
  .howto-img_before1::before{ /* tablet */
    width: 93px;
    height: 367px;
    left: -25px;
    bottom: -35px;
  }
  .howto-img_before1_2::before{ /* tablet */
    width: 92px;
    height: 110px;
    top: -60px;
    right: -10px;
  }
  .howto-img_before2::before{ /* tablet */
    width: 92px;
    height: 196px;
    right: -15px;
    bottom: -40px;
  }
  .howto-img_before2_2::before{ /* tablet */
    width: 73px;
    height: 129px;
    right: -100px;
    top: -50px;
  }
  .howto-img_before3::before{ /* tablet */
    width: 98px;
    height: 272px;
    left: -20px;
    top: 0px;
  }
  .howto-desc{
    padding: 20PX 28px;
  }
  .howto-step{
    font-size: 26px;
  }
  .number{
    font-size: 43px;
  }
  .howto-title{
    font-size: 18px;
    line-height: 1.5;
    margin-top: 20px;
  }
  .howto-text p{
    font-size: 14px;
    line-height: 2;
    margin-top: 25px;
  }
}
@media screen and (max-width: 800px) {
  .howtouse{
    padding-top: 37px; /* tablet */
  }
  .howto-columnWrap{
    display: block;
  }
  .howto-column{
    display: block;
    margin: 60px auto 0;
    max-width: 600px;
  }
  .howto-column:first-child{
    margin-top: 0;
  }
  .howto-img{
    margin: 0 auto;
  }
  .pc{
    display: none;
  }
  .howto-img_before1_2::before{
    display: none;
  }
  .howto-img_before2_2::before{
    display: none;
  }
  .howto-desc{
    margin-top: 40PX;
  }
}

/*--------------------------------
 components
---------------------------------*/
.components{
  padding-top: 72px;
  padding-bottom: 100px;
}
.components-columnWrap{
  margin-top: 70px;
}
.components-column{
  display: flex;
  justify-content: center;
}
.components-desc{
  width: 500px;
  margin-right: 80px;
}
.components-title{
  font-size: 32px;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #3DA9BC;
}
.components-text p{
  font-size: 16px;
  letter-spacing: 0.01em;
  line-height: 2;
  margin-top: 35px;
}
.components-img img{
  width: 530px;
}
@media screen and (max-width: 1200px) {
  .components{
    padding-top: 50px; /* tablet */
    padding-bottom: 60px;
  }
  .components-columnWrap{
    margin-top: 40px;
  }
  .components-desc{ /* tablet */
    width: 335px;
    margin-right: 50px;
  }
  .components-title{
    font-size: 20px;
  }
  .components-text p{
    font-size: 14px;
    line-height: 1.5;
    margin-top: 24px;
  }
  .components-img img{
    width: 380px;
  }
}
@media screen and (max-width: 800px) {
  .components{
    padding-top: 50px; /* tablet */
    padding-bottom: 60px;
  }
  .components-columnWrap{
    max-width: 600px;
    margin: 40px auto 0;
  }
  .components-column{
    display: block;
  }
  .components-desc{ /* tablet */
    width: 100%;
    margin: 0 auto;
  }
  .components-img img{
    width: 100%;
    margin-top: 24px;
  }
}

/*--------------------------------
 memberbenefits
---------------------------------*/
.memberBenefits{
  padding-top: 72px;
  padding-bottom: 60px;
  background-image: url(../img/member_bg.jpg);
  background-position: bottom;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0 10px 6px rgba(0, 0, 0, .16) inset;
}
.color-blue{
  color: #005898;
}
.memberBenefits-wrapper{
  display: flex;
  justify-content: center;
}
.memberBenefis-icon img{
  width: 188px;
  height: 188px;
  margin-left: 6px;
}
.memberBenefits-desc{
  width: 1110px;
  display: flex;
  justify-content: space-between;
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 10px 10px 10px rgba(0, 0, 0, .16);
  padding: 42px 95px 45px;
  border-radius: 30px;
  margin-top: 50px;
  text-align: center;
}
.memberBenefits-title{
  font-size: 32px;
  line-height: 1;
  color: #59BBE1;
  margin-top: 27px;
}
.memberBenefits-text p{
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.01em;
  margin-top: 35px;
}
@media screen and (max-width: 1200px) {
  .memberBenefits{
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .memberBenefis-icon img{
    width: 137px;
    height: 137px;
    margin-left: 12px;
  }
  .memberBenefits-desc{
    width: 730px;
    padding: 40px 49px;
    margin-top: 30px;
  }
  .memberBenefits-title{
    font-size: 20px;
    margin-top: 19px;
  }
  .memberBenefits-text p{
    font-size: 16px;
    line-height: 1.5;
    margin-top: 16px;
  }
}
@media screen and (max-width: 800px) {
  .memberBenefits-desc{
    display: block;
    max-width: 400px;
  }
 .memberBenefits-benefits:not(:first-child){
    margin-top: 30px;
  }
  .memberBenefis-icon img{
    width: 137px;
    height: 137px;
    margin-left: 12px;
  }
  .memberBenefits-desc{
    width: 730px;
    padding: 40px 49px;
    margin-top: 30px;
  }
  .memberBenefits-title{
    font-size: 20px;
    margin-top: 19px;
  }
  .memberBenefits-text p{
    font-size: 16px;
    line-height: 1.5;
    margin-top: 16px;
  }
}

/*--------------------------------
 register
---------------------------------*/
.register{
  padding-top: 72px;
  padding-bottom: 80px;
  text-align: center;
}
.register-title{
  font-size: 48px;
  text-align: center;
}
.register-subtitle{
  display: block;
  font-size: 16px;
  line-height: 1;
  margin-top: 30px;
}
.register-form{
  width: 730px;
  margin-top: 70px;
  padding: 50px;
  border-radius: 20px;
  border: 1px solid #838383;
  display: inline-block;
  text-align: left;
}
.form-item{
  width: 100%;
  margin: 0 auto;
}
.form-item:not(:first-child){
  margin-top: 20px;
}
.form-title{
  display: block;
}
.form-input {
  width: 100%;
  margin-top: 10px;
  padding: 8px;
  border: solid 1px #aaa;
  border-radius: 5px;
  background-color: #fff;
}
.form-input::placeholder {
  color: #BFBFBF;
}
.form-input::-ms-input-placeholder { /* 旧Edge対応 */
  color: #BFBFBF;
}
.form-input:-ms-input-placeholder { /* IE対応 */
  color: #BFBFBF;
}
.register_img{
  width: 160px;
  height: 45px;
  margin-bottom: 11px;
}
.form-checkbox{
  margin-top: 36px;
  text-align: center;
}
.checkbox{
  width: 18px;
  height: 18px;
}
.checkbox-text{
  line-height: 18px;
  vertical-align: middle;
  margin-left: 8px;
}
button {
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
.register-btn{
  width: 340px;
  height: 80px;
  border-radius: 80px;
  margin: 35px auto 0;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, .16);
  display: block;
  transition: .3s;
  cursor: pointer;
}
.register-btn:hover{
  box-shadow: none;
  opacity: .8;
}
.register-btn img{
  top: 0;
  left: 0;
  width: 100%;
}
.pass-forget{
  padding-top: 24px;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .register{
    padding-top: 35px;
    padding-bottom: 55px;
  }
  .register-title{
    font-size: 36px; /* tablet */
  }
  .register-subtitle{
    font-size: 14px;
    line-height: 1.5;
    margin-top: 26px;
  }
  .register-form{
    margin-top: 30px;
    padding: 40px 40px; /* tablet */
  }
  .form-checkbox{
    margin-top: 30px;
  }
  .register-btn{
    width: 255px;
    height: 60px;
    border-radius: 60px;
    margin: 30px auto 0;
  }
  .pass-forget{
    padding-top: 24px;
    text-align: center;
  }
}
@media screen and (max-width: 800px) {
  .register-title{
    font-size: 24px;
  }
  .register-form{
    max-width: 100%;
    padding: 40px 20px; /* tablet */
  }
  .form-checkbox{
    margin-top: 30px;
  }
  .register-btn{
    width: 255px;
    height: 60px;
    border-radius: 60px;
    margin: 30px auto 0;
  }
  .register-btn{
    width: 210px;
    height: 49.4px;
    border-radius: 49.4px;
    margin: 30px auto 0;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, .16);
  }
  .pass-forget{
    font-size: 14px;
  }
}
/*--------------------------------
 footer
---------------------------------*/
.footer{
  color: #fff;
  padding-top: 50px;
  padding-bottom: 10px;
  background-color: #007C96;
}
.footer-wrapper{
  display: flex;
  flex-wrap: wrap;
}
.footer-titleArea{
  min-width: 225px;
  height: 200px;
  margin-right: 75px;
}
.footer-logo{
  width: 170px;
}
.footer-sns{
  width: 225px;
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}
.footer-sns__icon img{
  width: 45px;
  height: 45px;
}
.footer-nav__list:not(:first-child){
  border-left: 1px solid #fff;  
}
.footer-nav{
  display: flex;
}
.footer-nav__list{
  width: 270px;
  padding: 32px 50px;
}
.footer-nav__item{
  font-size: 16px;
  line-height: 1;
}
.footer-nav__item:not(:first-child){
  margin-top: 24px;
}
.footer__copyright{
  margin: 54px auto 0;
}

@media screen and (max-width: 1200px) {
  .footer{
    padding-top: 40px;
  }
  .footer-wrapper{
    display: block;
  }
  .footer-titleArea{
    height: 105px;
    margin: 0 auto;
  }
  .footer-logo{
    width: 120px;
    text-align: center;
    margin: 0 auto;
  }
  .footer-sns{
    margin: 35px auto 0;
  }
  .footer-nav{
    margin-top: 35px;
    justify-content: center;
  }
  .footer-nav__list{
    width: 260px;
    padding: 30px 40px;
  }
  .footer-nav__item{
    font-size: 14px;
  }
  .footer-nav__item:not(:first-child){
    margin-top: 20px;
  }
  .footer__copyright{
    font-size: 14px;
    text-align: center;
    margin: 40px auto 0;
  }
}
@media screen and (max-width: 800px) {
  .footer-titleArea{
    height: 105px;
    margin: 0 auto;
  }
  .footer-logo{
    width: 120px;
    text-align: center;
    margin: 0 auto;
  }
  .footer-sns{
    margin: 35px auto;
  }
  .footer-nav{
    display: block;
    text-align: center;
  }
  .footer-nav__list:not(:first-child){
    border-left: none;  
    border-top: 1px solid #fff;  
  }
  .footer-nav__list{
    width: 100%;
    padding: 30px 20px;
    margin: 0 auto;
  }

  .footer-nav__item:not(:first-child){
    margin-top: 20px;
  }
  .footer__copyright{
    font-size: 14px;
    text-align: center;
    margin: 40px auto 0;
  }
}


/*スクロール後の変化------------------------------------*/

.header.float-active{
  /* transition: 0.3s;
  background: rgba(255, 255, 255, 0.9);
  color: #fff; */
}