@charset "UTF-8";
/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/* 
    Created on : 2015/08/15, 11:02:55
    Author     : main
*/
/* 20220627 add */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
* {
	font-family: 'Shippori Mincho', serif, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    /*font-family: "游明朝", serif;
		font-weight: bold;*/
	font-weight: 800;
}
/* =============================================================================
   body・基本設定
   ========================================================================== */
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-size: 15px;
  line-height: 175%;
  /* 20220627 font-family: Verdana, Arial, 'メイリオ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', Osaka,	sans-serif; */
  font-family: 'Shippori Mincho', serif, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #000;
  position: relative;
  overflow-x: hidden;
  background: #ffffff;
}

/* =============================================================================
   変数
   ========================================================================== */
/* =============================================================================
   =============================================================================

   768px以上

   =============================================================================
   ========================================================================== */
@media (min-width: 768px) {
  /* =============================================================================
     レイアウト
     ========================================================================== */
  #header {
    margin: 10px 0 0;
    /* background: #fbfaf5; */
    background: #ffffff;
  }
  #header p {
    padding: 10px !important;
  }

  #content {
    clear: both;
    margin: 0;
    position: relative;
    overflow: hidden;
  }

  #main {
    overflow: hidden;
    /* margin入れ子を防ぐ */
    margin: 0 0 30px;
  }

  #bg_footer {
    /*background: url("../img/bg_footer.jpg") repeat;*/
    background-color: #ac6b25;
  }

  #footer {
    clear: both;
    position: relative;
    max-width: 1120px;
    margin: 0 auto;
    padding: 15px 0;
    color: #fff;
  }

  /* =============================================================================
     ヘッダー
     ========================================================================== */
  .box_header {
    width: 100%;
    padding: 20px;
  }

  #logo {
    text-align: center;
  }
  #logo img {
    width: 100%;
    height: auto;
  }

  .h_top {
    text-align: center;
    margin: 20px 0;
  }
  .h_top img {
    width: 80%;
  }

  #main h2 {
    text-align: center;
    margin: 40px 0;
  }
  #main h2 .box_50 img {
    width: 70%;
  }

  .h2_line {
    font-size: 125%;
    height: 30px;
    width: 100%;
    background: url("../img/bg_h2_line.jpg") repeat-x center;
  }
  .h2_line span {
    /* background: #fbfaf5; */
    background: #ffffff;
    padding: 0 10px;
    color: #ac6b25;
  }

  /* =============================================================================
     フッター
     ========================================================================== */
  #logo_footer {
    text-align: center;
    margin: 20px 0 10px;
  }
  #logo_footer img {
    width: 200px;
    height: 50px;
  }

  #movetop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 3;
  }
  #movetop a {
    display: block;
    position: relative;
    opacity: 0.8;
    font-size: 150%;
    color: #fff !important;
    background: #ac6b25;
    padding: 20px 22px;
    border-radius: 50px;
    transition: opacity 0.5s ease;
  }
  #movetop:hover {
    opacity: 0.6;
  }

  #movetop_smart {
    display: none;
  }

  /* =============================================================================
     boxerのインライン周り
     ========================================================================== */
  .inline_content {
    width: 700px !important;
  }

  /* =============================================================================
     ボックス
     ========================================================================== */
  .inner_main,
  .inner_header {
    margin: 0 auto;
    max-width: 1120px;
    overflow: hidden;
  }

  .inner_box {
    margin: 0 0 20px 0;
    padding: 0 0 10px;
    border-radius: 3px;
    border: 1px solid #ac6b25;
    background: #fff;
    overflow: hidden;
  }

  .inner_text {
    padding: 20px;
  }

  .box_100 {
    width: 100%;
    padding: 20px;
  }

  .box_50 {
    width: 50%;
    padding: 20px;
  }

  .box_70 {
    width: 70%;
    padding: 20px;
  }

  .box_30 {
    width: 30%;
    padding: 20px;
  }

  .box_66 {
    width: 66.6666%;
    padding: 20px;
  }

  .box_33 {
    width: 33.3333%;
    padding: 20px;
  }

  .box_pre {
    width: 15%;
    float: left;
    text-align: center;
    padding: 0px;
  }

  .round_box_left {
    float: left;
  }

  .round_box_right {
    float: right;
  }

  .image_tn {
    margin: 0 auto !important;
    width: 80%;
  }
  .image_tn img {
    width: 100%;
  }

  .image_tn_50 {
    margin: 10px 2.5%;
    width: 45%;
    float: left;
  }
  .image_tn_50 img {
    width: 100%;
  }
　

  /* =============================================================================
     隠す
     ========================================================================== */
  .hide_pc {
    display: none;
  }

  /* =============================================================================
     ギャラリー
     ========================================================================== */
  ul.gallery,
  ul.gallery_mini,
  ul.gallery_1 {
    list-style: none;
    width: 100%;
    padding: 10px;
  }

  ul.gallery {
    list-style: none;
    width: 100%;
  }

  ul.gallery li {
    float: left;
    width: 20%;
    padding: 10px;
  }

  ul.gallery_mini li {
    float: left;
    width: 33.3333%;
    padding: 0 10px 20px;
  }

  ul.gallery_1 li {
    float: left;
    width: 100%;
    padding: 0 10px 20px;
  }

  ul.gallery img,
  ul.gallery_mini img,
  ul.gallery_1 img,
  ul.gallery_table img {
    width: 100%;
  }

  .inline_content {
    width: 300px;
    overflow: hidden;
    color: #000;
  }
  .inline_content img {
    width: 100%;
  }

  /* =============================================================================
     レイアウト
     ========================================================================== */
  .boxer-close {
    display: none !important;
  }
}
/* =============================================================================
   =============================================================================

   600px - 767px

   =============================================================================
   ========================================================================== */
@media (min-width: 600px) and (max-width: 767px) {
  /* =============================================================================
     レイアウト
     ========================================================================== */
  #header {
    /* background: #fbfaf5; */
    background: #ffffff;
  }
  #header p {
    padding: 10px !important;
  }

  #content {
    clear: both;
    margin: 0;
    position: relative;
    overflow: hidden;
  }

  #main {
    overflow: hidden;
    /* margin入れ子を防ぐ */
    margin: 30px 0;
  }

  #bg_footer {
    /*background: url("../img/bg_footer.jpg") repeat;*/
    background-color: #ac6b25;
  }

  #footer {
    clear: both;
    position: relative;
    margin: 0 auto;
    padding: 15px 0;
    color: #fff;
  }

  /* =============================================================================
     ヘッダー
     ========================================================================== */
  .box_header_logo {
    width: 40%;
    height: 260px;
    padding: 20px 10px;
    display: table-cell;
    vertical-align: middle;
  }

  .box_header_text {
    width: 60%;
    height: 260px;
    padding: 20px 10px;
    display: table-cell;
    vertical-align: middle;
  }

  #logo {
    text-align: center;
    margin: 10px 0;
  }
  #logo img {
    width: 100%;
    height: auto;
  }

  .h_top {
    text-align: center;
    margin: 40px 0 20px;
  }
  .h_top img {
    width: 100%;
  }

  #main h2 {
    text-align: center;
    margin: 0 0 30px;
  }
  #main h2 img {
    width: 90%;
  }

  .h2_line {
    font-size: 125%;
    height: 30px;
    width: 100%;
    background: url("../img/bg_h2_line.jpg") repeat-x center;
  }
  .h2_line span {
    /* background: #fbfaf5; */
    background: #ffffff;
    padding: 0 10px;
  }

  /* =============================================================================
     フッター
     ========================================================================== */
  #logo_footer {
    text-align: center;
    margin: 20px 0 10px;
  }
  #logo_footer img {
    width: 200px;
    height: 50px;
  }

  #movetop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 3;
  }
  #movetop a {
    display: block;
    position: relative;
    opacity: 0.8;
    font-size: 150%;
    color: #fff !important;
    background: #ac6b25;
    padding: 20px 22px;
    border-radius: 50px;
    transition: opacity 0.5s ease;
  }
  #movetop:hover {
    opacity: 0.6;
  }

  #movetop_smart {
    display: none;
  }

  /* =============================================================================
     boxerのインライン周り
     ========================================================================== */
  .inline_content {
    width: 700px !important;
  }

  /* =============================================================================
     ボックス
     ========================================================================== */
  .inner_main {
    margin: 0 auto;
    max-width: 1120px;
    overflow: hidden;
  }

  .inner_box {
    margin: 0 0 20px 0;
    padding: 0 0 10px;
    border-radius: 3px;
    border: 1px solid #ac6b25;
    background: #fff;
    overflow: hidden;
  }

  .inner_text {
    padding: 20px;
  }

  .box_100 {
    width: 100%;
    padding: 20px;
  }

  .box_50 {
    width: 50%;
    padding: 20px;
  }

  .box_70 {
    width: 70%;
    padding: 20px;
  }

  .box_30 {
    width: 30%;
    padding: 20px;
  }

  .box_66 {
    width: 66.6666%;
    padding: 20px;
  }

  .box_33 {
    width: 33.3333%;
    padding: 20px;
  }

  .box_pre {
    width: 33%;
    float: left;
    text-align: center;
    padding: 0px;
  }

  .round_box_left {
    float: left;
  }

  .round_box_right {
    float: right;
  }

  .image_tn,
  .image_tn_50 {
    margin: 10px auto;
    width: 75%;
  }
  .image_tn img,
  .image_tn_50 img {
    width: 100%;
  }

  /* =============================================================================
     隠す
     ========================================================================== */
  .hide_tb {
    display: none;
  }

  /* =============================================================================
     ギャラリー
     ========================================================================== */
  ul.gallery {
    list-style: none;
    width: 100%;
    padding: 10px;
    overflow: hidden;
  }

  ul.gallery_mini,
  ul.gallery_1 {
    list-style: none;
    width: 100%;
    overflow: hidden;
  }

  ul.gallery li,
  ul.gallery_1 li {
    float: left;
    width: 33.3333%;
    padding: 10px;
  }

  ul.gallery_mini li {
    float: left;
    width: 50%;
    padding: 10px;
  }

  ul.gallery img,
  ul.gallery_mini img,
  ul.gallery_1 img {
    width: 100%;
  }
}
/* =============================================================================
   =============================================================================

   599px以下

   =============================================================================
   ========================================================================== */
@media (max-width: 599px) {
  /* =============================================================================
     レイアウト
     ========================================================================== */
  #header {
    /* background: #fbfaf5; */
    background: #ffffff;
  }
  #header p {
    padding: 10px 20px !important;
  }

  #content {
    clear: both;
    margin: 0;
    position: relative;
    overflow: hidden;
  }

  #main {
    overflow: hidden;
    /* margin入れ子を防ぐ */
    margin: 30px 0;
  }

  #bg_footer {
    /*background: url("../img/bg_footer.jpg") repeat;*/
    background-color: #ac6b25;
  }

  #footer {
    clear: both;
    position: relative;
    margin: 0 auto;
    padding: 30px 0 80px;
    color: #fff;
  }

  /* =============================================================================
     ヘッダー
     ========================================================================== */
  .box_header_logo {
    margin: 0 auto;
    width: 60%;
    padding: 20px 10px;
  }

  .box_header_text {
    width: 100%;
    padding: 20px 10px;
  }

  #logo {
    text-align: center;
    margin: 50px 0 0;
  }
  #logo img {
    width: 100%;
  }

  .h_top {
    text-align: center;
    margin: 0 0 30px;
  }
  .h_top img {
    width: 100%;
  }

  #main h2 {
    text-align: center;
    margin: 40px 0;
  }
  #main h2 img {
    width: 95%;
  }

  .h2_line {
    font-size: 125%;
    height: 60px;
    background: url("../img/bg_h2_line.jpg") repeat-x center;
  }
  .h2_line span {
    /* background: #fbfaf5; */
    background: #ffffff;
    padding: 0 10px;
  }

  /* =============================================================================
     フッター
     ========================================================================== */
  #logo_footer {
    text-align: center;
    margin: 20px 0 10px;
  }
  #logo_footer img {
    width: 200px;
    height: 50px;
  }

  #movetop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 3;
  }
  #movetop a {
    display: block;
    position: relative;
    opacity: 0.8;
    font-size: 150%;
    color: #fff !important;
    background: #ac6b25;
    padding: 20px 22px;
    border-radius: 50px;
    transition: opacity 0.5s ease;
  }
  #movetop:hover {
    opacity: 0.6;
  }

  #movetop_smart {
    display: none;
  }

  /* =============================================================================
     boxerのインライン周り
     ========================================================================== */
  .inline_content {
    width: 700px !important;
  }

  /* =============================================================================
     ボックス
     ========================================================================== */
  .inner_main {
    margin: 0 auto;
    max-width: 1120px;
    overflow: hidden;
  }

  .inner_box {
    margin: 0 0 20px 0;
    border-radius: 0 0 3px 3px;
    border: 1px solid #ac6b25;
    background: #fff;
    overflow: hidden;
  }

  .inner_text {
    padding: 20px;
  }

  .box_100,
  .box_50,
  .box_70,
  .box_30,
  .box_66,
  .box_33,
  .box_pre {
    width: 100%;
    padding: 20px;
  }

  .box_pre {
    float: left;
    text-align: center;
    padding: 0px;
  }

  .image_tn,
  .image_tn_50 {
    margin: 10px auto;
    width: 75%;
  }
  .image_tn img,
  .image_tn_50 img {
    width: 100%;
  }

  /* =============================================================================
     隠す
     ========================================================================== */
  .hide_sp {
    display: none;
  }

  /* =============================================================================
     ギャラリー
     ========================================================================== */
  ul.gallery,
  ul.gallery_mini,
  ul.gallery_1 {
    list-style: none;
    width: 100%;
    overflow: hidden;
  }

  ul.gallery li,
  ul.gallery_mini li,
  ul.gallery_1 li {
    float: left;
    width: 50%;
    padding: 10px;
  }

  ul.gallery img,
  ul.gallery_mini img,
  ul.gallery_1 img {
    width: 100%;
  }

  .inline_content {
    color: #000;
  }
  .inline_content img {
    width: 100%;
  }
}
/* =============================================================================
   =============================================================================

   共通

   =============================================================================
   ========================================================================== */
/* =============================================================================
   テキスト
   ========================================================================== */
#header p,
#main p,
#footer p {
  padding: 8px 0;
  word-break: break-all;
  /*text-align: justify;*/
}

.text_left {
  text-align: left !important;
}

.text_center {
  text-align: center !important;
  color: #ac6b25;
}
.text_center.hide_sp{
  text-align: center !important;
  color: #fff;
}
.text_right {
  text-align: right !important;
}

.text_bold {
  font-weight: bold;
}

.text_red {
  color: #f40;
}

.text_green {
  color: #20b602;
}

.text_white {
  padding: 8px 0;
  color: #fff;
}

.text_round {
  font-size: 85%;
  font-weight: bold;
  padding: 2px 5px;
  color: #fff;
  border-radius: 3px;
  background: #5b431d;
}

.text_info {
  text-align: center;
  padding: 5px;
  margin: 10px;
  border-radius: 2px;
  background: #f40;
  color: #fff;
}

.text_h2 {
  text-align: center;
  margin: 20px 0;
  font-size: 200%;
}

.blank10 {
  margin-top: 10px !important;
}

.blank20 {
  margin-top: 20px !important;
}

.blank30 {
  margin-top: 30px !important;
}

.blank40 {
  margin-top: 40px !important;
}

.blank_side {
  margin-bottom: 20px;
}

.size_xs {
  font-size: 60%;
}

.size_s {
  font-size: 77%;
}

.size_l {
  font-size: 123.1%;
}

.size_xl {
  font-size: 153.9%;
}

.circle_blue {
  font-size: 60%;
  display: inline-block;
  border: 1px solid #88f;
  border-radius: 3px;
  padding: 0 5px;
  margin: 3px;
  color: #44c;
}

.circle_red {
  font-size: 60%;
  display: inline-block;
  border: 1px solid #f88;
  border-radius: 3px;
  padding: 0 5px;
  margin: 3px;
  color: #c44;
}

.box_pre img {
  position: relative;
  padding: 5px;
  box-shadow: 0px 1px 3px #bbb;
  border-radius: 3px;
  transition: opacity 0.5s ease;
  background: #fff;
}
.box_pre a {
  color: #000 !important;
}

.clear {
  clear: both;
}

.map {
  width: 100%;
  height: 300px;
  margin: 20px 0 10px;
}

.hidden {
  display: none;
}

.eventended {
  display: inline-block;
  position: absolute;
  top: 20px;
  right: 20px;
  height: 50px;
  width: 50px;
  line-height: 35px;
  color: #fff;
  font-weight: bold;
  background: #752;
  border-radius: 50px;
  text-align: center;
}

/* =============================================================================
   ヘッダー
   ========================================================================== */
#main h3 {
  padding: 20px;
  background: #ac6b25;
  font-size: 125%;
  color: #fff;
}

.h3_eventended {
  padding: 20px 80px 10px 20px !important;
}

#main h4 {
  clear: both;
  color: #ac6b25;
  padding: 30px 0 10px;
  font-size: 125%;
}




.day {
  background: rgba(220, 210, 130, 0.6);
  padding: 8px 20px !important;
  font-size: 100%;
  font-weight: bold;
  line-height: 1.5;
  color: #631;
}

/* =============================================================================
   アンカー
   ========================================================================== */
#content a {
  color: #f40;
  text-decoration: none;
}
#content a:visit {
  color: #f40;
}
#content a:hover {
  color: #f40;
  text-decoration: none;
}
#content a:active {
  color: #f40;
  text-decoration: none;
}

a:hover img {
  position: relative;
  top: 1px;
}

a.boxer:hover i {
  bottom: 3px;
}

.button_link {
  text-align: center;
}
.button_link a {
  display: inline-block;
}
.button_link a,
.button_link p {
  font-weight: bold;
  background: #fff;
  border: 1px solid #ac6b25;
  border-radius: 3px;
  padding: 20px 30px;
  color: #ac6b25 !important;
}
.button_link a:hover,
.button_link p:hover {
  background: #ac6b25;
  border: 1px solid #ac6b25;
  color: #fff !important;
}

@media (max-width: 767px) {
  .button_link p {
    margin: 20px !important;
  }
}
#header .button_link p {
  margin: 20px 0;
}

.button_photo {
  width: 10em;
  margin: 0 auto;
}

#footer p a {
  display: inline-block;
  border: 1px solid #fff;
  border-radius: 3px;
  margin: 15px;
  padding: 10px 20px;
  color: #fff;
  text-decoration: none;
}
#footer p a:hover {
  background: #9f7f29;
  border: 1px solid #9f7f29;
  color: #f8ff8f;
}
p.text_center.hide_pc.hide_tb{
  color: #fff;
}

/* =============================================================================
   画像フレーム・拡大画像周り
   ========================================================================== */
.frame {
  position: relative;
  padding: 5px;
  box-shadow: 0px 1px 3px #bbb;
  border-radius: 3px;
  transition: opacity 0.5s ease;
  background: #fff;
}

.boxer img {
  padding: 5px;
}

.boxer:hover .frame {
  box-shadow: 0px 1px 6px #fb7;
  opacity: 0.7;
}

a[href$=".jpg"].boxer {
  position: relative;
  display: inline-block;
  width: 100%;
  height: auto;
}

a.boxer {
  text-decoration: none !important;
}

.button_link .image_tn {
  position: relative;
  padding: 10px !important;
  margin: 20px auto !important;
}

.fa-search-plus {
  bottom: 4px;
  right: 4px;
  position: absolute;
  background: #fff;
  border-radius: 5px 0 0 0;
  padding: 9px;
}

.fa-search-plus:before {
  font-size: 125%;
  color: #f80;
}

.fa-angle-double-down {
  bottom: 10px;
  right: 10px;
  position: absolute;
  background: #f80;
  border-radius: 5px 0 0 0;
  padding: 9px 12px;
}

.fa-angle-double-down:before {
  font-size: 125%;
  color: #fff;
}

/* =============================================================================
   画像サイズ
   ========================================================================== */
.size_100 {
  width: 100% !important;
}

.size_90 {
  width: 90% !important;
}

.size_80 {
  width: 80% !important;
}

.size_70 {
  width: 70% !important;
}

.size_60 {
  width: 60% !important;
}

.size_50 {
  width: 50% !important;
}

.size_40 {
  width: 40% !important;
}

.size_30 {
  width: 30% !important;
}

.size_20 {
  width: 20% !important;
}

.size_10 {
  width: 10% !important;
}

/* =============================================================================
   ボックス
   ========================================================================== */
.inner_box {
  position: relative;
}

/* =============================================================================
   Font Awesome Iconsの設定 
   ========================================================================== */
.fa-external-link {
  color: #f80;
  padding: 0 5px;
}

.fa-file-pdf-o {
  color: #f40;
  padding: 0 5px;
}

.circle_fa {
  display: inline-block;
  padding: 8px 10px;
  background: #f82;
  color: #fff;
  border-radius: 10px;
  margin: 10px;
}

/* =============================================================================
   グローバルナビの固定・ページトップボタン
   ========================================================================== */
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 77%;
  z-index: 1;
}
#page-top a {
  background: #666;
  text-decoration: none;
  color: #fff;
  width: 100px;
  padding: 30px 0;
  text-align: center;
  display: block;
  border-radius: 5px;
}
#page-top:hover {
  text-decoration: none;
  background: #999;
}

/* =============================================================================
   Youtube埋め込み
   ========================================================================== */
.box_youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.box_youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* =============================================================================
   boxer
   ========================================================================== */
.boxer-control {
  display: none !important;
}

#boxer.mobile .boxer-close, #boxer.mobile .boxer-close:hover {
  top: 0 !important;
  right: 0 !important;
}

#boxer.mobile .boxer-close, #boxer.mobile .boxer-close:hover {
  height: 20px !important;
  width: 20px !important;
}

#boxer.mobile .boxer-close:before, #boxer.mobile .boxer-close:hover:before {
  font-size: 20px !important;
}

/*# sourceMappingURL=default_fixed.css.map */


/* 20250829 */
/* --- accordion layout fix in header --- */
#header .hidden { 
  overflow: auto;           /* 内部floatを親で包む（BFCを作る） */
}

#header .button_link.ac { 
  clear: both !important;   /* 前のパネルのfloatの横に回り込ませない */
}

/* 念のためのclearfix（overflow:autoで足りるが保険） */
#header .hidden::after {
  content: "";
  display: block;
  clear: both;
}

#header #ts10 h4 {
  clear: both;
  color: #ac6b25;
  padding: 30px 0 10px;
  font-size: 125%;
}

#header #ts10 h5 {
  clear: both;
  color: #ac6b25;
  padding: 0px 0 10px;
  font-size: 100%;
}

/* 「これまでの作品」ブロックだけ */
.h2_line + .inner_main{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;               /* カード間のすき間 */
}

/* カード幅（PC=4列） */
.h2_line + .inner_main .box_pre{
  float: none;             /* 既存floatを無効化 */
  flex: 0 0 calc(25% - 20px);
}

/* 600–767px=2列 */
@media (min-width:600px) and (max-width:767px){
  .h2_line + .inner_main .box_pre{
    flex: 0 0 calc(50% - 20px);
  }
}

/* ～599px=1列 */
@media (max-width:599px){
  .h2_line + .inner_main .box_pre{
    flex: 0 0 100%;
  }
}

/* グリッド親（h2直下の一覧を包む要素）に付けてください */
.inner_main .box_pre {               /* カード要素 */
  display: inline-block;
  vertical-align: top;               /* ← baselineの段差を解消 */
}

/* サムネイル画像の行間ギャップを除去＆高さ安定 */
.box_pre .image_tn img,
.box_pre img.frame {
  display: block;                    /* 画像下の余白(ベースライン隙間)を消す */
  width: 100%;
  height: auto;                      /* ひとまず崩れ防止。可能なら次のaspect-ratio推奨 */
  /* 可能ならサムネイルを正方形トリミング */
  aspect-ratio: 1 / 1;               /* 対応ブラウザならこれで正方形を維持 */
  object-fit: cover;                 /* 元画像が長方形でも綺麗に収まる */
}

.releases-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); /* カード幅の最小/最大 */
  gap: 36px 40px;                 /* 行間 / 列間 */
  align-items: start;              /* 常に上揃え */
}

.box_pre { display:inline-block; vertical-align:top; }
.box_pre .image_tn img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }


/* Previous Releases を必ず grid にする（flex の汎用ルールを無効化） */
#previous-releases {
  display: grid !important; /* 競合が激しいので保険で !important */
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 28px 36px;
  align-items: start;
}

/* 旧レイアウトの名残をリセット（縮む原因を除去） */
#previous-releases .box_pre {
  width: auto !important;        /* 古い width 指定を殺す */
  flex: initial !important;      /* flex 子だった名残を無効化 */
  margin: 0;                     /* 余白は gap で管理 */
}

#previous-releases .box_pre > a {
  display: block;                /* クリック領域をカード全体に */
}

#previous-releases .image_tn {
  aspect-ratio: 1 / 1;           /* サムネを正方形で安定 */
  overflow: hidden;
}

#previous-releases .image_tn img,
#previous-releases img.frame {
  width: 100% !important;        /* 画像が小さくなるのを防ぐ */
  height: 100%;
  object-fit: cover;             /* トリミングして均一表示 */
  display: block;
}

.tenyears{
    padding: 0;
    box-shadow: 0px 0px 0px #fff;

}

