@charset "utf-8";

/* @common
----------------------------------------------------------*/
/* @img-gallery */
p + .img-gallery {
  margin-top: 2rem;
}
.c-st-box1 p + .img-gallery {
  margin-top: 1.5rem;
}
.img-gallery:last-child {
  margin-bottom: 0;
}
.img-gallery figure {
  width: 23.6%;
  margin-right: 1.86%;
  margin-bottom: 34px;
}
.img-gallery.col-2 {
  -webkit-box-pack: justify;
  justify-content: space-between;
}
.img-gallery.col-2 figure {
  width: 48.5%;
  margin-right: 0;
}


.img-gallery a {
  display: block;
  color: var(--color-blk);
  text-decoration: none;
}
.img-gallery .img_wrap {
  overflow: hidden;
  border-radius: 10px 0 10px 0;
}
.img-gallery figcaption {
  position: relative;
  margin: .75em 0;
  padding-left: 1.2em;
  font-size: .9375rem;
  line-height: 1.5;
}
.img-gallery figcaption::before {
  content: "";
  position: absolute;
  top: .6em;
  left: .15em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-main);
}

/* @tel_box */
.tel_box {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: .5em 0;
  color: var(--color-main-txt);
  line-height: 1.5;
}
.tel_box.st-card {
  padding: 1.2em 2em;
  border-radius: 20px 0 20px 0;
  border: 2px solid var(--color-main-border);
}

.tel_box a::after {
  content: "";
  position: absolute;
  inset: 0;
}
.tel_box-label {
  margin: 0;
  font-weight: bold;
}
.tel_box-num {
  display: inline-block;
  color: var(--color-main-txt);
  font-size: 1.5em;
  text-decoration: none;
  line-height: 1.5;
  font-family: var(--font-en);
}
.tel_box-num > span {
  font-size: 1.25em;
  letter-spacing: -.05em;
}
.tel_box .staff {
  display: inline-block;
  font-size: .9375rem;
  font-weight: bold;
}


.number-list {
  font-size: 1.125rem;
  counter-reset: num;
}
.number-list li {
  position: relative;
  line-height: 1.4;
  margin: 10px 0;
  padding: .3em 0 .3em 2.8em;
}
.number-list li::before {
  content: counter(num);
  counter-increment: num;
  position: absolute;
  left: 0;
  top: 0;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.75em;
  padding-left: 1px;
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
  border-radius: 50%;
  background: var(--color-grad2);
  background: -moz-linear-gradient(0deg, var(--color-grad1) 0%, var(--color-grad2) 100%);
  background: -webkit-linear-gradient(0deg, var(--color-grad2) 0%, var(--color-grad1) 100%);
  background: linear-gradient(0deg, var(--color-grad1) 0%, var(--color-grad2) 100%);
}


/* @top
----------------------------------------------------------*/
/* @top-mv  */
.top-hero {
  position: relative;
  z-index: 2;
  background: #888;
}
.top-hero-movie {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  min-height: 560px;
  max-height: 1000px;
  overflow: hidden;
}
.top-hero-movie video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.top-hero-movie::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: rgba(0,0,0,0.05);
  background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
  opacity: .3;
}
.sp-video {
  display: none;
}
.pc-video {
  display: block;
}

.sp-kyoto_top100 {
  display: none;
}

.top-mark {
  position: absolute;
  z-index: 10;
  top: 140px;
  left: 0;
  right: 0;
  display: flex;
  gap: 8px;
}
.top-mark > div {
  padding: 6px 7px;
  background: #fff;
}


.top-hero-copy {
  width: 100%;
  max-width: 1110px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
  position: absolute;
  left: 0;
  right: 0;
  color: #fff;
  bottom: 100px;
  z-index: 10;
  font-size: 3.5714rem;
  line-height: 1.4;
  letter-spacing: .075em;
  font-feature-settings: "palt";
}
.top-hero-copy span {
  display: inline-block;
  margin-left: .65em;
  font-size: .46em;
  font-family: var(--font-en);
  letter-spacing: .075em;
}

/* @top-newsbar */
.top-newsbar-wrap {
  max-width: 1140px;
  margin: 0 auto;
  -webkit-box-align: start;
  align-items: flex-start;
}
.top-newsbar-list-ttl {
  position: relative;
  margin-right: 1.2em;
  margin-bottom: 0;
  padding: 1.35em 94px 1.35em 0;
  font-size: 1.0714rem;
}
.top-newsbar-list-ttl::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: .55em;
  right: 0;
  width: 72px;
  background: url(../img/common/diag.svg) no-repeat bottom left / 100px;
}
.top-newsbar-list-ttl::before {
  display: inline-block;
  margin-bottom: 0;
  margin-left: .15em;
  margin-right: 1.3em;
  font-weight: bold;
  vertical-align: .15em;
}
.top-newsbar-list,
.top-newsbar-list dd {
  -webkit-box-flex: 1;
  flex: 1;
}
.top-newsbar-list {
  max-width: 580px;
  padding: .8em 0 .79em;
}
.top-newsbar-list dt {
  margin-right: 1.5em;
  font-size: 1.2857rem;
  color: var(--color-main);
  font-weight: bold;
  letter-spacing: .025em;
}
.top-newsbar-list dd {
  padding: .1em 0;
  font-size: 1.0714rem;
  font-weight: bold;
}
.top-newsbar-list a {
  display: block;
  text-decoration: none;
}
.top-newsbar-list a:hover {
  color: var(--color-main);
}
.top-newsbar-more {
  align-self: flex-end;
  margin-left: 1em;
  padding-bottom: 1.1em;
}
.top-newsbar-more a {
  padding-right: 1.5em;
}
.top-newsbar-more a::before {
  width: 1em;
  height: 1em;
}

/* @top-feature */
.top-feature {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding-bottom: 16%;
  background: url(../img/top/feature-bg.jpg) no-repeat bottom center / 100%;
}
.top-feature-inner {
  position: relative;
  z-index: 2;
}

.top-feature-con {
  position: relative;
  z-index: 2;
  width: 60%;
  max-width: 680px;
  padding-top: 60px;
}
.top-feature-intro {
  margin-bottom: 2rem;
}
.top-feature-intro .ttl,
.top-tech-con .ttl {
  font-size: min(3.4286rem, 3.8vw);
  white-space: nowrap;
}
.top-feature-intro .logo {
  text-align: right;
}

.top-feature-cust {
  margin-bottom: 10px;
}
.top-feature-cust .ttl {
  font-size: 1.2857rem;
}
.top-feature-cust .btn {
  margin-top: 3.85rem;
  text-align: right;
}

.cust-list {
  margin: -3px;
}
.cust-list li {
  color: #fff;
  margin: 3px;
  padding: .405em 3.15em .405em 1em;
  font-size: 1.0714rem;
  font-weight: bold;
  background-color: var(--color-main);
  background-repeat: no-repeat;
  background-position: center right;;
}
.icon-kosaku { background-image: url(../img/common/cust_icon-kosaku.svg); }
.icon-handotai { background-image: url(../img/common/cust_icon-handotai.svg); }
.icon-ekisho { background-image: url(../img/common/cust_icon-ekisho.svg); }
.icon-food { background-image: url(../img/common/cust_icon-food.svg); }
.icon-medicine { background-image: url(../img/common/cust_icon-medicine.svg); }
.icon-solar { background-image: url(../img/common/cust_icon-solar.svg); }
.icon-denshi { background-image: url(../img/common/cust_icon-denshi.svg); }
.icon-dry { background-image: url(../img/common/cust_icon-dry.svg); }
.icon-lithium { background-image: url(../img/common/cust_icon-lithium.svg); }
.icon-amusement { background-image: url(../img/common/cust_icon-amusement.svg); }

.top-feature-img {
  -webkit-box-flex: 1;
  flex: 1;
  flex-direction: column;
  max-width: 45.59%;
  margin-left: 5%;
}
.top-feature-img-geom {
  position: absolute;
  top: 0;
  right: 12px;
  width: 880px;
  max-width: 62%;
}
.top-feature-img-geom::after {
  content: "";
  display: block;
  padding-top: 96%;
  background: url(../img/top/feature-geom.png) no-repeat top right / 100%;
}

.staff_img {
  position: relative;
}
.staff_img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: no-repeat top center / 100%;
}
.staff_img-wrap {
  overflow: hidden;
  border-radius: 50%;
  isolation: isolate;
}
.staff_img.staff1 {
  align-self: flex-end;
  width: 71.9%;
  margin-top: auto;
  margin-right: 15%;
  padding-bottom: 10px;
  align-self: flex-end;
}
.staff_img.staff1::before {
  background-image: url(../img/top/staff-deco01.svg);
}

.staff_img-group {
  margin-top: -5.15%;
}

.staff_img.staff2 {
  width: 24.85%;
  margin-right: 3.68%;
}
.staff_img.staff2::before {
  background-image: url(../img/top/staff-deco02.svg);
}

.staff_img.staff3 {
  width: 20.59%;
  margin-right: .88%;
  margin-top: 11%;
}
.staff_img.staff3::before {
  background-image: url(../img/top/staff-deco03.svg);
}

.staff_img.staff4 {
  width: 17.65%;
  margin-top: 5.59%;
}
.staff_img.staff4 .staff_img-wrap {
  width: 70.83%;
  margin-left: auto;
}
.staff_img.staff4::before {
  background-image: url(../img/top/staff-deco04.svg);
}

.staff_img.staff5 {
  width: 26.47%;
  margin-left: auto;
  margin-top: 11.32%;
  padding-top: 1.8%;
}
.staff_img.staff5 .staff_img-wrap {
  width: 88.89%;
}
.staff_img.staff5::before {
  background-image: url(../img/top/staff-deco05.svg);
}

/* @top-tech */
.top-tech {
  position: relative;
  z-index: 2;
  padding-bottom: 50px;
}
.top-tech-inner {
  position: relative;
  z-index: 2;
}
.top-tech-inner::after {
  content: "";
  position: absolute;
  top: 0;
  left: -37px;
  right: 0;
  bottom: 0;
  max-width: 720px;
  margin: 0 auto;
  transform: translateX(-340px);
  z-index: -1;
}
.top-tech-con {
  position: relative;
  z-index: 2;
  width: 60%;
  max-width: 680px;
  margin-left: auto;
  padding-top: 70px;
}

.top-tech-con .txt {
  margin-bottom: 4.5em;
}
.btn_group {
  margin: 2.5em 0 1em;
}
.btn_group .btn + .btn {
  margin-left: 18px;
}

.tech-list {
  max-width: 545px;
  flex-wrap: nowrap;
}
.tech-list li {
  margin: 5px;
  width: 18.1%;
  flex-grow: 1;
}
.tech-list.st-lower {
  transform: translate(10%, -46%);
  margin-bottom: 1em;
}

.top-tech-img {
  -webkit-box-ordinal-group: 0;
  order: -1;
  -webkit-box-flex: 1;
  flex: 1;
  max-width: 40.44%;
  margin-right: 5%;
}
.top-tech-img-geom {
  position: relative;
  z-index: -1;
  width: calc( 100% + 58px);
  margin-left: -58px;
}
.top-tech-img-geom::after {
  content: "";
  display: block;
  padding-top: 96%;
  background: url(../img/top/tech-geom.png) no-repeat top right / 100%;
}

.top-tech-img-prod {
  max-width: 500px;
  margin: 1.3rem 0;
}

.top-tech-img-prod figure {
  width: 47%;
  text-align: center;
}
.top-tech-img-prod figcaption {
  padding: .65em 0;
  font-size: .8571rem;
}

/* @top-building */
.top-building {
  padding: 60px 0 45px;
  color: #fff;
  background: var(--color-main) url(../img/common/tri-r-blu.svg) no-repeat right top;
}
.top-building-wrap {
  margin-bottom: 59px;
  align-items: flex-start;
}
.top-building-con {
  -webkit-box-flex: 1;
  flex: 1;
  margin-right: 7.35%;
  background: url(../img/top/building-illust.svg) no-repeat right bottom .75em / 29%;
}
.top-building-con .ttl {
  margin-bottom: 1.3em;
  font-size: min(2.2857rem, 2.7vw);
}

.top-building-img {
  width: 43.38%;
}

.top-building-mp-ttl {
  margin: 1.4em 0 .75em;
  text-align: center;
}
.top-building-mp-btn {
  margin-top: 0;
}
.top-building-mp-btn .c-btn2::after {
  margin-left: .3em;
}


/* @top-news */
.top-news {
  padding-top: 90px;
  padding-bottom: 90px;
}
.top-news-wrap {
  margin-bottom: 30px;
}
.top-news-head {
  position: relative;
  z-index: 2;
  width: 29.41%;
  padding-bottom: 60px;
}
.top-news-head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: -50px;
  bottom: 0;
  z-index: -1;
  background: url(../img/top/news-geom.svg) no-repeat top right;
}
.top-news-head .btn {
  margin-top: 3em;
}

.top-news-list {
  position: relative;
  z-index: 2;
  -webkit-box-flex: 1;
  flex: 1;
}
.top-news-list li {
  width: 22.5%;
  margin-right: 3.333%;
}
.top-news-list li:nth-child(4n) {
  margin-right: 0;
}
.top-news-list a {
  display: block;
  text-decoration: none;
}

/* @top-recruit */
.recruit-bnr {
  width: 86%;
  max-width: 735px;
  margin: 0 auto;
  text-align: center;
}
.recruit-bnr .bnr_copy {
  color: var(--color-sub);
  text-align: center;
  font-size: 1.7143rem;
  font-weight: bold;
  letter-spacing: .025em;
}
.recruit-bnr .bnr_copy .arrow {
  margin-left: .25em;
}
.recruit-bnr .bnr_copy .arrow,
.recruit-bnr .bnr_copy .copy2 {
  margin-right: 1em;
}
.recruit-bnr .bnr_copy span {
  display: inline-block;
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 1.8s ease-out, transform 1.8s ease-out;
}
.recruit-bnr .bnr_copy .arrow {
  transform: scale(1);
}
.recruit-bnr .bnr_copy.on-effect span {
  opacity: 1;
  transform: scale(1);
}
.recruit-bnr .bnr_copy span:nth-child(2) {
  transition-delay: .8s;
}
.recruit-bnr .bnr_copy span:nth-child(3) {
  transition-delay: 1.6s;
}
.recruit-bnr .bnr_copy span:nth-child(4) {
  transition-delay: 2.4s;
}


/* @top-insta */
.top-insta {
  padding: 70px 0;
  text-align: center;
}
.top-insta-ttl {
  margin-bottom: 1.5em;
}
.insta-list {
  max-width: 1040px;
  margin: 1em auto 2.1429rem;
}
.insta-list li {
  width: 19.23%;
}

/* @top-tiktok */
.top-tiktok {
  margin-top: 55px;
  padding: 5px;
  background: #fff;
}
.top-tt-ttl {
  margin-top: 3em;
}
.top-tt-btn {
  margin-top: 1em;
}

/* @technology
----------------------------------------------------------*/
/* @services */
.biz_outline-body {
  margin-bottom: 70px;
}
.biz_outline-con {
  width: 40.91%;
}
.biz_outline-con .ttl {
  margin-top: 1.65em;
}
.biz_outline-con .txt {
  text-align: justify;
}

.biz_outline-img {
  width: 58%;
  padding-top: 4rem;
}

.c-point-list {
  margin: .85em 0;
  font-size: 1.0714rem;
  line-height: 1.867;
}
.c-point-list li {
  position: relative;
  margin: .45em 0;
  padding-left: 1.5em;
}
.c-point-list li::before {
  content: "";
  position: absolute;
  top: .15em;
  left: -.4em;
  width: 1.55em;
  height: 1.55em;
  background: url(../img/common/icon-paral-blu.svg) no-repeat center / 100%
}
.c-item-list {
  margin: -6px -4px;
  font-size: 1.0714rem;
  line-height: 1.4;
  -webkit-box-align: start;
  align-items: flex-start;
}
.c-item-list li {
  display: inline-block;
  margin: 6px 4px;
  padding: .34em .81em .4em;
  border: 1px solid var(--color-main);
}

.example-list {
  -webkit-box-align: start;
  align-items: flex-start;
  margin: -6px -4px;
}
.example-list ul {
  display: contents;
}
.example-list .etc {
  margin: 0 0 0 1em;
  font-size: 1.0714rem;
  align-self: flex-end;
}

.biz_outline-patrs-ttl {
  position: relative;
  margin-bottom: .6em;
  color: var(--color-main);
  text-align: center;
  font-size: 1.6429rem;
  line-height: 1.4;
}
.biz_outline-patrs-lead {
  margin: 0 0 2.5em;
  text-align: center;
}

.biz_outline-patrs-list {
  margin-bottom: 2.5rem;
}
.biz_outline-patrs-list li {
  width: 22.73%;
  text-align: center;
}
.biz_outline-patrs-list .ttl {
  position: relative;
  z-index: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 11em;
  margin: 0 auto 1.2em;
  padding: .63em .5em;
  color: #fff;
  font-size: 1.0714rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  background: var(--color-main) url(../img/technology/services/biz_outline-ttl_bg.svg) no-repeat right top;
}
.biz_outline-patrs-list .ttl::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width:0;
  height:0;
  margin: 0 auto;
  border-style:solid;
  border-width: 20px 7px 0 7px;
  border-color: var(--color-main) transparent transparent transparent;
}
.biz_outline-patrs-list figcaption {
  margin-top: .65em;
  color: var(--color-main);
  font-size: 1.1429rem;
  line-height: 1.5;
}

.process-ttl {
  margin-bottom: 2em;
}
.process-box + .process-box {
  margin-top: 75px;
}
.process-head {
  width: 220px;
  margin-right: 3.15rem;
  text-align: center;
}
.process-head-ttl {
  margin-bottom: 1.24em;
  color: var(--color-main);
  font-size: 2.5rem;
  font-weight: bold;
  white-space: nowrap;
  line-height: 1.2;
  letter-spacing: .05em;
}
.process-head-ttl.tx_num4 {
  letter-spacing: .1em;
}
.process-head-ttl > span {
  position: relative;
  z-index: 2;
  overflow: hidden;
  display: block;
  margin-top: .9em;
  padding: .49em .5em;
  color: #fff;
  text-align: center;
  font-size: .486em;
  font-weight: normal;
  letter-spacing: 0;
  background: var(--color-main);
}
.process-head-ttl > span::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  width: 5.882em;
  padding-top: 5.882em;
  transform: translate(46%, 32%);
  background: url(../img/common/diag2.svg) no-repeat right bottom / 100%;
}

.process-body {
  padding-top: .65rem;
  -webkit-box-flex: 1;
  flex: 1;
}
.process-body-con {
  margin-bottom: 1.1rem;
}
.process-body-con .con-box {
  -webkit-box-flex: 1;
  flex: 1;
}
.process-body-con .con-ttl {
  margin-top: -.3em;
  margin-bottom: .75em;
  color: var(--color-main);
  font-size: 1.7143rem;
  line-height: 1.458;
}
.process-body-con .con-txt {
  letter-spacing: 0;
  text-align: justify;
}
.process-body-con .img-box {
  width: 39.29%;
  margin-left: 2.5rem;
  max-width: 330px;
}

.process-body-pickup .ttl_en {
  position: relative;
  margin-bottom: .5em;
  padding-top: .8em;
  padding-left: 2em;
}
.process-body-pickup .ttl_en::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 2.4em;
  background: url(../img/common/icon-pickup.svg) no-repeat center / 100%
}

.process-body-pickup .ttl {
  margin-bottom: .25em;
  color: var(--color-main);
  font-size: 1.6429rem;
  font-weight: bold;
  line-height: 1.4;
}


.process-body-pick_img figure {
  width: 23.81%;
  text-align: center;
}
.process-body-pick_img figcaption {
  margin-top: .55em;
  line-height: 1.571;
  letter-spacing: 0;
}

/* @strong  ---------*/
/* maverick */
.maverick-con {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 50.73%;
}
.maverick-con .ttl {
  white-space: nowrap;
  margin-bottom: .25em;
}
.maverick-con .ttl em {
  font-style: normal;
}
.maverick-con .txt {
  -webkit-box-flex: 1;
  flex: 1;
  text-align: justify;
}
.maverick-img {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: end;
  justify-content: flex-end;
  width: 44.55%;
  text-align: center;
}
.maverick-img figcaption {
  margin-top: 1.5em;
  font-size: 1.5714rem;
  line-height: 1.4;
  font-weight: bold;

}
.maverick-con .img_group {
  margin-top: .6rem;
}
.maverick-con .img_group figure {
  width: 31.54%;
}

/* strengths */
.strengths-ttl {
  margin-bottom: .8em;
}

/* strong-box */
.strong-box {
  margin-bottom: 10px;
}
.strong-ttl {
  margin: 0 auto 1.85rem;
  text-align: center;
}
.strong-point {
  margin: 1rem 0 2.2rem;
  font-size: 1.1429rem;
  color: var(--color-main);
}
.strong-point .row {
  -webkit-box-align: start;
  align-items: flex-start;
  margin-bottom: 1.25em;
  line-height: 1.6;
}
.strong-point dt {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  width: 13.125em;
  margin-right: 1.25em;
  padding: .55em .5em;
  line-height: 1.3;
  text-align: center;
  border: 1px solid var(--color-main);
  background: #fff;
}
.strong-point dd {
  -webkit-box-flex: 1;
  flex: 1;
  padding-top: .25em;
}
.strong-point .st-strong dt {
  color: #fff;
  background: var(--color-main);
}
.strong-point .st-strong dd {
  margin-top: -.1em;
  padding-top: 0;
  font-size: 1.7143rem;
  font-weight: bold;
  line-height: 1.458;
}


.strong-body {
  margin-bottom: 50px;
}
.strong-body .txt-box {
  width: 36%;
  text-align: justify;
}
.strong-body .txt-box p:first-child {
  margin-top: -.5em;
}

.strong-body .img-box {
  width: 61.82%;
  text-align: center;
}
.strong-body .img-box figure {
  width: 48.53%;
}
.strong-body .img-box figcaption {
  margin-top: 0.75em;
  line-height: 1.4;
}

.strong-cust-ttl {
  margin-bottom: 1.7em;
  color: #000;
  text-align: center;
}
.strong-cust-item {
  width: 23%;
  margin-bottom: 2.665%;
  margin-right: 2.665%;
  letter-spacing: 0;
}
.strong-cust-item:nth-child(4n) {
  margin-right: 0;
}
.strong-cust-item dt {
  margin-bottom: 1em;
  padding: .65em 1em;
  color: #fff;
  font-size: 1.1429rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  background-color: var(--color-main);
  background-repeat: no-repeat;
  background-position: center right;
}
.strong-cust-item dd {
  text-align: justify;
}


/* @workflow --------- */
.mainflow-box {
  margin: 3.8rem 0 1.75rem;
}
.mainflow-list {
  display: contents;
}
.mainflow-list-item {
  position: relative;
  width: 16%;
  margin-bottom: 5%;
  margin-right: 5%;
  padding-top: 1.4em;
  background: #edecf4;
}
.mainflow-list-item:nth-child(5n),
.mainflow-list-item:last-child {
  margin-right: 0;
}
.mainflow-list-item:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 8%;
  right: 0;
  width: 31.25%;
  transform: translateX(100%);
  background: var(--icon-arrow-lite) no-repeat center / 80%;
}
.mainflow-list-item:nth-child(5n):after,
.mainflow-list-item:last-child:after {
  display: none;
}

.mainflow-list-item .ttl {
  margin-bottom: .9em;
  padding: 0 .5rem;
  color: var(--color-main);
  font-size: 1.4286rem;
  text-align: center;
}
.mainflow-list-item .ttl::before {
  font-size: .7em;
}
.mainflow-list-item .list {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  margin-bottom: 1.8em;
  padding: 0 .5rem;
}
.mainflow-list-item li a {
  display: block;
  min-width: 50px;
  height: 12em;
  padding: 1em .438em 0;
  font-size: 1.1429rem;
  font-weight: bold;
  line-height: 1.5;
  color: #000;
  text-decoration: none;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  text-orientation: upright;
  border: 6px solid #a6d2ef;
  filter: none;
  will-change: filter;
  background: #d1e2f2;
}
.mainflow-list-item li a:hover {
  filter: saturate(1.2) contrast(1.1);
}
.mainflow-list-item li + li {
  margin-left: 1rem;
}
.mainflow-product {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  justify-content: space-between;
  width: 18.5%;
  margin-bottom: 5%;
  margin-left: 2.5%;
}
.mainflow-product figure {
  max-width: 146px;
  width: 80%;
}

/* @workflow-sec */
.workflow-head {
  margin-bottom: 55px;
  text-align: center;
}

.workflow-box:not(:last-child) {
  margin-bottom: 80px;
}
.workflow-main {
  display: flex;
  flex-direction: column;
  width: 39%;
  padding-bottom: 3.5rem;
}
.workflow-main-ttl {
  position: relative;
  z-index: 2;
  overflow: hidden;
  color: #fff;
  margin-bottom: 1.6em;
  padding: .55em 1em .55em 4em;
  font-size: 1.4286rem;
  font-weight: bold;
  line-height: 1.4;
  background: var(--color-main);
}
.workflow-main-ttl::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2.35em;
  background: #a6d2ef;
}
.workflow-main-ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  width: 9.85em;
  height: 9.85em;
  transform: translate(46%, 32%);
  background: url(../img/common/diag2.svg) no-repeat right bottom / 100%;
}

.workflow-main-txt {
  flex: 1;
  text-align: justify;
}
.workflow-main-txt p {
  margin-top: 0;
}

.workflow-voice {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 57%;
  padding-top: 1.97em;
}
.workflow-voice-ttl {
  margin-bottom: 2.2em;
}
.workflow-voice-list {
  flex: 1;
}
.workflow-voice-item {
  display: flex;
  flex-direction: column;
  width: 47.62%;
}
.workflow-voice .spch-box {
  flex: 1;
  position: relative;
  padding: 1.7em 1em 1.7em 1.2em;
  margin: 0;
  text-align: justify;
  letter-spacing: 0;
  border: 2px solid var(--color-main);
  background: #fff;
}
.workflow-voice .spch-box:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  transform: skew(-25deg) translateX(.8em);
  width: 1.8571em;
  height: 2.3571em;
  margin: 0 auto;
  background-color: #fff;
  border-right: 3px solid var(--color-main);
}

.workflow-voice .spch-illust {
  position: relative;
  z-index: 2;
  padding-top: 1.7em;
  text-align: center;
}

.workflow-voice figcaption {
  min-height: 3rem;
  margin-top: .5em;
  line-height: 1.5;
  text-align: center;
}

.workflow-info {
  width: 100%;
  margin: .4em 0 0;
}
.workflow-info dt {
  width: 4.5em;
  margin-right: 1em;
  font-weight: bold;
}
.workflow-info dd {
  flex: 1;
}
.workflow-info-link li:not(:last-child) {
  margin-right: 2em;
}

.mainflow-list-item .clr-pnk {
  border-color: #e4d2ef;
  background-color: #e9e2f2;
}
.workflow-main-ttl.clr-pnk::before {
  background-color: #e4d2ef;
}

.mainflow-list-item .clr-trq {
  border-color: #99d8e0;
  background-color: #cbe4ec;
}
.workflow-main-ttl.clr-trq::before {
  background-color: #99d8e0;
}

.mainflow-list-item .clr-blu {
  border-color: #99bee8;
  background-color: #cbdaef;
}
.workflow-main-ttl.clr-blu::before {
  background-color: #99bee8;
}

.mainflow-list-item .clr-blu2 {
  border-color: #95c3f7;
  background-color: #cadcf5;
}
.workflow-main-ttl.clr-blu2::before  {
  background-color: #95c3f7;
}

.mainflow-list-item .clr-ppl {
  border-color: #bac3f7;
  background-color: #d9dcf5;
}
.workflow-main-ttl.clr-ppl::before {
  background-color: #bac3f7;
}

.mainflow-list-item .clr-grn {
  border-color: #b6e2c8;
  background-color: #d7e8e2;
}
.workflow-main-ttl.clr-grn::before {
  background-color: #b6e2c8;
}

/* @equipment */
.equipment-sec {
  padding-top: 120px;
}
.equipment-list {
  margin-top: 12px;
}
.equipment-list li {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 46.36%;
  margin-bottom: 62px;
  text-align: center;
}
.equipment-list.col-3 li {
  width: 29.09%;
  margin-right: 6.36%;
}
.equipment-list.col-3 li:nth-child(3n),
.equipment-list.col-3 li:last-child {
  margin-right: 0;
}
.equipment-list figcaption {
  margin: .6em 0 .75em;
  color: var(--color-main);
  font-size: 1.5714rem;
  font-weight: bold;
  line-height: 1.364;
}
.equipment-list figcaption span {
  display: block;
  margin-top: .25em;
  font-size: .818em;
}
.equipment-list .btn {
  margin-top: auto;
}
.btn-matterport {
  margin-bottom: 1rem;
}

.equipment-detail{
	margin: 70px auto 20px;
}
.equipment-detail h2 {
	font-size: 2rem;
	color: var(--color-main);
}
.equipment-detail .maker {
	font-size: 1.5rem;
	color: var(--color-main);
	margin: -5px 0 40px;
}
.equipment-detail .machine_img img {
	margin-bottom: 20px;

}
.equipment-detail .machine_img {
	width: 50%;
	margin: 0 30px 10px 0;
}
.equipment-detail .machine_txt {
	width: 46%;
}
.equipment-detail .table_ti{
	font-size: 1.3rem;
	color: var(--color-main);
	margin: 30px 0 10px 0;
}
.equipment-detail .machine_info{
	text-align: justify;
}

.equipment-detail .table_spec tr > * {
    border: 1px solid var(--color-main);
	padding: 5px;
}

.equipment-detail .table_spec{
	width: 100%;
}
.equipment-detail .machine_movie{
	width: 90%;
	margin: 30px auto;
}
.equipment-detail .machine_movie .yout{
	max-width: 560px;
	margin: 30px auto;
}
.equipment-detail .machine_movie{
	justify-content: space-between;
}

.equipment-detail .btn {
	margin-top: 20px;
}
#equipment iframe.youtube-16-9 {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}
#equipment iframe.youtube-16-9 {
width: 100%;
height: auto;
aspect-ratio: >16 / 9;
max-width: 560px;
display: block;
margin: auto;
}


/* @works
----------------------------------------------------------*/





/* single-content */


/* @company
----------------------------------------------------------*/
/* @message ------- */
.message-wrap {
  margin-bottom: 70px;
  -webkit-box-align: start;
  align-items: flex-start;
}
.message-con {
  position: relative;
  z-index: 2;
  width: 35.55%;
  padding-top: 30px;
}
.message-con .ttl {
  margin-bottom: 0;
  width: 12.913em;
  padding: 1.2em 1em 1.1em 0;
  white-space: nowrap;
  background: #fff;
}
.message-con .txt {
  margin: 0;
}

.message-img {
  position: relative;
  width: 58.18%;
}
.message-img figcaption {
  overflow: hidden;
  position: absolute;
  bottom: 26px;
  right: 0;
  padding: .8em 2em .85em;
  color: var(--color-main);
  text-align: right;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: .05em;
  background: #fff;
}
.message-img figcaption::before {
  content: "";
  position: absolute;
  top: -62%;
  left: -16%;
  width: 50%;
  padding-top: 100%;
  background: url(../img/common/diag.svg) no-repeat 0 0 / 100%;
}
.message-img .post {
  display: block;
  font-style: normal;
  font-size: .571em;
}
.message-img .name_en {
  font-size: .643em;
  font-weight: 600;
  letter-spacing: .075em;
}
.message-img .name {
  margin-left: 1em;
}

.message-imglist .img1 {
  width: 51.18%;
  margin-top: 2.8%;
  margin-right: 7.91%;
}
.message-imglist .img2 {
  width: 35.09%;
}
.message-imglist figcaption {
  margin-top: .85em;
  font-weight: bold;
  text-align: center;
}

/* @philosophy */
.philosophy-list,
.biz_policy-con {
  color: var(--color-main);
  font-size: 1.2857rem;
  font-weight: bold;
}

.philosophy-list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1rem auto;
  line-height: 1.6;
}
.philosophy-list li + li {
  margin-top: 2.5em;
}

/* @biz_policy */
.biz_policy-ttl {
  max-width: 470px;
  margin: 0 auto 2em;
  padding: .5em;
  color: var(--color-main);
  font-size: 1.7143rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  border-top: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
}
.biz_policy-con {
  max-width: 940px;
  margin: 0 auto;
}
.biz_policy-list li + li {
  margin-top: .5em;
}

/* @logo */
.logo-sec {
  margin-bottom: 160px;
}
.logo-detail {
  max-width: 950px;
  margin: 80px auto 114px;
}
.logo-detail .logomark {
  max-width: 14.53%;
  margin-right: 12%;
}
.logo-detail .txt {
  -webkit-box-flex: 1;
  flex: 1;
  margin: .4em 0;
  text-align: justify;
}

.logo-variation figure {
  max-width: 46%;
}
.logo-variation figure + figure {
  margin-left: 8%;
}

/* @profile --------- */
.bg_logo {
  position: relative;
  z-index: -1;
  width: 100vw;
  margin: -2.8% calc(50% - 50vw) 0;
  padding-top: 14%;
  z-index: -1;
  opacity: .1;
  background: url(../img/common/logo.svg) no-repeat left top / auto 100%;
}
.bg_logo.st-wht {
  opacity: .5;
  background-image: url(../img/common/logo-wht.svg);
}

/* overview */
.overview-sec {
  position: relative;
  z-index: 2;
  padding-top: 130px;
}
.overview-info-head .logo {
  margin: 0 0 2.2em;
}
.overview-sec .bg_logo {
  margin-bottom: 2rem;
}
.overview-img,
.overview-movie {
  width: 75.45%;
  margin: 0 auto;
}

.overview-movie {
  margin-top: 55px;
  text-align: center;
}
.overview-movie-ttl {
  margin-bottom: 1.25em;
}
.movie_wrap {
  position: relative;
  padding-top: 62.5%;
}
.movie_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



/* access */
.access-sec {
  margin-bottom: 80px;
}
.access-info {
  margin-bottom: 60px;
}
.access-info-con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 36.36%;
}
.access-info-con-address .addr {
  margin: -.5em 0 0;
  color: var(--color-main);
  font-size: 1.2857rem;
  font-weight: bold;
  line-height: 1.4;
}
.access-info-con-address .gmap {
  margin-bottom: 0;
}
.access-info-con-parking  {
  margin-top: auto;
}

.access-info-map {
  width: 58.09%;
}

.access-detail {
  margin-left: 1.714rem;
}
.access-list {
  margin: 1rem 0;
  line-height: 1.7;
}
.access-list .row  {
  margin-bottom: .75em ;
}
.access-list dt {
  width: 9.65rem;
  margin-right: .75em;
  color: var(--color-main);
  font-weight: bold;
}
.access-list dd {
  -webkit-box-flex: 1;
  flex: 1;
}
.access-list dd > span {
  font-weight: bold;
  color: var(--color-main);
}
.access-notes {
  margin-top: 1.6em;
}

/* calendar */
.calendar-wrap {
  position: relative;
}
.calendar-hours span {
  color: var(--color-main);
  font-weight: bold;
}

/* history-sec */
.history-sec {
  position: relative;
  z-index: 2;
  padding-top: 100px;
}
.history-list dt span {
  display: inline-block;
}
.history-list .y {
  width: 3.75em;
  margin-right: .5em;
}
.history-list .m {
  width: 2.5em;
  text-align: right;
}

/* @project ------------*/
.sdgs-sec {
  -webkit-box-align: end;
  align-items: flex-end;
}
.sdgs-con  {
  position: relative;
  z-index: 2;
  width: 41.82%;
}
.sdgs-con-ttl {
  white-space: nowrap;
}
.sdgs-img {
  width: 54.55%;
  max-width: 680px;
}

.sdgs-achs-ttl {
  margin-top: 2.3em;
  margin-bottom: 1.5em;
  padding: .5em 0 .7em;
  color: var(--color-main);
  text-align: center;
  font-size: 1.4286rem;
  font-weight: bold;
  line-height: 1.5;
  border-top: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
}
.sdgs-achs-ttl .date {
  margin: .4em 0 0;
  font-size: .6em;
  line-height: 1;
}
.sdgs-achs-logo {
  margin: 0 0 .95em;
  text-align: center;
}
.sdgs-achs-list li {
  width: 15.22%;
  margin-top: 1.736%;
}
.sdgs-achs-list li.st-disable {
  opacity: .15;
}

.projects-ttl {
  margin-bottom: 1.05em;
}
.projects-sdgs_icon {
  margin-bottom: 60px;
}
.projects-sdgs_icon li {
  max-width: 15.5%;
}
.projects-sdgs_icon li + li {
  margin-left: 1.4%;
}

.projects-list-item {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 30.91%;
  margin-bottom: 50px;
  margin-right: 3.63%;
}
.projects-list-item:nth-child(3n) {
  margin-right: 0;
}
.projects-list-item .ttl {
  margin-bottom: 1.5em;
  padding: .83em 0;
  color: var(--color-main);
  text-align: center;
  font-size: 1.5714rem;
  font-weight: bold;
  line-height: 1.4;
  border-top: 1px solid var(--color-main);
  border-bottom: 1px solid var(--color-main);
}
.projects-list-item .txt {
  margin: 1.9em 0 1.7em;
  text-align: justify;
  -webkit-box-flex: 1;
  flex: 1;
  letter-spacing: 0;
}
.projects-list-item .img {
  text-align: center;
}
.projects-list-item figcaption {
  margin: .5em 0;
  text-align: center;
  line-height: 1.571;
}
.projects-list-item .link {
  min-height: 2rem;
  text-align: center;
  margin: .8em 0 .5em;
}


/* @gallery */
/* @gal_concept */
.gal_concept-box {
  -webkit-box-align: end;
  align-items: flex-end;
  margin-bottom: 30px;
}
.gal_concept-con {
  width: 65.91%;
  max-width: 725px;
  margin-right: 3.5714rem;
}
.gal_concept-con .ttl {
  letter-spacing: .05em;
  white-space: nowrap;
}
.gal_concept-con .txt {
  position: relative;
  margin-bottom: 0;
  font-size: 1.1429rem;
  font-weight: bold;
}
.gal_concept-con .txt::before {
  content: "";
  position: absolute;
  top: -35%;
  right: 3.17%;
  width: 27.31%;
  max-width: 198px;
  aspect-ratio: 1/.57;
  background: url(../img/company/gallery/concept-illust.svg) no-repeat center / 100%;
}
.gal_concept-img {
  width: 29.09%;
  max-width: 460px;
  -webkit-box-flex: 1;
  flex: 1;
  padding-bottom: .5em;
}

.gal_concept-img_group {
  width: 87.73%;
  margin: 0 auto 50px;
  flex-wrap: nowrap;
  -webkit-box-align: start;
  align-items: flex-start;
}
.gal_concept-img_group .img1 {
  width: 42.9%;
  padding-top: 2.73%;
  -webkit-box-flex: 1;
  flex: 1;
}
.gal_concept-img_group .img2 {
  width: 33.16%;
}
.gal_concept-img_group .img3 {
  width: 23.8%;
  align-self: flex-end;
  padding-bottom: 1.87%;
}

.building-img {
  max-width: 775px;
  margin: 1rem auto;
}

.gal_feature-sec {
  margin-bottom: 50px;
}
.gal_feature-ttl {
  position: relative;
  z-index: 2;
  overflow: hidden;
  max-width: 520px;
  margin: 0 auto 3em;
  padding: 1.1em 4em;
  text-align: center;
  color: #fff;
  font-size: 1.4286rem;
  font-weight: bold;
  line-height: 1.4;
  background: var(--color-main);
}
.gal_feature-ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3.25em;
  z-index: 3;
  background: no-repeat center / cover;
}
.gal_feature-ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  width: 9.9em;
  height: 9.9em;
  transform: translate(35%, 32%);
  background: url(../img/common/diag2.svg) no-repeat right bottom / 100%;
}
.gal_feature-ttl.st-office::before {
  background-image: url(../img/company/gallery/office-ttl_img.jpg);
}
.gal_feature-ttl.st-factory::before {
  background-image: url(../img/company/gallery/factory-ttl_img.jpg);
}

.gal_feature-list li {
  -webkit-box-align: start;
  align-items: flex-start;
  width: 48.18%;
  margin-bottom: 3rem;
}
.gal_feature-list .ttl {
  position: relative;
  width: 100%;
  margin-bottom: 1.4em;
  padding: 0 0 .4em 1.5em;
  color: var(--color-main);
  font-size: 1.3571rem;
  font-weight: bold;
  line-height: 1.4;
  border-bottom: 1px solid var(--color-main);
}
.gal_feature-list .ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1.1em;
  background: url(../img/common/icon-kira.svg) no-repeat center top / 100%;
}
.gal_feature-list .txt {
  -webkit-box-flex: 1;
  flex: 1;
  text-align: justify;
  margin: -.5em 0 0;
  letter-spacing: 0;
}
.gal_feature-list .img {
  width: 26.79%;
  margin-left: 1.65em;
}

.gallery-ttl  {
  margin-bottom: 1.85em;
}
.gallery-list > li {
  margin-bottom: 50px;
}
.gallery-list > li,
.gallery-list > li.col-2 .img {
  width: 50%;
}
.gallery-list > li.col-2 {
  width: 100%;
}
.gallery-list figcaption {
  width: 100%;
  margin-top: 1.1em;
  color: var(--color-main);
  font-size: 1.4286rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
.bnr-matterport {
  margin-top: 22px;
  margin-bottom: 60px;
}

/* @activity
----------------------------------------------------------*/
.activity-intro-wrap {
  position: relative;
}
.activity-intro .img-clip {
  clip-path: polygon(40% 0, 100% 40%, 60% 100%, 0 60%);
}

.activity-intro-img,
.activity-point {
  width: 45.09%;
}
.activity-intro-con .con-wrap,
.activity-intro-img_group {
  width: 51.55%;
}

.activity-intro-con {
  width: 100%;
}
.activity-intro-con .con-wrap {
  margin-left: auto;
}
.activity-intro-con .txt {
  max-width: 505px;
  text-align: justify;
}

.activity-point {
  align-self: flex-end;
  margin-bottom: 3.3%;
}
.activity-point .ttl {
  margin-bottom: 1.8em;
  color: var(--color-main);
  font-size: 1.7143rem;
  font-weight: bold;
  line-height: 1.458;
  white-space: nowrap;
}
.activity-point-list {
  font-size: 1.2857rem;
  font-weight: bold;
  line-height: 1.458;
}
.activity-point-list li {
  position: relative;
  margin-bottom: .4em;
  padding: .15em 0 .3em 1.9em;
}
.activity-point-list li > span {
  display: inline-block;
  padding-bottom: .25em;
  border-bottom: 2px dashed var(--color-sub);
}
.activity-point-list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1.222em;
  background: url(../img/common/icon-thunder.svg) no-repeat center top / 100%;
}
.activity-point-list em {
  font-style: normal;
}

.activity-intro-img {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 1.1429rem;
}
.activity-intro-img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: url(../img/activity/intro-deco-main.svg) no-repeat center / 100%;
}

.activity-intro-img_group {
  position: relative;
  -webkit-box-align: start;
  align-items: flex-start;
  align-self: flex-end;
}
.activity-intro-img_group .img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: no-repeat center / 100%;
}
.activity-intro-img_group .img1 {
  position: absolute;
  top: 2%;
  left: 0;
  width: 28.34%;
  padding-top: 6%;
}
.activity-intro-img_group .img1::before {
  background-image: url(../img/activity/intro-deco-img01.svg);
}

.activity-intro-img_group .img2 {
  position: relative;
  width: 67.2%;
  margin-left: auto;
}
.activity-intro-img_group .img2::before {
  background-image: url(../img/activity/intro-deco-img02.svg);
}

.activity-intro-img_group .img3 {
  position: absolute;
  left: -6%;
  bottom: 9.7%;
  width: 51.78%;
  padding-bottom: 4.94%;
}
.activity-intro-img_group .img3::before {
  background-image: url(../img/activity/intro-deco-img03.svg);
}

.activity-intro-img_group .img4 {
  position: relative;
  width: 51.85%;
  margin-top: .05%;
  margin-left: auto;
  margin-right: 9.8%;
}
.activity-intro-img_group .img4 .img-clip {
  width: 76.87%;
  margin-left: auto;
}
.activity-intro-img_group .img4::before {
  background-image: url(../img/activity/intro-deco-img04.svg);
}

.activity-box-head {
  text-align: center;
}
.activity-box-head::before {
  content: "";
  display: block;
  max-width: 200px;
  aspect-ratio: 1/.19;
  margin: 0 auto;
  background: url(../img/activity/illust-kira.svg) no-repeat center / 100%;
}
.activity-box-head .copy {
  margin: .85em 0 .75em;
  font-size: 1.4286rem;
  font-weight: bold;
  line-height: 1.4;
}
.activity-box-head .ttl {
  position: relative;
  z-index: 2;
  overflow: hidden;
  max-width: 520px;
  margin: 0 auto 2.4em;
  padding: .78em 1em;
  color: #fff;
  font-size: 1.7143rem;
  font-weight: bold;
  line-height: 1.4;
  background: var(--color-main);
}
.activity-box-head .ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  width: 9.9em;
  height: 9.9em;
  transform: translate(42%, 32%);
  background: url(../img/common/diag2.svg) no-repeat right bottom / 100%;
}

.activity-box-body {
  -webkit-box-align: start;
  align-items: flex-start;
}
.activity-box-body-con {
  width: 44.09%;
}
.activity-box:nth-child(2n) .activity-box-body-con {
  -webkit-box-ordinal-group: 3;
  order: 2;
}
.activity-box-body .con-ttl {
  margin: -.25em 0 .4em;
  color: var(--color-main);
  font-size: 2.8571rem;
  font-size: min(2.8571rem, 3.1vw);
  line-height: 1.375;
  letter-spacing: .05em;
}
.activity-box-body .con-txt {
  text-align: justify;
  line-height: 2.143;
  letter-spacing: 0;
}
.activity-box-body .con-better {
  -webkit-box-align: start;
  align-items: flex-start;
  margin-top: 1.3em;
}
.activity-box-body .con-better-ttl {
  margin-right: 1.7143rem;
  padding: .95em 1.46em;
  color: #fff;
  font-weight: bold;
  line-height: 1.286;
  background: var(--color-sub) url(../img/activity/better-arrow.svg) no-repeat top 3px right 5px / 44.88%;
}
.activity-box-body .con-better-txt {
  -webkit-box-flex: 1;
  flex: 1;
  margin: 0;
  padding: .35em 0;
  font-size: 1.1429rem;
  font-weight: bold;
  line-height: 1.5;
}

.activity-box-body-img {
  position: relative;
  width: 51.55%;
}
.activity-box-body-img::before {
  content: "";
  display: block;
  padding-top: 65.26%;
}
/* leader */
.activity-leader-img .img1 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 31.22%;
  margin-bottom: 6%;
}
.activity-leader-img .img2 {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 56.08%;
}
.activity-leader-img .img3 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 41.27%;
  margin-right: 23.81%;
}
/* wa */
.activity-wa-img .img1 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 41.27%;
  margin-top: 3.17%;
}
.activity-wa-img .img2 {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  width: 32.98%;
  margin-right: 22.57%;
}
.activity-wa-img .img3 {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 29.98%;
  margin-bottom: 15.87%;
  margin-left: 16.75%;
}
.activity-wa-img .img4 {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 4;
  width: 53.3%;
  margin-bottom: 4.94%;
}
.activity-wa-img .img5 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 29.45%;
  margin-left: 4.23%;
}
/* info */
.activity-info-img .img1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 44.95%;
}
.activity-info-img .img2 {
  position: absolute;
  top: 0;
  right: 0;
  width: 33.51%;
  margin-top: 3.88%;
}
.activity-info-img .img3 {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 56%;
  margin-bottom: .5%;
  margin-left: 12.1%;
}

.activity-box-btn {
  margin-top: 40px;
}
.activity-box-btn .btn + .btn {
  margin-left: 1.28rem;
}

/* @contact
----------------------------------------------------------*/
/* @contact_tel */
.contact_tel-wrap {
  max-width: 930px;
  margin: 0 auto;
}
.contact_tel-con {
  width: 410px;
  max-width: 48%;
  padding-top: 1.2em;
}
.contact_tel-calendar {
  width: 360px;
  max-width: 48%;
}
.contact_tel-calendar .ttl {
  margin-bottom: .75em;
  font-size: 1.2857rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
.contact_tel-con .txt {
  margin-bottom: 2.2em;
}
.contact_tel-con .tel,
.contact_tel-con .hours {
  color: var(--color-main);
  font-size: 1.5714rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .075em;
}
.contact_tel-con .tel {
  margin: 0 0 .5em;
}
.contact_tel-con .hours {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: .15em 1.61em;
  font-size: 1.2857rem;
  border: 1px solid var(--color-main);
}

/* @contact_form */
body.form-confirm .confirm-hidden,
[data-screen="confirm"] .smf-form.smf-form--simple-table  .confirm-hidden,
body.form-complete .complete-hidden {
  display: none;
}

.contact_form-sec .secttl {
  margin-bottom: .85em;
}
.smf-form--simple-table .smf-item.form-item-lead {
  display: block;
  margin-bottom: 2em;
  text-align: center;
}
.smf-form--simple-table .smf-item.form-item-lead .smf-item__col--controls {
  border-bottom: none;
}

/* form  */
.smf-form.smf-form--simple-table .smf-item.smf-item--divider {
  padding: 0;
  border-bottom: none;
}
.smf-form.smf-form--simple-table .smf-item:not(.smf-item--divider) {
  position: relative;
  padding: 0;
  font-size: 1.1429rem
}
.smf-form.smf-form--simple-table .smf-item:not(.smf-item--divider)::before,
.form-date-row::after,
.smf-action::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  margin: auto 0;
  background-image: linear-gradient(to right, #666, #666 .108rem, transparent .108rem, transparent 4px);
  background-size: 4px 1px;
}
#contact .smf-form.smf-form--simple-table .smf-item:not(.smf-item--divider)::before,
.smf-action::before  {
  display: none;
}

.smf-form.smf-form--simple-table .smf-item__col--label {
  flex: 0 0 20em;
  max-width: 20em;
  padding: 1.4em 1.1em;
  border-bottom: 2px solid var(--color-main);
}
.smf-form .smf-item__label {
  display: inline-block;
  font-weight: bold;
  color: var(--color-main);
}
.smf-form .smf-item__description {
  display: inline-block;
  margin: .4em 0 0 1.7em;
  color: var(--color-red);
  line-height: 1;
  font-weight: bold;
}
.smf-form--simple-table .smf-item__col--controls {
  padding: 1.1em 2em;
  border-bottom: 2px solid var(--color-gry);
}
[data-screen="confirm"] .smf-form.smf-form--simple-table .smf-item__col--controls {
  padding-top: 1.4em;
}

.smf-form--simple-table .smf-item.form-item-lead + .smf-item .smf-item__col--label {
  border-top: 2px solid var(--color-main);
}
.smf-form--simple-table .smf-item.form-item-lead + .smf-item .smf-item__col--controls {
  border-top: 2px solid var(--color-gry);
}
.smf-form.smf-form--simple-table .smf-item.smf-item--divider .smf-item__col--controls {
  border-bottom: none;
}

.smf-form--simple-table .smf-item.form-item-agree {
  margin-top: 3.8rem;
  color: #000;
  text-align: center;
  background: var(--color-main-bg);
}
.smf-form--simple-table .smf-item.form-item-agree a {
  text-decoration: underline solid #59585e;
  text-underline-offset: 0.55em;
}
.smf-form--simple-table .smf-item.form-item-agree a:hover {
  text-decoration: none;
}
.smf-form--simple-table .smf-item.form-item-agree .smf-checkbox-control {
  font-size: 1.1429rem;
}
.smf-form--simple-table .smf-item.form-item-agree p {
  margin: 0;
}

.form-note {
  margin: .5em 0;
  font-size: 1rem;
}
.form-note:first-child {
  margin-top: 0;
}
.form-note:last-child {
  margin-bottom: 0;
}

.form-date-row {
  position: relative;
  padding: .5em 0;
}
.form-date-row::after {
  top: auto;
  bottom: 0;
}
.form-date-row .label {
  margin: .65em 1.5em 0 0;
  font-weight: 500;
  white-space: nowrap;
}
.form-date-row .wp-block-group__inner-container {
  display: -webkit-box;
  display: flex;
}
.form-date-row .time-group {
  margin-left: 2em;
}
.form-date-row + .form-note {
  margin-top: 1em;
}

[data-screen="confirm"] .form-date-row .label {
  margin-top: 0;
}
[data-screen="confirm"] .form-date-row {
  padding-top: 0;
}
[data-screen="confirm"] .form-date-row::after {
  display: none;
}

.form-item-agree .smf-item__controls {
  padding-top: .25em;
}
.form-item-agree .smf-item__controls .smf-label {
  margin-bottom: 0;
}
.form-item-agree .smf-item__controls .form-note {
  margin-top: 0;
  margin-bottom: .5em;
}

.smf-form .smf-error-messages {
  color: var(--color-red);
  font-weight: 500;
}

.smf-form .smf-item .smf-radio-button-control__control {
  margin-top: .55em;
}

/* form-button */
.snow-monkey-form .smf-form--simple-table+.smf-action {
  position: relative;
  margin: 0;
  padding: 3.285rem 0;
}
.snow-monkey-form .smf-action .smf-button-control__control {
  overflow: hidden;
  position: relative;
  display: inline-block;
  min-width: 160px;
  padding: .75em 3.2em .75em 2em;
  text-align: center;
  line-height: 1.4;
  font-weight: bold;
  color: #fff;
  transition: all .5s;
  border: none;
  border-radius: 0;
  background: var(--color-main);
}
.snow-monkey-form .smf-action .smf-button-control__control::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: .92em;
  height: .93em;
  margin: auto 0 auto 1em;
  will-change: transform;
  transition: transform .5s;
  background: var(--icon-arrow-wht) no-repeat center / 100%;
}
.snow-monkey-form .smf-action .smf-button-control__control:hover {
  background: var(--color-main-hover);
}
.snow-monkey-form .smf-action .smf-button-control__control:hover::after {
  transform: translateX(.4em);
}

.snow-monkey-form .smf-action [data-action="back"].smf-button-control__control {
  padding: .75em 2em .75em 3.2em;
  color: #000;
  background: var(--color-main-bg);
}
.snow-monkey-form .smf-action [data-action="back"].smf-button-control__control::after {
  display: none;
}
.snow-monkey-form .smf-action [data-action="back"].smf-button-control__control::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: .92em;
  height: .93em;
  margin: auto 0 auto -2em;
  will-change: transform;
  transition: transform .5s;
  background: var(--icon-arrow-blk) no-repeat center / 100%;
  transform: scale(-1, 1);
}
.snow-monkey-form .smf-action [data-action="back"].smf-button-control__control:hover::before {
  transform: scale(-1, 1) translateX(.4em);
}
.smf-action .smf-button-control+.smf-button-control {
  margin-left: 30px;
}


/* form-input */
.smf-form .smf-item input.smf-text-control__control,
.smf-form .smf-item textarea.smf-textarea-control__control {
  margin: 4px 0;
  padding: .415em .25em;
  font-size: 16px;
  font-weight: 500;
  font-family: inherit;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
}
.snow-monkey-form .smf-form .smf-item .smf-text-control__control:hover,
.smf-form .smf-item textarea.smf-textarea-control__control:hover,
.smf-form .smf-item select.smf-select-control__control:hover {
  border-color: #f3a3c0;
}
.snow-monkey-form .smf-form .smf-item input.smf-text-control__control:focus,
.smf-form .smf-item textarea.smf-textarea-control__control:focus,
.smf-form .smf-item select.smf-select-control__control:focus {
  border-color: var(--color-main);
}
.smf-form .smf-item select.smf-select-control__control,
.smf-form .smf-item select.smf-select-control__control:focus {
  color: #000;
}

input::placeholder,
textarea::placeholder {
  color: #b8b8b8;
}

.smf-label {
  margin: .35em 0;
  font-weight: 500;
}
.smf-form .smf-item input[type="checkbox"].smf-checkbox-control__control {
  margin-top: 0.52em;
  margin-right: 0.75em;
  border-color: #777;
}
@supports ((-webkit-appearance:none) or (appearance:none)) or (-moz-appearance:none) {
  .smf-form .smf-item input[type="checkbox"].smf-checkbox-control__control:checked {
    background: var(--color-main);
    border-color: var(--color-main);
  }
  .smf-form .smf-item input[type="checkbox"].smf-checkbox-control__control:before {
    width: 3px;
    height: 8px;
    top: calc(50% - 6px);
    left: calc(50% - 2px);
    box-sizing: content-box;
  }

  .smf-form .smf-item select.smf-select-control__control {
    margin: 4px 0;
    padding: .84em 2.5em .84em 1em;
    color: #000;
    border-radius: 0;
    font-weight: 500;
    border-color: #f3a3c0;
  }
  .smf-form .smf-item select + .smf-select-control__toggle:before {
    transform: none;
    width: 0;
    height: 0;
    right: 14px;
    border-width: 9px 6.5px 0 6.5px;
    border-color: #f3a3c0 transparent transparent transparent;
  }
  .smf-form .smf-item select.smf-select-control__control:focus+.smf-select-control__toggle:before {
    border-color: var(--color-main) transparent transparent transparent;
  }

  .smf-form .smf-item input.smf-radio-button-control__control:checked {
    background-color: var(--color-main);
    border-color: var(--color-main);
  }
}


.size-t {
  width: 15%;
}
.size-s {
  width: 30%;
}
.size-m {
  width: 58%;
}
.size-l {
  width: 100%;
}
.size-zip {
  width: 8em;
}

/* thanks */
.smf-complete-content {
  padding-top: 1.2em;
  text-align: center;
}
.form-complete-ttl {
  margin-bottom: 1em;
  font-size: 1.4286rem;
  font-weight: bold;
  line-height: 1.688;
  color: var(--color-main);
}
.form-complete-txt {
  text-align: center;
}
.form-complete-btn {
  margin-top: 4.28rem;
}
[data-screen="complete"] .smf-action {
  display: none;
}

/* @policy */
.policy-ttl {
  margin-bottom: 2.6em;
  color: var(--color-main);
  text-align: center;
  font-size: 1.5714rem;
  font-weight: bold;
  line-height: 1.4;
}
.policy-subttl {
  margin: 2.2em 0 .2em;
  color: var(--color-main);
  font-size: 1.1429rem;
  font-weight: bold;
  line-height: 1.4;
}
.policy-subttl + p {
  margin-top: 0;
}

.policy-list {
  margin-top: 2.2em;
}

.policy-contact {
  margin-top: 4.5em;
}
.policy-form_btn {
  margin-top: 5.5em;
}
.modal-content .policy-form_btn {
  display: none;
}


/* レスポンシブ
----------------------------------------------------------*/
/* @600px 以上  */
@media screen and (min-width: 600px) {
  /* @common
  ----------------------------------------------------------*/
  /* @img-gallery */
  .img-gallery.col-3 figure:nth-child(3n) {
    margin-right: 0;
  }
  .img-gallery.col-3 figure {
    width: 32%;
    margin-right: 2%;
  }
  .img-gallery.col-5 figure {
    width: 18.5%;
    margin-right: 1.86%;
  }
  .img-gallery.type-column figure {
    width: 100%;
  }

}

/* @960px 以上 (PC・タブレット横) */
@media screen and (min-width: 960px) {
  /* @common
  ----------------------------------------------------------*/
  /* @img-gallery */
  .img-gallery:not([class*=col-]) figure:nth-child(4n) {
    margin-right: 0;
  }
  .img-gallery.col-5 figure:nth-child(5n) {
    margin-right: 0;
  }
  .img-gallery.type-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }


  /* @top
  ----------------------------------------------------------*/
  /* @top-tech */
  .top-tech-con .ttl_en {
    margin-bottom: 1.4em;
  }

  /* @technology
  ----------------------------------------------------------*/
  /* @workflow --------- */
  .mainflow-product figure:nth-child(odd) {
    margin-left: auto;
  }
  .mainflow-product figure:first-child {
    margin-top: -10%;
  }

  /* @works
  ----------------------------------------------------------*/


  /* @company
  ----------------------------------------------------------*/
  /* @profile --------- */
  .column_box-head {
    width: 33%;
    margin-right: 2.85rem;
  }
  .column_box-head .ttl {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .column_box-body {
    -webkit-box-flex:1;
    flex:1
  }

  .access-info {
    margin-top: 3.92rem;
  }

  /* @gallery --------- */
  .gal_feature-list li:nth-child(4n+3) .txt,
  .gal_feature-list li:nth-child(4n+4) .txt {
    -webkit-box-ordinal-group: 3;
    order: 2;
  }
  .gal_feature-list li:nth-child(4n+3) .img,
  .gal_feature-list li:nth-child(4n+4) .img {
    margin-left: 0;
    margin-right: 1.65em;
  }
	#equipment iframe.youtube-16-9 {
margin: 20px auto;
}


}

@media screen and (max-width: 1200px) {
  /* @top
  ----------------------------------------------------------*/
  /* @top-building */
  .top-building-con {
    margin-right: 5%;
    padding-bottom: 2em;
  }

  /* @activity
  ----------------------------------------------------------*/
  .activity-point .ttl {
    white-space: inherit;
  }


}

@media screen and (max-width: 1024px) {
  /* @top
  ----------------------------------------------------------*/

  /* @top-hero */
  .top-feature-inner {
    display: block;
  }
  .top-feature-con {
    width: 100%;
    max-width: 100%;
  }
  .top-feature-cust {
    max-width: 68%;
  }
  .top-feature-cust .btn {
    text-align: center;
  }

  /* @top-feature */
  .top-feature-img-geom {
    right: -10%;
  }
  .top-feature-img {
    width: 100%;
    margin-left: auto;
  }
  .staff_img.staff1 {
    margin-top: -50%;
    margin-right: 0;
  }

  /* @top-tech */
  .top-tech-inner {
    padding-top: 70px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .top-tech-con {
    display: contents;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
  }
  .top-tech-con .btn_group {
    -webkit-box-ordinal-group: 3;
    order: 2;
    -webkit-box-pack: center;
    justify-content: center;
  }

  .top-tech-img {
    display: contents;
    max-width: 100%;
    margin-right: 0;
  }
  .top-tech-img-geom {
    position: absolute;
    width: 40%;
    top: 0;
    right: 0;
  }
  .top-tech-img-prod {
    max-width: 70%;
    margin-top: -2rem;
  }

  /* @top-news */
  .top-news {
    background: url(../img/top/news-geom.svg) no-repeat top -100px left 100px / 360px;
  }
  .top-news-wrap {
    position: relative;
  }
  .top-news-head {
    position: static;
    width: 100%;
    padding-bottom: 0;
  }
  .top-news-head::before {
    display: none;
  }
  .top-news-head .txt br {
    display: none;
  }
  .top-news-head .btn {
    position: absolute;
    top: 1.2em;
    right: 0;
    margin: 0;
  }
  .top-news-list {
    margin: 2rem 0;
  }

.equipment-detail .machine_movie{
	width: 80%;
	margin: 30px auto;
}


  /* @activity
  ----------------------------------------------------------*/
  .activity-point .ttl br {
    display: none;
  }
  .activity-intro-img {
    margin-top: -2%;
  }

}

/* @959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {

  /* @common
  ----------------------------------------------------------*/
  /* @img-gallery */
  .img-gallery figure {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 3%;
  }
  .img-gallery figure:nth-child(3n) {
    margin-right: 0;
  }

  /* @tel_box */
  .tel_box.st-card {
    font-size: .8rem;
  }

  /* @top
  ----------------------------------------------------------*/
  /* @top-hero */
  .sp-video {
    display: block;
  }
  .pc-video {
    display: none;
  }
  .top-hero-movie {
    max-height: 100%;
  }

  .top-hero-copy span {
    display: block;
    margin-bottom: 1em;
    margin-left: 0;
  }
  .top-hero-copy span + br {
    display: none;
  }

  .sp-kyoto_top100 {
    display: block;
    position: absolute;
    z-index: 10;
    bottom: 30px;
    right: 25px;
    padding: 1rem 8px;
    background: #fff;
  }

  .top-mark {
    top: 100px;
  }


  /* @top-newsbar */
  .top-newsbar-wrap {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    padding-bottom: 1.5em;
  }
  .top-newsbar-more {
    position: absolute;
    top: 1em;
    right: 0;
    margin: 0;
    padding: 0;
  }
  .top-newsbar-list {
    max-width: 100%;
    padding: 0;
  }

  /* @top-feature */
  .top-feature-con,
  .top-tech-con  {
    padding-top: 12%;
  }
  .top-feature-intro .ttl,
  .top-tech-con .ttl {
    font-size: 5.5vw;
  }
  .top-feature-img-geom {
    width: 76%;
    max-width: 100%;
    top: -4%;
    right: -20%;
  }
  .top-feature-cust {
    max-width: 80%;
  }

  /* @top-tech */
  .top-tech-con .txt {
    margin-bottom: 2rem;
  }
  .tech-list {
    position: relative;
    left: -3%;
    margin: 0 auto;
    max-width: 100%;
  }
  .top-tech-img-prod {
    margin-left: auto;
    margin-right: auto;
  }

  /* @top-building */
  .top-building {
    background-size: 20vw;
  }
  .top-building-wrap {
    margin-bottom: 2rem;
    flex-direction: column;
  }
  .top-building-con {
    -webkit-box-ordinal-group: 3;
    order: 2;
    width: 100%;
    margin-top: 3rem;
    background-size: 26%;
  }
  .top-building-con .ttl {
    font-size: 4vw;
    margin-bottom: 1em;
  }

  .top-building-img {
    width: 100%;
  }

  /* @top-recruit-bnr */
  .recruit-bnr .bnr_copy .arrow {
    display: block;
    margin: 0;
  }
  .recruit-bnr .bnr_copy .arrow,
  .recruit-bnr .bnr_copy.on-effect .arrow {
    transform: scale(1) rotate(90deg);
  }

  /* @technology
  ----------------------------------------------------------*/
  /* @biz_outline */
  .biz_outline-ttl {
    margin-bottom: 1em;
  }
  .biz_outline-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
  .biz_outline-con,
  .biz_outline-img {
    width: 100%;
  }
  .biz_outline-img {
    -webkit-box-ordinal-group: 0;
    order: -1;
    padding-top: 0;
  }
  .biz_outline-patrs-list li{
    width: 46%;
    margin-bottom: 1.5em;
  }

  .process-head {
    width: 160px;
  }
  .process-head-ttl {
    font-size: 1.85rem;
  }
  .process-body-con {
    display: block;
  }
  .process-body-con .con-ttl {
    margin-top: -.45em;
  }
  .process-body-con .img-box {
    width: 100%;
    max-width: 100%;
    margin: 1.5rem 0;
  }
  .process-body-pick_img figure {
    width: 48%;
    margin-bottom: 1em;
  }
  .process-box + .process-box {
    margin-top: 60px;
  }

  /* @maverick */
  .maverick-sec {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .maverick-con,
  .maverick-img {
    width: 100%;
  }
  .maverick-con {
    display: contents;
  }
  .maverick-con .img_group {
    -webkit-box-ordinal-group: 3;
    order: 2;
  }
  .maverick-img {
    max-width: 460px;
    width: 80%;
    margin: 2em auto;
  }

  /* @strong */
  .strong-body {
    display: block;
  }
  .strong-body .txt-box,
  .strong-body .img-box {
    width: 100%;
  }
  .strong-point .row {
    display: block;
  }
  .strong-point dt {
    width: 100%;
    margin: 0 0 .75em;
  }
  .strong-point .st-strong dd {
    font-size: 1.45rem;
  }
  .strong-body .img-box {
    margin: 1.5em 0;
  }

  .strong-cust-list {
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .strong-cust-item {
    width: 48%;
    margin-right: 0;
  }

  /* @workflow */
  .mainflow-list-item {
    display: -webkit-box;
    display: flex;
    width: 100%;
    margin-right: 0;
    padding: 0;
    margin-bottom: 30px;
  }
  .mainflow-list-item .ttl {
    width: 7em;
    padding: 1em 1rem 0 1.5rem;
    text-align: left;
  }
  .mainflow-list-item .list {
    display: block;
    -webkit-box-flex: 1;
    flex: 1;
    margin: 0;
    padding: 1em 0;
  }
  .mainflow-list-item li {
    width: 100%;
  }
  .mainflow-list-item li a {
    height: auto;
    padding: .5em 1em;
    -webkit-writing-mode: initial;
    writing-mode: initial;
  }
  .mainflow-list-item li + li {
    margin-left: 0;
    margin-top: .75em;
  }
  .mainflow-list-item .img {
    width: 35%;
    max-width: 260px;
    margin-left: 1.5rem;
  }
  .mainflow-list-item img {
    width: 100%;
    height: 100%;
    z-index: -1;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  .mainflow-list-item:after {
    top: 100%;
    bottom: auto;
    right: 0;
    left: 0;
    width: 30px;
    height: 30px;
    margin: auto;
    background-size: auto 80%;
    transform: rotate(90deg);
  }
  .mainflow-product {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
  }

  .equipment-sec {
    padding-top: 60px;
  }

.equipment-detail .machine_movie{
	width: 80%;
	margin: 30px auto;
}
		#equipment iframe.youtube-16-9 {
margin: 20px auto;
}


  /* @activity
  ----------------------------------------------------------*/
  .activity-intro-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
  .activity-intro-con .con-wrap,
  .activity-intro-img_group,
  .activity-intro-img,
  .activity-point {
    width: 100%;
  }

  .activity-intro-con {
    margin-bottom: 1.8rem;
  }
  .activity-intro-con .txt {
    max-width: 100%;
  }
  .activity-intro-img {
    position: relative;
    width: 70%;
    margin: 0 auto 2rem;
  }
  .activity-intro-img_group {
    max-width: 80%;
    margin: 0 auto;
  }

  .activity-box-body-con,
  .activity-box-body-img {
    width: 100%;
  }
  .activity-box-body-img {
    margin: 1.5rem 0;
  }
  .activity-box-body-con {
    display: contents;
  }
  .activity-box-body .con-ttl {
    font-size: 5vw;
  }
  .activity-box-body .con-better {
    -webkit-box-ordinal-group: 3;
    order: 2;
  }
  .mainflow-product {
    justify-content: center;
  }
  .mainflow-product figure + figure {
    margin-left: 5%;
  }
  .mainflow-product figure:nth-child(2n) {
    margin-top: 5%;
  }

  .workflow-main,
  .workflow-voice {
    width: 100%;
  }
  .workflow-main {
    margin-bottom: .5rem;
    padding-bottom: 0;
  }
  .workflow-main-ttl {
    margin-bottom: .85em;
  }
  .workflow-voice-ttl {
    margin-bottom: 1.2em;
  }
  .workflow-info {
    margin-top: 1.5rem;
  }

  /* @equipment */
  .equipment-list li {
    width: 48%;
  }
  .equipment-list.col-3 li {
    width: 30%;
    margin-right: 5%;
  }
.equipment-detail .machine_img {
	width: 100%;
	margin: 0 0 10px 0;
}
.equipment-detail .machine_txt {
	width: 100%;
}
.equipment-detail .machine_movie{
	width: 100%;
}


  /* @works
  ----------------------------------------------------------*/

  /* @company
  ----------------------------------------------------------*/
  .message-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
  .message-img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    -webkit-box-ordinal-group: 0;
    order: -1;
  }
  .message-con {
    width: 100%;
  }
  .message-con .ttl {
    width: auto;
    margin-bottom: 1em;
    padding: 0;
    text-align: center;
  }

  .philosophy-list li + li {
    margin-top: 1.5em;
  }

  /* @profile-------- */
  .column_box {
    display: block;
  }
  .bg_logo {
    margin-top: 0;
    padding-top: 21.5%;
  }

  /* overview */
  .overview-info-head .logo {
    text-align: center;
  }

  /* access */
  .access-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
  .access-info-con {
    display: contents;
  }
  .access-info-con,
  .access-info-map {
    width: 100%;
  }
  .access-info-con-address {
    margin-bottom: 2.5em;
  }
  .access-info-con-parking {
    -webkit-box-ordinal-group: 3;
    order: 2;
  }
  .access-info-map {
    margin-bottom: 1.5em;
  }
  .access-list .row {
    display: block;
  }
  .access-list dt  {
    width: 100%;
    margin-right: 0;
  }


  /* @project ------- */
  .sdgs-sec {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
  .sdgs-con {
    display: contents;
    width: 100%;
  }
  .sdgs-achs {
    -webkit-box-ordinal-group: 3;
    order: 2;
  }

  .sdgs-img {
    width: 70%;
    max-width: 460px;
    margin: 1rem auto;
    padding-right: 4%;
  }

  .projects-list-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: 100%;
    margin-right: 0;
  }
  .projects-list-item .ttl {
    width: 100%;
  }
  .projects-list-item .img {
    width: 40%;
  }
  .projects-list-item .txt {
    width: 56%;
    margin-top: -.6em;
    -webkit-box-flex: 0;
    flex: none;
  }
  .projects-list-item .txt + .img {
    margin-top: 1rem;
  }


  /* @gallery */
  .gal_concept-con {
    display: contents;
    width: 100%;
    margin-right: 0;
  }
  .gal_concept-con .lead_ttl-en,
  .gal_concept-con .ttl {
    width: 100%;
  }
  .gal_concept-con .txt::before {
    top: -50%;
    width: 24%;
  }
  .gal_concept-img {
    width: 36%;
    margin-left: auto;
    -webkit-box-flex: 0;
    flex: none;
  }
  .gal_concept-con .txt {
    width: 60%;
  }
  .gal_feature-list li {
    width: 100%;
  }

  .gallery-list > li {
    margin-bottom: 30px;
  }
  .gallery-list > li, .gallery-list > li.col-2 .img {
    width: 100%;
  }
  .gallery-list figcaption {
    font-size: 1.2rem;
  }

  /* @contact
  ----------------------------------------------------------*/
  .contact_tel-wrap {
    display: block;
  }
  .contact_tel-con,
  .contact_tel-calendar {
    width: 100%;
    max-width: 100%;
  }
  .contact_tel-con {
    margin-bottom: 3rem;
    padding-top: 0;
  }
  .contact_tel-con .txt {
    margin-bottom: 1.5em;
    text-align: center;
  }

  .smf-form--simple-table .smf-item.form-item-lead .smf-item__col--controls {
    padding: 0;
  }


}

/* @599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  /* @common
  ----------------------------------------------------------*/
  /* @img-gallery */
  .img-gallery {
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .img-gallery figure {
    width: 48%;
    margin-right: 0;
  }

  .img-gallery.col-5 {
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
  .img-gallery.col-5 figure {
    width: 32%;
    margin-right: 2%;
  }
  .img-gallery.col-5 figure:nth-child(3n) {
    margin-right: 0;
  }

  /* @top
  ----------------------------------------------------------*/
  /* @top-hero */
  .top-hero-copy {
    bottom: 10vh;
    padding-left: 24px;
    padding-right: 24px;
    font-size: 9.6vw;
  }
  .top-hero-copy span {
    font-size: .444em;
  }

  .top-hero-copy.add_mark {
    bottom: 140px;
  }
  .top-mark {
    top: auto;
    bottom: 30px;
    left: auto;
    right: 30px;
  }
  .top-mark > div {
    width: 76px;
  }
  .top-mark > div img {
    width: 100%;
  }
  .top-mark.for-second {
    display: none;
  }

  /* @top-newsbar */
  .top-newsbar-list-ttl {
    padding-bottom: .85em;
    background-position: bottom -.5em left 0;
  }
  .top-newsbar-more {
    top: 1.3em;
    font-size: .8571rem;
  }
  .top-newsbar-list .row {
    display: block;
  }
  .top-newsbar-list dt {
    width: 100%;
    margin-right: 0;
    font-size: 1.2em;
  }
  .top-newsbar-list dd {
    font-size: 1em;
  }

  /* @top-feature */
  .top-feature-con,
  .top-tech-con {
    padding-top: 22%;
  }
  .top-feature-intro .ttl,
  .top-tech-con .ttl {
    font-size: 6.2vw;
  }
  .top-feature-intro .logo {
    max-width: 55%;
    margin-left: auto;
  }

  .top-feature-cust {
    max-width: 100%;
  }
  .cust-list {
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin: -2% 0;
  }
  .cust-list li {
    width: 49%;
    margin: 1% 0;
    padding-right: 2em;
    font-size: 1rem;
  }
  .top-feature-cust .btn {
    margin: 2em 0;
  }

  .top-feature-img {
    max-width: 100%;
  }
  .top-feature-img-geom {
    top: 0;
    right: -28%;
  }
  .staff_img-group {
    -webkit-box-align: start;
    align-items: flex-start;
  }
  .staff_img.staff1 {
    margin-top: 0;
    width: 70%;
  }
  .staff_img.staff2 {
    width: 52%;
  }
  .staff_img.staff3 {
    width: 42%;
    margin-top: 30%;
    margin-left: auto;
  }
  .staff_img.staff4 {
    width: 40%;
    margin-left: 3%;
    margin-top: -10%;
  }
  .staff_img.staff5 {
    width: 64%;
    margin-top: -5%;
    margin-right: 3%;
  }

  /* @top-tech */
  .top-tech-img-prod {
    max-width: 100%;
  }
  .tech-list {
    left: -5%;
  }
  .tech-list li {
    margin: 3px;
  }

  .btn_group {
    margin-top: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    max-width: 280px;
    width: 100%;
    margin: 0 auto;
  }
  .btn_group .btn {
    width: 100%;
  }
  .btn_group .btn a {
    display: block;
  }
  .btn_group .btn + .btn {
    margin-top: 1rem;
    margin-left: 0;
  }

  /* @top-building */
  .top-building-wrap {
    margin-bottom: 1rem;
  }
  .top-building-con .ttl {
    font-size: 5.6vw;
  }
  .top-building-con {
    padding-bottom: 6.5rem;
    background-size: 160px;
  }

  /* @top-news */
  .top-news {
    padding-top: 40px;
    padding-bottom: 60px;
    background-position: top -100px left 40px;
    background-size: 300px;
  }
  .top-news-wrap {
    margin-bottom: 2.5rem;
  }
  .top-news-head .btn {
    font-size: .8571rem;
  }
  .top-news-head .btn a {
    min-width: 0;
  }
  .top-news-list {
    margin: 0;
  }
  .top-news-list li {
    width: 100%;
  }
  .top-news-list a {
    display: -webkit-box;
     display: flex;
     padding: 1em 0;
    border-bottom: 1px solid #eee;
  }
  .top-news-list .list-thumb {
    width: 100px;
    margin-right: 1.5em;
  }
  .top-news-list .list-summary {
    padding-top: .5em;
  }

  /* @top-recruit-bnr */
  .recruit-bnr {
    width: 100%;
  }
  .recruit-bnr .bnr_msg {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .recruit-bnr .bnr_copy {
    font-size: 1.85rem;
  }
  .recruit-bnr .bnr_copy .copy2 {
    display: block;
    margin: 0;
  }

  /* @top-insta */
  .top-insta {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .top-insta-ttl {
    font-size: 1.1429rem;
  }

  /* @top-tiktok */
  .top-tiktok {
    padding: 0;
  }

  /* @technology
  ----------------------------------------------------------*/
  /* @biz_outline */
  .biz_outline-ttl {
    margin-bottom: 1em;
    font-size: 5.7vw;
  }
  .biz_outline-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
  .biz_outline-con,
  .biz_outline-img {
    width: 100%;
  }
  .biz_outline-img {
    -webkit-box-ordinal-group: 0;
    order: -1;
    padding-top: 0;
  }
  .example-list  li {
    font-size: 0.95rem;
  }

  .biz_outline-patrs-ttl {
    font-size: 1.4rem;
    text-align: left;
  }
  .biz_outline-patrs-lead {
    text-align: left;
    font-size: 1.15rem;
  }
  .biz_outline-patrs-list .ttl {
    font-size: .95em;
  }
  .biz_outline-patrs-list figcaption {
    font-size: 1rem;
  }

  .process-head {
    width: 100%;
    margin-right: 0;
  }
  .process-head-img {
    position: relative;
    width: 100%;
    margin-bottom: 1.5rem;
    aspect-ratio: 1 /1.2;
  }
  .process-head-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  .process-body-con .con-ttl {
    font-size: 1.45rem;
  }
  .process-body-pickup .ttl {
    font-size: 1.5rem;
  }
  .process-body-pick_img figcaption {
    font-size: .9286rem;
  }

  .maverick-img figcaption {
    font-size: 1.3rem;
  }

  /* @strong */
  .strong-ttl {
    width: 140px;
  }
  .strong-body .img-box figure {
    width: 100%;
  }
  .strong-body .img-box figure + figure {
    margin-top: 1rem;
  }

  .strong-cust-item {
    width: 100%;
    margin-bottom: 1.5rem;
  }

  /* @workflow --------- */
  .mainflow-list-item {
    flex-wrap: wrap;
  }
  .mainflow-list-item li + li {
    margin-top: .5em;
  }
  .mainflow-list-item .ttl {
    margin-bottom: 0;
    padding: 1em 1.2em;
    flex: 1;
    text-align: left;
  }
  .mainflow-list-item .img {
    width: 35%;
    max-width: 260px;
    margin-left: 1.5rem;
  }
  .mainflow-list-item .list {
    width: 100%;
    flex: none;
    padding: 1em;
    order: 2;
  }
  .mainflow-list-item li a {
    font-size: 1rem;
  }

  /* workflow */
  .workflow-head {
    margin-bottom: 2.5rem;
  }
  .workflow-main-ttl {
    padding-left: 2.7em;
    font-size: 1.35rem;
  }
  .workflow-main-ttl::before {
    width: 1.8em;
  }
  .workflow-voice-item {
    width: 100%;
    margin-bottom: 2rem;
  }
  .workflow-info {
    margin-top: 0;
  }

  /* @equipment -------- */
  .equipment-list li,
  .equipment-list.col-3 li {
    width: 100%;
    margin-bottom: 30px;
  }
  .equipment-list figcaption {
    font-size: 1.2rem;
  }

.equipment-detail .machine_movie .yout{
	/*max-width: 100%;*/
	width: 100%;
	margin: 10px auto;
}
.equipment-detail .machine_movie{
	width: 100%;
	}
		#equipment iframe.youtube-16-9 {
margin: 10px auto;
}



  /* @company
  ----------------------------------------------------------*/
  /* @message ------- */
  .message-wrap {
    margin-bottom: 2rem;
  }
  .message-img figcaption {
    font-size: 1.5rem;
  }
  .message-imglist .img1 {
    width: 90%;
    margin-right: 0;
  }
  .message-imglist .img2 {
    margin-top: 1rem;
    margin-left: auto;
    width: 70%;
  }
  .message-con .ttl {
    text-align: left;
  }

  /* @philosophy */
  .philosophy-list, .biz_policy-con {
    font-size: 1.0714rem;
  }

  /* @biz_policy */
  .biz_policy-ttl {
    margin-bottom: .5em;
    font-size: 1.4rem;
  }
  .biz_policy-list,
  .biz_policy-list li + li {
    margin-top: 1em;
  }

  /* @logo */
  .logo-sec {
    margin-bottom: 100px;
  }
  .logo-detail {
    display: block;
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .logo-detail .logomark {
    max-width: 100%;
    margin: 0 0 3rem;
    text-align: center;
  }
  .logo-variation {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
  .logo-variation figure {
    max-width: 100%;
    text-align: center;
  }
  .logo-variation figure img {
    transform: scale(.8);
  }
  .logo-variation figure + figure {
    margin-left: 0;
    margin-top: 2.5rem;
  }

  /* @profile-------- */
  .overview-img,
  .overview-movie {
    width: 100%;
  }

  .access-info-con-address .addr {
    font-size: 1.125rem;
  }


  /* @project */
  .projects-list-item {
    display: block;
  }
  .projects-list-item .ttl {
    font-size: 1.2857rem;
  }
  .projects-list-item .img {
    width: 100%;
  }
  .projects-list-item .txt {
    width: 100%;
    margin-top: 1em;
  }

  .sdgs-con-ttl {
    white-space: initial;
  }
  .sdgs-img {
    margin-bottom: 0;
  }

  /* @gallery */
  .gal_concept-box {
    margin-bottom: 1rem;
  }
  .gal_concept-con .ttl {
    white-space: initial;
  }
  .gal_concept-con .txt {
    width: 100%;
    margin-top: 0;
  }
  .gal_concept-con .txt::before {
    top: 130%;
    left: 0;

  }
  .gal_concept-img {
    margin-top: 1rem;
    width: 67%;
  }
  .gal_concept-img_group {
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
  }
  .gal_concept-img_group .img1 {
    padding-top: 0;
    width: 58%;
    flex: none;
  }
  .gal_concept-img_group .img2 {
    width: 38%;
    padding-top: 24%;
  }
  .gal_concept-img_group .img3 {
    width: 55%;
    margin-top: 5%;
    margin-left: 20%;
  }

  .gal_feature-ttl {
    margin-bottom: 2em;
    font-size: 1.3rem;
  }
  .gal_feature-list .ttl {
    font-size: 1.2rem;
  }
  .gal_feature-list .img {
    width: 100%;
    margin-top: 1.5em;
    margin-left: auto;
  }


  /* @activity
  ----------------------------------------------------------*/
  .activity-intro-con {
    margin-bottom: 0;
  }
  .activity-intro-con .ttl {
    font-size: 7.75vw;
  }
  .activity-intro-img {
    width: 91%;
  }
  .activity-point .ttl {
    margin-bottom: 1.4em;
    font-size: 1.25rem;
  }
  .activity-point-list {
    margin-bottom: 1.5rem;
    font-size: 1.05rem;
  }
  .activity-intro-img_group {
    max-width: 90%;
  }

  .activity-box-head::before {
    width: 150px;
  }
  .activity-box-head .copy {
    font-size: 1.1429rem;
  }
  .activity-box-head .ttl {
    margin-bottom: 1.5em;
    font-size: 1.4rem;
  }
  .activity-box-body .con-ttl {
    font-size: 7vw;
  }
  .activity-box-body .con-better-ttl {
    width: 100%;
    margin-bottom: .5em;
    margin-right: 0;
    background-size: auto 90%;
  }
  .activity-box-body .con-better-ttl br {
    display: none;
  }
  .activity-box-body-img {
    margin: .75em 0;
  }

  .activity-box-btn {
    display: block;
    text-align: center;
  }
  .activity-box-btn .btn + .btn {
    margin-left: 0;
  }

  /* @contact
  ----------------------------------------------------------*/
  .contact_tel-con .txt,
  .smf-form--simple-table .smf-item.form-item-lead,
  .smf-form--simple-table .smf-item.form-item-lead .has-text-align-center {
    text-align: left;
  }

  .smf-form.smf-form--simple-table .smf-item__col--label {
    max-width: 100%;
  }
  .smf-form--simple-table .smf-item.form-item-lead + .smf-item .smf-item__col--controls {
    border-bottom: none;
  }
  .smf-form.smf-form--simple-table .smf-item__col--label {
    border-bottom: 1px dotted #ccc;
    border-top: 2px solid var(--color-main);
  }
  .smf-form--simple-table .smf-item__col--controls {
    padding-left: 1.1em;
    border: none;
  }

  /* policy */
  .policy-ttl {
    margin-bottom: 1.8em;
    font-size: 1.2857rem;
  }



}


/* 320px 以下 (スマホ)  */
@media screen and (max-width: 340px) {


}
