/*-------------------------------------
reset
-------------------------------------*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,caption,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;font-weight:normal;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}ins{text-decoration:none}mark{font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}hr{display:block;height:1px;border:0;padding:0}input,select{vertical-align: middle}img{vertical-align:top;font-size:0;line-height:0}th{text-align:left}iframe{vertical-align:bottom}video{display:block}strong{font-weight:bold}
/*-------------------------------------
common
-------------------------------------*/
body{color:#212121;font-family:'Open Sans','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;font-size:14px}
ins,mark{background:#ff9;color:#000}
p{line-height:1.8em}
ins,mark{background:#ff9;color:#000}
img{width:auto;max-width:100%;height:auto}
hr{margin:1em 0;border-top:1px solid #ccc}
a{-webkit-tap-highlight-color:rgba(0,0,0,0);text-decoration:none;overflow:hidden;outline:none}
a:hover{text-decoration:none}
input,textarea,select,textarea,button{outline:none;border-radius:0;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}
.clear{clear:both}
.clearfix{zoom:100%}
.clearfix:after{content:"";clear:both;display:block}
.box{-webkit-box-sizing:border-box;box-sizing:border-box}
.mt_10{margin-top:10px}.mt_20{margin-top:20px}.mt_30{margin-top:30px}.mt_40{margin-top:40px}.mt_50{margin-top:50px}
.mb_10{margin-bottom:10px}.mb_20{margin-bottom:20px}.mb_30{margin-bottom:30px}.mb_40{margin-bottom:40px}.mb_50{margin-bottom:50px}
.red{color:#c00}
main{overflow:hidden}
.s2_phone{display:none}

.content{
	margin:0 auto;
	max-width:1200px;
	padding:0 20px;
}
.content p{
	font-size:1.13rem;
	line-height:1.8;
}

.c_link_btn{
	position:relative;
	display:block;
	margin:0 auto;
	width:80%;
	max-width:500px;
	text-align:center;
	height:80px;
	line-height:80px;	
	color:#fff;
	font-size:26px;
	font-weight:bold;
	border-top-left-radius:20px;
	border-bottom-right-radius:20px;
	background:#000;
	animation:furu 2.2s infinite;
	transition:background .3s;
}
.c_link_btn strong{
	color:#f00;
	transition:color .3s;
}
.c_link_btn:hover{background:#c00}
.c_link_btn:hover strong{color:#ff0}

main.p_main{
	padding-bottom:100px;
}

/*-------------------------------------
header
-------------------------------------*/
header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	box-shadow:0px 5px 15px -5px rgba(0,0,0,.3);
	background:rgba(255,255,255,.3);
	z-index:100;
	transition:background .5s;
}
header.sc_h{
	background:rgba(255,255,255,.95);
}
header .content{
	height:70px;
	overflow:hidden;
}

header .content .logo{
	float:left;
	width:180px;
}
header .content .link_btn{
	position:relative;
	float:right;
	display:block;
	margin-top:10px;
	padding:0 35px 0 20px;
	height:50px;
	line-height:50px;	
	color:#fff;
	font-size:18px;
	border-top-left-radius:10px;
	border-bottom-right-radius:10px;
	background:#000;
}
header .content .link_btn:after{
	content:"";
	position:absolute;
	top:20px;
	right:10px;
	border:5px solid transparent;
	border-left:8px solid #fff;
}
header .content .link_btn strong{
	color:#f00;
}

/*-------------------------------------
s1
-------------------------------------*/
.s1,
.s1 .content{
	position:relative;
}
.s1{
	margin-bottom:200px;
}
.s1_bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:560px;
	background:url(../img/s1_bg.jpg) no-repeat center top;
	background-size:cover;
}
.s1_bg img{
	width:100%;
}

.s1 .content{
	height:560px;
}

.s1_text,
.s1_3p{
	position:absolute;
	left:0;
	width:60%;
}

.s1_text{
	bottom:25%;
}
.s1_3p{
	position:absolute;
	bottom:0%;
	margin-bottom:-9%;
}

.s1_phone{
	position:absolute;
	top:50%;
	right:1%;
	width:39%;
	margin-top:-17.5%;
}

/*-------------------------------------
s2
-------------------------------------*/
.s2_inner_up{
	padding:20px 0;
	background:#000 url(../img/s2_bg.jpg) repeat-x center center;
}
.s2_info{
	display:flex;
	justify-content:space-around;
}

.s2_info li{
	width:30%;
	padding:20px 10px;
	text-align:center;
	font-size:20px;
	font-weight:bold;
	line-height:1.5;
	color:#fff;
	border:1px solid #390000;
	border-top-left-radius:20px;
	border-bottom-right-radius:20px;
	background:#950000 url(../img/s2_cbg.jpg) no-repeat center top;
	background-size:cover;
}

.s2_inner_bottom{
	padding:20px 0 100px;
	background:#efefef;
}

.s2_ib_text{
	margin-bottom:20px;
	text-align:center;
}

.content p.title{
	margin-bottom:20px;
	text-align:center;
	font-size:24px;
	font-weight:bold;
}
.title span{
	display:block;
	font-size:30px;
	font-weight:bold;
	color:#c00;
}

/*-------------------------------------
youtube
-------------------------------------*/
.yt{
	padding:100px 0;
}
.ycb_up {
    margin: 0 auto 20px;
    width: 100%;
    max-width: 620px;
}
.youtube_content{
	padding-bottom:100px;
}
.ycb_up{
	margin:0 auto 20px;
	width:100%;
	max-width:620px;
}
.ycb_under p{
	text-align:center;
}

/* For Youtube Responsive*/
.movie{
	position:relative;
	width:100%;
	padding-top:56.25%;
}
.movie iframe{
	position:absolute;
	top:0;
	right:0;
	width:100% !important;
	height:100% !important;
}
/* For Youtube Responsive*/

/*-------------------------------------
s3
-------------------------------------*/
.s3 .content{
	padding:40px 0;
}
.s3_point li{
	float:left;
	width:50%;
}

.s3_title{
	text-align:center;
}

/*-------------------------------------
s35
-------------------------------------*/
.s35{
	background:#000 url(../img/s35_bg.jpg) no-repeat center center;
}
.s35 .content{
	padding-top:50px;
	padding-bottom:50px;
}
.content p.s35_title{
	padding:20px;
	text-align:center;
	line-height:1.6;
	color:#fff;
	font-size:38px;
	font-weight:bold;
	text-shadow:0 2px 8px rgba(0,0,0,1);	
}

.s35_text{
	padding:3% 5%;
	margin:0 auto 50px;
	max-width:750px;
	font-weight:bold;
	border-top-left-radius:20px;
	border-bottom-right-radius:20px;
	box-shadow:0px 5px 15px -5px rgba(0,0,0,.3);
	background:rgba(255,255,255,.85);
}
.s35_text span{
	display:block;
	margin:20px 0;
}


.s35_info{
	padding:100px 0;
}
.s35_info p{
	text-align:center;
	font-weight:bold;
}
.content p.s35i_title{
	font-size:40px;
	color:#c00;
	line-height:1.6;
}
.content p.s35i_text{
	font-size:30px;
}

/*-------------------------------------
s4
-------------------------------------*/
.s4{
	margin-bottom:50px;
}
.s4_inner_up{
	background:#000 url(../img/s4_bg.jpg) no-repeat center center;
	background-size:cover;
}
.s4_inner_up .content{
	padding:100px 0 200px;
}
.s4_inner_up .content p{
	text-align:center;
	line-height:1.6;
	color:#fff;
	font-size:38px;
	font-weight:bold;
	text-shadow:0 2px 8px rgba(0,0,0,1)
}

.s4_disp{
	max-width:1000px;
	margin:-150px auto 0;
	box-shadow:0px 5px 15px -8px rgba(0,0,0,.3)
}
.s4_text{
	padding:40px;
	text-align:center;
	font-weight:bold;
}
.s4_text strong{
	color:#c00;
	font-size:24px;
}
.s4_text span{
	font-weight:bold;
}


.s4_g_up{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}
.s4_g_up li{
	width:30%;
	box-shadow:0px 5px 15px -8px rgba(0,0,0,.3);
}
.s4_g_up li p{
	padding:10px;
	text-align:center;
	color:#fff;
	font-weight:bold;
	background:#000;
}
.content p.s4gu_title{
	font-size:20px;
}
.content p.s4gu_text{
	font-size:26px;
	color:#f00;
}


.s4_g_under{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}
.s4_g_under li{
	width:23%;
	margin-bottom:2%;
	box-shadow:0px 5px 15px -8px rgba(0,0,0,.3);
}
.s4_g_under li p{
	padding:10px;
	text-align:center;
	color:#fff;
	font-weight:bold;
	background:#000;
}
.content p.s4gud_title{
	font-size:20px;
}
.content p.s4gud_text{
	font-size:26px;
	color:#f00;
}


.s4_inner_under{
	background:#000;
}
.s4_inner_under .content p{
	padding:50px !important;
}

.mov{
	position:relative;
	background-image:url("../img/mov.png");
	background-repeat:no-repeat;
	background-size:contain;
	background-position:top;
	width:320px;
	margin:100px auto;
	z-index:0;
}
.mov:before{
	content:"";
	display:block;
	padding-top:199.83%;
}
.mov video{
	position:absolute;
	top:7%;
	left:8%;
	width:85%;
	height:auto;
	z-index:1;
	outline:none;
}

/*-------------------------------------
s45
-------------------------------------*/
.s45_inner_up{
	background:url(../img/s45_bg.jpg) no-repeat center center;
	background-size:cover;
}
.s45_step{
	margin-top:-50px;
	padding-bottom:50px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}
.s45_step li{
	position:relative;
	width:32%;
	box-shadow:0px 5px 15px -5px rgba(0,0,0,.8);
}

.s45_step li p span{
	display:block;
	padding:5% 10px;
	color:#fff;
	font-size:20px;
	font-weight:bold;
	text-align:center;
	background:rgba(0,0,0,.9)
}

.content p.s45_text{
	text-align:center;
	font-weight:bold;
	margin-bottom:50px;
}

/*-------------------------------------
s45_2
-------------------------------------*/
.s45_2_inner_up{
	background:url(../img/s45_2_bg.jpg) no-repeat center center;
	background-size:cover;
}

.s45_2_voice{
	margin-bottom:80px;
}
.s45_2_voice li div{
	margin:80px auto 0;
	display:flex;
	flex-wrap:nowrap;
	flex-direction:row;
	justify-content:space-between;
}
.s45_2_voice li div p:first-child{
	width:20%;
	padding:0 2%;
}
.s45_2_voice li div p:last-child{
	width:78%;
	padding:50px 40px;
	color:#333;
	font-weight:bold;
	border:1px solid #efefef;
	border-radius:10px;
	box-shadow:0 5px 15px -8px rgba(0,0,0,.3);
	background:#fefefe;
}

/*-------------------------------------
s5
-------------------------------------*/
.s5{
	padding:40px 0;
	background:#efefef url(../img/s5_bg.jpg) no-repeat center center;
	background-size:cover;
}

.content p.s5_title{
	position:relative;
	padding:20px 0;
	text-align:center;
	font-size:40px;
	font-weight:bold;
	color:#222;
	z-index:1;
}
.content p.s5_title:after{
	content:"VOICE";
	position:absolute;
	top:-70px;
	left:0;
	right:0;
	color:#fff;
	margin:0 auto;
	font-size:150px;
	opacity:.8;
	z-index:-1;
}

.s5_cus{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}

.s5_cus li{
	position:relative;
	width:22%;
	margin-bottom:3.5%;
	box-shadow:0px 5px 15px -8px rgba(0,0,0,.3);
	z-index:1;
}

/*-------------------------------------
s6
-------------------------------------*/
.s6 .content{
	padding:40px 0;
}
.s6_point li{
	float:left;
	width:50%;
}

.s6_title{
	text-align:center;
}


/*-------------------------------------
s65
-------------------------------------*/
.s65_inner_up{
	background:url(../img/s65_bg.jpg) no-repeat center center;
	background-size:cover;
}

.s65_point{
	margin-top:-50px;
	padding-bottom:50px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}
.s65_point li{
	position:relative;
	margin-bottom:50px;
	width:46%;
	background:rgba(0,0,0,.9);
	border-top-left-radius:10px;
	border-bottom-right-radius:10px;
	box-shadow:0px 5px 15px -5px rgba(0,0,0,.8)
}
.s65_p{
	position:absolute;
	top:-20px;
	left:0;
	font-size:30px;
	color:#fff;
	text-shadow:0 2px 8px rgba(0,0,0,1)
}
.s65_point li p{
	padding:20px;
	color:#fff;
}
.s65_point li p span{
	display:block;
	margin:10px 0;
	color:#f00;
	font-size:20px;
	font-weight:bold;
}
.s65_point li p strong{
	color:#ff0;
}

/*-------------------------------------
s7
-------------------------------------*/
.s7{
	background:url(../img/s7_bg.jpg) no-repeat center top;
	background-size:100%;
}
.content p.s7_title{
	padding:100px 0;
	text-align:center;
	font-size:40px;
	font-weight:bold;
	color:#fff;
	text-shadow:0 2px 8px rgba(0,0,0,1);
}

.s7_text{
	max-width:1000px;
	padding:5%;
	margin:-50px auto 0;
	box-shadow:0 5px 15px -8px rgba(0,0,0,.3);
	background:#efefef;
	outline:2px solid #fff;
	outline-offset:-10px;
}

.s7_img{
	display:block;
	overflow:hidden;
	border-radius:10px;
	margin:40px auto;
	width:90%;
	max-width:500px;
}
.s7_text .c_link_btn{
	width:90%;
}

/*-------------------------------------
s8
-------------------------------------*/
.s8{
	padding:100px 0 0;
}
.s8c_l{
}

.content p.s8cl_title{
	position:relative;
	padding:20px 0;
	text-align:center;
	font-size:40px;
	font-weight:bold;
	color:#222;
	z-index:1;
}
.content p.s8cl_title:after,
.content p.s8cl_title:before{
	content:"";
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
}
.content p.s8cl_title:after{
	bottom:10px;
	width:10px;
	height:10px;
	transform:rotate(45deg);
	background:#c00;
	z-index:-1;
}
.content p.s8cl_title:before{
	bottom:15px;
	width:150px;
	height:1px;
	background:#c00;
}
.content p.s8cl_text{
	padding:10px;
}

.s8c_r{
	max-width:1000px;
	margin:40px auto 0;
}

.s8_inner_bottom{
	margin-top:100px;
	padding:100px 0 150px;
	background:#efefef;
}

/*-------------------------------------
s9
-------------------------------------*/
.s9{
	padding:100px 0 50px;
}
.s9_img{
	max-width:500px;
	margin:0 auto 20px;
}

.s9_info{
	text-align:center;
}
.s9_info strong{
	color:#c00;
}

.s9_info a{
	font-size:14px;
	color:#c00;
	text-decoration:underline;
}
.s9_info a:hover{
	color:#f00;
	text-decoration:none;
}

/*-------------------------------------
privacy
-------------------------------------*/
.content p.pvc_title,
.content p.pvc_text{
	max-width:900px;
	margin:0 auto;
}
.content p.pvc_title{
	margin-top:20px;
	margin-bottom:20px;
	padding:0 10px;
	font-size:26px;
	font-weight:bold;
	line-height:1.5;
	border-left:10px solid #c00;
	border-bottom:1px solid #c00;
}
.content p.pvc_text{
	margin-bottom:50px;
}

/*-------------------------------------
footer
-------------------------------------*/
footer{
	padding:40px 20px;
	background:#000;
}
footer small{
	display:block;
	text-align:center;
	color:#fff;
}





@media screen and (max-width:1240px){
	.s1{
		margin-bottom:15%;
	}
}





@media screen and (max-width:960px){
/*-------------------------------------
s1
-------------------------------------*/
	.s1_bg{
		height:100%;
	}
	.s1 .content{
		height:auto;
	}

	.s1_text,
	.s1_3p{
		position:static;
		float:left;
	}
	.s1_text{
		margin-top:90px;
	}
	.s1_phone{
		top:67px;
		width:38%;
		margin-top:0;
	}

/*-------------------------------------
s4
-------------------------------------*/
	.s4_inner_up .content{
		padding-top:50px;
	}

/*-------------------------------------
s45
-------------------------------------*/
.s45_step li p span{
	font-size:2vw;
}

/*-------------------------------------
s5
-------------------------------------*/
	.s5_cus li{
		width:46%;
	}

/*-------------------------------------
s8
-------------------------------------*/
	.s8c_l,
	.s8c_r{
		float:none;
		width:100%;
	}
}





@media screen and (max-width:599px){
	.c_link_btn{
		width:100%;
		height:70px;
		line-height:70px;
		font-size:20px;
	}
	.content p.title{
		line-height:1.5;
	}
	main.p_main{
		padding-top:20px;
		padding-bottom:50px;
	}

/*-------------------------------------
header
-------------------------------------*/
	header .content{
		height:50px;
		padding:0 5px;
	}
	header .content .logo{
		width:130px;
	}
	header .content .link_btn{
		margin-top:5px;
		font-size:12px;
		padding:0 20px 0 9px;
		height:40px;
		line-height:40px;
	}
	header .content .link_btn:after{
		top:15px;
		right:0;
	}
/*-------------------------------------
s1
-------------------------------------*/
	.s1 .content{
		padding:0;
	}
	.s1_text,
	.s1_3p{
		float:none;
		width:100%;
	}
	.s1_text{
		margin-top:0;
		padding-top:60px;
	}
	.s1_phone{
		display:none;
	}

/*-------------------------------------
s2
-------------------------------------*/
	.s2_inner_up{
		float:left;
		width:50%;
	}
	.s2_inner_up .content{
		padding:0 10px;
	}
	.s2_phone{
		display:block;
		float:right;
		width:50%;
	}

	.s2_info{
		display:block;
	}

	.s2_info li{
		padding:10px;
		width:100%;
		font-size:14px;
		margin-bottom:10px;
	}
	.s2_info li:last-child{
		margin-bottom:0;
	}

	.s2_inner_bottom{
		padding-bottom:70px;
	}

/*-------------------------------------
youtube
-------------------------------------*/
	.yt{
		padding:50px 0;
	}

/*-------------------------------------
s3
-------------------------------------*/
	.s3_point li{
		float:none;
		width:100%;
	}

/*-------------------------------------
s35
-------------------------------------*/
	.s35 .content{
		padding-bottom:10px;
	}
	.content p.s35_title{
		font-size:30px;
		padding:0 0 10px;
	}
	.content p.s35_text{
		padding:6%;
		font-size:15px;
	}


	.s35_info{
		padding:50px 0;
	}
	.content p.s35i_title{
		font-size:9vw
	}
	.content p.s35i_text{
		font-size:18px;
	}

/*-------------------------------------
s4
-------------------------------------*/
	.s4_inner_up .content p{
		font-size:27px;
		padding:0 20px;
	}
	.s4_text{
		padding-left:0;
		padding-right:0;
	}
	.content p.s4_text{
		line-height:1.6;
	}

	.s4_g_up,
	.s4_g_under{
		justify-content:space-between;
	}
	.s4_g_up li p,
	.s4_g_under li p{
		padding:10px 5px;
	}
	.content p.s4gu_title{
		font-size:3vw;
	}
	.content p.s4gu_text{
		font-size:4vw;
		line-height:1.4;
	}
	.content p.s4gud_title{
		font-size:2.5vw;
	}
	.content p.s4gud_text{
		font-size:3vw;
		line-height:1.2;
	}
	.content p.s4_text_last{
		padding-bottom:40px;
	}

	.mov{
		margin:50px auto;
		width:270px
	}

/*-------------------------------------
s45
-------------------------------------*/
	.s45_step{
		display:block;
	}
	.s45_step li{
		width:100%;
		margin-bottom:50px
	}
	.s45_step li:last-child{
		margin-bottom:0;
	}
	.s45_step li p img{
		width:100%;
	}

	.s45_step li p span{
		font-size:20px;
	}
	.content p.s45_text{
		font-size:15px;
	}

/*-------------------------------------
s45_2
-------------------------------------*/
	.s45_2_voice{
		margin-bottom:50px;
	}
	.s45_2_voice li div{
		margin-top:50px;
	}
	.s45_2_voice li div p:first-child{
		width:27%;
	}
	.s45_2_voice li div p:last-child{
		width:70%;
		padding:20px 25px;
		font-size:15px;
	}

/*-------------------------------------
s5
-------------------------------------*/
	.content p.s5_title{
		font-size:30px;
		padding-top:0;
	}
	.content p.s5_title:after{
		font-size:5rem;
		top:-44px;
	}
	.s5_cus{
		justify-content:space-between;
	}
	.s5_cus li{
		width:48%;
		margin-bottom:4%;
	}

/*-------------------------------------
s6
-------------------------------------*/
	.s6_point li{
		float:none;
		width:100%;
	}
	.s6 .s2_inner_bottom .content{
		padding:0 20px;
	}

/*-------------------------------------
s65
-------------------------------------*/
	.s65_point{
		display:block;
		padding-bottom:0;
	}
	.s65_point li{
		width:100%;
	}
	.s65_point li p{
		font-size:15px;
	}
	.s65_point li p span{
		font-size:18px;
		margin-bottom:10px
	}


/*-------------------------------------
s7
-------------------------------------*/
	.content p.s7_title{
		padding:50px 0 100px;
		font-size:25px;
		line-height:1.6;
	}
	.s7_text{
		padding:40px 20px;
	}
	.s7_text p{
		font-size:15px;
	}
	.s7_img{
		margin:30px auto;
	}

/*-------------------------------------
s8
-------------------------------------*/
	.s8{
		padding-top:30px;
	}
	.content p.s8cl_title{
		font-size:30px;
	}
	main.p_main .content p.s8cl_title{
		font-size:25px;
	}

	.s8_inner_bottom{
		margin-top:50px;
		padding:50px 0 100px;
	}

	.s8c_r{
		margin-top:20px;
	}

/*-------------------------------------
s9
-------------------------------------*/
	.s9{
		padding-top:50px
	}

/*-------------------------------------
privacy
-------------------------------------*/
	.content p.pvc_title{
		font-size:20px;
	}
	.content p.pvc_text{
		font-size:14px;
	}

/*-------------------------------------
footer
-------------------------------------*/
	footer{
		padding:20px;
	}
}





@keyframes furu{
0%{transform: translate(0px, 0px) rotateZ(0deg)}
2%{transform: translate(2px, 2px) rotateZ(2deg)}
4%{transform: translate(0px, 2px) rotateZ(0deg)}
6%{transform: translate(2px, 0px) rotateZ(-2deg)}
8%{transform: translate(0px, 0px) rotateZ(0deg)}
10%{transform: translate(2px, 2px) rotateZ(2deg)}
12%{transform: translate(0px, 0px) rotateZ(0deg)}
14%{transform: translate(2px, 0px) rotateZ(-2deg)}
16%{transform: translate(0px, 2px) rotateZ(0deg)}
18%{transform: translate(0px, 0px) rotateZ(0deg)}
100%{transform: translate(0px, 0px) rotateZ(0deg)}
}
