@charset "UTF-8";

/*
 * 商品ページ
 */

.p-main {
  background: #89daff;
}

.p-mv-note {
  line-height: 1.75;
}

.p-type {
  overflow: hidden;
}

.p-type-item {
  background: #fff;
  padding-bottom: 15px;
  position: relative;
}

.p-type-item::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-type-item--cream::before {
  background-image: url("../image/product/type_cream.png");
  left: 0;
  right: 0;
  top: -10%;
  margin: auto;
  width: 100%;
  max-width: 220px;
  height: 122px;
}

.p-type-item--mini::before {
  background-image: url("../image/product/type_mini.png");
  top: -10px;
  right: 0;
  width: 38.666%;
  max-width: 116px;
  height: 224px;
}

.p-type-item__lead {
  font-weight: 700;
  font-size: 19px;
}

.p-type-item__lead > sup {
  font-size: 50%;
  top: -.85em;
}

.p-type-item__note {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px;
}

.p-type-item__text {
  font-weight: 500;
  margin-top: 10px;
  padding-right: 20px;
  font-size: 14px;
}

.p-type-item__label {
  margin-top: 10px;
}

.p-type-item-logo {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px dotted #bab7b6;
}

.p-type-item-logo__content {
  margin-left: auto;
  margin-right: auto;
  max-width: 123px;
}

.p-type-item-btn {
  margin-top: 15px;
}

.p-type-title {
  margin-left: auto;
  margin-right: auto;
}

.p-type-title-mini {
  margin-left: auto;
  margin-right: auto;
}

.p-feature {
  padding-top: 60px;
}

.p-feature-highlight {
  color: #e20012;
}

.p-feature-tech {
  margin-left: auto;
  margin-right: auto;
}

.p-feature-border__content {
  border: 4px dotted #eabbc2;
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
}

.p-feature-border__title {
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
}

.p-feature-approach-list {
  margin-top: -30px;
}

.p-feature-approach-list li {
  position: relative;
  padding-left: 40px;
  margin-top: 30px;
}

.p-feature-approach-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .3em;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  width: 24px;
  height: 38px;
}

.p-feature-approach-list li:nth-child(1)::before {
  background-image: url("../image/product/feature_number01.png");
}

.p-feature-approach-list li:nth-child(2)::before {
  background-image: url("../image/product/feature_number02.png");
}

.p-feature-approach-list li:nth-child(3)::before {
  background-image: url("../image/product/feature_number03.png");
}

.p-feature-approach-list-large {
  font-size: 18px;
  font-weight: 500;
}

.p-feature-approach-list-large > sup {
  font-size: 50%;
}

.p-feature-approach-list-small {
  font-size: 12px;
  display: inline-block;
  margin-top: 10px;
}

.p-feature-approach-list-red {
  color: #e20012;
}

.p-feature-approach-note {
  font-size: 12px;
  margin-top: 30px;
}

.p-feature-figure {
  padding-top: 40px;
}

.p-feature-figure-note {
  font-size: 12px;
  margin-top: 20px;
}

.p-use-step__text {
  font-size: 14px;
  text-align: justify;
  line-height: 1.75;
}

.p-use-circle {
  background-color: rgba(197, 230, 243, .4);
  border-radius: 97px;
  height: 194px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-use-circle__content {
  font-weight: 700;
  font-size: 32.89px;
}

.p-milk-product-panel {
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
}

.p-milk-product-left__head {
  font-weight: 700;
  font-size: 19px;
}

.p-milk-product-left__head sup {
  font-size: 65%;
}

.p-milk-product-left__label {
  margin-top: 20px;
  width: 154px;
}

.p-milk-product-left__note {
  font-weight: 500;
  font-size: 11px;
  margin-top: 5px;
}

.p-bodywash-product-panel {
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
}

.p-bodywash-product-left__head {
  font-weight: 700;
  font-size: 19px;
}

.p-bodywash-product-left__label {
  margin-top: 20px;
  width: 154px;
}

.p-bodywash-product-left__note {
  font-weight: 500;
  font-size: 11px;
  margin-top: 15px;
}

.p-bodywash-feature__box {
  padding-bottom: 50px;
  background: #fff;
}

.p-bodywash-feature__box:not(:first-child) {
  border-top: 1px solid #12afff;
}

.p-bodywash-feature-heading {
  position: relative;
}

.p-bodywash-feature-heading__balloon {
  display: inline-block;
}

.p-bodywash-feature-heading-text {
  color: #009ee7;
  font-weight: 700;
  display: inline-block;
}

.p-bodywash-feature-heading-text sup {
  font-size: 50%;
  top: -.9em;
}

.p-bodywash-feature-heading__note {
  display: inline-block;
}

.p-bodywash-feature-heading__label-bl {
  display: inline-block;
}

.p-bodywash-feature-heading__label-pk {
  display: inline-block;
}

.p-bodywash-feature-kv {
  margin-left: auto;
  margin-right: auto;
}

.p-bodywash-feature-note {
  font-size: 12px;
}

.p-bodywash-feature-figure-01 {
  margin-right: auto;
  margin-left: auto;
}

.p-bodywash-feature-figure-02__balloon {
  width: 161px;
  height: 161px;
}

@media screen and (min-width: 768px) {
  .p-mv {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-mv-note {
    font-size: 12px;
    margin-top: 35px;
    max-width: 1030px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-type {
    padding-top: 160px;
    padding-bottom: 50px;
    background: url("../image/product/bg_pattern.png");
    background-position: bottom 30px right -120px;
    background-size: 532px auto;
    background-repeat: no-repeat;
  }

  .p-type-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 1022px;
    padding-top: 45px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-type-item {
    width: calc(33.333% - 40px);
    margin-left: 20px;
    margin-right: 20px;
  }

  .p-type-item--cream {
    padding-top: 8%;
    padding-left: 30px;
    padding-right: 30px;
  }

  .p-type-item--mini {
    padding-top: 30px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .p-type-item__lead {
    padding-left: 10px;
    padding-right: 60px;
  }

  .p-type-item__text {
    padding-left: 10px;
  }

  .p-type-item__label {
    width: 132px;
    padding-left: 10px;
  }

  .p-type-item-btn {
    margin-left: auto;
    margin-right: auto;
    max-width: 240px;
  }

  .p-type-item-btn__content {
    -webkit-transition: opacity .25s ease;
    transition: opacity .25s ease;
  }

  .p-type-item-btn__content:hover {
    opacity: .8;
  }

  .p-type-title {
    max-width: 1000px;
  }

  .p-type-title-mini--milk {
    width: 154px;
  }

  .p-type-title-mini--cream {
    width: 197px;
    margin-top: 70px;
  }

  .p-feature {
    background: url("../image/product/bg_pattern.png"), url("../image/product/bg_pattern.png");
    background-repeat: no-repeat;
    padding-bottom: 100px;
    background-position: top 340px left -150px, bottom 450px right -150px;
    background-size: 532px auto;
  }

  .p-feature-section {
    max-width: 1020px;
    padding-left: 10px;
    padding-right: 10px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-feature-panel {
    position: relative;
    margin-top: 50px;
    padding-top: 135px;
    padding-bottom: 100px;
    background: #fff;
  }

  .p-feature-title {
    position: absolute;
    width: 520px;
    left: 0;
    right: 0;
    top: -68px;
    margin: auto;
  }

  .p-feature-tech {
    max-width: 840px;
  }

  .p-feature-border__content {
    margin-top: 80px;
    max-width: 900px;
  }

  .p-feature-border__title {
    width: 352px;
    padding-right: 30px;
    padding-left: 30px;
    margin-top: -30px;
  }

  .p-feature-approach {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 870px;
    margin-left: auto;
    margin-right: auto;
    padding: 40px 20px;
  }

  .p-feature-approach__left {
    -ms-flex-preferred-size: 34.698%;
    flex-basis: 34.698%;
    max-width: 34.698%;
    margin-top: -10px;
  }

  .p-feature-approach__right {
    -ms-flex-preferred-size: 65.302%;
    flex-basis: 65.302%;
    max-width: 65.302%;
    padding-left: 40px;
  }

  .p-feature-figure {
    max-width: 890px;
    padding-left: 30px;
    padding-right: 30px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-feature-figure-last {
    margin-top: 35px;
    margin-right: -24px;
  }

  .p-feature-figure-note--center {
    text-align: center;
  }

  .p-use {
    background: #fff;
    position: relative;
    margin-top: 100px;
    padding-top: 120px;
    padding-bottom: 90px;
  }

  .p-use-section {
    max-width: 1100px;
    padding-left: 25px;
    padding-right: 15px;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
  }

  .p-use-title {
    position: absolute;
    width: 497px;
    left: 0;
    right: 0;
    top: -68px;
    margin: auto;
  }

  .p-use-step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -5%;
    margin-right: -5%;
  }

  .p-use-step-item {
    width: calc(33.333% - 10%);
    margin-left: 5%;
    margin-right: 5%;
  }

  .p-use-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-use-box__left {
    width: 194px;
  }

  .p-use-box__right {
    width: calc(100% - 194px);
    padding-left: 56px;
  }

  .p-use-box--mt {
    margin-top: 65px;
  }

  .p-milk-product {
    margin-top: 80px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .p-milk-product-panel {
    position: relative;
    margin-top: 60px;
    padding: 40px 35px 35px 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1000px;
  }

  .p-milk-product-left {
    position: absolute;
    top: 6%;
    left: 3%;
  }

  .p-milk-product-right {
    width: 100%;
  }

  .p-milk-product-right__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .p-milk-product-right__image-pc {
    margin-top: -9%;
    margin-right: -3.85%;
  }

  .p-milk-product-right__image-sp {
    display: none;
  }

  .p-milk-product-right-item--normal {
    width: 27.5%;
    margin-left: .5%;
    margin-right: 4%;
  }

  .p-milk-product-right-item--large {
    width: 27.5%;
    margin-right: 5%;
  }

  .p-milk-product-right-item--tsumekae {
    width: 35%;
  }

  .p-bodywash {
    padding-top: 145px;
    padding-bottom: 110px;
    background: url("../image/product/bg_pattern.png"), url("../image/product/bg_pattern.png"), url("../image/product/bg_pattern.png");
    background-position: top 600px right -120px, top 1100px left -120px, top 1400px right -120px;
    background-size: 532px auto;
    background-repeat: no-repeat;
  }

  .p-bodywash-product {
    margin-top: 80px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .p-bodywash-product-panel {
    padding: 55px 35px 35px 55px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1000px;
  }

  .p-bodywash-product-left {
    width: 29.12%;
    padding-right: 5%;
  }

  .p-bodywash-product-right {
    width: 70.88%;
  }

  .p-bodywash-product-right__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .p-bodywash-product-right__image-pc {
    margin-top: -15%;
    margin-right: -5.5%;
    margin-left: -4.3%;
  }

  .p-bodywash-product-right__image-sp {
    display: none;
  }

  .p-bodywash-product-right-item {
    width: 50%;
  }

  .p-bodywash-product-right__btn {
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-bodywash-feature {
    margin-top: 60px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .p-bodywash-feature__box {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-bodywash-feature-heading__balloon {
    position: absolute;
    width: 164px;
  }

  .p-bodywash-feature-heading-text {
    font-size: 26px;
    padding-top: 50px;
    padding-left: 170px;
  }

  .p-bodywash-feature-heading-text--02 {
    line-height: 2;
  }

  .p-bodywash-feature-heading__note {
    padding-top: 25px;
    padding-left: 170px;
  }

  .p-bodywash-feature-heading__label-bl {
    margin-left: 12px;
    width: 28.313%;
  }

  .p-bodywash-feature-heading__label-pk {
    width: 176px;
    padding-bottom: 20px;
  }

  .p-bodywash-feature-heading--03 {
    padding-right: 161px;
  }

  .p-bodywash-feature-note-center {
    padding-top: 40px;
    text-align: center;
  }

  .p-bodywash-feature-kv {
    margin-top: 60px;
    max-width: 894px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .p-bodywash-feature-approach {
    max-width: 880px;
    padding-left: 15px;
    padding-right: 15px;
    margin-top: 55px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: auto;
    margin-left: auto;
  }

  .p-bodywash-feature-approach__left {
    width: 36.47%;
  }

  .p-bodywash-feature-approach__right {
    padding-left: 40px;
    width: 63.53%;
  }

  .p-bodywash-feature-note {
    margin-top: 30px;
    max-width: 880px;
    padding-left: 15px;
    padding-right: 15px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-bodywash-feature-figure-01 {
    max-width: 836px;
    margin-top: 40px;
    padding-right: 15px;
    padding-left: 15px;
  }

  .p-bodywash-feature-figure-02 {
    margin-top: 30px;
    max-width: 860px;
    padding-left: 10px;
    padding-right: 10px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
  }

  .p-bodywash-feature-figure-02__balloon {
    position: absolute;
    right: 20px;
    top: -176px;
  }
}

@media screen and (max-width: 767px) {
  .p-mv-note {
    font-size: 11px;
    padding-top: 25px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .p-type {
    padding-top: 20px;
    padding-bottom: 20px;
    background: url("../image/product/bg_pattern.png"), url("../image/product/bg_pattern.png");
    background-position: top 16% center, bottom 32% center;
    background-size: 160% auto;
    background-repeat: no-repeat;
  }

  .p-type-item {
    width: 93.75%;
    max-width: 320px;
    padding-left: 30px;
    padding-right: 30px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-type-item--cream {
    margin-top: 110px;
    padding-top: 70px;
  }

  .p-type-item--mini {
    margin-top: 75px;
    padding-top: 25px;
  }

  .p-type-item__lead {
    padding-left: 15px;
    padding-right: 20px;
    margin-top: 10px;
  }

  .p-type-item__text {
    padding-left: 15px;
  }

  .p-type-item__label {
    width: 137px;
    padding-left: 15px;
  }

  .p-type-title {
    max-width: 480px;
  }

  .p-type-title-mini--milk {
    width: 166px;
  }

  .p-type-title-mini--cream {
    width: 236px;
    margin-top: 90px;
  }

  .p-feature {
    padding-bottom: 70px;
  }

  .p-feature-title {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-feature-tech {
    position: relative;
    padding-top: 45px;
    margin-top: 15px;
    padding-left: 12.5px;
    padding-right: 12.5px;
    width: calc(100% - 20px);
    max-width: 480px;
    background-color: #fff;
  }

  .p-feature-tech::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 132px;
    height: 11px;
    background: #f8dae0;
  }

  .p-feature-border {
    width: calc(100% - 20px);
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 25px;
    padding-top: 58px;
    background-color: #fff;
  }

  .p-feature-border__content {
    width: 93.333%;
  }

  .p-feature-border__title {
    width: 230px;
    padding-right: 10px;
    padding-left: 10px;
    margin-top: -18px;
  }

  .p-feature-approach {
    background: #fff;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 30px;
    width: calc(100% - 20px);
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-feature-approach__right {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .p-feature-figure {
    width: calc(100% - 20px);
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 25px;
    background-color: #fff;
  }

  .p-feature-figure-first {
    padding-left: 10px;
    padding-right: 10px;
  }

  .p-feature-figure-last {
    margin-top: 50px;
  }

  .p-feature-figure-note--center {
    padding-left: 5px;
    padding-right: 5px;
  }

  .p-feature-figure-note--last {
    padding-left: 20px;
    padding-right: 20px;
  }

  .p-use {
    padding-bottom: 55px;
  }

  .p-use-section {
    width: 100%;
    max-width: 480px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-use-title {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-use-step {
    margin-top: 10px;
  }

  .p-use-step__text {
    width: 100%;
    padding-left: 10.714%;
    padding-right: 10.714%;
    padding-top: 20px;
    padding-bottom: 15px;
    background: #fff;
  }

  .p-use-step-item:not(:first-child) {
    margin-top: -7%;
  }

  .p-use-step-item:not(:first-child).p-use-step-item--cream02 {
    margin-top: -4%;
  }

  .p-use-box {
    margin-top: 25px;
  }

  .p-use-box__left {
    margin-bottom: -50px;
  }

  .p-use-box--mt {
    margin-top: 50px;
  }

  .p-use-circle {
    width: 194px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-milk-product {
    margin-top: 100px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .p-milk-product-panel {
    width: 93.75%;
    max-width: 320px;
    margin-top: 70px;
    padding-top: 45px;
    padding-bottom: 45px;
  }

  .p-milk-product-left {
    padding-right: 28px;
    padding-left: 28px;
  }

  .p-milk-product-right__image-pc {
    display: none;
  }

  .p-milk-product-right-item--normal {
    margin-top: -20%;
  }

  .p-milk-product-right-item--large {
    margin-top: 50px;
  }

  .p-milk-product-right-item--tsumekae {
    margin-top: 70px;
  }

  .p-milk-product-right__btn {
    padding-right: 10%;
    padding-left: 10%;
  }

  .p-bodywash {
    padding-bottom: 70px;
    background: url("../image/product/bg_pattern.png");
    background-position: top 5.5% center;
    background-size: 160% auto;
    background-repeat: no-repeat;
  }

  .p-bodywash-product {
    margin-top: 100px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .p-bodywash-product-panel {
    width: 93.75%;
    max-width: 320px;
    padding-top: 45px;
    padding-bottom: 45px;
  }

  .p-bodywash-product-left {
    padding-right: 28px;
    padding-left: 28px;
  }

  .p-bodywash-product-right__image-pc {
    display: none;
  }

  .p-bodywash-product-right-item--bw {
    margin-top: 30px;
  }

  .p-bodywash-product-right-item--tsumekae {
    margin-top: 60px;
  }

  .p-bodywash-product-right__btn {
    padding-right: 10%;
    padding-left: 10%;
  }

  .p-bodywash-feature {
    width: 93.75%;
    max-width: 440px;
    margin-top: 25px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-bodywash-feature-heading__balloon {
    width: 76px;
  }

  .p-bodywash-feature-heading-text {
    font-size: 18px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .p-bodywash-feature-heading__note {
    padding-top: 10px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .p-bodywash-feature-heading__label-bl {
    position: absolute;
    width: 172px;
    top: 15px;
    right: 15px;
  }

  .p-bodywash-feature-heading__label-pk {
    position: absolute;
    width: 127px;
    top: 15px;
    right: 15px;
  }

  .p-bodywash-feature-note-center {
    padding-top: 30px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .p-bodywash-feature-kv {
    width: 91.666%;
    margin-top: 30px;
  }

  .p-bodywash-feature-approach {
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .p-bodywash-feature-approach__right {
    padding-top: 20px;
  }

  .p-bodywash-feature-note {
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .p-bodywash-feature-figure-01 {
    margin-top: 20px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .p-bodywash-feature-figure-02 {
    margin-top: 25px;
  }

  .p-bodywash-feature-figure-02__balloon {
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
  }

  .p-bodywash-feature-figure-02__recommended {
    margin-top: 30px;
  }
}