@charset "UTF-8";
/*--------------------------------------
共通
---------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Urbanist:wght@500&display=swap");
a, abbr, acronym, address, applet, big, blockquote, body, caption, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, tbody, tfoot, thead, tt, ul, var {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  list-style: none;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  clear: both;
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
}

.txt_center {
  text-align: center !important;
}

.block_center {
  margin-left: auto !important;
  margin-right: auto !important;
}

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

.txt_right {
  text-align: right !important;
}

.fleft {
  display: block;
  float: left;
}

.fright {
  display: block;
  float: right;
}

.txt_red {
  color: #ff3333;
}

.pl0 {
  padding-left: 0 !important;
}

.pr0 {
  padding-right: 0 !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.ml5 {
  margin-left: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pt8 {
  padding-top: 8px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

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

.mb10 {
  margin-bottom: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

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

.mb20 {
  margin-bottom: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

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

.mb30 {
  margin-bottom: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

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

.mb40 {
  margin-bottom: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.mt75 {
  margin-top: 75px !important;
}

html {
  font-size: 62.5%;
  margin-top: 0 !important;
}

#wpadminbar {
  top: auto;
  bottom: 0;
}

body {
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
}
body img {
  max-width: 100%;
  height: auto;
}
body a {
  transition: all 0.3s ease;
}
body a img {
  transition: all 0.3s ease;
}
body a img:hover {
  opacity: 0.7;
}

footer {
  margin-top: auto;
}

* {
  box-sizing: border-box;
}

.inner {
  margin-left: auto;
  margin-right: auto;
}

@keyframes LinkArrow {
  0% {
    right: 2.5em;
  }
  50% {
    right: 0.5em;
  }
  100% {
    right: 1.25em;
  }
}
@keyframes LinkKey {
  0% {
    top: -1em;
  }
  50% {
    top: 0.75em;
  }
  100% {
    top: 0;
  }
}
@keyframes LinkArrowPrev {
  0% {
    left: 2.5em;
  }
  50% {
    left: 0.5em;
  }
  100% {
    left: 1.5em;
  }
}
@media print, screen and (min-width: 768px) {
  body {
    z-index: 1;
  }
  .sp {
    display: none !important;
  }
  /* CSS Document */
  header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 110;
    transition: position 0.5s ease-in;
  }
  header .inner {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    width: 100%;
    max-width: 1440px;
    height: 112px;
  }
  header #logo {
    position: absolute;
    top: 20px;
    left: 24px;
    z-index: 2;
  }
  header #logo.en a strong {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.1;
  }
  header #logo a {
    display: block;
    height: 79px;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url("/lib/img/parts/logo.svg");
    background-size: contain;
    margin: auto;
    padding-left: 85px;
    line-height: 1.2;
    color: #353535;
    text-decoration: none;
  }
  header #logo a:hover {
    opacity: 0.7;
  }
  header #logo a span {
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
  }
  header #logo a span.tufs {
    font-size: 16px;
    font-size: 1.6rem;
  }
  /* カレントカテゴリー */
  /* CSS Document */
  /* CSS Document */
  /* コンテンツ共通 */
  /* ページトップ */
  /* パンくず */
  /* フォーム関連共通 */
  /* 背景 */
  /* セクション */
  /* DLリスト装飾 */
  /* リスト標準 */
  /* 前後記事リンク */
  /**
  研修言語リストの検索部分
  **/
  /* 共通リンク＆ボタン */
  /* 文章内リンク */
  /* 矢印付きボタン */
  /* 鍵付きボタン */
  /* 戻るボタン */
  /* CSS Document */
  /* フォーム部品 */
  /* CSS Document */
  /* 一覧（イベント・ニュース・プロジェクト等）共通設定 */
  /* ページャー */
  /* ページャー */
  /* top page */
  /* section */
  /* CSS Document */
  /* 固定ページ用 */
  /* CSS Document */
  /* ニュース */
  /* 一覧 */
  /* 詳細 */
  /* CSS Document */
  /* イベント */
  /* 一覧 */
  /* 詳細 */
  /* CSS Document */
  /* プロジェクト */
  /* 一覧 */
  /* 詳細 */
  /* 全所プロジェクト */
  /* CSS Document */
  /* 出版物 */
  /* 一覧 */
  /* CSS Document */
  /* スタッフ */
  /* 一覧 */
  /* 詳細 */
  /* CSS Document */
  /* お問い合わせ用 */
}
@media print, screen and (min-width: 768px) and (max-width: 880px) {
  header #logo a span.tufs {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media print, screen and (min-width: 768px) {
  header #logo a strong {
    display: block;
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: 700;
    white-space: nowrap;
  }
  header #logo a strong br {
    display: none;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  header #logo {
    left: 2%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1260px) {
  header #logo a {
    padding-top: 8px;
  }
  header #logo a strong {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1000px) {
  header #logo {
    left: 1%;
  }
  header #logo a {
    height: 60px;
    padding-top: 0;
    padding-left: 55px;
  }
  header #logo a strong {
    font-size: 2vw;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 840px) {
  header #logo {
    top: 4%;
  }
  header #logo a strong br {
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  header nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    position: relative;
    width: 100%;
  }
  header nav ul#global { /* グローバルメニュー */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    max-width: 900px;
    height: 79px;
    padding-top: 45px;
    padding-right: 80px;
  }
  header nav ul#global li {
    position: relative;
    line-height: 1.36;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
    color: #353535;
    /* 子メニュー */
  }
  header nav ul#global li.use {
    display: none;
  }
  header nav ul#global li:not(:first-child) {
    margin-left: 1.5em;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1330px) {
  header nav ul#global li:not(:first-child) {
    margin-left: 1em;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 880px) {
  header nav ul#global li:not(:first-child) {
    margin-left: 0.75em;
  }
}
@media print, screen and (min-width: 768px) {
  header nav ul#global li a {
    display: block;
    position: relative;
    padding-bottom: 15px;
    color: #353535;
  }
  header nav ul#global li a:after {
    position: absolute;
    left: 0;
    bottom: 8px;
    width: 100%;
    height: 4px;
    background-color: #e19900;
    margin: auto;
    border-radius: 2px;
    transform-origin: center top;
    transform: scale(0, 1);
    transition: transform 0.3s;
    content: "";
  }
  header nav ul#global li a:hover:after {
    transform: scale(1, 1);
  }
  header nav ul#global li label.child-btn:after {
    bottom: -2px;
  }
  header nav ul#global li a {
    text-decoration: none;
  }
  header nav ul#global li a.current:after {
    transition: none;
    transform: scale(1, 1);
  }
  header nav ul#global li input {
    display: none;
  }
  header nav ul#global li ul.child {
    visibility: hidden;
    position: absolute;
    top: 2em;
    left: 50%;
    width: -moz-max-content;
    width: max-content;
    height: 0;
    background-color: #ffffff;
    margin: auto;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);
    opacity: 0;
    z-index: 5;
    transition: all 0.5s ease;
    transform: translateX(-50%);
  }
  header nav ul#global li ul.child li {
    display: block;
    margin-left: 0;
    border-bottom: 1px solid #c4b39f;
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem;
  }
  header nav ul#global li ul.child li:last-child {
    border-bottom: 0;
  }
  header nav ul#global li ul.child li a {
    display: block;
    padding: 8px 0;
    color: #353535;
  }
  header nav ul#global li ul.child li a:hover {
    color: #a4a4a4;
  }
  header nav ul#global li ul.child li a::after {
    display: none;
  }
  header nav ul#global li ul.child li a[target=_blank]:after {
    position: initial;
    background: none;
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 0.5em;
    background-repeat: no-repeat;
    background-position: right top;
    background-image: url("/lib/img/parts/icon_external_b.svg");
    background-size: contain;
    content: "";
    transform: none;
    margin-top: 3px;
  }
  header nav ul#global li:hover ul.child {
    display: block;
    visibility: visible;
    height: auto;
    opacity: 1;
    padding: 8px 16px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  header nav ul#global li:last-child ul.child {
    left: inherit;
    right: 0;
    transform: translateX(20%);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) and (max-width: 1000px) {
  header nav ul#global li:last-child ul.child {
    transform: translateX(8%);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  header nav ul#global {
    padding-right: 3%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1190px) {
  header nav ul#global {
    padding-top: 75px;
  }
  header nav ul#global li {
    font-size: 16px;
    font-size: 1.6rem;
  }
  header nav ul#global li ul.child li {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1000px) {
  header nav ul#global {
    padding-top: 65px;
    padding-right: 2%;
  }
}
@media print, screen and (min-width: 768px) {
  header nav .search-box-sp {
    display: none;
  }
  header ul.sub-pc { /* サブメニュー */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    position: absolute;
    top: 0;
    right: 0;
  }
  header ul.sub-pc li {
    position: relative;
    line-height: 1.375;
  }
  header ul.sub-pc li:not(:first-child) {
    margin-left: 8px;
  }
  header ul.sub-pc li input {
    display: none;
  }
  header ul.sub-pc li a, header ul.sub-pc li label {
    display: block;
    position: relative;
    width: 100%;
    padding-top: 5px;
    padding-bottom: 7px;
    background-color: #353535;
    background-repeat: no-repeat;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
    transition: all 0.3s ease;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1190px) {
  header ul.sub-pc li a, header ul.sub-pc li label {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 768px) {
  header ul.sub-pc li a:hover, header ul.sub-pc li label:hover {
    color: #a4a4a4;
  }
  header ul.sub-pc li.access a {
    background-position: left 15px top 7px;
    background-image: url("/lib/img/parts/icon_access.svg");
    padding-left: 35px;
    padding-right: 15px;
  }
  header ul.sub-pc li.access a:hover {
    background-image: url("/lib/img/parts/icon_access_o.svg");
  }
  header ul.sub-pc li.english { /* English */ }
  header ul.sub-pc li.english a {
    background-position: left 15px top 8px;
    background-image: url("/lib/img/parts/icon_language.svg");
    padding-left: 45px;
    padding-right: 15px;
    border-bottom-right-radius: 0;
  }
  header ul.sub-pc li.english a:hover {
    background-image: url("/lib/img/parts/icon_language_o.svg");
  }
  header ul.sub-pc li.search { /* 検索 */ }
  header ul.sub-pc li.search label {
    background-position: left 15px top 8px;
    background-image: url("/lib/img/parts/icon_search.svg");
    padding-left: 42px;
    padding-right: 15px;
  }
  header ul.sub-pc li.search label:hover {
    background-image: url("/lib/img/parts/icon_search_o.svg");
    cursor: pointer;
  }
  header ul.sub-pc li.search input {
    display: none;
  }
  header ul.sub-pc li.search input:checked ~ label {
    background-image: url("/lib/img/parts/icon_close.svg");
  }
  header ul.sub-pc li.search input:checked ~ label:hover {
    background-image: url("/lib/img/parts/icon_close_o.svg");
  }
  header ul.sub-pc li.use { /* AA研を活用しよう！ */ }
  header ul.sub-pc li.use a {
    padding-left: 15px;
    padding-right: 32px;
    z-index: 2;
  }
  header ul.sub-pc li.use label {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 2.25em;
    height: 2.1em;
    border-bottom-left-radius: 0;
    z-index: 3;
    cursor: pointer;
  }
  header ul.sub-pc li.use label:after {
    display: inline-block;
    position: absolute;
    top: 9px;
    right: 12px;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 2px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(135deg);
    z-index: 3;
    content: "";
  }
  header ul.sub-pc li.use label:hover:after {
    color: #a4a4a4;
  }
  header ul.sub-pc li.use ul {
    position: relative;
    visibility: hidden;
    width: 100%;
    height: 0;
    background-color: #353535;
    padding: 0 14px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    opacity: 0;
    transition: all 0.5s ease;
    z-index: 1;
  }
  header ul.sub-pc li.use ul li {
    margin-left: 0;
    border-top: 2px solid #716c6c;
    text-align: center;
  }
  header ul.sub-pc li.use ul li a {
    background-color: inherit;
    padding: 8px 0;
    color: transparent;
  }
  header ul.sub-pc li.use ul li a.key {
    background-repeat: no-repeat;
    background-position: right 0px center;
    background-image: url("/lib/img/parts/icon_key.svg");
    padding: 8px 14px 8px 0;
  }
  header ul.sub-pc li.use ul li a.key:hover {
    background-image: url("/lib/img/parts/icon_key_o.svg");
  }
  header ul.sub-pc li.use input:checked ~ label:after {
    top: 14px;
    transform: translateX(-25%) rotate(-45deg);
  }
  header ul.sub-pc li.use input:checked ~ ul {
    visibility: visible;
    height: auto;
    opacity: 1;
    margin-top: -10px;
    padding-top: 14px;
    padding-bottom: 8px;
  }
  header ul.sub-pc li.use input:checked ~ ul li a {
    color: #ffffff;
  }
  header ul.sub-pc li.use input:checked ~ ul li a:hover {
    color: #a4a4a4;
  }
  header .search-box-pc {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 42px;
    right: 12.35rem;
    width: 290px;
    background-color: #353535;
    padding: 16px 16px 17px;
    border-radius: 10px;
    z-index: 1000;
    transition: all 0.3s ease-in;
  }
  header .search-box-pc.open {
    visibility: visible;
    opacity: 1;
  }
  header .search-box-pc .search-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    font-size: 18px;
    font-size: 1.8rem;
    border-bottom: 2px solid #a4a4a4;
  }
  header .search-box-pc .search-inner input[type=text] {
    width: calc(100% - 2em);
    background-color: #353535;
    padding: 8px 0;
    color: #ffffff;
  }
  header .search-box-pc .search-inner input[type=text]::-moz-placeholder {
    color: #a4a4a4;
  }
  header .search-box-pc .search-inner input[type=text]::placeholder {
    color: #a4a4a4;
  }
  header .search-box-pc .search-inner input[type=text]:focus {
    color: #ffffff;
  }
  header .search-box-pc .search-inner input[type=text]:focus::-moz-placeholder {
    color: transparent;
  }
  header .search-box-pc .search-inner input[type=text]:focus::placeholder {
    color: transparent;
  }
  header .search-box-pc .search-inner input[type=submit] {
    display: none;
  }
  header .search-box-pc .search-inner label {
    display: block;
    width: 2em;
    height: 2.5em;
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url("/lib/img/parts/icon_search.svg");
    transition: all 0.3s ease;
    cursor: pointer;
  }
  header .search-box-pc .search-inner label:hover {
    background-image: url("/lib/img/parts/icon_search_o.svg");
  }
  header.header-fixed {
    position: fixed;
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);
  }
  header.header-fixed .inner {
    height: 80px;
  }
  header.header-fixed .inner.en {
    height: 100px;
  }
  header.header-fixed .inner.en #global {
    padding-top: 65px;
  }
  header.header-fixed #logo {
    top: 7px;
  }
  header.header-fixed #logo a {
    height: 66px;
    padding-top: 0;
    padding-left: 65px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1280px) {
  header.header-fixed #logo {
    left: 1%;
  }
  header.header-fixed #logo a strong {
    font-size: 2vw;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 840px) {
  header.header-fixed #logo a span,
  header.header-fixed #logo a strong {
    display: none;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1190px) {
  header.header-fixed nav ul#global {
    padding-top: 45px;
  }
}
@media print, screen and (min-width: 768px) {
  body#top { /* トップページ */ }
  body#top ul#global li.top a:after {
    transform: scale(1, 1);
  }
  body#use { /* AA研を活用しよう！ */ }
  body#use ul#global li.use a:after {
    transform: scale(1, 1);
  }
  body#news { /* お知らせ */ }
  body#news ul#global li.news a:after {
    transform: scale(1, 1);
  }
  body#events { /* イベント */ }
  body#events ul#global li.events a:after {
    transform: scale(1, 1);
  }
  body#projects { /* プロジェクト */ }
  body#projects ul#global li.projects a:after {
    transform: scale(1, 1);
  }
  body#results { /* 研究成果 */ }
  body#results ul#global li.results a:after {
    transform: scale(1, 1);
  }
  body#training { /* 研究者養成 */ }
  body#training ul#global li.training a:after {
    transform: scale(1, 1);
  }
  body#staff { /* スタッフ */ }
  body#staff ul#global li.staff a:after {
    transform: scale(1, 1);
  }
  body#about { /* 組織 */ }
  body#about ul#global li.about a:after {
    transform: scale(1, 1);
  }
  footer {
    position: relative;
    background-color: #353535;
    font-family: "Noto Sans JP", sans-serif;
    color: #ffffff;
    z-index: 100;
  }
  footer .inner {
    max-width: 1280px;
    padding: 95px 0 30px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1280px) {
  footer .inner {
    padding: 95px 3% 30px;
  }
}
@media print, screen and (min-width: 768px) {
  footer .inner nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    padding-bottom: 80px;
    font-size: 14px;
    font-size: 1.4rem;
    color: #ffffff;
  }
  footer .inner nav .block {
    width: 219px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1280px) {
  footer .inner nav .block {
    width: 18%;
  }
}
@media print, screen and (min-width: 768px) {
  footer .inner nav .block input {
    display: none;
  }
  footer .inner nav .block h3 {
    margin-bottom: 0.75em;
    padding-bottom: 0.75em;
    border-bottom: 1px solid #717171;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  footer .inner nav .block ul {
    margin-bottom: 2em;
  }
  footer .inner nav .block ul li {
    margin-bottom: 0.5em;
    font-weight: 400;
  }
  footer .inner nav .block a {
    display: inline-block;
    position: relative;
    color: #ffffff;
    text-decoration: none;
  }
  footer .inner nav .block a:hover {
    color: #a4a4a4;
  }
  footer .inner nav .block a[target=_blank] {
    display: inline;
    background-repeat: no-repeat;
    background-position: right top 4px;
    background-image: url("/lib/img/parts/icon_external_w.svg");
    background-size: 1em;
    padding-right: 1.5em;
  }
  footer .inner-bottom {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    position: relative;
    padding: 30px 0 20px;
    border-top: 1px solid #717171;
  }
  footer .inner-bottom .contact a.btn-arrow {
    background-color: #f5f0ea;
    padding: 0.65em 4em 0.7em;
    line-height: 1.375;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #353535;
  }
  footer .inner-bottom .contact a.btn-arrow:after {
    width: 0.45em;
    height: 0.45em;
    color: #353535;
  }
  footer .inner-bottom .address {
    margin-left: auto;
    margin-right: 30px;
    line-height: 2;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 400;
  }
  footer .inner-bottom .footer_logo.en a strong {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.1;
  }
  footer .inner-bottom .footer_logo a {
    display: block;
    height: 79px;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url("/lib/img/parts/logo_w.svg");
    background-size: contain;
    margin: auto;
    padding-left: 85px;
    line-height: 1.2;
    color: #353535;
    text-decoration: none;
    color: #fff;
  }
  footer .inner-bottom .footer_logo a:hover {
    opacity: 0.7;
  }
  footer .inner-bottom .footer_logo a span {
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
    color: #fff;
  }
  footer .inner-bottom .footer_logo a span.tufs {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 880px) {
  footer .inner-bottom .footer_logo a span.tufs {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media print, screen and (min-width: 768px) {
  footer .inner-bottom .footer_logo a strong {
    display: block;
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: 700;
    white-space: nowrap;
    padding: 1% 0;
  }
  footer .inner-bottom .footer_logo a strong br {
    display: none;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1260px) {
  footer .inner-bottom .footer_logo a {
    padding-top: 8px;
  }
  footer .inner-bottom .footer_logo a strong {
    font-size: 22px;
    font-size: 2.2rem;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1000px) {
  footer .inner-bottom .footer_logo {
    left: 1%;
  }
  footer .inner-bottom .footer_logo a {
    height: 60px;
    padding-top: 0;
    padding-left: 55px;
  }
  footer .inner-bottom .footer_logo a strong {
    font-size: 2vw;
  }
}
@media print, screen and (min-width: 768px) {
  footer address {
    background-color: #c4b39f;
    padding: 25px 3%;
    text-align: center;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 400;
    color: #ffffff;
  }
  body {
    overflow-x: hidden;
    background-color: #fffdf6;
  }
  figure {
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
  .editor-styles-wrapper {
    background-color: #fffdf6;
  }
  .editor-styles-wrapper:before {
    z-index: 0 !important;
  }
  #wrapper, .editor-styles-wrapper {
    position: relative;
    background-repeat: repeat;
    background-position: center top;
    background-image: url("/lib/img/parts/bg_line.png");
  }
  #wrapper:before, .editor-styles-wrapper:before {
    display: block;
    position: fixed;
    top: 235px;
    left: 0;
    right: 0;
    width: 1096px;
    height: 640px;
    background-repeat: no-repeat;
    background-position: center top;
    background-image: url("/lib/img/parts/map.svg");
    background-size: contain;
    margin: auto;
    transform: translateX(-90px);
    z-index: -1;
    content: "";
  }
  #wrapper img, .editor-styles-wrapper img {
    display: block;
  }
  .pagetop {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    right: 50%;
    bottom: 6%;
    width: 48px;
    height: 48px;
    transform: translateY(24px) translateX(690px);
    z-index: 2;
  }
  .pagetop.active {
    visibility: visible;
    opacity: 1;
  }
  .pagetop.stop {
    position: absolute;
    top: -48px;
    bottom: 6%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  .pagetop {
    right: 3%;
    transform: translateY(24px) translateX(0);
  }
}
@media print, screen and (min-width: 768px) {
  .pagetop a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center top;
    background-image: url("/lib/img/parts/pagetop.svg");
    background-size: contain;
    text-indent: -9999px;
    opacity: 1;
    transition: all 0.3s ease;
  }
  .pagetop a:hover {
    opacity: 0.7;
  }
  nav#breadcrumbs ol {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    position: relative;
    width: 94%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 1em 0 1.5em;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 400;
    z-index: 1;
  }
  nav#breadcrumbs ol li {
    display: inline-block;
    position: relative;
    margin-left: 0.5em;
    color: #353535;
    white-space: nowrap;
  }
  nav#breadcrumbs ol li br {
    display: none;
  }
  nav#breadcrumbs ol li:after {
    margin-left: 0.5em;
    content: "-";
  }
  nav#breadcrumbs ol li:last-child:after {
    display: none;
  }
  nav#breadcrumbs ol li a {
    color: #b3b3b3;
    text-decoration: none;
  }
  nav#breadcrumbs ol li a:hover {
    color: #353535;
    text-decoration: underline;
  }
  form input {
    font-family: inherit;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0.75rem;
    border: none;
    border-radius: 0;
    outline: 0;
    -webkit-appearance: none;
  }
  form input:focus {
    border: none;
    outline: 0;
  }
  .bg-top-right-dark {
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(50% + 52px);
    height: 100%;
    background-color: #c4b39f;
    border-bottom-left-radius: 10px;
    transform: translateX(-52px);
    z-index: 1;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  .bg-top-right-dark {
    width: 53.6%;
    left: inherit;
    right: 0;
    transform: none;
  }
}
@media print, screen and (min-width: 768px) {
  .bg-left-dark {
    position: absolute;
    top: 0;
    right: 50%;
    background-color: #c4b39f;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    z-index: 1;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  .bg-left-dark {
    left: 0;
    right: inherit;
  }
}
@media print, screen and (min-width: 768px) {
  .bg-right-light {
    position: absolute;
    top: 0;
    left: 50%;
    background-color: #f5f0ea;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    z-index: 1;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  .bg-right-light {
    left: inherit;
    right: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .bg-left-light {
    position: absolute;
    top: 0;
    right: 50%;
    background-color: #f5f0ea;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    z-index: 1;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  .bg-left-light {
    left: 0;
    right: inherit;
  }
}
@media print, screen and (min-width: 768px) {
  section {
    position: relative;
    font-size: 14px;
    font-size: 1.4rem;
    color: #353535;
  }
  section .section-inner {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    z-index: 2;
  }
  dl.overview .event_report dd p, dl.reports .event_report dd p, dl.sponsor .event_report dd p {
    margin-bottom: 8px !important;
  }
  dl.overview .event_report dd p:last-child, dl.reports .event_report dd p:last-child, dl.sponsor .event_report dd p:last-child {
    margin-bottom: 0 !important;
  }
  dl.overview div, dl.reports div, dl.sponsor div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    align-items: flex-start;
    gap: 10px;
  }
  dl.overview div dt, dl.reports div dt, dl.sponsor div dt {
    display: block;
    width: 9em;
    text-align: center;
    line-height: 1.8;
    color: #ffffff;
  }
  dl.overview div dt:before, dl.reports div dt:before, dl.sponsor div dt:before {
    display: none;
  }
  dl.overview div dd, dl.reports div dd, dl.sponsor div dd {
    width: calc(100% - 7.5em);
    margin-bottom: 0;
    line-height: 1.8;
    position: relative;
    top: -3.4px;
  }
  dl.overview div.org dt, dl.reports div.org dt, dl.sponsor div.org dt {
    background-color: #a4a4a4;
  }
  dl.overview div dt {
    background-color: #957e64;
    line-height: 1.2;
    padding-top: 3px;
    padding-bottom: 3px;
    flex-shrink: 0;
  }
  dl.reports div dt {
    background-color: #957e64;
  }
  dl.sponsor div dt {
    background-color: #a4a4a4;
  }
  ul.dots li {
    margin-bottom: 1em;
    padding-left: 1.25em;
    text-indent: -1.25em;
  }
  ul.dots li:before {
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    background-color: #353535;
    margin-right: 0.5em;
    border-radius: 3px;
    content: "";
  }
  ul.dots li .notice {
    color: #a51f25;
  }
  .article-pager .section-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    padding: 40px 0;
  }
  .article-pager .article-list {
    width: 12em;
    order: 2;
  }
  .article-pager .article-prev,
  .article-pager .article-next {
    position: relative;
    width: calc(50% - 10em);
    line-height: 1.6;
    font-size: 14px;
    font-size: 1.4rem;
    color: #353535;
  }
  .article-pager .article-prev:hover,
  .article-pager .article-next:hover {
    color: #e19900;
  }
  .article-pager .article-prev:hover:after,
  .article-pager .article-next:hover:after {
    background-color: #e19900;
  }
  .article-pager .article-prev a,
  .article-pager .article-next a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .article-pager .article-prev:after,
  .article-pager .article-next:after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 30px;
    height: 30px;
    background-color: #bebebd;
    margin: auto;
    border-radius: 50%;
    transition: all 0.3s ease;
    content: "";
  }
  .article-pager .article-prev:before,
  .article-pager .article-next:before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    z-index: 1;
    content: "";
  }
  .article-pager .article-prev {
    padding-left: 45px;
    order: 1;
  }
  .article-pager .article-prev:after {
    left: 0;
  }
  .article-pager .article-prev:before {
    left: 12px;
    transform: rotate(-135deg);
  }
  .article-pager .article-next {
    padding-right: 45px;
    text-align: right;
    order: 3;
  }
  .article-pager .article-next:after {
    right: 0;
  }
  .article-pager .article-next:before {
    right: 12px;
    transform: rotate(45deg);
  }
  .select-box {
    position: relative;
    margin: 0;
    display: inline-block;
  }
  .select-box select {
    padding-right: 4em;
    display: inline-block;
    position: relative;
    background-color: #ffffff;
    padding: 0.5em;
    padding-right: 4em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    min-width: 150px;
  }
  .select-box select:focus {
    outline: 0;
  }
  .select-box:after {
    display: block;
    position: absolute;
    top: 6px;
    right: 2px;
    width: 36px;
    height: 24px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("/lib/img/parts/arrow_select.svg");
    border-left: 1px solid #b3b3b3;
    pointer-events: none;
    content: "";
  }
  #tableFilter_wrp {
    margin-bottom: 40px;
    padding-bottom: 32px !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }
  #tableFilter_wrp .search-btn {
    margin-top: 0 !important;
  }
  #tableFilter_wrp .search-btn input {
    border: none;
  }
  #tableFilter_wrp #tableFilter input {
    background-color: #ffffff;
    padding: 0.5em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
    font-size: 16px;
  }
  #tableFilter_wrp #tableFilter label {
    font-size: 16px;
    display: inline-block;
  }
  #tableFilter_wrp #tableFilter {
    display: flex;
  }
  #tableFilter_wrp #tableFilter .tableFilter_box01 {
    margin-right: 30px;
  }
  .pagination_wrp {
    text-align: center;
  }
  .pagination_wrp .pagination_inner {
    display: inline-block;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi {
    margin-top: 60px;
    display: flex;
    justify-content: center;
    position: relative;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .pages {
    display: none;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi a {
    display: inline-block;
    line-height: 1;
    width: 40px;
    height: 40px;
    border: 1px solid #dadada;
    text-align: center;
    line-height: 38px;
    font-size: 16px;
    font-family: "Urbanist", sans-serif;
    font-weight: normal;
    transition: 0.3s;
    margin: 0 10px;
    text-decoration: none;
    background-color: #BEBEBD;
    color: #fff;
    border-radius: 50%;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi a:hover {
    background-color: #353535;
    border: 1px solid #353535;
    color: #fff;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi a:hover span:before {
    background-color: #fff !important;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .extend {
    vertical-align: bottom;
    position: relative;
    display: inline-block;
    margin: 0 10px;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .extend span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 8px;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .current {
    display: inline-block;
    line-height: 1;
    width: 40px;
    height: 40px;
    border: 1px solid #353535;
    text-align: center;
    line-height: 38px;
    font-size: 15px;
    font-family: "Urbanist", sans-serif;
    font-weight: normal;
    background-color: #353535;
    color: #fff;
    margin: 0 10px;
    border-radius: 50%;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .previouspostslink {
    position: absolute;
    left: -60px;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .previouspostslink span {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #BEBEBD;
    transition: 0.3s;
    border-radius: 50%;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .previouspostslink span:before {
    position: absolute;
    content: "";
    -webkit-mask-image: url("/lib/img/parts/icon_arrow_down.svg");
            mask-image: url("/lib/img/parts/icon_arrow_down.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    width: 12px;
    height: 8px;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(90deg);
    background-color: #fff;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .previouspostslink:hover span {
    background-color: #353535;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .nextpostslink {
    position: absolute;
    right: -60px;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .nextpostslink span {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #BEBEBD;
    transition: 0.3s;
    border-radius: 50%;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .nextpostslink span:before {
    position: absolute;
    content: "";
    -webkit-mask-image: url("/lib/img/parts/icon_arrow_down.svg");
            mask-image: url("/lib/img/parts/icon_arrow_down.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    width: 12px;
    height: 8px;
    left: 50%;
    top: 25%;
    transform: rotate(-90deg) translateX(-50%) translateY(-50%);
    background-color: #fff;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .nextpostslink:hover span {
    background-color: #353535;
  }
  section a {
    position: relative;
    color: #353535;
    text-decoration: none;
    /* 下線リンク アニメ */
  }
  section a:not(.btn-arrow, .btn-prev) {
    color: #e19900;
    text-decoration: underline;
  }
  section a:not(.btn-arrow, .btn-prev):hover {
    text-decoration: none;
  }
  section a[target=_blank]:not(.btn-arrow):not(.pdf):not(.btn-arrow_wp):after {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 0.25em;
    margin-right: 0.25em;
    background-repeat: no-repeat;
    background-position: right top 3px;
    background-image: url("/lib/img/parts/icon_external_b.svg");
    background-size: 1em;
    content: "";
  }
  section a.pdf {
    background-image: none;
    padding-right: 0;
  }
  section a.pdf:after {
    display: inline-block;
    width: 3em;
    height: auto;
    background-color: #a51f25;
    background-image: none;
    margin-left: 0.5em;
    text-align: center;
    line-height: 1.4;
    font-size: 12px;
    font-size: 1.2rem;
    color: #ffffff;
    content: "PDF";
  }
  section a.arrow:after {
    display: inline-block;
    width: 0.35em;
    height: 0.35em;
    margin-left: 0.5em;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #353535;
    transform: translateX(-25%) translateY(-0.2em) rotate(45deg);
    transition: all 0.3s ease;
    content: "";
  }
  section a[target=_blank]:not(.btn-arrow):not(.pdf):not(.btn-arrow_wp), section a.pdf, section a.arrow {
    display: inline-block;
    color: #353535;
    text-decoration: none;
  }
  section a[target=_blank]:not(.btn-arrow):not(.pdf):not(.btn-arrow_wp):before, section a.pdf:before, section a.arrow:before {
    display: block;
    overflow-x: hidden;
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background-color: #717171;
    transition: transform 0.3s ease;
    transform: scale(1, 1);
    transform-origin: right top;
    content: "";
  }
  section a[target=_blank]:not(.btn-arrow):not(.pdf):not(.btn-arrow_wp):hover:before, section a.pdf:hover:before, section a.arrow:hover:before {
    transform: scale(0, 1);
  }
  section a[target=_blank]:not(.btn-arrow):not(.pdf):not(.btn-arrow_wp):before {
    width: calc(100% - 1.5em);
  }
  section a.pdf:before {
    width: calc(100% - 0.5em - 3.5rem);
  }
  section a.arrow:before {
    width: calc(100% - 1em);
  }
  a.btn-arrow {
    display: inline-block;
    position: relative;
    background-color: #353535;
    padding: 1em 3em;
    border-radius: 2em;
    line-height: 1;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
  }
  a.btn-arrow:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.25em;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(45deg);
    transition: all 0.3s ease;
    content: "";
  }
  a.btn-arrow span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  a.btn-arrow span em {
    display: block;
    transition: all 0.3s ease;
  }
  a.btn-arrow span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    left: 0;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  a.btn-arrow:hover span em {
    transform: translateY(-1.5em);
  }
  a.btn-arrow:hover span:after {
    transform: translateY(-1.5em);
  }
  a.btn-arrow:hover:after {
    transform: translateX(-25%) rotate(45deg);
    animation-name: LinkArrow;
    animation-duration: 0.5s;
  }
  a.btn-key {
    display: inline-block;
    position: relative;
    background-color: #353535;
    padding: 1em 3em 1em 2em !important;
    border-radius: 2em;
    line-height: 1;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
  }
  a.btn-key:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.25em;
    bottom: 0;
    width: 1em;
    height: 1em;
    margin: auto;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("/lib/img/parts/icon_key.svg");
    background-size: contain;
    content: "";
  }
  a.btn-key span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  a.btn-key span em {
    display: block;
    transition: all 0.3s ease;
  }
  a.btn-key span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  a.btn-key:hover span em {
    transform: translateY(-1.5em);
  }
  a.btn-key:hover span:after {
    transform: translateY(-1.5em);
  }
  a.btn-key:hover:after {
    animation-name: LinkKey;
    animation-duration: 0.5s;
  }
  a.btn-prev {
    display: inline-block;
    position: relative;
    background-color: #bebebd;
    padding: 1em 3em;
    border-radius: 2em;
    line-height: 1;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
  }
  a.btn-prev:after {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 1.5em;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(-135deg);
    transition: all 0.3s ease;
    content: "";
  }
  a.btn-prev span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  a.btn-prev span em {
    display: block;
    transition: all 0.3s ease;
  }
  a.btn-prev span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    left: 0;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  a.btn-prev:hover span em {
    transform: translateY(-1.5em);
  }
  a.btn-prev:hover span:after {
    transform: translateY(-1.5em);
  }
  a.btn-prev:hover:after {
    transform: translateX(-25%) rotate(-135deg);
    animation-name: LinkArrowPrev;
    animation-duration: 0.5s;
  }
  .ui-datepicker {
    font-size: 1.6em !important;
  }
  .form-contents .search_box .search_box_row01 {
    display: flex;
    gap: 40px;
    margin-bottom: 20px;
  }
  .form-contents .search_box .search_box_row01 .search_box_row01_col01 {
    display: flex;
    align-items: center;
  }
  .form-contents .search_box .search_box_row01 .search_box_row01_col01 .search_box_row01_col01_title {
    padding-right: 30px;
    margin-bottom: 0 !important;
    flex-shrink: 0;
    white-space: nowrap;
  }
  .form-contents .search_box .search_box_row01.search_box_row02 .search_box_row01_col01 {
    width: 100%;
  }
  .form-contents .search_box .search_box_row01.search_box_row02 .search_box_row01_col01 div {
    width: 100%;
  }
  .form-contents .search_box .search_box_row01.search_box_row03 .search_box_row01_col01 {
    align-items: flex-start;
  }
  .form-contents .search_input {
    font-size: 18px;
    border-bottom: 2px solid #A4A4A4;
    width: 100%;
  }
  .form-contents .date_input {
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    padding: 0.5em;
  }
  .form-contents input,
  .form-contents textarea {
    margin: 0;
    padding: 0;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
  }
  .form-contents input:placeholder,
  .form-contents textarea:placeholder {
    color: #b3b3b3;
  }
  .form-contents input:focus,
  .form-contents textarea:focus {
    outline: 0;
  }
  .form-contents input:focus::-moz-placeholder {
    color: transparent;
  }
  .form-contents input:focus::placeholder {
    color: transparent;
  }
  .form-contents input.form-submit {
    display: none;
  }
  .form-contents label.send-btn {
    position: relative;
    background-color: #353535;
    padding: 1em 3em 0.85em;
    border-radius: 2em;
    line-height: 1;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
  }
  .form-contents label.send-btn:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.25em;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(45deg);
    transition: all 0.3s ease;
    content: "";
  }
  .form-contents label.send-btn span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  .form-contents label.send-btn span em {
    display: block;
    transition: all 0.3s ease;
  }
  .form-contents label.send-btn span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    left: 0;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  .form-contents label.send-btn:hover span em {
    transform: translateY(-1.5em);
  }
  .form-contents label.send-btn:hover span:after {
    transform: translateY(-1.5em);
  }
  .form-contents label.send-btn:hover:after {
    transform: translateX(-25%) rotate(45deg);
    animation-name: LinkArrow;
    animation-duration: 0.5s;
  }
  .form-contents label.search-btn {
    position: relative;
    background-color: #353535;
    padding: 0.85em 3.5em 0.65em 2.5em;
    border-radius: 2em;
    line-height: 1;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
  }
  .form-contents label.search-btn:after {
    display: block;
    position: absolute;
    top: 0;
    right: 0.75em;
    bottom: 0;
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("/lib/img/parts/icon_search.svg");
    background-size: contain;
    margin: auto;
    transition: all 0.3s ease;
    content: "";
  }
  .form-contents label.search-btn span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  .form-contents label.search-btn span em {
    display: block;
    transition: all 0.3s ease;
  }
  .form-contents label.search-btn span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    left: 0;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  .form-contents label.search-btn:hover span em {
    transform: translateY(-1.5em);
  }
  .form-contents label.search-btn:hover span:after {
    transform: translateY(-1.5em);
  }
  .form-contents label.search-btn:hover:after {
    animation-name: LinkKey;
    animation-duration: 0.5s;
  }
  .form-contents input.form-submit:disabled ~ label.send-btn {
    background-color: #b3b3b3;
    cursor: not-allowed;
  }
  .form-contents input.form-submit:disabled ~ label.send-btn:hover span em {
    transform: none;
  }
  .form-contents input.form-submit:disabled ~ label.send-btn:hover span:after {
    transform: none;
  }
  .form-contents input.form-submit:disabled ~ label.send-btn:hover:after {
    animation-name: none;
  }
  .search-block {
    display: block;
    padding-bottom: 30px;
    background-color: #ffffff;
    padding: 32px 50px 30px;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .search-block.search-block_projects {
    display: block !important;
    padding-bottom: 30px !important;
  }
  .search-block.search-block_projects .left-block {
    width: 100% !important;
  }
  .search-block.search-block_projects > .search-btn {
    text-align: center !important;
    display: inline-block !important;
  }
  .search-block.search-block_projects > .search-btn .search-btn {
    display: inline-block !important;
    padding-bottom: 0.85em !important;
  }
  .search-block .left-block {
    width: 100%;
  }
  .search-block .left-block .search-top {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-bottom: 1.5em;
  }
  .search-block .left-block .search-top p {
    margin-right: 10px;
  }
  .search-block .search-btn_wrp {
    display: flex;
  }
  .search-block .search-btn_wrp .search-btn:last-child {
    margin-left: 15px;
  }
  .search-block div.search-btn {
    text-align: center;
    margin-top: 15px;
  }
  .search-block div .reset-btn {
    padding: 0.85em 2.5em 0.65em 2.5em;
    background-color: #717171;
  }
  .search-block div .reset-btn:after {
    display: none;
  }
  .search-block .date-select {
    display: block;
    position: relative;
    width: 195px;
    margin-right: 35px;
    border: 2px solid #a4a4a4;
  }
  .search-block .date-select:after {
    position: absolute;
    top: 0;
    right: 0.5em;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 3px solid #a4a4a4;
    border-bottom: 3px solid #a4a4a4;
    transform: translateY(-2px) rotate(-45deg);
    content: "";
    pointer-events: none;
  }
  .search-block .date-select input[type=date] {
    position: relative;
    width: 100%;
    background-color: transparent;
    font-size: 16px;
    font-size: 1.6rem;
    color: #a4a4a4;
  }
  .search-block .date-select input[type=date]::-webkit-calendar-picker-indicator {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
  }
  .search-block .date-select input[type=date]::-webkit-inner-spin-button {
    -webkit-appearance: none;
  }
  .search-block .date-select input[type=date]::-webkit-clear-button {
    -webkit-appearance: none;
  }
  .search-block .search-text {
    display: block;
    width: calc(100% - 230px);
    border-bottom: 2px solid #a4a4a4;
  }
  .search-block .search-text input {
    display: block;
    width: 100%;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
  }
  .search-block .search-text input:placeholder {
    color: #a4a4a4;
  }
  .search-block ul.filter {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex-wrap: wrap;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .search-block ul.filter li {
    width: auto !important;
    margin: 0 1.5em 1.5em 0 !important;
  }
  .search-block ul.filter label.checkbox {
    display: inline-block;
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    text-align: left;
  }
  .search-block ul.filter label.checkbox:before {
    display: inline-block;
    position: absolute;
    top: 0.15em;
    left: 0;
    width: 18px;
    height: 18px;
    background-color: #ffffff;
    margin: auto;
    border: 2px solid #a4a4a4;
    content: "";
  }
  .search-block ul.filter input:checked ~ label.checkbox:after {
    position: absolute;
    top: 0.55em;
    left: 5px;
    width: 10px;
    height: 6px;
    margin: auto;
    border-left: 2px solid #a4a4a4;
    border-bottom: 2px solid #a4a4a4;
    transform: translateY(-2px) rotate(-50deg);
    content: "";
  }
  article.article-list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    position: relative;
    padding: 32px 0;
    border-bottom: 1px solid #353535;
    margin-bottom: -1px;
  }
  article.article-list:first-of-type {
    border-top: 1px solid #353535;
  }
  article.article-list .image {
    overflow: hidden;
    position: relative;
    height: 0;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  article.article-list .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: all 0.4s ease;
  }
  article.article-list .image a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  article.article-list .image a:hover img {
    opacity: 1;
    transform: scale(1.2, 1.2);
  }
  article.article-list .text ul.categories {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-bottom: 0.5em;
    flex-wrap: wrap;
    gap: 0.5em;
  }
  article.article-list .text ul.categories .open_class_public {
    background-color: #957e64 !important;
    color: #fff !important;
  }
  article.article-list .text ul.categories li {
    padding: 0 0.5em;
    text-align: left;
    line-height: 1.8;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  article.article-list .text ul.categories li.theme {
    background-color: #e19900;
    color: #ffffff;
  }
  article.article-list .text ul.categories li.subject {
    background-color: #ffffff;
    border: 1px solid #957e64;
    color: #957e64;
  }
  article.article-list .text ul.categories li.end {
    background-color: #a6a6a6;
    color: #ffffff;
  }
  article.article-list .text ul.categories li.ev_cat {
    background-color: #353535;
    border: 1px solid #353535;
    color: #fff;
  }
  article.article-list .text .title a {
    color: #353535;
    text-decoration: none;
  }
  article.article-list .text .title a:hover {
    text-decoration: underline;
  }
  article.article-list .text dl.overview div {
    margin-bottom: 0.5em;
  }
  article.article-list .text dl.overview div dt {
    font-size: 14px;
    font-size: 1.4rem;
  }
  article.article-list .text dl.overview div dt:before {
    display: none;
  }
  article.article-list .text dl.overview div dd {
    width: calc(100% - 6.5em);
    margin-bottom: 0;
    line-height: 1.6;
    font-size: 16px;
    font-size: 1.6rem;
  }
  article.article-list a.btn-arrow {
    padding: 0.75em 3em;
  }
  .pager {
    padding: 32px 0;
  }
  .pager ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    overflow-x: auto;
  }
  .pager ul li {
    width: 30px;
    height: 30px;
    margin: 0 5px;
    text-align: center;
    flex-shrink: 0;
  }
  .pager ul li a {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #b7b7b7;
    border-radius: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
  }
  .pager ul li a:hover {
    background-color: #353535;
    color: #fffdf6;
  }
  .pager ul li.current {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    background-color: #353535;
    border-radius: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
  }
  .pager ul li.space {
    margin: 0;
    padding-top: 0.5em;
  }
  .pager ul li.page a {
    text-indent: -99999999px;
  }
  .pager ul li.page a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0.3em;
    height: 0.3em;
    margin: auto;
    border-top-width: 3px;
    border-top-style: solid;
    border-top-color: #ffffff;
    border-right-width: 3px;
    border-right-style: solid;
    border-right-color: #ffffff;
    content: "";
  }
  .pager ul li.page.prev a:after {
    left: 0.75em;
    transform: rotate(-135deg);
  }
  .pager ul li.page.next a:after {
    right: 0.75em;
    transform: rotate(45deg);
  }
  body#top {
    /* 共通 */
  }
  body#top section .section-inner {
    width: 94%;
    max-width: 1280px;
  }
  body#top section .main-visual {
    display: none;
  }
  body#top section .slick-initialized {
    display: block;
  }
  body#top section h2 {
    margin-bottom: 20px;
    font-family: "Urbanist", sans-serif;
    line-height: 1.2;
    font-size: 66px;
    font-size: 6.6rem;
    font-weight: normal;
    color: #353535;
  }
  body#top section h2 em {
    color: #e19900;
  }
  body#top section .block-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    flex-wrap: wrap;
  }
  body#top section .block-wrap .block {
    flex-wrap: wrap;
    width: 31.875%;
  }
  body#top section .block-wrap .block .text {
    display: block;
    width: 100%;
  }
  body#top section .block {
    position: relative;
  }
  body#top section .block .image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  body#top section .block .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: all 0.4s ease;
  }
  body#top section .block .image a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  body#top section .block .image a:hover img {
    opacity: 1;
    transform: scale(1.2, 1.2);
  }
  body#top section .block a {
    color: #353535;
    text-decoration: none;
  }
  body#top section .block a.cover {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease;
    z-index: 10;
    /*&:hover {
                  background-color: rgba(255,255,255,0.3);
              }*/
  }
  body#top section .block a:before {
    display: none !important;
  }
  body#top section .block a:hover ~ .image img {
    transform: scale(1.2, 1.2);
  }
  body#top section .block label.arrow {
    display: inline-block;
    position: absolute;
    top: -1.25em;
    left: 0;
    padding: 0.5em 2.5em 0.5em 2em;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    z-index: 2;
  }
  body#top section .block label.arrow:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.5em;
    bottom: 0;
    width: 0.35em;
    height: 0.35em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    transform: translateX(-25%) rotate(45deg);
    transition: all 0.3s ease;
    content: "";
  }
  body#top section .block label.arrow span {
    overflow: hidden;
    display: block;
    position: relative;
    height: 1em;
    line-height: 1;
  }
  body#top section .block label.arrow span em {
    display: inline-block;
    transition: all 0.3s ease;
  }
  body#top section .block label.arrow span:after {
    display: inline-block;
    position: absolute;
    top: 1.5em;
    left: 0;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  body#top section .block:hover label.arrow span em {
    transform: translateY(-1.5em);
  }
  body#top section .block:hover label.arrow span:after {
    transform: translateY(-1.5em);
  }
  body#top section .block:hover label.arrow:after {
    transform: translateX(-25%) rotate(45deg);
    animation-name: LinkArrow;
    animation-duration: 0.5s;
  }
  body#top section .more {
    text-align: right;
  }
  body#top section#about {
    /* About */
    padding-top: 112px;
    margin-bottom: 80px;
  }
  body#top section#about .section-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1080px) {
  body#top section#about .section-inner {
    align-items: flex-start;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#about .section-inner h2 {
    margin-bottom: 0;
  }
  body#top section#about .section-inner .main-visual {
    width: 63%;
    margin-bottom: 18px;
    line-height: 0;
    order: 2;
  }
  body#top section#about .section-inner .main-visual .slick-slide li {
    position: relative;
    overflow: hidden;
    padding-top: 63%;
  }
  body#top section#about .section-inner .main-visual .slick-slide li img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  body#top section#about .section-inner .main-visual .slick-slide li a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
  }
  body#top section#about .section-inner .main-visual .slick-list {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);
  }
  body#top section#about .section-inner .main-visual .slick-dots {
    display: flex;
    justify-content: flex-end;
    margin-right: 2%;
    padding-top: 18px;
  }
  body#top section#about .section-inner .main-visual .slick-dots li {
    margin: 0 6px;
  }
  body#top section#about .section-inner .main-visual .slick-dots li button {
    position: relative;
    background-color: transparent;
    border: 0;
    text-indent: -9999px;
  }
  body#top section#about .section-inner .main-visual .slick-dots li button:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 8px;
    background-color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 100%;
    transition: all 0.3s ease;
    cursor: pointer;
    content: "";
  }
  body#top section#about .section-inner .main-visual .slick-dots li button:hover:before {
    background-color: transparent;
  }
  body#top section#about .section-inner .main-visual .slick-dots li.slick-active button:before {
    background-color: transparent;
  }
  body#top section#about .section-inner .main-lead {
    width: 37%;
    padding: 0 5% 0 3%;
    order: 1;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1280px) {
  body#top section#about .section-inner .main-lead {
    padding: 0 4% 0 0;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1000px) {
  body#top section#about .section-inner .main-lead {
    padding: 0 2% 0 0;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#about .section-inner .main-lead.en p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: normal !important;
  }
  body#top section#about .section-inner .main-lead.en ul {
    display: block !important;
  }
  body#top section#about .section-inner .main-lead.en ul li {
    font-size: 15px;
    font-size: 1.5rem;
    width: 100%;
    background-color: #fff;
    margin-bottom: 10px;
    padding: 20px;
    text-align: left !important;
  }
  body#top section#about .section-inner .main-lead.en ul li:last-child {
    margin-bottom: 10px;
  }
  body#top section#about .section-inner .main-lead.en ul li:before {
    display: none;
  }
  body#top section#about .section-inner .main-lead.en ul li span {
    position: static;
    transform: none;
  }
  body#top section#about .section-inner .main-lead p {
    margin-bottom: 2em;
    line-height: 1.78;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.1em !important;
  }
  body#top section#about .section-inner .main-lead ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    margin-bottom: 45px;
  }
  body#top section#about .section-inner .main-lead ul li {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    position: relative;
    width: 31.5%;
    background-color: #ffffff;
    border-radius: 10px;
    text-align: center;
    line-height: 1.2;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
  }
  body#top section#about .section-inner .main-lead ul li:before {
    display: block;
    padding-top: 100%;
    content: "";
  }
  body#top section#about .section-inner .main-lead ul li span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 98%;
    transform: translate(-50%, -50%);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  body#top section#about .section-inner .main-lead ul li {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 950px) {
  body#top section#about .section-inner .main-lead ul {
    display: block;
    margin-bottom: 25px;
  }
  body#top section#about .section-inner .main-lead ul li {
    width: 100%;
    margin-bottom: 3%;
    padding: 1em;
  }
  body#top section#about .section-inner .main-lead ul li:before {
    display: none;
  }
  body#top section#about .section-inner .main-lead ul li span {
    position: static;
    transform: none;
  }
  body#top section#about .section-inner .main-lead ul li br {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#about .section-inner .main-lead .more {
    text-align: left;
  }
  body#top section#pickup {
    /* Pick Up */
    padding: 60px 0;
  }
  body#top section#pickup .bg-left-light {
    width: calc(50% + 380px);
    height: 414px;
    transform: translateX(380px);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  body#top section#pickup .bg-left-light {
    width: 80%;
    transform: translateX(0);
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#pickup .block-wrap {
    padding-right: 5%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1280px) {
  body#top section#pickup .block-wrap {
    padding-right: 0;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#pickup .block-wrap .block {
    width: 23%;
  }
  body#top section#pickup .block-wrap .block .image {
    padding-top: 140.714%;
  }
  body#top section#pickup .block-wrap .block .text {
    display: block;
    position: relative;
    margin-top: -1rem;
    z-index: 1;
  }
  body#top section#pickup .block-wrap .block .text span {
    display: inline-block;
    background-color: #e19900;
    margin-bottom: 0.5em;
    padding: 0 0.5em;
    line-height: 1.85;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
    color: #ffffff;
  }
  body#top section#pickup .block-wrap .block .text p {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 400;
  }
  body#top section#latestnews {
    /* Latest News */
    margin-bottom: 115px;
    padding: 30px 0 0;
  }
  body#top section#latestnews .section-inner {
    padding-left: 300px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  body#top section#latestnews .section-inner {
    padding-left: 22.5%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  body#top section#latestnews .section-inner {
    padding-left: 15%;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#latestnews .bg-left-dark {
    width: 100%;
    height: calc(100% - 3rem);
    transform: translateX(-420px);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  body#top section#latestnews .bg-left-dark {
    width: 19.5%;
    transform: translateX(0);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  body#top section#latestnews .bg-left-dark {
    width: 14%;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#latestnews input {
    display: none;
  }
  body#top section#latestnews .categories {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    margin-bottom: 40px;
  }
  body#top section#latestnews .categories li {
    margin-right: 10px;
  }
  body#top section#latestnews .categories li label {
    display: block;
    background-color: #c4b39f;
    padding: 0 1em;
    line-height: 1.85;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  body#top section#latestnews .categories li label:hover {
    background-color: #e19900;
  }
  body#top section#latestnews .categories li label.is-show {
    background-color: #e19900;
  }
  body#top section#latestnews .tabcontent {
    visibility: hidden;
    height: 0;
    opacity: 0;
    transition: all 0.6s ease-in;
  }
  body#top section#latestnews .tabcontent.is-show {
    visibility: visible;
    height: auto;
    opacity: 1;
  }
  body#top section#latestnews .tabcontent .news_tag_wrp {
    margin-left: 20px;
  }
  body#top section#latestnews .tabcontent .news_tag {
    display: inline-block;
    color: #e19900 !important;
    font-weight: bold;
    font-size: 13px;
    text-decoration: none !important;
    line-height: 1;
    padding-bottom: 2px;
    position: relative;
  }
  body#top section#latestnews .tabcontent .news_tag:before {
    position: absolute;
    content: "";
    width: 100%;
    border-bottom: 2px dotted #e19900;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2px;
    transition: 0.3s;
  }
  body#top section#latestnews .tabcontent .news_tag:hover:before {
    width: 0;
  }
  body#top section#latestnews .tabcontent .block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    margin-bottom: 32px;
  }
  body#top section#latestnews .tabcontent .block .image {
    width: 160px;
    padding-top: 110px;
  }
  body#top section#latestnews .tabcontent .block .text {
    width: calc(100% - 184px);
  }
  body#top section#latestnews .tabcontent .block .text p {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 400;
  }
  body#top section#latestnews .tabcontent .block .text p.date {
    margin-bottom: 0.5em !important;
  }
  body#top section#latestnews .tabcontent .block .text p.date span {
    display: inline-block;
    background-color: #c4b39f;
    margin-left: 1em;
    padding: 0 1em;
    line-height: 1.85;
    font-size: 13px;
    font-size: 1.3rem;
    color: #ffffff;
  }
  body#top section#latestnews .tabcontent .block .text p a:hover {
    text-decoration: underline;
  }
  body#top section#latestnews .tabcontent .block .text .title a {
    color: #353535;
    text-decoration: none;
  }
  body#top section#latestnews .tabcontent .block .text .title a:hover {
    text-decoration: underline;
  }
  body#top section#latestnews .tabcontent .block .text .title a:before {
    display: none !important;
  }
  body#top section#latestnews .tabcontent .block .text .title a:after {
    display: none !important;
  }
  body#top section#events {
    /* Events */
    margin-bottom: 50px;
  }
  body#top section#events .bg-right-light {
    width: calc(50% + 160px);
    height: calc(100% - 1.5rem);
    transform: translateX(-160px);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  body#top section#events .bg-right-light {
    width: 61.111%;
    transform: translateX(0);
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#events .block-wrap .block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    margin-bottom: 32px;
    width: 48%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1180px) {
  body#top section#events .block-wrap .block {
    width: 48%;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#events .block-wrap .block .image {
    width: 160px;
    padding-top: 227px;
  }
  body#top section#events .block-wrap .block .text {
    width: calc(100% - 185px);
  }
  body#top section#events .block-wrap .block .text .event_title {
    font-weight: 700;
    margin-bottom: 10px;
  }
  body#top section#events .block-wrap .block .text ul.categories {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0.5em;
    gap: 0.4em;
  }
  body#top section#events .block-wrap .block .text ul.categories .open_class_public {
    background-color: #957e64 !important;
    color: #fff !important;
  }
  body#top section#events .block-wrap .block .text ul.categories li {
    display: inline-block;
    vertical-align: middle;
    padding: 0.3em 0.5em 0.2em;
    text-align: left;
    line-height: 1.3;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  body#top section#events .block-wrap .block .text ul.categories li.theme {
    background-color: #e19900;
    color: #ffffff;
  }
  body#top section#events .block-wrap .block .text ul.categories li.subject {
    background-color: #ffffff;
    border: 1px solid #957e64;
    color: #957e64;
  }
  body#top section#events .block-wrap .block .text ul.categories li.end {
    background-color: #a6a6a6;
    color: #ffffff;
  }
  body#top section#events .block-wrap .block .text ul.categories li.ev_cat {
    background-color: #353535;
    border: 1px solid #353535;
    color: #fff;
  }
  body#top section#events .block-wrap .block .text p {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  body#top section#events .block-wrap .block .text p.date {
    margin-bottom: 1em;
    font-weight: 400;
    font-size: 15px;
  }
  body#top section#events .block-wrap .block .text p.date span {
    display: flex;
    gap: 3px;
  }
  body#top section#events .block-wrap .block .text p.date span strong {
    white-space: nowrap;
  }
  body#top section#events .block-wrap .block .text p.date span:last-child {
    margin-top: 5px;
  }
  body#top section#events .block-wrap .block .text p a {
    font-size: 15px;
  }
  body#top section#events .block-wrap .block .text p a:hover {
    text-decoration: underline;
  }
  body#top section#coreprojects {
    /* Core Projects */
    margin-bottom: 80px;
  }
  body#top section#coreprojects .block-wrap {
    padding-top: 2em;
  }
  body#top section#coreprojects .block-wrap .block {
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  body#top section#coreprojects .block-wrap .block a.cover {
    top: -2em;
    height: calc(100% + 2em);
  }
  body#top section#coreprojects .block-wrap .block label.arrow {
    color: #ffffff;
  }
  body#top section#coreprojects .block-wrap .block label.arrow:after {
    color: #ffffff;
  }
  body#top section#coreprojects .block-wrap .block.cp01 label {
    background-color: #9bb946;
  }
  body#top section#coreprojects .block-wrap .block.cp02 label {
    background-color: #71b9c2;
  }
  body#top section#coreprojects .block-wrap .block.cp03 label {
    background-color: #a51f25;
  }
  body#top section#coreprojects .block-wrap .block .image {
    padding-top: 41.666%;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  body#top section#coreprojects .block-wrap .block .image:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    content: "";
    z-index: 1;
  }
  body#top section#coreprojects .block-wrap .block .text {
    width: 100%;
    padding: 1.5em 2em;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 400;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  body#top section#coreprojects .block-wrap .block {
    width: 48.5%;
  }
  body#top section#coreprojects .block-wrap .block:not(:last-child) {
    margin-bottom: 64px;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#coreprojects .block-wrap:hover label.arrow:after {
    transform: translateX(-25%) rotate(45deg);
    animation: none;
  }
  body#top section#publications {
    /* Publications */
    margin-bottom: 60px;
    padding: 60px 0 30px;
  }
  body#top section#publications .bg-left-light {
    width: calc(50% + 230px);
    height: 100%;
    transform: translateX(230px);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  body#top section#publications .bg-left-light {
    width: 66%;
    transform: translateX(0);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1280px) {
  body#top section#publications .bg-left-light {
    width: 86%;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#publications .section-inner {
    padding-right: 442px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1460px) {
  body#top section#publications .section-inner {
    padding-right: 33.5%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1280px) {
  body#top section#publications .section-inner {
    padding-right: 15%;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#publications .block-wrap {
    display: block;
    width: 100%;
  }
  body#top section#publications .block-wrap .block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    width: 100%;
    margin-bottom: 32px;
  }
  body#top section#publications .block-wrap .block .image {
    width: 108px;
    padding-top: 153px;
  }
  body#top section#publications .block-wrap .block .text {
    width: calc(100% - 132px);
  }
  body#top section#publications .block-wrap .block .text p {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 400;
  }
  body#top section#publications .block-wrap .block .text p.date {
    margin-bottom: 1em;
    font-size: 16px;
    font-size: 1.6rem;
  }
  body#top section#publications .block-wrap .block .text p strong {
    font-weight: 500;
    font-size: 16px;
    font-size: 1.6rem;
    display: block;
    margin-bottom: 5px;
  }
  body#top section#publications .block-wrap .block .text p a:before {
    display: none;
  }
  body#top section#publications .block-wrap .block .text p a:after {
    display: none;
  }
  body#top section#publications .block-wrap .block .text p a:hover {
    text-decoration: underline;
  }
  body#top section#project {
    /* Research Project */
    margin-bottom: 75px;
  }
  body#top section#project .block-wrap {
    padding-top: 2em;
  }
  body#top section#project .block-wrap .block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    background-color: #ffffff;
    margin-bottom: 32px;
    padding: 4em 2em 2em;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  body#top section#project .block-wrap .block a.cover {
    top: -2em;
    height: calc(100% + 2em);
  }
  body#top section#project .block-wrap .block a:hover ~ .image img {
    transform: none;
  }
  body#top section#project .block-wrap .block label {
    padding: 0.9em 2.5em 0.9em 2em;
  }
  body#top section#project .block-wrap .block label.arrow {
    background-color: #ffffff;
    color: #353535;
  }
  body#top section#project .block-wrap .block label.arrow:after {
    color: #353535;
  }
  body#top section#project .block-wrap .block .image {
    width: 128px;
    padding-top: 170px;
    border-radius: 0;
    box-shadow: none;
  }
  body#top section#project .block-wrap .block .text {
    width: calc(100% - 152px);
  }
  body#top section#project .block-wrap .block .text p {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 400;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1060px) {
  body#top section#project .block-wrap .block label {
    font-size: 18px;
    font-size: 1.8rem;
  }
  body#top section#project .block-wrap .block .image {
    width: 30%;
    padding-top: 40%;
  }
  body#top section#project .block-wrap .block .text {
    width: 66%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  body#top section#project .block-wrap .block {
    width: 48.5%;
    padding: 4em 4% 2em;
  }
  body#top section#project .block-wrap .block:not(:last-child) {
    margin-bottom: 64px;
  }
  body#top section#project .block-wrap .block label {
    font-size: 20px;
    font-size: 2rem;
  }
  body#top section#project .block-wrap .block .image {
    width: 30%;
    padding-top: 40%;
  }
  body#top section#project .block-wrap .block .text {
    width: 66%;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#bottom-link {
    /* Bottom link */
    margin-bottom: 100px;
  }
  body#top section#bottom-link .block-wrap .block {
    margin-bottom: 25px;
    padding-bottom: 2em;
  }
  body#top section#bottom-link .block-wrap .block label {
    position: absolute;
    left: 0;
    bottom: 0.25rem;
    background-color: #ffffff;
    padding: 0.65em 1.5em;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    text-align: center;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 500;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
    z-index: 2;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1040px) {
  body#top section#bottom-link .block-wrap .block label {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 810px) {
  body#top section#bottom-link .block-wrap .block label {
    bottom: 0.75rem;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 768px) {
  body#top section#bottom-link .block-wrap .block .image {
    padding-top: 124px;
  }
  body#top section#bottom-link .block-wrap .block .image:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    content: "";
    z-index: 1;
  }
  body#top section#bottom-link .block-wrap .block p {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 84%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    margin: -3em auto 0;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
    z-index: 2;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1040px) {
  body#top section#bottom-link .block-wrap .block p {
    width: 94%;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  body#top section#bottom-link .block-wrap .block {
    width: 48.5%;
  }
  body#top section#bottom-link .block-wrap .block p {
    width: 84%;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 768px) {
  .contents-page, .is-root-container {
    padding-top: 112px;
    padding-bottom: 75px;
  }
  .contents-page section#main-title, .is-root-container section#main-title { /* タイトル部分 */ }
  .contents-page section#main-title .bg-top-right-dark, .is-root-container section#main-title .bg-top-right-dark {
    top: -112px;
    height: calc(100% + 112px);
  }
  .contents-page section#main-title .section-inner, .is-root-container section#main-title .section-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    width: 94%;
    max-width: 1280px;
    padding-bottom: 32px;
  }
  .contents-page section#main-title .section-inner h1,
  .contents-page section#main-title .section-inner .category-title, .is-root-container section#main-title .section-inner h1,
  .is-root-container section#main-title .section-inner .category-title {
    width: 398px;
    text-align: center;
    font-size: 30px;
    font-size: 3rem;
    font-weight: 700;
  }
  .contents-page section#main-title .section-inner h1 span,
  .contents-page section#main-title .section-inner .category-title span, .is-root-container section#main-title .section-inner h1 span,
  .is-root-container section#main-title .section-inner .category-title span {
    display: block;
    margin-bottom: 1rem;
    padding: 0 0.5em 0.5rem;
    border-bottom: 2px solid #353535;
    font-family: "Urbanist", sans-serif;
    font-size: 56px;
    font-size: 5.6rem;
  }
  .contents-page section#main-title .section-inner h1 span:first-letter,
  .contents-page section#main-title .section-inner .category-title span:first-letter, .is-root-container section#main-title .section-inner h1 span:first-letter,
  .is-root-container section#main-title .section-inner .category-title span:first-letter {
    color: #e19900;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1028px) {
  .contents-page section#main-title .section-inner h1,
  .contents-page section#main-title .section-inner .category-title, .is-root-container section#main-title .section-inner h1,
  .is-root-container section#main-title .section-inner .category-title {
    font-size: 3.2vw;
  }
  .contents-page section#main-title .section-inner h1 span,
  .contents-page section#main-title .section-inner .category-title span, .is-root-container section#main-title .section-inner h1 span,
  .is-root-container section#main-title .section-inner .category-title span {
    font-size: 5.2vw;
  }
}
@media print, screen and (min-width: 768px) {
  .contents-page section#main-title .section-inner .image, .is-root-container section#main-title .section-inner .image {
    overflow-x: hidden;
    position: relative;
    width: 64%;
    max-width: 807px;
    height: 230px;
    margin-left: 3%;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .contents-page section#main-title .section-inner .image img, .is-root-container section#main-title .section-inner .image img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 807px;
    height: 230px;
    position: absolute;
    top: 0;
    left: 50%;
    max-width: inherit;
    margin: auto;
    transform: translateX(-50%);
    border-radius: 0 !important;
  }
  .contents-page section#main-title.only-en, .is-root-container section#main-title.only-en {
    height: 62px;
  }
  .contents-page section#main-title.only-en .bg-top-right-dark, .is-root-container section#main-title.only-en .bg-top-right-dark {
    top: -112px;
    height: 174px;
  }
  .contents-page section#main-title.only-en .section-inner, .is-root-container section#main-title.only-en .section-inner {
    max-width: 1024px;
    padding-bottom: 0;
  }
  .contents-page section#main-title.only-en .section-inner h1,
  .contents-page section#main-title.only-en .section-inner .category-title, .is-root-container section#main-title.only-en .section-inner h1,
  .is-root-container section#main-title.only-en .section-inner .category-title {
    width: auto;
    text-align: left;
    line-height: 1;
  }
  .contents-page section#main-title.only-en .section-inner h1 span,
  .contents-page section#main-title.only-en .section-inner .category-title span, .is-root-container section#main-title.only-en .section-inner h1 span,
  .is-root-container section#main-title.only-en .section-inner .category-title span {
    margin-bottom: 0;
    padding: 0;
    border-bottom: 0;
  }
  .contents-page section .section-inner, .is-root-container section .section-inner { /* コンテンツ部分 */
    width: 90%;
    max-width: 1024px;
  }
  .contents-page section.lead, .is-root-container section.lead {
    padding: 0 0 40px;
  }
  .contents-page section.lead p, .is-root-container section.lead p {
    margin-bottom: 2.5em;
    line-height: 1.65;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .contents-page section.lead ul, .is-root-container section.lead ul {
    text-align: center;
  }
  .contents-page section.lead ul li, .is-root-container section.lead ul li {
    display: inline-block;
    width: 20em;
    margin: 0 1.25% 20px;
  }
  .contents-page section.lead ul li a, .is-root-container section.lead ul li a {
    width: 100%;
    padding: 1em 2em 1em 2em;
    text-align: center;
    font-size: 18px;
    font-size: 1.8rem;
    color: #ffffff;
  }
  .contents-page section.wp-block-group, .is-root-container section.wp-block-group {
    padding: 60px 0;
    /* リンク関連 */
  }
  .contents-page section.wp-block-group .bg-left-light, .is-root-container section.wp-block-group .bg-left-light {
    width: calc(50% + 70px);
    height: 654px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  .contents-page section.wp-block-group .bg-left-light, .is-root-container section.wp-block-group .bg-left-light {
    width: 55%;
  }
}
@media print, screen and (min-width: 768px) {
  .contents-page section.wp-block-group .bg-right-light, .is-root-container section.wp-block-group .bg-right-light {
    width: calc(50% + 70px);
    height: 654px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1440px) {
  .contents-page section.wp-block-group .bg-right-light, .is-root-container section.wp-block-group .bg-right-light {
    width: 55%;
  }
}
@media print, screen and (min-width: 768px) {
  .contents-page section.wp-block-group .block-wrap, .is-root-container section.wp-block-group .block-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
  }
  .contents-page section.wp-block-group .block-wrap div, .is-root-container section.wp-block-group .block-wrap div {
    width: 46%;
  }
  .contents-page section.wp-block-group img, .is-root-container section.wp-block-group img {
    border-radius: 10px;
  }
  .contents-page section.wp-block-group hr, .is-root-container section.wp-block-group hr {
    width: 100%;
    height: 1px;
    border: 0;
    border-bottom: 1px solid #353535;
    margin-bottom: 60px;
    padding-bottom: 60px;
  }
  .contents-page section.wp-block-group h2, .is-root-container section.wp-block-group h2 {
    margin-bottom: 0.5em;
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: 500;
    color: #957e64;
  }
  .contents-page section.wp-block-group h3, .is-root-container section.wp-block-group h3 {
    position: relative;
    margin-bottom: 0.5em;
    padding-left: 1.5em;
    font-size: 30px;
    font-size: 3rem;
    font-weight: 500;
    color: #957e64;
  }
  .contents-page section.wp-block-group h3:before, .is-root-container section.wp-block-group h3:before {
    display: inline-block;
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 28px;
    height: 2px;
    background-color: #957e64;
    content: "";
  }
  .contents-page section.wp-block-group h4, .is-root-container section.wp-block-group h4 {
    margin-bottom: 0.5em;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 500;
    color: #957e64;
  }
  .contents-page section.wp-block-group p, .is-root-container section.wp-block-group p {
    margin-bottom: 50px;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .contents-page section.wp-block-group dl, .is-root-container section.wp-block-group dl {
    counter-reset: item;
  }
  .contents-page section.wp-block-group dl dt, .is-root-container section.wp-block-group dl dt {
    display: list-item;
    position: relative;
    margin-bottom: 0.5em;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
  }
  .contents-page section.wp-block-group dl dt:before, .is-root-container section.wp-block-group dl dt:before {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    background-color: #353535;
    margin-right: 0.5em;
    border-radius: 2em;
    text-align: center;
    line-height: 1.5;
    font-size: 20px;
    font-size: 2rem;
    color: #ffffff;
    counter-increment: item;
    content: counter(item) "";
  }
  .contents-page section.wp-block-group dl dd, .is-root-container section.wp-block-group dl dd {
    margin-bottom: 2em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .contents-page section.wp-block-group ul.link, .is-root-container section.wp-block-group ul.link {
    text-align: right;
  }
  .contents-page section.wp-block-group ul.link li, .is-root-container section.wp-block-group ul.link li {
    display: inline-block;
    margin-left: 1em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #news .lead {
    padding: 0;
  }
  #news .lead .section-inner {
    max-width: 920px;
  }
  #news .lead h1 {
    margin-bottom: 2em;
    line-height: 1.45;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 700;
    color: #957e64;
  }
  article.news-list .news_tag_wrp {
    margin-left: 20px;
  }
  article.news-list .news_tag {
    display: inline-block;
    color: #e19900 !important;
    font-weight: bold;
    font-size: 13px;
    text-decoration: none !important;
    line-height: 1;
    padding-bottom: 2px;
    position: relative;
  }
  article.news-list .news_tag:before {
    position: absolute;
    content: "";
    width: 100%;
    border-bottom: 2px dotted #e19900;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2px;
    transition: 0.3s;
  }
  article.news-list .news_tag:hover:before {
    width: 0;
  }
  article.news-list .image {
    width: 160px;
    padding-top: 100px;
  }
  article.news-list .text {
    width: calc(100% - 185px);
  }
  article.news-list .text p.date {
    margin-bottom: 0.5em !important;
  }
  article.news-list .text p.date span {
    display: inline-block;
    background-color: #c4b39f;
    margin-left: 1em;
    padding: 0 1em;
    line-height: 1.85;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
    color: #ffffff;
  }
  article.news-list .text p.title {
    margin-bottom: 1em !important;
  }
  article.news-list .text p.title a {
    color: #353535 !important;
    text-decoration: none !important;
    display: inline !important;
  }
  article.news-list .text p.title a:hover {
    text-decoration: underline !important;
    color: #e19900 !important;
  }
  article.news-list .text p.title a:before {
    display: none !important;
  }
  article.news-list .text p.title a:after {
    display: none !important;
  }
  article.news-list .text p.title a[target=_blank]:not([href$=".pdf"]):after {
    display: inline-block !important;
    width: 1em;
    height: 1em;
    margin-left: 0.5em;
    background-repeat: no-repeat;
    background-position: right top 0.1em;
    background-image: url("/lib/img/parts/icon_external_b.svg");
    background-size: contain;
    content: "";
  }
  article.news-list .text p.detail {
    margin-bottom: 0 !important;
    text-align: right;
  }
  .news-pager .section-inner {
    padding-top: 40px;
    padding-bottom: 60px;
    border-top: 1px solid #353535;
  }
  .news-pager .article-list {
    text-align: center;
  }
  #events .lead {
    padding: 0;
  }
  #events .lead p {
    margin-bottom: 1.5em;
  }
  article.events-list .image {
    width: 160px;
    padding-top: 224px;
  }
  article.events-list .text {
    width: calc(100% - 185px);
  }
  article.events-list .text p.title {
    margin-bottom: 1em;
    line-height: 1.6;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
  }
  article.events-list .text p.detail {
    margin-bottom: 0;
    text-align: right;
  }
  article.events-list .text p .btn-arrow {
    color: #fff !important;
    padding-top: 1em !important;
  }
  article.events-list .pdf {
    background-image: none;
    padding-right: 0;
    color: #353535;
  }
  article.events-list .pdf:after {
    display: inline-block;
    width: 3em;
    height: auto;
    background-color: #a51f25;
    background-image: none;
    margin-left: 0.5em;
    text-align: center;
    line-height: 1.4;
    font-size: 12px;
    font-size: 1.2rem;
    color: #ffffff;
    content: "PDF";
  }
  .events-first .section-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    padding-bottom: 20px;
  }
  .events-first .image {
    overflow: hidden;
    position: relative;
    width: 30%;
    padding-top: 42%;
    border-radius: 10px;
  }
  .events-first .image img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .events-first .text {
    width: calc(70% - 20px);
  }
  .events-first .text ul.categories {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-bottom: 0.5em;
    gap: 0.5em;
  }
  .events-first .text ul.categories .open_class_public {
    background-color: #957e64 !important;
    color: #fff !important;
  }
  .events-first .text ul.categories li {
    padding: 0 0.5em;
    text-align: center;
    line-height: 1.8;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  .events-first .text ul.categories li.theme {
    background-color: #e19900;
    color: #ffffff;
  }
  .events-first .text ul.categories li.subject {
    background-color: #ffffff;
    border: 1px solid #957e64;
    color: #957e64;
  }
  .events-first .text ul.categories li.end {
    background-color: #a6a6a6;
    color: #ffffff;
  }
  .events-first .text ul.categories li.ev_cat {
    background-color: #353535;
    border: 1px solid #353535;
    color: #fff;
  }
  .events-first .text h1 {
    margin-top: 1em;
    margin-bottom: 1em;
    line-height: 1.33;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  .events-first .text p.description {
    margin-bottom: 1.5em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .events-first .text p.event_description {
    white-space: pre-line;
  }
  .events-first .text dl.overview div {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .events-first .text dl.overview div dt {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .events-first .text dl.overview div dd {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .events-first .text dl.overview div.half {
    width: 49%;
  }
  .events-second .section-inner {
    padding-bottom: 30px;
    border-bottom: 1px solid #353535;
  }
  .events-second .event_description {
    white-space: pre-line;
    font-size: 16px;
    margin-bottom: 40px;
    line-height: 1.8;
  }
  .events-second ul.events-visual {
    margin-bottom: 1.5em;
  }
  .events-second ul.events-visual li figure {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 484px;
    border-radius: 10px;
  }
  .events-second ul.events-visual li figure img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .events-second ul.events-visual li span {
    display: block;
    padding-top: 0.5em;
    text-align: right;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
  }
  .events-second hr {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #353535;
    margin: 30px 0;
  }
  .events-second dl.reports {
    margin-bottom: 50px;
  }
  .events-second dl.reports div {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .events-second dl.reports div dt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second dl.reports div dd {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second dl.sponsor {
    margin-bottom: 50px;
  }
  .events-second dl.sponsor div {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .events-second dl.sponsor div dt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second dl.sponsor div dd {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second h2 {
    margin-bottom: 0.5em;
    line-height: 1.6;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
  }
  .events-second ul.dots {
    line-height: 1.6;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second table {
    width: 100%;
  }
  .events-second table.programs {
    margin-bottom: 30px;
    border-spacing: 0;
  }
  .events-second table.programs thead th {
    background-color: #f5f0ea;
    padding: 0.75em 1em;
    border-bottom: 2px solid #ffffff;
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
    white-space: nowrap;
  }
  .events-second table.programs tbody td {
    background-color: #f5f0ea;
    padding: 0.75em 1em;
    border-bottom: 1px solid #ffffff;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .events-second table.programs tbody td:first-child {
    white-space: nowrap;
    width: 0;
  }
  .events-second table.programs tbody td:nth-child(2) {
    width: 40%;
  }
  .events-second table.programs tbody td a {
    text-decoration: none;
  }
  .events-second table.programs tbody td a:hover {
    text-decoration: underline;
  }
  .events-second table.programs tbody td:first-child {
    white-space: nowrap;
  }
  .events-second table.programs tbody tr:has(+ .event_content) td {
    border-bottom: none !important;
  }
  .events-second table.programs tbody tr.event_content td {
    white-space: normal !important;
  }
  .events-second table.programs tbody tr:last-child td {
    border-bottom: 0;
  }
  .events-second p.detail {
    margin: 30px 0 0;
    text-align: center;
  }
  .events-second .event_url {
    margin-top: 60px;
  }
  .events-second .event_url dd {
    margin-bottom: 10px;
  }
  .events-second .event_url dd:last-child {
    margin-bottom: 0;
  }
  .events-second .event_url dd a {
    font-size: 16px;
  }
  #projects .lead {
    padding: 0;
  }
  #projects .lead p {
    margin-bottom: 1.5em;
  }
  article.projects-list .image {
    width: 160px;
    padding-top: 160px;
  }
  article.projects-list .text {
    width: calc(100% - 185px);
  }
  article.projects-list .text p.title {
    margin-bottom: 1em;
    line-height: 1.6;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
  }
  article.projects-list .text p.detail {
    margin-bottom: 0;
    text-align: right;
  }
  article.projects-list .text .overview .member_list_txt p {
    margin-bottom: 10px !important;
  }
  article.projects-list .text .overview .member_list_txt p:last-child {
    margin-bottom: 0 !important;
  }
  article.projects-list.projects-list-simple .text {
    width: 100% !important;
  }
  article.projects-list.projects-list-simple .text .title {
    margin-bottom: 20px !important;
  }
  .contents-page section.projects-first h1,
  .is-root-container section.projects-first h1 {
    margin-bottom: 0.5em;
    line-height: 1.33;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  .contents-page section.projects-first h3,
  .is-root-container section.projects-first h3 {
    margin-bottom: 0.5em;
    padding-left: 0;
    line-height: 1.6;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #353535;
  }
  .projects-first .section-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    margin-bottom: 50px;
    padding-bottom: 20px;
    border-bottom: 1px solid #353535;
  }
  .projects-first .image {
    overflow: hidden;
    position: relative;
    width: 30%;
    height: 304px;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .projects-first .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .projects-first .text {
    width: calc(70% - 20px);
  }
  .projects-first .text ul.categories {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex-wrap: wrap;
    margin-bottom: 1.5em;
    gap: 0.5em;
  }
  .projects-first .text ul.categories li {
    padding: 0 0.5em;
    text-align: left;
    line-height: 1.8;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  .projects-first .text ul.categories li.theme {
    background-color: #e19900;
    color: #ffffff;
  }
  .projects-first .text ul.categories li.subject {
    background-color: #ffffff;
    border: 1px solid #957e64;
    color: #957e64;
  }
  .projects-first .text ul.categories li.end {
    background-color: #a6a6a6;
    color: #ffffff;
  }
  .projects-first .text h3 {
    margin-bottom: 0.5em;
    line-height: 1.33;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  .projects-first .text h4 {
    margin-bottom: 0.5em;
    padding-left: 0;
    line-height: 1.6;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #353535;
  }
  .projects-first .text p.description {
    margin-top: 1em;
    margin-bottom: 1.5em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-first .text dl.overview div {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .projects-first .text dl.overview div dt {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-first .text dl.overview div dd {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-first .text dl.overview div.half {
    width: 49%;
  }
  .projects-first .text dl.overview .member_list p {
    display: flex;
    flex-direction: column;
    margin-bottom: 0.6em;
  }
  .projects-first .text dl.overview .member_list p strong {
    font-size: 16px;
    padding-bottom: 0.2em;
  }
  .projects-first .text dl.overview .member_list p:last-child {
    margin-bottom: 0;
  }
  .projects-first .text dl.url div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    background-color: #f5f0ea;
    border-bottom: 2px solid #ffffff;
  }
  .projects-first .text dl.url div:last-child {
    border-bottom: 0;
  }
  .projects-first .text dl.url div dt {
    width: 11em;
    padding: 0.75em 0 0.75em 1em;
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
  }
  .projects-first .text dl.url div dd {
    width: calc(100% - 11em);
    padding: 0.75em 1em 0.75em 0;
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-first .text dl.url div dd a {
    display: inline-block;
    word-break: break-all;
  }
  .projects-first .text dl.url div dd a:before {
    display: none;
  }
  .projects-first .text dl.url div dd a:hover {
    color: #e19900;
  }
  .projects-first .text dl.url div dd a:hover:after {
    background-image: url("/lib/img/parts/icon_external_y.svg");
  }
  .projects-first .pioneer_project p {
    padding-bottom: 0.6em;
    margin-bottom: 0.6em;
  }
  .projects-first .pioneer_project p:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .projects-second h2 {
    margin-bottom: 1em;
    line-height: 1.35;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  .projects-second h3 {
    margin-bottom: 0.5em;
    line-height: 1.6;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #957e64;
  }
  .projects-second article.article-list:first-of-type {
    border-top: 0;
  }
  .projects-second article.article-list.events-list:first-of-type, .projects-second article.article-list.news-list:first-of-type {
    padding: 0 0 32px;
  }
  .projects-second article.article-list.publications-list {
    padding: 0 0 32px;
  }
  .projects-second .article-block {
    margin-bottom: 50px;
  }
  .projects-second .article-block .publications-article-wrap:last-child {
    border-bottom: 1px solid #353535;
  }
  .projects-second .article-block.projects-block {
    margin-bottom: 40px;
  }
  .projects-second .article-block.projects-block.related_projects_block {
    padding-top: 40px;
  }
  .projects-second .publications-article-wrap {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .projects-second .projects-article-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    flex-wrap: wrap;
    border-bottom: 1px solid #353535;
  }
  .projects-second .projects-article-wrap article.article-list {
    width: 47%;
    padding: 0 0 32px;
    border-bottom: 0;
  }
  .projects-second .projects-article-wrap article.article-list .title {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-second p.more {
    padding-top: 30px;
    text-align: center;
  }
  .projects-second p.list {
    margin-bottom: 50px;
    text-align: center;
  }
  .coreprojects p.link-btn {
    text-align: center;
  }
  .coreprojects-lead {
    padding-bottom: 80px;
  }
  .coreprojects-lead h2 {
    margin-bottom: 1em;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  .coreprojects-lead p.lead {
    margin-bottom: 60px;
    line-height: 1.6;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .coreprojects-lead p.caption {
    margin-bottom: 40px;
    text-align: right;
  }
  .coreprojects-lead .image-box {
    background-color: #f5f0ea;
    margin-bottom: 1.5em;
    padding: 30px;
    border-radius: 10px;
  }
  .coreprojects-lead .image-box img {
    margin-left: auto;
    margin-right: auto;
  }
  .contents-page .coreprojects-second .section-inner {
    max-width: 1280px;
  }
  .coreprojects-second p.lead {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
  }
  .coreprojects-second p.link-btn {
    padding-bottom: 5px;
  }
  .coreprojects-second .coreprojects-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    flex-wrap: wrap;
    margin-bottom: 80px;
  }
  .coreprojects-second .coreprojects-wrap .block {
    width: 31.875%;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .coreprojects-second .coreprojects-wrap .block a {
    color: #353535;
    text-decoration: none;
  }
  .coreprojects-second .coreprojects-wrap .block a.cover {
    display: block;
    position: absolute;
    top: -2em;
    left: 0;
    width: 100%;
    height: calc(100% + 2em);
    transition: all 0.3s ease;
    z-index: 10;
  }
  .coreprojects-second .coreprojects-wrap .block a:hover ~ .image img {
    transform: scale(1.2, 1.2);
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow {
    display: inline-block;
    position: absolute;
    top: -1.25em;
    left: 0;
    padding: 0.5em 2.5em 0.5em 2em;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #ffffff;
    z-index: 2;
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.5em;
    bottom: 0;
    width: 0.35em;
    height: 0.35em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(45deg);
    transition: all 0.3s ease;
    content: "";
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow span {
    overflow: hidden;
    display: block;
    position: relative;
    height: 1em;
    line-height: 1;
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow span em {
    display: inline-block;
    transition: all 0.3s ease;
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow span:after {
    display: inline-block;
    position: absolute;
    top: 1.5em;
    left: 0;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  .coreprojects-second .coreprojects-wrap .block.cp01 label {
    background-color: #9bb946;
  }
  .coreprojects-second .coreprojects-wrap .block.cp02 label {
    background-color: #71b9c2;
  }
  .coreprojects-second .coreprojects-wrap .block.cp03 label {
    background-color: #a51f25;
  }
  .coreprojects-second .coreprojects-wrap .block .image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 41.666%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .coreprojects-second .coreprojects-wrap .block .image:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    content: "";
    z-index: 1;
  }
  .coreprojects-second .coreprojects-wrap .block .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: all 0.4s ease;
  }
  .coreprojects-second .coreprojects-wrap .block .image a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .coreprojects-second .coreprojects-wrap .block .image a:hover img {
    opacity: 1;
    transform: scale(1.2, 1.2);
  }
  .coreprojects-second .coreprojects-wrap .block .text {
    width: 100%;
    padding: 1.5em 2em;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 400;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .coreprojects-second .coreprojects-wrap .block {
    width: 48.5%;
  }
  .coreprojects-second .coreprojects-wrap .block:not(:last-child) {
    margin-bottom: 64px;
  }
}
@media print, screen and (min-width: 768px) {
  .coreprojects-second .coreprojects-wrap .block:hover label.arrow:after {
    transform: translateX(-25%) rotate(45deg);
    animation: none;
  }
  .related_projects_list {
    gap: 24px 48px !important;
    padding-bottom: 40px;
  }
  .related_projects_list.related_projects_list_short_code {
    border: none !important;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .related_projects_list.related_projects_list_short_code article {
    border: none !important;
  }
  .related_projects_list.related_projects_list_short_code article .title {
    font-weight: 500 !important;
    font-size: 16px;
  }
  .related_projects_list.related_projects_list_short_code article .title a {
    font-weight: 500 !important;
    font-size: 16px;
  }
  .related_projects_list .event_report p {
    margin-bottom: 0 !important;
  }
  .related_projects_list .event_report p a {
    display: inline-block !important;
    color: #353535 !important;
    text-decoration: underline !important;
    background: none !important;
  }
  .related_projects_list .event_report p a:before {
    display: none !important;
    opacity: 0;
  }
  .related_projects_list .event_report p a:after {
    display: inline-block !important;
  }
  .related_projects_list .event_report p a:hover {
    text-decoration: none !important;
  }
  .related_projects_list article {
    background-color: rgba(245, 240, 234, 0.8);
    padding: 8px 16px 10px !important;
    width: calc(50% - 24px) !important;
    border-radius: 10px !important;
  }
  .related_projects_list .text {
    width: 100% !important;
  }
  .related_projects_list .text .title {
    margin-bottom: 0 !important;
  }
  .related_projects_list .text .overview {
    margin-top: 0.6em !important;
  }
  .related_projects_list .text a {
    text-decoration: underline !important;
  }
  .related_projects_list .text a:hover {
    text-decoration: none !important;
  }
  #publications .lead {
    padding: 0;
  }
  #publications .lead .section-inner {
    padding-bottom: 30px;
    border-bottom: 1px solid #353535;
  }
  #publications .lead p {
    margin-bottom: 1.5em;
  }
  .publications-list-section {
    padding: 30px 0 60px;
  }
  .publications-article-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    flex-wrap: wrap;
    padding-bottom: 30px;
    border-bottom: 1px solid #353535;
  }
  .publications-article-wrap article.publications-list {
    display: block;
    width: 47%;
    border-bottom: 0;
  }
  .publications-article-wrap article.publications-list:first-of-type {
    border-top: 0;
  }
  .publications-article-wrap article.publications-list p.title {
    margin-bottom: 1em;
    line-height: 1.6;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #353535;
  }
  .publications-article-wrap article.publications-list .wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
  }
  .publications-article-wrap article.publications-list .wrap .image {
    width: 160px;
    padding-top: 226px;
  }
  .publications-article-wrap article.publications-list .wrap .text {
    width: calc(100% - 185px);
  }
  .publications-article-wrap article.publications-list .wrap .text dl div {
    margin-bottom: 1.5em;
  }
  .publications-article-wrap article.publications-list .wrap .text dl div dt {
    display: block;
    width: 6.5em;
    background-color: #a4a4a4;
    text-align: center;
    line-height: 1.8;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
  }
  .publications-article-wrap article.publications-list .wrap .text dl div dd {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .publications-article-wrap article.publications-list .wrap .text p.detail {
    text-align: right;
  }
  .publications-article-wrap article.publications-list .wrap .text p.detail a:before {
    display: none;
  }
  .publications-article-wrap article.publications-list .wrap .text p.detail a:after {
    width: 0.45em !important;
    height: 0.45em !important;
  }
  .publications-article-wrap article.publications-list .wrap .text p.detail a span {
    color: #fff;
  }
  #staff .lead {
    padding: 0;
  }
  #staff .lead p {
    margin-bottom: 1em;
  }
  .staffs-list-section {
    padding: 30px 0 0;
  }
  .staff-article-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    flex-wrap: wrap;
    border-bottom: 1px solid #353535;
  }
  .staff-article-wrap article.staff-projects-list {
    width: 100%;
  }
  .staff-article-wrap article.staff-projects-list.staff-projects-list-fellow .text {
    width: 100% !important;
  }
  .staff-article-wrap article.staff-list {
    display: block;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    width: 50%;
    border-top: 1px solid #353535;
    border-bottom: 0;
  }
  .staff-article-wrap article.staff-list:nth-child(odd) {
    padding-right: 3%;
  }
  .staff-article-wrap article.staff-list:nth-child(even) {
    padding-left: 3%;
  }
  .staff-article-wrap article.staff-list .image {
    width: 135px;
    padding-top: 190px;
  }
  .staff-article-wrap article.staff-list .text {
    width: calc(100% - 150px);
    display: flex;
    flex-direction: column;
  }
  .staff-article-wrap article.staff-list .text p.name {
    margin-bottom: 0.5em;
    font-size: 19px;
    font-size: 1.9rem;
    font-weight: 700;
    color: #353535;
  }
  .staff-article-wrap article.staff-list .text p.name small {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .staff-article-wrap article.staff-list .text p.name .dagger {
    font-size: 14px;
    font-size: 1.4rem;
    position: relative;
    top: -6px;
  }
  .staff-article-wrap article.staff-list .text p.detail {
    margin-bottom: 0;
    text-align: right;
    margin-top: auto;
  }
  .staff-article-wrap article.staff-list .text dl div {
    margin-bottom: 1em;
  }
  .staff-article-wrap article.staff-list .text dl div dt {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .staff-article-wrap article.staff-list .text dl div dd {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .staff-article-wrap article.staff-list .text dl div.theme {
    display: block;
  }
  .staff-article-wrap article.staff-list .text dl div.theme dd {
    width: auto;
  }
  .staff-first .section-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    padding-bottom: 20px;
  }
  .staff-first .image {
    overflow: hidden;
    position: relative;
    width: 30%;
  }
  .staff-first .image img {
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
    width: 100%;
  }
  .staff-first .text {
    width: calc(70% - 30px);
  }
  .staff-first .text h1 {
    margin-bottom: 0.75em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #353535;
    line-height: 1.33;
    font-size: 34px;
    font-size: 3.4rem;
    font-weight: 700;
    color: #353535;
  }
  .staff-first .text h1 span {
    margin-left: 1.5em;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .staff-first .text h3 {
    margin-bottom: 0.5em;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
  }
  .staff-first .text h4 {
    display: inline-block;
    background-color: #957e64;
    margin-bottom: 0.5em;
    padding: 0 1em;
    text-align: center;
    line-height: 1.8;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
  }
  .staff-first .text p.description {
    margin-bottom: 1.5em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .staff-first .text dl.overview div {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .staff-first .text dl.overview div dt {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .staff-first .text dl.overview div dd {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .staff-second dl.info {
    flex-wrap: wrap;
    margin-bottom: 40px;
    padding: 30px 0 calc(30px - 1em);
    border-top: 1px solid #353535;
    border-bottom: 1px solid #353535;
  }
  .staff-second dl.info div.wrap {
    width: 100%;
  }
  .staff-second dl.info div.link {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    align-items: flex-start;
    margin-bottom: 1em;
  }
  .staff-second dl.info div.link dt {
    display: block;
    width: 9em;
    background-color: #a4a4a4;
    text-align: center;
    line-height: 1.8;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
  }
  .staff-second dl.info div.link dd {
    width: calc(100% - 10em);
    margin-bottom: 0;
    line-height: 1.8;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .staff-second dl.info div.link dd a {
    display: inline-block;
    word-break: break-all;
  }
  .staff-second dl.info div.link dd a:before {
    display: none;
  }
  .staff-second dl.info div.link dd a:hover {
    color: #e19900;
  }
  .staff-second dl.info div.link dd a:hover:after {
    background-image: url("/lib/img/parts/icon_external_y.svg");
  }
  .staff-second dl.info div.link dd ul li {
    margin-bottom: 0.4em;
  }
  .staff-second dl.info div.link dd ul li:last-child {
    margin-bottom: 0;
  }
  .staff-second h2 {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
  }
  .staff-second p.list {
    margin-top: 40px;
    margin-bottom: 50px;
    text-align: center;
  }
  #contact .wpcf7-response-output {
    display: none !important;
  }
  #contact .contact_thanks_wrp {
    padding: 60px 0px calc(45px - 1.5em);
  }
  #contact .contact_thanks_wrp .thanks_txt01 {
    font-size: 18px;
    margin-bottom: 70px;
  }
  #contact .contact_thanks_wrp .thanks_txt02 {
    font-size: 18px;
    line-height: 1.8;
  }
  #contact .contact-lead .section-inner {
    border-bottom: 1px solid #353535;
  }
  #contact .contact-lead p {
    margin-bottom: 1.5em;
    padding-top: 1em;
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #contact .contact-form {
    margin-bottom: 50px;
    padding: 60px 150px calc(45px - 1.5em);
    border-bottom: 1px solid #353535;
    /* お問い合わせ用フォーム部品 */
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  #contact .contact-form {
    padding: 60px 12% 45px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  #contact .contact-form {
    padding: 60px 5% 45px;
  }
}
@media print, screen and (min-width: 768px) {
  #contact .contact-form .wpcf7-form-control-wrap {
    width: 100%;
  }
  #contact .contact-form dl {
    font-size: 16px;
    font-size: 1.6rem;
  }
  #contact .contact-form dl div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    margin-bottom: 1.6em;
  }
  #contact .contact-form dl div dt {
    width: 14em;
  }
  #contact .contact-form dl div dt:before {
    display: none;
  }
  #contact .contact-form dl div dt span {
    color: #d32929;
  }
  #contact .contact-form dl div dd {
    width: calc(100% - 14em);
  }
  #contact .contact-form p {
    margin-bottom: 1.5em;
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #contact .contact-form .select-box {
    position: relative;
    margin: 0;
  }
  #contact .contact-form .select-box select {
    position: relative;
    width: 100%;
    background-color: #ffffff;
    padding: 0.5em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
  }
  #contact .contact-form .select-box select:focus {
    outline: 0;
  }
  #contact .contact-form .select-box:after {
    display: block;
    position: absolute;
    top: 6px;
    right: 2px;
    width: 36px;
    height: 24px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("/lib/img/parts/arrow_select.svg");
    border-left: 1px solid #b3b3b3;
    pointer-events: none;
    content: "";
  }
  #contact .contact-form input[type=text], #contact .contact-form input[type=email], #contact .contact-form input[type=tel] {
    width: 100%;
    background-color: #ffffff;
    padding: 0.5em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #contact .contact-form textarea {
    width: 100%;
    height: 240px;
    background-color: #ffffff;
    padding: 0.5em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  #contact .contact-form label.accept {
    display: inline-block;
    position: relative;
    padding-left: 2.25em;
  }
  #contact .contact-form label.accept:hover {
    color: #e19900;
    cursor: pointer;
  }
  #contact .contact-form label.accept:before {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 24px;
    height: 24px;
    background-color: #ffffff;
    margin: auto;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    content: "";
  }
  #contact .contact-form input#accept:checked ~ label.accept:after {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 14px;
    height: 8px;
    margin: auto;
    border-left: 2px solid #353535;
    border-bottom: 2px solid #353535;
    transform: translateY(-2px) rotate(-50deg);
    content: "";
  }
  #contact .contact-form .check:after {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 14px;
    height: 8px;
    margin: auto;
    border-left: 2px solid #353535;
    border-bottom: 2px solid #353535;
    transform: translateY(-2px) rotate(-50deg);
    content: "";
  }
  #contact p.submit {
    margin-bottom: 40px;
    text-align: center;
  }
  .error_page_wrp {
    padding-top: 100px;
    height: 100%;
  }
  .error_page_wrp .error_page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .error_page_wrp .error_page h1 {
    font-size: 50px;
  }
  .error_page_wrp .error_page p {
    font-size: 18px;
    margin: 50px 0;
  }
  .gsc-control-cse {
    padding: 30px !important;
    color: #353535;
  }
  .gsc-control-cse .gsc-table-result {
    font-size: 16px;
    display: flex;
    gap: 2rem;
    margin-top: 1rem;
  }
  .gsc-control-cse .gsc-table-result .gsc-table-cell-thumbnail {
    flex-shrink: 0;
  }
  .gsc-control-cse .gs-bidi-start-align {
    font-size: 13px;
    line-height: 1.5;
  }
  .gsc-control-cse .gsc-input-box, .gsc-control-cse .gsc-search-button {
    background-color: #fff;
    color: #353535;
  }
  .gsc-control-cse .gsc-input-box:focus {
    border-color: #aaa;
  }
  .gsc-control-cse input.gsc-input {
    font-size: max(1.6rem, 16px);
    padding: 0.65rem 1.25rem;
  }
  .gsc-control-cse .gsc-search-button-v2 {
    font-size: 0;
    padding: 1.1rem 3rem;
    width: auto;
    vertical-align: middle;
    border: none;
    background-image: none;
    outline: none !important;
    background-color: #353535;
  }
  .gsc-control-cse .gsc-search-button-v2:hover {
    background-color: #353535;
    opacity: 0.5 !important;
    border-color: #353535;
  }
  .gsc-control-cse .gs-result .gs-title *, .gsc-control-cse .gsc-cursor-page, .gsc-control-cse .gs-spelling a {
    color: #353535;
  }
  .gsc-control-cse .gsc-tabHeader.gsc-tabhActive {
    color: #353535;
    border-bottom: 2px solid #353535;
  }
  .gsc-control-cse .gsst_a .gscb_a {
    color: #353535;
    cursor: pointer;
  }
  .gsc-control-cse .gsst_a .gscb_a:hover {
    color: #e19900;
  }
  .gsc-control-cse .gsst_a .gscb_a:hover * {
    color: #e19900 !important;
  }
  .gsc-control-cse .gsc-webResult.gsc-result {
    margin: 5rem 0;
    padding: 0;
    border: none;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-title {
    color: #353535;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-title:hover {
    color: #e19900;
    text-decoration: underline;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-title:hover * {
    color: #e19900 !important;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-snippet {
    color: #4d4d4d;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-visibleUrl {
    color: #a4a4a4;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-visibleUrl span {
    font-size: max(1.2rem, 10px);
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-visibleUrl-short {
    color: #e19900;
  }
  .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page {
    color: #353535;
    font-family: "Open Sans", sans-serif;
    font-size: max(1.4rem, 10px);
    letter-spacing: 0;
    position: relative;
    font-weight: normal;
  }
  .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page.gsc-cursor-current-page:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #E60012;
    left: 0;
    bottom: -0.5rem;
  }
  .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page:hover {
    color: #e19900;
  }
  .gsc-control-cse .gsc-cursor-box {
    margin-bottom: 2rem !important;
  }
  .gsc-control-cse .gsc-cursor-box .gsc-cursor {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2.5rem;
  }
  .gsc-control-cse .gsc-cursor-box .gsc-cursor .gsc-cursor-page {
    font-size: 16px;
    margin: 0 !important;
  }
  .gsc-control-cse .gs-web-image-box, .gsc-control-cse .gs-promotion-image-box {
    padding: 0;
    margin: 0 1rem 0 0;
  }
  .gsc-control-cse .gs-image {
    border: none !important;
    max-width: 12rem !important;
    max-height: 12rem !important;
    margin: 0 !important;
  }
  .gsc-control-cse .gs-image-box {
    float: none !important;
    width: 12rem !important;
    margin: 0 !important;
  }
  .gsc-control-cse .gs-image-box > a {
    display: block;
  }
  .gsc-control-cse .gs-image-box > a img {
    border: 1px solid #f2f2f2 !important;
    width: 12rem;
    height: 12rem;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
  }
  .pc_pt0, .pc_pv0,
  .pc_pa0 {
    padding-top: 0px !important;
  }
  .pc_pr0, .pc_ph0,
  .pc_pa0 {
    padding-right: 0px !important;
  }
  .pc_pb0, .pc_pv0,
  .pc_pa0 {
    padding-bottom: 0px !important;
  }
  .pc_pl0, .pc_ph0,
  .pc_pa0 {
    padding-left: 0px !important;
  }
  .pc_mt0, .pc_mv0,
  .pc_ma0 {
    margin-top: 0px !important;
  }
  .pc_mr0, .pc_mh0,
  .pc_ma0 {
    margin-right: 0px !important;
  }
  .pc_mb0, .pc_mv0,
  .pc_ma0 {
    margin-bottom: 0px !important;
  }
  .pc_ml0, .pc_mh0,
  .pc_ma0 {
    margin-left: 0px !important;
  }
  .pc_pt5, .pc_pv5,
  .pc_pa5 {
    padding-top: 5px !important;
  }
  .pc_pr5, .pc_ph5,
  .pc_pa5 {
    padding-right: 5px !important;
  }
  .pc_pb5, .pc_pv5,
  .pc_pa5 {
    padding-bottom: 5px !important;
  }
  .pc_pl5, .pc_ph5,
  .pc_pa5 {
    padding-left: 5px !important;
  }
  .pc_mt5, .pc_mv5,
  .pc_ma5 {
    margin-top: 5px !important;
  }
  .pc_mr5, .pc_mh5,
  .pc_ma5 {
    margin-right: 5px !important;
  }
  .pc_mb5, .pc_mv5,
  .pc_ma5 {
    margin-bottom: 5px !important;
  }
  .pc_ml5, .pc_mh5,
  .pc_ma5 {
    margin-left: 5px !important;
  }
  .pc_pt10, .pc_pv10,
  .pc_pa10 {
    padding-top: 10px !important;
  }
  .pc_pr10, .pc_ph10,
  .pc_pa10 {
    padding-right: 10px !important;
  }
  .pc_pb10, .pc_pv10,
  .pc_pa10 {
    padding-bottom: 10px !important;
  }
  .pc_pl10, .pc_ph10,
  .pc_pa10 {
    padding-left: 10px !important;
  }
  .pc_mt10, .pc_mv10,
  .pc_ma10 {
    margin-top: 10px !important;
  }
  .pc_mr10, .pc_mh10,
  .pc_ma10 {
    margin-right: 10px !important;
  }
  .pc_mb10, .pc_mv10,
  .pc_ma10 {
    margin-bottom: 10px !important;
  }
  .pc_ml10, .pc_mh10,
  .pc_ma10 {
    margin-left: 10px !important;
  }
  .pc_pt15, .pc_pv15,
  .pc_pa15 {
    padding-top: 15px !important;
  }
  .pc_pr15, .pc_ph15,
  .pc_pa15 {
    padding-right: 15px !important;
  }
  .pc_pb15, .pc_pv15,
  .pc_pa15 {
    padding-bottom: 15px !important;
  }
  .pc_pl15, .pc_ph15,
  .pc_pa15 {
    padding-left: 15px !important;
  }
  .pc_mt15, .pc_mv15,
  .pc_ma15 {
    margin-top: 15px !important;
  }
  .pc_mr15, .pc_mh15,
  .pc_ma15 {
    margin-right: 15px !important;
  }
  .pc_mb15, .pc_mv15,
  .pc_ma15 {
    margin-bottom: 15px !important;
  }
  .pc_ml15, .pc_mh15,
  .pc_ma15 {
    margin-left: 15px !important;
  }
  .pc_pt20, .pc_pv20,
  .pc_pa20 {
    padding-top: 20px !important;
  }
  .pc_pr20, .pc_ph20,
  .pc_pa20 {
    padding-right: 20px !important;
  }
  .pc_pb20, .pc_pv20,
  .pc_pa20 {
    padding-bottom: 20px !important;
  }
  .pc_pl20, .pc_ph20,
  .pc_pa20 {
    padding-left: 20px !important;
  }
  .pc_mt20, .pc_mv20,
  .pc_ma20 {
    margin-top: 20px !important;
  }
  .pc_mr20, .pc_mh20,
  .pc_ma20 {
    margin-right: 20px !important;
  }
  .pc_mb20, .pc_mv20,
  .pc_ma20 {
    margin-bottom: 20px !important;
  }
  .pc_ml20, .pc_mh20,
  .pc_ma20 {
    margin-left: 20px !important;
  }
  .pc_pt25, .pc_pv25,
  .pc_pa25 {
    padding-top: 25px !important;
  }
  .pc_pr25, .pc_ph25,
  .pc_pa25 {
    padding-right: 25px !important;
  }
  .pc_pb25, .pc_pv25,
  .pc_pa25 {
    padding-bottom: 25px !important;
  }
  .pc_pl25, .pc_ph25,
  .pc_pa25 {
    padding-left: 25px !important;
  }
  .pc_mt25, .pc_mv25,
  .pc_ma25 {
    margin-top: 25px !important;
  }
  .pc_mr25, .pc_mh25,
  .pc_ma25 {
    margin-right: 25px !important;
  }
  .pc_mb25, .pc_mv25,
  .pc_ma25 {
    margin-bottom: 25px !important;
  }
  .pc_ml25, .pc_mh25,
  .pc_ma25 {
    margin-left: 25px !important;
  }
  .pc_pt30, .pc_pv30,
  .pc_pa30 {
    padding-top: 30px !important;
  }
  .pc_pr30, .pc_ph30,
  .pc_pa30 {
    padding-right: 30px !important;
  }
  .pc_pb30, .pc_pv30,
  .pc_pa30 {
    padding-bottom: 30px !important;
  }
  .pc_pl30, .pc_ph30,
  .pc_pa30 {
    padding-left: 30px !important;
  }
  .pc_mt30, .pc_mv30,
  .pc_ma30 {
    margin-top: 30px !important;
  }
  .pc_mr30, .pc_mh30,
  .pc_ma30 {
    margin-right: 30px !important;
  }
  .pc_mb30, .pc_mv30,
  .pc_ma30 {
    margin-bottom: 30px !important;
  }
  .pc_ml30, .pc_mh30,
  .pc_ma30 {
    margin-left: 30px !important;
  }
  .pc_pt35, .pc_pv35,
  .pc_pa35 {
    padding-top: 35px !important;
  }
  .pc_pr35, .pc_ph35,
  .pc_pa35 {
    padding-right: 35px !important;
  }
  .pc_pb35, .pc_pv35,
  .pc_pa35 {
    padding-bottom: 35px !important;
  }
  .pc_pl35, .pc_ph35,
  .pc_pa35 {
    padding-left: 35px !important;
  }
  .pc_mt35, .pc_mv35,
  .pc_ma35 {
    margin-top: 35px !important;
  }
  .pc_mr35, .pc_mh35,
  .pc_ma35 {
    margin-right: 35px !important;
  }
  .pc_mb35, .pc_mv35,
  .pc_ma35 {
    margin-bottom: 35px !important;
  }
  .pc_ml35, .pc_mh35,
  .pc_ma35 {
    margin-left: 35px !important;
  }
  .pc_pt40, .pc_pv40,
  .pc_pa40 {
    padding-top: 40px !important;
  }
  .pc_pr40, .pc_ph40,
  .pc_pa40 {
    padding-right: 40px !important;
  }
  .pc_pb40, .pc_pv40,
  .pc_pa40 {
    padding-bottom: 40px !important;
  }
  .pc_pl40, .pc_ph40,
  .pc_pa40 {
    padding-left: 40px !important;
  }
  .pc_mt40, .pc_mv40,
  .pc_ma40 {
    margin-top: 40px !important;
  }
  .pc_mr40, .pc_mh40,
  .pc_ma40 {
    margin-right: 40px !important;
  }
  .pc_mb40, .pc_mv40,
  .pc_ma40 {
    margin-bottom: 40px !important;
  }
  .pc_ml40, .pc_mh40,
  .pc_ma40 {
    margin-left: 40px !important;
  }
  .pc_pt45, .pc_pv45,
  .pc_pa45 {
    padding-top: 45px !important;
  }
  .pc_pr45, .pc_ph45,
  .pc_pa45 {
    padding-right: 45px !important;
  }
  .pc_pb45, .pc_pv45,
  .pc_pa45 {
    padding-bottom: 45px !important;
  }
  .pc_pl45, .pc_ph45,
  .pc_pa45 {
    padding-left: 45px !important;
  }
  .pc_mt45, .pc_mv45,
  .pc_ma45 {
    margin-top: 45px !important;
  }
  .pc_mr45, .pc_mh45,
  .pc_ma45 {
    margin-right: 45px !important;
  }
  .pc_mb45, .pc_mv45,
  .pc_ma45 {
    margin-bottom: 45px !important;
  }
  .pc_ml45, .pc_mh45,
  .pc_ma45 {
    margin-left: 45px !important;
  }
  .pc_pt50, .pc_pv50,
  .pc_pa50 {
    padding-top: 50px !important;
  }
  .pc_pr50, .pc_ph50,
  .pc_pa50 {
    padding-right: 50px !important;
  }
  .pc_pb50, .pc_pv50,
  .pc_pa50 {
    padding-bottom: 50px !important;
  }
  .pc_pl50, .pc_ph50,
  .pc_pa50 {
    padding-left: 50px !important;
  }
  .pc_mt50, .pc_mv50,
  .pc_ma50 {
    margin-top: 50px !important;
  }
  .pc_mr50, .pc_mh50,
  .pc_ma50 {
    margin-right: 50px !important;
  }
  .pc_mb50, .pc_mv50,
  .pc_ma50 {
    margin-bottom: 50px !important;
  }
  .pc_ml50, .pc_mh50,
  .pc_ma50 {
    margin-left: 50px !important;
  }
  .pc_pt55, .pc_pv55,
  .pc_pa55 {
    padding-top: 55px !important;
  }
  .pc_pr55, .pc_ph55,
  .pc_pa55 {
    padding-right: 55px !important;
  }
  .pc_pb55, .pc_pv55,
  .pc_pa55 {
    padding-bottom: 55px !important;
  }
  .pc_pl55, .pc_ph55,
  .pc_pa55 {
    padding-left: 55px !important;
  }
  .pc_mt55, .pc_mv55,
  .pc_ma55 {
    margin-top: 55px !important;
  }
  .pc_mr55, .pc_mh55,
  .pc_ma55 {
    margin-right: 55px !important;
  }
  .pc_mb55, .pc_mv55,
  .pc_ma55 {
    margin-bottom: 55px !important;
  }
  .pc_ml55, .pc_mh55,
  .pc_ma55 {
    margin-left: 55px !important;
  }
  .pc_pt60, .pc_pv60,
  .pc_pa60 {
    padding-top: 60px !important;
  }
  .pc_pr60, .pc_ph60,
  .pc_pa60 {
    padding-right: 60px !important;
  }
  .pc_pb60, .pc_pv60,
  .pc_pa60 {
    padding-bottom: 60px !important;
  }
  .pc_pl60, .pc_ph60,
  .pc_pa60 {
    padding-left: 60px !important;
  }
  .pc_mt60, .pc_mv60,
  .pc_ma60 {
    margin-top: 60px !important;
  }
  .pc_mr60, .pc_mh60,
  .pc_ma60 {
    margin-right: 60px !important;
  }
  .pc_mb60, .pc_mv60,
  .pc_ma60 {
    margin-bottom: 60px !important;
  }
  .pc_ml60, .pc_mh60,
  .pc_ma60 {
    margin-left: 60px !important;
  }
  .pc_pt75, .pc_pv75,
  .pc_pa75 {
    padding-top: 75px !important;
  }
  .pc_pr75, .pc_ph75,
  .pc_pa75 {
    padding-right: 75px !important;
  }
  .pc_pb75, .pc_pv75,
  .pc_pa75 {
    padding-bottom: 75px !important;
  }
  .pc_pl75, .pc_ph75,
  .pc_pa75 {
    padding-left: 75px !important;
  }
  .pc_mt75, .pc_mv75,
  .pc_ma75 {
    margin-top: 75px !important;
  }
  .pc_mr75, .pc_mh75,
  .pc_ma75 {
    margin-right: 75px !important;
  }
  .pc_mb75, .pc_mv75,
  .pc_ma75 {
    margin-bottom: 75px !important;
  }
  .pc_ml75, .pc_mh75,
  .pc_ma75 {
    margin-left: 75px !important;
  }
  .pc_pt80, .pc_pv80,
  .pc_pa80 {
    padding-top: 80px !important;
  }
  .pc_pr80, .pc_ph80,
  .pc_pa80 {
    padding-right: 80px !important;
  }
  .pc_pb80, .pc_pv80,
  .pc_pa80 {
    padding-bottom: 80px !important;
  }
  .pc_pl80, .pc_ph80,
  .pc_pa80 {
    padding-left: 80px !important;
  }
  .pc_mt80, .pc_mv80,
  .pc_ma80 {
    margin-top: 80px !important;
  }
  .pc_mr80, .pc_mh80,
  .pc_ma80 {
    margin-right: 80px !important;
  }
  .pc_mb80, .pc_mv80,
  .pc_ma80 {
    margin-bottom: 80px !important;
  }
  .pc_ml80, .pc_mh80,
  .pc_ma80 {
    margin-left: 80px !important;
  }
  .pc_pt95, .pc_pv95,
  .pc_pa95 {
    padding-top: 95px !important;
  }
  .pc_pr95, .pc_ph95,
  .pc_pa95 {
    padding-right: 95px !important;
  }
  .pc_pb95, .pc_pv95,
  .pc_pa95 {
    padding-bottom: 95px !important;
  }
  .pc_pl95, .pc_ph95,
  .pc_pa95 {
    padding-left: 95px !important;
  }
  .pc_mt95, .pc_mv95,
  .pc_ma95 {
    margin-top: 95px !important;
  }
  .pc_mr95, .pc_mh95,
  .pc_ma95 {
    margin-right: 95px !important;
  }
  .pc_mb95, .pc_mv95,
  .pc_ma95 {
    margin-bottom: 95px !important;
  }
  .pc_ml95, .pc_mh95,
  .pc_ma95 {
    margin-left: 95px !important;
  }
  .pc_pt100, .pc_pv100,
  .pc_pa100 {
    padding-top: 100px !important;
  }
  .pc_pr100, .pc_ph100,
  .pc_pa100 {
    padding-right: 100px !important;
  }
  .pc_pb100, .pc_pv100,
  .pc_pa100 {
    padding-bottom: 100px !important;
  }
  .pc_pl100, .pc_ph100,
  .pc_pa100 {
    padding-left: 100px !important;
  }
  .pc_mt100, .pc_mv100,
  .pc_ma100 {
    margin-top: 100px !important;
  }
  .pc_mr100, .pc_mh100,
  .pc_ma100 {
    margin-right: 100px !important;
  }
  .pc_mb100, .pc_mv100,
  .pc_ma100 {
    margin-bottom: 100px !important;
  }
  .pc_ml100, .pc_mh100,
  .pc_ma100 {
    margin-left: 100px !important;
  }
}
@media screen and (max-width: 767px) {
  body {
    overflow-x: hidden;
    z-index: 2;
  }
  .pc {
    display: none !important;
  }
  /* CSS Document */
  body.fixed { /* オープン時body固定 */
    overflow-y: hidden;
  }
  header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    z-index: 1000;
  }
  header .inner {
    position: relative;
  }
  header #logo {
    position: absolute;
    top: 5px;
    left: 10px;
    z-index: 2;
  }
  header #logo.en a strong {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.1;
  }
  header #logo a {
    display: block;
    height: 45px;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url("/lib/img/parts/logo.svg");
    background-size: contain;
    margin: auto;
    padding-left: 50px;
    line-height: 1.2;
    color: #353535;
    text-decoration: none;
  }
  header #logo a:hover {
    opacity: 0.7;
  }
  header #logo a span {
    display: block;
    font-size: 10px;
    font-size: 1rem;
    font-weight: 500;
  }
  header #logo a span.tufs {
    font-size: 12px;
    font-size: 1.2rem;
  }
  header #logo a strong {
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
    white-space: nowrap;
  }
  header #logo a strong br {
    display: none;
  }
  header .toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    background-color: #353535;
    margin: auto;
    border-bottom-left-radius: 10px;
    cursor: pointer;
    z-index: 1001;
    transition: all 0.5s ease-in;
  }
  header .toggle.clone {
    position: fixed;
    top: 0;
    right: 0;
  }
  header .toggle > div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 24px;
    height: 5px;
    margin: auto;
  }
  header .toggle > div span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    height: 2px;
    background-color: #ffffff;
    margin: auto;
    transition: transform 0.2s ease-in;
  }
  header .toggle > div span:nth-child(1) {
    width: 24px;
    transform: translateY(-4px);
  }
  header .toggle > div span:nth-child(2) {
    width: 16px;
    transform: translateY(4px);
  }
  header nav {
    position: fixed;
    top: 0;
    right: -40rem;
    width: 72%;
    max-width: 40rem;
    background-color: #353535;
    padding: 60px 0 35px;
    text-align: center;
    transition: all 0.3s linear;
    z-index: 1000;
  }
  header nav .search-box-sp {
    width: 82.85%;
    background-color: #ffffff;
    margin: 0 auto 25px;
    padding: 6px 3% 12px;
    border-radius: 10px;
  }
  header nav .search-box-sp .search-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    font-size: 13px;
    font-size: 1.3rem;
    border-bottom: 2px solid #a4a4a4;
  }
  header nav .search-box-sp .search-inner input[type=text] {
    width: calc(100% - 2em);
    padding: 6px 0;
    color: #000;
  }
  header nav .search-box-sp .search-inner input[type=text]::-moz-placeholder {
    color: #a4a4a4;
  }
  header nav .search-box-sp .search-inner input[type=text]::placeholder {
    color: #a4a4a4;
  }
  header nav .search-box-sp .search-inner input[type=text]:focus {
    background-color: #ffffff;
    color: #353535;
  }
  header nav .search-box-sp .search-inner input[type=text]:focus::-moz-placeholder {
    color: transparent;
  }
  header nav .search-box-sp .search-inner input[type=text]:focus::placeholder {
    color: transparent;
  }
  header nav .search-box-sp .search-inner input[type=submit] {
    display: none;
  }
  header nav .search-box-sp .search-inner label {
    display: block;
    width: 2.5em;
    height: 3.5em;
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url("/lib/img/parts/icon_search_b.svg");
    transition: all 0.3s ease;
    cursor: pointer;
  }
  header nav .search-box-sp .search-inner label:hover {
    background-image: url("/lib/img/parts/icon_search_o.svg");
  }
  header nav ul#global { /* グローバルメニュー */
    border-bottom: 1px solid #717171;
  }
  header nav ul#global li {
    position: relative;
    background-color: #353535;
    border-top: 1px solid #717171;
    text-align: left;
  }
  header nav ul#global li a {
    display: block;
    width: 100%;
    padding: 1.5em 1.5em;
    font-size: 14px;
    font-size: 1.4rem;
    color: #ffffff;
    text-decoration: none;
  }
  header nav ul#global li ul.child {
    visibility: hidden;
    height: 0;
    opacity: 0;
    transition: all 0.3s ease;
  }
  header nav ul#global li ul.child li {
    border-top: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
  }
  header nav ul#global li ul.child li a {
    display: block;
    position: relative;
    width: 100%;
    background-color: #716c6c;
    padding: 1.5em 1.5em 1.5em 2.5em;
    color: #ffffff;
    text-decoration: none;
  }
  header nav ul#global li ul.child li a[target=_blank] span {
    background-repeat: no-repeat;
    background-position: right top 4px;
    background-image: url("/lib/img/parts/icon_external_w.svg");
    background-size: 1em;
    padding-right: 1.5em;
  }
  header nav ul#global li input {
    display: none;
  }
  header nav ul#global li input ~ label {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 14%;
    height: 4.5em;
    font-size: 14px;
    font-size: 1.4rem;
  }
  header nav ul#global li input ~ label:after {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(135deg);
    content: "";
  }
  header nav ul#global li input:checked ~ label:after {
    transform: translateX(-25%) translateY(50%) rotate(-45deg);
  }
  header nav ul#global li input:checked ~ ul {
    visibility: visible;
    height: auto;
    line-height: normal;
    opacity: 1;
  }
  header nav ul#global li input:checked ~ ul li a {
    padding: 1.5em 40px;
  }
  header nav ul.sub-sp { /* サブメニュー */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    padding: 25px 0;
  }
  header nav ul.sub-sp li a {
    display: block;
    background-repeat: no-repeat;
    line-height: 2.4;
    font-size: 14px;
    font-size: 1.4rem;
    color: #ffffff;
    text-decoration: none;
  }
  header nav ul.sub-sp li.english {
    margin-right: 6%;
  }
  header nav ul.sub-sp li.english a {
    background-position: left center;
    background-image: url("/lib/img/parts/icon_language.svg");
    background-size: 1.25em;
    padding-left: 1.75em;
  }
  header nav ul.sub-sp li.access {
    margin-left: 6%;
  }
  header nav ul.sub-sp li.access a {
    background-position: left center;
    background-image: url("/lib/img/parts/icon_access.svg");
    background-size: 1em;
    padding-left: 1.25em;
  }
  header nav ul.sub-sp li.use, header nav ul.sub-sp li.search {
    display: none;
  }
  header nav .contact {
    width: 80%;
    margin: 0 auto;
  }
  header nav .contact a {
    display: block;
    width: 100%;
    max-width: 300px;
    background-color: #f5f0ea;
    margin-left: auto;
    margin-right: auto;
    padding: 1em 2em;
    line-height: 1.375;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #353535;
  }
  header nav .contact a:after {
    width: 0.45em;
    height: 0.45em;
    color: #353535;
  }
  header .search-box-pc {
    display: none;
  }
  body .body-cover {
    opacity: 0;
    transition: opacity 0.6s ease;
  }
  body.fixed {
    position: relative;
  }
  body.fixed .body-cover {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(53, 53, 53, 0.7);
    opacity: 1;
    z-index: 1000;
  }
  .open { /* メニューオープン */ }
  .open .toggle span:nth-child(1) {
    transform: rotate(45deg);
  }
  .open .toggle span:nth-child(2) {
    width: 24px;
    transform: rotate(-45deg);
  }
  .open nav {
    overflow-y: scroll;
    right: 0;
    height: 100vh;
  }
  /* CSS Document */
  footer {
    position: relative;
    background-color: #353535;
    font-family: "Noto Sans JP", sans-serif;
    color: #ffffff;
    z-index: 100;
  }
  footer .inner {
    width: 100%;
  }
  footer .inner nav {
    font-size: 14px;
    font-size: 1.4rem;
    color: #ffffff;
  }
  footer .inner nav .block-sp {
    position: relative;
  }
  footer .inner nav .block-sp h3 {
    border-bottom: 1px solid #717171;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
  }
  footer .inner nav .block-sp h3 a {
    background-color: #353535;
    padding: 1.5em 24px;
  }
  footer .inner nav .block-sp ul {
    visibility: hidden;
    height: 0;
    line-height: 0;
    transition: all 0.2s ease;
    opacity: 0;
  }
  footer .inner nav .block-sp ul li {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
  }
  footer .inner nav .block-sp ul li a {
    background-color: #716c6c;
    padding: 0 40px;
  }
  footer .inner nav .block-sp a {
    display: block;
    position: relative;
    width: 100%;
    color: #ffffff;
    text-decoration: none;
  }
  footer .inner nav .block-sp a[target=_blank] span {
    background-repeat: no-repeat;
    background-position: right top 4px;
    background-image: url("/lib/img/parts/icon_external_w.svg");
    background-size: 1em;
    padding-right: 1.5em;
  }
  footer .inner nav .block-sp input {
    display: none;
  }
  footer .inner nav .block-sp input ~ label {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 12%;
    height: 4em;
  }
  footer .inner nav .block-sp input ~ label:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.25em;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(135deg);
    content: "";
  }
  footer .inner nav .block-sp input:checked ~ label:after {
    transform: translateX(-25%) translateY(50%) rotate(-45deg);
  }
  footer .inner nav .block-sp input:checked ~ ul {
    visibility: visible;
    height: auto;
    line-height: normal;
    opacity: 1;
  }
  footer .inner nav .block-sp input:checked ~ ul li a {
    padding: 1.5em 40px;
  }
  footer .inner-bottom {
    position: relative;
    padding: 8% 10%;
    text-align: center;
  }
  footer .inner-bottom .footer_logo.en a strong {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.1;
  }
  footer .inner-bottom .footer_logo a {
    display: block;
    height: 45px;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url("/lib/img/parts/logo_w.svg");
    background-size: contain;
    margin: auto;
    padding-left: 50px;
    line-height: 1.2;
    color: #353535;
    text-decoration: none;
    color: #fff;
    text-align: left;
  }
  footer .inner-bottom .footer_logo a span {
    display: block;
    font-size: 10px;
    font-size: 1rem;
    font-weight: 500;
  }
  footer .inner-bottom .footer_logo a span.tufs {
    font-size: 12px;
    font-size: 1.2rem;
  }
  footer .inner-bottom .footer_logo a strong {
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
    white-space: nowrap;
  }
  footer .inner-bottom .footer_logo a strong br {
    display: none;
  }
  footer .inner-bottom .contact {
    margin-bottom: 10%;
  }
  footer .inner-bottom .contact a {
    display: block;
    width: 100%;
    max-width: 300px;
    background-color: #f5f0ea;
    margin-left: auto;
    margin-right: auto;
    padding: 1em 4em;
    line-height: 1.375;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #353535;
  }
  footer .inner-bottom .contact a:after {
    width: 0.45em;
    height: 0.45em;
    color: #353535;
  }
  footer .inner-bottom .address {
    line-height: 2;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    margin-bottom: 20px;
  }
  footer address {
    background-color: #c4b39f;
    padding: 25px 10%;
    text-align: center;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    color: #ffffff;
  }
  /* CSS Document */
  /* コンテンツ共通 */
  html {
    -webkit-overflow-scrolling: touch;
  }
  body {
    overflow-x: hidden;
    background-color: #fffdf6;
  }
  .editor-styles-wrapper {
    background-color: #fffdf6;
  }
  #wrapper, .editor-styles-wrapper {
    background-repeat: repeat;
    background-position: center top;
    background-image: url("/lib/img/parts/bg_line_sp.png");
    padding-top: 58px;
  }
  #wrapper.en, .editor-styles-wrapper.en {
    padding-top: 80px;
  }
  #wrapper:before, .editor-styles-wrapper:before {
    display: block;
    position: fixed;
    top: 235px;
    left: 0;
    right: 0;
    width: 100%;
    height: 0;
    background-repeat: no-repeat;
    background-position: center top;
    background-image: url("/lib/img/parts/map.svg");
    background-size: contain;
    margin: auto;
    padding-top: 58.4%;
    z-index: -1;
    content: "";
  }
  #wrapper img, .editor-styles-wrapper img {
    display: block;
  }
  /* ページトップ */
  .pagetop {
    position: fixed;
    right: 3%;
    bottom: 6%;
    width: 48px;
    height: 48px;
    transform: translateY(-12px);
    z-index: 2;
  }
  .pagetop.active {
    visibility: visible;
    opacity: 1;
  }
  .pagetop.stop {
    position: absolute;
    top: -48px;
    bottom: 6%;
  }
  .pagetop a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center top;
    background-image: url("/lib/img/parts/pagetop.svg");
    background-size: contain;
    text-indent: -9999px;
    opacity: 1;
  }
  /* パンくず */
  nav#breadcrumbs {
    margin-bottom: 2em;
  }
  nav#breadcrumbs ol {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 1em 3% 1em;
    text-align: right;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
    white-space: nowrap;
    z-index: 1;
  }
  nav#breadcrumbs ol li {
    display: inline-block;
    position: relative;
    margin-left: 0.5em;
    color: #353535;
    white-space: nowrap;
    word-break: keep-all;
  }
  nav#breadcrumbs ol li br {
    display: none;
  }
  nav#breadcrumbs ol li:after {
    margin-left: 0.5em;
    content: "-";
  }
  nav#breadcrumbs ol li:last-child:after {
    display: none;
  }
  nav#breadcrumbs ol li a {
    color: #b3b3b3;
    text-decoration: none;
  }
  nav#breadcrumbs ol li a:hover {
    color: #353535;
    text-decoration: underline;
  }
  /* フォーム関連共通 */
  form input {
    font-family: inherit;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0.75rem;
    border: none;
    border-radius: 0;
    outline: 0;
    -webkit-appearance: none;
  }
  form input:focus {
    border: none;
    outline: 0;
  }
  /* 背景 */
  .bg-top-right-dark {
    position: absolute;
    top: 0;
    right: 0;
    width: 77%;
    height: 100%;
    background-color: #c4b39f;
    border-bottom-left-radius: 10px;
    z-index: 1;
  }
  .bg-left-dark {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #c4b39f;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    z-index: 1;
  }
  .bg-right-light {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #f5f0ea;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    z-index: 1;
  }
  .bg-left-light {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #f5f0ea;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    z-index: 1;
  }
  /* セクション */
  section {
    position: relative;
    font-size: 14px;
    font-size: 1.4rem;
    color: #353535;
  }
  section .section-inner {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    z-index: 2;
  }
  /* シングルページ用 */
  .single-page section .section-inner {
    width: 94%;
  }
  /* テーブルスクロール */
  .table-wrap {
    overflow-x: auto;
  }
  /* DLリスト装飾 */
  dl.overview, dl.reports, dl.sponsor {
    counter-reset: none;
  }
  dl.overview .event_report dd p, dl.reports .event_report dd p, dl.sponsor .event_report dd p {
    margin-bottom: 8px !important;
  }
  dl.overview .event_report dd p a, dl.reports .event_report dd p a, dl.sponsor .event_report dd p a {
    font-size: 12px;
  }
  dl.overview .event_report dd p:last-child, dl.reports .event_report dd p:last-child, dl.sponsor .event_report dd p:last-child {
    margin-bottom: 0 !important;
  }
  dl.overview div, dl.reports div, dl.sponsor div {
    margin-bottom: 1em;
  }
  dl.overview div dt, dl.reports div dt, dl.sponsor div dt {
    display: block;
    width: 9em;
    text-align: center;
    line-height: 1.8;
    color: #ffffff;
  }
  dl.overview div dt:before, dl.reports div dt:before, dl.sponsor div dt:before {
    display: none;
  }
  dl.overview div dd, dl.reports div dd, dl.sponsor div dd {
    width: 100%;
    margin-bottom: 0;
    line-height: 1.8;
    font-size: 12px;
  }
  dl.overview div.org dt, dl.reports div.org dt, dl.sponsor div.org dt {
    background-color: #a4a4a4;
  }
  dl.overview div dt {
    background-color: #957e64;
    line-height: 1.2;
    padding-top: 3px;
    padding-bottom: 3px;
  }
  dl.reports div dt {
    background-color: #957e64;
  }
  dl.sponsor div dt {
    background-color: #a4a4a4;
  }
  /* リスト標準 */
  ul.dots li {
    margin-bottom: 1em;
    padding-left: 1.25em;
    text-indent: -1.25em;
  }
  ul.dots li:before {
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    background-color: #353535;
    margin-right: 0.5em;
    border-radius: 3px;
    content: "";
  }
  ul.dots li .notice {
    color: #a51f25;
  }
  /* 前後記事リンク */
  .article-pager {
    padding: 0 !important;
  }
  .article-pager .article-list {
    width: 12em;
    margin-left: auto;
    margin-right: auto;
  }
  .article-pager .article-prev,
  .article-pager .article-next {
    position: relative;
    margin-bottom: 30px;
    line-height: 1.6;
    font-size: 14px;
    font-size: 1.4rem;
    color: #353535;
  }
  .article-pager .article-prev a,
  .article-pager .article-next a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .article-pager .article-prev:after,
  .article-pager .article-next:after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 30px;
    height: 30px;
    background-color: #bebebd;
    margin: auto;
    border-radius: 50%;
    transition: all 0.3s ease;
    content: "";
  }
  .article-pager .article-prev:before,
  .article-pager .article-next:before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    z-index: 1;
    content: "";
  }
  .article-pager .article-prev {
    padding-left: 45px;
  }
  .article-pager .article-prev:after {
    left: 0;
  }
  .article-pager .article-prev:before {
    left: 12px;
    transform: rotate(-135deg);
  }
  .article-pager .article-next {
    padding-right: 45px;
    text-align: right;
  }
  .article-pager .article-next:after {
    right: 0;
  }
  .article-pager .article-next:before {
    right: 12px;
    transform: rotate(45deg);
  }
  .select-box {
    position: relative;
    margin: 0;
    display: inline-block;
  }
  .select-box select {
    display: inline-block;
    position: relative;
    background-color: #ffffff;
    padding: 0.5em;
    padding-right: 4em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    color: #000;
    min-width: 150px;
  }
  .select-box select:focus {
    outline: 0;
  }
  .select-box:after {
    display: block;
    position: absolute;
    top: 6px;
    right: 2px;
    width: 36px;
    height: 24px;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("/lib/img/parts/arrow_select.svg");
    border-left: 1px solid #b3b3b3;
    pointer-events: none;
    content: "";
  }
  /**
  研修言語リストの検索部分
  **/
  #tableFilter_wrp {
    margin-bottom: 40px;
    padding-bottom: 32px !important;
  }
  #tableFilter_wrp .search-btn {
    margin-top: 20px;
  }
  #tableFilter_wrp .search-btn label {
    display: inline-block;
    padding-bottom: 0.85em;
  }
  #tableFilter_wrp .search-btn input {
    border: none;
  }
  #tableFilter_wrp #tableFilter input {
    background-color: #ffffff;
    padding: 0.5em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
    font-size: 16px;
  }
  #tableFilter_wrp #tableFilter label {
    font-size: 16px;
    width: 100%;
    display: block;
    margin-bottom: 8px;
  }
  #tableFilter_wrp #tableFilter .tableFilter_box01 {
    margin-bottom: 15px;
  }
  .pagination_wrp {
    text-align: center;
    overflow-x: scroll;
    padding-bottom: 10px;
  }
  .pagination_wrp .pagination_inner {
    display: inline-block;
    position: relative;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi {
    margin-top: 25px;
    display: flex;
    justify-content: center;
    position: relative;
    padding: 0 46px;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi.no_prev {
    padding-left: 0 !important;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .pages {
    display: none;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi a {
    display: inline-block;
    line-height: 1;
    width: 30px;
    height: 30px;
    border: 1px solid #dadada;
    text-align: center;
    line-height: 29px;
    font-size: 12px;
    font-family: "Urbanist", sans-serif;
    font-weight: normal;
    margin: 0 7px;
    background-color: #BEBEBD;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .extend {
    vertical-align: bottom;
    position: relative;
    display: inline-block;
    margin: 0 7px;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .extend span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 4px;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .current {
    display: inline-block;
    line-height: 1;
    width: 30px;
    height: 30px;
    border: 1px solid #353535;
    text-align: center;
    line-height: 29px;
    font-size: 12px;
    font-family: "Urbanist", sans-serif;
    font-weight: normal;
    background-color: #353535;
    color: #fff;
    margin: 0 8px;
    border-radius: 50%;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .previouspostslink {
    position: absolute;
    left: 0;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .previouspostslink span {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #BEBEBD;
    border-radius: 50%;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .previouspostslink span:before {
    position: absolute;
    content: "";
    -webkit-mask-image: url("/lib/img/parts/icon_arrow_down.svg");
            mask-image: url("/lib/img/parts/icon_arrow_down.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    width: 10px;
    height: 6px;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(90deg);
    background-color: #fff;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .nextpostslink {
    position: absolute;
    right: 0;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .nextpostslink span {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #BEBEBD;
    border-radius: 50%;
  }
  .pagination_wrp .pagination_inner .wp-pagenavi .nextpostslink span:before {
    position: absolute;
    content: "";
    -webkit-mask-image: url("/lib/img/parts/icon_arrow_down.svg");
            mask-image: url("/lib/img/parts/icon_arrow_down.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    width: 10px;
    height: 6px;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(-90deg);
    background-color: #fff;
  }
  /* 共通リンク＆ボタン */
  /* 文章内リンク */
  section a {
    position: relative;
    color: #353535;
    text-decoration: none;
    /* 下線リンク */
  }
  section a:not(.btn-arrow, .btn-prev) {
    color: #e19900;
    text-decoration: underline;
  }
  section a:not(.btn-arrow, .btn-prev):hover {
    text-decoration: none;
  }
  section a[target=_blank]:not(.btn-arrow):not(.pdf):not(.btn-arrow_wp):after {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 0.5em;
    background-repeat: no-repeat;
    background-position: right top;
    background-image: url("/lib/img/parts/icon_external_b.svg");
    background-size: contain;
    content: "";
  }
  section a.pdf {
    background-image: none;
    padding-right: 0;
  }
  section a.pdf:after {
    display: inline-block;
    width: 3em;
    height: auto;
    background-color: #a51f25;
    background-image: none;
    margin-left: 0.5em;
    text-align: center;
    line-height: 1.4;
    font-size: 12px;
    font-size: 1.2rem;
    color: #ffffff;
    content: "PDF";
  }
  section a.arrow:after {
    display: inline-block;
    width: 0.35em;
    height: 0.35em;
    margin-left: 0.5em;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #353535;
    transform: translateX(-25%) translateY(-0.2em) rotate(45deg);
    transition: all 0.3s ease;
    content: "";
  }
  section a[target=_blank]:not(.btn-arrow):not(.pdf):not(.btn-arrow_wp), section a.pdf, section a.arrow {
    display: inline-block;
    color: #353535;
    text-decoration: none;
  }
  section a[target=_blank]:not(.btn-arrow):not(.pdf):not(.btn-arrow_wp):before, section a.pdf:before, section a.arrow:before {
    display: block;
    overflow-x: hidden;
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background-color: #717171;
    transition: transform 0.3s ease;
    transform: scale(1, 1);
    transform-origin: right top;
    content: "";
  }
  section a[target=_blank]:not(.btn-arrow):not(.pdf):not(.btn-arrow_wp):before {
    width: calc(100% - 1.5em);
  }
  section a.pdf:before {
    width: calc(100% - 0.5em - 3.5rem);
  }
  section a.arrow:before {
    width: calc(100% - 1em);
  }
  /* 矢印付きボタン */
  a.btn-arrow {
    display: inline-block;
    position: relative;
    background-color: #353535;
    padding: 1em 3em;
    border-radius: 2em;
    line-height: 1;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
  }
  a.btn-arrow:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.25em;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(45deg);
    transition: all 0.3s ease;
    content: "";
  }
  a.btn-arrow span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  a.btn-arrow span em {
    display: block;
    transition: all 0.3s ease;
  }
  a.btn-arrow span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    left: 0;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  /* 鍵付きボタン */
  a.btn-key {
    display: inline-block;
    position: relative;
    background-color: #353535;
    padding: 1em 3em;
    border-radius: 2em;
    line-height: 1;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
  }
  a.btn-key:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.25em;
    bottom: 0;
    width: 1em;
    height: 1em;
    margin: auto;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("/lib/img/parts/icon_key.svg");
    background-size: contain;
    content: "";
  }
  a.btn-key span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  a.btn-key span em {
    display: block;
    transition: all 0.3s ease;
  }
  a.btn-key span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  /* 戻るボタン */
  a.btn-prev {
    display: inline-block;
    position: relative;
    background-color: #bebebd;
    padding: 1em 3em;
    border-radius: 2em;
    line-height: 1;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
  }
  a.btn-prev:after {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 1.5em;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(-135deg);
    transition: all 0.3s ease;
    content: "";
  }
  a.btn-prev span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  a.btn-prev span em {
    display: block;
    transition: all 0.3s ease;
  }
  a.btn-prev span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    left: 0;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  /* CSS Document */
  .ui-datepicker {
    font-size: 1.6em !important;
  }
  /* フォーム部品 */
  .form-contents .search_box .search_box_row01 .search_box_row01_col01 {
    margin-bottom: 30px;
  }
  .form-contents .search_input {
    font-size: 16px;
    border-bottom: 2px solid #A4A4A4;
    width: 100%;
  }
  .form-contents .date_input {
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    padding: 0.5em;
  }
  .form-contents input,
  .form-contents textarea {
    margin: 0;
    padding: 0;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
  }
  .form-contents input:placeholder,
  .form-contents textarea:placeholder {
    color: #b3b3b3;
  }
  .form-contents input:focus,
  .form-contents textarea:focus {
    outline: 0;
  }
  .form-contents input:focus::-moz-placeholder {
    color: transparent;
  }
  .form-contents input:focus::placeholder {
    color: transparent;
  }
  .form-contents input.form-submit {
    display: none;
  }
  .form-contents label.send-btn {
    position: relative;
    background-color: #353535;
    padding: 1em 3em 0.85em;
    border-radius: 2em;
    line-height: 1;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
  }
  .form-contents label.send-btn:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.25em;
    bottom: 0;
    width: 0.45em;
    height: 0.45em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(45deg);
    content: "";
  }
  .form-contents label.send-btn span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  .form-contents label.send-btn span em {
    display: block;
  }
  .form-contents label.send-btn span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    left: 0;
    content: attr(data-text);
  }
  .form-contents label.search-btn {
    position: relative;
    background-color: #353535;
    padding: 0.85em 3.5em 0.65em 2.5em;
    border-radius: 2em;
    line-height: 1;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
  }
  .form-contents label.search-btn:after {
    display: block;
    position: absolute;
    top: 0;
    right: 0.75em;
    bottom: 0;
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("/lib/img/parts/icon_search.svg");
    background-size: contain;
    margin: auto;
    content: "";
  }
  .form-contents label.search-btn span {
    overflow: hidden;
    display: inline-block;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
  }
  .form-contents label.search-btn span em {
    display: block;
  }
  .form-contents label.search-btn span:after {
    display: block;
    position: absolute;
    top: 1.5em;
    left: 0;
    content: attr(data-text);
  }
  .form-contents input.form-submit:disabled ~ label.send-btn {
    background-color: #b3b3b3;
    cursor: not-allowed;
  }
  .search-block {
    background-color: #ffffff;
    padding: 32px 5%;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .search-block .left-block .search-top {
    margin-bottom: 1.5em;
  }
  .search-block .search-btn_wrp {
    display: flex;
    justify-content: center;
  }
  .search-block .search-btn_wrp .search-btn:last-child {
    margin-left: 10px;
  }
  .search-block div.search-btn {
    text-align: center;
    margin-top: 0 !important;
  }
  .search-block div .reset-btn {
    padding: 0.85em 2.5em 0.65em 2.5em;
    background-color: #717171;
  }
  .search-block div .reset-btn:after {
    display: none;
  }
  .search-block .date-select {
    display: block;
    position: relative;
    width: 100%;
    margin-bottom: 1em;
    border: 2px solid #a4a4a4;
  }
  .search-block .date-select:after {
    position: absolute;
    top: 0;
    right: 0.5em;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 3px solid #a4a4a4;
    border-bottom: 3px solid #a4a4a4;
    transform: translateY(-2px) rotate(-45deg);
    content: "";
    pointer-events: none;
  }
  .search-block .date-select input[type=date] {
    position: relative;
    width: 100%;
    background-color: transparent;
    font-size: 16px;
    font-size: 1.6rem;
    color: #a4a4a4;
  }
  .search-block .date-select input[type=date]::-webkit-calendar-picker-indicator {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
  }
  .search-block .date-select input[type=date]::-webkit-inner-spin-button {
    -webkit-appearance: none;
  }
  .search-block .date-select input[type=date]::-webkit-clear-button {
    -webkit-appearance: none;
  }
  .search-block .search-text {
    display: block;
    width: 100%;
    border-bottom: 2px solid #a4a4a4;
  }
  .search-block .search-text input {
    display: block;
    width: 100%;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
  }
  .search-block .search-text input:placeholder {
    color: #a4a4a4;
  }
  .search-block ul.filter {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex-wrap: wrap;
    margin-bottom: 1em;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .search-block ul.filter li {
    width: auto !important;
    margin: 0 1.5em 1em 0 !important;
  }
  .search-block ul.filter label.checkbox {
    display: inline-block;
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    text-align: left;
  }
  .search-block ul.filter label.checkbox:before {
    display: inline-block;
    position: absolute;
    top: 0.15em;
    left: 0;
    width: 18px;
    height: 18px;
    background-color: #ffffff;
    margin: auto;
    border: 2px solid #a4a4a4;
    content: "";
  }
  .search-block ul.filter input:checked ~ label.checkbox:after {
    position: absolute;
    top: 0.55em;
    left: 5px;
    width: 10px;
    height: 6px;
    margin: auto;
    border-left: 2px solid #a4a4a4;
    border-bottom: 2px solid #a4a4a4;
    transform: translateY(-2px) rotate(-50deg);
    content: "";
  }
  /* CSS Document */
  /* 一覧（イベント・ニュース・プロジェクト等）共通設定 */
  /* ページャー */
  article.article-list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    position: relative;
    padding: 2em 0 !important;
    border-bottom: 1px solid #353535;
    margin-bottom: -1px;
  }
  article.article-list:first-of-type {
    border-top: 1px solid #353535;
  }
  article.article-list .image {
    overflow: hidden;
    position: relative;
    height: 0;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  article.article-list .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: all 0.4s ease;
  }
  article.article-list .image a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  article.article-list .image a:hover img {
    opacity: 1;
    transform: scale(1.2, 1.2);
  }
  article.article-list .text ul.categories .open_class_public {
    background-color: #957e64 !important;
    color: #fff !important;
  }
  article.article-list .text ul.categories li {
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 0.2em 0.5em;
    line-height: 1.3;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  article.article-list .text ul.categories li.theme {
    background-color: #e19900;
    color: #ffffff;
  }
  article.article-list .text ul.categories li.subject {
    background-color: #ffffff;
    border: 1px solid #957e64;
    color: #957e64;
  }
  article.article-list .text ul.categories li.end {
    background-color: #a6a6a6;
    color: #ffffff;
  }
  article.article-list .text ul.categories li.ev_cat {
    background-color: #353535;
    border: 1px solid #353535;
    color: #fff;
  }
  article.article-list .text .title a {
    color: #353535;
    text-decoration: none;
  }
  article.article-list .text dl.overview div {
    margin-bottom: 1em;
  }
  article.article-list .text dl.overview div dt {
    font-size: 14px;
    font-size: 1.4rem;
  }
  article.article-list .text dl.overview div dt:before {
    display: none;
  }
  article.article-list .text dl.overview div dd {
    margin-bottom: 0;
    line-height: 1.6;
    font-size: 16px;
    font-size: 1.6rem;
  }
  article.article-list a.btn-arrow {
    padding: 0.75em 3em;
    font-size: 13px;
    font-size: 1.3rem;
  }
  /* ページャー */
  .pager {
    padding: 32px 0;
  }
  .pager ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    overflow-x: auto;
    padding-bottom: 8px;
  }
  .pager ul li {
    width: 30px;
    height: 30px;
    margin: 0 5px;
    text-align: center;
    flex-shrink: 0;
  }
  .pager ul li a {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #b7b7b7;
    border-radius: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
  }
  .pager ul li a:hover {
    background-color: #353535;
    color: #fffdf6;
  }
  .pager ul li.current {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    background-color: #353535;
    border-radius: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
  }
  .pager ul li.space {
    margin: 0;
    padding-top: 0.5em;
  }
  .pager ul li.page a {
    text-indent: -99999999px;
  }
  .pager ul li.page a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0.3em;
    height: 0.3em;
    margin: auto;
    border-top-width: 3px;
    border-top-style: solid;
    border-top-color: #ffffff;
    border-right-width: 3px;
    border-right-style: solid;
    border-right-color: #ffffff;
    content: "";
  }
  .pager ul li.page.prev a:after {
    left: 0.75em;
    transform: rotate(-135deg);
  }
  .pager ul li.page.next a:after {
    right: 0.75em;
    transform: rotate(45deg);
  }
  /* top page */
  /* section */
  body#top {
    /* 共通 */
  }
  body#top section .section-inner {
    width: 94%;
  }
  body#top section .main-visual {
    display: none;
  }
  body#top section .slick-initialized {
    display: block;
  }
  body#top section h2 {
    margin-bottom: 32px;
    font-family: "Urbanist", sans-serif;
    line-height: 1;
    font-size: 50px;
    font-size: 5rem;
    color: #353535;
  }
  body#top section h2 em {
    color: #e19900;
  }
  body#top section .block {
    position: relative;
  }
  body#top section .block .image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  body#top section .block .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  body#top section .block .image a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  body#top section .block a {
    color: #353535;
    text-decoration: none;
  }
  body#top section .block a.cover {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
  }
  body#top section .block label.arrow {
    display: inline-block;
    position: absolute;
    top: -1.25em;
    left: 0;
    padding: 0.75em 2.5em 0.75em 2em;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    z-index: 2;
  }
  body#top section .block label.arrow:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.5em;
    bottom: 0;
    width: 0.35em;
    height: 0.35em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    transform: translateX(-25%) rotate(45deg);
    content: "";
  }
  body#top section .more {
    text-align: center;
  }
  body#top section#about {
    /* About */
    margin-bottom: 32px;
  }
  body#top section#about .bg-top-right-dark {
    display: none;
  }
  body#top section#about .section-inner {
    width: 100%;
  }
  body#top section#about .section-inner h2 {
    margin-bottom: 0;
  }
  body#top section#about .section-inner .main-visual {
    position: relative;
    width: 100%;
    margin: 0 auto 5px;
    padding: 16px 3% 10px;
    line-height: 0;
  }
  body#top section#about .section-inner .main-visual:after {
    position: absolute;
    top: 0;
    right: 0;
    width: 82%;
    height: 100%;
    background-color: #c4b39f;
    border-bottom-left-radius: 10px;
    content: "";
    z-index: -1;
  }
  body#top section#about .section-inner .main-visual .slick-slide li {
    position: relative;
    overflow: hidden;
    padding-top: 63%;
  }
  body#top section#about .section-inner .main-visual .slick-slide li img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  body#top section#about .section-inner .main-visual .slick-slide li a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
  }
  body#top section#about .section-inner .main-visual .slick-list {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);
  }
  body#top section#about .section-inner .main-visual .slick-dots {
    display: flex;
    justify-content: flex-end;
    padding-top: 12px;
  }
  body#top section#about .section-inner .main-visual .slick-dots li {
    margin: 0 6px;
  }
  body#top section#about .section-inner .main-visual .slick-dots li button {
    position: relative;
    background-color: transparent;
    border: 0;
    text-indent: -9999px;
  }
  body#top section#about .section-inner .main-visual .slick-dots li button:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 8px;
    background-color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 100%;
    cursor: pointer;
    content: "";
  }
  body#top section#about .section-inner .main-visual .slick-dots li.slick-active button:before {
    background-color: transparent;
  }
  body#top section#about .section-inner .main-lead {
    width: 94%;
    margin-left: auto;
    margin-right: auto;
  }
  body#top section#about .section-inner .main-lead.en p {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.5;
    margin-top: 10px;
  }
  body#top section#about .section-inner .main-lead.en ul {
    display: block !important;
  }
  body#top section#about .section-inner .main-lead.en ul li {
    width: 100%;
    background-color: #fff;
    margin-bottom: 10px;
    padding: 15px;
    text-align: left !important;
  }
  body#top section#about .section-inner .main-lead.en ul li:last-child {
    margin-bottom: 5px;
  }
  body#top section#about .section-inner .main-lead.en ul li:before {
    display: none;
  }
  body#top section#about .section-inner .main-lead.en ul li span {
    position: static;
    transform: none;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body#top section#about .section-inner .main-lead p {
    margin-bottom: 2em;
    line-height: 1.6;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.1em !important;
  }
  body#top section#about .section-inner .main-lead ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    margin-bottom: 24px;
  }
  body#top section#about .section-inner .main-lead ul li {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    position: relative;
    width: 30.5%;
    background-color: #ffffff;
    border-radius: 10px;
    text-align: center;
    line-height: 1.2;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  body#top section#about .section-inner .main-lead ul li:before {
    display: block;
    padding-top: 100%;
    content: "";
  }
  body#top section#about .section-inner .main-lead ul li span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 98%;
    transform: translate(-50%, -50%);
  }
  body#top section#pickup {
    /* Pick Up */
    margin-bottom: 32px;
    padding-top: 30px;
  }
  body#top section#pickup .bg-left-light {
    width: 82%;
    height: 100%;
  }
  body#top section#pickup .block-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    flex-wrap: wrap;
  }
  body#top section#pickup .block-wrap .block {
    width: 47.5%;
    margin-bottom: 2em;
  }
  body#top section#pickup .block-wrap .block .image {
    padding-top: 140.714%;
  }
  body#top section#pickup .block-wrap .block .text {
    display: block;
    position: relative;
    margin-top: -1rem;
    z-index: 1;
  }
  body#top section#pickup .block-wrap .block .text span {
    display: inline-block;
    background-color: #e19900;
    margin-bottom: 0.5em;
    padding: 0 0.5em;
    line-height: 1.85;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    color: #ffffff;
  }
  body#top section#pickup .block-wrap .block .text p {
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  body#top section#latestnews {
    /* Latest News */
    margin-bottom: 100px;
  }
  body#top section#latestnews .section-inner {
    padding-left: 8%;
  }
  body#top section#latestnews .bg-left-dark {
    top: 0;
    width: 8%;
    height: 100%;
  }
  body#top section#latestnews input {
    display: none;
  }
  body#top section#latestnews .categories {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    flex-wrap: wrap;
    margin-bottom: 15px;
  }
  body#top section#latestnews .categories li {
    margin-right: 8px;
    margin-bottom: 9px;
  }
  body#top section#latestnews .categories li label {
    display: block;
    background-color: #c4b39f;
    padding: 0 1em;
    line-height: 1.85;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  body#top section#latestnews .categories li label.is-show {
    background-color: #e19900;
  }
  body#top section#latestnews .tabcontent {
    visibility: hidden;
    height: 0;
    opacity: 0;
    transition: all 0.6s ease-in;
  }
  body#top section#latestnews .tabcontent.is-show {
    visibility: visible;
    height: auto;
    opacity: 1;
  }
  body#top section#latestnews .tabcontent .news_tag_wrp {
    margin-left: 15px;
  }
  body#top section#latestnews .tabcontent .news_tag {
    display: inline-block;
    color: #e19900 !important;
    font-weight: bold;
    font-size: 12px;
    text-decoration: none !important;
    line-height: 1;
    padding-bottom: 2px;
    position: relative;
  }
  body#top section#latestnews .tabcontent .news_tag:before {
    position: absolute;
    content: "";
    width: 100%;
    border-bottom: 2px dotted #e19900;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2px;
    transition: 0.3s;
  }
  body#top section#latestnews .tabcontent .block {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    margin-bottom: 2em;
    padding-top: 2.75em;
  }
  body#top section#latestnews .tabcontent .block .image {
    width: 130px;
    padding-top: 90px;
  }
  body#top section#latestnews .tabcontent .block .text {
    width: calc(100% - 148px);
  }
  body#top section#latestnews .tabcontent .block .text p {
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  body#top section#latestnews .tabcontent .block .text p.date {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 16px;
    font-size: 1.6rem;
  }
  body#top section#latestnews .tabcontent .block .text p.date span {
    display: inline-block;
    background-color: #c4b39f;
    margin-left: 1em;
    padding: 0 1em;
    line-height: 1.85;
    font-size: 11px;
    font-size: 1.1rem;
    color: #ffffff;
  }
  body#top section#latestnews .tabcontent .block .text .title a {
    color: #353535;
    text-decoration: none;
  }
  body#top section#latestnews .tabcontent .block .text .title a:before {
    display: none !important;
  }
  body#top section#latestnews .tabcontent .block .text .title a:after {
    display: none !important;
  }
  body#top section#events {
    /* Events */
    margin-bottom: 32px;
    padding-top: 32px;
  }
  body#top section#events .bg-right-light {
    width: 76.5%;
    height: calc(100% - 2rem);
  }
  body#top section#events .block-wrap .block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    margin-bottom: 24px;
  }
  body#top section#events .block-wrap .block .image {
    width: 106px;
    padding-top: 150px;
    display: none;
  }
  body#top section#events .block-wrap .block .text {
    width: 100%;
  }
  body#top section#events .block-wrap .block .text .event_title {
    font-weight: 700;
    margin-bottom: 10px;
    text-decoration: underline;
  }
  body#top section#events .block-wrap .block .text ul.categories {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex-wrap: wrap;
    margin-bottom: 0.5em;
    gap: 0.5em;
  }
  body#top section#events .block-wrap .block .text ul.categories .open_class_public {
    background-color: #957e64 !important;
    color: #fff !important;
  }
  body#top section#events .block-wrap .block .text ul.categories li {
    display: inline-block;
    vertical-align: middle;
    padding: 0.3em 0.5em 0.3em;
    text-align: left;
    line-height: 1.3;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 500;
  }
  body#top section#events .block-wrap .block .text ul.categories li.theme {
    background-color: #e19900;
    color: #ffffff;
  }
  body#top section#events .block-wrap .block .text ul.categories li.subject {
    background-color: #ffffff;
    border: 1px solid #957e64;
    color: #957e64;
  }
  body#top section#events .block-wrap .block .text ul.categories li.end {
    background-color: #a6a6a6;
    color: #ffffff;
  }
  body#top section#events .block-wrap .block .text ul.categories li.ev_cat {
    background-color: #353535;
    border: 1px solid #353535;
    color: #fff;
  }
  body#top section#events .block-wrap .block .text p {
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
  }
  body#top section#events .block-wrap .block .text p.date {
    margin-bottom: 1em;
    font-weight: 500;
  }
  body#top section#events .block-wrap .block .text p.date span {
    display: flex;
    gap: 3px;
  }
  body#top section#events .block-wrap .block .text p.date span strong {
    white-space: nowrap;
  }
  body#top section#events .block-wrap .block .text p.date span:last-child {
    margin-top: 8px;
  }
  body#top section#coreprojects {
    /* Core Projects */
  }
  body#top section#coreprojects .block-wrap {
    padding-top: 2em;
  }
  body#top section#coreprojects .block-wrap .block {
    background-color: #ffffff;
    margin-bottom: 4em;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  body#top section#coreprojects .block-wrap .block a.cover {
    top: -2em;
    height: calc(100% + 2em);
  }
  body#top section#coreprojects .block-wrap .block label.arrow {
    color: #ffffff;
  }
  body#top section#coreprojects .block-wrap .block label.arrow:after {
    color: #ffffff;
  }
  body#top section#coreprojects .block-wrap .block.cp01 label {
    background-color: #9bb946;
  }
  body#top section#coreprojects .block-wrap .block.cp02 label {
    background-color: #71b9c2;
  }
  body#top section#coreprojects .block-wrap .block.cp03 label {
    background-color: #a51f25;
  }
  body#top section#coreprojects .block-wrap .block .image {
    padding-top: 41.666%;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  body#top section#coreprojects .block-wrap .block .image:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    content: "";
    z-index: 1;
  }
  body#top section#coreprojects .block-wrap .block .text {
    width: 100%;
    padding: 1.5em 2em;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  body#top section#publications {
    /* Publications */
    margin-bottom: 32px;
    padding: 40px 0 32px;
  }
  body#top section#publications .bg-left-light {
    width: 100%;
    height: 100%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  body#top section#publications .block-wrap {
    display: block;
    width: 100%;
  }
  body#top section#publications .block-wrap .block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    width: 100%;
    margin-bottom: 24px;
  }
  body#top section#publications .block-wrap .block .image {
    width: 108px;
    padding-top: 153px;
  }
  body#top section#publications .block-wrap .block .text {
    width: calc(100% - 132px);
  }
  body#top section#publications .block-wrap .block .text p {
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  body#top section#publications .block-wrap .block .text p.date {
    margin-bottom: 1em;
  }
  body#top section#publications .block-wrap .block .text p strong {
    font-weight: 700;
  }
  body#top section#publications .block-wrap .block .text p a:before {
    display: none;
  }
  body#top section#publications .block-wrap .block .text p a:after {
    display: none;
  }
  body#top section#project {
    /* Research Project */
    margin-bottom: 64px;
  }
  body#top section#project .block-wrap {
    padding-top: 2em;
  }
  body#top section#project .block-wrap .block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    background-color: #ffffff;
    margin-bottom: 48px;
    padding: 4em 2em 2em;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  body#top section#project .block-wrap .block:last-child {
    margin-bottom: 32px;
  }
  body#top section#project .block-wrap .block a.cover {
    top: -2em;
    height: calc(100% + 2em);
  }
  body#top section#project .block-wrap .block label.arrow {
    background-color: #ffffff;
    color: #353535;
  }
  body#top section#project .block-wrap .block label.arrow:after {
    color: #353535;
  }
  body#top section#project .block-wrap .block .image {
    width: 112px;
    padding-top: 150px;
  }
  body#top section#project .block-wrap .block .text {
    width: calc(100% - 132px);
  }
  body#top section#project .block-wrap .block .text p {
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  body#top section#bottom-link {
    /* Bottom link */
    margin-bottom: 80px;
  }
  body#top section#bottom-link .block-wrap .block {
    margin-bottom: 24px;
    padding-bottom: 2em;
  }
  body#top section#bottom-link .block-wrap .block label {
    position: absolute;
    left: 0;
    bottom: 0.25rem;
    background-color: #ffffff;
    padding: 0.5em 1.5em;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
    z-index: 2;
  }
  body#top section#bottom-link .block-wrap .block .image {
    padding-top: 124px;
  }
  body#top section#bottom-link .block-wrap .block .image:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    content: "";
    z-index: 1;
  }
  body#top section#bottom-link .block-wrap .block p {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 84%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    margin: -2em auto 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    color: #ffffff;
    z-index: 2;
  }
  /* CSS Document */
  /* 固定ページ用 */
  .contents-page, .is-root-container {
    padding-top: 58px;
    padding-bottom: 75px;
  }
  .contents-page section#main-title, .is-root-container section#main-title { /* タイトル部分 */ }
  .contents-page section#main-title .bg-top-right-dark, .is-root-container section#main-title .bg-top-right-dark {
    top: 0;
    height: 100%;
  }
  .contents-page section#main-title .section-inner, .is-root-container section#main-title .section-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */ /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    width: 100%;
    padding-top: 15px;
    padding-bottom: 20px;
    text-align: center;
  }
  .contents-page section#main-title .section-inner h1,
  .contents-page section#main-title .section-inner .category-title, .is-root-container section#main-title .section-inner h1,
  .is-root-container section#main-title .section-inner .category-title {
    display: inline-block;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding: 1em;
    text-align: center;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    z-index: 1;
  }
  .contents-page section#main-title .section-inner h1 span,
  .contents-page section#main-title .section-inner .category-title span, .is-root-container section#main-title .section-inner h1 span,
  .is-root-container section#main-title .section-inner .category-title span {
    display: block;
    margin-bottom: 1rem;
    border-bottom: 2px solid #353535;
    font-family: "Urbanist", sans-serif;
    font-size: 36px;
    font-size: 3.6rem;
  }
  .contents-page section#main-title .section-inner h1 span:first-letter,
  .contents-page section#main-title .section-inner .category-title span:first-letter, .is-root-container section#main-title .section-inner h1 span:first-letter,
  .is-root-container section#main-title .section-inner .category-title span:first-letter {
    color: #e19900;
  }
  .contents-page section#main-title .section-inner .image, .is-root-container section#main-title .section-inner .image {
    overflow: hidden;
    position: absolute;
    top: 15px;
    left: 0;
    width: 96%;
    height: calc(100% - 35px);
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .contents-page section#main-title .section-inner .image img, .is-root-container section#main-title .section-inner .image img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    margin: auto;
    -o-object-fit: cover;
       object-fit: cover;
    transform: translate(-50%, -50%);
    border-radius: 0 !important;
  }
  .contents-page section#main-title .section-inner .image:after, .is-root-container section#main-title .section-inner .image:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    content: "";
  }
  .contents-page section#main-title.only-en .section-inner h1 span,
  .contents-page section#main-title.only-en .section-inner .category-title span, .is-root-container section#main-title.only-en .section-inner h1 span,
  .is-root-container section#main-title.only-en .section-inner .category-title span {
    margin-bottom: 0;
    padding: 0;
    border-bottom: 0;
  }
  .contents-page section .section-inner, .is-root-container section .section-inner { /* コンテンツ部分 */
    width: 90%;
  }
  .contents-page section.lead, .is-root-container section.lead {
    padding: 0 0 60px;
  }
  .contents-page section.lead p, .is-root-container section.lead p {
    margin-bottom: 2em;
    line-height: 1.65;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .contents-page section.lead ul, .is-root-container section.lead ul {
    text-align: center;
  }
  .contents-page section.lead ul li, .is-root-container section.lead ul li {
    display: inline-block;
    width: 20em;
    margin: 0 1.25% 10px;
  }
  .contents-page section.lead ul li a, .is-root-container section.lead ul li a {
    width: 100%;
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem;
    color: #ffffff;
  }
  .contents-page section.contents, .is-root-container section.contents {
    padding: 60px 0;
    /* リンク関連 */
  }
  .contents-page section.contents .bg-left-light, .is-root-container section.contents .bg-left-light {
    width: 82%;
    height: 378px;
  }
  .contents-page section.contents .bg-right-light, .is-root-container section.contents .bg-right-light {
    width: 82%;
    height: 378px;
  }
  .contents-page section.contents .block-wrap div, .is-root-container section.contents .block-wrap div {
    margin-bottom: 2em;
  }
  .contents-page section.contents img, .is-root-container section.contents img {
    border-radius: 10px;
  }
  .contents-page section.contents hr, .is-root-container section.contents hr {
    width: 100%;
    height: 1px;
    border: 0;
    border-bottom: 1px solid #353535;
    margin-bottom: 4em;
    padding-bottom: 4em;
  }
  .contents-page section.contents h2, .is-root-container section.contents h2 {
    margin-bottom: 1em;
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: 700;
    color: #957e64;
  }
  .contents-page section.contents h3, .is-root-container section.contents h3 {
    position: relative;
    margin-bottom: 1em;
    padding-left: 1.5em;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #957e64;
  }
  .contents-page section.contents h3:before, .is-root-container section.contents h3:before {
    display: inline-block;
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 28px;
    height: 2px;
    background-color: #957e64;
    content: "";
  }
  .contents-page section.contents h4, .is-root-container section.contents h4 {
    margin-bottom: 0.5em;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #957e64;
  }
  .contents-page section.contents p, .is-root-container section.contents p {
    margin-bottom: 2em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .contents-page section.contents p.more, .is-root-container section.contents p.more {
    text-align: center;
  }
  .contents-page section.contents dl, .is-root-container section.contents dl {
    counter-reset: item;
  }
  .contents-page section.contents dl dt, .is-root-container section.contents dl dt {
    display: list-item;
    position: relative;
    margin-bottom: 0.5em;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
  }
  .contents-page section.contents dl dt:before, .is-root-container section.contents dl dt:before {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    background-color: #353535;
    margin-right: 0.5em;
    border-radius: 2em;
    text-align: center;
    line-height: 1.5;
    font-size: 20px;
    font-size: 2rem;
    color: #ffffff;
    counter-increment: item;
    content: counter(item) "";
  }
  .contents-page section.contents dl dd, .is-root-container section.contents dl dd {
    margin-bottom: 2em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .contents-page section.contents ul.link, .is-root-container section.contents ul.link {
    text-align: right;
  }
  .contents-page section.contents ul.link li, .is-root-container section.contents ul.link li {
    display: inline-block;
    margin-left: 1em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
  }
  /* CSS Document */
  /* ニュース */
  #news .lead {
    padding: 0;
  }
  #news .lead h1 {
    margin-bottom: 2em;
    line-height: 1.45;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  /* 一覧 */
  article.news-list .news_tag_wrp {
    margin-left: 15px;
  }
  article.news-list .news_tag {
    display: inline-block;
    color: #e19900 !important;
    font-weight: bold;
    font-size: 12px;
    text-decoration: none !important;
    line-height: 1;
    padding-bottom: 2px;
    position: relative;
  }
  article.news-list .news_tag:before {
    position: absolute;
    content: "";
    width: 100%;
    border-bottom: 2px dotted #e19900;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2px;
    transition: 0.3s;
  }
  article.news-list .image {
    width: 130px;
    margin-top: 2em;
    padding-top: 100px;
  }
  article.news-list .text {
    width: calc(100% - 148px);
    padding-top: 2em;
    display: flex;
    flex-direction: column;
  }
  article.news-list .text p.date {
    position: absolute;
    top: 1em;
    left: 0;
    margin-bottom: 0.5em;
    font-size: 16px;
    font-size: 1.6rem;
  }
  article.news-list .text p.date span {
    display: inline-block;
    background-color: #c4b39f;
    margin-left: 1em;
    padding: 0 1em;
    line-height: 1.85;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 500;
    color: #ffffff;
  }
  article.news-list .text p.title {
    margin-bottom: 1em;
    line-height: 1.6;
    font-size: 13px;
    font-size: 1.3rem;
  }
  article.news-list .text p.title a {
    color: #353535 !important;
    text-decoration: none !important;
    display: inline !important;
  }
  article.news-list .text p.title a:before {
    display: none !important;
  }
  article.news-list .text p.title a:after {
    display: none !important;
  }
  article.news-list .text p.title a[target=_blank]:not([href$=".pdf"]):after {
    display: inline-block !important;
    width: 1em;
    height: 1em;
    margin-left: 0.5em;
    background-repeat: no-repeat;
    background-position: right top 0.1em;
    background-image: url("/lib/img/parts/icon_external_b.svg");
    background-size: contain;
    content: "";
  }
  article.news-list .text p.detail {
    margin-top: auto;
    margin-bottom: 0;
    text-align: right;
  }
  /* 詳細 */
  .news-pager .section-inner {
    padding-top: 40px;
    border-top: 1px solid #353535;
  }
  .news-pager .article-list {
    text-align: center;
  }
  /* CSS Document */
  /* イベント */
  #events .lead {
    padding: 0;
  }
  #events .lead p {
    margin-bottom: 1.5em;
  }
  /* 一覧 */
  article.events-list .image {
    width: 106px;
    padding-top: 151px;
  }
  article.events-list .text {
    width: calc(100% - 126px);
  }
  article.events-list .text p.title {
    margin-bottom: 1em;
    line-height: 1.6;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
  }
  article.events-list .text p.detail {
    margin-bottom: 0;
    text-align: right;
  }
  article.events-list .text p .btn-arrow {
    color: #fff !important;
    padding-top: 1em !important;
  }
  article.events-list .pdf {
    background-image: none;
    padding-right: 0;
    color: #353535;
  }
  article.events-list .pdf:after {
    display: inline-block;
    width: 3em;
    height: auto;
    background-color: #a51f25;
    background-image: none;
    margin-left: 0.5em;
    text-align: center;
    line-height: 1.4;
    font-size: 12px;
    font-size: 1.2rem;
    color: #ffffff;
    content: "PDF";
  }
  /* 詳細 */
  .contents-page section.events-first h1,
  .is-root-container section.events-first h1 {
    margin-bottom: 0.5em;
    line-height: 1.33;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  .contents-page section.events-second h2,
  .is-root-container section.events-second h2 {
    margin-bottom: 0.5em;
    padding-left: 0;
    line-height: 1.6;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #353535;
  }
  .contents-page section.events-second hr,
  .is-root-container section.events-second hr {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #353535;
    margin: 30px 0;
    padding-bottom: 0;
  }
  .events-first {
    padding: 0 !important;
  }
  .events-first .section-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
  }
  .events-first .image {
    position: relative;
    width: 100%;
    margin-bottom: 1.5em;
  }
  .events-first .image img {
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .events-first .text {
    width: 100%;
  }
  .events-first .text ul.categories {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex-wrap: wrap;
    gap: 0.5em;
    margin-bottom: 0.5em;
  }
  .events-first .text ul.categories .open_class_public {
    background-color: #957e64 !important;
    color: #fff !important;
  }
  .events-first .text ul.categories li {
    display: inline-block;
    padding: 0 0.5em;
    text-align: center;
    line-height: 1.8;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  .events-first .text ul.categories li.theme {
    background-color: #e19900;
    color: #ffffff;
  }
  .events-first .text ul.categories li.subject {
    background-color: #ffffff;
    border: 1px solid #957e64;
    color: #957e64;
  }
  .events-first .text ul.categories li.end {
    background-color: #a6a6a6;
    color: #ffffff;
  }
  .events-first .text ul.categories li.ev_cat {
    background-color: #353535;
    border: 1px solid #353535;
    color: #fff;
  }
  .events-first .text p.description {
    margin-bottom: 1.5em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .events-first .text p.event_description {
    white-space: pre-line;
  }
  .events-first .text dl.overview div {
    margin-bottom: 1.5em;
  }
  .events-first .text dl.overview div dt {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .events-first .text dl.overview div dt:before {
    display: none;
  }
  .events-first .text dl.overview div dd {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .events-second {
    padding: 0 0 40px !important;
  }
  .events-second .section-inner {
    border-bottom: 1px solid #353535;
    padding-bottom: 40px;
  }
  .events-second .event_description {
    white-space: pre-line;
    font-size: 16px;
    margin-bottom: 40px;
    line-height: 1.8;
  }
  .events-second ul.events-visual {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3em;
    padding: 0;
  }
  .events-second ul.events-visual li {
    width: 100%;
  }
  .events-second ul.events-visual li figure {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 360px;
    border-radius: 10px;
    transform: translateX(-40px); /* for slick bug */
  }
  .events-second ul.events-visual li figure img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .events-second ul.events-visual li span {
    display: block;
    text-align: right;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
  }
  .events-second dl.reports {
    margin-bottom: 50px;
  }
  .events-second dl.reports div {
    margin-bottom: 1.5em;
  }
  .events-second dl.reports div dt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second dl.reports div dt:before {
    display: none;
  }
  .events-second dl.reports div dd {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second dl.sponsor {
    margin-bottom: 50px;
  }
  .events-second dl.sponsor div {
    margin-bottom: 1.5em;
  }
  .events-second dl.sponsor div dt {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second dl.sponsor div dt:before {
    display: none;
  }
  .events-second dl.sponsor div dd {
    line-height: 1.8;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second ul.dots {
    line-height: 1.6;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second .table-wrap {
    margin-bottom: 30px;
  }
  .events-second table.programs {
    width: 780px;
    border-spacing: 0;
  }
  .events-second table.programs thead th {
    background-color: #f5f0ea;
    padding: 0.75em 1em;
    border-bottom: 2px solid #ffffff;
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
    white-space: nowrap;
  }
  .events-second table.programs tbody td {
    background-color: #f5f0ea;
    padding: 0.75em 1em;
    border-bottom: 1px solid #ffffff;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .events-second table.programs tbody td a {
    text-decoration: none;
  }
  .events-second table.programs tbody td a:hover {
    text-decoration: underline;
  }
  .events-second table.programs tbody td:first-child {
    white-space: nowrap;
  }
  .events-second table.programs tbody tr:has(+ .event_content) td {
    border-bottom: none !important;
  }
  .events-second table.programs tbody tr.event_content td {
    white-space: normal !important;
  }
  .events-second table.programs tbody tr:last-child td {
    border-bottom: 0;
  }
  .events-second p.detail {
    margin: 30px 0 0;
    text-align: center;
  }
  .events-second .event_url {
    margin-top: 30px;
  }
  .events-second .event_url dd {
    margin-bottom: 10px !important;
  }
  .events-second .event_url dd:last-child {
    margin-bottom: 0 !important;
  }
  .events-second .event_url dd a {
    font-size: 16px;
  }
  /* CSS Document */
  /* プロジェクト */
  #projects .lead {
    padding: 0;
  }
  #projects .lead p {
    margin-bottom: 1.5em;
  }
  /* 一覧 */
  article.projects-list .image {
    width: 106px;
    padding-top: 106px;
  }
  article.projects-list .text {
    width: calc(100% - 126px);
  }
  article.projects-list .text p.title {
    margin-bottom: 1em;
    line-height: 1.6;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
  }
  article.projects-list .text p.detail {
    margin-bottom: 0;
    text-align: right;
  }
  article.projects-list .text .overview .member_list_txt p {
    margin-bottom: 10px !important;
  }
  article.projects-list.projects-list-simple .text {
    width: 100% !important;
  }
  /* 詳細 */
  .contents-page section.projects-first,
  .is-root-container section.projects-first {
    padding: 0;
  }
  .contents-page section.projects-first h1,
  .is-root-container section.projects-first h1 {
    margin-bottom: 0.5em;
    line-height: 1.33;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  .contents-page section.projects-first h3,
  .is-root-container section.projects-first h3 {
    margin-bottom: 0.5em;
    padding-left: 0;
    line-height: 1.6;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #353535;
  }
  .contents-page section.projects-first h3:before,
  .is-root-container section.projects-first h3:before {
    display: none;
  }
  .contents-page section.projects-second,
  .is-root-container section.projects-second {
    padding: 0;
  }
  .contents-page section.projects-second h2,
  .is-root-container section.projects-second h2 {
    margin-bottom: 1em;
    line-height: 1.35;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  .contents-page section.projects-second h2.no-margin,
  .is-root-container section.projects-second h2.no-margin {
    margin-bottom: 0;
  }
  .contents-page section.projects-second h3,
  .is-root-container section.projects-second h3 {
    margin-bottom: 0.5em;
    padding-left: 0;
    line-height: 1.6;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #957e64;
  }
  .contents-page section.projects-second h3:before,
  .is-root-container section.projects-second h3:before {
    display: none;
  }
  .projects-first .section-inner {
    margin-bottom: 50px;
    padding-bottom: 30px;
    border-bottom: 1px solid #353535;
  }
  .projects-first .image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    margin-bottom: 1.5em;
    padding-top: 100%;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .projects-first .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .projects-first .text {
    width: 100%;
  }
  .projects-first .text ul.categories {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex-wrap: wrap;
    margin-bottom: 1.5em;
    gap: 0.5em;
  }
  .projects-first .text ul.categories li {
    padding: 0 0.5em;
    text-align: left;
    line-height: 1.8;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  .projects-first .text ul.categories li.theme {
    background-color: #e19900;
    color: #ffffff;
  }
  .projects-first .text ul.categories li.subject {
    background-color: #ffffff;
    border: 1px solid #957e64;
    color: #957e64;
  }
  .projects-first .text ul.categories li.end {
    background-color: #a6a6a6;
    color: #ffffff;
  }
  .projects-first .text p.description {
    margin-bottom: 1.5em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-first .text dl.overview div {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .projects-first .text dl.overview div dt {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-first .text dl.overview div dt:before {
    display: none;
  }
  .projects-first .text dl.overview div dd {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-first .text dl.overview div.half {
    width: 49%;
  }
  .projects-first .text dl.overview .member_list p {
    margin-bottom: 10px !important;
  }
  .projects-first .text dl.url div {
    background-color: #f5f0ea;
    padding: 1em 0;
    border-bottom: 2px solid #ffffff;
  }
  .projects-first .text dl.url div:last-child {
    border-bottom: 0;
  }
  .projects-first .text dl.url div dt {
    padding: 0 1em;
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600;
  }
  .projects-first .text dl.url div dt:before {
    display: none;
  }
  .projects-first .text dl.url div dd {
    margin-bottom: 0;
    padding: 0 1em;
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-first .text dl.url div dd a {
    display: inline-block;
    word-break: break-all;
  }
  .projects-first .text dl.url div dd a:before {
    display: none;
  }
  .projects-second article.article-list:first-of-type {
    border-top: 0;
  }
  .projects-second article.article-list.events-list:first-of-type {
    padding: 0 0 32px;
  }
  .projects-second article.article-list.publications-list {
    padding: 0 0 32px;
  }
  .projects-second .article-block {
    margin-bottom: 50px;
  }
  .projects-second .article-block .publications-article-wrap:last-child {
    border-bottom: 1px solid #353535;
  }
  .projects-second .article-block.projects-block {
    margin-bottom: 40px;
  }
  .projects-second .publications-article-wrap {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .projects-second .projects-article-wrap {
    border-bottom: 1px solid #353535;
  }
  .projects-second .projects-article-wrap article.article-list {
    padding: 0 0 32px;
    border-bottom: 0;
  }
  .projects-second .projects-article-wrap article.article-list .title {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .projects-second p.more {
    padding-top: 30px;
    text-align: center;
  }
  .projects-second p.list {
    margin-bottom: 50px;
    text-align: center;
  }
  /* 全所プロジェクト */
  .coreprojects p.link-btn {
    text-align: center;
  }
  .coreprojects-lead {
    padding-bottom: 80px;
  }
  .coreprojects-lead h2 {
    margin-bottom: 1em;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #957e64;
  }
  .coreprojects-lead p.lead {
    margin-bottom: 60px;
    line-height: 1.6;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .coreprojects-lead p.caption {
    margin-bottom: 40px;
    text-align: right;
  }
  .coreprojects-lead .image-box {
    background-color: #f5f0ea;
    margin-bottom: 1.5em;
    padding: 30px;
    border-radius: 10px;
  }
  .coreprojects-lead .image-box img {
    margin-left: auto;
    margin-right: auto;
  }
  .contents-page .coreprojects-second .section-inner {
    max-width: 1280px;
  }
  .coreprojects-second p.lead {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
  }
  .coreprojects-second p.link-btn {
    padding-bottom: 5px;
  }
  .coreprojects-second .coreprojects-wrap {
    margin-bottom: 80px;
  }
  .coreprojects-second .coreprojects-wrap .block {
    width: 100%;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .coreprojects-second .coreprojects-wrap .block:not(:last-child) {
    margin-bottom: 64px;
  }
  .coreprojects-second .coreprojects-wrap .block a {
    color: #353535;
    text-decoration: none;
  }
  .coreprojects-second .coreprojects-wrap .block a.cover {
    display: block;
    position: absolute;
    top: -2em;
    left: 0;
    width: 100%;
    height: calc(100% + 2em);
    transition: all 0.3s ease;
    z-index: 10;
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow {
    display: inline-block;
    position: absolute;
    top: -1.25em;
    left: 0;
    padding: 0.5em 2.5em 0.5em 2em;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #ffffff;
    z-index: 2;
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1.5em;
    bottom: 0;
    width: 0.35em;
    height: 0.35em;
    margin: auto;
    border: 3px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    line-height: 1;
    color: #ffffff;
    transform: translateX(-25%) rotate(45deg);
    transition: all 0.3s ease;
    content: "";
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow span {
    overflow: hidden;
    display: block;
    position: relative;
    height: 1em;
    line-height: 1;
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow span em {
    display: inline-block;
    transition: all 0.3s ease;
  }
  .coreprojects-second .coreprojects-wrap .block label.arrow span:after {
    display: inline-block;
    position: absolute;
    top: 1.5em;
    left: 0;
    transition: all 0.3s ease;
    content: attr(data-text);
  }
  .coreprojects-second .coreprojects-wrap .block.cp01 label {
    background-color: #9bb946;
  }
  .coreprojects-second .coreprojects-wrap .block.cp02 label {
    background-color: #71b9c2;
  }
  .coreprojects-second .coreprojects-wrap .block.cp03 label {
    background-color: #a51f25;
  }
  .coreprojects-second .coreprojects-wrap .block .image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 41.666%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .coreprojects-second .coreprojects-wrap .block .image:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    content: "";
    z-index: 1;
  }
  .coreprojects-second .coreprojects-wrap .block .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: all 0.4s ease;
  }
  .coreprojects-second .coreprojects-wrap .block .image a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .coreprojects-second .coreprojects-wrap .block .image a:hover img {
    opacity: 1;
    transform: scale(1.2, 1.2);
  }
  .coreprojects-second .coreprojects-wrap .block .text {
    width: 100%;
    padding: 1.5em 2em;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 400;
  }
  .related_projects_list article {
    background-color: rgba(245, 240, 234, 0.8);
    padding: 8px 14px !important;
    border-radius: 10px !important;
    margin-bottom: 1em !important;
    border: none !important;
  }
  .related_projects_list article .title {
    margin-bottom: 0 !important;
  }
  .related_projects_list article .overview {
    margin-top: 0.5em !important;
  }
  .related_projects_list article .overview .event_report {
    margin-bottom: 0 !important;
  }
  .related_projects_list article .overview .event_report p:last-child {
    margin-bottom: 0 !important;
  }
  .related_projects_list article .overview .event_report p .pdf:before {
    bottom: 3px !important;
  }
  .related_projects_list article .overview .event_report p a {
    display: inline-block !important;
    color: #353535 !important;
    text-decoration: underline !important;
    background: none !important;
  }
  .related_projects_list article .overview .event_report p a:before {
    display: none !important;
    opacity: 0;
  }
  .related_projects_list article .overview .event_report p a:after {
    display: inline-block !important;
  }
  .related_projects_list .text {
    width: 100% !important;
  }
  .related_projects_list .text a {
    text-decoration: underline !important;
  }
  /* CSS Document */
  /* 出版物 */
  #publications .lead {
    padding: 0;
  }
  #publications .lead .section-inner {
    padding-bottom: 30px;
    border-bottom: 1px solid #353535;
  }
  #publications .lead p {
    margin-bottom: 1.5em;
  }
  /* 一覧 */
  .publications-article-wrap {
    border-bottom: 1px solid #353535;
  }
  .publications-article-wrap article.publications-list {
    display: block;
    padding: 0 0 2em;
    border-bottom: 0;
  }
  .publications-article-wrap article.publications-list:first-of-type {
    border-top: 0;
  }
  .publications-article-wrap article.publications-list p.title {
    margin-bottom: 1em;
    line-height: 1.6;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #353535;
  }
  .publications-article-wrap article.publications-list .wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
  }
  .publications-article-wrap article.publications-list .wrap .image {
    width: 106px;
    padding-top: 150px;
  }
  .publications-article-wrap article.publications-list .wrap .text {
    width: calc(100% - 126px);
  }
  .publications-article-wrap article.publications-list .wrap .text dl div {
    margin-bottom: 1.5em;
  }
  .publications-article-wrap article.publications-list .wrap .text dl div dt {
    display: block;
    width: 6.5em;
    background-color: #a4a4a4;
    text-align: center;
    line-height: 1.8;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
  }
  .publications-article-wrap article.publications-list .wrap .text dl div dd {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .publications-article-wrap article.publications-list .wrap .text p.detail {
    text-align: right;
  }
  /* CSS Document */
  /* スタッフ */
  #staff .lead {
    padding: 0;
  }
  #staff .lead p {
    margin-bottom: 1em;
  }
  /* 一覧 */
  .staffs-list-section {
    padding: 30px 0 0;
  }
  .staff-article-wrap {
    border-bottom: 1px solid #353535;
  }
  .staff-article-wrap article.staff-projects-list {
    width: 100%;
  }
  .staff-article-wrap article.staff-projects-list .text {
    width: 100% !important;
  }
  .staff-article-wrap article.staff-list {
    display: block;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; /* 横方向両端揃え（Safari用） */
    justify-content: space-between; /* 横方向両端揃え */
    border-top: 1px solid #353535;
    border-bottom: 0;
  }
  .staff-article-wrap article.staff-list .image {
    width: 110px;
    padding-top: 140px;
  }
  .staff-article-wrap article.staff-list .text {
    width: calc(100% - 135px);
  }
  .staff-article-wrap article.staff-list .text p.name {
    margin-bottom: 0.5em;
    font-size: 19px;
    font-size: 1.9rem;
    font-weight: 700;
    color: #353535;
  }
  .staff-article-wrap article.staff-list .text p.name small {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .staff-article-wrap article.staff-list .text p.name .dagger {
    font-size: 14px;
    font-size: 1.4rem;
    position: relative;
    top: -6px;
    left: -3px;
  }
  .staff-article-wrap article.staff-list .text p.detail {
    margin-bottom: 0;
    text-align: right;
  }
  .staff-article-wrap article.staff-list .text dl div {
    margin-bottom: 1.5em;
  }
  .staff-article-wrap article.staff-list .text dl div dt {
    display: block;
    width: 6.5em;
    background-color: #957e64;
    text-align: center;
    line-height: 1.8;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #ffffff;
  }
  .staff-article-wrap article.staff-list .text dl div dd {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .staff-article-wrap article.staff-list .text dl div.theme {
    display: block;
  }
  .staff-article-wrap article.staff-list .text dl div.theme dd {
    width: auto;
  }
  /* 詳細 */
  .contents-page section.staff-first, .is-root-container section.staff-first {
    padding: 0;
  }
  .contents-page section.staff-first h1, .is-root-container section.staff-first h1 {
    margin-bottom: 0.75em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #353535;
    line-height: 1.33;
    font-size: 34px;
    font-size: 3.4rem;
    font-weight: 700;
    color: #353535;
  }
  .contents-page section.staff-first h1 span, .is-root-container section.staff-first h1 span {
    margin-left: 0;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .contents-page section.staff-first h3, .is-root-container section.staff-first h3 {
    margin-bottom: 0.5em;
    padding-left: 0;
    line-height: 1.6;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #353535;
  }
  .contents-page section.staff-first h3:before, .is-root-container section.staff-first h3:before {
    display: none;
  }
  .contents-page section.staff-first h4, .is-root-container section.staff-first h4 {
    display: inline-block;
    background-color: #957e64;
    margin-bottom: 0.5em;
    padding: 0 1em;
    text-align: center;
    line-height: 1.8;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
  }
  .contents-page section.staff-first dl.overview div, .is-root-container section.staff-first dl.overview div {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .contents-page section.staff-first dl.overview div dt, .is-root-container section.staff-first dl.overview div dt {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .contents-page section.staff-first dl.overview div dt:before, .is-root-container section.staff-first dl.overview div dt:before {
    display: none;
  }
  .contents-page section.staff-first dl.overview div dd, .is-root-container section.staff-first dl.overview div dd {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .contents-page section.staff-second, .is-root-container section.staff-second {
    padding: 0;
  }
  .contents-page section.staff-second dl.info, .is-root-container section.staff-second dl.info {
    margin-bottom: 40px;
    padding: 30px 0 calc(30px - 1.5em);
    border-top: 1px solid #353535;
    border-bottom: 1px solid #353535;
  }
  .contents-page section.staff-second dl.info div.link, .is-root-container section.staff-second dl.info div.link {
    margin-bottom: 1.5em;
  }
  .contents-page section.staff-second dl.info div.link dt, .is-root-container section.staff-second dl.info div.link dt {
    display: block;
    width: 9em;
    background-color: #a4a4a4;
    text-align: center;
    line-height: 1.8;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ffffff;
  }
  .contents-page section.staff-second dl.info div.link dt:before, .is-root-container section.staff-second dl.info div.link dt:before {
    display: none;
  }
  .contents-page section.staff-second dl.info div.link dd, .is-root-container section.staff-second dl.info div.link dd {
    margin-bottom: 0;
    line-height: 1.8;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .contents-page section.staff-second dl.info div.link dd a, .is-root-container section.staff-second dl.info div.link dd a {
    display: inline-block;
    word-break: break-all;
  }
  .contents-page section.staff-second dl.info div.link dd a:before, .is-root-container section.staff-second dl.info div.link dd a:before {
    display: none;
  }
  .contents-page section.staff-second h2, .is-root-container section.staff-second h2 {
    padding-left: 0;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    color: #353535;
  }
  .contents-page section.staff-second h2:before, .is-root-container section.staff-second h2:before {
    display: none;
  }
  .staff-first .section-inner {
    padding-bottom: 20px;
  }
  .staff-first .image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    margin-bottom: 30px;
    padding-top: 130%;
    border-radius: 10px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
  }
  .staff-first .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .staff-first .text {
    width: 100%;
  }
  .staff-first .text p.description {
    margin-bottom: 1.5em;
    line-height: 1.875;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .staff-second p.list {
    margin-top: 40px;
    margin-bottom: 50px;
    text-align: center;
  }
  /* CSS Document */
  /* お問い合わせ用 */
  #contact .wpcf7-response-output {
    display: none !important;
  }
  #contact .contact_thanks_wrp {
    padding: 8% 0 3%;
  }
  #contact .contact_thanks_wrp .thanks_txt01 {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 4rem;
  }
  #contact .contact_thanks_wrp .thanks_txt02 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  #contact .contact-lead .section-inner {
    border-bottom: 1px solid #353535;
  }
  #contact .contact-lead p {
    margin-bottom: 1.5em;
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #contact .form-contents {
    padding: 0;
  }
  #contact .contact-form {
    margin-bottom: 3em;
    padding: 8% 0 3%;
    border-bottom: 1px solid #353535;
    /* お問い合わせ用フォーム部品 */
  }
  #contact .contact-form .wpcf7-form-control-wrap {
    width: 100%;
  }
  #contact .contact-form dl div {
    margin-bottom: 1em;
  }
  #contact .contact-form dl div dt {
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: normal;
  }
  #contact .contact-form dl div dt:before {
    display: none;
  }
  #contact .contact-form dl div dt span {
    color: #d32929;
  }
  #contact .contact-form dl div dd {
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #contact .contact-form p {
    margin-bottom: 1.5em;
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #contact .contact-form .select-box {
    position: relative;
    margin: 0;
  }
  #contact .contact-form .select-box select {
    position: relative;
    width: 100%;
    background-color: #ffffff;
    padding: 0.5em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
  }
  #contact .contact-form .select-box select:focus {
    outline: 0;
  }
  #contact .contact-form .select-box:after {
    display: block;
    position: absolute;
    top: 6px;
    right: 2px;
    width: 36px;
    height: 24px;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("/lib/img/parts/arrow_select.svg");
    border-left: 1px solid #b3b3b3;
    pointer-events: none;
    content: "";
  }
  #contact .contact-form input[type=text], #contact .contact-form input[type=email], #contact .contact-form input[type=tel] {
    width: 100%;
    background-color: #ffffff;
    padding: 0.5em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  #contact .contact-form textarea {
    width: 100%;
    height: 240px;
    background-color: #ffffff;
    padding: 0.5em;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  #contact .contact-form label.accept {
    display: inline-block;
    position: relative;
    padding-left: 28px;
    cursor: pointer;
  }
  #contact .contact-form label.accept:before {
    display: inline-block;
    position: absolute;
    top: 0.25em;
    left: 0;
    width: 24px;
    height: 24px;
    background-color: #ffffff;
    margin: auto;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    content: "";
  }
  #contact .contact-form input#accept:checked ~ label.accept:after {
    position: absolute;
    top: 0.65em;
    left: 6px;
    width: 14px;
    height: 8px;
    margin: auto;
    border-left: 2px solid #353535;
    border-bottom: 2px solid #353535;
    transform: translateY(-2px) rotate(-50deg);
    content: "";
  }
  #contact .contact-form .check:after {
    position: absolute;
    top: 0.65em;
    left: 6px;
    width: 14px;
    height: 8px;
    margin: auto;
    border-left: 2px solid #353535;
    border-bottom: 2px solid #353535;
    transform: translateY(-2px) rotate(-50deg);
    content: "";
  }
  #contact p.submit {
    margin-bottom: 40px;
    text-align: center;
  }
  .error_page_wrp {
    padding-top: 100px;
    height: 100%;
  }
  .error_page_wrp .error_page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .error_page_wrp .error_page h1 {
    font-size: 38px;
  }
  .error_page_wrp .error_page p {
    font-size: 15px;
    margin: 30px 0;
    line-height: 1.8;
  }
  .gsc-control-cse {
    padding: 15px !important;
    color: #353535;
  }
  .gsc-control-cse .gsc-table-result {
    font-size: max(1.6rem, 12px);
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
  }
  .gsc-control-cse .gsc-table-result .gsc-table-cell-thumbnail {
    flex-shrink: 0;
  }
  .gsc-control-cse .gs-bidi-start-align {
    font-size: 12px;
    line-height: 1.5;
  }
  .gsc-control-cse .gsc-input-box, .gsc-control-cse .gsc-search-button {
    background-color: #fff;
    color: #353535;
  }
  .gsc-control-cse .gsc-input-box:focus {
    border-color: #aaa;
  }
  .gsc-control-cse input.gsc-input {
    font-size: max(1.6rem, 16px);
    padding: 0.65rem 1.25rem;
  }
  .gsc-control-cse .gsc-search-button-v2 {
    font-size: 0;
    padding: 1.4rem 3rem;
    width: auto;
    vertical-align: middle;
    border: none;
    background-image: none;
    outline: none !important;
    background-color: #353535;
  }
  .gsc-control-cse .gsc-search-button-v2:hover {
    background-color: #353535;
    opacity: 0.5 !important;
    border-color: #353535;
  }
  .gsc-control-cse .gs-result .gs-title *, .gsc-control-cse .gsc-cursor-page, .gsc-control-cse .gs-spelling a {
    color: #353535;
  }
  .gsc-control-cse .gsc-tabHeader.gsc-tabhActive {
    color: #353535;
    border-bottom: 2px solid #353535;
  }
  .gsc-control-cse .gsst_a .gscb_a {
    color: #353535;
    cursor: pointer;
  }
  .gsc-control-cse .gsst_a .gscb_a:hover {
    color: #e19900;
  }
  .gsc-control-cse .gsc-webResult.gsc-result {
    margin: 3rem 0;
    padding: 0;
    border: none;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-title {
    color: #353535;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-title:hover {
    color: #e19900;
    text-decoration: underline;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-snippet {
    color: #4d4d4d;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-visibleUrl {
    color: #a4a4a4;
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-visibleUrl span {
    font-size: max(1.2rem, 10px);
  }
  .gsc-control-cse .gsc-webResult.gsc-result .gs-visibleUrl-short {
    color: #e19900;
  }
  .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page {
    color: #353535;
    font-family: "Open Sans", sans-serif;
    font-size: max(1.4rem, 10px);
    letter-spacing: 0;
    position: relative;
    font-weight: normal;
  }
  .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page.gsc-cursor-current-page:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #E60012;
    left: 0;
    bottom: -0.5rem;
  }
  .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page:hover {
    color: #e19900;
  }
  .gsc-control-cse .gs-web-image-box, .gsc-control-cse .gs-promotion-image-box {
    padding: 0;
    margin: 0 1rem 0 0;
  }
  .gsc-control-cse .gs-image {
    border: none !important;
    max-width: 12rem !important;
    max-height: 12rem !important;
    margin: 0 !important;
  }
  .gsc-control-cse .gs-image-box {
    float: none !important;
    width: 12rem !important;
    margin: 0 !important;
  }
  .gsc-control-cse .gs-image-box > a {
    display: block;
  }
  .gsc-control-cse .gs-image-box > a img {
    border: 1px solid #f2f2f2 !important;
    width: 12rem;
    height: 12rem;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
  }
  .gsc-control-cse .gsc-cursor-box {
    margin-bottom: 2rem !important;
  }
  .gsc-control-cse .gsc-cursor-box .gsc-cursor {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
  }
  .gsc-control-cse .gsc-cursor-box .gsc-cursor .gsc-cursor-page {
    font-size: 14px;
    margin: 0 !important;
  }
  .sp_pt0, .sp_pv0,
  .sp_pa0 {
    padding-top: 0px !important;
  }
  .sp_pr0, .sp_ph0,
  .sp_pa0 {
    padding-right: 0px !important;
  }
  .sp_pb0, .sp_pv0,
  .sp_pa0 {
    padding-bottom: 0px !important;
  }
  .sp_pl0, .sp_ph0,
  .sp_pa0 {
    padding-left: 0px !important;
  }
  .sp_mt0, .sp_mv0,
  .sp_ma0 {
    margin-top: 0px !important;
  }
  .sp_mr0, .sp_mh0,
  .sp_ma0 {
    margin-right: 0px !important;
  }
  .sp_mb0, .sp_mv0,
  .sp_ma0 {
    margin-bottom: 0px !important;
  }
  .sp_ml0, .sp_mh0,
  .sp_ma0 {
    margin-left: 0px !important;
  }
  .sp_pt5, .sp_pv5,
  .sp_pa5 {
    padding-top: 5px !important;
  }
  .sp_pr5, .sp_ph5,
  .sp_pa5 {
    padding-right: 5px !important;
  }
  .sp_pb5, .sp_pv5,
  .sp_pa5 {
    padding-bottom: 5px !important;
  }
  .sp_pl5, .sp_ph5,
  .sp_pa5 {
    padding-left: 5px !important;
  }
  .sp_mt5, .sp_mv5,
  .sp_ma5 {
    margin-top: 5px !important;
  }
  .sp_mr5, .sp_mh5,
  .sp_ma5 {
    margin-right: 5px !important;
  }
  .sp_mb5, .sp_mv5,
  .sp_ma5 {
    margin-bottom: 5px !important;
  }
  .sp_ml5, .sp_mh5,
  .sp_ma5 {
    margin-left: 5px !important;
  }
  .sp_pt10, .sp_pv10,
  .sp_pa10 {
    padding-top: 10px !important;
  }
  .sp_pr10, .sp_ph10,
  .sp_pa10 {
    padding-right: 10px !important;
  }
  .sp_pb10, .sp_pv10,
  .sp_pa10 {
    padding-bottom: 10px !important;
  }
  .sp_pl10, .sp_ph10,
  .sp_pa10 {
    padding-left: 10px !important;
  }
  .sp_mt10, .sp_mv10,
  .sp_ma10 {
    margin-top: 10px !important;
  }
  .sp_mr10, .sp_mh10,
  .sp_ma10 {
    margin-right: 10px !important;
  }
  .sp_mb10, .sp_mv10,
  .sp_ma10 {
    margin-bottom: 10px !important;
  }
  .sp_ml10, .sp_mh10,
  .sp_ma10 {
    margin-left: 10px !important;
  }
  .sp_pt15, .sp_pv15,
  .sp_pa15 {
    padding-top: 15px !important;
  }
  .sp_pr15, .sp_ph15,
  .sp_pa15 {
    padding-right: 15px !important;
  }
  .sp_pb15, .sp_pv15,
  .sp_pa15 {
    padding-bottom: 15px !important;
  }
  .sp_pl15, .sp_ph15,
  .sp_pa15 {
    padding-left: 15px !important;
  }
  .sp_mt15, .sp_mv15,
  .sp_ma15 {
    margin-top: 15px !important;
  }
  .sp_mr15, .sp_mh15,
  .sp_ma15 {
    margin-right: 15px !important;
  }
  .sp_mb15, .sp_mv15,
  .sp_ma15 {
    margin-bottom: 15px !important;
  }
  .sp_ml15, .sp_mh15,
  .sp_ma15 {
    margin-left: 15px !important;
  }
  .sp_pt20, .sp_pv20,
  .sp_pa20 {
    padding-top: 20px !important;
  }
  .sp_pr20, .sp_ph20,
  .sp_pa20 {
    padding-right: 20px !important;
  }
  .sp_pb20, .sp_pv20,
  .sp_pa20 {
    padding-bottom: 20px !important;
  }
  .sp_pl20, .sp_ph20,
  .sp_pa20 {
    padding-left: 20px !important;
  }
  .sp_mt20, .sp_mv20,
  .sp_ma20 {
    margin-top: 20px !important;
  }
  .sp_mr20, .sp_mh20,
  .sp_ma20 {
    margin-right: 20px !important;
  }
  .sp_mb20, .sp_mv20,
  .sp_ma20 {
    margin-bottom: 20px !important;
  }
  .sp_ml20, .sp_mh20,
  .sp_ma20 {
    margin-left: 20px !important;
  }
  .sp_pt25, .sp_pv25,
  .sp_pa25 {
    padding-top: 25px !important;
  }
  .sp_pr25, .sp_ph25,
  .sp_pa25 {
    padding-right: 25px !important;
  }
  .sp_pb25, .sp_pv25,
  .sp_pa25 {
    padding-bottom: 25px !important;
  }
  .sp_pl25, .sp_ph25,
  .sp_pa25 {
    padding-left: 25px !important;
  }
  .sp_mt25, .sp_mv25,
  .sp_ma25 {
    margin-top: 25px !important;
  }
  .sp_mr25, .sp_mh25,
  .sp_ma25 {
    margin-right: 25px !important;
  }
  .sp_mb25, .sp_mv25,
  .sp_ma25 {
    margin-bottom: 25px !important;
  }
  .sp_ml25, .sp_mh25,
  .sp_ma25 {
    margin-left: 25px !important;
  }
  .sp_pt30, .sp_pv30,
  .sp_pa30 {
    padding-top: 30px !important;
  }
  .sp_pr30, .sp_ph30,
  .sp_pa30 {
    padding-right: 30px !important;
  }
  .sp_pb30, .sp_pv30,
  .sp_pa30 {
    padding-bottom: 30px !important;
  }
  .sp_pl30, .sp_ph30,
  .sp_pa30 {
    padding-left: 30px !important;
  }
  .sp_mt30, .sp_mv30,
  .sp_ma30 {
    margin-top: 30px !important;
  }
  .sp_mr30, .sp_mh30,
  .sp_ma30 {
    margin-right: 30px !important;
  }
  .sp_mb30, .sp_mv30,
  .sp_ma30 {
    margin-bottom: 30px !important;
  }
  .sp_ml30, .sp_mh30,
  .sp_ma30 {
    margin-left: 30px !important;
  }
  .sp_pt35, .sp_pv35,
  .sp_pa35 {
    padding-top: 35px !important;
  }
  .sp_pr35, .sp_ph35,
  .sp_pa35 {
    padding-right: 35px !important;
  }
  .sp_pb35, .sp_pv35,
  .sp_pa35 {
    padding-bottom: 35px !important;
  }
  .sp_pl35, .sp_ph35,
  .sp_pa35 {
    padding-left: 35px !important;
  }
  .sp_mt35, .sp_mv35,
  .sp_ma35 {
    margin-top: 35px !important;
  }
  .sp_mr35, .sp_mh35,
  .sp_ma35 {
    margin-right: 35px !important;
  }
  .sp_mb35, .sp_mv35,
  .sp_ma35 {
    margin-bottom: 35px !important;
  }
  .sp_ml35, .sp_mh35,
  .sp_ma35 {
    margin-left: 35px !important;
  }
  .sp_pt40, .sp_pv40,
  .sp_pa40 {
    padding-top: 40px !important;
  }
  .sp_pr40, .sp_ph40,
  .sp_pa40 {
    padding-right: 40px !important;
  }
  .sp_pb40, .sp_pv40,
  .sp_pa40 {
    padding-bottom: 40px !important;
  }
  .sp_pl40, .sp_ph40,
  .sp_pa40 {
    padding-left: 40px !important;
  }
  .sp_mt40, .sp_mv40,
  .sp_ma40 {
    margin-top: 40px !important;
  }
  .sp_mr40, .sp_mh40,
  .sp_ma40 {
    margin-right: 40px !important;
  }
  .sp_mb40, .sp_mv40,
  .sp_ma40 {
    margin-bottom: 40px !important;
  }
  .sp_ml40, .sp_mh40,
  .sp_ma40 {
    margin-left: 40px !important;
  }
  .sp_pt45, .sp_pv45,
  .sp_pa45 {
    padding-top: 45px !important;
  }
  .sp_pr45, .sp_ph45,
  .sp_pa45 {
    padding-right: 45px !important;
  }
  .sp_pb45, .sp_pv45,
  .sp_pa45 {
    padding-bottom: 45px !important;
  }
  .sp_pl45, .sp_ph45,
  .sp_pa45 {
    padding-left: 45px !important;
  }
  .sp_mt45, .sp_mv45,
  .sp_ma45 {
    margin-top: 45px !important;
  }
  .sp_mr45, .sp_mh45,
  .sp_ma45 {
    margin-right: 45px !important;
  }
  .sp_mb45, .sp_mv45,
  .sp_ma45 {
    margin-bottom: 45px !important;
  }
  .sp_ml45, .sp_mh45,
  .sp_ma45 {
    margin-left: 45px !important;
  }
  .sp_pt50, .sp_pv50,
  .sp_pa50 {
    padding-top: 50px !important;
  }
  .sp_pr50, .sp_ph50,
  .sp_pa50 {
    padding-right: 50px !important;
  }
  .sp_pb50, .sp_pv50,
  .sp_pa50 {
    padding-bottom: 50px !important;
  }
  .sp_pl50, .sp_ph50,
  .sp_pa50 {
    padding-left: 50px !important;
  }
  .sp_mt50, .sp_mv50,
  .sp_ma50 {
    margin-top: 50px !important;
  }
  .sp_mr50, .sp_mh50,
  .sp_ma50 {
    margin-right: 50px !important;
  }
  .sp_mb50, .sp_mv50,
  .sp_ma50 {
    margin-bottom: 50px !important;
  }
  .sp_ml50, .sp_mh50,
  .sp_ma50 {
    margin-left: 50px !important;
  }
  .sp_pt55, .sp_pv55,
  .sp_pa55 {
    padding-top: 55px !important;
  }
  .sp_pr55, .sp_ph55,
  .sp_pa55 {
    padding-right: 55px !important;
  }
  .sp_pb55, .sp_pv55,
  .sp_pa55 {
    padding-bottom: 55px !important;
  }
  .sp_pl55, .sp_ph55,
  .sp_pa55 {
    padding-left: 55px !important;
  }
  .sp_mt55, .sp_mv55,
  .sp_ma55 {
    margin-top: 55px !important;
  }
  .sp_mr55, .sp_mh55,
  .sp_ma55 {
    margin-right: 55px !important;
  }
  .sp_mb55, .sp_mv55,
  .sp_ma55 {
    margin-bottom: 55px !important;
  }
  .sp_ml55, .sp_mh55,
  .sp_ma55 {
    margin-left: 55px !important;
  }
  .sp_pt60, .sp_pv60,
  .sp_pa60 {
    padding-top: 60px !important;
  }
  .sp_pr60, .sp_ph60,
  .sp_pa60 {
    padding-right: 60px !important;
  }
  .sp_pb60, .sp_pv60,
  .sp_pa60 {
    padding-bottom: 60px !important;
  }
  .sp_pl60, .sp_ph60,
  .sp_pa60 {
    padding-left: 60px !important;
  }
  .sp_mt60, .sp_mv60,
  .sp_ma60 {
    margin-top: 60px !important;
  }
  .sp_mr60, .sp_mh60,
  .sp_ma60 {
    margin-right: 60px !important;
  }
  .sp_mb60, .sp_mv60,
  .sp_ma60 {
    margin-bottom: 60px !important;
  }
  .sp_ml60, .sp_mh60,
  .sp_ma60 {
    margin-left: 60px !important;
  }
  .sp_pt75, .sp_pv75,
  .sp_pa75 {
    padding-top: 75px !important;
  }
  .sp_pr75, .sp_ph75,
  .sp_pa75 {
    padding-right: 75px !important;
  }
  .sp_pb75, .sp_pv75,
  .sp_pa75 {
    padding-bottom: 75px !important;
  }
  .sp_pl75, .sp_ph75,
  .sp_pa75 {
    padding-left: 75px !important;
  }
  .sp_mt75, .sp_mv75,
  .sp_ma75 {
    margin-top: 75px !important;
  }
  .sp_mr75, .sp_mh75,
  .sp_ma75 {
    margin-right: 75px !important;
  }
  .sp_mb75, .sp_mv75,
  .sp_ma75 {
    margin-bottom: 75px !important;
  }
  .sp_ml75, .sp_mh75,
  .sp_ma75 {
    margin-left: 75px !important;
  }
  .sp_pt80, .sp_pv80,
  .sp_pa80 {
    padding-top: 80px !important;
  }
  .sp_pr80, .sp_ph80,
  .sp_pa80 {
    padding-right: 80px !important;
  }
  .sp_pb80, .sp_pv80,
  .sp_pa80 {
    padding-bottom: 80px !important;
  }
  .sp_pl80, .sp_ph80,
  .sp_pa80 {
    padding-left: 80px !important;
  }
  .sp_mt80, .sp_mv80,
  .sp_ma80 {
    margin-top: 80px !important;
  }
  .sp_mr80, .sp_mh80,
  .sp_ma80 {
    margin-right: 80px !important;
  }
  .sp_mb80, .sp_mv80,
  .sp_ma80 {
    margin-bottom: 80px !important;
  }
  .sp_ml80, .sp_mh80,
  .sp_ma80 {
    margin-left: 80px !important;
  }
  .sp_pt95, .sp_pv95,
  .sp_pa95 {
    padding-top: 95px !important;
  }
  .sp_pr95, .sp_ph95,
  .sp_pa95 {
    padding-right: 95px !important;
  }
  .sp_pb95, .sp_pv95,
  .sp_pa95 {
    padding-bottom: 95px !important;
  }
  .sp_pl95, .sp_ph95,
  .sp_pa95 {
    padding-left: 95px !important;
  }
  .sp_mt95, .sp_mv95,
  .sp_ma95 {
    margin-top: 95px !important;
  }
  .sp_mr95, .sp_mh95,
  .sp_ma95 {
    margin-right: 95px !important;
  }
  .sp_mb95, .sp_mv95,
  .sp_ma95 {
    margin-bottom: 95px !important;
  }
  .sp_ml95, .sp_mh95,
  .sp_ma95 {
    margin-left: 95px !important;
  }
  .sp_pt100, .sp_pv100,
  .sp_pa100 {
    padding-top: 100px !important;
  }
  .sp_pr100, .sp_ph100,
  .sp_pa100 {
    padding-right: 100px !important;
  }
  .sp_pb100, .sp_pv100,
  .sp_pa100 {
    padding-bottom: 100px !important;
  }
  .sp_pl100, .sp_ph100,
  .sp_pa100 {
    padding-left: 100px !important;
  }
  .sp_mt100, .sp_mv100,
  .sp_ma100 {
    margin-top: 100px !important;
  }
  .sp_mr100, .sp_mh100,
  .sp_ma100 {
    margin-right: 100px !important;
  }
  .sp_mb100, .sp_mv100,
  .sp_ma100 {
    margin-bottom: 100px !important;
  }
  .sp_ml100, .sp_mh100,
  .sp_ma100 {
    margin-left: 100px !important;
  }
}