@font-face {
  font-family: "AmaticSC";
  src: url("/clearturn/font/AmaticSC-Regular.woff") format("woff");
}
@font-face {
  font-family: "Outfit-lt";
  src: url("/clearturn/font/Outfit-Light.woff") format("woff");
}
@font-face {
  font-family: "Outfit-r";
  src: url("/clearturn/font/Outfit-Regular.woff") format("woff");
}
@font-face {
  font-family: "Outfit-md";
  src: url("/clearturn/font/Outfit-Medium.woff") format("woff");
}
@font-face {
  font-family: "Outfit-sb";
  src: url("/clearturn/font/Outfit-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Outfit-bd";
  src: url("/clearturn/font/Outfit-Bold.woff") format("woff");
}
@font-face {
  font-family: "NotoSansJP-lt";
  src: url("/clearturn/font/NotoSansJP-Light.woff") format("woff");
}
@font-face {
  font-family: "NotoSansJP-r";
  src: url("/clearturn/font/NotoSansJP-Regular.woff") format("woff");
}
@font-face {
  font-family: "NotoSansJP-md";
  src: url("/clearturn/font/NotoSansJP-Medium.woff") format("woff");
}
@font-face {
  font-family: "NotoSansJP-sb";
  src: url("/clearturn/font/NotoSansJP-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "NotoSansJP-bd";
  src: url("/clearturn/font/NotoSansJP-Bold.woff") format("woff");
}
@font-face {
  font-family: "CrimsonText-r";
  src: url("/clearturn/font/CrimsonText-Regular.woff") format("woff");
}
@font-face {
  font-family: "CrimsonText-sb";
  src: url("/clearturn/font/CrimsonText-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "CrimsonText-bd";
  src: url("/clearturn/font/CrimsonText-Bold.woff") format("woff");
}
@font-face {
  font-family: "NotoSerif-lt";
  src: url("/clearturn/font/NotoSerifJP-Light.woff") format("woff");
}
@font-face {
  font-family: "NotoSerif-r";
  src: url("/clearturn/font/NotoSerifJP-Regular.woff") format("woff");
}
@font-face {
  font-family: "NotoSerif-md";
  src: url("/clearturn/font/NotoSerifJP-Medium.woff") format("woff");
}
@font-face {
  font-family: "NotoSerif-sb";
  src: url("/clearturn/font/NotoSerifJP-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "NotoSerif-bd";
  src: url("/clearturn/font/NotoSerifJP-Bold.woff") format("woff");
}
@font-face {
  font-family: "Roboto-lt";
  src: url("/clearturn/font/Roboto-Light.woff") format("woff");
}
@font-face {
  font-family: "Roboto-md";
  src: url("/clearturn/font/Roboto-Medium.woff") format("woff");
}
@font-face {
  font-family: "Roboto-bd";
  src: url("/clearturn/font/Roboto-Bold.woff") format("woff");
}
@font-face {
  font-family: "mplus1c";
  src: url("/clearturn/font/MPLUSRounded1c-Regular.woff") format("woff");
}
@font-face {
  font-family: "mplus1c-bd";
  src: url("/clearturn/font/MPLUSRounded1c-Bold.woff") format("woff");
}
@font-face {
  font-family: "quicksand-sb";
  src: url("/clearturn/font/Quicksand-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "quicksand-bd";
  src: url("/clearturn/font/Quicksand-Bold.woff") format("woff");
}
main {
  font-family: "Noto Sans JP", sans-serif;
}

.js-animation.slideUpIn {
  opacity: 0;
  translate: 0 30px;
  transition: opacity 0.4s linear, translate 0.4s ease-out;
}
.js-animation.slideUpIn.is-animated {
  opacity: 1;
  translate: 0 0;
}

.buttons01 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 751px) {
  .buttons01 {
    row-gap: 1.5rem;
  }
}
@media screen and (max-width: 750px) {
  .buttons01 {
    row-gap: 2.5rem;
  }
}
@media screen and (min-width: 751px) {
  .buttons01 figure {
    width: 18.8rem;
  }
}
@media screen and (max-width: 750px) {
  .buttons01 figure {
    width: 27.8rem;
  }
}
.buttons01 a {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-weight: bold;
  color: #fff;
}
@media screen and (min-width: 751px) {
  .buttons01 a {
    border-radius: 0.3rem;
    width: 24rem;
    height: 6rem;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 750px) {
  .buttons01 a {
    border-radius: 0.45rem;
    width: 34rem;
    height: 9rem;
    font-size: 2.7rem;
  }
}
.buttons01 a::before {
  content: "";
  background-image: url(/clearturn/img/clinishot/cart01_w.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.334em;
  height: 1.334em;
}
.buttons01.col1 a {
  background: #3d358b;
}
.buttons01.col2 a {
  background: #e84566;
}

.kv_section {
  background: #000;
  line-height: 0;
}
@media screen and (min-width: 751px) {
  .kv_section {
    margin-top: 95px;
  }
}
@media screen and (max-width: 750px) {
  .kv_section {
    margin-top: 12rem;
  }
}
.kv_section img {
  width: 100%;
}

.bg_outer {
  position: relative;
  background: #e6eef5;
}
.bg_outer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
@media screen and (min-width: 751px) {
  .bg_outer::before {
    background: linear-gradient(to bottom, #fff 108.7rem, #e5edf5 156.7rem, #e6eef5 100%);
    top: 0;
  }
}
@media screen and (max-width: 750px) {
  .bg_outer::before {
    background: linear-gradient(to bottom, #fff 69rem, #e5edf5 119rem, #e6eef5 100%);
    top: 0;
  }
}
.bg_outer::after {
  content: "";
  position: absolute;
  background-position: center top, center top;
  background-repeat: no-repeat, repeat-y;
  width: 100%;
  left: 50%;
  top: 0;
  bottom: 0;
  translate: -50% 0;
  pointer-events: none;
}
@media screen and (min-width: 751px) {
  .bg_outer::after {
    background-image: url(/clearturn/img/clinishot/bg_top_pc.webp), url(/clearturn/img/clinishot/bg_repeat_pc.webp);
    background-size: 100% auto, 212rem auto;
    min-width: 2500px;
  }
}
@media screen and (max-width: 750px) {
  .bg_outer::after {
    background-image: url(/clearturn/img/clinishot/bg_top_sp.webp), url(/clearturn/img/clinishot/bg_repeat_sp.webp);
    background-size: 100% auto, 111rem auto;
  }
}

.concept_section {
  position: relative;
  margin: 0 auto;
  z-index: 2;
}
@media screen and (min-width: 751px) {
  .concept_section {
    padding: 25.7rem 0 0;
  }
}
@media screen and (max-width: 750px) {
  .concept_section {
    padding: 18.5rem 0 0;
  }
}

.concept_head {
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .concept_head {
    width: 21.1rem;
  }
}
@media screen and (max-width: 750px) {
  .concept_head {
    width: 55rem;
    padding-right: 28.3rem;
  }
}

.concept_logo {
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .concept_logo {
    width: 60.2rem;
    padding-top: 9.5rem;
  }
}
@media screen and (max-width: 750px) {
  .concept_logo {
    width: 55rem;
    padding-top: 9.7rem;
  }
}

.concept_sub {
  margin: 0 auto;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
}
@media screen and (min-width: 751px) {
  .concept_sub {
    padding-top: 5.5rem;
    line-height: 2.25;
    font-size: 2.4rem;
  }
  .concept_sub > p {
    font: inherit;
  }
  .concept_sub > p:first-of-type {
    margin-top: -0.625em;
  }
  .concept_sub > p:last-of-type {
    margin-bottom: -0.625em;
  }
  .concept_sub {
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .concept_sub {
    width: 55rem;
    padding-top: 6.5rem;
    line-height: 1.6;
    font-size: 3rem;
  }
  .concept_sub > p {
    font: inherit;
  }
  .concept_sub > p:first-of-type {
    margin-top: -0.3em;
  }
  .concept_sub > p:last-of-type {
    margin-bottom: -0.3em;
  }
}

.concept_lead {
  margin: 0 auto;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
}
@media screen and (min-width: 751px) {
  .concept_lead {
    padding-top: 2rem;
    line-height: 1.228;
    font-size: 4.4rem;
  }
  .concept_lead > p {
    font: inherit;
  }
  .concept_lead > p:first-of-type {
    margin-top: -0.113em;
  }
  .concept_lead > p:last-of-type {
    margin-bottom: -0.113em;
  }
  .concept_lead {
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .concept_lead {
    width: 55rem;
    padding-top: 3.3rem;
    line-height: 1.385;
    font-size: 5.2rem;
  }
  .concept_lead > p {
    font: inherit;
  }
  .concept_lead > p:first-of-type {
    margin-top: -0.192em;
  }
  .concept_lead > p:last-of-type {
    margin-bottom: -0.192em;
  }
}

.concept_text {
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .concept_text {
    padding-top: 5rem;
    line-height: 1.889;
    font-size: 1.8rem;
  }
  .concept_text > p {
    font: inherit;
  }
  .concept_text > p:first-of-type {
    margin-top: -0.444em;
  }
  .concept_text > p:last-of-type {
    margin-bottom: -0.444em;
  }
  .concept_text {
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .concept_text {
    width: 55rem;
    padding-top: 5.3rem;
    line-height: 1.76;
    font-size: 2.5rem;
  }
  .concept_text > p {
    font: inherit;
  }
  .concept_text > p:first-of-type {
    margin-top: -0.38em;
  }
  .concept_text > p:last-of-type {
    margin-bottom: -0.38em;
  }
}
@media screen and (min-width: 751px) {
  .concept_text sub {
    font-size: 0.667em;
  }
}
@media screen and (max-width: 750px) {
  .concept_text sub {
    font-size: 0.8em;
  }
}

.concept_note {
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .concept_note {
    padding-top: 2rem;
    line-height: 2.834;
    font-size: 1.2rem;
  }
  .concept_note > p {
    font: inherit;
  }
  .concept_note > p:first-of-type {
    margin-top: -0.916em;
  }
  .concept_note > p:last-of-type {
    margin-bottom: -0.916em;
  }
  .concept_note {
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .concept_note {
    width: 55rem;
    padding-top: 3.1rem;
    line-height: 1.6;
    font-size: 2rem;
  }
  .concept_note > p {
    font: inherit;
  }
  .concept_note > p:first-of-type {
    margin-top: -0.3em;
  }
  .concept_note > p:last-of-type {
    margin-bottom: -0.3em;
  }
}

.concept_image {
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (min-width: 751px) {
  .concept_image {
    border-radius: 1rem;
    max-width: 100rem;
    margin-top: 6.5rem;
  }
}
@media screen and (max-width: 750px) {
  .concept_image {
    margin-top: 7.9rem;
  }
}

.point_section {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 751px) {
  .point_section {
    padding: 24rem 0 23.3rem;
  }
}
@media screen and (max-width: 750px) {
  .point_section {
    padding: 16.3rem 0 20.1rem;
  }
}

.point_head {
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .point_head {
    width: 15.3rem;
  }
}
@media screen and (max-width: 750px) {
  .point_head {
    width: 19.2rem;
  }
}

.point_item {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .point_item {
    max-width: 100rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item {
    max-width: 55rem;
  }
}
@media screen and (min-width: 751px) {
  .point_item.item1 {
    margin-top: 9.5rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item.item1 {
    margin-top: 8.1rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item.item1 .point_item_head::before {
    border-radius: 0 2rem 2rem 0;
    left: calc(27.5rem - 50vw);
    right: -5rem;
  }
}
@media screen and (min-width: 751px) {
  .point_item.item1 .point_text {
    width: 80%;
    padding-top: 4rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item.item1 .point_text {
    padding-top: 4.9rem;
  }
}
@media screen and (min-width: 751px) {
  .point_item.item2 {
    margin-top: 10rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item.item2 {
    margin-top: 9.7rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item.item2 .point_item_head::before {
    border-radius: 2rem 0 0 2rem;
    left: -5rem;
    right: calc(27.5rem - 50vw);
  }
}
@media screen and (max-width: 750px) {
  .point_item.item2 .point_item_head::after {
    content: "";
    position: absolute;
    background-image: url(/clearturn/img/clinishot/point2_head.webp);
    background-position: right top;
    background-repeat: no-repeat;
    background-size: contain;
    width: 33.3rem;
    height: 42rem;
    right: -13.3rem;
    top: -9.3rem;
  }
}
@media screen and (min-width: 751px) {
  .point_item.item2 .point_item_head h3 {
    letter-spacing: -0.04em;
  }
}
@media screen and (min-width: 751px) {
  .point_item.item3 {
    margin-top: 8.5rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item.item3 {
    margin-top: 13.7rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item.item3 .point_item_head::before {
    border-radius: 0 2rem 2rem 0;
    left: calc(27.5rem - 50vw);
    right: -5rem;
  }
}

.point_item_head {
  display: flex;
  position: relative;
  font-family: "Noto Serif JP", serif;
  color: #fff;
}
@media screen and (min-width: 751px) {
  .point_item_head {
    flex-wrap: wrap;
    align-items: flex-end;
    align-content: center;
    gap: 1.3rem 2rem;
    height: 15.6rem;
    padding: 0 0 0 21.2rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item_head {
    flex-direction: column;
    align-items: flex-start;
    padding: 4.5rem 0 4.3rem;
  }
}
.point_item_head::before {
  content: "";
  position: absolute;
  background: linear-gradient(107deg, #528bbb 0, rgba(138, 177, 209, 0.75) 83%, rgba(194, 214, 231, 0) 110%);
}
@media screen and (min-width: 751px) {
  .point_item_head::before {
    border-radius: 1rem;
    inset: 0;
  }
}
@media screen and (max-width: 750px) {
  .point_item_head::before {
    top: 0;
    bottom: 0;
  }
}
@media screen and (min-width: 751px) {
  .point_item_head:has(h5) {
    row-gap: 1.7rem;
    padding-right: 20rem;
  }
}
@media screen and (min-width: 751px) {
  .point_item_head h4 {
    position: absolute;
    left: 10.4rem;
    top: 3.7rem;
    height: 8.3rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item_head h4 {
    position: relative;
    height: 6.5rem;
  }
}
.point_item_head h4 picture {
  height: 100%;
}
.point_item_head h4 picture img {
  height: 100%;
}
.point_item_head p {
  position: relative;
}
@media screen and (min-width: 751px) {
  .point_item_head p {
    padding-bottom: 0.319em;
    line-height: 1.273;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item_head p {
    margin-top: 3.3rem;
    padding-bottom: 0.295em;
    line-height: 1.177;
    font-size: 3.4rem;
  }
}
.point_item_head p::before {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 1px;
  height: 1px;
  left: 0;
  right: 0;
  bottom: 0;
}
.point_item_head h3 {
  position: relative;
}
@media screen and (min-width: 751px) {
  .point_item_head h3 {
    line-height: 1;
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item_head h3 {
    margin-top: 1.8rem;
    line-height: 1.522;
    font-size: 4.6rem;
  }
}
.point_item_head h5 {
  position: relative;
  border: 1px solid;
  padding: 0 1.25em;
}
@media screen and (min-width: 751px) {
  .point_item_head h5 {
    border-radius: 1.875em;
    line-height: 1.875;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 750px) {
  .point_item_head h5 {
    border-radius: 2.077em;
    margin-top: 0.7rem;
    line-height: 2.077;
    font-size: 2.6rem;
  }
}

.point_text {
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .point_text {
    line-height: 1.889;
    font-size: 1.8rem;
  }
  .point_text > p {
    font: inherit;
  }
  .point_text > p:first-of-type {
    margin-top: -0.444em;
  }
  .point_text > p:last-of-type {
    margin-bottom: -0.444em;
  }
}
@media screen and (max-width: 750px) {
  .point_text {
    line-height: 1.76;
    font-size: 2.5rem;
  }
  .point_text > p {
    font: inherit;
  }
  .point_text > p:first-of-type {
    margin-top: -0.38em;
  }
  .point_text > p:last-of-type {
    margin-bottom: -0.38em;
  }
}
.point_text strong {
  color: #2970ab;
}

.point_images {
  display: flex;
}
@media screen and (min-width: 751px) {
  .point_images {
    justify-content: center;
    column-gap: 1.2rem;
  }
}
@media screen and (max-width: 750px) {
  .point_images {
    flex-direction: column;
    row-gap: 1.5rem;
  }
}

.point_image.wid1 {
  background: #fff;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .point_image.wid1 {
    border-radius: 1rem;
    width: 80%;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 750px) {
  .point_image.wid1 {
    border-radius: 2rem;
    margin-top: 4.3rem;
  }
}
@media screen and (min-width: 751px) {
  .point_image.wid2 {
    width: 26.5rem;
  }
}
@media screen and (min-width: 751px) {
  .point_image.wid3 {
    margin: 0 auto;
    padding-top: 3rem;
  }
}
@media screen and (max-width: 750px) {
  .point_image.wid3 {
    margin: 0 -5rem;
    padding-top: 4rem;
  }
}
.point_image.wid4 {
  position: absolute;
}
@media screen and (min-width: 751px) {
  .point_image.wid4 {
    width: 31rem;
    right: 10.4rem;
    top: -7.1rem;
  }
}
@media screen and (max-width: 750px) {
  .point_image.wid4 {
    width: 27rem;
    right: -2.1rem;
    top: -7.2rem;
  }
}

.point_box {
  display: flex;
  flex-direction: column;
  position: relative;
  background: #cdddeb;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .point_box {
    border-radius: 1rem;
    row-gap: 2.5rem;
    width: 80rem;
    margin-top: 4.3rem;
    padding: 4.5rem 0 5rem;
  }
}
@media screen and (max-width: 750px) {
  .point_box {
    border-radius: 2rem;
    row-gap: 4rem;
    margin-top: 6.1rem;
    padding: 6rem 5rem 7.2rem;
  }
}
.point_box::before {
  content: "";
  position: absolute;
  clip-path: polygon(50% 0, 100% calc(100% - 1px), 100% 100%, 0 100%, 0 calc(100% - 1px));
  background: #cdddeb;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: calc(100% - 1px);
  pointer-events: none;
}
@media screen and (min-width: 751px) {
  .point_box::before {
    width: 3.6rem;
    height: calc(2.8rem + 1px);
  }
}
@media screen and (max-width: 750px) {
  .point_box::before {
    width: 5.3rem;
    height: calc(4.1rem + 1px);
  }
}
.point_box > dt {
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .point_box > dt {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 750px) {
  .point_box > dt {
    font-size: 3.2rem;
  }
}
.point_box > dd {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 751px) {
  .point_box > dd {
    row-gap: 2rem;
  }
}
@media screen and (max-width: 750px) {
  .point_box > dd {
    row-gap: 4rem;
  }
}

.point_box_text {
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .point_box_text {
    width: 54.2rem;
    line-height: 1.778;
    font-size: 1.8rem;
  }
  .point_box_text > p {
    font: inherit;
  }
  .point_box_text > p:first-of-type {
    margin-top: -0.388em;
  }
  .point_box_text > p:last-of-type {
    margin-bottom: -0.388em;
  }
}
@media screen and (max-width: 750px) {
  .point_box_text {
    line-height: 1.76;
    font-size: 2.5rem;
  }
  .point_box_text > p {
    font: inherit;
  }
  .point_box_text > p:first-of-type {
    margin-top: -0.38em;
  }
  .point_box_text > p:last-of-type {
    margin-bottom: -0.38em;
  }
}
.point_box_text strong {
  color: #2970ab;
}

.lineup_section {
  position: relative;
  background: #000;
}
@media screen and (min-width: 751px) {
  .lineup_section {
    padding: 0 0 22.6rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_section {
    padding: 10rem 0 19.1rem;
  }
}

.lineup_head {
  position: relative;
}
@media screen and (min-width: 751px) {
  .lineup_head {
    margin-bottom: -5.714%;
  }
}
@media screen and (min-width: 2501px) {
  .lineup_head {
    margin-bottom: -7.12%;
  }
}
@media screen and (max-width: 750px) {
  .lineup_head {
    margin-bottom: 2.9rem;
  }
}
.lineup_head::before {
  content: "";
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100vw;
}
@media screen and (min-width: 751px) {
  .lineup_head::before {
    aspect-ratio: 5/1;
    background-image: url(/clearturn/img/clinishot/lineup_h2_bg_pc.webp);
    background-size: max(250rem, 100vw) 100%;
  }
}
@media screen and (max-width: 750px) {
  .lineup_head::before {
    aspect-ratio: 15/4;
    background-image: url(/clearturn/img/clinishot/lineup_h2_bg_sp.webp);
    background-size: max(75rem, 100vw) 100%;
  }
}
.lineup_head h2 {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  translate: 0 -50%;
}
@media screen and (min-width: 751px) {
  .lineup_head h2 {
    width: 22.2rem;
    top: 36.1%;
  }
}
@media screen and (max-width: 750px) {
  .lineup_head h2 {
    width: 27.7rem;
    top: 56.75%;
  }
}

@media screen and (min-width: 751px) {
  .lineup_swiper {
    overflow: visible;
  }
}

@media screen and (min-width: 751px) {
  .lineup_sliper {
    flex-direction: column;
    row-gap: 9.4rem;
  }
}
@media screen and (min-width: 751px) {
  .lineup_sliper .swiper-slide:nth-of-type(n+3) {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .lineup_sliper .swiper-slide {
    padding: 26.1rem 3rem 5.2rem;
  }
}

.lineup_item {
  display: flex;
  flex-direction: column;
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .lineup_item {
    border-radius: 1rem;
    max-width: 110rem;
    padding: 4.8rem 5rem 3.8rem 50.4rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item {
    border-radius: 2rem;
    padding: 33.1rem 1.5rem 3.9rem;
  }
}
.lineup_item:has(.buttons01.col1) {
  background-color: #e2e1ee;
}
@media screen and (min-width: 751px) {
  .lineup_item:has(.buttons01.col1) {
    background-image: url(/clearturn/img/clinishot/lineup1_bg_pc.webp);
  }
}
@media screen and (max-width: 750px) {
  .lineup_item:has(.buttons01.col1) {
    background-image: url(/clearturn/img/clinishot/lineup1_bg_sp.webp);
  }
}
.lineup_item:has(.buttons01.col1) .lineup_item_ingredients::before {
  background-image: url(/clearturn/img/clinishot/multi01_b.svg);
}
.lineup_item:has(.buttons01.col1) .lineup_item_ingredients p {
  background: #7771ae;
}
.lineup_item:has(.buttons01.col1) .lineup_item_ingredients p::before {
  background-image: url(/clearturn/img/clinishot/lineup_label_b.png);
}
.lineup_item:has(.buttons01.col1) .lineup_item_link > dt p::before {
  background: #d8d7e8;
}
.lineup_item:has(.buttons01.col1) .lineup_item_link > dd::before {
  background: #d8d7e8;
}
.lineup_item:has(.buttons01.col1) .lineup_item_more a {
  background: #7771ae;
}
.lineup_item:has(.buttons01.col1) .lineup_item_more a:hover {
  fill: #7771ae;
  color: #7771ae;
}
.lineup_item:has(.buttons01.col2) {
  background-color: #fce3e8;
}
@media screen and (min-width: 751px) {
  .lineup_item:has(.buttons01.col2) {
    background-image: url(/clearturn/img/clinishot/lineup2_bg_pc.webp);
  }
}
@media screen and (max-width: 750px) {
  .lineup_item:has(.buttons01.col2) {
    background-image: url(/clearturn/img/clinishot/lineup2_bg_sp.webp);
  }
}
.lineup_item:has(.buttons01.col2) .lineup_item_ingredients::before {
  background-image: url(/clearturn/img/clinishot/multi01_p.svg);
}
.lineup_item:has(.buttons01.col2) .lineup_item_ingredients p {
  background: #ef7d94;
}
.lineup_item:has(.buttons01.col2) .lineup_item_ingredients p::before {
  background-image: url(/clearturn/img/clinishot/lineup_label_p.png);
}
.lineup_item:has(.buttons01.col2) .lineup_item_link > dt p::before {
  background: #fadae0;
}
.lineup_item:has(.buttons01.col2) .lineup_item_link > dd::before {
  background: #fadae0;
}
.lineup_item:has(.buttons01.col2) .lineup_item_more a {
  background: #ef7d94;
}
.lineup_item:has(.buttons01.col2) .lineup_item_more a:hover {
  fill: #ef7d94;
  color: #ef7d94;
}

.lineup_item_head {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 751px) {
  .lineup_item_head {
    row-gap: 1rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_head {
    row-gap: 1.2rem;
    margin-bottom: 2.6rem;
  }
}
.lineup_item_head p {
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .lineup_item_head p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_head p {
    font-size: 2.4rem;
    text-align: center;
  }
}
.lineup_item_head h3 {
  line-height: 1;
  font-weight: bold;
}
@media screen and (min-width: 751px) {
  .lineup_item_head h3 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_head h3 {
    font-size: 3.8rem;
    text-align: center;
  }
}

.lineup_item_image {
  position: absolute;
}
@media screen and (min-width: 751px) {
  .lineup_item_image {
    width: 47.6rem;
    left: 3.3rem;
    bottom: 4.2rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_image {
    width: 60rem;
    left: -2.1rem;
    top: -26.1rem;
  }
}

.lineup_item_ingredients {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 751px) {
  .lineup_item_ingredients {
    position: absolute;
    column-gap: 0.8rem;
    right: 5rem;
    top: 0;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_ingredients {
    position: relative;
    justify-content: center;
    column-gap: 1.2rem;
    margin-bottom: 2.1rem;
  }
}
.lineup_item_ingredients::before {
  content: "";
  flex-shrink: 0;
  order: 2;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .lineup_item_ingredients::before {
    width: 1.8rem;
    height: 1.8rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_ingredients::before {
    width: 2.8rem;
    height: 2.8rem;
  }
}
.lineup_item_ingredients p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #fff;
}
@media screen and (min-width: 751px) {
  .lineup_item_ingredients p {
    row-gap: 0.6rem;
    border-radius: 0 0 0.5rem 0.5rem;
    width: 13.4rem;
    height: 6rem;
    padding-bottom: 0.2rem;
  }
  .lineup_item_ingredients p::before {
    content: "";
    position: absolute;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 107.463%;
    height: 1rem;
    right: 0;
    bottom: 100%;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_ingredients p {
    row-gap: 0.8rem;
    border-radius: 0.8rem;
    width: 20rem;
    height: 9rem;
    padding-top: 0.25rem;
  }
}
.lineup_item_ingredients p span {
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 751px) {
  .lineup_item_ingredients p span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_ingredients p span {
    font-size: 2.3rem;
  }
}
.lineup_item_ingredients p small {
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 751px) {
  .lineup_item_ingredients p small {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_ingredients p small {
    font-size: 1.8rem;
  }
}
.lineup_item_ingredients p + p {
  order: 3;
}

.lineup_item_links {
  display: flex;
}
@media screen and (min-width: 751px) {
  .lineup_item_links {
    column-gap: 1rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_links {
    flex-direction: column;
    align-items: center;
    row-gap: 1.3rem;
  }
}
.lineup_item_links .swiper-slide {
  position: relative;
}
@media screen and (min-width: 751px) {
  .lineup_item_links .swiper-slide {
    padding-bottom: 2.6rem;
  }
}

.lineup_item_link {
  display: flex;
  background: #fff;
}
@media screen and (min-width: 751px) {
  .lineup_item_link {
    flex-direction: column;
    row-gap: 1.4rem;
    border-radius: 0.8rem;
    width: 26.8rem;
    padding: 1.4rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_link {
    border-radius: 2rem;
    align-items: center;
    width: 52rem;
    padding: 1.9rem 2rem 2.4rem 1rem;
  }
}
.lineup_item_link > dt {
  display: flex;
}
@media screen and (min-width: 751px) {
  .lineup_item_link > dt {
    column-gap: 1rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_link > dt {
    flex-shrink: 0;
    flex-direction: column;
    align-items: center;
    row-gap: 1.4rem;
    width: 13rem;
  }
}
.lineup_item_link > dt figure {
  flex-shrink: 0;
}
@media screen and (min-width: 751px) {
  .lineup_item_link > dt figure {
    width: 6rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_link > dt figure {
    width: 9rem;
  }
}
.lineup_item_link > dt p {
  position: relative;
  width: 100%;
  font-weight: bold;
}
@media screen and (min-width: 751px) {
  .lineup_item_link > dt p {
    padding-left: 0.5rem;
    line-height: 3;
    font-size: 2rem;
  }
  .lineup_item_link > dt p::before {
    content: "";
    position: absolute;
    border: 1px;
    height: 1px;
    left: 0;
    right: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_link > dt p {
    line-height: 1;
    font-size: 2.6rem;
    text-align: center;
  }
}
.lineup_item_link > dd {
  position: relative;
}
@media screen and (max-width: 750px) {
  .lineup_item_link > dd {
    padding-left: 2rem;
  }
  .lineup_item_link > dd::before {
    content: "";
    position: absolute;
    border: 1px;
    width: 1px;
    left: 0;
    top: 0.6rem;
    bottom: 0;
  }
}

.lineup_item_more {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 751px) {
  .lineup_item_more {
    padding-top: 2.5rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_more {
    padding-top: 3.4rem;
  }
}
.lineup_item_more a {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.455em;
  position: relative;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  fill: #fff;
  color: #fff;
  transition: 0.4s;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .lineup_item_more a {
    border-radius: 6rem;
    width: 51.8rem;
    height: 6rem;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_more a {
    border-radius: 10rem;
    width: 45rem;
    height: 10rem;
    font-size: 3rem;
  }
}
.lineup_item_more a svg {
  width: 0.455em;
  height: 0.637em;
}
.lineup_item_more a:hover {
  background: #fff !important;
}

.lineup_item_note {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  color: #c8c8c8;
}
@media screen and (min-width: 751px) {
  .lineup_item_note {
    line-height: 1.584;
    font-size: 1.2rem;
  }
  .lineup_item_note > p {
    font: inherit;
  }
  .lineup_item_note > p:first-of-type {
    margin-top: -0.291em;
  }
  .lineup_item_note > p:last-of-type {
    margin-bottom: -0.291em;
  }
  .lineup_item_note {
    bottom: -2.6rem;
  }
}
@media screen and (max-width: 750px) {
  .lineup_item_note {
    line-height: 1.4;
    font-size: 2rem;
  }
  .lineup_item_note > p {
    font: inherit;
  }
  .lineup_item_note > p:first-of-type {
    margin-top: -0.2em;
  }
  .lineup_item_note > p:last-of-type {
    margin-bottom: -0.2em;
  }
  .lineup_item_note {
    bottom: -4.2rem;
  }
}

.product_outer {
  display: none;
  position: fixed;
  background: transparent;
  max-width: calc(100% - 2em - 6px);
  max-height: calc(100% - 2em - 6px);
  inset: 0;
  margin: auto;
  font-family: "Noto Sans JP", sans-serif;
  color: #3c3c3c;
  z-index: 9500;
}
@media screen and (min-width: 751px) {
  .product_outer {
    width: 109.6rem;
    padding: 4.8rem 4.8rem 0;
  }
}
@media screen and (max-width: 750px) {
  .product_outer {
    width: 70.8rem;
    padding: 4.8rem 2.9rem 0;
  }
}
.product_outer.is-active {
  display: block;
}
.product_outer:focus {
  outline: none;
}

.product_bg {
  position: fixed;
  background: rgba(0, 0, 0, 0.7);
  inset: 0;
}

.product_box {
  position: relative;
  background: #fff;
  clip-path: inset(0 round 2rem);
  max-height: calc(100% - 4.8rem);
  overflow-y: scroll;
}
@media screen and (min-width: 751px) {
  .product_box:has(.buttons01.col1) .product_top {
    background-image: url(/clearturn/img/clinishot/product1_top_pc.webp);
  }
}
@media screen and (max-width: 750px) {
  .product_box:has(.buttons01.col1) .product_top {
    background-image: url(/clearturn/img/clinishot/product1_top_sp.webp);
  }
}
.product_box:has(.buttons01.col1) .product_middle {
  background: #efeff6;
}
.product_box:has(.buttons01.col1) .product_point > dt {
  background: #7771ae;
}
@media screen and (min-width: 751px) {
  .product_box:has(.buttons01.col1) .product_point > dt p {
    left: 1rem;
  }
}
.product_box:has(.buttons01.col1) .product_point_ingredients::before {
  background-image: url(/clearturn/img/clinishot/multi01_b.svg);
}
.product_box:has(.buttons01.col1) .product_point_ingredients p {
  background: #7771ae;
}
.product_box:has(.buttons01.col1) .product_point_detail, .product_box:has(.buttons01.col1) .product_point_notable {
  background: #e2e1ee;
}
.product_box:has(.buttons01.col1) .product_check_image p {
  background: rgb(172.5, 169, 206);
  color: #3d358b;
}
.product_box:has(.buttons01.col1) .product_check_image p::before {
  background: rgb(172.5, 169, 206);
}
.product_box:has(.buttons01.col1) .product_check_list > li::before {
  background-image: url(/clearturn/img/clinishot/check01_b.svg);
}
@media screen and (min-width: 751px) {
  .product_box:has(.buttons01.col1) .product_bottom {
    background-image: url(/clearturn/img/clinishot/product1_bottom_pc.webp);
  }
}
@media screen and (max-width: 750px) {
  .product_box:has(.buttons01.col1) .product_bottom {
    background-image: url(/clearturn/img/clinishot/product1_bottom_sp.webp);
  }
}
.product_box:has(.buttons01.col1) .product_link > dd::before {
  background: #d8d7e8;
}
@media screen and (min-width: 751px) {
  .product_box:has(.buttons01.col2) .product_top {
    background-image: url(/clearturn/img/clinishot/product2_top_pc.webp);
  }
}
@media screen and (max-width: 750px) {
  .product_box:has(.buttons01.col2) .product_top {
    background-image: url(/clearturn/img/clinishot/product2_top_sp.webp);
  }
}
.product_box:has(.buttons01.col2) .product_middle {
  background: #fdf0f3;
}
.product_box:has(.buttons01.col2) .product_point > dt {
  background: #ef7d94;
}
@media screen and (min-width: 751px) {
  .product_box:has(.buttons01.col2) .product_point > dt p {
    left: -1.6rem;
  }
}
.product_box:has(.buttons01.col2) .product_point_ingredients::before {
  background-image: url(/clearturn/img/clinishot/multi01_p.svg);
}
.product_box:has(.buttons01.col2) .product_point_ingredients p {
  background: #ef7d94;
}
.product_box:has(.buttons01.col2) .product_point_detail, .product_box:has(.buttons01.col2) .product_point_notable {
  background: #fce3e8;
}
.product_box:has(.buttons01.col2) .product_check_image p {
  background: #f8c7d1;
  color: #e84566;
}
.product_box:has(.buttons01.col2) .product_check_image p::before {
  background: #f8c7d1;
}
.product_box:has(.buttons01.col2) .product_check_list > li::before {
  background-image: url(/clearturn/img/clinishot/check01_p.svg);
}
@media screen and (min-width: 751px) {
  .product_box:has(.buttons01.col2) .product_bottom {
    background-image: url(/clearturn/img/clinishot/product2_bottom_pc.webp);
  }
}
@media screen and (max-width: 750px) {
  .product_box:has(.buttons01.col2) .product_bottom {
    background-image: url(/clearturn/img/clinishot/product2_bottom_sp.webp);
  }
}
.product_box:has(.buttons01.col2) .product_link > dd::before {
  background: #fadae0;
}

.product_top {
  display: flex;
  align-items: center;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (min-width: 751px) {
  .product_top {
    column-gap: 2rem;
    height: 22.2rem;
    padding: 0 10rem;
  }
}
@media screen and (max-width: 750px) {
  .product_top {
    flex-wrap: wrap;
    gap: 1.6rem 2rem;
    padding: 5.4rem 5rem 0;
  }
}

@media screen and (min-width: 751px) {
  .product_top_sub {
    width: 12rem;
  }
}
@media screen and (max-width: 750px) {
  .product_top_sub {
    width: 17.2rem;
  }
}

.product_top_head {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.product_top_head p {
  line-height: 1;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
}
@media screen and (min-width: 751px) {
  .product_top_head p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 750px) {
  .product_top_head p {
    font-size: 2.5rem;
  }
}
.product_top_head h2 {
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
}
@media screen and (min-width: 751px) {
  .product_top_head h2 {
    line-height: 1;
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 750px) {
  .product_top_head h2 {
    line-height: 1.218;
    font-size: 4.6rem;
  }
}

@media screen and (min-width: 751px) {
  .product_top_thumb {
    position: absolute;
    width: 28.6rem;
    right: 10rem;
    bottom: 0;
  }
}
@media screen and (max-width: 750px) {
  .product_top_thumb {
    position: relative;
  }
}

.product_middle {
  display: grid;
}
@media screen and (min-width: 751px) {
  .product_middle {
    grid-template-columns: 1fr 30rem;
    gap: 2.2rem 1.4rem;
    padding: 3.3rem 10rem 2.7rem;
  }
}
@media screen and (max-width: 750px) {
  .product_middle {
    grid-template-columns: 100%;
    justify-content: center;
    padding: 4.9rem 5rem 5.6rem;
  }
}

.product_point {
  display: flex;
  flex-direction: column;
}
.product_point > dt {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: 1rem 1rem 0 0;
  color: #fff;
}
@media screen and (min-width: 751px) {
  .product_point > dt {
    height: 5rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point > dt {
    height: 7rem;
  }
}
.product_point > dt p {
  position: absolute;
}
@media screen and (min-width: 751px) {
  .product_point > dt p {
    width: 13.7rem;
    top: -2.8rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point > dt p {
    width: 21rem;
    left: -4.3rem;
    top: -0.6rem;
  }
}
.product_point > dt h3 {
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .product_point > dt h3 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point > dt h3 {
    font-size: 2.8rem;
  }
}
.product_point > dd {
  background: #fff;
  border-radius: 0 0 1rem 1rem;
}
@media screen and (min-width: 751px) {
  .product_point > dd {
    padding: 2.2rem 3.3rem 3.1rem;
    height: 100%;
  }
}
@media screen and (max-width: 750px) {
  .product_point > dd {
    padding: 3.3rem 2.5rem 2.7rem;
  }
}

.product_point_head {
  line-height: 1;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .product_point_head {
    font-size: 2rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point_head {
    font-size: 2.8rem;
  }
}

.product_point_ingredients {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 751px) {
  .product_point_ingredients {
    column-gap: 1.2rem;
    margin-top: 2.1rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point_ingredients {
    column-gap: 0.9rem;
    margin-top: 3.1rem;
  }
}
.product_point_ingredients::before {
  content: "";
  order: 2;
  flex-shrink: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .product_point_ingredients::before {
    width: 2.6rem;
    height: 2.6rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point_ingredients::before {
    width: 4.2rem;
    height: 4.2rem;
  }
}
.product_point_ingredients p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 0.5rem;
  width: 100%;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 751px) {
  .product_point_ingredients p {
    row-gap: 0.6rem;
    height: 7.4rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point_ingredients p {
    row-gap: 0.9rem;
    width: 22rem;
    height: 10.6rem;
  }
}
.product_point_ingredients p:last-of-type {
  order: 3;
}
.product_point_ingredients p span {
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .product_point_ingredients p span {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point_ingredients p span {
    font-size: 2.5rem;
  }
}
.product_point_ingredients p small {
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .product_point_ingredients p small {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point_ingredients p small {
    font-size: 2rem;
  }
}

.product_point_detail {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 751px) {
  .product_point_detail {
    row-gap: 1.4rem;
    border-radius: 0.5rem;
    height: 12.5rem;
    margin-top: 1.7rem;
    padding: 2.2rem 0;
  }
}
@media screen and (max-width: 750px) {
  .product_point_detail {
    row-gap: 1.9rem;
    border-radius: 0.5rem;
    margin-top: 1.2rem;
    padding: 3.2rem 0;
  }
}
.product_point_detail p {
  line-height: 1;
  font-weight: 500;
}
@media screen and (min-width: 751px) {
  .product_point_detail p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point_detail p {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 751px) {
  .product_point_detail p small {
    font-size: 0.667em;
  }
}
@media screen and (max-width: 750px) {
  .product_point_detail p small {
    font-size: 0.8em;
  }
}

.product_point_notable {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 0.5rem;
}
@media screen and (min-width: 751px) {
  .product_point_notable {
    row-gap: 1.1rem;
    margin-top: 1rem;
    padding: 2.1rem 0;
  }
}
@media screen and (max-width: 750px) {
  .product_point_notable {
    row-gap: 1.3rem;
    margin-top: 1.4rem;
    padding: 3.2rem 0 3.5rem;
  }
}
.product_point_notable > dt {
  position: relative;
  line-height: 1;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .product_point_notable > dt {
    width: 36rem;
    padding-bottom: 1rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point_notable > dt {
    width: 40rem;
    padding-bottom: 1.6rem;
    font-size: 2rem;
  }
}
.product_point_notable > dt::before {
  content: "";
  position: absolute;
  border-bottom: 1px solid #fff;
  left: 0;
  right: 0;
  bottom: 0;
}
.product_point_notable > dd p {
  line-height: 1;
  font-weight: 500;
}
@media screen and (min-width: 751px) {
  .product_point_notable > dd p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 750px) {
  .product_point_notable > dd p {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 751px) {
  .product_point_notable > dd p small {
    font-size: 0.667em;
  }
}
@media screen and (max-width: 750px) {
  .product_point_notable > dd p small {
    font-size: 0.8em;
  }
}

.product_check {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 1rem;
}
@media screen and (max-width: 750px) {
  .product_check {
    margin-top: 6.1rem;
  }
}

.product_check_image {
  flex-shrink: 0;
  position: relative;
}
.product_check_image figure {
  position: relative;
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
}
.product_check_image p {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .product_check_image p {
    border-radius: 6.9rem;
    width: 19rem;
    height: 6.9rem;
    left: -0.6rem;
    top: -1.4rem;
    line-height: 1.313;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 750px) {
  .product_check_image p {
    border-radius: 10.35rem;
    width: 28.5rem;
    height: 10.35rem;
    left: 3.4rem;
    top: -3.2rem;
    line-height: 1.334;
    font-size: 2.4rem;
  }
}
.product_check_image p::before {
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 100% 0, 100% 1px, 50% 100%, 0 1px);
  left: 0;
  right: 0;
  top: calc(100% - 1px);
  margin: 0 auto;
  pointer-events: none;
}
@media screen and (min-width: 751px) {
  .product_check_image p::before {
    width: 1rem;
    height: calc(0.8rem + 1px);
  }
}
@media screen and (max-width: 750px) {
  .product_check_image p::before {
    width: 2.4rem;
    height: calc(1.9rem + 1px);
  }
}

.product_check_list {
  display: flex;
  height: 100%;
}
@media screen and (min-width: 751px) {
  .product_check_list {
    flex-direction: column;
    row-gap: 1.8rem;
    padding: 3.5rem 0 3.5rem 6rem;
  }
}
@media screen and (max-width: 750px) {
  .product_check_list {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2.4rem 1rem;
    padding: 4.6rem 7rem 5rem;
  }
}
.product_check_list > li {
  display: flex;
  column-gap: 0.5em;
}
@media screen and (min-width: 751px) {
  .product_check_list > li {
    line-height: 1.167;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 750px) {
  .product_check_list > li {
    width: 45%;
    line-height: 1.4;
    font-size: 2.5rem;
  }
}
.product_check_list > li::before {
  content: "";
  background-position: left top;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.167em;
  height: 1.167em;
  translate: 0 8%;
}

@media screen and (min-width: 751px) {
  .product_notes {
    grid-column: 1/3;
    line-height: 1.584;
    font-size: 1.2rem;
  }
  .product_notes > p {
    font: inherit;
  }
  .product_notes > p:first-of-type {
    margin-top: -0.291em;
  }
  .product_notes > p:last-of-type {
    margin-bottom: -0.291em;
  }
}
@media screen and (max-width: 750px) {
  .product_notes {
    grid-row: 2/3;
    margin-top: 2.2rem;
    line-height: 1.4;
    font-size: 2rem;
  }
  .product_notes > p {
    font: inherit;
  }
  .product_notes > p:first-of-type {
    margin-top: -0.2em;
  }
  .product_notes > p:last-of-type {
    margin-bottom: -0.2em;
  }
}
@media screen and (min-width: 751px) {
  .product_notes > li {
    display: inline;
  }
}

.product_bottom {
  display: flex;
  align-items: center;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 751px) {
  .product_bottom {
    justify-content: center;
    column-gap: 1.2rem;
    height: 19.5rem;
  }
}
@media screen and (max-width: 750px) {
  .product_bottom {
    flex-direction: column;
    row-gap: 1.4rem;
    padding: 5rem;
  }
}

.product_link {
  display: flex;
  align-items: center;
  background: #fff;
}
@media screen and (min-width: 751px) {
  .product_link {
    column-gap: 2rem;
    border-radius: 0.8rem;
    width: 39.4rem;
    height: 13.6rem;
    padding: 0.6rem 1.8rem 0 2.7rem;
  }
}
@media screen and (max-width: 750px) {
  .product_link {
    column-gap: 4rem;
    border-radius: 2rem;
    padding: 1.9rem 2rem 2.4rem 3rem;
  }
}
.product_link > dt {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 751px) {
  .product_link > dt {
    row-gap: 1rem;
  }
}
@media screen and (max-width: 750px) {
  .product_link > dt {
    row-gap: 1.5rem;
  }
}
@media screen and (min-width: 751px) {
  .product_link > dt figure {
    width: 7rem;
  }
}
@media screen and (max-width: 750px) {
  .product_link > dt figure {
    width: 9rem;
  }
}
.product_link > dt p {
  line-height: 1;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .product_link > dt p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 750px) {
  .product_link > dt p {
    font-size: 2.6rem;
  }
}
.product_link > dd {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 751px) {
  .product_link > dd {
    padding-left: 1.9rem;
  }
  .product_link > dd::before {
    content: "";
    position: absolute;
    width: 1px;
    left: 0;
    top: 0;
    bottom: 0;
  }
}

.product_close {
  position: absolute;
  background: #efeff6;
  border-radius: 50%;
  width: 10rem;
  height: 10rem;
  top: 0;
  right: 0;
  cursor: pointer;
}