@charset "utf-8";

* { 
	margin: 0;
	padding: 0;
}

html {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	/*font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
	color: #000;
	font-size: 100%;
	font-feature-settings : "palt";	
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	/*letter-spacing: 0.02em;*/
}


/* ----------- common ----------------- */
.sp-none { display: inline-block; }
.pc-none { display: none; }
@media screen and (max-width: 768px) {
.sp-none { display: none; }
.pc-none { display: inline-block; }
}

/* ------------ button --------------- */
.section-cta { text-align: center; }
.mb60 { margin-bottom: 60px; }
.mt90 { margin: 90px 0; }

.section-cta .btn {
    position: relative;
    width: 620px;
    display: inline-block;
    color: #fff;
    background-color: #cc0000;
    border-radius: 60px;  
}

.section-cta .btn a {
	width: 100%;
	display: block;
	padding: 20px 0;
	color: #fff;
	font-size: 36px;
	font-weight: bold;
	text-decoration: none;
	border-radius: 60px;
	box-sizing: border-box;
	box-shadow: 0 5px 0 rgb(188, 2, 2, 1);
}

.section-cta .btn a:hover {
    background-color: #00a41a;
    color: #fff;
    box-shadow: 0 5px 0 rgb(9, 118, 26, 1);
    animation-play-state: paused;
    top: 3px;
}

.y-j { animation: y-j 2s infinite; }
@keyframes y-j {
	0%  { transform: translate(0px, 7px); }
	5%  { transform: translate(0px, -7px); }
	10% { transform: translate(0px, 7px); }
	15% { transform: translate(0px, -7px); }
	20% { transform: translate(0px, 7px); }
	25% { transform: translate(0px, -7px); }
	30% { transform: translate(0px, 0px); }
}

@media screen and (max-width: 660px) {
.mb60 { margin: 20px 0; }
.mt90 { margin: 40px 0 60px 0; }
.section-cta .btn { width: 100%; }
.section-cta .btn a { font-size: 6vw; padding: 15px 0; }
}

/* ---------- sec MV ---------- */
#sec-mv {
	width: 100%;
	padding-bottom: 10px;
	box-sizing: border-box;
	background-color: #fff;
	background-image: url('../img/lp01_mv_bg_01.jpg'), url('../img/lp01_mv_bg_02.jpg');
	background-position: left top, right top;
	background-size: auto, auto;
	background-repeat: no-repeat, no-repeat;
}

#sec-mv .sec-mv__inner {
	width: 1000px;
	margin: 0 auto;
	padding: 40px 0 0;
}

@media screen and (max-width: 1050px) {
#sec-mv {
	background-image: url('../img/lp01_mv_bg_01.jpg'), url('../img/lp01_mv_bg_02.jpg');
	background-position: left -150px top, right -150px top;
}	
#sec-mv .sec-mv__inner { width: 100%; padding: 20px 35px 0 35px; box-sizing: border-box; }
#sec-mv .sec-mv__inner img { width: 100%; height: auto; }
}

@media screen and (max-width: 860px) {
#sec-mv {
	background-image: url('../img/lp01_mv_bg_03.jpg'), url('../img/lp01_mv_bg_04.jpg');
	background-position: right top, left bottom;
	background-size: 100%, 100%;
	background-repeat: no-repeat, no-repeat;
}	
#sec-mv .sec-mv__inner { padding: 30px 20px; }	
}

/* banner */
#sec-mv ul.sec-bnr {
	width: 100%;
	margin: 0 0 30px 0;
	padding: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
#sec-mv ul.sec-bnr li { list-style-type: none; }
#sec-mv ul.sec-bnr li a { display: block; }
#sec-mv ul.sec-bnr li a img:hover { opacity: 0.7; }

@media screen and (max-width: 1050px) {
#sec-mv ul.sec-bnr li img { width: 29.5vw; height: auto; }	
}

@media screen and (max-width: 860px) {
#sec-mv ul.sec-bnr { display: block; }
#sec-mv ul.sec-bnr li { width: 100%; margin: 5px 0; }
#sec-mv ul.sec-bnr li img { width: 100%; height: auto; }	
}


/* ---------- sec 01 ---------- */
#sec01 {
	width: 100%;
	padding: 110px 0 30px 0;
	box-sizing: border-box;
	background: url('../img/lp01_bg_sec01.gif') top repeat-x;
}

@media screen and (max-width: 768px) {
#sec01 { padding: 0px 30px; }	
}

/* common */
#sec01 .sec01-01__inner h2.sec-ttl { margin-bottom: 60px; }
#sec01 .sec01-01__inner h1,
#sec01 .sec01-02__inner h1,
#sec01 .sec01-03__inner h1 {
	position: relative;
	display: inline-block;
	margin-bottom: 1.5em;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
#sec01 .sec01-01__inner h1:after,
#sec01 .sec01-02__inner h1:after,
#sec01 .sec01-03__inner h1:after {
	content: '';
	position: absolute;
	bottom: -20px;
	display: inline-block;
	width: 50px;
	height: 3px;
	left: 0;
	background-color: #0cd428;
}
#sec01 .sec01-01__inner p,
#sec01 .sec01-02__inner p,
#sec01 .sec01-03__inner p { font-size: 15px; line-height: 2;}
#sec01 .fc01 { color: #00a41a; }

@media screen and (max-width: 768px) {
#sec01 .sec01-01__inner h1,
#sec01 .sec01-02__inner h1,
#sec01 .sec01-03__inner h1 { font-size: 21px; }
}


/* --- sec01-01 --- */
#sec01 .sec01-01__inner { width: 1500px; margin: 0 auto; }
#sec01 .sec01-01__inner .sec-pct  { float: left; width: 730px; padding-top: 50px; }
#sec01 .sec01-01__inner .sec-desc { float: right; width: calc(100% - 820px); }


@media screen and (max-width: 1550px) {
#sec01 .sec01-01__inner { width: 90%; }
#sec01 .sec01-01__inner .sec-pct  { width: 45%; }
#sec01 .sec01-01__inner .sec-desc { width: 50%; }
#sec01 .sec01-01__inner h2.sec-ttl { margin-bottom: 40px; }
#sec01 .sec01-01__inner .sec-pct img { width: 100%; height: auto; }
}

@media screen and (max-width: 1100px) {
#sec01 .sec01-01__inner h2.sec-ttl img { width: 80%; height: auto; }	
}

@media screen and (max-width: 768px) {
#sec01 .sec01-01__inner { width: 100%; }	
#sec01 .sec01-01__inner .sec-pct  { float: none; width: 100%; margin-bottom: 30px; }
#sec01 .sec01-01__inner .sec-desc {	float: none; width: 100%; }
#sec01 .sec01-01__inner h2.sec-ttl { margin-bottom: 10px; }
#sec01 .sec01-01__inner h2.sec-ttl img { width: auto; height: 40px; }
}

/* --- sec01-02 --- */
#sec01 .sec01-02__inner { width: 1000px; margin: 20px auto 0 auto; }
#sec01 .sec01-02__inner .sec-pct  { float: right; width: 350px; padding-top: 20px; }
#sec01 .sec01-02__inner .sec-desc {	float: left; width: calc(100% - 440px); padding-top: 100px; }


@media screen and (max-width: 1100px) {
#sec01 .sec01-02__inner { width: 90%; }
#sec01 .sec01-02__inner .sec-pct  { width: 30%; padding-top: 50px; }
#sec01 .sec01-02__inner .sec-desc {	width: 65%; padding-top: 80px; }
#sec01 .sec01-02__inner .sec-pct img { width: 100%; height: auto; }	
}

@media screen and (max-width: 768px) {
#sec01 .sec01-02__inner { width: 100%; }
#sec01 .sec01-02__inner .sec-pct  { float: none; width: 60%; padding-top: 30px; margin: 0 auto; }
#sec01 .sec01-02__inner .sec-desc { float: none; width: 100%; padding-top: 20px; }
}

/* --- sec01-03 --- */
#sec01 .sec01-03__inner { width: 1000px; margin: 0 auto 0 auto; }
#sec01 .sec01-03__inner .sec-pct  { float: left; width: 350px; padding: 0; }
#sec01 .sec01-03__inner .sec-desc {	float: right; width: calc(100% - 440px); padding-top: 70px; }

@media screen and (max-width: 1100px) {
#sec01 .sec01-03__inner { width: 90%; }
#sec01 .sec01-03__inner .sec-pct  { width: 30%; padding-top: 50px; }
#sec01 .sec01-03__inner .sec-desc {	width: 65%; padding-top: 80px; }
#sec01 .sec01-03__inner .sec-pct img { width: 100%; height: auto; }
}

@media screen and (max-width: 768px) {
#sec01 .sec01-03__inner { width: 100%; }
#sec01 .sec01-03__inner .sec-pct  { float: none; width: 70%; padding-top: 30px; margin: 0 auto; }
#sec01 .sec01-03__inner .sec-desc { float: none; width: 100%; padding-top: 20px; }
}




/* ---------- sec 02 ---------- */
#sec02 {
	width: 100%;
	padding: 110px 0 30px 0;
	color: #fff;
	box-sizing: border-box;
	background: url('../img/lp01_bg_sec02.png') center top no-repeat #707274;
}

@media screen and (max-width: 768px) {
#sec02 { padding: 0px 30px 10px 30px; background-size: 40px auto; }	
}

/* common */
#sec02 .sec02-01__inner h2.sec-ttl { margin-bottom: 60px; }
#sec02 .sec02-01__inner h1,
#sec02 .sec02-02__inner h1,
#sec02 .sec02-03__inner h1 {
	position: relative;
	display: inline-block;
	margin-bottom: 1.5em;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
#sec02 .sec02-01__inner h1:after,
#sec02 .sec02-02__inner h1:after,
#sec02 .sec02-03__inner h1:after {
	content: '';
	position: absolute;
	bottom: -20px;
	display: inline-block;
	width: 50px;
	height: 3px;
	left: 0;
	background-color: #0cb5d4;
}
#sec02 .sec02-01__inner p,
#sec02 .sec02-02__inner p,
#sec02 .sec02-03__inner p { font-size: 15px; line-height: 2;}
#sec02 .fc02 { color: #03e0f4; }

@media screen and (max-width: 768px) {
#sec02 .sec02-01__inner h1,
#sec02 .sec02-02__inner h1,
#sec02 .sec02-03__inner h1,
#sec02 .sec02-04__inner h1 { font-size: 21px; }
}

/* --- sec02-01 --- */
#sec02 .sec02-01__inner { width: 1320px; margin: 0 auto; }
#sec02 .sec02-01__inner .sec-pct  { float: left; width: 550px; }
#sec02 .sec02-01__inner .sec-desc { float: right; width: calc(100% - 640px); padding-top: 40px; }


@media screen and (max-width: 1400px) {
#sec02 .sec02-01__inner { width: 90%; }
#sec02 .sec02-01__inner .sec-pct  { width: 45%; }
#sec02 .sec02-01__inner .sec-desc { width: 50%; }
#sec02 .sec02-01__inner h2.sec-ttl { margin-bottom: 40px; }
#sec02 .sec02-01__inner .sec-pct img { width: 100%; height: auto; }
}

@media screen and (max-width: 1100px) {
#sec02 .sec02-01__inner h2.sec-ttl img { width: 65%; height: auto; }	
}

@media screen and (max-width: 768px) {
#sec02 .sec02-01__inner { width: 100%; padding-top: 50px; }
#sec02 .sec02-01__inner .sec-pct  { float: none; width: 90%; margin: 0 auto 40px auto; }
#sec02 .sec02-01__inner .sec-desc {	float: none; width: 100%; padding-top: 0; }
#sec02 .sec02-01__inner h2.sec-ttl { margin-bottom: 10px; }
#sec02 .sec02-01__inner h2.sec-ttl img { width: auto; height: 40px; }
}

/* --- sec02-02 --- */
#sec02 .sec02-02__inner { width: 1000px; margin: 20px auto 0 auto; }
#sec02 .sec02-02__inner .sec-pct  { float: right; width: 350px; padding-top: 20px; }
#sec02 .sec02-02__inner .sec-desc {	float: left; width: calc(100% - 440px); padding-top: 100px; }


@media screen and (max-width: 1100px) {
#sec02 .sec02-02__inner { width: 90%; }
#sec02 .sec02-02__inner .sec-pct  { width: 30%; padding-top: 50px; }
#sec02 .sec02-02__inner .sec-desc {	width: 65%; padding-top: 80px; }
#sec02 .sec02-02__inner .sec-pct img { width: 100%; height: auto; }	
}

@media screen and (max-width: 768px) {
#sec02 .sec02-02__inner { width: 100%; }
#sec02 .sec02-02__inner .sec-pct  { float: none; width: 80%; padding-top: 30px; margin: 0 auto; }
#sec02 .sec02-02__inner .sec-desc { float: none; width: 100%; padding-top: 20px; }
}

/* --- sec02-03 --- */
#sec02 .sec02-03__inner { width: 1000px; margin: 30px auto 0 auto; }
#sec02 .sec02-03__inner .sec-pct  { float: left; width: 350px; padding: 0; }
#sec02 .sec02-03__inner .sec-desc {	float: right; width: calc(100% - 440px); padding-top: 70px; }

@media screen and (max-width: 1100px) {
#sec02 .sec02-03__inner { width: 90%; }
#sec02 .sec02-03__inner .sec-pct  { width: 30%; padding-top: 50px; }
#sec02 .sec02-03__inner .sec-desc {	width: 65%; padding-top: 80px; }
#sec02 .sec02-03__inner .sec-pct img { width: 100%; height: auto; }
}

@media screen and (max-width: 768px) {
#sec02 .sec02-03__inner { width: 100%; }
#sec02 .sec02-03__inner .sec-pct  { float: none; width: 80%; padding-top: 30px; margin: 0 auto; }
#sec02 .sec02-03__inner .sec-desc { float: none; width: 100%; padding-top: 20px; }
}



/* ---------- sec 03 ---------- */
#sec03 {
	width: 100%;
	padding: 110px 0 30px 0;
	box-sizing: border-box;
	background: url('../img/lp01_bg_sec03.png') center top no-repeat;
}

@media screen and (max-width: 768px) {
#sec03 { padding: 0px 30px; background-size: 40px auto; }	
}

/* common */
#sec03 .sec03-01__inner h2.sec-ttl { margin-bottom: 60px; }
#sec03 .sec03-01__inner h1,
#sec03 .sec03-03__inner h1,
#sec03 .sec03-04__inner h1 {
	position: relative;
	display: inline-block;
	margin-bottom: 1.5em;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
#sec03 .sec03-01__inner h1:after,
#sec03 .sec03-03__inner h1:after,
#sec03 .sec03-04__inner h1:after {
	content: '';
	position: absolute;
	bottom: -20px;
	display: inline-block;
	width: 50px;
	height: 3px;
	left: 0;
	background-color: #cc0000;
}
#sec03 .sec03-01__inner p,
#sec03 .sec03-03__inner p,
#sec03 .sec03-04__inner p { font-size: 15px; line-height: 2; }
#sec03 .fc03 { color: #cc0000; }

@media screen and (max-width: 768px) {
#sec03 .sec03-01__inner h1,
#sec03 .sec03-02__inner h1,
#sec03 .sec03-03__inner h1,
#sec03 .sec03-04__inner h1 { font-size: 21px; }
}

/* --- sec03-01 --- */
#sec03 .sec03-01__inner { width: 1500px; margin: 0 auto; }
#sec03 .sec03-01__inner .sec-pct  { float: left; width: 730px; }
#sec03 .sec03-01__inner .sec-desc { float: right; width: calc(100% - 820px); padding-top: 50px; }


@media screen and (max-width: 1550px) {
#sec03 .sec03-01__inner { width: 90%; }
#sec03 .sec03-01__inner .sec-pct  { width: 45%; }
#sec03 .sec03-01__inner .sec-desc { width: 50%; }
#sec03 .sec03-01__inner h2.sec-ttl { margin-bottom: 40px; }
#sec03 .sec03-01__inner .sec-pct img { width: 100%; height: auto; }
}

@media screen and (max-width: 1100px) {
#sec03 .sec03-01__inner h2.sec-ttl img { width: 80%; height: auto; }	
}

@media screen and (max-width: 768px) {
#sec03 .sec03-01__inner { width: 100%; }	
#sec03 .sec03-01__inner .sec-pct  { float: none; width: 100%; margin-bottom: 30px; padding-top: 50px; }
#sec03 .sec03-01__inner .sec-desc {	float: none; width: 100%; }
#sec03 .sec03-01__inner h2.sec-ttl { margin-bottom: 10px; }
#sec03 .sec03-01__inner h2.sec-ttl img { width: auto; height: 40px; }
}

/* --- sec03-02 --- */
#sec03 .sec03-02__inner { width: 1000px; margin: 110px auto; }
#sec03 .sec03-02__inner .sec-desc { text-align: center; }
#sec03 .sec03-02__inner h1 {
	position: relative;
	display: inline-block;
	margin-bottom: 1.5em;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
#sec03 .sec03-02__inner h1:after {
	content: '';
	position: absolute;
	bottom: -20px;
	display: inline-block;
	width: 50px;
	height: 3px;
	left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	background-color: #cc0000;
}
#sec03 .sec03-02__inner p { font-size: 15px; line-height: 2; }

@media screen and (max-width: 1050px) {
#sec03 .sec03-02__inner { width: 100%; margin: 60px auto; }	
}

@media screen and (max-width: 768px) {
#sec03 .sec03-02__inner .sec-desc { width: 100%; text-align: left; }
#sec03 .sec03-02__inner h1 { font-size: 21px; }
#sec03 .sec03-02__inner h1:after {
	content: '';
	position: absolute;
	bottom: -20px;
	display: inline-block;
	width: 50px;
	height: 3px;
	left: 0;
	transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
	background-color: #cc0000;
}
}


/* --- sec03-03 --- */
#sec03 .sec03-03__inner { width: 1000px; margin: 30px auto 0 auto; }
#sec03 .sec03-03__inner .sec-pct  { float: left; width: 350px; }
#sec03 .sec03-03__inner .sec-desc {	float: right; width: calc(100% - 440px); padding-top: 20px; }

@media screen and (max-width: 1100px) {
#sec03 .sec03-03__inner { width: 90%; }
#sec03 .sec03-03__inner .sec-pct  { width: 30%; }
#sec03 .sec03-03__inner .sec-desc {	width: 65%; }
#sec03 .sec03-03__inner .sec-pct img { width: 100%; height: auto; }
}

@media screen and (max-width: 768px) {
#sec03 .sec03-03__inner { width: 100%; }
#sec03 .sec03-03__inner .sec-pct  { float: none; width: 100%; }
#sec03 .sec03-03__inner .sec-desc { float: none; width: 100%; padding-top: 20px; }
}

/* --- sec03-04 --- */
#sec03 .sec03-04__inner { width: 1000px; margin: 50px auto 0 auto; }
#sec03 .sec03-04__inner .sec-pct  { float: right; width: 350px; }
#sec03 .sec03-04__inner .sec-desc {	float: left; width: calc(100% - 440px); padding-top: 60px; }


@media screen and (max-width: 1100px) {
#sec03 .sec03-04__inner { width: 90%; }
#sec03 .sec03-04__inner .sec-pct  { width: 40%; }
#sec03 .sec03-04__inner .sec-desc {	width: 55%; }
#sec03 .sec03-04__inner .sec-pct img { width: 100%; height: auto; }	
}

@media screen and (max-width: 768px) {
#sec03 .sec03-04__inner { width: 100%; }
#sec03 .sec03-04__inner .sec-pct  { float: none; width: 60%; margin: 0 auto; }
#sec03 .sec03-04__inner .sec-desc { float: none; width: 100%; }
}



/* ---------- sec 04 ---------- */
#sec04 {
	width: 100%;
	padding: 160px 0 30px 0;
	color: #fff;
	box-sizing: border-box;
	background-color: #14151d;
	background-image: url('../img/lp01_bg_sec02.png'), url('../img/lp01_bg_sec04.jpg');
	background-position: center top, center top;
	background-size: auto, cover;
	background-repeat: no-repeat, no-repeat;
}

@media screen and (max-width: 1050px) {
#sec04 { padding: 0px 30px 10px 30px; background-size: 40px auto, contain; }	
}

/* common */
#sec04 .sec04-01__inner h2.sec-ttl { margin-bottom: 40px; }
#sec04 .sec04-01__inner h1,
#sec04 .sec04-02__inner h1,
#sec04 .sec04-03__inner h1,
#sec04 .sec04-04__inner h1 {
	position: relative;
	display: inline-block;
	margin-bottom: 1.9em;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
#sec04 .sec04-01__inner h1:after,
#sec04 .sec04-02__inner h1:after,
#sec04 .sec04-03__inner h1:after,
#sec04 .sec04-04__inner h1:after {
	content: '';
	position: absolute;
	bottom: -20px;
	display: inline-block;
	width: 50px;
	height: 3px;
	left: 0;
	background-color: #06f8c8;
}

#sec04 .sec04-01__inner p,
#sec04 .sec04-02__inner p,
#sec04 .sec04-03__inner p,
#sec04 .sec04-04__inner p { font-size: 15px; line-height: 2;}

#sec04 .fc04 { color: #06f8c8; font-size: 2rem; }

@media screen and (max-width: 768px) {
#sec04 .sec04-01__inner h1,
#sec04 .sec04-02__inner h1,
#sec04 .sec04-03__inner h1,
#sec04 .sec04-04__inner h1 { font-size: 21px; }
#sec04 .fc04 { font-size: 1.7rem; }	
}


/* --- sec04-01 --- */
#sec04 .sec04-01__inner { width: 1320px; margin: 0 auto; }
#sec04 .sec04-01__inner .sec-pct  { float: left; width: 655px; }
#sec04 .sec04-01__inner .sec-desc { float: right; width: calc(100% - 745px); padding-top: 70px; }

@media screen and (max-width: 1400px) {
#sec04 .sec04-01__inner { width: 90%; }
#sec04 .sec04-01__inner .sec-pct  { width: 45%; }
#sec04 .sec04-01__inner .sec-desc { width: 50%; padding-top: 30px; }
#sec04 .sec04-01__inner h2.sec-ttl { margin-bottom: 40px; }
#sec04 .sec04-01__inner .sec-pct img { width: 100%; height: auto; }
}

@media screen and (max-width: 1100px) {
#sec04 .sec04-01__inner .sec-desc { padding-top: 0; }	
#sec04 .sec04-01__inner h2.sec-ttl { margin-bottom: 10px; }	
#sec04 .sec04-01__inner h2.sec-ttl img { width: 65%; height: auto; }
}

@media screen and (max-width: 1050px) {
#sec04 .sec04-01__inner { width: 100%; padding-top: 50px; }	
#sec04 .sec04-01__inner .sec-pct  { float: none; width: 100%; margin: 0 auto 30px auto; }
#sec04 .sec04-01__inner .sec-desc {	float: none; width: 100%; }
#sec04 .sec04-01__inner h2.sec-ttl { margin-bottom: 10px; }
#sec04 .sec04-01__inner h2.sec-ttl img { width: auto; height: 40px; }
}


/* --- sec04-02 & sec04-03 --- */
#sec04 .sec04-02__inner,
#sec04 .sec04-04__inner { width: 1000px; margin: 80px auto; }
#sec04 .sec04-02__inner .sec-desc,
#sec04 .sec04-04__inner .sec-desc { width: 630px; }

/* --- sec04-03 --- */
#sec04 .sec04-03__inner { width: 1000px; margin: 80px auto; padding-left: 365px; box-sizing: border-box; }
#sec04 .sec04-03__inner .sec-desc { width: 630px; }

@media screen and (max-width: 1050px) {
#sec04 .sec04-02__inner,
#sec04 .sec04-03__inner,
#sec04 .sec04-04__inner { width: 100%; padding: 0; margin: 50px 0 0 0; }
#sec04 .sec04-02__inner .sec-desc,
#sec04 .sec04-03__inner .sec-desc,
#sec04 .sec04-04__inner .sec-desc { width: 100%; }
}




/* ---------- sec 05 ---------- */
#sec05 {
	width: 100%;
	padding: 110px 0 90px 0;
	color: #fff;
	box-sizing: border-box;
	background: url('../img/lp01_bg_sec05.png') center top no-repeat #cc0000;
}

@media screen and (max-width: 768px) {
#sec05 { padding: 50px 30px 60px 30px; background-size: 40px auto; }
}

/* common */
#sec05 .sec05-01__inner h2.sec-ttl { margin-bottom: 60px; }
#sec05 .sec05-01__inner h1,
#sec05 .sec05-02__inner h1,
#sec05 .sec05-03__inner h1 {
	position: relative;
	display: inline-block;
	margin-bottom: 1.5em;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
#sec05 .sec05-01__inner h1:after,
#sec05 .sec05-02__inner h1:after,
#sec05 .sec05-03__inner h1:after {
	content: '';
	position: absolute;
	bottom: -20px;
	display: inline-block;
	width: 50px;
	height: 3px;
	left: 0;
	background-color: #ebfa03;
}
#sec05 .sec05-01__inner p,
#sec05 .sec05-02__inner p,
#sec05 .sec05-03__inner p { font-size: 15px; line-height: 2;}

@media screen and (max-width: 768px) {
#sec05 .sec05-01__inner h1,
#sec05 .sec05-02__inner h1,
#sec05 .sec05-03__inner h1 { font-size: 21px; }
}

/* --- sec05-01 --- */
#sec05 .sec05-01__inner { width: 1500px; margin: 0 auto; }
#sec05 .sec05-01__inner .sec-pct  { float: left; width: 730px; padding-top: 0px; }
#sec05 .sec05-01__inner .sec-desc { float: right; width: calc(100% - 820px); }


@media screen and (max-width: 1550px) {
#sec05 .sec05-01__inner { width: 90%; }
#sec05 .sec05-01__inner .sec-pct  { width: 45%; }
#sec05 .sec05-01__inner .sec-desc { width: 50%; }
#sec05 .sec05-01__inner h2.sec-ttl { margin-bottom: 20px; }
#sec05 .sec05-01__inner .sec-pct img { width: 100%; height: auto; }
}

@media screen and (max-width: 1100px) {
#sec05 .sec05-01__inner h2.sec-ttl img { width: 80%; height: auto; }	
}

@media screen and (max-width: 768px) {
#sec05 .sec05-01__inner { width: 100%; }	
#sec05 .sec05-01__inner .sec-pct  { float: none; width: 100%; margin-bottom: 30px; }
#sec05 .sec05-01__inner .sec-desc {	float: none; width: 100%; }
#sec05 .sec05-01__inner h2.sec-ttl { margin-bottom: 10px; }
#sec05 .sec05-01__inner h2.sec-ttl img { width: auto; height: 40px; }
}

/* --- sec05-02 --- */
#sec05 .sec05-02__inner { width: 1000px; margin: 80px auto 0 auto; }
#sec05 .sec05-02__inner .sec-pct  { float: right; width: 350px; }
#sec05 .sec05-02__inner .sec-desc {	float: left; width: calc(100% - 440px); }


@media screen and (max-width: 1100px) {
#sec05 .sec05-02__inner { width: 90%; }
#sec05 .sec05-02__inner .sec-pct  { width: 45%; }
#sec05 .sec05-02__inner .sec-desc {	width: 50%; }
#sec05 .sec05-02__inner .sec-pct img { width: 100%; height: auto; }	
}

@media screen and (max-width: 768px) {
#sec05 .sec05-02__inner { width: 100%; margin-top: 30px; }
#sec05 .sec05-02__inner .sec-pct  { float: none; width: 100%; margin-bottom: 20px; }
#sec05 .sec05-02__inner .sec-desc { float: none; width: 100%; }
}

/* --- sec05-03 --- */
#sec05 .sec05-03__inner { width: 1000px; margin: 80px auto 0 auto; }
#sec05 .sec05-03__inner .sec-movie  { 
	float: left;
	width: 550px;
}
#sec05 .sec05-03__inner .sec-movie .movie-wrap {
    position: relative;
    padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
}
#sec05 .sec05-03__inner .sec-movie .movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#sec05 .sec05-03__inner .sec-desc {	float: right; width: calc(100% - 640px); }

@media screen and (max-width: 1100px) {
#sec05 .sec05-03__inner { width: 90%; }
#sec05 .sec05-03__inner .sec-movie  { width: 55%; }
#sec05 .sec05-03__inner .sec-desc {	width: 40%; }
}

@media screen and (max-width: 768px) {
#sec05 .sec05-03__inner { width: 100%; margin-top: 30px; }
#sec05 .sec05-03__inner .sec-movie  { float: none; width: 100%; margin-bottom: 20px; }
#sec05 .sec05-03__inner .sec-desc { float: none; width: 100%; }
}


/* ---------- sec 06 ---------- */
#sec06 {
	width: 100%;
	padding: 110px 0 90px 0;
	box-sizing: border-box;
	background: url('../img/lp01_bg_sec06.png') center top no-repeat;
}

@media screen and (max-width: 768px) {
#sec06 { padding: 50px 10px 60px 10px; background-size: 40px auto; }
}

/* --- sec06-01 --- */
#sec06 .sec06-01__inner { margin: 10px 0 30px 0; text-align: center; }

@media screen and (max-width: 768px) {
#sec06 .sec06-01__inner img { width: auto; height: 40px; }
}

/* --- sec06-02 --- */
#sec06 .sec06-02__inner { width: 1000px; margin: 50px auto; }
#sec06 .sec06-02__inner ul.sec-products {
	margin: 0;
	padding: 0;
	list-style-type: none;
	letter-spacing: -4em;
}

#sec06 .sec06-02__inner ul.sec-products li {
	width: 235px;
	margin-bottom: 30px;
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
}
#sec06 .sec06-02__inner ul.sec-products li:not(:nth-child(4n)) { margin-right: 20px; }
#sec06 .sec06-02__inner ul.sec-products h1 {
	margin: 10px 0 5px 0;
	font-size: 15px;
	font-weight: bold;
}
#sec06 .sec06-02__inner ul.sec-products p { font-size: 13px; }
#sec06 .sec06-02__inner ul.sec-products h3 { margin-top: 5px; font-size: 22px; font-weight: bold; }
#sec06 .sec06-02__inner ul.sec-products h3 em { font-size: 30px; color: #cc0000; font-style: normal; }

@media screen and (max-width: 1050px) {
#sec06 .sec06-02__inner { width: 100%; padding: 0 15px; box-sizing: border-box; }	
#sec06 .sec06-02__inner ul.sec-products li { width: 31.33333%; margin: 0 1% 30px 1%; }
#sec06 .sec06-02__inner ul.sec-products li:not(:nth-child(4)) { margin: 0 1% 30px 1%; }
#sec06 .sec06-02__inner ul.sec-products li img { width: 100%; height: auto; }
}

@media screen and (max-width: 768px) {
#sec06 .sec06-02__inner { margin: 20px auto; padding: 0; }		
#sec06 .sec06-02__inner ul.sec-products li { width: 46%; margin: 0 2% 30px 2%; vertical-align: top; }
#sec06 .sec06-02__inner ul.sec-products li:not(:nth-child(4)) { margin: 0 2% 30px 2%; }
#sec06 .sec06-02__inner ul.sec-products h1 { font-size: 16px; }
#sec06 .sec06-02__inner ul.sec-products h3 { font-size: 18px; }
#sec06 .sec06-02__inner ul.sec-products h3 em { font-size: 20px; }	
}


/* ---------- sec 07 ---------- */
#sec07 {
	width: 100%;
}

#sec07 .sec07__inner {
	width: 1000px;
	margin: 30px auto;
	border: 1px solid #eee;
	padding: 30px 50px;
	box-sizing: border-box;
}

#sec07 .sec07__inner h1 {
	text-align: center;
	margin-bottom: 10px;
	font-size: 25px;
}

#sec07 .sec07__inner p { font-size: 14px; line-height: 1.9; }

@media screen and (max-width: 1050px) {
#sec07 .sec07__inner { width: 100%; padding: 15px 20px; }
}



/* ---------- NEWS ---------- */
#news {
	width: 100%;
	padding: 0 10px;
	margin: 40px 0;
	box-sizing: border-box;
}

#news h1 {
	margin-bottom: 15px;
	text-align: center;
	color: #cc0000;
	font-size: 22px;
	font-weight: bold;
}

#news p {
	text-align: center;
	font-size: 13px;
	line-height: 1.6;
}

@media screen and (max-width: 768px) {
#news h1 { font-size: 19px; }	
#news p { text-align: left; }	
}

/* ---------- footer ---------- */
#footer {
	width: 100%;
	padding: 40px 30px;
	box-sizing: border-box;	
}

.footer__inner { text-align: center; }

.footer__inner ul {
	margin: 0 0 10px 0;
	padding: 0;
	letter-spacing: -4em;
}

.footer__inner ul li {
	padding: 0 10px;
	display: inline-block;
	list-style-type: none;
	letter-spacing: normal
}

.footer__inner ul li a {
	font-size: 0.9rem;
	font-weight: bold;
	color: #000;
	text-decoration: none;
}

.footer__inner ul li a:hover { color: #c9060a; }
.footer__inner p small { font-size: 0.7rem; }

@media screen and (max-width: 1060px) {
}



/* ---------- clearfix ---------- */
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix { min-height: 1px; }

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}
.clearfix:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
