/* works-mod-11.css — ベースライン(自動読込・module-base.css前提)。編集せず上書きで調整。 */
@charset "UTF-8";

.mod_11_section .mod_11_section_wrap .mod_11_img a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.mod_11_section .mod_11_section_wrap .mod_11_img a:before {
  content: "";
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 1s;
  transform: translateY(-80%);
  -webkit-transform: translateY(-80%);
}
.mod_11_section .mod_11_section_wrap .mod_11_img a:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 50;
}
.mod_11_section .mod_11_section_wrap .mod_11_content {
  position: absolute;
  transition: 0.3s;
  opacity: 0;
  z-index: 2;
}
.mod_11_section .mod_11_section_wrap .mod_11_title,
.mod_11_section .mod_11_section_wrap .mod_11_title2 {
  font-size: 1rem;
  font-weight: bold;
}
.mod_11_section .mod_11_section_wrap .col {
  position: relative;
}
@media (min-width: 768px) {
  .mod_11_section .mod_11_section_wrap .col:hover .mod_11_title {
    overflow: hidden;
  }
  .mod_11_section .mod_11_section_wrap .col:hover .mod_11_title:after {
    opacity: 0;
    transition: 0.5s;
    bottom: -100%;
  }
  .mod_11_section .mod_11_section_wrap .col:hover .mod_11_img a:before {
    opacity: 1;
    transition: 0.5s;
    transform: translateY(0);
  }
  .mod_11_section .mod_11_section_wrap .col:hover .mod_11_content {
    opacity: 1;
    transition: 0.8s;
  }
}
@media (max-width: 767px) {
  .mod_11_section .mod_11_section_wrap .col .mod_11_title {
    overflow: hidden;
  }
  .mod_11_section .mod_11_section_wrap .col .mod_11_title:after {
    opacity: 0;
    transition: 0.5s;
    bottom: -100%;
  }
  .mod_11_section .mod_11_section_wrap .col .mod_11_img a:before {
    opacity: 1;
    transition: 0.5s;
    transform: translateY(0);
    -webkit-transform: translateY(0);
  }
  .mod_11_section .mod_11_section_wrap .col .mod_11_content {
    opacity: 1;
    transition: 0.8s;
  }
}
.mod_11_section.typeA .mod_11_section_wrap .mod_11_content, .mod_11_section.typeC .mod_11_section_wrap .mod_11_content {
  top: auto;
  right: 1em;
  bottom: 1em;
  left: 1em;
}
.mod_11_section.typeA .mod_11_section_wrap .mod_11_title, .mod_11_section.typeC .mod_11_section_wrap .mod_11_title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 1em;
  margin: 0;
  z-index: 2;
}
.mod_11_section.typeA .mod_11_section_wrap .mod_11_title:after, .mod_11_section.typeC .mod_11_section_wrap .mod_11_title:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.25);
  z-index: -1;
}
.mod_11_section.typeC .mod_11_section_wrap .col .mod_11_title {
  top: auto;
  bottom: 0;
}
.mod_11_section.typeC .mod_11_section_wrap .col:hover {
  overflow: hidden;
}
.mod_11_section.typeC .mod_11_section_wrap .col:hover .mod_11_title {
  opacity: 0;
  top: auto;
  bottom: 0;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  transition: 0.5s;
}
@media (max-width: 767px) {
  .mod_11_section.typeC .mod_11_section_wrap .col {
    overflow: hidden;
  }
  .mod_11_section.typeC .mod_11_section_wrap .col .mod_11_title {
    opacity: 0;
    top: auto;
    bottom: 0;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
    transition: 0.5s;
  }
}
.mod_11_section.typeB .mod_11_section_wrap .mod_11_img a:before {
  content: none;
}
.mod_11_section.typeB .mod_11_section_wrap .col .mod_11_title {
  position: absolute;
  margin-bottom: 0;
  top: 50%;
  padding: 1em;
  left: 1em;
  right: 1em;
  transform: translateX(0px) translateY(-50%);
  -webkit-transform: translateX(0px) translateY(-50%);
  transition: 1s;
  margin: auto;
}
.mod_11_section.typeB .mod_11_section_wrap .col .mod_11_title:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.25);
  z-index: -1;
}
.mod_11_section.typeB .mod_11_section_wrap .col .mod_11_content {
  opacity: 1;
  margin: auto;
  top: auto;
  right: 1em;
  bottom: 1em;
  top: 1em;
  left: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  -webkit-transform: translateX(-15px);
  transform: translateX(-15px);
}
.mod_11_section.typeB .mod_11_section_wrap .col .mod_11_content .mod_11_content_wrap {
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  display: block;
  padding: 1em;
  opacity: 0;
}
.mod_11_section.typeB .mod_11_section_wrap .col:hover .mod_11_title {
  opacity: 0;
  transition: 0.5s;
  -webkit-transform: translateX(15px) translateY(-50%);
  transform: translateX(15px) translateY(-50%);
}
.mod_11_section.typeB .mod_11_section_wrap .col:hover .mod_11_content {
  transition: 1s;
  transform: translateX(0px);
  -webkit-transform: translateX(0px);
}
.mod_11_section.typeB .mod_11_section_wrap .col:hover .mod_11_content .mod_11_content_wrap {
  transition: 1s;
  opacity: 1;
}
@media (max-width: 767px) {
  .mod_11_section.typeB .mod_11_section_wrap .col .mod_11_title {
    opacity: 0;
    transition: 0.5s;
    transform: translateX(15px) translateY(-50%);
    -webkit-transform: translateX(15px) translateY(-50%);
  }
  .mod_11_section.typeB .mod_11_section_wrap .col .mod_11_content {
    transition: 1s;
    transform: translateX(0px);
    -webkit-transform: translateX(0px);
  }
  .mod_11_section.typeB .mod_11_section_wrap .col .mod_11_content .mod_11_content_wrap {
    transition: 1s;
    opacity: 1;
  }
}
@media (max-width: 1020px) and (min-width: 768px) {
  .mod_11_section .button,
  .mod_11_section .button-3d,
  .mod_11_section .button-border,
  .mod_11_section .button-circle,
  .mod_11_section .button-flat,
  .mod_11_section .button-ghost,
  .mod_11_section .button-ghost-round,
  .mod_11_section .button-round {
    min-width: 0 !important;
    display: block !important;
  }
}
@media (max-width: 767px) {
  .mod_11_section .mod_11_section_wrap {
    max-width: 600px;
  }
  .mod_11_section .mod_11_section_wrap .mod_11_img a:before {
    opacity: 1;
  }
  .mod_11_section .mod_11_section_wrap .mod_11_content {
    opacity: 1;
  }
}

body:not(.touch-disabled) .mod_11_section .mod_11_title {
  overflow: hidden;
}
body:not(.touch-disabled) .mod_11_section .mod_11_title:after {
  opacity: 0;
  transition: 0.5s;
  bottom: -100%;
}
body:not(.touch-disabled) .mod_11_section .mod_11_img a:before {
  opacity: 1;
  transition: 0.5s;
  transform: translateY(0);
  -webkit-transform: translateY(0);
}
body:not(.touch-disabled) .mod_11_section .mod_11_content {
  opacity: 1;
  transition: 0.8s;
}
body:not(.touch-disabled) .mod_11_section.typeB .mod_11_section_wrap .col .mod_11_title {
  opacity: 0;
  transition: 0.5s;
  transform: translateX(15px) translateY(-50%);
  -webkit-transform: translateX(15px) translateY(-50%);
}
body:not(.touch-disabled) .mod_11_section.typeB .mod_11_section_wrap .col .mod_11_content {
  transition: 1s;
  transform: translateX(0px);
  -webkit-transform: translateX(0px);
}
body:not(.touch-disabled) .mod_11_section.typeB .mod_11_section_wrap .col .mod_11_content .mod_11_content_wrap {
  transition: 1s;
  opacity: 1;
}
body:not(.touch-disabled) .mod_11_section.typeC {
  overflow: hidden;
}
body:not(.touch-disabled) .mod_11_section.typeC .mod_11_title {
  opacity: 0;
  top: auto;
  bottom: 0;
  transform: translateY(50%);
  -webkit-transform: translateY(50%);
  transition: 0.5s;
}

/* SM-FIX-20260819 */
/* 2026-08-19: 写真タイルの文字が読めない／重なる。
   (1) COMPONENT.md の通り body:not(.touch-disabled) により暗幕と説明文は【常時表示】に
       なる。ところが説明パネル .mod_11_content_wrap に暗幕が付くのは typeB だけで、
       typeA / typeC は白文字が写真に直乗りだった。3タイプとも敷く。
   (2) タイトル帯のスクリムが rgba(0,0,0,.25) と薄く、明るい写真で読めない。.55 へ。
   (3) 写真の比率が揃わずタイルの高さが不揃いになり、短いタイルでは上端のタイトルと
       下端の説明パネルが重なっていた（実測 1024px で 3 箇所）。比率を固定して解消する。
   (4) 暗幕の上のボタンがブランド色ベタだと暗幕と同化するので、白抜きの枠線ボタンにする。 */
.mod_11_section .mod_11_section_wrap .mod_11_img img{
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
}
.mod_11_section .mod_11_section_wrap .col{ overflow: hidden; }
.mod_11_section.typeA .mod_11_section_wrap .mod_11_title:after,
.mod_11_section.typeC .mod_11_section_wrap .mod_11_title:after{ background: rgba(0,0,0,.55); }
.mod_11_section.typeA .mod_11_section_wrap .mod_11_content,
.mod_11_section.typeC .mod_11_section_wrap .mod_11_content{
  right: 0; left: 0; bottom: 0; padding: 1.4em 1em 1em;
  background: linear-gradient(to top, rgba(0,0,0,.85), rgba(0,0,0,.55) 60%, rgba(0,0,0,0));
}
.mod_11_section .mod_11_section_wrap .mod_11_content_wrap{ background: rgba(0,0,0,.5); padding: .85em 1em; border-radius: 2px; }
.mod_11_section .mod_11_section_wrap .mod_11_title,
.mod_11_section .mod_11_section_wrap .mod_11_title2,
.mod_11_section .mod_11_section_wrap .mod_11_content_wrap p{ color: #fff; }
.mod_11_section .mod_11_content_wrap .button,
.mod_11_section .mod_11_content_wrap .add_arrow{
  background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.8);
}
.mod_11_section .mod_11_content_wrap .add_arrow:after{ border-color: #fff; }

/* SM-FIX2-20260819 */
/* 2026-08-19(2): 暗幕の合計が濃すぎて写真がほぼ黒く潰れていたので、写真が見える
   バランスに寄せる。説明パネルは 50%→60%（明るい写真でも白文字が確実に読める下限）、
   下端グラデはやや弱める。 */
.mod_11_section .mod_11_section_wrap .mod_11_content_wrap{ background: rgba(0,0,0,.6); }
.mod_11_section.typeA .mod_11_section_wrap .mod_11_content,
.mod_11_section.typeC .mod_11_section_wrap .mod_11_content{
  background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.32) 62%, rgba(0,0,0,0));
}
.mod_11_section .mod_11_section_wrap .mod_11_img a:before{ background: rgba(0,0,0,.3); }

/* SM-FIX9-20260819 */
/* 2026-08-19(E2E): aspect-ratio を足した img が高さ0になる。
   common.css の `main img:not([class]){height:100%}` が効いており、
   【明示 height は aspect-ratio に勝つ】ため、親の高さが決まらない場面で 0px に解決される。
   実害: news-post-th34 で写真6枚が 212x0 になり消えた(実生成サイトで検出)。
   aspect-ratio を使う画像には必ず height:auto を併記する。 */
.mod_11_section .mod_11_section_wrap .mod_11_img img{ height: auto; }
