/* -----------------------------------------------
CNET CONNECT SERVICE CSS
2019/03/18 move48 oosugi
----------------------------------------------- */
	/* トップページ用 */
	
	*{
		color: #4c4c56;
	}
	main{
		padding-top: 76px;
	}
	/* ページ表示時フェードイン（全テンプレート共通ラッパー .page-fade-wrapper に適用） */
	body.has-page-fade-in .page-fade-wrapper{
		opacity: 0;
		transition: opacity 0.5s ease;
	}
	body.has-page-fade-in.page-loaded .page-fade-wrapper{
		opacity: 1;
	}
	.foot-wrap{
		background: linear-gradient(225deg, #f6f6fa 0%, #c3c4de 56%, #e9e9f3 100%);
	}
	h2{
		background-color: #393b69; /* 背景色 */
		font-size: 1.5em;
		color: #fff; /* 文字色 */
		overflow: hidden;
		padding: 10px;  /* 余白 */
		position: relative;
		border-radius: 6px; /* 左右とも角を丸める（濃い色ブロック全体） */
	}
	h2:before{
		background-color: #c3c4de; /* 薄い色のブロック（右側） */
		content: '';
		display: block;
		opacity: 0.6; /* 不透明度 */
		transform: rotate(-30deg);
		position: absolute;
		bottom: -30px;
		right: -100px;
		width: 200px;
		height: 200px;
		border-radius: 12px; /* 薄い色ブロックの角も丸く（境界をなめらかに） */
	}
	.logoshadow{
		filter: drop-shadow(2px 2px 2px rgba(160, 160, 160, 0.8));
	}
	
	.footer-btm{
		background-color: #393b69;
		color: #ffffff !important;
	}
	.footer-btm p{
		color: #ffffff;
	}
	.sitemap a{
		color: #393b69;
		text-decoration: none;
		transition: color 0.2s ease;
	}
	.sitemap a:hover{
		text-decoration: none;
		color: #233162;
	}
	.service-wrap{
		background: linear-gradient(to top, rgba(57, 60, 106, 0.7) 0%, rgba(140, 141, 176, 0.7) 100%),url(../img/works_back_v1.png);
		background-attachment: fixed;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.news-wrap dl:nth-child(odd){
		background-color: #f4f5f9;
	}
	.news-wrap dl dd{
		border-bottom: dashed 1px #393b69;
	}
	.news-wrap dl dd a{
		color: #393b69;
		text-decoration: none;
		padding-left: 1em;
	}
	.news-wrap dl dd a:hover{
		text-decoration: none;
		color: #233162;
	}
	/* お知らせセクション内の全リンク（「お知らせ一覧へ」含む）：ホバーは色のみ */
	.news-wrap a{
		color: #393b69;
		text-decoration: none;
		transition: color 0.2s ease;
	}
	.news-wrap a:hover{
		text-decoration: none;
		color: #233162;
	}
	
	.slider-wrap {
		overflow: hidden;
	}
	.slider {
		position: relative;
		left: 20vw; /* (100vw - SlideWidth) / 2 */
		overflow: visible !important;
	}
	.slide {
		width: 60vw !important;
		height: auto;
	}
	.bx-wrapper {
		box-shadow: none;
		border: none;
		margin: 0;
	}
	.nav-item{
		font-weight: bold;
		transition: background-color 0.2s ease, color 0.2s ease;
	}
	.nav-item:hover{
		background-color: #c3c4de;
		color: #393b69 !important;
	}
	
	.tsblock h2 a{
		color: #ffffff;
	}
	
	/* -----------------------------------
			新レイアウトヘッダブロック
			------------------------------------ */
			.hd-wrap{
				background-color: #233162;
				background-image:url(../img/hd_bg.png);
				background-position: center center;
				background-size: cover;
				/*height: 175px;*/
				height: 44px;
			}
			.hd-wrap .container > .row{
				/*height: 175px;*/
				height: 44px;
			}
			.nav-wrap .logo-area{
				display: flex;
				justify-content: center;
				align-items: center;
			}
			.hd-wrap .logo-rarea p{
				display: block;
				color: #ffffff;
				font-weight: bold;
				margin-bottom: 0.5rem;
				font-size: 14.5px;
			}
			.nav-wrap .searchtxt{
				border-radius: 8px;
				/*width: calc(100% - 39px);*/
				/*width: 259px;*/
			}
			/* -----------------------------------
			新レイアウトナビバー
			------------------------------------ */
			.nav-wrap,
			.nav-wrap .navbar{
				background-color: #233162 !important;
			}
			.nav-wrap .navbar-light .navbar-nav .nav-link{
				color: #ffffff;
			}
			/* 会社概要ドロップダウン：Bootstrapデフォルトの矢印は消し、テキストの「▼」を使う */
			.nav-wrap .navbar-nav .dropdown-toggle::after{
				display: none;
			}
			.nav-wrap .navbar-nav .dropdown .dropdown-toggle-icon{
				padding: 0 0.1rem;
				margin-left: 0.2rem;
				font-size: 0.8em;
			}
	/* -------------------------------------------
	問い合わせ
	------------------------------------------- */
	.conhead p{
		background-color: #233162;
	}
	.contact-wrap p.desc,
	div.fix-page h3,
	div.newsblock h3{
		border-bottom: 1px solid #233162; /* 下線 */
		color: #233162; /* 文字色 */
		padding: 10px 10px 10px 30px; /* 上・右・下・左の余白 */
		position: relative;
	}
	.contact-wrap .desc:before,
	div.fix-page h3:before,
	div.newsblock h3:before{
		background-image: linear-gradient(180deg, #233162 0%, #4e68c0 55%, #c2cbe9 100%); /* 円のグラデーション */
		border-radius: 50%;
		content: '';
		display: block;
		position: absolute;
		top: 10px;
		left: 5px;
		width: 20px; /* 円の幅 */
		height: 20px; /* 円の高さ */
	}
	.contact-wrap .desc:after,
	div.fix-page h3:after,
	div.newsblock h3:after{
		background-color: #fff; /* 白抜き円 */
		border-radius: 50%;
		content: '';
		display: block;
		position: absolute;
		top: 15px;
		left: 10px;
		width: 10px; /* 白抜き円の幅 */
		height: 10px; /* 白抜き円の高さ */
	}
	.contact-wrap .telno{
		font-weight: bold;
		color: #233162;
		font-size: 1.6em;
		text-align: center;
	}
	/*.contact-wrap .addr{
		font-size: 0.75em;
	}*/
	.contact-wrap .mailbtn a{
		background-color: #007BFF;
		color: #fff;
		display: block;
		/*padding: 0.05em;*/
		border-radius: 8px;
		transition: background-color 0.2s ease, color 0.2s ease;
		/*text-align: center;*/
		font-weight: bold;
		/*margin-top: 28px;*/
		line-height: 52px;
		width: 289px;
		text-align: center;
	}
	.contact-wrap .mailbtn a:hover{
		text-decoration: none;
		background-color: #4e68c0;
	}
	/* -------------------------------------------
	2019/04/09
	------------------------------------------- */
	.contact-wrap .conblk{
		height: 60px;
		/*border: solid 1px #cccccc;*/
		align-items: center;
	}
	.contact-wrap .conblk p{
		margin-bottom: 0 !important;
	}
	
	/* -------------------------------------------
	ページ
	------------------------------------------- */
	div.page h1,
	div.fix-page h1,
	div.seminarblock h1,
	div.newsblock h1{
		margin-top: 30px;
		border-bottom: transparent;
		margin-bottom: 30px;
		padding: 0.5em 0.8em;
		box-shadow: 0 2px 6px rgba(0,0,0,0.08);
		-webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.08);
		-moz-box-shadow: 0 2px 6px rgba(0,0,0,0.08);
		background-color: #233162;
		color: #ffffff;
		font-size: 24px;
		text-shadow: 1px 1px 2px silver;
		border-radius: 6px;
    }
    div.fix-page h3{
    	font-size: 18px;
    	font-weight: bold;
    }
/*    div.page .hard h1{
    	background-color: #9293c3;
    }
    div.page .solu h1{
    	background-color: #c3c4de;
    	text-shadow: 1px 1px 2px #233162;
    }
    
    div.page .hard h2{
		background-color: #c3c4de;
    	text-shadow: 1px 1px 2px #233162;
	}
	div.page .hard h2:before{
		background-color: #9293c3;
	}
	
	div.page .solu h2{
		background-color: #9293c3;
    	text-shadow: 1px 1px 2px #233162;
	}
	div.page .solu h2:before{
		background-color: #393b69;
		transform: rotate(105deg);
	}*/
	div.page p.side-head{
		font-size: 22px;
		/*font-weight: bold;*/
		text-shadow: 1px 1px 1px #cccccc;
		text-align: center;
	}
	div.page p.side-head{
		background: -webkit-linear-gradient(left, #233162, #c3c4de); /* 文字のグラデーション(Chrome、Safari) */
		background: -moz-linear-gradient(left, #233162, #c3c4de); /* 文字のグラデーション(Firefox) */
		background: linear-gradient(left, #233162, #c3c4de); /* 文字のグラデーション */
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
	div.page p.side-head:before, div.page p.side-head:after{
		background: -webkit-gradient(linear, left top, right bottom, from(#233162), to(#c3c4de));  /* 線のグラデーション(Chrome、Safari) */
		background: -moz-linear-gradient(left, #233162, #c3c4de); /* 線のグラデーション(Firefox) */
		background: linear-gradient(left, #233162, #c3c4de); /* 線のグラデーション */
		content: '';
		margin: 10px 0px;
		display: block;
		height: 1px; /* 線の太さ */
		width: 100%;
	}
	
	div.page .sideblk{
		background-color: #eeeeee;
		/*border: solid 1px #999999;*/
		border-radius: 6px;
		margin-top: 30px;
		padding-left: 5px;
		padding-right: 5px;
	}
	div.page .sideblk ul{
		list-style-type: none;
		padding: 0;
	}
	div.page .sideblk ul li{
		border: solid 1px #bbbbbb;
		background-color: #e0e0e0;
		/*padding: 8px;*/
		margin-bottom: 15px;
		box-shadow: 0 2px 8px rgba(0,0,0,0.06)!important;
		border-radius: 6px;
		transition: background-color 0.2s ease, box-shadow 0.2s ease;
	}
	div.page .sideblk ul li ul li{
		background-color: #f0f0f0;
		margin-left: 2px;
		margin-right: 2px;
	}
	div.page .sideblk ul li a{
		/*width: 100%;*/
		display: block;
		line-height: 1.5em;
		
		/*border: solid 1px #1c1c1c;*/
		
		/*margin-top: -1px;*/
		margin: 1px;
		padding: 1px;
		word-break: break-all;
		transition: color 0.2s ease;
	}
	div.page .sideblk ul li:hover{
		background-color: rgba(154, 152, 159, 0.3);
	}
	div.page .sideblk ul li a:hover{
		text-decoration: none;
		color: #233162;
	}
	div.page .sideblk ul li ul li a{
		/*margin-left: 8px;*/
		font-size: 12.4px;
	}
	div.page .sideblk ul li ul{
		display: none;
	}
	div.page .sideblk div.toggle{
		display: block;
		margin-left: auto;
		margin-right: auto;
		width: 100%;
		font-family: "Font Awesome 5 Free";
		content: '\f0d7';
		font-weight: 900;
		font-size: 32px;
		background-color: rgba(154, 152, 159, 0.3);
		text-align: center;
	}

	div.page p.item1 {
		position: relative;
		overflow: hidden;
		padding: 1rem 2rem 1rem 100px;
		margin-top: 15px;
		border-top: 3px solid #000;
		font-size: 25px;
		}

	div.page p.item1:before {
		position: absolute;
		top: -200%;
		left: -100px;
		width: 200px;
		height: 300%;
		content: '';
		-webkit-transform: rotate(25deg);
		transform: rotate(25deg);
		background: #000;
		}

	div.page p.item1 span {
		font-size: 40px;
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		display: block;
		padding-top: 3px;
		padding-left: 16px;
		color: #fff;
		}

	div.page p.item2 {
		padding: 0.5em 1em;
		margin: 2em 0;
		color: #000;/*文字色*/
		background: #FFF;
		border: solid 2.5px #213162;/*線*/
		border-radius: 10px;/*角の丸み*/
		}

	div.page p.item3{
        padding: 8px 19px;
        margin: 2em 0;
        border-top: solid 5px #213162;
        border-bottom: solid 5px #213162;
		text-align: center;
        }

	div.page p.item3 span {
		font-size: 40px;
        }

	div.page .line1 {
		padding:5px 0;
		border-bottom:solid 1px;
		}

/* -------------------------------------------
ページ共通
------------------------------------------- */
div.fix-page{
		display: flow-root;
		overflow-x: hidden; /* 本文内の固定幅要素がはみ出しても横スクロールさせない（幅は .container に委ねる） */
	}
@supports not (display: flow-root){
		div.fix-page{
			overflow: hidden;
		}
	}
	div.fix-page h2{
		margin-bottom: 1em;
		margin-top: 1em;
		clear: both;
	}
	/* コンテンツ内リンク：ホバーは色のみ（下線なし・モバイル向け） */
	div.fix-page a,
	.page a,
	.newsblock a,
	.newsblock .entry a,
	.newsblock .newsarea a,
	div.contentsbody .contentsarea a,
	.cate .entry-content a,
	.contentslist a,
	.contentsblock a,
	.enentsblock a,
	.foot-wrap a{
		text-decoration: none;
		transition: color 0.2s ease;
	}
	div.fix-page a:hover,
	.page a:hover,
	.newsblock a:hover,
	.newsblock .entry a:hover,
	.newsblock .newsarea a:hover,
	div.contentsbody .contentsarea a:hover,
	.cate .entry-content a:hover,
	.contentslist a:hover,
	.contentsblock a:hover,
	.enentsblock a:hover,
	.foot-wrap a:hover{
		text-decoration: none;
		color: #233162;
	}
	
	/* -------------------------------------------
	ページ固有
	------------------------------------------- */
	div#privacypolicy div.fix-page p{
		font-size: 14px;
		line-height: 1.8em;
	}
	
	div#message p.desc{
		letter-spacing: 0.1em;
		text-align: center;
		text-shadow: 1px 1px 2px silver;
		font-size: 2em;
		margin-bottom: 1em;
	}
	div#message p.cont{
		line-height: 1.8em;
		letter-spacing: 0.1em;
	}
	div#message p.sign{
		font-size: 18px;
	}
	div#recruit h2 > span{
		color: #ffffff;
		font-size: 16px;
		margin-left: 1em;
	}
	div#recruit p{
		line-height: 1.8em;
		letter-spacing: 0.1em;
	}
	
	div#case-study p.hdtxt{
		    margin:  0;                 /* デフォルトCSS打ち消し */
    font-size:  24px;           /* 文字サイズ指定 */
    border-bottom: solid 3px;   /* 線指定 */
    padding-bottom:  5px;       /* 余白指定 */
    margin-bottom: 15px;        /* 周りの余白指定 */
    position:  relative;        /* 位置調整 */
    font-weight:  normal;       /* 文字の太さ調整 */
	}
	div#case-study p.hdtxt:before{
		    content:  '';               /* 空白の要素を作る */
    width: 100%;                /* 幅指定 */
    height: 1px;                /* 高さ指定 */
    background-color: #000;     /* 背景色指定 */
    display:  block;            /* ブロック要素にする */
    position:  absolute;        /* 位置調整 */
    left:  0;                   /* 位置調整 */
    bottom: -6px;
	}
	/* -------------------------------------------
	問い合わせフォーム
	------------------------------------------- */
	.wpcf7-checkbox .wpcf7-list-item {
		margin-top:0;
		display: block;
	}
	.list-inline .wpcf7-list-item { display: inline; }
	.wpcf7 input[type="text"],
	.wpcf7 input[type="email"]{
		width: 100%;
		max-width: 100%;
	}
	.wpcf7 textarea[name="naiyou"]{
		width: 100%;
		max-width: 100%;
	}
	
	div#inquiry dl{
		
	}
	div#inquiry dl {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 0;
		/*margin-bottom:50px;*/
		clear: both;
		border-top: solid 1px #cccccc;
		background-color: #f0f0f0;
		overflow: hidden;
	}
    div#inquiry dl dt,
    div#inquiry dl dd{
    	
    }
	div#inquiry dl dt {
		/*background:#5f9be3;
		color:#fff;*/
		/*float:left; */
		font-weight:bold; 
		margin-right:10px; 
		padding: 5px;  
		width: 32%; 
		/*height: 100%;*/
		font-size: 14px;
	}

	div#inquiry dl dd {
		margin:2px 0; 
		padding: 5px;
		/*margin-left: 30%;*/
		background-color: #ffffff;
		/*height: 100%;*/
		width: 66.7%;
		font-size: 14px;
	}
	
	div#inquiry p.atten{
		color: #ff0000;
		font-weight: bold;
		display: inline-block;
		margin-left: 0.5em;
	}
	div#inquiry p.any{
		color: #0000ff;
		font-weight: bold;
		display: inline-block;
		margin-left: 0.5em;
	}
	
	
	div#kounoike p.h1,
	div#igarashi p.h1,
	div#softbank p.h1{
		letter-spacing: 0.1em;
		text-align: center;
		text-shadow: 1px 1px 2px silver;
		font-size: 2em;
		margin-bottom: 1em;
		font-weight: normal;
	}
	div#kounoike p,
	div#igarashi p,
	div#softbank p{
		line-height: 1.8em;
		letter-spacing: 0.1em;
		padding-bottom: 2em;
	}
	div#kounoike p.h4,
	div#igarashi p.h4,
	div#softbank p.h4{
		letter-spacing: 0;
		text-shadow: 1px 1px 2px silver;
		font-size: 18px;
		font-weight: bold;
	}
	div#kounoike h3,
	div#igarashi h3,
	div#softbank h3{
		margin-top: 2em;
	}
	div#history td{
		line-height: 1.8em;
		letter-spacing: 0.1em;
	}
	
	div#about th{
		text-align: right;
	}
	div#about td{
		line-height: 1.8em;
		letter-spacing: 0.1em;
	}
	.card-img-top {
    max-width: 100%;
    flex-shrink:0;
 }
	/* -------------------------------------------
	カスタム投稿ページ
	------------------------------------------- */
	div.eventblock h1{
		margin-top: 30px;
		border-bottom: transparent;
		margin-bottom: 30px;
		padding: 0em 0em;
		box-shadow: initial;
		-webkit-box-shadow: initial;
		-moz-box-shadow: initial;
		background-color: initial;
		color: #000000;
		font-size: 30px;
		text-shadow: initial;
		border-radius: initial;
	}
	div.eventblock h2{
		background-color: initial; /* 背景色 */
		font-size: 27px;
		color: #000000; /* 文字色 */
		overflow: hidden;
		padding:1em 0.7em;;  /* 余白 */
		position: relative;
	}
	div.eventblock h2:before{
		position: absolute;
		top: 1em;
		left:0;
		content: '';
		width: 5px;
		height:1.5em;
		background-color: #446689;
		border-radius: 2px;
		display: initial;
		opacity: initial; /* 不透明度 */
		transform: initial;
		bottom: initial;
		right: initial;
	}
	span.seminar {
		background-color: #75A9FF;
		display: inline-block;
		border-radius: 3px;
		padding: 1px 6px;
		color: #fff;
	}
 	span.exhibition {
		background-color: #B384FF;
		display: inline-block;
		border-radius: 3px;
		padding: 1px 6px;
		color: #fff;
	}
	span.closed {
		background-color: #a9a9a9;
		display: inline-block;
		border-radius: 3px;
		padding: 1px 10px;
		color: #fff;
	}
	span.download {
		background-color: #FF8856;
		display: inline-block;
		border-radius: 3px;
		padding: 1px 10px;
		color: #fff;
	}
	div.eventlist {
		margin-bottom: 1rem;
		padding: 1rem;
		border: 1px solid #ddd;
	}
	div.img-wrap {
		position: relative;
		float: left;
		line-height: 1;
	}
	div.img-wrap img {
		width: 260px;
		height: 180px;
		object-fit: cover;
	}
	div.eventtextarea {
		margin-left: 280px;
	}
	p.eventtitle{
		font-weight:bold;
		text-decoration: underline;
	}
	.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
	}
	div.contentsblock h1{
		margin-top: 5px;
		border-bottom: transparent;
		margin-bottom: 5px;
		padding: 0em 0em;
		box-shadow: initial;
		-webkit-box-shadow: initial;
		-moz-box-shadow: initial;
		background-color: initial;
		color: #000000;
		font-size: 30px;
		text-shadow: initial;
		border-radius: initial;
	}
	div.contentsblock h2{
		background-color: #f5f5f5; /* 背景色 */
		font-size: 27px;
		border-left: 5px solid #213162;
		color: #000000; /* 文字色 */
		overflow: hidden;
		padding:0.5em 0.7em;;  /* 余白 */
		margin: 1em 0em;
		position: relative;
		border-radius: 0 6px 6px 0; /* 右側の角を丸める（左はボーダー） */
	}
	div.contentsblock h2:before{
		background-color: initial;
		content: '';
		display: initial;
		opacity: initial; /* 不透明度 */
		transform: initial;
		position: absolute;
		right: initial;
		width: initial;
	}
	div.contentsblock h3{
		font-size: 25px;
		border-bottom: 2px solid #213162;
		padding:0.5em 0.7em;;  /* 余白 */
		margin-bottom: 0.5em;
		border-radius: 2px; /* 角をわずかに丸める */
	}
	div.contentsblock h4{
		font-size: 18px;
		font-weight: bold;
	}
	.btn-contents,
	a.btn-contents {
		color: #213162;
		padding: 1px 20px;
  		border: 1px solid #213162;
	}
	.btn-contents:hover,
	a.btn-contents:hover {
	  	color: #fff;
		background: #213162;
		padding: 2px 20px;
  		border: 1px solid #213162;
}
	span.iot {
		background-color: #0170C1;
		display: inline-block;
		border-radius: 3px;
		padding: 1px 6px;
		color: #fff;
	}
	span.robot {
		background-color: #E93729;
		display: inline-block;
		border-radius: 3px;
		padding: 1px 6px;
		color: #fff;
	}
	span.voice-system {
		background-color: #60B530;
		display: inline-block;
		border-radius: 3px;
		padding: 1px 6px;
		color: #fff;
	}
	span.camera-solution {
		background-color: #DB5563;
		display: inline-block;
		border-radius: 3px;
		padding: 1px 6px;
		color: #fff;
	}
	#toc_container {
	    margin: 2.4em auto;
	}
	div.contentsbody{
		background-color:#ffffff;
		box-shadow: 2px 2px 4px;
		padding: 60px;
	}
	div.contentslist {
		display: flex;
		flex-wrap: wrap;
	}
	div.contents-img-wrap {
		position: relative;
		width: 30%;
		margin: 1% 1.5%;
		box-shadow: 0 2px 8px rgba(0,0,0,0.06);
		transition: box-shadow 0.2s ease;
	}
	div.contents-img-wrap:hover {
		box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	}
	div.contents-img-wrap img {
		width: 100%;
		object-fit: cover;
	}
	div.contents-img-wrap-body {
		padding: 15px;
	}
	p.contentstitle{
		font-weight:bold;
	}
	p.eyecachlabel{
		position: absolute;
	}

/* -----------------------------------------------
WordPress
----------------------------------------------- */
.aligncenter,
div.aligncenter {
   display: block;
   margin-left: auto;
   margin-right: auto;
}

.alignleft {
   float: left;
   margin-right: 1em;
   margin-bottom: 1em;
}

.alignright {
   float: right;
   margin-left: 1em;
   margin-bottom: 1em;
}

.wp-caption {
   border: 1px solid #ddd;
   text-align: center;
   background-color: #f3f3f3;
   padding-top: 4px;
   margin: 10px;
   /* optional rounded corners for browsers that support it */
   -moz-border-radius: 6px;
   -khtml-border-radius: 6px;
   -webkit-border-radius: 6px;
   border-radius: 6px;
}

.wp-caption img {
   margin: 0;
   padding: 0;
   border: 0 none;
}

.wp-caption p.wp-caption-text {
   font-size: 11px;
   line-height: 17px;
   padding: 0 4px 5px;
   margin: 0;
}
/* ブログ詳細本文内の iframe（例: /contents/vol-028/ の動画）をレスポンシブに */
.entry.clear.contentsarea iframe{
	max-width: 100% !important;
	width: 100% !important;
	height: auto !important;
	display: block;
}
.cate h3.card-title{
	font-size: 20px;
}
div.newsblock ul{
	list-style-type: none;
}
/* ブログ詳細（single-contents.php）：本文内メディアのレスポンシブ対応 */
div.contentsbody .contentsarea img,
div.contentsbody .contentsarea iframe,
div.contentsbody .contentsarea embed,
div.contentsbody .contentsarea object,
div.contentsbody .contentsarea video,
div.contentsbody .contentsarea svg {
	max-width: 100% !important;
}
div.contentsbody .contentsarea img,
div.contentsbody .contentsarea video {
	height: auto !important;
}
div.contentsbody .contentsarea iframe {
	width: 100% !important;
	height: auto;
}
div.contentsbody .contentsarea .wp-block-embed,
div.contentsbody .contentsarea .wp-block-video,
div.contentsbody .contentsarea .wp-video,
div.contentsbody .contentsarea .wp-block-image,
div.contentsbody .contentsarea .wp-block-embed__wrapper {
	max-width: 100%;
	overflow: hidden;
}
div.contentsbody .contentsarea table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
div.contentsbody .contentsarea pre,
div.contentsbody .contentsarea code {
	overflow-x: auto;
}
/* お知らせ一覧（category.php）：固定幅メディアで横スクロール防止 */
div.newsblock img,
div.newsblock iframe,
div.newsblock embed,
div.newsblock object,
div.newsblock video {
	max-width: 100% !important;
}
div.newsblock img,
div.newsblock video {
	height: auto !important;
}
div.newsblock iframe {
	width: 100% !important;
	aspect-ratio: 16 / 9;
	height: auto;
}
div.newsblock .wp-block-embed,
div.newsblock .wp-block-video,
div.newsblock .wp-video,
div.newsblock .wp-block-image,
div.newsblock .wp-block-embed__wrapper {
	max-width: 100%;
	overflow: hidden;
}
div.solu table{
	max-width: 95%;
}
div.fix-page table{
	word-break: break-all;
	word-wrap: break-all;
}
/* 固定ページ・事例紹介子ページ（.fix-page）：本文内メディアの横スクロール防止（モバイル表示時に横スクロールが発生することがあるため） */
div.fix-page img,
div.fix-page iframe,
div.fix-page embed,
div.fix-page object,
div.fix-page video,
div.fix-page svg {
	max-width: 100% !important;
	width: 100% !important;  /* 固定幅指定があってもコンテナ幅にフィットさせる */
}
div.fix-page img,
div.fix-page video {
	height: auto !important;
}
div.fix-page iframe {
	width: 100% !important;
}
div.fix-page .wp-block-image,
div.fix-page .wp-block-embed,
div.fix-page .wp-block-embed__wrapper,
div.fix-page .wp-block-video,
div.fix-page .wp-video {
	max-width: 100%;
	overflow: hidden;
}
/* Gutenberg のフル幅・幅広配置がはみ出さないように補正 */
div.fix-page .alignfull,
div.fix-page .alignwide {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* モバイル時：事例紹介など .fix-page 内のキャプション付き画像がはみ出さないように */
@media (max-width: 767.98px) {
	div.fix-page .wp-caption {
		width: 100% !important;     /* inline style="width: xxxxpx" を上書き */
		max-width: 100% !important;
		box-sizing: border-box;
	}
	div.fix-page .wp-caption img {
		width: 100% !important;
		height: auto !important;
	}
}
div.fix-page table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
/* -----------------------------------------------
MEDIA QUERY
----------------------------------------------- */
/* -----------------------------------
メディアクエリ
------------------------------------ */
/* 992px未満：ロゴとMENUを横一列に（全モバイル・タブレットで共通） */
@media screen and (max-width: 991.98px) {
	.nav-wrap .header-main-row {
		display: flex !important;
		flex-wrap: wrap !important;
	}
	.nav-wrap .header-main-row .header-logo-col {
		flex: 0 0 50% !important;
		max-width: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
	}
	.nav-wrap .header-main-row .header-nav-col {
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}
	.nav-wrap .header-main-row .header-search-col {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
}
@media screen and (min-width: 768px){
	.br-sp{display: none; }
}
/* アンカーリンク用：固定ヘッダーで隠れないようスクロールオフセット（margin-top はページ先頭の二重余白になるため廃止） */
	#inquiry,#about,#history,#message,#privacypolicy,#case-study,#news,#result,#services{
		scroll-margin-top: 80px;
	}
@media screen and (max-width: 770px) {
	.hd-wrap{
		height: auto;
	}
	.hd-wrap .container > .row{
		height: auto;
	}
	/* 一覧レイアウト：モバイルで1列 */
	/* /services ページ：インラインスタイル(width:30% + float:left)の上書き */
	.fix-page .container .row > div[style],
	.fix-page .row > div[style],
	#services .row > div[style] {
		float: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	/* Bootstrap card-deck（トップページのサービス一覧等） */
	.card-deck {
		flex-direction: column !important;
	}
	.card-deck .card {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		margin-bottom: 1rem;
	}
	/* WordPress Gutenberg カラムブロック（/services 等のページ） */
	.wp-block-columns {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		flex-grow: 0 !important;
	}
	/* 事例紹介 */
	.service-wrap .col-md-3.tsblock,
	.service-wrap .row .col-md-3 {
		flex: 0 0 100%;
		max-width: 100%;
	}
	/* ブログ一覧（お役立ちコンテンツ） */
	div.contentslist {
		flex-direction: column;
	}
	div.contentslist .contents-img-wrap {
		width: 100% !important;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 1rem;
	}
	/* services 下層（例: /services/voice-system/）：本文の固定幅要素ではみ出し防止 */
	.cate img,
	.cate iframe,
	.cate embed,
	.cate object,
	.cate video,
	.cate svg {
		max-width: 100% !important;
	}
	.cate img,
	.cate video {
		height: auto !important;
	}
	.cate iframe {
		width: 100% !important;
	}
	.cate .alignwide,
	.cate .alignfull,
	.cate .wp-block-image,
	.cate .wp-block-embed,
	.cate .wp-block-embed__wrapper {
		max-width: 100%;
		overflow: hidden;
	}
	.cate table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.cate pre,
	.cate code {
		overflow-x: auto;
	}
}
/* services 下層（例: /services/voice-system/listest/）：参考情報バナー3つ並びテーブルをモバイルで縦並びにして横スクロール防止 */
@media (max-width: 767.98px) {
	.cate table[align="center"] {
		width: 100% !important;
		display: block;
	}
	.cate table[align="center"] tbody,
	.cate table[align="center"] tr {
		display: block;
	}
	.cate table[align="center"] td {
		display: block;
		width: 100% !important;
		text-align: center;
	}
	.cate table[align="center"] img {
		max-width: 100%;
		height: auto;
	}
}
@media (max-width: 575.98px) { /*col-*/
	.navbar a{
		color: #ffffff !important;
	}
	/* モバイルMENU：行間・高さを統一（会社概要などの特殊構造も含めて揃える） */
	.nav-wrap .navbar-nav .nav-item > .nav-link:not(.dropdown-toggle-icon) {
		display: block !important;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}
	/* モバイル：会社概要の「▼」トグルの位置とタップしやすさを調整 */
	.nav-wrap .navbar-nav .dropdown .dropdown-toggle-icon{
		display: inline-block !important;
		padding: 0 !important;
		margin-left: 0.25rem;
	}
	/* モバイル：ロゴとMENUを横一列に（1行目 50%+50%、2行目 検索 100%） */
	.nav-wrap .header-main-row {
		display: flex !important;
		flex-wrap: wrap !important;
	}
	.nav-wrap .header-main-row .header-logo-col {
		flex: 0 0 50% !important;
		max-width: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
	}
	.nav-wrap .header-main-row .header-nav-col {
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}
	.nav-wrap .header-main-row .header-search-col {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
	/* ヘッダー：MENUラベルとトグルを隣接させる */
	.nav-wrap .navbar{
		display: flex !important;
		justify-content: flex-end !important; /* bootstrapのspace-betweenを潰す */
		align-items: center;
		gap: 8px;
	}
	.nav-wrap .navbar .navbar-brand.d-lg-none{
		margin: 0 !important;
		padding: 0 !important;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.nav-wrap .navbar .navbar-toggler{
		margin-left: 0 !important;
	}
	/* ページ個別CSS等で navbar-brand が押し出されるのを無効化 */
	.nav-wrap .navbar .nav-mobile-controls{
		margin-left: auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 8px;
	}
	.nav-wrap .navbar .nav-mobile-controls .navbar-brand{
		margin-right: 0 !important;
	}
	.navbar-toggler{
		background-color: #ffffff;
	}
	.dropdown-menu a{
		color: #4c4c56 !important;
	}
	.nav-item:hover{
		background-color: #233162 !important
	}
	main {
		padding-top: 140px;
	}
	/* 固定ページ・単一投稿：main を使わないテンプレートでヘッダーと重ならないよう上余白を付与（140px で統一） */
	.page-fade-wrapper > .container-fluid,
	.page-fade-wrapper > div[id] {
		padding-top: 140px;
	}
	/* モバイル：固定ページ・単一投稿のタイトルまわり余白を詰める */
	/* 通常構造: .page-fade-wrapper > div[id] > .container.fix-page ... */
	.page-fade-wrapper > div[id] .container.fix-page .row > .col-md-12.mt-5,
	.page-fade-wrapper > div[id].container.fix-page .row > .col-md-12.mt-5 {
		margin-top: 0 !important;
	}
	.page-fade-wrapper > div[id] .fix-page h1.mt-5,
	.page-fade-wrapper > div[id].container.fix-page h1.mt-5,
	.page-fade-wrapper > .container-fluid .newsblock h1.mt-5 {
		margin-top: 0.5rem !important;
		margin-bottom: 1rem !important;
	}
	/* 音声システム一覧（/services/voice-system/）のタイトル余白も他ページと同程度に詰める */
	#services .fix-page h1,
	#services .fix-page h1.mt-5 {
		margin-top: 0.5rem !important;
		margin-bottom: 1rem !important;
	}
	
	#inquiry,#about,#history,#message,#privacypolicy,#case-study,#news,#result,#services{
		scroll-margin-top: 140px;
	}
	.wpcf7-form dl dt,
	.wpcf7-form dl dd{
		width: 100% !important;
	}
	div#message p.desc{
		font-size: 1.05em;
	}
	/* モバイル1列：インラインスタイル float 上書き + card-deck + Gutenberg カラム */
	.fix-page .container .row > div[style],
	.fix-page .row > div[style],
	#services .row > div[style] {
		float: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.card-deck { flex-direction: column !important; }
	.card-deck .card { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
	.wp-block-columns { flex-direction: column !important; flex-wrap: wrap !important; }
	.wp-block-columns > .wp-block-column { flex-basis: 100% !important; max-width: 100% !important; width: 100% !important; flex-grow: 0 !important; }
	div.contentslist .contents-img-wrap { width: 100% !important; max-width: 100%; }
}
@media (min-width: 576px) and (max-width: 767.98px) { /* col-sm */
	.navbar a{
		color: #ffffff !important;
	}
	/* 小さめタブレット幅でもMENU行間を統一 */
	.nav-wrap .navbar-nav .nav-item > .nav-link:not(.dropdown-toggle-icon) {
		display: block !important;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}
	/* 小さめタブレット：会社概要の「▼」トグルの位置とタップしやすさを調整 */
	.nav-wrap .navbar-nav .dropdown .dropdown-toggle-icon{
		display: inline-block !important;
		padding: 0 !important;
		margin-left: 0.25rem;
	}
	/* モバイル：ロゴとMENUを横一列に（1行目 50%+50%、2行目 検索 100%） */
	.nav-wrap .header-main-row {
		display: flex !important;
		flex-wrap: wrap !important;
	}
	.nav-wrap .header-main-row .header-logo-col {
		flex: 0 0 50% !important;
		max-width: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
	}
	.nav-wrap .header-main-row .header-nav-col {
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}
	.nav-wrap .header-main-row .header-search-col {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
	/* ヘッダー：MENUラベルとトグルを隣接させる */
	.nav-wrap .navbar{
		display: flex !important;
		justify-content: flex-end !important; /* bootstrapのspace-betweenを潰す */
		align-items: center;
		gap: 8px;
	}
	.nav-wrap .navbar .navbar-brand.d-lg-none{
		margin: 0 !important;
		padding: 0 !important;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.nav-wrap .navbar .navbar-toggler{
		margin-left: 0 !important;
	}
	/* ページ個別CSS等で navbar-brand が押し出されるのを無効化 */
	.nav-wrap .navbar .nav-mobile-controls{
		margin-left: auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 8px;
	}
	.nav-wrap .navbar .nav-mobile-controls .navbar-brand{
		margin-right: 0 !important;
	}
	.navbar-toggler{
		background-color: #ffffff;
	}
	.dropdown-menu a{
		color: #4c4c56 !important;
	}
	.nav-item:hover{
		background-color: #233162 !important
	}
	main {
		padding-top: 140px;
	}
	/* 固定ページ・単一投稿：main を使わないテンプレートでヘッダーと重ならないよう上余白を付与（140px で統一） */
	.page-fade-wrapper > .container-fluid,
	.page-fade-wrapper > div[id] {
		padding-top: 140px;
	}
	/* モバイル：固定ページ・単一投稿のタイトルまわり余白を詰める */
	.page-fade-wrapper > div[id] .container.fix-page .row > .col-md-12.mt-5,
	.page-fade-wrapper > div[id].container.fix-page .row > .col-md-12.mt-5 {
		margin-top: 0 !important;
	}
	.page-fade-wrapper > div[id] .fix-page h1.mt-5,
	.page-fade-wrapper > div[id].container.fix-page h1.mt-5,
	.page-fade-wrapper > .container-fluid .newsblock h1.mt-5 {
		margin-top: 0.5rem !important;
		margin-bottom: 1rem !important;
	}
	#inquiry,#about,#history,#message,#privacypolicy,#case-study,#news,#result,#services{
		scroll-margin-top: 140px;
	}
	.wpcf7-form dl dt,
	.wpcf7-form dl dd{
		width: 100% !important;
	}
	/* モバイル1列：インラインスタイル float 上書き + card-deck + Gutenberg カラム */
	.fix-page .container .row > div[style],
	.fix-page .row > div[style],
	#services .row > div[style] {
		float: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.card-deck { flex-direction: column !important; }
	.card-deck .card { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
	.wp-block-columns { flex-direction: column !important; flex-wrap: wrap !important; }
	.wp-block-columns > .wp-block-column { flex-basis: 100% !important; max-width: 100% !important; width: 100% !important; flex-grow: 0 !important; }
	div.contentslist .contents-img-wrap { width: 100% !important; max-width: 100%; }
}
/* /services/voice-system/listest/ など：参考情報バナー3つ並びテーブルをモバイルで縦並びにして横スクロール防止 */
@media (max-width: 767.98px) {
	/* 対象テーブル：本文ブロック #listest 内の .ref-links */
	#services #listest table.ref-links {
		width: 100% !important;
		display: block;
		border-collapse: collapse;
	}
	#services #listest table.ref-links tbody,
	#services #listest table.ref-links tr {
		display: block;
		width: 100% !important;
	}
	/* 空白用のスペーサー列（&emsp; のみ入っている2列目・4列目）は非表示 */
	#services #listest table.ref-links td:nth-child(2),
	#services #listest table.ref-links td:nth-child(4) {
		display: none !important;
	}
	/* 実際のバナー画像が入っている列（1,3,5列目）は縦にフル幅で並べる */
	#services #listest table.ref-links td:nth-child(2n - 1) {
		display: block;
		width: 100% !important;
		text-align: center;
		padding-top: 0.5rem;
		padding-bottom: 1rem;
	}
	#services #listest table.ref-links td img {
		max-width: 100%;
		height: auto;
		display: block;
		margin: 0 auto;
	}
}
@media (min-width: 768px) and (max-width: 991.98px) { /* col-md */
	.navbar a{
		color: #ffffff !important;
	}
	.navbar-toggler{
		background-color: #ffffff;
	}
	.dropdown-menu a{
		color: #4c4c56 !important;
	}
	.nav-item:hover{
		background-color: #233162 !important
	}
	main {
		padding-top: 125px;
	}
	/* 固定ページ・単一投稿：main を使わないテンプレートでヘッダーと重ならないよう上余白を付与 */
	.page-fade-wrapper > .container-fluid,
	.page-fade-wrapper > div[id] {
		padding-top: 125px;
	}
	
	#inquiry,#about,#history,#message,#privacypolicy,#case-study,#news,#result,#services{
		scroll-margin-top: 125px;
	}
	.wpcf7-form dl dt,
	.wpcf7-form dl dd{
		width: 100% !important;
	}
	/* タブレットも1列：card-deck + Gutenberg カラム */
	.card-deck { flex-direction: column !important; }
	.card-deck .card { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
	.wp-block-columns { flex-direction: column !important; flex-wrap: wrap !important; }
	.wp-block-columns > .wp-block-column { flex-basis: 100% !important; max-width: 100% !important; width: 100% !important; flex-grow: 0 !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) { /* col-lg */
	.searchtxt{
		width: calc(100% - 39px - 5px);
	}
}
@media (min-width: 1200px) { /* col-xl */

}

/* VideoWrapper：レスポンシブ動画埋め込み（page-cate.php） */
.VideoWrapper {
	max-width: 100%;
	overflow: hidden;
}
