@charset "utf-8";
/* CSS Document */


/* PRイメージ */
#pr {
	position: relative;
}
#pr img{
	width: 100%;
}
#pr img.pc{
	display: block;
}
#pr img.sp{
	display: none;
}
#pr a.detail-btn{
	position: absolute;
	right: 40%;
	bottom: 40px;
	padding: 10px 30px;
	background: white;
	text-decoration: none;
	color: #007CC2;
}


/* フロートの解除 */
.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

/* 注釈 */
.kome{
	margin-left: 1em;
	text-indent: -1em;
}
.kome strong{
	font-weight: bold;
	color: red;
}

html, body, select{
	position: relative;
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-size: 15px;
	line-height: 1.6em;
	-webkit-text-size-adjust: none;
}

h1, h2, h3, h4, h5, h6, strong {
	font-weight:bold;
}

ul{
	list-style: disc;
}

#wrap{
	width: 100%;
	height: 100%;
	-webkit-overflow-scrolling: touch; /* 慣性スクロールを追加 */
}

/* 左袖 */
#left{
	z-index: 2;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 230px;
	background: white;
	overflow-y: auto;
}

/* 右袖 */
#right{
	z-index: 1;
	padding-left: 230px;
	box-sizing: border-box;
	width: 100%;
}

/* ヘッダー */
#left header h1{
	margin: 35px 0;
	text-align: center;
}
#left header h1 a{
	display: inline-block;
}
#logo-pc{
	display: block !important;
	width: 150px;
}
#logo-mobile{
	display: none !important;
}

/* メインナビ */
#pc-nav,
#mobile-nav{
	font-family: 'Kosugi Maru', sans-serif;
	font-size: 15px;
	margin: 0 0 20px 0;
}
#pc-nav li,
#mobile-nav li{
	list-style: none;
}
#pc-nav li a,
#mobile-nav li a{
	position: relative;
	display: block;
	padding: 8px 30px;
	text-decoration: none;
	color: #007CC2;
}
#pc-nav li a:before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color:rgba(13,117,181,0.1);
	transform: scale(0, 1);
	transform-origin: left;
	transition: 0.4s;
}
#pc-nav li a.current:before{
	background:none;
}
#pc-nav li a.current{
	background-color:#007CC2;
	color: white;
}
#pc-nav li a:hover:before{
	transform: scale(1);
}
#nav-btn-open,
#mobile-nav
{
	display: none;
}

/* バナー */
.nav-banner{
	margin: 10px 0 40px 0;
	text-align: center;
}
.nav-banner a{
	display: block;
	margin-bottom: 10px;
	width: 100%;
}
.nav-banner img{
	width: 100%;
}
/* キラーン */
figure {
	width: 100％;
	/*height: 300px;*/
	margin: 0;
	padding: 0;
	background: #fff;
	overflow: hidden;
	position: relative;
}
figure::before {
	position: absolute;
	top: 0;
	left: -75%;
	z-index: 2;
	display: block;
	content: '';
	width: 50%;
	height: 100%;
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 100%);
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 100%);
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
}
figure:hover::before {
	-webkit-animation: shine .6s;
	animation: shine .6s;
}
@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}
@keyframes shine {
	100% {
		left: 125%;
	}
}





/* フッター */
footer > div{
	background: #F0F0F0;
	border-top: 1px solid #CCC;
	text-align: center;
	padding: 40px; 
}

/* フッターナビ */
footer ul{
	margin-bottom: 20px;
}
footer li{
	display: inline-block;
	margin-left: -1px;
	margin-bottom: 20px;
	padding: 0 20px;
	border-left: 1px solid black;
	border-right: 1px solid black;
}
footer li a{
	color: black;
	text-decoration: none;
}
footer li a:hover{
	text-decoration: underline;
}

/* マテックロゴ */
#logo-matec img{
	vertical-align: bottom;
	margin-bottom: 10px;
	width: 160px;
}

/* コピーライト */
footer small{
	color: black;
}

/* ページトップへ */
#page-top {
	z-index: 998;
	position: fixed;
	bottom: 25px;
	right: 10px;
	width: 45px;
	height: 45px;
	/*border: 2px solid white;	
	background: #007CC2;*/
	background: rgba(0,0,0,0.7);
	text-align: center;
}
#page-top #arrow {
	margin: 20px auto 0 auto;
	width: 7px;
	height: 7px;
	border: 3px solid;
	border-color: #FFF #FFF transparent transparent;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
}

/* コンテンツヘッダー */
#content-header{
	margin: 0;
}

/* ページタイトル */
#page-title{
	font-family: 'Noto Serif JP', serif;
	padding: 100px 0 80px 0;
	text-align: center;
	color: #007CC2;
	font-weight: bold;
}

/* コンテンツ */
#content{
	margin: 50px;
}

/* セクション */
.section-wrap{
	margin-bottom: 80px;
}
.section-wrap > div{
	padding: 0 10px;
	box-sizing: border-box;
}

/* セクションタイトル */
.section-title{
	position: relative;
	font-family: 'Kosugi Maru', sans-serif;
	margin-bottom: 25px;
	padding: 16px 5px;
	background: #007CC2;
	box-sizing: border-box;
	font-weight: bold;
	text-align: center;
	color: white;
}
.section-title:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 15px solid #007CC2;
}

/* アコーディオン */
.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	position: relative;
	display: block;
	padding: 20px 60px 20px 20px;
	cursor: pointer;
	background: #DFE9F6;
}
.cp_actab label strong{
	font-weight: normal;
}
.cp_actab label:hover strong{
	text-decoration: underline;
}
.cp_actab label span {
	margin-right: 1em;
}
.cp_actab .cp_actab-content {
	margin-bottom: 3px;
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.5s;
	-webkit-transition: max-height 0.5s;
	-moz-transition: max-height 0.5s;
	border:1px solid #DFE9F6;
	box-sizing: border-box;
}
.cp_actab .cp_actab-content p {
	margin: 20px;
}
.cp_actab-content ul {
	margin: 0 0 20px 42px;
	font-weight: bold;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
	max-height: 30em;
}
/* Icon */
.cp_actab label::after {
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 25px;
	height: 25px;
	margin: auto 0;
	background: #007CC2;
	border: 1px solid #0068B7;
	box-sizing: border-box;
	color: white;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	text-align: center;
	font-weight: bold;
	color: white;
}
.cp_actab input[type=checkbox] + label::after {
	content: '+';
}
.cp_actab input[type=checkbox]:checked + label::after {
	content: '×';
}

 /* バナー */
.banner {
	position: fixed;
	right: 0;
	bottom: 80px;
	filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.1));
	z-index: 999;
}
.banner img {
	width: 290px;
}
.banner .banner-close {
	width: 20px;
	height: 20px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	border: none;
	cursor: pointer;
}
.banner .banner-close::before, .banner .banner-close::after {
	content: "";
	width: 10px;
	height: 2px;
	background: black;
	position: absolute;
	top: 9px;
	left: 5px;
}
.banner .banner-close::before {
	transform: rotate(45deg);
}
.banner .banner-close::after {
	transform: rotate(-45deg);
}

@media screen and (min-width: 1025px) {
	#cover{
		display: none !important;
	}
}



@media screen and (max-width: 1024px) {
	/* タップした時のハイライトを非表示に */
	button{
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		tap-highlight-color: rgba(0, 0, 0, 0);
	}
	
	/* ナビゲーション表示時に背景を暗くする */
	#cover{
		display: none;
		z-index: 997;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.5);
	}
	
	/* 左袖 */
	#left{
		margin: 0;	
		padding: 0;
		width: 100%;
		height: 80px;
		min-height: auto;
	}
	
	/* 右袖 */
	#right{
		margin: 0;
		padding: 80px 0 0 0;
	}
	
	/* ヘッダー */
	#left header h1{
		margin: 23px 20px 0 20px;
		padding: 0;
		text-align: right;
	}
	#logo-pc{
		display: none !important;
	}
	#logo-mobile{
		display: inline-block!important;
		width: 300px;
	}
	
	/* ナビゲーション */
	#pc-nav{
		display: none;
	}
	
	#mobile-nav {
		display: block;
		z-index: 999;
		position: fixed;
		top: 0;
		left: 0;
		margin: 0;
		width: 250px;
		height: 100%;
		background: white;
		color: #007CC2;
		transition: all 0.2s; 
		-webkit-transition: all 0.2s; 
		-moz-transition: all 0.2s; 
		transform: translate(-768px);
		-webkit-transform: translate(-768px);
		-moz-transform: translate(-768px);
	}
	.nav-open {
		transform: translate(0) !important;
		-webkit-transform: translate(0) !important;
		-moz-transform: translate(0) !important;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch; /* 慣性スクロールを追加 */
	}
	#mobile-nav ul{
		/*margin:80px 0;*/
		margin: 80px 0 20px 0;
	}
	#mobile-nav li a{
		padding: 12px 60px 10px 30px;
		border-top: 1px solid #CCC;
		border-radius: 0;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		color: #007CC2;
	}
	#mobile-nav li:last-child a{
		border-bottom: 1px solid #CCC;
	}
	#mobile-nav li a.current,
	#mobile-nav li a.current:hover
	{
		background: #007CC2;
		color: white;
	}
	/* ナビゲーショントリガーボタン */
	#nav-btn-open,
	#nav-btn-close{
		position: absolute;
		display: inline-block;
		top: 22px;
		left: 20px;
		width: 40px;
		height: 34px;
		background: none;
		border: 0;
		outline: none;
		cursor: pointer;
		box-sizing: border-box;
	}
	#nav-btn-open span,
	#nav-btn-close span{
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		border-radius: 4px;
		content: "";
		box-sizing: border-box;
	}
	/* オープン */
	#nav-btn-open span {
		background: #007CC2;
	}
	#nav-btn-open span:nth-of-type(1) {
		top: 0;
	}
	#nav-btn-open span:nth-of-type(2) {
		top: 15px;
	}
	#nav-btn-open span:nth-of-type(3) {
		bottom: 0;
	}
	/* クローズ */
	#nav-btn-close span {
		margin-top: -2px;
		background: #007CC2;
	}
	#nav-btn-close span:nth-of-type(1) {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
	}
	#nav-btn-close span:nth-of-type(2) {
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
	}
	
	/* コンテンツ */
	#content{
		margin: 50px 20px;
	}
}



@media screen and (max-width:767px){
	.padding-0{
		padding: 0 !important;
	}
	
	/* ナビゲーション */
	#mobile-nav {
		width: 100%;
	}
	#mobile-nav li{
		text-align: center;
	}
	#mobile-nav li a{
		padding: 12px 0 10px 0;
	}
	
	/* アコーディオン */
	.cp_actab label > span{
		display: block;
		margin-right: 0;
		font-weight: normal;
	}
}



@media screen and (min-width: 480px) and ( max-width:767px){
	/* PRイメージ */
	#pr a.detail-btn{
		right: 30%;
		bottom: 20px;
	}
	
	/* コンテンツ */
	#content{
		margin: 30px 0;
	}
	/* ページタイトル */
	#page-title{
		padding: 80px 0 60px 0;
	}
	
	/* セクション */
	.section-wrap{
		margin-bottom: 50px;
	}
	.section-wrap > div{
		padding: 0 15px;
	}
}



@media screen and (max-width: 479px){
	#pr img.pc{
		display: none;
	}
	#pr img.sp{
		display: block;
	}
	/* PRイメージ */
	#pr a.detail-btn{
		right: 40px;
		bottom: 40px;
	}	
	
	html, body, select{
		font-size: 14px;
	}
	/* ヘッダー */
	#left header h1{
		margin: 25px 20px 0 20px;
	}
	#logo-mobile{
		width: 250px;
	}
	
	/* コンテンツ */
	#content{
		margin: 30px 0;
	}
	
	/* ページタイトル */
	#page-title{
		padding: 60px 0 40px 0;
	}
	
	/* セクション */
	.section-wrap{
		margin-bottom: 50px;
	}
	.section-wrap > div{
		padding: 0 15px;
	}
	
	/* セクションタイトル */
	.section-title{
		margin-bottom: 20px;
	}
	.section-title:before {
		margin-left: -12px;
		border: 10px solid transparent;
		border-top: 12px solid #007CC2;
	}

	/* バナー */
	.banner img {
		width: 240px;
	}
	.banner .banner-close {
		top: -4px;
	}
}


@media screen and (max-width: 320px){
	/* PRイメージ */
	#pr a.detail-btn{
		right: 30px;
		bottom: 30px;
	}
	
	/* ヘッダー */
	#left header h1{
		margin: 28px 20px 0 20px;
	}
	#logo-mobile{
		width: 220px;
	}
}
