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

/*
iPad Proなどタブレット用_max-width: 1204px;
*/

@media screen and (max-width: 1024px) {
  html,
  body {
    min-width: 0;
    width: 100%;
    height: 100%;
    -webkit-text-size-adjust: 100%;
  }

  img {
    max-width: 100% !important;
    height: auto;
  }

  .sp_only {
    display: inherit;
  }
  .pc_only {
    display: none;
  }

  .inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 2%;
    box-sizing: border-box;
  }

  header nav {
    display: none;
  }
  header h1 {
    width: 20%;
  }

  #page-bg h2 {
    font-size: 3.8rem;
    color: #fff;
    letter-spacing: 0.1em;
  }

  #page-bg p {
    font-size: 2rem;
    color: #82a9b8;
  }

  #page-bg {
    padding: 10em 0;
    text-align: center;
    border-bottom: solid 30px #16447c;
  }

  .bg-area {
    text-align: center;
    color: #fff;
    padding: 5em 3em;
    margin-bottom: 5em;
  }

  .bg-area h2 {
    font-size: 1.4rem;
    line-break: strict;
    word-break: keep-all;
    line-height: 1.6;
    margin-bottom: 0.4em;
  }

  .bg-area p {
    font-size: 1.4rem;
    line-height: 2;
  }

  h2.ttl {
    font-size: 3em;
    line-height: 2;
  }

  .ttl-img,
  .ttl-img02,
  .ttl-img03,
  .ttl-img04,
  .ttl-img05,
  .ttl-img06 {
    width: 60%;
    margin: 0 auto 5em;
  }

  /*--Splash--*/
  .Welcome-Logo_str {
    position: absolute;
    width: 70%;
    top: calc(100vh / 2 - 75px);
    left: calc(100vw / 2 - 140px);
  }
  /*--top-area--*/
  .top-area {
    background: url("../images/page/top/top-img05.jpg") no-repeat;
    background-size: cover;
    text-align: center;
    color: #fff;
    margin-top: 0;
    margin-bottom: 5em;
    padding: 5em 2em;
    box-sizing: border-box;
  }

  .top-area h2 {
    font-size: 2.4rem;
    line-height: 2;
    margin-bottom: 0em;
  }

  .top-area p {
    width: 90%;
    margin: 0 auto;
    font-size: 1.4rem;
    background: rgba(0, 0, 0, 0.8);
    line-height: 2;
    padding: 2em 0;
  }

  .right {
    float: none;
  }
  .btn {
    text-align: center;
  }

  .pc-area {
    display: none;
  }

  /*--main-visual--*/
  /*宮迫*/
  #sp-main-visual video {
    width: 100%;
    position: relative;
  }

  #sp-main-visual {
    position: relative;
    background-size: cover;
    text-align: center;
  }

  #sp-main-visual .main {
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0;
    left: 0;
    margin: auto;
    width: 60%;
    height: 0px;
    z-index: 10;
  }

  #sp-main-visual video {
    z-index: 1 !important;
  }

  /*#sp-main-visual {
		宮迫background: url("../images/page/top/sp-main-bg.jpg") no-repeat center center;
		background-size: cover;
		height: 80vh;
		
	}*/

  #main-visual {
    /*background: none;
	  position: relative;
	  overflow: hidden;
	  width: 100%;
	  height: 100vh;*/

    display: none;
  }

  /*
	#main-visual video {
	    position: absolute;
	    z-index: -1;
	    top: 50%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	    width: 177.77777778vh;
	    height: 56.25vw;
	    min-height: 100%;
	    min-width: 100%;	
	}
	
	#main-visual .main {
		position: absolute;
		top:0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 80%;
		margin: 0 auto;
		padding-top: 30em;
		z-index: 10;
	}
	*/

  .sp-area h3 {
    width: 80%;
    margin: 0 auto 1em;
  }

  .sp-left {
    background: url("../images/page/top/sp-left-bg.png") no-repeat;
    padding: 4em 0 6em;
    background-size: 100%;
  }

  .sp-right {
    background: url("../images/page/top/sp-right-bg.png") no-repeat;
    padding: 4em 0 6em;
    background-size: 100%;
  }

  .sp-left .ttl {
    width: 70%;
    padding-left: 10%;
    box-sizing: border-box;
    margin-bottom: 10%;
  }

  .sp-right .ttl {
    width: 70%;
    margin-left: auto;
    padding-right: 10%;
    box-sizing: border-box;
    margin-bottom: 10%;
  }

  /*----------

	アスリート支援事業

	------------*/

  .athlete-bg001 {
    background: url("../images/page/athlete/bg-001.jpg") no-repeat;
    background-size: cover;
  }

  .athlete-bg002 {
    background: url("../images/page/athlete/bg-002.jpg") no-repeat;
    background-size: cover;
  }

  .athlete-bg003 {
    background: url("../images/page/athlete/bg-003.jpg") no-repeat;
    background-size: cover;
  }

  .athlete-area {
    margin-bottom: 5em;
  }
  .athlete-img {
    width: 100%;
  }

  .sns-btn img {
    width: 5.5vw;
    height: auto;
  }

  .athlete-info {
    width: 100%;
    padding: 2em 1em;
    box-sizing: border-box;
  }

  .athlete-info h3 {
    font-size: 3rem;
    color: #16447c;
    padding-left: 0em;
    box-sizing: border-box;
    text-align: center;
  }

  .athlete-info h3 span {
    font-size: 1.8rem;
    padding-left: 0em;
    display: block;
  }

  .athlete-info dl {
    padding: 0;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
    margin-bottom: 1em;
    padding-bottom: 1em;
  }

  .athlete-info dl dt {
    width: 100%;
    font-size: 1.3rem;
  }

  .athlete-info dl dd {
    width: 100%;
    font-size: 1.3rem;
    line-height: 2;
  }

  .athlete-info dl dd div {
    margin-top: 1em;
  }

  h2.athlete-ttl {
    font-size: 2rem;
    line-height: 2;
  }

  .interview-area {
    margin-bottom: 5em;
  }
  .interview-img {
    width: 100%;
    margin: 0 auto;
    background-color: #16447c;
    text-align: center;
  }

  .interview-img img {
    width: 40%;
  }

  .interview-area p {
    width: 100%;
    padding: 1em;
    box-sizing: border-box;
    font-size: 1.4rem;
    line-height: 2;
    text-align: left;
  }

  dl.support dt {
    font-size: 1.6rem;
    width: 100%;
    text-align: center;
    background: #8aa1bd;
    padding: 1em 0;
    color: #fff;
    letter-spacing: 0.5em;
  }

  dl.support dd {
    font-size: 1.6rem;
    width: 100%;
    color: #16447c;
    padding: 1em 0;
    text-align: center;
    box-sizing: border-box;
  }

  .support-txt {
    width: 100%;
    margin: 0 auto;
    font-size: 1.6rem;
    line-height: 2;
    background-color: #e1e7ee;
    text-align: left;
    border-radius: 20px;
    padding: 2em;
    box-sizing: border-box;
    position: relative;
    z-index: 10;
  }

  .support-txt br {
    display: none;
  }

  .support-area {
    background: url("../images/page/athlete/bg-004.jpg") no-repeat;
    background-size: cover;
    padding: 5em 1em;
    margin-top: -5%;
  }

  .wi80 {
    width: 100%;
    margin: 2% auto 0;
  }
}

@media screen and (max-width: 737px) {
  .sns-btn img {
    display: flex;
    justify-content: space-around;
    object-fit: contain;
  }

  .sns-btn img {
    display: block;
    width: 50%;
    height: auto;
    margin: 0 auto;
  }
}

@media screen and (max-width: 361px) {
  .sns-btn img {
    width: 100vw;
  }
}

@media screen and (max-width: 361px) {
  .sns-btn img {
    width: 10vw;
  }
}

@media (max-width: 1024px) {
  /* 検知ゾーンを消す */
  .hover-zone {
    display: none !important;
  } /* PC用ヘッダー自体も消す（.sp_only を使うため） */
  #GlobalHeader {
    display: none !important; /* 念のためのガード（テーマ側CSSの影響を断つ） */
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    background: transparent !important;
  }
}

/* 2) PC（769px～）だけ hover 表示を有効化 */
@media (min-width: 1024px) {
  #GlobalHeader {
    z-index: 2000 !important;
  }
  /* 画面最上部のマウス検知ゾーン */
  .hover-zone {
    z-index: 1000 !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 150px; /* 出しやすさはここで調整可 */
    background: transparent; /* 透明 */
    pointer-events: auto;
    display: block; /* 念のため明示 */
  } /* ヘッダー：固定配置＋初期は上に隠す（高さ可変に強い） */
  #GlobalHeader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.72); /* 黒＋半透明 */
    backdrop-filter: saturate(120%) blur(2px); /* 任意 */
    transform: translateY(-100%);
    opacity: 0.98;
    transition: transform 0.35s ease, opacity 0.35s ease;
    display: flex; /* モバイルの display:none の影響を打ち消す */
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
  } /* 表示状態：スッと降りてくる */
  #GlobalHeader.is-show {
    transform: translateY(0);
    opacity: 1;
  } /* ヘッダー内のリンク色（必要に応じて） */
  #GlobalHeader a {
    color: #fff;
    text-decoration: none;
    font-size: 1.2rem;
    text-align: center;
  } /* ドロップダウンが潜らないように */
  #GlobalHeader .menuSub {
    position: absolute; /* 既存仕様に合わせて調整可 */
    z-index: 10001;
  }
}

@media screen and (min-width: 1359px) and (max-width: 1372px) {
  #GlobalHeader {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }
  #GlobalHeader > br {
    display: none !important;
  } /* ← これで“縦並び”の原因を遮断 */
  #GlobalHeader > h1 {
    flex: 0 0 auto !important;
  } /* ロゴ列は固定幅 */
  #GlobalHeader > h1 img {
    height: 52px;
    width: auto;
  }
  #GlobalHeader > nav {
    margin-left: auto !important;
  } /* ナビを右側へ寄せる */
}

/*----------

	アスリートキャリア

	------------*/

/* ============================
  1400px 以下の調整
============================ */
@media screen and (max-width: 1400px) {
  .ttl-bg {
    width: 100%;
  }

  .about-section {
    width: 50%;
  }

  .about-section p {
    font-size: 1.4rem;
  }

  .movie-section {
    width: 60%;
  }

  .flex-contents-sub h2 {
    font-size: 2.2rem;
  }

  .flex-contents-sub p {
    font-size: 1.2rem;
  }

  .swiper-pagination {
    font-size: 12px;
  }

  .float-button {
    width: 35%;
    padding: 1rem 0.5rem;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 835px) {
  #main-contents {
    margin-bottom: 4em;
  }

  .primary-section {
    margin-bottom: 4em;
  }

  .primary-section,
  .secondary-section {
    width: 100%;
    height: auto;
  }

  .primary-section iframe {
    width: 100%;
  }

  .secondary-section iframe {
    width: 80%;
  }

  .secondary-section h3 {
    font-size: 1.8rem;
  }

  .ttl-bg {
    width: 100%;
  }
  .ttl-bg h1 {
    font-size: 2.4rem;
  }

  .ttl-bg-adjust h1 {
    overflow-wrap: anywhere;
    word-break: keep-all;
  }

  .about-section,
  .movie-section {
    width: 90%;
    margin: 2rem auto;
  }

  .about-section p {
    font-size: 1.4rem;
    padding: 1em;
    overflow-wrap: break-word;
    line-break: strict;
    word-break: keep-all;
  }

  .about-section-adjust h2 {
    font-size: 1.6rem;
    font-family: "游明朝体", "Yu Mincho";
  }

  .athlete-sentence p {
    font-size: 1.4rem;
    word-break: keep-all;
    line-break: strict;
  }

  .movie-ttl {
    display: block;
  }

  .movie-ttl-p {
    margin: 0 auto;
  }

  .movie-ttl-p {
    display: block;
    width: 100%;
  }

  .movie-ttl-p p {
    font-size: 1.6rem !important;
    margin-bottom: 0.8em;
  }

  .movie-ttl-p :last-of-type {
    font-size: 1.4rem !important;
  }

  .university-manager-name p {
    font-size: 1.4rem;
  }

  .flex-contents {
    flex-direction: column;
    align-items: center;
  }

  .flex-contents-sub {
    padding: 0;
    margin-bottom: 24em;
  }

  .flex-contents-sub h2 {
    font-size: 1.6rem;
    text-align: center;
    margin-top: 2em;
  }

  .flex-contents-sub p {
    font-size: 1.4rem;
  }

  .flex-adjust p {
    overflow-wrap: break-word;
    line-break: strict;
    word-break: normal;
  }

  .swiper-pagination {
    font-size: 20px !important;
    top: 92% !important;
  }

  .form-btn {
    width: 60%;
  }

  .float-button {
    width: 80%;
    height: 4.5rem;
    font-size: 1.2rem;
  }

  .swiper-wrapper {
    padding-bottom: 50px;
  }

  .swiper-button-prev,
  .swiper-button-next,
  .swiper-pagination {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .secondary-section-adjust {
    margin-top: 1em;
  }

  .second-career-section {
    margin-bottom: 0;
    padding: 0;
  }
}

@media screen and (max-width: 420px) {
  #main-contents {
    margin-bottom: 4em;
  }

  .primary-section {
    margin-bottom: 4em;
  }

  .secondary-section {
    margin-bottom: 4em;
  }

  .primary-section,
  .secondary-section {
    width: 100%;
    height: auto;
  }

  .primary-section iframe,
  .secondary-section iframe {
    width: 70%;
    height: auto;
  }

  .secondary-section h3 {
    font-size: 1.4rem;
  }

  .ttl-bg {
    width: 100%;
  }
  .ttl-bg h1 {
    font-size: 1.8rem;
  }

  .ttl-bg-adjust h1 {
    line-break: strict;
    overflow-wrap: anywhere;
    word-break: keep-all;
  }

  .about-section,
  .movie-section {
    width: 90%;
    margin: 2rem auto;
  }

  .about-section p {
    font-size: 1.4rem;
    line-height: 1.4em;
    overflow-wrap: break-word;
    line-break: strict;
    word-break: normal;
  }

  .about-section-adjust h2 {
    font-size: 1.6rem;
    overflow-wrap: break-word;
    word-break: keep-all;
    font-family: "游明朝体", "Yu Mincho";
  }

  .athlete-sentence p {
    font-size: 1.4rem;
    word-break: keep-all;
    line-break: strict;
  }

  .movie-ttl-p {
    margin: 0 auto;
    width: 89vw;
  }

  .movie-ttl {
    display: block;
  }

  .movie-ttl-p p {
    width: 100%;
    height: auto;
    font-size: 1.4rem;
    margin-bottom: 1em;
    overflow-wrap: break-word;
    word-break: keep-all;
    max-inline-size: 40ch;
  }

  .movie-ttl-p p:last-of-type {
    font-size: 1.2rem !important;
    max-inline-size: 43ch;
  }

  .movie-ttl-p p br {
    display: none;
  }

  .university-manager-name p {
    font-size: 1.4rem;
  }

  .flex-contents {
    flex-direction: column;
    align-items: center;
    margin-top: 4em;
  }

  .flex-contents-sub {
    padding: 0;
    width: 30em;
  }

  .side-contents-adjust {
    height: 14em;
  }

  .flex-contents-sub h2 {
    font-size: 1.4rem;
    text-align: center;
    overflow-wrap: break-word;
    word-break: keep-all;
  }

  .flex-contents-sub p br {
    display: none;
  }

  .flex-contents-sub p {
    font-size: 1.2rem;
    max-width: 46ch;
  }

  .swiper-pagination {
    font-size: 10px !important;
    top: 93% !important;
  }

  .form-btn {
    width: 90%;
    margin-bottom: 0;
  }

  .float-button {
    width: 80%;
    height: 4.5rem;
    font-size: 1.2rem;
  }

  .second-career-section {
    margin-bottom: 0;
    padding: 0;
  }

  .swiper-wrapper {
    padding-bottom: 50px;
  }

  .swiper-button-prev,
  .swiper-button-next,
  .swiper-pagination {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

@media screen and (max-width: 640px) {
  .sports-management-title {
    display: block;
  }

  .top-news-info dl dt {
    width: 30%;
  }

  .top-news-info dl dd {
    width: 100%;
  }

  .footer-address,
  .footer-logo {
    width: 100% !important;
  }

  .top-news-info dl dd .footer-inner .footer-address {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .mail-btn,
  .contact-info p {
    width: 100%;
  }

  .footer-inner .footer-address .footer-logo {
    width: 70%;
    height: auto;
    margin: 0 auto;
    margin-bottom: 1em;
  }

  .sns-list {
    display: flex;
    flex-direction: row;
    justify-content: space-between !important;
    align-items: center;
  }

  ol.sns-list {
    width: 80% !important;
  }

  .sns-list li img {
    width: 100%;
    height: auto;
  }
}

/*----------

	スポーツマネジメント事業

	------------*/

@media screen and (max-width: 640px) {
  .sign-up-form-list {
    width: 100%;
    margin: 0 auto;
  }
}

/*----------

	学校施設・部活動支援事業

	------------*/

@media screen and (max-width: 640px) {
  .inner-sentence h1,
  h2,
  h3,
  h4,
  p {
    line-break: strict;
  }

  .inner-sentence h1 {
    font-size: 1.8rem !important;
  }

  .inner-sentence h2 {
    font-size: 1.4rem !important;
  }

  .inner-sentence h3,
  h4 {
    font-size: 1.2rem !important;
  }

  .inner-sentence p {
    font-size: 1rem !important;
  }

  .inner-sentence h4 {
    font-size: 1.6rem !important;
  }

  .inner {
    width: 90vw;
    margin: 0 1.4rem 0 1.4rem;
    padding: 0 1rem 0 1rem;
  }
  h2.ttl-01 {
    font-size: 1.8rem;
  }
  h3.ttl-02 {
    font-size: 1.8rem;
  }
  .lp-img {
    width: 90vw;
  }
  .txt {
    font-size: 2.4vw;
  }
  ul.club-support-list li {
    font-size: 1.8vw;
  }
}

/*----------

	講師派遣事業

	------------*/

/*----------

	会社概要

	------------*/

/*----------

	お問い合わせ

	------------*/

/*----------

	メディア

	------------*/

/* 大画面では4列を強制したい場合（任意） */
@media (min-width: 1280px) {
  .media-list01.di-fl {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* モバイル調整（必要なら） */
@media (max-width: 480px) {
  .media-pagination a.page-numbers,
  .media-pagination span.page-numbers {
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    font-size: 15px;
  }
}

/* スマホは1列に（任意） */
@media (max-width: 640px) {
  .media-list01.di-fl {
    grid-template-columns: 1fr;
    justify-content: center;
  }
}

/*----------

	採用情報（募集要項）

	------------*/
@media screen and (max-width: 1024px) {
  .recruit-link-ul {
    width: 100%;
  }

  .recruit-flex-item {
    width: 100%;
  }

  .sheet-area {
    width: 100%;
  }
}

@media screen and (max-width: 420px) {
  .recruit-inner {
    width: 100%;
  }

  .recruit-bg001 {
    background: url("../images/page/recruit/bg-001.jpg") no-repeat;
    background-size: cover;
  }

  .recruit-bg001 p {
    text-align: center;
  }
  .recruit-bg001 p br {
    display: none;
  }

  .recruit-link {
    margin: 4em 0 10em;
  }

  ul.recruit-btn {
    width: 100%;
    margin-bottom: 1em;
  }
  ul.recruit-btn li + li {
    margin-top: 1em;
  }

  .sheet-area {
    width: 100%;
    background: #fafafa;
  }

  .sheet-inner {
    padding: 2em;
    box-sizing: border-box;
  }

  .sheet-inner dl + dl {
    margin-top: 1.5em;
  }

  .sheet-inner dl dt {
    width: 30%;
  }

  .sheet-inner dl dd {
    width: 100%;
  }

  h2.ttl01 {
    font-size: 2.8rem;
    color: #16447c;
    text-align: center;
    margin-bottom: 1em;
    line-height: 2;
  }

  .recruit-link-ul {
    width: 100%;
    padding: 0;
  }

  .recruit-flex-item {
    width: 100%;
  }

  .sheet-area {
    width: 100%;
  }
}

@media screen and (max-width: 737px) {
  .new-graduate p:first-child {
    font-size: 16px;
  }

  .new-graduate div img {
    width: 150px !important;
    height: 30px !important;
  }

  .sns-btn img {
    width: 10vw;
    height: auto;
    object-fit: contain;
  }
}

/*----------

	社員の声を紹介

	------------*/

@media screen and (max-width: 420px) {
  .di-fl {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .di-fl li a h2 {
    display: inline-block;
    vertical-align: baseline;
  }

  ul.link-area {
    height: 50%;
  }
}

/*----------
	
	コラム
	
	------------*/

@media screen and (max-width: 420px) {
  html,
  body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
  }

  #column-section {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
  }

  .column-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    font-size: 1.3rem; /*文字サイズ*/
    margin-top: 50px;
    width: 100%;
  }

  .lcp_catlist li {
    text-align: center;
    margin: 0 auto;
    margin-bottom: 50px;
    width: 100%;
  }

  .lcp_catlist li a {
    text-align: center;
    font-size: 1.3rem;
    text-decoration: #0000cd;
    transition: color 0.5s;
  }

  .lcp_catlist li a img {
    width: 230px;
    height: 115px;
  }

  .lcp_catlist li a:hover {
    text-decoration: #1e90ff;
    color: #1e90ff;
  }
}
