@charset "UTF-8";
@media print {
  .global-nav,
  .side-bar,
  .breadcrumbs,
  .anchor-link,
  .print,
  .header__navigation,
  .btn__small,
  .btn__midium,
  .btn__large,
  .pdf-download,
  .footer,
  .sp-only {
    display: none;
  }
  .content__main,
  .content__wrap {
    width: 1080px !important;
  }
  .content__main-center {
    zoom: 90%;
  }
  header {
    position: absolute !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    height: 0 !important;
    top: -40px !important;
  }
  header .header__logo {
    position: absolute;
    top: 0 !important;
  }
  header .header__function {
    display: none;
  }
  header .header__contact {
    display: none;
  }
  header .header__language {
    display: none;
  }
  header .header__search {
    display: none;
  }
  header .header__font {
    display: none;
  }
}
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  block-size: 100%;
  block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}

:where(hr) {
  border: none;
  -webkit-border-before: 1px solid;
          border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  width: 100%;
  margin: 0 auto;
  -webkit-font-smoothing: antialiased;
  position: relative;
  background-color: var(--bg-color, #fff);
  color: var(--base-font-color, #000);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.6;
  color: #000000;
  letter-spacing: 0.05rem;
}
body.fixed {
  width: 100%;
  position: fixed;
  top: 0;
}
body.active {
  height: 100%;
  overflow: hidden;
}
  
.contact_btn {
  position: relative;
  z-index: 999;
  margin-bottom: 60px;
}
.contact_btn dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
}
.contact_btn dt {
  position: relative;
  width: 48%;
  color: #666666;
  font-weight: 500;
}
.contact_btn dd {
  text-align: left;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 52%;
  line-height: 2;
}
.contact_btn dd a:hover {
  color: #fff;
  text-decoration: underline;
}

@media screen and (min-width: 1240px) {
  body {
    overflow-x: hidden;
  }
}
a {
  color: #000000;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
a:hover {
  color: #e6001b;
  cursor: pointer;
}

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

svg {
  vertical-align: bottom;
}

p {
  line-height: 2;
}
p:not(:last-of-type) {
  margin-bottom: 1em;
}

@media screen and (max-width: 763px) {
  .pc-only {
    display: none !important;
  }
  table.recruit_ratio th{
    font-size: 0.8rem;
    padding: 1rem 0.3rem;
    display: table-cell !important;
  }
  table.recruit_ratio td{
    font-size: 0.8rem;
    padding: 1rem 0.5rem;
    display: table-cell !important;
  }
}
@media screen and (min-width: 1024px) {
  .tb-only {
    display: none;
  }
}
@media screen and (min-width: 764px) {
  .sp-only {
    display: none !important;
  }
}
header {
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100px;
  top: 0;
  background: #fff;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}
header::after {
  position: relative;
}
header.hide {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
header .header {
  position: relative;
  width: 1240px;
  margin: auto;
  padding: 0 20px;
}
header .header__logo {
  position: absolute;
  z-index: 9999;
  top: 32px;
  width: 220px;
  height: 36px;
}
header .header__logo a {
  display: block;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
header .header__logo a:hover {
  opacity: 0.7;
}
header .header__function {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 1rem;
}
header .header__contact p {
  padding-left: 1.5rem;
  font-size: 15px;
  font-weight: 500;
  background: url(/_assets/img/common/ico_contact.svg) no-repeat left center;
  background-size: 18px 14px;
}
header .header__language {
  margin-left: 2rem;
}
header .header__language p {
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
header .header__search {
  margin-left: 2rem;
}
header .header__search input:nth-child(4) {
  display: none;
}
header .header__search-input {
  background-color: #f5f5f5;
  background-image: url(/_assets/img/common/ico_search.svg);
  background-repeat: no-repeat;
  background-position: 10px;
  border: 1px #d9d9d9 solid;
  border-radius: 999px;
  width: 150px;
  height: 28px;
  padding-left: 2rem;
}
header .header__search-input::-webkit-input-placeholder {
  font-size: 14px;
  font-weight: 500;
}
header .header__search-input::-moz-placeholder {
  font-size: 14px;
  font-weight: 500;
}
header .header__search-input:-ms-input-placeholder {
  font-size: 14px;
  font-weight: 500;
}
header .header__search-input::-ms-input-placeholder {
  font-size: 14px;
  font-weight: 500;
}
header .header__search-input::placeholder {
  font-size: 14px;
  font-weight: 500;
}
header .header__font {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 1rem;
}
header .header__font p {
  margin-right: 0.5rem;
  font-size: 12px;
}
header .header__font ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  width: 86px;
  height: 28px;
  background: #f5f5f5;
  border-radius: 4px;
}
header .header__font li {
  width: 50%;
  text-align: center;
  cursor: pointer;
  font-size: 16px;
}
header .header__font .selected {
  background: #E9E9E9;
  border-radius: 4px;
}
header .header__font button {
  background: none;
  border: none;
}

.menu-btn {
  display: none;
}
.menu-btn:after {
  content: "";
  width: 36px;
  height: 36px;
  background: url(/_assets/img/common/ico_menu.svg) no-repeat;
  position: absolute;
  top: 12px;
  right: 20px;
}
.menu-btn.close::after {
  background: url(/_assets/img/common/ico_close.svg) no-repeat;
}

.menu-dropdown-icon:before {
  content: "";
  position: absolute;
  right: 4vw;
  padding-top: 2.5rem;
  background: url(/_assets/img/common/ico_arrow-red-white_down.svg) no-repeat bottom right;
  width: 16px;
  height: 16px;
  display: none;
  cursor: pointer;
}
.menu-dropdown-icon.close::before {
  background: url(/_assets/img/common/ico_arrow-red-white_up.svg) no-repeat bottom right;
}

.global-nav {
  position: relative;
  padding-top: 0.75rem;
}
.global-nav__function {
  display: none;
}
.global-nav ul {
  position: relative;
  text-align: right;
  min-width: 944px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.global-nav ul:before, .global-nav ul:after {
  content: "";
  display: table;
}
.global-nav li.none:hover::after {
  display: none;
}
.global-nav li:hover {
  background: url(/_assets/img/common/ico_arrow_nav.svg) no-repeat bottom center;
  background-size: 24px;
}
.global-nav .global-nav__item {
  display: inline;
  font-size: 18px;
  font-weight: 500;
  margin-left: 2.5rem;
  padding-bottom: 20px;
}
.global-nav .global-nav__item:first-child {
  display: none;
}
.global-nav__contents {
  z-index: 999;
  display: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: rgba(245, 245, 245, 0.95);
  left: 0;
  position: absolute;
  top: 42px;
  width: 100vw;
  text-align: left;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}
.global-nav__contents.active {
  display: block;
}
.global-nav.l-size .global-nav__item {
  font-size: 18px;
  padding-left: 0;
  margin-left: 2.3rem;
}
.global-nav.l-size .global-nav__contents {
  top: 40px;
}
.global-nav__head {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(70%, #e6001b), to(#E69431));
  background-image: -webkit-linear-gradient(left, #e6001b 70%, #E69431);
  background-image: linear-gradient(90deg, #e6001b 70%, #E69431);
}
.global-nav p {
  width: 1200px;
  margin: auto;
  color: #fff;
  padding: 1.25rem;
  font-size: 1.5rem;
  background: url(/_assets/img/common/ico_arrow_white.svg) no-repeat center left;
}
.global-nav p a {
  color: #fff;
}
.global-nav p a:hover {
  opacity: 0.7;
}
.global-nav__list {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  width: 1240px;
  margin: auto;
  padding: 20px 20px 60px 20px;
}
.global-nav__list ul {
  min-width: 270px;
  width: 270px;
  margin-right: 40px;
}
.global-nav__list li {
  margin-left: 2rem;
  margin-bottom: 0.75rem;
  padding-left: 1.5rem;
  font-size: 0.825rem;
  background: url(/_assets/img/common/ico_arrow-red-white.svg) no-repeat center left;
  text-align: left;
}
.global-nav__list li:hover::after {
  display: none;
}
.global-nav__list li:hover {
  background: url(/_assets/img/common/ico_arrow-red-white.svg) no-repeat center left;
}
.global-nav__list li.parent {
  margin-bottom: 0.75rem;
  margin-left: 0;
  font-size: initial;
  background: url(/_assets/img/common/ico_arrow.svg) no-repeat center left 0.5rem #fff;
}
.global-nav__list li.parent:hover::after {
  display: none;
}
.global-nav__list li.parent a {
  display: block;
  padding: 0.5rem 1rem 0.5rem 0.5rem;
}
.global-nav__list li.bgnone {
  background: none;
  margin-left: 0rem;
  padding-left: 0rem;
}

.mb0{
  margin-bottom: 0 !important;
}
.mb10{
  margin-bottom: 10px !important;
}
.mb20{
  margin-bottom: 20px !important;
}
.mb30{
  margin-bottom: 30px !important;
}
.mb40{
  margin-bottom: 40px !important;
}
.mb50{
  margin-bottom: 50px !important;
}
.mb60{
  margin-bottom: 60px !important;
}
.mb70{
  margin-bottom: 70px !important;
}
.mb80{
  margin-bottom: 80px !important;
}
.mb90{
  margin-bottom: 90px !important;
}
.mb100{
  margin-bottom: 100px !important;
}

.center{
  text-align: center;
}
.right{
  text-align: right;
}
.left{
  text-align: left;
}

div.governance-table table tbody td{
  text-align: justify;
}

@media screen and (max-width: 1240px) {
  header .header {
    width: 100vw;
  }
  header .header__language {
    margin-left: 1.5rem;
  }
  header .header__search {
    margin-left: 1.5rem;
  }
  header .header__search-input {
    padding-left: 1.5rem;
  }
  .global-nav ul {
    min-width: 100%;
  }
  .global-nav .global-nav__item {
    margin-left: 1.5rem;
  }
  .global-nav.l-size .global-nav__item {
    padding-left: 0;
    margin-left: 1.5rem;
  }
  .global-nav__head {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(70%, #e6001b), to(#E69431));
    background-image: -webkit-linear-gradient(left, #e6001b 70%, #E69431);
    background-image: linear-gradient(90deg, #e6001b 70%, #E69431);
  }
  .global-nav p {
    width: 100%;
    padding: 1.25rem;
    margin-left: 20px;
  }
  .global-nav__list {
    width: 100%;
    padding: 10px 10px 30px 10px;
  }
  .global-nav__list ul {
    min-width: 236px;
    width: 236px;
    margin-right: 24px;
  }
  .global-nav__list li {
    margin-left: 0.65rem;
    padding-left: 1.5rem;
  }
  .global-nav__list li.parent a {
    padding: 0.5rem 1rem 0.5rem 0.5rem;
  }
}
@media screen and (max-width: 1060px) {
  header .header__logo {
    top: 16px;
  }
  header .header__contact p {
    font-size: 15px;
  }
  header .header__language p {
    font-size: 15px;
  }
  header .header__font p {
    margin-right: 0.5rem;
    font-size: 12px;
  }
  .global-nav__list ul {
    min-width: 220px;
    width: 220px;
    margin-right: 24px;
  }
  .global-nav .global-nav__item {
    font-size: 18px;
  }
  .global-nav.l-size .global-nav__item {
    padding-left: 0;
  }
}
@media screen and (max-width: 940px) {
  header .header__language {
    margin-left: 1rem;
  }
  header .header__search {
    margin-left: 1rem;
  }
  header .header__search-input {
    padding-left: 1rem;
  }
  .global-nav ul {
    min-width: 100%;
  }
  .global-nav .global-nav__item {
    margin-left: 1rem;
  }
  .global-nav.l-size .global-nav__item {
    padding-left: 0;
    margin-left: 0.7rem;
  }
  .global-nav__head {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(70%, #e6001b), to(#E69431));
    background-image: -webkit-linear-gradient(left, #e6001b 70%, #E69431);
    background-image: linear-gradient(90deg, #e6001b 70%, #E69431);
  }
  .global-nav p {
    padding: 1.25rem;
    margin-left: 20px;
  }
  .global-nav__list {
    padding: 10px 10px 30px 10px;
  }
  .global-nav__list ul {
    min-width: 196px;
    width: 196px;
    margin-right: 16px;
  }
  .global-nav__list li {
    margin-left: 0.65rem;
    padding-left: 1.5rem;
  }
  .global-nav__list li.parent a {
    padding: 0.5rem 1rem 0.5rem 0.5rem;
  }
}
@media screen and (max-width: 820px) {
  header .header__logo {
    width: 180px;
  }
  .global-nav .global-nav__item {
    margin-left: 0.4rem;
  }
  .global-nav.l-size .global-nav__item {
    padding-left: 0;
    margin-left: 0.4rem;
  }
  .global-nav__head {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(70%, #e6001b), to(#E69431));
    background-image: -webkit-linear-gradient(left, #e6001b 70%, #E69431);
    background-image: linear-gradient(90deg, #e6001b 70%, #E69431);
  }
  .global-nav p {
    padding: 1.25rem;
    margin-left: 20px;
  }
  .global-nav__list {
    padding: 10px 10px 30px 10px;
  }
  .global-nav__list ul {
    min-width: 172px;
    width: 172px;
    margin-right: 16px;
  }
  .global-nav__list li {
    margin-left: 0.65rem;
    padding-left: 1.5rem;
  }
  .global-nav__list li.parent a {
    padding: 0.5rem 1rem 0.5rem 0.5rem;
  }
}
footer {
  margin-top: 180px;
  border-top: 1px #d9d9d9 solid;
  min-width: 1240px;
}
footer.top {
  margin-top: 180px;
  padding-top: 160px;
  border-top: 1px #d9d9d9 solid;
  background: #F7F7F5;
}

.footer__content {
  position: relative;
  z-index: 999;
  width: 1240px;
  min-width: 1240px;
  margin: auto;
  padding: 0 20px;
}
.footer .home {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  background: url(/_assets/img/common/ico_home.svg) no-repeat left center;
  font-size: 1.125rem;
}
.footer__nav {
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.footer__nav ul {
  width: 300px;
  margin-right: 20px;
}
.footer__nav li {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}
.footer__nav li.parent {
  font-size: 1.125rem;
  font-weight: 500;
}
.footer__nav li.last {
  margin-bottom: 1rem;
}
.footer__banner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 80px;
  margin-top: 64px;
}
.footer__banner p {
  width: 270px;
  margin: 0 20px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.footer__banner p :hover {
  opacity: 0.7;
}
.footer__nav-sub {
  z-index: 1;
  position: relative;
  background: #fff;
}
.footer__nav-sub ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1240px;
  height: 100px;
  margin: auto;
  padding: 0 20px;
}
.footer__nav-sub ul li {
  font-size: 0.875rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.footer__nav-sub ul li a:hover {
  color: #e6001b;
  text-decoration: underline;
}
.footer .copyright {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
  background: #d9d9d9;
  font-size: 0.875rem;
}

.side-bar {
  width: 300px;
}
.side-bar nav {
  margin-bottom: 20px;
}
.side-bar li {
  border-bottom: 1px #d9d9d9 solid;
  background: #f5f5f5;
}
.side-bar li a {
  display: block;
  padding: 20px;
}
.side-bar li a:hover {
  background: #eaeaea;
  text-decoration: underline;
}
.side-bar li.category {
  background: #e6001b;
  font-size: 1.25rem;
  font-weight: 400;
  color: #fff;
  padding: 20px;
}
.side-bar li.category a {
  color: #fff;
  padding: 0;
}
.side-bar li.category a:hover {
  text-decoration: underline;
  background: #e6001b;
}
.side-bar li.category.active {
  background: #e6001b;
  color: #fff;
}
.side-bar li.category.active a {
  color: #fff;
}
.side-bar li.active {
  background: #eaeaea;
  pointer-events: none;
}
.side-bar li.active a {
  color: #e6001b;
}
.side-bar li.active a:hover {
  text-decoration: underline;
}
.side-bar ul.child li {
  color: initial;
  background: #fff;
  font-size: 0.825rem;
  color: #e6001b;
}
.side-bar ul.child li.active {
  pointer-events: none;
}
.side-bar ul.child li.active a {
  color: #e6001b;
}
.side-bar .parent {
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding: 20px;
}
.side-bar .parent:hover {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  color: #e6001b;
}
.side-bar .child {
  display: none;
}
.side-bar .open {
  position: absolute;
  right: 20px;
  top: 0;
  height: 100%;
  border-radius: 0px 10px 10px 0px;
}
.side-bar .open:before,
.side-bar .open:after {
  display: block;
  content: "";
  background-color: #e6001b;
  position: absolute;
  width: 16px;
  height: 2px;
  bottom: 50%;
  right: 50%;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}
.side-bar .open:before {
  width: 2px;
  height: 16px;
}
.side-bar .parent.selected {
  background: #eaeaea;
}
.side-bar .parent.selected .open:before {
  -webkit-transform: translate(50%, 50%) rotate(90deg);
          transform: translate(50%, 50%) rotate(90deg);
}

.breakThrough-right {
  margin-right: calc(50% - 50vw);
}
.breakThrough-right.keep-child {
  padding-right: calc(50vw - 50%);
}
.breakThrough-left {
  margin-left: calc(50% - 50vw);
}
.breakThrough-left.keep-child {
  padding-left: calc(50vw - 50%);
}

.l-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.l-column.col-2 {
  margin-bottom: calc(var(--col-margin, 3%) * -1);
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-column.col-2 > * {
  width: var(--col-width, 48.5%);
  margin-bottom: var(--col-margin, 3%);
}
.l-column.col-3 {
  margin-bottom: calc(var(--col-margin, 4.15%) * -1);
}
.l-column.col-3 > * {
  width: var(--col-width, 30.564%);
  margin-right: var(--col-margin, 4.15%);
  margin-bottom: var(--col-margin, 4.15%);
}
.l-column.col-3 > *:last-child, .l-column.col-3 > *:nth-child(3n) {
  margin-right: 0;
}
.l-column.col-4 {
  margin-bottom: calc(var(--col-margin, 3%) * -1);
}
.l-column.col-4 > * {
  width: var(--col-width, 22.75%);
  margin-right: var(--col-margin, 3%);
  margin-bottom: var(--col-margin, 3%);
}
.l-column.col-4 > *:last-child, .l-column.col-4 > *:nth-child(4n) {
  margin-right: 0;
}
@media screen and (max-width: 833px) {
  .l-column.col-1-tab > * {
    width: 100%;
    margin-right: 0;
  }
  .l-column.col-2-tab {
    margin-bottom: calc(var(--col-tab-margin, 3%) * -1);
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-column.col-2-tab > * {
    width: var(--col-tab-width, 48.5%);
    margin-right: 0;
    margin-bottom: var(--col-tab-margin, 3%);
  }
}
@media screen and (max-width: 763px) {
  .l-column.col-1-sp > * {
    width: 100%;
    margin-right: 0;
  }
  .l-column.col-2-sp {
    margin-bottom: calc(var(--col-sp-margin, 6.44%) * -1);
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-column.col-2-sp > * {
    width: var(--col-sp-width, 46.78%);
    margin-right: 0;
    margin-bottom: var(--col-sp-margin, 6.44%);
  }
}
.l-column.x-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.l-column.y-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.l-column.x-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.l-column.y-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.card {
  overflow: hidden;
}
.card .c-image {
  position: relative;
}
.card .c-image figcaption {
  position: absolute;
  right: 1.2em;
  bottom: 1em;
  font-size: 1.2rem;
  color: #FFF;
}
.card .c-body {
  padding: 2rem;
  background-color: #FFF;
}
.card .c-title {
  margin-bottom: 0.5em;
  font-size: 2.4rem;
}
.card .c-date {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
}
.card .c-date + * {
  margin-top: 0.5rem;
}
.card p {
  font-size: 1.4rem;
  text-align: justify;
}

:root {
  --delay: 0;
  --duration: 800ms;
  --iterations: 1;
}

.content h1 {
  padding-bottom: 5rem;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.4;
}
.content h2 {
  margin-bottom: 2.5rem;
  padding-bottom: 1.75rem;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #e6001b), color-stop(20%, #d9d9d9));
  background-image: -webkit-linear-gradient(left, #e6001b 0 20%, #d9d9d9 20%);
  background-image: linear-gradient(90deg, #e6001b 0 20%, #d9d9d9 20%);
  background-repeat: no-repeat;
  background-size: 100% 3px;
  background-position: bottom;
  font-size: 2.25rem;
  font-weight: 500;
}
.content h2.recruit {
  background-image: -webkit-gradient(linear, left top, right top, from(#f29120), to(#e61a1d));
  background-image: -webkit-linear-gradient(left, #f29120, #e61a1d);
  background-image: linear-gradient(90deg, #f29120, #e61a1d);
}
.content h3 {
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 3px #d9d9d9 solid;
  font-size: 1.5rem;
  font-weight: 500;
}
.content h3.recruit {
  border-bottom: none;
  background-image: -webkit-gradient(linear, left top, right top, from(#f29120), to(#e61a1d));
  background-image: -webkit-linear-gradient(left, #f29120, #e61a1d);
  background-image: linear-gradient(90deg, #f29120, #e61a1d);
  background-repeat: no-repeat;
  background-size: 100% 3px;
  background-position: bottom;
}
.content h4 {
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  font-weight: 500;
}
.content h5 {
  margin-bottom: 1.5rem;
  font-size: 1.125rem;
  font-weight: 500;
}
.content p {
  margin-bottom: 2.5rem;
}
.content p.space {
  margin-bottom: 4rem;
}
.content p.s-space {
  margin-bottom: 1rem;
}
.content p.figure-title {
  font-size: 1.25rem;
  font-weight: 400;
  margin-bottom: 1.5rem;
}
.content p.lead-txt {
  margin-bottom: 1.75rem;
  color: #e6001b;
  font-size: 1.375rem;
  font-weight: 400;
}
.content p.small-txt {
  font-size: 0.875rem;
}
.content p.caution {
  text-indent: -1.35rem;
  font-size: 0.875rem;
  padding-left: 1.5rem;
}
.content p.caution::before {
  content: "＊";
  margin-right: 0.5rem;
}
.content ul.caution {
  padding-left: 1.5rem;
  margin-right: 0.5rem;
  margin-bottom: 2.5rem;
}
.content ul.caution li {
  text-indent: -1.35rem;
  font-size: 0.875rem;
}
.content ul.caution li::before {
  content: "＊";
  margin-right: 0.5rem;
}
.content ul.list {
  margin-right: 0.5rem;
  margin-bottom: 2.5rem;
  padding-left: 1.5rem;
}
.content ul.list.space {
  margin-bottom: 4rem;
}
.content ul.list li {
  margin-bottom: 0.875rem;
  list-style-image: url(/_assets/img/common/ico_dot.svg);
  margin-right: 0.5rem;
  margin-left: -5px;
}
.content ul.number {
  margin-bottom: 2.5rem;
  padding-left: 1.5rem;
}
.content ul.number.space {
  margin-bottom: 4rem;
}
.content ul.number ul {
  list-style: none;
}
.content ul.number li {
  position: relative;
  line-height: 2;
  margin-bottom: 0.875rem;
  counter-increment: my-counter;
}
.content ul.number li:before {
  content: counter(my-counter);
  border: 1px solid #000;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 20px;
  width: 20px;
  font-size: 0.75rem;
  line-height: 1;
  position: absolute;
  top: 6px;
  left: -26px;
}
.content ul.num {
  margin-bottom: 2.5rem;
  padding-left: 1.5rem;
}
.content ul.num.space {
  margin-bottom: 4rem;
}
.content ul.num ul {
  list-style: none;
}
.content ul.num li {
  position: relative;
  line-height: 2;
  margin-bottom: 0.875rem;
}
.content ul.num li:before {
  content: "①";
  height: 20px;
  width: 20px;
  position: absolute;
  left: -26px;
}
.content ul.num li:nth-child(2):before {
  content: "②";
}
.content ul.num li:nth-child(3):before {
  content: "③";
}
.content ol.list {
  padding-left: 1.5rem;
  margin-right: 0.5rem;
  margin-bottom: 2.5rem;
}
.content ol.list.space {
  margin-bottom: 4rem;
}
.content ol.list li {
  margin-bottom: 0.875rem;
  text-indent: -1.35rem;
  list-style-type: none;
  counter-increment: cnt;
}
.content ol.list li::before {
  content: "(" counter(cnt) ") ";
}
.content ol.list ul.list {
  margin-top: 1rem;
}
.content ol.list ul.list li {
  margin-bottom: 0.875rem;
  list-style-image: url(/_assets/img/common/ico_dot.svg);
  margin-right: 0.5rem;
  margin-left: -5px;
  padding-left: 1.5rem;
}
.content ol.list ul.list li::before {
  content: "";
}
.content span.caution {
  text-indent: -1.35rem;
  font-size: 0.875rem;
}
.content span.caution::before {
  display: block;
  content: "";
}
.content .pdf-download {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.5rem;
  border: 1px #d9d9d9 solid;
}
.content .pdf-download p {
  margin-bottom: 0;
  line-height: 1.4;
}
.content .pdf-download p:first-child {
  width: 300px;
}
.content .pdf-download__logo img {
  width: 158px;
  height: 39px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.content .pdf-download__logo img:hover {
  opacity: 0.7;
}

.one-column {
  width: 100%;
  margin-bottom: 2.5rem;
}
.one-column img {
  width: 100%;
  margin-bottom: 1.25rem;
}
.one-column figcaption {
  font-size: 0.875rem;
}
.one-column.space {
  margin-bottom: 4rem;
}

.two-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
  margin-bottom: 2.5rem;
}
.two-column.center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.two-column.nospace {
  margin-bottom: 0;
}
.two-column .txt {
  width: 48%;
  margin-top: -10px;
}
.two-column figure {
  width: 48%;
}
.two-column figure img {
  width: 100%;
  margin-bottom: 1.25rem;
}
.two-column figure figcaption {
  font-size: 0.875rem;
}
.two-column p {
  width: 48%;
  margin-top: -0.5rem;
}
.two-column .link-box {
  position: relative;
  width: 48%;
  margin-bottom: 1.5rem;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 40px 0;
}
.two-column .link-box a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.two-column .link-box p {
  margin-bottom: 0;
  padding: 1rem 1.25rem;
  line-height: 1.8;
}
.two-column .link-box__title {
  padding: 1rem;
  background: #fafafa;
  border-bottom: 1px #d9d9d9 solid;
}
.two-column .link-box__title p {
  margin-bottom: 0;
  padding: 0 0 0 1.75rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
  background: url(/_assets/img/common/ico_arrow.svg) no-repeat left center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.two-column .link-box__title p.red-color {
  color: #e6001b;
  text-decoration: underline;
}

.three-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  width: 100%;
  margin-bottom: 2.5rem;
  gap: 16px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.three-column figure {
  width: 32%;
}
.three-column figure img {
  width: 100%;
  margin-bottom: 0.75rem;
}
.three-column figure figcaption {
  font-size: 0.875rem;
}

.four-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin-bottom: 2.5rem;
  gap: 16px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.four-column figure {
  width: 22%;
}
.four-column figure img {
  width: 100%;
  margin-bottom: 0.75rem;
}
.four-column figure figcaption {
  font-size: 0.875rem;
  text-align: center;
}

.btn__large {
  display: table;
  text-align: center;
  margin-bottom: 40px;
}
.btn__large.center {
  margin: 0 auto 40px auto;
}
.btn__large a {
  display: block;
  min-width: 336px;
  min-height: 58px;
  line-height: 56px;
  font-size: 1.125rem;
  padding: 0 3.5rem;
  color: #e6001b;
  font-weight: 500;
  letter-spacing: 0;
  background: #fff;
  border: 1px #e6001b solid;
  border-radius: 999px;
  background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat #fff;
  background-size: 16px;
  background-position: right 30px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.btn__large a:hover {
  background: url(/_assets/img/common/ico_btn_arrow_white.svg) no-repeat #e6001b;
  background-size: 16px;
  background-position: right 30px center;
  color: #fff;
  text-decoration: underline;
}

.btn__midium {
  display: table;
  margin-bottom: 30px;
}
.btn__midium.center {
  margin: 0 auto 40px auto;
}
.btn__midium a {
  display: block;
  line-height: 46px;
  min-width: 266px;
  min-height: 48px;
  padding: 0 3.5rem;
  background: #fff;
  border: 1px #d9d9d9 solid;
  border-radius: 999px;
  text-align: center;
  background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat;
  background-size: 16px;
  background-position: right 30px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.btn__midium a:hover {
  color: #e6001b;
  border: 1px #e6001b solid;
  text-decoration: underline;
}
.btn__midium.back a {
  background: url(/_assets/img/common/ico_btn_arrow_left.svg) no-repeat;
  background-size: 16px;
  background-position: left 30px center;
}
.btn__midium .pdf {
  background: url(/_assets/img/common/ico_pdf.svg) no-repeat;
  background-size: 16px;
  background-position: right center;
  margin-right: 0.5rem;
  padding-right: 1.5rem;
}

.btn__small {
  display: table;
  background: url(/_assets/img/common/ico_arrow-red-white.svg) no-repeat;
  background-size: 16px;
  background-position: right center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  font-size: 1.125rem;
  margin-bottom: 2rem;
  padding-right: 1.5rem;
}
.btn__small a {
  display: block;
  line-height: 46px;
}
.btn__small a:hover {
  color: #e6001b;
  text-decoration: underline;
}

.btn__min {
  display: table;
  background: url(/_assets/img/common/ico_arrow-red-white.svg) no-repeat;
  background-size: 16px;
  background-position: right center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-right: 1.5rem;
}
.btn__min a {
  display: block;
  padding-bottom: 2px;
}
.btn__min a:hover {
  color: #e6001b;
  text-decoration: underline;
}

.btn__accordion {
  width: 216px;
  height: 48px;
  margin: auto;
  border: 1px #d9d9d9 solid;
  border-radius: 999px;
  background: url(/_assets/img/common/ico_acc_open-arrow.svg) no-repeat;
  background-size: 12px;
  background-position: right 24px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  font-size: 1rem;
  margin-bottom: 2rem;
  text-align: center;
  cursor: pointer;
}
.btn__accordion.selected {
  background: url(/_assets/img/common/ico_acc_close-arrow.svg) no-repeat;
  background-size: 12px;
  background-position: right 24px center;
}
.btn__accordion p {
  display: block;
  line-height: 46px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.btn__accordion p:hover {
  color: #e6001b;
}

.btn__download {
  display: table;
  text-align: center;
}
.btn__download.center {
  margin: auto;
}
.btn__download a {
  display: block;
  min-width: 336px;
  min-height: 58px;
  line-height: 56px;
  font-size: 1.125rem;
  padding: 0 3.5rem;
  color: #e6001b;
  font-weight: 500;
  letter-spacing: 0;
  background: #fff;
  border: 1px #e6001b solid;
  border-radius: 999px;
  background: url(/_assets/img/common/ico_download.svg) no-repeat;
  background-size: 16px;
  background-position: right 30px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.btn__download a:hover {
  background: url(/_assets/img/common/ico_download_white.svg) no-repeat #e6001b;
  background-size: 16px;
  background-position: right 30px center;
  color: #fff;
  text-decoration: underline;
}

.txt-link {
  background: url(/_assets/img/common/ico_arrow.svg) no-repeat;
  background-size: 16px;
  background-position: left center;
  font-size: 1rem;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}
.txt-link a:hover {
  color: #e6001b;
  text-decoration: underline;
}
.txt-link.space {
  margin-bottom: 3rem;
}

.blank-link {
  background: url(/_assets/img/common/ico_external.svg) no-repeat;
  background-size: 16px;
  background-position: right center;
  padding-right: 1.5rem;
}

.pdf-link {
  background: url(/_assets/img/common/ico_pdf.svg) no-repeat;
  background-size: 16px;
  background-position: right center;
  margin-right: 0.5rem;
  padding-right: 1.5rem;
}

.normal-link {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  margin-bottom: 3rem;
}
.normal-link a:hover {
  color: #e6001b;
  text-decoration: underline;
}
.normal-link.space {
  margin-bottom: 3rem;
}

@-webkit-keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
    opacity: 0;
  }
}

@keyframes scroll-hint-appear {
  0% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint.is-right-scrollable {
  background: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), -webkit-linear-gradient(right, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #fff;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  -webkit-animation: scroll-hint-appear 1.2s linear;
          animation: scroll-hint-appear 1.2s linear;
  -webkit-animation-iteration-count: 2;
          animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #fff;
  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
          box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

.md-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 9999;
}

.md-contents {
  display: none;
  position: fixed;
  top: 40px;
  left: 50%;
  width: 980px;
  height: auto;
  overflow-y: scroll;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10000;
}

.md-inner {
  position: relative;
  background: #fff;
  height: 88vh;
  overflow-y: scroll;
  margin-top: 40px;
  border-radius: 16px;
}

.md-xmark {
  position: absolute;
  top: 0px;
  right: 20px;
  width: 25px;
  height: 22px;
  z-index: 9999;
  cursor: pointer;
}

.md-xmark span {
  height: auto;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
}

.md-xmark span:nth-of-type(1) {
  top: 0;
  -webkit-transform: translateY(10px) rotate(-45deg);
          transform: translateY(10px) rotate(-45deg);
}

.md-xmark span:nth-of-type(2) {
  bottom: 0;
  -webkit-transform: translateY(-10px) rotate(45deg);
          transform: translateY(-10px) rotate(45deg);
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

*:focus {
  outline: none;
}

input::-webkit-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
input:-ms-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
input::-moz-placeholder {
  color: var(--placeholder-color, #ccc);
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #FFF inset;
}

textarea {
  vertical-align: bottom;
}
textarea::-webkit-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
textarea:-ms-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
textarea::-moz-placeholder {
  color: var(--placeholder-color, #ccc);
}
textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #FFF inset;
}

.form-select {
  width: 100%;
  padding: 0.8em 1.2em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #FFF;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22select_arr%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2011.4%206.2%22%20style%3D%22enable-background%3Anew%200%200%2011.4%206.2%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3Anone%3Bstroke%3A%23BFBFBF%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3B%7D%3C%2Fstyle%3E%3Cpath%20id%3D%22path01%22%20class%3D%22st0%22%20d%3D%22M10.7%2C0.6l-5%2C5l-5-5%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 2rem center;
  background-size: 1.6rem;
}
.form-select::-ms-expand {
  display: none;
}

.radio-wrap.horizon {
  margin-bottom: -2rem;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.radio-wrap.horizon .radio {
  margin-bottom: 2rem;
}
.radio-wrap.horizon .radio:not(:last-of-type) {
  margin-right: 2rem;
}
.radio-wrap.vertical .radio + .radio {
  margin-top: 1.2rem;
}

.radio input[type=radio] {
  position: absolute;
  opacity: 0;
}
.radio input[type=radio] + .radio-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}
.radio input[type=radio] + .radio-label:before {
  content: "";
  border-radius: 100%;
  border: 1px solid #CCC;
  background-color: #FFF;
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  position: relative;
  top: 0;
  margin-right: 0.5em;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.radio input[type=radio]:checked + .radio-label:before {
  background-color: var(--primary-color, #000);
  -webkit-box-shadow: inset 0 0 0 4px #FFF;
          box-shadow: inset 0 0 0 4px #FFF;
  border-color: var(--primary-color, #000);
}
.radio input[type=radio]:focus + .radio-label:before {
  outline: none;
  border-color: var(--primary-color, #000);
}
.radio input[type=radio]:disabled + .radio-label:before {
  -webkit-box-shadow: inset 0 0 0 4px #f4f4f4;
          box-shadow: inset 0 0 0 4px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
}
.radio input[type=radio] + .radio-label:empty:before {
  margin-right: 0;
}

.checkbox-wrap.horizon {
  margin-bottom: -2rem;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.checkbox-wrap.horizon .checkbox {
  margin-bottom: 2rem;
}
.checkbox-wrap.horizon .checkbox:not(:last-of-type) {
  margin-right: 2rem;
}
.checkbox-wrap.vertical .checkbox + .checkbox {
  margin-top: 1.2rem;
}

.checkbox {
  line-height: 1;
}

.checkbox-input {
  display: none;
}
.checkbox-input:checked + .checkbox-parts:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.5rem;
  width: 0.8rem;
  height: 1.2rem;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  border-bottom: 3px solid var(--primary-color, #000);
  border-right: 3px solid var(--primary-color, #000);
  margin-top: -0.8rem;
}

.checkbox-parts {
  padding-left: 2.5rem;
  position: relative;
}
.checkbox-parts:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #CCC;
  background-color: #FFF;
  border-radius: 0.5rem;
  margin-top: -0.9rem;
}

.form-vertical .form-box {
  border-bottom: 1px solid #000;
}
.form-vertical .form-box dt {
  font-size: 16px;
  font-weight: 400;
}

.form-box + .form-box {
  margin-top: 50px;
}
.form-box dt {
  margin-bottom: 1em;
  font-weight: 600;
  line-height: 1;
}
.form-box .required {
  display: inline-block;
  padding: 0.2em 0.5em;
  margin-left: 0.8rem;
  font-size: 1.2rem;
  color: #fff;
  background-color: #e6001b;
}
.form-box .required::before {
  content: "必須";
}
.form-box .form-error {
  display: none;
  margin-top: 0.5em;
  font-size: 1.3rem;
  color: #e6001b;
}

.form-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.form-column .inner {
  width: 100%;
}
.form-column .inner + .inner {
  margin-left: 1em;
}

.form-control {
  width: 100%;
  background-color: unset;
  border: none;
}

textarea.form-control {
  height: 20rem;
  padding: 1.2em;
}

.form-submit {
  --button-width: 20.0rem;
}

.content {
  margin-top: 100px;
}
.content__bg {
  min-width: 1240px;
  background: url(/_assets/img/common/bg_wave_gray.svg) no-repeat center bottom;
  background-size: cover;
}
.content__bg-recruit {
  background: url(/_assets/img/recruit/bg_wave_recruit.svg) no-repeat center bottom;
  background-size: cover;
}
.content__head {
  position: relative;
  width: 1240px;
  margin: 0 auto 3rem auto;
  padding: 0.75rem 20px;
}
.content__head-recruit {
  position: relative;
  width: 1240px;
  margin: 0 auto 3rem auto;
  padding: 3.25rem 20px 0.75rem 20px;
}
.content__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 1240px;
  margin: auto;
  padding: 0 20px;
}
.content__main {
  width: 840px;
}
.content__main-center {
  width: 1240px;
  margin: auto;
  padding: 0 20px;
}
.content__box {
  margin-bottom: 2.5rem;
  padding: 2.5rem;
  background: #f5f5f5;
  border-radius: 0 0 40px 0;
}
.content section {
  margin-bottom: 5rem;
}
.content p {
  text-align: justify;
}
.content p.txt-center {
  text-align: center;
}
.content p.txt-right {
  text-align: right;
}
.content p.txt-right .date {
  display: block;
}
.content p.nospace {
  margin-bottom: 0;
}
.content p a {
  color: #1F70C7;
  text-decoration: underline;
}
.content p a:hover {
  text-decoration: none;
}

.breadcrumbs {
  margin-bottom: 1rem;
}
.breadcrumbs ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.breadcrumbs li {
  margin-left: 0.5rem;
  font-size: 0.875rem;
}
.breadcrumbs li a:hover {
  text-decoration: underline;
}
.breadcrumbs li::after {
  content: ">";
  padding-left: 0.5rem;
  color: #888888;
}
.breadcrumbs li:last-child::after {
  content: "";
}
.breadcrumbs li:first-child {
  margin-left: 0;
}

.print {
  position: absolute;
  right: 0;
  top: 10px;
  padding-left: 1.5rem;
  background: url(/_assets/img/common/ico_print.svg) no-repeat left center;
}
.print a {
  text-decoration: none;
  font-size: 0.875rem;
}

.anchor-link {
  margin-bottom: 2.5rem;
}
.anchor-link ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.anchor-link ul li {
  width: 30%;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  background: url(/_assets/img/common/ico_anchor.svg) no-repeat left center;
  background-size: 16px;
}
.anchor-link ul li a {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.anchor-link ul li a:hover {
  text-decoration: underline;
}
.anchor-link.two-column ul {
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.anchor-link.two-column ul li {
  width: auto;
  margin-right: 2.5rem;
}

table {
  width: 100%;
  margin-bottom: 2.5rem;
  border-collapse: collapse;
}
table thead th {
  padding: 1rem;
  background: #e0e0e0;
  border: 1px #d9d9d9 solid;
}
table tbody th {
  padding: 1rem;
  background: #fafafa;
  border: 1px #d9d9d9 solid;
  font-weight: 400;
}
table td {
  padding: 1rem;
  border: 1px #d9d9d9 solid;
}
table td.number {
  text-align: right;
}
table td.center {
  text-align: center;
}
table td.wide {
  width: 70%;
}
table.equal {
  table-layout: fixed;
}
table.nospace {
  margin-bottom: 1rem;
}

.pagetop {
  z-index: 999;
  position: fixed;
  bottom: 40px;
  right: 40px;
  opacity: 0;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.pagetop.visible {
  opacity: 100;
}
.pagetop:hover {
  opacity: 0.7;
}
.pagetop img {
  width: 80px;
}

.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

.space::before {
  content: "";
  display: block;
  margin-top: 1rem;
}

.kv {
  width: 100%;
  min-width: 1240px;
  margin-top: 100px;
  margin-bottom: 80px;
}
.kv img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  width: 100%;
}

.content-top {
  width: 1240px;
  margin: auto;
  padding: 0 20px;
}

.notice {
  margin-bottom: 80px;
  border: 2px #e6001b solid;
}
.notice dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  padding: 1rem;
}
.notice dt {
  margin-right: 2rem;
  color: #e6001b;
  font-weight: 500;
}
.notice dd {
  color: #e6001b;
  font-weight: 500;
}

.information {
  margin-bottom: 140px;
  text-align: center;
}
.information h2 {
  margin-bottom: 3.75rem;
  font-size: 2.25rem;
  letter-spacing: 0.5rem;
  text-align: center;
}
.information ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 750px;
  margin: 0 auto 1.5rem;
}
.information ul li {
  display: block;
  width: 180px;
  border-bottom: 4px #ccc solid;
  text-align: center;
  padding-bottom: 1.25rem;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.information ul li:hover {
  color: #e6001b;
  border-bottom: 4px #e6001b solid;
}
.information ul li.active {
  border-bottom: 4px #e6001b solid;
  color: #e6001b;
}
.information__content {
  display: none;
}
.information__content.active {
  display: block;
}
.information__content dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px #d9d9d9 solid;
  width: 100%;
}
.information__content dt {
  position: relative;
  color: #666666;
  width: 320px;
  white-space: nowrap;
}
.information__content dt::before {
  display: inline-block;
  content: "";
  width: 140px;
  height: 24px;
  margin-right: 20px;
}
.information__content dt.information__cat01::before, .information__content dt.information__cat02::before, .information__content dt.information__cat03::before, .information__content dt.information__cat04::before, .information__content dt.information__cat05::before, .information__content dt.information__cat06::before, .information__content dt.information__cat07::before, .information__content dt.information__cat08::before {
  display: inline-block;
  content: "有報";
  background: #4198f9;
  width: 140px;
  height: 24px;
  text-align: center;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 4px;
  line-height: 24px;
  margin-right: 20px;
}
.information__content dt.information__cat02::before {
  content: "お知らせ";
  background: #87ceeb;
}
.information__content dt.information__cat03::before {
  content: "人事";
  background: #5e58a5;
}
.information__content dt.information__cat04::before {
  content: "短信";
  background: #f39f05;
}
.information__content dt.information__cat05::before {
  content: "PR";
  background: #cfcf18;
}
.information__content dt.information__cat06::before {
  content: "適時開示";
  background: #f97676;
}
.information__content dt.information__cat07::before {
  content: "レポート";
  background: #3878a9;
}
.information__content dt.information__cat08::before {
  content: "サステナビリティ";
  background: #1BBA9C;
}
.information__content dd {
  width: 840px;
  text-align: left;
}
.information__content dd a:hover {
  text-decoration: underline;
}
.information .btn__midium {
  display: inline-block;
}

.about {
  position: relative;
  margin-bottom: 200px;
}
.about__bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 640px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/top/bg_wave01.svg) no-repeat top;
  background-size: cover;
}
.about__head {
  position: relative;
  z-index: 999;
  display: inline-block;
}
.about__content {
  z-index: 999;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.about__message {
  position: relative;
  width: 790px;
  height: 330px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: #fff;
  background-image: url(/_assets/img/top/pic_president.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.about__message a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.about__message p {
  margin-bottom: 1rem;
  padding-left: 20rem;
  padding-top: 1.5rem;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.25rem;
}
.about__message p.about__message-name {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  padding-top: 0;
}
.about__message .btn {
  position: absolute;
  right: 40px;
  bottom: 40px;
  min-width: 336px;
  min-height: 58px;
  background: #fff;
  border: 1px #e6001b solid;
  border-radius: 999px;
  text-align: center;
  background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat;
  background-size: 16px;
  background-position: right 30px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.about__message .btn:hover {
  background: url(/_assets/img/common/ico_btn_arrow_white.svg) no-repeat #e6001b;
  background-size: 16px;
  background-position: right 30px center;
  color: #fff;
}
.about__message .btn a {
  line-height: 56px;
  font-size: 1.125rem;
  color: #e6001b;
  font-weight: 500;
  letter-spacing: 0;
}
.about__message .btn a:hover {
  color: #fff;
}
.about__box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 386px;
  height: 150px;
  margin-bottom: 30px;
  padding-left: 2rem;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.about__box a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.about__box::before {
  position: absolute;
  left: 30px;
  content: "";
  width: 60px;
  height: 58px;
  background-image: url(/_assets/img/top/ico_about01.svg);
  background-size: 100%;
}
.about__box:nth-child(2)::before {
  width: 60px;
  height: 60px;
  background-image: url(/_assets/img/top/ico_about02.svg);
}
.about__box::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.about__box p {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.about__box p.color {
  color: #e6001b;
}
.about h2 {
  margin-bottom: 2.5rem;
  font-size: 2.25rem;
  letter-spacing: 0.75rem;
}
.about__btn {
  width: 340px;
  height: 58px;
  margin: 0 auto 8rem auto;
  border-radius: 999px;
  background-image: -webkit-linear-gradient(45deg, #FF6A2B, #FF3720, #FF3628);
  background-image: linear-gradient(45deg, #FF6A2B, #FF3720, #FF3628);
  text-align: center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  border: 1px #FF3628 solid;
}
.about__btn:hover {
  background: #fff;
  border: 1px #FF3628 solid;
}
.about__btn a {
  display: block;
  color: #fff;
  line-height: 58px;
  font-size: 1.125rem;
  font-weight: 500;
}
.about__btn a:hover {
  color: #FF3628;
}

.ir {
  position: relative;
  margin-bottom: 100px;
}
.ir__bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 640px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/top/bg_wave02.svg) no-repeat top;
  background-size: cover;
}
.ir__head {
  position: relative;
  z-index: 999;
  display: inline-block;
  float: right;
}
.ir__content {
  position: relative;
  z-index: 999;
  clear: both;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.ir__box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 386px;
  height: 150px;
  margin-bottom: 30px;
  padding-left: 2rem;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ir__box a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.ir__box::before {
  position: absolute;
  left: 30px;
  content: "";
  width: 60px;
  height: 60px;
  background-image: url(/_assets/img/top/ico_ir01.svg);
  background-size: 100%;
}
.ir__box:nth-child(2)::before {
  background-image: url(/_assets/img/top/ico_ir02.svg);
}
.ir__box:nth-child(3)::before {
  background-image: url(/_assets/img/top/ico_ir03.svg);
}
.ir__box:nth-child(4)::before {
  background-image: url(/_assets/img/top/ico_ir04.svg);
}
.ir__box:nth-child(5)::before {
  background-image: url(/_assets/img/top/ico_ir05.svg);
}
.ir__box::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow-blue.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.ir__box p {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ir__box p.color {
  color: #1C76DE;
}

.ir-top__box-wrapper {
  margin-top: 100px;
  position: relative;
  z-index: 999;
  clear: both;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.ir-top__box-wrapper .ir-top__content .ir-top__box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 580px;
  height: 150px;
  margin-bottom: 30px;
  padding-left: 2rem;
  border: 5px #ebe9e9 solid;
  border-radius: 0 0 20px 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background: #fff;
  color: #1f70c7;
}
.ir-top__box-wrapper .ir-top__content .ir-top__box a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.ir-top__box-wrapper .ir-top__content:nth-child(3) .ir-top__box:hover,
.ir-top__box-wrapper .ir-top__content:nth-child(4) .ir-top__box:hover {
  background-color: #1f70c7;
  color: #fff;
}
.ir-top__box-wrapper .ir-top__content .ir-top__box::before {
  position: absolute;
  left: 30px;
  content: "";
  width: 60px;
  height: 60px;
  background-image: url(/_assets/img/top/ico_ir01.svg);
  background-size: 100%;
}
.ir-top__box-wrapper .ir-top__content .bg-change:hover::before {
  position: absolute;
  left: 30px;
  content: "";
  width: 60px;
  height: 60px;
  background-size: 100%;
}
.ir-top__box-wrapper .ir-top__content:nth-child(2) .ir-top__box::before {
  background-image: url(/_assets/img/top/ico_ir04.svg);
}
.ir-top__box-wrapper .ir-top__content:nth-child(3) .ir-top__box::before {
  background-image: url(/_assets/img/top/ico_ir03.svg);
}
.ir-top__box-wrapper .ir-top__content:nth-child(3) .bg-change:hover::before {
  background-image: url(/_assets/img/top/ico_ir03_wh.svg);
}
.ir-top__box-wrapper .ir-top__content:nth-child(4) .ir-top__box::before {
  background-image: url(/_assets/img/top/ico_ir02.svg);
}
.ir-top__box-wrapper .ir-top__content:nth-child(4) .bg-change:hover::before {
  background-image: url(/_assets/img/top/ico_ir02_wh.svg);
}
.ir-top__box-wrapper .ir-top__content:nth-child(5) .ir-top__box::before {
  background-image: url(/_assets/img/top/ico_ir05.svg);
}
.ir-top__box-wrapper .ir-top__content:nth-child(6) .ir-top__box::before {
  background-image: url(/_assets/img/top/ico_ir06.svg);
}
.ir-top__box-wrapper .ir-top__content .ir-top__box::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow-blue-white.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.ir-top__box-wrapper .ir-top__content:nth-child(1) .ir-top__box::after,
.ir-top__box-wrapper .ir-top__content:nth-child(2) .ir-top__box::after,
.ir-top__box-wrapper .ir-top__content:nth-child(5) .ir-top__box::after,
.ir-top__box-wrapper .ir-top__content:nth-child(6) .ir-top__box::after {
  background-image: none;
}
.ir-top__box-wrapper .ir-top__content .ir-top__box p {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  margin-bottom: 0;
}
.ir-top__box-wrapper .ir-top__content .ir-top__box p.color {
  color: #1C76DE;
}
.ir-top__box-wrapper .ir-top__content ul {
  padding: 0 40px;
  margin: 30px;
  min-height: 240px
}
.ir-top__box-wrapper .ir-top__content ul li {
  margin-bottom: 0;
}

.ir__list {
  width: 386px;
  padding: 1.25rem;
}
.ir__list li {
  margin-bottom: 1rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ir__list li a {
  display: inline-block;
  background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat right center;
  background-size: 16px;
  padding-right: 2rem;
}
.ir h2 {
  margin-bottom: 2.5rem;
  font-size: 2.25rem;
  letter-spacing: 0.75rem;
  text-align: center;
}
.ir__btn {
  width: 340px;
  height: 58px;
  margin: 0 auto 8rem auto;
  border-radius: 999px;
  background-image: -webkit-linear-gradient(45deg, #2DC3E6, #259EE4, #1C76DE);
  background-image: linear-gradient(45deg, #2DC3E6, #259EE4, #1C76DE);
  text-align: center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  border: 1px #2DC3E6 solid;
}
.ir__btn:hover {
  background: #fff;
  border: 1px #1C76DE solid;
}
.ir__btn a {
  display: block;
  color: #fff;
  line-height: 58px;
  font-size: 1.125rem;
  font-weight: 500;
}
.ir__btn a:hover {
  color: #1F70C7;
}

.sustainability {
  position: relative;
  margin-bottom: 200px;
}
.sustainability__bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 640px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/top/bg_wave01.svg) no-repeat top;
  background-size: cover;
}
.sustainability__head {
  position: relative;
  z-index: 999;
  display: inline-block;
}
.sustainability__lead {
  position: relative;
  z-index: 999;
  font-size: 1.5rem;
  letter-spacing: 0.25rem;
  margin-bottom: 3.5rem;
}
.sustainability__content-01 {
  z-index: 999;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.sustainability__content-02 {
  z-index: 999;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.sustainability__box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 448px;
  height: 150px;
  margin-bottom: 60px;
  padding-left: 2rem;
  margin-right: 20px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__box a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.sustainability__box::before {
  position: absolute;
  left: 30px;
  content: "";
  width: 60px;
  height: 58px;
  background-image: url(/_assets/img/top/ico_sustainability01.svg);
  background-size: 100%;
}
.sustainability__box:nth-child(2)::before {
  width: 60px;
  height: 60px;
  background-image: url(/_assets/img/top/ico_sustainability02.svg);
}
.sustainability__box::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow-green.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.sustainability__box p {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__box p.color {
  color: #1BBA9C;
}
.sustainability__box-pic {
  position: relative;
  width: 240px;
  margin-left: 80px;
  text-align: center;
}
.sustainability__box-pic a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.sustainability__link {
  display: inline-block;
  padding-right: 3rem;
  background: url(/_assets/img/common/ico_arrow-green-white.svg) no-repeat right center;
  background-size: 28px;
  font-size: 1.25rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__link.color {
  color: #1BBA9C;
}
.sustainability h2 {
  margin-bottom: 2.5rem;
  font-size: 2.25rem;
  letter-spacing: 0.75rem;
}
.sustainability__btn {
  width: 340px;
  height: 58px;
  margin: 0 auto 8rem auto;
  border-radius: 999px;
  background-image: -webkit-linear-gradient(45deg, #B7E52D, #66CB27, #0AAD20);
  background-image: linear-gradient(45deg, #B7E52D, #66CB27, #0AAD20);
  text-align: center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  border: 1px #B7E52D solid;
}
.sustainability__btn:hover {
  border: 1px #0AAD20 solid;
  background: #fff;
}
.sustainability__btn a {
  display: block;
  color: #fff;
  line-height: 58px;
  font-size: 1.125rem;
  font-weight: 500;
}
.sustainability__btn a:hover {
  color: #0AAD20;
}

.product {
  position: relative;
  margin-bottom: 200px;
}
.product__bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 640px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/top/bg_wave02.svg) no-repeat top;
  background-size: cover;
}
.product__head {
  position: relative;
  z-index: 999;
  display: inline-block;
  float: right;
}
.product__lead {
  clear: both;
  position: relative;
  z-index: 999;
  font-size: 1.5rem;
  letter-spacing: 0.25rem;
  margin-bottom: 3.5rem;
  text-align: right;
}
.product__content {
  position: relative;
  z-index: 999;
  clear: both;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.product__box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  width: 590px;
  height: 250px;
  margin-bottom: 30px;
  padding-left: 40px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.product__box a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.product__box img {
  width: 260px;
  margin-right: 60px;
}
.product__box::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 42px;
  height: 42px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 42px;
}
.product__box p {
  text-align: center;
  font-size: 1.875rem;
  margin: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.product__box p.color {
  color: #e6001b;
}
.product__name {
  padding-bottom: 20px;
}
.product h2 {
  margin-bottom: 2.5rem;
  font-size: 2.25rem;
  letter-spacing: 0.75rem;
  text-align: center;
}
.product__btn {
  width: 340px;
  height: 58px;
  margin: 0 auto 8rem auto;
  border-radius: 999px;
  background-image: -webkit-linear-gradient(45deg, #E5001B, #D00018, #B90016);
  background-image: linear-gradient(45deg, #E5001B, #D00018, #B90016);
  text-align: center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  border: 1px #E5001B solid;
}
.product__btn:hover {
  border: 1px #B90016 solid;
  background: #fff;
}
.product__btn a {
  display: block;
  color: #fff;
  line-height: 58px;
  font-size: 1.125rem;
  font-weight: 500;
}
.product__btn a:hover {
  color: #B90016;
}

.other-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 200px;
}
.other-content .company {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 50%;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.other-content .company p {
  width: 100%;
  overflow: hidden;
  margin-bottom: 30px;
}
.other-content .company img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.other-content .company img:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.other-content .recruit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 50%;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.other-content .recruit p {
  width: 100%;
  overflow: hidden;
  margin-bottom: 30px;
}
.other-content .recruit img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.other-content .recruit img:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.online-shop {
  width: 1240px;
  margin: auto;
  padding: 0 20px;
  margin-bottom: 100px;
}
.online-shop p {
  margin-bottom: 0.75rem;
}
.online-shop h2 {
  margin-bottom: 5rem;
  font-size: 2.25rem;
  letter-spacing: 0.25rem;
  text-align: center;
}
.online-shop__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.online-shop__box {
  position: relative;
  width: 372px;
  margin-bottom: 30px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.online-shop__box:hover {
  opacity: 0.7;
}
.online-shop__box a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.online-shop__name {
  background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat;
  background-size: 16px;
  background-position: right center;
}


.furusato {
  width: 1240px;
  margin: auto;
  padding: 0 20px;
}
.furusato p {
  margin-bottom: 0.75rem;
}
.furusato h2 {
  margin-bottom: 5rem;
  font-size: 2.25rem;
  letter-spacing: 0.25rem;
  text-align: center;
}
.furusato__content {
  display: flex;
  justify-content: center;
}
.furusato__box {
  position: relative;
  width: 530px;
  margin-bottom: 30px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.furusato__box:hover {
  opacity: 0.7;
}
.furusato__box a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.furusato__name {
  background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat;
  background-size: 16px;
  background-position: right center;
}


.news.detail {
  width: 1240px;
  padding: 0 20px;
}
.news .information {
  margin-bottom: 60px;
}
.news .information__content dt {
  margin-right: 20px;
}
.news .information__content dt.information__cat01::before, .news .information__content dt.information__cat02::before, .news .information__content dt.information__cat03::before, .news .information__content dt.information__cat04::before, .news .information__content dt.information__cat05::before, .news .information__content dt.information__cat06::before, .news .information__content dt.information__cat07::before, .news .information__content dt.information__cat08::before {
  margin-right: 20px;
}
.news__date {
  text-align: right;
}

.company__about {
  position: relative;
  margin-bottom: 40px;
}
.company__about-content {
  position: relative;
  z-index: 999;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.company__about-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 760px;
  margin: auto;
  padding-bottom: 100px;
}
.company__about .btn__large {
  position: relative;
  z-index: 999;
  display: table;
  margin: 60px auto 0 auto;
}
.company__about-message {
  position: relative;
  width: 790px;
  height: 330px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: url(/_assets/img/company/pic_president.jpg) no-repeat right #fff;
  background-size: contain;
  padding: 5.5rem 0 0 3.5rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.company__about-message:hover {
  background-color: #e6001b;
}
.company__about-message::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.company__about-message a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.company__about-message p {
  font-size: 1.875rem;
  font-weight: 500;
  margin-bottom: 1rem;
  letter-spacing: 0.25rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.company__about-message p.name {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
}
.company__about-message p.color {
  color: #fff;
}
.company__about-wrap {
  width: 386px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 32px;
}
.company__about-vision {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 386px;
  height: 150px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 40px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.company__about-vision a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.company__about-vision::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/company/ico_company01.svg);
  background-position: center left 32px;
  background-size: 60px;
  background-repeat: no-repeat;
}
.company__about-vision::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.company__about-vision:hover {
  background-color: #e6001b;
}
.company__about-vision.bg-change::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/company/ico_company01_wh.svg);
  background-position: center left 32px;
  background-size: 60px;
  background-repeat: no-repeat;
}
.company__about-vision p {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-top: 40px;
  padding-left: 40px;
}
.company__about-vision p.color {
  color: #fff;
}
.company__about-mission {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 386px;
  height: 150px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 40px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.company__about-mission a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.company__about-mission::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/company/ico_company02.svg);
  background-position: center left 32px;
  background-size: 72px;
  background-repeat: no-repeat;
}
.company__about-mission::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.company__about-mission:hover {
  background-color: #e6001b;
}
.company__about-mission.bg-change::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/company/ico_company02_wh.svg);
  background-position: center left 32px;
  background-size: 72px;
  background-repeat: no-repeat;
}
.company__about-mission p {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-top: 40px;
  padding-left: 40px;
}
.company__about-mission p.color {
  color: #fff;
}
.company__message {
  margin-bottom: 48px;
}
.company__message img {
  width: 100%;
}
.company__process {
  position: relative;
  margin-bottom: 120px;
}
.company__process-bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 100%;
  min-height: 540px;
  margin-left: calc(50% - 50vw - 20px);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/company/bg_wave.svg) no-repeat top center;
  background-size: cover;
}
.company__process h2 {
  position: relative;
  z-index: 999;
  text-align: left;
  padding-bottom: 0;
  background: url(/_assets/img/ir/ico_ir-strategy.svg) no-repeat left 142px;
  padding-left: 2rem;
  margin-bottom: 4rem;
  padding-top: 140px;
}
.company__process-value {
  z-index: 999;
  display: block;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 240px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 40px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  background: url(/_assets/img/company/pic_company01.jpg) no-repeat left;
  background-size: cover;
}
.company__process-value a {
  position: absolute;
  width: 100%;
  height: 100%;
}
.company__process-value::after {
  position: absolute;
  bottom: 20px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.company__process-value p {
  text-align: center;
  padding-left: 35rem;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  margin: 0;
}
.company__process-value p.color {
  color: #e6001b;
}
.company__info {
  position: relative;
  z-index: 999;
}
.company__info-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 64px;
}
.company__info-btn {
  display: block;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 228px;
  height: 244px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.company__info-btn a {
  position: absolute;
  width: 100%;
  height: 100%;
}
.company__info-btn::before {
  position: absolute;
  top: 40px;
  left: 68px;
  content: "";
  width: 89px;
  height: 89px;
  background-image: url(/_assets/img/company/ico_company03.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
.company__info-btn:nth-child(2)::before {
  background-image: url(/_assets/img/company/ico_company04.svg);
}
.company__info-btn:nth-child(3)::before {
  top: 56px;
  left: 60px;
  width: 106px;
  height: 63px;
  background-image: url(/_assets/img/company/ico_company05.svg);
}
.company__info-btn:nth-child(4)::before {
  background-image: url(/_assets/img/company/ico_company06.svg);
}
.company__info-btn:nth-child(5)::before {
  background-image: url(/_assets/img/company/ico_company07.svg);
}
.company__info-btn::after {
  position: absolute;
  bottom: 20px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.company__info-btn p {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  margin: 0;
  padding-top: 80px;
}
.company__info-btn p.color {
  color: #e6001b;
}
.company__vision {
  margin-bottom: 3rem;
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: 0.25rem;
  line-height: 2;
}
.company__philosophy {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
.company__philosophy-detail {
  width: 260px;
}
.company__philosophy-detail img {
  margin: auto;
}
.company__philosophy-message {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 600;
  font-size: 1.25rem;
  min-height: 120px;
}
.company__philosophy-message p {
  text-align: center;
}
.company__table th {
  white-space: nowrap;
  text-align: left;
}
.company__table td.name {
  white-space: nowrap;
}
.company__yakuin-photo {
  width: 120px;
}
.company__director {
  width: 240px;
}
.company__director-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.company__director img {
  margin-bottom: 1rem;
}
.company__director p {
  text-align: center;
  font-weight: 500;
  font-size: 1.125rem;
}
.company__director p span {
  font-weight: 400;
  display: block;
  font-size: 0.9375rem;
  line-height: 1.6;
}
.company__group p {
  margin-bottom: 1rem;
}
.company__group-outline {
  margin-bottom: 3.5rem;
}
.company__map {
  margin-bottom: 30px;
}
.company__map iframe {
  width: 100%;
}
.company__history {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.company__history dt {
  width: 16%;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px #d9d9d9 solid;
}
.company__history dd {
  width: 84%;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px #d9d9d9 solid;
}
.company__mission-title {
  font-size: 1.375rem;
  margin-bottom: 2rem;
}
.company__mission-movie {
  margin-bottom: 40px;
  cursor: pointer;
}
.company__mission-modal {
  position: fixed;
  top: 0;
  left: 0;
  color: #000;
  background-color: rgba(0, 0, 0, 0.9);
  width: 100%;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 999;
}
.company__mission-modal.active {
  z-index: 99999;
  opacity: 1;
  visibility: visible;
}
.company__mission-modal-close {
  position: absolute;
  z-index: 9999;
  right: 0;
  top: -40px;
  color: #fff;
  cursor: pointer;
}
.company__mission-modal-content {
  position: relative;
  width: 900px;
  height: auto;
  margin: 60px auto;
}
.company__mission-modal-content video {
  width: 900px;
}
.company__base-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto 2.5rem auto;
}
.company__base-nav ul li {
  display: block;
  width: 32%;
  text-align: center;
  padding: 1.25rem 0;
  background: #f5f5f5;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  font-weight: 500;
}
.company__base-nav ul li:hover {
  color: #e6001b;
}
.company__base-nav ul li.active {
  background: #e6001b;
  color: #fff;
}
.company__base-map01 {
  position: relative;
  width: 800px;
  margin: 0 auto 60px auto;
}
.company__base-map01 dt {
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px #d9d9d9 solid;
}
.company__base-map01 dd {
  font-size: 0.825rem;
  margin-bottom: 1rem;
}
.company__base-map01-01, .company__base-map01-02, .company__base-map01-03, .company__base-map01-04, .company__base-map01-05, .company__base-map01-06, .company__base-map01-07, .company__base-map01-08, .company__base-map01-09, .company__base-map01-10, .company__base-map01-11, .company__base-map01-12, .company__base-map01-13, .company__base-map01-14, .company__base-map01-15, .company__base-map01-16, .company__base-map01-17, .company__base-map01-18, .company__base-map01-19 {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 20px;
  left: 100px;
  width: 184px;
  background: #f5f5f5;
  padding: 16px;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.company__base-map01-01.active, .company__base-map01-02.active, .company__base-map01-03.active, .company__base-map01-04.active, .company__base-map01-05.active, .company__base-map01-06.active, .company__base-map01-07.active, .company__base-map01-08.active, .company__base-map01-09.active, .company__base-map01-10.active, .company__base-map01-11.active, .company__base-map01-12.active, .company__base-map01-13.active, .company__base-map01-14.active, .company__base-map01-15.active, .company__base-map01-16.active, .company__base-map01-17.active, .company__base-map01-18.active, .company__base-map01-19.active {
  opacity: 1;
  visibility: visible;
}
.company__base-map01-02 {
  top: 40px;
}
.company__base-map01-03 {
  top: 50px;
}
.company__base-map01-04 {
  top: 90px;
}
.company__base-map01-05 {
  top: 100px;
}
.company__base-map01-06 {
  top: 100px;
}
.company__base-map01-07 {
  width: 420px;
  top: 50px;
  left: -100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.company__base-map01-08 {
  top: 100px;
}
.company__base-map01-09 {
  top: 100px;
}
.company__base-map01-10 {
  top: 100px;
}
.company__base-map01-11 {
  top: 100px;
}
.company__base-map01-12 {
  top: 100px;
}
.company__base-map01-13 {
  top: 100px;
}
.company__base-map01-14 {
  top: 160px;
  left: 0;
}
.company__base-map01-15 {
  top: 170px;
  left: 0;
}
.company__base-map01-16 {
  top: 170px;
  left: -40px;
}
.company__base-map01-17 {
  top: 170px;
  left: -40px;
}
.company__base-map01-18 {
  top: 170px;
  left: -40px;
}
.company__base-map02 {
  position: relative;
  width: 552px;
  margin: 0 auto 60px auto;
}
.company__base-map02 .anchor-link {
  position: absolute;
  top: 40px;
}
.company__base-map02 .anchor-link ul {
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.company__base-map02 .anchor-link li {
  width: 200px;
}
.company__base-map02-01, .company__base-map02-02, .company__base-map02-03, .company__base-map02-04, .company__base-map02-05, .company__base-map02-06, .company__base-map02-07 {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 40px;
  left: 260px;
  background: #f5f5f5;
  padding: 16px 32px;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.company__base-map02-01.active, .company__base-map02-02.active, .company__base-map02-03.active, .company__base-map02-04.active, .company__base-map02-05.active, .company__base-map02-06.active, .company__base-map02-07.active {
  opacity: 1;
  visibility: visible;
}
.company__base-map02-02 {
  top: 200px;
  left: 240px;
}
.company__base-map02-03 {
  top: 440px;
  left: 390px;
}
.company__base-map02-04 {
  top: 300px;
  left: 180px;
}
.company__base-map02-05 {
  top: 360px;
  left: 100px;
}
.company__base-map02-06 {
  top: 380px;
  left: 0;
}
.company__base-map02-07 {
  top: 460px;
  left: -100px;
}
.company__base-map03 {
  position: relative;
  width: 760px;
  margin: 0 auto 60px auto;
}
.company__base-category {
  display: none;
  -webkit-animation: fade 0.4s ease-in-out;
          animation: fade 0.4s ease-in-out;
}
.company__base-category.active {
  display: block;
}
@-webkit-keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.company__base-factory {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px #d9d9d9 solid;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.company__base-factory.no-photo {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.company__base-factory.no-photo dl {
  width: 100%;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px #d9d9d9 solid;
}
.company__base-factory.no-photo dl.space {
  margin-bottom: 2.5rem;
}
.company__base-factory h3 {
  width: 100%;
}
.company__base-factory dt {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
}
.company__base-factory dt span {
  display: block;
  font-size: 0.925rem;
}
.company__base-factory dd {
  margin-bottom: 1rem;
}
.company__value-process {
  position: relative;
  height: 620px;
}
.company__value-process-fig {
  position: absolute;
}
.company__value-process ul {
  position: relative;
  z-index: 999;
}
.company__value-process li {
  display: block;
  position: absolute;
  width: 174px;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.company__value-process li:first-child {
  top: 120px;
  left: 240px;
}
.company__value-process li:nth-child(2) {
  top: 120px;
  left: 472px;
}
.company__value-process li:nth-child(3) {
  top: 360px;
  left: 472px;
}
.company__value-process li:nth-child(4) {
  top: 360px;
  left: 240px;
}
.company__value-process li:hover {
  opacity: 0.7;
}
.company__value-input {
  margin-bottom: 5rem;
}
.company__value-input h3 {
  font-size: 2.25rem;
  background: url(/_assets/img/company/img_value02.png) no-repeat left top;
  background-size: 125px;
  padding-left: 9.25rem;
  border: none;
  min-height: 125px;
  line-height: 125px;
  margin-left: -0.5rem;
  margin-bottom: 0;
}
.company__value-input-wrap01 {
  position: relative;
  z-index: 999;
}
.company__value-input-wrap02 {
  position: relative;
  z-index: 998;
}
.company__value-input-wrap03 {
  position: relative;
  z-index: 997;
}
.company__value-input-wrap04 {
  position: relative;
  z-index: 996;
}
.company__value-input-wrap05 {
  position: relative;
  z-index: 995;
}
.company__value-input-wrap06 {
  position: relative;
  z-index: 994;
}
.company__value-input-box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 200px;
}
.company__value-input-sub {
  width: 248px;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(66, 152, 249)), to(rgb(135, 185, 242)));
  background-image: -webkit-linear-gradient(left, rgb(66, 152, 249), rgb(135, 185, 242));
  background-image: linear-gradient(90deg, rgb(66, 152, 249), rgb(135, 185, 242));
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.company__value-input-sub.orange {
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(243, 159, 5)), to(rgb(242, 199, 121)));
  background-image: -webkit-linear-gradient(left, rgb(243, 159, 5), rgb(242, 199, 121));
  background-image: linear-gradient(90deg, rgb(243, 159, 5), rgb(242, 199, 121));
}
.company__value-input-sub.yellow {
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(207, 207, 24)), to(rgb(232, 232, 141)));
  background-image: -webkit-linear-gradient(left, rgb(207, 207, 24), rgb(232, 232, 141));
  background-image: linear-gradient(90deg, rgb(207, 207, 24), rgb(232, 232, 141));
}
.company__value-input-sub.purple {
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(94, 88, 165)), to(rgb(141, 135, 213)));
  background-image: -webkit-linear-gradient(left, rgb(94, 88, 165), rgb(141, 135, 213));
  background-image: linear-gradient(90deg, rgb(94, 88, 165), rgb(141, 135, 213));
}
.company__value-input-sub.pink {
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(249, 118, 118)), to(rgb(252, 160, 160)));
  background-image: -webkit-linear-gradient(left, rgb(249, 118, 118), rgb(252, 160, 160));
  background-image: linear-gradient(90deg, rgb(249, 118, 118), rgb(252, 160, 160));
}
.company__value-input-sub.green {
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(27, 186, 156)), to(rgb(96, 214, 192)));
  background-image: -webkit-linear-gradient(left, rgb(27, 186, 156), rgb(96, 214, 192));
  background-image: linear-gradient(90deg, rgb(27, 186, 156), rgb(96, 214, 192));
}
.company__value-input-sub img {
  display: block;
  margin: auto;
}
.company__value-input-sub h4 {
  text-align: center;
  color: #fff;
  font-weight: 600;
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}
.company__value-input-sub p {
  margin-bottom: 0;
  text-align: center;
  color: #fff;
  line-height: 1.4;
}
.company__value-input-detail {
  width: 592px;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), to(rgb(245, 245, 245)));
  background-image: -webkit-linear-gradient(left, rgb(255, 255, 255), rgb(245, 245, 245));
  background-image: linear-gradient(90deg, rgb(255, 255, 255), rgb(245, 245, 245));
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.company__value-input-detail p {
  padding: 1.5rem;
  margin-bottom: 0;
}
.company__value-input-bg {
  position: absolute;
  z-index: 999;
}
.company__value-business {
  margin-bottom: 5rem;
}
.company__value-business h3 {
  font-size: 2.25rem;
  background: url(/_assets/img/company/img_value03.png) no-repeat left top;
  background-size: 125px;
  padding-left: 9.25rem;
  border: none;
  min-height: 125px;
  line-height: 125px;
  margin-left: -0.5rem;
  margin-bottom: 0;
}
.company__value-business-wrap {
  background: #f5f5f5;
  border-radius: 0 0 48px 0;
  padding-top: 1.5rem;
  padding-bottom: 0.01rem;
  margin-bottom: 2.5rem;
}
.company__value-business-box {
  width: 788px;
  margin: 0 auto 2.5rem auto;
}
.company__value-business-flow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 788px;
  margin-bottom: 1rem;
}
.company__value-business-flow h4 {
  width: 260px;
  background: url(/_assets/img/company/img_value-flow01.png) no-repeat;
  background-size: 260px;
  text-align: center;
  color: #fff;
  padding-top: 2rem;
  font-size: 1.5rem;
  margin-bottom: 0;
}
.company__value-business-flow h4.flow01 {
  background: url(/_assets/img/company/img_value-flow01.png) no-repeat;
  background-size: 260px;
}
.company__value-business-flow h4.flow02 {
  background: url(/_assets/img/company/img_value-flow02.png) no-repeat;
  background-size: 260px;
}
.company__value-business-flow h4.flow03 {
  background: url(/_assets/img/company/img_value-flow03.png) no-repeat;
  background-size: 260px;
}
.company__value-business-flow h4.flow04 {
  background: url(/_assets/img/company/img_value-flow04.png) no-repeat;
  background-size: 260px;
}
.company__value-business-flow h4.flow05 {
  background: url(/_assets/img/company/img_value-flow05.png) no-repeat;
  background-size: 260px;
}
.company__value-business-flow p {
  width: 472px;
  font-weight: 500;
  margin-top: -0.5rem;
  margin-bottom: 0;
}
.company__value-business-detail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 788px;
}
.company__value-business-detail img {
  width: 260px;
}
.company__value-business-strength {
  width: 472px;
  background: #fff;
  border-radius: 0 0 24px 0;
  -webkit-box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.company__value-business-strength p {
  width: 72px;
  background: #ffcb02;
  border-radius: 999px;
  text-align: center;
  line-height: 72px;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 500;
  margin: 0 1rem 0 -36px;
}
.company__value-business-strength ul {
  width: 400px;
  margin-bottom: 0 !important;
  padding: 1rem 0;
}
.company__value-business-strength ul li {
  margin-bottom: 0.5rem !important;
}
.company__value-output {
  margin-bottom: 5rem;
}
.company__value-output h3 {
  font-size: 2.25rem;
  background: url(/_assets/img/company/img_value04.png) no-repeat left top;
  background-size: 125px;
  padding-left: 9.25rem;
  border: none;
  min-height: 125px;
  line-height: 125px;
  margin-left: -0.5rem;
  margin-bottom: 0;
}
.company__value-output-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 480px;
}
.company__value-output-wrap div {
  width: 260px;
  background: #f5f5f5;
  height: 480px;
  border-radius: 0 0 40px 0;
}
.company__value-output-wrap img {
  padding-top: 1rem;
  background: #fff;
}
.company__value-output-wrap h4 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  margin-bottom: 0;
  padding-left: 1rem;
  border-left: 4px #e6001b solid;
  min-height: 64px;
}
.company__value-output-wrap ul {
  padding: 1rem;
  margin-left: 1rem;
  margin-bottom: 0;
}
.company__value-outcome {
  margin-bottom: 5rem;
}
.company__value-outcome h3 {
  font-size: 2.25rem;
  background: url(/_assets/img/company/img_value05.png) no-repeat left top;
  background-size: 125px;
  padding-left: 9.25rem;
  border: none;
  min-height: 125px;
  line-height: 125px;
  margin-left: -0.5rem;
  margin-bottom: 0;
}
.company__value-outcome img {
  width: 760px;
  margin: auto;
}

.safety__division h2 {
  text-align: center;
  background: none;
  border-bottom: 3px #d9d9d9 solid;
  font-size: 2.5rem;
}
.safety__division h3.lead {
  text-align: center;
  color: #e6001b;
  border: none;
  margin-bottom: 1.5rem;
}
.safety__division-box {
  margin-bottom: 24px;
  padding: 1rem 2rem 1.5rem 2rem;
  background: #f5f5f5;
  border-radius: 0 0 40px 0;
}
.safety__division-box h3 {
  color: #e6001b;
  border: none;
  margin-bottom: 0;
  padding-bottom: 0;
  line-height: 2.4;
}
.safety__division-box h3.no1 {
  padding-left: 48px;
  background: url(/_assets/img/safety/ico_safety_no01.svg) no-repeat left center;
}
.safety__division-box h3.no2 {
  padding-left: 48px;
  background: url(/_assets/img/safety/ico_safety_no02.svg) no-repeat left center;
}
.safety__division-box h3.no3 {
  padding-left: 48px;
  background: url(/_assets/img/safety/ico_safety_no03.svg) no-repeat left center;
}
.safety__division-box h3.no4 {
  padding-left: 48px;
  background: url(/_assets/img/safety/ico_safety_no04.svg) no-repeat left center;
}
.safety__division-box p {
  margin-bottom: 0;
  padding-left: 48px;
}
.safety__system {
  position: relative;
  margin-bottom: 120px;
  margin-top: -48px;
}
.safety__system-bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 100%;
  margin-left: calc(50% - 50vw - 20px);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/safety/bg_wave.svg) no-repeat bottom;
  background-size: cover;
}
.safety__system-content {
  position: relative;
  z-index: 999;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.safety__system h2 {
  position: relative;
  z-index: 999;
  text-align: left;
  padding-bottom: 0;
  background: url(/_assets/img/ir/ico_ir-strategy.svg) no-repeat left 142px;
  padding-left: 2rem;
  margin-bottom: 4rem;
  padding-top: 140px;
}
.safety__system-statement {
  width: 580px;
}
.safety__system-pic {
  width: 560px;
}
.safety__system-pic img {
  width: 100%;
}
.safety__contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2rem;
}
.safety__contents .border {
  position: relative;
}
.safety__contents .border::before {
  content: "";
  display: block;
  position: absolute;
  top: 36px;
  bottom: 0;
  left: -20px;
  width: 0;
  border-left: 1px solid #d9d9d9;
}
.safety__contents .border::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  left: -40px;
  width: 40px;
  height: 61px;
  background: #fff;
}
.safety__contents li {
  position: relative;
  width: 580px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 70px;
  padding-left: 2.5rem;
  border: 1px #d9d9d9 solid;
  background-color: #fafafa;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-position: left 16px center;
  margin-bottom: 1rem;
}
.safety__contents li::before {
  content: "";
  display: block;
  position: absolute;
  top: 35px;
  left: -20px;
  width: 20px;
  height: 0;
  border-top: 1px solid #d9d9d9;
}
.safety__contents li:first-child::before {
  width: 40px;
  left: -40px;
}
.safety__contents li.parent {
  border: 1px #e6001b solid;
  background-color: #fff;
  color: #e6001b;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.safety__contents li.parent::before {
  content: "";
  border: none;
}
.safety__contents li a {
  display: block;
}
.safety__management-sqf {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.safety__management-sqf-txt {
  width: 640px;
}
.safety__agree {
  text-align: center;
}
.safety__agree p {
  margin-bottom: 1rem;
}
.safety__allergy-sample img {
  width: 100%;
  padding: 20px;
  border: 1px #d9d9d9 solid;
}
.safety__trasability-img {
  width: 680px;
  margin: auto;
}
.safety__trasability-img img {
  width: 100%;
}
.safety__trasability-system {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.safety__trasability-btn {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 48%;
  height: 150px;
  padding-left: 4rem;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.safety__trasability-btn a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.safety__trasability-btn::before {
  position: absolute;
  left: 30px;
  content: "";
  width: 75px;
  height: 53px;
  background-image: url(/_assets/img/safety/ico_beef.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
.safety__trasability-btn:nth-child(2)::before {
  height: 48px;
  background-image: url(/_assets/img/safety/ico_pork.svg);
}
.safety__trasability-btn::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.safety__trasability-btn p {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  margin: 0;
}
.safety__trasability-btn p.color {
  color: #e6001b;
}
.safety__trasability-contact p {
  margin: 0;
}
.safety__trasability-contact span {
  font-size: 2rem;
  font-weight: 600;
  display: block;
  color: #e6001b;
}
.safety__assurance-contact-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.safety__assurance-contact p {
  margin: 0;
  line-height: 1.6;
}
.safety__assurance-contact span {
  font-size: 2rem;
  font-weight: 600;
  display: block;
  color: #e6001b;
}
.safety__assurance-contact-btn {
  display: table;
  text-align: center;
}
.safety__assurance-contact-btn a {
  width: 336px;
  height: 58px;
  border-radius: 999px;
  display: block;
  position: relative;
  color: #fff;
  font-size: 1.125rem;
  padding-left: 2.5rem;
  line-height: 58px;
  font-weight: 500;
  background: url(/_assets/img/common/ico_contact_red.svg) no-repeat #e6001b;
  background-size: 26px;
  background-position: left 40px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.safety__assurance-contact-btn a:hover {
  background: url(/_assets/img/common/ico_contact_white.svg) no-repeat #fff;
  background-size: 26px;
  background-position: left 40px center;
  color: #e6001b;
  border: 1px #e6001b solid;
}
.safety__sqf section {
  clear: both;
  margin-bottom: 20px;
}
.safety__sqf h2 {
  position: relative;
  font-size: 1.25rem;
  border: 1px #d9d9d9 solid;
  line-height: 70px;
  padding: 0 1.5rem;
  background: none;
  background-color: #fafafa;
  display: block;
  cursor: pointer;
  margin-bottom: 2rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.safety__sqf h2:hover {
  color: #e6001b;
}
.safety__sqf h2::after {
  position: absolute;
  display: block;
  content: "";
  width: 32px;
  height: 32px;
  top: 20px;
  right: 16px;
  background: url(/_assets/img/common/ico_acc_open.svg) no-repeat right;
}
.safety__sqf h2.selected::after {
  background: url(/_assets/img/common/ico_acc_close.svg) no-repeat right;
}
.safety__sqf-group span {
  color: #e6001b;
  font-size: 2.5rem;
}
.safety__sqf ul {
  margin-bottom: 4rem;
}
.safety__sqf li {
  margin-bottom: 1rem;
}
.safety__sqf-list {
  display: none;
}
.safety__sqf-list::after {
  content: "";
  clear: both;
  display: block;
}
.safety__sqf-list.active {
  display: block;
}
.safety__sqf-list-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.safety__sqf-list-content ul {
  width: 48%;
}
.safety__sqf-archive {
  display: none;
}
.safety__sqf-about {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.safety__sqf-txt {
  width: 72%;
}
.safety__sqf-map {
  position: relative;
  width: 552px;
  margin: 0 auto 60px auto;
}
.safety__sqf-map .anchor-link {
  position: absolute;
  width: 400px;
  top: 40px;
}
.safety__sqf-map .anchor-link ul {
  display: block;
}
.safety__sqf-map .anchor-link li {
  width: auto;
}
.safety__sqf-fig {
  margin-bottom: 40px;
}
.safety__sqf-caution {
  padding-left: 2.5rem;
}
.safety__sqf-caution li {
  text-indent: -2.35rem;
  color: #888888;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}
.safety__sqf-caution li:nth-child(1)::before {
  content: "＊1";
  margin-right: 0.5rem;
}
.safety__sqf-caution li:nth-child(2)::before {
  content: "＊2";
  margin-right: 0.5rem;
}

.product__contact {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 220px;
  background: #f5f5f5;
  border-radius: 0 0 40px 0;
  padding: 0 2.5rem;
}
.product__contact h3 {
  font-size: 1.5rem;
  margin: 0;
  border: none;
  margin-bottom: 1rem;
  padding-bottom: 0;
}
.product__contact h4 {
  font-size: 1rem;
  margin-bottom: 0rem;
  padding-bottom: 0;
}
.product__contact p {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 0;
  line-height: 1.6;
}
.product__contact p span {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
}
.product__contact p a {
  color: #000000;
  text-decoration: none;
}
.product__contact-btn {
  display: table;
  text-align: center;
  padding-top: 4.5rem;
}
.product__contact-btn a {
  width: 336px;
  height: 58px;
  border-radius: 999px;
  display: block;
  position: relative;
  color: #fff;
  font-size: 1.125rem;
  padding-left: 2.5rem;
  line-height: 58px;
  font-weight: 500;
  background: url(/_assets/img/common/ico_contact_red.svg) no-repeat #e6001b;
  background-size: 26px;
  background-position: left 40px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.product__contact-btn a:hover {
  background: url(/_assets/img/common/ico_contact_white.svg) no-repeat #fff;
  background-size: 26px;
  background-position: left 40px center;
  color: #e6001b;
  border: 1px #e6001b solid;
}
.product__index h2 {
  color: #000000;
  background: none !important;
  border-bottom: 2px #d9d9d9 solid;
  font-size: 1.75rem !important;
  line-height: 1.6 !important;
  text-align: center;
  padding-bottom: 1rem;
}
.product__index-nav {
  margin-bottom: 4rem;
}
.product__index-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px;
}
.product__index-nav li {
  width: 240px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  text-align: center;
  background: url(/_assets/img/common/ico_arrow.svg) no-repeat center bottom 16px;
  background-size: 20px;
}
.product__index-nav li a {
  display: block;
  min-height: 220px;
  padding: 1rem 0 3rem 0;
}
.product__index-nav li img {
  display: block;
  height: 120px;
  margin: 1rem auto 1rem auto;
}
.product__index-nav02 {
  margin-bottom: 4rem;
}
.product__index-nav02 ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px;
}
.product__index-nav02 li {
  width: 530px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  text-align: center;
  background: url(/_assets/img/common/ico_arrow.svg) no-repeat center bottom 16px;
  background-size: 20px;
}
.product__index-nav02 li a {
  display: block;
  min-height: 220px;
  padding: 1rem 0 3rem 0;
}
.product__index-nav02 li img {
  display: block;
  margin: 1rem auto 1rem auto;
}
.product__index-brand {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
.product__index-brand div {
  width: 280px;
}
.product__index-feature {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.5rem;
}
.product__index-feature-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 120px;
  height: 120px;
  background: #e6001b;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
}
.product__index-feature-detail {
  width: 700px;
}
.product__index-feature-detail h4 {
  margin-bottom: 0.5rem;
}
.product__index-feature-detail p {
  margin-bottom: 0;
}
.product__list-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2.5rem;
}
.product__list-brand {
  width: 48%;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 40px 0;
}
.product__list-brand div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 190px;
  background: #f5f5f5;
  border-bottom: 1px #d9d9d9 solid;
}
.product__list-brand div img {
  width: 250px;
}
.product__list-brand ul {
  padding: 1rem 1rem 1.5rem 2.5rem;
}
.product__list-brand li {
  list-style: disc;
}
.product__list-brand li span {
  font-weight: 500;
}
.product__list-area {
  position: relative;
  width: 840px;
  height: 700px;
}
.product__list-map {
  position: absolute;
  width: 630px;
  right: 0;
  z-index: 1;
}
.product__list-area01 {
  position: relative;
  z-index: 2;
  width: 380px;
  background: #d0eae5;
  border-radius: 0 0 16px 0;
  padding: 1.5rem;
  margin-bottom: 1rem;
}
.product__list-area01 h3 {
  font-size: 1.25rem;
  color: #1bba9c;
  border: none;
  padding-bottom: 0;
  margin-bottom: 0.5rem;
}
.product__list-area01 p {
  margin-bottom: 0;
}
.product__list-area02 {
  position: relative;
  z-index: 2;
  width: 380px;
  background: #ffe5d3;
  border-radius: 0 0 16px 0;
  padding: 1.5rem;
}
.product__list-area02 h3 {
  font-size: 1.25rem;
  color: #ff6a2b;
  border: none;
  padding-bottom: 0;
  margin-bottom: 0.5rem;
}
.product__list-area02 p {
  margin-bottom: 0;
}
.product__iffa {
  padding-bottom: 2rem;
}
.product__iffa h3 {
  font-size: 1.125rem;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}
.product__iffa p {
  margin-bottom: 0;
}
.product__list-category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  width: 100%;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
}
.product__list-category figure {
  width: 260px;
  height: 173px;
  margin-bottom: 4rem;
}
.product__list-category figure img {
  width: auto;
  margin: auto;
  height: 173px;
  margin-bottom: 0.75rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -o-object-fit: contain;
     object-fit: contain;
}
.product__list-category figure img:hover {
  opacity: 0.7;
}
.product__list-category figure figcaption {
  font-size: 0.875rem;
}
.product__list-category .txt-link {
  background-position: left top 5px;
}
.product__detail-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.product__detail-wrap div {
  width: 48%;
}
.product__detail-info ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 16px;
}
.product__detail-info li {
  border: 1px #e6001b solid;
  border-radius: 16px;
  font-size: 1.5rem;
  font-weight: 500;
  color: #e6001b;
  width: 270px;
  margin-bottom: 1rem;
  text-align: center;
  padding: 1rem;
}
.product__detail-info li.wide {
  width: 100%;
}
.product__detail-info li span {
  display: block;
  font-size: 1rem;
  font-weight: 400;
}
.product__detail-feature {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.product__detail-feature p {
  width: 400px;
  margin-top: -0.5rem;
}
.product__japanese-title {
  color: #000000;
  background: none !important;
  border: none;
  margin-bottom: 0 !important;
  font-size: 1.75rem !important;
  line-height: 1.6 !important;
}
.product__japanese h3 {
  color: #e6001b;
  border: none;
  margin-bottom: 0.5rem;
  line-height: 1.6;
}
.product__japanese h3 span {
  display: block;
  font-size: 1rem;
  margin-top: 1rem;
}
.product__japanese-map {
  width: 680px;
  margin: 0 auto 2.5rem auto;
}
.product__japanese-nav {
  margin-bottom: 4rem;
}
.product__japanese-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
}
.product__japanese-nav li {
  width: 198px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  text-align: center;
  background: url(/_assets/img/common/ico_acc_open.svg) no-repeat center bottom 16px;
  background-size: 20px;
}
.product__japanese-nav li a {
  display: block;
  min-height: 220px;
  padding: 1rem 0 3rem 0;
}
.product__japanese-nav li img {
  display: block;
  height: 80px;
  margin: 1rem auto 1rem auto;
}
.product__japanese-brand {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
.product__japanese-brand div {
  width: 280px;
}
.product__japanese-brand table th {
  text-align: left;
  width: 200px;
  white-space: nowrap;
}
.product__japanese-feature {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.product__japanese-feature-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 120px;
  height: 120px;
  background: #e6001b;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
}
.product__japanese-feature-detail {
  width: 700px;
}
.product__japanese-feature-detail h4 {
  margin-bottom: 0.5rem;
}
.product__japanese-feature-detail p {
  margin-bottom: 0;
}
.product__japanese-feature-detail .caution {
  display: block;
  line-height: 1.8;
  margin-top: 0.5rem;
}
.product__japanese-feature-detail .red {
  color: #e6001b;
}
.product__japanese-feature-detail img {
  margin: 1.5rem 0;
}
.product__japanese-feature-detail-s {
  width: 480px;
}
.product__japanese-feature-detail-s h4 {
  margin-bottom: 0.5rem;
}
.product__japanese-feature-detail-s p {
  margin-bottom: 0;
}
.product__japanese-feature-detail-s .caution {
  display: block;
  line-height: 1.8;
  margin-top: 0.5rem;
}
.product__japanese-feature-detail-s .red {
  color: #e6001b;
}
.product__japanese-feature-detail-s img {
  margin: 1.5rem 0;
}
.product__japanese-feature-photo {
  width: 200px;
}
.product__japanese-feature-photo img {
  margin-bottom: 1rem;
}
.product__japanese-feature .caution {
  display: block;
  line-height: 1.8;
  margin-top: 0.5rem;
}
.product__japanese-feature .red {
  color: #e6001b;
}
.product__japanese-feature img {
  margin-top: 1.5rem;
}
.product__imported-title {
  color: #000000;
  background: none !important;
  border: none;
  margin-bottom: 0 !important;
  font-size: 1.75rem !important;
  line-height: 1.6 !important;
}
.product__imported h3 {
  color: #e6001b;
  border: none;
  margin-bottom: 0.5rem;
  line-height: 1.6;
}
.product__imported h3 span {
  display: block;
  font-size: 1rem;
  margin-top: 1rem;
}
.product__imported-map {
  width: 680px;
  margin: 0 auto 2.5rem auto;
}
.product__imported-nav {
  margin-bottom: 4rem;
}
.product__imported-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
}
.product__imported-nav li {
  width: 198px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  text-align: center;
  background: url(/_assets/img/common/ico_acc_open.svg) no-repeat center bottom 16px;
  background-size: 20px;
}
.product__imported-nav li a {
  display: block;
  min-height: 220px;
  padding: 1rem 0 3rem 0;
}
.product__imported-nav li img {
  display: block;
  height: 80px;
  margin: 1rem auto 1rem auto;
}
.product__imported-brand {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
.product__imported-brand div {
  width: 280px;
  margin-bottom: 2.5rem;
}
.product__imported-brand table th {
  text-align: left;
  width: 200px;
  white-space: nowrap;
}
.product__imported-brand-txt {
  width: 640px !important;
}
.product__imported .caption {
  font-size: 0.925rem;
  text-align: center;
}
.product__imported-feature {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.product__imported-feature-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 120px;
  height: 120px;
  background: #e6001b;
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
}
.product__imported-feature-detail {
  width: 700px;
}
.product__imported-feature-detail h4 {
  margin-bottom: 0.5rem;
}
.product__imported-feature-detail p {
  margin-bottom: 0;
}
.product__imported-feature-detail .caution {
  display: block;
  line-height: 1.8;
  margin-top: 0.5rem;
}
.product__imported-feature-detail .red {
  color: #e6001b;
}
.product__imported-feature-detail img {
  margin: 1.5rem 0;
}
.product__imported-feature-detail-s {
  width: 480px;
}
.product__imported-feature-detail-s h4 {
  margin-bottom: 0.5rem;
}
.product__imported-feature-detail-s p {
  margin-bottom: 0;
}
.product__imported-feature-detail-s .caution {
  display: block;
  line-height: 1.8;
  margin-top: 0.5rem;
}
.product__imported-feature-detail-s .red {
  color: #e6001b;
}
.product__imported-feature-detail-s img {
  margin: 1.5rem 0;
}
.product__imported-feature-photo {
  width: 200px;
}
.product__imported-feature-photo img {
  margin-bottom: 1rem;
}
.product__imported-feature-fig {
  width: 680px;
  margin-left: 140px;
}
.product__imported-feature .list {
  margin-top: 1rem;
  margin-bottom: 1.5rem !important;
}
.product__imported-feature .three-column {
  width: 680px;
  text-align: center;
  margin-left: 140px;
}
.product__imported-feature .three-column figure {
  width: 208px;
}
.product__processed-ttl {
  width: 100%;
  margin-bottom: 2.5rem;
}
.product__processed-ttl img {
  width: 100%;
  margin-bottom: 0.5rem;
}
.content__furusato .main{
  margin-bottom: 20px;
}
.content__furusato .portal{
  width: 100%;
  background-color: #f5f5f5;
  margin-bottom: 80px;
  padding: 40px;
}
.content__furusato .portal h2{
  font-size: 1.75rem;
  padding-bottom: 0;
  margin-bottom: 40px;
  background-image: none;
  text-align: center;
}
.content__furusato .portal_list{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.content__furusato .portal_list li{
  margin: 0 16px 16px 0;
}
.content__furusato .portal_list li:nth-child(2n){
  margin-right: 0;
}
.content__furusato .portal_list li:nth-last-child(-n+2){
  margin-bottom: 0;
}
.content__furusato .portal_list img{
  width: 280px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.content__furusato .portal_list img:hover {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  opacity: 0.7;
}
.content__furusato .product{
  width: 100%;
  background-color: #f5f5f5;
  padding: 40px 0;
  margin-bottom: 80px;
}
.content__furusato .card{
  padding:0 40px;
  margin-bottom: 20px;
}
.content__furusato .slider-for .slide-arrowL {
  width: 40px !important;
}
.content__furusato .slider-for .next-arrowL,
.content__furusato .slider-for .prev-arrowL {
  position: absolute;
  z-index: 999;
  top: 220px;
  cursor: pointer;
}
.content__furusato .slider-for .next-arrowL {
  right: -20px;
}
.content__furusato .slider-for .prev-arrowL {
  left: -20px;
}
.content__furusato .card h3{
  font-size: 1.75rem;
  padding-bottom: 0;
  margin-bottom: 40px;
  background-image: none;
  text-align: center;
  border-bottom: none;
}
.content__furusato .card ul{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.content__furusato .card .img{
  width: 350px;
}
.content__furusato .card .detail{
  width: 380px;
}
.content__furusato .card .text {
  font-size: 1rem;
  margin-bottom: 20px;
}
.content__furusato .card .d-text {
  color: #E6001B;
  font-size: 1.25rem;
  margin-bottom: 20px;
}
.content__furusato .donation-btn a{
  font-size: 1.125rem;
  line-height: 1.5;
  color:#fff;
  letter-spacing: normal;
  height: auto;
  text-decoration: none;
  border: 1px #e6001b solid;
  border-radius: 999px;
  margin-bottom: 0;
  padding:8px 40px 8px 104px;
  display: inline-block;
  position: relative;
  background: url(/_assets/img/common/ico_shop_white.svg) no-repeat #e6001b;
  background-size: 48px;
  background-position: left 40px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.content__furusato .donation-btn a:hover{
  color:#e6001b;
  text-decoration: none;
  background: url(/_assets/img/common/ico_shop_red.svg) no-repeat #ffffff;
  background-size: 48px;
  background-position: left 40px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.content__furusato .slider-nav {
  width: 376px;
  margin: 0 auto;
}
.content__furusato .slider-nav li {
  margin: 0 14px 0 0;
  padding: 0;
}
.content__furusato .slider-nav li img {
  width: 80px;
}
.content__furusato .slider-nav .next-arrow,
.content__furusato .slider-nav .prev-arrow {
  top: 18px;
  cursor: pointer;
}
.content__furusato .area {
  margin-bottom: 40px;
}
.content__furusato .area h3 {
  font-size: 1.5rem;
  padding-bottom: 0;
  margin-bottom: 20px;
  background-image: none;
  border-bottom: none;
}
.content__furusato .site_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 40px;
}
.content__furusato .site_list:last-child {
  margin-bottom: 0;
}
.content__furusato .site_list li {
  width: calc((100% / 3) - 13px);
}
.content__furusato .site_list a:hover {
  text-decoration: underline;
}
.content__furusato .btn__large {
  margin-bottom: 80px;
}
.furusato__contact {
  background: #f5f5f5;
  border-radius: 0 0 40px 0;
  padding: 40px;
}
.furusato__contact h3 {
  font-size: 1.5rem;
  margin: 0;
  border: none;
  margin-bottom: 1rem;
  padding-bottom: 0;
}
.furusato__contact p {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 0;
  line-height: 1.6;
}
.furusato__contact ul.caution {
  margin-bottom: 20px;
}
.furusato__contact .product__contact-btn {
  display: block;
  padding-top: 0;
  text-align: center;
}
.furusato__contact .product__contact-btn a {
  display: inline-block;
  text-align: center;
}
.slider {
  width: 400px;
  height: 260px;
  margin-left: 0;
}

.slider div img {
  margin: auto;
  height: 260px;
  -o-object-fit: contain;
     object-fit: contain;
}

.slide-arrow {
  width: 24px !important;
}

.prev-arrow {
  position: absolute;
  top: 120px;
  left: -12px;
  z-index: 999;
}

.next-arrow {
  position: absolute;
  top: 120px;
  right: -12px;
  z-index: 999;
}

.ir__news {
  position: relative;
  z-index: 999;
  margin-bottom: 60px;
  text-align: center;
}
.ir__news h2 {
  margin-bottom: 1rem;
  font-size: 2.25rem;
  letter-spacing: 0.5rem;
  text-align: center;
  background: none;
}
.ir__news dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px #d9d9d9 solid;
  width: 100%;
}
.ir__news dt {
  position: relative;
  color: #666666;
  width: 320px;
  white-space: nowrap;
}
.ir__news dt.information__cat01::before, .ir__news dt.information__cat02::before, .ir__news dt.information__cat03::before, .ir__news dt.information__cat04::before, .ir__news dt.information__cat05::before, .ir__news dt.information__cat06::before, .ir__news dt.information__cat07::before, .ir__news dt.information__cat08::before {
  display: inline-block;
  content: "有報";
  background: #4198f9;
  width: 140px;
  height: 24px;
  text-align: center;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 4px;
  line-height: 24px;
  margin-right: 20px;
}
.ir__news dt.information__cat02::before {
  content: "お知らせ";
  background: #87ceeb;
}
.ir__news dt.information__cat03::before {
  content: "人事";
  background: #5e58a5;
}
.ir__news dt.information__cat04::before {
  content: "短信";
  background: #f39f05;
}
.ir__news dt.information__cat05::before {
  content: "PR";
  background: #cfcf18;
}
.ir__news dt.information__cat06::before {
  content: "適時開示";
  background: #f97676;
}
.ir__news dt.information__cat07::before {
  content: "レポート";
  background: #3878a9;
}
.ir__news dt.information__cat08::before {
  content: "サステナビリティ";
  background: #1bba9c;
}
.ir__news dd {
  width: 860px;
  text-align: left;
  padding-right: 2rem;
}
.ir__news dd a:hover {
  text-decoration: underline;
}
.ir__news .btn__midium {
  display: inline-block;
  margin-bottom: 0;
}
.ir__information {
  position: relative;
  z-index: 999;
  margin-bottom: 2rem;
}
.ir__information dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
}
.ir__information dl.no-date {
  display: block;
}
.ir__information dt {
  position: relative;
  width: 16%;
  color: #666666;
}
.ir__information dd {
  text-align: left;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ir__information dd a:hover {
  color: #e6001b;
  text-decoration: underline;
}
.ir__document {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 5px #f5f5f5 solid;
  padding: 2rem 2rem 1rem 2rem;
}
.ir__document-title {
  width: 24%;
}
.ir__document h2 {
  display: table;
  text-align: center;
  font-size: 1.5rem;
  background: none;
  border-bottom: 3px #e0e0e0 solid;
  margin-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0.5rem;
  letter-spacing: 0.25rem;
}
.ir__document .btn__download {
  display: table;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}
.ir__document .btn__download a {
  display: block;
  min-width: 214px;
  min-height: 40px;
  line-height: 40px;
  font-size: 0.875rem;
  padding: 0 0.5rem;
  background: url(/_assets/img/common/ico_download.svg) no-repeat;
  background-size: 12px;
  background-position: right 16px center;
}
.ir__document .btn__download a:hover {
  background: url(/_assets/img/common/ico_download_white.svg) no-repeat #e6001b;
  background-size: 12px;
  background-position: right 16px center;
  text-decoration: underline;
}
.ir__document ul {
  margin-left: 1rem;
}
.ir__document li {
  margin-bottom: 1rem;
}
.ir__document li a:hover {
  text-decoration: underline;
}
.ir__division {
  position: relative;
  margin-bottom: 90px;
}
.ir__division-bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 100%;
  margin-left: calc(50% - 50vw - 20px);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/ir/bg_division.svg) no-repeat bottom;
  background-size: cover;
}
.ir__division-content {
  position: relative;
  z-index: 999;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 50px;
  padding-top: 22%;
}
.ir__division h2 {
  position: relative;
  z-index: 999;
  text-align: left;
  padding-bottom: 0;
  background: url(/_assets/img/ir/ico_ir-strategy.svg) no-repeat left 142px;
  padding-left: 2rem;
  margin-bottom: 4rem;
  padding-top: 140px;
}
.ir__division-btn {
  padding-bottom: 100px;
}
.ir__division .btn__large {
  position: relative;
  z-index: 999;
  display: table;
  margin: 60px auto 0 auto;
}
.ir__division-message {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 386px;
  height: 330px;
  border: 1px #d9d9d9 solid;
  background: url(/_assets/img/ir/pic_president.jpg) no-repeat top #fff;
  border-radius: 0 0 40px 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-size: contain;
}
.ir__division-message:hover {
  background-color: #1f70c7;
}
.ir__division-message::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow-blue.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.ir__division-message a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.ir__division-message p {
  text-align: center;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-top: 205px;
}
.ir__division-message p.name {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
}
.ir__division-message p.color {
  color: #fff;
}
.ir__division-strategy, .ir__division-investors {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 386px;
  height: 330px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 40px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ir__division-strategy a, .ir__division-investors a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.ir__division-strategy::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/top/ico_about01_blue.svg);
  background-position: center 80px;
  background-size: 100px;
  background-repeat: no-repeat;
}
.ir__division-strategy::after, .ir__division-investors::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow-blue.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.ir__division-strategy:hover {
  background-color: #1f70c7;
}
.ir__division-strategy.bg-change::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/top/ico_about01_wh.svg);
  background-position: center 80px;
  background-size: 100px;
  background-repeat: no-repeat;
}
.ir__division-strategy p, .ir__division-investors p {
  text-align: center;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-top: 205px;
}
.ir__division-strategy p.color, .ir__division-investors p.color {
  color: #fff;
}

.ir__division-investors::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/top/ico_ir03.svg);
  background-position: center 80px;
  background-size: 100px;
  background-repeat: no-repeat;
}
.ir__division-investors.bg-change::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/top/ico_ir03_wh.svg);
  background-position: center 80px;
  background-size: 100px;
  background-repeat: no-repeat;
}
.ir__division-investors:hover {
  background-color: #1f70c7;
}

.ir__contents-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.ir__contents-finance {
  margin-bottom: 60px;
}
.ir__contents-finance h2 {
  text-align: left;
  font-size: 1.75rem;
  line-height: 76px;
  letter-spacing: 0.25rem;
  color: #fff;
  padding: 0 0 0 1.5rem;
  margin-bottom: 1.5rem;
  background: url(/_assets/img/ir/bg_finance.jpg) no-repeat;
  background-size: cover;
}
.ir__contents-investors {
  margin-bottom: 60px;
}
.ir__contents-investors h2 {
  text-align: left;
  font-size: 1.75rem;
  line-height: 76px;
  letter-spacing: 0.25rem;
  color: #fff;
  padding: 0 0 0 1.5rem;
  margin-bottom: 1.5rem;
  background: url(/_assets/img/ir/bg_investors.jpg) no-repeat;
  background-size: cover;
}
.ir__contents-library {
  position: relative;
  margin-bottom: 60px;
}
.ir__contents-library .btn__large {
  position: absolute;
  top: 13px;
  right: 10px;
}
.ir__contents-library .btn__large a {
  min-width: 229px;
  min-height: 48px;
  line-height: 48px;
}
.ir__contents-library h2 {
  text-align: left;
  font-size: 1.75rem;
  line-height: 76px;
  letter-spacing: 0.25rem;
  color: #fff;
  padding: 0 0 0 1.5rem;
  margin-bottom: 1.5rem;
  background: url(/_assets/img/ir/bg_library.jpg) no-repeat;
  background-size: cover;
}
.ir__contents-library ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.ir__contents-library ul li {
  margin-bottom: 1.5rem;
}
.ir__contents li {
  width: 580px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 70px;
  padding-left: 2.5rem;
  border: 1px #d9d9d9 solid;
  background-color: #fafafa;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-position: left 16px center;
}
.ir__contents li a {
  display: block;
}
.ir__contents-info {
  margin-bottom: 60px;
}
.ir__contents-info h2 {
  text-align: left;
  font-size: 1.75rem;
  line-height: 76px;
  letter-spacing: 0.25rem;
  color: #fff;
  padding: 0 0 0 1.5rem;
  margin-bottom: 1.5rem;
  background: url(/_assets/img/ir/bg_info.jpg) no-repeat;
  background-size: cover;
}
.ir__contents-info ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.ir__contents-info ul li {
  margin-bottom: 1.5rem;
}
.ir__contents li {
  width: 580px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 70px;
  padding-left: 2.5rem;
  border: 1px #d9d9d9 solid;
  background-color: #fafafa;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-position: left 16px center;
}
.ir__contents li a {
  display: block;
}
.ir__contents-other {
  margin-bottom: 60px;
}
.ir__contents-other h2 {
  text-align: left;
  font-size: 1.75rem;
  line-height: 76px;
  letter-spacing: 0.25rem;
  color: #fff;
  padding: 0 0 0 1.5rem;
  margin-bottom: 1.5rem;
  background: url(/_assets/img/ir/bg_other.jpg) no-repeat;
  background-size: cover;
}
.ir__contents-other ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.ir__contents-other ul li {
  margin-bottom: 1.5rem;
}
.ir__contents li {
  width: 580px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 70px;
  padding-left: 2.5rem;
  border: 1px #d9d9d9 solid;
  background-color: #fafafa;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-position: left 16px center;
}
.ir__contents li a {
  display: block;
}
.ir__contact {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 128px;
  background: #f5f5f5;
  border-radius: 0 0 40px 0;
  padding: 0 2.5rem;
}
.ir__contact p {
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0;
}
.ir__contact-btn {
  display: table;
  text-align: center;
}
.ir__contact-btn a {
  width: 336px;
  height: 58px;
  border-radius: 999px;
  display: block;
  position: relative;
  color: #fff;
  font-size: 1.125rem;
  padding-left: 2.5rem;
  line-height: 58px;
  font-weight: 500;
  background: url(/_assets/img/common/ico_contact_red.svg) no-repeat #e6001b;
  background-size: 26px;
  background-position: left 90px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ir__contact-btn a:hover {
  background: url(/_assets/img/common/ico_contact_white.svg) no-repeat #fff;
  background-size: 26px;
  background-position: left 90px center;
  color: #e6001b;
  border: 1px #e6001b solid;
}
.ir__management-policy-message {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  margin-bottom: 48px;
}
.ir__management-policy-message p {
  margin-bottom: 0;
  font-weight: 500;
  color: #e6001b;
}
.ir__management-policy-message p:first-child {
  width: 520px;
  padding: 2.5rem;
}
.ir__management-policy-message img {
  width: 320px;
}
.ir__group-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: -1.5rem;
}
.ir__group-link div {
  margin-right: 1rem;
}
.ir__financial section {
  margin-bottom: 20px;
}
.ir__financial h2 {
  position: relative;
  font-size: 1.25rem;
  border: 1px #d9d9d9 solid;
  line-height: 70px;
  padding: 0 1.5rem;
  background: none;
  background-color: #fafafa;
  display: block;
  cursor: pointer;
  margin-bottom: 2rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ir__financial h2:hover {
  color: #e6001b;
}
.ir__financial h2::after {
  position: absolute;
  display: block;
  content: "";
  width: 32px;
  height: 32px;
  top: 20px;
  right: 16px;
  background: url(/_assets/img/common/ico_acc_open.svg) no-repeat right;
}
.ir__financial h2.selected::after {
  background: url(/_assets/img/common/ico_acc_close.svg) no-repeat right;
}
.ir__financial ul {
  margin-bottom: 4rem;
}
.ir__financial li {
  margin-bottom: 1rem;
}
.ir__financial-list {
  display: none;
}
.ir__financial-list.active {
  display: block;
}
.ir__financial-archive {
  display: none;
}
.ir__investors {
  margin-bottom: 4rem;
}
.ir__investors-about {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 4rem;
}
.ir__investors-about p {
  width: 48%;
  margin-top: -0.5rem;
}
.ir__investors-about div {
  width: 48%;
}
.ir__investors-about .two-photo {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.ir__investors-about .two-photo img {
  width: 50%;
}
.ir__investors-about .two-photo p {
  width: 48%;
  font-size: 0.925rem;
  line-height: 1.6;
  margin-top: 0;
  margin-bottom: 0;
  text-align: right;
}
.ir__investors-about .two-photo:first-child {
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
.ir__investors-about .two-photo:first-child p {
  text-align: left;
}
.ir__investors-nav {
  margin-bottom: 4rem;
}
.ir__investors-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px;
}
.ir__investors-nav li {
  width: 264px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  text-align: center;
  background: url(/_assets/img/common/ico_arrow.svg) no-repeat center bottom 16px;
  background-size: 20px;
}
.ir__investors-nav li a {
  display: block;
  min-height: 120px;
  padding: 2rem 0 3rem 0;
  font-weight: 500;
  font-size: 1.125rem;
}
.ir__investors-merit {
  margin-bottom: 4rem;
}
.ir__investors-merit ul {
  list-style: none;
  margin-bottom: 2.5rem;
  padding-left: 1.5rem;
}
.ir__investors-merit li {
  position: relative;
  line-height: 2;
  margin-bottom: 0.875rem;
  counter-increment: my-counter;
  list-style: decimal;
}
.ir__library {
  margin-bottom: 60px;
  padding: 2rem;
  padding-bottom: 0;
  border: 5px #f5f5f5 solid;
  border-radius: 0 0 40px 0;
}
.ir__library section {
  margin-bottom: 30px;
}
.ir__library h2 {
  display: inline-block;
  font-size: 1.5rem;
  border-bottom: 3px #e0e0e0 solid;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  background: none;
}
.ir__library-menu {
  margin-bottom: 2.5rem;
}
.ir__library-menu ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.ir__library-menu ul li a {
  background: url(/_assets/img/common/ico_arrow-red-white.svg) no-repeat;
  background-size: 16px;
  background-position: right center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  font-size: 1.125rem;
  margin-right: 2.5rem;
  padding-right: 1.5rem;
}
.ir__library-menu ul li a:hover {
  color: #e6001b;
}
.ir__library-download {
  margin-bottom: 30px;
  border-bottom: 1px #d9d9d9 solid;
}
.ir__library-download ul {
  position: relative;
  border-top: 1px #d9d9d9 solid;
  padding: 1.5rem 0;
}
.ir__library-download ul li {
  display: inline-block;
  margin-right: 2rem;
}
.ir__library-download ul li:first-child {
  display: block;
  width: 100%;
}
.ir__library-download ul li:nth-child(2) {
  margin-top: 1rem;
}
.ir__library-download label {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
.ir__library-download label:hover {
  color: #e6001b;
}
.ir__library-download-input {
  margin: 0;
  width: 0;
  opacity: 0;
}
.ir__library-download-input:checked + span {
  background: #e6001b;
}
.ir__library-download-input:checked + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 35%;
  left: 60%;
  width: 40%;
  height: 3px;
  border-radius: 1px;
  -webkit-transform: translate(-6px, 5px) rotateZ(-135deg);
          transform: translate(-6px, 5px) rotateZ(-135deg);
  -webkit-transform-origin: 2px 2px;
          transform-origin: 2px 2px;
  background: #ffffff;
}
.ir__library-download-input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 38%;
  left: 63%;
  width: 60%;
  height: 3px;
  border-radius: 1px;
  -webkit-transform: translate(-6px, 5px) rotateZ(-45deg);
          transform: translate(-6px, 5px) rotateZ(-45deg);
  -webkit-transform-origin: 2px 2px;
          transform-origin: 2px 2px;
  background: #ffffff;
}
.ir__library-download span {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 24px;
  height: 24px;
  border: solid 1px transparent;
  background: #e0e0e0;
  border-radius: 3px;
  margin-right: 0.75rem;
}
.ir__link {
  margin-bottom: 30px;
}
.ir__link ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.ir__link ul li {
  width: 48.5%;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 70px;
  padding-left: 2.5rem;
  margin-bottom: 1.5rem;
  border: 1px #d9d9d9 solid;
  background-color: #fafafa;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-position: left 16px center;
}
.ir__link ul li a {
  display: block;
}
.ir__memo-table table {
  table-layout: fixed;
  width: 100%;
}
.ir__memo-table table tbody th {
  width: 32%;
  text-align: left;
}
.ir__memo-table table td span {
  font-weight: 600;
  display: block;
}
.ir__pdf-list {
  margin-bottom: 2.5rem;
}
.ir__pdf-list li {
  margin-bottom: 1rem;
}

.yutai-txt {
  border: #e6001b 1px solid;
  padding: 20px 25px;
  margin-bottom: 40px;
}
.yutai-txt p{
  text-indent: -1.0rem;
  padding-left: 1.0rem;
  margin-bottom: 0 !important;
}
.yutai-txt span.red{
  color: #e6001b;
}

.ir__yutai-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto 2.5rem auto;
}
.ir__yutai-nav ul li {
  display: block;
  width: 48%;
  text-align: center;
  padding: 1.25rem 0;
  background: #f5f5f5;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  font-weight: 500;
}
.ir__yutai-nav ul li:hover {
  color: #e6001b;
}
.ir__yutai-nav ul li.active {
  background: #e6001b;
  color: #fff;
}
.ir__yutai-content {
  display: none;
  -webkit-animation: fade 0.4s ease-in-out;
          animation: fade 0.4s ease-in-out;
}
.ir__yutai-content.active {
  display: block;
}
@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.ir__strategy-fig {
  width: 600px;
  margin: 0 auto 48px auto;
}

.sustainability__policy {
  position: relative;
  margin-bottom: 90px;
}
.sustainability__policy-content {
  position: relative;
  z-index: 999;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.sustainability__policy-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1080px;
  margin: auto;
  padding-bottom: 100px;
}
.sustainability__policy .btn__large {
  position: relative;
  z-index: 999;
  display: table;
  margin: 60px auto 0 auto;
}
.sustainability__policy-message {
  position: relative;
  width: 790px;
  height: 330px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: url(/_assets/img/sustainability/pic_president.jpg) no-repeat right #fff;
  background-size: contain;
  padding: 5.5rem 0 0 3.5rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__policy-message:hover {
  background-color: #e6001b;
}
.sustainability__policy-message::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.sustainability__policy-message a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.sustainability__policy-message p {
  font-size: 1.875rem;
  font-weight: 500;
  margin-bottom: 1rem;
  letter-spacing: 0.25rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__policy-message p.name {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
}
.sustainability__policy-message p.color {
  color: #fff;
}
.sustainability__policy-materiality {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 386px;
  height: 330px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 40px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__policy-materiality a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.sustainability__policy-materiality::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/sustainability/ico_materiality.svg);
  background-position: center 48px;
  background-size: 72px;
  background-repeat: no-repeat;
}
.sustainability__policy-materiality::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.sustainability__policy-materiality:hover {
  background-color: #e6001b;
}
.sustainability__policy-materiality.bg-change::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(/_assets/img/sustainability/ico_materiality_wh.svg);
  background-position: center 48px;
  background-size: 72px;
  background-repeat: no-repeat;
}
.sustainability__policy-materiality p {
  text-align: center;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-top: 124px;
}
.sustainability__policy-materiality p.color {
  color: #fff;
}
.sustainability__environment-index {
  position: relative;
  min-height: 800px;
  margin-bottom: 120px;
}
.sustainability__environment-index h2 {
  font-size: 2rem;
  background: none;
}
.sustainability__environment-index h2 span {
  display: block;
  padding-top: 1.5rem;
}
.sustainability__environment-index-bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 100%;
  margin-left: calc(50% - 50vw - 20px);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/sustainability/bg_environment.jpg) no-repeat top;
  background-size: cover;
}
.sustainability__environment-index-content {
  position: relative;
  z-index: 2;
}
.sustainability__environment-index ul {
  position: absolute;
  right: 0;
  top: 460px;
}
.sustainability__environment-index li {
  width: 580px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 70px;
  margin-bottom: 0.5rem;
  padding-left: 2.5rem;
  border: 1px #d9d9d9 solid;
  background-color: #fafafa;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-position: left 16px center;
}
.sustainability__environment-index li a {
  display: block;
}
.sustainability__social-index {
  position: relative;
  min-height: 800px;
  margin-bottom: 120px;
}
.sustainability__social-index h2 {
  display: table;
  font-size: 2rem;
  background: none;
  margin-left: auto;
  text-align: right;
}
.sustainability__social-index h2 span {
  display: block;
  padding-top: 1.5rem;
}
.sustainability__social-index-bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 100%;
  margin-left: calc(50% - 50vw - 20px);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/sustainability/bg_social.jpg) no-repeat top;
  background-size: cover;
}
.sustainability__social-index-content {
  position: relative;
  z-index: 2;
}
.sustainability__social-index ul {
  position: absolute;
  top: 240px;
}
.sustainability__social-index li {
  width: 580px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 70px;
  margin-bottom: 0.5rem;
  padding-left: 2.5rem;
  border: 1px #d9d9d9 solid;
  background-color: #fafafa;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-position: left 16px center;
}
.sustainability__social-index li a {
  display: block;
}
.sustainability__governance-index {
  position: relative;
  min-height: 800px;
  margin-bottom: 80px;
}
.sustainability__governance-index h2 {
  font-size: 2rem;
  background: none;
}
.sustainability__governance-index h2 span {
  display: block;
  padding-top: 1.5rem;
}
.sustainability__governance-index-bg {
  z-index: 1;
  position: absolute;
  width: 100vw;
  min-width: 1240px;
  height: 100%;
  margin-left: calc(50% - 50vw - 20px);
  margin-right: calc(50% - 50vw);
  background: url(/_assets/img/sustainability/bg_governance.jpg) no-repeat top;
  background-size: cover;
}
.sustainability__governance-index-content {
  position: relative;
  z-index: 2;
}
.sustainability__governance-index ul {
  position: absolute;
  right: 0;
  top: 240px;
}
.sustainability__governance-index li {
  width: 580px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 70px;
  margin-bottom: 0.5rem;
  padding-left: 2.5rem;
  border: 1px #d9d9d9 solid;
  background-color: #fafafa;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-position: left 16px center;
}
.sustainability__governance-index li a {
  display: block;
}
.sustainability__esg-data-box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 386px;
  height: 150px;
  margin: 0 auto 120px auto;
  padding-left: 2rem;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__esg-data-box a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.sustainability__esg-data-box::before {
  position: absolute;
  left: 30px;
  content: "";
  width: 60px;
  height: 60px;
  background-image: url(/_assets/img/sustainability/ico_esg_data.svg);
  background-size: 100%;
}
.sustainability__esg-data-box::after {
  position: absolute;
  bottom: 30px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.sustainability__esg-data-box p {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__esg-data-box p.color {
  color: #e6001b;
}
.sustainability__news {
  position: relative;
  z-index: 999;
  margin-bottom: 60px;
  text-align: center;
}
.sustainability__news h2 {
  margin-bottom: 1rem;
  font-size: 2.25rem;
  letter-spacing: 0.5rem;
  text-align: center;
  background: none;
}
.sustainability__news dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px #d9d9d9 solid;
  width: 100%;
}
.sustainability__news dt {
  position: relative;
  color: #666666;
  width: 320px;
  white-space: nowrap;
}
.sustainability__news dt::before {
  display: inline-block;
  content: "";
  width: 140px;
  height: 24px;
  text-align: center;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 4px;
  line-height: 24px;
  margin-right: 20px;
}
.sustainability__news dt.information__cat01::before, .sustainability__news dt.information__cat02::before, .sustainability__news dt.information__cat03::before, .sustainability__news dt.information__cat04::before, .sustainability__news dt.information__cat05::before, .sustainability__news dt.information__cat06::before, .sustainability__news dt.information__cat07::before, .sustainability__news dt.information__cat08::before {
  display: inline-block;
  content: "有報";
  background: #4198f9;
  width: 140px;
  height: 24px;
  text-align: center;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 4px;
  line-height: 24px;
  margin-right: 20px;
}
.sustainability__news dt.information__cat02::before {
  content: "お知らせ";
  background: #87ceeb;
}
.sustainability__news dt.information__cat03::before {
  content: "人事";
  background: #5e58a5;
}
.sustainability__news dt.information__cat04::before {
  content: "短信";
  background: #f39f05;
}
.sustainability__news dt.information__cat05::before {
  content: "PR";
  background: #cfcf18;
}
.sustainability__news dt.information__cat06::before {
  content: "適時開示";
  background: #f97676;
}
.sustainability__news dt.information__cat07::before {
  content: "レポート";
  background: #3878a9;
}
.sustainability__news dt.information__cat08::before {
  content: "サステナビリティ";
  background: #1bba9c;
}
.sustainability__news dd {
  width: 840px;
  text-align: left;
}
.sustainability__news .btn__midium {
  display: inline-block;
  margin-bottom: 0;
}
.sustainability__commitment {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.sustainability__commitment p {
  width: 400px;
  margin-top: -0.5rem;
}
.sustainability__commitment div {
  width: 400px;
}
.sustainability__commitment-name {
  margin-top: 3.5rem;
  margin-bottom: 5rem;
  text-align: right;
}
.sustainability__commitment-name p {
  margin-bottom: 1rem;
  text-align: right;
}
.sustainability__commitment-name div {
  display: inline-block;
  margin-left: auto;
}
.sustainability__materiality {
  margin-bottom: 5rem;
}
.sustainability__materiality sub {
  vertical-align: -5%;
}
.sustainability__materiality table {
  margin: 0;
}
.sustainability__materiality .nowrap {
  white-space: nowrap;
}
.sustainability__materiality td img {
  width: 48px;
  margin: auto;
}
.sustainability__materiality .vertical {
  vertical-align: top;
}
.sustainability__materiality .theme01 .thead th {
  background: #afbe58;
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
}
.sustainability__materiality .theme01 .tbody th {
  background: #f5f5f5;
  font-weight: 500;
  white-space: nowrap;
}
.sustainability__materiality .theme01 .theme {
  background: #f3f5e7;
  text-align: center;
  width: 20%;
}
.sustainability__materiality .theme01 .aim {
  text-align: center;
  width: 25%;
}
.sustainability__materiality .theme01 .sdgs {
  text-align: center;
  width: 15%;
}
.sustainability__materiality .theme01 .icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
}
.sustainability__materiality .theme02 .thead th {
  background: #cc606a;
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
}
.sustainability__materiality .theme02 .tbody th {
  background: #f5f5f5;
  font-weight: 500;
  white-space: nowrap;
}
.sustainability__materiality .theme02 .theme {
  background: #f7eae7;
  text-align: center;
  width: 20%;
}
.sustainability__materiality .theme02 .aim {
  text-align: center;
  width: 25%;
}
.sustainability__materiality .theme02 .sdgs {
  text-align: center;
  width: 15%;
}
.sustainability__materiality .theme02 .icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
}
.sustainability__materiality .theme03 .thead th {
  background: #72add2;
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
}
.sustainability__materiality .theme03 .tbody th {
  background: #f5f5f5;
  font-weight: 500;
  white-space: nowrap;
}
.sustainability__materiality .theme03 .theme {
  background: #edf3f8;
  text-align: center;
  width: 20%;
}
.sustainability__materiality .theme03 .aim {
  text-align: center;
  width: 25%;
}
.sustainability__materiality .theme03 .sdgs {
  text-align: center;
  width: 15%;
}
.sustainability__materiality td a {
  text-decoration: underline;
}
.sustainability__materiality td a:hover {
  text-decoration: none;
}
.sustainability__policy-pic img {
  width: 480px;
  margin: auto;
}
.sustainability__environment dt {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.sustainability__environment dd {
  margin-bottom: 1.5rem;
}
.sustainability__environment table {
  margin-bottom: 40px;
}
.sustainability__environment table .theme {
  width: 160px;
  background: #afbe58;
  font-weight: 500;
}
.sustainability__environment table .issue {
  width: 680px;
  background: #f3f5e7;
  font-weight: 500;
  text-align: left;
}
.sustainability__environment table .bg-wh {
  background: #fff;
}
.sustainability__environment table .no-bb {
  border-bottom: none;
}
.sustainability__environment table .no-bt {
  border-top: none;
}
.sustainability__environment table .bg {
  background: #fafafa;
}
.sustainability__environment table ul {
  margin-bottom: 0 !important;
}
.sustainability__environment table .icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
}
.sustainability__environment table .icon img {
  width: 80px;
}
.sustainability__environment table .aim {
  line-height: 2.4;
}
.sustainability__environment table .list {
  margin-right: 0;
  margin-bottom: 2rem !important;
  padding-left: 0;
  padding-left: 1.5rem;
}
.sustainability__environment table .list li {
  position: relative;
  margin-bottom: 0.875rem;
  list-style-image: url(/_assets/img/common/ico_arrow-tri.svg);
  margin-right: 0;
}
.sustainability__environment table figcaption {
  text-align: center;
}
.sustainability__sociality-health {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.sustainability__sociality-health-txt {
  width: 640px;
}
.sustainability__sociality-health-img {
  width: 200px;
}
.sustainability__sociality-health-img img {
  width: 100%;
  margin-bottom: 1rem;
}
.sustainability__sociality-health-img p {
  font-size: 0.875rem;
}
.sustainability__sociality dt {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.sustainability__sociality dd {
  margin-bottom: 1.5rem;
}
.sustainability__sociality table {
  margin-bottom: 40px;
}
.sustainability__sociality table a {
  text-decoration: underline;
  color: #1F70C7;
}
.sustainability__sociality table span {
  display: block;
  font-weight: 500;
  margin-bottom: 1rem;
}
.sustainability__sociality table .theme {
  width: 160px;
  background: #cc606a;
  font-weight: 500;
}
.sustainability__sociality table .issue {
  width: 680px;
  background: #f7eae7;
  font-weight: 500;
  text-align: left;
}
.sustainability__sociality table .bg-wh {
  background: #fff;
}
.sustainability__sociality table .no-bb {
  border-bottom: none;
}
.sustainability__sociality table .no-bt {
  border-top: none;
}
.sustainability__sociality table .bg {
  background: #fafafa;
}
.sustainability__sociality table ul {
  margin-bottom: 0 !important;
}
.sustainability__sociality table .icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
}
.sustainability__sociality table .icon img {
  width: 80px;
}
.sustainability__sociality table .aim {
  line-height: 2.4;
}
.sustainability__sociality table .list {
  margin-right: 0;
  margin-bottom: 2rem !important;
  padding-left: 0;
  padding-left: 1.5rem;
}
.sustainability__sociality table .list.nospace {
  margin-bottom: 0 !important;
}
.sustainability__sociality table .list li {
  position: relative;
  margin-bottom: 0.875rem;
  list-style-image: url(/_assets/img/common/ico_arrow-tri.svg);
  margin-right: 0;
}
.sustainability__sociality table .list.nospace li {
  margin-bottom: 0 !important;
}
.sustainability__sociality table .list a {
  color: #000000;
  text-decoration: none;
  font-weight: 400;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__sociality table .list a:hover {
  text-decoration: underline;
  color: #e6001b;
}
.sustainability__sociality table figcaption {
  text-align: center;
}
.sustainability__sociality table .space {
  margin-bottom: 2rem !important;
}
.sustainability__governance-policy div {
  display: none;
}
.sustainability__governance-policy div.selected {
  display: block;
}
.sustainability__governance-policy .date {
  padding-left: 300px;
}
.sustainability__governance-policy section {
  clear: both;
  margin-bottom: 20px;
}
.sustainability__governance-policy h3 {
  position: relative;
  font-size: 1.25rem;
  border: 1px #d9d9d9 solid;
  line-height: 70px;
  padding: 0 1.5rem;
  background: none;
  background-color: #fafafa;
  display: block;
  cursor: pointer;
  margin-bottom: 2rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.sustainability__governance-policy h3:hover {
  color: #e6001b;
}
.sustainability__governance-policy h3::after {
  position: absolute;
  display: block;
  content: "";
  width: 32px;
  height: 32px;
  top: 20px;
  right: 16px;
  background: url(/_assets/img/common/ico_acc_open.svg) no-repeat right;
}
.sustainability__governance-policy h3.selected::after {
  background: url(/_assets/img/common/ico_acc_close.svg) no-repeat right;
}
.sustainability__governance-compliance {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.sustainability__governance-compliance div:first-child {
  width: 200px;
}
.sustainability__governance-compliance div:nth-child(2) {
  width: 600px;
}
.sustainability__governance-compliance img {
  width: 100%;
  border: 1px #d9d9d9 solid;
}
.sustainability__governance .matrix {
  table-layout: fixed;
}
.sustainability__governance .matrix thead th {
  font-size: 0.9375rem;
  padding: 0.25rem;
}
.sustainability__governance .matrix thead .name {
  width: 125px;
}
.sustainability__governance .matrix thead .position {
  width: 155px;
}
.sustainability__governance .matrix tbody td {
  text-align: center;
}
.sustainability__governance .matrix tbody td.position {
  text-align: left;
}
.sustainability__governance .matrix tbody .name {
  text-align: left;
}
.sustainability__governance .matrix tbody tr:hover td {
  background: #edf3f8;
}
.sustainability__governance .matrix tbody tr:hover th.name {
  background: #edf3f8;
}
.sustainability__governance .risk td {
  vertical-align: top;
}
.sustainability__governance .risk .category {
  width: 120px;
}
.sustainability__governance .risk .fact {
  width: 360px;
}
.sustainability__governance .risk .measures {
  width: 360px;
  background: #edf3f8;
}
.sustainability__governance .risk .none {
  background: #fff;
  border: none;
}
.sustainability__governance .risk .after {
  background: url(/_assets/img/sustainability/ico_after-arrow.svg) no-repeat center #fff;
  border: none;
}
.sustainability__governance table {
  margin-bottom: 40px;
}
.sustainability__governance table a {
  text-decoration: underline;
  color: #1F70C7;
}
.sustainability__governance table span {
  display: block;
  font-weight: 500;
  margin-bottom: 1rem;
}
.sustainability__governance table .theme {
  width: 160px;
  background: #7eacce;
  font-weight: 500;
}
.sustainability__governance table .issue {
  width: 680px;
  background: #edf3f8;
  font-weight: 500;
  text-align: left;
}
.sustainability__governance table .bg-wh {
  background: #fff;
}
.sustainability__governance table .no-bb {
  border-bottom: none;
}
.sustainability__governance table .no-bt {
  border-top: none;
}
.sustainability__governance table .bg {
  background: #fafafa;
}
.sustainability__governance table ul {
  margin-bottom: 0 !important;
}
.sustainability__governance table .icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
}
.sustainability__governance table .icon img {
  width: 80px;
}
.sustainability__governance table .list {
  margin-right: 0;
  margin-bottom: 2rem !important;
  padding-left: 0;
  padding-left: 1.5rem;
}
.sustainability__governance table .list.nospace {
  margin-bottom: 0 !important;
}
.sustainability__governance table .list li {
  position: relative;
  margin-bottom: 0.875rem;
  list-style-image: url(/_assets/img/common/ico_arrow-tri.svg);
  margin-right: 0;
}
.sustainability__governance table .list.nospace li {
  margin-bottom: 0 !important;
}
.sustainability__governance table figcaption {
  text-align: center;
}
.sustainability__governance table .space {
  margin-bottom: 2rem !important;
}
ul.governance-indent{
  text-indent: -1.4rem;
  padding-left: 1.4rem;
  margin: 0 1.0rem 2.5rem 1.0rem;
}
ul.governance-indent li{
  line-height: 2;
}
div.governance_compensation_system{
  display: flex;
  align-items: center;
  margin-bottom: 2.5rem;
}
div.governance_compensation_system p{
  margin-bottom: 0;
  padding: 5px 10px;
  background-color: #b8ddf7;
  margin: 0 15px;
}

.sustainability__esg-data-energy {
  margin-bottom: 1.5rem;
}
.sustainability__esg-data-energy thead th {
  white-space: nowrap;
}
.sustainability__esg-data-energy thead span {
  font-size: 0.875rem;
}
.sustainability__esg-data-energy .year01 {
  background-color: #e4eac6;
}
.sustainability__esg-data-energy .year02 {
  background-color: #dce2b2;
}
.sustainability__esg-data-energy .year03 {
  background-color: #afbf59;
}
.sustainability__esg-data-energy tbody th {
  text-align: left;
  font-weight: 500;
}
.sustainability__esg-data-energy tbody td {
  text-align: right;
  white-space: nowrap;
}
.sustainability__esg-data-sociality {
  margin-bottom: 1.5rem;
}
.sustainability__esg-data-sociality thead th {
  white-space: nowrap;
}
.sustainability__esg-data-sociality thead span {
  font-size: 0.875rem;
}
.sustainability__esg-data-sociality .year01 {
  background-color: #edcacd;
}
.sustainability__esg-data-sociality .year02 {
  background-color: #e7b9be;
}
.sustainability__esg-data-sociality .year03 {
  background-color: #ce616b;
}
.sustainability__esg-data-sociality tbody th {
  width: 600px;
  text-align: left;
  font-weight: 500;
}
.sustainability__esg-data-sociality tbody th.bg_none {
  background: none;
}
.sustainability__esg-data-sociality tbody th.bg_dark {
  background: #d0d0d0;
}
.sustainability__esg-data-sociality tbody th span {
  font-size: 0.875rem;
}
.sustainability__esg-data-sociality tbody td {
  text-align: right;
  white-space: nowrap;
}
.sustainability__esg-data-sociality .aim {
  line-height: 2.4;
}
.sustainability__esg-data-sociality .list {
  margin-right: 0;
  margin-bottom: 2rem !important;
  padding-left: 0;
  padding-left: 1.5rem;
}
.sustainability__esg-data-sociality .list.nospace {
  margin-bottom: 0 !important;
}
.sustainability__esg-data-sociality .list li {
  position: relative;
  margin-bottom: 0.875rem;
  list-style-image: url(/_assets/img/common/ico_arrow-tri.svg);
  margin-right: 0;
}
.sustainability__esg-data-sociality figcaption {
  text-align: center;
}
.sustainability__esg-data-fig {
  margin-bottom: 64px;
}
.sustainability__esg-data-fig img {
  margin: auto;
}
.sustainability__esg-data .note {
  color: #888888;
  font-size: 0.875rem;
  line-height: 1.4;
}

.recruit__nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: 100%;
  height: 70px;
  background: #e6001b;
  min-width: 1240px;
}
.recruit__nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  width: 1240px;
  margin: auto;
  padding: 0 20px;
}
.recruit__nav li {
  width: auto;
  font-size: 1.125rem;
  font-weight: 500;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__nav li a {
  color: #fff;
}
.recruit__nav li a:hover {
  opacity: 0.7;
}
.recruit__kv {
  position: relative;
  width: 100vw;
  min-height: 940px;
  min-width: 1240px;
  background: url(/_assets/img/recruit/bg_recruit.svg) no-repeat top center;
}
.recruit__kv-content {
  position: relative;
  z-index: 2;
  width: 1240px;
  margin: auto;
  padding: 80px 20px 0 20px;
}
.recruit__kv-content h1 img {
  width: 56vw;
}
.recruit__kv-content p {
  padding-left: 5rem;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.15em;
}
.recruit__index {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 80px;
  margin-top: -450px;
  margin-bottom: 160px;
}
.recruit__index div {
  position: relative;
}
.recruit__index div a {
  position: absolute;
  z-index: 9;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.recruit__index div p {
  position: relative;
  z-index: 5;
  width: 92%;
  margin-top: -32px;
  margin-bottom: 0;
  font-size: 1.75rem;
  font-weight: 500;
  color: #fff;
  line-height: 64px;
  padding-left: 2.5rem;
  background: -webkit-gradient(linear, left top, right top, from(#e6001b), to(#f29120));
  background: -webkit-linear-gradient(left, #e6001b, #f29120);
  background: linear-gradient(90deg, #e6001b, #f29120);
  border-radius: 999px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__index div p span {
  position: relative;
}
.recruit__index div p::before {
  background: -webkit-gradient(linear, left top, right top, from(#f29120), to(#e6001b));
  background: -webkit-linear-gradient(left, #f29120, #e6001b);
  background: linear-gradient(90deg, #f29120, #e6001b);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  width: 100%;
  border-radius: 999px;
}
.recruit__index div p.color::before {
  opacity: 0;
}
.recruit__index div p::after {
  content: "";
  position: absolute;
  top: 14px;
  right: 16px;
  width: 36px;
  height: 36px;
  background: url(/_assets/img/recruit/ico_arrow.svg) no-repeat center;
}
.recruit__index div img {
  border-radius: 16px;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.recruit__index div img.color {
  opacity: 0.7;
}
.recruit__index div:first-child {
  width: 100%;
}
.recruit__index div:nth-child(2),
.recruit__index div:nth-child(3),
.recruit__index div:nth-child(4),
.recruit__index div:nth-child(5),
.recruit__index div:nth-child(6) {
  width: 560px;
}
.recruit__entry {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 440px;
  background: -webkit-gradient(linear, left top, right top, from(#e6001b), to(#f29120));
  background: -webkit-linear-gradient(left, #e6001b, #f29120);
  background: linear-gradient(90deg, #e6001b, #f29120);
  margin-bottom: -184px;
  min-width: 1240px;
}
.recruit__entry-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 1240px;
  margin: auto;
  padding: 72px 20px 120px 20px;
  background: url(/_assets/img/recruit/bg_entry.svg) no-repeat bottom;
  background-size: contain;
}
.recruit__entry-box {
  position: relative;
  width: 580px;
  height: 244px;
  background: #fff;
  border-radius: 0 0 40px 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__entry-box.color {
  background: #e6001b;
}
.recruit__entry-box a {
  position: absolute;
  z-index: 9;
  width: 100%;
  height: 100%;
}
.recruit__entry-box-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 48px;
}
.recruit__entry-box div:first-child {
  width: 236px;
}
.recruit__entry-box div:nth-child(2) {
  position: relative;
  text-align: center;
}
.recruit__entry-box div:nth-child(2) p {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 160px;
  font-size: 1.75rem;
  font-weight: 500;
  color: #e6001b;
  line-height: 1.6;
}
.recruit__entry-box div:nth-child(2) p.color {
  color: #fff;
}
.recruit__entry-btn {
  position: absolute;
  bottom: 40px;
  background: #e6001b;
  border-radius: 999px;
  margin: auto;
  display: block;
  width: 264px;
  line-height: 48px;
  color: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  font-weight: 500;
}
.recruit__entry-btn.color {
  background: #fff;
  color: #e6001b;
}
.recruit__entry-btn::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 16px;
  width: 12px;
  height: 12px;
  background: url(/_assets/img/common/ico_btn_arrow_white.svg) no-repeat center;
  background-size: 12px;
}
.recruit__entry-btn.color::after {
  background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat center;
  background-size: 12px;
}
.recruit__about {
  margin-bottom: 120px;
}
.recruit__about-movie {
  width: 800px;
  margin: auto;
}
.recruit__about-movie img {
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__about-movie img:hover {
  opacity: 0.7;
}
.recruit__about-modal {
  position: fixed;
  top: 0;
  left: 0;
  color: #000;
  background-color: rgba(0, 0, 0, 0.9);
  width: 100%;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 999;
}
.recruit__about-modal.active {
  z-index: 99999;
  opacity: 1;
  visibility: visible;
}
.recruit__about-modal-close {
  position: absolute;
  z-index: 9999;
  right: 0;
  top: -40px;
  color: #fff;
  cursor: pointer;
}
.recruit__about-modal-content {
  position: relative;
  width: 900px;
  height: auto;
  margin: 60px auto;
}
.recruit__about-modal-content video {
  width: 900px;
}

.brand__movie {
  width: 640px;
  margin: auto;
}
.brand__movie img {
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.brand__movie img:hover {
  opacity: 0.7;
}
.brand__movie-modal {
  position: fixed;
  top: 0;
  left: 0;
  color: #000;
  background-color: rgba(0, 0, 0, 0.9);
  width: 100%;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 999;
}
.brand__movie-modal.active {
  z-index: 99999;
  opacity: 1;
  visibility: visible;
}
.brand__movie-modal-close {
  position: absolute;
  z-index: 9999;
  right: 0;
  top: -40px;
  color: #fff;
  cursor: pointer;
}
.brand__movie-modal-content {
  position: relative;
  width: 900px;
  height: auto;
  margin: 60px auto;
}
.brand__movie-modal-content video {
  width: 900px;
}


.recruit__about-vision {
  font-size: 2.25rem;
  border-bottom: 2px #d9d9d9 solid;
  text-align: center;
  padding-bottom: 2.5rem;
  background: none !important;
  line-height: 1.8;
  letter-spacing: 0.15em;
}
.recruit__about-txt {
  text-align: center !important;
  margin-bottom: 5rem !important;
}
.recruit__about-policy {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 900px;
  margin: auto;
}
.recruit__about-policy div {
  width: 260px;
}
.recruit__about-policy div img {
  margin-bottom: 1.5rem;
}
.recruit__about-policy div h3 {
  font-size: 1.5rem;
  border: none;
  text-align: center;
  min-height: 90px;
  margin-bottom: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.recruit__about-data ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 48px;
}
.recruit__about-data ul li {
  width: 368px;
}
.recruit__special {
  margin-bottom: 120px;
}
.recruit__special .recruit {
  margin-bottom: 2.5rem;
}
.recruit__special-movie {
  margin-bottom: 40px;
  cursor: pointer;
}
.recruit__special-movie img {
  width: 640px;
  margin: 0 auto 64px auto;
}
.recruit__special-member {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-radius: 16px;
  margin-bottom: 40px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__special-member:hover {
  opacity: 0.7;
}
.recruit__special-member.color {
  opacity: 0.7;
}
.recruit__special-member.cat01 {
  background-image: -webkit-gradient(linear, left top, right top, from(#6fdaf4), to(#1c76de));
  background-image: -webkit-linear-gradient(left, #6fdaf4, #1c76de);
  background-image: linear-gradient(90deg, #6fdaf4, #1c76de);
}
.recruit__special-member.cat02 {
  background-image: -webkit-gradient(linear, left top, right top, from(#b7e52d), to(#0aad20));
  background-image: -webkit-linear-gradient(left, #b7e52d, #0aad20);
  background-image: linear-gradient(90deg, #b7e52d, #0aad20);
}
.recruit__special-member.cat03 {
  background-image: -webkit-gradient(linear, left top, right top, from(#ff697a), to(#b90016));
  background-image: -webkit-linear-gradient(left, #ff697a, #b90016);
  background-image: linear-gradient(90deg, #ff697a, #b90016);
}
.recruit__special-member div:first-child {
  width: 400px;
}
.recruit__special-member div:first-child img {
  border-radius: 16px 0 0 16px;
}
.recruit__special-member div:nth-child(2) {
  width: 760px;
}
.recruit__special-member div:nth-child(2) h3 {
  font-size: 2rem;
  border: none;
  margin-bottom: 0;
  padding-top: 2rem;
  letter-spacing: 0.1em;
  color: #fff;
}
.recruit__special-member p {
  margin-bottom: 0;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.6;
  color: #fff;
}
.recruit__special-member p span {
  display: block;
  font-size: 0.875rem;
  margin-top: 1rem;
  font-weight: 400;
  line-height: 1.6;
}
.recruit__special-member-modal h3 {
  color: #fff;
  font-size: 2rem;
  border: none;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: 1rem;
}
.recruit__special-member-modal h4 {
  color: #1c76de;
  font-size: 1.5rem;
}
.recruit__special-member-modal h4.cat01 {
  color: #1c76de;
}
.recruit__special-member-modal h4.cat02 {
  color: #0aad20;
}
.recruit__special-member-modal h4.cat03 {
  color: #b90016;
}
.recruit__special-member-modal h4.cat03 sup {
  font-size: 0.75rem;
}
.recruit__special-member-modal-head {
  margin-bottom: 120px;
}
.recruit__special-member-modal-head img {
  border-radius: 16px 16px 0 0;
}
.recruit__special-member-modal-title {
  position: absolute;
  z-index: 2;
  width: 460px;
  min-height: 400px;
  top: 160px;
  right: 0;
  padding: 4rem 2.5rem;
  color: #fff;
  border-radius: 0 0 0 16px;
}
.recruit__special-member-modal-title.no01 {
  background-image: -webkit-gradient(linear, left top, right top, from(#6fdaf4), to(#1c76de));
  background-image: -webkit-linear-gradient(left, #6fdaf4, #1c76de);
  background-image: linear-gradient(90deg, #6fdaf4, #1c76de);
}
.recruit__special-member-modal-title.no02 {
  left: 0;
  border-radius: 0 0 16px 0;
  background-image: -webkit-gradient(linear, left top, right top, from(#6fdaf4), to(#1c76de));
  background-image: -webkit-linear-gradient(left, #6fdaf4, #1c76de);
  background-image: linear-gradient(90deg, #6fdaf4, #1c76de);
}
.recruit__special-member-modal-title.no03 {
  width: 520px;
  left: 0;
  border-radius: 0 0 16px 0;
  background-image: -webkit-gradient(linear, left top, right top, from(#b7e52d), to(#0aad20));
  background-image: -webkit-linear-gradient(left, #b7e52d, #0aad20);
  background-image: linear-gradient(90deg, #b7e52d, #0aad20);
}
.recruit__special-member-modal-title.no04 {
  background-image: -webkit-gradient(linear, left top, right top, from(#ff697a), to(#b90016));
  background-image: -webkit-linear-gradient(left, #ff697a, #b90016);
  background-image: linear-gradient(90deg, #ff697a, #b90016);
}
.recruit__special-member-modal-title.no05 {
  background-image: -webkit-gradient(linear, left top, right top, from(#ff697a), to(#b90016));
  background-image: -webkit-linear-gradient(left, #ff697a, #b90016);
  background-image: linear-gradient(90deg, #ff697a, #b90016);
}
.recruit__special-member-modal-title p {
  margin-bottom: 0;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.6;
  color: #fff;
}
.recruit__special-member-modal-title p span {
  display: block;
  font-size: 0.875rem;
  margin-top: 1rem;
  font-weight: 400;
  line-height: 1.6;
}
.recruit__special-member-modal-control {
  padding: 0 4.5rem 2.5rem 4.5rem;
}
.recruit__special-member-modal-control ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.recruit__special-member-modal-control .modal-prev {
  min-width: 290px;
  padding: 1rem 3rem 1rem 3rem;
  border: 1px #d9d9d9 solid;
  border-radius: 999px;
  background: url(/_assets/img/common/ico_arrow_prev.svg) no-repeat center left;
  background-position: 16px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__special-member-modal-control .modal-prev:hover {
  color: #e6001b;
  border: 1px #e6001b solid;
}
.recruit__special-member-modal-control .modal-prev span {
  display: block;
  font-size: 0.875rem;
}
.recruit__special-member-modal-control .modal-close {
  display: table;
  margin: 32px auto 0 auto;
  padding-left: 24px;
  cursor: pointer;
  background-size: 16px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__special-member-modal-control .modal-close:hover {
  color: #e6001b;
}
.recruit__special-member-modal-control .modal-next {
  min-width: 290px;
  padding: 1rem 3rem 1rem 3rem;
  border: 1px #d9d9d9 solid;
  border-radius: 999px;
  background: url(/_assets/img/common/ico_arrow_next.svg) no-repeat center right 16px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__special-member-modal-control .modal-next:hover {
  color: #e6001b;
  border: 1px #e6001b solid;
}
.recruit__special-member-modal-control .modal-next span {
  display: block;
  font-size: 0.875rem;
}
.recruit__special-member-modal section {
  padding: 0 4.5rem;
}
.recruit__special-member-modal section span {
  font-size: 0.875rem;
  color: #888888;
}
.recruit__special-modal {
  position: fixed;
  top: 0;
  left: 0;
  color: #000;
  background-color: rgba(0, 0, 0, 0.9);
  width: 100%;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 999;
}
.recruit__special-modal.active {
  z-index: 99999;
  opacity: 1;
  visibility: visible;
}
.recruit__special-modal-close {
  position: absolute;
  z-index: 9999;
  right: 0;
  top: -40px;
  color: #fff;
  cursor: pointer;
}
.recruit__special-modal-content {
  position: relative;
  width: 900px;
  height: auto;
  margin: 60px auto;
}
.recruit__special-modal-content video {
  width: 900px;
}
.recruit__info {
  margin-bottom: 120px;
}
.recruit__info-flow {
  margin-bottom: 24px;
}
.recruit__info-flow img {
  width: 100%;
}
.recruit__info-entry {
  width: 320px;
  margin: auto;
}
.recruit__info table th {
  white-space: nowrap;
}
.recruit__info table td span {
  display: block;
  margin: 0;
}
.recruit__info table td span a {
  color: #000000;
  text-decoration: none;
}
.recruit__special-message h2 {
  text-align: center;
  background: none;
}
.recruit__special-message h2 span {
  display: block;
  font-size: 1.5rem;
  margin-top: 1rem;
}
.recruit__special-name p {
  text-align: right;
  margin-left: auto;
  margin-bottom: 1rem;
}
.recruit__special-name img {
  margin-left: auto;
}
.recruit__work-flow {
  width: 800px;
  margin: 0 auto 48px auto;
}
.recruit__work .caution {
  margin-top: -1.5rem;
}
.recruit__work-member-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 64px;
}
.recruit__work-member {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 580px;
  background: #fff2e6;
  border-radius: 16px;
  margin-bottom: 40px;
}
.recruit__work-member a {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
}
.recruit__work-member-photo {
  width: 240px;
  position: relative;
}
.recruit__work-member-photo.cat01::before, .recruit__work-member-photo.cat02::before, .recruit__work-member-photo.cat03::before, .recruit__work-member-photo.cat04::before, .recruit__work-member-photo.cat05::before, .recruit__work-member-photo.cat06::before {
  content: "";
  position: absolute;
  z-index: 2;
  width: 80px;
  height: 80px;
  top: -24px;
  left: -24px;
  background: url(/_assets/img/recruit/ico_work01.svg) no-repeat;
  background-size: 80px;
}
.recruit__work-member-photo.cat02::before {
  background: url(/_assets/img/recruit/ico_work02.svg) no-repeat;
  background-size: 80px;
}
.recruit__work-member-photo.cat03::before {
  background: url(/_assets/img/recruit/ico_work03.svg) no-repeat;
  background-size: 80px;
}
.recruit__work-member-photo.cat04::before {
  background: url(/_assets/img/recruit/ico_work04.svg) no-repeat;
  background-size: 80px;
}
.recruit__work-member-photo.cat05::before {
  background: url(/_assets/img/recruit/ico_work05.svg) no-repeat;
  background-size: 80px;
}
.recruit__work-member-photo.cat06::before {
  background: url(/_assets/img/recruit/ico_work06.svg) no-repeat;
  background-size: 80px;
}
.recruit__work-member-photo img {
  position: relative;
  z-index: 1;
  border-radius: 16px 0 0 16px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__work-member-photo img.color {
  opacity: 0.7;
}
.recruit__work-member-message {
  position: relative;
  width: 320px;
  padding: 0 1.5rem 0 1rem;
}
.recruit__work-member-message h4 {
  padding-top: 2rem;
  min-height: 80px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__work-member-message h4.color {
  color: #e6001b;
}
.recruit__work-member-message p {
  font-size: 0.875rem;
  margin-bottom: 0;
  line-height: 1.6;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.recruit__work-member-message p span {
  display: block;
  font-size: 0.75rem;
  margin-top: 1rem;
}
.recruit__work-member-message p.color {
  color: #e6001b;
}
.recruit__faq {
  margin-bottom: 120px;
}
.recruit__faq__content {
  display: none;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.recruit__faq__content.active {
  display: block;
}
.recruit__faq dl {
  position: relative;
  margin-bottom: 1.5rem;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 40px 0;
}
.recruit__faq dl.space {
  margin-bottom: 3.5rem;
}
.recruit__faq dl dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  font-size: 1.25rem;
  font-weight: 500;
  padding: 1rem;
  background: #fff2e6;
  border-bottom: 1px #d9d9d9 solid;
}
.recruit__faq dl dt div {
  width: 36px;
  height: 36px;
  background-color: #e6001b;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  line-height: 36px;
  font-size: 0.925rem;
  margin-right: 8px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  letter-spacing: 0;
}
.recruit__faq dl dt p {
  margin: 0;
}
.recruit__faq dl dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  padding: 1rem;
}
.recruit__faq dl dd div {
  width: 36px;
  height: 36px;
  background-color: #f5f5f5;
  border-radius: 50%;
  color: #e6001b;
  text-align: center;
  line-height: 36px;
  font-size: 0.925rem;
  margin-right: 8px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  font-weight: 500;
  letter-spacing: 0;
}
.recruit__faq dl dd p {
  margin: 0;
}
.recruit__faq dl dd p span {
  display: block;
  margin: 0;
}
.recruit__faq dl dd p span a {
  color: #000000;
  text-decoration: none;
}

.faq__content {
  display: none;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.faq__content.active {
  display: block;
}
.faq__category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 64px;
}
.faq__category-btn {
  display: block;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 260px;
  height: 232px;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 20px 0;
  background: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.faq__category-btn::before {
  position: absolute;
  top: 40px;
  left: 90px;
  content: "";
  width: 125px;
  height: 82px;
  background-image: url(/_assets/img/faq/ico_faq01.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
.faq__category-btn:nth-child(2)::before {
  width: 119px;
  height: 88px;
  left: 89px;
  background-image: url(/_assets/img/faq/ico_faq02.svg);
}
.faq__category-btn:nth-child(3)::before {
  width: 112px;
  height: 84px;
  left: 98px;
  background-image: url(/_assets/img/faq/ico_faq03.svg);
}
.faq__category-btn::after {
  position: absolute;
  bottom: 20px;
  right: 20px;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(/_assets/img/common/ico_acc_open.svg);
  background-repeat: no-repeat;
  background-size: 32px;
}
.faq__category-btn p {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  margin: 0;
  padding-top: 80px;
}
.faq__category-btn p.active {
  color: #e6001b;
}
.faq dl {
  position: relative;
  margin-bottom: 1.5rem;
  border: 1px #d9d9d9 solid;
  border-radius: 0 0 40px 0;
}
.faq dl.last {
  margin-bottom: 3.5rem;
}
.faq dl dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  font-size: 1.25rem;
  font-weight: 500;
  padding: 1rem;
  background: #fafafa;
  border-bottom: 1px #d9d9d9 solid;
}
.faq dl dt div {
  width: 36px;
  height: 36px;
  background-color: #e6001b;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  line-height: 36px;
  font-size: 0.925rem;
  margin-right: 8px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  letter-spacing: 0;
}
.faq dl dt p {
  margin: 0;
}
.faq dl dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  padding: 1rem;
}
.faq dl dd div {
  width: 36px;
  height: 36px;
  background-color: #f5f5f5;
  border-radius: 50%;
  color: #e6001b;
  text-align: center;
  line-height: 36px;
  font-size: 0.925rem;
  margin-right: 8px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  font-weight: 500;
  letter-spacing: 0;
}
.faq dl dd p {
  margin: 0;
}
.faq dl dd p span {
  display: block;
  text-indent: -1.35rem;
  font-size: 0.875rem;
  margin-left: 1.5rem;
}
.faq dl dd p span::before {
  content: "＊";
  margin-right: 0.5rem;
}

.yutai-faq {
  flex-wrap: wrap !important;
}
.yutai-faq ul {
  margin-left: 3rem;
}
.yutai-faq ul > li {
  text-indent: -1.8rem;
  margin-left: 2.0rem;
}
@media screen and (max-width: 763px) {
  .yutai-faq ul {
    margin-left: 2.5rem;
  }
  .yutai-faq ul > li {
    font-size: 0.875rem;
    text-indent: -1.6rem;
  }
}

.contact__step {
  margin-bottom: 3.5rem;
}
.contact__step ul {
  overflow-y: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.contact__step li {
  width: 25%;
  position: relative;
  padding: 16px 0 16px 24px;
  background: #e0e0e0;
}
.contact__step li span {
  display: block;
  font-size: 0.875rem;
}
.contact__step li::before {
  content: "";
  position: absolute;
  top: -30px;
  right: -90px;
  border-width: 68px 48px;
  border-color: transparent transparent transparent #e0e0e0;
  border-style: solid;
  z-index: 10;
}
.contact__step li::after {
  content: "";
  position: absolute;
  top: -30px;
  right: -95px;
  border-width: 68px 48px;
  border-color: transparent transparent transparent white;
  border-style: solid;
  z-index: 5;
}
.contact__step li.active {
  background: #e6001b;
  color: #fff;
  font-weight: 500;
}
.contact__step li.active::before {
  border-color: transparent transparent transparent #e6001b;
}
.contact__step li:last-child::before, .contact__step li:last-child::after {
  display: none;
}
.contact__step li:not(:first-child) {
  padding-left: 64px;
}
.contact__step li:last-child {
  padding-right: 30px;
}
.contact__entry .none {
  display: none;
}
.contact__entry dl {
  margin-bottom: 2rem;
}
.contact__entry dl.last {
  margin-bottom: 4rem;
}
.contact__entry dl.active {
  display: block;
}
.contact__entry dt {
  width: 100%;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  border-bottom: 3px #e0e0e0 solid;
}
.contact__entry dt .required {
  color: #e6001b;
  font-size: 0.925rem;
  margin-left: 0.5rem;
}
.contact__entry dt.active {
  display: inline-block;
}
.contact__entry dd .title {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.contact__entry dd .subtitle {
  display: block;
  margin-bottom: 0.5rem;
}
.contact__entry dd .sub {
  display: inline-block;
  width: 140px;
  margin-bottom: 0.5rem;
}
.contact__entry dd .name {
  text-align: right;
  display: inline-block;
  width: 140px;
  margin-bottom: 0.5rem;
  padding-right: 1rem;
}
.contact__entry .err {
  color: #e6001b;
  margin-bottom: 0.5rem;
  font-weight: 500;
  padding-left: 1.5rem;
  background: url(/_assets/img/common/ico_alert.svg) no-repeat left center;
}
.contact__entry textarea {
  background: #ebebeb;
  width: 100%;
  min-height: 200px;
  border: none;
  border-radius: 5px;
  padding: 1rem;
}
.contact__entry textarea::-webkit-input-placeholder {
  color: #999;
}
.contact__entry textarea::-moz-placeholder {
  color: #999;
}
.contact__entry textarea:-ms-input-placeholder {
  color: #999;
}
.contact__entry textarea::-ms-input-placeholder {
  color: #999;
}
.contact__entry textarea::placeholder {
  color: #999;
}
.contact__entry .selectbox {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.contact__entry .selectbox::after {
  position: absolute;
  right: 15px;
  width: 10px;
  height: 7px;
  background-color: #000;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  pointer-events: none;
}
.contact__entry .selectbox select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  min-width: 240px;
  padding: 1rem;
  border: 1px solid #d9d9d9;
  border-radius: 5px;
  background-color: #fff;
  cursor: pointer;
}
.contact__entry .wide {
  width: 100%;
  border: none;
  border-radius: 5px;
  background: #ebebeb;
  padding: 1rem;
  margin-bottom: 0.5rem;
}
.contact__entry .wide::-webkit-input-placeholder {
  color: #999;
}
.contact__entry .wide::-moz-placeholder {
  color: #999;
}
.contact__entry .wide:-ms-input-placeholder {
  color: #999;
}
.contact__entry .wide::-ms-input-placeholder {
  color: #999;
}
.contact__entry .wide::placeholder {
  color: #999;
}
.contact__entry .midium {
  width: 70%;
  border: none;
  border-radius: 5px;
  background: #ebebeb;
  padding: 1rem;
  margin-bottom: 0.5rem;
}
.contact__entry .midium::-webkit-input-placeholder {
  color: #999;
}
.contact__entry .midium::-moz-placeholder {
  color: #999;
}
.contact__entry .midium:-ms-input-placeholder {
  color: #999;
}
.contact__entry .midium::-ms-input-placeholder {
  color: #999;
}
.contact__entry .midium::placeholder {
  color: #999;
}
.contact__entry .short {
  width: 30%;
  border: none;
  border-radius: 5px;
  background: #ebebeb;
  padding: 1rem;
  margin-bottom: 0.5rem;
}
.contact__entry .short::-webkit-input-placeholder {
  color: #999;
}
.contact__entry .short::-moz-placeholder {
  color: #999;
}
.contact__entry .short:-ms-input-placeholder {
  color: #999;
}
.contact__entry .short::-ms-input-placeholder {
  color: #999;
}
.contact__entry .short::placeholder {
  color: #999;
}
.contact__entry input:-webkit-autofill {
  -webkit-box-shadow: 0px 0px 100px 100px #ebebeb inset;
          box-shadow: 0px 0px 100px 100px #ebebeb inset;
}
.contact__entry .entry-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.contact__entry fieldset {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0.3em 2em;
  border: none;
  margin-bottom: 1rem;
}
.contact__entry fieldset.nowrap {
  display: block;
}
.contact__entry fieldset.line {
  display: initial;
}
.contact__entry fieldset label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5em;
  position: relative;
  cursor: pointer;
  margin-bottom: 0.5rem;
}
.contact__entry fieldset label.indent {
  margin-left: 1.5rem;
}
.contact__entry fieldset label::before,
.contact__entry fieldset label:has(:checked)::after {
  border-radius: 50%;
  content: "";
}
.contact__entry fieldset label::before {
  width: 18px;
  height: 18px;
  background-color: #ebebeb;
}
.contact__entry fieldset label:has(:checked)::after {
  position: absolute;
  top: 50%;
  left: 9px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background-color: #1f70c7;
  border: 1px #1f70c7 solid;
  -webkit-animation: anim-radio-001 0.3s linear;
          animation: anim-radio-001 0.3s linear;
}
@-webkit-keyframes anim-radio-001 {
  0% {
    -webkit-box-shadow: 0 0 0 1px transparent;
            box-shadow: 0 0 0 1px transparent;
  }
  50% {
    -webkit-box-shadow: 0 0 0 10px rgba(37, 137, 208, 0.2);
            box-shadow: 0 0 0 10px rgba(37, 137, 208, 0.2);
  }
  100% {
    -webkit-box-shadow: 0 0 0 10px transparent;
            box-shadow: 0 0 0 10px transparent;
  }
}
@keyframes anim-radio-001 {
  0% {
    -webkit-box-shadow: 0 0 0 1px transparent;
            box-shadow: 0 0 0 1px transparent;
  }
  50% {
    -webkit-box-shadow: 0 0 0 10px rgba(37, 137, 208, 0.2);
            box-shadow: 0 0 0 10px rgba(37, 137, 208, 0.2);
  }
  100% {
    -webkit-box-shadow: 0 0 0 10px transparent;
            box-shadow: 0 0 0 10px transparent;
  }
}
.contact__entry fieldset input {
  display: none;
}
.contact__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact__submit {
  display: table;
  text-align: center;
  margin: auto;
  cursor: pointer;
  display: block;
  min-width: 336px;
  min-height: 58px;
  line-height: 56px;
  font-size: 1.125rem;
  padding: 0 3.5rem;
  color: #e6001b;
  font-weight: 500;
  letter-spacing: 0;
  background: #fff;
  border: 1px #e6001b solid;
  border-radius: 999px;
  background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat #fff;
  background-size: 16px;
  background-position: right 30px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.contact__submit:hover {
  background: url(/_assets/img/common/ico_btn_arrow_white.svg) no-repeat #e6001b;
  background-size: 16px;
  background-position: right 30px center;
  color: #fff;
  text-decoration: underline;
}
.contact__back {
  cursor: pointer;
  display: table;
  display: block;
  line-height: 46px;
  min-width: 266px;
  min-height: 48px;
  padding: 0 3.5rem;
  background: #fff;
  border: 1px #d9d9d9 solid;
  border-radius: 999px;
  text-align: center;
  background: url(/_assets/img/common/ico_btn_arrow_left.svg) no-repeat;
  background-size: 16px;
  background-position: left 30px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.contact__back:hover {
  color: #e6001b;
  border: 1px #e6001b solid;
  text-decoration: underline;
}

.new-report {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
}

.report-pic {
  display: block;
  width: 120px;
  margin-right: 20px;
}
.report-pic img {
  width: 100%;
  border: 1px #d9d9d9 solid;
}

.sitemap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.sitemap__left {
  width: 400px;
}
.sitemap__left div {
  margin-bottom: 4rem;
}
.sitemap__right {
  width: 400px;
}
.sitemap__right div {
  margin-bottom: 4rem;
}
.sitemap li {
  background: url(/_assets/img/common/ico_arrow.svg) no-repeat left center;
  background-size: 12px;
  margin-left: 1.5rem;
  margin-bottom: 1rem;
  padding: 0 0 0 1.5rem;
}
.sitemap li.category {
  font-size: 1.25rem;
  border-bottom: 2px #e6001b solid;
  font-weight: 500;
  color: #e6001b;
  margin-bottom: 1.5rem;
  margin-left: 0;
  line-height: 2.4;
  background: url(/_assets/img/common/ico_arrow.svg) no-repeat left center;
}
.sitemap li.sub {
  background: none;
  margin-left: 1.5rem;
  font-size: 0.875rem;
}

.js_content {
  display: none;
}

.js_content.active {
  display: block;
}

@media screen and (max-width: 1199px) {
  .about__bg {
    margin-left: -20px;
    margin-right: 0;
    background-size: contain;
    margin-top: 100px;
  }
  .ir__bg {
    margin-left: -20px;
    margin-right: 0;
    background-size: contain;
    margin-top: 100px;
  }
  .product__bg {
    margin-left: -20px;
    margin-right: 0;
    background-size: contain;
    margin-top: 100px;
  }
  .sustainability__bg {
    margin-left: -20px;
    margin-right: 0;
    background-size: contain;
    margin-top: 100px;
  }
  .ir__division-bg__bg {
    margin-left: -20px;
    margin-right: 0;
    background-size: contain;
    margin-top: 100px;
  }
  .company__process-bg {
    margin-left: -20px;
    margin-right: 0;
    background-size: contain;
    margin-top: 60px;
  }
  .safety__system-bg {
    margin-left: -20px;
    margin-right: 0;
    margin-top: -100px;
    background-size: contain;
  }
  .sustainability__governance-index-bg {
    margin-left: -20px;
    margin-right: 0;
    margin-top: 100px;
    background-size: contain;
  }
ul.governance-indent{
  text-indent: -1.2rem;
  padding-left: 1.2rem;
  font-size: 0.875rem;
}
div.governance_compensation_system p{
  margin: 0 8px;
}
  .sustainability__social-index-bg {
    margin-left: -20px;
    margin-right: 0;
    margin-top: 100px;
    background-size: contain;
  }
  .sustainability__environment-index-bg {
    margin-left: -20px;
    margin-right: 0;
    margin-top: 100px;
    background-size: contain;
  }
  .ir__division-bg {
    margin-left: -20px;
    margin-right: 0;
    margin-top: -260px;
    background-size: contain;
    height: 125%;
  }
}
@media screen and (max-width: 763px) {
  header {
    z-index: 9999;
    width: 100%;
    height: 60px;
  }
  header .header {
    width: 100%;
    height: 60px;
    padding: 0;
  }
  header .header__logo {
    width: 140px;
    top: 18px;
    left: 4vw;
  }
  header .header__function {
    display: none;
  }
  footer {
    margin-top: 60px;
    min-width: auto;
  }
  footer.top {
    margin-top: 100px;
    padding-top: 60px;
    border-top: 1px #d9d9d9 solid;
    background: #f7f7f5;
    min-width: auto;
  }
  .footer {
    min-width: auto;
  }
  .footer__content {
    width: 92vw;
    margin: auto;
    padding: 0;
    min-width: auto;
  }
  .footer .home {
    margin-bottom: 1rem;
    padding-left: 1.5rem;
    background: url(/_assets/img/common/ico_home.svg) no-repeat left center;
    font-size: 1.125rem;
  }
  .footer__nav {
    width: auto;
    display: block;
    padding: 0;
  }
  .footer__nav ul {
    position: relative;
    width: auto;
    margin-right: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .footer__nav li {
    width: 48%;
  }
  .footer__nav li.parent {
    width: 100%;
    font-size: 1.125rem;
    font-weight: 500;
    margin-top: 1rem;
  }
  .footer__logo {
    width: 48vw;
    margin: 3rem auto;
  }
  .footer__banner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-evenly;
    -webkit-justify-content: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
    margin-bottom: 50px;
  }
  .footer__banner p {
    width: 40vw;
    margin-right: 0;
  }
  .footer__nav-sub {
    z-index: 1;
    position: relative;
    background: #fff;
  }
  .footer__nav-sub ul {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 92vw;
    height: auto;
    padding: 0;
    padding-top: 2rem;
  }
  .footer__nav-sub ul li {
    text-align: center;
    width: 50%;
    margin-bottom: 2rem;
    font-size: 0.875rem;
  }
  .footer .copyright {
    font-size: 0.75rem;
  }
  .pagetop {
    bottom: 16px;
    right: 16px;
  }
  .pagetop img {
    width: 40px;
  }
  .global-nav {
    width: 100vw;
    padding: 0;
  }
  .global-nav__inner {
    position: fixed;
    top: 60px;
    height: 100vh;
    background: #fff;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .global-nav ul {
    text-align: left;
    min-width: 0;
    width: 100%;
  }
  .global-nav ul li {
    width: 100%;
    border-bottom: 1px #fff solid;
    background: #e6001b;
  }
  .global-nav ul li:hover::after {
    display: none;
  }
  .global-nav ul li:hover {
    background: #e6001b;
  }
  .global-nav .global-nav__item {
    width: 100vw;
    display: block;
    font-size: 1.125rem;
    padding: 0;
    background: #e6001b;
    cursor: pointer;
    line-height: 4rem;
    margin-left: 0;
  }
  .global-nav .global-nav__item:first-child {
    display: block;
  }
  .global-nav .global-nav__item:first-child a {
    display: block;
  }
  .global-nav .global-nav__item a {
    padding: 0 4vw;
    color: #fff;
  }
  .global-nav__contents {
    margin-left: 0;
    margin-right: o;
    position: initial;
    -webkit-box-shadow: none;
            box-shadow: none;
    background: #fff;
  }
  .global-nav__head {
    background-image: none;
    background-color: #fff;
  }
  .global-nav p {
    width: 100vw;
    color: #000000;
    padding: 0;
    margin: 0;
    font-size: initial;
    background: url(/_assets/img/common/ico_arrow-red-white.svg) no-repeat center right 4vw #fff;
  }
  .global-nav p a {
    display: block;
    color: #000000 !important;
    border-bottom: 1px #d9d9d9 solid;
    padding: 0.75rem 3rem 0.75rem 2rem !important;
    line-height: 1.6;
    font-size: 0.875rem;
  }
  .global-nav__list {
    position: relative;
    display: block;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    width: 100vw;
    margin: auto;
  }
  .global-nav__list ul {
    min-width: 100vw;
    width: 100vw;
    margin-right: 0;
  }
  .global-nav__list li {
    margin-left: 0;
    margin-bottom: 0;
    padding-left: 0;
    border-bottom: 1px #d9d9d9 solid;
    background: #fff !important;
  }
  .global-nav__list li a {
    display: block;
    color: #000000 !important;
    border-bottom: 1px #d9d9d9 solid;
    padding: 0.75rem 3rem 0.75rem 2rem !important;
    line-height: 1.6 !important;
    background: url(/_assets/img/common/ico_arrow-red-white.svg) no-repeat center right 4vw #fff;
  }
  .global-nav__list li.parent {
    margin-bottom: 0;
    margin-left: 0;
    padding: 0;
    font-size: 0.875rem;
    background: url(/_assets/img/common/ico_arrow-red-white.svg) no-repeat center right 4vw #fff;
  }
  .global-nav__list li.pc {
    display: none;;
  }
  .global-nav__list li.parent a {
    font-size: 0.875rem;
  }
  .global-nav__function {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100vw;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    background: #fff;
    margin-top: 20px;
    padding-bottom: 80px;
  }
  .global-nav__contact {
    width: 50vw;
    border-right: 1px #d9d9d9 solid;
  }
  .global-nav__contact p {
    width: 50vw;
    font-size: 0.9375rem;
    font-weight: 500;
    background: url(/_assets/img/common/ico_contact.svg) no-repeat left center;
    background-size: 18px 14px;
    border: none;
    margin-left: 8vw;
  }
  .global-nav__contact p a {
    color: #000000 !important;
    font-size: 1rem !important;
    border: none;
    line-height: 1;
    padding-left: 1.75rem !important;
  }
  .global-nav__language {
    width: 50vw;
    margin-left: 0;
    border: none;
    text-align: center;
  }
  .global-nav__language p {
    width: 50vw;
    background: none;
  }
  .global-nav__language a {
    font-size: 1rem !important;
    border: none !important;
    line-height: 1 !important;
  }
  .global-nav__search {
    width: 100%;
    margin: 20px auto 0 auto;
    text-align: center;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    padding-bottom: 40px;
  }
  .global-nav__search input:nth-child(4) {
    display: none;
  }
  .global-nav__search-input {
    background-color: #f5f5f5;
    background-image: url(/_assets/img/common/ico_search.svg);
    background-repeat: no-repeat;
    background-position: 10px;
    border: 1px #d9d9d9 solid;
    border-radius: 999px;
    height: 50px;
    width: 92vw;
    padding-left: 2rem;
  }
  .global-nav__search-input::-webkit-input-placeholder {
    font-size: 14px;
    font-weight: 500;
  }
  .global-nav__search-input::-moz-placeholder {
    font-size: 14px;
    font-weight: 500;
  }
  .global-nav__search-input:-ms-input-placeholder {
    font-size: 14px;
    font-weight: 500;
  }
  .global-nav__search-input::-ms-input-placeholder {
    font-size: 14px;
    font-weight: 500;
  }
  .global-nav__search-input::placeholder {
    font-size: 14px;
    font-weight: 500;
  }
  .menu-btn {
    display: block;
  }
  .menu-dropdown-icon:before {
    display: block;
  }
  .global-nav > ul {
    display: none;
  }
  .global-nav .show-on-mobile {
    display: block;
  }
  .content {
    margin-top: 60px;
  }
  .content__bg {
    min-width: auto;
    background: url(/_assets/img/common/bg_wave_gray_sp.svg) no-repeat center bottom;
    background-size: cover;
  }
  .content__bg-recruit {
    background: url(/_assets/img/recruit/bg_wave_recruit_sp.svg) no-repeat center bottom;
    background-size: cover;
  }
  .content__head {
    width: 92vw;
    margin-bottom: 20px;
    padding: 0.75rem 0;
  }
  .content__head-recruit {
    width: 92vw;
    margin-bottom: 20px;
    padding: 2.25rem 0 1.75rem 0;
  }
  .content__wrap {
    display: initial;
    width: 92vw;
    margin: auto;
    padding: 0;
  }
  .content__main {
    width: 92vw;
    margin: auto;
  }
  .content__main-center {
    width: 92vw;
    padding: 0;
  }
  .content__box {
    padding: 1.5rem;
  }
  .content p {
    font-size: 0.875rem;
  }
  .content p a {
    color: #1F70C7;
    text-decoration: underline;
  }
  .content p a:hover {
    text-decoration: none;
  }
  .content h1 {
    font-size: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .content h2 {
    font-size: 1.375rem;
  }
  .content h3 {
    font-size: 1.125rem;
  }
  .content h4 {
    font-size: 1rem;
  }
  .content h5 {
    font-size: 0.9375rem;
  }
  .content p {
    margin-bottom: 2.5rem;
  }
  .content p.figure-title {
    font-size: 0.9375rem;
    font-weight: 500;
  }
  .content p.lead-txt {
    font-size: 0.9375rem;
    font-weight: 500;
  }
  .content p.small-txt {
    font-size: 0.875rem;
  }
  .content ul.caution li {
    font-size: 0.6875rem;
  }
  .content ul.list li, .content ul.num li {
    font-size: 0.875rem;
  }
  .content .pdf-download {
    display: block;
  }
  .content .pdf-download__logo {
    width: 40vw;
  }
  .content .pdf-download__logo img {
    margin-bottom: 10px;
  }
  .breadcrumbs {
    overflow-x: scroll;
  }
  .breadcrumbs ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .breadcrumbs li {
    margin-left: 0.5rem;
    font-size: 0.625rem;
    white-space: nowrap;
  }
  .breadcrumbs li::after {
    content: ">";
    padding-left: 0.5rem;
    color: #888888;
  }
  .breadcrumbs li:last-child::after {
    content: "";
  }
  .anchor-link {
    margin-bottom: 2rem;
  }
  .anchor-link ul li {
    width: 48%;
    font-size: 0.925rem;
  }
  .anchor-link.two-column ul li {
    width: 44vw;
    font-size: 0.925rem;
    margin-right: 0;
  }
  .one-column {
    width: 100%;
    margin-bottom: 2.5rem;
  }
  .one-column img {
    width: 100%;
    margin-bottom: 1.25rem;
  }
  .one-column figcaption {
    font-size: 0.75rem;
  }
  .two-column {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 1.5rem;
  }
  .two-column .order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .two-column .order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .two-column .txt {
    width: 100%;
    margin-top: 0;
  }
  .two-column figure {
    width: 100%;
  }
  .two-column figure figcaption {
    margin-bottom: 1.5rem;
    font-size: 0.75rem;
  }
  .two-column p {
    width: 100%;
    margin-top: 0;
  }
  .two-column .link-box {
    width: 100%;
  }
  .two-column .link-box p {
    font-size: 0.875rem;
  }
  .two-column .link-box__title {
    padding: 1rem;
    background: #fafafa;
  }
  .two-column .link-box__title p {
    font-size: 1rem;
  }
  .two-column.small figure {
    width: 44vw;
  }
  .three-column {
    display: initial;
  }
  .three-column figure {
    width: 100%;
  }
  .three-column figure figcaption {
    margin-bottom: 1.5rem;
    font-size: 0.75rem;
  }
  #enkaku .three-column {
    display: flex;
    flex-wrap: nowrap !important;
  }
  #enkaku .one-column {
    display: flex !important;
      flex-wrap: nowrap !important;
      width: 50% !important;
      text-align: center;
      margin: 0 auto;
      margin-bottom: 2.5rem;
  }
  table thead th {
    font-size: 0.875rem;
  }
  table tbody th {
    font-size: 0.875rem;
  }
  table td {
    font-size: 0.875rem;
  }
  .wide-table {
    width: 100%;
    overflow-x: scroll;
  }
  .wide-table thead th {
    white-space: nowrap;
  }
  .txt-link {
    font-size: 0.875rem;
  }
  .blank-link {
    font-size: 0.875rem;
  }
  .pdf-link {
    font-size: 0.875rem;
  }
  .btn__large {
    margin: 0 auto 20px auto;
    min-height: auto;
  }
  .btn__large a {
    font-size: 0.875rem;
    line-height: 1.4;
    padding: 1rem 0;
  }
  .btn__midium {
    margin: 0 auto 20px auto;
  }
  .btn__midium a {
    font-size: 0.875rem;
    padding: 0 3rem;
  }
  .btn__small {
    margin: auto;
  }
  .btn__small a {
    font-size: 0.875rem;
  }
  .btn__min a {
    font-size: 0.875rem;
  }
  .btn__download a {
    min-width: 64vw;
    font-size: 0.875rem;
  }
  .print {
    display: none;
  }
  .md-contents {
    top: 40px;
    left: 50%;
    width: 92vw;
  }
  .md-inner {
    height: 88vh;
    border-radius: 8px;
  }
  .side-bar {
    width: 92vw;
    margin: auto;
  }
  .side-bar li {
    font-size: 0.875rem;
  }
  .side-bar li:first-child {
    font-size: 1.125rem;
  }
  .kv {
    width: 100vw;
    height: auto;
    margin-bottom: 50px;
    margin-top: 90px;
    min-width: auto;
  }
  .kv img {
    -o-object-fit: initial;
       object-fit: initial;
    width: 100vw;
    height: auto;
  }
  .content-top {
    width: 92vw;
    padding: 0;
  }
  .notice {
    margin-bottom: 40px;
  }
  .notice dl {
    display: block;
    padding: 1rem;
  }
  .notice dt {
    margin-right: 0;
    font-size: 0.875rem;
  }
  .information {
    margin-bottom: 100px;
  }
  .information h2 {
    margin-bottom: 2.5rem;
    font-size: 1.375rem;
  }
  .information ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: auto;
  }
  .information ul li {
    width: 48%;
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
  }
  .information__content dl {
    display: block;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    text-align: left;
  }
  .information__content dt {
    position: relative;
    width: auto;
    color: #666666;
    margin-bottom: 1rem;
  }
  .information__content dt::before {
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    margin-right: 0;
  }
  .information__content dt.information__cat01::before, .information__content dt.information__cat02::before, .information__content dt.information__cat03::before, .information__content dt.information__cat04::before, .information__content dt.information__cat05::before, .information__content dt.information__cat06::before, .information__content dt.information__cat07::before, .information__content dt.information__cat08::before {
    margin-right: 20px;
  }
  .information__content dd {
    width: auto;
    font-size: 0.875rem;
  }
  .about {
    margin-bottom: 100px;
  }
  .about__bg {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    min-width: auto;
  }
  .about__content {
    display: block;
  }
  .about__message {
    width: 100%;
    height: 180px;
    margin-bottom: 20px;
    background: url(/_assets/img/top/pic_president_sp.jpg) no-repeat;
    background-size: cover;
  }
  .about__message p {
    margin-bottom: 0.5rem;
    padding-left: 32vw;
    padding-top: 1rem;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.1rem;
  }
  .about__message p.about__message-name {
    font-size: 0.6875rem;
  }
  .about__message .btn {
    min-width: 45vw;
    min-height: 36px;
    padding: 0;
    bottom: 12px;
    right: 20px;
    background-size: 10px;
    background-position: right 10px center;
  }
  .about__message .btn:hover {
    background-size: 10px;
    background-position: right 10px center;
    color: #fff;
  }
  .about__message .btn a {
    line-height: 34px;
    font-size: 0.75rem;
  }
  .about__box {
    width: 100%;
    margin-bottom: 20px;
  }
  .about h2 {
    font-size: 1.375rem;
    letter-spacing: 0.5rem;
    margin-bottom: 1.5rem;
  }
  .about__btn {
    width: 64vw;
    height: 36px;
    margin: 0 auto 5rem auto;
  }
  .about__btn a {
    line-height: 36px;
    font-size: 0.875rem;
  }
  .ir {
    position: relative;
    margin-bottom: 60px;
  }
  .ir__bg {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    min-width: auto;
  }
  .ir__head {
    position: relative;
    z-index: 999;
    display: inline-block;
    float: right;
  }
  .ir__content {
    position: relative;
    z-index: 999;
    clear: both;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .ir__box {
    width: 100%;
    height: 150px;
    margin-bottom: 20px;
  }
  .ir__box p {
    font-size: 1.25rem;
  }

  .ir-top__box-wrapper {
    position: relative;
    z-index: 999;
    clear: both;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .ir-top__box-wrapper .ir-top__content {
    width: 100%;
  }
  .ir-top__box-wrapper .ir-top__content .ir-top__box {
    width: 100%;
    height: 133px;
    border-radius: 0 0 20px 0;
    border: 1px #d9d9d9 solid;
  }
  .ir-top__box-wrapper .ir-top__content .ir-top__box p {
    font-size: 1.125rem;
    padding-top: 0;
    margin: 0;
    color: #000;
  }

  .ir__list {
    width: 386px;
    padding: 1.25rem;
  }
  .ir__list li a {
    font-size: 0.9375rem;
  }
  .ir h2 {
    font-size: 1.375rem;
    margin-bottom: 1.5rem;
  }
  .ir__btn {
    width: 64vw;
    height: 36px;
    margin: 0 auto 5rem auto;
  }
  .ir__btn a {
    line-height: 36px;
    font-size: 0.875rem;
  }

  .yutai-table table {
    white-space: nowrap !important;
  }

  .sustainability {
    position: relative;
    margin-bottom: 100px;
  }
  .sustainability__bg {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    min-width: auto;
  }
  .sustainability__lead {
    font-size: 0.875rem;
    letter-spacing: 0;
  }
  .sustainability__content-01 {
    display: block;
    margin-bottom: 60px;
  }
  .sustainability__content-02 {
    display: block;
  }
  .sustainability__box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 150px;
    margin-bottom: 20px;
    padding-left: 2rem;
    margin-right: 0;
  }
  .sustainability__box::before {
    position: absolute;
    left: 30px;
    content: "";
    width: 60px;
    height: 58px;
    background-image: url(/_assets/img/top/ico_sustainability01.svg);
    background-size: 100%;
  }
  .sustainability__box:nth-child(2)::before {
    width: 60px;
    height: 60px;
    background-image: url(/_assets/img/top/ico_sustainability02.svg);
  }
  .sustainability__box::after {
    position: absolute;
    bottom: 30px;
    right: 20px;
    content: "";
    width: 32px;
    height: 32px;
    background-image: url(/_assets/img/common/ico_arrow-green.svg);
    background-repeat: no-repeat;
    background-size: 32px;
  }
  .sustainability__box p {
    font-size: 1.125rem;
  }
  .sustainability__box-pic {
    width: 40vw;
    margin-left: 0;
  }
  .sustainability__box-pic:nth-child(2) {
    margin-left: auto;
    margin-top: -90px;
  }
  .sustainability__box-pic:nth-child(3) {
    margin-top: -90px;
  }
  .sustainability__link {
    display: inline-block;
    padding-right: 3rem;
    background: url(/_assets/img/common/ico_arrow-green-white.svg) no-repeat right center;
    background-size: 28px;
    font-size: 1.125rem;
  }
  .sustainability h2 {
    text-align: center;
    font-size: 1.375rem;
    margin-bottom: 1.5rem;
  }
  .sustainability__btn {
    width: 64vw;
    height: 36px;
    margin: 0 auto 5rem auto;
  }
  .sustainability__btn a {
    line-height: 36px;
    font-size: 0.875rem;
  }
  .product {
    margin-bottom: 100px;
  }
  .product__contact {
    display: block;
    min-height: auto;
    padding: 1.5rem;
    margin: -1.5rem 0 4rem 0;
  }
  .product__contact h3 {
    font-size: 1.25rem;
  }
  .product__contact h4 {
    font-size: 1rem;
    margin-bottom: 0rem;
    padding-bottom: 0;
  }
  .product__contact p {
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 0;
    line-height: 1.6;
  }
  .product__contact p span {
    display: block;
    font-size: 0.875rem;
    font-weight: 400;
  }
  .product__contact p a {
    color: #000000;
    text-decoration: none;
  }
  .product__contact-btn {
    padding-top: 2rem;
    width: 80vw;
    margin: auto;
  }
  .product__contact-btn a {
    width: 80vw;
    min-height: auto;
    font-size: 1.125rem;
    background-position: left 36px center;
  }
  .product__index h2 {
    font-size: 1.25rem !important;
  }
  .product__index-nav {
    margin-bottom: 4rem;
  }
  .product__index-nav ul {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2vw;
  }
  .product__index-nav li {
    width: 48%;
    background: url(/_assets/img/common/ico_arrow.svg) no-repeat center bottom 16px;
    background-size: 16px;
  }
  .product__index-nav li a {
    display: block;
    min-height: auto;
    padding: 0.5rem 0 3rem 0;
  }
  .product__index-nav li img {
    display: block;
    height: 24vw;
    margin: 1rem auto 1rem auto;
  }
  .product__index-nav02 img {
    width: 90%;
  }
  .product__index-brand {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 40px;
  }
  .product__index-brand div {
    width: 280px;
  }
  .product__index-feature {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 1.5rem;
  }
  .product__index-feature-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 120px;
    height: 120px;
    background: #e6001b;
    color: #fff;
    font-weight: 500;
    font-size: 1.125rem;
  }
  .product__index-feature-detail {
    width: 700px;
  }
  .product__index-feature-detail h4 {
    margin-bottom: 0.5rem;
  }
  .product__index-feature-detail p {
    margin-bottom: 0;
  }
  .product__bg {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    min-width: auto;
  }
  .product__lead {
    font-size: 0.9375rem;
    text-align: left;
    letter-spacing: 0;
  }
  .product__content {
    display: block;
  }
  .product__box {
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 30px;
    padding: 20px;
  }
  .product__box img {
    width: 40vw;
    margin-right: 40px;
  }
  .product__box p {
    font-size: 1.125rem;
  }
  .product__box::after {
    width: 32px;
    height: 32px;
    background-size: 32px;
  }
  .product h2 {
    font-size: 1.375rem;
    margin-bottom: 1.5rem;
  }
  .product__btn {
    width: 64vw;
    height: 36px;
    margin: 0 auto 5rem auto;
  }
  .product__btn a {
    font-size: 0.875rem;
    line-height: 36px;
  }
  .product__detail-wrap {
    display: block;
  }
  .product__detail-wrap div {
    width: 100%;
    margin-bottom: 2.5rem;
  }
  .product__detail-info ul {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0;
  }
  .product__detail-info li {
    font-size: 1.25rem;
    width: 48%;
  }
  .product__detail-info li.wide {
    width: 48%;
  }
  .product__detail-feature {
    display: block;
  }
  .product__detail-feature p {
    width: 100%;
    margin-top: 0;
  }
  .product__japanese-title {
    font-size: 1.25rem !important;
  }
  .product__japanese-map {
    width: 100%;
    margin: 0 auto 2.5rem auto;
  }
  .product__japanese-nav ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0;
  }
  .product__japanese-nav li {
    width: 32%;
    border: 1px #d9d9d9 solid;
    border-radius: 0 0 20px 0;
    text-align: center;
    background: url(/_assets/img/common/ico_acc_open.svg) no-repeat center bottom 16px;
    background-size: 16px;
    margin-bottom: 0.5rem;
    font-size: 0.925rem;
  }
  .product__japanese-nav li a {
    display: block;
    min-height: 108px;
    padding: 1rem 0 3rem 0;
  }
  .product__japanese-nav li img {
    display: block;
    height: 48px;
    margin: 1rem auto 1rem auto;
  }
  .product__japanese-brand {
    display: block;
  }
  .product__japanese-brand div {
    width: 40vw;
    margin: 0 auto 1.5rem auto;
  }
  .product__japanese-brand table th {
    width: 24vw;
  }
  .product__japanese-feature {
    display: block;
    margin-bottom: 1.5rem;
  }
  .product__japanese-feature-title {
    width: 16vw;
    height: 8vw;
    font-size: 0.925rem;
    margin-bottom: 0.5rem;
  }
  .product__japanese-feature-detail {
    width: auto;
  }
  .product__japanese-feature-detail h4 {
    margin-bottom: 0.5rem;
  }
  .product__japanese-feature-detail p {
    margin-bottom: 0;
  }
  .product__japanese-feature-detail-s {
    width: auto;
  }
  .product__japanese-feature-detail-s h4 {
    margin-bottom: 0.5rem;
  }
  .product__japanese-feature-detail-s p {
    margin-bottom: 0;
  }
  .product__japanese-feature-detail-s .caution {
    display: block;
    line-height: 1.8;
    margin-top: 0.5rem;
  }
  .product__japanese-feature-detail-s .red {
    color: #e6001b;
  }
  .product__japanese-feature-detail-s img {
    margin: 1.5rem 0;
  }
  .product__japanese-feature-photo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 4vw;
  }
  .product__japanese-feature-photo img {
    width: 48%;
    margin-bottom: 0;
  }
  .product__japanese-feature-photo span {
    display: block;
    width: 100%;
    text-align: center;
  }
  .product__japanese-feature .caution {
    display: block;
    line-height: 1.8;
    margin-top: 0.5rem;
  }
  .product__japanese-feature .red {
    color: #e6001b;
  }
  .product__japanese-feature img {
    margin-top: 1.5rem;
  }
  .product__imported-title {
    font-size: 1.25rem !important;
  }
  .product__imported-map {
    width: 100%;
    margin: 0 auto 2.5rem auto;
  }
  .product__imported-nav ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0;
  }
  .product__imported-nav li {
    width: 32%;
    border: 1px #d9d9d9 solid;
    border-radius: 0 0 20px 0;
    text-align: center;
    background: url(/_assets/img/common/ico_acc_open.svg) no-repeat center bottom 16px;
    background-size: 16px;
    margin-bottom: 0.5rem;
    font-size: 0.925rem;
  }
  .product__imported-nav li a {
    display: block;
    min-height: 108px;
    padding: 1rem 0 3rem 0;
  }
  .product__imported-nav li img {
    display: block;
    height: 48px;
    margin: 1rem auto 1rem auto;
  }
  .product__imported-brand {
    display: block;
  }
  .product__imported-brand div {
    width: 40vw;
    margin: 0 auto 1.5rem auto;
  }
  .product__imported-brand table th {
    width: 24vw;
  }
  .product__imported-brand-txt {
    width: auto !important;
  }
  .product__imported-feature {
    display: block;
    margin-bottom: 2rem;
  }
  .product__imported-feature-title {
    width: 16vw;
    height: 8vw;
    font-size: 0.925rem;
    margin-bottom: 0.5rem;
  }
  .product__imported-feature-detail {
    width: auto;
  }
  .product__imported-feature-detail h4 {
    margin-bottom: 0.5rem;
  }
  .product__imported-feature-detail p {
    margin-bottom: 0;
  }
  .product__imported-feature-detail-s {
    width: auto;
  }
  .product__imported-feature-detail-s h4 {
    margin-bottom: 0.5rem;
  }
  .product__imported-feature-detail-s p {
    margin-bottom: 0;
  }
  .product__imported-feature-detail-s .caution {
    display: block;
    line-height: 1.8;
    margin-top: 0.5rem;
  }
  .product__imported-feature-detail-s .red {
    color: #e6001b;
  }
  .product__imported-feature-detail-s img {
    margin: 1.5rem 0;
  }
  .product__imported-feature-photo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 2vw;
  }
  .product__imported-feature-photo img {
    width: 48%;
    margin-bottom: 0;
  }
  .product__imported-feature-photo span {
    display: block;
    width: 100%;
    text-align: center;
  }
  .product__imported-feature-fig {
    width: 100%;
    margin-left: 0;
  }
  .product__imported-feature .three-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: auto;
    margin-left: 0;
    gap: 0;
  }
  .product__imported-feature .three-column figure {
    width: 28%;
    margin-bottom: 0;
  }
  .product__imported-feature .caution {
    display: block;
    line-height: 1.8;
    margin-top: 0.5rem;
  }
  .product__imported-feature .red {
    color: #e6001b;
  }
  .product__imported-feature img {
    margin-top: 1.5rem;
  }
  .product__imported .four-column figure {
    width: 46%;
  }
  .buttons {
    width: 100%;
  }
  .slider {
    width: 100%;
    margin-bottom: 24px;
    padding-bottom: 80%;
  }
  .slider .item {
    min-width: 100%;
    height: 320px;
  }
  .slider .item img {
    max-width: 100%;
    height: 320px;
  }
  .prev {
    position: absolute;
    top: 32vw;
    left: -2vw;
  }
  .next {
    position: absolute;
    top: 32vw;
    left: initial;
    right: -2vw;
  }
  .other-content {
    display: block;
    margin-bottom: 100px;
  }
  .other-content .company {
    display: block;
    width: 100%;
  }
  .other-content .recruit {
    display: block;
    width: 100%;
    margin-bottom: 50px;
  }
  .online-shop {
    width: 92vw;
    padding: 0;
    margin-bottom: 100px;
  }
  .online-shop p {
    font-size: 0.875rem;
  }
  .online-shop h2 {
    margin-bottom: 2rem;
    font-size: 1.375rem;
  }
  .online-shop__content {
    display: block;
  }
  .online-shop__box {
    width: 100%;
  }
  .online-shop__name {
    background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat;
    background-size: 16px;
    background-position: right center;
  }
  .furusato {
    width: 92vw;
    padding: 0;
    margin-bottom: 100px;
  }
  .furusato p {
    font-size: 0.875rem;
  }
  .furusato h2 {
    margin-bottom: 2rem;
    font-size: 1.375rem;
  }
  .furusato__content {
    display: block;
  }
  .furusato__box {
    width: 100%;
  }
  .furusato__name {
    background: url(/_assets/img/common/ico_btn_arrow.svg) no-repeat;
    background-size: 16px;
    background-position: right center;
  }
  .company__about-content {
    display: block;
  }
  .company__about-btn {
    display: block;
    width: auto;
    padding-bottom: 40px;
  }
  .company__about .btn__large {
    z-index: 999;
    display: table;
    margin: 30px auto 0 auto;
  }
  .company__about-message {
    width: 100%;
    height: 143px;
    margin-bottom: 20px;
    padding: 1.5rem 0 0 8.5rem;
    background: url(/_assets/img/top/pic_president_sp.jpg) no-repeat left #fff;
    background-size: cover;
  }
  .company__about-message p {
    font-size: 1.125rem;
    font-weight: 500;
    margin-bottom: 1rem;
    letter-spacing: 0.1rem;
    line-height: 1.6;
  }
  .company__about-message p.name {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
  .company__about-wrap {
    width: 100%;
    display: block;
  }
  .company__about-vision {
    width: 100%;
    height: 133px;
    border-radius: 0 0 20px 0;
    margin-bottom: 16px;
  }
  .company__about-vision p {
    font-size: 1.125rem;
    padding-top: 0;
    margin: 0;
  }
  .company__about-mission {
    width: 100%;
    height: 133px;
    border-radius: 0 0 20px 0;
  }
  .company__about-mission p {
    font-size: 1.125rem;
    padding-top: 0;
    margin: 0;
  }
  .company__message {
    font-size: 1.5rem;
    margin-bottom: 40px;
    display: block;
  }
  .company__message p {
    margin-bottom: 0;
    line-height: 1.6;
    color: #e6001b;
    font-weight: 500;
    font-size: 1.2rem;
  }
  .company__message img {
    width: 100%;
    margin-bottom: 1rem;
  }
  .company__process {
    margin-bottom: 80px;
  }
  .company__process-bg {
    z-index: 1;
    position: absolute;
    width: 100vw;
    min-width: auto;
    height: 100%;
    min-height: 540px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: url(/_assets/img/company/bg_wave_sp.svg) no-repeat top;
    background-size: cover;
  }
  .company__process h2 {
    position: relative;
    z-index: 999;
    text-align: left;
    padding-bottom: 0;
    background: url(/_assets/img/ir/ico_ir-strategy.svg) no-repeat left 22px;
    padding-left: 1.5rem;
    background-size: 5px;
    margin-bottom: 2rem;
    padding-top: 20px;
  }
  .company__process-value {
    display: block;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
    width: 100%;
    height: 133px;
    background: url(/_assets/img/company/pic_company01_sp.jpg) no-repeat right #fff;
    background-size: 44vw;
  }
  .company__process-value p {
    text-align: left;
    padding-left: 8vw;
    margin: 0;
    font-size: 1.125rem;
  }
  .company__info-wrap {
    display: block;
    margin-bottom: 64px;
  }
  .company__info-btn {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 133px;
    margin-bottom: 16px;
  }
  .company__info-btn::before {
    position: absolute;
    top: 40px;
    left: 32px;
    content: "";
    width: 48px;
    height: 48px;
  }
  .company__info-btn:nth-child(3)::before {
    top: 56px;
    left: 28px;
    width: 56px;
    height: 33px;
  }
  .company__info-btn p {
    text-align: center;
    font-size: 1.125rem;
    margin: 0;
    padding-top: 0;
  }
  .company__info-btn p.color {
    color: #e6001b;
  }
  .company__vision {
    font-size: 1.5rem;
    letter-spacing: 0;
    margin-bottom: 2rem;
  }
  .company__philosophy {
    display: block;
  }
  .company__philosophy-detail {
    width: 100%;
    margin-bottom: 2rem;
  }
  .company__philosophy-detail p {
    margin-bottom: 1.5rem;
  }
  .company__philosophy-detail img {
    width: 32vw;
    margin: auto;
  }
  .company__philosophy-message {
    min-height: auto;
  }
  .company__philosophy-message p {
    font-size: 1.125rem;
  }
  .company__table th {
    padding: 0.5rem;
  }
  .company__table td {
    padding: 0.5rem;
  }
  .company__table td.name {
    white-space: nowrap;
  }
  .company__yakuin td {
    margin-bottom: 1rem;
  }
  .company__yakuin-photo {
    background: none;
  }
  .company__yakuin-photo img {
    width: 40vw;
    margin: 0;
  }
  .company__director {
    width: 80vw;
    margin: auto;
  }
  .company__director-wrap {
    display: block;
  }
  .company__director img {
    width: 48vw;
    margin: 0 auto 1rem auto;
  }
  .company__director p {
    font-size: 1rem;
  }
  .company__director p span {
    font-weight: 400;
    display: block;
    font-size: 0.875rem;
  }
  .company__map iframe {
    aspect-ratio: 1/1;
    width: 100%;
    height: 100%;
  }
  .company__history dt {
    width: 20%;
    white-space: nowrap;
  }
  .company__history dd {
    width: 80%;
  }
  .company__mission-title {
    font-size: 1.125rem;
  }
  .company__mission-modal-content {
    width: 92vw;
  }
  .company__mission-modal-content video {
    width: 100%;
  }
  .company__base-map01 {
    width: 92vw;
    margin: 0 auto 40px auto;
  }
  .company__base-map01-01, .company__base-map01-02, .company__base-map01-03, .company__base-map01-04, .company__base-map01-05, .company__base-map01-06, .company__base-map01-07, .company__base-map01-08, .company__base-map01-09, .company__base-map01-10, .company__base-map01-11, .company__base-map01-12, .company__base-map01-13, .company__base-map01-14, .company__base-map01-15, .company__base-map01-16, .company__base-map01-17, .company__base-map01-18, .company__base-map01-19 {
    display: none;
  }
  .company__base-map02 {
    width: 92vw;
    margin: 0 auto 40px auto;
  }
  .company__base-map02 .anchor-link ul {
    display: block;
  }
  .company__base-map02-01, .company__base-map02-02, .company__base-map02-03, .company__base-map02-04, .company__base-map02-05, .company__base-map02-06, .company__base-map02-07 {
    display: none;
  }
  .company__base-map03 {
    width: 92vw;
    margin: 0 auto 40px auto;
  }
  .company__base-factory img {
    width: 24vw;
  }
  .company__base-factory .one-column img {
    width: 100%;
  }
  .company__base-factory dl {
    width: 60vw;
  }
  .company__base-factory dt {
    font-size: 1rem;
  }
  .company__base-factory dt span {
    font-size: 0.875rem;
  }
  .company__base-factory dd {
    font-size: 0.875rem;
  }
  .company__value-process {
    height: calc(100vw * (740 / 700));
  }
  .company__value-process-fig {
    width: 80vw;
    margin-left: 5vw;
  }
  .company__value-process li {
    width: 36vw;
  }
  .company__value-process li:first-child {
    top: 16vw;
    left: 0;
  }
  .company__value-process li:nth-child(2) {
    top: 16vw;
    left: 50vw;
  }
  .company__value-process li:nth-child(3) {
    top: 66vw;
    left: 50vw;
  }
  .company__value-process li:nth-child(4) {
    top: 66vw;
    left: 0;
  }
  .company__value-input {
    margin-bottom: 5rem;
  }
  .company__value-input h3 {
    font-size: 1.75rem;
    background: url(/_assets/img/company/img_value02.png) no-repeat left top;
    background-size: 75px;
    padding-left: 6.25rem;
    min-height: 75px;
    line-height: 75px;
  }
  .company__value-input-box {
    display: block;
    min-height: auto;
  }
  .company__value-input-sub {
    width: 92vw;
    padding: 1rem 0;
  }
  .company__value-input-sub h4 {
    text-align: center;
    color: #fff;
    font-weight: 600;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
  }
  .company__value-input-sub p {
    margin-bottom: 0;
    text-align: center;
    color: #fff;
    line-height: 1.4;
  }
  .company__value-input-detail {
    width: 92vw;
  }
  .company__value-input-detail p {
    padding: 1.5rem;
    margin-bottom: 0;
  }
  .company__value-business {
    margin-bottom: 5rem;
  }
  .company__value-business h3 {
    font-size: 1.75rem;
    background: url(/_assets/img/company/img_value03.png) no-repeat left top;
    background-size: 75px;
    padding-left: 6.25rem;
    min-height: 75px;
    line-height: 75px;
  }
  .company__value-business-wrap {
    background: #f5f5f5;
    border-radius: 0 0 48px 0;
    padding-top: 1.5rem;
    padding-bottom: 0.05rem;
  }
  .company__value-business-box {
    width: 80vw;
    margin: 0 auto 2.5rem auto;
  }
  .company__value-business-flow {
    display: block;
    width: 80vw;
    margin-bottom: 1rem;
  }
  .company__value-business-flow h4 {
    width: 80vw;
    background: url(/_assets/img/company/img_value-flow01.png) no-repeat;
    background-size: 80vw;
    padding-top: 2rem;
    font-size: 1.5rem;
    margin-bottom: 0;
    min-height: 140px;
  }
  .company__value-business-flow h4.flow01 {
    background: url(/_assets/img/company/img_value-flow01.png) no-repeat;
    background-size: 80vw;
    background-position: center calc(100% - -1rem);
  }
  .company__value-business-flow h4.flow02 {
    background: url(/_assets/img/company/img_value-flow02.png) no-repeat;
    background-size: 80vw;
    background-position: center calc(100% - -1rem);
  }
  .company__value-business-flow h4.flow03 {
    background: url(/_assets/img/company/img_value-flow03.png) no-repeat;
    background-size: 80vw;
    background-position: center calc(100% - -1rem);
  }
  .company__value-business-flow h4.flow04 {
    background: url(/_assets/img/company/img_value-flow04.png) no-repeat;
    background-size: 80vw;
    background-position: center calc(100% - -1rem);
  }
  .company__value-business-flow h4.flow05 {
    background: url(/_assets/img/company/img_value-flow05.png) no-repeat;
    background-size: 80vw;
    background-position: center calc(100% - -1rem);
  }
  .company__value-business-flow p {
    width: 80vw;
    margin-top: 0;
  }
  .company__value-business-detail {
    display: block;
    width: 80vw;
    margin-bottom: 1.5rem;
  }
  .company__value-business-detail img {
    width: 80vw;
    margin-bottom: 2.5rem;
  }
  .company__value-business-strength {
    width: 80vw;
    border-radius: 0 0 24px 0;
    display: block;
    padding-top: 30px;
  }
  .company__value-business-strength p {
    width: 60px;
    line-height: 60px;
    font-size: 1rem;
    font-weight: 500;
    margin: -60px auto 0 auto;
  }
  .company__value-business-strength ul {
    margin-bottom: 0 !important;
    padding: 1rem 0;
    margin-left: 1rem;
    width: auto;
  }
  .company__value-business-strength ul li {
    margin-bottom: 0.5rem !important;
  }
  .company__value-output {
    margin-bottom: 5rem;
  }
  .company__value-output h3 {
    font-size: 1.75rem;
    background: url(/_assets/img/company/img_value04.png) no-repeat left top;
    background-size: 75px;
    padding-left: 6.25rem;
    min-height: 75px;
    line-height: 75px;
  }
  .company__value-output-wrap {
    display: block;
    height: auto;
  }
  .company__value-output-wrap div {
    width: 92vw;
    height: auto;
    border-radius: 0 0 24px 0;
  }
  .company__value-output-wrap ul {
    padding: 1.5rem 1rem;
    margin-left: 1rem;
    margin-bottom: 0;
  }
  .company__value-output-wrap img {
    width: 100%;
  }
  .company__value-outcome {
    margin-bottom: 5rem;
  }
  .company__value-outcome h3 {
    font-size: 1.75rem;
    background: url(/_assets/img/company/img_value05.png) no-repeat left top;
    background-size: 75px;
    padding-left: 6.25rem;
    min-height: 75px;
    line-height: 75px;
  }
  .company__value-outcome img {
    width: 100vw;
    margin: 0 auto 2rem auto;
  }
  .safety__division h2 {
    font-size: 1.5rem;
  }
  .safety__division-box {
    margin-bottom: 16px;
    padding: 1rem 1rem 1.5rem 1rem;
    border-radius: 0 0 24px 0;
  }
  .safety__division-box h3 {
    line-height: 1.6;
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
  }
  .safety__division-box h3.no1 {
    padding-left: 40px;
    background-size: 24px;
  }
  .safety__division-box h3.no2 {
    padding-left: 40px;
    background-size: 24px;
  }
  .safety__division-box h3.no3 {
    padding-left: 40px;
    background-size: 24px;
  }
  .safety__division-box h3.no4 {
    padding-left: 40px;
    background-size: 24px;
  }
  .safety__division-box p {
    padding-left: 40px;
    margin-bottom: 0;
  }
  .safety__system {
    margin-top: -24px;
    margin-bottom: 48px;
  }
  .safety__system-bg {
    min-width: auto;
    background: url(/_assets/img/safety/bg_wave_sp.svg) no-repeat top;
    background-size: cover;
    margin-top: 0;
  }
  .safety__system-content {
    display: block;
  }
  .safety__system h2 {
    position: relative;
    z-index: 999;
    text-align: left;
    padding-bottom: 0;
    background: url(/_assets/img/ir/ico_ir-strategy.svg) no-repeat left 22px;
    padding-left: 1.5rem;
    background-size: 5px;
    margin-bottom: 2rem;
    padding-top: 20px;
  }
  .safety__system-statement {
    width: 100%;
  }
  .safety__system-pic {
    width: 100%;
  }
  .safety__contents {
    display: block;
    margin-bottom: 2rem;
  }
  .safety__contents .border::before {
    display: none;
  }
  .safety__contents .border::after {
    display: none;
  }
  .safety__contents li {
    width: 100%;
    font-size: 1rem;
  }
  .safety__contents li::before {
    display: none;
  }
  .safety__contents li.parent::before {
    display: none;
  }
  .safety__management-sqf-txt {
    width: 64%;
  }
  .safety__agree p {
    margin-bottom: 1rem;
  }
  .safety__trasability-img {
    width: 92vw;
  }
  .safety__trasability-system {
    display: block;
  }
  .safety__trasability-btn {
    width: 100%;
    height: 150px;
    margin-bottom: 20px;
  }
  .safety__trasability-btn p {
    font-size: 1rem;
    margin: 0;
  }
  .safety__trasability-contact p {
    margin: 0;
  }
  .safety__assurance-contact-wrap {
    display: block;
  }
  .safety__assurance-contact p {
    text-align: center;
  }
  .safety__assurance-contact-btn {
    margin: auto;
    padding-bottom: 20px;
  }
  .safety__sqf-about {
    display: block;
  }
  .safety__sqf-list-content {
    display: block;
    margin-bottom: 2.5rem;
  }
  .safety__sqf-list-content ul {
    width: 100%;
  }
  .safety__sqf-list-content ul.list {
    margin-bottom: 0;
  }
  .safety__sqf-txt {
    width: 100%;
  }
  .safety__sqf-img {
    width: 40vw;
    margin: auto;
  }
  .safety__sqf-map {
    width: 92vw;
    margin: 0 auto 40px auto;
  }
  .safety__sqf-map .anchor-link {
    width: auto;
    top: 0;
  }
  .safety__sqf-caution {
    padding-left: 2.5rem;
  }
  .safety__sqf-caution li {
    font-size: 0.875rem;
  }
  .product__list-wrap {
    display: block;
  }
  .product__list-brand {
    width: 100%;
    margin-bottom: 1.5rem;
  }
  .product__list-brand div img {
    width: 64vw;
  }
  .product__list-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 100%;
    height: auto;
  }
  .product__list-map {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    position: initial;
    width: 100%;
    margin-bottom: 2rem;
  }
  .product__list-area01 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
  }
  .product__list-area01 p {
    margin-bottom: 0;
  }
  .product__list-area02 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    margin-bottom: 2rem;
  }
  .product__list-area02 p {
    margin-bottom: 0;
  }
  .product__list-category {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
  }
  .product__list-category figure {
    width: 44vw;
  }
  .product__list-category figure img {
    height: 28vw;
  }
  .content__furusato .main{
    margin-bottom: 5.3333vw;
  }
  .content__furusato .portal{
    width: 100%;
    background-color: #f5f5f5;
    margin-bottom: 10.6666vw;
    padding: 5.3333vw;
  }
  .content__furusato .portal h2{
    font-size: 1.125rem;
    padding-bottom: 0;
    margin-bottom: 5.3333vw;
    background-image: none;
    text-align: center;
  }
  .content__furusato .portal_list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .content__furusato .portal_list li{
    margin: 0 1.3333vw 1.3333vw 0;
    width: 40vw;
  }
  .content__furusato .portal_list li:nth-child(2n){
    margin-right: 0;
  }
  .content__furusato .portal_list li:nth-last-child(-n+2){
    margin-bottom: 0;
  }
  .content__furusato .portal_list img{
    width: 40vw;
  }
  .content__furusato .product{
    width: 100%;
    padding: 5.3333vw 0;
    margin-bottom: 10.6666vw;
  }
  .content__furusato .card{
    padding:0 5.3333vw;
    margin-bottom: 6.25vw;
  }
  .content__furusato .slider-for .slide-arrowL {
    width: 8vw !important;
  }
  .content__furusato .slider-for .next-arrowL,
  .content__furusato .slider-for .prev-arrowL {
    top: 43.75vw !important;
  }
  .content__furusato .slider-for .next-arrowL {
    right: 1vw;
  }
  .content__furusato .slider-for .prev-arrowL {
    left: 1vw;
  }
  .content__furusato .card h3{
    font-size: 1.125rem;
    margin-bottom: 5.3333vw;
  }
  .content__furusato .card ul{
    display: block;
  }
  .content__furusato .card .img{
    width: 100%;
    margin-bottom: 5.3333vw
  }
  .content__furusato .card .detail{
    width: 100%;
  }
  .content__furusato .card .text {
    font-size: 0.875rem;
    margin-bottom: 5.3333vw;
  }
  .content__furusato .card .d-text {
    font-size: 1.125rem;
    margin-bottom: 5.3333vw;
    text-align: center;
  }
  .content__furusato .donation-btn a{
    width:100%;
    text-align: center;
    font-size: 1rem;
    padding:8px 40px 8px 72px;
    background: url(/_assets/img/common/ico_shop_white.svg) no-repeat #e6001b;
    background-size: 36px;
    background-position: left 24px center;
  }
  .content__furusato .donation-btn a:hover{
    background: url(/_assets/img/common/ico_shop_red.svg) no-repeat #ffffff;
    background-size: 36px;
    background-position: left 24px center;
  }
  .content__furusato .slider-nav {
    display: none;
  }
  .content__furusato .area {
    margin-bottom: 10.6666vw;
  }
  .content__furusato .area h3 {
    font-size: 1.125rem;
    margin-bottom: 5.3333vw;
  }
  .content__furusato .site_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 10.6666vw;
  }
  .content__furusato .site_list li:nth-child(odd) {
    width: calc((100% / 1.8) - 13px);
  }
   .content__furusato .site_list li:nth-child(even) {
    width: calc((100% / 2.2) - 13px);
  }
  .content__furusato .btn__large {
    margin-bottom: 10.6666vw;
  }
  .furusato__contact {
    display: block;
    min-height: auto;
    padding: 1.5rem;
    margin: -1.5rem 0 4rem 0;
  }
  .furusato__contact h3 {
    font-size: 1.25rem;
  }
  .furusato__contact p {
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 0;
    line-height: 1.6;
  }
  .furusato__contact ul.caution {
    padding-right: 0;
    margin-bottom: 5.3333vw;
  }
  .content__furusato .product__contact-btn {
    padding-top: 0;
  }
  .ir__news {
    margin-bottom: 40px;
  }
  .ir__news h2 {
    font-size: 1.375rem;
    margin-bottom: 0;
  }
  .ir__news dl {
    display: block;
    text-align: left;
  }
  .ir__news dt {
    width: auto;
    margin-bottom: 1rem;
  }
  .ir__news dt.information__cat01::before, .ir__news dt.information__cat02::before, .ir__news dt.information__cat03::before, .ir__news dt.information__cat04::before, .ir__news dt.information__cat05::before, .ir__news dt.information__cat06::before, .ir__news dt.information__cat07::before, .ir__news dt.information__cat08::before {
    margin-right: 20px;
  }
  .ir__news dd {
    width: auto;
    font-size: 0.875rem;
    padding-right: 0;
  }
  .ir__news .btn__midium {
    display: inline-block;
    margin-bottom: 0;
  }
  .ir__information dl {
    display: block;
  }
  .ir__information dt {
    width: 100%;
    padding-left: 0;
    font-size: 0.875rem;
  }
  .ir__information dd {
    font-size: 0.875rem;
  }
  .ir__document {
    display: block;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
    padding: 1rem;
    margin-bottom: 20px;
  }
  .ir__document-title {
    width: auto;
  }
  .ir__document h2 {
    text-align: left;
    display: block;
    font-size: 1.125rem;
  }
  .ir__document .btn__download {
    margin-bottom: 0;
  }
  .ir__document .btn__download a {
    min-width: 64vw;
    font-size: 0.875rem;
  }
  .ir__document ul {
    margin-left: 0;
  }
  .ir__division {
    margin-bottom: 40px;
  }
  .ir__division-bg {
    min-width: auto;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: url(/_assets/img/ir/bg_division_sp.svg) no-repeat bottom;
    background-size: cover;
    margin-top: 0;
    height: 100%;
  }
  .ir__division-content {
    display: block;
    padding-top: 40%;
  }
  .ir__division h2 {
    position: relative;
    z-index: 999;
    text-align: left;
    padding-bottom: 0;
    background: url(/_assets/img/ir/ico_ir-strategy.svg) no-repeat left 22px;
    padding-left: 1.5rem;
    background-size: 5px;
    margin-bottom: 2rem;
    padding-top: 20px;
    letter-spacing: 0.25rem;
  }
  .ir__division-btn {
    padding-bottom: 40px;
  }
  .ir__division .btn__large {
    z-index: 999;
    display: table;
    margin: 30px auto 0 auto;
  }
  .ir__division-message {
    width: 100%;
    height: 143px;
    margin-bottom: 20px;
    padding: 2rem 0 0 1rem;
    position: relative;
    border: 1px #d9d9d9 solid;
    border-radius: 0 0 20px 0;
    background: url(/_assets/img/ir/pic_president_sp.jpg) no-repeat right #fff;
    background-size: contain;
    -webkit-transition: all 0.2sease-in-out;
    transition: all 0.2sease-in-out;
}  
.ir__division-message::after {
  bottom: 20px;
}
  .ir__division-message a {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }
  .ir__division-message p {
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: 0.1rem;
    padding-top: 0;
    left: 4%;
    position: absolute;
  }
  .ir__division-message p.name {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
  .ir__division-strategy {
    width: 100%;
    height: 133px;
    border-radius: 0 0 20px 0;
    margin-bottom: 20px;
  }
  .ir__division-strategy::before {
    position: absolute;
    left: 30px;
    content: "";
    width: 60px;
    height: 58px;
    background-image: url(/_assets/img/top/ico_about01_blue.svg);
    background-position: initial;
    background-size: 100%;
  }
  .ir__division-strategy.bg-change::before {
    position: absolute;
    left: 30px;
    content: "";
    width: 60px;
    height: 58px;
    background-image: url(/_assets/img/top/ico_about01_wh.svg);
    background-position: initial;
    background-size: 100%;
  }
  .ir__division-strategy p {
    font-size: 1.125rem;
    padding-top: 0;
    margin: 0;
  }

  .ir__division-investors {
    width: 100%;
    height: 133px;
    border-radius: 0 0 20px 0;
  }
  .ir__division-investors::before {
    position: absolute;
    left: 30px;
    content: "";
    width: 60px;
    height: 58px;
    background-image: url(/_assets/img/top/ico_ir03.svg);
    background-position: initial;
    background-size: 100%;
  }
  .ir__division-investors.bg-change::before {
    position: absolute;
    left: 30px;
    content: "";
    width: 60px;
    height: 58px;
    background-image: url(/_assets/img/top/ico_ir03_wh.svg);
    background-position: initial;
    background-size: 100%;
  }
  .ir__division-investors p {
    font-size: 1.125rem;
    padding-top: 0;
    margin: 0;
  }
  .ir-top__box-wrapper{
    margin-top: 0;
  }
  .ir-top__box-wrapper .ir-top__content ul{
    margin: 0 0 20px 0;
    min-height: auto;
  }
  .ir-top__box-wrapper .ir-top__content .btn__small{
    text-align: left;
    margin: 0 0;
  }
  
  .ir__contents-wrap {
    display: block;
  }
  .ir__contents-finance {
    margin-bottom: 40px;
  }
  .ir__contents-finance h2 {
    font-size: 1.125rem;
    line-height: 50px;
  }
  .ir__contents-investors {
    margin-bottom: 40px;
  }
  .ir__contents-investors h2 {
    font-size: 1.125rem;
    line-height: 50px;
    letter-spacing: 0.1rem;
  }
  .ir__contents-library {
    margin-bottom: 40px;
  }
  .ir__contents-library .btn__large {
    position: absolute;
    top: 8px;
    right: 8px;
  }
  .ir__contents-library .btn__large a {
    min-width: 162px;
    min-height: 34px;
    line-height: 34px;
    font-size: 0.875rem;
    padding: 0;
    background-position: right 10px center;
  }
  .ir__contents-library h2 {
    width: 100%;
    font-size: 1.125rem;
    line-height: 50px;
    letter-spacing: 0.1rem;
  }
  .ir__contents-library ul {
    display: block;
  }
  .ir__contents-library ul li {
    margin-bottom: 1.5rem;
  }
  .ir__contents li {
    width: 100%;
    font-size: 1rem;
    line-height: 62px;
  }
  .ir__contents-info {
    margin-bottom: 40px;
  }
  .ir__contents-info h2 {
    width: 100%;
    font-size: 1.125rem;
    line-height: 50px;
    letter-spacing: 0.1rem;
  }
  .ir__contents-info ul {
    display: block;
  }
  .ir__contents-info ul li {
    margin-bottom: 1.5rem;
  }
  .ir__contents li {
    width: 100%;
    font-size: 1rem;
    line-height: 62px;
  }
  .ir__contents-other {
    margin-bottom: 40px;
  }
  .ir__contents-other h2 {
    width: 100%;
    font-size: 1.125rem;
    line-height: 50px;
    letter-spacing: 0.1rem;
  }
  .ir__contents-other ul {
    display: block;
  }
  .ir__contents-other ul li {
    margin-bottom: 1.5rem;
  }
  .ir__contents li {
    width: 100%;
    font-size: 1rem;
    line-height: 62px;
  }
  .ir__contact {
    display: block;
    height: auto;
    padding: 20px 0;
  }
  .ir__contact p {
    font-size: 1rem;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
  }
  .ir__contact-btn {
    width: 80vw;
    margin: auto;
  }
  .ir__contact-btn a {
    width: 80vw;
    min-height: auto;
    font-size: 1.125rem;
    background-position: left 80px center;
  }
  .ir__investors-about {
    position: relative;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 2.5rem;
  }
  .ir__investors-about p {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
  }
  .ir__investors-about div {
    orphans: 1;
    width: 100%;
    margin-bottom: 1rem;
  }
  .ir__investors-about .two-photo {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .ir__investors-about .two-photo img {
    width: 50%;
  }
  .ir__investors-about .two-photo p {
    font-size: 0.875rem;
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 0;
    text-align: left;
  }
  .ir__investors-about .two-photo:first-child {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .ir__investors-about .two-photo:first-child p {
    text-align: left;
  }
  .ir__investors-nav {
    margin-bottom: 0;
  }
  .ir__investors-nav ul {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2vw;
  }
  .ir__investors-nav li {
    width: 48%;
    background: url(/_assets/img/common/ico_arrow.svg) no-repeat center bottom 16px;
    background-size: 16px;
  }
  .ir__investors-nav li a {
    display: block;
    min-height: auto;
    padding: 1.5rem 0 3rem 0;
  }
  .ir__investors-merit {
    margin-bottom: 4rem;
  }
  .ir__investors-merit ul {
    list-style: none;
    margin-bottom: 2.5rem;
    padding-left: 1.5rem;
  }
  .ir__investors-merit li {
    position: relative;
    line-height: 2;
    margin-bottom: 0.875rem;
    counter-increment: my-counter;
    list-style: decimal;
  }
  .ir__library {
    margin-bottom: 30px;
    padding: 1rem;
    border-radius: 0 0 20px 0;
  }
  .ir__library h2 {
    display: block;
    font-size: 1.125rem;
  }
  .ir__library-menu {
    margin-bottom: 1.5rem;
  }
  .ir__library-menu ul {
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .ir__library-menu ul li {
    display: table;
    width: 48%;
  }
  .ir__library-menu ul li a {
    font-size: 0.925rem;
    margin-right: 0;
  }
  .ir__library-download ul li {
    display: block;
    font-size: 0.875rem;
    margin-bottom: 1rem;
  }
  .ir__library-download ul li:nth-child(2) {
    margin-top: 0;
  }
  .ir__library-download ul li:last-child {
    margin-bottom: 0;
  }
  .ir__library-download label {
    display: block;
    padding-left: 30px;
  }
  .ir__library-download span {
    position: absolute;
  }
  .ir__link ul {
    display: block;
  }
  .ir__link ul li {
    width: 100%;
    font-size: 1rem;
  }
  .ir__memo-table table {
    width: auto;
  }
  .ir__memo-table table tbody th.wide {
    min-width: 200px;
  }
  .ir__memo-table table td.wide {
    min-width: 400px;
  }
  .ir__memo-table table td.wide span {
    font-weight: 600;
  }
  .ir__management-policy-message {
    font-size: 1.5rem;
    margin-bottom: 40px;
  }
  .ir__management-policy-message p {
    margin-bottom: 0;
    line-height: 1.6;
  }
  .ir__management-policy-message p:first-child {
    width: 64vw;
    padding: 1rem;
  }
  .ir__management-policy-message img {
    width: 32vw;
  }
  .ir__strategy-fig {
    width: 64vw;
  }
  .new-report {
    display: block;
  }
  .report-pic {
    width: 50vw;
    margin: auto;
    margin-bottom: 30px;
  }
  .sustainability__policy {
    margin-bottom: 40px;
  }
  .sustainability__policy-content {
    display: block;
  }
  .sustainability__policy-btn {
    display: block;
    width: auto;
    padding-bottom: 40px;
  }
  .sustainability__policy .btn__large {
    z-index: 999;
    display: table;
    margin: 30px auto 0 auto;
  }
  .sustainability__policy-message {
    width: 100%;
    height: 143px;
    margin-bottom: 20px;
    padding: 1.5rem 0 0 1rem;
  }
  .sustainability__policy-message a {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }
  .sustainability__policy-message p {
    font-size: 1.125rem;
    font-weight: 500;
    margin-bottom: 1rem;
    letter-spacing: 0.1rem;
    line-height: 1.6;
  }
  .sustainability__policy-message p.name {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
  .sustainability__policy-materiality {
    width: 100%;
    height: 133px;
    border-radius: 0 0 20px 0;
  }
  .sustainability__policy-materiality::before {
    left: 30px;
    width: 36px;
    height: 48px;
    background-position: initial;
    background-size: 100%;
  }
  .sustainability__policy-materiality.bg-change::before {
    left: 30px;
    width: 36px;
    height: 48px;
    background-position: initial;
    background-size: 100%;
  }
  .sustainability__policy-materiality p {
    font-size: 1.125rem;
    padding-top: 0;
    margin: 0;
  }
  .sustainability__environment-index {
    position: relative;
    min-height: auto;
    margin-bottom: 200px;
  }
  .sustainability__environment-index h2 {
    font-size: 1.25rem;
    text-align: left;
  }
  .sustainability__environment-index h2 img {
    width: 70%;
  }
  .sustainability__environment-index h2 span {
    padding-top: 1rem;
  }
  .sustainability__environment-index-bg {
    z-index: 1;
    position: absolute;
    width: 100vw;
    min-width: auto;
    height: 100%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: url(/_assets/img/sustainability/bg_environment_sp.jpg) no-repeat top;
    background-size: 100%;
    background-position: 0 60px;
    margin-top: 0;
  }
  .sustainability__environment-index ul {
    position: relative;
    top: 120px;
  }
  .sustainability__environment-index li {
    width: 100%;
    font-size: 1rem;
    padding: 1rem 0 1rem 2.5rem;
    line-height: 1.6;
  }
  .sustainability__social-index {
    position: relative;
    min-height: auto;
    margin-bottom: 240px;
  }
  .sustainability__social-index h2 {
    font-size: 1.25rem;
    text-align: right;
  }
  .sustainability__social-index h2 img {
    margin-left: auto;
    width: 50%;
  }
  .sustainability__social-index h2 span {
    padding-top: 1rem;
  }
  .sustainability__social-index-bg {
    z-index: 1;
    position: absolute;
    width: 100vw;
    min-width: auto;
    height: 100%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: url(/_assets/img/sustainability/bg_social_sp.jpg) no-repeat top;
    background-size: 100%;
    background-position: 0 60px;
    margin-top: 0;
  }
  .sustainability__social-index ul {
    position: relative;
    top: 120px;
  }
  .sustainability__social-index li {
    width: 100%;
    font-size: 1rem;
    padding: 1rem 0 1rem 2.5rem;
    line-height: 1.6;
  }
  .sustainability__governance-index {
    min-height: auto;
    margin-bottom: 160px;
  }
  .sustainability__governance-index h2 {
    font-size: 1.25rem;
    text-align: left;
  }
  .sustainability__governance-index h2 img {
    width: 70%;
  }
  .sustainability__governance-index h2 span {
    padding-top: 1rem;
  }
  .sustainability__governance-index-bg {
    z-index: 1;
    position: absolute;
    width: 100vw;
    min-width: auto;
    height: 100%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: url(/_assets/img/sustainability/bg_governance_sp.jpg) no-repeat top;
    background-size: 100%;
    background-position: 0 60px;
    margin-top: 0;
  }
  .sustainability__governance-index ul {
    position: relative;
    top: 120px;
  }
  .sustainability__governance-index li {
    width: 100%;
    font-size: 1rem;
    padding: 1rem 0 1rem 2.5rem;
    line-height: 1.6;
  }
  .sustainability__esg-data-box {
    width: 100%;
    height: 133px;
    margin-bottom: 80px;
  }
  .sustainability__esg-data-box p {
    margin-bottom: 0;
    font-size: 1.25rem;
  }
  .sustainability__news {
    margin-bottom: 40px;
  }
  .sustainability__news h2 {
    font-size: 1.375rem;
    margin-bottom: 0;
  }
  .sustainability__news dl {
    display: block;
    text-align: left;
  }
  .sustainability__news dt {
    width: auto;
    margin-bottom: 1rem;
  }
  .sustainability__news dt::before {
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    margin-right: 0;
  }
  .sustainability__news dt.information__cat01::before, .sustainability__news dt.information__cat02::before, .sustainability__news dt.information__cat03::before, .sustainability__news dt.information__cat04::before, .sustainability__news dt.information__cat05::before, .sustainability__news dt.information__cat06::before, .sustainability__news dt.information__cat07::before, .sustainability__news dt.information__cat08::before {
    margin-right: 20px;
  }
  .sustainability__news dd {
    width: auto;
    font-size: 0.875rem;
  }
  .sustainability__news .btn__midium {
    display: inline-block;
    margin-bottom: 0;
  }
  .sustainability__commitment {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .sustainability__commitment p {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: auto;
    margin-top: 0;
  }
  .sustainability__commitment div {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    margin-bottom: 2.5rem;
  }
  .sustainability__commitment-name {
    margin-top: 3.5rem;
    margin-bottom: 5rem;
    text-align: right;
  }
  .sustainability__commitment-name p {
    margin-bottom: 1rem;
  }
  .sustainability__commitment-name div {
    display: inline-block;
    margin-left: auto;
  }
  .sustainability__materiality {
    margin-bottom: 3.5rem;
  }
  .sustainability__materiality table {
    min-width: 800px;
  }
  .sustainability__materiality .vertical {
    width: 30px;
    padding: 1rem 0 0 0;
  }
  .sustainability__materiality .theme01 .theme {
    width: 100px;
  }
  .sustainability__materiality .theme01 .aim {
    width: 100px;
  }
  .sustainability__materiality .theme01 .sdgs {
    width: 100px;
  }
  .sustainability__materiality .theme01 .division {
    width: 300px;
  }
  .sustainability__materiality .theme02 .theme {
    width: 100px;
  }
  .sustainability__materiality .theme02 .aim {
    width: 100px;
  }
  .sustainability__materiality .theme02 .sdgs {
    width: 100px;
  }
  .sustainability__materiality .theme02 .division {
    width: 300px;
  }
  .sustainability__materiality .theme03 .theme {
    width: 100px;
  }
  .sustainability__materiality .theme03 .aim {
    width: 100px;
  }
  .sustainability__materiality .theme03 .sdgs {
    width: 100px;
  }
  .sustainability__materiality .theme03 .division {
    width: 300px;
  }
  .sustainability__environment .two-column li {
    width: 48%;
  }
  .sustainability__environment table {
    margin-bottom: 24px;
  }
  .sustainability__environment table .theme {
    width: 20%;
    white-space: nowrap;
  }
  .sustainability__environment table .issue {
    width: 80%;
  }
  .sustainability__environment table .icon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 8px;
  }
  .sustainability__environment table .icon img {
    width: 40px;
  }
  .sustainability__sociality-health-img {
    width: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .sustainability__sociality-health-img img {
    width: 24vw;
  }
  .sustainability__sociality-health-img p {
    width: 64vw;
    line-height: 1.6;
  }
  .sustainability__sociality .two-column li {
    width: 48%;
  }
  .sustainability__sociality table {
    margin-bottom: 24px;
  }
  .sustainability__sociality table .theme {
    width: 20%;
    white-space: nowrap;
  }
  .sustainability__sociality table .issue {
    width: 80%;
  }
  .sustainability__sociality table .icon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 8px;
  }
  .sustainability__sociality table .icon img {
    width: 40px;
  }
  .sustainability__policy-pic img {
    width: 100%;
  }
  .sustainability__governance-policy {
    margin-bottom: 20px;
  }
  .sustainability__governance-policy .date {
    padding-left: 24vw;
  }
  .sustainability__governance-policy h3 {
    font-size: 1rem;
    line-height: 1.6;
    padding: 1.5rem 2.5rem 1.5rem 1.5rem;
    margin-bottom: 1rem;
  }
  .sustainability__governance-policy h3::after {
    width: 18px;
    height: 18px;
    top: 28px;
    right: 16px;
    background: url(/_assets/img/common/ico_acc_open.svg) no-repeat right;
    background-size: 18px;
  }
  .sustainability__governance-policy h3.long::after {
    top: 42px;
  }
  .sustainability__governance-policy h3.selected::after {
    background: url(/_assets/img/common/ico_acc_close.svg) no-repeat right;
    background-size: 18px;
  }
  .sustainability__governance-compliance {
    display: block;
  }
  .sustainability__governance-compliance div:first-child {
    width: 40vw;
    margin: 0 auto 40px auto;
  }
  .sustainability__governance-compliance div:nth-child(2) {
    width: auto;
  }
  .sustainability__governance-compliance img {
    width: 40vw;
    margin: auto;
  }
  .sustainability__governance .matrix {
    min-width: 1000px;
  }
  .sustainability__governance .risk {
    min-width: 800px;
  }
  .sustainability__governance .risk .after {
    background: url(/_assets/img/sustainability/ico_after-arrow.svg) no-repeat center #fff;
    border: none;
    width: 80px;
  }
  .sustainability__governance table {
    margin-bottom: 40px;
  }
  .sustainability__governance table a {
    text-decoration: underline;
    color: #1F70C7;
  }
  .sustainability__governance table span {
    display: block;
    font-weight: 500;
    margin-bottom: 1rem;
  }
  .sustainability__governance table .theme {
    width: 160px;
    background: #7eacce;
    font-weight: 500;
  }
  .sustainability__governance table .issue {
    width: 680px;
    background: #edf3f8;
    font-weight: 500;
    text-align: left;
  }
  .sustainability__governance table .bg-wh {
    background: #fff;
  }
  .sustainability__governance table .no-bb {
    border-bottom: none;
  }
  .sustainability__governance table .no-bt {
    border-top: none;
  }
  .sustainability__governance table .bg {
    background: #fafafa;
  }
  .sustainability__governance table ul {
    margin-bottom: 0 !important;
  }
  .sustainability__governance table .icon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 16px;
  }
  .sustainability__governance table .icon img {
    width: 80px;
  }
  .sustainability__governance table .space {
    margin-bottom: 2rem !important;
  }
  .sustainability__esg-data-energy th,
  .sustainability__esg-data-energy td {
    padding: 0.5rem;
  }
  .sustainability__esg-data-energy thead span {
    font-size: 0.75rem;
  }
  .sustainability__esg-data-sociality th,
  .sustainability__esg-data-sociality td {
    padding: 0.5rem;
  }
  .sustainability__esg-data-sociality thead th {
    width: auto;
    white-space: initial;
  }
  .sustainability__esg-data-sociality thead span {
    font-size: 0.75rem;
  }
  .sustainability__esg-data-sociality tbody th {
    width: auto;
    white-space: initial;
  }
  .sustainability__esg-data-sociality tbody th span {
    font-size: 0.75rem;
  }
  .sustainability__esg-data-fig {
    margin-bottom: 64px;
  }
  .sustainability__esg-data-fig img {
    margin: auto;
  }
  .sustainability__esg-data .note {
    font-size: 0.75rem;
  }
  .recruit__nav {
    height: auto;
    min-width: auto;
  }
  .recruit__nav ul {
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 1rem 0;
  }
  .recruit__nav li {
    width: 33%;
    font-size: 0.875rem;
    text-align: center;
    padding: 0.2rem 0;
  }
  .recruit__kv {
    width: 100vw;
    background: url(/_assets/img/recruit/bg_recruit_sp.svg) no-repeat top center;
    background-size: contain;
    min-height: 848px;
    min-width: auto;
  }
  .recruit__kv-content {
    width: 92vw;
    margin: auto;
    padding-top: 88px;
  }
  .recruit__kv-content h1 {
    margin-bottom: 24px;
  }
  .recruit__kv-content h1 img {
    width: 52vw;
    padding-left: 4vw;
  }
  .recruit__kv-content p {
    padding-left: 0;
    font-size: 0.875rem;
  }
  .recruit__index {
    display: block;
    margin-top: -444px;
    margin-bottom: 80px;
  }
  .recruit__index div p {
    width: 92%;
    margin-top: -32px;
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 40px;
    padding-left: 1.5rem;
  }
  .recruit__index div p::after {
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    background-size: 24px;
  }
  .recruit__index div img {
    width: 100%;
    height: 140px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .recruit__index div:first-child {
    width: 100%;
    margin-bottom: 24px;
  }
  .recruit__index div:nth-child(2),
  .recruit__index div:nth-child(3),
  .recruit__index div:nth-child(4),
  .recruit__index div:nth-child(5),
  .recruit__index div:nth-child(6) {
    width: 100%;
    margin-bottom: 24px;
  }
  .recruit__entry {
    display: block;
    min-height: 440px;
    margin-bottom: -60px;
    min-width: auto;
  }
  .recruit__entry-content {
    display: block;
    width: 92vw;
    margin: auto;
    padding: 48px 0 48px 0;
    background: url(/_assets/img/recruit/bg_entry.svg) no-repeat bottom;
    background-size: contain;
  }
  .recruit__entry-box {
    position: relative;
    width: 92vw;
    height: 146px;
    margin-bottom: 24px;
    border-radius: 0 0 24px 0;
  }
  .recruit__entry-box-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 0;
  }
  .recruit__entry-box div:first-child {
    width: 44vw;
  }
  .recruit__entry-box div:first-child img {
    height: 146px;
  }
  .recruit__entry-box div:nth-child(2) p {
    min-height: 92px;
    font-size: 1rem;
    line-height: 1.6;
  }
  .recruit__entry-btn {
    position: absolute;
    background: #e6001b;
    border-radius: 999px;
    margin: auto;
    display: block;
    width: 40vw;
    line-height: 30px;
    font-size: 0.75rem;
  }
  .recruit__entry-btn::after {
    top: 10px;
    right: 8px;
    width: 10px;
    height: 10px;
    background: url(/_assets/img/common/ico_btn_arrow_white.svg) no-repeat center;
    background-size: 10px;
  }
  .recruit__about {
    margin-bottom: 80px;
  }
  .recruit__about-movie {
    width: 100%;
  }

  .brand__movie {
    width: 100%;
  }

  .recruit__about-vision {
    font-size: 1.25rem !important;
    padding-bottom: 2rem;
    letter-spacing: 0.1em;
  }
  .recruit__about-txt {
    text-align: left !important;
    margin-bottom: 2.5rem !important;
  }
  .recruit__about-policy {
    display: block;
    width: auto;
  }
  .recruit__about-policy div {
    width: 92vw;
  }
  .recruit__about-policy div img {
    margin: 0 auto;
    width: 64vw;
  }
  .recruit__about-policy div h3 {
    font-size: 1.125rem;
    padding-bottom: 0;
  }
  .recruit__about-data ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 4vw;
  }
  .recruit__about-data ul li {
    width: 44vw;
  }
  .recruit__about-modal-close {
    position: absolute;
    z-index: 9999;
    right: 0;
    top: -40px;
    color: #fff;
    cursor: pointer;
  }
  .recruit__about-modal-content {
    width: 92vw;
    margin: 160px auto;
  }
  .recruit__about-modal-content video {
    width: 92vw;
  }


  .brand__movie-modal-close {
    position: absolute;
    z-index: 9999;
    right: 0;
    top: -40px;
    color: #fff;
    cursor: pointer;
  }
  .brand__movie-modal-content {
    width: 92vw;
    margin: 160px auto;
  }
  .brand__movie-modal-content video {
    width: 92vw;
  }

  .recruit__special {
    margin-bottom: 80px;
  }
  .recruit__special h2 {
    font-size: 1.25rem;
    line-height: 1.6;
    margin-bottom: 1rem;
  }
  .recruit__special h2 span {
    font-size: 1rem;
  }
  .recruit__special-movie img {
    width: 92vw;
    margin: 0 auto 48px auto;
  }
  .recruit__special-member {
    display: block;
    width: 92vw;
    margin-bottom: 24px;
    padding: 1rem;
  }
  .recruit__special-member div:first-child {
    width: 100%;
  }
  .recruit__special-member div:first-child img {
    border-radius: 8px;
  }
  .recruit__special-member div:nth-child(2) {
    width: 100%;
  }
  .recruit__special-member div:nth-child(2) h3 {
    font-size: 1.5rem;
  }
  .recruit__special-member p {
    font-size: 0.925rem;
    margin-bottom: 1rem;
  }
  .recruit__special-member p span {
    font-size: 0.75rem;
  }
  .recruit__special-member-modal h3 {
    font-size: 1.5rem;
    margin-bottom: 0;
  }
  .recruit__special-member-modal h4 {
    color: #1c76de;
    font-size: 1.25rem;
  }
  .recruit__special-member-modal-head {
    margin-bottom: 40px;
  }
  .recruit__special-member-modal-head img {
    border-radius: 8px 8px 0 0;
  }
  .recruit__special-member-modal-title {
    position: relative;
    width: 100%;
    min-height: auto;
    top: 0;
    right: 0;
    padding: 1.5rem 1.5rem 2.5rem 1.5rem;
    border-radius: 0;
  }
  .recruit__special-member-modal-title.no02 {
    border-radius: 0;
  }
  .recruit__special-member-modal-title.no03 {
    width: auto;
    border-radius: 0;
  }
  .recruit__special-member-modal-title p {
    font-size: 0.925rem;
    margin-bottom: 0;
  }
  .recruit__special-member-modal-title p span {
    font-size: 0.75rem;
    margin-top: 1rem;
  }
  .recruit__special-member-modal-control {
    padding: 0 1rem 2.5rem 1rem;
  }
  .recruit__special-member-modal-control ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .recruit__special-member-modal-control .modal-prev {
    min-width: 40vw;
    padding: 1rem 1rem 1rem 2rem;
    background: url(/_assets/img/common/ico_arrow_prev.svg) no-repeat center left;
    background-size: 12px;
    background-position: 12px;
    font-size: 0.875rem;
  }
  .recruit__special-member-modal-control .modal-prev span {
    font-size: 0.75rem;
  }
  .recruit__special-member-modal-control .modal-close {
    margin: 32px auto 0 auto;
    padding-left: 16px;
    background-size: 12px;
    font-size: 0.875rem;
  }
  .recruit__special-member-modal-control .modal-next {
    min-width: 40vw;
    padding: 1rem 2rem 1rem 1rem;
    background: url(/_assets/img/common/ico_arrow_next.svg) no-repeat center right 12px;
    font-size: 0.875rem;
    background-size: 12px;
  }
  .recruit__special-member-modal-control .modal-next span {
    display: block;
    font-size: 0.875rem;
  }
  .recruit__special-member-modal section {
    margin-bottom: 40px;
    padding: 0 1.5rem;
  }
  .recruit__special-modal-close {
    position: absolute;
    z-index: 9999;
    right: 0;
    top: -40px;
    color: #fff;
    cursor: pointer;
  }
  .recruit__special-modal-content {
    width: 92vw;
    margin: 160px auto;
  }
  .recruit__special-modal-content video {
    width: 92vw;
  }
  .recruit__info {
    margin-bottom: 80px;
  }
  .recruit__info-flow {
    margin-bottom: 24px;
  }
  .recruit__info-flow img {
    width: 100%;
  }
  .recruit__info-entry {
    width: 320px;
    margin: auto;
  }
  .recruit__info table th {
    display: block;
    white-space: nowrap;
    text-align: left;
  }
  .recruit__info table th.head {
    background: #e0e0e0;
    font-weight: 500;
  }
  .recruit__info table td {
    display: block;
  }
  .recruit__info table td span {
    display: block;
  }
  .recruit__work-flow {
    width: 92vw;
  }
  .recruit__work-member-wrap {
    display: block;
    margin-top: 0;
  }
  .recruit__work-member {
    width: 92vw;
    margin-bottom: 32px;
    padding: 1rem;
  }
  .recruit__work-member a {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
  }
  .recruit__work-member-photo {
    width: 32vw;
  }
  .recruit__work-member-photo.cat01::before, .recruit__work-member-photo.cat02::before, .recruit__work-member-photo.cat03::before, .recruit__work-member-photo.cat04::before, .recruit__work-member-photo.cat05::before, .recruit__work-member-photo.cat06::before {
    width: 60px;
    height: 60px;
    top: -24px;
    left: -24px;
    background-size: 60px;
  }
  .recruit__work-member-photo.cat02::before {
    background-size: 60px;
  }
  .recruit__work-member-photo.cat03::before {
    background-size: 60px;
  }
  .recruit__work-member-photo.cat04::before {
    background-size: 60px;
  }
  .recruit__work-member-photo.cat05::before {
    background-size: 60px;
  }
  .recruit__work-member-photo.cat06::before {
    background-size: 60px;
  }
  .recruit__work-member-photo img {
    width: 32vw;
    border-radius: 8px;
  }
  .recruit__work-member-message {
    width: 48vw;
    padding: 0;
  }
  .recruit__work-member-message h4 {
    padding-top: 0;
    min-height: auto;
    margin-bottom: 1rem;
  }
  .recruit__work-member-message p {
    font-size: 0.75rem;
    margin-bottom: 0;
  }
  .recruit__work-member-message p span {
    font-size: 0.675rem;
  }
  .recruit__faq {
    margin-bottom: 80px;
  }
  .faq__category {
    margin-bottom: 32px;
  }
  .faq__category-btn {
    width: 30vw;
    height: 150px;
    margin-bottom: 20px;
  }
  .faq__category-btn::before {
    top: 20px;
    left: 36px;
    width: 16vw;
    height: 16vw;
  }
  .faq__category-btn:nth-child(2)::before {
    width: 16vw;
    height: 16vw;
    left: 40px;
  }
  .faq__category-btn:nth-child(3)::before {
    width: 16vw;
    height: 16vw;
    left: 40px;
  }
  .faq__category-btn::after {
    right: 8px;
    bottom: 8px;
    width: 16px;
    height: 16px;
    background-image: url(/_assets/img/common/ico_acc_open.svg);
    background-position: center bottom;
    background-size: 16px;
  }
  .faq__category-btn p {
    padding-top: 40px;
    font-size: 0.925rem;
    margin: 0;
  }
  .contact__step {
    margin-bottom: 2rem;
  }
  .contact__step li {
    white-space: nowrap;
    font-size: 0.625rem;
    padding: 8px 0px 8px 8px;
    margin: 0 0 0 0;
    line-height: 1.4;
  }
  .contact__step li span {
    font-size: 0.25rem;
  }
  .contact__step li::before {
    top: -62px;
    right: -80px;
    border-width: 90px 41px;
  }
  .contact__step li::after {
    top: -62px;
    right: -85px;
    border-width: 90px 41px;
  }
  .contact__step li:first-child {
    width: 22%;
  }
  .contact__step li:not(:first-child) {
    padding-left: 48px;
  }
  .contact__step li:last-child {
    width: 30%;
    padding-right: 0;
  }
  .contact__entry dd .sub {
    width: 100%;
  }
  .contact__entry dd .name {
    text-align: left;
    display: inline-block;
    width: 100%;
    margin-bottom: 0.5rem;
    padding-right: 1rem;
  }
  .contact__entry .wide {
    width: 100%;
  }
  .contact__entry .midium {
    width: 100%;
  }
  .contact__entry .short {
    width: 100%;
  }
  .contact__entry .entry-wrap {
    display: block;
  }
  .contact__wrap {
    display: block;
  }
  .contact__submit {
    margin: 0 auto 20px auto;
    min-height: auto;
    font-size: 0.825rem;
    line-height: 1.4;
    padding: 1rem 0;
    background-position: right 10px center;
    background-size: 12px;
  }
  .contact__back {
    margin: 0 auto 20px auto;
    font-size: 0.875rem;
    background-size: 12px;
  }

.contact_btn dl{
  flex-direction: column !important;
}
.contact_btn dt {
  padding-bottom: 10px;
}
.contact_btn dd {
  width: 100% !important;
  font-size: 0.875rem;
  text-align: justify;
  text-justify: inter-ideograph;
}


  .sitemap {
    display: block;
  }
  .sitemap__left {
    width: 100%;
  }
  .sitemap__left div {
    margin-bottom: 2rem;
  }
  .sitemap__right {
    width: 100%;
  }
  .sitemap__right div {
    margin-bottom: 2rem;
  }
}/*# sourceMappingURL=style.css.map */