/*===== CSS RESET =====*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,img,ins,kbd,q,s,samp,strike,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,input,textarea,select{outline:none;border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}.clear{clear:both}.clearfix:after{content:" ";display:table;clear:both}.clearfix{*zoom:1}ul,ol{list-style:none;}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body *{max-height:99999em}body img{max-height:none}


/*===== COMMON =====*/

html, body {
	width: 100%;
	min-height: 100%;
}
body {
	background: #ffffff;
	font-size: 14px;
	line-height: 1.4;
	font-family: Meiryo, YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
	-webkit-text-size-adjust: none;
	color: #333333;
	padding-top: 75px; 
}

.ft_serif {
	font-family: "Hiragino Mincho Pro", Times, "Times New Roman", Georgia, serif;
}

a {
	color: #000;
	text-decoration: none;
}

.trans {
	opacity: 1;
}
.trans:hover {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	filter: alpha(opacity=80);
	-moz-opacity: .8;
	-khtml-opacity: .8;
	opacity: .8;
}

.container {
	width: 100%;
	min-width: 961px;
	overflow: hidden;
}

.wrapper {
	width: 961px;
	margin-left: auto;
	margin-right: auto;
}
img{
	display: block;
	vertical-align: middle;
}

header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 5px;
	border-bottom: 2px solid #e22727;
	background: #fff;
	z-index: 100;
}
/*sec01*/
.sec01{
	background: url(../img/bg-01.png) no-repeat center center;
	background-size: cover;
	padding-top: 123px;
	position: relative;
	padding-bottom: 168px;
}
.para01{
	background-image:url(../img/image05.png);
	background-size: cover;
}
.para02{
	background-image:url(../img/bg-04.png);
	background-size: cover;
}
@media (max-width: 1600px) {
	.para01,
	.para02 {
		background-size: 1600px auto;
	}
}
@media (max-width: 640px) {
	.para01,
	.para02 {
		background-size: auto 100%;
	}
}
.sec01 h2{
	margin-bottom: 60px;
}
.sec01 img{
	margin: 0 auto;
}

.parallax-container {
	position: relative;
	min-height: 542px;
	line-height: 0;
	height: auto;
	width:100%;
}
.parallax-container2{
	min-height: 858px;
}
.parallax {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.parallax img {
  display: none;
  position: relative;
 
}
@media (max-width: 640px) {
	.parallax-container{
		min-height:1em;
	}
}

/*sec02*/

.sec02{
	background: #f9f9f7;
	padding-top: 26px;
	padding-bottom: 8px;
	position: relative; 
}
.sec02:before,
.sec02:after{
	content: "";
	width: 100%;
	height: 85px;
	background: url(../img/bg-af.png) no-repeat bottom center;
	background-size: 100% 100%; 
	position: absolute;
	left: 0;
	bottom: 100%;
    z-index: 20;
}
.sec02:after{
	bottom: auto;
	top: 100%; 
	background: url(../img/bg-ff.png) no-repeat top center;
	background-size: 100% 100%; 
}
.sec02 .wrapper{
	position: relative;
	padding-left: 225px;
	z-index: 50
}
.sec02 h3{
	font-size: 38px;
	line-height: 48px;
	color: #010101;
	font-weight: bold;
	letter-spacing: 0.075em;
	margin-bottom: 56px;
}
.sec02 .tbl{
	position: absolute;
	top: -106px;
	left: -27px;
}
.sec02 p{
	color: #200b11;
	line-height: 24px;
	letter-spacing: 0.05em;
}
.sec03{
	background: url(../img/bg-03.png) no-repeat center center;
	padding-top: 158px;
	position: relative;
	padding-bottom: 155px;
	background-size: cover;
	overflow: hidden;
}
.sec03:after{
	content: "";
	width: 100%;
	bottom: 0;
	height: 72px;
	position: absolute;
	background: url(../img/image-pp.png) repeat-x bottom center;
}
.sec03 h3{
	font-size: 38px;
	line-height: 48px;
	color: #ffffff;
	font-weight: bold;
	letter-spacing: 0.075em;
	margin-bottom: 45px;
}
.sec03  .wrapper{
	position: relative;
}
.sec03 .person{
	position: absolute;
	right: -73px;
	top: 63px;
}
.sec03 p{
	color: #ffffff;
	line-height: 24px;
	letter-spacing: 0.02em;
}
.sec03 .wrapper{
	padding-right: 200px;
	position: relative;
	z-index: 30;
}
.bg-pp{
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	z-index: 20;
}
.bg-pp img{
	width: 100%;
}
/*sec04*/
.sec04{
	background: #f3b631;
	padding-bottom: 88px;
	position: relative;
	margin-top: -2px;
}
.sec04 h2 img{
	margin: 0 auto;
}
.sec04 p.head{
	text-align: center;
	font-size: 18px;
	letter-spacing: 0.075em;
	font-style: oblique;
	line-height: 1.316;
	color: #000000;
	margin-top: 22px;
	margin-bottom: 33px;
}
.sec04 h3{
	margin-bottom: 23px;
}
.sec04 .image{
	float: left;
	width: 410px;
	margin-bottom: 34px;
}
.sec04 .text{
	float: right;
	width: 512px;
	letter-spacing: 0.05em;
	padding-top: 41px; 
	margin-bottom: 34px;
}
.sec04 .text h4{
	font-weight: bold;
	font-size: 36px; 
	letter-spacing: 0.05em;
	margin-bottom: 27px;
}
.sec04 .text .expert{
	font-size: 18px;
	margin-bottom: 9px;
}
.sec04 .text .name{
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 56px;
}
.sec04 .text p{
	/* color: #fff; */
	line-height: 24px; 
	letter-spacing: 0.1em;
}
.sec04 .left{
	float: left;
	width: 461px;
}
.sec04 .right{
	float: right;
	width: 462px;
}
.sec04 .right img,
.sec04 .left img{
	width: 100%;
	margin-bottom: 31px;
}
.sec04 .right p,
.sec04 .left p{
	letter-spacing: 0.05em;
	line-height: 24px;
}
.mb15{
	margin-bottom: 15px;
}
/*parallax*/
.parallax-window {
    min-height: 542px;
    background: transparent;
}
/*sec06*/
.sec06{
	padding-top: 80px;
	background: #f3b631;
}
.block06 .image{
	float: left;
	width: 255px;
	margin-bottom: 39px;
}
.block06 .text{
	float: right;
	width: 685px;
	letter-spacing: 0.05em;
}
.cover{
	padding-bottom: 87px;
}
.cover h3{
	margin-bottom: 36px;
}
.block06 .text h4{
	font-size: 20px;
	font-weight: bolder;
	color: #000000;
	line-height: 30px;
	margin-top: 3px;
	margin-bottom: 27px;
	height: 60px;
}
.block06 .text .position{
	color: #333333;
	margin-bottom: 22px;
}
.block06 .text .position span{
	font-size: 24px;
	font-weight: bold;
}
.block06 .text p{
	/* color: #ffffff; */
	letter-spacing: 0.09em;
	line-height: 24px;
}
.block07 .image{
	float: left;
	width: 459px;
}
.block07 .text{
	float: right;
	width: 463px;
}
.block07 .text p{
	line-height: 24px;
	color: #333333;
	letter-spacing: 0.08em; 
}
.block07 .text p.mb26{
	margin-bottom: 26px;
}
.block07 .text p.mb33{
	margin-bottom: 33px;
}
.block07.no-image .text{
	width: 100%;
}
.block06.second .text h4{
	margin-bottom: 12px;
}
.block06.second .text .position{
	margin-bottom: 35px;
}
/*ask-answer*/
.ask-answer{
	 
    padding-top: 101px;
    position: relative;
    padding-bottom: 13px;  
}
.ask-answer h3{
	margin-bottom: 78px;
}
.ask-answer h3 img{
	margin: 0 auto;
}
.block-ask{
	float: left;
	width: 410px;
	background: url(../img/icon03.png) no-repeat 1px top;
	margin-right: 70px;
	padding-left: 58px;
	padding-top: 20px;
	margin-bottom: 54px;
}
.block-ask h4{
	font-weight: bold;
	color: #fff;
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 1px;
	letter-spacing: 0.05em;
}
.block-ask p{
	color: #fff;
	line-height: 24px;
	letter-spacing: 0.05em;
}
/*gallery*/
.gallery{
	background: #000000;
	padding: 125px 0 123px;
}
.gallery h3 img{
	margin:0 auto;
}
.gallery h3{
	margin-bottom: 57px;
}
.list-gallery a{
	float: left;
	width: 234px;
	height: 150px;
	margin-right: 8px;
	margin-bottom: 8px;
}
.list-gallery a.four{
	margin-right: 0;
}
.new-item{
	text-align: center;
	background: #3f3f37;
	padding-bottom: 195px;
	padding-top: 85px;
}
.new-item h3 {
	margin-bottom: 62px;
}
.new-item h3 img{
	margin: 0 auto;
}
.new-item p{
	line-height: 24px;
	color: #fff;
	letter-spacing: 0.075em;
	margin-bottom: 48px;
}
.new-item p.red{
	color: #df1320;
	font-size: 16px;
}
.new-item p.small{
	font-size: 12px;
}
.btn{
	display: inline-block;
}
.button-link{
	padding-top: 21px;
}
/*===== FONT SIZE =====*/

@media (max-width: 640px) { body { font-size: 20px } }
@media (max-width: 635px) { body { font-size: 19.84375px } }
@media (max-width: 630px) { body { font-size: 19.6875px } }
@media (max-width: 625px) { body { font-size: 19.53125px } }
@media (max-width: 620px) { body { font-size: 19.375px } }
@media (max-width: 615px) { body { font-size: 19.21875px } }
@media (max-width: 610px) { body { font-size: 19.0625px } }
@media (max-width: 605px) { body { font-size: 18.90625px } }
@media (max-width: 600px) { body { font-size: 18.75px } }
@media (max-width: 595px) { body { font-size: 18.59375px } }
@media (max-width: 590px) { body { font-size: 18.4375px } }
@media (max-width: 585px) { body { font-size: 18.28125px } }
@media (max-width: 580px) { body { font-size: 18.125px } }
@media (max-width: 575px) { body { font-size: 17.96875px } }
@media (max-width: 570px) { body { font-size: 17.8125px } }
@media (max-width: 565px) { body { font-size: 17.65625px } }
@media (max-width: 560px) { body { font-size: 17.5px } }
@media (max-width: 555px) { body { font-size: 17.34375px } }
@media (max-width: 550px) { body { font-size: 17.1875px } }
@media (max-width: 545px) { body { font-size: 17.03125px } }
@media (max-width: 540px) { body { font-size: 16.875px } }
@media (max-width: 535px) { body { font-size: 16.71875px } }
@media (max-width: 530px) { body { font-size: 16.5625px } }
@media (max-width: 525px) { body { font-size: 16.40625px } }
@media (max-width: 520px) { body { font-size: 16.25px } }
@media (max-width: 515px) { body { font-size: 16.09375px } }
@media (max-width: 510px) { body { font-size: 15.9375px } }
@media (max-width: 505px) { body { font-size: 15.78125px } }
@media (max-width: 500px) { body { font-size: 15.625px } }
@media (max-width: 495px) { body { font-size: 15.46875px } }
@media (max-width: 490px) { body { font-size: 15.3125px } }
@media (max-width: 485px) { body { font-size: 15.15625px } }
@media (max-width: 480px) { body { font-size: 15px } }
@media (max-width: 475px) { body { font-size: 14.84375px } }
@media (max-width: 470px) { body { font-size: 14.6875px } }
@media (max-width: 465px) { body { font-size: 14.53125px } }
@media (max-width: 460px) { body { font-size: 14.375px } }
@media (max-width: 455px) { body { font-size: 14.21875px } }
@media (max-width: 450px) { body { font-size: 14.0625px } }
@media (max-width: 445px) { body { font-size: 13.90625px } }
@media (max-width: 440px) { body { font-size: 13.75px } }
@media (max-width: 435px) { body { font-size: 13.59375px } }
@media (max-width: 430px) { body { font-size: 13.4375px } }
@media (max-width: 425px) { body { font-size: 13.28125px } }
@media (max-width: 420px) { body { font-size: 13.125px } }
@media (max-width: 415px) { body { font-size: 12.96875px } }
@media (max-width: 410px) { body { font-size: 12.8125px } }
@media (max-width: 405px) { body { font-size: 12.65625px } }
@media (max-width: 400px) { body { font-size: 12.5px } }
@media (max-width: 395px) { body { font-size: 12.34375px } }
@media (max-width: 390px) { body { font-size: 12.1875px } }
@media (max-width: 385px) { body { font-size: 12.03125px } }
@media (max-width: 380px) { body { font-size: 11.875px } }
@media (max-width: 375px) { body { font-size: 11.71875px } }
@media (max-width: 370px) { body { font-size: 11.5625px } }
@media (max-width: 365px) { body { font-size: 11.40625px } }
@media (max-width: 360px) { body { font-size: 11.25px } }
@media (max-width: 355px) { body { font-size: 11.09375px } }
@media (max-width: 350px) { body { font-size: 10.9375px } }
@media (max-width: 345px) { body { font-size: 10.78125px } }
@media (max-width: 340px) { body { font-size: 10.625px } }
@media (max-width: 335px) { body { font-size: 10.46875px } }
@media (max-width: 330px) { body { font-size: 10.3125px } }
@media (max-width: 325px) { body { font-size: 10.15625px } }
@media (max-width: 320px) { body { font-size: 10px } }

/*===== RESPONSIVE =====*/

.sm {
	display: none !important;
}

@media (max-width: 640px) {

	.md {
		display: none !important;
	}
	.sm {
		display: block !important;
	}
	body{
		padding-top: 0;
	}
	img {
		display: block;
		width: 100%;
		height: auto;
	}
	img.inline {
		display: inline;
		width: auto;
	}

	.trans {
		opacity: 1;
	}
	.trans:hover {
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
		filter: alpha(opacity=100);
		-moz-opacity: 1;
		-khtml-opacity: 1;
		opacity: 1;
	}
	.container {
		width: auto;
		min-width: 0;
	}
	.wrapper {
		width: auto;
		margin: 0;
		padding-left: 3.125%;
		padding-right: 3.125%;
	}

header{
	padding-top: 0;
}
header img{
	width: 40%;
}
.sec01 {
    padding: 5em 0; 
}
.sec01 {
    background: url(../img/bg-01.png) no-repeat top center;
    background-size: cover;
}
.sec01 h2 {
	margin-bottom: 3em;
}
.sec02 .tbl{
	display: none;
}
.sec02 .wrapper{
	padding-left: 3.125%;
}
.sec02 {
    background: #f9f9f7;
    padding-top: 1em;
    padding-bottom: 0.4em;
}
.sec02 h3 {
    font-size: 1.8em;
    line-height: 1.4em;  
    margin-bottom: 0.8em;
}
.sec02 p {
    font-size: 1.2em;
    line-height: 1.4em;
}
.sec03 {
   padding: 5em 0 3em; 
}
.sec03 {
    
    background-size: cover;
 
}
.sec02:before,
.sec02:after{
	height: 4em;
}
.sec02:after{
	 
}
.sec03 .wrapper{
	padding-right: 3.125%;
}
.sec03 h3 {
    font-size: 1.8em;
    line-height: 1.4em;  
    margin-bottom: 0.8em;
}
.sec03 p {
    font-size: 1.2em;
    line-height: 1.4em;
}
.sec03:after{
	 background: url(../img/image-pp.png) repeat-x bottom center;
	 background-size: auto 100%;
	 height: 3em;
}
.sec04{
	padding:2em 0 0;
}
.sec04 h2 img{
	width: 80%;
}
.sec04 p.head {
    font-size: 1em;
    margin-top: 1em;
    margin-bottom: 1.5em;
}
.sec04 .image{
	width: 30%;
}
.sec04 h3{
	margin-bottom: 1.1em;
}
.sec04 .text {
    width: 68%; 
    padding-top: 0;
    margin-bottom: 1em;
}
.sec04 .text h4 {
    font-size: 1.5em; 
    margin-bottom: 0.2em;
}
.sec04 .text .expert {
    font-size: 1em;
    margin-bottom: 0.5em;
}
.sec04 .text .name {
    font-size: 1.5em ;
    margin-bottom: 0.2em;
}
.sec04 .text p {
    font-size: 1em;
    line-height: 1.4em;
}
.sec04 .text p.mb15{
	margin-bottom: 0.7em;
}
.sec04 .left,
.sec04 .right{
	width: 100%;
	margin-bottom: 2em;
}
.sec04 .right img, .sec04 .left img {
    width: 100%;
    margin-bottom: 1em;
}
.sec04 .right p, .sec04 .left p {
    font-size: 1em;
    line-height: 1.5em;
}
.parallax-window{
	min-height: 10em;
}
.sec06{
	padding-top: 2em;
}
.block06 .image { 
    width: 30%;
    margin-bottom: 1em;
}
.block06 .text { 
    width: 68%; 
    margin-bottom: 1em;
}

.block06 .text h4 {
    font-size: 1.2em;  
    line-height: 1.4em;
    margin-top: 0;
    margin-bottom: 0.5em;
    height: auto;
}
.block06 .text .position {
    margin-bottom: 0.5em;
}
.block06 .text .position span{
	font-size: 125%;
}
.block06 .text p {
    font-size: 1.2em;
    line-height: 1.4em;
}
.block07 .image{
	width: 100%;
	margin-bottom: 1em;
}
.block07 .text{
	width: 100%;
}
.block07 .text p {
    font-size: 1.2em;
    line-height: 1.4em;
}
.block07 .text p.mb26 {
    margin-bottom: 1em;
}
.cover h3{
	margin-bottom: 1.2em;
}
.cover{
	padding-bottom: 2em;
}
.ask-answer{
	padding: 2em 0;
}
.ask-answer h3 {
    margin-bottom: 2em;
}
.block-ask {
    float: left;
    width: 100%;
    background: url(../img/icon03.png) no-repeat left top;
    background-size: 2.6em auto;
    margin-right: 0;
    padding-left: 3.9em;
    padding-top: 0;
    margin-bottom: 2em;
}
.block07 .text p.mb33{
	margin-bottom: 1.2em;
}
.block-ask h4 {
    font-size: 1.2em;
    line-height: 1.4em;
    margin-bottom: 0.7em;
    letter-spacing: 0.05em;
}
.block-ask p {
    font-size: 1.2em;
    line-height: 1.4em;
}
.gallery {
    padding: 3em 0;
}
.gallery h3 {
    margin-bottom: 2em;
}
.gallery h3 img{
	width: 65%;
}
.list-gallery{
	text-align: center;
}
.list-gallery a{
	display: inline-block;
	float: none;
	width: 48%;
	height: auto;
	margin: 0 0.5% 0.3em!important;
}
.new-item{
	padding-bottom: 5em;
}
.new-item h3 img{
	width: 70%;
}
.new-item h3{
	margin-bottom: 2em;
}
.new-item p {
    font-size: 1.1em;
    line-height: 1.4em;
    margin-bottom: 1.5em;
}
.new-item p.red { 
    font-size: 1.2em;
}
.new-item p.small{
	font-size: 0.9em;
}
.button-link{
	padding-top: 1em;
}
}