/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
 { margin:0; padding:0; border:0; outline:0; /*font-size:100%; vertical-align:baseline;*/ }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html { overflow-y: scroll; -webkit-text-size-adjust:100%; }
ul, ol { list-style:none; }
blockquote , q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content: none; }
a:focus { outline:none; }
ins { text-decoration:none; }
mark { font-style:italic; font-weight:bold; }
del { text-decoration:line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; width:100%; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
button, input, select, textarea { outline:0; -webkit-box-sizing:border-box; box-sizing:border-box; font-size:100%; }
input, textarea { background-image: -webkit-linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,0)); -webkit-appearance: none; border-radius:0; /* Removing the inner shadow, rounded corners on iOS inputs */ }
input[type="checkbox"]{ -webkit-appearance: checkbox; }
input[type="radio"]{ -webkit-appearance: radio; }
button::-moz-focus-inner, input::-moz-focus-inner { border:0; padding:0; }
iframe { max-width:100%; }

/* clearfix */
.clearfix:after { content: "."; display:block; clear:both; height:0; font-size:0.1em; line-height:0; visibility:hidden; overflow:hidden; }
.clearfix { display:inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height:1% }
.clearfix { display:block;}
/* end MacIE5 */


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
html { }
body {/*font-size:14rem;*/ line-height:1; width:100%; position:relative; -webkit-font-smoothing:antialiased; color: #060000; }
main { font-family: YakuHanJP, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;}
a { text-decoration:none; }
a, a:before, a:after, input {
  -webkit-transition-property:background-color, color; -webkit-transition-duration:0.2s; -webkit-transition-timing-function:ease;
  transition-property:background-color, color; transition-duration:0.2s; transition-timing-function:ease;
}
.clear { clear:both; }
.hide { display:none; }
img {
  width: 100%;
}


/* 画面サイズが1279px以下の時はPC用メニューは非表示 */
@media screen and (max-width: 1279px) {
  .pc-menu {display: none;}
}
/* 画面サイズが1280px以上の時はスマホ用メニューは非表示 */
@media screen and (min-width: 1280px) {
  .sp-menu {display: none;}
}

/* 画面サイズが767px以下の時はPC用コンテンツは非表示 */
@media screen and (max-width: 767px) {
  .vw_l{display: none;}
}
/* 画面サイズが768px以上の時はスマホ用コンテンツは非表示 */
@media screen and (min-width: 768px) {
  .vw_s{display: none;}

}


/* レイアウト */
/* #container { position:relative; height:100%; }

.pc #main_contents { width:1182px; margin:0 auto; }
.pc #main_col { float:right; width:830px; z-index:10; position:relative; background:#fff; padding:60px 0 150px; }
.pc #side_col { float:left; width:300px; padding:60px 0 150px; z-index:10; position:relative; }
.pc #one_col { width:900px; margin:50px auto 150px; }
.pc body.single-find #one_col { margin-bottom:70px; } */


/* レイアウト2 */
/* .pc body.layout2 #main_col { float:left; }
.pc body.layout2 #side_col { float:right; } */


/* モバイル用キャッチフレーズと説明文を置き換え */
/* .has_mobile_word span.mobile { display:none; } */


.caresys {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #333333;
}
.caresys .wcont {
  width: min(1000px, calc(100vw - 30px));
  margin: 0 auto;
}
.caresys h2 {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 36px;
  color: #0173b9;
  margin-bottom: 50px;
  text-align: center;
  letter-spacing: 0.01em;
}
.caresys p {
  line-height: 1.8;
}
.caresys section {
  padding-block: 90px;
}
.caresys .bg_gradation {
  background: linear-gradient(120deg, #f8fcff, #d8ecfa);
}
.cv_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  background-color: #1d7bb7;
  color: #ffffff;
  position: relative;
  margin-inline: auto;
  transition: all 0.2s ease;
}
.cv_btn::before {
  content:'';
  width: 14px;
  aspect-ratio: 15 / 26;
  background-image: url(https://www.creatiocorp.jp/wp2025/wp-content/themes/creatio/img/services/caresys/arrow_right_white.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 35px;
  transition: right 0.2s ease;
}
.cv_btn_s::before {
  width: 12px;
}
.cv_btn:hover {
  background-color: #3b8ec2;
}
.cv_btn:hover::before {
  right: 30px;
}
.cv_btn span {
  text-align: center;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
  margin-left: -30px;
}

@media screen and (max-width: 768px) {
  .caresys .wcont {
    width: 92%;
    margin: 0 auto;
  }
  .caresys h2 {
    font-size: 24px;
    margin-bottom: 30px;
    letter-spacing: -0.03em;
  }
  .caresys p {
    font-size: 14px;
  }
  .caresys section {
    padding-block: 60px;
  }
  .cv_btn {
    width: 320px;
  }
  .cv_btn::before {
    width: 10px;
    right: 30px;
  }
  .cv_btn_s::before {
    width: 10px;
  }
  .cv_btn:hover::before {
    right: 25px;
  }
  .cv_btn span {
    font-size: 18px;
    margin-left: -20px;
  }
}
/*----------------------------------------------------------
mv
----------------------------------------------------------*/
.caresys section.mv {
  width: 100%;
  position: relative;
  height: 500px;
  background-color: #ebf5fc;
  padding-top: 60px;
}
.mv::after {
  content: '';
  width: 100%;
  height: 7.25vw;
  background-image: url(https://www.creatiocorp.jp/wp2025/wp-content/themes/creatio/img/services/caresys/bg_mv.png);
  background-repeat: no-repeat;
  position: absolute;
  bottom: calc(-0.0725 * 100vw);
  left: 0;
  background-size: 100% auto;
  z-index: -1;
}
.mv_in_box {
  display: flex;
  align-items: center;
  width: min(960px, calc(100vw - 30px));
  justify-content: space-between;
  margin-inline: auto;
}
.mv_in_left {
  width: 43.75%;
  position: relative;
  display: flex;
  flex-direction: column;
}
.mv_in_left ._medical-device {
  display: inline-block;
  font-size: 14px;
  padding-block: 4px;
  border: 1px solid;
  margin-bottom: 30px;
  width: 130px;
  text-align: center;
}
.mv_in_left ._logo_caresys {
  width: 100%;
}
.mv_in_left ._electroporation {
  font-size: 20px;
  font-weight: 500;
  color: #1d7bb7;
  position: relative;
  width: 55%;
  margin: 30px auto 50px;
  text-align: center;
}
.mv_in_left ._electroporation::before {
  content: '';
  width: 35px;
  height: 1px;
  background-color: #1d7bb7;
  position: absolute;
  top: 50%;
  left: -35px;
  transform: translateY(-50%);
}
.mv_in_left ._electroporation::after {
  content: '';
  width: 35px;
  height: 1px;
  background-color: #1d7bb7;
  position: absolute;
  top: 50%;
  right: -35px;
  transform: translateY(-50%);
}
.mv_in_left ._img_caresys {
  width: 125%;
  margin-left: -70px;
}
.mv_in_right {
  width: 44.4%;
}
.mv_in_right_in {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mv_in_right_in ._skincare {
  width: 98%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 10px;
  margin: 35px 0 75px;
}
.mv_in_right_in ._skincare .skincare_item {
  width: 48%;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  color: #1d7bb7;
  border-radius: 22.5px;
  font-size: 20px;
}
.mv_in_right_in ._skincare .skincare_item_s {
  width: 22%;
}
.mv_in_right .btn {
  width: 100%;
}
.mv_in_right .cv_btn {
  width: 98%;
  height: 100px;
}

@media screen and (max-width: 768px) {
  .caresys section.mv {
    height: auto;
    padding-top: 20px;
    padding-bottom: 25px;
  }
  .mv_in_box {
    flex-direction: column;
    width: 100%;
    justify-content: flex-start;
  }
  .mv_in_left {
    width: 100%;
    align-items: center;
  }
  .mv_in_left ._medical-device {
    font-size: 12px;
    padding-block: 3px;
    margin-bottom: 15px;
    width: 110px;
    margin-left: -165px;
  }
  .mv_in_left ._logo_caresys {
    width: 75%;
  }
  .mv_in_left ._electroporation {
    font-size: 16px;
    width: 200px;
    margin: 10px auto 30px;
  }
  .mv_in_left ._electroporation::before {
    width: 30px;
    left: -30px;
  }
  .mv_in_left ._electroporation::after {
    width: 30px;
    right: -30px;
  }
  .mv_in_left ._img_caresys {
    width: 52%;
    margin-left: 0;
    margin-bottom: 20px;
  }
  .mv_in_right {
    width: 100%;
  }
  .mv_in_right_in img {
    width: 75%;
  }
  .mv_in_right_in ._skincare {
    width: 88%;
    row-gap: 8px;
    margin: 20px 0 25px;
  }
  .mv_in_right_in ._skincare .skincare_item {
    width: 32%;
    height: 30px;
    border-radius: 15px;
    font-size: 12px;
  }
  .mv_in_right ._skincare .skincare_item_s {
    width: 15.35%;
  }
  .mv_in_right .cv_btn {
    width: 320px;
    height: 55px;
  }
}


/*----------------------------------------------------------
menu
----------------------------------------------------------*/
.caresys section.menu {
  margin-top: calc(7.25vw + 40px);
  padding-block: 40px;
}
.menu_in_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.menu_in_box li a {
  position: relative;
  color: #1d7bb7;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 21px;
  padding-bottom: 3px;
  padding-right: 20px;
  letter-spacing: -0.04em;
  transition: all 0.3s ease;
}
.menu_in_box li a::after {
  display: inline-block;
  content: '';
  width: 12px;
  height: 7px;
  background-image: url(https://www.creatiocorp.jp/wp2025/wp-content/themes/creatio/img/services/caresys/arrow_bottom_blue.png);
  background-repeat: no-repeat;
  position: absolute;
  bottom: 13px;
  right: 0;
  transition: all 0.2s ease;
}
.menu_in_box li a:hover::after {
  bottom: 10px;
}
.menu_in_box li a::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #1d7bb7;
  transform: scaleX(1);
  transform-origin: right center;
  transition: transform 0.3s ease;
}
.menu_in_box li a:hover::before {
  transform: scaleX(0);
}

@media screen and (max-width: 768px) {
  .caresys section.menu {
    margin-top: calc(7.25vw + 25px);
    padding-block: 25px;
  }
  .menu_in_box {
    align-items: flex-start;
    flex-direction: column;
  }
  .menu_in_box li {
    width: 90%;
    border-bottom: 1px solid #1d7bb7;
    margin-inline: auto;
    position: relative;
  }
  .menu_in_box li a {
    letter-spacing: 0em;
  }
  .menu_in_box li a::after {
    bottom: 9px;
    right: 15px;
    transition: all 0.2s ease;
  }
  .menu_in_box li a:hover::after {
    bottom: 6px;
  }
  .menu_in_box li a {
    font-size: 18px;
    display: block;
    padding: 20px 0 4px 12px;
  }
  .menu_in_box li a::before {
    display: none;
  }
}


/*----------------------------------------------------------
エレクトロポレーションとは
----------------------------------------------------------*/
.electroporation_in_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.electroporation_in_box p {
  width: 58%;
}
.electroporation_in_box img {
  width: 38%;
  margin-top: -20px;
}

@media screen and (max-width: 768px) {
  .electroporation_in_box {
    flex-direction: column;
  }
  .electroporation_in_box p {
    width: 100%;
  }
  .electroporation_in_box img {
    width: 100%;
    margin-top: 25px;
  }
}


/*----------------------------------------------------------
CARESYSについて
----------------------------------------------------------*/
.overview_in_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.overview_in_box p {
  width: 58%;
}
.overview_in_box img {
  width: 38%;
}
.overview_in ._features {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 40px 0;
  row-gap: 25px;
  justify-content: flex-start;
  width: 80%;
  margin: 60px auto 0;
  background-color: #ffffff;
  border: 1.5px solid #1d7bb7;
  border-radius: 10px;
}
.overview_in ._features::before {
  display: block;
  content: '';
  width: 82px;
  height: 82px;
  background-image: url(https://www.creatiocorp.jp/wp2025/wp-content/themes/creatio/img/services/caresys/overview_frame.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: -35px;
  left: -30px;
}
.overview_in ._features::after {
  content: '特徴';
  position: absolute;
  top: -5px;
  left: -13px;
  font-size: 24px;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  color: #1d7bb7;
}
.overview_in ._features li {
  display: flex;
  align-items: center;
  font-size: 18px;
  margin-left: 60px;
}
.overview_in ._features li::before {
  display: inline-block;
  content: '';
  width: 14px;
  height: 14px;
  background-image: url(https://www.creatiocorp.jp/wp2025/wp-content/themes/creatio/img/services/caresys/dot_lightblue.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 10px;
}

@media screen and (max-width: 768px) {
  .overview_in_box {
    flex-direction: column;
  }
  .overview_in_box p {
    width: 100%;
  }
  .overview_in_box img {
    width: 100%;
    margin-top: 25px;
  }
  .overview_in ._features {
    padding: 40px 0 25px;
    row-gap: 10px;
    align-items: flex-start;
    width: 100%;
    margin: 60px auto 0;
    border: 1px solid #1d7bb7;
  }
  .overview_in ._features::before {
    width: 60px;
    height: 60px;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
  }
  .overview_in ._features::after {
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 18px;
  }
  .overview_in ._features li {
    align-items: flex-start;
    font-size: 15px;
    margin: 0 15px 0 20px;
    line-height: 1.4;
  }
  .overview_in ._features li::before {
    margin-top: 5px;
    width: 12px;
    height: 12px;
    margin-right: 8px;
  }
}


/*----------------------------------------------------------
製品仕様
----------------------------------------------------------*/
.spec_in .spec_title {
  position: relative;
}
.spec_in .spec_title img {
  width: 220px;
  position: absolute;
  top: 0;
  right: 0;
}
.spec_in table {
  width: 100%;
  border: 1px solid #dddddd;
}
.spec_in tr {
  border-bottom: 1px solid #dddddd;
}
.spec_in tr:last-child {
  border-bottom: none;
}
.spec_in tr td {
  vertical-align: middle;
  line-height: 1.8;
  padding: 15px 50px;
}
.spec_in tr td:first-child {
  background-color: #f6f6f6;
}
.pepbuiwplus_in .cv_btn {
  width: 450px;
  height: 80px;
}
.contact_in .cv_btn {
  width: 570px;
  height: 80px;
}

@media screen and (max-width: 768px) {
  .spec_in .spec_title img {
    width: 100px;
    top: 2px;
  }
  .spec_in tr td {
    padding: 8px 15px;
    font-size: 14px;
    display: block;
  }
  .pepbuiwplus_in .cv_btn {
    width: 320px;
    height: 55px;
  }
  .contact_in .cv_btn {
    width: 320px;
    height: 70px;
  }
}


/*----------------------------------------------------------
おすすめの導入美容液
----------------------------------------------------------*/
.caresys section.pepbuiwplus {
  padding-top: 70px;
}
.pepbuiwplus_in .pepbuiwplus_title {
  display: flex;
  gap: 35px;
  justify-content: center;
  align-items: center;
}
.pepbuiwplus_in .pepbuiwplus_title h2 {
  margin: 0;
}
.pepbuiwplus_in .pepbuiwplus_title img {
  width: 270px;
}
.pepbuiwplus_in_box {
  margin: 40px 0 60px;
  display: grid;
  grid-template-columns: 43.5% 51%;
  grid-template-rows: auto auto;
  align-items: start;
  grid-column-gap: 5.5%;
  grid-row-gap: 0px;
}
.pepbuiwplus_in_cont01 {
  grid-area: 1 / 1 / 2 / 2;
  position: relative;
  margin-left: 15px;
}
.pepbuiwplus_in_cont01::before{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 12px;
  left: -15px;
  background: linear-gradient(120deg, #e5f2fb, #5faddf);
}
.pepbuiwplus_in_cont01 img{
  width: 100%;
  position: relative;
  z-index: 2;
}
.pepbuiwplus_in_cont02 {
  width: 100%;
  grid-area: 2 / 1 / 3 / 2;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 12px;
  margin-top: -40px;
}
.pepbuiwplus_in_cont02 span {
  display: flex;
  width: 23%;
  height: 40px;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  border-radius: 5px;
  font-size: 14px;
}
.pepbuiwplus_in_cont03 {
  grid-area: 1 / 2 / 3 / 3;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.pepbuiwplus_in_cont03 ._text h3 {
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  color: #1d7bb7;
  font-size: 16px;
  margin-bottom: 5px;
}
.pepbuiwplus_in_cont03 ._text p {
  font-size: 14px;
}
.pepbuiwplus_in_cont03 ._text ._text_component {
  font-size: 12px;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .caresys section.pepbuiwplus {
    padding-top: 50px;
  }
  .pepbuiwplus_in .pepbuiwplus_title {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  .pepbuiwplus_in .pepbuiwplus_title h2 {
    margin: 0;
  }
  .pepbuiwplus_in .pepbuiwplus_title img {
    width: 160px;
  }
  .pepbuiwplus_in_box {
    margin: 25px 0 35px;
    grid-template-columns: auto auto;
    grid-column-gap: 0;
    grid-row-gap: 25px;
  }
  .pepbuiwplus_in_cont01 {
    grid-area: 1 / 1 / 2 / 2;
    position: relative;
    width: calc(100% - 15px);
    margin-left: 15px;
    margin-bottom: 20px;
  }
  .pepbuiwplus_in_cont01 img{
    width: 100%;
    position: relative;
    z-index: 2;
  }
  .pepbuiwplus_in_cont02 {
    grid-area: 3 / 1 / 4 / 2;
    width: 320px;
    margin-inline: auto;
    row-gap: 10px;
    margin-top: 0px;
  }
  .pepbuiwplus_in_cont02 span {
    width: 48%;
  }
  .pepbuiwplus_in_cont03 {
    grid-area: 2 / 1 / 3 / 2;
  }
}


/*----------------------------------------------------------
よくあるご質問
----------------------------------------------------------*/
.faq_in_box {
  border-top: 1px solid #dddddd;
}
.faq_in_box ._item {
  padding: 35px 0 30px 50px;
  border-bottom: 1px solid #dddddd;
}
.faq_in_box ._item ._question {
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  color: #1d7bb7;
  font-size: 18px;
  margin-bottom: 15px;
  position: relative;
}
.faq_in_box ._item ._question::before {
  content:'Q';
  font-weight: 500;
  font-size: 50px;
  font-family: "Sawarabi Mincho", serif;
  color: #ebf5fc;
  position: absolute;
  top: -20px;
  left: -20px;
  z-index: -1;
}
.faq_in_box ._item ._answer {
  padding-left: 20px;
  line-height: 1.8;
}
.faq_in_box ._item ._answer ._annotation{
  font-size: 12px;
  display: block;
  margin-top: 5px;
}

@media screen and (max-width: 768px) {
  .faq_in_box ._item {
    padding: 25px 10px 20px 10px;
  }
  .faq_in_box ._item ._question {
    font-size: 16px;
    margin-bottom: 8px;
    line-height: 1.4;
  }
  .faq_in_box ._item ._question::before {
    font-size: 45px;
    top: -25px;
    left: -10px;
  }
  .faq_in_box ._item ._answer {
    font-size: 14px;
    padding-left: 0px;
  }
  .faq_in_box ._item ._answer ._annotation{
    font-size: 12px;
  }
}


/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
/*----------------------------
scroll_left ｜左から右へ出現
----------------------------*/
.scroll_left {
  transition: 0.8s ease-in-out;
  transform: translateX(-50px);
  opacity: 0;
}
/*----------------------------
scroll_right ｜右から左へ出現
----------------------------*/
.scroll_right {
  transition: 0.8s ease-in-out;
  transform: translateX(50px);
  opacity: 0;
}

.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

.scroll_left.on,
.scroll_right.on {
    opacity: 1;
    transform: translateX(0);
}
.timing02 {transition-delay: .2s;}
.timing03 {transition-delay: .4s;}
.timing04 {transition-delay: .6s;}
.timing05 {transition-delay: .8s;}
.timing06 {transition-delay: 1s;}

.timing025 {transition-delay: .3s;}
