@charset "UTF-8";
/*-----------------------------------------------------
2026-08 修正指示（osawa_koushin_set_0731）対応スタイル
※ 既存 css/*.css は変更せず、追加・上書き分のみここに記述
-----------------------------------------------------*/

/*-----------------------------------------------------
g-nav：ごあいさつ追加に伴う文字・余白の縮小（PC）
-----------------------------------------------------*/
#g-nav li {
  font-size: 15px;
  font-size: 1.6rem;
}

/*-----------------------------------------------------
ごあいさつ：#header_col が sticky のため、
アンカー着地位置がヘッダーの下に潜らないよう補正
（実測ヘッダー高さ + 余白ぶんを scroll-margin-top で確保）
-----------------------------------------------------*/
#top-greeting {
  scroll-margin-top: 150px;
}
@media screen and (max-width:1365px) {
  #top-greeting {
    scroll-margin-top: 145px;
  }
}
@media screen and (max-width:991px) {
  #top-greeting {
    scroll-margin-top: 180px;
  }
}
@media screen and (max-width:767px) {
  #top-greeting {
    scroll-margin-top: 110px;
  }
}

/*-----------------------------------------------------
top：地紋（家紋）の追加配置
（本文が伸びた分、既存パターンを踏襲して追加）
-----------------------------------------------------*/
#top #contents_bg01 {
  background-image:
    url(../../img/top_kamon_bg01.png),
    url(../../img/top_kamon_bg01.png),
    url(../../img/top_kamon_bg01.png);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position:
    top 65vw left,
    top 280vw left,
    top 440vw left;
}
#top #contents_bg02 {
  background-image:
    url(../../img/top_kamon_bg02.png),
    url(../../img/top_kamon_bg02.png),
    url(../../img/top_kamon_bg02.png);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position:
    top 175vw right,
    top 370vw right,
    top 550vw right;
}
@media screen and (max-width:767px) {
#top #contents_bg01 {
  background-image:
    url(../../img/top_kamon_bg01.png),
    url(../../img/top_kamon_bg01.png);
  background-repeat: no-repeat, no-repeat;
  background-position:
    top 180vw left,
    top 2150vw left;
}
#top #contents_bg02 {
  background-image:
    url(../../img/top_kamon_bg02.png),
    url(../../img/top_kamon_bg02.png);
  background-repeat: no-repeat, no-repeat;
  background-position:
    top 2550vw right,
    top 3200vw right;
}
}

/*-----------------------------------------------------
top：見出し「かつら大澤について」を少し上へ
（h3側を負のmarginで動かすと.blockのoverflow:hiddenで
見切れるため、直前のヘッダー画像側の余白を詰める）
-----------------------------------------------------*/
#top .top_header-img {
  margin-bottom: 40px;
}

/*-----------------------------------------------------
top：大澤の仕事リスト
-----------------------------------------------------*/
.work-list {
  margin-bottom: 40px;
}
.work-item {
  margin-bottom: 60px;
  padding: 0 40px 10px 40px;
  box-sizing: border-box;
}
.work-item:last-child {
  margin-bottom: 0;
}
.work-item-divider {
  width: 100%;
  height: 66px;
  border: none;
  margin-top: -30px;
  margin-bottom: 60px;
  background-image:
    url(../../img/koushin_0731/top-work-list_kamon.png),
    linear-gradient(#910000, #910000);
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center center;
  background-size: 66px 66px, 100% 1px;
}

/*2カラム（画像＋テキスト）タイプ：他タイプと下部余白を揃える*/
.work-item .img-txt-2col {
  margin-bottom: 0;
}

/*画像2点並び（国宝／東をどり／ミュージカル）*/
.work-item-media {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 30px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.work-item-media img {
  max-width: 100%;
  height: auto;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.2);
}
.work-item .img-box img {
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.2);
}
.work-item-media--cols2 img {
  width: calc(50% - 15px);
}
.work-item-media--cols2 img.img-offset-top {
  margin-top: 100px;
}

/*右カラム（テキスト側）に上部余白*/
.work-item .txt-box {
  box-sizing: border-box;
  padding-top: 100px;
}

/*左右カラム幅を統一し、中央の余白を30pxに（PC・タブレット幅のみ）*/
@media screen and (min-width:768px) {
.work-item .img-txt-2col {
  gap: 30px;
}
.work-item .img-txt-2col .img-box,
.work-item .img-txt-2col .txt-box {
  flex: 1 1 0;
}
}

/*キャプション（タイトル・リンク）共通*/
.work-item-caption {
  font-family: "Noto Serif JP", serif;
}
.work-item--wide > .work-item-caption,
.work-item--text-only > .work-item-caption {
  text-align: center;
}
.work-item-ttl {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 700;
  margin-bottom: 15px;
}
.work-item-links a {
  color: #c83b33;
  text-decoration: underline;
  word-break: break-all;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
}
.work-item-links a::before {
  content: "◆ ";
}
.work-item-links a:hover {
  text-decoration: none;
}
.work-item-list {
  display: inline-block;
  text-align: left;
  margin: 0 auto;
  line-height: 2;
}
.work-item-list li {
  position: relative;
  padding-left: 1.2em;
}
.work-item-list li:before {
  content: "●";
  position: absolute;
  left: 0;
  font-size: 0.7em;
  top: 0.4em;
}
.work-item--text-only {
  padding: 10px 0;
}

@media screen and (max-width:767px) {
.work-item {
  margin-bottom: 0px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.work-item-divider {
  margin-top: 0;
  margin-bottom: 30px;
}
/*カラム表示を廃止し、画像→画像→テキストを縦に積んでセンター揃え*/
.work-item-media {
  flex-direction: column;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}
.work-item-media--cols2 img {
  width: 100%;
}
.work-item-media--cols2 img.img-offset-top {
  margin-top: 0;
}
.work-item .img-box {
  text-align: center;
}
.work-item .txt-box {
  padding-top: 0;
}
.work-item-caption {
  text-align: center;
}
.work-item-ttl {
  font-size: 16px;
  font-size: 1.6rem;
}
}

/*-----------------------------------------------------
top：大澤の仕事リスト セクション幅を780pxに変更
-----------------------------------------------------*/
#top-work-list {
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 100px;
  border: 7px solid #910000;
  box-sizing: border-box;
  background-image: url(../../img/koushin_0731/top-work-list_bg.webp);
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100% auto;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.6s ease-in-out, transform 1.6s ease-in-out;
}
/*枠専用のスクロールイン（内部work-itemの.wrap.onとは別系統・干渉しないよう独立クラス）*/
#top-work-list.frame-on {
  opacity: 1;
  transform: translateY(0);
}
#top-work-list .wrap_wide,
#top-work-list .wrap_mid {
  width: 100%;
}
@media screen and (max-width:767px) {
  #top-work-list {
    width: calc(100% - 20px);
    margin-bottom: 50px;
  }
}

/*見出し「大澤の仕事」の背景バナー*/
#top-work-list > h3 {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  aspect-ratio: 779 / 221;
  background-image: url(../../img/koushin_0731/top-work-list_header.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  margin: 0 0 100px 0;
  padding: 35px 0 0 0;
  border-bottom: none;
  color: #fff;
}
#top-work-list > h3 span {
  display: inline-block;
  padding-bottom: 10px;
  border-bottom: 5px solid #d06da2;
}
@media screen and (max-width:767px) {
  #top-work-list > h3 {
    aspect-ratio: 658 / 267;
    background-image: url(../../img/koushin_0731/top-work-list_header_sp.png);
    margin-bottom: 50px;
  }
  #top-work-list > h3 span {
    transform: translateY(-10px);
  }
}

/*-----------------------------------------------------
top：仕事リスト スクロール演出
（枠＝.wrap が先行してフェードイン→画像／テキストが遅れて表示）
既存の .wrap.on 切り替え（inc/footer.php のスクロール監視）に相乗り
-----------------------------------------------------*/
.work-item .work-item-media,
.work-item .work-item-caption,
.work-item .img-txt-2col {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.wrap.on .work-item-media {
  transition-delay: 0.15s;
}
.wrap.on .work-item-caption,
.wrap.on .img-txt-2col {
  transition-delay: 0.35s;
}
.wrap.on .work-item-media,
.wrap.on .work-item-caption,
.wrap.on .img-txt-2col {
  opacity: 1;
  transform: translateY(0);
}

/*-----------------------------------------------------
company：Googleマップへのリンク
-----------------------------------------------------*/
.access-map-link {
  margin-top: 15px;
}
.access-map-link a {
  display: inline-block;
  padding: 8px 20px;
  border: 1px solid #736aab;
  color: #736aab;
  border-radius: 4px;
  font-size: 14px;
  font-size: 1.4rem;
}
.access-map-link a:hover {
  background-color: #736aab;
  color: #fff;
  opacity: 1;
}
