* {
  box-sizing: border-box;
  font-weight: 500
}

*:before,
*:after {
  box-sizing: border-box
}

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

/*!
* ress.css • v1.1.2
* MIT License
* github.com/filipelinhares/ress
*/
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%
}

*,
::before,
::after {
  box-sizing: inherit
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit
}

* {
  background-repeat: no-repeat;
  padding: 0;
  margin: 0
}

audio:not([controls]) {
  display: none;
  height: 0
}

hr {
  overflow: visible
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-style: normal
}

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

summary {
  display: list-item
}

small {
  font-size: 100%
}

[hidden],
template {
  display: none
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none
}

a {
  background-color: rgba(0, 0, 0, 0);
  -webkit-text-decoration-skip: objects
}

a:active,
a:hover {
  outline-width: 0
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace
}

b,
strong {
  font-weight: bolder
}

dfn {
  font-style: italic
}

ul,
ol {
  list-style: none
}

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

mark {
  background-color: #ff0;
  color: #000
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.25em
}

sup {
  top: -0.5em
}

address,
em {
  font-style: normal
}

input {
  border-radius: 0
}

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer
}

[disabled] {
  cursor: default
}

[type=number] {
  width: auto
}

[type=search] {
  -webkit-appearance: textfield
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

textarea {
  overflow: auto;
  resize: vertical
}

button,
input,
optgroup,
select,
textarea {
  font: inherit
}

optgroup {
  font-weight: bold
}

button {
  overflow: visible
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0
}

button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button
}

button,
select {
  text-transform: none
}

button,
input,
select,
textarea {
  background-color: rgba(0, 0, 0, 0);
  border-style: none;
  color: inherit
}

select {
  -moz-appearance: none;
  -webkit-appearance: none
}

select::-ms-expand {
  display: none
}

select::-ms-value {
  color: currentColor
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

img {
  max-width: 100%;
  border-style: none;
  vertical-align: bottom
}

progress {
  vertical-align: baseline
}

svg:not(:root) {
  overflow: hidden
}

audio,
canvas,
progress,
video {
  display: inline-block
}

[aria-busy=true] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled] {
  cursor: default
}

::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none
}

a {
  text-decoration: none
}

a:hover {
  text-decoration: none
}

ul {
  letter-spacing: -0.4em
}

ul li {
  letter-spacing: normal
}

html {
  width: 100%;
  min-height: 100%
}

button {
  box-sizing: border-box
}

a {
  color: #1e1b1b
}

iframe {
  max-width: 100%
}

img,
svg {
  height: auto
}

:not(td)>img,
:not(td)>svg {
  width: 100%
}

body {
  color: #1e1b1b;
  font-size: 0.9375rem;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1.8;
  letter-spacing: .05em;
  font-weight: 400;
  font-feature-settings: "palt";
  min-width: 1120px;
  overflow-wrap: break-word
}

body.modal-is-open,
body.search-is-open {
  overflow: hidden
}

.hover-opacity {
  transition: opacity .3s ease-in-out
}

body>main {
  position: relative;
  overflow-x: hidden
}

.w-25 {
  width: 25%
}

.w-48 {
  width: 48%
}

.w-50 {
  width: 50%
}

.w-100 {
  width: 100%
}

.facebook {
  width: 20px
}

.twitter {
  width: 22px
}

.youtube {
  width: 23px
}

.linkedin {
  width: 22px
}

.instagram {
  width: 20px
}

.cmn_mainContainer {
  padding: 100px 20px
}

.cmn_section:last-child {
  margin-bottom: 0
}

.cmn_inner1 {
  max-width: 1050px;
  margin: auto;
  padding: 0 25px;
  position: relative
}

.cmn_inner2 {
  max-width: 1074px;
  padding: 0 25px;
  margin: auto;
  position: relative
}

.cmn_h1 {
  font-size: 1.875rem;
  font-weight: 700;
  padding-left: 15px;
  position: relative;
  line-height: 1.5;
  margin-bottom: 30px
}

.cmn_h1::before {
  content: "";
  height: calc(100% - 16px);
  width: 4px;
  position: absolute;
  left: 0;
  top: 7px;
  background: linear-gradient(180deg, #d3180c 0%, #d3180c 50%, #222222 50%, #222222 100%)
}

.cmn_h1_sub {
  font-size: 0.9375rem;
  margin-top: 20px
}

.cmn_linkTitle {
  line-height: 1.5;
  margin-bottom: 10px;
  display: block
}

.cmn_linkTitle span {
  font-size: 1.875rem;
  font-weight: 700;
  padding: 0 30px 0 15px;
  position: relative;
  display: inline-block
}

.cmn_linkTitle span::before {
  content: "";
  height: 28px;
  width: 4px;
  position: absolute;
  left: 0;
  top: 7px;
  background: linear-gradient(180deg, #d3180c 0%, #d3180c 50%, #222222 50%, #222222 100%)
}

.cmn_linkTitle span::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 0px;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.cmn_linkHead {
  position: relative;
  line-height: 1.5;
  margin-bottom: 30px;
  border-bottom: 1px solid #dbdbdb
}

.cmn_linkHead a {
  display: block;
  transition: color .3s cubic-bezier(0.215, 0.61, 0.355, 1), transform .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.cmn_linkHead::after {
  content: "";
  background-color: #d3180c;
  height: 1px;
  width: 56px;
  left: 0;
  bottom: 0;
  position: absolute
}

.cmn_linkHead span {
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0 30px 10px 0;
  position: relative;
  display: inline-block
}

.cmn_linkHead span::after {
  content: "";
  position: absolute;
  right: 0px;
  top: calc(50% - 5px);
  transform: translateY(-50%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.cmn_sp_linkHead {
  position: relative;
  line-height: 1.5;
  letter-spacing: normal;
  margin-top: 20px;
  border-bottom: 1px solid #dbdbdb
}

.cmn_sp_linkHead::after {
  content: "";
  background-color: #d3180c;
  height: 1px;
  width: 56px;
  left: 0;
  bottom: 0;
  position: absolute
}

.cmn_sp_linkHead span {
  font-weight: 700;
  padding: 0 20px 10px 0;
  position: relative;
  display: inline-block
}

.cmn_sp_linkHead span::after {
  content: "";
  position: absolute;
  right: 0px;
  top: calc(50% - 5px);
  transform: translateY(-50%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 12px;
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 87px;
  padding: 0 180px 0 40px;
  width: 100%;
  background-color: #fff;
  z-index: 10;
  will-change: height;
  transition: height .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.header .header_h1 {
  width: 199px;
  flex-shrink: 0
}

body.en .header .header_h1 {
  width: 292px
}

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

body.en .header .header_nav {
  line-height: 1.5
}

.header .header_nav li {
  display: inline-block;
  margin-left: 30px
}

.header .header_nav li a {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: .07em;
  padding-bottom: 2px;
  transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.header .header_greyBtn {
  margin-left: 75px;
  flex-shrink: 0
}

.header .header_greyBtn>li {
  display: inline-block;
  vertical-align: middle
}

.header .header_greyBtn>li a,
.header .header_greyBtn>li button {
  position: relative;
  background-color: #ededed;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  border-radius: 24px;
  transition: background-color .3s ease-in-out
}

.header .header_greyBtn>li a::before,
.header .header_greyBtn>li button::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  width: calc(100% + 12px);
  background-color: rgba(0, 0, 0, 0)
}

.header .header_lang {
  width: 62px;
  font-size: 0.875rem;
  font-weight: 700
}

.header .header_search {
  width: 25px
}

.header .header_search svg {
  width: 12px
}

.header_siteSearch {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 25;
  background-color: rgba(0, 0, 0, .8);
  width: 100%;
  height: 100%;
  display: none;
  opacity: 0;
  will-change: opacity
}

.header_siteSearch .header_siteSearch_form {
  width: 800px;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #fff;
  padding: 10px;
  border-radius: 5px;
  position: relative
}

.header_siteSearch .mf-search-box .mf-search-bar .mf-search-bar_button,
.main .mf-search-box .mf-search-bar .mf-search-bar_button {
  background-color: #222;
  transition: background-color .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.mf-filters_selects_category svg,
.mf-filters_selects svg {
  width: auto
}

.main .mf-search-results .mf-search-results_body .mf-search-results_body_result .mf-search-results_body_result_texts .mf-search-results_body_result_texts_title .mf-search-results_body_result_texts_title_link {
  color: #d3180c
}

.main .mf-search-results .mf-search-results_body .mf-search-results_body_result .mf-search-results_body_result_texts .mf-search-results_body_result_texts_title .mf-search-results_body_result_texts_title_link:visited,
.main .mf-search-results .mf-search-results_body .mf-search-results_body_result .mf-search-results_body_result_texts .mf-search-results_body_result_texts_title .mf-search-results_body_result_texts_title_link:hover,
.main .mf-search-results .mf-search-results_body .mf-search-results_body_result .mf-search-results_body_result_texts .mf-search-results_body_result_texts_title .mf-search-results_body_result_texts_title_link:active {
  color: #d3180c
}

.main .mf-search-results .mf-search-results_spellcheck .mf-search-results_spellcheck_text .mf-search-results_spellcheck_text_link {
  color: #d3180c
}

.main .mf-search-results .mf-search-results_spellcheck .mf-search-results_spellcheck_text .mf-search-results_spellcheck_text_link:visited,
.main .mf-search-results .mf-search-results_spellcheck .mf-search-results_spellcheck_text .mf-search-results_spellcheck_text_link:hover,
.main .mf-search-results .mf-search-results_spellcheck .mf-search-results_spellcheck_text .mf-search-results_spellcheck_text_link:active {
  color: #d3180c
}

.main .mf-pagination .mf-pagination_button.active-page {
  background-color: #d3180c;
  border-color: #d3180c
}

.main .mf-pagination .mf-pagination_button:not(.active-page):hover:not(:disabled) {
  border-color: #d3180c;
  color: #d3180c
}

.main div.mf-search-results_mars-logo {
  display: none
}

.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  z-index: 15;
  opacity: 0;
  display: none;
  will-change: opacity
}

.menu .menu_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  height: 100%;
  width: 100%;
  overflow-y: scroll;
  opacity: 0;
  will-change: opacity;
  -ms-overflow-style: none;
  scrollbar-width: none
}

.menu .menu_inner::-webkit-scrollbar {
  display: none
}

.menu .menu_left {
  width: 58.5%;
  border-right: 1px solid #dbdbdb;
  padding: 95px 5% 20px 5.8%
}

.menu .menu_right {
  width: 41.5%;
  padding: 142px 25px 20px 48px
}

.menu .menu_h1 {
  font-weight: 700;
  font-size: 1.375rem
}

.menu .menu_form {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 10px 0 65px
}

.menu .menu_form .suggest {
  width: calc(100% - 126px)
}

.menu .menu_form input {
  background-color: #f4f4f4;
  width: calc(100% - 126px);
  display: block;
  outline: none;
  border-radius: 5px 0 0 5px;
  border: 1px solid #dbdbdb;
  padding: 0 0 0 50px;
  font-size: 0.9375rem;
  line-height: normal
}

.menu .menu_form input:-ms-input-placeholder {
  color: #b8b8b8
}

.menu .menu_form input::placeholder {
  color: #b8b8b8
}

.menu .menu_form i {
  display: block;
  width: 16px;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 23px
}

.menu .menu_form button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 126px;
  background-color: #222;
  color: #fff;
  font-size: 0.875rem;
  height: 56px;
  font-weight: 700;
  border-radius: 0 5px 5px 0;
  transition: background-color .2s ease-in-out
}

.menu .menu_navArea {
  display: flex
}

.menu .menu_nav1:first-child {
  margin-right: 11%
}

.menu .menu_nav1 li {
  margin-bottom: 33px
}

.menu .menu_nav1 li a {
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: .05em;
  transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  padding-bottom: 2px
}

.menu .menu_nav2 {
  margin: 48px 0 48px
}

.menu .menu_nav2 li {
  margin-bottom: 4px
}

.menu .menu_nav2 li a {
  font-weight: 400;
  font-size: 0.75rem;
  letter-spacing: .08em
}

.menu .menu_nav2 li a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 8px;
  margin-left: 5px;
  background-size: contain;
  background-image: url(/assets/img/cmn/icon_blank_bk.svg)
}

.menu .menu_sns li {
  display: inline-block;
  margin-right: 15px
}

.menu .menu_sns li a {
  display: block
}

.menu .menu_lang {
  background-color: #ededed;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  border-radius: 24px;
  transition: background-color .3s ease-in-out;
  width: 62px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 33px
}

.menu_btn_wrapper {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  pointer-events: none;
  z-index: 20
}

.menu_btn {
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: all;
  background-color: #d3180c;
  width: 140px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  transition: background-color .3s ease-in-out, height .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.menu_hamburger {
  width: 48px;
  position: relative
}

.menu_hamburger:after,
.menu_hamburger:before {
  content: "";
  background-color: #fff;
  height: 1px;
  width: 100%;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  transition: background-color .4s cubic-bezier(0.4, 0, 0.2, 1), transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.menu_hamburger::before {
  transform: translate(-50%, -4px)
}

.menu_hamburger::after {
  transform: translate(-50%, 3px)
}

.menu-is-open .menu_btn {
  background-color: rgba(0, 0, 0, 0)
}

.menu-is-open .menu_btn .menu_hamburger:before,
.menu-is-open .menu_btn .menu_hamburger:after {
  background-color: #d3180c
}

.menu-is-open .menu_btn .menu_hamburger:before {
  transform: translate(-50%, -50%) rotate(45deg)
}

.menu-is-open .menu_btn .menu_hamburger:after {
  transform: translate(-50%, -50%) rotate(-45deg)
}

.scrolled .menu_btn {
  height: 100px
}

.footer {
  background-color: #212121;
  padding: 100px 20px 50px;
  position: relative
}

.footer .footer_inner {
  max-width: 1200px;
  margin: auto;
  display: flex;
  flex-wrap: wrap
}

.footer .footer_bnr {
  width: 255px;
  display: block;
  margin: 23px 0 17px
}

body.en .footer .footer_bnr {
  width: 121px
}

.footer .footer_sns li {
  display: inline-block;
  margin-right: 18px;
  vertical-align: middle
}

.footer .footer_sns li:last-child {
  margin-right: 0
}

.footer .footer_sns li a {
  display: block
}

.footer .footer_left {
  width: 287px;
  margin-right: 10.5%
}

.footer .footer_left .footer_left_links {
  margin-top: 40px
}

.footer .footer_left .footer_left_links li {
  margin-bottom: 4px
}

.footer .footer_left .footer_left_links li a {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: .1em
}

.footer .footer_left .footer_left_links li a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 8px;
  margin-left: 5px;
  background-size: contain;
  background-image: url(/assets/img/cmn/icon_blank.svg)
}

.footer .footer_right {
  display: flex
}

.footer .footer_product_h {
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 13px;
  display: inline-block;
  transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  padding-bottom: 2px
}

.footer .footer_product_list {
  width: 360px;
  margin-right: 60px;
  column-count: 2;
  column-gap: 70px
}

.footer .footer_product_list li {
  margin-bottom: 12px;
  line-height: 1.2;
  break-inside: avoid
}

.footer .footer_product_list li a {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: .06em;
  transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  padding-bottom: 2px
}

.footer .footer_product_nav li {
  margin-bottom: 18px
}

.footer .footer_product_nav li a {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  padding-bottom: 2px
}

.footer .footer_logo {
  width: 287px
}

body.en .footer .footer_logo {
  width: 305px
}

.footer .footer_small {
  display: block;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 400;
  width: 100%;
  margin-top: 50px;
  letter-spacing: .01em
}

.footer .footer_pagetop {
  position: absolute;
  right: 40px;
  bottom: 79px;
  width: 20px
}

.suggest {
  position: absolute;
  background-color: #fff;
  left: 0;
  top: 100%;
  z-index: 2;
  width: 100%;
  box-shadow: 0px 15px 21px 0px rgba(0, 0, 0, .12);
  border-radius: 0 0 5px 5px;
  display: none
}

.suggest .suggest_col {
  width: 60%
}

.suggest .suggest_col:first-child {
  border-right: 1px solid #dbdbdb;
  width: 40%
}

.suggest .suggest_h {
  background-color: #222;
  font-size: 0.8125rem;
  color: #fff;
  padding: 0px 15px;
  height: 42px;
  display: flex;
  align-items: center;
  line-height: 1.2
}

.suggest .suggest_h span span {
  display: inline-block
}

.suggest .suggest_list {
  max-height: 160px;
  overflow-y: scroll
}

.suggest .suggest_list li a {
  font-weight: 400;
  font-size: 0.875rem;
  padding: 10px 15px;
  display: block;
  transition: background-color .2s ease
}

.suggest .suggest_list li.observe_element {
  font-weight: 400;
  font-size: 0.875rem;
  padding: 10px 15px;
  display: block;
  color: #ccc;
  white-space: nowrap;
  transition: background-color .2s ease
}

.suggest .suggest_list li.observe_element span {
  display: inline-block;
  width: 20px;
  height: 2px;
  vertical-align: middle;
  background-position: 0 0;
  background-repeat: repeat-x;
  background-size: 4px 100%;
  background-image: linear-gradient(to right, transparent 2px, #ccc 4px);
  animation: animation 1.5s linear infinite
}

@keyframes animation {
  0% {
    width: 0
  }

  100% {
    width: 20px
  }
}

.suggest-container.active .suggest {
  display: flex
}

.sp_toggleBox {
  --height: 0
}

.sp_toggleBox .sp_toggleBox_content {
  position: relative
}

.sp_toggleBox .sp_toggleBox_btn {
  font-weight: 700;
  padding: 16px 35px 14px 0px;
  width: 100%;
  text-align: left;
  display: none;
  position: relative
}

.sp_toggleBox .sp_toggleBox_btn::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: -4px;
  width: 12px;
  height: 12px;
  background-image: url(/assets/img/cmn/icon_btn_plus.svg)
}

.sp_toggleBox .sp_toggleBox_closeBtn {
  margin-bottom: 20px
}

.pc_toggleBox {
  --height: 0
}

.pc_toggleBox .pc_toggleBox_content {
  position: relative
}

.tab1 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: 1px solid #dbdbdb;
  margin: 38px 0 0
}

.tab1 .tab {
  width: 48.8%;
  transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0px 0px 0px 0px rgba(33, 33, 33, .12)
}

.tab1 .tab a,
.tab1 .tab span {
  font-weight: 700;
  font-size: 1rem;
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  height: 73px;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0);
  border-top-color: #dbdbdb;
  transition: border-color .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.tab1 .tab.active {
  border-top: 3px solid #d3180c;
  box-shadow: 0px -15px 21px 0px rgba(33, 33, 33, .12)
}

.tab1 .tab.active a,
.tab1 .tab.active span {
  border-top-color: #dbdbdb;
  border-left: 1px solid #dbdbdb;
  border-right: 1px solid #dbdbdb;
  position: relative
}

.tab1 .tab.active a::after,
.tab1 .tab.active span::after {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
  bottom: -2px;
  left: 0
}

.tab1_container {
  display: flex;
  flex-wrap: wrap;
  padding: 28px 0 0px
}

.js-tabContainer {
  position: relative
}

.js-tabContent {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%
}

.detail_container {
  position: relative;
  margin-left: auto;
  margin-right: auto
}

.detail_section {
  max-width: 760px;
  margin: 10px auto 60px
}

.detail_section2 {
  margin: 10px auto 60px
}

.detail_section2:last-child {
  margin-bottom: 0
}

.detail_box1 {
  border: 1px solid #dbdbdb;
  padding: 35px 32px;
  margin: 32px auto
}

.detail_p_bold {
  font-size: 0.9375rem;
  font-weight: 700;
  margin: 16px auto
}

.detail_layout1 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 20px 0 32px
}

.detail_layout1:first-child {
  margin-top: 0
}

.detail_layout1:last-child {
  margin-bottom: 0
}

.detail_layout1 .detail_layout1_img {
  width: 36.7%
}

.detail_layout1 .detail_layout1_txt {
  width: 59%;
  padding-top: 2px
}

.detail_head {
  padding-bottom: 25px;
  border-bottom: 2px solid #dbdbdb;
  margin-bottom: 80px
}

.detail_head .detail_tagList {
  margin-top: 10px
}

.detail_head .news_list_txt {
  margin-top: 10px
}

.detail_head .news_list_txt .news_list_date {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
  color: #b6b7b7
}

.detail_head .news_list_txt .news_list_cat {
  font-size: 0.75rem;
  font-weight: 400;
  border-radius: 12px;
  border: 1px solid #1e1b1b;
  padding: 4px 16px;
  margin: 0 15px 0 20px
}

.detail_h1 {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700
}

.detail_h2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 10px;
  margin-bottom: 30px;
  border-bottom: 1px solid #dbdbdb;
  position: relative
}

.detail_h2::after {
  content: "";
  background-color: #d3180c;
  height: 1px;
  width: 56px;
  left: 0;
  bottom: 0;
  position: absolute
}

.detail_h3 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 15px
}

.detail_h4 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 13px
}

.detail_h_boxed {
  border: 1px solid #212121;
  padding: 8px 12px;
  font-size: 0.75rem;
  font-weight: 700;
  margin: 14px 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content
}

.cmn_div {
  margin-bottom: 20px
}

.cmn_div:last-child {
  margin-bottom: 0
}

.detail_dl {
  margin: 20px 0 30px
}

.detail_dl dt {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px
}

.detail_dl dd {
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 2;
  margin-bottom: 20px
}

.detail_imgFull {
  margin-top: 20px;
  margin-bottom: 28px
}

.detail_imgFull:last-child {
  margin-bottom: 0
}

.detail_imgXL {
  max-width: 800px;
  margin: 30px auto
}

.detail_video_container {
  width: 100%;
  max-width: 800px;
  margin: 30px auto
}

.detail_greyBox {
  background-color: #f4f4f4;
  padding: 30px 32px;
  max-width: 760px;
  margin: 10px auto 100px
}

.detail_tagList {
  margin-bottom: -7px
}

.detail_tagList li {
  display: inline-block;
  font-weight: bold;
  font-size: 0.75rem;
  line-height: 14px;
  border-radius: 5px;
  background: #fff;
  border: 1px solid #dbdbdb;
  padding: 5px 7px;
  margin-right: 7px;
  margin-bottom: 7px
}

.detail_nav {
  border-bottom: 1px solid #dbdbdb;
  margin: 10px auto 60px;
  padding-bottom: 60px
}

.detail_nav:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0
}

.detail_nav .detail_nav_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 760px;
  margin: 0 auto 0
}

.detail_nav .detail_nav_link {
  position: relative;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3
}

.detail_nav .detail_nav_prev::after,
.detail_nav .detail_nav_next::after {
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 16px
}

.detail_nav .detail_nav_prev {
  padding-left: 25px
}

.detail_nav .detail_nav_prev::after {
  content: "";
  background-image: url(/assets/img/cmn/icon_btn_red_left.svg);
  left: 0
}

.detail_nav .detail_nav_next {
  padding-right: 25px
}

.detail_nav .detail_nav_next::after {
  content: "";
  background-image: url(/assets/img/cmn/icon_btn_red.svg);
  right: 0
}

.detail_nav .detail_nav_list {
  padding-left: 30px
}

.detail_nav .detail_nav_list::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 21px;
  height: 12px;
  left: 0;
  background-image: url(/assets/img/cmn/icon_list.svg)
}

.detail_ttlArea {
  padding: 33px 20px 38px;
  border-top: 2px solid #d3180c;
  border-bottom: 1px solid #dbdbdb
}

.detail_ttlArea .detail_ttlArea_inner {
  margin: auto;
  position: relative
}

.detail_ttlArea .detail_ttlArea_h1 {
  font-size: 2.25rem;
  font-weight: 700
}

.detail_ttlArea .detail_ttlArea_h2 {
  font-size: 1.25rem;
  font-weight: 400;
  margin-top: 3px
}

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

.detail_layout2 .detail_layout2_img {
  width: 39.7%;
  flex-shrink: 0;
  padding-top: 5px
}

.detail_layout2 .detail_layout2_btnArea .cmn_btn4 {
  width: 46.2%
}

.detail_layout3 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 20px 0 32px
}

.detail_layout3 .detail_layout3_p {
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 1.8
}

.detail_layout4 {
  display: flex;
  justify-content: space-between;
  margin: 20px 0 32px;
  border: 1px solid #dbdbdb
}

.detail_layout4:first-child {
  margin-top: 0
}

.detail_layout4:last-child {
  margin-bottom: 0
}

.detail_layout4 .detail_layout4_img {
  flex-shrink: 0
}

.detail_layout4 .detail_layout4_txt {
  padding: 20px 30px
}

.detail_tableContainer {
  position: relative;
  width: 100%;
  margin: 30px auto 30px
}

.detail_tableWrapper>table {
  overflow-wrap: normal;
  word-break: break-all;
  line-height: 1.5714285714
}

.detail_tableWrapper>table th {
  background-color: #f4f4f4;
  font-weight: 700
}

.detail_tableWrapper>table th,
.detail_tableWrapper>table td {
  border: 1px solid #dbdbdb
}

.detail_tableWrapper>table th,
.detail_tableWrapper>table td {
  padding: 14px 15px
}

.detail_table1 {
  width: 100%
}

.detail_table1 th,
.detail_table1 td {
  border: 1px solid #dbdbdb
}

.detail_table1 th {
  background-color: #f4f4f4;
  font-size: 0.9375rem;
  font-weight: 700;
  padding: 11px 15px
}

.detail_table1 th:first-child {
  width: 150px
}

.detail_table1 td {
  font-size: 0.875rem;
  font-weight: 400;
  padding: 14px 15px;
  vertical-align: top
}

.detail_table1 td:first-child {
  font-weight: 700
}

.detail_table2 {
  text-align: left;
  font-size: 0.875rem
}

.detail_table2 td:first-child {
  font-weight: 700;
  background-color: #f4f4f4
}

.detail_table2 td {
  border: 1px solid #dbdbdb;
  padding: 11px 15px
}

.detail_table3 {
  width: 100%;
  text-align: left
}

.detail_table3 th {
  background-color: #f4f4f4;
  font-weight: 700
}

.detail_table3 th,
.detail_table3 td {
  border: 1px solid #dbdbdb;
  padding: 11px 15px;
  width: 50%
}

.detail_table4 {
  width: 100%
}

.detail_table4 th,
.detail_table4 td {
  border: 1px solid #dbdbdb
}

.detail_table4 th {
  background-color: #f4f4f4;
  font-size: 0.9375rem;
  font-weight: 700;
  padding: 11px 15px;
  text-align: left
}

.detail_table4 td {
  font-size: 0.875rem;
  font-weight: 400;
  padding: 14px 15px;
  vertical-align: top
}

.detail_table4 td:first-child {
  font-weight: 700;
  background-color: #f4f4f4
}

.phone_table {
  text-align: left;
  width: 100%;
  margin-bottom: 20px
}

.phone_table th {
  font-weight: 700;
  background-color: #f4f4f4
}

.phone_table th,
.phone_table td {
  border: 1px solid #dbdbdb;
  padding: 11px 15px
}

.simplebar-track {
  background-color: #dbdbdb;
  border-radius: 7px
}

.simplebar-scrollbar.simplebar-visible:before {
  background: #5c5c5c
}

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

.news_lead {
  font-weight: 400;
  font-size: 0.9375rem;
  margin-bottom: 40px
}

.news_select {
  border: 1px solid #dbdbdb;
  padding: 40px 40px
}

.news_select .news_select_h {
  font-weight: 700;
  font-size: 1.125rem
}

.news_select .news_select_body {
  width: 100%
}

.news_select .news_select_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -20px
}

.news_select .news_select_list:first-child {
  padding-bottom: 20px
}

.news_select .news_select_list:last-child {
  padding-top: 20px;
  border-top: 1px solid #dbdbdb
}

.news_select .news_select_list li {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 1.5;
  margin-bottom: 20px
}

.news_select .news_select_list li input {
  width: 20px;
  height: 20px;
  left: 0;
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  z-index: 2;
  opacity: 0;
  cursor: pointer
}

.news_select .news_select_list li input:checked~.news_select_checkbox {
  background-image: url("/assets/img/cmn/icon_checkbox_checked.svg")
}

.news_select .news_select_list li label {
  font-size: 0.875rem;
  font-weight: 700
}

.news_select .news_select_checkbox {
  width: 20px;
  height: 20px;
  left: 0;
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("/assets/img/cmn/icon_checkbox.svg");
  z-index: 1
}

.news_list {
  margin-top: 38px
}

.news_list li {
  border-top: 1px solid #dbdbdb
}

.news_list li:last-child {
  border-bottom: 1px solid #dbdbdb
}

.news_list li a {
  transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  display: block;
  padding: 27px 60px 27px 0;
  background-color: #fff;
  border-radius: 5px;
  transform-origin: center top
}

.news_list .news_list_txt {
  transition: transform .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  will-change: transform
}

.news_list .news_list_date {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
  color: #b6b7b7
}

.news_list .news_list_cat {
  font-size: 0.75rem;
  font-weight: 400;
  border-radius: 12px;
  border: 1px solid #1e1b1b;
  padding: 0 16px;
  margin: 0 0 0 20px;
  flex-shrink: 0
}

.news_list .news_list_title {
  position: relative;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: .01em;
  font-feature-settings: normal;
  display: inline;
  line-height: 1.9
}

.news_list .news_list_title em {
  position: relative;
  display: inline
}

.cmn_card1 {
  width: 25%;
  display: block;
  border-radius: 5px;
  position: relative;
  margin-bottom: 7px;
  cursor: pointer
}

.cmn_card1::after {
  content: "";
  position: absolute;
  transform-origin: center top;
  transform: translate(-50%, 10px) scale(0.91, 0.95);
  left: 50%;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  box-shadow: 0px 0px 37.2px 2.8px rgba(33, 33, 33, .16);
  opacity: 0;
  transition: transform .2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card1 .cmn_card1_frame {
  width: 100%;
  height: 165px;
  padding: 10px 12px 0;
  will-change: padding;
  transition: padding .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card1 .cmn_card1_img {
  width: 100%;
  height: 100%;
  border-radius: 5px 5px 5px 5px;
  overflow: hidden
}

.cmn_card1 .cmn_card1_h {
  font-weight: 700;
  font-size: 1rem;
  text-align: center;
  padding: 10px 12px 18px;
  line-height: 1.5
}

.cmn_card1 .cmn_card1_h span {
  font-weight: 400;
  font-size: 0.875rem;
  display: block;
  line-height: 1.1;
  margin-top: 5px
}

.cmn_card2 {
  width: 280px;
  border-radius: 5px;
  box-sizing: border-box;
  display: block;
  position: relative;
  padding: 0 0 1px 0;
  height: 100%;
  box-shadow: 0px 0px 0px 0px rgba(33, 33, 33, .16);
  transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card2:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #dbdbdb;
  border-radius: 5px
}

.cmn_card2 .cmn_card2_frame {
  width: 100%;
  height: 186px;
  border-radius: 5px 5px 0 0;
  position: relative;
  overflow: hidden
}

.cmn_card2 .cmn_card2_img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(1.00001);
  transition: transform .3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card2 .cmn_card2_txtArea {
  padding: 20px;
  position: relative;
  min-height: 235px;
  border-radius: 0 0 5px 5px;
  transition: border-color .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card2 .cmn_card2_h {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 12px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden
}

.cmn_card2 .cmn_card2_p {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.9;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden
}

.cmn_card3 {
  height: auto;
  min-height: 78px;
  width: 31.6%;
  border-radius: 5px;
  border: 1px solid #dbdbdb;
  position: relative;
  font-size: 0.9375rem;
  font-weight: 400;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  padding: .5em 35px .5em 25px;
  line-height: 1.5;
  transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s, border-color .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  margin: 0 2.4% 24px 0
}

.cmn_card3:nth-child(3n) {
  margin-right: 0
}

.cmn_card3::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 15px;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.cmn_card4 {
  width: 308px;
  border-radius: 5px;
  box-sizing: border-box;
  display: block;
  position: relative;
  padding: 0 0 1px 0;
  height: 100%
}

.cmn_card4:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #dbdbdb;
  border-radius: 5px
}

.cmn_card4 .cmn_card4_frame {
  width: 100%;
  height: 205px;
  border-radius: 5px 5px 0 0;
  position: relative;
  overflow: hidden
}

.cmn_card4 .cmn_card4_img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(1.00001);
  transition: transform .3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card4 .cmn_card4_txtArea {
  padding: 20px;
  position: relative;
  min-height: 235px;
  border-radius: 0 0 5px 5px;
  transition: border-color .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card4 .cmn_card4_h {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 12px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden
}

.cmn_card4 .cmn_card4_p {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.9;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden
}

.cmn_card5 {
  display: flex;
  flex-direction: column;
  width: 308px;
  border-radius: 5px;
  box-sizing: border-box;
  position: relative;
  padding: 0 0 1px 0
}

.cmn_card5:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #dbdbdb;
  border-radius: 5px
}

.cmn_card5 .cmn_card5_frame {
  width: 100%;
  border-radius: 5px 5px 0 0;
  position: relative;
  overflow: hidden
}

.cmn_card5 .cmn_card5_img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(1.00001);
  transition: transform .3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card5 .cmn_card5_txtArea {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 16px 20px 20px;
  position: relative;
  border-radius: 0 0 5px 5px;
  transition: border-color .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card5 .cmn_card5_h {
  flex-grow: 1;
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 8px
}

.cmn_card5 .cmn_card5_p {
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 1em;
  display: flex;
  align-items: center
}

.cmn_card5 .cmn_card5_p::before,
.cmn_card5 .cmn_card5_p::after {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain
}

.cmn_card5 .cmn_card5_p::before {
  width: 12px;
  height: 15px;
  margin-right: 6px;
  background-image: url(/assets/img/cmn/icon_pdf_bk.svg)
}

.cmn_card5 .cmn_card5_p::after {
  width: 16px;
  height: 16px;
  margin-left: 6px;
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.cmn_card6 {
  position: relative;
  display: block;
  height: 80px;
  font-size: 0.9375rem;
  line-height: 1.4666666667;
  border-radius: 5px
}

.cmn_card6:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #dbdbdb;
  border-radius: 5px
}

.cmn_card6 .cmn_card6_img {
  position: absolute;
  left: 0;
  top: 0;
  width: 80px;
  border-radius: 5px 0 0 5px;
  overflow: hidden
}

.cmn_card6 .cmn_card6_inner {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 35px 0 0;
  border-radius: 5px;
  padding-left: 92px;
  transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s, border-color .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s
}

.cmn_card6 .cmn_card6_inner::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 15px;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.cmn_card_phone {
  border-radius: 5px;
  text-align: center;
  overflow: hidden
}

.cmn_card_phone dt,
.cmn_card_phone dd {
  font-weight: 700
}

.cmn_card_phone dt {
  background-color: #d3180c;
  color: #fff
}

.cmn_card_phone dd {
  border: 1px solid #dbdbdb
}

.cmn_card7 {
  width: 424px;
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column
}

.cmn_card7:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #dbdbdb
}

.cmn_card7 .cmn_card7_frame {
  width: 100%;
  height: 282px;
  position: relative;
  overflow: hidden
}

.cmn_card7 .cmn_card7_img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(1.00001);
  transition: transform .3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card7 .cmn_card7_txtArea {
  padding: 20px;
  position: relative;
  border-radius: 0 0 5px 5px;
  transition: border-color .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_card7 .cmn_card7_h {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 12px;
  line-height: 1.45
}

.cmn_card7 .cmn_card7_p {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.9
}

a.cmn_card7 {
  border-radius: 5px
}

a.cmn_card7::after {
  border-radius: 5px
}

a.cmn_card7 .cmn_card7_frame {
  border-radius: 5px 5px 0 0
}

a.cmn_card7 .cmn_card7_txtArea {
  border-radius: 0 0 5px 5px
}

a.cmn_card7 .cmn_card7_p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden
}

.cmn_fixedBtn {
  position: fixed;
  background-color: #fff;
  z-index: 10
}

.cmn_fixedBtn .cmn_fixedBtn_link {
  color: #fff;
  font-weight: 700;
  background-color: #d3180c;
  position: relative;
  display: flex;
  align-items: center;
  transition: background-color .3s ease-in-out
}

.cmn_fixedBtn .cmn_fixedBtn_link::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 10px;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_bk.svg)
}

.cmn_btn1 {
  color: #fff;
  height: 64px;
  border-radius: 5px;
  position: relative;
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: auto;
  transition: background-color .3s ease-in-out;
  overflow-wrap: normal;
  word-break: break-all
}

.cmn_btn1::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 15px;
  width: 16px;
  height: 16px
}

.cmn_btn1.arrow-v::after {
  transform: translateY(-50%) rotate(90deg)
}

.cmn_btn1.black {
  background-color: #222
}

.cmn_btn1.black::after {
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.cmn_btn1.red {
  background-color: #d3180c
}

.cmn_btn1.red::after {
  background-image: url(/assets/img/cmn/icon_btn_bk.svg)
}

.cmn_btn1.no-arrow::after {
  content: none
}

.cmn_btn1.size-xxl {
  height: 110px;
  font-size: 1.625rem;
  letter-spacing: .09em
}

.cmn_btn1.size-xl {
  width: 650px;
  height: 80px;
  font-size: 1.125rem;
  letter-spacing: .09em
}

.cmn_btn1.size-ml {
  width: 220px;
  height: 56px;
  font-size: 0.9375rem;
  letter-spacing: .09em
}

.cmn_btn1.size-m {
  width: 220px;
  height: 48px;
  font-size: 0.9375rem;
  letter-spacing: .09em
}

.cmn_btn1.textAlign-left {
  justify-content: flex-start;
  padding-left: 25px
}

.cmn_btn1.align-left {
  margin: 0
}

.cmn_btn2 {
  font-size: 0.9375rem;
  font-weight: 700;
  height: 38px;
  border: 1px solid #dbdbdb;
  border-radius: 20px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  padding-left: 30px;
  position: relative;
  transition: all .2s ease-in-out
}

.cmn_btn2:last-child {
  margin-bottom: 0px
}

.cmn_btn2::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 13px;
  width: 6px;
  height: 12px;
  background-image: url(/assets/img/cmn/icon_caret_red.svg)
}

.cmn_btn3 {
  display: block;
  text-align: center;
  background-color: #d3180c;
  position: relative;
  line-height: 1.3;
  transition: background-color .3s ease-in-out
}

.cmn_btn3 span {
  font-weight: 700;
  color: #fff;
  position: relative;
  display: block
}

.cmn_btn3 span::before {
  content: ""
}

.cmn_btn3_pdf span::before {
  width: 13px;
  height: 16px;
  top: -26px;
  background-image: url(/assets/img/cmn/icon_pdf.svg)
}

.cmn_btn3_mail span::before {
  background-image: url(/assets/img/cmn/icon_mail.svg)
}

.cmn_btn4 {
  background-color: #d3180c;
  color: #fff;
  width: 280px;
  height: 56px;
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  border-radius: 5px;
  padding: 0 40px 0 24px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
  transition: background-color .3s ease-in-out
}

.cmn_btn4.icon-mail,
.cmn_btn4.icon-pdf {
  padding-left: 42px
}

.cmn_btn4:last-child {
  margin-bottom: 0
}

.cmn_btn4::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 16px;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_bk.svg)
}

.cmn_btn4::before {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  left: 19px
}

.cmn_btn4.icon-mail::before {
  width: 16px;
  height: 13px;
  background-image: url(/assets/img/cmn/icon_mail.svg)
}

.cmn_btn4.icon-pdf::before {
  width: 13px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_pdf.svg)
}

.cmn_btn5 {
  background-color: #d3180c;
  color: #fff;
  width: 280px;
  height: 56px;
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  border-radius: 5px;
  padding: 0 40px 0 42px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
  transition: background-color .3s ease-in-out
}

.cmn_btn5:last-child {
  margin-bottom: 0
}

.cmn_btn5::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 16px;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_bk.svg)
}

.cmn_btn5::before {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  left: 19px
}

.cmn_btn5.icon-mail::before {
  width: 16px;
  height: 13px;
  background-image: url(/assets/img/cmn/icon_mail.svg)
}

.cmn_btn5.icon-pdf::before {
  width: 13px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_pdf.svg)
}

.cmn_video_modal_btn {
  position: relative;
  display: block;
  width: 100%
}

.cmn_video_modal_btn::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 90px;
  height: 90px;
  background-image: url(/assets/img/cmn/icon_play_video.svg);
  background-size: contain;
  transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.cmn_video_modal_btn:focus-visible {
  outline: #222 solid 1px
}

.cmn_video_modal_btn:focus-visible::after {
  transform: scale(1.05)
}

.cmn_btn6 {
  background-color: #d3180c;
  color: #fff;
  display: flex;
  align-items: center;
  border-radius: 5px;
  font-weight: 700;
  position: relative;
  transition: background-color .3s ease-in-out;
  padding: 20px 50px 20px 24px;
  line-height: 1.3333333333
}

.cmn_btn6::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 8px;
  margin-left: 10px;
  background-size: contain;
  background-image: url(/assets/img/cmn/icon_blank.svg);
  flex-shrink: 0
}

.cmn_btn7 {
  background-color: #d3180c;
  color: #fff;
  display: flex;
  align-items: center;
  border-radius: 5px;
  font-weight: 700;
  position: relative;
  transition: background-color .3s ease-in-out;
  padding: 20px 50px 20px 24px;
  line-height: 1.3333333333;
  width: 100%
}

.cmn_btn7::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 8px;
  margin-left: 10px;
  background-size: contain;
  background-image: url(/assets/img/cmn/icon_blank.svg);
  flex-shrink: 0
}

.cmn_btn_large {
  display: block;
  text-align: center;
  padding: 20px 0;
  border-radius: 5px;
  transition: background-color .3s ease-in-out
}

.cmn_btn_large.red {
  background-color: #d3180c;
  color: #fff
}

.cmn_btn_large[target=_blank] .cmn_btn_large_main::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 8px;
  margin-left: 5px;
  background-size: contain;
  background-image: url(/assets/img/cmn/icon_blank.svg)
}

.cmn_btn_large .cmn_btn_large_main {
  font-weight: 700;
  margin-bottom: 6px
}

.cmn_btn_large .cmn_btn_large_sub {
  font-size: 0.75rem
}

.cmn-ok-btn {
  position: relative;
  display: block;
  background-color: #222;
  color: #fff;
  font-size: 0.875rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .02em;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  border-radius: 5px
}

.cmn_contact {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  background-color: #d3180c;
  height: 250px;
  width: 100%;
  position: relative;
  overflow: hidden;
  transform: translate3d(0, 0, 0)
}

.cmn_contact:after,
.cmn_contact:before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(100%);
  will-change: transform;
  transition: transform .6s cubic-bezier(0.77, 0, 0.18, 1)
}

.cmn_contact:after {
  background-color: #222;
  transition-delay: .1s
}

.cmn_contact:before {
  background-color: #d5d9dd
}

.cmn_contact .cmn_contact_h {
  color: #fff;
  text-align: center;
  z-index: 2;
  transition: color .3s ease-in-out .3s
}

.cmn_contact .cmn_contact_h em {
  font-size: 2.25rem;
  font-weight: 700;
  display: inline-block;
  position: relative;
  letter-spacing: .08em;
  padding-right: 25px
}

.cmn_contact .cmn_contact_h em i {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  display: block;
  right: 0;
  width: 16px
}

.cmn_contact .cmn_contact_h em i svg circle {
  fill: #222;
  transition: fill .3s ease-in-out .3s
}

.cmn_contact .cmn_contact_h em i svg path {
  fill: #fff;
  transition: fill .3s ease-in-out .3s
}

.cmn_contact .cmn_contact_h span {
  font-size: 0.9375rem;
  font-weight: 400;
  display: block;
  margin-top: 5px
}

.cmn_slider1 {
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 485px;
  max-width: 1560px;
  margin-top: -30px;
  margin-left: auto;
  margin-right: auto
}

.cmn_slider1 .swiper {
  padding: 30px 0
}

.cmn_slider1 .cmn_slider1_slide {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content
}

.cmn_slider1 .cmn_slider1_nav {
  pointer-events: none;
  max-width: 1060px;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

.cmn_slider1 .cmn_slider1_nav button {
  pointer-events: auto;
  height: 64px;
  width: 64px;
  background-color: #222;
  border-radius: 50%;
  opacity: .9;
  position: relative;
  transition: opacity .3s ease-in-out
}

.cmn_slider1 .cmn_slider1_nav button::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 11px;
  height: 23px
}

.cmn_slider1 .cmn_slider1_mask {
  pointer-events: none;
  height: 100%;
  width: 1564px;
  transform: translateX(-50%);
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 2
}

.cmn_slider1 .cmn_slider1_mask::after,
.cmn_slider1 .cmn_slider1_mask::before {
  content: "";
  background-color: #fff;
  position: absolute;
  width: 180px;
  height: 100%;
  top: 0
}

.cmn_slider1 .cmn_slider1_mask::before {
  left: 0;
  background: linear-gradient(90deg, rgb(255, 255, 255) 5%, rgba(255, 255, 255, 0) 100%)
}

.cmn_slider1 .cmn_slider1_mask::after {
  right: 0;
  background: linear-gradient(-90deg, rgb(255, 255, 255) 5%, rgba(255, 255, 255, 0) 100%)
}

.cmn_slider1 .cmn_slider_next::after {
  background-image: url(/assets/img/cmn/icon_caret.svg);
  transform: translate(-50%, -50%)
}

.cmn_slider1 .cmn_slider_prev::after {
  background-image: url(/assets/img/cmn/icon_caret.svg);
  transform: translate(-50%, -50%) rotate(180deg)
}

.cmn_slider1.deactivated .cmn_slider1_nav {
  display: none
}

.cmn_slider2 {
  width: 100%;
  position: relative;
  height: 485px
}

.cmn_slider2 .swiper {
  padding: 30px 0;
  overflow: visible !important
}

.cmn_slider2 .cmn_slider2_slide {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content
}

.cmn_slider2 .cmn_slider2_nav {
  pointer-events: none;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 64px);
  z-index: 5;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

.cmn_slider2 .cmn_slider2_nav button {
  pointer-events: auto;
  height: 64px;
  width: 64px;
  background-color: #222;
  border-radius: 50%;
  opacity: .9;
  position: relative;
  transition: opacity .3s ease-in-out
}

.cmn_slider2 .cmn_slider2_nav button::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 11px;
  height: 23px
}

.cmn_slider2 .cmn_slider2_nav button.swiper-button-disabled {
  opacity: 0
}

.cmn_slider2 .cmn_slider_next::after {
  background-image: url(/assets/img/cmn/icon_caret.svg);
  transform: translate(-50%, -50%)
}

.cmn_slider2 .cmn_slider_prev::after {
  background-image: url(/assets/img/cmn/icon_caret.svg);
  transform: translate(-50%, -50%) rotate(180deg)
}

.cmn_slider2.deactivated .cmn_slider2_nav {
  display: none
}

.cmn_slider3 {
  width: 100%;
  position: relative;
  margin-top: -30px
}

.cmn_slider3 .swiper {
  padding: 30px 30px
}

.cmn_slider3 .cmn_slider3_slide {
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto
}

.cmn_slider3 .cmn_slider3_nav {
  pointer-events: none;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

.cmn_slider3 .cmn_slider3_nav button {
  pointer-events: auto;
  height: 40px;
  width: 40px;
  background-color: #222;
  border-radius: 50%;
  opacity: .9;
  position: relative;
  transition: opacity .3s ease-in-out
}

.cmn_slider3 .cmn_slider3_nav button::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 9px;
  height: 16px
}

.cmn_slider3 .cmn_slider3_nav button.swiper-button-disabled {
  opacity: 0
}

.cmn_slider3 .cmn_slider_next::after {
  background-image: url(/assets/img/cmn/icon_caret.svg);
  transform: translate(-50%, -50%)
}

.cmn_slider3 .cmn_slider_prev::after {
  background-image: url(/assets/img/cmn/icon_caret.svg);
  transform: translate(-50%, -50%) rotate(180deg)
}

.cmn_slider3.deactivated .cmn_slider3_nav {
  display: none
}

.cmn_link1 {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  position: absolute;
  right: 25px;
  top: 0;
  margin-right: 30px;
  transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.cmn_link1::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: -27px
}

.cmn_link1.icon-arrow::after {
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.cmn_link1.icon-link {
  margin-right: 20px
}

.cmn_link1.icon-link::after {
  width: 11px;
  height: 8px;
  right: -20px;
  background-image: url(/assets/img/cmn/icon_link.svg)
}

a.icon-blank:after,
a.icon-blank-bk:after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 8px;
  margin-left: 5px;
  background-size: contain
}

a.icon-blank:after {
  background-image: url(/assets/img/cmn/icon_blank.svg)
}

a.icon-blank-bk:after {
  background-image: url(/assets/img/cmn/icon_blank_bk.svg)
}

.cmn-text-link {
  color: #d3180c;
  text-decoration: underline;
  font-weight: inherit
}

.cmn-arrow-link {
  position: relative;
  color: #d3180c;
  text-decoration: underline;
  font-weight: inherit
}

.cmn-arrow-link::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: -15px;
  width: 6px;
  height: 12px;
  background-image: url("/assets/img/cmn/icon_caret_red.svg");
  transition: right .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.cmn_mv {
  height: 240px;
  width: 100%;
  background-color: #222;
  padding: 0 15px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover
}

.cmn_mv .cmn_mv_inner {
  max-width: 1200px;
  margin: auto;
  height: 100%;
  display: flex;
  align-items: center
}

.cmn_mv .cmn_mv_h1 {
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.5
}

.cmn_mv .cmn_mv_h1 span {
  font-size: 0.9375rem;
  font-weight: 400;
  display: block;
  letter-spacing: .1em
}

.cmn_breadcrumbs {
  padding: 5px 20px;
  background-color: #f4f4f4;
  font-size: 0.8125rem
}

.cmn_breadcrumbs .cmn_breadcrumbs_list {
  max-width: 1260px;
  margin: auto
}

.cmn_breadcrumbs .cmn_breadcrumbs_list li {
  display: inline-block;
  margin-left: 15px;
  padding-left: 15px;
  position: relative;
  max-width: 100%
}

.cmn_breadcrumbs .cmn_breadcrumbs_list li::before {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 6px;
  height: 10px;
  background-image: url("/assets/img/cmn/icon_caret_bk.svg")
}

.cmn_breadcrumbs .cmn_breadcrumbs_list li span {
  color: #d3180c
}

.cmn_breadcrumbs .cmn_breadcrumbs_list li:last-child a,
.cmn_breadcrumbs .cmn_breadcrumbs_list li:last-child span {
  color: #d3180c;
  font-weight: 400
}

.cmn_breadcrumbs .cmn_breadcrumbs_list li:first-child {
  margin: 0;
  padding: 0
}

.cmn_breadcrumbs .cmn_breadcrumbs_list li:first-child::before {
  display: none
}

.cmn_list1 {
  display: flex;
  flex-wrap: wrap;
  column-gap: 88px
}

.cmn_list1 li a {
  padding: 13px 30px 13px 0;
  border-bottom: 1px solid #dbdbdb;
  font-size: 1rem;
  position: relative;
  transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s
}

.cmn_list1 li a span {
  font-weight: 400;
  transition: transform .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  display: inline-block
}

.cmn_list1 li a::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 13px;
  width: 6px;
  height: 12px;
  background-image: url(/assets/img/cmn/icon_caret_red.svg)
}

.cmn_list2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: auto
}

.cmn_list2 .cmn_list2_item {
  display: block;
  border-radius: 6px;
  border: 1px solid #dbdbdb;
  position: relative;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, .16);
  transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_list2 .cmn_list2_item .cmn_list2_item_h {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 7px
}

.cmn_list2 .cmn_list2_item .cmn_list2_item_p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8
}

.cmn_list2 .cmn_list2_item .cmn_list2_item_btn {
  position: absolute;
  bottom: 20px;
  right: 30px;
  padding-right: 25px;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: .1em
}

.cmn_list2 .cmn_list2_item .cmn_list2_item_btn::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 0;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.cmn_list3_item {
  display: flex;
  flex-direction: column;
  border-radius: 6px;
  padding: 23px 31px 58px;
  border: 1px solid #dbdbdb;
  position: relative;
  width: 100%;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, .16);
  transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cmn_list3_item .cmn_list3_item_inner {
  flex-grow: 1
}

.cmn_list3_item .cmn_list3_item_h {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 7px
}

.cmn_list3_item .cmn_list3_item_p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8
}

.cmn_list3_item .cmn_list3_item_btn {
  position: absolute;
  bottom: 20px;
  right: 30px;
  padding-right: 25px;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: .1em
}

.cmn_list3_item .cmn_list3_item_btn::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 0;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/cmn/icon_btn_red.svg)
}

.cmn_layout1 {
  margin-top: 43px
}

.cmn_layout1 .cmn_layout1_item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 45px
}

.cmn_layout1 .cmn_layout1_imgArea {
  width: 40%;
  padding-top: 7px
}

.cmn_layout1 .cmn_layout1_imgArea img {
  border-radius: 5px
}

.cmn_layout1 .cmn_layout1_txtArea {
  width: 57%
}

.cmn_layout1 .cmn_layout1_h {
  font-size: 1.5rem;
  font-weight: 700
}

.cmn_layout1 .cmn_layout1_p {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.8;
  margin: 2px 0 15px
}

.cmn_layout1 .cmn_layout1_p.detail {
  min-height: 162px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden
}

.cmn_layout2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 880px;
  margin: auto
}

.cmn_layout2 .cmn_layout2_imgArea {
  position: relative;
  width: 37.6%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding-top: 3px;
  border-radius: 5px
}

.cmn_layout2 .cmn_layout2_imgArea:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #dbdbdb;
  border-radius: 5px
}

.cmn_layout2 .cmn_layout2_txtArea {
  width: 55%
}

.cmn_layout2 .cmn_layout2_cap {
  border-top-width: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3333333333;
  padding: 15px 20px 17px
}

.cmn_layout2 .cmn_layout2_dl {
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  background-color: #d3180c;
  padding: 14px 10px 15px 45px;
  border-radius: 5px;
  min-width: 220px;
  position: relative;
  margin-top: 27px;
  display: inline-block;
  transition: background-color .3s ease-in-out
}

.cmn_layout2 .cmn_layout2_dl::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  left: 25px;
  width: 12px;
  height: 15px;
  background-image: url(/assets/img/cmn/icon_pdf.svg)
}

.cmn_layout2 .cmn_layout2_block {
  padding-bottom: 40px;
  border-bottom: 1px solid #dbdbdb;
  margin-bottom: 30px
}

.cmn_layout2 .cmn_layout2_block:last-child {
  padding-bottom: 0;
  border: none;
  margin-bottom: 0
}

.cmn_layout2 .cmn_layout2_h {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 16px
}

.cmn_layout2 .cmn_layout2_pdf_dl {
  color: #fff;
  font-weight: 700;
  background-color: #d3180c;
  padding: 10px 10px 10px 45px;
  border-radius: 5px;
  width: 250px;
  position: relative;
  margin-top: 27px;
  display: inline-block;
  transition: background-color .3s ease-in-out
}

.cmn_layout2 .cmn_layout2_pdf_dl::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  left: 25px;
  width: 12px;
  height: 15px;
  background-image: url(/assets/img/cmn/icon_pdf.svg)
}

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

.cmn_layout3:last-child {
  margin-bottom: 0
}

.cmn_layout3 .cmn_btn1 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  padding-right: 40px;
  padding-top: 10px;
  padding-bottom: 10px
}

.cmn_layout3_imgArea {
  width: 36.3636363636%
}

.cmn_layout3_txtArea {
  width: 60%
}

.cmn_layout3_txtArea:only-child {
  width: 100%
}

.cmn_layout3_h {
  font-size: 1.25rem;
  font-weight: 700
}

.cmn_lead {
  margin-bottom: 50px
}

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

.cmn_pagination {
  text-align: center;
  margin-top: 80px;
  width: 100%
}

.cmn_pagination li {
  display: inline-block
}

.cmn_pagination li a,
.cmn_pagination li span,
.cmn_pagination li button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 1rem;
  transition: background-color 0s ease-in-out, color 0s ease-in-out
}

.cmn_pagination li.hide {
  display: none
}

.cmn_pagination .cmn_pagination_nbr {
  margin: 0 4px
}

.cmn_pagination .cmn_pagination_nbr a,
.cmn_pagination .cmn_pagination_nbr span,
.cmn_pagination .cmn_pagination_nbr button {
  border: 1px solid #e9e9e9
}

.cmn_pagination .cmn_pagination_nbr.active a,
.cmn_pagination .cmn_pagination_nbr.active button {
  color: #fff;
  border-color: rgba(0, 0, 0, 0);
  background-color: #d3180c
}

.cmn_pagination .cmn_pagination_arrow {
  margin: 0 20px
}

.cmn_pagination .cmn_pagination_arrow a,
.cmn_pagination .cmn_pagination_arrow span,
.cmn_pagination .cmn_pagination_arrow button {
  border-color: rgba(0, 0, 0, 0);
  background-color: #222;
  color: rgba(0, 0, 0, 0);
  position: relative
}

.cmn_pagination .cmn_pagination_arrow a::after,
.cmn_pagination .cmn_pagination_arrow span::after,
.cmn_pagination .cmn_pagination_arrow button::after {
  content: "";
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  height: 17px
}

.cmn_pagination .cmn_pagination_arrow_hide {
  visibility: hidden
}

.cmn_pagination .cmn_pagination_ellipsis a,
.cmn_pagination .cmn_pagination_ellipsis span {
  border: 1px solid #e9e9e9
}

.cmn_pagination .cmn_pagination_prev a::after,
.cmn_pagination .cmn_pagination_prev span::after,
.cmn_pagination .cmn_pagination_prev button::after {
  background-image: url("/assets/img/cmn/icon_caret_left.svg")
}

.cmn_pagination .cmn_pagination_next a::after,
.cmn_pagination .cmn_pagination_next span::after,
.cmn_pagination .cmn_pagination_next button::after {
  background-image: url("/assets/img/cmn/icon_caret.svg")
}

.cmn_search {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 60px
}

.cmn_search i {
  display: block;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  width: 21px;
  left: 31px
}

.cmn_search input {
  border: 1px solid #d3180c;
  width: calc(100% - 140px);
  padding-left: 70px;
  line-height: normal;
  outline: none;
  border-radius: 5px 0 0 5px;
  font-size: 0.9375rem
}

.cmn_search input:-ms-input-placeholder {
  color: #b8b8b8
}

.cmn_search input::placeholder {
  color: #b8b8b8
}

.cmn_search button {
  background-color: #d3180c;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 140px;
  height: 70px;
  border-radius: 0 5px 5px 0
}

.hide {
  display: none
}

.cmn_searchResultCount {
  width: 100%;
  margin: 0px auto 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dbdbdb
}

.cmn_searchResultCount .cmn_searchResultCount_txt {
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: .01em
}

.cmn_searchResultCount .cmn_searchResultCount_nbr {
  font-size: 1.5rem;
  font-weight: 700;
  color: #d3180c;
  padding: 0 5px 0 7px;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
}

.l-modal {
  position: fixed;
  display: none;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 30;
  --fade-duration: 0.3s
}

.l-modal.is-open {
  display: block
}

.l-modal[aria-hidden=false] .l-modal__inner {
  animation: mmfadeIn var(--fade-duration) cubic-bezier(0, 0, 0.2, 1)
}

.l-modal[aria-hidden=true] .l-modal__inner {
  animation: mmfadeOut var(--fade-duration) cubic-bezier(0, 0, 0.2, 1)
}

.l-modal__inner {
  text-align: center;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch
}

.l-modal__inner::-webkit-scrollbar {
  display: none
}

.l-modal__inner:after,
.l-modal__inner:before {
  content: "";
  width: 0;
  height: 100%;
  display: inline-block;
  vertical-align: middle
}

.l-modal__overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .7);
  transform: translate3d(0, 0, 0)
}

.l-modal__container {
  position: relative;
  margin: auto;
  display: inline-block;
  vertical-align: middle;
  text-align: left
}

.l-modal__content {
  position: relative;
  background-color: #ccc
}

.l-modal__close-btn {
  position: absolute;
  z-index: 2;
  right: 0
}

.modal-close-btn {
  cursor: pointer;
  outline: none
}

.modal-close-btn:focus-visible {
  transform: scale(1.1);
  opacity: .8
}

.modal-close-btn span {
  position: relative;
  display: block
}

@keyframes mmfadeIn {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes mmpopIn {
  from {
    transform: translateY(500px)
  }

  to {
    transform: translateY(0)
  }
}

.video-modal .l-modal__container {
  background-color: rgba(0, 0, 0, 0)
}

.video-container {
  width: 100%;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  background-color: #000
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.cmn_banner[href] {
  display: block;
  transition: opacity .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.cmn_checkbox_container {
  border-color: #dbdbdb;
  border-width: 1px;
  border-left-style: solid;
  border-right-style: solid;
  border-bottom-style: solid
}

.cmn_checkbox {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 28px;
  cursor: pointer
}

.cmn_checkbox input {
  position: absolute;
  opacity: 0
}

.cmn_checkbox input:checked~span {
  background-image: url("/assets/img/cmn/icon_checkbox_checked.svg")
}

.cmn_checkbox input:focus-visible~span {
  outline: 1px solid #222
}

.cmn_checkbox span {
  width: 20px;
  height: 20px;
  left: 0;
  top: 0;
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("/assets/img/cmn/icon_checkbox.svg")
}

.mktoForm.mktoHasWidth {
  width: 100% !important
}

.mktoForm .mktoFormCol {
  width: 100%;
  margin-bottom: 15px !important
}

.mktoForm strong {
  padding: 0 !important
}

.mktoForm .mktoAsterix {
  font-size: 0.9375rem
}

.mktoForm .mktoAsterix+div {
  float: left
}

.mktoForm .mktoFieldWrap {
  width: 100%
}

.mktoForm .mktoLabel {
  margin-bottom: 14px
}

.mktoForm .mktoLabel.mktoHasWidth {
  width: auto !important;
  font-size: 0.9375rem
}

.mktoForm .mktoCheckboxList {
  width: auto !important
}

.mktoForm input[type=email].mktoField,
.mktoForm input[type=text].mktoField,
.mktoForm input[type=tel].mktoField,
.mktoForm textarea.mktoField,
.mktoForm select.mktoField {
  padding: 13px 20px !important;
  border: 1px solid #c2cfe5;
  font-size: 15px;
  background-color: #fff;
  border-radius: 4px;
  height: auto !important
}

.mktoForm textarea {
  resize: both !important
}

.mktoForm input[type=checkbox].mktoField {
  width: 0
}

.mktoForm input[type=checkbox].mktoField+label {
  width: 20px;
  height: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("/assets/img/cmn/icon_checkbox_bk.svg");
  margin: 0;
  cursor: pointer;
  position: relative
}

.mktoForm input[type=checkbox].mktoField+label::before {
  content: "";
  width: 200%;
  height: 200%;
  left: 0;
  top: 0;
  position: absolute
}

.mktoForm input[type=checkbox].mktoField:checked+label {
  background-image: url("/assets/img/cmn/icon_checkbox_checked.svg")
}

.mktoForm input[type=checkbox].mktoField:focus-visible+label {
  outline: 1px solid #222
}

.mktoForm .mktoHtmlText.mktoHasWidth {
  width: auto !important
}

.mktoForm .mktoHtmlText.mktoHasWidth a {
  color: #d3180c;
  text-decoration: underline
}

.mktoForm .mktoHtmlText.mktoHasWidth>div {
  text-align: left !important
}

.mktoForm .mktoOffset {
  width: 0 !important
}

.mktoForm .mktoButtonRow .mktoButtonWrap {
  margin-left: 0 !important
}

.mktoForm .mktoButton {
  color: #fff !important;
  height: 64px;
  border-radius: 5px;
  position: relative;
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: auto;
  transition: background-color .3s ease-in-out;
  background-color: #d3180c !important;
  background-image: none !important;
  border: none !important;
  width: 220px;
  height: 48px;
  font-size: 0.9375rem;
  letter-spacing: .09em
}

.mktoForm .mktoButton:focus-visible {
  background-color: #222 !important;
  outline: #222 solid 1px
}

.mktoForm .mktoButton::after {
  content: "";
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 15px;
  width: 16px;
  height: 16px
}

.mktoForm .mktoButton::after {
  background-image: url(/assets/img/cmn/icon_btn_bk.svg)
}

.catalog_form_area .mktoForm input[type=email].mktoField,
.catalog_form_area .mktoForm input[type=text].mktoField,
.catalog_form_area .mktoForm input[type=tel].mktoField,
.catalog_form_area .mktoForm select.mktoField {
  width: 423px !important
}

.contact_form_area .mktoForm .mktoHtmlText {
  word-break: break-all
}

.contact_form_area .mktoForm input[type=email].mktoField,
.contact_form_area .mktoForm input[type=text].mktoField,
.contact_form_area .mktoForm input[type=tel].mktoField,
.contact_form_area .mktoForm textarea.mktoField,
.contact_form_area .mktoForm select.mktoField {
  width: 495px !important;
  float: right
}

.contact_form_area .mktoForm input[type=email].mktoField::after,
.contact_form_area .mktoForm input[type=text].mktoField::after,
.contact_form_area .mktoForm input[type=tel].mktoField::after,
.contact_form_area .mktoForm textarea.mktoField::after,
.contact_form_area .mktoForm select.mktoField::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  margin: auto;
  width: 12px;
  height: 6px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("/assets/img/cmn/icon_caret_down_bk.svg")
}

.contact_form_area .mktoForm fieldset.mktoFormCol {
  border: none !important
}

.contact_form_area .mktoForm fieldset.mktoFormCol .mktoFormRow {
  display: flex;
  justify-content: center
}

.contact_form_area .mktoForm fieldset.mktoFormCol .mktoFormCol {
  width: auto !important
}

.contact_form_area .mktoForm fieldset.mktoFormCol .mktoFieldWrap {
  margin-left: 10px
}

.contact_form_area .mktoForm .mktoButtonRow {
  width: 100%
}

.contact_form_area .mktoForm .mktoButton {
  margin: auto
}

.contact_form_area .mktoForm .mktoButton:after {
  content: none
}

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

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

.cmn_message p+p {
  margin-top: 1em
}

.cmn_message_head {
  text-align: center;
  font-weight: 700
}

.cmn_sitemap_parent_list>li {
  margin-bottom: 20px
}

.cmn_sitemap_parent_list>li>a {
  font-size: 1rem;
  font-weight: 700
}

.cmn_sitemap_parent_list>li>a::after {
  content: "";
  display: inline-block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 6px;
  height: 12px;
  margin-left: 10px;
  background-image: url(/assets/img/cmn/icon_caret_red.svg)
}

.cmn_sitemap_parent_list>li>a span {
  font-weight: inherit;
  transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  padding-bottom: 2px;
  background-image: url("/assets/img/cmn/pixel.jpg");
  background-position: right bottom;
  background-size: 0 1px
}

.cmn_sitemap_sub_list {
  border-top: 1px solid #dbdbdb;
  padding-top: 50px
}

.cmn_sitemap_sub_list>li {
  margin-bottom: 10px
}

.cmn_sitemap_sub_list>li a span {
  font-size: 0.875rem;
  font-weight: 700
}

.cmn_sitemap_sub_list a span {
  transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  padding-bottom: 2px;
  background-image: url("/assets/img/cmn/pixel.jpg");
  background-position: right bottom;
  background-size: 0 1px
}

.cmn_sitemap_sub_list a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 8px;
  margin-left: 5px;
  background-size: contain;
  background-image: url(/assets/img/cmn/icon_blank_bk.svg)
}

.cookie-policy {
  position: fixed;
  width: 100%;
  bottom: 0px;
  background-color: #f4f4f4;
  transform: translateY(100%);
  transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 40
}

.cookie-policy.open {
  transform: translateY(0%)
}

.cookie-policy.hidden {
  pointer-events: none;
  display: none
}

.cookie-policy .cookie-policy__inner {
  display: flex;
  justify-content: space-between;
  margin: 0 auto
}

.cookie-policy .cookie-policy__inner .cookie-policy__text {
  line-height: 1.6;
  letter-spacing: .1em
}

.cookie-policy .cookie-policy__inner .cookie-policy__btns {
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

.cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn {
  position: relative;
  margin-left: auto
}

.cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn::before,
.cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn::after {
  transition: background-color .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.cookie-policy .cookie-policy__inner .cookie-policy__link {
  color: #1e1b1b;
  text-decoration: underline
}

.translation-modal .l-modal__content {
  border-radius: 5px
}

.translation-modal .translation-head {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: .25em
}

.translation-modal .translation-message-en,
.translation-modal .translation-message-jp {
  line-height: 1.5em;
  margin-bottom: 1em
}

.translation-modal .cmn-ok-btn {
  margin-top: 2em;
  margin-left: auto
}

.cmn_catalog_banner {
  position: relative;
  display: block;
  width: 100%;
  transition: opacity .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  background-size: cover;
  background-repeat: no-repeat
}

.cmn_catalog_banner .cmn_catalog_banner__inner {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%
}

.cmn_catalog_banner .cmn_catalog_banner__title {
  font-weight: bold
}

.cmn_catalog_banner .cmn_catalog_banner__title::after {
  content: "";
  display: inline-block;
  background-image: url("/assets/img/cmn/icon_btn_bk.svg");
  background-size: cover;
  background-repeat: no-repeat;
  margin-left: 10px
}

.cmn_catalog_banner .cmn_catalog_banner__text {
  margin-top: 10px
}

.language_select {
  --height: 0;
  position: relative;
  z-index: 1;
  visibility: hidden
}

.language_select.active {
  visibility: visible
}

.language_select .language_select__menu {
  opacity: 0;
  transition: height .3s cubic-bezier(0.215, 0.61, 0.355, 1), opacity .1s cubic-bezier(0.215, 0.61, 0.355, 1) .2s
}

.language_select.is-open .language_select__menu {
  opacity: 1;
  transition: height .3s cubic-bezier(0.215, 0.61, 0.355, 1), opacity .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.language_select .language_select__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%
}

.language_select .language_select__btn::after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url("/assets/img/cmn/icon_global.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain
}

.language_select .language_select__btn span {
  font-size: 0.875rem;
  font-weight: 700
}

.language_select .language_select__menu {
  position: absolute;
  width: 107px;
  background-color: rgba(237, 237, 237, .9);
  font-size: 14px;
  border-radius: 12px;
  overflow: hidden;
  height: var(--height)
}

.language_select .wovn-languages__container {
  padding: 34px 14px 10px
}

.language_select .wovn-languages .wovn-switch[data-value=en-US] {
  position: relative
}

.language_select .wovn-languages .wovn-switch[data-value=en-US] span {
  display: none
}

.language_select .wovn-languages .wovn-switch[data-value=en-US]::after {
  content: "English (US)";
  white-space: nowrap
}

.language_select .wovn-switch {
  cursor: pointer
}

.language_select .wovn-switch.selected {
  color: #d3180c
}

.top_mv {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  position: relative
}

.top_mv .top_mv_search {
  width: 404px
}

.top_mv .top_mv_search .top_mv_search_inner {
  width: 308px;
  position: -webkit-sticky;
  position: sticky;
  margin: 45px auto 88px;
  top: 45px;
  z-index: 2
}

.top_mv .top_mv_search .top_mv_search_h {
  font-size: 1.5rem;
  font-weight: 700
}

.top_mv .top_mv_search .top_mv_search_form {
  background-color: #f4f4f4;
  border: 1px solid #dbdbdb;
  display: flex;
  flex-wrap: wrap;
  border-radius: 5px;
  padding: 32px 9px 9px 9px;
  margin: 12px 0 24px;
  position: relative
}

.top_mv .top_mv_search .top_mv_search_input {
  margin: 0 0px 31px 0;
  position: relative;
  display: inline-block;
  font-size: 0.9375rem;
  outline: none !important;
  overflow: visible;
  width: calc(100% - 33px);
  padding: 2px;
  font-weight: 400;
  line-height: normal
}

.top_mv .top_mv_search .top_mv_search_input:-ms-input-placeholder {
  color: #b8b8b8
}

.top_mv .top_mv_search .top_mv_search_input::placeholder {
  color: #b8b8b8
}

.top_mv .top_mv_search .top_mv_search_icon {
  display: inline-block;
  padding: 3px 8px 0 5px
}

.top_mv .top_mv_search .top_mv_search_icon svg {
  width: 16px;
  height: 16px
}

.top_mv .top_mv_search .top_mv_search_whiteLinks {
  margin-bottom: 32px
}

.top_mv .top_mv_search .top_mv_search_redLinks {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

.top_mv .top_mv_slider {
  width: calc(100% - 404px);
  position: relative;
  border-radius: 10px 0 0 0;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  background-color: #000;
  min-height: 580px
}

.top_mv .top_mv_slider .top_mv_slider_nav {
  z-index: 3
}

.top_mv .top_mv_slider .top_mv_slider_nav .swiper-pagination-bullet {
  display: block;
  background-color: #fff !important;
  opacity: 1 !important
}

.top_mv .swiper {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

.top_mv .top_mv_slide {
  display: block;
  height: 100%
}

.top_mv .top_mv_slide.active {
  opacity: 1
}

.top_mv .top_mv_slide picture {
  display: block;
  width: 100%;
  height: 100%
}

.top_mv .top_mv_slide img {
  width: auto;
  height: 100%;
  max-width: none
}

.top_mv .top_mv_slide .top_mv_picture {
  width: 100%;
  height: 100%
}

.top_mv .top_mv_news {
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #222;
  width: calc(100% - 80px);
  z-index: 1;
  height: 80px;
  display: flex;
  justify-content: space-between;
  padding: 0 32px 0 39px
}

.top_mv .top_mv_news .top_mv_news_left {
  display: flex;
  align-items: center;
  width: calc(100% - 180px)
}

.top_mv .top_mv_news .top_mv_news_list {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%
}

.top_mv .top_mv_news .top_mv_news_item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s linear
}

.top_mv .top_mv_news .top_mv_news_item:first-child {
  position: relative
}

.top_mv .top_mv_news .top_mv_news_item.active {
  opacity: 1;
  pointer-events: all
}

.top_mv .top_mv_news .top_mv_news_item a {
  color: #fff;
  line-height: 1.5;
  display: flex
}

.top_mv .top_mv_news .top_mv_news_h {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  padding-right: 22px;
  position: relative
}

.top_mv .top_mv_news .top_mv_news_h::after {
  content: "";
  background-color: #393939;
  height: 40px;
  width: 1px;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 0
}

.top_mv .top_mv_news .top_mv_news_date {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
  white-space: nowrap;
  margin: 0 12px 0 20px
}

.top_mv .top_mv_news .top_mv_news_cat {
  font-size: 0.75rem;
  font-weight: 400;
  border-radius: 9999px;
  border: 1px solid #fff;
  padding: 5px 16px 4px;
  white-space: nowrap
}

.top_mv .top_mv_news .top_mv_news_title {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: .01em;
  font-feature-settings: normal;
  padding-top: 5px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.top_mv .top_mv_news .top_mv_news_nav {
  display: flex;
  align-items: center;
  flex-shrink: 0
}

.top_mv .top_mv_news .top_mv_news_btn {
  width: 12px;
  margin-right: 26px;
  display: flex;
  flex-direction: column
}

.top_mv .top_mv_news .top_mv_news_btn button {
  padding: 5px 0
}

.top_mv .top_mv_news .top_mv_news_btn button i {
  display: block;
  width: 12px;
  height: 6px
}

.top_mv .top_mv_news .top_mv_news_btn button svg {
  display: block;
  fill: #fff
}

.top_mv .top_mv_news .top_mv_news_link {
  display: inline-block;
  border: 1px solid #fff;
  border-radius: 5px;
  font-size: 0.75rem;
  color: #fff;
  padding: 10px 15px 10px 40px;
  position: relative
}

.top_mv .top_mv_news .top_mv_news_link i {
  display: block;
  width: 18px;
  left: 12px;
  transform: translateY(-50%);
  position: absolute;
  top: 50%
}

.top_mv .top_mv_news .top_mv_news_link i svg {
  fill: #fff
}

.top_product {
  padding: 75px 0 75px
}

.top_case {
  padding: 80px 0 45px
}

.top_case .cmn_slider1 {
  margin-bottom: 20px
}

.top_news {
  padding: 45px 0 70px
}

.top_news .top_news_list {
  margin-top: 38px
}

.top_news .top_news_list li {
  border-top: 1px solid #dbdbdb
}

.top_news .top_news_list li:last-child {
  border-bottom: 1px solid #dbdbdb
}

.top_news .top_news_list li a {
  transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  display: block;
  padding: 27px 60px 27px 0;
  background-color: #fff;
  border-radius: 5px;
  transform-origin: center top
}

.top_news .top_news_list .top_news_list_txt {
  transition: transform .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  display: block;
  will-change: transform
}

.top_news .top_news_list .top_news_list_date {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
  color: #b6b7b7
}

.top_news .top_news_list .top_news_list_cat {
  font-size: 0.75rem;
  font-weight: 400;
  border-radius: 12px;
  border: 1px solid #1e1b1b;
  padding: 4px 16px;
  margin: 0 15px 0 20px
}

.top_news .top_news_list .top_news_list_title {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: .01em;
  font-feature-settings: normal;
  display: inline;
  line-height: 1.9
}

.top_news .top_news_list .top_news_list_title em {
  position: relative;
  display: inline;
  padding-right: 15px
}

.top_news .top_news_list .top_news_list_title em::after {
  content: "";
  position: absolute;
  bottom: 3px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: 0px;
  width: 10px;
  height: 8px;
  background-image: url(/assets/img/cmn/icon_link.svg)
}

.top_feat {
  padding: 70px 0 95px
}

.top_feat .cmn_slider1 {
  margin-bottom: 20px
}

.top_catalogue {
  height: 33vw;
  background-image: url("/assets/img/top/catalogue01.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover
}

.top_catalogue .cmn_inner1 {
  height: 100%;
  display: flex;
  align-items: center
}

.top_catalogue .top_catalogue_h {
  font-size: 1.875rem;
  font-weight: 700
}

.top_catalogue .top_catalogue_p {
  font-size: 0.9375rem;
  font-weight: 400;
  margin: 20px 0 35px
}

.top_support {
  padding: 135px 0
}

.top_support .top_support_p {
  font-size: 0.9375rem;
  font-weight: 400;
  margin: 20px 0 30px
}

.top_support .top_support_container {
  display: flex;
  flex-wrap: wrap
}

.page_product .sp_toggleBox {
  margin-bottom: 65px
}

.page_product .product_linkGroup {
  display: none
}

.page_product .product_linkGroup.active {
  display: block
}

.page_products_search_app {
  display: none;
  pointer-events: none
}

.page_products_search_app_show {
  display: block;
  pointer-events: auto
}

.page_products_search_app_show p.detail {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden
}

.page_product_detail .cmn_mainContainer {
  padding-top: 0
}

.page_casestudy span.cmn_checkbox_label {
  width: auto;
  height: auto;
  position: static;
  background: none
}

.page_casestudy .cmn_checkbox input:checked~span.cmn_checkbox_label {
  background-image: none
}

.page_casestudy_app {
  opacity: 0;
  pointer-events: none
}

.page_casestudy_app_show {
  opacity: 1;
  pointer-events: auto
}

.page_catalog .cmn_list_column3 {
  border-top: 1px solid #dbdbdb
}

.page_faq_detail .faq_head {
  font-weight: 700
}

.page_faq_detail .faq_box {
  overflow: hidden;
  border-radius: 5px;
  border: 1px solid #dbdbdb
}

.page_faq_detail .faq_box abbr {
  line-height: 1;
  flex-shrink: 0;
  font-size: 1.375rem;
  font-weight: 700;
  border: none
}

.page_faq_detail .faq_box .faq_box_head {
  position: relative;
  display: flex;
  cursor: pointer;
  transition: background-color .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  padding: 20px 60px 20px 30px
}

.page_faq_detail .faq_box .faq_box_head span {
  text-align: left;
  margin-left: 14px
}

.page_faq_detail .faq_box .faq_box_icon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  margin: auto;
  width: 12px;
  height: 6px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("/assets/img/cmn/icon_caret_down_bk.svg")
}

.page_faq_detail .faq_box .faq_box_body {
  height: 0;
  overflow: hidden;
  transition: height .5s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.page_faq_detail .faq_box .faq_box_body_inner {
  display: flex;
  visibility: hidden;
  background-color: #fff;
  padding: 20px 30px
}

.page_faq_detail .faq_box .faq_box_body_inner p {
  margin-left: 14px
}

.page_faq_detail .faq_box .faq_box_body_inner a {
  color: #d3180c;
  text-decoration: underline;
  font-weight: inherit
}

.page_faq_detail .faq_box+.faq_box {
  margin-top: 16px
}

.page_faq_detail .faq_box.is-open .faq_box_head {
  background-color: #d3180c;
  color: #fff
}

.page_faq_detail .faq_box.is-open .faq_box_body_inner {
  visibility: visible
}

.page_faq_detail .faq_box.is-open .faq_box_icon {
  background-image: url("/assets/img/cmn/icon_caret_up.svg")
}

.page_faq_detail_app {
  opacity: 0;
  pointer-events: none
}

.page_faq_detail_app_show {
  opacity: 1;
  pointer-events: auto
}

.page_faq_detail .cmn_not_found {
  display: block
}

.cmn_layout_download_h {
  margin-bottom: 40px
}

.cmn_layout_download_formArea {
  margin-bottom: 40px
}

.cmn_layout_download_files_head {
  font-weight: 700;
  margin-bottom: 16px
}

.cmn_layout_download_files_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px
}

.cmn_layout_download_files_list li {
  font-size: 0.75rem;
  font-weight: 700;
  border: 1px solid #dbdbdb;
  border-radius: 5px;
  padding: 3px 8px;
  line-height: 1.1666666667
}

.catalog_form_area {
  background-color: #f5f5f5;
  padding: 32px
}

.page_contact_form .phone_list {
  display: flex;
  flex-wrap: wrap
}

.page_contact_form .contact_form_area {
  background-color: #f5f5f5
}

.page_contact_complete .contact_complete_inner p+p {
  margin-top: 1em
}

.page_contact_complete .contact_complete_head {
  text-align: center;
  font-weight: 700
}

.page_news .news_app .news_app_inner {
  opacity: 0;
  pointer-events: none
}

.page_news .news_app .news_app_inner.news_app_show {
  opacity: 1;
  pointer-events: auto
}

.page_news_detail p a {
  color: #d3180c;
  text-decoration: underline;
  font-weight: inherit
}

.page_special .page_special_app {
  opacity: 0;
  pointer-events: none
}

.page_special .page_special_app_show {
  opacity: 1;
  pointer-events: auto
}

.page_special_detail .special_mv {
  width: 100%;
  height: 550px;
  background-color: #222;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover
}

.page_special_detail .special_mv .special_mv_inner {
  max-width: 1200px;
  margin: auto;
  height: 100%;
  display: flex;
  align-items: center
}

.page_special_detail .special_mv .special_mv_h1 {
  font-size: 3rem;
  font-weight: 700
}

.page_special_detail .special_mv .special_mv_sub {
  font-size: 1.125rem
}

.page_special_detail .cmn_mainContainer {
  padding-top: 0
}

.page_special_detail .special_ttlArea {
  padding: 40px 0 50px;
  border-bottom: 1px solid #dbdbdb
}

.page_special_detail .special_ttlArea .special_ttlArea_inner {
  margin: auto;
  position: relative
}

.page_special_detail .special_ttlArea .special_ttlArea_h1 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2777777778
}

.page_special_detail .special_ttlArea .special_ttlArea_h2 {
  font-size: 1.25rem;
  font-weight: 400;
  margin-top: 1em
}

.page_special_detail .detail_container {
  margin-top: 60px
}

.page_special_detail .detail_h2:not(:first-child) {
  margin-top: 90px
}

.page_special_detail .detail_video_container {
  max-width: none
}

.page_special_detail .cmn_slider3 .swiper {
  margin-bottom: -30px
}

.page_special_detail p a {
  color: #d3180c;
  text-decoration: underline;
  font-weight: inherit
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
  rt:not(:target) {
    position: relative;
    top: -0.7em
  }
}

@media only screen and (max-width: 767px) {
  body {
    font-size: 0.875rem;
    min-width: auto
  }

  body.has-fixed-btn {
    padding-bottom: 64px
  }

  .only-pc {
    display: none !important
  }

  .sp-w-100 {
    width: 100% !important
  }

  .facebook {
    width: 16px
  }

  .twitter {
    width: 18px
  }

  .youtube {
    width: 19px
  }

  .linkedin {
    width: 19px
  }

  .instagram {
    width: 16px
  }

  .cmn_mainContainer {
    padding: 50px 0 100px
  }

  .cmn_section {
    margin-bottom: 50px
  }

  .cmn_inner1 {
    padding: 0 16px
  }

  .cmn_inner2 {
    padding: 0 16px
  }

  .cmn_h1 {
    font-size: 1.5rem;
    padding-left: 10px;
    line-height: 1.4;
    margin-bottom: 16px
  }

  .cmn_h1::before {
    height: calc(100% - 12px);
    width: 3px;
    top: 6px
  }

  .cmn_h1_sub {
    font-size: 0.875rem;
    margin-top: 10px
  }

  .cmn_linkTitle {
    display: none
  }

  .cmn_linkTitle span {
    font-size: 1.5rem;
    padding-left: 10px
  }

  .cmn_linkTitle span::before {
    height: 22px;
    width: 3px;
    top: 6px
  }

  .cmn_linkHead {
    margin-bottom: 24px
  }

  .cmn_linkHead::after {
    width: 40px
  }

  .cmn_linkHead span {
    font-size: 1.125rem;
    padding-left: 10px
  }

  .cmn_sp_linkHead::after {
    width: 40px
  }

  .header {
    height: 50px !important;
    padding: 0 89px 0 12px
  }

  .header .header_h1 {
    width: 127px
  }

  body.en .header .header_h1 {
    width: 173px
  }

  .header .header_nav li {
    display: none
  }

  .header .header_greyBtn {
    margin-left: 0
  }

  .header .header_greyBtn>li:nth-child(n+2) {
    margin-left: 5px
  }

  .header .header_lang {
    width: 48px;
    font-size: 0.625rem
  }

  .header .header_search {
    width: 23px
  }

  .header .header_search svg {
    width: 9px
  }

  .header_siteSearch .header_siteSearch_form {
    width: 95%
  }

  .menu .menu_inner {
    flex-direction: column
  }

  .menu .menu_inner {
    display: block;
    padding: 71px 16px 40px
  }

  .menu .menu_left {
    width: 100%;
    padding: 0 0 0 0;
    border-right: none
  }

  .menu .menu_right {
    width: 100%;
    padding: 0 0 0 0
  }

  .menu .menu_h1 {
    font-size: 1.125rem
  }

  .menu .menu_form {
    width: 100%;
    margin: 6px 0 37px
  }

  .menu .menu_form .suggest {
    width: 100%
  }

  .menu .menu_form input {
    font-size: 0.875rem;
    width: calc(100% - 80px);
    border-radius: 3px 0 0 3px
  }

  .menu .menu_form button {
    font-size: 0.75rem;
    width: 80px;
    border-radius: 0 3px 3px 0;
    height: 54px
  }

  .menu .menu_navArea {
    display: block
  }

  .menu .menu_nav1:first-child {
    margin-right: 0;
    width: 100%
  }

  .menu .menu_nav1 li {
    margin-bottom: 23px
  }

  .menu .menu_nav1 li a {
    font-size: 1.125rem
  }

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

  .menu .menu_nav2 {
    display: none
  }

  .menu .menu_sns {
    margin: 32px 0 10px
  }

  .menu .menu_lang {
    font-size: 0.625rem;
    width: 48px;
    height: 23px
  }

  .menu_btn {
    width: 70px;
    height: 70px !important
  }

  .menu_hamburger {
    width: 24px
  }

  .footer {
    padding: 60px 15px 40px
  }

  .footer .footer_inner {
    flex-direction: column
  }

  .footer .footer_bnr {
    width: 145px;
    margin: 0
  }

  body.en .footer .footer_bnr {
    width: 69px
  }

  .footer .footer_sns {
    width: calc(100% - 145px);
    padding: 0 0 0 25px
  }

  .footer .footer_sns li {
    margin-right: 15px
  }

  .footer .footer_left {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    order: 2;
    border-top: 1px solid #383838;
    margin-top: 20px;
    padding-top: 30px
  }

  .footer .footer_left .footer_left_links {
    margin-top: 26px
  }

  .footer .footer_left .footer_left_links li {
    margin-bottom: 9px
  }

  .footer .footer_left .footer_left_links li a {
    font-size: 0.6875rem
  }

  .footer .footer_right {
    display: block;
    width: 100%
  }

  .footer .footer_product_h {
    display: none
  }

  .footer .footer_product_list {
    width: 100%;
    margin: 0;
    padding: 20px 0 18px 0;
    column-gap: 35px
  }

  .footer .footer_product_list li {
    margin-bottom: 0;
    margin-bottom: 18px
  }

  .footer .footer_product_list li a {
    color: #1e1b1b;
    line-height: 1.2
  }

  .footer .footer_product_nav li {
    margin-bottom: 8px
  }

  .footer .footer_product_nav li a {
    background-color: #fff;
    width: 100%;
    padding: 16px 35px 14px 16px;
    margin-bottom: 8px;
    display: block;
    color: #1e1b1b;
    border-radius: 5px;
    position: relative
  }

  .footer .footer_product_nav li a::after {
    content: "";
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    right: 16px;
    width: 12px;
    height: 12px;
    background-image: url(/assets/img/cmn/icon_btn_red.svg)
  }

  .footer .footer_logo {
    width: 189px;
    margin-bottom: 30px
  }

  body.en .footer .footer_logo {
    width: 200px
  }

  .footer .footer_small {
    order: 3;
    font-size: 0.4375rem;
    margin-top: 35px
  }

  .footer .footer_pagetop {
    width: 12px;
    right: 31px;
    bottom: 50px
  }

  .sp_toggleBox {
    background-color: #fff;
    border-radius: 5px;
    padding: 0 16px;
    width: 100%;
    margin-bottom: 8px;
    box-shadow: 0px 0px 0px 0px rgba(33, 33, 33, .16);
    transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: 1px solid #dbdbdb
  }

  .sp_toggleBox .sp_toggleBox_content {
    transition: height .5s cubic-bezier(0.215, 0.61, 0.355, 1);
    overflow: hidden;
    height: var(--height)
  }

  .sp_toggleBox .sp_toggleBox_inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
  }

  .sp_toggleBox .sp_toggleBox_btn {
    display: block
  }

  .sp_toggleBox .sp_toggleBox_btn::after {
    right: -1px
  }

  .sp_toggleBox.is-open {
    border: none;
    box-shadow: 0px 0px 37.2px 2.8px rgba(33, 33, 33, .24)
  }

  .sp_toggleBox.is-open .sp_toggleBox_btn {
    border-bottom: 1px solid #e5e5e5
  }

  .sp_toggleBox.is-open .sp_toggleBox_btn::after {
    background-image: url(/assets/img/cmn/icon_btn_minus.svg)
  }

  .sp_openBox {
    background-color: #fff;
    border-radius: 5px;
    padding: 0 16px;
    width: 100%;
    margin-bottom: 8px;
    border: none;
    box-shadow: 0px 0px 37.2px 2.8px rgba(33, 33, 33, .24)
  }

  .tab1 {
    margin: 25px 0 0
  }

  .tab1 .tab {
    text-align: center;
    line-height: 1.2
  }

  .tab1 .tab a,
  .tab1 .tab span {
    font-size: 0.875rem;
    height: 57px;
    padding-top: 5px
  }

  .tab1_container {
    padding: 28px 0 10px;
    justify-content: space-between
  }

  .detail_container {
    padding: 0 16px
  }

  .detail_container:not(:last-child) {
    padding-bottom: 70px;
    margin-bottom: 70px
  }

  .detail_container:not(:last-child):after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: calc(100% - 32px);
    height: 1px;
    background-color: #dbdbdb
  }

  .detail_section {
    margin-bottom: 50px
  }

  .detail_section2 {
    margin-bottom: 50px
  }

  .detail_box1 {
    padding: 24px 16px;
    margin: 24px auto
  }

  .detail_layout1 {
    flex-direction: column
  }

  .detail_layout1 {
    margin: 16px 0 24px
  }

  .detail_layout1 .detail_layout1_img {
    width: 100%;
    margin-bottom: 16px
  }

  .detail_layout1 .detail_layout1_txt {
    width: 100%;
    padding-top: 0
  }

  .detail_head {
    border-width: 1px;
    margin-bottom: 50px
  }

  .detail_head .news_list_txt .news_list_date {
    font-size: 0.75rem
  }

  .detail_head .news_list_txt .news_list_cat {
    font-size: 0.5625rem;
    line-height: 1;
    padding: 2px 10px;
    margin: 0 0 0 5px
  }

  .detail_h1 {
    font-size: 1.25rem
  }

  .detail_h2 {
    font-size: 1.125rem;
    margin-bottom: 24px
  }

  .detail_h2::after {
    width: 40px
  }

  .detail_h3 {
    font-size: 1.125rem;
    margin-bottom: 16px
  }

  .detail_dl {
    margin: 20px 0 20px
  }

  .detail_dl dt {
    font-size: 0.9375rem
  }

  .detail_dl dd {
    font-size: 0.875rem
  }

  .detail_imgFull {
    margin-bottom: 16px
  }

  .detail_imgXL {
    margin: 16px auto
  }

  .detail_img_list {
    margin: 16px auto
  }

  .detail_img_list_item+.detail_img_list_item {
    margin-top: 16px
  }

  .detail_video_container {
    margin: 16px auto
  }

  .detail_greyBox {
    padding: 20px;
    margin-bottom: 50px
  }

  .detail_nav {
    margin-bottom: 80px;
    padding-bottom: 80px
  }

  .detail_nav .detail_nav_inner {
    flex-direction: column
  }

  .detail_nav .detail_nav_prev,
  .detail_nav .detail_nav_next {
    position: absolute
  }

  .detail_nav .detail_nav_prev {
    left: 16px
  }

  .detail_nav .detail_nav_next {
    right: 16px
  }

  .detail_nav .detail_nav_list {
    margin: 70px auto 0
  }

  .detail_ttlArea {
    padding: 16px 16px 20px
  }

  .detail_ttlArea .detail_ttlArea_h1 {
    font-size: 1.125rem
  }

  .detail_ttlArea .detail_ttlArea_h2 {
    font-size: 0.875rem;
    margin-top: 12px
  }

  .detail_ttlArea .detail_ttlArea_img {
    width: 54px;
    margin-top: 12px
  }

  .detail_layout2 {
    margin: 32px auto 56px
  }

  .detail_layout2 .detail_layout2_container {
    flex-direction: column
  }

  .detail_layout2 .detail_layout2_container {
    flex-direction: column-reverse
  }

  .detail_layout2 .detail_layout2_img {
    width: 100%;
    margin-bottom: 16px
  }

  .detail_layout3 {
    flex-direction: column
  }

  .detail_layout3 {
    margin: 10px 0 16px
  }

  .detail_layout3 .detail_layout3_img {
    width: 100%;
    margin: 10px 0 16px
  }

  .detail_layout4 {
    flex-direction: column;
    margin: 16px 0 24px
  }

  .detail_layout4 .detail_layout4_img {
    width: 100%
  }

  .detail_layout4 .detail_layout4_txt {
    width: 100%;
    padding: 16px
  }

  .detail_tableScroll {
    position: relative;
    overflow: auto
  }

  .detail_tableWrapper {
    padding-bottom: 16px
  }

  .detail_tableWrapper>table colgroup col {
    min-width: 8em
  }

  .detail_tableWrapper>table th,
  .detail_tableWrapper>table td {
    min-width: 8em
  }

  .detail_table1 {
    width: 898px
  }

  .detail_table1 td:not(:first-child) {
    width: 374px
  }

  .detail_table2 {
    width: 526px
  }

  .detail_table2 td:first-child {
    width: 150px
  }

  .detail_table2 td:not(:first-child) {
    width: 376px
  }

  .detail_table3 {
    width: 726px
  }

  .detail_table4 {
    width: 898px
  }

  .detail_table4 th:first-child {
    width: 150px
  }

  .detail_table4 td:not(:first-child) {
    width: 374px
  }

  .phone_table th {
    width: 50%
  }

  .phone_table th,
  .phone_table td {
    line-height: 1.5
  }

  .detail_card_list {
    flex-direction: column;
    margin: 16px auto;
    gap: 24px
  }

  .news_lead {
    font-size: 0.875rem;
    line-height: 1.8
  }

  .news_select {
    padding: 30px 24px
  }

  .news_select .news_select_h {
    margin-bottom: 20px
  }

  .news_select .news_select_list li {
    width: 50%
  }

  .news_select .news_select_list li label {
    min-width: 4em
  }

  .news_list {
    margin: 28px 0 30px 0
  }

  .news_list li a {
    padding: 15px 0px 15px 0
  }

  .news_list .news_list_date {
    font-size: 0.75rem
  }

  .news_list .news_list_cat {
    font-size: 0.5625rem;
    line-height: 1;
    padding: 2px 10px;
    margin: 0 0 0 5px
  }

  .news_list .news_list_title {
    font-size: 0.75rem;
    display: block;
    margin-top: 7px
  }

  .cmn_card1 {
    width: 48.4%
  }

  .cmn_card1::after {
    display: none
  }

  .cmn_card1 .cmn_card1_frame {
    height: 29.334vw;
    padding: 0
  }

  .cmn_card1 .cmn_card1_h {
    font-size: 0.875rem;
    padding: 7px 0px 10px
  }

  .cmn_card1 .cmn_card1_h span {
    font-size: 0.6875rem;
    margin-top: 1px
  }

  .cmn_card2 {
    width: 180px;
    box-shadow: 0px 0px 30px 2.8px rgba(33, 33, 33, .16)
  }

  .cmn_card2 .cmn_card2_frame {
    height: 121px
  }

  .cmn_card2 .cmn_card2_txtArea {
    padding: 10px 10px;
    border-color: #fff;
    min-height: 180px
  }

  .cmn_card2 .cmn_card2_h {
    font-size: 0.875rem;
    margin: 1px 0px 6px
  }

  .cmn_card2 .cmn_card2_p {
    font-size: 0.75rem;
    line-height: 1.5
  }

  .cmn_card3 {
    width: 100%;
    min-height: 58px;
    font-size: 0.875rem;
    margin: 0 0 10px 0 !important
  }

  .cmn_card3::after {
    right: 16px;
    width: 12px;
    height: 12px
  }

  .cmn_card4 {
    width: 100%
  }

  .cmn_card4 .cmn_card4_frame {
    height: 60.8vw
  }

  .cmn_card4 .cmn_card4_txtArea {
    padding: 16px;
    border-color: #fff;
    min-height: 155px
  }

  .cmn_card4 .cmn_card4_h {
    margin: 1px 0px 12px
  }

  .cmn_card4 .cmn_card4_p {
    font-size: 0.75rem
  }

  .cmn_card5 {
    width: 100%
  }

  .cmn_card5 .cmn_card5_frame {
    height: 60.8vw
  }

  .cmn_card5 .cmn_card5_txtArea {
    padding: 16px;
    border-color: #fff
  }

  .cmn_card5 .cmn_card5_h {
    font-size: 0.9375rem;
    margin-bottom: 12px
  }

  .cmn_card6 {
    height: 86px
  }

  .cmn_card6 .cmn_card6_img {
    width: 86px
  }

  .cmn_card6 .cmn_card6_inner {
    padding-left: 98px
  }

  .cmn_card_phone {
    display: flex;
    text-align: left
  }

  .cmn_card_phone dt {
    font-size: 1rem;
    padding: 25px 0 25px 16px;
    width: 86px
  }

  .cmn_card_phone dd {
    flex-grow: 1;
    font-size: 1.25rem;
    padding: 20px 0 20px 16px;
    border-radius: 0 5px 5px 0
  }

  .cmn_card7 {
    width: 100%
  }

  .cmn_card7 .cmn_card7_frame {
    height: 0;
    padding-bottom: 66.666%
  }

  .cmn_card7 .cmn_card7_txtArea {
    padding: 16px;
    border-color: #fff
  }

  .cmn_card7 .cmn_card7_h {
    margin: 1px 0px 12px
  }

  .cmn_card7 .cmn_card7_p {
    font-size: 0.75rem
  }

  .cmn_fixedBtn {
    padding: 8px;
    left: 0;
    bottom: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center
  }

  .cmn_fixedBtn .cmn_fixedBtn_link {
    font-size: 0.75rem;
    width: 48%;
    height: 48px;
    line-height: 1.3
  }

  body.en .cmn_fixedBtn .cmn_fixedBtn_link {
    letter-spacing: 0;
    padding-left: 16px;
    padding-right: 32px
  }

  body.en .cmn_fixedBtn .cmn_fixedBtn_link::after {
    right: 16px
  }

  .cmn_fixedBtn .cmn_fixedBtn_link:first-child {
    border-radius: 10px 0 0 10px;
    padding-left: 32px
  }

  .cmn_fixedBtn .cmn_fixedBtn_link:first-child::after {
    right: 24px
  }

  .cmn_fixedBtn .cmn_fixedBtn_link:last-child {
    border-radius: 0 10px 10px 0;
    padding-left: 36px
  }

  .cmn_fixedBtn .cmn_fixedBtn_link:last-child::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1px;
    height: 20px;
    background-color: rgba(255, 255, 255, .5)
  }

  .cmn_fixedBtn .cmn_fixedBtn_link:last-child::after {
    right: 24px
  }

  .cmn_btn1::after {
    right: 11px;
    width: 12x;
    height: 12px
  }

  .cmn_btn1.size-xxl {
    justify-content: flex-start;
    height: 56px;
    font-size: 0.9375rem;
    padding-left: 20px
  }

  .cmn_btn1.size-xl {
    width: 295px;
    height: 50px;
    font-size: 0.875rem
  }

  .cmn_btn1.size-ml {
    width: 200px;
    height: 50px;
    font-size: 0.75rem
  }

  .cmn_btn1.size-m {
    width: 100%;
    height: 55px;
    font-size: 0.875rem
  }

  .cmn_btn1.size-xs {
    width: 295px;
    height: 40px;
    font-size: 0.875rem
  }

  .cmn_btn3 {
    width: 50%;
    height: 50px
  }

  .cmn_btn3 span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.75rem;
    height: 100%
  }

  .cmn_btn3 span::before {
    margin-right: 4px
  }

  body.en .cmn_btn3 span::before {
    margin-right: 10px
  }

  .cmn_btn3_pdf {
    border-radius: 0px 3px 3px 0px
  }

  .cmn_btn3_pdf:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1px;
    height: 28px;
    background-color: rgba(255, 255, 255, .4)
  }

  .cmn_btn3_pdf span::before {
    width: 10px;
    height: 12px
  }

  .cmn_btn3_mail {
    border-radius: 3px 0px 0px 3px
  }

  .cmn_btn3_mail span::before {
    width: 12px;
    height: 10px
  }

  .cmn_btn4 {
    width: 48.5%;
    height: 55px;
    font-size: 0.9375rem
  }

  .cmn_btn5 {
    width: 48.5%;
    height: 55px;
    font-size: 0.75rem
  }

  body.en .cmn_btn5 {
    letter-spacing: 0;
    padding-left: 30px;
    padding-right: 30px
  }

  body.en .cmn_btn5::after {
    right: 10px
  }

  body.en .cmn_btn5::before {
    left: 10px
  }

  .cmn_video_modal_btn::after {
    width: 56px;
    height: 56px
  }

  .cmn_btn6 {
    width: 100%
  }

  .cmn_btn_large {
    text-align: left;
    padding: 20px 24px
  }

  .cmn_btn_large .cmn_btn_large_sub {
    font-size: 0.875rem
  }

  .cmn-ok-btn {
    width: 13.3333333333vw;
    padding: 1.3333333333vw 0
  }

  .cmn_contact {
    height: 209px
  }

  .cmn_contact .cmn_contact_h em {
    font-size: 1.4375rem;
    padding-right: 20px
  }

  .cmn_contact .cmn_contact_h em i {
    width: 12px
  }

  .cmn_contact .cmn_contact_h span {
    font-size: 0.875rem
  }

  .cmn_slider1 {
    height: 364px;
    touch-action: pan-y;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-drag: none
  }

  .cmn_slider1 .cmn_slider1_nav button {
    width: 36px;
    height: 36px
  }

  .cmn_slider1 .cmn_slider1_nav button::after {
    width: 6px;
    height: 14px
  }

  .cmn_slider1.deactivated .swiper-slide {
    margin-left: auto;
    margin-right: auto
  }

  .cmn_slider2 {
    height: 364px;
    touch-action: pan-y;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-drag: none
  }

  .cmn_slider2 .cmn_slider2_nav {
    width: 100%
  }

  .cmn_slider2 .cmn_slider2_nav button {
    width: 36px;
    height: 36px
  }

  .cmn_slider2 .cmn_slider2_nav button::after {
    width: 6px;
    height: 14px
  }

  .cmn_slider2.deactivated .swiper-slide {
    margin-left: auto;
    margin-right: auto
  }

  .cmn_slider3 {
    width: calc(100% + 32px);
    margin-left: -16px;
    touch-action: pan-y;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-drag: none
  }

  .cmn_slider3 .swiper {
    padding: 30px 0
  }

  .cmn_slider3 .cmn_slider3_nav {
    width: calc(100% - 32px)
  }

  .cmn_link1 {
    position: relative;
    top: auto;
    right: auto;
    text-align: right;
    text-decoration: underline;
    text-underline-offset: 5px;
    font-size: 0.875rem;
    margin-right: 0px !important;
    padding-right: 16px
  }

  .cmn_link1::after {
    right: 0
  }

  .cmn_link1.icon-arrow::after {
    width: 12px;
    height: 12px
  }

  .cmn_link1.icon-link::after {
    right: -2px
  }

  .cmn_mv {
    height: 190px
  }

  .cmn_mv .cmn_mv_h1 {
    font-size: 1.5rem
  }

  .cmn_mv .cmn_mv_h1 span {
    font-size: 0.75rem
  }

  .page_product .cmn_mv,
  .page_product_index .cmn_mv,
  .page_product_detail .cmn_mv {
    background-image: url(/assets/img/cmn/mv/product_sp.jpg)
  }

  .page_products_search .cmn_mv {
    background-image: url(/assets/img/cmn/mv/products_search_sp.jpg)
  }

  .page_casestudy .cmn_mv,
  .page_casestudy_detail .cmn_mv {
    background-image: url(/assets/img/cmn/mv/casestudy_sp.jpg)
  }

  .page_special .cmn_mv,
  .page_news .cmn_mv,
  .page_news_detail .cmn_mv,
  .page_faq .cmn_mv,
  .page_faq_detail .cmn_mv {
    background-image: url(/assets/img/cmn/mv/news_sp.jpg)
  }

  .page_catalog .cmn_mv,
  .page_catalog_dl_detail .cmn_mv {
    background-image: url(/assets/img/cmn/mv/catalog_sp.jpg)
  }

  .page_contact .cmn_mv,
  .page_contact_form .cmn_mv,
  .page_contact_complete .cmn_mv {
    background-image: url(/assets/img/cmn/mv/contact_sp.jpg)
  }

  .cmn_breadcrumbs {
    font-size: 0.75rem;
    padding: 11px 16px
  }

  .cmn_breadcrumbs .cmn_breadcrumbs_list li {
    margin-left: 10px;
    padding-left: 13px
  }

  .cmn_breadcrumbs .cmn_breadcrumbs_list li::before {
    width: 5px;
    height: 7px
  }

  .cmn_list1 {
    padding: 22px 0px;
    column-gap: 30px
  }

  .cmn_list1 li {
    width: calc((100% - 30px)*.5);
    margin: 0 0 15px 0
  }

  .cmn_list1 li a {
    display: block;
    font-size: 0.75rem;
    border-bottom: none;
    padding: 0
  }

  .cmn_list1 li a::after {
    display: none
  }

  .cmn_list1 li a .subtitle {
    display: none
  }

  .cmn_list2 {
    flex-direction: column
  }

  .cmn_list2 .cmn_list2_item {
    padding: 16px 20px 54px;
    width: 100%
  }

  .cmn_list2 .cmn_list2_item+.cmn_list2_item {
    margin-top: 16px
  }

  .cmn_list2 .cmn_list2_item .cmn_list2_item_btn {
    bottom: 16px
  }

  .cmn_layout1 {
    margin-top: 30px
  }

  .cmn_layout1 .cmn_layout1_item {
    flex-direction: column
  }

  .cmn_layout1 .cmn_layout1_item {
    margin-bottom: 55px
  }

  .cmn_layout1 .cmn_layout1_imgArea {
    width: 100%;
    padding: 0 0 12px 0
  }

  .cmn_layout1 .cmn_layout1_txtArea {
    width: 100%
  }

  .cmn_layout1 .cmn_layout1_h {
    font-size: 1.125rem
  }

  .cmn_layout1 .cmn_layout1_p {
    font-size: 0.875rem;
    margin: 10px 0 12px;
    line-height: 1.7
  }

  .cmn_layout2 {
    flex-direction: column
  }

  .cmn_layout2 {
    padding: 0 16px
  }

  .cmn_layout2 .cmn_layout2_imgArea {
    width: 100%;
    padding-top: 0;
    margin-bottom: 40px;
    border-radius: 5px
  }

  .cmn_layout2 .cmn_layout2_txtArea {
    width: 100%
  }

  .cmn_layout2 .cmn_layout2_cap {
    font-size: 0.9375rem;
    padding: 16px
  }

  .cmn_layout2 .cmn_layout2_block {
    padding-bottom: 30px;
    margin-bottom: 25px
  }

  .cmn_layout2 .cmn_layout2_h {
    font-size: 1.125rem;
    margin-bottom: 10px
  }

  .cmn_layout2 .cmn_layout2_pdf_dl {
    font-size: 0.9375rem;
    padding: 16px 16px 16px 44px;
    width: 100%;
    margin-top: 16px
  }

  .cmn_layout3 {
    flex-direction: column
  }

  .cmn_layout3 {
    margin-bottom: 55px
  }

  .cmn_layout3 .cmn_btn1 {
    width: 100%;
    height: auto;
    min-height: 55px
  }

  .cmn_layout3_imgArea {
    width: 100%;
    padding: 0 0 12px 0
  }

  .cmn_layout3_txtArea {
    width: 100%
  }

  .cmn_layout3_h {
    font-size: 1.125rem
  }

  .cmn_lead {
    line-height: 1.8;
    margin-bottom: 40px
  }

  .cmn_list_column3 {
    gap: 28px;
    margin-top: 40px
  }

  .cmn_pagination {
    margin-top: 60px
  }

  .cmn_pagination li.hideSP {
    display: none
  }

  .cmn_pagination .cmn_pagination_nbr {
    margin: 0 3px
  }

  .cmn_pagination .cmn_pagination_arrow {
    margin: 0 9px
  }

  .cmn_pagination .cmn_pagination_ellipsis {
    margin: 0 3px
  }

  .cmn_search {
    margin-bottom: 45px
  }

  .cmn_search i {
    width: 17px;
    left: 12px
  }

  .cmn_search input {
    width: calc(100% - 80px);
    border-radius: 3px 0 0 3px;
    font-size: 0.875rem;
    padding-left: 38px
  }

  .cmn_search button {
    width: 80px;
    height: 56px;
    border-radius: 0 3px 3px 0
  }

  .cmn_searchResultCount .cmn_searchResultCount_txt {
    font-size: 0.875rem
  }

  .l-modal__inner {
    padding: 50px 0
  }

  .l-modal__content {
    width: 90.6666666667vw
  }

  .l-modal__close-btn {
    top: -30px
  }

  .modal-close-btn span {
    width: 20px;
    height: 20px
  }

  .modal-close-btn span:after,
  .modal-close-btn span:before {
    content: "";
    position: absolute;
    left: -21%;
    top: 50%;
    width: 29px;
    height: 2px;
    background-color: #fff
  }

  .modal-close-btn span:before {
    transform: rotateZ(-45deg)
  }

  .modal-close-btn span:after {
    transform: rotateZ(45deg)
  }

  .cmn_checkbox_container {
    padding: 30px 20px
  }

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

  .cmn_checkbox_list li {
    width: 50%
  }

  .cmn_checkbox_list li:nth-child(n+3) {
    margin-top: 30px
  }

  .cmn_not_found {
    margin-top: 50px
  }

  .mktoForm input[type=email].mktoField,
  .mktoForm input[type=text].mktoField,
  .mktoForm input[type=tel].mktoField,
  .mktoForm textarea.mktoField,
  .mktoForm select.mktoField {
    width: 100% !important;
    padding: 10px !important
  }

  .mktoForm textarea {
    height: 7em !important
  }

  .mktoForm .mktoButton {
    font-size: 0.875rem
  }

  .mktoForm .mktoButton::after {
    right: 11px;
    width: 12x;
    height: 12px
  }

  .catalog_form_area .mktoForm input[type=email].mktoField,
  .catalog_form_area .mktoForm input[type=text].mktoField,
  .catalog_form_area .mktoForm input[type=tel].mktoField,
  .catalog_form_area .mktoForm select.mktoField {
    width: 100% !important
  }

  .contact_form_area .mktoForm .mktoRadioList>label {
    margin-bottom: 20px !important
  }

  .contact_form_area .mktoForm input[type=email].mktoField,
  .contact_form_area .mktoForm input[type=text].mktoField,
  .contact_form_area .mktoForm input[type=tel].mktoField,
  .contact_form_area .mktoForm textarea.mktoField,
  .contact_form_area .mktoForm select.mktoField {
    width: 100% !important
  }

  .cmn_card_list_column2 {
    gap: 16px
  }

  .cmn_card_list_column2>* {
    width: 100%
  }

  .cmn_card_list_column3 {
    gap: 16px
  }

  .cmn_card_list_column3>* {
    width: 100%
  }

  .cmn_message {
    padding: 0 16px
  }

  .cmn_message_head {
    font-size: 1.125rem;
    margin-bottom: 20px
  }

  .cmn_sitemap_parent_list>li {
    margin-right: -16px
  }

  .cmn_sitemap_parent_list>li>a {
    font-weight: 0.9375rem
  }

  .cmn_sitemap_sub_list>li {
    margin-bottom: 15px
  }

  .cookie-policy {
    padding: 4.2666666667vw 4.2666666667vw;
    box-shadow: 0px -.5333333333vw .8vw #dbdbdb
  }

  .cookie-policy .cookie-policy__inner {
    column-gap: 2.6666666667vw
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__text {
    font-size: 0.75rem
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn {
    width: 3.4666666667vw;
    height: 3.4666666667vw
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:after,
  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:before {
    content: "";
    position: absolute;
    left: -21%;
    top: 50%;
    width: 5vw;
    height: 2px;
    background-color: #1e1b1b
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:before {
    transform: rotateZ(-45deg)
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:after {
    transform: rotateZ(45deg)
  }

  .translation-modal .translation-container {
    padding: 4vw
  }

  .translation-modal .translation-message-en,
  .translation-modal .translation-message-jp {
    font-size: 0.75rem
  }

  .catalog_banner_area {
    margin: 50px auto 0
  }

  .cmn_catalog_banner {
    padding-bottom: 43.7317784257%;
    background-image: url("/assets/img/cmn/catalog-bnr_sp.jpg")
  }

  .cmn_catalog_banner .cmn_catalog_banner__inner {
    padding-left: 5.8309037901%
  }

  .cmn_catalog_banner .cmn_catalog_banner__title {
    font-size: min(1.125rem, 4.8vw);
    line-height: 1.5555555556
  }

  .cmn_catalog_banner .cmn_catalog_banner__title::after {
    width: 12px;
    height: 12px
  }

  .cmn_catalog_banner .cmn_catalog_banner__text {
    font-size: min(0.875rem, 3.7333333333vw)
  }

  .language_select {
    width: 24px
  }

  .language_select .language_select__btn::after {
    width: 9px;
    height: 9px
  }

  .language_select .language_select__btn span {
    display: none
  }

  .language_select .language_select__menu {
    left: -38px;
    top: 30px
  }

  .language_select .wovn-languages__container {
    padding-top: 10px
  }

  .top_mv {
    flex-direction: column
  }

  .top_mv {
    margin-bottom: 40px;
    background-color: #222
  }

  .top_mv .top_mv_search {
    width: 100%;
    background-color: #222;
    position: relative;
    height: 170px
  }

  .top_mv .top_mv_search .top_mv_search_inner {
    background-color: #fff;
    width: calc(100% - 32px);
    margin: 0;
    border-radius: 3px;
    padding: 17px 10px 16px 10px;
    transform: translateX(-50%);
    position: absolute;
    left: 50%;
    top: -55px
  }

  .top_mv .top_mv_search .top_mv_search_h {
    font-size: 1.125rem;
    text-align: center
  }

  .top_mv .top_mv_search .top_mv_search_form {
    border: none;
    padding: 0;
    margin: 12px 0 12px
  }

  .top_mv .top_mv_search .top_mv_search_input {
    width: calc(100% - 80px);
    height: 52px;
    border: 1px solid #dbdbdb;
    margin: 0;
    padding: 0 0 0 35px;
    border-radius: 3px 0 0 3px;
    font-size: 0.875rem
  }

  .top_mv .top_mv_search .top_mv_search_input:-ms-input-placeholder {
    transform: translateY(-3px)
  }

  .top_mv .top_mv_search .top_mv_search_input::placeholder {
    transform: translateY(-3px)
  }

  .top_mv .top_mv_search .cmn_btn1 {
    width: 80px;
    font-size: 0.75rem;
    border-radius: 0 3px 3px 0;
    height: 52px
  }

  .top_mv .top_mv_search .cmn_btn1::after {
    display: none
  }

  .top_mv .top_mv_search .top_mv_search_icon {
    padding: 0;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 10px
  }

  .top_mv .top_mv_search .top_mv_search_icon svg {
    width: 17px;
    height: 17px
  }

  .top_mv .top_mv_slider {
    width: 100%;
    border-radius: 0;
    min-height: inherit
  }

  .top_mv .top_mv_slider .top_mv_slider_nav {
    position: absolute;
    display: flex;
    padding: 0 16px;
    bottom: 28.2666666667vw;
    height: 2px
  }

  .top_mv .top_mv_slider .top_mv_slider_nav .swiper-pagination-bullet {
    width: 32px;
    height: 2px;
    background-color: #fff !important;
    border-radius: 0% !important
  }

  .top_mv .top_mv_slider .top_mv_slider_nav .swiper-pagination-bullet+.swiper-pagination-bullet {
    margin-left: 7px
  }

  .top_mv .top_mv_slider .top_mv_slider_nav .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #d3180c !important
  }

  .top_mv .top_mv_inner {
    height: 120.2666666667vw
  }

  .top_mv .top_mv_slide .top_mv_picture {
    display: flex;
    justify-content: center
  }

  .top_mv .top_mv_news {
    position: relative;
    left: auto;
    bottom: auto;
    padding: 9px 0px 22px 15px;
    width: 100%;
    transform: none;
    height: auto
  }

  .top_mv .top_mv_news .top_mv_news_left {
    width: calc(100% - 100px);
    flex-wrap: wrap
  }

  .top_mv .top_mv_news .top_mv_news_item {
    display: none
  }

  .top_mv .top_mv_news .top_mv_news_item:first-child {
    opacity: 1;
    display: block
  }

  .top_mv .top_mv_news .top_mv_news_item a {
    display: block
  }

  .top_mv .top_mv_news .top_mv_news_h {
    font-size: 1rem;
    padding-right: 13px
  }

  .top_mv .top_mv_news .top_mv_news_h::after {
    height: 16px
  }

  .top_mv .top_mv_news .top_mv_news_date {
    font-size: 0.75rem;
    margin: 0 4px 0 9px
  }

  .top_mv .top_mv_news .top_mv_news_cat {
    font-size: 0.5625rem;
    padding: 2px 10px
  }

  .top_mv .top_mv_news .top_mv_news_title {
    font-size: 0.75rem;
    display: block;
    width: 100%;
    margin-top: 3px;
    padding-right: 8px;
    line-height: 1.5
  }

  .top_mv .top_mv_news .top_mv_news_nav {
    width: 100px;
    align-items: flex-start
  }

  .top_mv .top_mv_news .top_mv_news_btn {
    display: none
  }

  .top_mv .top_mv_news .top_mv_news_link {
    border-right: none;
    border-radius: 5px 0 0 5px;
    overflow-wrap: anywhere;
    padding: 10px 10px 10px 40px;
    line-height: 1.3
  }

  .top_product {
    padding: 38px 0 40px
  }

  body.en .top_product .cmn_btn1 {
    letter-spacing: .05em
  }

  .top_case {
    padding: 45px 0 45px
  }

  .top_case .cmn_slider1 {
    margin-bottom: -10px
  }

  .top_news {
    padding: 15px 0 30px
  }

  .top_news .top_news_list {
    margin: 28px 0 30px 0
  }

  .top_news .top_news_list li a {
    padding: 15px 0px 15px 0
  }

  .top_news .top_news_list .top_news_list_date {
    font-size: 0.75rem
  }

  .top_news .top_news_list .top_news_list_cat {
    font-size: 0.5625rem;
    line-height: 1;
    padding: 2px 10px;
    margin: 0 0 0 5px
  }

  .top_news .top_news_list .top_news_list_title {
    font-size: 0.75rem;
    display: block;
    margin-top: 7px
  }

  .top_feat {
    padding: 35px 0 70px
  }

  .top_feat .cmn_slider1 {
    margin-bottom: -10px
  }

  .top_catalogue {
    height: 294px;
    background-image: url("/assets/img/top/catalogue01_sp.jpg");
    background-position: right center
  }

  .top_catalogue .top_catalogue_h {
    font-size: 1.5rem
  }

  .top_catalogue .top_catalogue_p {
    font-size: 0.75rem;
    margin: 25px 0 25px
  }

  .top_support {
    padding: 70px 0 69px
  }

  .top_support .top_support_p {
    font-size: 0.875rem;
    margin: 23px 0 20px;
    line-height: 1.9
  }

  .page_product .sp_toggleBox {
    margin-bottom: 10px
  }

  .page_product_detail .detail_h2 {
    margin-top: 32px
  }

  .page_casestudy .filter-list {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0
  }

  .page_casestudy .filter-list li {
    width: 50%
  }

  .page_casestudy .filter-list li:nth-child(n+3) {
    margin-top: 20px
  }

  .page_catalog .cmn_list_column3 {
    margin-top: 60px;
    padding-top: 50px
  }

  .page_faq_detail .faq_head {
    font-size: 1.125rem;
    margin: 48px 0 24px
  }

  .page_faq_detail .faq_box abbr {
    font-size: 1.125rem;
    margin-top: 2px
  }

  .page_faq_detail .faq_box .faq_box_head {
    padding: 16px 60px 16px 16px
  }

  .page_faq_detail .faq_box .faq_box_head span {
    margin-left: 10px
  }

  .page_faq_detail .faq_box .faq_box_body_inner {
    padding: 16px
  }

  .page_faq_detail .faq_box .faq_box_body_inner p {
    margin-left: 10px
  }

  .cmn_layout_download_h {
    font-size: 0.875rem
  }

  .cmn_layout_download_files_head {
    font-size: 0.9375rem
  }

  .catalog_form_area {
    padding: 20px
  }

  .page_contact_form .phone_list {
    gap: 16px
  }

  .page_contact_form .phone_list>* {
    width: 100%
  }

  .page_contact_form .contact_form_area {
    margin-top: 20px;
    padding: 40px 16px
  }

  .page_contact_complete .contact_complete_inner {
    padding: 0 16px
  }

  .page_contact_complete .contact_complete_head {
    font-size: 1.125rem;
    margin-bottom: 20px
  }

  .page_special .cmn_list_column3 {
    margin-top: 0
  }

  .page_special_detail .special_mv {
    height: 128vw
  }

  .page_special_detail .special_mv .special_mv_inner {
    padding: 0 16px
  }

  .page_special_detail .special_mv .special_mv_h1 {
    font-size: 1.5rem
  }

  .page_special_detail .special_mv .special_mv_sub {
    font-size: 0.75rem
  }

  .page_special_detail .special_ttlArea {
    padding: 50px 16px 20px
  }

  .page_special_detail .special_ttlArea .special_ttlArea_h1 {
    font-size: 1.125rem;
    line-height: 1.4
  }

  .page_special_detail .special_ttlArea .special_ttlArea_h2 {
    font-size: 0.875rem;
    margin-top: 12px
  }

  .page_special_detail .special_ttlArea .special_ttlArea_img {
    width: 54px;
    margin-top: 12px
  }

  .page_special_detail .detail_container {
    margin-top: 30px
  }

  .page_special_detail .detail_h2:not(:first-child) {
    margin-top: 56px
  }

  .page_special_detail .cmn_slider3 .swiper:not(.swiper-initialized) {
    padding-left: 16px;
    padding-right: 16px
  }
}

@media only screen and (min-width: 768px) {
  .only-sp {
    display: none !important
  }

  .cmn_section {
    margin-bottom: 80px
  }

  .header .header_nav li a {
    background-image: url("/assets/img/cmn/pixel.jpg");
    background-position: right bottom;
    background-size: 0 2px
  }

  .header .header_greyBtn>li:nth-child(n+2) {
    margin-left: 10px
  }

  .menu .menu_nav1 li a {
    background-image: url("/assets/img/cmn/pixel.jpg");
    background-position: right bottom;
    background-size: 0 2px
  }

  .menu .menu_nav2 li a span {
    transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    padding-bottom: 1px;
    background-image: url("/assets/img/cmn/pixel.jpg");
    background-position: right bottom;
    background-size: 0 1px
  }

  .menu_btn_wrapper {
    min-width: 1120px
  }

  .footer .footer_left .footer_left_links li a span {
    padding-bottom: 2px;
    transition: background-size .4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    background-image: url("/assets/img/cmn/pixel_white.jpg");
    background-position: right bottom;
    background-size: 0 1px
  }

  .footer .footer_product_h {
    background-image: url("/assets/img/cmn/pixel_white.jpg");
    background-position: right bottom;
    background-size: 0 1px
  }

  .footer .footer_product_list li a {
    background-image: url("/assets/img/cmn/pixel_white.jpg");
    background-position: right bottom;
    background-size: 0 1px
  }

  .footer .footer_product_nav li a {
    background-image: url("/assets/img/cmn/pixel_white.jpg");
    background-position: right bottom;
    background-size: 0 1px
  }

  .pc_toggleBox .pc_toggleBox_content {
    transition: height .5s cubic-bezier(0.215, 0.61, 0.355, 1);
    overflow: hidden;
    height: var(--height)
  }

  .pc_toggleBox .pc_toggleBox_inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
  }

  .pc_toggleBox.is-open .pc_toggleBox_btn::after {
    transform: translateY(-50%) rotate(-90deg)
  }

  .detail_container {
    max-width: 880px
  }

  .detail_container:not(:last-child) {
    padding-bottom: 60px;
    border-bottom: 1px solid #dbdbdb;
    margin-bottom: 110px
  }

  .detail_layout1.detail_layout1_reverse {
    flex-direction: row-reverse
  }

  .detail_img_list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 24px;
    margin: 32px auto
  }

  .detail_img_list_item {
    width: 48.4210526316%
  }

  .detail_ttlArea {
    width: calc(100% + 40px);
    margin-left: -20px
  }

  .detail_ttlArea .detail_ttlArea_inner {
    max-width: 880px;
    padding-right: 90px
  }

  .detail_ttlArea .detail_ttlArea_img {
    position: absolute;
    top: 0;
    right: 0;
    width: 83px
  }

  .detail_layout2 {
    margin: 40px auto 60px;
    max-width: 880px
  }

  .detail_layout2 .detail_layout2_txt {
    width: 56.6%;
    padding-top: 2px
  }

  .detail_layout2 .detail_layout2_btnArea {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 25px
  }

  .detail_layout3.detail_layout3_reverse {
    flex-direction: row-reverse
  }

  .detail_layout3 .detail_layout3_img {
    width: 31.6%;
    padding-top: 3px
  }

  .detail_layout3 .detail_layout3_txt {
    width: 64.5%;
    padding-top: 2px
  }

  .detail_layout4 .detail_layout4_img {
    width: 31.81%
  }

  .detail_layout4.detail_layout4_portrait .detail_layout4_img {
    width: 26.13%
  }

  .detail_layout4.detail_layout4_reverse {
    flex-direction: row-reverse
  }

  .detail_layout4.detail_layout4_reverse {
    flex-direction: row-reverse
  }

  .detail_tableWrapper {
    padding-bottom: 1px
  }

  .detail_tableWrapper>table {
    table-layout: fixed
  }

  .detail_table2 td:first-child {
    width: 183px
  }

  .detail_table4 th:first-child {
    width: 183px
  }

  .phone_table th {
    width: 30%
  }

  .detail_card_list {
    gap: 32px;
    margin: 32px auto
  }

  .news_select .news_select_top {
    display: flex;
    flex-wrap: wrap
  }

  .news_select .news_select_h {
    margin-top: -5px
  }

  .news_select .news_select_body {
    flex: 1 1 0
  }

  .news_select .news_select_list {
    margin-left: 30px
  }

  .news_select .news_select_list li {
    margin-right: 30px
  }

  .news_list .news_list_txt {
    display: flex;
    align-items: center
  }

  .news_list .news_list_title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-left: 15px
  }

  .news_list .news_list_date+.news_list_title {
    margin-left: 20px
  }

  .cmn_card4 {
    box-shadow: 0px 0px 0px 0px rgba(33, 33, 33, .16);
    transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
  }

  .cmn_card5 {
    box-shadow: 0px 0px 0px 0px rgba(33, 33, 33, .16);
    transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
  }

  .cmn_card5 .cmn_card5_frame {
    height: 205px
  }

  .cmn_card_phone dt {
    font-size: 1.125rem;
    padding: 6px 0
  }

  .cmn_card_phone dd {
    font-size: 1.125rem;
    padding: 20px 0;
    border-radius: 0 0 5px 5px
  }

  .cmn_card7 {
    box-shadow: 0px 0px 0px 0px rgba(33, 33, 33, .16);
    transition: box-shadow .2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
  }

  .cmn_fixedBtn {
    padding: 12px 8px;
    border-radius: 5px;
    right: 16px;
    bottom: 16px;
    width: 190px;
    box-shadow: 0px 0px 40px rgba(33, 33, 33, .16)
  }

  .cmn_fixedBtn.abs {
    position: absolute
  }

  .cmn_fixedBtn .cmn_fixedBtn_link {
    font-size: 0.875rem;
    width: 100%;
    height: 56px;
    border-radius: 5px;
    padding: 0 10px;
    line-height: 1.3
  }

  body.en .cmn_fixedBtn .cmn_fixedBtn_link {
    font-size: 0.8125rem;
    letter-spacing: 0
  }

  .cmn_fixedBtn .cmn_fixedBtn_link:first-child {
    margin-bottom: 8px
  }

  .cmn_btn1.size-xxl::after {
    position: relative;
    transform: none;
    top: auto;
    right: auto;
    margin-left: 10px
  }

  .cmn_btn3 {
    width: 48%;
    height: 81px;
    border-radius: 5px
  }

  .cmn_btn3 span {
    font-size: 0.875rem
  }

  .cmn_btn3 span::before {
    transform: translateX(-50%);
    position: absolute;
    left: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
  }

  .cmn_btn3_pdf {
    padding-top: 37px
  }

  body.en .cmn_btn3_pdf span {
    font-size: 0.8125rem
  }

  .cmn_btn3_mail {
    padding-top: 39px
  }

  .cmn_btn3_mail span::before {
    width: 16px;
    height: 13px;
    top: -25px
  }

  .cmn_btn6 {
    width: 450px;
    min-height: 80px
  }

  .cmn_btn7 {
    min-height: 56px
  }

  .cmn-ok-btn {
    width: 100px;
    padding: 5px 0
  }

  .cmn_slider1.deactivated {
    width: 1000px;
    margin-left: auto;
    margin-right: auto
  }

  .cmn_slider3 {
    width: calc(100% + 60px);
    margin-left: -30px
  }

  .cmn_slider3 .cmn_slider3_nav {
    width: calc(100% - 20px)
  }

  .cmn_link1 {
    background-image: url("/assets/img/cmn/pixel.jpg");
    background-position: right bottom;
    background-size: 0 1px
  }

  .page_product .cmn_mv,
  .page_product_index .cmn_mv,
  .page_product_detail .cmn_mv {
    background-image: url(/assets/img/cmn/mv/product.jpg)
  }

  .page_products_search .cmn_mv {
    background-image: url(/assets/img/cmn/mv/products_search.jpg)
  }

  .page_casestudy .cmn_mv,
  .page_casestudy_detail .cmn_mv {
    background-image: url(/assets/img/cmn/mv/casestudy.jpg)
  }

  .page_special .cmn_mv,
  .page_news .cmn_mv,
  .page_news_detail .cmn_mv,
  .page_faq .cmn_mv,
  .page_faq_detail .cmn_mv {
    background-image: url(/assets/img/cmn/mv/news.jpg)
  }

  .page_catalog .cmn_mv,
  .page_catalog_dl_detail .cmn_mv {
    background-image: url(/assets/img/cmn/mv/catalog.jpg)
  }

  .page_contact .cmn_mv,
  .page_contact_form .cmn_mv,
  .page_contact_complete .cmn_mv {
    background-image: url(/assets/img/cmn/mv/contact.jpg)
  }

  .cmn_list1::after {
    content: "";
    width: 45.6%
  }

  .cmn_list1 li {
    width: 45.6%;
    display: flex;
    flex-direction: column;
    flex-grow: 1
  }

  .cmn_list1 li a {
    display: flex;
    flex-direction: column;
    flex-grow: 1
  }

  .cmn_list1 li a .product-name {
    font-weight: bold
  }

  .cmn_list1 li a .subtitle {
    font-size: 0.75rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden
  }

  .cmn_list2 .cmn_list2_item {
    padding: 23px 31px 58px;
    width: 48.1%;
    margin-bottom: 32px
  }

  .cmn_layout3.cmn_layout3_reverse {
    flex-direction: row-reverse
  }

  .cmn_layout3 .cmn_btn1 {
    min-width: 220px;
    min-height: 48px
  }

  .cmn_list_column3 {
    gap: 38px
  }

  .l-modal__inner {
    padding: 50px 0
  }

  .l-modal__content {
    width: 800px
  }

  .l-modal__close-btn {
    top: -45px
  }

  .modal-close-btn {
    transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1)
  }

  .modal-close-btn span {
    width: 30px;
    height: 30px
  }

  .modal-close-btn span:after,
  .modal-close-btn span:before {
    content: "";
    position: absolute;
    left: -21%;
    top: 50%;
    width: 43px;
    height: 2px;
    background-color: #fff
  }

  .modal-close-btn span:before {
    transform: rotateZ(-45deg)
  }

  .modal-close-btn span:after {
    transform: rotateZ(45deg)
  }

  .cmn_checkbox_container {
    padding: 40px 60px
  }

  .cmn_checkbox_list {
    column-count: 4
  }

  .cmn_checkbox_list li {
    margin-right: 20px;
    margin-bottom: 20px;
    break-inside: avoid
  }

  .cmn_not_found {
    margin-top: 80px
  }

  .contact_form_area .mktoForm .mktoRadioList>label {
    margin-bottom: 10px !important
  }

  .contact_form_area .mktoForm fieldset.mktoFormCol {
    padding: 20px 0
  }

  .contact_form_area .mktoForm .mktoButton {
    width: 480px
  }

  .cmn_card_list_column2 {
    gap: 26px
  }

  .cmn_card_list_column2>* {
    width: 48.7%
  }

  .cmn_card_list_column3 {
    gap: 26px
  }

  .cmn_card_list_column3>* {
    width: 31.6%
  }

  .cmn_message {
    width: 750px;
    margin: 0 auto 0
  }

  .cmn_message_head {
    font-size: 2rem;
    margin-bottom: 40px
  }

  .cmn_message_body {
    text-align: center
  }

  .cmn_sitemap_parent_list {
    column-count: 2
  }

  .cmn_sitemap_parent_list>li {
    break-inside: avoid
  }

  .cmn_sitemap_sub_list {
    padding-bottom: 60px;
    padding-right: 260px;
    column-count: 2
  }

  .cmn_sitemap_sub_list>li {
    break-inside: avoid
  }

  .cookie-policy {
    min-width: 1120px;
    padding: 16px 0;
    box-shadow: 0px -2px 3px #dbdbdb
  }

  .cookie-policy .cookie-policy__inner {
    width: 950px
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__text {
    font-size: 0.8125rem
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn {
    width: 10px;
    height: 10px;
    margin-bottom: 20px
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:after,
  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:before {
    content: "";
    position: absolute;
    left: -21%;
    top: 50%;
    width: 15px;
    height: 2px;
    background-color: #1e1b1b
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:before {
    transform: rotateZ(-45deg)
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:after {
    transform: rotateZ(45deg)
  }

  .translation-modal .translation-container {
    padding: 20px
  }

  .translation-modal .l-modal__content {
    width: 820px
  }

  .translation-modal .translation-message-en,
  .translation-modal .translation-message-jp {
    font-size: 0.8125rem
  }

  .catalog_banner_area {
    margin: 60px auto 0
  }

  .cmn_catalog_banner {
    height: 200px;
    background-image: url("/assets/img/cmn/catalog-bnr.jpg")
  }

  .cmn_catalog_banner .cmn_catalog_banner__inner {
    padding-left: 50px
  }

  .cmn_catalog_banner .cmn_catalog_banner__title {
    font-size: 1.5rem;
    line-height: 1.5833333333
  }

  .cmn_catalog_banner .cmn_catalog_banner__title::after {
    width: 16px;
    height: 16px
  }

  .cmn_catalog_banner .cmn_catalog_banner__text {
    font-size: 0.9375rem
  }

  .top_mv {
    max-height: calc(100vh - 87px);
    overflow: hidden;
    position: relative
  }

  .top_mv::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 100%;
    height: 80px;
    background-color: #fff
  }

  .top_mv .top_mv_slider .top_mv_slider_nav {
    bottom: auto !important;
    left: auto !important;
    width: auto !important;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 45px
  }

  .top_mv .top_mv_slider .top_mv_slider_nav .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 16px 0 !important;
    border-radius: 50%;
    position: relative;
    cursor: pointer
  }

  .top_mv .top_mv_slider .top_mv_slider_nav .swiper-pagination-bullet::after {
    content: "";
    width: 17px;
    opacity: 0;
    height: 17px;
    border: 1px solid #fff;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    transition: opacity .2s ease-in-out
  }

  .top_mv .top_mv_slider .top_mv_slider_nav .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
    opacity: 1
  }

  .top_mv .top_mv_inner {
    padding-bottom: 61.7%
  }

  .top_mv .top_mv_news .top_mv_news_textLeft {
    display: flex;
    align-items: center;
    margin-right: 12px
  }

  .top_product .cmn_btn1 {
    margin-top: 50px
  }

  .top_news .top_news_list li a:hover {
    box-shadow: 0px 0px 37.2px 2.8px rgba(33, 33, 33, .16);
    transform: scaleY(1.015)
  }

  .top_news .top_news_list li a:hover .top_news_list_txt {
    transform: translateX(30px)
  }

  .page_product_detail .detail_h2 {
    margin-top: 40px
  }

  .page_product_detail.en .detail_layout2 .cmn_btn4 {
    letter-spacing: .02em
  }

  .page_casestudy .filter-group {
    border: 1px solid #dbdbdb;
    padding: 12px
  }

  .page_casestudy .filter-group:not(.is-open) .cmn_checkbox,
  .page_casestudy .filter-group:not(.is-open) .pc_toggleBox_closeBtn {
    visibility: hidden
  }

  .page_casestudy .filter-block {
    display: flex;
    width: 918px;
    margin: 0 auto 0;
    padding: 40px 20px
  }

  .page_casestudy .filter-block+.filter-block {
    border-top: 1px solid #dbdbdb
  }

  .page_casestudy .filter-head {
    width: 200px;
    font-size: 1.125rem;
    font-weight: 700;
    flex-shrink: 0
  }

  .page_casestudy .filter-list {
    column-count: 3;
    margin-bottom: -20px
  }

  .page_casestudy .filter-list li {
    width: 180px;
    margin-right: 20px;
    margin-bottom: 20px;
    break-inside: avoid
  }

  .page_casestudy .pc_toggleBox_closeBtn {
    width: 560px;
    margin: 0 auto 28px
  }

  .page_catalog .cmn_list_column3 {
    margin-top: 80px;
    padding-top: 100px
  }

  .page_faq_detail .faq_head {
    font-size: 1.5rem;
    margin: 64px 0 40px
  }

  .page_contact_form .phone_list {
    gap: 23px
  }

  .page_contact_form .phone_list>* {
    width: 31.59%
  }

  .page_contact_form .contact_form_area {
    margin-top: 30px;
    padding: 60px 100px
  }

  .page_contact_complete .contact_complete_inner {
    width: 750px;
    margin: 0 auto 0
  }

  .page_contact_complete .contact_complete_head {
    font-size: 2rem;
    margin-bottom: 40px
  }

  .page_special_detail .cmn_mainContainer {
    padding-bottom: 130px
  }

  .page_special_detail .special_ttlArea .special_ttlArea_inner {
    max-width: 880px
  }

  .page_special_detail .special_ttlArea .special_ttlArea_img {
    position: absolute;
    top: 0;
    right: 0;
    width: 83px
  }

  .page_special_detail .detail_section2>.cmn_div {
    margin-bottom: 50px
  }
}

@media(hover: hover)and (pointer: fine) {
  .hover-opacity:hover {
    opacity: .7
  }

  .cmn_linkTitle:hover span:after {
    background-image: url(/assets/img/cmn/icon_btn_bk.svg)
  }

  .cmn_linkHead a:hover {
    color: #d3180c;
    transform: translateX(5px)
  }

  .cmn_linkHead a:hover span::after {
    background-image: url(/assets/img/cmn/icon_btn_bk.svg)
  }

  .cmn_sp_linkHead:hover span::after {
    background-image: url(/assets/img/cmn/icon_btn_bk.svg)
  }

  .header .header_nav li a:hover {
    background-position: left bottom;
    background-size: 100% 2px
  }

  .header .header_greyBtn>li a:hover,
  .header .header_greyBtn>li button:hover {
    background-color: #dbdbdb
  }

  .header_siteSearch .mf-search-box .mf-search-bar .mf-search-bar_button:hover,
  .main .mf-search-box .mf-search-bar .mf-search-bar_button:hover {
    background-color: #d3180c
  }

  .menu .menu_form button:hover {
    background-color: #d3180c
  }

  .menu .menu_nav1 li a:hover {
    background-position: left bottom;
    background-size: 100% 2px
  }

  .menu .menu_nav2 li a:hover span {
    background-position: left bottom;
    background-size: 100% 1px
  }

  .menu .menu_lang:hover {
    background-color: #dbdbdb
  }

  .menu_btn:hover .menu_hamburger:before {
    transform: translate(-50%, -7px)
  }

  .menu_btn:hover .menu_hamburger:after {
    transform: translate(-50%, 6px)
  }

  .menu-is-open .menu_btn:hover .menu_hamburger:before,
  .menu-is-open .menu_btn:hover .menu_hamburger:after {
    background-color: #222
  }

  .footer .footer_left .footer_left_links li a:hover span {
    background-position: left bottom;
    background-size: 100% 1px
  }

  .footer .footer_product_h:hover {
    background-position: left bottom;
    background-size: 100% 1px
  }

  .footer .footer_product_list li a:hover {
    background-position: left bottom;
    background-size: 100% 1px
  }

  .footer .footer_product_nav li a:hover {
    background-position: left bottom;
    background-size: 100% 1px
  }

  .suggest .suggest_list li a:hover {
    background-color: #f4f4f4
  }

  .news_list li a:hover {
    box-shadow: 0px 0px 37.2px 2.8px rgba(33, 33, 33, .16);
    transform: scaleY(1.015)
  }

  .news_list li a:hover .news_list_txt {
    transform: translateX(30px)
  }

  .cmn_card1:hover {
    z-index: 1
  }

  .cmn_card1:hover::after {
    opacity: 1;
    transform: translate(-50%, 0px) scale(1, 1)
  }

  .cmn_card1:hover .cmn_card1_frame {
    padding: 0
  }

  .cmn_card1:hover .cmn_card1_img {
    border-radius: 5px 5px 0px 0px
  }

  .cmn_card2:hover {
    box-shadow: 0px 0px 30px 2.8px rgba(33, 33, 33, .16)
  }

  .cmn_card2:hover .cmn_card2_txtArea {
    border-color: #fff
  }

  .cmn_card2:hover .cmn_card2_img {
    transform: translate(-50%, -50%) scale(1.05)
  }

  .cmn_card3:hover {
    box-shadow: 0px 0px 37.2px 2.8px rgba(33, 33, 33, .16);
    border-color: #fff
  }

  .cmn_card4:hover {
    box-shadow: 0px 0px 30px 2.8px rgba(33, 33, 33, .16)
  }

  .cmn_card4:hover .cmn_card4_txtArea {
    border-color: #fff
  }

  .cmn_card4:hover .cmn_card4_img {
    transform: translate(-50%, -50%) scale(1.05)
  }

  .cmn_card5:hover {
    box-shadow: 0px 0px 30px 2.8px rgba(33, 33, 33, .16)
  }

  .cmn_card5:hover .cmn_card5_txtArea {
    border-color: #fff
  }

  .cmn_card5:hover .cmn_card5_img {
    transform: translate(-50%, -50%) scale(1.05)
  }

  .cmn_card6:hover .cmn_card6_inner {
    box-shadow: 0px 0px 37.2px 2.8px rgba(33, 33, 33, .16);
    border-color: #fff
  }

  a.cmn_card7:hover {
    box-shadow: 0px 0px 30px 2.8px rgba(33, 33, 33, .16)
  }

  a.cmn_card7:hover .cmn_card7_txtArea {
    border-color: #fff
  }

  a.cmn_card7:hover .cmn_card7_img {
    transform: translate(-50%, -50%) scale(1.05)
  }

  .cmn_fixedBtn .cmn_fixedBtn_link:hover {
    background-color: #222
  }

  .cmn_fixedBtn .cmn_fixedBtn_link:hover::after {
    background-image: url(/assets/img/cmn/icon_btn_red.svg)
  }

  .cmn_btn1.black:hover {
    background-color: #d3180c
  }

  .cmn_btn1.black:hover::after {
    background-image: url(/assets/img/cmn/icon_btn_bk.svg)
  }

  .cmn_btn1.red:hover {
    background-color: #222
  }

  .cmn_btn1.red:hover::after {
    background-image: url(/assets/img/cmn/icon_btn_red.svg)
  }

  .cmn_btn2:hover {
    background-color: #d3180c;
    border-color: #d3180c;
    color: #fff
  }

  .cmn_btn2:hover::after {
    background-image: url(/assets/img/cmn/icon_caret.svg)
  }

  .cmn_btn3:hover {
    background-color: #222
  }

  .cmn_btn4:hover {
    background-color: #222
  }

  .cmn_btn4:hover::after {
    background-image: url(/assets/img/cmn/icon_btn_red.svg)
  }

  .cmn_btn5:hover {
    background-color: #222
  }

  .cmn_btn5:hover::after {
    background-image: url(/assets/img/cmn/icon_btn_red.svg)
  }

  .cmn_video_modal_btn:hover::after {
    transform: scale(1.05)
  }

  .cmn_btn6:hover {
    background-color: #222
  }

  .cmn_btn7:hover {
    background-color: #222
  }

  .cmn_btn_large:hover {
    background-color: #222
  }

  .cmn-ok-btn:hover {
    background-color: #d3180c
  }

  .cmn_contact:hover::after,
  .cmn_contact:hover::before {
    transform: translateY(-100%)
  }

  .cmn_slider1 .cmn_slider1_nav button:hover {
    opacity: 1
  }

  .cmn_slider2 .cmn_slider2_nav button:hover:not(.swiper-button-disabled) {
    opacity: 1
  }

  .cmn_slider3 .cmn_slider3_nav button:hover:not(.swiper-button-disabled) {
    opacity: 1
  }

  .cmn_link1:hover {
    background-position: left bottom;
    background-size: 100% 1px
  }

  .cmn-text-link:hover {
    text-decoration: none
  }

  .cmn-arrow-link:hover {
    text-decoration: none
  }

  .cmn-arrow-link:hover::after {
    right: -18px
  }

  .cmn_list1 li a:hover {
    box-shadow: 0px 0px 37.2px 2.8px rgba(33, 33, 33, .16);
    transform: scaleY(1.015);
    border-color: #fff;
    border-radius: 5px
  }

  .cmn_list1 li a:hover span {
    transform: translateX(17px)
  }

  .cmn_list2 .cmn_list2_item:hover {
    border-color: #fff;
    box-shadow: 0px 0px 40px rgba(0, 0, 0, .16)
  }

  .cmn_list3_item:hover {
    border-color: #fff;
    box-shadow: 0px 0px 40px rgba(0, 0, 0, .16)
  }

  .cmn_layout2 .cmn_layout2_dl:hover {
    background-color: #222
  }

  .cmn_layout2 .cmn_layout2_pdf_dl:hover {
    background-color: #222
  }

  .cmn_pagination .cmn_pagination_nbr a:hover,
  .cmn_pagination .cmn_pagination_nbr span:hover,
  .cmn_pagination .cmn_pagination_nbr button:hover {
    background-color: #d3180c;
    color: #fff
  }

  .cmn_pagination .cmn_pagination_arrow a:hover,
  .cmn_pagination .cmn_pagination_arrow span:hover,
  .cmn_pagination .cmn_pagination_arrow button:hover {
    background-color: #d3180c
  }

  .modal-close-btn:hover {
    transform: scale(1.1)
  }

  .cmn_banner[href]:hover {
    opacity: .8
  }

  .mktoForm .mktoHtmlText.mktoHasWidth a:hover {
    text-decoration: none
  }

  .mktoForm .mktoButton:hover {
    background-color: #222 !important
  }

  .mktoForm .mktoButton:hover {
    background-color: #222
  }

  .mktoForm .mktoButton:hover::after {
    background-image: url(/assets/img/cmn/icon_btn_red.svg)
  }

  .cmn_sitemap_parent_list>li>a:hover span {
    background-position: left bottom;
    background-size: 100% 1px
  }

  .cmn_sitemap_sub_list a:hover span {
    background-position: left bottom;
    background-size: 100% 1px
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:hover::before,
  .cookie-policy .cookie-policy__inner .cookie-policy__btns .cookie-policy__cross-btn:hover::after {
    background-color: #d3180c
  }

  .cookie-policy .cookie-policy__inner .cookie-policy__link:hover {
    text-decoration: none
  }

  .cmn_catalog_banner:hover {
    opacity: .8
  }

  .language_select .wovn-switch:hover {
    opacity: .8
  }

  .page_faq_detail .faq_box .faq_box_head:hover {
    background-color: #222;
    color: #fff
  }

  .page_faq_detail .faq_box .faq_box_head:hover .faq_box_icon {
    background-image: url("/assets/img/cmn/icon_caret_down.svg")
  }

  .page_faq_detail .faq_box .faq_box_body_inner a:hover {
    text-decoration: none
  }

  .page_faq_detail .faq_box.is-open .faq_box_head:hover .faq_box_icon {
    background-image: url("/assets/img/cmn/icon_caret_up.svg")
  }

  .page_news_detail p a:hover {
    text-decoration: none
  }

  .page_special_detail p a:hover {
    text-decoration: none
  }
}

@media only screen and (min-width: 768px)and (max-width: 1250px) {
  .header {
    padding-right: 170px
  }

  .header .header_greyBtn {
    margin-left: 20px
  }
}

@media only screen and (min-width: 768px)and (max-width: 1280px) {
  .header .header_nav li {
    margin-left: 20px
  }
}

@media only screen and (min-width: 768px)and (max-width: 1120px) {
  body.tablet .header .header_nav li a {
    font-size: 0.71875rem
  }

  body.tablet .top_mv {
    max-height: none
  }

  body.tablet .top_mv::after {
    display: none
  }

  body.tablet .top_mv .top_mv_news {
    width: 100%
  }

  body.tablet .top_mv .top_mv_news .top_mv_news_left {
    width: calc(100% - 200px)
  }

  body.tablet .top_mv .top_mv_news .top_mv_news_date {
    font-size: 0.75rem;
    margin-left: 0
  }

  body.tablet .top_mv .top_mv_news .top_mv_news_cat {
    font-size: 0.75rem
  }

  body.tablet .top_mv .top_mv_news .top_mv_news_title {
    font-size: 0.75rem
  }
}

@media only screen and (max-width: 767px)and (max-width: 767px) {
  .detail_layout2 {
    padding: 0 16px
  }
}

@media only screen and (min-width: 768px)and (max-width: 767px) {
  .detail_layout2 .detail_layout2_btnArea {
    flex-direction: column
  }
}

@media print {
  .cookie-policy {
    display: none !important
  }
}

@media only screen and (min-width: 1191px) {
  .language_select {
    width: 107px
  }

  .language_select .language_select__btn {
    column-gap: 8px;
    padding: 0 10px
  }

  .language_select .language_select__menu {
    left: 0;
    top: 0
  }
}

@media only screen and (min-width: 768px)and (max-width: 1190px) {
  .language_select {
    width: 24px
  }

  .language_select .language_select__btn span {
    display: none
  }

  .language_select .language_select__menu {
    left: -43px;
    top: 30px
  }

  .language_select .wovn-languages__container {
    padding-top: 10px
  }
}

/*# sourceMappingURL=cmn.css.map */
