@charset "utf-8";
/* CSS Document */

:root {
 --red: #d7262d;
 --main: #031936;
}

body{
	font-size:18px;
}
h1, h2, h3, h4, h5, h6{
	letter-spacing:normal;
	line-height:1.3;
}

a:hover{
	opacity: 0.7;
}
.red{
	color:var(--red);
}
.wrapper{
	width:85%;
    padding:60px 0;
	margin:auto;
}
@media screen and (max-width:768px) {
	.wrapper{
	width:85%;
    padding:40px 0;
	margin:auto;
}
}
.sp{
	display:none;
}
@media screen and (max-width:768px) {
.pc{
	display:none
}
.sp{
	display:inherit;
}
}
section{
  background-image: linear-gradient(0deg, rgba(3, 25, 54, 1) 50%, rgb(11 43 82) 100%);
  color:#fff;
  position: relative;
}
section::after{
    content:"";
    position:absolute;
    top:0;
	width:100%;
    height:2px;
	margin:auto;
    background: linear-gradient(90deg,rgba(215, 38, 45, 0) 0%, rgba(215, 38, 45, 0.71) 14%, rgba(240, 129, 129, 1) 30%, rgba(215, 38, 45, 1) 45%, rgba(215, 38, 45, 1) 66%, rgba(237, 88, 93, 1) 73%, rgba(215, 38, 45, 0.88) 80%, rgba(215, 38, 45, 0) 100%);
}

section h2{
	font-family: "Oswald", sans-serif;
	font-size:2.7rem;
	font-weight:normal;
	letter-spacing:3%;
	transform:skew(-8deg);
	align-items: center;
    display: flex;
    font-weight: 500;
}
	section h2 span{
	font-size:4rem;
	color:var(--red);
	padding-right:15px;
	}
@media screen and (max-width:768px) {
	section h2{
		font-size:1.8rem;
	}
	section h2 span{
		font-size:3rem;
	}
	
}

section h2 + .read{
	font-size:1.4rem;
}

.redicon {
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background:var(--red);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 35px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .25);
}

/*=================================
 hero
=================================*/
.hero{
    background:url(/rec/img/team09/kv_bg.jpg) right no-repeat #031936;
	background-size: contain;
	color:#fff;
	position:relative;
}
@media screen and (max-width:1024px){
	.hero{
		background:url(/rec/img/team09/kv_bg_tb.jpg) right no-repeat #031936;
		        background-size: contain;
		}
}
@media screen and (max-width:767px) {
	.hero{
		height:90vh;
		background:url(/rec/img/team09/kv_bg_sp.jpg) 0 80px no-repeat #031936;
		background-size: contain;
		}
	.hero .txt{
		position:absolute;
		bottom:0;
	
	}

}

.sub-title {
	font-family: "Oswald", sans-serif;
	font-size:40px;
	text-transform:uppercase;
	color:#fff;
	margin-bottom:8px;
	transform:skew(-8deg);
}
@media screen and (max-width:768px) {
	.sub-title {
		font-size:23px;
	}
}
.hero-logo h1{
	margin-bottom:0;
}
.hero-logo h1 img{
	width:80%;
	max-width:530px;
}
@media(max-width:1024px){
	.hero-logo h1 img{
	width:55%;
}
}
@media screen and (max-width:767px) {
	.hero-logo h1 img{
	width:100%;
}
}
	
.hero h2 {
	font-size:50px;
	line-height:1.4;
	letter-spacing:3px;
	transform:skew(-8deg);
	margin:0 0 1rem -1rem;
	text-shadow: 2px 2px 10px #031936 ,
-2px 2px 10px #031936 ,
2px -2px 10px #031936 ,
-2px -2px 10px #031936 ;
}
@media screen and (max-width:768px) {
	.hero h2 {
	font-size:42px;
	margin-bottom:0;
	}
}
.hero p{
	line-height:2;
	font-size:1.5rem;
}
	
@media screen and (max-width:768px) {
	.hero p{
		font-size:1.2rem;
		line-height:1.7;
	}
}

/*=================================
 about
=================================*/

.member-list{
    max-width:1400px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.member-card{
    position:relative;
    overflow:hidden;
    transition:.3s;
	padding-right:10px
}
@media screen and (max-width:768px) {
	.member-card{
		margin-bottom:20px;
	}
}
.member-card::after{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:2px;
    height:100%;
    background: linear-gradient(0deg,rgba(215, 38, 45, 0) 0%, rgba(215, 38, 45, 0.71) 35%, rgba(215, 38, 45, 0) 86%);
}
@media screen and (max-width:768px) {
	.member-card::after{
    content:"";
    position:absolute;
    right:auto;
    top:auto;
	bottom:0;
	width:100%;
	height:2px;
}

}
.member-card .image{
    position:relative;
}

.member-card .image img{
    width:100%;
    display:block;
    aspect-ratio:4/3;
    object-fit:cover;
}

.member-card .redicon {
    position: absolute;
    left: 10px;
    bottom: -36px;
}
@media screen and (max-width:768px) {
	.member-card .redicon {
    position: absolute;
    left: 10px;
    bottom: -55px;
}
	
}
.member-card .content{
    padding:60px 24px 32px;
}
@media screen and (max-width:768px) {
	.member-card .content{
		padding:0;
	}
}
.member-card .content h3{
    color:#fff;
    margin:0 0 20px;
    font-size:1.5rem;
    font-weight:700;
}
@media screen and (max-width:768px) {
	.member-card .content h3{
		padding-left: 80px;
        margin: 15px;
    }
}
.member-card .content p{
    color:#d8dce5;
    line-height:2;
}
@media screen and (max-width:768px) {
	.member-card .content p{
    line-height:1.5;
}
}


/*=================================
 why
=================================*/

.why{
	.bg{
	position: absolute;
    height: 100%;
    right: 0;
    top: 0;
}
@media(max-width:1024px){
	.bg{
	position:inherit;
    height:auto;
	width:100%;
	margin-top:-60px;
}
}
}
.why-card{
	width: 48%;
    padding-left: 120px;
    position: relative;
	z-index:1;
}
@media(max-width:1024px){
	.why-card{
	width: 100%;
	padding-left: 0;
	}
}
.why-card .content h3{
	color:var(--red);
	margin-bottom:5px;
}
@media(max-width:1024px){
	.why-card .content h3{
		padding-left:80px;
		min-height:80px;
		align-content: center;
		
	}
}
.why-card .redicon{
	position: absolute;
    left: 0;
    height: 100px;
    width: 100px;
	font-size: 50px;
}
@media(max-width:1024px){
	.why-card .redicon{
		width:70px;
		height:70px;
		font-size:40px;
	}
}
/*=================================
 price
=================================*/

section.white{
	background:#fff;
	color:var(--main);
}
.price_list{
    max-width: 1400px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}
.price-card{
	border: 2px solid;
    border-radius: 15px;
	position:relative;
	padding-bottom:50px;
}
.price-card h3{
	font-size:1.5rem;
	text-align:center;
	background-image: linear-gradient(0deg, rgba(3, 25, 54, 1) 50%, rgb(11 43 82) 100%);
	color:#fff;
	 border-radius: 13px 13px 0 0;
	 padding:10px; 
}
.price-card h3 .ico{
	margin-right:10px;
}
.price-card .content{
	width:90%;
	margin:0 auto 20px;
}
.price-card .price {
    font-size: 2.3rem;
    font-weight: bold;
    text-align: center;
	padding-bottom:10px;
	border-bottom:1px solid;
	width:80%;
	margin:0 auto 20px;
	letter-spacing:-1px;
}
.price-card .price span{
	font-size:1rem;
}
.price-card .price + p{
	font-weight:bold;
	text-align:center;
	font-size:0.9rem;
	margin-bottom:10px;
}
.price-card ul li{
	font-size:1rem;
	margin-bottom:0;
}

.price-card ul li::before {
  content: "\f058";
  font-family: "FontAwesome";
  margin-right:5px;
}

.price-card a{
	display: block;
    text-decoration: none;
    text-align: center;
    background: #174eb2;
    color: #fff;
    padding: 5px;
    border-radius: 20px;
    font-weight: bold;
	width:90%;
	position:absolute;
	bottom:10px;
}
@media(max-width:769px){
	.price-card a{
		padding:15px;
		border-radius: 30px;
	}
}
.price-card a.line{
	background: var(--red);
}

.material{
	    display: flex;
		margin-top:2rem;
	li{
		font-size:0.9rem;
		line-height:1.3;
		width:50%;
	}
}
	


/*=================================
 event
=================================*/

.event_list{
	display: grid;
    grid-template-columns: repeat(3, 1fr);
	gap: 30px 50px;
}
.event_list .last{
	margin-top:50px;
}
.event-card {
	font-size:1rem;
	line-height:1.5;
	position:relative;
}
.event-card h3{
	font-size:1.5rem;
	transform:skew(-8deg);
	margin-bottom:20px;
	padding:20px 0 0;
}
.event-card h3::before{
    content:"";
    position:absolute;
    top:60px;
	width:100%;
    height:1px;
	margin:auto;
    background: linear-gradient(90deg,rgba(215, 38, 45, 1) 0%, rgba(237, 88, 93, 1) 73%, rgba(215, 38, 45, 0.88) 80%, rgba(215, 38, 45, 0) 100%);
}
.event-card h3 span{
	font-weight:normal;
	font-size:1.2rem;
	margin-left:1rem;
}

/*=================================
 line
=================================*/

.line_content{
	display: flex;
    justify-content: space-evenly;
	align-items: center;
    max-width: 1100px;
    margin: auto;
	padding-top:20px;
}
@media(max-width:769px){
	.line_content{
		flex-wrap: wrap;
	}
	.line_content div{
		width:60%;
	}
}
section.line h2{
	font-size:2rem;
	font-weight:bold;
	display:inherit;
}
@media(max-width:769px){
	section.line h2{
	font-size:1.4rem;
}
}
section.line h2 span{
	font-size:2rem;
	padding-right:5px;
}
	
.line p{
	font-size:1.5rem;
	margin-bottom:10px;
	line-height:1.3;
}
@media(max-width:769px){
	.line p{
	font-size:1.2rem;
	}
}
.line img{
	max-width:150px;
}
@media(max-width:769px){
	.line img{
		max-width:110px;
	}
}

.line a{
	display: flex;
    align-items: center;
    justify-content: space-evenly;
    text-decoration: none;
    text-align: center;
    background: #D7262D;
    color: #fff;
    padding: 5px;
    border-radius: 20px;
	line-height:1.2;
	font-size:1.7rem;
}
@media(max-width:769px){
	.line a{
		width:90%;
		margin:20px auto;
	}
}
.line a i{
	font-size:3rem;
	margin:20px;
}

/*=================================
 Form
=================================*/

form#mail_form dl.term {
	border-bottom: none;
}
form#mail_form dl.term dt{
	display:none;
}
form#mail_form dl.term dd{
	width:100%;
	padding-bottom:0;
	align-items: center;
    display: flex;
    justify-content: center;
	flex-wrap: wrap;
}
form#mail_form dl.term dd input{
	width: 1.2rem;
    height: 1.2rem;
	margin-right:10px;
}
form#mail_form dl.term dd span{
	width:100%;
	text-align:center;
}
form#mail_form dl.term a{
	color:#fff;
	width:100%;
	text-align:center;
}
form#mail_form p#form_submit{
	text-align:center;
}
form#mail_form #form_submit input[type="button"] {
    margin: auto;
	width:80%;
	max-width:350px;
	font-size:1.5rem;
	border-radius: 5px;
}

/*=================================
 Responsive Common
=================================*/

@media(max-width:1024px){

.member-list,
.price_list,
.event_list{
    grid-template-columns:repeat(2,1fr);
}

}
@media(max-width:769px){

.member-list,
.price_list,
.event_list{
    grid-template-columns:1fr;
}

.content h3{
    font-size:1.6rem;
}

}