@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;700&family=Playfair+Display:wght@400;500&family=Shippori+Mincho+B1:wght@700&display=swap');

/* FONTS
font-family: 'Shippori Mincho B1', serif;
font-family: 'Playfair Display', serif;
 */
 
/* MATERIALS */

br.sp{
	display:none;
}

a:link{
	text-decoration:none;
	color:#b81c2b;
}

a:visited{
	text-decoration:none;
	color:#b81c2b;
}

a:hover{
	text-decoration:underline;
	color:#f9334e;
}

a:active{
	text-decoration:underline;
	color:#f9334e;
}

.title_a{
	margin:0 0 50px;
	text-align:center;
	font-size:30px;
	font-weight:500;
	line-height:1.3;
}

.title_a span{
	display:inline-block;
	margin:0 0 7px;
	padding:6px 20px;
	font-family: 'Playfair Display', serif;
	font-size:16px;
	font-weight:500;
	line-height:1;
	color:#f9334e;
	letter-spacing:1px;
	border:1px solid #f9334e;
}

.title_b{
	margin:0 0 50px;
	padding:0 0 15px;
	font-size:28px;
	font-weight:300;
	line-height:1.2;
	color:#cf3f49;
	border-bottom:1px solid #cf3f49;
}

a.btn_a{
	display:table;
	margin:30px auto 0;
	padding:14px 35px 16px;
	font-size:17px;
	font-weight:300;
	color:#333;
	background-color:#fff;
	border:1px solid #333;
}

a.btn_a:hover{
	text-decoration:none;
	background-color:#f9334e;
	color:#fff;
	border:1px solid #fff;
}

@media only screen and (max-width:767px){
	.title_a{
		margin:0 0 40px;
		font-size:28px;
	}
	.title_b{
		margin:0 0 40px;
		font-size:24px;
	}
}


/* INTERFACE */


body{
	-webkit-text-size-adjust:100%;
	margin:0;
	padding:0;
	background-color:#fff;
	color:#000;
	font-family:'Noto Sans JP',"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	font-weight:300;
}

body>header{
	width:100%;
	height:70px;
	box-sizing:border-box;
	padding:22px 25px;
	background:linear-gradient(-120deg,#7e2225,#b81c2b,#f9334e);
	position:fixed;
	top:0;
	left:0;
}

body>header>a img{
	max-width:250px;
	width:100%;
}

body>header>nav ul{
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:15px;
	position:absolute;
	top:22px;
	right:25px;
	display:flex;
	flex-wrap:wrap;
}

body>header>nav ul li{
	margin:0 0 0 20px;
}

body>header>nav ul li a:link,
body>header>nav ul li a:visited{
	color:#fff;
}


body>footer{
	padding:70px 0 0;
	text-align:center;
	border-top:10px solid #ddd;
}

body>footer .sns a img{
	width:40px;
	margin:0 10px;
}

body>footer>a img{
	max-width:350px;
	width:90%;
	margin:0 5% 30px;
}

body>footer .bg{
	margin:60px 0 0;
	padding:15px 40px 20px;
	background-color:#b81c2b;
}

body>footer .bg small{
	display:inline-block;
	font-family:Verdana,sans-serif;
	font-size:10px;
	line-height:1.2;
	color:#fff;
}

body>article{
	padding:70px 0 0;
}

#home_btn_area{
	margin:60px 0 0;
}

#home_btn_area a:hover{
	background-color:#000;
}


#home_key_area{
	background:linear-gradient(-120deg,#7e2225,#b81c2b,#f9334e);
	border-bottom:20px solid #eee;
}

#home_key_area h1{
	margin:0 auto;
	line-height:1;
}

#home_key_area h1 img{
	width:100%;
	vertical-align:bottom;
}

#home_slogan_area{
	max-width:1000px;
	margin:0 auto;
	padding:70px 40px;
	text-align:center;
	font-family: 'Shippori Mincho B1', serif;
}

#home_slogan_area h2{
	margin:0 0 40px;
	font-size:50px;
	line-height:1.5;
}

#home_slogan_area p{
	text-align:justify;
	font-size:16px;
	line-height:1.8;
}

#home_slogan_area p.title{
	text-align:center;
	font-size:25px;
	line-height:1.5;
}

#home_slogan_area>img{
	max-width:800px;
	width:100%;
	vertical-align:bottom;
}

@media only screen and (max-width:1050px){
	body>header>nav ul{
		width:50%;
		top:12px;
		right:15px;
	}
	
	body>header>nav ul li{
		width:25%;
		margin:0 0 5px;
	}
}

@media only screen and (max-width:767px){
	br.sp{
		display:block;
	}
	
	body>header{
		height:110px;
		padding:15px 0 0;
	}

	body>article{
		padding:110px 0 0;
	}

	body>header>a{
		display:block;
		margin:0 0 10px;
		text-align:center;
	}
	
	body>header>a img{
		max-width:200px;
	}
	
	body>header>nav ul{
		width:100%;
		margin:0;
		padding:0;
		text-align:center;
		font-size:13px;
		display:flex;
		flex-wrap:wrap;
		position:static;
	}
	
	body>header>nav ul li{
		width:25%;
		box-sizing:border-box;
		margin:0;
		padding:5px 0;
		border-top:1px solid #fff;
		border-right:1px solid #fff;
	}
	
	body>header>nav ul li a{
		display:block;
	}
	
	body>header>nav ul li:nth-child(4),
	body>header>nav ul li:nth-child(8){
		border-right:none;
	}

	#home_slogan_area{
		padding:50px 20px;
	}
	
	#home_slogan_area h2{
		margin:0 0 30px;
		font-size:40px;
		line-height:1.3;
	}
	
	#home_slogan_area p{
		font-size:15px;
		line-height:1.7;
		
	}
}

#home_bnr_area{
	max-width:500px;
	margin:0 auto 50px;
}

#home_bnr_area a img{
	width:100%;
}

.home_aboutus_area{
	padding:80px 40px;
	background-color:#fdf7f0;
	border-bottom:20px solid #eee;
}

.home_aboutus_area>section{
	max-width:1000px;
	margin:0 auto 80px;
}

.home_aboutus_area>section p{
	text-align:justify;
	font-size:17px;
	line-height:1.9;
}

.home_aboutus_area>section p.sign{
	text-align:right;
}

.home_aboutus_area>section ol{
	margin:0;
	padding:0 0 0 30px;
	font-size:18px;
}

.home_aboutus_area>section ol li{
	margin:15px 0;
}

.home_aboutus_area ul.member{
	margin:0;
	padding:0;
	list-style-type:none;
	text-align:center;
	font-size:16px;
	line-height:1.4;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

.home_aboutus_area ul.member li{
	width:33.3333333%;
	box-sizing:border-box;
	padding:0 15px;
}

.home_aboutus_area ul.member.board li{
	width:40%;
	box-sizing:border-box;
	padding:0 20px 50px;
}

.home_aboutus_area ul.member li b{
	font-size:20px;
	font-weight:500;
}

.home_aboutus_area ul.member img{
	width:100%;
	vertical-align:bottom;
	margin:0 0 5px;
}

.home_aboutus_area .video{
	width:100%;
	height:0;
	margin:50px auto 0;
	padding:56.25% 0 0;
	position:relative;
}

.home_aboutus_area .video iframe{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}

#overview_table{
	width:100%;
	border-collapse:collapse;
	border-top:1px solid #ccc;
}

#overview_table th{
	width:25%;
	padding:30px;
	font-size:16px;
	color:#e04653;
	vertical-align:top;
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
	border-left:1px solid #ccc;
}

#overview_table td{
	padding:30px;
	font-size:15px;
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
}

#overview_table td p{
	margin:0;
	font-size:15px;
	line-height:1.5;
}

#overview_table td p b{
	display:block;
	margin:0 0 10px;
	font-size:16px;
}

@media only screen and (max-width:767px){
	.home_aboutus_area{
		padding:60px 20px;
	}
	
	.home_aboutus_area>section{
		margin:0 auto 60px;
	}
	
	.home_aboutus_area>section p{
		text-align:justify;
		font-size:15px;
		line-height:1.7;
	}
	
	.home_aboutus_area>section ol{
		font-size:15px;
	}
	
	.home_aboutus_area ul.member{
		display:block;
	}
	
	.home_aboutus_area ul.member li{
		width:80%;
		margin:0 auto;
		padding:0 0 40px;
	}
	
	.home_aboutus_area ul.member.board li{
		width:100%;
		padding:0 0 40px;
	}
	
	.home_aboutus_area .video{
		margin:30px auto 0;
	}
	
	#overview_table{
		width:100%;
		border-collapse:collapse;
		border-top:1px solid #ccc;
	}
	
	#overview_table th{
		display:block;
		width:100%;
		padding:20px 10px 8px;
		text-align:left;
		font-size:15px;
		border-bottom:none;
		border-right:none;
		border-left:none;
	}
	
	#overview_table td{
		display:block;
		padding:0 10px 20px;
		border-right:none;
	}
	
	#overview_table td p{
		font-size:15px;
	}
	
	#overview_table td p b{
		font-size:15px;
	}
}

#home_support_area{
	padding:80px 40px 150px;
	background-color:#fcfafa;
	border-bottom:10px solid #eee;
}

#home_support_area section{
	max-width:1000px;
	margin:0 auto 80px;
}

#home_support_area section p{
	text-align:justify;
	font-size:17px;
	line-height:1.9;
}

#home_support_area section p.note{
	font-size:15px;
	line-height:1.5;
}

#home_support_area .frame{
	max-width:500px;
	margin:50px auto 0;
	padding:30px;
	border:3px double #f9334e;
	background-color:#fff;
}

#home_support_area .frame h4{
	margin:0 0 30px;
	text-align:center;
	font-size:22px;
	color:#444;
}

#home_support_area .contact_table{
	width:100%;
	border-collapse:collapse;
}

#home_support_area .contact_table th{
	padding:20px;
	text-align:left;
	font-size:18px;
	color:#555;
	border-top:1px solid #ccc;
}

#home_support_area .contact_table td{
	padding:20px;
	font-size:20px;
	border-top:1px solid #ccc;
}

@media only screen and (max-width:767px){
	#home_support_area{
		padding:60px 20px 100px;
	}
	
	#home_support_area section{
		margin:0 auto 60px;
	}
	
	#home_support_area section p{
		text-align:justify;
		font-size:15px;
		line-height:1.7;
	}
	
	#home_support_area section p.note{
		font-size:14px;
		line-height:1.4;
	}
	
	#home_support_area .frame{
		padding:40px 20px;
	}
	
	#home_support_area .frame h4{
		font-size:20px;
	}
	
	#home_support_area .contact_table th{
		padding:20px 5px;
		font-size:16px;
	}
	
	#home_support_area .contact_table td{
		padding:20px 5px;
		font-size:18px;
	}
}


#event_contents_area{
	max-width:800px;
	margin:30px auto 0;
	padding:0 20px;
	overflow:hidden;
}

#event_contents_area.padding{
	padding:0 20px 100px;
}

#event_contents_area .key{
	max-width:500px;
	margin:0 auto;
}

#event_contents_area .key img{
	width:100%;
	border:1px solid #eee;
}

#event_contents_area h1{
	margin:60px 0 60px;
	font-size:50px;
	line-height:1.2;
}

#event_contents_area h1.small{
	margin:60px 0 40px;
	font-size:30px;
	line-height:1.2;
}

#event_contents_area h1 span{
	display:table;
	margin:0 0 10px;
	padding:8px 20px;
	font-size:25px;
	background-color:#f5ad23;
}

#event_contents_area h2,
#event_contact_area h2{
	margin:60px 0 40px;
	font-size:24px;
	line-height:1.2;
	color:#cf3f49;
}

#event_contents_area p{
	margin:0 0 30px;
	text-align:justify;
	font-size:16px;
	line-height:1.8;
}

#event_contents_area ol{
	margin:0 0 30px;
	padding:0 0 0 30px;
	font-size:16px;
	line-height:1.8;
}

#event_contents_area p span{
	display:block;
	font-size:18px;
	font-weight:bold;
	color:#f5ad23;
}

#event_contents_area .clear{
	margin:0 0 30px;
	overflow:hidden;
}

#event_contents_area img.float{
	width:25%;
	float:right;
	margin:0 0 0 30px;
}

#event_contact_area{
	max-width:800px;
	margin:0 auto 200px;
	padding:0 20px;
}

#event_contact_area .frame{
	margin:50px auto 0;
	padding:30px;
	border:3px double #f5ad23;
	background-color:#fff;
}

#event_contact_area .contact_table{
	width:100%;
	border-collapse:collapse;
}

#event_contact_area .contact_table th{
	padding:20px;
	text-align:left;
	font-size:18px;
	color:#555;
	border-top:1px solid #ccc;
}

#event_contact_area .contact_table td{
	padding:20px;
	font-size:20px;
	border-top:1px solid #ccc;
}

#event_contact_area .contact_table tr:first-child th,
#event_contact_area .contact_table tr:first-child td{
	border-top:none;
}

@media only screen and (max-width:767px){
	#event_contents_area h1{
		font-size:30px;
	}
	
	#event_contents_area h1.small{
		margin:40px 0 40px;
	}

	#event_contents_area h1 span{
		padding:8px 15px;
		font-size:20px;
	}
	
	#event_contents_area h2,
	#event_contact_area h2{
		margin:40px 0 20px;
		font-size:22px;
	}
	#event_contents_area p{
		font-size:15px;
		line-height:1.7;
	}
	
	#event_contents_area img.float{
		width:45%;
		margin:0 0 0 20px;
	}
	
	#event_contact_area .frame{
		margin:50px auto 0;
		padding:20px;
		border:3px double #f5ad23;
		background-color:#fff;
	}
	
	#event_contact_area .contact_table{
		width:100%;
		border-collapse:collapse;
	}
	
	#event_contact_area .contact_table th{
		padding:15px 10px 15px 0;
		font-size:15px;
	}
	
	#event_contact_area .contact_table td{
		padding:15px 0;
		font-size:17px;
	}
}

#home_policy_area{
	max-width:1000px;
	margin:0 auto;
	padding:80px 40px;
}

#home_policy_area .policy{
	margin:0 0 60px;
}

#home_policy_area .policy h3{
	background:linear-gradient(-150deg,#f9334e,#b81c2b,#7e2225);
	overflow:hidden;
}

#home_policy_area .policy h3 img{
	width:40%;
	vertical-align:bottom;
}

#home_policy_area .policy h3 span{
	display:block;
	width:60%;
	box-sizing:border-box;
	padding:8% 0 0 30px;
	font-size:40px;
	line-height:1;
	color:#fff;
	float:right;
}

#home_policy_area .policy h4{
	margin:60px 0 20px;
	font-size:30px;
	line-height:1.2;
}

#home_policy_area .policy h4 span{
	width:50px;
	height:50px;
	box-sizing:border-box;
	margin:0 10px 0 0;
	display:inline-block;
	text-align:center;
	color:#fff;
	background-color:#b81c2b;
	border:5px solid #e6737e;
	border-radius:50%;
	float:left;
}

#home_policy_area .policy p{
	text-align:justify;
	font-size:16px;
	line-height:1.8;
}

#home_policy_area .policy p.note{
	font-size:14px;
	line-height:1.6;
}

#home_plan_area h4 span{
	display:inline-block;
	margin:40px 0 0;
	padding:10px 20px 12px;
	font-size:20px;
	line-height:1.2;
	color:#fff;
	background-color:#000;
}

#home_plan_area h4:first-of-type span{
	margin:0;
}

@media only screen and (max-width:767px){
	#home_policy_area{
		margin:0 auto;
		padding:60px 20px 0;
	}
	
	#home_policy_area .policy{
		margin:0 0 70px;
	}
	
	#home_policy_area .policy h3 img{
		width:100%;
		vertical-align:bottom;
	}
	
	#home_policy_area .policy h3 span{
		width:100%;
		padding:20px 20px 25px;
		font-size:30px;
		float:none;
	}
	#home_policy_area .policy h4{
		margin:50px 0 0;
		font-size:20px;
		line-height:1.2;
		overflow:hidden;
	}
	
	#home_policy_area .policy h4 span{
		width:50px;
		height:50px;
		box-sizing:border-box;
		margin:0 10px 0 0;
		font-size:30px;
		display:inline-block;
		text-align:center;
		color:#fff;
		background-color:#b81c2b;
		border:5px solid #e6737e;
		border-radius:50%;
		float:left;
	}
	#home_policy_area .policy p{
		margin:15px 0;
		text-align:justify;
		font-size:15px;
		line-height:1.7;
	}
	
	#home_policy_area .policy p.note{
		font-size:13px;
		line-height:1.5;
	}
	#home_plan_area h4 span{
		margin:30px 0 0;
		font-size:18px;
	}
}