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

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list],
menu[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
  margin: 0;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* 日本語フォント指定 */
/* 汎用サイズ指定 */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

html[lang=en-US] div#container {
  padding-top: 100px;
}
@media (max-width: 768px) {
  html[lang=en-US] div#container {
    padding-top: 0;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #222222;
  font-size: 16px;
}
@media (max-width: 1100px) {
  body {
    font-size: calc(16 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  body {
    font-size: 16px;
  }
}
body {
  overflow-x: hidden;
}
body:not(.home) #container {
  max-width: 1280px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  main {
    margin-top: 60px;
  }
}
h1,
h2,
h3,
h4 {
  text-wrap: unset;
}

sup,
sub {
  font-size: 0.7em;
}

a.underline {
  color: #00316c;
  text-decoration: none;
}
a.underline:hover {
  text-decoration: underline;
}

a.link-icon,
a.download-icon,
a.ext-link-icon {
  color: #0054a7;
}
a.link-icon::after,
a.download-icon::after,
a.ext-link-icon::after {
  margin-left: 0.6em;
  width: 1em;
  height: 1em;
  position: relative;
  top: 0.15em;
  display: inline-block;
}

a.link-icon::after {
  content: url("../img/link.svg");
}

a.download-icon::after {
  content: url("../img/download.svg");
}

a.ext-link-icon::after {
  content: url("../img/ext-link.svg");
}

a.button {
  display: inline-block;
  padding: 0.2em 1em 0.3em;
  background-color: #0054a7;
  color: #ffffff;
  border-radius: 25px;
  text-decoration: none;
}
a.button:hover {
  background-color: #b6db00;
  color: #00316c;
}

dialog {
  margin: auto;
}

.wbr-text {
  word-break: keep-all;
  overflow-wrap: break-word;
  line-break: strict;
}

::selection {
  background-color: #b6db00;
  color: #ffffff;
}

button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

ul,
ol {
  padding-left: 1em;
}

.sp {
  display: none;
}
@media (max-width: 768px) {
  .sp {
    display: block;
  }
}

.pc {
  display: block;
}
@media (max-width: 768px) {
  .pc {
    display: none;
  }
}

ul.hollow-circle {
  padding-left: 0;
  list-style: none;
}
ul.hollow-circle > li {
  position: relative;
  margin-left: 0;
  padding-left: 1.6em;
  text-indent: 0;
}
ul.hollow-circle > li::before {
  content: "○";
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  text-align: center;
}

div.list-marker {
  display: flex;
  align-items: baseline;
  gap: 0.2em;
  margin-bottom: 0.5em;
}
div.list-marker p {
  margin: 0 !important;
}
div.list-marker span.adjust {
  width: 4em;
}
@media (max-width: 768px) {
  div.list-marker span.adjust {
    width: 7em;
  }
}

/* ラベル配色 */
.label-safety {
  background-color: #114ecb;
}

.label-distribution {
  background-color: #a8176d;
}

.label-lifecycle-changes {
  background-color: #5c5c5c;
}

.label-package-label {
  background-color: #026269;
}

.label-sales-transfer {
  background-color: #531985;
}

.label-others {
  background-color: #00316c;
}

/* トップへ戻るボタン */
.back-to-top {
  width: min(4.3vw, 55px);
  height: min(4.3vw, 55px);
  position: fixed;
  bottom: min(3.13vw, 40px);
  right: min(3.13vw, 40px);
  z-index: 3;
  background-color: #ffffff;
  color: #a1a1a1;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  outline: none;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s;
}
.back-to-top svg {
  width: min(1.88vw, 24px);
  height: min(2.34vw, 30px);
}
@media (max-width: 768px) {
  .back-to-top {
    width: 55px;
    height: 55px;
    bottom: 110px;
    right: 20px;
  }
  .back-to-top svg {
    width: 24px;
    height: 30px;
  }
}

.back-to-top:hover {
  background-color: #f9f9f9;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

/* トップへ戻るボタン表示用クラス */
.back-to-top.is-show {
  opacity: 1;
  visibility: visible;
}

div.list-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 1px solid #00316c;
}
div.list-header h2 {
  font-size: 20px;
}
@media (max-width: 1100px) {
  div.list-header h2 {
    font-size: calc(20 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  div.list-header h2 {
    font-size: 20px;
  }
}
div.list-header h2 {
  color: #00316c;
  font-weight: 500;
  margin: 0 0 8px;
}
div.list-header a {
  font-size: 14px;
}
@media (max-width: 1100px) {
  div.list-header a {
    font-size: calc(14 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  div.list-header a {
    font-size: 14px;
  }
}
div.list-header a {
  color: #00316c;
  line-height: 1;
  margin-bottom: 8px;
}

/* パンくずリスト */
nav.breadcrumb {
  font-size: 12px;
  color: #222222;
}
nav.breadcrumb ul {
  display: flex;
  margin: 0;
  padding-left: 52px;
}
nav.breadcrumb ul li::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 5px;
  /* 色の指定（ここを変えるだけでOK） */
  background-color: #222222;
  /* SVGをマスクとして設定 */
  -webkit-mask-image: url("../img/arrow-right.svg");
  mask-image: url("../img/arrow-right.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
nav.breadcrumb ul li:last-child::after {
  all: unset;
}
nav.breadcrumb ul li.translation-block br {
  display: none;
}
@media (max-width: 768px) {
  nav.breadcrumb {
    display: none;
  }
}

div.regular-page-title {
  position: relative;
  margin-top: 24px;
  grid-column: 1;
  grid-row: 1;
}
div.regular-page-title img {
  width: clamp(293.353125px, 29.453125vw, 377px);
  height: auto;
}
div.regular-page-title h2 {
  position: absolute;
  top: 22px;
  left: 52px;
  color: #ffffff;
  font-size: clamp(18.675px, 1.875vw, 24px);
  font-weight: 700;
  margin: 0;
}
@media (max-width: 768px) {
  div.regular-page-title img {
    width: 250px;
  }
  div.regular-page-title h2 {
    left: 22px;
    font-size: 20px;
    width: 220px;
  }
}

.custom-arrow-btn {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  height: 70px;
  width: 200px; /* 通常時の幅 */
  background-color: #0054a7;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  z-index: 1;
  transition: width 0.3s ease, background-color 0.3s ease;
}
.custom-arrow-btn:hover {
  width: 220px; /* 右側にだけ20px伸びる */
  background-color: #b6db00;
  z-index: 10; /* 伸びたときに他の要素より上に表示させる */
}
.custom-arrow-btn:hover .btn-text {
  color: #00316c;
}
.custom-arrow-btn .btn-text {
  color: #ffffff;
  font-weight: 500;
  font-size: clamp(14.00625px, 1.40625vw, 18px);
  padding: 7px 0 0 13px;
  z-index: 2;
  transition: color 0.3s ease;
}
@media (max-width: 768px) {
  .custom-arrow-btn .btn-text {
    font-size: 16px;
  }
}
.custom-arrow-btn .btn-right-part {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50px;
  background: linear-gradient(to right, #00316c, #0054a7);
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 0 9px 10px 0;
  clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
  z-index: 1;
}
.custom-arrow-btn .play-icon {
  width: 12px;
  height: 13px;
  margin-left: 5px;
}

/* ニュースリスト */
ul.news-list {
  padding-left: 0;
  color: #00316c;
  font-weight: 500;
}
ul.news-list li a {
  text-decoration: none;
  display: block;
}
ul.news-list li a ul {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-left: 0;
}
ul.news-list li a ul li {
  margin: 1em 0;
}
ul.news-list li a ul li time {
  font-size: 14px;
  margin-left: 4px;
}
ul.news-list li a ul li:nth-child(2) {
  margin-left: 0.5em;
  font-size: 14px;
  color: #ffffff;
  border-radius: 20px;
  width: 135px;
  text-align: center;
  height: 1.5em;
  line-height: 1.4em;
}
ul.news-list li a ul li:nth-child(3) {
  margin-left: 0.5em;
  font-size: 16px;
  color: #0054a7;
  width: 330px;
}
ul.news-list li a ul li:nth-child(4) {
  font-size: 12px;
  display: inline-flex;
}
ul.news-list li a ul li:nth-child(4)::after {
  content: "▶";
  display: inline-block;
  margin: 0 4px 0 0;
  color: #b6db00;
  white-space: nowrap;
}
@media (max-width: 768px) {
  ul.news-list li a ul {
    flex-direction: column;
    padding: 10px 12px;
  }
  ul.news-list li a ul li {
    margin: 0;
  }
  ul.news-list li a ul li time {
    font-size: 14px;
  }
  ul.news-list li a ul li:nth-child(2) {
    width: 40%;
    font-size: 12px;
    margin: 0.5em 0;
    height: 2em;
    line-height: 2em;
  }
  ul.news-list li a ul li:nth-child(3) {
    width: 100%;
    font-size: 16px;
    margin: 0 0 1em 0;
  }
  ul.news-list li a ul li:nth-child(4) {
    width: 100%;
    font-size: 14px;
    display: inline-block;
    text-align: right;
  }
}
ul.news-list li a:hover {
  background-color: #b6db00;
  border-radius: 5px;
}
ul.news-list li a:hover ul li:nth-child(4)::after {
  color: #ffffff;
}
@media (max-width: 768px) {
  ul.news-list > li:not(:last-child) {
    border-bottom: 1px solid #707070;
  }
}

dl.qa-area {
  line-height: 1.875;
}
dl.qa-area dt,
dl.qa-area dd {
  display: flex;
  margin-bottom: 2em;
}
dl.qa-area dt::before,
dl.qa-area dd::before {
  width: 2em;
  font-size: min(3.13vw, 40px);
  padding-right: 1em;
  margin-top: -10px;
}
@media (max-width: 768px) {
  dl.qa-area dt::before,
  dl.qa-area dd::before {
    font-size: 30px;
  }
}
dl.qa-area dt ul,
dl.qa-area dd ul {
  margin: 2em 0;
  padding-left: 1.5em;
}
dl.qa-area dt {
  font-weight: 700;
  color: #0054a7;
}
dl.qa-area dt i {
  display: contents;
}
dl.qa-area dt::before {
  content: "Q.";
  color: #0054a7;
}
dl.qa-area dd {
  font-weight: 400;
  color: #222222;
  margin-left: 0;
  border-bottom: 1px solid #222222;
  padding-bottom: 2em;
}
dl.qa-area dd::before {
  font-weight: 700;
  content: "A.";
  color: #3aa8ff;
}
dl.qa-area dd:last-child {
  border-bottom: none;
}
dl.qa-area dd p,
dl.qa-area dd h3 {
  margin-top: 0;
}
dl.qa-area dd table {
  margin-bottom: 1em;
}

body.translatepress-en_US .jp-only {
  display: none;
}

section.not-found {
  text-align: center;
  margin: 100px auto;
}
section.not-found h2 {
  font-size: clamp(18.675px, 1.875vw, 24px);
  font-weight: 700;
  color: #0054a7;
}
section.not-found h3 {
  font-size: clamp(15.5625px, 1.5625vw, 20px);
  font-weight: 500;
  color: #00316c;
}
section.not-found p {
  font-size: clamp(14.00625px, 1.40625vw, 18px);
}
@media (max-width: 768px) {
  section.not-found {
    width: 88%;
  }
}

@counter-style circled-number {
  system: fixed;
  symbols: "①" "②" "③" "④" "⑤" "⑥" "⑦" "⑧" "⑨" "⑩";
  suffix: " ";
}
ol.circle-num {
  list-style: circled-number;
}

/* Privacy trigger内のCookiebotロゴを非表示 */
#CookiebotWidget #CookiebotWidget-widgetContent .CookiebotWidget-body .CookiebotWidget-body-inner .CookiebotWidget-main-logo {
  display: none;
}

/* Cookieバナー内のCookiebotブランド表記を非表示 */
a#CybotCookiebotDialogPoweredbyCybot,
div#CybotCookiebotDialogPoweredByText {
  display: none;
}

header h1 {
  width: 200px;
}
@media (max-width: 950px) {
  header h1 {
    width: calc(200 / 950 * 100vw);
  }
}
@media (max-width: 768px) {
  header h1 {
    width: 130px;
  }
}
header h1 {
  margin-top: 20px;
}
@media (max-width: 1100px) {
  header h1 {
    margin-top: calc(20 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  header h1 {
    margin-top: 13px;
  }
}
header h1 {
  margin-left: 52px;
}
@media (max-width: 950px) {
  header h1 {
    margin-left: calc(52 / 950 * 100vw);
  }
}
@media (max-width: 768px) {
  header h1 {
    margin-left: 20px;
  }
}
header h1 a {
  display: block;
}
header h1 a img {
  width: 100%;
}
header button.nav-btn,
header button.nav-btn-sp,
header .dist-btn button,
header .form-btn button,
header .search-btn button {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
header .sp-menu {
  display: none;
}
@media (max-width: 768px) {
  header .sp-menu {
    display: block;
    position: relative;
    width: 0;
    margin: 0;
  }
}
header .pc-menu {
  display: flex;
}
@media (max-width: 768px) {
  header .pc-menu {
    display: none;
  }
}
header menu {
  width: 70%;
  height: 50%;
  margin: 30px 49px 0 0;
  padding-left: 0;
  display: flex;
  justify-content: flex-end;
  color: #00316c;
  position: relative;
}
header menu li {
  display: flex;
  flex-direction: column;
  align-items: center;
}
header menu li img {
  margin: 0 auto;
}
header menu li.search-btn img {
  width: 20px;
  height: auto;
}
header ul.drop-menu {
  width: 230px;
  background-color: #ffffff;
  color: #00316c;
  line-height: 2.75em;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin: 0;
  box-shadow: rgba(0, 0, 0, 0.2) 0 0 5px;
}
header ul.drop-menu li {
  margin: 0;
}
header ul.drop-menu li a {
  text-decoration: none;
  width: 100%;
  height: 100%;
  display: block;
  padding-left: 20px;
}
header ul.drop-menu li a:hover {
  color: #00316c;
  text-decoration: none;
  background-color: #b6db00;
}
header ul.drop-menu-sp {
  position: relative;
  z-index: 1;
  width: 100%;
  color: #ffffff;
  line-height: 2.75em;
  display: flex;
  flex-direction: column;
  padding: 60px 8%;
  margin: 0;
  max-height: calc(100dvh - 64px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background-color: transparent;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease 0.05s, transform 0.3s ease 0.05s;
}
header ul.drop-menu-sp > li:not(:last-child) {
  border-top: 1px solid #ffffff;
}
header ul.drop-menu-sp li {
  margin: 0;
}
header ul.drop-menu-sp li a {
  text-decoration: none;
  width: 100%;
  height: 100%;
  display: block;
}
header ul.drop-menu-sp li a:hover {
  color: #00316c;
  text-decoration: none;
  background-color: #b6db00;
}
header ul.drop-menu-sp li ul.sub-menu-about,
header ul.drop-menu-sp li ul.sub-menu-contact {
  padding-left: 0;
}
header ul.drop-menu-sp li ul.sub-menu-about li,
header ul.drop-menu-sp li ul.sub-menu-contact li {
  padding-left: 1.8em;
}
header ul.drop-menu-sp li ul.sub-menu-contact li:first-child {
  position: relative;
}
header ul.drop-menu-sp li ul.sub-menu-contact li:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 20px;
  height: 20px;
  background-color: #ffffff;
  mask: url("../img/tel.svg") no-repeat center/contain;
  -webkit-mask: url("../img/tel.svg") no-repeat center/contain;
}
header ul.drop-menu-sp li ul.sub-menu-about li:nth-child(3) {
  line-height: 1.5;
  word-break: keep-all;
  overflow-wrap: break-word;
}
header ul.drop-menu-sp li.search-lang {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2em;
}
header ul.drop-menu-sp li.search-lang form.search-form {
  position: relative;
}
header ul.drop-menu-sp li.search-lang form.search-form::before {
  content: url("../img/search.svg");
  position: absolute;
  top: 3px;
  left: 6px;
  width: 16px;
  height: auto;
  pointer-events: none;
}
header ul.drop-menu-sp li.search-lang form.search-form input {
  padding-left: 2.2em;
  width: 250px;
  height: 26px;
  border-radius: 20px;
  border: none;
  font-size: 12px;
}
header ul.drop-menu-sp li.search-lang form.search-form input::placeholder {
  color: #00316c;
}
header ul.drop-menu-sp li.search-lang a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: unset;
  height: unset;
  color: #ffffff;
}
header ul.drop-menu-sp li.search-lang a p {
  font-size: 12px;
  line-height: 1;
  margin-top: 5px;
}
header .nav-menu-sp.is-active > ul.drop-menu-sp {
  opacity: 1;
  transform: translateY(0);
}
header .has-submenu {
  cursor: pointer;
}
header .has-submenu ul li:last-child {
  margin-bottom: 1em;
}
header .has-submenu span {
  display: block;
  width: 100%;
  height: 100%;
}
header .has-submenu span::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 5px;
  background: url("../img/arrow-top.svg") center/contain no-repeat;
  transform: rotate(180deg);
  transform-origin: center;
  transition: transform 0.3s ease;
}
header .has-submenu.is-open span::after {
  transform: rotate(0deg);
}
header .has-submenu > ul {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
header .has-submenu.is-open > ul {
  max-height: 500px;
}
header .product-list-sp {
  list-style: none;
  padding: 0;
  width: 80%;
  margin: 0 auto;
  column-count: 2;
  column-gap: 2rem;
}
header .product-list-sp > li {
  break-inside: avoid;
  margin-bottom: 0.5rem;
}
header .product-list-sp > li:nth-child(9) {
  break-before: column;
}
header {
  /* フォームリスト・検索エリア */
}
header .dist-menu,
header .form-menu,
header .search-area,
header .nav-menu {
  position: absolute;
  top: 80px;
  right: 0;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 1;
}
header .dist-menu.is-active,
header .form-menu.is-active,
header .search-area.is-active,
header .nav-menu.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
header .nav-menu-sp {
  position: absolute;
  top: 80px;
  right: 0;
  width: 100%;
  z-index: 1;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear 0.1s;
}
header .nav-menu-sp::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: rgba(0, 84, 167, 0.8);
  -webkit-backdrop-filter: blur(4px) brightness(0.5) saturate(0.4) contrast(1.3);
  backdrop-filter: blur(4px) brightness(0.5) saturate(0.4) contrast(1.3);
  pointer-events: none;
}
header .nav-menu-sp.is-active {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
@media (max-width: 768px) {
  header .dist-menu,
  header .form-menu,
  header .search-area,
  header .nav-menu {
    display: none;
  }
}
header .nav-menu-sp {
  top: 60px;
  left: 0;
  width: 100%;
}
header .form-menu ul.drop-menu li a {
  padding-left: 40px;
}
header .form-menu ul.drop-menu li:first-child a::before {
  content: url("../img/tel.svg");
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
}
header .form-menu ul.drop-menu li:first-child a:first-child {
  padding-left: 10px;
}
header .dist-menu {
  right: 244px;
}
header div.search-area {
  padding: 15px;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.2) 0 0 5px;
}
header div.search-area form.search-form {
  display: flex;
  justify-content: center;
}
header div.search-area input.search-field {
  flex: 1;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
header div.search-area button.search-submit {
  padding: 8px 12px;
  background: #0054a7;
  color: #fff;
  border: none;
  cursor: pointer;
  border-radius: 5px;
  margin-left: 5px;
}
header div.search-area button.search-submit:hover {
  background-color: #b6db00;
  color: #00316c;
}
header .nav-btn {
  position: absolute;
  top: 32px;
  right: 49px;
  width: 36px;
  height: 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  cursor: pointer;
  transition: transform 0.3s ease;
}
header .nav-btn span {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #00316c;
}
@media (max-width: 768px) {
  header .nav-btn {
    display: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  header .nav-btn:hover span {
    height: 2px;
  }
}
header .nav-btn.is-active {
  transform: rotate(-90deg);
}
header .lang-switch-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #00316c;
}
header .lang-switch-btn svg {
  width: 22px;
}
header .nav-btn-sp {
  position: absolute;
  top: 17px;
  right: 22px;
  width: 28px;
  height: 28px;
  cursor: pointer;
}
header .nav-btn-sp span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #00316c;
  transition: all 0.3s ease;
  transform-origin: left center;
}
header .nav-btn-sp span:nth-child(1) {
  top: 5px;
}
header .nav-btn-sp span:nth-child(2) {
  top: 14px;
}
header .nav-btn-sp span:nth-child(3) {
  top: 23px;
}
@media (hover: hover) and (pointer: fine) {
  header .nav-btn-sp:hover span {
    height: 2px;
  }
}
header .nav-btn-sp.is-active span:nth-child(1) {
  width: 33.3px;
  transform: rotate(32.7deg);
}
header .nav-btn-sp.is-active span:nth-child(2) {
  opacity: 0;
}
header .nav-btn-sp.is-active span:nth-child(3) {
  width: 33.3px;
  transform: rotate(-32.7deg);
}
header div.header-first,
header div.header-product,
header div.header-en {
  width: 100%;
  height: 100px;
  display: flex;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: rgba(255, 255, 255, 0.9);
}
@media (max-width: 768px) {
  header div.header-first,
  header div.header-product,
  header div.header-en {
    height: 60px;
  }
}
header div.header-first menu li {
  font-size: 16px;
}
@media (max-width: 950px) {
  header div.header-first menu li {
    font-size: calc(16 / 950 * 100vw);
  }
}
@media (max-width: 768px) {
  header div.header-first menu li {
    font-size: 16px;
  }
}
header div.header-first menu li p {
  font-size: 12px;
}
@media (max-width: 950px) {
  header div.header-first menu li p {
    font-size: calc(12 / 950 * 100vw);
  }
}
@media (max-width: 768px) {
  header div.header-first menu li p {
    font-size: 12px;
  }
}
header div.header-first menu li p {
  margin-top: 2px;
}
header div.header-first menu li:first-child, header div.header-first menu li:nth-child(2) {
  margin-top: 6px;
  flex-direction: row;
  align-items: flex-start;
}
header div.header-first menu li:first-child a, header div.header-first menu li:nth-child(2) a {
  color: #00316c;
}
header div.header-first menu li:first-child a::after, header div.header-first menu li:nth-child(2) a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 5px;
  /* 色の指定（ここを変えるだけでOK） */
  background-color: #00316c;
  /* SVGをマスクとして設定 */
  -webkit-mask-image: url("../img/arrow-right.svg");
  mask-image: url("../img/arrow-right.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
header div.header-first menu li:first-child a:hover, header div.header-first menu li:nth-child(2) a:hover {
  color: #b6db00;
}
header div.header-first menu li:first-child a:hover::after, header div.header-first menu li:nth-child(2) a:hover::after {
  background-color: #b6db00;
}
header div.header-first menu li:first-child {
  margin-right: 30px;
}
header div.header-first menu li:nth-child(2) {
  margin-right: 37px;
}
header div.header-first menu li:nth-child(3), header div.header-first menu li:nth-child(4) {
  margin-right: 24px;
}
header div.header-second {
  width: 100%;
  margin-top: 22px;
  margin-bottom: 1.875vw;
  padding-top: 100px;
}
@media (max-width: 768px) {
  header div.header-second {
    display: none;
  }
}
header div.header-second ul {
  display: flex;
  justify-content: flex-end;
  padding-left: 0;
  padding-right: 138px;
}
@media (max-width: 1010px) {
  header div.header-second ul {
    padding-right: calc(138 / 1010 * 100vw);
  }
}
@media (max-width: 768px) {
  header div.header-second ul {
    padding-right: 138px;
  }
}
header div.header-second ul {
  width: 100%;
}
header div.header-second ul li {
  margin-left: 16px;
}
header div.header-en menu li {
  font-size: 16px;
}
@media (max-width: 950px) {
  header div.header-en menu li {
    font-size: calc(16 / 950 * 100vw);
  }
}
@media (max-width: 768px) {
  header div.header-en menu li {
    font-size: 16px;
  }
}
header div.header-en menu li p {
  font-size: 12px;
}
@media (max-width: 950px) {
  header div.header-en menu li p {
    font-size: calc(12 / 950 * 100vw);
  }
}
@media (max-width: 768px) {
  header div.header-en menu li p {
    font-size: 12px;
  }
}
header div.header-en menu li p {
  margin-top: 2px;
}
header div.header-en menu li:first-child {
  margin-top: 6px;
  flex-direction: row;
  align-items: flex-start;
}
header div.header-en menu li:first-child a {
  color: #00316c;
}
header div.header-en menu li:first-child a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 5px;
  /* 色の指定（ここを変えるだけでOK） */
  background-color: #00316c;
  /* SVGをマスクとして設定 */
  -webkit-mask-image: url("../img/arrow-right.svg");
  mask-image: url("../img/arrow-right.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
header div.header-en menu li:first-child a:hover {
  color: #b6db00;
}
header div.header-en menu li:first-child a:hover::after {
  background-color: #b6db00;
}
header div.header-en menu li:first-child {
  margin-right: 30px;
}
header div.header-en menu li:nth-child(2) {
  margin-right: 24px;
}
header#product {
  margin-bottom: 100px;
}
header div.header-product menu.product-menu {
  position: relative;
  margin-right: 113px;
}
@media (max-width: 1100px) {
  header div.header-product menu.product-menu {
    margin-right: calc(113 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  header div.header-product menu.product-menu {
    margin-right: 113px;
  }
}
header div.header-product menu.product-menu {
  margin-right: 113px;
}
header div.header-product menu.product-menu li {
  margin-right: 2vw;
  font-size: 16px;
}
@media (max-width: 1100px) {
  header div.header-product menu.product-menu li {
    font-size: calc(16 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  header div.header-product menu.product-menu li {
    font-size: 16px;
  }
}
header div.header-product menu.product-menu li p {
  font-size: 12px;
}
@media (max-width: 1100px) {
  header div.header-product menu.product-menu li p {
    font-size: calc(12 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  header div.header-product menu.product-menu li p {
    font-size: 12px;
  }
}
header div.header-product menu.product-menu li p {
  margin-top: 2px;
}
header div.header-product menu.product-menu li:first-child, header div.header-product menu.product-menu li:nth-child(2), header div.header-product menu.product-menu li:nth-child(3), header div.header-product menu.product-menu li:nth-child(4) {
  margin-top: 6px;
  flex-direction: row;
  align-items: flex-start;
}
header div.header-product menu.product-menu li:first-child a, header div.header-product menu.product-menu li:nth-child(2) a, header div.header-product menu.product-menu li:nth-child(3) a, header div.header-product menu.product-menu li:nth-child(4) a {
  color: #00316c;
}
header div.header-product menu.product-menu li:first-child a::after, header div.header-product menu.product-menu li:nth-child(2) a::after, header div.header-product menu.product-menu li:nth-child(3) a::after, header div.header-product menu.product-menu li:nth-child(4) a::after {
  content: url("../img/arrow-right.svg");
  content: "";
  display: inline-block;
  width: min(0.94vw, 12px);
  height: min(0.94vw, 12px);
  margin-left: min(0.39vw, 5px);
  /* 色の指定（ここを変えるだけでOK） */
  background-color: #00316c;
  /* SVGをマスクとして設定 */
  -webkit-mask-image: url("../img/arrow-right.svg");
  mask-image: url("../img/arrow-right.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
header div.header-product menu.product-menu li:first-child a:hover, header div.header-product menu.product-menu li:nth-child(2) a:hover, header div.header-product menu.product-menu li:nth-child(3) a:hover, header div.header-product menu.product-menu li:nth-child(4) a:hover {
  color: #b6db00;
}
header div.header-product menu.product-menu li:first-child a:hover::after, header div.header-product menu.product-menu li:nth-child(2) a:hover::after, header div.header-product menu.product-menu li:nth-child(3) a:hover::after, header div.header-product menu.product-menu li:nth-child(4) a:hover::after {
  background-color: #b6db00;
}
header div.header-product menu.product-menu li:nth-child(3) {
  position: relative;
}
header div.header-product menu.product-menu li:nth-child(3) button {
  color: #00316c;
  line-height: 1.5;
}
header div.header-product menu.product-menu li:nth-child(3) button:hover {
  text-decoration: underline;
}
header div.header-product menu.product-menu li:nth-child(3) button::after {
  content: url("../img/arrow-right.svg");
  content: "";
  display: inline-block;
  width: min(0.94vw, 12px);
  height: min(0.94vw, 12px);
  margin-left: min(0.39vw, 5px);
  /* 色の指定（ここを変えるだけでOK） */
  background-color: #00316c;
  /* SVGをマスクとして設定 */
  -webkit-mask-image: url("../img/arrow-right.svg");
  mask-image: url("../img/arrow-right.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
header div.header-product menu.product-menu li:nth-child(3) button:hover {
  color: #b6db00;
}
header div.header-product menu.product-menu li:nth-child(3) button:hover::after {
  background-color: #b6db00;
}
header div.header-product menu.product-menu li:last-child {
  margin-right: 0;
}

div.header-medical-kv {
  position: relative;
  margin-bottom: 80px;
}
div.header-medical-kv img {
  width: 100%;
}
div.header-medical-kv h2.medical-title {
  position: absolute;
  top: 7.81vw;
  right: 24.06vw;
  font-size: 1.875vw;
  font-weight: 600;
  color: #ffffff;
}

body.translatepress-en_US header ul.drop-menu-sp li.search-lang {
  justify-content: flex-end;
}

footer {
  width: 100%;
  background-color: #0054a7;
  color: #ffffff;
  font-size: 16px;
}
@media (max-width: 1100px) {
  footer {
    font-size: calc(16 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  footer {
    font-size: 16px;
  }
}
footer div.footer-wrapper {
  width: 1040px;
}
@media (max-width: 1100px) {
  footer div.footer-wrapper {
    width: calc(1040 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  footer div.footer-wrapper {
    width: 375px;
  }
}
footer div.footer-wrapper {
  margin: 0 auto;
  padding: 90px 0 60px;
  display: flex;
}
footer div.footer-wrapper div.corp-info {
  display: flex;
  flex-direction: column;
  margin-left: 18px;
  width: 285px;
}
@media (max-width: 1100px) {
  footer div.footer-wrapper div.corp-info {
    width: calc(285 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  footer div.footer-wrapper div.corp-info {
    width: 285px;
  }
}
footer div.footer-wrapper div.corp-info img {
  width: 154px;
}
@media (max-width: 1100px) {
  footer div.footer-wrapper div.corp-info img {
    width: calc(154 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  footer div.footer-wrapper div.corp-info img {
    width: 154px;
  }
}
footer div.footer-wrapper div.corp-info img {
  margin-bottom: 120px;
}
@media (max-width: 768px) {
  footer div.footer-wrapper div.corp-info img {
    margin-bottom: 50px;
  }
}
footer div.footer-wrapper div.corp-info ul {
  padding-left: 0;
  font-size: 14px;
}
@media (max-width: 1100px) {
  footer div.footer-wrapper div.corp-info ul {
    font-size: calc(14 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  footer div.footer-wrapper div.corp-info ul {
    font-size: 14px;
  }
}
footer div.footer-wrapper div.corp-info ul li {
  font-size: 12px;
}
@media (max-width: 1100px) {
  footer div.footer-wrapper div.corp-info ul li {
    font-size: calc(12 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  footer div.footer-wrapper div.corp-info ul li {
    font-size: 14px;
  }
}
footer div.footer-wrapper div.corp-info ul li:first-child {
  font-size: 20px;
}
@media (max-width: 1100px) {
  footer div.footer-wrapper div.corp-info ul li:first-child {
    font-size: calc(20 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  footer div.footer-wrapper div.corp-info ul li:first-child {
    font-size: 20px;
  }
}
footer div.footer-wrapper div.corp-info ul li:first-child span {
  font-weight: 500;
}
@media (max-width: 768px) {
  footer div.footer-wrapper div.corp-info {
    width: 100%;
    margin: 66px 0 0;
    align-items: center;
    text-align: center;
  }
}
footer div.footer-wrapper div.sitemap {
  display: flex;
  justify-content: space-around;
  width: 100%;
}
footer div.footer-wrapper div.sitemap ul {
  display: flex;
  flex-direction: column;
  margin-top: 0;
  padding-left: 0;
}
footer div.footer-wrapper div.sitemap ul li {
  margin-bottom: 2em;
}
footer div.footer-wrapper div.sitemap ul li menu {
  margin-top: 0.5em;
  padding-left: 1em;
}
footer div.footer-wrapper div.sitemap ul li menu li {
  margin-bottom: 0.5em;
}
footer div.footer-wrapper div.sitemap ul li menu li ul {
  padding-left: 1em;
}
@media (max-width: 768px) {
  footer div.footer-wrapper div.sitemap ul {
    margin-bottom: 0;
  }
}
footer div.footer-wrapper div.sitemap a {
  color: #ffffff;
}
@media (max-width: 768px) {
  footer div.footer-wrapper div.sitemap {
    flex-direction: column;
    padding-left: 30px;
  }
}
@media (max-width: 768px) {
  footer div.footer-wrapper {
    flex-direction: column-reverse;
    max-width: 375px;
    width: unset;
  }
}
footer div.copyright {
  width: 100%;
  background-color: #00316c;
  font-size: 12px;
  text-align: center;
  line-height: 62px;
}

/* ロゴ表示中のみ一時的にスクロールを止める */
body.is-logo-loading {
  overflow: hidden !important;
  height: 100vh !important;
}

/* オーバーレイを最前面に固定 */
#loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100svh;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999; /* 他のどの要素よりも上に */
}
#loading-overlay svg#ltl-logo {
  /* これだけで、初期位置の枠外にある要素が表示されるようになります */
  overflow: visible !important;
  height: 25svh;
  width: auto; /* アスペクト比を維持して幅を自動調整 */
  max-width: 90vw; /* 横幅が狭いデバイスでハミ出さないための保険 */
  display: block;
}
#loading-overlay .text-copy {
  /* マスクがリピートして変な模様にならないように固定 */
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

section.top-fv {
  width: 79.4%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
section.top-fv div.fv-copy-wrapper {
  margin-top: 3.9vw;
  width: 28%;
}
section.top-fv div.fv-copy-wrapper img {
  width: 100%;
}
section.top-fv div.fv-copy-wrapper p {
  color: #00316c;
  line-height: 2.125;
  margin: 3.125vw 0;
  font-size: 1.25vw;
}
section.top-fv div.fv-copy-wrapper a {
  font-size: 20px;
}
@media (max-width: 1100px) {
  section.top-fv div.fv-copy-wrapper a {
    font-size: calc(20 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  section.top-fv div.fv-copy-wrapper a {
    font-size: 20px;
  }
}
section.top-fv div.fv-copy-wrapper a {
  display: inline-flex;
  align-items: flex-start;
  color: #0054a7;
  font-size: 1.56vw;
  font-weight: 600;
}
section.top-fv div.fv-copy-wrapper a::before {
  content: "";
  display: inline-block;
  width: 1.125em;
  height: 0.9375em;
  margin: 0.47vw 0.31vw 0 0;
  -webkit-mask-image: url("../img/arrow.svg");
  mask-image: url("../img/arrow.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #0054a7;
}
@media (max-width: 768px) {
  section.top-fv {
    flex-direction: column;
    align-items: center;
    margin-top: 100px;
    width: 100%;
  }
  section.top-fv div.fv-copy-wrapper {
    width: 72.5%;
  }
  section.top-fv div.fv-copy-wrapper img {
    width: 90%;
  }
  section.top-fv div.fv-copy-wrapper p {
    font-size: 16px;
    line-height: 1.75;
    margin-top: 17px;
  }
  section.top-fv div.fv-copy-wrapper a {
    display: none;
  }
}

.fv-slider-container {
  position: relative; /* ボタンの配置基準 */
  width: 72%; /* 元のラッパーと同じ幅にする */
  margin: 0 auto; /* 必要に応じて中央寄せ */
}
@media (max-width: 768px) {
  .fv-slider-container {
    width: 108%;
    margin: 32px 100px 0 0;
  }
}

.fv-slider-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 710/510;
  overflow: hidden;
  /* ここで指定された固定マスクを適用 */
  -webkit-mask-image: url("../img/fv-clip-path.svg");
  mask-image: url("../img/fv-clip-path.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

.fv-slides {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fv-slides .slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 0;
}

.fv-slides .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fv-slides .slide.is-active {
  /* 次に表示されるスライド（左下からの靄マスク ＋ フェードイン） */
  z-index: 2;
  /* アニメーション用のグラデーションマスク */
  -webkit-mask-image: linear-gradient(to top right, #000 0%, #000 35%, transparent 65%, transparent 100%);
  mask-image: linear-gradient(to top right, #000 0%, #000 35%, transparent 65%, transparent 100%);
  -webkit-mask-size: 250% 250%;
  mask-size: 250% 250%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  /* マスクの移動とフェードインを同時に実行 */
  animation: slideMaskShow 3s cubic-bezier(0.37, 0, 0.63, 1) forwards, fadeIn 3s ease forwards;
}

.fv-slides .slide.is-prev {
  /* 1つ前のスライド（下敷きになりつつフェードアウト） */
  z-index: 1;
  -webkit-mask-image: none;
  mask-image: none;
  /* フェードアウトを実行 */
  animation: fadeOut 3s ease forwards;
}

/* マスクの移動（左下から右上へ） */
@keyframes slideMaskShow {
  0% {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%;
  }
  100% {
    -webkit-mask-position: 0% 100%;
    mask-position: 0% 100%;
  }
}
/* 次の画像のフェードイン（濃くなる） */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* 前の画像のフェードアウト（薄くなる） */
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* ボタンの基本スタイル */
.slider-btn {
  position: absolute;
  bottom: 0;
  right: 1.56vw;
  z-index: 10;
  width: 30px;
}
@media (max-width: 1100px) {
  .slider-btn {
    width: calc(30 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  .slider-btn {
    width: 30px;
  }
}
.slider-btn {
  height: 30px;
}
@media (max-width: 1100px) {
  .slider-btn {
    height: calc(30 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  .slider-btn {
    height: 30px;
  }
}
.slider-btn {
  border-radius: 50%;
  border: 1px solid #222222;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s;
}
@media (max-width: 768px) {
  .slider-btn {
    right: -7px;
  }
}

.slider-btn:hover {
  border: 2px solid #222222;
  font-weight: 600;
}

/* Dashiconsの共通設定 */
.slider-btn::before {
  font-family: "dashicons";
  font-size: 20px;
}
@media (max-width: 1100px) {
  .slider-btn::before {
    font-size: calc(20 / 1100 * 100vw);
  }
}
@media (max-width: 768px) {
  .slider-btn::before {
    font-size: 20px;
  }
}
.slider-btn::before {
  line-height: 1;
  color: #222222;
}

/* 一時停止アイコン (f523) : 再生中に表示 */
.slider-btn.is-playing::before {
  content: "\f523";
}

/* 再生アイコン (f522) : 停止中に表示 */
.slider-btn.is-paused::before {
  content: "\f522";
  margin-left: 2px;
}

.histry-link-sp {
  display: none;
}
@media (max-width: 768px) {
  .histry-link-sp {
    display: flex;
    align-items: flex-start;
    margin-top: 41px;
    font-size: 16px;
    color: #0054a7;
  }
  .histry-link-sp::before {
    content: "";
    display: inline-block;
    width: 1.125em;
    height: 0.9375em;
    margin: 5px 0.39vw 0 0;
    -webkit-mask-image: url("../img/arrow.svg");
    mask-image: url("../img/arrow.svg");
    -webkit-mask-image: url("../img/arrow.svg");
    mask-image: url("../img/arrow.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: #0054a7;
  }
}

section.top-news {
  width: 664px;
  margin: 13.28vw auto 0;
}
@media (max-width: 768px) {
  section.top-news {
    width: 88%;
    margin-top: 68px;
  }
}

section.top-customer {
  width: 664px;
  margin: 13.28vw auto;
  display: flex;
  justify-content: space-between;
}
section.top-customer a {
  text-decoration: none;
  display: block;
  width: 324px;
  height: auto;
  position: relative;
}
section.top-customer a p {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  position: absolute;
  top: 0;
  right: 0;
  margin: 10px 22px 0 0;
}
section.top-customer a svg#for-medical {
  color: #00316c;
}
section.top-customer a svg#for-patient {
  color: #0054a7;
}
section.top-customer a:hover svg#for-medical,
section.top-customer a:hover svg#for-patient {
  color: #b6db00;
}
section.top-customer a:hover p {
  color: #00316c;
}
@media (max-width: 768px) {
  section.top-customer {
    width: 88%;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin: 40px auto 100px;
  }
}

body.translatepress-en_US section.top-fv {
  margin-top: 4.38vw;
}
body.translatepress-en_US section.top-fv div.fv-copy-wrapper {
  margin-top: 1.41vw;
}
body.translatepress-en_US section.top-fv div.fv-copy-wrapper p {
  margin: 2.03vw 0;
  line-height: 1.625;
}
@media (max-width: 768px) {
  body.translatepress-en_US section.top-fv div.fv-copy-wrapper p {
    margin-top: 1em;
  }
}
body.translatepress-en_US section.en-menu a {
  background-color: #0054a7;
  color: #ffffff;
  font-weight: 500;
  font-size: 20px;
  border-radius: 15px;
  display: block;
  padding: 12px 20px;
  text-decoration: none;
}
body.translatepress-en_US section.en-menu a:hover {
  background-color: #b6db00;
  color: #00316c;
  text-decoration: none;
}
body.translatepress-en_US section.en-menu div.en-menu-wrapper {
  width: 664px;
  margin: 185px auto 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 16px;
}
body.translatepress-en_US section.en-menu div.en-menu-wrapper a {
  width: 324px;
  height: 130px;
}
@media (max-width: 768px) {
  body.translatepress-en_US section.en-menu div.en-menu-wrapper {
    width: 88%;
    display: flex;
    flex-direction: column;
    margin: 66px auto 30px;
    align-items: center;
  }
}
body.translatepress-en_US section.en-menu div.en-menu-interview {
  width: 664px;
  margin: 0 auto 187px;
}
body.translatepress-en_US section.en-menu div.en-menu-interview a {
  width: 100%;
  height: 80px;
  position: relative;
}
body.translatepress-en_US section.en-menu div.en-menu-interview a h3,
body.translatepress-en_US section.en-menu div.en-menu-interview a p {
  margin: 0;
}
body.translatepress-en_US section.en-menu div.en-menu-interview a h3 {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
}
body.translatepress-en_US section.en-menu div.en-menu-interview a p {
  position: absolute;
  bottom: 12px;
  right: 20px;
  text-align: right;
  font-size: 18px;
  color: #ffffff;
  width: 100%;
}
body.translatepress-en_US section.en-menu div.en-menu-interview a:hover h3,
body.translatepress-en_US section.en-menu div.en-menu-interview a:hover p {
  color: #00316c;
}
@media (max-width: 768px) {
  body.translatepress-en_US section.en-menu div.en-menu-interview {
    width: 88%;
    margin: 0 auto 66px;
  }
  body.translatepress-en_US section.en-menu div.en-menu-interview a {
    width: 324px;
    height: 130px;
    padding: 20px;
    margin: 0 auto;
  }
}

/* 医療関係者確認モーダル */
#main-contents {
  opacity: 0 !important;
  visibility: hidden !important;
}

.is-verified #main-contents {
  opacity: 1 !important;
  visibility: visible !important;
}

/* オーバーレイ（背景を少し暗くしてモーダルを目立たせる） */
#verification-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 49, 108, 0.66);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* モーダル本体のデザイン */
.med-modal-box {
  background: #fff;
  width: 90%;
  max-width: 600px;
  border-radius: 12px;
  padding: 40px 30px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
@media (max-width: 768px) {
  .med-modal-box {
    max-width: unset;
  }
}

.med-modal-title {
  color: #0054a7;
  /* 画像に近い青色 */
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 15px 0;
}

.med-modal-divider {
  border: none;
  border-top: 1px solid #707070;
  margin-bottom: 20px;
}

.med-modal-text {
  font-size: 16px;
  color: #00316c;
  line-height: 1.6;
  text-align: left;
  margin-bottom: 15px;
}

/*
.med-checkbox-area {
	margin: 30px 0;
}

.med-checkbox-label {
	color: $ltl-blue;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.med-checkbox-label input {
	margin-right: 8px;
	width: 18px;
	height: 18px;
	cursor: pointer;
}
*/
.med-note {
  font-size: 16px;
  color: #222222;
  margin-top: 8px;
}

.med-btn-group {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.med-btn {
  width: 200px;
  padding: 22px 0;
  font-size: 18px;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
}

/* 「はい」ボタン */
.med-btn-yes {
  background: #0054a7;
  color: #fff;
}

/* 「はい」ボタンが無効（チェックなし）の時のスタイル */
/*
.med-btn-yes:disabled {
	background: $gray;
	cursor: not-allowed;
	opacity: 0.7;
}
*/
/* 「いいえ」ボタン */
.med-btn-no {
  background: #c7c7c7;
  color: #00316c;
}

/* PDFページ 戻るボタン */
.pdf-back-button {
  display: block;
  width: min(15.63vw, 200px);
  height: min(5.47vw, 70px);
  margin: 0 auto 5em;
  border-radius: 5px;
  background-color: #0054a7;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  line-height: 3.7;
  font-size: min(1.41vw, 18px);
  font-weight: 500;
}
.pdf-back-button:hover {
  background-color: #b6db00;
  color: #00316c;
}
@media (max-width: 768px) {
  .pdf-back-button {
    width: 200px;
    height: 70px;
    font-size: 18px;
  }
}

/* ScrollHint */
.scroll-hint-icon.scroll-hint-icon-custom {
  width: 180px;
  height: 70px;
  left: calc(50% - 90px); /* widthの半分 */
  padding: 0;
  background: #0054a7;
  top: 200px !important;
}

.scroll-hint-icon.scroll-hint-icon-custom::before {
  content: "";
  display: block;
  width: 180px;
  height: 70px;
  background-image: url("../img/sayu.svg");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  transform: none;
}

.scroll-hint-icon.scroll-hint-icon-custom::after {
  display: none;
  content: none;
  background-image: none;
}

/* 医療関係者の皆さまTOP */
div.product-top {
  background-image: url("../img/product-top.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  aspect-ratio: 128/21;
  margin-top: 100px;
  margin-left: calc(50% - 50vw);
  font-size: min(1.41vw, 18px);
}
div.product-top nav.breadcrumb {
  padding-top: 3.75vw;
}
div.product-top nav.breadcrumb ul {
  padding-left: 4.06vw;
}
div.product-top h2 {
  width: min(51.88vw, 664px);
  margin: 5.31vw auto 0;
  font-size: min(2.5vw, 32px);
  color: #0054a7;
  font-weight: 600;
}

div.product-top-sp {
  background-image: url("../img/product-top-sp.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  aspect-ratio: 15/6;
  position: relative;
}
div.product-top-sp h2 {
  font-size: 28px;
  color: #0054a7;
  font-weight: 600;
  position: absolute;
  top: 54px;
  left: 25px;
}

section.medical-news {
  margin: 100px auto 90px;
}

section.medical-product-list {
  width: 664px;
  margin: 0 auto 160px;
}
section.medical-product-list h2 {
  font-size: 20px;
  color: #00316c;
  font-weight: 500;
  margin-bottom: 30px;
}
section.medical-product-list div.product-section-wrapper {
  width: 100%;
}
section.medical-product-list div.product-section-wrapper section.product-section {
  width: calc((100% - 24px) / 2);
  margin-bottom: 44px;
  border: 3px solid #0054a7;
  border-radius: 10px;
}
section.medical-product-list div.product-section-wrapper section.product-section h3 {
  background-color: #0054a7;
  color: #ffffff;
  font-size: 20px;
  line-height: 2;
  text-align: center;
  margin: 0;
}
section.medical-product-list div.product-section-wrapper section.product-section div.product-link {
  display: flex;
  justify-content: flex-start;
  padding: 24px 0;
}
section.medical-product-list div.product-section-wrapper section.product-section div.product-link svg {
  width: 65px;
  margin-left: 25px;
}
section.medical-product-list div.product-section-wrapper section.product-section div.product-link div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  margin-left: 20px;
}
section.medical-product-list div.product-section-wrapper section.product-section div.product-link div a {
  text-decoration: none;
  font-size: 20px;
  color: #0054a7;
  font-weight: 600;
  display: inline-flex;
  justify-content: space-between;
  width: 180px;
}
section.medical-product-list div.product-section-wrapper section.product-section div.product-link div a::after {
  content: "▶";
  color: #b6db00;
}
section.medical-product-list div.product-section-wrapper section.product-section div.product-link div a:hover {
  background-color: #b6db00;
}
section.medical-product-list div.product-section-wrapper section.product-section div.product-link div a:hover::after {
  color: #ffffff;
}
@media (max-width: 768px) {
  section.medical-product-list div.product-section-wrapper section.product-section div.product-link {
    justify-content: center;
  }
}
@media (max-width: 768px) {
  section.medical-product-list {
    width: 87%;
  }
  section.medical-product-list h2 {
    font-size: 20px;
  }
  section.medical-product-list div.product-section-wrapper {
    width: 100%;
  }
  section.medical-product-list div.product-section-wrapper section.product-section {
    width: 100%;
  }
  section.medical-product-list div.product-section-wrapper section.product-section h3 {
    font-size: 20px;
  }
  section.medical-product-list div.product-section-wrapper section.product-section div.product-link svg {
    width: 65px;
  }
  section.medical-product-list div.product-section-wrapper section.product-section div.product-link div {
    margin-left: 45px;
  }
  section.medical-product-list div.product-section-wrapper section.product-section div.product-link div a {
    font-size: 20px;
    width: 180px;
  }
}

section.product-single-news {
  margin-top: 40px;
}
section.product-single-news div.list-header p {
  margin: 0 !important;
}
section.product-single-news div.list-header a {
  font-size: min(1.09vw, 14px);
}
@media (max-width: 768px) {
  section.product-single-news div.list-header a {
    font-size: 14px;
  }
}
section.product-single-news ul.news-list li a ul li time {
  font-size: min(1.09vw, 14px);
  margin-right: min(0.31vw, 4px);
}
section.product-single-news ul.news-list li a ul li:nth-child(2) {
  font-size: min(1.09vw, 14px);
  width: min(10.55vw, 135px);
}
section.product-single-news ul.news-list li a ul li:nth-child(3) {
  font-size: min(1.25vw, 16px);
  width: min(25.78vw, 330px);
}
section.product-single-news ul.news-list li a ul li:nth-child(4) {
  font-size: min(0.94vw, 12px);
}
section.product-single-news ul.news-list li a ul li:nth-child(4)::after {
  margin-right: min(0.31vw, 4px);
}
@media (max-width: 768px) {
  section.product-single-news ul.news-list li a ul li time {
    font-size: 14px;
    margin-right: 0;
  }
  section.product-single-news ul.news-list li a ul li:nth-child(2) {
    font-size: 14px;
    width: 100%;
  }
  section.product-single-news ul.news-list li a ul li:nth-child(3) {
    font-size: 16px;
    width: 100%;
  }
  section.product-single-news ul.news-list li a ul li:nth-child(4) {
    font-size: 12px;
  }
  section.product-single-news ul.news-list li a ul li:nth-child(4)::after {
    margin-right: 4px;
  }
}
@media (max-width: 768px) {
  section.product-single-news ul.news-list > li:not(:first-child) {
    display: none;
  }
}

/* 製品リスト */
div.product-filter {
  max-width: 1024px;
  margin: 0 auto 20px;
  position: relative;
  font-size: 18px;
}
div.product-filter label {
  color: #00316c;
  font-weight: 600;
  margin-right: 1em;
}
div.product-filter select {
  width: 300px;
  padding: 0.5em;
  border-radius: 5px;
  border: solid 1px rgba(0, 49, 108, 0.2);
  color: #00316c;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
div.product-filter::after {
  position: absolute;
  content: "";
  top: 20px;
  left: 444px;
  width: 12px;
  height: 12px;
  background-color: #00316c;
  -webkit-mask-image: url("../img/arrow-right.svg");
  mask-image: url("../img/arrow-right.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  transform: rotate(90deg);
}
@media (max-width: 768px) {
  div.product-filter {
    width: 100%;
  }
  div.product-filter select {
    width: 100%;
  }
  div.product-filter::after {
    top: 46px;
    left: unset;
    right: 20px;
  }
}

div.product-table-wrapper {
  max-width: 1024px;
  margin: 0 auto 80px;
  padding: 0 10px;
}
div.product-table-wrapper div.product-table-wrapper-inner {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
div.product-table-wrapper div.product-table-wrapper-inner table.product-table {
  width: 1004px !important;
  min-width: 1004px;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 16px;
}
div.product-table-wrapper div.product-table-wrapper-inner table.product-table thead tr {
  background-color: #0054a7;
  color: #ffffff;
}
div.product-table-wrapper div.product-table-wrapper-inner table.product-table thead tr th {
  font-weight: 600;
  padding: 1em 0;
}
div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr td {
  border: 1px solid #c7c7c7;
  padding: 1em 0;
}
div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr td.product-name {
  background-color: #f4faff;
  font-weight: 600;
  padding-left: 1em;
}

/* 製品情報デフォルト */
section.product-default {
  margin-top: 3em;
}

.js-sticky-table {
  position: relative;
}
.js-sticky-table .product-table-sticky-head {
  position: fixed;
  top: 100px;
  left: 0;
  width: 100%;
  z-index: 2;
  display: none;
  overflow: hidden;
  pointer-events: none;
  box-sizing: border-box;
  padding: 0;
}
.js-sticky-table .product-table-sticky-head.is-active {
  display: block;
}
.js-sticky-table .product-table-sticky-head-inner {
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.js-sticky-table .product-table-head-clone {
  position: relative;
  margin: 0 !important;
  pointer-events: none;
}
.js-sticky-table .product-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}
.js-sticky-table table.product-table {
  width: 1024px;
  min-width: 1024px;
  margin: 0 auto;
  border-collapse: collapse;
}
.js-sticky-table table.product-table thead tr {
  background-color: #0054a7;
  color: #ffffff;
}
.js-sticky-table table.product-table thead th {
  font-weight: 600;
  border: 1px solid #ffffff;
}

section.product-list {
  margin: 3em 0 100px;
  width: 100%;
  padding: 0 1em;
}
section.product-list table.product-table {
  width: 1024px;
  min-width: 1024px;
  margin: 0 auto;
  border-collapse: collapse;
  font-size: 14px;
}
section.product-list table.product-table thead tr {
  background-color: #0054a7;
  color: #ffffff;
}
section.product-list table.product-table thead tr th {
  font-weight: 400;
  border: 1px solid #ffffff;
}
section.product-list table.product-table thead tr:first-child th:first-child {
  width: 13%;
}
section.product-list table.product-table thead tr:first-child th:nth-child(2) {
  width: 12%;
}
section.product-list table.product-table thead tr:first-child th:nth-child(3), section.product-list table.product-table thead tr:first-child th:nth-child(4), section.product-list table.product-table thead tr:first-child th:nth-child(12) {
  width: 6%;
}
section.product-list table.product-table thead tr:first-child th:nth-child(5) {
  width: 9%;
}
section.product-list table.product-table thead tr:first-child th:nth-child(6) {
  width: 6%;
}
section.product-list table.product-table thead tr:first-child th:nth-child(7) {
  width: 10%;
}
section.product-list table.product-table thead tr:first-child th:nth-child(8), section.product-list table.product-table thead tr:first-child th:nth-child(9) {
  width: 5%;
}
section.product-list table.product-table thead tr:first-child th:nth-child(10), section.product-list table.product-table thead tr:first-child th:nth-child(11) {
  width: 7%;
}
section.product-list table.product-table thead tr:first-child th:last-child {
  width: 8%;
}
section.product-list table.product-table .chatbot-icon {
  width: 20px;
}
section.product-list table.product-table tbody tr th {
  font-weight: 500;
  color: #0054a7;
  padding-left: 0.5em;
  text-align: left;
}
section.product-list table.product-table tbody tr th a {
  text-decoration: none;
}
section.product-list table.product-table tbody tr th a:hover {
  text-decoration: underline;
}
section.product-list table.product-table tbody tr th a span {
  font-size: 12px;
}
section.product-list table.product-table tbody tr td {
  text-align: center;
}
section.product-list table.product-table tbody tr td:not(:first-child) a {
  display: inline-block;
  width: 15px;
}
section.product-list table.product-table tbody tr td.strength {
  font-weight: 500;
  padding-left: 0.5em;
  text-align: left;
}
section.product-list table.product-table tbody tr td.product_images div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
section.product-list table.product-table tbody tr td .product-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
section.product-list table.product-table tbody tr td .product-tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  z-index: 10;
  min-width: max-content;
  max-width: 240px;
  padding: 6px 10px;
  color: #fff;
  background: #0054a7;
  border-radius: 4px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.5;
  text-align: center;
  white-space: normal;
  word-break: keep-all;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}
section.product-list table.product-table tbody tr td .product-tooltip::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 3px);
  transform: translateX(-50%);
  z-index: 11;
  border-width: 5px 5px 0 5px;
  border-style: solid;
  border-color: #0054a7 transparent transparent transparent;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}
section.product-list table.product-table tbody tr td .product-tooltip:hover::after, section.product-list table.product-table tbody tr td .product-tooltip:hover::before, section.product-list table.product-table tbody tr td .product-tooltip:focus-visible::after, section.product-list table.product-table tbody tr td .product-tooltip:focus-visible::before {
  opacity: 1;
  visibility: visible;
}
section.product-list p.nerisona-annotation {
  display: block;
  max-width: 1024px;
  margin: 1em auto 0;
}
@media (max-width: 768px) {
  section.product-list p.nerisona-annotation {
    font-size: 14px;
  }
}

/* 製品アレルギー表 */
section.allergy-indication-list {
  margin: 3em 0 100px;
  width: 100%;
  max-width: 100%;
}
section.allergy-indication-list div.product-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding: 0 1em;
  box-sizing: border-box;
}
section.allergy-indication-list div.product-table-scroll table.product-table {
  width: 1024px;
  min-width: 1024px;
  margin: 0 auto;
  border-collapse: collapse;
}
section.allergy-indication-list div.product-table-scroll table.product-table thead tr {
  background-color: #0054a7;
  color: #ffffff;
}
section.allergy-indication-list div.product-table-scroll table.product-table thead tr th {
  font-weight: 600;
  padding: 1em 0;
}
section.allergy-indication-list div.product-table-scroll table.product-table thead tr th:first-child {
  width: 30%;
}
section.allergy-indication-list div.product-table-scroll table.product-table thead tr th:nth-child(2) {
  width: 50%;
}
section.allergy-indication-list div.product-table-scroll table.product-table thead tr th:nth-child(3) {
  width: 20%;
}
section.allergy-indication-list div.product-table-scroll table.product-table tbody tr td {
  border: 1px solid #c7c7c7;
  padding: 1em 0;
}
section.allergy-indication-list div.product-table-scroll table.product-table tbody tr td:nth-child(2) span {
  color: #c7c7c7;
  font-size: 14px;
  padding-left: 1em;
}
section.allergy-indication-list div.product-table-scroll table.product-table tbody tr td:nth-child(2) ul.allergen-list {
  display: flex;
  padding-left: 1em;
  margin: 0;
}
section.allergy-indication-list div.product-table-scroll table.product-table tbody tr td:nth-child(2) ul.allergen-list li {
  border: solid 1px #c7c7c7;
  border-radius: 4px;
  padding: 4px 0;
  margin-right: 0.5em;
  width: 8em;
  text-align: center;
  line-height: 1.6;
  font-size: 14px;
  background-color: #f4faff;
}
section.allergy-indication-list div.product-table-scroll table.product-table tbody tr td:nth-child(2) ul.allergen-list li.investigation {
  color: #fff;
  background-color: #777;
}
section.allergy-indication-list div.product-table-scroll table.product-table tbody tr td:nth-child(3) a {
  display: block;
  width: 26px;
  margin: 0 auto;
}
section.allergy-indication-list div.product-table-scroll table.product-table tbody tr td:nth-child(3) {
  text-align: center;
}
section.allergy-indication-list div.product-table-scroll table.product-table tbody tr td.product-name {
  background-color: #f4faff;
  font-weight: 600;
  padding-left: 1em;
}

/* 製品コード */
section.product-code-list {
  margin: 3em 0 100px;
  width: 100%;
  max-width: 100%;
  padding: 0 1em;
  box-sizing: border-box;
}
section.product-code-list table.product-table thead tr th {
  padding: 1em 0;
  border: 1px solid #ffffff;
}
section.product-code-list table.product-table thead tr th:first-child {
  width: 12%;
}
section.product-code-list table.product-table thead tr th:nth-child(2) {
  width: 12%;
}
section.product-code-list table.product-table thead tr th:nth-child(3) {
  width: 40%;
}
section.product-code-list table.product-table thead tr th:last-child {
  width: 36%;
}
section.product-code-list table.product-table tbody {
  font-size: 14px;
}
section.product-code-list table.product-table tbody tr td {
  border: 1px solid #c7c7c7;
  padding: 0;
  height: 1px;
}
section.product-code-list table.product-table tbody tr td.product-title {
  padding-left: 1em;
  background-color: #f4faff;
}
section.product-code-list table.product-table tbody tr td.product-package {
  text-align: center;
  padding: 0 0.5em;
}
section.product-code-list table.product-table tbody tr td table {
  table-layout: fixed;
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  border: none;
}
section.product-code-list table.product-table tbody tr td table tr {
  height: 100%;
}
section.product-code-list table.product-table tbody tr td table th.child-header {
  font-weight: 400;
  text-align: left;
  background-color: #fffdf0;
  padding: 0.5em 0.2em;
  box-sizing: border-box;
  border-right: 1px solid #c7c7c7;
  width: 46% !important;
  display: table-cell;
}
section.product-code-list table.product-table tbody tr td table td {
  border: none;
  text-align: center;
  box-sizing: border-box;
  width: 55% !important;
}
section.product-code-list table.product-table tbody tr td table.barcode-sub-table th.child-header {
  width: 10% !important;
  text-align: center;
}
section.product-code-list table.product-table tbody tr td table.barcode-sub-table td:nth-of-type(1) {
  width: 40% !important;
  border-right: 1px solid #c7c7c7;
}
section.product-code-list table.product-table tbody tr td table.barcode-sub-table td:nth-of-type(2) {
  width: 40% !important;
}
section.product-code-list table.product-table tbody tr td table.barcode-sub-table td:nth-of-type(2) img {
  width: 90%;
}
section.product-code-list table.product-table tbody tr.is-even td.product-title, section.product-code-list table.product-table tbody tr.product-item.js-even-override td.product-title {
  background-color: #f4faff;
}
section.product-code-list table.product-table tbody tr.is-even td table th.child-header, section.product-code-list table.product-table tbody tr.product-item.js-even-override td table th.child-header {
  background-color: #fffdf0;
}
section.product-code-list p.call-senter-no {
  display: block;
  margin: 1em auto 3em;
  width: 1004px;
}
@media (max-width: 768px) {
  section.product-code-list p.call-senter-no {
    width: 100%;
  }
}

/* ロットと使用期限 */
section.expiration-date-list {
  margin: 3em 0 100px;
  padding: 0 1em;
}
section.expiration-date-list div.product-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}
section.expiration-date-list div.product-table-scroll table.product-table {
  width: 1024px;
  min-width: 1024px;
  margin: 0 auto;
  border-collapse: collapse;
}
section.expiration-date-list div.product-table-scroll table.product-table thead tr {
  background-color: #0054a7;
  color: #ffffff;
}
section.expiration-date-list div.product-table-scroll table.product-table thead tr th {
  font-weight: 600;
  padding: 1em 0;
}
section.expiration-date-list div.product-table-scroll table.product-table thead tr th:first-child {
  width: 40%;
}
section.expiration-date-list div.product-table-scroll table.product-table thead tr th:nth-child(2), section.expiration-date-list div.product-table-scroll table.product-table thead tr th:nth-child(3), section.expiration-date-list div.product-table-scroll table.product-table thead tr th:last-child {
  width: 20%;
}
section.expiration-date-list div.product-table-scroll table.product-table tbody tr td {
  border: 1px solid #c7c7c7;
  padding: 1em 0;
}
section.expiration-date-list div.product-table-scroll table.product-table tbody tr td:first-child {
  padding-left: 1em;
  background-color: #f4faff;
}
section.expiration-date-list div.product-table-scroll table.product-table tbody tr td:nth-child(2), section.expiration-date-list div.product-table-scroll table.product-table tbody tr td:nth-child(3), section.expiration-date-list div.product-table-scroll table.product-table tbody tr td:last-child {
  text-align: center;
}
section.expiration-date-list div.filter-wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1004px;
  margin: 0 auto 20px;
}
section.expiration-date-list div.filter-wrapper div.product-filter {
  width: auto;
  margin: 0;
}
section.expiration-date-list div.filter-wrapper div.product-filter ::after {
  left: 444px;
}
section.expiration-date-list div.filter-wrapper div.serial-filter {
  font-size: 18px;
}
section.expiration-date-list div.filter-wrapper div.serial-filter label {
  color: #00316c;
  font-weight: 600;
  margin-right: 1em;
}
section.expiration-date-list div.filter-wrapper div.serial-filter input {
  padding: 0.5em;
  width: 257px;
  height: 46px;
  border-radius: 5px;
  border: solid 1px rgba(0, 49, 108, 0.2);
}
@media (max-width: 1056px) {
  section.expiration-date-list div.filter-wrapper {
    flex-direction: column;
    gap: 10px;
  }
}
@media (max-width: 768px) {
  section.expiration-date-list div.filter-wrapper {
    width: 100%;
  }
  section.expiration-date-list div.filter-wrapper div.serial-filter {
    width: 100%;
  }
  section.expiration-date-list div.filter-wrapper div.serial-filter input {
    width: 100%;
  }
}

/* 添付文書同梱廃止情報一覧 */
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table thead tr th:first-child {
  width: 23%;
}
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table thead tr th:nth-child(2) {
  width: 14%;
}
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table thead tr th:nth-child(3) {
  width: 13%;
}
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table thead tr th:nth-child(4) {
  width: 17%;
}
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table thead tr th:nth-child(5), section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table thead tr th:last-child {
  width: 9%;
}
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table thead tr th:nth-child(6) {
  width: 15%;
}
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody {
  font-size: 14px;
}
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr {
  line-height: 1.5;
}
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr td:first-child {
  padding-left: 1em;
}
section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr td:nth-child(2), section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr td:nth-child(3), section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr td:nth-child(4), section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr td:nth-child(5), section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr td:nth-child(6), section.pi-digitization-list div.product-table-wrapper div.product-table-wrapper-inner table.product-table tbody tr td:last-child {
  text-align: center;
}

/* スペシャルコンテンツ カルーセル*/
section.special-carousel-section {
  width: 664px;
  margin: 60px auto;
}
@media (max-width: 768px) {
  section.special-carousel-section {
    width: 88%;
  }
}
section.special-carousel-section .special-carousel {
  padding-left: 0;
  list-style: none;
}
section.special-carousel-section .special-carousel__item {
  padding: 0 8px;
}
section.special-carousel-section .special-carousel__link {
  display: block;
}
section.special-carousel-section .special-carousel__image {
  display: block;
  width: 100%;
  height: auto;
}
section.special-carousel-section .special-carousel .slick-dots,
section.special-carousel-section .special-carousel-section .slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 24px 0 0;
  padding-left: 0;
  list-style: none;
}
section.special-carousel-section .special-carousel .slick-dots li,
section.special-carousel-section .special-carousel-section .slick-dots li {
  margin: 0;
  padding: 0;
  list-style: none;
}
section.special-carousel-section .special-carousel .slick-dots button,
section.special-carousel-section .special-carousel-section .slick-dots button {
  display: block;
  width: 12px;
  height: 12px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #c7c7c7;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
section.special-carousel-section .special-carousel .slick-dots .slick-active button,
section.special-carousel-section .special-carousel-section .slick-dots .slick-active button {
  background-color: #0054a7;
}
section.special-carousel-section a.drug-pricing-button {
  margin: 60px 0 96px;
  width: 100%;
  height: 70px;
  padding: 0 15px 0 27px;
  line-height: 3;
  background-color: #9dd5ff;
  border-radius: 10px;
  color: #0054a7;
  font-size: 20px;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
}
section.special-carousel-section a.drug-pricing-button::after {
  content: "";
  width: 20px;
  height: 20px;
  background-color: #0054a7;
  /* SVGをマスクとして設定 */
  -webkit-mask-image: url("../img/arrow.svg");
  mask-image: url("../img/arrow.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
section.special-carousel-section a.drug-pricing-button:hover {
  background-color: #b6db00;
  color: #00316c;
}
section.special-carousel-section a.drug-pricing-button:hover::after {
  background-color: #00316c;
}

/* スペシャルコンテンツ アーカイブ */
section.special-archive {
  width: min(51.88vw, 664px);
  margin: 60px auto 160px;
}
section.special-archive .special-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 60px min(1.09vw, 14px);
  padding-left: 0;
  list-style: none;
}
section.special-archive .special-card {
  display: block;
  text-decoration: none;
}
section.special-archive .special-card:hover .special-card__image {
  opacity: 0.7;
}
section.special-archive .special-card:hover .special-card__title {
  text-decoration: underline;
}
section.special-archive .special-card:hover .special-card__caption {
  color: #0054a7;
}
section.special-archive .special-card__thumbnail {
  margin: 0 0 12px;
}
section.special-archive .special-card__image {
  display: block;
  width: 100%;
  height: auto;
}
section.special-archive .special-card__title {
  font-size: min(1.41vw, 18px);
  color: #0054a7;
  margin: 0 0 4px;
  font-weight: 700;
  line-height: 1.5;
}
section.special-archive .special-card__caption {
  margin: 0;
  font-size: min(1.25vw, 16px);
  line-height: 1.5;
  color: #222222;
}
@media (max-width: 768px) {
  section.special-archive {
    width: 88%;
  }
  section.special-archive .special-list {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  section.special-archive .special-card__title {
    font-size: 16px;
  }
  section.special-archive .special-card__caption {
    font-size: 14px;
  }
}

article.special-single {
  width: 90%;
  margin: 60px auto;
}
article.special-single h3 {
  font-size: min(1.72vw, 22px);
  color: #00316c;
  font-weight: 500;
  line-height: 1.5;
}
article.special-single p.sc-caption {
  font-size: min(1.41vw, 18px);
  margin: 1em 0;
}
article.special-single div.pdfjs-wrapper {
  width: 100%;
}
article.special-single div.pdfjs-wrapper .toolbarHorizontalGroup {
  display: none !important;
}
article.special-single iframe {
  width: 80%;
  margin: 0 auto;
  display: block;
  aspect-ratio: 16/9;
}
@media (max-width: 768px) {
  article.special-single h3 {
    font-size: 18px;
  }
  article.special-single iframe {
    width: 100%;
  }
}

div.corp-contents {
  display: grid;
  grid-template-columns: clamp(293.353125px, 29.453125vw, 377px) 1fr; /* 左固定幅 / 右可変 */
  grid-template-rows: auto 1fr;
  overflow-x: hidden;
}
@media (max-width: 768px) {
  div.corp-contents {
    display: flex;
    flex-direction: column;
  }
}
div.corp-contents aside {
  margin-top: 77px;
  grid-column: 1;
  grid-row: 2;
  justify-self: end;
}
div.corp-contents aside ul {
  list-style: none;
  color: #0054a7;
  font-size: clamp(14.00625px, 1.40625vw, 18px);
  font-weight: 500;
  width: 239px;
  padding-left: 0;
  margin-bottom: 70px;
}
div.corp-contents aside ul li {
  border-bottom: 1px solid #585858;
}
div.corp-contents aside ul li a {
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px 7px 4px;
}
div.corp-contents aside ul li a:hover {
  background-color: #b6db00;
  color: #00316c;
}
div.corp-contents aside ul li.current_page_item {
  color: #c7c7c7;
}
div.corp-contents aside div.about-pdf-link {
  position: relative;
  height: 70px;
  margin-bottom: 50px;
}
div.corp-contents aside div.about-pdf-link a {
  width: 239px;
}
div.corp-contents aside div.about-pdf-link a:hover {
  width: 255px;
}
@media (max-width: 768px) {
  div.corp-contents aside {
    justify-self: auto;
  }
}
div.corp-contents section {
  width: min(51.88vw, 664px);
  margin: 141px auto 50px;
}
@media (max-width: 768px) {
  div.corp-contents section {
    width: 88%;
    margin: 66px auto 50px;
  }
}
div.corp-contents section.corp-main {
  grid-column: 2;
  grid-row: 1/3;
  font-size: clamp(14.00625px, 1.40625vw, 18px);
  line-height: 2;
}
div.corp-contents section.corp-main h3 {
  font-size: clamp(17.11875px, 1.71875vw, 22px);
  font-weight: 600;
  color: #0054a7;
  line-height: 1.5;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main h3 {
    font-size: 18px;
  }
}
div.corp-contents section.corp-main p {
  margin: 0 0 1em;
}
div.corp-contents section.corp-main hr {
  border: none;
  border-top: 1px dashed #585858;
  margin: 70px 0;
}
div.corp-contents section.corp-main.corp-main-about h3 {
  margin-bottom: 1.5em;
}
div.corp-contents section.corp-main.corp-main-about div.president-greeting {
  font-size: clamp(12.45px, 1.25vw, 16px);
}
div.corp-contents section.corp-main.corp-main-about figure.president-picture {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
  margin: 60px 0 100px;
}
div.corp-contents section.corp-main.corp-main-about figure.president-picture img {
  width: clamp(120.609375px, 12.109375vw, 155px);
  height: auto;
  border-radius: 5px;
}
div.corp-contents section.corp-main.corp-main-about figure.president-picture figcaption {
  margin-right: 25px;
}
div.corp-contents section.corp-main.corp-main-about figure.president-picture figcaption div.president-title {
  display: inline-block;
  line-height: 1.375;
}
div.corp-contents section.corp-main.corp-main-about figure.president-picture figcaption div.president-name {
  font-size: clamp(15.5625px, 1.5625vw, 20px);
  font-weight: 500;
  margin-bottom: 0 !important;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.corp-main-about figure.president-picture figcaption div.president-name {
    font-size: 14px;
  }
}
div.corp-contents section.corp-main.corp-main-about figure.president-picture figcaption p {
  display: none;
}
div.corp-contents section.corp-main.corp-main-philosophy p.our-mission {
  font-size: clamp(26.45625px, 2.65625vw, 34px);
  font-weight: 600;
  color: #0054a7;
  line-height: 1.65;
  margin-top: 38px !important;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-vision {
  list-style: none;
  padding-left: 0;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-vision li {
  margin-left: 1.2em;
  text-indent: -0.6em;
  line-height: 1.6;
  margin-bottom: 1.6em;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-vision li::before {
  content: "■";
  display: inline-block;
  color: #0054a7;
  margin-right: 0.2em;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-left: 0;
  margin-top: 57px;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li {
  width: 33.3%;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  margin-bottom: 75px;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li div {
  width: clamp(93.375px, 9.375vw, 120px);
  height: clamp(93.375px, 9.375vw, 120px);
  display: flex;
  align-items: center;
  justify-content: center;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li div img {
  width: 100%;
  height: auto;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li p {
  text-align: center;
  font-size: clamp(15.5625px, 1.5625vw, 20px);
  font-weight: 500;
  line-height: 1.4;
  margin: 18px 0 0;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li:first-child img {
  width: clamp(85.59375px, 8.59375vw, 110px);
  margin-top: 19px;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li:nth-child(2) img {
  width: clamp(93.375px, 9.375vw, 120px);
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li:nth-child(3) img {
  width: clamp(77.8125px, 7.8125vw, 100px);
  margin-top: 12px;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li:nth-child(4) img {
  width: clamp(84.815625px, 8.515625vw, 109px);
  margin-top: 5px;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li:nth-child(4) p {
  margin-bottom: 28px;
}
div.corp-contents section.corp-main.corp-main-philosophy ul.our-value li:last-child img {
  width: clamp(93.375px, 9.375vw, 120px);
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper {
  width: 51.86vw;
  max-width: 664px;
  background-color: #f5f5f5;
  margin: 40px 0 60px;
  padding-top: 40px;
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner {
  display: flex;
  justify-content: space-evenly;
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.line-arrow {
  position: relative;
  width: 4px;
  align-self: stretch;
  /* 縦線（グラデーション） */
  background: linear-gradient(to bottom, #c7c7c7, #0054a7);
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.line-arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(15.5625px, 1.5625vw, 20px);
  height: clamp(15.5625px, 1.5625vw, 20px);
  border-left: 4px solid #0054a7;
  border-bottom: 4px solid #0054a7;
  transform: translateX(-50%) rotate(-45deg);
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.chronology {
  width: 40.94vw;
  max-width: 524px;
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.chronology h4 {
  font-size: clamp(18.675px, 1.875vw, 24px);
  font-weight: 800;
  color: #0054a7;
  margin: 0 0 1em 0;
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.chronology h5 {
  font-size: clamp(14.00625px, 1.40625vw, 18px);
  font-weight: 500;
  color: #00316c;
  margin: 0 0 0.5em 0;
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.chronology p {
  font-size: clamp(12.45px, 1.25vw, 16px);
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.chronology hr {
  margin: 40px 0;
}
div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper p.chronology-notes {
  font-size: 14px;
  text-align: right;
  padding: 0 22px 19px 0;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper {
    width: 100%;
  }
  div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.chronology {
    width: 250px;
  }
  div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.chronology h4 {
    font-size: 18px;
  }
  div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.chronology h5 {
    font-size: 16px;
    line-height: 1.5;
  }
  div.corp-contents section.corp-main.corp-main-history div.chronology-wrapper div.chronology-inner div.chronology p {
    font-size: 14px;
  }
}
div.corp-contents section.corp-main.corp-main-history div.interview-banner {
  margin-bottom: 149px;
}
div.corp-contents section.corp-main.corp-main-history div.interview-banner a {
  width: 65.16vw;
  max-width: 834px;
  display: inline-block;
  line-height: 0;
  margin-left: calc(-1 * min(168px, 13.13vw));
}
div.corp-contents section.corp-main.corp-main-history div.interview-banner a img {
  width: 100%;
  background: linear-gradient(0deg, #f5f5f5 70%, #ffffff 70%);
}
div.corp-contents section.corp-main.corp-main-history div.interview-banner a img:hover {
  background: linear-gradient(0deg, #b6db00 70%, #ffffff 70%);
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.corp-main-history div.interview-banner {
    margin-bottom: 50px;
  }
  div.corp-contents section.corp-main.corp-main-history div.interview-banner a {
    width: 100%;
    max-width: 324px;
    margin: 0 auto;
  }
  div.corp-contents section.corp-main.corp-main-history div.interview-banner a img {
    background: unset;
  }
}
div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper {
  margin-top: 103px;
}
div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details {
  width: 100%;
  display: flex;
  margin-bottom: 30px;
}
div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details img {
  width: 14.61vw;
  height: fit-content;
  max-width: 187px;
}
div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div {
  background-color: #f5f5f5;
  padding: 1.7vw 2.58vw 0 2.27vw;
  border-radius: 0 15px 15px 0;
  line-height: clamp(1.2, calc(1.2 + 0.3vw), 1.78);
  width: 37.5vw;
  max-width: 480px;
}
div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div h3 {
  font-size: min(1.72vw, 22px);
  font-weight: 600;
  color: #0054a7;
  margin: 0 0 0.5em;
}
div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div p {
  font-size: min(1.41vw, 18px);
  line-height: 1.78;
  margin: 0;
}
div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div a {
  color: #0054a7;
  display: inline-flex;
  align-items: center;
  margin-top: 1em;
}
div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div a::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  -webkit-mask-image: url("../img/arrow-circle.svg");
  mask-image: url("../img/arrow-circle.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #0054a7;
}
div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div ul {
  margin: 0;
  font-size: min(1.41vw, 18px);
  padding-left: 1.5em;
  display: flex;
  flex-wrap: wrap;
  gap: 0 2.5em;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper {
    margin-top: 48px;
  }
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details {
    flex-direction: column;
  }
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details img {
    width: 100%;
    max-width: unset;
  }
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div {
    width: 100%;
    max-width: unset;
    padding: 2em 1.5em;
    border-radius: 0 0 15px 15px;
  }
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div h3 {
    font-size: 18px;
  }
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div p,
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div a,
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div ul {
    font-size: 14px;
  }
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div ul {
    flex-direction: column;
  }
  div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details > p {
    display: none;
  }
}
div.corp-contents section.corp-main.corp-main-business h3.regions-header {
  font-size: clamp(14.00625px, 1.40625vw, 18px);
  font-weight: 500;
}
div.corp-contents section.corp-main.corp-main-business h3.regions-header span {
  font-weight: 700;
  margin-right: 1em;
}
div.corp-contents section.corp-main.corp-main-business div.partnership-regions {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin: 20px 0;
}
div.corp-contents section.corp-main.corp-main-business div.partnership-regions h6 {
  width: 13%;
  background-color: #0054a7;
  border-radius: 20px;
  color: #ffffff;
  font-size: clamp(12.45px, 1.25vw, 16px);
  font-weight: 500;
  text-align: center;
  margin: 0;
}
div.corp-contents section.corp-main.corp-main-business div.partnership-regions p {
  width: 85%;
  font-size: clamp(12.45px, 1.25vw, 16px);
}
div.corp-contents section.corp-main.corp-main-business div.partnership-regions:last-child {
  margin-bottom: 151px;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.corp-main-business div.partnership-regions:last-child {
    margin-bottom: 50px;
  }
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.corp-main-business h3.regions-header {
    font-size: 14px;
  }
  div.corp-contents section.corp-main.corp-main-business div.partnership-regions {
    margin: 20px 0 0;
  }
  div.corp-contents section.corp-main.corp-main-business div.partnership-regions h6,
  div.corp-contents section.corp-main.corp-main-business div.partnership-regions p {
    font-size: 14px;
  }
  div.corp-contents section.corp-main.corp-main-business div.partnership-regions h6 {
    width: 18%;
    line-height: 1.5;
  }
  div.corp-contents section.corp-main.corp-main-business div.partnership-regions p {
    width: 80%;
    margin: 0;
  }
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper {
  padding: 50px min(3.28vw, 42px) 66px;
  margin: 38px 0 150px;
  background-color: #f5f5f5;
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper p {
  font-weight: 500;
  margin-bottom: 51px;
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure {
  position: relative;
  display: grid;
  grid-template-columns: min(14.37vw, 184px) 1fr;
  font-size: min(1.41vw, 18px);
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: min(28.13vw, 360px);
  left: max(-1.17vw, -15px);
  width: min(14.37vw, 184px);
  border-left: 1px solid #707070;
  border-right: 1px solid #707070;
  border-top: 1px solid #707070;
  border-radius: 999px 999px 0 0;
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div {
  z-index: 1;
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div img {
  width: min(11.8vw, 151px);
  margin-top: min(1.56vw, 20px);
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div small {
  display: block;
  text-align: right;
  margin: 18px 0 64px;
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div.management-description {
  width: min(27.34vw, 350px);
  margin-left: min(1.56vw, 20px);
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(3) {
  position: relative;
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(3)::before, div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(3)::after {
  content: "";
  position: absolute;
  display: block;
  width: min(1.56vw, 20px);
  height: min(1.56vw, 20px);
  background-image: url("../img/management_arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(3)::before {
  top: -130px;
  left: min(12.42vw, 159px);
  transform: rotate(180deg);
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(3)::after {
  bottom: 120px;
  left: max(-1.88vw, -24px);
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(5) {
  position: relative;
}
div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(5)::before {
  content: "";
  position: absolute;
  left: max(-1.17vw, -15px);
  /* 上側の線と重なる位置 */
  top: min(3.36vw, 43px);
  width: min(14.37vw, 184px);
  /* 最後の画像の高さ＋余白 */
  height: min(11.72vw, 150px);
  border-left: 1px solid #707070;
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
  border-radius: 0 0 999px 999px;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.corp-main-management h3 {
    margin-top: 60px;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper {
    margin: 20px 0 50px;
    padding: 22px 0 120px;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper p {
    width: 86%;
    margin: 0 auto 51px;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 14px;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div img {
    width: 134px;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div.management-description {
    width: 77%;
    margin: 1em 0 0;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div.management-description small {
    font-size: 12px;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(3)::before, div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(3)::after {
    display: none;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure div:nth-child(5)::before {
    display: none;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure::before {
    border: 1px solid #707070;
    top: -30px;
    left: 25px;
    right: 25px;
    bottom: -80px;
    width: auto;
    border-radius: 999px;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper {
    position: relative;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper::before, div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper::after {
    content: "";
    position: absolute;
    display: block;
    width: 26px;
    height: 26px;
    background-image: url("../img/management_arrow.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper::before {
    top: 35%;
    right: 12px;
    transform: rotate(180deg);
    z-index: 1;
  }
  div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper::after {
    bottom: 22%;
    left: 12px;
  }
}
div.corp-contents section.corp-main.corp-main-company div.company-history {
  display: flex;
  justify-content: space-between;
  margin: 39px 0 100px;
}
div.corp-contents section.corp-main.corp-main-company div.company-history div {
  width: min(32.42vw, 415px);
  font-weight: 500;
}
div.corp-contents section.corp-main.corp-main-company div.company-history img {
  width: min(17.66vw, 226px);
  border-radius: 10px;
}
div.corp-contents section.corp-main.corp-main-company dl {
  margin: 42px 0 101px;
  display: flex;
  flex-wrap: wrap;
}
div.corp-contents section.corp-main.corp-main-company dl dt,
div.corp-contents section.corp-main.corp-main-company dl dd {
  padding: 1.8em 0;
  border-bottom: 1px solid #707070;
}
div.corp-contents section.corp-main.corp-main-company dl dt {
  width: 22%;
}
div.corp-contents section.corp-main.corp-main-company dl dd {
  width: 78%;
  margin: 0;
}
div.corp-contents section.corp-main.corp-main-company div.map-area {
  margin: 0 0 278px max(-26.56vw, -340px);
  position: relative;
}
div.corp-contents section.corp-main.corp-main-company div.map-area div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
div.corp-contents section.corp-main.corp-main-company div.map-area div h3,
div.corp-contents section.corp-main.corp-main-company div.map-area div p {
  margin: 0;
}
div.corp-contents section.corp-main.corp-main-company div.map-area div h3 {
  line-height: unset;
  margin-right: 1em;
}
div.corp-contents section.corp-main.corp-main-company div.map-area iframe {
  aspect-ratio: 1004/400;
  max-width: 1004px;
  width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.corp-main-company div.company-history {
    flex-direction: column;
    margin: 2em 0 80px;
  }
  div.corp-contents section.corp-main.corp-main-company div.company-history div {
    width: 100%;
  }
  div.corp-contents section.corp-main.corp-main-company div.company-history img {
    width: 50%;
    margin: 2em auto 0;
  }
  div.corp-contents section.corp-main.corp-main-company dl {
    margin: 2em 0 50px;
  }
  div.corp-contents section.corp-main.corp-main-company dl dt,
  div.corp-contents section.corp-main.corp-main-company dl dd {
    padding: 1em 0;
    width: 100%;
  }
  div.corp-contents section.corp-main.corp-main-company dl dt {
    border: none;
    padding-bottom: 0;
    font-weight: 600;
  }
  div.corp-contents section.corp-main.corp-main-company dl dd {
    padding-top: 0;
  }
  div.corp-contents section.corp-main.corp-main-company div.map-area {
    margin: 0;
  }
  div.corp-contents section.corp-main.corp-main-company div.map-area div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  div.corp-contents section.corp-main.corp-main-company div.map-area div h3 {
    margin-bottom: 2em;
  }
  div.corp-contents section.corp-main.corp-main-company div.map-area iframe {
    height: 250px;
  }
}
div.corp-contents section.corp-main.corp-main-authorized-dealers p {
  margin-bottom: 100px;
}
div.corp-contents section.corp-main.corp-main-authorized-dealers h3 {
  margin-bottom: 42px;
}
div.corp-contents section.corp-main.corp-main-authorized-dealers h3 span {
  font-size: clamp(12.45px, 1.25vw, 16px);
}
div.corp-contents section.corp-main.corp-main-authorized-dealers ul {
  column-count: 2;
  padding-left: 0;
  font-size: min(1.25vw, 16px);
  margin-bottom: 149px;
  max-width: 664px;
}
div.corp-contents section.corp-main.corp-main-interview p {
  margin-bottom: 2em;
}
div.corp-contents section.corp-main.corp-main-interview p.interview-preface {
  font-size: min(1.72vw, 22px);
  font-weight: 600;
  color: #00316c;
  margin-bottom: 93px;
}
div.corp-contents section.corp-main.corp-main-interview p.interview-q {
  font-size: min(1.56vw, 20px);
  font-weight: 600;
  color: #0054a7;
}
div.corp-contents section.corp-main.corp-main-interview p.interview-q::before {
  content: "――";
}
div.corp-contents section.corp-main.corp-main-interview div.interview-contents {
  margin-bottom: 60px;
}
div.corp-contents section.corp-main.corp-main-interview div.interview-figure-wrapper figure {
  float: right;
  width: min(12.11vw, 155px);
  margin-left: min(4.53vw, 58px);
  margin-bottom: min(4.53vw, 58px);
}
div.corp-contents section.corp-main.corp-main-interview div.interview-figure-wrapper figure figcaption {
  font-size: min(0.94vw, 12px);
  line-height: 1.5;
  margin-top: 10px;
}
div.corp-contents section.corp-main.corp-main-interview div.interview-figure-wrapper figure figcaption span {
  display: inline-block;
  font-size: min(1.41vw, 18px);
  font-weight: 700;
  margin-top: 10px;
}
div.corp-contents section.corp-main.corp-main-interview div.interview-figure-wrapper div {
  width: 35.23vw;
  margin-right: 1em;
}
div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-2,
div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-3 {
  position: relative;
}
div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-2 img,
div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-3 img {
  position: absolute;
}
div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-3 {
  height: min(10.94vw, 140px);
}
div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-3 img {
  top: max(-9.38vw, -120px);
  right: 0;
  width: min(22.81vw, 292px);
}
div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-2 img {
  top: max(-27.03vw, -346px);
  left: max(-22.01vw, -282px);
  width: min(19.77vw, 253px);
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.corp-main-interview p.interview-preface,
  div.corp-contents section.corp-main.corp-main-interview p.interview-q {
    font-size: 14px;
  }
  div.corp-contents section.corp-main.corp-main-interview p.interview-preface {
    margin-bottom: 2em;
  }
  div.corp-contents section.corp-main.corp-main-interview div.interview-figure-wrapper figure {
    width: 155px;
  }
  div.corp-contents section.corp-main.corp-main-interview div.interview-figure-wrapper figure figcaption {
    font-size: 12px;
  }
  div.corp-contents section.corp-main.corp-main-interview div.interview-figure-wrapper figure figcaption span {
    font-size: 18px;
  }
  div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-3 {
    height: 80px;
  }
  div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-3 img {
    top: -68px;
    right: 0;
    width: 160px;
  }
  div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-2 {
    height: 35px;
  }
  div.corp-contents section.corp-main.corp-main-interview div.interview-img-wrapper-2 img {
    top: -60px;
    left: 0;
    width: 139px;
  }
}
div.corp-contents section.corp-main.corp-main-company-profile div.pdfjs-wrapper {
  width: 100%;
}
div.corp-contents section.corp-main.corp-main-company-profile div.pdfjs-wrapper .pdfViewer {
  background-color: red;
}

body.translatepress-en_US div.corp-contents section.corp-main {
  /*	&.corp-main-history {
  	div.interview-banner {
  		margin-top: 5em;
  		a {
  			width: min(51.88vw, 664px);
  			margin-left: 0;
  			@media (max-width: 768px) {
  				width: 100%;
  			}
  		}
  	}
  } */
}
body.translatepress-en_US div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure::before {
  bottom: min(39.06vw, 500px);
}
@media (max-width: 768px) {
  body.translatepress-en_US div.corp-contents section.corp-main.corp-main-management div.management-structure-wrapper div.management-structure::before {
    bottom: -80px;
  }
}
body.translatepress-en_US div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div h3 {
  line-height: 1.2;
}
body.translatepress-en_US div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div p {
  line-height: 1.2;
}
body.translatepress-en_US div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div p.authorized-dealer-link {
  display: none;
}
body.translatepress-en_US div.corp-contents section.corp-main.corp-main-business div.business-details-wrapper div.business-details div ul {
  line-height: 1.5;
  margin-top: 0.5em;
}
body.translatepress-en_US div.corp-contents section.corp-main.corp-main-company dl dd span {
  display: none;
}
body.translatepress-en_US div.corp-contents section.corp-main.corp-main-interview p.interview-q::before {
  content: "Q. ";
}
body.translatepress-en_US .jp {
  display: none;
}

div.recruitment-open {
  height: 70px;
  position: relative;
}

div.recruitment-closed {
  position: relative;
  display: inline-flex;
  height: 70px;
  width: 239px;
  background-color: #c7c7c7;
  border-radius: 10px;
}
div.recruitment-closed .btn-text {
  color: #222222;
  font-weight: 500;
  font-size: clamp(12.45px, 1.25vw, 16px);
  padding: 7px 13px 0 13px;
  z-index: 2;
  transition: color 0.3s ease;
}
div.recruitment-closed .btn-right-part {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50px;
  background: linear-gradient(to right, #a0a0a0, #c7c7c7);
  clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
  z-index: 1;
  border-radius: 0 10px 10px 0;
}

div.corp-contents h2.recruit-title {
  line-height: 1.33;
  top: 20px;
}
div.corp-contents section.corp-main.recruit-main div.lead-paragraph {
  font-weight: 500;
}
div.corp-contents section.corp-main.recruit-main p.selection-paragraph {
  font-size: clamp(12.45px, 1.25vw, 16px);
}
div.corp-contents section.corp-main.recruit-main div.job-img-1-wrapper,
div.corp-contents section.corp-main.recruit-main div.job-img-2-wrapper,
div.corp-contents section.corp-main.recruit-main div.job-img-3-wrapper,
div.corp-contents section.corp-main.recruit-main div.job-img-4-wrapper {
  position: relative;
}
div.corp-contents section.corp-main.recruit-main div.job-img-1-wrapper img,
div.corp-contents section.corp-main.recruit-main div.job-img-2-wrapper img,
div.corp-contents section.corp-main.recruit-main div.job-img-3-wrapper img,
div.corp-contents section.corp-main.recruit-main div.job-img-4-wrapper img {
  position: absolute;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.recruit-main div.job-img-1-wrapper,
  div.corp-contents section.corp-main.recruit-main div.job-img-2-wrapper,
  div.corp-contents section.corp-main.recruit-main div.job-img-3-wrapper,
  div.corp-contents section.corp-main.recruit-main div.job-img-4-wrapper {
    position: unset;
  }
  div.corp-contents section.corp-main.recruit-main div.job-img-1-wrapper img,
  div.corp-contents section.corp-main.recruit-main div.job-img-2-wrapper img,
  div.corp-contents section.corp-main.recruit-main div.job-img-3-wrapper img,
  div.corp-contents section.corp-main.recruit-main div.job-img-4-wrapper img {
    position: unset;
  }
}
div.corp-contents section.corp-main.recruit-main div.job-img-1-wrapper div {
  width: min(31.95vw, 409px);
  margin-top: 40px;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.recruit-main div.job-img-1-wrapper div {
    width: 100%;
  }
}
div.corp-contents section.corp-main.recruit-main div.job-img-1-wrapper img {
  top: -60px;
  left: min(34.95vw, 450px);
  width: min(28.59vw, 366px);
}
div.corp-contents section.corp-main.recruit-main div.job-img-1-wrapper-sp {
  height: 140px;
}
div.corp-contents section.corp-main.recruit-main div.job-img-1-wrapper-sp img {
  width: 250px;
  float: right;
  margin-top: 20px;
}
div.corp-contents section.corp-main.recruit-main div.job-img-2-wrapper {
  height: 100px;
}
div.corp-contents section.corp-main.recruit-main div.job-img-2-wrapper img {
  top: 132px;
  left: max(-22.66vw, -290px);
  width: min(15.08vw, 193px);
}
div.corp-contents section.corp-main.recruit-main div.job-img-2-wrapper-sp {
  height: 80px;
}
div.corp-contents section.corp-main.recruit-main div.job-img-2-wrapper-sp img {
  width: 140px;
  margin-left: 30px;
  float: right;
  margin-right: 10px;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container {
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 32px 0 78px;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li {
  width: calc((100% - 16px) / 2);
  padding: 32px 3.28vw;
  background-color: #f5f5f5;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  margin-bottom: 26px;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li h4,
div.corp-contents section.corp-main.recruit-main ul.job-list-container li h5 {
  font-weight: 600;
  color: #0054a7;
  margin: 0;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li h4 {
  font-size: clamp(17.11875px, 1.71875vw, 22px);
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li h5 {
  font-size: clamp(12.45px, 1.25vw, 16px);
  margin-bottom: 12px;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li p {
  font-size: clamp(12.45px, 1.25vw, 16px);
  margin-bottom: 20px;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li div {
  margin: auto auto 0;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li div.recruitment-open {
  width: 100%;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li div.recruitment-open a {
  width: 100%;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li div.recruitment-open a span.btn-text {
  font-size: clamp(12.45px, 1.25vw, 16px);
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li div.recruitment-open a:hover {
  width: 110%;
}
div.corp-contents section.corp-main.recruit-main ul.job-list-container li div.recruitment-closed {
  width: 100%;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.recruit-main ul.job-list-container {
    flex-direction: column;
    margin-bottom: 0;
  }
  div.corp-contents section.corp-main.recruit-main ul.job-list-container li {
    width: 100%;
  }
  div.corp-contents section.corp-main.recruit-main ul.job-list-container li h4 {
    font-size: 16px;
  }
  div.corp-contents section.corp-main.recruit-main ul.job-list-container li h5 {
    font-size: 14px;
  }
  div.corp-contents section.corp-main.recruit-main ul.job-list-container li p {
    font-size: 14px;
  }
  div.corp-contents section.corp-main.recruit-main ul.job-list-container li div.recruitment-open a span.btn-text {
    font-size: 14px;
  }
  div.corp-contents section.corp-main.recruit-main ul.job-list-container li div.recruitment-open a:hover {
    width: 105%;
  }
}
div.corp-contents section.corp-main.recruit-main h3#about-selection {
  margin-bottom: 33px;
}
div.corp-contents section.corp-main.recruit-main div.job-img-3-wrapper {
  height: 62px;
}
div.corp-contents section.corp-main.recruit-main div.job-img-3-wrapper img {
  top: -20px;
  left: 40.31vw;
  width: min(8.98vw, 115px);
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.recruit-main div.job-img-3-wrapper img {
    width: 80px;
    float: right;
    margin-right: 10px;
  }
}
div.corp-contents section.corp-main.recruit-main div.job-img-4-wrapper {
  height: 27px;
}
div.corp-contents section.corp-main.recruit-main div.job-img-4-wrapper img {
  top: -45px;
  left: max(-17.19vw, -220px);
  width: min(13.83vw, 177px);
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.recruit-main div.job-img-4-wrapper {
    height: 125px;
  }
  div.corp-contents section.corp-main.recruit-main div.job-img-4-wrapper img {
    width: 120px;
  }
}
div.corp-contents section.corp-main.recruit-main div.last-paragraph {
  font-size: clamp(12.45px, 1.25vw, 16px);
  padding: 38px 42px;
  background-color: #f5f5f5;
  margin-bottom: 108px;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.recruit-main div.last-paragraph {
    font-size: 14px;
  }
}
div.corp-contents section.corp-main.recruit-main dl {
  border-bottom: solid 1px #707070;
  margin-top: 33px;
}
div.corp-contents section.corp-main.recruit-main dl dt {
  color: #0054a7;
  font-size: clamp(14.00625px, 1.40625vw, 18px);
  font-weight: 600;
  border-top: solid 1px #707070;
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 0.5em 0;
}
div.corp-contents section.corp-main.recruit-main dl dt::before {
  content: "Q";
  font-size: clamp(18.675px, 1.875vw, 24px);
  font-weight: 600;
  margin-right: 1.17em;
}
div.corp-contents section.corp-main.recruit-main dl dt::after {
  font-family: "dashicons";
  content: "\f543";
  font-size: clamp(18.675px, 1.875vw, 24px);
  margin-left: auto;
  padding-left: 0.4em;
  font-weight: normal;
}
div.corp-contents section.corp-main.recruit-main dl dt.active::after {
  font-family: "dashicons";
  content: "\f460";
}
div.corp-contents section.corp-main.recruit-main dl dd {
  display: none;
  align-items: center;
  font-size: clamp(12.45px, 1.25vw, 16px);
  margin: 0 5.1em 0 0;
  padding-bottom: 0.5em;
}
div.corp-contents section.corp-main.recruit-main dl dd::before {
  content: "A";
  font-size: clamp(18.675px, 1.875vw, 24px);
  color: #0054a7;
  font-weight: 600;
  margin-right: 1.17em;
  margin-left: 0.06em;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.recruit-main dl {
    margin-bottom: 20px;
  }
  div.corp-contents section.corp-main.recruit-main dl dt,
  div.corp-contents section.corp-main.recruit-main dl dd {
    font-size: 14px;
  }
}
div.corp-contents section.corp-main.recruit-single {
  margin-top: 35px;
  margin-right: 10.55vw;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.recruit-single {
    margin-right: auto;
  }
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines {
  margin-bottom: 20px;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dt h3 {
  font-size: clamp(20.23125px, 2.03125vw, 26px);
  color: #0054a7;
  font-weight: 600;
  margin-top: 40px;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dt h3::before {
  content: "■";
  margin-right: 0.3em;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd {
  font-size: clamp(15.5625px, 1.5625vw, 20px);
  font-weight: 500;
  margin: 10px 0 0;
  padding-bottom: 40px;
  border-bottom: solid 1px #707070;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd p.business-details-p {
  font-size: clamp(12.45px, 1.25vw, 16px);
  font-weight: 400;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd:last-child {
  border-bottom: none;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd h4 {
  font-size: clamp(12.45px, 1.25vw, 16px);
  color: #0054a7;
  font-weight: 600;
  margin-top: 16px;
  line-height: 1.875;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd ul {
  list-style: none;
  padding-left: 0;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd ul li {
  font-size: clamp(12.45px, 1.25vw, 16px);
  font-weight: 400;
  line-height: 1.875;
  margin-left: 1em;
  text-indent: -1em;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd ul li::before {
  content: "●";
  color: #a0a0a0;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd ul li ul li::before {
  content: "・";
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd h5 {
  font-size: clamp(15.5625px, 1.5625vw, 20px);
  font-weight: 600;
  margin: 16px 0 0;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.skills h5, div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.experience-requirements h5 {
  margin-left: max(-0.78vw, -10px);
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.skills h5::before, div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.experience-requirements h5::before {
  content: "【";
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.skills h5::after, div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.experience-requirements h5::after {
  content: "】";
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.portrait h5::before {
  content: "≪";
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.portrait h5::after {
  content: "≫";
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd h6 {
  font-size: clamp(12.45px, 1.25vw, 16px);
  font-weight: 500;
  margin: 16px 0 0;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd span {
  font-size: clamp(12.45px, 1.25vw, 16px);
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd ol {
  padding-left: 1.2em;
  font-size: clamp(12.45px, 1.25vw, 16px);
  font-weight: 400;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd ol li h6 {
  font-size: clamp(12.45px, 1.25vw, 16px);
  color: #0054a7;
  margin: 16px 0 0;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd p.google-map-link {
  font-weight: 400;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd p.google-map-link a {
  color: #0054a7;
  text-decoration: underline;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd p.google-map-link a::after {
  font-family: "dashicons";
  content: "\f504";
  vertical-align: middle;
}
div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd p.google-map-link a:hover {
  color: #b6db00;
}
@media (max-width: 768px) {
  div.corp-contents section.corp-main.recruit-single dl.application-guidelines dt h3 {
    font-size: 20px;
  }
  div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd {
    font-size: 16px;
  }
  div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd p.business-details-p {
    font-size: 14px;
  }
  div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd h4 {
    font-size: 16px;
  }
  div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd ul li {
    font-size: 14px;
  }
  div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.skills h5, div.corp-contents section.corp-main.recruit-single dl.application-guidelines dd.experience-requirements h5 {
    margin-left: -9px;
  }
}
@media (max-width: 768px) {
  div.corp-contents aside.recruit-aside {
    display: none;
  }
}
div.corp-contents section.recruit-flow {
  grid-column: 1/-1;
  width: min(78.44vw, 1004px);
  margin: 0 auto 140px;
  padding: min(1.88vw, 24px);
  box-sizing: border-box;
  background-color: #f5f5f5;
  border-radius: 15px;
}
div.corp-contents section.recruit-flow h2 {
  margin: 0 0 20px;
  color: #0054a7;
  font-size: min(2.03vw, 26px);
  font-weight: 600;
}
div.corp-contents section.recruit-flow ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
div.corp-contents section.recruit-flow ol li {
  position: relative;
  min-width: 0;
  padding-inline: min(1.88vw, 24px);
}
div.corp-contents section.recruit-flow ol li:first-child {
  padding-left: 0;
}
div.corp-contents section.recruit-flow ol li:last-child {
  padding-right: 0;
}
div.corp-contents section.recruit-flow ol li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 42px;
  right: 0;
  bottom: 0;
  border-right: 1px dashed #707070;
}
div.corp-contents section.recruit-flow ol li div {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 32px;
  margin-bottom: 20px;
  gap: min(0.7vw, 9px);
}
div.corp-contents section.recruit-flow ol li div h3 {
  flex: 0 0 auto;
  margin: 0;
  color: #585858;
  font-size: min(1.56vw, 20px);
  font-weight: 700;
  white-space: nowrap;
}
div.corp-contents section.recruit-flow ol li div h3 span {
  margin-right: 0.1em;
}
div.corp-contents section.recruit-flow ol li div span.arrow {
  position: relative;
  flex: 1 1 auto;
  height: 16px;
}
div.corp-contents section.recruit-flow ol li div span.arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: max(-3.13vw, -40px);
  height: 2px;
  background-color: #0054a7;
  transform: translateY(-50%);
}
div.corp-contents section.recruit-flow ol li div span.arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: max(-3.13vw, -40px);
  width: 10px;
  height: 10px;
  border-top: 2px solid #0054a7;
  border-right: 2px solid #0054a7;
  transform: translateY(-50%) rotate(45deg);
}
div.corp-contents section.recruit-flow ol li figure {
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(15.63vw, 200px);
  margin: 0 0 10px;
}
div.corp-contents section.recruit-flow ol li figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
div.corp-contents section.recruit-flow ol li:nth-child(2) figure img {
  height: 73%;
}
div.corp-contents section.recruit-flow ol li:last-child div h3 {
  padding: 0.25em 0.5em 0.28em;
  color: #fff;
  background-color: #0054a7;
  border-radius: 5px;
}
div.corp-contents section.recruit-flow ol li:last-child figure img {
  height: 80%;
}
div.corp-contents section.recruit-flow ol li p {
  margin: 0;
  color: #333;
  font-size: min(1.25vw, 16px);
  line-height: 1.875;
  overflow-wrap: anywhere;
}
@media (max-width: 768px) {
  div.corp-contents section.recruit-flow {
    width: 88%;
    padding: 24px;
    margin-bottom: 100px;
  }
  div.corp-contents section.recruit-flow h2 {
    font-size: 22px;
  }
  div.corp-contents section.recruit-flow ol {
    display: block;
  }
  div.corp-contents section.recruit-flow ol li {
    display: block;
    padding: 0 0 28px;
    overflow: visible;
  }
  div.corp-contents section.recruit-flow ol li::after {
    display: none;
  }
  div.corp-contents section.recruit-flow ol li:not(:last-child) {
    margin-bottom: 38px;
    background-image: repeating-linear-gradient(to right, #707070 0, #707070 3px, transparent 3px, transparent 6px);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: calc(100% - 38px) 1px;
  }
  div.corp-contents section.recruit-flow ol li div {
    display: block;
    min-height: 0;
    margin-bottom: 0;
  }
  div.corp-contents section.recruit-flow ol li div h3 {
    margin: 0;
    font-size: 18px;
  }
  div.corp-contents section.recruit-flow ol li div span.arrow {
    position: absolute;
    top: 34px;
    bottom: -27px;
    left: 19px;
    width: 12px;
    min-width: 0;
    height: auto;
  }
  div.corp-contents section.recruit-flow ol li div span.arrow::before {
    content: "";
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    width: 2px;
    height: auto;
    transform: none;
  }
  div.corp-contents section.recruit-flow ol li div span.arrow::after {
    content: "";
    position: absolute;
    top: auto;
    right: auto;
    bottom: 0;
    left: -4px;
    width: 10px;
    height: 10px;
    border-top: 0;
    border-bottom: 2px solid #0054a7;
    transform: rotate(45deg);
  }
  div.corp-contents section.recruit-flow ol li figure {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 56px);
    height: 200px;
    margin: 0 0 0 56px;
  }
  div.corp-contents section.recruit-flow ol li figure img {
    display: block;
    width: min(100%, 220px);
    height: 100%;
    object-fit: contain;
  }
  div.corp-contents section.recruit-flow ol li p {
    width: calc(100% - 56px);
    font-size: 14px;
    margin-left: 56px;
  }
  div.corp-contents section.recruit-flow ol li:first-child figure {
    margin-top: -28px;
  }
  div.corp-contents section.recruit-flow ol li:nth-child(2) figure {
    margin-top: -50px;
  }
  div.corp-contents section.recruit-flow ol li:nth-child(2) figure img {
    margin-left: 45px;
  }
  div.corp-contents section.recruit-flow ol li:nth-child(3) figure {
    margin-top: -20px;
  }
  div.corp-contents section.recruit-flow ol li:last-child {
    padding-bottom: 0;
  }
  div.corp-contents section.recruit-flow ol li:last-child div h3 {
    display: inline-block;
    padding: 0.5em;
  }
  div.corp-contents section.recruit-flow ol li:last-child figure {
    margin-top: -30px;
  }
  div.corp-contents section.recruit-flow ol li:last-child figure img {
    margin-left: 10px;
  }
}

section.news-main {
  max-width: 51.88vw;
}
@media (max-width: 768px) {
  section.news-main {
    max-width: unset;
  }
}
section.news-main nav.news-category-filter {
  display: flex;
  justify-content: flex-end;
  padding-bottom: 60px;
}
section.news-main nav.news-category-filter h6 {
  font-size: min(1.41vw, 18px);
  color: #0054a7;
  font-weight: 600;
  text-align: right;
  width: 16.7vw;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.1em;
  margin: 0;
  height: 2.2em;
}
section.news-main nav.news-category-filter h6::after {
  content: "\f139";
  font-family: "dashicons";
  font-size: 1.8em;
  line-height: 1;
  display: inline-block;
}
section.news-main nav.news-category-filter ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1em;
  padding-left: 0;
  width: 35.16vw;
  margin-top: 10px;
}
section.news-main nav.news-category-filter ul li a {
  display: block;
  text-decoration: none;
  font-size: clamp(10.89375px, 1.09375vw, 14px);
  color: #ffffff;
  border-radius: 20px;
  width: min(10.55vw, 135px);
  text-align: center;
  height: 1.5em;
  line-height: 1.4em;
}
section.news-main nav.news-category-filter ul li.all-category {
  width: 100%;
  background-color: #0054a7;
  border-radius: 20px;
  text-align: center;
}
section.news-main nav.news-category-filter ul li.all-category a {
  width: 100%;
}
@media (max-width: 768px) {
  section.news-main nav.news-category-filter {
    flex-direction: column;
    justify-content: flex-start;
  }
  section.news-main nav.news-category-filter h6 {
    font-size: 16px;
    width: 100%;
    justify-content: flex-start;
  }
  section.news-main nav.news-category-filter ul {
    width: 100%;
    justify-content: space-between;
  }
  section.news-main nav.news-category-filter ul li {
    width: 47%;
  }
  section.news-main nav.news-category-filter ul li a {
    width: 100%;
    font-size: 14px;
    height: 2em;
    line-height: 1.9em;
  }
}
section.news-main ul.news-list {
  border-top: 1px solid #00316c;
  margin: 0;
  padding-top: 1em;
}
@media (max-width: 768px) {
  section.news-main ul.news-list {
    padding-top: 0;
  }
}
section.news-main ul.news-list li ul {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-left: 0;
}
section.news-main ul.news-list li ul li {
  margin: 1em 0;
}
section.news-main ul.news-list li ul li time {
  font-size: clamp(10.89375px, 1.09375vw, 14px);
}
section.news-main ul.news-list li ul li:nth-child(2) {
  margin-left: 0.5em;
  font-size: min(1.09vw, 14px);
  color: #ffffff;
  border-radius: 20px;
  width: min(10.55vw, 135px);
  text-align: center;
  height: 1.5em;
  line-height: 1.4em;
}
section.news-main ul.news-list li ul li:nth-child(3) {
  margin-left: 0.5em;
  font-size: clamp(12.45px, 1.25vw, 16px);
  color: #00316c;
  width: min(25vw, 330px);
}
section.news-main ul.news-list li ul li:nth-child(3) a {
  color: #0054a7;
}
section.news-main ul.news-list li ul li:nth-child(4) {
  font-size: min(1.06vw, 12px);
  display: inline-flex;
}
section.news-main ul.news-list li ul li:nth-child(4)::after {
  content: "▶";
  display: inline-block;
  margin: 0 min(0.31vw, 4px) 0 0;
  color: #b6db00;
  white-space: nowrap;
}
section.news-main ul.news-list li ul li div.add-info {
  font-size: clamp(10.89375px, 1.09375vw, 14px);
  color: #00316c;
  margin-top: 0.5em;
}
section.news-main ul.news-list li ul li div.add-info p a {
  display: inline-block;
  color: #0054a7;
}
section.news-main ul.news-list li ul li a:hover {
  text-decoration: underline;
}
@media (max-width: 768px) {
  section.news-main ul.news-list li ul {
    flex-direction: column;
    padding: 10px 12px;
  }
  section.news-main ul.news-list li ul li {
    margin: 0;
  }
  section.news-main ul.news-list li ul li a {
    display: inline-block;
  }
  section.news-main ul.news-list li ul li time {
    font-size: 14px;
  }
  section.news-main ul.news-list li ul li:nth-child(2) {
    width: 40%;
    font-size: 12px;
    margin: 0.5em 0;
    height: 2em;
    line-height: 2em;
  }
  section.news-main ul.news-list li ul li:nth-child(3) {
    width: 100%;
    font-size: 16px;
    margin: 0 0 1em 0;
  }
  section.news-main ul.news-list li ul li:nth-child(4) {
    width: 100%;
    font-size: 14px;
    display: inline-block;
    text-align: right;
  }
}
section.news-main ul.news-list > li:hover {
  background-color: #b6db00;
}
section.news-main ul.news-list > li:hover ul li:nth-child(4)::after {
  color: #ffffff;
}
section.news-main div div.pdfjs-wrapper {
  width: 100%;
}

nav.pagination {
  display: flex;
  justify-content: center;
  gap: 1em;
  margin-top: 2em;
  line-height: 1.875;
}
nav.pagination a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin: 0 1em;
}
nav.pagination a:hover {
  text-decoration: underline;
}
nav.pagination a.prev, nav.pagination a.next {
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: #0054a7;
  color: #ffffff;
}
nav.pagination a.prev:hover, nav.pagination a.next:hover {
  background-color: #b6db00;
}
nav.pagination a.prev img, nav.pagination a.next img {
  width: 1em;
  height: 1em;
}
nav.pagination a.prev::after, nav.pagination a.next::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 12px;
  /* 色の指定（ここを変えるだけでOK） */
  background-color: #ffffff;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
nav.pagination a.prev::after {
  -webkit-mask-image: url("../img/arrow-link.svg");
  mask-image: url("../img/arrow-link.svg");
  transform: rotate(180deg);
}
nav.pagination a.next::after {
  -webkit-mask-image: url("../img/arrow-link.svg");
  mask-image: url("../img/arrow-link.svg");
}
@media (max-width: 768px) {
  nav.pagination a {
    margin: 0 0.8em;
  }
}
nav.pagination span.current {
  display: inline-block;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: #00316c;
  color: #ffffff;
  text-align: center;
}

/* archive-news.php SPメニュー用 */
aside.news-sidebar .sp-toc-toggle {
  display: none;
}
aside.news-sidebar .sp-toc-panel {
  display: block;
  background-color: #ffffff;
}
aside.news-sidebar .side-menu-years {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
aside.news-sidebar .side-menu-years li {
  border-bottom: 1px solid #585858;
}
aside.news-sidebar .side-menu-years li a {
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  padding: 22px 7px 5px;
  line-height: 1.2;
  color: #0054a7;
  font-size: clamp(14.00625px, 1.40625vw, 18px);
  font-weight: 500;
}
aside.news-sidebar .side-menu-years li a:hover {
  background-color: #b6db00;
  color: #00316c;
}
aside.news-sidebar .about-pdf-link {
  margin-top: 40px;
}
@media (max-width: 768px) {
  aside.news-sidebar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    background: transparent;
    margin: 0 !important;
    width: auto;
    height: auto;
    overflow: visible;
  }
  aside.news-sidebar .sp-toc-toggle {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: 85px;
    border: none;
    background: #ffffff;
    color: #0054a7;
    font-weight: 700;
    font-size: 20px;
    text-align: left;
    padding: 1em 0 0 2em;
    cursor: pointer;
    position: relative;
    z-index: 2;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.12);
  }
  aside.news-sidebar .sp-toc-toggle span::before {
    content: "▲";
    display: inline-block;
    margin-right: 0.4em;
    transition: transform 0.3s ease;
  }
  aside.news-sidebar .sp-toc-toggle[aria-expanded=true] span::before {
    transform: rotate(180deg);
  }
  aside.news-sidebar .sp-toc-panel {
    display: block;
    position: absolute;
    left: 0;
    right: 112px;
    bottom: 85px;
    max-height: 80vh;
    overflow-y: auto;
    padding: 1em 3em 3em;
    background: #ffffff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(20px) scaleY(0.96);
    transform-origin: bottom center;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
  }
  aside.news-sidebar .side-menu-years {
    width: 100%;
    font-size: 18px;
  }
  aside.news-sidebar .side-menu-years li a {
    font-size: 18px;
  }
  aside.news-sidebar .about-pdf-link {
    margin-top: 30px;
  }
  aside.news-sidebar .about-pdf-link a {
    width: 100%;
  }
  aside.news-sidebar .about-pdf-link a:hover {
    width: 105%;
  }
  aside.news-sidebar.is-open .sp-toc-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scaleY(1);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0s;
  }
}

div.product-contents {
  display: grid;
  grid-template-columns: clamp(293.353125px, 29.453125vw, 377px) 1fr; /* 左固定幅 / 右可変 */
  grid-template-rows: auto 1fr;
}
div.product-contents aside.sidebar {
  margin-top: 77px;
  grid-column: 1;
  grid-row: 2;
  justify-self: end;
  position: sticky;
  top: 100px; /* ★修正：100px固定ヘッダーの下に配置 */
  width: 260px;
  height: calc(100vh - 100px); /* ★修正：ヘッダーの分、全体の高さを削る（はみ出し防止） */
  overflow-y: auto;
  box-sizing: border-box;
  /* Firefox用のスクロールバー非表示設定 */
  scrollbar-width: none;
  /* Chrome, Safari, Edge用のスクロールバー非表示設定 */
}
div.product-contents aside.sidebar::-webkit-scrollbar {
  display: none;
}
div.product-contents aside.sidebar {
  scroll-margin-top: 100px;
}
div.product-contents aside.sidebar nav {
  list-style: none;
  color: #0054a7;
  font-size: clamp(14.00625px, 1.40625vw, 18px);
  font-weight: 500;
  width: 239px;
  padding-left: 0;
  margin-bottom: 70px;
}
div.product-contents aside.sidebar nav li {
  border-bottom: 1px solid #585858;
}
div.product-contents aside.sidebar nav li a {
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  padding: 22px 7px 5px;
  line-height: 1.2;
  color: #0054a7;
}
div.product-contents aside.sidebar nav li a:hover {
  background-color: #b6db00;
  color: #00316c;
}
div.product-contents aside.sidebar nav li a span {
  font-size: min(0.94vw, 12px);
}
@media (max-width: 768px) {
  div.product-contents aside.sidebar nav li a span {
    font-size: 10px;
  }
}
div.product-contents aside.sidebar nav li a span.content-only {
  display: none;
}
div.product-contents aside.sidebar nav li.current_page_item {
  color: #c7c7c7;
}
div.product-contents aside.sidebar nav li:first-child a:hover {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
div.product-contents aside.sidebar div.aside-button-area {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 70px;
}
div.product-contents aside.sidebar div.aside-button-area div.aside-button {
  position: relative;
  height: 70px;
}
div.product-contents aside.sidebar div.aside-button-area div.aside-button a {
  width: 239px;
}
div.product-contents aside.sidebar div.aside-button-area div.aside-button a:hover {
  width: 255px;
}
div.product-contents aside.sidebar div.aside-special-banner-area {
  width: 239px;
  margin-bottom: 70px;
}
div.product-contents aside.sidebar div.aside-special-banner-area div.aside-special-banner {
  margin-bottom: 20px;
}
div.product-contents aside.sidebar div.aside-special-banner-area div.aside-special-banner a img {
  width: 100%;
  height: auto;
}
div.product-contents aside.sidebar .sp-toc-toggle {
  display: none;
}
div.product-contents aside.sidebar .sp-toc-panel {
  display: block;
}
@media (max-width: 768px) {
  div.product-contents aside.sidebar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    background: transparent;
    justify-self: auto;
    margin: 0;
    top: unset;
    width: unset;
    height: unset;
    overflow-y: unset;
  }
  div.product-contents aside.sidebar .sp-toc-toggle {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: 85px;
    border: none;
    background: #ffffff;
    color: #0054a7;
    font-weight: 700;
    font-size: 20px;
    text-align: left;
    padding: 1em 0 0 2em;
    cursor: pointer;
    position: relative;
    z-index: 2;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.12);
  }
  div.product-contents aside.sidebar .sp-toc-toggle span::before {
    content: "▲";
    display: inline-block;
    transition: transform 0.3s ease;
  }
  div.product-contents aside.sidebar .sp-toc-toggle[aria-expanded=true] span::before {
    transform: rotate(180deg);
  }
  div.product-contents aside.sidebar .sp-toc-panel {
    display: block;
    position: absolute;
    left: 0;
    bottom: 85px;
    max-height: 80vh;
    overflow-y: auto;
    padding: 1em;
    background: #fff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.12);
    font-size: 18px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(20px) scaleY(0.96);
    transform-origin: bottom center;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
  }
  div.product-contents aside.sidebar .sp-toc-panel nav {
    font-size: 18px;
  }
  div.product-contents aside.sidebar .sp-toc-panel .aside-button-area .aside-button a {
    width: 100%;
  }
  div.product-contents aside.sidebar .sp-toc-panel .aside-button-area .aside-button a:hover {
    width: 105%;
  }
  div.product-contents aside.sidebar.is-open .sp-toc-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scaleY(1);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0s;
  }
}
div.product-contents div.handy-guide-single,
div.product-contents div.product-single {
  grid-column: 2;
  grid-row: span 2;
  width: min(51.88vw, 664px);
  margin: 24px auto 100px;
  line-height: 1.875;
}
div.product-contents div.handy-guide-single section,
div.product-contents div.product-single section {
  font-size: min(1.25vw, 16px);
  font-weight: 400;
  color: #222222;
}
div.product-contents div.handy-guide-single section.relative,
div.product-contents div.product-single section.relative {
  position: relative;
}
div.product-contents div.handy-guide-single table,
div.product-contents div.product-single table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}
div.product-contents div.handy-guide-single table tr th,
div.product-contents div.handy-guide-single table tr td,
div.product-contents div.product-single table tr th,
div.product-contents div.product-single table tr td {
  border: 1px solid #222222;
  padding: 0.3em 0;
  line-height: 1.5;
}
div.product-contents div.handy-guide-single table tr th,
div.product-contents div.product-single table tr th {
  background-color: #0054a7;
  color: #ffffff;
  font-weight: 600;
}
div.product-contents div.handy-guide-single table tr th.diag,
div.product-contents div.product-single table tr th.diag {
  position: relative;
  width: 120px;
  height: 80px;
  padding: 0;
  background: linear-gradient(to top right, transparent 49.5%, #222222 50%, transparent 50.5%);
  background-color: #0054a7;
}
div.product-contents div.handy-guide-single table tr th.diag span.top,
div.product-contents div.product-single table tr th.diag span.top {
  position: absolute;
  top: 8px;
  right: 8px;
}
div.product-contents div.handy-guide-single table tr th.diag span.bottom,
div.product-contents div.product-single table tr th.diag span.bottom {
  position: absolute;
  bottom: 8px;
  left: 8px;
}
div.product-contents div.handy-guide-single table tr,
div.product-contents div.product-single table tr {
  /*
  &:nth-child(odd) {
  	background-color: $blue-even-light;
  }
  */
}
div.product-contents div.handy-guide-single table.custom-border tr:nth-child(odd),
div.product-contents div.product-single table.custom-border tr:nth-child(odd) {
  background: transparent;
}
div.product-contents div.handy-guide-single table.align-left td,
div.product-contents div.product-single table.align-left td {
  text-align: left;
  padding-left: 1em;
  padding-right: 1em;
}
div.product-contents div.handy-guide-single table.caption-effects-table,
div.product-contents div.product-single table.caption-effects-table {
  caption-side: bottom;
  text-align: right;
  font-size: min(1.09vw, 14px);
}
div.product-contents div.handy-guide-single h2[id],
div.product-contents div.handy-guide-single h4,
div.product-contents div.product-single h2[id],
div.product-contents div.product-single h4 {
  font-size: min(1.25vw, 16px);
  color: #0054a7;
  margin-bottom: 10px;
}
div.product-contents div.handy-guide-single h2[id]::before,
div.product-contents div.handy-guide-single h4::before,
div.product-contents div.product-single h2[id]::before,
div.product-contents div.product-single h4::before {
  content: "■";
  display: inline-block;
}
div.product-contents div.handy-guide-single h2.medicine-details,
div.product-contents div.product-single h2.medicine-details {
  font-size: min(1.72vw, 22px);
  font-weight: 500;
  color: #00316c;
  line-height: 1.2;
  margin-bottom: 20px;
}
div.product-contents div.handy-guide-single h2.medicine-details span,
div.product-contents div.product-single h2.medicine-details span {
  font-size: min(1.25vw, 16px);
}
div.product-contents div.handy-guide-single h3,
div.product-contents div.product-single h3 {
  font-size: min(1.25vw, 16px);
  font-weight: 700;
  color: #0054a7;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
div.product-contents div.handy-guide-single h3 span,
div.product-contents div.product-single h3 span {
  font-weight: 400;
}
div.product-contents div.handy-guide-single h5,
div.product-contents div.product-single h5 {
  font-size: min(1.25vw, 16px);
  font-weight: 700;
  margin: 0 0 10px;
}
div.product-contents div.handy-guide-single h5.materials-medicals-label,
div.product-contents div.product-single h5.materials-medicals-label {
  margin-left: 1em;
  color: #0054a7;
}
div.product-contents div.handy-guide-single h6,
div.product-contents div.product-single h6 {
  font-size: min(1.25vw, 16px);
  margin: 1em 0;
}
div.product-contents div.handy-guide-single p,
div.product-contents div.product-single p {
  margin: 0.5em 0 1em;
}
div.product-contents div.handy-guide-single p.annotation,
div.product-contents div.product-single p.annotation {
  font-size: min(1.25vw, 16px);
  font-weight: 400;
  color: #ff839d;
}
div.product-contents div.handy-guide-single p.annotation::before,
div.product-contents div.product-single p.annotation::before {
  content: "●";
  margin-right: 0.5em;
}
div.product-contents div.handy-guide-single p.source,
div.product-contents div.product-single p.source {
  text-align: right;
  font-size: min(1.09vw, 14px);
  color: #707070;
}
div.product-contents div.handy-guide-single p.side-effects,
div.product-contents div.product-single p.side-effects {
  font-size: min(1.25vw, 16px);
  font-weight: 700;
  text-indent: -1.5em;
  margin-left: 1.5em;
}
div.product-contents div.handy-guide-single p.side-effects::before,
div.product-contents div.product-single p.side-effects::before {
  content: "●";
  margin-right: 0.5em;
  color: #0054a7;
}
div.product-contents div.handy-guide-single p.side-effects span,
div.product-contents div.product-single p.side-effects span {
  font-weight: 400;
}
div.product-contents div.handy-guide-single p.closing-doc,
div.product-contents div.product-single p.closing-doc {
  font-size: min(1.25vw, 16px);
}
div.product-contents div.handy-guide-single p.closing-doc a,
div.product-contents div.product-single p.closing-doc a {
  margin-right: 0.5em;
}
div.product-contents div.handy-guide-single ul.attached-documents,
div.product-contents div.handy-guide-single ul.interview-forms,
div.product-contents div.handy-guide-single ul.materials_medicals,
div.product-contents div.product-single ul.attached-documents,
div.product-contents div.product-single ul.interview-forms,
div.product-contents div.product-single ul.materials_medicals {
  padding-left: 0;
}
div.product-contents div.handy-guide-single span.blue,
div.product-contents div.product-single span.blue {
  color: #0054a7;
}
div.product-contents div.handy-guide-single div.rounded-square,
div.product-contents div.product-single div.rounded-square {
  border: 1px solid #0054a7;
  border-radius: 10px;
  margin-bottom: 1em;
}
div.product-contents div.handy-guide-single section,
div.product-contents div.product-single section {
  margin-bottom: 40px;
}
div.product-contents div.handy-guide-single section.medicine-photo,
div.product-contents div.product-single section.medicine-photo {
  display: flex;
}
div.product-contents div.handy-guide-single section.medicine-photo figure,
div.product-contents div.product-single section.medicine-photo figure {
  display: flex;
  flex-direction: column;
  width: min(15.63vw, 200px);
}
div.product-contents div.handy-guide-single section.medicine-photo figure figcaption,
div.product-contents div.product-single section.medicine-photo figure figcaption {
  text-align: center;
  font-size: min(1.25vw, 16px);
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single section.medicine-photo,
  div.product-contents div.product-single section.medicine-photo {
    flex-wrap: wrap;
  }
  div.product-contents div.handy-guide-single section.medicine-photo figure,
  div.product-contents div.product-single section.medicine-photo figure {
    width: 49%;
  }
  div.product-contents div.handy-guide-single section.medicine-photo figure figcaption,
  div.product-contents div.product-single section.medicine-photo figure figcaption {
    font-size: 14px;
  }
}
div.product-contents div.handy-guide-single section.medicine-photo-perdipine,
div.product-contents div.handy-guide-single section.medicine-photo-cefzon,
div.product-contents div.handy-guide-single section.medicine-photo-sefamezin,
div.product-contents div.handy-guide-single section.medicine-photo-oxarol,
div.product-contents div.product-single section.medicine-photo-perdipine,
div.product-contents div.product-single section.medicine-photo-cefzon,
div.product-contents div.product-single section.medicine-photo-sefamezin,
div.product-contents div.product-single section.medicine-photo-oxarol {
  justify-content: space-between;
}
div.product-contents div.handy-guide-single section.medicine-photo-sefamezin figure,
div.product-contents div.product-single section.medicine-photo-sefamezin figure {
  align-items: center;
  width: auto;
}
div.product-contents div.handy-guide-single section.medicine-photo-sefamezin figure img,
div.product-contents div.product-single section.medicine-photo-sefamezin figure img {
  height: min(21.88vw, 280px);
  width: auto;
  max-width: none;
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single section.medicine-photo-sefamezin figure img,
  div.product-contents div.product-single section.medicine-photo-sefamezin figure img {
    height: 200px;
  }
}
div.product-contents div.handy-guide-single section.medicine-photo-nasea,
div.product-contents div.product-single section.medicine-photo-nasea {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  width: 80%;
  margin: 0 auto 3em;
}
div.product-contents div.handy-guide-single section.medicine-photo-nasea figure,
div.product-contents div.product-single section.medicine-photo-nasea figure {
  margin: 0;
  display: grid;
  grid-template-rows: min(20.7vw, 265px) auto;
  gap: 8px;
}
div.product-contents div.handy-guide-single section.medicine-photo-nasea figure:first-child div,
div.product-contents div.product-single section.medicine-photo-nasea figure:first-child div {
  height: min(20.7vw, 265px);
  flex-direction: column;
  justify-content: space-between;
}
div.product-contents div.handy-guide-single section.medicine-photo-nasea figure:nth-child(2) div,
div.product-contents div.product-single section.medicine-photo-nasea figure:nth-child(2) div {
  height: min(20.7vw, 265px);
}
div.product-contents div.handy-guide-single section.medicine-photo-nasea figure:nth-child(2) div img,
div.product-contents div.product-single section.medicine-photo-nasea figure:nth-child(2) div img {
  max-height: 100%;
}
div.product-contents div.handy-guide-single section.medicine-photo-nasea div,
div.product-contents div.product-single section.medicine-photo-nasea div {
  display: flex;
  align-items: center;
}
div.product-contents div.handy-guide-single section.medicine-photo-nasea div img,
div.product-contents div.product-single section.medicine-photo-nasea div img {
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}
div.product-contents div.handy-guide-single section.medicine-photo-nasea figcaption,
div.product-contents div.product-single section.medicine-photo-nasea figcaption {
  text-align: center;
  line-height: 1.5;
  font-size: min(1.25vw, 16px);
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single section.medicine-photo-nasea figcaption,
  div.product-contents div.product-single section.medicine-photo-nasea figcaption {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single section.medicine-photo-nasea,
  div.product-contents div.product-single section.medicine-photo-nasea {
    width: 100%;
  }
  div.product-contents div.handy-guide-single section.medicine-photo-nasea figure,
  div.product-contents div.product-single section.medicine-photo-nasea figure {
    grid-template-rows: 58.66vw auto;
  }
  div.product-contents div.handy-guide-single section.medicine-photo-nasea figure div,
  div.product-contents div.product-single section.medicine-photo-nasea figure div {
    height: auto !important;
  }
  div.product-contents div.handy-guide-single section.medicine-photo-nasea figure:nth-child(2),
  div.product-contents div.product-single section.medicine-photo-nasea figure:nth-child(2) {
    justify-content: flex-end;
  }
  div.product-contents div.handy-guide-single section.medicine-photo-nasea figure:nth-child(2) div,
  div.product-contents div.product-single section.medicine-photo-nasea figure:nth-child(2) div {
    justify-content: flex-end;
  }
  div.product-contents div.handy-guide-single section.medicine-photo-nasea figure:nth-child(2) div img,
  div.product-contents div.product-single section.medicine-photo-nasea figure:nth-child(2) div img {
    width: fit-content;
  }
}
div.product-contents div.handy-guide-single section.medicine-photo-sawacillin,
div.product-contents div.product-single section.medicine-photo-sawacillin {
  justify-content: space-evenly;
  flex-wrap: wrap;
}
div.product-contents div.handy-guide-single section.medicine-photo-sawacillin figure,
div.product-contents div.product-single section.medicine-photo-sawacillin figure {
  width: min(21.88vw, 280px);
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single section.medicine-photo-sawacillin figure,
  div.product-contents div.product-single section.medicine-photo-sawacillin figure {
    width: 50%;
  }
}
div.product-contents div.handy-guide-single section.medicine-photo-gaster,
div.product-contents div.product-single section.medicine-photo-gaster {
  flex-wrap: wrap;
  justify-content: space-between;
}
div.product-contents div.handy-guide-single div.nasea-diagram p,
div.product-contents div.product-single div.nasea-diagram p {
  color: #0054a7;
  text-align: center;
}
div.product-contents div.handy-guide-single div.nasea-diagram figure,
div.product-contents div.product-single div.nasea-diagram figure {
  width: 75%;
  margin: 0 auto;
}
div.product-contents div.handy-guide-single div.nasea-diagram figure figcaption,
div.product-contents div.product-single div.nasea-diagram figure figcaption {
  font-size: min(1.09vw, 14px);
  text-align: right;
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single div.nasea-diagram figure,
  div.product-contents div.product-single div.nasea-diagram figure {
    width: 100%;
  }
  div.product-contents div.handy-guide-single div.nasea-diagram figure figcaption,
  div.product-contents div.product-single div.nasea-diagram figure figcaption {
    font-size: 12px;
    letter-spacing: -0.4px;
  }
}
div.product-contents div.handy-guide-single section.warning-section,
div.product-contents div.handy-guide-single section.contraindication-section,
div.product-contents div.product-single section.warning-section,
div.product-contents div.product-single section.contraindication-section {
  border: 2px solid red;
  padding: 2em;
}
div.product-contents div.handy-guide-single section.warning-section h2,
div.product-contents div.handy-guide-single section.contraindication-section h2,
div.product-contents div.product-single section.warning-section h2,
div.product-contents div.product-single section.contraindication-section h2 {
  font-size: min(2.03vw, 26px);
  font-weight: 600;
  margin-top: 0;
}
div.product-contents div.handy-guide-single section.warning-section h2::before,
div.product-contents div.handy-guide-single section.contraindication-section h2::before,
div.product-contents div.product-single section.warning-section h2::before,
div.product-contents div.product-single section.contraindication-section h2::before {
  content: "■";
  margin-right: 0.1em;
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single section.warning-section h2,
  div.product-contents div.handy-guide-single section.contraindication-section h2,
  div.product-contents div.product-single section.warning-section h2,
  div.product-contents div.product-single section.contraindication-section h2 {
    font-size: 16px;
  }
}
div.product-contents div.handy-guide-single section.warning-section ul,
div.product-contents div.handy-guide-single section.contraindication-section ul,
div.product-contents div.product-single section.warning-section ul,
div.product-contents div.product-single section.contraindication-section ul {
  padding-left: 1.5em;
}
div.product-contents div.handy-guide-single section.warning-section h2,
div.product-contents div.handy-guide-single section.warning-section p,
div.product-contents div.handy-guide-single section.warning-section ol,
div.product-contents div.product-single section.warning-section h2,
div.product-contents div.product-single section.warning-section p,
div.product-contents div.product-single section.warning-section ol {
  color: red;
}
div.product-contents div.handy-guide-single section.contraindication-section h2,
div.product-contents div.product-single section.contraindication-section h2 {
  color: #222222;
}
div.product-contents div.handy-guide-single section.contraindication-section h3,
div.product-contents div.product-single section.contraindication-section h3 {
  font-size: min(1.25vw, 16px);
  font-weight: 700;
  color: #222222;
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single section.contraindication-section h3,
  div.product-contents div.product-single section.contraindication-section h3 {
    font-size: 14px;
  }
}
div.product-contents div.handy-guide-single div.explanation,
div.product-contents div.product-single div.explanation {
  background: #fdf2f2;
  padding: 1em;
  border-radius: 10px;
  margin-top: 10px;
}
div.product-contents div.handy-guide-single section.product-news,
div.product-contents div.product-single section.product-news {
  margin-bottom: 90px;
}
div.product-contents div.handy-guide-single div.list-section,
div.product-contents div.product-single div.list-section {
  background-color: #ecf6ff;
  border-radius: 10px;
  padding: 1.5em;
}
div.product-contents div.handy-guide-single div.list-section ol,
div.product-contents div.product-single div.list-section ol {
  list-style: none;
  counter-reset: bracket-half;
  line-height: 1.875;
  padding-left: 0;
  margin-left: 1em;
  text-indent: -1.5em;
}
div.product-contents div.handy-guide-single div.list-section ol > li,
div.product-contents div.product-single div.list-section ol > li {
  counter-increment: bracket-half;
}
div.product-contents div.handy-guide-single div.list-section ol > li::before,
div.product-contents div.product-single div.list-section ol > li::before {
  content: counter(bracket-half) "）";
  left: 0;
  top: 0;
  font-size: min(1.25vw, 16px);
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single div.list-section ol > li::before,
  div.product-contents div.product-single div.list-section ol > li::before {
    font-size: 14px;
  }
}
div.product-contents div.handy-guide-single div.list-section ol > li ol,
div.product-contents div.product-single div.list-section ol > li ol {
  counter-reset: circle-number;
  margin-left: 1em;
  text-indent: -1em;
}
div.product-contents div.handy-guide-single div.list-section ol > li ol li,
div.product-contents div.product-single div.list-section ol > li ol li {
  counter-increment: circle-number;
}
div.product-contents div.handy-guide-single div.list-section ol > li ol li::before,
div.product-contents div.product-single div.list-section ol > li ol li::before {
  content: counter(circle-number);
  background-image: url("../img/circle.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  font-size: min(1.09vw, 14px);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: min(1.25vw, 16px);
  height: min(1.25vw, 16px);
  text-indent: 0;
  margin-right: 0.1em;
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single div.list-section ol > li ol li::before,
  div.product-contents div.product-single div.list-section ol > li ol li::before {
    font-size: 12px;
    width: 14px;
    height: 14px;
  }
}
div.product-contents div.handy-guide-single div.list-section p,
div.product-contents div.product-single div.list-section p {
  text-align: right;
}
div.product-contents div.handy-guide-single div.list-section.top-radius,
div.product-contents div.product-single div.list-section.top-radius {
  border-radius: 0 0 10px 10px;
}
div.product-contents div.handy-guide-single div.preparation-perdipine p,
div.product-contents div.product-single div.preparation-perdipine p {
  text-align: center;
  margin-top: 35px;
}
div.product-contents div.handy-guide-single div.preparation-perdipine div,
div.product-contents div.product-single div.preparation-perdipine div {
  display: flex;
  justify-content: space-evenly;
  align-items: stretch;
  width: 90%;
  margin: 0 auto;
}
div.product-contents div.handy-guide-single div.preparation-perdipine div figure,
div.product-contents div.product-single div.preparation-perdipine div figure {
  display: flex;
  flex-direction: column;
}
div.product-contents div.handy-guide-single div.preparation-perdipine div figure div.img-wrap,
div.product-contents div.product-single div.preparation-perdipine div figure div.img-wrap {
  height: min(15.63vw, 200px);
  display: flex;
  align-items: center;
  justify-content: center;
}
div.product-contents div.handy-guide-single div.preparation-perdipine div figure:first-child img,
div.product-contents div.product-single div.preparation-perdipine div figure:first-child img {
  width: min(8.98vw, 115px);
}
div.product-contents div.handy-guide-single div.preparation-perdipine div figure:nth-child(2) img, div.product-contents div.handy-guide-single div.preparation-perdipine div figure:nth-child(4) img,
div.product-contents div.product-single div.preparation-perdipine div figure:nth-child(2) img,
div.product-contents div.product-single div.preparation-perdipine div figure:nth-child(4) img {
  width: min(2.34vw, 30px);
}
div.product-contents div.handy-guide-single div.preparation-perdipine div figure:nth-child(3) img, div.product-contents div.handy-guide-single div.preparation-perdipine div figure:nth-child(5) img,
div.product-contents div.product-single div.preparation-perdipine div figure:nth-child(3) img,
div.product-contents div.product-single div.preparation-perdipine div figure:nth-child(5) img {
  width: min(2.54vw, 32.5px);
}
div.product-contents div.handy-guide-single div.preparation-perdipine div figure figcaption,
div.product-contents div.product-single div.preparation-perdipine div figure figcaption {
  text-align: center;
}
div.product-contents div.handy-guide-single div.preparation-perdipine div figure figcaption span,
div.product-contents div.product-single div.preparation-perdipine div figure figcaption span {
  color: #0054a7;
}
div.product-contents div.handy-guide-single div.dosage-chart-qr,
div.product-contents div.product-single div.dosage-chart-qr {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 26px;
}
div.product-contents div.handy-guide-single div.dosage-chart-qr h5,
div.product-contents div.product-single div.dosage-chart-qr h5 {
  margin-bottom: 0;
}
div.product-contents div.handy-guide-single div.dosage-chart-qr div,
div.product-contents div.product-single div.dosage-chart-qr div {
  display: flex;
  align-items: flex-end;
}
div.product-contents div.handy-guide-single div.dosage-chart-qr div img,
div.product-contents div.product-single div.dosage-chart-qr div img {
  width: 70px;
}
div.product-contents div.handy-guide-single div.dosage-chart-qr div p,
div.product-contents div.product-single div.dosage-chart-qr div p {
  margin: 0 1em 0 0;
}
div.product-contents div.handy-guide-single table.drip-speed,
div.product-contents div.product-single table.drip-speed {
  width: 100%;
  table-layout: fixed;
}
div.product-contents div.handy-guide-single table.drip-speed tr:first-child, div.product-contents div.handy-guide-single table.drip-speed tr:nth-child(2), div.product-contents div.handy-guide-single table.drip-speed tr:nth-child(3),
div.product-contents div.product-single table.drip-speed tr:first-child,
div.product-contents div.product-single table.drip-speed tr:nth-child(2),
div.product-contents div.product-single table.drip-speed tr:nth-child(3) {
  background-color: unset;
}
div.product-contents div.handy-guide-single table.drip-speed tr:first-child td, div.product-contents div.handy-guide-single table.drip-speed tr:nth-child(2) td, div.product-contents div.handy-guide-single table.drip-speed tr:nth-child(3) td,
div.product-contents div.product-single table.drip-speed tr:first-child td,
div.product-contents div.product-single table.drip-speed tr:nth-child(2) td,
div.product-contents div.product-single table.drip-speed tr:nth-child(3) td {
  border: none;
  padding: 0;
}
div.product-contents div.handy-guide-single table.drip-speed tr:first-child td:nth-child(2) span, div.product-contents div.handy-guide-single table.drip-speed tr:nth-child(2) td:nth-child(2) span, div.product-contents div.handy-guide-single table.drip-speed tr:nth-child(3) td:nth-child(2) span,
div.product-contents div.product-single table.drip-speed tr:first-child td:nth-child(2) span,
div.product-contents div.product-single table.drip-speed tr:nth-child(2) td:nth-child(2) span,
div.product-contents div.product-single table.drip-speed tr:nth-child(3) td:nth-child(2) span {
  display: inline-block;
  width: 100%;
  margin-bottom: 10px;
}
div.product-contents div.handy-guide-single table.drip-speed tr:first-child td:nth-child(2) span,
div.product-contents div.product-single table.drip-speed tr:first-child td:nth-child(2) span {
  color: #ffffff;
  background-color: #ff839d;
}
div.product-contents div.handy-guide-single table.drip-speed tr:nth-child(2) td:nth-child(2) span,
div.product-contents div.product-single table.drip-speed tr:nth-child(2) td:nth-child(2) span {
  background-color: #c5ed00;
}
div.product-contents div.handy-guide-single table.drip-speed tr:nth-child(3) td:nth-child(2) span,
div.product-contents div.product-single table.drip-speed tr:nth-child(3) td:nth-child(2) span {
  background-color: #c7c7c7;
}
div.product-contents div.handy-guide-single table.drip-speed tr:nth-child(3):nth-child(4) td,
div.product-contents div.product-single table.drip-speed tr:nth-child(3):nth-child(4) td {
  border: none;
  padding-left: 0;
}
div.product-contents div.handy-guide-single table.drip-speed .weight-col,
div.product-contents div.product-single table.drip-speed .weight-col {
  width: 90px;
}
div.product-contents div.handy-guide-single table.drip-speed .dose-col,
div.product-contents div.product-single table.drip-speed .dose-col {
  width: calc((100% - 90px) / 12);
}
div.product-contents div.handy-guide-single table.drip-speed th,
div.product-contents div.handy-guide-single table.drip-speed td,
div.product-contents div.product-single table.drip-speed th,
div.product-contents div.product-single table.drip-speed td {
  box-sizing: border-box;
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.table-clip,
div.product-contents div.product-single div.ex-dosage-chart div.table-clip {
  width: 90%;
  height: 420px;
  overflow: hidden;
  position: relative;
  margin: 0 auto 27px;
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.table-clip table,
div.product-contents div.product-single div.ex-dosage-chart div.table-clip table {
  position: relative;
  top: 5px; /* 上を隠す */
  right: -60px; /* 右を隠す */
  transform: scale(1.2);
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.table-clip table th.selected-th,
div.product-contents div.product-single div.ex-dosage-chart div.table-clip table th.selected-th {
  background-color: #004f00;
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.table-clip table td.selected-td-1,
div.product-contents div.product-single div.ex-dosage-chart div.table-clip table td.selected-td-1 {
  background-color: #c7ec0a;
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.table-clip table td.selected-td-2,
div.product-contents div.product-single div.ex-dosage-chart div.table-clip table td.selected-td-2 {
  background-color: #b6e401;
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.table-clip table td.selected-td-3,
div.product-contents div.product-single div.ex-dosage-chart div.table-clip table td.selected-td-3 {
  background-color: #98dc00;
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single div.ex-dosage-chart div.table-clip table,
  div.product-contents div.product-single div.ex-dosage-chart div.table-clip table {
    width: 644px;
    right: 0;
    transform: unset;
  }
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box,
div.product-contents div.product-single div.ex-dosage-chart div.formula-box {
  display: block;
  padding: 18px 1.72vw;
  background: #ecf6ff;
  border-radius: 10px;
  width: 90%;
  margin: 0 auto 30px;
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box div.formula-labels,
div.product-contents div.product-single div.ex-dosage-chart div.formula-box div.formula-labels {
  display: flex;
  align-items: center;
  gap: min(3.36vw, 43px);
  margin: 0 0 6px min(2.34vw, 30px);
  color: #333;
  font-size: min(1.25vw, 16px);
  font-weight: 500;
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box div.formula,
div.product-contents div.product-single div.ex-dosage-chart div.formula-box div.formula {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  color: #0054a7;
  line-height: 1;
  margin-left: min(1.56vw, 20px);
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box div.formula span,
div.product-contents div.product-single div.ex-dosage-chart div.formula-box div.formula span {
  font-size: min(2.34vw, 30px);
  font-weight: 600;
  margin: 0 min(0.39vw, 5px);
}
div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box div.formula span span,
div.product-contents div.product-single div.ex-dosage-chart div.formula-box div.formula span span {
  font-size: min(1.25vw, 16px);
  font-weight: 400;
  margin: 0;
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box,
  div.product-contents div.product-single div.ex-dosage-chart div.formula-box {
    padding: 18px 2.4vw;
  }
  div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box div.formula-labels,
  div.product-contents div.product-single div.ex-dosage-chart div.formula-box div.formula-labels {
    gap: 3.2vw;
    margin-left: 0;
    font-size: 3.73vw;
  }
  div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box div.formula,
  div.product-contents div.product-single div.ex-dosage-chart div.formula-box div.formula {
    margin-left: 0;
  }
  div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box div.formula span,
  div.product-contents div.product-single div.ex-dosage-chart div.formula-box div.formula span {
    font-size: 4.27vw;
    margin: 0;
  }
  div.product-contents div.handy-guide-single div.ex-dosage-chart div.formula-box div.formula span span,
  div.product-contents div.product-single div.ex-dosage-chart div.formula-box div.formula span span {
    font-size: 3.2vw;
  }
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single div.ex-dosage-chart p,
  div.product-contents div.product-single div.ex-dosage-chart p {
    margin: 0.5em 0.5em 1em;
  }
}
div.product-contents div.handy-guide-single table.side-effects-table,
div.product-contents div.product-single table.side-effects-table {
  margin-top: 10px;
}
div.product-contents div.handy-guide-single table.side-effects-table th:first-child,
div.product-contents div.product-single table.side-effects-table th:first-child {
  width: 16%;
}
div.product-contents div.handy-guide-single table.side-effects-table th:nth-child(2), div.product-contents div.handy-guide-single table.side-effects-table th:nth-child(3), div.product-contents div.handy-guide-single table.side-effects-table th:nth-child(4),
div.product-contents div.product-single table.side-effects-table th:nth-child(2),
div.product-contents div.product-single table.side-effects-table th:nth-child(3),
div.product-contents div.product-single table.side-effects-table th:nth-child(4) {
  width: 28%;
}
div.product-contents div.handy-guide-single table.side-effects-table td,
div.product-contents div.product-single table.side-effects-table td {
  text-align: left;
  vertical-align: baseline;
  padding: 0.3em 1em;
  line-height: 1.5;
}
div.product-contents div.handy-guide-single table.side-effects-table caption,
div.product-contents div.product-single table.side-effects-table caption {
  caption-side: bottom;
  text-align: right;
  margin-top: 5px;
}
div.product-contents div.handy-guide-single section.pdf-section div.pdfjs-wrapper,
div.product-contents div.product-single section.pdf-section div.pdfjs-wrapper {
  width: 100%;
  margin-bottom: 3em;
  aspect-ratio: 3/2;
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single section.pdf-section div.pdfjs-wrapper,
  div.product-contents div.product-single section.pdf-section div.pdfjs-wrapper {
    min-height: unset;
    aspect-ratio: unset;
  }
}
div.product-contents div.handy-guide-single section.pdf-section div.pdf-title,
div.product-contents div.product-single section.pdf-section div.pdf-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
div.product-contents div.handy-guide-single section.pdf-section div.pdf-title h3,
div.product-contents div.handy-guide-single section.pdf-section div.pdf-title p,
div.product-contents div.product-single section.pdf-section div.pdf-title h3,
div.product-contents div.product-single section.pdf-section div.pdf-title p {
  margin-bottom: 0;
}
div.product-contents div.handy-guide-single section.pdf-section div.pdf-title a,
div.product-contents div.product-single section.pdf-section div.pdf-title a {
  color: #0054a7;
}
div.product-contents div.handy-guide-single p.closing-doc a,
div.product-contents div.product-single p.closing-doc a {
  color: #0054a7;
}
div.product-contents div.handy-guide-single p.closing-doc a:hover,
div.product-contents div.product-single p.closing-doc a:hover {
  text-decoration: none;
}
div.product-contents div.handy-guide-single img.img-500,
div.product-contents div.product-single img.img-500 {
  width: min(39.06vw, 500px);
  height: auto;
  margin: 0 auto;
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single img.img-500,
  div.product-contents div.product-single img.img-500 {
    width: 100%;
  }
}
div.product-contents div.handy-guide-single dl.chronology,
div.product-contents div.product-single dl.chronology {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5em 1em;
}
div.product-contents div.handy-guide-single dl.chronology dd,
div.product-contents div.product-single dl.chronology dd {
  margin-left: 0;
}
div.product-contents div.prooduct-single ul.therapeutic-properties {
  margin-left: 1em;
  text-indent: -1em;
}
div.product-contents div.prooduct-single ul.therapeutic-properties::before {
  content: "●";
  color: #0054a7;
}
div.product-contents .product-images-section-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
div.product-contents {
  /* product_dbごとのグループ。下のグループとの余白 */
}
div.product-contents .product-db-image-group {
  margin-bottom: 40px;
  width: 45%;
}
div.product-contents {
  /* 画像が並ぶグリッド。ここで2列のグリッド（幅等倍）を定義 */
}
div.product-contents .product-images-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
}
div.product-contents {
  /* 各画像＋タイトルのコンテナ。内部をFlex縦並びにして高さを100%いっぱいに広げる */
}
div.product-contents .product-image-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}
div.product-contents {
  /* 画像を囲む枠。ここで正方形などに比率固定するか、高さを一定にするとより綺麗になります */
}
div.product-contents .image-box {
  width: 100%;
  background-color: #f7f7f7; /* 背景色（任意） */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  aspect-ratio: 4/3; /* 必要に応じて比率を固定（例: 4対3、正方形なら 1 / 1） */
}
div.product-contents .image-box img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* 画像全体を枠内に収める設定（切り抜く場合は cover ） */
}
div.product-contents {
  /* 画像の下に来るタイトル */
}
div.product-contents .image-title {
  margin-top: 12px;
  font-size: min(1.09vw, 14px);
  line-height: 1.4;
  text-align: center; /* 中央寄せ */
}
div.product-contents div.product-barcodes p {
  font-weight: 700;
}
div.product-contents div.product-barcodes table tbody tr {
  background-color: unset !important;
}
div.product-contents div.product-barcodes table tbody tr th,
div.product-contents div.product-barcodes table tbody tr td {
  width: 33.3333333333%;
  background-color: unset;
}
div.product-contents div.product-barcodes table tbody tr th {
  color: #222222;
  font-weight: 400;
}
div.product-contents div.product-barcodes table tbody tr td img {
  width: 80%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  div.product-contents div.product-barcodes {
    font-size: 12px;
  }
}
div.product-contents div.patient-list h5 {
  margin: 1em 0;
}
@media (max-width: 768px) {
  div.product-contents div.product-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
  }
  div.product-contents div.product-table-scroll > table {
    width: 644px;
    min-width: 644px;
    margin: 0 auto;
    border-collapse: collapse;
  }
  div.product-contents .qa-area dd,
  div.product-contents .qa-area dd > div {
    min-width: 0;
    max-width: 100%;
  }
}
div.product-contents table.two-divisions,
div.product-contents table.three-divisions,
div.product-contents table.four-divisions,
div.product-contents table.five-divisions,
div.product-contents table.free-divisions {
  margin-bottom: 1em;
  table-layout: fixed;
}
div.product-contents table.two-divisions th,
div.product-contents table.two-divisions td,
div.product-contents table.three-divisions th,
div.product-contents table.three-divisions td,
div.product-contents table.four-divisions th,
div.product-contents table.four-divisions td,
div.product-contents table.five-divisions th,
div.product-contents table.five-divisions td,
div.product-contents table.free-divisions th,
div.product-contents table.free-divisions td {
  word-break: break-word;
}
div.product-contents table.two-divisions td,
div.product-contents table.three-divisions td,
div.product-contents table.four-divisions td,
div.product-contents table.five-divisions td,
div.product-contents table.free-divisions td {
  text-align: left;
  padding: 0.3em 1em !important;
  vertical-align: baseline;
}
div.product-contents table.table-layout-fixed {
  table-layout: fixed;
}
div.product-contents table caption {
  caption-side: bottom;
  text-align: right;
  font-size: min(1.09vw, 14px);
}
@media (max-width: 768px) {
  div.product-contents table caption {
    font-size: 12px;
  }
}
div.product-contents table.two-divisions td:first-child {
  width: 20%;
}
div.product-contents table.three-divisions th {
  width: 33.3333333333%;
}
div.product-contents table.four-divisions th {
  width: 25%;
}
div.product-contents table.five-divisions th {
  width: 20%;
}
div.product-contents table.six-divisions th {
  width: 16.6666666667%;
  padding: 0.5em !important;
}
div.product-contents table.seven-divisions th {
  width: 14.2857142857%;
  padding: 0.5em !important;
}
div.product-contents table.td-first-child-center tbody tr td:first-child {
  text-align: center;
}
div.product-contents table.td-left tbody tr td:not(:first-child) {
  text-align: left;
  padding-left: 1em;
}
div.product-contents table.td-center tbody tr td {
  text-align: center;
  vertical-align: middle;
}
div.product-contents table.severity-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  text-align: center;
}
div.product-contents table.severity-table th,
div.product-contents table.severity-table td {
  padding: 12px 8px;
  vertical-align: middle;
  word-break: break-word;
}
div.product-contents table.severity-table thead th {
  background-color: #ffffff !important;
  color: #222222 !important;
}
div.product-contents table.severity-table thead th.head-left {
  color: #222222;
  background-color: #ffffff;
}
div.product-contents table.severity-table thead th.head-top {
  background-color: #ecf6ff !important;
  color: #222222;
}
div.product-contents table.severity-table thead th span {
  font-weight: 400;
}
div.product-contents table.severity-table tbody tr {
  background-color: #ffffff !important;
  border: none;
}
div.product-contents table.severity-table tbody tr th {
  color: #222222;
  background-color: #ffffff;
}
div.product-contents table.severity-table tbody tr th.vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 1em;
  background-color: #ecf6ff !important;
  color: #222222 !important;
}
div.product-contents table.severity-table tbody tr td:not([class]) {
  text-align: left;
  padding-left: 1em;
}
div.product-contents table.severity-table tbody tr td.no-border {
  border-top: none;
  border-bottom: none;
}
div.product-contents table.severity-table tbody tr td.no-border-bottom {
  border-bottom: none;
}
div.product-contents table.severity-table tbody tr td.no-border-top {
  border-top: none;
}
div.product-contents table.severity-table tbody tr td.no-border-right {
  border-right: none;
}
div.product-contents table.severity-table tbody tr td.no-border-left {
  border-left: none;
}
div.product-contents table.severity-table tbody tr td.no-border-both {
  border-left: none;
  border-right: none;
}
div.product-contents table.contraindication {
  border: 1px solid red;
}
div.product-contents table.contraindication thead tr th {
  background-color: unset;
  color: #222222;
}
div.product-contents table.contraindication thead tr th,
div.product-contents table.contraindication thead tr td {
  border: 1px solid red;
}
div.product-contents table.contraindication tbody tr td {
  border: 1px solid red;
}
div.product-contents tbody.num-center td:nth-last-child(n+3) {
  text-align: left;
  padding: 0 0.5em;
}
div.product-contents {
  /* 重症度カラー */
}
div.product-contents .lv1 {
  background-color: #f7f7f7 !important;
  font-weight: 700;
}
div.product-contents .lv2 {
  background-color: #b9def8 !important;
  font-weight: 700;
}
div.product-contents .lv3 {
  background-color: #79b3df !important;
  font-weight: 700;
}
div.product-contents .lv4 {
  background-color: #3b7ec1 !important;
  font-weight: 700;
  color: #ffffff;
}
div.product-contents .lv5 {
  background-color: #0054a7;
  font-weight: 700;
  color: #ffffff;
}
div.product-contents .sub-header {
  background-color: #4a8bc8 !important;
  color: #ffffff;
}
div.product-contents .sub-header td {
  box-shadow: inset 0 1px 0 #ffffff, inset 0 2px 0 #222222;
}
div.product-contents {
  /*
  .tr-odd {
  	background-color: $blue-even-light !important;
  }
  */
}
div.product-contents .table-note {
  margin-top: 8px;
  font-size: 12px;
}
div.product-contents .under-double tr:last-child td {
  box-shadow: inset 0 -1px 0 #ffffff, inset 0 -2px 0 #222222;
}
div.product-contents ul.ul-left-padding {
  padding-left: 1.5em;
  text-indent: 0;
}
div.product-contents ul.li-indent li {
  text-indent: -1em;
}
div.product-contents ul.li-margin li {
  margin-left: 1.4em;
}
div.product-contents ul.therapeutic-properties {
  padding-left: 0;
}
div.product-contents ul.therapeutic-properties li {
  margin-left: 1.5em;
  text-indent: -1.5em;
}
div.product-contents ul.therapeutic-properties li:before {
  content: "○";
  margin-right: 0.5em;
}
div.product-contents ul.therapeutic-properties li span {
  display: inline-block;
  padding-left: 1em;
  text-indent: 0;
}
div.product-contents ul.ul-sub-list-padding {
  padding-left: 3em;
  margin: -0.5em 0 0;
}
div.product-contents .text-indent-clear {
  text-indent: 0;
}
div.product-contents div.caret-down::before {
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  margin: 0 auto;
  /* 色の指定（ここを変えるだけでOK） */
  background-color: #0054a7;
  /* SVGをマスクとして設定 */
  -webkit-mask-image: url("../img/caret-down-solid-full.svg");
  mask-image: url("../img/caret-down-solid-full.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
@media (max-width: 768px) {
  div.product-contents {
    display: block;
    width: 100%;
  }
  div.product-contents div.handy-guide-single,
  div.product-contents div.product-single {
    width: 90%;
  }
  div.product-contents div.handy-guide-single section,
  div.product-contents div.product-single section {
    font-size: 14px;
  }
  div.product-contents div.handy-guide-single h2[id],
  div.product-contents div.handy-guide-single h4,
  div.product-contents div.product-single h2[id],
  div.product-contents div.product-single h4 {
    font-size: 16px;
  }
  div.product-contents div.handy-guide-single h2.medicine-details,
  div.product-contents div.product-single h2.medicine-details {
    font-size: 18px;
  }
  div.product-contents div.handy-guide-single h2.medicine-details span,
  div.product-contents div.product-single h2.medicine-details span {
    font-size: 14px;
  }
  div.product-contents div.handy-guide-single h3,
  div.product-contents div.product-single h3 {
    font-size: 16px;
  }
  div.product-contents div.handy-guide-single h5,
  div.product-contents div.product-single h5 {
    font-size: 16px;
  }
  div.product-contents div.handy-guide-single h6,
  div.product-contents div.product-single h6 {
    font-size: 16px;
  }
  div.product-contents div.handy-guide-single p.annotation,
  div.product-contents div.product-single p.annotation {
    font-size: 14px;
  }
  div.product-contents div.handy-guide-single p.source,
  div.product-contents div.product-single p.source {
    font-size: 12px;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  div.product-contents div.handy-guide-single p.source,
  div.product-contents div.product-single p.source {
    letter-spacing: -0.2px;
  }
}
@media (max-width: 768px) {
  div.product-contents div.handy-guide-single p.side-effects,
  div.product-contents div.product-single p.side-effects {
    font-size: 14px;
  }
  div.product-contents div.handy-guide-single p.closing-doc,
  div.product-contents div.product-single p.closing-doc {
    font-size: 14px;
  }
  div.product-contents div.handy-guide-single section.contraindication-section h2,
  div.product-contents div.product-single section.contraindication-section h2 {
    font-size: 16px;
  }
}

div.reference {
  font-size: min(1.09vw, 14px);
  color: #707070;
  margin-bottom: 2em;
  padding: 1em;
}
@media (max-width: 768px) {
  div.reference {
    font-size: 12px;
  }
}

div.chat-bot-start {
  position: fixed;
  bottom: min(9.77vw, 125px);
  right: 0;
  z-index: 100;
}
div.chat-bot-start button img {
  width: min(8.05vw, 103px);
}
@media (max-width: 768px) {
  div.chat-bot-start {
    bottom: -4px;
  }
  div.chat-bot-start button img {
    width: 130px;
  }
}

/* モーダル共通スタイル */
.chat-modal {
  border: none;
  border-radius: 8px;
  padding: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 90%;
  width: min(98.12vw, 834px);
  max-height: 80vh;
}
.chat-modal::backdrop {
  background: rgba(0, 49, 108, 0.66);
}
.chat-modal .modal-content {
  position: relative;
  padding: min(3.53vw, 30px) min(10vw, 85px);
  height: min(64.71vw, 580px);
}
.chat-modal .modal-content .modal-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(1.18vw, 10px);
  font-size: min(1.65vw, 14px);
}
.chat-modal .modal-content .modal-body img {
  width: min(14.12vw, 120px);
}
.chat-modal .modal-content .modal-body h2 {
  text-align: center;
  font-size: min(2.12vw, 18px);
  font-weight: 600;
  color: #0054a7;
  margin: 0;
}
.chat-modal .modal-content .modal-body div.tos-text {
  width: 100%;
  height: min(23.53vw, 200px);
  overflow-y: scroll;
  padding: 1em 3em;
  border: 1px solid #707070;
}
.chat-modal .modal-content .modal-body div.tos-text h3 {
  font-size: min(1.25vw, 16px);
  font-weight: 700;
  color: #0054a7;
}
.chat-modal .modal-content .modal-body div.tos-text ul {
  list-style: none;
  padding: 0;
}
.chat-modal .modal-content .modal-body div.tos-text ul li {
  margin-bottom: 0.5em;
  margin-left: 1em;
  text-indent: -1.2em;
}
.chat-modal .modal-content .modal-body div.tos-text ul li::before {
  content: "●";
  color: #a0a0a0;
  margin-right: 0.2em;
}
.chat-modal .modal-content .chat-iframe {
  margin-top: 20px;
  position: relative;
  width: 100%;
  height: 100%;
}
.chat-modal .modal-content .close-btn {
  position: absolute;
  top: min(3.53vw, 30px);
  right: min(3.53vw, 30px);
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
  padding: 5px;
  content: "";
  display: block;
  width: min(5.88vw, 50px);
  height: min(5.88vw, 50px);
  /* 色の指定（ここを変えるだけでOK） */
  background-color: #707070;
  /* SVGをマスクとして設定 */
  -webkit-mask-image: url("../img/close.svg");
  mask-image: url("../img/close.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.chat-modal .modal-content .close-btn:hover {
  background-color: #0054a7;
}
.chat-modal .modal-content .checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.chat-modal .modal-content #start-chat-btn {
  padding: 10px;
  background-color: #0054a7;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.chat-modal .modal-content #start-chat-btn:disabled {
  background-color: #c7c7c7;
  cursor: not-allowed;
}
.chat-modal .modal-content-chatbot {
  height: 78vh;
}
@media (max-width: 768px) {
  .chat-modal .modal-content {
    padding: 2em 1em;
    height: 80vh;
    overflow-y: hidden;
  }
  .chat-modal .modal-content .modal-body {
    gap: 10px;
    font-size: 14px;
  }
  .chat-modal .modal-content .modal-body img {
    width: 120px;
  }
  .chat-modal .modal-content .modal-body h2 {
    font-size: 18px;
  }
  .chat-modal .modal-content .modal-body div.tos-text {
    height: 200px;
    padding: 0 1em 1em 1.5em;
  }
  .chat-modal .modal-content .modal-body div.tos-text h3 {
    font-size: 14px;
  }
  .chat-modal .modal-content .modal-body div.tos-text ul {
    font-size: 14px;
  }
  .chat-modal .modal-content .close-btn {
    top: 14px;
    right: 14px;
    width: 30px;
    height: 30px;
  }
  .chat-modal .modal-content .chat-iframe {
    height: 108%;
  }
  .chat-modal .modal-content-chatbot {
    height: 100%;
  }
}

#modal-chatbot {
  width: 95vw;
  height: 95vh;
}

.tabs {
  width: 100%;
  margin-top: 1em;
}
.tabs .tab-buttons {
  display: flex;
  border-bottom: 1px solid #707070;
}
.tabs .tab-buttons .tab-btn {
  width: 50%;
  height: auto;
  background-color: #c7c7c7;
  cursor: pointer;
  position: relative;
  border-radius: 10px 10px 0 0;
  font-size: min(1.25vw, 16px);
  color: #ffffff;
  font-weight: 700;
  padding: 0.5em;
}
.tabs .tab-buttons .tab-btn:hover {
  background-color: #b6db00;
}
.tabs .tab-buttons .tab-btn.is-active {
  background-color: #0054a7;
}
@media (max-width: 768px) {
  .tabs .tab-buttons .tab-btn {
    font-size: 16px;
  }
}
.tabs .tab-contents .tab-content {
  display: none;
}
.tabs .tab-contents .tab-content.is-active {
  display: block;
}

div.handy-guide-pdf {
  width: 100%;
  height: 90px;
  border: 2px solid #0054a7;
  border-radius: 10px;
  margin-bottom: 40px;
}
div.handy-guide-pdf a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(1.72vw, 22px);
  font-weight: 700;
  color: #0054a7;
  padding: 10px 20px;
  text-decoration: none;
}
div.handy-guide-pdf a::after {
  content: url("../img/download.svg");
  margin-left: 0.6em;
  width: 1em;
  height: 1em;
  position: relative;
  top: -0.15em;
}
div.handy-guide-pdf a:hover {
  background-color: #b6db00;
  border-radius: 10px;
}
@media (max-width: 768px) {
  div.handy-guide-pdf a {
    font-size: 18px;
  }
}

.red {
  color: red;
  font-weight: 600;
}

.blue {
  color: #0054a7;
  font-weight: 600;
}

.small {
  font-size: min(1.09vw, 14px);
}
@media (max-width: 768px) {
  .small {
    font-size: 12px;
  }
}

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

.align-right {
  text-align: right !important;
  padding-right: 1em !important;
}

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

.square-padding {
  padding: 1em;
}

.img-50 {
  width: 50%;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .img-50 {
    width: 100%;
  }
}

.img-75 {
  width: 75%;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .img-75 {
    width: 100%;
  }
}

.subtitle {
  margin-bottom: 1em;
  line-height: 1.2;
}
.subtitle span {
  font-size: min(1.09vw, 14px);
}
@media (max-width: 768px) {
  .subtitle span {
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  .scroll-img {
    width: 644px;
    max-width: unset;
  }
}

p.up-down-img span:first-child::before, p.up-down-img span:last-child::before {
  display: inline-block;
  width: 28px;
  height: auto;
  vertical-align: middle;
  margin-right: 0.5em;
}
p.up-down-img span:first-child::before {
  content: url(../img/oxarol-up.svg);
}
p.up-down-img span:last-child::before {
  content: url(../img/oxarol-down.svg);
}

.clinical-results-grid {
  display: grid;
  gap: 20px;
}

.clinical-results-item {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 24px;
  align-items: flex-start;
}

.clinical-results-image {
  width: 100%;
}

.clinical-results-img {
  display: block;
  width: 100%;
  height: auto;
}

.clinical-results-text ul {
  margin: 0;
  padding-left: 1.2em;
}

.clinical-results-text li {
  margin-bottom: 0.4em;
  line-height: 1.7;
}

.clinical-results-text li:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .clinical-results-item {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .clinical-results-text li {
    line-height: 1.6;
  }
}
h5.see-warning {
  font-size: min(1.56vw, 20px) !important;
}
h5.see-warning a {
  color: #0054a7;
  text-decoration: none;
}
h5.see-warning a:hover {
  text-decoration: underline;
}
@media (max-width: 768px) {
  h5.see-warning {
    font-size: 18px !important;
  }
}

div.page-contact-medical,
div.page-contact-patient {
  width: min(51.55vw, 664px);
  margin: 100px auto;
}
div.page-contact-medical h3,
div.page-contact-patient h3 {
  font-size: min(2.03vw, 26px);
  color: #0054a7;
  font-weight: 600;
  margin-bottom: 10px;
}
div.page-contact-medical section.contact-link,
div.page-contact-patient section.contact-link {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
div.page-contact-medical section.contact-link a,
div.page-contact-patient section.contact-link a {
  width: 49%;
  position: relative;
  display: inline-block;
  line-height: 0;
}
div.page-contact-medical section.contact-link a svg,
div.page-contact-patient section.contact-link a svg {
  color: #0054a7;
  display: block;
}
div.page-contact-medical section.contact-link a:hover svg,
div.page-contact-patient section.contact-link a:hover svg {
  color: #b6db00;
}
div.page-contact-medical section.contact-link a:hover span,
div.page-contact-patient section.contact-link a:hover span {
  color: #00316c;
}
div.page-contact-medical section.contact-link a span,
div.page-contact-patient section.contact-link a span {
  position: absolute;
  top: min(1.09vw, 14px);
  right: min(1.41vw, 18px);
  text-align: right;
  color: #ffffff;
  font-weight: 500;
  font-size: min(1.88vw, 24px);
  line-height: 1.33;
}
div.page-contact-medical section.call-center,
div.page-contact-patient section.call-center {
  width: 100%;
  border: 3px solid #0054a7;
  border-radius: 10px;
  text-align: center;
}
div.page-contact-medical section.call-center h3,
div.page-contact-patient section.call-center h3 {
  font-size: min(1.25vw, 16px);
  font-weight: 700;
  background-color: #0054a7;
  color: #ffffff;
  margin: 0;
  padding: 10px 0;
}
div.page-contact-medical section.call-center p.phone-number,
div.page-contact-patient section.call-center p.phone-number {
  font-size: min(2.5vw, 32px);
  font-weight: 700;
  color: #0054a7;
  padding-bottom: 24px;
  border-bottom: 1px solid #707070;
  width: 85%;
  margin: 0 auto;
}
div.page-contact-medical section.call-center div,
div.page-contact-patient section.call-center div {
  width: 85%;
  margin: 22px auto 37px;
  text-align: left;
}
div.page-contact-medical section.contact-patient-description,
div.page-contact-patient section.contact-patient-description {
  line-height: 1.875;
}
div.page-contact-medical section.contact-patient-description p,
div.page-contact-patient section.contact-patient-description p {
  margin-bottom: 2em;
}
div.page-contact-medical section.faq h4,
div.page-contact-patient section.faq h4 {
  font-size: min(2.03vw, 26px);
  font-weight: 600;
  color: #0054a7;
  margin-bottom: 10px;
}
div.page-contact-medical section.faq h4::before,
div.page-contact-patient section.faq h4::before {
  content: "■";
  display: inline-block;
  margin-right: 0.2em;
}
div.page-contact-medical section.faq h5,
div.page-contact-patient section.faq h5 {
  font-size: min(1.25vw, 16px);
  font-weight: 700;
  color: #0054a7;
  margin-bottom: 10px;
}
div.page-contact-medical section.faq h5:not(:first-of-type),
div.page-contact-patient section.faq h5:not(:first-of-type) {
  margin-top: 3em;
}
div.page-contact-medical section.faq dl,
div.page-contact-patient section.faq dl {
  border-bottom: 1px solid #222222;
}
@media (max-width: 768px) {
  div.page-contact-medical,
  div.page-contact-patient {
    width: 100%;
    padding: 0 1em;
  }
  div.page-contact-medical h3,
  div.page-contact-patient h3 {
    font-size: 22px;
  }
  div.page-contact-medical section.contact-link,
  div.page-contact-patient section.contact-link {
    flex-direction: column;
    gap: 1em;
  }
  div.page-contact-medical section.contact-link a,
  div.page-contact-patient section.contact-link a {
    width: 100%;
  }
  div.page-contact-medical section.contact-link a span,
  div.page-contact-patient section.contact-link a span {
    top: 14px;
    right: 18px;
    font-size: 20px;
  }
  div.page-contact-medical section.contact-patient-description,
  div.page-contact-patient section.contact-patient-description {
    width: 100%;
    margin: 2em 0;
  }
  div.page-contact-medical section.call-center h3,
  div.page-contact-patient section.call-center h3 {
    font-size: 14px;
  }
  div.page-contact-medical section.call-center p.phone-number,
  div.page-contact-patient section.call-center p.phone-number {
    font-size: 26px;
  }
  div.page-contact-medical section.faq h4,
  div.page-contact-patient section.faq h4 {
    font-size: 22px;
  }
  div.page-contact-medical section.faq h5,
  div.page-contact-patient section.faq h5 {
    font-size: 16px;
  }
}

section.page-form {
  margin: 77px auto 0;
  width: min(45.31vw, 580px);
}
section.page-form h2.form-title {
  font-size: min(2.03vw, 26px);
  font-weight: 700;
  color: #0054a7;
  padding-bottom: 19px;
  border-bottom: 1px solid #707070;
  margin-bottom: 19px;
}
@media (max-width: 768px) {
  section.page-form h2.form-title {
    display: none;
  }
}
section.page-form h3 {
  font-size: min(2.03vw, 26px);
  font-weight: 700;
}
@media (max-width: 768px) {
  section.page-form h3 {
    font-size: 20px;
  }
}
section.page-form form.snow-monkey-form {
  margin-top: 1em;
}
section.page-form form.snow-monkey-form .smf-item__col--label {
  padding-bottom: 5px;
}
section.page-form form.snow-monkey-form .smf-item__col--label .smf-item__label__text {
  color: #00316c;
  font-weight: 600;
  padding-bottom: 5px;
}
section.page-form form.snow-monkey-form .smf-item.required .smf-item__label__text::after {
  content: "必須";
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  margin-left: 0.5em;
  padding: 0 0.5em;
  background-color: #e30000;
}
section.page-form form.snow-monkey-form .privacy-policy-agreement {
  border: 2px solid #00316c;
  border-radius: 3px;
  padding: 1em 0;
  flex-direction: row;
  justify-content: center;
  gap: 0;
}
section.page-form form.snow-monkey-form .privacy-policy-agreement button {
  color: #00316c;
  text-decoration: underline;
}
section.page-form form.snow-monkey-form .privacy-policy-agreement button:hover {
  background-color: #b6db00;
}
section.page-form form.snow-monkey-form .privacy-policy-agreement div.smf-placeholder div.smf-checkboxes-control div.smf-checkboxes-control__control div.smf-label label span.smf-checkbox-control {
  flex-direction: row-reverse;
  align-items: center;
}
section.page-form form.snow-monkey-form .privacy-policy-agreement span {
  color: #00316c;
}
section.page-form form.snow-monkey-form .smf-checkbox-control__control {
  margin: 0;
}
section.page-form form.snow-monkey-form .smf-button-control__control {
  background-image: none;
  background-color: #00316c;
  color: #ffffff;
  font-weight: 700;
  width: 100%;
  border-radius: 20px;
}
section.page-form form.snow-monkey-form .smf-button-control__control[data-action=complete] {
  background-color: #0054a7;
}
section.page-form form.snow-monkey-form .smf-error-messages {
  color: #e30000;
  font-weight: 700;
}
section.page-form form.snow-monkey-form .confirm-msg {
  display: none;
}
section.page-form form[data-screen=input] h3.confirm-sub-title {
  display: none;
}
section.page-form form[data-screen=confirm] .smf-item.required .smf-item__label__text::after,
section.page-form form[data-screen=confirm] .privacy-policy-agreement,
section.page-form form[data-screen=confirm] .input-message {
  display: none;
}
section.page-form form[data-screen=confirm] .confirm-msg {
  display: inline;
  font-weight: 500;
  color: #0054a7;
}
section.page-form form[data-screen=confirm] .confirm-hidden {
  display: none;
}
section.page-form form[data-screen=confirm] div.smf-action {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}
section.page-form form[data-screen=confirm] .smf-button-control {
  width: 50%;
}

body.translatepress-en_US section.page-form form.snow-monkey-form .privacy-policy-agreement {
  gap: 4px;
}
body.translatepress-en_US section.page-form form.snow-monkey-form .privacy-policy-agreement div.smf-placeholder div.smf-checkboxes-control div.smf-checkboxes-control__control div.smf-label label span.smf-checkbox-control {
  flex-direction: row;
}

.privacy-policy-modal {
  border: none;
  border-radius: 8px;
  padding: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  width: min(98.12vw, 834px);
  max-width: 90%;
  max-height: 70vh;
  overflow: hidden;
}
.privacy-policy-modal::backdrop {
  background: rgba(0, 49, 108, 0.66);
}
.privacy-policy-modal .privacy-policy-modal__content {
  position: relative;
  padding: min(3.53vw, 30px) min(10vw, 85px);
  max-height: 70vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2em;
}
.privacy-policy-modal .privacy-policy-modal__content img {
  width: min(14.12vw, 120px);
  display: block;
  margin: 0 auto;
}
.privacy-policy-modal .privacy-policy-modal__content h2 {
  margin: 1em 0 0.5em;
  text-align: center;
  font-size: min(1.41vw, 18px);
  font-weight: 600;
  color: #0054a7;
}
.privacy-policy-modal .privacy-policy-modal__content h3 {
  margin-bottom: 1em;
  font-size: min(1.41vw, 18px);
}
.privacy-policy-modal .privacy-policy-modal__content ul {
  list-style-type: disc;
}
.privacy-policy-modal .privacy-policy-modal__content div.privacy-policy-text {
  line-height: 1.875;
  overflow-y: scroll;
  padding: 1em 3em;
  border: 1px solid #707070;
}
.privacy-policy-modal .privacy-policy-modal__content div.privacy-policy-text p.enactment {
  text-align: right;
}
.privacy-policy-modal .close-modal {
  position: absolute;
  top: min(3.53vw, 30px);
  right: min(3.53vw, 30px);
  border: none;
  background: none;
  cursor: pointer;
  font-size: 0;
  width: min(5.88vw, 50px);
  height: min(5.88vw, 50px);
  background-color: #707070;
  -webkit-mask-image: url("../img/close.svg");
  mask-image: url("../img/close.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  transition: 0.3s;
}
.privacy-policy-modal .close-modal:hover {
  background-color: #0054a7;
}
@media (max-width: 768px) {
  .privacy-policy-modal .privacy-policy-modal__content {
    padding: 1.5em;
    gap: 1em;
  }
  .privacy-policy-modal .privacy-policy-modal__content img {
    width: 120px;
  }
  .privacy-policy-modal .privacy-policy-modal__content h2 {
    font-size: 18px;
  }
  .privacy-policy-modal .privacy-policy-modal__content h3 {
    font-size: 18px;
  }
  .privacy-policy-modal .privacy-policy-modal__content div.privacy-policy-text {
    padding: 0 1em 1em;
  }
  .privacy-policy-modal .close-modal {
    top: 14px;
    right: 14px;
    width: 30px;
    height: 30px;
  }
}

@media (max-width: 768px) {
  section.page-form {
    margin-top: 20px !important;
  }
  aside.dummy-aside {
    display: none;
  }
}
#autozip {
  display: none !important;
}

body.translatepress-en_US section.page-form form.snow-monkey-form .smf-item.required .smf-item__label__text::after {
  content: "Required";
}

div.patient-top {
  background-image: url("../img/patient-top.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  aspect-ratio: 128/21;
  margin-left: calc(50% - 50vw);
  font-size: min(1.41vw, 18px);
}
div.patient-top nav.breadcrumb {
  padding-top: 3.75vw;
}
div.patient-top nav.breadcrumb ul {
  padding-left: 4.06vw;
}
div.patient-top h2 {
  width: min(51.88vw, 664px);
  margin: 5.31vw auto 0;
  font-size: min(2.5vw, 32px);
  color: #0054a7;
  font-weight: 600;
}

div.patient-top-sp {
  background-image: url("../img/patient-top-sp.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  aspect-ratio: 15/6;
  position: relative;
}
div.patient-top-sp h2 {
  font-size: 28px;
  color: #0054a7;
  font-weight: 600;
  position: absolute;
  top: 54px;
  left: 25px;
}

div.patient-top-contents {
  width: min(51.88vw, 664px);
  margin: 100px auto;
  line-height: 1.875;
  font-size: 14px;
}
div.patient-top-contents section {
  margin-top: 45px;
  border: 3px solid #0054a7;
  border-radius: 10px;
}
div.patient-top-contents section div.patient-section-title {
  background-color: #0054a7;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 70px;
}
div.patient-top-contents section div.patient-section-title h3 {
  font-size: min(1.88vw, 24px);
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 0 min(2.58vw, 33px);
}
div.patient-top-contents section div.patient-section-title div.svg-wrapper {
  width: min(4.3vw, 55px);
  height: min(4.3vw, 55px);
  margin-right: min(2.03vw, 26px);
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
div.patient-top-contents section div.patient-section-title div.svg-wrapper svg {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
div.patient-top-contents section div.patient-section-product {
  padding: 30px 0 22px;
  width: min(38.59vw, 494px);
  margin: 0 auto;
}
div.patient-top-contents section div.patient-section-product div.product-name {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
div.patient-top-contents section div.patient-section-product div.product-name h4 {
  font-size: min(1.88vw, 24px);
  font-weight: 700;
  display: inline-block;
  margin: 0;
  width: 50%;
}
div.patient-top-contents section div.patient-section-product div.rad-ar-siori {
  display: flex;
  align-items: center;
  font-weight: 600;
  margin-bottom: 20px;
}
div.patient-top-contents section div.patient-section-product div.rad-ar-siori div a {
  font-size: min(1.25vw, 16px);
  color: #0054a7;
  text-decoration: none;
  padding: 0 1em;
}
div.patient-top-contents section div.patient-section-product div.rad-ar-siori div a::after {
  content: url("../img/ext-link.svg");
  display: inline-block;
  width: min(1.25vw, 16px);
  height: auto;
  margin-left: min(0.31vw, 4px);
  vertical-align: middle;
}
@media (max-width: 768px) {
  div.patient-top-contents section div.patient-section-product div.rad-ar-siori div a::after {
    width: 16px;
    margin-left: 4px;
  }
}
div.patient-top-contents section div.patient-section-product div.rad-ar-siori div a:hover {
  background-color: #b6db00;
  color: #00316c;
  border-radius: 20px;
}
div.patient-top-contents section div.patient-section-product div.rad-ar-siori div a:hover::after {
  color: #00316c;
}
div.patient-top-contents section div.patient-section-product div.rad-ar-siori div:first-child::before {
  content: "●";
  display: inline-block;
  color: #0054a7;
}
div.patient-top-contents section div.patient-section-product div.rad-ar-siori div:first-child a::after {
  content: url("../img/ext-link.svg");
  display: inline-block;
  width: min(1.25vw, 16px);
  height: auto;
  margin-left: min(0.31vw, 4px);
  vertical-align: middle;
}
div.patient-top-contents section div.patient-section-product div.rad-ar-siori.mb-12 {
  margin-bottom: 12px;
}
div.patient-top-contents section div.patient-section-product div.patient-medication-guide {
  font-weight: 600;
  margin-bottom: 20px;
}
div.patient-top-contents section div.patient-section-product div.patient-medication-guide a {
  text-decoration: none;
  padding: 0 min(0.39vw, 5px);
  margin-left: max(-0.39vw, -5px);
}
div.patient-top-contents section div.patient-section-product div.patient-medication-guide a::before {
  content: "●";
  display: inline-block;
  color: #0054a7;
}
div.patient-top-contents section div.patient-section-product div.patient-medication-guide a::after {
  content: url("../img/ext-link.svg");
  display: inline-block;
  width: min(1.25vw, 16px);
  height: auto;
  margin-left: min(0.31vw, 4px);
  vertical-align: middle;
}
@media (max-width: 768px) {
  div.patient-top-contents section div.patient-section-product div.patient-medication-guide a::after {
    width: 14px;
    margin-left: 4px;
  }
}
div.patient-top-contents section div.patient-section-product div.patient-medication-guide a:hover {
  background-color: #b6db00;
  color: #00316c;
  border-radius: 20px;
}
div.patient-top-contents section div.patient-section-product div.patient-medication-guide a:hover::after {
  color: #00316c;
}
div.patient-top-contents section div.patient-section-product div.for-patient-button-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
div.patient-top-contents section div.patient-section-product div.for-patient-button {
  width: 100%;
  color: #ffffff;
  font-weight: 600;
  font-size: min(1.09vw, 14px);
}
div.patient-top-contents section div.patient-section-product div.for-patient-button a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-left: 1em;
  text-decoration: none;
  background-color: #0054a7;
  border-radius: 15px;
}
div.patient-top-contents section div.patient-section-product div.for-patient-button a::after {
  content: "▶";
  display: inline-block;
  padding-right: 1em;
}
div.patient-top-contents section div.patient-section-product div.for-patient-button a:hover {
  background-color: #b6db00;
  color: #00316c;
}
div.patient-top-contents section div.patient-section-product div.for-patient-button a:hover::after {
  color: #ffffff;
}
div.patient-top-contents section div.patient-section-product div.for-patient-button div {
  padding-right: 1em;
}
div.patient-top-contents section div.patient-section-product:not(:last-child) {
  border-bottom: 1px solid #707070;
}
div.patient-top-contents section div.patient-section-product .mb-0 {
  margin-bottom: 0 !important;
}
@media (max-width: 768px) {
  div.patient-top-contents {
    width: 100%;
    margin: 60px 0 150px;
    padding: 0 25px;
  }
  div.patient-top-contents section div.patient-section-title {
    height: 50px;
  }
  div.patient-top-contents section div.patient-section-title h3 {
    font-size: 20px;
    margin-left: 15px;
  }
  div.patient-top-contents section div.patient-section-title div.svg-wrapper {
    width: 32px;
    height: 32px;
    margin-right: 15px;
  }
  div.patient-top-contents section div.patient-section-product {
    padding: 20px 0 30px;
    width: 72.8vw;
    margin: 0 auto;
  }
  div.patient-top-contents section div.patient-section-product div.product-name h4 {
    font-size: 20px;
  }
  div.patient-top-contents section div.patient-section-product div.rad-ar-siori {
    flex-wrap: wrap;
    margin-bottom: 16px;
  }
  div.patient-top-contents section div.patient-section-product div.rad-ar-siori div:first-child {
    width: 100%;
  }
  div.patient-top-contents section div.patient-section-product div.rad-ar-siori div a {
    font-size: 16px;
  }
  div.patient-top-contents section div.patient-section-product div.for-patient-button {
    height: unset;
  }
  div.patient-top-contents section div.patient-section-product div.for-patient-button a {
    font-size: 16px;
    line-height: 1.375;
    padding: 0.5em 0 0.5em 1em;
    align-items: flex-end;
  }
  div.patient-top-contents section div.patient-section-product div.for-patient-button a::after {
    padding-right: 0.5em;
  }
}

div.patients-contents {
  width: min(51.88vw, 664px);
  margin: 68px auto 100px;
  line-height: 1.875;
  font-size: min(1.25vw, 16px);
}
div.patients-contents h2 {
  font-size: min(2.5vw, 32px);
  font-weight: 600;
  color: #0054a7;
  margin: 0;
}
div.patients-contents p.date-created {
  margin: 0.2em 0 1.3em;
}
div.patients-contents h3 {
  font-size: min(2.03vw, 26px);
  font-weight: 600;
  color: #0054a7;
  margin: 40px 0 20px;
}
div.patients-contents h3::before {
  content: "■";
  display: inline-block;
}
div.patients-contents h4 {
  font-size: min(1.56vw, 20px);
  font-weight: 700;
  color: #0054a7;
}
div.patients-contents h5 {
  font-size: min(1.25vw, 16px);
  font-weight: 700;
  color: #0054a7;
}
div.patients-contents .related-information-Link {
  display: block;
  width: 100%;
  font-size: min(1.72vw, 22px);
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #0054a7;
  border-radius: 10px;
  text-decoration: none;
  line-height: 1.5;
  padding: 1.4em 1em;
}
div.patients-contents .related-information-Link:hover {
  color: #00316c;
  background-color: #b6db00;
}
div.patients-contents ol,
div.patients-contents ul {
  margin-bottom: 2em;
}
div.patients-contents ol li,
div.patients-contents ul li {
  margin-bottom: 0.5em;
}
div.patients-contents ul.blue-bullet-list {
  padding-left: 1.5em;
}
div.patients-contents ul.blue-bullet-list li::before {
  content: "●";
  color: #0054a7;
  margin-left: -1.5em;
  text-indent: 1em;
  margin-right: 0.5em;
}
@media (max-width: 768px) {
  div.patients-contents {
    width: 100%;
    padding: 0 25px;
    font-size: 16px;
  }
  div.patients-contents h2 {
    font-size: 22px;
  }
  div.patients-contents h3 {
    font-size: 20px;
  }
  div.patients-contents h4 {
    font-size: 18px;
  }
  div.patients-contents h5,
  div.patients-contents p.date-created {
    font-size: 16px;
  }
  div.patients-contents .related-information-Link {
    font-size: 20px;
    padding: 0.7em 1em;
  }
}
div.patients-contents .oxarol-img-3-wrapper figure {
  float: right;
  width: 20%;
}
@media (max-width: 768px) {
  div.patients-contents .oxarol-img-3-wrapper figure {
    width: 25%;
  }
}
div.patients-contents .oxarol-img-4-wrapper div.figure-wrapper {
  display: flex;
  gap: min(3.13vw, 40px);
  float: right;
}
div.patients-contents .oxarol-img-4-wrapper div.figure-wrapper figure:first-child {
  width: min(6.25vw, 80px);
}
div.patients-contents .oxarol-img-4-wrapper div.figure-wrapper figure:last-child {
  width: min(7.81vw, 100px);
}
div.patients-contents .oxarol-img-4-wrapper div.figure-wrapper figure figcaption {
  font-size: min(1.09vw, 14px);
  text-align: center;
}
@media (max-width: 768px) {
  div.patients-contents .oxarol-img-4-wrapper div.figure-wrapper {
    margin-top: -20px;
  }
  div.patients-contents .oxarol-img-4-wrapper div.figure-wrapper figure:first-child {
    width: 68px;
  }
  div.patients-contents .oxarol-img-4-wrapper div.figure-wrapper figure:last-child {
    width: 85px;
  }
  div.patients-contents .oxarol-img-4-wrapper div.figure-wrapper figure figcaption {
    font-size: 12px;
  }
}
div.patients-contents .gaster-img-4-wrapper figure,
div.patients-contents .gaster-img-5-wrapper figure {
  float: right;
  width: 20%;
}
@media (max-width: 768px) {
  div.patients-contents .gaster-img-4-wrapper figure,
  div.patients-contents .gaster-img-5-wrapper figure {
    width: 30%;
  }
}
div.patients-contents .gaster-img-4-wrapper div,
div.patients-contents .gaster-img-5-wrapper div {
  margin-top: 1em;
}
div.patients-contents .gaster-img-5-wrapper figure {
  margin-top: 30px;
}
div.patients-contents .gaster-img-7-wrapper {
  position: relative;
}
div.patients-contents .gaster-img-7-wrapper img {
  position: absolute;
  width: 45%;
  top: 0;
  right: 0;
}
div.patients-contents .cefzon-img-2-wrapper figure {
  float: right;
  width: 15%;
  margin-top: -20px;
}
@media (max-width: 768px) {
  div.patients-contents .cefzon-img-2-wrapper figure {
    width: 22%;
    margin-top: 0;
  }
}
div.patients-contents .cefzon-img-3-wrapper figure {
  width: 30%;
  float: right;
  margin-left: 1em;
}
@media (max-width: 768px) {
  div.patients-contents .cefzon-img-3-wrapper figure {
    width: 40%;
  }
}
div.patients-contents .cefzon-img-4-wrapper figure {
  float: right;
  width: 20%;
}
div.patients-contents .cefzon-img-4-wrapper figure figcaption {
  font-size: min(1.09vw, 14px);
  text-align: center;
}
@media (max-width: 768px) {
  div.patients-contents .cefzon-img-4-wrapper figure {
    width: 25%;
  }
  div.patients-contents .cefzon-img-4-wrapper figure figcaption {
    font-size: 12px;
  }
}
div.patients-contents .dellegra-img-3-wrapper {
  margin-top: 1em;
  width: 100%;
  display: flex;
}
div.patients-contents .dellegra-img-3-wrapper ul,
div.patients-contents .dellegra-img-3-wrapper figure {
  width: 25%;
}
div.patients-contents .dellegra-img-3-wrapper ul {
  margin-left: 1em;
}
@media (max-width: 768px) {
  div.patients-contents .dellegra-img-3-wrapper {
    flex-direction: column;
  }
  div.patients-contents .dellegra-img-3-wrapper ul {
    width: 55%;
    margin-left: 22%;
  }
  div.patients-contents .dellegra-img-3-wrapper figure {
    width: 60%;
    margin: 0 auto;
  }
}
div.patients-contents .dellegra-flow-chart {
  width: 80%;
  margin: 40px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (max-width: 768px) {
  div.patients-contents .dellegra-flow-chart {
    width: 100%;
  }
}
div.patients-contents .dellegra-flow-chart div:not(:last-child) {
  width: 48%;
}
div.patients-contents .dellegra-flow-chart div:last-child {
  width: 100%;
}
div.patients-contents .dellegra-flow-chart .heading,
div.patients-contents .dellegra-flow-chart .box,
div.patients-contents .dellegra-flow-chart .message {
  border: 1px solid #0054a7;
  border-radius: 10px;
}
div.patients-contents .dellegra-flow-chart .heading,
div.patients-contents .dellegra-flow-chart .arrow-wrapper,
div.patients-contents .dellegra-flow-chart .message {
  text-align: center;
}
div.patients-contents .dellegra-flow-chart .heading {
  font-size: min(1.56vw, 20px);
  font-weight: 700;
  color: #0054a7;
}
@media (max-width: 768px) {
  div.patients-contents .dellegra-flow-chart .heading {
    font-size: 18px;
  }
}
div.patients-contents .dellegra-flow-chart .box {
  padding: 1em;
}
div.patients-contents .dellegra-flow-chart .box ul {
  margin: 0;
}
div.patients-contents .dellegra-flow-chart .message {
  line-height: 1.5;
  padding: 1em 0.5em;
}
div.patients-contents .dellegra-flow-chart .message h4 {
  margin-top: 0;
}
div.patients-contents .dellegra-flow-chart .message p {
  font-size: min(1.56vw, 20px);
  font-weight: 700;
  color: #222222;
  margin-top: 0.5em;
}
@media (max-width: 768px) {
  div.patients-contents .dellegra-flow-chart .message p {
    font-size: 18px;
  }
}
div.patients-contents .dellegra-flow-chart .arrow {
  display: inline-block;
  width: 0;
  height: 0;
  margin-top: 9px;
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-top: 21px solid #0054a7;
}
div.patients-contents .seroquel-img-1 {
  margin: 1em 0;
}
div.patients-contents table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}
div.patients-contents table tr th,
div.patients-contents table tr td {
  border: 1px solid #222222;
}
div.patients-contents table tr th {
  background-color: #0054a7;
  color: #ffffff;
  font-weight: 600;
  padding: 5px 0;
}
div.patients-contents table tr td {
  padding: 10px 0;
}
div.patients-contents table tr th.diag {
  position: relative;
  width: 120px;
  height: 80px;
  padding: 0;
  background: linear-gradient(to top right, transparent 49.5%, #000 50%, transparent 50.5%);
  background-color: #0054a7;
}
div.patients-contents table tr th.diag span.top {
  position: absolute;
  top: 8px;
  right: 8px;
}
div.patients-contents table tr th.diag span.bottom {
  position: absolute;
  bottom: 8px;
  left: 8px;
}
div.patients-contents table tr:nth-child(odd) {
  background-color: #ecf6ff;
}
div.patients-contents table.custom-border tr:nth-child(odd) {
  background: transparent;
}
div.patients-contents table.align-left td {
  text-align: left;
  padding-left: 1em;
}
div.patients-contents table.caption-effects-table {
  caption-side: bottom;
  text-align: right;
  font-size: min(1.09vw, 14px);
}
div.patients-contents table.two-divisions,
div.patients-contents table.three-divisions,
div.patients-contents table.four-divisions,
div.patients-contents table.five-divisions {
  margin-bottom: 1em;
  table-layout: fixed;
}
div.patients-contents table.two-divisions th,
div.patients-contents table.two-divisions td,
div.patients-contents table.three-divisions th,
div.patients-contents table.three-divisions td,
div.patients-contents table.four-divisions th,
div.patients-contents table.four-divisions td,
div.patients-contents table.five-divisions th,
div.patients-contents table.five-divisions td {
  word-break: break-word;
}
div.patients-contents table.two-divisions td,
div.patients-contents table.three-divisions td,
div.patients-contents table.four-divisions td,
div.patients-contents table.five-divisions td {
  text-align: left;
  padding: 0.5em 1em !important;
  vertical-align: baseline;
}
div.patients-contents table.table-layout-fixed {
  table-layout: fixed;
}
div.patients-contents table caption {
  caption-side: bottom;
  text-align: right;
  font-size: min(1.09vw, 14px);
}
div.patients-contents table.two-divisions td:first-child {
  width: 20%;
}
div.patients-contents table.three-divisions th {
  width: 33.3333333333%;
}
div.patients-contents table.four-divisions th {
  width: 25%;
}
div.patients-contents table.five-divisions th {
  width: 20%;
  padding: 0.5em !important;
}
div.patients-contents table.six-divisions th {
  width: 16.6666666667%;
  padding: 0.5em !important;
}
div.patients-contents table.seven-divisions th {
  width: 14.2857142857%;
  padding: 0.5em !important;
}
div.patients-contents .mt-20 {
  margin-top: 20px;
}

/**********************

pdfリンクは　↓　(_contents_handy-guide.scss)
.handy-guide-pdf


***********************/
div.page-privacy-policy {
  width: min(51.88vw, 664px);
  margin: 100px auto;
  line-height: 1.875;
}
div.page-privacy-policy ol {
  margin-top: 1em;
  color: #0054a7;
}
div.page-privacy-policy ol h3 {
  font-size: min(1.41vw, 18px);
  font-weight: 500;
  color: #0054a7;
  margin-top: 1.5em;
}
div.page-privacy-policy ol p {
  font-size: min(1.25vw, 16px);
  margin-top: 1.5em;
  color: #222222;
}
@media (max-width: 768px) {
  div.page-privacy-policy {
    width: 100%;
    margin: 60px 0 150px;
    padding: 0 25px;
  }
  div.page-privacy-policy ol h3 {
    font-size: 16px;
  }
  div.page-privacy-policy ol p {
    font-size: 14px;
  }
}

p.enactment {
  text-align: right;
}

div.page-tos {
  width: min(51.88vw, 664px);
  margin: 100px auto;
  line-height: 1.875;
}
div.page-tos h3 {
  font-size: min(1.56vw, 20px);
  font-weight: 500;
  color: #0054a7;
  margin-top: 1.5em;
}
div.page-tos ul {
  padding-left: 1.5em;
}
div.page-tos button.tos-toggle {
  font-weight: 500;
  margin: 1em 0 0 1em;
  color: #0054a7;
}
div.page-tos button.tos-toggle:hover {
  text-decoration: underline;
}
div.page-tos button.tos-toggle::before {
  content: "▶";
  display: inline-block;
  margin-right: 0.5em;
  transition: transform 0.3s ease;
}
div.page-tos button.tos-toggle.active::before {
  transform: rotate(90deg);
}
div.page-tos div.tos-chatbot {
  display: none;
  background-color: #f5f5f5;
  border-radius: 10px;
  padding: 2em;
  margin-bottom: 1em;
}
div.page-tos div.tos-chatbot h2 {
  font-size: min(1.56vw, 20px);
  font-weight: 600;
  color: #0054a7;
  margin: 0 0 1em;
  text-align: center;
}
div.page-tos div.tos-chatbot div.tos-text h3 {
  font-size: min(1.41vw, 18px);
  font-weight: 500;
  color: #0054a7;
  margin: 1em 0;
}
div.page-tos div.tos-chatbot div.tos-text ul {
  list-style: none;
  padding: 0;
  font-size: min(1.25vw, 16px);
}
div.page-tos div.tos-chatbot div.tos-text ul li {
  margin-bottom: 0.5em;
  margin-left: 1em;
  text-indent: -1.2em;
}
div.page-tos div.tos-chatbot div.tos-text ul li::before {
  content: "●";
  color: #0054a7;
  margin-right: 0.2em;
}
@media (max-width: 768px) {
  div.page-tos {
    width: 100%;
    margin: 60px 0 150px;
    padding: 0 25px;
  }
  div.page-tos h3 {
    font-size: 18px;
  }
  div.page-tos ul {
    padding-left: 1em;
  }
  div.page-tos p,
  div.page-tos ul,
  div.page-tos ol {
    font-size: 14px;
  }
  div.page-tos div.tos-chatbot h2 {
    font-size: 18px;
  }
  div.page-tos div.tos-chatbot div.tos-text h3 {
    font-size: 16px;
  }
  div.page-tos div.tos-chatbot div.tos-text ul {
    font-size: 14px;
  }
}

section.search-result-container {
  max-width: 644px;
  margin: 100px auto;
}
section.search-result-container h2 {
  font-size: min(2.03vw, 26px);
  color: #00316c;
  font-weight: 600;
  margin-bottom: 70px;
  padding-top: 30px;
  line-height: 1.5;
}
section.search-result-container article h3 {
  font-size: min(1.56vw, 20px);
  color: #0054a7;
  font-weight: 600;
  margin-bottom: 10px;
  line-height: 1.5;
  padding-top: 30px;
}
section.search-result-container article h3 a {
  color: #0054a7;
}
section.search-result-container article h3 span {
  font-size: min(1.09vw, 14px);
  color: #ffffff;
  background-color: #a0a0a0;
  border-radius: 5px;
  margin-left: 0.5em;
  display: inline-block;
  padding: 0.2em 0.5em;
  vertical-align: middle;
}
section.search-result-container article h3 {
  border-top: 1px solid #a0a0a0;
}
section.search-result-container article div {
  color: #a0a0a0;
  padding-bottom: 30px;
  line-height: 1.875;
}
section.search-result-container article:first-of-type h3 {
  border: none;
}
@media (max-width: 768px) {
  section.search-result-container {
    width: 100%;
    padding: 0 1em;
  }
  section.search-result-container h2 {
    font-size: 22px;
  }
  section.search-result-container article h3 {
    font-size: 18px;
  }
  section.search-result-container article h3 span {
    font-size: 12px;
  }
  section.search-result-container article div {
    font-size: 14px;
  }
}/*# sourceMappingURL=styles.css.map */