/*
Theme Name: nano_tcd065-child
Template: nano_tcd065
*/


/* ------------------------------------------------------------------------------------
 TablePressの追加設定
＜列の横幅を固定＞
 column_widths="20%|80%"


＜固定ページのヘッダIMAGEを削除＞
.p-cover { display: none; }
@media only screen and (min-width: 1200px) {
 .p-archive-header__title { margin-top: 80px; }
}
------------------------------------------------------------------------------------ */


.min_sub {
	font-size:32px;
	color:#ffffff;
	font-family: "Times New Roman", times, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
}



/* ------------------------------------------------------------------------------------
 採用情報　“私たち”が選んだこの会社
------------------------------------------------------------------------------------ */


.float_wrap {
  width: 100%;
  margin: 0 auto;
}

.float_img {
  float: left;
  margin: 0 20px 10px 0;
  width: 240px;
  height: auto;
}

.float_text {
  font-size: 14px;
  line-height: 1.6;
  text-align: justify;
  margin-top: 0;
  /* ★ overflow: hidden を削除 ★ */
}

/* ------------------------------------------------------------------------------------
 レスポンシブなtable01
------------------------------------------------------------------------------------ */



.tb01 {
  border-collapse: collapse;
 /* table-layout: fixed; ← これを削除またはコメントアウト */
  width: 100%;
  max-width: 100%;
  text-align: center;
}
.tb01 th, .tb01 td {
  border: 1px solid #CCC;
  padding: 1em;
}
.tb01 thead th {
  background-color: #F2F9EC;
  border: 1px solid #CCC;
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
}
.tb01 thead th:last-of-type {
  border-right: 1px solid #CCC;
}
.tb01 tbody th {
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 787px) {
  .tb01 {
    text-align: left;
  }
  .tb01 thead {
    display:none;
  }
  .tb01 th, .tb01 td {
    display: block;
    border: 0;
    border-bottom: 1px solid #CCC;
  }
  .tb01 tbody th{
    background: #F2F9EC;
  }
  .tb01 td::before{
    content: attr(data-label);
    font-weight: bold;
    display: inline-block;
    width: 20%;
    min-width: 4em;
  }
}

.tb01 tbody td:nth-child(2),  /* 2列目 */
.tb01 tbody td:nth-child(5) { /* 5列目 */
  text-align: left;
} 



/* ------------------------------------------------------------------------------------
 フローデザイン
------------------------------------------------------------------------------------ */

 .flow01 {
	margin: 0;
	padding: 0;
}
.flow01 > li {
	list-style-type: none;
	position: relative;
  padding-bottom: 50px;
	display: flex;
	align-items: flex-start;
}
.flow01 > li:nth-of-type(even)::after {
	content: "";
	position: absolute;
	left: 50px;
	top: 0;
	width: 0;
  height: 100%;
	border-left: 4px dotted #d4d4d4;
}
.flow01 > li:nth-of-type(odd)::before {
	content: "";
	position: absolute;
	left: 50px;
	top: -40px;
	width: 20%;
	height: 40px;
}
.flow01 > li:nth-of-type(odd)::after {
	content: "";
	position: absolute;
	left: 50px;
	top: 50px;
	width: 20%;
	height: calc(100% - 50px);
	border-left: 4px dotted #d4d4d4;
}


.flow01 > li:first-of-type::before, .flow01 > li:last-of-type::after {
  content: unset;
}


.flow01 > li dl {
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 130px);
}
.flow01 > li .icon01 {
	display: inline-block;
	margin: 0;
	width: 100px;
	height: auto;
	margin-right: 20px;
	text-align: center;
	font-weight: bold;
	vertical-align: middle;
	font-size: 27px;
	line-height: 100px;
	background: #1e50a2;
	color: #fff;
	border-radius: 100vh;
	position: relative;
	z-index: 1;
}


@media screen and (max-width: 959px) {
  .flow01 > li:nth-of-type(odd)::before,
  .flow01 > li:nth-of-type(odd)::after,
  .flow01 > li:nth-of-type(even)::after {
    left: 30px; /* ← 60px の中心 */
  }

  .flow01 > li .icon01 {
    width: 60px;
    height: 60px;
    font-size: 1rem;
    line-height: 60px;
    margin-right: 15px;
  }
}

.flow01 > li dt {
	display: inline-block;
	margin: 1rem 0 0.5rem;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .1em;
}

@media screen and (min-width: 960px) {
  .flow01 > li dt {
    font-size: 24px; /* PCなど広い画面向け */
  }
}

.flow01 > li dd {
	max-width: 750px;
	margin: 0;
	font-weight: normal;
	line-height: 2;
	letter-spacing: .1em;
}

@media screen and (min-width: 960px) {
	.flow01 > li:nth-of-type(even) {
		margin-left: 20%;
		padding-top: 20px;
	}
	.flow01 > li:nth-of-type(odd)::after {
		border-bottom: 4px dotted #d4d4d4;
	}
	.flow01 > li:nth-of-type(odd)::before {
		border-top: 4px dotted #d4d4d4;
		border-left: 4px dotted #d4d4d4;
	}
	.flow01 > li:nth-of-type(even)::after {
		height: calc(100% - 40px);
	}
}


.flow01 > li:last-child::before {
  content: "";
  position: absolute;
  left: 50px;
  top: 0;                 /* アイコンの上から */
  width: 0;
  height: 40px;           /* 好みに応じて長さ調整 */
  border-left: 4px dotted #d4d4d4;
  z-index: 0;
}

.icon01.step01 { background: #1e50a2 !important; }  /* ブルー */
.icon01.step02 { background: #355c7d !important; }  /* ネイビーブルー */
.icon01.step03 { background: #4caf50 !important; }  /* グリーン */
.icon01.step04 { background: #f4b400 !important; }  /* ゴールド */
.icon01.step05 { background: #d32f2f !important; }  /* レッド */
.icon01.step06 { background: #7e57c2 !important; }  /* パープル */

@media screen and (max-width: 959px) {
  .flow01 > li:last-child::after,
  .flow01 > li:last-child::before {
    content: none;
  }
}

/* ------------------------------------------------------------------------------------
 テーマに最初から入っているCSS
------------------------------------------------------------------------------------ */

/* text-align - 配置 */
.align1 { text-align: center !important; }

/* 中央寄せ */
.align2 { text-align: right !important; }

/* 右寄せ */
.align3 { text-align: left !important; }

/* 左寄せ */
/* float - 回り込み */
/* 右に回り込み */
.r-flo { float: right; margin: 30px; }

/* 左に回り込み */
.l-flo { float: left; margin: 30px; }

.f-clear { clear: both; }

/* 回り込みの解除
<div class="f-clear"></div>
*/




/* ------------------------------------------------------------------------------------
 スライダーに重ねるテキスト
------------------------------------------------------------------------------------ */


.page-container {
  position: relative;
  width: 100%;
}

.message-overlay-wrapper {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  z-index: 10;
}

.message-overlay-image {
  position: absolute;
  top: 100px;
  margin-left: 20px;
  max-width: 400px;
  width: 100%;
  height: auto;
  opacity: 0;
  animation: fadeIn 1.5s ease-out 0.5s forwards;
  z-index: 1000;
}

/* アニメーション設定 */
@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

/* レスポンシブ調整 */
@media (max-width: 1200px) {
  .message-overlay-image {
    left: 0;
    max-width: 70%;
    margin-right: 20px; /* 右に余白を追加 */
    box-sizing: border-box; /* 幅にパディング・マージンを含める */
  }
}

/* 120px以下になるとオーバーレイ画像サイズ調整 */
@media (max-height: 120px) {
  .message-overlay-image {
    max-width: 50%; /* 50%に変更 */
  }
}


/* ------------------------------------------------------------------------------------
 ヘッダサーチボタン修正
------------------------------------------------------------------------------------ */


@media only screen and (max-width: 1199px) { .l-header { border-bottom: 1px solid #ddd; height: 60px; line-height: 60px; position: relative; z-index: 99; }
  .l-header .l-header__inner { position: static; }
  .l-header__inner { width: 100%; height: 100%; max-width: none; }
  .l-header__logo { height: 100%; margin-right: 0; }
  .l-header__logo img { max-height: 50px; }
  .l-header__desc { display: none; }
  .l-header__form-input { position: absolute; top: 0; bottom: 0; right: 90px; margin: auto; z-index: 1; }
  .l-header__search { padding: 0; position: absolute; top: 0; right: 30px; z-index: 1; width: 60px; height: 60px; }
  .l-header__search::after { background: #ddd; content: ""; display: inline-block; width: 1px; height: 20px; position: absolute; top: 0; right: 0; bottom: 0; margin: auto; }
  .l-header__nav { background: #f4f4f4; display: none; position: absolute; top: 60px; z-index: 99; width: 100%; }
  header.l-header--fixed .l-header__nav { overflow-y: scroll; max-height: calc( 100vh - 60px);}
  .l-header__nav-close { width: 100%; }
  .l-header__nav-close.is-active { display: block; } }


/* ------------------------------------------------------------------------------------
 hover - 画像リンクマウスオーバー時の不透明度
------------------------------------------------------------------------------------ */

a img.fade { background: none !important; outline: none; transition: all .3s; }

a:hover img.fade { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70 )"; background: none !important; }


/* ------------------------------------------------------------------------------------
 ページ読み込み時にアニメーション（CSSのみ）
------------------------------------------------------------------------------------ */

  .slide-up {
    animation: slideUp 0.8s ease-out forwards;
  }

  @keyframes slideUp {
    0% {
      opacity: 0;
      transform: translateY(200px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

/* ------------------------------------------------------------------------------------
 SNSアイコン拡大
------------------------------------------------------------------------------------ */

.p-social-nav__item { display: inline; font-family: "design_plus"; font-size: 32px; margin-right: 12px; }

.p-social-nav__item a { color: #fff; }

.pickup-section {
  background: linear-gradient(to bottom, #1e50a2 0%, #1e50a2 75%, #ffffff 75%, #ffffff 100%);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 20px 0;
}

.pickup-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}


/* ------------------------------------------------------------------------------------
 SNSアイコンフローディングボタン
------------------------------------------------------------------------------------ */

.sns-box {
display: flex;
background-color: #999;
border-radius: 0.2rem;
flex-direction: column;
/* rowで横並び */
gap: 0.5rem;
}

.btn-sns {
display: grid;
place-content: center;
width: 3.5rem;
height: 3.5rem;
box-sizing: border-box;
border-radius: 0.2rem;
color: white;
font-size: 1.5rem;
text-align: center;
text-decoration: none;
}

.btn-sns svg {
fill: #fff;
}

.btn-sns:hover {
transition: 0.5s;
}

.btn-twitter:hover {
background-color: #369BEE;
}

.btn-facebook:hover {
background-color: #375A94;
}

.btn-line:hover {
background-color: #5DB40F;
}

.btn-pinterest:hover {
background-color: #B83026;
}

/* ------------------------------------------------------------------------------------
 左サイドSNSアイコンフローディングバナー
------------------------------------------------------------------------------------ */

 .fix-side{
     left:0;
     line-height:1;
     position:fixed;
     top:380px;
	 left:28px;
	 transform: translate(-50%,-50%);
     z-index:1000;
     padding:1rem;
 }


@media screen and (max-width:1000px) { .fix-side{
	display:none;
	}}

/* ------------------------------------------------------------------------------------
 右サイドフローディングバナー
------------------------------------------------------------------------------------ */


.floating-banner {
  position: fixed;
  top: 270px;       /* ← 上から270pxの位置に固定 */
  right: 0;
  width: 70px;
  height: auto;
  z-index: 9999;
}

.floating-banner img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1000px) {
  .floating-banner {
    display: none;
  }
}

.floating-banner img:hover {
  filter: hue-rotate(180deg);
  transition: filter 1s ease;
}

/* ------------------------------------------------------------------------------------
 3→1カラムレスポンシブ
------------------------------------------------------------------------------------ */

.container3 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; /* カラム間のマージン */
  margin: 0;
}

.column {
  flex: 1 1 calc((100% - 40px) / 3); /* 3カラムでgap 20px ×2ぶん除外 */
  box-sizing: border-box;
  text-align: center;
}

/* スマートフォン用レスポンシブ */
@media (max-width: 768px) {
  .container3 {
    gap: 0; /* スマホ時は余白なし */
    flex-direction: column;
  }

  .column {
    flex: 1 1 100%;
  }
}

/* ===== 画像ホバー切り替え ===== */

.hover-image {
  position: relative;
  width: 100%;
  aspect-ratio: 720 / 856; /* 実画像の比率に調整 */
  overflow: hidden;
}

.hover-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 1s ease; /* ← フェード時間を1秒に設定 */
}

/* 通常画像 */
.hover-image .default-img {
  opacity: 1;
  z-index: 1;
}

/* ホバー画像 */
.hover-image .hover-img {
  opacity: 0;
  z-index: 2;
}

/* ホバー時に切り替え */
.hover-image:hover .default-img {
  opacity: 0;
}

.hover-image:hover .hover-img {
  opacity: 1;
}




/* ------------------------------------------------------------------------------------
 4→2カラムレスポンシブ
------------------------------------------------------------------------------------ */

.container4 {
  display: flex;
  flex-wrap: wrap;
  gap: 15px; /* カラム間のスペースを15pxに */
  margin: 0; /* 両端マージンなし */
}

.column {
  flex: 1 1 calc((100% - 45px) / 4); 
  /* 4カラムで間が3つ → 15px * 3 = 45pxを引いて4等分 */
  box-sizing: border-box;
  text-align: center;
}

/* スマートフォン（幅768px以下）では2カラム */
@media (max-width: 768px) {
  .column {
    flex: 1 1 calc((100% - 15px) / 2); 
    /* 2カラムで間が1つ → 15px引いて2等分 */
  }
}

/* ------------------------------------------------------------------------------------
 左上に画像が重なり、右下にテキストボックスが配置
------------------------------------------------------------------------------------ */

.text-box-wrapper {
  position: relative;
  max-width: 800px;
  margin: 3rem auto;
  padding-top: 2rem; /* 画像の重なりスペース */
}

.text-box {
  border: 1px solid #ccc;
  padding: 1rem 2.5rem 1.5rem 1.5rem; /* 上 右 下 左：右側に余白を広めに */
  background-color: #fff;
  position: relative;
  box-sizing: border-box;
  line-height: 1.7;
  font-size: 1rem;
}

.text-box img {
  position: absolute;
  top: -30px;
  left: -30px;
  width: 240px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  z-index: 2;
}

.text-content {
  margin-left: 240px;   /* 画像の横幅＋余裕 */
  margin-top: -1rem;    /* 上の余白を詰める */
  margin-right: 1rem;   /* テキスト右側に余白を追加 */
}


@media (max-width: 767px) {
  .text-box img {
    position: static;
    display: block;
    width: 50%;
    margin: 0 auto 1rem auto;  /* 上 右 下 左：左右をautoにして中央揃え */
  }

  .text-content {
    margin-left: 0;
    margin-top: 0;
    margin-right: 0;
  }
}

/*
@media (max-width: 767px) {
  .text-box img {
    position: static;
    display: block;
    width: 50%;
    margin: 0 0 1rem 0;
  }

  .text-content {
    margin-left: 0;
    margin-top: 0;
    margin-right: 0;
  }
}
*/


/* ----------------------------------------------------------------------
 フォームボタン
---------------------------------------------------------------------- */


.background_btn01 {
  display: inline-block;
  width: 100%;
  max-width: 500px; /* ボタン幅 */
  position: relative;
  background: #1e50a2; /* 背景色 */
  border: 2px solid #1e50a2;
  padding: 1em 2em;
  font-weight: bold;
  color: #fff !important; /* 文字色 */
  text-decoration: none;
  text-align: center;
  transition-duration: 0.3s;
}

.background_btn01:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff; /* 矢印の色 */
  border-right: 2px solid #fff; /* 矢印の色 */
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 25px;
  margin-top: -6px;
}

/* マウスオーバーした際のデザイン */
.background_btn01:hover {
  background: #fff; /* 背景色 */
  color: #1e50a2 !important; /* 文字色 */
}

.background_btn01:hover:before {
  border-top: 2px solid #1e50a2; /* 矢印の色 */
  border-right: 2px solid #1e50a2; /* 矢印の色 */
}




/* ------------------------------------------------------------------------------------
 言語ボタン
------------------------------------------------------------------------------------ */

#header_lang { font-size:15px; z-index:20; font-family: Arial !important; }
#header_lang.type1 li { float:left; margin:0 0 0 12px; list-style: none; }
#header_lang.type1 li a { display:block; height:80px; line-height:80px; position:relative; overflow:hidden; }
#header_lang.type1 li a:before {
  display:block; content:''; height:6px; width:100%; position:absolute; bottom:-6px; left:0px;
  -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
}
#header_lang.type1 li a:hover:before { bottom:0; }

/* 
#header_lang.type1 img { display:block; width:20px; height:20px; border-radius:100%; float:left; top:30px; position:relative; margin:0 5px 0 0; }
#header_lang.type1 img,
#header_lang.type2 .active_site img { border: 2px solid #ddd; }
 */

#header_lang.type1 img { display:block; width:60px; height:60px; border-radius:0%; float:left; top:10px; position:relative; margin:0 5px 0 0; }


#header_lang.type1 .button { display:none; }
#header_lang a.active_site { pointer-events:none; }
#header_lang.type2 ul { list-style: none; margin: 0; }
#header_lang.type2 ul ul { display:none; position:absolute; top:100px; right:0px; width:auto; }
#header_lang.type2 ul li { position:relative; }
#header_lang.type2 ul ul a { display:block; height:auto; line-height:1.6; padding:14px 25px 14px; font-size:14px; text-align:center; color: #fff; background-color: #222; }
#header_lang.type2 ul ul a:hover { background-color: #9b0000; }
#header_lang.type2 > ul > li > a { display:block; height:100px; line-height:100px; padding:0 25px; background:none !important; position:relative; overflow:hidden; }
#header_lang.type2 > ul > li > a:hover { }
#header_lang_button { display:none; }
#header_lang.type2 img { display:block; width:20px; height:20px; border-radius:100%; position:absolute; left:25px; top:0px; bottom:0px; margin:auto; }
#header_lang.type2 a.has_flag { padding-left:55px; }


@media screen and (max-width:1199px) {
  .l-header__search.with_lang_btn{ right: 100px; }
  .l-header__form-input.with_lang_btn{ right: 170px; }
/*
	#header_lang_button {
    position:absolute; z-index:50; top:0px; right:60px;
    display:inline-block; font-size:11px; width:50px; height:60px; line-height:60px; text-decoration:none; text-align:center;
  }
  #header_lang_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
  #header_lang_button:before {
    font-family:'design_plus'; display:block; position:absolute; top:22px; left:0; right:0; margin:auto;
    font-size:18px; width:18px; height:18px; line-height:18px;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }
  #header_lang_button:after { background: #ddd; content: ""; display: inline-block; width: 1px; height: 20px; position: absolute; top: 0; right: 0; bottom: 0; margin: auto; }
  #header_lang_button:before { content:'\f0ac'; }
  #header_lang_button:hover, a.menu_button.active { }
  #header_lang_button:hover:before, #header_lang_button.active:before { }

  #header_lang { width:100%; margin:0; z-index:9; position: absolute; left: 0; top: 0; }
  #header_lang > ul { display:none; margin:0; top:60px; position:absolute; width:100%; z-index:100; }
  #header_lang ul ul { }
  #header_lang a {
    background-color: #222; height: auto !important; line-height: inherit !important;
    position:relative; display:block;  margin:0; padding:18px 20px; line-height:1.6; overflow:hidden; text-decoration:none;
    color:#fff; font-size:14px; border-bottom:1px solid rgba(255,255,255,0.2);
    -webkit-box-sizing:border-box; box-sizing:border-box;
  }

  #header_lang.type1 li { float:none; margin:0; list-style: none; }
  #header_lang.type1 li a { display:block; padding: 0 25px; }
  #header_lang.type1 li a:before {
    display:block; content:''; height:6px; width:100%; position:absolute; bottom:-6px; left:0px;
    -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
  }
  #header_lang.type1 li a:hover{ background-color: #9b0000 !important; }
  #header_lang.type1 img { display:block; width:20px; height:20px; border-radius:100%; position:absolute; left:25px; top:0px; bottom:0px; margin:auto; float: none; border: none; }

  #header_lang.type1 .button { display:none; }
*/
  #header_lang.type2 ul ul{ top: auto; right: auto; width: 100%; }
  #header_lang.type2 ul ul a{ padding: 0 25px; text-align: left; }
  #header_lang.type2 > ul > li > a{ background-color: #222 !important; height: auto !important; line-height: inherit !important; }
  #header_lang.type2 > ul > li > a:hover{ background-color: #9b0000 !important; }
  #header_lang ul ul li:last-child a { border:none; }
  #header_lang a:hover { color:#fff; }
  #header_lang a.active_site { pointer-events:none; color:rgba(255,255,255,0.3) !important; }
  #header_lang img { display:block; width:20px; height:20px; border-radius:100%; position:absolute; left:30px; top:0px; bottom:0px; margin:auto; }
  #header_lang a.has_flag { padding-left:60px !important; }
  #header_lang a.active_site img { opacity:0.6; }}
@media screen and (max-width:750px) {
  #header_lang_button { width:40px; height:60px; line-height:60px; right:50px; }
  #header_lang_button:before { top:23px; }

  #header_lang ul { top:60px; }
  #header_lang img { left:20px; }
  #header_lang a.has_flag { padding-left:50px; }
  .l-header__form{ z-index: 10; }
  .l-header__search.with_lang_btn{ right: 90px; }
}


/* ------------------------------------------------------------------------------------
 見出しのスタイル
------------------------------------------------------------------------------------ */

/* headline */
.style2a, .style2b, .style3a, .style3b, .style4a, .style4b, .style5a, .style5b { line-height: 1.6; font-weight: 500; }

/* h2 */
.style2a { margin: 65px 0 30px !important; padding: 0 0 .9em; border-bottom: 3px solid #009a3e; font-size: 26px !important; }

.style2b { margin: 65px 0 30px !important; padding: .48em 1em .47em; font-size: 26px !important; color: #fff; background: #000; }

/* h3 */
.style3a { margin: 65px 0 30px !important; padding: 1.2em .15em; font-size: 26px !important; border-top: 1px solid #1e50a2; border-bottom: 3px solid #1e50a2; }

.style3b { margin: 65px 0 30px !important; padding: 1.1em 1.4em 1.15em; font-size: 22px !important; background: #fafafa; border: 1px solid #ddd; border-top: 3px solid #000; }

/* h4 */
.style4a { margin: 65px 0 30px !important; padding: .4em 0 .4em 1.2em; border-left: 3px solid #000; font-size: 20px !important; font-weight: 500; }

.style4b { position: relative; margin: 65px 0 30px !important; padding: .8em 1.5em .8em; border-left: #000 3px solid; font-size: 20px !important; box-sizing: border-box; }

.style4b:after { position: absolute; top: 0; left: 0; content: ''; width: 100%; height: calc(100% - 2px); border: 1px solid #ddd; border-left: none; }

/* h5 */
.style5a { margin: 65px 0 30px !important; padding: .85em 1.5em .8em; font-size: 18px !important; background: #fafafa; border: 1px solid #ddd; }

.style5b { margin: 65px 0 30px !important; padding: .85em 1.5em .8em; font-size: 18px !important; color: #fff; background: #1e50a2; }


@media screen and (max-width: 767px) { /* h2 */
  .style2a { margin: 30px 0 20px !important; padding: 0 0 .6em; font-size: 20px !important; }
  .style2b { margin: 30px 0 20px !important; padding: .42em .7em .41em; font-size: 20px !important; color: #fff; background: #000; }
  /* h3 */
  .style3a { margin: 30px 0 20px !important; padding: .6em .15em; font-size: 18px !important; }
  .style3b { margin: 30px 0 20px !important; padding: .5em .5em .45em .6em; font-size: 18px !important; }
  /* h4 */
  .style4a { margin: 30px 0 20px !important; padding: .4em 0 .4em .8em; border-left: 2px solid #000; font-size: 16px !important; }
  .style4b { margin: 30px 0 20px !important; padding: .8em 1em .75em; border-left: #000 2px solid; font-size: 16px !important; }
  /* h5 */
  .style5a { margin: 30px 0 20px !important; padding: .8em 1em .75em; font-size: 15px !important; }
  .style5b { margin: 30px 0 20px !important; padding: .8em 1em .75em; font-size: 15px !important; } }




/* ------------------------------------------------------------------------------------
 画像リンクマウスオーバー時の不透明度
------------------------------------------------------------------------------------ */

a img.fade { background: none !important; outline: none; transition: all .3s; }
a:hover img.fade { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70 )"; background: none !important; }



/* ------------------------------------------------------------------------------------
 製品紹介カスタマイズ
------------------------------------------------------------------------------------ */

.p-article05__content { opacity: 0.9; }

.p-article05__title {
	font-family: "Times New Roman", times, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
}

/* ------------------------------------------------------------------------------------
 グローバルメニュー編集
------------------------------------------------------------------------------------ */

@media only screen and (max-width: 1199px) { .p-global-nav { flex-wrap: wrap; justify-content: space-between; height: auto; margin: 30px auto 18px; width: 92.1875%; }
  .l-header--fixed .p-global-nav { max-height: calc(100vh - 60px); overflow: auto; }
  .p-global-nav > li { border: 0; flex: 0 1 auto; margin: 0 0 12px 0; width: calc((50% - 6px)); }
  .p-global-nav > li > a { border: 0; display: block; padding: 0 5.55556%; }
  .p-global-nav a { box-sizing: border-box; font-size: 13px; height: 50px; line-height: 50px; position: relative; }
  .p-global-nav .menu-item-has-children > a > .p-global-nav__toggle { display: none; }
  .p-global-nav .sub-menu { display: none; } }


#menu-item-106 {
  background-color: #ff9900; /* お好みの色に変更 */
}

 .p-global-nav .sub-menu { z-index: 1001; }


/* ------------------------------------------------------------------------------------
 3BOXコンテンツ部分
------------------------------------------------------------------------------------ */


.p-index-content04 { background: #f8f8f8; margin-bottom: 50px; padding: 20px 0; }

.p-index-content04__list { margin-bottom: 50px; }

@media screen and (max-width: 767px) { .p-index-content04 { margin-bottom: 30px; padding: 36px 0 30px; }
  .p-index-content04__list { margin: 0 auto 30px; } }

.p-index-content04 .p-btn { display:none; }


.p-cb__item { margin-bottom: 30px; }


/* ------------------------------------------------------------------------------------
 トップタイトル　スマホ時上マージン
------------------------------------------------------------------------------------ */

@media screen and (max-width: 767px) { .p-index-content07 { margin-top: 50px; } }


/* ------------------------------------------------------------------------------------
 業務案内ヘッダ部分
------------------------------------------------------------------------------------ */


.p-archive-header  { box-shadow:  none; }

.p-company-header__img,
.p-company-header__content,
.p-company-header { display:none; }


/* ------------------------------------------------------------------------------------
 font-family指定
------------------------------------------------------------------------------------ */

/*for PC*/
@media screen and (min-width:1024px) {
    .font-size-S {
        font-size: 16px;
    }
    .s-cc {
        font-size: 21px;
    }
p span.m-cc,
.m-cc {
  font-size: 42px !important;
  color: #0066bf !important;
  font-family: "Times New Roman", times, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
}
}


/*for tablet*/
@media screen and (min-width:768px) and (max-width:1024px) {
    .font-size-S {
        font-size: 14px;
    }
    .s-cc {
        font-size: 18px;
    }
    .m-cc {
        font-size: 32px;
		color:#0066bf;
		font-family: "Times New Roman", times, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    }
}


/*for SP*/
@media screen and (max-width:768px) {
    .font-size-S {
        font-size: 11px;
    }
    .s-cc {
        font-size: 14px;
    }
    .m-cc {
        font-size: 21px;
		color:#0066bf;
		font-family: "Times New Roman", times, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    }
}


/* ------------------------------------------------------------------------------------
 業務案内説明文
------------------------------------------------------------------------------------ */

.p-archive-header__desc { text-align: left !important; }


/* ------------------------------------------------------------------------------------
 トップタイトル下げ
------------------------------------------------------------------------------------ */
.p-cb__item-title { margin-bottom: 40px; }

.p-cb__item-sub { font-size: 18px; margin-bottom: 15px; }




/* ------------------------------------------------------------------------------------
 Contact Form 7カスタマイズ
------------------------------------------------------------------------------------ */


@media(max-width:768px){
.inquiry th, .inquiry td {
 display:block!important;
 width:100%!important;
 border-top:none!important;
 -webkit-box-sizing:border-box!important;
 -moz-box-sizing:border-box!important;
 box-sizing:border-box!important;	
}
.inquiry tr:first-child th{
 border-top:1px solid #d7d7d7!important;
}
/* 必須・任意のサイズ調整 */	
.inquiry .haveto,.inquiry .any {	
font-size:10px;
}}
/*見出し欄*/
.inquiry th{
 text-align:left;
 font-size:14px;
 color:#444;
 padding-right:5px;
 width:30%;
 background:#f7f7f7;
 border:solid 1px #d7d7d7;
}
/*通常欄*/
.inquiry td{
 font-size:13px;
 border:solid 1px #d7d7d7;	
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
 border:solid 1px #d7d7d7;	
}
/* 必須の調整 */
.haveto {
   font-size: 8pt;
   padding: 2px 8px;
   background: #FFA8A8;
   color: #fff;
   border-radius: 6px;
   margin-left: 5px;
}
/* 任意の調整 */
.any {
   font-size: 8pt;
   padding: 2px 8px;
   background: #93c9ff;
   color: #fff;
   border-radius: 6px;
   margin-left: 5px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 display:block;
}
/*送信ボタンのデザイン変更*/
.btnwidth{
 position:relative;	
 width:100%;	
}
#formbtn{
 padding:20px;
 max-width:350px;
 background:#ffaa56 !important;
 color:#fff;
 font-size:18px;
 font-weight:bold;	 
 border-radius:2px;
 position:absolute;
 top:50%;
 left:50%;
 -ms-transform: translate(-50%,-50%);
 -webkit-transform: translate(-50%,-50%);
 transform: translate(-50%,-50%);	
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
 background:#fff !important;
 color:#ff870f;
 border:2px solid #ffa042;
}


div.wpcf7 input[name="your-name"],
div.wpcf7 input[name="your-email"],
div.wpcf7 input[name="your-subject"] {
width: 100%;
}





/* ------------------------------------------------------------------------------------
 margin
------------------------------------------------------------------------------------ */
.mt-10 { margin-top:  -10px !important;}
.mt-20 { margin-top:  -20px !important;}
.mt-30 { margin-top:  -30px !important;}
.mt-80 { margin-top:  -80px !important;}
.mt-100 { margin-top:  -100px !important;}
.mt-120 { margin-top:  -120px !important;}
.mt00 { margin-top:  0   !important;}
.mt02 { margin-top:  2px !important;}
.mt05 { margin-top:  5px !important;}
.mt10 { margin-top: 10px !important;}
.mt12 { margin-top: 12px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}
.mt60 { margin-top: 60px !important;}
.mt70 { margin-top: 70px !important;}
.mt75 { margin-top: 75px !important;}
.mt80 { margin-top: 80px !important;}
.mt90 { margin-top: 90px !important;}
.mt100 { margin-top: 100px !important;}

.mr00 { margin-right:  0   !important;}
.mr05 { margin-right:  5px !important;}
.mr10 { margin-right: 10px !important;}
.mr12 { margin-right: 12px !important;}
.mr15 { margin-right: 15px !important;}
.mr20 { margin-right: 20px !important;}
.mr25 { margin-right: 25px !important;}
.mr30 { margin-right: 30px !important;}
.mr35 { margin-right: 35px !important;}
.mr40 { margin-right: 40px !important;}
.mr45 { margin-right: 45px !important;}
.mr50 { margin-right: 50px !important;}

.mb00 { margin-bottom:  0   !important;}
.mb05 { margin-bottom:  5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb12 { margin-bottom: 12px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}

.ml00 { margin-left:  0   !important;}
.ml05 { margin-left:  5px !important;}
.ml10 { margin-left: 10px !important;}
.ml12 { margin-left: 12px !important;}
.ml15 { margin-left: 15px !important;}
.ml20 { margin-left: 20px !important;}
.ml25 { margin-left: 25px !important;}
.ml30 { margin-left: 30px !important;}
.ml35 { margin-left: 35px !important;}
.ml40 { margin-left: 40px !important;}
.ml45 { margin-left: 45px !important;}
.ml50 { margin-left: 50px !important;}

/* ------------------------------------------------------------------------------------
 padding
------------------------------------------------------------------------------------ */
.pt00 { padding-top:  0   !important;}
.pt05 { padding-top:  5px !important;}
.pt10 { padding-top: 10px !important;}
.pt12 { padding-top: 12px !important;}
.pt15 { padding-top: 15px !important;}
.pt20 { padding-top: 20px !important;}
.pt25 { padding-top: 25px !important;}
.pt30 { padding-top: 30px !important;}
.pt35 { padding-top: 35px !important;}
.pt40 { padding-top: 40px !important;}
.pt45 { padding-top: 45px !important;}
.pt50 { padding-top: 50px !important;}

.pr00 { padding-right:  0   !important;}
.pr05 { padding-right:  5px !important;}
.pr10 { padding-right: 10px !important;}
.pr12 { padding-right: 12px !important;}
.pr15 { padding-right: 15px !important;}
.pr20 { padding-right: 20px !important;}
.pr25 { padding-right: 25px !important;}
.pr30 { padding-right: 30px !important;}
.pr35 { padding-right: 35px !important;}
.pr40 { padding-right: 40px !important;}
.pr45 { padding-right: 45px !important;}
.pr50 { padding-right: 50px !important;}

.pb00 { padding-bottom:  0   !important;}
.pb05 { padding-bottom:  5px !important;}
.pb10 { padding-bottom: 10px !important;}
.pb12 { padding-bottom: 12px !important;}
.pb15 { padding-bottom: 15px !important;}
.pb20 { padding-bottom: 20px !important;}
.pb25 { padding-bottom: 25px !important;}
.pb30 { padding-bottom: 30px !important;}
.pb35 { padding-bottom: 35px !important;}
.pb40 { padding-bottom: 40px !important;}
.pb45 { padding-bottom: 45px !important;}
.pb50 { padding-bottom: 50px !important;}

.pl00 { padding-left:  0   !important;}
.pl05 { padding-left:  5px !important;}
.pl10 { padding-left: 10px !important;}
.pl12 { padding-left: 12px !important;}
.pl15 { padding-left: 15px !important;}
.pl20 { padding-left: 20px !important;}
.pl25 { padding-left: 25px !important;}
.pl30 { padding-left: 30px !important;}
.pl35 { padding-left: 35px !important;}
.pl40 { padding-left: 40px !important;}
.pl45 { padding-left: 45px !important;}
.pl50 { padding-left: 50px !important;}
