@charset "shift_jis"; 

/*********************************************************
共通設定
*********************************************************/

/*
見出し
*********************************************************/
/*h1{}ロゴ*/

h2{
	text-align:center;
	color:var(--blue);
	font-weight:600;
	font-size:1.2em;
	line-height:1.3em;
	margin-bottom:20px;
	}
.h2eng{
	display:block;
	color:#222;
	font-size:1.4em;
	line-height:1.3em;
	}


/*h3個々で設定*/
.topBusinessWrap h3{
	text-align:center;
	color:var(--blue);
	font-weight:600;
	font-size:1.2em;
	line-height:1.3em;
	}
.bnrContact h3{
	font-weight:600;
	font-size:1.2em;
	line-height:1.3em;
	}
.featureWrap h3{
	position:relative;
	color:var(--blue);
	font-weight:600;
	font-size:1.2em;
	line-height:3em;
	text-align:left;
	padding-left:1em;
	margin-bottom:10px;
	}
.businessWrap h3{
	font-weight:600;
	font-size:1.2em;
	line-height:1.3em;
	color:var(--blue);
	border-bottom:var(--blue) solid 2px;
	padding:5px;
	margin-bottom:10px;
	}

.h3eng{
	display:block;
	font-size:2em;
	line-height:1.3em;
	}
.h3num{
	display:block;
	position:absolute;
	left:0;
	bottom: 50%;
	-webkit-transform: translateY(50%);
	-ms-transform: translateY(50%);
	transform: translateY(50%);
	color:#ddd;
	font-weight:bold;
	font-size:3em;
	line-height:1em;
	z-index:-1;
	}


/*h4は各箇所で記載*/


/*TABLET*/
@media only screen and (min-width : 768px){
	h2{
		font-size:1.5em;
		line-height:1.3em;
		margin-bottom:40px;
		}
	.featureWrap h3{
		font-size:1.5em;
		line-height:1.3em;
		margin-bottom:20px;
		}
	.businessWrap h3{
		font-size:1.5em;
		line-height:1.3em;
		padding:10px;
		margin-bottom:20px;
		}

}
/*PC*/
@media only screen and (min-width : 1025px){
	h2{
		font-size:1.8em;
		line-height:1.3em;
		margin-bottom:60px;
		}
	.featureWrap h3{
		font-size:2em;
		line-height:1.3em;
		margin-bottom:40px;
		}

}
/*IE*/
@media all and (-ms-high-contrast:none){
}


/*
共通-コンテンツ
*********************************************************/

.contents{
	padding:20px 0;
	}
.contentsBg{
	position:relative;
	}
.contentsBg:before{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:200px;
	content:'';
	background: #f7f7f7;
	background:        -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), to(#ffffff));
	background:         linear-gradient(0deg, #f7f7f7 0%, #ffffff 100%);
	background:    -moz-linear-gradient(top, #f7f7f7 0%, #ffffff 100%);
	background:      -o-linear-gradient(top, #f7f7f7 0%, #ffffff 100%);
	background: -webkit-linear-gradient(top, #f7f7f7 0%, #ffffff 100%);
	background:-ms-linear-gradient(top, #f7f7f7, #ffffff); /* IE */
	filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#fff7f7f7,EndColorStr=#ffffffff);
	}

/*TABLET*/
@media only screen and (min-width : 768px){
	.contents{padding:40px 0;}
}
/*PC*/
@media only screen and (min-width : 1025px){
	.contents{padding:60px 0;}
}

/*
2nd
***********************************************************/
.secondImg{
	position:relative;
	padding-top:30%;
	background:url(../images/mainImg/mainBg.jpg) center 62% no-repeat;
	background-size:200%;
	}
.pageTtl{
	position:absolute;
	bottom: 50%;
	right:50%;
	-webkit-transform: translate(50%,50%);
	-ms-transform: translate(50%,50%);
	transform: translate(50%,50%);
	width:80%;
	max-width:500px;
	text-align:center;
	font-weight:700;
	color:#222;
	font-size:1.4em;
	line-height:1em;
	padding:0.6em 10px;
	background: rgba(255,255,255,0.5);
	background:        -webkit-gradient(linear, left top, right top, from(rgba(255,255,255,0)), color-stop(0.10, rgba(255,255,255,0.8)), color-stop(0.90, rgba(255,255,255,0.8)), to(rgba(255,255,255,0)));
	background:         linear-gradient(to right, rgba(255,255,255,0) 0% , rgba(255,255,255,0.8) 10% , rgba(255,255,255,0.8) 90% , rgba(255,255,255,0) 100%);
	background:    -moz-linear-gradient(left, rgba(255,255,255,0) 0% , rgba(255,255,255,0.8) 10% , rgba(255,255,255,0.8) 90% , rgba(255,255,255,0) 100%);
	background:      -o-linear-gradient(left, rrgba(255,255,255,0) 0% , rgba(255,255,255,0.8) 10% , rgba(255,255,255,0.8) 90% , rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0% , rgba(255,255,255,0.8) 10% , rgba(255,255,255,0.8) 90% , rgba(255,255,255,0) 100%);
	}
	
@media only screen and (min-width : 768px){
	.pageTtl{
		font-size:2em;
		line-height:1em;
		padding:1em 10px;
		}
}
@media only screen and (min-width : 1025px){
	.secondImg{
		padding-top:300px;
		background-size:cover;
		}
}

/*
subMenu
***********************************************************/
.subMenu{
	position:relative;
	z-index:1;
	display:flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
	border-top:var(--blue) solid 2px;
	border-bottom:var(--blue) solid 2px;
	padding:10px 0;
	background-color:rgba(255,255,255,0.5);
	gap:5px;
	}
.subMenu p{
	 flex: 1 0 49%;
		}
.subMenu a{
	display: flex;
	align-items: center;
	justify-content: center;
	position:relative;
	height:100%;
	text-align:center;
	color:#333;
	text-decoration:none;
	font-weight:bold;
	border:#cccccc solid 1px;
	padding:5px 2px;
	font-size:0.86em;
	line-height:1.2em;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	behavior: url(border-radius.htc); /* IE */
	background:-webkit-gradient(
		linear, left top, left bottom, 
		from(#ffffff),
		to(#f7f7f7));
	background:-webkit-linear-gradient(top, #ffffff 0% , #f7f7f7 100%);
	background:-moz-linear-gradient   (top, #ffffff 0% , #f7f7f7 100%);
	background:-o-linear-gradient     (top, #ffffff 0% , #f7f7f7 100%);
	background:-ms-linear-gradient(top, #ffffff, #f7f7f7); /* IE */
	background:linear-gradient        (top, #ffffff 0% , #f7f7f7 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(
		GradientType=0,startColorstr='#FFffffff', endColorstr='#FFf7f7f7');/*IE10用（色の頭にFFが必要）*/
	transition: 0.1s all ease 0s;
	}
	.subMenu a:hover,
	.subMenu a:active{
		background:#f7f7f7;
		color:#c00000;
		box-shadow:none;
		-moz-box-shadow:none;
		-o-box-shadow:none;
		-webkit-box-shadow:none;
		}
@media only screen and (min-width : 768px){
	.subMenu p{
		 flex: 1 0 20%;
			}
	.subMenu a{
		padding:10px 1px;
		font-size:0.96em;
		line-height:1.2em;
		}
}
@media only screen and (min-width : 1025px){
	.subMenu{
		padding:20px 0;
		gap:10px;
		}
	.subMenu p{
		 flex: 1 0 10%;
		}
}



/*
ボタン
***********************************************************/
/*<p class="btn"><a href=""><span><img src="images/common/ico_arrow.png" /></span>詳しくはこちら</a></p>*/
.btn a,
a .btn{
	display:flex;
	align-items:center;
	justify-content: center;
	gap:10px;
	background-color:#222;
	color:#fff;
	text-decoration:none;
	padding:10px;
	width:80%;
	max-width:280px;
	margin:auto;
	}
.btn a:hover,
.btn a:active,
a:hover  .btn,
a:active .btn {
	background-color:var(--blue);
	}
.btn span{
	flex-shrink: 0;
	width:24px;
	}
.btn img{
	margin:auto;
	opacity:1 !important;
	}



/*
ヘッダー
*********************************************************/
#header{
	clear:both;
	float:none;
	padding:10px 0;
	padding-right:50px;
	}
.logo img{max-height:40px;}

@media only screen and (min-width : 1024px){
	#header{padding:20px;}
	.logo img{max-height:50px;}

	#header > .innerFull{
		display:flex;
		align-items:center;
		}
}


/*mainImg
*********************************************************/
.mainImg{
	position:relative;
	padding-top: 80%;
	overflow:hidden;
	background:#f7f7f7;
	}
.mainImg video{
	position:absolute;
	bottom: 50%;
	right:50%;
	-webkit-transform: translate(50%,50%);
	-ms-transform: translate(50%,50%);
	transform: translate(50%,50%);
	width:180%;
	max-width:none;
	height:auto;
	z-index:-1;
	}
.mainImg .mainTxt{
	position:absolute;
	bottom:50%;
	right: 50%;
	-webkit-transform: translate(50%,50%);
	-ms-transform: translate(50%,50%);
	transform: translate(50%,50%);
	z-index:1;
	width:85%;
	max-width:763px;
	}
.mainImg .mainTxt img{
	margin:auto;
	}
.mainTxt02{
	position:relative;
	z-index:2;
	margin:-10% 0 -4%;
	}
.mainTxt01,
.mainTxt03,
.mainTxt04{
	position:relative;
	z-index:3;
	}
.mainTxt03{
	margin-bottom:5px;
	}
/*swiper1枚目追加*/
.slide01 .mainTxt01{
	margin-top: -10%;
	}
.slide01 .mainTxt02{
	margin:-6% 0 2%;
	z-index:4;
	}

/* タイミングをずらす設定 */
.mainTxt01{ }
.mainTxt02{ animation-delay:0.5s; }
.mainTxt03{ animation-delay:1.5s; }
.mainTxt04{ animation-delay:2s; }

@media only screen and (min-width : 1025px){
	.mainImg{
		padding-top: 760px;
		}
}

@media only screen and (min-width : 1400px){
	.mainImg video{
		width:100%;
		}
}
/*
フッター
*********************************************************/
.bnrContact{
	background:#222 url(../images/common/bnrContactBg.png) right center no-repeat;
	background-size:auto 100%;
	color:#fff;
	text-shadow: 1px 1px 0 #222;
	border-radius:10px;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
	padding:20px;
	}
.bnrInqBtn{}
.bnr-inq{ display:inline-block; margin-right:10px; margin-bottom:10px;}
.bnr-inq a{
	display:flex;
	align-items:center;
	color:#fff;
	text-decoration:none;
	gap:10px;
	border:#fff solid 1px;
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	padding:10px 20px;
	}
.bnr-inq a:hover,
.bnr-inq a:active{
	background-color:rgba(255,255,255,0.2);
	}
.bnr-inq span{
	flex-shrink: 0;
	width:24px;
	}
.bnr-inq img{
	margin:auto;
	}
@media only screen and (min-width : 768px){
	.bnrContact{ padding:40px;}
}

@media only screen and (min-width : 1025px){
	.bnrContact{ padding:60px; font-size:1.2em;}
}

#footer{
	background:#f1f1f1;
	text-align:center;
	}
#footer img{
	margin:auto;
}
.copyright{
	background:#222;
	padding:8px 0;
	font-size:0.6em;
	line-height:1;
	color:#ffffff;
	text-align:center;
	}

/*事業案内のみフッター固定*/
.f-fixed{
	position:fixed;
	bottom:0;
	left:0;
	padding:5px 5px 26px;
	z-index:98;
	width:100%;
	background-color:rgba(7,49,144,0.8);
	color:#fff;
	display:flex;
	justify-content: center;
	align-items: stretch;
	gap:5px;
	}
.f-fixed .bnr-inq{margin:0;}
.f-fixed .bnr-inq a{ padding:5px;}
.f-fixed .dispPC{padding:5px 0;}

@media only screen and (min-width : 768px){
	.f-fixed{padding:5px;}
	.f-fixed .bnr-inq a{ padding:5px 20px;}
	}
/*********************************************************
index
*/
.topBusinessWrap{
	display:flex;
	flex-direction: column;
	gap:30px;
	}

.topBusinessWrap > div{}
.topBusinessWrap a{
	display:block;
	text-decoration:none;
	color:#222;
	}

.busiImg{
	margin-bottom:15px;
	}
.busiTxt > *{
	margin-bottom:10px;
	}
.topBusinessWrap .btn{ margin-bottom:0;}


@media only screen and (min-width : 768px){
	.topBusinessWrap{
		flex-direction: row;
		flex-wrap: wrap;
		gap:40px 3%;
		}
	.topBusinessWrap > div{
		flex-shrink: 0;
		width:48.5%;
		}
	.busiImg{
		margin-bottom:25px;
		}
	.busiTxt > *{
		margin-bottom:20px;
		}

}
@media only screen and (min-width : 1025px){
	.topBusinessWrap{
		gap:60px 3%;
		}
	.topBusinessWrap > div{
		flex-shrink: 0;
		width:calc(94% / 3);
		}

}

/*********************************************************
会社案内
*/

.messageBg{
	background:url(../images/company/messageBg.jpg) center center no-repeat;
	background-size:cover;
	}
.messageWrap{
	text-align:center;
	line-height:2em;
	}
.messageWrap p{ margin-bottom:10px;}

/*********************************************************
強み
*/
.featureWrap{}
.featureWrap > *{
	display:flex;
	flex-direction: column;
	gap:10px;
	}

@media only screen and (min-width : 768px){

	.featureWrap > *{
		display:flex;
		flex-direction: row;
		align-items:center;
		gap:40px;
		}
	.featureWrap .busiImg	{
		flex-shrink: 0;
		width:40%;
		max-width:480px;
		}

	.featureWrap > *:nth-child(odd) .busiImg	{order:2; margin-left:auto;}
	.featureWrap > *:nth-child(even) .busiImg	{order:1;}
	.featureWrap > *:nth-child(even) > div{ order:2;}
}


/*********************************************************
事業紹介
*/
.busiBox{
	border:var(--blue) solid 2px;
	padding:15px 30px;
	}
.busiBox img{ margin:auto;}

@media only screen and (min-width : 768px){
	.busiBox{ padding:30px;}
}

/*インターネット*/
.izumiHikari{
	padding:30px;
	background: #000000;
	background:        -webkit-gradient(linear, left top, left bottom, from(#073190), to(#000000));
	background:         linear-gradient(0deg, #073190 0%, #000000 100%);
	background:    -moz-linear-gradient(top, #073190 0%, #000000 100%);
	background:      -o-linear-gradient(top, #073190 0%, #000000 100%);
	background: -webkit-linear-gradient(top, #073190 0%, #000000 100%);
	background:-ms-linear-gradient(top, #073190, #000000); /* IE */
	filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ff073190,EndColorStr=#ff000000);
}
.izumiHikari img{ margin:auto;}

@media only screen and (min-width : 768px){
	.izumiHikari{
		padding:60px;
	}
}

.komattaTxt{ text-align:center;}
.komattaTxt h4{
	background: #e2a12d;
	background:        -webkit-gradient(linear, left top, left bottom, from(#e2a12d), to(#bd491f));
	background:         linear-gradient(0deg, #e2a12d 0%, #bd491f 100%);
	background:    -moz-linear-gradient(top, #e2a12d 0%, #bd491f 100%);
	background:      -o-linear-gradient(top, #e2a12d 0%, #bd491f 100%);
	background: -webkit-linear-gradient(top, #e2a12d 0%, #bd491f 100%);
	background:-ms-linear-gradient(top, #e2a12d, #bd491f); /* IE */
	filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffe2a12d,EndColorStr=#ffbd491f);
	padding:10px;
	font-weight:bold;
	text-align:center;
	font-size:1.2em;
	line-height:1.2em;
	color:#fff;
	border-radius:50px;
	-moz-border-radius:50px;
	-webkit-border-radius:50px;
	}
.komattaTxt ul{
	display:inline-block;
	margin:auto;
	padding-right:20%;
	background:url(../images/business/komatta.png) right center no-repeat;
	background-size:contain;
	}
.komattaTxt li{
	background:url(../images/business/check.png) left center no-repeat;
	background-size:30px auto;
	min-height:40px;
	padding-left:40px;
  display: flex;
  align-items: center;
	text-align:left;
	}

@media only screen and (min-width : 768px){
	.komattaTxt{
		flex-shrink: 0;
		width:calc(60% - 40px);
		}
	.komattaTxt h4{
		padding:20px 40px;
		font-size:1.4em;
		line-height:1.2em;
		}
}



.busi01name{
	border:var(--blue) solid 2px;
	}
.busi01name h4{
	background: #2791db;
	background:        -webkit-gradient(linear, left top, left bottom, from(#2791db), to(#133a9a));
	background:         linear-gradient(0deg, #2791db 0%, #133a9a 100%);
	background:    -moz-linear-gradient(top, #2791db 0%, #133a9a 100%);
	background:      -o-linear-gradient(top, #2791db 0%, #133a9a 100%);
	background: -webkit-linear-gradient(top, #2791db 0%, #133a9a 100%);
	background:-ms-linear-gradient(top, #2791db, #133a9a); /* IE */
	filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ff2791db,EndColorStr=#ff133a9a);
	padding:10px;
	font-weight:bold;
	text-align:center;
	font-size:1.2em;
	line-height:1.2em;
	color:#fff;
	}
.busi01name ul,
.busi01name .caution{
	width:90%;
	margin-left:auto;
	margin-right:auto;
	}
.busi01name li{
	padding:10px;
	text-align:center;
	font-weight:bold;
	color:var(--blue);
	border-bottom:var(--blue) dotted 4px;
	}

@media only screen and (min-width : 768px){
	.column1-2.busi01-4{
		align-items: stretch;
		}
	.busi01name h4{
		padding:20px;
		font-size:1.4em;
		line-height:1.2em;
		}
	.busi01name li{
		padding:20px 10px;
		}
}

.busi01service{
	border:var(--green) solid 2px;
	}
.busi01service h4{
	background: #7db934;
	background:        -webkit-gradient(linear, left top, left bottom, from(#7db934), to(#0f6e3f));
	background:         linear-gradient(0deg, #7db934 0%, #0f6e3f 100%);
	background:    -moz-linear-gradient(top, #7db934 0%, #0f6e3f 100%);
	background:      -o-linear-gradient(top, #7db934 0%, #0f6e3f 100%);
	background: -webkit-linear-gradient(top, #7db934 0%, #0f6e3f 100%);
	background:-ms-linear-gradient(top, #7db934, #133a9a); /* IE */
	filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ff7db934,EndColorStr=#ff0f6e3f);
	padding:10px;
	font-weight:bold;
	text-align:center;
	font-size:1.2em;
	line-height:1.2em;
	color:#fff;
	}
.busi01service ul{
	width:90%;
	margin-left:auto;
	margin-right:auto;
	}
.busi01service li{
	border-bottom:var(--green) dotted 4px;
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px 0;
	}
.busi01service li > p{
	color:#ddd;
	font-weight:bold;
	font-size:3em;
	line-height:1em;
	flex-shrink: 0;
	width:50px;
	}
.busi01service li dt{
	color:var(--green);
	font-weight:bold;
	font-size:1.2em;
	line-height:1.2em;
	}
.busi01service li dd{
	font-size:0.86em;
	line-height:1.5em;
	}

@media only screen and (min-width : 768px){
	.busi01service h4{
		padding:20px;
		font-size:1.4em;
		line-height:1.2em;
		}
	.busi01service li > p{
		width:60px;
		}
	.busi01service li dt{
		margin-bottom:5px;
		}
	.busi01service li{
		padding:20px 0;
		}
}

/*共通？*/
.businessItem{}

.businessItem .aspectFit{
		border-radius:0;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	background:#f7f7f7;
	}

.businessItem dl{
	font-size:0.9em;
	line-height:1.3em;
	}
.businessItem dt{
	font-weight:bold;
	text-align:center;
	margin-bottom:5px;
	}
.businessItem dd{
	font-size:0.8em;
	line-height:1.5em;
	}
.businessItem .btn a{
	padding:5px;
	}
.businessItem .btn span{
	width:18px;
	}

@media only screen and (min-width : 768px){
	.businessItem dl{
		font-size:1em;
		line-height:1.3em;
		}
}

.bisi06circle{
	display:flex;
	align-items: tretch; 
	justify-content: center;
	gap: 2%;
	}
.bisi06circle > *{
	flex:1;
	flex-shrink: 0;
	width:30%;
	max-width:200px;
	}
.bisi06circle p{
	position:relative;
	padding-top:100%;
	border:var(--blue) solid 1px;
	color:var(--blue);
	font-weight:bold;
	text-align:center;
	border-radius:50%;
	-moz-border-radius:50%;
	-webkit-border-radius:50%;

	}
.bisi06circle p > span{
	position:absolute;
	bottom: 50%;
	right:50%;
	-webkit-transform: translate(50%,50%);
	-ms-transform: translate(50%,50%);
	transform: translate(50%,50%);
	width:100%;
	}


/*********************************************************
2nd
*/
/*TABLET*/
@media only screen and (min-width : 768px){
}
/*PC*/
@media only screen and (min-width : 1025px){
}
/*IE*/
@media all and (-ms-high-contrast:none){
}

