/*
Theme Name: 厚木ミクロ
Author: Attrise
Author URI: https://www.attrise.com/
Version: 1.0.0
*/


/* atmicro.css
------------------------------------------------------------
* front-page
* under-page
   ©\basicprocess
   -pattern
   -flexible
* RECRUIT
* EFFECT
------------------------------------------------------------ */

.site-content.wide {
   max-width: 1421px;
}


/* front-page
------------------------------------------------------------ */
/**/
.n2_clear {
   position: relative;
   top: -52px;
   z-index: -3;
   margin-bottom: -104px;
}

@media screen and (min-width: 980px) {
   .n2_clear {
      position: relative;
      top: 0;
      z-index: -3;
      margin-bottom: 0px;
   }
}

/*intro*/
.intro {
   background-image: url(../././images/line1.png);
   background-repeat: no-repeat;
   background-size: 70%;
   background-position: 68% -25px;
   text-align: center;
}

.intro>p {
   font-family: 'Sawarabi Gothic', sans-serif;
   line-height: 1.5;
   color: #676767;
   font-size: 0.8em;
}

.intro>p:last-child {
   margin-bottom: 4em;
}

.intro>h2 {
   text-align: center;
   font-size: 1.3em;
   color: #221815;
   margin: 0;
   line-height: 1.2;
   letter-spacing: 2px;
   padding-top: 80px;
   padding-bottom: 15px !important;
}

.intro>h2:before {
   border: none !important;
}

.h2_eng {
   text-align: center;
   color: #1F2A66 !important;
   font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
   letter-spacing: 1.5px;
   font-size: 0.7em !important;
   margin-bottom: 30px;
}

@media screen and (min-width: 763px) {
   .intro {
      background-image: url(../././images/line1.png);
      background-size: 25%;
      background-repeat: no-repeat;
      background-position: 50% 0px;
      text-align: center;
   }

   .intro>h2 {
      text-align: center;
      font-size: 2.8em;
      color: #221815;
      margin: 0;
      line-height: 1.2;
      letter-spacing: 2px;
      padding-top: 140px;
      padding-bottom: 0 !important;
   }

   .intro>p {
      font-family: 'Sawarabi Gothic', sans-serif;
      line-height: 1.5;
      color: #676767;
      font-size: 1.1em;
   }

   .h2_eng {
      font-size: 1em !important;
      margin-bottom: 80px;
   }
}

.productnav_title_eng {
   font-size: 1em;
   font-weight: 100;
}

.productnav_title_eng::after {
   content: "\A";
   white-space: pre;
}

.productnav_title {
   font-size: 2em;
   font-weight: bold;
   line-height: 0.8;
}

.productnav_title::after {
   content: "\A";
   white-space: pre;
}

.banners {
   /*  display: flex;*/
   text-align: center;
   margin: 96px auto;
   position: relative;
   z-index: 3;
}

.products {
   /*   background: #1E2186; */
   height: 267px;
   text-align: center;
}

.products ol {
   list-style-type: none;
   margin: 0 auto;
   padding: 0;
}

.products>ol {
   /*   padding: 0 2rem; */
   display: flex;
}

/* Button styling */
.button {
   color: white;
   font-size: 1.5rem;
   text-align: center;
   width: 100%;
   height: 267px;
   position: relative;
   cursor: pointer;
   text-align: center;
   /*   margin:96px auto; */
}

.banner-content {
   color: white;
   width: 100%;
   height: 100%;
}

.bg-zoom-content p {
   margin-bottom: 65px;
   margin-top: 35px;
   padding: 0 15px;
   z-index: 2;
   font-size: 0.8em;
   position: relative;
}

/*products nav*/
.productnav_title_eng {
   font-size: 0.8em;
   font-weight: 100;
}

.productnav_title_eng::after {
   content: "\A";
   white-space: pre;
}

.productnav_title {
   font-size: 2.3em;
   font-weight: bold;
   line-height: 0.8;
}

.productnav_title::after {
   content: "\A";
   white-space: pre;
}

.a {
   background-image: url("../././images/btn_development.jpg");
   background-size: cover;
   position: relative;
   overflow: hidden;
   z-index: 0;
   background-color: rgba(0, 0, 0, 1);
   background-blend-mode: darken;
}

.a:after {
   position: absolute;
   content: "";
   display: block;
   width: 100%;
   height: 100%;
   top: 0;
   background-image: url("../././images/btn_development.jpg");
   transition: all 0.8s ease;
   background-size: cover;
   opacity: 0.6;
   z-index: 0;
}

.a:hover:after {
   opacity: 1;
   transform: scale(1.05);
}

.b {
   background-image: url("../././images/btn_technology.jpg");
   background-size: cover;
   position: relative;
   overflow: hidden;
   background-color: rgba(0, 0, 0, 1);
   background-blend-mode: darken;
}

.b:after {
   position: absolute;
   content: "";
   display: block;
   width: 100%;
   height: 100%;
   top: 0;
   background-image: url("../././images/btn_technology.jpg");
   transition: all 0.8s ease;
   background-size: cover;
   opacity: 0.6;
}

.b:hover:after {
   opacity: 1;
   transform: scale(1.05);
}

.c {
   background-image: url("../././images/btn_basicprocess.jpg");
   background-size: cover;
   position: relative;
   overflow: hidden;
   background-color: rgba(0, 0, 0, 1);
   background-blend-mode: darken;
}

.c:after {
   position: absolute;
   content: "";
   display: block;
   width: 100%;
   height: 100%;
   top: 0;
   background-image: url("../././images/btn_basicprocess.jpg");
   transition: all 0.8s ease;
   background-size: cover;
   opacity: 0.6;
}

.c:hover:after {
   opacity: 1;
   transform: scale(1.05);
}

.products>ol>.product-item {
   flex: 1;
   /*   padding: 0.75rem 0; */
}

.products>ol>.product-item:after {
   content: "";
   position: absolute;
   width: 4px;
   height: 4px;
   border-radius: 50%;
   bottom: 5px;
   left: calc(50% - 2px);
   background: #1e2186;
   will-change: transform;
   transform: scale(0);
   transition: transform 0.1s ease;
}

.products>ol>.product-item:hover:after {
   transform: scale(1);
}

.product-item {
   position: relative;
   line-height: 2.5rem;
   text-align: center;
}

.product-item a {
   overflow: hidden;
   white-space: nowrap;
   text-overflow: ellipsis;
   display: block;
   color: #fff;
   text-decoration: none;
}

.sub-product .product-item {
   padding: 0.75rem 0;
   background: #1e2186;
   opacity: 0;
   transform-origin: bottom;
   animation: enter 0.1s ease forwards;
}

.sub-product .product-item:nth-child(1) {
   animation-duration: 0.1s;
   animation-delay: 0s;
}

.sub-product .product-item:nth-child(2) {
   animation-duration: 0.2s;
   animation-delay: 0.1s;
}

.sub-product .product-item:nth-child(3) {
   animation-duration: 0.3s;
   animation-delay: 0.2s;
}

.sub-product .product-item:nth-child(4) {
   animation-duration: 0.4s;
   animation-delay: 0.3s;
}

.sub-product .product-item:nth-child(5) {
   animation-duration: 0.5s;
   animation-delay: 0.4s;
}

.sub-product .product-item:nth-child(6) {
   animation-duration: 0.6s;
   animation-delay: 0.5s;
}

.sub-product .product-item:hover {
   background: #6278d0;
}

.sub-product .product-item a {
   padding: 0 0.75rem;
}

.sub-product {
   position: absolute;
   width: 100%;
   top: 100%;
   left: 0;
   display: none;
   z-index: 1;
}

.product-item:hover>.sub-product {
   display: block;
}

@media screen and (max-width: 600px) {
   .sub-product {
      width: 100vw;
      left: -2rem;
      top: 50%;
      transform: translateY(-50%);
   }
}

@keyframes enter {
   from {
      opacity: 0;
      transform: scaleY(0.98) translateY(10px);
   }

   to {
      opacity: 1;
      transform: none;
   }
}

@keyframes fade {
   from {
      opacity: 0;
   }

   to {
      opacity: 1;
   }
}

/*products nav sp*/
/* Chrome Safari */
summary {
   display: block;
   color: #fff;
}

/* Chrome¡¢Safari */
summary::-webkit-details-marker {
   display: none;
}

.development, .technology, .basic-p {
   text-align: center;
   position: relative;
   min-width: 100vw;
   background-position: top center;
   margin-left: calc(-50vw + 50%);
   margin-right: calc(-50vw + 50%);
   display: block;
   cursor: pointer;
}

details ul {
   margin: 0;
}

details ul li {
   border-bottom: 1px solid #ddd;
   text-align: left;
   /*    display: flex;*/
}

details ul li>a:after {
   content: "";
   position: absolute;
   width: 10px;
   height: 0px;
   right: 0px;
   border-bottom: 2px solid #1d2087;
   border-right: 3px solid #1d2087;
   transform: skew(44deg);
   padding: 5px;
   font-weight: bold;
   margin: 5px 30px;
}

details ul li>a:hover:after {
   border-bottom: 2px solid #fff;
   border-right: 3px solid #fff;
}

details ul li:last-child {
   border-bottom: none;
}

.basic-p ul li:last-child {
   border-bottom: 1px solid #ddd;
}

details ul li>a {
   text-decoration: none;
   width: 100%;
   display: block;
   padding: 15px 35px;
   text-align: left;
   font-weight: bold;
}

details ul li>a:hover {
   color: #fff;
   background: #1d2087;
}

.basic-p {
   margin-bottom: 50px;
}

.development__content, .technology__content, .basic-p__content {
   background: white;
   list-style: none;
   width: 100%;
   padding: 10px auto;
}

.development__content p {
   margin: 0;
   padding: 10px;
}

.development__content p>a {
   text-decoration: none;
   width: 100%;
}

.development__content p>a:hover {
   text-decoration: none;
   width: 100%;
   background-color: #ddd;
}


.products_txt {
   font-size: 0.8em;
}

.summary_box {
   background-color: rgba(0, 0, 0, 0.6);
   padding: 15px;
   display: block;
   position: relative;
   top: 10%;
   width: 75%;
   margin: 0 auto;
}

.summary_box img {
   width: 10%;
}

.summary_box p {
   margin: 0;
}

.development__summary {
   background-image: url(/wp-content/uploads/2023/03/sp_dev-products_bg.jpg);
   height: 183px;
   display: block;
   background-size: cover;
   background-position: center center;
}

.technology__summary {
   background-image: url(/wp-content/uploads/2023/03/sp_tech-products_bg.jpg);
   height: 183px;
   display: block;
   background-size: cover;
   background-position: center center;
}

.basic-p__summary {
   background-image: url(/wp-content/uploads/2023/03/sp_basic_p-products_bg.jpg);
   height: 183px;
   display: block;
   background-size: cover;
   background-position: center center;
}

/*pattern*/
/* form-nav */
/***ステップフロー***/
.step-wrap1 {
   margin: 2em 0;
   position: relative;
}

.step-content1 {
   padding: 0 0 1.3em 2em;
   margin: 0;
   position: relative;
}

.step-content1::before {
   content: "";
   display: block;
   width: 13px;
   height: 13px;
   background: #1d2087;
   border: solid 3px #ffffff;
   border-radius: 50%;
   position: absolute;
   top: 3px;
   left: 3px;
   box-shadow: 0 0 0 2px #1d2087;
}

.step-content1::after {
   content: "";
   display: block;
   height: calc(100% - 35px);
   border-left: dotted 5px #768888;
   position: absolute;
   top: 30px;
   left: 10px;
}

.step-title1 {
   font-weight: bold;
   font-size: 120%;
}

.step-label1 {
   color: #768888;
   font-weight: bold;

}

.step-label1::after {
   position: relative;
   left: .3em;
}

.step-body1 {
   margin-top: .5em;
   padding: 0 0 1em;
   border-bottom: dotted 2px #ddd;
}

.step-wrap1> :last-of-type::after {
   display: none;
}

/*flexible*/
.qa-004 dt,
.qa-004 dd {
   display: flex;
   align-items: center;
   position: relative;
   margin: 0;
   padding: 1em 2em 1em 3.1em;
   color: #042828;
}

.qa-004 dt {
   font-weight: 600;
}

.qa-004 dd+dt {
   margin-top: 1em;
}

.qa-004 dt::before,
.qa-004 dd::before {
   display: inline-block;
   position: absolute;
   width: 40px;
   height: 40px;
   left: 0;
   border-radius: 50%;
   color: #fff;
   font-weight: 600;
   font-size: 1.1em;
   line-height: 40px;
   text-align: center;
}

.qa-004 dt::before {
   background-color: #8c90a1;
   content: 'Q';
}

.qa-004 dd::before {
   background-color: #e87883;
   content: 'A';
}

/*news*/
.newsinfo {
   width: 100vw;
   margin-left: calc(-50vw + 50%);
   background-color: #F1F1F1;
   background-image: url(../././images/line2.png);
   background-repeat: no-repeat;
   background-position: top left;
   background-size: 80%;
}

.newstitle_cap {
   font-size: 0.4em !important;
   color: #676767;
}

.news_category_set {
   display: flex;

}

.btn_news a {
   background: #221815;
   position: relative;
   display: flex;
   justify-content: space-around;
   align-items: center;
   margin: 0 auto;
   max-width: 280px;
   padding: 10px 24px 10px 15px;
   color: #fff;
   transition: 0.3s ease-in-out;
   font-weight: 500;
   margin-right: 7px;
   text-decoration: none;
   font-size: 0.7em;
}

.btn_news a:after {
   content: "";
   position: absolute;
   top: 48%;
   bottom: 0;
   right: 1rem;
   font-size: 90%;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: right 0.3s;
   width: 6px;
   height: 6px;
   border-top: solid 2px currentColor;
   border-right: solid 2px currentColor;
   transform: translateY(-50%) rotate(45deg);
}

.btn_news a:hover {
   opacity: 0.5;
}

.btn_news a:hover:after {
   right: 0.8rem;
}

.btn_newsrecruit a {
   font-size: 0.7em;
   background: #1F2A66;
   position: relative;
   display: flex;
   justify-content: space-around;
   align-items: center;
   margin: 0 auto;
   max-width: 280px;
   padding: 10px 24px 10px 15px;
   margin-right: 7px;
   color: #fff;
   transition: 0.3s ease-in-out;
   font-weight: 500;
   text-decoration: none;
}

.btn_newsrecruit a:after {
   content: "";
   position: absolute;
   top: 50%;
   bottom: 0;
   right: 1rem;
   font-size: 90%;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: right 0.3s;
   width: 6px;
   height: 6px;
   border-top: solid 2px currentColor;
   border-right: solid 2px currentColor;
   transform: translateY(-50%) rotate(45deg);
}

.btn_newsrecruit a:hover {
   opacity: 0.5;
}

.btn_newsrecruit a:hover:after {
   right: 0.8rem;
}

.btn_newsstaff a {
   font-size: 0.7em;
   background: gray;
   position: relative;
   display: flex;
   justify-content: space-around;
   align-items: center;
   margin: 0 auto;
   max-width: 280px;
   padding: 10px 24px 10px 15px;
   color: #fff;
   transition: 0.3s ease-in-out;
   font-weight: 500;
   text-decoration: none;
}

.btn_newsstaff a:after {
   content: "";
   position: absolute;
   top: 50%;
   bottom: 0;
   right: 1rem;
   font-size: 90%;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: right 0.3s;
   width: 6px;
   height: 6px;
   border-top: solid 2px currentColor;
   border-right: solid 2px currentColor;
   transform: translateY(-50%) rotate(45deg);
}

.btn_newsstaff a:hover {
   opacity: 0.5;
}

.btn_newsstaff a:hover:after {
   right: 0.8rem;
}

.newsinfo h2 {
   font-size: 2.5em;
   line-height: 1;
   margin-top: 0px;
   margin-bottom: 0px;
   text-align: left;
   border-bottom: 0;
}

.newsinfo h2:before {
   border-image: none;
   border-bottom: none;
}

.infowrap {
   padding: 30px;
}

.info-title-box {
   padding: 0;
   margin: 0 auto 25px;
}

.information_list {
   margin: 0 auto;
}

.information_list li {
   border-top: 1px dotted #C2C2C2;
   line-height: 1.4;
   padding: 1.2em 1em;
   list-style: none;
}

.information_list a {
   text-decoration: none;
   color: #221815;
   display: block;
}

.information_list a:hover {
   color: #221815;
   opacity: 0.7;
}

.information_list li {
   display: block;
}

.information_list li:last-child {
   border-bottom: 1px dotted #C2C2C2;
}

.date_tag {
   color: #221815;
   display: block;
   min-width: 90px;
}

.date_cont {
   color: #221815;
   font-size: 0.8em;
   display: block;
   text-align: center;
}

.data_tag_set {
   /* display: flex; */
   align-items: center;
   margin-bottom: 7px;
}

@media screen and (min-width: 980px) {
   .date_tag {
      min-width: 128px;
   }

   .data_tag_set {
      margin-bottom: 0.4rem;
   }

   .newsinfo {
      background-size: 35%;
      position: relative;
      z-index: 0;
   }

   .newsinfo h2 {
      font-size: 3.3em;
      line-height: 1;
      margin-top: 0px;
      margin-bottom: 0px;
   }

   .newstitle_cap {
      font-size: 0.4em !important;
      color: #676767;
   }

   .info-box {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      margin: 1.2em auto 0em;
   }

   .infowrap {
      max-width: 1421px;
      padding: 30px 100px 0;
      margin: 0 auto;
   }

   .info-title-box {
      padding: 0;
      margin: 0 auto;
      width: 40%;
   }

   .info-box .wrap-inner {
      width: 60%;
   }

   .information_list li {
      /*   display: flex*/
   }

   .information_list a {
      display: flex;
   }

   .date_tag {
      margin: 0px;
   }

   .information_list {
      margin: 0 auto 4.5em;
      padding: 0;
   }

   .news_category_set {
      margin-top: 0;
   }

   .btn_news a {
      /* padding: 10px 25px; */
   }
}

/*NEWS post*/
.featured {
   background-color: #221815;
   border-radius: 15px;
   color: #fff;
   display: inline-block;
   font-size: 75%;
   margin-bottom: 1rem;
   margin: 0 12px;
   padding: 4px 10px 3px;
   text-transform: uppercase;
}

.featured+.cat-links {
   display: inline-block;
}

.recruit_tag {
   background-color: #1F2A66;
   border-radius: 15px;
   color: #fff;
   display: inline-block;
   font-size: 75%;
   margin-bottom: 1rem;
   margin: 0 12px;
   padding: 4px 12px 3px;
   text-transform: uppercase;

}

.recruit_tag+.cat-links {
   display: inline-block;
}


/*recruiting*/
.recruiting {
   /*width: 100vw;
   margin-left: calc(-50vw + 50%);
   background-color: #F1F1F1;
   background-image: url(../././images/btn_recruit.jpg);
   background-repeat: no-repeat;
   background-position: top left;*/
}

.recruiting h2 {
   margin: 0;
}

.mask {
   overflow: hidden;
   position: relative;
   display: block;
}

.bg-recruit {
   display: flex;
   height: 403px;
   /*   overflow: hidden;*/
   width: 100vw;
   margin-left: calc(-50vw + 50%);
}

.bg-recruit a {
   margin: 0 auto;
   width: 100%;
   position: relative;
   z-index: 1;
   text-decoration: none;
}

.bg-recruit:after {
   position: absolute;
   content: "";
   display: block;
   width: 101%;
   height: 403px;
   background: url(../././images/sp_btn_recruit.jpg) no-repeat center center;
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -ms-background-size: cover;
   background-size: cover;
   -webkit-transition: all .3s ease-out;
   -moz-transition: all .3s ease-out;
   -ms-transition: all .3s ease-out;
   transition: all .3s ease-out;
   filter: brightness(60%);
}

@media screen and (min-width: 763px) {
   .bg-recruit {
      display: flex;
      height: 463px;
      /*   overflow: hidden;*/
      width: 100vw;
      margin-left: calc(-50vw + 50%);
   }

   .bg-recruit:after {
      height: 463px;
      background: url(../././images/btn_recruit.jpg) no-repeat center center;
      -webkit-background-size: cover;
      -moz-background-size: cover;
      -ms-background-size: cover;
      background-size: cover;
      -webkit-transition: all .3s ease-out;
      -moz-transition: all .3s ease-out;
      -ms-transition: all .3s ease-out;
      transition: all .3s ease-out;
      filter: brightness(60%);
   }
}

.bg-recruit:hover:after {
   filter: brightness(100%);
}

.bg-recruit .container {
   width: 100%;
   margin: 50px 30px;
}

@media screen and (min-width: 763px) {
   .bg-recruit .container {
      max-width: 1400px;
      margin: 50px auto;
      padding: 0 90px;
   }
}

.bg-recruit .container h2 {
   font-size: 3em;
   color: #fff;
   line-height: 0.5;
   text-align: left;
   padding-bottom: 0;
}

.bg-recruit .container h2:before {
   border-bottom: none;
   border-image: none;
}

.bg-recruit .container h2>.recreuittitle_cap {
   font-size: 0.4em !important;
   color: #fff;
   font-weight: 500;
}

.bg-recruit .container .rec_cont {
   display: block;
   position: relative;
   top: 85px;
   min-height: 60px;
}

.rec_txt {
   color: #fff;
   text-shadow: 0 1px 0 #888,
      0 1px 0 #888,
      0 1px 1px #333;
   padding-right: 50px;
   font-size: 13px;
}

.rec_btn {
   color: #fff;
   text-align: center;
   padding: 15px 25px;
   border: 2px solid #fff;
   margin-right: 50px;
}

.rec_btn img {
   padding: 5px;
   width: 5%;
}

@media screen and (min-width: 763px) {
   .bg-recruit .container .rec_cont {
      display: flex;
      position: relative;
      top: 243px;
      height: 60px;
   }

   .rec_txt {
      max-width: 67%;
      margin: 0 70px 0 0;
      padding: 0;
      font-size: 100%;
   }

   .rec_btn {
      margin-right: 15px;
   }

   .rec_btn img {
      padding: 5px;
      width: 13%;
   }

}

/*contact_sec*/
.contact_sec {
   width: 100vw;
   margin-left: calc(-50vw + 50%);
   background-color: #F1F1F1;
   background-image: url(../././images/sp_bg_contact.jpg);
   background-repeat: no-repeat;
   background-position: top center;
   background-size: cover;
   text-align: center;
}

.contact_sec .container {
   width: 90%;
   margin: 0 auto;
   min-height: 416px;
   padding: 70px 0 50px;
}

.contact_wrap {
   padding: 20px;
   background-color: rgba(255, 255, 255, 0.8);
   box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
   margin: 0 auto;
}

@media screen and (min-width: 980px) {
   .contact_sec {
      width: 100vw;
      margin-left: calc(-50vw + 50%);
      background-color: #F1F1F1;
      background-image: url(../././images/bg_contact.jpg);
      background-repeat: no-repeat;
      background-position: top center;
      background-size: cover;
      text-align: center;
   }

   .contact_wrap {
      padding: 20px auto;
      background-color: rgba(255, 255, 255, 0.8);
      display: flex;
      justify-content: center;
      width: 80%;
      box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
      margin: 0 auto;
   }
}

.contact_sec .container h2 {
   font-size: 3em;
   color: #221815;
   line-height: 0.5;
   margin-bottom: 15px;
   margin-top: 0 !important;
   border: none;
}

.contact_sec .container h2:before {
   background-image: none;
   border: none;
   border-image: none;
}

.contact_sec .container h2:after {
   background-image: none;
   border: none;
   border-image: none;
}

.contact_sec .container h2>.contacttitle_cap {
   font-size: 0.4em !important;
   color: #221815;
   font-weight: 500;
}

.contact_wrap p {
   margin: 0;
}

.contact_telbox {
   color: #221815;
   border-right: none;
}

.contact_telbox p {
   line-height: 1.7;
}

.contact_telbox p.sp_lineh {
   line-height: 1;
   font-size: 18px;
   font-weight: bold;
   color: #555;
}

@media screen and (min-width: 980px) {
   .contact_telbox {
      border-right: 1px solid #D1D1D1;
   }

   .contact_telbox p.sp_lineh {
      line-height: 1.5;
      font-size: 100%;
      color: #221815;
      font-weight: 500;
   }

   .contact_telbox p {
      line-height: 1.5;
   }
}

.contact_telbox a {
   letter-spacing: 2px;
   text-decoration: none;
   font-size: 3rem;
   color: #221815;
   font-weight: 900;
   padding-bottom: 5px;
   border-bottom: 1px solid #d1d1d1;
}

::-webkit-full-page-media, :future, :root .contact_telbox a {
   font-weight: 500;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
   ::i-block-chrome, .contact_telbox a {
      font-weight: 500;
   }
}

.contact_telbox i {
   display: none;
}

.contact_telbox a:hover {
   opacity: 0.5;
   transform: scale(1.05);
}

.contact_formbox {
   color: #221815;
   margin: 0 auto;
}

.contact_sec h2 {
   margin: 0px auto;
   color: #221815;
   font-size: 2em;
   text-align: center;
}

.btn_form a {
   font-size: 1em;
   background: #221815;
   position: relative;
   border-radius: 5px;
   align-items: center;
   display: block;
   margin: 20px auto;
   max-width: 280px;
   padding: 18px;
   color: #fff;
   transition: 0.3s ease-in-out;
   font-weight: 500;
   text-decoration: none;
   text-align: center;
}

.btn_form a:after {
   content: "";
   position: absolute;
   top: 50%;
   bottom: 0;
   right: 1rem;
   font-size: 90%;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: right 0.3s;
   width: 6px;
   height: 6px;
   border-top: solid 2px currentColor;
   border-right: solid 2px currentColor;
   transform: translateY(-50%) rotate(45deg);
}

.btn_form a:hover {
   opacity: 0.5;
}

.btn_form a:hover:after {
   right: 0.8rem;
}

@media screen and (min-width: 980px) {
   .contact_telbox {
      width: 49%;
      color: #221815;
      padding: 30px;
      border-right: 1px solid #D1D1D1;
   }

   .contact_telbox a {
      letter-spacing: 3px;
      text-decoration: none;
      font-size: 2.5rem;
      color: #221815;
      font-weight: 900;
      border-bottom: none;
   }

   .contact_telbox i {
      font-size: 85%;
      margin-right: 5px;
      display: inherit;
   }

   .contact_formbox {
      color: #221815;
      padding: 30px;
      margin: 0 auto;
   }

   .btn_form a {
      font-size: 1em;
      background: #221815;
      position: relative;
      border-radius: 5px;
      align-items: center;
      display: block;
      margin: 5px auto;
      min-width: 142px;
      padding: 18px 80px;
      color: #fff;
      transition: 0.3s ease-in-out;
      font-weight: 500;
      text-decoration: none;
      text-align: center;
   }
}

@media screen and (min-width: 1200px) {
   .contact_telbox a {
      font-size: 2.8em;
   }
}

/* under-page
------------------------------------------------------------ */
/*basicprocess*/
.flow {
   max-width: 900px;
   /*  border: 3px solid rgb(107,144,219);*/
   list-style-type: none;
   margin: 0 auto;
}

.flow>li {
   padding: 20px 5px 10px;
}

.flow>li:not(:last-child) {
   border-bottom: 3px solid rgb(201, 202, 202);
   position: relative;
}

.flow>li:not(:last-child)::before,
.flow>li:not(:last-child)::after {
   content: "";
   border: solid transparent;
   position: absolute;
   top: 100%;
   left: 13.5%;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
}

@media screen and (min-width:980px) {

   .flow>li:not(:last-child)::before,
   .flow>li:not(:last-child)::after {
      content: "";
      border: solid transparent;
      position: absolute;
      top: 100%;
      left: 10.5%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
   }
}

.flow>li:not(:last-child)::before {
   border-width: 22px;
   border-top-color: rgb(201, 202, 202);
}

.flow>li:last-child {
   border-bottom: 3px solid rgb(201, 202, 202);
}

.flow>li:not(:last-child)::after {
   border-width: 18px;
   border-top-color: #fff;
}

.flow>li dl {
   margin: 0;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
}

.flow>li dl dt {
   font-size: 18px;
   font-weight: 600;
   color: rgb(34, 24, 21);
   -ms-flex-preferred-size: 20%;
   flex-basis: 20%;
   margin-right: 1vw;
   text-align: center;
}

.flow>li dl dd {
   font-size: 16px;
}

.flow>li dl dt .icon {
   font-size: 12px;
   color: #fff;
   background: rgb(114, 120, 152);
   background: rgb(114, 120, 152);
   background: rgb(31, 42, 102);
   background: -moz-linear-gradient(307deg, rgba(31, 42, 102, 1) 34%, rgba(114, 120, 152, 1) 90%);
   background: -webkit-linear-gradient(307deg, rgba(31, 42, 102, 1) 34%, rgba(114, 120, 152, 1) 90%);
   background: linear-gradient(307deg, rgba(31, 42, 102, 1) 34%, rgba(114, 120, 152, 1) 90%);
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#1f2a66", endColorstr="#727898", GradientType=1);
   padding: 5px 10px;
   margin: 10px auto 5px;
   display: block;
   border-radius: 20px;
   width: 80%;
}

/*etching flexible_substrates
------------------------------------------------------------ */
/*エッチング他実績フレキシブル基板*/
.etcing_ulbox {
   list-style-type: none;
   margin-left: 0;

}

.etcing_ulbox li {
   background: rgba(114, 120, 152, 0.4);
   background: rgba(114, 120, 152, 0.4);
   background: rgba(31, 42, 102, 0.4);
   background: -moz-linear-gradient(307deg, rgba(31, 42, 102, 0.4) 34%, rgba(114, 120, 152, 0.4) 90%);
   background: -webkit-linear-gradient(307deg, rgba(31, 42, 102, 0.4) 34%, rgba(114, 120, 152, 0.4) 90%);
   background: linear-gradient(307deg, rgba(31, 42, 102, 0.4) 34%, rgba(114, 120, 152, 0.4) 90%);
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#1f2a66", endColorstr="#727898", GradientType=1);
   padding: 15px;
   margin: 5px 0;
}

.flexible_substrate {
   list-style-type: none;
   margin-left: 0;
   display: flex;
   justify-content: start;
}

.flexible_substrate li {
   background: rgba(114, 120, 152, 0.4);
   background: rgba(114, 120, 152, 0.4);
   background: rgba(31, 42, 102, 0.4);
   background: -moz-linear-gradient(307deg, rgba(31, 42, 102, 0.4) 34%, rgba(114, 120, 152, 0.4) 90%);
   background: -webkit-linear-gradient(307deg, rgba(31, 42, 102, 0.4) 34%, rgba(114, 120, 152, 0.4) 90%);
   background: linear-gradient(307deg, rgba(31, 42, 102, 0.4) 34%, rgba(114, 120, 152, 0.4) 90%);
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#1f2a66", endColorstr="#727898", GradientType=1);
   padding: 10px 30px;
   margin: 5px 25px;
}

.flexible_substrate li:first-child {
   margin: 5px 25px 5px 0;
}


/*liftoff
------------------------------------------------------------ */
/*リフトオフ*/
@media screen and (min-width:980px) {
   .liftoff_inner {
      min-width: 800px;
      margin: 0 auto;
   }

   .liftoff_inner>.wp-block-column::after {
      content: "";
      position: absolute;
      top: 53%;
      bottom: 0;
      margin-left: -40px;
      display: flex;
      justify-content: center;
      align-items: center;
      transition: right 0.3s;
      width: 20px;
      height: 20px;
      border-top: solid 5px currentColor;
      border-right: solid 5px currentColor;
      transform: translateY(-50%) rotate(45deg);
   }

   .liftoff_inner>.wp-block-column:first-child::after {
      border: none;
   }
}


/* COMPANY
------------------------------------------------------------ */
/*会社概要*/
.groupcompany {
   line-height: 1.5;
}

.groupcompany:before {
   padding-right: 5px;
   content: "●";
}

.groupcompany:last-child {
   margin-bottom: 0;
}


/*沿革*/
.c-timeline {
   margin: 0;
   padding: 0 15px;
}

.c-timeline__item {
   position: relative;
   display: flex;
   gap: 1.5rem;
}

.c-timeline__item:last-child .c-timeline__content:before {
   display: none;
}

.c-timeline__content {
   flex: 1;
   position: relative;
   order: 1;
   padding-left: 1.5rem;
   padding-bottom: 3rem;
}

.c-timeline__content:before {
   content: "";
   position: absolute;
   right: 100%;
   top: 10px;
   height: 100%;
   width: 2px;
   background-color: lightgrey;
}

.c-timeline__content:after {
   content: "";
   position: absolute;
   left: calc(0px - 11px);
   top: 2px;
   width: 20px;
   height: 20px;
   background-color: lightgrey;
   z-index: 1;
   border-radius: 50%;
}

.c-timeline__title {
   font-weight: bold;
   margin-bottom: 0.5rem;
}

.c-timeline__content>h3 {
   margin: 0;
   font-size: 1em;
   font-style: italic;
   padding: 0 !important;
   background-image: none !important;
}

.c-timeline__desc {
   color: grey;
}

time {
   text-align: end;
   flex: 0 0 40px;
   min-width: 0;
   overflow-wrap: break-word;
   padding-bottom: 1rem;
   color: #1F2A66;
}

::-webkit-full-page-media, :future, :root time {
   flex: 0 0 45px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
   ::i-block-chrome, time {
      flex: 0 0 45px;
   }
}


/*社是*/
.syaze {
   line-height: 1;
   font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}

.syaze>p {
   margin-bottom: 0 !important;
}

.syaze1 {
   font-size: 2.5em;
   font-weight: bold;
   margin-bottom: 15px;
}

@media screen and (max-width:600px) {
   .syaze1 {
      font-size: 2em;
      font-weight: bold;
      margin-bottom: 15px;
   }
}

.syaze2 {
   margin-bottom: 15px;
}

/* RECRUIT
------------------------------------------------------------ */
.page-id-19 .entry-content {
   padding-top: 0;
}

.page-id-19 .entry-content>*:first-child {
   margin-top: 0px
}

.page-id-19 h2 {
   text-align: center;
}

.messageh2:before {
   border: none;
}


.page-id-19 h2:after {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 100%;
   height: 6px;
   content: '';
}

.recruitintro {
   width: 100vw;
   margin-left: calc(-50vw + 50%);
   background-repeat: no-repeat;
   background-position: center top;
   background-size: cover;
   height: 0;
   padding-top: 583px;
   background-image: url(/wp-content/uploads/2023/04/bg_recruit_top_bg.jpg);
   position: relative;

}

.recruit_text {
   top: 30%;
   left: 7%;
   position: absolute;
}

.recruit_message {
   background-image: none;
}

.recruit_message h2 {
   margin: 0px !important;
   padding: 40px 0;
   line-height: 0.5;
   color: #221815;
}

.recruit_message h2:after {
   border: none;
   background-image: none;
}

.recruit_message h2 .message_cap {
   font-size: 16px !important;
   font-weight: 500;
}



@media screen and (min-width:763px) {
   .recruitintro {
      background-size: cover;
      display: flex;
      padding-top: 530px;
      align-items: center;
      background-image: url(/wp-content/uploads/2023/03/bg_recruit.jpg);
      align-items: center;
   }

   .recruit_text {
      top: 30%;
      left: 7%;
      position: absolute;
      display: block;
   }

   .recruit_message_text {
      min-width: 1000px;
      margin: 0 70px;
   }

   .recruit_message h2 {
      margin: 0px;
      padding: 60px 0;
      line-height: 0.5;
      font-size: 3em;
      color: #221815;
   }

   .recruit_message h2 .message_cap {
      font-size: 16px !important;
      font-weight: 500;
   }
}

@media screen and (min-width:980px) {
   .recruitintro {
      background-size: cover;
      padding-top: 814px;
      display: flex;
      align-items: center;
   }

   .recruit_message {
      width: 100vw;
      margin-left: calc(-50vw + 50%);
      background-repeat: no-repeat;
      background-position: bottom right;
      background-size: contain;
      background-image: url(/wp-content/uploads/2023/03/bg_recruit_message.jpg);
   }

   .recruit_text {
      top: 30%;
      left: 7%;
      position: absolute;
   }
}

a.recruit_entry {
   display: flex;
   justify-content: center;
   align-items: center;
   position: relative;
   overflow: hidden;
   text-decoration: none;
   height: 4rem;
   max-width: 300px;
   margin: auto;
   padding: 1rem 4rem;
   border-radius: 100vw;
   background: #6a6e78;
   background-size: 400%;
   color: #fff;
   font-weight: bold;
   font-size: 20px;
}

a.recruit_entry:hover::before {
   transform: scaleX(1);
}

a.recruit_entry:hover {
   color: #fff;
}

a.recruit_entry:hover::after {
   content: ">";
   margin-left: 5px;
}

a.recruit_entry:after {
   content: ">";
   margin-left: 5px;
}

a.recruit_entry span {
   position: relative;
   z-index: 1;
}

a.recruit_entry::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   transform: scaleX(0);
   transform-origin: 0 50%;
   width: 100%;
   height: inherit;
   padding: 1rem 4rem;
   border-radius: inherit;
   background: linear-gradient(82.3deg,
         rgba(39, 172, 217, 1) 10.8%,
         rgba(18, 83, 229, 1) 94.3%);
   transition: all 0.475s;
}

/*採用ステップ*/
:root {
   --circle-size: clamp(1.5rem, 5vw, 3rem);
   --spacing: clamp(0.25rem, 2vw, 0.5rem);
}

.c-stepper {
   display: flex;
   margin: 0;
}

.c-stepper__item {
   display: flex;
   flex-direction: column;
   flex: 1;
   text-align: center;
}

.c-stepper__item:before {
   --size: 3rem;
   content: "";
   display: block;
   width: var(--circle-size);
   height: var(--circle-size);
   border-radius: 50%;
   background-color: lightgrey;
   background-color: #1F2A66;
   opacity: 0.5;
   margin: 0 auto 1rem;
}

.c-stepper__item:not(:last-child):after {
   content: "";
   position: relative;
   top: calc(var(--circle-size) / 2);
   width: calc(100% - var(--circle-size) - calc(var(--spacing) * 2));
   left: calc(50% + calc(var(--circle-size) / 2 + var(--spacing)));
   height: 2px;
   background-color: #e0e0e0;
   order: -1;
}

.c-stepper__title {
   font-weight: bold;
   font-size: clamp(1rem, 4vw, 1.25rem);
   margin-bottom: 0.5rem;
}

.c-stepper__desc {
   color: grey;
   font-size: clamp(0.85rem, 2vw, 1rem);
   padding-left: var(--spacing);
   padding-right: var(--spacing);
}

.c-stepper h3 {
   margin: 0;
   padding: 0px;
   background-image: none;
}

/*ƒP¤­·½¥Ç©`¥¿*/
.workdata-container {
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   flex-wrap: wrap;
   list-style: none;
   justify-content: space-between;
}

.workdata ul {
   margin: 0;
}

.workdata ul li {
   padding: 15px;
}

.workdata p {
   margin-bottom: 0;
   font-size: 95%;
}

.workdata i {
   padding-right: 5px;
}

.workdata-container h3 {
   color: rgb(31, 42, 102);
   margin: 0 auto 0.5em;
   background-image: none;
   padding: 0;
}

.workdata-container .workdata-cont {
   width: 100%;
   padding: 25px auto;
   background-color: #E8EAE9;
   margin-bottom: 5px;
   flex: 1 1 auto;
}

@media screen and (min-width:769px) {
   .workdata-container .workdata-cont {
      width: 33%;
      padding: 25px 15px;
      text-align: center;
      margin-right: 5px;
   }

   .workdata-container .workdata-cont:nth-child(3, 6, 8) {
      margin-right: 0px;
   }
}

@media screen and (min-width:980px) {
   .workdata-container .workdata-cont {
      width: 20%;
      padding: 20px;
      text-align: center;
   }

   .workdata-container .workdata-cont p {
      font-size: 90%;
   }
}

/*recruit_space*/
.recruit_space {
   width: 100vw;
   margin-left: calc(-50vw + 50%);
   background-repeat: no-repeat;
   background-position: center top;
   background-size: cover, contain;
   height: 300px;
   padding: 7em 0;
}

@media screen and (min-width:980px) {
   .recruit_inner_news {
      width: 800px;
      margin: 0 auto;
   }
}

.wp-block-cover-image.has-background-dim:not([class*=-background-color]), .wp-block-cover-image .has-background-dim:not([class*=-background-color]), .wp-block-cover.has-background-dim:not([class*=-background-color]), .wp-block-cover .has-background-dim:not([class*=-background-color]) {
   background-color: snow !important;
}


/***************************************************************************************
    お問合せ, /contact/
****************************************************************************************/
.contact h2 {
   background-image: none;
   padding: 0;
}

fieldset {
   margin: 2em 0.5em !important;
   font-size: 13px;
}

.contactbox {
   padding: 0px;
   background-color: rgba(10, 77, 37, 0.1);
}

.contactset {
   margin: 0 auto;
}

.text-red {
   color: #DC3232;
}

.remark {
   border-radius: 5px;
   background-color: #DC3232;
   color: #fff;
   padding: 3px 10px;
   font-size: 12px;
   margin: 0 12px;
}

.form_line {
   display: block;
   padding: 15px 0;
   margin: 0 50px;
   border-bottom: 1px solid #ddd;
}

.form_line:first-child {
   border-top: 1px solid #ddd;
}

.query {
   width: 100%;
   margin-bottom: 5px;
   font-weight: bold;
   display: inline-block;
}

@media screen and (min-width:763px) {
   .query {
      width: 100%;
      margin-bottom: 5px;
      font-weight: bold;
      display: inline-block;
   }
}

.form_line p {
   margin: 0;
}

.mwform-checkbox-field input {
   font-weight: bold;
}

.text-center p {
   margin: 0;
   padding: 0 15px;
}

@media screen and (min-width:980px) {
   .contactbox {
      padding: 30px;
   }

   fieldset {
      margin: 2em 5em !important;
      font-size: 16px;
   }

   .form_line {
      display: flex;
      flex-direction: row;
      align-items: center;
      margin: 0 50px;
   }

   .query {
      width: 30%;
      margin-bottom: 0;
   }
}

@media screen and (max-width:600px) {
   input[type="submit"] {
      margin-bottom: 2em;
   }

   .contactbox {
      padding-top: 2em;
   }
}

.mw_wp_form_input .open-area {
   display: none;
}

.grecaptcha-badge {
   display: none;
}

@media screen and (min-width:601px) {
   .contactbox p.recaptcha_txt {
      margin-top: 20px;
   }
}

@media screen and (max-width:600px) {
   .contactbox p.recaptcha_txt {
      padding-bottom: 30px;
   }
}

/*EFFECT*/
/*==================================================
　動き
===================================*/

/* ふわっ　フェードイン */

/* その場で */
.fadeIn {
   animation-name: fadeInAnime;
   animation-duration: 1.2s;
   animation-fill-mode: forwards;
   opacity: 0;
}

@keyframes fadeInAnime {
   from {
      opacity: 0;
   }

   to {
      opacity: 1;
   }
}

/* 下から */

.fadeUp {
   animation-name: fadeUpAnime;
   animation-duration: 0.9s;
   animation-fill-mode: forwards;
   opacity: 0;
}

@keyframes fadeUpAnime {
   from {
      opacity: 0;
      transform: translateY(100px);
   }

   to {
      opacity: 1;
      transform: translateY(0);
   }
}

/* 上から */

.fadeDown {
   animation-name: fadeDownAnime;
   animation-duration: 0.5s;
   animation-fill-mode: forwards;
   opacity: 0;
}

@keyframes fadeDownAnime {
   from {
      opacity: 0;
      transform: translateY(-100px);
   }

   to {
      opacity: 1;
      transform: translateY(0);
   }
}

/* 左から */

.fadeLeft {
   animation-name: fadeLeftAnime;
   animation-duration: 1.2s;
   animation-fill-mode: forwards;
   opacity: 0;
}

@keyframes fadeLeftAnime {
   from {
      opacity: 0;
      transform: translateX(-100px);
   }

   to {
      opacity: 1;
      transform: translateX(0);
   }
}

/* 右から */

.fadeRight {
   animation-name: fadeRightAnime;
   animation-duration: 1.2s;
   animation-fill-mode: forwards;
   opacity: 0;
}

@keyframes fadeRightAnime {
   from {
      opacity: 0;
      transform: translateX(100px);
   }

   to {
      opacity: 1;
      transform: translateX(0);
   }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
   opacity: 0;
}


/* アニメーションスタートの遅延時間を決めるCSS*/

.delay-time02 {
   animation-delay: 0.2s;
}

.delay-time04 {
   animation-delay: 0.4s;
}

.delay-time06 {
   animation-delay: 0.6s;
}

.delay-time08 {
   animation-delay: 0.8s;
}

.delay-time10 {
   animation-delay: 1s;
}

.delay-time12 {
   animation-delay: 1.2s;
}