/*
 Theme Name:cstec_film
 Description:
 Theme URI:
 Author:ILL
 Author URI:
 Version:
 License:
 License URI:
*/
@charset "utf-8";
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 400;
   src: url(font/noto_regular.woff) format('woff'),
        url(font/noto_regular.eot) format('embedded-opentype'),
        url(font/noto_regular.ttf) format('truetype');
 }
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 700;
   src: url(font/noto_bold.woff) format('woff'),
        url(font/noto_bold.eot) format('embedded-opentype'),
        url(font/noto_bold.ttf) format('truetype');
 }

/* base style
=====================================================================*/

html, body, div, span, a, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: transparent;
  box-sizing: border-box;
}

input,textarea {
  box-sizing: border-box;
  font-size: 15px;
}

img {
  max-width: 100%;
}

ul,
ol {
  padding: 0;
  margin: 0;
}

ul li,
ol li {
  list-style: none;
}

* {
  font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", meiryo, sans-serif;
  font-weight: 400;
}

body {
  background: #FFF;
  min-width: 1260px;
  font-size: 15px;
  color: #0A172C;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  margin: 0;
  letter-spacing: 0.08em;
  line-height: 1.8;
}

*::selection {
  background: #CFD3DE;
}

.lock {
  overflow: hidden;
  position: relative;
  height: auto;
}
.lock .sp_navi_wrap.active,
.lock #header{
  top: 0!important;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
textarea {
  font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", meiryo, sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.8;
  outline: none;
  padding: 12px 20px;
  border-radius: 0;
  width: 100%;
  background: #F6F6F6;
  border: none;
  box-sizing: border-box;
  -webkit-appearance: none;
}

input[type="checkbox"] {
  width: auto;
  margin: 5px;
  vertical-align: middle;
}

textarea {
  height: 200px;
}

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

.input_label {
  display: inline-block;
  margin: 0 11px 0 3px;
}

input::-ms-clear {
  visibility: hidden;
}

button::-moz-focus-inner{
  border :0px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

select {
  outline: none;
}

table {
  border-collapse: collapse;
}

.sec {
  padding: 80px 0 110px;
  width: auto;
}

.sec.min {
  padding: 75px 0 80px;
}

.sec.border_btm {
  border-bottom: 1px solid #DCDCDC;
}

.wrap {
  width: 1200px;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}

.wrap:after {
  content: "";
  display: block;
  clear: both;
}

.wrap.min {
  width: 1100px;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

p {
  letter-spacing: 0.08em;
  line-height: 1.8;
  margin: 0 0 15px 0;
}

p.wide {
  margin: 0 0 25px;
}

p.border_top {
  border-top: 1px solid #DCDCDC;
  padding-top: 23px;
  margin-top: 23px;
  width: 100%;
}

dl,
dt,
dd {
  letter-spacing: 0.08em;
  line-height: 1.8;
  margin: 0;
}

img {
  width: auto;
  height: auto;
}

.img_wrap img {
  display: block;
  position: relative;
  max-width: 100%;
}

.center {
  text-align: center;
}

.bold {
  font-weight: bold;
}

.sp_only {
  display: none !important;
}

@media screen and (max-width: 768px) {
  input,
  textarea {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  html, body {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  input,
  textarea {
    padding: 6px 2%;
    width: 100%;
  }
  input[type="text"], input[type="tel"], input[type="email"], input[type="password"], textarea {
    background: #FFF;
    border: 1px solid #DDDDDD;
    padding: 7px 11px;
  }
  body {
    width: 100%;
    min-width: 100%;
    font-size: 14px;
    letter-spacing: 0.05em;
  }
  p {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2.0;
  }
  p.wide{
    margin: 0 0 15px;
  }
  p.border_top {
    padding-top: 11px;
    margin-top: 5px;
    line-height: 1.8;
  }
  body.lock{
    overflow: hidden;
  }
  .sec {
    padding: 45px 0 70px;
    background: #FFF;
  }
  .sec.min {
    padding: 45px 0 55px;
  }
  .wrap {
    width: 100%;
    padding: 0 4%;
  }
  .wrap.min {
    width: 100%;
  }
  .wrap.bg_white {
    margin: 0 auto;
    width: 92%;
    padding: 0;
  }
  .pc_only {
    display: none !important;
  }
  .sp_only {
    display: block !important;
  }
  .sp_center {
    text-align: center;
  }
}

/* float設定 */

.f_wrap:after {
  display: block;
  content: "";
  clear: both;
}

.f_left {
  float: left;
}

.f_right {
  float: right;
}

@media screen and (max-width:767px) {
  .f_left, .f_right {
    float: none;
  }
}

/* flex-box設定 */

.flex_wrap {
  display: flex;
  flex-wrap: wrap;
}

.flex_wrap.align_center {
  align-items: center;
}

.flex_wrap.justify_center {
  justify-content: center;
}

/* color設定 他 */

.white {
  color: #FFF;
}

.blue {
  color: #1F529D;
}

.bg_gray {
  background-color: #F8F8F8;
}

.bg_gray_pc {
  background-color: #F8F8F8;
}
.bg_white {
  background-color: #FFF;
}

.bg_blue {
  background-color: #EEF1F7;
}

.txt_shadow {
  color: #FFF;
  text-shadow: 0px 0px 15px rgba(0,0,0,0.5);
}

.t_right {
  text-align: right;
}


/* width・height設定 */

.w290 {width: 290px;}
.w360 {width: 360px;}
.w420 {width: 420px;}
.w460 {width: 460px;}
.w520 {width: 520px;}
.w550 {width: 550px;}
.w590 {width: 590px;}
.w600 {width: 600px;}
.w730 {width: 730px;}
.w1000 {width: 1000px; margin: 0 auto;}
.h108 {height: 108px;}
.h180 {height: 180px;}

@media screen and (max-width:767px) {
  .w290,.w360,.w420,.w460,.w520,.w550,.w590,.w600,.w730,.w1000 {width: 100%;}
  .h108,.h180 {height: auto;}
}

/* column box 設定 */

.col2_box__wrap,
.col3_box__wrap {
  margin-bottom: 15px;
}

.col5_box__wrap {
  margin-bottom: 25px;
}

.col2_box,
.col3_box,
.col4_box,
.col5_box {
  display: inline-block;
  vertical-align: top;
}

.col2_box {
  margin: 0 55px 100px 0;
  width: 520px;
}

.col3_box {
  margin-right: 20px;
  width: 350px;
}

.col4_box__wrap {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

.col4_box {
  width: 260px;
  margin: 0 20px 10px 0;
}
.col4_box:nth-of-type(4n) {
  margin-right: 0;
}
.col4_box .img_wrap {
  margin-bottom: 10px;
}
.col4_box .btn_wrap {
  margin-top: 15px;
}
.col4_box .btn {
  width: 250px;
}

.col5_box {
  margin-right: 20px;
  width: 200px;
}

.col2_box:nth-child(2n),
.col3_box:nth-child(3n),
.col5_box:nth-child(5n) {
  margin-right: 0;
}

.col2_box .img_wrap {
  margin-bottom: 20px;
}

.col3_box .img_wrap {
  margin-bottom: 10px;
}
.col3_box.sp_col2 {
  margin-bottom: 20px;
}
.col2_box img,
.col3_box img,
.col5_box img {
  display: block;
}

.movie_3col_wrap .h_blue_border_left{
  font-size: 17px;
  margin: 6px 0 10px;
}
.movie_3col_wrap .col3_box {
  margin-top: 26px;
}
.movie_3col_wrap .col3_box:nth-child(1),
.movie_3col_wrap .col3_box:nth-child(2),
.movie_3col_wrap .col3_box:nth-child(3){
  margin-top: 0px;
}
.movie_3col iframe {
  width: 100%;
  height: 196px;
}

@media screen and (max-width:767px) {
  .col5_box__wrap {
    margin-bottom: 5px;
  }
  .col2_box,
  .col3_box {
    width: 100%;
    display: block;
  }
  .col2_box {
    margin: 0 0 50px;
  }
  .col3_box {
    margin: 0 0 20px;
  }
  .col5_box,
  .col3_box.sp_col2 {
    margin: 0 3% 15px 0;
    width: 47.7%;
  }
  .col3_box.sp_col2 {
    display: inline-block;
  }
  .col3_box.sp_col2:nth-child(3n) {
    margin: 0 3% 15px 0;
  }

  .col3_box:nth-child(3n) {
    margin: 0 0 20px;
  }
  .col5_box:nth-child(5n) {
    margin: 0 3% 15px 0;
  }
  .col5_box:nth-child(2n),
  .col3_box.sp_col2:nth-child(2n) {
    margin: 0 0 15px 0;
  }
  .col2_box .img_wrap {
    margin-bottom: 12px;
  }
  .col3_box .img_wrap {
    margin-bottom: 8px;
  }
  .col2_box .btn_wrap {
    margin: 20px 0 0;
  }
  .movie_3col_wrap .h_blue_border_left{
    font-size: 16px;
    margin: 6px 0 5px;
  }
  .movie_3col_wrap .col3_box,
  .movie_3col_wrap .col3_box:nth-child(2),
  .movie_3col_wrap .col3_box:nth-child(3) {
    margin-top: 30px;
  }
  .movie_3col iframe {
    width: 100%;
    height: calc( 92vw * 0.56);
  }
  .bg_gray_pc {
    background: none !important;
  }
  .bt_gray_sp{
    border-top: 1px solid #eee;
  }

  .col4_box {
    width: calc(50% - 10px);
    margin: 0 3% 15px 0;
    width: 47.7%;
  }
  .col4_box:nth-of-type(2n) {
    margin: 0 0 15px 0;
  }
  .col4_box:nth-of-type(4n) {
    margin: 0 0 15px 0;
  }
  .col4_box.sp_col1 {
    width: 100%;
    margin: 0 0 30px 0;
  }
  .col4_box.sp_col1:nth-of-type(2n) {
    margin: 0 0 30px 0;
  }
  .col4_box p,
  .col3_box.sp_col2 p {
    font-size: 13px;
    line-height: 1.5;
  }
  .col4_box.sp_col1 p {
    font-size: 14px;
    line-height: 2.0;
  }
}

/* 見出し設定
=====================================================================*/

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-weight: bold;
}

.h_border_btm {
  position: relative;
  text-align: center;
  font-size: 26px;
  padding: 0 0 22px;
  margin-bottom: 50px;
}
.sub_mb_text{
  display: block;
  font-weight: bold;
    margin-bottom: -6px;
  font-size: 25px;
  text-shadow: 0px 0px 15px rgba(0,0,0,0.5);
}

.h_border_btm:before,
.h_border_btm:after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  bottom: 0;
  width: 50px;
  height: 1px;
}

.h_border_btm:before {
  background: #22539D;
  right: 50%;
}

.h_border_btm:after {
  background: #E0393F;
  left: 50%;
}

.h_border_btm.wide {
  margin-bottom: 60px;
}

.h_border_btm.red {
  color: #DF333A;
}

.h_border_left {
  position: relative;
  font-size: 26px;
  padding: 53px 0 0 30px;
  margin-bottom: 53px;
}
.h_border_left.case_hbl{
  padding: 12px 0 12px 30px;
}

.h_border_left:before,
.h_border_left:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 50px;
}

.h_border_left:before {
  background: #22539D;
}

.h_border_left:after {
  top: 50px;
  background: #E0393F;
}

.h_border_left.min {
  font-size: 24px;
}

.h_border_left.contact {
  padding: 58px 0 0 30px;
  margin-bottom: 25px;
}

.h_border_left.flex {
  display: flex;
  align-items: center;
  height: 100px;
  padding: 0 0 0 30px;
  margin-bottom: 25px;
}

.h_border_left.interview__ttl {
  width: 455px;
  padding: 12px 0 0 30px;
  text-align: left;
  display: inline-block;
  color: #333333;
}

.h_blue {
  color: #1F529D;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 25px;
}

.h_red {
  color: #D2222B;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 25px;
}

.h_blue.big,
.h_red.big {
  font-size: 26px;
}

.h_blue_border_btm,
.h_red_border_btm {
  position: relative;
  text-align: center;
  font-size: 26px;
  color: #FFF;
  text-shadow: 0px 0px 15px rgba(0,0,0,0.75);
}

.h_blue_border_btm:after,
.h_red_border_btm:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  bottom: -18px;
  margin: auto;
  width: 50px;
  height: 1px;
}

.h_blue_border_btm:after { background: #3469C7; }
.h_red_border_btm:after { background: #DF333A; }

.h_blue_border_left,
.h_red_border_left {
  position: relative;
  font-size: 20px;
  padding-left: 10px;
  margin-bottom: 15px;
  font-weight: bold;
}

.h_blue_border_left {
  border-left: 4px solid #22539D;
}

.h_blue_border_left.min {
  font-size: 18px;
  line-height: 1.6;
}

.h_red_border_left {
  border-left: 4px solid #DF333A;
}

.h_border_btm_02 {
  font-size: 22px;
  padding-bottom: 25px;
  margin-bottom: 30px;
  border-bottom: 1px solid #DCDCDC;
  position: relative;
  font-weight: bold;
}

.h_border_btm_02:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 50px;
  height: 1px;
  background: #22539D;
}

.h_border_btm_02.min {
  margin-bottom: 21px;
}

.h_border_btm_02.red:before {
  background: #E0393F;
}

.h_border_btm_02.question {
  padding-left: 50px;
  margin-bottom: 20px;
}

.h_border_btm_02.question:after {
  position: absolute;
  content: url(img/common/icon_qusetion.png);
  display: inline-block;
  width: auto;
  height: auto;
  margin-right: 14px;
  left: 13px;
  top: 3px;
}

.h_border_btm_02.question.red {
  font-size: 20px;
  padding-bottom: 15px;
  color: #333333;
}

.h_border_btm_02.question.red:after {
  content: url(img/common/icon_question_red.png);
  display: inline-block;
  width: auto;
  height: auto;
  margin-right: 14px;
}

.h_blue_border_left__02 {
  position: relative;
  color: #1F529D;
  margin-bottom: 10px;
  font-weight: bold;
}

.h_blue_border_left__02:before {
  content: "";
  display: inline-block;
  background: #22539D;
  width: 22px;
  height: 1px;
  margin: 0 14px 4px 0px;
}

.h_bg_blue {
  font-size: 15px;
  font-weight: bold;
  color: #22539D;
  text-align: center;
  background: #EEF1F7;
  display: flex;            
  align-items: center;       
  justify-content: center;   
  min-height: 3.2em;
}

.h_bg_blue__02 {
  font-size: 16px;
  color: #FFF;
  text-align: center;
  background: #22539D;
  line-height: 54px;
}

@media screen and (max-width:767px) {
  .h_border_btm {
    font-size: 20px;
    padding: 0 0 14px;
    margin-bottom: 35px;
  }
  .sub_mb_text{
  font-size: 16px;
    }
  .h_border_btm:before,
  .h_border_btm:after {
    width: 40px;
  }
  .h_border_btm.wide {
    margin-bottom: 35px;
  }
  .h_border_left {
    font-size: 20px;
    padding: 45px 0 0 4%;
    margin-bottom: 30px;
  }
  .h_border_left.case_hbl{
    padding: 2% 0 2% 4%;
  }
  .h_border_left:before,
  .h_border_left:after {
    height: 40px;
  }
  .h_border_left:after {
    top: 40px;
  }
  .h_border_left.min {
    font-size: 18px;
  }
  .h_border_left.contact {
    font-size: 20px;
    padding: 45px 0 0 17px;
    margin-bottom: 5px;
  }
  .h_border_left.flex {
    padding: 0 0 0 4%;
    height: 85px;
    margin-bottom: 10px;
  }
  .h_border_left.interview__ttl {
    width: 100%;
    padding: 10px 4%;
    font-size: 16px;
    text-align: center;
    background: #E0393F;
    color: #FFF;
    font-weight: normal;
    margin-bottom: 20px;
  }
  .h_border_left.interview__ttl:before,
  .h_border_left.interview__ttl:after {
    display: none;
  }
  .h_border_left:before,
  .h_border_left:after{
    height: 50%;
  }
  .h_border_left:before{
    top:0;
    bottom:auto;
    }
    .h_border_left:after{
    top:auto;
    bottom:0;
    }
  .h_blue,
  .h_red {
    font-size: 17px;
    margin-bottom: 20px;
    padding-bottom: 17px;
    border-bottom: 1.5px solid #22539D;
  }
  .h_blue.big {
    font-size: 18px;
  }
  .h_blue_border_btm,
  .h_red_border_btm {
    font-size: 17px;
  }
  .h_blue_border_btm:after,
  .h_red_border_btm:after {
    width: 40px;
    bottom: -16px;
  }
  .h_blue_border_left.min {
    font-size: 16px;
  }
  .h_border_btm_02,
  .h_border_btm_02.min {
    font-size: 17px;
    padding-bottom: 16px;
    margin-bottom: 24px;
  }
  .h_border_btm_02:before {
    width: 40px;
  }
  .h_border_btm_02.question {
    padding-left: 30px;
    font-size: 15px;
  }
  .h_border_btm_02.question.red {
    font-size: 17px;
    padding-bottom: 12px;
    margin-bottom: 14px;
  }
  .h_border_btm_02.question:after {
    transform: scale(0.75);
    left: 2px;
    top: 0;
  }
  .h_blue_border_left__02:before {
    width: 17px;
    margin: 0 10px 4px 0px;
  }
  .h_bg_blue {
    font-size: 14px;
  }
  .h_bg_blue__02 {
    font-size: 15px;
    line-height: 44px;
  }
}

/* link, btn
=====================================================================*/

a {
  text-decoration: none;
  transition: 0.4s ease;
  color: #0A172C;
  -webkit-transition: 0.4s ease;
  -moz-transition: 0.4s ease;
  -o-transition: 0.4s ease;
}

button {
  font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", meiryo, sans-serif;
  border: none;
  cursor: pointer;
  transition: 0.4s;
  letter-spacing: 0.08em;
  outline: none;
}

.btn_wrap {
  margin: 45px 0 0;
}

.btn_wrap.min {
  margin: 30px 0 0;
}

.btn_wrap.border_top {
  margin: 40px 0 0;
  border-top: 1px solid #BCCBE1;
  padding-top: 33px;
}

.btn_wrap.border_bottom {
  margin: 0px 0 30px;
  border-bottom: 1px solid #BCCBE1;
  padding-bottom: 40px;
}

.btn {
  display: inline-block;
  text-decoration: none;
  position: relative;
  font-size: 15px;
  color: #FFF;
  background: #22539D;
  line-height: 25px;
  padding: 20px;
  width: 300px;
  box-shadow: 6px 6px 0px rgba(34,83,157,0.4);
  z-index: 1;
  text-align: left;
  letter-spacing: 0.08em;
}

.btn:after {
  content: "";
  display: block;
  position: absolute;
  top: 46%;
  right: 13px;
  height: 6px;
  width: 6px;
  border-bottom: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(-45deg);
  transition: 0.4s ease;
}

.btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: #1C4685;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.4s;
}

.btn.min {
  width: 250px;
}

.btn.w270 {
  width: 270px;
}

.btn.w310 {
  width: 310px;
}

.btn.big {
  width: 340px;
}

.btn.flex {
  width: auto;
  padding-right: 50px;
}

.btn.red {
  background: #D32129;
  box-shadow: 6px 6px 0px rgba(167,27,34,0.4);
}

.btn.red:before {
  background-color: #B31C22;
}

.btn.gray {
  background-color: #384461;
}

.btn.gray:before {
  background-color: #303A54;
}

.btn.white{
  background: none;
  color: #0A172C;
  border: 1px solid #DCDCDC;
}

.btn.white::before{
  background: #EEF1F7;
}

.btn.white::after{
  border-bottom: 2px solid #0A172C;
  border-right: 2px solid #0A172C;
}

.btn.blank_window:after {
  position: relative;
  border: none;
  transform: none;
  width: auto;
  height: auto;
  content: url(img/common/icon_blank_white.png);
  display: inline-block;
  top: -10px;
  right: auto;
  margin-left: 5px;
}

.btn.bnr {
  display: flex;
  align-items: center;
  line-height: 30px;
  width: 380px;
  padding-left: 175px;
  font-size: 17px;
  background-color: #22539D;
  background-size: 150px;
  background-repeat: no-repeat;
  background-position: 0px 0px;
}

.btn.bnr.case{
  line-height: 1.4;
  padding: 13px;
  width: 380px;
  padding-left: 170px;
  font-size: 17px;
  background-color: #22539D;
  background-size: 150px;
  background-repeat: no-repeat;
  background-position: 0px 0px;
}

.btn.bnr.scope {
  background-image: url(img/common/bnr_img__scope.jpg);
}

.btn.bnr.case {
  background-image: url(img/common/bnr_img__case.jpg);
}

.btn.bnr.maker {
  background-image: url(img/common/bnr_img__maker.jpg);
}

.btn.bnr.factory {
  background-image: url(img/common/bnr_img__factory.jpg);
}

.btn.bnr.faq {
  background-image: url(img/common/bnr_img__faq.jpg);
}

.btn.bnr.quality {
  background-image: url(img/common/bnr_img__quality.jpg);
}

.btn.bnr::before {
  left: 150px;
}

.btn.bnr:after {
  top: 44%;
  right: 21px;
  height: 8px;
  width: 8px;
  border-bottom: 3px solid #FFF;
  border-right: 3px solid #FFF;
}

.btn.bnr img {
  width: 150px;
}

.btn.form {
  padding-left: 59px;
}

.btn.form img {
  width: 25px;
  position: absolute;
  top: 37%;
  left: 21px;
}
.btn.contact_btn{
  padding: 16px 32px 16px 24px;
  line-height: 1.6;
  width: 400px;
}

.arrow_left {
  position: relative;
  padding-left: 14px;
  color: #22539D;
  text-decoration: underline;
  display: inline-block;
}

.arrow_left:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 35%;
  width: 1px;
  height: 1px;
  border: 4px solid transparent;
  border-left: 6px solid #22539D;
}

.link {
  color: #22539D;
  text-decoration: underline;
  display: inline-block;
}

@media screen and (min-width:769px) {
  a:hover {
    text-decoration: none;
  }
  .btn:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  .arrow_left:hover {
    text-decoration: none;
  }
}

@media screen and (max-width:767px) {
  .btn_wrap {
    margin: 35px 0 0;
    text-align: center;
  }
  .btn_wrap.border_top {
    margin: 20px 0 0;
    border-top: 1px solid #BCCBE1;
    padding-top: 23px;
  }
  .btn {
    font-size: 14px;
    line-height: 1.6;
    padding-left: 12px;
    box-shadow: 3.5px 4px 0px rgba(34,83,157,0.4);
    width: 100%;
    max-width: 300px;
    min-width: 265px;
  }
  .btn::before {
    display: none;
  }
  .btn:after {
    border-bottom: 1px solid #FFF;
    border-right: 1px solid #FFF;
    width: 8px;
    height: 8px;
    top: 41%;
    right: 15px;
  }
  .btn.center_arrow:after {
    right: 33%;
    width: 6px;
    height: 6px;
    top: 44%;
  }
  .btn.min,
  .btn.big,
  .btn.w270,
  .btn.w310,
  .btn.blank_window {
    width: 100%;
  }
  .btn.big{
    max-width: 100%;
  }
  .btn.red {
    background: #D32129;
    box-shadow: 3.5px 4px 0px rgba(167,27,34,0.4);
  }
  .btn.w310 {
    min-width: 265px;
  }
  .btn.bnr {
    width: 300px;
    max-width: 300px;
    min-width: 300px;
    padding-left: 170px;
    line-height: 1.6;
    background-size: 150px;
    font-size: 17px;
    margin-bottom: 20px;
  }
  .btn.bnr:after {
    right: 15px;
    height: 6px;
    width: 6px;
    border-bottom: 1px solid #FFF;
    border-right: 1px solid #FFF;
  }
  .btn.contact_btn{
    line-height: 1.6;
    padding: 16px 32px 16px 24px;
  }
}


/* header
=====================================================================*/

.sp_navi_wrap {
  display: none;
}

#header {
  border-top: 4px solid #22539D;
  padding: 0px 30px 0px;
  position: fixed;
  width: 100%;
  background: #FFF;
  z-index: 100;
  top: 0;
  min-width: 1260px;
  box-shadow: 0px -6px 35px rgba(0,0,0, 0.2);
  box-sizing: border-box;
  transition: top .3s;
}

#header:after {
  display: block;
  content: "";
  clear: both;
}

#header.hide {
  top: -98px;
  box-shadow: none;
}

.h_description {
  font-size: 11px;
  color: #59606A;
  padding-top: 6px;
}

.h_uppernavi_en {
  display: inline-block;
  font-size: 12px;
  position: absolute;
  top: 8px;
  right: 190px;
  padding-left: 10px;
}

.h_uppernavi_en:before{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 35%;
  width: 1px;
  height: 1px;
  border: 3px solid transparent;
  border-left: 4px solid #22539D;
}

.h_uppernavi_en:after {
  content: "";
  display: block;
  right: -13px;
  top: 5px;
  position: absolute;
  width: 8px;
  height: 8px;
  background: url(img/common/icon_blank.png) no-repeat 0 0;
  background-size: 8px;
}
.header_tel{
  float: right;
  margin-left: 4px;
  margin-top: 5px;
}
.header_tel span{
  font-size: 13px;
}
.header_tel .side_inner__tel{
  margin-left: 8px;
}
.h_uppernavi_list {
  margin: 4px 8px 9px;
  float: left;
  position: relative;
  padding: 0 10px;
}
.h_uppernavi_list a {
  position: relative;
  display: block;
  font-size: 13px;
  transition: 0.4s ease;
  color: #0A172C;
  padding: 2px 8px 5px 8px;
}
.h_uppernavi_list::before,
.h_uppernavi_list::after {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  right: 1px;
  width: 1px;
  height: 18px;
  background: #ccc;
}
.h_uppernavi_list::before{
  left: 0;
  right: auto;
}

.h_uppernavi_list li:last-child a:after {
  display: none;
}

.logo_wrap {
  float: left;
}

.header_logo {
  line-height: 1;
  position: relative;
}

.header_logo:after {
  content: "";
  display: inline-block;
  right: 0;
  width: 1px;
  height: 24px;
  background: #CCCCCC;
  margin: 0 0px 4px 27px;
}

.header_logo a {
  display: inline-block;
}

.header_logo img {
  width: 270px;
}

/* gnavi */

.gnavi_main_ul {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  align-items: center;
  float: left;
}
.gnavi_main_contact{
  float: right;
  margin-left: 20px;
}
.gnavi_main_contact a{
  display: block;
  padding: 10px 20px;
  font-size: 13px;
  color: #FFF;
  text-align: center;
  background: #22539D;
  position: relative;
  z-index: 1;
}
.gnavi_main_contact a::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: #1C4685;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.4s;
}
.gnavi_main_ul li {
  position: relative;
}

.gnavi_main_ul li a {
  display: block;
  position: relative;
}

.gnavi_main__a {
  font-size: 14px;
  font-weight: bold;
  padding: 5px 15px 23px 15px;
}

.gnavi_main__a.arrowplus {
  padding: 5px 20px 23px 17px;
}

@media screen and (min-width:768px) {
  .gnavi_main__a.arrowplus.a_scope {padding-right: 27px;}
  .gnavi_main__a.arrowplus.a_scope:after {right: 9px;}
  .gnavi_main__a.arrowplus.a_factory {padding-right: 27px;}
  .gnavi_main__a.arrowplus.a_factory:after {right: 9px;}
  .gnavi_main_contact a:hover::before{
    transform-origin: left top;
    transform: scale(1, 1);
  }
}

.gnavi_main__a.arrowplus.active {
  color: #22539D;
}

.gnavi_main__a.arrowplus:after {
  content: "";
  display: block;
  position: absolute;
  top: 26%;
  right: 4px;
  height: 4px;
  width: 4px;
  border-bottom: 2px solid #22539D;
  border-right: 2px solid #22539D;
  transform: rotate(45deg);
}

.dropdown_wrap {
  display: none;
}

.dropdown_wrap {
  position: absolute;
  top: 42px;
  left: 5px;
  width: 230px;
  padding: 8px 0 12px;
  background: #22539D;
  box-shadow: 6px 6px 0px rgba(34,83,157,0.4);
}

.dropdown_wrap.dd_company {
  left: auto;
  right: 0;
}

.dropdown_wrap.dd_factory {
  width: 208px;
}

.dropdown_wrap.dd_company {
  width: 140px;
}

.dropdown_menu a {
  font-size: 13px;
  color: #FFF;
  padding: 5px 0 5px 30px;
  transition: 0.4s ease;
  text-align: left;
}

.dropdown_menu a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 12px;
  height: 1px;
  background: #91A9CE;
  transition: 0.4s ease;
}

/* gnavi 終わり */

@media screen and (min-width:769px) {
  .h_uppernavi_en:hover {
    text-decoration: underline;
    color: #22539D;
  }
  .h_uppernavi_list a:hover {
    text-decoration: underline;
    color: #22539D;
  }
  .gnavi_main__a:hover {
    color: #22539D;
  }
  .dropdown_menu a:hover {
    padding: 5px 0 5px 40px;
  }
  .dropdown_menu a:hover:before {
    width: 25px;
    background: #FFF;
  }
}

@media screen and (max-width:767px) {

  /* スマホハンバーガーメニュー */
  .sp_navi_wrap {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    height: 60px;
    width: 60px;
    background: #22539D;
    transition: 0.3s;
  }
  .sp_navi_wrap.active {
    background: #232F3D;
  }
  #sp_menu_btn {
    display: block;
    position: relative;
    z-index: 0;
    height: 30px;
    width: 32px;
    margin: 8px auto 3px;
    text-align: center;
  }
  #sp_menu_btn span,
  #sp_menu_btn::before,
  #sp_menu_btn::after {
    display: inline-block;
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    margin: auto;
    background: #FFF;
  }
  #sp_menu_btn span {
    opacity: 1;
    transition: opacity 150ms 50ms;
  }
  .sp_navi_h{
    color: #FFF;
    margin: 3px auto 0;
    text-align: center;
    line-height: 1.0;
    font-size: 10px;
  }
  #sp_menu_btn::before {
    z-index: 2;
    transform: translate(0, -9px);
    content: "";
  }
  #sp_menu_btn::after {
    z-index: 2;
    transform: translate(0, 9px);
    content: "";
  }
  #sp_menu_btn::before,
  #sp_menu_btn::after {
    transition: transform 200ms;
  }
  #sp_menu_btn.active span {
    opacity: 0;
    transition: opacity 150ms;
  }
  #sp_menu_btn.active::after {
    transform: rotate(-45deg);
  }
  #sp_menu_btn.active::before {
    transform: rotate(45deg);
  }
  /* スマホハンバーガーメニュー終わり */

  #header {
    padding: 0;
    width: 100%;
    min-width: 100%;
    height: 60px;
    border-top: none;
  }
  #header.hide,
  .sp_navi_wrap.hide {
    top: -60px;
  }
  .header_logo:after {
    display: none;
  }
  .header_logo a {
    display: inline-block;
    padding: 18px 0 0;
  }
  .header_logo img {
    width: 200px;
  }
  #gnavi {
    display: none;
    width: 100%;
    height: calc(100% - 60px);
    background: rgba(35,47,61,0.97);
    position: fixed;
    top: 60px;
    left: 0;
    z-index: 999;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
  .gnavi_main_ul {
    display: block;
    float: none;
  }
  .gnavi_main_ul li {
    padding: 0;
  }
  .gnavi_main_ul li:after{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 94%;
    height: 1px;
    background: #4D5765;
  }
  .gnavi_main_ul li.dd_list.active:after {
    top: 58px;
  }
  .gnavi_main_ul li a {
    font-size: 13px;
    margin: 0 auto;
    padding: 18px 4% 18px;
    text-align: left;
    color: #FFF;
    font-weight: normal;
  }
  .gnavi_main__a.arrowplus {
    padding: 18px 4% 18px;
  }
  .gnavi_main__a.arrowplus.active {
    color: #FFF;
  }
  .gnavi_main__a:after,
  .dropdown_menu a:after {
    border-bottom: 1px solid #1A64DF;
    border-right: 1px solid #1A64DF;
    width: 6px;
    height: 6px;
    transform: rotate(-45deg);
    content: "";
    display: block;
    position: absolute;
    top: 40%;
    right: 5.5%;
  }
  .gnavi_main__a.arrowplus:after {
    top: 49%;
    right: 17px;
    border: none;
    background: #1A64DF;
    transform: rotate(0deg);
    width: 12px;
    height: 1px;
  }
  .gnavi_main__a.arrowplus:before {
    content: "";
    display: block;
    position: absolute;
    top: 40%;
    right: 22px;
    background: #1A64DF;
    height: 12px;
    width: 1px;
    transition: 0.3s;
  }
  .gnavi_main__a.arrowplus.active:before {
    transform: rotate(90deg);
  }
  .dropdown_wrap {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    background: #171F28;
    box-shadow: none;
    padding: 0;
  }
  .dropdown_wrap.dd_company {
    left: auto;
    right: auto;
  }
  .dropdown_wrap.dd_factory {
    width: 100%;
  }
  .dropdown_wrap.dd_company {
    width: 100%;
  }
  .dropdown_menu,
  .header_sub_list {
    padding: 10px 0 10px;
  }
  .dropdown_menu li:after {
    display: none;
  }
  .gnavi_main_ul .dropdown_menu a,
  .header_sub_list a {
    font-size: 12px;
    font-weight: normal;
    padding: 11px 11% 12px;
  }
  .header_sub_list a:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    height: 1px;
    transition: 0.4s ease;
  }
  .dropdown_menu a:before,
  .header_sub_list a:before {
    left: 4%;
    width: 15px;
    background: #1A64DF;
  }
  .header_sub_list a {
    position: relative;
    display: block;
    color: #FFF;
    padding: 8px 11% 9px;
  }
 .header_sub_list a.blank_window:after {
    content: url(img/common/icon_blank_footer.png);
    display: inline-block;
    width: auto;
    height: auto;
    margin-left: 7px;
  }

}

/* footer
=====================================================================*/

#footer {
  position: relative;
}

#footer p {
  margin: 0;
}

#pagetop {
  position: relative;
  background: #FFF url(img/common/pagetop_off.png) no-repeat top 32px center;
  width: 100%;
  height: 80px;
  line-height: 80px;
  cursor: pointer;
  transition: 0.2s ease;
}

#pagetop:before,
#pagetop:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 65px;
  width: 1px;
  transition: 0.2s ease;
}

#pagetop:before {
  height: 40px;
  background: #22539D;
}

#pagetop:after {
  height: 0;
  background: #FFF;
}

.footer_link__wrap {
  background: #232F3D;
  padding: 37px 0 80px;
}

.footer_link__wrap .wrap {
  padding: 0 30px;
}

.footer_link__box {
  margin-right: 40px;
  width: 220px;
}

.footer_link__box.min {
  width: 180px;
}

.footer_link__box:last-child {
  margin-right: 0;
}

.footer_link__ttl {
  font-size: 15px;
  color: #FFF;
  padding-bottom: 12px;
  margin-bottom: 15px;
  border-bottom: 1px solid #797D86;
}

.left_border_link.top {
  display: inline-block;
  font-size: 14px;
  margin-bottom: 33px;
}

.left_border_link {
  font-size: 13px;
  color: #FFF;
  position: relative;
  display: block;
  padding: 2px 0 2px 25px;
  box-sizing: border-box;
}

.left_border_link.div {
  margin-bottom: 15px;
}

.left_border_link.blank_window:after {
  content: url(img/common/icon_blank_footer.png);
  display: inline-block;
  width: auto;
  height: auto;
  margin-left: 7px;
}

.left_border_link:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 48%;
  width: 12px;
  height: 1px;
  background: #1A64DF;
}

.footer_bnr__wrap {
  background: url(img/common/bnr_bg.jpg) no-repeat top center;
  background-size: cover;
  padding: 50px 0;
}

.footer_bnr__wrap li {
  margin: 0 12px 0;
  width: 29.6%;
}

.footer_bnr__wrap li a {
  display: block;
  width: 100%;
  background: #F6F6F6;
}

.footer_bnr__wrap li img {
  display: block;
  width: 100%;
  transition: 0.4s ease;
}

.footer_logo a {
  display: block;
  margin-top: 25px;
}

.footer_logo a img {
  display: block;
  width: 258px;
}

#copyright {
  font-size: 12px;
  line-height: 80px;
}

#side_bnr {
  background: #FFF;
  box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 15px 20px 15px;
  z-index: 100;
  width: 450px;
  height: 76px;
  opacity: 1;
}

#side_bnr:after {
  content: "";
  display: block;
  width: 1px;
  height: 48px;
  background: rgba(34,83,157,0.4);
  left: 267px;
  top: 14px;
  position: absolute;
}
#side_bnr.side_bnr_none{
  opacity: 0;
}

.side_inner_left {
  float: left;
  display: inline-block;
  width: 64%;
}

.side_inner_right {
  float: right;
  display: inline-block;
}

#footer .side_inner__ttl {
  font-size: 11.5px;
  color: #21529D;
  margin-bottom: 8px;
  font-weight: bold;
  line-height: 1;
}

.side_inner__mail {
  position: relative;
  line-height: 1;
  font-weight: bold;
  font-size: 14px;
}

.side_inner__mail:before {
  content: url(img/common/icon_mail_mini.png);
  display: inline-block;
  width: auto;
  height: auto;
  margin-right: 7px;
  margin-bottom: 1px;
  vertical-align: middle;
}

.side_inner__tel {
  font-size: 13px;
  font-weight: bold;
  margin: 0;
  line-height: 1.6;
}

.side_inner__tel:before {
  content: url(img/common/icon_tel_mini.png);
  display: inline-block;
  width: auto;
  height: auto;
  margin-right: 5px;
  vertical-align: middle;
}

#fixed_navi {
  display: none;
}

@media screen and (min-width:769px) {
  #pagetop:hover {
    background: #22539D url(img/common/pagetop_on.png) no-repeat top 32px center;
  }
  #pagetop:hover:after {
    height: 40px;
    z-index: 10;
  }
  .left_border_link:hover {
    color: #6C7784;
  }
  .footer_bnr__wrap li a:hover img {
    opacity: 0.9;
  }
  #side_bnr:hover {
    box-shadow: 0px 0px 20px rgba(0,0,0,0.6);
  }
}

@media screen and (max-width:767px) {
  #fixed_navi {
    display: none;
    position: fixed;
    bottom: 0;
    display: table;
    width: 100%;
    z-index: 10;
    border-top: 1px solid #91A9CE;
  }
  #fixed_navi a {
    position: relative;
    color: #FFF;
    font-weight: bold;
    display: table-cell;
    height: 50px;
    width: 33.3%;
    padding-left: 20px;
    font-size: 12px;
    line-height: 1.4;
    border-right: 1px solid #91A9CE;
    vertical-align: middle;
    text-align: center;
  }
  #fixed_navi a:last-child {
    border: none;
  }
  #fixed_navi a.form {
    background: #22539D url(img/common/icon_form_white.png) no-repeat 117px 50%;
    background-size: 17px;
  }
  #fixed_navi a.tel {
    padding-left: 20px;
    background: #22539D url(img/common/icon_tel_white.png) no-repeat 10px 48%;
    background-size: 12px;
  }
  #pagetop {
    background-position: top 27px center;
    background-size: 52px;
    width: 100%;
    height: 55px;
    line-height: 50px;
  }
  #pagetop:before,
  #pagetop:after {
    bottom: auto;
    top: -8px;
  }
  #pagetop:before {
    height: 25px;
  }
  .footer_link__wrap{
    padding: 0;
  }
  .footer_link__wrap .wrap {
    padding: 0;
  }
  .footer_link__box {
    margin-right: 0;
    width: 100%;
  }
  .footer_link__box.min {
    width: 100%;
  }
  .footer_link__ttl {
    position: relative;
    font-size: 13px;
    padding: 17px 0 18px;
    margin: 0 4.5%;
    border-bottom: 1px solid #4D5765;
  }
  .footer_link__ttl:before,
  .footer_link__ttl:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: -3px;
    width: 12px;
    height: 1px;
    background: #1A64DF;
    transition: 0.3s ease;
  }
  .footer_link__ttl:after {
    transform: rotate(90deg);
  }
  .footer_link__ttl.active:after {
    transform: rotate(0deg);
  }
  .left_border_link.top {
    display: block;
    font-size: 13px;
    margin-bottom: 0;
  }
  .left_border_link.wide {
    padding: 17px 0 18px;
    margin: 0 4.5%;
    border-bottom: 1px solid #4D5765;
    background: inherit;
  }
  .left_border_link.mini {
    background: inherit;
  }
  .left_border_link {
    font-size: 13px;
    padding: 10px 4% 10px 13%;
    background: #171F28;
  }
  .left_border_link:before {
    left: 5%;
    width: 16px;
  }
  .left_border_link:after {
    content: "";
    display: block;
    position: absolute;
    top: 46%;
    right: 16px;
    height: 6px;
    width: 6px;
    border-bottom: 1px solid #1A64DF;
    border-right: 1px solid #1A64DF;
    transform: rotate(-45deg);
    transition: 0.4s ease;
  }
  .left_border_link.wide:before,
  .left_border_link.mini:after{
    display: none;
  }
  .left_border_link.wide:after {
    right: 0px;
  }
  .footer_dd_list {
    padding: 7px 0 10px;
    background: #171F28;
  }
  .left_border_link.div {
    margin-bottom: 0px;
  }
  .left_border_link.blank_window:after {
    border: none;
    position: relative;
    transform: rotate(0deg);
    display: inline-block;
    margin-left: 21px;
  }
  .footer_lower_list {
    padding: 10px 0 35px;
  }
  .footer_bnr__wrap {
    background: url(img/common/bnr_bg_sp.jpg) no-repeat top center;
    background-size: cover;
    padding: 35px 0;
  }
  .footer_bnr__wrap li {
    width: 100%;
    margin: 0 6% 12px;
  }
  .footer_bnr__wrap li:last-child {
    margin-bottom: 0px;
  }
  .footer_logo a {
    margin-top: 30px;
  }
  .footer_logo a img {
    width: 240px;
    margin: 0 auto 5px;
  }
  #copyright {
    font-size: 10px;
    line-height: 44px;
    text-align: center;
    margin-bottom: 50px;
  }

}

/* TOP
=====================================================================*/

#main_visual {
  margin-top: 98px;
  height: 662px;
/*  background: url(img/top/mv_pc.jpg) no-repeat center;*/
  background-size: cover;
}
ul#js-slider-mv img {
    object-fit: cover;
    height: 662px;
}

@media screen and (max-width:767px) {
  #main_visual {
    margin-top: 60px;
    height: 500px;
  }
}
#main_visual .wrap{
  height: 100%;
}
.mainvis_pc{
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  top: -662px;
}
.mainvis_copy{
  width: 1100px;
  height: 324px;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  opacity: 0.65;
}
.mainvis_txt{
  width: 648px;
  height: 133px;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  opacity: 0;
}
.mainvis_act{
  animation: left_display 0.5s ease 0.4s forwards;
  -webkit-animation: left_display 0.5s ease 0.4s forwards;
}
@keyframes left_display {
    0% { transform: translateX(-50px);
    opacity: 0; }
    100% { transform: translateX(0px);
    opacity: 1; }
}
.mainvis_sp{
  display: none;
}
.ie_copyimage{
  display: none;
}
.ie .ie_copyimage{
  display: block;
  position: absolute;
  width: 1100px;
  top: 0;
  left: 0;
}
.ie #mainvis_copy{
   display: none;
}
@media screen and (max-width:767px) {
  .mainvis_pc{
    display: none;
  }
  .mainvis_sp{
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    top: -500px;
  }
  ul#js-slider-mv img {
      object-fit: cover;
      height: 500px;
      width: 100%;
  }
  .mainvis_copy{
    width: 100%;
    height: initial;
  }
  .mainvis_txt{
    width: 100%;
    height: initial;
  }
  .mainvis_copy svg,
  .mainvis_txt img{
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .mainvis_txt img{
    width: 90%;
  }
}




/* TOP ニュースbox */

.top_news__wrap {
  position: relative;
  display: flex;
}

.top_news__floatbox {
  position: absolute;
  top: -43px;
  right: 0;
  left: 0;
  margin: auto;
  width: 1200px;
  box-shadow: 6px 6px 0px rgba(34,83,157,0.4);
}

.top_news__contents {
  width: calc(100% - 190px);
  background: #22539D;
}

.top_news__contents a {
  position: relative;
  display: block;
  height: 80px;
  color: #FFF;
  padding-left: 30px;
  z-index: 0;
}
.top_news__contents img{
    top: 2px;
    position: relative;
}

.top_news__contents a:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #1C4685;
  z-index: -1;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}

.news__date {
  font-size: 12px;
  margin-left: 75px;
  margin-right: 10px;
  line-height: 80px;
  position: relative;
  letter-spacing: 0.08em;
}

.news__date:before {
  content: "";
  display: inline-block;
  position: absolute;
  right: 85px;
  width: 50px;
  background: #91A9CE;
  height: 1px;
  top: 47%;
}

.news__tag {
  font-size: 11px;
  color: #22539D;
  background: #FFF;
  line-height: 20px;
  padding: 0 5px;
  margin-right: 10px;
}
.h_news_detail .news__tag{
  padding: 0;
}
.h_news_detail .news__tag a{
  display: block;
  font-size: 12px;
  line-height: 22px;
  color: #FFF;
  background: #22539D;
  line-height: 20px;
  padding: 0 5px;
}
.top_news_ttl {
  font-size: 14px;
  margin: 0;
  display: inline-block;
}
.top_news__all_link a {
  line-height: 40px;
  width: 190px;
  background: #173C73;
  box-shadow: none;
  cursor: pointer;
}

.top_news__all_link a:before {
  background: #133261;
}

@media screen and (min-width:769px) {
  .top_news__contents a:hover .top_news_ttl {
    text-decoration: underline;
  }
  .top_news__contents a:hover:before {
    transform-origin: left top;
    transform: scale(1,1);
  }
}

@media screen and (max-width:767px) {
  .top_news__floatbox {
    width: 94%;
    z-index: 10;
    display: block;
    box-shadow: 4px 4px 0px rgba(34,83,157,0.4);
  }
  .top_news__contents {
    width: 100%;
  }
  .top_news__contents a {
    height: auto;
    padding: 10px 3%;
  }
  .news__date {
    font-weight: normal;
    margin: 0 5px 0 0;
    line-height: initial;
    font-size: 11px;
  }
  .news__date:before {
    display: none;
  }
  .news__tag {
    /*margin-right: 0px;*/
  }
  .top_news_ttl {
    font-size: 13px;
    width: 100%;
  }
  .top_news__all_link a {
    line-height: 1;
    width: 100%;
    max-width: 100%;
    text-align: center;
    padding-left: 0;
  }
  .top_news__all_link a:before {
    display: none;
  }

}

/* TOP 得意な分野 */

.top_good_field__wrap {
  background: #F6F6F6;
  padding: 125px 0 100px;
}

.top_good_field__contents {
  width: 510px;
}

@media screen and (max-width:767px) {
  .top_good_field__wrap {
    /* padding: 125px 0 75px; */
    padding: 55px 0 75px;
  }
  .top_good_field__contents {
    width: 100%;
    margin-top: 35px;
  }
}

/* TOP 加工コンテンツ */

.top_making__wrap {
  position: relative;
}

.top_making__wrap:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 80px;
  width: 73.6%;
  height: 830px;
  background: #EEF1F7;
  z-index: -1;
}

.top_making__wrap .btn_wrap {
  margin: 35px 0 0;
  display: flex;
  flex-wrap: wrap;
}

.btn_wrap.col1 .btn {
  display: block;
  margin: 0 0 20px;
}

.btn_wrap.col2 .btn {
  margin: 0 15px 20px 0;
}

.btn_wrap.col2 .btn.w270 { /* 下層ページで使用 */
  margin: 0 25px 20px 0;
}

.btn_wrap.col2 .btn:nth-child(2n) {
  margin-right: 0;
}

.wide_img__wrap {
  position: relative;
  width: 50%;
  height: 600px;
  margin-top: 80px;
}

.wide_img__wrap img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}

@media screen and (max-width:767px) {
  .top_making__wrap .btn_wrap {
    justify-content: center;
  }
  .top_making__wrap {
    padding: 0 0 65px;
    background: #EEF1F7;
  }
  .top_making__wrap:after {
    display: none;
  }
  .btn_wrap.col1 .btn {
    display: inline-block;
  }
  .btn_wrap.col2 .btn,
  .btn_wrap.col2 .btn.w270 {
    margin: 0 0px 15px 0;
  }
  .btn_wrap.col2 .btn:nth-child(2n) {
    margin-right: 0;
  }
  .wide_img__wrap {
    width: 100%;
    height: 250px;
    margin-top: 0;
  }
}

/* TOP シーエステックを知る */

.top_about_cstec__wrap {
  background: url(img/top/bg_about.jpg) no-repeat top 250px center;
  background-size: cover;
  padding: 35px 0 80px;
}

.top_about_cstec__box {
  width: 570px;
}

.top_about_ttlwrap {
  width: 100%;
  height: 200px;
  padding-top: 80px;
  text-align: center;
  z-index: 10;
  position: relative;
}

.top_about_ttlwrap.case {
  background: url(img/top/about_ttlbg01.jpg);
  background-size: cover;
}

.top_about_ttlwrap.interview {
  background: url(img/top/about_ttlbg02.jpg);
  background-size: cover;
}

.top_about_cstec__inner {
  background: #FFF;
  padding: 30px 30px;
  box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
  min-height: 770px;
}

.border_gray {
  border-bottom: 1px solid #DCDCDC;
  padding-bottom: 23px;
  margin-bottom: 26px;
}

.process_case__list:after {
  content: "";
  display: block;
  clear: both;
}

.process_case__list li {
  display: inline-block;
  width: 244px;
  margin: 0 17px 15px 0;
  vertical-align: top;
}

.process_case__list li:nth-child(2n) {
  margin-right: 0;
}

.process_case__list a {
  display: block;
  position: relative;
}

.process_case__list a:after {
  content: "";
  display: block;
  position: absolute;
  top: 102px;
  left: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 1px;
  background: transparent;
  transition: 0.3s;
  z-index: 3;
}

.img_wrap {
  position: relative;
}

.img_wrap.hover_layer:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  transition: 0.3s ease;
  z-index: 1;
}

.img_wrap.hover_layer:after {
  content: "View Case Study";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  font-size: 14px;
  width: 130px;
  height: 32px;
  color: transparent;
  transition: 0.3s;
  z-index: 2;
}

.circle_arrow {
  margin: 0;
  font-size: 14px;
  position: relative;
  padding: 4px 0 5px 27px;
}

.circle_arrow:before {
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  left: 0;
  width: 16px;
  height: 16px;
  background: transparent;
  border: 1px solid #BCCBE1;
  border-radius: 50px;
  transition: 0.3s;
}

.circle_arrow:after {
  content: "";
  display: block;
  position: absolute;
  top: 14px;
  left: 5px;
  height: 4px;
  width: 4px;
  border-bottom: 2px solid #22539D;
  border-right: 2px solid #22539D;
  transform: rotate(-45deg);
  transition: 0.3s;
}

.top_about_cstec__inner .btn_wrap {
  margin-top: 20px;
}

.bnr_area a {
  display: block;
}

.bnr_area a img {
  display: block;
}

.bnr_interview01,
.bnr_interview02 {
  width: 510px;
  height: 193px;
  transition: 0.3s;
}
.bnr_interview01 img,
.bnr_interview02 img {
  width: 510px;
  height: auto;
}
.bnr_interview01 {
  margin-bottom: 15px;
}

.bnr_interview02 {
  margin-bottom: 39px;
}

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

  .process_case__list a:hover:after {
    background: #FFF;
  }
  .process_case__list a:hover .hover_layer:before {
    background: rgba(34,83,157,0.7);
  }
  .process_case__list a:hover .hover_layer:after {
    text-shadow: 0px 0px 15px rgba(0,0,0,0.75);
    color: #FFF;
  }
  .process_case__list a:hover .circle_arrow:before {
    background: #22539D;
    border: 1px solid #22539D;
  }
  .process_case__list a:hover .circle_arrow:after {
    border-bottom: 2px solid #FFF;
    border-right: 2px solid #FFF;
  }
  .process_case__list a:hover .circle_arrow {
    color: #22539D;
  }
}

@media screen and (max-width:767px) {
  .top_about_cstec__wrap {
    background: none;
    padding: 55px 0 0px;
  }
  .top_about_cstec__wrap .wrap {
    padding: 0;
  }
  .top_about_cstec__box {
    width: 100%;
    padding: 0 4% 70px;
  }
  .top_about_cstec__box.case {
    background: url(img/top/bg_about_sp_01.jpg) top 73px center no-repeat;
    background-size: cover;
    margin-bottom: 50px;
  }
  .top_about_cstec__box.interview {
    background: url(img/top/bg_about_sp_02.jpg) top 73px center no-repeat;
    background-size: cover;
  }
  .top_about_cstec__inner {
    padding: 25px 20px 40px;
    min-height: initial;
  }
  .h_blue_border_left,
  .h_red_border_left {
    font-size: 17px;
    padding-left: 10px;
    margin-bottom: 11px;
    line-height: 1.4;
  }
  .h_blue_border_left {
    border-left: 3px solid #22539D;
  }
  .h_red_border_left {
    border-left: 3px solid #DF333A;
  }
  .top_about_ttlwrap {
    height: 123px;
    padding-top: 42px;
  }
  .top_about_ttlwrap.case {
    background: url(img/top/about_ttlbg01_sp.jpg);
    background-size: cover;
  }
  .border_gray {
    margin-bottom: 25px;
  }
  .process_case__list li {
    width: 100%;
    margin: 0 0 12px;
  }
  .process_case__list a:after,
  .img_wrap.hover_layer:before,
  .img_wrap.hover_layer:after {
    display: none;
  }
  .circle_arrow:before {
    top: 11px;
  }
  .circle_arrow:after {
    top: 17px;
    border-bottom: 1px solid #22539D;
    border-right: 1px solid #22539D;
  }
  .top_about_cstec__inner .btn_wrap {
    margin-top: 10px;
  }
  .bnr_interview01,
  .bnr_interview02 {
    width: 100%;
    height: 115px;
    position: relative;
  }
  .bnr_interview01 img,
  .bnr_interview02 img {
    width: 100%;
    height: auto;
	}
  .bnr_interview02 {
    margin-bottom: 27px;
  }
}

/* TOP 工場・設備コンテンツ */

.wide_img__sec {
  position: relative;
  padding: 80px 0 70px;
}

.wide_img__sec:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 80px;
  width: 73.6%;
  height: calc(100% - 80px);
  background: #EEF1F7;
  z-index: -1;
}

.wide_img__sec .btn_wrap {
  margin: 65px 0 0;
}

@media screen and (max-width:767px) {
  .wide_img__sec {
    padding: 0 0 60px;
    background: #EEF1F7;
  }
  .wide_img__sec:after {
    display: none;
  }
  .wide_img__sec .btn_wrap {
    margin: 35px 0 0;
  }
}

/* Always Trying, CSTEC */

.top_copy_contents__wrap {
  background: url(img/top/top_copy_bg.jpg) no-repeat top center;
  background-size: cover;
  padding: 100px 0 155px;
  margin-top: 40px;
}

.top_copy_contents__wrap p {
  color: #FFF;
  text-shadow: 0px 0px 15px rgba(0,0,0,0.75);
  line-height: 2.0;
  margin: 0 0 15px;
}

.top_copy_contents__ttl_jp {
  margin: 15px auto 45px;
}

.top_copy_contents__ttl_jp .inner {
  color: #FFF;
  font-size: 24px;
  position: relative;
  display: inline-block;
  text-shadow:0px 0px 15px rgba(0,0,0,0.75);
  font-weight: bold;
  letter-spacing: 0.08em;
}

.top_copy_contents__ttl_jp .inner:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 1px;
  background: #E60A06;
  transition: 0.5s ease;
  transition-delay: .7s;
}

.top_copy_contents__ttl_jp.inview .inner:after {
  width: 100%;
}

@media screen and (max-width:767px) {
  .top_copy_contents__wrap {
    padding: 65px 0 103px;
    background: url(img/top/top_copy_bg_sp.jpg) no-repeat top center;
    background-size: cover;
    margin-top: 0;
  }
  .top_copy_contents__wrap p {
    text-align: left;
  }
  .top_copy_contents__ttl_jp {
    margin: 8px auto 36px;
  }
  .top_copy_contents__ttl_jp .inner {
    font-size: 15px;
    font-weight: normal;
  }
  .top_copy_contents__ttl_jp .inner:after {
    bottom: -10px;
  }
}

/* 共通コンテンツお問い合わせ */

.common_contact__wrap {
  background: #F6F6F6;
  position: relative;
  height: 420px;
}

.common_contact__floatbox {
  height: 340px;
  margin: 0 auto;
  width: 1200px;
  background: #FFF;
  box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
  padding: 0 80px;
  position: absolute;
  top: -110px;
  right: 0;
  left: 0;
  z-index: 1;
}

.common_contact__attention {
  position: absolute;
  color: #22539D;
  font-size: 14px;
  display: inline-block;
  top: 30px;
  left: 27px;
  font-weight: 600;
}

.common_contact_subttl {
  display: inline-block;
  font-size: 16px;
  padding-left: 20px;
  letter-spacing: 0.08em;
}

.contact_box__inner {
  position: relative;
}

.contact_box__inner:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #CCCCCC;
  left: 0;
}

.contact_box__inner.arrowplus:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 0;
  height: 1px;
  background: #22539D;
  left: 0;
  transition: 0.4s ease;
}

.contact_box .contact_box__inner:last-of-type {
  margin-bottom: 18px;
}

.contact_box__inner a {
  display: block;
  padding: 28px 0 28px 0px;
  color: #0A172C;
  font-size: 22px;
  font-weight: bold;
  position: relative;
  width: 480px;
  height: 95px;
}

.contact_box__inner a:before {
  content: url(img/common/icon_mail.png);
  display: inline-block;
  width: auto;
  height: auto;
  margin-right: 14px;
}

.contact_box__inner a.form:before { content: url(img/common/icon_form.png); }
.contact_box__inner a.tel:before { content: url(img/common/icon_tel.png); }

.contact_box__inner a:after {
  content: "";
  display: block;
  position: absolute;
  top: 46%;
  right: 16px;
  height: 6px;
  width: 6px;
  border-bottom: 2px solid #22539D;
  border-right: 2px solid #22539D;
  transform: rotate(-45deg);
  transition: 0.4s ease;
}

.contact_box__inner a.tel {
  font-size: 26px;
  padding-top: 25px;
}

.contact_box__inner .tel_ttl {
  font-size: 19px;
  color: #21529D;
  display: inline-block;
  font-weight: bold;
}

.contact_box__inner a.flex_wrap {
  display: flex;
  pointer-events: none;
}

.contact_box__inner a.flex_wrap:after {
  display: none;
}
.contactbtn_area input[type="button"],
.contactbtn_area input[type="submit"]{
  margin: 0;
  cursor: pointer;
  border: none;
  background: #22539D url(./img/common/icon_arrow_w.png) no-repeat 96% 52%;
  transition: .3s ease;
}
.custom-wpcf7c-confirmed .contactbtn_area input[type="button"],
.custom-wpcf7c-confirmed .contactbtn_area input[type="submit"]{
  margin: 0 15px 50px 0;
}
.contactbtn_area input[type="button"]:hover,
.contactbtn_area input[type="submit"]:hover{
  background-color: #1C4685;
}
.contactbtn_area input[type="button"]{
  background-color: #384461;
}
.contactbtn_area input[type="button"]:hover{
  background-color: #303A54;
}

@media screen and (min-width:769px) {
  .contact_box__inner.arrowplus:hover:after {
    width: 100%;
  }
  .contact_box__inner:hover a.arrow {
    padding: 28px 0 28px 8px;
    color: #22539D;
  }
  .contact_box__inner:hover a.arrow:after {
    right: 8px;
  }
}

@media screen and (max-width:767px) {
  .common_contact__wrap {
    height: auto;
    padding: 0 4%;
  }
  .common_contact__floatbox {
    height: auto;
    width: 100%;
    padding: 0 7.25% 15px;
    position: relative;
    top: -75px;
  }
  .common_contact__attention {
    font-size: 12px;
    top: 17px;
    left: 17px;
  }
  .common_contact_subttl {
    display: block;
    font-size: 13px;
    padding: 0;
    margin: 24px 0 0 -16px;
    letter-spacing: 0.04em;
  }
  .contact_box p {
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 20px;
  }
  .contact_box__inner.arrowplus:after {
    display: none;
  }
  .contact_box .contact_box__inner:last-of-type {
    margin-bottom: 12px;
  }
  .contact_box__inner a {
    padding: 14px 0 15px 0px;
    font-size: 20px;
    width: 100%;
    height: auto;
  }
  .contact_box__inner a.tel {
    font-size: 20px;
    padding: 14px 0 15px 0px;
  }
  .contact_box__inner a.mail {
    font-size: 17px;
    padding-bottom: 18px;
  }
  .contact_box__inner a.form {
    font-size: 16px;
    padding: 17px 0 17px 0px;
  }
  .contact_box__inner a:before {
    transform: scale(0.7);
    margin-right: 5px;
    vertical-align: middle;
  }
  .contact_box__inner a.mail:before,
  .contact_box__inner a.form:before {
    margin-right: 8px;
  }
  .contact_box__inner a:after {
    right: 6px;
    border-bottom: 1px solid #22539D;
    border-right: 1px solid #22539D;
  }
  .contact_box__inner .tel_ttl {
    font-size: 13px;
    margin-right: 5px;
  }
  .contact_box__inner a.flex_wrap {
    width: 100%;
    pointer-events: auto;
  }
  .contact_box__inner a.flex_wrap:after {
    display: block;
  }
  .contactbtn_area input[type="submit"],
  .contactbtn_area input[type="button"]{
    padding-top: 0;
    padding-bottom: 0;
    margin-left: auto!important;
    margin-right: auto!important;
    margin-bottom: 20px!important;
  }
  .contactbtn_area input[type="button"]{
    margin-bottom: 15px!important;
  }
  span.ajax-loader{
    display: block!important;
  }
  .common_contact__wrap .h_border_left.contact:before,
  .common_contact__wrap .h_border_left.contact:after{
    height: 40px;
  }
  .common_contact__wrap .h_border_left.contact:after{
    top: 40px;
    bottom:auto;
  }
}

/* パンくず #breadcrumb
=====================================================================*/

#breadcrumb {
  font-size: 13px;
  padding: 10px 0;
  color: #FFF;
  text-shadow: 0px 0px 15px rgba(0,0,0,0.75);
  position: absolute;
  width: 100%;
  bottom: 9px;
}

#breadcrumb a {
  font-size: 13px;
  color: #FFF;
  text-shadow: 0px 0px 15px rgba(0,0,0,0.75);
  position: relative;
}

@media screen and (min-width:769px) {
  #breadcrumb a:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width:767px) {
  #breadcrumb {
    font-size: 10px;
    bottom: -1px;
  }
  #breadcrumb a {
    font-size: 10px;
  }
}

/* 下層 共通
=====================================================================*/

.sub_mv {
  margin-top: 98px;
  height: 300px;
  position: relative;
  background: url(img/common/sub_mv.jpg) no-repeat center;
  background-size: cover;
}
.sub_mv.pdms{
  background-image: url(img/pdms/sub_mv.jpg);
}
.sub_mv.microplate,
.sub_mv.microplate_test{
  background-image: url(img/micro/sub_mv.png);
}
.sub_mv.recruit{
  background-image: url(img/recruit/sub_mv.jpg);
}
.sub_mv.double-sided-tape{
	background-image: url(img/double-sided-tape/sub_mv.jpg);
}
.sub_mv.faq{
  background-image: url(img/faq/sub_mv.jpg);
}
.sub_mv.employee{
  background-image: url(img/staff/sub_mv.jpg);
}
.sub_mv.profile{
  background-image: url(img/company/sub_mv.jpg);
}.sub_mv.quality{
  background-image: url(img/quality/sub_mv.jpg);
}
.sub_mv.interview{
  background-image: url(img/interview/sub_mv.jpg);
}
.sub_mv.assembly{
  background-image: url(img/assembly/sub_mv.jpg);
}
.sub_mv.clean_room{
  background-image: url(img/cleanroom/sub_mv.jpg);
}
.sub_mv.precision_punching{
  background-image: url(img/punching/sub_mv.jpg);
}
.sub_mv.laser_processing{
  background-image: url(img/laser/sub_mv.jpg);
}
.sub_mv.mass_produce{
  background-image: url(img/mass_production/sub_mv.jpg);
}
.sub_mv.prototype{
  background-image: url(img/trial/sub_mv.jpg);
}
.sub_mv.range{
  background-image: url(img/scope/sub_mv.jpg);
}
.sub_mv.specialty{
  background-image: url(img/field/sub_mv.jpg);
}
.sub_mv.materials{
  background-image: url(img/field/sub_mv.jpg);
}
.sub_mv.contact{
  background-image: url(img/common/sub_mv.jpg);
}
.sub_mv.thanks{
  background-image: url(img/common/sub_mv.jpg);
}
.sub_mv.maker{
  background-image: url(img/maker/sub_mv.jpg);
}
.sub_mv.news{
  background-image: url(img/news/sub_mv.jpg);
}
.sub_mv.case{
  background-image: url(img/case/sub_mv.jpg);
}
.sub_mv.case.i_medical{
  background-image: url(img/case_medical/sub_mv.jpg);
}
.sub_mv.i_chemistry{
  background-image: url(img/case_chemical/sub_mv.jpg);
}
.sub_mv.i_automobile{
  background-image: url(img/case_automotive/sub_mv.jpg);
}
.sub_mv.i_electrical{
  background-image: url(img/case_electronic/sub_mv.jpg);
}

.sub_mv .h_border_btm {
  font-size: 34px;
  padding: 111px 0 17px;
}
.sub_mv .h_border_btm.sub_mb_text_wrap{
  padding-top: 102px;
}
.sub_contact_bg {
  background: url(img/common/bg_sub_contact.jpg) no-repeat center;
  background-size: cover;
  height: 300px;
}

.sub_intro_area {
  background: #F6F6F6;
  position: relative;
  padding: 40px 0 40px;
  text-align: center;
}

.sub_intro_area:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -25px;
  height: 50px;
  width: 1px;
  background: #22539D;
}

.sub_intro_area.red:after {
  background: #DF333A;
}
.sub_intro_area p {
  text-align: left;
  width: 1000px;
  margin: 0 auto 15px;
}

.sub_intro_attention {
  font-size: 14px;
  color: #DF3339;
}

.sec__common_bnr {
  padding: 80px 0px 80px;
}

.sec__common_bnr.min {
  padding: 80px 0px 53px;
}
.common_imagebnr_col{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 60px;
}
.common_imagebnr_col a{
  width: 282px;
  display: block;
  margin-top: 30px;
}
.common_imagebnr_col a:nth-child(1),
.common_imagebnr_col a:nth-child(2),
.common_imagebnr_col a:nth-child(3),
.common_imagebnr_col a:nth-child(4){
  margin-top: 0;
}
.common_imagebnr_col_image{
  letter-spacing: 0;
  margin-bottom: 0;
  line-height: 0;
}
.common_imagebnr_col_txt{
  display: block;
  height: 55px;
  color: #FFF;
  font-size: 15px;
  background-color: #22539D;
  position: relative;
  padding: 13px 0 10px 14px;
  margin-bottom: 0;
  z-index: 1;
}
.common_imagebnr_col_txt.heightx2{
  height: 77px;
  padding-top: 25px;
}
.common_imagebnr_col_txt.heightx2_02{
  height: 77px;
}
.common_imagebnr_col_txt:after {
    content: "";
    display: block;
    position: absolute;
    top: 44%;
    right: 20px;
    height: 7px;
    width: 7px;
    border-bottom: 3px solid #FFF;
    border-right: 3px solid #FFF;
    transform: rotate(-45deg);
    transition: 0.4s ease;
}
a.image_btn .common_imagebnr_col_txt::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: #1C4685;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform 0.4s;
}
@media screen and (min-width: 769px){
  a.image_btn:hover .common_imagebnr_col_txt::before {
      transform-origin: left top;
      transform: scale(1, 1);
  }
}
.common_bnr__wrap.col3 {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

.common_bnr__wrap.col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.common_bnr__wrap.col2 .btn.bnr {
  margin: 0 16px 27px;
}

@media screen and (max-width:767px) {
  .sub_mv {
    margin-top: 60px;
    height: 200px;
    background: url(img/common/sub_mv_sp.png) no-repeat center;
    background-size: cover;
  }
  .sub_mv.pdms{
    background-image: url(img/pdms/sub_mv_sp.png);
  }
  .sub_mv.microplate,
  .sub_mv.microplate_test{
    background-image: url(img/micro/sub_mv_sp.png);
  }
  .sub_mv.double-sided-tape{
    background-image: url(img/double-sided-tape/sub_mv_sp.jpg);
  }
  .sub_mv.recruit{
    background-image: url(img/recruit/sub_mv_sp.jpg);
  }
  .sub_mv.faq{
    background-image: url(img/faq/sub_mv_sp.jpg);
  }
  .sub_mv.employee{
    background-image: url(img/staff/sub_mv_sp.jpg);
  }
  .sub_mv.profile{
    background-image: url(img/company/sub_mv_sp.jpg);
  }.sub_mv.quality{
    background-image: url(img/quality/sub_mv_sp.jpg);
  }
  .sub_mv.interview{
    background-image: url(img/interview/sub_mv_sp.jpg);
  }
  .sub_mv.assembly{
    background-image: url(img/assembly/sub_mv_sp.jpg);
  }
  .sub_mv.clean_room{
    background-image: url(img/cleanroom/sub_mv_sp.jpg);
  }
  .sub_mv.precision_punching{
    background-image: url(img/punching/sub_mv_sp.jpg);
  }
  .sub_mv.laser_processing{
    background-image: url(img/laser/sub_mv_sp.jpg);
  }
  .sub_mv.prototype{
    background-image: url(img/trial/sub_mv_sp.jpg);
  }
  .sub_mv.range{
    background-image: url(img/scope/sub_mv_sp.jpg);
  }
  .sub_mv.specialty{
    background-image: url(img/field/sub_mv_sp.jpg);
  }
  .sub_mv.materials{
    background-image: url(img/field/sub_mv_sp.jpg);
  }
  .sub_mv.contact{
    background-image: url(img/common/sub_mv_sp.png);
  }
  .sub_mv.thanks{
    background-image: url(img/common/sub_mv_sp.jpg);
  }
  .sub_mv.maker{
    background-image: url(img/maker/sub_mv_sp.jpg);
  }
  .sub_mv.news{
    background-image: url(img/news/sub_mv_sp.jpg);
  }
  .sub_mv.case{
    background-image: url(img/case/sub_mv_sp.jpg);
  }
  .sub_mv.case.i_medical{
    background-image: url(img/case_medical/sub_mv_sp.jpg);
  }
  .sub_mv.i_chemistry{
    background-image: url(img/case_chemical/sub_mv_sp.jpg);
  }
  .sub_mv.i_automobile{
    background-image: url(img/case_automotive/sub_mv_sp.jpg);
  }
  .sub_mv.i_electrical{
    background-image: url(img/case_electronic/sub_mv_sp.jpg);
  }
  .sub_mv .h_border_btm {
    font-size: 20px;
    padding: 38px 5px 14px;
  }
  .sub_mv .h_border_btm.sub_mb_text_wrap{
  padding-top: 68px;
    }
  .sub_mv .h_border_btm.row2 {
    padding: 60px 0 14px;
  }
  .sub_contact_bg {
    background: url(img/common/bg_sub_contact.jpg) no-repeat top right 32%;
    background-size: cover;
    height: 210px;
  }
  .sub_intro_area {
    padding: 30px 0 25px;
  }
  .sub_intro_area .h_blue,
  .sub_intro_area .h_red {
    font-size: 18px;
    border: 0;
    margin-bottom: 0px;
  }
  .sub_intro_area:after {
    height: 40px;
    bottom: -20px;
  }
  .sub_intro_area p {
    width: 100%;
  }
  .common_bnr__wrap.col3 {
    justify-content: center;
  }
  .sec__common_bnr,
  .sec__common_bnr.min {
    padding: 45px 0 35px;
  }
  .common_imagebnr_col{
    margin-bottom: 40px;
  }
  .common_imagebnr_col a,
  .common_imagebnr_col a:nth-child(3),
  .common_imagebnr_col a:nth-child(4){
    width: 48%;
    margin-top: 20px;
  }
  .common_imagebnr_col_txt{
    height: 48px;
    font-size: 12px;
    padding: 15px 0 10px 8px;
    line-height: 1.4;
  }
  .common_imagebnr_col_txt.heightx2{
    height: 48px;
    padding-top: 15px;
  }
  .common_imagebnr_col_txt.heightx2_02{
    height: 48px;
    padding-top: 15px;
  }
  .common_imagebnr_col_txt.sp_heightx2{
    padding-top: 8px;
  }
  .common_imagebnr_col_txt:after {
      content: "";
      display: block;
      position: absolute;
      top: 44%;
      right: 10px;
      height: 7px;
      width: 7px;
      border-bottom: 1px solid #FFF;
      border-right: 1px solid #FFF;
      transform: rotate(-45deg);
      transition: 0.4s ease;
  }
}

/* NEWS
=====================================================================*/

.sub_intro__navi_inner {
  padding: 47px 0 49px;
}

.sub_intro__navi_inner.min {
  padding: 34px 0 34px;
}

.sub_intro__navi_inner li {
  border-left: 1px solid #CCCCCC;
}

.sub_intro__navi_inner li:last-child {
  border-right: 1px solid #CCCCCC;
}

.sub_intro__navi_inner a {
  position: relative;
  line-height: 24px;
  padding: 0 30px;
  display: block;
  font-size: 14px;
}

.sub_intro__navi_inner a.current {
  color: #22539D;
  font-weight: bold;
}

.news_list__wrap {
  margin: 0 0 120px;
}

.news_list__wrap li {
  border-top: 1px solid #DCDCDC;
}

.news_list__wrap li:last-child {
  border-bottom: 1px solid #DCDCDC;
}

.news_list__wrap a {
  display: block;
  position: relative;
  z-index: 0;
  padding: 26px 10px 15px 0;
}

.news_list__wrap a:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #EEF1F7;
  z-index: -1;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}

.news_list__wrap a:after {
  content: "";
  display: block;
  position: absolute;
  top: 43%;
  right: 30px;
  height: 8px;
  width: 8px;
  border-bottom: 2px solid #22539D;
  border-right: 2px solid #22539D;
  transform: rotate(-45deg);
  transition: .3s ease;
}

.news_list__wrap.type__02 a {
  padding: 17px 10px 17px 40px;
}

.news_list__wrap.type__02 a:after{
  right: 65px;
  height: 7px;
  width: 7px;
}

.news__date.sub {
  color: #6C737F;
  line-height: initial;
  margin-left: 0;
}
.ie .news__date.sub {
  line-height: 20px;
}

.news__date.sub.contact { /* お問い合わせページで使用 */
  margin-left: 75px;
}

.news__date.sub:before {
  display: none;
}

.news__date.sub.contact:before {
  display: inline-block;
}

.news__tag.sub {
  background: #22539D;
  color: #FFF;
}

.news__tag.sub.contact {
  margin-right: 15px;
}

.news_ttl {
  color: initial;
  margin-top: 11px;
}

.news_ttl.min {
  font-size: 14px;
  width: 825px;
}

.contact_page .news_ttl.min{
    margin-top: 12px;
}

@media screen and (max-width:767px) {
	.contact_page .news_ttl.min{
    	margin-top: 5px;
	}
}
@media screen and (min-width:769px) {
  .sub_intro__navi_inner a:hover {
    color: #22539D;
    font-weight: bold;
  }
  .news_list__wrap a:hover {
    padding-left: 13px;
  }
  .news_list__wrap.type__02 a:hover {
    padding-left: 53px;
  }
  .news_list__wrap a:hover:before {
    transform-origin: left top;
    transform: scale(1,1);
  }
  .news_list__wrap a:hover:after {
    right: 20px;
  }
  .news_list__wrap.type__02 a:hover:after {
    right: 52px;
  }
  .news_list__wrap a:hover .news__date.sub {
    color: #22539D;
  }
  .news_list__wrap a:hover .news_ttl {
    color: #22539D;
  }
}
@media screen and (max-width:767px) {
  .sub_intro__navi {
    padding: 40px 3% 35px;
    background: none;
  }
  .sub_intro__navi_inner {
    padding: 0;
    border-top: 1px solid #CCCCCC;
    border-left: 1px solid #CCCCCC;
    justify-content: left!important;
  }
  .sub_intro__navi_inner,
  .sub_intro__navi_inner.min {
    padding: 0;
  }
  .sub_intro__navi_inner li {
    width: 50%;
    border: none;
    border-bottom: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC;
  }
  .sub_intro__navi_inner a {
    background: #FFF;
    text-align: center;
    font-size: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 10px;
    height: 100%;
    padding: 0 35px;
  }
  .sub_intro__navi_inner a:after {
    content: "";
    display: block;
    position: absolute;
    top: 42%;
    right: 8%;
    height: 5px;
    width: 5px;
    border-bottom: 1px solid #22539D;
    border-right: 1px solid #22539D;
    transform: rotate(-45deg);
  }
  .news_list__wrap {
    margin: 0 0 50px;
  }
  .news_list__wrap a {
    padding: 18px 6% 5px 0;
  }
  .news_list__wrap.type__02 a {
    padding: 19px 4% 15px 3%;
  }
  .news_list__wrap a:after {
    top: 48%;
    right: 4px;
    height: 6px;
    width: 6px;
    border-bottom: 1px solid #22539D;
    border-right: 1px solid #22539D;
  }
  .news_list__wrap.type__02 a:after {
    right: 10px;
  }
  .sub_intro__navi_inner a.current {
    background: #F8F8F8;
  }
  .news_ttl {
    margin-top: 5px;
    line-height: 1.6;
  }
  .news_ttl.min {
    width: 100%;
  }
  .news__date.sub.contact {
    margin-left: 0;
  }
  .news__date.sub.contact:before {
    display: none;
  }
}

/* WPページナビ
=====================================================================*/

.wp-pagenavi {
  text-align: center;
  font-size: 15px;
  padding: 45px 0 45px;
  color: #0A172C;
  background: #EEF1F7;
  display: flex;
  justify-content: center;
}

.wp-pagenavi .pages{
  display: none;
}
.wp-pagenavi a,
.wp-pagenavi span{
  border: none;
}
.wp-pagenavi a,
.wp-pagenavi .current {
  display: inline-block;
  height: 34px;
  width: 30px;
  text-align: center;
  border-bottom: 1px solid rgba(0,0,0,0);
}

.wp-pagenavi .current {
  color: #22539D;
  font-weight: bold;
  border-bottom: 1px solid #22539D;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  position: relative;
  border: none;
}

.wp-pagenavi .previouspostslink{
  margin-right: 25px;
}

.wp-pagenavi .nextpostslink{
  margin-left: 25px;
}

.previouspostslink:after,
.nextpostslink:after {
  content: "";
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  right: 0;
  margin: auto;
  width: 7px;
  height: 7px;
  border-top: 2px solid #22539D;
  border-right: 2px solid #22539D;
}

.previouspostslink:after {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.nextpostslink:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (min-width: 769px) {
  .wp-pagenavi a:hover {
    color: #22539D;
    font-weight: bold;
    border-bottom: 1px solid #22539D;
  }
  .wp-pagenavi a.previouspostslink:hover,
  .wp-pagenavi a.nextpostslink:hover {
    border: none;
  }
}

@media screen and (max-width:767px) {
  .wp-pagenavi {
    font-size: 13px;
    padding: 30px 0 30px;
  }
  .wp-pagenavi a,
  .wp-pagenavi .current {
    line-height: 25px;
    padding: 0px 8px;
  }
  .wp-pagenavi .current {
    padding: 0 8px;
  }
}

/* NEWS詳細
=====================================================================*/

.sec__news_detail {
  padding: 60px 0 125px;
}

.h_news_detail {
  position: relative;
  margin-bottom: 20px;
}
.h_news_detail .news__date {
  font-size: 13px;
}

.h_news_detail .news__tag {
  font-size: 12px;
  line-height: 22px;
}

@media screen and (max-width:767px) {
.h_news_detail {
   margin-bottom: 5px;
}
  .sec__news_detail {
    padding: 0 0 65px;
  }
  .h_news_detail .news__date {
    font-size: 12px;
  }
  .h_news_detail .news__tag {
    font-size: 11px;
    line-height: 20px;
    margin-right: 5px;
    margin-bottom: 5px;
  }
}

/* フリーエリア テンプレ WP用
=====================================================================*/

.mceContentBody {
  border: 1px solid #DCDCDC;
  padding: 45px 45px 80px;
  margin: 0px 0 60px;
}

.mceContentBody h2 {
  font-size: 22px;
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #DCDCDC;
  position: relative;
}

.mceContentBody h2:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 50px;
  height: 1px;
  background: #22539D;
}

.mceContentBody h3 {
  font-size: 20px;
  border-left: 4px solid #22539D;
  padding-left: 11px;
  margin-bottom: 13px;
}

.mceContentBody h4 {
  font-size: 18px;
  position: relative;
  margin-bottom: 10px;
}

.mceContentBody h4:before {
  content: "";
  display: inline-block;
  background: #22539D;
  width: 22px;
  height: 1px;
  margin: 0 15px 6px 0px;
}

.mceContentBody h5 {
  font-size: 18px;
  color: #21529D;
  margin-bottom: 10px;
}

.mceContentBody p {
  margin: 0 0 25px;
}

.mceContentBody strong {
  font-weight: bold;
}

.mceContentBody em {
  font-style: italic;
}

.mceContentBody ol,
.mceContentBody ul {
  margin: 20px 0 20px;
}

.mceContentBody ol li {
  list-style: decimal outside;
  margin: 0 0 3px 20px;
}

.mceContentBody ul li {
  list-style: disc outside;
  margin-left:18px;
}

.mceContentBody table {
  margin: 23px 0 0;
  border: 1px solid #DCDCDC;
}

.mceContentBody table tr {
  border-bottom: 1px solid #DCDCDC;
}

.mceContentBody table td,
.mceContentBody table th {
  padding: 9px 15px;
  font-size: 14px;
  border-right: 1px solid #DCDCDC;
}

.mceContentBody table th {
  font-weight: bold;
  background: #EFF0F1;
}
.mceContentBody a{
    color: #22539D;
    text-decoration: underline;
}
.mceContentBody a:hover{
  text-decoration: none;
}

@media screen and (max-width:767px) {
  .mceContentBody {
    padding: 25px 5% 30px;
    margin-bottom: 45px;
  }
  .mceContentBody table {
    width: 100%;
  }
  .mceContentBody table td,
  .mceContentBody table th {
    padding: 8px 5px;
    font-size: 12px;
    border-right: 1px solid #DDDDDD;
  }
  .mceContentBody h2 {
    font-size: 17px;
    padding-bottom: 16px;
    margin-bottom: 15px;
  }
  .mceContentBody h2:before {
    width: 40px;
  }
  .mceContentBody h3 {
    font-size: 16px;
    border-left: 3px solid #22539D;
  }
  .mceContentBody h4 {
    font-size: 15px;
  }
  .mceContentBody h4:before {
    width: 18px;
    margin: 0 10px 6px 0px;
  }
  .mceContentBody h5 {
    font-size: 14px;
  }

}

/* 試作対応
=====================================================================*/

.multi_box {
  margin: 0 0 75px;
}

.point_box {
  background: #EEF1F7;
  padding: 18px 21px 5px;
  margin-bottom: 10px;
}

.point_box:last-of-type {
  margin-bottom: 25px;
}

.point_box.merit {
  margin-bottom: 5px;
}

.point_box.type__02 {
  padding: 22px 21px 5px;
}

.point_box.type__03 { /* レーザー加工ページで使用 */
  padding: 48px 50px 45px;
}

.point_box.type__03 { /* 採用情報ページで使用 */
  padding: 40px;
}

.checklist li {
  margin-bottom: 14px;
}

.check__txt {
  position: relative;
  padding-left: 33px;
}

.check__txt:before {
  position: absolute;
  content: url(img/common/icon_check.png);
  display: inline-block;
  width: auto;
  height: auto;
  left: 2px;
  top: 2px;
}

.check__txt.blue {/* 精密抜き打ちページで使用 */
  padding-left: 28px;
  margin-bottom: 10px;
}

.process_case__list.col4 li {
  width: 280px;
  margin-right: 22px;
}

.process_case__list.col4 li:nth-child(2n) {
  margin-right: 22px;
}

.process_case__list.col4 li:nth-child(4n) {
  margin-right: 0px;
}
.process_case__list.col4 a:after {
  top: 114px;
}

.circle_arrow.big {
  font-size: 15px;
  padding: 4px 0 5px 29px;
  margin-top: 6px;
}

@media screen and (max-width:767px) {
  .multi_box {
    margin: 0 0 45px;
  }
  .multi_box .img_wrap {
    margin: 0 0 10px;
  }
  .point_box,
  .point_box.type__02 {
    padding: 15px 4% 1px;
  }
  .point_box.type__03 {
    padding: 30px 5% 30px;
  }
  .point_box:last-of-type {
    margin-bottom: 15px;
  }
  .check__txt,
  .check__txt.blue {
    padding-left: 24px;
  }
  .check__txt:before {
    left: 0;
    transform: scale(0.7);
    top: 1px;
  }
  .process_case__list.col4 li,
  .process_case__list.col4 li:nth-child(2n),
  .process_case__list.col4 li:nth-child(4n) {
    width: 100%;
    margin-right: 0px;
  }
  .circle_arrow.big {
    font-size: 14px;
    margin-top: 0;
    padding: 4px 0 5px 27px;
  }
}

/* 裏側コンテンツ
=====================================================================*/

.special_contents__wrap {
  background: url(img/common/bg_special_contents.jpg) no-repeat center;
  background-size: cover;
  padding: 105px 0 200px;
}

.special_contents__box {
  border-left: 2px solid #FFF;
  border-right: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
  padding: 94px 53px 70px;
  position: relative;
}
.special_contents__box .btn_wrap a{
  width: initial;
  min-width: 310px;
  max-width: 80%;
  line-height: 1.5;
  padding: 26px 33px 26px 20px;
  box-sizing: border-box;
}

.special_contents__ttl {
  font-size: 30px;
  position: absolute;
  top: -27px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.08em;
}

.special_contents__ttl:before,
.special_contents__ttl:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 275px;
  height: 2px;
  background: #FFF;
}

.special_contents__ttl:before {
  left: 0;
}

.special_contents__ttl:after {
  right: 0;
}

.special_contents__ttl img {
  position: absolute;
  bottom: -31px;
  left: 0;
  right: 0;
  margin: auto;
}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .special_contents__ttl img { bottom:-82px; } /* IE11 */
}

.dialogue__box {
  background: rgba(255,255,255,0.85);
  padding: 25px 30px;
  position: relative;
  margin-bottom: 40px;
  width: 100%;
}

.dialogue__box.left,
.dialogue__box.right {
  padding: 15px 25px;
  display: flex;
  align-items: center;
}
.dialogue__box.left{
  width: 85%;
}
.dialogue__box.right {
  width: 85%;
  margin-left: 15%;
  justify-content: flex-end;
}

.dialogue__box.summary {
  margin-bottom: 0;
  margin-top: 50px;
}

.dialogue__box:before {
  content: '';
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  bottom: -20px;
  background: linear-gradient(to top left,rgba(255,255,255,0) 50%,rgba(255,255,255,0.85) 50.5%) no-repeat top left/100% 100%;
}
.dialogue__box.d_image_none{
  margin-bottom: 30px;
}
.dialogue__box.d_image_none::before{
  display: none;
}
.dialogue__box.left:before {
  left: 30px;
}

.dialogue__box.right:before {
  right: 30px;
  transform: scale(-1, 1);
}

.dialogue__box.summary:before {
  display: none;
}

.dialogue__box:after {
  content: "";
  display: block;
  clear: both;
}
.dialogue_lastimg{
  width: 920px;
  margin: 0 auto 20px;
  text-align: center;
}
.dialogue_lastimg img{
  max-width: 100%;
}

.speaker__thumb {
  width: 170px;
}

.speaker__thumb img {
  display: block;
  width: 108px;
  border-radius: 100%;
  height: 108px;
  object-fit: cover;
  border: 4px solid #FFF;
}

.speaker__thumb.left {
  padding-right: 60px;
}

.speaker__thumb.right {
  padding-left: 60px;
}

.speaker__name {
  font-size: 15px;
}

.dialogue__txt_wrap {
  width: 600px;
}

.dialogue__txt {
  width: 600px;
  margin-bottom: 0;
}
.d_image_none .dialogue__txt_wrap{
  width: 100%;
}
.dialogue__box.summary .btn_wrap {
  margin: 30px 0 12px;
  border-top: 1px solid #DCDCDC;
  padding-top: 30px;
}

@media screen and (max-width:767px) {
  .special_contents__wrap {
    padding: 65px 2% 120px;
  }
  .special_contents__box {
    border-left: 1px solid #FFF;
    border-right: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
    padding: 65px 3% 40px;
  }
  .special_contents__ttl {
    font-size: 18px;
    top: -16px;
  }
  .special_contents__ttl:before,
  .special_contents__ttl:after {
    width: 15px;
    height: 1px;
  }
  .special_contents__ttl img {
    bottom: -25px;
    width: 145px;
  }
  .dialogue__box {
    padding: 15px 3%!important;
    margin-bottom: 30px;
  }
  .dialogue__box.left,
  .dialogue__box.right {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .dialogue__box.summary {
    margin-top: 40px;
  }
  .dialogue__box.left:before {
    left: 5%;
  }
  .dialogue__box.right:before {
    right: 5%;
  }

  .dialogue__box.d_image_none{
    margin-bottom: 20px;
  }
  .dialogue_lastimg{
    width: 100%;
    margin: 0 auto 14px;
  }
  .speaker__thumb {
    width: 100%;
    margin: 0 auto;
    padding: 0!important;
  }
  .speaker__thumb img {
    margin: 0 auto;
    width: 85px;
    height: 85px;
  }
  .speaker__name {
    font-size: 14px;
  }
  .dialogue__txt_wrap,
  .dialogue__txt {
    width: 100%;
  }
  .dialogue__txt {
    line-height: 1.8;
  }
  .dialogue__box.summary .btn_wrap {
    margin: 17px 0 10px;
    padding-top: 22px;
  }
  .special_contents__box .btn_wrap a{
    min-width: initial;
    padding: 22px 33px 22px 20px;
  }

}

/* 量産対応
=====================================================================*/

.checklist.col3 li {
  display: inline-block;
  vertical-align: top;
  width: 33%;
}

.checklist.col3 li.wide {
  width: 36%;
}

.checklist.col3 li.min {
  width: 30%;
}

@media screen and (max-width:767px) {
  .sp_swipe {
    width: 100%;
    overflow-y: hidden;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
  .sp_swipe .col3_box__wrap {
    display: table;
  }
  .sp_swipe .col3_box {
    width: 100%;
    white-space: nowrap;
    display: table-cell;
    margin: 0;
  }
  .sp_swipe .col3_box img {
    width: 294px;
    margin: 0 13px 0 0;
    display: inline-block;
    max-width: none;
  }
  .checklist.col3 li,
  .checklist.col3 li.wide,
  .checklist.col3 li.min {
    width: 100%;
    display: block;
  }
}

/* クリーンルーム対応
=====================================================================*/
.movie_area {
  margin: 30px 0 70px;
}

.movie_area iframe {
  width: 900px;
  height: 600px;
  margin: 0 auto;
  display: block;
}

@media screen and (max-width:767px) {
  .movie_area {
    margin: 20px 0 50px;
  }
  .movie_area iframe {
    width: 100%!important;
    height: 240px!important;
  }
}

/* 加工事例
=====================================================================*/
.case_cat__wrap {
  margin-top: 5px;
}

.cat__ttl {
  display: inline-block;
  line-height: 22px;
  background: #22539D;
  font-size: 12px;
  text-align: left;
  margin-right: 5px;
  padding: 0 8px;
  color: #FFF;
}
.cat__ttl.cat__p{
  background: #FFF;
  color: #22539D;
  border: 1px solid #22539D;
  padding: 0 6px;
  line-height: 20px;
}
.search_box__wrap {
  background: #F6F6F6;
  width: 1100px;
  margin: 0 auto 60px;
}

.search_box {
  padding: 20px 0px;
  border-bottom: 1px solid #DDDDDD;
  margin: 0 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.search_box:last-child {
  border: none;
}

.search_box.field {
  padding: 32px 0px 21px;
}

.search_box.making {
  padding: 20px 0 13px;
}

.search_box.keyword {
  padding: 20px 0 35px;
}

.search_box dt {
  margin-bottom: 0;
  width: 230px;
}

.search_box dd {
  width: calc(100% - 230px);
}

span.input_group{
  display: inline-block;
}
span.input_group a{
  display: block;
}

.input_group .input_label {
  margin: 0 6px 0 0px;
}

.input_group .input_label.making {
  margin: 0 6px 9px 0px;
}

.input_group .input_label{
  border: 1px solid #DDDDDD;
  display: inline-block;
  transition: 0.3s;
  background: #FFF;
  font-weight: bold;
  color: #22539D;
  font-size: 14px;
  padding: 5px 15px 0 31px;
  height: 38px;
  position: relative;
  cursor: pointer;
}

.input_group a:hover .input_label{
  border: 1px solid #22539D;
}

.input_group .input_label.field {
  font-size: 15px;
  padding: 3px 20px 0 10px;
  height: 48px;
  margin-bottom: 10px;
}

.input_group input[type='radio'] {
  position: absolute;
  display: none;
}

.input_group input[type='radio'],
.search_btn {
  -webkit-appearance: none;
  -moz-appearance: none;
}

.ie .keyword input[type='text']{
  padding: 12px 20px 12px;
  line-height: 1.5;
}
.ie .search_btn{
  padding: 11px 0;
  line-height: 1.5;
}

.input_group .input_label.field:before {
  display: inline-block;
  width: auto;
  height: auto;
  margin: 5px 12px 0 0;
  vertical-align: middle;
}

.input_group .input_label.i_medical:before {content: url(img/case/icon_medical.png);}
.input_group .input_label.i_chemistry:before {content: url(img/case/icon_chemical.png);}
.input_group .input_label.i_automobile:before {content: url(img/case/icon_automotive.png);}
.input_group .input_label.i_electrical:before {content: url(img/case/icon_electronic.png);}
.input_group .input_label.i_other:before {content: url(img/case/icon_other.png);}

.input_group .input_label.making:before {
  content: "";
  display: block;
  position: absolute;
  left: 15px;
  top: 38%;
  width: 1px;
  height: 1px;
  border: 3px solid transparent;
  border-left: 5px solid #22539D;
}

input[type=radio]:checked + .input_label{
  border: 1px solid #22539D;
}

.keyword input[type="text"] {
  background: #FFF;
  border: 1px solid #DDDDDD;
  padding: 5px 20px 6px;
  width: 728px;
}

.search_btn {
  background: #22539D;
  color: #FFF;
  width: 80px;
  text-align: center;
  font-size: 15px;
  padding: 8px 0 10px;
}

.search_form {
  display: none;
}

.search_ttl {
  cursor: pointer;
  position: relative;
}

.search_ttl span {
  position: relative;
}

.search_ttl:after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: #FFF;
  border-radius: 50px;
  position: relative;
  left: 13px;
  top: 2px;
}

.search_ttl span:before,
.search_ttl span:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: -26px;
  width: 10px;
  height: 2px;
  background: #22539D;
  transition: 0.3s;
  z-index: 1;
}

.search_ttl span:after {
  transform: rotate(90deg);
}

.search_ttl.active span:after {
  transform: rotate(00deg);
}

.contact_area{
  text-align: center;
  margin: 50px 0 0;
}

@media screen and (max-width:767px) {
  .search_box__wrap {
    width: 100%;
    margin: 0 0 40px;
  }
  .search_box {
    padding: 18px 0px!important;
    margin: 0 3%;
    display: block;
  }
  .search_box dt {
    margin-bottom: 15px;
    width: 100%;
  }
  .search_box dd {
    width: 100%;
  }
  .input_group .input_label {
    margin: 0 2px 5px 0px!important;
  }
  .search_btn {
    width: 18%;
    font-size: 13px;
    padding: 15px 0 15px;
  }
  .input_group .input_label {
    font-size: 13px;
    padding: 10px 12px 10px 23px;
    display: flex;
    align-items: center;
    min-height: 30px;
    height: auto;
    line-height: 1.2;
    box-sizing: border-box;
  }
  .input_group .input_label.field {
    font-size: 13px;
    padding: 0px 11px 0 5px;
    height: 40px;
  }
  .input_group .input_label.field:before {
    margin: 3px 3px 0 0;
    transform: scale(0.8);
  }
  .input_group .input_label.making:before {
    left: 10px;
    top: 37%;
  }
  .keyword input[type="text"] {
    padding: 10px 3% 10px;
    width: 80%;
  }
}

/* 加工事例 詳細
=====================================================================*/

.h_border_btm_02.case_detail__ttl {
  font-size: 20px;
  margin-bottom: 13px;
  padding-bottom: 22px;
}

.mb_box {
  margin-bottom: 50px;
}

.thumb_view {
  margin: 10px 0 40px;
}

.thumb_img {
  width: 690px;
  height: 460px!important;
  margin: 0 auto 9px;
}

.thumb_img img{
  width: 100%;
}

.thumb_nav li {
  margin: 0 5px 1px 0px;
  display: inline-block;
}

.thumb_nav li:nth-child(2n) {
  margin-right: 0px;
}
.thumb_nav li a img {
  width: 140px;
  display: block;
}

.thumb_nav a {
  display: block;
  background: #22539D;
}

.thumb_nav a img {
  transition: 0.3s;
}

.thumb_nav a.over img {
  opacity: 0.6;
}

@media screen and (min-width:769px) {
  .thumb_nav a:hover img {
    opacity: 0.6;
  }
}
@media screen and (max-width:767px) {
  .thumb_view {
    margin: 0px 0 25px;
  }
  .thumb_img {
    width: 100%;
    height: auto!important;
    margin: 0;
  }
  .thumb_nav li {
    margin: 0 0.8% 0px 0px;
    width: 14.96%;
  }
  .thumb_nav li:nth-child(2n) {
    margin-right: 0.8%
  }
  .thumb_nav li:nth-child(6n) {
    margin-right: 0px;
  }
  .thumb_nav li a img {
    width: 100%;
  }
  .h_border_btm_02.case_detail__ttl {
    font-size: 17px;
    padding-bottom: 14px;
    margin-bottom: 12px;
  }
  .mb_box {
    margin-bottom: 30px;
  }
}

/* 対談・インタビュー
=====================================================================*/

.interview_bnr__box {
  display: block;
  margin: 0 0 50px;
}

.interview_bnr__box:last-of-type {
  margin-bottom: 0;
}

.interview_bnr__box .f_left {
  width: 500px;
  padding: 125px 50px 50px;
  height: 560px;
  background: #F6F6F6;
  position: relative;
}

.interview__num {
  position: absolute;
  top: 65px;
  left: 0;
}

.interview__num img {
  display: inline-block;
}

.interview__num:before {
  content: "";
  display: inline-block;
  width: 50px;
  background: #DF333A;
  height: 1px;
  transition: 0.3s;
  margin-bottom: 8px;
  margin-right: 15px;
}

.interview__copy {
  font-size: 26px;
  padding-left: 17px;
  font-weight: bold;
  color: #333333;
  line-height: 1.6;
}

.interviewer__name {
  font-size: 16px;
  text-align: right;
  color: #222222;
  padding-top: 22px;
  margin-top: 49px;
  position: relative;
  border-top: 1px solid #CCCCCC;
}

.interview_bnr__box .interviewer__name:before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  width: 0;
  height: 1px;
  background: #DF333A;
  left: 0;
  transition: 0.3s ease;
}

.hover_layer__red {
  width: 600px;
  height: 560px;
  position: relative;
  background: linear-gradient(to right,#DF333A,#E97076);
  overflow: hidden;
}

.hover_layer__red img {
  display: block;
  transition: 0.3s;
  width: 100%;
  height: 110%;
  object-fit: cover;
}

.img__coming_soon {
  margin-top: 70px;
}

@media screen and (min-width:769px) {
  .interview_bnr__box:hover .interview__num:before {
    width: 50px;
  }
  .interview_bnr__box:hover .interviewer__name:before {
    width: 100%;
  }
  .interview_bnr__box:hover .hover_layer__red img {
    opacity: 0.7;
    transform: scale(1.05);
  }
  .interview_bnr__box.coming_soon:hover .interview__num:before {
    width: 50px;
  }
  .interview_bnr__box.coming_soon:hover .interviewer__name:before {
    width: 0;
  }
  .interview_bnr__box.coming_soon:hover .hover_layer__red img {
    opacity: 1;
    transform: none;
  }
}

@media screen and (max-width:767px) {
  .interview_bnr__box {
    margin: 0 0 40px;
    background: #F6F6F6;
    padding-bottom: 18px;
  }
  .interview_bnr__box .f_left {
    width: 100%;
    height: auto;
    padding: 80px 4% 23px;
  }
  .interview__num {
    top: 35px;
  }
  .interview__num:before {
    width: 40px;
  }
  .interview__num img {
    width: 100px;
  }
  .interview__copy {
    font-size: 19px;
    padding-left: 0;
  }
  .interviewer__name {
    font-size: 13px;
    padding: 12px 0 0;
    margin: 0;
    text-align: left;
    border: none;
  }
  .hover_layer__red {
    width: 90%;
    margin: 0 auto;
    height: 250px;
  }
  .img__coming_soon {
    margin: 6px 2% 0;
    text-align: left;
  }
  .img__coming_soon.center img {
    width: 170px;
  }
}

/* 対談・インタビュー詳細
=====================================================================*/

.interview_detail__mv_wrap {
  margin-top: 98px;
  position: relative;
  height: 600px;
  padding-top: 110px;
}

.interview_detail__mv_wrap.interview01 {
  background: url(img/interview/detail_mv_01.jpg) no-repeat center;
  background-size: cover;
}

.interview_detail__mv_wrap.interview02 {
  background: url(img/interview/detail_mv_02.jpg) no-repeat center;
  background-size: cover;
}

.interview_detail__mv_wrap .interview__num {
  position: relative;
  top: auto;
  margin-bottom: 22px;
}

.interview_detail__mv_wrap .interview__copy {
  font-size: 30px;
  padding-left: 0;
}

.interview_detail__mv_wrap .interviewer__name {
  border: none;
  text-align: left;
  margin: 0;
  padding-top: 16px;
}

.company_profile__box {
  padding: 30px 50px;
  position: absolute;
  bottom: -64px;
  left: 0;
  right: 0;
  width: 1200px;
  margin: auto;
}

.company_profile__box p {
  font-size: 14px;
  margin-bottom: 0;
  color: #222222;
}

.company_profile__name {
  color: #DF333A;
  border-bottom: 1px solid #DCDCDC;
  padding-bottom: 17px;
  margin-bottom: 18px;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.interview__intro {
  background: #F6F6F6;
  padding: 24px 3% 22px;
  margin: 41px 0 70px;
}

.interview__intro p {
  margin-bottom: 0;
  color: #212121;
}

.interview__box {
  position: relative;
  margin-bottom: 85px;
}

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

.border_box.red_base p {
  color: #212121;
}

.interview_img__left,
.interview_img__right{
  position: absolute;
  top: 0;
  width: 700px;
  z-index: 0;
}

.interview_img__left {
  left: 0;
}

.interview_img__right {
  right: 0;
}

.shadow__blue {
  box-shadow: 14px 14px 0px rgba(34,83,157,0.4);
}

.shadow__red {
  box-shadow: 14px 14px 0px rgba(223,51,58,0.3);
}

.shadow__red.min {
  box-shadow: 6px 6px 0px rgba(223,51,58,0.3);
}

.interview_vision__sec {
  position: relative;
}

.inteview_vision__img {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  width: 1200px;
  top: 185px;
}

.interview_vision__sec .h_border_left {
  padding: 12px 0 0 30px;
  margin: 170px 0 106px;
  color: #333333;
}

.interview_box_summary {
  position: absolute;
  top: -80px;
  right: 0;
}

@media screen and (min-width:769px) {
  .company_profile__box a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width:767px) {
  .interview_detail__mv_wrap {
    margin-top: 60px;
    height: auto;
    padding: 0;
    background: none!important;
  }
  .interview_detail__mv_wrap .interview__num {
    position: absolute;
    top: -121px;
  }
  .interview_detail__mv_wrap .interviewer__name {
    top: -105px;
    position: absolute;
  }
  .interview_detail__mv img {
    height: 200px;
    object-fit: cover;
  }
  .interview_detail__mv_wrap .interview__copy {
    font-size: 20px;
    padding: 0;
    padding-top:30px;
  }
  .company_profile__box {
    position: relative;
    bottom: auto;
    width: 100%;
    padding: 30px 4% 0px;
  }
  .company_profile__name {
    padding-bottom: 10px;
    margin-bottom: 12px;
  }
  .interview__intro {
    margin: 0 0 40px;
    padding: 15px 3%;
  }
  .interview__box {
    margin-bottom: 45px;
    background: #FFF;
  }
  .interview_img__left, .interview_img__right {
    position: relative;
    width: 100%;
  }
  .shadow__blue,
  .shadow__red,
  .shadow__red.min {
    box-shadow: none;
  }
  .inteview_vision__img {
    position: relative;
    top: auto;
    width: 94%;
  }
  .inteview_vision__img img {
    height: 200px;
    object-fit: cover;
  }
  .interview_vision__sec .h_border_left {
    margin: 0;
    font-size: 18px;
    padding: 12px 0 0 4%;
  }
  .interview_box_summary {
    position: relative;
    top: auto;
    right: auto;
  }
}

/* 取り扱いメーカー
=====================================================================*/

.sub_intro__navi.maker {
  margin-bottom: 50px;
}

.material_type__wrap {
  margin: 0 0 80px;
}

.material_type__ttl {
  height: 250px;
  background: url(img/maker/ttl_bg01.jpg) no-repeat center;
  background-size: cover;
}

.material_type__ttl .h_border_btm {
  padding-top: 88px;
}

@media screen and (max-width:767px) {
  .material_type__wrap {
    margin: 0 0 55px;
  }
  .sub_intro__navi.maker {
    padding: 0;
    margin-bottom: 40px;
  }
  .material_type__ttl {
    height: 200px;
  }
  .material_type__ttl .h_border_btm {
    padding-top: 72px;
  }
}

/* 工場・設備紹介
=====================================================================*/

.factory .col3_box {
  margin-bottom: 50px;
}

.factory .col3_box:after {
  content: "";
  display: block;
  clear: both;
}
.col3_box_3fraction2{
  width: 720px;
  float: left;
}
.col3_box_3fraction1{
  width: 350px;
  margin-right: 0;
}

.factory .col3_box .img_wrap {
  margin-bottom: 17px;
}

.p__detail {
  border-top: 1px solid #DCDCDC;
  padding-top: 9px;
  font-size: 14px;
}

@media screen and (max-width:767px) {
  .multi_box.border {
    border-bottom: 1px solid #DCDCDC;
  }
  .factory .col3_box,
  .factory .col2_box {
    margin-bottom: 20px;
    }
  .factory .col3_box .img_wrap {
    margin-bottom: 17px;
    float: left;
    width: 30%;
    margin-right: 4%;
  }
  .factory .col3_box .h_blue_border_left,
  .factory .col3_box p {
    float: right;
    width: 66%;
  }
  .factory .col3_box.col_no_image .h_blue_border_left,
  .factory .col3_box.col_no_image p {
    float: none;
    width: 100%;
  }
  .factory .col3_box .h_blue_border_left,
  .factory .col2_box .h_blue_border_left {
    font-size: 14px;
    border-left: 2px solid #22539D;
    padding-left: 7px;
  }
  .factory .col3_box p,
  .factory .col2_box p {
    font-size: 12px;
    line-height: 1.8;
    margin-bottom: 8px;
  }
  .p__detail {
    border-top: none;
    padding-top: 0;
  }
}

/* 会社概要
=====================================================================*/

.wide_img__sec.company {
  padding: 80px 0 85px;
  overflow: hidden;
}

.sub_intro__navi_inner.down_arrow a:after {
  top: 37%;
  transform: rotate(45deg);
}

.wide_img__sec .img_right {
  margin: 60px -95px 0 0;
  z-index: 0;
  box-shadow: 27px 27px 0px rgba(34,83,157,0.4);
}

.txt_right {
  text-align: right;
}

.bg_gray .multi_table {
  padding: 50px 50px;
}

.multi_table dl {
  border-bottom: 1px solid #DCDCDC;
  display: table;
  width: 100%;
}

.multi_table dl:first-child {
  border-top: 1px solid #DCDCDC;
}

.multi_table dt,
.multi_table dd {
  font-size: 15px;
  display: table-cell;
  vertical-align: middle;
  padding: 30px 0 30px 50px;
}

.multi_table dt:after {
  display: block;
  content: "";
  clear: both;
}

.multi_table dt {
  font-weight: bold;
  width: 300px;
  background: #F6F6F6;
}

.multi_table.contact dt {
  width: 300px;
  padding-right: 30px;
}

.multi_table dd {
  width: calc(100% - 250px);
}
*::-ms-backdrop, .multi_table dd {
  width: 850px; /* IE11 */
}

*::-ms-backdrop, .multi_table dd .table_bnr_area{
  width: 800px; /* IE11 */
}

.multi_table.contact dd {
  width: calc(100% - 300px);
  padding: 25px 50px;
}

.table_bnr_area li {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
}

.table_bnr {
  width: 280px;
  display: inline-block;
  background: #F6F6F6;
  height: 100%;
}

.table_bnr img {
  width: 100%;
  display: block;
}

.table_bnr_area li p {
  margin: 0;
  width: calc(100% - 280px);
  padding-left: 20px;
  font-size: 14px;
}

.border_box {
  border: 5px solid #EEEEEE;
  padding: 30px 35px;
  background: #FFF;
  text-align: left;
  z-index: 1;
  position: relative;
}

.border_box.type__02 { /* 精密打ち抜き加工ページで使用 */
  padding: 23px 40px 30px;
  margin: 0 0 50px;
}

.border_box.type__03 { /* 取り扱いメーカーページで使用 */
  border: 1px solid #DDDDDD;
  padding: 40px 50px;
}

.border_box.type__04 { /* お問い合わせページで使用 */
  padding: 0px;
  margin: 0 0 75px;
}

.border_box.type__05 { /* インタビュー詳細ページで使用 */
  padding: 30px 50px 30px;
}

.border_box.type__06 { /* 採用ページで使用 */
  padding: 42px 70px;
}

.border_box.type__08 { /* マイクロプレートで使用 */
  padding: 30px 40px 30px;
    margin: 0 0 50px;
}

.img_wrap.img_border_wrap {
  border: 1px solid #DDDDDD;
}

.bg_white.box {
  padding: 50px 50px;
}

.num_list {
  margin-left: 22px;
}

.num_list li {
  list-style: decimal;
  margin-bottom: 5px;
}

@media screen and (min-width:769px) {
  .table_bnr:hover img {
    opacity: 0.9;
  }
}
@media screen and (max-width:767px) {
  .wide_img__sec.company {
    padding: 0px 0 55px;
  }
  #greeting .wrap {
    padding: 0;
  }
  #greeting .f_left {
    padding: 0 4%;
  }
  .wide_img__sec .img_right {
    margin: 0;
    box-shadow: none;
  }
  .multi_table dl {
    display: block;
    border: none;
    padding: 0;
  }
  .multi_table dl:first-child {
    border: none;
  }
  .multi_table dt,
  .multi_table dd {
    width: 100%!important;
    display: block!important;
    padding: 11px 3% 11px;
    font-size: 14px;
  }
  .multi_table.contact dt {
    padding-right: 3%;
  }
  .multi_table dd {
    padding: 12px 3% 14px;
  }
  .multi_table.contact dd {
     padding: 8px 0 15px;
  }
  .table_bnr_area li {
    display: block;
  }
  .table_bnr {
    width: 80%;
    display: block;
    margin: auto;
    margin-bottom: 9px;
  }
  .table_bnr_area li p {
    width: 100%;
    padding: 0;
    font-size: 13px;
    line-height: 1.8;
  }
  .bg_gray .multi_table {
    padding: 15px 3%;
  }
  .border_box {
    border: none;
    padding: 0 3%;
  }
  .border_box.type__02,
  .border_box.type__08 {
    padding: 0;
    margin-bottom: 45px;
  }
  .border_box.type__03 {
    padding: 20px 5% 10px;
  }
  .border_box.type__04 {
    border: 5px solid #EEEEEE;
    margin: 0 0 35px;
  }
  .border_box.type__05 {
    padding: 30px 3% 0px;
  }
  .border_box.type__06 {
    padding: 20px 3%;
    border: 1px solid #EEEEEE;
  }
  .border_box .img_wrap {
    margin-bottom: 10px;
  }
  .img_wrap.img_iso {
    width: 100%;
    margin-bottom: 12px;
  }
  .bg_white.box {
    padding: 0;
    background: inherit;
  }
  .num_list li {
    margin-bottom: 10px;
  }
  .num_list li:last-child {
    margin-bottom: 0;
  }
  .contact_page #fixed_navi{
    position: absolute;
    bottom: -50px;
    display: table!important;
  }
}

/* 社員紹介
=====================================================================*/
.staff_box {
  background: #EEF1F7;
  padding: 50px;
  margin-bottom: 100px;
  position: relative;
}

.staff_box:after {
  content: "";
  display: block;
  clear: both;
}

.staff_box:first-child {
  margin-top: 50px;
}

.staff_box:last-child {
  margin-bottom: 0px;
}

.staff_img__left,
.staff_img__right {
  position: absolute;
  bottom: 50px;
}
.staff_img__left img,
.staff_img__right img {
  display: block;
}

.staff_img__left {
  left: 50px;
}

.staff_img__right {
  right: 50px;
}

.staff_box__inner {
  width: 650px;
}

@media screen and (max-width:767px) {
  .staff_img__left, .staff_img__right {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    margin-bottom:20px;
  }
  .staff_box:first-child {
    margin-top: 15px;
  }
  .staff_box {
    padding: 25px 3% 6px;
    margin-bottom: 40px;
  }
  .staff_box__inner {
    width: 100%;
  }
  .staff_img__left img, .staff_img__right img {
    margin: 0 auto;
    width: 200px;
    height: 200px;
    object-fit: cover;
    object-position: top center;
  }
}


/* 採用情報
=====================================================================*/
.sec__recruit {
  padding: 0 0 73px;
}

.box__origin_right {
  margin-top: 5px;
}

p.p_border_left {
  position: relative;
  margin: 13px 0 39px 3px;
}

p.p_border_left:last-child {
  margin-bottom: 0;
}

.p_border_left:before {
  content: "";
  display: inline-block;
  background: #22539D;
  width: 30px;
  height: 1px;
  margin: 0 14px 4px 0px;
}

@media screen and (max-width:767px) {
  .sec__recruit {
    padding: 0 0 45px;
  }
  .box__origin_right {
    margin-top: 20px;
  }
  p.p_border_left {
    margin: 0px 0 22px;
  }
  .img_wrap.scale img {
    transform: scale(0.7);
    transform-origin: center left;
  }
  .p_border_left:before {
    width: 20px;
    margin-right: 9px;
  }
}


/* よくあるご質問
=====================================================================*/

.faq_box {
  margin: 0 0 45px;
}

.faq_answer {
  background: #EEF1F7;
  padding: 25px 32px 18px;
}

.faq_answer a {
  margin: 0 0 10px;
}

@media screen and (max-width:767px) {
  .faq_box {
    margin: 0;
  }
  .faq_answer {
    padding: 15px 3% 5px;
    margin: 0 0 30px;
  }
}

/* お問い合わせ
=====================================================================*/

.news_list__wrap.type__02 {
  margin: 0;
}

.news_list__wrap.type__02 li {
  border: none!important;
  position: relative;
}

.news_list__wrap.type__02 li:first-child:before {
  display: none;
}

.news_list__wrap.type__02 li:before {
  content: "";
  display: block;
  position: absolute;
  width: 1100px;
  height: 1px;
  background: #DCDCDC;
  margin: auto;
  left: 0;
  right: 0;
}

.flow__list li {
  display: flex;
  background: #FFF;
  align-items: center;
  padding:  28px 50px;
  margin-bottom: 5px;
  position: relative;
}

.flow__list li:last-child {
  margin-bottom: 0;
}

.flow__list li:after {
  content: "";
  display: block;
  position: absolute;
  left: 50px;
  bottom: -19px;
  width: 1px;
  height: 1px;
  border: 9px solid transparent;
  border-left: 9px solid #22539D;
  transform: rotate(90deg);
  z-index: 1;
}

.flow__list li:last-child:after {
  display: none;
}

.flow__list li img {
  margin: 4px 32px 0 0;
}

.flow__list .h_flow {
  color: #22539D;
  font-weight: bold;
  font-size: 16px;
  position: relative;
  margin-right: 110px;
  width: 108px;
}

.flow__list .h_flow.red {
  color: #DF333A;
}

.flow__list .h_flow:after {
  content: "";
  display: block;
  position: absolute;
  right: -78px;
  width: 50px;
  background: #91A9CE;
  height: 1px;
  top: 44%;
}

.flow__list .h_flow.red:after {
  background: #DF333A;
}

.flow__list li p {
  margin-bottom: 0;
  width: 730px;
}

.white_box {
  background: #FFF;
  padding: 35px 50px 34px;
  margin-bottom: 10px;
}

.white_box.type__02 {
  padding: 27px 50px 25px;
}

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

.white_box p {
  display: inline-block;
  margin-bottom: 0;
  vertical-align: middle;
}

.row__box {
  margin-bottom: 10px;
}

.row__box p,
.row__box span,.row__box a {
  font-weight: bold;
  letter-spacing: 0.05em;
}

.row__box p.area {
  font-size: 22px;
  margin-right: 37px;
}

.row__box p.tel {
  font-size: 26px;
  margin-right: 39px;
}

.row__box p.tel span {
  font-size: 20px;
  color: #22539D;
  display: inline-block;
  margin-right: 10px;
}

.row__box p.mail {
  font-size: 20px;
}

.row__box p.mail a {
  color: #22539D;
  font-size: 22px;
  text-decoration: underline;
  margin-left: 11px;
}

.row__box p img {
  margin-right: 13px;
}

.multi_table .must {
  font-size: 12px;
  color: #FFF;
  background: #E34C52;
  line-height: 22px;
  text-align: center;
  display: inline-block;
  padding: 0 6px;
  font-weight: 400;
  float: right;
}

.txt__min {
  font-size: 13px;
  margin-bottom: 5px;
}

@media screen and (min-width:769px) {
  .row__box p.mail a:hover {
    text-decoration: none;
  }
}

@media screen and (max-width:767px) {
  .news_list__wrap.type__02 li:before {
    width: 100%;
  }
  .flow__list li {
    display: block;
    padding: 15px 4%;
    margin-bottom: 15px;
  }
  .flow__list li:after {
    left: 0;
    right: 0;
    margin: auto;
  }
  .flow__list li img {
    display: inline-block;
    margin: 0px 13px 0 0;
  }
  .flow__list .h_flow {
    width: 80%;
    display: inline-block;
    margin: 0 0 4px;
  }
  .flow__list .h_flow:after {
    display: none;
  }
  .flow__list li p {
    margin-bottom: 0;
    width: 100%;
    line-height: 1.6;
  }
  .white_box,
  .white_box.type__02 {
    padding: 20px 4% 15px;
  }
  .row__box {
    margin-bottom: 13px;
  }
  .row__box p.area {
    font-size: 15px;
    display: block;
  }
  .row__box p.tel {
    font-size: 14px;
    margin-right: 4%;
    display: inline-block;
  }
  .row__box p.tel span {
    font-size: 13px;
    margin-right: 0;
  }
  .row__box p.mail {
    font-size: 15px;
  }
  .row__box p.mail a {
    font-size: 15px
  }
  .row__box p img {
    margin-right: 9px;
    width: 12px;
  }
  .row__box p.mail img {
    width: 17px;
  }

}

/* 加工事例用お問い合わせ */
.contact_case{
  width: 740px;
}

/* margin・padding設定
=====================================================================*/
.mr15 {
  margin-right: 15px;
}

.mr20 {
  margin-right: 20px;
}

.mr25 {
  margin-right: 25px;
}

.mr45 {
  margin-right: 45px;
}

.mr100 {
  margin-right: 100px;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px;
}

.pb0 {
  padding-bottom: 0px!important;
}
.mb65_pc{
  margin-bottom: 65px !important;
}

@media screen and (max-width:767px) {
  .mb65_pc{
    margin-bottom: 45px!important;
  }
  .sp_textleft{
    text-align: left;
  }
  .sp_p0{
    padding: 0;
  }
}
/* 上付き・下付き文字
=====================================================================*/
sup,sub{
    font-size: 11px;
}

.object-fit-img {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.confirmed_only{
  display: none;
}
.form_confirmed .confirmed_only{
  width: 100%;
  display: block;
  font-weight: bold;
  font-size: 90%;
  padding-top: 4px;
  color: #22539D;
}
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #F6F6F6 inset;
}
.form_confirmed input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #FFF inset;
}
.form_confirmed input[type="text"],
.form_confirmed input[type="tel"],
.form_confirmed input[type="email"],
.form_confirmed input[type="password"],
.form_confirmed textarea{
  background-color: #FFF!important;
  border: none!important;
}


/* 取り扱いメーカーページ
=====================================================================*/

.materials_wrap{
  width: 1200px;
  margin: 0 auto 80px;
  box-sizing: border-box;
}
#functional_film .materials_wrap{
  margin: 0 auto 120px;
}
.materials_h_wrap{
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
    margin-top: 98px;
    height: 250px;
    position: relative;
  background: url(img/manufacturer/materials_tape_ttl.jpg) no-repeat center;
  background-size: cover;
}
#m_film .materials_h_wrap{
  background: url(img/manufacturer/materials_film_ttl.jpg) no-repeat center;
  background-size: cover;
}
#m_functional_film .materials_h_wrap{
  background: url(img/manufacturer/materials_f_film_ttl.jpg) no-repeat center;
  background-size: cover;
}
.materials_ttl{
  position: relative;
  text-align: center;
  font-size: 26px;
  padding: 90px 0 22px;
}

.materials_ttl:before,
.materials_ttl:after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  bottom: 8px;
  width: 50px;
  height: 1px;
}

.materials_ttl:before {
  background: #22539D;
  right: 50%;
}

.materials_ttl:after {
  background: #E0393F;
  left: 50%;
}

.materials_main{
  border:1px solid #DDD;
  border-top: none;
  padding: 20px 0 0;
  box-sizing: border-box;
}
.materials_col{
  width: 1100px;
  margin: 30px auto 0px;
  box-sizing: border-box;
  overflow: hidden;
}
.materials_table{
  margin: 0 auto 68px;
}
.materials_table_last{
  margin-bottom: 38px;
}
.m_tabel_supple{
  font-size: 14px;
}
.materials_table table{
  width: 1100px;
  margin: 0 auto 26px;
}
.materials_table table{
  border: #DCDCDC 1px solid;
}
.materials_table th,
.materials_table td{
  font-size: 13px;
  color: #0A172C;
  letter-spacing: 0.05rem;
  vertical-align: middle;
  line-height: 1.6;
  border: #DCDCDC 1px solid;
}
.materials_table th{
  background: #F6F6F6;
  font-weight: bold;
  text-align: left;
  padding: 20px 15px 22px;
}
.materials_table .head_area th{
  text-align: center;
  padding: 13px 15px 16px;
}
.materials_table td{
  padding: 14px;
}
.m_name{
  width: 198px;
}
.m_thickness,
.m_material,
.m_adhesive{
  width: 134px;
}
.m_feature,
.m_use{
  width: 250px;
}
.sub_intro__navi_materials .sub_intro__navi_inner{
      padding: 37px 0 39px;
}
.m_tabel_atend{
  font-size: 14px;
}
.materials_toggle{
  display: none;
}
.file_del_btn{
  display: none;
}
.underline_link{
    color: #22539D;
  text-decoration: underline;
}
.underline_link:hover{
  text-decoration: none;
}
.btn_wrap.interview_btn{
    width: 1200px;
    text-align: center;
    margin: 70px auto 0;
    padding-top: 30px;
    border-top: 1px solid #DCDCDC;
}
.image_col_wrap{
  width: 1200px;
  margin: 40px auto;
}
.image_col_wrap .image_col{
    width: 280px;
    margin-right:0;
    display: inline-block;
}
.image_col_wrap .image_col:last-child{
  margin-right: 0;
}
@media screen and (max-width:767px) {
  .material_cate{
    width: 92%;
    margin: 0 auto 40px;
    background: none;
  }
  .material_cate .sub_intro__navi{
    padding: 0;
  }
  .material_cate .sub_intro__navi a::after{
    top: 38%;
    transform: rotate(45deg);
  }
  .sub_intro__navi_materials .sub_intro__navi_inner{
    padding: 0;
  }
  .materials_wrap{
    width: 100%;
    margin: 0 auto 60px;
  }
  .materials_h_wrap {
    height: 125px;
    margin-top: 0;
  }
  .materials_ttl{
    padding-top: 45px;
    font-size: 17px;
  }
  .materials_col {
    width: 100%;
    margin: 0 auto;
  }
  .materials_table{
    display: none;
  }
  .materials_toggle{
    display: block;
  }
  .materials_main {
    border: none;
    padding: 0;
    width: 92%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .materials_main .h_border_btm_02{
    font-size: 15px;
    padding: 14px 0;
    margin: 0;
  }
  .materials_main .h_border_btm_02::before{
    content: "";
    display: block;
    position: absolute;
    top: 34%;
    right: 11px;
    left:auto;
    background: #1A64DF;
    height: 15px;
    width: 1px;
    transition: 0.3s;
    opacity: 1;
  }
  .materials_main .h_border_btm_02.active::before{
    opacity: 0;
  }
  .materials_main .h_border_btm_02::after{
    content: "";
    display: block;
    position: absolute;
    top: 49%;
    right: 4px;
    border: none;
    background: #1A64DF;
    transform: rotate(0deg);
    width: 15px;
    height: 1px;
  }
  .materials_toggle li ul{
    width: 100%;
    margin: 15px auto 0;
  }
  .materials_toggle li ul li{
    margin-bottom: 6px;
  }
    .materials_toggle li ul li:last-child{
      margin-bottom: 0;
    }
  .materials_toggle li ul .m_name{
    display: block;
    width: 100%;
    background: #EEF1F7;
    color: #21529D;
    font-size: 15px;
    padding: 10px;
    font-weight: bold;
    box-sizing:border-box;
    position: relative;
  }
  .materials_main .m_name::before{
    content: "";
    display: block;
    position: absolute;
    top: 37%;
    right: 23px;
    left:auto;
    background: #1A64DF;
    height: 13px;
    width: 1px;
    transition: 0.3s;
    opacity: 1;
  }
  .materials_main .m_name.active::before{
    opacity: 0;
  }
  .materials_main .m_name::after{
    content: "";
    display: block;
    position: absolute;
    top: 49%;
    right: 17px;
    border: none;
    background: #1A64DF;
    transform: rotate(0deg);
    width: 13px;
    height: 1px;
  }
  .materials_table_sp{
    width: calc(100% - 20px);
    margin: 15px auto 18px;
    overflow: hidden;
    border: 1px solid #DCDCDC;
    border-top: none;
    box-sizing:border-box;
  }
  .materials_table_sp *{
    box-sizing:border-box;
  }
  .m_thickness{
    width: 50%;
    border-right: 1px solid #DCDCDC;
  }
  .m_material{
    width: 50%;
  }
  .m_adhesive,
  .m_feature,
  .m_use{
    width: 100%;
  }
  .materials_table_sp dt,
  .materials_table_sp dd{
    border-top: 1px solid #DCDCDC;
    width: 100%;
    font-size: 13px;
    line-height: 1.6;
  }
  .materials_table_sp dt{
    background: #F6F6F6;
    font-weight: bold;
    padding: 10px;
  }
  .materials_table_sp dd{
    padding: 15px 10px;
    min-height: calc(100% - 40px);
  }
  .materials_table_col2{
    display: table;
    width: 100%;
  }
  .materials_table_col2 dt,
  .materials_table_col2 dd{
    width: 50%;
    display: table-cell;
    vertical-align: middle;
  }
  .materials_table_col2 dt:first-child,
  .materials_table_col2 dd:first-child{
    border-right: 1px solid #DCDCDC;
  }
  .contact_page .sub_intro__navi_inner li{
    width: 100%;
  }
  .contact_page .sub_intro__navi{
    padding-bottom: 0;
  }
  .contact_page .sub_intro__navi_inner a:after{
      top: 40%;
      transform: rotate(45deg);
  }
  .btn_wrap.interview_btn{
    width: 100%;
    margin: 0 auto;
    border-top: none;
  }
  .image_col_wrap{
  width: 100%;
  margin: 20px auto 20px;
  padding: 0;
  letter-spacing: -0.4em;
  }
  .image_col_wrap .image_col{
    width: 50%;
    margin-right: 0;
    display: inline-block;
    text-align: center;
  }
  .image_col_wrap .image_col img{
    width: 96%;
    height: auto;
  }
}

.contact_point.point_box {
  padding: 0;
  overflow: hidden;
  margin: 80px auto 0;
}
.contact_point .h_border_btm_02{
  width: calc(100% - 80px);
  padding: 40px 0 20px;
  margin: 0 auto 40px;
  cursor: pointer;
}
.contact_point .flow__list{
  width: calc(100% - 80px);
  margin: 25px auto 40px;
}

.contact_point .h_border_btm_02::before{
  content: "";
  display: block;
  position: absolute;
  top: 46%;
    right: 30px;
  left:auto;
  background: #1A64DF;
  height: 24px;
  width: 2px;
  transition: 0.3s;
  opacity: 1;
}
.contact_point .h_border_btm_02.active::before{
  opacity: 0;
}
.contact_point .h_border_btm_02::after{
  content: "";
  display: block;
  position: absolute;
  top: 58%;
  right: 20px;
  border: none;
  background: #1A64DF;
  transform: rotate(0deg);
    width: 24px;
  height: 2px;
}
@media screen and (max-width:767px) {

  .contact_point.point_box {
    padding: 0;
    overflow: hidden;
    margin: 20px auto 0;
  }
  .contact_point .h_border_btm_02{
    width: calc(100% - 40px);
    padding: 20px 0 20px;
    margin: 0 auto 20px;
    cursor: pointer;
  }
  .contact_point .flow__list{
    width: calc(100% - 40px);
    margin: 25px auto 20px;
  }

  .contact_point .h_border_btm_02::before{
    content: "";
    display: block;
    position: absolute;
    top: 42%;
    right: 10px;
    left:auto;
    background: #1A64DF;
    height: 16px;
    width: 1px;
    transition: 0.3s;
    opacity: 1;
  }
  .contact_point .h_border_btm_02.active::before{
    opacity: 0;
  }
  .contact_point .h_border_btm_02::after{
    content: "";
    display: block;
    position: absolute;
    top: 53%;
    right: 3px;
    border: none;
    background: #1A64DF;
    transform: rotate(0deg);
      width: 16px;
      height: 1px;
  }
}
.top_col2_btn{
  line-height: 30px;
  height: 86px;
  vertical-align: middle;
  display: flex;
  align-items: center;
}
.range_long_btn{
  font-size: 14px;
  width: 340px;
}
@media screen and (max-width:767px) {
  .top_col2_btn{
    line-height: 30px;
  }
  .range_long_btn{
    font-size: 13px;
    padding-left: 14px;
    max-width: 319px;
  }
}

.sub_mv.pdms_micro {
  background-image: url(img/pdms/sub_mv.jpg);
}

.sub_mv.micro {
  background-image: url(img/micro/sub_mv.jpg);
}

.col2_img_area li {
  display: inline-block;
  vertical-align: top;
  width: 49%;
  height: 170px;
  position: relative;
  margin: 0 12px 15px 0;
  background: #f7f7f7;
}

.col2_img_area li:nth-child(2n) {
  margin-right: 0;
}

.col2_img_area li img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
 max-width: calc(100% - 20px);
}

.col2_img_area {
  padding: 0 30px;
}

@media screen and (max-width: 767px) {
  .col2_img_area {
    padding: 0px;
  }
  .col2_img_area li {
    width: 100%;
    margin: 0 0 10px;
    height: calc(100vw * 0.35);
  }
  .col2_img_area li img {
    padding: 0 3%;
    max-width:100%;
  }
}




.sub_intro_area .min {
  font-size: 14px;
}

.table_layout {
  margin: 50px 0 110px;
}

.table_layout table {
  width: 100%;
}

.table_layout tr {
  border-bottom: 1px solid #DCDCDC;
  border-left: 1px solid #DCDCDC;
}

.table_layout tr:first-child {
  border-top: 1px solid #DCDCDC;
}

.table_layout tr.bg {
  border: 2px solid #D2222B;
}

.table_layout th, .table_layout td {
  padding: 15px 15px 15px;
  border-right: 1px solid #DCDCDC;
}

.table_layout th {
  font-weight: bold;
  background: #F6F6F6;
}

@media screen and (max-width: 767px) {
  .table_layout {
    margin: 35px 0 65px;
  }
  .table_layout th, .table_layout td {
    font-size: 13px;
    padding: 12px 10px 11px;
    min-width: 80px;
  }
}


.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}


.top_movie{
  padding-top: 100px;
  margin-bottom: 100px;
}
.top_movie .img_left{
  margin-left: 0;
  margin-top: 60px;
}
.top_movie iframe{
  width: 634px;
  height: 357px;
}
.top_movie .f_right{
  width: 490px;
  padding-top: 20px;
}
.wide_img__sec.top_movie::after{
  content: "";
  display: block;
  position: absolute;
  left: auto;
  right: 0;
  top: 96px;
  width: 73.6%;
  height: 497px;
  background: #EEF1F7;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top_movie{
    padding-top: 130px;
    margin-bottom: 0;
  }
  .top_movie iframe{
    width: 100%;
    height: auto;
  }
  .top_movie .img_left{
    margin-top: 0;
  }
  .top_movie .f_right{
    padding-top: 30px;
    width: 100%;
  }
}

.ttl-blue{
  position: relative;
  text-align: center;
  font-size: 22px;
  padding: 0;
  margin-bottom: 36px;
  color: #1F529D;
}
.movie_area02 {
  margin: 30px 0 20px;
}
.movie_area02 iframe{
  width: 900px;
  height: 506px;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width:767px) {
  .ttl-blue{
    position: relative;
    text-align: center;
    font-size: 20px;
    padding: 0;
    margin-bottom: 28px;
    color: #1F529D;
  }
  .movie_area02 {
    margin: 20px 0 10px;
  }
  .movie_area02 iframe {
    width: 100%!important;
    height: auto;
  }
  .movie_wrap{
    padding-top: 0!important;
    padding-bottom: 50px!important;
  }
}


.img_icon_wrap{
  position: relative;
}
.img_icon_video{
  position: absolute;
  display: inline-block;
  padding: 0 3px 0 28px;
  font-size: 12px;
  color: #0A172C;
  background: #FFF url(img/common/video.png) 6px 50% no-repeat;
  background-size: 17px auto;
  line-height: 20px;
  height: 20px;
  bottom: 10px;
  right: 10px;
}
.img_icon_video p{
  margin-bottom: 0;
  letter-spacing: 0.05em;
  line-height: 20px;
}

@media screen and (max-width:767px) {
  .img_icon_video p{
    font-size: 12px;
    line-height: 23px;
  }
  .img_icon_video{
    background-size: 17px auto;
    height: 23px;
    padding: 0 4px 0 28px;
  }
}

/*12/10　追記==========================*/
.h_border_long_left{
  margin: 92px 0 87px;
}

.h_border_long_left::before{
  height: 100%;
}

@media screen and (max-width:767px){
  .h_border_long_left{
    margin: 0;
  }
  .break-word{
      overflow-wrap: break-word;
  }
}

/*20220526　追記==========================*/
.js-modal-video:hover{
cursor: pointer;
  cursor: hand;
  opacity: 0.8;
}


.recaptcha_policy {
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 11px !important;
  color: #999 !important;
}
.recaptcha_policy a {
  font-size: 11px !important;
  color: #999 !important;
}
.grecaptcha-badge {
  opacity: 0;
  visibility: hidden;
}

/*MVスライダーちらつき防止*/
.slick-slide{
    height: auto!important;
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
}

.product_link_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-top: 30px;
}
.product_link_list_price {
  text-align: center;
  font-size: 14px;
}
@media screen and (max-width:767px) {
  .product_link_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  .product_link_list_price {
    font-size: 13px;
  }
}

/* WEB_0001-23998 送信ボタン位置調整 */
.wpcf7 .wpcf7-spinner {
    display: block !important;
}


/* WEB_0001-23425英語サイトリニューアル */
/* --- 英語サイト専用：ファイルアップロード外観修正 --- */
/* 1. 本物の「ファイルを選択」ボタン（日本語）を完全に非表示にする */
#file-68-input {
  display: none !important;
}
@media screen and (min-width:768px) {
  /* PCでは親要素にFlexboxを適用 */
  .custom-upload-wrapper {
    display: flex;         /* 横並びにする */
    align-items: center;   /* 上下の中央を揃える */
    flex-wrap: wrap;       /* 幅が狭い時に適宜折り返す（モバイル対応） */
    gap: 10px;            /* 要素間の隙間を一定にする */
    margin-top: 5px;
  }
}
/* 2. 自作の英語ボタン（Label）のデザイン */
.custom-file-label {
  display: inline-block;
  background: #f0f0f0;
  border: 1px solid #ccc;
  padding: 5px 15px;
  border-radius: 3px;
  color: #333;
  cursor: pointer;
  vertical-align: middle;
  font-size: 14px;
  transition: 0.3s;
  margin: 0;
}
.custom-file-label:hover {
  background: #e0e0e0;
}
/* 3. 表示されるファイル名のスタイル */
.file-name-display {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  font-size: 14px;
  color: #333;
}
/* 4. 削除ボタンの配置微調整 */
/* --- Clear Selectionボタンのスタイル統一 --- */
.file_del_btn {
  background-color: #f0f0f0;
  border: none;
  border-radius: 3px;
  color: #333;
  font-size: 14px;
  padding: 5px 15px;
  cursor: pointer;
  transition: 0.3s;
  /* flex環境下ではmargin-leftなどはgapで制御するため不要 */
  margin: 0;
  /* ホバー時の変化を滑らかに */
  vertical-align: middle;     /* 中央揃え（既存の設定があれば上書き） */
  width: auto;
}
/* ホバー時のスタイルも統一 */
.file_del_btn:hover {
  background-color: #e0e0e0; /* Choose Fileと同じホバー時の色 */
}

/*20260331　追記==========================*/
.p-equal-height{
    letter-spacing: 0.08em;
    line-height: 1.8;
    margin: 0 0 15px 0;
    min-height: 3.6em;   /* 2行分の高さをキープ */
    display: flex;
    flex-direction: column;  /* 中身を縦に並べる（文章なので） */
    justify-content: center; /* 垂直方向（縦）の真ん中へ */
}

.btn.contact_btn_wide {
    padding: 16px 32px 16px 24px;
    line-height: 1.6;
    width: 420px;
}