@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}


@media screen and (max-width:1100px){
	
body{
	font-size:1.4vw;
}

.tab{ display:block!important; }


/*Contents layout
----------------------------------------------------*/
.contents{
	width:94%;
}


/*problem
----------------------------------------------------*/
#problem .box01 .box_right{
	padding-top:20px;
	font-size:2.4vw;
}

#problem .box02 .box_left{
	padding-top:20px;
	font-size:2.4vw;
}


/*about
----------------------------------------------------*/
#about h3{
	font-size:2.4vw;
}
	
#about h3 span{
	font-size:3.2vw;
}

#about .cf{
	background:url(../img/img_about05.png) no-repeat center 14vw;
	background-size:44vw;
}

#about .box_left p,
#about .box_right p{
	font-size:1.8vw;
}

#about .box_left h3,
#about .box_center h3,
#about .box_right h3{
	font-size:2.4vw;
}

#about .box_center h3{
	width:340px;
	margin-bottom:20px;
	background:url(../img/img_about04.png) no-repeat center;
	background-size:contain;
}
	
#about .box_right h3 span{
	font-size:3.2vw;
}


/*btn
----------------------------------------------------*/
.btn a{
	width:80%;
	font-size:4vw;
}


/*region
----------------------------------------------------*/
#region h3{
	font-size:3.2vw;
}

#region h3 span{
	font-size:4vw;
}

#region h3 span span{
	font-size:3.2vw;
}

#region p{
	font-size:4.4vw;
}


/*option
----------------------------------------------------*/
#option .box_option h3{
	font-size:4vw;
}

#option .box_option h3 span{
	font-size:2.4vw;
}

#option .box_option h3 span span{
	font-size:5.4vw;
}

#option .box_option h4{
	font-size:3.2vw;
}


}



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

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size:3.6vw
}
	
.pc{display:none!important;}
.sp{display:block!important;}	


/*header
----------------------------------------------------*/
header{
	position:fixed;
	width:100%;
	background:rgba(255,255,255,0.85);
	z-index:9;
}

header h1{
	width:60px;
	margin:2vw auto 2vw auto;
}

header .box_nav{
	display:none;
}


/*sp button
-------------------------------------------------*/
#triggerBox{
    position: fixed;
    top: 3vw;
    right: 2vw;
	width: 50px;
	height: 40px;
    z-index: 10001;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 100%;
	height: 100%;
	/*background: linear-gradient(to left, #E70012, #C01920);*/
	display: block;
}
.menu-trigger span {
    position: absolute;
    left: 12px;
    width: 26px;
    height: 2px;
    background-color: #E70012;
}
.menu-trigger span:nth-of-type(1) {
    top: 15px;
}
.menu-trigger span:nth-of-type(2) {
	top: 21px;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(2px) rotate(-30deg);
	transform: translateY(2px) rotate(-30deg);
}

.menu-trigger.active span:nth-of-type(2) {
	-webkit-transform: translateY(-4px) rotate(30deg);
	transform: translateY(-4px) rotate(30deg);
}


/*navigation
-------------------------------------------------*/
#headIn{
	overflow: auto;
	position: fixed;
	height:100%;
	left: 0px;
	top: 0px;
	right: 0px;
    background: rgba(255,255,255,.95);
    -webkit-overflow-scrolling: touch;
    z-index: 10000;
}

@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}

#headIn{
    display: none;
}

#headIn.active{
    display: block;
    animation: show 0.3s linear 0s;
}


header #headIn p{
	margin:20vw auto 4vw auto;
	padding:0;
}

header #headIn p img{
	width:20%;
	height:auto;
	margin:0 auto;
	padding:0;
	display:block;
}

header #headIn nav ul{
    padding: 0 5%;
	display:block;
}

header #headIn nav ul li{
	display:block;
}

header #headIn nav ul li a{
    padding: 6% 0;
    color: #000!important;
    font-size: 4vw;
    text-decoration: none;
	text-align:center;
    display: block;
}

header #headIn nav ul li:last-child{
    width: 60%;
    float: none;
	margin:0 auto;
	padding:6vw 0 0 0;
	clear:both;
	display:block;
}

header #headIn nav ul li:last-child a{
	padding:3px 20px 6px 24px;
	background:linear-gradient(to left, #E70012, #C01920);
	color:#FFF!important;
	overflow: hidden;
	z-index: 1;
	transition: color 150ms ease-in-out;
	vertical-align:middle;
}


/*Contents layout
----------------------------------------------------*/
h2.sec{
	padding-top:16vw;
	margin-bottom:12vw;
	font-size:6vw;
}

h2.sec:after{
	top:30vw;
}


/*mv
----------------------------------------------------*/
#mv{
	height:auto;
	background:url(../img/img_mv.jpg) no-repeat center 18vw;
	background-size:contain;
	overflow: hidden;
}

#mv .contents{
	width:100%;
}

#mv .contents div{
	width:100%;
	height:auto;
	margin-top:67vw;
	padding:4vw;
}

#mv .contents div h2{
	font-size:7vw;
}

#mv .contents div h2 span{
	font-size:9vw;
}

#mv .contents div h2 span:nth-child(3){
	padding:0 4vw;
}

#mv .contents div h2 span:last-child{
	padding-left:4vw;
	font-size:7vw;
}

#mv .contents div p{
	margin-bottom:0;
	padding:4vw 4vw 0 4vw;
}


/*problem
----------------------------------------------------*/
#problem{
	padding:0 0 10vw 0;
	background:url(../img/bg_problem.gif) no-repeat center 15vw;
	background-size:1500px;
}

#problem h2.sec:after{
	top:42vw;
}

#problem .box01 .box_left{
	float:left;
	width:35%;
}
	
#problem .box01 .box_right{
	float:left;
	width:65%;
	margin-top:10vw;
	padding:2vw 0 7vw 4vw;
	background:url(../img/img_problem03.png) no-repeat;
	background-size:contain;
	font-size:3.6vw;
}

#problem .box02 .box_left{
	float:left;
	width:65%;
	margin:6vw 5% 0 0;
	padding:2vw 0 7vw 2vw;
	background:url(../img/img_problem04.png) no-repeat;
	background-size:contain;
	font-size:3.4vw;
}
	
#problem .box02 .box_right{
	float:right;
	width:30%;
	margin-top:4vw;
}


/*about
----------------------------------------------------*/
#about{
	padding:0 0 10vw 0;
	background:#F1F6F8 url(../img/bg_about.png) no-repeat center top;
	background-size:200%;
}
	
#about h3{
	margin-bottom:8vw;
	font-size:4vw;
}
	
#about h3 span{
	background:linear-gradient(transparent 70%, #FFF70E 60%);
	font-size:6vw;
}	

#about .cf{
	background:none;
}

#about .box_left{
	float:none;
	margin-bottom:6vw;
}

#about .box_center{
	float:none;
	margin-bottom:3vw;
	padding:13vw 0 18vw 0;
	background:url(../img/img_about05_sp.png) no-repeat center;
	background-size:contain;
}

#about .box_right{
	float:none;
	margin-bottom:14vw;
}

#about .box_left,
#about .box_center,
#about .box_right{
	width:100%;
}

#about .box_left p,
#about .box_right p{
	font-size:3.6vw;
}

#about .box_left img,
#about .box_right img{
	width:32vw;
}

#about .box_center img{
	width:40vw;
}

#about .box_left h3,
#about .box_center h3,
#about .box_right h3{
	margin:0 auto;
	font-size:26px;
}

#about .box_center h3{
	width:66vw;
	margin-bottom:4vw;
}
	
#about .box_right h3 span{
	font-size:8vw;
}

#about .kakomi{
	padding:5vw 4vw 2vw 4vw;
}

#about .kakomi h3{
	margin-bottom:5vw;
	font-size:4vw;
}

#about .kakomi ul li{
	float:none;
	width:100%;
	margin:0 0 3vw 0;
	padding:4vw 0;
}


/*btn
----------------------------------------------------*/
.btn{
	padding:10vw 0 0 0;
}

.btn a{
	width:80%;
	margin:0 auto 2vw auto;
	padding:3vw 0;
	font-size:7vw;
}

.btn p{
	font-size:4vw;
}


/*region
----------------------------------------------------*/
#region img{
	margin:0 auto 10vw auto;
}

#region h3{
	margin-bottom:8vw;
	font-size:3.6vw;
}

#region h3 span{
	font-size:5vw;
}

#region h3 span span{
	font-size:3.6vw;
}

#region p{
	padding-top:15vw;
	background:url(../img/img_region02.png) no-repeat center top;
	background-size:50px;
}

#region strong{
	padding:0 5vw;
	background:url(../img/img_region03.png) no-repeat center top;
	background-size:cover;
}

#region strong span{
	padding-bottom:2vw;
	font-size:4.0vw;
}


/*service
----------------------------------------------------*/
#service p{
	margin-bottom:15vw;
}

#service .box_service{
	width:100%;
	margin:0 auto 12vw auto;
	padding:4vw 4vw 2vw 4vw;
	box-shadow: 0 0 3vw 3vw rgba(0, 0, 0, .1);
}

#service .box_service h3{
	width:100%;
	margin:-8vw auto 6vw auto;
}

#service .box_service h3 em{
	width:15%;
	top:-2px;
	font-size:2.8vw;
}

#service .box_service h3 span{
	width:85%;
	padding:2vw;
	font-size:3.6vw;
}

#service .box_service dl{
	margin-bottom:4vw;
	padding-bottom:22vw;
	background:url(../img/img_service07_sp.png) no-repeat center bottom;
	background-size:32px;
}

#service .box_service dl:nth-child(4){
	padding-bottom:4vw;
}

#service .box_service dl dt{
	float:none;
	width:100%;
}

#service .box_service dl dd{
	float:none;
	width:100%;
}

#service .box_service dl dt img{
	width:16vw;
	height:auto;
	margin:0 auto;
	display:block;
}

#service .box_service dl dd img{
	position:relative;
	right:auto;
	width:30vw;
	height:auto;
	margin:0 auto;
	display:block;
}

#service .box_service dl dd .mb80{
	margin-bottom:4vw!important;
}

#service .box_service dl:nth-child(2) dd img{
	width:50vw;
}

#service .box_service dl dd h4{
	font-size:5vw;
}

#service .box_service dl:nth-child(4) dd h4{
	padding-top:2vw;
}

#service .box_service dl dd h4,
#service .box_service dl dd p{
	float:none;
	width:100%;
	margin-bottom:3vw;
	text-align:center;
}

#service .btn{
	padding:6vw 0 0 0;
}


/*option
----------------------------------------------------*/
#option .option01{
	background:url(../img/bg_option01_sp.png) no-repeat left 12vw;
	background-size:100%;
}

#option .option02{
	padding:0 0 5vw 0;
	background:url(../img/bg_option02_sp.png) no-repeat right bottom;
	background-size:120%;
}

#option .box_option{
	margin:0 auto 16vw auto;
	padding:4vw;
	box-shadow: 0 0 3vw 3vw rgba(0, 0, 0, .1);
}

#option .box_option h3{
	margin-bottom:8vw;
	padding-bottom:3vw;
	font-size:5vw;
}

#option .box_option h3 span{
	font-size:3.6vw;
}

#option .box_option h3 span span{
	font-size:7vw;
}

#option .box_option h4{
	margin-bottom:6vw;
	font-size:4.4vw;
}	

#option .box_option a{
	margin:2vw auto 8vw auto;
}

#option .option02 p{
	margin-bottom:10vw;
}

#option .option01 dl,
#option .option02 dl{
	float:none;
	width:100%;
	margin-bottom:8vw;
}

#option .option01 img{
	height:30vw;
	margin:0 auto 2vw auto;
}

#option .option02 img{
	height:40vw;
	margin:0 auto 2vw auto;
}


/*page top
--------------------------------------------*/
#page-top a{
	display:none;
}


/*footer
----------------------------------------------------*/
footer{
	padding-top:10vw;
}

footer .contents{
	padding:8vw 0;
	font-size:3.2vw;
}

footer h2{
	width:18vw;
	margin:0 auto 6vw auto;
}

footer a.btn{
	margin:0 auto 4vw auto;
}

footer .copyright{
	padding:4vw 0;
	font-size:2.8vw;
}


}