@charset "utf-8";
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
TOPページ SP表示
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
TOPページ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/* sec01 */
.sec01 {
  margin-top: -100px;
}
.sec01__header {
  width: calc(100% - 8.2vw);
  margin: 0 auto;
  padding-top: 36.15vw;
  padding-bottom: 0;
}
.sec01__header {
}

.sec01__header .cmn-h3 {
  display: flex;
  justify-content: center;
  gap: var(--sp-1);
}
.sec01__header .cmn-h3 img {
  display: block;
  width: 19.48vw;
  height: auto;
}

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

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

.sec01__content {
}

.sec01__content h4 {
  margin-bottom: var(--sp-3);
  text-align: center;
  /* font-size: var(--h5-fz); */
  font-size: 3.9vw;
  font-weight: var(--bold);
}
.sec01__content .txt{
  margin-top: var(--sp-3);
  text-align: center;
  font-size: 4.5vw;
  letter-spacing: 0;
}



/* 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-1);
}
.sec02__item .ttl img {
  max-width: 100%;
}

.sec02__item-wrap {
  display: flex;
  flex-direction: column-reverse;
  gap: var(--sp-1);
}

.sec02__item-wrap .txt {
  letter-spacing: 0;
}

.sec02__item-wrap .txt p {
  margin-bottom: var(--sp-05);
}
.sec02__item-wrap .txt p strong {
  font-weight: var(--regular);
  letter-spacing: -0.04em;
}

.sec02__item-wrap .txt p sup {
  top: 0.1em;
  font-size: calc(12 / 390 * 100vw);
}
.sec02__item-wrap .txt small {
  letter-spacing: 0;
  position: relative;
  display: block;
  padding-left: calc(13 / 390 * 100vw);
  font-size: calc(11.8 / 390 * 100vw);
}
.sec02__item-wrap .txt small::before {
  position: absolute;
  content: "※";
  left: 0;
  top: 0;
}

.sec02__item-wrap .img {
  width: 100%;
}

/* .sec03 */
.sec03 {
}
.sec03 .inner {
  padding-top: 0;
}
.sec03__list {
  display: flex;
  flex-direction: column;
  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 {
  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: calc(18 / 390 * 100vw);
  color: var(--clr-white);
}

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

.sec03__list .txt p {
}
.sec03__list .txt p strong {
  font-weight: var(--regular);
}
/* お知らせ news */

/* 一覧ページ */
#news {
}
#news .btn {
  margin-top: 10.2vw;
}
.news_wrap {
  background-color: var(--clr-white);
  padding: 4.1vw;
  /* margin-bottom: 10.2vw; */
}

.news_wrap .news_scroll_container {
  max-height: 50vh;
  overflow-y: auto;
  margin-right: -2.5vw;
  padding-right: 2.5vw;
}

/* モバイル対応のスクロールバー設定（SP） */
.news_wrap .news_scroll_container::-webkit-scrollbar {
  width: 5px;
}

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

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

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

/* iOS対応 - スクロール慣性とタッチ操作の改善（SP） */
.news_wrap .news_scroll_container {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  /* iOS用スクロールバー強制表示 */
  overflow-y: scroll;
  -webkit-overflow-scrolling: auto;
}

/* iOS Safari対応 - スクロールインジケーターを表示 */
@supports (-webkit-overflow-scrolling: touch) {
  .news_wrap .news_scroll_container {
    overflow-y: scroll !important;
    /* iOS用追加設定 */
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.3) transparent;
  }
}

/* モバイル全般でのスクロールバー表示強化 */
@media (max-width: 768px) {
  .news_wrap .news_scroll_container::-webkit-scrollbar {
    width: 6px !important;
    background: rgba(0, 0, 0, 0.1);
  }
  
  .news_wrap .news_scroll_container::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.4) !important;
    border-radius: 3px;
    min-height: 20px;
  }
}

/* iOS Safari専用カスタムスクロールインジケーター */
@supports (-webkit-overflow-scrolling: touch) and (not (-webkit-touch-callout: default)) {
  .news_wrap {
    position: relative;
  }

  .news_wrap::after {
    content: "";
    position: absolute;
    right: 5px;
    top: 15px;
    bottom: 15px;
    width: 3px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    pointer-events: none;
  }

  /* スクロール位置に応じて表示されるインジケーター */
  .news_wrap .scroll-indicator {
    position: absolute;
    right: 5px;
    width: 3px;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 2px;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 10;
  }
}

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

.news_item a {
  position: relative;
  display: flex;
  flex-direction: column;
  border-bottom: #d0d0d0 1px solid;
  padding-bottom: 3vw;
  padding-right: 11vw;
}
.news_item a::after {
  position: absolute;
  right: 0;
  top: calc(50% - 3.6vw);
  content: "";
  display: block;
  background: url("../img/common/arrow_blue.webp") no-repeat;
  background-size: contain;
  width: 2.3vw;
  height: 4.1vw;
  transition: 0.3s;
}
.news_item a:hover::after {
  right: -0.8vw;
}
.news_item .time {
  font-size: 3vw;
  margin-bottom: 2vw;
}
.news_item .ttl {
  width: 100%;
  font-size: 4.1vw;
  font-weight: var(--regular);

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

/* 詳細ページ */
#news_detail {
}
#news_detail .inner {
  padding: 10vw 0;
}
.news_detail-wrap {
  width: 100%;
  padding: 8.2vw;
  margin: 0 auto;
  margin-bottom: 10.3vw;
}
.news_detail-wrap .time {
  font-size: var(--small-fz);
  margin-bottom: 6.2vw;
}
.news_detail-wrap .ttl {
  font-size: var(--h6-fz);
  margin-bottom: 4.1vw;
}

.news_link {
  width: 98%;
  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: 2.3vw;
  height: 3.6vw;
  display: block;
  margin-right: 2.1vw;
  margin-top: 0.7vw;
}

.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: 2.3vw;
  height: 3.6vw;
  display: block;
  margin-left: 2.1vw;
  margin-top: 0.7vw;
}

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

.table_wrap {
  /* width: 780px; */
  margin: 0 auto;
}
.cmn_table {
  color: #1f2950;
  width: 100%;
  font-size: 3.4vw;
}
.cmn_table tr {
  width: 100%;
  display: flex;
  padding-bottom: 6.2vw;
  border-bottom: 1px solid #d0d0d0;
  margin-bottom: 6.2vw;
}
.cmn_table tr:last-of-type {
  margin-bottom: 0;
}
.cmn_table tr th,
.cmn_table tr td {
}

.cmn_table tr th {
  width: 23%;
  font-weight: var(--regular);
}
.cmn_table tr td {
  width: 77%;
}

.cmn_table tr td ul {
}
.cmn_table tr td ul li {
  margin-bottom: 3vw;
}
.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; */
  color: var(--clr-main);
  text-decoration: underline;
}
