@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {
#reform-washroom .seo_bread_list {
  margin-bottom: -67px;
  color: #FFFFFF;
  position: relative;
  z-index: 2;
}
#reform-washroom .seo_bread_list span {
  color: #FFFFFF;
}

/* fv
-------------------------------------*/
.fv {
  max-width: 1920px;
  margin-inline: auto;
  width: 100%;
  position: relative;
}
.fv .ttl-box {
  background: #FFFFFF;
  width: min(95%, 1200px);
  margin-inline: auto;
  position: relative;
  margin-top: -8.35rem;
  padding: 0 0 4.5rem;
  margin-bottom: -6.3rem;
  z-index: 2;
}
.fv .ttl-box h2 {
  font-size: 50px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  background-color: #FFFFFF;
  color: #0488E5;
  text-align: center;
  padding: 2.55rem 0;
  border-top: 15px solid #2B6FAC;
  position: relative;
  width: min(95%, 575px);
  margin-inline: auto;
  top: -3.8rem;
  margin-bottom: -3.8rem;
}
.fv .ttl-box::before {
  content: "";
  position: absolute;
  top: -10.3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 241px;
  height: 241px;
  background: url(../images/reform-washroom/washroom-icon.svg) no-repeat;
  background-size: contain;
}
.fv .txt {
  font-size: 24px;
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
}

/* worries
-------------------------------------*/
.worries {
  background: #F4F4F4;
  position: relative;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.worries::after {
  content: "";
  position: absolute;
  bottom: -3.55rem;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 200px;
  background: url(../images/page-common/worries-arrow.svg) no-repeat;
  background-size: contain;
  z-index:2;
}
.worries .inner {
  width: min(95%, 1280px);
  margin-inline: auto;
  padding: 11.8125rem 0 12.5rem;
}
.worries h2 {
  text-align: center;
  margin-bottom: 2.5rem;
}
.worries h2 span {
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 1.5rem;
  display: inline-block;
  position: relative;
}
.worries h2 span::after {
  content: "";
  position: absolute;
  top: -22px;
  right: -56px;
  width: 47px;
  height: 52px;
  background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box {
  width: min(95%, 1040px);
  background: #FFFFFF;
  border: 10px solid #EFEFEF;
  padding: 2.75rem 0 1.575rem;
  position: relative;
  margin-inline: auto;
}
.worries .worries-box::before {
  content: "";
  position: absolute;
  top: -3.2rem;
  right: -8.2rem;
  width: 307px;
  height: 253px;
  background: url(../images/reform-washroom/worries-photo01.png) no-repeat;
  background-size: contain;
}
.worries .worries-box::after {
  content: "";
  position: absolute;
  bottom: -2.5rem;
  left: -8.2rem;
  width: 276px;
  height: 212px;
  background: url(../images/page-common/worries-deco.png) no-repeat;
  background-size: contain;
}
.worries .worries-box .list {
  width: min(95%, 900px);
  margin-inline: auto;
  display: grid;
  gap: 1.5rem;
  margin-bottom: 0.6rem;
}
.worries .worries-box .list li {
  color: #141414;
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 0 0.85rem 7.85rem;
  border-bottom: 1px dashed #8F8F8F;
  position: relative;
}
.worries .worries-box .list li::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 5.6rem;
  width: 26px;
  height: 20px;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box .list li span {
  color: #2B6FAC;
}
.worries .worries-box .txt {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
.worries .worries-box .deco {
  position: absolute;
  right: -5.6rem;
  top: 13.5rem;
}

/* leave
-------------------------------------*/
.leave {
  background: #FCCF00;
  position: relative;
  padding: 0 0 18.0625rem;
  margin-top: -0.2rem;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.leave::before {
  content: "";
  position: absolute;
  top: -8.6rem;
  left: 0;
  width: 100%;
  height: 140px;
  background: url(../images/page-common/leave-bg.svg) no-repeat;
  background-size: cover;
}
.leave .inner {
  width: min(95%, 1600px);
  margin-inline: auto;
  text-align: center;
  padding: 8.5rem 0 0;
  position: relative;
}
.leave h2 {
  text-align: center;
  display: inline-block;
  position: relative;
  padding: 0 1.35rem 0 0;
  margin-bottom: 2.5rem;
  z-index: 2;
}
.leave .inner::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 9.5rem;
  width: 447px;
  height: 210px;
  background: url(../images/page-common/leave-en.svg) no-repeat;
  background-size: contain;
  z-index: 1;
}
.leave .leave-box {
  width: min(95%, 1100px);
  margin-inline: auto;
  position: relative;
  margin-bottom: 2.4375rem;
}
.leave .leave-box::before {
  content: "";
  position: absolute;
  top: -9.75rem;
  right: 0;
  width: 119px;
  height: 156px;
  background: url(../images/page-common/leave-box-deco.png) no-repeat;
  background-size: contain;
}
.leave .leave-box .list {
  display: grid;
  gap: 0.8rem;
  margin-bottom: 0.75rem;
}
.leave .leave-box .list li {
  background: #FFFFFF;
  border: 10px solid #FDF202;
  font-size: 24px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: left;
  padding: 1.75rem 0 1.75rem 5.35rem;
  position: relative;
}
.leave .leave-box .list li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3.05rem;
  width: 26px;
  height: 20px;
  background: url(../images/page-common/check-icon02.svg) no-repeat;
  background-size: contain;
}
.leave .leave-box .list li span {
  color: #D7000F;
}
.leave .leave-box .txt {
  color: #141414;
  font-size: 24px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: right;
}
.leave .lead {
  font-size: 34px;
  line-height: 2.0588235294;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  position: relative;
  display: inline-block;
  margin-bottom: 2.35rem;
}
.leave .lead span.ls {
  letter-spacing: 0.1em;
}
.leave .lead span {
  color: #D7000F;
  font-size: 42px;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
}
.leave .lead::before, .leave .lead::after {
  content: "";
  position: absolute;
}
.leave .lead::before {
  bottom: 0.6rem;
  left: -5.1rem;
  width: 54px;
  height: 97px;
  background: url(../images/page-common/leave-lead-l.svg) no-repeat;
  background-size: contain;
}
.leave .lead::after {
  bottom: 0.6rem;
  right: -3.5rem;
  width: 54px;
  height: 97px;
  background: url(../images/page-common/leave-lead-r.svg) no-repeat;
  background-size: contain;
}
.leave .photo {
  text-align: center;
}

/* merit
-------------------------------------*/
.merit {
  background: url(../images/page-common/merit-bg.png) repeat;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.merit .inner {
  top: -10.5rem;
  position: relative;
  display: grid;
  gap: 5.4rem;
  margin-bottom: -1.7rem;
}
.merit .sec {
  width: min(95%, 1200px);
  margin-inline: auto;
  border: 10px solid #0362E4;
  background: #FFFFFF;
}
.merit .sec .ttl-box {
  background: linear-gradient(#0096df 0%, #0456e5 100%);
  padding: 0.5rem 0 2.8rem;
  text-align: center;
}
.merit .sec .num {
  background: #FFFFFF;
  color: #141414;
  font-size: 24px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative;
  top: -2.725rem;
  display: inline-flex;
  gap: 0.4rem;
  padding: 0.6rem 1.8rem;
  margin-bottom: -6.2625rem;
}
.merit .sec .num span {
  color: #0488E5;
}
.merit .sec h2 {
  color: #FFFFFF;
  text-align: center;
  font-size: 50px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.merit .sec h2 span {
  font-size: 30px;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: block;
  margin-bottom: 0.7rem;
}
.merit .sec .content {
  padding: 3.75rem 4.4rem 2.375rem;
  display: grid;
  grid-template-columns: 51.923% 44.2307%;
  gap: 2.5rem;
}
.merit .sec .txt-box .list {
  background: #EFEFEF;
  padding: 1.675rem 3.7rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 3.65rem;
  margin-bottom: 1.7rem;
  align-items: center;
}
.merit .sec .txt-box .list span {margin: 0 0 0 -1.85rem;font-size: 16px;line-height: 1.875;letter-spacing: 0.1em;font-weight: 500;}
.merit .sec .txt-box .list li {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
}
.merit .sec .txt-box .list li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1.9rem;
  width: 20px;
  height: 20px;
  background: url(../images/page-common/merit-check.svg) no-repeat;
  background-size: contain;
}
.merit .sec .txt-box .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 1.15rem;
}
/* merit03 */
.merit .sec.merit03 .content {padding: 3.5rem 4.4rem 2.375rem;}
.merit .sec.merit03 .content .photo {
  margin: 0.25rem 0 0;
}

/* product
-------------------------------------*/
.product {
  background: url(../images/page-common/product-bg.png) repeat;
  background-size: contain;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.product .inner {
  width: min(95%, 1280px);
  margin-inline: auto;
  padding: 8.75rem 0;
  text-align: center;
}
.product h2 {
  text-align: center;
  margin-bottom: 2.85rem;
}
.product .subt-box {
  margin-bottom: 3.7rem;
  position: relative;
}
.product .subt-box::after {
  position: absolute;
  content: "";
  bottom: -59px;
  right: 90px;
  width: 154px;
  height: 234px;
  background: url(../images/page-common/product-deco.png) no-repeat;
  background-size: contain;
}
.product .subt01 {
  font-size: 29px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: center;
  color: #FFFFFF;
  display: inline-block;
  position: relative;
  margin-bottom: 1.25rem;
}
.product .subt01::before,
.product .subt01::after {
 content: "";
 position: absolute;
 top: 55%;
 transform: translateY(-50%);
}
.product .subt01::before {
 background: url(../images/page-common/product-subt-line-l.svg)no-repeat;
 background-size: contain;
 width: 20px;
 height: 38px;
 left: -28px;
}
.product .subt01::after {
 background: url(../images/page-common/product-subt-line-r.svg)no-repeat;
 background-size: contain;
 width: 20px;
 height: 38px;
 right: -28px;
}
.product .subt02 {
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 2.5rem;
}
.product .subt02 span {
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FDF202;
}
.product .subt03 {
  text-align: center;
}
.product .item {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.7rem 0.7rem;
  position: relative;
  left: 1.25rem;
  margin-bottom: 7.5rem;
}
.product .item li {
  background: #FFFFFF;
  width: 25rem;
}
.product .item li .inner-Box {
  position: relative;
  padding: 1.875rem 1.875rem 0.3rem;
}
.product .item .item06 .inner-Box{padding: 1.875rem 1.875rem 0;}
.product .item li .icon {
  position: absolute;
  top: -1.25rem;
  left: -1.25rem;
  background: #FDF202;
  font-size: 20px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  border-radius: 50%;
  width: 7.5rem;
  height: 7.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.product .item li .icon span {
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: block;
}
.product .item li .company {
  border: 1px solid #1C1C1C;
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 0.5rem;
  position: relative;
  right: 0;
  width: fit-content;
  margin-left: auto;
  display: flex;
}
.product .item li .company .en {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 500;
  color: #FFFFFF;
  background: #1C1C1C;
  padding: 0rem 0.62rem;
}
.product .item .item06 .company .en  {
  font-size: 14px;
  font-weight: 700;
  /* line-height: 2.142857; */
  letter-spacing: 0;
}
.product .item .item06 .company .en {padding: 0 0.61rem;}
.product .item li .company .type {padding: 0rem 0.62rem;}
.product .item .item06 .company .type  {
    padding: 0 0.6rem;
    font-size: 14px;
    font-weight: 700;
    /* line-height: 2.14; */
    letter-spacing: 0;
}
.product .item li .price-frame {
  display: grid;
  align-items: center;
  margin-bottom: -0.2rem;
  grid-template-columns: 29.56% 1fr;
  gap: 1.0rem;
}
.product .item .item01 .price-frame,
.product .item .item02 .price-frame,
.product .item .item03 .price-frame {gap: 3.25rem;}
.product .item li .price-frame .include {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  border: 1px solid #1C1C1C;
  padding: 0.35rem 0.4rem;
  width: 103px;
  position: relative;
  top: 6px;
}
.product .item li .price {
  display: inline-flex;
  font-size: 70px;
  line-height: 1.1;
  letter-spacing: 0em;
  font-weight: 700;
  color: #D7000F;
  position: relative;
  z-index: 2;
  align-items: baseline;
  top: -4px;
  justify-content: flex-end;
  letter-spacing: -0.05em;
}
.product .item li .price::after {
  content: "";
  position: absolute;
  bottom: 21px;
  right: 0;
  width: 90%;
  height: 8px;
  background: #FFDF4D;
  z-index: -1;
}
.product .item li .price .yen-mark {
  font-size: 24px;
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0.1em;
  color: #1C1C1C;
  position: relative;
  top: -4px;
}
.product .item li .price .yen {
  font-size: 24px;
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0.1em;
  color: #1C1C1C;
  position: relative;
  top: -5px;
  left: 4px;
}
.product .item li .price .small {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.925;
  position: relative;
  top: -4px;
  margin: 0 2px 0 0px;
  letter-spacing: 0;
}
.product .item li .price02 {
  font-size: 12px;
  line-height: 2.5;
  letter-spacing: 0em;
  font-weight: 500;
  margin-bottom: 0.85rem;
  text-align: right;
  margin-top: -1.5rem;
}
.product .item li .detail {
  background: #F4F4F4;
  margin-bottom: 1.35rem;
}
.product .item li .detail h3 {
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
  background: #D4D4D4;
  position:relative;
}
.product .item li .detail h3 span {
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
}

.product .item li .detail h3::after {
  content: "▼";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size:11px;
}
.product .item li .detail h3.is-open::after  {
  content: "▲";
}

.product .item li .detail .list {
  padding: 1.2rem 1.25rem 1.1rem;
  display: grid;
  gap: 0.8rem;
}
.product .item li .detail .list li {
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  font-weight: 400;
  border-bottom: 1px dashed #D2D2D2;
  position: relative;
  background: none;
  width: auto;
  text-align: left;
  padding: 0 0 0.45rem 1.15rem;
}
.product .item li .detail .list li::before {
  position: absolute;
  content: "・";
  left: 0rem;
  top: 0rem;
  color: #1C1C1C;
  font-size: 14px;
  letter-spacing: 0.05em;
}
.product .item li .detail .list li span {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 400;
}
.product .item li .detail .list .etc {
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.71428;
  text-align: left;
  margin: -0.2rem 0 0 1.1rem;
}

/* works
-------------------------------------*/
.works .inner{
  width: min(95%, 1190px);
  margin-inline: auto;
  padding: 8rem 0 0;
}
.works .enttl {
  font-weight: normal;
  font-size: 36px;
  line-height: 1;
  text-align: center;
  position: relative;
  margin-bottom: 2.5rem;
}
.works .enttl::after {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 95px;
  height: 2px;
  background: #1C1C1C;
}
.works h2 {
  font-weight: bold;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 2.1875;
  text-align: center;
  color: #141414;
  margin-bottom: 4.4rem;
}



/* menu
-------------------------------------*/
.menu {
  background: #EFEFEF;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.menu .inner {
  width: min(95%, 1600px);
  margin-inline: auto;
  padding: 7.35rem 0 12.5rem;
}
.menu h2 {
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 3.5rem;
}
.menu .menu-box {
  display: grid;
  gap: 2.5rem;
}
.menu .menu-box .upper {
  position: relative;
}
.menu .menu-box .upper::before {
  content: "";
  position: absolute;
  top: -11rem;
  left: 22.5rem;
  width: 147px;
  height: 176px;
  background: url(../images/page-common/menu-deco.png) no-repeat;
  background-size: contain;
}
.menu .menu-box .bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
}
.menu .menu-item {
  background: #FFFFFF;
}
.menu .menu-item.mizumawari .item {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2.5rem;
  padding: 3.125rem 3.75rem;
}
.menu .menu-item.gaisou .item,
.menu .menu-item.other .item{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  padding: 3.125rem 2.5rem;
}
.menu .menu-box h3 {
  font-weight: bold;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 1.69rem 0;
}
.menu .menu-box .mizumawari h3 {
  background: #0488E5;
}
.menu .menu-box .gaisou h3 {
  background: #00A63C;
}
.menu .menu-box .other h3 {
  background: #9C6AA5;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
  .fv {
    max-width: 100.052vw;
  }
  .fv .photo img {
    width: 100%;
    height: auto;
  }
  .fv .ttl-box {
    width: 62.533vw;
    margin-top: -6.962vw;
    padding: 0 0 3.752vw;
    margin-bottom: -6.353vw;
  }
  .fv .ttl-box h2 {
    font-size: 2.606vw;
    padding: 2.126vw 0;
    border-top: 15px solid #2B6FAC;
    width: 29.964vw;
    top: -3.168vw;
    margin-bottom: -3.168vw;
  }
  .fv .ttl-box::before {
    top: -8.588vw;
    left: 50%;
    transform: translateX(-50%);
    width: 12.559vw;
    height: 12.559vw;
    background: url(../images/reform-washroom/washroom-icon.svg) no-repeat;
    background-size: contain;
  }
  .fv .txt {
    font-size: 1.251vw;
  }
  
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
  .worries::after {
    bottom: -3.958vw;
    left: 50%;
    transform: translateX(-50%);
    width: 8.333vw;
    height: 13.889vw;
    background: url(../images/page-common/worries-arrow.svg) no-repeat;
    background-size: contain;
  }
  .worries .inner {
    width: 88.889vw;
    padding: 13.056vw 0 13.889vw;
  }
  .worries h2 {
    margin-bottom: 2.778vw;
  }
  .worries h2 span {
    font-size: 1.806vw;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 1.667vw;
    display: inline-block;
    position: relative;
  }
  .worries h2 span::after {
    content: "";
    position: absolute;
    top: -1.528vw;
    right: -3.889vw;
    width: 3.264vw;
    height: 3.611vw;
    background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
    background-size: contain;
  }
  .worries h2 img {
    width: 53.611vw;
  }
  .worries .worries-box {
    width: 72.222vw;
    background: #FFFFFF;
    border: 10px solid #EFEFEF;
    padding: 3.056vw 0 1.528vw;
    position: relative;
    margin-inline: auto;
  }
  .worries .worries-box::before {
    top: -3.542vw;
    right: -9.097vw;
    width: 21.319vw;
    height: 17.569vw;
    background: url(../images/reform-washroom/worries-photo01.png) no-repeat;
    background-size: contain;
  }
  .worries .worries-box::after {
    bottom: -2.778vw;
    left: -9.097vw;
    width: 19.167vw;
    height: 14.722vw;
    background: url(../images/page-common/worries-deco.png) no-repeat;
    background-size: contain;
  }
  .worries .worries-box .list {
    width: 62.5vw; 
    margin-inline: auto;
    display: grid;
    gap: 1.667vw 2.778vw;
    margin-bottom: 0.694vw;
  }
  .worries .worries-box .list li {
    font-size: 1.389vw;
    padding: 0 0 0.972vw 8.75vw;
  }
  .worries .worries-box .list li::before {
    top: 0.764vw;
    left: 6.25vw;
    width: 1.806vw;
    height: 1.389vw;
    background: url(../images/page-common/check-icon.svg) no-repeat;
    background-size: contain;
  }
  .worries .worries-box .txt {
    font-size: 1.389vw;
  }
  .worries .worries-box .deco {
    right: -6.25vw;
    top: 15vw;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
  .leave {
    padding: 0 0 18.072vw;
    margin-top: -0.2vw;
  }
  .leave::before {
    top: -7.204vw;
    left: 0;
    width: 100%;
    height: 7.295vw;
    background: url(../images/page-common/leave-bg.svg) no-repeat;
    background-size: cover;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1680px)
======================================== */
@media screen and (min-width:768px) and (max-width:1680px) {
  .leave .inner {
    width: 95.238vw;
    padding: 8.095vw 0 0;
  }
  .leave h2 {
    padding: 0 1.286vw 0 0;
    margin-bottom: 2.381vw;
    z-index: 2;
  }
  .leave h2 img {
    width: 50.119vw;
    height: auto;
  }
  .leave .inner::before {
    top: 0.476vw;
    left: 9.048vw;
    width: 26.607vw;
    height: 12.5vw;
    background: url(../images/page-common/leave-en.svg) no-repeat;
    background-size: contain;
  }
  .leave .leave-box {
    width: 65.476vw;
    margin-bottom: 2.321vw;
  }
  .leave .leave-box::before {
    top: -9.286vw;
    right: 0;
    width: 7.083vw;
    height: 9.286vw;
    background: url(../images/page-common/leave-box-deco.png) no-repeat;
    background-size: contain;
  }
  .leave .leave-box .list {
    display: grid;
    gap: 0.762vw;
    margin-bottom: 0.714vw;
  }
  .leave .leave-box .list li {
    background: #FFFFFF;
    border: 10px solid #FDF202;
    font-size: 1.429vw;
    padding: 1.667vw 0 1.667vw 5.095vw;
  }
  .leave .leave-box .list li::before {
    left: 2.905vw;
    width: 1.548vw;
    height: 1.19vw;
    background: url(../images/page-common/check-icon02.svg) no-repeat;
    background-size: contain;
  }
  .leave .leave-box .txt {
    font-size: 1.429vw;
  }
  .leave .lead {
    font-size: 2.024vw;
    margin-bottom: 2.238vw;
  }
  .leave .lead span {
    font-size: 2.5vw;
  }
  .leave .lead::before {
    bottom: 0.571vw;
    left: -3.905vw;
    width: 3.214vw;
    height: 5.774vw;
    background: url(../images/page-common/leave-lead-l.svg) no-repeat;
    background-size: contain;
  }
  .leave .lead::after {
    bottom: 0.571vw;
    right: -2.381vw;
    width: 3.214vw;
    height: 5.774vw;
    background: url(../images/page-common/leave-lead-r.svg) no-repeat;
    background-size: contain;
  }
  .leave .photo img{
    width: 100%;
    height: auto;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
  .merit .inner {
    top: -13.125vw;
    position: relative;
    display: grid;
    gap: 6.75vw;
    margin-bottom: -2.125vw;
  }
  .merit .sec h2 {
    font-size: 3.906vw;
  }
  .merit .sec h2 span {
    font-size: 2.344vw;
    margin-bottom: 0.875vw;
  }
  .merit .sec .content {
    padding: 4.688vw 5.5vw 2.969vw;
    gap: 3.125vw;
  }
  .merit .sec.merit03 .content {
    padding: 4.375vw 5.5vw 2.969vw;
  }
  .merit .photo img {
    width: 100%;
    height: auto;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
  /* product
-------------------------------------*/
.product .inner {
  width: 88.889vw;
  padding: 9.722vw 0;
}
.product h2 {
  margin-bottom: 3.167vw;
}
.product .subt-box {
  margin-bottom: 4.111vw;
}
.product .subt-box::after {
  bottom: -4.097vw;
  right: 6.25vw;
  width: 10.694vw;
  height: 16.25vw;
  background: url(../images/page-common/product-deco.png) no-repeat;
  background-size: contain;
}
.product .subt01 {
  font-size: 2.014vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: center;
  color: #FFFFFF;
  display: inline-block;
  position: relative;
  margin-bottom: 1.389vw;
}
.product .subt01::before {
 background: url(../images/page-common/product-subt-line-l.svg)no-repeat;
 background-size: contain;
 width: 1.389vw;
 height: 2.639vw;
 left: -1.944vw;
}
.product .subt01::after {
 background: url(../images/page-common/product-subt-line-r.svg)no-repeat;
 background-size: contain;
 width: 1.389vw;
 height: 2.639vw;
 right: -1.944vw;
}
.product .subt02 {
  font-size: 2.222vw;
  margin-bottom: 2.778vw;
}
.product .subt02 span {
  font-size: 2.778vw;
}
.product .subt03 img{
  width: 51.389vw;
  height: auto;
}
.product .item {
  gap: 4.111vw 0.778vw;
  left: 1.389vw;
  margin-bottom: 8.333vw;
}
.product .item li {
  width: 27.778vw;
}
.product .item li .inner-Box {
  padding: 2.083vw 2.083vw 0.333vw;
}
.product .item li .photo img {
  width: 100%;
  height: auto;
}
.product .item .item06 .inner-Box{padding: 2.083vw 2.083vw 0;}
.product .item li .icon {
  top: -1.389vw;
  left: -1.389vw;
  font-size: 1.389vw;
  width: 8.333vw;
  height: 8.333vw;
}
.product .item li .icon span {
  font-size: 1.111vw;
}
.product .item li .company {
  font-size: 1.111vw;
  margin-bottom: 0.556vw;
}
.product .item li .company .en {
  font-size: 1.111vw;
  padding: 0px 0.689vw;
}
.product .item .item06 .company .en  {
  font-size: 0.972vw;
}
.product .item .item06 .company .en {padding: 0 0.678vw;}
.product .item li .company .type {padding: 0px 0.689vw;}
.product .item .item06 .company .type  {
  padding: 0 0.667vw;
  font-size: 0.972vw;
}
.product .item li .price-frame {
  margin-bottom: -0.222vw;
  grid-template-columns: 29.56% 1fr;
  gap: 1.111vw;
}
.product .item .item01 .price-frame,
.product .item .item02 .price-frame,
.product .item .item03 .price-frame {gap: 3.611vw;}
.product .item li .price-frame .include {
  font-size: 1.111vw;
  padding: 0.389vw 0.444vw;
  width: 7.353vw;
  top: 0.417vw;
}
.product .item li .price {
  font-size: 4.861vw;
  top: -0.278vw;
  letter-spacing: -0.05em;
}
.product .item li .price::after {
  bottom: 1.458vw;
  height: 0.556vw;
}
.product .item li .price .yen-mark {
  font-size: 1.667vw;
  top: -0.278vw;
}
.product .item li .price .yen {
  font-size: 1.667vw;
  top: -0.347vw;
  left: 0.278vw;
}
.product .item li .price .small {
  font-size: 2.778vw;
  top: -0.278vw;
  margin: 0 0.139vw 0 0px;
}
.product .item li .price02 {
  font-size: clamp(0.563rem, 0.348rem + 0.45vw, 0.75rem);
  margin-bottom: 0.944vw;
  margin-top: -1.667vw;
}
.product .item li .detail {
  margin-bottom: 1.5vw;
}
.product .item li .detail h3 {
  font-size: clamp(0.625rem, 0.196rem + 0.89vw, 1rem);
}
.product .item li .detail h3 span {
  font-size: clamp(0.563rem, 0.205rem + 0.74vw, 0.875rem);
}
.product .item li .detail .list {
  padding: 1.333vw 1.389vw 1.222vw;
  gap: 0.889vw;
}
.product .item li .detail .list li {
  font-size: clamp(0.625rem, 0.339rem + 0.6vw, 0.875rem);
  padding: 0 0 0.5vw 1.278vw;
}
.product .item li .detail .list li::before {
  font-size: 0.972vw;
}
.product .item li .detail .list li span {
  font-size: clamp(0.563rem, 0.348rem + 0.45vw, 0.75rem);
}
.product .item li .detail .list .etc {
  font-size: clamp(0.563rem, 0.348rem + 0.45vw, 0.75rem);
  margin: -0.222vw 0 0 1.222vw;
}
.product .bnr img {
  width: 100%;
  height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1680px)
======================================== */
@media screen and (min-width:768px) and (max-width:1680px) {
  .menu h2 {
    font-size: 2.381vw;
    margin-bottom: 3.333vw;
  }
  .menu .menu-box h3 {
    font-size: 1.905vw;
    padding: 1.61vw 0;
  }
  .menu .menu-box .upper::before {
    top: -10.476vw;
    left: 21.429vw;
    width: 8.75vw;
    height: 10.476vw;
  }
  .menu .menu-item img {
    width: 100%;
    height: auto;
  }
  .menu .menu-item.mizumawari .item {
    gap: 2.381vw;
    padding: 2.976vw 3.571vw;
  }
  .menu .menu-item.gaisou .item, .menu .menu-item.other .item {
    gap: 1.19vw;
    padding: 2.976vw 2.381vw;
  }
}


/* ========================================
@media screen and (max-width: 767px) 
======================================== */
@media screen and (max-width: 767px) {
.main-title {
  margin-bottom: 0;
}
  /* fv
-------------------------------------*/
.fv {
  max-width: 100vw;
  margin-inline: auto;
  width: 100%;
  position: relative;
  background: #F4F4F4;
}
.fv .ttl-box {
  background: #FFFFFF;
  width: 91.79vw;
  margin-inline: auto;
  position: relative;
  margin-top: -7vw;
  padding: 0 0 6vw;
  margin-bottom: -7vw;
  z-index: 2;
}
.fv .ttl-box h2 {
  font-size:7.729vw;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  background-color: #FFFFFF;
  color: #0488E5;
  text-align: center;
  padding: 9.2vw 0 6.2vw;
  border-top: 3vw solid #2B6FAC;
  position: relative;
  top: -3vw;
  margin-bottom: -3vw;
}
.fv .ttl-box::before {
  content: "";
  position: absolute;
  top: -22vw;
  left: 50%;
  transform: translateX(-50%);
  width: 58.215vw;
  height: 58.215vw;
  background: url(../images/reform-washroom/washroom-icon_sp.svg) no-repeat;
  background-size: contain;
}
.fv .txt {
  font-size:4.348vw;
  line-height: 1.7777;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  position: relative;
  background: #FFFFFF;
}

/* worries
-------------------------------------*/
.worries {
  background: #F4F4F4;
  position: relative;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.worries::after {
  content: "";
  position: absolute;
  bottom: -8vw;
  left: 50%;
  transform: translateX(-50%);
  width: 17.395vw;
  height: 28.989vw;
  background: url(../images/page-common/worries-arrow.svg) no-repeat;
  background-size: contain;
  z-index:2;
}
.worries .inner {
  width: 94.205vw;
  margin-inline: auto;
  padding: 22.2vw 0 28vw;
}
.worries h2 {
  text-align: center;
  margin-bottom: 41.4vw;
}
.worries h2 img {
    width: 58.215vw;
}
.worries h2 span {
  font-size:4.348vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 3.5vw;
  display: inline-block;
  position: relative;
}
.worries h2 span::after {
  content: "";
  position: absolute;
  top: -3.1vw;
  right: -8.7vw;
  width: 7.16vw;
  height: 7.94vw;
  background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box {
  background: #FFFFFF;
  border: 1.45vw solid #EFEFEF;
  padding: 5.5vw 0 2.8vw;
  position: relative;
  margin-inline: auto;
}
.worries .worries-box::before {
  content: "";
  position: absolute;
  top: -39.2vw;
  left: 50%;
  width: 66.185vw;
  height: 42.88vw;
  background: url(../images/reform-washroom/worries-photo_sp.png) no-repeat;
  background-size: contain;
  transform: translateX(-50%);
}
.worries .worries-box::after {
  content: "";
  position: absolute;
  bottom: -14.6vw;
  left: -4vw;
  width: 36.94vw;
  height: 28.42vw;
  background: url(../images/page-common/worries-deco.png) no-repeat;
  background-size: contain;
}
.worries .worries-box .list {
  width: 79.712vw;
  margin-inline: auto;
  display: grid;
  gap: 4vw;
  margin-bottom: 1vw;
}
.worries .worries-box .list li {
  color: #141414;
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 0 3vw 5.2vw;
  border-bottom: 0.2vw dashed #8F8F8F;
  position: relative;
}
.worries .worries-box .list li::before {
  content: "";
  position: absolute;
  top: 2.1vw;
  left: 0vw;
  width: 4.35vw;
  height: 3.385vw;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box .list li span {
  color: #2B6FAC;
}
.worries .worries-box .txt {
  font-size:3.865vw;
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.1em;
  text-align: right;
  margin: 0 5.4vw 0 0;
}
.worries .worries-box .deco {
  position: absolute;
  right: -5vw;
  top: 13vw;
}


/* leave
-------------------------------------*/
.leave {
  background: #FCCF00;
  position: relative;
  padding: 0 0 39vw;
  margin-top: -0.5vw;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.leave::before {
  content: "";
  position: absolute;
  top: -14vw;
  left: 0;
  width: 100%;
  height: 14.5vw;
  background: url(../images/page-common/leave-bg_sp.svg) no-repeat;
  background-size: cover;
}
.leave .inner {
  margin-inline: auto;
  text-align: center;
  padding: 16.4vw 0 0;
  position: relative;
}
.leave h2 {
  text-align: center;
  display: inline-block;
  position: relative;
  padding: 0 2vw 0 0;
  margin-bottom: 7vw;
  z-index: 2;
}
.leave h2 img {
  width: 65.71vw;
}
.leave .leave-box {
  width: 91.79vw;
  margin-inline: auto;
  position: relative;
  margin-bottom: 4vw;
}
.leave .leave-box::before {
  content: "";
  position: absolute;
  top: -22.4vw;
  right: 0;
  width: 16.91vw;
  height: 22.225vw;
  background: url(../images/page-common/leave-box-deco.png) no-repeat;
  background-size: contain;
}
.leave .leave-box .list {
  display: grid;
  gap: 1.7vw;
  margin-bottom: -0.5vw;
}
.leave .leave-box .list li {
  background: #FFFFFF;
  border: 1.45vw solid #FDF202;
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: left;
  padding: 3.6vw 2.5vw 4vw 10vw;
  position: relative;
}
.leave .leave-box .list li::before {
  content: "";
  position: absolute;
  top: 5.5vw;
  left: 4.4vw;
  width: 4.35vw;
  height: 3.385vw;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.leave .leave-box .list li span {
  color: #D7000F;
}
.leave .leave-box .txt {
  color: #141414;
  font-size:3.865vw;
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0.1em;
  text-align: right;
}
.leave .lead {
  font-size:5.314vw;
  line-height: 1.9;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  position: relative;
  display: inline-block;
  margin-bottom: 6vw;
}
.leave .lead span {
  color: #D7000F;
  font-size:6.28vw;
  line-height: 1.4285714286;
  letter-spacing: 0;
  font-weight: 700;
}
.leave .lead .ls {
  letter-spacing: 0.1em;
}
.leave .photo {
  text-align: center;
}

/* merit
-------------------------------------*/
.merit {
  background: url(../images/page-common/merit-bg_sp.png) repeat;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.merit .inner {
  top: -17vw;
  position: relative;
  display: grid;
  gap: 17vw;
  margin-bottom: 0;
  padding: 0 0 2.5vw;
}
.merit .sec {
  width: 94.205vw;
  margin-inline: auto;
  border: 1vw solid #0362E4;
  background: #FFFFFF;
}
.merit .sec .ttl-box {
  background: linear-gradient(#0096df 0%, #0456e5 100%);
  padding: 0 0 7vw;
  text-align: center;
}
.merit .sec .num {
  background: #FFFFFF;
  color: #141414;
  font-size:3.865vw;
  line-height: 1.625;
  letter-spacing: 0.1em;
  font-weight: 700;
  position: relative;
  top: -8.5vw;
  display: inline-flex;
  padding: 2.2vw 8.4vw;
  margin-bottom: -8.5vw;
}
.merit .sec .num span {
  color: #0488E5;
}
.merit .sec h2 {
  color: #FFFFFF;
  text-align: center;
  font-size:5.797vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin: -1vw 0 0;
}
.merit .sec h2 span {
  font-size:3.865vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: block;
  margin-bottom: 1vw;
}
.merit .sec .content {
  padding: 5vw 3.86vw 3.5vw;
  display: grid;
  gap: 2vw;
}
.merit .sec .txt-box {
  order: 2;
}
.merit .sec .txt-box .list {
  background: #EFEFEF;
  padding: 4.5vw 5vw 4.2vw;
  display: grid;
  gap: 1vw;
  margin-bottom: 4vw;
}
.merit .sec .txt-box .list span {margin: -2.6vw -2vw 0vw 0;font-size:3.865vw;line-height: 1.875;letter-spacing: 0.1em;font-weight: 500;text-align: right;}
.merit .sec .txt-box .list li {
  font-size:3.865vw;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
  padding: 0 0 0 6vw;
}
.merit .sec .txt-box .list li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1.5vw;
  width: 4.834vw;
  height: 4.834vw;
  background: url(../images/page-common/merit-check.svg) no-repeat;
  background-size: contain;
}
.merit .sec .txt-box .txt {
  font-size:3.382vw;
  line-height: 1.85714;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 2vw;
}
.merit .sec .photo {
  order: 1;
  margin-bottom: 1vw;
}
/* merit03 */
.merit .merit03 .ttl-box {
  padding: 0 0 7vw;
}
.merit .merit03 h2 {
  line-height: 1.5;
}
.merit .merit03 .photo {margin-bottom: 2.5vw;}

/* product
-------------------------------------*/
.product {
  background: url(../images/page-common/product-bg_sp.png) repeat;
  background-size: contain;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.product .inner {
  width: 91.79vw;
  margin-inline: auto;
  padding: 19vw 0;
  text-align: center;
}
.product h2 {
  text-align: center;
  margin-bottom: 5.7vw;
}
.product .subt-box {
  margin-bottom: 0vw;
  position: relative;
}
.product .subt01 {
  font-size: 4.106vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: center;
  color: #FFFFFF;
  display: inline-block;
  position: relative;
  margin-bottom: 3.563vw;
}
.product .subt01::before,
.product .subt01::after {
 content: "";
 position: absolute;
 top: 0vw;
}
.product .subt01::before {
 background: url(../images/page-common/product-subt-line-l_sp.svg)no-repeat;
 background-size: contain;
 width: 3.385vw;
 height: 5.315vw;
 left: -4vw;
}
.product .subt01::after {
 background: url(../images/page-common/product-subt-line-r_sp.svg)no-repeat;
 background-size: contain;
 width: 3.385vw;
 height: 5.315vw;
 right: -4vw;
}
.product .subt02 {
  font-size: 4.831vw;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: left;
  color: #FFFFFF;
  margin-bottom: 5.125vw;
  display: flex;
  gap: 0.8vw;
  margin-left: 2.8vw;
}
.product .subt02 span {
  font-size: 11.111vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FDF202;
}
.product .subt03 {
  text-align: center;
}
.product .subt03 img {
  width: 81.813vw;
  height: auto;
}

.product .item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9.5vw;
  position: relative;
  margin-bottom: 14.5vw;
}
.product .item li {
  background: #FFFFFF;
}
.product .item li .inner-Box {
  position: relative;
  padding: 5vw 4.83vw 4.8vw;
}
.product .item li .icon {
  position: absolute;
  top: -5vw;
  left: -2.5vw;
  background: #FDF202;
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  border-radius: 50%;
  width: 21.74vw;
  height: 21.74vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0.5vw 0 0;
}
.product .item li .icon span {
  font-size:3.14vw;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: block;
  margin: 0 0 -1vw;
}
.product .item li .company {
  border: 0.2vw solid #1C1C1C;
  font-size:3.382vw;
  line-height: 1.86;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 2vw;
  position: relative;
  right: 0;
  width: fit-content;
  margin-left: auto;
  display: flex;
}
.product .item li .company .en {
  font-size:3.382vw;
  /* line-height: 2.142857; */
  letter-spacing: 0em;
  font-weight: 500;
  color: #FFFFFF;
  background: #1C1C1C;
  padding: 0 2.35vw;
}
.product .item li .company .type {padding: 0 2.3vw;}

.product .item li .price-frame {
  display: grid;
  align-items: center;
  grid-template-columns: 29.56% 1fr;
  gap: 4vw;
  margin: 0 0 -5.7vw;
}
.product .item .item01 .price-frame,
.product .item .item02 .price-frame,
.product .item .item03 .price-frame {gap: 12vw;}
.product .item li .price-frame .include {
  font-size: 3.865vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  border: 0.2vw solid #1C1C1C;
  padding: 1.25vw 0;
  width: 24.7vw;
  position: relative;
  top: 1.2vw;
}
.product .item li .price {
  display: inline-flex;
  font-size: 16.908vw;
  line-height: 1.1;
  letter-spacing: 0em;
  font-weight: 700;
  color: #D7000F;
  position: relative;
  z-index: 2;
  align-items: baseline;
  top: -1vw;
  justify-content: flex-end;
  letter-spacing: -0.05em;
}
.product .item li .price::after {
  content: "";
  position: absolute;
  bottom: 5vw;
  right: 0;
  width: 90%;
  height: 1.932vw;
  background: #FFDF4D;
  z-index: -1;
}
.product .item li .price .yen-mark {
  font-size: 5.797vw;
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0.1em;
  color: #1C1C1C;
  position: relative;
  top: -1vw;
}
.product .item li .price .yen {
  font-size: 5.797vw;
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0.1em;
  color: #1C1C1C;
  position: relative;
  top: -1vw;
  left: 0.5vw;
}
.product .item li .price .small {
  font-size: 9.662vw;
  font-weight: 700;
  line-height: 1.925;
  position: relative;
  top: -1vw;
  margin: 0 0.3vw 0 0;
  letter-spacing: 0;
}
.product .item li .price02 {
  font-size: 2.898vw;
  line-height: 2.5;
  letter-spacing: 0em;
  font-weight: 500;
  margin-bottom: 3vw;
  text-align: right;
}
.product .item li .detail {
  background: #F4F4F4;
  margin-bottom: 5.1vw;
}
.product .item li .detail:last-child {
  margin-bottom: 0;
}
.product .item li .detail h3 {
  font-size: 3.865vw;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
  background: #D4D4D4;
  cursor: pointer;
  position: relative;
}
.product .item li .detail h3::after {
  content: "▼";
  position: absolute;
  right: 2.2vw;
  top: 50%;
  transform: translateY(-50%);
  font-size:3.865vw;
}
.product .item li .detail h3.is-open::after  {
  content: "▲";
}
.product .item li .detail h3 span {
  font-weight: 500;
  font-size:3.382vw;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
}
.product .item li .detail .list {
  padding: 4.5vw 4.8vw;
  display: grid;
  gap: 3.4vw;
}
.product .item li .detail .list li {
  font-size: 3.382vw;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  font-weight: 400;
  border-bottom: 0.2vw dashed #D2D2D2;
  position: relative;
  background: none;
  width: auto;
  text-align: left;
  padding: 0 0 1.5vw 4.5vw;
}
.product .item li .detail .list li::before {
  position: absolute;
  content: "・";
  left: 0;
  top: 0;
  color: #1C1C1C;
  font-size: 3.382vw;
  letter-spacing: 0.05em;
}
.product .item li .detail .list li span {
  font-size: 2.898vw;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 400;
}
.product .item li .detail .list .etc {
  font-weight: 400;
  font-size: 3.382vw;
  letter-spacing: 0.05em;
  line-height: 1.71428;
  text-align: left;
  margin: -1vw 0 0 4.2vw;
}

.product .bnr {
  width: 83.575vw;
  margin-inline: auto;
}

/* works
-------------------------------------*/
.works .inner{
  width: 91.79vw;
  margin-inline: auto;
  padding: 20.6vw 0 0;
}
.works .enttl {
  font-weight: 400;
  font-size:4.348vw;
  line-height: 1;
  text-align: center;
  position: relative;
  margin-bottom: 7.2vw;
}
.works .enttl::after {
  content: "";
  position: absolute;
  bottom: -3vw;
  left: 50%;
  transform: translateX(-50%);
  width: 8.5vw;
  height: 0.2vw;
  background: #1C1C1C;
}
.works h2 {
  font-weight: bold;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  color: #141414;
  margin-bottom: 9vw;
}

/* menu
-------------------------------------*/
.menu {
  background: #EFEFEF;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.menu .inner {
  width: 91.79vw;
  margin-inline: auto;
  padding: 9.2vw 0 24.2vw;
}
.menu h2 {
  font-weight: bold;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 6.5vw;
}
.menu .menu-box {
  display: grid;
  gap: 7.5vw;
}
.menu .menu-box .bottom {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7.5vw;
}
.menu .menu-item {
  background: #FFFFFF;
}
.menu .menu-item li {
  text-align: center;
}
.menu .menu-item.mizumawari .item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.8vw;
  padding: 7.2vw 4.8vw;
}
.menu .menu-item.gaisou .item,
.menu .menu-item.other .item{
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.8vw;
  padding: 7.2vw 4.8vw;
}
.menu .menu-box h3 {
  font-weight: bold;
  font-size:4.348vw;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 5.8vw 0;
}
.menu .menu-box .mizumawari h3 {
  background: #0488E5;
}
.menu .menu-box .gaisou h3 {
  background: #00A63C;
}
.menu .menu-box .other h3 {
  background: #9C6AA5;
}


}