@charset "UTF-8";
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  color: #333;
  background: #fff;
  font-size: clamp(14px, 1.67vw, 16px);
  font-family: "Helvetica", "ヒラギノ角ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%; /*スマホ横画面で文字の拡大・収縮防止用*/
  -webkit-font-smoothing: antialiased; /* 文字の太さを整える。Safari環境用 */
}

img {
  width: 100%;
  vertical-align: top;
}

a {
  text-decoration: none;
  color: inherit;
}

h2,
h3,
h4,
h5,
h6 {
  line-height: 1.25;
  margin-bottom: 0.5em;
}

p {
  margin-bottom: 0.5em;
}

/*-----------------------------------------------------------------------------------
共通のボタン
-----------------------------------------------------------------------------------*/
/* 角丸ボタン */
.Button {
  border-radius: 2px;
  /* カラー/フォント = 設置先 で設定 */
  /* 
   <div class="設置先">
      <div class="Button">
          <a href="#" class="Button__inner"><span class="Button__icon"></span>サンプル</a>
          <a href="#" class="Button__inner Button__inner--large"><span class="Button__icon"></span>サンプル</a>
      </div>
  </div>
  */
}
.Button__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1em 0.5em;
}
.Button__inner--large {
  padding: 1.5em;
}
.Button__icon {
  width: 1.5em;
  background: url(../img/icon_mail.svg) center no-repeat;
  background-size: cover;
}
@media (min-width: 1026px) {
  .Button:hover {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
    z-index: 1;
  }
  .Button:hover::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid;
    border-radius: 2px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
  }
}

/*-----------------------------------------------------------------------------------
文字・微調整
-----------------------------------------------------------------------------------*/
/* 改行 */
.Br {
  display: inline-block;
}

/* 行間あける */
.Space {
  display: block;
  margin-bottom: 0.5em;
}

/* サイズ */
.Small {
  font-size: 0.6em;
}

.Semi-small {
  font-size: 0.8em;
}

.Large {
  font-size: 1.25em;
}

/* 強調 */
.Bold {
  font-size: 1.1em;
  font-weight: 600;
}

.Emphasis {
  color: #7e3538;
  font-weight: 600;
}

/*-----------------------------------------------------------------------------------
wrapper
-----------------------------------------------------------------------------------*/
.wrapper {
  width: 100%;
  min-width: 320px;
  overflow: hidden; /* 余白対策 */
}

/*-----------------------------------------------------------------------------------
header
-----------------------------------------------------------------------------------*/
header {
  width: 100%;
  font-size: 14px;
  line-height: 1.25;
  -webkit-box-shadow: 0px 10px 35px -20px rgba(51, 51, 51, 0.15);
          box-shadow: 0px 10px 35px -20px rgba(51, 51, 51, 0.15);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.header-inner {
  display: grid;
  grid-template-columns: repeat(1, 1fr 180px);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 24px;
  border-top: 4px solid #7e3538;
  color: #333;
  background: #fff;
}
@media (max-width: 1025px) {
  .header-inner {
    height: 64px;
    grid-template-columns: repeat(1, 1fr 32px);
    padding: 0 16px;
  }
}

.header-logo {
  width: min(80%, 300px);
  padding: 16px 0;
}
.header-logo a {
  display: block;
}
@media (max-width: 1025px) {
  .header-logo {
    padding: 0;
  }
}

.company-logo a {
  display: block;
  width: min(100%, 120px);
  margin: 0 auto;
}
@media (max-width: 1025px) {
  .company-logo {
    display: none;
  }
}

.header-nav__pc {
  display: grid;
  grid-template: 6em/repeat(5, minmax(80px, 160px));
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1em;
  font-size: clamp(10px, 1vw, 12px);
}
.header-nav__pc > li {
  display: block;
  height: 100%;
  font-weight: 600;
  text-align: center;
}
.header-nav__pc > li > a,
.header-nav__pc > li > label {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
@media (min-width: 1026px) {
  .header-nav__pc > li:hover {
    color: #fff;
    background: #7e3538;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media (max-width: 1025px) {
  .header-nav__pc {
    display: none;
  }
}
.header-nav__sp {
  display: none;
}
@media (max-width: 1025px) {
  .header-nav__sp {
    display: block;
  }
}

/* ドロップダウンメニュー
.header-nav > .header-nav__pc > li
*/
.dropdown__trigger {
  display: none;
}
.dropdown__contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  width: 100vw;
  padding: 32px 40px;
  color: #fff;
  background: rgba(126, 53, 56, 0.95);
  text-shadow: 2px 2px 1px rgba(51, 51, 51, 0.15);
  -webkit-box-shadow: 0px 10px 35px -20px rgba(51, 51, 51, 0.15);
          box-shadow: 0px 10px 35px -20px rgba(51, 51, 51, 0.15);
  position: absolute;
  top: -100vw;
  left: 0;
  z-index: -10;
}
.dropdown__close {
  display: block;
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.dropdown__c-ttl {
  font-size: 24px;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
@media (min-width: 1026px) {
  .dropdown__c-ttl:hover {
    background: rgba(255, 255, 255, 0.4);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}
.dropdown__c-list {
  list-style: none;
  padding-left: 32px;
  border-left: 1px solid;
  position: relative;
  z-index: 1;
}
.dropdown__c-list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1em 0;
  gap: 0 1.5em;
  text-align: left;
}
.dropdown__c-list li::after {
  content: ">";
}
@media (min-width: 1026px) {
  .dropdown__c-list li:hover {
    background: rgba(255, 255, 255, 0.4);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}
.dropdown input[type=checkbox]:checked ~ .dropdown__contents {
  top: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.header-btn {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
  font-size: 14px;
  font-weight: 600;
}
.header-btn .Button {
  color: #fff;
  background: #7e3538;
}
@media (min-width: 1026px) {
  .header-btn .Button:hover {
    color: #7e3538;
    background: initial;
  }
  .header-btn .Button:hover .Button__icon {
    background: url(../img/icon_mail_red.svg) center no-repeat;
    background-size: cover;
  }
}
@media (max-width: 1025px) {
  .header-btn {
    display: none;
  }
}

/* ハンバーガーメニュー
.header-nav > .header-nav__sp
*/
.hamburger {
  position: relative;
  z-index: 0;
  cursor: pointer;
}
.hamburger__trigger {
  display: none;
}
.hamburger__icon {
  display: block;
  width: 32px;
  height: 32px;
  position: relative;
  z-index: 100;
}
.hamburger__icon::before, .hamburger__icon::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: #333;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.hamburger__icon::before {
  top: 10px;
}
.hamburger__icon::after {
  bottom: 10px;
}
.hamburger input[type=checkbox]:checked ~ .hamburger__icon::before, .hamburger input[type=checkbox]:checked ~ .hamburger__icon::after {
  background: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.hamburger input[type=checkbox]:checked ~ .hamburger__icon::before {
  top: 50%;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}
.hamburger input[type=checkbox]:checked ~ .hamburger__icon::after {
  bottom: auto;
  top: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}
.hamburger__contents {
  display: block;
  width: 100%;
  padding: 64px 0 40px;
  background: rgba(126, 53, 56, 0.95);
  text-shadow: 2px 2px 1px rgba(51, 51, 51, 0.15);
  -webkit-box-shadow: 0px 10px 35px -20px rgba(51, 51, 51, 0.15);
          box-shadow: 0px 10px 35px -20px rgba(51, 51, 51, 0.15);
  position: fixed;
  top: 0;
  left: -400vw;
  z-index: 99;
}
.hamburger__contents .Sp-nav {
  /* 『共通・コンテンツ幅』*/
  width: min(calc(100% - 48px), 960px);
  margin: 0 auto;
}
@media (max-width: 1025px) {
  .hamburger__contents .Sp-nav {
    width: min(calc(100% - 32px), 960px);
  }
}
.hamburger input[type=checkbox]:checked ~ .hamburger__contents {
  left: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/* SP・TABナビ （header・footer共通）
.hamburger__contents > ul
.footer-nav > .footer-nav__sp
*/
.Sp-nav {
  list-style: none;
  color: #fff;
}
.Sp-nav li {
  display: block;
  font-size: 16px;
  font-weight: 500;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}
@media (max-width: 640px) {
  .Sp-nav li {
    font-size: 14px;
  }
}
.Sp-nav li:first-of-type {
  border-top: 1px solid rgba(255, 255, 255, 0.6);
}
.Sp-nav li > a {
  display: block;
  padding: 1em 0;
}
.Sp-nav li > a:nth-of-type(n + 2) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
  padding: 0.5em 0;
  padding-left: 1em;
  font-size: 0.875em;
}
.Sp-nav li > a:nth-of-type(n + 2)::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1px;
  background: #fff;
}
.Sp-nav li > a:last-of-type {
  padding-bottom: 1em;
}
.Sp-nav-contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
  padding: 1.5em 0;
}
.Sp-nav-contact::before {
  content: "";
  display: block;
  width: 1.5em;
  background: url(../img/icon_mail.svg) center no-repeat;
  background-size: cover;
}
.Sp-nav-logo {
  width: 80px;
  margin-bottom: 1em;
}
.Sp-nav-logo a {
  display: block;
}

/*-----------------------------------------------------------------------------------
footer
-----------------------------------------------------------------------------------*/
footer {
  font-size: 14px;
  line-height: 1.25;
  -webkit-box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
          box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
}

.footer-top {
  padding: 40px 0;
  color: #fff;
  background: #0e6191;
}
.footer-top__inner {
  /* 『共通・コンテンツ幅』*/
  width: min(calc(100% - 48px), 960px);
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1025px) {
  .footer-top__inner {
    width: min(calc(100% - 32px), 960px);
  }
}

.footer-top-btn {
  width: 240px;
}
.footer-top-btn .Button {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  background: #fff;
}
@media (min-width: 1026px) {
  .footer-top-btn .Button:hover {
    background: initial;
    color: #fff;
  }
}

.footer-top-ttl {
  font-size: 32px;
}
.footer-top-ttl__main {
  font-family: "Montserrat", sans-serif;
  font-style: italic;
  letter-spacing: 0;
  font-weight: 700;
}
.footer-top-ttl__icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(../img/icon_mail.svg) no-repeat;
  background-size: cover;
}
.footer-top-ttl__sub {
  display: block;
  font-size: 0.4375em;
  font-weight: 400;
}

.back-to-top {
  background: #f5f5f5;
  text-align: center;
}
.back-to-top > a {
  display: block;
  width: 100%;
  padding: 22px 0;
}
@media (max-width: 640px) {
  .back-to-top > a {
    padding: 12px 0;
  }
}
.back-to-top > a > img {
  display: inline-block;
  width: 18px;
}
@media (min-width: 1026px) {
  .back-to-top:hover {
    background: #fff;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .back-to-top:hover img {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}

.footer-bottom {
  padding: 32px 0;
  color: #fff;
  background: #7e3538;
}
.footer-bottom__inner {
  /* 『共通・コンテンツ幅』*/
  width: min(calc(100% - 48px), 960px);
  margin: 0 auto;
}
@media (max-width: 1025px) {
  .footer-bottom__inner {
    width: min(calc(100% - 32px), 960px);
  }
}
.footer-bottom__top {
  margin-bottom: 32px;
}
@media (max-width: 1025px) {
  .footer-bottom__top {
    margin-bottom: 16px;
  }
}
.footer-bottom__bottom {
  list-style: none;
}
.footer-bottom__bottom li {
  margin-bottom: 16px;
}
@media (min-width: 1026px) {
  .footer-bottom__bottom li:hover {
    background: rgba(255, 255, 255, 0.4);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}

.footer-nav__pc {
  display: grid;
  grid-template: auto/repeat(4, 1fr);
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 32px;
}
@media (max-width: 1025px) {
  .footer-nav__pc {
    display: none;
  }
}
.footer-nav__pc-item {
  width: min(100%, 200px);
  font-size: 13px;
}
.footer-nav__pc-item > dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 88px;
  font-size: 1.2307692308em;
  font-weight: 600;
  border-bottom: 1px solid;
}
.footer-nav__pc-item > dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1em 0;
}
.footer-nav__pc-item > dd::after {
  content: ">";
}
.footer-nav__pc-item > dd a {
  display: block;
  width: 100%;
}
@media (min-width: 1026px) {
  .footer-nav__pc-item > dt:hover,
.footer-nav__pc-item > dd:hover {
    background: rgba(255, 255, 255, 0.4);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}
.footer-nav__sp {
  display: none;
}
@media (max-width: 1025px) {
  .footer-nav__sp {
    display: block;
  }
}

.footer-logo {
  width: 120px;
}
.footer-logo a {
  display: block;
}

.footer-icon {
  width: 32px;
}
.footer-icon a {
  display: block;
}

.copy-right {
  font-size: 0.8571em;
}

/*-----------------------------------------------------------------------------------
main
-----------------------------------------------------------------------------------*/
main {
  line-height: 1.75;
}
main h2 {
  font-size: clamp(24px, 3.33vw, 32px);
  text-align: center;
}
main h3 {
  font-size: clamp(20px, 2.5vw, 24px);
  text-align: center;
}

/*-----------------------------------------------------------------------------------
main > 共通パーツ
-----------------------------------------------------------------------------------*/
/* 囲み */
.Kakomi {
  padding: 32px 40px;
  border: 1px solid rgba(112, 112, 112, 0.3);
  border-radius: 5px;
  background: #fff;
  -webkit-box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
          box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
}
@media (max-width: 1025px) {
  .Kakomi {
    padding: 24px 32px;
  }
}
@media (max-width: 640px) {
  .Kakomi {
    padding: 24px;
  }
}
.Kakomi__list {
  width: min(100%, 760px);
  margin: 0 auto;
}

/* 囲み（2分割） */
.Kakomi-tow {
  -webkit-box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
          box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
  /* 
   <div class="Kakomi-tow">
      <div class="Kakomi-tow__head">
          サンプルタイトル（大）
      </div>
      <ul class="Kakomi-tow__contents">
          <li>

          </li>
      </ul>
  </div>
  */
}
.Kakomi-tow__head {
  padding: 1em 0.5em;
  font-size: clamp(17px, 2.08vw, 20px);
  font-weight: 600;
  text-align: center;
  line-height: 1.25;
  color: #fff;
  background: #7e3538;
  border-radius: 5px 5px 0 0;
}
.Kakomi-tow__contents {
  padding: 32px 40px;
  border: 1px solid rgba(112, 112, 112, 0.3);
  border-top: 0;
  list-style: none;
  background: #fff;
  border-radius: 0 0 5px 5px;
}
@media (max-width: 1025px) {
  .Kakomi-tow__contents {
    padding: 24px 32px;
  }
}
@media (max-width: 640px) {
  .Kakomi-tow__contents {
    padding: 16px 24px;
  }
}
.Kakomi-tow__contents li {
  width: min(100%, 760px);
  padding: 1em 0;
  margin: 0 auto;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
}
.Kakomi-tow__contents li:first-of-type {
  padding-top: 0;
}
.Kakomi-tow__contents li:last-of-type {
  border-bottom: 0;
}

/* 文字横・四角 */
.Mozi-sikaku {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.5em;
  line-height: 1.25em;
}
.Mozi-sikaku::before {
  content: "";
  display: block;
  width: 0.5em;
  min-height: 1em;
  background: #7e3538;
}
@media (min-width: 1026px) {
  .Mozi-sikaku__link:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media (max-width: 1025px) {
  .Mozi-sikaku__link {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}

/* タイトル */
.Title-line {
  display: block;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  border-bottom: 1px solid;
}

/* タイトル（2分割） */
.Title-two {
  display: inline-block;
  padding: 0.5em 1em;
  border-radius: 5px;
  background: #fff;
  -webkit-box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
          box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
}
.Title-two--hull {
  display: block;
  padding: 0.5em 0;
  background: initial;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.Title-two__head {
  display: block;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  border-bottom: 1px solid;
  font-size: 0.8em;
  color: #7e3538;
}

/* 書類・ダウンロード */
.Download-pdf {
  display: block;
  /*    
  <div class="Download-pdf">
      <a href="./pdf/" download=""><img src="./img/" alt=""><span>pdfファイル（00MB）</span></a>
  </div>
  */
}
.Download-pdf a {
  display: inline-block;
  color: #0e6191;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.Download-pdf a img {
  max-width: 120px;
}
.Download-pdf a span:not(Br) {
  display: block;
}
@media (min-width: 1026px) {
  .Download-pdf a:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}

/* 動画 */
.Movie {
  position: relative;
  width: 100%;
  padding-top: 61.8%;
}
.Movie iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*-----------------------------------------------------------------------------------
TOPページ
-----------------------------------------------------------------------------------*/
/* 全体設定 */
.top {
  background: #f5f5f5;
  padding-bottom: 80px;
}
@media (max-width: 640px) {
  .top {
    padding-bottom: 64px;
  }
}
.top section {
  /* 『共通・コンテンツ幅』*/
  width: min(calc(100% - 48px), 960px);
  margin: 0 auto;
  position: relative;
  z-index: 0;
}
@media (max-width: 1025px) {
  .top section {
    width: min(calc(100% - 32px), 960px);
  }
}
.top section::before {
  content: "";
  display: block;
  width: 200vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}

/*-----------------------------------------------------------------------------------
TOPページ > メインビジュアル
-----------------------------------------------------------------------------------*/
.top-mv {
  width: max(320px, 100vw);
  padding-top: min(25vw,480px);
  color: #fff;
  background: #7e3538;
  position: relative;
}
@media (max-width: 1025px) {
  .top-mv {
    padding-top: min(46.829268292682927vw,480px);
  }
}
.top-mv__slider-wrap {
  width: max(384px, 120vw);
  padding-top: min(22.916666666666667vw,440px);
  border-radius: 0 0 100% 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 1025px) {
  .top-mv__slider-wrap {
    padding-top: min(42.926829268292683vw,440px);
  }
}
.top-mv__text {
  /* 『共通・コンテンツ幅』*/
  width: min(calc(100% - 48px), 960px);
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (max-width: 1025px) {
  .top-mv__text {
    width: min(calc(100% - 32px), 960px);
  }
}
.top-mv__text p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(20px, 4.17vw, 40px);
  line-height: 1.25;
  text-shadow: 2px 2px 1px rgba(51, 51, 51, 0.15);
}

/*-----------------------------------------------------------------------------------
TOPページ > メインビジュアル > スライダー
-----------------------------------------------------------------------------------*/
/* 全体設定 */
.css-carousel-slider4 {
  width: 100vw;
  width: max(320px, 100vw);
  padding-top: min(25vw,480px);
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 1025px) {
  .css-carousel-slider4 {
    padding-top: min(46.829268292682927vw,480px);
  }
}

/* スライド設定 */
.slide-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: max(1280px, 400vw);
  -webkit-animation: css-carousel-slider4 15s infinite;
          animation: css-carousel-slider4 15s infinite;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

/* スライド設定(繋ぎ) */
.slide-wrap-main {
  width: max(320px, 100vw);
  -webkit-animation: css-carousel-slider-main4 15s infinite;
          animation: css-carousel-slider-main4 15s infinite;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

/* スライド内の写真 */
.top-slide {
  display: block;
  width: max(320px, 100vw);
  padding-top: min(25vw,480px);
  background: url(../images/top_mv_01.jpg) center no-repeat;
  background-size: cover;
}
@media (max-width: 1025px) {
  .top-slide {
    padding-top: min(46.829268292682927vw,480px);
    background: url(../images/top_mv_01_tab.jpg) center no-repeat;
    background-size: cover;
  }
}
.top-slide--02 {
  background: url(../images/top_mv_02.jpg) center no-repeat;
  background-size: cover;
}
@media (max-width: 1025px) {
  .top-slide--02 {
    background: url(../images/top_mv_02_tab.jpg) center no-repeat;
    background-size: cover;
  }
}
.top-slide--03 {
  background: url(../images/top_mv_03.jpg) center no-repeat;
  background-size: cover;
}
@media (max-width: 1025px) {
  .top-slide--03 {
    background: url(../images/top_mv_03_tab.jpg) center no-repeat;
    background-size: cover;
  }
}
.top-slide--04 {
  background: url(../images/top_mv_04.jpg) center no-repeat;
  background-size: cover;
}
@media (max-width: 1025px) {
  .top-slide--04 {
    background: url(../images/top_mv_04_tab.jpg) center no-repeat;
    background-size: cover;
  }
}

/* スライダーアニメーションの設定 */
@-webkit-keyframes css-carousel-slider4 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  20% {
    -webkit-transform: translateX(-25%);
            transform: translateX(-25%);
  }
  25% {
    -webkit-transform: translateX(-25%);
            transform: translateX(-25%);
  }
  45% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  50% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  70% {
    -webkit-transform: translateX(-75%);
            transform: translateX(-75%);
  }
  75% {
    -webkit-transform: translateX(-75%);
            transform: translateX(-75%);
  }
  95% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes css-carousel-slider4 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  20% {
    -webkit-transform: translateX(-25%);
            transform: translateX(-25%);
  }
  25% {
    -webkit-transform: translateX(-25%);
            transform: translateX(-25%);
  }
  45% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  50% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  70% {
    -webkit-transform: translateX(-75%);
            transform: translateX(-75%);
  }
  75% {
    -webkit-transform: translateX(-75%);
            transform: translateX(-75%);
  }
  95% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes css-carousel-slider-main4 {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  75% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  95% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@keyframes css-carousel-slider-main4 {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  75% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  95% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
/*-----------------------------------------------------------------------------------
TOPページ > イントロ
-----------------------------------------------------------------------------------*/
.intro-top {
  /* 『共通・余白』*/
  padding: 64px 0 80px;
}
@media (max-width: 640px) {
  .intro-top {
    padding: 48px 0 64px;
  }
}
.intro-top::before {
  display: none;
}
.intro-top__ttl {
  margin-bottom: 64px;
  font-family: "Montserrat", sans-serif;
  font-style: italic;
  letter-spacing: 0;
  font-weight: 800;
  text-align: center;
}
.intro-top__ttl-inner {
  display: inline-block;
  padding: 0.5em 0;
  color: #7e3538;
  border-top: 1px solid;
  border-bottom: 1px solid;
}
.intro-top p {
  margin-top: 32px;
  font-size: clamp(16px, 1.88vw, 18px);
  text-align: justify;
}

.intro-bottom {
  /* 『共通・余白』*/
  padding: 64px 0 80px;
}
@media (max-width: 640px) {
  .intro-bottom {
    padding: 48px 0 64px;
  }
}
.intro-bottom::before {
  background: url(../img/pattern_dot_8.png) repeat, #fff;
}
.intro-bottom h3 {
  text-shadow: 2px 2px 1px rgba(252, 252, 252, 0.2);
}
.intro-bottom-Kakomi-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
  list-style: none;
}
@media (max-width: 1025px) {
  .intro-bottom-Kakomi-list {
    gap: 16px;
  }
}
.intro-bottom-Kakomi-list li {
  width: calc((100% - 64px) / 3);
}
@media (max-width: 1025px) {
  .intro-bottom-Kakomi-list li {
    width: min(100%, 240px);
  }
}
@media (min-width: 1026px) {
  .intro-bottom-Kakomi-list li:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}

/*-----------------------------------------------------------------------------------
お知らせ
-----------------------------------------------------------------------------------*/
/* タイトル（共通） */
.News-title {
  font-size: clamp(32px, 4.17vw, 40px);
  text-align: center;
  text-shadow: 2px 2px 1px rgba(252, 252, 252, 0.2);
}
.News-title__main {
  display: block;
  padding-top: 0.6em;
  font-family: "Montserrat", sans-serif;
  font-style: italic;
  letter-spacing: 0;
  font-weight: 800;
  position: relative;
}
.News-title__main::before {
  content: "";
  display: block;
  width: 1em;
  height: 4px;
  background: #7e3538;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.News-title__sub {
  display: block;
  font-size: 0.35em;
  font-weight: 400;
  margin-top: 1em;
}

/* コンテンツ（共通） */
.News-contents {
  display: grid;
  grid-template: auto/repeat(1, 280px 1fr);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  line-height: 1.5;
  border-top: 1px solid rgba(112, 112, 112, 0.5);
}
@media (max-width: 640px) {
  .News-contents {
    grid-template: auto/1fr;
  }
}
.News-contents dt,
.News-contents dd {
  height: 100%;
  padding: 16px;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
}
@media (min-width: 1026px) {
  .News-contents dt a:hover,
.News-contents dd a:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media (max-width: 1025px) {
  .News-contents dt a,
.News-contents dd a {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
@media (max-width: 640px) {
  .News-contents dt {
    padding-bottom: 0;
    border-bottom: none;
  }
}
.News-contents__deta, .News-contents__cat {
  display: inline-block;
}
.News-contents__deta {
  width: 10ch;
  font-family: "Montserrat", sans-serif;
  font-style: italic;
  letter-spacing: 0;
  font-size: 0.875em;
  font-weight: 700;
}
.News-contents__cat {
  min-width: 120px;
  color: #7e3538;
  font-size: 0.75em;
  padding: 0.25em 0.5em;
  text-align: center;
  border: 1px solid;
}

/*-----------------------------------------------------------------------------------
TOPページ > お知らせ
-----------------------------------------------------------------------------------*/
.top-news {
  /* 『共通・余白』*/
  padding: 64px 0 80px;
}
@media (max-width: 640px) {
  .top-news {
    padding: 48px 0 64px;
  }
}
.top-news::before {
  background: #fff;
}
.top-news__contents {
  margin: 40px 0;
}
.top-news__btn {
  width: min(50%, 200px);
  margin: 0 auto;
}
.top-news__btn .Button {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  background: #7e3538;
}
@media (min-width: 1026px) {
  .top-news__btn .Button:hover {
    color: #7e3538;
    background: initial;
  }
}

/*-----------------------------------------------------------------------------------
TOPページ　> アコーディオン 
-----------------------------------------------------------------------------------*/
.Top-accordion {
  display: block;
  width: 100%;
  position: relative;
  z-index: 5;
}
.Top-accordion__trigger {
  display: none;
}
.Top-accordion__head {
  width: min(calc(100% - 80px), 1004px);
  height: 320px;
  margin: 0 auto 16px;
  color: #fff;
  position: relative;
}
@media (max-width: 1025px) {
  .Top-accordion__head {
    width: min(calc(100% - 64px), 1004px);
    height: 240px;
  }
}
@media (max-width: 640px) {
  .Top-accordion__head {
    width: 100%;
    height: 200px;
  }
}
.Top-accordion__head--social-investment {
  background: url(../images/top_accordion_social-investment.jpg) center no-repeat;
  background-size: cover;
}
.Top-accordion__head--apsipa {
  background: url(../images/top_accordion_apsipa.jpg) center no-repeat;
  background-size: cover;
}
.Top-accordion__head--eco-system {
  background: url(../images/top_accordion_eco-system.jpg) center no-repeat;
  background-size: cover;
}
.Top-accordion__head--innovation-link {
  background: url(../images/top_accordion_link.jpg) center no-repeat;
  background-size: cover;
}
.Top-accordion__head::before, .Top-accordion__head::after {
  content: "";
  display: block;
  width: 200vw;
  height: 100%;
  color: #fff;
  background: #7e3538;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.Top-accordion__head::after {
  height: calc(100% - 16px);
  border: 1px solid;
  border-left: 0px;
  border-right: 0px;
}
.Top-accordion__head-inner {
  display: block;
  width: 100%;
  height: calc(100% - 16px);
  border: 1px solid;
  border-left: 0px;
  border-right: 0px;
  position: relative;
  top: 50%;
  z-index: 20;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.Top-accordion__ttl {
  display: block;
  width: 100%;
  text-shadow: 2px 2px 1px rgba(51, 51, 51, 0.15);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
}
.Top-accordion__ttl-main {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-style: italic;
  letter-spacing: 0;
  font-size: clamp(18px, 3.54vw, 34px);
  font-weight: 800;
}
.Top-accordion__ttl-main--large {
  font-size: clamp(20px, 4.17vw, 40px);
}
.Top-accordion__ttl-sub {
  display: block;
  font-size: clamp(10px, 1.46vw, 14px);
  font-weight: 500;
  margin-top: 1em;
}
.Top-accordion__icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 250px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 1025px) {
  .Top-accordion__icon {
    top: 190px;
  }
}
@media (max-width: 640px) {
  .Top-accordion__icon {
    top: 160px;
  }
}
.Top-accordion__icon::before, .Top-accordion__icon::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 4px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
          box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
}
.Top-accordion__icon::after {
  width: 4px;
  height: 100%;
}
.Top-accordion__contents {
  display: none;
}
.Top-accordion input[type=checkbox]:checked ~ .Top-accordion__head {
  margin-bottom: 0;
}
.Top-accordion input[type=checkbox]:checked ~ .Top-accordion__icon::before {
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.Top-accordion input[type=checkbox]:checked ~ .Top-accordion__icon::after {
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.Top-accordion input[type=checkbox]:checked ~ .Top-accordion__contents {
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (min-width: 1026px) {
  .Top-accordion:hover .Top-accordion__icon {
    -webkit-transform: translateX(-50%) scale(1.5);
            transform: translateX(-50%) scale(1.5);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}

/*-----------------------------------------------------------------------------------
TOPページ　> アコーディオン > コンテンツ
-----------------------------------------------------------------------------------*/
/* .Top-accordion__contents > .Top-a-contents */
.Top-a-contents {
  /* 『共通・余白』*/
  padding: 64px 0 80px;
}
@media (max-width: 640px) {
  .Top-a-contents {
    padding: 48px 0 64px;
  }
}
.Top-a-contents p {
  text-align: justify;
}
.Top-a-contents--dot, .Top-a-contents__inner-black {
  position: relative;
  z-index: 0;
}
.Top-a-contents--dot::before, .Top-a-contents__inner-black::before {
  content: "";
  display: block;
  width: 200vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
.Top-a-contents--dot::before {
  background: url(../img/pattern_dot_8.png) repeat, #fff;
}
.Top-a-contents__inner-black {
  padding: 48px 0;
  color: #fff;
}
.Top-a-contents__inner-black::before {
  background: rgba(112, 112, 112, 0.7);
}
.Top-a-contents__item {
  margin-bottom: 32px;
}
@media (max-width: 640px) {
  .Top-a-contents__item {
    margin-bottom: 16px;
  }
}
.Top-a-contents__item-large {
  margin-bottom: 80px;
}
@media (max-width: 640px) {
  .Top-a-contents__item-large {
    margin-bottom: 64px;
  }
}
.Top-a-contents__cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
  list-style: none;
}
.Top-a-contents__cards--03 {
  gap: 16px;
}

/* .Top-accordion__contents > .Top-a-contents__cards > .Top-a-card  */
.Top-a-card {
  width: min(100%, calc((960px - 32px * 4) / 2));
}
.Top-a-card--03 {
  width: min(100%, calc((960px - 32px) / 3));
}
.Top-a-card__caption {
  display: block;
  font-size: clamp(16px, 1.88vw, 18px);
  font-weight: 600;
  text-align: center;
}

/*-----------------------------------------------------------------------------------
TOPページ　> アコーディオン > コンテンツ > 台湾の社会的投資
-----------------------------------------------------------------------------------*/
.social-investment-card {
  /* .Top-accordion__contents > .Top-a-contents__cards > .Top-a-card > a */
  display: block;
  width: 100%;
  padding-top: 100%;
  background: url(../images/top_social-investment_tiia.jpg) no-repeat;
  background-size: cover;
  -webkit-box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
          box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
  position: relative;
}
.social-investment-card--case {
  background: url(../images/top_social-investment_case.jpg) no-repeat;
  background-size: cover;
}
.social-investment-card--workshop {
  background: url(../images/top_social-investment_workshop.jpg) no-repeat;
  background-size: cover;
}
.social-investment-card__head, .social-investment-card__foot {
  display: block;
  width: 100%;
  font-size: clamp(12px, 1.67vw, 16px);
  font-weight: 500;
  position: absolute;
  left: 0;
}
.social-investment-card__head {
  padding: 2em;
  color: #fff;
  font-size: clamp(14px, 1.56vw, 15px);
  line-height: 1.5;
  text-align: center;
  top: calc((100% - 4em) / 2);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.social-investment-card__head-ttl {
  display: block;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  font-size: clamp(1.4em, 6vw, 1.75em);
  font-weight: 700;
  line-height: 1.25;
  border-bottom: 2px solid;
}
.social-investment-card__foot {
  padding: 1.5em 2em;
  text-shadow: 2px 2px 1px rgba(51, 51, 51, 0.15);
  color: #fff;
  background: rgba(126, 53, 56, 0.9);
  bottom: 0;
}
.social-investment-card__foot-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5em;
}
.social-investment-card__foot-inner::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(../img/icon_arrow.svg) no-repeat;
  background-size: cover;
}
@media (min-width: 1026px) {
  .social-investment-card:hover {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}

/*-----------------------------------------------------------------------------------
TOPページ　> アコーディオン > コンテンツ > Asia Pacific Social Innovation Partnership
-----------------------------------------------------------------------------------*/
.apsipa-Kakomi-list {
  display: grid;
  grid-template: auto/repeat(1, auto 1fr);
}
@media (max-width: 1025px) {
  .apsipa-Kakomi-list {
    grid-template: auto/repeat(1, 1fr);
  }
}
.apsipa-Kakomi-list dt,
.apsipa-Kakomi-list dd {
  padding: 0.5em 0;
  line-height: 2.2;
  font-size: clamp(13px, 2vw, 16px);
}
@media (min-width: 1026px) {
  .apsipa-Kakomi-list dt a:hover,
.apsipa-Kakomi-list dd a:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media (max-width: 1025px) {
  .apsipa-Kakomi-list dt a,
.apsipa-Kakomi-list dd a {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
.apsipa-Kakomi-list dt {
  font-weight: 600;
}
@media (max-width: 1025px) {
  .apsipa-Kakomi-list dt {
    padding-bottom: 0;
  }
}
.apsipa-Kakomi-list dd {
  font-weight: 500;
}
.apsipa-Kakomi-t-ttl {
  font-size: 1.125em;
  line-height: 1.25;
  font-weight: 600;
}
.apsipa-Kakomi-t-ttl__sub {
  font-size: 0.7222222222em;
  font-weight: 400;
}
.apsipa-Kakomi-t-link {
  margin-top: 0.5em;
  font-size: 0.875em;
  font-weight: 600;
  color: #7e3538;
}
@media (min-width: 1026px) {
  .apsipa-Kakomi-t-link:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media (max-width: 1025px) {
  .apsipa-Kakomi-t-link {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
.apsipa-Title-line {
  font-size: clamp(18px, 2vw, 22px);
}

/*-----------------------------------------------------------------------------------
TOPページ　> アコーディオン > コンテンツ > アジアの社会イノベーションエコシステム調査研究事業
-----------------------------------------------------------------------------------*/
.eco-system-Kakomi-list {
  display: grid;
  grid-template: auto/repeat(1, 220px 1fr);
}
@media (max-width: 1025px) {
  .eco-system-Kakomi-list {
    grid-template: auto/repeat(1, 1fr);
  }
}
.eco-system-Kakomi-list dt,
.eco-system-Kakomi-list dd {
  padding: 1em 0;
  border-bottom: 1px solid rgba(112, 112, 112, 0.3);
  line-height: 1.25;
}
.eco-system-Kakomi-list dt:last-of-type,
.eco-system-Kakomi-list dd:last-of-type {
  border-bottom: 0;
}
.eco-system-Kakomi-list dt {
  font-weight: 600;
}
@media (max-width: 1025px) {
  .eco-system-Kakomi-list dt {
    padding-bottom: 0;
    border-bottom: 0;
  }
}
.eco-system-Kakomi-list dd {
  font-size: 14px;
}
.eco-system-Kakomi-logo {
  width: 240px;
  margin: 0 auto;
}
.eco-system-Kakomi-logo a {
  display: block;
}
.eco-system-Kakomi-pdf {
  border: 0;
  text-align: center;
  background: #f5f5f5;
}
.eco-system-Kakomi-pdf__Title-two {
  font-size: clamp(15px, 2vw, 20px);
}

/*-----------------------------------------------------------------------------------
TOPページ　> アコーディオン > コンテンツ > アジアにおける社会イノベーション交流プログラム
-----------------------------------------------------------------------------------*/
.innovation-link-Kakomi-list {
  line-height: 1.25;
  list-style-type: none;
}
.innovation-link-Kakomi-list li {
  font-size: clamp(13px, 2vw, 16px);
  padding: 0.5em 0;
  border-bottom: 1px solid rgba(112, 112, 112, 0.3);
}
.innovation-link-Kakomi-list li:last-of-type {
  border-bottom: 0;
}
.innovation-link-card {
  width: min(100%, calc((960px - 32px) / 3));
}

/*-----------------------------------------------------------------------------------
下層ページ > 台湾社会的投資 > TOP
-----------------------------------------------------------------------------------*/
.second-top__mv {
  width: max(100%vw, 320px);
  padding-top: 22.9166666667vw;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1025px) {
  .second-top__mv {
    padding-top: 42.9268292683%;
  }
}
.second-top__mv::before, .second-top__mv::after {
  content: "";
  display: block;
  width: max(120vw, 384px);
  border-radius: 0 0 100% 100%;
  padding-top: 22.9166666667%;
  color: #fff;
  background: #7e3538;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 1025px) {
  .second-top__mv::before, .second-top__mv::after {
    padding-top: 42.9268292683%;
  }
}
.second-top__mv::after {
  padding-top: 20.4166666667%;
  background: url(../images/2nd_mv.jpg) center no-repeat;
  background-size: cover;
}
@media (max-width: 1025px) {
  .second-top__mv::after {
    padding-top: 38.243902439%;
  }
}
.second-top__mv-ttl {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-style: italic;
  letter-spacing: 0;
  font-size: clamp(20px, 4.17vw, 40px);
  font-weight: 800;
  color: #fff;
  text-shadow: 2px 2px 1px rgba(51, 51, 51, 0.15);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
}
.second-top__mv-ttl-sub {
  display: block;
  font-size: clamp(10px, 1.46vw, 14px);
  font-weight: 600;
  margin-top: 1em;
}
@media (max-width: 640px) {
  .second-top__mv-ttl-sub {
    margin-bottom: 0.5em;
  }
}
.second-top__contents {
  /* 『共通・コンテンツ幅』*/
  width: min(calc(100% - 48px), 960px);
  margin: 0 auto;
  /* 『共通・余白』*/
  padding: 64px 0 80px;
}
@media (max-width: 1025px) {
  .second-top__contents {
    width: min(calc(100% - 32px), 960px);
  }
}
@media (max-width: 640px) {
  .second-top__contents {
    padding: 48px 0 64px;
  }
}
.second-top__contents--text p {
  color: #7e3538;
  line-height: 2;
  text-align: justify;
}
.second-top__contents--pdf {
  position: relative;
  z-index: 0;
  text-align: center;
}
.second-top__contents--pdf::before {
  content: "";
  display: block;
  width: 200vw;
  height: 100%;
  background: #f5f5f5;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
.second-top__contents--pdf .Kakomi {
  display: inline-block;
}
.second-top__contents--pdf .Title-two {
  font-size: 20px;
}

/*-----------------------------------------------------------------------------------
下層ページ > 台湾社会的投資 > ナビゲーション
-----------------------------------------------------------------------------------*/
.second-nav {
  padding: 24px 0;
  line-height: 1.25;
  font-weight: 600;
  color: #fff;
  background: #7e3538;
}
@media (max-width: 640px) {
  .second-nav {
    padding: 8px 0;
  }
}
.second-nav ul {
  /* 『共通・コンテンツ幅』*/
  width: min(calc(100% - 48px), 960px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
}
@media (max-width: 1025px) {
  .second-nav ul {
    width: min(calc(100% - 32px), 960px);
  }
}
@media (max-width: 640px) {
  .second-nav ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.second-nav ul > li {
  font-size: clamp(13px, 1.46vw, 14px);
  text-align: center;
}
.second-nav ul > li:nth-last-of-type(2) {
  display: grid;
  grid-template-columns: repeat(1, 1px 1fr 1px);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.second-nav ul > li:nth-last-of-type(2)::before, .second-nav ul > li:nth-last-of-type(2)::after {
  content: "";
  display: block;
  width: 1px;
  height: 1.5em;
  background: rgba(255, 255, 255, 0.6);
}
@media (max-width: 640px) {
  .second-nav ul > li:nth-last-of-type(2) {
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-left: 0;
    border-right: 0;
  }
  .second-nav ul > li:nth-last-of-type(2)::before, .second-nav ul > li:nth-last-of-type(2)::after {
    display: none;
  }
}
.second-nav ul > li > a {
  display: block;
  padding: 0 0.5em;
}
@media (max-width: 640px) {
  .second-nav ul > li > a {
    padding: 1em 0;
  }
}
@media (min-width: 1026px) {
  .second-nav ul > li > a:hover {
    text-decoration: line-through;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
.second-nav ul > li span:only-child {
  text-decoration: line-through;
}
@media (max-width: 640px) {
  .second-nav ul > li span:only-child {
    display: block;
    padding: 1em 0;
  }
}

/*-----------------------------------------------------------------------------------
下層ページ > 台湾社会的投資 > bottom
-----------------------------------------------------------------------------------*/
.second-bottom {
  /* 『共通・余白-M』*/
  padding: 64px 0 104px;
  background: url(../img/pattern_dot_8.png) repeat, #fff;
}
@media (max-width: 640px) {
  .second-bottom {
    padding: 48px 0 80px;
  }
}
.second-bottom__inner {
  /* 『共通・コンテンツ幅』*/
  width: min(calc(100% - 48px), 960px);
  margin: 0 auto;
}
@media (max-width: 1025px) {
  .second-bottom__inner {
    width: min(calc(100% - 32px), 960px);
  }
}
.second-bottom__item {
  margin-bottom: 64px;
}
@media (max-width: 640px) {
  .second-bottom__item {
    margin-bottom: 48px;
  }
}
.second-bottom-ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(22px, 3.13vw, 30px);
  text-shadow: 0px 1px 2px rgba(255, 255, 255, 0.76), 0px 0px 5px rgba(255, 255, 255, 0.4);
}
.second-bottom-ttl--large {
  font-size: clamp(24px, 3.33vw, 32px);
}
.second-bottom-ttl::before {
  content: "";
  display: block;
  width: min(30%, 120px);
  padding-top: min(16.666666666666667%, 20px);
  margin: 0 auto 1.5em;
  background: url(../img/2nd_ttl_img.svg) no-repeat;
  background-size: contain;
}
.second-bottom-ttl__sub {
  display: block;
  font-size: 0.6em;
  font-weight: 600;
  margin-top: 0.5em;
}
.second-bottom-text {
  line-height: 2;
  text-shadow: 0px 1px 2px rgba(255, 255, 255, 0.76), 0px 0px 5px rgba(255, 255, 255, 0.4);
  text-align: justify;
}
.second-bottom-text-center {
  text-align: center;
  text-shadow: 0px 1px 2px rgba(255, 255, 255, 0.76), 0px 0px 5px rgba(255, 255, 255, 0.4);
}
.second-bottom-text-center__inner {
  display: inline-block;
  text-align: left;
}
.second-bottom-Kakomi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media (max-width: 640px) {
  .second-bottom-Kakomi {
    gap: 16px;
  }
}
.second-bottom-Kakomi dt {
  color: #7e3538;
  font-size: clamp(20px, 2.5vw, 24px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}
.second-bottom-Kakomi dd {
  text-align: justify;
}
.second-bottom-Kakomi dd a {
  display: block;
  width: 240px;
}
.second-bottom-link {
  width: 100%;
  padding-top: 40px;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
}
.second-bottom-link__Kakomi-wrap {
  display: inline-block;
  margin: 24px 0;
}
.second-bottom-link__Kakomi-wrap .Kakomi {
  display: block;
  font-size: 0.9em;
  font-weight: 600;
  color: #7e3538;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/*-----------------------------------------------------------------------------------
下層ページ > 台湾社会的投資 > bottom > アコーディオン
-----------------------------------------------------------------------------------*/
.Second-accordion {
  display: block;
  position: relative;
  margin-bottom: 16px;
  -webkit-box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
          box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
}
.Second-accordion__trigger {
  display: none;
}
.Second-accordion__head {
  display: block;
  line-height: 1.25;
  color: #fff;
  background: #7e3538;
  position: relative;
}
.Second-accordion__head::before, .Second-accordion__head::after {
  content: "";
  display: inline-block;
  width: clamp(18px, 2.5vw, 24px);
  height: 4px;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 2em;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0px 6px 4px -2px rgba(0, 0, 0, 0.04);
          box-shadow: 0px 6px 4px -2px rgba(0, 0, 0, 0.04);
}
.Second-accordion__head::after {
  width: 4px;
  height: clamp(18px, 2vw, 24px);
}
.Second-accordion__head--white {
  color: #333;
  border: 1px solid rgba(112, 112, 112, 0.3);
  background: #fff;
}
.Second-accordion__head--white::before, .Second-accordion__head--white::after {
  background: #7e3538;
}
@media (min-width: 1026px) {
  .Second-accordion__head:hover::before, .Second-accordion__head:hover::after {
    -webkit-transform: translate(50%, -50%) scale(1.5);
            transform: translate(50%, -50%) scale(1.5);
  }
}
.Second-accordion__contents {
  display: none;
  padding: 0 40px 32px;
  line-height: 1.75;
  border: 1px solid rgba(112, 112, 112, 0.3);
  border-top: 0;
  background: #fff;
}
@media (max-width: 1025px) {
  .Second-accordion__contents {
    padding: 0 32px 24px;
  }
}
@media (max-width: 640px) {
  .Second-accordion__contents {
    padding: 0 24px 16px;
  }
}
.Second-accordion input[type=checkbox]:checked ~ .Second-accordion__head {
  margin-bottom: 0;
}
.Second-accordion input[type=checkbox]:checked ~ .Second-accordion__head::before {
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.Second-accordion input[type=checkbox]:checked ~ .Second-accordion__head::after {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.Second-accordion input[type=checkbox]:checked ~ .Second-accordion__contents {
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/*-----------------------------------------------------------------------------------
下層ページ > 台湾社会的投資 > bottom > アコーディオン > 台湾インパクト投資協会 国際フォーラム
-----------------------------------------------------------------------------------*/
/* Second-accordion > label */
.tiia-head-ttl {
  display: grid;
  grid-template-columns: 176px 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - 24px - 2em);
  min-height: 80px;
  font-size: clamp(16px, 2.08vw, 20px);
  font-weight: 600;
  position: relative;
}
@media (max-width: 640px) {
  .tiia-head-ttl {
    grid-template-columns: 1fr;
  }
}
.tiia-head-ttl::before {
  content: "";
  display: block;
  width: 176px;
  height: 104px;
}
@media (max-width: 640px) {
  .tiia-head-ttl::before {
    display: none;
  }
}
.tiia-head-ttl--01::before {
  background: url(../images/2nd_tiia_accordion_01@2x.jpg) center no-repeat;
  background-size: cover;
}
.tiia-head-ttl--02::before {
  background: url(../images/2nd_tiia_accordion_02@2x-1.jpg) center no-repeat;
  background-size: cover;
}
.tiia-head-ttl--03::before {
  background: url(../images/2nd_tiia_accordion_03@2x-2.jpg) center no-repeat;
  background-size: cover;
}
.tiia-head-ttl__inner {
  display: block;
  padding: 0.5em 1em;
  padding-right: 0;
}

/* Second-accordion > Second-accordion__contents */
.tiia-contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 104px;
  padding: 32px 0;
  gap: 16px 32px;
}
@media (max-width: 640px) {
  .tiia-contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.tiia-contents--top {
  padding: 40px 0;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
  text-align: justify;
}
@media (max-width: 640px) {
  .tiia-contents--top {
    padding: 24px 0;
  }
}
.tiia-contents__img {
  width: min(100%, 176px);
}
.tiia-contents__movie {
  width: min(100%, 312px);
}
.tiia-contents__caption {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  width: min(100%, 536px);
  padding: 0px;
  gap: 8px;
  letter-spacing: 0;
}
@media (max-width: 640px) {
  .tiia-contents__caption {
    gap: 0;
  }
}
.tiia-contents__cp-heading {
  display: block;
  font-size: 1.25em;
  font-weight: 700;
  color: #7e3538;
  letter-spacing: 0.05em;
}
.tiia-contents__cp-name {
  display: block;
  font-size: 1.125em;
  font-weight: 600;
}
.tiia-contents__cp-affiliation {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
  font-size: 0.875em;
  font-style: italic;
  font-weight: 400;
  line-height: 1.5;
}
.tiia-contents__cp-affiliation::before {
  content: "●";
  display: block;
  font-style: normal;
  color: #7e3538;
}

/*-----------------------------------------------------------------------------------
下層ページ > 台湾社会的投資 > bottom > アコーディオン > ケーススタディ
-----------------------------------------------------------------------------------*/
/* Second-accordion > label */
.case-head-ttl {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 1em;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - 24px - 2em);
  min-height: 104px;
  font-size: clamp(16px, 2.08vw, 20px);
}
@media (max-width: 640px) {
  .case-head-ttl {
    grid-template-columns: 64px 1fr;
  }
}
.case-head-ttl__number {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  font-size: 1.6em;
  color: #fff;
  background: #7e3538;
}
.case-head-ttl__number-top {
  display: block;
  font-size: 0.5em;
  font-style: italic;
  font-weight: 400;
}
.case-head-ttl__number-bottom {
  font-family: "Poppins", sans-serif;
  letter-spacing: 0;
  font-weight: 700;
}
.case-head-ttl__number-right {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  padding: 0.5em 0;
}
@media (max-width: 640px) {
  .case-head-ttl__number-right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.case-head-ttl__ttl {
  display: inline-block;
  font-weight: 700;
}
.case-head-ttl__ttl-sub {
  display: block;
  font-size: 0.7em;
}
.case-head-ttl__cat {
  display: inline-block;
  padding: 0.25em 0.5em;
  font-size: 0.6em;
  font-weight: 600;
  color: #7e3538;
  border: 1px solid;
  border-radius: 10px;
}

/* Second-accordion > Second-accordion__contents */
.case-contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em;
  margin-bottom: 24px;
  list-style: none;
}
.case-contents--top {
  padding: 24px 0;
  text-align: justify;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
}
.case-contents--delimiter {
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
}
.case-contents__top-deta {
  margin-bottom: 0.25em;
  font-size: 0.875em;
  font-weight: 600;
  text-align: left;
  color: #7e3538;
}
.case-contents__ttl {
  display: block;
  margin-bottom: 0.25em;
  font-size: 0.9375em;
  font-weight: 600;
  line-height: 1.25;
}
.case-contents__ttl-inner {
  display: inline-block;
  padding: 0.25em 1em;
  border-radius: 20px;
  color: #fff;
  background: #7e3538;
}
.case-contents__kakomi {
  display: block;
  padding: 1em;
  border-radius: 5px;
  font-size: 0.9375em;
  text-align: justify;
  background: #f5f5f5;
}
.case-contents__kakomi-list {
  padding: 0.25em 0;
}
.case-contents__kakomi-list dt {
  font-weight: 600;
}
.case-contents__kakomi-list dd {
  display: block;
  padding: 0.5em 1em;
  margin-bottom: 0.5em;
  border-radius: 5px;
  background: #fff;
  border: 1px solid rgba(112, 112, 112, 0.3);
}
.case-contents__url {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  font-weight: 600;
  color: #7e3538;
}
.case-contents__url::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: url(../img/icon_case_arrow.svg) center no-repeat;
  background-size: contain;
}
.case-contents__url a {
  display: block;
  width: calc(100% - 0.5em - 1em);
}
@media (min-width: 1026px) {
  .case-contents__url a:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media (max-width: 1025px) {
  .case-contents__url a {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}

/*-----------------------------------------------------------------------------------
下層ページ > 台湾社会的投資 > bottom > アコーディオン > ワークショップ
-----------------------------------------------------------------------------------*/
/* Second-accordion > label */
.workshop-head-ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
  width: calc(100% - 24px - 2em);
  min-height: 80px;
  padding: 1em;
  padding-right: 0;
  font-size: clamp(16px, 2.08vw, 20px);
  font-weight: 600;
}
.workshop-head-ttl__left {
  width: 7ch;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0;
}
.workshop-head-ttl__right {
  width: calc(100% - 7ch - 0.5em);
}
.workshop-head-ttl__right-sub {
  display: block;
  font-size: 0.7em;
}

/* Second-accordion > Second-accordion__contents */
.workshop-contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 32px 0;
  gap: 16px 32px;
  list-style: none;
  letter-spacing: 0;
}
.workshop-contents--top {
  padding: 40px 0 32px;
  letter-spacing: 0.05em;
}
.workshop-contents__ttl {
  display: block;
  font-size: 1.25em;
  font-weight: 600;
  color: #0e6191;
  line-height: 1.25;
  letter-spacing: 0;
}
.workshop-contents__pdf {
  width: min(100%, 312px);
}
.workshop-contents__pdf-btn {
  display: inline-block;
  padding: 1em;
  margin-top: 16px;
  font-size: 0.75em;
  font-weight: 300;
  background: #eaeaea;
}
.workshop-contents__caption {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  width: 100%;
  padding: 0px;
  gap: 8px;
}
@media (max-width: 640px) {
  .workshop-contents__caption {
    gap: 4px;
  }
}
.workshop-contents__cp-name {
  display: block;
  font-size: 1.125em;
  font-weight: 600;
}
.workshop-contents__cp-affiliation {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
  font-size: 0.875em;
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}
.workshop-contents__cp-affiliation::before {
  content: "●";
  display: block;
  font-style: normal;
  color: #7e3538;
}
.workshop-contents__text {
  display: block;
  padding-top: 1em;
  border-top: 1px solid rgba(112, 112, 112, 0.5);
  font-size: 0.875em;
  letter-spacing: 0.05em;
  text-align: justify;
}

/*-----------------------------
下層ページ > お知らせ
-----------------------------*/
.second-news {
  padding: 48px 0 104px;
  text-align: center;
  background: url(../img/pattern_dot_8.png) repeat, #fff;
}
@media (max-width: 640px) {
  .second-news {
    margin-bottom: 64px;
  }
}
.second-news .News-title + p {
  font-size: 15px;
  margin: 2em 0;
}
.second-news__contents {
  display: block;
  /* 『共通・余白』*/
  padding: 64px 0 80px;
  background: #fff;
  -webkit-box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
          box-shadow: 0px 4px 5px -4px rgba(51, 51, 51, 0.1);
}
@media (max-width: 640px) {
  .second-news__contents {
    padding: 48px 0 64px;
  }
}
.second-news__contents-inner {
  /* 『共通・コンテンツ幅』*/
  width: min(calc(100% - 48px), 960px);
  margin: 0 auto;
  text-align: left;
}
@media (max-width: 1025px) {
  .second-news__contents-inner {
    width: min(calc(100% - 32px), 960px);
  }
}
.second-news__btn {
  width: min(50%, 220px);
  margin: 2em auto 0;
}
.second-news__btn .Button {
  font-weight: 600;
  color: #fff;
  background: #7e3538;
}
@media (min-width: 1026px) {
  .second-news__btn .Button:hover {
    color: #7e3538;
    background: initial;
  }
}