@charset "UTF-8";
/* !!------------------------------------ */
/* !! 共通 */
/* !!------------------------------------ */
@font-face {
  font-family: "hk_novalight";
  src: url("../font/hknova-light-webfont.woff2") format("woff2"), url("../font/hknova-light-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
a {
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
  text-decoration: none;
  color: inherit; }

a:hover {
  opacity: 0.8; }

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  line-height: 1;
  word-break: break-all;
  overflow-x: hidden; }

div, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, textarea {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  vertical-align: baseline;
  background: transparent; }

img {
  vertical-align: bottom; }

article, aside, details, figcaption, figure, footer, header, menu, nav, section, div, address, iframe, canvas, hr, textarea {
  display: block;
  line-height: 1; }

iframe {
  max-width: 100% !important; }

alabel {
  cursor: pointer; }

blockquote {
  padding: 0;
  margin: 0;
  display: block; }

address, em {
  font-style: normal; }

hr {
  border: 0;
  margin: 0;
  padding: 0; }

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

textarea {
  resize: vertical;
  overflow: hidden;
  -webkit-appearance: none;
  border: none; }

button, select {
  vertical-align: middle;
  border-radius: 0px;
  border: none;
  background: transparent;
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none; }

table {
  border-collapse: collapse; }

*:before, *:after {
  padding: 0;
  margin: 0;
  line-height: 1; }

::selection {
  color: #fff;
  background: #7cc5d6; }

::-moz-selection {
  color: #fff;
  background: #7cc5d6; }

*, :before, :after {
  box-sizing: border-box; }

html {
  min-height: 100%;
  font-size: 10px; }

html {
  visibility: hidden; }

html.wf-active {
  visibility: visible; }

body {
  font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-break: strict;
  word-break: break-word;
  overflow-wrap: break-word;
  width: 100%;
  color: #333; }
  @media screen and (max-width: 767px) {
    body {
      min-width: inherit; } }

.pc {
  display: block !important; }
  @media screen and (max-width: 767px) {
    .pc {
      display: none !important; } }

.sp {
  display: none !important; }
  @media screen and (max-width: 767px) {
    .sp {
      display: block !important; } }

.inner {
  max-width: 1366px;
  min-width: 980px;
  margin: 0 auto;
  position: relative;
  padding: 0 193px; }
  @media screen and (max-width: 767px) {
    .inner {
      max-width: 100%;
      min-width: 100%;
      padding: 0 25px; } }

@media screen and (max-width: 767px) {
  img {
    width: 100%;
    height: auto; } }
.container {
  height: 100%;
  position: relative; }

/* !!------------------------------------ */
/* !! 波 */
.wave {
  position: relative;
  height: 350px;
  /*何も表示されない場合は各波の親要素に高さを持たせましょう。*/
  background: #fff;
  /*背景を塗りつぶして重ねた波を表現したい場合は、波を描画する親要素に波と同じ背景色を設定しましょう。*/ }
  @media screen and (max-width: 767px) {
    .wave {
      height: 250px; } }
  .wave canvas {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0; }

.news-section canvas {
  height: 500px; }
  @media screen and (max-width: 767px) {
    .news-section canvas {
      height: 250px; } }

/* !!------------------------------------ */
/* !! header */
.header {
  width: 100%;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #f2f2f2;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2; }
  @media screen and (max-width: 767px) {
    .header {
      height: 50px; } }

.logo {
  width: 169px;
  height: 33px;
  margin-left: 80px; }
  @media screen and (max-width: 767px) {
    .logo {
      width: 133px;
      height: 26px;
      margin-left: 25px; } }
  .logo a {
    width: 100%;
    height: auto;
    display: block;
    transition: initial; }
    .logo a:hover {
      opacity: 1; }

.gnav {
  position: absolute;
  right: 200px;
  bottom: 0; }
  @media screen and (max-width: 1500px) {
    .gnav {
      right: 50px; } }
  @media screen and (max-width: 767px) {
    .gnav {
      width: 100%;
      height: calc(100% - 50px);
      display: none;
      margin: 0;
      position: fixed;
      top: 50px;
      left: 0;
      background: #7cc5d6;
      z-index: 2;
      overflow: hidden; } }

.gnav-list {
  display: flex; }
  @media screen and (max-width: 767px) {
    .gnav-list {
      width: 100%;
      height: 100%;
      flex-direction: column;
      align-items: center;
      justify-content: center; } }

.gnav-list-item {
  height: 50px;
  font-size: 1.6rem;
  font-family: montserrat, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.02em;
  white-space: nowrap; }
  @media screen and (max-width: 767px) {
    .gnav-list-item {
      width: 100%;
      height: 45px;
      color: #fff; } }
  @media screen and (max-width: 767px) and (max-width: 320px) {
    .gnav-list-item {
      height: 40px; } }
  @media screen and (max-width: 767px) {
      .gnav-list-item.sell {
        height: 50px;
        font-size: 1.4rem;
        font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
        font-weight: bold;
        background: #8bc53f;
        display: flex;
        align-items: center;
        margin-top: 20px;
        position: relative; }
        .gnav-list-item.sell a:before {
          content: "";
          width: 21px;
          height: 18px;
          background-image: url(../img/icon-agency.svg);
          background-repeat: no-repeat;
          background-size: 100%;
          background-position: center center;
          margin-right: 10px; }
      .gnav-list-item.buy {
        height: 50px;
        font-size: 1.4rem;
        font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
        font-weight: bold;
        background: #406eb6;
        display: flex;
        align-items: center;
        position: relative; }
        .gnav-list-item.buy a:before {
          content: "";
          width: 21px;
          height: 18px;
          background-image: url(../img/icon-ec.svg);
          background-repeat: no-repeat;
          background-size: auto 18px;
          background-position: center center;
          margin-right: 10px; } }
  .gnav-list-item.sustinability a:before {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url(../img/icon-sdgs.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    position: absolute;
    top: -2px;
    right: 0; }
    @media screen and (max-width: 767px) {
      .gnav-list-item.sustinability a:before {
        content: none; } }
  @media screen and (max-width: 767px) {
    .gnav-list-item.sustinability a {
      display: flex;
      align-items: center; }
      .gnav-list-item.sustinability a:after {
        content: "";
        width: 5.3333333333vw;
        height: 5.3333333333vw;
        background-image: url(../img/icon-sdgs.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
        margin-left: 2.6666666667vw;
        position: static;
        transform: none; } }
  @media screen and (max-width: 767px) {
    .gnav-list-item.sustinability.active a {
      display: flex;
      align-items: center; }
      .gnav-list-item.sustinability.active a:after {
        content: "";
        width: 5.3333333333vw;
        height: 5.3333333333vw;
        background-image: url(../img/icon-sdgs.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
        margin-left: 2.6666666667vw;
        position: static;
        transform: none; } }
  .gnav-list-item a {
    height: 100%;
    display: block;
    padding: 0 30px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .gnav-list-item a {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0; } }
  .gnav-list-item.active a {
    color: #7cc5d6; }
    @media screen and (max-width: 767px) {
      .gnav-list-item.active a {
        background: #fff; } }
    .gnav-list-item.active a:after {
      content: "";
      width: 58px;
      height: 27px;
      background-image: url(../img/gnav-active.svg);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      bottom: -1px;
      left: 50%;
      transform: translate(-50%, 0); }
      @media screen and (max-width: 767px) {
        .gnav-list-item.active a:after {
          content: none; } }

.subnav-list {
  width: 600px;
  display: flex;
  position: fixed;
  top: 0;
  right: 80px;
  z-index: 1; }
  @media screen and (max-width: 767px) {
    .subnav-list {
      width: 100%;
      top: auto;
      right: 0;
      bottom: -50px;
      opacity: 0;
      transition: .2s; } }

.subnav-list-item {
  flex-basis: 200px;
  max-width: 200px;
  font-size: 1.2rem;
  color: #fff; }
  @media screen and (max-width: 767px) {
    .subnav-list-item {
      flex-basis: 100%;
      max-width: 100%;
      font-size: 1.4rem; } }
  .subnav-list-item a {
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    transition: ease .2s; }
    @media screen and (max-width: 767px) {
      .subnav-list-item a {
        height: 50px; }
        .subnav-list-item a.agency {
          background-color: #C7B299; }
          .subnav-list-item a.agency:before {
            content: "";
            width: 9px;
            height: 16px;
            background-image: url(../img/icon-drop.svg);
            background-repeat: no-repeat;
            background-position: center center;
            background-size: 100%;
            margin-right: 8px; } }
    .subnav-list-item a:before {
      content: "";
      width: 14px;
      height: 11px;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      margin-right: 8px;
      position: relative;
      z-index: 3; }
    .subnav-list-item a span {
      position: relative;
      z-index: 3; }
    .subnav-list-item a.bg-left:after {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
      transform: scale(0, 1);
      transform-origin: right top; }
    .subnav-list-item a.bg-left:hover:after {
      transform-origin: left top;
      transform: scale(1, 1); }
  .subnav-list-item .draw {
    background: #7cc5d6; }
    .subnav-list-item .draw:before {
      background-image: url(../img/icon-drawing.svg); }
    .subnav-list-item .draw:after {
      background: #7cc5d6; }
    .subnav-list-item .draw:hover {
      opacity: 1; }
      .subnav-list-item .draw:hover:after {
        background: #53c1d3; }
  .subnav-list-item .contact {
    font-family: montserrat, sans-serif;
    font-weight: 500;
    font-style: normal;
    background: #333; }
    .subnav-list-item .contact:before {
      background-image: url(../img/icon-contact.svg); }
    .subnav-list-item .contact:after {
      background: #333; }
    .subnav-list-item .contact:hover {
      opacity: 1; }
      .subnav-list-item .contact:hover:after {
        background: #1c3033; }
  .subnav-list-item .catalog {
    font-family: montserrat, sans-serif;
    font-weight: 500;
    font-style: normal;
    background: #42BED3; }
    .subnav-list-item .catalog:before {
      background-image: url(../img/icon-drawing.svg); }
    .subnav-list-item .catalog:after {
      background: #42BED3; }
    .subnav-list-item .catalog:hover {
      opacity: 1; }
      .subnav-list-item .catalog:hover:after {
        background: #3CB0BC; }

@media screen and (max-width: 767px) {
  .sp-btn {
    width: 50px;
    height: 50px;
    background: #7cc5d6;
    position: fixed;
    top: 0;
    right: 0;
    cursor: pointer; }
    .sp-btn span {
      width: 20px;
      height: 2px;
      border-radius: 1px;
      transition: all .2s;
      background: #fff;
      position: absolute;
      left: 14px; }
      .sp-btn span:first-child {
        top: 15px; }
      .sp-btn span:nth-child(2) {
        top: 23px; }
      .sp-btn span:last-child {
        top: 31px; }
    .sp-btn.on span:first-child {
      width: 30%;
      top: 18px;
      left: 18px;
      transform: translateY(6px) rotate(-135deg); }
    .sp-btn.on span:nth-child(2) {
      opacity: 0; }
    .sp-btn.on span:last-child {
      width: 30%;
      top: 30px;
      left: 18px;
      transform: translateY(-6px) rotate(135deg); } }
/* !!------------------------------------ */
/* !! top */
main {
  padding-top: 120px; }
  @media screen and (max-width: 767px) {
    main {
      padding-top: 50px; } }

.main-visual-section {
  height: calc(100vh - 120px);
  padding: 0; }
  @media screen and (max-width: 767px) {
    .main-visual-section {
      height: auto; } }

.main-visual-wrap {
  height: calc(100% - 70px);
  display: flex;
  align-items: center; }
  @media screen and (max-width: 767px) {
    .main-visual-wrap {
      height: calc(100vh - 50px);
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start; } }
  .main-visual-wrap .slide-wrap {
    height: 100%;
    flex-basis: 50%;
    max-width: 50%;
    position: relative; }
    @media screen and (max-width: 767px) {
      .main-visual-wrap .slide-wrap {
        flex-basis: calc(100% - 25px);
        max-width: calc(100% - 25px);
        height: 53.9vh; } }
    .main-visual-wrap .slide-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      -o-object-fit: cover;
      object-position: center;
      -o-object-position: center; }
  .main-visual-wrap .slide-list, .main-visual-wrap .slick-list, .main-visual-wrap .slick-track {
    height: 100%;
    border-radius: 0 0 50px 0; }
  .main-visual-wrap .slide-wrap .slide-list {
    opacity: 0;
    transition: opacity .3s linear; }
  .main-visual-wrap .slide-wrap .slide-list.slick-initialized {
    opacity: 1; }
  .main-visual-wrap .progress, .main-visual-wrap .progress2 {
    width: 60px;
    height: 1px;
    background: #f2f2f2;
    position: absolute;
    right: -100px;
    bottom: 40px; }
    @media screen and (max-width: 767px) {
      .main-visual-wrap .progress, .main-visual-wrap .progress2 {
        right: auto;
        bottom: -51.3vw;
        left: calc(50% - 15px);
        transform: translate(0, -50%); } }
  .main-visual-wrap .bar, .main-visual-wrap .bar2 {
    width: 0%;
    height: 1px;
    background: #7cc5d6;
    display: block; }
  .main-visual-wrap .slick-arrow {
    width: 16px;
    height: 16px;
    font-size: 0;
    border: none;
    position: absolute;
    bottom: 3px; }
    @media screen and (max-width: 767px) {
      .main-visual-wrap .slick-arrow {
        bottom: -53.5vw; } }
    .main-visual-wrap .slick-arrow.slick-prev {
      border-top: 1px solid #7cc5d6;
      border-left: 1px solid #7cc5d6;
      right: -60px;
      transform: rotate(-45deg); }
      @media screen and (max-width: 767px) {
        .main-visual-wrap .slick-arrow.slick-prev {
          right: 0;
          left: 95px; } }
    .main-visual-wrap .slick-arrow.slick-next {
      border-top: 1px solid #7cc5d6;
      border-right: 1px solid #7cc5d6;
      right: -100px;
      transform: rotate(45deg); }
      @media screen and (max-width: 767px) {
        .main-visual-wrap .slick-arrow.slick-next {
          right: 70px; } }

.catch-wrap {
  flex-basis: 50%;
  max-width: 50%; }
  @media screen and (max-width: 767px) {
    .catch-wrap {
      flex-basis: 43.2vw;
      max-width: 43.2vw;
      margin: 0 auto;
      position: relative;
      top: -24vw;
      z-index: 1; } }

.catch-item {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .catch-item p {
    margin-bottom: 20px; }
    @media screen and (max-width: 767px) {
      .catch-item p {
        margin-bottom: 3.73vw; } }
  .catch-item .item5 {
    width: 120px;
    height: 175px;
    margin-top: -100px;
    margin-bottom: 0;
    background: #7CC5D6;
    mask-image: url(../img/mask.svg);
    -webkit-mask-image: url(../img/mask.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    overflow: hidden;
    position: relative;
    z-index: -1; }
    @media screen and (max-width: 767px) {
      .catch-item .item5 {
        width: 21.8vw;
        height: 31.7vw;
        margin-top: -18.4vw; } }
    .catch-item .item5.wave canvas {
      height: 70%; }
  .catch-item > .slide-in {
    overflow: visible;
    z-index: -1; }

.news-wrap.inner {
  max-width: inherit; }
  @media screen and (max-width: 767px) {
    .news-wrap.inner {
      max-width: 100%; } }
.news-wrap a {
  width: 50%;
  height: 70px;
  display: flex;
  align-items: center; }
  @media screen and (max-width: 767px) {
    .news-wrap a {
      width: 100%;
      height: auto;
      flex-wrap: wrap;
      align-items: center; } }
.news-wrap time {
  font-size: 1.2rem;
  color: #b3b3b3;
  letter-spacing: 0.02em;
  margin-right: 40px; }
  @media screen and (max-width: 767px) {
    .news-wrap time {
      flex-basis: 100%;
      max-width: 100%;
      font-size: 1.1rem;
      margin-right: 0;
      margin-bottom: 13px; } }
.news-wrap .ttl {
  font-size: 1.4rem;
  letter-spacing: 0.02em; }
  @media screen and (max-width: 767px) {
    .news-wrap .ttl {
      line-height: 1.7;
      flex-basis: calc(100% - 40px);
      max-width: calc(100% - 40px); } }
.news-wrap .arrow {
  margin-left: auto; }
  @media screen and (max-width: 767px) {
    .news-wrap .arrow {
      flex-basis: 30px;
      max-width: 30px; } }

a .arrow {
  font-size: 0;
  line-height: 1;
  position: relative; }
  a .arrow:before {
    content: "";
    width: 7px;
    height: 1px;
    background: #7cc5d6;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 0; }
  a .arrow .icon-arrow {
    fill: #cccccc; }
a:hover .icon-arrow {
  fill: #7cc5d6; }

.icon-arrow {
  width: 30px;
  height: 4px; }

.btn-agency {
  width: 45px;
  height: 200px;
  font-size: 14px;
  letter-spacing: 0.02em;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #c7b299;
  border-radius: 5px 0 0 5px;
  position: fixed;
  top: 200px;
  right: 0;
  z-index: 2;
  writing-mode: vertical-rl; }
  @media screen and (max-width: 767px) {
    .btn-agency {
      display: none; } }
  .btn-agency:after {
    content: "";
    width: 5px;
    height: 8px;
    background-image: url(../img/icon-drop.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    margin-top: 10px; }

section {
  padding: 100px 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    section {
      padding: 60px 0; } }

.ttl-h2 {
  font-size: 4.8rem;
  font-family: montserrat, sans-serif;
  font-weight: bold;
  letter-spacing: 0.02em;
  display: flex;
  align-items: baseline; }
  @media screen and (max-width: 767px) {
    .ttl-h2 {
      font-size: 10.1vw; } }
  .ttl-h2 .sub-ttl {
    font-size: 1.6rem;
    font-weight: bold;
    font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    letter-spacing: 0.02em;
    margin-left: 20px; }
    @media screen and (max-width: 767px) {
      .ttl-h2 .sub-ttl {
        font-size: 3.3vw; } }

.btn-more {
  width: 200px;
  height: 40px;
  font-size: 1.4rem;
  line-height: 40px;
  letter-spacing: 0.14em;
  color: #fff;
  text-align: center;
  background: linear-gradient(45deg, #4EA2CC 0%, #7CC5D6 25%, #7CC5D6 51%, #00A9C5 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  transition: all 0.3s ease-out;
  border-radius: 5px;
  display: block;
  margin: 65px 0 0 auto; }
  .btn-more:hover {
    opacity: 1;
    color: #fff;
    background-position: 99% 50%; }
  @media screen and (max-width: 767px) {
    .btn-more {
      width: 100%;
      height: 50px;
      line-height: 50px;
      margin: 35px auto 0; } }

/* !!------------------------------------ */
/* !! アニメーション */
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0; }

.fadeUpTrigger {
  opacity: 0; }

@keyframes fadeInAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.slide-in {
  overflow: hidden;
  display: inline-block; }

.slide-in_inner {
  display: inline-block; }

/*左右のアニメーション*/
.leftAnime {
  opacity: 0;
  /*事前に透過0にして消しておく*/ }

.slideAnimeLeftRight {
  animation-name: slideTextX100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextX100 {
  from {
    transform: translateX(-100%);
    /*要素を左の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1; } }
.slideAnimeRightLeft {
  animation-name: slideTextX-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextX-100 {
  from {
    transform: translateX(100%);
    /*要素を右の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1; } }
.slide-in {
  overflow: hidden;
  display: inline-block; }

.slide-in_inner {
  display: inline-block; }

/* 上下のアニメーション*/
.upAnime {
  opacity: 0;
  /* 事前に透過0 にして消しておく*/ }

.slideAnimeDownUp {
  animation-name: slideTextY100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextY100 {
  from {
    transform: translateY(100%);
    /* 要素を上の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateY(0);
    /* 要素を元の位置に移動*/
    opacity: 1; } }
.slideAnimeUpDown {
  animation-name: slideTextY-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes slideTextY-100 {
  from {
    transform: translateY(-100%);
    /* 要素を下の枠外に移動*/
    opacity: 0; }
  to {
    transform: translateY(0);
    /* 要素を元の位置に移動*/
    opacity: 1; } }
/* !!------------------------------------ */
@media screen and (max-width: 767px) {
  .about-section {
    padding-bottom: 100px; } }
.about-section .ttl-h2 {
  display: inline-block;
  transform: rotate(90deg);
  transform-origin: left center;
  position: relative;
  left: 0; }
  @media screen and (max-width: 767px) {
    .about-section .ttl-h2 {
      transform-origin: left top;
      left: 35px; } }
.about-section .txt-wrap {
  width: 50%;
  margin: -50px 0 0 auto;
  position: relative; }
  @media screen and (max-width: 767px) {
    .about-section .txt-wrap {
      width: 62.4vw;
      margin-top: 0; } }
  .about-section .txt-wrap:before {
    content: "";
    width: 98px;
    height: 211px;
    background-image: url(../img/drop2@2x.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    position: absolute;
    top: 50%;
    left: -140px;
    transform: translate(0, -50%); }
    @media screen and (max-width: 767px) {
      .about-section .txt-wrap:before {
        width: 17.7vw;
        height: 38.1vw;
        top: auto;
        bottom: 0;
        left: -26.2vw;
        transform: translateY(0); } }
.about-section .ttl-h3 {
  font-size: 3.6rem;
  font-weight: normal;
  line-height: 1.6;
  color: #000;
  letter-spacing: 0.02em;
  margin-bottom: 40px; }
  @media screen and (max-width: 767px) {
    .about-section .ttl-h3 {
      font-size: 2rem;
      margin-bottom: 30px;
      white-space: nowrap; } }
  .about-section .ttl-h3:after {
    content: "";
    width: 113px;
    height: 9px;
    display: block;
    margin-top: 40px;
    background-image: url(../img/line.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%; }
    @media screen and (max-width: 767px) {
      .about-section .ttl-h3:after {
        width: 68px;
        height: 6px;
        margin-top: 30px; } }
.about-section .lead-txt {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.14em;
  color: #000;
  text-align: justify; }
.about-section .js-gimmick {
  width: 100%;
  min-height: 540px;
  margin-top: 50px; }
  .about-section .js-gimmick img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    object-position: center;
    -o-object-position: center; }

.product-section {
  padding-bottom: 130px; }
  @media screen and (max-width: 767px) {
    .product-section {
      padding: 0; } }
  .product-section .inner {
    padding-left: 0; }
  .product-section .ttl-h2 {
    transform: rotate(90deg) translate(0, -50%);
    transform-origin: center;
    position: absolute;
    top: 100px;
    right: 0; }
    @media screen and (max-width: 767px) {
      .product-section .ttl-h2 {
        width: 100%;
        transform-origin: right;
        top: 83.4vw;
        right: 60px; } }
    .product-section .ttl-h2:after {
      content: "";
      width: 84px;
      height: 150px;
      background-image: url(../img/drop3@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      right: -200px;
      bottom: -84px;
      transform: rotate(-90deg); }
      @media screen and (max-width: 767px) {
        .product-section .ttl-h2:after {
          width: 16.8vw;
          height: 30.1vw;
          right: -30vw;
          bottom: -12vw; } }
  .product-section .product-list {
    display: flex; }
    @media screen and (max-width: 767px) {
      .product-section .product-list {
        flex-direction: column; } }
  .product-section .product-list-item {
    flex-basis: 505px;
    max-width: 505px; }
    @media screen and (max-width: 767px) {
      .product-section .product-list-item {
        flex-basis: 74.6vw;
        max-width: 74.6vw;
        margin-bottom: 30px; }
        .product-section .product-list-item:last-child {
          margin-bottom: 0; } }
    .product-section .product-list-item a {
      width: 100%;
      height: auto;
      display: block; }
      .product-section .product-list-item a:hover .icon-catalog {
        fill: #7cc5d6; }
      .product-section .product-list-item a.e-soda {
        pointer-events: none; }
      .product-section .product-list-item a .bnr-wrap {
        min-height: 525px;
        color: #fff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover; }
        @media screen and (max-width: 767px) {
          .product-section .product-list-item a .bnr-wrap {
            min-height: 63vw; } }
      .product-section .product-list-item a .ttl {
        font-size: 3.6rem;
        letter-spacing: 0.02em;
        text-align: center;
        font-family: montserrat, sans-serif;
        font-weight: bold;
        font-style: normal;
        line-height: 1;
        margin-bottom: 20px; }
        @media screen and (max-width: 767px) {
          .product-section .product-list-item a .ttl {
            font-size: 2.2em; } }
        .product-section .product-list-item a .ttl .sub-ttl {
          font-size: 1.4rem;
          display: block;
          margin-top: 20px; }
          @media screen and (max-width: 767px) {
            .product-section .product-list-item a .ttl .sub-ttl {
              margin-top: 15px; } }
          .product-section .product-list-item a .ttl .sub-ttl:after {
            content: "";
            width: 14px;
            height: 1px;
            background: #fff;
            display: block;
            margin: 20px auto 0; }
        @media screen and (max-width: 767px) {
          .product-section .product-list-item a .ttl img {
            width: 26.6vw; } }
      .product-section .product-list-item a .bath-wrap {
        background-image: url(../img/bg-product01@2x.jpg); }
      .product-section .product-list-item a .e-soda-wrap {
        background-image: url(../img/bg-product02@2x.jpg); }
      .product-section .product-list-item a .lead-txt {
        font-size: 1.4rem;
        line-height: 1.8;
        letter-spacing: 0.14em;
        padding: 0 4vw; }
        @media screen and (max-width: 767px) {
          .product-section .product-list-item a .lead-txt {
            font-size: 3.2vw; } }
      .product-section .product-list-item a .icon-catalog {
        width: 13px;
        height: 11px;
        fill: #333333;
        margin-right: 10px; }
      .product-section .product-list-item a .arrow {
        margin-left: 15px; }
    .product-section .product-list-item .view-more {
      position: relative;
      z-index: 1; }
      .product-section .product-list-item .view-more a {
        width: auto;
        height: auto;
        font-size: 1.4rem;
        letter-spacing: 0.14em;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        margin: 40px 30px 0 0; }
        @media screen and (max-width: 767px) {
          .product-section .product-list-item .view-more a {
            margin: 15px auto 0;
            justify-content: center; } }
        .product-section .product-list-item .view-more a:hover {
          color: #7cc5d6;
          opacity: 1; }

.news-section {
  padding: 0; }
  .news-section #waveCanvas2 {
    display: none; }
  .news-section .ttl-h2 {
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: left center;
    position: relative;
    top: -30px;
    left: 0; }
    @media screen and (max-width: 767px) {
      .news-section .ttl-h2 {
        transform-origin: left top;
        left: 35px; } }
  .news-section .wrapper {
    width: 100%;
    background: #fcfcfc;
    padding-bottom: 200px; }
    @media screen and (max-width: 767px) {
      .news-section .wrapper {
        padding-bottom: 70px; } }
  .news-section .lead-txt {
    font-size: 1.6rem;
    letter-spacing: 0.14em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 70px 140px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .news-section .lead-txt {
        font-size: 1.4rem;
        line-height: 1.9;
        margin: 0 0 0 18.6vw;
        flex-direction: column;
        align-items: flex-end; } }
    .news-section .lead-txt:after {
      content: "";
      width: 116px;
      height: 58px;
      background-image: url(../img/drop4@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      top: -120px;
      left: -30px; }
      @media screen and (max-width: 767px) {
        .news-section .lead-txt:after {
          width: 23.2vw;
          height: 11.4vw;
          top: -22.6vw;
          right: 0;
          left: auto; } }
  .news-section .view-more {
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    text-decoration: underline; }
    @media screen and (max-width: 767px) {
      .news-section .view-more {
        font-size: 1.6rem;
        line-height: 1;
        margin-top: 35px; } }
  .news-section .news-list {
    margin-left: 140px; }
    @media screen and (max-width: 767px) {
      .news-section .news-list {
        margin: 75px auto 0; } }
  .news-section .news-list-item {
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .news-section .news-list-item {
        margin-bottom: 35px; } }
    .news-section .news-list-item:last-child {
      margin-bottom: 0; }
    .news-section .news-list-item a {
      height: 50px;
      display: flex;
      align-items: baseline;
      border-bottom: 1px solid #e6e6e6;
      padding-bottom: 20px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .news-section .news-list-item a {
          height: auto;
          flex-wrap: wrap; } }
    .news-section .news-list-item .cate-name {
      flex-basis: 110px;
      max-width: 110px;
      font-size: 1.4rem;
      font-weight: bold;
      text-align: center;
      color: #7cc5d6; }
      @media screen and (max-width: 767px) {
        .news-section .news-list-item .cate-name {
          font-size: 1.2rem;
          flex-basis: auto;
          max-width: initial; } }
      .news-section .news-list-item .cate-name:after {
        content: "";
        width: 110px;
        height: 1px;
        background: #7cc5d6;
        position: absolute;
        bottom: -1px;
        left: 0; }
        @media screen and (max-width: 767px) {
          .news-section .news-list-item .cate-name:after {
            width: 50px; } }
    .news-section .news-list-item time {
      font-size: 1.2rem;
      color: #b3b3b3;
      margin: 0 20px; }
      @media screen and (max-width: 767px) {
        .news-section .news-list-item time {
          margin: 0 0 0 auto; } }
    .news-section .news-list-item .ttl {
      font-size: 1.6rem; }
      @media screen and (max-width: 767px) {
        .news-section .news-list-item .ttl {
          flex-basis: calc(100% - (30px + 1em));
          max-width: calc(100% - (30px + 1em));
          font-size: 1.4rem;
          line-height: 1.5;
          text-align: justify;
          margin-top: 10px; } }
    .news-section .news-list-item .arrow {
      margin-left: auto; }
      @media screen and (max-width: 767px) {
        .news-section .news-list-item .arrow {
          flex-basis: 30px;
          max-width: 30px; } }

.recruit-section {
  padding: 0; }
  @media screen and (max-width: 767px) {
    .recruit-section {
      padding-top: 100px; } }
  .recruit-section:before {
    content: "";
    width: 59%;
    height: 100%;
    background-image: url(../img/bg-recruit1@2x.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
    @media screen and (max-width: 767px) {
      .recruit-section:before {
        width: 100%;
        background-image: url(../img/sp/bg-recruit1-sp@3x.jpg); } }
  .recruit-section .inner {
    padding-right: 0; }
    @media screen and (max-width: 767px) {
      .recruit-section .inner {
        padding-right: 25px; } }
    @media screen and (min-width: 768px) and (max-width: 1702px) {
      .recruit-section .inner {
        max-width: inherit;
        overflow: hidden; } }
  .recruit-section .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .recruit-section .wrap {
        flex-direction: column; } }
  .recruit-section .txt-wrap {
    flex-basis: 490px;
    max-width: 490px;
    min-width: 490px; }
    @media screen and (max-width: 767px) {
      .recruit-section .txt-wrap {
        flex-basis: 100%;
        max-width: 100%;
        min-width: 100%; } }
  .recruit-section .img-wrap {
    flex-basis: 850px;
    max-width: 850px;
    min-height: 567px; }
    @media screen and (max-width: 767px) {
      .recruit-section .img-wrap {
        width: 100vw;
        flex-basis: 100%;
        max-width: 100vw;
        min-height: initial;
        margin: 30px 0 0 0; } }
    .recruit-section .img-wrap img {
      height: 100%;
      object-fit: cover;
      -o-object-fit: cover;
      object-position: center;
      -o-object-position: center; }
  .recruit-section .ttl-h2 {
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .recruit-section .ttl-h2 {
        margin-bottom: 30px; } }
  .recruit-section .lead-txt {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.14em; }
    @media screen and (max-width: 767px) {
      .recruit-section .lead-txt {
        font-size: 1.4rem;
        line-height: 1.9;
        text-align: justify; } }
  .recruit-section .btn-more {
    margin: 50px 0 0 0; }
    @media screen and (max-width: 767px) {
      .recruit-section .btn-more {
        margin-top: 40px; } }

.agency-section {
  padding-bottom: 120px; }
  @media screen and (max-width: 767px) {
    .agency-section {
      padding: 90px 0 75px; } }
  .agency-section .inner {
    padding-left: 0; }
    @media screen and (max-width: 767px) {
      .agency-section .inner {
        padding: 0 10px; } }
  .agency-section .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .agency-section .wrap {
        flex-direction: column; } }
  .agency-section .img-wrap {
    flex-basis: 629px;
    max-width: 629px;
    min-height: 530px;
    border-radius: 0 0 50px 0;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .agency-section .img-wrap {
        flex-basis: 100%;
        max-width: 100%;
        min-height: initial;
        margin-bottom: 40px; } }
    .agency-section .img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      -o-object-fit: cover;
      object-position: center;
      -o-object-position: center; }
  .agency-section .txt-wrap {
    flex-basis: 490px;
    max-width: 490px;
    min-width: 490px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .agency-section .txt-wrap {
        flex-basis: 100%;
        max-width: 100%;
        min-width: initial;
        padding: 0 15px; } }
    .agency-section .txt-wrap:after {
      content: "";
      width: 84px;
      height: 150px;
      background-image: url(../img/drop3@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      right: 0;
      bottom: -100px; }
      @media screen and (max-width: 767px) {
        .agency-section .txt-wrap:after {
          width: 22.4vw;
          height: 40vw;
          top: -26.2vw;
          bottom: auto; } }
  .agency-section .ttl-h2 {
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .agency-section .ttl-h2 {
        margin-bottom: 30px; } }
  .agency-section .lead-txt {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.14em; }
    @media screen and (max-width: 767px) {
      .agency-section .lead-txt {
        font-size: 1.4rem;
        line-height: 1.9;
        text-align: justify; } }
  .agency-section .btn-more {
    margin: 50px 0 0 0; }
    @media screen and (max-width: 767px) {
      .agency-section .btn-more {
        margin-top: 40px; } }

/* !!------------------------------------ */
/* !! footer */
.footer {
  width: 100%;
  padding: 70px 0 40px;
  background: linear-gradient(45deg, #4ea2cc 0%, #7cc5d6 100%);
  bottom: 0;
  left: 0;
  z-index: 1; }
  @media screen and (max-width: 767px) {
    .footer {
      padding: 60px 0 30px;
      margin-bottom: 50px; } }
  .footer .inner {
    max-width: inherit; }
  .footer .wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .footer .wrap {
        flex-direction: column;
        margin-bottom: 0; } }
  .footer .info-wrap .logo {
    width: 156px;
    height: auto;
    transition: initial;
    margin-bottom: 20px;
    display: block;
    margin: 0; }
    @media screen and (max-width: 767px) {
      .footer .info-wrap .logo {
        margin: 0 auto;
        text-align: center; } }
    .footer .info-wrap .logo:hover {
      opacity: 1; }
    .footer .info-wrap .logo span {
      font-size: 14px;
      color: #fff;
      display: block;
      margin-top: 10px; }
      @media screen and (max-width: 767px) {
        .footer .info-wrap .logo span {
          font-size: 1.2rem; } }
  .footer .info-wrap .ttl {
    font-size: 1.6rem;
    font-weight: bold;
    font-family: montserrat, sans-serif;
    color: #fff;
    margin: 20px 0 10px; }
    @media screen and (max-width: 767px) {
      .footer .info-wrap .ttl {
        display: none; } }
  .footer .info-wrap .txt {
    font-size: 14px;
    color: #fff;
    margin: 20px 0 15px;
    display: flex;
    align-items: center;
    position: relative; }
    .footer .info-wrap .txt + .txt {
      margin: 0 0 30px;
      padding-bottom: 30px; }
      .footer .info-wrap .txt + .txt:after {
        content: "";
        width: 440px;
        height: 1px;
        background: #fff;
        position: absolute;
        bottom: 0;
        left: 0; }
    @media screen and (max-width: 767px) {
      .footer .info-wrap .txt {
        display: none; } }
    .footer .info-wrap .txt i {
      width: 5em;
      display: flex;
      margin-right: 15px;
      white-space: nowrap; }
      .footer .info-wrap .txt i:before {
        content: "";
        width: 1px;
        height: 16px;
        display: block;
        background: #fff; }
      .footer .info-wrap .txt i:before {
        margin-right: 10px; }
    .footer .info-wrap .txt.showroom {
      line-height: 1.43;
      flex-direction: column;
      align-items: flex-start; }
      .footer .info-wrap .txt.showroom i {
        width: auto;
        line-height: 1;
        white-space: normal;
        margin-right: 0; }
      .footer .info-wrap .txt.showroom span {
        margin-bottom: 10px; }
      .footer .info-wrap .txt.showroom + .showroom {
        padding-bottom: 0; }
        .footer .info-wrap .txt.showroom + .showroom:after {
          content: none; }
  .footer .f-contact {
    width: 330px;
    letter-spacing: 0.02em;
    padding-top: 20px;
    border: 1px solid #fff;
    text-align: center;
    white-space: nowrap; }
    @media screen and (max-width: 767px) {
      .footer .f-contact {
        width: 100%;
        margin: 30px auto 20px; } }
    .footer .f-contact .txt {
      font-size: 12px;
      line-height: 1.3;
      margin: 0 0 10px;
      display: block; }
    .footer .f-contact .tel {
      width: calc(100% - 40px);
      display: flex;
      align-items: center;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        .footer .f-contact .tel {
          width: calc(100% - 10.6vw); } }
      .footer .f-contact .tel:first-of-type {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #fff; }
        @media screen and (max-width: 767px) {
          .footer .f-contact .tel:first-of-type {
            margin-bottom: 2.66vw;
            padding-bottom: 2.66vw; } }
      .footer .f-contact .tel span {
        font-size: 12px;
        color: #fff;
        letter-spacing: 0.02em;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 10px; }
        @media screen and (max-width: 767px) {
          .footer .f-contact .tel span {
            font-size: 3.2vw;
            margin-right: 2.66vw; } }
    .footer .f-contact a {
      font-size: 3.2rem;
      font-family: montserrat, sans-serif;
      color: #fff;
      font-weight: 500;
      font-style: normal;
      letter-spacing: 0.02em;
      display: inline-flex;
      align-items: center; }
      @media screen and (max-width: 767px) {
        .footer .f-contact a {
          font-size: 8vw; } }
      .footer .f-contact a:before {
        content: "";
        width: 23px;
        height: 23px;
        background-image: url(../img/icon-tel.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100%;
        margin-right: 10px; }
        @media screen and (max-width: 767px) {
          .footer .f-contact a:before {
            width: 6.1vw;
            height: 6.1vw; } }
    .footer .f-contact .time {
      font-size: 12px;
      font-weight: bold;
      line-height: 30px;
      color: #7cc5d6;
      background: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 20px; }
      .footer .f-contact .time span {
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 10px; }
        .footer .f-contact .time span:after {
          content: "";
          width: 1px;
          height: 13px;
          background: #7cc5d6;
          margin-left: 10px; }
  .footer .nav-wrap {
    display: flex;
    position: absolute;
    top: 0;
    right: 0; }
    @media screen and (max-width: 767px) {
      .footer .nav-wrap {
        display: none; } }
    .footer .nav-wrap .fnav-list {
      letter-spacing: 0.02em;
      margin-right: 40px; }
      .footer .nav-wrap .fnav-list.recruit {
        margin-right: 0; }
      @media screen and (min-width: 768px) and (max-width: 1702px) {
        .footer .nav-wrap .fnav-list.e-soda {
          margin-right: -30px; } }
      .footer .nav-wrap .fnav-list.e-soda .fnav-list-item {
        font-size: 1.6rem;
        font-family: montserrat, sans-serif;
        font-weight: 600;
        font-style: normal; }
    .footer .nav-wrap .fnav-list-item {
      font-size: 1.4rem;
      color: #fff;
      margin-bottom: 12px;
      letter-spacing: 0.02em; }
      .footer .nav-wrap .fnav-list-item:first-child {
        font-size: 1.6rem;
        font-family: montserrat, sans-serif;
        font-weight: 600;
        font-style: normal; }
      .footer .nav-wrap .fnav-list-item:nth-child(2) {
        margin-top: 30px; }
  @media screen and (max-width: 767px) {
    .footer .drawing {
      width: 100%;
      height: 50px;
      font-size: 1.4rem;
      font-weight: bold;
      color: #7cc5d6;
      background: #fff;
      display: flex !important;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
      border-radius: 5px; }
    .footer .icon-catalog {
      width: 13px;
      height: 11px;
      fill: #7CC5D6;
      margin-right: 10px; } }
  .footer .subf-nav-list {
    width: 200px;
    margin: 0 0 60px auto; }
    @media screen and (max-width: 767px) {
      .footer .subf-nav-list {
        width: 100%;
        margin-bottom: 50px; } }
    .footer .subf-nav-list .sub-nav-list-item {
      flex-basis: 200px;
      max-width: 200px; }
      @media screen and (max-width: 767px) {
        .footer .subf-nav-list .sub-nav-list-item {
          flex-basis: 100%;
          max-width: 100%; } }
    .footer .subf-nav-list a {
      width: 100%;
      height: 40px;
      font-size: 1.2rem;
      font-family: montserrat, sans-serif;
      font-weight: 500;
      font-style: normal;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      transition: ease .2s;
      position: relative; }
      .footer .subf-nav-list a span {
        position: relative;
        z-index: 3; }
        @media screen and (max-width: 767px) {
          .footer .subf-nav-list a span {
            z-index: 0; } }
      .footer .subf-nav-list a:before {
        content: "";
        width: 14px;
        height: 11px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100%;
        margin-right: 8px;
        position: relative;
        z-index: 3; }
        @media screen and (max-width: 767px) {
          .footer .subf-nav-list a:before {
            z-index: 0; } }
      .footer .subf-nav-list a.bg-left:after {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
        transform: scale(0, 1);
        transform-origin: right top; }
      .footer .subf-nav-list a.bg-left:hover:after {
        transform-origin: left top;
        transform: scale(1, 1); }
      .footer .subf-nav-list a:hover {
        opacity: 1; }
      .footer .subf-nav-list a.catalog {
        color: #7cc5d6;
        background: #fff; }
        .footer .subf-nav-list a.catalog:before {
          background-image: url(../img/icon-catalog.svg); }
        .footer .subf-nav-list a.catalog:after {
          background: #fff; }
        .footer .subf-nav-list a.catalog:hover:after {
          background: #d4f9ff; }
      .footer .subf-nav-list a.contact {
        color: #fff;
        background: #7cc5d6; }
        @media screen and (max-width: 767px) {
          .footer .subf-nav-list a.contact {
            background: #5bc2d3; } }
        .footer .subf-nav-list a.contact:before {
          background-image: url(../img/icon-contact.svg); }
        .footer .subf-nav-list a.contact:after {
          background: #7cc5d6; }
        .footer .subf-nav-list a.contact:hover:after {
          background: #5bc2d3; }
  .footer .copy {
    font-size: 1.4rem;
    text-align: center;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .footer .copy {
        font-size: 1rem; } }

.page .footer {
  position: static; }
  .page .footer .inner {
    max-width: initial;
    padding: 0 193px; }
    @media screen and (min-width: 768px) and (max-width: 1702px) {
      .page .footer .inner {
        width: 980px;
        padding: 0; } }
    @media screen and (max-width: 767px) {
      .page .footer .inner {
        padding: 0 25px; } }

/* !!------------------------------------ */
/* !! BATH */
.page .inner {
  max-width: 1366px;
  padding: 0 193px; }
  @media screen and (max-width: 767px) {
    .page .inner {
      max-width: 100%;
      padding: 0 25px; } }
.page .ttl-h2 {
  font-size: 6rem;
  color: #7cc5d6; }
  @media screen and (max-width: 767px) {
    .page .ttl-h2 {
      font-size: 9.3vw;
      white-space: nowrap; } }
  .page .ttl-h2 span {
    margin-left: 30px; }
    @media screen and (max-width: 767px) {
      .page .ttl-h2 span {
        margin-left: 15px; } }
.page .main-visual-section {
  height: calc(768px - 120px); }
  @media screen and (max-width: 767px) {
    .page .main-visual-section {
      height: calc(100vh - 50px); } }
.page .main-visual-wrap {
  height: 100%;
  display: block;
  position: relative; }
  .page .main-visual-wrap .ttl-h2 {
    padding-top: 60px; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .ttl-h2 {
        padding-top: 13.3vw; } }
    .page .main-visual-wrap .ttl-h2 .slide-in {
      font-size: inherit;
      margin-left: 0;
      display: inline-block; }
    .page .main-visual-wrap .ttl-h2 .slide-in_inner {
      font-size: inherit;
      margin-left: 0;
      display: inline-block; }
    .page .main-visual-wrap .ttl-h2 .sub-ttl {
      min-width: initial;
      font-size: 1.6rem;
      margin-bottom: 0; }
      @media screen and (max-width: 767px) {
        .page .main-visual-wrap .ttl-h2 .sub-ttl {
          font-size: 3.7vw;
          line-height: 1; } }
  @media screen and (max-width: 767px) and (max-width: 320px) {
    .page .main-visual-wrap .ttl-h2 .sub-ttl {
      font-size: 3.2vw; } }

  .page .main-visual-wrap .inner {
    height: 100%; }
  .page .main-visual-wrap .sub-ttl {
    min-width: 370px;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.02em;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .sub-ttl {
        min-width: 100%;
        font-size: 6.4vw;
        margin-bottom: 5.3vw; } }
  .page .main-visual-wrap .lead-txt {
    min-width: 370px;
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: justify;
    letter-spacing: 0.14em; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .lead-txt {
        min-width: 100%;
        font-size: 3.7vw;
        line-height: 1.8; } }
    @media screen and (max-width: 320px) {
      .page .main-visual-wrap .lead-txt {
        font-size: 3.5vw; } }
  .page .main-visual-wrap .wave {
    width: 100%;
    height: 350px;
    background: none;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .wave {
        height: 49.4vh;
        top: 31.6vw;
        transform: translate(-50%, 0); } }
    .page .main-visual-wrap .wave .inner {
      width: 100%;
      min-width: initial; }
    .page .main-visual-wrap .wave .txt-wrap {
      width: 100%;
      max-width: 450px;
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-top: 100px;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        .page .main-visual-wrap .wave .txt-wrap {
          max-width: 100%;
          padding-top: 10.6vw; } }
      .page .main-visual-wrap .wave .txt-wrap:after {
        content: "";
        width: 98px;
        height: 211px;
        background-image: url(../img/drop5@2x.png);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100%;
        position: absolute;
        bottom: -230px;
        left: 0; }
        @media screen and (max-width: 767px) {
          .page .main-visual-wrap .wave .txt-wrap:after {
            content: none; } }
    .page .main-visual-wrap .wave canvas {
      height: 600px; }
      @media screen and (max-width: 767px) {
        .page .main-visual-wrap .wave canvas {
          height: 95.8vh; } }
    .page .main-visual-wrap .wave #waveCanvas, .page .main-visual-wrap .wave #waveCanvas3 {
      display: none; }
  .page .main-visual-wrap .slide-wrap {
    width: 660px;
    height: 433px;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .slide-wrap {
        width: 100%;
        flex-basis: calc(100% - 15px);
        max-width: calc(100% - 15px);
        height: 35.6vh;
        bottom: 13.3vw; }
        .page .main-visual-wrap .slide-wrap:after {
          content: "";
          width: 13vw;
          height: 28.2vw;
          background-image: url(../img/drop5@2x.png);
          background-repeat: no-repeat;
          background-position: center center;
          background-size: 100%;
          position: absolute;
          bottom: -18.6vw;
          left: 0; } }
  .page .main-visual-wrap .slide-list, .page .main-visual-wrap .slick-list, .page .main-visual-wrap .slick-track {
    border-radius: 0 0 0 50px; }
  .page .main-visual-wrap .progress {
    right: auto;
    left: -100px; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .progress {
        bottom: -10.9vw;
        left: calc(50% - 10px);
        transform: translate(-50%, -50%); } }
  @media screen and (max-width: 767px) {
    .page .main-visual-wrap .slick-arrow {
      bottom: -13.3vw; } }
  .page .main-visual-wrap .slick-arrow.slick-prev {
    right: auto;
    left: -100px; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .slick-arrow.slick-prev {
        left: 70px; } }
  .page .main-visual-wrap .slick-arrow.slick-next {
    right: auto;
    left: -60px; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .slick-arrow.slick-next {
        right: 95px;
        left: auto; } }
.page .secondary-section .ttl-h2 {
  font-size: 4.8rem;
  color: #333;
  margin-bottom: 45px; }
  @media screen and (max-width: 767px) {
    .page .secondary-section .ttl-h2 {
      font-size: 10.1vw;
      margin-bottom: 8vw;
      flex-direction: column; }
      .page .secondary-section .ttl-h2 .sub-ttl {
        margin: 20px 0 0 0;
        display: block; } }
  .page .secondary-section .ttl-h2 .slide-in {
    font-size: inherit;
    margin-left: 0;
    display: inline-block; }
  .page .secondary-section .ttl-h2 .slide-in_inner {
    font-size: inherit;
    margin-left: 0;
    display: inline-block; }
.page .secondary-section .lead-txt {
  width: 500px;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.14em; }
  @media screen and (max-width: 767px) {
    .page .secondary-section .lead-txt {
      width: 100%;
      text-align: justify; } }
.page .secondary-section .bathtab-list {
  display: flex;
  justify-content: space-between;
  margin-top: 100px; }
  @media screen and (max-width: 767px) {
    .page .secondary-section .bathtab-list {
      margin-top: 60px;
      flex-direction: column; } }
.page .secondary-section .bathtab-list-item {
  flex-basis: 452px;
  max-width: 452px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .page .secondary-section .bathtab-list-item {
      flex-basis: 100%;
      max-width: 100%;
      margin-bottom: 100px; }
      .page .secondary-section .bathtab-list-item:last-child {
        margin-bottom: 0; }
      .page .secondary-section .bathtab-list-item .slick-slider {
        width: calc(100% + 30px);
        margin-left: -15px; } }
  .page .secondary-section .bathtab-list-item .slick-arrow {
    width: 40px;
    height: 40px;
    font-size: 0;
    position: absolute;
    bottom: 0;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .page .secondary-section .bathtab-list-item .slick-arrow {
        width: 30px;
        height: 30px; } }
    .page .secondary-section .bathtab-list-item .slick-arrow:after {
      content: "";
      width: 10px;
      height: 10px;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      position: absolute;
      top: 50%;
      left: 50%; }
      @media screen and (max-width: 767px) {
        .page .secondary-section .bathtab-list-item .slick-arrow:after {
          width: 8px;
          height: 8px; } }
    .page .secondary-section .bathtab-list-item .slick-arrow.slick-prev {
      background: #000;
      right: 40px; }
      @media screen and (max-width: 767px) {
        .page .secondary-section .bathtab-list-item .slick-arrow.slick-prev {
          right: 30px; } }
      .page .secondary-section .bathtab-list-item .slick-arrow.slick-prev:after {
        transform: translate(-50%, -50%) rotate(-45deg); }
    .page .secondary-section .bathtab-list-item .slick-arrow.slick-next {
      background: #7cc5d6;
      right: 0; }
      .page .secondary-section .bathtab-list-item .slick-arrow.slick-next:after {
        transform: translate(-50%, -50%) rotate(135deg); }
  .page .secondary-section .bathtab-list-item .ttl {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.02em;
    padding: 50px 0 35px; }
    @media screen and (max-width: 767px) {
      .page .secondary-section .bathtab-list-item .ttl {
        font-size: 4.5vw;
        white-space: nowrap;
        padding: 40px 0 35px; } }
  .page .secondary-section .bathtab-list-item .txt {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-align: justify;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .page .secondary-section .bathtab-list-item .txt {
        margin-bottom: 40px; } }
  .page .secondary-section .bathtab-list-item .link-txt {
    text-align: right; }
    @media screen and (max-width: 767px) {
      .page .secondary-section .bathtab-list-item .link-txt {
        text-align: center; } }
    .page .secondary-section .bathtab-list-item .link-txt a {
      font-size: 1.4rem;
      display: inline-flex;
      align-items: center; }
      .page .secondary-section .bathtab-list-item .link-txt a:hover {
        color: #7cc5d6; }
        .page .secondary-section .bathtab-list-item .link-txt a:hover .icon-catalog {
          fill: #7cc5d6; }
    .page .secondary-section .bathtab-list-item .link-txt .icon-catalog {
      width: 13px;
      height: 11px;
      fill: #333;
      margin-right: 10px;
      -webkit-transition: all ease 0.3s;
      transition: all ease 0.3s; }
    .page .secondary-section .bathtab-list-item .link-txt .arrow {
      margin-left: 10px; }
.page .secondary-section .ttl-h3 {
  text-align: center;
  color: #000;
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .page .secondary-section .ttl-h3 {
      margin-bottom: 30px; } }
  .page .secondary-section .ttl-h3 .slide-in {
    font-size: inherit;
    margin-top: 0;
    display: inline-block; }
  .page .secondary-section .ttl-h3 .slide-in_inner {
    font-size: inherit;
    margin-top: 0;
    display: inline-block; }
  .page .secondary-section .ttl-h3 .slide-in {
    font-size: inherit;
    margin-top: 0;
    display: inline-block; }
  .page .secondary-section .ttl-h3 .slide-in_inner {
    font-size: inherit;
    margin-top: 0;
    display: inline-block; }
  .page .secondary-section .ttl-h3.axa-ttl {
    font-size: 5.7rem;
    font-family: trajan-pro-3, serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.14em; }
    @media screen and (max-width: 767px) {
      .page .secondary-section .ttl-h3.axa-ttl {
        font-size: 4rem; } }
    .page .secondary-section .ttl-h3.axa-ttl .sub-ttl {
      font-size: 2rem;
      font-family: fot-tsukuaoldmin-pr6n, sans-serif;
      font-weight: 300;
      font-style: normal;
      letter-spacing: normal;
      display: block;
      margin-top: 10px; }
      @media screen and (max-width: 767px) {
        .page .secondary-section .ttl-h3.axa-ttl .sub-ttl {
          font-size: 1.4rem; } }
  .page .secondary-section .ttl-h3.hotaru-ttl {
    font-size: 4.8rem;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    letter-spacing: 0.02em;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .page .secondary-section .ttl-h3.hotaru-ttl {
        font-size: 4rem; } }
  .page .secondary-section .ttl-h3.unitbath-ttl {
    font-size: 6.2rem;
    font-family: "hk_novalight"; }
    @media screen and (max-width: 767px) {
      .page .secondary-section .ttl-h3.unitbath-ttl {
        font-size: 4rem; } }
    .page .secondary-section .ttl-h3.unitbath-ttl .sub-ttl {
      font-size: 1.7rem;
      font-family: din-condensed, sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: 0.025em;
      display: block;
      margin-top: 15px; }
      @media screen and (max-width: 767px) {
        .page .secondary-section .ttl-h3.unitbath-ttl .sub-ttl {
          font-size: 1.2rem;
          margin-top: 10px; } }
.page .bathtab-section {
  padding: 160px 0 120px; }
  @media screen and (max-width: 767px) {
    .page .bathtab-section {
      padding: 75px 0 70px; } }
.page .unitbath-section {
  background: #fcfcfc;
  padding: 140px 0; }
  @media screen and (max-width: 767px) {
    .page .unitbath-section {
      padding: 100px 0 85px; }
      .page .unitbath-section img {
        width: calc(100% + 30px);
        margin-left: -15px; } }
  .page .unitbath-section .inner:before {
    content: "";
    width: 84px;
    height: 150px;
    background-image: url(../img/drop3@2x.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    position: absolute;
    top: -170px;
    right: calc(15% + 200px); }
    @media screen and (max-width: 767px) {
      .page .unitbath-section .inner:before {
        width: 11vw;
        height: 20vw;
        top: calc(-100px - 10vw);
        right: 40px; } }
.page .mainoption-section {
  padding: 160px 0 100px; }
  @media screen and (max-width: 767px) {
    .page .mainoption-section {
      padding: 100px 0 50px; } }
  .page .mainoption-section:after {
    content: "";
    width: 100vw;
    height: 1px;
    background: #7cc5d6;
    position: absolute;
    bottom: 0;
    left: calc(50% - 50vw); }
  .page .mainoption-section .ttl-h2 {
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    .page .mainoption-section .ttl-h2 .slide-in {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .mainoption-section .ttl-h2 .slide-in_inner {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .mainoption-section .ttl-h2 .sub-ttl {
      margin: 20px 0 0 0;
      text-align: center;
      display: block; }
      @media screen and (max-width: 767px) {
        .page .mainoption-section .ttl-h2 .sub-ttl {
          margin-top: 15px; } }
  .page .mainoption-section .lead-txt {
    text-align: center;
    margin: 0 auto; }
  .page .mainoption-section .ttl-h3 {
    font-size: 3.6rem;
    font-family: montserrat, sans-serif;
    font-weight: bold;
    color: #7cc5d6;
    letter-spacing: 0.02em;
    display: flex;
    align-items: baseline;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .page .mainoption-section .ttl-h3 {
        font-size: 6.93vw;
        line-height: 1.3;
        text-align: left;
        flex-direction: column;
        justify-content: flex-start;
        margin-bottom: 40px; } }
    .page .mainoption-section .ttl-h3 .slide-in {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .mainoption-section .ttl-h3 .slide-in_inner {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .mainoption-section .ttl-h3 .sub-ttl {
      font-size: 1.6rem;
      font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
      font-weight: bold;
      margin-left: 30px; }
      @media screen and (max-width: 767px) {
        .page .mainoption-section .ttl-h3 .sub-ttl {
          font-size: 3.7vw;
          margin: 15px 0 0 0;
          display: block; } }
.page .tab-list {
  display: flex;
  margin-top: 90px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .page .tab-list {
      width: calc(100% + 30px);
      margin-top: 50px;
      margin-left: -15px; } }
  .page .tab-list:before {
    content: "";
    width: 100vw;
    height: 1px;
    background: #7cc5d6;
    position: absolute;
    top: 59px;
    left: calc(50% - 50vw); }
    @media screen and (max-width: 767px) {
      .page .tab-list:before {
        top: 49px; } }
.page .tab-list-item {
  flex-basis: 50%;
  max-width: 50%;
  height: 60px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  color: #7cc5d6;
  letter-spacing: 0.02em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #7cc5d6;
  cursor: pointer;
  position: relative; }
  @media screen and (max-width: 767px) {
    .page .tab-list-item {
      height: 50px;
      font-size: 3.5vw;
      white-space: nowrap; } }
  .page .tab-list-item.active {
    border-top: 1px solid #7cc5d6;
    border-right: 1px solid #7cc5d6;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #7cc5d6; }
    .page .tab-list-item.active:before {
      content: "";
      width: 100%;
      height: 4px;
      background: #7cc5d6;
      position: absolute;
      top: 0;
      left: 0; }
  .page .tab-list-item span {
    font-size: 1.2rem;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .page .tab-list-item span {
        font-size: 2.3vw;
        margin-top: 2px; } }
.page .tab-item {
  padding-top: 90px;
  display: none; }
  @media screen and (max-width: 767px) {
    .page .tab-item {
      padding-top: 50px; } }
  .page .tab-item.active {
    display: block; }
  .page .tab-item.carbonmicrobubble .feature-wrap {
    margin-bottom: 90px; }
    @media screen and (max-width: 767px) {
      .page .tab-item.carbonmicrobubble .feature-wrap {
        margin-bottom: 80px; } }
    .page .tab-item.carbonmicrobubble .feature-wrap:nth-of-type(2) {
      flex-direction: column;
      align-items: flex-start;
      margin-bottom: 0; }
      .page .tab-item.carbonmicrobubble .feature-wrap:nth-of-type(2) .ttl-h4 {
        margin-bottom: 85px; }
        @media screen and (max-width: 767px) {
          .page .tab-item.carbonmicrobubble .feature-wrap:nth-of-type(2) .ttl-h4 {
            margin: 35px 0; } }
      .page .tab-item.carbonmicrobubble .feature-wrap:nth-of-type(2) .btn-more {
        margin: 0; }
        .page .tab-item.carbonmicrobubble .feature-wrap:nth-of-type(2) .btn-more:before {
          content: none; }
        .page .tab-item.carbonmicrobubble .feature-wrap:nth-of-type(2) .btn-more .icon-catalog {
          width: 13px;
          height: 11px;
          fill: #fff;
          margin-right: 10px; }
  .page .tab-item.carbonmicrobubble .bnr-esoda {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 90px; }
    @media screen and (max-width: 767px) {
      .page .tab-item.carbonmicrobubble .bnr-esoda {
        margin-bottom: 80px; } }
.page .feature-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 75px; }
  @media screen and (max-width: 767px) {
    .page .feature-wrap {
      flex-direction: column;
      align-items: flex-start;
      margin-bottom: 100px; } }
  .page .feature-wrap .img-wrap, .page .feature-wrap .txt-wrap {
    flex-basis: 452px;
    max-width: 452px; }
    @media screen and (max-width: 767px) {
      .page .feature-wrap .img-wrap, .page .feature-wrap .txt-wrap {
        flex-basis: 100%;
        max-width: 100%; } }
  @media screen and (max-width: 767px) {
    .page .feature-wrap .img-wrap {
      width: calc(100% + 30px);
      flex-basis: 100%;
      max-width: calc(100% + 30px);
      margin-left: -15px; } }
  .page .feature-wrap .txt-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-start; }
  .page .feature-wrap .ttl-h4 {
    font-size: 2.4rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.02em;
    margin-bottom: 30px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .feature-wrap .ttl-h4 {
        font-size: 4.8vw;
        margin-top: 25px;
        text-align: justify; }
        .page .feature-wrap .ttl-h4 br {
          display: none; } }
    .page .feature-wrap .ttl-h4:after {
      content: "";
      width: 116px;
      height: 58px;
      background-image: url(../img/drop4@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      top: -35px;
      right: 0; }
      @media screen and (max-width: 767px) {
        .page .feature-wrap .ttl-h4:after {
          width: 15.4vw;
          height: 7.73vw;
          top: calc(-74.6vw - 25px); } }
  .page .feature-wrap .txt {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: 0.14em;
    text-align: justify; }
  .page .feature-wrap .btn-more {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px; }
    @media screen and (max-width: 767px) {
      .page .feature-wrap .btn-more {
        margin-top: 30px; } }
    .page .feature-wrap .btn-more:before {
      content: "";
      width: 14px;
      height: 10px;
      background-image: url(../img/icon-youtube.svg);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      margin-right: 10px; }
  .page .feature-wrap:nth-of-type(2) {
    flex-direction: row-reverse; }
    @media screen and (max-width: 767px) {
      .page .feature-wrap:nth-of-type(2) {
        flex-direction: column;
        margin-bottom: 0; }
        .page .feature-wrap:nth-of-type(2) > span {
          width: 100%;
          font-size: 1.4rem;
          font-weight: bold;
          color: #7cc5d6;
          margin-bottom: 50px;
          position: relative; }
          .page .feature-wrap:nth-of-type(2) > span:before {
            content: "";
            width: 60px;
            height: 60px;
            border-radius: 30px;
            background: rgba(124, 197, 214, 0.1);
            position: absolute;
            top: 50%;
            left: 15px;
            transform: translate(-50%, -50%); } }
    .page .feature-wrap:nth-of-type(2) .ttl-h4 {
      font-size: 2rem; }
      @media screen and (max-width: 767px) {
        .page .feature-wrap:nth-of-type(2) .ttl-h4 {
          font-size: 4.8vw; } }
      .page .feature-wrap:nth-of-type(2) .ttl-h4:after {
        content: none; }
      .page .feature-wrap:nth-of-type(2) .ttl-h4 .slide-in {
        overflow: visible; }
      .page .feature-wrap:nth-of-type(2) .ttl-h4 .sub-ttl {
        font-size: 1.8rem;
        font-weight: bold;
        letter-spacing: 0.02em;
        color: #7cc5d6;
        display: block;
        margin-bottom: 15px;
        position: relative; }
        @media screen and (max-width: 767px) {
          .page .feature-wrap:nth-of-type(2) .ttl-h4 .sub-ttl {
            width: 100%;
            font-size: 1.4rem;
            margin-bottom: 50px; } }
        .page .feature-wrap:nth-of-type(2) .ttl-h4 .sub-ttl:before {
          content: "";
          width: 100px;
          height: 100px;
          border-radius: 50%;
          background: rgba(124, 197, 214, 0.1);
          position: absolute;
          top: 50%;
          left: 0;
          transform: translate(-50%, -50%); }
          @media screen and (max-width: 767px) {
            .page .feature-wrap:nth-of-type(2) .ttl-h4 .sub-ttl:before {
              content: "";
              width: 60px;
              height: 60px;
              left: 15px; } }
  .page .feature-wrap .efficacy-list {
    width: 100%;
    display: flex;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .page .feature-wrap .efficacy-list {
        flex-wrap: wrap;
        margin-bottom: 0; } }
  .page .feature-wrap .efficacy-list-item {
    flex-basis: calc(100% /5);
    max-width: calc(100% / 5);
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #7cc5d6; }
    @media screen and (max-width: 767px) {
      .page .feature-wrap .efficacy-list-item {
        flex-basis: 50%;
        max-width: 50%;
        padding: 20px 0;
        border-bottom: 1px solid #7CC5D6; }
        .page .feature-wrap .efficacy-list-item:nth-child(-n + 2) {
          padding-top: 0; }
        .page .feature-wrap .efficacy-list-item:nth-child(2n) {
          border-right: none; } }
    .page .feature-wrap .efficacy-list-item:last-child {
      border-right: none; }
      @media screen and (max-width: 767px) {
        .page .feature-wrap .efficacy-list-item:last-child {
          flex-basis: 100%;
          max-width: 100%; } }
    .page .feature-wrap .efficacy-list-item figure {
      width: 100%;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
    .page .feature-wrap .efficacy-list-item .img-wrap {
      flex-basis: initial;
      max-width: initial;
      height: 80px;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media screen and (max-width: 767px) {
        .page .feature-wrap .efficacy-list-item .img-wrap {
          width: 100%;
          flex-basis: 100%;
          max-width: 100%;
          margin-left: 0; }
          .page .feature-wrap .efficacy-list-item .img-wrap img {
            width: initial; } }
    .page .feature-wrap .efficacy-list-item figcaption {
      font-size: 1.8rem;
      font-weight: bold;
      color: #7cc5d6;
      display: block;
      margin-top: 10px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .page .feature-wrap .efficacy-list-item figcaption {
          font-size: 1.6rem; } }
.page .suboption-section {
  padding: 180px 0; }
  @media screen and (max-width: 767px) {
    .page .suboption-section {
      padding: 100px 0 130px; } }
  .page .suboption-section .ttl-h2 {
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    .page .suboption-section .ttl-h2 .slide-in {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .suboption-section .ttl-h2 .slide-in_inner {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .suboption-section .ttl-h2 .sub-ttl {
      margin: 20px 0 0 0;
      text-align: center;
      display: block; }
  .page .suboption-section .lead-txt {
    text-align: center;
    margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .page .suboption-section .bathtab-list {
      margin-top: 40px; } }
  .page .suboption-section .bathtab-list-item {
    flex-basis: 300px;
    max-width: 300px; }
    @media screen and (max-width: 767px) {
      .page .suboption-section .bathtab-list-item {
        flex-basis: 100%;
        max-width: 100%;
        margin-bottom: 40px; }
        .page .suboption-section .bathtab-list-item:last-child {
          margin-bottom: 0; }
        .page .suboption-section .bathtab-list-item img {
          width: calc(100% + 30px);
          margin-left: -15px; }
        .page .suboption-section .bathtab-list-item .ttl {
          padding: 25px 0; }
        .page .suboption-section .bathtab-list-item .txt {
          margin-bottom: 0; } }
  .page .suboption-section .txt {
    margin-bottom: 0; }
  .page .suboption-section .btn-more {
    width: 390px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .page .suboption-section .btn-more {
        width: 100%;
        margin-top: 30px; } }
.page .maintenance-section {
  background: rgba(0, 0, 0, 0.02);
  padding: 180px 0 0; }
  @media screen and (max-width: 767px) {
    .page .maintenance-section {
      padding: 100px 0 120px; }
      .page .maintenance-section .ttl-h2 {
        margin-bottom: 10.6vw; }
      .page .maintenance-section img {
        width: 100vw;
        margin-left: -25px; } }
  .page .maintenance-section .lead-txt {
    width: 100%;
    margin-bottom: 75px; }
    @media screen and (max-width: 767px) {
      .page .maintenance-section .lead-txt {
        margin: 40px 0 0 0; } }
  .page .maintenance-section .maintenance-list {
    display: flex; }
    @media screen and (max-width: 767px) {
      .page .maintenance-section .maintenance-list {
        display: none; } }
  .page .maintenance-section .maintenance-list-item {
    flex-basis: 50%;
    max-width: 50%;
    height: 290px; }
    .page .maintenance-section .maintenance-list-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      -o-object-fit: cover;
      object-position: center;
      -o-object-position: center; }
    .page .maintenance-section .maintenance-list-item:last-child a {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      color: #fff;
      background: #333; }
    .page .maintenance-section .maintenance-list-item:last-child span {
      font-weight: bold;
      letter-spacing: 0.02em; }
      .page .maintenance-section .maintenance-list-item:last-child span.ttl {
        font-size: 1.6rem; }
      .page .maintenance-section .maintenance-list-item:last-child span.number {
        font-size: 4.2em;
        font-family: montserrat, sans-serif;
        font-weight: 500;
        font-style: normal;
        display: flex;
        align-items: center;
        margin: 20px 0 25px; }
        .page .maintenance-section .maintenance-list-item:last-child span.number:before {
          content: "";
          width: 34px;
          height: 34px;
          background-image: url(../img/icon-tel.svg);
          background-repeat: no-repeat;
          background-position: center center;
          background-size: 100%;
          margin-right: 15px; }
      .page .maintenance-section .maintenance-list-item:last-child span.time {
        font-size: 1.2rem;
        display: flex;
        align-items: center; }
        .page .maintenance-section .maintenance-list-item:last-child span.time i {
          display: flex;
          align-items: center;
          margin-right: 10px; }
          .page .maintenance-section .maintenance-list-item:last-child span.time i:after {
            content: "";
            width: 1px;
            height: 13px;
            background: #fff;
            margin-left: 10px; }

.page .footer {
  padding-top: 25px; }
  .page .footer .breadcrumb-list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 40px; }
    @media screen and (max-width: 767px) {
      .page .footer .breadcrumb-list {
        flex-wrap: wrap;
        margin-bottom: 30px; } }
  .page .footer .breadcrumb-list-item {
    font-size: 1.2rem;
    color: #fff;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    margin-right: 0.5em; }
    @media screen and (max-width: 767px) {
      .page .footer .breadcrumb-list-item {
        line-height: 1.4;
        margin-bottom: 10px; } }
    .page .footer .breadcrumb-list-item:after {
      content: ">";
      font-size: 1.2rem;
      margin-left: 0.5em; }
    .page .footer .breadcrumb-list-item:last-child {
      margin-right: 0; }
      .page .footer .breadcrumb-list-item:last-child:after {
        content: none; }
    .page .footer .breadcrumb-list-item a {
      text-decoration: underline; }

/* !!------------------------------------ */
/* !! esoda */
.page .main-visual-wrap .progress2 {
  display: none; }
  @media screen and (max-width: 767px) {
    .page .main-visual-wrap .progress2 {
      display: block; } }
@media screen and (max-width: 767px) {
  .page .main-visual-wrap .slide-wrap {
    bottom: 5.3vw; }
  .page .main-visual-wrap .progress2 {
    bottom: -9.33vw;
    left: calc(50% - 10px);
    transform: translate(-50%, -50%); } }
@media screen and (max-width: 767px) {
  .page .main-visual-wrap .slide-list2 {
    height: 100%; }
    .page .main-visual-wrap .slide-list2 .slick-arrow {
      bottom: -11.5vw; } }
.page .main-visual-wrap .slide-list2 .slick-dots {
  width: 300px;
  position: absolute;
  left: -350px;
  bottom: 35px;
  text-align: right; }
  @media screen and (max-width: 767px) {
    .page .main-visual-wrap .slide-list2 .slick-dots {
      width: 100%;
      position: static;
      margin-top: 18.6vw;
      padding-right: 25px; } }
  .page .main-visual-wrap .slide-list2 .slick-dots li {
    margin-bottom: 10px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .slide-list2 .slick-dots li {
        margin-bottom: 1.3333333333vw; } }
    .page .main-visual-wrap .slide-list2 .slick-dots li:last-child {
      margin-bottom: 0; }
    .page .main-visual-wrap .slide-list2 .slick-dots li:after {
      content: "";
      width: 1px;
      height: 1px;
      background: transparent;
      position: absolute;
      top: 50%;
      right: -70px;
      transform: translate(0, -50%);
      opacity: 0;
      -webkit-transition: all ease 0.3s;
      transition: all ease 0.3s;
      z-index: -1; }
      @media screen and (max-width: 767px) {
        .page .main-visual-wrap .slide-list2 .slick-dots li:after {
          content: none; } }
    .page .main-visual-wrap .slide-list2 .slick-dots li.slick-active:after {
      width: 60px;
      background: #7cc5d6;
      opacity: 1; }
  .page .main-visual-wrap .slide-list2 .slick-dots .wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    .page .main-visual-wrap .slide-list2 .slick-dots .wrap i {
      font-size: 1.8rem;
      font-family: montserrat, sans-serif;
      font-weight: bold;
      letter-spacing: 0.02em;
      display: flex;
      align-items: baseline;
      color: #e6e6e6;
      -webkit-transition: all ease 0.3s;
      transition: all ease 0.3s; }
      @media screen and (max-width: 767px) {
        .page .main-visual-wrap .slide-list2 .slick-dots .wrap i {
          font-size: 4.8vw; } }
  .page .main-visual-wrap .slide-list2 .slick-dots .slick-active i {
    font-size: 2.4rem;
    color: #7cc5d6; }
    @media screen and (max-width: 767px) {
      .page .main-visual-wrap .slide-list2 .slick-dots .slick-active i {
        font-size: 6.4vw; } }
  .page .main-visual-wrap .slide-list2 .slick-dots :focus {
    outline: none; }
.page .aboutesoda-section {
  padding: 160px 0 260px; }
  @media screen and (max-width: 767px) {
    .page .aboutesoda-section {
      padding: 64vw 0 100px; } }
  .page .aboutesoda-section .ttl-h2 {
    font-size: 3.6rem;
    font-weight: bold;
    font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .page .aboutesoda-section .ttl-h2 {
        font-size: 6.9vw;
        margin-bottom: 10.6vw; } }
    .page .aboutesoda-section .ttl-h2 .slide-in {
      font-size: inherit;
      margin-bottom: 0;
      display: inline-block; }
    .page .aboutesoda-section .ttl-h2 .slide-in_inner {
      font-size: inherit;
      margin-bottom: 0;
      display: inline-block; }
    .page .aboutesoda-section .ttl-h2 .sub-ttl {
      font-size: 1.8rem;
      color: #7cc5d6;
      text-align: center;
      display: block;
      margin: 0 0 30px 0; }
      @media screen and (max-width: 767px) {
        .page .aboutesoda-section .ttl-h2 .sub-ttl {
          font-size: 4.2vw;
          margin-bottom: 20px; } }
  .page .aboutesoda-section .lead-txt {
    margin: 0 auto; }
  .page .aboutesoda-section .esoda-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 100px;
    counter-reset: number 0; }
    @media screen and (max-width: 767px) {
      .page .aboutesoda-section .esoda-list {
        margin-top: 50px; } }
  .page .aboutesoda-section .esoda-list-item {
    flex-basis: 452px;
    max-width: 452px; }
    @media screen and (max-width: 767px) {
      .page .aboutesoda-section .esoda-list-item {
        flex-basis: 100%;
        max-width: 100%;
        margin-bottom: 55px; }
        .page .aboutesoda-section .esoda-list-item:last-child {
          margin-bottom: 0; }
        .page .aboutesoda-section .esoda-list-item img {
          width: calc(100% + 30px);
          margin-left: -15px; } }
    .page .aboutesoda-section .esoda-list-item:nth-child(n + 3) {
      margin-top: 65px; }
      @media screen and (max-width: 767px) {
        .page .aboutesoda-section .esoda-list-item:nth-child(n + 3) {
          margin-top: 0; } }
  .page .aboutesoda-section .ttl-h3 {
    font-size: 2.4rem;
    font-weight: bold;
    padding: 60px 0 30px;
    margin-bottom: 0;
    display: flex;
    align-items: flex-start; }
    @media screen and (max-width: 767px) {
      .page .aboutesoda-section .ttl-h3 {
        font-size: 4.8vw;
        padding: 9.4vw 0 6.66vw;
        margin-left: -15px; } }
    .page .aboutesoda-section .ttl-h3:before {
      counter-increment: number 1;
      content: "0" counter(number);
      font-size: 2.4rem;
      font-family: montserrat, sans-serif;
      font-weight: 100;
      font-style: normal;
      margin-right: 15px;
      position: relative;
      top: -20px; }
      @media screen and (max-width: 767px) {
        .page .aboutesoda-section .ttl-h3:before {
          font-size: 5.3vw;
          margin-right: 2vw;
          top: -10px; } }
  .page .aboutesoda-section .txt {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: 0.14em;
    text-align: justify; }
.page .esodafeature-section {
  padding: 160px 0 50px;
  margin-bottom: 250px;
  background: rgba(0, 0, 0, 0.02); }
  @media screen and (max-width: 767px) {
    .page .esodafeature-section {
      background: none;
      padding: 0 0 100px;
      margin-bottom: 0; }
      .page .esodafeature-section:after {
        content: "";
        width: 100%;
        height: 301vw;
        background: rgba(0, 0, 0, 0.02);
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: -1; } }
  .page .esodafeature-section .ttl-h2 {
    color: #7cc5d6;
    flex-wrap: wrap;
    margin-bottom: 35px; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section .ttl-h2 {
        position: relative; }
        .page .esodafeature-section .ttl-h2:after {
          content: "";
          width: 11.2vw;
          height: 20vw;
          background-image: url(../img/drop3@2x.png);
          background-repeat: no-repeat;
          background-position: center center;
          background-size: 100%;
          position: absolute;
          top: 0;
          right: 10px; } }
    .page .esodafeature-section .ttl-h2 i {
      font-size: 3.6rem;
      font-weight: bold;
      flex-basis: 100%;
      max-width: 100%;
      margin-bottom: 20px;
      display: block; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section .ttl-h2 i {
          font-size: 6.9vw;
          margin-bottom: 10px; } }
  .page .esodafeature-section .lead-txt {
    width: 450px; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section .lead-txt {
        width: 100%;
        margin-bottom: 40px; } }
  .page .esodafeature-section .img-wrap {
    border-radius: 0 0 0 50px;
    overflow: hidden;
    position: absolute;
    top: -240px;
    right: 0; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section .img-wrap {
        width: calc(100% + 30px);
        position: static;
        margin-left: -5px; } }
  .page .esodafeature-section .shower-efficacy-wrap {
    width: 1200px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
    padding: 55px 110px 35px;
    margin: 100px 0 50px -110px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section .shower-efficacy-wrap {
        width: calc(100% + 30px);
        padding: 40px 15px 30px;
        margin: 25px 0 0 -15px;
        border-radius: 10px 10px 0 0; } }
    .page .esodafeature-section .shower-efficacy-wrap:after {
      content: "";
      width: 84px;
      height: 150px;
      background-image: url(../img/drop3@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      top: -60px;
      right: 190px; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section .shower-efficacy-wrap:after {
          content: none; } }
  .page .esodafeature-section .hhl-h3 {
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section .hhl-h3 {
        font-size: 4.8vw;
        line-height: 1.8;
        margin-bottom: 40px; } }
  .page .esodafeature-section .efficacy-list {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section .efficacy-list {
        flex-direction: column; } }
  .page .esodafeature-section .efficacy-list-item {
    flex-basis: 233px;
    max-width: 233px;
    color: #fff;
    background: #7cc5d6;
    padding: 30px 20px;
    border-radius: 4px; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section .efficacy-list-item {
        flex-basis: 100%;
        max-width: 100%;
        padding: 30px 15px;
        margin-bottom: 15px; }
        .page .esodafeature-section .efficacy-list-item:last-child {
          margin-bottom: 0; } }
    .page .esodafeature-section .efficacy-list-item .ttl-h4 {
      font-size: 1.8rem;
      line-height: 1.4;
      font-weight: bold;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section .efficacy-list-item .ttl-h4 {
          font-size: 1.6rem; } }
      .page .esodafeature-section .efficacy-list-item .ttl-h4:after {
        content: "";
        width: 30px;
        height: 4px;
        display: block;
        background-image: url(../img/line2@2x.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100%;
        margin: 15px auto 0; }
    .page .esodafeature-section .efficacy-list-item .txt {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.06em;
      text-align: justify; }
    .page .esodafeature-section .efficacy-list-item .img-list-item {
      margin-bottom: 0; }
  .page .esodafeature-section .link-list {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section .link-list {
        width: calc(100% + 30px);
        flex-direction: column;
        background: #fff;
        border-radius: 0 0 10px 10px;
        padding: 0 15px 30px;
        margin-left: -15px; } }
  .page .esodafeature-section .link-list-item {
    flex-basis: 452px;
    max-width: 452px;
    height: 40px;
    font-size: 1.4rem;
    letter-spacing: 0.14em;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section .link-list-item {
        flex-basis: 100%;
        max-width: 100%;
        height: 50px;
        margin-bottom: 15px; }
        .page .esodafeature-section .link-list-item:last-child {
          margin-bottom: 0; } }
    .page .esodafeature-section .link-list-item .btn-more {
      width: 100%;
      height: auto;
      display: block;
      margin-top: 0; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section .link-list-item .btn-more {
          font-size: 3.7vw;
          white-space: nowrap; } }
  @media screen and (max-width: 767px) {
    .page .esodafeature-section.drink {
      padding-top: 100px; }
      .page .esodafeature-section.drink:after {
        bottom: 40px; } }
  .page .esodafeature-section.drink .ttl-h2 {
    width: 450px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.drink .ttl-h2 {
        width: 100%; } }
    .page .esodafeature-section.drink .ttl-h2:after {
      content: "";
      width: 116px;
      height: 58px;
      background-image: url(../img/drop4@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      top: -80px;
      right: 0; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.drink .ttl-h2:after {
          width: 15.4vw;
          height: 7.73vw;
          top: 0;
          right: 10px; } }
  .page .esodafeature-section.drink .shower-efficacy-wrap {
    padding: 20px; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.drink .shower-efficacy-wrap {
        padding: 40px 15px 30px;
        border-radius: 10px;
        margin-bottom: 35px; } }
    .page .esodafeature-section.drink .shower-efficacy-wrap:after {
      content: none; }
  .page .esodafeature-section.drink .efficacy-list {
    justify-content: flex-end; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.drink .efficacy-list {
        justify-content: center; } }
  .page .esodafeature-section.drink .efficacy-list-item {
    background: none;
    padding: 0;
    border-radius: 0; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.drink .efficacy-list-item:nth-child(2) {
        order: 3; }
      .page .esodafeature-section.drink .efficacy-list-item.img-wrap:last-child {
        order: 2;
        margin-bottom: 10px; } }
    .page .esodafeature-section.drink .efficacy-list-item:first-child {
      flex-basis: calc(100% - 694px);
      max-width: calc(100% - 694px); }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.drink .efficacy-list-item:first-child {
          flex-basis: 100%;
          max-width: 100%;
          order: 1;
          margin-bottom: 30px; } }
    .page .esodafeature-section.drink .efficacy-list-item.img-wrap {
      flex-basis: 337px;
      max-width: 337px;
      margin-left: 10px;
      position: static; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.drink .efficacy-list-item.img-wrap {
          flex-basis: 100%;
          max-width: 100%;
          margin: 0; } }
    .page .esodafeature-section.drink .efficacy-list-item .ttl-h3 {
      width: 280px;
      font-size: 2.2rem;
      font-weight: bold;
      line-height: 1.8;
      margin: 0 auto 30px;
      text-align: left; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.drink .efficacy-list-item .ttl-h3 {
          width: 100%;
          font-size: 4.8vw;
          text-align: center;
          margin-bottom: 35px; } }
    .page .esodafeature-section.drink .efficacy-list-item .txt {
      width: 280px;
      margin: 0 auto;
      color: #333; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.drink .efficacy-list-item .txt {
          width: 100%; } }
    .page .esodafeature-section.drink .efficacy-list-item .img-list {
      display: flex;
      flex-wrap: wrap;
      margin-top: 0; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.drink .efficacy-list-item .img-list {
          flex-direction: row; } }
      .page .esodafeature-section.drink .efficacy-list-item .img-list img {
        width: 100%;
        height: auto; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.drink .efficacy-list-item .img-list img {
            width: 100%;
            margin-left: 0; } }
    .page .esodafeature-section.drink .efficacy-list-item .img-list-item {
      flex-basis: 163px;
      max-width: 163px;
      margin-right: 10px; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.drink .efficacy-list-item .img-list-item {
          flex-basis: calc((100% - 10px)/2);
          max-width: calc((100% - 10px)/2);
          margin-bottom: 0; }
          .page .esodafeature-section.drink .efficacy-list-item .img-list-item:first-child {
            order: 1; }
          .page .esodafeature-section.drink .efficacy-list-item .img-list-item:nth-child(2) {
            order: 3;
            margin: 10px 10px 0 0 !important; }
          .page .esodafeature-section.drink .efficacy-list-item .img-list-item:nth-child(3) {
            order: 2;
            margin: 0 !important; }
          .page .esodafeature-section.drink .efficacy-list-item .img-list-item:last-child {
            order: 4; } }
      .page .esodafeature-section.drink .efficacy-list-item .img-list-item:nth-child(n + 3) {
        margin-top: 10px; }
      .page .esodafeature-section.drink .efficacy-list-item .img-list-item:nth-child(2n) {
        margin-right: 0; }
  .page .esodafeature-section.drink .link-list {
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.drink .link-list {
        width: 100%;
        background: none;
        margin-left: 0;
        padding: 0;
        border-radius: 0; } }
  .page .esodafeature-section.shampoo {
    margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.shampoo {
        padding: 100px 0 65px; }
        .page .esodafeature-section.shampoo .ttl-h2:after {
          content: none; } }

/* !!------------------------------------ */
/* !! ABOUT */
.page.company .main-visual-wrap .wave .txt-wrap {
  padding-top: 80px; }
  @media screen and (max-width: 767px) {
    .page.company .main-visual-wrap .wave .txt-wrap {
      padding-top: 10.6vw; } }
.page .strengths-section {
  padding: 160px 0 120px; }
  @media screen and (max-width: 767px) {
    .page .strengths-section {
      padding: 75px 0 60px; } }
  .page .strengths-section .ttl-h2 {
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      .page .strengths-section .ttl-h2 {
        font-size: 8vw;
        text-align: center;
        display: block;
        white-space: nowrap;
        margin-bottom: 9.3vw; } }
    .page .strengths-section .ttl-h2 .slide-in {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .strengths-section .ttl-h2 .slide-in_inner {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .strengths-section .ttl-h2 .sub-ttl {
      font-size: 1.8rem;
      color: #7cc5d6;
      flex-basis: 100%;
      max-width: 100%;
      justify-content: flex-start;
      margin: 0 0 15px 0;
      display: block; }
      @media screen and (max-width: 767px) {
        .page .strengths-section .ttl-h2 .sub-ttl {
          font-size: 4.2vw;
          display: block;
          margin-bottom: 10px;
          text-align: center; } }
    .page .strengths-section .ttl-h2 strong {
      font-size: 6rem;
      font-weight: bold;
      color: #7cc5d6;
      margin: 0 15px; }
      @media screen and (max-width: 767px) {
        .page .strengths-section .ttl-h2 strong {
          font-size: 10vw;
          margin: 0 2.6vw; } }
  .page .strengths-section .strengths-list {
    margin-top: 80px;
    counter-reset: number 0; }
    @media screen and (max-width: 767px) {
      .page .strengths-section .strengths-list {
        margin-top: 50px; } }
  .page .strengths-section .strengths-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 35px; }
    @media screen and (max-width: 767px) {
      .page .strengths-section .strengths-list-item {
        flex-direction: column;
        justify-content: center;
        margin-bottom: 55px; } }
    .page .strengths-section .strengths-list-item:last-child {
      margin-bottom: 0; }
  .page .strengths-section img, .page .strengths-section .txt-wrap {
    flex-basis: 452px;
    max-width: 452px; }
    @media screen and (max-width: 767px) {
      .page .strengths-section img, .page .strengths-section .txt-wrap {
        flex-basis: 100%;
        max-width: 100%; } }
  @media screen and (max-width: 767px) {
    .page .strengths-section img {
      width: calc(100% + 30px);
      max-width: calc(100% + 30px); } }
  .page .strengths-section .ttl-h3 {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    margin-bottom: 35px;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .page .strengths-section .ttl-h3 {
        font-size: 4.8vw;
        padding: 9.4vw 0 6.66vw;
        margin-bottom: 0;
        display: flex;
        align-items: flex-start;
        margin-left: -15px;
        white-space: nowrap; } }
    .page .strengths-section .ttl-h3:before {
      counter-increment: number 1;
      content: "0" counter(number);
      font-size: 4.5rem;
      font-family: montserrat, sans-serif;
      font-weight: 100;
      font-style: normal;
      display: block;
      margin-bottom: 25px; }
      @media screen and (max-width: 767px) {
        .page .strengths-section .ttl-h3:before {
          font-size: 5.3vw;
          display: inline;
          margin: 0 2vw 0 0;
          top: -10px;
          position: relative; } }
  .page .strengths-section .txt {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: 0.14em;
    text-align: justify; }
.page .corporateprofile-section {
  padding: 100px 0 0; }
  @media screen and (max-width: 767px) {
    .page .corporateprofile-section {
      padding-top: 60px; } }
  .page .corporateprofile-section .ttl-h2 {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 130px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .ttl-h2 {
        line-height: 1.3;
        text-align: center;
        margin-bottom: 16vw;
        white-space: normal; } }
    .page .corporateprofile-section .ttl-h2:after {
      content: "";
      width: 84px;
      height: 150px;
      background-image: url(../img/drop3@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      right: -80px;
      bottom: 40px; }
      @media screen and (max-width: 767px) {
        .page .corporateprofile-section .ttl-h2:after {
          width: 11.2vw;
          height: 20vw;
          top: -25.3vw;
          right: 0;
          bottom: auto; } }
    .page .corporateprofile-section .ttl-h2 .slide-in {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .corporateprofile-section .ttl-h2 .slide-in_inner {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .corporateprofile-section .ttl-h2 .sub-ttl {
      margin: 20px 0 0 0;
      display: block;
      text-align: center; }
  .page .corporateprofile-section .corporateprofile-list-item {
    font-size: 1.6rem;
    display: flex;
    border-bottom: 1px solid #e6e6e6;
    padding: 20px 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .corporateprofile-list-item {
        flex-direction: column;
        padding: 6.66vw 0; }
        .page .corporateprofile-section .corporateprofile-list-item:first-child {
          padding-top: 0; } }
    .page .corporateprofile-section .corporateprofile-list-item:before {
      content: "";
      width: 110px;
      height: 1px;
      background: #7cc5d6;
      position: absolute;
      bottom: 0;
      left: 0; }
      @media screen and (max-width: 767px) {
        .page .corporateprofile-section .corporateprofile-list-item:before {
          width: 18.6vw;
          bottom: -1px; } }
  .page .corporateprofile-section .ttl {
    flex-basis: 110px;
    max-width: 110px;
    font-weight: bold;
    color: #7cc5d6; }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .ttl {
        font-size: 4.8vw;
        flex-basis: 100%;
        max-width: 100%;
        margin-bottom: 3.2vw; } }
  .page .corporateprofile-section .txt {
    flex-basis: calc(100% - 110px);
    max-width: calc(100% - 110px); }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .txt {
        flex-basis: 100%;
        max-width: 100%;
        font-size: 4.2vw;
        line-height: 1.8;
        text-align: justify; } }
  .page .corporateprofile-section .address-list {
    flex-basis: calc(100% - 110px);
    max-width: calc(100% - 110px); }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .address-list {
        flex-basis: 100%;
        max-width: 100%; } }
  .page .corporateprofile-section .address-list-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 20px; }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .address-list-item {
        margin-bottom: 30px; } }
    .page .corporateprofile-section .address-list-item:last-child {
      margin-bottom: 0; }
    .page .corporateprofile-section .address-list-item .ttl {
      flex-basis: 100%;
      max-width: 100%;
      display: flex;
      align-items: center;
      margin-bottom: 10px; }
      @media screen and (max-width: 767px) {
        .page .corporateprofile-section .address-list-item .ttl {
          font-size: 4.2vw;
          margin-bottom: 4vw; } }
      .page .corporateprofile-section .address-list-item .ttl:before {
        content: "";
        width: 2px;
        height: 16px;
        background: #7cc5d6;
        margin-right: 15px; }
        @media screen and (max-width: 767px) {
          .page .corporateprofile-section .address-list-item .ttl:before {
            margin-right: 3.7vw; } }
    .page .corporateprofile-section .address-list-item .txt {
      flex-basis: 455px;
      max-width: 455px;
      line-height: 1.4; }
      @media screen and (max-width: 767px) {
        .page .corporateprofile-section .address-list-item .txt {
          line-height: 1.8;
          flex-basis: 100%;
          max-width: 100%;
          margin-bottom: 5.3vw; } }
      .page .corporateprofile-section .address-list-item .txt a {
        color: #7cc5d6;
        text-decoration: underline; }
        .page .corporateprofile-section .address-list-item .txt a:hover {
          text-decoration: none;
          opacity: 1; }
    .page .corporateprofile-section .address-list-item .btn-more {
      display: flex;
      align-items: center;
      justify-content: center;
      letter-spacing: normal;
      margin: 0; }
      .page .corporateprofile-section .address-list-item .btn-more:before {
        content: "";
        width: 13px;
        height: 18px;
        background-image: url(../img/icon-mappin.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100%;
        margin-right: 7px; }
  .page .corporateprofile-section .bank-list {
    position: relative;
    top: -5px; }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .bank-list {
        top: 0; } }
  .page .corporateprofile-section .bank-list-item {
    font-size: 1.6rem;
    line-height: 1.8;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .bank-list-item {
        font-size: 4.2vw;
        line-height: 1;
        margin-bottom: 2.6vw; }
        .page .corporateprofile-section .bank-list-item:last-child {
          margin-bottom: 0; } }
  .page .corporateprofile-section .business-list {
    position: relative;
    top: -5px; }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .business-list {
        top: 0; } }
  .page .corporateprofile-section .business-list-item {
    line-height: 1.8;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .page .corporateprofile-section .business-list-item {
        font-size: 4.2vw;
        line-height: 24px;
        text-align: justify;
        flex-wrap: wrap;
        align-items: flex-start;
        margin-bottom: 2.6vw;
        padding-left: 16px;
        position: relative; }
        .page .corporateprofile-section .business-list-item:last-child {
          margin-bottom: 0; } }
    .page .corporateprofile-section .business-list-item:before {
      content: "";
      width: 6px;
      height: 6px;
      border-radius: 3px;
      background: #7cc5d6;
      margin-right: 15px; }
      @media screen and (max-width: 767px) {
        .page .corporateprofile-section .business-list-item:before {
          position: absolute;
          top: 9px;
          left: 0; } }
.page .history-section {
  padding: 180px 0 130px; }
  @media screen and (max-width: 767px) {
    .page .history-section {
      padding: 120px 0 65px; } }
  .page .history-section .ttl-h2 {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .history-section .ttl-h2 {
        margin-bottom: 16vw; } }
    .page .history-section .ttl-h2 .slide-in {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .history-section .ttl-h2 .slide-in_inner {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .history-section .ttl-h2 .sub-ttl {
      margin: 20px 0 0 0;
      display: block;
      text-align: center; }
    .page .history-section .ttl-h2:after {
      content: "";
      width: 116px;
      height: 58px;
      background-image: url(../img/drop4@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      top: -70px;
      right: -25px; }
      @media screen and (max-width: 767px) {
        .page .history-section .ttl-h2:after {
          width: 15.4vw;
          height: 7.7vw;
          top: 19.7vw;
          right: 0; } }
.page .history-list {
  height: 580px;
  overflow-x: hidden;
  overflow-y: scroll;
  padding-right: 60px; }
  @media screen and (max-width: 767px) {
    .page .history-list {
      width: calc(100% + 15px);
      height: 136vw;
      padding-right: 15px;
      margin-right: -15px; } }
  .page .history-list::-webkit-scrollbar {
    width: 10px; }
    @media screen and (max-width: 767px) {
      .page .history-list::-webkit-scrollbar {
        width: 4px; } }
  .page .history-list::-webkit-scrollbar-track {
    background: #e6e6e6;
    border-radius: 5px; }
    @media screen and (max-width: 767px) {
      .page .history-list::-webkit-scrollbar-track {
        border-radius: 2px; } }
  .page .history-list::-webkit-scrollbar-thumb {
    width: 5px;
    background: #7cc5d6;
    border-radius: 5px; }
    @media screen and (max-width: 767px) {
      .page .history-list::-webkit-scrollbar-thumb {
        width: 4px;
        border-radius: 2px; } }
.page .history-list-item {
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  padding: 25px 0 20px;
  display: flex;
  border-bottom: 1px solid #e6e6e6;
  position: relative; }
  @media screen and (max-width: 767px) {
    .page .history-list-item {
      font-size: 4.3vw;
      padding: 0 0 35px;
      flex-direction: column;
      border-bottom: none; }
      .page .history-list-item:last-child {
        padding-bottom: 0; } }
  .page .history-list-item:after {
    content: "";
    width: 140px;
    height: 1px;
    background: #7cc5d6;
    position: absolute;
    bottom: 0;
    left: 0; }
    @media screen and (max-width: 767px) {
      .page .history-list-item:after {
        content: none; } }
  .page .history-list-item .ttl {
    flex-basis: 140px;
    max-width: 140px;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: bold;
    color: #7cc5d6;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .history-list-item .ttl {
        flex-basis: 100%;
        max-width: 100%;
        font-size: 4.8vw;
        top: 0;
        margin-bottom: 5.3vw;
        padding-bottom: 5.3vw;
        border-bottom: 1px solid #e6e6e6; }
        .page .history-list-item .ttl:after {
          content: "";
          width: 18.6vw;
          height: 1px;
          background: #7cc5d6;
          position: absolute;
          bottom: -1px;
          left: 0; } }
  .page .history-list-item .txt {
    flex-basis: calc(100% - 140px);
    max-width: calc(100% - 140px);
    line-height: 1.8;
    text-align: justify; }
    @media screen and (max-width: 767px) {
      .page .history-list-item .txt {
        font-size: 4.2vw;
        flex-basis: 100%;
        max-width: 100%; } }
.page .img-list {
  margin-top: 140px; }
  @media screen and (max-width: 767px) {
    .page .img-list {
      margin-top: 50px; } }
.page .img-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px; }
  @media screen and (max-width: 767px) {
    .page .img-list-item {
      flex-direction: column;
      align-items: flex-start;
      margin-bottom: 40px; } }
  .page .img-list-item:nth-child(2) li:last-child {
    list-style: none; }
  .page .img-list-item:last-child {
    margin-bottom: 0; }
  .page .img-list-item img {
    width: 100%; }
  .page .img-list-item > div {
    flex-basis: 450px;
    max-width: 450px; }
    @media screen and (max-width: 767px) {
      .page .img-list-item > div {
        flex-basis: 100%;
        max-width: 100%; } }
  .page .img-list-item .ttl {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 10px; }
    @media screen and (max-width: 767px) {
      .page .img-list-item .ttl {
        font-size: 4.2vw;
        margin-top: 25px; } }
  .page .img-list-item .txt {
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: justify; }
    @media screen and (max-width: 767px) {
      .page .img-list-item .txt {
        font-size: 4.2vw; } }
  .page .img-list-item ol {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #E6E6E6; }
    .page .img-list-item ol li {
      font-size: 1.6rem;
      line-height: 1.8;
      text-align: justify;
      list-style: disc inside; }
      @media screen and (max-width: 767px) {
        .page .img-list-item ol li {
          font-size: 4.2vw; } }
      .page .img-list-item ol li:first-child {
        list-style: none; }
      .page .img-list-item ol li i:before {
        content: "※"; }

/* !!------------------------------------ */
/* !! NEWS */
.page.news .main-visual-section {
  height: 300px; }
  @media screen and (max-width: 767px) {
    .page.news .main-visual-section {
      height: 45.3vw; } }
.page.news .main-visual-wrap .wave {
  transform: translate(-50%, 0); }
.page.news .news-section > .inner {
  width: 1200px;
  padding: 70px 110px;
  background: #fff;
  margin-bottom: 25px;
  border-radius: 10px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); }
  @media screen and (max-width: 767px) {
    .page.news .news-section > .inner {
      max-width: initial;
      min-width: initial;
      width: calc(100% - 30px);
      padding: 15px 15px 50px 15px;
      margin: 0 auto 50px auto; } }
.page.news .news-section .tab-list {
  margin-top: 0; }
  @media screen and (max-width: 767px) {
    .page.news .news-section .tab-list {
      display: none; } }
  .page.news .news-section .tab-list:before {
    width: 1080px;
    left: -50px; }
.page.news .news-section .tab-list-item {
  color: #b3b3b3; }
  .page.news .news-section .tab-list-item.active {
    color: #7cc5d6; }
.page.news .news-section .news-list {
  margin: 0 0 80px 0; }
  @media screen and (max-width: 767px) {
    .page.news .news-section .news-list {
      margin-bottom: 50px; }
      .page.news .news-section .news-list .news-list-item .ttl:before {
        content: "";
        width: 20px;
        height: 4px;
        background-image: url(../img/sp/icon-arrow.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100%;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(0, -50%); } }
@media screen and (max-width: 767px) {
  .page.news .news-section .tab-area .tab-item {
    padding-top: 30px; } }
.page.news .news-section .ttl-h2 {
  display: none; }
  @media screen and (max-width: 767px) {
    .page.news .news-section .ttl-h2 {
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      color: #7cc5d6;
      text-align: center;
      display: block;
      margin-bottom: 30px;
      top: 0;
      left: 0;
      transform: none; } }

.toggle-list {
  display: none; }
  @media screen and (max-width: 767px) {
    .toggle-list {
      width: 100%;
      height: 50px;
      font-size: 14px;
      color: #7cc5d6;
      text-align: center;
      display: block;
      position: relative;
      z-index: 1; }
      .toggle-list dt {
        width: 100%;
        height: 50px;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        border: 1px solid #7CC5D6;
        border-radius: 4px;
        position: absolute;
        top: 0;
        left: 0;
        cursor: pointer;
        z-index: 1; }
      .toggle-list .btn {
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0;
        right: 0; }
        .toggle-list .btn span {
          width: 14px;
          height: 2px;
          border-radius: 1px;
          transition: all .2s;
          background: #7cc5d6;
          position: absolute;
          right: 18px; }
          .toggle-list .btn span:first-child {
            top: 18px; }
          .toggle-list .btn span:nth-child(2) {
            top: 24px; }
          .toggle-list .btn span:last-child {
            top: 30px; }
      .toggle-list dd {
        display: none; }
      .toggle-list ul {
        opacity: 0; }
      .toggle-list.active {
        height: 50px; }
        .toggle-list.active dt {
          height: 50px;
          border-radius: 4px 4px 0 0;
          border-bottom: 1px solid #F2F2F2; }
        .toggle-list.active dd {
          padding-top: 50px; }
        .toggle-list.active .btn span:first-child {
          width: 30%;
          top: 18px;
          left: 18px;
          transform: translateY(6px) rotate(-135deg); }
        .toggle-list.active .btn span:nth-child(2) {
          opacity: 0; }
        .toggle-list.active .btn span:last-child {
          width: 30%;
          top: 30px;
          left: 18px;
          transform: translateY(-6px) rotate(135deg); }
      .toggle-list ul {
        border-right: 1px solid #7CC5D6;
        border-left: 1px solid #7CC5D6;
        border-bottom: 1px solid #7CC5D6;
        background: #fff;
        border-radius: 0 0 4px 4px;
        opacity: 1; }
      .toggle-list .toggle-list-item {
        width: 100%;
        height: 50px;
        font-size: 14px;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
        border-bottom: 1px solid #F2F2F2;
        position: relative;
        cursor: pointer; }
        .toggle-list .toggle-list-item:last-child {
          border-bottom: none; }
        .toggle-list .toggle-list-item:after {
          content: "";
          width: 20px;
          height: 4px;
          background-image: url(../img/sp/icon-arrow.svg);
          background-repeat: no-repeat;
          background-position: center center;
          background-size: 100%;
          position: absolute;
          top: 50%;
          right: 15px;
          transform: translate(0, -50%); } }

.wp-pagenavi {
  height: 120px;
  display: flex;
  position: relative; }
  @media screen and (max-width: 767px) {
    .wp-pagenavi {
      border-radius: 10px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); } }
  .wp-pagenavi .smaller {
    width: 672px;
    height: 60px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #7cc5d6;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f2f2f2;
    position: absolute;
    top: 1px;
    left: 154px;
    background: #fff;
    border-radius: 10px 10px 0 0; }
    @media screen and (max-width: 767px) {
      .wp-pagenavi .smaller {
        width: 100%;
        top: 0;
        left: 0; } }
  .wp-pagenavi .previouspostslink {
    height: 60px;
    width: calc((100% - 670px)/2);
    font-size: 1.4rem;
    font-weight: bold;
    color: #7cc5d6;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f2f2f2;
    border-right: none;
    border-radius: 10px 0 0 10px;
    margin-top: 60px;
    order: 1;
    position: absolute;
    bottom: 0;
    left: 0; }
    @media screen and (max-width: 767px) {
      .wp-pagenavi .previouspostslink {
        width: 23vw;
        border-top: none;
        border-top-left-radius: 0; } }
  .wp-pagenavi .nextpostslink {
    height: 60px;
    width: calc((100% - 670px)/2);
    font-size: 1.4rem;
    font-weight: bold;
    color: #7cc5d6;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f2f2f2;
    border-left: none;
    border-radius: 0 10px 10px 0;
    margin-top: 60px;
    order: 3;
    position: absolute;
    bottom: 0;
    right: 0; }
    @media screen and (max-width: 767px) {
      .wp-pagenavi .nextpostslink {
        width: 23vw;
        border-top: none;
        border-top-right-radius: 0; } }
  .wp-pagenavi .pages {
    width: 672px;
    height: 60px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #7cc5d6;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f2f2f2;
    border-top: none;
    margin-top: 60px;
    order: 2;
    position: absolute;
    bottom: 0;
    left: 154px; }
    @media screen and (max-width: 767px) {
      .wp-pagenavi .pages {
        width: calc(100% - 46vw);
        left: 23vw; } }
  .wp-pagenavi a:hover {
    font-weight: bold;
    color: #fff;
    background: linear-gradient(45deg, #7cc5d6 0%, #00a9c5 50%, #7cc5d6 100%);
    opacity: 1; }

/* !!------------------------------------ */
/* !! NEWS詳細ページ */
@media screen and (max-width: 767px) {
  .page.post .news-section > .inner {
    padding-top: 50px; }
  .page.post .data-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    margin-bottom: 25px; } }
.page.post .cate-name {
  font-size: 1.4rem;
  font-weight: bold;
  color: #7cc5d6;
  margin-bottom: 20px; }
  @media screen and (max-width: 767px) {
    .page.post .cate-name {
      margin-bottom: 0; } }
.page.post time {
  font-size: 1.2rem;
  columns: #b3b3b3;
  letter-spacing: 0.2em;
  display: block;
  margin-bottom: 20px; }
  @media screen and (max-width: 767px) {
    .page.post time {
      margin-bottom: 0; } }
.page.post .ttl-h1 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.6;
  color: #808080;
  text-align: justify;
  margin-bottom: 120px; }
  @media screen and (max-width: 767px) {
    .page.post .ttl-h1 {
      font-size: 1.8rem;
      line-height: 1.8;
      color: #333;
      padding: 0 15px;
      margin-bottom: 60px; } }
.page.post .contents-wrap h2 {
  font-size: 2.4rem;
  font-weight: bold;
  color: #7cc5d6;
  font-weight: bold;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #f2f2f2;
  position: relative; }
  @media screen and (max-width: 767px) {
    .page.post .contents-wrap h2 {
      font-size: 1.6rem;
      line-height: 1.8;
      text-align: justify;
      padding-bottom: 15px;
      margin-bottom: 20px; } }
  .page.post .contents-wrap h2:after {
    content: "";
    width: 110px;
    height: 1px;
    background: #7cc5d6;
    position: absolute;
    bottom: 0;
    left: 0; }
    @media screen and (max-width: 767px) {
      .page.post .contents-wrap h2:after {
        width: 45px; } }
.page.post .contents-wrap p {
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: justify;
  letter-spacing: 0.14em; }
  @media screen and (max-width: 767px) {
    .page.post .contents-wrap p {
      line-height: 2; } }
  .page.post .contents-wrap p img {
    max-width: 100%;
    height: auto;
    margin: 100px 0; }
    @media screen and (max-width: 767px) {
      .page.post .contents-wrap p img {
        margin: 35px 0; } }
.page.post .contents-wrap h3 {
  font-size: 2rem;
  font-weight: bold;
  color: #7cc5d6;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin-bottom: 40px; }
  @media screen and (max-width: 767px) {
    .page.post .contents-wrap h3 {
      font-size: 1.6rem;
      line-height: 1.8;
      text-align: justify;
      margin-bottom: 20px;
      align-items: flex-start; } }
  .page.post .contents-wrap h3:before {
    content: "";
    width: 20px;
    height: 30px;
    background-image: url(../img/icon-h3.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    margin-right: 15px; }
    @media screen and (max-width: 767px) {
      .page.post .contents-wrap h3:before {
        width: 10px;
        height: 14px;
        margin-right: 10px;
        position: relative;
        top: 7px; } }
.page.post .contents-wrap ul {
  margin: 50px 0; }
  @media screen and (max-width: 767px) {
    .page.post .contents-wrap ul {
      margin: 35px 0; } }
  .page.post .contents-wrap ul li {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: bold;
    color: #7cc5d6;
    list-style: disc inside; }
.page.post .contents-wrap a {
  height: 40px;
  letter-spacing: 0.14em;
  font-size: 1.4rem;
  color: #fff;
  display: inline-flex;
  align-items: center;
  padding: 0 70px;
  border-radius: 4px;
  background: #7cc5d6;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .page.post .contents-wrap a {
      width: 100%;
      height: 50px;
      display: flex;
      justify-content: center;
      padding: 0; } }
.page.post .btn-more {
  width: 670px;
  height: 60px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 50px auto 80px; }
  @media screen and (max-width: 767px) {
    .page.post .btn-more {
      width: calc(100% - 50px);
      height: 50px;
      border-radius: 4px;
      margin: 50px auto; } }

/* !!------------------------------------ */
/* !! RECRUIT */
@media screen and (max-width: 767px) {
  .page.recruit .main-visual-section {
    height: auto; } }
.page.recruit .main-visual-wrap:after {
  content: "";
  width: 100%;
  height: 512px;
  background-image: url(../img/bg-recruit3@2x.jpg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1; }
  @media screen and (max-width: 767px) {
    .page.recruit .main-visual-wrap:after {
      height: 95.7vw;
      background-image: url(../img/sp/bg-recruit3-sp@3x.jpg);
      background-position: center top;
      top: 32vw;
      bottom: auto; } }
.page.recruit .main-visual-wrap .txt-wrap {
  width: 370px;
  color: #7cc5d6;
  margin-top: 100px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .page.recruit .main-visual-wrap .txt-wrap {
      width: 100%;
      margin-top: 24vw; } }
  .page.recruit .main-visual-wrap .txt-wrap:after {
    content: "";
    width: 116px;
    height: 58px;
    background-image: url(../img/drop4@2x.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    position: absolute;
    right: 0;
    bottom: -100px; }
    @media screen and (max-width: 767px) {
      .page.recruit .main-visual-wrap .txt-wrap:after {
        content: none; } }
  .page.recruit .main-visual-wrap .txt-wrap .btn-more {
    margin: 45px 0 0 0; }
.page.recruit .main-visual-wrap .img-wrap {
  position: absolute;
  right: 0;
  bottom: 0; }
  @media screen and (max-width: 767px) {
    .page.recruit .main-visual-wrap .img-wrap {
      width: calc(100% + 50px);
      margin-top: -5.3vw;
      margin-left: -25px;
      position: static; }
      .page.recruit .main-visual-wrap .img-wrap .btn-more {
        width: calc(100% - 50px);
        margin: 20px auto 0;
        position: relative; }
        .page.recruit .main-visual-wrap .img-wrap .btn-more:after {
          content: "";
          width: 15.4vw;
          height: 7.7vw;
          background-image: url(../img/drop4@2x.png);
          background-repeat: no-repeat;
          background-position: center center;
          background-size: 100%;
          position: absolute;
          right: 0;
          bottom: calc(-20px - 7.7vw); } }
.page.recruit .main-visual-wrap .wave {
  display: none; }
.page.recruit.entry .mw_wp_form_preview .entryform-section {
  padding-top: 120px;
  background: #fcfcfc; }
  @media screen and (max-width: 767px) {
    .page.recruit.entry .mw_wp_form_preview .entryform-section {
      padding-top: 50px;
      padding-bottom: 50px;
      margin-bottom: 50px; } }
  .page.recruit.entry .mw_wp_form_preview .entryform-section .ttl-h2 {
    display: none; }
  .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list {
    padding-top: 0;
    margin-top: 0; }
  .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.08em;
    border-bottom: 1px solid #f2f2f2;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 25px 0;
    margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item {
        font-size: 4.2vw;
        line-height: 1.8;
        padding: 25px 0 20px; }
        .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .mwform-radio-field {
          margin-bottom: 0; } }
    .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item:first-child {
      padding-top: 0; }
    .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .ttl {
      flex-basis: 100%;
      max-width: 100%;
      font-size: 2rem;
      font-weight: bold;
      color: #7cc5d6;
      margin-bottom: 15px; }
      @media screen and (max-width: 767px) {
        .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .ttl {
          font-size: 4.8vw;
          margin-bottom: 4vw;
          line-height: 1; } }
      .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .ttl span {
        display: none; }
    @media screen and (max-width: 767px) {
      .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .txt-list {
        flex-direction: row; } }
    .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .txt-list-item {
      margin-right: 20px; }
      @media screen and (max-width: 767px) {
        .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .txt-list-item {
          margin-bottom: 0; } }
      .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .txt-list-item span {
        display: none; }
    .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .zipcode .txt-list-item {
      margin-right: 0; }
      .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .zipcode .txt-list-item:nth-child(2) {
        display: none; }
    .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .note-txt {
      display: none; }
    .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .select-list-item {
      margin-right: 20px; }
      @media screen and (max-width: 767px) {
        .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .select-list-item {
          flex-basis: auto;
          max-width: initial;
          margin-right: 10px; } }
      .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .select-list-item span {
        margin-left: 5px; }
        .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .select-list-item span:before {
          content: none; }
    .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .file {
      width: 100%;
      height: auto;
      display: block; }
      .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .file:before {
        content: none; }
      .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .file .mw-wp-form_file a {
        display: flex;
        align-items: center; }
        @media screen and (max-width: 767px) {
          .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .file .mw-wp-form_file a {
            flex-direction: column;
            align-items: flex-start; } }
        .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .file .mw-wp-form_file a:after {
          content: "ファイルを選択";
          width: 230px;
          height: 40px;
          font-size: 1.4rem;
          line-height: 40px;
          letter-spacing: 0.14em;
          color: #fff;
          text-align: center;
          background: linear-gradient(45deg, #4EA2CC 0%, #7CC5D6 25%, #7CC5D6 51%, #00A9C5 100%);
          background-position: 1% 50%;
          background-size: 200% auto;
          transition: all 0.3s ease-out;
          border-radius: 5px;
          display: block;
          margin-left: 60px; }
          @media screen and (max-width: 767px) {
            .page.recruit.entry .mw_wp_form_preview .entryform-section .entryform-list-item .file .mw-wp-form_file a:after {
              width: 100%;
              margin: 15px 0 0 0; } }
  .page.recruit.entry .mw_wp_form_preview .entryform-section .option-wrap:before {
    content: none; }
.page .jobdescription-section {
  padding: 160px 0 190px; }
  @media screen and (max-width: 767px) {
    .page .jobdescription-section {
      padding: 100px 0 70px; }
      .page .jobdescription-section .ttl-h2 {
        line-height: 1.3;
        white-space: normal;
        margin-bottom: 9.3vw; } }
  .page .jobdescription-section .lead-txt {
    width: 100%; }
  .page .jobdescription-section .jobscription-list {
    margin-top: 100px; }
    @media screen and (max-width: 767px) {
      .page .jobdescription-section .jobscription-list {
        margin-top: 70px; } }
    .page .jobdescription-section .jobscription-list + .txt {
      font-size: 1.6rem;
      text-align: justify;
      margin-top: 20px; }
      @media screen and (max-width: 767px) {
        .page .jobdescription-section .jobscription-list + .txt {
          font-size: 4.2vw;
          line-height: 1.8; } }
  .page .jobdescription-section .jobscription-list-item {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.02em;
    text-align: justify;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #e6e6e6;
    padding: 20px 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .jobdescription-section .jobscription-list-item {
        font-size: 4.2vw;
        line-height: 1;
        flex-direction: column;
        padding: 25px 0 20px; }
        .page .jobdescription-section .jobscription-list-item:first-child {
          padding-top: 0; } }
    .page .jobdescription-section .jobscription-list-item:after {
      content: "";
      width: 250px;
      height: 1px;
      background: #7cc5d6;
      position: absolute;
      bottom: -1px;
      left: 0; }
      @media screen and (max-width: 767px) {
        .page .jobdescription-section .jobscription-list-item:after {
          width: 18.6vw;
          bottom: -1px; } }
    .page .jobdescription-section .jobscription-list-item .ttl {
      flex-basis: 250px;
      max-width: 250px; }
      @media screen and (max-width: 767px) {
        .page .jobdescription-section .jobscription-list-item .ttl {
          flex-basis: 100%;
          max-width: 100%;
          font-size: 4.8vw;
          line-height: 1;
          font-weight: bold;
          color: #7cc5d6;
          margin-bottom: 4vw; } }
    .page .jobdescription-section .jobscription-list-item .txt {
      flex-basis: calc(100% - 250px);
      max-width: calc(100% - 250px); }
      @media screen and (max-width: 767px) {
        .page .jobdescription-section .jobscription-list-item .txt {
          font-size: 4.2vw;
          line-height: 1.8;
          flex-basis: 100%;
          max-width: 100%; } }
    .page .jobdescription-section .jobscription-list-item .txt-list .txt {
      flex-basis: 10%;
      max-width: 100%;
      text-indent: -1em;
      padding-left: 1em; }
      .page .jobdescription-section .jobscription-list-item .txt-list .txt span {
        font-size: 1.4rem;
        display: block;
        color: #999;
        margin-bottom: 5px; }
        @media screen and (max-width: 767px) {
          .page .jobdescription-section .jobscription-list-item .txt-list .txt span {
            font-size: 1.2rem;
            line-height: 1.6; } }
  .page .jobdescription-section .note-txt {
    color: #999;
    flex-basis: 100%;
    max-width: 100%;
    padding-left: calc(110px + 1em);
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .jobdescription-section .note-txt {
        font-size: 4.2vw;
        line-height: 1.6;
        padding-left: 1em;
        margin-bottom: 5px; }
        .page .jobdescription-section .note-txt:last-child {
          margin-bottom: 0; } }
    .page .jobdescription-section .note-txt i {
      position: absolute;
      top: 0;
      left: 110px; }
      @media screen and (max-width: 767px) {
        .page .jobdescription-section .note-txt i {
          left: 0; } }
  .page .jobdescription-section .note-list, .page .jobdescription-section span.note-txt {
    margin-top: 5px; }
  .page .jobdescription-section p.note-txt {
    font-size: 1.6rem;
    padding-left: 1em;
    margin-top: 25px; }
    @media screen and (max-width: 767px) {
      .page .jobdescription-section p.note-txt {
        font-size: 4.2vw;
        margin-top: 6.66vw; } }
    .page .jobdescription-section p.note-txt i {
      left: 0; }
.page .entryform-section {
  padding: 150px 0 100px;
  background: rgba(0, 0, 0, 0.02); }
  @media screen and (max-width: 767px) {
    .page .entryform-section {
      padding-top: 100px; } }
  .page .entryform-section .ttl-h2 {
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .page .entryform-section .ttl-h2 {
        margin-bottom: 13.3vw; } }
    .page .entryform-section .ttl-h2 .slide-in {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .entryform-section .ttl-h2 .slide-in_inner {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .entryform-section .ttl-h2 .sub-ttl {
      margin: 20px 0 0 0;
      display: block;
      text-align: center; }
  .page .entryform-section .lead-txt {
    width: 100%; }
  .page .entryform-section .entryform-list {
    margin-top: 100px; }
    @media screen and (max-width: 767px) {
      .page .entryform-section .entryform-list {
        margin-top: 80px; } }
  .page .entryform-section .entryform-list-item {
    letter-spacing: 0.08em;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .page .entryform-section .entryform-list-item {
        margin-bottom: 13.3vw; } }
    .page .entryform-section .entryform-list-item:last-child {
      margin-bottom: 0; }
    .page .entryform-section .entryform-list-item .ttl {
      font-size: 2rem;
      font-weight: bold;
      color: #7cc5d6;
      display: flex;
      align-items: center;
      margin-bottom: 25px; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .ttl {
          font-size: 4.8vw; } }
      .page .entryform-section .entryform-list-item .ttl span {
        width: 106px;
        height: 30px;
        font-size: 1.6rem;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #7cc5d6;
        margin-right: 20px; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item .ttl span {
            width: 21.3vw;
            font-size: 4.2vw;
            margin-right: 5.3vw; } }
    .page .entryform-section .entryform-list-item input[type="radio"], .page .entryform-section .entryform-list-item input[type="checkbox"] {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      -o-appearance: none;
      -ms-appearance: none;
      display: none; }
      .page .entryform-section .entryform-list-item input[type="radio"]:checked + span, .page .entryform-section .entryform-list-item input[type="checkbox"]:checked + span {
        color: #7cc5d6; }
        .page .entryform-section .entryform-list-item input[type="radio"]:checked + span:before, .page .entryform-section .entryform-list-item input[type="checkbox"]:checked + span:before {
          border-color: #7cc5d6; }
        .page .entryform-section .entryform-list-item input[type="radio"]:checked + span:after, .page .entryform-section .entryform-list-item input[type="checkbox"]:checked + span:after {
          content: "";
          width: 12px;
          height: 12px;
          border-radius: 6px;
          background: #7cc5d6;
          position: absolute;
          top: 50%;
          left: 4px;
          transform: translate(0, -50%); }
    .page .entryform-section .entryform-list-item label {
      display: block;
      position: relative; }
      .page .entryform-section .entryform-list-item label.file {
        width: 345px;
        height: 60px;
        display: inline-block;
        cursor: pointer;
        position: relative; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item label.file {
            width: 100%; } }
        .page .entryform-section .entryform-list-item label.file input + span {
          display: none; }
        .page .entryform-section .entryform-list-item label.file span:before {
          content: none; }
        .page .entryform-section .entryform-list-item label.file span.error {
          width: 100%;
          margin-top: 0;
          position: absolute;
          top: 50%;
          left: 400px;
          transform: translate(0, -50%);
          pointer-events: none;
          cursor: default; }
        .page .entryform-section .entryform-list-item label.file .txt {
          font-size: 1.6rem;
          margin-top: 15px; }
        .page .entryform-section .entryform-list-item label.file:before {
          content: "ファイルを選択";
          width: 345px;
          height: 60px;
          font-size: 1.8rem;
          color: #4d4d4d;
          background: #e6e6e6;
          border: none;
          display: flex;
          align-items: center;
          justify-content: center; }
          @media screen and (max-width: 767px) {
            .page .entryform-section .entryform-list-item label.file:before {
              width: 100%;
              font-size: 4.8vw; } }
      .page .entryform-section .entryform-list-item label span {
        display: flex;
        align-items: center;
        position: relative; }
        .page .entryform-section .entryform-list-item label span:before {
          content: "";
          width: 20px;
          flex-basis: 20px;
          max-width: 20px;
          height: 20px;
          border-radius: 10px;
          border: 1px solid #cccccc;
          margin-right: 15px; }
          @media screen and (max-width: 767px) {
            .page .entryform-section .entryform-list-item label span:before {
              margin-right: 4vw; } }
    .page .entryform-section .entryform-list-item .radio-list {
      display: flex;
      align-items: center;
      flex-wrap: wrap; }
      .page .entryform-section .entryform-list-item .radio-list.dealer-radio-list {
        flex-wrap: wrap; }
        .page .entryform-section .entryform-list-item .radio-list.dealer-radio-list .horizontal-item:nth-of-type(n + 6) {
          margin-top: 20px; }
          @media screen and (max-width: 767px) {
            .page .entryform-section .entryform-list-item .radio-list.dealer-radio-list .horizontal-item:nth-of-type(n + 6) {
              margin-top: 0; } }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .radio-list {
          justify-content: space-between;
          flex-direction: column; } }
    .page .entryform-section .entryform-list-item .radio-list-item, .page .entryform-section .entryform-list-item .mwform-radio-field, .page .entryform-section .entryform-list-item .mwform-checkbox-field {
      font-size: 1.8rem;
      margin-right: 50px;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .radio-list-item, .page .entryform-section .entryform-list-item .mwform-radio-field, .page .entryform-section .entryform-list-item .mwform-checkbox-field {
          width: 100%;
          font-size: 4.8vw;
          margin-right: 0;
          margin-left: 0;
          margin-bottom: 6.66vw; }
          .page .entryform-section .entryform-list-item .radio-list-item:last-of-type, .page .entryform-section .entryform-list-item .mwform-radio-field:last-of-type, .page .entryform-section .entryform-list-item .mwform-checkbox-field:last-of-type {
            margin-bottom: 0; } }
      .page .entryform-section .entryform-list-item .radio-list-item:last-child, .page .entryform-section .entryform-list-item .mwform-radio-field:last-child, .page .entryform-section .entryform-list-item .mwform-checkbox-field:last-child {
        margin-right: 0; }
      .page .entryform-section .entryform-list-item .radio-list-item label, .page .entryform-section .entryform-list-item .mwform-radio-field label, .page .entryform-section .entryform-list-item .mwform-checkbox-field label {
        display: flex;
        align-items: center;
        cursor: pointer; }
    .page .entryform-section .entryform-list-item .error {
      font-size: 1.6rem;
      font-weight: bold;
      margin-top: 15px; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .error {
          font-size: 1.4rem;
          margin-top: 15px; } }
    .page .entryform-section .entryform-list-item .txt-list {
      display: flex;
      align-items: flex-start; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .txt-list {
          flex-direction: column; }
          .page .entryform-section .entryform-list-item .txt-list.zipcode {
            flex-direction: row;
            flex-wrap: wrap; } }
      .page .entryform-section .entryform-list-item .txt-list.zipcode {
        flex-wrap: wrap;
        position: relative; }
        .page .entryform-section .entryform-list-item .txt-list.zipcode .error {
          height: 20px;
          font-size: 1.6rem;
          color: #b70000;
          margin: 15px 0 0; }
          @media screen and (max-width: 767px) {
            .page .entryform-section .entryform-list-item .txt-list.zipcode .error {
              font-size: 1.4rem;
              margin-top: 15px;
              transform: none;
              position: static; } }
        .page .entryform-section .entryform-list-item .txt-list.zipcode .txt-list-item {
          flex-basis: 345px;
          max-width: 345px;
          flex-wrap: wrap; }
          .page .entryform-section .entryform-list-item .txt-list.zipcode .txt-list-item:last-child {
            line-height: 60px; }
            @media screen and (max-width: 767px) {
              .page .entryform-section .entryform-list-item .txt-list.zipcode .txt-list-item:last-child {
                line-height: 1; } }
          .page .entryform-section .entryform-list-item .txt-list.zipcode .txt-list-item input[type="text"] {
            width: 100%;
            flex-basis: 100%;
            max-width: 100%; }
    .page .entryform-section .entryform-list-item input[type="text"] {
      width: 260px;
      height: 60px;
      font-size: 1.8rem;
      color: #333;
      font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
      background: #f8f8f8;
      border: 1px solid #eaeaea;
      padding: 0 30px; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item input[type="text"] {
          font-size: 4.2vw;
          flex-basis: calc(100% - 3em);
          max-width: calc(100% - 3em);
          padding: 0 5.3vw; } }
      .page .entryform-section .entryform-list-item input[type="text"]::placeholder {
        color: #d7d7d7; }
      .page .entryform-section .entryform-list-item input[type="text"].mail, .page .entryform-section .entryform-list-item input[type="text"].hp {
        width: 100%; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item input[type="text"].mail, .page .entryform-section .entryform-list-item input[type="text"].hp {
            flex-basis: 100%;
            max-width: 100%; } }
      .page .entryform-section .entryform-list-item input[type="text"].tel {
        width: 345px; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item input[type="text"].tel {
            width: 100%;
            flex-basis: 100%;
            max-width: 100%; } }
      .page .entryform-section .entryform-list-item input[type="text"].zipcode1 {
        width: 160px; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item input[type="text"].zipcode1 {
            width: 100%;
            flex-basis: 100%;
            max-width: 100%; } }
      .page .entryform-section .entryform-list-item input[type="text"].zipcode2 {
        width: 220px; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item input[type="text"].zipcode2 {
            width: 100%;
            flex-basis: 100%;
            max-width: 100%; } }
      .page .entryform-section .entryform-list-item input[type="text"].company {
        width: 660px; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item input[type="text"].company {
            width: 100%;
            flex-basis: 100%;
            max-width: 100%; } }
      .page .entryform-section .entryform-list-item input[type="text"]:focus {
        outline: 2px solid #7cc5d6; }
    .page .entryform-section .entryform-list-item .note-txt {
      font-size: 1.6rem;
      color: #999;
      margin-top: 20px; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .note-txt {
          font-size: 4.2vw;
          margin-top: 5.3vw;
          line-height: 1.4;
          text-align: justify;
          padding-left: 1em;
          text-indent: -1em; } }
    .page .entryform-section .entryform-list-item.purchase-num .purchase-num-input {
      height: 115px;
      display: flex;
      align-items: center;
      position: relative; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item.purchase-num .purchase-num-input {
          height: 22.6666666667vw;
          display: block; } }
      .page .entryform-section .entryform-list-item.purchase-num .purchase-num-input p {
        font-size: 1.8rem;
        margin-left: 0.5em; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item.purchase-num .purchase-num-input p {
            font-size: 3.7333333333vw;
            display: inline; } }
      .page .entryform-section .entryform-list-item.purchase-num .purchase-num-input .error {
        margin-top: 0;
        position: absolute;
        bottom: 0;
        left: 0; }
      .page .entryform-section .entryform-list-item.purchase-num .purchase-num-input:before {
        content: "スターターキット";
        font-size: 1.8rem;
        margin-right: 0.5em; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item.purchase-num .purchase-num-input:before {
            font-size: 3.7333333333vw; } }
      .page .entryform-section .entryform-list-item.purchase-num .purchase-num-input input[type="text"].company {
        width: 200px; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item.purchase-num .purchase-num-input input[type="text"].company {
            width: 40vw; } }
    .page .entryform-section .entryform-list-item.purchase-num .note-txt {
      font-size: 1.4rem;
      line-height: 1.6;
      display: flex;
      align-items: baseline; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item.purchase-num .note-txt {
          font-size: 3.2vw;
          line-height: 1.4; } }
    .page .entryform-section .entryform-list-item .txt-list-item {
      flex-basis: calc((100% - 40px)/2);
      max-width: calc((100% - 40px)/2);
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin-right: 40px; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .txt-list-item {
          flex-basis: 100%;
          max-width: 100%;
          justify-content: space-between;
          margin-right: 0;
          margin-bottom: 15px; }
          .page .entryform-section .entryform-list-item .txt-list-item:last-child {
            margin-bottom: 0; } }
      .page .entryform-section .entryform-list-item .txt-list-item:last-child {
        margin-right: 0; }
      .page .entryform-section .entryform-list-item .txt-list-item span {
        width: 2.5em;
        font-size: 1.8rem;
        font-weight: bold;
        color: #7cc5d6;
        margin-right: 5px; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item .txt-list-item span {
            width: auto;
            font-size: 4.8vw;
            flex-basis: 3em;
            max-width: 3em;
            margin-right: 0;
            white-space: nowrap; } }
      .page .entryform-section .entryform-list-item .txt-list-item input[type="text"] {
        width: calc(100% - (2.5em + 5px)); }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item .txt-list-item input[type="text"] {
            width: calc(100% - 3.5em);
            flex-basis: calc(100% - 3.5em);
            max-width: calc(100% - 3.5em); } }
      .page .entryform-section .entryform-list-item .txt-list-item .error {
        width: 100%;
        font-size: 1.6rem;
        font-weight: bold;
        color: #b70000;
        margin-top: 15px;
        margin-right: 0;
        margin-left: calc(2.5em + 5px); }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item .txt-list-item .error {
            font-size: 1.4rem;
            flex-basis: 100%;
            max-width: 100%;
            margin-left: 4em; } }
    .page .entryform-section .entryform-list-item .select-list {
      display: flex;
      align-items: center; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .select-list {
          flex-wrap: wrap;
          justify-content: space-between; }
          .page .entryform-section .entryform-list-item .select-list.join-day .select-list-item {
            flex-basis: calc((100% - 5.3vw)/2);
            max-width: calc((100% - 5.3vw)/2);
            margin-bottom: 0; } }
    .page .entryform-section .entryform-list-item .select-list-item {
      display: flex;
      align-items: center;
      margin-right: 40px; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .select-list-item {
          margin-right: 0; }
          .page .entryform-section .entryform-list-item .select-list-item:first-child {
            flex-basis: 100%;
            max-width: 100%;
            margin-bottom: 15px; }
          .page .entryform-section .entryform-list-item .select-list-item:nth-child(n + 2) {
            flex-basis: calc((100% - 5.3vw)/2);
            max-width: calc((100% - 5.3vw)/2);
            margin-bottom: 0; } }
      .page .entryform-section .entryform-list-item .select-list-item:last-child {
        margin-right: 0; }
      .page .entryform-section .entryform-list-item .select-list-item select {
        height: 60px;
        font-size: 1.8rem;
        color: #333;
        font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
        background: #f8f8f8;
        border: 1px solid #eaeaea;
        padding: 0 30px; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item .select-list-item select {
            font-size: 4.2vw;
            padding: 0 5.3vw; } }
        .page .entryform-section .entryform-list-item .select-list-item select.year {
          width: 160px;
          text-align: center; }
          @media screen and (max-width: 767px) {
            .page .entryform-section .entryform-list-item .select-list-item select.year {
              width: 100%; } }
        .page .entryform-section .entryform-list-item .select-list-item select.month, .page .entryform-section .entryform-list-item .select-list-item select.day {
          width: 105px; }
          @media screen and (max-width: 767px) {
            .page .entryform-section .entryform-list-item .select-list-item select.month, .page .entryform-section .entryform-list-item .select-list-item select.day {
              width: 100%; } }
        .page .entryform-section .entryform-list-item .select-list-item select:focus {
          outline: 2px solid #7cc5d6; }
      .page .entryform-section .entryform-list-item .select-list-item span {
        font-size: 1.8rem;
        margin-left: 20px;
        position: relative; }
        @media screen and (max-width: 767px) {
          .page .entryform-section .entryform-list-item .select-list-item span {
            font-size: 4.8vw;
            margin-left: 4vw; } }
        .page .entryform-section .entryform-list-item .select-list-item span:before {
          content: "";
          width: 6px;
          height: 6px;
          border-bottom: 1px solid #7cc5d6;
          border-left: 1px solid #7cc5d6;
          position: absolute;
          top: 50%;
          left: -40px;
          transform: translate(0, -50%) rotate(-45deg); }
    .page .entryform-section .entryform-list-item .txt-link {
      font-size: 1.4rem;
      display: flex;
      align-items: center;
      color: #7cc5d6;
      text-decoration: underline; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .entryform-list-item .txt-link {
          font-size: 4.8vw; } }
      .page .entryform-section .entryform-list-item .txt-link:after {
        content: "";
        width: 14px;
        height: 14px;
        background-image: url(../img/icon-link.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100%;
        margin-left: 8px; }
  @media screen and (max-width: 767px) {
    .page .entryform-section .zipcode {
      justify-content: space-between; } }
  @media screen and (max-width: 767px) {
    .page .entryform-section .zipcode .txt-list-item {
      width: 100%;
      margin-bottom: 6.6vw;
      flex-wrap: wrap;
      position: relative; } }
  .page .entryform-section .zipcode .btn-more {
    width: 230px;
    margin-top: 0; }
    @media screen and (max-width: 767px) {
      .page .entryform-section .zipcode .btn-more {
        width: 100%; } }
  .page .entryform-section .option-wrap {
    width: 160px;
    height: auto;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .entryform-section .option-wrap {
        width: 100%; } }
    .page .entryform-section .option-wrap:before {
      content: "";
      width: 6px;
      height: 6px;
      border-bottom: 1px solid #7cc5d6;
      border-left: 1px solid #7cc5d6;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translate(0, -50%) rotate(-45deg); }
    .page .entryform-section .option-wrap select {
      width: 160px;
      height: 60px;
      font-size: 1.8rem;
      color: #333;
      font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
      background: #f8f8f8;
      border: 1px solid #eaeaea;
      padding: 0 30px; }
      @media screen and (max-width: 767px) {
        .page .entryform-section .option-wrap select {
          width: 100%;
          font-size: 4.2vw;
          padding: 0 5.3vw; } }
      .page .entryform-section .option-wrap select:focus {
        outline: 2px solid #7cc5d6; }
  .page .entryform-section textarea {
    width: 100%;
    height: 170px;
    font-size: 1.8rem;
    line-height: 1.6;
    color: #333;
    font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    background: #f8f8f8;
    border: 1px solid #eaeaea;
    padding: 15px;
    resize: none; }
    @media screen and (max-width: 767px) {
      .page .entryform-section textarea {
        height: 75.2vw;
        font-size: 4.2vw;
        padding: 4vw; } }
    .page .entryform-section textarea:focus {
      outline: 2px solid #7cc5d6; }
    .page .entryform-section textarea::placeholder {
      color: #d7d7d7; }
  .page .entryform-section input[type="file"] {
    display: none; }
.page #textarea-another {
  display: none; }
.page .privacypolicy-section {
  padding: 100px 0 140px; }
  @media screen and (max-width: 767px) {
    .page .privacypolicy-section {
      padding: 100px 0 65px; } }
  .page .privacypolicy-section .ttl-h2 {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 80px; }
    @media screen and (max-width: 767px) {
      .page .privacypolicy-section .ttl-h2 {
        line-height: 1.3;
        text-align: center;
        white-space: normal;
        margin-bottom: 16vw; } }
    .page .privacypolicy-section .ttl-h2 .slide-in {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .privacypolicy-section .ttl-h2 .slide-in_inner {
      font-size: inherit;
      margin-top: 0;
      display: inline-block; }
    .page .privacypolicy-section .ttl-h2 .sub-ttl {
      margin: 20px 0 0 0;
      display: block;
      text-align: center; }
  .page .privacypolicy-section .privacypolicy-wrap {
    height: 300px;
    overflow-y: scroll;
    padding-right: 60px; }
    @media screen and (max-width: 767px) {
      .page .privacypolicy-section .privacypolicy-wrap {
        width: calc(100% + 15px);
        height: 122.6vw;
        padding-right: 15px;
        margin-right: -15px; } }
    .page .privacypolicy-section .privacypolicy-wrap::-webkit-scrollbar {
      width: 10px; }
      @media screen and (max-width: 767px) {
        .page .privacypolicy-section .privacypolicy-wrap::-webkit-scrollbar {
          width: 4px; } }
    .page .privacypolicy-section .privacypolicy-wrap::-webkit-scrollbar-track {
      background: #e6e6e6;
      border-radius: 5px; }
      @media screen and (max-width: 767px) {
        .page .privacypolicy-section .privacypolicy-wrap::-webkit-scrollbar-track {
          border-radius: 2px; } }
    .page .privacypolicy-section .privacypolicy-wrap::-webkit-scrollbar-thumb {
      width: 5px;
      background: #7cc5d6;
      border-radius: 5px; }
      @media screen and (max-width: 767px) {
        .page .privacypolicy-section .privacypolicy-wrap::-webkit-scrollbar-thumb {
          width: 4px;
          border-radius: 2px; } }
  .page .privacypolicy-section p {
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: justify;
    margin-bottom: 1em; }
    @media screen and (max-width: 767px) {
      .page .privacypolicy-section p {
        font-size: 4.2vw; } }
    .page .privacypolicy-section p:last-of-type {
      margin-top: 3em;
      margin-bottom: 0; }
  .page .privacypolicy-section b {
    font-size: 1.6rem;
    line-height: 1.8;
    margin: 40px 0 30px;
    display: block; }
    @media screen and (max-width: 767px) {
      .page .privacypolicy-section b {
        font-size: 4.2vw;
        margin: 10.6vw 0 8vw; } }
  .page .privacypolicy-section ul {
    counter-reset: number 0; }
    .page .privacypolicy-section ul li {
      font-size: 1.6rem;
      line-height: 1.8;
      margin-bottom: 10px;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 767px) {
        .page .privacypolicy-section ul li {
          font-size: 4.2vw;
          flex-wrap: wrap;
          position: relative; } }
      .page .privacypolicy-section ul li:before {
        counter-increment: number 1;
        content: "（" counter(number) "）";
        font-size: 1.6rem; }
        @media screen and (max-width: 767px) {
          .page .privacypolicy-section ul li:before {
            font-size: 4.2vw;
            flex-basis: 3em;
            max-width: 3em;
            position: absolute;
            top: 6px;
            left: 0; } }
      .page .privacypolicy-section ul li:last-child {
        margin-bottom: 0; }
    .page .privacypolicy-section ul.btn-list {
      counter-reset: none; }
      .page .privacypolicy-section ul.btn-list .btn-list-item:before {
        content: none; }
      .page .privacypolicy-section ul.btn-list .btn-list-item:first-child {
        display: none; }
      .page .privacypolicy-section ul.btn-list .btn-more {
        cursor: pointer; }
  .page .privacypolicy-section .btn-more {
    width: 670px;
    height: 60px;
    line-height: 60px;
    margin: 100px auto 0; }
    @media screen and (max-width: 767px) {
      .page .privacypolicy-section .btn-more {
        width: 100%;
        height: 50px;
        line-height: 50px;
        margin-top: 12vw; } }
.page.entry .lead-txt {
  margin-top: 150px; }
  @media screen and (max-width: 767px) {
    .page.entry .lead-txt {
      margin-top: 25.3vw; } }
.page.entry .main-visual-section {
  height: auto; }
.page.entry .main-visual-wrap:after {
  content: none; }
@media screen and (max-width: 767px) {
  .page.entry .main-visual-wrap .ttl-h2 {
    position: relative;
    z-index: 1; }
    .page.entry .main-visual-wrap .ttl-h2 .slide-in, .page.entry .main-visual-wrap .ttl-h2 .slide-in_inner {
      margin-left: 0; } }
.page.entry .main-visual-wrap #waveCanvas {
  display: block; }
.page.entry .main-visual-wrap #waveCanvas2 {
  display: none; }
.page.entry .main-visual-wrap .wave {
  width: 100vw;
  height: 300px;
  margin-left: calc(50% - 50vw);
  position: static;
  transform: none;
  margin-top: -300px;
  display: flex; }
  @media screen and (max-width: 767px) {
    .page.entry .main-visual-wrap .wave {
      height: 200px;
      position: absolute;
      top: auto;
      bottom: 0;
      left: 0; } }
  .page.entry .main-visual-wrap .wave canvas {
    position: static; }
.page.entry .main-visual-wrap .inner {
  height: auto; }
.page.entry .entry-section {
  background: #fcfcfc;
  padding-bottom: 75px;
  margin-bottom: 75px; }
  @media screen and (max-width: 767px) {
    .page.entry .entry-section {
      padding-bottom: 50px;
      margin-bottom: 50px; } }
.page.entry .entry-list-item {
  letter-spacing: 0.08em;
  border-bottom: 1px solid #f2f2f2;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 25px 0; }
  @media screen and (max-width: 767px) {
    .page.entry .entry-list-item {
      padding: 25px 0 20px; }
      .page.entry .entry-list-item:first-child {
        padding-top: 0; } }
  .page.entry .entry-list-item:last-child {
    padding-bottom: 0;
    border-bottom: none; }
  .page.entry .entry-list-item .ttl {
    flex-basis: 100%;
    max-width: 100%;
    font-size: 2rem;
    font-weight: bold;
    color: #7cc5d6;
    margin-bottom: 15px; }
    @media screen and (max-width: 767px) {
      .page.entry .entry-list-item .ttl {
        font-size: 4.8vw;
        margin-bottom: 4vw; } }
  .page.entry .entry-list-item .txt {
    font-size: 1.6rem;
    line-height: 1.8; }
    @media screen and (max-width: 767px) {
      .page.entry .entry-list-item .txt {
        font-size: 4.2vw;
        line-height: 1.8; } }
  .page.entry .entry-list-item .btn-more {
    width: 230px;
    margin: 0 0 0 60px; }
    @media screen and (max-width: 767px) {
      .page.entry .entry-list-item .btn-more {
        width: 100%;
        margin: 5.3vw 0 0 0; } }
.page.entry .btn-list {
  width: 680px;
  height: 60px;
  display: flex;
  margin: 100px auto 0;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .page.entry .btn-list {
      width: 100%;
      height: auto;
      flex-direction: column;
      margin: 0 auto;
      padding-bottom: 0; } }
.page.entry .btn-list-item {
  flex-basis: 330px;
  max-width: 330px;
  font-size: 1.4rem;
  font-weight: bold; }
  @media screen and (max-width: 767px) {
    .page.entry .btn-list-item {
      flex-basis: 100%;
      max-width: 100%;
      margin-bottom: 15px; } }
  .page.entry .btn-list-item a {
    width: 100%;
    height: 70px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff;
    background: #4d4d4d;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .page.entry .btn-list-item a {
        height: 50px; } }
  .page.entry .btn-list-item button {
    width: 100%;
    height: 70px; }
    @media screen and (max-width: 767px) {
      .page.entry .btn-list-item button {
        height: 50px; } }
  .page.entry .btn-list-item .btn-more {
    font-size: 1.4rem;
    font-weight: bold;
    margin: 0; }
.page.entry .privacypolicy-section .btn-list .btn-list-item {
  margin-bottom: 0; }
  .page.entry .privacypolicy-section .btn-list .btn-list-item:first-child {
    display: flex; }
    @media screen and (max-width: 767px) {
      .page.entry .privacypolicy-section .btn-list .btn-list-item:first-child {
        margin-bottom: 15px; } }
    .page.entry .privacypolicy-section .btn-list .btn-list-item:first-child input {
      background: #4d4d4d; }
.page.thanks .main-visual-wrap .wave {
  margin-top: 0; }
  @media screen and (max-width: 767px) {
    .page.thanks .main-visual-wrap .wave {
      height: 100px;
      position: static; } }
.page.thanks .thanks-section {
  background: #fcfcfc;
  padding-top: 0;
  padding-bottom: 60px; }
  .page.thanks .thanks-section .ttl-h3 {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: left;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .page.thanks .thanks-section .ttl-h3 {
        font-size: 4.5vw;
        margin-bottom: 8vw;
        white-space: nowrap; } }
  .page.thanks .thanks-section .lead-txt {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.6;
    text-align: justify;
    margin-top: 0; }
    @media screen and (max-width: 767px) {
      .page.thanks .thanks-section .lead-txt {
        font-size: 3.7vw;
        line-height: 1.8; } }
    .page.thanks .thanks-section .lead-txt a {
      font-weight: bold;
      color: #7cc5d6;
      text-decoration: underline; }
      .page.thanks .thanks-section .lead-txt a:hover {
        text-decoration: none; }
.page.thanks .btn-more {
  width: 670px;
  height: 60px;
  line-height: 60px;
  margin: 50px auto; }
  @media screen and (max-width: 767px) {
    .page.thanks .btn-more {
      width: calc(100% - 50px);
      height: 50px;
      line-height: 50px;
      margin: 0 auto 65px; } }

/* !!------------------------------------ */
/* !! DRAWING */
.page.drawing .main-visual-section {
  height: 300px; }
  @media screen and (max-width: 767px) {
    .page.drawing .main-visual-section {
      height: auto; }
      .page.drawing .main-visual-section .ttl-h2 {
        flex-direction: column;
        margin-bottom: 21.3vw; }
        .page.drawing .main-visual-section .ttl-h2 .slide-in {
          font-size: inherit;
          margin-top: 0;
          display: inline-block; }
        .page.drawing .main-visual-section .ttl-h2 .slide-in_inner {
          font-size: inherit;
          margin-top: 0;
          display: inline-block; }
        .page.drawing .main-visual-section .ttl-h2 .sub-ttl {
          margin: 20px 0 0 0;
          display: block; } }
.page.drawing .main-visual-wrap .wave {
  transform: translate(-50%, 0); }
  @media screen and (max-width: 767px) {
    .page.drawing .main-visual-wrap .wave {
      margin-top: 8vw; } }
.page .drawing-section {
  padding-top: 0; }
  @media screen and (max-width: 767px) {
    .page .drawing-section {
      padding-bottom: 65px; } }
  .page .drawing-section .contents-wrap {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .page .drawing-section .contents-wrap {
        width: calc(100% + 30px);
        flex-direction: column;
        background: #fff;
        margin-left: -15px;
        padding: 15px;
        border-radius: 10px;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); } }
  .page .drawing-section .side-contents {
    flex-basis: 245px;
    max-width: 245px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .drawing-section .side-contents {
        flex-basis: 100%;
        max-width: 100%;
        z-index: 1; } }
  .page .drawing-section .side-menu-wrap {
    position: -webkit-sticky;
    position: sticky;
    top: 155px;
    background: #fff;
    padding: 50px 0 35px;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); }
    @media screen and (max-width: 767px) {
      .page .drawing-section .side-menu-wrap {
        position: static; } }
    .page .drawing-section .side-menu-wrap .ttl-h2 {
      font-size: 1.8rem;
      color: #7cc5d6;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      margin-bottom: 25px; }
      .page .drawing-section .side-menu-wrap .ttl-h2:nth-of-type(2) {
        margin-top: 30px; }
        .page .drawing-section .side-menu-wrap .ttl-h2:nth-of-type(2):before {
          content: "";
          width: 44px;
          height: 11px;
          display: block;
          margin: 0 auto 30px;
          background-image: url(../img/icon-drop2.svg);
          background-repeat: no-repeat;
          background-position: center center;
          background-size: 100%; }
      .page .drawing-section .side-menu-wrap .ttl-h2 span {
        font-size: 1.2rem;
        display: block;
        margin: 10px 0 0 0; }
    .page .drawing-section .side-menu-wrap .brand-list {
      display: list-item;
      margin-top: 0; }
      .page .drawing-section .side-menu-wrap .brand-list:before {
        content: none; }
    .page .drawing-section .side-menu-wrap .brand-list-item {
      height: auto;
      flex-basis: auto;
      max-width: 100%;
      color: inherit;
      border-bottom: none;
      cursor: pointer; }
      .page .drawing-section .side-menu-wrap .brand-list-item.active {
        border: none; }
        .page .drawing-section .side-menu-wrap .brand-list-item.active:before {
          content: none; }
      .page .drawing-section .side-menu-wrap .brand-list-item a {
        width: 100%;
        min-height: 100px;
        padding: 0 20px;
        border-top: 1px solid #e6e6e6;
        border-bottom: 1px solid #e6e6e6;
        display: flex;
        align-items: center;
        justify-content: space-between;
        pointer-events: none; }
        .page .drawing-section .side-menu-wrap .brand-list-item a:hover {
          background: rgba(124, 197, 214, 0.2);
          opacity: 1; }
      .page .drawing-section .side-menu-wrap .brand-list-item .logo {
        width: auto;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-left: 0; }
      .page .drawing-section .side-menu-wrap .brand-list-item .axa-ttl {
        font-size: 3.7rem;
        font-family: trajan-pro-3, serif;
        font-weight: 600;
        font-style: normal;
        letter-spacing: 0.14em; }
        .page .drawing-section .side-menu-wrap .brand-list-item .axa-ttl span {
          font-size: 1.2rem;
          font-family: fot-tsukuaoldmin-pr6n, sans-serif;
          font-weight: 300;
          font-style: normal;
          letter-spacing: normal;
          display: block; }
      .page .drawing-section .side-menu-wrap .brand-list-item .hotaru-ttl {
        font-size: 3rem;
        font-family: fot-tsukuaoldmin-pr6n, sans-serif;
        letter-spacing: 0.02em;
        font-weight: bold;
        border-top: none; }
      .page .drawing-section .side-menu-wrap .brand-list-item .unitbath-ttl {
        font-size: 3.6rem;
        font-family: "hk_novalight";
        border-bottom: none; }
        .page .drawing-section .side-menu-wrap .brand-list-item .unitbath-ttl span {
          font-size: 1.2rem;
          font-family: din-condensed, sans-serif;
          font-weight: 400;
          font-style: normal;
          letter-spacing: 0.025em;
          display: block;
          margin-top: 10px; }
  .page .drawing-section .main-contents {
    flex-basis: 700px;
    max-width: 700px;
    background: #fff;
    padding: 50px 25px 35px 25px;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); }
    @media screen and (max-width: 767px) {
      .page .drawing-section .main-contents {
        flex-basis: 100%;
        max-width: 100%;
        padding: 0;
        border-radius: 0;
        box-shadow: none;
        background: none; } }
    .page .drawing-section .main-contents .tab-item {
      padding-top: 0; }
    .page .drawing-section .main-contents .product-list {
      display: flex;
      flex-wrap: wrap;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents .product-list {
          flex-direction: column; } }
      .page .drawing-section .main-contents .product-list.pdb .thumb-wrap {
        height: auto; }
      .page .drawing-section .main-contents .product-list.pdb .price-list-item {
        justify-content: flex-end; }
      .page .drawing-section .main-contents .product-list.pdb .txt {
        height: 110px;
        font-size: 1.4rem;
        line-height: 1.6;
        text-align: justify;
        padding: 20px 0; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .product-list.pdb .txt {
            height: auto; } }
    .page .drawing-section .main-contents .product-list-item {
      flex-basis: calc((100% - 40px)/3);
      max-width: calc((100% - 40px)/3);
      position: relative;
      margin-right: 20px;
      padding-bottom: 35px; }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents .product-list-item {
          width: 100%;
          flex-basis: 100%;
          max-width: 100%;
          margin-right: 0;
          margin-bottom: 35px;
          border-bottom: 1px solid #E6E6E6; }
          .page .drawing-section .main-contents .product-list-item:last-child {
            margin-bottom: 0;
            border-bottom: none; }
            .page .drawing-section .main-contents .product-list-item:last-child:after {
              content: none; } }
      .page .drawing-section .main-contents .product-list-item:after {
        content: "";
        width: calc(100% + 20px);
        height: 1px;
        background: #e6e6e6;
        position: absolute;
        bottom: 0;
        left: -10px; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .product-list-item:after {
            content: none; } }
      .page .drawing-section .main-contents .product-list-item:nth-child(3n) {
        margin-right: 0; }
      .page .drawing-section .main-contents .product-list-item:nth-child(n + 4) {
        margin-top: 35px; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .product-list-item:nth-child(n + 4) {
            margin-top: 0; } }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents .product-list-item:nth-last-child(-n + 3) {
          padding-bottom: 35px; } }
      .page .drawing-section .main-contents .product-list-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        -o-object-fit: cover;
        object-position: center;
        -o-object-position: center; }
    .page .drawing-section .main-contents .thumb-wrap {
      height: 150px;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents .thumb-wrap {
          height: 66.1vw; } }
      .page .drawing-section .main-contents .thumb-wrap.movie-thumb {
        width: 100%;
        height: 150px;
        overflow: hidden;
        position: relative; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .thumb-wrap.movie-thumb {
            padding-bottom: 56.25%; } }
      .page .drawing-section .main-contents .thumb-wrap iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0; }
    .page .drawing-section .main-contents .product-name {
      font-size: 1.5rem;
      line-height: 1.4;
      font-weight: bold;
      text-align: center;
      color: #7cc5d6;
      padding: 20px 0 15px; }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents .product-name {
          font-size: 5.8vw;
          padding: 4vw 0; } }
    .page .drawing-section .main-contents .scale {
      font-size: 1.2rem;
      font-weight: bold;
      text-align: center;
      color: #4d4d4d;
      display: block; }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents .scale {
          font-size: 3.7vw; } }
    .page .drawing-section .main-contents .capacity {
      font-size: 1.2rem;
      font-weight: bold;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 15px 0 20px; }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents .capacity {
          font-size: 3.2vw;
          padding: 4vw 0 5.3vw; } }
      .page .drawing-section .main-contents .capacity span {
        width: 65px;
        height: 22px;
        font-size: 1.2rem;
        font-weight: bold;
        background: #e6e6e6;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 11px;
        margin-right: 10px; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .capacity span {
            font-size: 3.2vw; } }
    .page .drawing-section .main-contents a {
      width: 100%;
      height: 30px;
      font-size: 1.4rem;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 4px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents a {
          height: 50px;
          font-size: 3.7vw;
          font-weight: bold;
          letter-spacing: 0.14em; } }
      .page .drawing-section .main-contents a:before {
        content: "";
        width: 7px;
        height: 11px;
        background-image: url(../img/icon-arrow2.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 100%;
        position: absolute;
        top: 50%;
        right: 15px;
        transform: translate(0, -50%); }
      .page .drawing-section .main-contents a.dl-pdf {
        background: #00a99d;
        margin-bottom: 5px; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents a.dl-pdf {
            margin-bottom: 3.7vw; } }
      .page .drawing-section .main-contents a.dl-dxf {
        background: #71a0bf;
        margin-bottom: 30px; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents a.dl-dxf {
            margin-bottom: 8vw; } }
    .page .drawing-section .main-contents .price-ttl {
      font-size: 1.4rem;
      font-weight: bold;
      letter-spacing: 0.02em;
      color: #4d4d4d;
      margin-bottom: 15px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents .price-ttl {
          font-size: 4.2vw;
          margin-bottom: 4vw; } }
      .page .drawing-section .main-contents .price-ttl:after {
        content: "";
        width: 135px;
        height: 1px;
        background: #e6e6e6;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(0, -50%); }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .price-ttl:after {
            width: calc(100% - 5em); } }
    .page .drawing-section .main-contents .price-list-item {
      font-size: 1.5rem;
      font-weight: bold;
      letter-spacing: 0.02em;
      color: #4d4d4d;
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 7px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .page .drawing-section .main-contents .price-list-item {
          font-size: 4.2vw; } }
      .page .drawing-section .main-contents .price-list-item._2pattern {
        align-items: flex-start;
        flex-direction: column; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .price-list-item._2pattern {
            flex-direction: row; } }
      .page .drawing-section .main-contents .price-list-item .subprice-list {
        width: 100%;
        margin-top: 5px; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .price-list-item .subprice-list {
            width: auto;
            margin-top: 0; } }
      .page .drawing-section .main-contents .price-list-item .subprice-list-item {
        font-size: 1.5rem;
        font-weight: bold;
        letter-spacing: 0.02em;
        text-align: right;
        color: #4d4d4d;
        display: flex;
        align-items: center;
        justify-content: space-between; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .price-list-item .subprice-list-item {
            font-size: 4.2vw;
            margin-bottom: 7px; }
            .page .drawing-section .main-contents .price-list-item .subprice-list-item:last-child {
              margin-bottom: 0; } }
      .page .drawing-section .main-contents .price-list-item .sub-ttl {
        justify-content: flex-end;
        background: none; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .price-list-item .sub-ttl {
            width: auto;
            margin-right: 2.6vw; } }
      .page .drawing-section .main-contents .price-list-item:last-child {
        margin-bottom: 0; }
      .page .drawing-section .main-contents .price-list-item span {
        width: 105px;
        height: 22px;
        font-size: 1.2rem;
        font-weight: bold;
        color: #4d4d4d;
        background: #e6e6e6;
        display: flex;
        align-items: center;
        justify-content: center; }
        @media screen and (max-width: 767px) {
          .page .drawing-section .main-contents .price-list-item span {
            width: 36vw;
            font-size: 3.7vw; } }

@media screen and (max-width: 767px) {
  .sp-side-menu-wrap .toggle-list {
    margin-bottom: 10.6vw; }
    .sp-side-menu-wrap .toggle-list dd {
      position: relative; }
      .sp-side-menu-wrap .toggle-list dd .ttl {
        width: 75px;
        height: calc(100% - 50px);
        position: absolute;
        top: 50px;
        left: 0;
        border: none;
        border-bottom: 1px solid #7CC5D6;
        border-left: 1px solid #7CC5D6;
        border-radius: 0 0 0 4px; }
        .sp-side-menu-wrap .toggle-list dd .ttl:after {
          content: "";
          width: 1px;
          height: 100%;
          background: #f2f2f2;
          position: absolute;
          top: 0;
          right: -1px; }
        .sp-side-menu-wrap .toggle-list dd .ttl .ttl-item {
          height: 50%;
          border-bottom: 1px solid #F2F2F2;
          position: relative; }
          .sp-side-menu-wrap .toggle-list dd .ttl .ttl-item p {
            width: 100%;
            font-size: 4.2vw;
            font-family: montserrat, sans-serif;
            font-weight: bold;
            display: flex;
            flex-direction: column;
            justify-content: center;
            writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
            position: relative;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: left; }
          .sp-side-menu-wrap .toggle-list dd .ttl .ttl-item span {
            font-size: 2.6vw;
            font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
            font-weight: bold;
            margin-left: 5px; }
          .sp-side-menu-wrap .toggle-list dd .ttl .ttl-item:last-child {
            border-bottom: none; }
      .sp-side-menu-wrap .toggle-list dd .list {
        color: #333;
        border-radius: 0 0 4px 4px; }
        .sp-side-menu-wrap .toggle-list dd .list .toggle-list-item {
          height: 75px; }
          .sp-side-menu-wrap .toggle-list dd .list .toggle-list-item p {
            display: flex;
            align-items: center;
            flex-direction: column;
            justify-content: center;
            position: relative; }
        .sp-side-menu-wrap .toggle-list dd .list .axa-ttl {
          font-size: 7.4vw;
          font-family: trajan-pro-3, serif;
          font-weight: 600;
          font-style: normal;
          letter-spacing: 0.14em; }
          .sp-side-menu-wrap .toggle-list dd .list .axa-ttl span {
            font-size: 2.6vw;
            font-family: fot-tsukuaoldmin-pr6n, sans-serif;
            font-weight: 300;
            font-style: normal;
            letter-spacing: normal;
            margin-top: 5px; }
        .sp-side-menu-wrap .toggle-list dd .list .hotaru-ttl {
          font-size: 6.4vw;
          font-family: fot-tsukuaoldmin-pr6n, sans-serif;
          letter-spacing: 0.02em; }
        .sp-side-menu-wrap .toggle-list dd .list .unitbath-ttl {
          font-size: 7.4vw;
          font-family: "hk_novalight"; }
          .sp-side-menu-wrap .toggle-list dd .list .unitbath-ttl span {
            font-size: 1rem;
            font-family: din-condensed, sans-serif;
            font-weight: 400;
            font-style: normal;
            letter-spacing: 0.025em;
            margin-top: 5px; } }
/* !!------------------------------------ */
/* !! AGENCY APPLICATION */
.page.agency .main-visual-section {
  height: 300px; }
  @media screen and (max-width: 767px) {
    .page.agency .main-visual-section {
      height: auto; } }
.page.agency .main-visual-wrap .ttl-h2 {
  align-items: flex-end; }
  @media screen and (max-width: 767px) {
    .page.agency .main-visual-wrap .ttl-h2 {
      line-height: 1.1;
      flex-direction: column;
      white-space: normal;
      align-items: flex-start; }
      .page.agency .main-visual-wrap .ttl-h2 span {
        margin: 20px 0 0 0; }
        .page.agency .main-visual-wrap .ttl-h2 span.slide-in {
          margin-top: 0; }
        .page.agency .main-visual-wrap .ttl-h2 span.slide-in_inner {
          margin-top: 0; }
        .page.agency .main-visual-wrap .ttl-h2 span.sub-ttl {
          display: block; } }
.page.agency .main-visual-wrap .wave {
  top: calc(50% + 50px);
  transform: translate(-50%, 0); }
  @media screen and (max-width: 767px) {
    .page.agency .main-visual-wrap .wave {
      height: 200px;
      margin-top: 45vw;
      transform: none;
      position: static; }
      .page.agency .main-visual-wrap .wave canvas {
        height: 600px; } }
.page.agency.entry .main-visual-wrap .wave {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0; }
.page.entry .main-visual-wrap .ttl-h2 {
  align-items: flex-end; }
  @media screen and (max-width: 767px) {
    .page.entry .main-visual-wrap .ttl-h2 {
      line-height: 1.1;
      flex-direction: column;
      white-space: normal;
      align-items: flex-start; }
      .page.entry .main-visual-wrap .ttl-h2 span {
        margin: 20px 0 0 0; }
        .page.entry .main-visual-wrap .ttl-h2 span.slide-in {
          margin-top: 0; }
        .page.entry .main-visual-wrap .ttl-h2 span.slide-in_inner {
          margin-top: 0; }
        .page.entry .main-visual-wrap .ttl-h2 span.sub-ttl {
          display: block;
          margin: 20px 0 0 0; } }
.page .agency-section {
  padding: 70px 0;
  background: none; }
  @media screen and (max-width: 767px) {
    .page .agency-section {
      padding: 40px 0 50px;
      margin-top: -250px; }
      .page .agency-section .lead-txt {
        font-size: 3.5vw;
        line-height: 1.8; }
      .page .agency-section .entryform-list {
        margin-top: 40px; }
      .page .agency-section .entryform-list-item .radio-list {
        flex-direction: column; }
      .page .agency-section .entryform-list-item .radio-list-item {
        width: 100%;
        margin-bottom: 6.66vw; }
        .page .agency-section .entryform-list-item .radio-list-item:last-child {
          margin-bottom: 0; }
      .page .agency-section .entryform-list-item input[type="text"].company {
        flex-basis: 100%;
        max-width: 100%; } }
  .page .agency-section:after {
    content: "";
    width: 1200px;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); }
    @media screen and (max-width: 767px) {
      .page .agency-section:after {
        width: calc(100% - 20px); } }
  .page .agency-section .inner {
    position: relative;
    z-index: 1; }
  .page .agency-section .enrtyform-list {
    margin-top: 40px; }
.page.entry .main-visual-section {
  height: auto; }
.page.entry .main-visual-wrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  position: static; }
  @media screen and (max-width: 767px) {
    .page.entry .main-visual-wrap {
      width: 100%;
      margin-left: 0; } }
  .page.entry .main-visual-wrap .wave {
    transform: none; }
  .page.entry .main-visual-wrap .lead-txt {
    position: relative;
    z-index: 1; }
.page.entry .entry-section {
  padding-top: 120px; }
  @media screen and (max-width: 767px) {
    .page.entry .entry-section {
      padding-top: 50px;
      margin-top: 0; } }
.page.entry form .lead-txt {
  display: none; }
.page.entry form .agency-section {
  padding-top: 120px;
  background: #fcfcfc;
  padding-bottom: 75px;
  margin-bottom: 75px; }
  @media screen and (max-width: 767px) {
    .page.entry form .agency-section {
      padding-top: 50px;
      padding-bottom: 50px;
      margin-top: 0;
      margin-bottom: 50px; } }
  .page.entry form .agency-section:after {
    content: none; }
  .page.entry form .agency-section .entryform-list {
    margin-top: 0; }
  .page.entry form .agency-section .entryform-list-item {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.08em;
    border-bottom: 1px solid #f2f2f2;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 25px 0;
    margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .page.entry form .agency-section .entryform-list-item:first-child {
        padding-top: 0; } }
    .page.entry form .agency-section .entryform-list-item .ttl {
      flex-basis: 100%;
      max-width: 100%;
      font-size: 2rem;
      font-weight: bold;
      color: #7cc5d6;
      margin-bottom: 15px; }
      @media screen and (max-width: 767px) {
        .page.entry form .agency-section .entryform-list-item .ttl {
          font-size: 4.8vw;
          margin-bottom: 4vw;
          line-height: 1; } }
      .page.entry form .agency-section .entryform-list-item .ttl > span {
        display: none; }
    .page.entry form .agency-section .entryform-list-item .note-txt {
      display: none; }
  @media screen and (max-width: 767px) {
    .page.entry form .agency-section .txt-list {
      flex-direction: row; } }
  .page.entry form .agency-section .txt-list .txt-list-item {
    margin-right: 20px; }
    @media screen and (max-width: 767px) {
      .page.entry form .agency-section .txt-list .txt-list-item {
        margin-bottom: 0; } }
    .page.entry form .agency-section .txt-list .txt-list-item > span {
      display: none; }
  .page.entry form .agency-section .txt-list.zipcode .txt-list-item:nth-child(2) {
    display: none; }
  .page.entry form .agency-section .option-wrap:before {
    content: none; }
.page.entry form .privacypolicy-section {
  padding-top: 0; }
  .page.entry form .privacypolicy-section .ttl-h2, .page.entry form .privacypolicy-section .privacypolicy-wrap {
    display: none; }
@media screen and (max-width: 767px) {
  .page.contact .main-visual-wrap .ttl-h2 {
    line-height: 1;
    flex-direction: row;
    align-items: baseline; }
    .page.contact .main-visual-wrap .ttl-h2 .slide-in {
      margin-left: 0;
      overflow: visible; }
    .page.contact .main-visual-wrap .ttl-h2 .slide-in_inner {
      margin-left: 0; }
    .page.contact .main-visual-wrap .ttl-h2 .sub-ttl {
      margin: 0 0 0 15px; } }
.page.contact .main-visual-wrap .wave {
  top: 50%; }
  @media screen and (max-width: 767px) {
    .page.contact .main-visual-wrap .wave {
      margin-top: 40vw;
      top: auto; } }
.page.contact .contact-section .lead-txt a {
  color: #7cc5d6;
  text-decoration: underline; }
@media screen and (max-width: 767px) {
  .page.contact .contact-section .entryform-list {
    margin-top: 50px; }
  .page.contact .contact-section .entryform-list-item .radio-list {
    flex-direction: column; }
  .page.contact .contact-section .entryform-list-item .radio-list-item {
    width: 100%;
    margin-bottom: 6.66vw; }
    .page.contact .contact-section .entryform-list-item .radio-list-item:last-child {
      margin-bottom: 0; }
  .page.contact .contact-section .entryform-list-item input[type="text"].company {
    flex-basis: 100%;
    max-width: 100%; } }
@media screen and (max-width: 767px) {
  .page.wholeinone .main-visual-wrap:after {
    content: "";
    width: 13vw;
    height: 28.2vw;
    background-image: url(../img/drop5@2x.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    position: absolute;
    bottom: -5.3vw;
    left: 15px;
    z-index: 1; }
  .page.wholeinone .main-visual-wrap .ttl-wrap .ttl-h2 {
    padding-top: 9.4vw;
    white-space: normal; }
    .page.wholeinone .main-visual-wrap .ttl-wrap .ttl-h2 .sub-ttl {
      line-height: 1;
      display: block;
      margin: 4.7vw 0 0 0; } }
.page.wholeinone .main-visual-wrap .img-wrap {
  width: 660px;
  height: 433px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  border-bottom-left-radius: 50px;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .main-visual-wrap .img-wrap {
      width: calc(100% - 15px);
      height: auto;
      bottom: 7.5vw; } }
.page.wholeinone .wrap {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .wrap {
      flex-direction: column; } }
  .page.wholeinone .wrap.about-nanobubble {
    margin-top: 240px;
    align-items: flex-end; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .wrap.about-nanobubble {
        margin-top: 80px; } }
  .page.wholeinone .wrap.power-nanobubble {
    counter-reset: number 0;
    margin-top: 60px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .wrap.power-nanobubble {
        margin-top: 50px; } }
    .page.wholeinone .wrap.power-nanobubble .img-wrap {
      flex-basis: 452px;
      max-width: 452px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .wrap.power-nanobubble .img-wrap {
          width: 100%;
          flex-basis: 100%;
          max-width: 100%;
          margin-bottom: 50px;
          margin-left: 0; }
          .page.wholeinone .wrap.power-nanobubble .img-wrap:last-child {
            margin-bottom: 0; }
          .page.wholeinone .wrap.power-nanobubble .img-wrap img {
            width: calc(100% + 20px);
            margin-left: -10px; } }
    .page.wholeinone .wrap.power-nanobubble .ttl-h3 {
      font-size: 2.4rem;
      font-weight: bold;
      padding: 60px 0 30px;
      margin-bottom: 0;
      display: flex;
      align-items: flex-start; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .wrap.power-nanobubble .ttl-h3 {
          font-size: 5.3vw;
          padding: 10.6vw 0 5.3vw; } }
      .page.wholeinone .wrap.power-nanobubble .ttl-h3:before {
        counter-increment: number 1;
        content: "0" counter(number);
        font-size: 2.4rem;
        font-family: montserrat, sans-serif;
        font-weight: 100;
        font-style: normal;
        margin-right: 15px;
        position: relative;
        top: -20px; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .wrap.power-nanobubble .ttl-h3:before {
            font-size: 5.3vw;
            margin-right: 2vw;
            top: -15px; } }
    .page.wholeinone .wrap.power-nanobubble .txt {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.14em;
      text-align: justify; }
  .page.wholeinone .wrap.use-wholeinone {
    flex-wrap: wrap;
    margin-top: 60px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .wrap.use-wholeinone {
        margin-top: 8vw; } }
    .page.wholeinone .wrap.use-wholeinone .item-list {
      flex-basis: 227px;
      max-width: 227px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .wrap.use-wholeinone .item-list {
          width: calc(100% + 20px);
          flex-basis: 100%;
          max-width: calc(100% + 20px);
          margin-bottom: 10.6vw;
          margin-left: -10px; }
          .page.wholeinone .wrap.use-wholeinone .item-list:last-child {
            margin-bottom: 0; } }
      .page.wholeinone .wrap.use-wholeinone .item-list:nth-child(n + 5) {
        margin-top: 50px; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .wrap.use-wholeinone .item-list:nth-child(n + 5) {
            margin-top: 0; } }
    .page.wholeinone .wrap.use-wholeinone .ttl-h3 {
      font-size: 2rem;
      font-weight: bold;
      letter-spacing: 0.02em;
      color: #406eb7;
      padding: 25px 0 20px;
      margin-bottom: 0;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .wrap.use-wholeinone .ttl-h3 {
          padding: 6.66vw 0 5.3vw; } }
    .page.wholeinone .wrap.use-wholeinone .txt {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.14em;
      text-align: justify; }
  .page.wholeinone .wrap.exsample-list {
    flex-wrap: wrap;
    margin-top: 60px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .wrap.exsample-list {
        margin-top: 12vw; } }
    .page.wholeinone .wrap.exsample-list .list-item {
      flex-basis: 478px;
      flex-basis: 478px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .wrap.exsample-list .list-item {
          width: calc(100% + 20px);
          flex-basis: 100%;
          max-width: calc(100% + 20px);
          margin-left: -10px;
          margin-bottom: 10.6vw; }
          .page.wholeinone .wrap.exsample-list .list-item:last-child {
            margin-bottom: 0; } }
      .page.wholeinone .wrap.exsample-list .list-item:nth-child(n + 3) {
        margin-top: 60px; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .wrap.exsample-list .list-item:nth-child(n + 3) {
            margin-top: 0; } }
    .page.wholeinone .wrap.exsample-list .ttl-h3 {
      font-size: 2rem;
      text-align: left;
      color: #406eb7;
      padding: 35px 0 30px;
      margin-bottom: 0; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .wrap.exsample-list .ttl-h3 {
          font-size: 1.8rem;
          padding: 8vw 0 6.66vw; } }
      .page.wholeinone .wrap.exsample-list .ttl-h3 strong {
        font-weight: bold; }
    .page.wholeinone .wrap.exsample-list .sub-ttl {
      font-size: 1.6rem;
      font-weight: bold;
      position: relative; }
      .page.wholeinone .wrap.exsample-list .sub-ttl:after {
        content: "";
        width: 405px;
        height: 1px;
        background: #e6e6e6;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(0, -50%); }
        @media screen and (max-width: 767px) {
          .page.wholeinone .wrap.exsample-list .sub-ttl:after {
            width: calc(100% - 5em); } }
    .page.wholeinone .wrap.exsample-list .tag-list {
      display: flex;
      flex-wrap: wrap;
      margin-top: 15px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .wrap.exsample-list .tag-list {
          margin-top: 4vw; } }
      .page.wholeinone .wrap.exsample-list .tag-list:after {
        content: "など";
        font-size: 1.4rem;
        line-height: 22px; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .wrap.exsample-list .tag-list:after {
            font-size: 3.7vw; } }
      .page.wholeinone .wrap.exsample-list .tag-list .tag-list-item {
        height: 22px;
        font-size: 1.4rem;
        line-height: 22px;
        color: #000;
        background: #e6e6e6;
        border-radius: 11px;
        padding: 0 18px;
        margin: 0 7px 10px 0; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .wrap.exsample-list .tag-list .tag-list-item {
            font-size: 3.7vw;
            padding: 0 3.7vw;
            margin: 0 1.8vw 2.6vw 0; } }
  .page.wholeinone .wrap .txt-wrap {
    flex-basis: 450px;
    max-width: 450px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .wrap .txt-wrap {
        flex-basis: 100%;
        max-width: 100%; } }
    .page.wholeinone .wrap .txt-wrap .ttl-h3 {
      font-size: 2rem;
      line-height: 1.8;
      font-weight: bold;
      letter-spacing: 0.02em;
      text-align: left;
      margin-bottom: 30px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .wrap .txt-wrap .ttl-h3 {
          font-size: 1.4rem;
          margin-bottom: 20px; } }
      .page.wholeinone .wrap .txt-wrap .ttl-h3 .slide-in {
        overflow: visible; }
      .page.wholeinone .wrap .txt-wrap .ttl-h3 .sub-ttl {
        font-size: 1.8rem;
        font-weight: bold;
        letter-spacing: 0.02em;
        color: #7cc5d6;
        display: block;
        margin-bottom: 15px;
        position: relative; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .wrap .txt-wrap .ttl-h3 .sub-ttl {
            font-size: 1.4rem;
            line-height: 1;
            margin-bottom: 10.6vw; } }
        .page.wholeinone .wrap .txt-wrap .ttl-h3 .sub-ttl:before {
          content: "";
          width: 100px;
          height: 100px;
          border-radius: 50%;
          background: rgba(124, 197, 214, 0.1);
          position: absolute;
          top: 50%;
          left: 0;
          transform: translate(-50%, -50%); }
          @media screen and (max-width: 767px) {
            .page.wholeinone .wrap .txt-wrap .ttl-h3 .sub-ttl:before {
              width: 66px;
              height: 66px;
              left: -15px;
              transform: translate(0, -50%); } }
    .page.wholeinone .wrap .txt-wrap .txt {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.14em;
      text-align: justify; }
  .page.wholeinone .wrap .img-wrap {
    flex-basis: 490px;
    max-width: 490px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .wrap .img-wrap {
        width: calc(100% + 20px);
        flex-basis: 100%;
        max-width: calc(100%  + 20px);
        margin: 0 0 20px -10px; } }
.page.wholeinone .wholeinone-section {
  padding-bottom: 160px; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .wholeinone-section {
      padding-bottom: 60px; } }
  .page.wholeinone .wholeinone-section .ttl-h2 {
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .wholeinone-section .ttl-h2 {
        line-height: 1.2;
        white-space: normal;
        text-align: center; } }
    .page.wholeinone .wholeinone-section .ttl-h2 .sub-ttl {
      margin: 20px 0 0 0;
      display: block;
      text-align: center; }
  .page.wholeinone .wholeinone-section .lead-txt {
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .wholeinone-section .lead-txt {
        text-align: justify; } }
.page.wholeinone .ultrananobubble-section {
  background: #fcfcfc;
  padding: 140px 0; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .ultrananobubble-section {
      padding: 80px 0; } }
  .page.wholeinone .ultrananobubble-section .ttl-h2 {
    font-size: 3.6rem;
    font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .ultrananobubble-section .ttl-h2 {
        font-size: 6vw;
        line-height: 1.3;
        white-space: normal;
        text-align: center; } }
    .page.wholeinone .ultrananobubble-section .ttl-h2:before {
      content: "";
      width: 84px;
      height: 150px;
      background-image: url(../img/drop3@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      top: -170px;
      right: 200px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .ultrananobubble-section .ttl-h2:before {
          width: 14.4vw;
          height: 25.6vw;
          top: calc(-10.6vw - 80px);
          right: 0; } }
    .page.wholeinone .ultrananobubble-section .ttl-h2 .sub-ttl {
      color: #7cc5d6;
      display: block;
      text-align: center;
      margin: 0 0 30px 0; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .ultrananobubble-section .ttl-h2 .sub-ttl {
          font-size: 3.7vw;
          margin-bottom: 5.3vw; } }
  .page.wholeinone .ultrananobubble-section .lead-txt {
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .ultrananobubble-section .lead-txt {
        text-align: justify; } }
.page.wholeinone .howtouse-section {
  padding: 140px 0; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .howtouse-section {
      padding: 100px 0; } }
  .page.wholeinone .howtouse-section .ttl-h2 {
    font-size: 3.6rem;
    line-height: 1.4;
    font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    text-align: center;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .howtouse-section .ttl-h2 {
        font-size: 6.4vw;
        line-height: 1.4;
        white-space: normal;
        margin-bottom: 6.66vw; } }
    .page.wholeinone .howtouse-section .ttl-h2:before {
      content: "";
      width: 116px;
      height: 58px;
      background-image: url(../img/drop4@2x.png);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
      position: absolute;
      top: -170px;
      right: 70px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .howtouse-section .ttl-h2:before {
          width: 23.7vw;
          height: 12vw;
          top: -34.6vw;
          right: 0; } }
    .page.wholeinone .howtouse-section .ttl-h2 .sub-ttl {
      line-height: 1;
      color: #7cc5d6;
      display: block;
      text-align: center;
      margin: 0 0 30px 0; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .howtouse-section .ttl-h2 .sub-ttl {
          font-size: 3.7vw;
          margin-bottom: 5.3vw; } }
  .page.wholeinone .howtouse-section .img-wrap {
    width: calc(100% + 40px);
    margin-left: -15px;
    padding: 20px 0; }
    .page.wholeinone .howtouse-section .img-wrap img {
      width: 100%;
      height: auto; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .howtouse-section .img-wrap img {
          width: 810px; } }
    .page.wholeinone .howtouse-section .img-wrap .scroll-hint-icon {
      width: auto; }
@media screen and (max-width: 767px) {
  .page.wholeinone .exsample-section {
    padding-top: 120px; } }
.page.wholeinone .exsample-section .ttl-h2 {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .exsample-section .ttl-h2 {
      line-height: 1.2;
      text-align: center;
      white-space: normal; } }
  .page.wholeinone .exsample-section .ttl-h2:before {
    content: "";
    width: 84px;
    height: 150px;
    background-image: url(../img/drop3@2x.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    position: absolute;
    top: -180px;
    right: 200px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .exsample-section .ttl-h2:before {
        width: 14.4vw;
        height: 25.6vw;
        top: -55.5vw;
        right: 0; } }
  .page.wholeinone .exsample-section .ttl-h2 .sub-ttl {
    margin: 20px 0 0 0;
    display: block;
    text-align: center; }
.page.wholeinone .exsample-section .lead-txt {
  width: 100%;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .exsample-section .lead-txt {
      text-align: justify; } }
.page.wholeinone .voice-section {
  padding-top: 0;
  padding-bottom: 200px; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .voice-section {
      padding-bottom: 0; } }
  .page.wholeinone .voice-section .ttl-h2 {
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    .page.wholeinone .voice-section .ttl-h2 .sub-ttl {
      margin: 20px 0 0 0;
      display: block;
      text-align: center; }
  .page.wholeinone .voice-section .lead-txt {
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .voice-section .lead-txt {
        text-align: justify; } }
  .page.wholeinone .voice-section .bg-wrap {
    width: calc(100% + 386px);
    left: -193px;
    padding: 0;
    margin-top: 30px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .voice-section .bg-wrap {
        width: 100vw;
        left: -25px;
        margin-top: 24vw; } }
    .page.wholeinone .voice-section .bg-wrap .bg-usersvoice {
      width: 100%;
      height: 100%;
      object-fit: cover;
      -o-object-fit: cover;
      object-position: center;
      -o-object-position: center; }
    .page.wholeinone .voice-section .bg-wrap .img-drop {
      position: absolute;
      top: 140px;
      right: 265px;
      mix-blend-mode: multiply; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .voice-section .bg-wrap .img-drop {
          width: 35.7vw;
          height: 57vw;
          top: -24vw;
          right: 0; } }
      .page.wholeinone .voice-section .bg-wrap .img-drop.bottom {
        top: auto;
        right: auto;
        bottom: -80px;
        left: -40px; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .voice-section .bg-wrap .img-drop.bottom {
            bottom: -9.3vw;
            left: 10px; } }
  .page.wholeinone .voice-section .voice-list {
    width: 100%;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    margin: 0;
    position: absolute;
    top: 400px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .voice-section .voice-list {
        padding: 0 25px;
        top: 44vw; } }
  .page.wholeinone .voice-section .voice-list-item {
    flex-basis: 453px;
    max-width: 453px;
    margin-right: 74px;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .voice-section .voice-list-item {
        flex-basis: 100%;
        max-width: 100%;
        align-items: flex-start;
        flex-direction: column;
        margin: 0 0 13.3vw 0; } }
    .page.wholeinone .voice-section .voice-list-item:nth-child(2n) {
      margin-right: 0; }
    .page.wholeinone .voice-section .voice-list-item:nth-child(n + 3) {
      margin-top: 40px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .voice-section .voice-list-item:nth-child(n + 3) {
          margin-top: 0; } }
    .page.wholeinone .voice-section .voice-list-item:last-child {
      margin-right: 0; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .voice-section .voice-list-item:last-child {
          margin-bottom: 0; } }
    .page.wholeinone .voice-section .voice-list-item .name-wrap {
      flex-basis: calc(100% - 269px);
      max-width: calc(100% - 269px);
      color: #1a1a1a; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .voice-section .voice-list-item .name-wrap {
          flex-basis: 100%;
          max-width: 100%;
          order: 2; } }
      .page.wholeinone .voice-section .voice-list-item .name-wrap .add-txt {
        font-size: 1.2rem;
        font-weight: bold;
        letter-spacing: 0.02em;
        margin-bottom: 10px;
        display: block; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .voice-section .voice-list-item .name-wrap .add-txt {
            font-size: 3.2vw;
            margin-bottom: 2.6vw; } }
      .page.wholeinone .voice-section .voice-list-item .name-wrap .name-txt {
        font-size: 1.8rem;
        font-weight: bold;
        letter-spacing: 0.02em; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .voice-section .voice-list-item .name-wrap .name-txt {
            font-size: 4.8vw; } }
      .page.wholeinone .voice-section .voice-list-item .name-wrap .use-txt {
        width: 90px;
        height: 20px;
        font-size: 1.2rem;
        color: #fff;
        font-weight: bold;
        letter-spacing: 0.02em;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 10px;
        border-radius: 2px;
        background: #406eb7; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .voice-section .voice-list-item .name-wrap .use-txt {
            width: 24vw;
            height: 5.3vw;
            font-size: 3.2vw;
            margin-top: 2.6vw; } }
    .page.wholeinone .voice-section .voice-list-item .img-wrap {
      flex-basis: 259px;
      max-width: 259px;
      height: 259px;
      border-radius: 50% 50% 50% 10px;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .voice-section .voice-list-item .img-wrap {
          flex-basis: 100%;
          max-width: 100%;
          height: auto;
          margin: 0 0 8vw 0;
          border-radius: 0;
          order: 1; } }
      .page.wholeinone .voice-section .voice-list-item .img-wrap img {
        height: auto; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .voice-section .voice-list-item .img-wrap img {
            width: 69.3vw;
            margin: 0 auto;
            display: block;
            border-radius: 50% 50% 50% 10px; } }
    .page.wholeinone .voice-section .voice-list-item .txt {
      flex-basis: 100%;
      max-width: 100%;
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.14em;
      text-align: justify;
      color: #1a1a1a;
      margin-top: 20px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .voice-section .voice-list-item .txt {
          font-size: 3.7vw;
          margin-top: 4.8vw;
          order: 3; } }
.page.wholeinone .information-section .ttl-h2 {
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .page.wholeinone .information-section .ttl-h2 .sub-ttl {
    margin: 20px 0 0 0;
    display: block;
    text-align: center; }
.page.wholeinone .information-section .lead-txt {
  width: 100%;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .information-section .lead-txt {
      text-align: justify; } }
.page.wholeinone .information-section .information-list {
  display: flex;
  justify-content: center;
  padding: 40px 0; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .information-section .information-list {
      padding: 8vw 0 18.6vw; } }
.page.wholeinone .information-section .information-list-item {
  position: relative; }
  .page.wholeinone .information-section .information-list-item:after {
    content: "";
    width: 130px;
    height: 130px;
    background: rgba(124, 197, 214, 0.1);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .information-section .information-list-item:after {
        width: 34.1vw;
        height: 34.1vw; } }
  .page.wholeinone .information-section .information-list-item:first-child {
    margin-right: 54px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .information-section .information-list-item:first-child {
        margin-right: 10.6vw; } }
  @media screen and (max-width: 767px) {
    .page.wholeinone .information-section .information-list-item img {
      width: auto;
      height: 42.6vw; } }
  .page.wholeinone .information-section .information-list-item .ttl {
    font-size: 2rem;
    font-weight: bold;
    color: #7cc5d6;
    letter-spacing: 0.02em;
    text-align: center;
    margin-top: 20px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .information-section .information-list-item .ttl {
        font-size: 4.8vw;
        margin-top: 5.3vw; } }
.page.wholeinone .information-section .table-wrap {
  margin-bottom: 70px; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .information-section .table-wrap {
      margin-bottom: 17.3vw; } }
  .page.wholeinone .information-section .table-wrap:last-of-type {
    margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .information-section .table-wrap .js-scrollable {
      width: calc(100% + 25px); } }
  .page.wholeinone .information-section .table-wrap .ttl-h3 {
    font-size: 2rem;
    font-weight: bold;
    color: #333;
    text-align: left;
    margin-bottom: 35px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .information-section .table-wrap .ttl-h3 {
        font-size: 5.3vw;
        margin-bottom: 8vw; } }
  .page.wholeinone .information-section .table-wrap table {
    width: 100%;
    font-size: 1.6rem;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .information-section .table-wrap table {
        width: 980px; } }
    .page.wholeinone .information-section .table-wrap table th, .page.wholeinone .information-section .table-wrap table td {
      height: 50px;
      vertical-align: middle; }
    .page.wholeinone .information-section .table-wrap table tr:last-child td {
      border-bottom: 1px solid #7CC5D6; }
    .page.wholeinone .information-section .table-wrap table td {
      color: #333;
      text-align: center;
      border-right: 1px solid #7CC5D6;
      border-bottom: 1px solid #E6E6E6; }
      .page.wholeinone .information-section .table-wrap table td:last-child {
        border-right: none; }
    .page.wholeinone .information-section .table-wrap table th {
      color: #7cc5d6;
      font-weight: bold;
      text-align: center;
      border-top: 1px solid #7CC5D6;
      border-right: 1px solid #7CC5D6;
      border-bottom: 1px solid #7CC5D6;
      background: rgba(124, 197, 214, 0.2); }
      .page.wholeinone .information-section .table-wrap table th:first-child {
        width: 140px;
        text-align: left;
        padding: 0 10px; }
      .page.wholeinone .information-section .table-wrap table th:last-child {
        border-right: none; }
    .page.wholeinone .information-section .table-wrap table.water-size tr:nth-child(2) th {
      width: 80px; }
      .page.wholeinone .information-section .table-wrap table.water-size tr:nth-child(2) th:nth-child(2) {
        width: 60px; }
    .page.wholeinone .information-section .table-wrap table.water-size tr:nth-child(3) th, .page.wholeinone .information-section .table-wrap table.water-size tr:nth-child(4) th {
      width: 60px;
      text-align: center; }
    .page.wholeinone .information-section .table-wrap table.test-data tr:first-child th:first-child {
      border-top: none;
      border-bottom: none;
      background: none; }
    .page.wholeinone .information-section .table-wrap table.test-data tr:nth-child(2) th {
      width: 80px;
      line-height: 1.4; }
      .page.wholeinone .information-section .table-wrap table.test-data tr:nth-child(2) th:nth-child(2) {
        width: 60px; }
    .page.wholeinone .information-section .table-wrap table.test-data tr:nth-child(3) th, .page.wholeinone .information-section .table-wrap table.test-data tr:last-child th {
      width: 60px;
      text-align: center; }
    .page.wholeinone .information-section .table-wrap table.test-data span {
      font-size: 1.2rem; }
.page.wholeinone .information-section .note-txt {
  font-size: 1.2rem;
  color: #666;
  letter-spacing: 0.02em;
  text-align: right;
  margin-top: 15px;
  display: block; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .information-section .note-txt {
      width: calc(100% + 30px);
      font-size: 3.2vw;
      margin-left: -15px; } }
  .page.wholeinone .information-section .note-txt:last-child {
    margin-top: 10px; }
.page.wholeinone .information-section .note-wrap {
  width: calc(100% + 120px);
  background: #fcfcfc;
  padding: 40px 60px;
  margin: 35px 0 0 -60px; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .information-section .note-wrap {
      width: 100vw;
      padding: 40px 25px;
      margin: 18.6vw 0 0 -25px; } }
  .page.wholeinone .information-section .note-wrap .ttl-h3 {
    font-size: 2rem;
    font-weight: bold;
    color: #333;
    text-align: left;
    margin-bottom: 30px; }
  .page.wholeinone .information-section .note-wrap .note-txt {
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: left;
    letter-spacing: normal;
    display: flex;
    align-items: center;
    margin-top: 0; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .information-section .note-wrap .note-txt {
        width: 100%;
        line-height: 1.7;
        font-size: 3.7vw;
        text-align: justify;
        flex-wrap: wrap;
        margin-bottom: 1.3vw;
        margin-left: 0;
        padding-left: 5.8vw;
        position: relative; }
        .page.wholeinone .information-section .note-wrap .note-txt:last-child {
          margin-bottom: 0; } }
    .page.wholeinone .information-section .note-wrap .note-txt:before {
      content: "";
      width: 12px;
      height: 12px;
      background: #7cc5d6;
      border-radius: 50%;
      margin-right: 12px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .information-section .note-wrap .note-txt:before {
          width: 3.2vw;
          height: 3.2vw;
          margin-right: 2.6vw;
          position: absolute;
          top: 5px;
          left: 0; } }
.page.wholeinone .agency-section {
  padding-bottom: 170px; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .agency-section {
      padding-top: 80px;
      margin-top: 0;
      display: none; } }
  .page.wholeinone .agency-section:after {
    content: none; }
  .page.wholeinone .agency-section .inner {
    padding-left: 0; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .agency-section .inner {
        padding-right: 0; } }
  .page.wholeinone .agency-section .img-wrap {
    flex-basis: 629px;
    max-width: 629px;
    min-height: 530px;
    border-radius: 0 0 50px 0;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .agency-section .img-wrap {
        width: 100%;
        flex-basis: 100%;
        max-width: 100%;
        min-height: initial;
        border-radius: 0;
        margin: 0; } }
  @media screen and (max-width: 767px) {
    .page.wholeinone .agency-section .txt-wrap {
      padding: 10.6vw 25px 0 25px; } }
  .page.wholeinone .agency-section .ttl-h2 {
    font-size: 4.8rem;
    color: #333;
    margin-left: 0; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .agency-section .ttl-h2 {
        font-size: 10.1vw;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-bottom: 8vw; }
        .page.wholeinone .agency-section .ttl-h2 .sub-ttl {
          margin: 20px 0 0 0;
          display: block;
          text-align: center; } }
  .page.wholeinone .agency-section .slide-in {
    margin-left: 0; }
  .page.wholeinone .agency-section .slide-in_inner {
    margin-left: 0; }
.page.wholeinone .maintenance-section .wrap {
  display: block; }

.ec-btn {
  position: fixed;
  right: 0;
  bottom: 30px;
  border-radius: 10px 0 0 10px;
  overflow: hidden;
  z-index: 2; }
  @media screen and (max-width: 767px) {
    .ec-btn {
      display: none; } }

.sp-ec-btn {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp-ec-btn {
      width: calc(100% - 40px);
      height: auto;
      position: fixed;
      bottom: 20px;
      left: 20px;
      display: block;
      border-radius: 10px;
      overflow: hidden; } }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-top: 100px; }

.footer .f-contact-wrap {
  display: flex;
  align-items: flex-start; }
  @media screen and (max-width: 767px) {
    .footer .f-contact-wrap {
      flex-direction: column;
      margin-bottom: 20px; } }
  .footer .f-contact-wrap .f-contact:last-of-type {
    margin-left: 25px; }
    @media screen and (max-width: 767px) {
      .footer .f-contact-wrap .f-contact:last-of-type {
        margin: 0; } }
    .footer .f-contact-wrap .f-contact:last-of-type .tel:first-of-type {
      justify-content: center;
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none; }
.footer .f-contact.f-wholeinone .tel:first-of-type {
  padding-bottom: 0;
  border-bottom: none; }

/* !!------------------------------------ */
/* !! WHOLE IN ONE追加 */
.youtube {
  display: flex;
  justify-content: space-between;
  padding-top: 0;
  margin-top: 80px; }
  @media screen and (max-width: 767px) {
    .youtube {
      flex-direction: column;
      margin-top: 30px; }
      .youtube iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%; } }

.youtube-item {
  flex-basis: 480px;
  max-width: 480px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .youtube-item {
      flex-basis: 100%;
      max-width: 100%;
      padding-top: 56.25%; }
      .youtube-item:first-of-type {
        margin-bottom: 20px; } }

.page.wholeinone .amazing-section {
  padding-top: 0; }
  .page.wholeinone .amazing-section .ttl-h2 {
    font-size: 3.6rem;
    font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .amazing-section .ttl-h2 {
        font-size: 6vw;
        line-height: 1.3;
        white-space: normal;
        text-align: center; } }
    .page.wholeinone .amazing-section .ttl-h2 .sub-ttl {
      color: #7cc5d6;
      display: block;
      text-align: center;
      margin: 0 0 30px 0; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .amazing-section .ttl-h2 .sub-ttl {
          font-size: 3.7vw;
          line-height: 1.3;
          margin-bottom: 5.3vw; } }
  .page.wholeinone .amazing-section .lead-txt {
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .amazing-section .lead-txt {
        text-align: justify; } }
  .page.wholeinone .amazing-section .wrap {
    align-items: center;
    margin-top: 60px;
    margin-bottom: 65px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .amazing-section .wrap {
        margin: 30px auto 35px; } }
    .page.wholeinone .amazing-section .wrap .img-wrap {
      flex-basis: 480px;
      max-width: 480px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .amazing-section .wrap .img-wrap {
          flex-basis: 100%;
          max-width: 100%;
          width: 100%;
          margin: 0; } }
    .page.wholeinone .amazing-section .wrap .txt-wrap {
      flex-basis: 455px;
      max-width: 455px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .amazing-section .wrap .txt-wrap {
          flex-basis: 100%;
          max-width: 100%;
          margin-top: 20px; } }
      .page.wholeinone .amazing-section .wrap .txt-wrap .ttl-h3 {
        line-height: 1;
        margin-bottom: 20px;
        white-space: nowrap; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .amazing-section .wrap .txt-wrap .ttl-h3 {
            line-height: 1.3;
            text-align: justify;
            white-space: normal; } }
      .page.wholeinone .amazing-section .wrap .txt-wrap .note-list-item {
        font-size: 1.2rem;
        line-height: 1;
        display: flex;
        margin-bottom: 10px;
        white-space: nowrap; }
        @media screen and (max-width: 767px) {
          .page.wholeinone .amazing-section .wrap .txt-wrap .note-list-item {
            margin-bottom: 5px;
            line-height: 1.3;
            text-align: justify;
            white-space: normal; } }
        .page.wholeinone .amazing-section .wrap .txt-wrap .note-list-item:last-child {
          font-weight: bold;
          color: #4187BA;
          margin-bottom: 0; }
.page.wholeinone .lineup-wrap {
  margin-top: 65px; }
  .page.wholeinone .lineup-wrap .ttl-h3 {
    font-size: 2.4rem;
    font-family: montserrat, sans-serif;
    letter-spacing: 0.02em;
    margin-bottom: 35px; }
    .page.wholeinone .lineup-wrap .ttl-h3 strong {
      font-weight: bold;
      margin-right: 0.5em; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .lineup-wrap .ttl-h3 strong {
          margin-right: 0;
          display: block; } }
  .page.wholeinone .lineup-wrap .lineup-list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 90px; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .lineup-wrap .lineup-list {
        flex-direction: column;
        margin-bottom: 0; } }
  .page.wholeinone .lineup-wrap .lineup-list-item {
    flex-basis: calc(100% / 4);
    max-width: calc(100% / 4);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    border-right: 1px solid #E5E5E5; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .lineup-wrap .lineup-list-item {
        flex-basis: 100%;
        max-width: 100%;
        width: 100%;
        padding: 30px 0;
        border-right: none;
        border-bottom: 1px solid #E5E5E5; }
        .page.wholeinone .lineup-wrap .lineup-list-item:first-child {
          padding-top: 0; }
          .page.wholeinone .lineup-wrap .lineup-list-item:first-child .price {
            padding-bottom: 10px; }
        .page.wholeinone .lineup-wrap .lineup-list-item img {
          width: auto;
          height: 26.8vw; } }
    .page.wholeinone .lineup-wrap .lineup-list-item:first-child .img-wrap img {
      width: auto;
      height: 100%; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .lineup-wrap .lineup-list-item:first-child .img-wrap img {
          height: 26.8vw; } }
    .page.wholeinone .lineup-wrap .lineup-list-item:nth-child(3), .page.wholeinone .lineup-wrap .lineup-list-item:last-child {
      border-right: none; }
  /* whole in one series lineup text */
    .lineup-list-item span{
      font-size: 1.2rem;
    }
  .lineup-list-item p{
      font-size: 1.8rem;
      text-align: center;
    }
    .lineup-list-item .txtcapture{
      font-size: 1.8rem;
      text-align: center;
      display: block;
      max-width: 0 auto;
    }
/*     .page.wholeinone .lineup-wrap .lineup-list-item:last-child {
      text-align: justify;
      padding-top: 25px; } */
      .page.wholeinone .lineup-wrap .lineup-list-item:last-child .ttl {
        font-size: 2rem;
        font-weight: bold;
        margin-bottom: 20px;
        letter-spacing: 0.02em; }
      .page.wholeinone .lineup-wrap .lineup-list-item:last-child .txt {
        font-size: 1.4rem;
        line-height: 1.8;
        letter-spacing: 0.14em;
        text-align: justify; }
    .page.wholeinone .lineup-wrap .lineup-list-item .img-wrap {
      height: 130px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 767px) {
        .page.wholeinone .lineup-wrap .lineup-list-item .img-wrap {
          height: auto; } }
  .page.wholeinone .lineup-wrap .name {
    font-size: 1.8rem;
    font-family: montserrat, sans-serif;
    font-weight: 700;
    letter-spacing: 0.02em; }
  .page.wholeinone .lineup-wrap .price {
    font-size: 2.6rem;
    font-family: montserrat, sans-serif;
    letter-spacing: 0.02em;
    color: #406eb6;
    display: flex;
    align-items: baseline;
    justify-content: center;
    padding: 10px 0; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .lineup-wrap .price {
        padding-bottom: 0; } }
    .page.wholeinone .lineup-wrap .price span {
      font-size: 1.6rem;
      font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
      font-weight: bold;
      color: #333; }
  .page.wholeinone .lineup-wrap .note-txt {
    font-size: 1.2rem;
    line-height: 1.3;
    letter-spacing: 0.02em;
    text-align: center; }
  .page.wholeinone .lineup-wrap + .table-wrap .ttl-h3 {
    margin-bottom: 20px; }
.page.wholeinone .link-list {
  display: flex;
  justify-content: center;
  margin-top: 90px; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .link-list {
      flex-direction: column;
      margin-top: 40px; } }
.page.wholeinone .link-list-item {
  flex-basis: 400px;
  max-width: 400px;
  margin-right: 30px; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .link-list-item {
      flex-basis: 100%;
      max-width: 100%;
      margin-right: 0; } }
  .page.wholeinone .link-list-item:last-child {
    margin-right: 0; }
    @media screen and (max-width: 767px) {
      .page.wholeinone .link-list-item:last-child {
        margin-top: 4vw; } }
.page.wholeinone .btn-more {
  width: 100%;
  height: 50px;
  line-height: 50px;
  margin: 0;
  border-radius: 10px; }
  @media screen and (max-width: 767px) {
    .page.wholeinone .btn-more {
      width: 100%;
      letter-spacing: normal; } }

/* !!------------------------------------ */
/* !! WHOLE IN ONE ｜ INFOMATION */
.page.information .main-visual-section {
  height: 300px; }
  @media screen and (max-width: 767px) {
    .page.information .main-visual-section {
      height: 45.3vw; } }
  .page.information .main-visual-section .wave {
    transform: translate(-50%, 0); }
@media screen and (max-width: 767px) {
  .page.information .main-visual-wrap:after {
    content: none; } }
.page .wholeinone-information-section {
  padding-top: 0;
  padding-bottom: 75px; }
  .page .wholeinone-information-section .inner {
    width: 1200px;
    padding: 50px 110px 70px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .inner {
        max-width: initial;
        min-width: initial;
        width: calc(100% - 30px);
        padding: 5.3vw 5.3vw 13.3vw 5.3vw;
        margin: 0 auto;
        overflow: hidden; } }
  .page .wholeinone-information-section .lead-txt {
    width: 100%;
    text-align: justify; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section .lineup-wrap {
      margin-top: 40px; } }
  .page .wholeinone-information-section .lineup-wrap .lineup-list {
    margin-bottom: 50px; }
  .page .wholeinone-information-section .table-wrap {
    margin-bottom: 70px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .table-wrap {
        margin-bottom: 17.3vw; } }
    .page .wholeinone-information-section .table-wrap:last-of-type {
      margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .table-wrap .js-scrollable {
        width: 100%; } }
    .page .wholeinone-information-section .table-wrap .ttl-h3 {
      font-size: 2rem;
      font-weight: bold;
      color: #333;
      text-align: left;
      margin-bottom: 35px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .table-wrap .ttl-h3 {
          font-size: 5.3vw;
          margin-bottom: 8vw; } }
    .page .wholeinone-information-section .table-wrap .lead-txt {
      font-size: 1.2rem;
      font-weight: bold;
      color: #4187ba;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .table-wrap .lead-txt {
          font-size: 3vw; } }
    .page .wholeinone-information-section .table-wrap table {
      width: 100%;
      font-size: 1.6rem;
      letter-spacing: 0.02em; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .table-wrap table {
          width: 980px; } }
      .page .wholeinone-information-section .table-wrap table th, .page .wholeinone-information-section .table-wrap table td {
        height: 50px;
        vertical-align: middle; }
      .page .wholeinone-information-section .table-wrap table tr:last-child td {
        border-bottom: 1px solid #7CC5D6; }
      .page .wholeinone-information-section .table-wrap table td {
        width: 420px;
        color: #333;
        text-align: center;
        border-right: 1px solid #7CC5D6;
        border-bottom: 1px solid #E6E6E6; }
        .page .wholeinone-information-section .table-wrap table td:last-child {
          border-right: none; }
      .page .wholeinone-information-section .table-wrap table th {
        width: 420px;
        color: #7cc5d6;
        font-weight: bold;
        text-align: center;
        border-top: 1px solid #7CC5D6;
        border-right: 1px solid #7CC5D6;
        border-bottom: 1px solid #7CC5D6;
        background: rgba(124, 197, 214, 0.2); }
        .page .wholeinone-information-section .table-wrap table th:first-child {
          width: 140px;
          text-align: left;
          padding: 0 10px; }
        .page .wholeinone-information-section .table-wrap table th:last-child {
          border-right: none; }
      .page .wholeinone-information-section .table-wrap table.water-size tr:nth-child(2) th {
        width: 80px; }
        .page .wholeinone-information-section .table-wrap table.water-size tr:nth-child(2) th:nth-child(2) {
          width: 60px; }
      .page .wholeinone-information-section .table-wrap table.water-size tr:nth-child(3) th, .page .wholeinone-information-section .table-wrap table.water-size tr:nth-child(4) th {
        width: 60px;
        text-align: center; }
      .page .wholeinone-information-section .table-wrap table.test-data tr:first-child th:first-child {
        border-top: none;
        border-bottom: none;
        background: none; }
      .page .wholeinone-information-section .table-wrap table.test-data tr:nth-child(2) th {
        width: 80px;
        line-height: 1.4; }
        .page .wholeinone-information-section .table-wrap table.test-data tr:nth-child(2) th:nth-child(2) {
          width: 60px; }
      .page .wholeinone-information-section .table-wrap table.test-data tr:nth-child(3) th, .page .wholeinone-information-section .table-wrap table.test-data tr:last-child th {
        width: 60px;
        text-align: center; }
      .page .wholeinone-information-section .table-wrap table.test-data span {
        font-size: 1.2rem; }
    .page .wholeinone-information-section .table-wrap .link-list {
      margin-top: 60px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .table-wrap .link-list {
          margin-top: 5.3vw; } }
      .page .wholeinone-information-section .table-wrap .link-list .link-list-item {
        flex-basis: 280px;
        max-width: 280px; }
        @media screen and (max-width: 767px) {
          .page .wholeinone-information-section .table-wrap .link-list .link-list-item {
            flex-basis: 100%;
            max-width: 100%;
            margin-top: 4vw; } }
      .page .wholeinone-information-section .table-wrap .link-list .btn-more {
        width: 100%;
        margin-top: 0; }
        .page .wholeinone-information-section .table-wrap .link-list .btn-more.bg-bk {
          background: #1a1a1a; }
          .page .wholeinone-information-section .table-wrap .link-list .btn-more.bg-bk:hover {
            opacity: 0.8; }
  .page .wholeinone-information-section .note-txt {
    font-size: 1.2rem;
    color: #666;
    letter-spacing: 0.02em;
    text-align: right;
    margin-top: 15px;
    display: block; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .note-txt {
        font-size: 3vw; } }
    .page .wholeinone-information-section .note-txt:last-child {
      margin-top: 10px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .note-txt:last-child {
          margin-top: 5px; } }
  .page .wholeinone-information-section .note-wrap {
    width: calc(100% + 120px);
    background: #fcfcfc;
    padding: 40px 60px;
    margin: 35px 0 80px -60px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .note-wrap {
        width: 100%;
        padding: 30px 20px;
        margin: 18.6vw 0 0 0; } }
    .page .wholeinone-information-section .note-wrap .ttl-h3 {
      font-size: 2rem;
      font-weight: bold;
      color: #333;
      text-align: left;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .note-wrap .ttl-h3 {
          margin-bottom: 20px; } }
    .page .wholeinone-information-section .note-wrap .note-txt {
      font-size: 1.4rem;
      line-height: 1.8;
      text-align: left;
      letter-spacing: normal;
      display: flex;
      align-items: center;
      margin-top: 0;
      padding-left: 24px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .note-wrap .note-txt {
          width: 100%;
          line-height: 1.7;
          font-size: 3.7vw;
          text-align: justify;
          flex-wrap: wrap;
          margin-bottom: 1.3vw;
          margin-left: 0;
          padding-left: 5.8vw; }
          .page .wholeinone-information-section .note-wrap .note-txt:last-child {
            margin-bottom: 0; } }
      .page .wholeinone-information-section .note-wrap .note-txt:before {
        content: "";
        width: 12px;
        height: 12px;
        background: #7cc5d6;
        border-radius: 50%;
        margin-right: 12px;
        position: absolute;
        top: 6px;
        left: 0; }
        @media screen and (max-width: 767px) {
          .page .wholeinone-information-section .note-wrap .note-txt:before {
            width: 3.2vw;
            height: 3.2vw;
            margin-right: 2.6vw;
            top: 5px; } }
  .page .wholeinone-information-section .exsample-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .exsample-list {
        flex-direction: column; } }
  .page .wholeinone-information-section .exsample-list-item {
    flex-basis: 475px;
    max-width: 475px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .exsample-list-item {
        flex-basis: 100%;
        max-width: 100%;
        margin-bottom: 30px; }
        .page .wholeinone-information-section .exsample-list-item:last-child {
          margin-bottom: 0; } }
    .page .wholeinone-information-section .exsample-list-item:nth-child(n + 3) {
      margin-top: 50px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .exsample-list-item:nth-child(n + 3) {
          margin-top: 0; } }
    .page .wholeinone-information-section .exsample-list-item .ttl {
      font-size: 2rem;
      font-weight: bold;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .exsample-list-item .ttl {
          font-size: 1.6rem;
          margin-bottom: 20px; } }
    .page .wholeinone-information-section .exsample-list-item img {
      border-radius: 10px; }

.side-btn-list {
  width: 60px;
  position: fixed;
  top: 120px;
  right: 0;
  z-index: 2; }
  @media screen and (max-width: 767px) {
    .side-btn-list {
      display: none; } }

.side-btn-list-item {
  height: 324px; }
  .side-btn-list-item a {
    width: 100%;
    height: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl; }
    .side-btn-list-item a:after {
      content: "";
      background-repeat: no-repeat;
      background-size: 100%;
      background-position: center center;
      margin-top: 10px; }
    .side-btn-list-item a.sidebtn-agency {
      background: #8bc53f; }
      .side-btn-list-item a.sidebtn-agency:after {
        width: 21px;
        height: 18px;
        background-image: url(../img/icon-agency.svg); }
    .side-btn-list-item a.sidebtn-ec {
      background: #406eb6; }
      .side-btn-list-item a.sidebtn-ec:after {
        width: 17px;
        height: 20px;
        background-image: url(../img/icon-ec.svg); }

@media screen and (max-width: 767px) {
  .bottom-agency {
    background: #8bc53f; }
    .bottom-agency:before {
      width: 13px;
      height: 11px;
      background-image: url(../img/icon-agency.svg); } }
/* !!------------------------------------ */
/* !! WHOLE IN ONE ｜ BUY */
.page .wholeinone-information-section.wholeinone-secondary-section {
  padding-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section.wholeinone-secondary-section {
      padding-bottom: 75px; } }
  .page .wholeinone-information-section.wholeinone-secondary-section .inner {
    padding-top: 70px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section.wholeinone-secondary-section .inner {
        padding-top: 5.3vw; } }
.page .wholeinone-information-section .wrap {
  align-items: center; }
  .page .wholeinone-information-section .wrap:first-of-type {
    margin-bottom: 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid #E5E5E5; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .wrap:first-of-type {
        margin-bottom: 8vw;
        padding-bottom: 8vw; } }
  .page .wholeinone-information-section .wrap .img-wrap {
    flex-basis: 455px;
    max-width: 455px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .wrap .img-wrap {
        width: 100%;
        flex-basis: 100%;
        max-width: 100%;
        margin: 0 0 5.3vw; } }
    .page .wholeinone-information-section .wrap .img-wrap img {
      width: 100%;
      border-radius: 10px; }
  .page .wholeinone-information-section .wrap .txt-wrap {
    flex-basis: 475px;
    max-width: 475px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .wrap .txt-wrap {
        flex-basis: 100%;
        max-width: 100%; } }
  .page .wholeinone-information-section .wrap .ttl-h2 {
    font-size: 4rem;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .wrap .ttl-h2 {
        font-size: 8vw;
        margin-bottom: 5.3vw; } }
  .page .wholeinone-information-section .wrap .lead-txt + .btn-more {
    margin-top: 35px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .wrap .lead-txt + .btn-more {
        margin-top: 5.3vw; } }
  .page .wholeinone-information-section .wrap .btn-more {
    width: 400px;
    background: linear-gradient(45deg, #4EA2CC 0%, #7CC5D6 25%, #7CC5D6 51%, #00A9C5 100%);
    background-position: 1% 50%;
    background-size: 200% auto; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .wrap .btn-more {
        width: 100%;
        margin-top: 5.3vw; } }
    .page .wholeinone-information-section .wrap .btn-more:hover {
      opacity: 1;
      color: #fff;
      background-position: 99% 50%; }
    .page .wholeinone-information-section .wrap .btn-more:nth-of-type(2) {
      width: 200px;
      margin-top: 25px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .wrap .btn-more:nth-of-type(2) {
          width: 100%;
          margin-top: 5.3vw; } }
  .page .wholeinone-information-section .wrap .btn-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 35px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .wrap .btn-list {
        flex-direction: column;
        margin-top: 5.3vw; } }
    .page .wholeinone-information-section .wrap .btn-list .btn-list-item {
      flex-basis: 200px;
      max-width: 200px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .wrap .btn-list .btn-list-item {
          flex-basis: 100%;
          max-width: 100%; } }
      .page .wholeinone-information-section .wrap .btn-list .btn-list-item:first-child {
        margin-right: 30px; }
        @media screen and (max-width: 767px) {
          .page .wholeinone-information-section .wrap .btn-list .btn-list-item:first-child {
            margin-right: 0;
            margin-bottom: 15px; } }
      .page .wholeinone-information-section .wrap .btn-list .btn-list-item .btn-more {
        width: 100%; }
  .page .wholeinone-information-section .wrap .note-txt {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.04em;
    text-align: justify;
    margin-top: 20px;
    padding-left: 1.5em;
    position: relative; }
    .page .wholeinone-information-section .wrap .note-txt span {
      position: absolute;
      top: 0;
      left: 0; }
    .page .wholeinone-information-section .wrap .note-txt a {
      color: #406eb6;
      text-decoration: underline; }
.page .wholeinone-information-section .bnr-wrap {
  width: 980px;
  height: 256px;
  color: #fff;
  margin: 100px auto 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section .bnr-wrap {
      width: 100%;
      height: auto;
      margin-top: 13.3vw; } }
  .page .wholeinone-information-section .bnr-wrap a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: stretch;
    background-image: url(../img/bg-bnr@2x.jpg);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center center;
    border-radius: 10px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .bnr-wrap a {
        flex-direction: column;
        background-size: cover;
        padding: 13.3vw 5.3vw;
        border-radius: 0;
        overflow: hidden; } }
    .page .wholeinone-information-section .bnr-wrap a .txt-wrap {
      flex-basis: 750px;
      max-width: 750px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .bnr-wrap a .txt-wrap {
          flex-basis: 100%;
          max-width: 100%; } }
      .page .wholeinone-information-section .bnr-wrap a .txt-wrap .wrapper {
        margin: 0 auto; }
      .page .wholeinone-information-section .bnr-wrap a .txt-wrap .ttl {
        font-size: 2.8rem;
        font-weight: bold;
        letter-spacing: 0.02em;
        margin: 25px 0 20px; }
        @media screen and (max-width: 767px) {
          .page .wholeinone-information-section .bnr-wrap a .txt-wrap .ttl {
            font-size: 5.3vw;
            line-height: 1.6;
            text-align: justify;
            margin: 5.3vw 0; } }
      .page .wholeinone-information-section .bnr-wrap a .txt-wrap .txt {
        font-size: 1.6rem;
        font-weight: bold;
        letter-spacing: 0.02em; }
        @media screen and (max-width: 767px) {
          .page .wholeinone-information-section .bnr-wrap a .txt-wrap .txt {
            font-size: 4.2vw;
            line-height: 1.4;
            text-align: justify; } }
    .page .wholeinone-information-section .bnr-wrap a .arrow-wrap {
      flex-basis: 230px;
      max-width: 230px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      border-left: 1px solid #fff; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .bnr-wrap a .arrow-wrap {
          flex-basis: 100%;
          max-width: 100%;
          padding-top: 8vw;
          margin-top: 8vw;
          border-left: none;
          position: relative; }
          .page .wholeinone-information-section .bnr-wrap a .arrow-wrap:before {
            content: "";
            width: 100vw;
            height: 1px;
            background: #fff;
            position: absolute;
            top: 0;
            left: -5.3vw; }
          .page .wholeinone-information-section .bnr-wrap a .arrow-wrap img {
            width: 10.7vw; } }
      .page .wholeinone-information-section .bnr-wrap a .arrow-wrap .txt {
        font-size: 1.6rem;
        line-height: 1.5;
        letter-spacing: 0.14em;
        text-align: center;
        margin-top: 20px; }
        @media screen and (max-width: 767px) {
          .page .wholeinone-information-section .bnr-wrap a .arrow-wrap .txt {
            font-size: 4.2vw;
            margin-top: 2.67vw; } }

/* !!------------------------------------ */
/* !! WHOLE IN ONE ｜ SELL */
.page .wholeinone-information-section.sell-section .inner {
  padding-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section.sell-section .inner {
      padding-bottom: 8vw; } }
.page .wholeinone-information-section.sell-section .btn-more {
  width: 200px; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section.sell-section .btn-more {
      width: 100%; } }
.page .wholeinone-information-section.sell-section .btn-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 35px; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section.sell-section .btn-list {
      flex-direction: column;
      margin-top: 5.3vw; } }
  .page .wholeinone-information-section.sell-section .btn-list .btn-list-item {
    flex-basis: 200px;
    max-width: 200px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section.sell-section .btn-list .btn-list-item {
        flex-basis: 100%;
        max-width: 100%; }
        .page .wholeinone-information-section.sell-section .btn-list .btn-list-item .btn-more {
          margin-top: 0; } }
.page .wholeinone-information-section.sell-section .btn-list .btn-list-item:first-child {
  margin-right: 30px; }

  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section.sell-section .btn-list .btn-list-item:first-child {
      margin-right: 0;
      margin-bottom: 15px; } }

.page .wholeinone-information-section.sell-section .btn-list .btn-list-item:nth-child(3) {
  margin-top: 20px; }

 .page .wholeinone-information-section.sell-section .btn-list .btn-list-item:nth-child(3) {
  margin-right: 30px; }

.page .wholeinone-information-section.sell-section .btn-list .btn-list-item:last-child {
  margin-top: 20px; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section.sell-section .btn-list .btn-list-item:nth-child(3){
      margin-right: 0;
      margin-bottom: 15px; } }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section.sell-section .btn-list .btn-list-item:last-child{
      margin-top: 0;
      margin-bottom: 0; } }
.page .wholeinone-information-section .flow-wrap {
  padding: 100px 0; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section .flow-wrap {
      padding: 50px 0; } }
  .page .wholeinone-information-section .flow-wrap .ttl-h3 {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0.04em;
    margin-bottom: 45px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .flow-wrap .ttl-h3 {
        font-size: 6.4vw;
        line-height: 1.4;
        margin-bottom: 30px; } }
  .page .wholeinone-information-section .flow-wrap .flow-list {
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .flow-wrap .flow-list {
        flex-direction: column; } }
  .page .wholeinone-information-section .flow-wrap .flow-list-item {
    margin-right: 120px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .flow-wrap .flow-list-item {
        margin-right: 0; } }
    .page .wholeinone-information-section .flow-wrap .flow-list-item:after {
      content: "";
      width: 22px;
      height: 49px;
      background-image: url(../img/icon-arrow4.svg);
      background-repeat: no-repeat;
      background-size: 100%;
      background-position: center center;
      position: absolute;
      top: 50%;
      right: -83px;
      transform: translate(-50%, -50%); }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .flow-wrap .flow-list-item:after {
          position: static;
          display: block;
          margin: 20px auto;
          transform: translate(0) rotate(90deg); } }
    .page .wholeinone-information-section .flow-wrap .flow-list-item:last-child {
      margin-right: 0; }
      .page .wholeinone-information-section .flow-wrap .flow-list-item:last-child:after {
        content: none; }
    .page .wholeinone-information-section .flow-wrap .flow-list-item .img-wrap {
      width: 100%;
      height: 90px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .flow-wrap .flow-list-item .img-wrap img {
          width: auto;
          height: 100%; } }
    .page .wholeinone-information-section .flow-wrap .flow-list-item .txt {
      font-size: 2rem;
      font-weight: bold;
      line-height: 1.3;
      letter-spacing: 0.04em;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .flow-wrap .flow-list-item .txt {
          font-size: 5.3vw; } }
    .page .wholeinone-information-section .flow-wrap .flow-list-item .btn-more {
      width: 200px;
      margin-top: 15px;
      background: linear-gradient(45deg, #4EA2CC 0%, #7CC5D6 25%, #7CC5D6 51%, #00A9C5 100%);
      background-position: 1% 50%;
      background-size: 200% auto; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .flow-wrap .flow-list-item .btn-more {
          width: 100%; } }
      .page .wholeinone-information-section .flow-wrap .flow-list-item .btn-more:hover {
        opacity: 1;
        color: #fff;
        background-position: 99% 50%; }
.page .wholeinone-information-section .online-wrap .ttl-h3 {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-bottom: 15px; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section .online-wrap .ttl-h3 {
      font-size: 6.4vw;
      line-height: 1.4; } }
.page .wholeinone-information-section .online-wrap .lead-txt {
  font-size: 1.4em;
  letter-spacing: 0.14em;
  margin-bottom: 30px; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section .online-wrap .lead-txt {
      line-height: 1.6;
      display: flex;
      margin-bottom: 20px; } }
.page .wholeinone-information-section .online-wrap .note-txt {
  width: 730px;
  height: 50px;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  background: #e5e5e5;
  margin: 0 auto 25px;
  border-radius: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: static; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section .online-wrap .note-txt {
      width: 100%;
      height: auto;
      font-size: 3.47vw;
      line-height: 1.4;
      margin: 0;
      padding: 10px;
      border-radius: 10px; } }
.page .wholeinone-information-section .online-wrap .btn-more {
  width: 400px;
  height: 50px;
  background: linear-gradient(45deg, #4EA2CC 0%, #7CC5D6 25%, #7CC5D6 51%, #00A9C5 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  margin: 40px auto 0; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section .online-wrap .btn-more {
      width: 100%;
      margin-top: 20px; } }
  .page .wholeinone-information-section .online-wrap .btn-more:hover {
    opacity: 1;
    color: #fff;
    background-position: 99% 50%; }
.page .wholeinone-information-section .deferred-payment-wrap {
  margin-top: 80px;
  padding-top: 80px;
  border-top: 1px solid #E5E5E5; }
  @media screen and (max-width: 767px) {
    .page .wholeinone-information-section .deferred-payment-wrap {
      margin-top: 13.3vw;
      padding-top: 13.3vw; } }
  .page .wholeinone-information-section .deferred-payment-wrap .ttl-h3 {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0.04em;
    margin-bottom: 40px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .ttl-h3 {
        font-size: 6.4vw;
        line-height: 1.4;
        margin-bottom: 12vw; } }
  .page .wholeinone-information-section .deferred-payment-wrap .bnr-wrap {
    width: 100%;
    color: #333;
    display: flex;
    align-items: center;
    border: 1px solid #E5E5E5;
    margin: 0 0 35px;
    padding: 25px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .bnr-wrap {
        flex-direction: column;
        margin-bottom: 6.67vw;
        padding: 10.7vw 4vw; } }
    .page .wholeinone-information-section .deferred-payment-wrap .bnr-wrap > div {
      height: 150px;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .deferred-payment-wrap .bnr-wrap > div {
          height: auto; } }
    .page .wholeinone-information-section .deferred-payment-wrap .bnr-wrap .left-wrap {
      flex-basis: 400px;
      max-width: 400px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .deferred-payment-wrap .bnr-wrap .left-wrap {
          width: 100%;
          flex-basis: 100%;
          max-width: 100%;
          padding-bottom: 10.7vw; } }
    .page .wholeinone-information-section .deferred-payment-wrap .bnr-wrap .right-wrap {
      flex-basis: calc(100% - 400px);
      max-width: calc(100% - 400px);
      border-left: 1px solid #E5E5E5;
      padding-left: 40px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .deferred-payment-wrap .bnr-wrap .right-wrap {
          width: 100%;
          flex-basis: 100%;
          max-width: 100%;
          border-top: 1px solid #E5E5E5;
          border-left: none;
          padding-top: 5.33vw;
          padding-left: 0; } }
  .page .wholeinone-information-section .deferred-payment-wrap .ttl {
    font-size: 3.8rem;
    font-weight: bold;
    text-align: center;
    display: flex;
    margin: 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .ttl {
        font-size: 9.8vw;
        white-space: nowrap; } }
    .page .wholeinone-information-section .deferred-payment-wrap .ttl .sub-ttl {
      width: 290px;
      height: 40px;
      font-size: 1.6rem;
      font-weight: bold;
      color: #1b1464;
      margin-bottom: 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #a5d0ef;
      border-radius: 20px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .deferred-payment-wrap .ttl .sub-ttl {
          width: 100%;
          font-size: 4.27vw;
          height: 10.7vw;
          border-radius: 5.33vw;
          margin-bottom: 4vw; } }
  .page .wholeinone-information-section .deferred-payment-wrap .txt {
    font-size: 2.2rem;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .txt {
        font-size: 4.8vw;
        line-height: 1.39;
        text-align: center; } }
  .page .wholeinone-information-section .deferred-payment-wrap .btn-more {
    width: 210px;
    height: 50px;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
    background: linear-gradient(45deg, #4EA2CC 0%, #7CC5D6 25%, #7CC5D6 51%, #00A9C5 100%);
    background-position: 1% 50%;
    background-size: 200% auto;
    border-radius: 10px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .btn-more {
        width: 100%;
        height: 13.3vw;
        margin-top: 5.33vw;
        padding: 0; } }
    .page .wholeinone-information-section .deferred-payment-wrap .btn-more:hover {
      opacity: 1;
      color: #fff;
      background-position: 99% 50%; }
  .page .wholeinone-information-section .deferred-payment-wrap .melit-list {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .melit-list {
        flex-direction: column;
        margin-bottom: 8vw; } }
  .page .wholeinone-information-section .deferred-payment-wrap .melit-list-item {
    height: 50px;
    flex-basis: calc((100% - 30px)/3);
    max-width: calc((100% - 30px)/3);
    font-size: 2.2rem;
    color: #fff;
    font-weight: bold;
    background: #0071bb;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .melit-list-item {
        height: auto;
        flex-basis: 100%;
        max-width: 100%;
        font-size: 5.87vw;
        align-items: baseline;
        margin-bottom: 4vw;
        padding: 4vw 0; }
        .page .wholeinone-information-section .deferred-payment-wrap .melit-list-item:last-child {
          margin-bottom: 0; } }
    .page .wholeinone-information-section .deferred-payment-wrap .melit-list-item .sub-txt {
      font-size: 1.8rem; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .deferred-payment-wrap .melit-list-item .sub-txt {
          font-size: 4.8vw; } }
  .page .wholeinone-information-section .deferred-payment-wrap .note-list {
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .note-list {
        margin-bottom: 13.3vw; } }
  .page .wholeinone-information-section .deferred-payment-wrap .note-list-item {
    font-size: 1.4rem;
    line-height: 1.79;
    letter-spacing: 0.14em;
    display: flex;
    align-items: baseline; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .note-list-item {
        text-align: justify; } }
  .page .wholeinone-information-section .deferred-payment-wrap .ttl-h4 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #7cc5d6;
    border-bottom: 1px solid #E6E6E6;
    margin-top: 80px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .ttl-h4 {
        line-height: 1.4;
        margin-top: 13.3vw;
        margin-bottom: 8vw;
        padding-bottom: 5.33vw; } }
    .page .wholeinone-information-section .deferred-payment-wrap .ttl-h4:before {
      content: "";
      width: 175px;
      height: 1px;
      background: #7cc5d6;
      position: absolute;
      bottom: -1px;
      left: 0; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .deferred-payment-wrap .ttl-h4:before {
          width: 26.7vw; } }
    .page .wholeinone-information-section .deferred-payment-wrap .ttl-h4:first-of-type {
      margin-top: 0; }
    .page .wholeinone-information-section .deferred-payment-wrap .ttl-h4 + .btn-more {
      width: 400px;
      margin: 0 auto 20px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .deferred-payment-wrap .ttl-h4 + .btn-more {
          width: 100%;
          margin-bottom: 5.33vw; } }
      .page .wholeinone-information-section .deferred-payment-wrap .ttl-h4 + .btn-more + .lead-txt {
        justify-content: center; }
  .page .wholeinone-information-section .deferred-payment-wrap ol {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 25px 0 30px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap ol {
        justify-content: space-between;
        margin: 6.67vw 0; } }
    .page .wholeinone-information-section .deferred-payment-wrap ol li {
      flex-basis: 175px;
      max-width: 175px;
      height: 25px;
      font-size: 1.2rem;
      font-weight: bold;
      color: #000;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-right: 10px;
      background: #e5e5e5;
      border-radius: 2px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .deferred-payment-wrap ol li {
          flex-basis: 100%;
          max-width: 100%;
          font-size: 3.2vw;
          margin-right: 0;
          border-radius: 0; } }
      .page .wholeinone-information-section .deferred-payment-wrap ol li:last-child {
        margin-right: 0; }
  .page .wholeinone-information-section .deferred-payment-wrap .lead-txt {
    display: flex;
    align-items: baseline; }
    .page .wholeinone-information-section .deferred-payment-wrap .lead-txt:last-of-type {
      margin-top: 30px; }
      @media screen and (max-width: 767px) {
        .page .wholeinone-information-section .deferred-payment-wrap .lead-txt:last-of-type {
          margin-top: 8vw; } }
  .page .wholeinone-information-section .deferred-payment-wrap .img-wrap {
    margin-top: 30px; }
    @media screen and (max-width: 767px) {
      .page .wholeinone-information-section .deferred-payment-wrap .img-wrap {
        width: calc(100% + 40px);
        margin-top: 8vw;
        margin-left: -15px; }
        .page .wholeinone-information-section .deferred-payment-wrap .img-wrap img {
          width: 653px; } }

/* !!------------------------------------ */
/* !! WHOLE IN ONE ｜ 特約店様一覧 */
.dealer-section .lead-txt {
  margin-bottom: 65px; }
  @media screen and (max-width: 767px) {
    .dealer-section .lead-txt {
      margin-bottom: 40px; } }
  .dealer-section .lead-txt a {
    color: #406eb6;
    text-decoration: underline; }
.dealer-section .pref-wrap {
  margin-bottom: 80px; }
  @media screen and (max-width: 767px) {
    .dealer-section .pref-wrap {
      margin-bottom: 10.7vw; } }
  .dealer-section .pref-wrap:last-of-type {
    margin-bottom: 0; }
  .dealer-section .pref-wrap .ttl-h3 {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    margin-bottom: 35px;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .dealer-section .pref-wrap .ttl-h3 {
        font-size: 5.3vw;
        margin-bottom: 8vw; } }
  .dealer-section .pref-wrap .ttl-h4 {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    color: #7cc5d6;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #E6E6E6;
    position: relative; }
    @media screen and (max-width: 767px) {
      .dealer-section .pref-wrap .ttl-h4 {
        font-size: 4.8vw;
        line-height: 1.4;
        text-align: justify; } }
    .dealer-section .pref-wrap .ttl-h4:after {
      content: "";
      width: 175px;
      height: 1px;
      background: #7cc5d6;
      position: absolute;
      bottom: -1px;
      left: 0; }
      @media screen and (max-width: 767px) {
        .dealer-section .pref-wrap .ttl-h4:after {
          width: 26.7vw; } }
  .dealer-section .pref-wrap .dealer-list {
    margin-bottom: 60px; }
    .dealer-section .pref-wrap .dealer-list:last-of-type {
      margin-bottom: 0; }
  .dealer-section .pref-wrap .dealer-list-item {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .dealer-section .pref-wrap .dealer-list-item {
        font-size: 4.2vw;
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 15px; }
        .dealer-section .pref-wrap .dealer-list-item:last-child {
          margin-bottom: 0; } }
  .dealer-section .pref-wrap .ttl {
    flex-basis: 6.2em;
    max-width: 6.2em;
    white-space: nowrap;
    margin-right: 40px; }
    @media screen and (max-width: 767px) {
      .dealer-section .pref-wrap .ttl {
        font-weight: bold;
        flex-basis: 100%;
        max-width: 100%;
        margin-right: 0; } }

/* !!------------------------------------ */
/* !! e-sida beauty */
.en-font {
  font-family: "montserrat", sans-serif;
  font-style: normal; }

.page .esodafeature-section.e-sodabeauty {
  margin-bottom: 0;
  padding-bottom: 125px; }
  @media screen and (max-width: 767px) {
    .page .esodafeature-section.e-sodabeauty {
      margin-top: 50px;
      padding-top: 50px; }
      .page .esodafeature-section.e-sodabeauty:after {
        height: 100%; }
      .page .esodafeature-section.e-sodabeauty .ttl-h2 img {
        width: 70%; } }
  .page .esodafeature-section.e-sodabeauty .lead-txt {
    font-size: 2.2rem;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.e-sodabeauty .lead-txt {
        font-size: 4.8vw;
        margin-bottom: 8vw; } }
  .page .esodafeature-section.e-sodabeauty .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 150px;
    margin-bottom: 45px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.e-sodabeauty .wrap {
        flex-direction: column;
        margin-top: 13.3333333333vw;
        margin-bottom: 13.3333333333vw;
        padding: 10.6666666667vw 5.3333333333vw; } }
    .page .esodafeature-section.e-sodabeauty .wrap:after {
      content: "";
      width: 1200px;
      height: 100%;
      background: #fff;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
      position: absolute;
      top: 0;
      left: -110px;
      z-index: -1; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .wrap:after {
          width: 100%;
          left: 0; } }
    .page .esodafeature-section.e-sodabeauty .wrap .txt-wrap {
      flex-basis: 490px;
      max-width: 490px; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .wrap .txt-wrap {
          flex-basis: 100%;
          max-width: 100%; } }
      .page .esodafeature-section.e-sodabeauty .wrap .txt-wrap .lead-txt {
        width: 100%; }
    .page .esodafeature-section.e-sodabeauty .wrap .img-wrap {
      flex-basis: 562px;
      max-width: 562px;
      margin-right: -110px;
      border-radius: 0;
      position: static; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .wrap .img-wrap {
          flex-basis: 100%;
          max-width: 100%;
          margin-right: 0; } }
    .page .esodafeature-section.e-sodabeauty .wrap .ttl-h3 {
      font-size: 2.2rem;
      font-weight: bold;
      line-height: 1.8;
      text-align: left;
      margin-bottom: 20px; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .wrap .ttl-h3 {
          font-size: 4.8vw;
          margin-bottom: 5.3333333333vw; } }
    .page .esodafeature-section.e-sodabeauty .wrap .lead-txt {
      font-size: 1.4rem;
      font-weight: normal;
      line-height: 1.8;
      letter-spacing: 0.06em;
      text-align: justify; }
  .page .esodafeature-section.e-sodabeauty .btn-more {
    width: 452px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.e-sodabeauty .btn-more {
        width: 100%; } }
  .page .esodafeature-section.e-sodabeauty .movie-wrap {
    margin: 100px auto 90px; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.e-sodabeauty .movie-wrap {
        margin: 13.3333333333vw 0 8vw; } }
    .page .esodafeature-section.e-sodabeauty .movie-wrap iframe {
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .movie-wrap iframe {
          height: 48.8vw; } }
    .page .esodafeature-section.e-sodabeauty .movie-wrap + .lead-txt {
      width: 100%;
      text-align: center;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .movie-wrap + .lead-txt {
          margin-bottom: 5.3333333333vw; } }
  .page .esodafeature-section.e-sodabeauty .bnr-cv {
    width: 100%;
    height: 100%;
    display: block; }
  .page .esodafeature-section.e-sodabeauty .agency-wrap {
    margin-top: 55px; }
    @media screen and (max-width: 767px) {
      .page .esodafeature-section.e-sodabeauty .agency-wrap {
        margin-top: 13.3333333333vw; } }
    .page .esodafeature-section.e-sodabeauty .agency-wrap .icon-wrap {
      font-size: 2rem;
      font-weight: bold;
      color: #642116;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .agency-wrap .icon-wrap {
          font-size: 4.2666666667vw;
          margin-bottom: 4vw; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .icon-wrap img {
        display: block;
        margin: 0 auto 15px; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .icon-wrap img {
            width: 40vw;
            margin-bottom: 2.6666666667vw; } }
    .page .esodafeature-section.e-sodabeauty .agency-wrap .lead-txt {
      width: 100%;
      text-align: center;
      margin-bottom: 60px; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .agency-wrap .lead-txt {
          font-size: 3.7333333333vw;
          margin-bottom: 8vw; } }
    .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list {
      display: flex;
      justify-content: space-between;
      margin-top: 0; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list {
          width: 100vw;
          margin-left: -25px; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list:before {
        width: 2px;
        height: 30px;
        border-right: 1px dashed #AE5526;
        background: none;
        position: absolute;
        top: -45px;
        left: calc(50% - 1px);
        transform: translate(-50%, 0); }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list:before {
            content: none; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list:after {
        content: "";
        width: 1px;
        height: 100%;
        background: #DBDCDC;
        position: absolute;
        bottom: 0;
        left: 50%; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list:after {
            content: none; } }
    .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item {
      flex-basis: calc((100% - 70px)/2);
      max-width: calc((100% - 70px)/2);
      height: auto;
      font-size: 3.6rem;
      font-weight: bold;
      letter-spacing: normal;
      border-bottom: none;
      padding-top: 30px;
      padding-bottom: 20px;
      position: relative;
      cursor: auto; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item {
          flex-basis: 50%;
          max-width: 50%;
          font-size: 5.3333333333vw;
          padding: 4vw 0;
          cursor: pointer; }
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.active {
            border: none; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item:before {
        content: "";
        width: 1px;
        height: 30px;
        border-right: 1px dashed #AE5526;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(0, -50%); }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item:before {
            content: none; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item:after {
        content: "";
        width: calc(50% + 35px);
        height: 1px;
        border-top: 1px dashed #AE5526;
        position: absolute;
        top: -15px; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item:after {
            content: none; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-purchase {
        color: #C07A67; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-purchase {
            border-right: 1px solid #DBDCDC; } }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-purchase:after {
          left: 50%; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-purchase.active:before, .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-purchase.select:before {
            content: "";
            width: 100%;
            height: 0.8vw;
            background: #C07A67;
            position: absolute;
            top: 0;
            left: 0; }
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-purchase.active:after, .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-purchase.select:after {
            content: "";
            width: 100%;
            height: 1px;
            background: #DBDCDC;
            border: none;
            position: absolute;
            top: auto;
            bottom: 0;
            left: calc(50vw + 50%);
            transform: translateX(-50%); } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-ec {
        color: #6184A5; }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-ec:after {
          right: 50%; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-ec.active:before {
            content: "";
            width: 100%;
            height: 0.8vw;
            background: #6184A5;
            position: absolute;
            top: 0;
            left: 0; }
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-list-item.plan-ec.active:after {
            content: "";
            width: 100%;
            height: 1px;
            background: #DBDCDC;
            border: none;
            position: absolute;
            top: auto;
            bottom: 0;
            right: calc(50vw - 50%);
            transform: translateX(-50%); } }
    .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-area {
      display: flex;
      justify-content: space-between;
      margin-bottom: 35px; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-area {
          padding-top: 5.3333333333vw;
          margin-bottom: 8vw; } }
    .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item {
      flex-basis: calc((100% - 70px)/2);
      max-width: calc((100% - 70px)/2);
      display: block;
      padding-top: 0;
      position: relative; }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item {
          flex-basis: 100%;
          max-width: 100%; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item:first-of-type:after {
        content: "";
        width: 1px;
        height: 100%;
        background: #DBDCDC;
        position: absolute;
        top: 0;
        right: -36px; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item:first-of-type:after {
            content: none; } }
      @media screen and (max-width: 767px) {
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item {
          display: none; }
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.active {
            display: block; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.purchase-wrap {
        color: #C07A67; }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.purchase-wrap .num-txt {
          background: #C07A67; }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.purchase-wrap .ttl {
          color: #642116; }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.purchase-wrap .merit-wrap {
          background: #C07A67; }
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.purchase-wrap .merit-wrap .ttl {
            color: #C07A67; }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.ec-wrap {
        color: #6184A5; }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.ec-wrap .num-txt {
          background: #93ABC5; }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.ec-wrap .merit-wrap {
          background: #93ABC5; }
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item.ec-wrap .merit-wrap .ttl {
            color: #93ABC5; }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .lead-txt {
        font-size: 1.4em;
        color: #333;
        text-align: justify;
        letter-spacing: -0.1em;
        margin-bottom: 35px; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .lead-txt {
            font-size: 3.7333333333vw;
            letter-spacing: normal;
            margin-bottom: 5.3333333333vw; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list {
        display: flex;
        flex-direction: column; }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item {
        text-align: center;
        margin-bottom: 60px;
        position: relative; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item {
            margin-bottom: 16vw; }
            .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item:first-child img {
              width: 22.6666666667vw; }
            .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item:nth-child(2) img {
              width: 43.4666666667vw; } }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item:after {
          content: "";
          width: 15px;
          height: 15px;
          border-right: 1px solid #333;
          border-bottom: 1px solid #333;
          position: absolute;
          bottom: -30px;
          left: 50%;
          transform: translate(-50%, 0) rotate(45deg); }
          @media screen and (max-width: 767px) {
            .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item:after {
              width: 4vw;
              height: 4vw;
              bottom: -8vw; } }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item:last-child {
          margin-bottom: 0; }
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item:last-child:after {
            content: none; }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item .num-txt {
          width: 50px;
          height: 50px;
          font-size: 2rem;
          font-weight: 700;
          color: #fff;
          border-radius: 50%;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          margin: 0 auto 20px; }
          @media screen and (max-width: 767px) {
            .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item .num-txt {
              width: 13.3333333333vw;
              height: 13.3333333333vw;
              font-size: 5.3333333333vw;
              margin-bottom: 2.6666666667vw; } }
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item .num-txt span {
            font-size: 1rem;
            font-weight: 600; }
            @media screen and (max-width: 767px) {
              .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item .num-txt span {
                font-size: 2.6666666667vw; } }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item .ttl {
          font-size: 2rem;
          line-height: 1.35;
          font-weight: bold;
          letter-spacing: -0.05em; }
          @media screen and (max-width: 767px) {
            .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item .ttl {
              font-size: 4.8vw;
              letter-spacing: normal; } }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item img {
          margin-top: 20px; }
          @media screen and (max-width: 767px) {
            .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item img {
              margin-top: 5.3333333333vw; } }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item .txt {
          font-size: 1.4rem;
          color: #333;
          line-height: 1.4;
          font-weight: bold;
          margin-top: 20px; }
          @media screen and (max-width: 767px) {
            .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .step-list-item .txt {
              font-size: 3.7333333333vw;
              line-height: 1.6;
              margin-top: 5.3333333333vw; } }
      .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .merit-wrap {
        width: 100%;
        height: 140px;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 45px;
        position: relative; }
        @media screen and (max-width: 767px) {
          .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .merit-wrap {
            height: auto;
            margin-top: 13.3333333333vw;
            padding: 10.6666666667vw 5.3333333333vw; } }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .merit-wrap .ttl {
          width: 105px;
          height: 30px;
          font-size: 1.8rem;
          font-weight: bold;
          display: flex;
          align-items: center;
          justify-content: center;
          background: #FAFAFA;
          border-radius: 2px;
          position: absolute;
          top: -15px;
          left: 50%;
          transform: translate(-50%, 0); }
          @media screen and (max-width: 767px) {
            .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .merit-wrap .ttl {
              width: 26.6666666667vw;
              height: 8vw;
              font-size: 4.2666666667vw;
              border-radius: 0.5333333333vw;
              top: -4vw; } }
        .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .merit-wrap .txt {
          font-size: 2rem;
          font-weight: bold; }
          @media screen and (max-width: 767px) {
            .page .esodafeature-section.e-sodabeauty .agency-wrap .tab-item .merit-wrap .txt {
              font-size: 4.2666666667vw;
              line-height: 1.6;
              text-align: justify; } }

/* !!------------------------------------ */
/* !! WHOLE IN ONE */
.wholeinone .ttl-wrap {
  position: relative; }
  .wholeinone .ttl-wrap img {
    position: absolute;
    top: 15px;
    right: 50px; }
    @media screen and (max-width: 767px) {
      .wholeinone .ttl-wrap img {
        width: 24vw;
        height: auto;
        top: 21.3333333333vw;
        right: 0; } }
.wholeinone .radio-wrap {
  padding-top: 50px; }
  .wholeinone .radio-wrap .ttl-h3 {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .wholeinone .radio-wrap .ttl-h3 {
        font-size: 4.8vw;
        line-height: 1.6;
        margin-bottom: 5.3333333333vw; } }
  .wholeinone .radio-wrap .radio-list {
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .wholeinone .radio-wrap .radio-list {
        flex-direction: column; } }
  .wholeinone .radio-wrap .radio-list-item {
    flex-basis: 325px;
    max-width: 325px; }
    @media screen and (max-width: 767px) {
      .wholeinone .radio-wrap .radio-list-item {
        flex-basis: 100%;
        max-width: 100%; } }
    @media screen and (min-width: 768px) {
      .wholeinone .radio-wrap .radio-list-item audio {
        width: 100%; } }
    .wholeinone .radio-wrap .radio-list-item:last-child {
      margin-left: 40px; }
      @media screen and (max-width: 767px) {
        .wholeinone .radio-wrap .radio-list-item:last-child {
          margin-top: 4vw;
          margin-left: 0; } }
    .wholeinone .radio-wrap .radio-list-item p {
      font-size: 1.4rem; }
      @media screen and (max-width: 767px) {
        .wholeinone .radio-wrap .radio-list-item p {
          font-size: 3.2vw;
          line-height: 1.4; } }

/* !!------------------------------------ */
/* !! SUSTINABILITY */
.sustinability .main-visual-section {
  height: 300px; }
  @media screen and (max-width: 767px) {
    .sustinability .main-visual-section {
      height: 45.3vw; } }
@media screen and (max-width: 767px) {
  .sustinability .main-visual-wrap .ttl-h2 {
    white-space: normal; }
    .sustinability .main-visual-wrap .ttl-h2 span {
      margin-top: 2.6666666667vw;
      margin-left: 0; }
      .sustinability .main-visual-wrap .ttl-h2 span img {
        width: 53.3333333333vw; } }
.sustinability .main-visual-wrap .ttl-h2 .sub-ttl {
  display: inline-block;
  vertical-align: middle; }
.sustinability .main-visual-wrap .sub-ttl {
  margin-bottom: 60px; }
.sustinability .main-visual-wrap .wave {
  transform: translate(-50%, 0); }
  .sustinability .main-visual-wrap .wave .txt-wrap {
    max-width: 100%; }
    .sustinability .main-visual-wrap .wave .txt-wrap:after {
      content: none; }
.sustinability .sustinability-section {
  padding-top: 0;
  padding-bottom: 260px; }
  @media screen and (max-width: 767px) {
    .sustinability .sustinability-section {
      padding-bottom: 33.3333333333vw; } }
  .sustinability .sustinability-section .ttl-h2 {
    font-size: 2.8rem;
    font-family: yu-gothic-pr6n, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color: #fff;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .sustinability .sustinability-section .ttl-h2 {
        font-size: 5.3333333333vw;
        margin-bottom: 8vw; } }
  .sustinability .sustinability-section .wrap {
    background-color: #fff;
    border-radius: 40px;
    padding: 70px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); }
    @media screen and (max-width: 767px) {
      .sustinability .sustinability-section .wrap {
        border-radius: 5.3333333333vw;
        padding: 5.3333333333vw;
        box-shadow: 0 0 5.3333333333vw rgba(0, 0, 0, 0.2); } }
  .sustinability .sustinability-section .lead-txt {
    width: 100%;
    font-size: 2.4rem;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.02em;
    margin-bottom: 45px; }
    @media screen and (max-width: 767px) {
      .sustinability .sustinability-section .lead-txt {
        font-size: 4.8vw;
        line-height: 1.6;
        margin-bottom: 8vw; } }
  .sustinability .sustinability-section .sustinability-list {
    display: flex;
    justify-content: center;
    margin-bottom: 100px; }
    @media screen and (max-width: 767px) {
      .sustinability .sustinability-section .sustinability-list {
        margin-bottom: 13.3333333333vw; } }
  .sustinability .sustinability-section .sustinability-list-item {
    flex-basis: 294px;
    max-width: 294px; }
    @media screen and (max-width: 767px) {
      .sustinability .sustinability-section .sustinability-list-item {
        flex-basis: calc((100% - 25px)/2);
        max-width: calc((100% - 25px)/2); } }
    .sustinability .sustinability-section .sustinability-list-item:last-child {
      margin-left: 70px; }
      @media screen and (max-width: 767px) {
        .sustinability .sustinability-section .sustinability-list-item:last-child {
          margin-left: 25px; } }
  .sustinability .sustinability-section .ttl-h3 {
    font-size: 2rem;
    font-weight: bold;
    color: #00a6d9;
    text-align: left;
    margin-bottom: 20px; }
    .sustinability .sustinability-section .ttl-h3 .en-font {
      font-size: 1.4rem;
      font-weight: normal;
      margin-left: 15px; }
    .sustinability .sustinability-section .ttl-h3 .slide-in_inner {
      display: flex;
      align-items: center; }
  .sustinability .sustinability-section .pdf-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .sustinability .sustinability-section .pdf-list {
        flex-direction: column;
        margin-bottom: 40px; } }
  .sustinability .sustinability-section .pdf-list-item {
    flex-basis: calc((100% - 15px)/2);
    max-width: calc((100% - 15px)/2);
    height: 65px;
    background-color: #e5e5e5;
    border-radius: 10px; }
    @media screen and (max-width: 767px) {
      .sustinability .sustinability-section .pdf-list-item {
        flex-basis: 100%;
        max-width: 100%;
        height: 16vw;
        margin-bottom: 2.6666666667vw;
        border-radius: 1.3333333333vw; }
        .sustinability .sustinability-section .pdf-list-item:last-child {
          margin-bottom: 0; } }
    .sustinability .sustinability-section .pdf-list-item a {
      width: 100%;
      height: 100%;
      font-size: 1.8rem;
      font-weight: bold;
      display: flex;
      align-items: center;
      padding: 0 30px;
      white-space: nowrap; }
      @media screen and (max-width: 767px) {
        .sustinability .sustinability-section .pdf-list-item a {
          font-size: 3.7333333333vw;
          line-height: 1.4;
          padding: 0 4vw;
          white-space: normal; } }
      .sustinability .sustinability-section .pdf-list-item a:before {
        content: "";
        width: 25px;
        height: 25px;
        margin-right: 10px;
        background-image: url(../img/icon-pdf.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: center center; }
        @media screen and (max-width: 767px) {
          .sustinability .sustinability-section .pdf-list-item a:before {
            width: 5.3333333333vw;
            height: 5.3333333333vw;
            margin-right: 2.6666666667vw; } }
    .sustinability .sustinability-section .pdf-list-item:nth-child(n + 3) {
      margin-top: 20px; }
      @media screen and (max-width: 767px) {
        .sustinability .sustinability-section .pdf-list-item:nth-child(n + 3) {
          margin-top: 0; } }

/* !!------------------------------------ */
/* !! 図面ダウンロードカラーイメージ */
.page .drawing-section .main-contents .color-img {
  margin-top: 50px;
  padding-bottom: 40px; }
  @media screen and (max-width: 767px) {
    .page .drawing-section .main-contents .color-img {
      margin-top: 0;
      padding-bottom: 5.3333333333vw; } }
  .page .drawing-section .main-contents .color-img .ttl {
    font-size: 2.4rem;
    color: #7cc5d6;
    font-weight: bold;
    margin-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .page .drawing-section .main-contents .color-img .ttl {
        font-size: 4.8vw;
        margin-bottom: 5.3333333333vw; } }
.page .drawing-section .main-contents .color-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
.page .drawing-section .main-contents .color-list-item {
  flex-basis: calc((100% - 40px)/5);
  max-width: calc((100% - 40px)/5); }
  @media screen and (max-width: 767px) {
    .page .drawing-section .main-contents .color-list-item {
      flex-basis: calc((100% - 20px)/3);
      max-width: calc((100% - 20px)/3); } }
  .page .drawing-section .main-contents .color-list-item:nth-child(n + 6) {
    margin-top: 10px; }
  @media screen and (max-width: 767px) {
    .page .drawing-section .main-contents .color-list-item:nth-child(n + 4) {
      margin-top: 10px; } }

/*# sourceMappingURL=main.css.map */