@font-face {
  font-family: "sans";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/notosans/NotoSansJP-Light.otf");
  src: url("../fonts/notosans/NotoSansJP-Light.woff2") format("woff"),url("../fonts/notosans/NotoSansJP-Light.ttf") format("truetype")
}

@font-face {
  font-family: "sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/notosans/NotoSansJP-Regular.otf");
  src: url("../fonts/notosans/NotoSansJP-Regular.woff2") format("woff"),url("../fonts/notosans/NotoSansJP-Regular.ttf") format("truetype")
}

@font-face {
  font-family: "sans";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/notosans/NotoSansJP-Medium.otf");
  src: url("../fonts/notosans/NotoSansJP-Medium.woff2") format("woff"),url("../fonts/notosans/NotoSansJP-Medium.ttf") format("truetype")
}

@font-face {
  font-family: "sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/notosans/NotoSansJP-Bold.otf");
  src: url("../fonts/notosans/NotoSansJP-Bold.woff2") format("woff"),url("../fonts/notosans/NotoSansJP-Bold.ttf") format("truetype")
}

@font-face {
  font-family: "sans";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/notosans/NotoSansJP-Regular.otf");
  src: url("../fonts/notosans/NotoSansJP-Regular.woff2") format("woff"),url("../fonts/notosans/NotoSansJP-Regular.ttf") format("truetype")
}

.sans {
  font-family: "sans",sans-serif
}

.c-white {
  color: #fff !important
}

.c-black {
  color: #595757 !important
}

.c-blue {
  color: #144aa6 !important
}

.c-yellow {
  color: #fff582 !important
}

.c-red {
  color: #eb6d56 !important
}

.c-green {
  color: #c4d700 !important
}

.c-orange {
  color: #ff9020 !important
}

.c-gray {
  color: #000 !important
}

.bg-white {
  background-color: #fff !important
}

.bg-black {
  background-color: #595757 !important
}

.bg-blue {
  background-color: #144aa6 !important
}

.bg-yellow {
  background-color: #fff582 !important
}

.bg-red {
  background-color: #eb6d56 !important
}

.bg-green {
  background-color: #c4d700 !important
}

.bg-orange {
  background-color: #ff9020 !important
}

.bg-gray {
  background-color: #000 !important
}

.bc-white {
  border-color: #fff !important
}

.bc-black {
  border-color: #595757 !important
}

.bc-blue {
  border-color: #144aa6 !important
}

.bc-yellow {
  border-color: #fff582 !important
}

.bc-red {
  border-color: #eb6d56 !important
}

.bc-green {
  border-color: #c4d700 !important
}

.bc-orange {
  border-color: #ff9020 !important
}

.bc-gray {
  border-color: #000 !important
}

html {
  font-size: 62.5%;
  font-family: "sans",sans-serif;
  color: #000
}

html * {
  box-sizing: border-box
}

body.fixed {
  overflow: hidden
}

a,li,dd,dt,th,td {
  font-size: 1.6rem;
  line-height: 1.7
}

p {
  font-size: 1.4rem;
  line-height: 1.7
}

.sp {
  display: none !important
}

img {
  max-width: 100%;
  pointer-events: none
}

.block {
  display: block
}

.inline-block {
  display: inline-block
}

.pc_block {
  display: block
}

.container {
  overflow: hidden
}

.lwrap {
  max-width: 1150px;
  margin: auto
}

.tel a {
  pointer-events: none
}

.fl-l {
  float: left
}

.fl-r {
  float: right
}

.clearfix::after {
  content: "";
  display: block;
  clear: both
}

.alignCenter {
  text-align: center
}

.alignLeft {
  text-align: left
}

.alignRight {
  text-align: right
}

.flex {
  display: flex!important
}

.flex.col-2 {
  flex-wrap: wrap
}

.flex.col-2 .item {
  width: 48%;
  margin-right: 4%
}

.flex.col-2 .item:nth-child(2n) {
  margin-right: 0
}

.flex.col-3 {
  flex-wrap: wrap
}

.flex.col-3 .item {
  width: 32%;
  margin-right: 2%
}

.flex.col-3 .item:nth-child(3n) {
  margin-right: 0
}

.flex.col-4 {
  flex-wrap: wrap
}

.flex.col-4 .item {
  width: 23.5%;
  margin-right: 2%
}

.flex.col-4 .item:nth-child(4n) {
  margin-right: 0
}

.flex.col-5 {
  flex-wrap: wrap
}

.flex.col-5 .item {
  width: 18.4%;
  margin-right: 2%
}

.flex.col-5 .item:nth-child(5n) {
  margin-right: 0
}

.border-solid-top {
  border-top: 1px solid #000
}

.border-solid-left {
  border-left: 1px solid #000
}

.border-solid-right {
  border-right: 1px solid #000
}

.border-solid-bottom {
  border-bottom: 1px solid #000
}

.border-dashed-top {
  border-top: 1px dashed #000
}

.border-dashed-left {
  border-left: 1px dashed #000
}

.border-dashed-right {
  border-right: 1px dashed #000
}

.border-dashed-bottom {
  border-bottom: 1px dashed #000
}

.border-dotted-top {
  border-top: 1px dotted #000
}

.border-dotted-left {
  border-left: 1px dotted #000
}

.border-dotted-right {
  border-right: 1px dotted #000
}

.border-dotted-bottom {
  border-bottom: 1px dotted #000
}

.circle {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  width: 10rem;
  height: 10rem;
  border-radius: 100%;
  background-color: #000;
  text-align: center;
  position: relative
}

.square {
  display: inline-block;
  width: 10rem;
  height: 10rem;
  background-color: #000;
  text-align: center;
  position: relative
}

.square>span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%
}

.round-15 {
  border-radius: 1.5rem
}

.round-30 {
  border-radius: 3rem
}

.round-60 {
  border-radius: 6rem
}

.round-90 {
  border-radius: 9rem
}

.round-100 {
  border-radius: 100%
}

.b-shadow {
  box-shadow: .5rem .5rem .4rem rgba(0,0,0,.2)
}

.t-shadow {
  text-shadow: .43rem .43rem .323rem rgba(0,0,0,.6)
}

.marker-yellow {
  background: linear-gradient(transparent 0%, #fff582 0%);
  display: inline-block
}

.marker-green {
  background: linear-gradient(transparent 60%, #c4d700 60%);
  display: inline-block
}

@media screen and (max-width: 1180px) {
  .lwrap {
      margin:0 1.5rem
  }
}

@media screen and (max-width: 750px) {
  html {
      font-size:1.33333vw
  }

  p,a,li,dd,dt,th,td {
      font-size: 2.8rem
  }

  .pc {
      display: none !important
  }

  .sp {
      display: block !important
  }

  .tel a {
      pointer-events: auto
  }

  .lwrap {
      margin: 0;
  }
}

.header {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 990;
  transition: box-shadow .3s ease
}

.header.fixed {
  box-shadow: 0 3px 6px rgba(0,0,0,.16)
}

.header .lwrap {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.header-logo a {
  display: block;
  text-decoration: none;
  color: #595757;
  line-height: 1;
  padding: 1.85rem 0
}

.header-logo a img {
  width: 17.7rem
}

.header-navi {
  position: absolute;
  right: 24rem;
  top: 0;
  width: 42rem;
  height: 100%;
  display: flex;
  flex-wrap: wrap
}

.header-navi a {
  height: 100%;
  width: 50%;
  border-left: 1px solid #595757;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  text-decoration: none
}

.header-navi a:hover span {
  color: #c2d807
}

.header-navi a:hover .cls-1 {
  fill: #c2d807
}

.header-navi a.headee_navi01 svg {
  width: 3.2rem
}

.header-navi a.headee_navi02 svg {
  width: 2.9rem
}

.header-navi a i {
  display: block
}

.header-navi a i svg {
  margin: 0;
  vertical-align: text-bottom
}

.header-navi a .cls-1 {
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease
}

.header-navi a span {
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
  color: #595757;
  font-size: 1.5rem;
  letter-spacing: .025em;
  padding-left: 1.5rem
}

.header-shopbtn {
  width: 24rem;
  height: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #000;
  color: #fff;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none
}

.header-shopbtn:hover {
  opacity: .8
}

.header-shopbtn i {
  width: 3.1rem;
  height: 3.1rem
}

.header-shopbtn span {
  padding-left: 1.2rem;
  font-size: 1.4rem;
  letter-spacing: .025em
}

.nav-wrap {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  position: fixed;
  left: 0;
  top: -100vh;
  top: -100dvh;
  background-color: rgba(231,233,235,.9);
  padding: 11rem 3rem 9rem;
  box-sizing: border-box;
  overflow: scroll;
  z-index: 9;
  transition: .3s
}

.nav-wrap.active {
  top: 0
}

.nav-wrap-inner {
  display: flex;
  justify-content: center
}

.nav-logo {
  margin-right: 7rem
}

.nav-logo img {
  width: 28rem
}

_:-ms-lang(x)::-ms-backdrop,.nav-wrap {
  top: -100%
}

@media only screen and (max-width: 880px) {
  .header {
      margin-bottom:9.5rem
  }

  .header-logo a img {
      width: 26.4rem
  }

  .header-navi {
      background-color: #ebebec;
      position: absolute;
      right: 0;
      top: 100%;
      width: 100vw;
      height: 9.5rem
  }

  .header-navi a {
      border-left: none
  }

  .header-navi a.headee_navi01 svg {
      width: 3.8rem
  }

  .header-navi a.headee_navi02 {
      border-left: 1px solid #fff
  }

  .header-navi a.headee_navi02 svg {
      width: 3.6rem
  }

  .header-navi a span {
      font-size: 2.3rem;
      padding-left: 2rem
  }

  .header-shopbtn {
      width: 31rem
  }

  .header-shopbtn i {
      width: 3.4rem;
      height: 3.4rem
  }

  .header-shopbtn span {
      padding-left: 1.4rem;
      font-size: 2.5rem;
      letter-spacing: 0
  }

  .nav-logo {
      width: 100%;
      margin-right: 0;
      margin-bottom: 7.5rem
  }

  .nav-logo img {
      width: 46.8rem;
      margin-left: 6rem
  }

  .nav-wrap {
      padding: 16rem 3rem 12rem
  }

  .nav-wrap-inner {
      flex-wrap: wrap
  }

  .nav-menu {
      width: 100%;
      margin-top: 0;
      padding-left: 6rem
  }

  .nav-menu a {
      font-size: 3.2rem;
      padding: 2rem 0
  }

  .nav-btn {
      width: 12rem;
      height: 9.5rem
  }

  .nav-btn span {
      width: 5.5rem;
      height: .6rem
  }

  .nav-btn span:nth-of-type(1) {
      top: 2.8rem
  }

  .nav-btn span:nth-of-type(2) {
      top: 4.5rem
  }

  .nav-btn span:nth-of-type(3) {
      bottom: 2.8rem
  }

  .nav-btn.active span {
      width: 7rem
  }

  .nav-btn.active span:nth-of-type(1) {
      -webkit-transform: translateX(-50%) translateY(1.6rem) rotate(45deg);
      transform: translateX(-50%) translateY(1.6rem) rotate(45deg)
  }

  .nav-btn.active span:nth-of-type(2) {
      opacity: 0
  }

  .nav-btn.active span:nth-of-type(3) {
      -webkit-transform: translateX(-50%) translateY(-1.6rem) rotate(-45deg);
      transform: translateX(-50%) translateY(-1.6rem) rotate(-45deg)
  }
}

.footer {
  padding: 8rem 0 9rem
}

.footer-logo {
  text-align: center;
  margin-top: 7rem
}

.footer-logo img {
  width: 31rem
}

.footer .btn {
  text-align: center
}

.footer .btn a {
  text-decoration: none;
  background-color: #000;
  border-radius: 1rem;
  font-size: 2.6rem;
  text-align: center;
  color: #fff;
  padding: 5rem 0;
  max-width: 56rem;
  width: 100%;
  display: inline-block;
  position: relative
}

.footer .btn a::before {
  content: "";
  position: absolute;
  right: 8rem;
  top: 50%;
  width: 1.1rem;
  height: 1.1rem;
  border-top: .2rem solid #fff;
  border-right: .2rem solid #fff;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg)
}

.footer .btn a i {
  margin-right: 3rem;
  display: inline-block;
  line-height: 1;
  vertical-align: middle
}

.footer .btn a i img {
  width: 6.2rem
}

@media screen and (max-width: 750px) {
  .footer {
      padding:19rem 0 10rem
  }

  .footer-logo img {
      width: 39.3rem
  }

  .footer .btn a {
      font-size: 2.6rem;
      padding: 4.55rem 0
  }

  .footer .btn a::before {
      right: 4rem;
      width: 1.6rem;
      height: 1.6rem;
      border-top: .3rem solid #fff;
      border-right: .3rem solid #fff
  }

  .footer .btn a i {
      margin-left: 0rem
  }

  .footer .btn a i img {
      width: 5.2rem
  }
}

.animation span {
  opacity: 0
}

.animation span:nth-of-type(1) {
  animation-delay: 0s
}

.animation span:nth-of-type(2) {
  animation-delay: 0.1s
}

.animation span:nth-of-type(3) {
  animation-delay: 0.2s
}

.animation span:nth-of-type(4) {
  animation-delay: 0.3s
}

.animation span:nth-of-type(5) {
  animation-delay: 0.4s
}

.animation span:nth-of-type(6) {
  animation-delay: 0.5s
}

.animation span:nth-of-type(7) {
  animation-delay: 0.6s
}

.animation span:nth-of-type(8) {
  animation-delay: 0.7s
}

.animation span:nth-of-type(9) {
  animation-delay: 0.8s
}

.animation span:nth-of-type(10) {
  animation-delay: 0.9s
}

.animation span:nth-of-type(11) {
  animation-delay: 1s
}

.animation span:nth-of-type(12) {
  animation-delay: 1.1s
}

.animation span:nth-of-type(13) {
  animation-delay: 1.2s
}

.animation span:nth-of-type(14) {
  animation-delay: 1.3s
}

.animation span:nth-of-type(15) {
  animation-delay: 1.4s
}

.animation span:nth-of-type(16) {
  animation-delay: 1.5s
}

.animation.active span {
  animation-name: horizontalRotate;
  animation-fill-mode: forwards;
  animation-duration: 8s;
  animation-timing-function: cubic-bezier(0, 0.4, 0.3, 1)
}

.fadein {
  opacity: 0
}

.fadein.active {
  animation-name: fadein;
  animation-fill-mode: forwards;
  animation-duration: 3s
}

.fadein2 {
  opacity: 0
}

.fadein2.active {
  animation-name: fadein;
  animation-fill-mode: forwards;
  animation-duration: 5s
}

@keyframes horizontalRotate {
  0% {
      transform: translateY(36%);
      opacity: 0
  }

  50% {
      transform: translateY(0);
      opacity: 1
  }

  100% {
      transform: translateY(0);
      opacity: 1
  }
}

@keyframes fadein {
  0% {
      opacity: 0
  }

  100% {
      opacity: 1
  }
}

.mt-0 {
  margin-top: 0rem !important
}

.mb-0 {
  margin-bottom: 0rem !important
}

.mt-5 {
  margin-top: 0.5rem !important
}

.mb-5 {
  margin-bottom: 0.5rem !important
}

.mt-10 {
  margin-top: 1rem !important
}

.mb-10 {
  margin-bottom: 1rem !important
}

.mt-15 {
  margin-top: 1.5rem !important
}

.mb-15 {
  margin-bottom: 1.5rem !important
}

.mt-20 {
  margin-top: 2rem !important
}

.mb-20 {
  margin-bottom: 2rem !important
}

.mt-25 {
  margin-top: 2.5rem !important
}

.mb-25 {
  margin-bottom: 2.5rem !important
}

.mt-30 {
  margin-top: 3rem !important
}

.mb-30 {
  margin-bottom: 3rem !important
}

.mt-35 {
  margin-top: 3.5rem !important
}

.mb-35 {
  margin-bottom: 3.5rem !important
}

.mt-40 {
  margin-top: 4rem !important
}

.mb-40 {
  margin-bottom: 4rem !important
}

.mt-45 {
  margin-top: 4.5rem !important
}

.mb-45 {
  margin-bottom: 4.5rem !important
}

.mt-50 {
  margin-top: 5rem !important
}

.mb-50 {
  margin-bottom: 5rem !important
}

.mt-55 {
  margin-top: 5.5rem !important
}

.mb-55 {
  margin-bottom: 5.5rem !important
}

.mt-60 {
  margin-top: 6rem !important
}

.mb-60 {
  margin-bottom: 6rem !important
}

.mt-65 {
  margin-top: 6.5rem !important
}

.mb-65 {
  margin-bottom: 6.5rem !important
}

.mt-70 {
  margin-top: 7rem !important
}

.mb-70 {
  margin-bottom: 7rem !important
}

.mt-75 {
  margin-top: 7.5rem !important
}

.mb-75 {
  margin-bottom: 7.5rem !important
}

.mt-80 {
  margin-top: 8rem !important
}

.mb-80 {
  margin-bottom: 8rem !important
}

.mt-85 {
  margin-top: 8.5rem !important
}

.mb-85 {
  margin-bottom: 8.5rem !important
}

.mt-90 {
  margin-top: 9rem !important
}

.mb-90 {
  margin-bottom: 9rem !important
}

.mt-95 {
  margin-top: 9.5rem !important
}

.mb-95 {
  margin-bottom: 9.5rem !important
}

.mt-100 {
  margin-top: 10rem !important
}

.mb-100 {
  margin-bottom: 10rem !important
}

.mt-105 {
  margin-top: 10.5rem !important
}

.mb-105 {
  margin-bottom: 10.5rem !important
}

.mt-110 {
  margin-top: 11rem !important
}

.mb-110 {
  margin-bottom: 11rem !important
}

.mt-115 {
  margin-top: 11.5rem !important
}

.mb-115 {
  margin-bottom: 11.5rem !important
}

.mt-120 {
  margin-top: 12rem !important
}

.mb-120 {
  margin-bottom: 12rem !important
}

.mt-125 {
  margin-top: 12.5rem !important
}

.mb-125 {
  margin-bottom: 12.5rem !important
}

.mt-130 {
  margin-top: 13rem !important
}

.mb-130 {
  margin-bottom: 13rem !important
}

.mt-135 {
  margin-top: 13.5rem !important
}

.mb-135 {
  margin-bottom: 13.5rem !important
}

.mt-140 {
  margin-top: 14rem !important
}

.mb-140 {
  margin-bottom: 14rem !important
}

.mt-145 {
  margin-top: 14.5rem !important
}

.mb-145 {
  margin-bottom: 14.5rem !important
}

.mt-150 {
  margin-top: 15rem !important
}

.mb-150 {
  margin-bottom: 15rem !important
}

.pd-0 {
  padding: 0rem !important;
  box-sizing: border-box
}

.pd-5 {
  padding: 0.5rem !important;
  box-sizing: border-box
}

.pd-10 {
  padding: 1rem !important;
  box-sizing: border-box
}

.pd-15 {
  padding: 1.5rem !important;
  box-sizing: border-box
}

.pd-20 {
  padding: 2rem !important;
  box-sizing: border-box
}

.pd-25 {
  padding: 2.5rem !important;
  box-sizing: border-box
}

.pd-30 {
  padding: 3rem !important;
  box-sizing: border-box
}

.pd-35 {
  padding: 3.5rem !important;
  box-sizing: border-box
}

.pd-40 {
  padding: 4rem !important;
  box-sizing: border-box
}

.pd-45 {
  padding: 4.5rem !important;
  box-sizing: border-box
}

.pd-50 {
  padding: 5rem !important;
  box-sizing: border-box
}

.pd-55 {
  padding: 5.5rem !important;
  box-sizing: border-box
}

.pd-60 {
  padding: 6rem !important;
  box-sizing: border-box
}

.pd-65 {
  padding: 6.5rem !important;
  box-sizing: border-box
}

.pd-70 {
  padding: 7rem !important;
  box-sizing: border-box
}

.pd-75 {
  padding: 7.5rem !important;
  box-sizing: border-box
}

.pd-80 {
  padding: 8rem !important;
  box-sizing: border-box
}

.pd-85 {
  padding: 8.5rem !important;
  box-sizing: border-box
}

.pd-90 {
  padding: 9rem !important;
  box-sizing: border-box
}

.pd-95 {
  padding: 9.5rem !important;
  box-sizing: border-box
}

.pd-100 {
  padding: 10rem !important;
  box-sizing: border-box
}

.pd-105 {
  padding: 10.5rem !important;
  box-sizing: border-box
}

.pd-110 {
  padding: 11rem !important;
  box-sizing: border-box
}

.pd-115 {
  padding: 11.5rem !important;
  box-sizing: border-box
}

.pd-120 {
  padding: 12rem !important;
  box-sizing: border-box
}

.pd-125 {
  padding: 12.5rem !important;
  box-sizing: border-box
}

.pd-130 {
  padding: 13rem !important;
  box-sizing: border-box
}

.pd-135 {
  padding: 13.5rem !important;
  box-sizing: border-box
}

.pd-140 {
  padding: 14rem !important;
  box-sizing: border-box
}

.pd-145 {
  padding: 14.5rem !important;
  box-sizing: border-box
}

.pd-150 {
  padding: 15rem !important;
  box-sizing: border-box
}

.curve {
  position: relative;
  padding-top: 10vw
}

.curve::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateY(0%) translateX(-50%);
  background: #fff;
  width: 120%;
  height: 10vw;
  border-bottom-left-radius: 50% 100%;
  border-bottom-right-radius: 50% 100%
}

.videoposter {
  width: 58.4rem;
  margin: auto;
  cursor: pointer
}

.videoWrap-close {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 1
}

.videoWrap-popup {
  opacity: 0;
  z-index: -3;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0,0,0,.7);
  transition: .3s;
  display: flex;
  align-items: center;
  justify-content: center
}

.videoWrap-popup.active {
  opacity: 1;
  z-index: 99;
  pointer-events: auto
}

.videoWrap iframe {
  display: block;
  max-width: 70vw;
  max-height: 730px;
  width: 100%;
  height: 70vh;
  position: relative;
  z-index: 3
}

.table01 {
  margin: auto;
  color: #595757
}

.table01 tr:last-child th,.table01 tr:last-child td {
  border-bottom: none
}

.table01 th {
  background-color: #e8ebec;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  border-bottom: 1px solid #46423f;
  border-right: 1px solid #46423f;
  padding: 1.5rem
}

.table01 td {
  background-color: #f4f5f6;
  font-size: 1.8rem;
  font-weight: 500;
  border-bottom: 1px solid #46423f;
  padding: 1.5rem
}

.ttl01 {
  font-size: 4.4rem;
  font-weight: 300;
  text-align: center;
  padding-bottom: 2rem;
  position: relative
}

.ttl01::after {
  content: "";
  display: block;
  width: 3rem;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateY(0%) translateX(-50%)
}

.ttl01+.subttl01 {
  margin-top: 2rem
}

.ttl02 {
  font-size: 3.1rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: .05em
}

.ttl02 span {
  display: inline-block;
  padding: 1.8rem 0;
  border-top: 1px solid #595757;
  border-bottom: 1px solid #595757
}

.subttl01 {
  font-size: 3.1rem;
  font-weight: 500;
  line-height: 1.58;
  letter-spacing: .08em;
  text-align: center
}

.subttl01 .small {
  font-size: 2rem
}

.ttl-band {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  padding: 2rem 0;
  background-color: #c4d700
}

.cm-item01 {
  border: 2px solid #c4d700
}

.cm-item01-inner {
  padding: 4rem 4rem 0 4rem
}

.cm-item01 h4 {
  font-size: 2.6rem;
  line-height: 1.38;
  letter-spacing: .05em;
  font-weight: bold;
  margin-bottom: 2rem;
  border-left: none
}

.cm-item01 p {
  font-size: 1.8rem;
  line-height: 1.666666667;
  letter-spacing: .025em;
  padding-right: 1rem;
}

.cm-item01 p.alignRight {
  font-size: 1.4rem;
  margin: 2rem -2rem 1rem 0
}

.cont01 {
  background: #e6e9eb url("/img/usr/goods/keeps/keeps_lumbar_cushion/bg.png") repeat;
  background-size: auto;
  padding: 3rem;
  color: #595757
}

.cont01 {

}

.cont01 .subttl {
  font-size: 5.5rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.35;
  margin-bottom: 2.5rem;
  border-bottom: none;
}

.cont01 .subttl .small {
  font-size: 2.6rem;
  font-weight: bold;
  display: block
}

.cont01 .subttl .small2 {
  font-size: 1.6rem;
  font-weight: 400
}

.cont01 .subttl .small3 {
  font-size: 2.4rem;
  font-weight: 400;
  vertical-align: top;
  margin-top: 1rem;
  display: inline-block
}

.cont01 .spt_ttl {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .08em;
  background: #fff;
  border-radius: 4.25rem;
  height: 8rem;
  width: 38rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 auto;
  margin-top: 3rem;
  margin-bottom: 2.5rem
}

.cont01 .spt_txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .1em
}

.cont01 .logo {
  margin: 0 auto;
  margin-bottom: 9rem;
  width: 65.5rem
}

.cont01 .logo img {
  width: 100%
}

.cont01 .lwrap>.flex {
  justify-content: space-between;
  margin-bottom: 13rem
}

.cont01 .lwrap>.flex>.item {
  width: 48%
}

.cont01 .lwrap>.flex>.item:nth-child(1) p {
  text-align: center;
  font-size: 1.7rem;
  margin-top: 1rem;
  font-weight: bold;
}

.cont01 .lwrap>.flex>.item:nth-child(2) {
  width: 50%;
  margin-top: 3.5rem
}

.cont01 .lwrap>.flex>.item:nth-child(2) .flex {
  align-items: center;
  border: 2px dotted #595757;
  border-radius: 1rem;
  margin-bottom: 2.5rem
}

.cont01 .lwrap>.flex>.item:nth-child(2) .flex:last-of-type {
  margin-bottom: 0
}

.cont01 .lwrap>.flex>.item:nth-child(2) .flex .item:nth-child(1) {
  width: 18%;
  text-align: center
}

.cont01 .lwrap>.flex>.item:nth-child(2) .flex .item:nth-child(2) {
  width: 33.5%;
  margin-right: 7%
}

.cont01 .lwrap>.flex>.item:nth-child(2) .flex .item:nth-child(3) {
  width: 41.5%
}

.cont01 .lwrap>.flex>.item:nth-child(2) .num {
  font-size: 8.1rem;
  font-weight: 300;
}

.cont01 .lwrap>.flex>.item .ttl {
  background-color: #c4d700;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: .6rem
}

.cont01 .lwrap>.flex>.item .text {
  font-weight: bold;
}

.cont01 .bg-white {
  padding: 2rem;
}

.cont01 .cm-item01 {
  margin-bottom: 4rem;
}

.cont01 .cm-item01:last-of-type {
  margin-bottom: 0
}

.cont01 #application .cm-item01-inner {
  padding-bottom: 3rem
}

.cont01 #application .txt {
  width: 29rem
}

.cont01 #application .pic {
  margin-top: -6rem;
  width: 52.3rem;
  margin-left: auto;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between
}

.cont01 #application .pic>div {
  width: 25rem
}

.cont01 #application .pic p {
  font-size: 1.5rem;
  letter-spacing: -0.01em;
  text-align: center;
  font-weight: bold;
}

.cont01 #line .cm-item01-inner {
  padding-bottom: 3rem
}

.cont01 #line .txt {
  width: 30rem
}

.cont01 #line .pic {
  padding-top: 1rem;
  width: 59.3rem;
  margin-left: auto;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between
}

.cont01 #line .pic>div {
  width: 17.5rem;
  position: relative
}

.cont01 #line .pic .fukidashi {
  width: 29.5rem;
  height: 6.4rem;
  border-radius: 3.2rem;
  color: #fff;
  background-color: #e76d56;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.29;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  position: absolute;
  top: -8.7rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.cont01 #line .pic .fukidashi:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.5rem .9rem 0 .9rem;
  border-color: #e76d56 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
  position: absolute;
  bottom: -1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.cont01 #line .pic p {
  font-size: 1.5rem;
  letter-spacing: -0.01em;
  text-align: center;
  font-weight: bold;
}

.cont01 #line .pic p.kome {
  font-size: 1.3rem;
  line-height: 1.42;
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
  font-weight: bold;
}

.cont01 #balance .cm-item01-inner {
  padding-top: 6rem;
  padding-bottom: 3.5rem;
  position: relative
}

.cont01 #balance .alignright {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: .05em
}

.cont01 #balance .txt {
  width: 30rem
}

.cont01 #balance .pic {
  padding-top: 1rem;
  width: 59.3rem;
  margin-left: auto;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between
}

.cont01 #balance .pic>div {
  width: 15.5rem;
  position: relative
}

.cont01 #balance .pic>div.end {
  width: 2.3rem
}

.cont01 #balance .pic .fukidashi {
  width: 17rem;
  height: 5.3rem;
  border-radius: 2.65rem;
  color: #fff;
  background-color: #888;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.25;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  position: absolute;
  top: -6.4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.cont01 #balance .pic .fukidashi:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2rem 1rem 0 1rem;
  border-color: #888 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
  position: absolute;
  bottom: -1.6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.cont01 #balance .pic .fukidashi.red {
  background-color: #e76d56
}

.cont01 #balance .pic .fukidashi.red:before {
  border-color: #e76d56 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
}

.cont01 #balance .pic p {
  font-size: 1.5rem;
  line-height: 1.13;
  letter-spacing: -0.1em;
  text-align: center;
  white-space: nowrap;
  font-weight: bold;
}

.cont01 .measurement {
  background-color: #f7f9e4;
  padding: 6rem 8rem 7rem
}

.cont01 .measurement h4 {
  border: 2.5px solid #c4d700;
  position: relative;
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
  line-height: 1;
  letter-spacing: .05em;
  padding: 2rem 0;
  margin-bottom: 3rem
}

.cont01 .measurement h4 img {
  position: absolute;
  right: -9rem;
  top: -3.2rem;
  width: 22.1rem
}

.cont01 .measurement .flex {
  -webkit-justify-content: space-between;
  justify-content: space-between
}

.cont01 .measurement .item {
  width: 34rem
}

.cont01 .measurement .item:nth-child(1) {
  position: relative
}

.cont01 .measurement .item:nth-child(1)::after {
  content: "";
  display: block;
  position: absolute;
  right: -4.5rem;
  top: 50%;
  margin-top: -3.5rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.75rem 0 1.75rem 2.8rem;
  border-color: rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #c4d700
}

.cont01 .measurement .item h5 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: .05em;
  line-height: 1;
  padding-bottom: 1rem
}

.cont01 .measurement .item p {
  padding-top: 1rem;
  font-size: 1.8rem;
  line-height: 1.66
}

.cont02 {
  background-color: #c4d700;
  color: #595757;
  padding: 0rem 18px 18px;
}

.cont02 h2 {
  text-align: center;
  border-bottom: none;
  margin: 0;
  padding: 70px 0 10px 0
}

.cont02 h2 span {
  font-size: 3.1rem;
  letter-spacing: .05em;
  line-height: 1;
  margin-bottom: 6rem;
  padding: 2.8rem 0;
  border-top: 1px solid #595757;
  border-bottom: 1px solid #595757;
  display: inline-block;
  font-weight: bold;
}

.cont02 .bg-white {
  padding: 2.5rem 2rem 2rem 2.5rem;
}

.cont02 .bg-white .item {
  border-bottom: 1px solid #595757;
  padding-top: 4rem;
  padding-bottom: 4rem
}

.cont02 .bg-white .item:first-of-type {
  padding-top: 0
}

.cont02 .bg-white .item:first-of-type .txt {
  padding-top: 1rem
}

.cont02 .bg-white .item:nth-of-type(2) .txt {
  padding-top: .5rem
}

.cont02 .bg-white .item:nth-of-type(2) .pic {
  padding-top: 2rem
}

.cont02 .bg-white .item:nth-of-type(3) .txt {
  padding-top: 1.5rem
}

.cont02 .bg-white .item:last-of-type {
  padding-bottom: 0;
  border-bottom: none
}

.cont02 .bg-white .item:last-of-type .txt {
  padding-top: 1rem
}

.cont02 .bg-white .item .txt {
  width: 35rem
}

.cont02 .bg-white .item .txt h3 {
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 2rem;
  background: none;
  padding: 0;
}

.cont02 .bg-white .item .txt h3 i {
  margin-right: 2rem
}

.cont02 .bg-white .item .txt h3 i img {
  width: 8rem;
  height: auto
}

.cont02 .bg-white .item .txt h3 span {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .05em
}

.cont02 .bg-white .item .txt h3 span.small {
  font-size: 2.5rem
}

.cont02 .bg-white .item .txt p {
  font-size: 1.8rem;
  line-height: 1.666;
  letter-spacing: .03em;
  font-weight: bold;
}

.cont02 .bg-white .item .txt p.kome {
  font-size: 1.6rem;
  line-height: 1.375;
  padding-top: 1em;
  font-weight: 500;
}

.cont02 .bg-white .item .pic {
  margin-left: auto;
  padding-left: 3rem;
  width: 59rem;
  position: relative
}

.cont02 .bg-white .item .pic p {
  font-size: 2.3rem;
  font-weight: 500;
  letter-spacing: .05em;
  color: #fff;
  background-color: #e76d56;
  width: 29.3rem;
  height: 5rem;
  border-radius: 2.5rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  position: absolute;
  top: .5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.cont03 {
  padding: 14rem 0 0;
  color: #595757
}

.cont03 .ttl01 {
  margin-bottom: 9rem
}

.cont03 .ttl01 img {
  width: 36rem
}

.cont03 .flex {
  justify-content: space-between;
  margin-bottom: 2rem
}

.cont03 .flex .item p {
  text-align: center;
  font-size: 2.6rem;
  margin-top: 1rem
}

.cont03 .flex .item .item_btn {
  text-align: center;
  font-size: 1.8rem;
  padding: 1rem 0;
  line-height: 1;
  background: #000;
  color: #fff;
  width: 22rem;
  margin: 2rem auto 0;
  display: block;
  text-decoration: none;
  border-radius: .7rem;
  position: relative
}

.cont03 .flex .item .item_btn::before {
  content: "";
  position: absolute;
  right: 2.3rem;
  padding: 1rem 0;
  line-height: 1;
  top: 50%;
  width: 1rem;
  height: 1rem;
  border-top: .1rem solid #fff;
  border-right: .1rem solid #fff;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg)
}

.cont03 .alignCenter {
  padding-top: 4.5rem;
  padding-bottom: 8.5rem;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: .05em
}

.cont03 .table01 {
  width: 100%;
  max-width: 82.5rem
}

.ec-bnr {
  position: fixed;
  right: 0;
  bottom: 100px;
  z-index: 8;
  opacity: 0;
  transition: .5s
}

.ec-bnr.fixed {
  opacity: 1
}

.ec-bnr a {
  display: block
}

.ec-bnr img {
  width: 24rem
}

@media screen and (min-width: 751px)and (max-width: 1180px) {
  .cont01 #application .txt {
      width:24.5762711864vw
  }

  .cont01 #application .pic {
      margin-top: -1.2711864407vw;
      width: 49.1525423729vw
  }

  .cont01 #application .pic>div {
      width: 24.1525423729vw
  }

  .cont01 #application .pic p {
      font-size: 1.2711864407vw
  }

  .cont01 #line .txt {
      width: 25.4237288136vw
  }

  .cont01 #line .pic {
      padding-top: .8474576271vw;
      width: 50.2542372881vw
  }

  .cont01 #line .pic>div {
      width: 16.1016949153vw
  }

  .cont01 #line .pic .fukidashi {
      width: 25vw;
      height: 5.4237288136vw;
      border-radius: 2.7118644068vw;
      font-size: 1.4406779661vw;
      top: -7.3728813559vw
  }

  .cont01 #line .pic .fukidashi:before {
      border-width: 1.2711864407vw .7627118644vw 0 .7627118644vw;
      bottom: -.8474576271vw
  }

  .cont01 #line .pic p {
      font-size: 1.2711864407vw
  }

  .cont01 #line .pic p.kome {
      font-size: 1.186440678vw
  }

  .cont01 #balance .cm-item01-inner {
      padding-top: 5.0847457627vw;
      padding-bottom: 2.9661016949vw
  }

  .cont01 #balance .alignright {
      top: .8474576271vw;
      right: .8474576271vw;
      font-size: 1.186440678vw
  }

  .cont01 #balance .txt {
      width: 25.4237288136vw
  }

  .cont01 #balance .pic {
      padding-top: .8474576271vw;
      width: 50.2542372881vw
  }

  .cont01 #balance .pic>div {
      width: 14.8305084746vw
  }

  .cont01 #balance .pic>div.end {
      width: 2.2881355932vw
  }

  .cont01 #balance .pic .fukidashi {
      width: 15.2542372881vw;
      height: 4.4915254237vw;
      border-radius: 2.2457627119vw;
      font-size: 1.3559322034vw;
      top: -5.4237288136vw
  }

  .cont01 #balance .pic .fukidashi:before {
      border-width: 1.6949152542vw .8474576271vw 0 .8474576271vw;
      bottom: -1.3559322034vw
  }

  .cont01 #balance .pic p {
      font-size: 1.2711864407vw
  }

  .cont01 .measurement {
      padding: 5.0847457627vw 6.7796610169vw 5.9322033898vw
  }

  .cont01 .measurement h4 {
      font-size: 1.8644067797vw;
      padding: 1.6949152542vw 0;
      margin-bottom: 2.5423728814vw
  }

  .cont01 .measurement h4 img {
      right: -5.0847457627vw;
      top: -2.7118644068vw;
      width: 18.7288135593vw
  }

  .cont01 .measurement .item {
      width: 32.2033898305vw
  }

  .cont01 .measurement .item:nth-child(1):after {
      right: -4.6610169492vw;
      top: 6.5677966102vw;
      margin-top: 0;
      border-width: 1.4830508475vw 0 1.4830508475vw 2.3728813559vw
  }

  .cont02 .bg-white {
      padding: 3.813559322vw 5.9322033898vw 5.0847457627vw 5.5084745763vw
  }

  .cont02 .bg-white .item {
      padding-top: 3.3898305085vw;
      padding-bottom: 3.3898305085vw
  }

  .cont02 .bg-white .item:first-of-type {
      padding-top: 0
  }

  .cont02 .bg-white .item:first-of-type .txt {
      padding-top: .8474576271vw
  }

  .cont02 .bg-white .item:nth-of-type(2) .txt {
      padding-top: .4237288136vw
  }

  .cont02 .bg-white .item:nth-of-type(2) .pic {
      padding-top: 1.6949152542vw
  }

  .cont02 .bg-white .item:nth-of-type(3) .txt {
      padding-top: 1.2711864407vw
  }

  .cont02 .bg-white .item:last-of-type .txt {
      padding-top: .8474576271vw
  }

  .cont02 .bg-white .item .txt {
      width: 32.2033898305vw
  }

  .cont02 .bg-white .item .txt h3 i {
      margin-right: 1rem
  }

  .cont02 .bg-white .item .txt h3 i img {
      width: 5.5rem
  }

  .cont02 .bg-white .item .txt h3 span {
      font-size: 2.5rem
  }

  .cont02 .bg-white .item .txt h3 span.small {
      font-size: 2rem
  }

  .cont02 .bg-white .item .pic {
      width: 47.4576271186vw
  }

  .cont02 .bg-white .item .pic p {
      font-size: 1.9491525424vw;
      width: 24.8305084746vw;
      height: 4.2372881356vw;
      border-radius: 2.1186440678vw;
      top: .4237288136vw
  }

  .ec-bnr img {
      width: 20.3rem
  }
}

@media screen and (min-width: 751px)and (max-width: 940px) {
  .cm-item01-inner {
      padding:5rem 3rem 0 3rem
  }

  .cm-item01 h4 {
      font-size: 2.6rem
  }

  .ec-bnr img {
      width: 14rem
  }
}

@media screen and (max-width: 750px) {
  .sp-mt-0 {
      margin-top:0rem !important
  }

  .sp-mb-0 {
      margin-bottom: 0rem !important
  }

  .sp-mt-5 {
      margin-top: 0.5rem !important
  }

  .sp-mb-5 {
      margin-bottom: 0.5rem !important
  }

  .sp-mt-10 {
      margin-top: 1rem !important
  }

  .sp-mb-10 {
      margin-bottom: 1rem !important
  }

  .sp-mt-15 {
      margin-top: 1.5rem !important
  }

  .sp-mb-15 {
      margin-bottom: 1.5rem !important
  }

  .sp-mt-20 {
      margin-top: 2rem !important
  }

  .sp-mb-20 {
      margin-bottom: 2rem !important
  }

  .sp-mt-25 {
      margin-top: 2.5rem !important
  }

  .sp-mb-25 {
      margin-bottom: 2.5rem !important
  }

  .sp-mt-30 {
      margin-top: 3rem !important
  }

  .sp-mb-30 {
      margin-bottom: 3rem !important
  }

  .sp-mt-35 {
      margin-top: 3.5rem !important
  }

  .sp-mb-35 {
      margin-bottom: 3.5rem !important
  }

  .sp-mt-40 {
      margin-top: 4rem !important
  }

  .sp-mb-40 {
      margin-bottom: 4rem !important
  }

  .sp-mt-45 {
      margin-top: 4.5rem !important
  }

  .sp-mb-45 {
      margin-bottom: 4.5rem !important
  }

  .sp-mt-50 {
      margin-top: 5rem !important
  }

  .sp-mb-50 {
      margin-bottom: 5rem !important
  }

  .sp-mt-55 {
      margin-top: 5.5rem !important
  }

  .sp-mb-55 {
      margin-bottom: 5.5rem !important
  }

  .sp-mt-60 {
      margin-top: 6rem !important
  }

  .sp-mb-60 {
      margin-bottom: 6rem !important
  }

  .sp-mt-65 {
      margin-top: 6.5rem !important
  }

  .sp-mb-65 {
      margin-bottom: 6.5rem !important
  }

  .sp-mt-70 {
      margin-top: 7rem !important
  }

  .sp-mb-70 {
      margin-bottom: 7rem !important
  }

  .sp-mt-75 {
      margin-top: 7.5rem !important
  }

  .sp-mb-75 {
      margin-bottom: 7.5rem !important
  }

  .sp-mt-80 {
      margin-top: 8rem !important
  }

  .sp-mb-80 {
      margin-bottom: 8rem !important
  }

  .sp-mt-85 {
      margin-top: 8.5rem !important
  }

  .sp-mb-85 {
      margin-bottom: 8.5rem !important
  }

  .sp-mt-90 {
      margin-top: 9rem !important
  }

  .sp-mb-90 {
      margin-bottom: 9rem !important
  }

  .sp-mt-95 {
      margin-top: 9.5rem !important
  }

  .sp-mb-95 {
      margin-bottom: 9.5rem !important
  }

  .sp-mt-100 {
      margin-top: 10rem !important
  }

  .sp-mb-100 {
      margin-bottom: 10rem !important
  }

  .sp-mt-105 {
      margin-top: 10.5rem !important
  }

  .sp-mb-105 {
      margin-bottom: 10.5rem !important
  }

  .sp-mt-110 {
      margin-top: 11rem !important
  }

  .sp-mb-110 {
      margin-bottom: 11rem !important
  }

  .sp-mt-115 {
      margin-top: 11.5rem !important
  }

  .sp-mb-115 {
      margin-bottom: 11.5rem !important
  }

  .sp-mt-120 {
      margin-top: 12rem !important
  }

  .sp-mb-120 {
      margin-bottom: 12rem !important
  }

  .sp-mt-125 {
      margin-top: 12.5rem !important
  }

  .sp-mb-125 {
      margin-bottom: 12.5rem !important
  }

  .sp-mt-130 {
      margin-top: 13rem !important
  }

  .sp-mb-130 {
      margin-bottom: 13rem !important
  }

  .sp-mt-135 {
      margin-top: 13.5rem !important
  }

  .sp-mb-135 {
      margin-bottom: 13.5rem !important
  }

  .sp-mt-140 {
      margin-top: 14rem !important
  }

  .sp-mb-140 {
      margin-bottom: 14rem !important
  }

  .sp-mt-145 {
      margin-top: 14.5rem !important
  }

  .sp-mb-145 {
      margin-bottom: 14.5rem !important
  }

  .sp-mt-150 {
      margin-top: 15rem !important
  }

  .sp-mb-150 {
      margin-bottom: 15rem !important
  }

  .sp-mt-155 {
      margin-top: 15.5rem !important
  }

  .sp-mb-155 {
      margin-bottom: 15.5rem !important
  }

  .sp-mt-160 {
      margin-top: 16rem !important
  }

  .sp-mb-160 {
      margin-bottom: 16rem !important
  }

  .sp-mt-165 {
      margin-top: 16.5rem !important
  }

  .sp-mb-165 {
      margin-bottom: 16.5rem !important
  }

  .sp-mt-170 {
      margin-top: 17rem !important
  }

  .sp-mb-170 {
      margin-bottom: 17rem !important
  }

  .sp-mt-175 {
      margin-top: 17.5rem !important
  }

  .sp-mb-175 {
      margin-bottom: 17.5rem !important
  }

  .sp-mt-180 {
      margin-top: 18rem !important
  }

  .sp-mb-180 {
      margin-bottom: 18rem !important
  }

  .sp-mt-185 {
      margin-top: 18.5rem !important
  }

  .sp-mb-185 {
      margin-bottom: 18.5rem !important
  }

  .sp-mt-190 {
      margin-top: 19rem !important
  }

  .sp-mb-190 {
      margin-bottom: 19rem !important
  }

  .sp-mt-195 {
      margin-top: 19.5rem !important
  }

  .sp-mb-195 {
      margin-bottom: 19.5rem !important
  }

  .sp-mt-200 {
      margin-top: 20rem !important
  }

  .sp-mb-200 {
      margin-bottom: 20rem !important
  }

  .sp-mt-205 {
      margin-top: 20.5rem !important
  }

  .sp-mb-205 {
      margin-bottom: 20.5rem !important
  }

  .sp-mt-210 {
      margin-top: 21rem !important
  }

  .sp-mb-210 {
      margin-bottom: 21rem !important
  }

  .sp-mt-215 {
      margin-top: 21.5rem !important
  }

  .sp-mb-215 {
      margin-bottom: 21.5rem !important
  }

  .sp-mt-220 {
      margin-top: 22rem !important
  }

  .sp-mb-220 {
      margin-bottom: 22rem !important
  }

  .sp-mt-225 {
      margin-top: 22.5rem !important
  }

  .sp-mb-225 {
      margin-bottom: 22.5rem !important
  }

  .sp-mt-230 {
      margin-top: 23rem !important
  }

  .sp-mb-230 {
      margin-bottom: 23rem !important
  }

  .sp-mt-235 {
      margin-top: 23.5rem !important
  }

  .sp-mb-235 {
      margin-bottom: 23.5rem !important
  }

  .sp-mt-240 {
      margin-top: 24rem !important
  }

  .sp-mb-240 {
      margin-bottom: 24rem !important
  }

  .sp-mt-245 {
      margin-top: 24.5rem !important
  }

  .sp-mb-245 {
      margin-bottom: 24.5rem !important
  }

  .sp-mt-250 {
      margin-top: 25rem !important
  }

  .sp-mb-250 {
      margin-bottom: 25rem !important
  }

  .curve {
      padding-top: 6rem
  }

  .curve::before {
      width: 110%;
      height: 6rem;
      z-index: 9
  }

  .ttl01::after {
      height: .2rem
  }

  .ttl02 {
      font-size: 3.6rem
  }

  .ttl02 span {
      border-width: .2rem;
      padding: 2.5rem 0
  }

  .subttl01 {
      font-size: 3.4rem
  }

  .ttl-band {
      font-size: 3.6rem;
      padding: 2rem 0
  }

  .cm-item01-inner {
      padding: 4rem 4rem 3rem;
      position: relative
  }

  #add_sp {
      padding-top: 4.5rem;
      padding-bottom: 5rem;
      text-align: center
  }

  #add_sp img {
      margin: 0 auto;
      display: block;
      width: 49.6rem
  }

  .cont01 {
    padding: 3rem 3rem 15rem 3rem;
  }

  .cont01 .logo {
      margin: 0 auto;
      margin-bottom: 7rem;
      width: 49rem
  }

  .cont01 .logo img {
      width: 100%
  }

  .cont01 .subttl {
      font-size: 7.3rem
  }

  .cont01 .subttl .small {
      font-size: 3rem;
      line-height: 1.5
  }

  .cont01 .subttl .small2 {
      display: block;
      text-align: right;
      font-size: 2.6rem;
      padding-right: 13.5rem
  }

  .cont01 .subttl .small3 {
      font-size: 3.2rem;
      margin-top: 0
  }

  .cont01 .spt_ttl {
      font-size: 3rem;
      border-radius: 5.8rem;
      height: 11.6rem;
      width: 51.6rem;
      margin-top: 3rem;
      margin-bottom: 5rem
  }

  .cont01 .spt_txt {
      font-size: 2.8rem;
      line-height: 1.64;
      letter-spacing: .05em
  }

  .cont01 .lwrap>.flex {
      flex-wrap: wrap;
      margin-bottom: 20rem
  }

  .cont01 .lwrap>.flex>.item {
      width: 100%
  }

  .cont01 .lwrap>.flex>.item:nth-child(1) {
      margin-bottom: 5rem
  }

  .cont01 .lwrap>.flex>.item:nth-child(1) img {
      width: 70rem;
      display: block;
      margin-left: 2rem
  }

  .cont01 .lwrap>.flex>.item:nth-child(1) p {
      font-size: 2.7rem;
      line-height: 1.6428
  }

  .cont01 .lwrap>.flex>.item:nth-child(2) {
      width: 100%
  }

  .cont01 .lwrap>.flex>.item .ttl {
      margin-bottom: 0;
      font-size: 3.6rem;
      line-height: 1;
      padding: 2rem 6rem;
      text-align: left;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center
  }

  .cont01 .lwrap>.flex>.item .ttl .avenir {
      font-size: 7.7rem;
      padding-right: 4rem
  }

  .cont01 .lwrap>.flex>.item .toggleitem {
      background-color: #fff;
      border: 2px solid #c4d700;
      border-radius: .7rem;
      overflow: hidden;
      margin-bottom: 1.5rem;
      position: relative
  }

  .cont01 .lwrap>.flex>.item .toggleitem:after {
      content: "";
      width: 5.3rem;
      height: 5.3rem;
      background: url(/img/usr/goods/keeps/keeps_lumbar_cushion/sp/acdn.png) 0 0 no-repeat;
      background-size: 100% auto;
      position: absolute;
      right: 3.2rem;
      bottom: 3.3rem;
      -webkit-transition: all .3s ease;
      -moz-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease;
      pointer-events: none
  }

  .cont01 .lwrap>.flex>.item .toggleitem.active:after {
      transform: scale(1, -1)
  }

  .cont01 .lwrap>.flex>.item .toggleitem .inner {
      display: none
  }

  .cont01 .lwrap>.flex>.item .toggleitem .txt {
      padding: 4rem 5rem;
      font-size: 3rem;
      letter-spacing: .05em;
      line-height: 1.46
  }

  .cont01 .lwrap>.flex>.item .no3 {
      margin-bottom: 0
  }

  .cont01 .lwrap>.bg-white {
      padding: 4.5rem 3rem 5.5rem;
      margin: 0 2.5rem
  }

  .cont01 .lwrap>.bg-white h3 {
      font-size: 3.1rem;
      font-weight: 500;
      line-height: 1.645
  }

  .cont01 .lwrap>.bg-white h3 .marker-green {
      display: inline
  }

  .cont01 .lwrap>.bg-white .flex {
      flex-wrap: wrap
  }

  .cont01 .lwrap>.bg-white .flex .item {
      width: 100%
  }

  .cont01 .lwrap>.bg-white .flex .item:nth-child(1) {
      margin-bottom: 10rem
  }

  .cont01 .lwrap>.bg-white .flex .item:nth-child(1)::after {
      border-width: 2.7rem 4.6rem 0 4.6rem;
      border-color: #c4d700 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
      right: inherit;
      left: 50%;
      top: inherit;
      bottom: -5rem;
      transform: translateY(0%) translateX(-50%)
  }

  .cont01 .lwrap>.bg-white .flex .item p {
      font-size: 2.6rem;
      line-height: 1.3846
  }

  .cont01 .bg-white {
      padding: 5rem 2rem
  }

  .cont01 .cm-item01 {
      margin-bottom: 7.5rem
  }

  .cont01 .cm-item01:last-of-type {
      margin-bottom: 0
  }

  .cont01 .cm-item01 .flex {
      flex-wrap: wrap
  }

  .cont01 .cm-item01 p {
      font-size: 2.6rem;
      line-height: 1.461538
  }

  .cont01 .cm-item01 p.alignRight {
      width: 100%;
      position: absolute;
      font-size: 2rem;
      margin: 0
  }

  .cont01 .cm-item01 h4 {
      font-size: 2.9rem;
      line-height: 1.65;
      margin-bottom: 3.5rem
  }

  .cont01 #application .cm-item01-inner {
      padding-bottom: 4rem
  }

  .cont01 #application .txt {
      width: 100%
  }

  .cont01 #application .pic {
      margin-top: 7rem;
      width: 100%;
      flex-wrap: wrap
  }

  .cont01 #application .pic>div {
      width: 100%
  }

  .cont01 #application .pic div+div {
      padding-top: 4rem
  }

  .cont01 #application .pic p {
      font-size: 2.6rem;
      letter-spacing: 0;
      text-align: center;
      padding-top: .5rem
  }

  .cont01 #line .cm-item01-inner {
      padding-bottom: 6rem
  }

  .cont01 #line .txt {
      width: 100%
  }

  .cont01 #line .pic {
      padding-top: 6rem;
      width: 100%;
      flex-wrap: wrap
  }

  .cont01 #line .pic>div {
      width: 25.5rem
  }

  .cont01 #line .pic>div:first-of-type {
      width: 100%;
      padding-bottom: 17.5rem
  }

  .cont01 #line .pic>div:first-of-type img {
      width: 35rem;
      margin: 0 auto;
      display: block
  }

  .cont01 #line .pic .fukidashi {
      width: 47rem;
      height: 9rem;
      border-radius: 4.5rem;
      font-size: 2.7rem;
      top: -11.5rem;
      left: 30%
  }

  .cont01 #line .pic .fukidashi:before {
      border-width: 3rem 1.8rem 0 1.8rem;
      bottom: -2rem
  }

  .cont01 #line .pic p {
      font-size: 2.1rem;
      padding-top: .5rem;
      text-align: center
  }

  .cont01 #line .pic p.kome {
      letter-spacing: 0;
      font-size: 2.1rem;
      text-align: center;
      padding-top: 1rem
  }

  .cont01 #balance .cm-item01-inner {
      padding-top: 6rem;
      padding-bottom: 7rem
  }

  .cont01 #balance .alignright {
      top: auto;
      bottom: 3rem;
      right: 4rem;
      font-size: 2.1rem
  }

  .cont01 #balance .txt {
      width: 100%;
      padding-bottom: 6rem
  }

  .cont01 #balance .pic {
      padding-top: 0rem;
      width: 100%;
      flex-wrap: wrap;
      -webkit-justify-content: center;
      justify-content: center
  }

  .cont01 #balance .pic>div {
      padding-top: 10rem;
      padding-bottom: 5rem;
      width: 25rem;
      position: relative
  }

  .cont01 #balance .pic>div:first-of-type {
      margin-right: 2rem
  }

  .cont01 #balance .pic>div.end {
      width: 3.8rem;
      margin-left: 2.5rem
  }

  .cont01 #balance .pic .fukidashi {
      width: 26rem;
      height: 8rem;
      border-radius: 4rem;
      font-size: 2.3rem;
      line-height: 1.2;
      top: 0
  }

  .cont01 #balance .pic .fukidashi:before {
      border-width: 2rem 1rem 0 1rem;
      bottom: -1.6rem
  }

  .cont01 #balance .pic p {
      font-size: 2.2rem;
      line-height: 1.7;
      letter-spacing: -0.1em;
      text-align: center;
      white-space: nowrap
  }

  .cont01 .measurement {
      padding: 14rem 4rem 8rem
  }

  .cont01 .measurement h4 {
      font-size: 3.6rem;
      line-height: 1.38;
      padding: 4rem 0 2.5rem;
      margin-bottom: 7rem
  }

  .cont01 .measurement h4 img {
      right: 15.2rem;
      top: -8.5rem;
      width: 24.1rem
  }

  .cont01 .measurement .flex {
      flex-wrap: wrap
  }

  .cont01 .measurement .item {
      width: 100%
  }

  .cont01 .measurement .item:nth-child(1) {
      position: relative;
      padding-bottom: 14rem
  }

  .cont01 .measurement .item:nth-child(1)::after {
      right: auto;
      left: 50%;
      margin-left: -6.5rem;
      top: auto;
      bottom: 5rem;
      border-width: 4.6rem 6.5rem 0 6.5rem;
      border-color: #c4d700 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
  }

  .cont01 .measurement .item h5 {
      font-size: 2.8rem;
      padding-bottom: 3rem
  }

  .cont01 .measurement .item p {
      padding-top: 2rem;
      font-size: 2.6rem;
      line-height: 1.53
  }

  .cont02 {
      padding: 0 2.5rem 7rem
  }

  .cont02 h2 span {
      font-size: 3.6rem;
      margin-bottom: 5rem;
      padding: 3rem 0
  }

  .cont02 .bg-white {
      padding: 5rem
  }

  .cont02 .bg-white .item {
      border-bottom: none;
      padding-top: 0;
      padding-bottom: 9rem;
      flex-wrap: wrap
  }

  .cont02 .bg-white .item:first-of-type .txt {
      padding-top: 1rem
  }

  .cont02 .bg-white .item:nth-of-type(2) .txt {
      padding-top: .5rem
  }

  .cont02 .bg-white .item:nth-of-type(2) .pic {
      padding-top: 2rem
  }

  .cont02 .bg-white .item:nth-of-type(3) .txt {
      padding-top: 1.5rem
  }

  .cont02 .bg-white .item:last-of-type {
      padding-bottom: 0;
      border-bottom: none
  }

  .cont02 .bg-white .item:last-of-type .txt {
      padding-top: 1rem
  }

  .cont02 .bg-white .item .txt {
      width: 100%
  }

  .cont02 .bg-white .item .txt h3 {
      margin-bottom: 2rem
  }

  .cont02 .bg-white .item .txt h3 i {
      margin-right: 2rem
  }

  .cont02 .bg-white .item .txt h3 i img {
      width: 8rem
  }

  .cont02 .bg-white .item .txt h3 span {
      font-size: 3.8rem
  }

  .cont02 .bg-white .item .txt h3 span.small {
      font-size: 3.1rem;
      letter-spacing: 0
  }

  .cont02 .bg-white .item .txt p {
      font-size: 2.6rem;
      line-height: 1.53;
      letter-spacing: .025em
  }

  .cont02 .bg-white .item .txt p.kome {
      font-size: 2.1rem;
      line-height: 1.4;
      padding-top: 1em
  }

  .cont02 .bg-white .item .pic {
      width: 100%;
      padding-bottom: 2rem
  }

  .cont02 .bg-white .item .pic p {
      font-size: 3rem;
      width: 37.3rem;
      height: 6.2rem;
      border-radius: 3.1rem;
      top: .5rem
  }

  .cont03 {
      padding: 14rem 0 0
  }

  .cont03 .ttl01 {
      margin-bottom: 8rem
  }

  .cont03 .ttl01 img {
      width: 36rem
  }

  .cont03 .flex {
      flex-wrap: wrap;
      margin-bottom: 2rem
  }

  .cont03 .flex .item {
      width: 100%;
      margin-bottom: 7.5rem
  }

  .cont03 .flex .item:last-of-type {
      margin-bottom: 0
  }

  .cont03 .flex .item img {
      width: 73rem;
      margin: 0 auto
  }

  .cont03 .flex .item p {
      text-align: center;
      font-size: 2.6rem;
      margin-top: 1rem
  }

  .cont03 .flex .item .item_btn {
      text-align: center;
      font-size: 1.8rem;
      padding: 1rem 0;
      line-height: 1;
      background: #000;
      color: #fff;
      width: 22rem;
      margin: 2rem auto 0;
      display: block;
      text-decoration: none;
      border-radius: .7rem;
      position: relative
  }

  .cont03 .flex .item .item_btn::before {
      content: "";
      position: absolute;
      right: 2.3rem;
      padding: 1rem 0;
      line-height: 1;
      top: 50%;
      width: 1rem;
      height: 1rem;
      border-top: .1rem solid #fff;
      border-right: .1rem solid #fff;
      -webkit-transform: translateY(-50%) rotate(45deg);
      transform: translateY(-50%) rotate(45deg)
  }

  .cont03 .alignCenter {
      padding-top: 7.5rem;
      padding-bottom: 11rem;
      font-size: 3rem
  }

  .table01 th {
      font-size: 2.6rem;
      padding: 2rem;
      white-space: nowrap
  }

  .table01 td {
      font-size: 2.6rem;
      padding: 2rem
  }

  .ec-bnr {
      position: fixed;
      right: 4.6rem;
      bottom: 2rem;
      z-index: 8
  }

  .ec-bnr img {
      width: 66rem
  }
}

/*# sourceMappingURL=style.css.map */
