@charset "utf-8";

/****************************************************************/
/* 基本スタイル                                                 */
/****************************************************************/

:root{
	--v-space: clamp(30px,10.0vw,120px);
	--v-space-n: clamp(25px,6.6vw,80px);
	--v-space-nn: clamp(24px,3.0vw,40px);	
}
/* var(--v-space) */

/* 印刷用 *******************************************************/
@media print {
	body {
		width: 1080px !important;
		zoom: .95;
	}
}


/* 初期化 *******************************************************/
body {
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック',sans-serif;
	color: #333;
	font-size: 16px;
	line-height: 170%;
	background-color: #fff;
	margin: 0px;
	padding: 0px;
	width: 100%;
}
dt,dd{
	margin: 0;
	padding: 0;
}
@media only screen and ( max-width: 750px) {
	body{ background-color: #fff; }
	body.top4_contents{
		background-size: 640px 400px;
	}
}

img{
	display: inline-block;
	max-width: 100%;
	height: auto;
	vertical-align: bottom; /* HTML5 行間対策 */	
}

section,footer{
	margin: 0px;
	padding: 0px;
}

a:link{ color: #1d3994; text-decoration: none;}
a:visited{ color: #909;}
a:hover,a:hover li{ color: #c00 !important; text-decoration: underline; }
a:active{ color: #c00 !important; text-decoration: underline; }
.nc a,a.nc{ color: inherit; }

a:hover img.imgover {
	opacity: 0.7;
	filter: alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}

hr{
	border-style: solid;
	border-color: #e0d7cd;
	border-width: 1px 0 0 0;
	width: min(96%, 1200px);
	margin: 0 auto;	
}

table, table th, table td {
	border-color: #666;
	border-collapse: collapse;
	border-spacing: 0;
}
table th, table td{ border: 1px solid #ccc; }
table th{ background: #f6f6f6; }
table td{ background: #fff; }

textarea {
	font-family: inherit;
}

ul.m0{
	list-style: none;
	margin: 0;
	padding: 0;
}
.m-vspace{
	padding-top: var(--v-space-n) !important;	
	padding-bottom: var(--v-space-n) !important;
}
.mb0{ margin-bottom: 0 !important; }
.mb1{ margin-bottom: 10px !important; }
.mb2{ margin-bottom: 20px !important;}
.mb3{ margin-bottom: 30px !important;}
.mb4{ margin-bottom: 40px !important;}
.mb5{ margin-bottom: 50px !important;}
.mb6{ margin-bottom: 60px !important;}
.mb8{ margin-bottom: 80px !important;}
.mb10{ margin-bottom: 100px !important;}
.mb-vspace{ margin-bottom: var(--v-space) !important; }

.img-responsive{
	display: block;
	max-width: 100%;
	height: auto !important;
}

.r5{
	border-radius: 5px;
}

.center {
    text-align: center;
}

/* -- クリア関連 ----------------------------------------*/
.clear{
	clear:both;
}

.clearfix::after {
	content: ".";  
	display: block; 
	visibility: hidden; 
	clear: both; 
	height: 0;
}


/* 制御 *********************************************************/
/* 強制非表示 */
@media print, screen and ( min-width: 1161px) {
  .pc_hidden{ display: none !important; }
}
@media only screen and ( max-width: 1160px) {
	body{ background: #fff; }
  .sp_hidden{ display: none !important; }
}

.w-container{
	width: min(96%, 1160px);
	margin: 0 auto;	
	box-sizing: border-box;	
}



/* **************************************************************/
/* ヘッダー *****************************************************/
header{
}
@media print, screen and ( min-width: 1161px) {
	header{  }
	#header{ height: 96px; }
}

#header-bar{
	border-top: 4px solid #13489d;
	background: #eee;
	font-size: 13px;
	font-weight: normal;
	padding: 6px 0 10px 0;
	margin: 0 0 5px 0;
}

#header-bar .copy,
#header-bar .sub-menu{
	font-weight: normal !important;
	margin: 0 !important;
}
@media screen and ( max-width: 1160px) {
	#header-bar, #header-bar h1,#header-bar h2{ font-size: 12px !important;}
}
.header-bar-container{
	padding: 5px 0 0 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%
}

#header{
	clear: both;
	margin: 0;
	border-bottom: 1px solid #E0DFE3;
}
.header-container{
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%
}

@media screen and ( max-width: 1160px) {
	#header-bar{
		padding: 0 0 4px 0;
		margin: 0;
	}
	#header{
		padding: 10px 0;
		height: 80px;
		border-bottom: 5px solid #4a699d;
	}
	.header-logo{
		width: calc( 100% - 48px);
	}
}
@media print, screen and ( min-width: 1161px) {
	.header-logo{ margin-bottom: 8px;}
	.header-logo img{
		width: 260px;
		height: 72px;
	}
}


/* ヘッダー右サブメニュー */
ul.header-right{
	text-align: right;
}
.header-right ul.sub-menu{
	font-size: 13px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}
.header-right .sub-menu li:not(:first-child)::before{
	color: #555;
	content: "|";
	font-weight: 900;
	padding-right: 0.8em;
}
.header-right a{ color: inherit; }


/* お問い合わせボタン */
a.btn-contact {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: 0 auto 16px auto;
	padding: 5px 30px;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	background: #13489D;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
	border-radius: 20px;
	transition: 0.1s;
}
a.btn-contact:hover{
	background: #e1e6ee;
	text-decoration: underline;
	cursor: pointer;
}



/* **************************************************************/
/* ヘッダーグローバルメニュー *************************************/
@media print, screen and ( min-width: 1161px) {
	ul#gmenu{
		float: left;
		margin:0 40px 10px 0;
		padding: 0;
		width:660px;
		font-size: 14px;
		font-weight: bold;
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 100%

	}
	ul#gmenu li{
		border-bottom: 2px solid #ccc;
	}
	ul#gmenu li:hover{
		border-bottom-color: #c00;
	}
	ul#gmenu li a{
		display: block;
		padding: 0 4px 8px 4px;
		box-sizing: border-box;
	}
	ul#gmenu li a:hover{
		text-decoration: none;
	}
}




/* **************************************************************/
/* コンテンツエリア制御 *****************************************/
.contents-container{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
}


@media print, screen and ( min-width: 961px) {
	.contents-container .contents-left{
		flex: 1;
	}
	.contents-container .contents-area{
		flex: 3;
	}
}
@media screen and ( max-width: 960px) {
	.contents-container .contents-left{ order: 2; width: 100%; }
	.contents-container .contents-area{ order: 1; box-sizing: border-box; width: 100%; }	
	.contents-container .contents-right{ order: 3; width: 100%; }
	.contents-container.w-container{
		flex-direction: column;
	}
}



/* **************************************************************/
/* コンテンツエリア共通 *******************************************/

/* 背景 **********************************************************/
.bg-stream{
	background: url(../images/bg-stream1920.png) center top #fff no-repeat;
}
.bg-gray{
	background: #f3f3f3;
}
.bg-white{
	background: #fff;
}


/* パンくず ******************************************************/
.pkz{
	border-bottom: 1px solid #E0DFE3;
}
.breadcrumbs{
	background: #fafafa;
	border-bottom: 1px solid #E0DFE3;
	font-size: 14px;
	padding: 10px 0;
	margin-bottom: var(--v-space-nn);
}
/*
.breadcrumbs{
	color: #fff;
	font-weight: bold;
	border-bottom: 1px solid #E0DFE3;
	font-size: 14px;
	padding: 10px 0;
	margin-bottom: var(--v-space-nn);
	background: repeating-linear-gradient(120deg, #13489d 0, #13489d 4px, #2b5ba7 4px, #2b5ba7 8px);
}
.breadcrumbs a{
	color: #fff;
	text-decoration: underline;
}
.breadcrumbs a:hover{
	color: #e99 !important;
}
*/

@media screen and ( max-width: 960px) {
	.breadcrumbs{ margin-bottom: 20px; } 
}




/* ページタイトル ************************************************/
.contents-area h1{
	color: #171c61;
	font-weight: 400;
	line-height: 135%;
	margin: 0 0 30px 0;
}
@media screen and ( max-width: 960px) {
	.contents-area h1{
		margin: 0 0 30px 0;
	}
}

.contents-area h3,
.contents-area .cts_title{
	font-size: 1.1em;
	font-weight: bold;
	border-top: 4px solid #708090;
	border-bottom: 1px dotted #708090;
	padding: 8px 5px 7px 0;
	margin: 0 0 20px;
}

.contents-area h3.point{
	background: url(../images/bg-point960.png) 0 center no-repeat;
	border: none;
	padding: 11px 5px 9px 120px;
	font-size: 18px;
	margin-bottom: 30px;
}

.contents-area h4::before{
	color: #00c;
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.8em;
}


/* 枠 ************************************************************/
.frame{
	width: 100%;
	box-sizing: border-box;
	padding: 11px 21px;
	border-radius: 10px;
	border: 4px solid #ddd;
	margin-bottom: var(--v-space-nn);
}
.frame-gray{
	border: 4px solid #ddd;
}
.frame-orange{
	border: 4px solid #f6ab00;
}

.frame-title{
	font-size: 20px;
}

.kakomi {
	font-size: 13px;
    margin: 0 0 15px 0;
    padding: 15px;
    width: 100%;
	box-sizing: border-box;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    background-color: #F0F0F0;
    clear: both;
}

/* 線 */
.contents-area .line{
	border-bottom: 1px dotted;
	color: #ccc;
	margin-bottom: 20px;
	margin-top: 20px;
	clear: both;
}

/* PDFダウンロード ************************************************/
.dl-line-right{
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
    text-align: right;
	padding: 15px 0;
    margin-bottom: 10px;
}
.dl-line-center{
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
    text-align: center;
	padding: 30px 0;
    margin-bottom: 10px;
}


/* キャプション ***************************************************/
.caption{
	font-size: 12px;
}


/* ボタン */
a.btn-gray {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: 0 auto 16px auto;
	padding: 5px 10px;
	border: 1px solid #ccc;
	background: #f9f9f9;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
	border-radius: 5px;
	transition: 0.2s;
}
a.btn-gray:hover,
.btn-dl-gray:hover{
	color: #999;
	background: #eee;
	text-decoration: underline
}

.btn-dl-gray {
	display: inline;
	line-height: 220% !important;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: 0 auto 16px auto;
	padding: 5px 10px;
	border: 1px solid #ccc;
	background: #f9f9f9;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
	border-radius: 5px;
	transition: 0.2s;
}
.btn-dl-gray::before{
	content: "\f56d";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.5em;
}

@media print, screen and ( min-width: 751px) {
	.btn-inline{ display: inline !important; }
}
.btn-size-m{ font-size: 15px; }

.btn-dl{
	display: inline;
	color: #fff !important;
	font-weight: bold;	
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	padding: 5px 40px 3px 40px;
	background-color: #ffa600;
    background-image: linear-gradient(-45deg, rgba(255,255,255,0.1) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.1) 75%, transparent 75%, transparent);
	-webkit-background-size: 20px 20px;
    -moz-background-size: 20px 20px;
    background-size: 20px 20px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
	border-radius: 5px;
	white-space: nowrap;
}
.btn-dl::before{
	color: #fff;
	content: "\f56d";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.5em;
}
.btn-dl:hover::before{ color: #c00 !important;}


/* **************************************************************/
/* 左サイドバー **************************************************/

/* 左上コンテンツタイトル *****************************************/
.cts-title{
    display: flex;
	justify-content: center;
    align-items: center;
	min-height: 200px;
	font-size: 1.1em;
	font-weight: bold;
	color: #fff;
	background:repeating-linear-gradient(120deg, #13489d 0, #13489d 4px, #2b5ba7 4px, #2b5ba7 8px);
	border-radius: 4px;
	padding: 5px;
	margin-bottom: 40px;
}

/* 左メニュー *****************************************************/
.contents-left .sub-menu{
	border: 1px solid #708090;
	border-radius: 4px;
	margin-bottom: var(--v-space-nn);
}
.contents-left .title,
.contents-left h3{
	font-size: 1.1em;
	font-weight: normal;
	border-top: 4px solid #708090;
	border-bottom: 1px dotted #708090;
	padding: 5px 5px 5px 0;
	margin: 0 0 10px;
}
.contents-left .sub-menu .title,
.contents-left .sub-menu h3{
	padding-left: 5px !important;
}

.contents-left .title::before,
.contents-left h3::before{
	color: #555;
	content: "\f138";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.3em;
}
.contents-left .ctg-list{
	margin-bottom: 30px;
}
.contents-left .ctg-list li{
	margin: 0 0 0 10px;
}
.contents-left .ctg-list li::before{
	font-size: 12px;
	color: #1d3994;
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.8em;
}
.contents-left .ctg-list li span{
	margin-left: 4px;
	font-size: 0.8em;
}

.contents-left .sidebar-search{
	margin-bottom: var(--v-space-nn);
}

.widget .site-search-shiborikomi{
	text-align: center;
}



/* SSLシール */ 
.cpi_ssl{
	text-align: center;
}
.cpi_ssl img{
	display: block;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid #ccc;
	border-radius: 5px;
	width: 128px;
	height: 128px;
}


/* **************************************************************/
/* フッターロゴ・検索 ********************************************/
.footer-line{
	border-top: 1px solid #ccc;
	padding: 40px 0;	
}
.footer-line .w-container{
	display: flex;
	justify-content: space-between;
}

@media( min-width: 751px){ /* pc */
	.footer-logo{ flex: 1; text-align: center;}
	.footer-space{ flex: 1;}
	.footer-search{ flex: 2; text-align: right; padding-top: 10px;}
}


/* フッターサイト内検索 *******************************************/
.site-search{
    position: relative;
    display: flex;
	align-items: center;
	box-sizing: border-box;
    width: 100%;
	padding: 0 20px;
}
.site-search input[type="text"] {
	font-size: 16px;
	background-color: #f6f6f6;
    flex-grow: 1;
    padding: 1rem 1rem 1rem 1.8rem;
    border: 1px solid #bbb;
    border-radius: 1.5rem;
}
.site-search button {
    position: absolute;
    top: .35rem;
    right: 1.5rem;
    cursor: pointer;
    padding: .8rem .9rem .8rem .8rem;
    border: none;
    background: none;
    color: #333;
    font-size: 18px;
    transition: 0.5s;
}
.site-search input:focus {
	background-color: #fff;
    outline: 0;
    box-shadow: 0 0 5px #e1e1e1, 0 0 10px #e1e1e1, 0 0 15px #e1e1e1;
}
.site-search button:hover {
    color: #4a699d;
    transform: scale(1.2);
}








/* フッター ******************************************************/
footer{
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	clear: both;
	padding: 0;
	overflow: hidden;
}
footer .footer-menu ul li a{ color: inherit; }
footer .footer-menu{
	display: flex;
	justify-content: space-between;
	align-items:stretch;
	gap: 15px;
}

@media screen and ( max-width: 960px) {
	footer .footer-menu{
		padding: 20px 0 40px 0;
		flex-direction: column;
	}
	.footer-item{
		box-sizing: border-box;
		width: 100%;
		padding: 5px 0 5px 20px;
		margin: 0;
		border-bottom: 1px dotted #ccc;
	}

	footer .footer-menu ul li::before{
		content: "\f0da";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		padding-right: 1em;
	}
	.footer-item label{
		float: right;
		display: inline-block;
		margin: 0;
		padding : 0 15px;
		cursor :pointer;
	}
	.footer-item ul{
		margin: 0 0 0 -8px;
		padding: 0;
	}
	.footer-item li{
		height: 0;
		overflow: hidden;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	#footer-menu1:checked ~ #footer-menu-sub1 li,
	#footer-menu2:checked ~ #footer-menu-sub2 li,
	#footer-menu3:checked ~ #footer-menu-sub3 li,
	#footer-menu4:checked ~ #footer-menu-sub4 li{
		height: 24px;
		padding: 5px 25px;
		opacity: 1;
		box-sizing: content-box;
	}
	.footer-item input:checked ~ .footer-category label{
		transform: rotate(135deg);
		transition: 0.5s;/* 表示速度の設定 */
	}
}


@media( min-width: 961px){ /* pc */
	.footer-item{
		flex: 1;
		border-left: 1px solid #ccc;
		padding: 60px 10px 60px 40px;
	}
	.footer-item:last-child{
		border-right: 1px solid #ccc;
	}
	.footer-category{
		color: #13489d;
	}
	.footer-category label{ display: none; }
}

.footer-item input{ display: none; }

.footer-category{
	font-weight: bold;
	margin-bottom: 5px;
}

/* フッターサブメニュー *******************************************/
ul.footer-submenu{
	list-style: none;
	font-size: 14px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;	
	gap: 10px;
	padding-left: 0;
}
ul.footer-submenu li:not(:first-child)::before{
	color: #555;
	content: "|";
	font-weight: 900;
	padding-right: 0.8em;
}
ul.footer-submenu a{ color: inherit; }

/* コピーライト **************************************************/
.copyright{
	font-size: 14px;	
	border-top: 1px solid #2b5ba7;
	background: #13489d;
	text-align: center;
	color: #fff;
	padding: 5px;
}


/*****************************************************************
*****************************************************************/




/****************************************************************/
/* ハンバーガーメニュー *****************************************/
/****************************************************************/
@media only screen and ( max-width: 1160px) {
	header {
		position: relative;
	}
	#gmenu {
		position: fixed;
		right: -320px; /* これで隠れる */
		top: 0;
		width: 300px; /* スマホに収まるくらい */
		height: 100vh;
		padding-top: 40px;
		background-color: #fff;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto; /* メニューが多くなったらスクロールできるように */
	}

	.hamburger {
		border: 1px solid #fff;
		position: absolute;
		right: 8px;
		top: 64px;
		width: 38px; /* クリックしやすいようにちゃんと幅を指定する */
		height: 46px; /* クリックしやすいようにちゃんと高さを指定する */
/*		background: #fff; */
		cursor: pointer;
		z-index: 300;
		text-align: center;
		background: #fff;
		border-radius: 2px;
	}
	.global-nav__list {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.global-nav__item {
		padding: 0 6px;
	}
	.global-nav__item a,
	#gmenu .dropdown-btn .gmenu_item{
		display: block;
		font-weight: bold;
		border-bottom: 1px solid #eee;
		color: #111;
		background: #f6f6f6;
	}
	.global-nav__item a{
		padding: 10px;
	}
	
	.global-nav__item ul{
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.global-nav__item ul li a {
		font-weight: normal;
		padding-left: 24px;
		border-bottom: 1px dotted #eee;
		background: #fcfcfc;
	}
	.global-nav__item ul li ul li a {
		font-size: 0.9em;
    padding-left: 48px;
	}
	.global-nav__item a:hover {
		background-color: #eee;
	}
	.hamburger__line {
		position: absolute;
		left: 7px;
		width: 26px;
		height: 2px;
		background-color: #403c36;
		transition: all .6s;
	}
	.hamburger__line--1 {
		top: 8px;
	}
	.hamburger__line--2 {
		top: 15px;
	}
	.hamburger__line--3 {
		top: 22px;
	}
	.hamburger__text {
		position: absolute;
		display: block;
		text-align: center;
		left: 3px;
		top: 27px;
		width: 34px;
		font-size: 8px;
		color: #403c36;
	}

	.black-bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;
		background-color: #000;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}
	/* 表示された時用のCSS */
	.nav-open #gmenu {
		position: absolute;
		right: 0;
	}

	.nav-open .hamburger {
		border: 1px solid #f0f0f0;
		border-radius: 2px;
	}


	.nav-open .black-bg {
		opacity: .8;
		visibility: visible;
	}
	.nav-open .hamburger__line--1 {
		transform: rotate(45deg);
		top: 16px;
	}
	.nav-open .hamburger__line--2 {
		width: 0;
		left: 50%;
	}
	.nav-open .hamburger__line--3 {
		transform: rotate(-45deg);
		top: 16px;
	}
}
/*****************************************************************
*****************************************************************/





/****************************************************************/
/* 単投稿 *******************************************************/
.single #date{
	text-align: right;
	padding: 5px 0;
	font-weight: bold;
	color: #888;
}

.single table th,
.single table td{
	padding: 5px 10px;
}
.single table th{
	background: #eee;
}

/* ページ内メニュー *********************************************/
.page_menu{
    margin: 0 0 40px 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #f6f6f6;
    font-size: 0.9em;
    padding: 10px 5px;
}
.page_menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 150%;
}
@media print, screen and ( min-width: 751px) {
    .page_menu ul li {
        float: left;
        display: block;
        border-right: 1px solid #666;
        padding: 5px 15px 3px 15px;
    }
    .page_menu ul li:last-child {
        border-right: none;
    }
}


/****************************************************************/
/* 商品紹介 *****************************************************/

.search-keyword{
	font-weight: bold;
	margin-bottom: 40px;
}

.item-list{
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 5px;
	margin: 0 0 20px 0;
}
.item-list .title-container{
	display: flex;
	justify-content: space-between;
	align-items: center ;
	gap: 15px;
	padding: 9px;
	border-radius: 5px;
	background: #f6f6f6;
	font-weight: bold;
}
.item-list .desc{
	padding: 9px;
}
.item .name{
	font-weight: bold;
	margin-bottom: 10px;
}

.item-icon{
	display: inline-block;
	color: #fff;
	padding: 2px 8px 1px 8px;
	font-size: 0.9em;
	background: #e66;
	border-radius: 4px;
}
.item-icon a{ color: #fff; }

.item-list .desc-container{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 15px;
}
@media screen and ( max-width: 960px) {
	.item-list .desc-container{
		flex-direction: column;
	}
}
@media print, screen and ( min-width:961px) {
	.item-list .desc-container .image{ flex: 1; }
	.item-list .desc-container .data{ flex: 3; }
}
.item .image img{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.item dl{
	display: flex;
	flex-wrap: wrap;
}
.item-list dl dt{ box-sizing: border-box; width: 20%; font-weight: bold; }
.item-list dl dd{ box-sizing: border-box; width: 80%; }
@media screen and ( max-width: 960px) {
	.item-list dl dt{ width: 30%; }
	.item-list dl dd{ width: 70%; }
}
.item-list table.item-table{
	box-sizing: border-box;
	width: 100%;
}
.item-list table.item-table th{ width: 25%; padding: 0 10px; }
.item-list table.item-table td{ width: 75%; padding: 0 10px; }
@media screen and ( max-width: 750px) {
	.item-list .data,
	.item-list .image,
	.item-list .dl{ width: 100%;}
	.item-list table.item-table th,
	.item-list table.item-table td{
		width: 100%;
		box-sizing: border-box;
		display:block;
		word-break: break-all;
	}
}
.item-guide .image{
	margin-bottom: 30px;
}
.item-guide .image img{
	border: 1px solid #f0f0f0;
	border-radius: 4px;
}
.item-guide .item-info{
	margin: 0 0 var(--v-space-nn) 0;
}
.item-guide dl dt{ font-weight: bold; width: 15%; }
.item-guide dl dd{ width: 85%; }
.item-guide table{ width: 100%; }
.item-guide table.item-table th{ width: 30%; }
.item-guide table.item-table td{ width: 70%; }

/* 商品写真 ２点目以降 */
.item-photos{
	display: flex;
	gap: 20px;
	margin-bottom: var(--v-space-nn);
}
.item-photos > div {
    flex: 1;
}


/****************************************************************/
/* 検索 *********************************************************/
.search-keyword{
	font-weight: bold;
	margin-bottom: 10px;
}
.search-list{
	border: 1px solid #ccc;
	border-radius: 5px;
	margin: 0 0 20px 0;
}
.search-list .title{
	padding: 9px;
	border-radius: 5px;
	background: #f6f6f6;
	font-weight: bold;
}
.search-list .desc{
	padding: 9px;
}

/****************************************************************/
/* 校正サービス *************************************************/
.cal{}

.cal h1{
	color: #171c61;
	font-weight: 400;
	font-size: 30px;
	border: none;
}

.cts-h2{
	text-align: center;
}
.cts-h2 .en-title{
	font-weight: bold;
	font-size: 13px;
	color: #999;
}
.cts-h2 h2{
	display: inline-block;
	font-weight: 600;
	font-size: 24px;
	margin: 5px 0 40px 0;
	padding: 5px 20px;
	border-bottom: 3px solid #f6ad00;
}

/* 校正メニュー */
ul.cal-menu{
	display: grid;
	align-items: start;
	grid-template-columns: repeat( 3, 1fr);
	gap: 60px 20px;
	margin-bottom: var(--v-space);
}
@media screen and ( max-width: 750px) {
	ul.cal-menu{ grid-template-columns: repeat( 1, 1fr); }
}

ul.cal-menu h3{
	background-color: #d6e5f3;
	border: none;
	padding: 20px 40px 20px 20px;
	border-radius: 5px;
}
.cal-menu-pressure h3{ background: url( ../images/cal-icon-pressure80.png) right 0 no-repeat;}
.cal-menu-mass h3{ background: url( ../images/cal-icon-mass80.png) right 0 no-repeat;}
.cal-menu-temp h3{ background: url( ../images/cal-icon-temp80.png) right 0 no-repeat;}
.cal-menu-flow h3{ background: url( ../images/cal-icon-flow80.png) right 0 no-repeat;}
.cal-menu-electric h3{ background: url( ../images/cal-icon-electric80.png) right 0 no-repeat;}

ul.cal-menu div{
	font-size: 13px;
}
ul.cal-menu p{
	word-break :break-all;
}
.cal-type span,
.cal-ctg span{
	font-size: 12px;
	color: #fff;
	border-radius: 3px;
	padding: 1px 10px;
	margin-right: 4px;
}
.cal-type .jcss{ background: #8f2641; }
.cal-type .ippan{ background: #275594; }

.cal-ctg{ margin-bottom: 16px;}
.cal-ctg .pressure{ background: #F7AC00; }
.cal-ctg .mass{ background: #69B94E; }
.cal-ctg .flow{ background: #A24696; }
.cal-ctg .thermo{ background: #327DB9; }
.cal-ctg .electric{ background: #c9c200; }


/* 校正メニュー（JCSS or 一般） */
ul.cal-menu-2col{
	grid-template-columns: repeat( 2, 1fr);	
}
ul.cal-menu-2col div{ font-size: 14px; }
ul.cal-menu li.jcss h3{ background-color: #f8e6eb; }
ul.cal-menu li.ippan h3{ background-color: #eaf1fb; }
@media screen and ( max-width: 960px) {
	ul.cal-menu{ grid-template-columns: repeat( 1, 1fr); }
}

/* 校正サービスの特長・証明書3枚 */
.cal-point,
.cal_certificate{
	display: flex;
	gap: 20px;
	margin-bottom:  var(--v-space-n);
}
@media screen and ( max-width: 960px) {
	.cal-point,
	.cal_certificate{ flex-direction: column; }
}
.cal-point > div,
.cal_certificate > div{
	flex: 1;
}
.cal-point > div >p{
	margin-top: 0;
}
.cal-point .caption{
	text-align: center;
	line-height: 135%;
}
.cal_certificate img{
	border: 1px solid #f0f0f0;
	border-radius: 3px;
}
.cal_certificate h3{
	color: #13489D;
	text-align: center;
	border: none;
	font-size: 18px;
	margin-bottom: 0;
}
.certificate-en{
	color: #13489D;
	text-align: center;
	margin-bottom: 5px;
}
.cal-catch{
	color: #F6AD00;
	font-weight: bold;
	font-size: 18px;
	line-height: 150%;
}

.jcss-certificate{
	display: flex;
	flex-wrap: nowrap;
	gap: 15px;
}
.jcss-certificate > div{ flex: 1; text-align: center; }
.jcss-certificate > div img{ border: 1px solid #ccc;}

/* JCSSロゴ */
.cal-jcss-logo,
.cal-lead-img{
	float: right;
	margin: 0 0 20px 20px;
}
@media screen and ( max-width: 750px) {
	.cal-jcss-logo,.cal-lead-img{ width: 50%; }
}

/* 校正範囲表 */
table.calrange{
	width: 100%;
}
table.calrange th,table.calrange td{
	padding: 5px;
}
table.calrange th span{
	font-weight: normal;
	font-size: 11px;
}
.contents-area h3.jcss { border-color: #8f2641; }
.contents-area h4.jcss::before { color: #8f2641; }
table.jcss th,
table.jcss td{ border-color: #e2a1b2; }
table.jcss th{ background: #f8e6eb; }
.contents-area h3.ippan { border-color: #275594; }
table.ippan th,
table.ippan td{ border-color: #92b1dc; }
table.ippan th{	background: #eaf1fb; }
table.calrange td.range{ text-align: center; }

@media print, screen and ( min-width: 751px) {
	table.calrange td.type1{ width: 5%; }
	table.calrange td.type2{ width: 15%; }
	table.calrange td.range{ width: 35%; }
	table.calrange td.value{ width: 45%; }
	table.calrange td.range2{ width: 25%; }
	table.calrange td.value2{ width: 55%; }	
	table.calrange td.range-2col{ width: 80%;}
}

/* 輸入代行サービスや校正の流れ */
#flow,
.process{
    margin: 5px 0 15px 0;
    padding: 15px 15px 10px 15px;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border: 1px #ccc solid;
    background-color: #f0f0f0;
    clear: both;
    display: block;
}
.step{
	font-size: 16px;
	font-weight: bold;
}









/****************************************************************/
/* 依頼票 *******************************************************/
.order_sheet{
	margin: 10px 0;
	padding-left: 20px;
}

.order_sheet li{
	margin-bottom: 5px;
}


/****************************************************************/
/* 会社案内 *****************************************************/
.corp-frame{
	margin-bottom: 20px;
}
@media print, screen and ( min-width: 751px) {
	.corp-img{
		float: right;
		padding: 0 0 10px 15px;
	}
}
@media screen and ( max-width: 750px) {
	.corp-img{margin-bottom: 20px;}
}
.corp-img img{
	display: block;
	border-radius: 5px;
	margin: 0 auto;
}

.corp-desc{
	margin-bottom: 20px;
}

.corp-desc p{
	padding-left: 0 !important;
	line-height: 170%;
}

.attention{
	font-weight: bold;
	color: #E11345;
}

dl.corp-data,
dl.history{
	display: flex;
	flex-wrap: wrap;
	max-width: 100%;
}
dl.corp-data dt,
dl.history dt{
	border-bottom: 1px dotted #ccc;
	margin-bottom: 10px;
}
dl.corp-data dd,
dl.history dd{
	border-bottom: 1px dotted #ccc;
	margin-bottom: 10px;
}
@media print, screen and ( min-width: 751px) {
	dl.corp-data dt{ width: 20%; }
	dl.corp-data dd{ width: 80%; }
	dl.history dt{ width: 25%; }
	dl.history dd{ width: 75%; }
	dl.corp-data.headoffice dt,
	dl.corp-data.kansai dt{ width: 13%; }
	dl.corp-data.headoffice dd,
	dl.corp-data.kansai dd{ width: 87%; }
}
@media screen and ( max-width: 750px) {
	dl.corp-data,
	dl.history{
		flex-direction: column;
	}
	dl.corp-data dt,
	dl.history dt{
		font-weight: bold;
		border-bottom: none;
	}
}
.corp-data.en dl dt{
	width: 20%;}
.corp-data.en dl dd{
	width: 80%;
}

.corp-data .access{
	margin-bottom: 10px;
}

/* MAP */
iframe.map{
	border: 1px solid #ccc !important;
	border-radius: 5px;
	box-sizing: border-box;
	width: 100%;
}


/****************************************************************/
/* 問い合わせ ***************************************************/
.contact-info{
    font-size: 16px;
    text-align: center;
    line-height: 200%;
    padding: 20px;
    border: 1px dotted #ccc;
    border-radius: 5px;
}
.contact-info .telno{
    color: #ffa600;
    font-weight: bold;
    font-size: 2.0em;
    line-height: 170%;
}
.contact-info .btn{
    margin: 24px 8px;
}
.btn-contact{
    margin: 40px auto;
	text-align: center;
}
.contact-info .btn a,
.btn-contact a{
	display: inline-block;
    color: #fff;
    padding: 16px 24px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 20px;
    border: none;
    background-color: #ffa600;
    background-image: linear-gradient(-45deg, rgba(255,255,255,0.1) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.1) 75%, transparent 75%, transparent);
    -webkit-background-size: 20px 20px;
    -moz-background-size: 20px 20px;
    background-size: 10px 10px;
    box-shadow: 0 2px 6px 0 rgb(0 0 0 / 20%);
}


/* メーカー選択リスト */
.form_maker_list{
	margin: 0 0 40px 0;
}
.form_maker_list th,
.form_maker_list td{
	border: none !important;
}
.form_maker_list td{
	padding: 5px;
}

/* お問い合わせフォーム *******************************************/
::placeholder {
	color: #bbb;
}
p.error_messe{
	color: #f30;
	margin: 0;
}
.mail_hyo{
	width: 100%;
	box-sizing: border-box;
    border: 1px #ccc solid;
    border-collapse: collapse;
}
.mail_hyo th {
    text-align: left;
    border: 1px #ccc solid;
    background-color: #eee;
    padding: 10px;
}
.mail_hyo td {
    border-width: 0 0 1px 1px;
    border-bottom-style: solid;
    border-bottom-color: #ccc;
    padding: 10px;
}
.mail_hyo .must-item,
.mail_hyo .any-item{
    font-size: 0.8em;
    color: #fff;
    font-weight: bold;
    border-radius: 2px;
    padding: 1px 8px;
    margin-right: 4px;
}
.mail_hyo .must-item{ background: #c33;}
.mail_hyo .any-item{ background: #5C7DAC;}

.mail_hyo td input[type="text"],
.mail_hyo td input[type="email"],
.mail_hyo td textarea{
	font-size: 16px;
	padding: 10px 5px;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #999;
	border-radius: 3px;
}
.mail_hyo td input#zip,
.mail_hyo td input#pref{ width: 120px; }
.mail_hyo td input.years{ width: 80px; }

@media print, screen and ( min-width: 961px) {
	.mail_hyo th{ width: 30%; }
	.mail_hyo{
		line-height: 1.5em;
		margin: 30px 0;
	}
}
@media screen and ( max-width: 960px) {
	.mail_hyo th,
	.mail_hyo td{
		box-sizing: border-box;
		width: 100%;
		display: block;
	}
	.mail_hyo td input[type="text"],
	.mail_hyo td input[type="email"],
	.mail_hyo td textarea{
		padding: 10px;
		margin-bottom: 5px;
		border-radius: 5px;
	}
}

.btn-submit,
input.wpcf7-submit{
	font-family: FontAwesome;
	text-align: center;
	font-size: 18px;
	box-sizing: border-box;
	display: block !important;
	max-width: 240px;
	width: 100%;
	margin: 0 auto;
	background: #2B5BA7;
	color: #fff;
	font-weight: bold;
	padding: 16px 40px 13px;
	border: 0;
	border-radius: 100vh;
}


.btn-submit:hover,
input.wpcf7-submit:hover{
	cursor: pointer;
	transition: all 0.3s;
	opacity: 0.8;
	filter: alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
.btn-submit.btn-back{
	font-size: 0.9em;
	max-width: 160px;
	background: #999;
	padding: 8px 10px 6px;	
}


/****************************************************************/
/* 製品に関するお知らせ ******************************************/
ul.pdt-info{
	margin: 20px 0;
}
ul.pdt-info li{
	margin-bottom: 10px;
}
@media print, screen and ( min-width: 751px) {
	ul.pdt-info li{
		padding-left: 100px;
		text-indent: -100px;
	}
}

ul.pdt-info li i{ display: inline; }
ul.pdt-info li span{
	font-size: 12px;
	background: #F6AB00;
	color: #fff;
	border-radius: 3px;
	margin: 0 10px 0 0;
	padding: 0 10px;
}
