@charset "UTF-8";
/* @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;300;400;500;700;900&family=Bebas+Neue&display=swap"); */

/* design size variable */
/* constance variable */
/* device width variable */
/* font responsive ratio */
/* spacer responsive ratio */
/* noto sans font weight */
/* general method */
/* linear */
/* easeSineIn */
/* easeSineOut */
/* easeSineInOut */
/* easeQuadIn */
/* easeQuadOut */
/* easeQuadInOut */
/* easeCubicIn */
/* easeCubicOut */
/* easeCubicInOut */
/* easeQuartIn */
/* easeQuartOut */
/* easeQuartInOut */
/* easeQuintIn */
/* easeQuintOut */
/* easeQuintInOut */
/* easeExpoIn */
/* easeExpoOut */
/* easeExpoInOut */
/* easeCircIn */
/* easeCircOut */
/* easeCircInOut */
/* easeBackIn */
/* easeBackOut */
/* easeBackInOut */
/**
 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */


@font-face {
  font-family: 'Noto Sans JP';
  src: url('/wp-content/themes/wemex/assets/googlefont/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf') format('truetype');
  font-display: swap;
}

html,
body,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

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

.clearfix {
  display: inline-block;
}

/* Hides from IE Mac */
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* End Hack */
/**
EC-CUBE リセット
 */
body {
  background: none;
}

.ec-layoutRole {
  background: none;
}

.ec-layoutRole .ec-layoutRole__contents {
  max-width: none;
}

.c-block--box,
.c-block--news_cat_list li a,
main.has_sidebar>.wrapper .contents,
body.top main .supports .box .col a,
body.top main .news .navigation li a,
body.top main .medical_news .inner,
body.top main .download-area .navigation li a {
  background: #fff;
  border: solid 1px #e5e5e5;
  border-radius: 10px;
}

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

  .c-block--box,
  .c-block--news_cat_list li a,
  main.has_sidebar>.wrapper .contents,
  body.top main .supports .box .col a,
  body.top main .news .navigation li a,
  body.top main .medical_news .inner,
  body.top main .download-area .navigation li a {
    border-radius: 1.2820512821vw;
  }
}

.c-block--news_list .date {
  color: #888;
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  .c-block--news_list .date {
    font-size: 3.0769230769vw;
  }
}

.c-block--news_list .tree {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.c-block--news_list a {
  margin-left: 16px;
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  .c-block--news_list a {
    display: block;
    margin-left: 0;
    font-size: 3.5897435897vw;
  }
}

.c-block--news_cat_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.c-block--news_cat_list li {
  width: 32.3741007194%;
  margin-bottom: 14px;
}

@media only screen and (max-width: 768px) {
  .c-block--news_cat_list li {
    width: 100%;
    margin-bottom: 2.0512820513vw;
  }
}

.c-block--news_cat_list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 8px 0;
  font-size: 18px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .c-block--news_cat_list li a {
    padding: 2.0512820513vw 0;
    font-size: 3.5897435897vw;
  }
}

.c-block--news_cat_list li a:after {
  background: url(../img/icon_arrow.png) no-repeat center center/contain;
  content: "";
  display: block;
  width: 9px;
  height: 17px;
  margin-left: 10px;
}

@media only screen and (max-width: 768px) {
  .c-block--news_cat_list li a:after {
    width: 2.3076923077vw;
    height: 4.358974359vw;
    margin-left: 2.5641025641vw;
  }
}

.c-block--news_cat_list li a:hover {
  background: rgba(0, 0, 0, 0.05);
}

.c-block--bread_crumb {
  background: #fff;
  padding-top: 48px;
  padding-bottom: 8px;
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  .c-block--bread_crumb {
    background: none;
    padding-top: 10.2564102564vw;
    padding-bottom: 4.1025641026vw;
    margin-bottom: 0;
  }
}

.c-block--bread_crumb ul {
  display: flex;
}

.c-block--bread_crumb ul li {
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  .c-block--bread_crumb ul li {
    font-size: 2.5641025641vw;
  }
}

.c-block--bread_crumb ul li:not(:first-child) {
  padding-left: 12px;
  margin-left: 6px;
  position: relative;
}

.c-block--bread_crumb ul li:not(:first-child):before {
  background: url(../img/icon_arrow_breadcramb.svg) no-repeat left top/contain;
  content: "";
  display: block;
  width: 6px;
  height: 11px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 768px) {
  .c-block--bread_crumb ul li:not(:first-child) {
    padding-left: 5.1282051282vw;
  }
}

.c-block--sidebar {
  background: #fff;
  border: solid 1px #e5e5e5;
  border-radius: 10px;
  padding: 16px;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar {
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    display: block !important;
    width: 100vw !important;
    height: 0;
    padding: 0;
    position: fixed;
    right: 0;
    top: 16.1538461538vw;
    z-index: 999;
    overflow: auto;
    -webkit-transition-property: all;
    -webkit-transition-duration: 0.25s;
    -webkit-transition-timing-function: liner;
    -moz-transition-property: all;
    -moz-transition-duration: 0.25s;
    -moz-transition-timing-function: liner;
    -ms-transition-property: all;
    -ms-transition-duration: 0.25s;
    -ms-transition-timing-function: liner;
    transition-property: all;
    transition-duration: 0.25s;
    transition-timing-function: liner;
  }

  .c-block--sidebar.active {
    height: 90vh;
    padding: 4.1025641026vw;
  }
}

.c-block--sidebar .logo {
  padding: 27px 0 35px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .logo {
    padding: 6.9230769231vw 0 8.9743589744vw;
  }
}

.c-block--sidebar .logo img {
  width: 69.6721311475%;
}

.c-block--sidebar .link {
  padding-bottom: 12px;
  margin-bottom: 7px;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .link {
    padding-bottom: 3.0769230769vw;
    margin-bottom: 1.7948717949vw;
  }
}

.c-block--sidebar .link a {
  background: #00A196;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .link a {
    padding: 2.0512820513vw 3.5897435897vw;
    font-size: 3.5897435897vw;
  }
}

.c-block--sidebar .link a:after {
  background: url(../img/icon_arrow_w.png) no-repeat left top/contain;
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  margin-left: 10px;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .link a:after {
    width: 2.0512820513vw;
    height: 3.5897435897vw;
    margin-left: 2.5641025641vw;
  }
}

.c-block--sidebar .link a:hover {
  background: #22fff0;
}

.c-block--sidebar .navigation {
  border-top: dotted 1px #000;
  border-bottom: dotted 1px #000;
  padding-bottom: 12px;
  margin-bottom: 7px;
  padding-top: 8px;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .navigation {
    padding-bottom: 3.0769230769vw;
    margin-bottom: 1.7948717949vw;
  }
}

.c-block--sidebar .navigation ul li a {
  display: block;
  color: #333;
  font-weight: 700;
  position: relative;
}

.c-block--sidebar .navigation ul li a.active,
.c-block--sidebar .navigation ul li a:hover {
  background: #f2f2f2;
}

.c-block--sidebar .navigation ul li a.has_blank:after {
  background: url(../img/icon_blank.svg) no-repeat left top/contain;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .navigation ul li a.has_blank:after {
    width: 3.0769230769vw;
    height: 3.0769230769vw;
    right: 2.5641025641vw;
  }
}

.c-block--sidebar .navigation ul:not(.child)>li>a {
  padding: 4px 34px;
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .navigation ul:not(.child)>li>a {
    padding: 1.0256410256vw 8.7179487179vw;
  }
}

.c-block--sidebar .navigation ul:not(.child)>li>a.has_icon:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
}

/* :afterでダウンロードアイコンを表示 */
.c-block--sidebar .navigation ul:not(.child)>li>a.schema:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon_download.svg) no-repeat center/contain;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .navigation ul:not(.child)>li>a.has_icon:before {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
    left: 1.5384615385vw;
  }
}

.c-block--sidebar .navigation ul:not(.child)>li>a.manual:before {
  background: url(../img/icon_side_manual.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.movie:before {
  background: url(../img/icon_side_movie.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.faq:before {
  background: url(../img/icon_side_faq.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.news:before {
  background: url(../img/icon_side_news.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.contact:before {
  background: url(../img/icon_side_contact.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.support:before {
  background: url(../img/icon_side_support.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.change:before {
  background: url(../img/icon_side_change.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.how-to-use:before {
  background: url(../img/icon_side_how-to-use.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.schema:before {
  background: url(../img/icon_schema.svg) no-repeat left center/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.pdf:before {
  background: url(../img/icon_side_pdf.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul:not(.child)>li>a.schema:after {
  background: url(../img/icon_download.svg) no-repeat left top/contain;
}

.c-block--sidebar .navigation ul.child li {
  margin-left: 17px;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .navigation ul.child li {
    margin-left: 4.358974359vw;
  }
}

.c-block--sidebar .navigation ul.child li a {
  padding: 4px 0 4px 17px;
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .navigation ul.child li a {
    padding: 1.0256410256vw 0 1.0256410256vw 4.358974359vw;
    font-size: 3.0769230769vw;
  }
}

@media only screen and (max-width: 768px) {
  .c-block--sidebar .banner_area {
    margin-bottom: 12.8205128205vw;
  }
}

.c-block--title-left-border {
  border-left: solid 3px #999;
  padding-left: 16px;
  font-size: 24px;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .c-block--title-left-border {
    padding-left: 4.1025641026vw;
    font-size: 6.1538461538vw;
  }
}

.c-block--title-post {
  border-bottom: solid 1px #ccc;
  padding-bottom: 8px;
  font-size: 18px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .c-block--title-post {
    padding-bottom: 2.0512820513vw;
    font-size: 4.6153846154vw;
    line-height: 133.3333333333%;
  }
}

.c-block--accordion {
  border-bottom: solid 1px #e5e5e5;
}

.c-block--accordion:first-of-type {
  border-top: solid 1px #e5e5e5;
}

.c-block--accordion .title {
  font-size: 14px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .c-block--accordion .title {
    font-size: 3.5897435897vw;
  }
}

.c-block--accordion .title a {
  display: block;
  padding: 12px 0;
  position: relative;
  padding-right: 24px;
}

@media only screen and (max-width: 768px) {
  .c-block--accordion .title a {
    padding: 3.0769230769vw 0;
  }
}

.c-block--accordion .title a:after {
  background: url(../img/icon_arrow_vertical.png) no-repeat left top/contain;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(-180deg);
}

@media only screen and (max-width: 768px) {
  .c-block--accordion .title a:after {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
    right: 2.5641025641vw;
  }
}

.c-block--accordion .hide_content {
  display: none;
  padding-bottom: 12px;
}

@media only screen and (max-width: 768px) {
  .c-block--accordion .hide_content {
    padding-bottom: 3.0769230769vw;
  }
}

.c-block--accordion .hide_content p {
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  .c-block--accordion .hide_content p {
    font-size: 3.5897435897vw;
  }
}

.c-block--accordion.active .title a:after {
  background: url(../img/icon_arrow_vertical.png) no-repeat left top/contain;
  transform: translateY(-50%) rotate(0deg);
}

.c-block--accordion.active .hide_content {
  display: block;
}

header {
  background: #fff;
  width: 100%;
  position: sticky;
  left: 0;
  top: 0;
  z-index: 1000;
}

@media only screen and (max-width: 768px) {
  header {
    padding: 4.6153846154vw 0;
  }
}

header .box {
  display: flex;
  justify-content: space-between;
  max-width: 1500px;
  margin: 0 auto;
}

header .logo {
  display: flex;
  align-items: center;
  width: 345px;
  margin-left: 16px;
  font-size: 24px;
  font-weight: 700;
}

@media only screen and (max-width: 1160px) {
  header .logo {
    width: 23.9583333333%;
    font-size: 1.5277777778vw;
  }
}

@media only screen and (max-width: 768px) {
  header .logo {
    width: auto;
    font-size: 3.5897435897vw;
  }
}

header .logo a {
  display: inline-block;
  width: 53.6231884058%;
  margin-right: 16px;
}

@media only screen and (max-width: 768px) {
  header .logo a {
    width: 24.6153846154vw;
  }
}

header .logo a img {
  width: 100%;
}

header .supports {
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 768px) {
  header .supports {
    display: none;
  }
}

header .supports .phone {
  border-left: solid 1px rgba(0, 0, 0, 0.1);
  padding-left: 48px;
  font-size: 14px;
  font-weight: 700;
  position: relative;
}

@media only screen and (max-width: 1160px) {
  header .supports .phone {
    font-size: 0.9722222222vw;
  }
}

header .supports .phone:before {
  background: url(../img/icon_phone.png) no-repeat left top/contain;
  content: "";
  display: block;
  width: 19px;
  height: 19px;
  position: absolute;
  left: 19px;
  top: 50%;
  transform: translateY(-50%);
}

header .supports .settings a,
header .supports .contact a {
  display: block;
  padding: 22px 0;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

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

  header .supports .settings a,
  header .supports .contact a {
    font-size: 0.9722222222vw;
  }
}

header .supports .settings {
  margin-left: 8px;
}

header .supports .settings a {
  border-left: solid 1px rgba(0, 0, 0, 0.1);
  background: #fff;
  width: 148px;
}

@media only screen and (max-width: 1160px) {
  header .supports .settings a {
    width: 10.2777777778vw;
  }
}

header .supports .settings a:hover {
  background: #f2f2f2;
}

header .supports .contact a {
  background: #00A196;
  width: 180px;
  color: #fff;
}

@media only screen and (max-width: 1160px) {
  header .supports .contact a {
    width: 12.5vw;
  }
}

header .supports .contact a:hover {
  background: #22fff0;
}

footer {
  background: #6B7280;
  padding: 16px 0 18px;
  position: relative;
}

@media only screen and (max-width: 768px) {
  footer {
    padding: 4.1025641026vw 0;
  }
}

footer p {
  margin-bottom: 32px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  footer p {
    margin-bottom: 10.2564102564vw;
    font-size: 3.5897435897vw;
  }
}

footer p a {
  color: #fff;
  margin-right: 20px;
}

footer p a:hover {
  text-decoration: underline;
}

footer .wrapper {
  position: relative;
}

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

@media only screen and (max-width: 768px) {
  footer .box {
    flex-wrap: wrap;
  }
}

footer .box ul {
  display: flex;
}

@media only screen and (max-width: 768px) {
  footer .box ul {
    width: 100%;
    margin-bottom: 4.1025641026vw;
  }
}

footer .box ul li {
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  footer .box ul li {
    font-size: 3.0769230769vw;
  }
}

footer .box ul li:not(:first-child) {
  margin-left: 24px;
}

@media only screen and (max-width: 768px) {
  footer .box ul li:not(:first-child) {
    margin-left: 6.1538461538vw;
  }
}

footer .box ul li a {
  color: #fff;
}

footer .box ul li a:hover {
  text-decoration: underline;
}

footer .box .copy {
  color: #fff;
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  footer .box .copy {
    width: 100%;
    font-size: 3.0769230769vw;
  }
}

footer .gotop {
  width: 60px;
  position: absolute;
  right: 32px;
  bottom: 192px;
}

@media only screen and (max-width: 768px) {
  footer .gotop {
    width: 10.2564102564vw;
    right: 6.1538461538vw;
    bottom: 22.5641025641vw;
  }
}

footer .gotop img {
  width: 100%;
}

.p-drawer {
  display: none;
  position: absolute;
  right: 5.1282051282vw;
  top: 5.1282051282vw;
  z-index: 9999;
}

@media only screen and (max-width: 768px) {
  .p-drawer {
    display: block;
    width: 6.9230769231vw;
    height: 5.1282051282vw;
  }
}

.p-drawer a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 69px;
  height: 54px;
}

@media only screen and (max-width: 980px) {
  .p-drawer a {
    width: 100%;
    height: 100%;
  }
}

.p-drawer a span.box {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.p-drawer a span.line {
  background: #333;
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

.p-drawer a span.line:first-child {
  top: 0;
}

.p-drawer a span.line:nth-child(2) {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.p-drawer a span.line:last-child {
  bottom: 0;
}

.p-drawer a.active span.line:first-child {
  top: 49%;
  transform: translate(0, 0) rotate(-45deg);
}

.p-drawer a.active span.line:nth-child(2) {
  transform: scale(0, 1);
}

.p-drawer a.active span.line:last-child {
  bottom: 49%;
  transform: translate(0, 0) rotate(45deg);
}

.p-btn--return {
  -webkit-appearance: none;
  appearance: none;
  display: inline-block;
  background: #ffffff;
  border: solid 1px #e5e5e5;
  border-radius: 5px;
  box-sizing: border-box;
  width: 130px;
  padding: 4px 10px 4px 26px;
  color: #333333;
  font-size: 15px;
  font-weight: bold;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .p-btn--return {
    width: 31.2820512821vw;
    padding: 1.0256410256vw 2.5641025641vw 1.0256410256vw 6.6666666667vw;
    font-size: 3.0769230769vw;
  }
}

.p-btn--return:before {
  background: url(../img/icon_return.svg) no-repeat left top/contain;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 768px) {
  .p-btn--return:before {
    width: 3.0769230769vw;
    height: 3.0769230769vw;
    left: 1.5384615385vw;
  }
}

.p-btn--return:hover {
  background: rgba(0, 0, 0, 0.05);
}

.p-btn--download {
  display: block;
  background: #fff;
  border: solid 1px #e5e5e5;
  border-radius: 5px;
  padding: 4px 10px 4px 26px;
  color: #333;
  font-size: 12px;
  font-weight: bold;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .p-btn--download {
    padding: 1.0256410256vw 2.5641025641vw 1.0256410256vw 6.6666666667vw;
    font-size: 2.8205128205vw;
  }
}

.p-btn--download:before {
  background: url(../img/icon_download.svg) no-repeat left top/contain;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 768px) {
  .p-btn--download:before {
    width: 3.0769230769vw;
    height: 3.0769230769vw;
    left: 1.5384615385vw;
  }
}

.p-btn--download:hover {
  background: rgba(0, 0, 0, 0.05);
}

.p-btn--white {
  display: block;
  background: #fff;
  border: solid 1px #e5e5e5;
  border-radius: 5px;
  padding: 2px 10px;
  color: #333;
  font-size: 12px;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .p-btn--white {
    padding: 0.5128205128vw 2.5641025641vw;
    font-size: 3.0769230769vw;
  }
}

.p-btn--white:hover {
  background: rgba(0, 0, 0, 0.05);
}

.p-btn--white.disabled {
  opacity: 0.5;
}

.p-icon--post-category,
.c-block--news_list .icon {
  border: solid 1px #000;
  border-radius: 5px;
  padding: 0 4px;
  margin-left: 16px;
  font-size: 12px;
  font-weight: 700;
}

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

  .p-icon--post-category,
  .c-block--news_list .icon {
    padding: 0 1.0256410256vw;
    margin-left: 4.1025641026vw;
    font-size: 3.0769230769vw;
  }
}

.p-icon--post-category.blue,
.c-block--news_list .blue.icon {
  border: solid 1px #7AC8C2;
  color: #00A196;
}

.p-icon--post-category.red,
.c-block--news_list .red.icon {
  border: solid 1px #FCA5A5;
  color: #DC2626;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}

body {
  background: #f7f7f7;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  color: #333333;
}

p,
li,
dt,
dd,
input,
textarea,
th,
td {
  color: #333333;
  line-height: 175%;
  font-weight: 500;
}

h2,
h3,
h4,
h5 {
  color: #333333;
  line-height: 160%;
  font-weight: 500;
}

a {
  color: #333333;
  text-decoration: none;
  -webkit-transition-property: all;
  -webkit-transition-duration: 0.25s;
  -webkit-transition-timing-function: liner;
  -moz-transition-property: all;
  -moz-transition-duration: 0.25s;
  -moz-transition-timing-function: liner;
  -ms-transition-property: all;
  -ms-transition-duration: 0.25s;
  -ms-transition-timing-function: liner;
  transition-property: all;
  transition-duration: 0.25s;
  transition-timing-function: liner;
}

img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

.wrapper {
  width: 1140px;
  margin: 0 auto;
}

@media only screen and (max-width: 1140px) {
  .wrapper {
    width: 83.4553440703vw;
  }
}

@media only screen and (max-width: 768px) {
  .wrapper {
    width: 90%;
    display: block;
  }
}

.pc {
  display: inherit;
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

.pc-min-1281 {
  display: none;
}

@media only screen and (min-width: 1281px) {
  .pc-min-1281 {
    display: inherit;
  }
}

.pc-1280 {
  display: none;
}

@media only screen and (max-width: 1280px) {
  .pc-1280 {
    display: inherit;
  }
}

@media only screen and (max-width: 768px) {
  .pc-1280 {
    display: none;
  }
}

.sp {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .sp {
    display: inherit !important;
  }
}

img.pc,
br.pc,
span.pc,
strong.pc,
small.pc {
  display: inline;
}

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

  img.pc,
  br.pc,
  span.pc,
  strong.pc,
  small.pc {
    display: none;
  }
}

img.sp,
br.sp,
span.sp,
strong.sp,
small.sp {
  display: none;
}

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

  img.sp,
  br.sp,
  span.sp,
  strong.sp,
  small.sp {
    display: inline;
  }
}

a[href^="tel"] {
  cursor: text;
}

@media only screen and (max-width: 736px) {
  a[href^="tel"] {
    cursor: pointer;
  }
}

span[data-aos],
strong[data-aos],
small[data-aos] {
  display: inline-block;
}

main.has_sidebar>.wrapper {
  display: flex;
  justify-content: space-between;
}

main.has_sidebar>.wrapper>*:only-child {
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  main.has_sidebar>.wrapper {
    width: 100%;
  }
}

main.has_sidebar>.wrapper .c-block--sidebar {
  box-sizing: border-box;
  width: 21.4035087719%;
}

main.has_sidebar>.wrapper .contents {
  box-sizing: border-box;
  display: block;
  width: 77.1929824561%;
  padding: 40px 24px;
}

@media only screen and (max-width: 768px) {
  main.has_sidebar>.wrapper .contents {
    width: 100%;
    min-height: 50vh;
    padding: 6.1538461538vw;
  }
}

body.top main {
  padding: 40px 0 64px;
}

@media only screen and (max-width: 768px) {
  body.top main {
    padding: 10.2564102564vw 0 2.5641025641vw;
  }

  body.top main .wrapper {
    width: 100%;
  }
}

body.top main h1 {
  margin-bottom: 40px;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  body.top main h1 {
    margin-bottom: 10.2564102564vw;
    font-size: 6.1538461538vw;
    line-height: 1.25;
  }
}

body.top main .c-block--sidebar {
  display: none;
}

body.top main .hold_news {
  margin-bottom: 16px;
  padding: 18px 0;
}

@media only screen and (max-width: 768px) {
  body.top main .hold_news {
    margin-bottom: 4.1025641026vw;
    padding: 4.1025641026vw 6.1538461538vw;
  }
}

body.top main .hold_news li {
  padding-left: 32px;
}

@media only screen and (max-width: 768px) {
  body.top main .hold_news li {
    padding-left: 0;
  }

  body.top main .hold_news li>* {
    display: block;
    line-height: 142.8571428571%;
  }

  body.top main .hold_news li>.date {
    margin-bottom: 1.2820512821vw;
  }
}

body.top main .supports,
body.top main .medical_news,
body.top main .news,
body.top main .download-area {
  padding: 32px 24px;
}

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

  body.top main .supports,
  body.top main .medical_news,
  body.top main .news,
  body.top main .download-area {
    padding: 6.1538461538vw;
  }
}

body.top main .supports h2,
body.top main .medical_news h2,
body.top main .news h2,
body.top main .download-area h2 {
  margin-bottom: 8px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}

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

  body.top main .supports h2,
  body.top main .medical_news h2,
  body.top main .news h2,
  body.top main .download-area h2 {
    margin-bottom: 2.0512820513vw;
    font-size: 6.1538461538vw;
  }
}

body.top main .supports h2+p,
body.top main .medical_news h2+p,
body.top main .news h2+p,
body.top main .download-area h2+p {
  margin-bottom: 32px;
  font-size: 14px;
  text-align: center;
}

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

  body.top main .supports h2+p,
  body.top main .medical_news h2+p,
  body.top main .news h2+p,
  body.top main .download-area h2+p {
    margin-bottom: 6.1538461538vw;
    font-size: 3.3333333333vw;
  }
}

body.top main .supports {
  margin-bottom: 16px;
}

@media only screen and (max-width: 768px) {
  body.top main .supports {
    margin-bottom: 4.1025641026vw;
  }
}

body.top main .supports .box {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box {
    gap: unset;
  }
}

body.top main .supports .box .col {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 23.9208633094%;
  height: 100%;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col {
    width: 100%;
    height: auto;
  }

  body.top main .supports .box .col:not(:last-child) {
    margin-bottom: 4.1025641026vw;
  }
}

body.top main .supports .box .col a {
  display: block;
  cursor: pointer;
  width: 100%;
  padding: 16px 0;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col a {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    padding: 4.1025641026vw;
  }
}

body.top main .supports .box .col a:hover {
  background: rgba(0, 0, 0, 0.05);
}

body.top main .supports .box .col figure {
  text-align: center;
}

body.top main .supports .box .col figure img {
  width: 100px;
  height: 100px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

body.top main .supports .box .col figure.icon-placeholder {
  height: 100px;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col figure img {
    width: 20.5128205128vw;
    height: auto;
    aspect-ratio: auto;
    object-fit: initial;
  }

  body.top main .supports .box .col figure.icon-placeholder {
    height: 20.5128205128vw;
  }
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col .text {
    width: 54.8717948718vw;
  }
}

body.top main .supports .box .col h3 {
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col h3 {
    font-size: 4.6153846154vw;
    margin-bottom: 1.5384615385vw;
    text-align: left;
  }
}

body.top main .supports .box .col p {
  margin-bottom: 8px;
  font-size: 14px;
  text-align: center;
}

body.top main .supports .box .col p.text {
  line-height: 1.5;
  min-height: 3em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col p {
    font-size: 3.5897435897vw;
    margin-bottom: 2.0512820513vw;
    text-align: left;
  }

  body.top main .supports .box .col p.text {
    line-height: 1.5;
    min-height: 3em;
  }
}

body.top main .supports .box .col .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  position: relative;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col .btn {
    align-items: flex-start;
    justify-content: flex-start;
  }
}

body.top main .supports .box .col .btn:after {
  background: url(../img/icon_arrow.png) no-repeat center center/contain;
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  margin-left: 10px;
}

body.top main .news,
body.top main .download-area {
  margin-bottom: 16px;
}

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

  body.top main .news,
  body.top main .download-area {
    margin-bottom: 4.1025641026vw;
  }
}

body.top main .news .navigation,
body.top main .download-area .navigation {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

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

  body.top main .news .navigation,
  body.top main .download-area .navigation {
    margin-bottom: 4.6153846154vw;
  }
}

body.top main .news .navigation li,
body.top main .download-area .navigation li {
  width: 32.3741007194%;
  margin-bottom: 14px;
}

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

  body.top main .news .navigation li,
  body.top main .download-area .navigation li {
    width: 41.7948717949vw;
  }
}

body.top main .news .navigation li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 8px 0;
  font-size: 18px;
  font-weight: 700;
}

body.top main .download-area .navigation li {
  flex: 1;
  margin: 0 10px;
}

body.top main .download-area .navigation li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 8px 0;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}

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

  body.top main .news .navigation li a,
  body.top main .download-area .navigation li a {
    font-size: 3.0769230769vw;
  }
}

body.top main .news .navigation li a:after,
body.top main .download-area .navigation li a:after {
  background: url(../img/icon_arrow.png) no-repeat center center/contain;
  content: "";
  display: block;
  width: 9px;
  height: 17px;
  margin-left: 10px;
}

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

  body.top main .news .navigation li a:after,
  body.top main .download-area .navigation li a:after {
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    margin-left: 1.2820512821vw;
  }
}

body.top main .news .navigation li a:hover,
body.top main .download-area .navigation li a:hover {
  background: rgba(0, 0, 0, 0.05);
}

body.top main .news .news_list h3 {
  border-left: solid 3px #999;
  padding-left: 16px;
  margin-bottom: 16px;
  font-size: 18px;
  font-weight: 700;
  line-height: 100%;
}

@media only screen and (max-width: 768px) {
  body.top main .news .news_list h3 {
    font-size: 4.6153846154vw;
    padding-left: 4.1025641026vw;
    margin-bottom: 4.1025641026vw;
  }
}

body.top main .news .news_list li {
  border-bottom: solid 1px #e5e5e5;
  padding: 8px 0;
}

@media only screen and (max-width: 768px) {
  body.top main .news .news_list li {
    padding: 2.0512820513vw 0;
  }
}

body.top main .medical_news .inner {
  display: flex;
  padding: 24px;
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner {
    flex-wrap: wrap;
    padding: 4.1025641026vw;
  }
}

body.top main .medical_news .inner figure {
  width: 31.1787072243%;
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner figure {
    width: 61.5384615385vw;
    margin: 0 auto 5.1282051282vw;
  }
}

body.top main .medical_news .inner .box {
  margin-left: 32px;
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner .box {
    margin-left: 0;
  }
}

body.top main .medical_news .inner .box h3 {
  margin-bottom: 16px;
  font-size: 18px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner .box h3 {
    margin-bottom: 2.5641025641vw;
    font-size: 4.6153846154vw;
  }
}

body.top main .medical_news .inner .box h3+p {
  margin-bottom: 32px;
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner .box h3+p {
    margin-bottom: 6.1538461538vw;
    font-size: 3.5897435897vw;
  }
}

body.top main .medical_news .inner .box ul {
  display: flex;
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner .box ul {
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner .box ul li {
    width: 100%;
  }
}

body.top main .medical_news .inner .box ul li:not(:first-child) {
  margin-left: 16px;
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner .box ul li:not(:first-child) {
    margin-left: 0;
    margin-top: 4.1025641026vw;
  }
}

body.top main .medical_news .inner .box ul a {
  background: #00A196;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 14px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner .box ul a {
    box-sizing: border-box;
    width: 56.4102564103vw;
    padding: 1.0256410256vw 3.5897435897vw;
    margin: 0 auto;
    font-size: 3.5897435897vw;
  }
}

body.top main .medical_news .inner .box ul a:after {
  background: url(../img/icon_arrow_w.png) no-repeat left top/contain;
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  margin-left: 10px;
}

@media only screen and (max-width: 768px) {
  body.top main .medical_news .inner .box ul a:after {
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    margin-left: 2.5641025641vw;
  }
}

body.top main .medical_news .inner .box ul a:hover {
  background: #22fff0;
}

body.manual main {
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  body.manual main {
    margin-bottom: 4.1025641026vw;
  }
}

body.manual .contents h1 {
  margin-bottom: 32px;
}

@media only screen and (max-width: 768px) {
  body.manual .contents h1 {
    margin-bottom: 6.1538461538vw;
  }
}

body.manual .c-block--accordion .hide_content p {
  margin-bottom: 32px;
}

@media only screen and (max-width: 768px) {
  body.manual .c-block--accordion .hide_content p {
    margin-bottom: 8.2051282051vw;
  }
}

body.manual .c-block--accordion .hide_content .description {
  margin-bottom: 2.1428571429em;
}

body.manual .c-block--accordion .hide_content .description p,
body.manual .c-block--accordion .hide_content .description pre {
  font-size: 14px;
  line-height: 142.8571428571%;
}

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

  body.manual .c-block--accordion .hide_content .description p,
  body.manual .c-block--accordion .hide_content .description pre {
    font-size: 3.5897435897vw;
  }
}

body.manual .c-block--accordion .hide_content .description p:not(:last-child),
body.manual .c-block--accordion .hide_content .description pre:not(:last-child) {
  margin-bottom: 1em;
}

body.manual .c-block--accordion .hide_content .file {
  display: flex;
  align-items: center;
}

body.manual .c-block--accordion .hide_content .file .meta {
  display: flex;
  align-items: center;
}

body.manual .c-block--accordion .hide_content .file .meta .icon {
  width: 32px;
  margin-right: 12px;
}

@media only screen and (max-width: 768px) {
  body.manual .c-block--accordion .hide_content .file .meta .icon {
    width: 8.2051282051vw;
    margin-right: 3.0769230769vw;
  }
}

body.manual .c-block--accordion .hide_content .file .meta .icon img {
  width: 100%;
}

body.manual .c-block--accordion .hide_content .file .meta .name {
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  body.manual .c-block--accordion .hide_content .file .meta .name {
    font-size: 3.5897435897vw;
  }
}

body.manual .c-block--accordion .hide_content .file .meta .capacity {
  color: #7f7f7f;
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  body.manual .c-block--accordion .hide_content .file .meta .capacity {
    font-size: 3.0769230769vw;
  }
}

body.manual .c-block--accordion .hide_content .file .btn_download {
  margin-left: 24px;
}

@media only screen and (max-width: 768px) {
  body.manual .c-block--accordion .hide_content .file .btn_download {
    margin-left: 6.1538461538vw;
  }
}

body.movie main,
body.support main {
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  body.movie main,
  body.support main {
    margin-bottom: 4.1025641026vw;
  }
}

body.movie .contents h1,
body.support .contents h1 {
  margin-bottom: 32px;
}

@media only screen and (max-width: 768px) {
  body.movie .contents h1,
  body.support .contents h1 {
    margin-bottom: 6.1538461538vw;
  }
}

@media only screen and (max-width: 768px) {
  body.movie.list .contents .hide_content ul,
  body.support.list .contents .hide_content ul {
    width: 79.4871794872vw;
  }
}

body.movie.list .contents .hide_content li,
body.support.list .contents .hide_content li {
  color: #00A196;
  font-size: 14px;
  list-style-position: inside;
}

@media only screen and (max-width: 768px) {
  body.movie.list .contents .hide_content li,
  body.support.list .contents .hide_content li {
    font-size: 3.5897435897vw;
  }

  body.movie.list .contents .hide_content li:not(:last-child),
  body.support.list .contents .hide_content li:not(:last-child) {
    margin-bottom: 1em;
  }
}

body.movie.list .contents .hide_content li a,
body.support.list .contents .hide_content li a {
  color: #00A196;
}

body.movie.list .contents .hide_content li a:hover,
body.support.list .contents .hide_content li a:hover {
  color: #22fff0;
}

body.movie.post-page .post .post_contents,
body.support.post-page .post .post_contents {
  border-bottom: solid 1px #ccc;
  padding: 24px 0;
  margin-bottom: 24px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  body.movie.post-page .post .post_contents,
  body.support.post-page .post .post_contents {
    padding: 6.1538461538vw 0;
    margin-bottom: 6.1538461538vw;
  }
}

body.movie.post-page .post .post_contents video,
body.movie.post-page .post .post_contents img,
body.support.post-page .post .post_contents video,
body.support.post-page .post .post_contents img {
  width: 57.6923076923%;
}

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

  body.movie.post-page .post .post_contents video,
  body.movie.post-page .post .post_contents img,
  body.support.post-page .post .post_contents video,
  body.support.post-page .post .post_contents img {
    width: 100%;
  }
}

body.movie.post-page .post .post_contents video {
  aspect-ratio: 16/9;
}

body.movie.post-page .post .post_contents img {
  aspect-ratio: 4/3;
}

body.movie.post-page .return,
body.support.post-page .return {
  text-align: right;
}

body.news main,
body.download-area main {
  margin-bottom: 40px;
}

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

  body.news main,
  body.download-area main {
    margin-bottom: 4.1025641026vw;
  }
}

body.news .contents h1 {
  margin-bottom: 32px;
}

@media only screen and (max-width: 768px) {
  body.news .contents h1 {
    margin-bottom: 6.1538461538vw;
  }
}

body.news.cat_list .c-block--news_cat_list li {
  width: 48%;
}

body.news.list .contents .c-block--news_list {
  margin-bottom: 24px;
}

@media only screen and (max-width: 768px) {
  body.news.list .contents .c-block--news_list {
    margin-bottom: 6.1538461538vw;
  }
}

body.news.list .contents .c-block--news_list li {
  border-bottom: solid 1px #ccc;
  padding: 8px 0;
  word-break: break-all;
}

@media only screen and (max-width: 768px) {
  body.news.list .contents .c-block--news_list li {
    padding: 2.0512820513vw 0;
  }
}

body.news.list .contents .pager ul,
body.download-area.list .contents .pager ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

body.news.list .contents .pager ul li,
body.download-area.list .contents .pager ul li {
  font-size: 12px;
}

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

  body.news.list .contents .pager ul li,
  body.download-area.list .contents .pager ul li {
    font-size: 3.0769230769vw;
  }
}

body.news.list .contents .pager ul li:nth-child(2) {
  margin: 0 50px;
}

@media only screen and (max-width: 768px) {
  body.news.list .contents .pager ul li:nth-child(2) {
    margin: 0 12.8205128205vw;
  }
}

body.news.post .post_meta {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

@media only screen and (max-width: 768px) {
  body.news.post .post_meta {
    margin-bottom: 2.0512820513vw;
  }
}

body.news.post .post_meta .date {
  color: #7f7f7f;
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  body.news.post .post_meta .date {
    font-size: 3.0769230769vw;
  }
}

body.news.post .c-block--title-post {
  margin-bottom: 16px;
  word-break: break-all;
}

@media only screen and (max-width: 768px) {
  body.news.post .c-block--title-post {
    margin-bottom: 4.1025641026vw;
  }
}

body.news.post .post_contents {
  border-bottom: solid 1px #ccc;
  padding-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  body.news.post .post_contents {
    padding-bottom: 10.2564102564vw;
  }
}

body.news.post .post_contents p {
  margin-bottom: 1em;
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  body.news.post .post_contents p {
    font-size: 3.5897435897vw;
  }
}

body.news.post .post_contents article:not(:last-child),
body.news.post .post_contents section:not(:last-child),
body.news.post .post_contents div:not(:last-child),
body.news.post .post_contents figure:not(:last-child),
body.news.post .post_contents video:not(:last-child),
body.news.post .post_contents table:not(:last-child),
body.news.post .post_contents ul:not(:last-child),
body.news.post .post_contents ol:not(:last-child) {
  margin-bottom: 40px;
}

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

  body.news.post .post_contents article:not(:last-child),
  body.news.post .post_contents section:not(:last-child),
  body.news.post .post_contents div:not(:last-child),
  body.news.post .post_contents figure:not(:last-child),
  body.news.post .post_contents video:not(:last-child),
  body.news.post .post_contents table:not(:last-child),
  body.news.post .post_contents ul:not(:last-child),
  body.news.post .post_contents ol:not(:last-child) {
    margin-bottom: 10.2564102564vw;
  }
}

body.news.post .post_contents figure {
  text-align: center;
}

body.news.post .post_contents figure img {
  width: 76.9230769231%;
}

@media only screen and (max-width: 768px) {
  body.news.post .post_contents figure img {
    width: 100%;
  }
}

body.news.post .file {
  border-bottom: solid 1px #ccc;
  padding: 16px 0;
}

@media only screen and (max-width: 768px) {
  body.news.post .file {
    padding: 4.1025641026vw 0;
  }
}

body.news.post .file h3 {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  body.news.post .file h3 {
    margin-bottom: 2.0512820513vw;
    font-size: 3.5897435897vw;
  }
}

body.news.post .file ul li {
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  body.news.post .file ul li {
    font-size: 3.0769230769vw;
  }
}

body.news.post .file ul li a {
  display: inline-block;
}

body.news.post .file ul li a.has_icon {
  padding-left: 20px;
  position: relative;
}

@media only screen and (max-width: 768px) {
  body.news.post .file ul li a.has_icon {
    padding-left: 5.1282051282vw;
  }
}

body.news.post .file ul li a.has_icon:before {
  content: "";
  display: block;
  width: 14px;
  height: 15px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 768px) {
  body.news.post .file ul li a.has_icon:before {
    width: 3.5897435897vw;
    height: 3.8461538462vw;
  }
}

body.news.post .file ul li a.has_icon.pdf:before {
  background: url(../img/icon_clip.svg) no-repeat left top/contain;
}

body.news.post .return {
  margin-top: 24px;
}

@media only screen and (max-width: 768px) {
  body.news.post .return {
    margin-top: 6.1538461538vw;
  }
}

body.error404 main .wrapper .c-block--sidebar {
  display: none;
}

@media only screen and (max-width: 768px) {
  body.error404 main .wrapper .c-block--sidebar {
    display: block;
  }
}

body.error404 main .wrapper .contents {
  width: 100%;
  min-height: 76.5vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

body.error404 .error-404 h1 {
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  body.error404 .error-404 h1 {
    font-size: 4.1025641026vw;
  }
}

@media only screen and (max-width: 768px) {
  body.login-form main .wrapper {
    width: 100%;
  }
}

body.login-form h1 {
  margin-bottom: 24px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  body.login-form h1 {
    margin-bottom: 10.2564102564vw;
    font-size: 6.1538461538vw;
    line-height: 1.25;
  }
}

body.login-form h1+p {
  font-size: 14px;
  margin-bottom: 24px;
  line-height: 171.4285714286%;
}

body.login-form .c-block--sidebar {
  display: none;
}

body.login-form .contents {
  background: #fff;
  box-sizing: border-box;
  width: 768px;
  padding: 40px 0;
  margin: 40px auto 360px;
}

@media only screen and (max-width: 768px) {
  body.login-form .contents {
    width: 100%;
    padding: 12.8205128205vw 0;
    margin: 10.2564102564vw auto;
  }
}

body.login-form .contents .inner {
  width: 93.75%;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  body.login-form .contents .inner {
    width: 87.6923076923%;
  }
}

body.login-form form {
  width: 400px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  body.login-form form {
    width: 100%;
  }
}

body.login-form form .input:first-child {
  margin-bottom: 16px;
}

@media only screen and (max-width: 768px) {
  body.login-form form .input:first-child {
    margin-bottom: 4.1025641026vw;
  }
}

body.login-form form .input .label {
  margin-bottom: 1em;
  font-size: 14px;
  font-weight: 500;
}

@media only screen and (max-width: 768px) {
  body.login-form form .input .label {
    font-size: 3.0769230769vw;
  }
}

body.login-form form input {
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
}

body.login-form form input[type="text"],
body.login-form form input[type="password"] {
  border: solid 1px #dedede;
  border-radius: 5px;
  font-size: 14px;
  padding: 0.5em;
}

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

  body.login-form form input[type="text"],
  body.login-form form input[type="password"] {
    font-size: 3.0769230769vw;
  }
}

body.login-form .input. input-error {
  background-color: #FFEBEE !important;
  /* 薄い赤色の背景 */
  border-color: #EF4444 !important;
  /* 赤い枠線 */
}

/* レスポンシブ対応 */
@media only screen and (max-width: 768px) {

  body.login-form form input[type="text"].input-error,
  body.login-form form input[type="password"].input-error {
    background-color: #FFEBEE;
    border-color: #EF4444;
  }
}


body.login-form form input[type=submit] {
  background: #00A196;
  border: none;
  border-radius: 5px;
  display: inline-block;
  width: 100%;
  margin-top: 32px;
  padding: 14px 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  body.login-form form input[type=submit] {
    font-size: 3.5897435897vw;
  }
}

@media only screen and (max-width: 768px) {
  body.login-form form input[type=submit] {
    margin-top: 8.2051282051vw;
  }
}

body.login-form form input[type=submit]:hover {
  background: #22fff0;
}

body.login-form .errors p {
  color: #DC2626;
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  body.login-form .errors p {
    font-size: 3.0769230769vw;
  }
}

body.login-form .forget {
margin: 8px 0 16px;
font-size: 0.875rem;
color: #009389;
}

body.login-form .forget a {
  color: #009389; 
  text-decoration: underline;
}

body.prod-select h1 {
  margin-bottom: 40px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  body.prod-select h1 {
    margin-bottom: 10.2564102564vw;
    font-size: 6.1538461538vw;
    line-height: 1.25;
  }
}

body.prod-select .c-block--sidebar {
  display: none;
}

body.prod-select .contents {
  background: #fff;
  box-sizing: border-box;
  width: 768px;
  padding: 100px 0;
  margin: 40px auto 360px;
}

@media only screen and (max-width: 768px) {
  body.prod-select .contents {
    width: 100%;
    padding: 12.8205128205vw 0;
    margin: 5.1282051282vw auto;
  }
}

body.prod-select .contents .inner {
  width: 93.75%;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  body.prod-select .contents .inner {
    width: 87.6923076923%;
  }
}

body.prod-select form {
  width: 400px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  body.prod-select form {
    width: 100%;
  }
}

body.prod-select form select {
  width: 100%;
  padding: 14px 0.5em;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  body.prod-select form select {
    font-size: 3.5897435897vw;
  }
}

body.prod-select .errors p {
  color: #DC2626;
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  body.prod-select .errors p {
    font-size: 3.0769230769vw;
  }
}

body.prod-select form input[type=submit] {
  background: #00A196;
  border: none;
  border-radius: 5px;
  display: inline-block;
  width: 100%;
  margin-top: 32px;
  padding: 14px 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  body.prod-select form input[type=submit] {
    font-size: 3.5897435897vw;
  }
}

@media only screen and (max-width: 768px) {
  body.prod-select form input[type=submit] {
    margin-top: 8.2051282051vw;
  }
}

body.prod-select form input[type=submit]:hover {
  background: #22fff0;
}

.info {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
  margin-bottom: 24px;
}

@media only screen and (max-width: 768px) {
  .info {
    display: block;
  }
}

.schema-info {
  font-size: 14px;
}


@media only screen and (max-width: 768px) {
  .schema-download {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
  }
}

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

.large-parts {
  background-color: #00000008;
  border-top: 1px solid #0000001A;
  border-left: 1px solid #0000001A;
  width: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
}

.classification-area:last-of-type .large-parts {
  border-bottom: 1px solid #0000001A;
}

.small-parts {
  width: 70%;
}

.classification-area:last-of-type .small-parts {
  border-bottom: 1px solid #0000001A;
}

.small-part {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #0000001A;
  border-left: 1px solid #0000001A;
  border-right: 1px solid #0000001A;
  padding: 8px;
  font-size: 14px;
}

.shema-title {
  font-size: 14px;
  color: #00000080;
  margin-left: 8px;
  margin-top: 16px;
  padding-bottom: 16px;
  border-bottom: dotted 1px #000;
}

.sidebar-large-parts {
  margin-top: 8px;
  padding-bottom: 16px;
  border-bottom: dotted 1px #000;
}

.no-download-item {
  opacity: 50%;
}

.has_icon.schema {
  align-items: center;
}

.buttons-area {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

.pdf-display-button {
  margin-left: 8px;
}

.c-block--schema_list {
  margin-top: 24px;
}

.image-gallery {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px
}

@media only screen and (max-width: 768px) {
  .image-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px
  }
}

.image-item {
  display: flex;
  flex-direction: column;
  text-align: center;
  background-color: #00000008;
  border: 1px solid #0000001A;
  border-radius: 4px;
  padding: 4px;
}

.image-item img {
  max-width: 90%;
  margin-top: 5px;
}

.japanese-title {
  margin-top: auto;
  margin-left: 6px;
  font-size: 14px;
  text-align: left;
}

.file-name {
  margin-left: 6px;
  font-size: 14px;
  text-align: left;
}

.category-button {
  display: flex;
  width: 100%;
  margin-top: 24px;
  justify-content: center;
}

.db-photo-button {
  background: #fff;
  border: solid 1px #0000001A;
  border-radius: 5px;
  color: #000000CC;
  font-size: 14px;
  font-weight: 400;
  position: relative;
  height: 40px;
  align-items: center;
  width: 75px;
  display: flex;
  justify-content: center;
  line-height: 40px;
}

.db-photo-help-button {
  background: #fff;
  border: solid 1px #0000001A;
  border-radius: 5px;
  color: #000000CC;
  font-size: 14px;
  font-weight: 400;
  position: relative;
  height: 40px;
  align-items: center;
  width: 75px;
  display: flex;
  justify-content: center;
  line-height: 40px;
  font-weight: 600;
}

.db-photo-button:hover,
.db-photo-help-button:hover {
  background: rgba(0, 0, 0, 0.05);
}

.help-button-area {
  display: flex;
  justify-content: end;
}

.db_iyakuhinphoto-sub-title {
  font-size: 18px;
  font-weight: 600;
  margin-top: 16px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: solid 1px #0000001A;
}

.iyakuhin-display-area {
  padding-right: 8px;
  padding-left: 8px;
}

.iyakuhin-table {
  width: 100%;
}

.iyakuhin-table td {
  text-align: center;
  vertical-align: middle;
  height: 64px;
  border-bottom: solid 1px #0000001A;
  font-size: 14px;
}

.iyakuhin-display-header-area th {
  color: #00000080;
  border-bottom: 1px solid #0000001A;
  padding-top: 8px;
  padding-bottom: 8px;
  font-size: 14px;
}

.db_iyakuhinphoto-image-header {
  width: 20%;
}

.db_iyakuhinphoto-title-header {
  width: 40%
}

.db_iyakuhinphoto-image {
  width: 25%;
  height: 45px;
  border-radius: 6px;
}

.db_iyakuhinphoto-title {
  width: 60%;
  color: #000000CC;
  text-align: left !important;
}

.new-icon {
  border: solid 1px #c8a07a;
  color: #f4793cb2;
  border-radius: 5px;
  padding: 0 4px;
  margin-left: 16px;
  font-size: 12px;
  font-weight: 700;
}

.attention-message-area {
  background-color: #FFFBEB;
  border: solid 1px #0000001A;
  color: #000000CC;
  padding: 10px;
  font-size: 14px;
  line-height: normal;
  border-radius: 6px;
}

.content-area {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.iyakuhin-detail-table {
  width: 100%;
}

.iyakuhin-detail-table td {
  text-align: center;
  vertical-align: middle;
  height: 50px;
  border-bottom: solid 1px #0000001A;
  font-size: 14px;
}

.db_iyakuhin-detail-title-header {
  width: 70%
}

.db_iyakuhin-detail-title {
  text-align: left !important;
}

.iyakuhinphoto {
  width: 40%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.photo {
  border: solid 1px #0000001A;
  border-radius: 6px
}

.photo-title {
  width: 85%;
  border-bottom: solid 1px #0000001A;
  text-align: center;
  font-size: 18px;
  padding: 10px;
  margin: 0 auto;
}

.iyakuhinphoto .p-btn--download {
  width: 70%;
  text-align: center;
}

.iyakuhinphoto .download {
  margin: 0 auto;
}

.iyakuhinphoto-all-area {
  border-bottom: solid 1px #0000001A;
}

.iyakuhinphoto-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  width: 75%;
  margin: 0 auto;
  padding-bottom: 32px;
}

@media only screen and (max-width: 768px) {
  .iyakuhinphoto-area {
    width: 100%;
  }
}

.photo-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.iyakuhin-photo-img {
  width: auto;
  height: 83%;
}

.content-area .return {
  display: flex;
  justify-content: end;
}

.content-area .return .p-btn--return {
  width: auto;
}

.yakuzai-doc-area {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.yakuzai-doc-area .return {
  display: flex;
  justify-content: end;
}

.yakuzai-doc-area .return .p-btn--return {
  width: auto;
}

.db_yakuzai_doc-title {
  width: 70%;
  text-align: left !important;
}

.db_yakuzai_doc_title_detail {
  display: flex;
  align-items: center;

}

.db_yakuzai_doc_name {
  display: flex;
  align-items: center;
}

.db_yakuzai_doc_icon {
  display: flex;
  align-items: center;
  line-height: 1;
}


.yakuzai-info {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 50px;
  height: auto;
}

.yakuzai-info-title {
  background-color: #00000008;
  border-left: 1px solid #0000001A;
  border-right: 1px solid #0000001A;
  border-top: 1px solid #0000001A;
  width: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex-direction: column;
}

.yakuzai-info:last-of-type {
  border-bottom: 1px solid #0000001A;
}

.yakuzai-info-info {
  display: flex;
  justify-content: flex-start;
  border-right: 1px solid #0000001A;
  border-top: 1px solid #0000001A;
  align-items: center;
  width: 70%;
  padding: 16px;
  min-height: 16px;
}

.yakuzai-detail-area {
  font-size: 14px;
}

.yakuzai-message-area {
  margin-bottom: 16px;
}

.yakuzai {
  margin-top: 36px;
  gap: 30px;
}

.multiple-lines {
  line-height: 1.5;
}

.techo-doc {
  width: 100%;
}

.techo-title {
  margin-bottom: 8px;
  font-size: 14px;
}

.techo-info-info {
  border: 1px solid #0000001A;
  align-items: center;
  padding: 16px;
  font-size: 14px;
}

.update-date {
  display: inline-block;
  transform: translateY(-30%);
  color: #00000080;
  font-size: 12px;
  margin-left: 30px;
}


.main-content {
  margin-top: 50px;
}

.db-list-title {
  text-align: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #0000001A;
  font-size: 14px;
}

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

  .db-list-title {
    text-align: left;
    padding-left: 8px;
  }
}

.db-list {
  display: flex;
  justify-content: left;
  align-items: center;
  padding: 8px;
  border-bottom: 1px solid #0000001A;
  font-size: 14px;
}

.list-name {
  font-weight: 400;
  color: #009389;
}

.list-name:hover {
  color: #0a958bc6;
}

.db-content-title {
  font-weight: 600;
  font-size: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid #0000001A;
}

.db-content-display-area {
  width: 100%;
}

.db-content-header {
  display: flex;
  padding-bottom: 10px;
  margin-top: 20px;
  border-bottom: 1px solid #0000001A;
  font-size: 14px;
}

.data-name {
  width: 50% !important;
  padding-left: 20px;
}

.update-content {
  width: 60%;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .db-content-header {
    display: none;
  }
}

.db-content-line {
  display: flex;
  justify-content: space-around;
  padding: 0px 8px;
  border-bottom: 1px solid #0000001A;
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  .db-content-line {
    display: flex;
    justify-content: space-around;
    padding: 0px 8px;
    font-size: 14px;
  }
}

@media only screen and (max-width: 768px) {
  .db-content-line {
    display: block;
    justify-content: space-around;
    padding: 0px 8px;
    font-size: 14px;
    border-bottom: none;
  }
}

.db-content-cell {
  margin: 20px;
  align-items: center;
}

@media only screen and (max-width: 768px) {
  .db-content-cell {
    border-bottom: 1px solid #0000001A;
    margin: 0px;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 8px;
  }
}

.multiple-line {
  display: block;
  justify-content: center;
  width: 100%;
}

.devide-line {
  height: 2px;
  border-bottom: 1px solid #0000001A;
}

@media only screen and (max-width: 768px) {
  .devide-line {
    border-bottom: none;
  }
}

.db-category-link {
  display: flex;
  align-items: center;
  line-height: 1;
}

.db-category {
  display: flex;
  width: 40%;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .db-category {
    width: 100%;
    padding-top: 24px;
  }
}

.db-category-link {
  width: 100%;
  text-align: left;
}

.db-content-page .content-area {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 50px;
}

.data-count-message {
  line-height: 1.5;
  font-size: 14px;
}


.db-title {
  padding-bottom: 10px;
  border-bottom: solid 1px #0000001A;
  padding-top: 10px;
  font-size: 14px;
}

.db-table {
  width: 100%;
}

.db-table td {
  text-align: center;
  vertical-align: middle;
  height: 50px;
  border-bottom: solid 1px #0000001A;
  font-size: 14px;
}

.count-type {
  width: 50%;
  text-align: left !important;
}

.count {
  text-align: right !important;
  padding-right: 8px;
}

.database-link {
  justify-content: space-around !important;
}

.database-link-content {
  background: #fff;
  border: solid 1px #e5e5e5;
  border-radius: 10px;
  height: 44px;
  width: 45%
}

.database-link-content a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 8px 0;
  font-size: 18px;
  font-weight: 700;
}


body.top main .download-area .navigation li a:after {
  background: url(../img/icon_arrow.png) no-repeat center center/contain;
  content: "";
  display: block;
  width: 9px;
  height: 17px;
  margin-left: 10px;
}

@media only screen and (max-width: 768px) {
  body.top main .download-area .navigation li a:after {
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    margin-left: 1.2820512821vw;
  }
}

.main.has_sidebar>.wrapper .database-top-content .contents {
  box-sizing: border-box;
  display: block;
  width: 77.1929824561%;
  padding: 40px 24px;
  background: #fff;
  border: solid 1px #e5e5e5;
  border-radius: 10px;
}

.database-top-content {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.database-content {
  width: 77.1929824561%;
}

body.database-top main .database-top-content .info-area .db-info p {
  margin-bottom: 16px;
  font-size: 14px;
  text-align: center;
}

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

  body.database-top main .database-top-content .info-area .db-infoo p {
    margin-bottom: 6.1538461538vw;
    font-size: 3.3333333333vw;
  }
}

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

  body.database-top main .database-top-content {
    width: 100%;
  }
}

.info-area {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
}

.db-button-area {
  display: flex;
  justify-content: end;
}

.db-button {
  background: #fff;
  border: solid 1px #0000001A;
  border-radius: 5px;
  color: #000000CC;
  font-size: 12px;
  font-weight: bold;
  position: relative;
  height: 32px;
  align-items: center;
  width: 100px;
  display: flex;
  justify-content: center;
  line-height: 40px;
}

.db-button:hover {
  background: rgba(0, 0, 0, 0.05);
}

.db-count-area {
  font-size: 12px;
}

main.has_sidebar>.wrapper .database-top-content .contents {
  box-sizing: border-box;
  display: block;
  width: 100% !important;
  padding: 40px 24px;
}

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

  body.database-top main .database-top-content .contents .info-area {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
}

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

  body.database-top main .database-top-content .contents .info-area .message-area p {
    text-align: left;
  }
}

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

  .category-button {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }
}

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

  .category-button .db-photo-button {
    height: 32px;
    width: 65px;
    display: flex;
    justify-content: center;
  }
}

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

  .help-button-area .db-photo-button {
    height: 32px;
  }
}

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

  .iyakuhin-table th {
    font-size: 12px;
  }
}

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

  .new-icon {
    font-size: 10px;
  }
}

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

  .db_iyakuhinphoto-image {
    width: 60%;
  }
}

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

  .db_iyakuhinphoto-title {
    width: 55%;
  }
}

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

  .db_iyakuhin-detail-title {
    width: 50%;
  }
}

.data-count-message {
  margin-top: 8px;
}

.help-content-area {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.help-content-title {
  font-weight: 600;
  font-size: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid #0000001A;
}

.help-link {
  color: #009389;
  text-decoration: underline;
}

.help-link:hover {
  color: #0a958bc6;
  text-decoration: underline;
}

.terms-content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 16px;
}

.term-button {
  display: flex;
  justify-content: center;
  gap: 32px;
}

.term-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.btn-secondary {
  width: 106px;
  height: 40px;
  background: #fff;
  border: solid 1px #0000001A;
  border-radius: 5px;
  color: #000000CC;
  font-size: 12px;
  font-weight: bold;
  position: relative;
  line-height: 40px;
}

.btn-secondary:hover {
  background: rgba(0, 0, 0, 0.05);
}

.btn-primary {
  width: 106px;
  height: 40px;
  background: #00A196;
  border: solid 1px #0000001A;
  border-radius: 5px;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: bold;
  position: relative;
  line-height: 40px;
}

.btn-primary:hover {
  background: #04605ac6;
}

.qa-content-area {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.qa-area {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.qa-list {
  font-weight: 400;
}

.qa-intro {
  margin-top: 32px;
  padding: 8px 16px;
  background-color: #F3F4F6;
  border: 1px solid #0000001A;
  font-size: 14px;
  border-radius: 6px;
  font-weight: 400;
}

.qa-intro p {
  font-weight: 400;
}

.qa-section_title {
  font-weight: 600;
  font-size: 18px;
  padding: 8px 0;
  padding-left: 8px;
  border-bottom: 1px solid #0000001A;
}

.qa-list_item,
.qa-empty {
  display: flex;
  flex-direction: row;
  font-size: 14px;
  align-items: center;
  padding: 12px 0;
  padding-left: 8px;
  border-bottom: 1px solid #0000001A;
}

.qa-list_no {
  padding-right: 12px;
  font-weight: 400;
}

.qa-list_link {
  color: #009389;
  font-weight: 400;
}

.qa-list_link:hover {
  color: #04605ac6;
  font-weight: 400;
}

.qa-icon {
  padding-left: 14px;
  line-height: 1;
}

body.schematerms main>.wrapper .contents {
  box-sizing: border-box;
  display: block;
  padding: 40px 24px;
}

.article {
  display: flex;
  flex-direction: column;
  margin-top: 30px;
  padding: 8px;
  gap: 12px;
}

.qa-q {
  display: flex;
  font-size: 20px;
  color: #009389;
  font-weight: 600;
  border-bottom: 1px solid #0000001A;
  padding-bottom: 12px;
}

.qa-text {
  margin-left: 16px;
  font-size: 18px;
}

.qa-a>div {
  font-size: 16px;
}

.qa-a {
  display: flex;

}

.qa-a_label {
  line-height: 1.9;
}

.qa-body {
  margin-left: 12px;
}

.qa-body a,
.qa-notes-body a {
  color: #009389;
  padding: 2px 4px;
  text-decoration: underline;
}

.qa-body a:hover,
.qa-notes-body a:hover {
  color: #0a958bc6;
}

.qa-body p {
  font-weight: 400;
}

.qa-notes {
  margin-top: 20px;

}

.qa-notes-body {
  font-size: 14px;
  font-weight: 400;
}

/* 太文字 */
.qa-body strong,
.qa-notes-body strong,
.qa-notes-body b {
  font-weight: 600;
}

.qa-body em,
.qa-body i,
.qa-notes-body em,
.qa-notes-body i {
  font-style: italic;
}

.qa-notes-body,
.qa-notes-body * {
  font-weight: 400;
}

.qa-notes-body h1,
.qa-notes-body h2,
.qa-notes-body h3,
.qa-notes-body h4,
.qa-notes-body h5,
.qa-notes-body h6 {
  font-weight: bold;
  margin-top: 1em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

.qa-notes-body h1 {
  font-size: 2em;
}

.qa-notes-body h2 {
  font-size: 1.5em;
}

.qa-notes-body h3 {
  font-size: 1.3em;
}

.qa-notes-body h4 {
  font-size: 1.1em;
}

.qa-notes-body h5 {
  font-size: 1em;
}

.qa-notes-body h6 {
  font-size: 0.9em;
}

.qa-body ul,
.qa-notes-body ul {
  list-style-type: disc;
  margin-left: 2em;
  padding-left: 0;
}

.qa-body li,
.qa-notes-body li {
  margin-bottom: 0.5em;
}

/* db_goriyou（ご利用方法）ページ用スタイル */
body.db_goriyou .contents {
  position: relative;
}

/* セクション間隔と本文文字サイズ（note以外の要素） */
body.db_goriyou .contents .content-area> :not(.note) {
  margin-left: 8px;
  margin-right: 8px;
}

/* セクションタイトル */
body.db_goriyou .h2 {
  font-size: 17px;
  font-weight: 700;
  margin-top: 28px;
  border-bottom: solid 1px #0000001A;
  padding-bottom: 4px;
}

body.db_goriyou .h3 {
  font-size: 14px;
  font-weight: 700;
  margin-top: 8px;
}

body.db_goriyou .small-sentense {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
}

/* ページ内リンク色（青字下線） */
body.db_goriyou .contents .content-area a {
  color: #009389;
  text-decoration: underline;
}

body.db_goriyou .contents .content-area a:hover,
body.db_goriyou .contents .content-area a:focus {
  color: #0a958bc6;
}

/* ご紹介内のリンクリスト */
body.db_goriyou .link-list {
  list-style: disc inside;
  margin: 16px 0;
  padding-left: 4px;
  font-size: 12px;
  line-height: 1.7;
}

body.db_goriyou .link-content {
  font-size: 12px;
  font-weight: 400;
  color: #0097a7;
  margin-left: 8px;
  margin-bottom: 4px;
}

body.db_goriyou .link-content a:hover {
  color: #0a958bc6;
}

/* 黄色い注意ボックス（note） */
body.db_goriyou .note {
  background: #FFFBEB;
  border: 1px solid #0000001A;
  padding: 12px 8px;
  border-radius: 6px;
}

body.db_goriyou .note .ttl-lv3 {
  margin: 0 0 8px 0;
  font-size: 14px;
  font-weight: 600;
}

/* 画像（ダウンロード画面） */
body.db_goriyou .screen-dl {
  flex-direction: column;
  align-items: center;
  /* 横方向中央寄せ */
  justify-content: center;
  margin: auto;
  /* 全体を中央に */
  text-align: center;
  /* キャプションのテキスト中央寄せ */
  border: 1px solid #e5e7eb;
  background: #fff;
}

body.db_goriyou .caption {
  text-align: center;
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 12px;
}

/* 表（データベース改訂情報の提供） */
body.db_goriyou .tbl-db {
  width: 60%;
  border-collapse: collapse;
  font-size: 14px;
  table-layout: fixed;
  margin: 0 auto;
  /* 全体を中央に */
}

@media only screen and (max-width: 768px) {
  body.db_goriyou .tbl-db {
    width: 100%;
  }
}

body.db_goriyou .tbl-db th,
body.db_goriyou .tbl-db td {
  border: 1px solid #0000001A;
  padding: 5px 5px 5px 5px;
  vertical-align: middle;
  text-align: left;
}

body.db_goriyou .tbl-db th {
  background: #00000008;
  font-weight: 400;
  padding: 5px 5px 5px 5px;
}

body.db_goriyou .tbl-db ul {
  margin: 4px 0;
  padding-left: 1.6em;
  list-style: disc;
  text-align: left;
}

body.db_goriyou .tbl-db thead th:nth-child(1),
body.db_goriyou .tbl-db tbody td:nth-child(1) {
  width: 30%;
  padding-right: 5px;
  white-space: nowrap;
}

body.db_goriyou .tbl-db thead th:nth-child(2),
body.db_goriyou .tbl-db tbody td:nth-child(2) {
  width: 50%;
}

/* 箇条書きのインデント・間隔を微調整（横の空白を縮小） */
body.db_goriyou .tbl-db td ul {
  margin: 0px 0;
  padding-left: 1.6em;
  list-style: disc;
  text-align: left;
}

body.db_goriyou .tbl-db td li {
  margin: 6px 0;
  line-height: 1.8;
  font-weight: normal;
}

/* 薬剤情報の箇条書き：マーカー表示＋行間調整 */
body.db_goriyou #sec-yakuzai-post .bullet-list {
  font-size: 13.5px;
  font-weight: 400;
  list-style: disc outside;
  padding-left: 1.2rem;
  margin: 0px 0px 2px 0px;
}

body.db_goriyou #sec-yakuzai-post .bullet-list li {
  font-weight: 400;
}

/* ページ下の余白（sidebarと整合） */
@media only screen and (max-width: 768px) {

  body.db_goriyou .wrapper .contents,
  body.db_goriyou .wrapper .c-block--sidebar {
    margin-bottom: 100px;
  }
}

.download-process-area,
.install-process-area {
  margin-top: 40px;
}

.download-process-area-list,
.install-process-area-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style-type: decimal;
  list-style-position: outside;
  padding-left: 2em;
  margin-left: 0;
}

.download-process-text,
.install-process-text {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
}

.download-process-sub-text {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 16px;
}

.download-img,
.install-img {
  width: 60%;
  margin: 20px auto;
}

.download-process,
.install-process {
  display: list-item;
  font-weight: 400;
  font-size: 14px;
}

.download-process-text a {
  color: #0097a7;
  text-decoration: underline;
}

.download-process-text a:hover {
  color: #0a958bc6;
}

body.db_iyakuhinphoto_download .contents,
body.db_iyakuhinphoto_install .contents {
  position: relative;
}

.install-process-area {
  font-size: 14px;
}

.install-message-area {
  margin-bottom: 40px;
  line-height: 1.8;
}

.install-message-area .title {
  font-weight: bold;
  margin-bottom: 16px;
}

.manual-lead-area {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  margin-bottom: 20px;
  gap: 24px;
  line-height: 1.5;
}

.manual-lead-area a {
  color: #009389;
  text-decoration: underline;
}

.manual-lead-area a:hover {
  color: #0a958bc6;
}

.manual-lead-content-atention {
  color: #EF4444;
  font-weight: 600;
}


body.database-top main,
body.db_iyakuhinphoto main,
body.db-iyakuhinphoto-help main,
body.db_yakuzaidoc main,
body.db_kaiteiinforegist main,
body.db_kaiteiinfocount main,
body.db_kaiteiphotonew main,
body.db_kaiteiphotoud main,
body.db_kaiteiinfoyakunew main,
body.db_kaiteiinfoyakuud main,
body.db_goriyou main,
body.db_yakuzaidoc main,
body.database_qa main,
body.database_qa-list main,
body.schemainfo main,
body.schemeimage main,
body.schematerms main,
/*# sourceMappingURL=app.css.map */
/* Support category layout override */
body.top main .supports .box {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 14px;
  row-gap: 28px;
  align-items: stretch;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box {
    display: flex;
    justify-content: space-between;
    row-gap: 0;
    flex-wrap: wrap;
  }
}

body.top main .supports .box .col {
  width: 100%;
}

body.top main .supports .box .col a {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 10px 0 4px;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col a {
    height: auto;
    padding: 16px;
  }
}

body.top main .supports .box .col.no-icon.no-description a {
  padding: 6px 0 2px;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col.no-icon.no-description a {
    padding: 16px;
  }
}

body.top main .supports .box .col a > .text {
  display: flex;
  flex-direction: column;
  flex: 1;
}

body.top main .supports .box .col.no-description a > .text {
  flex: 0;
}

body.top main .supports .box .col.no-description h3 {
  margin-bottom: 2px;
}

body.top main .supports .box .col.no-description .btn {
  margin-top: 0;
}

body.top main .supports .box .col h3 {
  margin-bottom: 4px;
}

body.top main .supports .box .col p {
  margin-bottom: 6px;
}

body.top main .supports .box .col .btn {
  margin-top: 4px;
  margin-bottom: 0;
}

body.top main .supports .box .col figure.icon-placeholder {
  height: 100px;
}

@media only screen and (max-width: 768px) {
  body.top main .supports .box .col figure.icon-placeholder {
    height: 20.5128205128vw;
  }

  body.top main .supports .box .col .btn {
    margin-top: 0;
  }
}

body.top main .supports .box .col .text-placeholder {
  opacity: 0;
}
