/* ----------------------------------------------------------------------
 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%;
  height: auto;
}


/* 画面サイズが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; } */


.evacool {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #4C4C4C;
}
.wcont {
  width: min(1000px, calc(100vw - 30px));
  margin: 0 auto;
}
.evacool h2 {
  font-family: "Noto sans JP", sans-serif;
  font-weight: 600;
  font-size: 40px;
  color: #007AC3;
  text-align: center;
  letter-spacing: 0.02em;
}
.evacool p {
  line-height: 1.8;
  font-size: 16px;
}
.cv_btn {
  height: 72px;
  font-size: 22px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  background-color: #007AC3;
  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: 51%;
  transform: translateY(-51%);
  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;
}
.sp {
  display: none;
}

@media screen and (max-width: 700px) {
  .evacool .wcont {
    width: 92%;
    margin: 0 auto;
  }
  .evacool h2 {
    font-size: 28px;
  }
  .evacool p {
    font-size: 14px;
  }
  .cv_btn {
    width: 320px;
    height: 55px;
    font-size: 20px;
  }
  .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;
  }
  .sp {
  display: block;
}
  .pc {
  display: none;
}
}
/*----------------------------------------------------------
mv
----------------------------------------------------------*/
.evacool section.mv {
  width: 100%;
  height: 600px;
  background-color: #ebf5fc;
  background-image: url(https://www.creatiocorp.jp/wp2025/wp-content/themes/creatio/img/services/evacool/mv.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  position: relative;
}
.evacool div.mv_title {
  width: 465px;
  position: absolute;
  top:50%;
  left: max(15px, calc((100vw - 1000px) / 2));
  transform: translateY(-50%);
}
.evacool p.mv_copy {
  font-size: 28px;
  color: #4C4C4C;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
  margin-block: 24px;
}

@media screen and (max-width: 700px) {
  .evacool section.mv {
  width: 100%;
  height: 554px;
  background-color: #ebf5fc;
  background-image: url(https://www.creatiocorp.jp/wp2025/wp-content/themes/creatio/img/services/evacool/mv_sp.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  position: relative;
}
/* 親要素 */
.evacool div.mv_title {
  top:36%;
}
  /* ロゴ */
  .evacool .mv_title h1 {
    width: clamp(220px, 60vw, 300px);
    margin: 0;
  }

  /* キャッチコピー */
  .evacool p.mv_copy {
    text-align: left;
    font-size: clamp(16px, 4.267vw, 21.82px);
    letter-spacing: 0.04em;
    margin-block: 0;
    margin-top: 12px;
  }

  /* お問い合わせボタン */
  .evacool .btn.sp {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
  }

}
/*----------------------------------------------------------
EVACOOLとは
----------------------------------------------------------*/
section.about {
  margin-top: 80px;
  margin-bottom: 100px;
}
.about_inner {
  margin-top: 20px;
}
section.about iframe {
  margin-top: 32px;
}

@media screen and (max-width: 700px) {
  section.about {
    padding-top: 60px;
  }
  .evacool section.about iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  margin-top: 32px;
}
}

/*----------------------------------------------------------
EVACOOLの特徴
----------------------------------------------------------*/
section.features{
  background: linear-gradient(
    to bottom,
    rgba(251, 251, 251, 0.5) 0%,
    rgba(242, 247, 253, 0.7) 50%,
    rgba(225, 234, 245, 0.8) 100%
  );
}
section.features h2 {
  padding-block: 40px;
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-image: linear-gradient(
  to right,
  #E1EAF5 0%,
  #0083D6 50%,
  #E1EAF5 100%
  ) 1;
}
.features_item--inner {
  display: flex;
  gap: 2%;
  justify-content: space-between;
}
.features_item--inner div {
  flex: 1;
}
.coolhose {
  max-width: 430px;
}
.smokehose {
  max-width: 420px;
}
.features_text {
  margin-top: 80px;
  max-width: 490px;
}
.features_text span {
  font-family: "Montserrat", sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: #007AC3;
}
.features_text h3 {
  font-size: 28px;
  color: #161A1C;
  margin-top: 20px;
  line-height: 1.4;
}
.features_text p {
  margin-top: 20px;
  line-height: 1.6;
}
/* アイコン */
.point_item {
  display: flex;
  gap: 32px;
  margin-top: 32px;
}
.point_item li {
  flex: 1;
  text-align: center;
}
.point_item img {
  max-width: 120px;
}
.point_item .emp {
  color: #007AC3;
  font-weight: 600;
}
.point_item .emp_under {
  margin-top: 4px;
}
.point_item p {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}

.features_item {
  padding-bottom: 80px;
  border-bottom: 1px solid;
  border-image: linear-gradient(
  to right,
  #E1EAF5 0%,
  #0083D6 50%,
  #E1EAF5 100%
  ) 1;
}
/* point3以降 */
.features_item--last{
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 32px;
}
.features_item--last li {
  flex: 1;
}
.features_item--last h4 {
  font-size: 22px;
  color: #161A1C;
  margin-top: 20px;
}
.features_item--last p {
  margin-top: 12px;
  line-height: 1.6;
}
.tgroup {
  margin-top: 80px;
  text-align: center;
}
.tgroup span {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 22px;
  color: #007AC3;
}
.tgroup h3 {
  font-size: 28px;
  color: #161A1C;
  margin-top: 20px;
  line-height: 1.4;
}

@media screen and (max-width: 700px) {
  section.features {
    margin-top: 60px;
    background: none;
  }
  section.features h2 {
    padding-block: 20px;
  }
  .features_item {
    padding-bottom: 40px;
    background: linear-gradient(
    to bottom,
    rgba(251, 251, 251, 0.5) 0%,
    rgba(242, 247, 253, 0.7) 50%,
    rgba(225, 234, 245, 0.8) 100%
  );
  }
  .features_item:nth-child(2) {
    background: linear-gradient(
    to bottom,
    rgba(225, 234, 245, 0.8) 0%,
    rgba(242, 247, 253, 0.7) 50%,
    rgba(251, 251, 251, 0.5) 100%
  );
  }
  .features_item--inner {
    flex-direction: column-reverse;
  }
  .features_item--inner.top {
    flex-direction: column;
  }
  .features_text {
    margin-top: 20px;
    max-width: none;
  }
  .features_text span {
    font-size: 14px;
  }
  .features_text h3 {
    font-size: 20px;
    margin-top: 8px;
  }
  .features_text p {
    margin-top: 8px;
  }
  /* ポイント */
  .point_item {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 20px;
  }
  .point_item li:first-child {
    grid-column: 1 / -1;
  }
  .point_item .emp {
    font-size: 16px;
    line-height: 1.2;
  }
  /* point3以降 */
  .tgroup {
    margin-top: 0;
    padding-top: 40px;
  }
  .tgroup span {
    font-size: 14px;
  }
  .tgroup h3 {
    font-size: 20px;
    margin-top: 8px;
  }
  .features_item--last {
    padding-top: 20px;
    flex-direction: column;
  }
  .features_item--last h4 {
    font-size: 16px;
    text-align: center;
  }
}

/*----------------------------------------------------------
製品仕様
----------------------------------------------------------*/
section.spec {
  margin-top: 80px;
  margin-bottom: 100px;
}
.spec_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap:20px;
  margin-top: 40px;
}
.spec_inner table,
.spec_inner > div {
  flex: 1;
  min-width: 0;
}
/* テーブル */
.spec_in table {
  width: 100%;
  border-top: 1px solid #007AC3;
  border-bottom: 1px solid #007AC3;
  color: #4C4C4C;
}
.spec_in tr {
  border-bottom: 1px solid #007AC3;
}
.spec_in tr:last-child {
  border-bottom: none;
}
.spec_in tr td {
  vertical-align: middle;
  line-height: 1.8;
  padding: 12px 16px;
}
/* .spec_in tr td:first-child {
  background-color: #ebf5fc;
} */

@media screen and (max-width: 700px) {
  section.spec {
  margin-top: 60px;
  margin-bottom: 60px;
}
  .spec_inner {
    flex-direction: column-reverse;
    margin-top: 30px;
  }
  .spec_in tr td {
    padding: 8px 12px;
    font-size: 14px;
  }
}
/*----------------------------------------------------------
contact
----------------------------------------------------------*/
section.contact {
  background-image: url(https://www.creatiocorp.jp/wp2025/wp-content/themes/creatio/img/services/evacool/contact_bg.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
}
.contact_inner {
  padding: 90px 0 60px;
}
section.contact p {
  font-size: 24px;
  color: #4C4C4C;
  letter-spacing: 0.06em;
  margin-bottom: 30px;
  font-weight: 600;
}
section.contact .cv_btn {
  max-width: 465px;
}

@media screen and (max-width: 700px) {
  section.contact {
  background-image: url(https://www.creatiocorp.jp/wp2025/wp-content/themes/creatio/img/services/evacool/contact_bg_sp.webp);
}
  section.contact p {
    font-size: 18px;
  }
  .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;}
