@import url("option.css");
@import url("qa.css"); /* ← 不要であればこの行も削除して大丈夫です */

/*----------------------------------------
    common
----------------------------------------*/
#contents {
  border-top: 1px solid #B3B3B4;
}
.txt_wrap {
  margin: 0 auto;
  width: 990px;
  font-size: 18px;
}
.pc-none {
  display: inline-block;
}
.sp-none {
  display: none;
}
@media screen and (max-width: 1000px) {
  .pc-none {
    display: none;
  }
  .sp-none {
    display: inline-block;
  }
}
/*----------------------------------------
    txt
----------------------------------------*/
h2, h3 {
  margin: 2rem 0;
  padding: .5rem;
  font-size: 25px;
  color: #ffffff;
  text-align: center;
  background: #051e42;
}
h3 span {
  display: inline-block;
  margin: .3em auto.5em;
  padding: .3em;
  font-size: 85%;
  border: 1px solid #fff;
}
h3 {
  color: #fff;
  font-weight: bold;
  background: #000;
}
h4 {
  position: relative;
  margin: 0 auto 2rem;
  padding: .5rem 1rem;
  width: 300px;
  font-size: 23px;
  font-weight: bold;
  color: #051e42;
  text-align: center;
  border: #051e42 5px solid;
}
h4:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -165px;
  width: 160px;
  border-top: #051e42 5px solid;
}
h4:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 295px;
  width: 160px;
  border-top: #051e42 5px solid;
}
.tC {
  text-align: center;
}
div.txt_title {
  margin: 2rem 0;
  padding: 2rem;
  font-size: 18px;
  text-align: center;
  background: #fefec4;
}
div.txt_title h3 {
  font-size: 37px;
  font-weight: bold;
  line-height: 1;
}
div.txt_title h3 span {
  font-size: 24px;
  line-height: 2;
}
.menu1 {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #003192;
  z-index:999;
}
.menu1 img {
margin: 0;
padding: 0;
max-height: 100px;
}
/*PCでは無効（改行しない）*/
.sma{
    display: none;
}
/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:768px) {
    .sma{
        display: block;
    }
}
h3.form-title { /* フォームタイトル用にh3のスタイルを上書き */
  margin: 40px 0 20px 0;
  padding: 1.5rem 0;
  font-size: 25px;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
  background: #000;
}

/* ===== ここから新しく追加するCSS ===== */

/* --- 全体を囲むID --- */
#seminar-details-section {
    font-family: sans-serif;
    color: #333;
    line-height: 1.7; /* 基本の行の高さを設定 */
}
/* --- コンテナ --- */
#seminar-details-section .seminar-details-container {
    background-color: #f4f1ea;
    padding: 40px 20px;
    margin: 0;
}
/* --- 白いコンテンツボックス --- */
#seminar-details-section .seminar-content-box {
    max-width: 900px;
    margin: 3em auto;
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}
/* --- 各項目 --- */
#seminar-details-section .content-item {
    border-bottom: 1px solid #eee;
}
#seminar-details-section .content-item:last-child {
    border-bottom: none;
}
#seminar-details-section .content-item .item-body {
    padding: 25px 40px;
    text-align: left;
}
/* --- 各項目のタイトル --- */
#seminar-details-section .item-title {
	background-color: #003192;
	color: #fff;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	margin: 0;
	padding: 15px;
	line-height: 1.4;
}
/* ★★★ ここにルールを追加 ★★★ */
#seminar-details-section .item-body p {
    font-size: 20px;
    margin-bottom: 0.8em;
}
#seminar-details-section .item-body p:last-child {
    margin-bottom: 0;
}
/* --- セミナー内容の詳細スタイル --- */
.seminar-point {
    margin-bottom: 1.5em;
}
.seminar-point:last-child {
    margin-bottom: 0;
}
.point-title {
    font-size: 22px;
    margin-bottom: 0.5em !important;
}
.point-details {
    list-style: disc;
    padding-left: 2em;
    margin: 0;
    display: block;
}
.point-details li {
    display: list-item;
    font-size: 20px;
    margin-bottom: 0.5em;
    line-height: 1.7;
}

/*** 2025 ***/
body {
margin-bottom: 10vh;
}

img {
line-height: 0px;
margin: 0;
padding: 0;
}
.sec_1 {
width: 100%;
padding: 2em auto;
}
.sec_1 .nayami {
	width: 100%;
	background-image: url(../img/bg_glay.webp);
	background-repeat: repeat-x;
	background-position: center top;
	padding: 3em 0 0;
}
.sec_1 .kaito {
	width: 100%;
	background-image: url("../img/bg_yellow.webp");
	background-repeat: repeat-x;
	background-position: center bottom;
	padding: 0 0 3em;
}
.bg_blue {
background-color: #0153A4;
}

.sec_2 {
width: 100%;
padding: 3em auto;
}
.sec_2 ol {
width: 90%;
max-width: 1000px;
margin: 3em auto;
font-size: 150%;
text-align: left;
line-height: 1.5em;
list-style: none;
}
.sec_2 ol li {

margin-bottom: 1.5em;
}
.sec_2 ol li:last-of-type {
margin-bottom: 0px;
}

.sec_3 {
width: 100%;
padding: 3em auto 4em;
/*background-color: #EEEEEE;*/
}
.sec_3 h1 {
background-color: #29ABE2;
color: #FFFFFF;
font-size: 40px;
width: 100%;
line-height: 1em;
padding: .5em;
margin: 1em;
font-weight: bold;
}
.sec_3 ul {
width: 100%;
max-width: 900px;
margin: 0 auto 2em;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	box-sizing: border-box;
list-style: none;
padding: 0;
font-size: 140%;
line-height: 1.5em;
}
.sec_3 ul li {
	width: 42%;
	margin: 2em auto;
	border: 3px solid #29ABE2;
	padding: 1em;
	background-color: #FFFFFF;
	border-radius: 20px;
	box-shadow: 5px 5px 10px 0px #ADADAD;
	-webkit-box-shadow: 5px 5px 10px 0px #ADADAD;
	text-align: left;
}

.seminar-sca {
    margin-bottom: 1.5em;
}
.seminar-sca dl {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	margin-bottom: 1em;
	padding-bottom: 1em;
	font-size: 120%;
	border-bottom: 1px solid #999999;
}
.seminar-sca dl dt {
margin-right: 2em;
}
.seminar-sca dl dd {

}


/* --- 注意書きテキスト --- */
#seminar-details-section .notice-text,
#seminar-details-section .important-notice,
#seminar-details-section .notice-list {

    font-size: 16px;
}
#seminar-details-section .important-notice { 
    color: #e60012; 
    font-weight: bold;
}
#seminar-details-section .notice-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
}
#seminar-details-section .notice-list li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 5px;
    line-height: 1.7;
}
#seminar-details-section .notice-list li::before {
    content: '・';
    position: absolute;
    left: 0;
}
/* --- 日程テーブル --- */
#seminar-details-section .schedule-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
#seminar-details-section .schedule-table th,
#seminar-details-section .schedule-table td {
    border: 1px solid #ddd;
    padding: 15px 10px;
    vertical-align: middle;
    font-size: 16px;
    line-height: 1.6;
}
#seminar-details-section .schedule-table thead th {
    background-color: #333;
    color: #fff;
    font-weight: bold;
}
#seminar-details-section .apply-button {
    display: inline-block;
    background: linear-gradient(to bottom, #ff9600, #ff7400);
    color: #fff !important;
    font-size: 16px;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none !important;
    border: none;
}
#seminar-details-section .apply-button:hover {
    opacity: 0.8;
}
#seminar-details-section .schedule-note {
    line-height: 1.7;
    margin-top: 20px;
    text-align: left;
}
/* --- FAQセクション --- */
.faq-section {
    padding: 40px 20px;
}
.faq-title {
    text-align: center;
    font-size: 35px;
    font-weight: bold;
    color: #333;
    margin-bottom: 30px;
    background: none !important; /* ★★★ この一行を追加 ★★★ */
}
.faq-container {
    max-width: 940px;
    margin: 0 auto 80px;
}
.faq-item {
    margin: 0px 0 2px;
}
.faq-item summary {
    display: block;
    position: relative;
    padding: 20px 50px 20px 50px;
    background-color: #f4e6a8;
    font-size: 20px;
    line-height: 1.4em;
    font-weight: 700;
    cursor: pointer;
    color: #333;
    text-align: left;
}
.faq-item summary::-webkit-details-marker {
    display: none;
}
.faq-item summary::before {
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 22px;
    left: 20px;
    display: block;
    content: 'Q.';
    color: #16376c;
    font-weight: bold;
}
.faq-item summary::after {
    position: absolute;
    top: 22px;
    right: 26px;
    display: block;
    width: 15px;
    height: 15px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 3px solid #16376c;
    border-right: 3px solid #16376c;
    transition: transform 0.3s;
}
.faq-item[open] > summary::after {
    top: 28px;
    transform: rotate(-45deg);
}
.faq-item p {
    position: relative;
    margin: 0;
    padding: 20px 20px 20px 50px;
    font-size: 20px;
    line-height: 1.7;
    background-color: #f7f3e2;
    color: #333;
    text-align: left;
}
.faq-item p::before {
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 25px;
    left: 20px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #E77200;
}

/* --- スマートフォン向けの調整 --- */
@media screen and (max-width: 768px) {
    #seminar-details-section .content-item .item-body {
        padding: 20px 15px;
    }
    #seminar-details-section .summary-table th,
    #seminar-details-section .summary-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        text-align: left;
    }
    #seminar-details-section .summary-table th {
        text-align: center;
        background-color: #f0f0f0;
    }
    /* ★★★ ここにスマホ用のルールを追加 ★★★ */
    #seminar-details-section .item-body p {
        font-size: 16px;
    }
    .point-title {
        font-size: 18px;
    }
    .point-details li {
        font-size: 16px;
    }
    .faq-item summary {
        padding: 16px 40px 16px 45px;
        font-size: 16px;
    }
    .faq-item summary::before {
        font-size: 16px;
        top: 18px;
        left: 20px;
    }
    .faq-item summary::after {
        top: 20px;
        right: 20px;
        width: 7px;
        height: 7px;
    }
    .faq-item[open] > summary::after {
        top: 23px;
    }
    .faq-item p {
        padding: 16px 16px 16px 45px;
        font-size: 16px;
    }
    .faq-item p::before {
        font-size: 16px;
        top: 1em;
        left: 20px;
        margin-top: 5px;
    }

/*2025*/

body {
margin-bottom: 6vh;
}
.sec_1 .nayami {
	padding: 3em 1em 0;
}
.sec_1 .kaito {
	padding: 0 1em 3em;
}
.sec_2 ol {
font-size: 120%;
}
.sec_2 ol li img {
width: 100%;
}
.sec_3 h1 {
font-size: 30px;
}

.sec_3 ul {
flex-wrap: wrap;
width: 90%;
margin: auto;
padding-bottom: 2em;
font-size: 20px;
}
.sec_3 ul li {
	width: 90%;
	margin-bottom: 1em;
}
.sec_3 ul li img {
width: 45%
}
.sec_3 ul li:last-of-type {
}
.seminar-sca {
    margin-bottom: 1.5em;
}
.seminar-sca dl {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	margin-bottom: 1em;
	padding-bottom: 1em;
	font-size: 120%;
	border-bottom: 1px solid #999999;
}
.seminar-sca dl dt {
margin-right: 0;
width: 100%;
}
.seminar-sca dl dd {
width: 100%;
}
#seminar-details-section .seminar-content-box {
    margin: 1em auto;
}
.w95 {
width: 95%;
margin: auto;
}
}
