@charset "UTF-8";

/* --- 基本設定 --- */
html { font-size: 100%; }
body {
  color: #333;
  font-family: 'Roboto', 'Noto Sans JP', sans-serif;
  line-height: 1.6;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
li { list-style: none; }
a { color: #000; text-decoration: none; transition: 0.3s; }
a:hover { opacity: 0.7; }

/* --- レイアウト --- */
.wrapper-1120 {
  max-width: 1120px;
  padding: 0 20px;
  margin: 0 auto;
}

.section-title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 80px;
  text-align: center;
  position: relative;
}
.section-title::after {
  content: "";
  display: block;
  width: 80px;
  height: 2px;
  background-color: #000;
  margin: 20px auto 0;
}

/* --- 各コンポーネント --- */
#header .logo {
  max-width: 280px;
  padding: 20px 0;
}

.mainvisual { margin-bottom: 50px; }

.btn-apply { margin-bottom: 80px; text-align: center; }
.btn-apply a {
  display: inline-block;
  font-weight: 700;
  color: #fff;
  background-color: #1a62a7;
  padding: 16px 40px;
  font-size: 24px;
  border-radius: 6px;
  box-shadow: 0 4px 0 #001c51;
}
/* セミナー*/
.seminar{
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px
}
.seminar .text{
	margin-bottom: 15px
}
.seminar .text .seminar-title{
	color: #004386;
	font-size:22px;
	font-weight: 700;
}
.seminar .text .seminar-title2{
	color: #004386;
	font-size:20px;
	font-weight: 700;
}
.seminar .img{
	width: 100%;
	max-width: 500px;
}
.seminar .text .small{
	font-size: 14px;
	color:#d80c18; 
}

/* 特徴リスト (PC: 3列) */
.intro-items {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 80px;
}
.intro-items li {
  width: calc((100% - 40px) / 3);
  color: #1b67b2;
  font-weight: 700;
  border: #1b67b2 solid 1px;
  padding: 15px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 特別企画 (PC: 3列) */
.event-grid {
  display: flex;
  gap: 30px;
  margin-bottom: 80px;
}
.event-card { width: calc((100% - 60px) / 3); }
.event-card-title {
  background: #d80c18;
  color: #fff;
  font-weight: 700;
  padding: 12px;
  text-align: center;
  border-radius: 6px;
  margin-bottom: 15px;
}
.event-card-img { margin-bottom: 15px; }
.event-card-list li {
  font-size: 15px;
  position: relative;
  padding-left: 1.2em;
}
.event-card-list li::before {
  content: "・";
  position: absolute;
  left: 0;
}

/* 出展企業 (PC: 4列) */
.supplier { margin-bottom: 80px; }
.supplier-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.supplier-list li {
  width: calc((100% - 60px) / 4);
  border: 1px solid #eee;
  padding: 10px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}

/* --- レスポンシブ (スマホ対応) --- */
@media screen and (max-width: 767px) {
  .section-title { font-size: 22px; margin-bottom: 50px; }
  .btn-apply a { font-size: 18px; width: 100%; box-sizing: border-box; }
  
  .intro-items li, 
  .event-card { width: 100%; }
  
  .event-grid { flex-direction: column; gap: 40px; }
  
  /* スマホでは企業ロゴを2列に */
  .supplier-list li {
    width: calc((100% - 20px) / 2);
  }
	.seminar {
        /* 横並びを解除して縦並びにする */
        flex-direction: column;
        margin-bottom: 50px; /* 余白を少し詰める */
    }

    .seminar .text {
        width: 100%;
        margin-bottom: 20px; /* テキストと画像の間に隙間を作る */
    }

    .seminar .img {
        width: 100%;
        max-width: 100%; /* スマホでは横幅いっぱいに */
    }

    .seminar .img img {
        width: 100%;
        height: auto;
    }

    /* 文字サイズをスマホ用に少し小さく調整（任意） */
    .seminar .text .seminar-title {
        font-size: 20px;
    }
    .seminar .text .seminar-title2 {
        font-size: 16px;
    }
}