@charset "UTF-8";

:root {
  /* Color */
  --color-black: #333333;
  --color-gray: #1a1a1a;
  --color-white: #fff;

  /* Font */
  --font-nunito: "Nunito", serif, Arial, sans-serif;
}



.wrap-content-normal {
  padding: 0;
  margin: 90px auto;
  width: 100%;
}

@media (max-width: 780px) {
  .wrap-content-normal {
    margin: 14.1025641026vw auto;
  }
}



.cleandental2609 {
  font-family: 'Noto Sans JP', serif, Arial, sans-serif;
  font-weight: 500;
  line-height: 1.6;
  color: #333333;
  letter-spacing: 0 !important;
  overflow: hidden;
}

.cleandental2609 a {
  color: #333333;
}

.cleandental2609 .flexBox_css {
  display: flex;
}

.cleandental2609 a {
  transition: .3s;
}

.sp,
.sp--inline,
.sp--inline-block {
  display: none;
}

@media screen and (max-width: 768px) {
  .cleandental2609 {
    font-size: 3.5897vw;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .sp--inline {
    display: inline;
  }

  .sp--inline-block {
    display: inline-block;
  }
}










.cleandental2609 .ws1400_box {
  width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.cleandental2609 .ws1100_box {
  width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.cleandental2609 .ws780_box {
  width: 780px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .cleandental2609 .ws1400_box {
    width: 100%;
  }

  .cleandental2609 .ws1100_box {
    width: 100%;
  }

  .cleandental2609 .ws1000_box {
    width: 100%;
  }

  .cleandental2609 .ws780_box {
    width: 100%;
  }
}



/* KV */
/* ============================================ */
.kv_wrap {
  max-width: 1280px;
  margin: 170px auto 0;
  position: relative;
}

.kv_wrap .pr {
  position: absolute;
  top: 10px;
  left: 10px;
}


.kv_bubble01 {
  width: 389px;
  position: absolute;
  top: -110px;
  left: 47px;
}

.kv_txt_box {
  width: 100%;
  position: absolute;
  top: -110px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.kv_txt_box .kv_sub_tit {
  font-size: 24px;
  font-weight: 500;
}

.kv_txt_box h1 {
  font-size: 44px;
  font-weight: 500;
  line-height: 1.5;
}

.kv_small_img_box {
  width: 285px;
  position: absolute;
  top: 535px;
  right: 132px;
}

.kv_small_img_box_inner {
  position: relative;
}

.kv_small_img_box picture {
  display: block;
  width: 171px;
  position: absolute;
  top: -40px;
  left: 80px;
}


.lead_box {
  margin-top: 60px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 1.7778;
}

.lead_box small {
  display: block;
  font-size: 14px;
  font-weight: normal;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .kv_wrap {
    max-width: 100%;
    margin: 0 auto;
  }

  .kv_wrap .pr {
    width: 7.6923vw;
    top: 2.5641vw;
    left: auto;
    right: 2.5641vw;
  }

  .kv_bubble01 {
    width: 37.6923vw;
    top: 35.1282vw;
    left: 4.3590vw;
  }

  .kv_txt_box {
    top: 73.3333vw;
  }

  .kv_txt_box .kv_sub_tit {
    font-size: 4.1026vw;
  }

  .kv_txt_box h1 {
    font-size: 6.6667vw;
    line-height: 1.46;
  }

  .kv_small_img_box {
    width: 42.3077vw;
    position: relative;
    top: 21.7949vw;
    right: 0;
    left: 26.4103vw;
  }

  .kv_small_img_box picture {
    width: 34.3590vw;
    top: -7.6923vw;
    left: 26.1538vw;
  }

  .lead_box {
    width: 84.6154vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 28.9744vw;
    font-size: 3.8462vw;
    text-align: left;
    line-height: 1.8;
  }

  .lead_box small {
    font-size: 2.5641vw;
    margin-top: 5.1282vw;
  }
}


.box_tit {
  font-family: var(--font-nunito);
  font-size: 40px;
  font-weight: 900;
  color: var(--color-white);
  text-shadow:
    1px 1px 0px #FB4D4D,
    -1px -1px 0px #FB4D4D,
    1px -1px 0px #FB4D4D,
    -1px 1px 0px #FB4D4D;
}

.deco_box {
  position: relative;
  background: #FFEFE8;
}

.deco_box::before,
.deco_box::after {
  display: block;
  content: "";
  width: 100%;
  height: 15px;
  background: url('./images/deco_line01.png') repeat-x;
  position: absolute;
}

.deco_box::before {
  top: -15px;
}

.deco_box::after {
  bottom: -15px;
  transform: scaleY(-1);
}

@media screen and (max-width: 768px) {
  .box_tit {
    font-size: 8.2051vw;
  }
}


/* MEMBERS */
/* ============================================ */
.member_wrap {
  margin-top: 95px;
  margin-bottom: 75px;
  text-align: center;
  padding-top: 95px;
  padding-bottom: 75px;
}

.member_wrap ul {
  max-width: 665px;
  margin: 40px auto 0;
}

.member_wrap li+li {
  margin-top: 20px;
}

.member_wrap li dl,
.section02 dl {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  font-size: 14px;
  line-height: 1.78;
}

.section02 dl {
  max-width: 655px;
  margin: 60px auto 0;
}

.member_wrap li dt,
.section02 dl dt {
  width: 83px;
  height: 83px;
}

.member_wrap li dd,
.section02 dl dd {
  width: calc(100% - 83px - 20px);
  text-align: left;
  font-weight: normal;
  line-height: 1.78;
}

@media screen and (max-width: 768px) {
  .member_wrap {
    margin-top: 15.3846vw;
    margin-bottom: 15.3846vw;
    padding-top: 15.3846vw;
    padding-bottom: 15.3846vw;
  }

  .member_wrap ul {
    max-width: 100%;
    width: 84.6154vw;
    margin: 10.2564vw auto 0;
  }

  .member_wrap li+li {
    margin-top: 7.6923vw;
  }

  .member_wrap li dl,
  .section02 dl {
    align-items: flex-start;
    gap: 3.8462vw;
    font-size: 3.0769vw;
    line-height: 1.75;
  }

  .section02 dl {
    max-width: 100%;
    width: 84.6154vw;
    margin: 10.2564vw auto 15.3846vw;
  }

  .member_wrap li dt,
  .section02 dl dt {
    width: 15.3846vw;
  }

  .member_wrap li dd,
  .section02 dl dd {
    width: calc(100% - 15.3846vw - 3.8462vw);
  }
}






/* INDEX */
/* ============================================ */
.index_wrap {
  text-align: center;
  padding-bottom: 80px;
}

.index_wrap .index_box {
  max-width: 1000px;
  margin: 80px auto 0;
  gap: 53px;
}

.index_wrap .index_box .index .part_icon {
  width: 68px;
  position: absolute;
  top: -20px;
  left: 30px;
  z-index: 2;
}

.index_wrap .index_box .index {
  width: 295px;
  box-shadow: 10px 10px 0 #ddd;
  border-radius: 15px;
  border: 1px solid #FB4D4D;
  position: relative;
  transition: transform 0.3s, box-shadow 0.3s;
}

.index_wrap .index_box .index:hover {
  box-shadow: none;
  transform: translate(10px, 10px);
}

.index_wrap .index_box .index:active {
  transform: translate(10px, 10px);
  box-shadow: none;
}

.index_wrap .index_box .index .img_box {
  position: relative;
  border-radius: 15px 15px 0 0;
}

.index_wrap .index_box .index .arrow {
  position: absolute;
  bottom: -20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.index_wrap .index_box .index .arrow img {
  width: 14px;
  transform: rotate(90deg);
}

.index_wrap .index_box .index .txt_box {
  padding: 20px;
  line-height: 1.75;
  text-align: left;
}

.index_btn {
  max-width: 990px;
  margin: 60px auto;
  background: #FB4D4D;
  position: relative;
  box-shadow: 10px 10px 0 #ddd;
  border-radius: 15px;
  transition: transform 0.3s, box-shadow 0.3s;
}

.index_btn a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 15px 0;
  font-family: var(--font-nunito);
  font-size: 32px;
  font-weight: 900;
  color: var(--color-white);
}

.index_btn:hover {
  transform: translate(10px, 10px);
  box-shadow: none;
}

.index_btn:active {
  transform: translate(10px, 10px);
  box-shadow: none;
}

.index_btn .arrow_icon {
  width: 14px;
  position: absolute;
  right: 32px;
  top: 40%;
  transform: rotate(90deg) translateY(-50%);
}

@media screen and (max-width: 768px) {
  .index_wrap {
    padding-bottom: 17.9487vw;
  }

  .index_wrap .index_box {
    max-width: 100%;
    margin: 10.2564vw auto 0;
    gap: 10.2564vw;
    flex-direction: column;
  }

  .index_wrap .index_box .index .part_icon {
    width: 14.1026vw;
    top: -5.1282vw;
    left: 5.1282vw;
  }

  .index_wrap .index_box .index {
    width: 82.0513vw;
    margin-left: 7.6923vw;
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
    border: 1px solid #FB4D4D;
  }

  .index_wrap .index_box .index:hover {
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
    transform: translate(0, 0);
  }

  .index_wrap .index_box .index:active {
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
    transform: translate(0, 0);
  }

  .index_wrap .index_box .index .img_box picture {
    display: block;
    overflow: hidden;
    border-radius: 15px 15px 0 0;
  }

  .index_wrap .index_box .index .arrow {
    bottom: -5.1282vw;
    right: 5.1282vw;
    width: 10.2564vw;
    height: 10.2564vw;
  }

  .index_wrap .index_box .index .arrow img {
    width: 3.5897vw;
  }

  .index_wrap .index_box .index .txt_box {
    padding: 2.5641vw 5.1282vw;
    font-size: 3.5897vw;
    line-height: 1.78;
  }

  .index_btn {
    max-width: 100%;
    width: 82.0513vw;
    margin: 7.6923vw auto 0;
    padding: 3.8462vw 0;
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
  }

  .index_btn a {
    font-size: 5.1282vw;
    line-height: 1.2;
  }

  .index_btn:hover {
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
    transform: translate(0, 0);
  }

  .index_btn:active {
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
    transform: translate(0, 0);
  }

  .index_btn .arrow_icon {
    width: 3.5897vw;
    right: 5.1282vw;
  }
}




/* ボタン */
/* ============================================ */
.sec_btn_wrap {
  margin-top: 60px;
}

.sec_btn_hd {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 13px;
}

.sec_btn_hd::before,
.sec_btn_hd::after {
  content: "";
  width: 1px;
  height: 20px;
  background-color: #333;
}

.sec_btn_hd::before {
  transform: rotate(-25deg);
}

.sec_btn_hd::after {
  transform: rotate(25deg);
}

.sec_btn_wrap .btn_box {
  max-width: 400px;
  margin: 10px auto 0;
  background: #FB4D4D;
  position: relative;
  box-shadow: 10px 10px 0 #ddd;
  border-radius: 15px;
  transition: transform 0.3s, box-shadow 0.3s;
}

.sec_btn_wrap .btn_box a {
  padding: 15px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  color: var(--color-white);
  text-align: center;
}

.sec_btn_wrap .btn_box:hover {
  transform: translate(10px, 10px);
  box-shadow: none;
}

.sec_btn_wrap .btn_box:active {
  transform: translate(10px, 10px);
  box-shadow: none;
}

.sec_btn_wrap .btn_box a .arrow_icon {
  width: 10px;
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
}

.wh_btn_wrap {
  margin-top: 40px;
}

.wh_btn_wrap .btn_box {
  background: #fff;
  border: 1px solid #FB4D4D;
  box-shadow: 10px 10px 0 #FB4D4D;
}

.wh_btn_wrap .btn_box a {
  flex-direction: column;
  color: var(--color-black);
}

.wh_btn_wrap .btn_box:hover {
  box-shadow: none;
}


@media screen and (max-width: 768px) {
  .sec_btn_wrap {
    margin-top: 15.3846vw;
  }

  .sec_btn_hd {
    gap: 2.5641vw;
    font-size: 2.5641vw;
  }

  .sec_btn_hd::before,
  .sec_btn_hd::after {
    height: 3.8462vw;
  }

  .sec_btn_wrap .btn_box {
    max-width: 100%;
    width: 82.0513vw;
    margin: 2.5641vw auto 0;
    padding: 3.8462vw 0;
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
  }

  .sec_btn_wrap .btn_box:hover {
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
    transform: translate(0, 0);
  }

  .sec_btn_wrap .btn_box:active {
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
    transform: translate(0, 0);
  }

  .sec_btn_wrap .btn_box a .arrow_icon {
    width: 2.0513vw;
    right: 5.1282vw;
  }

  .wh_btn_wrap {
    margin-top: 10.2564vw;
  }

  .wh_btn_wrap .btn_box {
    box-shadow: 2.5641vw 2.5641vw 0 #FB4D4D;
  }

  .wh_btn_wrap .btn_box:hover {
    box-shadow: 2.5641vw 2.5641vw 0 #ddd;
  }

  .wh_btn_wrap small {
    font-size: 2.5641vw;
  }
}



/* PART */
/* ============================================ */
.section_box {
  padding-top: 80px;
  padding-bottom: 80px;
}

.section_box .hd_tit {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.section_box .hd_tit.sp {
  display: none;
}

.section03 .hd_tit {
  margin-bottom: 60px;
}

.section_box .hd_tit .part_icon img {
  width: 110px;
}

.section_box .hd_tit h2 {
  width: 640px;
  font-weight: 500;
}

.section_box .hd_tit h2 small {
  font-size: 24px;
}

.section_box .hd_tit h2 p {
  font-size: 32px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #333;
}

.section_box .hd_tit .member_img {
  width: 110px;
  position: absolute;
}

.section01 .hd_tit .member_img {
  bottom: 0;
  right: -10px;
}

.section02 .hd_tit .member_img {
  top: 0;
  right: -10px;
}

.section03 .hd_tit .member_img {
  top: 0;
  right: -10px;
}

.sec_photo01 {
  width: 100%;
  margin: 60px auto;
  position: relative;
}

.sec_photo01 .speech_bubble {
  position: absolute;
}

.section01 .sec_photo01 .speech_bubble {
  width: 171px;
  left: 159px;
  top: 24px;
}

.section02 .sec_photo01 .speech_bubble {
  width: 171px;
  right: -46px;
  top: 36px;
}

.section03 .sec_photo01 .speech_bubble {
  width: 198px;
  left: 91px;
  top: -30px;
}

.sec_photo02 {
  max-width: 600px;
  margin: 60px auto;
}

.section02 .sec_img {
  width: 627px;
  margin-left: 68px;
  margin-top: 30px;
  margin-bottom: 25px;
}

.section03 .sec_img {
  width: 776px;
  margin: 40px auto 60px;
}

.talk_box p {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.75;
}

.talk_box p+p {
  margin-top: 1.5em;
}

.talk_box p span {
  background: #FFEFE8;
  padding: 0 5px 2px;
  line-height: 1;
  box-sizing: border-box;
  margin-right: 15px;
}

.talk_box p span.short_name {
  padding: 0 0 2px 5px;
}

.deco_box .talk_box p span {
  background: #fff;
}

p.sub_txt {
  font-size: 14px;
}

.talk_box p.sub_txt {
  margin-top: 3em;
}

@media screen and (max-width: 768px) {
  .section_box {
    padding-top: 15.3846vw;
    padding-bottom: 17.9487vw;
  }

  .section_box .hd_tit {
    width: 85.6410vw;
    margin-left: auto;
    margin-right: auto;
    flex-direction: column;
    margin-bottom: 5.1282vw;
  }

  .section03 .hd_tit {
    margin-bottom: 10.2564vw;
  }

  .section_box .hd_tit.sp {
    display: block;
  }

  .section_box .hd_tit.pc {
    display: none;
  }

  .section_box .hd_tit.sp .flexBox_css {
    gap: 5.1282vw;
  }

  .section_box .hd_tit.sp .flexBox_css .sub_tit {
    width: calc(100% - 20.5128vw - 5.1282vw);
  }

  .section_box .hd_tit.sp .flexBox_css p {
    font-size: 3.5897vw;
    border-bottom: 1px solid #333;
    padding-bottom: 2.5641vw;
    margin-top: 2.5641vw;
  }

  .section_box .hd_tit .part_icon img {
    width: 20.5128vw;
    margin-bottom: 2.5641vw;
  }

  .section_box .hd_tit h2 {
    width: 84.6154vw;
  }

  .section_box .hd_tit h2 p {
    font-size: 5.1282vw;
    margin-top: 2.5641vw;
    padding-top: 0;
    padding-bottom: 2.5641vw;
    border-top: none;
    border-bottom: 1px solid #333;
  }

  .section_box .hd_tit .member_img {
    width: 15.3846vw;
  }

  .section01 .hd_tit .member_img {
    bottom: 9.2308vw;
    right: -1.0256vw;
  }

  .section02 .hd_tit .member_img {
    top: auto;
    bottom: 3.5897vw;
    right: -1.2821vw;
  }

  .section03 .hd_tit .member_img {
    top: 3.3333vw;
    right: -1.2821vw;
  }

  .sec_photo01 {
    margin: 15.3846vw auto 10.2564vw;
  }

  .section01 .sec_photo01 .speech_bubble {
    width: 34.3590vw;
    left: 20.2564vw;
    top: -7.6923vw;
  }

  .section02 .sec_photo01 .speech_bubble {
    width: 34.3590vw;
    right: 7.6923vw;
    top: -7.6923vw;
  }

  .section03 .sec_photo01 .speech_bubble {
    width: 35.6410vw;
    left: 5.1282vw;
    top: -10.2564vw;
  }

  .sec_photo02 {
    max-width: 100%;
    width: 84.6154vw;
    margin: 10.2564vw auto;
  }

  .section02 .sec_img {
    width: 74.3590vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8.9744vw;
    margin-bottom: 10.2564vw;
  }

  .section03 .sec_img {
    width: 85.6410vw;
    margin: 7.6923vw auto 10.2564vw;
  }

  .talk_box {
    width: 84.6154vw;
    margin-left: auto;
    margin-right: auto;
  }

  .talk_box p {
    font-size: 3.5897vw;
    line-height: 1.785;
  }

  .talk_box p+p {
    margin-top: 1.5em;
  }

  .talk_box p span {
    margin-right: 3.8462vw;
  }

  .deco_box .talk_box p span {
    background: #fff;
  }

  p.sub_txt {
    font-size: 2.5641vw;
  }

  .talk_box p.sub_txt {
    margin-top: 1.5em;
  }
}



/* IMPRESSIONS */
/* ============================================ */
.impressions_wrap {
  max-width: 1100px;
  margin: 80px auto 0;
  background: #fff;
  border-radius: 30px;
  padding: 80px 0;
  text-align: center;
}

.impressions_wrap .hd_bubble {
  margin-top: 40px;
  margin-bottom: 30px;
  position: relative;
}

.impressions_wrap .hd_bubble::after {
  display: block;
  content: "";
  width: 42px;
  height: 42px;
  background: url('./images/bubble_deco_red.svg') no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -17px;
  left: 50%;
  transform: translateX(-50%);
}

.impressions_wrap .hd_bubble span {
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  line-height: 2.15;
  background: #FB4D4D;
  padding: 10px 20px;
  border-radius: 10px;
  position: relative;
  z-index: 1;
}

.impressions_wrap h3 {
  font-size: 32px;
  font-weight: 500;
}

.impressions_wrap .member_talk li {
  display: flex;
  align-items: center;
  gap: 15px;
}

.impressions_wrap .member_talk li+li {
  margin-top: 30px;
}

.impressions_wrap .member_talk li:nth-child(2) {
  flex-direction: row-reverse;
}

.impressions_wrap .member_talk li p {
  font-weight: normal;
  background: #FFDB58;
  padding: 15px 20px;
  border-radius: 10px;
  text-align: left;
  position: relative;
}

.impressions_wrap .member_talk li p::after {
  display: block;
  content: "";
  width: 42px;
  height: 42px;
  background: url('./images/bubble_deco_gold.svg') no-repeat;
  position: absolute;
  left: -11px;
  top: 20px;
}

.impressions_wrap .member_talk li:nth-child(2) p::after {
  left: auto;
  right: -11px;
  transform: scale(-1);
}

.impressions_wrap .member_talk li p span {
  position: relative;
  z-index: 1;
}

.impressions_wrap .member_talk li dt {
  width: 80px;
  margin-bottom: 10px;
}

.impressions_wrap .member_talk li dd {
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .impressions_wrap {
    max-width: 100%;
    width: 84.6154vw;
    margin: 15.3846vw auto 0;
    border-radius: 3.8462vw;
    padding: 15.3846vw 0;
  }

  .impressions_wrap .hd_bubble {
    margin-top: 11.5385vw;
    margin-bottom: 8.9744vw;
  }

  .impressions_wrap .hd_bubble::after {
    width: 7.6923vw;
    height: 7.6923vw;
    bottom: -7vw;
  }

  .impressions_wrap .hd_bubble span {
    font-size: 3.5897vw;
    line-height: 1;
    padding: 3.8462vw 5.1282vw;
    border-radius: 2.5641vw;
  }

  .impressions_wrap h3 {
    font-size: 5.1282vw;
  }

  .impressions_wrap .member_talk {
    width: 69.2308vw;
    margin: 0 auto;
  }

  .impressions_wrap .member_talk li {
    align-items: flex-start;
    gap: 5.1282vw;
  }

  .impressions_wrap .member_talk li+li {
    margin-top: 5.1282vw;
  }

  .impressions_wrap .member_talk li p {
    padding: 2.5641vw 3.8462vw;
    border-radius: 2.5641vw;
    line-height: 1.78;
  }

  .impressions_wrap .member_talk li p::after {
    width: 7.6923vw;
    height: 7.6923vw;
    left: -2.5641vw;
    top: 2.5641vw;
  }

  .impressions_wrap .member_talk li:nth-child(2) p::after {
    right: -2.5641vw;
  }

  .impressions_wrap .member_talk li dt {
    width: 15.3846vw;
    margin-bottom: 2.5641vw;
  }

  .impressions_wrap .member_talk li dd {
    font-size: 3.0769vw;
  }
}



/* PRODUCT */
/* ============================================ */
.product_wrap {
  padding-top: 90px;
  padding-bottom: 80px;
  text-align: center;
}

.product_wrap .box_tit {
  margin-bottom: 80px;
}

.product_box {
  gap: 60px;
}

.product_wrap .product_img {
  width: 54%;
}

.product_wrap .product_img .caption {
  width: 120px;
  margin-top: 10px;
}

.product_wrap .product_txtBox {
  width: 42%;
  text-align: left;
}

.product_wrap .product_txtBox .hd_bubble {
  display: inline-block;
  padding: 11px 28px 14px;
  border-radius: 10px;
  position: relative;
  background: #FB4D4D;
}

.product_wrap .product_txtBox .hd_bubble::after {
  display: block;
  content: "";
  width: 42px;
  height: 42px;
  background: url('./images/bubble_deco_red.svg') no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -17px;
  left: 36px;
}

.product_wrap .product_txtBox .hd_bubble span {
  color: #fff;
  position: relative;
  z-index: 1;
}

.product_wrap .product_txtBox h3 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 25px;
  margin-bottom: 15px;
}

.product_wrap .product_txtBox p {
  font-weight: normal;
  line-height: 1.75;
}

.product_item_hd {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 20px;
  margin-top: 60px;
  margin-bottom: 40px;
}

.product_item_hd::before,
.product_item_hd::after {
  content: "";
  width: 1px;
  height: 30px;
  background-color: #333;
}

.product_item_hd::before {
  transform: rotate(-25deg);
}

.product_item_hd::after {
  transform: rotate(25deg);
}

.product_wrap .item_img {
  width: 42px;
  margin-bottom: 20px;
}

.product_wrap .item_txt {
  font-size: 14px;
  font-weight: normal;
  text-align: left;
  margin-top: 10px;
}

.product_wrap .item_store {
  margin-top: auto;
}

.product_wrap .item_store span {
  display: inline-block;
  font-size: 12px;
  padding: 4px 20px;
  border-radius: 100vw;
  border: 1px solid #000;
  margin-top: 10px;
  margin-bottom: 10px;
}

.product_wrap .item_store p {
  font-weight: normal;
}

.product_wrap p.sub_txt {
  font-weight: normal;
  text-align: left;
  margin-top: 20px;
}

@media (min-width: 769px) {
  .product_swiper .swiper-wrapper {
    display: flex;
    justify-content: center;
    gap: 13px;
  }

  .product_swiper .swiper-slide {
    max-width: 212px;
    height: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid #000;
    border-radius: 20px;
    padding: 25px 35px;
  }

  .product_swiper .swiper-pagination {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .product_wrap {
    padding-top: 15.3846vw;
    padding-bottom: 17.9487vw;
  }

  .product_wrap .box_tit {
    margin-bottom: 10.2564vw;
  }

  .product_box {
    flex-direction: column;
    align-items: center;
    gap: 10.2564vw;
  }

  .product_wrap .product_img {
    width: 100%;
  }

  .product_wrap .product_img .caption {
    width: 21.7949vw;
    margin-top: 2.5641vw;
    margin-left: 7.6923vw;
  }

  .product_wrap .product_txtBox {
    width: 84.6154vw;
    text-align: center;
  }

  .product_wrap .product_txtBox .hd_bubble {
    padding: 3.8462vw;
    border-radius: 2.5641vw;
  }

  .product_wrap .product_txtBox .hd_bubble::after {
    width: 7.6923vw;
    height: 7.6923vw;
    bottom: -4vw;
    left: 50%;
    transform: translateX(-50%);
  }

  .product_wrap .product_txtBox h3 {
    font-size: 5.1282vw;
    line-height: 1;
    margin-top: 5.1282vw;
    margin-bottom: 5.1282vw;
  }

  .product_wrap .product_txtBox p {
    line-height: 1.785;
    text-align: left;
  }

  .product_item_hd {
    gap: 2.5641vw;
    font-size: 3.5897vw;
    margin-top: 15.8974vw;
    margin-bottom: 5.8974vw;
  }

  .product_item_hd::before,
  .product_item_hd::after {
    height: 5.1282vw;
  }

  .product_wrap .item_img {
    width: 8.9744vw;
    margin-bottom: 3.8462vw;
  }

  .product_wrap .item_tit {
    font-size: 3.5897vw;
  }

  .product_wrap .item_txt {
    font-size: 3.0769vw;
    margin-top: 2.5641vw;
  }

  .product_wrap .item_store span {
    font-size: 2.5641vw;
    padding: 1.2821vw 3.5897vw;
    margin-top: 2.5641vw;
    margin-bottom: 2.5641vw;
  }

  .product_wrap p.sub_txt {
    font-size: 2.5641vw;
    text-align: center;
    margin-top: 5.1282vw;
  }


  .product_swiper {
    padding: 10px 15px 40px;
  }

  .product_swiper .swiper-slide {
    height: auto;
    border: 1px solid #000;
    border-radius: 2.5641vw;
    padding: 5.1282vw;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .swiper-slide .img_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .product_swiper .swiper-pagination-bullet {
    width: 2.5641vw;
    height: 2.5641vw;
    background: #ddd;
    opacity: 1;
    margin: 0 2.5641vw !important;
  }

  .product_swiper .swiper-pagination-bullet-active {
    background: #FB4D4D;
  }
}








/* CAMPAIGN */
/* ============================================ */
.campaign_wrap {
  text-align: center;
  background: #FFEFE8;
  padding-top: 80px;
  padding-bottom: 80px;
  border-radius: 30px;
}

.campaign_wrap .box_tit {
  margin-bottom: 40px;
}

.campaign_wrap .hd_bubble {
  display: inline-block;
  padding: 18px 28px;
  border-radius: 10px;
  position: relative;
  background: #FB4D4D;
}

.campaign_wrap .hd_bubble::after {
  display: block;
  content: "";
  width: 42px;
  height: 42px;
  background: url('./images/bubble_deco_red.svg') no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -17px;
  left: 50%;
  transform: translateX(-50%);
}

.campaign_wrap .hd_bubble span {
  color: #fff;
  position: relative;
  z-index: 1;
}

.campaign_wrap h3 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 30px;
  margin-bottom: 20px;
}

.campaign_wrap b {
  display: block;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7778;
}

.campaign_wrap p.bb_txt {
  margin-top: 10px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.78;
}

.campaign_wrap p.bb_txt a {
  font-weight: normal;
  padding-bottom: 2px;
  border-bottom: 1px solid #333;
}

.campaign_wrap p.bb_txt a:hover {
  color: #FB4D4D;
  border-bottom: 1px solid #FB4D4D;
}

.campaign_wrap .sec_photo01 {
  max-width: 600px;
  margin: 60px auto;
  position: relative;
}

.campaign_wrap .sec_photo01 .speech_bubble {
  width: 207px;
  left: -55px;
  top: -32px;
}

.campaign_wrap .campaign_cont_box {
  margin-bottom: 60px;
}

.campaign_wrap .cont_bubble {
  display: inline-block;
  padding: 8px 20px 10px;
  border-radius: 10px;
  margin-bottom: 20px;
  position: relative;
  background: #FB4D4D;
}

.campaign_wrap .cont_bubble span {
  color: #fff;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.campaign_wrap .cont_bubble::after {
  display: block;
  content: "";
  width: 42px;
  height: 42px;
  background: url('./images/bubble_deco_red.svg') no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -14px;
  left: 36px;
}

.campaign_wrap .campaign_cont {
  background: #fff;
  border-radius: 10px;
}

.campaign_wrap .campaign_cont01 {
  padding: 10px 0 8px;
  margin-bottom: 20px;
}

.campaign_wrap .campaign_cont02 {
  padding: 20px;
  gap: 30px;
}

.campaign_wrap .qr_box_sp {
  display: none !important;
}

.campaign_wrap .campaign_cont02 ul {
  max-width: 445px;
}

.campaign_wrap .campaign_cont02 li {
  display: flex;
  align-items: center;
  gap: 5px;
}

.campaign_wrap .campaign_cont02 li+li {
  margin-top: 10px;
}

.campaign_wrap .campaign_cont02 li b {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  font-family: var(--font-nunito);
  font-weight: 900;
  border-radius: 50%;
  border: 1px solid #000;
}

.campaign_wrap .campaign_cont02 li p {
  letter-spacing: -0.05em;
}

.campaign_wrap .campaign_cont02 li p span {
  color: #F23131;
}

.campaign_wrap .campaign_cont02 .qr_box {
  border-left: 1px solid #000;
  padding-left: 20px;
  align-items: center;
  gap: 20px;
}

.campaign_wrap .campaign_cont02 .qr_box img {
  width: 80px;
}

.campaign_wrap .campaign_cont02 .qr_box p {
  font-size: 14px;
  text-align: left;
}

.campaign_wrap .wh_btn_wrap {
  margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .campaign_wrap {
    max-width: 100%;
    width: 84.6154vw !important;
    margin-left: auto;
    margin-right: auto;
    padding-top: 15.3846vw;
    padding-bottom: 15.3846vw;
    border-radius: 3.8462vw;
  }

  .campaign_wrap .box_tit {
    margin-bottom: 7.6923vw;
    line-height: 1.25;
  }

  .campaign_wrap .hd_bubble {
    display: none;
  }

  .campaign_wrap h3 {
    font-size: 5.1282vw;
    line-height: 1.8;
    margin-top: 0;
    margin-bottom: 5.1282vw;
    letter-spacing: -0.02em;
  }

  .campaign_wrap b {
    font-size: 3.5897vw;
    line-height: 1;
  }

  .campaign_wrap b.campaign_sub_tit {
    width: 69.2308vw;
    margin-left: auto;
    margin-right: auto;
    font-size: 3.8462vw;
    line-height: 1.8;
    text-align: left;
  }

  .campaign_wrap p.bb_txt {
    margin-top: 3.8462vw;
    font-size: 2.5641vw;
    line-height: 1.5;
  }

  .campaign_wrap .sec_photo01 {
    max-width: 100%;
    margin: 15.3846vw auto 7.6923vw;
  }

  .campaign_wrap .sec_photo01 .speech_bubble {
    width: 34.3590vw;
    left: 3.8462vw;
    top: -7.6923vw;
  }

  .campaign_wrap .campaign_cont_box {
    width: 74.3590vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15.3846vw;
  }

  .campaign_wrap .cont_bubble {
    padding: 1.2821vw 3.8462vw;
    border-radius: 1.2821vw;
    margin-bottom: 3.8462vw;
  }

  .campaign_wrap .cont_bubble::after {
    width: 7.6923vw;
    height: 7.6923vw;
    bottom: -2.5vw;
    left: 50%;
    transform: translateX(-50%);
  }

  .campaign_wrap .campaign_cont01 {
    padding: 3.8462vw;
    margin-bottom: 7.6923vw;
  }

  .campaign_wrap .campaign_cont02 {
    flex-direction: column;
    padding: 5.1282vw;
    gap: 0;
  }

  .campaign_wrap .qr_box_pc {
    display: none !important;
  }

  .campaign_wrap .qr_box_sp {
    display: block !important;
  }

  .campaign_wrap .campaign_cont02 ul {
    max-width: 100%;
  }

  .campaign_wrap .campaign_cont02 li {
    align-items: flex-start;
    gap: 2.5641vw;
  }

  .campaign_wrap .campaign_cont02 li+li {
    margin-top: 5.1282vw;
  }

  .campaign_wrap .campaign_cont02 li b {
    width: 6.4103vw;
    height: 6.4103vw;
  }

  .campaign_wrap .campaign_cont02 li p {
    width: calc(100% - 6.4103vw - 2.5641vw);
    letter-spacing: -0.05em;
    text-align: left;
  }

  .campaign_wrap .campaign_cont02 .qr_box {
    border-left: none;
    padding-left: 8.9744vw;
    gap: 2.5641vw;
  }

  .campaign_wrap .campaign_cont02 .qr_box img {
    width: 12.8205vw;
  }

  .campaign_wrap .campaign_cont02 .qr_box p {
    font-size: 2.5641vw;
  }

  .campaign_wrap .wh_btn_wrap {
    width: 71.7949vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 12.8205vw;
  }
}



/* お問い合わせ */
/* ============================================ */
.contents_info {
  padding-top: 80px;
  text-align: center;
}

.contents_info a:hover {
  opacity: 0.7;
}

.contents_info .contact {
  font-weight: normal;
  line-height: 1.75;
  margin-bottom: 40px;
}

.contents_info .credit {
  font-size: 14px;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  .contents_info {
    padding-top: 15.3846vw;
  }

  .contents_info .contact {
    margin-bottom: 5.1282vw;
  }

  .contents_info .credit {
    font-size: 3.0769vw;
  }
}








/* ani */
/* ============================================ */
.cleandental2609 .fadeup {
  opacity: 0;
}

.cleandental2609 .fadeup.on {
  animation: fadeup 1.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

.cleandental2609 .member_img.fadeup.on {
  animation: fadeup02 1.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  opacity: 1;
}

.cleandental2609 .fadeup.on .index1 {
  animation: fadeup 0.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

.cleandental2609 .fadeup.on .index2 {
  animation: fadeup 2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

.cleandental2609 .fadeup.on .index3 {
  animation: fadeup 3.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeup02 {
  0% {
    transform: translateY(30px);
  }

  100% {
    transform: translateY(0);
  }
}

/* stylesheet end */