/* ====== Top Main (PC first) ====== */
:root{
  --top-main-max: 1200px;
  --top-main-minh: 1133px;      /* PCの見栄え高さ（必要なら調整） */
  --film-overhang: 60px;       /* 右にはみ出す量（コメントに合わせて調整） */
}

#top-main{
  background: url(../images/top/top-main-bg.webp) no-repeat center center;
  background-size: auto 100%; /* 画像の見栄え優先 */
  min-height: var(--top-main-minh);
  position: relative;
  overflow: visible; /* はみ出し許可 */
}

/* 1200pxガイドの“中身” */
.top-main-inner{
  max-width: var(--top-main-max);
  margin: 0 auto;
  position: relative;
  overflow: visible; /* はみ出し許可 */
  padding: 40px 0 30px;
}

/* h1：システムフォント + 白フチ（Noto全体指定は触らない） */
#top-main h1{
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 22px;
  color: #111;
  font-size: 100px;
  letter-spacing: 7px;

  /* 白フチ：text-stroke + 影で保険 */
  -webkit-text-stroke: 10px #fff;
  paint-order: stroke fill;
  text-shadow:
    2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff,
    2px 2px #fff, -2px 2px #fff, 2px -2px #fff, -2px -2px #fff;
  padding: 140px 0 160px;
  text-align: right;
}
#top-main h1 span{
  display:block;
  font-weight: 700;
  font-size: 0.46em;
  margin-bottom: 15px;
  letter-spacing: 0
}

/* 2カラム */
.top-main-nav{
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: flex-start;
  overflow: visible;
}

.top-main-nav > li{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 6px 16px;
  overflow: visible;
}

/* 左：インクジェット */
.top-main-nav > li:first-child{
  width: 50%;
}
.top-main-nav > li:first-child h2{
  width: 100%;
  margin: 0 0 6px;
  text-align: center;
}
.top-main-nav > li:first-child a{
  width: calc(50% - 8px);
  display: block;
}
.top-main-nav > li:first-child a img{
  width: 100%;
  height: auto;
  display: block;
}

/* 右：製版用フィルム */
.top-main-nav > li:last-child{
  width: 65%;
  position: relative;
  margin-left: var(--film-overhang); /* はみ出し分の“余地” */
}
.top-main-nav > li:last-child h2{
  width: 100%;
  margin: 0 0 6px;
  text-align: center;
  padding-left: 100px;
}

/* 大ボタン2つ：右へ“はみ出す” */
.top-main-nav > li:last-child a{
  width: 100%;
  display: block;
  text-align: center;
  padding: 15px 0 0;
}
.top-main-nav > li:last-child a img{
  width: 100%;
  height: auto;
  display: block;
  margin-left: var(--film-overhang);
  /*transform: translateX(var(--film-overhang));  ここで右にずらしてはみ出す */
}

/* hover：軽い動き（画像追加なしでOK） */
/*.top-main-nav a{
  transition: transform .18s ease, filter .18s ease;
}
.top-main-nav > li:last-child a img:hover {
  transform: translateX(0);
}*/

/* 右側の大ボタンは transform を使ってるので hover の transform が競合しないように上書き */
/*.top-main-nav > li:last-child a:hover img{
  transform: translateX(var(--film-overhang)) translateY(-2px);
}*/

/* ====== Responsive ====== */
@media (max-width: 1024px){
  :root{
    --top-main-minh: 520px;
    --film-overhang: 36px;
  }
  .top-main-inner{ padding: 34px 16px 26px; }
  .top-main-nav{ gap: 26px; }
}

@media (max-width: 768px){
  #top-main{
    background: url(../images/top/top-main-bg_sp.webp) no-repeat center center;
  	background-size: auto 100%; 
    min-height: 0;
    background-size: 300px auto; /* SPは背景として成立させる（containだと余白が出やすい） */
    background-position: right -80px top -50px;
  }
  .top-main-inner{ padding: 22px 16px 18px; }
  #top-main h1{
    -webkit-text-stroke: 4px #fff;
    letter-spacing: 2px;
    text-shadow:
      1px 0 #fff, -1px 0 #fff, 0 1px #fff, 0 -1px #fff,
      1px 1px #fff, -1px 1px #fff, 1px -1px #fff, -1px -1px #fff;
      text-align: center;
      padding: 20px 0 20px 8px;
    font-size: 44px;
  }
#top-main h1 span{
  font-size: 0.40em;
  margin-bottom: 10px;
}
  .top-main-nav{
    flex-direction: column;
    gap: 18px;
  }
  .top-main-nav > li{
    width: 100% !important;
    gap: 0 6px;
  }
.top-main-nav > li:last-child a {
	padding: 0;
}
.top-main-nav > li:last-child h2 {
	padding-left: 0;
}
.top-main-nav > li:last-child h2 img {
	max-width: 60%;
}
.top-main-nav li h2 img {
	max-width: 70%;
	height: auto;
}
  /* SP：インクジェットは2×2維持 */
  .top-main-nav > li:first-child a{ width: calc(50% - 8px); }

  /* SP：製版用フィルムの大ボタンははみ出し無しで安全に */
  .top-main-nav > li:last-child{
    padding-right: 0;
    margin-left: 0;
  }
  .top-main-nav > li:last-child a img{
    transform: none;
    margin-left: 0;
  }
  .top-main-nav > li:last-child a:hover img{
    transform: translateY(-2px);
  }
}