@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:208.53vw;
	position: relative;
	overflow: hidden;
}
	div.topbox div.bg01 {
		width:100%;
		height:73.2vw;
		position: absolute;
		bottom:0;
		left:0;
		background: url(../images/index/topimg_sp.jpg) no-repeat;
		background-size: 100% 100%;
	}
	div.topbox div.c01 {
		width:92vw;
		height:92vw;
		background: url(../images/index/circle01_sp.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		left:52.66vw;
		top:33.6vw;
		animation:5s linear infinite rotation1;
	}
	div.topbox div.c02 {
		width:50.13vw;
		height:50.13vw;
		background: url(../images/index/circle02_sp.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		left:28vw;
		top:54.4vw;
		animation:4s linear infinite rotation1;
	}
	div.topbox a#logo {
		font-size: 5.3vw;
		color: #333;
		position: absolute;
		left:6vw;
		top:5.3vw;
		z-index: 30;
		font-style:italic;
		letter-spacing: 1px;
	}
	div.topbox div.hmenu { display: none; }
	div.topbox div.message {
		width:86.66vw;
		height:97.6vw;
		position: absolute;
		left:6vw;
		top:36vw;
		z-index: 20;
	}
		div.topbox div.message div.showbox {
			width:0;
			height:97.6vw;
			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:86.66vw;
				height:97.6vw;
			}
				div.topbox div.message div.showbox div.info p.m01 { margin-bottom: 3vw;}
				div.topbox div.message div.showbox div.info p.m01 span {
					display: block;
					font-size: 12vw;
					line-height: 14vw;
				}
				div.topbox div.message div.showbox div.info p.m02 span {
					display: block;
					font-size: 5vw;
					line-height: 8vw;
				}
				div.topbox div.message div.showbox.gold span { color: #B28500;}
				div.topbox div.message div.showbox.white span { color: #333;}
/* About */
div.aboutbox {
	width:100%;
	height:290.66vw;
	position: relative;
}
	div.aboutbox div.img01 {
		width:61.73vw;
		height:74.93vw;
		background: url(../images/index/about_img01.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		top:15.33vw;
		left:9.33vw;
		opacity: 0;
	}
	div.aboutbox div.img02 {
		width:36vw;
		height:54.13vw;
		background: url(../images/index/about_img02.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		top:55.73vw;
		left:54.66vw;
		opacity: 0;
	}
	div.aboutbox div.mes01 {
		width:90vw;
		height:60vw;
		position: absolute;
		right:0;
		top:132.53vw;
		box-sizing: border-box;
		padding-top: 12vw;
	}
		div.aboutbox div.mes01 div.bar {
			height:1px;
			width:100%;
			background: #DBDBEA;
			position: absolute;
			right:0;
			top:5vw;
		}
		div.aboutbox div.mes01 h2 {
			display: inline-block;
			font-size: 9.33vw;
			line-height: 10vw;
			font-style: italic;
			background: #fff;
			padding-right: 12.66vw;
			position: absolute;
			top:0;
			left:0;
		}
		div.aboutbox div.mes01 p.m01 {}
			div.aboutbox div.mes01 p.m01 span {
				display: block;
				font-size: 4vw;
				line-height: 7vw;
				font-style: italic;
			}
	div.aboutbox div.mes02 { display: none;}
	div.aboutbox div.mes03 {
		width:90vw;
		height:95.33vw;
		position: absolute;
		left:0;
		top:180vw;
		box-sizing: border-box;
		padding-left: 10vw;
		padding-top: 10vw;
	}
		div.aboutbox div.mes03 div.bar {
			height:1px;
			width:80vw;
			background: #DBDBEA;
			position: absolute;
			left:0;
			top:0;
		}
		div.aboutbox div.mes03 p.m02 {}
			div.aboutbox div.mes03 p.m02 span {
				display: block;
				font-size: 4vw;
				line-height: 7vw;
				font-style: italic;
			}
/* Service */
div.service01box {
	width:100%;
	height:600vw;
	position: relative;
}
	div.service01box div.sbox {
		width:100%;
		height:200vw;
		position: absolute;
		left:0;
	}
	div.service01box div.sbox.s01 {top:0;}
	div.service01box div.sbox.s02 {top:200vw;}
	div.service01box div.sbox.s03 {top:400vw;}
		div.service01box div.sbox div.bar {
			width:90vw;
			height:1px;
			background: #DBDBEA;
			position: absolute;
			right:0;
			top:8.66vw;
		}
		div.service01box div.sbox div.img {
			width:75.73vw;
			height:108.26vw;
			position: absolute;
			top:20vw;
			opacity: 0;
		}
		div.service01box div.sbox.s01 div.img {
			background: url(../images/index/service01_img01.jpg) no-repeat;
			background-size: 100% 100%;
			left:0;
		}
		div.service01box div.sbox.s02 div.img {
			background: url(../images/index/service01_img02.jpg) no-repeat;
			background-size: 100% 100%;
			right:0;
		}
		div.service01box div.sbox.s03 div.img {
			background: url(../images/index/service01_img03.jpg) no-repeat;
			background-size: 100% 100%;
			left:0;
		}
		div.service01box div.sbox > h2 {
			font-size: 9.33vw;
			line-height: 10vw;
			font-style: italic;
			background: #fff;
			position: absolute;
			top:0;
			left:10vw;
			padding-right: 8vw;
		}
		div.service01box div.sbox h3 {
			font-size: 6vw;
			line-height: 8vw;
			font-weight: normal;
			font-style: italic;
			position: absolute;
			top:0;
			left:45vw;
		}
		div.service01box div.sbox div.infobox {
			width:73.06vw;
			height:87.46vw;
			background: url(../images/index/service01_bg.png) no-repeat;
			background-size: 100% 100%;
			position: absolute;
			top:75.73vw;
			box-sizing: border-box;
			padding: 13.33vw 10.66vw 0 10.66vw;
			opacity: 0;
		}
		div.service01box div.sbox.s01 div.infobox { right:9.33vw;}
		div.service01box div.sbox.s02 div.infobox { left:9.33vw;}
		div.service01box div.sbox.s03 div.infobox { right:9.33vw;}
			div.service01box div.sbox div.infobox h2 {
				font-size: 6vw;
				line-height: 10vw;
				font-style: italic;
				margin-bottom: 4vw;
			}
			div.service01box div.sbox div.infobox p {
				font-size: 4vw;
			}
				div.service01box div.sbox div.infobox p a {
					font-size: 4vw;
					text-decoration: none;
					color: #333;
				}
/* Service2 */
div.service02box {
	width:100%;
	height:200vw;
	position: relative;
}
	div.service02box div.bar {
		width:65.33vw;
		height:1px;
		background: #DBDBEA;
		position: absolute;
		left:0;
		top:34vw;
	}
	div.service02box h2 {
		position: absolute;
		top:0;
		left:8.66vw;
	}
	div.service02box h2 span {
		display: block;
		width:60vw;
		font-size: 9.33vw;
		line-height: 9vw;
		font-style: italic;
	}
	div.service02box h2 span:nth-last-child(1) { text-align: right;}
	div.service02box p.pickup {
		position: absolute;
		top:18vw;
		left:8.66vw;
		font-size: 8vw;
		font-style: italic;
		font-weight: bold;
	}
	div.service02box p.pinfo {
		position: absolute;
		top:42vw;
		left:8.66vw;
	}
		div.service02box p.pinfo span  {
			display: block;
			font-size:5vw;
			font-style: italic;
			line-height: 12vw;
		}
div.service02box div.swbox_pc {display: none;}
div.service02box div.swbox_sp {
	width:100%;
	height:60vw;
	position: absolute;
	top:109vw;
	left:0;
	overflow: hidden;
}
div.service02box div.swbox_sp div.img {
	width:75vw;
	height:60vw;
	position: absolute;
	top:0;
}
div.service02box div.swbox_sp div.img.img01 {
	background: url(../images/index/service02_img01.png) no-repeat;
	background-size: 100% 100%;
	left:5vw;
}
div.service02box div.swbox_sp div.img.img02 {
	background: url(../images/index/service02_img02.png) no-repeat;
	background-size: 100% 100%;
	left:85vw;
}
div.service02box div.swbox_sp div.img.img03 {
	background: url(../images/index/service02_img03.png) no-repeat;
	background-size: 100% 100%;
	left:165vw;
}
/* PDF紹介 */
div.syoukaibox {
	width:100%;
	background: url(../images/contact/contact_sp.png) no-repeat;
	background-size: auto 73.33vw;
	background-position: left 8.66vw bottom 10vw;
	margin: 0px auto 120px auto;
	box-sizing: border-box;
	padding: 0 8.66vw 83.33vw 8.66vw;
	position: relative;
}
	div.syoukaibox h2 {
		font-size: 20px;
	}
	div.syoukaibox p {
		font-size: 16px;
	}
	div.syoukaibox a {
		position: absolute;
		left:8.66vw;
		bottom:0;
		font-size: 14px;
		text-decoration: none;
		color: #333;
	}
/* new */
div.newsbox {
	width:100%;
	box-sizing: border-box;
	padding: 0 8.66vw 30vw 8.66vw;
}
	div.newsbox h2 {
		font-size: 8vw;
		font-style: italic;
	}
	div.newsbox div.newslist  {
		width:100%;
		margin-top: 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%;
				min-height: 8vw;
				line-height: 8vw;
				font-size: 3vw;
				vertical-align: middle;
				box-sizing: border-box;
				padding-right: 3vw;
				position: relative;
			}
				div.newsbox div.newslist div.news p.title img { 
					height: 2vw;
					position: absolute;
					top:3vw;
					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: 3vw;
				line-height: 8vw;
			}
			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:150vw;
	position: relative;
}
	div.abilitybox div.img01 { display: none;}
	div.abilitybox div.img02 { display: none;}
	div.abilitybox div.img03 {
		width:71.86vw;
		height:119.2vw;
		background: url(../images/index/ability_img03.png) no-repeat;
		background-size: 100% 100%;
		position: absolute;
		top:0;
		right:0;
	}
	
	div.abilitybox h2 {
		position: absolute;
		top: 30.66vw;
		left:8.66vw;
	}
		div.abilitybox h2 span {
			display: block;
			font-size: 10vw;
			line-height: 11vw;
			letter-spacing: 0.5vw;
		}
	div.abilitybox p.pinfo {
		position: absolute;
		top: 60vw;
		left:8.66vw;
	}
		div.abilitybox p.pinfo span {
			display: block;
			font-size: 5vw;
		}
/* contact */
div.contactbox {
	width:100%;
}
	div.contactbox h2 {
		box-sizing: border-box;
		padding:0 8.66vw;
		font-size: 10vw;
		font-style: italic;
	}
	div.contactbox p.ptext {
		box-sizing: border-box;
		padding:0 8.66vw;
	}
		div.contactbox p.ptext span {
			display: block;
			font-size: 5vw;
			line-height: 8vw;
		}
	div.contactbox p.tel {
		font-size: 5vw;
		vertical-align: bottom;
		line-height: 8vw;
		margin-top: 5vw;
		margin-bottom: 2vw;
		box-sizing: border-box;
		padding:0 8.66vw;
	}
		div.contactbox p.tel a {
			display: block;
			text-decoration: none;
			color: #333;
			font-size: 7vw;
			letter-spacing: 0.1vw;
		}
	div.contactbox p.campanyname {
		margin-top: 20vw;
		box-sizing: border-box;
		padding:0 8.66vw;
	}
		div.contactbox p.campanyname span {
			display: block;
			font-size: 10vw;
			font-style: italic;
		}
	div.contactbox p.campanyname2 {
		font-size: 6vw;
		box-sizing: border-box;
		padding:0 8.66vw;
	}
	div.contactbox p.address {
		box-sizing: border-box;
		padding:0 8.66vw;
		margin-top: 10vw;
	}
		div.contactbox p.address span {
			display: block;
			font-size: 4vw;
		}
	div.contactbox div.cmenubox {
		width:100%;
		height:86.66vw;
		margin: 20vw 0 0 0;
		position: relative;
	}
		div.contactbox div.cmenubox div.bar01 {
			width:90vw;
			height:1px;
			background: #DBDBEA;
			position: absolute;
			right:0;
			top:8.66vw;
		}
		div.contactbox div.cmenubox div.bar02 {
			width:90vw;
			height:1px;
			background: #DBDBEA;
			position: absolute;
			right:0;
			top:26vw;
		}
		div.contactbox div.cmenubox div.bar03 {
			width:90vw;
			height:1px;
			background: #DBDBEA;
			position: absolute;
			right:0;
			top:43.33vw;
		}
		div.contactbox div.cmenubox div.bar04 {
			width:90vw;
			height:1px;
			background: #DBDBEA;
			position: absolute;
			right:0;
			top:60.66vw;
		}
		div.contactbox div.cmenubox div.bar05 {
			width:90vw;
			height:1px;
			background: #DBDBEA;
			position: absolute;
			right:0;
			top:78vw;
		}
div.contactbox div.cmenubox a {
	display: inline-block;
	height:17.33vw;
	line-height: 17.33vw;
	text-decoration: none;
	color: #333;
	background: #fff;
	font-size: 8vw;
	position: absolute;
	left:8.66vw;
	box-sizing: border-box;
	padding-right: 10vw;
}
div.contactbox div.cmenubox a.cmenu01 { top:0;}
div.contactbox div.cmenubox a.cmenu02 { top:17.33vw;}
div.contactbox div.cmenubox a.cmenu03 { top:34.66vw;}
div.contactbox div.cmenubox a.cmenu04 { top:52vw;}
div.contactbox div.cmenubox a.cmenu05 { top:69.33vw;}
	div.contactbox div.bar {display: none;}
	div.contactbox a.pcmail { display: none;}
	div.contactbox small {
		display: block;
		margin-top: 6vw;
		font-size: 4vw;
		box-sizing: border-box;
		padding:0 8.66vw 20px 8.66vw;
		margin-top: 10vw;
	}