@charset "utf-8";
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
TOPページ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/* sec01 */
.sec01 {
}
.sec01__header {
  width: 1300px;
  margin: 0 auto;
  padding: 80px 0 0;
}
.sec01__header {
}

.sec01__arrow {
  margin-bottom: var(--sp-3);
}
.sec01__arrow .min-ttl {
  margin-bottom: var(--sp-5);
  text-align: center;

  font-size: var(--h3-fz);
  font-weight: var(--bold);
}
.sec01__arrow .arrow {
  display: block;
  width: 385px;
  margin: 0 auto;
}

.sec01__content {
}

.sec01__content h4 {
  margin-bottom: var(--sp-4);
  text-align: center;
  font-size: var(--h4-fz);
  font-weight: var(--bold);
}
.sec01__content .txt{
  margin-top: var(--sp-5);
  text-align: center;
  font-size: 20px;
}

/* sec02 */
.sec02 {
}

.sec02__list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  margin-bottom: var(--sp-3);
}

.sec02__item {
}

.sec02__item .ttl {
  margin-bottom: var(--sp-2);
}
.sec02__item .ttl img {
  max-width: 100%;
}

.sec02__item-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.sec02__item:nth-of-type(1) .sec02__item-wrap .txt {
  width: 721px;
}
.sec02__item:nth-of-type(2) .sec02__item-wrap .txt {
  width: 710px;
}
.sec02__item:nth-of-type(3) .sec02__item-wrap .txt {
  width: 100%;
}
.sec02__item-wrap .txt {
}

.sec02__item-wrap .txt p {
  margin-bottom: var(--sp-1);
}
.sec02__item-wrap .txt p strong {
  font-weight: var(--regular);
}

.sec02__item-wrap .txt p sup {
  top: 0.1em;
  font-size: 12px;
}
.sec02__item-wrap .txt small {
  position: relative;
  display: block;
  padding-left: 14px;
  font-size: 12px;
}
.sec02__item-wrap .txt small::before {
  position: absolute;
  content: "※";
  left: 0;
  top: 0;
}

.sec02__item-wrap .img {
  width: 200px;
}

/* .sec03 */
.sec03 {
}
.sec03 .inner {
  padding-top: 0;
}
.sec03__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: var(--sp-3) var(--sp-2);
}

.sec03__item {
  display: flex;
  flex-direction: column;
  border-radius: var(--sp-05);
  border: 1px solid var(--clr-sub01);
  height: 100%; /* 追加: 親グリッドの高さに合わせる */
}

.sec03__item .ttl {
  /* height: 100%; を削除または flex-shrink: 0; に変更 */
  min-height: 104px;
  flex-shrink: 0; /* 追加: タイトル部分の高さを固定 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--sp-2);
  background-color: var(--clr-sub01);
  text-align: center;
  font-size: var(--sp-3);
  color: var(--clr-white);
}

.sec03__list .txt {
  padding: var(--sp-2) var(--sp-2);
  text-align: center;
  flex: 1; /* 追加: 残りの空間を埋める */
  display: flex; /* 追加 */
  flex-direction: column; /* 追加 */
  justify-content: flex-start; /* 追加: 中央揃え（必要に応じて） */
}

.sec03__list .txt p {
}
.sec03__list .txt p strong {
  font-weight: var(--regular);
}

/* お知らせ news */

/* 一覧ページ */
#news {
}

.news_wrap {
  background-color: var(--clr-white);
  padding: 40px;
}

.news_wrap .news_scroll_container {
  max-height: 350px;
  overflow-y: auto;
  margin-right: -20px;
  padding: 0;
  padding-top: 0;
  padding-right: 20px;
}

/* デスクトップ専用スクロールバー設定 */
@media (min-width: 769px) {
  .news_wrap .news_scroll_container::-webkit-scrollbar {
    width: 7px;
  }

  .news_wrap .news_scroll_container::-webkit-scrollbar-track {
    background: transparent;
  }

  .news_wrap .news_scroll_container::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.4);
    border-radius: 4px;
  }

  .news_wrap .news_scroll_container::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.6);
  }
}

/* iOS対応 - スクロール慣性とタッチ操作の改善 */
.news_wrap .news_scroll_container {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

/* ニュース一覧はブラウザデフォルトのスクロールバーを使用 */

.news_item {
  width: 100%;
  margin-bottom: 24px;
}
.news_item:last-of-type {
  margin-bottom: 0;
}

.news_item a {
  position: relative;
  display: flex;
  align-items: flex-start;
  border-bottom: #d0d0d0 1px solid;
  padding-bottom: 12px;
  padding-right: 58px;
}
.news_item a::after {
  position: absolute;
  right: 0;
  top: calc(50% - 14px);
  content: "";
  display: block;
  background: url("../img/common/arrow_blue.webp") no-repeat;
  background-size: contain;
  width: 9px;
  height: 16px;
  transition: 0.3s;
}

.news_item a:hover::after {
  right: -5px;
}
.news_item .time {
  width: 130px;
}
.news_item .ttl {
  width: calc(100% - 130px);
  font-size: 16px;
  font-weight: var(--regular);

  display: -webkit-box;
  -webkit-box-orient: vertical;
  /* 2行表示 */
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* 詳細ページ */
#news_detail {
}
#news_detail .inner {
  padding: 40px 0;
}
.news_detail-wrap {
  width: 912px;
  padding: 32px;
  margin: 0 auto;
  margin-bottom: 40px;
}
.news_detail-wrap .time {
  font-size: var(--small-fz);
  margin-bottom: 24px;
}
.news_detail-wrap .ttl {
  font-size: var(--h6-fz);
  margin-bottom: 16px;
}

.news_detail .time {
}

.news_link {
  width: 460px;
  margin: 0 auto;
}
.news_link ul {
  display: flex;
  justify-content: space-between;
}
.news_link ul li a {
  color: var(--clr-main);
  font-size: var(--small-fz);
}
.news_link ul li.prev a {
  display: flex;
  align-items: center;
}

.news_link ul li.prev a::before {
  content: "";
  background: url("../img/common/arrow_blue.webp") no-repeat;
  background-size: contain;
  transform: rotate(180deg);
  width: 9px;
  height: 16px;
  display: block;
  margin-right: 8px;
}

.news_link ul li.next a {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}
.news_link ul li.next a::before {
  content: "";
  background: url("../img/common/arrow_blue.webp") no-repeat;
  background-size: contain;
  width: 9px;
  height: 16px;
  display: block;
  margin-left: 8px;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
会社情報ページ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#company_info {
}

.table_wrap {
  width: 780px;
  margin: 0 auto;
}
.cmn_table {
  color: #1f2950;
}
.cmn_table tr {
  display: block;
  padding-bottom: 24px;
  border-bottom: 1px solid #d0d0d0;
  margin-bottom: 24px;
}
.cmn_table tr:last-of-type {
  margin-bottom: 0;
}
.cmn_table tr th,
.cmn_table tr td {
}

.cmn_table tr th {
  width: 136px;
  font-weight: var(--regular);
}
.cmn_table tr td {
  width: 644px;
}
.cmn_table tr td .pc {
  display: inline-block;
}
.cmn_table tr td ul {
}
.cmn_table tr td ul li {
}
.cmn_table tr td ul li::before {
  content: "■";
}
.cmn_table tr td ul li a {
  border-bottom: 1px solid var(--clr-txt);
  line-height: 1.2;
  display: inline-block;
}
