@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");
_:lang(x)::-internal-media-controls-overlay-cast-button, img {
  image-rendering: -webkit-optimize-contrast; }

/*--------------------------------------------------------------
/pub/template/
--------------------------------------------------------------*/
/* *****************************************
/*+  common  +******************************
/***************************************** */
body {
  margin: 0;
  padding: 0; }
  @media (min-width: 513px) {
    body {
      background-size: cover;
      background-attachment: fixed;
      background-color: #FFF; } }

#template {
  max-width: 512px;
  overflow: hidden;
  margin: 0 auto;
  text-align: center;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","游ゴシック Medium",YuGothic,YuGothicM,メイリオ,Meiryo,sans-serif;
  background-color: #FFF;
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .16em;
  line-height: 1.65;
  font-size: 3.75vw;
  color: #373737; }
  @media (min-width: 513px) {
    #template {
      box-shadow: 0px 0px 54px 0px rgba(0, 0, 0, 0.3); } }
  @media (min-width: 513px) {
    #template {
      font-size: 19.2px; } }
  #template a {
    color: #3579b1;
    text-decoration: underline; }
    #template a:link, #template a:visited {
      color: #3579b1;
      text-decoration: underline; }
    #template a:hover, #template a:active {
      color: #3579b1;
      text-decoration: none; }
  @media (min-width: 513px) {
    #template a[href*="tel:"] {
      pointer-events: none;
      cursor: default;
      text-decoration: none; }
    #template a {
      transition: .3s all; }
      #template a:hover {
        opacity: .7; } }
  #template * {
    margin: 0;
    padding: 0; }
  #template img, #template input[type="image"] {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: bottom; }
  #template video {
    width: 100%;
    height: auto;
    display: block; }
  #template ol, #template ul {
    list-style: none; }
  #template sup {
    font-size: 60%;
    vertical-align: top;
    position: relative;
    top: -0.1em;
    letter-spacing: .05em; }
  #template .clearfix:after {
    content: "";
    display: block;
    clear: both; }
  #template *, #template *:before, #template *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  #template .fade {
    transition: 0.5s; }
    #template .fade:hover {
      opacity: .75; }
  #template .text-blue {
    color: #3579b1; }
  #template .bold {
    font-weight: bold; }
  #template .notes {
    margin: 0 6.25%; }
  #template .note {
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .16em;
    line-height: 1.65;
    font-size: 2.5vw;
    text-align: left;
    letter-spacing: 0.05em;
    color: #404040; }
    @media (min-width: 513px) {
      #template .note {
        font-size: 12.8px; } }
    #template .note li {
      letter-spacing: normal;
      text-indent: -1em;
      padding-left: 1em; }
  #template dl.note {
    display: flex;
    flex-wrap: wrap;
    line-height: 1.4;
    text-align: left; }
    #template dl.note dt {
      width: 1em; }
    #template dl.note dd {
      width: calc(100% - 1em); }
    #template dl.note.numbering dt {
      width: 2em; }
    #template dl.note.numbering dd {
      width: calc(100% - 2em); }
  #template .tr {
    text-align: right; }
  #template .tl {
    text-align: left; }
  #template .tc {
    text-align: center; }
  #template #footer {
    padding: 1em 0; }
  #template .fadeIn {
    opacity: 0;
    transition: .3s; }
  #template .fadeIn.lazyloaded {
    opacity: 1; }

.effected, .effected::before, .effected::after {
  opacity: 1 !important;
  transform: translate(0, 0) scale(1, 1) !important; }

/* *****************************************
/*+  content  +********************************
/***************************************** */
/*+ common parts + ------------------------------ */
#template .bottle_btn {
  cursor: pointer;
  position: relative;
  color: #FFF;
  background-color: #b8cece;
  border-radius: clamp(9px, 2.8125vw, 14.4px);
  border-bottom-right-radius: 0;
  border-top-left-radius: 0;
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .16em;
  line-height: 1.65;
  font-size: 4.375vw;
  padding: .5em 1em;
  width: calc( 414 / 640 * 100%);
  margin: 0 auto; }
  @media (min-width: 513px) {
    #template .bottle_btn {
      font-size: 22.4px; } }
  #template .bottle_btn::after {
    content: "";
    position: absolute;
    right: 1em;
    top: 50%;
    width: 0.5em;
    height: 0.5em;
    border: #FFF solid 2px;
    border-right: none;
    border-top: none;
    transform: translateY(-65%) rotate(-135deg);
    transition: all .3s; }
  #template .bottle_btn.slideToggle-btn::after {
    transform: translateY(-65%) rotate(-45deg); }
  #template .bottle_btn.slideToggle-btn.active::after {
    transform: translateY(-45%) rotate(135deg); }
#template .accordion_close {
  position: relative;
  display: inline-block;
  cursor: pointer;
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .16em;
  line-height: 1.65;
  font-size: 2.8125vw;
  color: #009fdd;
  text-align: center;
  margin: 2em auto 0; }
  @media (min-width: 513px) {
    #template .accordion_close {
      font-size: 14.4px; } }
  #template .accordion_close::before, #template .accordion_close::after {
    content: "";
    position: absolute;
    left: -1.5em;
    top: 50%;
    width: .8em;
    height: 0;
    border-bottom: #009fdd solid 1px; }
  #template .accordion_close::before {
    transform: rotate(45deg); }
  #template .accordion_close::after {
    transform: rotate(-45deg); }

.modal {
  display: none; }

.modaal-inner-wrapper {
  padding: 80px calc( 45 / 640 * 100%); }

.modaal-container {
  max-width: 512px;
  overflow: hidden;
  margin: 0 auto;
  font-family: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","游ゴシック Medium",YuGothic,YuGothicM,メイリオ,Meiryo,sans-serif;
  background-color: #FFF;
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .16em;
  line-height: 1.65;
  font-size: 3.75vw;
  color: #373737;
  border-radius: clamp(6px, 1.875vw, 9.6px); }
  @media (min-width: 513px) {
    .modaal-container {
      font-size: 19.2px; } }
  .modaal-container img, .modaal-container input[type="image"] {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: bottom; }
  .modaal-container video {
    width: 100%;
    height: auto;
    display: block; }

.modaal-content-container {
  padding: 0; }

.modal__contents {
  text-align: center;
  padding: calc( 70 / 640 * 100%) 0; }
  .modal__contents .modal_close {
    position: relative;
    display: inline-block;
    cursor: pointer;
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .16em;
    line-height: 1.65;
    font-size: 2.8125vw;
    color: #009fdd;
    text-align: center;
    margin: 2em auto 0; }
    @media (min-width: 513px) {
      .modal__contents .modal_close {
        font-size: 14.4px; } }
    .modal__contents .modal_close::before, .modal__contents .modal_close::after {
      content: "";
      position: absolute;
      left: -1.5em;
      top: 50%;
      width: .8em;
      height: 0;
      border-bottom: #009fdd solid 1px; }
    .modal__contents .modal_close::before {
      transform: rotate(45deg); }
    .modal__contents .modal_close::after {
      transform: rotate(-45deg); }

.swiper-button-prev, .swiper-button-next {
  top: auto; }
  .swiper-button-prev::after, .swiper-button-next::after {
    content: none; }

.swiper-pagination-bullet {
  border-radius: 0;
  opacity: 1; }

/*+ block + ------------------------------ */
#content > section, #content .area {
  position: relative;
  z-index: 0; }
#content .kv_base {
  position: relative;
  /*padding: calc( 130 / 640 * 100%) 0 calc( 80 / 640 * 100%);*/ }
  #content .kv_base__visual {
    position: relative;
    left: 0;
    top: 0;
    /*opacity: 0.01;
    filter: brightness(1);*/ }
    #content .kv_base__visual.animate_start {
      animation: brightness_low 2.5s cubic-bezier(0.39, 0.38, 0.28, 0.88) 0s forwards; }
  #content .kv_base__visual h1 {
      font-family: "游ゴシック Medium", YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif;
      font-size: clamp(16px, calc((32 / 512) * 100vw), 32px);
      color: #fff;
      letter-spacing: .14em;
      line-height: 1.5;
      text-align: left;
      position: absolute;
      top: 29%;
      left: 4.6%;
    }
  #content .kv_base__logo {
    position: absolute;
    width: calc( 110 / 640 * 100%);
    left: 0;
    top: 0;
    margin: calc( 20 / 640 * 100%) calc( 30 / 640 * 100%);
    opacity: 0.01; }
    #content .kv_base__logo.animate_start {
      animation: fadein 1s cubic-bezier(0.39, 0.38, 0.28, 0.88) 0.8s forwards; }
  #content .kv_base__mc {
    margin: 0 0 calc( 520 / 640 * 100%);
    opacity: 0.01; }
    #content .kv_base__mc.animate_start {
      animation: fadein 1s cubic-bezier(0.39, 0.38, 0.28, 0.88) 1s forwards; }
  #content .kv_base__toiro-logo {
    opacity: 0.01; }
    #content .kv_base__toiro-logo.animate_start {
      animation: fadein 1s cubic-bezier(0.39, 0.38, 0.28, 0.88) 1.2s forwards; }
  #content .kv_base__point {
    margin: 0 0 calc( 80 / 640 * 100%);
    opacity: 0.01; }
    #content .kv_base__point.animate_start {
      animation: fadein 1s cubic-bezier(0.39, 0.38, 0.28, 0.88) 1.4s forwards; }
  #content .kv_base .note {
    color: #FFF;
    margin: 0 calc( 30 / 640 * 100%);
    opacity: 0; }
    #content .kv_base .note.animate_start {
      animation: fadein 1s cubic-bezier(0.39, 0.38, 0.28, 0.88) 1.6s forwards; }
@keyframes fadein {
  0% {
    transform: translateY(15px);
    opacity: 0.01; }
  100% {
    transform: translateY(0);
    opacity: 1; } }
@keyframes brightness {
  0% {
    filter: brightness(2.5);
    opacity: 0.01; }
  100% {
    filter: brightness(1);
    opacity: 1; } }
@keyframes brightness_low {
  0% {
    filter: brightness(1.2);
    opacity: 0.01; }
  100% {
    filter: brightness(1);
    opacity: 1; } }
@keyframes yura_horizontal {
  0% {
    transform: translateX(-15px) skew(15deg); }
  25% {
    transform: translateX(3px) skew(0deg); }
  50% {
    transform: translateX(-8px) skew(15deg); }
  75% {
    transform: translateX(0px) skew(0deg); }
  100% {
    transform: translateX(-2px) skew(15deg); } }
@keyframes yura_vertical {
  0% {
    transform: translateY(-15px);
    opacity: .7; }
  25% {
    transform: translateY(3px);
    opacity: .8; }
  50% {
    transform: translateY(-20px);
    opacity: 1; }
  75% {
    transform: translateY(0px);
    opacity: .8; }
  100% {
    transform: translateY(-2px);
    opacity: 1; } }
#content .award {
  margin-top: calc( 20 / 640 * 100%); }
#content .kv-after {
  position: relative;
  margin: calc( 40 / 640 * 100%) 0 0; }
  #content .kv-after__note {
    margin: 0 calc( 30 / 640 * 100%); }
#content .cv {
  padding: calc( 60 / 640 * 100%) 0 calc( 90 / 640 * 100%); }
  #content .cv .inner {
    position: relative;
    background-color: #f2f6fa;
    margin: 0 calc( 30 / 640 * 100%);
    padding: 0 0 calc( 60 / 640 * 100%);
    border-radius: clamp(6px, 1.875vw, 9.6px);
    border: #3579b1 solid clamp(5px, calc(10 / 640 * 100vw), calc(10px * 512 / 640)); }
    #content .cv .inner::before {
      display: block;
      position: absolute;
      background-color: #009fdd;
      width: 3em;
      height: 3px;
      left: 0;
      right: 0;
      top: 0;
      margin: auto;
      content: none; }
  #content .cv .cv_btn input {
    position: relative;
    cursor: pointer;
    display: block;
    width: calc( 520 / 560 * 100%);
    height: 0;
    margin: calc( 30 / 560 * 100%) auto calc( 40 / 560 * 100%);
    padding-top: calc( 116 / 560 * 100%);
    border: none;
    text-indent: -9999px;
    background: url(../img/sp/cv_btn.png) no-repeat 0 0/100% auto;
    filter: drop-shadow(6px 6px 14px rgba(118, 118, 118, 0.35));
    transition: all .3s; }
    #content .cv .cv_btn input:hover {
      opacity: .9;
      transform: translateY(5px);
      filter: drop-shadow(2px 2px 7px rgba(118, 118, 118, 0.8)); }
  #content .cv .cv_btn_member input {
    position: relative;
    cursor: pointer;
    display: block;
    width: calc( 440 / 560 * 100%);
    height: 0;
    margin: 0 auto calc( 40 / 560 * 100%);
    padding-top: calc( 80 / 560 * 100%);
    border: none;
    text-indent: -9999px;
    background: url("../img/sp/cv_btn_member.png") no-repeat 0 0/100% auto;
    transition: all .3s; }
    #content .cv .cv_btn_member input:hover {
      opacity: .7;
      transform: translateY(5px); }
  #content .cv .link_seibun, #content .cv .link_guide {
    margin: calc( 40 / 560 * 100%);
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .16em;
    line-height: 1.65;
    font-size: 3.4375vw;
    letter-spacing: .05em; }
    @media (min-width: 513px) {
      #content .cv .link_seibun, #content .cv .link_guide {
        font-size: 17.6px; } }
    #content .cv .link_seibun a, #content .cv .link_guide a {
      color: #ff9036; }
  #content .cv .cv_service {
    width: calc( 560 / 560 * 100%);
    margin: calc( 40 / 560 * 100%) auto calc( 50 / 560 * 100%); }
  #content .cv .note {
    margin: 0 calc( 30 / 560 * 100%) 0;
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .16em;
    line-height: 1.65;
    font-size: 2.5vw;
    letter-spacing: normal; }
    @media (min-width: 513px) {
      #content .cv .note {
        font-size: 12.8px; } }
    #content .cv .note.numbering {
      margin-bottom: 0; }
  #content .cv.short .inner {
    padding: 0 0 calc( 60 / 640 * 100%); }
    #content .cv.short .inner .cv_btn input {
      width: calc( 520 / 560 * 100%);
      margin: 0 auto calc( 40 / 560 * 100%);
      padding-top: calc( 90 / 560 * 100%);
      background: url("../img/sp/cv_short_btn.png") no-repeat 0 0/100% auto; }
    #content .cv.short .inner .cv_btn_member input {
      width: calc( 440 / 560 * 100%);
      padding-top: calc( 65 / 560 * 100%);
      background: url("../img/sp/cv_short_btn_member.png") no-repeat 0 0/100% auto; }
#content .nayami {
  position: relative;
  background-color: #f2f2f2;
  padding: calc( 130 / 640 * 100%) 0 0; }
  #content .nayami__cause01 {
    position: relative; }
  #content .nayami__fukigen-extwrapper {
    background-color: #FFF;
    margin: calc( 40 / 640 * 100%) calc( 45 / 640 * 100%) 0;
    padding: calc( 60 / 640 * 100%) 0; }
  #content .nayami__cause02 {
    margin: calc( 60 / 640 * 100%) 0 0; }
  #content .nayami__summary {
    position: relative;
    background: #FFF;
    margin: calc( 80 / 640 * 100%) 0 0; }
    #content .nayami__summary::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: -1.2em;
      width: 1.6em;
      height: 1.6em;
      transform: rotate(-135deg);
      margin: auto;
      border-top: #373737 solid 1px;
      border-left: #373737 solid 1px; }
    #content .nayami__summary-note {
      position: absolute;
      bottom: 0;
      margin: calc( 60 / 640 * 100%) calc( 30 / 640 * 100%) calc( 80 / 640 * 100%); }
#content .influencer .inner {
  padding: 0 0 calc( 80 / 640 * 100%);
  position: relative; }
#content .evidence {
  background: #f2f4f2 url("../img/sp/evidence_bg.jpg") no-repeat center top/100% auto; }
  #content .evidence .inner {
    padding: calc( 100 / 640 * 100%) 0 calc( 180 / 640 * 100%);
    position: relative; }
  #content .evidence__ttl {
    margin: 0 0 calc( 60 / 640 * 100%); }
  #content .evidence__pointwrapper {
    background-color: #FFF;
    border-radius: clamp(6px, 1.875vw, 9.6px);
    padding-bottom: calc( 60 / 640 * 100%); }
    #content .evidence__pointwrapper .note {
      margin: calc( 40 / 640 * 100%); }
    #content .evidence__pointwrapper *:last-child {
      margin-bottom: 0; }
  #content .evidence__slider-container {
    position: relative; }
  #content .evidence__slider {
    padding: 0 20px 0; }
    #content .evidence__slider .swiper-button-prev, #content .evidence__slider .swiper-button-next {
      position: absolute;
      top: 15em;
      width: calc( 52 / 640 * 100%);
      cursor: pointer;
      transition: all .2s;
      z-index: 3; }
    #content .evidence__slider .swiper-button-prev {
      left: calc( 5 / 640 * 100%); }
    #content .evidence__slider .swiper-button-next {
      right: calc( 5 / 640 * 100%); }
    #content .evidence__slider .swiper-button-disabled {
      opacity: 0;
      cursor: default; }
    #content .evidence__slider .swiper-pagination {
      display: flex;
      justify-content: center;
      position: absolute;
      margin: auto;
      left: 0;
      right: 0;
      bottom: -2.5em; }
    #content .evidence__slider .swiper-pagination-bullet {
      width: 3em;
      height: 4px;
      margin: 0 .5em;
      background-color: #CCC; }
      #content .evidence__slider .swiper-pagination-bullet-active {
        background-color: #3579b1; }
  #content .evidence h3 {
    transform: translateY(-0.3em); }
  #content .evidence__p1-03 {
    margin: calc( 60 / 640 * 100%) 0 0; }
  #content .evidence__p1-ext {
    margin: 0 calc( 30 / 640 * 100%) 0;
    display: none; }
    #content .evidence__p1-ext .note {
      margin: calc( 40 / 640 * 100%) 0; }
    #content .evidence__p1-ext .accordion_close {
      margin: 1em 0 0; }
  #content .evidence .bg-gray {
    background-color: #f7f7f7;
    margin: calc( 50 / 640 * 100%) 0 0;
    padding: calc( 50 / 640 * 100%) 0; }
  #content .evidence__p1-ext01 {
    margin: 0 0 calc( 60 / 640 * 100%); }
  #content .evidence__p1-ext04 {
    margin: calc( 120 / 640 * 100%) 0 0; }
  #content .evidence__p1-ext05 {
    margin: calc( 50 / 640 * 100%) 0 calc( 60 / 640 * 100%); }
#content .evidence-v2 {
  background: #f2f4f2 url("../img/sp/evidence_bg.jpg") no-repeat center top/100% auto; }
  #content .evidence-v2 .inner {
    padding: calc( 60 / 640 * 100%) 0 calc( 90 / 640 * 100%);
    position: relative; }
  #content .evidence-v2__01 {
    margin: 0 calc( 30 / 640 * 100%) calc( 60 / 640 * 100%); }
  #content .evidence-v2__02 {
    margin: 0 calc( 30 / 640 * 100%) calc( 80 / 640 * 100%); }
  #content .evidence-v2__03 {
    margin: 0 0 calc( 80 / 640 * 100%); }
  #content .evidence-v2 .note {
    margin: 0 calc( 30 / 640 * 100%) 1em; }
#content .cv-1 {
  padding: 0 0 calc( 90 / 640 * 100%); }
  #content .cv-1__lead-wrapper {
    position: relative;
    padding-top: calc( 160 / 640 * 100%); }
    #content .cv-1__lead-wrapper::before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: -2em;
      width: 1px;
      height: 6em;
      margin: auto;
      background-color: #373737; }
  #content .cv-1__lead {
    width: calc( 485 / 640 * 100%);
    margin: 0 calc( 54 / 640 * 100%) 0 auto; }
  #content .cv-1__visual {
    overflow: hidden;
    width: calc( 532 / 640 * 100%);
    margin: calc( 36 / 640 * 100%) 0 0 auto;
    border-radius: clamp(6px, 1.875vw, 9.6px);
    border-bottom-right-radius: 0;
    border-top-right-radius: 0; }
    #content .cv-1__visual::before {
      content: "";
      display: block;
      background: url("../img/sp/cv1_visual_bg.jpg") no-repeat left top/100% auto;
      position: absolute;
      z-index: -1;
      width: calc( 510 / 640 * 100%);
      height: 0;
      padding-top: calc( 361 / 510 * 100%);
      left: 0;
      top: 0;
      margin: calc( 260 / 640 * 100%) 0 0; }
  #content .cv-1 .inner {
    margin-top: -3.5em; }
#content .voice {
  position: relative;
  padding: calc( 100 / 640 * 100%) 0 calc( 60 / 640 * 100%); }
  #content .voice::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    width: calc( 580 / 640 * 100%);
    height: 1px;
    background-color: #3579b1;
    margin: auto; }
  #content .voice__ttl {
    margin: 0 0 calc( 60 / 640 * 100%); }
  #content .voice__tab-wrapper {
    margin: 0 calc( 30 / 640 * 100%);
    overflow: hidden; }
    #content .voice__tab-wrapper .note {
      margin: calc( 20 / 640 * 100%) 0 calc( 90 / 640 * 100%); }
  #content .voice__tab {
    display: flex;
    justify-content: space-evenly;
    border-bottom: #3579b1 solid 5px; }
    #content .voice__tab .tab {
      cursor: pointer;
      width: calc( 265 / 580 * 100%);
      border: #3579b1 solid 2px;
      border-bottom: none;
      border-top-left-radius: clamp(4px, 0.625vw, 3.2px);
      border-top-right-radius: clamp(4px, 0.625vw, 3.2px);
      -moz-font-feature-settings: "palt";
      -webkit-font-feature-settings: "palt";
      font-feature-settings: "palt";
      letter-spacing: .16em;
      line-height: 1.65;
      font-size: 3.4375vw;
      font-weight: bold;
      letter-spacing: .1em;
      color: #3579b1;
      padding: .8em 0;
      white-space: nowrap; }
      @media (min-width: 513px) {
        #content .voice__tab .tab {
          font-size: 17.6px; } }
      #content .voice__tab .tab.tab-active {
        background-color: #3579b1;
        color: #FFF; }
  #content .voice__01 {
    margin-bottom: calc( 120 / 640 * 100%); }
  #content .voice .note {
    text-align: right;
    margin: calc( 60 / 640 * 100%) calc( 30 / 640 * 100%) 0; }
#content .cv-2 {
  padding-bottom: 0; }
  #content .cv-2__lead-wrapper {
    position: relative;
    background: url("../img/sp/cv2_visual_bg.jpg") no-repeat left top/100% auto;
    padding: calc( 145 / 640 * 100%) 0 calc( 200 / 640 * 100%); }
    #content .cv-2__lead-wrapper::before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: -2em;
      width: 1px;
      height: 6em;
      margin: auto;
      background-color: #373737; }
  #content .cv-2__lead {
    margin: 0 0 calc( 73 / 640 * 100%); }
  #content .cv-2 .note {
    margin: 0 calc( 30 / 640 * 100%); }
#content .appeal {
  background: url("../img/sp/appeal_bg.jpg") no-repeat center top/100% auto; }
  #content .appeal__copy_01 {
    width: calc( 442 / 640 * 100%);
    margin: calc( 84 / 640 * 100%) auto calc( 110 / 640 * 100%) calc( 60 / 640 * 100%); }
  #content .appeal__secondarea {
    position: relative;
    background-color: #f2f2f2;
    padding: 0 0 calc( 190 / 640 * 100%); }
    #content .appeal__secondarea video {
      position: absolute;
      right: -1px;
      top: 0; }
  #content .appeal__copy_02 {
    position: relative;
    width: calc( 391 / 640 * 100%);
    margin: 0 auto 0 0; }
  #content .appeal__pic_01 {
    position: relative;
    width: calc( 420 / 640 * 100%);
    margin: 0 auto 0 0; }
  #content .appeal__copy_03 {
    position: relative;
    width: calc( 273 / 640 * 100%);
    margin: -13em calc( 50 / 640 * 100%) 0 auto; }
#content .set {
  padding: calc( 90 / 640 * 100%) 0 0;
  position: relative; }
  #content .set h2 {
    margin-bottom: calc( 40 / 640 * 100%); }
  #content .set__block {
    margin: 0 calc( 60 / 640 * 100%) calc( 80 / 640 * 100%); }
    #content .set__block *:last-of-type {
      margin-bottom: 0; }
    #content .set__block .inner {
      position: relative;
      border: #afafaf solid 1px;
      border-radius: clamp(6px, 1.875vw, 9.6px);
      padding-bottom: calc( 60 / 640 * 100%); }
      #content .set__block .inner :last-child {
        margin-bottom: 0; }
      #content .set__block .inner::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        right: 0;
        margin: auto;
        width: 4em;
        height: clamp(2px, 0.78125vw, 4px);
        background-color: #009fdd; }
    #content .set__block .note {
      margin-top: calc( 20 / 520 * 100%); }
  #content .set__video {
    position: absolute;
    width: calc( 210 / 520 * 100%);
    margin: auto;
    left: -1em;
    top: 10em;
    padding: 10px 0;
    background-color: #FFF; }
    #content .set__video video {
      border-radius: clamp(4px, 1.25vw, 6.4px); }
  #content .set__outline {
    margin: 0 0 calc( 60 / 640 * 100%); }
  #content .set__discription {
    margin: calc( 60 / 640 * 100%) 0;
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .16em;
    line-height: 1.65;
    font-size: 3.75vw;
    letter-spacing: .2em;
    white-space: nowrap; }
    @media (min-width: 513px) {
      #content .set__discription {
        font-size: 19.2px; } }
  #content .set .drop .set__outline {
    width: calc( 640 / 520 * 100%);
    margin: 0 calc( -60 / 520 * 100%); }
  #content .set .drop .modal-btn {
    width: calc( 414 / 520 * 100%); }
  #content .set .drop.voce .set__video {
    top: 5.75em; }
  #content .set .milk .set__outline {
    width: calc( 640 / 520 * 100%);
    margin: 0 calc( -60 / 520 * 100%); }
  #content .set .milk .set__video {
    top: 5.75em; }
  #content .set .milk.video_right .set__video {
    left: auto;
    right: -1.8em;
    top: 10em; }
  #content .set .offer {
    margin: calc( 100 / 640 * 100%) 0 0;
    padding: calc( 100 / 640 * 100%) 0;
    background-color: #f5f5f5;
    position: relative; }
    #content .set .offer .set__plus {
      position: absolute;
      width: calc( 78 / 640 * 100%);
      margin: auto;
      left: 0;
      right: 0;
      top: -1.55em; }
  #content .set__icon {
    position: absolute;
    width: calc( 166 / 520 * 100%);
    left: -2em;
    top: -3.2em; }
  #content .set .cleansing .inner {
    border: #1ec2e5 solid 1px; }
    #content .set .cleansing .inner::before {
      background-color: #1ec2e5; }
  #content .set .gel {
    margin-top: calc( 120 / 640 * 100%);
    margin-bottom: 0; }
    #content .set .gel .inner {
      border: #b8cece solid 1px; }
      #content .set .gel .inner::before {
        background-color: #b8cece; }
#content .commitment .inner {
  padding: 0 0 calc( 100 / 640 * 100%);
  position: relative; }
#content .quality .inner {
  padding: 0 0 calc( 180 / 640 * 100%); }
#content .quality__slider-container {
  position: relative;
  padding: 0 0 calc( 40 / 640 * 100%); }
#content .quality__slider .swiper-button-prev, #content .quality__slider .swiper-button-next {
  position: absolute;
  bottom: -3.5em;
  width: calc( 52 / 640 * 100%);
  cursor: pointer;
  transition: all .2s; }
#content .quality__slider .swiper-button-prev {
  left: calc( 30 / 640 * 100%); }
#content .quality__slider .swiper-button-next {
  right: calc( 30 / 640 * 100%); }
#content .quality__slider .swiper-button-disabled {
  opacity: 0;
  cursor: default; }
#content .quality__slider .swiper-pagination {
  display: flex;
  justify-content: center;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  bottom: -2.5em; }
#content .quality__slider .swiper-pagination-bullet {
  width: 3em;
  height: 4px;
  margin: 0 .5em;
  background-color: #CCC; }
  #content .quality__slider .swiper-pagination-bullet-active {
    background-color: #009fdd; }
#content .brand {
  position: relative;
  padding: 0 0 calc( 90 / 640 * 100%); }
  #content .brand h2 {
    position: relative;
    z-index: 2;
    width: calc( 162 / 640 * 100%);
    margin: calc( -396 / 640 * 100%) calc( 65 / 640 * 100%) calc( 57 / 640 * 100%) auto; }
  #content .brand__lead {
    margin: 0 calc( 45 / 640 * 100%) calc( 0 / 640 * 100%); }
  #content .brand__figure {
    margin: 0 0 calc( 30 / 640 * 100%); }
  #content .brand .note {
    margin: 0 calc( 30 / 640 * 100%);
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .16em;
    line-height: 1.65;
    font-size: 2.1875vw;
    letter-spacing: .02em; }
    @media (min-width: 513px) {
      #content .brand .note {
        font-size: 11.2px; } }
#content .safty_test {
  position: relative;
  padding: calc( 60 / 640 * 100%) 0 calc( 100 / 640 * 100%); }
  #content .safty_test__visual {
    width: calc( 455 / 640 * 100%);
    margin: 0 0 0 auto;
    position: relative; }
    #content .safty_test__visual img {
      border-top-left-radius: clamp(6px, 1.875vw, 9.6px);
      border-bottom-left-radius: clamp(6px, 1.875vw, 9.6px); }
    #content .safty_test__visual::before {
      content: "";
      position: absolute;
      z-index: -1;
      right: 0;
      top: 0;
      width: 110%;
      height: 125%;
      margin: -10% 0 0;
      background-color: #f2f2f2;
      border-top-left-radius: clamp(6px, 1.875vw, 9.6px);
      border-bottom-left-radius: clamp(6px, 1.875vw, 9.6px); }
  #content .safty_test__checkbox {
    position: relative;
    width: calc( 428 / 640 * 100%);
    margin: calc( -180 / 640 * 100%) auto 0 calc( 40 / 640 * 100%); }
  #content .safty_test .note {
    margin: 0 calc( 60 / 640 * 100%); }
#content .sdgs {
  background: url("../img/sp/sdgs_bg.jpg") no-repeat center top/100% auto; }
  #content .sdgs .inner {
    padding: calc( 100 / 640 * 100%) 0 calc( 180 / 640 * 100%);
    position: relative; }
  #content .sdgs__ttl {
    margin: 0 0 calc( 90 / 640 * 100%); }
  #content .sdgs__slider-container {
    position: relative; }
  #content .sdgs__slider .swiper-button-prev, #content .sdgs__slider .swiper-button-next {
    position: absolute;
    bottom: -3.5em;
    width: calc( 52 / 640 * 100%);
    cursor: pointer;
    transition: all .2s; }
  #content .sdgs__slider .swiper-button-prev {
    left: calc( 30 / 640 * 100%); }
  #content .sdgs__slider .swiper-button-next {
    right: calc( 30 / 640 * 100%); }
  #content .sdgs__slider .swiper-button-disabled {
    opacity: 0;
    cursor: default; }
  #content .sdgs__slider .swiper-pagination {
    display: flex;
    justify-content: center;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    bottom: -2.5em; }
  #content .sdgs__slider .swiper-pagination-bullet {
    width: 3em;
    height: 4px;
    margin: 0 .5em;
    background-color: #FFF; }
    #content .sdgs__slider .swiper-pagination-bullet-active {
      background-color: #b8cece; }
#content .faq .inner {
  padding: calc( 100 / 640 * 100%) 0;
  position: relative; }
#content .faq__ttl {
  margin-bottom: calc( 80 / 640 * 100%); }
#content .faq .faqBlock {
  background-color: #f5f5f5;
  margin: 0 calc( 30 / 640 * 100%) calc( 40 / 640 * 100%);
  text-align: left;
  padding: 1em;
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .16em;
  line-height: 1.65;
  font-size: 3.75vw; }
  @media (min-width: 513px) {
    #content .faq .faqBlock {
      font-size: 19.2px; } }
  #content .faq .faqBlock :last-of-type {
    margin-bottom: 0; }
  #content .faq .faqBlock .question {
    padding: 0 1.2em 0 0;
    position: relative;
    cursor: pointer;
    display: flex; }
    #content .faq .faqBlock .question span {
      padding-right: .2em;
      -moz-font-feature-settings: "palt";
      -webkit-font-feature-settings: "palt";
      font-feature-settings: "palt";
      letter-spacing: .16em;
      line-height: 1.65;
      font-size: 4.6875vw;
      line-height: 1;
      left: 0;
      top: 0;
      font-family: "Roboto", sans-serif;
      font-weight: 700;
      font-style: normal;
      color: #3579b1; }
      @media (min-width: 513px) {
        #content .faq .faqBlock .question span {
          font-size: 24px; } }
    #content .faq .faqBlock .question::before, #content .faq .faqBlock .question::after {
      content: "";
      display: block;
      position: absolute;
      width: 1em;
      height: 1px;
      background-color: #373737;
      right: 0;
      top: .5em; }
    #content .faq .faqBlock .question::after {
      transform: rotate(90deg);
      transition: all .3s; }
    #content .faq .faqBlock .question.active::after {
      transform: rotate(180deg); }
  #content .faq .faqBlock .answer {
    padding: 0 0 0 1.5em; }
    #content .faq .faqBlock .answer__inner {
      margin: 1em 0;
      padding: 0 0 0 1.5em;
      position: relative; }
      #content .faq .faqBlock .answer__inner::before {
        content: "A";
        display: block;
        position: absolute;
        -moz-font-feature-settings: "palt";
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        letter-spacing: .16em;
        line-height: 1.65;
        font-size: 4.6875vw;
        line-height: 1;
        left: 0;
        top: 0;
        font-family: "Roboto", sans-serif;
        font-weight: 700;
        font-style: normal; }
        @media (min-width: 513px) {
          #content .faq .faqBlock .answer__inner::before {
            font-size: 24px; } }
      #content .faq .faqBlock .answer__inner p {
        margin-bottom: 1rem; }

#template .guide {
  margin: 0;
  letter-spacing: normal; }
  #template .guide .guidance {
    width: 49.21875%;
    margin: 0 auto 6.25%; }
  #template .guide #tokushou, #template .guide .company-outline, #template .guide .policy {
    margin-bottom: 1em; }
  #template .guide .note {
    text-align: left;
    margin: 0 4.6875%; }
    #template .guide .note h3 {
      margin-top: 1em; }
    #template .guide .note p {
      margin-bottom: 1em; }
  #template .guide .returnTop {
    text-align: right;
    margin: 1.5em 3.125%; }
  #template .guide a {
    color: #3579b1; }

/* =====================================
	floating
===================================== */
.floating_bnr {
  max-width: 512px;
  margin: 0 auto !important;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  display: none; }
  .floating_bnr > div {
    display: flex;
    justify-content: flex-end;
    padding: 0 3px 3px 0 !important; }

.floating_close {
  cursor: pointer;
  display: block;
  position: relative;
  width: 24px;
  height: 24px;
  border: 1px solid #777;
  border-radius: 50%;
  background: #fff; }
  .floating_close::before, .floating_close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 14px;
    background: #777; }
  .floating_close::before {
    transform: translate(-50%, -50%) rotate(45deg); }
  .floating_close::after {
    transform: translate(-50%, -50%) rotate(-45deg); }

.floating_btn input {
  position: relative;
  cursor: pointer;
  display: block;
  width: 100%;
  height: 0;
  padding-top: calc( 139 / 512 * 100%) !important;
  border: none;
  text-indent: -9999px;
  background: url("../img/sp/floating.jpg") no-repeat 0 0/100% auto;
  transition: all .3s; }
  .floating_btn input:hover {
    opacity: .9; }
