@charset "UTF-8";
@media screen and (min-width: 751px) {
  .pc-none {
    display: none; } }
@media screen and (max-width: 750px) {
  .pc-none {
    display: block; } }

@media screen and (min-width: 751px) {
  .sp-none {
    display: block; } }
@media screen and (max-width: 750px) {
  .sp-none {
    display: none; } }

@media screen and (min-width: 751px) {
  br.pc-none {
    display: none; } }
@media screen and (max-width: 750px) {
  br.pc-none {
    display: inline; } }

@media screen and (min-width: 751px) {
  br.sp-none {
    display: inline; } }
@media screen and (max-width: 750px) {
  br.sp-none {
    display: none; } }

.mw {
  max-width: 95%;
  margin: 0 auto; }

.l-main {
  border-bottom: 1px solid #c8c8c8;
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
  color: #3C3C3C;
  font-size: min(3.7333333333vw, 22.4px);
  font-style: normal;
  font-weight: 300;
  line-height: 170%;
  /* 23.8px */
  letter-spacing: 0.56px; }
  .l-main img {
    max-width: 100%;
    width: 100%; }

/*
* animation
*/
.entrance.is-animate {
  animation: fadeIn .6s ease-in-out 0s 1 normal forwards; }

@keyframes fadeInMove {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    top: 30px;
    opacity: 0; }
  100% {
    display: block;
    top: 0;
    opacity: 1; } }
.l-main > section {
  opacity: 0;
  top: 30px;
  position: relative;
  box-sizing: border-box;
  transition-duration: .6s;
  transition-delay: .2s;
  transition-timing-function: ease-in-out;
  /*	@include mq(pc) {
  			font-size: 0.875rem;
  	}*/ }
  .l-main > section .inr {
    width: 90%;
    margin: 0 auto; }
    @media screen and (max-width: 750px) {
      .l-main > section .inr {
        width: 90%;
        margin: 0 auto; } }

.l-main > section.is-animate {
  opacity: 1;
  top: 0; }

/***/
.btn__more {
  text-align: center; }
  .btn__more a {
    /* --- ベース設定 --- */
    position: relative;
    z-index: 1;
    display: inline-block;
    box-sizing: border-box;
    width: 80vw;
    max-width: 100%;
    margin: min(5.3333333333vw, 32px) auto 0;
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    background: linear-gradient(180deg, #F90 0%, #F75D36 100%);
    border: 1px solid #c8c8c8;
    border-radius: 50px;
    transition: 0.3s;
    /* --- 子要素: 矢印アイコン (::before) --- */ }
    .btn__more a span {
      display: inline-block;
      color: #fff;
      font-weight: bold;
      transition: 0.3s;
      font-size: min(4.2666666667vw, 25.6px);
      line-height: min(13.6vw, 81.6px); }
    .btn__more a::before {
      content: "";
      position: absolute;
      top: 0;
      display: block;
      background-image: url(../images/icon-arrow-white.svg);
      background-position: center;
      background-repeat: no-repeat;
      transition: 0.3s;
      right: min(6.9333333333vw, 41.6px);
      width: min(1.7333333333vw, 10.4px);
      height: min(13.6vw, 81.6px);
      background-size: min(1.7333333333vw, 10.4px) auto; }
    .btn__more a::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #c8c8c8;
      border-radius: 50px;
      opacity: 0;
      z-index: -1;
      transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    .btn__more a:hover {
      /*background: #c8c8c8;
      color: #fff;*/ }
      .btn__more a:hover span {
        color: #fff; }
      .btn__more a:hover::before {
        background-image: url(../images/icon-arrow-white.svg); }
      .btn__more a:hover::after {
        opacity: 1; }
    @media screen and (min-width: 751px) {
      .btn__more a {
        max-width: 550px; }
        .btn__more a span {
          font-size: min(4vw, 24px);
          line-height: min(13.3333333333vw, 80px); }
        .btn__more a::before {
          right: min(6.9333333333vw, 41.6px);
          width: min(1.7333333333vw, 10.4px);
          height: min(13.3333333333vw, 80px);
          background-size: min(1.7333333333vw, 10.4px) auto; } }

/*.btn__more{
	text-align: center;
}
.btn__more a, .btn__more a span {
  display: inline-block;
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.btn__more a {
  width: 80vw;
  max-width: 100%;
  text-align: center;
  text-decoration: none;
  background: linear-gradient(180deg, #F90 0%, #F75D36 100%);
  color: #fff;
  font-weight: bold;
  border: 1px solid #c8c8c8;
  border-radius: 50px;
  position: relative;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  box-sizing: border-box; 
  margin: 15px auto 0;
	@include mq(pc) {
		max-width: 340px;
		line-height: 48px;
	}
}

.btn__more a:before {
  content: "";
  display: block;
  width: 6px;
  height: 48px;
  background-image: url(../images/icon-arrow-white.svg);
  background-size: 6px auto;
  background-position: center;
  position: absolute;
  right: 26px;
  top: 0;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }
  @media screen and (max-width: 750px) {
    .btn__more a:before {
      width: 1.73333vw;
      height: 13.6vw;
      background-size: 1.73333vw auto;
      right: 6.93333vw; } }

.btn__more a span {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 48px;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }
  @media screen and (max-width: 750px) {
    .btn__more a span {
      font-size: 3.73333vw;
      line-height: 13.6vw; 
	  } 
}

@media screen and (min-width: 768px) {
  .btn__more a:hover {
    color: #fff;
    background-color: #c8c8c8; 
	} 
}
@media screen and (min-width: 768px) {
  .btn__more a:hover:before {
    background-image: url(../images/icon-arrow-gray.svg); 
	} 
}
@media screen and (min-width: 768px) {
  .btn__more a:hover span {
    color: #fff; } 
}*/
@media screen and (max-width: 750px) {
  .product__description__more {
    text-align: center;
    /*max-width: 300px;*/
    /* margin: 10px auto; */ } }
.btn__cart a span, .btn__modal a, .btn__more a:before, .remodal-close:before, .voice__list li p {
  background-repeat: no-repeat; }

@media screen and (max-width: 767px) and (min-width: 750px) {
  .l-main .prod--picture img {
    width: revert-layer !important; } }
/*
* .prod--notes
*/
.prod--notes {
  margin: 0 auto;
  box-sizing: border-box;
  /*width: 93.3334vw;*/ }

.prod--notes li {
  /*letter-spacing: .04em;*/
  letter-spacing: 0.44px;
  padding-left: 1em;
  text-indent: -1em;
  font-size: min(2.9333333333vw, 17.6px);
  /*line-height: 1.8;*/
  line-height: 145%; }
  .prod--notes li:before {
    content: "※"; }
  .prod--notes li:first-child {
    margin-top: 0; }

.prod--notes.count {
  counter-reset: my-counter; }
  .prod--notes.count li {
    padding-left: 2em;
    text-indent: -2em; }
    .prod--notes.count li::before {
      counter-increment: my-counter;
      content: "※" counter(my-counter);
      padding-right: 5px; }

.prod--notes.dot li:before {
  content: "・"; }

.prod--notes.star li:before {
  content: "＊"; }

/*
*  .entrance
*/
.entrance {
  /*opacity: .5;*/
  margin: 0 auto 50px;
  box-sizing: border-box;
  /*	.entrance--title {
  		letter-spacing: 0.1em;
  		font-size:vw375(35);
  		line-height: 140%;
  		text-align: center;
  		padding-left: 9vw;
  
  		&--sub{
  			font-size: vw375(16);
  			text-align: center;
  			margin-top: 7px;
  		}
  	}*/ }
  .entrance .entrance--pictures {
    position: relative;
    margin-bottom: 68px; }
  .entrance .entrance--picture {
    position: relative; }
    .entrance .entrance--picture picture,
    .entrance .entrance--picture img {
      width: 100%;
      height: 100%; }
  .entrance .entrance__description {
    box-sizing: border-box;
    position: absolute;
    top: min(8.5333333333vw, 51.2px);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    color: #55342E; }
  .entrance .entrance--title {
    max-width: min(70.4vw, 422.4px);
    margin: 0 auto;
    text-align: center; }
  .entrance .entrance__catch {
    max-width: 85%;
    width: 100%;
    margin: 0 auto;
    position: absolute;
    bottom: -52px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%); }
  .entrance .prod--notes {
    width: fit-content;
    margin: 0 5% 0 auto; }

/*
* section
*/
.prod--copy {
  font-size: min(5.3333333333vw, 32px);
  font-family: "Noto Serif JP", serif;
  text-align: center;
  line-height: 160%;
  letter-spacing: 2.2px; }

.en-ttl {
  font-size: min(3.2vw, 19.2px);
  font-weight: 300;
  line-height: 170%;
  margin-bottom: 20px;
  text-align: center; }
  .en-ttl span {
    color: #36B7A7;
    font-family: Poppins;
    font-size: min(6.4vw, 38.4px);
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 3.72px;
    display: block; }

/*
* set
*/
.set {
  padding: 0 0 50px;
  overflow: hidden; }
  .set .prod--copy {
    width: 100%;
    max-width: min(59.4666666667vw, 356.8px);
    margin: 0 auto 20px;
    line-height: 160%;
    letter-spacing: 2.2px;
    color: #fff;
    padding: 20px 0;
    position: relative;
    /* 子要素の基準点にする */
    z-index: 1; }
    .set .prod--copy::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw;
      height: 100%;
      background: linear-gradient(180deg, #AFDCE1 2.13%, #68C1C3 51.06%, #AFDCE1 100%);
      z-index: -1; }
  .set.set03 {
    padding-top: 50px; }

.prod--name {
  font-size: min(5.3333333333vw, 32px);
  font-style: normal;
  line-height: 170%;
  text-align: center;
  margin-bottom: 20px; }
  .prod--name span {
    display: block;
    font-size: min(2.6666666667vw, 16px);
    padding: 4px 16px;
    border: 1px solid #C8C8C8;
    line-height: 1;
    width: fit-content;
    margin: 0 auto 10px; }

.prod--img {
  margin-bottom: 20px; }
  .prod--img.kit02 {
    max-width: 90%;
    margin: 0 auto 20px; }

.prod--price {
  max-width: 95%;
  margin: 0 auto; }

.set-ttl {
  font-size: min(2.9333333333vw, 17.6px);
  font-style: normal;
  font-weight: 300;
  line-height: 145%;
  margin-top: 20px;
  margin-bottom: 9px; }

.guide {
  text-align: center;
  padding: 10px;
  color: #55342E;
  border-top: solid 1px #55342E;
  border-bottom: solid 1px #55342E;
  font-size: min(3.2vw, 19.2px);
  line-height: 170%;
  max-width: 80%;
  margin: 20px auto 0; }

/*
* about
*/
.about {
  padding: 50px 0;
  text-align: center;
  line-height: 170%;
  letter-spacing: 0.56px;
  overflow-x: hidden; }
  .about h3 {
    /*font-family: "Noto Serif JP";
    font-size: vw375(20);
    font-style: normal;
    font-weight: 400;
    line-height: 170%;
    margin-bottom: 20px;*/
    width: 100%;
    max-width: min(70.6666666667vw, 424px);
    margin: 0 auto 20px; }

.about-imgs {
  position: relative;
  margin-bottom: 20px; }
  .about-imgs p {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%; }
  .about-imgs .about-img {
    width: min(100vw, 750px);
    /* マージン：画面半分(50vw)と最大幅半分(375px)の小さい方を使って計算 */
    margin-left: calc(50% - min(50vw, 375px));
    margin-right: calc(50% - min(50vw, 375px)); }

/*
* worries
*/
.worries {
  background: linear-gradient(180deg, #838383 4.5%, #585858 100%);
  color: #fff;
  padding: 48px 0 20px;
  position: relative;
  z-index: 2; }
  .worries::after {
    content: "";
    position: absolute;
    top: 99.9%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    height: 50px;
    background-color: #585858;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    z-index: 1; }
  .worries .inr {
    max-width: 80%; }
  .worries h2 {
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: min(6.4vw, 38.4px);
    font-style: normal;
    font-weight: 300;
    line-height: 170%;
    letter-spacing: 0.96px;
    border-bottom: dotted 4px #fff;
    width: fit-content;
    margin: 0 auto 20px; }
  .worries .prod--notes li {
    letter-spacing: .04em;
    padding-left: 2em;
    text-indent: -2em;
    font-size: min(3.7333333333vw, 22.4px);
    line-height: 1.8;
    margin-top: 20px; }
    .worries .prod--notes li:before {
      content: "";
      display: inline-block;
      background: url(../images/worries_icon.png);
      background-size: contain;
      width: 20px;
      height: 24px;
      vertical-align: middle;
      margin-right: 8px; }
    .worries .prod--notes li:first-child {
      margin-top: 0; }
    .worries .prod--notes li strong {
      font-weight: bold; }
    @media screen and (min-width: 751px) {
      .worries .prod--notes li {
        padding-left: 1em;
        text-indent: -1.2em; } }

/*
* situation
*/
.situation {
  padding: 93px 0 15px;
  background: url("../images/situation_bg.jpg") no-repeat top center/cover;
  text-align: center;
  z-index: 1; }
  .situation::after {
    content: "";
    position: absolute;
    top: 99.9%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    height: 50px;
    background: url("../images/situation_bg.jpg") no-repeat bottom center/cover;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    z-index: 1; }
  .situation h2 {
    max-width: min(77.3333333333vw, 464px);
    width: 100%;
    margin: 0 auto 45px;
    /*font-size: vw375(19);
    font-style: normal;
    font-weight: 300;
    line-height: 170%;
    letter-spacing: 0.76px;
    margin-bottom: 45px;
    
    span{
    	font-size: vw375(24);
    	font-style: normal;
    	font-weight: 400;
    	line-height: 170%;
    	letter-spacing: 0.96px;
    	font-family: "Noto Serif JP";
    }*/ }
  .situation--img {
    margin-bottom: 10px; }
  .situation .prod--notes {
    width: fit-content;
    margin: 0 0 12px auto; }

/*
* intro
*/
.intro {
  padding: 83px 0 43px;
  background: url("../images/intro_bg.jpg") no-repeat top center/cover;
  text-align: center; }
  .intro h2 {
    max-width: min(65.0666666667vw, 390.4px);
    width: 100%;
    margin: 20px auto 20px;
    /*font-size: vw375(30);
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 1.2px;
    font-family: "Noto Serif JP";
    margin-bottom: 10px;
    small{
    	font-size: vw375(18);
    	font-style: normal;
    	font-weight: 400;
    	line-height: 140%;
    	letter-spacing: 0.72px;
    }*/ }
  .intro h3 {
    font-size: min(5.3333333333vw, 32px);
    font-style: normal;
    font-weight: 300;
    line-height: 170%;
    /* 34px */
    letter-spacing: 0.8px;
    margin-bottom: 16px; }
  .intro--txt {
    font-size: min(3.2vw, 19.2px);
    line-height: 170%; }
  .intro--img img {
    width: min(44.2666666667vw, 265.6px) !important;
    padding-left: 20%; }
  .intro h4 {
    max-width: min(64vw, 384px);
    width: 100%;
    margin: 0 auto 15px;
    /*font-family: "Noto Serif JP";
    font-size: vw375(16);
    font-style: normal;
    font-weight: 400;
    line-height: 170%;  27.2px 
    letter-spacing: 0.64px;
    margin-bottom: 10px;*/ }
  .intro .prod--notes {
    width: fit-content;
    margin: 18px 0 12px auto; }

/*
* point
*/
.num--ttl {
  color: #36B7A7;
  text-align: center;
  font-family: Poppins;
  font-size: min(6.4vw, 38.4px);
  font-style: normal;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.96px;
  margin-bottom: 10px; }
  .num--ttl span {
    display: block;
    padding: 5px 11px;
    border-radius: 50px;
    border: 1px solid #C8C8C8;
    background: #FFF;
    width: fit-content;
    margin: 0 auto;
    font-size: min(2.9333333333vw, 17.6px);
    font-family: normal;
    line-height: 170%;
    color: #3C3C3C;
    margin-top: 10px; }
  .num--ttl storong {
    font-size: min(8vw, 48px);
    font-style: normal;
    font-weight: 400;
    line-height: 170%;
    letter-spacing: 1.2px; }

.point h2 {
  font-size: min(3.4666666667vw, 20.8px);
  font-style: normal;
  font-weight: 300;
  line-height: 170%;
  /* 22.1px */
  letter-spacing: 0.52px;
  margin-bottom: 30px;
  text-align: center; }
  .point h2 span {
    font-family: "Noto Serif JP";
    font-size: min(6.4vw, 38.4px);
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    /* 36px */
    letter-spacing: 0.96px;
    color: #55342E;
    display: block;
    margin-top: 5px; }

.shirakaba {
  padding: 50px 0 40px;
  background: url("../images/shirakaba_bg.jpg") no-repeat top center/cover;
  text-align: center; }
  .shirakaba h2 {
    max-width: min(48vw, 288px);
    width: 100%;
    margin: 0 auto 37px; }
  .shirakaba--img li {
    margin-bottom: 30px; }
  .shirakaba .prod--notes {
    width: fit-content;
    margin: 18px 0 12px auto; }

.comp {
  padding: 50px 0 50px;
  background: url("../images/comp_bg.jpg") no-repeat top center/cover; }
  .comp h2 {
    max-width: min(77.3333333333vw, 464px);
    width: 100%;
    margin: 0 auto 30px; }
  .comp--img {
    text-align: center; }
    .comp--img li:nth-of-type(1) {
      margin-bottom: 30px; }
      .comp--img li:nth-of-type(1) p {
        text-align: left;
        margin-bottom: 18px; }
    .comp--img li:nth-of-type(2) {
      margin: 0 auto 20px; }
      .comp--img li:nth-of-type(2) img {
        max-width: 95% !important; }
    .comp--img h3 {
      font-size: min(4.8vw, 28.8px);
      font-style: normal;
      font-weight: 300;
      line-height: 160%;
      letter-spacing: 0.72px;
      margin-bottom: 20px; }
      .comp--img h3 sup {
        vertical-align: super;
        font-size: min(2.6666666667vw, 16px); }
  .comp .prod--notes.count li:last-child {
    counter-increment: none; }
    .comp .prod--notes.count li:last-child::before {
      content: "※"; }

.fragrance {
  padding: 50px 0 50px;
  background: url("../images/fragrance_bg.jpg") no-repeat top center/cover; }
  .fragrance h2 {
    max-width: min(59.7333333333vw, 358.4px);
    width: 100%;
    margin: 0 auto 30px; }
  .fragrance--img li :nth-child(1) {
    margin-bottom: 30px; }

/*
* allergy
*/
.allergy {
  padding: 83px 0 50px;
  background: url("../images/ag_bg.jpg") no-repeat top center/contain; }
  .allergy--ttl {
    font-size: min(5.0666666667vw, 30.4px);
    font-style: normal;
    font-weight: 300;
    line-height: 170%;
    /* 32.3px */
    letter-spacing: 0.76px;
    text-align: center;
    margin-bottom: 30px; }
    .allergy--ttl span {
      display: block;
      padding: 5px 11px;
      border-radius: 50px;
      border: 1px solid #C8C8C8;
      background: #FFF;
      width: fit-content;
      margin: 0 auto;
      font-size: min(2.9333333333vw, 17.6px);
      font-family: normal;
      line-height: 170%;
      color: #3C3C3C;
      margin-bottom: 10px; }
  .allergy--img {
    position: relative;
    margin-bottom: 22px; }
    .allergy--img .item {
      max-width: 74%;
      width: 100%;
      margin-left: 7%;
      margin-bottom: 25px; }
    .allergy--img h2 {
      position: absolute;
      max-width: min(16.2666666667vw, 97.6px);
      width: 100%;
      top: 0;
      right: 0; }
  .allergy .prod--notes {
    width: fit-content;
    margin: 0 0 0 auto; }
  .allergy--graph {
    max-width: 89%;
    margin: 0 auto 30px; }
  .allergy--graph-txt {
    text-align: center;
    font-size: min(2.9333333333vw, 17.6px);
    line-height: 145%;
    /* 15.95px */
    letter-spacing: 0.44px; }

/*
* step--intro
*/
.step--intro {
  padding: 50px 0;
  text-align: center; }
  .step--intro h2 {
    max-width: min(75.2vw, 451.2px);
    width: 100%;
    margin: 0 auto 20px;
    /*font-weight: 300;
    line-height: 170%;
    letter-spacing: 0.56px;
    margin-bottom: 20px;
    span{
    	font-family: "Noto Serif JP";
    	font-size: vw375(24);
    	font-style: normal;
    	font-weight: 400;
    	line-height: 170%; 
    	letter-spacing: 0.96px;
    }*/ }
  .step--intro--img {
    margin-bottom: 20px; }

/*
* step
*/
.step {
  padding: 50px 0 50px;
  /*h2{
  	font-size: vw375(13);
  	font-style: normal;
  	font-weight: 300;
  	line-height: 170%;
  	letter-spacing: 0.52px;
  	margin-bottom: 20px;
  	text-align: center;
  	
  	span{
  		font-family: "Noto Serif JP";
  		font-size: vw375(24);
  		font-style: normal;
  		font-weight: 400;
  		line-height: 150%;
  		letter-spacing: 0.96px;
  		color: $brown;
  		display: block;
  		margin-top: 5px;
  	}
  }*/ }
  .step.add {
    background: url("../images/step_add_bg.jpg") no-repeat top center/cover; }
  .step.even {
    background: url("../images/step_even_bg.jpg") no-repeat top center/cover; }
  .step h3 {
    font-size: min(3.2vw, 19.2px);
    font-style: normal;
    font-weight: 300;
    line-height: 170%;
    /* 20.4px */
    letter-spacing: 0.48px;
    margin-bottom: 30px;
    text-align: center; }
    .step h3 span {
      font-size: min(4.8vw, 28.8px);
      font-style: normal;
      font-weight: 300;
      line-height: 170%;
      /* 30.6px */
      letter-spacing: 0.72px; }
  .step--img {
    max-width: 80%;
    margin: 0 auto 30px; }
  .step--price {
    text-align: center;
    margin-bottom: 30px;
    font-size: min(3.2vw, 19.2px); }
  .step .prod--notes {
    width: fit-content;
    margin: 30px 0 0 auto; }

.step-notes {
  padding: 20px 0 50px; }

.st01 h2 {
  max-width: min(57.0666666667vw, 342.4px);
  width: 100%;
  margin: 0 auto 20px; }
.st01 .step--img {
  max-width: min(76.5333333333vw, 459.2px);
  width: 100%;
  margin: 0 auto 15px; }

.st02 h2 {
  max-width: min(66.1333333333vw, 396.8px);
  width: 100%;
  margin: 0 auto 20px; }
.st02 .step--img {
  max-width: min(77.3333333333vw, 464px);
  width: 100%;
  margin: 0 auto 15px; }

.st03 h2 {
  max-width: min(46.4vw, 278.4px);
  width: 100%;
  margin: 0 auto 20px; }
.st03 .step--img {
  max-width: min(77.3333333333vw, 464px);
  width: 100%;
  margin: 0 auto 15px; }

.st04 h2 {
  max-width: min(66.6666666667vw, 400px);
  width: 100%;
  margin: 0 auto 20px; }
.st04 .step--img {
  max-width: min(84.2666666667vw, 505.6px);
  width: 100%;
  margin: 0 auto 15px; }

/*
* company
*/
.company {
  padding: 60px 0 50px;
  background: url("../images/step_add_bg.jpg") no-repeat top center/cover;
  text-align: center; }
  .company .inr {
    position: relative; }
  .company h2 {
    max-width: min(79.4666666667vw, 476.8px);
    width: 100%;
    margin: 0 auto 27px;
    /*font-family: "Noto Serif JP";
    font-size: vw375(20);
    font-style: normal;
    font-weight: 400;
    line-height: 170%;  34px 
    letter-spacing: 2px;
    color: $brown;
    margin-bottom: 20px;*/ }
  .company p {
    font-size: min(3.2vw, 19.2px);
    font-style: normal;
    font-weight: 300;
    line-height: 170%;
    letter-spacing: 0.48px; }
  .company--img {
    max-width: 95%;
    margin: -19px auto 0;
    position: relative; }
  .company .prod--notes {
    width: fit-content;
    margin: 0 0 0 auto;
    position: absolute;
    right: 0;
    bottom: 0; }

/*
* promotion
*/
.promotion .inr {
  width: 100% !important; }
.promotion h2 {
  font-family: "Noto Serif JP";
  font-size: min(4.2666666667vw, 25.6px);
  font-weight: 400;
  line-height: 180%;
  /* 28.8px */
  letter-spacing: 1.6px;
  width: 100%;
  text-align: center;
  position: absolute;
  top: min(13.3333333333vw, 80px);
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%); }

/*
* detail
*/
.detail {
  padding: 20px 0 100px; }
  .detail h2 {
    font-size: min(3.7333333333vw, 22.4px);
    font-style: normal;
    font-weight: 300;
    line-height: 170%;
    /* 23.8px */
    letter-spacing: 0.56px;
    margin-bottom: 20px; }
  .detail h3 {
    font-size: min(2.9333333333vw, 17.6px);
    font-style: normal;
    font-weight: 300;
    line-height: 145%;
    /* 15.95px */
    letter-spacing: 0.44px;
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 10px; }
    .detail h3::before {
      content: "・"; }
  .detail p {
    font-size: min(2.4vw, 14.4px);
    font-style: normal;
    font-weight: 300;
    line-height: 145%;
    /* 13.05px */
    letter-spacing: 0.36px; }
  .detail li:not(last-child) {
    margin-bottom: 20px; }

/*
* float-cart
*/
@media screen and (max-width: 750px) {
  .prod--float-cart-btn a {
    width: 78vw;
    padding: 0;
    border: none;
    border-radius: inherit;
    color: #FFF;
    text-decoration: none;
    background-color: inherit;
    top: -3px;
    position: relative; }
    .prod--float-cart-btn a img {
      width: 100%;
      border-radius: min(3.4666666667vw, 20.8px);
      position: relative;
      transition: .3s ease-in-out;
      box-shadow: 0 4px #207B7D;
      top: 0; }
    .prod--float-cart-btn a:hover {
      background: none; }
      .prod--float-cart-btn a:hover img {
        top: 4px;
        box-shadow: 0 0px #207B7D;
        opacity: .6; } }

/*PCでも表示*/
@media screen and (min-width: 751px) {
  .topics__float-cart {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 0;
    overflow: hidden;
    padding: 0;
    box-sizing: border-box;
    /*transition-duration: .3s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);*/
    height: 128px;
    padding: 15px 0; }

  .prod--float-cart-btn a {
    width: 78vw; }
    .prod--float-cart-btn a img {
      width: 100%;
      border-radius: 13px;
      position: relative;
      transition: .3s ease-in-out;
      box-shadow: 0 4px #207B7D;
      top: 0; }
    .prod--float-cart-btn a:hover {
      background: none; }
      .prod--float-cart-btn a:hover img {
        top: 4px;
        box-shadow: 0 0px #207B7D;
        opacity: .6; } }
.float-bnr {
  display: none; }

@media screen and (max-width: 767px) {
  .m-float-container {
    bottom: -1px; } }
