@charset "utf-8";

/* ==============================================================
 * style.css (統合版)
 * 旧 base.css + base_sub.css + tokens + components を単一ファイルに統合。
 *
 * 旧構成:
 *   <link href="/common/css/base.css">      (共通 chrome)
 *   <link href="/common/css/base_sub.css">  (サブページ専用, 後勝ち)
 * 新構成:
 *   <link href="/common/css/style.css">     (これ1枚)
 *
 * カスケード順序は旧来の挙動を維持: base.css 由来のルールが先に並び、
 * base_sub.css 由来のルールが後に並ぶ。同一セレクタに対する
 * プロパティ競合は base_sub 側が勝つ (例: .MainVisual)。
 *
 * 統合と同時に実施したリファクタリング:
 *   - 色/余白/フォント/ radius を :root の CSS カスタムプロパティに置換
 *   - 反復パターンを LAYER 1 の .c-* ユーティリティに抽出
 *     (.c-pillBtn / .c-outlineBtn / .c-thumbnail / .c-searchIndex
 *      /.c-fieldItem / .c-grid-N など)
 *   - 古い vendor prefix (-webkit-box / -ms-flexbox / -webkit-transition
 *     /-moz-border-radius / -o-object-fit / -moz-column-gap 等) を削除
 *   - @media (max-width:767px) 内にあった通常ルールの完全コピー約1,100行を削除
 *     (カスケードで既定値として適用されるため冗長だった)
 *   - (max-width:767px) and (min-width:1001px) など常に false のネスト @media を削除
 *   - .LocalMenu と .vertical .LocalMenu の5診療領域アイコン重複定義を統合
 *
 * ファイル構成 (上から順):
 *   LAYER 0: Design Tokens (:root 変数)
 *   LAYER 1: Reusable Components (.c-* ユーティリティ)
 *   LAYER 2: Base (元 base.css — reset/layout/共通UI/Header/Footer/top-MainVisual)
 *   LAYER 3: Sub  (元 base_sub.css — サブページ専用スタイル)
 * ============================================================== */


/* ==============================================================
 * LAYER 0: Design Tokens
 * ============================================================== */

:root {
  /* --- Color: Brand --- */
  --color-primary:        #005cc5;
  --color-primary-dark:   #004fa9;
  --color-primary-bg:     #e5eef9;  /* primary のホバー背景 */
  --color-primary-border: #d9e7f6;  /* primary の淡いボーダー */

  --color-secondary:      #f08300;  /* オレンジ (検索ボタン・ホバー) */
  --color-accent-cyan:    #2aadde;  /* is_free 三角マーク */

  /* --- Color: Neutral --- */
  --color-white:          #fff;
  --color-black:          #000;
  --color-text:           #000;
  --color-text-muted:     #555;
  --color-text-subtle:    #666;
  --color-text-disabled:  grey;

  --color-bg-light:       #fafafa;  /* 見出し・パネルの淡背景 */
  --color-bg-soft:        #f2f2f2;  /* 検索欄等の背景 */
  --color-bg-mute:        #efefef;  /* Check/NoEntry 等の灰背景 */

  --color-border:         #d8d8d8;
  --color-border-soft:    #d9d9d9;
  --color-border-faint:   #dbdbdb;
  --color-border-pale:    #e8e7e7;
  --color-border-whisper: #eaeaea;

  --color-overlay:        rgba(0, 0, 0, 0.4);
  --color-overlay-soft:   rgba(0, 0, 0, 0.3);
  --color-overlay-mask:   rgba(0, 0, 0, 0.5);

  /* --- Color: Medical Fields (診療領域別) --- */
  --color-field-respiratory:       #f08300;
  --color-field-otorhinolaryngology:#e5005a;
  --color-field-urology:           #007fcc;
  --color-field-gastroenterology:  #00a051;
  --color-field-infection:         #8e1ac3;

  /* --- Color: Semantic --- */
  --color-danger:         #d90000;
  --color-danger-alt:     #e40059;
  --color-success:        #00a051;

  /* --- Spacing --- */
  --space-2xs: 3px;
  --space-xs:  5px;
  --space-sm:  10px;
  --space-md:  15px;
  --space-lg:  20px;
  --space-xl:  30px;
  --space-2xl: 50px;

  /* --- Layout --- */
  --container-max:    1000px;
  --content-padding:  10px;

  /* --- Radius --- */
  --radius-xs: 2px;
  --radius-sm: 3px;
  --radius-md: 5px;

  /* --- Typography --- */
  --font-family-base: sans-serif;

  --font-size-xs:     0.625rem;   /* 10px */
  --font-size-sm:     0.812rem;   /* 13px - 最頻出 */
  --font-size-md:     0.875rem;   /* 14px */
  --font-size-base:   1rem;       /* 16px */
  --font-size-lg:     1.125rem;   /* 18px */
  --font-size-xl:     1.25rem;    /* 20px */
  --font-size-2xl:    1.75rem;    /* 28px */

  --line-height-base: 1.5;
  --line-height-tight:1;

  /* --- Effects --- */
  --transition-base:       background-color 0.5s ease-out;
  --transition-opacity:    opacity 0.5s ease-out;
  --transition-fade:       opacity 0.5s ease-in-out;
  --transition-transform:  transform 0.3s ease-out;
  --transition-all:        all 0.3s ease-out;

  --opacity-hover: 0.6;

  /* --- z-index --- */
  --z-fixed:   10;
  --z-modal:   100;
  --z-dialog:  100000;

  /* --- Image Path --- */
  --asset-path: "/common/images";
}


/* ==============================================================
 * LAYER 1: Reusable Components
 * ============================================================== */

/* --- Pill Button (primary solid)
 * 原コードで .IndexMember__buttons a / .FooterNav__pagetop a /
 * .IndexNewsList__more a / .CheckContent__secContentsContent li a など
 * 計10箇所以上で重複していた「青背景・角丸3px・白文字」ボタン。 */
.c-pillBtn {
  font-size: var(--font-size-sm);
  display: block;
  padding: 6px var(--space-lg) var(--space-2xs);
  border-radius: var(--radius-sm);
  background-color: var(--color-primary);
  color: var(--color-white);
  text-align: center;
  text-decoration: none;
  transition: var(--transition-opacity);
}
.c-pillBtn:hover,
.c-pillBtn:active {
  opacity: var(--opacity-hover);
}

/* --- Outlined Button (primary border) */
.c-outlineBtn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: var(--space-2xs) var(--space-lg);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-xs);
  background: var(--color-white);
  color: var(--color-primary);
  text-decoration: none;
  transition: var(--transition-base);
}
.c-outlineBtn:hover {
  background: var(--color-primary);
  color: var(--color-white);
}

/* --- External Link Icon
 * 外部リンクマーク (白地青枠ボタン、青地白ボタン) の切替ロジックを共通化。 */
.c-externalIcon::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  margin-right: var(--space-sm);
  background-image: url("/common/images/icon_external02.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.c-externalIcon:hover::before {
  background-image: url("/common/images/icon_external01.png");
}
/* 背景色が primary のボタン上では外部アイコンを反転 */
.-primary.c-externalIcon::before,
.c-pillBtn.c-externalIcon::before {
  background-image: url("/common/images/icon_external01.png");
}
.-primary.c-externalIcon:hover::before,
.c-pillBtn.c-externalIcon:hover::before {
  background-image: url("/common/images/icon_external02.png");
}

/* --- Search Icon Prefix
 * .AcronymLinkBtnTitle::before / .MainVisual__searchTitle::before の共通化 */
.c-searchIcon::before {
  content: "";
  display: inline-block;
  margin-right: var(--space-2xs);
  width: 17px;
  height: 17px;
  background: url("/common/images/icon_search02.svg") no-repeat 0 0;
  background-size: 17px 17px;
  vertical-align: middle;
}

/* --- Arrow Link (右向き矢印サフィックス) */
.c-arrowLink::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: var(--space-sm);
  margin-top: -8px;
  width: 10px;
  height: 16px;
  background: url("/common/images/icon_arrow15.svg") no-repeat 0 0;
  background-size: 10px 16px;
}

/* --- Medical Field Icons (診療領域5色のアイコン背景)
 * MainVisual .Field, LocalMenu, vertical .LocalMenu の3箇所で
 * 同じ .respiratory / .otorhinolaryngology / .urology / .gastroenterology / .infection
 * ルールが展開されていたので統一。 */
.c-fieldItem {
  display: block;
  height: 64px;
}
.c-fieldItem > a {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-left: 40px;
  background: var(--color-white);
  border: 1px solid var(--color-border-pale);
  text-align: center;
  text-decoration: none;
  background-repeat: no-repeat;
  background-position: 2px center;
  background-size: 40px 40px;
  transition: var(--transition-base);
}
.c-fieldItem > a:hover {
  background-color: var(--color-primary);
}
.c-fieldItem > a:hover span {
  color: var(--color-white);
}
.c-fieldItem span {
  display: block;
  margin-top: 6px;
  font-weight: bold;
  font-size: 0.5em;
  color: var(--color-primary);
  text-decoration: none;
  line-height: var(--line-height-tight);
}
.c-fieldItem span.field-title {
  font-size: var(--font-size-base);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.c-fieldItem.respiratory > a          { background-image: url("/common/images/top_icon_res.png"); }
.c-fieldItem.otorhinolaryngology > a  { background-image: url("/common/images/top_icon_oto.png"); }
.c-fieldItem.urology > a              { background-image: url("/common/images/top_icon_uro.png"); }
.c-fieldItem.gastroenterology > a     { background-image: url("/common/images/top_icon_gas.png"); }
.c-fieldItem.infection > a            { background-image: url("/common/images/top_icon_inf.png"); }
.c-fieldItem.respiratory         span.field-title { text-decoration-color: var(--color-field-respiratory); }
.c-fieldItem.otorhinolaryngology span.field-title { text-decoration-color: var(--color-field-otorhinolaryngology); }
.c-fieldItem.urology             span.field-title { text-decoration-color: var(--color-field-urology); }
.c-fieldItem.gastroenterology    span.field-title { text-decoration-color: var(--color-field-gastroenterology); }
.c-fieldItem.infection           span.field-title { text-decoration-color: var(--color-field-infection); }

/* --- Thumbnail with key corner
 * .IntroductionLink .Thumbnail / 各 ProductMovie サムネで重複していた
 * 「左上に50度の青三角と鍵アイコン」の装飾。 */
.c-thumbnail {
  position: relative;
  overflow: hidden;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
}
.c-thumbnail::before {
  content: "";
  display: block;
  position: absolute;
  top: -50px;
  left: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 50px solid var(--color-primary);
  z-index: 1;
}
.c-thumbnail::after {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 6px;
  width: 13px;
  height: 18px;
  background: url("/common/images/icon_key01.svg") no-repeat 0 0;
  background-size: 13px 18px;
  z-index: 2;
}
.c-thumbnail.-is_free::before { border-left-color: var(--color-accent-cyan); }
.c-thumbnail.-is_free::after  { background-image: url("/common/images/icon_key02.svg"); }
.c-thumbnail img {
  width: 100%;
  transition: var(--transition-transform);
}
.c-thumbnail .Type {
  position: absolute;
  right: 5px;
  bottom: 5px;
  padding: 5px 6px;
  border: 1px solid var(--color-primary);
  background-color: var(--color-white);
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  line-height: 1em;
  z-index: 1;
}

/* --- Search Index Grid (A-Z 索引)
 * AcronymLinkBtnIndex / MainVisual__searchIndex で重複していた
 * 「1文字ずつ四角に並べる索引ナビ」を集約。 */
.c-searchIndex {
  display: flex;
  justify-content: space-between;
  gap: var(--space-lg);
}
.c-searchIndex li {
  font-size: var(--font-size-base);
}
.c-searchIndex a,
.c-searchIndex span {
  display: block;
  padding: var(--space-sm);
  border-radius: var(--radius-md);
  text-align: center;
  line-height: 1em;
}
.c-searchIndex span {
  border: none;
  background-color: var(--color-bg-soft);
  color: var(--color-border);
}
.c-searchIndex a {
  border: 1px solid var(--color-border-faint);
  background-color: var(--color-white);
  color: var(--color-text-disabled);
  text-decoration: none;
  transition: var(--transition-base);
}
.c-searchIndex a:hover {
  border-color: var(--color-secondary);
  background-color: var(--color-secondary);
  color: var(--color-white);
}

/* --- Grid utility (Division-N 相当) */
.c-grid-1,
.c-grid-2,
.c-grid-3,
.c-grid-4 {
  display: grid;
  width: 100%;
  row-gap: var(--space-lg);
  margin: 0;
}
.c-grid-1 { grid-template-columns: repeat(1, 1fr); }
.c-grid-2 { grid-template-columns: repeat(2, 1fr); column-gap: var(--space-lg); }
.c-grid-3 { grid-template-columns: repeat(3, 1fr); column-gap: var(--space-lg); }
.c-grid-4 { grid-template-columns: repeat(4, 1fr); column-gap: var(--space-sm); row-gap: var(--space-sm); }


/* ==============================================================
 * LAYER 2: Base (元 base.css)
 * ============================================================== */

/* -------------------------------------------------------------
 * Reset
 * ------------------------------------------------------------- */
html {
  font-size: 16px;
  font-family: var(--font-family-base);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
footer,
header {
  margin: 0;
}

h1, h2, h3 {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: 400;
}

dd, dl, p, ul {
  margin: 0;
}

ul { padding: 0; }
li { list-style-type: none; }

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

button, input {
  margin: 0;
  font-size: 100%;
  line-height: normal;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
button {
  text-transform: none;
  -webkit-appearance: button;
  cursor: pointer;
}

body {
  background-color: var(--color-white);
  color: var(--color-text);
  font-family: var(--font-family-base);
  line-height: var(--line-height-base);
}
body * { box-sizing: border-box; }

a {
  color: var(--color-text);
  text-decoration: underline;
}

/* -------------------------------------------------------------
 * Buttons (.button は既存HTML互換のため残す)
 * 実体は components.css の .c-outlineBtn と揃える
 * ------------------------------------------------------------- */
.button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--space-2xs) var(--space-lg);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-xs);
  background: var(--color-white);
  color: var(--color-primary);
  text-decoration: none;
  justify-self: right;
  white-space: nowrap;
  transition: var(--transition-base);
}
.button:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}
.button.external::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  margin-right: var(--space-sm);
  background-image: url("/common/images/icon_external02.png");
  background-size: contain;
}
.button.external:hover::before {
  background-image: url("/common/images/icon_external01.png");
}
.button.standout {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.button.standout:hover {
  background-color: var(--color-white);
  color: var(--color-primary);
}
.button.standout.external::before {
  background-image: url("/common/images/icon_external01.png");
}
.button.standout.external:hover::before {
  background-image: url("/common/images/icon_external02.png");
}

/* -------------------------------------------------------------
 * Hamburger (mobile only)
 * ------------------------------------------------------------- */
.hamburger-menu {
  display: none;
  position: absolute;
  top: var(--space-sm);
  right: var(--space-sm);
  width: 30px;
  height: 20px;
  cursor: pointer;
  z-index: 1000;
}
.hamburger-menu div {
  width: 100%;
  height: 5px;
  margin: 6px 0;
  background: var(--color-primary);
  transition: transform 0.4s, opacity 0.4s;
}
.hamburger-menu.open div:nth-child(1) { transform: translateY(11px) rotate(45deg); }
.hamburger-menu.open div:nth-child(2) { opacity: 0; }
.hamburger-menu.open div:nth-child(3) { transform: translateY(-11px) rotate(-45deg); }

/* -------------------------------------------------------------
 * Breadcrumb
 * ------------------------------------------------------------- */
.TopicPath {
  max-width: var(--container-max);
  margin: 1em auto;
}
.TopicPath li {
  display: inline-block;
  font-size: var(--font-size-md);
  line-height: var(--line-height-base);
}
.TopicPath li::after {
  content: ">";
  padding: 0 2px;
  color: var(--color-text-muted);
}
.TopicPath li:last-child::after { display: none; }
.TopicPath li a {
  padding-right: var(--space-sm);
  text-decoration: none;
}
.TopicPath li a:hover { text-decoration: underline; }
.TopicPath li span { padding-right: 0; }

/* -------------------------------------------------------------
 * Pager
 * ------------------------------------------------------------- */
.Pager .Pager__items {
  margin-bottom: var(--space-lg);
  text-align: center;
}
.Pager .Pager__item {
  display: inline-block;
  margin: 0 2px var(--space-sm);
}
.Pager .Pager__item a,
.Pager .Pager__item span {
  display: block;
  padding: 0.15em 0.7em;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-xs);
  transition: var(--transition-all);
}
.Pager .Pager__item a,
.Pager .Pager__item.-next span,
.Pager .Pager__item.-prev span {
  color: var(--color-primary);
  text-decoration: none;
}
.Pager .Pager__item a:hover,
.Pager .Pager__item.-active span {
  background-color: var(--color-primary);
  color: var(--color-white);
}

/* -------------------------------------------------------------
 * Tabs
 * ------------------------------------------------------------- */
.tabList { display: flex; }
.tabList li {
  display: flex;
  width: 100%;
}
.tabList li button {
  display: flex;
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-primary);
  border-right: none;
  background: var(--color-white);
  color: var(--color-primary);
  font-size: var(--font-size-base);
  text-decoration: none;
  transition: background 0.5s ease-out;
}
.tabList li button.-active {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.tabList li button.-active:hover {
  background-color: var(--color-primary);
  cursor: default;
  text-decoration: none;
}
.tabList li button:hover {
  background-color: var(--color-primary-bg);
  text-decoration: underline;
}
.tabList li:first-child button { border-top-left-radius: var(--radius-xs); }
.tabList li:last-child button {
  border-right: 1px solid var(--color-primary);
  border-top-right-radius: var(--radius-xs);
}

/* -------------------------------------------------------------
 * Headings
 * ------------------------------------------------------------- */
h1 {
  position: relative;
  max-width: var(--container-max);
  margin: 0 auto var(--space-lg);
  padding: var(--space-lg) var(--space-md);
  background-color: var(--color-bg-light);
  font-size: var(--font-size-2xl);
}
h1::before {
  content: "";
  display: block;
  position: absolute;
  top: var(--space-sm);
  left: 0;
  width: 4px;
  height: calc(100% - 20px);
  background-color: var(--color-primary);
}

h2 {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0 0 6px var(--space-md);
  font-size: var(--font-size-xl);
  background: url("/common/images/icon_dot01.svg") no-repeat 0 5px;
  background-size: 4px 16px;
  border-bottom: 1px solid var(--color-primary-border);
}
h2::before {
  width: 128px;
  background-color: var(--color-primary);
  z-index: 2;
}
h2 span {
  padding-left: var(--space-sm);
  color: var(--color-border);
  font-size: var(--font-size-sm);
}

h3 {
  width: 100%;
  margin: 0;
  padding: 0 var(--space-md) 6px;
  border-bottom: 1px solid var(--color-black);
}

/* -------------------------------------------------------------
 * Notices
 * ------------------------------------------------------------- */
.Attention {
  padding: 0 var(--space-lg);
  border: 1px solid var(--color-border-soft);
  font-size: 0.85rem;
}
.Attention ul li {
  list-style: disc;
  margin-left: 1.5em;
}

.NoEntry {
  width: auto;
  margin-top: var(--space-sm);
  padding: 1em;
  display: flex;
  justify-content: center;
  background-color: var(--color-bg-mute);
}
.NoEntry p {
  width: auto;
  text-align: center;
}

/* -------------------------------------------------------------
 * Cards
 * ------------------------------------------------------------- */
.IntroductionLink {
  background: url("/common/images/icon_arrow01.svg") no-repeat bottom right 20px;
  background-size: 16px 16px;
}
.IntroductionLink a {
  display: block;
  padding-bottom: var(--space-lg);
  text-decoration: none;
}
/* .Thumbnail の装飾ルールは components.css の .c-thumbnail を継承する想定。
 * 既存HTMLがそのままなら下記の互換エイリアスで同じ見た目になる。 */
.IntroductionLink a .Thumbnail {
  position: relative;
  margin-bottom: var(--space-sm);
  overflow: hidden;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
}
.IntroductionLink a .Thumbnail::before {
  content: "";
  display: block;
  position: absolute;
  top: -50px;
  left: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 50px solid var(--color-primary);
  z-index: 1;
}
.IntroductionLink a .Thumbnail::after {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 6px;
  width: 13px;
  height: 18px;
  background: url("/common/images/icon_key01.svg") no-repeat 0 0;
  background-size: 13px 18px;
  z-index: 2;
}
.IntroductionLink a .Thumbnail.-is_free::before { border-left-color: var(--color-accent-cyan); }
.IntroductionLink a .Thumbnail.-is_free::after  { background-image: url("/common/images/icon_key02.svg"); }
.IntroductionLink a .Thumbnail .Type {
  position: absolute;
  right: 5px;
  bottom: 5px;
  padding: 5px 6px;
  border: 1px solid var(--color-primary);
  background-color: var(--color-white);
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  line-height: 1em;
  z-index: 1;
}
.IntroductionLink a .Thumbnail img {
  width: 100%;
  transition: var(--transition-transform);
}
.IntroductionLink a .Label {
  margin-bottom: var(--space-2xs);
  padding: 0;
  font-weight: bold;
  font-size: 1.125em;
}
.IntroductionLink a .Summary {
  font-size: var(--font-size-sm);
}
.IntroductionLink a:hover { text-decoration: underline; }
.IntroductionLink a:hover img { transform: scale(1.2); }
.IntroductionLink.BreakingLine {
  display: flex;
  gap: var(--space-sm);
}
.IntroductionLink.BreakingLine::before {
  content: "";
  border: 1px solid var(--color-border-soft);
  align-self: stretch;
  margin: var(--space-sm) 0;
}
.IntroductionLink.BreakingLine:first-child::before { display: none; }

.LibraryItem {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: repeat(3, auto);
  gap: var(--space-sm);
}
.LibraryItem .LibraryItem__label {
  grid-area: 1/1/2/3;
  align-self: start;
  padding: var(--space-sm);
  border: none;
  border-left: 3px solid var(--color-primary);
  background: url("/common/images/bg_dot01.png") repeat 0 0;
  color: var(--color-primary);
  font-size: var(--font-size-md);
}
.LibraryItem .LibraryItem__thumb {
  grid-area: 2/1/3/2;
  align-self: start;
  max-width: 122px;
}
.LibraryItem .LibraryItem__thumb img {
  border: 3px solid var(--color-border);
}
.LibraryItem .LibraryItem__summary {
  grid-area: 2/2/3/3;
  align-self: start;
  font-size: var(--font-size-md);
}
.LibraryItem .LibraryItem__link {
  grid-area: 3/1/4/3;
  align-self: start;
  display: flex;
  padding: 0 var(--space-sm);
  justify-content: stretch;
  column-gap: var(--space-sm);
}
.LibraryItem .LibraryItem__link > * { flex-grow: 1; }

.LibraryLink h2,
.LibraryLink h3 {
  margin-bottom: var(--space-sm);
}
.LibraryLink .LibraryLink__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: var(--space-sm);
  border-left: 5px solid var(--color-primary);
}
.LibraryLink .LibraryLink__info .LibraryLink__thumb {
  max-width: 200px;
  max-height: 150px;
  padding-left: var(--space-sm);
}
.LibraryLink .LibraryLink__info .LibraryLink__summary {
  width: 100%;
  padding: 0 var(--space-lg);
  font-size: var(--font-size-md);
}

/* -------------------------------------------------------------
 * Division (Grid) — 互換のため残す。新規実装では .c-grid-N 推奨
 * ------------------------------------------------------------- */
.Division-1 { width: 100%; display: grid; grid-template-columns: repeat(1, 1fr); row-gap: var(--space-lg); margin: 0; }
.Division-2 { width: 100%; display: grid; grid-template-columns: repeat(2, 1fr); row-gap: var(--space-lg); column-gap: var(--space-lg); margin: 0; }
.Division-3 { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); row-gap: var(--space-lg); column-gap: var(--space-lg); }
.Division-4 { width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); row-gap: var(--space-sm); column-gap: var(--space-sm); }

/* --- Margin helpers --- */
.-mb-small { margin-bottom: var(--space-sm); }
.-mb-large { margin-bottom: var(--space-2xl); }

/* -------------------------------------------------------------
 * Modal
 * ------------------------------------------------------------- */
.JSModal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-overlay);
  z-index: var(--z-modal);
}
.JSModal .JSModal__wrapper {
  position: absolute;
  top: 200px;
  left: calc(50% - 500px);
  width: var(--container-max);
  max-height: calc(100% - 220px);
  padding: var(--space-lg);
  background-color: var(--color-white);
  overflow: auto;
}
.JSModal .JSModal__close {
  position: absolute;
  top: 150px;
  right: calc(50% - 500px);
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: none;
}

/* -------------------------------------------------------------
 * Header
 * ------------------------------------------------------------- */
.Header {
  width: 100%;
  padding: 0 var(--space-sm);
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: var(--space-lg);
  border-top: 4px solid var(--color-primary);
  border-bottom: 1px solid #ccc;
  background-color: var(--color-white);
  font-size: 0.75rem;
}
.Header .HeaderLogos {
  display: flex;
  justify-self: left;
  padding: var(--space-sm) 0;
  gap: var(--space-lg);
}
.Header .HeaderLogos a { text-decoration: none; }
.Header .HeaderMain {
  display: flex;
  max-width: var(--container-max);
  justify-self: center;
  gap: var(--space-sm);
}
.Header .HeaderMain .Global { display: flex; }
.Header .HeaderMain .Global .FirstClass {
  display: flex;
  height: 100%;
  gap: var(--space-sm);
}
.Header .HeaderMain .Global .FirstClass > li {
  position: relative;
  display: flex;
  justify-content: right;
  align-items: center;
  height: 100%;
  padding: 0 0 0 21px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 16px;
  cursor: pointer;
}
.Header .HeaderMain .Global .FirstClass > li.product    { background-image: url("/common/images/icon_product01.svg"); }
.Header .HeaderMain .Global .FirstClass > li.library    { background-image: url("/common/images/icon_library01.svg"); }
.Header .HeaderMain .Global .FirstClass > li.seminar    { background-image: url("/common/images/icon_seminar01.svg"); }
.Header .HeaderMain .Global .FirstClass > li.academic   { background-image: url("/common/images/icon_academic01.svg"); }
.Header .HeaderMain .Global .FirstClass > li.drsalon    { background-image: url("/common/images/icon_salon01.svg"); }
.Header .HeaderMain .Global .FirstClass > li:hover { color: var(--color-primary); }
.Header .HeaderMain .Global .FirstClass li { color: var(--color-black); }
.Header .HeaderMain .Global .FirstClass li.-selected { background-color: var(--color-bg-mute); }
.Header .HeaderMain .Global .FirstClass li.sp-only { display: none; }
.Header .HeaderMain .Global .FirstClass li:hover { background-color: var(--color-bg-mute); }
.Header .HeaderMain .Global .FirstClass li:hover > a { color: var(--color-primary); }
.Header .HeaderMain .Global .FirstClass li ul {
  display: none;
  position: absolute;
  top: 50px;
  left: 0;
  min-width: 150px;
  background: var(--color-bg-mute);
  z-index: 2;
}
.Header .HeaderMain .Global .FirstClass li ul li {
  position: relative;
  padding: var(--space-sm);
  border-bottom: 1px solid var(--color-border-soft);
  cursor: pointer;
}
.Header .HeaderMain .Global .FirstClass li ul li.-selected,
.Header .HeaderMain .Global .FirstClass li ul li:hover {
  background-color: var(--color-primary-bg);
  color: var(--color-primary);
}
.Header .HeaderMain .Global .FirstClass li ul li ul {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 150px;
  background: var(--color-primary-bg);
}
.Header .HeaderMain .Global .FirstClass li ul li ul li:hover a { color: var(--color-primary); }
.Header .HeaderMain .Global .FirstClass li a { color: var(--color-black); }
.Header .HeaderMain .Global .FirstClass li a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  background: url("/common/images/icon_external02.png") no-repeat center / contain;
}
.Header .HeaderMain .KeywordSearch {
  display: flex;
  align-items: center;
}
.Header .HeaderMain .KeywordSearch form {
  display: flex;
  align-items: stretch;
}
.Header .HeaderMain .KeywordSearch__query {
  width: 8em;
  margin: 0;
  padding: 7px 5px 6px;
  border: 1px solid var(--color-border);
  background-color: var(--color-white);
  line-height: 1;
  vertical-align: top;
}
.Header .HeaderMain .KeywordSearch__submit {
  width: 2em;
  padding: 9px;
  border: 0;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background-color: var(--color-secondary);
  background-image: url("/common/images/icon_search01.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
  color: var(--color-white);
  line-height: 1;
  vertical-align: top;
  transition: var(--transition-opacity);
}
.Header .HeaderMain .KeywordSearch__submit:hover { opacity: var(--opacity-hover); }
.Header .HeaderMembers {
  display: flex;
  align-items: stretch;
}
.Header .HeaderMembers .HeaderMembers__inner {
  display: flex;
  align-items: center;
  height: 100%;
}
.Header .HeaderMembers .HeaderMembers__inner .HeaderMembers__items {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin: 0;
}

/* -------------------------------------------------------------
 * MainVisual (top page)
 * ------------------------------------------------------------- */
.MainVisual {
  width: 100%;
  max-width: var(--container-max);
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  border: 1px solid var(--color-border-soft);
  border-top: none;
}
.MainVisual .Field {
  display: block;
  width: 100%;
  max-width: 128px;
}
/* Field の子 li は components.css の .c-fieldItem と同形。
 * 既存 HTML (li.respiratory など) を壊さないための後方互換スタイル。 */
.MainVisual .Field li {
  display: block;
  height: 64px;
}
.MainVisual .Field li a {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-left: 40px;
  background: var(--color-white);
  background-repeat: no-repeat;
  background-position: 2px center;
  background-size: 40px 40px;
  border: 1px solid var(--color-border-pale);
  text-align: center;
  text-decoration: none;
  transition: var(--transition-base);
}
.MainVisual .Field li a:hover           { background-color: var(--color-primary); }
.MainVisual .Field li a:hover span      { color: var(--color-white); }
.MainVisual .Field li span {
  display: block;
  margin-top: 6px;
  color: var(--color-primary);
  font-weight: bold;
  font-size: 0.5em;
  line-height: var(--line-height-tight);
  text-decoration: none;
}
.MainVisual .Field li span.field-title {
  font-size: var(--font-size-base);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.MainVisual .Field li.respiratory a         { background-image: url("/common/images/top_icon_res.png"); }
.MainVisual .Field li.otorhinolaryngology a { background-image: url("/common/images/top_icon_oto.png"); }
.MainVisual .Field li.urology a             { background-image: url("/common/images/top_icon_uro.png"); }
.MainVisual .Field li.gastroenterology a    { background-image: url("/common/images/top_icon_gas.png"); }
.MainVisual .Field li.infection a           { background-image: url("/common/images/top_icon_inf.png"); }
.MainVisual .Field li.respiratory         span.field-title { text-decoration-color: var(--color-field-respiratory); }
.MainVisual .Field li.otorhinolaryngology span.field-title { text-decoration-color: var(--color-field-otorhinolaryngology); }
.MainVisual .Field li.urology             span.field-title { text-decoration-color: var(--color-field-urology); }
.MainVisual .Field li.gastroenterology    span.field-title { text-decoration-color: var(--color-field-gastroenterology); }
.MainVisual .Field li.infection           span.field-title { text-decoration-color: var(--color-field-infection); }

.MainVisual .MainVisual__Inner {
  position: relative;
  width: 100%;
  border: 1px solid var(--color-border-soft);
}
.MainVisual .MainVisual__Inner li {
  position: absolute;
  display: flex;
  flex-wrap: nowrap;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-fade);
}
.MainVisual .MainVisual__Inner li.-visible {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.MainVisual .MainVisual__Inner li .MainVisual__Image {
  width: 100%;
  max-width: 440px;
  max-height: 320px;
}
.MainVisual .MainVisual__Inner li .MainVisual__Image a {
  display: block;
  width: 100%;
  height: 100%;
}
.MainVisual .MainVisual__Inner li .MainVisual__Image a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.MainVisual .MainVisual__Inner li .MainVisual__Caption {
  flex-grow: 1;
  display: flex;
  width: 100%;
  padding: 0 var(--space-sm);
  justify-content: stretch;
  align-items: center;
  background-color: var(--color-white);
}
.MainVisual .MainVisual__Inner li .MainVisual__Caption .MainVisual__CaptionInner {
  flex-grow: 1;
  display: grid;
  width: 100%;
  grid-template-columns: 1fr;
  row-gap: var(--space-sm);
}
.MainVisual .MainVisual__Inner li .MainVisual__Caption .MainVisual__CaptionInner p {
  font-size: var(--font-size-md);
}
.MainVisual .MainVisual__Inner li .MainVisual__Caption .MainVisual__CaptionInner .button {
  margin-top: var(--space-lg);
}

/* -------------------------------------------------------------
 * Acronym Link Bar
 * ------------------------------------------------------------- */
.AcronymLinkBtn {
  width: 100%;
  max-width: 62.5rem;
  margin: 0 auto;
  padding: var(--space-sm) 100px;
  display: flex;
  align-items: center;
  gap: 3.75rem;
  border: 1px solid var(--color-border-whisper);
  background-color: var(--color-bg-light);
  z-index: 2;
}
.AcronymLinkBtn .AcronymLinkBtnTitle {
  display: flex;
  align-items: center;
  font-size: var(--font-size-md);
  text-align: center;
}
.AcronymLinkBtn .AcronymLinkBtnTitle::before {
  content: "";
  display: inline-block;
  margin-right: var(--space-2xs);
  width: 17px;
  height: 17px;
  background: url("/common/images/icon_search02.svg") no-repeat 0 0;
  background-size: 17px 17px;
  vertical-align: middle;
}
.AcronymLinkBtn .AcronymLinkBtnTitle a { text-decoration: underline; }
.AcronymLinkBtn .AcronymLinkBtnTitle a:hover { color: var(--color-text-subtle); }
.AcronymLinkBtn .AcronymLinkBtnIndex {
  display: flex;
  justify-content: space-between;
  gap: var(--space-lg);
}
.AcronymLinkBtn .AcronymLinkBtnIndex li { font-size: var(--font-size-base); }
.AcronymLinkBtn .AcronymLinkBtnIndex li a,
.AcronymLinkBtn .AcronymLinkBtnIndex li span {
  display: block;
  padding: var(--space-sm);
  border-radius: var(--radius-md);
  line-height: 1em;
  text-align: center;
}
.AcronymLinkBtn .AcronymLinkBtnIndex li span {
  border: none;
  background-color: var(--color-bg-soft);
  color: var(--color-border);
}
.AcronymLinkBtn .AcronymLinkBtnIndex li a {
  border: 1px solid var(--color-border-faint);
  background-color: var(--color-white);
  color: var(--color-text-disabled);
  text-decoration: none;
  transition: var(--transition-base);
}
.AcronymLinkBtn .AcronymLinkBtnIndex li a:hover {
  border-color: var(--color-secondary);
  background-color: var(--color-secondary);
  color: var(--color-white);
}

/* -------------------------------------------------------------
 * CheckContent
 * ------------------------------------------------------------- */
.CheckContent {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-sm);
}
.CheckContent__title {
  position: relative;
  margin-bottom: var(--space-lg);
  padding: 0 0 6px var(--space-md);
  font-size: var(--font-size-xl);
  background: url("/common/images/icon_dot01.svg") no-repeat 0 5px;
  background-size: 4px 16px;
}
.CheckContent__title::before,
.CheckContent__title::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
}
.CheckContent__title::before {
  top: 100%;
  width: 128px;
  background-color: var(--color-primary);
  z-index: 2;
}
.CheckContent__title::after {
  width: 100%;
  background-color: var(--color-primary-border);
  z-index: 1;
}
.CheckContent__summary {
  margin-bottom: var(--space-lg);
  font-size: var(--font-size-sm);
}
.CheckContent__sec {
  padding: var(--space-lg);
  background-color: var(--color-bg-mute);
}
.CheckContent__secTitle {
  margin: var(--space-sm) 0 var(--space-xl);
  font-size: var(--font-size-xl);
  text-align: center;
}
.CheckContent__secContents {
  display: flex;
  justify-content: space-between;
}
.CheckContent__secContentsContent {
  position: relative;
  width: 49%;
  padding: var(--space-xl) var(--space-xl) 25px;
  background-color: var(--color-white);
}
.CheckContent__secContentsContent dt {
  margin-bottom: var(--space-xl);
  font-size: var(--font-size-xl);
  text-align: center;
}
.CheckContent__secContentsContent li {
  margin-bottom: var(--space-md);
}
.CheckContent__secContentsContent li a {
  position: relative;
  display: block;
  padding: var(--space-sm) 25px var(--space-sm) var(--space-sm);
  border-radius: var(--radius-sm);
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: var(--font-size-sm);
  text-align: center;
  text-decoration: none;
  transition: var(--transition-opacity);
}
.CheckContent__secContentsContent li a:hover { opacity: var(--opacity-hover); }
.CheckContent__secContentsContent li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: var(--space-sm);
  margin-top: -8px;
  width: 10px;
  height: 16px;
  background: url("/common/images/icon_arrow15.svg") no-repeat 0 0;
  background-size: 10px 16px;
}
.CheckContent__secContentsContent:nth-child(2) li a {
  background-color: #aaa;
}

/* -------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------- */
.Footer {
  margin-top: var(--space-lg);
  padding-top: var(--space-2xl);
}
.Footer .FooterNav {
  padding: var(--space-lg) 0;
  background-color: var(--color-primary-dark);
  color: var(--color-white);
  font-size: var(--font-size-sm);
}
.Footer .FooterNav a {
  color: var(--color-white);
  text-decoration: none;
}
.Footer .FooterNav__inner {
  position: relative;
  max-width: var(--container-max);
  margin: 0 auto;
}
.Footer .FooterNav__pagetop {
  position: absolute;
  top: -63px;
  right: 0;
  opacity: var(--opacity-hover);
  z-index: var(--z-modal);
}
.Footer .FooterNav__pagetop a {
  display: block;
  padding: var(--space-sm) 12px var(--space-sm) 32px;
  border-radius: var(--radius-sm);
  background-color: var(--color-primary);
  background-image: url("/common/images/icon_arrow02.svg");
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 16px 16px;
  color: var(--color-white);
  font-size: var(--font-size-sm);
  text-align: center;
  text-decoration: none;
  transition: var(--transition-opacity);
}
.Footer .FooterNav__pagetop a:hover { opacity: var(--opacity-hover); }
.Footer .FooterNav__items {
  margin-bottom: var(--space-sm);
}
.Footer .FooterNav__items li {
  display: inline-block;
  margin-right: var(--space-xl);
}
.Footer .FooterNav__items li:last-child { margin-right: 0; }
.Footer .FooterNav__items li::before {
  content: ">";
  padding-right: var(--space-xs);
  vertical-align: top;
}
.Footer .FooterNav__items li a:hover { text-decoration: underline; }

/* -------------------------------------------------------------
 * Layer Mask / Dialog overlay
 * ------------------------------------------------------------- */
.LayerMask {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--color-overlay-soft);
  z-index: var(--z-fixed);
}

@font-face {
  font-family: "slick";
  src: url("fonts/slick.eot");
  src: url("fonts/slick.eot?#iefix") format("embedded-opentype"),
       url("fonts/slick.woff") format("woff"),
       url("fonts/slick.ttf") format("truetype"),
       url("fonts/slick.svg#slick") format("svg");
  font-weight: 400;
  font-style: normal;
}

/* -------------------------------------------------------------
 * LocalMenu
 * 元コードは .LocalMenu と .vertical .LocalMenu の 2 箇所で
 * 完全に同じ li.respiratory〜.infection ルールを繰り返していた。
 * 共通スタイルを 1 セットに統合し、差分のみを .vertical 側で上書き。
 * ------------------------------------------------------------- */
.LocalMenu {
  max-width: var(--container-max);
  margin: 0 auto;
}
.LocalMenu .LocalMenu__content {
  margin-top: var(--space-lg);
}
.LocalMenu .LocalMenu__content .LocalMenu__items {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: var(--space-lg);
}
.LocalMenu .LocalMenu__content .LocalMenu__items li {
  display: block;
  height: 64px;
}
.LocalMenu .LocalMenu__content .LocalMenu__items li.-current { display: none; }
.LocalMenu .LocalMenu__content .LocalMenu__items li a {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: var(--space-lg) var(--space-lg) var(--space-lg) 60px;
  background: var(--color-white);
  background-repeat: no-repeat;
  background-position: var(--space-sm) center;
  background-size: 40px 40px;
  border: 1px solid var(--color-border-pale);
  text-align: center;
  text-decoration: none;
  transition: var(--transition-base);
}
.LocalMenu .LocalMenu__content .LocalMenu__items li a:hover { background-color: var(--color-primary); }
.LocalMenu .LocalMenu__content .LocalMenu__items li span {
  display: block;
  margin-top: 6px;
  color: var(--color-primary);
  font-weight: bold;
  font-size: 0.5em;
  line-height: var(--line-height-tight);
  text-decoration: none;
}
.LocalMenu .LocalMenu__content .LocalMenu__items li span.field-title {
  font-size: var(--font-size-base);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.LocalMenu .LocalMenu__content .LocalMenu__items li.respiratory a         { background-image: url("/common/images/top_icon_res.png"); }
.LocalMenu .LocalMenu__content .LocalMenu__items li.otorhinolaryngology a { background-image: url("/common/images/top_icon_oto.png"); }
.LocalMenu .LocalMenu__content .LocalMenu__items li.urology a             { background-image: url("/common/images/top_icon_uro.png"); }
.LocalMenu .LocalMenu__content .LocalMenu__items li.gastroenterology a    { background-image: url("/common/images/top_icon_gas.png"); }
.LocalMenu .LocalMenu__content .LocalMenu__items li.infection a           { background-image: url("/common/images/top_icon_inf.png"); }
.LocalMenu .LocalMenu__content .LocalMenu__items li.respiratory         span.field-title { text-decoration-color: var(--color-field-respiratory); }
.LocalMenu .LocalMenu__content .LocalMenu__items li.otorhinolaryngology span.field-title { text-decoration-color: var(--color-field-otorhinolaryngology); }
.LocalMenu .LocalMenu__content .LocalMenu__items li.urology             span.field-title { text-decoration-color: var(--color-field-urology); }
.LocalMenu .LocalMenu__content .LocalMenu__items li.gastroenterology    span.field-title { text-decoration-color: var(--color-field-gastroenterology); }
.LocalMenu .LocalMenu__content .LocalMenu__items li.infection           span.field-title { text-decoration-color: var(--color-field-infection); }
.LocalMenu .LocalMenu__content .LocalMenu__items li a:hover span { color: var(--color-white); }

/* --- vertical バリアント (旧 .vertical .LocalMenu) --- */
.vertical .LocalMenu {
  max-width: 215px;
}
.vertical .LocalMenu .LocalMenu__content {
  margin-top: 0;
}
.vertical .LocalMenu .LocalMenu__content .LocalMenu__items {
  display: block;
}

/* -------------------------------------------------------------
 * Responsive
 *
 * ブレークポイント整理 (旧コードから簡素化):
 *   >=1001px : デスクトップ既定
 *   <=1190px : ヘッダーのグリッド組替え
 *   <=1000px : タブレット幅の補正
 *   <=768px  : スマホ大
 *   <=767px  : ハンバーガー表示・Header縦並び
 *   <=480px  : スマホ小
 *
 * 旧コードでは @media (max-width:767px) 内に 1100 行もの
 * 「通常ルールのコピー」が入っていたが、それはデスクトップ用の
 * ルールと同一なので削除した (通常ルールは画面幅に関係なく適用される)。
 * また @media (max-width:767px) and (min-width:1001px) のような
 * 論理的に常に偽の組合せは完全に削除した。
 * ------------------------------------------------------------- */

@media screen and (min-width: 481px) {
  .IndexNewsList__more {
    position: absolute;
    top: -0.2em;
    right: 0;
  }
  .IndexNewsList__more a {
    padding: 4px 6px;
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-sm);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    line-height: 1em;
    text-decoration: none;
    transition: var(--transition-base);
  }
  .IndexNewsList__more a:hover { background-color: var(--color-primary-bg); }
  .IndexNewsList__more a::before {
    content: ">";
    display: inline-block;
    margin-right: 4px;
  }
  .FooterNav { text-align: center; }
}

@media screen and (min-width: 1001px) {
  .HeaderMembers .HeaderMembers__items {
    display: inline-block;
    vertical-align: top;
  }
}

@media screen and (max-width: 1190px) {
  .Header {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    row-gap: 0;
  }
  .Header .HeaderLogos   { grid-area: 1/1/2/2; }
  .Header .HeaderMain    { grid-area: 2/1/3/3; }
  .Header .HeaderMembers {
    grid-area: 1/2/2/3;
    justify-self: end;
    border-top: none;
  }
  .Header .HeaderMain .KeywordSearch { border-top: none; }

  .AcronymLinkBtn {
    padding: var(--space-sm) 0;
    justify-content: center;
  }
}

@media screen and (max-width: 1000px) {
  .ContentList01 {
    margin-bottom: var(--space-xl);
    padding: 0 var(--space-sm);
  }
  .Header {
    margin-bottom: 0;
    background-color: var(--color-white);
  }
  .HeaderLogos { padding-left: var(--space-sm); }
  .KeywordSearch {
    padding: var(--space-sm) 0;
    border-top: 1px solid var(--color-border);
    background-color: var(--color-white);
    text-align: center;
  }
  .KeywordSearch .KeywordSearch__query { width: 70vw; }
  .HeaderMembers {
    display: none;
    padding: 12px 0 var(--space-md);
    border-top: 1px solid var(--color-border);
    background-color: var(--color-white);
    text-align: center;
  }
  .FooterNav .FooterNav__inner { padding: 0 var(--space-sm); }
  .FooterNav .FooterNav__pagetop { right: var(--space-sm); }
  .IndexNews { padding: 0 var(--space-sm); }
  .IndexInfectionLink { margin-top: var(--space-2xl); }
}

@media screen and (max-width: 768px) {
  .ContentList01__items li {
    width: 50%;
    margin-bottom: var(--space-md);
    padding: 0;
  }
  .ContentList01__items li:nth-child(odd) {
    padding-right: var(--space-md);
    border-left: 0;
  }
  .ContentList01__items li:nth-child(even) {
    padding-left: var(--space-md);
    background-position: bottom right;
  }
  .IndexNewsList__content {
    height: auto;
    overflow: visible;
  }
  .FooterNav .FooterNav__items li { margin-right: var(--space-md); }
  .MainVisual {
    margin-bottom: var(--space-xl);
    border-bottom: 0;
  }
  .IndexNews .IndexNews__section { width: 100%; }
  #kmbusercheckDialog__inner .CheckContent { padding: var(--space-md); }
}

@media screen and (max-width: 767px) {
  .hamburger-menu { display: block; }

  /* Header: スマホ用の縦並び / ハンバーガー切替 */
  .Header {
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: left;
  }
  .Header .HeaderLogos {
    order: 1;
    display: flex;
    align-items: center;
    gap: 1vw;
  }
  .Header .HeaderLogos img { width: 15vw; }
  .Header .HeaderMain {
    order: 3;
    display: none;
    position: relative;
    flex-direction: column;
    width: 100vw;
    max-width: var(--container-max);
    justify-self: center;
    gap: var(--space-sm);
    border-top: 1px solid var(--color-border-soft);
  }
  .Header .HeaderMain.menu-open { display: block; }
  .Header .HeaderMain .Global {
    display: flex;
    flex-direction: column;
    font-size: var(--font-size-base);
  }
  .Header .HeaderMain .Global .FirstClass {
    display: block;
    height: auto;
  }
  .Header .HeaderMain .Global .FirstClass > li {
    position: static;
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    min-height: 44px;
    padding: 0 1em 0 calc(16px + 1em);
    justify-content: space-between;
    line-height: 44px;
    background-position: left 0.5em top 14px;
    border-bottom: 1px solid #999;
  }
  .Header .HeaderMain .Global .FirstClass > li:last-child { border-bottom: none; }
  .Header .HeaderMain .Global .FirstClass > li.-selected { flex-wrap: wrap; }
  .Header .HeaderMain .Global .FirstClass li.-selected,
  .Header .HeaderMain .Global .FirstClass li:hover { background-color: unset; }
  .Header .HeaderMain .Global .FirstClass li.-selected::after { display: none; }
  .Header .HeaderMain .Global .FirstClass li:hover > a { color: var(--color-primary); }
  .Header .HeaderMain .Global .FirstClass li::after {
    content: ">";
    display: block;
    float: right;
  }
  .Header .HeaderMain .Global .FirstClass li ul {
    position: static;
    display: none;
    background: unset;
  }
  .Header .HeaderMain .Global .FirstClass li ul li {
    position: static;
    display: flex;
    flex-wrap: nowrap;
    width: calc(100vw - (1em + 20px + 20px));
    padding: var(--space-sm) var(--space-sm) var(--space-sm) calc(var(--space-sm) + 1em);
    justify-content: space-between;
    border-bottom: 1px solid var(--color-border-soft);
    cursor: pointer;
  }
  .Header .HeaderMain .Global .FirstClass li ul li.-selected {
    background-color: unset;
    flex-wrap: wrap;
  }
  .Header .HeaderMain .Global .FirstClass li ul li.sp-only {
    display: flex;
    padding-left: var(--space-sm);
  }
  .Header .HeaderMain .Global .FirstClass li ul li:hover {
    background-color: unset;
    color: var(--color-primary);
  }
  .Header .HeaderMain .Global .FirstClass li ul li ul {
    position: static;
    width: calc(100vw - (1em + 10px + 20px) * 2);
    background: unset;
  }
  .Header .HeaderMain .Global .FirstClass li ul li ul li {
    width: calc(100vw - (1em + 80px));
    padding-right: 0;
  }
  .Header .HeaderMain .Global .FirstClass li ul li ul li:last-child { border-bottom: none; }
  .Header .HeaderMain .Global .FirstClass a {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: space-between;
  }
  .Header .HeaderMain .Global .FirstClass a[target=_blank] {
    justify-content: left;
    align-items: center;
  }
  .Header .HeaderMain .Global .FirstClass a[target=_blank] ::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 0.5em;
    background: url("/common/images/icon_external02.png") no-repeat center / contain;
  }
  .Header .HeaderMain .Global .FirstClass a.HavingChild {
    pointer-events: none;
    text-decoration: none;
  }
  .Header .HeaderMain .KeywordSearch {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size-base);
  }
  .Header .HeaderMain .KeywordSearch__query { width: 18em; }
  .Header .HeaderMembers {
    order: 2;
    display: none;
    width: 100%;
    justify-content: center;
    align-items: stretch;
  }
  .Header .HeaderMembers.menu-open { display: flex; }

  /* Grid: スマホでは列数を減らす */
  .Division-2 { grid-template-columns: repeat(1, 1fr); }
  .Division-3 { grid-template-columns: repeat(1, 1fr); }
  .Division-4 {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 var(--space-sm);
  }

  /* LibraryLink: 縦並び */
  .LibraryLink .LibraryLink__info {
    flex-wrap: wrap;
    row-gap: var(--space-sm);
    border-left: none;
  }
  .LibraryLink .LibraryLink__info .LibraryLink__thumb {
    max-width: 50%;
    padding-left: 0;
  }
  .LibraryLink .LibraryLink__info .LibraryLink__summary {
    padding: 0;
  }
  .LibraryLink .LibraryLink__info .button { width: 100%; }

  /* MainVisual: 縦並び + Field は左側列に */
  .MainVisual {
    height: auto;
    justify-content: left;
  }
  .MainVisual .Field {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100px;
    height: 100%;
  }
  .MainVisual .Field li a {
    padding-left: 0;
    background: none;
  }
  .MainVisual .Field li.respiratory a,
  .MainVisual .Field li.otorhinolaryngology a,
  .MainVisual .Field li.urology a,
  .MainVisual .Field li.gastroenterology a,
  .MainVisual .Field li.infection a { background-image: none; }
  .MainVisual .MainVisual__Inner {
    position: static;
    display: flex;
    align-items: unset;
  }
  .MainVisual .MainVisual__Inner li {
    display: none;
    flex-direction: column;
    height: auto;
    min-height: 320px;
    max-height: 320px;
  }
  .MainVisual .MainVisual__Inner li.-visible { display: flex; }
  .MainVisual .MainVisual__Inner li .MainVisual__Image {
    display: flex;
    flex-grow: 1;
    height: auto;
    min-height: 0;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }
  .MainVisual .MainVisual__Inner li .MainVisual__Image a {
    width: auto;
    height: auto;
  }
  .MainVisual .MainVisual__Inner li .MainVisual__Image a img { height: auto; }
  .MainVisual .MainVisual__Inner li .MainVisual__Caption {
    flex-grow: 0;
    display: block;
    width: 100%;
    padding: 0 var(--space-sm);
    justify-content: unset;
    align-items: unset;
  }
  .MainVisual .MainVisual__Inner li .MainVisual__Caption .MainVisual__CaptionInner {
    display: flex;
    flex-direction: column;
    flex-grow: unset;
    width: 100%;
    row-gap: 0;
  }
  .MainVisual .MainVisual__Inner li .MainVisual__Caption .MainVisual__CaptionInner h2 { display: none; }
  .MainVisual .MainVisual__Inner li .MainVisual__Caption .MainVisual__CaptionInner .button {
    margin: var(--space-sm) 0;
  }

  /* Acronym index: スマホでは 5列 x 2行 */
  .AcronymLinkBtn {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    padding: var(--space-sm);
  }
  .AcronymLinkBtn .AcronymLinkBtnIndex {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, auto);
    padding: 0 var(--space-lg);
    column-gap: var(--space-lg);
    row-gap: var(--space-sm);
    justify-content: left;
  }
  .AcronymLinkBtn .AcronymLinkBtnTitle a br { display: none; }

  /* LocalMenu: スマホでは 2 列グリッド */
  .LocalMenu .LocalMenu__content { padding: 0 var(--space-sm); }
  .LocalMenu .LocalMenu__content .LocalMenu__items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 481px) and (max-width: 767px) {
  /* 旧: @media (max-width:767px) and (min-width:481px) */
  .IndexNewsList__more {
    position: absolute;
    top: -0.2em;
    right: 0;
  }
  .IndexNewsList__more a {
    padding: 4px 6px;
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-sm);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    line-height: 1em;
    text-decoration: none;
    transition: var(--transition-base);
  }
  .IndexNewsList__more a:hover { background-color: var(--color-primary-bg); }
  .IndexNewsList__more a::before {
    content: ">";
    display: inline-block;
    margin-right: 4px;
  }
  .FooterNav { text-align: center; }
}

@media screen and (max-width: 480px) {
  .ContentList01 { margin-bottom: var(--space-lg); }
  .IndexNewsList__items { margin-bottom: var(--space-md); }
  .IndexNewsList__more a {
    display: block;
    padding: var(--space-sm) var(--space-lg) 7px;
    border-radius: var(--radius-sm);
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: var(--font-size-sm);
    text-align: center;
    text-decoration: none;
    transition: var(--transition-opacity);
  }
  .IndexNewsList__more a:hover,
  .IndexNewsList__more a:active { opacity: var(--opacity-hover); }
  .IndexNewsList__more a::after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    width: 18px;
    height: 18px;
    background: url("/common/images/icon_arrow05.svg") no-repeat 0 center;
    background-size: 18px 18px;
    vertical-align: top;
  }
  .FooterNav .FooterNav__items li { display: block; }
  .CheckContent__secTitle { display: none; }
  .CheckContent__secContents { display: block; }
  .CheckContent__secContents .CheckContent__secContent { width: 100%; }
  .CheckContent__secContents .CheckContent__secContent:not(:last-child) {
    margin-bottom: var(--space-2xl);
  }
  .CheckContent__secContents .CheckContent__secContent:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -30px;
    left: -20px;
    width: calc(100% + 40px);
    height: var(--space-sm);
    background-color: var(--color-white);
  }
  .CheckContent__secContents .CheckContent__secContent li a { font-size: var(--font-size-md); }
  .CheckContent__secContents .CheckContent__secContent:nth-child(2) li a {
    background-color: var(--color-secondary);
  }
}

/* -------------------------------------------------------------
 * User Check Dialog (共通)
 * ------------------------------------------------------------- */
#kmbusercheckDialog {
  display: none;
  position: fixed;
  inset: 0;
  z-index: var(--z-dialog);
}
#kmbusercheckDialog-overlay {
  position: absolute;
  inset: 0;
  background: var(--color-black);
  opacity: 0.5;
  z-index: 1;
}
#kmbusercheckDialog__inner {
  position: absolute;
  inset: var(--space-md);
  background: var(--color-white);
  overflow: auto;
  z-index: 2;
}
#kmbusercheckDialog__inner .CheckContent {
  padding: 100px var(--space-md);
}


/* ==============================================================
 * LAYER 3: Sub (元 base_sub.css) — base より後のカスケードで上書き
 * ============================================================== */

.MainVisual {
  position: relative;
  margin-bottom: 25px;
  border-bottom: 1px solid var(--color-border);
  background-color: var(--color-bg-light);
  overflow: hidden;
}

.MainVisual .MainVisual__inner {
  display: flex;
  margin: 0 auto;
  max-width: 1000px;
}

.MainVisual .MainVisual__slides {
  width: 70%;
}

.MainVisual .MainVisual__slides img,
.MainVisual .MainVisual__slides video {
  width: 100%;
}

.MainVisual .MainVisual__search {
  display: flex;
  margin: 5px auto;
  padding: 12px 20px 0;
  width: 100%;
  max-width: 1000px;
  border: 1px solid var(--color-border-whisper);
  border-radius: 5px;
  background-color: var(--color-bg-soft);
  z-index: 2;
}

.MainVisual .MainVisual__search .MainVisual__searchTitle {
  width: 200px;
  font-size: 0.875rem;
  margin-bottom: 12px;
  text-align: center;
}

.MainVisual .MainVisual__search .MainVisual__searchTitle::before {
  display: inline-block;
  margin-right: 3px;
  width: 17px;
  height: 17px;
  background: url(/common/images/icon_search02.svg) no-repeat 0 0;
  background-size: 17px 17px;
  vertical-align: middle;
  content: "";
}

.MainVisual .MainVisual__search .MainVisual__searchTitle a {
  text-decoration: none;
}

.MainVisual .MainVisual__search .MainVisual__searchTitle a:hover {
  text-decoration: underline;
}

.MainVisual .MainVisual__search .MainVisual__searchIndex {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  width: calc(100% - 200px);
}

.MainVisual .MainVisual__search .MainVisual__searchIndex li {
  font-size: 1.125rem;
  width: 7%;
  margin-bottom: 10px;
}

.MainVisual .MainVisual__search .MainVisual__searchIndex a,
.MainVisual .MainVisual__search .MainVisual__searchIndex span {
  display: block;
  padding: 10px;
  border-radius: 5px;
  line-height: 1em;
  text-align: center;
}

.MainVisual .MainVisual__search .MainVisual__searchIndex span {
  border: 1px solid var(--color-border);
  background-color: var(--color-bg-soft);
  color: var(--color-border);
}

.MainVisual .MainVisual__search .MainVisual__searchIndex a {
  border: 1px solid #fff;
  background-color: #fff;
  color: grey;
  text-decoration: none;
  transition: all 0.5s ease-out 0s;
}

.MainVisual .MainVisual__search .MainVisual__searchIndex a:hover {
  border-color: var(--color-secondary);
  background-color: var(--color-secondary);
  color: #fff;
}

.MainVisual .MainVisual__search .MainVisual__searchCloseBtn {
  font-size: 0.812rem;
  display: block;
  padding: 6px 20px 3px;
  border-radius: 3px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  display: none;
  position: relative;
  margin: 10px auto 0;
  padding: 10px;
  width: 200px;
  border: 0;
}

.MainVisual .MainVisual__search .MainVisual__searchCloseBtn::after,
.MainVisual .MainVisual__search .MainVisual__searchCloseBtn::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -1px 0 0 -3.2em;
  width: 15px;
  height: 1px;
  background-color: #fff;
  content: "";
}

.MainVisual .MainVisual__search .MainVisual__searchCloseBtn::before {
  transform: rotate(-45deg);
}

.MainVisual .MainVisual__search .MainVisual__searchCloseBtn::after {
  transform: rotate(45deg);
}

.MainVisual .MainVisual__thums {
  margin: 0 auto;
  padding: 6px 0;
  max-width: 1000px;
}

.MainVisual .MainVisual__thums .MainVisual__thumsInner {
  display: flex;
  justify-content: space-around;
}

.MainVisual .MainVisual__thums .MainVisual__thum {
  margin: 0 10px;
  padding: 15px 26px 8px;
  width: 18%;
  background-color: #fff;
  text-align: center;
  transition: all 0.5s ease-out 0s;
  cursor: pointer;
}

.MainVisual .MainVisual__thums .MainVisual__thum span {
  display: block;
  padding: 0 10px 2px;
  border-bottom: 1px solid var(--color-secondary);
}

.MainVisual .MainVisual__thums .MainVisual__thum svg {
  max-width: 100%;
  height: 15px;
}

.MainVisual .MainVisual__thums .MainVisual__thum:hover {
  background-color: var(--color-secondary);
  color: #fff;
}

.MainVisual .MainVisual__thums .MainVisual__thum:hover svg .cls-1 {
  fill: #fff;
}

.MainVisual .MainVisual__thums .MainVisual__thum:nth-child(1):hover {
  background-color: var(--color-secondary);
}

.MainVisual .MainVisual__thums .MainVisual__thum:nth-child(1) span {
  border-bottom-color: var(--color-secondary);
}

.MainVisual .MainVisual__thums .MainVisual__thum.-pstg:hover {
  background-color: var(--color-field-gastroenterology);
}

.MainVisual .MainVisual__thums .MainVisual__thum.-pstg span {
  border-bottom-color: var(--color-field-gastroenterology);
}

.MainVisual .MainVisual__thums .MainVisual__thum.-ls:hover {
  background-color: #00abdc;
}

.MainVisual .MainVisual__thums .MainVisual__thum.-ls span {
  border-bottom-color: #00abdc;
}

.MainVisual .MainVisual__thums .MainVisual__thum.-ek:hover {
  background-color: #4aa946;
}

.MainVisual .MainVisual__thums .MainVisual__thum.-ek span {
  border-bottom-color: #4aa946;
}

.MainVisual .MainVisual__thums .MainVisual__thum:nth-child(2):hover {
  background-color: var(--color-field-otorhinolaryngology);
}

.MainVisual .MainVisual__thums .MainVisual__thum:nth-child(2) span {
  border-bottom-color: var(--color-field-otorhinolaryngology);
}

.MainVisual .MainVisual__thums .MainVisual__thum:nth-child(3):hover {
  background-color: #00205b;
}

.MainVisual .MainVisual__thums .MainVisual__thum:nth-child(3) span {
  border-bottom-color: #00205b;
}

.MainVisual .MainVisual__thums .MainVisual__thum.-ek:hover span,
.MainVisual .MainVisual__thums .MainVisual__thum.-ls:hover span,
.MainVisual .MainVisual__thums .MainVisual__thum.-pstg:hover span,
.MainVisual .MainVisual__thums .MainVisual__thum:nth-child(1):hover span,
.MainVisual .MainVisual__thums .MainVisual__thum:nth-child(2):hover span,
.MainVisual .MainVisual__thums .MainVisual__thum:nth-child(3):hover span {
  border-bottom-color: #fff;
}

.MSDLink {
  margin: 0 auto;
  text-align: center;
  max-width: 1000px;
  margin-bottom: 25px;
}

.MSDLink a:hover {
  opacity: 0.7;
}

.MSDLink a img {
  border: 1px solid #666;
}

.MSDLink p {
  font-size: 0.825rem;
}

.GSCLink {
  margin: 0 auto;
  max-width: 1000px;
  margin-bottom: 25px;
}

.GSCLink a:hover {
  opacity: 0.7;
}

.GSCLink a img {
  border: 1px solid #666;
}

.GSCLink p {
  font-size: 0.825rem;
}

.IndexContentsDrugByArea {
  max-width: 1000px;
  margin: 0 auto;
  padding: 6px 0;
}

.IndexContentsDrugByArea ul {
  display: flex;
  justify-content: space-around;
}

.IndexContentsDrugByArea ul li {
  width: 20%;
  max-width: 200px;
  min-width: 140px;
  margin: 0 8px 8px;
}

.IndexContentsDrugByArea__acMenu dt {
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  background-color: #f4f4f4;
  color: #444;
  font-weight: 700;
  overflow: hidden;
}

.IndexContentsDrugByArea__acMenu dt span {
  border-bottom: #888 solid 1px;
}

.IndexContentsDrugByArea__acMenu dt.respiratory span {
  border-color: var(--color-secondary);
}

.IndexContentsDrugByArea__acMenu dt.otorhinolaryngology span {
  border-color: var(--color-field-otorhinolaryngology);
}

.IndexContentsDrugByArea__acMenu dt.urology span {
  border-color: #00205b;
}

.IndexContentsDrugByArea__acMenu dt.gastroenterology span {
  border-color: var(--color-field-gastroenterology);
}

.IndexContentsDrugByArea__acMenu dt.quinolone span {
  border-color: #00abdc;
}

.IndexContentsDrugByArea__acMenu dd {
  color: grey;
  width: 100%;
  text-align: center;
  display: none;
}

.IndexContentsDrugByArea__acMenu dd li {
  width: 100%;
  margin: 0;
}

.IndexContentsDrugByArea__acMenu dd a {
  color: grey;
  text-decoration: none;
}

.IndexContentsDrugByArea__acMenu dd a:hover {
  text-decoration: underline;
}

.IndexContentsDrugByArea__acMenu ul {
  display: block;
  width: 100%;
}

.IndexContentsDrugByArea__acMenu ul li {
  display: block;
  height: 22px;
  margin: 16px 0;
  padding: 0 8px;
}

.IndexContentsDrugByArea__acMenu ul li:last-child {
  margin-bottom: 0;
}

.IndexContentsDrugByArea__acMenu ul li a:hover {
  opacity: 0.8;
}

.IndexContentsDrugByArea__acMenu ul li a img {
  max-height: 100%;
}

.IndexNews.-login {
  display: block;
}

.IndexNews.-login .IndexNews__section {
  width: 100%;
}

.IndexNews.-login .IndexMember {
  display: none;
}

.IndexMember {
  width: 33%;
}

.IndexMember .IndexMember__movie {
  margin-bottom: 20px;
  text-align: center;
}

.IndexMember .IndexMember__movie video {
  width: 100%;
}

.IndexMember .IndexMember__movie img {
  border: 1px solid var(--color-border);
  width: 100%;
}

.IndexMember .IndexMember__regist {
  padding: 10px 13px;
  border: 1px solid var(--color-border);
  text-align: center;
}

.IndexMember .IndexMember__regist h3 {
  font-size: 1.125rem;
  display: inline-block;
  margin-bottom: 8px;
  padding-left: 30px;
  background: url(/common/images/icon_regist01.svg) no-repeat 0 center;
  background-size: 20px 25px;
  color: var(--color-primary-dark);
}

.IndexMember .IndexMember__regist .IndexMember__about {
  font-size: 0.812rem;
  margin-bottom: 10px;
  text-align: left;
}

.IndexMember .IndexMember__regist .IndexMember__buttons ul {
  display: flex;
  justify-content: space-between;
}

.IndexMember .IndexMember__regist .IndexMember__buttons li {
  width: 48%;
}

.IndexMember .IndexMember__regist .IndexMember__buttons a {
  font-size: 0.812rem;
  display: block;
  padding: 6px 20px 3px;
  border-radius: 3px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding-right: 0;
  padding-left: 0;
  transition: opacity 0.5s ease-out 0s;
}

.IndexMember .IndexMember__regist .IndexMember__buttons a:active,
.IndexMember .IndexMember__regist .IndexMember__buttons a:hover {
  opacity: 0.6;
}

.IndexRanking {
  display: flex;
  margin: 0 auto;
  max-width: 1000px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.IndexRanking .IndexRanking__item {
  width: 48.5%;
}

.ContentTitle {
  font-size: 1.125rem;
  position: relative;
  margin: 0 auto 10px;
  padding: 12px 10px;
  max-width: 1000px;
  background-color: var(--color-bg-light);
}

.ContentTitle::before {
  display: block;
  position: absolute;
  top: 20%;
  left: 5px;
  width: 3px;
  height: 60%;
  background-color: var(--color-secondary);
  content: "";
}

.ContentTitle svg {
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -14px;
}

.ContentTitle svg .cls-1 {
  fill: var(--color-secondary);
}

.ContentTitle span {
  display: block;
  padding-left: 220px;
  color: #898989;
  vertical-align: middle;
}

.ContentTitle.-color-bv span {
  padding-left: 140px;
}

.ContentTitle.-color-bv::before {
  background-color: #1a2d6b;
}

.ContentTitle.-color-bv svg .cls-1 {
  fill: #1a2d6b;
}

.ContentTitle.-color-ek span {
  padding-left: 245px;
}

.ContentTitle.-color-ek::before {
  background-color: #5fb65c;
}

.ContentTitle.-color-ek svg .cls-1 {
  fill: #5fb65c;
}

.ContentTitle.-color-dl span {
  padding-left: 188px;
}

.ContentTitle.-color-dl::before {
  background-color: var(--color-danger-alt);
}

.ContentTitle.-color-dl svg .cls-1 {
  fill: var(--color-danger-alt);
}

.TopicPath a {
  text-decoration: none;
}

.TopicPath a:hover {
  text-decoration: underline;
}

.TopicPath a,
.TopicPath span {
  padding-right: 6px;
}

.Contents {
  margin: 20px auto;
  max-width: 1000px;
  overflow: hidden;
}

.Contents::after {
  display: block;
  clear: both;
  content: "";
}

.LocalMenu__headTitle {
  margin-bottom: 2px;
  padding: 5px 0;
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  text-align: center;
}

.LocalMenu__lists {
  margin-bottom: 15px;
}

.LocalMenu__title {
  margin-bottom: 2px;
  padding: 5px 0;
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  font-weight: 700;
  text-align: center;
}

.LocalMenu__content {
  font-size: 0.875rem;
  line-height: 1.5em;
}

.LocalMenu__item a {
  display: block;
  padding: 10px 10px 10px 30px;
  border-bottom: 1px solid var(--color-border);
  background: url(/common/images/icon_arrow01.svg) no-repeat 8px center;
  background-size: 16px 16px;
  text-decoration: none;
}

.LocalMenu__item a.-current,
.LocalMenu__item a:hover {
  background-color: #e6eef9;
}

.LocalMenu__lists.-type01 .LocalMenu__title {
  background: url(/common/images/bg_dot02.png) repeat 0 0;
  color: var(--color-secondary);
}

.LocalMenu__lists.-type01 .LocalMenu__item a {
  background-image: url(/common/images/icon_arrow10.svg);
}

.LocalMenu__lists.-type01 .LocalMenu__item a.-current,
.LocalMenu__lists.-type01 .LocalMenu__item a:hover {
  background-color: #fef7e5;
}

.LocalMenu__lists.-type02 .LocalMenu__title {
  background: url(/common/images/bg_dot03.png) repeat 0 0;
  color: var(--color-secondary);
}

.LocalMenu__lists.-type02 .LocalMenu__item a {
  background-image: url(/common/images/icon_arrow11.svg);
}

.LocalMenu__lists.-type02 .LocalMenu__item a.-current,
.LocalMenu__lists.-type02 .LocalMenu__item a:hover {
  background-color: #ffedda;
}

.LocalMenu__lists.-type03 .LocalMenu__title {
  background: url(/common/images/bg_dot04.png) repeat 0 0;
  color: var(--color-secondary);
}

.LocalMenu__lists.-type03 .LocalMenu__item a {
  background-image: url(/common/images/icon_arrow11.svg);
}

.LocalMenu__lists.-type03 .LocalMenu__item a.-current,
.LocalMenu__lists.-type03 .LocalMenu__item a:hover {
  background-color: #ffe9d2;
}

.LocalMenu__lists.-type04 .LocalMenu__title {
  font-size: 0.812rem;
  border-bottom: 1px solid var(--color-border);
  background: no-repeat 12px center;
  background-size: 16px 16px;
  background-color: #e6eef9;
  text-align: center;
}

.LocalMenu__lists.-type04 .LocalMenu__title a {
  text-decoration: none;
}

.LocalMenu__lists.-type04 .LocalMenu__title.-active {
  background-image: url(/common/images/icon_arrow06.svg);
}

.LocalMenu__lists.-type04 .LocalMenu__item {
  font-size: 0.812rem;
}

.LocalMenu__lists.-type04 .LocalMenu__item a {
  padding-left: 36px;
  background: url(/common/images/icon_arrow01.svg) no-repeat 12px center;
  background-size: 16px 16px;
}

.LocalMenu__lists.-type04 .LocalMenu__item a.-current {
  background-color: #e6eef9;
}

.LocalMenu__lists.-type05 .LocalMenu__title {
  background: url(/common/images/bg_dot10.png) repeat 0 0;
  color: #00266e;
}

.LocalMenu__lists.-type05 .LocalMenu__item a {
  background-image: url(/common/images/icon_arrow26.svg);
}

.LocalMenu__lists.-type05 .LocalMenu__item a.-current,
.LocalMenu__lists.-type05 .LocalMenu__item a:hover {
  background-color: #f2f3f8;
}

.LocalMenu__lists.-type06 .LocalMenu__title {
  background: url(/common/images/bg_dot06.png) repeat 0 0;
  color: #5fb65c;
}

.LocalMenu__lists.-type06 .LocalMenu__item a {
  background-image: url(/common/images/icon_arrow17.svg);
}

.LocalMenu__lists.-type06 .LocalMenu__item a.-current,
.LocalMenu__lists.-type06 .LocalMenu__item a:hover {
  background-color: #eff8ee;
}

.LocalMenu__lists.-type07 .LocalMenu__title {
  background: url(/common/images/bg_dot08.png) repeat 0 0;
  color: var(--color-danger-alt);
}

.LocalMenu__lists.-type07 .LocalMenu__item a {
  background-image: url(/common/images/icon_arrow20.svg);
}

.LocalMenu__lists.-type07 .LocalMenu__item a.-current,
.LocalMenu__lists.-type07 .LocalMenu__item a:hover {
  background-color: #f7b2cd;
}

.LocalMenu__lists.-type08 .LocalMenu__title {
  background: #d5d5d5;
  color: #222;
}

.LocalMenu__lists.-type08 .LocalMenu__item a {
  padding: 10px;
  background: 0 0;
}

.LocalMenu__select {
  position: relative;
  margin-top: 30px;
  background-color: var(--color-primary);
  color: #fff;
}

.LocalMenu__select select {
  display: block;
  position: relative;
  padding: 0.8em 2em 0.7em 1em;
  width: 100%;
  border: 0;
  border-radius: 0;
  font-family: inherit;
  white-space: normal;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  opacity: 0;
  z-index: 2;
}

.LocalMenu__select select::-ms-expand {
  display: none;
}

.LocalMenu__select select:focus {
  z-index: -1;
  opacity: 1;
}

.LocalMenu__selectLabel {
  position: absolute;
  width: 100%;
  padding: 0.8em 2em 0.7em 1em;
  text-align: center;
  z-index: 1;
}

.LocalMenu__selectLabel::after {
  display: inline-block;
  padding-left: 6px;
  width: 16px;
  height: 16px;
  background: url(/common/images/icon_arrow05.svg) no-repeat 6px 0;
  background-size: 16px 16px;
  content: "";
  vertical-align: text-bottom;
}

.JsTab__items {
  display: flex;
  width: 100%;
  justify-content: space-between;
  border-bottom: 4px solid var(--color-primary);
}

.JsTab__items li {
  font-size: 0.875rem;
  display: flex;
  width: 24%;
}

.JsTab__items a {
  display: flex;
  padding: 10px 5px;
  width: 100%;
  border: 1px solid var(--color-primary);
  border-bottom: 0;
  background-color: #fff;
  color: var(--color-primary);
  text-align: center;
  text-decoration: none;
  line-height: 1.4em;
  align-items: center;
  justify-content: center;
}

.JsTab__items a.-active {
  background-color: var(--color-primary);
  color: #fff;
}

.JsTab__items.-item3 li {
  width: 32%;
}

.JsTab__items.-item5 li {
  width: 19%;
}

.JsTab__item {
  font-size: 0.875rem;
  padding: 30px;
  width: 100%;
  border: 1px solid var(--color-primary);
  border-top: 0;
}

.AcademicInfo__title,
.AcademicList__title,
.ContactIndex__title,
.ContentTitle02,
.LibraryList__title,
.MemberFAQ__title,
.ModuleContent__title,
.ProductContent__title,
.SearchContent__title,
.SeminarContent__title,
.SiteMap__title {
  font-size: 1.75rem;
  position: relative;
  margin: 0 auto;
  padding: 20px 15px;
  max-width: 1000px;
  background-color: var(--color-bg-light);
}

.AcademicInfo__title::before,
.AcademicList__title::before,
.ContactIndex__title::before,
.ContentTitle02::before,
.LibraryList__title::before,
.MemberFAQ__title::before,
.ModuleContent__title::before,
.ProductContent__title::before,
.SearchContent__title::before,
.SeminarContent__title::before,
.SiteMap__title::before {
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: calc(100% - 20px);
  background-color: var(--color-primary);
  content: "";
}

.AcademicInfo__title span,
.AcademicList__title span,
.ContactIndex__title span,
.ContentTitle02 span,
.LibraryList__title span,
.MemberFAQ__title span,
.ModuleContent__title span,
.ProductContent__title span,
.SearchContent__title span,
.SeminarContent__title span,
.SiteMap__title span {
  padding: 0 0 0 10px;
  color: #aaa;
}

.ContentTitle01__text {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1000px;
}

.NewsList01 .ContentList03__content {
  height: auto;
  overflow: visible;
}

.ProductContent {
  margin: 0 auto;
  max-width: 1000px;
}

.ProductContent__title {
  margin-bottom: 42px;
}

.ProductContent__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 16px;
}

.ProductContent__item {
  margin-right: 20px;
  margin-bottom: 40px;
  width: calc(50% - 10px);
}

.ProductContent__item:nth-child(2n) {
  margin-right: 0;
}

.ProductContent__item a {
  transition: opacity 0.5s ease-out 0s;
}

.ProductContent__item a:hover {
  opacity: 0.6;
}

.ProductContent__summary {
  font-size: 0.812rem;
  margin: 22px 48px 0;
}

.ProductClassNumber {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 25px auto 5px;
  max-width: 1000px;
}

.ProductClassNumber p {
  width: 20%;
  margin-bottom: 4px;
  border: solid 1px #111;
  padding: 2px 4px;
  font-size: 0.815rem;
}

.ProductTopMV {
  position: relative;
  margin: 0 auto 20px;
  max-width: 1000px;
  overflow-x: hidden;
}

.ProductTopMV video {
  width: 100%;
}

.ProductTopMV__nav {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.ProductTopMV__navItems {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.ProductTopMV__navItems.-item4 .ProductTopMV__navItem {
  width: 33.333%;
}

.ProductTopMV__navItem {
  display: flex;
  width: 25%;
}

.ProductTopMV__navItem a {
  display: flex;
  width: 100%;
  height: 50px;
  background-color: rgba(255, 255, 255, 0.8);
  color: var(--color-primary);
  text-align: center;
  text-decoration: none;
  align-items: center;
  justify-content: center;
}

.ProductTopMV__navItem a span {
  display: block;
  padding: 0 8px;
  border-bottom: 2px solid transparent;
}

.ProductTopMV__navItem a:hover span {
  border-bottom-color: var(--color-primary);
}

.ProductTopMV__navItem a img {
  margin-right: 10px;
  width: 16px;
  height: 16px;
  vertical-align: text-bottom;
}

.ProductTopMV.-type-b .slick-next,
.ProductTopMV.-type-b .slick-prev {
  margin-top: 0;
}

.ProductTopMV.-type-b .slick-dots {
  bottom: 0;
}

.FlutiformNav {
  position: relative;
  margin: 0 auto 50px;
  max-width: 1000px;
}

.FlutiformNav__circles {
  margin-bottom: 15px;
  height: 330px;
}

.FlutiformNav__circle {
  position: absolute;
  padding: 25px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background-color: #f69c66;
}

.FlutiformNav__circleInner {
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background-color: #f07100;
  color: #fff;
  text-align: center;
}

.FlutiformNav__circle.-color01 {
  top: 70px;
  left: 15px;
  background-color: rgba(249, 230, 70, 0.8);
  z-index: 2;
}

.FlutiformNav__circle.-color01 .FlutiformNav__circleInner {
  background-color: rgba(240, 169, 0, 0.8);
}

.FlutiformNav__circle.-color02 {
  top: 0;
  left: 250px;
  background-color: rgba(236, 197, 90, 0.8);
  z-index: 3;
}

.FlutiformNav__circle.-color02 .FlutiformNav__circleInner {
  background-color: #f08200;
}

.FlutiformNav__circle.-color03 {
  top: 65px;
  left: 487px;
  background-color: rgba(230, 164, 60, 0.8);
  z-index: 4;
}

.FlutiformNav__circle.-color03 .FlutiformNav__circleInner {
  background-color: #e66e00;
}

.FlutiformNav__circleTitle {
  margin: 0 20px 20px;
  padding: 30px 0 2px;
  border-bottom: 1px solid #fff;
}

.FlutiformNav__circleContent {
  padding: 0 20px;
}

.FlutiformNav__circleLink li {
  margin-bottom: 5px;
}

.FlutiformNav__circleLink a {
  display: block;
  border-radius: 15px;
  color: #fff;
  text-decoration: none;
  transition: background-color 0.2s ease-out 0s;
}

.FlutiformNav__circleLink a:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.FlutiformNav__img {
  position: absolute;
  top: 70px;
  right: 0;
  text-align: right;
  z-index: 1;
}

.FlutiformNav__more {
  font-size: 0.812rem;
  text-align: left;
}

.FlutiformNav__more a {
  color: var(--color-primary);
  text-decoration: none;
}

.FlutiformNav__more a:hover {
  text-decoration: underline;
}

.FlutiformNav__more a::before {
  display: inline-block;
  margin-right: 2px;
  width: 16px;
  height: 16px;
  background: url(/common/images/icon_arrow01.svg) no-repeat 0 0;
  background-size: 16px 16px;
  vertical-align: middle;
  content: "";
}

.FlutiformNav__items {
  display: flex;
  justify-content: space-between;
}

.FlutiformNav__item {
  font-size: 0.812rem;
  width: 24.5%;
}

.FlutiformNav__item a,
.FlutiformNav__item span {
  display: block;
  border-radius: 20px;
  transition: background-color 0.2s ease-out 0s;
}

.FlutiformNav__item a {
  padding: 4px;
  background-color: #f5a270;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.FlutiformNav__item span {
  padding: 4px 0;
  background-color: #f08200;
}

.ProductTopPoint {
  margin: 0 auto 50px;
  max-width: 1000px;
}

.ProductTopPoint__title {
  margin-bottom: 25px;
}

.ProductTopPoint__secTitle {
  position: relative;
  background-color: var(--color-secondary);
}

.ProductTopPoint__secTitle::after,
.ProductTopPoint__secTitle::before {
  position: absolute;
  vertical-align: middle;
  content: "";
}

.ProductTopPoint__secTitle::before {
  box-sizing: border-box;
  width: 7px;
  height: 7px;
  border: 7px solid transparent;
}

.ProductTopPoint__secContent {
  background-color: var(--color-primary-bg);
}

.ProductTopPoint__underline {
  border-bottom: 1px solid #000;
  font-weight: 700;
}

.ProductTopPoint__small {
  font-size: 0.625rem;
  margin-top: 3px;
  line-height: 1.5em;
}

.ProductTopPoint__sup {
  text-align: right;
}

.ProductTopPoint__sup li {
  font-size: 0.75rem;
  line-height: 1.5em;
}

.ProductTopPoint__secWrapper {
  padding: 0 20px;
}

.ProductTopPoint__sec {
  display: table;
  margin-bottom: 10px;
  width: 100%;
}

.ProductTopPoint__secContent,
.ProductTopPoint__secTitle {
  display: table-cell;
}

.ProductTopPoint__secTitle {
  padding: 12px;
  width: 90px;
  vertical-align: middle;
}

.ProductTopPoint__secTitle::after,
.ProductTopPoint__secTitle::before {
  top: 50%;
  right: -21px;
  margin-top: -7px;
}

.ProductTopPoint__secTitle::before {
  border-left: 14px solid var(--color-secondary);
}

.ProductTopPoint__secTitleInner {
  font-size: 0.625rem;
  padding-top: 12px;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background-color: #fff;
  color: var(--color-secondary);
  text-align: center;
}

.ProductTopPoint__secTitleInner span {
  font-size: 1.5rem;
  display: block;
}

.ProductTopPoint__secContent {
  padding: 12px 25px;
  vertical-align: middle;
}

.ProductTopPoint.-color-bv .ProductTopPoint__secTitle {
  background-color: #1a2d6b;
}

.ProductTopPoint.-color-bv .ProductTopPoint__secTitle::before {
  border-left-color: #1a2d6b;
}

.ProductTopPoint.-color-bv .ProductTopPoint__secTitleInner {
  color: #1a2d6b;
}

.ProductTopPoint.-color-ek .ProductTopPoint__secTitle {
  background-color: #5fb65c;
}

.ProductTopPoint.-color-ek .ProductTopPoint__secTitle::before {
  border-left-color: #5fb65c;
}

.ProductTopPoint.-color-ek .ProductTopPoint__secTitleInner {
  color: #5fb65c;
}

.ProductTopPoint.-color-dl .ProductTopPoint__secTitle {
  background-color: var(--color-danger-alt);
}

.ProductTopPoint.-color-dl .ProductTopPoint__secTitle::before {
  border-left-color: var(--color-danger-alt);
}

.ProductTopPoint.-color-dl .ProductTopPoint__secTitleInner {
  color: var(--color-danger-alt);
}

.ProductTopPoint.-color-pstg .ProductTopPoint__secTitle {
  background-color: #00dc6e;
}

.ProductTopPoint.-color-pstg .ProductTopPoint__secTitle::before {
  border-left-color: #00dc6e;
}

.ProductTopPoint.-color-pstg .ProductTopPoint__secTitleInner {
  color: #00dc6e;
}

.ProductTopPoint.-color-pstg .ProductTopPoint__secContent {
  background-color: #e5f9ef;
}

body.ly .ProductTopNav__item.-single-line a {
  line-height: 1.5;
  height: 64px;
  display: flex;
  justify-content: left;
  align-items: center;
}

.ProductTopPoint.-color-ly .ProductTopPoint__secTitle {
  background-color: #311d5a;
}

.ProductTopPoint.-color-ly .ProductTopPoint__secTitleInner {
  color: #311d5a;
}

.ProductTopPoint.-color-ly .ProductTopPoint__secTitle::before {
  border-left-color: #311d5a;
}

.ProductTopMovie {
  margin: 0 auto 30px;
  max-width: 1000px;
}

.ProductTopMovie video {
  width: 100%;
  vertical-align: top;
}

.ProductTopNav {
  margin: 0 auto 20px;
  max-width: 1000px;
}

.ProductTopNav__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ProductTopNav__item {
  margin-bottom: 6px;
  width: 24%;
}

.ProductTopNav__item.-center {
  text-align: center;
}

.ProductTopNav__item.-single-line a {
  line-height: 3em;
}

.ProductTopNav__item a {
  font-size: 0.812rem;
  display: block;
  padding: 10px;
  border: 3px solid #5169b8;
  border-radius: 10px;
  background-color: #1a2d6b;
  color: #fff;
  text-decoration: none;
  line-height: 1.5em;
  transition: opacity 0.5s ease-out 0s;
}

.ProductTopNav__item a:hover {
  opacity: 0.6;
}

.noDec a:hover {
  opacity: 1;
  cursor: default;
}

.ProductTopNav__itemIcon {
  display: inline-block;
  padding-left: 15px;
  background: url(/common/images/icon_arrow15.svg) no-repeat 0 center;
  background-size: 5px 8px;
}

.ProductTopNav.-color-ek .ProductTopNav__item:nth-child(1) a {
  background-color: #5fb65c;
  border-color: #e6efff;
}

.ProductTopNav.-color-ek .ProductTopNav__item:nth-child(2) a,
.ProductTopNav.-color-ek .ProductTopNav__item:nth-child(3) a,
.ProductTopNav.-color-ek .ProductTopNav__item:nth-child(4) a {
  background-color: #8cd021;
  border-color: #c9ee8f;
}

.ProductTopNav.-color-ek .ProductTopNav__item:nth-child(5) a {
  background-color: #b9d021;
  border-color: #edf7a9;
}

.ProductTopNav.-color-dl .ProductTopNav__item a {
  background-color: var(--color-danger-alt);
  border-color: #ffc1d9;
}

.ProductTopNav.-color-pstg .ProductTopNav__items {
  align-items: stretch;
}

.ProductTopNav.-color-pstg .ProductTopNav__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-color: #c6e7f6;
  height: 100%;
  background-color: #00dc6e;
}

.ProductTopInfo {
  margin: 0 auto 50px;
  max-width: 1000px;
}

.LibraryBanner__title,
.ProductTopInfo__title {
  margin-bottom: 25px;
}

.ProductTopInfo__tabItemSec {
  padding: 15px 0;
  border-top: 1px dashed #bbb;
}

.ProductTopInfo__tabItemSec h2 {
  font-size: 1.4em;
  font-weight: 700;
  margin-bottom: 0.5em;
  border-bottom: solid 1px #888;
}

.ProductTopInfo__tabItemSec:first-child {
  padding-top: 0;
  border-top: 0;
}

.ProductTopInfo__tabItemSec.-pb0 {
  padding-bottom: 0;
}

.ProductTopInfo__tabItemSec .-mb15 {
  margin-bottom: 15px;
}

.ProductTopInfo__tabItemSec .-mb30 {
  margin-bottom: 30px;
}

.ProductTopInfo__tabItemSec .-center {
  text-align: center;
}

.ProductTopInfo__tabItemSec ol {
  padding-left: 30px;
}

.ProductTopInfo__tabItemSec ol li {
  list-style-type: decimal;
}

.ProductTopInfo__tabItemSec ol.-blue {
  counter-reset: item;
}

.ProductTopInfo__tabItemSec ol.-blue li {
  position: relative;
  list-style-type: none;
}

.ProductTopInfo__tabItemSec ol.-blue li::before {
  position: absolute;
  top: 0;
  left: -1.2em;
  color: #1a2d6b;
  counter-increment: item;
  content: counter(item) ".";
}

.ProductTopInfo__tabItemSec__link {
  display: flex;
  margin-bottom: 1em;
}

.ProductTopInfo__tabItemSec__link a {
  margin-left: 1.5em;
  color: #0058c3;
}

.ProductTopInfo__tabItemSec__link a:hover {
  text-decoration: none;
  color: #707070;
}

.ProductTopInfo__padP {
  padding-left: 1em;
}

.ProductTopInfo__padP.-bold {
  font-weight: 700;
}

.ProductTopInfo__blueText {
  color: #1a2d6b;
}

.ProductTopInfo__blueText.-bold {
  font-weight: 700;
}

.ProductTopInfo__orangeText {
  color: var(--color-secondary);
}

.ProductTopInfo__orangeText.-bold {
  font-weight: 700;
}

.ProductTopInfo__warning {
  margin-bottom: 15px;
}

.ProductTopInfo__warning.-mb0 {
  margin-bottom: 0;
}

.ProductTopInfo__warning .ProductTopInfo__warningBorder,
.ProductTopInfo__warning span {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid var(--color-danger);
  width: 100%;
}

.ProductTopInfo__attention {
  text-align: center;
}

.ProductTopInfo__attention span {
  display: inline-block;
  padding: 4px 15px;
  background-color: var(--color-bg-soft);
}

.ProductTopInfo__attention.-typeT {
  margin-bottom: 20px;
}

.ProductTopInfo__attention.-typeB {
  margin-top: 20px;
}

.ProductTopInfo__secTitle {
  color: #1a2d6b;
  font-weight: 700;
}

.ProductTopInfo__secAttention {
  margin: 10px 0;
  padding: 10px;
  border: 1px dashed #bbb;
}

.ProductTopInfo__secAttentionTitle {
  font-weight: 700;
}

.ProductTopInfo__defList {
  display: flex;
  flex-wrap: wrap;
}

.ProductTopInfo__defList dt {
  width: 7%;
  min-width: 54px;
}

.ProductTopInfo__defList dd {
  width: 93%;
}

.ProductTopInfo.-ff .ProductTopInfo__secTitle {
  color: var(--color-secondary);
}

.ProductTopInfo.-ek .ProductTopInfo__secTitle {
  color: #5fb65c;
}

.ProductTopInfo.-dl .ProductTopInfo__secTitle {
  color: var(--color-danger-alt);
}

.ProductTopInfo.-pstg .ProductTopInfo__secTitle {
  color: var(--color-field-gastroenterology);
}

.ProductQA__about {
  font-size: 0.875rem;
  margin: 0 20px 20px;
}

.ProductQA__items li {
  width: 49%;
}

.ProductQA__item {
  padding: 15px 0;
  border: 0;
}

.ProductQA__categories {
  margin-bottom: 20px;
  padding: 0 40px;
}

.ProductQA__categories li {
  display: inline-block;
  margin-right: 20px;
}

.ProductQA__categories a {
  display: block;
  padding: 0 0 0 12px;
  background: url(/common/images/icon_arrow07.svg) no-repeat 0 center;
  background-size: 6px 10px;
  text-decoration: none;
}

.ProductQA__categories a:hover {
  color: var(--color-primary);
}

.MemberFAQ__sec,
.ProductQA__qaSec {
  margin-bottom: 30px;
}

.MemberFAQ__catTitle,
.ProductQA__catTitle {
  font-size: 1rem;
  margin-bottom: 10px;
  padding: 8px 10px 8px 30px;
  background: url(/common/images/icon_arrow08.svg) no-repeat 8px center;
  background-size: 16px 9px;
  background-color: var(--color-bg-soft);
  color: var(--color-secondary);
  font-weight: 700;
}

.MemberFAQ__qaWrap,
.ProductQA__qaWrap {
  margin: 0 20px;
  border: 1px solid var(--color-bg-soft);
}

.MemberFAQ__qaWrap + .MemberFAQ__qaWrap,
.MemberFAQ__qaWrap + .ProductQA__qaWrap,
.ProductQA__qaWrap + .MemberFAQ__qaWrap,
.ProductQA__qaWrap + .ProductQA__qaWrap {
  border-top: 0;
}

.MemberFAQ__q,
.ProductQA__q {
  position: relative;
  padding: 5px 40px 5px 10px;
  color: var(--color-primary);
  cursor: pointer;
}

.MemberFAQ__q .ToggleIcon,
.ProductQA__q .ToggleIcon {
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  background: url(/common/images/icon_plus01.svg) no-repeat 0 0;
  background-size: 16px 16px;
}

.-active.MemberFAQ__q,
.ProductQA__q.-active {
  background: url(/common/images/bg_dot01.png) repeat 0 0;
}

.-active.MemberFAQ__q .ToggleIcon,
.ProductQA__q.-active .ToggleIcon {
  background-image: url(/common/images/icon_minusai01.svg);
}

.MemberFAQ__a,
.ProductQA__a {
  position: relative;
  padding: 42px 10px 15px;
}

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

.MemberFAQ__a .paragraph,
.ProductQA__a .paragraph {
  margin-top: 20px;
}

.MemberFAQ__a .paragraph::after,
.ProductQA__a .paragraph::after {
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  content: "";
}

.MemberFAQ__a .reg_mark,
.ProductQA__a .reg_mark {
  font-size: 1rem;
}

.MemberFAQ__a .note,
.ProductQA__a .note {
  font-size: 87%;
}

.MemberFAQ__a .txC,
.ProductQA__a .txC {
  text-align: center !important;
}

.MemberFAQ__a .mt0,
.ProductQA__a .mt0 {
  margin-top: 0 !important;
}

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

.MemberFAQ__a .imageL,
.ProductQA__a .imageL {
  float: left;
  margin: 0 10px 10px 0;
}

.MemberFAQ__a .asideTxt,
.ProductQA__a .asideTxt {
  overflow: hidden;
}

.MemberFAQ__a .txleft,
.ProductQA__a .txleft {
  position: absolute;
  margin-left: -64px;
}

.MemberFAQ__a .borderBox,
.ProductQA__a .borderBox {
  margin-top: 20px;
  padding: 10px;
  border: 1px solid #ccc;
}

.MemberFAQ__a sup.kome,
.ProductQA__a sup.kome {
  font-size: 80%;
  top: -5px;
  position: relative;
}

.MemberFAQ__a .numList,
.ProductQA__a .numList {
  margin-top: 10px;
}

.MemberFAQ__a .numList li,
.ProductQA__a .numList li {
  position: relative;
}

.MemberFAQ__a .numList span,
.ProductQA__a .numList span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.MemberFAQ__a .numList.type02 li,
.ProductQA__a .numList.type02 li {
  padding-left: 20px;
}

.MemberFAQ__a .iconList02 li,
.ProductQA__a .iconList02 li {
  padding-left: 15px;
  background: url(/common/images/common_ic02.gif) no-repeat 0 0.35em;
}

.MemberFAQ__a .iconList05 li,
.ProductQA__a .iconList05 li {
  padding-left: 15px;
  background: url(/common/images/common_ic11.gif) no-repeat 2px 0.65em;
}

.MemberFAQ__a .dataBox,
.ProductQA__a .dataBox {
  margin-top: 10px;
}

.MemberFAQ__a .dataBox::after,
.ProductQA__a .dataBox::after {
  display: block;
  clear: both;
  content: "";
}

.MemberFAQ__a .dataBox dt,
.ProductQA__a .dataBox dt {
  float: left;
  width: 100px;
}

.MemberFAQ__a .dataBox dd,
.ProductQA__a .dataBox dd {
  margin-left: 105px;
}

.MemberFAQ__a .tableBox,
.ProductQA__a .tableBox {
  margin-top: 20px;
}

.MemberFAQ__a .tableBox table,
.ProductQA__a .tableBox table {
  width: 100%;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

.MemberFAQ__a .tableBox table td,
.MemberFAQ__a .tableBox table th,
.ProductQA__a .tableBox table td,
.ProductQA__a .tableBox table th {
  padding: 5px 8px;
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: center;
}

.MemberFAQ__a .tableBox table th,
.ProductQA__a .tableBox table th {
  background-color: #fad6c3;
  font-weight: 400;
}

.MemberFAQ__a .tableBox table .cell01,
.ProductQA__a .tableBox table .cell01 {
  background-color: #eeebe9;
}

.MemberFAQ__a .tableBox table .cell02,
.ProductQA__a .tableBox table .cell02 {
  background-color: #c7d1eb;
}

.MemberFAQ__a .tableBox table .cell03,
.ProductQA__a .tableBox table .cell03 {
  background-color: #c9e6d7;
}

.MemberFAQ__a .tableBox table .cell04,
.ProductQA__a .tableBox table .cell04 {
  background-color: #feebc8;
}

.MemberFAQ__a .tableBox table .cell05,
.ProductQA__a .tableBox table .cell05 {
  background-color: #fadce2;
}

.MemberFAQ__a .FFImageWithText,
.ProductQA__a .FFImageWithText {
  margin: 20px 0 20px 5px;
}

.MemberFAQ__a .FFImageWithText::after,
.ProductQA__a .FFImageWithText::after {
  display: block;
  clear: both;
  content: "";
}

.MemberFAQ__a .FFImageWithText__image,
.ProductQA__a .FFImageWithText__image {
  float: right;
}

.MemberFAQ__a .FFImageWithText__text,
.ProductQA__a .FFImageWithText__text {
  float: left;
  width: calc(100% - 210px);
}

.MemberFAQ__aLabel,
.ProductQA__aLabel {
  position: absolute;
  top: 15px;
  left: 10px;
}

.ProductQA.-color-ek .MemberFAQ__catTitle,
.ProductQA.-color-ek .ProductQA__catTitle {
  background-image: url(/common/images/icon_arrow18.svg);
  color: #5fb65c;
}

.ProductQA.-color-dl .MemberFAQ__catTitle,
.ProductQA.-color-dl .ProductQA__catTitle {
  background-image: url(/common/images/icon_arrow21.svg);
  color: var(--color-danger-alt);
}

.ProductQA.-color-bv .MemberFAQ__catTitle,
.ProductQA.-color-bv .ProductQA__catTitle {
  background-image: url(/common/images/icon_arrow24.svg);
  color: #00266e;
}

.ProductMovie__summary {
  font-size: 0.875rem;
  margin-bottom: 15px;
  line-height: 1.5em;
}

.ProductMovie__items {
  display: flex;
  margin-bottom: 20px;
  width: 100%;
  justify-content: space-between;
}

.ProductMovie__items li {
  display: flex;
  width: 33.3%;
  border: solid var(--color-border);
  border-width: 1px 0 1px 1px;
}

.ProductMovie__items li:last-child {
  border-right: 1px solid var(--color-border);
}

.ProductMovie__items a {
  font-size: 0.812rem;
  display: flex;
  padding: 8px 10px;
  width: 100%;
  text-decoration: none;
  line-height: 1.5em;
  align-items: center;
  justify-content: center;
}

.ProductMovie__items a:hover {
  background-color: var(--color-primary);
  color: #fff;
}

.ProductMovie__items a:hover span {
  background-image: url(/common/images/icon_arrow15.svg);
}

.ProductMovie__items span {
  padding: 0 0 0 12px;
  background: url(/common/images/icon_arrow07.svg) no-repeat 0 center;
  background-size: 6px 10px;
}

.ProductMovie__items.-item2 {
  margin-bottom: 5px;
}

.ProductMovie__items.-item2 li {
  width: 50%;
}

.ProductMovie__catTitle {
  font-size: 1rem;
  margin-bottom: 20px;
  padding: 10px;
  background: url(/common/images/bg_dot03.png) repeat 0 0;
  color: var(--color-secondary);
  font-weight: 700;
  text-align: center;
}

.Content .ProductMovie__catDescription {
  margin-bottom: 20px;
}

.ProductMovie__itemWrap::after {
  display: block;
  clear: both;
  content: "";
}

.ProductMovie__item {
  float: left;
  margin: 0 20px 20px 0;
  width: calc(50% - 10px);
}

.ProductMovie__item:nth-child(2n) {
  margin-right: 0;
}

.ProductMovie__itemTitle {
  font-size: 0.875rem;
  position: relative;
  margin-bottom: 10px;
  padding: 5px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.ProductMovie__itemTitle span {
  color: var(--color-primary);
}

.ProductMovie__itemSubTitle {
  font-size: 0.625rem;
  margin-bottom: 15px;
  background-color: var(--color-secondary);
  color: #fff;
  text-align: center;
}

.ProductMovie__itemContent {
  display: table;
  width: 100%;
}

.ProductMovie__itemContent.-type-movie {
  margin-bottom: 10px;
}

.ProductMovie__itemContent.-type-movie .ProductMovie__itemFirst {
  width: 180px;
}

.ProductMovie__itemContent.-type-pdf .ProductMovie__itemFirst {
  width: 110px;
}

.ProductMovie__itemContent.-type-pdf .ProductMovie__itemSecond {
  padding-bottom: 50px;
}

.ProductMovie__itemContent.-type-member-only .ProductMovie__itemFirst {
  position: relative;
  overflow: hidden;
}

.ProductMovie__itemContent.-type-member-only .ProductMovie__itemFirst::after,
.ProductMovie__itemContent.-type-member-only .ProductMovie__itemFirst::before {
  display: block;
  position: absolute;
  content: "";
  z-index: 1;
}

.ProductMovie__itemContent.-type-member-only .ProductMovie__itemFirst::before {
  top: -50px;
  left: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 50px solid var(--color-danger);
}

.ProductMovie__itemContent.-type-member-only .ProductMovie__itemFirst::after {
  top: 3px;
  left: 6px;
  width: 13px;
  height: 18px;
  background: url(/common/images/icon_key01.svg) no-repeat 0 0;
  background-size: 13px 18px;
}

.ProductMovie__itemFirst,
.ProductMovie__itemSecond {
  display: table-cell;
  vertical-align: top;
}

.ProductMovie__itemFirst {
  padding-right: 10px;
  width: 110px;
}

.ProductMovie__itemSecond {
  position: relative;
}

.ProductMovie__itemThum {
  width: 100%;
  border: 5px solid #ddd;
}

.ProductMovie__itemCaption {
  font-size: 0.625rem;
  display: block;
  margin-top: 5px;
  text-align: center;
  line-height: 1.5em;
}

.ProductMovie__itemSummary {
  font-size: 0.875rem;
  line-height: 1.5em;
}

.ProductMovie__movieLink a,
.ProductMovie__pdfLink a {
  font-size: 0.875rem;
  display: block;
  position: relative;
  padding: 8px 50px;
  border: 1px solid var(--color-primary);
  background: url(/common/images/icon_arrow07.svg) no-repeat 10px center;
  background-size: 6px 10px;
  color: var(--color-primary);
  text-align: center;
  text-decoration: none;
  line-height: 1em;
  transition: opacity 0.5s ease-out 0s;
}

.ProductMovie__movieLink a:hover,
.ProductMovie__pdfLink a:hover {
  opacity: 0.6;
}

.ProductMovie__pdfLink {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
}

.ProductMovie__icon::after {
  display: block;
  position: absolute;
  top: 8px;
  right: 10px;
  width: 14px;
  height: 14px;
  content: "";
}

.ProductMovie__icon.-text::after {
  width: 12px;
  background: url(/common/images/icon_text01.png) no-repeat 0 0;
  background-size: 12px 14px;
}

.ProductMovie__icon.-movie::after {
  background: url(/common/images/icon_movie01.png) no-repeat 0 0;
  background-size: 14px 14px;
}

.ProductMovie__icon.-pdf::after {
  background: url(/common/images/icon_download01.png) no-repeat 0 0;
  background-size: 14px 14px;
}

.ProductMovie__guidance {
  font-size: 0.812rem;
  margin-bottom: 20px;
  line-height: 1.5em;
}

.ProductMovie__belongs {
  margin-bottom: 1em;
  font-weight: 700;
}

.ProductMovie__batchDownload {
  font-size: 0.812rem;
  margin-bottom: 25px;
  padding: 15px 40px;
  background-color: #ffdbb3;
  line-height: 1.5em;
}

.ProductMovie__batchDownload.-bg-none {
  margin-bottom: 0;
  background: 0 0;
}

.ProductMovie__batchDownload.-bg-none .ProductMovie__batchDownloadBtn {
  margin-bottom: 0;
}

.ProductMovie__batchDownloadBtn {
  margin-bottom: 15px;
  text-align: center;
}

.ProductMovie__batchDownloadBtn a {
  display: inline-block;
  padding: 0 48px 0 35px;
  min-width: 280px;
  min-height: 36px;
  border-radius: 20px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: url(/common/images/icon_download02.png) no-repeat right 18px
    center #ef7a00;
  box-shadow: inset 0 2px 10px rgba(255, 255, 255, 0.6),
    inset 0 -2px 5px rgba(0, 0, 0, 0.1);
  line-height: 36px;
  transition: opacity 0.5s ease-out 0s;
}

.ProductMovie__batchDownloadBtn a:hover {
  opacity: 0.6;
}

.ProductMovie__batchDownloadBtn span {
  display: inline-block;
  margin-left: 10px;
  padding: 5px 10px;
  border-radius: 3px;
  background-color: #f04400;
  line-height: 1em;
}

.ProductMovie.-color-ek .ProductMovie__catTitle {
  color: #5fb65c;
  background-image: url(/common/images/bg_dot06.png);
}

.ProductMovie.-color-ek .ProductMovie__itemSubTitle {
  background-color: #5fb65c;
}

.ProductMovie.-color-dl .ProductMovie__catTitle {
  color: var(--color-danger-alt);
  background-image: url(/common/images/bg_dot08.png);
}

.ProductMovie.-color-dl .ProductMovie__itemSubTitle {
  background-color: var(--color-danger-alt);
}

.ProductMovie.-color-bv .ProductMovie__catTitle {
  color: #00266e;
  background-image: url(/common/images/bg_dot10.png);
}

.ProductMovie.-color-bv .ProductMovie__itemSubTitle {
  background-color: #00266e;
}

.MovieSection {
  margin-bottom: 30px;
  padding: 0 15px;
}

.MovieSection__trans p {
  text-indent: 1em;
  margin-bottom: 1em;
}

.MovieSection__slides {
  position: relative;
  padding: 30px 50px;
  background-color: var(--color-primary-bg);
}

.MovieSection__slides .slick-prev {
  left: -40px;
}

.MovieSection__slides .slick-next {
  right: -40px;
}

.MovieSection__slides .slick-list {
  overflow: hidden;
}

.MovieSection__slideItems li {
  position: relative;
  padding: 0 18px;
}

.MovieSection__slideItems a {
  display: block;
  text-decoration: none;
}

.MovieSection__slideItems a:hover .MovieSection__slideThum img {
  transform: scale(1.2, 1.2);
}

.MovieSection__slideItems a:hover .MovieSection__slideSummary {
  text-decoration: underline;
}

.MovieSection__slideThum {
  position: relative;
  margin-bottom: 10px;
  padding: 5px;
  background-color: #e4e4e4;
  overflow: hidden;
}

.MovieSection__slideThum.-is-member::after,
.MovieSection__slideThum.-is-member::before {
  display: block;
  position: absolute;
  content: "";
  z-index: 1;
}

.MovieSection__slideThum.-is-member::before {
  top: -60px;
  left: -5px;
  border-top: 55px solid transparent;
  border-bottom: 55px solid transparent;
  border-left: 55px solid var(--color-danger);
}

.MovieSection__slideThum.-is-member::after {
  top: 3px;
  left: 6px;
  width: 13px;
  height: 18px;
  background: url(/common/images/icon_key01.svg) no-repeat 0 0;
  background-size: 13px 18px;
}

.MovieSection__slideThumInner {
  overflow: hidden;
}

.MovieSection__slideThumInner img {
  width: 100%;
  transition: -webkit-transform 0.3s ease-out 0s;
  transition: transform 0.3s ease-out 0s;
  transition: transform 0.3s ease-out 0s, -webkit-transform 0.3s ease-out 0s;
}

.MovieSection__slideSummary {
  font-size: 0.812rem;
  line-height: 1.5em;
}

.MovieSection__downloads {
  font-size: 0.812rem;
  margin: 20px 0;
  text-align: center;
  line-height: 1.5em;
}

.MovieSection__downloads ul {
  text-align: center;
}

.MovieSection__downloads li {
  display: inline-block;
  margin: 0 20px 20px 0;
}

.MovieSection__downloads li:last-child {
  margin-right: 0;
}

.MovieSection__downloads li a {
  display: block;
  padding: 6px 70px;
  border: 1px solid var(--color-primary);
  border-radius: 20px;
  background: url(/common/images/icon_download01.png) no-repeat right 15px
    center;
  color: var(--color-primary);
  text-decoration: none;
}

.MovieSection__points {
  font-size: 0.812rem;
  display: flex;
  line-height: 1.5em;
}

.MovieSection__pointsItem {
  margin-right: 50px;
  width: calc(33.3% - 33px);
}

.MovieSection__pointsItem:last-child {
  margin-right: 0;
}

.MovieSection__pointsItemThum {
  margin-bottom: 8px;
  text-align: center;
}

.MovieSection__pointsItemThum img {
  border: 5px solid #ddd;
}

.MovieContent video {
  margin-bottom: 20px;
  max-width: 100%;
}

.MovieContent::after {
  display: block;
  clear: both;
  content: "";
}

.MovieContent__title {
  font-size: 0.875rem;
  margin-bottom: 8px;
  padding: 0 0 8px;
  border-bottom: 1px dashed var(--color-border);
  font-weight: 700;
  text-align: center;
}

.MovieContent__titleName {
  font-size: 1.125rem;
}

.MovieContent__summary {
  font-size: 0.875rem;
  margin-bottom: 8px;
}

.MovieContent__category {
  font-size: 0.875rem;
  display: block;
  float: right;
  padding: 10px 50px;
  min-width: 200px;
  background-color: var(--color-secondary);
  color: #fff;
  text-align: center;
}

.-toggle-enable .-js-toggle-tab.AcademicInfo__secNewsTitle,
.-toggle-enable .-js-toggle-tab.AcademicInfo__subTitle,
.-toggle-enable .-js-toggle-tab.AcademicList__itemsTitle,
.-toggle-enable .-js-toggle-tab.CheckContent__title,
.-toggle-enable .-js-toggle-tab.ContactIndex__subTitle,
.-toggle-enable .-js-toggle-tab.ContentList01__title,
.-toggle-enable .-js-toggle-tab.ContentList02__title,
.-toggle-enable .-js-toggle-tab.ContentList03__title,
.-toggle-enable .-js-toggle-tab.LibraryBanner__title,
.-toggle-enable .-js-toggle-tab.LibraryList__itemsTitle,
.-toggle-enable .-js-toggle-tab.ModuleContent__subTitle,
.-toggle-enable .-js-toggle-tab.ProductTopInfo__title,
.-toggle-enable .-js-toggle-tab.ProductTopPoint__title,
.-toggle-enable .-js-toggle-tab.SearchContent__subTitle,
.-toggle-enable .-js-toggle-tab.SeminarContent__catTitle,
.-toggle-enable .ModContentTitle__l01-01.-js-toggle-tab {
  font-size: 1rem;
  padding: 10px;
  background: var(--color-primary);
  color: #fff;
  text-align: center;
}

.-toggle-enable .-js-toggle-tab.AcademicInfo__secNewsTitle::after,
.-toggle-enable .-js-toggle-tab.AcademicInfo__secNewsTitle::before,
.-toggle-enable .-js-toggle-tab.AcademicInfo__subTitle::after,
.-toggle-enable .-js-toggle-tab.AcademicInfo__subTitle::before,
.-toggle-enable .-js-toggle-tab.AcademicList__itemsTitle::after,
.-toggle-enable .-js-toggle-tab.AcademicList__itemsTitle::before,
.-toggle-enable .-js-toggle-tab.CheckContent__title::after,
.-toggle-enable .-js-toggle-tab.CheckContent__title::before,
.-toggle-enable .-js-toggle-tab.ContactIndex__subTitle::after,
.-toggle-enable .-js-toggle-tab.ContactIndex__subTitle::before,
.-toggle-enable .-js-toggle-tab.ContentList01__title::after,
.-toggle-enable .-js-toggle-tab.ContentList01__title::before,
.-toggle-enable .-js-toggle-tab.ContentList02__title::after,
.-toggle-enable .-js-toggle-tab.ContentList02__title::before,
.-toggle-enable .-js-toggle-tab.ContentList03__title::after,
.-toggle-enable .-js-toggle-tab.ContentList03__title::before,
.-toggle-enable .-js-toggle-tab.LibraryBanner__title::after,
.-toggle-enable .-js-toggle-tab.LibraryBanner__title::before,
.-toggle-enable .-js-toggle-tab.LibraryList__itemsTitle::after,
.-toggle-enable .-js-toggle-tab.LibraryList__itemsTitle::before,
.-toggle-enable .-js-toggle-tab.ModuleContent__subTitle::after,
.-toggle-enable .-js-toggle-tab.ModuleContent__subTitle::before,
.-toggle-enable .-js-toggle-tab.ProductTopInfo__title::after,
.-toggle-enable .-js-toggle-tab.ProductTopInfo__title::before,
.-toggle-enable .-js-toggle-tab.ProductTopPoint__title::after,
.-toggle-enable .-js-toggle-tab.ProductTopPoint__title::before,
.-toggle-enable .-js-toggle-tab.SearchContent__subTitle::after,
.-toggle-enable .-js-toggle-tab.SearchContent__subTitle::before,
.-toggle-enable .-js-toggle-tab.SeminarContent__catTitle::after,
.-toggle-enable .-js-toggle-tab.SeminarContent__catTitle::before,
.-toggle-enable .ModContentTitle__l01-01.-js-toggle-tab::after,
.-toggle-enable .ModContentTitle__l01-01.-js-toggle-tab::before {
  display: none;
}

.-toggle-enable .-js-toggle-tab.AcademicInfo__secNewsTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.AcademicInfo__subTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.AcademicList__itemsTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.CheckContent__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.ContactIndex__subTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.ContentList01__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.ContentList02__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.ContentList03__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.LibraryBanner__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.LibraryList__itemsTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.ModuleContent__subTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.ProductTopInfo__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.ProductTopPoint__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.SearchContent__subTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.SeminarContent__catTitle .ToggleIcon,
.-toggle-enable .ModContentTitle__l01-01.-js-toggle-tab .ToggleIcon {
  display: inline-block;
  margin-left: 6px;
  width: 16px;
  height: 16px;
  background: url(/common/images/icon_arrow05.svg) no-repeat 0 0;
  background-size: 16px 16px;
  content: "";
  vertical-align: text-bottom;
}

.-toggle-enable .-js-toggle-tab.-active.AcademicInfo__secNewsTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.AcademicInfo__subTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.AcademicList__itemsTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.CheckContent__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.ContactIndex__subTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.ContentList01__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.ContentList02__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.ContentList03__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.LibraryBanner__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.LibraryList__itemsTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.ModuleContent__subTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.ProductTopInfo__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.ProductTopPoint__title .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.SearchContent__subTitle .ToggleIcon,
.-toggle-enable .-js-toggle-tab.-active.SeminarContent__catTitle .ToggleIcon,
.-toggle-enable .ModContentTitle__l01-01.-js-toggle-tab.-active .ToggleIcon {
  background-image: url(/common/images/icon_arrow14.svg);
}

.ProductLibrary__summary {
  font-size: 0.875rem;
  margin-bottom: 15px;
  line-height: 1.5em;
}

.ProductLibrary__items {
  display: flex;
  margin-bottom: 20px;
  width: 100%;
  justify-content: space-between;
}

.ProductLibrary__items li {
  display: flex;
  width: 33.3%;
  border: solid var(--color-border);
  border-width: 1px 0 1px 1px;
}

.ProductLibrary__items li:last-child {
  border-right: 1px solid var(--color-border);
}

.ProductLibrary__items a {
  font-size: 0.812rem;
  display: flex;
  padding: 8px 10px;
  width: 100%;
  text-decoration: none;
  line-height: 1.5em;
  align-items: center;
  justify-content: center;
}

.ProductLibrary__items a:hover {
  background-color: var(--color-primary);
  color: #fff;
}

.ProductLibrary__items a:hover span {
  background-image: url(/common/images/icon_arrow15.svg);
}

.ProductLibrary__items span {
  padding: 0 0 0 12px;
  background: url(/common/images/icon_arrow07.svg) no-repeat 0 center;
  background-size: 6px 10px;
}

.ProductLibrary__itemWrap {
  display: flex;
  margin-bottom: 20px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ProductLibrary__item {
  margin-bottom: 20px;
  width: calc(50% - 10px);
}

.ProductLibrary__itemTitle {
  font-size: 0.875rem;
  position: relative;
  margin-bottom: 10px;
  padding: 5px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.ProductLibrary__itemSubTitle {
  font-size: 0.625rem;
  margin-bottom: 15px;
  background-color: var(--color-secondary);
  color: #fff;
  text-align: center;
}

.ProductLibrary__itemContent {
  display: table;
  margin-bottom: 10px;
  width: 100%;
}

.ProductLibrary__itemContent.-is-member-only .ProductLibrary__itemFirst {
  position: relative;
  overflow: hidden;
}

.ProductLibrary__itemContent.-is-member-only .ProductLibrary__itemFirst::after,
.ProductLibrary__itemContent.-is-member-only
  .ProductLibrary__itemFirst::before {
  display: block;
  position: absolute;
  content: "";
  z-index: 1;
}

.ProductLibrary__itemContent.-is-member-only
  .ProductLibrary__itemFirst::before {
  top: -50px;
  left: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 50px solid var(--color-danger);
}

.ProductLibrary__itemContent.-is-member-only .ProductLibrary__itemFirst::after {
  top: 3px;
  left: 6px;
  width: 13px;
  height: 18px;
  background: url(/common/images/icon_key01.svg) no-repeat 0 0;
  background-size: 13px 18px;
}

.ProductLibrary__itemFirst,
.ProductLibrary__itemSecond {
  display: table-cell;
  vertical-align: top;
}

.ProductLibrary__itemFirst {
  padding-right: 10px;
  width: 188px;
}

.ProductLibrary__itemSecond {
  font-size: 0.875rem;
  line-height: 1.5em;
}

.ProductLibrary__itemThum {
  width: 100%;
  border: 5px solid #ddd;
}

.ProductLibrary__movieLink a {
  font-size: 0.875rem;
  display: block;
  position: relative;
  padding: 8px 20px;
  border: 1px solid var(--color-primary);
  background: url(/common/images/icon_arrow07.svg) no-repeat 10px center;
  background-size: 6px 10px;
  color: var(--color-primary);
  text-align: center;
  text-decoration: none;
  line-height: 1em;
  transition: opacity 0.5s ease-out 0s;
}

.ProductLibrary__movieLink a:hover {
  opacity: 0.6;
}

.ProductLibrary__icon::after {
  display: block;
  position: absolute;
  top: 8px;
  right: 10px;
  width: 14px;
  height: 14px;
  background: url(/common/images/icon_movie01.png) no-repeat 0 0;
  background-size: 14px 14px;
  content: "";
}

.ProductLibrary.-color-ek .ProductLibrary__itemSubTitle {
  background-color: #5fb65c;
}

.ProductLibrary.-color-dl .ProductLibrary__itemSubTitle {
  background-color: var(--color-danger-alt);
}

.ProductLibrary.-color-pstg .ProductLibrary__itemSubTitle {
  background-color: var(--color-field-gastroenterology);
}

.ContentTitle01 {
  font-size: 1.125rem;
  margin-bottom: 30px;
  padding: 20px 0;
  background-color: var(--color-primary);
  color: #fff;
}

.ContentTitle01.-mb20 {
  margin-bottom: 20px;
}

.ContentTitle01.-mb60 {
  margin-bottom: 60px;
}

.ContentTitle01.-head-adjust {
  margin-top: -15px;
}

.ContentTitle01.-mr {
  background-color: #54ab55;
}

.ContentTitle01.-orange {
  background-color: var(--color-secondary);
}

.ContentTitle01__text {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1000px;
}

.MemberContent {
  font-size: 0.812rem;
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1000px;
}

.MemberContent input[type="checkbox"],
.MemberContent input[type="radio"] {
  width: 28px;
  height: 28px;
  border: 1px solid var(--color-border-soft);
  background-color: #fff;
  background-image: none;
  background-repeat: no-repeat;
  background-position: center center;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.MemberContent input[type="checkbox"] {
  background-size: 23px 16px;
}

.MemberContent input[type="checkbox"]:disabled {
  background-color: #f0f0f0;
}

.MemberContent input[type="checkbox"]:checked {
  background-image: url(/common/images/icon_check01.png);
}

.MemberContent input[type="checkbox"]:checked:disabled {
  background-image: url(/common/images/icon_check02.png);
}

.MemberContent input[type="radio"] {
  border-radius: 50%;
  background-size: 16px 16px;
}

.MemberContent input[type="radio"]:disabled {
  background-color: #f0f0f0;
}

.MemberContent input[type="radio"]:checked {
  background-image: url(/common/images/icon_radio01.png);
}

.MemberContent input[type="radio"]:checked:disabled {
  background-image: url(/common/images/icon_radio02.png);
}

.MemberContent select {
  display: inline-block;
  padding: 0.35em 2.7em 0.25em 0.5em;
  height: auto;
  min-height: 34px;
  max-width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 0;
  background: url(/common/images/icon_arrow13.svg) no-repeat right 10px top 50%
    #fff;
  background-size: 16px 10px;
  font-family: inherit;
  white-space: normal;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.MemberContent select::-ms-expand {
  display: none;
}

.MemberContent__message {
  font-size: 1.25rem;
  margin: 30px 0;
  line-height: 1.5em;
}

.MemberContent__message.-center {
  text-align: center;
}

.MemberContent__message.-red {
  color: var(--color-danger);
}

.MemberContent__message.-mt60 {
  margin-top: 60px;
}

.MemberContent__message.-mt10 {
  margin-top: 10px;
}

.MemberContent__message.-mb60 {
  margin-bottom: 60px;
}

.MemberContent__message.-mb10 {
  margin-bottom: 10px;
}

.MemberContent__message.-mb20 {
  margin-bottom: 20px;
}

.MemberContent__message.-mb30 {
  margin-bottom: 30px;
}

.MemberContent__text {
  margin: 1em 0;
}

.MemberContent__text.-center {
  text-align: center;
}

.MemberContent__text.-ex-center {
  text-align: center;
}

.MemberContent__text.-bold {
  font-weight: 700;
}

.MemberContent__text.-mt5 {
  margin-top: 5px;
}

.MemberContent__text.-mb5 {
  margin-bottom: 5px;
}

.MemberContent__text.-mb20 {
  margin-bottom: 20px;
}

.MemberContent__text.-mb30 {
  margin-bottom: 30px;
}

.MemberContent__text.-mb40 {
  margin-bottom: 40px;
}

.MemberContent__text.-has-link {
  position: relative;
  padding-right: 10em;
}

.MemberContent__errorText {
  margin: 5px 0;
  color: var(--color-danger);
  font-weight: 700;
}

.MemberContent__errorText.-center {
  text-align: center;
}

.MemberContent__arrowLink {
  position: absolute;
  top: 0;
  right: 0;
  padding-right: 15px;
  background: url(/common/images/icon_arrow07.svg) no-repeat right center;
  background-size: 8px 13px;
}

.MemberContent__notice {
  margin: 1em 0;
  padding: 10px;
  border: 1px solid var(--color-border);
  background-color: var(--color-primary-bg);
}

.MemberContent__mail {
  font-size: 1.25rem;
  margin: 0 auto;
  padding: 5px 10px;
  max-width: 540px;
  background-color: var(--color-primary-bg);
  text-align: center;
}

.MemberContent__attention {
  margin: 0 auto 40px;
  padding: 15px 40px;
  max-width: 700px;
  border: 1px solid var(--color-danger);
}

.MemberContent__button {
  font-size: 1.25rem;
  display: block;
  margin: 0 auto;
  padding: 10px 0;
  width: 300px;
  border: 0;
  background-color: var(--color-secondary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.5s ease-out 0s;
}

.MemberContent__button:hover {
  opacity: 0.6;
}

.MemberContent__button.-mb30 {
  margin-bottom: 30px;
}

.MemberContent__button.-full-width {
  width: 100%;
}

.MemberContent__button.-small {
  font-size: 0.812rem;
  padding: 5px 0;
  width: 200px;
}

.MemberContent__button.-gray {
  background-color: var(--color-border);
}

.MemberContent__button.-dark-gray {
  background-color: #aaa;
}

.MemberContent__buttons {
  text-align: center;
}

.MemberContent__buttons .MemberContent__button {
  display: inline-block;
  margin: 0 10px 0 0;
}

.MemberContent__buttons .MemberContent__button:last-child {
  margin-right: 0;
}

.FormStep {
  display: flex;
  justify-content: space-between;
  overflow: hidden;
}

.FormStep__item {
  display: flex;
  position: relative;
  margin-right: 5px;
  padding: 6px 0 6px 15px;
  width: 100%;
  height: 60px;
  background-color: var(--color-border);
  color: #fff;
  align-items: center;
}

.FormStep__item.-active {
  background-color: var(--color-accent-cyan);
}

.FormStep__item.-active::after {
  border-left-color: var(--color-accent-cyan);
}

.FormStep__item.-active .FormStep__label {
  color: var(--color-accent-cyan);
}

.FormStep__item::after,
.FormStep__item::before {
  display: block;
  position: absolute;
  top: 0;
  width: 30px;
  height: 30px;
  content: "";
  box-sizing: border-box;
}

.FormStep__item::before {
  left: 0;
  border: 30px solid transparent;
  border-left: 10px solid #fff;
}

.FormStep__item::after {
  right: -40px;
  border: 30px solid transparent;
  border-left: 10px solid var(--color-border);
}

.FormStep__item:nth-child(1) {
  padding-left: 6px;
  z-index: 3;
}

.FormStep__item:nth-child(1)::before {
  display: none;
}

.FormStep__item:nth-child(2) {
  z-index: 2;
}

.FormStep__item:nth-child(3) {
  margin-right: 10px;
  z-index: 1;
}

.FormStep__label {
  display: block;
  position: relative;
  margin-right: 6px;
  width: 48px;
  min-width: 48px;
  height: 100%;
  border-radius: 2px;
  background-color: #fff;
  color: var(--color-border);
}

.FormStep__labelNumber,
.FormStep__labelText {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  line-height: 1em;
}

.FormStep__labelText {
  font-size: 0.875rem;
  bottom: 4px;
}

.FormStep__labelNumber {
  font-size: 1.5rem;
  top: 4px;
}

.FormStep__text {
  font-size: 1.25rem;
}

.SimpleForm {
  font-size: 0.812rem;
  display: table;
  width: 100%;
}

.SimpleForm.-mb10 {
  margin-bottom: 10px;
}

.SimpleForm.-mb20 {
  margin-bottom: 20px;
}

.SimpleForm.-mb40 {
  margin-bottom: 40px;
}

.SimpleForm__field {
  display: table-row;
}

.SimpleForm__element,
.SimpleForm__label {
  display: table-cell;
  padding: 15px;
  border: solid var(--color-border);
  border-width: 1px 1px 0 1px;
  vertical-align: top;
}

.SimpleForm__label {
  position: relative;
  padding-right: 60px;
  width: 20em;
  border-right: 0;
  background-color: var(--color-bg-light);
}

.SimpleForm__labelRequired {
  font-size: 0.75rem;
  position: absolute;
  top: 15px;
  right: 15px;
  padding: 6px 8px;
  border-radius: 3px;
  background-color: var(--color-danger);
  color: #fff;
  line-height: 1em;
}

.SimpleForm__element input[type="email"],
.SimpleForm__element input[type="password"],
.SimpleForm__element input[type="text"],
.SimpleForm__element textarea {
  padding: 8px 12px;
  border: 1px solid var(--color-border);
}

.SimpleForm__element textarea {
  width: 100%;
}

.SimpleForm__element.-error {
  background-color: #faeded;
}

.SimpleForm__element.-pb5 {
  padding-bottom: 5px;
}

.SimpleForm__element.-button-cell {
  border-left: 0;
  width: 18em;
}

.SimpleForm__inputMin {
  width: 80px;
}

.SimpleForm__inputSmall {
  width: 200px;
}

.SimpleForm__inputMedium {
  width: 300px;
}

.SimpleForm__inputLarge {
  width: 400px;
}

.SimpleForm__inputFull {
  width: 100%;
}

.SimpleForm__field:last-child > .SimpleForm__element {
  border-bottom: 1px solid var(--color-border);
}

.SimpleForm__inlineList li {
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 10px;
}

.SimpleForm__inlineList li:last-child {
  margin-right: 0;
}

.SimpleForm__blockList {
  display: flex;
}

.SimpleForm__blockList.-block {
  display: block;
}

.SimpleForm__blockList.-block li {
  margin-bottom: 10px;
}

.SimpleForm__blockList.-block li:last-child {
  margin-bottom: 0;
}

.SimpleForm__blockList li {
  margin-right: 15px;
}

.SimpleForm__blockList li:last-child {
  margin-right: 0;
}

.SimpleForm__blockListLabel {
  display: inline-block;
  width: 2.5em;
}

.SimpleForm__blockListLabel + .SimpleForm__inputSmall {
  width: calc(100% - 2.5em);
}

.SimpleForm__supplement {
  margin-top: 10px;
}

.SimpleForm__supplement.-mr {
  color: #54ab55;
}

.SimpleForm__supplement.-mt0 {
  margin-top: 0;
}

.SimpleForm__textUnderline {
  text-decoration: underline;
}

.SimpleForm__textSmall {
  font-size: 0.625rem;
  line-height: 1.5em;
}

.SimpleForm__textSmall.-mt5 {
  margin-top: 5px;
}

.SimpleForm__button {
  display: inline-block;
  padding: 10px 20px;
  border: 0;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 1em;
  transition: opacity 0.5s ease-out 0s;
}

.SimpleForm__button.-mt10 {
  margin-top: 10px;
}

.SimpleForm__button.-mb10 {
  margin-bottom: 10px;
}

.SimpleForm__button.-ml10 {
  margin-left: 10px;
}

.SimpleForm__button.-block {
  display: block;
}

.SimpleForm__button.-arrow {
  padding-right: 40px;
  background-image: url(/common/images/icon_arrow15.svg);
  background-repeat: no-repeat;
  background-position: right 22px center;
  background-size: 8px 13px;
}

.SimpleForm__button:hover {
  opacity: 0.6;
}

.SimpleForm__errorText {
  margin-top: 6px;
  color: var(--color-danger);
}

.SimpleForm.-no-border .SimpleForm__element,
.SimpleForm.-no-border .SimpleForm__label {
  padding: 10px 0;
  border: 0;
}

.SimpleForm.-no-border .SimpleForm__label {
  width: 8.5em;
}

.SimpleForm.-no-border .SimpleForm__element.-error {
  background-color: transparent;
}

.SimpleForm.-no-border .SimpleForm__field:last-child > .SimpleForm__label {
  border: 0;
}

.SimpleForm.-result .SimpleForm__element,
.SimpleForm.-result .SimpleForm__label {
  padding: 0;
  border: 0;
}

.SimpleForm.-result .SimpleForm__label {
  width: 15em;
  background-color: transparent;
}

.SimpleForm.-result .SimpleForm__field:last-child > .SimpleForm__label {
  border: 0;
}

.FacilitySearch {
  display: none;
  position: fixed;
  top: 3%;
  left: 5%;
  width: 90%;
  height: 94%;
  overflow: auto;
  z-index: 101;
}

.FacilitySearch::before {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  content: "";
  z-index: 102;
}

.FacilitySearch select {
  display: inline-block;
  padding: 0.35em 2.7em 0.25em 0.5em;
  height: auto;
  min-height: 34px;
  max-width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 0;
  background: url(/common/images/icon_arrow13.svg) no-repeat right 10px top 50%
    #fff;
  background-size: 16px 10px;
  font-family: inherit;
  white-space: normal;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.FacilitySearch select::-ms-expand {
  display: none;
}

.FacilitySearch__content {
  position: relative;
  padding: 10px;
  border: 1px solid #ccc;
  background-color: #fff;
  z-index: 103;
}

.FacilitySearch__title {
  font-size: 1.125rem;
  margin-bottom: 20px;
  padding: 10px;
  background-color: var(--color-accent-cyan);
  color: #fff;
  text-align: center;
}

.FacilitySearch__hint {
  margin-bottom: 20px;
}

.FacilitySearch__hint.-center {
  text-align: center;
}

.FacilitySearch__result {
  padding: 20px 0 0;
  border-top: 1px solid var(--color-border);
}

.FacilitySearch__hits {
  font-size: 0.75rem;
  border-bottom: 1px solid var(--color-border);
}

.FacilitySearch__items {
  margin-bottom: 20px;
}

.FacilitySearch__item {
  position: relative;
  padding: 10px 11.5em 10px 10px;
}

.FacilitySearch__item:nth-child(even) {
  background-color: var(--color-bg-mute);
}

.FacilitySearch__itemName {
  font-size: 1rem;
  color: var(--color-primary);
}

.FacilitySearch__itemTel {
  padding-left: 1em;
}

.FacilitySearch__itemSec {
  display: block;
}

.FacilitySearch__itemPref {
  display: inline-block;
}

.FacilitySearch__itemAddr {
  padding-left: 1em;
}

.FacilitySearch__itemSelect {
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -2em;
  padding: 1em 4em;
  border-radius: 2px;
  background-color: var(--color-primary);
  color: #fff;
  text-decoration: none;
}

.FacilitySearch__buttons {
  text-align: center;
}

.FacilitySearch__buttons .SimpleForm__button.-type01 {
  font-size: 1.125rem;
  display: block;
  margin: 0 auto 20px;
  padding: 15px;
  width: 230px;
  border-radius: 2px;
}

.FacilitySearch__buttons .SimpleForm__button.-type02 {
  display: inline-block;
  margin: 0 auto 10px;
  padding-left: 36px;
  border-radius: 2px;
  background-image: url(/common/images/icon_close01.svg);
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 16px 16px;
  background-color: #aaa;
}

.FacilitySearch__buttons .SimpleForm__button.-type03 {
  font-size: 1.125rem;
  display: inline-block;
  margin-bottom: 20px;
  padding: 15px 30px;
  border-radius: 2px;
  background-color: var(--color-secondary);
}

.WorkPlace {
  display: none;
  margin-top: 10px;
}

.MemberRules__title {
  font-size: 1.25rem;
  padding: 12px;
  border: 1px solid var(--color-border);
  border-width: 1px 1px 0;
  background-color: var(--color-primary-bg);
  text-align: center;
}

.MemberRules__content {
  margin-bottom: 10px;
  padding: 15px;
  height: 300px;
  border: 1px solid var(--color-border);
  overflow: auto;
}

.MemberRules__content h3 {
  margin-bottom: 1em;
  font-weight: 700;
}

.MemberRules__content p {
  margin-bottom: 1em;
}

.MemberRules__content h4 {
  margin-bottom: 1em;
}

.MemberRules__content ol {
  padding-left: 1.5em;
}

.MemberRules__content ol li {
  list-style-type: decimal;
}

.MemberRules__agree {
  margin-bottom: 15px;
  padding: 5px 0;
  text-align: center;
}

.MemberRules__agree.-error {
  background-color: #faeded;
}

.MemberRules__agree.-mb30 {
  margin-bottom: 30px;
}

.LoginContainer {
  padding: 40px 80px;
  background-color: var(--color-bg-light);
  border: 1px solid var(--color-border);
}

.LoginContainer__text {
  margin-bottom: 40px;
}

.LoginContainer__text.-center {
  text-align: center;
}

.LoginContainer__text.-ex-center {
  text-align: center;
}

.LoginContainer__text.-align-field {
  margin-left: 20em;
}

.LoginContainer__text.-mb0 {
  margin-bottom: 0;
}

.LoginContainer__text.-mb20 {
  margin-bottom: 20px;
}

.LoginContainer__text.-mb60 {
  margin-bottom: 60px;
}

.LoginForm {
  margin: 20px auto 30px;
  width: 400px;
}

.LoginForm input {
  padding: 8px 12px;
  width: 100%;
  border: 1px solid var(--color-border);
}

.LoginForm__element {
  margin-bottom: 10px;
}

.LoginForm__text {
  margin-bottom: 20px;
}

.LoginForm__errorText {
  margin-top: 6px;
  color: var(--color-danger);
}

.LoginForm__errorText.-top {
  margin-bottom: 6px;
}

.ContactIndex {
  margin: 0 auto;
  max-width: 1000px;
}

.ContactIndex__title {
  margin-bottom: 22px;
  line-height: 1.5em;
}

.ContactIndex__content {
  margin: 0 10px;
}

.ContactIndex__message {
  margin-bottom: 20px;
  font-size: 0.812rem;
}

.ContactIndex__message ul {
  margin: 1rem 1.25rem;
}

.ContactIndex__message ul li {
  list-style: disc;
}

.ContactIndex__message ul.attention {
  padding-left: 1.5em;
  margin-left: 0.5em;
}

.ContactIndex__message ul.attention li {
  list-style: none;
  text-indent: -1.5em;
}

.ContactIndex__message ul.attention li:before{
    content: "※";
    margin-right: 0.5em;
}

.ContactIndex__sec {
  font-size: 0.812rem;
  margin-bottom: 18px;
  padding: 0 20px;
}

.ContactIndex__secTitle {
  font-size: 0.812rem;
  position: relative;
  margin: 0 6px 20px;
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.ContactIndex__arrowLink,
.ContactIndex__links a {
  display: block;
  padding: 0 0 0 10px;
  background: url(/common/images/icon_arrow07.svg) no-repeat 0 0.55em;
  background-size: 7px 11px;
}

.ContactIndex__links li {
  margin-bottom: 10px;
}

.ContactIndex__products {
  margin-bottom: 30px;
}

.ContactIndex__products li {
  display: inline-block;
  margin: 0 70px 10px 0;
}

.ContactIndex__productLabel {
  display: block;
  font-weight: 700;
}

.ContactIndex__productLabel.-color-ff {
  color: #f08200;
}

.ContactIndex__productLabel.-color-ek {
  color: #4aa946;
}

.ContactIndex__productLabel.-color-dl {
  color: var(--color-field-otorhinolaryngology);
}

.ContactIndex__tel {
  margin: 30px 150px 38px;
  padding: 12px 12px 7px;
  border: 1px solid var(--color-primary-dark);
  border-radius: 3px;
  background: url(/common/images/bg_dot01.png) repeat 0 0;
}

.ContactIndex__tel dt {
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #00266d;
  font-weight: 700;
}

.ContactIndex__tel dt span {
  font-weight: normal;
  margin-left: 1em
}

.ContactIndex__tel dd {
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
}

.ContactIndex__tel dd img {
  margin-right: 10px;
  padding-bottom: 5px;
  vertical-align: middle;
}

.ContactIndex__tel p {
  text-align: center;
  font-weight: bold;
  margin-top: .5em;
}

.LibraryContent {
  margin: 0 auto;
  max-width: 1000px;
}

.LibraryContent .AcademicInfo__title,
.LibraryContent .AcademicList__title,
.LibraryContent .ContactIndex__title,
.LibraryContent .ContentTitle02,
.LibraryContent .LibraryList__title,
.LibraryContent .MemberFAQ__title,
.LibraryContent .ModuleContent__title,
.LibraryContent .ProductContent__title,
.LibraryContent .SearchContent__title,
.LibraryContent .SeminarContent__title,
.LibraryContent .SiteMap__title {
  margin-bottom: 10px;
}

.LibraryContent__summary {
  font-size: 0.812rem;
  margin: 15px 1em;
}

.LibrarySearch__search,
.SearchContent__search {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.LibrarySearch__search button,
.LibrarySearch__search input[type="text"],
.SearchContent__search button,
.SearchContent__search input[type="text"] {
  border: 0;
  height: 34px;
  vertical-align: top;
}

.LibrarySearch__search input[type="text"],
.SearchContent__search input[type="text"] {
  font-size: 0.812rem;
  padding: 0.5em;
  border: solid var(--color-border);
  border-width: 1px 0 1px 1px;
}

.LibrarySearch__search button,
.SearchContent__search button {
  font-size: 0.812rem;
  display: block;
  padding: 6px 20px 3px;
  border-radius: 3px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 0.5em 1em 0.5em 2.5em;
  border-radius: 0 3px 3px 0;
  background-repeat: no-repeat;
  transition: opacity 0.5s ease-out 0s;
}

.LibrarySearch__search button:hover,
.SearchContent__search button:hover {
  opacity: 0.6;
}

.LibrarySearch__searchCategory,
.SearchContent__searchCategory {
  position: relative;
  padding-right: 34px;
}

.LibrarySearch__searchCategory::after,
.SearchContent__searchCategory::after {
  font-size: 1.375rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 6px;
  margin-top: -0.5em;
  width: 1em;
  height: 1em;
  color: #ccc;
  line-height: 1em;
  text-align: center;
}

.LibrarySearch__searchCategory input[type="text"],
.SearchContent__searchCategory input[type="text"] {
  width: 170px;
}

.LibrarySearch__searchCategory button,
.SearchContent__searchCategory button {
  background-image: url(/common/images/icon_arrow16.svg);
  background-size: 16px 10px;
  background-position: 10px center;
}

.LibrarySearch__searchKeyword input[type="text"],
.SearchContent__searchKeyword input[type="text"] {
  width: 250px;
}

.LibrarySearch__searchKeyword button,
.SearchContent__searchKeyword button {
  background-image: url(/common/images/icon_search01.svg);
  background-size: 18px 18px;
  background-position: 8px center;
}

.LibraryBanner {
  margin: 0 auto 50px;
  max-width: 1000px;
}

.LibraryBanner__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 15px;
}

.LibraryBanner__item {
  margin-right: 15px;
  margin-bottom: 15px;
  width: calc(50% - 7.5px);
}

.LibraryBanner__item:nth-child(2n) {
  margin-right: 0;
}

.LibraryBanner__item a {
  transition: opacity 0.5s ease-out 0s;
}

.LibraryBanner__item a:hover {
  opacity: 0.6;
}

.LibraryList {
  margin: 0 auto;
  max-width: 1000px;
}

.LibraryList__title {
  margin-bottom: 20px;
  line-height: 1.5em;
}

.LibraryList__search {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
  padding: 10px;
  min-height: 54px;
  background-color: var(--color-border-pale);
  text-align: center;
}

.LibraryList__search.-mb30 {
  margin-bottom: 30px;
}

.LibraryList__searchCategory {
  position: relative;
  padding-right: 20px;
}

.LibraryList__searchCategorySelect {
  display: inline-block;
  position: relative;
  height: 34px;
  background-color: #fff;
  transition: opacity 0.5s ease-out 0s;
}

.LibraryList__searchCategorySelect:hover {
  opacity: 0.6;
}

.LibraryList__searchCategorySelect form {
  height: 34px;
}

.LibraryList__searchCategorySelect label {
  font-size: 0.812rem;
  position: absolute;
  top: 0;
  right: 0;
  padding: 11px 26px 10px 43px;
  width: 155px;
  height: 34px;
  border-radius: 0 3px 3px 0;
  background: url(/common/images/icon_arrow16.svg) no-repeat 15px center #0058c3;
  background-size: 12px 7px;
  color: #fff;
  line-height: 1em;
  z-index: 1;
}

.LibraryList__searchCategorySelect .LibraryList__searchCategoryView {
  font-size: 0.812rem;
  position: absolute;
  padding: 11px 10px 10px;
  width: calc(100% - 155px);
  height: 34px;
  background-color: #fff;
  color: #828282;
  line-height: 1em;
  text-align: left;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.LibraryList__searchCategorySelect select {
  font-size: 0.812rem;
  display: inline-block;
  position: relative;
  padding: 0 165px 0 10px;
  height: 34px;
  width: 360px;
  border: 1px solid var(--color-border);
  border-radius: 0 3px 3px 0;
  background: 0 0;
  color: #828282;
  font-family: inherit;
  white-space: nowrap;
  line-height: 1em;
  vertical-align: top;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 10;
  cursor: pointer;
}

.LibraryList__searchCategorySelect select::-ms-expand {
  display: none;
}

.LibraryList__searchCategorySelect option {
  font-size: 0.812rem;
  color: #000;
}

.LibraryList__searchKeyword input[type="text"] {
  font-size: 0.812rem;
  padding: 0.5em;
  width: 250px;
  height: 34px;
  border: solid var(--color-border);
  border-width: 1px 0 1px 1px;
  vertical-align: top;
}

.LibraryList__searchKeyword button {
  font-size: 0.812rem;
  display: block;
  padding: 6px 20px 3px;
  border-radius: 3px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 0.5em 1em 0.5em 2.5em;
  height: 34px;
  border: 0;
  border-radius: 0 3px 3px 0;
  background-image: url(/common/images/icon_search01.svg);
  background-size: 18px 18px;
  background-position: 8px center;
  background-repeat: no-repeat;
  vertical-align: top;
  transition: opacity 0.5s ease-out 0s;
}

.LibraryList__searchKeyword button:hover {
  opacity: 0.6;
}

.LibraryList__button {
  margin-bottom: 20px;
  text-align: center;
}

.LibraryList__button a {
  font-size: 0.812rem;
  display: block;
  padding: 6px 20px 3px;
  border-radius: 3px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  position: relative;
  padding: 5px 30px 5px 45px;
  min-width: 360px;
  transition: opacity 0.5s ease-out 0s;
}

.LibraryList__button a:hover {
  opacity: 0.6;
}

.LibraryList__button a::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -6px;
  width: 7px;
  height: 12px;
  background: url(/common/images/icon_arrow15.svg) no-repeat 0 0;
  background-size: 7px 12px;
  content: "";
}

.LibraryList__comment {
  font-size: 0.812rem;
  text-align: left;
}

.LibraryList__commentTitle {
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.LibraryList__commentContent {
  padding: 20px;
}

.LibraryList__commentContent p {
  text-indent: 1em;
}

.LibraryList__commentContent .-mb2em {
  margin-bottom: 2em;


}

.LibraryList__commentAuthor {
  margin-top: 60px;
  text-align: right;
}

.LibraryList__itemsTitle.-mb30 {
  margin-bottom: 30px;
}

.LibraryList__items {
  margin-bottom: 40px;
}

.LibraryList__items.-type-colum .LibraryList__itemWrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.LibraryList__items.-type-colum .LibraryList__item {
  width: calc(33.3% - 10px);
}

.LibraryList__items.-colum2 .LibraryList__item {
  width: calc(50% - 10px);
}

.LibraryList__itemWrapper {
  margin: 0 15px;
}

.LibraryList__item {
  margin-bottom: 15px;
}

.LibraryList__item::after {
  display: block;
  clear: both;
  content: "";
}

.LibraryList__itemTitle {
  font-size: 0.812rem;
  position: relative;
  margin-bottom: 10px;
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.LibraryList__itemTable {
  display: table;
  width: 100%;
}

.LibraryList__itemContent,
.LibraryList__itemThum {
  display: table-cell;
  vertical-align: top;
}

.LibraryList__itemThum {
  padding-right: 10px;
  width: 122px;
  background-color: #fff;
}

.LibraryList__itemThum img {
  border: 5px solid #e4e4e4;
}

.LibraryList__itemContent {
  font-size: 0.812rem;
  position: relative;
  padding-bottom: 50px;
}

.LibraryList__itemContent p {
  margin-bottom: 1em;
}

.LibraryList__itemContent ul {
  margin-bottom: 1em;
  margin-left: 0.5em;
}

.LibraryList__itemContent ul li {
  list-style-type: disc;
  list-style-position: inside;
}

.LibraryList__itemCaption {
  font-size: 0.625rem;
  margin-top: 3px;
  text-align: center;
}

.LibraryList__itemSummary {
  margin-bottom: 20px;
}

.LibraryList__itemSummary li {
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 1px dashed var(--color-border);
}

.LibraryList__itemSummary li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.LibraryList__itemLabel {
  font-size: 0.625rem;
  display: inline-block;
  margin-right: 8px;
  padding: 3px 9px;
  border: 1px solid var(--color-danger);
  border-radius: 3px;
  background-color: var(--color-danger);
  color: #fff;
  line-height: 1em;
}

.LibraryList__itemLink {
  position: absolute;
  right: 0;
  bottom: 0;
}

.LibraryList__itemLink a {
  font-size: 0.875rem;
  display: inline-block;
  position: relative;
  padding: 8px 60px;
  width: 300px;
  border: 1px solid var(--color-primary);
  background-size: 6px 10px;
  background: url(/common/images/icon_arrow07.svg) no-repeat 10px center;
  background-size: 6px 10px;
  color: var(--color-primary);
  text-align: center;
  text-decoration: none;
  line-height: 1em;
  transition: opacity 0.5s ease-out 0s;
}

.LibraryList__itemLink a:hover {
  opacity: 0.6;
}

.LibraryList__itemDL {
  position: absolute;
  right: 0;
  bottom: 0;
}

.LibraryList__itemDL a {
  font-size: 0.875rem;
  display: inline-block;
  position: relative;
  padding: 8px 60px;
  width: 300px;
  border: 1px solid var(--color-primary);
  background: url(/common/images/icon_arrow07.svg) no-repeat 10px center;
  background-size: 6px 10px;
  color: var(--color-primary);
  text-align: center;
  text-decoration: none;
  line-height: 1em;
  transition: opacity 0.5s ease-out 0s;
}

.LibraryList__itemDL a:hover {
  opacity: 0.6;
}

.LibraryList__itemDL a::after {
  display: block;
  position: absolute;
  top: 8px;
  right: 10px;
  width: 14px;
  height: 14px;
  background: url(/common/images/icon_download01.png) no-repeat 0 0;
  background-size: 14px 14px;
  content: "";
}

.LibraryList__fixedState {
  font-size: 0.812rem;
  margin-bottom: 30px;
  padding-top: 50px;
  border-top: 1px dashed var(--color-border);
}

.LibraryList__fixedState p {
  margin-bottom: 1em;
}

.LibraryList__fixedState small {
  font-size: 0.812rem;
  display: block;
  text-align: center;
}

.CheckContent__secContent {
  position: relative;
  padding: 30px 30px 25px;
  width: 49%;
  background-color: #fff;
}

.CheckContent__secContent dt {
  font-size: 1.25rem;
  margin-bottom: 30px;
  text-align: center;
}

.CheckContent__secContent li {
  margin-bottom: 15px;
}

.CheckContent__secContent li a {
  font-size: 0.812rem;
  display: block;
  padding: 6px 20px 3px;
  border-radius: 3px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 1rem;
  position: relative;
  padding: 10px 25px 10px 10px;
  transition: opacity 0.5s ease-out 0s;
}

.CheckContent__secContent li a:hover {
  opacity: 0.6;
}

.CheckContent__secContent li a::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -8px;
  width: 10px;
  height: 16px;
  background: url(/common/images/icon_arrow15.svg) no-repeat 0 0;
  background-size: 10px 16px;
  content: "";
}

.CheckContent__secContent:nth-child(2) li a {
  background-color: #aaa;
}

.SearchContent {
  margin: 0 auto;
  max-width: 1000px;
}

.SearchContent__title {
  margin-bottom: 20px;
}

.SearchContent__subTitle {
  margin-bottom: 10px;
  padding-left: 5px;
}

.SearchContent__hits {
  font-size: 0.812rem;
  margin: 0 0 30px 18px;
}

.SearchContent__hitTotal {
  padding: 0 0.2em 0 0;
}

.SearchContent__hitStart {
  padding: 0 0.2em 0 1em;
}

.SearchContent__hitEnd {
  padding: 0 0.2em 0 0;
}

.SearchContent__search {
  margin-bottom: 45px;
}

.SearchContent__results {
  margin-bottom: 40px;
}

.SearchContent__resultItem {
  margin-bottom: 20px;
}

.SearchContent__resultItemHdg {
  font-size: 0.875rem;
  position: relative;
  margin-bottom: 10px;
  line-height: 1.5em;
}

.SearchContent__resultItemHdg a {
  display: block;
  padding: 15px 4em 15px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  text-decoration: none;
}

.SearchContent__resultItemLabel {
  font-size: 0.625rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: calc(-0.5em - 4px);
  margin-left: 8px;
  padding: 3px 9px;
  border: 1px solid var(--color-danger);
  border-radius: 3px;
  background-color: #fff;
  color: var(--color-danger);
  line-height: 1em;
}

.SearchContent__resultItemSec {
  display: table;
}

.SearchContent__resultItemContent,
.SearchContent__resultItemThum {
  display: table-cell;
  vertical-align: top;
}

.SearchContent__resultItemThum {
  width: 188px;
}

.SearchContent__resultItemThum a {
  display: block;
  position: relative;
  overflow: hidden;
}

.SearchContent__resultItemThum a:hover img {
  transform: scale(1.2, 1.2);
}

.SearchContent__resultItemThum.-is-member-only a::after,
.SearchContent__resultItemThum.-is-member-only a::before {
  display: block;
  position: absolute;
  content: "";
  z-index: 1;
}

.SearchContent__resultItemThum.-is-member-only a::before {
  top: -50px;
  left: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 50px solid var(--color-danger);
}

.SearchContent__resultItemThum.-is-member-only a::after {
  top: 3px;
  left: 6px;
  width: 13px;
  height: 18px;
  background: url(/common/images/icon_key01.svg) no-repeat 0 0;
  background-size: 13px 18px;
}

.SearchContent__resultItemThumFrame {
  max-height: 110px;
  border: 5px solid #e4e4e4;
  overflow: hidden;
}

.SearchContent__resultItemThumFrame img {
  width: 100%;
  transition: -webkit-transform 0.5s ease-out 0s;
  transition: transform 0.5s ease-out 0s;
  transition: transform 0.5s ease-out 0s, -webkit-transform 0.5s ease-out 0s;
}

.SearchContent__resultItemContent {
  font-size: 0.812rem;
  position: relative;
  padding: 0 0 2em 10px;
  line-height: 1.6em;
}

.SearchContent__resultItemUrl {
  position: absolute;
  bottom: 0;
  left: 10px;
}

.SearchContent__resultItemUrl a {
  color: #e4e4e4;
  text-decoration: none;
}

.SearchContent__resultItemUrl a:hover {
  text-decoration: underline;
}

.SeminarContent {
  margin: 0 auto;
  max-width: 1000px;
}

.SeminarContent__title {
  margin-bottom: 20px;
}

.SeminarContent__summary {
  font-size: 0.812rem;
  margin-bottom: 20px;
}

.SeminarContent__pageNavs {
  display: flex;
  margin-bottom: 20px;
  justify-content: center;
}

.SeminarContent__pageNavs li {
  display: flex;
  width: 40%;
  border: solid var(--color-border);
  border-width: 1px 0 1px 1px;
}

.SeminarContent__pageNavs li:last-child {
  border-right: 1px solid var(--color-border);
}

.SeminarContent__pageNavs a {
  font-size: 0.812rem;
  display: flex;
  padding: 8px 10px;
  width: 100%;
  color: var(--color-primary);
  text-decoration: none;
  line-height: 1.5em;
}

.SeminarContent__pageNavs a:hover {
  background-color: var(--color-primary);
  color: #fff;
}

.SeminarContent__pageNavs a:hover span {
  background-image: url(/common/images/icon_arrow15.svg);
}

.SeminarContent__pageNavs span {
  padding: 0 0 0 12px;
  background: url(/common/images/icon_arrow07.svg) no-repeat 0 center;
  background-size: 6px 10px;
}

.SeminarContent__maItems {
  margin: 0 15px 20px;
}

.SeminarContent__maItems::after {
  display: block;
  clear: both;
  content: "";
}

.SeminarContent__maItem {
  float: left;
  margin: 0 20px 20px 0;
  width: calc(50% - 10px);
}

.SeminarContent__maItem:nth-child(2n) {
  margin-right: 0;
}

.SeminarContent__seminarItems {
  margin: 0 15px 40px;
}

.SeminarContent__seminarItem {
  margin-bottom: 20px;
}

.SeminarContent__itemTitle {
  font-size: 0.875rem;
  position: relative;
  margin-bottom: 20px;
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.SeminarContent__itemTitle.-mb10 {
  margin-bottom: 10px;
}

.SeminarContent__itemContent {
  display: table;
  width: 100%;
}

.SeminarContent__itemContent.-is-member-only .SeminarContent__itemFirst {
  position: relative;
  overflow: hidden;
}

.SeminarContent__itemContent.-is-member-only .SeminarContent__itemFirst::after,
.SeminarContent__itemContent.-is-member-only
  .SeminarContent__itemFirst::before {
  display: block;
  position: absolute;
  content: "";
  z-index: 1;
}

.SeminarContent__itemContent.-is-member-only
  .SeminarContent__itemFirst::before {
  top: -50px;
  left: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 50px solid var(--color-danger);
}

.SeminarContent__itemContent.-is-member-only .SeminarContent__itemFirst::after {
  top: 3px;
  left: 6px;
  width: 13px;
  height: 18px;
  background: url(/common/images/icon_key01.svg) no-repeat 0 0;
  background-size: 13px 18px;
}

.SeminarContent__itemContent.-has-caption .SeminarContent__itemSecond {
  padding-bottom: 60px;
}

.SeminarContent__itemContent.-has-caption .SeminarContent__pdfLink {
  bottom: 20px;
}

.SeminarContent__itemContent.-seminar .SeminarContent__itemFirst {
  width: 200px;
}

.SeminarContent__itemFirst,
.SeminarContent__itemSecond {
  display: table-cell;
  vertical-align: top;
}

.SeminarContent__itemFirst {
  position: relative;
  padding-right: 20px;
  width: 130px;
}

.SeminarContent__itemSecond {
  position: relative;
  padding-bottom: 50px;
}

.SeminarContent__itemThum {
  width: 100%;
  border: 5px solid #ddd;
}

.SeminarContent__seminarCategory {
  font-size: 0.75rem;
  position: absolute;
  top: 0;
  right: 20px;
  padding: 12px 6px;
  background-color: var(--color-danger);
  color: #fff;
  line-height: 1em;
}

.SeminarContent__itemCaption {
  font-size: 0.625rem;
  display: block;
  margin-top: 5px;
  text-align: center;
  line-height: 1.5em;
  white-space: nowrap;
}

.SeminarContent__itemSummary {
  font-size: 0.875rem;
  line-height: 1.5em;
}

.SeminarContent__pdfLink {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  bottom: 0;
  right: 0;
}

.SeminarContent__pdfLink a {
  font-size: 0.875rem;
  display: block;
  position: relative;
  padding: 8px 50px;
  border: 1px solid var(--color-primary);
  background: url(/common/images/icon_arrow07.svg) no-repeat 10px center;
  background-size: 6px 10px;
  color: var(--color-primary);
  text-align: center;
  text-decoration: none;
  line-height: 1em;
  transition: opacity 0.5s ease-out 0s;
  margin-left: 16px;
}

.SeminarContent__pdfLink a:hover {
  opacity: 0.6;
}

.SeminarContent__icon::after {
  display: block;
  position: absolute;
  top: 8px;
  right: 10px;
  width: 14px;
  height: 14px;
  background: url(/common/images/icon_download01.png) no-repeat 0 0;
  background-size: 14px 14px;
  content: "";
}

.SeminarContent__webiner-icon::after {
  display: block;
  position: absolute;
  top: 8px;
  right: 10px;
  width: 14px;
  height: 14px;
  background: url(/common/images/icon_webiner.png) no-repeat 0 0;
  background-size: 14px 14px;
  content: "";
}

.SeminarContent__noEntry {
  font-size: 0.812rem;
  margin: 30px 15px;
  text-align: center;
}

.SeminarContent__noEntry span {
  display: inline-block;
  padding: 10px 40px;
  border: 1px solid var(--color-border);
}

.Seminar__WebinerButton {
  margin: 0 auto 40px;
  width: 50%;
  height: 50px;
}

.Seminar__WebinerButton a {
  display: block;
  border: 3px solid var(--color-accent-cyan);
  border-radius: 17px;
  background-color: var(--color-primary);
  color: #fff;
  text-decoration: none;
  line-height: 50px;
  transition: opacity 0.5s ease-out 0s;
  text-align: center;
  font-size: 0.812rem;
}

.Seminar__WebinerButton a:hover {
  background-color: #fff;
  color: var(--color-primary);
}

.SeminarContent__m-review {
  margin: 0 15px 20px;
  padding: 8px;
  text-align: center;
}

.SeminarContent__m-review img {
  width: 100%;
  max-width: 580px;
}

.SeminarContent__m-review img:hover {
  opacity: 0.8;
}

.SeminarContent__m-review p {
  font-size: 0.812rem;
}

.SeminarContent__m-review::after {
  display: block;
  clear: both;
  content: "";
}

.Webseminar__buttonArea {
  margin: 0 0 40px;
  width: 100%;
  display: flex;
  justify-content: space-around;
}

.Webseminar__buttonArea a {
  display: block;
  width: 50%;
  margin: 0 16px;
  border: 3px solid var(--color-accent-cyan);
  border-radius: 17px;
  background-color: var(--color-primary);
  color: #fff;
  text-decoration: none;
  line-height: 50px;
  transition: opacity 0.5s ease-out 0s;
  text-align: center;
  font-size: 0.812rem;
}

.Webseminar__buttonArea a:hover {
  background-color: #fff;
  color: var(--color-primary);
}

.AcademicInfo {
  margin: 0 auto;
  max-width: 1000px;
}

.AcademicInfo__title {
  margin-bottom: 20px;
}

.AcademicInfo__summary {
  font-size: 0.812rem;
  margin: 0 15px 20px;
}

.AcademicInfo__sec {
  margin: 0 15px 20px;
}

.AcademicInfo__secTitle {
  position: relative;
  margin-bottom: 20px;
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.AcademicInfo__secTitle.-external {
  border-color: #006979;
  background-image: url(/common/images/bg_dot09.png);
  color: #006979;
}

.AcademicInfo__secColums {
  display: flex;
  justify-content: space-between;
}

.AcademicInfo__secColum {
  margin-bottom: 15px;
  width: calc(50% - 10px);
  border: 1px solid var(--color-border);
}

.AcademicInfo__secColum.-vs-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.AcademicInfo__secColum.-type-ajrccm .AcademicInfo__secAbout {
  margin: 20px;
  max-width: 414px;
}

.AcademicInfo__secColum.-type-ajrccm .AcademicInfo__secSummary {
  margin-top: 10px;
}

.AcademicInfo__secImg {
  margin: 10px 10px 0;
}

.AcademicInfo__secImg::after {
  display: block;
  clear: both;
  content: "";
}

.AcademicInfo__secImg img {
  float: right;
  margin-left: 10px;
  border: solid var(--color-border);
  border-width: 1px 1px 0;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.AcademicInfo__secImg.-type-krn .AcademicInfo__secSummary {
  padding: 40px 0;
}

.AcademicInfo__secImg.-type-ds img {
  position: relative;
  margin-top: -55px;
  z-index: 10;
}

.AcademicInfo__secImg.-type-ds .AcademicInfo__secSummary {
  padding: 10px 0;
}

.AcademicInfo__secSummary {
  font-size: 0.812rem;
}

.AcademicInfo__secSummary.-vs-center {
  padding: 40px;
}

.AcademicInfo__secNews {
  padding: 10px 20px;
}

.AcademicInfo__secNews.-is-member-only {
  background: url(/common/images/icon_key03.svg) no-repeat top 15px right 20px;
  background-size: 13px 18px;
}

.AcademicInfo__secNewsTitle {
  margin-bottom: 15px;
}

.AcademicInfo__secNewsContent {
  font-size: 0.812rem;
  max-height: 210px;
  overflow: auto;
}

.AcademicInfo__secNewsContent dt {
  padding: 0 15px 10px;
  border-bottom: 1px dashed var(--color-border);
}

.AcademicInfo__secNewsContent dd {
  padding: 15px;
}

.AcademicInfo__secNewsContent ol {
  padding-left: 18px;
}

.AcademicInfo__secNewsContent ol li {
  list-style-type: decimal;
}

.AcademicInfo__secNewsContent ul ul {
  padding-left: 15px;
}

.AcademicInfo__secNewsContent ul ul li {
  list-style-type: disc;
}

.AcademicInfo__secNewsLabel {
  font-size: 0.625rem;
  display: inline-block;
  margin-left: 8px;
  padding: 4px 9px;
  border-radius: 3px;
  background-color: var(--color-danger);
  color: #fff;
  line-height: 1em;
}

.AcademicInfo__secAttention {
  font-size: 0.812rem;
  margin-bottom: 15px;
}

.AcademicInfo__secMore {
  margin-bottom: 20px;
}

.AcademicInfo__secMore a {
  font-size: 0.812rem;
  display: block;
  padding: 6px 20px 3px;
  border-radius: 3px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  position: relative;
  margin: 0 auto;
  width: 395px;
  border: 0;
  background-image: url(/common/images/icon_arrow15.svg);
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 6px 10px;
  transition: opacity 0.5s ease-out 0s;
}

.AcademicInfo__secMore a:hover {
  opacity: 0.6;
}

.AcademicInfo__secMore.-external a {
  position: relative;
  background-color: #006979;
}

.AcademicInfo__secMore.-external.closing a {
  background-color: #a6a6a6;
}

.AcademicInfo__secMore.-external a::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  background: url(/common/images/icon_external01.png) no-repeat 0 0;
  background-size: 16px 16px;
  content: "";
}

.AcademicList {
  margin: 0 auto;
  max-width: 1000px;
}

.AcademicList__title {
  margin-bottom: 20px;
  line-height: 1.5em;
}

.AcademicList__filter {
  margin-bottom: 20px;
  padding: 10px 0;
  background-color: var(--color-border-pale);
  text-align: center;
}

.AcademicList__filterSelect {
  display: inline-block;
  position: relative;
  max-width: calc(100% - 20px);
  background-color: #fff;
  transition: opacity 0.5s ease-out 0s;
}

.AcademicList__filterSelect:hover {
  opacity: 0.6;
}

.AcademicList__filterSelect form {
  height: 36px;
}

.AcademicList__filterSelect label {
  font-size: 0.875rem;
  position: absolute;
  top: 0;
  right: 0;
  padding: 11px 26px 11px 43px;
  height: 36px;
  background: url(/common/images/icon_arrow16.svg) no-repeat 15px center #0058c3;
  background-size: 12px 7px;
  color: #fff;
  line-height: 1em;
  z-index: 1;
}

.AcademicList__filterSelect select {
  font-size: 0.875rem;
  display: inline-block;
  position: relative;
  padding: 10px 130px 10px 10px;
  height: 36px;
  max-width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 0;
  background: 0 0;
  color: #828282;
  font-family: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1em;
  vertical-align: top;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 10;
  cursor: pointer;
}

.AcademicList__filterSelect select::-ms-expand {
  display: none;
}

.AcademicList__filterSelect div {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.AcademicList__contentsTopBtn {
  padding: 0 10px;
}

.AcademicList__contentsTopBtn.-mb30 {
  margin-bottom: 30px;
}

.AcademicList__contentsTopBtn a {
  font-size: 0.812rem;
  display: block;
  padding: 6px 20px 3px;
  border-radius: 3px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  position: relative;
  margin: 0 auto 20px;
  max-width: 600px;
  font-style: italic;
  transition: opacity 0.5s ease-out 0s;
}

.AcademicList__contentsTopBtn a:active,
.AcademicList__contentsTopBtn a:hover {
  opacity: 0.6;
}

.AcademicList__contentsTopBtn a::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -6px;
  width: 7px;
  height: 12px;
  background: url(/common/images/icon_arrow15.svg) no-repeat 0 0;
  background-size: 7px 12px;
  content: "";
  transform: rotate(180deg);
}

.AcademicList__items {
  margin-bottom: 30px;
}

.AcademicList__items.-type-colum .AcademicList__itemWrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.AcademicList__items.-type-colum .AcademicList__item {
  width: calc(33.3% - 10px);
}

.AcademicList__items.-type-colum .AcademicList__itemTitle {
  font-size: 0.812rem;
  padding-top: 6px;
  padding-bottom: 6px;
  min-height: 3.9em;
}

.AcademicList__items.-type-colum .AcademicList__itemThum {
  margin-bottom: 20px;
}

.AcademicList__items.-type-colum .AcademicList__itemDL a,
.AcademicList__items.-type-colum .AcademicList__itemLink a {
  width: 100%;
}

.AcademicList__itemWrapper {
  margin: 0 15px;
}

.AcademicList__item {
  margin-bottom: 15px;
}

.AcademicList__item::after {
  display: block;
  clear: both;
  content: "";
}

.AcademicList__itemTitle {
  position: relative;
  margin-bottom: 10px;
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.AcademicList__itemThum {
  float: left;
  width: 122px;
  background-color: #fff;
}

.AcademicList__itemThum img {
  border: 5px solid #e4e4e4;
}

.AcademicList__itemCaption {
  font-size: 0.625rem;
  margin-top: 3px;
  text-align: center;
}

.AcademicList__itemContent {
  font-size: 0.812rem;
  float: right;
  width: calc(100% - 132px);
}

.AcademicList__itemSummary {
  margin-bottom: 20px;
}

.AcademicList__itemSummary li {
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 1px dashed var(--color-border);
}

.AcademicList__itemSummary li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.AcademicList__itemLabel {
  font-size: 0.625rem;
  display: inline-block;
  margin-right: 8px;
  padding: 3px 9px;
  border: 1px solid var(--color-danger);
  border-radius: 3px;
  background-color: var(--color-danger);
  color: #fff;
  line-height: 1em;
}

.AcademicList__itemDL a,
.AcademicList__itemLink a,
.AcademicList__showIndex a {
  font-size: 0.875rem;
  display: inline-block;
  position: relative;
  padding: 8px 20px;
  border: 1px solid var(--color-primary);
  background: url(/common/images/icon_arrow07.svg) no-repeat 10px center;
  background-size: 6px 10px;
  color: var(--color-primary);
  text-align: center;
  text-decoration: none;
  line-height: 1em;
  transition: opacity 0.5s ease-out 0s;
}

.AcademicList__itemDL a:hover,
.AcademicList__itemLink a:hover,
.AcademicList__showIndex a:hover {
  opacity: 0.6;
}

.AcademicList__itemDL a,
.AcademicList__itemLink a {
  width: 300px;
  background-image: none;
}

.AcademicList__itemDL a {
  width: 100%;
}

.AcademicList__itemDL a::after {
  display: block;
  position: absolute;
  top: 8px;
  right: 10px;
  width: 14px;
  height: 14px;
  background: url(/common/images/icon_download01.png) no-repeat 0 0;
  background-size: 14px 14px;
  content: "";
}

.AcademicList__showIndex {
  margin: 10px 0;
}

.AcademicList__showIndex a {
  display: block;
}

.AcademicList__indexTitle {
  margin-bottom: 10px;
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.AcademicList__indexContent {
  padding: 20px;
}

.AcademicList__indexContent dt {
  padding: 6px 0;
  border-bottom: 1px dashed var(--color-border);
  font-weight: 700;
}

.AcademicList__indexContent dd {
  margin-bottom: 50px;
}

.AcademicList__indexContent dd:last-child {
  margin-bottom: 0;
}

.AcademicList__indexContent ul li {
  padding: 6px 0;
  border-bottom: 1px dashed var(--color-border);
  list-style-type: disc;
  list-style-position: inside;
}

.AcademicList__fixedState {
  font-size: 0.812rem;
  margin-bottom: 30px;
  padding: 50px 15px 0;
  border-top: 1px dashed var(--color-border);
}

.AcademicList__fixedState p {
  margin-bottom: 1em;
}

.AcademicList__fixedState small {
  font-size: 0.812rem;
  display: block;
  text-align: center;
}

.AcademicList__fixedState.-mb10 {
  margin-bottom: 10px;
}

.AcademicList__fixedState .AcademicList__fixedStateLogo {
  margin-bottom: 30px;
}

.AcademicList__fixedState .AcademicList__fixedStateLogo img {
  margin-bottom: 15px;
}

.AcademicList__about {
  font-size: 0.812rem;
  margin-bottom: 30px;
  padding: 0 15px;
}

.AcademicList__about p {
  margin-bottom: 1em;
}

.SiteMap {
  margin: 0 auto;
  max-width: 1000px;
}

.SiteMap__title {
  margin-bottom: 22px;
  line-height: 1.5em;
}

.SiteMap__sec {
  font-size: 0.812rem;
  margin-bottom: 30px;
  padding: 0 16px;
}

.SiteMap__sec.-mb50 {
  margin-bottom: 50px;
}

.SiteMap__secTitle {
  font-size: 0.812rem;
  position: relative;
  margin: 0 0 20px;
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.SiteMap__secTitle a {
  color: var(--color-primary);
}

.SiteMap__secTitle a:hover {
  color: #000;
}

.SiteMap__navs {
  display: flex;
  flex-wrap: wrap;
  margin: 0 14px;
}

.SiteMap__navs a.-current,
.SiteMap__navs a:hover {
  color: var(--color-primary);
  text-decoration: none;
}

.SiteMap__navs.-mb20 {
  margin-bottom: 20px;
}

.SiteMap__navsItem {
  width: 50%;
}

.SiteMap__navsItem > a {
  display: block;
  padding-left: 18px;
  background: url(/common/images/icon_arrow01.svg) no-repeat 0 0.25em;
  background-size: 13px 13px;
}

.SiteMap__navsItem > a.-green-arrow {
  background-image: url(/common/images/icon_arrow23.svg);
}

.SiteMap__navsItem.-mb20 {
  margin-bottom: 20px;
}

.SiteMap__subNavsItem {
  line-height: 1.5em;
}

.SiteMap__subNavsItem > a {
  display: block;
  position: relative;
  padding-left: 18px;
}

.SiteMap__subNavsItem > a::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 5px;
  content: ">";
}

.SiteMap__externalLink {
  display: inline-block;
  margin-left: 6px;
}

.SiteMap__externalLink img {
  vertical-align: middle;
}

.SiteMap__memberOnly {
  display: inline-block;
  margin-left: 6px;
}

.SiteMap__pMemberOnly {
  font-size: 0.625rem;
  display: inline-block;
  margin-left: 6px;
  padding: 2px 6px;
  border: 1px solid var(--color-danger);
  border-radius: 3px;
  color: var(--color-danger);
  line-height: 1em;
}

.MemberFAQ {
  margin: 0 auto;
  max-width: 1000px;
}

.MemberFAQ__title {
  margin-bottom: 22px;
  line-height: 1.5em;
}

.MemberFAQ__catTitle {
  background-image: url(/common/images/icon_arrow27.svg);
  color: var(--color-primary);
}

.MemberFAQ__catContent {
  font-size: 0.875rem;
}

.MemberFAQ__qaWrap {
  margin-bottom: 10px;
}

.MemberFAQ__qaWrap + .MemberFAQ__qaWrap {
  border-top: 1px solid var(--color-bg-soft);
}

.MemberFAQ__a h4 {
  position: relative;
  margin: 10px 0 15px;
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.MemberFAQ__a ul {
  margin: 0 0 20px 20px;
}

.MemberFAQ__a ul li {
  padding: 0 0 0 15px;
  background: url(/common/images/icon_arrow07.svg) no-repeat 0 center;
  background-size: 12px 12px;
}

.ModuleContent {
  margin: 0 auto;
  max-width: 1000px;
}

.ModuleContent__title {
  margin-bottom: 22px;
  line-height: 1.5em;
}

.ModuleContent__content {
  margin: 0 10px;
}

.ModuleContent__message {
  margin-bottom: 20px;
  font-size: 0.812rem;
}

.ModuleContent__sec {
  font-size: 0.812rem;
  margin-bottom: 18px;
  padding: 0 20px;
}

.ModuleContent__sec p {
  margin-bottom: 1em;
}

.ModuleContent__sec ol {
  margin-left: 1.5em;
}

.ModuleContent__sec ol li {
  margin-bottom: 1em;
  list-style-type: decimal;
}

.ModuleContent__sec ol ol {
  margin: 1em 0 0 1.5em;
}

.ModuleContent__secTitle {
  font-size: 0.812rem;
  position: relative;
  margin: 0 6px 20px;
  padding: 16px 10px;
  border-left: 3px solid var(--color-primary);
  background: url(/common/images/bg_dot01.png) repeat 0 0;
  color: var(--color-primary);
  line-height: 1.5em;
}

.RequestContainer {
  padding: 40px 80px;
  background-color: var(--color-bg-light);
  border: 1px solid var(--color-border);
}

.RequestContainer label {
  cursor: pointer;
}

.RequestContainer input[type="checkbox"]:checked {
  background-image: url(/common/images/icon_check03.png);
}

.RequestContainer__inner {
  margin: 0 auto;
  width: 400px;
}

.RequestContainer__text {
  margin-bottom: 20px;
}

.RequestForm {
  margin: 20px 0 34px;
}

.RequestForm input {
  padding: 8px 12px;
  width: 100%;
  border: 1px solid var(--color-border);
  text-align: center;
}

.RequestForm input[disabled] {
  background-color: var(--color-border);
}

.RequestForm__fieldElement {
  margin-bottom: 10px;
}

.RequestForm__fieldRequired {
  padding-left: 1em;
  color: red;
}

.RequestForm__text {
  margin-bottom: 20px;
}

.RequestForm__errorText {
  margin-top: 6px;
  color: var(--color-danger);
}

.RequestForm__errorText.-top {
  margin-bottom: 6px;
}

.RequestContainer__privacyLink {
  margin-bottom: 10px;
}

.RequestContainer__consent {
  margin-bottom: 34px;
  text-align: center;
}

.RequestContainer__consent label {
  padding-left: 5px;
}

.RequestContainer__button {
  display: flex;
  justify-content: space-between;
}

.RequestContainer__buttonCancel,
.RequestContainer__buttonSend {
  display: block;
  padding: 15px;
  width: 47%;
  text-align: center;
  line-height: 1em;
}

.RequestContainer__buttonSend {
  border: 1px solid var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
}

.RequestContainer__buttonSend[disabled] {
  border: 1px solid #dcdcdc;
  background-color: #dcdcdc;
}

.RequestContainer__buttonCancel {
  border: 1px solid var(--color-primary);
  background-color: #fff;
  color: var(--color-primary);
  text-decoration: none;
}

.EditorContent p {
  font-size: 0.812rem;
  margin: 0 0 1em;
}

.EditorContent em {
  font-style: italic;
}

.EditorContent .border-text {
  padding: 10px;
  border: 1px solid var(--color-border);
}

.EditorContent .border-text.-center {
  text-align: center;
}

.EditorContent .bg-text {
  padding-top: 20px;
  border-top: 1px solid var(--color-bg-soft);
  text-align: center;
}

.EditorContent .bg-text span {
  display: inline-block;
  padding: 8px 40px;
  background-color: var(--color-bg-soft);
}

.EditorContent .sp-scroll {
  overflow: auto;
  white-space: nowrap;
}

.TitleL02-01 {
  font-size: 1.5rem;
  margin-bottom: 0.5em;
  color: #00266e;
  font-weight: 700;
  line-height: 1.4em;
}

.TitleL02-01.-color-ek {
  color: #5fb65c;
}

.TitleL02-01.-color-dl {
  color: var(--color-danger-alt);
}

.TitleL02-02 {
  font-size: 1rem;
  position: relative;
  margin-bottom: 1em;
  padding: 10px 0;
  color: #00266e;
  font-weight: 700;
}

.TitleL02-02 .TitleL02-02__label {
  font-size: 0.812rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  padding: 5px 8px;
  margin-top: -0.9em;
  border-radius: 3px;
  background-color: #00266e;
  color: #fff;
  line-height: 1em;
}

.TitleL02-02.-color-ek {
  color: #5fb65c;
}

.TitleL02-02.-color-ek .TitleL02-02__label {
  background-color: #5fb65c;
}

.TitleL02-02.-color-dl {
  color: var(--color-danger-alt);
}

.TitleL02-02.-color-dl .TitleL02-02__label {
  background-color: var(--color-danger-alt);
}

.TitleL02-03 {
  font-size: 0.812rem;
  position: relative;
  margin-bottom: 1em;
  padding: 10px 110px 10px 10px;
  color: #00266e;
  font-weight: 700;
}

.TitleL02-03 .TitleL02-03__label {
  font-size: 0.812rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  padding: 5px 8px;
  margin-top: -0.9em;
  border-radius: 3px;
  background-color: #00266e;
  color: #fff;
  line-height: 1em;
}

.TitleL02-03.-color-dl .TitleL02-02__label {
  background-color: var(--color-danger-alt);
}

.TitleL03-01 {
  font-size: 1rem;
  position: relative;
  margin-bottom: 1em;
  padding: 10px 110px 10px 10px;
  background: url(/common/images/bg_dot05.png) repeat 0 0;
  color: #00266e;
  font-weight: 700;
}

.TitleL03-01 .TitleL03-01__label {
  font-size: 0.812rem;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  padding: 5px 8px;
  margin-top: -0.9em;
  border-radius: 3px;
  background-color: #00266e;
  color: #fff;
  line-height: 1em;
}

.TitleL03-01.-color-ek {
  background-image: url(/common/images/bg_dot06.png);
  color: #5fb65c;
}

.TitleL03-01.-color-ek .TitleL03-01__label {
  background-color: #5fb65c;
}

.TitleL03-01.-color-dl {
  background-image: url(/common/images/bg_dot07.png);
  color: var(--color-danger-alt);
}

.TitleL03-01.-color-dl .TitleL03-01__label {
  background-color: var(--color-danger-alt);
}

.TitleL03-02 {
  margin-bottom: 8px;
  color: #00266e;
  font-weight: 700;
}

.TitleL03-02.-color-ek {
  color: #5fb65c;
}

.TitleL03-02.-color-dl {
  color: var(--color-danger-alt);
}

.TitleL03-03 {
  font-size: 1.5rem;
  margin-bottom: 8px;
  color: #00266e;
  font-weight: 700;
}

.TitleL03-04 {
  font-size: 1rem;
  margin-bottom: 8px;
  color: #00266e;
  font-weight: 700;
}

.TitleL04-01 {
  display: inline-block;
  margin-bottom: 1em;
  padding: 10px 40px;
  background-color: var(--color-bg-soft);
}

.Table01 {
  margin-bottom: 1em;
  width: 100%;
}

.Table01 td,
.Table01 th {
  font-size: 0.812rem;
  padding: 10px;
  border: 1px solid var(--color-border);
  text-align: center;
  vertical-align: middle;
}

.Table01 th {
  width: 5em;
}

.Table01 .Table01__headGray {
  background-color: #7d7d7d;
  color: #fff;
}

.Table01 .Table01__headNavy {
  background-color: #01296d;
  color: #fff;
}

.Table01 .Table01__headBlue {
  background-color: #00639a;
  color: #fff;
}

.Table01 .Table01__headPurple {
  background-color: #481873;
  color: #fff;
}

.Table01.-col5 td:first-child,
.Table01.-col5 th:first-child {
  background-color: #eeebe9;
}

.Table02 {
  margin-bottom: 1em;
  width: 100%;
}

.Table02 td,
.Table02 th {
  font-size: 0.812rem;
  vertical-align: top;
}

.Table02 th {
  padding-bottom: 10px;
  font-weight: 400;
  white-space: nowrap;
}

.Table02 td {
  padding: 0 0 10px 1em;
}

.Table02 .Table02__label {
  display: block;
  padding: 2px 8px;
  border-radius: 3px;
  background-color: #00266e;
  color: #fff;
  text-align: center;
}

.Table02.-color-ek .Table02__label {
  background-color: #5fb65c;
}

.Table02.-color-dl .Table02__label {
  background-color: var(--color-danger-alt);
}

.Table03 {
  margin-bottom: 1em;
  width: 100%;
}

.Table03 td,
.Table03 th {
  font-size: 0.812rem;
  padding: 15px;
  border: 1px solid var(--color-border);
}

.Table03 th {
  width: 9em;
  background-color: #eeebe9;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}

.Table03 td {
  text-align: left;
}

.Table03 dd {
  margin-left: 1em;
}

.Table03.-center td,
.Table03.-center th {
  text-align: center;
}

.Table03 .Table03__cell.-center {
  text-align: center;
}

.Table03.-low-padding td,
.Table03.-low-padding th {
  padding: 3px 15px;
}

.Table04 {
  margin-bottom: 1em;
  width: 100%;
}

.Table04 td,
.Table04 th {
  font-size: 0.812rem;
  padding: 15px;
  border: 1px solid var(--color-border);
}

.Table04 th {
  width: 9em;
  background-color: #fff;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}

.Table04 td {
  text-align: left;
}

.Table04 dd {
  margin-left: 1em;
}

.Table04.-center td,
.Table04.-center th {
  text-align: center;
}

.Table04 .Table03__cell.-center {
  text-align: center;
}

.Table04.-low-padding td,
.Table04.-low-padding th {
  padding: 3px 15px;
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: 0;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-list,
.slick-slider .slick-track {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:after,
.slick-track:before {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-loading .slick-list {
  background: #fff url(../images/loading.gif) center center no-repeat;
}

.slick-next,
.slick-prev {
  position: absolute;
  display: none !important;
  height: 36px;
  width: 36px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: 0 0;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: 0;
  z-index: 9;
}

.slick-next:focus,
.slick-next:hover,
.slick-prev:focus,
.slick-prev:hover {
  outline: 0;
  background: 0 0;
  color: transparent;
}

.slick-next:focus:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-prev:hover:before {
  opacity: 0.6;
}

.slick-next.slick-disabled:before,
.slick-prev.slick-disabled:before {
  opacity: 0.25;
}

.slick-next:before,
.slick-prev:before {
  display: block;
  height: 20px;
  width: 20px;
  padding: 6px;
  border-radius: 50%;
  font-family: slick;
  font-size: 20px;
  line-height: 20px;
  background-color: rgba(255, 255, 255, 0.8);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 20px 20px;
  color: #fff;
  text-align: center;
  opacity: 0.75;
  content: "";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: 10px;
}

[dir="rtl"] .slick-prev {
  left: auto;
  right: 10px;
}

.slick-prev:before {
  background-image: url(/common/images/icon_arrow03.svg);
}

.slick-next {
  right: 10px;
}

[dir="rtl"] .slick-next {
  left: 10px;
  right: auto;
}

.slick-next:before {
  background-image: url(/common/images/icon_arrow04.svg);
}

.slick-dots {
  position: absolute;
  bottom: 0;
  list-style: none;
  display: block;
  text-align: left;
  padding: 0 0 0 5px;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 30px;
  width: 30px;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: 0 0;
  display: block;
  height: 30px;
  width: 30px;
  outline: 0;
  line-height: 0;
  font-size: 0;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:focus,
.slick-dots li button:hover {
  outline: 0;
}

.slick-dots li button:focus:before,
.slick-dots li button:hover:before {
  opacity: 0.6;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 30px;
  height: 30px;
  font-family: slick;
  font-size: 18px;
  line-height: 30px;
  text-align: center;
  color: #fff;
  text-shadow: 0 0 1px #ccc;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: #ccc;
}

.slick-pause {
  vertical-align: bottom;
}

.slick-pause svg {
  width: 12px;
  height: 18px;
}

.slick-pause button {
  padding-bottom: 8px !important;
}

.slick-pause button:before {
  display: none;
}

.slick-pause button:hover svg {
  opacity: 0.6;
}


.LocalMenu__lists.-pstg .LocalMenu__title {
  background-image: url(/product/pstg/images/bg_dot01@2x.png);
  background-size: 2px 2px;
  color: var(--color-field-gastroenterology);
}

.LocalMenu__lists.-pstg .LocalMenu__item a {
  background-image: url(/product/pstg/images/icon_arrow.svg);
}

.LocalMenu__lists.-pstg .LocalMenu__item a.-current,
.LocalMenu__lists.-pstg .LocalMenu__item a:hover {
  background-color: #e5f9ef;
}

.pstg-section {
  margin: 0 18px 1.875rem;
}

body.pstg .Content figure {
  margin: 30px 0;
}

body.pstg .Content figure img {
  width: auto;
  height: auto;
}

body.pstg .ContentTitle::before {
  background-color: #00dc6e;
}

body.pstg .ContentTitle svg {
  width: 95px;
  height: 26px;
}


body.pstg .ContentTitle span {
  padding-left: 110px;
}


body.pstg .title-typeA {
  color: var(--color-field-gastroenterology);
}

body.pstg .TitleL04-01 {
  background-color: var(--color-field-gastroenterology);
  color: #fff;
}

body.pstg .TitleL04-01 span {
  display: block;
  line-height: 1.5555555556;
  font-size: smaller;
}

body.pstg .Table03:not(.-mb1em) {
  margin-bottom: 2.5rem;
}

.pstg-headingLv3 {
  margin-top: 3.25rem;
  margin-bottom: 1.125rem;
  margin-left: -18px;
  line-height: 1.347826087;
  color: var(--color-field-gastroenterology);
  font-size: 1.4375rem;
  font-weight: 700;
}

.pstg-headingLv3:first-of-type {
  margin-top: 0;
}

.pstg-headingLv6 {
  margin-bottom: 0.625rem;
  color: var(--color-field-gastroenterology);
  font-size: 0.875rem;
  font-weight: 700;
}

.pstg-headingLv7 {
  margin-bottom: 0.625rem;
  font-weight: 700;
}

.Content ol.pstg-noteList,
.Content ul.pstg-noteList {
  margin-bottom: 1em;
  line-height: 1.6;
  font-size: smaller;
}

.Content ol.pstg-noteList > li,
.Content ul.pstg-noteList > li {
  position: relative;
}

.Content ol.pstg-noteList .pstg-noteList__marker,
.Content ul.pstg-noteList .pstg-noteList__marker {
  position: absolute;
  top: 0;
  left: 0;
}

.Content ul.pstg-noteList > li {
  padding-left: 1rem;
}

.Content ol.pstg-noteList > li {
  padding-left: 1.5rem;
}

.pstg-note {
  margin-bottom: 2rem;
  border-color: #707070;
}

.pstg-note .pstg-note__heading {
  margin-top: 0;
  font-size: 1em;
  font-weight: 700;
}

.pstg-note .pstg-note__form,
.pstg-note .pstg-note__symptom {
  margin-top: 0;
  font-size: 1em;
}

.pstg-note .pstg-note__note {
  display: block;
}

.pstg-note .pstg-note__noticeList > li {
  padding-left: 1.75rem;
}

.pstg-note .pstg-note__noticeNumber {
  position: absolute;
  top: 0;
  left: 0;
}

.pstg-note .pstg-note__note dt {
  font-weight: 700;
}

.pstg-note > p {
  margin-bottom: 0;
}

.pstg-ucdai {
  line-height: 1.6666666667;
  font-size: smaller;
}

.Content .pstg-assessments {
  display: block;
}

.Content .pstg-assessments > div {
  display: flex;
}


.Content .pstg-assessments dt {
  flex-basis: 5.5em;
  flex-shrink: 0;
}

.Content .pstg-assessments dd {
  margin-left: 0;
  flex-basis: auto;
}

.Content .pstg-information {
  margin-bottom: 0.9375rem;
  padding: 10px 16px;
  background-color: #f6ffe2;
  font-size: 0.875rem;
}

.Content ol li.pstg-pl-0 {
  padding-left: 0;
}

.ProductTopOrphanDrug {
  margin: 0 auto 50px;
  max-width: 1000px;
}


.ProductTopOrphanDrug .ProductTopOrphanDrug__content {
  padding: 30px;
  border: 1px solid var(--color-primary);
  font-size: 0.875rem;
}

.ProductTopOrphanDrug .ProductTopOrphanDrug__content p:not(:last-child) {
  margin-bottom: 1em;
}

.ProductTopOrphanDrug .ProductTopOrphanDrug__source {
  margin-top: 2em;
  text-align: right;
}

body.pstg .ProductMovie__catTitle {
  background-image: url(/product/pstg/images/bg_dot01@2x.png);
  background-size: 2px 2px;
  color: var(--color-field-gastroenterology);
}

section {
  margin-top: 4em;
}

section:first-child {
  margin-top: 0;
}

.ContentTitle02.-department span {
  font-size: 1.125rem;
  color: #898989;
  margin-left: -0.5em;
  vertical-align: top;
}

.DepartmentContent__title {
  font-size: 1.75rem;
  position: relative;
  margin: 0 auto 20px;
  padding: 20px 15px;
  max-width: 1000px;
  background-color: var(--color-bg-light);
}

.DepartmentContent__title::before {
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: calc(100% - 20px);
  background-color: var(--color-primary);
  content: "";
}

.DepartmentContent__title span {
  padding: 0 0 0 10px;
  color: #aaa;
}

.DepartmentContent__summary {
  font-size: 0.812rem;
  margin-bottom: 20px;
}

.DepartmentContent {
  float: left;
  width: 765px;
}

.DepartmentLibrary {
  margin-bottom: 20px;
}

.DepartmentLibList__title {
  font-size: 1.25rem;
  position: relative;
  margin-bottom: 20px;
  padding: 0 0 6px 15px;
  background: url(/common/images/icon_dot01.svg) no-repeat 0 5px;
  background-size: 4px 16px;
}

.DepartmentLibList__title span {
  font-size: 0.812rem;
  padding-left: 10px;
  color: var(--color-border);
}

.DepartmentLibList__title::after,
.DepartmentLibList__title::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  content: "";
}

.DepartmentLibList__title::before {
  width: 128px;
  background-color: var(--color-primary);
  z-index: 2;
}

.DepartmentLibList__title::after {
  width: 100%;
  background-color: var(--color-primary-border);
  z-index: 1;
}

.DepartmentLibList {
  margin: 0 auto 50px;
  max-width: 1000px;
}

.DepartmentLibList__items {
  display: flex;
  flex-wrap: wrap;
}

.DepartmentLibList__items li {
  position: relative;
  margin-bottom: 20px;
  padding: 0 15px;
  width: 33.333%;
  border-left: 1px solid var(--color-border);
  background: url(/common/images/icon_arrow01.svg) no-repeat bottom right 15px;
  background-size: 16px 16px;
}

.DepartmentLibList__items li:nth-child(4n + 1) {
  border-left: 0;
}

.DepartmentLibList__items a {
  display: block;
  padding-bottom: 15px;
  text-decoration: none;
}

.DepartmentLibList__items a:hover .DepartmentLibList__thum img {
  transform: scale(1.2, 1.2);
}

.DepartmentLibList__items a:hover .DepartmentLibList__label,
.DepartmentLibList__items a:hover .DepartmentLibList__summary {
  text-decoration: underline;
}

.DepartmentLibList__thum {
  position: relative;
  margin-bottom: 10px;
  border: 1px solid var(--color-border);
  border-radius: 3px;
  overflow: hidden;
}

.DepartmentLibList__thum::after,
.DepartmentLibList__thum::before {
  display: block;
  position: absolute;
  content: "";
  z-index: 1;
}

.DepartmentLibList__thum::before {
  top: -50px;
  left: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 50px solid var(--color-primary);
}

.DepartmentLibList__thum::after {
  top: 3px;
  left: 6px;
  width: 13px;
  height: 18px;
  background: url(/common/images/icon_key01.svg) no-repeat 0 0;
  background-size: 13px 18px;
}

.DepartmentLibList__thum.-color-red::before {
  border-left-color: var(--color-danger);
}

.DepartmentLibList__thum.DepartmentLibList__thum.-is_free::before {
  border-left-color: var(--color-accent-cyan);
}

.DepartmentLibList__thum.DepartmentLibList__thum.-is_free::after {
  background-image: url(/common/images/icon_key02.svg);
}

.DepartmentLibList__thum .DepartmentLibList__type {
  font-size: 0.625rem;
  position: absolute;
  right: 5px;
  bottom: 5px;
  padding: 5px 6px;
  border: 1px solid #004a7c;
  background-color: #fff;
  color: #004a7c;
  line-height: 1em;
  z-index: 1;
}

.DepartmentLibList__thum img {
  width: 100%;
  transition: -webkit-transform 0.3s ease-out 0s;
  transition: transform 0.3s ease-out 0s;
  transition: transform 0.3s ease-out 0s, -webkit-transform 0.3s ease-out 0s;
}

.DepartmentLibList__label {
  font-size: 1.125rem;
  margin-bottom: 3px;
  font-weight: 700;
}

.DepartmentLibList__summary {
  font-size: 0.812rem;
}

.DepartmentLibList__more a {
  font-size: 0.812rem;
  display: block;
  padding: 6px 20px 3px;
  border-radius: 3px;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: 10px 20px 7px;
  transition: opacity 0.5s ease-out 0s;
}

.DepartmentLibList__more a:active,
.DepartmentLibList__more a:hover {
  opacity: 0.6;
}

.DepartmentLibList__more a::after {
  display: inline-block;
  margin-left: 8px;
  width: 18px;
  height: 18px;
  background: url(/common/images/icon_arrow05.svg) no-repeat 0 center;
  background-size: 18px 18px;
  vertical-align: top;
  content: "";
}

.LibraryContents {
  display: flex;
}

.ApricotRing__sideTools {
  margin-left: 16px;
}

.ApricotRing__sideTools .LocalMenu__title {
  position: relative;
  padding: 0 0 6px 15px;
  background: url(/common/images/icon_dot01.svg) no-repeat 0 5px;
  background-size: 4px 16px;
  color: #000;
  font-family: sans-serif;
  line-height: 1.5em;
  text-align: left;
  font-weight: 400;
}

.ApricotRing__sideTools .LocalMenu__title::before {
  width: 32px;
  background-color: var(--color-primary);
  z-index: 2;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  content: "";
}

.ApricotRing__sideTools .LocalMenu__title::after {
  width: 100%;
  background-color: var(--color-primary-border);
  z-index: 1;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  content: "";
}


@media screen and (max-width: 768px) {
  .IndexContentsDrugByArea ul {
    justify-content: left;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 1000px) {
  .Seminar__WebinerButton {
    margin: 0 15px 40px;
    width: calc(100% - 30px);
    height: 50px;
  }
}
@media screen and (max-width: 1000px) {
  .Webseminar__buttonArea {
    margin: 0 15px 40px;
    width: calc(100% - 30px);
    flex-wrap: wrap;
  }
  .Webseminar__buttonArea a {
    width: 90%;
    margin: 0 0 15px;
  }
}
@media screen and (min-width: 1001px) {
  .-hidePCGnav .GlobalNav {
    display: none;
  }
}
@media screen and (max-width: 1000px) {
  .-hidePCGnav .SpMenuToggle + .GlobalNav > .GlobalNav__inner {
    padding-bottom: 0;
  }
  .-hidePCGnav .SpMenuToggle.-active + .GlobalNav > .GlobalNav__inner {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 769px) {
  .RequestContainer__buttonCancel,
  .RequestContainer__buttonSend {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .RequestContainer {
    margin: 0 10px;
  }
  .RequestContainer__inner {
    width: 100%;
  }
  .RequestContainer__privacyLink .MemberContent__button {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 480px) {
  .RequestContainer {
    padding: 20px 20px 30px;
  }
  .RequestContainer__text {
    padding: 0 20px;
  }
}
@media screen and (min-width: 481px) {
  .ContentList03__more {
    position: absolute;
    top: -0.2em;
    right: 0;
  }
  .ContentList03__more a {
    font-size: 0.625rem;
    padding: 4px 6px;
    border: 1px solid var(--color-primary);
    border-radius: 3px;
    color: var(--color-primary);
    text-decoration: none;
    line-height: 1em;
    transition: background-color 0.5s ease-out 0s;
  }
  .ContentList03__more a:hover {
    background-color: var(--color-primary-bg);
  }
  .ContentList03__more a::before {
    display: inline-block;
    margin-right: 4px;
    content: ">";
  }
  .FooterNav {
    text-align: center;
  }
  .ProductMovie {
    padding: 0 15px;
  }
  .ProductMovie__itemTitle {
    min-height: 3.6em;
  }
  .ProductLibrary {
    padding: 0 15px;
  }
  .ProductLibrary__itemTitle {
    min-height: 3.6em;
  }
  .MemberContent__pcbr {
    display: block;
  }
  .SimpleForm__field:last-child > .SimpleForm__label {
    border-bottom: 1px solid var(--color-border);
  }
  .SeminarContent__itemTitle {
    min-height: 3.6em;
  }
  .Table03 th.-width-14em {
    width: 14em;
  }
}
@media screen and (min-width: 481px) and (max-width: 1000px) {
  .ProductTopNav__item {
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .MainVisual .MainVisual__searchButton {
    display: none;
  }
  .ProductTopPoint__sup li {
    display: inline-block;
    margin-right: 5px;
  }
  .ProductTopPoint__sup li:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 1001px) {
  .ContentTitle.-sp-only {
    display: none;
  }
  .Content {
    float: left;
    width: 765px;
  }
  .LocalMenu {
    float: right;
    width: 215px;
  }
  .LocalMenu.mt40 {
    margin-top: 40px;
  }
  .LocalMenu__select {
    display: none;
  }
  .ProductTopMV .slick-next,
  .ProductTopMV .slick-prev {
    margin-top: -25px;
  }
  .ProductTopMV .slick-dots {
    bottom: 50px;
  }
  .ProductTopNav__items.-item5 .ProductTopNav__item {
    width: 19%;
  }
  .ProductTopNav__items.-item6 .ProductTopNav__item {
    width: 16%;
  }
}
@media screen and (max-width: 1000px) {
  .ContentList01 {
    margin-bottom: 30px;
    padding-right: 10px;
    padding-left: 10px;
  }
  .Pager .Pager__items {
    margin-right: 10px;
    margin-left: 10px;
  }
  .JSModal__wrapper {
    top: 100px;
    left: 20px;
    width: calc(100% - 40px);
    max-height: calc(100% - 160px);
  }
  .JSModal__close {
    top: 50px;
    right: 20px;
  }
  .HeaderSpUser {
    display: none;
  }
  
  .-nav-open .HeaderMembers {
    display: block;
  }
  .ProductHomeLink {
    right: 110px;
  }
  .MainVisual .MainVisual__thums .MainVisual__thumsInner {
    justify-content: space-between;
  }
  .MainVisual .MainVisual__thums .MainVisual__thum svg {
    height: 12px;
  }
  .IndexNews {
    padding-right: 10px;
    padding-left: 10px;
  }
  .IndexRanking {
    padding-right: 10px;
    padding-left: 10px;
  }
  .IndexInfectionLink {
    margin-top: 50px;
  }
  .TopicPath {
    display: block;
    width: calc(100% - 10px);
    margin: 0 auto;
    padding: 0 5px 10px;
    text-wrap: nowrap;
    overflow-x: auto;
  }
  .Contents {
    padding-right: 10px;
    padding-left: 10px;
  }
  .LocalMenu {
    display: none;
  }
  .LocalMenu.-always-visible {
    display: block;
    width: 100%;
  }
  .LocalMenu.-always-visible > * {
    display: none;
  }
  .LocalMenu.-always-visible .LocalMenu__select {
    display: block;
  }
  .ProductContent {
    padding-right: 10px;
    padding-left: 10px;
  }
  .ProductTopMV__nav {
    display: none;
  }
  .FlutiformNav {
    padding-right: 10px;
    padding-left: 10px;
  }
  .FlutiformNav {
    margin-bottom: 20px;
  }
  .FlutiformNav__circles {
    margin-bottom: 0;
    height: 35vw;
  }
  .FlutiformNav__circle {
    width: 26vw;
    height: 26vw;
    padding: 2vw;
  }
  .FlutiformNav__circleInner {
    width: 22vw;
    height: 22vw;
  }
  .FlutiformNav__circle.-color01 {
    left: 1vw;
  }
  .FlutiformNav__circle.-color02 {
    left: 24.5vw;
  }
  .FlutiformNav__circle.-color03 {
    left: 48.1vw;
  }
  .FlutiformNav__more {
    display: none;
  }
  .FlutiformNav__items {
    display: none;
  }
  .ProductTopPoint {
    padding-right: 10px;
    padding-left: 10px;
  }
  .ProductTopNav {
    padding-right: 10px;
    padding-left: 10px;
  }
  .ProductTopNav__item {
    width: 48.5%;
  }
  .ProductTopInfo {
    padding-right: 10px;
    padding-left: 10px;
  }
  .ProductQA__about {
    margin: 0 0 20px;
  }
  .ProductQA__categories {
    padding: 0 20px;
  }
  .ContentTitle01.-head-adjust {
    margin-top: 0;
  }
  .MemberContent {
    padding-right: 10px;
    padding-left: 10px;
  }
  .ContactIndex__subTitle {
    margin-right: 15px;
    margin-left: 15px;
  }
  .ContactIndex__tel {
    margin-right: 10px;
    margin-left: 10px;
  }
  .LibraryBanner {
    margin-bottom: 30px;
    padding-right: 10px;
    padding-left: 10px;
  }
  .LibraryList__button {
    margin-right: 10px;
    margin-left: 10px;
  }
  .LibraryList__commentContent {
    padding: 20px 0;
  }
  .LibraryList__itemsTitle {
    margin-right: 10px;
    margin-left: 10px;
  }
  .LibraryList__items.-type-colum .LibraryList__item {
    width: calc(50% - 10px);
  }
  .LibraryList__itemWrapper {
    margin: 0 10px;
  }
  .SearchContent__subTitle {
    margin-right: 10px;
    margin-left: 10px;
  }
  .SearchContent__search {
    margin: 0 10px 20px;
  }
  .SearchContent__results {
    margin-right: 10px;
    margin-left: 10px;
  }
  .SeminarContent__catTitle {
    margin-right: 15px;
    margin-left: 15px;
  }
  .SeminarContent__summary {
    margin-right: 15px;
    margin-left: 15px;
  }
  .SeminarContent__pageNavs {
    margin-right: 15px;
    margin-left: 15px;
  }
  .AcademicInfo__subTitle {
    margin-right: 10px;
    margin-left: 10px;
  }
  .AcademicList__itemsTitle {
    margin-right: 10px;
    margin-left: 10px;
  }
  .AcademicList__items.-type-colum .AcademicList__item {
    width: calc(50% - 10px);
  }
  .MemberFAQ__sec {
    margin: 0 15px;
  }
  .ModuleContent__subTitle {
    margin-right: 15px;
    margin-left: 15px;
  }
}
@media screen and (max-width: 768px) {
  .ContentList01__items li {
    margin-bottom: 15px;
    padding: 0;
    width: 50%;
  }
  .ContentList01__items.department li {
    width: 50%;
  }
  .ContentList01__items li:nth-child(odd) {
    padding-right: 15px;
    border-left: 0;
  }
  .ContentList01__items li:nth-child(2n) {
    padding-left: 15px;
    background-position: bottom right;
  }
  .ContentList03__content {
    height: auto;
    overflow: visible;
  }
  .HeaderLogos .HeaderLogos__about span {
    display: none;
  }
  .ProductHomeLink {
    display: none;
  }
  .FooterNav .FooterNav__items li {
    margin-right: 15px;
  }
  .MainVisual {
    margin-bottom: 30px;
    border-bottom: 0;
  }
  .MainVisual .MainVisual__inner {
    display: block;
  }
  .MainVisual .MainVisual__slides {
    width: 100%;
  }
  .MainVisual .MainVisual__search {
    display: none;
    top: 0;
    left: 50%;
    margin-left: -45%;
    padding: 20px 40px;
    width: 90%;
    border: 0;
    border-radius: 0;
    background-color: #fff;
    z-index: 120;
  }
  .MainVisual .MainVisual__search .MainVisual__searchTitle::before {
    background-image: url(/common/images/icon_search03.svg);
  }
  .MainVisual .MainVisual__search .MainVisual__searchTitle {
    padding: 5px 0;
    border: solid var(--color-primary);
    border-width: 1px 0;
  }
  .MainVisual .MainVisual__search .MainVisual__searchTitle a {
    color: var(--color-primary);
  }
  .MainVisual .MainVisual__search .MainVisual__searchIndex a,
  .MainVisual .MainVisual__search .MainVisual__searchIndex span {
    border-radius: 0;
    background-color: #b6b6b6;
    color: #fff;
  }
  .MainVisual .MainVisual__search .MainVisual__searchIndex span {
    background-color: #fff;
    color: #bbb;
  }
  .MainVisual .MainVisual__search .MainVisual__searchCloseBtn {
    display: block;
  }
  .MainVisual .MainVisual__thums .MainVisual__thum {
    padding: 12px 8px 8px;
  }
  .MainVisual .MainVisual__thums .MainVisual__thum span {
    padding: 0 6px 2px;
  }
  .MainVisual .MainVisual__thums .MainVisual__thum svg {
    height: 10px;
  }
  .MainVisual .MainVisual__searchButton {
    margin: 10px 40px;
  }
  .MainVisual .MainVisual__searchButton a {
    font-size: 0.812rem;
    display: block;
    padding: 6px 20px 3px;
    border-radius: 3px;
    background-color: var(--color-primary);
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 1rem;
    padding: 10px;
    transition: opacity 0.5s ease-out 0s;
  }
  .MainVisual .MainVisual__searchButton a:hover {
    opacity: 0.6;
  }
  .MainVisual .MainVisual__searchButton a::before {
    display: inline-block;
    margin-right: 5px;
    width: 18px;
    height: 18px;
    background: url(/common/images/icon_search01.svg) no-repeat 0 0;
    background-size: 18px 18px;
    vertical-align: middle;
    content: "";
  }
  .IndexNews .IndexNews__section {
    width: 100%;
  }
  .IndexMember {
    margin-bottom: 30px;
    width: 100%;
  }
  .IndexMember .IndexMember__regist {
    border: 0;
    background-color: var(--color-bg-light);
  }
  .IndexRanking .IndexRanking__item {
    width: 100%;
  }
  .JsTab__items li {
    font-size: 0.75rem;
    line-height: 1.5em;
  }
  .ProductContent__summary {
    margin-right: 0;
    margin-left: 0;
  }
  .FlutiformNav__circles {
    height: auto;
  }
  .FlutiformNav__circle {
    width: 36vw;
    height: 36vw;
    padding: 3vw;
  }
  .FlutiformNav__circleInner {
    width: 30vw;
    height: 30vw;
  }
  .FlutiformNav__circle.-color01 {
    top: 20vw;
    left: 10px;
  }
  .FlutiformNav__circle.-color02 {
    top: 0;
    left: 32vw;
  }
  .FlutiformNav__circle.-color03 {
    top: 20vw;
    left: auto;
    right: 10px;
  }
  .FlutiformNav__circleTitle {
    padding-bottom: 0;
  }
  .FlutiformNav__circleLink li {
    font-size: 0.875rem;
    margin-bottom: 0;
    line-height: 1.5em;
  }
  .FlutiformNav__img {
    position: static;
    top: 0;
    padding-top: 40vw;
    text-align: center;
  }
  .FlutiformNav__img img {
    width: 30%;
  }
  .ProductTopPoint__title {
    margin-bottom: 10px;
  }
  .ProductTopPoint__secWrapper {
    padding: 0;
  }
  .ProductTopPoint__secTitleInner {
    font-size: 0.375rem;
    padding-top: 18px;
    line-height: 1.5em;
  }
  .ProductTopPoint__secTitleInner span {
    font-size: 0.875rem;
  }
  .ProductTopPoint__secContent {
    font-size: 0.875rem;
  }
  .LibraryBanner__title,
  .ProductTopInfo__title {
    margin-bottom: 10px;
  }
  .MemberContent {
    padding-right: 0;
    padding-left: 0;
  }
  .MemberContent__message {
    font-size: 1rem;
    margin-right: 10px;
    margin-left: 10px;
  }
  .MemberContent__text {
    margin-right: 10px;
    margin-left: 10px;
  }
  .MemberContent__mail {
    font-size: 1rem;
    margin-right: 10px;
    margin-left: 10px;
  }
  .MemberContent__attention {
    padding: 15px 10;
  }
  .MemberContent__buttons .MemberContent__button {
    font-size: 1rem;
    width: 180px;
  }
  .SimpleForm {
    display: block;
  }
  .SimpleForm__field {
    display: block;
  }
  .SimpleForm__element,
  .SimpleForm__label {
    display: block;
  }
  .SimpleForm__label {
    width: 100%;
    border-left: 0;
  }
  .SimpleForm__element {
    border: 0;
  }
  .SimpleForm__element.-sp-no-padding {
    padding-right: 0;
    padding-left: 0;
  }
  .SimpleForm__element.-button-cell {
    margin-top: -1px;
    padding-top: 0;
    width: auto;
    border-top: 1px solid #fff;
  }
  .SimpleForm__spInner {
    padding: 0 15px;
  }
  .SimpleForm.-result {
    display: table;
    padding: 0 15px;
  }
  .SimpleForm.-result .SimpleForm__field {
    display: table-row;
  }
  .SimpleForm.-result .SimpleForm__element,
  .SimpleForm.-result .SimpleForm__label {
    display: table-cell;
  }
  .SimpleForm.-result .SimpleForm__label {
    padding-right: 1em;
    width: auto;
    white-space: nowrap;
  }
  .MemberRules {
    margin-right: 10px;
    margin-left: 10px;
  }
  .LoginContainer {
    margin: 0 10px;
  }
  .LoginContainer .SimpleForm.-no-border .SimpleForm__label {
    padding: 5px 0;
  }
  .LoginContainer .SimpleForm.-no-border .SimpleForm__element {
    padding: 0 0 5px;
  }
  .LoginContainer__text.-align-field {
    margin-left: 0;
  }
  .LoginForm {
    width: 100%;
  }
  .LibrarySearch__search,
  .SearchContent__search {
    display: block;
    text-align: center;
  }
  .LibrarySearch__search input[type="text"],
  .SearchContent__search input[type="text"] {
    width: 65%;
  }
  .LibrarySearch__search button,
  .SearchContent__search button {
    width: 35%;
  }
  .LibrarySearch__searchCategory,
  .SearchContent__searchCategory {
    padding: 0 0 26px;
  }
  .LibrarySearch__searchCategory::after,
  .SearchContent__searchCategory::after {
    top: auto;
    bottom: 2px;
    left: 50%;
    margin: 0 0 0 -0.5em;
  }
  .LibrarySearch__searchCategory button,
  .SearchContent__searchCategory button {
    background-position: left 25% center;
  }
  .LibrarySearch__searchKeyword button,
  .SearchContent__searchKeyword button {
    background-position: left 37% center;
  }
  .LibraryList__search {
    display: block;
    text-align: center;
  }
  .LibraryList__searchCategory {
    padding: 0 0 10px;
  }
  .LibraryList__searchCategorySelect select {
    width: 100%;
  }
  .LibraryList__searchKeyword input[type="text"] {
    width: calc(100% - 155px);
  }
  .LibraryList__searchKeyword button {
    width: 155px;
    background-position: left 37% center;
  }
  .LibraryList__items.-type-colum .LibraryList__item {
    width: 100%;
  }
  .LibraryList__items.-colum2 .LibraryList__item {
    width: 100%;
  }
  .SearchContent__resultItem {
    margin-bottom: 10px;
  }
  .SearchContent__resultItemSec {
    display: block;
  }
  .SearchContent__resultItemContent,
  .SearchContent__resultItemThum {
    display: block;
  }
  .SearchContent__resultItemThum {
    float: left;
    margin: 0 10px 10px 0;
    width: 142px;
  }
  .SearchContent__resultItemThumFrame {
    border-width: 3px;
  }
  .SearchContent__resultItemContent {
    padding: 0;
  }
  .SearchContent__resultItemUrl {
    position: static;
    left: 0;
    margin-top: 1em;
  }
  .SeminarContent__catTitle {
    margin-bottom: 10px;
  }
  .SeminarContent__pageNavs li {
    width: 50%;
  }
  .SeminarContent__maItem {
    margin-right: 0;
    width: 100%;
  }
  .SeminarContent__itemTitle {
    margin-bottom: 10px;
  }
  .SeminarContent__itemContent.-seminar .SeminarContent__itemFirst {
    width: 95px;
  }
  .SeminarContent__itemContent.-seminar .SeminarContent__itemSecond {
    padding: 0;
  }
  .SeminarContent__itemContent.-seminar .SeminarContent__pdfLink {
    position: static;
    flex-wrap: wrap;
  }
  .SeminarContent__itemFirst {
    padding-right: 10px;
    width: 95px;
  }
  .SeminarContent__seminarCategory {
    top: 0;
    right: 10px;
    padding: 4px 2px;
  }
  .SeminarContent__pdfLink {
    width: 100%;
  }
  .SeminarContent__pdfLink a {
    padding: 8px 30px 8px 20px;
    margin-top: 16px;
  }
  .AcademicInfo__secColums {
    display: block;
  }
  .AcademicInfo__secColum {
    width: 100%;
  }
  .AcademicInfo__secColum:nth-child(2) {
    display: none;
  }
  .AcademicInfo__secThum {
    text-align: center;
  }
  .AcademicList__items.-type-colum .AcademicList__item {
    width: 100%;
  }
  .TitleL02-02 .TitleL02-02__label {
    display: inline-block;
    position: relative;
    top: auto;
    right: auto;
    margin-top: 0;
    margin-left: 5px;
  }
  .TitleL02-03 {
    padding: 10px 0;
  }
  .TitleL02-03 .TitleL02-03__label {
    display: inline-block;
    position: relative;
    top: auto;
    right: auto;
    margin-top: 0;
    margin-left: 5px;
  }
  .TitleL03-01 {
    padding: 10px;
  }
  .TitleL03-01 .TitleL03-01__label {
    display: inline-block;
    position: relative;
    top: auto;
    right: auto;
    margin-top: 0;
    margin-left: 5px;
  }
  .TitleL03-04 {
    padding: 5px 10px;
  }
}
@media screen and (max-width: 480px) {
  .ContentList01 {
    margin-bottom: 20px;
  }
  .ContentList03__items {
    margin-bottom: 15px;
  }
  .ContentList03__more a {
    font-size: 0.812rem;
    display: block;
    padding: 6px 20px 3px;
    border-radius: 3px;
    background-color: var(--color-primary);
    color: #fff;
    text-align: center;
    text-decoration: none;
    padding: 10px 20px 7px;
    transition: opacity 0.5s ease-out 0s;
  }
  .ContentList03__more a:active,
  .ContentList03__more a:hover {
    opacity: 0.6;
  }
  .ContentList03__more a::after {
    display: inline-block;
    margin-left: 8px;
    width: 18px;
    height: 18px;
    background: url(/common/images/icon_arrow05.svg) no-repeat 0 center;
    background-size: 18px 18px;
    vertical-align: top;
    content: "";
  }
  .Slider {
    margin-bottom: 10px;
  }
  .HeaderLogos .HeaderLogos__about {
    margin-left: 10px;
  }
  .HeaderMembers .HeaderMembers__logo .HeaderMembers__logoType {
    display: none;
  }
  .FooterNav .FooterNav__items li {
    display: block;
  }
  .MainVisual .MainVisual__thums .MainVisual__thum {
    padding: 0 5px 8px;
  }
  .MainVisual .MainVisual__thums .MainVisual__thum span {
    padding: 0 0 2px;
  }
  .MainVisual .MainVisual__thums .MainVisual__thum svg {
    height: 8px;
  }
  .ContentTitle {
    padding: 5px 10px;
  }
  .ContentTitle::before {
    left: 0;
  }
  .ContentTitle svg {
    left: 10px;
    margin-top: -9px;
    width: 131px;
    height: 18px;
  }
  .ContentTitle span {
    font-size: 0.875rem;
    padding-left: 140px;
  }
  .ContentTitle.-color-bv svg {
    width: 75px;
  }
  .ContentTitle.-color-bv span {
    padding-left: 80px;
  }
  .ContentTitle.-color-ek svg {
    width: 150px;
  }
  .ContentTitle.-color-ek span {
    padding-left: 158px;
  }
  .ContentTitle.-color-dl svg {
    width: 110px;
  }
  .ContentTitle.-color-dl span {
    padding-left: 120px;
  }
  .JsTab__item {
    padding: 10px;
  }
  .AcademicInfo__title,
  .AcademicList__title,
  .ContactIndex__title,
  .ContentTitle02,
  .LibraryList__title,
  .MemberFAQ__title,
  .ModuleContent__title,
  .ProductContent__title,
  .SearchContent__title,
  .SeminarContent__title,
  .SiteMap__title {
    font-size: 1.5rem;
  }
  .ProductContent__item {
    margin-right: 0;
    width: 100%;
    text-align: center;
  }
  .ProductContent__summary {
    margin-top: 10px;
    margin-right: 20px;
    margin-left: 20px;
  }
  .ProductClassNumber {
    padding: 0 10px;
    flex-wrap: wrap;
  }
  .ProductClassNumber p {
    width: 100%;
  }
  .FlutiformNav__circleTitle {
    font-size: 0.75rem;
    margin-bottom: 5px;
    padding-top: 10px;
  }
  .FlutiformNav__circleContent {
    padding: 0 10px;
  }
  .FlutiformNav__circleLink li {
    font-size: 0.688rem;
    line-height: 1em;
  }
  .FlutiformNav__circleLink a {
    padding: 5px 0;
  }
  .ProductTopPoint__secTitle {
    padding: 12px 6px;
    width: 78px;
  }
  .ProductTopNav__item {
    width: 100%;
  }
  .ProductTopNav__item.-center {
    text-align: left;
  }
  .ProductTopNav__itemIcon {
    padding-left: 22px;
    background-size: 10px 16px;
  }
  .ProductQA__about {
    margin-bottom: 10px;
  }
  .ProductQA__item {
    padding: 15px 0;
  }
  .ProductQA__categories {
    display: none;
  }
  .MemberFAQ__sec,
  .ProductQA__qaSec {
    margin-bottom: 10px;
  }
  .MemberFAQ__catTitle,
  .ProductQA__catTitle {
    font-size: 0.875rem;
    padding: 20px 10px 20px 30px;
  }
  .MemberFAQ__catTitle:not(.-active),
  .ProductQA__catTitle:not(.-active) {
    background-image: url(/common/images/icon_arrow09.svg);
    background-position: 12px center;
    background-size: 9px 16px;
  }
  .MemberFAQ__qaWrap,
  .ProductQA__qaWrap {
    margin: 0;
  }
  .MemberFAQ__q,
  .ProductQA__q {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .MemberFAQ__a,
  .ProductQA__a {
    padding: 10px;
  }
  .MemberFAQ__a .FFImageWithText__image,
  .ProductQA__a .FFImageWithText__image {
    float: none;
    text-align: center;
  }
  .MemberFAQ__a .FFImageWithText__text,
  .ProductQA__a .FFImageWithText__text {
    float: none;
    margin-bottom: 10px;
    width: 100%;
  }
  .MemberFAQ__aLabel,
  .ProductQA__aLabel {
    display: none;
  }
  .ProductQA.-color-ek .MemberFAQ__catTitle:not(.-active),
  .ProductQA.-color-ek .ProductQA__catTitle:not(.-active) {
    background-image: url(/common/images/icon_arrow19.svg);
  }
  .ProductQA.-color-dl .MemberFAQ__catTitle:not(.-active),
  .ProductQA.-color-dl .ProductQA__catTitle:not(.-active) {
    background-image: url(/common/images/icon_arrow22.svg);
  }
  .ProductQA.-color-bv .MemberFAQ__catTitle:not(.-active),
  .ProductQA.-color-bv .ProductQA__catTitle:not(.-active) {
    background-image: url(/common/images/icon_arrow25.svg);
  }
  .ProductMovie__item {
    float: none;
    margin-right: 0;
    width: 100%;
  }
  .ProductMovie__batchDownload {
    padding-right: 20px;
    padding-left: 20px;
  }
  .MovieSection {
    padding: 0;
  }
  .MovieSection__slides {
    padding: 15px 30px;
  }
  .MovieSection__slides::after,
  .MovieSection__slides::before {
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-primary-bg);
    content: "";
  }
  .MovieSection__slides::before {
    left: -100%;
  }
  .MovieSection__slides::after {
    right: -100%;
  }
  .MovieSection__slides .slick-prev {
    left: -35px;
  }
  .MovieSection__slides .slick-next {
    right: -40px;
  }
  .MovieSection__slideItems li {
    padding: 0 8px;
  }
  .MovieSection__slideThum {
    padding: 3px;
  }
  .MovieSection__downloads {
    text-align: left;
  }
  .MovieSection__downloads li {
    margin: 0 0 10px;
  }
  .MovieSection__points {
    display: block;
  }
  .MovieSection__pointsItem {
    display: table;
    margin-right: 0;
    margin-bottom: 10px;
    width: 100%;
  }
  .MovieSection__pointsItemThum {
    display: table-cell;
    width: 90px;
    text-align: left;
    vertical-align: middle;
  }
  .MovieSection__pointsItemThum img {
    width: 90px;
  }
  .MovieSection__pointsItemSummary {
    display: table-cell;
    padding-left: 10px;
    vertical-align: middle;
  }
  .ProductLibrary__item {
    width: 100%;
  }
  .ProductLibrary__itemFirst {
    width: 140px;
  }
  .ProductLibrary__itemThum {
    border-width: 3px;
  }
  .MemberContent__message.-center {
    text-align: left;
  }
  .MemberContent__text.-center {
    text-align: left;
  }
  .MemberContent__errorText.-center {
    text-align: left;
  }
  .MemberContent__button {
    font-size: 1rem;
  }
  .MemberContent__buttons .MemberContent__button {
    display: block;
    margin: 0 auto 20px;
    width: calc(100% - 20px);
  }
  .MemberContent__buttons .MemberContent__button:last-child {
    margin-right: auto;
  }
  .FormStep__item {
    padding: 4px 0 4px 14px;
  }
  .FormStep__item:nth-child(1) {
    padding-left: 4px;
  }
  .FormStep__label {
    margin-right: 4px;
    width: 34px;
    min-width: 34px;
  }
  .FormStep__labelText {
    font-size: 0.625rem;
    bottom: 8px;
  }
  .FormStep__labelNumber {
    top: 8px;
  }
  .FormStep__text {
    font-size: 0.875rem;
    line-height: 1.4em;
  }
  .SimpleForm__inputSmall {
    width: 100%;
  }
  .SimpleForm__inputMedium {
    width: 100%;
  }
  .SimpleForm__inputLarge {
    width: 100%;
  }
  .SimpleForm__blockList {
    display: block;
  }
  .SimpleForm__blockList li {
    margin: 0 0 10px;
  }
  .SimpleForm__blockList li:last-child {
    margin-bottom: 0;
  }
  .FacilitySearch__hint.-center {
    text-align: left;
  }
  .FacilitySearch__item {
    padding: 10px 7.5em 10px 10px;
  }
  .FacilitySearch__itemName {
    padding-bottom: 5px;
  }
  .FacilitySearch__itemTel {
    display: block;
    padding-left: 0;
  }
  .FacilitySearch__itemAddr {
    display: block;
    padding-left: 0;
  }
  .FacilitySearch__itemSelect {
    margin-top: -3em;
    padding: 2em;
  }
  .FacilitySearch__buttons .SimpleForm__button.-type01 {
    width: 100%;
  }
  .FacilitySearch__buttons .SimpleForm__button.-type02 {
    display: block;
    background-position: left 31% center;
  }
  .FacilitySearch__buttons .SimpleForm__button.-type03 {
    display: block;
  }
  .MemberRules__title {
    font-size: 1rem;
  }
  .LoginContainer {
    padding: 40px 20px;
  }
  .LoginContainer__text.-center {
    text-align: left;
  }
  .ContactIndex__title {
    margin-bottom: 10px;
  }
  .ContactIndex__subTitle {
    margin-bottom: 10px;
  }
  .ContactIndex__message {
    margin-bottom: 10px;
  }
  .ContactIndex__message.-sp-padding {
    padding: 0 20px;
  }
  .ContactIndex__sec {
    margin-bottom: 10px;
  }
  .ContactIndex__secTitle {
    margin-bottom: 10px;
  }
  .ContactIndex__tel dt {
    font-size: 0.875rem;
  }
  .ContactIndex__tel dd {
    font-size: 1.25rem;
  }
  .ContactIndex__tel dd img {
    padding-bottom: 2px;
    height: 30px;
  }
  .LibraryContent__summary {
    display: none;
  }
  .LibrarySearch__searchCategory button,
  .SearchContent__searchCategory button {
    background-position: left 10% center;
  }
  .LibrarySearch__searchKeyword button,
  .SearchContent__searchKeyword button {
    background-position: left 30% center;
  }
  .LibraryBanner {
    margin-bottom: 20px;
  }
  .LibraryBanner__item {
    margin-right: 0;
    width: 100%;
    text-align: center;
  }
  .LibraryBanner__item img {
    width: 80%;
  }
  .LibraryList__title {
    line-height: 1.2;
    margin-bottom: 0;
  }
  .LibraryList__search {
    margin-bottom: 10px;
  }
  .LibraryList__search.-mb30 {
    margin-bottom: 10px;
  }
  .LibraryList__searchKeyword button {
    background-position: left 30% center;
  }
  .LibraryList__button a {
    display: block;
    min-width: auto;
  }
  .LibraryList__itemTable {
    display: block;
  }
  .LibraryList__itemContent,
  .LibraryList__itemThum {
    display: block;
  }
  .LibraryList__itemThum {
    float: left;
  }
  .LibraryList__itemContent {
    padding-bottom: 0;
  }
  .LibraryList__itemLink {
    position: static;
    margin-top: 5px;
  }
  .LibraryList__itemLink a {
    width: 100%;
  }
  .LibraryList__itemDL {
    position: static;
    margin-top: 5px;
  }
  .LibraryList__itemDL a {
    width: 100%;
  }
  .CheckContent__secTitle {
    display: none;
  }
  .CheckContent__secContents {
    display: block;
  }
  .CheckContent__secContent {
    width: 100%;
  }
  .CheckContent__secContent:not(:last-child) {
    margin-bottom: 50px;
  }
  .CheckContent__secContent:not(:last-child)::after {
    display: block;
    position: absolute;
    bottom: -30px;
    left: -20px;
    width: calc(100% + 40px);
    height: 10px;
    background-color: #fff;
    content: "";
  }
  .CheckContent__secContent li a {
    font-size: 0.875rem;
  }
  .CheckContent__secContent:nth-child(2) li a {
    background-color: var(--color-secondary);
  }
  .SearchContent__hits {
    margin-left: 10px;
  }
  .SearchContent__resultItemLabel {
    top: 15px;
    margin-top: 0;
  }
  .SeminarContent__summary {
    display: none;
  }
  .AcademicInfo__secImg.-type-krn img {
    width: 150px;
  }
  .AcademicInfo__secImg.-type-krn .AcademicInfo__secSummary {
    padding: 0;
  }
  .AcademicInfo__secImg.-type-ds img {
    margin-top: 0;
    width: 130px;
  }
  .AcademicInfo__secMore a {
    width: 100%;
  }
  .AcademicList__itemDL a,
  .AcademicList__itemLink a {
    width: 100%;
  }
  .SiteMap__title {
    margin-bottom: 10px;
  }
  .SiteMap__secTitle {
    margin-bottom: 10px;
  }
  .SiteMap__navs {
    display: block;
  }
  .SiteMap__navsItem {
    width: 100%;
  }
  .MemberFAQ__title {
    margin-bottom: 10px;
  }
  .MemberFAQ__catTitle:not(.-active) {
    background-image: url(/common/images/icon_arrow27.svg);
    background-position: 8px center;
    background-size: 16px 9px;
  }
  .MemberFAQ__qaWrap {
    margin-bottom: 10px;
  }
  .ModuleContent__title {
    margin-bottom: 10px;
  }
  .ModuleContent__subTitle {
    margin-bottom: 10px;
  }
  .ModuleContent__message {
    margin: 0 6px 10px;
  }
  .ModuleContent__sec {
    margin-bottom: 10px;
    padding: 0 6px;
  }
  .ModuleContent__secTitle {
    margin-bottom: 10px;
  }
  .TitleL02-01 {
    font-size: 1rem;
  }
  .TitleL02-02 {
    font-size: 0.812rem;
    padding: 10px 0;
  }
  .TitleL02-03 {
    font-size: 0.812rem;
    padding: 10px 0;
  }
  .TitleL02-03 .TitleL02-03__label {
    display: inline-block;
    position: relative;
    top: auto;
    right: auto;
    margin-top: 0;
    margin-left: 5px;
  }
  .TitleL03-01 {
    font-size: 0.812rem;
    padding: 5px 10px;
  }
  .TitleL03-02 {
    font-size: 0.875rem;
  }
  .TitleL03-03 {
    font-size: 1rem;
  }
  .TitleL03-04 {
    font-size: 0.812rem;
    padding: 5px 10px;
  }
  .TitleL04-01 {
    font-size: 0.875rem;
    padding: 6px 10px;
  }
  .Table01 td,
  .Table01 th {
    padding: 5px;
  }
  .Table03 td,
  .Table03 th {
    padding: 5px;
  }
  .Table03 th {
    width: 7em;
  }
  .Table03 .Table03__cell.-center {
    text-align: left;
  }
}
@media screen and (max-width: 320px) {
  .FacilitySearch__buttons .SimpleForm__button.-type02 {
    background-position: left 28% center;
  }
}
@media screen and (max-width: 768px) {
  #kmbusercheckDialog__inner .CheckContent {
    padding: 15px;
  }
}
@media screen and (max-width: 480px) {
  body.pstg .ContentTitle svg {
    width: auto;
    height: 16px;
  }
}
@media screen and (max-width: 480px) {
  body.pstg .ContentTitle span {
    padding-left: 65px;
  }
}
@media screen and (max-width: 481px) {
  .Content .pstg-assessments > div {
    display: block;
  }
}
@media screen and (max-width: 1000px) {
  .ProductTopOrphanDrug {
    padding-right: 10px;
    padding-left: 10px;
  }
}
@media screen and (max-width: 1000px) {
  .LibraryContents {
    display: block;
  }
  .ApricotRing__sideTools {
    margin-right: 16px;
  }
  .ApricotRing__sideTools .LocalMenu {
    display: block;
  }
  .ApricotRing__sideTools .LocalMenu__item {
    border-bottom: 1px solid var(--color-border);
  }
  .ApricotRing__sideTools .LocalMenu__item a {
    padding: 0 10px 0 30px;
    margin: 10px 0 10px;
    border-bottom: none;
  }
}
@media screen and (max-width: 480px) {
  .ly .JsTab__items {
    overflow-x: auto;
    width: auto;
  }
  .ly .JsTab__items li {
    width: 30%;
    flex-shrink: 0;
  }
  .ly .ProductTopPoint__sec {
    width: 100%;
    display: block;
  }
  .ly .ProductTopPoint__secTitle {
    display: block;
    width: 100%;
  }
  .ly .ProductTopPoint__secTitle::before {
    display: none;
  }
  .ly .ProductTopPoint__secTitleInner {
    margin: 0 auto;
    font-size: 0.625rem;
  }
}
