@charset "utf-8";
/* CSS Document */

/* TOP */
#message{
	padding:140px 0 50px;
	background: #fcf7f9;
	/*margin-top:300px;*/
}
#message .wrap{
	position: relative;
}
#message .pic{
	position: absolute;
	left:0;
	top:-340px;
}
#message .txt{
	position: absolute;
	width: 60%;
	background: #bf1424;
	color:#fff;
	padding:45px;
	top:-370px;
	right:0;
}
#message .txt h2{
	font-weight: 600;
	font-size:1em;
	padding-bottom:1em;
}
#message .txt p{
	font-size:1.7em;
	font-weight: 600;
	line-height: 2em;
}
#message .txt2 h3{
	border-bottom:solid 1px #000;
	display:inline-block;
	padding-bottom:8px;
	margin-bottom:10px;
	font-size:1.3em;
	font-weight:700;
}
#message .txt2 p{
	padding-bottom:2em;
}
.btns1{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-around;
	padding:60px 0;
}
.btns1 li{
	width: 360px;
}
.btns1 li a{
	display: block;
	background: #a3122a;
	border-radius: 60px;
	color:#fff;
	padding:0.7em 1em 0.8em;
	text-align: center;
	font-weight: 600;
	font-size:1.2em;
}
.ttl1{
	text-align: center;
}
.ttl1 span{
	text-align: center;
	display: inline-block;
	padding-bottom:10px;
	border-bottom:solid 2px #c30303;
	color:#c30303;
	font-weight: 700;
	font-size:2em;
	margin-bottom:40px;
	line-height: 1.3em;
}
#report{
	padding:30px 0 100px;
}
#report .timeline{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
	padding-bottom:60px;
}
#report .timeline .fb,#report .timeline .tw{
	width: 48%;
}
.list1{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: flex-start;
	padding-bottom:40px;
	margin-left:-3%;
}
.list1 li{
	background: #fff;
	box-shadow: 0 3px 8px rgba(64,27,28,0.13);
	width: 30.333%;
	margin:0 0 30px 3%;
	border-radius: 5px;
}
.list1 li .pic img{
	width: 100%;
	height: 180px;
	object-fit: cover;
	border-radius: 5px 5px 0 0;
}
.list1 li .txt{
	padding:1em;
}
.list1 li .txt .meta{
	padding-bottom:1em;
}
.list1 li .txt .meta span.cat{
	background: #bf1523;
	color:#fff;
	font-size:0.8em;
	display: inline-block;
	width: 40%;
	padding:0 10px;
	text-align: center;
	margin-right:1em;
}
.list1 li .txt .meta span.day{
	font-size:0.8em;
}
.list1 li .txt h3{
	font-weight: 700;
	font-size:1em;
}
.morebtn{
	text-align: center;
}
.morebtn a{
	display: block;
	width: 90%;
	max-width: 350px;
	margin:0 auto;
	border:solid 3px #a3122a;
	border-radius: 60px;
	color:#a3122a;
	padding:0.6em 1em 0.7em;
	text-align: center;
	font-weight: 600;
	font-size:1.2em;	
}

.slide li img{
	width: 310px;
	height: 220px;
	object-fit: cover;
}

#blog{
	padding:60px 0;
}
#blog .wrap{
	padding:50px 0 0;
}
#blog #main{
	float:left;
	width: calc(100% - 340px);
}
.ttl2{
	color:#000;
	font-weight: 700;
	padding:7px 0;
	border-bottom:solid 3px #eeeeee;
	font-size:1.5em;
	line-height: 1.3em;	
	margin-bottom:30px;
}
#blog #side{
	float:right;
	width: 290px;
}
#blog #side h3{
	color:#000;
	font-weight: 700;
	padding:10px 10px;
	border-bottom:solid 3px #eeeeee;
	font-size:1.1em;
	line-height: 1.3em;
}
#blog #side ul{
	padding:0.5em 1em 2em;
}
#blog #side ul li{
	padding:0.2em 0;
}
#blog #side ul li a{
	font-weight: 600;
	color:#c30303;
	position: relative;
	display: block;
	padding-left:1.3em;
}
#blog #side ul li a::before{
	position: absolute;
	content: "■";
	color:#c30303;
	top:0;
	left:0;
}
.postlist{
	padding-bottom:20px;
}
.postlist li{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
	padding:0 0 30px;
	margin-bottom:30px;
	border-bottom:solid 3px #eee;
}
.postlist li .pic{
	width: 36%;
}
.postlist li .pic img{
	width: 100%;
	height: 160px;
	object-fit: cover;
	border-radius: 5px;
}
.postlist li .txt{
	width: 60%;
}
.postlist li .txt .meta{
	padding-bottom:1em;
}
.postlist li .txt .meta span.cat{
	background: #bf1523;
	color:#fff;
	font-size:0.8em;
	display: inline-block;
	width: 130px;
	padding:0 10px;
	text-align: center;
	margin-right:1em;
}
.postlist li .txt .meta span.day{
	font-size:0.8em;
}
.postlist li .txt .title{
	font-weight: 700;
	font-size:1em;
	padding:0;
}

#about{
	padding:60px 0 0;
}
#about .title{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
	padding-bottom:40px;
}
#about .title .pic{
	width: 286px;
}
#about .title .txt{
	width: calc(100% - 320px)
}
#about .title .txt h1{
	font-size:2em;
	font-weight: 700;
	display: inline-block;
	color:#000;
	border-bottom:solid 2px #000;
	line-height: 1.3em;
	padding-bottom:10px;
	margin-bottom:20px;
}
#about .title .txt .mes{
	font-size:1.1em;
	font-weight: 700;
	line-height: 2em;
	padding-bottom:20px;
}
#about .txt2{
	text-align:left;
}
#about .txt2 p{
	padding-bottom:30px;
}
#about .txt2 h2{
	font-weight: 700;
	color:#011172;
	font-size:1.2em;
	padding-bottom:0.5em;
}
#about .txt2 h2 span{ color:#000; font-size:0.8em;}
#about .txt2 ul{
	padding-bottom:30px;
}
#about .txt2 ul li{
	list-style: disc;
	margin-left:1.1em;
	padding:0.1em 0;
}
#about .txt2 .mvlist{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;	
	padding:1em 0 50px;
}
#about .txt2 .mvlist li{
	width: 32.5%;
	list-style: none;
	margin:0 0 1em;
	padding:0;
	border:solid 2px #011172;
	box-shadow: 0 5px 9px rgba(64,27,28,0.13);
}
#about .txt2 .mvlist li .mv iframe{
	width: 100%;
	height: 180px;
}
#about .txt2 .mvlist li .txt{
	padding:0.5em 1em 0.8em;
	
}
#about .txt2 .mvlist li .txt p{padding:0; font-weight: 700;}
#about .btn{
	width:90%;
	max-width:350px;
	margin:0 auto;
}
#about .btn a{
	display:block;
	padding:0.8em 1em;
	text-align:center;
	color:#fff;
	font-size:1.1em;
	line-height:1.4em;
	background:#011172;
	border-radius:50px;
}
.bosyu{
	background: #f2f3f8;
	padding:50px 0 40px;
	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:60px 0;
}
#contact h1{
	text-align: center;
	font-weight: 700;
	font-size:2em;
	line-height: 1.3em;
	padding-bottom:10px;
}
#contact .mes{
	text-align: center;
	font-weight: 700;
	font-size:1.1em;
	padding-bottom:50px;
}
#form{
	padding:50px;
	border-radius: 15px;
	background: #f6f6f6;
}
#form h3{
	font-size:2em;
	text-align: center;
	padding-bottom:20px;
}
#form h3 span{
	display: inline-block;
	padding-bottom:15px;
	font-weight: 700;
	border-bottom:solid 2px #000;
}
#form .mes{
	font-size:1.1em;
	font-weight: 700;
	text-align: center;
	padding-bottom:40px;
}
#form table{
	width: 100%;
	margin-bottom:20px;
}
#form table th{
	width:260px;
	position: relative;
	font-size:1.2em;
	padding:5px 0 5px 1.3em;
	vertical-align: top;
}
#form table th:before{
	content: "■";
	position: absolute;
	top:5px;
	left:0;
	color:#c30303;
}
#form table th span{
	font-size:0.85em;
}
#form table th span.hissu{
	color:#c30303;
}
#form table td{
	padding-bottom:30px;
}

#form table td .wpcf7-form-control{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
	margin-bottom:0;
}
#form table td input[type="text"],#form table td input[type="tel"],#form table td input[type="email"]{
	width: 100%;
	height: 50px;
	border:solid 1px #282522;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;	
	margin-bottom:0 !important;
}
#form table td .wpcf7-list-item{
	display: block;
	width: 24.5%;
	margin:0;
}
#form table td .wpcf7-list-item input{
	display: none;
}
#form table td .wpcf7-list-item-label{
	display: block;
	border:solid 3px #a3122a;
	background: #fff;
	padding:12px 5px;
	font-weight: 700;
	font-size:1.1em;
	color:#a3122a;
	text-align: center;
}
#form table td input[type="checkbox"]:checked + .wpcf7-list-item-label{
	border:solid 3px #a3122a;
	background:#a3122a;
	color:#fff;
}
/*#form table td label input{ display: none;}*/
#form table td textarea{
	width: 100%;
	height: 290px;
	border:solid 1px #282522;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;	
}
#form .submit{
	text-align: center;
	padding-bottom:20px;
}
#form .submit input{
	display: block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	background: #282522;
	color:#fff;
	font-family: 'Sawarabi Mincho', sans-serif;
	font-size:1.3em;
	padding:10px;
	width: 90%;
	max-width: 306px;
	margin:0 auto;
	border:none;
	border-radius: 60px;
	cursor: pointer;
}

#support{
	padding:60px 0;
}
.baloon{
	background: #c30303;
	width: 90px;
	height: 90px;
	line-height: 90px;
	border-radius: 90px;
	text-align: center;
	color:#fff;
	font-size:0.95em;
	font-weight: 600;
	letter-spacing: 0;
	margin:0 auto 30px;
	position: relative;
}
.baloon:before {
  content: "";
  position: absolute;
  top: 98%;
  left: 50%;
  margin-left: -8px;
  border:8px solid transparent;
  border-top: 13px solid #c30303;
}
.ttl3{
	text-align: center;
	font-weight: 700;
	font-size:1.9em;
	color:#c30303;
	line-height: 1.3em;
	padding-bottom:30px;
}
.enttl{
	font-weight: 700;
	font-size:0.6em;
}

#support .title{
	padding-bottom:40px;
}
#support .title dl{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;	
	background: #fcf7f9;
}
#support .title dl dt{
	background: #c30303;
	padding:0.5em 1em;
	font-size:2.5em;
	line-height: 1.3em;
	color:#fff;
	width: 30%;
	font-weight: 700;
}
#support .title dl dd{
	width: 70%;
	padding:1.5em 2em;
}
#support .title dl dd h2{
	font-weight: 700;
	font-size:2em;
	line-height: 1.3em;
	padding-bottom:10px;
}
#support .title dl dd h2 span{
	font-weight: 700;
	font-size:0.55em;
}
#support .txt{
	padding:40px;
}
#support .txt h3{
	font-size:1.6em;
	line-height: 1.3em;
	font-weight: 700;
	color:#c30303;
	padding-bottom:10px;
}
#support .txt p{ padding-bottom:2em;}

#profile{
	padding:60px 0;
}
#profile .title{
	  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
	padding-bottom:50px;
}
#profile .title h1{
	width: 170px;
	height: 170px;
	background: #bf1523;
	padding:2em 0;
	color:#fff;
	text-align: center;
	font-size:1.3em;
	font-weight: 700;
	line-height: 1.6em;
}
#profile .title h1 span{
	font-size:0.8em;
	font-weight: 700;
}
#profile .title p{
	display: block;
	width: calc(100% - 230px);
	line-height: 2em;
}

.prof1{
	background: #fcf7f9;
	padding:60px 0;
}
.prof1 .wrap{
  	display: -webkit-flex;
  	display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
}
.prof1 .txt{
	width: 55%;
}
.prof1 .txt p{
	padding-bottom:1.5em;
}
.prof1 .pic{
	width: 40%;
	text-align: right;
}
#history{
	padding:60px 0;
}
#history h2{
	display: inline-block;
	background: #bf1523;
	color:#fff;
	padding:10px 40px;
	font-weight: 700;
	letter-spacing: 4px;
	margin-bottom:30px;
}
#history .box{
	margin:0 -100% 30px;
	border-bottom:solid 2px #eeeeee;
	padding:0 100% 10px;
}
#history h3{
	font-weight: 700;
	font-size:1.3em;
	color:#c30303;
	text-decoration: underline;
	line-height: 1.3em;
	padding-bottom:10px;
}
#history p{
	padding-bottom:2em;
	line-height: 2em;
}
#history .firstred::before{
	color:#c30303;
	content: "● ";
}
#history .bF{
	background: url(../img/profile/line.png) no-repeat left bottom;
	margin-bottom:1em;
	padding-bottom:1.5em;
}
.ind1{
	padding-left:1.3em;
	text-indent: -1.3em;
}
#history p a{
	text-decoration: underline;
}
#history dl{
	padding:2em 0 0;
}
#history dl dt{
	font-weight: 700;
	text-decoration: underline;
	font-size:1.2em;
	padding-bottom:2em;
	line-height: 1.4em;
}
#history dl dd{
	border-bottom:solid 2px #eee;
	padding:0 0 10px 17%;
	margin-bottom:15px;
	position: relative;
}
#history dl dd:last-of-type{ border:none; padding-bottom:0; margin-bottom:0;}
#history dl dd span{
	position: absolute;
	color:#c30303;
	left: 0;
}

#vision{
	padding:60px 0;
}
#vision .box1{
	position: relative;
	padding-bottom:60px;
	margin-bottom:60px;
}
#vision .box1 .pic{
	position: absolute;
}
#vision .box1 .txt{
	width: 60%;
	margin-left:auto;
	position: relative;
	top:60px;
	background: #c30303;
	padding:1em 1.5em;
	color:#fff;
}
#vision .en{ padding-bottom:15px;}
#vision .subttl{
	font-weight: 700;
	font-size:2em;
	line-height: 1.6em;
	padding-bottom:30px;
}
#vision .titlebox1{
	background: #fcf7f9;
	padding:50px 100% 20px;
	margin:0 -100% 60px;
}
#vision .box2{
	padding-bottom:60px;
	position: relative;
}
#vision .box2 .pic{
	position: absolute;
	right:0;
	top:60px;
	z-index: 2;	
}
#vision .box2 .txt{
	width: 60%;
	position: relative;
	background: #c30303;
	z-index: 1;
	padding:1em 1.5em;
	color:#fff;	
	margin-bottom:40px;
}
#vision .box2 .txt2{
	width: 50%;
}
#vision h3{
	font-size:1.8em;
	font-weight: 700;
	color:#c30303;
	line-height: 1.5em;
	padding-bottom:20px;
}
#vision h3 span{
	color:#000;
	font-size:0.8em;
}
#vision p{ line-height: 2em;}
#vision .box3{
	padding:60px 100%;
	margin:0 -100% 100px;
	background: #fcf7f9;
}
#vision .box3 .inner{
	position: relative;
}
#vision .box3 .pic{
	position: absolute;
	right: 0;
}
#vision .box3 .txt{
	width: 50%;
}
#vision .vision{
	padding:0 0 30px;
}
#vision .vision dl{
	padding:40px 100%;
	margin:0 -100%;
	border-bottom:solid 2px #eeeeee;
}
#vision .vision dl dt{
	display:inline-block;
	background:#c30303;
	font-weight:700;
	font-size:1.6em;
	color:#fff;
	line-height:1.4em;
	padding:10px 30px;
}
#vision .vision dl dd{
	font-weight:700;
	font-size:2.2em;
	line-height:1.5em;
	padding:10px 30px;
}
.wpcf7-not-valid-tip{ padding-top:0.5em;}
.wpcf7-recaptcha{ padding-bottom:50px;}

.blogpost{
	padding-bottom:50px;
}
.blogpost p{
	padding-bottom:2em;
	line-height:2em;
}
.blogpost .meta{
	padding-bottom:1em;
	font-size:0.8em;
	letter-spacing:2px;
}
.blogpost .meta .day{
	margin-right:1em;
}
.blogpost .meta a{
	display:inline-block;
	margin-right:0.3em;
	background:#c30303;
	color:#fff;
	padding:2px 1.5em;
}
.pnav div{
	width:120px;
}
.pnav .prev{
	position:relative;
	z-index:99;
	float:left;
}
.pnav .next{
	float:right;
	position:relative;
	z-index:99;	
}
.pnav a{
	background: #c30303;
	color:#fff;
	border-radius: 70px;
	display: block;
	text-align: center;
	font-family: 'Sawarabi Gothic', sans-serif;
	font-size:1.1em;
	letter-spacing: 1px;
	padding:0.4em 0;
}
.pnav span{
	background: #fff;
	border:solid 1px #d2d2d2;
	border-radius: 70px;
	display: block;
	color:#d2d2d2;
	text-align: center;
	font-family: 'Sawarabi Gothic', sans-serif;
	font-size:1.1em;
	letter-spacing: 1px;
	padding:0.4em 0;
}
.pnav .prev a,.pnav .prev span{ padding-right:1em;}
.pnav .next a,.pnav .next span{ padding-left:1em;}
.pnav .back{
	clear: both;
	width: 100% !important;
	display: block;
	text-align: center;
	position: relative;
	z-index:8;
	top:-2.3em;
}
.pnav .back a{
	background: none !important;
	border:none !important;
	padding:0;
	display:inline-block;
}

#sidesns{
	position:absolute;
	right:0;
	top:0;
	height:100vh;
	z-index:9998;
	width:300px;
	border-left:solid 2px #a3122a;
	padding:15px;
	background:#fff;
	text-align:center;
}
/*.homepage #sidesns{ top:-300px; }*/
@media screen and (max-width: 1450px) {
	.sidesns{
		padding-right:300px !important;
	}
}

#sidesns.is-fixed {
  position: fixed;
  top: 0;
  right: 0;
}
#sidesns p{
	padding-bottom:1em;	
}
#sidesns p em{
	font-size:1.3em;
	font-weight:700;
}
#sidesns .fb{
	border-bottom:solid 2px #eee;
	padding:10px 0 8px;
	margin-bottom:10px;
}
#sidesns .nd{
	border-bottom:solid 2px #eee;
	padding:10px 0 8px;
	margin-bottom:10px;
}
#sidesns .nd img{
	border:solid 2px #eee;
}
#sidesns .top{
	border-bottom:solid 2px #eee;
	padding:20px 0 8px;
	margin-bottom:10px;
}
#sidesns .top img{
	border:solid 2px #eee;
}

#privacy{
	padding:60px 0;
}
#privacy .wrap{
	padding:50px;
	background:#F6F6F6;
}
#privacy h1{
	text-align: center;
	font-weight: 700;
	font-size:2em;
	line-height: 1.3em;
	padding-bottom:1em;
}
#privacy p{
	padding-bottom:2em;
}
#privacy h2{
	font-size:1.1em;
	font-weight:bold;
	padding-bottom:1em;
}
#privacy h3{
	font-size: 1.3em;
line-height: 1.3em;
font-weight: 700;
color: #c30303;
padding-bottom: 10px;
}
#privacy ol{
	padding-bottom:2em;
}
#privacy ol li{
	text-indent:-1.4em;
	padding-left:1.4em;
}

/*----▼▼▼ページナビ用▼▼▼------------------------------------------------*/
.pagination {
	clear: both;
	padding: 10px 0 20px;
	position: relative;
	font-size: 14px;
	line-height: 14px;
        text-align: left;
}
.pagination-box {
	display: inline-block;
}
.pagination span, .pagination a {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 10px 15px 10px 15px;
	text-decoration: none;
	width: auto;
	color: #000; /* 文字色 */
	background: #fff; /* 背景色 */
	border:solid 1px #08A59D;
}
.pagination a:hover{
	color: #fff; /* マウスホバー時の文字色 */
	background: #08A59D; /* マウスホバー時の背景色 */
}
.pagination .current{
	padding: 10px 15px 10px 15px;
	background: #08A59D; /* 現在のページの文字色 */
	color: #fff; /* 現在のページの背景色 */
}
@media only screen and (max-width: 640px) {
.pagination {
	font-size: 12px;
	line-height: 12px;
}
.pagination span, .pagination a {
	padding: 8px 10px 8px 10px;
}
.pagination .current{
	padding: 8px 10px 8px 10px;
}
}

.wp-pagenavi,.pagenav2{
	text-align:center;
}
.wp-pagenavi span.current,.wp-pagenavi a:hover,.pagenav2 span,.pagenav2 a:hover{
	background:#c30303;
	color:#fff;
	border-radius:50px;
	width:35px;
	height:35px;
	line-height:32px;
	text-align:center;
	border:solid 1px #c30303 !important;
	display:inline-block;
}
.wp-pagenavi a,.pagenav2 a{
	background:#fff;
	color:#c30303;
	border-radius:50px;
	width:35px;
	height:35px;	
	border:solid 1px #c30303 !important;
	display:inline-block;
	line-height:32px;
}
.wp-pagenavi .nextpostslink,.wp-pagenavi .previouspostslink,.pagenav2 .next,.pagenav2 .prev{
	background:#fff;
	border:solid 1px #fff !important;
}
/*----▲▲▲ページナビ用▲▲▲------------------------------------------------*/