html,
body {
  line-height: 1;
}

div, 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, strong, tt, var,
b, 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, hr {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  font: inherit;
  font-size: 100%;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  vertical-align: middle;
  text-align: left;
  font-weight: normal;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  clear: both;
  content: "";
  content: none;
}

@media (max-width: 640px) {
  img {
    max-width: 100%;
    height: auto;
  }
}
a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

input, button, textarea, select {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  text-indent: 0.01px;
  text-overflow: "";
  font-family: "SST W20 Roman", "SST W55 Regular", "Yu Gothic Medium", "YuGothic", sans-serif;
  -webkit-appearance: none;
  appearance: none;
}

button {
  cursor: pointer;
}

#tmpl_content {
  line-height: 1.5;
  font-family: "SST W20 Roman", "SST W55 Regular", "Yu Gothic Medium", "YuGothic", sans-serif;
  background-color: #fff;
}
#tmpl_content * {
  box-sizing: border-box;
}
#tmpl_content img,
#tmpl_content svg,
#tmpl_content audio,
#tmpl_content video,
#tmpl_content canvas,
#tmpl_content iframe {
  vertical-align: bottom;
}
#tmpl_content a {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  #tmpl_content a:hover {
    text-decoration: none;
  }
}

#tmpl_main {
  color: #656565;
}

._color_main-color {
  color: var(--main-color-primary);
}

._color_alert-color {
  color: #FF0000;
}

._bg_clear-white {
  background-color: var(--base-color-clear-white) !important;
}

._bg_white {
  background-color: var(--base-color-white) !important;
}

._bg_gray {
  background-color: var(--base-color-gray) !important;
}

._bg_light-gray {
  background-color: var(--base-color-light-gray) !important;
}

._fw_medium {
  font-weight: 500 !important;
}

._fw_bold {
  font-family: "SST W20 Bold", "SST W55 Bold";
}

@media (min-width: px) {
  ._fz_15\@md- {
    font-size: 0.9375rem;
  }
}

._mt_0 {
  margin-top: 0px !important;
}
@media not all and (min-width: px) {
  ._mt_0\@-md {
    margin-top: clamp-px(0) !important;
  }
}
@media (min-width: px) {
  ._mt_0\@md- {
    margin-top: 0px !important;
  }
}
@media (min-width: px) {
  ._mt_0\@lg- {
    margin-top: 0px !important;
  }
}

._mb_0 {
  margin-bottom: 0px !important;
}
@media not all and (min-width: px) {
  ._mb_0\@-md {
    margin-bottom: clamp-px(0) !important;
  }
}
@media (min-width: px) {
  ._mb_0\@md- {
    margin-bottom: 0px !important;
  }
}
@media (min-width: px) {
  ._mb_0\@lg- {
    margin-bottom: 0px !important;
  }
}

._pt_0 {
  padding-top: 0px !important;
}
@media not all and (min-width: px) {
  ._pt_0\@-md {
    padding-top: clamp-px(0) !important;
  }
}
@media (min-width: px) {
  ._pt_0\@md- {
    padding-top: 0px !important;
  }
}
@media (min-width: px) {
  ._pt_0\@lg- {
    padding-top: 0px !important;
  }
}

._pb_0 {
  padding-bottom: 0px !important;
}
@media not all and (min-width: px) {
  ._pb_0\@-md {
    padding-bottom: clamp-px(0) !important;
  }
}
@media (min-width: px) {
  ._pb_0\@md- {
    padding-bottom: 0px !important;
  }
}
@media (min-width: px) {
  ._pb_0\@lg- {
    padding-bottom: 0px !important;
  }
}

._pl_0 {
  padding-left: 0px !important;
}
@media not all and (min-width: px) {
  ._pl_0\@-md {
    padding-left: clamp-px(0) !important;
  }
}
@media (min-width: px) {
  ._pl_0\@md- {
    padding-left: 0px !important;
  }
}
@media (min-width: px) {
  ._pl_0\@lg- {
    padding-left: 0px !important;
  }
}

._pr_0 {
  padding-right: 0px !important;
}
@media not all and (min-width: px) {
  ._pr_0\@-md {
    padding-right: clamp-px(0) !important;
  }
}
@media (min-width: px) {
  ._pr_0\@md- {
    padding-right: 0px !important;
  }
}
@media (min-width: px) {
  ._pr_0\@lg- {
    padding-right: 0px !important;
  }
}

._mt_10 {
  margin-top: 10px !important;
}
@media not all and (min-width: px) {
  ._mt_10\@-md {
    margin-top: clamp-px(10) !important;
  }
}
@media (min-width: px) {
  ._mt_10\@md- {
    margin-top: 10px !important;
  }
}
@media (min-width: px) {
  ._mt_10\@lg- {
    margin-top: 10px !important;
  }
}

._mb_10 {
  margin-bottom: 10px !important;
}
@media not all and (min-width: px) {
  ._mb_10\@-md {
    margin-bottom: clamp-px(10) !important;
  }
}
@media (min-width: px) {
  ._mb_10\@md- {
    margin-bottom: 10px !important;
  }
}
@media (min-width: px) {
  ._mb_10\@lg- {
    margin-bottom: 10px !important;
  }
}

._pt_10 {
  padding-top: 10px !important;
}
@media not all and (min-width: px) {
  ._pt_10\@-md {
    padding-top: clamp-px(10) !important;
  }
}
@media (min-width: px) {
  ._pt_10\@md- {
    padding-top: 10px !important;
  }
}
@media (min-width: px) {
  ._pt_10\@lg- {
    padding-top: 10px !important;
  }
}

._pb_10 {
  padding-bottom: 10px !important;
}
@media not all and (min-width: px) {
  ._pb_10\@-md {
    padding-bottom: clamp-px(10) !important;
  }
}
@media (min-width: px) {
  ._pb_10\@md- {
    padding-bottom: 10px !important;
  }
}
@media (min-width: px) {
  ._pb_10\@lg- {
    padding-bottom: 10px !important;
  }
}

._pl_10 {
  padding-left: 10px !important;
}
@media not all and (min-width: px) {
  ._pl_10\@-md {
    padding-left: clamp-px(10) !important;
  }
}
@media (min-width: px) {
  ._pl_10\@md- {
    padding-left: 10px !important;
  }
}
@media (min-width: px) {
  ._pl_10\@lg- {
    padding-left: 10px !important;
  }
}

._pr_10 {
  padding-right: 10px !important;
}
@media not all and (min-width: px) {
  ._pr_10\@-md {
    padding-right: clamp-px(10) !important;
  }
}
@media (min-width: px) {
  ._pr_10\@md- {
    padding-right: 10px !important;
  }
}
@media (min-width: px) {
  ._pr_10\@lg- {
    padding-right: 10px !important;
  }
}

._mt_20 {
  margin-top: 20px !important;
}
@media not all and (min-width: px) {
  ._mt_20\@-md {
    margin-top: clamp-px(20) !important;
  }
}
@media (min-width: px) {
  ._mt_20\@md- {
    margin-top: 20px !important;
  }
}
@media (min-width: px) {
  ._mt_20\@lg- {
    margin-top: 20px !important;
  }
}

._mb_20 {
  margin-bottom: 20px !important;
}
@media not all and (min-width: px) {
  ._mb_20\@-md {
    margin-bottom: clamp-px(20) !important;
  }
}
@media (min-width: px) {
  ._mb_20\@md- {
    margin-bottom: 20px !important;
  }
}
@media (min-width: px) {
  ._mb_20\@lg- {
    margin-bottom: 20px !important;
  }
}

._pt_20 {
  padding-top: 20px !important;
}
@media not all and (min-width: px) {
  ._pt_20\@-md {
    padding-top: clamp-px(20) !important;
  }
}
@media (min-width: px) {
  ._pt_20\@md- {
    padding-top: 20px !important;
  }
}
@media (min-width: px) {
  ._pt_20\@lg- {
    padding-top: 20px !important;
  }
}

._pb_20 {
  padding-bottom: 20px !important;
}
@media not all and (min-width: px) {
  ._pb_20\@-md {
    padding-bottom: clamp-px(20) !important;
  }
}
@media (min-width: px) {
  ._pb_20\@md- {
    padding-bottom: 20px !important;
  }
}
@media (min-width: px) {
  ._pb_20\@lg- {
    padding-bottom: 20px !important;
  }
}

._pl_20 {
  padding-left: 20px !important;
}
@media not all and (min-width: px) {
  ._pl_20\@-md {
    padding-left: clamp-px(20) !important;
  }
}
@media (min-width: px) {
  ._pl_20\@md- {
    padding-left: 20px !important;
  }
}
@media (min-width: px) {
  ._pl_20\@lg- {
    padding-left: 20px !important;
  }
}

._pr_20 {
  padding-right: 20px !important;
}
@media not all and (min-width: px) {
  ._pr_20\@-md {
    padding-right: clamp-px(20) !important;
  }
}
@media (min-width: px) {
  ._pr_20\@md- {
    padding-right: 20px !important;
  }
}
@media (min-width: px) {
  ._pr_20\@lg- {
    padding-right: 20px !important;
  }
}

._mt_30 {
  margin-top: 30px !important;
}
@media not all and (min-width: px) {
  ._mt_30\@-md {
    margin-top: clamp-px(30) !important;
  }
}
@media (min-width: px) {
  ._mt_30\@md- {
    margin-top: 30px !important;
  }
}
@media (min-width: px) {
  ._mt_30\@lg- {
    margin-top: 30px !important;
  }
}

._mb_30 {
  margin-bottom: 30px !important;
}
@media not all and (min-width: px) {
  ._mb_30\@-md {
    margin-bottom: clamp-px(30) !important;
  }
}
@media (min-width: px) {
  ._mb_30\@md- {
    margin-bottom: 30px !important;
  }
}
@media (min-width: px) {
  ._mb_30\@lg- {
    margin-bottom: 30px !important;
  }
}

._pt_30 {
  padding-top: 30px !important;
}
@media not all and (min-width: px) {
  ._pt_30\@-md {
    padding-top: clamp-px(30) !important;
  }
}
@media (min-width: px) {
  ._pt_30\@md- {
    padding-top: 30px !important;
  }
}
@media (min-width: px) {
  ._pt_30\@lg- {
    padding-top: 30px !important;
  }
}

._pb_30 {
  padding-bottom: 30px !important;
}
@media not all and (min-width: px) {
  ._pb_30\@-md {
    padding-bottom: clamp-px(30) !important;
  }
}
@media (min-width: px) {
  ._pb_30\@md- {
    padding-bottom: 30px !important;
  }
}
@media (min-width: px) {
  ._pb_30\@lg- {
    padding-bottom: 30px !important;
  }
}

._pl_30 {
  padding-left: 30px !important;
}
@media not all and (min-width: px) {
  ._pl_30\@-md {
    padding-left: clamp-px(30) !important;
  }
}
@media (min-width: px) {
  ._pl_30\@md- {
    padding-left: 30px !important;
  }
}
@media (min-width: px) {
  ._pl_30\@lg- {
    padding-left: 30px !important;
  }
}

._pr_30 {
  padding-right: 30px !important;
}
@media not all and (min-width: px) {
  ._pr_30\@-md {
    padding-right: clamp-px(30) !important;
  }
}
@media (min-width: px) {
  ._pr_30\@md- {
    padding-right: 30px !important;
  }
}
@media (min-width: px) {
  ._pr_30\@lg- {
    padding-right: 30px !important;
  }
}

._mt_40 {
  margin-top: 40px !important;
}
@media not all and (min-width: px) {
  ._mt_40\@-md {
    margin-top: clamp-px(40) !important;
  }
}
@media (min-width: px) {
  ._mt_40\@md- {
    margin-top: 40px !important;
  }
}
@media (min-width: px) {
  ._mt_40\@lg- {
    margin-top: 40px !important;
  }
}

._mb_40 {
  margin-bottom: 40px !important;
}
@media not all and (min-width: px) {
  ._mb_40\@-md {
    margin-bottom: clamp-px(40) !important;
  }
}
@media (min-width: px) {
  ._mb_40\@md- {
    margin-bottom: 40px !important;
  }
}
@media (min-width: px) {
  ._mb_40\@lg- {
    margin-bottom: 40px !important;
  }
}

._pt_40 {
  padding-top: 40px !important;
}
@media not all and (min-width: px) {
  ._pt_40\@-md {
    padding-top: clamp-px(40) !important;
  }
}
@media (min-width: px) {
  ._pt_40\@md- {
    padding-top: 40px !important;
  }
}
@media (min-width: px) {
  ._pt_40\@lg- {
    padding-top: 40px !important;
  }
}

._pb_40 {
  padding-bottom: 40px !important;
}
@media not all and (min-width: px) {
  ._pb_40\@-md {
    padding-bottom: clamp-px(40) !important;
  }
}
@media (min-width: px) {
  ._pb_40\@md- {
    padding-bottom: 40px !important;
  }
}
@media (min-width: px) {
  ._pb_40\@lg- {
    padding-bottom: 40px !important;
  }
}

._pl_40 {
  padding-left: 40px !important;
}
@media not all and (min-width: px) {
  ._pl_40\@-md {
    padding-left: clamp-px(40) !important;
  }
}
@media (min-width: px) {
  ._pl_40\@md- {
    padding-left: 40px !important;
  }
}
@media (min-width: px) {
  ._pl_40\@lg- {
    padding-left: 40px !important;
  }
}

._pr_40 {
  padding-right: 40px !important;
}
@media not all and (min-width: px) {
  ._pr_40\@-md {
    padding-right: clamp-px(40) !important;
  }
}
@media (min-width: px) {
  ._pr_40\@md- {
    padding-right: 40px !important;
  }
}
@media (min-width: px) {
  ._pr_40\@lg- {
    padding-right: 40px !important;
  }
}

._mt_50 {
  margin-top: 50px !important;
}
@media not all and (min-width: px) {
  ._mt_50\@-md {
    margin-top: clamp-px(50) !important;
  }
}
@media (min-width: px) {
  ._mt_50\@md- {
    margin-top: 50px !important;
  }
}
@media (min-width: px) {
  ._mt_50\@lg- {
    margin-top: 50px !important;
  }
}

._mb_50 {
  margin-bottom: 50px !important;
}
@media not all and (min-width: px) {
  ._mb_50\@-md {
    margin-bottom: clamp-px(50) !important;
  }
}
@media (min-width: px) {
  ._mb_50\@md- {
    margin-bottom: 50px !important;
  }
}
@media (min-width: px) {
  ._mb_50\@lg- {
    margin-bottom: 50px !important;
  }
}

._pt_50 {
  padding-top: 50px !important;
}
@media not all and (min-width: px) {
  ._pt_50\@-md {
    padding-top: clamp-px(50) !important;
  }
}
@media (min-width: px) {
  ._pt_50\@md- {
    padding-top: 50px !important;
  }
}
@media (min-width: px) {
  ._pt_50\@lg- {
    padding-top: 50px !important;
  }
}

._pb_50 {
  padding-bottom: 50px !important;
}
@media not all and (min-width: px) {
  ._pb_50\@-md {
    padding-bottom: clamp-px(50) !important;
  }
}
@media (min-width: px) {
  ._pb_50\@md- {
    padding-bottom: 50px !important;
  }
}
@media (min-width: px) {
  ._pb_50\@lg- {
    padding-bottom: 50px !important;
  }
}

._pl_50 {
  padding-left: 50px !important;
}
@media not all and (min-width: px) {
  ._pl_50\@-md {
    padding-left: clamp-px(50) !important;
  }
}
@media (min-width: px) {
  ._pl_50\@md- {
    padding-left: 50px !important;
  }
}
@media (min-width: px) {
  ._pl_50\@lg- {
    padding-left: 50px !important;
  }
}

._pr_50 {
  padding-right: 50px !important;
}
@media not all and (min-width: px) {
  ._pr_50\@-md {
    padding-right: clamp-px(50) !important;
  }
}
@media (min-width: px) {
  ._pr_50\@md- {
    padding-right: 50px !important;
  }
}
@media (min-width: px) {
  ._pr_50\@lg- {
    padding-right: 50px !important;
  }
}

._mt_60 {
  margin-top: 60px !important;
}
@media not all and (min-width: px) {
  ._mt_60\@-md {
    margin-top: clamp-px(60) !important;
  }
}
@media (min-width: px) {
  ._mt_60\@md- {
    margin-top: 60px !important;
  }
}
@media (min-width: px) {
  ._mt_60\@lg- {
    margin-top: 60px !important;
  }
}

._mb_60 {
  margin-bottom: 60px !important;
}
@media not all and (min-width: px) {
  ._mb_60\@-md {
    margin-bottom: clamp-px(60) !important;
  }
}
@media (min-width: px) {
  ._mb_60\@md- {
    margin-bottom: 60px !important;
  }
}
@media (min-width: px) {
  ._mb_60\@lg- {
    margin-bottom: 60px !important;
  }
}

._pt_60 {
  padding-top: 60px !important;
}
@media not all and (min-width: px) {
  ._pt_60\@-md {
    padding-top: clamp-px(60) !important;
  }
}
@media (min-width: px) {
  ._pt_60\@md- {
    padding-top: 60px !important;
  }
}
@media (min-width: px) {
  ._pt_60\@lg- {
    padding-top: 60px !important;
  }
}

._pb_60 {
  padding-bottom: 60px !important;
}
@media not all and (min-width: px) {
  ._pb_60\@-md {
    padding-bottom: clamp-px(60) !important;
  }
}
@media (min-width: px) {
  ._pb_60\@md- {
    padding-bottom: 60px !important;
  }
}
@media (min-width: px) {
  ._pb_60\@lg- {
    padding-bottom: 60px !important;
  }
}

._pl_60 {
  padding-left: 60px !important;
}
@media not all and (min-width: px) {
  ._pl_60\@-md {
    padding-left: clamp-px(60) !important;
  }
}
@media (min-width: px) {
  ._pl_60\@md- {
    padding-left: 60px !important;
  }
}
@media (min-width: px) {
  ._pl_60\@lg- {
    padding-left: 60px !important;
  }
}

._pr_60 {
  padding-right: 60px !important;
}
@media not all and (min-width: px) {
  ._pr_60\@-md {
    padding-right: clamp-px(60) !important;
  }
}
@media (min-width: px) {
  ._pr_60\@md- {
    padding-right: 60px !important;
  }
}
@media (min-width: px) {
  ._pr_60\@lg- {
    padding-right: 60px !important;
  }
}

._mt_70 {
  margin-top: 70px !important;
}
@media not all and (min-width: px) {
  ._mt_70\@-md {
    margin-top: clamp-px(70) !important;
  }
}
@media (min-width: px) {
  ._mt_70\@md- {
    margin-top: 70px !important;
  }
}
@media (min-width: px) {
  ._mt_70\@lg- {
    margin-top: 70px !important;
  }
}

._mb_70 {
  margin-bottom: 70px !important;
}
@media not all and (min-width: px) {
  ._mb_70\@-md {
    margin-bottom: clamp-px(70) !important;
  }
}
@media (min-width: px) {
  ._mb_70\@md- {
    margin-bottom: 70px !important;
  }
}
@media (min-width: px) {
  ._mb_70\@lg- {
    margin-bottom: 70px !important;
  }
}

._pt_70 {
  padding-top: 70px !important;
}
@media not all and (min-width: px) {
  ._pt_70\@-md {
    padding-top: clamp-px(70) !important;
  }
}
@media (min-width: px) {
  ._pt_70\@md- {
    padding-top: 70px !important;
  }
}
@media (min-width: px) {
  ._pt_70\@lg- {
    padding-top: 70px !important;
  }
}

._pb_70 {
  padding-bottom: 70px !important;
}
@media not all and (min-width: px) {
  ._pb_70\@-md {
    padding-bottom: clamp-px(70) !important;
  }
}
@media (min-width: px) {
  ._pb_70\@md- {
    padding-bottom: 70px !important;
  }
}
@media (min-width: px) {
  ._pb_70\@lg- {
    padding-bottom: 70px !important;
  }
}

._pl_70 {
  padding-left: 70px !important;
}
@media not all and (min-width: px) {
  ._pl_70\@-md {
    padding-left: clamp-px(70) !important;
  }
}
@media (min-width: px) {
  ._pl_70\@md- {
    padding-left: 70px !important;
  }
}
@media (min-width: px) {
  ._pl_70\@lg- {
    padding-left: 70px !important;
  }
}

._pr_70 {
  padding-right: 70px !important;
}
@media not all and (min-width: px) {
  ._pr_70\@-md {
    padding-right: clamp-px(70) !important;
  }
}
@media (min-width: px) {
  ._pr_70\@md- {
    padding-right: 70px !important;
  }
}
@media (min-width: px) {
  ._pr_70\@lg- {
    padding-right: 70px !important;
  }
}

._mt_80 {
  margin-top: 80px !important;
}
@media not all and (min-width: px) {
  ._mt_80\@-md {
    margin-top: clamp-px(80) !important;
  }
}
@media (min-width: px) {
  ._mt_80\@md- {
    margin-top: 80px !important;
  }
}
@media (min-width: px) {
  ._mt_80\@lg- {
    margin-top: 80px !important;
  }
}

._mb_80 {
  margin-bottom: 80px !important;
}
@media not all and (min-width: px) {
  ._mb_80\@-md {
    margin-bottom: clamp-px(80) !important;
  }
}
@media (min-width: px) {
  ._mb_80\@md- {
    margin-bottom: 80px !important;
  }
}
@media (min-width: px) {
  ._mb_80\@lg- {
    margin-bottom: 80px !important;
  }
}

._pt_80 {
  padding-top: 80px !important;
}
@media not all and (min-width: px) {
  ._pt_80\@-md {
    padding-top: clamp-px(80) !important;
  }
}
@media (min-width: px) {
  ._pt_80\@md- {
    padding-top: 80px !important;
  }
}
@media (min-width: px) {
  ._pt_80\@lg- {
    padding-top: 80px !important;
  }
}

._pb_80 {
  padding-bottom: 80px !important;
}
@media not all and (min-width: px) {
  ._pb_80\@-md {
    padding-bottom: clamp-px(80) !important;
  }
}
@media (min-width: px) {
  ._pb_80\@md- {
    padding-bottom: 80px !important;
  }
}
@media (min-width: px) {
  ._pb_80\@lg- {
    padding-bottom: 80px !important;
  }
}

._pl_80 {
  padding-left: 80px !important;
}
@media not all and (min-width: px) {
  ._pl_80\@-md {
    padding-left: clamp-px(80) !important;
  }
}
@media (min-width: px) {
  ._pl_80\@md- {
    padding-left: 80px !important;
  }
}
@media (min-width: px) {
  ._pl_80\@lg- {
    padding-left: 80px !important;
  }
}

._pr_80 {
  padding-right: 80px !important;
}
@media not all and (min-width: px) {
  ._pr_80\@-md {
    padding-right: clamp-px(80) !important;
  }
}
@media (min-width: px) {
  ._pr_80\@md- {
    padding-right: 80px !important;
  }
}
@media (min-width: px) {
  ._pr_80\@lg- {
    padding-right: 80px !important;
  }
}

._mt_90 {
  margin-top: 90px !important;
}
@media not all and (min-width: px) {
  ._mt_90\@-md {
    margin-top: clamp-px(90) !important;
  }
}
@media (min-width: px) {
  ._mt_90\@md- {
    margin-top: 90px !important;
  }
}
@media (min-width: px) {
  ._mt_90\@lg- {
    margin-top: 90px !important;
  }
}

._mb_90 {
  margin-bottom: 90px !important;
}
@media not all and (min-width: px) {
  ._mb_90\@-md {
    margin-bottom: clamp-px(90) !important;
  }
}
@media (min-width: px) {
  ._mb_90\@md- {
    margin-bottom: 90px !important;
  }
}
@media (min-width: px) {
  ._mb_90\@lg- {
    margin-bottom: 90px !important;
  }
}

._pt_90 {
  padding-top: 90px !important;
}
@media not all and (min-width: px) {
  ._pt_90\@-md {
    padding-top: clamp-px(90) !important;
  }
}
@media (min-width: px) {
  ._pt_90\@md- {
    padding-top: 90px !important;
  }
}
@media (min-width: px) {
  ._pt_90\@lg- {
    padding-top: 90px !important;
  }
}

._pb_90 {
  padding-bottom: 90px !important;
}
@media not all and (min-width: px) {
  ._pb_90\@-md {
    padding-bottom: clamp-px(90) !important;
  }
}
@media (min-width: px) {
  ._pb_90\@md- {
    padding-bottom: 90px !important;
  }
}
@media (min-width: px) {
  ._pb_90\@lg- {
    padding-bottom: 90px !important;
  }
}

._pl_90 {
  padding-left: 90px !important;
}
@media not all and (min-width: px) {
  ._pl_90\@-md {
    padding-left: clamp-px(90) !important;
  }
}
@media (min-width: px) {
  ._pl_90\@md- {
    padding-left: 90px !important;
  }
}
@media (min-width: px) {
  ._pl_90\@lg- {
    padding-left: 90px !important;
  }
}

._pr_90 {
  padding-right: 90px !important;
}
@media not all and (min-width: px) {
  ._pr_90\@-md {
    padding-right: clamp-px(90) !important;
  }
}
@media (min-width: px) {
  ._pr_90\@md- {
    padding-right: 90px !important;
  }
}
@media (min-width: px) {
  ._pr_90\@lg- {
    padding-right: 90px !important;
  }
}

._mt_100 {
  margin-top: 100px !important;
}
@media not all and (min-width: px) {
  ._mt_100\@-md {
    margin-top: clamp-px(100) !important;
  }
}
@media (min-width: px) {
  ._mt_100\@md- {
    margin-top: 100px !important;
  }
}
@media (min-width: px) {
  ._mt_100\@lg- {
    margin-top: 100px !important;
  }
}

._mb_100 {
  margin-bottom: 100px !important;
}
@media not all and (min-width: px) {
  ._mb_100\@-md {
    margin-bottom: clamp-px(100) !important;
  }
}
@media (min-width: px) {
  ._mb_100\@md- {
    margin-bottom: 100px !important;
  }
}
@media (min-width: px) {
  ._mb_100\@lg- {
    margin-bottom: 100px !important;
  }
}

._pt_100 {
  padding-top: 100px !important;
}
@media not all and (min-width: px) {
  ._pt_100\@-md {
    padding-top: clamp-px(100) !important;
  }
}
@media (min-width: px) {
  ._pt_100\@md- {
    padding-top: 100px !important;
  }
}
@media (min-width: px) {
  ._pt_100\@lg- {
    padding-top: 100px !important;
  }
}

._pb_100 {
  padding-bottom: 100px !important;
}
@media not all and (min-width: px) {
  ._pb_100\@-md {
    padding-bottom: clamp-px(100) !important;
  }
}
@media (min-width: px) {
  ._pb_100\@md- {
    padding-bottom: 100px !important;
  }
}
@media (min-width: px) {
  ._pb_100\@lg- {
    padding-bottom: 100px !important;
  }
}

._pl_100 {
  padding-left: 100px !important;
}
@media not all and (min-width: px) {
  ._pl_100\@-md {
    padding-left: clamp-px(100) !important;
  }
}
@media (min-width: px) {
  ._pl_100\@md- {
    padding-left: 100px !important;
  }
}
@media (min-width: px) {
  ._pl_100\@lg- {
    padding-left: 100px !important;
  }
}

._pr_100 {
  padding-right: 100px !important;
}
@media not all and (min-width: px) {
  ._pr_100\@-md {
    padding-right: clamp-px(100) !important;
  }
}
@media (min-width: px) {
  ._pr_100\@md- {
    padding-right: 100px !important;
  }
}
@media (min-width: px) {
  ._pr_100\@lg- {
    padding-right: 100px !important;
  }
}

/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
  margin-top: 0 !important;
}

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

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

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

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

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

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

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

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

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

.mgt-pc--48 {
  margin-top: 48px !important;
}

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

.mgt-pc--55 {
  margin-top: 55px !important;
}

.mgt-pc--60 {
  margin-top: 60px !important;
}

.mgt-pc--65 {
  margin-top: 65px !important;
}

.mgt-pc--70 {
  margin-top: 70px !important;
}

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

.mgt-pc--80 {
  margin-top: 80px !important;
}

.mgt-pc--85 {
  margin-top: 85px !important;
}

.mgt-pc--90 {
  margin-top: 90px !important;
}

.mgt-pc--95 {
  margin-top: 95px !important;
}

.mgt-pc--100 {
  margin-top: 100px !important;
}

.mgt-pc--105 {
  margin-top: 105px !important;
}

.mgt-pc--110 {
  margin-top: 110px !important;
}

.mgt-pc--115 {
  margin-top: 115px !important;
}

.mgt-pc--120 {
  margin-top: 120px !important;
}

.mgt-pc--125 {
  margin-top: 125px !important;
}

.mgt-pc--130 {
  margin-top: 130px !important;
}

.mgt-pc--135 {
  margin-top: 135px !important;
}

.mgt-pc--140 {
  margin-top: 140px !important;
}

.mgt-pc--145 {
  margin-top: 145px !important;
}

.mgt-pc--150 {
  margin-top: 150px !important;
}

.mgt-pc--155 {
  margin-top: 155px !important;
}

.mgt-pc--160 {
  margin-top: 160px !important;
}

.mgt-pc--165 {
  margin-top: 165px !important;
}

.mgt-pc--170 {
  margin-top: 170px !important;
}

.mgt-pc--175 {
  margin-top: 175px !important;
}

.mgt-pc--180 {
  margin-top: 180px !important;
}

.mgt-pc--185 {
  margin-top: 185px !important;
}

.mgt-pc--190 {
  margin-top: 190px !important;
}

.mgt-pc--195 {
  margin-top: 195px !important;
}

.mgt-pc--200 {
  margin-top: 200px !important;
}

.mgt-pc--205 {
  margin-top: 205px !important;
}

.mgt-pc--210 {
  margin-top: 210px !important;
}

.mgt-pc--215 {
  margin-top: 215px !important;
}

.mgt-pc--220 {
  margin-top: 220px !important;
}

.mgt-pc--225 {
  margin-top: 225px !important;
}

.mgt-pc--230 {
  margin-top: 230px !important;
}

.mgt-pc--235 {
  margin-top: 235px !important;
}

.mgt-pc--240 {
  margin-top: 240px !important;
}

.mgt-pc--245 {
  margin-top: 245px !important;
}

.mgt-pc--250 {
  margin-top: 250px !important;
}

@media screen and (max-width: 640px) {
  .mgt-sp--0 {
    margin-top: 0 !important;
  }
  .mgt-sp--5 {
    margin-top: 1.33333vw !important;
  }
  .mgt-sp--10 {
    margin-top: 2.66667vw !important;
  }
  .mgt-sp--15 {
    margin-top: 4vw !important;
  }
  .mgt-sp--20 {
    margin-top: 5.33333vw !important;
  }
  .mgt-sp--25 {
    margin-top: 6.66667vw !important;
  }
  .mgt-sp--30 {
    margin-top: 8vw !important;
  }
  .mgt-sp--32 {
    margin-top: 8.53334vw !important;
  }
  .mgt-sp--35 {
    margin-top: 9.33333vw !important;
  }
  .mgt-sp--40 {
    margin-top: 10.66667vw !important;
  }
  .mgt-sp--45 {
    margin-top: 12vw !important;
  }
  .mgt-sp--50 {
    margin-top: 13.33333vw !important;
  }
  .mgt-sp--55 {
    margin-top: 14.66667vw !important;
  }
  .mgt-sp--60 {
    margin-top: 16vw !important;
  }
  .mgt-sp--65 {
    margin-top: 17.33333vw !important;
  }
  .mgt-sp--70 {
    margin-top: 18.66667vw !important;
  }
  .mgt-sp--75 {
    margin-top: 20vw !important;
  }
  .mgt-sp--80 {
    margin-top: 21.33333vw !important;
  }
  .mgt-sp--85 {
    margin-top: 22.66667vw !important;
  }
  .mgt-sp--90 {
    margin-top: 24vw !important;
  }
  .mgt-sp--95 {
    margin-top: 25.33333vw !important;
  }
  .mgt-sp--100 {
    margin-top: 26.66667vw !important;
  }
  .mgt-sp--105 {
    margin-top: 28vw !important;
  }
  .mgt-sp--110 {
    margin-top: 29.33333vw !important;
  }
  .mgt-sp--115 {
    margin-top: 30.66667vw !important;
  }
  .mgt-sp--120 {
    margin-top: 32vw !important;
  }
  .mgt-sp--125 {
    margin-top: 33.33333vw !important;
  }
  .mgt-sp--130 {
    margin-top: 34.66667vw !important;
  }
  .mgt-sp--135 {
    margin-top: 36vw !important;
  }
  .mgt-sp--140 {
    margin-top: 37.33333vw !important;
  }
  .mgt-sp--145 {
    margin-top: 38.66667vw !important;
  }
  .mgt-sp--150 {
    margin-top: 40vw !important;
  }
  .mgt-sp--155 {
    margin-top: 41.33333vw !important;
  }
  .mgt-sp--160 {
    margin-top: 42.66667vw !important;
  }
  .mgt-sp--165 {
    margin-top: 44vw !important;
  }
  .mgt-sp--170 {
    margin-top: 45.33333vw !important;
  }
  .mgt-sp--175 {
    margin-top: 46.66667vw !important;
  }
  .mgt-sp--180 {
    margin-top: 48vw !important;
  }
  .mgt-sp--185 {
    margin-top: 49.33333vw !important;
  }
  .mgt-sp--190 {
    margin-top: 50.66667vw !important;
  }
  .mgt-sp--195 {
    margin-top: 52vw !important;
  }
  .mgt-sp--200 {
    margin-top: 53.33333vw !important;
  }
  .mgt-sp--205 {
    margin-top: 54.66667vw !important;
  }
  .mgt-sp--210 {
    margin-top: 56vw !important;
  }
  .mgt-sp--215 {
    margin-top: 57.33333vw !important;
  }
  .mgt-sp--220 {
    margin-top: 58.66667vw !important;
  }
  .mgt-sp--225 {
    margin-top: 60vw !important;
  }
  .mgt-sp--230 {
    margin-top: 61.33333vw !important;
  }
  .mgt-sp--235 {
    margin-top: 62.66667vw !important;
  }
  .mgt-sp--240 {
    margin-top: 64vw !important;
  }
  .mgt-sp--245 {
    margin-top: 65.33333vw !important;
  }
  .mgt-sp--250 {
    margin-top: 66.66667vw !important;
  }
}
/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
  margin-bottom: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

.mgb-pc--55 {
  margin-bottom: 55px !important;
}

.mgb-pc--60 {
  margin-bottom: 60px !important;
}

.mgb-pc--65 {
  margin-bottom: 65px !important;
}

.mgb-pc--70 {
  margin-bottom: 70px !important;
}

.mgb-pc--75 {
  margin-bottom: 75px !important;
}

.mgb-pc--80 {
  margin-bottom: 80px !important;
}

.mgb-pc--85 {
  margin-bottom: 85px !important;
}

.mgb-pc--90 {
  margin-bottom: 90px !important;
}

.mgb-pc--95 {
  margin-bottom: 95px !important;
}

.mgb-pc--100 {
  margin-bottom: 100px !important;
}

.mgb-pc--105 {
  margin-bottom: 105px !important;
}

.mgb-pc--110 {
  margin-bottom: 110px !important;
}

.mgb-pc--115 {
  margin-bottom: 115px !important;
}

.mgb-pc--120 {
  margin-bottom: 120px !important;
}

.mgb-pc--125 {
  margin-bottom: 125px !important;
}

.mgb-pc--130 {
  margin-bottom: 130px !important;
}

.mgb-pc--135 {
  margin-bottom: 135px !important;
}

.mgb-pc--140 {
  margin-bottom: 140px !important;
}

.mgb-pc--145 {
  margin-bottom: 145px !important;
}

.mgb-pc--150 {
  margin-bottom: 150px !important;
}

.mgb-pc--155 {
  margin-bottom: 155px !important;
}

.mgb-pc--160 {
  margin-bottom: 160px !important;
}

.mgb-pc--165 {
  margin-bottom: 165px !important;
}

.mgb-pc--170 {
  margin-bottom: 170px !important;
}

.mgb-pc--175 {
  margin-bottom: 175px !important;
}

.mgb-pc--180 {
  margin-bottom: 180px !important;
}

.mgb-pc--185 {
  margin-bottom: 185px !important;
}

.mgb-pc--190 {
  margin-bottom: 190px !important;
}

.mgb-pc--195 {
  margin-bottom: 195px !important;
}

.mgb-pc--200 {
  margin-bottom: 200px !important;
}

.mgb-pc--205 {
  margin-bottom: 205px !important;
}

.mgb-pc--210 {
  margin-bottom: 210px !important;
}

.mgb-pc--215 {
  margin-bottom: 215px !important;
}

.mgb-pc--220 {
  margin-bottom: 220px !important;
}

.mgb-pc--225 {
  margin-bottom: 225px !important;
}

.mgb-pc--230 {
  margin-bottom: 230px !important;
}

.mgb-pc--235 {
  margin-bottom: 235px !important;
}

.mgb-pc--240 {
  margin-bottom: 240px !important;
}

.mgb-pc--245 {
  margin-bottom: 245px !important;
}

.mgb-pc--250 {
  margin-bottom: 250px !important;
}

@media screen and (max-width: 640px) {
  .mgb-sp--0 {
    margin-bottom: 0 !important;
  }
  .mgb-sp--5 {
    margin-bottom: 1.33333vw !important;
  }
  .mgb-sp--10 {
    margin-bottom: 2.66667vw !important;
  }
  .mgb-sp--15 {
    margin-bottom: 4vw !important;
  }
  .mgb-sp--20 {
    margin-bottom: 5.33333vw !important;
  }
  .mgb-sp--25 {
    margin-bottom: 6.66667vw !important;
  }
  .mgb-sp--30 {
    margin-bottom: 8vw !important;
  }
  .mgb-sp--35 {
    margin-bottom: 9.33333vw !important;
  }
  .mgb-sp--40 {
    margin-bottom: 10.66667vw !important;
  }
  .mgb-sp--45 {
    margin-bottom: 12vw !important;
  }
  .mgb-sp--50 {
    margin-bottom: 13.33333vw !important;
  }
  .mgb-sp--55 {
    margin-bottom: 14.66667vw !important;
  }
  .mgb-sp--60 {
    margin-bottom: 16vw !important;
  }
  .mgb-sp--65 {
    margin-bottom: 17.33333vw !important;
  }
  .mgb-sp--70 {
    margin-bottom: 18.66667vw !important;
  }
  .mgb-sp--75 {
    margin-bottom: 20vw !important;
  }
  .mgb-sp--80 {
    margin-bottom: 21.33333vw !important;
  }
  .mgb-sp--85 {
    margin-bottom: 22.66667vw !important;
  }
  .mgb-sp--90 {
    margin-bottom: 24vw !important;
  }
  .mgb-sp--95 {
    margin-bottom: 25.33333vw !important;
  }
  .mgb-sp--100 {
    margin-bottom: 26.66667vw !important;
  }
  .mgb-sp--105 {
    margin-bottom: 28vw !important;
  }
  .mgb-sp--110 {
    margin-bottom: 29.33333vw !important;
  }
  .mgb-sp--115 {
    margin-bottom: 30.66667vw !important;
  }
  .mgb-sp--120 {
    margin-bottom: 32vw !important;
  }
  .mgb-sp--125 {
    margin-bottom: 33.33333vw !important;
  }
  .mgb-sp--130 {
    margin-bottom: 34.66667vw !important;
  }
  .mgb-sp--135 {
    margin-bottom: 36vw !important;
  }
  .mgb-sp--140 {
    margin-bottom: 37.33333vw !important;
  }
  .mgb-sp--145 {
    margin-bottom: 38.66667vw !important;
  }
  .mgb-sp--150 {
    margin-bottom: 40vw !important;
  }
  .mgb-sp--155 {
    margin-bottom: 41.33333vw !important;
  }
  .mgb-sp--160 {
    margin-bottom: 42.66667vw !important;
  }
  .mgb-sp--165 {
    margin-bottom: 44vw !important;
  }
  .mgb-sp--170 {
    margin-bottom: 45.33333vw !important;
  }
  .mgb-sp--175 {
    margin-bottom: 46.66667vw !important;
  }
  .mgb-sp--180 {
    margin-bottom: 48vw !important;
  }
  .mgb-sp--185 {
    margin-bottom: 49.33333vw !important;
  }
  .mgb-sp--190 {
    margin-bottom: 50.66667vw !important;
  }
  .mgb-sp--195 {
    margin-bottom: 52vw !important;
  }
  .mgb-sp--200 {
    margin-bottom: 53.33333vw !important;
  }
  .mgb-sp--205 {
    margin-bottom: 54.66667vw !important;
  }
  .mgb-sp--210 {
    margin-bottom: 56vw !important;
  }
  .mgb-sp--215 {
    margin-bottom: 57.33333vw !important;
  }
  .mgb-sp--220 {
    margin-bottom: 58.66667vw !important;
  }
  .mgb-sp--225 {
    margin-bottom: 60vw !important;
  }
  .mgb-sp--230 {
    margin-bottom: 61.33333vw !important;
  }
  .mgb-sp--235 {
    margin-bottom: 62.66667vw !important;
  }
  .mgb-sp--240 {
    margin-bottom: 64vw !important;
  }
  .mgb-sp--245 {
    margin-bottom: 65.33333vw !important;
  }
  .mgb-sp--250 {
    margin-bottom: 66.66667vw !important;
  }
}
._ta_l {
  text-align: left !important;
}
@media (min-width: px) {
  ._ta_l\@md- {
    text-align: left !important;
  }
}
@media not all and (min-width: px) {
  ._ta_l\@-md {
    text-align: left !important;
  }
}

._ta_c {
  text-align: center !important;
}
@media (min-width: px) {
  ._ta_c\@md- {
    text-align: center !important;
  }
}
@media not all and (min-width: px) {
  ._ta_c\@-md {
    text-align: center !important;
  }
}

._ta_r {
  text-align: right !important;
}
@media (min-width: px) {
  ._ta_r\@md- {
    text-align: right !important;
  }
}
@media not all and (min-width: px) {
  ._ta_r\@-md {
    text-align: right !important;
  }
}

@media not all and (min-width: 640px) {
  ._sp-ta_l {
    text-align: left !important;
  }
}

._va_t {
  vertical-align: top !important;
}

._va_m {
  vertical-align: middle !important;
}

._va_b {
  vertical-align: bottom !important;
}

._display_none {
  display: none !important;
}

@media all and (min-width: 640px) {
  ._pc-display_none {
    display: none !important;
  }
}

@media not all and (min-width: 640px) {
  ._sp-display_none {
    display: none !important;
  }
}

._sr_only {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  white-space: nowrap;
  width: 1px;
}
@media (min-width: px) {
  ._sr_only\@md- {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    white-space: nowrap;
    width: 1px;
  }
}

._wb_keep-all {
  word-break: keep-all;
}

._wb_break-all {
  word-break: break-all;
}

._ws_nowrap {
  white-space: nowrap;
}

.youtube {
  display: flex;
}
.youtube::before {
  content: "";
  display: inline-block;
  padding-top: 56.25%;
  pointer-events: none;
}

._letter-spacing_0 {
  letter-spacing: 0 !important;
}

._width_full {
  width: 100% !important;
}

._width_narrow {
  width: 940px !important;
}
@media not all and (min-width: 640px) {
  ._width_narrow {
    width: 100% !important;
  }
}

._width_narrow02 {
  width: 640px !important;
}
@media not all and (min-width: 640px) {
  ._width_narrow02 {
    width: 100% !important;
  }
}

._justyfy_start {
  justify-content: flex-start !important;
}

._justyfy_center {
  justify-content: center !important;
}

._justyfy_end {
  justify-content: flex-end !important;
}

._outline_none {
  outline: none;
}

._flex_grow_1 {
  flex-grow: 1;
}

.tp_js-fade {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s, transform 0.8s;
}
.tp_js-fade._on {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

#tmpl_main {
  width: 100%;
}

@media all and (min-width: 640px) {
  .tp_contents {
    min-width: 1190px;
  }
}
.tp_contents > *:last-child {
  margin-bottom: 0 !important;
}

.tp_section {
  margin-top: 80px;
}
.tp_section:first-of-type {
  margin-top: 0 !important;
}
@media not all and (min-width: 640px) {
  .tp_section {
    margin-top: 50px;
  }
}

.tp-mv {
  position: relative;
  margin-bottom: 68px;
}
@media not all and (min-width: 640px) {
  .tp-mv {
    margin-bottom: 32px;
  }
}
.tp-mv-image {
  height: 480px;
}
@media not all and (min-width: 640px) {
  .tp-mv-image {
    height: 210px;
  }
}
.tp-mv-image img {
  /* position: absolute; */
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.tp-mv._logo {
  margin-bottom: 58px;
}
@media not all and (min-width: 640px) {
  .tp-mv._logo {
    margin-bottom: 32px;
  }
}
.tp-mv._logo .tp-mv-logo {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media not all and (min-width: 640px) {
  .tp-mv._logo .tp-mv-logo {
    width: 166px;
  }
}

.tp_h1 {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 250px;
  padding: 0;
  margin-top: 64px;
  font-size: 1.5625rem;
  font-family: "SST W20 Bold", "SST W55 Bold";
  line-height: 1.32;
  text-align: center;
  color: #000;
}
@media not all and (min-width: 640px) {
  .tp_h1 {
    width: 100%;
    padding: 0 20px;
  }
}
@media all and (min-width: 640px) {
  .tp_h1._mt-xl {
    margin-top: 150px !important;
  }
}
.tp_h1.type-top {
  font-size: 1.375rem;
}

.tp_h2 {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 250px;
  padding: 0;
  margin-top: 76px;
  font-size: 1.75rem;
  font-family: "SST W20 Roman", "SST W55 Regular";
  line-height: 1.32;
  text-align: center;
  color: #000;
}
@media not all and (min-width: 640px) {
  .tp_h2 {
    width: 100%;
    padding: 0 20px;
  }
}
@media not all and (min-width: 640px) {
  .tp_h2 {
    font-size: 1.125rem;
  }
}
.tp_h2._mt_s {
  margin-top: 44px;
}

.tp_h3 {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 250px;
  padding: 0;
  margin-top: 28px;
  font-size: 1.375rem;
  font-family: "SST W20 Bold", "SST W55 Bold";
  line-height: 1.32;
  text-align: center;
  color: #000;
}
@media not all and (min-width: 640px) {
  .tp_h3 {
    width: 100%;
    padding: 0 20px;
  }
}

.tp_h4 {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 250px;
  padding: 0;
  font-size: 1.125rem;
  font-family: "SST W20 Bold", "SST W55 Bold";
  line-height: 1.32;
}
@media not all and (min-width: 640px) {
  .tp_h4 {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_ordered-list.type-01 .tp_h4 {
  display: inline;
}
@media not all and (min-width: 640px) {
  .tp_ordered-list.type-01 .tp_h4 {
    padding: 0;
  }
}

.tp_technology_h-wapper {
  height: 280px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #EFEFEF;
  margin-bottom: 60px;
}
@media not all and (min-width: 640px) {
  .tp_technology_h-wapper {
    height: auto;
  }
}
.tp_technology_h-wapper .tp_technology_h-box {
  text-align: center;
}
@media not all and (min-width: 640px) {
  .tp_technology_h-wapper .tp_technology_h-box {
    padding: 20px 0;
  }
}
@media not all and (min-width: 640px) {
  .tp_technology_h-wapper .tp_technology_h-box img {
    width: 80px;
  }
}
.tp_technology_h-wapper .tp_technology_h-box .tp_technology_h2 {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 250px;
  padding: 0;
  margin-top: 12px;
  font-size: 1.75rem;
  font-family: "SST W20 Roman", "SST W55 Regular";
  line-height: 1.32;
  text-align: center;
  color: #000;
}
@media not all and (min-width: 640px) {
  .tp_technology_h-wapper .tp_technology_h-box .tp_technology_h2 {
    width: 100%;
    padding: 0 20px;
  }
}
@media not all and (min-width: 640px) {
  .tp_technology_h-wapper .tp_technology_h-box .tp_technology_h2 {
    font-size: 1.125rem;
  }
}
.tp_technology_h-wapper .tp_technology_h-box .tp_technology_h2._mt_s {
  margin-top: 44px;
}

.tp_text {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1rem;
  line-height: 2;
  margin-top: 44px;
  color: #656565;
}
@media not all and (min-width: 640px) {
  .tp_text {
    width: 100%;
    padding: 0 20px;
  }
}
@media not all and (min-width: 640px) {
  .tp_text {
    font-size: 0.875rem;
  }
}
.tp_text._ta_c {
  text-align: center;
}
.tp_text._ta_e {
  text-align: end;
}
.tp_text._black {
  color: #000000;
}
.tp_text._small {
  font-size: 0.875rem;
}
.tp_text._bold {
  font-family: "SST W20 Bold", "SST W55 Bold";
}

.tp_text-small {
  font-size: 0.875rem;
}

.new-window-icon {
  width: 1em;
  margin: 0 5px;
  position: relative;
  top: -0.6em;
}
.tp_news-list-text .new-window-icon, .tp_annotation-list-text > a .new-window-icon {
  top: -0.3em;
}
.tp_productsbox-more .new-window-icon {
  top: -0.4em;
}

:root {
  /* main-color*/
  --main-color-primary: #00A196;
  --main-color-primary-grd: #00A196, #4FC0B7;
  --main-color-secondary: #E4EFED;
  --main-color-tertiary: #69C2BB;
  /* base-color*/
  --base-color-black: #595757;
  --base-color-dark-gray: #8E8B8B;
  --base-color-semi-dark-gray: #ABAAAA;
  --base-color-gray: #ECECEB;
  --base-color-semi-light-gray: #F1F4F5;
  --base-color-light-gray: #FBFBFB;
  --base-color-white: #FFFFFF;
  --base-color-clear-white: rgba(255, 255, 255, 0.3);
  /* brand-color*/
  --brand-color-medicom-cloud: #2188D3;
  --brand-color-medicom-cloud-light: #E2F4FC;
  /* page-width*/
  --page-width-lg: 1220px;
  --page-width-md: 1130px;
  --page-width-sm: 966px;
  --page-width-xs: 915px;
  --page-width-2xs: 766px;
  /* gutter*/
  --outside-gutter-lg: 73px;
  --outside-gutter-md: 36px;
  --outside-gutter-sm: clamp-px(18);
  --inside-gutter-md: 48px;
  --inside-gutter-lg: 88px;
}

/**************************\
  Basic Modal Styles
\**************************/
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
}

.modal__container {
  padding: 30px;
  max-width: 1026px;
  max-height: 100vh;
  overflow-y: auto;
  position: relative;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__close {
  width: 24px;
  height: 24px;
  margin-left: auto;
  position: absolute;
  top: 10px;
  right: 30px;
}
.modal__close::before, .modal__close::after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  background-color: var(--base-color-white);
  transform: var(--bottom-bar-transform, none);
}
.modal__close::before {
  transform: rotate(-45deg);
}
.modal__close::after {
  transform: rotate(45deg);
}

.modal__content {
  margin-top: 1rem;
}

[data-micromodal-trigger] img {
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  [data-micromodal-trigger] img:hover {
    opacity: 0.6;
  }
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

.modal__focus {
  opacity: 0;
  display: block;
  height: 0;
}

.type-en button:focus {
  outline: 2px solid #000 !important;
  border-radius: 2px;
}

.tp_btn {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 250px;
}
@media not all and (min-width: 640px) {
  .tp_btn {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_btn a, .tp_btn button, .tp_btn .tp_btn-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  border: #757575 1px solid;
  color: #656565 !important;
  font-size: 1rem;
  line-height: 1;
  padding: 20px 30px;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.1s cubic-bezier(0, 0, 0.58, 1), border-color 0.1s cubic-bezier(0, 0, 0.58, 1);
}
.tp_btn a:hover, .tp_btn button:hover, .tp_btn .tp_btn-inner:hover {
  background-color: #DADADA;
  border-color: #DADADA;
  color: #4D4D4D !important;
}
.tp_btn-inner {
  position: relative;
  width: 100%;
}
@media all and (min-width: 640px) {
  .tp_btn-inner {
    max-width: 450px;
  }
}
.tp_btn-inner::after {
  content: "";
  right: 20px;
  position: absolute;
  width: 6px;
  height: 6px;
  border: 2px solid;
  border-color: #656565 #656565 transparent transparent;
  transition: border-color 0.1s cubic-bezier(0, 0, 0.58, 1);
  border-radius: 2.5px;
  transform: rotate(45deg);
}
.tp_btn-inner:hover::after {
  border-color: #4D4D4D #4D4D4D transparent transparent;
}
._current .tp_btn-inner {
  background-color: #DADADA;
  border-color: #DADADA;
  color: #4D4D4D !important;
}
.tp_colbox-item .tp_btn {
  padding: 0;
}
@media all and (min-width: 640px) {
  .tp_colbox-item .tp_btn {
    max-width: 350px;
  }
}

.tp_contactBtn {
  margin: 80px 0 178px;
}
@media not all and (min-width: 640px) {
  .tp_contactBtn {
    margin: 50px 0 128px;
  }
}
.tp_contactBtn .tp_SNSList {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 250px;
  margin-top: 60px;
}
@media not all and (min-width: 640px) {
  .tp_contactBtn .tp_SNSList {
    width: 100%;
    padding: 0 20px;
  }
}
@media not all and (min-width: 640px) {
  .tp_contactBtn .tp_SNSList {
    margin-top: 80px;
  }
}
.tp_contactBtn .tp_SNSList .tp_img_sns {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tp_contactBtn .tp_SNSList .tp_img_sns li {
  list-style: none;
  margin: 0 25px;
}
@media not all and (min-width: 640px) {
  .tp_contactBtn .tp_SNSList .tp_img_sns li {
    margin: 0 30px;
  }
}
.tp_contactBtn .tp_SNSList .tp_img_sns a {
  display: block;
}
.tp_contactBtn .tp_SNSList .tp_img_sns a:hover {
  opacity: 0.5;
}
@media not all and (min-width: 640px) {
  .tp_contactBtn .tp_SNSList .tp_img_sns img {
    max-width: 50px;
  }
}

.tp_image {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media not all and (min-width: 640px) {
  .tp_image {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_image-caption {
  margin-top: 20px;
}
@media not all and (min-width: 640px) {
  .tp_image-caption {
    font-size: 0.875rem;
  }
}
.tp_image-caption._small {
  font-size: 0.875rem;
}
.tp_image._width_md img {
  width: 50%;
}
@media not all and (min-width: 640px) {
  .tp_image._width_md img {
    width: 100%;
  }
}
.tp_image._width_lg img {
  width: 80%;
}
@media not all and (min-width: 640px) {
  .tp_image._width_lg img {
    width: 100%;
  }
}
.tp_image._caption_l {
  width: 595px;
}
@media not all and (min-width: 640px) {
  .tp_image._caption_l {
    width: 100%;
  }
}
.tp_image._caption_l .tp_image-caption {
  text-align: left;
}
.tp_image._caption_l > img {
  width: 100%;
}
.tp_image._caption_l._caption_l_width_wide {
  width: 700px;
}
@media not all and (min-width: 640px) {
  .tp_image._caption_l._caption_l_width_wide {
    width: 100%;
  }
}

/*
.te_mv {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 135px;
  margin-top: txtmg(96, 2);
  @include bp.down(sp) {
    width: 100%;
    padding: 0 20px;
    margin-top: txtmg(80, 2);
  }
}

.te_home-mv {
  display: block;
  position: relative;
  overflow: hidden;
  @include bp.up(sp) {
    min-width: 1190px;
    max-height: 480px;
    margin-bottom: 120px;
  }
  @include bp.down(sp) {
    max-height: 210px;
    margin-bottom: 96px;
  }
}

.te_image {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 83px;
  margin-top: 48px;
  @include bp.down(sp) {
    width: 100%;
    padding: 0 20px;
  }
  .te_image-img {
    text-align: center;
  }
  .te_image-caption {
    width: 690px;
    margin: 0 auto;
    font-size: fz(14);
    line-height: 1.5;
    margin-top: txtmg(16, 2);
    @include bp.down(sp) {
      width: 100%;
    }
  }
  &.type-large {
    margin-top: 96px;
    @include bp.down(sp) {
      margin-top: 80px;
    }
    .te_image-caption {
      width: 1024px;
      @include bp.down(sp) {
        width: 100%;
      }
    }
    .te_h2 + &,
    .te_h3 + & {
      margin-top: 48px;
      @include bp.down(sp) {
        margin-top: 32px;
      }
    }
    .te_h4 + & {
      margin-top: 32px;
    }
    .te_h5 + & {
      margin-top: 24px;
    }
  }
  &.type-vertical {
    .te_image-img {
      img {
        max-width: 483px;
      }
    }
    @include bp.down(sp) {
      display: flex;
      flex-direction: column;
      align-items: center;
      .te_image-img {
        max-width: calc((100vw - (20px*2))*0.7);
        img {
        width: 100%;
        }
      }
    }
  }
}
*/
.tp_news {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
}
@media not all and (min-width: 640px) {
  .tp_news {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_news.has-more {
  display: flex;
  flex-wrap: wrap;
}
@media not all and (min-width: 640px) {
  .tp_news.has-more {
    flex-direction: column;
  }
}
@media all and (min-width: 640px) {
  .has-more .tp_news-list {
    flex: 0 0 calc(100% - 130px);
  }
}
.tp_news-list .row {
  display: flex;
  margin-top: 16px;
}
.tp_news-list .row:first-child {
  margin-top: 0;
}
.tp_news-list-date {
  flex: 0 0 100px;
  color: #656565;
  font-size: 0.875rem;
  font-family: "SST W20 Bold", "SST W55 Bold";
  white-space: nowrap;
}
@media not all and (min-width: 640px) {
  .tp_news-list-date {
    font-size: 0.75rem;
  }
}
.type-en .tp_news-list-date {
  flex: 0 0 140px;
}
@media not all and (min-width: 640px) {
  .type-en .tp_news-list-date {
    flex: 0 0 110px;
  }
}
.tp_news-list-text {
  margin-left: 20px;
  max-width: calc(100% - 121px);
  font-size: 0.875rem;
  line-height: 1.4em;
}
@media not all and (min-width: 640px) {
  .tp_news-list-text {
    margin-left: 25px;
    max-width: calc(100% - 126px);
  }
}
.tp_news-list-link {
  text-decoration: none;
  color: #656565 !important;
}
.tp_news-list-link:hover:not(span) {
  text-decoration: underline !important;
  color: #000 !important;
}
.tp_news-more {
  align-self: flex-end;
  flex: 0 0 auto;
}
@media not all and (min-width: 640px) {
  .tp_news-more {
    margin-top: 30px;
  }
}
.tp_news-more-inner {
  width: 100px;
  display: block;
  margin-left: 30px;
  text-decoration: none;
  color: #656565 !important;
  position: relative;
}
@media not all and (min-width: 640px) {
  .tp_news-more-inner {
    margin-left: 0;
    width: 95px;
  }
}
.tp_news-more-inner:hover {
  text-decoration: underline !important;
  color: #000 !important;
}
.tp_news-more-inner::after {
  content: "";
  top: 50%;
  right: 0;
  position: absolute;
  width: 4px;
  height: 4px;
  border: 2px solid;
  border-color: #656565 #656565 transparent transparent;
  transition: border-color 0.1s cubic-bezier(0, 0, 0.58, 1);
  border-radius: 2px;
  transform: translateY(-50%) rotate(45deg);
}
.tp_news-more-inner:hover::after {
  border-color: #4D4D4D #4D4D4D transparent transparent;
}
.tp_news-more-text {
  font-size: 0.875rem;
}

.tp_list {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
}
@media not all and (min-width: 640px) {
  .tp_list {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_list ._black {
  color: #000 !important;
}

.tp_disc-list {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
}
@media not all and (min-width: 640px) {
  .tp_disc-list {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_disc-list-item {
  display: flex;
}
.tp_disc-list-item::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  margin-top: 0.5em;
  margin-right: 0.5em;
  background: currentColor;
  border-radius: 50%;
  flex-shrink: 0;
}
@media not all and (min-width: 640px) {
  .tp_annotation-list .tp_disc-list {
    padding: 0;
  }
}

.tp_ordered-list {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0px 20px 0px 40px;
  margin-top: 46px;
  list-style-type: decimal;
  font-size: 0.875rem;
  line-height: 2;
  color: #000000;
}
@media not all and (min-width: 640px) {
  .tp_ordered-list {
    width: 100%;
    padding: 0 20px;
  }
}
@media not all and (min-width: 640px) {
  .tp_ordered-list {
    padding: 0px 20px 0px 40px;
  }
}
.tp_ordered-list.type-01 {
  list-style-type: none;
  font-size: 1rem;
  padding: 0;
}
@media not all and (min-width: 640px) {
  .tp_ordered-list.type-01 {
    padding: 0px 20px;
  }
}

.tp_annotation-list {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
}
@media not all and (min-width: 640px) {
  .tp_annotation-list {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_annotation-list-item {
  display: flex;
  font-size: 0.875rem;
}
@media all and (min-width: 640px) {
  .tp_annotation-list-item {
    justify-content: center;
  }
}
.tp_annotation-list-symbol {
  flex-shrink: 0;
}
.tp_annotation-list-text {
  margin-left: 0.5em;
}
.tp_annotation-list._black {
  color: #000000;
}
.tp_annotation-list._small .tp_annotation-list-item {
  font-size: 0.75rem;
}

.tp_colbox-wrap {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
}
@media not all and (min-width: 640px) {
  .tp_colbox-wrap {
    width: 100%;
    padding: 0 20px;
  }
}

.tp_colbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media all and (min-width: 640px) {
  .tp_colbox {
    margin-left: -25px;
    margin-right: -25px;
  }
}
@media not all and (min-width: 640px) {
  .tp_colbox {
    justify-content: center;
  }
  .tp_colbox._nowrap {
    flex-wrap: nowrap;
    margin-left: -20px;
    margin-right: -20px;
  }
  .tp_colbox._nowrap .tp_colbox-item {
    margin-left: 20px;
    margin-right: 20px;
  }
  .tp_colbox._nowrap .tp_colbox-item._mr-0 {
    margin-right: 0px;
  }
}
.tp_colbox-item {
  width: 570px;
}
.tp_colbox-item._width_md {
  width: 50%;
}
@media not all and (min-width: 640px) {
  .tp_colbox-item._width_md {
    width: 100%;
  }
}
.tp_colbox-item._width_md2 {
  width: 65%;
}
@media not all and (min-width: 640px) {
  .tp_colbox-item._width_md2 {
    width: 100%;
  }
}
.tp_colbox-item._width_lg {
  width: 80%;
}
@media not all and (min-width: 640px) {
  .tp_colbox-item._width_lg {
    width: 100%;
  }
}
.tp_colbox-item._mr-0 {
  margin-right: 0px;
}
@media all and (min-width: 640px) {
  .tp_colbox-item:nth-child(n+3) {
    margin-top: 26px;
  }
}
@media all and (min-width: 640px) {
  .tp_colbox-item {
    margin-left: 25px;
    margin-right: 25px;
  }
}
@media not all and (min-width: 640px) {
  .tp_colbox-item {
    width: 100%;
  }
  .tp_colbox-item:nth-child(even) {
    margin-left: 0;
  }
  .tp_colbox-item:not(:first-child) {
    margin-top: 26px;
  }
}
@media all and (min-width: 640px) {
  .type-gap .tp_colbox-item {
    width: 535px;
  }
}
.has-contents .tp_colbox-item {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 640px) {
  ._width_narrow .tp_colbox-item {
    width: calc(50% - 50px);
  }
}
.tp_colbox-item.type-purpose {
  display: flex;
  flex-direction: column;
}
.tp_colbox-item.type-purpose .tp_colbox-text {
  margin-top: 50px;
  line-height: 2;
  text-align: center;
  order: 2;
}
@media not all and (min-width: 640px) {
  .tp_colbox-item.type-purpose .tp_colbox-text {
    font-size: 0.875rem;
    margin-top: 24px;
  }
}
.tp_colbox-item._border-right {
  border-right: 1px solid #000;
}
.tp_colbox-heading {
  font-family: "SST W20 Bold", "SST W55 Bold";
  font-size: 1.375rem;
  color: #000;
  text-align: center;
  margin-top: 30px;
}
@media not all and (min-width: 640px) {
  .tp_colbox-heading {
    font-size: 1.125rem;
  }
}
.has-contents .tp_colbox-imgbox {
  order: 1;
}
.tp_colbox-img > img {
  width: 100%;
}
.tp_colbox-img._width_md {
  width: 50%;
}
@media not all and (min-width: 640px) {
  .tp_colbox-img._width_md {
    width: 100%;
  }
}
.tp_colbox-img._width_lg {
  width: 80%;
}
@media not all and (min-width: 640px) {
  .tp_colbox-img._width_lg {
    width: 100%;
  }
}
.tp_colbox-img._ml-auto {
  margin-left: auto;
}
.tp_colbox-img._mr-auto {
  margin-right: auto;
}
.has-contents .tp_colbox-contents {
  order: 2;
}
.tp_colbox-text {
  line-height: 1.4em;
  margin-top: 16px;
  order: 1;
  margin-bottom: 10px;
}
@media not all and (min-width: 640px) {
  .tp_colbox-text {
    font-size: 0.875rem;
    margin-top: 0;
  }
}
.tp_colbox-text.tp_text-small {
  line-height: 1.5em;
}
.tp_colbox-text._small {
  font-size: 0.875rem;
}
.tp_colbox-text._lh-l {
  line-height: 2;
}
.tp_colbox-text._type-head {
  padding: 8px;
  border: 1px solid #707070;
  align-self: center;
  font-size: 0.875rem;
  line-height: 1;
}
@media all and (min-width: 640px) {
  .type-illustration01 .tp_colbox-text._type-head {
    margin-right: 80px;
  }
  .type-illustration02 .tp_colbox-text._type-head {
    margin-left: 80px;
  }
}
@media all and (min-width: 640px) {
  .tp_colbox-text._min_h_45_pc {
    min-height: 45px;
  }
}
.tp_colbox-text-02 {
  line-height: 1.4em;
  margin-top: 16px;
  order: 3;
}
@media not all and (min-width: 640px) {
  .tp_colbox-text-02 {
    font-size: 0.875rem;
    margin-top: 24px;
  }
}
.tp_colbox-text-02.tp_text-small {
  line-height: 1.5em;
}
.tp_colbox-text-02._small {
  font-size: 0.875rem;
}
.tp_colbox-text-02._lh-l {
  line-height: 2;
}
@media all and (min-width: 640px) {
  .tp_colbox.type-gap {
    padding: 0 20px;
    margin-left: -40px;
    margin-right: -40px;
  }
}
.tp_colbox.type-gap .tp_colbox-item:nth-child(n+3) {
  margin-top: 50px;
}
@media all and (min-width: 640px) {
  .tp_colbox.type-gap .tp_colbox-item {
    margin-left: 40px;
    margin-right: 40px;
  }
}
@media not all and (min-width: 640px) {
  .tp_colbox.type-gap .tp_colbox-item:not(:first-child) {
    margin-top: 46px;
  }
}
.tp_colbox.type-gap .tp_colbox-text {
  margin: 12px 0 46px;
}
@media not all and (min-width: 640px) {
  .tp_colbox.type-gap .tp_colbox-text {
    margin: 26px 0 30px;
  }
}
.tp_colbox._1col {
  justify-content: center;
}
.tp_colbox._3col .tp_colbox-item {
  width: 362px;
}
@media all and (min-width: 640px) {
  .tp_colbox._3col .tp_colbox-item:nth-child(3) {
    margin-top: 0;
  }
}
@media all and (min-width: 640px) {
  .tp_colbox._3col .tp_colbox-item:nth-child(n+4) {
    margin-top: 26px;
  }
}
@media not all and (min-width: 640px) {
  .tp_colbox._3col .tp_colbox-item:not(:first-child) {
    margin-top: 26px;
  }
}
@media all and (min-width: 640px) {
  .tp_colbox._3col .tp_colbox-item:nth-child(n+4) {
    margin-top: 26px;
  }
}
@media all and (min-width: 640px) {
  ._width_narrow .tp_colbox._3col .tp_colbox-item {
    width: calc(33.3333333333% - 50px);
  }
}
.tp_colbox._4col {
  margin-left: -6px;
  margin-right: -6px;
}
.type-purpose .tp_colbox._4col {
  order: 1;
}
@media not all and (min-width: 640px) {
  .type-purpose .tp_colbox._4col {
    justify-content: center;
  }
}
.tp_colbox._4col .tp_colbox-item {
  width: calc(25% - 12px);
  margin-left: 6px;
  margin-right: 6px;
  margin-top: 0px;
}
@media all and (min-width: 640px) {
  .tp_colbox._4col .tp_colbox-item:nth-child(3), .tp_colbox._4col .tp_colbox-item:nth-child(4) {
    margin-top: 0;
  }
}
@media not all and (min-width: 640px) {
  .tp_colbox._4col .tp_colbox-item {
    width: calc(50% - 12px);
  }
  .tp_colbox._4col .tp_colbox-item:nth-child(n+3) {
    margin-top: 12px;
  }
}
.type-purpose .tp_colbox._4col .tp_colbox-item {
  flex-wrap: nowrap;
  width: calc(25% - 12px);
}
@media not all and (min-width: 640px) {
  .type-purpose .tp_colbox._4col .tp_colbox-item:nth-child(odd) {
    display: inline-flex;
    justify-content: flex-end;
  }
}
.type-purpose .tp_colbox._4col .tp_colbox-item:nth-child(n+3) {
  margin-top: 0;
}
.tp_colbox._technology-special .type-illustration01 img {
  display: block;
  margin-left: 70px;
  z-index: 1;
  position: relative;
}
@media not all and (min-width: 640px) {
  .tp_colbox._technology-special .type-illustration01 img {
    margin-left: 0px;
  }
}
.type-en .tp_colbox._technology-special .type-illustration01 img {
  margin-left: 66px;
}
@media not all and (min-width: 640px) {
  .type-en .tp_colbox._technology-special .type-illustration01 img {
    margin-left: 0px;
  }
}
@media not all and (min-width: 640px) {
  .tp_colbox._technology-special .type-illustration01 {
    order: 0;
  }
}
.tp_colbox._technology-special .type-illustration02 img {
  margin-left: -75px;
}
@media not all and (min-width: 640px) {
  .tp_colbox._technology-special .type-illustration02 img {
    margin-left: 0px;
  }
}
@media not all and (min-width: 640px) {
  .tp_colbox._technology-special .type-illustration02 {
    order: 2;
  }
}
@media not all and (min-width: 640px) {
  .tp_colbox._technology-special .type-img01 {
    order: 1;
  }
}
@media not all and (min-width: 640px) {
  .tp_colbox._technology-special .type-img02 {
    order: 3;
  }
}

.tp_box {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
}
@media not all and (min-width: 640px) {
  .tp_box {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_box-inner {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #707070;
  width: 100%;
  max-width: 800px;
  padding: 48.5px 74px 39px 86px;
}
@media not all and (min-width: 640px) {
  .tp_box-inner {
    padding: 40px;
  }
}
.tp_box-inner .tp_box-title {
  color: #656565;
  font-size: 1rem;
  font-family: "SST W20 Bold", "SST W55 Bold";
  margin-bottom: 25.5px;
}
@media not all and (min-width: 640px) {
  .tp_box-inner .tp_box-title {
    margin-bottom: 18px;
    text-align: center;
  }
}
.tp_box-inner .tp_box-col {
  display: flex;
  margin-bottom: 49px;
}
@media not all and (min-width: 640px) {
  .tp_box-inner .tp_box-col {
    display: block;
  }
}
.tp_box-inner .tp_box-col:last-child {
  margin-bottom: 0;
}
.tp_box-inner .tp_box-col-image {
  margin-right: 30px;
  max-width: 100px;
  flex: 0 0 auto;
}
@media not all and (min-width: 640px) {
  .tp_box-inner .tp_box-col-image {
    text-align: center;
    margin: 0 auto 18px;
  }
}
.tp_box-inner .tp_box-col-image > img {
  width: 100%;
}
.tp_box-inner .tp_box-col-text {
  color: #656565;
  font-size: 0.875rem;
}

.tp_productsbox {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  margin-top: 52px;
}
@media not all and (min-width: 640px) {
  .tp_productsbox {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_productsbox-item {
  display: flex;
  width: 280px;
  margin-right: 23px;
}
.tp_productsbox-item:nth-child(4n) {
  margin-right: 0px;
}
.tp_productsbox-item:nth-child(n+5) {
  margin-top: 49px;
}
@media not all and (min-width: 640px) {
  .tp_productsbox-item {
    width: 100%;
    margin-right: 0px;
  }
  .tp_productsbox-item:not(:first-child) {
    margin-top: 49px;
  }
}
.tp_productsbox-imgbox {
  border: 1px solid #535353;
  padding: 48px 16px;
  margin-bottom: 24px;
}
.tp_productsbox-img {
  text-align: center;
  transition: opacity 0.3s ease-out;
}
.tp_productsbox-img > img {
  width: 100%;
}
.tp_productsbox-link:hover .tp_productsbox-img {
  opacity: 0.6;
}
.tp_productsbox-link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
}
@media not all and (min-width: 640px) {
  .tp_productsbox-link {
    width: 100%;
  }
}
.tp_productsbox-link > img {
  width: 100%;
}
@media not all and (min-width: 640px) {
  .tp_productsbox-link > img {
    width: 50%;
  }
}
.tp_productsbox-text-title {
  font-size: 0.75rem;
  margin-bottom: 12px;
}
.tp_productsbox-text-company {
  margin-bottom: 25px;
  font-family: "SST W20 Bold", "SST W55 Bold";
  transition: color 0.1s ease-out;
}
.tp_productsbox-link:hover .tp_productsbox-text-company {
  color: #000;
  text-decoration: underline;
}
.tp_productsbox-text-explanation {
  font-size: 0.875rem;
  margin-bottom: 29px;
}
.tp_productsbox-more {
  margin-top: auto;
}
.tp_productsbox-more-inner {
  display: block;
  text-decoration: none;
  color: #656565 !important;
  position: relative;
  font-size: 0.75rem;
  transition: color 0.1s ease-out;
}
.tp_productsbox-link:hover .tp_productsbox-more-inner {
  text-decoration: underline;
  color: #000 !important;
}
.tp_productsbox-more-inner::after {
  content: "";
  top: 50%;
  position: absolute;
  width: 4px;
  height: 4px;
  border: 2px solid;
  border-color: #656565 #656565 transparent transparent;
  transition: border-color 0.1s cubic-bezier(0, 0, 0.58, 1);
  border-radius: 2px;
  transform: translateY(-50%) rotate(45deg);
}

body.js-nav-opened {
  height: 100%;
  overflow: hidden;
}
body.js-nav-opened .trp-nav-overlay {
  opacity: 1;
  pointer-events: auto;
}

@media all and (min-width: 640px) {
  .trp-nav-overlay {
    display: none;
  }
}
@media not all and (min-width: 640px) {
  .trp-nav-overlay {
    transition: opacity 0.5s;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    pointer-events: none;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 90;
  }
  .trp-nav-overlay._on {
    opacity: 1;
  }
}

.tp_l-header {
  background-color: #EFEFEF;
  min-width: 1190px;
  padding: 7px 0 10px;
}
@media not all and (min-width: 640px) {
  .tp_l-header {
    padding: 0;
    min-width: 100%;
  }
}
.tp_l-header._fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  animation: DownAnime 0.5s;
}

@keyframes DownAnime {
  from {
    transform: translateY(-80px);
  }
  to {
    transform: translateY(0);
  }
}
.tp_breadcrumbs {
  width: 1190px;
  margin: 0 auto 12px;
  display: block;
}
@media not all and (min-width: 640px) {
  .tp_breadcrumbs {
    display: none !important;
  }
}
.tp_breadcrumbs-list {
  display: flex;
}
.tp_breadcrumbs-item:not(:last-child):after {
  margin: 0 7px;
  padding: 0 0 1px;
  content: ">";
  font-size: 0.625rem;
}
.tp_breadcrumbs-link {
  text-decoration: none;
  font-size: 0.625rem;
}
.tp_breadcrumbs-link:not(span):hover {
  text-decoration: underline !important;
}

.tp-menu {
  width: 1190px;
  margin: 0 auto;
}
@media not all and (min-width: 640px) {
  .tp-menu {
    width: 100%;
    position: relative;
  }
}

@media all and (min-width: 640px) {
  .trp-nav-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

@media all and (min-width: 640px) {
  .trp-nav {
    display: block !important;
  }
}
@media not all and (min-width: 640px) {
  .trp-nav {
    position: absolute;
    width: 100%;
    display: none;
    z-index: 90;
  }
}
.trp-nav-title {
  font-size: 1.125rem;
}
@media not all and (min-width: 640px) {
  .trp-nav-title {
    line-height: 1.2;
    position: relative;
    padding: 10px 20px;
    background-color: #EFEFEF;
    z-index: 90;
  }
}
@media all and (min-width: 640px) {
  .trp-nav-list {
    display: flex;
  }
}
.trp-nav-item {
  display: flex;
}
@media not all and (min-width: 640px) {
  .trp-nav-item {
    background-color: #F8F8FA;
    position: relative;
    border-bottom: 1px solid #DADADA;
    padding: 20px;
  }
  .trp-nav-item:first-child {
    border-top: 1px solid #DADADA;
  }
  .trp-nav-item::after {
    display: block;
    top: 5px;
    content: "";
    position: relative;
    width: 10px;
    height: 10px;
    margin-left: 26px;
    border-top: 2px solid #999999;
    border-right: 2px solid #999999;
    transform: rotate(45deg);
  }
}
@media all and (min-width: 640px) {
  .trp-nav-item:not(:last-child) {
    margin-right: 50px;
  }
  .type-en .trp-nav-item:not(:last-child) {
    margin-right: 80px;
  }
}
.trp-nav-link {
  text-decoration: none;
  font-family: "SST W20 Bold", "SST W55 Bold" !important;
  position: relative;
}
@media all and (min-width: 640px) {
  .trp-nav-link::before {
    content: "";
    bottom: -1px;
    left: 0;
    right: 0;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(0, 1);
    transition: transform 0.3s;
  }
}
.trp-nav-title .trp-nav-link::before {
  bottom: -5px !important;
}
.trp-nav-title:hover .trp-nav-link::before, .trp-nav-item:hover .trp-nav-link::before {
  transform: scale(1, 1);
}
.trp-nav-link._current {
  color: #000 !important;
}
@media all and (min-width: 640px) {
  .trp-nav-link._current::before {
    content: "";
    bottom: -3px;
    left: 0;
    right: 0;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(1, 1);
  }
}
.trp-nav-lang .trp-nav-link {
  font-family: "SST W20 Roman", "SST W55 Regular", "Yu Gothic Medium", "YuGothic", sans-serif !important;
  text-transform: uppercase;
  border: 1px solid #656565;
  border-radius: 4px;
  padding: 0 8px;
  transition: color 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20px;
}
.trp-nav-lang .trp-nav-link:hover {
  color: #000 !important;
}
.trp-nav-lang .trp-nav-link::after {
  display: none;
}
.trp-nav-lang {
  font-size: 0.75rem;
}
@media not all and (min-width: 640px) {
  .trp-nav-lang {
    display: none;
  }
}

.sp-trp-nav {
  position: absolute;
  right: 20px;
  top: 10px;
  z-index: 99;
}
@media all and (min-width: 640px) {
  .sp-trp-nav {
    display: none;
  }
}
.sp-trp-nav-lang {
  position: relative;
  z-index: 99;
}
.sp-trp-nav-lang-link {
  font-family: "SST W20 Roman", "SST W55 Regular", "Yu Gothic Medium", "YuGothic", sans-serif !important;
  text-transform: uppercase;
  border: 1px solid #656565;
  border-radius: 4px;
  padding: 0 8px;
  transition: color 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20px;
  text-decoration: none;
  font-size: 0.75rem;
}
.sp-trp-nav-lang-link:hover {
  color: #000 !important;
}

.trp-nav-btn {
  width: 15px;
  height: 15px;
  margin-left: 42px;
  position: absolute;
  z-index: 99;
  top: 10px;
}
@media all and (min-width: 640px) {
  .trp-nav-btn {
    display: none;
  }
}
.trp-nav-btn::after {
  display: block;
  top: 0;
  content: "";
  position: relative;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000000;
  border-right: 2px solid #000000;
  transform: rotate(135deg);
  transition: transform 0.3s, top 0.3s;
  margin-top: -2px;
  z-index: 99;
}
.trp-nav-btn._open::after {
  transform: rotate(-45deg);
  top: 8px;
}

.tp_news-sharedate {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 56px;
  display: flex;
  justify-content: space-between;
}
@media not all and (min-width: 640px) {
  .tp_news-sharedate {
    width: 100%;
    padding: 0 20px;
  }
}
@media not all and (min-width: 640px) {
  .tp_news-sharedate {
    flex-direction: column;
    align-items: center;
  }
}
.tp_news-sharedate-date {
  color: #000000;
  font-size: 0.875rem;
}
@media not all and (min-width: 640px) {
  .tp_news-sharedate-date {
    margin-top: 40px;
  }
}
.tp_news-sharedate .mod-sns ul {
  display: flex;
}
.tp_news-sharedate .mod-sns ul .facebook, .tp_news-sharedate .mod-sns ul .twitter {
  line-height: 0;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

@media all and (min-width: 640px) {
  .splide.is-initialized,
  .splide.is-rendered {
    width: 1190px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media all and (min-width: 640px) {
  .splide__track {
    overflow: visible;
  }
}
@media not all and (min-width: 640px) {
  .splide__track {
    padding: 0 20px !important;
  }
}

.splide__list {
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center;
}
@media not all and (min-width: 640px) {
  .splide__list {
    justify-content: initial;
    width: 100% !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    column-gap: 0 !important;
  }
}

@media not all and (min-width: 640px) {
  .splide__slide {
    margin-top: initial !important;
  }
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: flex !important;
}

@media not all and (min-width: 640px) {
  .splide__arrows {
    display: flex;
    align-items: center;
    padding: 0 20px;
    margin-top: 60px;
  }
}
.splide__arrows._is_hide {
  display: none;
}

@media all and (min-width: 640px) {
  .splide__arrow {
    display: none;
  }
}
@media not all and (min-width: 640px) {
  .splide__arrow {
    position: static;
    background: transparent;
    height: 30px;
    width: 30px;
    transform: none;
    color: #000;
  }
  .splide__arrow::before {
    content: "";
    width: 22px;
    height: 22px;
    transform: rotate(45deg);
  }
  .splide__arrow svg {
    display: none;
  }
  .splide__arrow[disabled] {
    color: #BFBFBF;
    opacity: 1;
  }
}

@media not all and (min-width: 640px) {
  .splide__arrow--prev {
    order: 1;
  }
  .splide__arrow--prev::before {
    border-bottom: 1.5px solid currentColor;
    border-left: 1.5px solid currentColor;
  }
}

@media not all and (min-width: 640px) {
  .splide__arrow--next {
    order: 3;
  }
  .splide__arrow--next::before {
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
  }
}

@media not all and (min-width: 640px) {
  .splide__pagination {
    position: static;
    flex-grow: 1;
    order: 2;
  }
  .splide__pagination > li[role=presentation] {
    margin-left: 15px;
    margin-right: 15px;
  }
}

.splide__pagination__page {
  background-color: #BFBFBF;
}
.splide__pagination__page.is-active {
  background-color: #070001;
}

.tp_hr {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
  background: #707070;
  height: 1px;
  margin-top: 76px;
  margin-bottom: 80px;
}
@media not all and (min-width: 640px) {
  .tp_hr {
    margin: 50px 20px;
    width: auto;
  }
}
.tp_hr._mt-s {
  margin-top: 45px;
}
@media not all and (min-width: 640px) {
  .tp_hr._mt-s {
    margin-top: 30px;
  }
}
@media all and (min-width: 640px) {
  .tp_hr._mt-lg {
    margin-top: 110px;
  }
}
@media all and (min-width: 640px) {
  .tp_hr._mt-xl {
    margin-top: 150px;
  }
}

.tp_table-wrapper {
  width: 1190px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}
@media not all and (min-width: 640px) {
  .tp_table-wrapper {
    width: 100%;
    padding: 0 20px;
  }
}
.tp_table-wrapper._narrow {
  width: 640px;
}
@media not all and (min-width: 640px) {
  .tp_table-wrapper._narrow {
    width: 100%;
  }
}

.tp_table {
  width: 100%;
  table-layout: fixed;
}
.tp_table-th {
  border: 1px solid #707070;
  padding: 8px;
  word-break: break-all;
}
.type-en .tp_table-th {
  word-break: normal;
}
@media not all and (min-width: 640px) {
  .tp_table-th {
    font-size: 0.875rem;
  }
}
.tp_table-td {
  border: 1px solid #707070;
  padding: 8px;
  word-break: break-all;
}
.type-en .tp_table-td {
  word-break: normal;
}
@media not all and (min-width: 640px) {
  .tp_table-td {
    font-size: 0.875rem;
  }
}

.page-top-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background-color: rgba(33, 37, 48, 0.4);
  color: #fff !important;
  position: absolute;
  width: 40px;
  height: 32px;
  bottom: 18px;
  right: 20px;
  transition: background-color 0.2s ease-in-out;
}
.page-top-button::after {
  content: "";
  display: block;
  background-color: currentColor;
  flex-shrink: 0;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 100%;
  mask-image: url("../images/icon-pagetop.png");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: 100%;
  -webkit-mask-image: url("../images/icon-pagetop.png");
  width: 16px;
  height: 6px;
}
@media not all and (min-width: px) {
  .page-top-button::after {
    width: clamp-px(15);
    height: clamp-px(7.5);
    margin-top: clamp-px(-1);
  }
}
@media (hover: hover) and (pointer: fine) {
  .page-top-button:hover {
    background-color: var(--base-color-dark-gray);
  }
}

.page-top-button-wrapper {
  position: sticky;
  bottom: 0;
  z-index: 999;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  margin-top: 48px;
  margin-bottom: -48px;
}
.page-top-button-wrapper._on {
  transition-delay: 0.4s;
  opacity: 1;
}
@media not all and (min-width: px) {
  .page-top-button-wrapper {
    margin-top: clamp-px(40);
    margin-bottom: clamp-px(-40);
  }
}
/* ---------------------------------------------
*   2024/06/20
--------------------------------------------- */
.main_bnr_cap{
  font-size: 0.775rem;
  text-align: right;
  margin-top: 5px;
}
.tp_colbox-item img{
  max-width: 100%;
}
/* ---------------------------------------------
*   2026/2/04
--------------------------------------------- */

.li_disc{
  padding-left: 2rem;
}
.li_disc li{
  list-style: disc;
}
