/*
Theme Name: wataya2025
Theme URL:
Description: wataya2025
Author: ryogeisya
Version: 0.1
*/
@charset "utf-8";
@import "reset.css";

body{font-family: "Noto Sans JP", sans-serif;    box-sizing: border-box;}
.box>.inner{width: 1200px;margin:0 auto;padding:80px 0 100px 0;position: relative;}
.box>.inner img{max-width: 100%;}
.sp{display: none;}
.pc{display: block;}

header{
  position: fixed;
  width: 100%;
  height: 84px;
  z-index: 999;
  display: flex;
  align-items: center;
  padding-left: 30px;
  background-image: linear-gradient(#ffffff, transparent);
  top:0;
}
.home header{
  background: none;
}
.home header.sc-change{
background-image: linear-gradient(#ffffff, transparent);
}
header>ul{
  display: flex;
  margin-left: auto;
  margin-right: 20px;
  align-items: center
}
header>ul>li{
  position: relative;
  margin-left: 2em;
}
.home header>ul>li>a{
  color: #fff;
  font-size: 14px;
  white-space: nowrap;
}
.home header.sc-change>ul>li>a,
header>ul>li>a{
  color: #08365F;
  font-size: 14px;
  white-space: nowrap;
}
header>ul li.lang ul{
  display: flex;
  border-radius: 6px;
  overflow: hidden;
}
header>ul li.lang ul a{
  padding:6px 12px;
  background: #fff;
  color: #08365F;
  font-size: 14px;
  display: block;
}
header>ul li.lang ul a.active{
  background: #08365F;
  color: #fff;
}
.home header.sc-change>ul>li.contact>a,
header>ul li.contact a{
  background: #08365F;
  padding:14px 20px;
  border-radius: 6px;
  color: #fff;
}
.dropdown {
  position: absolute;
  top: 100%; left: 0;
  min-width: fit-content;  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}
.dropdown a { display: block; padding: 6px; text-decoration: none; color: #fff; font-size: 14px;}
.dropdown a::before{content: "-";margin-right: 6px;}
.dropdown a:hover { }
.dropdown>ul{
  margin-top: 2em;
  background: #08365F;
  border-radius: 6px;
  padding: 20px 30px;
  box-shadow: 0 10px 10px rgba(0,0,0,0.1);
  position: relative;
  width: max-content;
}
.dropdown>ul>li:not(:last-child){
  margin-bottom:10px;
}
.dropdown.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.dropdown>ul::before{
  content: "";
  border: 10px solid transparent;
  border-bottom: 15px solid #08365F;
  position: absolute;
  top: -20px;
  left: 10px;
}
#kv{
  width: 100%;
  height: 100vh;
  background: #fff;
  position: relative;
  z-index: 0;
}
#kv::after{
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  background-image: url(img/pt_kv.png);
  background-size: 2px 2px;
  width: 100%;height: 100%;
}
#kv::before{
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(8, 54, 95, 1) 100%);
  width: 100%;height: 100%;
  mix-blend-mode: overlay;
}
#kv>.overlay{
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
#kv>.overlay video{
  position: absolute;
  top:50%;left: 50%;
  transform: translateX(-50%) translateY(-50%);
  min-width: 100%;
  min-height: 100%;
}
#kv>h2{
  position: absolute;
  left: 60px;
  bottom: 60px;
  z-index: 3;
  font-size: 68px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
}
#kv>h2>span{
  font-family: "Abel", sans-serif;
  font-weight: 400;
  font-size: 42px;
  font-style: normal;
}
#product,#service{
  overflow: hidden;
  position: relative;
}
#product >.inner>.header,
#service >.inner>.header{
  display: flex;
  margin-bottom:80px;
}
#product .header h2,
#service .header h2{
  font-size: 42px;
  font-weight: bold;
  width: 500px;
}
#product .header p,
#service .header p{
  width: 700px;
  font-size: 18px;
  line-height: 2;
}
#product{
  margin-bottom:200px;
}
/*swiper*/
.swiper.swiper-horizontal{
  overflow: visible;
}
.swiper-slide{
  width: 300px;
}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction
{
  bottom:-40px;
}
.swiper-pagination-bullet-active{
  background:#08365F;
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next,
.swiper-button-next {
    bottom: -80px;
    position: absolute;
    top: inherit;
    transform: inherit;
}

#product-list{}
#product-list .child{

  border-radius: 10px;
  aspect-ratio:4/5;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
#product-list .child a{
  display: block;
  width: 100%;height: 100%;
  position: relative;
  color: #fff;

}
#product-list .child a::after{
  content: "";
  display: block;
  width: 100%;height: 100%;
  position: absolute;
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(8, 54, 95, 1) 100%);
  mix-blend-mode: darken;
  z-index: 2;
}
#product-list .child a .bt{
  position: absolute;
  bottom:30px;right: 30px;
    z-index: 3;
}
#product-list .child a .bg{
  width: 100%;
  height: 100%;
  z-index: 1;
  position: absolute;
}
#product-list .child a>div{
  position: absolute;
  bottom:30px;left:30px;
  width: calc(100% - 60px);
  z-index: 3;
}
#product-list .child a>div>h3{
  font-size: 32px;font-weight: bold;
  margin-bottom:16px;
  line-height: 1.4;
}
#product-list .child a>div>p{
  font-size: 16px;
  line-height: 1.4;
  width: 80%;
}
.bg-marquee{
  position: absolute; inset: 0; /* 親の背景として全体に広げる例 */
  pointer-events: none;       /* 背景なのでクリック不可 */
  overflow: hidden;
  z-index: 0;
  display: flex;
  align-items: end;
}

/* 共通 */
.marquee-track{
  display: inline-flex;
  white-space: nowrap;
  font-weight: 700;
  font-size: 28px;
  letter-spacing: 0.08em;
  opacity: 1;              /* 背景感のために薄め */
}
section#product .marquee-track {
    padding-left: 710px;
}

/* アニメーション設定（変数で調整） */
.horizontal .marquee-track{
  --speed: 18s;               /* 速さを変える */
  animation: marquee-horizontal linear infinite;
  animation-duration: var(--speed);
}
.marquee-track span {
    display: block;
    width: 100vw;
    font-size: 216px;
    line-height: 1;
    color: #F0F3F6;
    font-family: "Anton", sans-serif;
}
/* 左へ動かす（2つ並べた要素を-50%ずらす） */
@keyframes marquee-horizontal {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ユーザーが「動きを減らしたい」設定なら停止 */
@media (prefers-reduced-motion: reduce){
  .marquee-track { animation: none; }
}
/* INDEX service*/
#service .content-wrap{
  display: flex;
  justify-content: space-between;
}
#service .content-wrap .header{
  width: 470px;
}
#service .content-wrap .header h3{
  font-size: 32px;
  font-weight: bold;
  margin-bottom:10px;
}
#service .content-wrap .header h3 span{
  display: block;
  font-weight: bold;
  color: #08365F;
  font-size: 16px;
}
#service .content-wrap .header p{
  margin-top: 30px;
  line-height: 2;
  font-size: 16px;
  width: 100%;
}
.btn-index{
  color: #fff;
  background: linear-gradient(271.16deg, #08365F 0.13%, #0C4F8B 42.81%, #1170C5 99.87%);
  border-radius: 4px;
  padding: 16px 120px;
  font-size: 16px;
  margin-top: 100px;
  display: block;
  width: fit-content;
  position: relative;
}
.btn-index:after{
  content:"";
  width: 11px;
  height: 21px;
  display: block;
  background-image: url(img/btn_arrow_index.svg);
  background-repeat: no-repeat;
  position: absolute;right: 20px;top: 50%;transform: translateY(-50%);
}
#service .content-wrap .content{
  width: calc(100% - 570px);
  position:relative;
  z-index: 3;
}
.content .img_tech_square{
  width: 595px;height: auto;
  position: absolute;
  z-index: 2;
}
.content .img_tech_circle{
  width:400px;height: 400px;
  position: absolute;
  z-index: 1;
}
#service .content-wrap.processing{
  margin-bottom:450px;
  position: relative;
}
#service .content-wrap.processing::after{
  content: "";
  display: block;
  width: 650px;
  height: 300px;
  background: #f7f9fb;
  position: absolute;
  z-index: 1;
  right: -200px;
  bottom: -400px;
}
#service .content-wrap.processing::before{
  content: "";
  display: block;
  width: 530px;
  height: 220px;
  border: 1px solid #E8EDF1;
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 20px;
}
#service .content-wrap.assembly{
  flex-direction: row-reverse;
  margin-bottom: 320px;
  position: relative;
}
#service .content-wrap.assembly::after{
  content: "";
  display: block;
  width: 300px;
  height: 450px;
  background: #E8EDF1;
  position: absolute;
  z-index: 1;
  left: -170px;
  top: -150px;
}
#service .content-wrap.assembly::before{
  content: "";
  display: block;
  width: 200px;
  height: 200px;
  border-radius: 100px;
  border: 1px solid #E8EDF1;
  position: absolute;
  z-index: 1;
  left: 150px;
  top: 340px;
}
#service .content-wrap.processing .img_tech_circle{
  right: -50px;
}
#service .content-wrap.processing .img_tech_square{
  top: 260px;
  right: 50px;
}
#service .content-wrap.assembly .img_tech_circle{
  left: 280px;
  top: 290px;
}
#service .content-wrap.assembly .img_tech_square{
  top:0;
  left:-50px;
}
/* フッター */
.footer-nl>li>a{
  pointer-events: none;
}
#footer-menu{
  display: flex;
}
#footer-menu>li{
  width: 50%;
}
#footer-menu dt{
  background-size: cover;
  display: flex;
  align-items: center;
  text-align: center;
  aspect-ratio: 1 / 0.4;
  position: relative;
}
#footer-menu dt h2{
  color: #fff;
  font-weight: bold;
  font-size: 38px;
  position: relative;z-index: 1;
  margin: 0 auto;
}
#footer-menu dt::after{
  position: absolute;
  content:"";
  display: block;
  width: 100%;height: 100%;
  background: rgba(0,0,0,0.4);
  mix-blend-mode: darken;
}
#footer-menu .company dt{
  background-image: url(img/bg_ftm0.jpg);
}
#footer-menu .recruit dt{
  background-image: url(img/bg_ftm1.jpg);
}

#footer-menu dd{
  background: #08365F;
  padding: 20px 20px 0;
}
#footer-menu .company dd{padding-right: 10px;}
#footer-menu .recruit dd{padding-left: 10px;}
#footer-menu dd ul{
  background: #fff;
  border-radius: 8px;
  padding:0 20px;
}
#footer-menu dd ul>li{
border-bottom:1px solid #C4CAD0;
}
#footer-menu dd ul>li:last-child{border:none;}
#footer-menu dd ul>li>a{
  color: #282828;
  display: block;
  padding: 40px 10px;
  position: relative;
}
#footer-menu dd ul>li>a::after{
  content: "";
  display: block;
  width: 46px;height: 46px;
  background-image: url(img/btn_footer.svg);
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
#footer-menu dd ul>li>a.disabled::after{
  background-image: url(img/btn_footer_wh.svg);
}
#footer-menu dd ul>li>a.disabled,
#footer-menu dd ul>li>a.disabled>span{color:#cfcfcf!important;pointer-events: none;}
#footer-menu dd ul>li>a>h3{font-size: 18px;margin-bottom: 4px;font-weight: 500;}
#footer-menu dd ul>li>a>span{font-size: 12px;color:#08365F;font-weight: 500;}
.footer-inquiry{
  padding: 20px;
  background: #08365F;
}
.footer-inquiry a{
  background: #fff;
  display: block;
  border-radius: 8px;
  display: flex;
  color: inherit;
  padding: 80px 90px;
  align-items: center;
  position: relative;
}
.footer-inquiry a::after{
  content: "";
  display: block;
  width: 46px;height: 46px;
  background-image: url(img/btn_footer.svg);
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}
.footer-inquiry a>h2{
  font-weight: 500;font-size: 38px;
  color: #08365F;
  margin-right: 80px;
}
.footer-inquiry a>h2>span{
  display: block;
  color:#AAB5C0;
  font-size: 26px;
}
footer{
  background: #292929;
}
footer>div{
  padding:50px;
  display: flex;
}
footer>div>.l0>p{
  font-size: 16px;
  color: #ADADAD;
  margin-left: 60px;
}
footer .sns-list{
  display: flex;
  justify-content: flex-start;
  margin-bottom: 140px;
  margin-top:10px;
}
footer .sns-list li{
  margin-right: 10px;
}
footer .sns-list img{
  width: 50px;height: 50px;
}

footer .nin-list{
  display: flex;
  justify-content: flex-start;
}
footer .sns-list li::before,
footer .nin-list li::before{content: none;}
footer .nin-list li{
  margin-right: 10px;
}
footer .nin-list img{
  width: 100px;height: 100px;
}
footer .l1{
  max-width: 450px;
}
footer .l0{padding-right: 40px;}
footer .l1 h2{
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  margin-bottom:20px;
  margin-top: 10px;

}
footer .l1 h3,
footer .l2 h3,
footer .l3 h3{
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  margin-bottom:20px;
}
footer .l1 ul+h3,
footer .l2 ul+h3,
footer .l3 ul+h3{
  margin-top: 30px;
}
footer .l1 ul li a,
footer .l2 ul li a,
footer .l3 ul li a{color:#ADADAD;}
footer .l1 ul{
  display: flex;
  flex-wrap: wrap;
  list-style: disc;
}
footer .l1 ul li{
  width: 50%;
  margin-bottom:10px;
}
footer .l2,footer .l3{color: #fff;}
footer .l2{margin-left: auto;}
footer .l2 ul li,
footer .l3 ul li{margin-bottom:10px;}
footer .l3{padding-left:40px;}
footer div div ul li::before{content:"・";color: #adadad}
footer>p{font-size: 14px;color: #adadad;text-align: center;
  margin: 0;
  padding:60px 0;
  border-top:1px solid #3C3C3C;
}

/*page*/
body.page>.kv.product{
  height: 600px;
  position: relative;
}
body.page>.kv.company,
body.single>.kv.recruit{
  height: 400px;
  position: relative;
}
body.page>.kv::after,
body.single>.kv.recruit::after{
  content: "";
  display: block;
  width: 100%;height: 100%;
  position: absolute;
  background-image: linear-gradient(transparent, #08365f);
  top:0;
  z-index: 0;
}
body.page>.kv>div.inner,
body.single>.kv>div.inner{
  height: 100%;
}
body.page>.kv>div.inner>div,
body.single>.kv>div.inner>div{
  position: absolute;
  z-index: 1;
}
body.page>.kv.product>div.inner>div,
body.page>.kv.company>div.inner>div,
body.single>.kv.recruit>div.inner>div{
  left:0;bottom:60px;
  color: #fff;
}
body.page>.kv.product>div.inner>div>h1,
body.page>.kv.company>div.inner>div>h1,
body.single>.kv.recruit>div.inner>div>h1{
  font-size:42px;
  font-weight: bold;
}
body.page>.kv.product>div.inner>div>h1>span,
body.page>.kv.company>div.inner>div>h1>span,
body.single>.kv.recruit>div.inner>div>h1>span{
  font-size:18px;
  display: block;
}
body.page.yukaki>.kv.product{
  background-image: url(img/bg_yukaki.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
}
body.page>#content-wrap >.inner>h2{
  font-size: 38px;
  font-weight: bold;
  margin-bottom:40px;
  text-align: center;
  position: relative;
  padding-bottom: 30px;
}
body.page>#content-wrap >.inner>h3{
  font-size: 32px;
  font-weight: bold;
  margin-top: 80px;
  margin-bottom:40px;
  text-align: center;
}
body.page>#content-wrap >.inner>h2::after{
  content: "";
  position: absolute;
  display: block;
  width: 120px;
  height: 3px;
  background: #08365F;
  border-radius: 2px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
body.page>#content-wrap >.inner>p{
  font-size: 18px;
  line-height: 38px;
}

/*yukaki*/
.yukaki-figure{
  display: flex;
  justify-content: center;
}
.yukaki-figure>li{
  width: 50%;
  text-align: center;
}
.yukaki-figure>li>h4{
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
  min-height: 80px;
  color: #08365F;
}
.yukaki-figure>li>img{
  width: 400px;
}
.yukaki-figure>li>p{
  font-size: 18px;
  line-height: 32px;
  text-align:left;
  margin-top:30px;
  padding: 0 30px;
}
.yukaki-flow{position: relative;display: flex;flex-wrap: wrap;justify-content: space-between;}
.yukaki-flow>dt{position: relative;width: 90px;display: flex;align-items: center;margin-bottom:80px;}
.yukaki-flow>dt::after{
  position: absolute;
  background: #F3F5F9;
  width: 20px;
  content: "";
  display: block;
  z-index: 0;
  left: 36px;
}
.yukaki-flow>dt.st0::after{height: 310px;top: 195px;}
.yukaki-flow>dt.st1::after{height: 290px;top: 210px;}
.yukaki-flow>dt.st2::after{height: 190px;top: 120px;}
.yukaki-flow>dt.st3::after{height: 180px;top: 125px;}
.yukaki-flow>dt.st4::after{height: 130px;top: 85px;}
.yukaki-flow>dt.st5::after{content: none;}
.yukaki-flow>dd{width: calc(100% - 130px);margin-bottom:80px;}
.yukaki-flow>dt>div{
  background: #6A93BF;
  width: 90px;height: 90px;
  color: #fff;
  border-radius: 45px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 42px;font-weight: bold;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.yukaki-flow>dt>div>span{
  font-size: 16px;
}
.yukaki-flow>dd>h4{
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #08365F;
}
ul.yukaki-flow-list>li{margin-bottom: 10px;line-height: 1.4;}
ul.yukaki-flow-list>li:last-child{margin:0;}
ul.yukaki-check-list{
  border: 1px solid #96B2CC;
  background: #F3F5F9;
  color: #3D5D7B;
  padding:18px;
  border-radius: 4px;
  margin:10px 0;
}
ul.yukaki-check-list>li{
  line-height: 1.4;
  margin-bottom: 10px;
  background: url(img/icon_check.svg);
  display: block;
  background-repeat: no-repeat;
  padding-left: 25px;
  background-position: 0 6px;
}
ul.yukaki-check-list>li:last-child{
  margin:0;
}
table.yukaki{border-spacing: 1px;border-collapse: separate;}
table.yukaki tr th:nth-child(1){width: 25%;}
table.yukaki tr th:nth-child(2){width: 25%;}
table.yukaki tr th:nth-child(3){width: 50%;}
table.yukaki tr th,
table.yukaki tr td{
  text-align: center;
  padding:20px;
}
table.yukaki tr th{background: #E5EBF1;}
table.yukaki tr td{background: #F8F8F8;}
table.yukaki tr td ul{list-style-type: disc;padding-left: 20px;}
table.yukaki tr td ul li{
  text-align: left;
  line-height: 1.6;
}
/*亜臨界*/
body.page.arinkai>.kv.product{
  background-image: url(img/bg_arinkai.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
ul.arinkai-list {
    display: flex;
    justify-content: space-between;
    text-align: center;
    margin-top: 30px;
}
ul.arinkai-list h3{
  font-size: 18px;
  font-weight: bold;
  color: #08365F;
}
ul.arinkai-list>li{
  position: relative;
}
ul.arinkai-list>li:not(:last-child)::after{
  content:"";
  display: block;
  width: 28px;height: 28px;
  background-image: url(img/icon_list_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top:50%;
  transform: translateY(-50%);
  right: -70px;
}
img.arinkaiimg{margin:30px 0;}
ul.card-list{
  display:flex;
  justify-content: space-between;
  flex-wrap: wrap;

}
ul.card-list>li{
  width: calc(50% - 10px);
  background: #EFF2F4;
  margin-bottom: 20px;
  border-radius: 4px;
  padding:35px;
  min-height: 200px;
  overflow: hidden;
  position: relative;
}
ul.card-list>li>h3{
  font-size: 22px;
  font-weight: bold;
  margin-bottom:20px;
}
ul.card-list>li>p{
  line-height: 1.8;
}
ul.card-list>li::after{
  content: "";
  position: absolute;
  display: block;
  width: 60px;height: 50px;
  border:60px solid transparent;
  border-left:60px solid #ED8F4C;
  top:-70px;left:0;
  box-sizing: border-box;
  z-index: 1;
}
ul.card-list>li:before{
  position: absolute;    top: 8px;
    left: 8px;font-size: 12px;font-weight: bold;content: "";z-index: 2;color: #fff;
}
ul.card-list>li:nth-child(1)::before{content:"01" ;}
ul.card-list>li:nth-child(2)::before{content:"02" ;}
ul.card-list>li:nth-child(3)::before{content:"03" ;}
ul.card-list>li:nth-child(4)::before{content:"04" ;}
table.spec{margin:60px 0 20px;width:100%;border-spacing: 1px;border-collapse: separate;}
table.spec td,
table.spec th{font-size: 18px;padding: 10px;text-align: center;}
table.spec tr:nth-child(odd) td{
  background: #F3F3F3;
}
table.spec tr td:first-child{text-align: left;}
table.spec tr td:nth-child(2){font-size: 14px;}
table.spec tr:first-child th:nth-child(2){background: #E5EBF1;}
table.spec tr:first-child th:nth-child(3){background: #F0E3CF;}
table.spec tr:nth-child(odd) td:nth-child(3),
table.spec tr:nth-child(odd) td:nth-child(4){background: #F7FBFF;}
table.spec tr:nth-child(odd) td:nth-child(5),
table.spec tr:nth-child(odd) td:nth-child(6){background: #FCF5EA;}
ul.spec-caution{font-size: 14px;}
ul.spec-caution>li:not(:last-child){margin-bottom:10px;}
.haikilist-wrap {
    background: #F3F3F3;
    border-radius: 10px;
    padding: 40px;
}
.haikilist-wrap.mb{
  margin-bottom: 40px;
}
.haikilist-wrap h4{text-align: center;font-size: 22px;margin-bottom: 20px;font-weight: bold;}
.haikilist-wrap ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom:-10px;
}
.haikilist-wrap ul>li{
  width: 216px;
  margin-right: 10px;
  margin-bottom:10px;
  text-align: center;
  background: #fff;
  border: 2px solid #B7BCC0;
  border-radius: 4px;
  font-size: 14px;
  padding: 26px 0 ;
}
.haikilist-wrap ul>li:nth-child(5n){
  margin-right: 0;
}
/*太陽光*/
body.page.solar_panel_recycle>.kv.product{
  background-image: url(img/bg_solar.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
ul.solor-list{
  display: flex;
  justify-content: space-between;
  width: 925px;
  margin: 60px auto;
}
ul.solor-list>li{
  position: relative;
}
ul.solor-list>li>img{
  width: 240px;height: 180px;
  margin-bottom: 10px;
}
ul.solor-list>li>p{
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #08365F;
}
ul.solor-list>li:not(:last-child)::after{
  content:"";
  display: block;
  width: 28px;height: 28px;
  background-image: url(img/icon_list_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top:50%;
  transform: translateY(-50%);
  right: -70px;
}
div.solor-dev{
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
div.solor-dev>p{
  font-size: 18px;
  line-height: 38px;
  width: 750px;
}
div.solor-dev>img{
  width: 404px;height: auto;
}
ul.solor-dev {
    display: flex;
    justify-content: space-between;

}
ul.solor-dev>li{
  width: 386px;
}
ul.solor-dev>li>img{
  width: 100%;
  margin-bottom: 20px;
}
ul.solor-dev>li>p{
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #08365F;
}
img.img_solor_dev_taisei{
  display: block;
  width: 920px;height: auto;
  margin: 80px auto 60px;
}
div.solor-wrap{
  background: #EFF2F4;
  padding:40px;
  border-radius: 6px;
}
div.solor-wrap>h4{
  font-weight: bold;
  font-size: 22px;
  color: #08365F;
  margin-bottom:8px;
}
div.solor-wrap>h4+p{
  font-weight: bold;
  margin-bottom:20px;
  font-size: 18px;
  color: #08365F;
}
div.solor-wrap>ul{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom:-10px;
}
div.solor-wrap>ul>li{
  margin-bottom: 10px;
}
div.solor-wrap>ul>li>a{
  color:inherit;
}
div.solor-wrap>ul>li:nth-child(odd){
  width: 15%;
}
div.solor-wrap>ul>li:nth-child(even){
  width: 85%;
}
/*環境開発*/
body.page.environment>.kv.product{
  background-image: url(img/bg_env.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
/*oem*/
body.page.oem>.kv.product{
  background-image: url(img/bg_oem.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

body.page.oem .inner>h3+p{
  text-align: center;
  margin-bottom:40px;
}
ul.oem-list{
  display: flex;
  justify-content: space-between;
}
ul.oem-list>li{
  width: calc(25% - 40px);
  text-align: center;
  margin-top: 40px;
}
ul.oem-list>li>h4{
  font-size: 22px;
  font-weight: bold;
  color: #08365F;
  margin: 20px 0;
}
ul.oem-list>li>p{
  font-size: 16px;
  line-height: 24px;
  text-align:left;
}
ul.oem-photo-list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom:-30px;
}
ul.oem-photo-list>li{
  width: calc(100% / 3 - 20px);
  margin-bottom:30px;
}
ul.oem-photo-list>li>img{
  width: 100%;height: auto;
}
ul.oem-photo-list>li>h4{
  font-size: 18px;
  font-weight: bold;
  color: #08365F;text-align: center;
  margin-top: 20px;
}
ul.oem-kibou-list{
  display: flex;
  justify-content: space-between;
}
ul.oem-kibou-list>li{
  width: 585px;
}
/*会社案内*/
body.page>.kv.company{
  background-image: url(img/bg_company.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
ul.company-nav{
  display: flex;justify-content: space-between;
  margin-bottom: 60px;
}
ul.company-nav.btm{margin:60px 0 0;}
ul.company-nav>li{width:25%;text-align: center;padding:0 10px;}
ul.company-nav>li:not(:last-child){border-right: 1px solid #e1e1e1;}
ul.company-nav>li>a{
  color:#282828;
  display: block;
  border-radius: 10px;
  padding: 30px 0;
}
ul.company-nav>li.active>a{
  color: #fff;
  background: #6C8DA9;
  font-weight: bold;
  pointer-events: none;
}
div.message{
  display: flex;
  justify-content: space-between;
}
div.message div{
  width: 660px;
}
div.message div h3{
  font-size: 38px;
  font-weight: bold;
  color: #08365F;
  margin-bottom: 30px
}
div.message div p{
  font-size: 18px;
  line-height: 2;
}
div.message div p strong{
  font-weight: bold;
}
div.message img{
  width: 500px;
  height: auto;
  border-radius: 6px;
}
div.quality{
  display: flex;
  justify-content: space-between;
  margin-bottom:100px;
}
div.quality img{
  width: 300px;
  margin: 0 100px;
}
div.quality div{
  width: 700px;
}
div.quality div h3{
  color: #08365F;
  font-weight: bold;
  font-size: 28px;
  margin-bottom:20px;
}
div.quality div p{
  font-size: 18px;
  line-height: 2;
}
div.quality div ul.nn{
  list-style-type: none;
  padding:0;
  margin-bottom: 30px;
  color: #282828;
  font-size: 28px;
}
div.quality div ul{
  margin-top: 15px;
  list-style-type: decimal;
  font-size: 20px;
  color: #08365F;
  font-weight: bold;
  padding-left: 30px;
}
div.quality div ul>li{
  padding: 20px 0;
}
div.quality div ul>li:not(:last-child){
  border-bottom: 1px dotted #ccc;
}
div.goal-wrap{
  display: flex;
  background: #EEEBE9;
  padding:50px;
  justify-content: space-between;
  border-radius: 8px;
}
div.goal-wrap>div{
  width: 540px;
}
div.goal-wrap>div>h3{
  text-align: center;
  font-size: 28px;
  margin-bottom: 30px;
  font-weight: bold;
}
div.goal-wrap>div>ul{
  background: #fff;
  border-radius: 4px;
  padding:30px;
  list-style-type: decimal;
  padding-left: 60px;
  min-height: 570px;
}
div.goal-wrap>div>ul>li{
  font-size: 20px;
  font-weight: bold;
  color: #08365F;
  margin-bottom:20px;
  line-height: 1.8;
}
div.goal-wrap>div>ul>li>p{
  font-weight: normal;
  font-size: 18px;
  margin-left: -22px;
  color: #282828;
  line-height: 1.6;
}
div.goal-wrap>div>ul>li>ul{
  font-weight: normal;
  font-size: 18px;
  color: #282828;
  list-style-type: disc;
}
div.goal-wrap>div>ul>li>ul>li{
    line-height: 1.6;
    margin-bottom: 10px;
}
div.history,
div.founder{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 80px;
}
div.history div{
  width: 500px;
}
div.history div h3,
div.founder div h3{
  text-align: left;
  font-size: 38px;
  margin-bottom: 30px;
  font-weight: bold;
  color: #08365F;
}
div.history p,
div.founder div p{
  width: 660px;
  line-height: 2.0;
}
div.founder img{
  width: 403px;height: auto;
}
div.maruko-wrap{
  background: #EEEBE9;
  padding:50px;
  border-radius: 8px;
}
div.maruko-wrap>h3{
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
div.maruko-wrap>ul{
  display: flex;
  justify-content: space-between;
}
div.maruko-wrap>ul>li{
  width: 175px;
  background: #fff;
  border-radius: 4px;
  padding:15px;
}
div.maruko-wrap>ul>li>img{
  width: 80px;height: 80px;
  display: block;
  margin: 10px auto 20px;
}
div.maruko-wrap>ul>li>h4{
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}
div.maruko-wrap>ul>li>p.year{
  font-size: 12px;
  color: #919191;
  text-align: center;
  position: relative;
  margin-top: 0;
  padding-bottom:10px;
}
div.maruko-wrap>ul>li>p.year:after{
  display: block;
  content: "";
  height: 2px;
  width: 30px;
  background: #08365F;
  position: absolute;
  left: 50%;transform: translateX(-50%);
  bottom:0;

}
div.maruko-wrap>ul>li>p{
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
  margin-top: 10px;
}
div.overview dl{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
div.overview dl dt{
  width: 260px;
  border-bottom: 2px solid #08365F;
  font-weight: bold;
  padding: 30px 20px;
}
div.overview dl dd{
  width: 940px;
  border-bottom: 2px solid #E1E1E1;
  padding: 30px 20px;
}
div.overview dl .bn {
    border: 0;
}
div.history-wrap>ul{
  position: relative;
}
div.history-wrap>ul::after{
  content: "";
  display: block;
  background: #EFF2F5;
  width: 4px;
  height: calc(100% - 90px);
  position: absolute;
  top: 44px;
  left: 115px;
  z-index: 0;
}
div.history-wrap>ul>li{
  display: flex;
  border-bottom: 1px solid #E1E1E1;
  padding:30px 0;
}
div.history-wrap>ul>li:last-child{
  border:none;
}
div.history-wrap>ul>li>span{
  color: #C5CBD0;
  font-size: 33px;
  display: block;
  margin-right: 84px;
  padding-top: 5px;
}
div.history-wrap>ul>li>ul>li{
  display: flex;
  align-items: baseline;
  position: relative;
}
div.history-wrap>ul>li>ul>li:before{
  display: block;
  content: "";
  width: 8px;height: 8px;
  background: #08365F;
  border-radius: 4px;
  position: absolute;
  top: 9px;
  left: -44px;
  z-index: 1;
}
div.history-wrap>ul>li>ul>li>span{
  font-size: 18px;
  font-weight: bold;
  color: #08365F;
  width: 60px;
}
div.history-wrap>ul>li>ul>li>p{
  line-height: 1.8;
}
#map-wrap{
  width: 100%;height: 600px;
  overflow: hidden;
  position: relative;
  border-radius: 8px;
}
#map-wrap iframe{
  position: absolute;
  top:50%;left:50%;
  transform: translateY(-50%) translateX(-50%);
  width: calc(100% + 780px);
  height: calc(100%);
}
body.page>#content-wrap >.inner #map-wrap+h3{font-size: 18px;margin: 20px auto 10px;text-align: center;}
body.access .address{text-align: center;}
body.access .gmap{text-align: center;
  display: block;
  width: fit-content;
  margin: -10px auto;
  font-size: 14px;
}
ul.access-method{
  display: flex;
  justify-content: space-between;
  margin: 40px 0 80px;
}
ul.access-method li{
  width: 585px;
  text-align: center;
}
ul.access-method li>img{margin-bottom: 15px;}
ul.access-method li>h3{
  font-size: 20px;font-weight: bold;color:#08365F;
  position: relative;
  padding-bottom: 24px;
  margin-bottom: 18px;
}
ul.access-method li>h3::after{
  position: absolute;
  height: 3px;width: 100%;
  bottom:0;
  content: "";
  display: block;
  background: #08365F;
  border-radius: 2px;
}
ul.access-method li>p{font-size: 20px;line-height: 32px;}

.skill-wrap>h4{
  font-weight: 700;
  font-size: 24px;
  text-align: center;
  color: #08365F;
  margin-bottom:20px;
}
.skill-wrap>ul{
  display: flex;
  justify-content: space-between;
  margin-bottom:50px;
  gap: 0 20px;
}
.skill-wrap>ul>li{
  background: #FFFFFF;
  border: 3px solid #08365F;
  border-radius: 6px;
  text-align: center;
  padding:30px 0;
  font-weight: 700;
  font-size: 20px;
  color: #08365F;
}
.skill-wrap>ul.column4>li{width: 25%;}
.skill-wrap>ul.column3>li{width:calc(100% / 3);}
.features-list{
  display: flex;
  justify-content: space-between;
  margin: 60px auto 60px;
  width: 1100px;
  gap:0 40px;
}
.features-list>li>img{
  display: block;
  margin: 0 auto 20px;
}
.features-list>li>h4{
  text-align: center;
  font-weight: 700;
  font-size: 28px;line-height: 1.4;
  color: #08365F;
}
.features-list>li>p{
  font-size: 18px;
  line-height: 32px;
  margin-top:20px;
}
.features-photo-list{
  display: flex;
  justify-content: space-between;
  gap:20px 20px;
  flex-wrap: wrap;
  margin-top:40px;
}
.features-photo-list >li{
  width: calc(100% / 3 - 14px);
}
.features-photo-list >li>img{
  width: 100%;
}
.imono-wrap{position: relative;}
.imono-wrap div.left{
  background-color: #000;
  height: 360px;
  width: calc((100vw - 180px) / 2);
  margin-left: calc((100vw - 1200px) / -2);
  position: absolute;
  background-image: url(img/img_imono.png);
  background-size: auto 360px;
  background-repeat: no-repeat;
  background-position: right;
  border-radius: 0 10px 10px;
}
.imono-wrap div.right{margin-left: 565px;}
.imono-wrap p{
  font-size: 18px;
  line-height: 32px;
}
.imono-wrap .btn-index{
  margin-top: 40px;
}
.imono-feature{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.imono-feature img{
  width: 525px;
  border-radius: 8px;
}
.imono-feature p{
  font-size: 18px;
  line-height: 32px;
  width: 635px;
}
.accuracy{
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.accuracy img{
  width: 360px;height: auto;
}
.accuracy div{
  width: 810px;
}
.accuracy div h3{font-size: 32px;font-weight: bold;margin-bottom: 40px;}
.accuracy div h4{font-size: 24px;font-weight: bold;color: #08365F;margin-bottom: 10px;}
.accuracy div p{line-height: 32px;margin-bottom: 30px;}
.imono-macinelist{flex-wrap: wrap;gap:40px 19px;display: flex;justify-content: center;margin:40px 0;}
.imono-macinelist li{width: 387px;}
.imono-macinelist li h4{text-align: center;font-weight: bold;font-size: 20px;margin:20px 0;}
.imono-macinelist li p{line-height: 32px;}

.sample-list{display: flex;flex-wrap: wrap;gap:20px 20px;justify-content: flex-start;margin-top:90px;}
.sample-list li{width: 224px;}
.sample-list li img{border-radius: 8px;}
body.imono .btn-index{
  margin: 40px auto 100px;
}
.sample-list li a{pointer-events: none;}

/*kumitate*/
.kumitate-feature{display: flex;justify-content: space-between;}
.kumitate-feature img{width: 525px;border-radius: 8px;}
.kumitate-feature p{width: 635px;line-height: 32px;font-size: 18px;}
.response-flow{}
.response-flow>li{margin-bottom:30px;display: flex;}
.response-flow>li>.left{width: 56px;position: relative;
  display: flex;
  align-items: center;
}
.response-flow>li>.left::after{
  content: "";
  display: block;
  width: 6px;
  height: 100%;
  top: 0;
  right: 0;
  background: linear-gradient(180deg, #08365F 0%, #1170C5 100%);
  border-radius: 3px;
  position: absolute;
}
.response-flow>li>.left>span{
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  background: #08365F;
  display: block;
  border-radius: 3px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align:center;
}
.response-flow>li>.right{
  width: 1123px;
  padding-left: 20px;
}
.response-flow>li>.right>h4{
  font-size: 22px;
  color:  #08365F;
  font-weight: bold;
  margin-bottom: 20px;
}
.response-flow>li>.right>p{
  font-size: 18px;
  line-height: 32px;
}
.kumitate-flow{display: flex;justify-content: space-between;}
.kumitate-flow>li{width: calc(100% / 8 - 14px);position: relative;}
.kumitate-flow>li>h4{
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  margin-top: 10px;
}
.kumitate-flow>li:not(:last-child)::after{
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: rotate(45deg) translateY(-220%);
}
.anken-list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap:40px 30px;
  margin:30px 0;
}
.anken-list>li{
  width: 585px;
}
.anken-list>li>img{
  width: 100%;
  aspect-ratio:3 / 2;
  background: #efefef;
  border-radius: 8px;
  margin-bottom: 20px;
}
.anken-list>li>h4{
  font-size: 22px;
  color:  #08365F;
  font-weight: bold;
  margin-bottom: 20px;
}
.anken-list>li>p{
  line-height: 32px;
  word-break: break-all;
}
/*dice*/
.dice-list{
  display: flex;
  justify-content: space-between;
  gap:21px;
  flex-wrap: wrap;
}
.dice-list>li{
  width: 386px;
}
.dice-list>li>img{
  border-radius: 4px;
}

/*採用*/

body.page>.kv.recruit{
  background-image: url(img/bg_recruit.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  margin-top:84px;
  margin-left: calc((100vw - 1200px) / 2);
  margin-bottom: 30px;
  height: 630px;
  border-radius: 40px 0 0 40px;
  z-index: 1;
}
body.single>.kv.recruit{
  background-image: url(img/bg_recruit.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
body.page>.kv.recruit::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-image: url(img/pt_kv.png);
  background-size: 2px 2px;
  top: 0;
  border-radius: 40px 0 0 40px;
  z-index: 2;
}
body.page>.kv.recruit::before {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  background: #EFF3F7;
  z-index: 0;
  border-radius: 40px 0 0 40px;
  top: 50px;
  left: -50px;
  width: calc(100% + 50px);
  mix-blend-mode: darken;
}
body.page>.kv.recruit>h2{
  position: absolute;
  left: 60px;
  bottom: 60px;
  z-index: 3;
  font-size: 48px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
}
body.page>.kv.recruit>h2>span{
  font-family: "Abel", sans-serif;
  font-weight: 400;
  font-size: 24px;
  font-style: normal;
}
body.recruit>#content-wrap>.inner>p.cc{        margin-bottom: 60px;}
.type-list{
  display: flex;
  justify-content: space-between;
  width: 844px;
  margin:30px auto 90px;
}
.challenge-wrap{
  display: flex;
  justify-content: space-between;
}
.challenge-wrap div{
  width: 530px;
}
.challenge-wrap div h3{
  font-size: 32px;
  font-weight: bold;
  margin-bottom:20px;
}
.challenge-wrap div p{
  font-size: 18px;
  line-height: 32px;
}
.challenge-wrap ul{
  width: 600px;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.challenge-wrap ul::after{
  position: absolute;
  content: "";
  display: block;
  width:20px;height: 20px;
  background: #fff;
  top:50%;left: 50%;
  margin:-10px 0 0 -10px;
}
.challenge-wrap ul>li{
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.challenge-wrap ul>li:nth-child(1),
.challenge-wrap ul>li:nth-child(2){
  border-bottom: 1px solid #ECECEC;
}
.challenge-wrap ul>li:nth-child(1),
.challenge-wrap ul>li:nth-child(3){
  border-right: 1px solid #ECECEC;
}
.service-list{
  display: flex;
  justify-content: space-between;
  margin:40px 0 60px;
}
.service-list li{
  width: calc(25% - 15px);
  border: 1px solid #E3E3E3;
  filter: drop-shadow(0px 7px 10px rgba(0, 0, 0, 0.10));
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.service-list li img{
  aspect-ratio:3/2;
  object-fit: cover;
  margin-bottom: 20px;
}
.service-list li h4{
  color: #08365F;
  font-weight: bold;
  text-align: center;
}
.service-list li p{
  padding: 10px 20px 20px 20px;
  line-height: 1.4;
}
.job-wrap{
  background: #EEEBE9;
  padding: 50px 40px;
  border-radius: 8px;
}
.job-wrap>h3{
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
.job-wrap>.cat-list{
  display: flex;
  flex-wrap: wrap;
  gap:20px;
}
.job-wrap>.cat-list>li{
  width: 360px;
  background: #fff;
  padding:23px 60px 23px 23px;
  border-radius: 4px;
  position: relative;
}
.job-wrap>.cat-list>li::after{
  content: "";
  display: block;
  width: 8px;height: 13px;
  background-image: url(img/icon_recruit.svg);
  background-repeat: no-repeat;
  top:50%;right:20px ;
  position: absolute;
  margin-top:-4px;
}
.job-wrap>.cat-list>li:last-child{padding: 0;width: 100%;}
.job-wrap>.cat-list>li:last-child>img{width: 100%;height: auto;}
.job-wrap>.cat-list>li:last-child::after{content:none;}
.job-wrap>.cat-list>li>a{
  color: #282828;
}
.job-wrap>.cat-list>li>a>h4{
  font-weight: 700;
  font-size: 18px;
  line-height: 18px;
  color: #08365F;
  margin-bottom:10px;
  padding-bottom:14px;
  border-bottom: 1px solid #ECECEC;
}
.job-wrap>.cat-list>li>a>p{
  font-size: 16px;
  line-height: 1.6;
  word-wrap: break-word;
}
.recruit-pr{}
.recruit-pr>li{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.recruit-pr>li:not(:last-child){
  border-bottom: 1px solid #efefef;
}
.recruit-pr>li>span{
  font-weight: 700;
  font-size: 28px;
  text-align: center;
  color: #08365F;
  padding: 0 40px;
}
.recruit-pr>li>p{
  padding: 30px 0;
  line-height: 32px;
}
.recruit-photo{
  display: flex;
  justify-content: space-between;
  gap:21px;
  margin-top:60px;
}
.recruit-photo>li{
  width: 386px;
}
.recruit-photo+.btn-index{
  margin: 50px auto 0;
}

/**/
body.single>#content-wrap >.inner>h2 {
    font-size: 38px;
    font-weight: bold;
    margin-bottom: 40px;
    text-align: center;
    position: relative;
    padding-bottom: 30px;
}
body.single>#content-wrap >.inner>h2::after {
    content: "";
    position: absolute;
    display: block;
    width: 120px;
    height: 3px;
    background: #08365F;
    border-radius: 2px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}
body.single>#content-wrap >.inner>h2.post-title{
  text-align: left;
  font-weight: 400;
  line-height: 1.6;
}
body.single>#content-wrap >.inner>h2.post-title:after{
  content:"";
  height: 1px;
  left: 0;
  transform: translateX(0);
}
body.single>#content-wrap >.inner>date{
  font-size: 14px;
  color:#666;
  margin-bottom:60px;
  display: block;
}
.post-content {
  line-height: 1.8;
  font-size: 18px;
}

.post-content p {
  margin-bottom: 1.5em;
  line-height: 32px;
}

.post-content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.5em auto;
}

.post-content h3,
.post-content h4 {
  margin: 2em 0 1em;
  line-height: 1.4;
  position: relative;
  font-weight: bold;
}

.post-content h3{
  font-size: 28px;
  padding-bottom:20px;
}
.post-content h4{
  font-size: 22px;
}
.post-content h3::after{
  content:"";
  display:
  block;
  width:100px;height: 1px;
  background: #efefef;
  position: absolute;
  left: 0;bottom:0;

  transform: translateX(0);
}
.post-content h4::after{
  font-size: 22px;
}
.post-content p+h3{
  margin-top:3em;
}
.post-content p+h4{
  margin-top:3em;
}

.post-content blockquote {
  border-left: 4px solid #ccc;
  padding-left: 1em;
  color: #666;
  font-style: italic;
  margin: 1.5em 0;
}
.post-content em{
  font-style: italic;
}
.post-content ul,
.post-content ol {
  margin: 1.5em 0 1.5em 2em;
}
.post-content ul>li:not(:last-child),
.post-content ol>li:not(:last-child) {
  margin-bottom:10px;
}
.post-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
}
.post-content th,
.post-content td {
  border: 1px solid #ddd;
  padding: 0.6em 0.8em;
}

.post-content a {
  color: #0073aa;
  text-decoration: underline;
}
.post-content a:hover {
  color: #004f7a;
  text-decoration: none;
}

.post-content figure {
  margin: 1.5em 0;
  text-align: center;
}
.post-content figcaption {
  font-size: 0.9em;
  color: #666;
  margin-top: 0.5em;
}

/*採用記事*/
body.single>#content-wrap dl.recruit-table{
  display: flex;
  justify-content: space-between;
  flex-wrap:wrap;
}
body.single>#content-wrap dl.recruit-table>dt{
  width: 260px;
    border-bottom: 2px solid #08365F;
    font-weight: bold;
    padding: 30px 20px;
}
body.single>#content-wrap dl.recruit-table>dd{
  width: 940px;
    border-bottom: 2px solid #E1E1E1;
    padding: 30px 20px;
}
body.single>#content-wrap dl.recruit-table .bn{
      border: 0;
}
body.single>#content-wrap dl.recruit-table+.btn-index{
  margin: 50px auto 0;
}

section#topic{
  background: #f8f8f8;
}
section#topic>.inner{
  padding:60px 0;
}
section#topic h2{
  text-align: center;
  font-size: 28px;
  margin-bottom:30px;
  font-weight: bold;
}
section#topic .latest-posts{
  background: #fff;
  padding:30px 50px;
  border-radius: 10px;
}
section#topic .latest-posts a{
  color: #282828;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
section#topic .latest-posts a .date{
  font-size: 14px;
  font-weight: bold;
  color: #08365F;
  width:110px;
}
section#topic .latest-posts a .title{
  width: calc(100% - 120px);
}
section#topic .latest-posts li{
  border-bottom:1px dotted #efefef;
  padding:20px 0;
}
section#topic .latest-posts li:last-child{
  border:none;
}

body.contact .inner>p,
body.apply .inner>p{
  text-align: center;
}
body.contact .wpcf7,
body.apply .wpcf7{
  background: #f8f8f8;
  padding:50px;
  border-radius: 10px;
  margin-top: 80px;
}
body.contact .wpcf7 dl,
body.apply .wpcf7 dl{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 18px;
  line-height: 1.4;
}
body.contact .wpcf7 dl dt,
body.apply .wpcf7 dl dt{
  width: 240px;
  margin-bottom:60px;
  font-weight: bold;
  position: relative;
}
body.contact .wpcf7 dl dt span,
body.apply .wpcf7 dl dt span{
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background: #c13d3d;
  font-size: 12px;
  color: #fff;
  font-weight: normal;
  line-height: 1;
  border-radius: 3px;
  padding: 5px 5px;
}
body.contact .wpcf7 dl dd,
body.apply .wpcf7 dl dd{
  width: calc(100% - 260px);
  margin-bottom:60px;
}
body.contact .wpcf7 dl dd input[type="text"],
body.contact .wpcf7 dl dd input[type="tel"],
body.contact .wpcf7 dl dd input[type="email"],
body.contact .wpcf7 dl dd textarea,
body.apply .wpcf7 dl dd input[type="text"],
body.apply .wpcf7 dl dd input[type="tel"],
body.apply .wpcf7 dl dd input[type="email"],
body.apply .wpcf7 dl dd textarea{
  border:1px solid #ccc;
  border-radius: 3px;
  padding: 18px 18px;
  resize: none;
  width:100%;
}
body.contact .wpcf7 dl dd input[type="text"]::placeholder,
body.contact .wpcf7 dl dd input[type="tel"]::placeholder,
body.contact .wpcf7 dl dd input[type="email"]::placeholder,
body.contact .wpcf7 dl dd textarea::placeholder,
body.apply .wpcf7 dl dd input[type="text"]::placeholder,
body.apply .wpcf7 dl dd input[type="tel"]::placeholder,
body.apply .wpcf7 dl dd input[type="email"]::placeholder,
body.apply .wpcf7 dl dd textarea::placeholder{
  color:#ccc;
}
body.contact .wpcf7 .wpcf7-submit,
body.apply .wpcf7 .wpcf7-submit{
  -webkit-appearance:none;
  display: block;
  margin: 0 auto;
  color: #fff;
  background: linear-gradient(271.16deg, #08365F 0.13%, #0C4F8B 42.81%, #1170C5 99.87%);
  border-radius: 4px;
  padding: 16px 120px;
  font-size: 16px;
  width: fit-content;
  border:none;
}
.wpcf7 .wpcf7-submit:hover {
    cursor: pointer;
    opacity: 0.8;
    transition: 0.3s;
}
.wpcf7 dl dt p{line-height: 1.4;}
.wpcf7-checkbox {
    display: block;
    margin-top: 30px;
}
span.wpcf7-not-valid-tip {
    font-size: 14px;
    font-weight: bold;
    display: block;
    margin-top: 8px;
}
body.apply .wpcf7 dl dd input[type="date"] {
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 13px 18px;
    resize: none;
    width: fit-content;
}
.pleiades-wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #EFEFEF;
  border-radius: 8px;
  padding:40px 50px;
}
.pleiades-wrap>img{
  width: 376px;
}
.pleiades-wrap>div{
  width: calc(100% - 416px);
}
.pleiades-wrap>div>h2>img{
  width: 212px;
}
.pleiades-wrap>div>h3{
  font-weight: bold;
  font-size: 42px;
  margin: 20px 0;
}
.pleiades-wrap>div>p.copy{
  font-weight: bold;
  font-size: 24px;
  margin: 0 0 20px;
}
.pleiades-wrap>div>p.read{
  font-size: 18px;
  line-height: 1.8;
}
.point-pleiades{
  display: flex;
  justify-content: center;
  gap: 0 90px;
  margin: 40px 0 60px;
}
.point-pleiades>li{
  width: 260px;
}
.point-pleiades>li>img{
  width: 150px;
  height: 150px;
  display: block;
  margin: 0 auto;
}
.point-pleiades>li>h4{
  text-align: center;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.4;
  color: #08365F;
  margin:20px 0;
}
.point-pleiades>li>p{
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
}
body.pleiades .btn-index{margin:0 auto;}
.img-price{
  display: block;
  margin:100px auto 0;
  width: 368px;
  height: auto;
}
.price-wrap>p{
  font-size: 24px;
  line-height: 1.8;
  text-align: center;
  margin:30px 0;
}
.price-wrap>p.price-text{
  font-weight: bold;
  font-size: 28px;
  text-align: center;
}
.price-wrap>p.price-text>span{
  font-size: 14px;
}
body.pleiades dl{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom:60px;
}
body.pleiades dl dt{
  width: 260px;
  border-bottom: 2px solid #08365F;
  font-weight: bold;
  padding: 30px 20px;
}
body.pleiades dl dd{
  width: 940px;
  border-bottom: 2px solid #E1E1E1;
  padding: 30px 20px;
}
body.equipment .table-contents{
  width: 100%;
  border-spacing: 1px;
  border-collapse: separate;
  margin-top:60px;

}
body.equipment .table-contents th{
  font-size: 16px;
  padding: 10px;
  text-align: center;
  border-bottom: 2px solid #08365f;
}
body.equipment .table-contents td{
  font-size: 16px;
  padding: 10px;
}
body.equipment .table-contents tr:nth-child(odd) td{
  background: #F3F3F3;
}
