@charset "UTF-8";

#mainVisual {
	width: 100%;
	background-size: contain;
	overflow: hidden;
}
.boxWrap {
	margin:0 20px;
	overflow:hidden;
	}
#topArea {
	background: #fff;
	width: 100%;
	margin-bottom:0;
	text-align :center;
	overflow:hidden;
	}
#topArea .bg-text img{
	position:absolute;
	bottom:20%;
	right:2%;
	margin:0 30px;
	}	
.greyArea {
	background: #efefef;
	width: 100%;
	margin-top:50px;
	padding:30px 0 70px;
	text-align :center;
	overflow:hidden;
	}
#topArea h2 { 
	margin:0 !important;
	}
#topArea h2 img {
	width:100%;
	height:auto;
	max-width:305px;
	margin:30px auto 5px;
}

#mainVisual01 {
	width:100%;
	height:700px;
	background-image:url(../img/mainimg01.png);
	background-position:center top;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	border-bottom:12px solid #e60012;
	margin-bottom:35px;
	}
#mainVisual01-en {
	width:100%;
	height:700px;
	background-image:url(../img/mainimg01_en.png);
	background-position:center top;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	border-bottom:12px solid #e60012;
	margin-bottom:35px;
	}	
#mainVisual02 {
	width:100%;
	height:680px;
	margin:0 auto 0;
	background-image:url(../img/mainbg02_19.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	}
.bggray {
	background: rgba(51,51,51,0.6);
	width:53%;
	min-width:500px;
	height:100%;
	padding-top:120px;
	}
	
.left-pack {
	width:525px;
	margin-left:auto;
	padding-left:15px;
	}
.left-pack-2 {
	width:505px;
	margin-left:auto;
	padding-left:15px;
	}		
.obi {
	padding:15px 0 15px 30px;
	background: #e60012;
	margin-right:-30px;
	color:#FFFFFF;
	position: relative;
	box-sizing: border-box;
	}
	
.obi:before{
	content: '';
	width: 0;
	height: 0;
	border-width: 20px 30px 0 0;
	border-style: solid;
	border-color:#af0003 transparent transparent transparent;
	position: absolute;
	bottom: -20px;
	right: 0;
	z-index:200;
}
 
.obi:after{
	content: '';
	width: 100px;
	height: 50px;
	background: #af0003;
	position: absolute;
	right: -70px;
	bottom:-30px;
	z-index: -1;
}
 	
.obi h2 {
	font-family:"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size:34px;
	text-align:left;
	padding-left:20px;
	
	}
.obi h2 span {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:20px;
	}		
.bggray h3, .bggray p { 
	color: #FFFFFF;
	text-align:left;
	line-height:2;
	padding-left:20px;
}	
.bggray h3 {
	margin-top:30px;
	font-size:30px;
	line-height:1.5 !important;}	
.bggray p {
	margin-top:30px;
	font-size:18px;}	


.bggray {
	background: rgba(51,51,51,0.6);
	width:53%;
	height:100%;
	
	padding-top:120px;
	}
	
.obi {
	padding:15px 0;
	background: #e60012;
	margin-right:-30px;
	color:#FFFFFF;
	position: relative;
	box-sizing: border-box;
	}
	
.obi:before{
	content: '';
	width: 0;
	height: 0;
	border-width: 20px 30px 0 0;
	border-style: solid;
	border-color:#af0003 transparent transparent transparent;
	position: absolute;
	bottom: -20px;
	right: 0;
	z-index: 1;
}
 
 	
.obi h2 {
	font-family:"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size:34px;
	text-align:left;
	
	}
.obi h2 span {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:20px;
	}		
.bggray h3, .bggray p { 
	color: #FFFFFF;
	text-align:left;
	line-height:2;
}	
.bggray h3 {
	margin-top:30px;
	font-size:30px;
	}
.bggray p {
	margin-top:30px;
	font-size:18px;
	}

#mainVisual03 {
	width:100%;
	height:550px;
	margin:0 auto 50px;
	background-image:url(../img/mainbg03.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	}
.bggray-l {
	background: rgba(51,51,51,0.6);
	width:53%;
	margin-left:auto;
	height:100%;
	padding-top:250px;
	}
	
.right-pack {
	margin-right:auto;
	padding-left:15px;
	}
.right-pack-2 {
	margin-right:auto;
	padding-left:50px;
	}		
.obi-l {
	padding:15px 0;
	background: #e60012;
	margin-left:-30px;
	color:#FFFFFF;
	position: relative;
	box-sizing: border-box;
	}
.obi-l:before{
	content: '';
	width: 0;
	height: 0;
	border-width: 20px 0 0 30px;
	border-style: solid;
	border-color:#af0003 transparent transparent transparent;
	position: absolute;
	bottom: -20px;
	left: 0;
	z-index:1;
}
.obi-l h2 {
	font-family:"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size:34px;
	text-align:left;
	padding-left:60px;
	
	}
.obi-l h2 span {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:20px;
	padding-left:30px;
	}		
.bggray-l h3, .bggray-l p { 
	color: #FFFFFF;
	text-align:left;
	line-height:2;
}	
.bggray-l h3 {
	margin-top:30px;
	font-size:30px;}	
.bggray-l p {
	padding-left:20px;
	padding-top:0;
	margin-top:50px;
	font-size:28px;
	line-height:30px;
	border-left: #E60012 5px solid;
	}	
#mainVisual04 {
	width:100%;
	height:450px;
	margin:0 auto;
	background-image:url(../img/mainbg04.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	}
.obi-2 {
	margin-top:100px;
	height:70px;
	background: #e60012;
	margin-right:-30px;
	color:#FFFFFF;
	position: relative;
	box-sizing: border-box;
	}
.obi-2:before{
	content: '';
	width: 0;
	height: 0;
	border-width: 20px 30px 0 0;
	border-style: solid;
	border-color:#af0003 transparent transparent transparent;
	position: absolute;
	bottom: -20px;
	right: 0;
	z-index:1;
}
.obi-2 h2 {
	font-family:"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size:34px;
	text-align:left;
	padding-top:16px;
	}
.obi-2 h2 span {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:20px;
	}		
#mainVisual h2.webMain{
	width: 100%;
	min-width:980px;
	line-height: 0;
	overflow: hidden;
}
#mainVisual h2.spMain {
	line-height: 0;
	display:none;
	}
#visual-image {
    position: relative;
    left: 50%; /* 画像の左端が画面中央にくる */
    margin-left: -800px; /* 画像幅の半分だけ左に移動する */
}

@media screen and (max-width: 900px) {
#topArea .bg-text img{ 
	position: static;  
	margin:15px auto; 
	max-width:294px; 
	width:100%; 
	height:auto; 
	padding:0 40px;
	}	
}


/*{　スマートフォン用CSS記述　}*/
@media screen and (max-width: 750px) {
#mainVisual01 {
	position:relative;
	width:100%;
	height:540px;
	background-image:url(../img/mainimg01_sp.png);
	background-position:center top;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	border-bottom:12px solid #e60012;
	}
#mainVisual01-en {
	position:relative;
	width:100%;
	height:540px;
	background-image:url(../img/mainimg01_sp_en.png);
	background-position:center top;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	border-bottom:12px solid #e60012;
	}	
	
	
#mainVisual02 {
	width:100%;
	max-width:1601px;
	height:450px;
	margin:0 auto;
	background-image:url(../img/mainbg02_19.png);
	background-position:-150px bottom;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	}
	
#mainVisual03 {
	width:100%;
	height:350px;
	margin:0 auto 50px;
	background-image:url(../img/mainbg03.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	}
#mainVisual04 {
	width:100%;
	height:300px;
	margin:0 auto;
	background-image:url(../img/mainbg04.png);
	background-position:-450px top;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	}
.left-pack {
	width:100%;
	margin-left:0;
	padding-left:15px;
	}
.left-pack-2 {width:100%;
	margin-left:0;
	padding-left:15px;
	}
.right-pack-2 {
	margin-right:auto;
	padding-left:20px;
	}		
.left-pack-2 h3 {
	font-weight:bold;
	}	
.obi h2 {
	font-size:20px;
	padding-left:0;
	font-weight:bold;
	}
.obi h2 span {
	font-size:14px;
	padding-left:10px;
	}		

.obi-2 h2 {
	font-size:20px;
	padding-left:10px;
	padding-top:13px;
	font-weight:bold;
	}
.obi-2 {height:50px;}	
.obi-2 h2 span {
	font-size:14px;
	padding-left:10px;
	}		

.obi-l h2 {
	font-size:20px;
	padding-left:10px;
	font-weight:bold;
	}
.obi-l h2 span {
	font-size:14px;
	padding-left:10px;
	}	
.bggray {
	background: rgba(51,51,51,0.6);
	width:87%;
	min-width:300px;
	height:100%;
	padding-top:80px;
	}

.bggray-l {
	background: rgba(51,51,51,0.6);
	width:85%;
	height:100%;
	padding-top:120px;
	}

.bggray h3 {
	font-size:20px;
	padding-left:0;}
.bggray p {
	padding-left:0;
	padding-top:0;
	margin-top:20px;
	font-size:14px;
	line-height:2;
	}	
.bggray-l p {
	padding-left:20px;
	padding-top:0;
	margin-top:30px;
	font-size:16px;
	line-height:30px;
	border-left: #E60012 5px solid;
	}	
}



