@charset "utf-8";
/* CSS Document */
/*
Theme Name:ファイバーラボ株式会社
Theme URI:https://www.fiberlabs.co.jp/
Author: サンリズム株式会社
Author URI: https://sunrhythm.com
Description:ファイバーラボ株式会社　日本語Webサイトテーマ
Version: 1.0
*/

* {
	margin: 0;
	padding: 0;
}

/* @font-face でローカルフォントを優先 */
@font-face {
font-family: "Local Noto Sans JP";
src: local("Noto Sans JP");
}

body {
font-family: "Local Noto Sans JP", "Noto Sans JP", sans-serif;
    line-height: 1.8em;
}

ul {
	list-style: none;
}

body a {
    color: #00396E;
}

h2.titleSen {
    padding: 15px 0;
    border-bottom: solid 1px #6C6C6C;
    font-size: 26px;
    font-weight: normal;
	margin-bottom: 15px;
    position: relative;
}

h2.titleSen a {
    position: absolute;
    right: 0;
    display: block;
    top: 70px;
    font-size: 14px;
    background: #00396E;
    color: #fff !important;
    font-weight: bold;
    text-decoration: none;
    padding: 4px 15px;
	transition: .6s ease-in-out;
}

h2.titleSen a:hover {
	opacity: .6;
}

p.titleSub {
    font-size: 14px;
    text-align: right;
    color:#BDBDBD;
}

.tdGrCe td {
    background: #EDEDED;
}

.taC {
    text-align: center;
}

.taR {
    text-align: right;
}

.preL {
    white-space: pre-line;
}

.clW {
    color: #fff;
}

.bgDb {
    background: #00396E !important;
}

.bgRb {
    background: #DDEFFF !important;
}

.contactSendBtn {
    display: block;
    width: 260px;
    padding: 10px 30px;
    box-sizing: border-box;
    border: solid 1px #00396E;
    text-align: center;
    font-weight: bold;
    color: #fff;
    background:  #00396E;
    margin: 30px auto;
    text-decoration: none;
    transition: .4s ease-in-out;
}

.contactSendBtn:hover {
    color: #00396E;
    background: #fff;;
    width: 260px;
    border: solid 1px #00396E;
    box-sizing: border-box;
	opacity: .6;
}

p {
    line-height: 2em;
    /*line-height: 1.8em;*/
    margin-top: 15px;
    /*font-size: 18px;*/
}

table td,
table th {
    padding: 4px 10px;
}

table td {
    line-height: 2em;
}

.formItem {
	white-space: nowrap;
}

.mtb30 {
	margin: 30px auto;
}

.marT50 {
    margin-top: 50px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.w150 th {
	width: 100px !important;
}

.w100 {
    width: 100%;
    height: auto;
}

.w100Tbl {
    width: 100%;
}

.w30p {
    width: 30%;
}

.w70p {
    width: 70%;
}

.fwB {
    font-weight: bold;
}

.taC .wp-video {
	margin: 0 auto;
}

ul.circle {
	list-style: inside;
	margin-left: 15px;
    width: 900px !important;
    margin: 30px auto;
}

ul.circle li {
	margin-bottom: 15px;
}

.fs18 {
	font-size: 18px;
}

.fsB20 {
	font-size: 20px;
	font-weight: bold;
}

.dotSep {
    border: none;
    border-top: 2px dotted #00396E;
    margin: 15px auto;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.aligncenter:after {
  content: "";
  content: " ";
  display: block;
  clear: both;
}

    
/*.single .w900w {
    white-space: pre-line;
}*/

/*.single .w900w table {
    margin-bottom: -24px;
    white-space: normal !important;
}*/

h2+span {
    display: block;
}

h6 {
    /*margin: 30px 0 -40px;
    margin: 30px 0 -20px;*/
}

.page table,
.page td,
.page th,
table.broAdd,
table.broAdd td,
table.broAdd th,
.textedit1 table,
.textedit1  td,
.textedit1 th,
.textedit2 table,
.textedit2  td,
.textedit2 th,
.textedit3 table,
.textedit3  td,
.textedit3 th,
.textedit4 table,
.textedit4  td,
.textedit4 th,
.textedit5 table,
.textedit5  td,
.textedit5 th{
    border-style:solid;
    border-width: 1px;
    border-collapse:collapse;
}

.single h6 span {
    display: block;
    margin-bottom: 15px;
}
/***** header ******/
header {
	position: fixed;
	top: 0;
	left:0;
	right: 0;
	background: #fff;
	z-index: 9999;
	box-shadow: 0 3px 3px 3px rgba(155, 155, 155, 0.3);
}

.headerCatchOunter {
    background: #00396E;
    padding: 5px 0;
}

.headerCatch {
    width: 1280px;
    margin: 0 auto;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
}

.headerOuterWrap {
    width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.headerOuterWrap h1 {
    padding: 25px 0 0;
}

.headerOuterWrap h1 img {
    margin: 0 auto !important;
}

.headerOuterWrap ul {
    display: flex;
    margin: 0 30px 0 0;
}

.headerOuterWrap ul li {
    margin: 35px 0 30px 15px;
    padding: 0 0 0 30px;
    position: relative;
}

.headerOuterWrap ul li a {
    text-decoration: none;
    color: #191919;
}

.headerOuterWrap ul li a img {
    position: absolute;
    top: 6px;
    left: 6px;
}

.menu-pcglobal-container {
    width: 100%;
    border-style: solid;
    border-color: #00396E;
    border-width: 1px 0;
    height: 50px;
}

#menu-pcglobal {
    width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    z-index: 9999;
}

#menu-pcglobal a {
    text-decoration: none;
    display: block;
    padding: 12px 0 12px 16px;
    /*text-align: center;*/
    font-weight: bold;
    font-size: 16px;
    /*color: #00396E;*/
    color: #fff;
    width: 213px;
    box-sizing: border-box;
    border-left: solid 1px #00396E;
    transition: .4s ease-in-out;
    /*background: #fff;*/
}

#menu-pcglobal li:first-child a {
    padding: 12px 0 12px 8px !important;
}

#menu-pcglobal li.current-menu-item a,
.current-menu-parent a{
    background: #ececec;
    color: #00396E;
}

#menu-pcglobal .current-menu-item ul li a{
    background: #ececec;
    color: #00396E;
}

ul.sub-menu {
    display: none;
}

.menu-item-has-children:hover .sub-menu {
  display: block;
    margin-top: 3px;
}

.menu-item-has-children:hover .sub-menu li a {
    box-sizing: border-box;
    border-top: solid 1px #00396E;
    border-bottom: solid 1px #00396E;
}

ul#menu-pcglobal li ul.sub-menu li a,
#menu-pcglobal li.current-menu-item .sub-menu a {
    background: #00396E;
    color: #fff;
}

#menu-pcglobal li:last-child a {
    /*border-right: solid 1px #2F6FA3;*/
    border-bottom: solid 1px #2F6FA3;
}

#menu-pcglobal li:hover,
#menu-pcglobal li.current-menu-item .sub-menu a:hover {
    background: #0b4e8a;
    /*color:#fff;*/
    color:#00396E;
    cursor: pointer;
}
#menu-pcglobal li .sub-menu a:hover {
    background: #ececec;
    color:#00396E;
    cursor: pointer;
}

/****** contact footer *******/
.contact_new {margin:0 auto 20px; border:5px solid #00396E; padding:10px; background:url(https://www.fiberlabs.co.jp/wp/wp-content/themes/fljp/images/3132.png) no-repeat; background-size:cover; max-width:660px;}
.cbox {}
.contact_new .title {text-align:center; color:#00396E; font-weight:bold; font-size:18px; border-bottom:2px solid #00396E; padding-bottom:5px; margin-bottom:10px;}
.cbox-l {float:left; width:45%; box-sizing:border-box; text-align:center; }
.cbox-l .contact_newbtn {background:#00396E url(https://www.fiberlabs.co.jp/wp/wp-content/themes/fljp/images/ancicon.png) left 10px center no-repeat; background-size:36px; line-height:80px; border-radius:8px; font-size:16px; font-weight:bold;}
.cbox-l .contact_newbtn a {color:#fff; display:block; width:100%; padding-left:30px; }
.cbox-r {float:right; width:55%; padding-left:20px; box-sizing:border-box;}
.cbox-r span {font-size:12px;}

.contact_new p {
    margin-top: 0 !important;
}
/***** footer ******/
footer {
    background: #00396E;
    color: #fff;
    padding: 50px 0;
}
.footerOuter {
    width: 1180px;
    margin: 0 auto;
}

.footerOuter a {
    color: #fff;
    text-decoration: none;
}

.footerOuter .copyrights {
    font-size: 14px;
    padding: 5px 0;
    text-align: center;
    font-weight: bold;
}
.footerMenu {
    display: flex;
    justify-content: space-between;    
}

.footerMenu .footerMenuSec {
    width: 285px;
    margin: 20px 15px 20px 0;
    /*border-right: solid 1px #fff;*/
}

.footerMenu .footerMenuSec ul {
    margin: 20px 0 0 15px;
}

.footerMenu .footerMenuSec ul li {
    margin: 6px 0;
}

.searchWrap {
    position: fixed;
    top: 184px;
    width: 100%;
	z-index: 9998;
	background: #fff;
}

.searchWrapInner {
    width: 1250px;
    margin: 0 auto;
    padding: 15px 0;
}

.searchWrapInner #s {
    width: 100%;
    padding: 5px 0 5px 15px;
    border-radius: 50px;
    height: 50px;
    font-size: 15px;
    border: solid 1px #BCBCBC;
}

.searchWrapInner {
  /* display: inline-block; なくても大丈夫だけど、念の為 */
  position: relative;    /* 基準値とする */
}

.searchWrapInner #searchsubmit{
  content: "";           /* 疑似要素に必須 */
  width: 32px;           /* アイコンの横幅 */
  height: 32px;          /* アイコンの高さ */
  background: url(https://www.fiberlabs.co.jp/wp/wp-content/themes/fljp/images/icon.png) no-repeat center center / auto 100%; /* 背景にアイコン画像を配置 */
  display: inline-block; /* 高さを持たせるためにインラインブロック要素にする */
  position: absolute;    /* 相対位置に指定 */
  top: 30px;              /* アイコンの位置。微調整してね */
  right: 5px;             /* アイコンの位置。微調整してね */
    border: none;
}

#searchsubmit:hover {
    cursor: pointer;
}

.searchWrapInner input {
  /* adding: 3px 0 3px 2em; アイコンを設置するため左の余白を多めに指定*/
}

/***** top ******/
.sl {
    width: 1280px;
    margin: 280px auto 30px;
}

.newsListOuterWrap {
	height: 460px;
	overflow-y: auto;
    margin-top: 20px;
}

.newsWrap {
    width: 1200px;
    margin: 30px auto;
}

.newsList {
	width: 1000px;
	margin: 30px auto;
}

.newsList li {
	padding: 15px 0;
	display: flex;
}

.newsList li a {
	display: flex;
}

.newsList li p {
	display: block;
	margin-right: 30px;
}

.greSqu {
	width: 100px;
	padding: 2px 0;
	text-align: center;
	color: #fff;
	background: #00D138;
}

.orgSqu {
	width: 100px;
	padding: 2px 0;
	text-align: center;
	color: #fff;
	background:#FFD600;
}

.newsList a {
	text-decoration: none;
	color: #292929;
}

.newsList a:hover {
	text-decoration: underline;
}

.whiteBgWrap {
	padding: 60px 0;
	background:#fffff;
}

.grayBgWrap {
	padding: 60px 0;
	background:#F8F8F8;
}

.catList {
	display: flex;
    flex-wrap: wrap;
	width: 1158px;
	margin: 30px auto;
}

.catList li {	
	width: 316px;
	margin: 30px;
	text-align: right;
	background: #fff;
	padding: 0 10px 10px 0;
}

.catList li a {
	text-decoration: none;
	color: #2F2F2F;
    transition: .4s ease-in-out;
	font-weight: bold;
	font-size: 18px;
}

.catList li a:hover,
.selList li a:hover,
.corpList li a:hover {
	opacity: .6;
}

.selList {
	display: flex;
    flex-wrap: wrap;
	width: 1158px;
	margin: 30px auto;
}

.selList li {
	padding: 20px;
	background: #EBEBEB;
	margin: 30px;
}

.selList li a {
	text-decoration: none;
	color: #2F2F2F;
    transition: .4s ease-in-out;
	font-weight: bold;
	font-size: 18px;
}

.corpList {
	display: flex;
    flex-wrap: wrap;
	width: 1158px;
	margin: 30px auto;
}

.corpList li {
	margin: 19px;
	text-align: center;
}

.corpList li a {
	text-decoration: none;
	color: #2F2F2F;
    transition: .4s ease-in-out;
	font-weight: bold;
	font-size: 18px;
}

/* 固定ページ共通 */
.home .contentsOuter {
	margin:200px auto 50px;
	width:1280px;

}
.contentsOuter {
	margin:240px auto 50px;
	width:900px;
}

.searchResult .contentsOuter {
}

.contentsOuter h2,
.contentsOuter h3 {
    margin: 20px auto 10px;
	width: 900px;
}

.contentsOuter table {
    margin: 25px auto;
    width: 100% !important;
}

.w900w {
    width: 900px !important;
    margin: 0 auto;
}
.contentsOuter .w900 p{
    width: 900px !important;
    margin: 0 auto;
}
.contentsOuter .subgroup{
    width: 900px !important;
    margin: 30px auto 0;
}
.contentsOuter .w900 table,
.contentsOuter .w900 h3,
.contentsOuter .w900 section,
.contentsOuter .w900 ul,
.contentsOuter .w900 h4,
.contentsOuter .subdes{
    width: 900px !important;
    margin: 30px auto;
}

.contentsOuter .ichiran {
    width: 900px !important;
    margin: 30px auto 60px;
}

.corpTbl {

}

.corpTbl {
 width: 100%;
 text-align: center;
 border-collapse: collapse;
 border-spacing: 0;
	margin: 15px auto 40px;
}
.corpTbl th {
	/*width: 300px;*/
 padding: 15px;
 background: #00396E;
 border: solid 1px #778ca3;
	color: #fff;
	white-space: nowrap;
}
.corpTbl td {
 padding: 15px;
 border: solid 1px #778ca3;
	text-align: left;
}

.corpUnderPic {
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
    align-items: center;
}

.corpUnderPic p {
	text-align: center;
	margin: 0 50px;
}

.wp-video {
    margin: 20px auto 0;
}
/* 製品ページ関連 */
.page-template-page-products .gridlist li {
	width: 240px;
}

.page-template-page-products .gridlist li img {
	width: 100% !important;
	height: auto;
}

.subdes {
    line-height: 2em;
}

.subgroup {
    display: block;
    padding: 10px 15px;
    background: #00396E;
    color: #fff;
    margin: 20px 0 5px;
}

.parent-pageid-18552 .ichiran {
    display: flex;
    /*justify-content: space-between;*/
    flex-wrap: wrap;
    margin-top: 30px;
    gap: 15px;
}

.parent-pageid-18552 .ichiran .ichiran-inner {
    margin: 15px;
    text-align: center;
    height: 200px;
    width: 256px !important;
    
}

.parent-pageid-18552 .ichiran .ichiran-inner .ichiran-title {
    font-size: 16px;
    margin-bottom: 10px;
}

.parent-pageid-18552 .ichiran .ichiran-inner img {
    width: 200px;
    max-height: 200px;
}


.ichiran {
    display: flex;
    /*justify-content: space-between;*/
    flex-wrap: wrap;
    margin-top: 30px;
    gap: 15px;
}

.ichiran .ichiran-inner {
    margin: 15px;
    text-align: center;
    height: 200px;
    width: 256px !important;
    
}

.ichiran .ichiran-inner .ichiran-title {
    font-size: 16px;
    margin-bottom: 10px;
}

.ichiran .ichiran-inner img {
    width: 200px;
    max-height: 200px;
}

/* 製品詳細 */
.otherProdList {
    display: flex;
    justify-content: flex-end;
}
.otherProdList a {
    position: relative;
    display: block;
    padding: 4px 10px 4px 16px;
    text-align: center;
    color: #00396E !important;
    text-decoration: none;
    border: solid 1px #00396E;
    white-space: nowrap;
    box-sizing: border-box;
	transition: .6s ease-in-out;
    font-weight: bold;
    margin-left: 15px;
}

.otherProdList a:hover {
    color: #fff !important;
    background: #00396E;
	opacity: .6;
}

.otherProdList a img {
    position: absolute;
    top:17px;
    left: 3px;
    width: 8px;
    height: auto;
}
/* やさしい用語解説 */
.techExplanWrap h3 {
	font-size: 19px;
}
.techExplanWrap ul {
	/*display: flex;
	flex-wrap: wrap;*/
}

.techExplanWrap ul li {
	/*width: 25%;*/
}

.techExplanWrap ul li:hover{
}

.techExplanWrap ul li a {
	display: block;
	text-decoration: none;
	color: #363636;
	/*margin-bottom: 15px;*/
	padding: 2px 15px;
	box-sizing: border-box;
	transition: .6s ease-in-out;
	font-weight: bold;
}

.techExplanWrap ul li a:hover {
	background: #ececec;
	color: #00396E;
	cursor: pointer;
}

/* やさしい技術解説 */
.easyTechnicalExplanationWrap ul {
	display: flex;
	flex-wrap: wrap;
}

.easyTechnicalExplanationWrap ul li {
	width: 25%;
}

.easyTechnicalExplanationWrap ul li:hover{
}

.easyTechnicalExplanationWrap ul li a {
	display: block;
	text-decoration: none;
	color: #363636;
	margin-bottom: 15px;
	padding: 10px 15px;
	box-sizing: border-box;
	transition: .6s ease-in-out;
    font-weight: bold;
}

.easyTechnicalExplanationWrap ul li a:hover {
	background: #ececec;
	color: #00396E;
	cursor: pointer;
}

.bdTitleLb {
	padding: 5px 10px;
	border-width: 0 0 1px 3px;
	border-style: solid;
	border-color: #00396E;
	font-size: 18px;
}

/* 沿革 */
.historyWrap table tr td:first-child {
    white-space: nowrap;
    width: 20%;
/*    background: #00396E;
    color: #fff;*/
    text-align: center;
    font-weight: bold;
    vertical-align: middle;
}

/* ふっ化物ファイバ技術 */
.firstTitleBtn {
    background: #00396E;
    font-weight: bold;
    text-align: center;
    padding: 5px 10px;
    border-radius: 15px;
    margin: 20px auto;
}

.firstTitleBtn a {
    color: #fff;
}

.fussoMiniBtn {
    background: #00396E;
    border-radius: 15px;
    margin-right: 8px;
    padding: 10px 20px;
    text-align: center;
}

.fussoMiniBtn a {
    color: #fff;
}

.wsnwTbl th,
.wsnwTbl td {
    white-space: nowrap
}

.wakuWrap ul {
	margin: 0 auto 20px !important;
}

/* 製品一覧 */
.page-template-page-pl .catList {
	display: flex;
    flex-wrap: wrap;
	margin: 30px auto;
    width: 980px;
}

.page-template-page-pl .catList li {	
	width: 248px;
	margin: 30px;
	text-align: right;
	background: #fff;
	padding: 0 10px 10px 0;
}

.page-template-page-pl .catList li a {
	text-decoration: none;
	color: #2F2F2F;
    transition: .4s ease-in-out;
	font-weight: bold;
	font-size: 18px;
}

.page-template-page-pl .catList li a:hover {
	opacity: .6;
}

/* 管理者テキスト */
.admintext {
    padding: 15px;
    background: #E4F7FF;
}

.admintext p {
    white-space: pre-line;
}

.orgTxtBlock {
    margin-top: 40px !important;
    white-space: pre-wrap;
	display: inline-block;
}




/****** table last border ******/
table tr:last-child td {
    /*border-bottom-style: solid;
    border-bottom-width:1px;*/
}

.imagebox,
.textedit4{
    display: flex;
    justify-content: space-evenly;
}

.aligncenter {
    margin: 20px 0;
}

.confTbl {
    width: 680px !important;
    
}

/* 対象ページ（親クラス群） */
.single-index-optical-commun,
.single-index-broadband-l,
.single-index-fiber,
.single-index-fiber-laser,
.single-laser-related-instruments-index,
.single-laser-opt-compo-index,
.single-optical-sensing,
.single-index-passive,
.single-index-active,
.single-index-equipment,
.single-index-other-inst,
.single-list-optical-material {
  /* 親自体には何も書かなくてOK（グルーピング目的） */
}

/* 1) contentsOuter */
.single-index-optical-commun .contentsOuter,
.single-index-broadband-l .contentsOuter,
.single-index-fiber .contentsOuter,
.single-index-fiber-laser .contentsOuter,
.single-laser-related-instruments-index .contentsOuter,
.single-laser-opt-compo-index .contentsOuter,
.single-optical-sensing .contentsOuter,
.single-index-passive .contentsOuter,
.single-index-active .contentsOuter,
.single-index-equipment .contentsOuter,
.single-index-other-inst .contentsOuter,
.single-list-optical-material .contentsOuter {
  
    width: 1280px !important;
}

/* 2) contentsOuter h2 */
.single-index-optical-commun .contentsOuter h2,
.single-index-broadband-l .contentsOuter h2,
.single-index-fiber .contentsOuter h2,
.single-index-fiber-laser .contentsOuter h2,
.single-laser-related-instruments-index .contentsOuter h2,
.single-laser-opt-compo-index .contentsOuter h2,
.single-optical-sensing .contentsOuter h2,
.single-index-passive .contentsOuter h2,
.single-index-active .contentsOuter h2,
.single-index-equipment .contentsOuter h2,
.single-index-other-inst .contentsOuter h2,
.single-list-optical-material .contentsOuter h2 {
    width: 1280px !important;
}

/* 3) contentsOuter h3 */
.single-index-optical-commun .contentsOuter h3,
.single-index-broadband-l .contentsOuter h3,
.single-index-fiber .contentsOuter h3,
.single-index-fiber-laser .contentsOuter h3,
.single-laser-related-instruments-index .contentsOuter h3,
.single-laser-opt-compo-index .contentsOuter h3,
.single-optical-sensing .contentsOuter h3,
.single-index-passive .contentsOuter h3,
.single-index-active .contentsOuter h3,
.single-index-equipment .contentsOuter h3,
.single-index-other-inst .contentsOuter h3,
.single-list-optical-material .contentsOuter h3 {
    width: 1280px !important;
}

/* 4) w900w */
.single-index-optical-commun .w900w,
.single-index-broadband-l .w900w,
.single-index-fiber .w900w,
.single-index-fiber-laser .w900w,
.single-laser-related-instruments-index .w900w,
.single-laser-opt-compo-index .w900w,
.single-optical-sensing .w900w,
.single-index-passive .w900w,
.single-index-active .w900w,
.single-index-equipment .w900w,
.single-index-other-inst .w900w,
.single-list-optical-material .w900w {
    width: 1280px !important;
}
/* 共通：枠線テーブル */
table.spec-param-unit-value,
table.spec-table-3,
table.package-table,
table.order-table{
  border-collapse: collapse !important;
  width: 100% !important;
}

table.spec-param-unit-value th,
table.spec-param-unit-value td,
table.spec-table-3 th,
table.spec-table-3 td,
/*table.package-table th,
table.package-table td,*/
table.order-table th,
table.order-table td{
  border: 1px solid #bbb !important;
  padding: 6px 10px !important;
}

/* ===============================
   ■ パッケージ下の画像を中央寄せ
   =============================== */

/* 製品詳細ページのみ対象 */
body[class*="single-index-"] .textedit2 img,
body.single-optical-sensing .textedit2 img {
  display: block !important;
  float: none !important;
  margin: 0 auto !important;
}

/* 念のため p も中央寄せ */
body[class*="single-index-"] .textedit2 p,
body.single-optical-sensing .textedit2 p {
  /*text-align: center !important;*/
}

/* ■ パッケージ 項目直後の画像を中央寄せ */
body[class*="single-index-"] {

  /* 画像をブロック化＆中央寄せ */
.contentsOuter img:not(a img):not(.wp-image-23511){
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
  }

  /* ■ パッケージ のすぐ後ろに続く画像 */
  h3, h4, h5, .midashibox {
    margin-bottom: -20px;
  }
  .midashibox + img,
  .midashibox + a > img,
  .midashibox + span > img {
    display: block !important;
    margin: 1em auto !important;
    float: none !important;
  }
}

/* 製品ページでも inline 表示系 */
body[class*="single-index-"] img:not(.wp-image-23511):not(.wp-image-23601):not(.headYa):not(header h1 img) {
  display: block !important;
  margin: 1em auto !important;
  float: none !important;
}

/* 製品ページ：特徴/用途の箇条書き（span + br）を読みやすく */
.single-index-passive .w900w p.orgTxtBlock,
.single-index-active .w900w p.orgTxtBlock,
.single-index-optical-commun .w900w p.orgTxtBlock,
.single-index-equipment .w900w p.orgTxtBlock,
.single-index-other-inst .w900w p.orgTxtBlock {
  line-height: 1.8;
}

/* 「・」で始まる行（特徴/用途の各行）だけ少し間隔を足す */
.single-index-passive .w900w p.orgTxtBlock span,
.single-index-active .w900w p.orgTxtBlock span,
.single-index-optical-commun .w900w p.orgTxtBlock span,
.single-index-equipment .w900w p.orgTxtBlock span,
.single-index-other-inst .w900w p.orgTxtBlock span{
  display: inline-block;
}

/* brの直後が「・」のときに段落っぽく見せる（擬似的な余白） */
.single-index-passive .w900w p.orgTxtBlock br,
.single-index-active .w900w p.orgTxtBlock br,
.single-index-optical-commun .w900w p.orgTxtBlock br,
.single-index-equipment .w900w p.orgTxtBlock br,
.single-index-other-inst .w900w p.orgTxtBlock br{
/*  content: "";
  display: block;
  margin-top: 6px;*/
}

/* -----------------------------------
   製品ページ：特徴/用途 の余白調整
   ----------------------------------- */
body[class*="single-index-"] .w900w p.orgTxtBlock {
  margin-top: 0;       /* p全体の上余白をリセット */
  margin-bottom: 1em;  /* p全体の下余白を調整 */
}

/* ■特徴/■用途 直後の行 spacing */
body[class*="single-index-"] .w900w p.orgTxtBlock span {
  /*display: block;*/
  line-height: 1.4; /* 行間調整 */
  margin: 0;        /* span同士の余計な隙間を削除 */
}

/* ■つづく項目（・〜）は少し余白を足す */
body[class*="single-index-"] .w900w p.orgTxtBlock span:before {
/*  content: "";
  display: block;
  margin-top: 0.2em;*/
}

/* 「■特徴」「■用途」自体の余白を確保 */
body[class*="single-index-"] .w900w p.orgTxtBlock span strong,
body[class*="single-index-"] .w900w p.orgTxtBlock span b {
/*  display: block;
  margin-bottom: 0.2em;
  font-weight: bold;*/
}

/* 製品ページ：■特徴 / ■用途 まわりの余白を整える */
.wp-singular .w900w .orgTxtBlock h6{
  margin: 22px 0 6px !important;   /* 見出しの下を詰める */
  line-height: 1.3 !important;
}

/* 見出し直後の要素だけ、上マージンを消して「1行空き」を防ぐ */
.wp-singular .w900w .orgTxtBlock h6 + p,
.wp-singular .w900w .orgTxtBlock h6 + span{
  margin-top: 0 !important;
}

/* ■特徴 の箇条書き（pにされがち）を読みやすい行間に */
.wp-singular .w900w .orgTxtBlock p{
  margin: 0 0 6px !important;      /* 各行の間隔 */
  line-height: 1.7 !important;     /* 行間 */
}

/* 空のpが混ざるケースの保険（余白の原因になる） */
.wp-singular .w900w .orgTxtBlock p:empty{
  display: none !important;
}

/* ■特徴/■用途 の “直後の行（span群）” を p として扱われても空かないようにする */
.wp-singular .w900w .orgTxtBlock h6{
  margin: 18px 0 6px !important;
  line-height: 1.3 !important;
}

/* h6の直後に入るp（wpautopが勝手に作る）を潰す */
.wp-singular .w900w .orgTxtBlock h6 + p{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 「■特徴」「■用途」ブロック内の span を1行として整形 */
.wp-singular .w900w .orgTxtBlock h6 + span,
.wp-singular .w900w .orgTxtBlock h6 + p > span{
  display: block !important;        /* 1行ずつにする */
  margin: 0 0 6px !important;       /* 箇条書きの間隔 */
  line-height: 1.7 !important;
}

/* 空のpが混ざると1行空くので保険 */
.wp-singular .w900w .orgTxtBlock p:empty{
  display: none !important;
}

/* 「光サーキュレータの原理」リンクを仕様表の右上へ */
.spec-principle-link{
  display: block;
  text-align: right;
  margin: 0 0 6px;
  font-weight: 700;
}

/* 製品ページ：■特徴 / ■用途 が入っている th だけ左寄せ */
.single .w900w table th:has(h6){
  margin-bottom: -30px !important;
  text-align: left !important;
  vertical-align: top !important;
}

/* 光サーキュレータの原理リンク */
.circulator-principle-link{

  display: flex !important;
  align-items: center;
  justify-content: flex-end;

  gap: 6px;

  width: 100%;
  margin: 0 0 6px auto;
  text-align: right;
}

/* 矢印画像 */
.circulator-principle-link img{
  width: 18px;
  height: auto;
  display: inline-block;
}

/* 「光サーキュレータの原理」リンクを右寄せ＆横並び */
a[href*="/tech-explan/about-circulator/"]{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;

  width: 100% !important;
  text-align: right !important;
}

/* 画像が block / 中央寄せ になっているのを潰す */
a[href*="/tech-explan/about-circulator/"] img{
  display: inline-block !important;
  margin: 0 !important;
  float: none !important;
  vertical-align: middle !important;
}

.textedit1 a[href*="/tech-explan/about-circulator/"],
.w900w a[href*="/tech-explan/about-circulator/"]{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
}

/* 光サーキュレータの原理リンク */
a[href*="/tech-explan/about-circulator/"]{
  display: flex !important;
  justify-content: flex-end !important; /* 右寄せ */
  align-items: center !important;
  gap: 6px;
  width: 100%;
}

/* 矢印画像をテキスト先頭に */
a[href*="/tech-explan/about-circulator/"] img{
  order: -1;                 /* 画像を先頭へ */
  display: inline-block !important;
  margin: 0 !important;
  vertical-align: middle;
}

a[href*="/tech-explan/about-circulator/"] img{
  width:18px;
  margin-right:4px;
}

/* 「光サーキュレータの原理」リンク：右寄せ＋矢印をテキスト頭に密着 */
a[href*="/tech-explan/about-circulator/"]{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  float: right;              /* 右端へ寄せる（親がブロック内でも効く） */
  text-decoration: underline;
}

/* 矢印画像の “ブロック化/余白/浮き” を潰してテキストに密着 */
a[href*="/tech-explan/about-circulator/"] img{
  display: inline-block !important;
  vertical-align: middle !important;
  float: none !important;
  margin: 0 6px 0 0 !important;  /* 画像と文字の間だけ */
}

a.spec-about-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  float:right;
}
a.spec-about-link img{
  display:inline-block !important;
  float:none !important;
  margin:0 6px 0 0 !important;
  vertical-align:middle !important;
}

/* リンク内の画像(アイコン等)は除外して、本文画像だけ中央寄せにする */
.contentsOuter img:not(a img):not(.wp-image-23511){
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

/* パンくず上間隔調整 */
.breadcrumbs {
    padding-top: 50px;
}

.package-table td span {
    /*display: block;*/
}

.midashicustum {
    padding-bottom: 40px;
    padding-bottom: 0;
}

.textedit1 table tr:first-child th,
.textedit1 table tr:first-child td
{
    background-color: #286cb0;
    /*color: #fff;*/
    font-weight: bold;
}

.imagecap {
    text-align: center;
}

.emoji {
    position: absolute;
    left: -100px;
    top: -100px;
}

.wp-image-23511 {
display: inline !important;
  margin: -30px 0 0 !important;
}

.headYa {
    margin: 0 !important;
}

.threebox {
  width: 33.333333%;
  float: left;
  margin-bottom: 10px;
  margin-top: 5px;
  height: 185px;
}

table h6 {
    display: block;
}

td span {
 white-space: pre-line;
}

.textedit1 tr td:first-child span {
	white-space: nowrap;
}

td h6 ~ span,
h6 ~ span{
	display: block;
}












/* =========================
   グローバルナビ本体
========================= */
.menu-pcglobal-container {
    width: 100%;
    border-top: 1px solid #00396E;
    border-bottom: 1px solid #00396E;
    background: #fff;
    position: relative;
    z-index: 9999;
}

#menu-pcglobal {
    width: 1280px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    position: relative;
}

#menu-pcglobal > li {
    flex: 1;
    position: relative;
    list-style: none;
}

#menu-pcglobal > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 12px;
    text-decoration: none;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    color: #00396E;
    background: #fff;
    border-left: 1px solid #00396E;
    box-sizing: border-box;
    transition: background .25s ease, color .25s ease;
}

#menu-pcglobal > li:last-child > a {
    border-right: 1px solid #00396E;
}

/* ホバー / カレント */
#menu-pcglobal > li:hover > a,
#menu-pcglobal > li.current-menu-item > a,
#menu-pcglobal > li.current-menu-parent > a,
#menu-pcglobal > li.current-menu-ancestor > a {
    background: #00396E;
    color: #fff;
}

/* =========================
   通常のドロップダウン
   （会社概要、テクノロジー、人材募集など）
========================= */
#menu-pcglobal .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #00396E;
}

#menu-pcglobal .menu-item-has-children:hover > .sub-menu {
    display: block;
}

#menu-pcglobal .sub-menu li {
    list-style: none;
}

#menu-pcglobal .sub-menu li a {
    display: block;
    width: 100%;
    padding: 16px 20px;
    text-align: left;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: #00396E;
    border-top: 1px solid rgba(255,255,255,.15);
    border-left: 1px solid #2F6FA3;
    border-right: 1px solid #2F6FA3;
    box-sizing: border-box;
}

#menu-pcglobal .sub-menu li:first-child a {
    border-top: none;
}

#menu-pcglobal .sub-menu li a:hover {
    background: #0b4e8a;
    color: #fff;
}

/* =========================
   メガメニュー（製品情報）
========================= */
.menu-item-mega {
    position: static; /* これがポイント。幅を全体に広げやすくする */
}

.menu-item-mega .mega-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 200%;
    transform: translateX(-50%);
    /*width: 760px;*/              /* 画像に近いサイズ */
    background: #003f7d;       /* 濃い青 */
    z-index: 10000;
}

.menu-item-mega:hover .mega-menu {
    display: block;
}

.mega-menu__inner {
    display: flex;
    align-items: stretch;
}

.mega-menu__col {
    flex: 1;
    padding: 18px 22px 0;
    padding: 0 0 0;
    border-right: 1px solid rgba(47,111,163,.35);
    box-sizing: border-box;
    min-height: 290px;
}

.mega-menu__col:last-child {
    border-right: none;
}

.mega-menu__title {
    margin: 10px 0 18px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    padding-left: 10px;
}

/*.mega-menu__title::before {
    content: "› ";
    font-weight: 700;
}*/

.mega-menu__col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mega-menu__col li {
    /*margin: 0 0 14px;*/
    list-style: none;
    border-top: solid 1px #2F6FA3;
}

.mega-menu__col li:last-child {
    margin-bottom: 0;
}

.mega-menu__col li a {
    display: inline-block;
    width: auto;
    padding: 0;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.7;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
}

.mega-menu__col li a::before{
    content: "› ";
}

.mega-menu__col li a:hover {
    opacity: .6;
    background: transparent;
    color: #fff;
}

/* 空リンクの見た目調整 */
.mega-menu__col li a[href=""],
.mega-menu__col li a[href="#"] {
    pointer-events: none;
}

/* =========================
   レスポンシブ（必要なら）
========================= */
/*@media screen and (max-width: 1360px) {
    #menu-pcglobal {
        width: 100%;
    }

    .menu-item-mega .mega-menu {
        width: calc(100% - 80px);
    }
}

@media screen and (max-width: 1024px) {
    .mega-menu__inner {
        display: block;
    }

    .mega-menu__col {
        min-height: auto;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,.2);
    }

    .mega-menu__col:last-child {
        border-bottom: none;
    }
}*/

.page-id-19382 table,
.page-id-19382 th,
.page-id-19382 td {
    border: none !important;
    border-style:hidden;
    border-width: 0;
}

.cpn {
    margin: 30px auto;
}
.companyimgs img{
    width: 250px;
    height: auto;
}

.tax-company-name .companyimgs {
    margin: 20px auto;
}
.tax-company-name .titleSen {
display:none;
}