@charset "utf-8";

/*
	page.css
-----------------------------------------------------------------------------------------*/
/*
	topindex
-----------------------------------------------------------------------------------------*/
.topindex header {
	height: 700px;
	position: relative;
	z-index: 5;
}
.topindex .slider {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.topindex .slider-text {
	width: 1130px;
	margin: 265px auto 0;
}
/* contents
----------------------------------------------------*/
.topindex section#contents { margin: 110px auto 0;}
.topindex section#contents .inner {
	background: url(../images/top/bg_message.png) no-repeat center top;
	text-align: center;
}
.topindex section#contents .inner h2 { padding: 32px 0 0;}
.topindex section#contents .inner p { padding: 65px 0 114px;}
/* news, facebook
----------------------------------------------------*/
.topindex section#news,
.topindex section#facebook {
	width: 100%;
	height: auto;
	background-color: #fff;
}
.topindex section#news {
	height: 251px;
}
.topindex section#news .inner,
.topindex section#facebook .inner { display: table;}
.topindex section#news .inner h2,
.topindex section#facebook .inner h2 {
	display: table-cell;
	vertical-align: middle;
	width: 251px;
	text-align: center;
}
.topindex section#news .inner .newslist,
.topindex section#facebook .inner .timeline {
	display: table-cell;
	vertical-align: middle;
	width: 949px;
	text-align: left;
}
.topindex section#facebook .inner .timeline .fb-page { vertical-align: top;}
.topindex section#facebook .inner .timeline .fb-page:nth-of-type(1) { margin: 0 1em 0 0;}

/* news
----------------------------------------------------*/
.topindex section#news .inner .newslist dl {
	margin: 0 0 1.4em;
	padding: 0 0 0 69px;
}
.topindex section#news .inner .newslist dl:last-child { margin-bottom: 0;}
.topindex section#news .inner .newslist dl dt,
.topindex section#news .inner .newslist dl dd { display: inline-block;}
.topindex section#news .inner .newslist dl dd { padding: 0 0 0 45px;}
.topindex section#news .inner .newslist dl dd span {
	color: #fff;
	font-size: 12px;
	text-align: center;
	padding: 0.2em 0;
	display: inline-block;
	vertical-align: middle;
	width: 100px;
}
.topindex section#news .inner .newslist dl dd span.cl_01 { background-color: #a08c31;}
.topindex section#news .inner .newslist dl dd span.cl_02 { background-color: #c10000;}
.topindex section#news .inner .newslist dl dd span.cl_03 { background-color: #0f004d;}
.topindex section#news .inner .newslist dl dd a { color: #595757;}
.topindex section#news .inner .newslist dl dd p {
	display: inline-block;
	font-size: 16px;
	vertical-align: middle;
	padding: 0 0 0 1.2em;
}
/* facebook
----------------------------------------------------*/
.topindex section#facebook { margin-bottom: 94px;}
.topindex section#facebook .inner .timeline {
	padding: 1em 0 1em 4em;
}
.topindex p#newsmore {
	width: 1200px;
	margin: 0.3em auto 60px;
	text-align: right;
	font-size: 16px;
}
.topindex p#newsmore a { color: #e50012;}

/* foot-bnr
----------------------------------------------------*/
.topindex section#foot-bnr { margin: 100px auto 90px;}

/* cm4_bnr
----------------------------------------------------*/
.topindex .cm4_bnr{
	border-top:1px solid #d3d3d3;
	padding:50px 0 0 0;
	margin:50px auto 0 auto;
}

section#foot-bnr .inner.cm4_bnr{
	overflow: hidden;
}
/*
section#foot-bnr .inner.cm4_bnr a{
	display: block !important;
	float: right!important;
	width: 795px !important;
	margin: 0 0 20px;
}*/

section#foot-bnr .inner.cm4_bnr a:nth-child(3){
}

.topindex .cm4_bnr .ttl{
	margin:0 0 0 20px;
	vertical-align:top;
	float: left;
}
.topindex .banner {
    width: 795px;
    height: 101px;
    overflow: hidden;
    position: relative;
    text-align: center;
}
.topindex .banner .mask{
    width: 795px;
    height: 101px;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0
}
.topindex .banner-view .mask {
    opacity: 0;
    background-color: #000;
    transition: all 0.3s ease-in-out;
}
.topindex .banner-view:hover .mask {
    opacity: 0.4;
}

/*
	vision
-----------------------------------------------------------------------------------------*/
.vision header {
	background: url(../images/vision/main_slide_01.jpg) no-repeat center top;
	background-size: cover;
	min-width: 1200px;
	height: 400px;
}
.vision .slider-text {
	width: 950px;
	margin: 0 auto;
	padding: 230px 0 0;
}
/* contents
----------------------------------------------------*/
.vision section#contents {
	background-color: #fff;
	margin: 180px auto 0;
}
.vision section#contents .inner {
	text-align: center;
	padding: 136px 0 200px;
	position: relative;
}
.vision section#contents .inner p { margin: 53px auto 0;}
.vision section#contents .inner ul.object li { position: absolute;}
.vision section#contents .inner ul.object li:nth-of-type(1) { left: 127px; top: -25px;}
.vision section#contents .inner ul.object li:nth-of-type(2) { right: 60px; top: 377px;}
/* bg-01
----------------------------------------------------*/
.vision section#bg-01 {
	background: url(../images/vision/bg_504.jpg) no-repeat center center;
	background-size: cover;
	height: 504px;
	margin: 0 auto 187px;
	min-width: 1200px;
}
/* blend
----------------------------------------------------*/
.vision article { overflow-y: hidden;}
.vision section .blender span {
	background-color: #cf0012;
	mix-blend-mode: multiply;
}
@media all and (-ms-high-contrast:none){
	.vision section .blender span {
		background: rgba(229, 0, 18, 0.9);
	}
}

/* missions
----------------------------------------------------*/
.vision section#missions {
	background: url(../images/vision/bg_283_01.jpg) no-repeat center center;
	background-size: cover;
	height: 283px;
	position: relative;
	margin: 0 0 200px;
	min-width: 1200px;
	z-index: 3;
}
.vision section#missions .inner { position: relative;}
.vision section#missions .blender span {
	position: absolute;
	top: -39px;
	left: 0;
	height: 282px;
	width: 41.2%;
}
.vision section#missions .inner h3 { padding: 36px 0 0 35px;}
.vision section#missions .inner ul.object li { position: absolute;}
.vision section#missions .inner ul.object li:nth-of-type(1) { right: 173px; top: -62px;}

/* service
----------------------------------------------------*/
.vision section#service {
	background: url(../images/vision/bg_283_02.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
	height: 283px;
	min-width: 1200px;
}
.vision section#service .inner { position: relative;}
.vision section#service .blender span {
	position: absolute;
	top: -39px;
	right: 0;
	height: 282px;
	width: 41.2%;
}
.vision section#service .inner h3 { text-align: right; padding: 33px 53px 0 0;}
.vision section#service .inner ul.object li { position: absolute;}
.vision section#service .inner ul.object li:nth-of-type(1) { right: 200px; top: -274px; z-index: 1;}
.vision section#service .inner ul.object li:nth-of-type(2) { left: 100px; top: -63px;}

/* dsr-ci
----------------------------------------------------*/
.vision section#dsr-ci {
	background-color: #fff;
	margin: 195px auto 0;
}
.vision section#dsr-ci .inner {
	text-align: center;
	position: relative;
}
.vision section#dsr-ci .inner h2 { padding: 70px 0 0;}
.vision section#dsr-ci .inner p.caption { padding: 34px 0 0;}
.vision section#dsr-ci .inner h3.logo { padding: 92px 0 0; position: relative; z-index: 2;}
.vision section#dsr-ci .inner p.logo-mirror { position: relative; top: -8px; z-index: 1;}
.vision section#dsr-ci .inner ul.object { text-align: left;}
.vision section#dsr-ci .inner ul.object li { position: absolute;}
.vision section#dsr-ci .inner ul.object li:nth-of-type(1) { right: 180px; top: -25px;}
.vision section#dsr-ci .inner ul.object li:nth-of-type(2) { left: 76spx; top: 236px;}
.vision section#dsr-ci .inner p.logo-text { padding: 0 0 115px;}

.vision #pagetop { margin-top: 65px;}
.vision section#foot-bnr { margin-top: 90px;}

/*
	service
-----------------------------------------------------------------------------------------*/
.service header {
	background: url(../images/service/main_slide_01.jpg) no-repeat center top;
	background-size: cover;
	min-width: 1200px;
	height: 400px;
}
.service .slider-text {
	width: 1022px;
	margin: 0 auto;
	padding: 230px 0 0;
}
/* contents
----------------------------------------------------*/
.service section#contents {
	background-color: #fff;
	margin: 180px auto 0;
}
.service section#contents .inner {
	text-align: center;
	margin: 0 auto 142px;
	padding: 100px 0 160px;
	position: relative;
	height: 607px;
}
.service section#contents .inner p { margin: 84px auto 0;}
.service section#contents .inner ul.object li { position: absolute;}
.service section#contents .inner ul.object li:nth-of-type(1) { left: 127px; top: -25px;}
.service section#contents .inner ul.object li:nth-of-type(2) { right: 60px; top: 454px;}
/* product-bs, system-bs
----------------------------------------------------*/
.service section#product-bs { margin-bottom: 147px;}
.service section.business { background-color: #fff;}
.service section.business h3 {
	background-color: #e50012;
	width: 100%;
	height: 200px;
	text-align: center;
	display: table;
}
.service section.business h3 span {
	display: table-cell;
	vertical-align: middle;
	position: relative;
	z-index: 2;
}
.service section.business .inner {
	display: table;
	position: relative;
	height: 336px;
}
.service section.business .inner .list,
.service section.business .inner .photo { display: table-cell; vertical-align: middle;}
.service section.business .inner .photo { width: 553px; height: 336px;}
.service section.business .inner .list { padding-left: 86px;}
.service section.business .inner .list li { margin-bottom: 1.8em;}
.service section.business .inner .list li:nth-of-type(1) { margin-top: 1.8em;}
.service section.business .inner .list li a {
	position: relative;
}
.service section.business .inner .list li a:before {
	height: 1px;
	width: 0;
	left: 25px;
	bottom: -10px;
	content: "";
	position: absolute;
	display: block;
	background-color: #e50012;
	z-index: 1;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
}
.service section.business .inner .list li a:hover:before {
	width: 95%;
	left: 25px;
}
.service section.business .inner ul.object li { position: absolute;}
.service section.business .inner ul.object li:nth-of-type(1) { left: 276px; top: -215px;}
.service section.business .inner ul.object li:nth-of-type(2) { right: 286px; top: -127px; z-index: 1;}
/* others
----------------------------------------------------*/
.service #pagetop { margin-top: 120px;}
.service section#foot-bnr { margin-top: 84px;}


/*
	news
-----------------------------------------------------------------------------------------*/
.news header {
	background: url(../images/news/main_slide_01.jpg) no-repeat center top;
	background-size: cover;
	min-width: 1200px;
	height: 400px;
}
.news .slider-text {
	width: 952px;
	margin: 0 auto;
	padding: 230px 0 0;
}
.news section#news {
	background-color: #fff;
	margin: 143px auto 0;
}
.news section#news .inner {
	width: 970px;
	margin: 0 auto;
	padding: 78px 0 62px;
}
.news section#news .inner dl {
	margin: 0 0 1.5em;
	border-bottom: 1px solid #999;
	padding: 0 0 1.5em;
}
.news section#news .inner dl:last-child { margin: 0; border-bottom: none;}
.news section#news .inner dl dt,
.news section#news .inner dl dd {
	display: inline-block;
	font-size: 18px;
	vertical-align: top;
}
.news section#news .inner dl dt { color: #e50012; padding-left: 0.4em;}
.news section#news .inner dl dd { padding: 0 0 0 69px; width: 824px;}
.news section#news .inner dl dd span {
	color: #fff;
	font-size: 15px;
	text-align: center;
	padding: 0.2em 0;
	display: inline-block;
	vertical-align: middle;
	width: 120px;
	margin-right: 1.2em;
}
.news section#news .inner dl dd span.cl_01,section#news .inner dl dd span.news { background-color: #a08c31;}
.news section#news .inner dl dd span.cl_02,section#news .inner dl dd span.release { background-color: #c10000;}
.news section#news .inner dl dd span.cl_03,section#news .inner dl dd span.information { background-color: #0f004d;}
.news section#news .inner dl dd span.no-cat { background-color: #F2F2F2;}
.news section#news .inner dl dd a { color: #e50012;}
.news section#news .inner dl dd p {
	display: inline-block;
	vertical-align: middle;
}
.news section#news .inner dl dd .field { margin-top: 20px;}
.news section#news .inner dl dd .field p { margin-bottom: 20px;}
.news #pagetop { margin-top: 60px;}
.news section#foot-bnr { margin-top: 84px;}


/*
	product
-----------------------------------------------------------------------------------------*/
.product header {
	background: url(../images/product/main_slide_01.jpg) no-repeat center top;
	background-size: cover;
	min-width: 1200px;
	height: 400px;
}
.product .slider-text {
	width: 992px;
	margin: 0 auto;
	padding: 230px 0 0;
}
/* contents
----------------------------------------------------*/
.product #page { margin: 180px auto 0;}
.product section#package { margin-bottom: 180px;}
.product section.items { background-color: #fff;}
.product section.items .inner {
	margin: 0 auto;
	position: relative;
}
.product section#package .inner { height: 964px;}
.product section#cloud .inner { height: 871px;}
.product section.items .inner p { margin: 84px auto 0;}
.product section.items h3 {
	background-color: #e50012;
	width: 100%;
	height: 200px;
	text-align: center;
	display: table;
}
.product section.items h3 span {
	display: table-cell;
	vertical-align: middle;
	position: relative;
	z-index: 2;
}
.product section.items .inner .field {
	display: table;
	margin: 0 auto;
	width: 1028px;
	padding: 0 0 50px;
}
.product section.items .inner .field:nth-of-type(1) { padding: 60px 0 120px;}
.product section.items .inner .field ul,
.product section.items .inner .field .photo { display: table-cell; vertical-align: top;}
.product section.items .inner .field ul { width: 660px;}
.product section.items .inner .field .photo { width: 368px;}
.product section.items .inner .field ul li a {
	display: inline-block;
	background-color: #e50012;
	color: #fff;
	font-size: 18px;
	padding: 0.8em 2.6em;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	font-weight: bold;
}
.product section#cloud .inner .field:nth-of-type(1) { padding-bottom: 170px;}
.product section#cloud .inner .field:nth-of-type(1) .photo { text-align: right; }
.product section#cloud .inner .field:nth-of-type(2) { padding-bottom: 80px;}
.product section#cloud .inner .field:nth-of-type(2) .photo { text-align: right; }
.product section.items .inner .field ul li a:hover {
	text-decoration: none;
	background-color: #fff;
	color: #e50012;
	box-shadow: inset 0 0 0 2px #e50012, 0 0 1px rgba(0, 0, 0, 0);
}
.product section.items .inner .field ul li:nth-of-type(1) { margin-bottom: 35px;}
.product section.items .inner .field ul li:nth-of-type(2) { margin-bottom: 55px;}
.product section.items .inner ul.object li { position: absolute;}
.product section.items .inner ul.object li:nth-of-type(1) { left: 276px; top: -215px;}
.product section.items .inner ul.object li:nth-of-type(2) { right: 286px; top: -127px; z-index: 1;}

.product #pagetop { margin-top: 60px;}
.product section#foot-bnr { margin-top: 135px;}

/*
	company
-----------------------------------------------------------------------------------------*/
.company header {
	background: url(../images/company/main_slide_01.jpg) no-repeat center top;
	background-size: cover;
	min-width: 1200px;
	height: 400px;
}
.company .slider-text {
	width: 975px;
	margin: 0 auto;
	padding: 230px 0 0;
}
/* contents
----------------------------------------------------*/
.company #page { margin: 180px auto 0;}
.company section#greetings,
.company section#philosophy,
.company section#outline,
.company section#map,
.company section#history { background-color: #fff;}
.company section#greetings { margin-bottom: 162px;}
.company section#philosophy { margin-bottom: 170px;}
.company section#map { margin-bottom: 140px;}
.company section .inner {
	margin: 0 auto;
	position: relative;
}
.company section#greetings .inner {
	text-align: center;
	margin: 0 auto;
	padding: 97px 0 105px;
	height: 756px;
}
.company section#greetings .inner p { margin: 75px auto 0;}
.company section#greetings .inner ul.object li { position: absolute;}
.company section#greetings .inner ul.object li:nth-of-type(1) { left: 127px; top: -23px;}
.company section#greetings .inner ul.object li:nth-of-type(2) { right: 60px; top: 594px;}
.company section.items h3 {
	background-color: #e50012;
	width: 100%;
	height: 200px;
	text-align: center;
	display: table;
}
.company section.items h3 span {
	display: table-cell;
	vertical-align: middle;
	position: relative;
	z-index: 2;
}
.company section.items .inner ul.object li { position: absolute;}
.company section.items .inner ul.object li:nth-of-type(1) { left: 276px; top: -215px;}
.company section.items .inner ul.object li:nth-of-type(2) { right: 286px; top: -127px; z-index: 1;}
.company section.items .inner ul.object li:nth-of-type(3) { right: 72px;}
.company section#philosophy .inner {
	text-align: center;
	padding: 72px 0 80px;
	height: 332px;
}
.company section#philosophy .inner ul.object li:nth-of-type(3) { top: 182px;}
.company section#outline .inner { height: 794px;}
.company section#outline .inner .field {
	width: 970px;
	margin: 0 auto;
	padding: 46px 0 108px;
}
.company section#outline .inner .field dl {
	width: 970px;
	height: 80px;
	border-bottom: 1px solid #999;
	display: table;
}
.company section#outline .inner .field dl dt,
.company section#outline .inner .field dl dd {
	display: table-cell;
	vertical-align: middle;
	font-weight: 700;
	font-size: 18px;
}
.company section#outline .inner .field dl dt {
	width: 190px;
	text-align: left;
	padding-left: 0.5em;
	color: #E80000;
}
.company section#outline .inner .field dl dd {
	width: 780px;
}
.company section#outline .inner ul.object li:nth-of-type(3) { top: 658px;}
.company section#map h3 {
	text-align: center;
	padding-bottom: 30px;
}
.company section#map #map_canvas {
	position: relative;
	padding-bottom: 38.35%;
	height: 0;
	overflow: hidden;
}
.company section#map #map_canvas iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
.company section#history .inner .field {
	width: 970px;
	margin: 0 auto;
	padding: 43px 0 96px;
}
.company section#history .inner .field dl {
	width: 970px;
	height: 80px;
	border-bottom: 1px solid #999;
	display: table;
}
.company section#history .inner .field dl dt,
.company section#history .inner .field dl dd {
	display: table-cell;
	vertical-align: middle;
	font-weight: 700;
	font-size: 18px;
}
.company section#history .inner .field dl dt {
	width: 160px;
	text-align: left;
	color: #E80000;
}
.company section#history .inner .field dl dt.tar { padding-left: 60px;}
.company section#history .inner .field dl dd { width: 810px;}
.company section#history .inner ul.object li:nth-of-type(3) { right: 64px; top: 1346px;}

.company #pagetop { margin-top: 50px;}
.company section#foot-bnr { margin-top: 70px;}

/*
	contact
-----------------------------------------------------------------------------------------*/
.contact header {
	background: url(../images/contact/main_slide_01.jpg) no-repeat center top;
	background-size: cover;
	min-width: 1200px;
	height: 400px;
}
.contact .slider-text {
	width: 970px;
	margin: 0 auto;
	padding: 230px 0 0;
}
.contact #page  { margin: 141px auto 0;}
.contact section#inquiry,
.contact section#form { background-color: #fff;}
.contact section#inquiry { margin-bottom: 90px;}
.contact section .inner {
	margin: 0 auto;
	position: relative;
}
.contact section#inquiry .inner {
	margin: 0 auto;
	padding: 97px 0 91px;
}
.contact section#inquiry .inner h2 { text-align: center;}
.contact section#inquiry .inner ul.list li{
	background: url(../images/contact/inquiry_text_icon.png) top left no-repeat;
	font-weight: bold;
	font-size: 19px;
	letter-spacing: -1px;
	padding: 0 0 0 26px;
	line-height: 170%;
}
.contact section#inquiry .inner ul.list li a,
.contact section#inquiry .inner ul.list li span{
	color: #e50012;
	letter-spacing: 0px;
}
.contact section#inquiry .inner ul.list {
	width: 1020px;
	margin: 60px auto 0;
}
.contact section#inquiry .inner ul.list li { margin-top: 28px;}
.contact section#inquiry .inner ul.list li:first-child { margin-top: 0;}
.contact section#inquiry .inner .btn-form {
	width: 1020px;
	margin: 90px auto 0;
}
.contact section#inquiry .inner .btn-form ul { font-size: 0;}
.contact section#inquiry .inner .btn-form ul li { display: inline-block;}
.contact section#inquiry .inner .btn-form ul li:first-child { margin-right: 34px;}
.contact section#inquiry .inner .btn-form ul li a {
	border: 2px solid #e40012;
	padding: 37px 43px 36px;
	display: block;
	position: relative;
}
.contact section#inquiry .inner .btn-form ul li a img { vertical-align: middle;}
.contact section#inquiry .inner .btn-form ul li a span.overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: rgba(229, 0, 18, 0.3);
	top: 0;
	left: 0;
	opacity: 0;
	-webkit-transition: opacity 0.3s linear;
	-moz-transition: opacity 0.3s linear;
	-o-transition: opacity 0.3s linear;
	-ms-transition: opacity 0.3s linear;
	transition: opacity 0.3s linear;
	filter: alpha(opacity=0);
	z-index: 1;
}
.contact section#inquiry .inner .btn-form ul li a span.overlay:hover {
	opacity: 1;
	filter: alpha(opacity=100);
}
.contact section#inquiry .inner ul.object li { position: absolute;}
.contact section#inquiry .inner ul.object li:nth-of-type(1) { left: 127px; top: -23px;}
.contact section#inquiry .inner ul.object li:nth-of-type(2) { right: 60px; top: 401px;}
.contact section#inquiry.contact_k .inner ul.object li:nth-of-type(2) { right: 60px; top: 363px;}
.contact section#inquiry.contact_e .inner ul.object li:nth-of-type(2) { right: 60px; top: 277px;}
.contact section.input-form h3 {
	background-color: #e50012;
	width: 100%;
	height: 200px;
	text-align: center;
	display: table;
}
.contact section.input-form h3 span {
	display: table-cell;
	vertical-align: middle;
	position: relative;
	z-index: 2;
}
.contact section.input-form .inner ul.object li { position: absolute;}
.contact section.input-form ul.object li:nth-of-type(1) { left: 276px; top: -215px;}
.contact section.input-form ul.object li:nth-of-type(2) { right: 286px; top: -127px; z-index: 1;}
.contact section .form-input {
	width: 1024px;
	margin: 0 auto;
	padding: 80px 0 102px;
}
.contact section .form-input dl {
	display: table;
	margin: 0 auto 30px;
}
.contact section .form-input dl:nth-of-type(1) { margin-bottom: 70px;}
.contact section .form-input dl:nth-of-type(12) { margin-bottom: 0;}
.contact section.contact_k .form-input dl:nth-of-type(2) { margin-bottom: 100px;}
.contact section.contact_k .form-input dl:nth-of-type(12) { margin-bottom: 30px;}
.contact section.contact_k .form-input dl:nth-of-type(13) { margin-bottom: 0;}
.contact section.contact_e .form-input dl:nth-of-type(2) { margin-bottom: 80px;}
.contact section.contact_e .form-input dl:nth-of-type(12) { margin-bottom: 30px;}
.contact section.contact_e .form-input dl:nth-of-type(13) { margin-bottom: 0;}
.contact section .form-input dl dt,
.contact section .form-input dl dd {
	display: table-cell;
	font-size: 18px;
}
.contact section .form-input dl dt {
	font-weight: bold;
	vertical-align: middle;
	width: 356px;
	padding-right: 3em;
}
.contact section .form-input dl dt em {
	color: #fff;
	background-color: #e50012;
	font-size: 17px;
	padding: 0.1em 1em;
	display: inline-block;
	float: right;
	font-style: normal;
}
.contact section .form-input dl dt span {
	display: block;
	font-size: 11px;
}
.contact section .form-input dl:nth-of-type(1) dt { vertical-align: top; padding-top: 0.2em;}
.contact section .form-input dl:nth-of-type(12) dt { vertical-align: top; padding-top: 0.2em;}
.contact section.contact_k .form-input dl:nth-of-type(1) dt { vertical-align: top; padding-top: 0.2em;}
.contact section.contact_k .form-input dl:nth-of-type(2) dt { vertical-align: top; padding-top: 0.2em;}
.contact section.contact_k .form-input dl:nth-of-type(12) dt { vertical-align: middle; padding-top: 0;}
.contact section.contact_k .form-input dl:nth-of-type(13) dt { vertical-align: top; padding-top: 0.2em;}
.contact section.contact_e .form-input dl:nth-of-type(1) dt { vertical-align: top; padding-top: 0.2em;}
.contact section.contact_e .form-input dl:nth-of-type(2) dt { vertical-align: top; padding-top: 0.2em;}
.contact section.contact_e .form-input dl:nth-of-type(12) dt { vertical-align: middle; padding-top: 0;}
.contact section.contact_e .form-input dl:nth-of-type(13) dt { vertical-align: top; padding-top: 0.2em;}
.contact section .form-input dl dd {
	width: 668px;
	vertical-align: middle;
}
.contact section .form-input dl dd input[type="radio"] { display: none;}
.contact section .form-input dl dd label {
	display: inline-block;
	position: relative;
	cursor: pointer;
	padding: 10px 0 10px 25px;
	border-radius: 2px;
	text-align: left;
	line-height: 1;
	color: #595757;
	font-size: 17px;
	margin-bottom: 13px;
}
.contact section .form-input dl dd label:nth-of-type(1),
.contact section .form-input dl dd label:nth-of-type(4),
.contact section .form-input dl dd label:nth-of-type(7) { width: 255px;}
.contact section .form-input dl dd label:nth-of-type(2),
.contact section .form-input dl dd label:nth-of-type(5) { width: 230px;}
.contact section .form-input dl dd label:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0px;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background: #fff;
	border: 2px solid #b3b3b3;
	border-radius: 50%;
}
.contact section .form-input dl dd input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 5px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-radius: 50%;
	background: #e50112;
	animation: 0.5s linear 0s normal 1 running scale;
}
@keyframes scale {
	30% { transform: scale(1.3);}
	70% { transform: scale(1);}
	100% { transform: none;}
}
.contact section .form-input dl dd input[type=text]:placeholder-shown { color: #ccc;}
.contact section .form-input dl dd input[type=text]::-webkit-input-placeholder { color: #ccc;}
.contact section .form-input dl dd input[type=text]:-moz-placeholder { color: #ccc; opacity: 1;}
.contact section .form-input dl dd input[type=text]::-moz-placeholder {color: #ccc; opacity: 1;}
.contact section .form-input dl dd input[type=text]:-ms-input-placeholder { color: #ccc;}
.contact section .form-input dl dd input[type=text],
.contact section .form-input dl dd textarea {
	width: 668px;
	font-size: 18px;
	border: 1px solid #f2f2f2;
	outline: 0;
	color: #595757;
	padding: 0.6em 0.8em;
	background-color: #f2f2f2;
	vertical-align: middle;
	-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
	-webkit-transition: border-color 0.3s ease;
	-moz-transition: border-color 0.3s ease;
	-o-transition: border-color 0.3s ease;
	transition: border-color 0.3s ease;
}
.contact section .form-input dl dd input[type=text]:focus,
.contact section .form-input dl dd textarea:focus {
	border-color: #e50112;
	background-color: #fff;
	color: #595757;
	-moz-box-shadow: 0 0 2px rgba(229, 0, 18, 0.8);
	-webkit-box-shadow: 0 0 2px rgba(229, 0, 18, 0.8);
	box-shadow: 0 0 2px rgba(229, 0, 18, 0.8);
}
.contact section.contact_k .form-input dl dd label { width: 210px!important;}
.contact section.contact_k .form-input dl dd p { font-size: 0; margin-top: 20px;}
.contact section.contact_k .form-input dl dd p label { width: 100px!important; display: inline-block; padding: 0; margin: 0; vertical-align: middle;}
.contact section.contact_k .form-input dl dd p label:before { content: none;}
.contact section.contact_k .form-input dl dd .focus-11 { width: 568px; display: inline-block; vertical-align: middle;}
.contact section.contact_e .form-input dl dd label { width: 210px!important;}
.contact section.contact_e .form-input dl dd p { font-size: 0; margin-top: 20px;}
.contact section.contact_e .form-input dl dd p label { width: 100px!important; display: inline-block; padding: 0; margin: 0; vertical-align: middle;}
.contact section.contact_e .form-input dl dd p label:before { content: none;}
.contact section.contact_e .form-input dl dd .focus-12 { width: 568px; display: inline-block; vertical-align: middle;}

.contact section .form-input dl dd textarea,
.contact section .form-input dl dd textarea:focus { color: #595757;}
.contact section .form-input dl dd textarea.autosized {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	transition: all 0.3s;
	min-height: 324px;
}
.contact section .form-input p.submit {
	margin: 68px auto 0;
	text-align: center;
}
.contact section .form-input p.submit input[type="submit"] {
	background-color: #e50012;
	color: #fff;
	cursor: pointer;
	font-size: 18px;
	font-weight: bold;
	padding: 0.8em 4em;
	border: 1px solid #e50012;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-ms-transition: all 0.3s;
	transition: all 0.3s;
}
.contact section .form-input p.submit input[type="submit"]:hover {
	background-color: #fff;
	color: #e50012;
}
.contact #pagetop { margin-top: 50px;}
.contact section#foot-bnr { margin-top: 70px;}

/*
	privacy
-----------------------------------------------------------------------------------------*/
.privacy { padding-top: 216px;}
.privacy #contents { background-color: #fff;}
.privacy #contents .inner { width: 970px; padding: 93px 0 57px;}
.privacy #contents .inner h2 { border: 2px solid #e50012; font-size: 22px; padding: 0.2em 0; text-align: center; color: #e50012; font-weight: bold; margin-bottom: 2.5em;}
.privacy #contents .inner dl { margin-bottom: 3.5em;}
.privacy #contents .inner dl dt { font-size: 18px; font-weight: bold; margin-bottom: 1em;}
.privacy #contents .inner dl dt span { color: #e50012; padding-right: 0.3em;}
.privacy #contents .inner dl dd { font-size: 16px;}
.privacy #contents .inner dl dd ul.number { margin-top: 1em;}
.privacy #contents .inner dl dd ul.number li { list-style: decimal inside; padding-left: 2.5em; text-indent: -1.5em;}
.privacy #pagetop { margin-top: 60px;}
.privacy section#foot-bnr { margin-top: 80px;}

/*
	tokuteishotorihiki
-----------------------------------------------------------------------------------------*/
.tokuteishotorihiki { padding-top: 216px;}
.tokuteishotorihiki #contents { background-color: #fff;}
.tokuteishotorihiki #contents .inner { width: 970px; padding: 93px 0 123px;}
.tokuteishotorihiki #contents .inner h2 { border: 2px solid #e50012; font-size: 22px; padding: 0.2em 0; text-align: center; color: #e50012; font-weight: bold; margin-bottom: 2.5em;}
.tokuteishotorihiki #contents .inner dl { width: 970px; border-bottom: 1px solid #999; font-size: 0;}
.tokuteishotorihiki #contents .inner dt,
.tokuteishotorihiki #contents .inner dd { padding: 1em 0; font-size: 18px; display: inline-block; vertical-align: middle;}
.tokuteishotorihiki #contents .inner dt { text-align: left; font-weight: bold; color: #e50012; width: 238px; padding-left: 5px;}
.tokuteishotorihiki #contents .inner dd { width: 730px;}
.tokuteishotorihiki #contents .inner dd .field p span { display: block; text-indent: -1em;}
.tokuteishotorihiki #contents .inner dd .field p { margin-top: 1em; padding-left: 1em;}
.tokuteishotorihiki #contents .inner dd .field ul.disc { margin-top: 1em;}
.tokuteishotorihiki #contents .inner dd .field ul.disc li { list-style: disc inside; padding-left: 2em;}
.tokuteishotorihiki #contents .inner .ls { letter-spacing: 1em;}
.tokuteishotorihiki #contents .inner .vt { vertical-align: top;}
.tokuteishotorihiki #pagetop { margin-top: 60px;}
.tokuteishotorihiki section#foot-bnr { margin-top: 80px;}
