<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
@import url("grid.css");

:root { /* 色変更される場合は、#以降のカラーコードを変更してください IE非対応 */
    --base-color: #000;
    --link-color: #666;
    --linkhover-color: #999;
    --back-color: #f7f7f7;
    --border-color: #ccc;
    --white-color: #fff;
}

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}

a {
    display:block;
    color: var(--link-color);
    text-decoration-line: none;
}
a:hover { 
    color: var(--linkhover-color);
}

.indent {
	padding-left:1em;
	text-indent:-1em;
}

.col.span-6 .contact-box a img {
  width: 275px;
  height: auto;
}

@media screen and (max-width: 768px) {
  .center {
    text-align: left !important; /* スマートフォン幅で左寄せに上書き */
  }

  .col.center { /* col クラスと center クラスを両方持つ要素 */
    text-align: left !important; /* こちらも左寄せに上書き */
	padding: 0  1em;
  }

  section .center {
    text-align: center !important;
  }

  section#1 .col.center {
    text-align: center !important;
  }

  section#1 h2.center {
    text-align: center !important; /* h2.center はセンタリング維持 */
  }
}
/*ヘッダー
-------------------------------------*/
.header2 {
	display: flex;
    flex-direction: row;
    padding: 2rem 0 0 0;
}
.header2-box {
	margin-left: auto;
	margin-top: 8px;
}
.contact-button {
	padding: 1rem;
	border: 2px solid var(--base-color);
}


@media screen and (max-width: 768px){
	.header2 {
		flex-direction: column;
    	margin-bottom: 10px;
	}
	.header2 li {
		padding-top: 0;
	}
	.header2 h1 {
		text-align: center;
	}
}
    
/*メイン画像
-------------------------------------*/
.mainimg {
    background-image: url("../img/mainV.jpg");
	background-size: 100% 100%; 
    background-repeat: no-repeat; /* 画像の繰り返しを防ぐ */
  	background-position: center; /* 画像を中央に配置する（オプション） */
	height: 60vh; /* viewport height の 80% */
}

.mainimg-content {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    text-align: left;
}

.main-title {
    font-size: 3.6em;
    color: #fff;
    margin-bottom: 1rem;
    font-weight: bold;
    line-height: 1.2;
    text-shadow: 3px 3px 6px rgba(0, 0, 100, 0.5);
    margin-left: 3%;
	margin-top: 2%;
    position: relative; /* 相対位置指定 */
    z-index: 1; /* 重なり順を上げる */
}

.main-catch {
    font-size: 2.6em;
    line-height: 1.6;
    color: #fff;
    padding: 0;
    text-shadow: 3px 3px 6px rgba(0, 0, 100, 0.5);
    margin-left: 3%;
	margin-top: 10%;
    position: relative; /* 相対位置指定 */
    z-index: 1; /* 重なり順を上げる */
}

.dx-box {
    position: absolute;
    top:15%; /* 上からの位置を調整 */
    left: 5%; /* 左からの位置を調整 */
    background-color: rgba(255, 255, 255, 0.8);
    color: #000;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    font-size: 1.5em;
    font-weight: bold;
}

/* 幅768px以下の表示
-------------------------------------*/
@media screen and (max-width: 768px){
    .mainimg {
		position: relative; /* 追加 */
		height: auto;
        padding: 2rem 2rem;
    }

    .main-title {
        font-size: 1.4em;
        line-height: 1.3;
        margin-left: -3%;
		margin-top: 3%;
    }

    .main-catch {
        font-size: 1.2em;
        line-height: 1.4;
        margin-left: 2%;
		margin-top: -3%;
		text-align: center;
    }

    .sp {
        display: inline;
    }
    .pc {
        display: none;
    }
    .dx-box {
        position: absolute;
        top: 10px; /* 調整 */
        left: 10px; /* 調整 */
        font-size: 1.2em;
        z-index: 2; /* 他の要素より前面に表示するため、z-index を追加 */
    }
}
.flex{
	display: flex;
	align-items: center; /* 垂直方向の中央揃え */
	justify-content: space-between; /* 要素を両端に配置 */
	margin-bottom: 10px; /* 必要に応じて調整 */
}
.flex h2 {
  margin-bottom: 0; /* h2の下のマージンをリセット */
}
.flex-left{
    display: flex;
	justify-content:flex-start;
}
/* 768px以下の画面サイズ（タブレット、スマートフォンなど）に適用 */
@media (max-width: 768px) {
  .flex {
    justify-content: center; /* 要素全体を中央に寄せる */
    gap: 20px; /* 要素間の隙間を設定（必要に応じて調整） */
    /* flex-wrap: wrap; */ /* 必要であれば、要素が入りきらない場合に折り返す */
  }

  /* 中央寄せにした場合、h2とa要素のマージンは通常不要ですが、
     もしタイトルとリンクの間隔を調整したい場合は以下を使用してください。 */
  /* .flex h2 {
    margin-right: 20px;
  } */
}





/*メインコンテンツ
-------------------------------------*/
main {
    margin-top: 2rem; 
}
section {
	margin: 3em 0;
	padding: 3em 0;
}
.gray-back {
	background-color: var(--back-color);
}

/*キャッチコピー
-------------------------------------*/
.catch {
    text-align: center;
	margin-bottom: 2rem; /* 下側のmarginを調整 */
}
.catch h2 {
    padding-bottm: 1rem;
}
.catch p{
	padding: 1rem;
	font-size: 2.5em;
	font-weight: 400;
	line-height: 2.5em;
	margin-bottom: 0; /* p要素の下側のmarginをなくします */
}

@media screen and (max-width: 768px){
	main {
		margin-top: 1rem; /* スマホ表示でさらに小さく */
	}
	section {
		margin-top: 1.5em; /* スマホ表示でさらに小さく */
		padding-top: 2em; /* paddingも調整 */
}

	.catch {
 	margin-bottom: 1.5rem; /* スマホ表示でさらに小さく */
}

	.catch p {
		padding: 1rem;
		font-size: 1.5em;
		line-height: 2em;
		margin-bottom: 0; /* p要素の下側のmarginをなくします */
	}
}

/*タイトル
-------------------------------------*/
.title {
    text-align: center;
}
.title h2 {
    padding-bottm: 1rem;
}
.title p{
	padding: 1rem;
	font-size: 1.2em;
	font-weight: 400;
	line-height: 1.5em;
}
.under {
    border-bottom: 0.4rem solid var(--base-color);
    padding:0 1rem 1rem 1rem;
}
.center {
	text-align: center;
	margin-bottom: 2rem;
}

.right {
	text-align: right;
}
.sp{
	display: none;
}
.pc{
	display: block;
	}



/*リスト*/
.list01{
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
	
}


/*申し込みの流れ
-------------------------------------*/
/* デフォルトのスタイル (PCなど、比較的大きな画面向け) */
.flow.row {
  margin-bottom: 3rem;
  display: flex; /* 子要素を横並びにする */
  align-items: center; /* 縦方向中央揃え */
}

section .col.span-3 {
  flex: 0 0 calc(25% - 1rem); /* 幅を調整 (gapを考慮) */
  margin-right: 1rem; /* 右側に余白 */
  display: flex;
  justify-content: center;
  align-items: center;
}
section .row.flow:nth-child(1) .col.span-3 img {
  margin-top: 3rem; /* 例として2remの余白を設定 */
}
section .col.span-9 {
  flex: 0 0 calc(75% - 1rem); /* 幅を調整 (gapを考慮) */
}

section .col.span-3 img {
  max-width: 100%;
  width: 60%;
  height: auto;
}

/* スマートフォン向けのスタイル (画面幅が768px未満) */
@media screen and (max-width: 767px) {
  .flow.row {
    flex-direction: column; /* 縦並びにする */
  }

  section .col.span-3 {
    width: 80%; /* 幅を調整 */
    margin: 0 auto 1rem; /* 中央揃えと下マージン */
  }

  section .col.span-9 {
    width: 100%;
  }
 .row.flow .col.span-9 h3 {
    text-align: center; /* h3要素を中央揃えにする */
  }
  section .col.span-3 img {
    width: 60%; /* 画像を親要素いっぱいに */
  }

  .text25 {
    font-size: 1.5rem; /* スマートフォンで文字サイズを調整 */
  }

  .text30 {
    font-size: 2rem; /* スマートフォンで文字サイズを調整 */
	font-weight: 600;
  }

}



/*フッター
-------------------------------------*/
/*footer {
    background-color: var(--back-color); 
    padding: 5rem 0;
}
footer h4 {
    border-bottom: 3px solid var(--border-color);
}
*/

/*お問い合わせ
-------------------------------------*/
.contact-box {
	border: 1px solid var(--border-color);
	/*text-align: left;*/
	padding: 2rem;
}
.table {
	margin: 4rem 0;
}
.table th {
	width: 250px;
}

/*コピーライト
-------------------------------------*/
/*.copyright {
    text-align: center;
    padding: 1rem 0;
    background-color: var(--base-color);
}
.copyright a {
    color: var(--white-color);
    text-decoration: none;
	display: inline;
}
*/
/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
    display: block;
    background-color: var(--base-color);
    color: var(--white-color);
    width: 50px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {
    background-color: var(--link-color);
}

/* 幅768px以下の表示
-------------------------------------*/
@media screen and (max-width: 768px){
	#pagetop {
display: none !important; /* 非表示にする */
  }
/*ヘッダー
-------------------------------------*/
/*.header-box {
	display: none;
}	
/*お問い合わせ
-------------------------------------*/
.table th {
	width: 100%;
	display: block;
}	
.table td {
	display: block;
}

.sp{
	display: block;
}
.pc{
	display: block;
	}

.catch p{
	padding: 2rem;
	font-size: 1.5em;
	font-weight: 400;
	line-height: 2em;
	}
}


/*リンクボタン
-------------------------------------*/
/* 006 */
.button006 {
 margin: 1em 0 2em 0;
}
.button006 a {
    /*background: #eee;*/
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 280px;
    padding: 10px 20px;
    /*color: #313131;*/
    transition: 0.3s ease-in-out;
    /*font-weight: 500;*/
}
.button006 a:before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
	right: -3em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: #6bb6ff;
    transition: 0.3s;
}
.button006 a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -3em;
    transform: translateY(-50%);
    width: 60px;
    height: 2px;
    background-color: #6bb6ff;
    transition: 0.3s;
}
.button006 a:hover:before, .button006 a:hover:after {
    right: -2.5em;
}
.button006 a:hover {
    background: #edf6ff;
    color: #6bb6ff;
}
/* 007 */
.button007 {
 margin: 1em 0 2em 0;
}
.button007 a {
    /*background: #C9C9C9;*/
	background: linear-gradient(to right, #2975AF, #63C1B6);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 280px;
    padding: 10px 20px;
    /*color: #313131;*/
	color: #fff!important;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button007 a:before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: -2em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    /*background-color: #6bb6ff;*/
	background-color: #37809C;
    transition: 0.3s;
}
.button007 a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -2em;
    transform: translateY(-50%);
    width: 60px;
    height: 2px;
    background-color: #37809C;
    transition: 0.3s;
}
.button007 a:hover:before, .button006 a:hover:after {
    right: -2.5em;
}
.button007 a:hover {
    background: #edf6ff;
	/*background: linear-gradient(to right, rgba(41, 117, 175, 0.5), rgba(99, 193, 182, 0.5)); /* 50% の透明度 */
	background: linear-gradient(to right, rgba(41, 117, 175, 0.8), transparent); /* 右端を完全に透明に */
	color: #013190;
}

/* モデルハウス一覧セクション（ID: #12）の動画埋め込みスタイル */
#12 .row {
  /* Bootstrapのrowクラスが持つ可能性のある左右のmarginをリセット */
  margin-left: 0;
  margin-right: 0;
}

#12 .col.span-12.mv_css2 {
  /* span-12は全幅表示と仮定 */
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 30px; /* 各動画間の余白を調整 */
}
#12 .col.span-12.mv_css2 iframe {
  max-width: 100%; /* 親要素の幅を超えないようにする */
  width: 980px; /* 基本の幅 */
  height: auto; /* アスペクト比を維持 */
}

/* 既存の動画埋め込みスタイル (.mv_css2) は、今回のレイアウトには影響しないように調整 */
.mv_css2 {
  display: block; /* flexレイアウトを解除 */
  width: 100%; /* 親要素に合わせる */
  margin-left: 0; /* 左マージンをリセット */
  margin-top: 2em;
}

.mv_css2 ul {
  display: block; /* flexレイアウトを解除 */
  padding: 0;
  margin: 0;
}

.mv_css2 li {
  position: relative; /* 既存のスタイルを上書き */
display: block; /* 横並びを解除 */
  width: 100%; /* 親要素に合わせる */
  margin: 0 0 3em 0; /* 各動画間の余白 */
  list-style: none;
  text-align: center;
}

.mv_css2 li:last-child {
  margin-bottom: 0; /* 最後の動画の下マージンをなくす */
}

.video-responsive {
  position: relative;
  padding-bottom: 56.25%; /* 16:9のアスペクト比 (height / width * 100) */
  height: 0;
  overflow: hidden;
}

.video-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 991px) {
    .navi {
        display: flex !important; /* Flexbox を有効にする */
        width: 100% !important; /* 幅を 100% に */
        padding-right: 0 !important; /* padding をリセット */
    }

    .navi ul#primary-menu {
        display: flex !important; /* Flexbox を有効にする */
        flex-wrap: wrap !important; /* 折り返しを有効にする */
        justify-content: space-around !important; /* 要素を均等に配置 */
        gap: 5px !important; /* 要素間のギャップ */
    }

    .navi ul#primary-menu li {
        flex-basis: auto !important; /* 各項目の幅を自動調整 */
        margin: 5px !important; /* 各項目のマージン */
    }

    .navi ul#primary-menu li a.btn_style_02 {
        display: flex !important; /* Flexbox を有効にする */
        justify-content: center !important; /* 中央揃え */
        align-items: center !important; /* 縦方向中央揃え */
        white-space: nowrap !important; /* 折り返しを禁止 */
        padding: 8px 12px !important; /* padding を設定 */
        font-size: 12px !important; /* フォントサイズを調整 */
        height: auto !important; /* 高さを自動調整 */
        border-radius: 20px !important; /* 角丸を維持 */
    }
	 .navi ul#primary-menu li a.btn_style_02 {
        border-radius: 0 !important; /* 角丸を 0 に設定し、!important で優先度を上げる */
    }
}

/* 新着ニュース/トピックスセクション */
#news{
    margin-top: 3em;
	padding: 3em 0;
    background-color: #f7f7f7; /* 他のセクションと区別するための背景色 */
}
#news .container {
	width: 60%;
}
#topics {
    margin-top: 3em;
	padding: 3em 0;
    background-color: #f7f7f7; /* 他のセクションと区別するための背景色 */
}
#topics .container {
	width: 60%;
}


.news-list {
    margin-top: 20px;
}

.news-item {
    padding: 15px 0;
    border-bottom: 1px solid #ccc;
}

.news-item:last-child {
    border-bottom: none;
}

.date {
    display: block;
    font-size: 0.9em;
    color: #777;
    margin-bottom: 5px;
}

.important {
    font-weight: bold;
    color: #ff0000; /* 目立たせる色 */
}

/* モバイル用スタイル */
@media screen and (max-width: 768px) {
	#news .container {
	width: 100%;
	}
	#topics .container {
	width: 100%;
	}
}

/* オンライン相談　ボタン追従　デスクトップ用スタイル */
@media screen and (min-width: 769px) {
    .online-seminar-button {
        position: fixed; /* フロートにする */
        top: 60%; /* 縦方向中央 */
        right: 5px; /* 右端からの距離 */
        transform: translateY(-50%);
        z-index: 100; /* 他の要素より前面に表示 */
		color: #fff;
    }

    .online-seminar-button a {
        display: block;
        background: linear-gradient(to right, rgba(99, 193, 182, 0.8), rgba(41, 117, 175, 0.8));
        color: #fff;
        font-weight: bold;
        text-align: center;
        padding: 15px 20px;
        border-radius: 10px;
        font-size: 18px; /* フォントサイズを以前の状態に戻す */
        text-decoration: none;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
        transition: background 0.3s ease;
        background-size: 200% 200%;
        animation: gradient-animation 3s ease infinite; /* アニメーションを戻す */
        border: 2px solid #fff;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); /* テキストシャドウを追加 */
    }

    .online-seminar-button a:hover {
        background: #2B78AF; /* ホバー時の背景色 */
    }

    .online-seminar-button a span {
        display: block;
        font-size: 16px;
        margin-top: 5px;
        font-weight: normal;
    }

    
.seminar-button-link .inner-link {
    /*color: inherit;*/
    text-decoration: none; /* 下線なしが基本 */
    cursor: pointer;
    font-weight: normal; /* 太字にする */
    color: #042395;/* 強調色に変更 */
    background-color: rgba(255, 255, 255, 0.8); /* 部分的に背景色をつける */
    /*border-bottom: 2px solid #ff6f61; /* 下線をつける */
	text-shadow:  none;
}

/* ホバー時のアニメーション例 */
.seminar-button-link .inner-link:hover {
    text-decoration: underline; /* マウスオーバーで下線を表示 */
    /* transform: scale(1.05); /* 少し拡大 */
    /* transition: transform 0.2s ease-in-out; /* アニメーション効果 */
}


@keyframes moveRight {
    0% { transform: translateX(0); }
    100% { transform: translateX(5px); }
}

@keyframes gradient-animation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

    .online-seminar-button-mobile {
        display: none; /* デスクトップではモバイル用ボタンを非表示 */
    }
}

/* モバイル用スタイル */
@media screen and (max-width: 768px) {
    .online-seminar-button {
        display: none; /* モバイルではデスクトップ用ボタンを非表示 */
    }

    .online-seminar-button-mobile {
        width: 90%;
        margin: 15px auto;
        text-align: center;
        position: relative;
        top: auto;
        left: auto;
        z-index: auto;
        padding: 15px 0;
        /* box-shadow: none; */ /* コメントアウト */
        /* border: none; */ /* コメントアウト */
        /* background-color: transparent; */ /* コメントアウト */
        color: #fff;
        display: block;
    }

    .online-seminar-button-mobile a {
        display: block;
        background: rgba(99, 193, 182, 0.8);
        background: linear-gradient(to right, rgba(99, 193, 182, 0.8), rgba(41, 117, 175, 0.8));
        color: #fff;
        font-weight: bold;
        padding: 15px 20px;
        border-radius: 8px;
        font-size: 16px;
        text-decoration: none;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
        border: 2px solid #fff;
    }

    .online-seminar-button-mobile a span {
        color: #042395;/* 強調色に変更 */
        font-weight: bold; /* 太字にする */
        font-size: 1.2em; /* 少し大きくする */
        text-decoration: underline; /* 下線を追加してクリック可能に見せる */
        /* background-color: rgba(255, 255, 255, 0.3); /* 背景色を少し薄くするのも効果的 */
        /* padding: 2px 5px; /* 少し余白をつける */
        /* border-radius: 3px; /* 角を少し丸くする */
        /* アニメーションを追加するのも効果的 (例: 微妙な点滅) */
        animation: blink 1s infinite alternate; 
    }

    /* (アニメーションを追加する場合) */
     @keyframes blink {
    0% { opacity: 1; }
    100% { opacity: 0.7; }
} 
    body {
        padding-top: 0;
    }
}

/* 以前の修正に加えて、より具体的に対象を指定 */
@media screen and (max-width: 768px) {
  .col.span-6 &gt; .contact-box &gt; .row {
    display: flex;
    justify-content: center; /* 水平方向中央揃え */
    flex-direction: row; /* 子要素を横並びにする（デフォルト） */
    align-items: center; /* 垂直方向中央揃え（必要に応じて） */
    flex-wrap: wrap; /* 折り返しを許可 */
  }

  .col.span-6 &gt; .contact-box &gt; .row &gt; .col.span3 {
    width: 50%; /* モバイルで2つ並べる場合 */
    text-align: center;
    margin-bottom: 10px; /* 画像間の余白 */
  }

  /* さらに小さい画面の場合（1つずつ表示する場合） */
  @media screen and (max-width: 480px) {
    .col.span-6 &gt; .contact-box &gt; .row &gt; .col.span3 {
      width: 100%; /* 幅を100%にして縦に並べる */
    }
  }

  .col.span-6 &gt; .contact-box &gt; .row &gt; .col.span3 a {
    display: block; /* a要素をブロック要素にする */
  }

  .col.span-6 &gt; .contact-box &gt; .row &gt; .col.span3 img {
    max-width: 80%; /* 画像の最大幅を調整 */
    height: auto;
    display: block;
    margin: 0 auto; /* 左右のmarginをautoにして中央寄せ */
  }

  /* center クラスのtext-align: left を打ち消す（必要な場合） */
  .col.span-6 &gt; .contact-box &gt; .row &gt; .col.span3.center {
    text-align: center !important;
  }
}

/* モバイル版固定フッターボタン */
@media screen and (max-width: 768px) {
  .fixed-footer-buttons {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: transparent;
    box-shadow: 0px -2px 5px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    color: #fff; /* アイコンの色を白に */
  }

  .fixed-footer-buttons a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-decoration: none;
    padding: 11px 0;
    font-size: 16px;
    text-align: center;
    background-color: #022469;
    border-right: 1px solid #fff;
    background-image: none !important;
    opacity: 1 !important;
    flex-grow: 1; /* デフォルトのflex-grow */
  }

  .fixed-footer-buttons a:first-child {
    border-left: none;
    font-size: 20px; /* HOMEアイコンのサイズ調整 */
    flex-grow: 0.7; /* アイコンに合わせて少し小さく */
  }

  .fixed-footer-buttons a:nth-child(2) {
    font-size: 14px; /* テキストに合わせて調整 */
  }

  .fixed-footer-buttons a:last-child {
    border-right: none;
    font-size: 20px; /* TOPへ戻るアイコンのサイズ調整 */
    flex-grow: 0.7; /* アイコンに合わせて少し小さく */
  }

  .fixed-footer-buttons a:hover {
    opacity: 0.8 !important;
  }
}
/* デスクトップ版で固定フッターボタンを非表示にする */
@media screen and (min-width: 769px) {
  .fixed-footer-buttons {
    display: none !important;
  }
}

/* カリキュラムの日程 */
.schedule-table {
  border-collapse: collapse;
  width: 60%;
  border: 1px solid #ccc;
}

.schedule-table th,
.schedule-table td {
  border: 1px solid #ccc;
  padding: 5px;
  line-height: 1.2;
}

.schedule-table th {
  background-color: #f0f0f0;
  font-weight: bold;
  text-align: left;
}

@media screen and (max-width: 768px) {
	.schedule-table {
  	width: 100%;
	}
}

/*サブページ
-------------------------------------*/
/*メイン画像*/
.submainimg {
    background: linear-gradient(to right, #2975AF, #63C1B6);
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: center;
}

.submainimg-content {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    text-align: left;
}

.submain-title {
    font-size: 2.6em;
    color: #fff;
    margin-bottom: 1rem;
    font-weight: bold;
    line-height: 1.2;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    margin-left: 3%;
    position: relative; /* 相対位置指定 */
    z-index: 1; /* 重なり順を上げる */
}

.submain-catch {
    font-size: 1.8em;
    line-height: 1.6;
    color: #fff;
    padding: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    margin-left: 3%;
	margin-top: 3%;
    position: relative; /* 相対位置指定 */
    z-index: 1; /* 重なり順を上げる */
}

/*動画埋込*/
	.youtube iframe {
		margin-top: 2em;
	}

/*サブページ sp
----------------------------*/
/*サブページ　メイン画像*/
@media screen and (max-width: 768px){
    .submainimg {
        height: auto;
        padding: 2rem 0rem;
    }

    .submain-title {
        font-size: 1.4em;
        line-height: 1.3;
        margin-left: 8%;
		margin-top: 5%;
    }

    .submain-catch {
        font-size: 1.1em;
        line-height: 1.4;
        margin-left: 5%;
    }


}

/* 新しいTopicsヘッダー
-------------------------------------*/
.topics-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(to right, #2975AF, #63C1B6);
    padding: 150px 20px; /* 上下左右の余白 */
    overflow: hidden; /* 画像がはみ出さないように */
    position: relative; /* 子要素のabsolute配置の基準 */
}

.topics-header__left {
    flex: 1; /* 左側の要素が利用可能なスペースを最大限に取る */
    padding-left: 40px; /* 左側の内側の余白 */
    z-index: 2; /* テキストを画像より手前に */
}

.topics-header__title {
    color: #fff; /* 青色 */
    font-size: 2.5em; /* 大きめのフォントサイズ */
    font-weight: bold;
    margin-bottom: 5px;
    /* 既存の.main-titleや.submain-titleのtext-shadowを参考に調整 */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.topics-header__subtitle {
    color: #fff; /* 濃いグレー */
    font-size: 1.2em;
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.5); /* 背景色に合わせて調整 */
}

.topics-header__right {
    position: absolute; /* 親要素 .topics-header に対して絶対配置 */
    right: 0; /* 右端に配置 */
    top: 0;
    height: 100%; /* 親要素の高さに合わせる */
    width: 70%; /* 例として全体の半分を画像領域に */
    display: flex;
    align-items: center;
    justify-content: flex-end; /* 画像を右寄せ */
    z-index: 1; /* テキストより奥に */
    overflow: hidden; /* はみ出した部分を隠す */
}

.topics-header__right img {
    height: 100%; /* 高さを親要素に合わせる */
    width: auto; /* 幅は自動調整して縦横比を維持 */
    object-fit: cover; /* コンテナに合わせて画像をトリミング */
    min-width: 100%; /* 画像が常にコンテナを覆うように */
}

/* パンくずリスト用のスタイル (HTMLに &lt;p class="breadcrumb"&gt;HOME &gt; トピックス&lt;/p&gt; を追加する場合) */
/* .topics-header__left .breadcrumb {
    color: #555;
    font-size: 0.9em;
    margin-bottom: 10px;
    opacity: 0.8;
} */


/* レスポンシブ対応 (768px以下の画面幅の場合) */
@media (max-width: 768px) {
    .topics-header {
        flex-direction: column; /* 縦並びにする */
        text-align: center; /* テキストを中央寄せにする */
        padding: 20px;
        height: auto; /* 高さを自動調整 */
    }

    .topics-header__left {
        padding-left: 0;
        margin-bottom: 20px;
        flex: none; /* flexの指定をリセット */
        width: 100%; /* 幅をフルに */
    }
    
    .topics-header__title {
        font-size: 1.8em; /* スマートフォンでのフォントサイズ調整 */
    }

    .topics-header__subtitle {
        font-size: 1em; /* スマートフォンでのフォントサイズ調整 */
    }

    .topics-header__right {
        position: relative; /* 絶対配置を解除して通常フローに */
        width: 100%; /* 幅をフルに */
        height: auto; /* 高さを自動調整 */
        padding-right: 0;
        margin-top: 15px; /* 上部に余白 */
        flex: none; /* flexの指定をリセット */
    }
    
    .topics-header__right img {
        width: 100%; /* スマホでは幅いっぱいに */
        height: auto; /* 縦横比維持 */
        object-fit: contain; /* 画像全体を表示するように調整 */
    }
}

/*----------------
topページ　新着情報
------------------*/
.txt-hide{
display: none;
}

button.more {
width: 120px;
margin: 20px auto;
display: block;
background: linear-gradient(to right, #2975AF, #63C1B6);
color: #fff;
border: none;
outline: 0;
transition: .5s;
-erbkit-transition: .5s;
}
 
button.more::after {
content: "more →";
transition: .2s;
-erbkit-transition: .2s;
}

button.more.on-click::after{
content: "閉じる";
}

/*---------------------------
topページ YouTubeアイコンの配置
----------------------------*/
.sns-buttons-wrapper {
    display: flex;
    justify-content: flex-end; /* 右寄せ */
    align-items: center; /* 垂直方向の中央揃え (必要であれば) */
    padding: 20px 0; /* 上下の余白 */
}

.sns-buttons-wrapper a {
    /* アイコンのサイズ調整が必要な場合 */
    /* width: 50px; */
    /* height: 50px; */
}

.sns-buttons-wrapper a:first-child {
    margin-right: 20px; /* 1つ目のアイコンの右に20pxの余白 */
}


</pre></body></html>