@charset "utf-8";
@import "reset.css";
@import "utility.css";
@import "bg.css";
@import "mainvisual.css";
@import "video.css";
@import "casebox.css";
@import "casestudies.css";
@import "experts.css";
@import "capability.css";
@import "optimeist.css";
@import "slick.css";
@import "slick-theme.css";
@import "carousel.css";
/* =========
Custom Value
==========*/ :root {
  --contents-max-width: 1275px; /* コンテンツ幅 */
  /* COLOR */
  --white: #ffffff; /* 白 */
  --black: #333333; /* 黒 */
  --green: #008C8D; /* 緑 */
  --red-link: #c02; /* 赤（link） */
  --red-link-hover: #b1000e; /* 赤（hover） */
  --red-border: #e60027; /* 赤（border） */
  /* gradient */
  --grad-01: linear-gradient(90deg, rgba(2, 0, 36, 1) 0%, rgba(0, 45, 85, 1) 28%, rgba(0, 181, 179, 1) 100%);
  --grad-02: linear-gradient(90deg, rgba(2, 0, 36, 0) 0%, rgba(0, 45, 85, 1) 50%, rgba(0, 181, 179, 1) 100%);
  --grad-03: linear-gradient(90deg, rgba(2, 0, 36, 1) 0%, rgba(0, 45, 85, 1) 50%, rgba(0, 181, 179, 0) 100%);
  --grad-04: linear-gradient(90deg, rgba(2, 0, 36, 1) 0%, rgba(0, 45, 85, 0.5) 70%, rgba(0, 181, 179, 0) 100%);
  /* FONT SIZE */
  --fs-h2: 35px;
  --fs-LL: 30px;
  --fs-L: 24px;
  --fs-B: 20px;
  --fs-M: 18px;
  /* LINE HEIGHT */
  --lh-XL: 2.6;
  --lh-L: 2;
  --lh-M: 1.8;
  /* MARGIN */
  --space-LL: 140px;
  --space-L: 80px;
  --space-M: 50px;
  --space-S: 30px;
}
@media all and (max-width: 767px) {
  /* FONT SIZE */ :root {
    --fs-h2: 28px;
    --fs-LL: 21px;
    --fs-L: 18px;
    --fs-B: 17px;
    --fs-M: 16px;
    /* LINE HEIGHT */
    --lh-XL: 2;
    --lh-L: 1.6;
    --lh-M: 1.5;
    /* MARGIN */
    --space-L: 60px;
    --space-M: 40px;
    --space-S: 20px;
  }
}
/* ========== COMMON ========== */
.mt_LL {
  margin-top: var(--space-LL);
}
.mt_L {
  margin-top: var(--space-L);
}
.mt_M {
  margin-top: var(--space-M);
}
.mt_S {
  margin-top: var(--space-S);
}
.pt_L {
  padding-top: var(--space-L);
}
.pt_M {
  padding-top: var(--space-M);
}
.pt_S {
  padding-top: var(--space-S);
}
.pb_L {
  padding-bottom: var(--space-L);
}
.pb_M {
  padding-bottom: var(--space-M);
}
.pb_S {
  padding-bottom: var(--space-S);
}
.pd_S {
  box-sizing: border-box;
  padding: 15px;
}
.lh_XL {
  line-height: var(--lh-XL);
}
.lh_L {
  line-height: var(--lh-L);
}
.fs_h2 {
  font-size: var(--fs-h2);
}
.fs_LL {
  font-size: var(--fs-LL);
}
.fs_L {
  font-size: var(--fs-L);
}
.fs_B {
  font-size: var(--fs-B);
}
.fs_M {
  font-size: var(--fs-M);
}
.fc_cyan {
  color: rgb(0, 140, 141);
}
.fc_white {
  color: #ffffff;
}
.fw_b {
  font-weight: bold;
}
.ta_c {
  text-align: center;
}
@media screen and (max-width: 425px) {
  .ta_c {
    text-align: left;
  }
}
#Contents, #Contents * {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
/* ========== TOP ========== */
#Branding {
  position: relative;
  background: url("../image/kv.png") no-repeat center;
  background-size: 100% auto;
  height: 558px;
  overflow: hidden;
}
/* ========== /TOP ========== */
/* ========== TOP INTRO ========== */
#topIntro {
  padding: 80px 0;
  background:
    url("/products/infrastructure/portal/industry/optimization/image/bg_mesh_top.png") no-repeat left top, url("/products/infrastructure/portal/industry/optimization/image/bg_mesh_btm.png") no-repeat right bottom;
}
#topIntro .Button {
  display: flex;
  justify-content: center;
  align-content: stretch;
  margin: 60px 0 0;
}
#topIntro .Button li {
  min-width: 420px;
  margin: 0 20px;
}
.Button a, .Button span, .Button span::after {
  transition-property: color, background-color, border-color;
  transition-duration: 120ms;
  transition-timing-function: linear;
}
#topIntro .Button li a {
  display: block;
  width: 100%;
  min-height: 72px;
  padding: 4px;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  background: #008C8D;
  box-sizing: border-box;
}
#topIntro .Button li span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 64px;
  padding: 0 20px 0 30px;
  background: #ffffff;
  color: #008C8D;
  text-decoration: none;
  font-size: 22px;
  box-sizing: border-box;
  border-radius: 6px;
}
#topIntro .Button li :hover span {
  background: #008C8D;
  color: #ffffff;
  ;
}
#topIntro .Button li span::after {
  content: "";
  width: 20px;
  height: 20px;
  border-color: #008C8D;
  border-style: solid;
  border-width: 2px 2px 0 0;
  box-sizing: border-box;
  transform: rotate(45deg);
}
#topIntro .Button li :hover span::after {
  border-color: #ffffff;
}
#topIntro #news {
  margin-top: 60px;
  padding: 35px 60px;
  background: #e7e7e7;
  border-radius: 10px;
  box-sizing: border-box;
}
#topIntro #news dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#topIntro #news dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 40px;
  color: #ffffff;
  background: #908b89;
  border-radius: 5px;
  font-size: 20px;
  margin: 0 0 15px;
}
#topIntro #news dl dt.news_blue {
  background: #008c8d;
}
#topIntro #news dl dd {
  width: calc(100% - 240px);
  font-size: 20px;
  margin: 5px 0 15px;
}
#topIntro #news > p {
  text-align: right;
}
#topIntro #news > p > a {
  font-size: 16px;
  font-weight: bold;
  color: rgb(0, 140, 141);
  text-decoration: none;
}
#topIntro #news > p > a:hover {
  border-bottom: rgb(0, 140, 141) solid 1px;
}
#topIntro #news > p > a::after {
  content: "＞";
  padding-left: 10px;
  color: rgb(0, 140, 141);
}
/* ========== /TOP INTRO ========== */
/* ========== TOP EX ========== */
.topExCarousel {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  margin: 30px 0 0;
}
.topExCarousel > li {
  width: 340px;
}
.topExCarousel > li > a {
  display: block;
  text-decoration: none;
  border-radius: 10px;
  padding: 15px;
}
.topExCarousel > li > a:hover {
  background: rgba(255, 255, 255, 0.2);
}
.topExCarousel > li > a, .topExCarousel > li > a * {
  color: #ffffff;
}
.topExCarousel > li > a > img {
  width: 100%;
  height: auto;
}
.topExCarousel > li > a * {
  word-break: break-all;
  display: block;
}
.topExCarousel > li > a > span {
  font-size: 60px;
  line-height: 1;
  font-weight: normal;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
.topExCarousel > li > a > p {
  padding: 20px 0 0;
  font-size: 16px;
  line-height: 1.8;
}
.topExCarousel > li > a > p > strong {
  font-size: 18px;
  font-weight: normal;
}
#topEx {
  position: relative;
}
.topExCarouselPageNation {
  position: absolute;
  left: 0;
  bottom: -60px;
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  margin: 30px 0 0;
}
.topExCarouselPageNation li {
  width: 16px;
  height: 16px;
  margin: 0 10px;
  border-radius: 50%;
  background: #605956;
  opacity: 0.7;
}
.topExCarouselPageNation li:first-child {
  opacity: 1;
}
/* ========== TOP EX ========== */
/* ========== TOP FEATURE ========== */
#topFeature {
  padding: 170px 0 80px;
  background:
    url("/products/infrastructure/portal/industry/optimization/image/bg_mesh_top.png") no-repeat left top, url("/products/infrastructure/portal/industry/optimization/image/bg_town.png") repeat-x center bottom;
}
#topFeature p.topFeatureTxt {
  line-height: 2.6;
  margin-bottom: 32px;
}
/* ========== TOP FEATURE ========== */
#topFeature .Button {
  display: flex;
  justify-content: center;
  align-content: stretch;
  margin: 60px 0 0;
}
#topFeature .Button li {
  min-width: 420px;
  margin: 0 20px;
}
#topFeature .Button li a {
  display: block;
  width: 100%;
  min-height: 72px;
  padding: 4px;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  background: #008C8D;
  box-sizing: border-box;
}
#topFeature .Button li span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 64px;
  padding: 0 20px 0 30px;
  background: #ffffff;
  color: #008C8D;
  text-decoration: none;
  font-size: 22px;
  box-sizing: border-box;
  border-radius: 6px;
}
#topFeature .Button li :hover span {
  background: #008C8D;
  color: #ffffff;
}
#topFeature .Button li span::after {
  content: "";
  width: 20px;
  height: 20px;
  border-color: #008C8D;
  border-style: solid;
  border-width: 2px 2px 0 0;
  box-sizing: border-box;
  transform: rotate(45deg);
}
#topFeature .Button li :hover span::after {
  border-color: #ffffff;
}
/*2023下期改修*/
/*moreボタン設定*/
.btn_more {
  background: linear-gradient(90deg, #00b9ef 0%, #00abb8 28%, #009d85 100%);
  display: inline-block;
  border-radius: 20px;
  padding: 3px 10px 5px;
  text-align: center;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 20px;
  width: 100px;
  margin: 0 auto;
  transition: 0.5s;
}
.btn_more:hover {
  transition: 0.5s;
  background: linear-gradient(90deg, #009d85 0%, #00abb8 28%, #00b9ef 100%);
}
@media screen and (max-width: 767px) {
  .btn_more {
    font-size: 18px;
  }
}
/*SpecialContentsレイアウト*/
.special .header-02 {
  background-position: center calc(50% - 0vw);
}
.flex_2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex_2 > figure, .flex_2 > div {
  width: calc((100% - 15px) / 2);
}
.flex_2 div .btn_more {
  margin-top: 20px;
}
.mb_L {
  margin-bottom: var(--space-L);
}
.mb_M {
  margin-bottom: var(--space-M);
}
.mb_S {
  margin-bottom: var(--space-S);
}
.mb_SS {
  margin-bottom: 15px;
}
.mt_SS {
  margin-top: 15px;
}
@media screen and (max-width: 580px) {
  .flex_2 {
    display: block;
  }
  .flex_2 > figure, .flex_2 > div {
    width: 100%;
    margin-bottom: 10px;
  }
  .flex_2 img {
    width: auto;
  }
  .flex_2 div .btn_more {
    display: block;
    text-align: center;
  }
  .flex_2.sc_case {
    display: flex;
  }
  .flex_2.sc_case > figure {
    width: calc((100% - 15px) / 2);
  }
}
.member_prof > div > p:first-of-type {
  font-size: var(--fs-B);
  border-bottom: 1px solid #008C8D;
  margin-bottom: 10px;
}
.hr.sc h1 {
  min-height: 400px;
}
.hr.sc h1 figcaption span:nth-child(2) {
  margin-top: 20px;
}
.hr.sc h1 figcaption {
  width: 60%;
  bottom: 10%;
  right: 0;
  text-align: left;
  font-size: 24px;
  line-height: 1.5;
}
.highlight {
  border-top: 4px solid #008C8D;
  padding-top: 20px;
  margin-bottom: 50px;
}
.TextStyleInterview {
  margin-top: 10px;
}
.TextStyleInterview strong {
  color: #008C8D;
}
#optMain .sc div .Section {
  margin-top: 50px;
}
.sc .Section h2 {
  border-bottom: 1px solid var(--green);
  margin-bottom: 15px;
}
.sc .Related_link h2 {
  margin-top: 80px;
  background: #008C8D;
  color: #fff;
  padding: 10px;
  vertical-align: middle;
}
.LinkList a {
  text-decoration: none;
  color: #333;
  transition: 0.3s
}
.LinkList li a::after {
  content: "\FF1E";
  padding-left: 1em;
  color: #008C8D;
  transition: 0.5s
}
.LinkList a:hover {
  color: #008C8D;
}
.LinkList li a:hover::after {
  content: "\FF1E";
  padding-left: 1.5em;
  color: #008C8D;
}
@media screen and (max-width: 767px) {
  .hr.sc h1 figcaption {
    width: 100%;
    bottom: 10%;
    right: 0;
    text-align: left;
    font-size: 20px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 580px) {
  .member_prof {
    text-align: center;
  }
  .member_prof.flex_2 > div {
    text-align: left;
    margin-bottom: 80px;
  }
  .member_prof > div > p:first-of-type {
    text-align: center;
    font-size: 20px;
    border-bottom: 1px solid #008C8D;
    margin-bottom: 10px;
  }
}
/*SpecialContents_コラムレイアウト*/
#optMain.sc_column h1 {
  border-bottom: 4px solid #008C8D;
  padding-bottom: 20px;
  margin-bottom: 30px;
}
.sc_column p, .sc p {
  line-height: var(--lh-L);
}
.sc_column .sc_name {
  text-align: right;
  margin-bottom: 30px;
}
.sc_column .sc_name p:first-of-type {
  font-size: 24px;
}
.bg_gray {
  background: #e7e7e7;
  padding: 30px;
}
.flex_2.sc_case {
  margin-bottom: 15px;
}
.flex_2.sc_case.mb_L {
  margin-bottom: 80px;
}
.sc_column figure img {
  width: 100%;
}
.sc_column .optBtn {
  width: 655px;
  max-width: 100%;
}
.sc_column ul.ListStyle1 {
  font-size: 16px;
}
.sc_column .ListStyle1 li::before {
  content: "\30FB";
}
.sc_column .ListStyle1 li {
  background: none;
  padding-left: 1em;
  text-indent: -1em;
  line-height: var(--lh-M);
}
/*3カラム設定*/
.about .threeBox, .top .threeBox {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  flex-wrap: wrap;
  max-width: 1050px;
  margin: 0 auto;
}
.about .threeBox > div, .top .threeBox > div {
  justify-content: center;
  align-items: center;
  width: calc(33.33% - 15px);
  min-height: 120px;
  background-attachment: fixed;
  margin-top: 20px;
  margin-bottom: 40px;
}
.about .threeBox > div img, .top .threeBox > div img {
  width: 100%;
}
.about .threeBox > div p {
  margin-top: 10px;
  color: #333;
}
.top .threeBox > div p {
  margin-top: 10px;
  color: #fff;
}
.about .threeBox > div a, .top .threeBox > div a {
  text-decoration: none;
}
@media (max-width: 700px) {
  .about .threeBox, .top .threeBox {
    max-width: 100%;
  }
  .about .threeBox > div, .top .threeBox > div {
    width: 100%;
  }
}
/*画像ホバー*/
.about .threeBox a > figure > img, .top .threeBox a > figure > img {
  transition-duration: 250ms;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.about .threeBox a > figure, .top .threeBox a > figure {
  background: #cccccc;
  display: block;
  overflow: hidden;
  width: 100%;
}
.about .threeBox a:hover > figure > img, .top .threeBox a:hover > figure > img {
  opacity: 0.7;
  transform: scale(1.05);
  background: rgba(0, 140, 140, 0.2);
}
.sc_symposiumArea {
  max-width: 1075px;
  margin: 0 auto;
}
.sc_symposiumArea .member_prof img {
  width: 100%;
}
@media screen and (max-width: 580px) {
  .sc_symposiumArea .member_prof img {
    width: auto;
  }
}
.daikinprof .flex_2.member_prof > figure {
  width: calc((100% - 15px) / 2.7);
}
.daikinprof .flex_2.member_prof > div {
  width: calc((100% - 15px) / 1.6);
}
.daikinprof .flex_2.member_prof > figure img {
  width: 100%;
}
@media screen and (max-width: 580px) {
  .daikinprof .flex_2.member_prof > figure {
    width: unset;
  }
  .daikinprof .flex_2.member_prof > div {
    width: unset;
  }
}
	.sc_column .Section{
		max-width: 1075px;
		margin: 0 auto;
	}