section {
 position: relative;
 width: 100%;
}
section .section_contents {
 --img-w: 42%;
 --txt-w: 52%;
}
@media screen and (max-width: 1024px) {
 section .section_contents {
  --img-w: 100%;
  --txt-w: 100%;
 }
}
section .section_contents.img_r h2,section .section_contents.img_r h3 {
 text-align: right;
}
section .section_contents.img_r .img {
 order: 2;
}
@media screen and (max-width: 1024px) {
 section .section_contents.img_r .img {
  order: 0;
 }
}
section .section_contents.img_r a.bl_btn {
 margin-left: auto;
}
section .section_contents h2 {
 line-height: 1;
 margin-bottom: 45px;
 font-family: var(--ff_osw);
 font-weight: 300;
 font-size: clamp(1.875rem, 0.53rem + 2.1vw, 2.5rem);
 letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
 section .section_contents h2 {
  margin-bottom: 25px;
 }
}
@media screen and (max-width: 600px) {
 section .section_contents h2 {
  font-size: 24px;
 }
}
section .section_contents h3 {
 line-height: 1.3684210526;
 margin-bottom: 20px;
 font-size: clamp(1.625rem, 0.012rem + 2.52vw, 2.375rem);
 letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
 section .section_contents h3 {
  margin-bottom: 10px;
 }
}
@media screen and (max-width: 600px) {
 section .section_contents h3 {
  font-size: 18px;
 }
}
section .section_contents p.txt {
 line-height: 2;
 font-size: clamp(0.938rem, 0.534rem + 0.63vw, 1.125rem);
 text-align: justify;
 letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
 section .section_contents p.txt {
  font-size: 16px;
 }
}
@media screen and (max-width: 600px) {
 section .section_contents p.txt {
  font-size: 14px;
 }
}
section .section_contents a.bl_btn {
 margin-top: 40px;
}
@media screen and (max-width: 1024px) {
 section .section_contents a.bl_btn {
  margin-top: 20px;
 }
}
section .section_contents .section_col2 {
 display: flex;
 width: 100%;
 justify-content: space-between;
 align-items: flex-start;
}
@media screen and (max-width: 1024px) {
 section .section_contents .section_col2 {
  flex-direction: column;
 }
}
section .section_contents .section_col2.ai-st {
 align-items: stretch;
}
section .section_contents .section_col2.fdc {
 flex-direction: column;
 align-items: stretch;
}
section .section_contents .section_col2 .img {
 width: var(--img-w);
}
@media screen and (max-width: 1024px) {
 section .section_contents .section_col2 .img {
  margin-bottom: 30px;
 }
}
section .section_contents .section_col2 .img.asc {
 align-self: center;
}
section .section_contents .section_col2 .img img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
section .section_contents .section_col2 .txt_area {
 width: var(--txt-w);
 align-self: center;
}
section.kv_area {
 display: flex;
 height: calc(100dvh - 80px);
 min-height: 700px;
 justify-content: center;
 align-items: center;
 background: linear-gradient(to bottom, #f8f8f8, #e6e6e6);
}
@media screen and (max-width: 1024px) {
 section.kv_area {
  height: calc(100dvh - 60px);
 }
}
section.kv_area:before,section.kv_area:after {
 content: "";
 position: absolute;
 top: 0;
 left: 50%;
 width: 100%;
 max-width: 435px;
 height: 100%;
 border-right: 1px solid #dbdbdb;
 border-left: 1px solid #dbdbdb;
 translate: -50% 0;
 pointer-events: none;
}
section.kv_area:after {
 max-width: calc(100% - 200px);
}
@media screen and (max-width: 1024px) {
 section.kv_area:after {
  max-width: 90%;
 }
}
section.kv_area .inner {
 display: flex;
 position: relative;
 z-index: 2;
 flex-direction: column;
 justify-content: center;
 align-items: center;
}
section.kv_area .inner .kv_main {
 position: relative;
 width: 100%;
 max-width: 755px;
 text-align: center;
}
section.kv_area .inner .kv_main .main_bg {
 width: 100%;
 margin: 0 auto;
}
@media screen and (max-width: 600px) {
 section.kv_area .inner .kv_main .main_bg {
  width: 90%;
 }
}
section.kv_area .inner .kv_main .main_copy {
 position: absolute;
 top: 50%;
 left: 50%;
 width: 452px;
 visibility: hidden;
 opacity: 0;
 translate: -50% -50%;
}
@media screen and (max-width: 600px) {
 section.kv_area .inner .kv_main .main_copy {
  width: 80%;
 }
}
section.kv_area .inner .kv_sub {
 visibility: hidden;
 margin-top: 40px;
 opacity: 0;
}
@media screen and (max-width: 1024px) {
 section.kv_area .inner .kv_sub {
  margin-top: 20px;
 }
}
section.kv_area .inner .kv_sub h1 {
 margin-bottom: 55px;
}
@media screen and (max-width: 1024px) {
 section.kv_area .inner .kv_sub h1 {
  margin-bottom: 30px;
  text-align: center;
 }
 section.kv_area .inner .kv_sub h1 img {
  width: 85%;
 }
}
section.kv_area .inner .kv_sub .kv_logo {
 width: 100%;
 max-width: 312px;
 margin: 0 auto;
}
section.message_area >.inner,section.strengths_area >.inner {
 padding: 60px;
 border: 1px solid #17388b;
 border-radius: 5px;
 color: #ffffff;
}
@media screen and (max-width: 1024px) {
 section.message_area >.inner,section.strengths_area >.inner {
  padding: 30px 4%;
 }
}
section.message_area h2,section.strengths_area h2 {
 position: absolute;
 top: 0;
 left: 60px;
 translate: 0 -50%;
}
@media screen and (max-width: 1024px) {
 section.message_area h2,section.strengths_area h2 {
  left: 4%;
 }
}
section.strengths_area {
 margin-top: 100px;
}
@media screen and (max-width: 1024px) {
 section.strengths_area {
  margin-top: 50px;
 }
}
section.strengths_area h2 {
 right: 60px;
 left: auto;
}
@media screen and (max-width: 1024px) {
 section.strengths_area h2 {
  right: 4%;
 }
}
section.technology_area {
 width: calc(100% - 80px);
 margin: 0 auto 120px;
}
@media screen and (max-width: 1024px) {
 section.technology_area {
  width: 90%;
  margin-bottom: 60px;
 }
}
section.technology_area >.inner {
 overflow: hidden;
 border-radius: 20px;
 background: #ffffff;
}
@media screen and (min-width: 1024px) {
 section.technology_area >.inner .section_contents {
  --img-w: 46%;
  --txt-w: 54%;
 }
}
@media screen and (max-width: 1024px) {
 section.technology_area >.inner .section_contents .img {
  margin-bottom: 0;
 }
}
section.technology_area >.inner .section_contents .txt_area {
 padding: 50px;
}
@media screen and (max-width: 1024px) {
 section.technology_area >.inner .section_contents .txt_area {
  padding: 25px 4%;
 }
}
section.technology_area >.inner .section_contents .txt_area h2 {
 color: var(--c_bl);
}
section.products_area .section_contents,section.equipment_area .section_contents {
 padding: 40px 60px;

 --img-w: 100%;
 --txt-w: 100%;
}
@media screen and (max-width: 1024px) {
 section.products_area .section_contents,section.equipment_area .section_contents {
  padding: 30px 10%;
 }
}
section.products_area .section_contents .img,section.equipment_area .section_contents .img {
 text-align: center;
}
section.products_area .section_contents .img img,section.equipment_area .section_contents .img img {
 width: 100%;
 height: 230px;
 object-fit: contain;
}
@media screen and (max-width: 1024px) {
 section.products_area .section_contents .img img,section.equipment_area .section_contents .img img {
  max-width: 300px;
 }
}
@media screen and (max-width: 600px) {
 section.products_area .section_contents .img img,section.equipment_area .section_contents .img img {
  height: auto;
 }
}
section.products_area .section_contents h3,section.equipment_area .section_contents h3 {
 margin-bottom: 10px;
 font-size: 28px;
}
@media screen and (max-width: 1024px) {
 section.products_area .section_contents h3,section.equipment_area .section_contents h3 {
  font-size: 20px;
 }
}
section.products_area .section_contents p.txt,section.equipment_area .section_contents p.txt {
 line-height: 1.7777777778;
}
section.products_area .section_contents a.bl_btn,section.equipment_area .section_contents a.bl_btn {
 margin-top: 20px;

 --c1: #f8f8f9;
}
@media (hover) {
 section.products_area .section_contents a.bl_btn:hover,section.equipment_area .section_contents a.bl_btn:hover {
  --c1: var(--c_bl);
 }
}
section.products_area {
 border-right: 1px solid #d1d1d1;
}
@media screen and (max-width: 600px) {
 section.products_area {
  border-right: none;
  border-bottom: 1px solid #d1d1d1;
 }
}
section.products_area .section_contents .img {
 mix-blend-mode: darken;
}
section.sustainability_area {
 height: 610px;
 overflow: hidden;
 clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
 margin-bottom: 80px;
 background: url(/wp-content/themes/thermotech/index/img/bg_sustainability.jpg) center/cover;
}
@media screen and (max-width: 1024px) {
 section.sustainability_area {
  height: auto;
  margin-bottom: 40px;
 }
}
section.sustainability_area >.inner {
 display: flex;
 width: 77%;
 height: 100%;
 overflow: hidden;
 margin-left: auto;
 padding-right: 5%;
 background: rgb(0 44 106 / 0.65);
}
@media screen and (max-width: 1024px) {
 section.sustainability_area >.inner {
  width: 80%;
 }
}
@media screen and (max-width: 600px) {
 section.sustainability_area >.inner {
  width: 100%;
  overflow: visible;
  padding-right: 6%;
 }
}
section.sustainability_area >.inner .section_contents {
 width: 60%;
 align-self: center;
 padding: 0 100px;
 color: #ffffff;

 --img-w: 100%;
 --txt-w: 100%;
}
@media screen and (max-width: 1024px) {
 section.sustainability_area >.inner .section_contents {
  width: 100%;
  padding: 40px 6%;
 }
}
section.sustainability_area >.inner .section_contents h3 {
 margin-bottom: 10px;
 font-size: 28px;
}
@media screen and (max-width: 1024px) {
 section.sustainability_area >.inner .section_contents h3 {
  font-size: 24px;
 }
}
@media screen and (max-width: 600px) {
 section.sustainability_area >.inner .section_contents h3 {
  font-size: 18px;
 }
}
section.sustainability_area >.inner .section_contents p.txt {
 line-height: 1.7777777778;
}
section.sustainability_area >.inner .section_contents a.bl_btn {
 margin-top: 20px;

 --c1: #f8f8f9;
}
@media (hover) {
 section.sustainability_area >.inner .section_contents a.bl_btn:hover {
  --c1: var(--c_bl);
 }
}
section.sustainability_area >.inner .sdgs {
 display: flex;
 position: relative;
 width: 340px;
 align-items: center;
 padding: 20px 0;
}
@media screen and (max-width: 1024px) {
 section.sustainability_area >.inner .sdgs {
  width: 200px;
  flex-shrink: 0;
 }
}
@media screen and (max-width: 600px) {
 section.sustainability_area >.inner .sdgs {
  display: block;
  width: 65px;
  padding: 40px 0;
 }
}
section.sustainability_area >.inner .sdgs img {
 position: relative;
}
@media screen and (max-width: 600px) {
 section.sustainability_area >.inner .sdgs img {
  width: auto;
 }
}
section.group_area {
 height: 350px;
 padding: 0 100px;
 background: url(/wp-content/themes/thermotech/index/img/bg_group.jpg) center/cover no-repeat;
}
@media screen and (max-width: 1024px) {
 section.group_area {
  height: auto;
  padding: 50px 5%;
 }
}
@media screen and (max-width: 600px) {
 section.group_area {
  background: url(/wp-content/themes/thermotech/index/img/bg_group_sp.jpg) center/cover;
 }
}
section.group_area >.inner {
 display: flex;
 width: 100%;
 height: 100%;
 align-items: center;
}
section.group_area >.inner .section_contents {
 color: #ffffff;
}
@media screen and (min-width: 1024px) {
 section.group_area >.inner .section_contents {
  --img-w: 55.8%;
  --txt-w: 44.2%;
 }
}
section.group_area >.inner .section_contents .section_col2 .img {
 text-align: center;
}
section.group_area >.inner .section_contents .section_col2 .img img {
 max-width: 370px;
}
@media screen and (max-width: 1024px) {
 section.group_area >.inner .section_contents .section_col2 .img img {
  max-width: 280px;
 }
}
section.company_area,section.recruit_area {
 padding: 120px 13.5% 60px;
 border-left: 1px solid var(--bdc);
}
@media screen and (max-width: 1024px) {
 section.company_area,section.recruit_area {
  padding: 30px 6% 30px;
 }
}
@media screen and (max-width: 600px) {
 section.company_area,section.recruit_area {
  border-left: none;
 }
}
section.company_area >.inner .section_contents,section.recruit_area >.inner .section_contents {
 --img-w: 100%;
 --txt-w: 100%;
}
@media screen and (max-width: 600px) {
 section.recruit_area {
  border-top: 1px solid var(--bdc);
 }
}
section.news_area >.inner .ttl_area {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: 40px;
 padding: 0 6.7%;
}
@media screen and (max-width: 1024px) {
 section.news_area >.inner .ttl_area {
  margin-bottom: 20px;
  padding: 0 5%;
 }
}
section.news_area >.inner .ttl_area h2 {
 line-height: 1;
 font-size: 32px;
 letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
 section.news_area >.inner .ttl_area h2 {
  font-size: 24px;
 }
}
section.news_area >.inner .ttl_area a {
 position: relative;
 padding-right: 20px;
}
@media (hover) {
 section.news_area >.inner .ttl_area a:hover:after {
  right: -5px;
 }
}
section.news_area >.inner .ttl_area a:after {
 content: "";
 display: block;
 position: absolute;
 top: 50%;
 right: 0;
 width: 8px;
 -webkit-mask-image: url(/wp-content/themes/thermotech/common/img/icon_arw_r.svg);
         mask-image: url(/wp-content/themes/thermotech/common/img/icon_arw_r.svg);
 -webkit-mask-repeat: no-repeat;
         mask-repeat: no-repeat;
 -webkit-mask-position: center;
         mask-position: center;
 -webkit-mask-size: cover;
         mask-size: cover;
 background: var(--c_bl);
 translate: 0% -40%;
 transition: all 0.3s;

 aspect-ratio: 8/15;
}
section.news_area >.inner .article_area article {
 border-bottom: 1px solid var(--bdc);
}
section.news_area >.inner .article_area article:first-child {
 border-top: 1px solid var(--bdc);
}
section.news_area >.inner .article_area article a {
 display: grid;
 position: relative;
 grid-template-columns: 80px 1fr;
 row-gap: 10px;
 -moz-column-gap: 10px;
      column-gap: 10px;
 padding: 25px 6.7%;
}
@media (hover) {
 section.news_area >.inner .article_area article a:hover:after {
  right: 6%;
 }
}
@media screen and (hover) and (max-width: 1024px) {
 section.news_area >.inner .article_area article a:hover:after {
  right: 2%;
 }
}
@media screen and (max-width: 1024px) {
 section.news_area >.inner .article_area article a {
  padding: 20px 5%;
 }
}
@media screen and (max-width: 600px) {
 section.news_area >.inner .article_area article a {
  grid-template-columns: 80px 1fr;
  row-gap: 20px;
 }
}
section.news_area >.inner .article_area article a:after {
 content: "";
 display: block;
 position: absolute;
 top: 25px;
 right: 6.7%;
 width: 11px;
 -webkit-mask-image: url(/wp-content/themes/thermotech/common/img/icon_arw_r.svg);
         mask-image: url(/wp-content/themes/thermotech/common/img/icon_arw_r.svg);
 -webkit-mask-repeat: no-repeat;
         mask-repeat: no-repeat;
 -webkit-mask-position: center;
         mask-position: center;
 -webkit-mask-size: cover;
         mask-size: cover;
 background: var(--c_bl);
 transition: all 0.3s;

 aspect-ratio: 8/15;
}
@media screen and (max-width: 1024px) {
 section.news_area >.inner .article_area article a:after {
  top: 50%;
  right: 5%;
  width: 10px;
 }
}
section.news_area >.inner .article_area article a time {
 line-height: 1.4285714286;
 color: #666666;
 font-size: 14px;
 letter-spacing: 0.06em;
}
section.news_area >.inner .article_area article a .tag {
 display: flex;
 width: 70px;
 height: 22px;
 line-height: 1;
 justify-content: center;
 align-items: center;
 border-radius: 5px;
 color: #ffffff;
 font-size: 12px;
 letter-spacing: 0.06em;
}
section.news_area >.inner .article_area article a .tag.news {
 background: var(--c_bl);
}
section.news_area >.inner .article_area article a .tag.products {
 background: #2fa2a6;
}
section.news_area >.inner .article_area article a .tag.recruit {
 background: #009ada;
}
section.news_area >.inner .article_area article a h3 {
 position: relative;
 line-height: 1.4444444444;
 padding-right: 40px;
 font-size: 18px;
 letter-spacing: 0.06em;

 margin-block: calc((1em - 1lh) / 2);
}
@media screen and (max-width: 1024px) {
 section.news_area >.inner .article_area article a h3 {
  font-size: 16px;
 }
}
@media screen and (max-width: 600px) {
 section.news_area >.inner .article_area article a h3 {
  grid-column: span 2;
 }
}

.bg_grad {
 padding-bottom: 120px;
 background: linear-gradient(to bottom, #e6e6e6, #f9f9f9);
}
@media screen and (max-width: 1024px) {
 .bg_grad {
  padding-bottom: 60px;
 }
}

.bg_bl {
 position: relative;
 width: calc(100% - 80px);
 overflow: hidden;
 margin: 0 auto 45px;
 padding: 100px 60px;
 border-radius: 20px;
 background-image: linear-gradient(to right, rgb(32, 70, 165) 0%, rgb(47, 96, 166) 25%, rgb(47, 111, 166) 50%, rgb(47, 96, 166) 75%, rgb(32, 70, 165) 100%);
}
@media screen and (max-width: 1024px) {
 .bg_bl {
  width: 90%;
  padding: 50px 4% 50px;
 }
}
.bg_bl .bg {
 position: absolute;
 top: 0%;
 left: 0;
 width: 100%;
 height: 160%;
}
@media screen and (max-width: 600px) {
 .bg_bl .bg {
  height: 120%;
 }
}
.bg_bl .bg img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.section_wrap {
 padding-top: 40px;
 border-top: 1px solid #d1d1d1;
}
@media screen and (max-width: 1024px) {
 .section_wrap {
  padding-top: 20px;
 }
}
.section_wrap p.lead {
 line-height: 1.5;
 margin-bottom: 30px;
 padding: 0 40px;
 font-size: 32px;
 text-align: center;
 letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
 .section_wrap p.lead {
  margin-bottom: 15px;
  padding: 0 4%;
  font-size: 26px;
  text-align: left;
 }
}
@media screen and (max-width: 600px) {
 .section_wrap p.lead {
  font-size: 18px;
 }
}
.section_wrap p.lead span {
 display: inline-block;
 position: relative;
 visibility: hidden;
 opacity: 0;
}
.section_wrap >.inner {
 display: grid;
 width: 100%;
 grid-template-columns: clamp(15.625rem, -20.739rem + 56.82vw, 21.875rem) 1fr 1fr;
 border-top: 1px solid #d1d1d1;
 border-bottom: 1px solid #d1d1d1;
}
@media screen and (max-width: 1024px) {
 .section_wrap >.inner {
  grid-template-columns: repeat(2, 1fr);
 }
}
@media screen and (max-width: 600px) {
 .section_wrap >.inner {
  grid-template-columns: 1fr;
 }
}
.section_wrap >.inner .ttl_area {
 display: flex;
 width: 100%;
 justify-content: center;
 align-items: center;
}
@media screen and (max-width: 1024px) {
 .section_wrap >.inner .ttl_area {
  grid-column: span 2;
  padding: 20px 0;
 }
}
@media screen and (max-width: 600px) {
 .section_wrap >.inner .ttl_area {
  grid-column: 1;
 }
}
.section_wrap >.inner .ttl_area h2 {
 line-height: 1.5;
 color: #ffffff;
 font-family: var(--ff_osw);
 font-weight: 300;
 font-size: 30px;
 text-align: center;
 letter-spacing: 0.22em;
}
.section_wrap >.inner .ttl_area h2 img {
 width: 171px;
}
@media screen and (max-width: 600px) {
 .section_wrap >.inner .ttl_area h2 img {
  width: 114px;
 }
}
@media screen and (max-width: 1024px) {
 .section_wrap >.inner .ttl_area h2 {
  font-size: 24px;
 }
}

.section_wrap2 {
 display: grid;
 grid-template-columns: 160px 29% 29%;
 margin-bottom: 120px;
 border-bottom: 1px solid var(--bdc);
}
@media screen and (max-width: 1024px) {
 .section_wrap2 {
  grid-template-columns: 80px 1fr 1fr;
  margin-bottom: 60px;
 }
}
@media screen and (max-width: 600px) {
 .section_wrap2 {
  grid-template-columns: 1fr;
 }
}
@media screen and (max-width: 600px) {
 .section_wrap2 .bg_wave {
  height: 100px;
 }
}

@keyframes move_line_blue {
 0% {
  background-position: left top;
 }
 100% {
  background-position: left bottom;
 }
}
@keyframes move_line_gray {
 0% {
  background-position: left top;
 }
 100% {
  background-position: left bottom;
 }
}
#waveAnimaBlue {
 background-color: #1a4c95;
 background-image: url(/wp-content/themes/thermotech//index/img/wave_blue.png);
 background-repeat: no-repeat;
 background-position: left top;
 background-size: cover;
 animation: move_line_blue linear 3.5s infinite none;
}

@media screen and (min-width: 600px) {
 #waveAnimaGray {
  background-color: #f3f3f3;
  background-image: url(/wp-content/themes/thermotech//index/img/wave_gray.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  animation: move_line_gray linear 3.4s infinite none;
 }
}
@media screen and (max-width: 600px) {
 #waveAnimaGray {
  background-color: #f3f3f3;
  background-image: url(/wp-content/themes/thermotech//index/img/wave_gray_sp.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  animation: move_line_gray linear 4.1s infinite none;
 }
}
/*# sourceMappingURL=layout.css.map */