@charset "UTF-8";
/* CSS Document */
html{
font-size: 18px;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  line-height: 1.6;
  background-color: #f4f4f4;
}
*, *::before, *::after {
  box-sizing: border-box;
}
*{
margin:0;
padding:0;
}
.pc {
  display: block;
}
@media only screen and (max-width: 960px) {
  .pc {
    display: none;
  }
}

.tablet {
  display: none;
}
@media only screen and (max-width: 960px) {
  .tablet {
    display: block;
  }
}
@media only screen and (max-width: 480px) {
  .tablet {
    display: none;
  }
}

.sp {
  display: none;
}
@media only screen and (max-width: 960px) {
  .sp {
    display: block;
  }
}

.ssp {
  display: none;
}
@media only screen and (max-width: 480px) {
  .ssp {
    display: block;
  }
}

/*PC改行加える*/
.br-pc {
  display: inherit;
}
@media only screen and (max-width: 960px) {
  .br-pc {
    display: none;
  }
}

/*PC改行無効*/
.br_sp {
  display: none;
}
@media only screen and (max-width: 960px) {
  .br_sp {
    display: block;
  }
}

.br_ssp {
  display: none;
}
@media only screen and (max-width: 480px) {
  .br_ssp {
    display: block;
  }
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
.container {
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
/* ユーティリティ */
.text-center {
  text-align: center;
}
.text-green {
  color: #558B2F;
}
.text-blue {
  color: #004A98;
}
.fw-bold {
  font-weight: bold;
}
.mb-20 {
  margin-bottom: 20px;
}
.mb-40 {
  margin-bottom: 40px;
}
/* ボタン共通スタイル */
.btn-orange {
  display: inline-block;
  background-color: #FF9800; /* オレンジ */
  color: #fff;
  padding: 15px 60px;
  text-decoration: none;
  border-radius: 50px;
  font-weight: bold;
  font-size: 1.2rem;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  transition: 0.3s;
  max-width: 400px;
  margin:10px;
}
@media only screen and (max-width:768px){
.btn-orange {
padding: 15px ;
font-size: 1.0rem;
display: block;
}
}
.btn-orange:hover {
  transform: scale(1.05);
}
/* 1. ヘッダー (画像として配置想定) */
.header-section img {
  width: 100%;
  height: auto;
}
/* 2. イントロダクション */
.intro-section {
  padding: 80px 5%;
  text-align: center;
  background-color: #FFFEF6;
}
.intro-pill {
  display: inline-block;
  margin-bottom: 0px;
}
.intro-title {
  font-size: 2.4rem;
  line-height: 1.3;
  font-weight: bold;
  margin:0 0 30px;
  background: linear-gradient(transparent 70%, #fff176 70%); /* 黄色のマーカー風 */
  display: inline-block;
}
@media only screen and (max-width:768px){
.intro-title {
  font-size: 1.6rem;
  }
}
.intro-content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  text-align: left;
  flex-wrap: wrap;
}
.intro-text {
  flex: 1;
  min-width: 300px;
  font-size: 1;
  line-height: 2;
}
@media only screen and (max-width:768px){
.intro-text {
line-height: 1.7;
}
}
.intro-image {
  flex: 1;
  min-width: 200px;
  max-width: 300px;
}
/* 3. セミナー詳細 (実務に落とし込む...) */
.details-section {
  padding: 80px 0 0;
  border-top: 1px solid #eee;
}
.details-header {
  display: flex;
  align-items: center;
  border-left: 5px solid #004A98;
  padding-left: 25px;
  margin:0 5% 30px;
}
@media only screen and (max-width:768px){
.details-header {
display: block;
padding:0 5%;
}
}
.details-header h2 {
  margin: 0;
  color: #004A98;
  font-size: 2rem;
  line-height: 1.3;
  margin-right: 5%;
}
@media only screen and (max-width:768px){
.details-header h2 {
width:100%;
font-size: 1.5rem;
}
}

.details-header p{
font-weight: 500;
font-size: 1.2;
margin-left: 20px; 
font-size: 0.9rem;
}
@media only screen and (max-width:768px){
.details-header p{
width:100%;
margin:10px 0 0;
}
}
.details-content {
  display: flex;
  
  flex-wrap: wrap;
}
@media only screen and (max-width:768px){
.details-content {
display: block;
}
}
.details-img {
  width:60%;
}
@media only screen and (max-width:768px){
.details-img {
  width:100%;
  margin-bottom: 1.5rem;
}


}
.details-info {
  width:40%;
  padding: 0 3%;
}
@media only screen and (max-width:768px){
.details-info {
  width:100%;
  padding: 0 8% 2rem;
  }
}
.date-box {
  /*background-color: #fafafa;*/
  /*padding: 15px;
  border-radius: 8px;*/
}
h4.midashi_sen{
position: relative;
font-size: 1.2;
font-weight: 500;
z-index: 1;
margin:0 0 1rem 0;
}
h4.midashi_sen::before{
content: "";
background-color: #333;
width:100%;
height:2px;
top:0.7rem;
left:0;
position: absolute;
z-index: -1;
}
h4.midashi_sen span{
background-color: #fff;
padding:0 10px 0 0;

}
.date-item {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 5px;
  display: block;
}
.time{
font-weight: 500;
font-size: 1.2rem;
}
.price {
  margin-top: 15px;
  font-weight: bold;
  font-size: 1.1rem;
}
.red-text {
  color: #d32f2f;
  font-weight: bold;
  font-size: 1.5rem;
  margin:1rem 0;
  line-height: 1.3;
}
/* 4. おすすめの方 (紺色背景) */
.target-section {
  background-color: #0D2C4E; /* 濃い紺色 */
  color: #fff;
  padding: 80px 5%;
  position: relative;
  overflow: hidden;
}
.target-container {
  display: flex;
  flex-wrap: wrap;
  
  align-items: center;
}

@media only screen and (max-width:768px){
.target-container {
display: block;
}
}
.target-text {
  width:60%;
  padding-right: 5%;
}
@media only screen and (max-width:768px){
.target-text {
  width:100%;
  padding:0 5%;
}
}
.target-text h2 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(255,255,255,0.3);
  padding-bottom: 10px;
  display: inline-block;
}
@media only screen and (max-width:768px){
.target-text h2 {
  font-size: 1.4rem;
  
  }
}
.check-list {
  list-style: none;
  padding: 0;
  margin-bottom: 30px;
}
.check-list li {
  margin-bottom: 10px;
  padding-left: 25px;
  position: relative;
}
.check-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #fff;
}
.target-img {
  width:40%;
  text-align: center;
}
@media only screen and (max-width:768px){
.target-img {
  width:100%;
  max-width: 240px;
  margin:1.5rem auto 0;
  }
}
/* 5. 講師紹介 */
.instructor-section {
  padding: 80px 5%;
  background-color: #fff;
}
.instructor-container {
  display: flex;
  flex-wrap: wrap;

}
@media only screen and (max-width:768px){
.instructor-container {
display: block;
}
}
.instructor-profile {
width:35%;
}
@media only screen and (max-width:768px){
.instructor-profile {
width:100%;
margin-bottom: 2rem;
}
}
.instructor-profile img {

}
.instructor-info {
  width:65%;
  padding-left:5%;
}
@media only screen and (max-width:768px){
.instructor-info {
  width:100%;
  padding:0 5%;
}
}
.instructor-name {
  font-size: 1.4rem;
  font-weight: bold;
  color: #1565C0;
  margin-bottom: 5px;
}

.instructor-title {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 20px;
}
.instructor-info h3{
font-size: 1.6rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:768px){
.instructor-info h3{
  font-size: 1.3rem;
  
  }
}
.merit-box {
  background-color: #F0F8FF;
  padding: 20px;
  border-radius: 8px;
  text-align: center;
}
.merit-box h4{

font-size: 1.3rem;
margin-bottom: 0.5rem;
}
@media only screen and (max-width:768px){
.merit-box h4{

font-size: 1.1rem;
}
}
.merit-list {
  list-style: none;
  padding: 0;
  display: inline-block;
}
.merit-list li {
text-align: left;
  margin-bottom: 10px;
  padding-left: 30px;
  position: relative;
  font-weight: bold;
  color: #333;
}
.merit-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #03A9F4; /* 水色チェック */
  font-size: 1.2rem;
}
@media only screen and (max-width:768px){
.merit-list li::before {
font-size: 1rem;
}
}
/* 6. 下部CTA (黄色背景) */
.bottom-cta-section {
  background-color: #FFF8E1; /* 薄い黄色 */
  padding: 60px 5%;
  text-align: center;
}
.urgency-text {
  color: #004A98;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.3;
  margin-bottom: 20px;
}
@media only screen and (max-width:768px){
.urgency-text {
font-size: 1.2rem;
}
}
.btn-orange{

}
/* 7. フッター (紺色) */
footer {
  background-color: #0D2C4E;
  color: #fff;
  padding: 0 0;
}
.footer-content {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}
@media only screen and (max-width:768px){
.footer-content {
display: block;
}
}
.footer-image {
  flex: 1;
}
.footer-info {
  flex: 1;
  font-size: 1rem;
  padding: 3%;
}
@media only screen and (max-width:768px){
.footer-info {
padding:2rem 8%;
}
}
.footer-info a {
  color: #fff;
  text-decoration: none;
}
.footer-info a:hover {
  color: #fff;
  text-decoration: underline;
}
.footer-info .midashi_sen span{
background-color: #0D2C4E;
}
.footer-info .midashi_sen::before{
background-color: #fff;
}
.footer-info h3{
font-size: 1.5rem;
margin-bottom: .7rem;
}
@media only screen and (max-width:768px){
.footer-info h3{
font-size: 1.2rem;

}
}
.footer-info table{
width: 100%; font-size: 0.9rem;
}
.footer-info table td {
padding-bottom: 5px;
}
@media only screen and (max-width:768px){
.footer-info table td {
display: block;
width: 100%;
}

}
/* プレースホルダー画像用のスタイル（本番では不要） */
.placeholder {
  background-color: #ccc;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #555;
  font-weight: bold;
  text-align: center;
}