@charset "utf-8";
/* CSS Document */
/* 動き 回転 */
@keyframes rotation1{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}
div#contents {
	width:100%;
	overflow: hidden;
}
/* トップ */
div.topbox {
	width:100%;
	height:66.72vw;
	position: relative;
}
	div.topbox div.bg01 {
		width:100%;
		height:66.72vw;
		position: absolute;
		top:0;
		left:0;
		background: url(../images/index/topimg.jpg) no-repeat;
		background-size: 100% 100%;
		z-index: 10;
	}
	div.topbox div.c01 {
		width:45.12vw;
		height:45.12vw;
		background: url(../images/index/circle01.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		right:7.2vw;
		top:13.6vw;
		animation:9s linear infinite rotation1;
		z-index: 20;
	}
	div.topbox div.c02 {
		width:14.4vw;
		height:14.4vw;
		background: url(../images/index/circle02.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		right:43.36vw;
		top:28.8vw;
		animation:3s linear infinite rotation1;
		z-index: 20;
	}
	div.topbox a#logo {
		font-size: 2vw;
		color: #fff;
		position: absolute;
		left:7.2vw;
		top:1.6vw;
		z-index: 30;
		font-style:italic;
		letter-spacing: 1px;
	}
	div.topbox div.hmenu {
		width:100%;
		height:2vw;
		box-sizing: border-box;
		padding-right: 5vw;
		text-align: right;
		position: absolute;
		top:2.5vw;
		left:0;
		z-index: 20;
	}
	div.topbox div.hmenu a {
		font-size: 1.2vw;
		color: #fff;
		margin-right: 3vw;
		text-decoration: none;
	}
	div.topbox div.message {
		width:52vw;
		height:16vw;
		position: absolute;
		left:7.2vw;
		top:32.8vw;
		z-index: 20;
	}
		div.topbox div.message div.showbox {
			width:0;
			height:16vw;
			position: absolute;
			top:0;
			left:0;
			overflow: hidden;
		}
		div.topbox div.message div.showbox.gold { opacity: 0;}
		div.topbox div.message div.showbox.white { opacity: 0;}
			div.topbox div.message div.showbox div.info {
				width:52vw;
				height:16vw;
			}
				div.topbox div.message div.showbox div.info p.m01 span {
					font-size: 5vw;
				}
				div.topbox div.message div.showbox div.info p.m02 span {
					font-size: 2vw;
					line-height: 3vw;
				}
				div.topbox div.message div.showbox.gold span { color: #B28500;}
				div.topbox div.message div.showbox.white span { color: #fff;}

/* About */
div.aboutbox {
	width:100%;
	height:55.2vw;
	position: relative;
}
	div.aboutbox div.img01 {
		width:33.76vw;
		height:40.24vw;
		background: url(../images/index/about_img01.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		top:8vw;
		left:7.2vw;
		opacity: 0;
	}
	div.aboutbox div.img02 {
		width:19.92vw;
		height:23.36vw;
		background: url(../images/index/about_img02.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		top:20vw;
		left:30.4vw;
		opacity: 0;
	}
	div.aboutbox div.mes01 {
		width:44vw;
		height:13.04vw;
		position: absolute;
		right:0;
		top:11.2vw;
		box-sizing: border-box;
		padding-top: 5vw;
	}
		div.aboutbox div.mes01 div.bar {
			height:1px;
			width:100%;
			background: #DBDBEA;
			position: absolute;
			right:0;
			top:2vw;
		}
		div.aboutbox div.mes01 h2 {
			display: inline-block;
			font-size: 3.84vw;
			line-height: 4vw;
			font-style: italic;
			background: #fff;
			padding-right: 1.6vw;
			position: absolute;
			top:0;
			left:0;
		}
		div.aboutbox div.mes01 p.m01 {}
			div.aboutbox div.mes01 p.m01 span {
				font-size: 1.2vw;
				line-height: 2.2vw;
				font-style: italic;
			}
	div.aboutbox div.mes02 {
		width:49vw;
		height:22.56vw;
		position: absolute;
		right:0;
		top:23.25vw;
		box-sizing: border-box;
		padding-left: 4.8vw;
		padding-top: 2.5vw;
	}
		div.aboutbox div.mes02 div.bar {
			height:1px;
			width:100%;
			background: #DBDBEA;
			position: absolute;
			right:0;
			top:0;
		}
		div.aboutbox div.mes02 p.m02 {}
			div.aboutbox div.mes02 p.m02 span {
				font-size: 1.2vw;
				line-height: 2.2vw;
				font-style: italic;
			}
	div.aboutbox div.mes03 { display: none;}
/* Service */
div.service01box {
	width:100%;
	height:47.6vw;
	position: relative;
}
	div.service01box div.sbox {
		height:36vw;
		position: absolute;
	}
	div.service01box div.sbox.s01 {
		width:26vw;
		top:0;
		left:7.2vw;
	}
	div.service01box div.sbox.s02 {
		width:63.6vw;
		top:4.4vw;
		right:0;
	}
	div.service01box div.sbox.s03 {
		width:33.6vw;
		top:0;
		right:0;
	}
		div.service01box div.sbox div.bar {
			height:1px;
			background: #DBDBEA;
			position: absolute;
			left:0;
			top:2.5vw;
		}
		div.service01box div.sbox.s01 div.bar { width:17.2vw; }
		div.service01box div.sbox.s02 div.bar { width:100%; }
		div.service01box div.sbox.s03 div.bar { width:100%; }
		div.service01box div.sbox div.img {
			width:17.2vw;
			height:23.36vw;
			position: absolute;
			top:4vw;
			left:0;
			opacity: 0;
		}
		div.service01box div.sbox.s01 div.img {
			background: url(../images/index/service01_img01.jpg) no-repeat;
			background-size: 100% 100%;
		}
		div.service01box div.sbox.s02 div.img {
			background: url(../images/index/service01_img02.jpg) no-repeat;
			background-size: 100% 100%;
		}
		div.service01box div.sbox.s03 div.img {
			background: url(../images/index/service01_img03.jpg) no-repeat;
			background-size: 100% 100%;
		}
		div.service01box div.sbox > h2 {
			font-size: 2.8vw;
			line-height: 3.6vw;
			font-style: italic;
			background: #fff;
			position: absolute;
			top:0;
			left:0;
			padding-right: 1vw;
		}
		div.service01box div.sbox h3 {
			font-size: 1.5vw;
			line-height: 2vw;
			font-weight: normal;
			font-style: italic;
			position: absolute;
			top:0;
			left:9.2vw;
		}
		div.service01box div.sbox div.infobox {
			width:18.4vw;
			height:21.2vw;
			background: url(../images/index/service01_bg.png) no-repeat;
			background-size: 100% 100%;
			position: absolute;
			left:8vw;
			top:14.8vw;
			box-sizing: border-box;
			padding: 3.2vw 2vw 0 2vw;
			opacity: 0;
		}
			div.service01box div.sbox div.infobox h2 {
				font-size: 1.5vw;
				line-height: 2vw;
				font-style: italic;
				margin-bottom: 2vw;
			}
			div.service01box div.sbox div.infobox p {
				font-size: 1vw;
			}
				div.service01box div.sbox div.infobox p a {
					font-size: 1vw;
					text-decoration: none;
					color: #333;
				}
/* Service2 */
div.service02box {
	width:100%;
	height:38.4vw;
	position: relative;
}
	div.service02box div.bar {
		width:61.6vw;
		height:1px;
		background: #DBDBEA;
		position: absolute;
		left:0;
		top:8.8vw;
	}
	div.service02box h2 {
		position: absolute;
		top:0;
		left:9.2vw;
	}
	div.service02box h2 span {
		font-size: 3.84vw;
		font-style: italic;
	}
	div.service02box p.pickup {
		position: absolute;
		top:5vw;
		left:9.2vw;
		font-size: 2.5vw;
		font-style: italic;
		font-weight: bold;
	}
	div.service02box p.pinfo {
		position: absolute;
		top:6vw;
		left:20vw;
	}
		div.service02box p.pinfo span  {
			font-size:1.2vw;
			font-style: italic;
			line-height: 2vw;
		}
	div.service02box div.swbox_pc {
		width:100%;
		height:15.68vw;
		position: absolute;
		left:0;
		top:13vw;
	}
		div.service02box div.swbox_pc div.img01 {
			width:19.28vw;
			height:15.68vw;
			background: url(../images/index/service02_img01.png) no-repeat;
			background-size: 100% 100%;
			position: absolute;
			top:0;
			left:23.36vw;
		}
		div.service02box div.swbox_pc div.img02 {
			width:19.28vw;
			height:15.68vw;
			background: url(../images/index/service02_img02.png) no-repeat;
			background-size: 100% 100%;
			position: absolute;
			top:0;
			left:47.52vw;
		}
		div.service02box div.swbox_pc div.img03 {
			width:19.28vw;
			height:15.68vw;
			background: url(../images/index/service02_img03.png) no-repeat;
			background-size: 100% 100%;
			position: absolute;
			top:0;
			left:71.68vw;
		}
	div.service02box div.swbox_sp { display: none;}
/* PDF紹介 */
div.syoukaibox {
	width:960px;
	height:228px;
	background: url(../images/contact/contact.png) no-repeat;
	background-position: right top;
	margin: 0px auto 120px auto;
	box-sizing: border-box;
	padding-right: 675px;
}
	div.syoukaibox h2 {
		font-size: 20px;
	}
	div.syoukaibox p {
		font-size: 16px;
	}
	div.syoukaibox a {
		font-size: 14px;
		text-decoration: none;
		color: #333;
	}
/* new */
div.newsbox {
	width:100%;
	min-height: 4.8vw;
	position: relative;
	padding-bottom: 7.2vw;
	padding-left:25.6vw;
}
	div.newsbox h2 {
		font-size: 2.5vw;
		font-style: italic;
		position: absolute;
		top:0;
		left:9.2vw;
	}
	div.newsbox div.newslist  {
		width:48.8vw;
	}
		div.newsbox div.newslist div.news {
			width:100%;
			position: relative;
			overflow: hidden;
			cursor: pointer;
		}
			div.newsbox div.newslist div.news p.title {
				width:100%;
				height:5.2vw;
				line-height: 5.2vw;
				font-size: 1vw;
				vertical-align: middle;
				position: relative;
			}
				div.newsbox div.newslist div.news p.title img { 
					height: 1vw;
					position: absolute;
					top:2.1vw;
					right:0;
				}
				div.newsbox div.newslist div.news p.title img.open {}
				div.newsbox div.newslist div.news p.title img.close { display: none; }
			div.newsbox div.newslist div.news p.closeinfo {
				display: none;
				font-size: 1vw;
				line-height: 5.2vw;
			}
			div.newsbox div.newslist div.news div.bar01 {
				width:100%;
				height:1px;
				background: #DBDBEA;
				position: absolute;
				left:0;
				bottom:0;
			}
			div.newsbox div.newslist div.news div.bar02 {
				width:100%;
				height:1px;
				background: #333;
				position: absolute;
				left:-100%;
				bottom:0;
				transition: 1.0s ;
			}
			div.newsbox div.newslist div.news:hover div.bar02 { left:0;}
/* ability */
div.abilitybox {
	width:100%;
	height:44vw;
	position: relative;
}
	div.abilitybox div.img01 {
		width:100%;
		height:30.56vw;
		background: url(../images/index/ability_img01.jpg) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		top:0;
		left:0;
	}
	div.abilitybox div.img02 {
		width:17.52vw;
		height:28.48vw;
		background: url(../images/index/ability_img02.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		top:8.8vw;
		right:18vw;
	}
	div.abilitybox div.img03 { display: none;}
	div.abilitybox h2 {
		position: absolute;
		top: 8.4vw;
		left:9.2vw;
	}
		div.abilitybox h2 span {
			font-size: 3.84vw;
			font-weight: normal;
			color: #fff;
			margin-right: 1vw;
		}
	div.abilitybox p.pinfo {
		position: absolute;
		top: 15vw;
		left:9.2vw;
	}
		div.abilitybox p.pinfo span {
			display: block;
			font-size: 2vw;
			font-weight: normal;
			color: #fff;
		}
/* contact */
div.contactbox {
	width:100%;
	height:40vw;
	position: absolute;
	box-sizing: border-box;
	padding-left:9.2vw;
}
	div.contactbox h2 {
		font-size: 3vw;
		font-style: italic;
	}
	div.contactbox p.ptext {
		font-size: 1vw;
	}
		div.contactbox p.ptext span {
			font-size: 1vw;
		}
	div.contactbox p.tel {
		font-size: 1vw;
		vertical-align: bottom;
	}
		div.contactbox p.tel a {
			text-decoration: none;
			color: #333;
			font-size: 1.5vw;
			letter-spacing: 0.1vw;
			margin-left: 1vw;
		}
	div.contactbox p.campanyname {
		margin-top: 6vw;
	}
		div.contactbox p.campanyname span {
			font-size: 2vw;
			font-style: italic;
		}
	div.contactbox p.campanyname2 {
		font-size: 1vw;
	}
	div.contactbox p.address {margin-top: 1.6vw;}
		div.contactbox p.address span {
			font-size: 1vw;
		}
	div.contactbox div.cmenubox { display: none; }
	div.contactbox div.bar {
		width:9vw;
		height:1px;
		background: #DBDBEA;
		position: absolute;
		right:0;
		top:4.24vw;
	}
	div.contactbox a.pcmail {
		display: block;
		width:8.4vw;
		height:8.48vw;
		background: url(../images/index/mail.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		top:0;
		right:8.96vw;
	}
	div.contactbox small {
		display: block;
		margin-top: 6vw;
		font-size: 0.8vw;
	}