@charset "utf-8";
/*-----------------------------------------------------------------
	HTML5 elements, Reseting
-----------------------------------------------------------------*/
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main
{ display: block;}

html { font-size: 62.5%; overflow-y: scroll;}
body {
	background-color: #fff;
	color: #000;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",/* "BIZ UDPGothic",*/ Meiryo, sans-serif;
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1.5;
	width: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-text-size-adjust:100%;
}
body, div,/* pre, blockquote,*/ p, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, figure, figcaption
{ margin: 0; padding: 0;}
input, textarea
{ margin: 0; font-size: 100%;}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ max-width: 100%; height: auto; vertical-align: top; border: 0; image-rendering: -webkit-optimize-contrast; image-rendering: auto;}
.video
{ max-width: 100%; height: auto;}
address, caption, cite, code, dfn, var
{ font-style: normal; font-weight: normal;}
em, th
{ font-style: normal;}
ul, ol
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}
q::after, q::before
{ content:'';}
/*a, input
{ outline: none; }*/
input, textarea
{ border-radius: 0; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",/* "BIZ UDPGothic",*/ Meiryo, sans-serif;}
input[type="button"],input[type="submit"]
{ -webkit-appearance: none; background: none; border: none; padding: 0; cursor: pointer;}
abbr, acronym
{ border: 0;}
*
{ box-sizing: border-box;}

pre { padding: 3px 7px;}
sup { font-size: 76%; vertical-align: top;}
sub { font-size: 76%; vertical-align: baseline;}

/*-----------------------------------------------------------------
	clearfix
-----------------------------------------------------------------*/
.cf,
section, article, aside {
	display: block;
}
.cf::after,
section::after, article::after, aside::after {
	clear: both;
	content:'';
	display: block;
}

/*-----------------------------------------------------------------
	基本構造・スタイル
-----------------------------------------------------------------*/
body {
	display: flex;
}
#body-layout {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	width: 100%;
}
#header, #footer {
	flex-shrink: 0;
	width: 100%;
}
#content-wrapper {
	flex: 1 0 auto;
	min-height: 1px; /* for IE11(img resizing)*/
}
	body.page #content-wrapper {
		background-color: #deefff;
	}
#content {
	margin: 0 auto;
}
#main,
#side {
	width: 100%;
	text-align: left;
}

p {
	line-height: 1.6;
	word-wrap: break-word;
	overflow-wrap: break-word;
	margin-bottom: 1em;
}
main li {
	line-height: 1.4;
	margin-bottom: .4em;
}
p:last-child,
main li:last-child {
	margin-bottom: 0;
}

figure, .image {
	text-align: center;
	min-height: 1px; /* for IE11 */
}
figcaption {
	line-height: 1.3;
	padding: 4px;
	font-size: 93%;
}

/* inner setting
**************************/
.inner {
	max-width: calc( 960px + 28px );
	margin: 0 auto;
	padding: 0 14px;
}

/* リンク
******************************/
a {
	transition: all .3s;
}
.content a:not(.none-a-set),
.content a:not(.none-a-set):link, .content a:not(.none-a-set):visited {
	color: #0071bc;
}
	header a, header a:link, header a:visited {
		color: #000;
		text-decoration: none;
	}
	#gnav a, #gnav a:link, #gnav a:visited {
		text-decoration: none;
		transition: none;
	}

.none-a-set {
	color: inherit;
	text-decoration: none;
	transition: none;
	opacity: 1;
}

/* hover */
@media (any-hover: hover) {
  a:not(.none-a-set):hover,
  a:not(.none-a-set):hover img, .hvop:hover {
	text-decoration: none;
	opacity: .8;
  }
}

/* リンク無効 */
.disabled a, a.disabled {
	pointer-events: none;
}
/* 主にカタログpdfボタン用 */
.btn.disabled a {
	background-color: #ccc;
}

/*-----------------------------------------------------------------
	上へ戻る
-----------------------------------------------------------------*/
.page-top {
    position: fixed;
    bottom: 16px;
    right: 2%;
	background-color: #999;
    color: #fff!important;
	transition: none!important;
	text-decoration: none;
    font-size: 18px;
	padding: 10px 14px;
    opacity: .8;
	z-index: 999;
}
@media (any-hover: hover) {
  a.page-top:hover {
	color: inherit;
	opacity: .6;
  }
}

/*-----------------------------------------------------------------
	ヘッダ・グローバルナビ
-----------------------------------------------------------------*/
#header {
	position: relative;
	text-align: left;
	box-shadow: 0 15px 15px -15px rgba(0,0,0,.25);
	z-index: 9999;
}
#header,
#gnav-wrap {
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff;
}

#header .logo-wrap {
	display: flex;
	justify-content: flex-start; /* for IE11(bag:r-margin=auto) */
	align-items: center;
	width: 100%;
	min-height: 50px;
	margin: 10px auto;
}
#header .logo-sitename,
#header .logo-scsk {
	line-height: 1.2;
	margin: 0;
}
#header .logo-sitename img {
	vertical-align: bottom;
	margin-top: 3px;
}
#header .catchcopy {
	display: inline-block;
	vertical-align: bottom;
	font-size: 83%;
	font-weight: bold;
	margin: 3px 8px 0 0;
}
#header .logo-scsk {
	min-width: 66px;
	margin: 6px 0 0 auto;
}

/*-----------------------------------------
	グローバルナビ
------------------------------------------*/
/* checkbox always none */
#gnav-btn {
	display: none;
	cursor: pointer;
	cursor: hand;
}
#gnav input {
	display: none;
}

/* Hamburger（toggle）*/
#gnav-menu-toggle {
	display: none;
}

/* #gnav
**************************/
#gnav {
	width: 100%;
	margin: 0;
	padding: 0;
}
#gnav,
#gnav-menu,
#gnav-menu .menu-child {
	background-color: #0a2986;
}
	#gnav-menu li a,
	#gnav-menu .drop-text {
		color: #fff;
	}

#gnav-menu li {
	width: 100%;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
}
#gnav-menu li a,
#gnav-menu .drop-text {
	display: block;
	width: 100%;
	padding: .9em 10px .8em;
}

/* menu-child (drop-down) */
#gnav-menu .menu-child {
	visibility: hidden;
	opacity: 0;
	width: 100%;
	text-align: left;
}
#gnav-menu .menu-child li {
	border-top: 1px solid #999;
}

/* arrow setting
***************************/
#gnav-menu li a {
	position: relative;
}
#gnav-menu li a::after {
	position: absolute;
	content:'';
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
#gnav-menu .menu-child a {
	padding-right: 2em;
}

/* hover */
@media (any-hover: hover) { 
  #gnav-menu li a:hover {
	background-color: #deefff;
	color: #0a2986;
	opacity: 1;
  }
  #gnav-menu li a:hover::after {
	border-color: #0a2986;
  }
  
  /* menu-parent hover */
  #gnav-menu > li > a:hover,
  #gnav-menu .drop-text:hover {
	background-color: transparent;
	color: #fff;
	opacity: .8;
  }
  #gnav-menu > li > a:hover::after {
	border-color: #fff;
  }
}
/* hover IE11 only */
_:-ms-lang(x)::-ms-backdrop, #gnav-menu li a:hover { background-color: #deefff; color: #0a2986; opacity: 1;}
_:-ms-lang(x)::-ms-backdrop, #gnav-menu li a:hover::after {	border-color: #0a2986;}
_:-ms-lang(x)::-ms-backdrop, #gnav-menu > li > a:hover,
_:-ms-lang(x)::-ms-backdrop, #gnav-menu .drop-text:hover { background-color: transparent; color: #fff; opacity: .8;}
_:-ms-lang(x)::-ms-backdrop, #gnav-menu > li > a:hover::after { border-color: #fff;}


/* ヘッダ・グローバルナビ */
@media screen and (min-width: 768px) {
/*-----------------------------------------
	グローバルナビ 768px以上
------------------------------------------*/
  #gnav-menu {
	display: flex;
	justify-content: space-between;
  }
  #gnav-menu li {
	position: relative;
  }
  #gnav-menu > li {
	display: flex;
	flex-grow: 1;
  }
  #gnav-menu > li > a,
  #gnav-menu .drop-parent {
	display: flex;
	flex-grow: 1;
	justify-content: center;
	align-items: center;
  }
	#gnav-menu .drop-parent {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
	#gnav-menu .drop-parent:after {
		content: '\25BC';
		speak: none;
		font-size: 60%;
		margin-left: 5px;
	}
  /* height & separator
  ***************************/ 
  #gnav-menu > li,
  #gnav-menu .drop-parent {
	height: 3em;
  }
  #gnav-menu > li::after,
  #gnav-menu > li.menu-home::before {
	height: 2.2em;
  } 
	#gnav-menu > li::after,
	#gnav-menu > li.menu-home::before {
		position: absolute;
		content: '';
		display: block;
		top: .4em;
		width: 1px;
		background-color: #fff;
	} 
	#gnav-menu > li::after{
		right: 0;
	}
	#gnav-menu > li.menu-home::before{
		left: 0;
	}
  #gnav-menu > li > .menu-child {
	top: 2.9em;
  }
	#gnav-menu .menu-child {
		position: absolute;
		left: 50%;
		transform: translate(-50%, 0);
		z-index: 10;
	}
  /* menu-child (drop-down)
  **************************/
  #gnav-menu .menu-child {
	visibility: hidden;
	opacity: 0;
  }
  #gnav-menu .menu-parent.drop:hover > .menu-child {
	visibility: visible;
	opacity: 1;
  }
  #gnav-menu .menu-child li {
	border-left: 1px solid #999;
	border-right: 1px solid #999;
  }
  #gnav-menu .menu-child li:last-child {
	border-bottom: 1px solid #999;
  }
  
  /* arrow setting
  ***************************/
  #gnav-menu > li > a::after {
	  display: none;
  }

} 

/* ヘッダ・グローバルナビ */
@media screen and (max-width: 767.98px) {
/*-----------------------------------------
	ヘッダ 767px以下
------------------------------------------*/
  #header .catchcopy {
	font-size: 69%;
  }
  #header .logo-scsk {
	margin-right: 50px;
  }
  #header .logo-sitename img { width: auto; height: 22px;}
  #header .logo-scsk img { width: auto; height: 20px;}

/*-----------------------------------------
	グローバルナビ 767px以下
------------------------------------------*/
  /* Menu open js-setting */
  body.js-fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
  }  
  /* Hamburger（toggle）*/
  #gnav-menu-toggle {
	display: block;
  }
  
  #gnav-menu {
	display: none;
  }
  #gnav-menu .menu-parent:not(.menu-home) {
	border-top: 1px solid #999;
  }
  /* menu-child */
  #gnav-menu .menu-child {
	visibility: visible;
	opacity: 1;
	padding: 0;
	background-color: #fff;
  }
  #gnav-menu .menu-child a {
	color: #000;
  }  
  /* gnav-btn checked */ 
  #gnav-btn:checked ~ #gnav-wrap {
	position: fixed;
	overflow-y: auto;
	overflow-x: hidden;
	height: 100%;
	z-index: 10;
  }
  #gnav-btn:checked ~ * #gnav-menu {
	display: block;
	opacity: 1;
  }
  #gnav-btn:checked ~ * .menu-parent {
	max-height: inherit;
	overflow-y: visible;
  }
  #gnav-btn:checked ~ * .menu-child {
	max-height: 0;
	overflow-y: hidden;
	visibility: hidden;
  }
  #gnav input[type="checkbox"]:checked ~ label ~ .menu-child {
	max-height: inherit;
	overflow-y: visible;
	visibility: visible;
	/*margin: 0 0 1em .6em;
	width: calc( 100% - 0.6em );*/
  }
  
  /* icon-toggle setting
  ***************************/ 
  #gnav-menu .drop-parent {
	  position: relative;
	  padding-right: 1.6em;
  }
  #gnav-menu .icon-toggle:after {
	position: absolute;
	content: '\FF0B';
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	padding: 5px;
  }
  #gnav input[type="checkbox"]:checked ~ label .icon-toggle:after {
	content: '\FF0D';
  }
  
  /* arrow setting
  ***************************/
  #gnav-menu .menu-child a::after {
	border-color: #999;
  }

  /* Hamburger（toggle）
  ********************************/
  #gnav-menu-toggle {
	position: absolute;
	top: 15px;
	right: 10px;
  }
  #gnav-menu-toggle span {
	display: block;
	width: 40px;
	height: 40px;
	background-color: #333;
  }
  #gnav-menu-toggle span span {
	display: block;
	overflow: hidden;
	width: 1px;
	height: 1px;
  }
  #gnav-menu-toggle span span::before,
  #gnav-menu-toggle span span::after,
  #gnav-menu-toggle span::after {
	position: absolute;
	left: 10px;
	content:'';
	width: 20px;
	height: 3px;
	background-color: #FFF;
  }
  /* top bar */
  #gnav-menu-toggle span span::before {
	top: 10px;
  }
  #gnav-btn:checked ~ #gnav-wrap label#gnav-menu-toggle span span::before {
	top: 19px;
	transform: rotate(-45deg);
  }
  /* bottom bar */
  #gnav-menu-toggle span::after {
	bottom: 10px;
  }
  #gnav-btn:checked ~ #gnav-wrap label#gnav-menu-toggle > span::after {
	bottom: 18px;
	transform: rotate(-135deg);
  }
  /* center bar */
  #gnav-menu-toggle span span::after {
	top: 18px;
  }
  #gnav-btn:checked ~ #gnav-wrap label#gnav-menu-toggle span span::after {
	display: none;
  }
}

/*-----------------------------------------------------------------
	下部お問い合わせエリア
-----------------------------------------------------------------*/
#footer-contact {
	background: #0a2986 url(../img/bg/bg_plaid_sp.jpg) no-repeat center bottom / cover;
	color: #fff;
	padding: 40px 0;
}
	#footer-contact a,
	#footer-contact .title {
		color: #fff;
	}

#footer-contact,
#contact-info-area {
	text-align: center;
	width: 100%;
}
#contact-info-area .tel .tel-number {
	font-size: 2.8rem;
	font-weight: bold;
}
#contact-info-area .tel .text {	
	display: table;
	text-align: left;
	padding: 0 14px 0 24px;
	margin: auto;
}
#contact-info-area .btn-contact {
	display: block;
	width: 86%;
	margin: 1.4em auto 0;
}

/*-----------------------------------------------------------------
	フッタ
-----------------------------------------------------------------*/
#footer {
	background-color: #0a2986;
	color: #fff;
	width: 100%;
	margin: 0 auto;
}
	#footer a {
		color: #fff;
	}

#footer .footer-top-area {
	padding: 26px 0 20px;
}
#footer .footer-bottom-area {
	padding-bottom: 20px;
}
	#footer .copyright {
		font-size: 86%;
	}

/* footer-top-area
********************************/
#footer .footer-menu .menu-home {
	width: 100%;
	margin-bottom: 1.5em;
}
#footer .footer-menu .menu-parent:not(.menu-home) > a {
	display: block;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	padding: .7em 0;
}
#footer .footer-menu .menu-child li {
	font-size: 1.3rem;
	list-style: disc;
	margin: .4em 0 .4em 1em;
}
#footer .footer-menu .menu-child {
	margin-bottom: 1em;
}

/* col */
#footer .footer-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#footer .footer-menu .menu-parent:not(.menu-home) {
	width: 46%;
}

/* line & arrow setting */
#footer .footer-menu .menu-parent:not(.menu-home) {
	border-top: 1px solid #999;
}
#footer .footer-menu .menu-parent:not(.menu-home) > a {
	position: relative;
	padding-right: 1em;
}
#footer .footer-menu .menu-parent:not(.menu-home) > a::after {
	position: absolute;
	content:'';
	top: 0;
	bottom: 0;
	right: 4px;
	margin: auto;
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
	transform: rotate(45deg);
}

/* footer-bottom-area
********************************/
#footer .scsk-links-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 20px auto 15px;
}
#footer .logo-scsk {
	min-width: 68px;
}
#footer .scsk-links {
	margin-left: 1em;
	padding-left: 1em;
	border-left: 1px solid #999;
}
#footer .scsk-links li {
	display: inline-block;
	font-size: 1.4rem;
	margin: 0 .5em .5em;
}

/* フッタ */
@media screen and (min-width: 768px) {

  /* footer-top-area
  ********************************/
  #footer .footer-menu {
	display: block;
  }
  #footer .footer-menu .menu-parent:not(.menu-home) {
	float: left;
	width: 22%;
	margin-right: 3%;
  }

  /* footer-bottom-area
  ********************************/
  #footer .scsk-links-wrap,
  #footer .copyright {
	text-align: center;
  }

}

/*-----------------------------------------------------------------
	ページトップビジュアル
-----------------------------------------------------------------*/
#page-topvisual {
	width: 100%;
	background: #9cecfb;
	background: -webkit-linear-gradient(to right, #0052d4, #65c7f7, #9cecfb);
	background: linear-gradient(to right, #0052d4, #65c7f7, #9cecfb);
	color: #fff;
	padding: 40px 0 35px;
}
#page-topvisual .page-toptitle {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}

/*-----------------------------------------------------------------
	パンくず
-----------------------------------------------------------------*/
.breadcrumb-wrap {
	padding: 10px 0;
	background-color: #fff;
}
	body.page-child .breadcrumb-wrap {
		border-bottom: 1px solid #ddd;
	}

.breadcrumb, .breadcrumb a {
	color: #555;
}
.breadcrumb li {
	display: inline-block;
	font-size: 1.3rem;
	line-height: 1.2;
	list-style: none;
	text-align: left;
	margin: 0 .3em 0 0;
}
.breadcrumb .menu-item {
	position: relative;
	padding-left: 1.5em;
}
.breadcrumb .menu-item::before {
	position: absolute;
	content:'';
	top: 0;
	bottom: 0;
	left: 2px;
	margin: auto;
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
	transform: rotate(45deg);
}

/*-----------------------------------------------------------------
	コンテンツ（#content, .content）
-----------------------------------------------------------------*/
.title {
	font-size: 1.85rem; /* h4 */
	line-height: 1.2;
	text-align: center;
}
.main .lead {
	display: table;
	text-align: left;
	margin: 0 auto;
}
.main .lead-center {
	display: table;
	text-align: center;
	margin: 0 auto;
}

.main .home-site-lead,
#page-topvisual .inner,
.titlebar .inner {
	padding-left: 4%;
	padding-right: 4%;
}

/*-----------------------------------------
	カテゴリ一覧ページ（body.cat-list）
------------------------------------------*/
.titlebar {
	background-color: #0a2986;
	color: #fff;
	padding: .5em 0;
}
.titlebar .title {
	font-size: 2.0rem;
}

/*-----------------------------------------
	子ページ（body.page-child）
------------------------------------------*/
#content-header {
	background-color: #fff;
	color: #0a2986;
	font-weight: bold;
	text-align: center;
	padding: 30px 0;
}
	#content-header .title {
		margin-bottom: 1.5em;
	}
	#content-header .mainimg {
		font-weight: normal;
		text-align: center;
	}
	#content-header .lead {
		margin-top: 2em;
	}	
	#content-header .title,
	#content-header .mainimg,
	#content-header .lead {
		padding-left: 3.5%;
		padding-right: 3.5%;
	}

/* 上下問い合わせ＆PDF表示/DLボタン
***********************************/
.content-btn-area .btn {
	display: block;
	font-size: 93%;
	text-align: center;
	margin-bottom: 5px;
}

/* タイトル,リード スタイル
*******************************/
.headline01 {
	color: #0a2986;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	margin-bottom: 1em;
}

.headline02 {
	color: #0a2986;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	margin-bottom: 1em;
}
	/* headline02 */
	.content-box .headline02 {
		font-size: 2.2rem;
		margin: 1.2em auto 1.4em;
	}
.headline03,
.headline03-line {
	color: #0a2986;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 1em;
}
	.headline03-line {
		padding: .6em 0 .5em;
		border-top: 2px solid #999;
		border-bottom: 2px solid #999;
	}
.headline04,
.headline04-line {
	color: #0a2986;
	font-size: 1.85rem;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: .7em;
}
	.headline04-line {
		border-left: 6px solid #0090ef;
		padding: .1em 0 0 0.6em;
		margin-left: 3px;
		text-align: left;
	}

/* Box,Col setting
*******************************/
.content-box {
	background-color: #fff;
	margin-top: 40px;
}

.box-padding {
	padding: 10px;
}

.flex-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;	
}
	.flex-wrap .bg-box-fff,
	.flex-wrap .bg-box-main-blue {
		padding: 10px;
	}
.flex-wrap .box-title {
	font-weight: bold;
	font-size: 93%;
	line-height: 1.4;
	text-decoration: underline;
	margin: .1em auto .4em;
}
.flex-wrap .box-text {
	color: #000;
	font-size: 93%;
	line-height: 1.4;
	text-decoration: none;
}

/* dl-point（title-text-box） */
.dl-point > div {
	background-color: #fff;	
	display: flex;
	flex-direction: column;
	margin-bottom: 1em;
}
.dl-point dt {
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .2em .5em;
	min-height: 3.2em;
}
.dl-point dd {
	padding: .6em .5em;
	margin: auto;
}

/* 背景付,ボーダー付ボックス
*******************************/
.bg-box-fff,
.bg-box-gray,
.bg-box-main-blue {
	width: 100%;
	background-color: #fff;
	border: 1px solid #fff;
	padding: 16px;
	margin-bottom: 1em;
}
	.bg-box-gray {
		background-color: #f1f1f1;
		border: 1px solid #f1f1f1;
	}	
	.bg-box-main-blue {
		background-color: #0a2986;
		border: 1px solid #0a2986;
		color: #fff;
	}

.border-box-gray,
.border-box-main-blue {
	width: 100%;
	background-color: #fff;
	border: 1px solid #ccc;
	padding: 16px;
	margin-bottom: 1em;
}
	.border-box-main-blue {
		border: 1px solid #0a2986;
	}
	
.bg-box-fff > p,
.bg-box-gray > p,
.bg-box-main-blue > p,
.border-box-gray > p,
.border-box-main-blue p {
	margin-bottom: 0.5em;
}
.bg-box-fff > *:last-child, 
.bg-box-fff > ul:last-child li:last-child,
.bg-box-gray > *:last-child,
.bg-box-gray > ul:last-child li:last-child,
.bg-box-main-blue > *:last-child,
.bg-box-main-blue > ul:last-child li:last-child,
.border-box-gray > *:last-child,
.border-box-gray > ul:last-child li:last-child,
.border-box-main-blue > *:last-child,
.border-box-main-blue > ul:last-child li:last-child {
	margin-bottom: 0;
}

a.bg-box-fff, a.bg-box-gray, a.bg-box-main-blue,
a.border-box-gray {
	display: block;
	text-decoration: none;
}



/* hover */
@media (any-hover: hover) {
  a:not(.none-a-set).bg-box-fff:hover,
  a:not(.none-a-set).bg-box-gray:hover,
  a:not(.none-a-set).bg-box-main-blue:hover {
	border: 1px solid #999;
	opacity: 1;
  }
  a:not(.none-a-set).border-box-gray:hover {
	border: 1px solid #ff8300;
	opacity: 1;
  }

  .flex-wrap a:hover .box-title {
	text-decoration: none;
  }
}
/* hover IE11 only */
_:-ms-lang(x)::-ms-backdrop, a.bg-box-gray:hover > *,
_:-ms-lang(x)::-ms-backdrop, a.border-box-gray:hover > * {
	opacity: .7;
}

/* テーブル
*******************************/
table {
	width: 100%;
}
table p {
	margin-bottom: 0;
}

.table-basic {
	border-collapse: collapse;
}
.table-basic caption {
	font-weight: bold;
	text-align: center;
}
.table-basic th, 
.table-basic td {
	vertical-align: middle;
	text-align: center;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	padding: .3em .5em;
	font-size: 90%;
}
	.table-basic thead th:last-child,
	.table-basic td:last-child {
		border-right: 1px solid #ccc;
	}
.table-basic th {
	line-height: 1.3;
}
.table-basic td {
	line-height: 1.4;
	font-size: 92%;
}
.table-basic thead th {
	/*background-color: #555;
	color: #fff;*/
	border-top: 1px solid #ccc;
	font-weight:bold;
	font-size: 93%;
	padding: .6em .5em;
}
	/* bgあり */
	.table-basic thead .bg-set th {
		border-bottom: none;
	}
.table-basic tbody th {
	background-color: #f1f1f1;
}
.table-basic > tbody {
	border-top: 1px solid #ccc;
}
	.table-basic thead + tbody,
	.table-basic-title + .table-basic > tbody,
	.table-basic-title + .table-scroll > .table-basic > tbody {
		border-top: none;
	}

/* option */
.table-basic.taL th,
.table-basic.taL td { text-align: left;}
.table-basic.table-fixed { table-layout: fixed;}
.table-basic tbody.th-fzS th { font-size: 83%;}

/* table-scroll */
.table-scroll {
	display: block;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}
.table-scroll table th,
.table-scroll table td {
	white-space: nowrap;
}
.table-scroll table img{
	max-width: none;
}
.table-scroll table.table-fixed {
	table-layout: auto;
}
	/* for scroll-hint.js gradation */
	.table-scroll table .bg-f1,
	.table-scroll .table-basic tbody th {
		background-color: rgba(204,204,204, 0.3);
	}
	/* option */
	.table-scroll table th.word-wrap,
	.table-scroll table td.word-wrap { white-space: normal;}

@media screen and (max-width: 767.98px){
  .table-scroll .table-basic caption {
	text-align: left;
  }
}

/* リンク,リスト マーク各種
*******************************/
/* chevron */
.chevron2-r {
	position: relative;
	padding-right: 1.4em;
}
.chevron2-r::after {
	display: block;
	position: absolute;
	content:'';
	top: 50%;
	right: .2em;
	transform: translate(0, -50%);
	background: url(../img/icon/icon_chevron2-r.svg) no-repeat center center / contain;
	width: 1.2em;
	height: 1.2em;
}

/* 外部リンクアイコン付与 */
/*.content-box:not(.content-btn-area) a[target=_blank]:not(.none-icon)::after,*/
.icon-external:after {
	display: inline-block;
	content:'';
	width: 1em;
	height: 1em;
	max-width: 20px;
	background: url(../img/icon/icon_external.svg) no-repeat bottom center / contain;
	margin-left: 3px;
}

/* ※用 */
.mark-note {
	text-indent: -1em;
	padding-left: 1em;
	font-size: 90%;
}

/* check */
.mark-check,
ul.mark-check > li,
ol.mark-check > li{
	position: relative;
	list-style: none;
	line-height: 1.4;
	padding-left: 1.8em;
	margin-bottom: 0.6em;
}
	ul.mark-check > li:last-child,
	ol.mark-check > li:last-child{
		margin-bottom: 1em;
	}
	.mark-check.mb00 > li:last-child{
		margin-bottom: 0;
	}
.mark-check::before,
ul.mark-check > li::before,
ol.mark-check > li::before{
	display: block;
	position: absolute;
	content:'';
	/*top: .1em;*/
	left: .4em;
	transform: rotate(45deg);
	width: .4em;
	height: .8em;
	border-right: 4px solid #ff8300;
	border-bottom: 3px solid #ff8300;
}
	ul.mark-check,
	ol.mark-check{
		position: static;
		padding-left: 0;
	}
	ul.mark-check::before,
	ol.mark-check::before{
		position: static;
		width: 0;
	    height:0;
		border: none;
	}

/* disc */
.mark-disc,
ul.mark-disc > li,
ol.mark-disc > li{
	position: relative;
	list-style: none;
	padding-left: 1.1em;
	margin-bottom: 0.6em;
}
	ul.mark-disc > li:last-child,
	ol.mark-disc > li:last-child{
		margin-bottom: 1em;
	}
	.mark-disc.mb00 > li:last-child{
		margin-bottom: 0;
	}
.mark-disc::before,
ul.mark-disc > li::before,
ol.mark-disc > li::before{
	display: block;
	position: absolute;
	content: '\25A0'; /* ■\25A0 ●\25CF*/
	speak: none;
	top: 0;
	left: 0;
	color: #0a2986;
}
/* color option = mark-yellow */
.mark-disc.mark-yellow::before,
ul.mark-disc.mark-yellow > li::before,
ol.mark-disc.mark-yellow > li::before{
	color: #ffc000;
}
	ul.mark-disc,
	ol.mark-disc{
		position: static;
		padding-left: 0;
	}
	ul.mark-disc::before,
	ol.mark-disc::before{
		position: static;
		content: '';
	}

/* ポツ */
.mark-disc-s {
	position: relative;
	padding-left: 1em;
}
	.mark-disc-s::before {
		display: block;
		position: absolute;
		content:'・';
		speak: none;
		left: 0;
		color: #0a2986;
	}
	.mark-disc .mark-disc-s::before {
		content:'\2010'; /* - */
	}

/* button
*******************************/
.btn,
.btn-orange,
.btn-contact {
	display: inline-block;
	font-weight: bold;
	font-size: 1.7rem;
	line-height: 1.2;
	text-align: center;
}
.btn a,
.btn-orange a,
.btn-contact a {
	display: block;
	width: 100%;
	text-decoration: none !important;
	color: #fff !important;
	padding: 12px 1em 10px;
}

.btn-contact a, .btn-orange a {
	background-color: #ff8300;
}
.btn-contact a:hover, .btn-orange a:hover {
	color: #fff !important;
	opacity: 1;
}
@media (any-hover: hover) {
  .btn-contact a:hover, .btn-orange a:hover {
	background-color: #ff4c00;
  }
}
.btn-contact a::before {
	content:'';
	display: inline-block;
	vertical-align: middle;
	background: url(../img/icon/icon_mail.svg) no-repeat center center / contain;
	width: 1.2em;
	height: 1.2em;
	margin: 0 6px 2px 0; 
}

/* Decoration
*******************************/
/* カテゴリ一覧・キャンペーンリボン */
body.cat-list .deco-ribbon {
	position: relative;
	margin-bottom: 34px;
}
body.cat-list .ribbon-text {	
	position: absolute;
	bottom: -17px;
	left :0;
	background-color: #fa4141;
	color: #fff;
	font-size: 93%;
	line-height: 1.3;
	padding: 8px;
	margin: 0 -10px;
	width: 100%;
}
body.cat-list .ribbon-text::before {
	position: absolute;
	content: '';
	top: -10px;
	left: 0;
	width: 0;
	height: 0;
	border-bottom: 10px solid #b70505;
	border-left: 10px solid transparent;
}
/* 子ページコンテンツ・キャンペーンリボン */
#content-header .mainimg.deco-ribbon {
	display: inline-block;
	padding: 0;
}
.mainimg.deco-ribbon {
	position: relative;
	margin: 30px 3.5% 0;
	font-size: 110%;
}
.mainimg.deco-ribbon .ribbon-text {
	position: absolute;
	top: -34px;
	left :0;
	background-color: #fa4141;
	color: #fff;
	font-size: 93%;
	line-height: 1.3;
	padding: 8px;
	margin: 0 -10px;
	width: calc( 100% + 20px);
}
.mainimg.deco-ribbon .ribbon-text::before,
.mainimg.deco-ribbon .ribbon-text::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
}
	.mainimg.deco-ribbon .ribbon-text::before {
		bottom: -10px;
		left: 0;
		border-top: 10px solid #b70505;
		border-left: 10px solid transparent;
	}
	.mainimg.deco-ribbon .ribbon-text::after {
		bottom: -10px;
		right: 0;
		border-top: 10px solid #b70505;
		border-right: 10px solid transparent;
	}

/* youtube responsive setting
*******************************/
/* youtube aspect-ratio:16/9 
 古ブラウザ対応不要になったら切替 */
/* iframe[src*="youtube.com"] */
.youtube-iframe-wrap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	margin: 0 auto;
}
.youtube-iframe-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*-----------------------------------------------------------------
	トップページコンテンツ（body.home）
-----------------------------------------------------------------*/
.main .home-site-lead {
	font-size: 96%;
	font-weight: bold;
}
.c-blue-shadow-fff { color: #0a2986; text-shadow: 2px 2px 5px #fff, -2px 2px 5px #fff, 2px -2px 5px #fff, -2px -2px 5px #fff;}
.svg-shadow-fff { filter: drop-shadow(2px 2px 4px #fff) drop-shadow(-2px -2px 4px #fff);}
.bg-fff-rgba { background-color: rgba(255, 255, 255, 0.5); border: none;}

/* solution back img */
.bg-img-server { background: #f1f1f1 url(../img/bg/bg_server_sp.jpg) no-repeat center top / cover;}
/* product back img */
.bg-img-board { background: #f1f1f1 url(../img/bg/bg_board_sp.jpg) no-repeat left center / cover;}

/* Box,Col setting
*******************************/
.block100per {
	display: block;
	width: 100%;
	height: 100%;
}

.item-lr-wrap {
	display: flex;
	margin-bottom: 0;
}
.item-lr,
.item-lr.d-sm-flex {
	align-items: center;
	width: 100%;
	margin-bottom: 1em;
}
	.item-lr:not(.d-sm-flex) {
		display: flex !important;
	}

body.home .item-lr .image {
	text-align: center;
	width: 70px;
	margin: 0 auto;
}

body.home .item-lr .text {
	flex-grow: 1;
}
body.home .item-lr:not(.d-sm-flex) .text {
	width: calc( 100% - (70px + 15px));
	margin-left: 15px;
}
@media screen and (min-width: 560px){
  body.home .item-lr.d-sm-flex .text {
	width: calc( 100% - (70px + 15px));
	margin-left: 15px;
  }
}

body.home .item-lr .list-text li {
	display: inline-block;
	font-size: 88%;
	line-height: 1;
	margin-right: 1em;
}
body.home .item-lr .list-text li:not(:last-child) {
	margin-bottom: .2em;
}

/*-----------------------------------------
	トップビジュアル（slick slider）
------------------------------------------*/
#home-topvisual {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	padding-bottom: 26px;
	margin: 30px auto;
}

/* slick slider setting
*******************************/
.slick-slide {
	margin: 0;
}
.slick-slide img {
	width: 100%;
	height: auto;
}
.slick-prev, .slick-next {
	z-index: 1;
}
.slick-prev:before, .slick-next:before {
	color: #000;
}
.slick-slide-wrap .slick-dots li button:before {
    font-size: 10px;
	top: 5px;
}
/* for fix（slick-dots bag） */
.slick-slide-wrap .slick-dots li:not(.slick-active) button:focus:before {
    opacity: .25;
}

/* loading setting */
.slick-slide-wrap { display:none;}
.slick-slide-wrap.slick-initialized { display:block;}

/* opacity chenge */
.slick-slide {
	transition: all ease-in-out .3s;
	opacity: .3;
}
.slick-current, .slick-active {
	opacity: 1;
}
/* for fix（add class with js） */
.is-active-next {
	opacity: 1;
}

/* full width display */
.slick-slide-wrap .slick-list {
	overflow: visible;
}
.slick-slide-wrap.slider {
	max-width: calc( 960px + 40px ); /* padding-lr */
	margin: 0 auto;
}

/*-----------------------------------------
	NEWS & TOPICS
------------------------------------------*/
.entry {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #ccc;
	padding: 14px 0;
	margin-bottom: 0;
}
@media screen and (max-width: 575.98px){
	.entry {
    align-items: stretch;
    flex-direction: column;
	}
}

.entry:last-child {
		border-bottom: none;
	}
.entry-tags {
	margin-right: .6em;
}
.entry-date {
	vertical-align: middle;
	margin-right: 10px;
}
.cat-tag-wrap {
	display: inline-block;
	margin: 6px 0;
}
.cat-tag {
	display: inline-block;
	border: 1px solid #0a2986;
	color: #0a2986!important;
	font-size: 1.2rem;
	text-align: center;
	text-decoration: none;
	padding: 4px 6px;
	vertical-align: top;
	margin: 0 2px 1px 0;
}


.entry-title {
	vertical-align: middle;
	margin: 3px 0 4px;
}
.entry-overfolw{
	height: 28em;
	overflow: auto;
	}



/*-----------------------------------------------------------------
	メディアクエリ用ブレークポイント（ヘッダ・グローバルナビ・フッタ以外）
-----------------------------------------------------------------*/
@media screen and (min-width: 560px){

/*--------------------------------------
	コンテンツ
----------------------------------------*/
  /* コンテンツ問い合わせ＆カタログボタン */
  .content-btn-area {
	display: flex;
  }
  .content-btn-area .btn {
	display: flex;
	flex-grow: 1;
  }
  .content-btn-area .btn a {
	display: flex;
	justify-content: center;
	align-items: center;
  }
  .content-btn-area .btn + .btn {
	  margin-left: 5px;
	  max-width: 33%;
	  min-width: 4em;
  }

}

/*@media screen and (min-width: 640px){
}*/

@media screen and (min-width: 768px){

  /* inner setting
  **************************/
  .inner { 
	max-width: calc( 960px + 40px );
	padding: 0 20px;
  }

  .box-padding {
	padding: 18px;
  }

  /* 下部お問い合わせエリア
  ******************************/
  #footer-contact {
	background: #0a2986 url(../img/bg/bg_plaid.jpg) no-repeat center bottom / cover;
	padding-bottom: 50px;
  }
  #contact-info-area {
	display: table;
  }
  #contact-info-area .tel,
  #contact-info-area .btn-contact {
	display: table-cell;
	vertical-align: middle;
  }
  #contact-info-area .tel {
	width: 50%;
	padding-left: 3%;
  }
  #contact-info-area .tel .text.mark-note {
	font-size: 66%;
  }
  #contact-info-area .btn-contact {
	padding-right: 5%;
	padding: .6em 5% 0 0;
  }

/*--------------------------------------
	トップページ(body.home) コンテンツ
----------------------------------------*/
  .main .home-site-lead {
	text-align: center;
	font-size: 100%;
  }
  .bg-img-server{ background: #f1f1f1 url(../img/bg/bg_server.jpg) no-repeat center center / cover;}
  .bg-img-board { background: #f1f1f1 url(../img/bg/bg_board.jpg) no-repeat center center / cover;}

}

@media screen and (min-width: 960px){

/*--------------------------------------
	ページコンテンツ(body.page-child) 
----------------------------------------*/
  .content-box.box-padding {
	padding: 30px;
  }
  .content-box .title {
	margin-top: .6em;
  }

}	

/*@media screen and (min-width: 1110px){
}*/