@charset "utf-8";

@media screen and (max-width: 768px) {
	.SP{ display: block;}
	.PC{ display: none;}
	body{
		width: 100%;
		max-width: 100%;
		font-size: 3.5vw;
		overflow-x: hidden;
	}

/*--header-------------------------------------------------------*/
#header{
	padding:10px 0;
	text-align: center;
}

#header #logo{
	width: 180px;
	float:left;
	text-align: left;
	padding-bottom:0;
	padding-top:5px;
	line-height: 0;
}
#header	#menu{
	float:right;
	margin-top:5px;
		display: block;
		width: 40px;
		height: 30px;
	position: absolute;
	right: 4%;
	}
.menu1,
.menu1 span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
	
}
.menu1 {
  position: relative;
  width: 40px;
  height: 30px;
}
.menu1 span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #a3122a;
  border-radius: 3px;
}
.menu1 span:nth-of-type(1) {
  top: 0;
}
.menu1 span:nth-of-type(2) {
  top: 14px;
}
.menu1 span:nth-of-type(3) {
  bottom: 0;
}
.menu1.active span:nth-of-type(1) {
  -webkit-transform: translateY(15px) rotate(-45deg);
  transform: translateY(15px) rotate(-45deg);
}
.menu1.active span:nth-of-type(2) {
  opacity: 0;
}
.menu1.active span:nth-of-type(3) {
  -webkit-transform: translateY(-13px) rotate(45deg);
  transform: translateY(-13px) rotate(45deg);
}	

#gnav{
		display: none;
		width: 100%;
    height: 100%;
    transition: all 0.2s;
    transform: translate(100%);
    position: fixed;
    top: 63px;
    right: 0;	
	padding:0 4%;
	z-index: 9999;
	background: #fff;		
	}
#gnav.open {
		display: block;
    transform: translate(0); 
}	

#gnav ul li{
		width: 100%;
	}	
#gnav ul a{
	display: block;
	padding:10px 15px;
	font-size:1em;
}
	
#gnav ul{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: flex-start;
	padding-top:0.5em;
}
	#gnav ul.navli1{
		padding-bottom:0;
	}
	#gnav ul.navli1 li{ margin-bottom:0.5em;}
#gnav ul.navli1 li a{
	min-width: 100%;
	padding:0.6em 2em;
	border-radius: 50px;
}
	#gnav ul.navli2{
		text-align: left;
	}
#gnav ul.navli2 li:before{
	content: "/";
	color:#a3122a;
	padding:0 0 0 0;
}
#gnav ul.navli2 li a{
	display: inline-block;
	padding-bottom:0;
	font-weight: 600;
	border-bottom:none !important;
}
#gnav ul.snsli{
	position: relative;
	right:0;
	top:5px;
	text-align: center;
	display: block;
}
#gnav ul.snsli li{
	width: auto;
	display: inline-block;
	margin:0 0.3em;
}	
	#gnav ul.snsli li a{
		display: inline-block;
	}	
	#gnav ul.snsli li a img{
		width: 14px;
	}

/*--content-------------------------------------------------------*/
#content{
	width:100%;
	height:auto;
	margin: 0 auto;
	padding:0;
	clear: both;
	text-align: left;
}
/*--main content end-------------------------------------------------------*/
/*--footer-------------------------------------------------------*/

.fbana{
	background: #eeeeee;
	padding:5vw 4% 3vw;
	text-align: center;
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: flex-start;
	margin-left:-2%;
}
.fbana li{
	width: 48%;
	margin:0 0 1em 2%;
}
#footer{
	width: 100%;
	padding:5vw 0 0;
}

#footer .box1{
	width: 100%;
	padding-bottom:1em;
}

	#footer .box1 ul li img{width: 14px;}
#footer .box2{
	width: 100%;
}
#footer .box2 ul{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;	
}
#footer .box2 ul li{
	width: 50%;
	padding:10px 0;
	font-size:0.9em;
}
#footer .box2 ul li.pcend{ width:50%; }

#footer .box2 ul li a{
	padding-bottom:5px;
	border-bottom:solid 1px #fff;
	letter-spacing: 0;
}

#footer .copy{ padding:0.5em 0; background:#a3122a; margin-top:2em; }
#footer .copy .wrap a{
	position:relative;
	padding-bottom:0.5em;
	left:0;
	text-align:center;
	display:block;
	width:100%;
}	
#footer address{
	font-style: normal;
	font-weight: 400;
	color:#fff;
	font-size:0.8em;
	text-align: center;
}

/*--footer end-------------------------------------------------------*/	

/* TOP */
.homepage #content{ padding-top:15vw;}	
#message{
	padding:45vw 0 5vw;
	background: #fcf7f9;
}
#message .wrap{
	position: relative;
}
#message .pic{
	position: absolute;
	left:0;
	top:-65vw;
	width: 100%;
}
	#message .pic img{
		width: 100%;
		max-width: 100%;
	}
#message .txt{
	position: relative;
	width: 100%;
	background: #bf1424;
	color:#fff;
	padding:1em 1.5em;
	top:-5vw;
	right:0;
	
}
#message .txt h2{
	font-weight: 600;
	font-size:1em;
	padding-bottom:0.6em;
}
#message .txt p{
	font-size:1.1em;
	font-weight: 600;
	line-height: 2em;
}
#message .txt2 p{
	padding-bottom:2em;
}
.btns1{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-around;
	padding:5vw 0;
}
.btns1 li{
	width: 100%;
	margin:0.5em 0;
}
.ttl1 span{

	font-size:1.6em;
	margin-bottom:4vw;
}	
#report{
	padding:3vw 0 10vw;
}
#report .timeline{
	padding-bottom:5vw;
}
#report .timeline .fb,#report .timeline .tw{
	width: 100%;
	margin-bottom:1em;
}
.list1{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: flex-start;
	padding-bottom:4vw;
	margin-left:0;
}
.list1 li{
	box-shadow: 0 2px 4px rgba(64,27,28,0.13);
	width: 100%;
	margin:0 0 1em;
}
.list1 li .pic img{
	width: 100%;
	height: 150px;
	object-fit: cover;
	border-radius: 5px 5px 0 0;
}

.morebtn{
	text-align: center;
}
.morebtn a{
	font-size:1em;	
}

.slide li img{
	width: 100%;
	height: 30vw;
	object-fit: cover;
}	

#blog{
	padding:6vw 0;
}
#blog .wrap{
	padding:5vw 0 0;
}
#blog #main{
	float:none;
	width: 100%;
	padding-bottom:6vw;
}
.ttl2{
	padding:7px 0;
	font-size:1.3em;
	line-height: 1.3em;	
	margin-bottom:0.8em;
}
#blog #side{
	float:none;
	width: 100%;
}

.postlist{
	padding-bottom:20px;
}
.postlist li{
	padding:0 0 15px;
	margin-bottom:15px;
	border-bottom:solid 3px #eee;
}
.postlist li .pic{
	width: 32%;
}
.postlist li .pic img{
	width: 100%;
	height: 100px;
	object-fit: cover;
	border-radius: 5px;
}
.postlist li .txt{
	width: 65%;
}
.postlist li .txt .meta{
	padding-bottom:0.7em;
}
.postlist li .txt .meta span.cat{
	background: #bf1523;
	color:#fff;
	font-size:0.8em;
	display: inline-block;
	width: 50%;
	padding:0 0.4em;
	text-align: center;
	margin-right:0.6em;
}
.postlist li .txt .title{
	font-weight: 700;
	font-size:1em;
	padding:0;
}	

#about{
	padding:6vw 0 0;
}
#about .title{
	padding-bottom:4vw;
}
#about .title .pic{
	width: 60%;
	margin:0 auto 1em;
}
#about .title .txt{
	width: 100%;
}
#about .title .txt h1{
	font-size:1.4em;
}
#about .title .txt .mes{
	font-size:1.1em;
	font-weight: 700;
	line-height: 2em;
	padding-bottom:20px;
}
#about .txt2 .mvlist{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;	
	padding:1em 0 5vw;
}
#about .txt2 .mvlist li{
	width: 100%;
	list-style: none;
	margin:0 0 1em;
}
#about .txt2 .mvlist li .mv iframe{
	width: 100%;
	height: 150px;
}

.bosyu{
	padding:5vw 4% 4vw;
	text-align: center;
}
.bosyu h3{
	font-size:1.4em;
	font-weight: 700;
	color:#011172;
	padding-bottom:0.4em;
}
.bosyu p{padding-bottom:1em;}	


#contact{
	padding:6vw 0;
}
#contact h1{
	font-size:1.6em;
}
#contact .mes{
	font-size:1em;
	padding-bottom:5vw;
}
#form{
	padding:1em 1.5em;
	border-radius: 10px;
}
#form h3{
	font-size:1.4em;
	text-align: center;
	padding-bottom:15px;
}
#form h3 span{
	padding-bottom:10px;
	font-weight: 700;
}
#form .mes{
	font-size:1em;
	font-weight: 700;
	text-align: center;
	padding-bottom:4vw;
}
#form table{
	width: 100%;
	margin-bottom:1em;
}
#form table th{
	width:100%;
	display: block;
	position: relative;
	font-size:1.1em;
	padding:5px 0 5px 1.3em;
	vertical-align: top;
}

#form table td{
	display: block;
	width: 100%;
	padding-bottom:1em;
}
#form table td .wpcf7-list-item{
	display: block;
	width:100%;
	padding-bottom:0.5em;
}
#form table td input[type="text"],#form table td input[type="tel"],#form table td input[type="email"]{
	width: 100%;
	height: 40px;
}
#form table td textarea{
	width: 100%;
	height: 120px;
}
#form .submit{
	text-align: center;
	padding-bottom:3vw;
}


#support{
	padding:6vw 0;
}
.baloon{
	background: #c30303;
	width: 90px;
	height: 90px;
	line-height: 90px;
	border-radius: 90px;
	text-align: center;
	color:#fff;
	font-size:15px;
	font-weight: 600;
	letter-spacing: 0;
	margin:0 auto 20px;
	position: relative;
}

.ttl3{
	font-size:1.6em;
	line-height: 1.3em;
	padding-bottom:15px;
}

#support .title{
	padding-bottom:4vw;
}

#support .title dl dt{
	width: 100%;
	padding:0.5em 1em;
	font-size:1.8em;
	line-height: 1.3em;
}
#support .title dl dd{
	width: 100%;
	padding:1.5em 2em;
}
#support .title dl dd h2{
	font-weight: 700;
	font-size:1.3em;
	line-height: 1.3em;
	padding-bottom:10px;
}
#support .title dl dd h2 span{
	display: block;
	font-weight: 700;
	font-size:0.75em;
	padding-top:0.5em;
}
#support .txt{
	padding:1em;
}
#support .txt h3{
	font-size:1.3em;
}
#support .txt p{ padding-bottom:2em;}
	

#profile{
	padding:6vw 0;
}
#profile .title{
	  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
	padding-bottom:5vw;
}
#profile .title h1{
	width: 100%;
	height: auto;
	padding:1em 0;
	
}
#profile .title p{
	display: block;
	width: 100%;
	line-height: 2em;
	padding:1em 0;
}

.prof1{
	background: #fcf7f9;
	padding:6vw 0;
}
.prof1 .txt{
	order: 2;
	width: 100%;
}
.prof1 .txt p{
	padding-bottom:1.5em;
}
.prof1 .pic{
	width: 100%;
	text-align: center;
	order: 1;
	padding-bottom:1em;
}
#history{
	padding:6vw 0;
}
#history h2{
	padding:10px 2em;
	letter-spacing: 2px;
	margin-bottom:1em;
}
#history .box{
	margin:0 -100% 5vw;
	border-bottom:solid 2px #eeeeee;
	padding:0 100% 1vw;
}
#history h3{
	font-size:1.2em;
	padding-bottom:10px;
}

#history .bF{
	background: url(../img/profile/line.png) repeat-x left bottom;
	background-size: auto 7px;
	margin-bottom:1em;
	padding-bottom:1.5em;
}

#history dl{
	padding:1em 0 0;
}
#history dl dt{
	font-size:1.1em;
	padding-bottom:1.5em;
}
#history dl dd{
	border-bottom:solid 2px #eee;
	padding:0 0 1em;
	margin-bottom:1em;
	position: relative;
}
#history dl dd span{
	position: relative;
	display: block;
	left: 0;
}
	
#vision{
	padding:6vw 0;
}
#vision .box1{
	position: relative;
	padding-bottom:6vw;
	margin-bottom:6vw;
}
#vision .box1 .pic{
	position: relative;
}
#vision .box1 .txt{
	width: 100%;
	margin-left:auto;
	position: relative;
	top:0;
	padding:1em 1.5em;
}
#vision .en{ padding-bottom:0.6em;}
#vision .subttl{
	font-weight: 700;
	font-size:1.5em;
	line-height: 1.6em;
	padding-bottom:4vw;
}
#vision .titlebox1{
	padding:5vw 100% 2vw;
	margin:0 -100% 6vw;
}
#vision .box2{
	padding-bottom:6vw;
	position: relative;
}
#vision .box2 .pic{
	position: relative;
	right:0;
	top:0;
	z-index: 2;	
}
#vision .box2 .txt{
	width: 100%;
	position: relative;
	background: #c30303;
	z-index: 1;
	padding:1em 1.5em;
	margin-bottom:4vw;
}
#vision .box2 .txt2{
	width: 100%;
}
#vision h3{
	font-size:1.4em;
	line-height: 1.5em;
	padding-bottom:1em;
}
#vision h3 span{
	font-size:0.8em;
}
#vision p{ line-height: 2em;}
#vision .box3{
	padding:6vw 100%;
	margin:0 -100% 5vw;
	background: #fcf7f9;
}
#vision .box3 .inner{
	position: relative;
}
#vision .box3 .pic{
	position: relative;
	padding-bottom:1em;
	right: 0;
}
#vision .box3 .txt{
	width: 100%;
}
	
#vision .vision{
	padding:0 0 3vw;
}
#vision .vision dl{
	padding:4vw 100%;
	margin:0 -100%;
	border-bottom:solid 2px #eeeeee;
}
#vision .vision dl dt{
	display:inline-block;
	background:#c30303;
	font-weight:700;
	font-size:1.1em;
	color:#fff;
	line-height:1.4em;
	padding:10px 4vw;
}
#vision .vision dl dd{
	font-weight:700;
	font-size:1.3em;
	line-height:1.5em;
	padding:10px 4vw;
}
.wpcf7-recaptcha{ padding-bottom:5vw;}
	
.pnav div{
	width:30%;
}
	
#sidesns{
	position:relative;
	right:0;
	top:0;
	height:auto;
	z-index:9998;
	width:92%;
	border-left:none;
	padding:5vw 0;
	margin:0 auto;
}	
	#sidesns p img{
		width:30px;
		display:block;
		margin:0 auto;
	}
	#sidesns .nd img{
		width:250px !important; 
		display:block;
		margin:0 auto;
	}	
	#sidesns .top img{
		width:250px !important; 
		display:block;
		margin:0 auto;
	}
.sidesns{
		padding-right:0 !important;
	}	

#privacy{
	padding:6vw 0;
}
#privacy .wrap{
	padding:1.5em;
}
#privacy h1{
	text-align: center;
	font-weight: 700;
	font-size:1.5em;
	line-height: 1.3em;
	padding-bottom:1em;
}	
    
.movie-area{
    display: block;
    margin: 0 auto 35vw;
}
    
    .movie-first{
       display: block;
    margin: 0 auto;     
    }    
    
.movie-area video{
    width: 100%;
   
}

.movie-area iframe{
    width: 100%;
    height: 50vw;
     margin: 0 0 3vw;
}   
.movie-first iframe{
    width: 100%;
    height: 50vw;
     margin: 0 0 3vw;
}       
  
    
}


