@charset "UTF-8";
/*非表示*/
.visible-none {
	display: none;
}
/*地球儀マーク*/
.wovn-lang-list {
    margin-left: 40px;
}
ul.wovn-lang-list:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    left: -21px;
    top: 7px;
    background-image: url(/jp/img/common/language.png);
    background-size: contain;
    background-repeat: no-repeat;
}
/*table 罫線*/
th.line-col {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
th.line-left {
	border-left: 1px solid #fff;
}
th.line-right {
	border-right: 1px solid #fff;
}
/*論文ページのwidth改修*/
@media only screen and (min-width: 768px){
  .table_thesis { overflow-x: auto; }
  .table_thesis > table { width: 100%; }
}

/* NEWS一覧最後の文言位置 PCのみ適用 */
@media only screen and (min-width: 768px){
  .news_last_text {
      position: relative;
      bottom: -2.5em;
  }
}
/* NEWS一覧 お知らせ リリース枠 色付け 共通 */
.st-News_Index-Cat-press_release {
	Background: #0A2D88;
	Color: #fff;
}
.st-News_Index-Cat-information {
	Background: #0464FD;
	Color: #fff;
}

/* ---- 新着情報-バンド本体（フル幅の背景） ----
   日本語・英語のみ表示。それ以外の言語では中の言語ブロックが両方
   非表示になり、_Inner の padding（56px×2）だけが残って灰色の帯に
   なってしまうため、セクションごと落とす。 */
.st-LatestNews {
  width: 100%;
  background: #E8E8E8;
  box-sizing: border-box;
  display: none;
}

/* ---- 新着情報-表示する言語のホワイトリスト ---- */
html[lang="ja"] .st-LatestNews,
html[lang="en"] .st-LatestNews {
  display: block;
}

.st-LatestNews_Inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 56px 86px;
  box-sizing: border-box;
}

/* ---- 新着情報-言語ブロック（display は触らない） ---- */
.st-LatestNews .dev-material > div {
  position: relative;
}

/* ---- 新着情報-見出し（左・垂直中央 / 中央揃え / 下線） ---- */
.st-LatestNews .dev-material > div > h2 {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 200px;
  margin: 0;
  text-align: center;
  font-size: 19px;
  line-height: 1.5;
  padding-bottom: 10px;
  border-bottom: 1px solid currentColor;
}

/* ---- 新着情報-カード並び（PC：3カラムのタイル） ----
   既存の margin-bottom:60px / padding-bottom:65px（スクロールバー用）を打ち消し、
   overflow-x も visible に戻す。 */
.st-LatestNews .mc-flexContent {
  margin: 0 0 0 240px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch;
  overflow-x: visible;
}

/* ---- 新着情報-カード（画像＋テキスト一体） ----
   既存の flex:0 0 340px / max-width:340px を解除しないと
   グリッドでカード幅が 340px で頭打ちになる。 */
.st-LatestNews .mc-flexContent_Item {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .10);
  padding: 0;
  margin: 0;
  width: auto;
  max-width: none;
  flex: initial;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s ease, transform .2s ease;
}

.st-LatestNews .mc-flexContent_Item:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, .16);
  transform: translateY(-2px);
}

/* ---- 新着情報-サムネイル（16:9・中央トリミング） ----
   既存 .mc-flexContent-Img{height:191px} + img{width:100%;height:100%} のため、
   width と height が両方効くと img の aspect-ratio が無視される。
   比率は親（figure）側で持たせる（#anc_related と同じ手法）。 */
.st-LatestNews .mc-flexContent-Img {
  margin: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.st-LatestNews .mc-flexContent-Img img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center center;
  display: block;
  border-radius: 0;
}

/* ---- 新着情報-テキストエリア ---- */
.st-LatestNews .mc-flexContent-Cnt {
  background: #fff;
  padding: 10px 14px;
  box-sizing: border-box;
  flex: 1;
  border-radius: 0;
}

.st-LatestNews .mc-flexContent-Ttl {
  margin: 0;
}

.st-LatestNews .mc-flexContent-Ttl,
.st-LatestNews .mc-flexContent-Ttl a {
  font-size: 16px;
  line-height: 1.6;
}

.st-LatestNews .new-date {
  font-size: 15px;
}

/* ---- 新着情報-タブレット（〜1024px）：見出しを上に戻して2カラム ---- */
@media screen and (max-width: 1024px) {
  .st-LatestNews_Inner {
    padding: 48px 40px;
  }
  .st-LatestNews .dev-material > div > h2 {
    position: static;
    transform: none;
    width: auto;
    display: inline-block;
    margin: 0 0 24px;
  }
  .st-LatestNews .mc-flexContent {
    margin-left: 0;
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ---- 新着情報-スマートフォン（〜640px）：関連情報と同じ横スクロールカルーセルに戻す ----
   装飾（白カード・角丸・影・16:9・文字サイズ）は PC から継承。 */
@media screen and (max-width: 640px) {
  .st-LatestNews_Inner {
    padding: 40px 20px 20px;
  }

  .st-LatestNews .dev-material > div > h2 {
    margin: 0 0 20px;
  }

  /* 新着情報-grid を解除して既存どおりの flex カルーセルへ */
  .st-LatestNews .mc-flexContent {
    display: flex;
    grid-template-columns: none;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    padding: 0 0 40px; /* スクロールバー用スペース */
    gap: 16px;
    align-items: stretch;
  }

  /* 新着情報-280px にすると次カードが約80px覗きスクロール可能なことが伝わる。
     「関連情報」と完全に揃えるなら 340px。 */
  .st-LatestNews .mc-flexContent_Item {
    flex: 0 0 280px;
    max-width: 280px;
    width: 280px;
  }

  /* 新着情報-既存 scrollbar-track の border-bottom は #E8E8E8 でバンド背景と同色になり
     見えなくなるため上書き */
  .st-LatestNews .mc-flexContent::-webkit-scrollbar-track {
    border-bottom-color: #C9C9C9;
  }
}

/* JP版・EN版どっちもデフォルト非表示 */
.dev-material .lang-jp-only,
.dev-material .lang-en-only {
  display: none;
}

html[lang="ja"] .dev-material .lang-jp-only {
  display: block;
}
html[lang="en"] .dev-material .lang-en-only {
  display: block;
}

#LocalNav div:has(> a[href="#anc_latest"]) {
display: none;
}

/* 関連記事画像を16:9で表示 */
#anc_related .mc-flexContent-Img{
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

#anc_related .mc-flexContent-Img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 製品を除くグローバルサーチの画像比率変更 */
.st-MainCnt_Inner .mc-SearchResult-Img{
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.st-MainCnt_Inner .mc-SearchResult-Img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.st-MainCnt_Inner .mc-SearchResult_Item a[href$=".pdf"]:after {
    content: none;
    display: none;
    padding: 0;
    margin: 0;
}
.st-MainCnt_Inner .mc-SearchResult_Item a[href$=".pdf"] .mc-SearchResult-Time:after {
    content: url(../img/common/ico-pdf.png);
    display: inline-block;
    padding: 0.1em 0 0 1em;
    margin: 0;
    position: relative;
    top: 2px;
}

/* 製品/グローバルサーチのレイアウト変更 */
.mc-SearchResult.clm_5 .mc-SearchResult_Item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc((100% - 64px) / 5);
  flex: 0 0 calc((100% - 64px) / 5);
}
@media only screen and (max-width: 767px) {
  .mc-SearchResult.clm_5 .mc-SearchResult_Item {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.st-Main_Block:has(.mc-SearchWin) {
  display: block;
}
.mc-SearchWin_Item > dt {
  -ms-flex: 0 0 13%;
  flex: 0 0 13%;
}
.mc-selectGrp_Item dt {
  -ms-flex: 0 0 13%;
  flex: 0 0 13%;
}
.mc-SearchResult-Cat {
  display: none;
}
.mc-SearchResult-Img {
  margin-top: 2rem;
}
.mc-SearchResult-Ttl {
    height: 3.55rem;
}



/* =========================
   検索画面
========================= */

.st-Main:has(.mc-SearchWin) h1 {
    margin-bottom: 0.5em;
}
.st-Main:has(.mc-SearchWin) .mc-secHeader {
    margin-bottom: 0rem;
}
.st-Main:has(.mc-SearchWin) .mc-SearchWin_Item > dd {
    flex: 0 0 87%;
    min-width: 0;
}

/* =========================
   検索エリア
========================= */

.st-Main:has(.mc-SearchWin) .mc-SearcBox {
    display: flex;
    align-items: center;
    width: 100%;
    border: none;
}

/* キーワード入力欄 */
.st-Main:has(.mc-SearchWin) .mc-SearcBox input {
    flex: 1 1 auto;
    min-width: 0;
    height: 50px;
    box-sizing: border-box;
    border: 1px solid #0a2d88;
}


/* 検索ボタンエリア */
.st-Main:has(.mc-SearchWin) .mc-SearchBtnArea {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    margin-right: 30px;
}
.st-Main:has(.mc-SearchWin) .mc-SearcBox .mc-SearchBtnArea #searchBtn {
    width: 170px;
    height: 50px;
    box-sizing: border-box;
    border: none;
    background-color: #0a2d88;
    color: #fff;
    cursor: pointer;
}

/* クリア・開閉ボタンエリア */
.st-Main:has(.mc-SearchWin) .mc-SearchSubBtnArea {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 30px;
    height: 60px;
}

/* すべてクリア */
.st-Main:has(.mc-SearchWin) #clearBtn {
    min-width: 96px;
    white-space: nowrap;
}

/* 検索項目開閉ボタン */
.st-Main:has(.mc-SearchWin) .mc-CloseBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 50px;
    padding: 0 20px;
    box-sizing: border-box;
    border: 1px solid #0a2d88;
    background-color: #f0f7ff;
    color: #0a2d88;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity 0.4s ease;
}
.st-Main:has(.mc-SearchWin) .mc-CloseBtn:hover {
    opacity: 0.7;
}

/* 開閉ボタンの矢印 */
.st-Main:has(.mc-SearchWin) .mc-CloseBtn_Arrow {
    width: 8px;
    height: 8px;
    margin-left: 4px;
    border-right: 1px solid #0a2d88;
    border-bottom: 1px solid #0a2d88;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}
.st-Main:has(.mc-SearchWin) .mc-CloseBtn.is-close .mc-CloseBtn_Arrow {
    transform: rotate(-135deg);
}


/* =========================
   検索項目
========================= */

.st-Main:has(.mc-SearchWin) .si-Title {
    margin: 0;
    font-size: 1.3125rem;
}
.st-Main:has(.mc-SearchWin) .mc-selectGrp_Item {
    margin-top: 0;
    padding: 1rem;
    border-bottom: 1px solid #d9dde5;
}
.st-Main:has(.mc-SearchWin) .mc-selectGrp_Item:last-child {
    border-bottom: 0;
}
.st-Main:has(.mc-SearchWin) .mc-selectGrp_Item label {
    padding: 0 8px;
    border: none;
    font-size: 0.8rem;
}
.st-Main:has(.mc-SearchWin) .mc-selectGrp_Item input[type=checkbox]:checked+label {
    border: none;
}
.st-Main:has(.mc-SearchWin):lang(ja) .ja-onlyBlock {
    display: flex;
}
.st-Main:has(.mc-SearchWin) .mc-selectGrp_Item label::before {
    width: 12px;
    height: 12px;
}
.st-Main:has(.mc-SearchWin) .mc-selectGrp_Item label::after {
    left: 7px;
}
.st-Main:has(.mc-SearchWin) .mc-SearchResult {
    padding-top: 30px;
    scroll-margin-top: 100px;
}

/* =========================
   検索条件アコーディオン
========================= */

.st-Main:has(.mc-SearchWin) .mc-selectGrp_Accordion {
    overflow: hidden;
    border: 1px solid #d9dde5;
    border-radius: 3px;
    background-color: #fff;
}

/* 見出しボタン */
.st-Main:has(.mc-SearchWin) .mc-selectGrp_AccordionBtn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 64px;
    padding: 14px 24px;
    border: 0;
    border-bottom: 1px solid #d9dde5;
    background-color: #fff;
    color: #0e1e49;
    font: inherit;
    text-align: left;
    cursor: pointer;
}


/* タイトル */
.st-Main:has(.mc-SearchWin) .mc-FilterPanel_Title {
    display: flex;
    align-items: baseline;
    gap: 10px;
}


/* 左側アイコン */
.st-Main:has(.mc-SearchWin) .mc-FilterPanel_Icon {
    position: relative;
    width: 26px;
    height: 18px;
    flex: 0 0 26px;
    background:
        linear-gradient(#0a2d88, #0a2d88) 0 3px / 26px 1px no-repeat,
        linear-gradient(#0a2d88, #0a2d88) 0 10px / 26px 1px no-repeat,
        linear-gradient(#0a2d88, #0a2d88) 0 17px / 26px 1px no-repeat;
}
.st-Main:has(.mc-SearchWin) .mc-FilterPanel_Icon::before,
.st-Main:has(.mc-SearchWin) .mc-FilterPanel_Icon::after {
    content: "";
    position: absolute;
    width: 5px;
    height: 5px;
    border: 1px solid #0a2d88;
    border-radius: 50%;
    background-color: #fff;
}
.st-Main:has(.mc-SearchWin) .mc-FilterPanel_Icon::before {
    top: 0;
    left: 7px;
    box-shadow:
        9px 7px 0 -1px #fff,
        9px 7px 0 0 #0a2d88;
}
.st-Main:has(.mc-SearchWin) .mc-FilterPanel_Icon::after {
    top: 14px;
    left: 4px;
}

/* アコーディオン見出しの矢印 */
.st-Main:has(.mc-SearchWin) .mc-selectGrp_Arrow {
    width: 11px;
    height: 11px;
    margin-right: 4px;
    flex: 0 0 11px;
    border-top: 2px solid #0a2d88;
    border-left: 2px solid #0a2d88;
    transition: transform 0.3s ease;
}
.st-Main:has(.mc-SearchWin) .mc-selectGrp_AccordionBtn[aria-expanded="true"] .mc-selectGrp_Arrow {
    transform: rotate(45deg);
}
.st-Main:has(.mc-SearchWin) .mc-selectGrp_AccordionBtn[aria-expanded="false"] .mc-selectGrp_Arrow {
    transform: rotate(225deg);
}

/* アコーディオン本文 */
.st-Main:has(.mc-SearchWin) .mc-selectGrp_AccordionBody {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
    transition:
        grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.3s ease,
        visibility 0s;
}
.st-Main:has(.mc-SearchWin) .mc-selectGrp_AccordionBody > .mc-selectGrp {
    min-height: 0;
    overflow: hidden;
}

/* 閉じた状態 */
.st-Main:has(.mc-SearchWin) .mc-selectGrp_AccordionBody.is-close {
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.2s ease,
        visibility 0s 0.4s;
}

/* キーボード操作時 */
.st-Main:has(.mc-SearchWin) .mc-selectGrp_AccordionBtn:focus-visible {
    outline: 2px solid #0a2d88;
    outline-offset: -2px;
}

/* =========================
   スマートフォン
========================= */

@media screen and (max-width: 767px) {

    .st-Main:has(.mc-SearchWin) .mc-SearchWin_Item {
        display: block;
    }
    .st-Main:has(.mc-SearchWin) .mc-SearchWin_Item > dt,
    .st-Main:has(.mc-SearchWin) .mc-SearchWin_Item > dd {
        width: 100%;
        max-width: none;
        flex: none;
    }

    /* 検索エリア */
    .st-Main:has(.mc-SearchWin) .mc-SearcBox {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 110px;
        width: 100%;
    }

    /* 入力欄 */
    .st-Main:has(.mc-SearchWin) .mc-SearcBox input {
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        height: 56px;
    }

    /* 検索ボタン */
    .st-Main:has(.mc-SearchWin) .mc-SearchBtnArea {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        margin-right: 0;
    }

    .st-Main:has(.mc-SearchWin) .mc-SearcBox .mc-SearchBtnArea #searchBtn {
        width: 100%;
        height: 56px;
    }

    /* クリア・開閉ボタン */
    .st-Main:has(.mc-SearchWin) .mc-SearchSubBtnArea {
        grid-column: 1 / -1;
        grid-row: 2;
        display: flex;
        align-items: center;
        gap: 16px;
        width: 100%;
    }
    .st-Main:has(.mc-SearchWin) #clearBtn {
        min-width: auto;
        min-height: 50px;
    }
    .st-Main:has(.mc-SearchWin) .mc-CloseBtn {
        height: 40px;
        padding: 0 16px;
    }

    /* アコーディオン */
    .st-Main:has(.mc-SearchWin) .mc-selectGrp_AccordionBtn {
        min-height: 56px;
        padding: 12px 16px;
    }
    .st-Main:has(.mc-SearchWin) .mc-FilterPanel_Title {
        gap: 8px;
    }
    .st-Main:has(.mc-SearchWin) .mc-FilterPanel_Icon {
        width: 22px;
        height: 20px;
        flex-basis: 22px;
        background:
            linear-gradient(#0a2d88, #0a2d88) 0 3px / 22px 1px no-repeat,
            linear-gradient(#0a2d88, #0a2d88) 0 9px / 22px 1px no-repeat,
            linear-gradient(#0a2d88, #0a2d88) 0 15px / 22px 1px no-repeat;
    }
}


/* パンくず */
.st-Contents {
    padding: 40px 0 120px;
}
.st-Contents.index {
    padding-top: 20px;
}
.st-Breadcrumb {
    max-width: 1440px;
    margin: 0 auto;
    padding: 10px 0 10px 80px;
}
.st-Breadcrumb ol {
    padding: 0;
}
@media only screen and (max-width: 991px) {
    .st-Contents {
        padding: 80px 0 120px;
    }
    .st-Breadcrumb {
        padding: 0 0 0 10%;
    }
}

/* =========================
   スクロールヒント
========================= */
div.swipe .swipe-icon-pc {
    position: absolute;
    top: 120px;
    left: 50%;
    margin-left: -75px;
    margin-top: -75px;
    width: 180px;
    height: 180px;
    background: #333;
    text-align: center;
    opacity: 0.6;
    filter: alpha(opacity=60);
    pointer-events: none;
}
div.swipe .swipe-icon-pc img {
    width: 150px;
    padding-top: 45px;
}