@charset "UTF-8";
/* =====================================
	全体設定
===================================== */

html{
    font-size: 62.5%;
}

a{
	color:#000;
	text-decoration:none;
    transition: 0.3s all ease;
}

a:hover{
	opacity: 0.6;
}

.sp{
	display:none !important;
}

body{
	position: relative;
	margin: 0 auto;
	font-size: min(3.2vw, 2.4rem);
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 300;
    font-style: normal;
    background: url("../img/bg03.jpg");
    background-size: cover;
    background-attachment: fixed;
	color: #fff;
    line-height: 2;
	text-align: left;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
	-ms-text-size-adjust: 100%;/*EgdeMobile*/
	-moz-text-size-adjust: 100%;/*firefox*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}

.en{
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 400;
    font-style: italic;
}

#wrapper{
    max-width: 750px;
    width: 100%;
    margin: 0 auto;
    background: transparent;
    box-shadow: 0px 0px 50px 10px #000;
}

#wrapper img{
    max-width: 100%;
}

.animated{
    opacity: 0;
}


/* =====================================
	main
===================================== */

.visual{
    position: relative;
}

.visual p{
    font-size: min(3.33vw, 2.5rem);
    font-weight: normal;
    line-height: 1.68;
    position: absolute;
    left: min(46.8vw, 351px);
    bottom: min(19.733vw, 148px);
}

.visual p span{
    display: block;
}

.visual p span:nth-child(2){
    text-indent: -0.4em;
}

.visual p span:nth-child(3){
    text-indent: -0.8em;
}

.visual p span:nth-child(4){
    text-indent: -1.2em;
}

.about{
    width: 100%;
    padding: min(16vw, 120px) 0;
    background: url("../img/bg01.jpg") no-repeat center;
    background-size: cover;
}

.about h2{
    font-size: min(3.467vw, 2.6rem);
    font-weight: 500;
    text-align: center;
    line-height: 1;
    color: #acabab;
    margin-bottom: min(5.867vw, 44px);
}

.about .en{
    font-size: min(13.33vw, 10.0rem);
    font-weight: normal;
    color: #fff;
    display: block;
    line-height: 0.73;
    margin-top: -0.06em;
    margin-bottom: min(3.067vw, 23px);
}

.about h2 + p{
    font-size: min(3.733vw, 2.8rem);
    font-weight: 300;
    text-align: center;
    line-height: 1.5714;
    margin-bottom: min(6.8vw, 51px);
}

.about ul{
    position: relative;
    display: flex;
    justify-content: space-between;
    width: min(77.33vw, 580px);
    margin: 0 auto min(12vw, 90px);
}

.about ul::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    width: min(9.867vw, 74px);
    height: 1px;
    background: #a69495;
}

.about ul::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    width: min(20.4vw, 153px);
    height: 1px;
    background: #a69495;
}

.about ul li{
    width: min(28.8vw, 216px);
    height: min(7.467vw, 56px);
    border: 1px solid #a69495;
    color: #a69495;
    font-size: min(4.267vw, 3.2rem);
    text-align: center;
    line-height: 1;
    padding-top: min(1.2vw, 9px);
}

.about .philosophy{
    width: min(84vw, 630px);
    background: rgba(0,0,0,0.6);
    padding: min(8.67vw, 65px) min(8vw, 60px);
    margin: 0 auto;
}

.about .philosophy h3{
    font-size: min(5.33vw, 4.0rem);
    font-weight: 500;
    text-align: center;
    line-height: 1;
    margin-bottom: min(5.33vw, 40px);
    color: #c4c4c4;
}

.about .philosophy p{
    line-height: 1.5;
    font-weight: 300;
}

.about .philosophy p + p{
    margin-top: min(2.8vw, 21px);
}

.approach{
    width: 100%;
    padding: min(16vw, 120px) 0;
    background: rgb(17,17,17,0.65);
    overflow: hidden;
}

.approach h2{
    font-size: min(3.467vw, 2.6rem);
    font-weight: 500;
    text-align: center;
    line-height: 1;
    color: #acabab;
    margin-bottom: min(10.133vw, 76px);
}

.approach .en{
    font-size: min(13.33vw, 10.0rem);
    font-weight: normal;
    color: #fff;
    display: block;
    line-height: 0.73;
    margin-top: -0.06em;
    margin-bottom: min(4.133vw, 31px);
}

.approach ul li{
    position: relative;
    margin-bottom: min(9.6vw, 72px);
}

.approach ul li:last-child{
    margin-bottom: 0;
}

.approach ul li::after{
    content: "";
    position: absolute;
    top: 0;
}

.approach ul li:nth-child(1)::after{
    left: min(5.33vw, 40px);
    background: url("../img/approach01.png") no-repeat;
    background-size: contain;
    width: min(19.867vw, 149px);
    height: min(10.4vw, 78px);
}

.approach ul li:nth-child(2)::after{
    left: min(70.133vw, 526px);
    background: url("../img/approach02.png") no-repeat;
    background-size: contain;
    width: min(21.867vw, 164px);
    height: min(10.4vw, 78px);
}

.approach ul li:nth-child(3)::after{
    left: min(5.33vw, 40px);
    background: url("../img/approach03.png") no-repeat;
    background-size: contain;
    width: min(22.133vw, 166px);
    height: min(10.4vw, 78px);
}

.approach ul li:nth-child(4)::after{
    left: min(70.133vw, 526px);
    background: url("../img/approach04.png") no-repeat;
    background-size: contain;
    width: min(21.33vw, 160px);
    height: min(10.4vw, 78px);
}

.approach ul li span{
    width: 100%;
    background: linear-gradient(to right, rgba(0,0,0,1), rgba(0,0,0,0));
    clip-path: polygon(0 40px, 100% 0%, 100% calc(100% - 40px), 0% 100%);
    padding: min(16.4vw, 123px) 0 min(10.67vw, 80px) min(6vw, 45px);
    display: block;
    line-height: 1.6923;
}

@media screen and (max-width:750px){
.approach ul li span{
    clip-path: polygon(0 5.33vw, 100% 0%, 100% calc(100% - 5.33vw), 0% 100%);
}
}

.approach ul li:nth-child(even) span{
    background: none;
    clip-path: none;
    padding: min(16.4vw, 123px) 0 min(10.67vw, 80px) min(56.933vw, 427px);
}

.approach ul li img{
    position: absolute;
    top: max(-2.267vw, -17px);
    right: 0;
    width: min(51.33vw, 385px);
    filter: drop-shadow(0px 7px 30px rgba(0,0,0,0.6)) drop-shadow(0px 7px 30px rgba(0,0,0,0.6));
}

.approach ul li:nth-child(even) img{
    right: auto;
    left: 0;
}

.approach a{
    display: table;
    margin: 0 auto;
    filter: drop-shadow(0px 7px 30px rgba(0,0,0,0.7)) drop-shadow(0px 7px 30px rgba(0,0,0,0.7));
    width: min(70.67vw, 530px);
}

.approach a + a{
    margin-top: min(4vw, 30px);
}

.approach .note{
    font-size: min(2.133vw, 1.6rem);
    width: min(70.67vw, 530px);
    margin: min(1.33vw, 10px) auto 0;
    line-height: 1;
    position: relative;
    z-index: 10;
    font-weight: 300;
}

.features{
    width: 100%;
    padding: min(16vw, 120px) 0;
    background: url("../img/bg02.jpg") no-repeat center;
    background-size: cover;
}

.features h2{
    font-size: min(3.467vw, 2.6rem);
    font-weight: 500;
    text-align: center;
    line-height: 1;
    color: #acabab;
    margin-bottom: min(8vw, 60px);
}

.features .en{
    font-size: min(13.33vw, 10.0rem);
    font-weight: normal;
    color: #fff;
    display: block;
    line-height: 0.73;
    margin-top: -0.06em;
    margin-bottom: min(3.067vw, 23px);
}

.features ul{
    width: min(92.8vw, 696px);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.features ul li{
    width: min(44.933vw, 337px);
    background: rgba(0,0,0,0.75);
    padding: min(8vw, 60px) min(4vw, 30px) min(6.933vw, 52px);
    clip-path: polygon(0 0, calc(100% - 53px) 0, 100% 45px, 100% 100%, 0 100%);
    margin-bottom: min(8vw, 60px);
    filter: drop-shadow(0px 8px 20px rgba(0,0,0,0.5));
}

@media screen and (max-width:750px){
.features ul li{
    clip-path: polygon(0 0, calc(100% - 7.067vw) 0, 100% 6vw, 100% 100%, 0 100%);
}
}

.features ul li:nth-last-child(-n + 2){
    margin-bottom: 0;
}

.features ul li h3{
    text-align: center;
    font-size: min(4.267vw, 32px);
    line-height: 1.3125;
    padding-top: min(18.933vw, 142px);
    font-weight: 300;
}

.features ul li:nth-child(1) h3{
    background: url("../img/icon01.png") no-repeat center top;
    background-size: min(17.33vw, 130px) auto;
}

.features ul li:nth-child(2) h3{
    background: url("../img/icon02.png") no-repeat center top;
    background-size: min(17.33vw, 130px) auto;
}

.features ul li:nth-child(3) h3{
    background: url("../img/icon03.png") no-repeat center top;
    background-size: min(17.33vw, 130px) auto;
}

.features ul li:nth-child(4) h3{
    background: url("../img/icon04.png") no-repeat center top;
    background-size: min(17.33vw, 130px) auto;
}

.features ul li p{
    font-size: min(3.467vw, 26px);
    line-height: 1.53846;
    margin-top: min(3.2vw, 24px);
    font-weight: 300;
}

.features ul li p strong{
    font-weight: bold;
}

.member{
    background: rgb(17,17,17,0.65);
    padding: min(20.533vw, 154px) min(5.33vw, 40px) min(16vw, 120px);
}

.member ul li{
    position: relative;
}

.member ul li p{
    font-size: min(2.67vw, 2.0rem);
    font-weight: 300;
    line-height: 1.6;
    clip-path: polygon(0 0, calc(100% - 53px) 0, 100% 45px, 100% 100%, 0 100%);
    background: #030303;
    margin-bottom: min(5.33vw, 40px);
    filter: drop-shadow(0px 8px 20px rgba(0,0,0,0.5));
    padding: min(22vw, 165px) 0 min(5.33vw, 40px) min(6vw, 45px);
}

.member ul li.headcoach p{
    clip-path: polygon(0 0, calc(100% - 53px) 0, 100% 45px, 100% 100%, 0 100%);
    background: #030303;
    margin-bottom: min(5.33vw, 40px);
    filter: drop-shadow(0px 8px 20px rgba(0,0,0,0.5));
    padding: min(21.6vw, 162px) 0 min(9.867vw, 74px) min(6vw, 45px);
}

.member ul li:nth-child(even) p{
    padding: min(22vw, 165px) 0 min(5.33vw, 40px) min(43.2vw, 324px);
}

.member ul li.support p{
    font-size: min(4.4vw, 3.3rem);
    font-weight: 300;
    line-height: 1.5;
    padding: min(14.4vw, 108px) 0 min(5.33vw, 40px) min(6vw, 45px);
    color: #acabab;
}

.member ul li:last-child{
    margin-bottom: 0;
}

.member ul li h3{
    font-size: min(6.67vw, 50px);
    color: #acabab;
    line-height: 0.8;
    position: absolute;
    top: min(5.867vw, 44px);
    left: min(6vw, 45px);
    z-index: 10;
}

.member ul li:nth-child(even) h3{
    left: min(43.2vw, 324px);
}

.member ul li h3 span{
    font-size: min(5.33vw, 40px);
    color: #a69495;
    display: block;
    margin-bottom: min(3.733vw, 28px);
}

.member ul li.headcoach h3{
    top: max(-3.733vw, -28px);
}

.member ul li.headcoach h3 span{
    font-size: min(8vw, 60px);
    margin-bottom: min(9.6vw, 72px);
}

.member ul li.support h3{
    left: min(6vw, 45px);
}

.member ul li.headcoach img{
    position: absolute;
    bottom: 0;
    left: min(37.2vw, 279px);
    width: min(49.867vw, 374px);
}

.member ul li:nth-child(2) img{
    position: absolute;
    bottom: 0;
    left: min(5.33vw, 40px);
    width: min(30.67vw, 230px);
}

.member ul li:nth-child(3) img{
    position: absolute;
    bottom: 0;
    left: min(49.6vw, 372px);
    width: min(27.33vw, 205px);
}

.member ul li:nth-child(4) img{
    position: absolute;
    bottom: 0;
    left: min(8vw, 60px);
    width: min(26.8vw, 201px);
}

.member ul li:nth-child(5) img{
    position: absolute;
    bottom: 0;
    left: min(44.533vw, 334px);
    width: min(40.8vw, 306px);
}

/*.member ul li:nth-child(6) img{
    position: absolute;
    bottom: 0;
    left: min(4.4vw, 33px);
    width: min(36.133vw, 271px);
}*/

.member > p{
    font-size: min(3.33vw, 25px);
    color: #acabab;
    line-height: 1.6;
    margin-top: min(4vw, 30px);
    font-weight: 300;
}

.member .schedule{
    width: min(78.67vw, 590px);
    margin: min(9.067vw, 68px) auto 0;
    border: min(0.4vw, 3px) solid #a69495;
    padding: min(8.533vw, 64px) min(8.533vw, 64px) min(8.267vw, 62px);
}

.member .schedule h3{
    font-size: min(5.33vw, 40px);
    font-weight: 500;
    color: #c4c4c4;
    line-height: 1;
    text-align: center;
    margin-bottom: min(3.6vw, 27px);
}

.member .schedule p{
    font-size: min(3.733vw, 28px);
    line-height: 1.714;
    font-weight: 300;
}

.member a{
    display: table;
    margin: min(10.133vw, 76px) auto 0;
    filter: drop-shadow(0px 7px 30px rgba(0,0,0,0.7)) drop-shadow(0px 7px 30px rgba(0,0,0,0.7));
    width: min(70.67vw, 530px);
}

.member a + a{
    margin-top: min(4vw, 30px);
}

.member .note{
    font-size: min(2.133vw, 1.6rem);
    width: min(70.67vw, 530px);
    margin: min(1.33vw, 10px) auto 0;
    line-height: 1;
    position: relative;
    z-index: 10;
    color: #fff;
}

.sponsor{
    width: 100%;
    padding: 0 0 min(16vw, 120px);
    background: rgb(17,17,17,0.65);
}

.sponsor h2{
    font-size: min(3.467vw, 2.6rem);
    font-weight: 500;
    text-align: center;
    line-height: 1;
    color: #acabab;
    margin-bottom: min(8vw, 60px);
}

.sponsor .en{
    font-size: min(13.33vw, 10.0rem);
    font-weight: normal;
    color: #fff;
    display: block;
    line-height: 0.73;
    margin-bottom: min(3.067vw, 23px);
}

.sponsor ul{
    width: min(89.33vw, 670px);
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
}

.sponsor ul li img{
    width: min(42.67vw, 320px);
}

.sponsor h3{
    font-size: min(3.467vw, 2.6rem);
    font-weight: 500;
    text-align: center;
    line-height: 1;
    color: #acabab;
    margin: min(8vw, 60px) 0 min(4vw, 30px);
}

/* =====================================
	footer
===================================== */

footer{
    background: rgb(17,17,17,0.65);
    font-size: min(2.4vw, 1.8rem);
    font-weight: normal;
    color: #c4c4c4;
    text-align: center;
    padding-bottom: min(7.467vw, 56px);
}
