@charset "utf-8";

/*全ページ共通*/

html.spacebook {
  font-size: .73vw;
}

@media screen and (max-width: 640px) {
  html.spacebook {
    font-size: 2.4vw;
  }
}



body {
  background-color: black;
  width: 100%;
  color: white;
  margin: 0;/* bodyの余白を削除 */
  padding: 0;/* bodyの余白を削除 */
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  text-decoration: none;
}

img {
  vertical-align: bottom;
}

h1 {
  margin: 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: 2.6rem;
}

h2 {
  font-size: 30px;
  margin-top: 50px;
  padding-top: 50px;
  text-align: center;
  margin-bottom: 150px;
}

.container{
  display: grid;
  grid-template-rows: 300px;
  grid-template-columns: 25% 25% 25% 25%;
}

.container{
  display:grid;
  grid-row:1/2;
  grid-column:1/4;
  
}

.team-member-name{
  font-size: 30px;
  text-align: center;

}

.team-member-position{
  font-size: 14px;
  width:70%;
  margin :0 auto;
}


.team-card{
  width: 90%;
    text-align: center;
}

.team-member-position{
  text-align: left;
}

.team-member-image{
  font-size: 10px;
  width:70%;
  margin :0 auto;
}

.sarea{
margin-left: 500px;
margin-right: 500px;
}
/*全ページ共通終わり*/

.container{
  margin-left: 3%;
  margin-right: 3%;
}

.hr1 {
  position: relative;
	height: 3px;
	border-width: 0;
	background-color: #00bcd4;
	background-image: -webkit-linear-gradient( 135deg, #FD6585 10%, #0D25B9 100%);
	background-image: linear-gradient( 135deg, #FD6585 10%, #0D25B9 100%);
  margin-top:120px;
  margin-left: 5%;
  margin-right: 5%;
}

.hr2 {
  position: relative;
  height: 3px;
  border-width: 0;
  background-color: #00bcd4;
  background-image: -webkit-linear-gradient(225deg, #FD6585 10%, #0D25B9 100%);
  background-image: linear-gradient(225deg, #FD6585 10%, #0D25B9 100%);
  margin-top: 120px;
  margin-left: 5%;
  margin-right: 5%;
}

    
        /*お知らせ終わり*/

        .form-container {
          width: 100%;
          height: 750px;
          margin-top: 0;
          padding-top: 0;
        }
        
        .form {
          width: 100%;
          height: 100%;
        }


        body:before {
          display: none !important;
        }

        html, body {
          height: 100%; /* これが重要 */
        }
        .form-container {
          height: 750px; /* 明示的に指定されている */
        }



        .team-card {
          background-color: transparent;
          border: 2px solid white;
          border-radius: 20px;
          padding: 20px;
          text-align: center;
          transition: all 0.3s ease;
          position: relative;
          z-index: 1;
        }
        
        /* グラデーション枠 + 角丸維持 */
        .team-card:hover {
          border: 2px solid transparent;
          border-radius: 20px;
          background-clip: padding-box;
          position: relative;
          z-index: 1;
        }
        
        /* グラデーションの枠を作る擬似要素 */
        .team-card:hover::before {
          content: "";
          position: absolute;
          top: -2px;
          left: -2px;
          right: -2px;
          bottom: -2px;
          border-radius: 20px;
          background: linear-gradient(135deg, #FD6585 10%, #0D25B9 100%);
          z-index: -1;
        }



        a.team-card {
          display: block;
          background-color: transparent;
          border: 2px solid white;
          border-radius: 20px;
          padding: 20px;
          text-align: center;
          transition: all 0.3s ease;
          position: relative;
          z-index: 1;
          text-decoration: none;
          color: white;
        }
        
        a.team-card:hover {
          border: 2px solid transparent;
          border-radius: 20px;
          background-clip: padding-box;
        }
        
        a.team-card:hover::before {
          content: "";
          position: absolute;
          top: -2px;
          left: -2px;
          right: -2px;
          bottom: -2px;
          border-radius: 20px;
          background: linear-gradient(135deg, #FD6585 10%, #0D25B9 100%);
          z-index: -1;
        }






        @media screen and (max-width: 768px) {
          h2 {
            font-size: 30px;
            margin-top: 65px;
            padding-top: 50px;
            margin-bottom: 60px;
          }
        
          .container {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 40px;
            margin: 0 auto;
            padding-bottom: 70px;
          }
        
          .team-card {
            width: 90%;
            max-width: 320px;
            margin: 0 auto;
          }
        
          .team-member-image {
            width: 100%;
            height: auto;
          }
        
          .team-member-name {
            font-size: 25px;
            text-align: center;
          }
        
          .team-member-position {
            font-size: 15px;
            width: 90%;
            margin: 0 auto;
            text-align: left;
          }

          .hr1, .hr2 {
            margin: 40px auto;
            width: 80%;
          }
        
          .sarea {
            margin-left: auto;
            margin-right: auto;
          }

          .team-grid{
            margin-top: 35px;
          }

        }

        @media screen and (min-width: 769px) and (max-width: 1024px) {
          .container {
            display: grid;
            grid-template-columns: 50% 50%;
            gap: 40px;
            justify-content: center;
            padding: 0 3%;
          }
        
          .team-card {
            width: 100%;
            max-width: none;
            margin: 0 auto;
          }
        
          .team-member-image {
            width: 70%;
          }
        
          .team-member-name {
            font-size: 28px;
          }
        
          .team-member-position {
            font-size: 14px;
          }
        }
        