     html {
         font-size: 100%;
         /* ブラウザデフォルト16px × 62.5% → 10px相当 */
     }

     @media (min-width: 1024px) {

         /* PC用のスタイル */
         body {
             font-size: 18px;

         }
     }

     @media (min-width: 768px) and (max-width: 1023px) {

         /* タブレット用のスタイル */
         body {
             font-size: 16px;
         }
     }


     @media (max-width: 767px) {

         /* スマートフォン用のスタイル */
         body {
             font-size: 1.1rem;
         }
     }


     /* 全体中央揃え + 最大幅 */
     .container {
         width: 100%;
         max-width: 1000px;
         margin: 0 auto;
         padding: 0;
         font-family: "Helvetica Neue", sans-serif;
         color: #333;
     }

     /*基調講演レイアウト変更はここから*/
     body {
         margin: 0;
         padding: 0;
         font-family: Arial, sans-serif;
     }

     .lecture-container {
         display: flex;
         flex-direction: column;
         align-items: center;
         gap: 10px;
         /* 縦並び時の間隔 */
         padding: 20px 0px 0px 0px;
         /* 外側余白（上下左右） */
     }

     .lecture-item {
         width: 100%;
         max-width: 600px;
         /* カードの最大横幅（必要に応じて調整） */
         background-color: #fff;
         border-radius: 8px;
         padding: 0.5rem 0.1rem 0.1rem 0.1rem;
         margin-bottom: 20px;
         /* 各カード間の間隔 */
         box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
         box-sizing: border-box;
     }

     .lecture-item:last-child {
         margin-bottom: 0;
         /* 最後の講演カードの下の余白をゼロに */
     }

     .lecture-item img {
         width: 100%;
         height: auto;
         display: block;
         /*  border: 1px solid #ddd;
         視覚的な境界線（必要なら） */
         /*  border-radius: 8px;
         少し角丸（好みで） */
     }

     /* 画面幅768px以上で横並びに切り替え */
     @media (min-width: 768px) {
         .lecture-container {
             flex-direction: row;
             justify-content: center;
             align-items: flex-start;
             gap: 40px;
             /* 横並び時の間隔 */
         }

         .lecture-item {
             flex: 1 1 45%;
             max-width: 45%;
         }
     }

     /* スマホ横向き or PC横幅が広い時は横並び
     @media (orientation: landscape),
     (min-width: 801px) {
         .lecture-item {
             flex: 1 1 45%;
             max-width: 45%;
         }
     } */

     /*基調講演レイアウト変更はここまで*/


     /*画像レイアウト変更はここから*/
     .intro-section {
         display: flex;
         flex-wrap: nowrap;
         /* ←ここ変更！ */
         max-width: 1000px;
         margin: 0 auto;
         padding: 0rem;
         align-items: flex-start;
     }

     .image-area img {
         max-width: 100%;
         height: auto;
         display: block;
         margin: 0;
         padding: 0rem;
         /* 追加 */
     }

     .image-area {
         flex: 0 0 40%;
         /* 固定比率で40%画像エリア */
         padding-right: 1rem;
         min-width: 250px;
         display: flex;
         align-self: flex-start;
     }

     .text-area {
         flex: 1;
         /* 残りスペースをテキストに */
         font-size: 1.1rem;
         line-height: 1.5;
         margin-top: 0;
         word-break: break-word;
     }

     .text-area p {
         margin: 0;
     }

     /* スマホ時のみ縦並びにしたい場合 */
     @media (max-width: 450px) {
         .intro-section {
             flex-direction: column;
             flex-wrap: nowrap;
         }

         .image-area {
             padding-right: 0;
             margin-bottom: 1rem;
             width: 100%;
         }
     }

     /*画像レイアウト変更はここまで*/

     .moushikomi_fm {
         text-align: center;
     }

     .container-sub {
         width: 100%;
         max-width: 640px;
         margin: 0 auto;
         padding: 0;
         margin-top: 10px;
         font-family: "Helvetica Neue", sans-serif;
         color: #333;
     }

     .container-sub-img {
         margin-top: 50px;
         color: #333;
     }

     .theme {
         font-size: 1.1rem;
         /*white-space: pre-line;*/
         text-align: center;
         line-height: 1.7;
         margin: 0;
         padding: 0.5rem 1rem 0.5rem 1rem;
         text-indent: 0;
     }

     span {
         display: inline-block;
     }

     span.px {
         display: inline-block;
     }


     .dks {
         display: inline-block;
     }

     h1 {
         font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
         text-align: left;
         font-weight: 800;
         text-decoration: #f78120;
         letter-spacing: 0.02em;
         font-size: 3rem;
         /*80px*/
         margin-top: 0;
         margin-bottom: 0;
         padding: 0;
     }

     h2 {
         text-align: center;
         font-weight: 580;
         text-decoration: #f78120;
         letter-spacing: 0px;
         font-size: 1.8rem;
         /*50px*/
         margin-top: 50px;
         margin-bottom: 50px;
     }

     h3 {
         text-align: left;
         font-weight: 580;
         text-decoration: #f78120;
         letter-spacing: -1px;
         font-size: 1.5rem;
         /*28px*/
         margin-top: 1rem;
         margin-bottom: 1rem;
     }

     /*
     h4 {
         text-align: center;
         font-weight: 500;
         text-decoration: #f78120;
         letter-spacing: 0px;
         font-size: 1.8rem;
         margin-top: 50px;
         margin-bottom: 80px;
     }
*/
     h5 {
         text-align: center;
         color: rgb(230, 97, 2);
         font-weight: 700;
         letter-spacing: 0px;
         font-size: 1.4rem;
         margin-top: 15px;
         margin-bottom: 0px;
     }

     a {
         text-decoration: underline;
     }

     p {
         font-size: 1.1rem;
         line-height: 1.5;
         margin-top: 15px;
     }

     /* ヘッダー */
     .main-header {
         margin: 0 auto;
         padding: 0;
         background: white;
         border-bottom: 5px solid #c00;
     }

     .organizer {
         color: #c00;
         font-weight: bold;
         margin-bottom: 0px;
     }

     .main-header {
         margin: 0;
         padding: 0;
     }

     .main-header h1 {
         font-size: 2.5rem;
         color: #c00;
         margin: 0.5rem 0;
     }

     .subtitle {
         font-size: 1.2rem;
         margin-top: 0px;
         margin-bottom: 0px;
     }

     /* トップ画像リサイズ */
     .resizeimage {
         width: 100%;
         margin: 0;
         padding: 0;
     }

     .resizeimage img {
         width: 100%;
         height: 100%;
         margin: 0;
         padding: 0;
     }

     .resizeimage2 {
         margin: 0;
         padding: 0;
     }

     .resizeimage2 img {
         width: 75%;
         margin-top: 1.5em;
         padding: 0;
     }

     p.resizeimage {
         margin: 0;
         padding: 0;
         line-height: 0;
     }

     p.resizeimage img {
         display: block;
     }


     .event-info p {
         margin: 0;
         padding: 0.5em 0;
     }

     .event-info {
         background-color: #e0f0ff;
         /* 水色 */
         margin-bottom: 0;
         /* ← 下の余白を削除 */
         padding-bottom: 0.5em 0;
         /* 必要なら軽く調整 */
     }



     .event-info p {
         margin: 0;
         padding: 0;
     }

     .button-top {
         background-color: #ababab;
         margin: 0;
         padding: 0.6em 0;
     }

     .button-top form {
         margin: 0;
     }

     .button-top {
         display: block;
         background-color: rgb(171, 171, 171);
         text-align: center;
         margin: 0;
         padding: 0.01em;
     }

     .button-sec {
         display: block;
         margin: 0 auto;
         /* ← 上下の余白をゼロに */
         padding: 0;
         /* ボタン自体のサイズは維持 */
         background-color: rgb(255, 255, 255);
         text-align: center;
         margin: 0;
         padding: 0;
     }

     .main-header {
         display: block;
         align-items: center;
         margin: 0 auto;
         /* ← 上下の余白をゼロに */
     }

     .date-time {
         font-size: 1.3rem;
         margin-top: 0px;
         margin-left: 0.5em;
         margin-bottom: 0px;
     }

     .free {
         background: #c00;
         color: white;
         padding: 0.01rem 1rem;
         border-radius: 5rem;
         margin-left: 1rem;
     }

     .venue {
         margin-top: 0px;
         margin-left: 0.6em;
         margin-bottom: 0px;
         font-weight: bold;
     }

     .live {
         margin-top: 0px;
         margin-bottom: 0px;
         color: red;
         font-weight: bold;
     }

     /* ボタン */
     .oval-button {
         width: 90%;
         max-width: 500px;
         aspect-ratio: 8 / 1;
         border-radius: 50%;
         background: rgb(5, 62, 116);
         color: #ffffff;
         font-size: clamp(1rem, 2.5vw, 1.5rem);
         /* 最小0.9rem〜最大1.3rem */
         margin: 1em auto;
         display: flex;
         align-items: center;
         justify-content: center;
         text-align: center;
         white-space: nowrap;
         border: none;
     }

     .oval-button:hover {
         border-color: rgb(107, 107, 255);
         background: rgb(33, 119, 199);
         color: rgb(0, 38, 73);
         box-shadow: 0 0.5em 0.5em -0.4em #b0b0b0;
         transform: translateY(-0.05em);
         cursor: pointer;
     }

     /* セクション共通 */
     section {
         background: #fff;
         margin: 0;
         padding: 0;
     }

     figcaption {
         font-size: small;
         color: #4260c9;
         margin-top: 0;
         margin-bottom: 1%;
     }

     .text-cnter {
         text-align: center;
     }

     /* 推奨セクション用 */
     .about {
         text-align: center;
         background: rgb(211, 211, 211);
         margin-top: 0;
         margin-bottom: 0;
         padding-bottom: 10;
     }

     .about-img {
         text-align: center;
         background: rgb(255, 255, 255);
         margin-top: 1em;
         margin-bottom: 0;
         padding: 1;
     }

     .about ul {
         padding-left: 1.5rem;
     }

     .about h3 {
         margin-top: 1rem;
         font-size: 1.2rem;
         text-align: center;
         bottom: 0;
     }

     table {
         width: 100%;
         border-collapse: collapse;
         border: 2px solid rgb(140 140 140);
         font-family: sans-serif;
         font-size: 1.1rem;
         letter-spacing: 1px;
         margin: 1rem auto;
     }

     caption {
         caption-side: bottom;
         padding: 10px;
         font-weight: bold;
     }

     thead,
     tfoot {
         background-color: rgb(228 240 245);
     }

     th,
     td {
         border: 1px solid rgb(160 160 160);
         padding: 8px 10px;
     }

     td:last-of-type {
         text-align: left;
     }

     tbody>tr:nth-of-type(even) {
         background-color: rgb(237 238 242);
     }

     tfoot th {
         text-align: right;
     }

     tfoot td {
         font-weight: bold;
     }

     .pxb {
         font-size: 26px;
         line-height: 1.8;
         font-weight: bold;
         margin-top: 0;
         margin-bottom: 0;
     }

     .px {
         font-size: 20px;
         line-height: 1.0;
         font-weight: bold;
         letter-spacing: -0.5px;
         margin-top: 0;
         margin-bottom: 0;
     }

     .fbg-container {
         width: 80%;
         margin: 0 auto;
         padding: 3px 20px 8px 20px;
         background-color: rgb(251, 247, 224);
         text-align: left;
         border-radius: 10px;

     }

     .fbg-container img {
         max-width: 100%;
         /* 画像がコンテナからはみ出さないように */
     }

     .fbg-container p {
         margin-top: 10px;
         /* テキストと画像の間のスペース */
     }

     .box {
         background-color: rgb(251, 247, 224);
     }

     /* フッター */
     footer {
         text-align: center;
         line-height: 1em;
     }

     footer .inquiry {
         font-size: 1em;
         color: #555;
     }

     .footer-text {
         text-align: center;
         font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
     }

     .footer-text h5 {
         font-size: 1rem;
         margin: 0.8em 0;
         color: #cc3300;
         /* お問い合わせ強調 */
     }

     .footer-text h2 {
         font-size: 1.6rem;
         margin: 0.5em 0;
         font-weight: bold;
         letter-spacing: 0.05em;
     }

     .footer-text h4 {
         font-size: 1.3rem;
         margin: 0.5em 0;
         color: #333;
     }