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

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  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;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[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;
}

/* -----------------------------------------------
* Plugins エントリーポイント
-------------------------------------------------- */
/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
html,
input,
textarea,
select,
button {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
}

html {
  color: #161616;
  background: #fff;
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: break-word;
}

body {
  background: #fff;
  margin: 0;
}

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

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

p {
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
select,
textarea,
button {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

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

textarea {
  resize: vertical;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

main {
  display: block;
  margin-top: 90px;
}

#wrapper {
  position: relative;
}

#wrapper,
.outer-block {
  min-width: 1280px;
  overflow: hidden;
}

.inner-block {
  margin: 0 auto;
  position: relative;
}

dl, dt, dd {
  padding: 0;
  margin: 0;
}

.ib {
  display: inline-block;
}

@font-face {
  src: url(../font/NotoSansJP-Regular.otf) format("opentype");
  font-family: "Noto Sans JP";
  font-weight: 300;
  font-display: swap;
}
@font-face {
  src: url(../font/NotoSansJP-Medium.otf) format("opentype");
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-display: swap;
}
@font-face {
  src: url(../font/NotoSansJP-Bold.otf) format("opentype");
  font-family: "Noto Sans JP";
  font-weight: 700;
  font-display: swap;
}
.c-svg {
  display: inline-block;
  fill: currentColor;
  vertical-align: top;
}

.adv-area {
  overflow: hidden;
}

.anm-left {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s;
  transition: opacity 1s, visibility 1s, transform 1s, -webkit-transform 1s;
}

.is-fadein {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

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

.c-green {
  color: #009944;
}

.c-red {
  color: #FF0000;
}

.c-anchor {
  position: relative;
  top: -100px;
}

/* --------------------------------
c-header
----------------------------------- */
.c-header {
  position: fixed;
  top: 0;
  height: 90px;
  z-index: 999;
  width: 100%;
}
.c-header .inner-block {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  position: static;
}
.c-header .logo {
  max-width: 367px;
}
.c-header .c-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: 30px;
}
.c-header .c-menu a.has-child + .aco-btn {
  width: 80px;
}
.c-header .c-menu > li > .inn {
  font-weight: 500;
  padding: 0 18px 34px;
  position: relative;
  font-size: 14px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  position: relative;
}
.c-header .c-menu > li > .inn::after {
  background: transparent;
  content: "";
  height: 1px;
  width: calc(100% - 36px);
  position: absolute;
  top: 1.5em;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  pointer-events: none;
}
.c-header .c-menu > li > .inn.is-active {
  color: #009944;
}
.c-header .c-menu > li > .inn.is-active::after {
  background: #009944;
}
.c-header .c-menu > li .inn.has-child {
  cursor: pointer;
  position: relative;
}
.c-header .c-menu > li .inn.has-child::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  border-bottom: 3px solid #007946;
  border-right: 3px solid #007946;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 20px;
  margin: auto;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  pointer-events: none;
}
.c-header .c-menu .sub-menu-outer {
  background: #fff;
  position: absolute;
  top: 90px;
  left: 0;
  width: 100%;
  z-index: 991;
  padding: 11px 0;
}
.c-header .c-menu .sub-menu-outer .sub-menu {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: auto;
  padding-left: 196px;
  max-width: 1260px;
}
.c-header .c-menu .sub-menu-outer .sub-menu li:first-child {
  max-width: 142px;
  margin-right: 17px;
}
.c-header .c-menu .sub-menu-outer .sub-menu li:first-child .title {
  display: block;
  font-size: 18px;
  margin-bottom: 5px;
  letter-spacing: -0.05em;
}
.c-header .c-menu .sub-menu-outer .sub-menu li .inn {
  font-size: 16px;
  font-weight: 500;
  position: relative;
  padding: 0 16px 0 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-header .c-menu .sub-menu-outer .sub-menu li .inn::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  border-top: 3px solid #007946;
  border-right: 3px solid #007946;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.c-header .language-btn {
  position: absolute;
  top: -20px;
  right: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-header .language-btn a {
  display: block;
  font-size: 10px;
  border: 1px solid #707070;
  padding: 0px 3px;
}
.c-header .language-btn a + a {
  border-left: 0;
}
.c-header .language-btn a.current {
  background: #009944;
  color: #fff;
}
.c-header.en-page .c-menu > li > .inn {
  text-align: center;
}
.c-header.en-page .c-menu .sub-menu-outer .sub-menu li:first-child .title {
  white-space: nowrap;
  letter-spacing: 0;
}

.search-wrap {
  position: relative;
  max-width: 195px;
  margin: 5px 18px 0 20px;
  width: 100%;
}

.gsc-search-box {
  margin-bottom: 0;
  position: relative;
}

.gsc-search-box .gsc-input {
  background: none !important;
  -webkit-transition: none;
  transition: none;
  padding-right: 0 !important;
}
.gsc-search-box .gsc-input:-moz-placeholder-shown {
  color: #AAAAAA;
  font-size: 14px;
}
.gsc-search-box .gsc-input:-ms-input-placeholder {
  color: #AAAAAA;
  font-size: 14px;
}
.gsc-search-box .gsc-input:placeholder-shown {
  color: #AAAAAA;
  font-size: 14px;
}

.gsc-search-box .gsc-input .gsc-input-box {
  background-image: url(/img/common/ico_search.png);
  background-position: center left 10px;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  border-radius: 100px;
  border: 2px solid #707070;
  padding-left: 35px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transition-property: border, box-shadow;
  -webkit-transition-property: border, -webkit-box-shadow;
  transition-property: border, -webkit-box-shadow;
  transition-property: border, box-shadow;
  transition-property: border, box-shadow, -webkit-box-shadow;
  padding-top: 1px;
  padding-bottom: 2px;
}

.gsc-search-box .gsc-input .gsc-input-box-focus {
  border-color: #a1b9ed;
  -webkit-box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.2);
          box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.2);
}

.gsc-search-box .gsc-input .gsc-input-box .gsib_a {
  padding: 0;
}

.gsc-input::-webkit-input-placeholder {
  font-size: 12px !important;
}

.gsc-input:-moz-placeholder {
  font-size: 12px !important;
}

.gsc-input::-moz-placeholder {
  font-size: 12px !important;
}

.gsc-input:-ms-input-placeholder {
  font-size: 12px !important;
}

.gsc-search-box .gsc-search-button {
  border: none;
  cursor: pointer;
  outline: none;
  opacity: 0;
  padding: 0;
  position: absolute;
  top: 1px;
  right: 1px;
  height: calc(100% - 2px);
  width: 40px;
}

.search .cse .gsc-control-cse,
.search .gsc-control-cse {
  bottom: 0;
  font-family: inherit;
  padding: 0;
}

.gsc-adBlock {
  display: none !important;
}

.gsc-control-cse .gsc-option-menu-container {
  white-space: nowrap;
}

.c-footer {
  background: #272727;
  position: relative;
}
.c-footer::before {
  background: url(../img/common/img_mark.png) no-repeat center center;
  background-size: contain;
  content: "";
  display: block;
  height: 104px;
  width: 176px;
  position: absolute;
  bottom: 62px;
  right: 205px;
  z-index: 1;
}
.c-footer .inner-block {
  padding-top: 36px;
  padding-bottom: 30px;
  z-index: 1;
}
.c-footer .footer-menu-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-footer .footer-menu-wrap .footer-menu {
  width: calc(100% / 6);
}
.c-footer .footer-menu-wrap .footer-menu li.title {
  color: #fff;
  font-size: 16px;
}
.c-footer .footer-menu-wrap .footer-menu a {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-footer .info-text {
  color: #fff;
  position: absolute;
  bottom: 11px;
  right: 100px;
  z-index: 200;
}
.c-footer .info-text .tel {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 24px;
  font-weight: bold;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 6px;
}
.c-footer .info-text .ico {
  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;
  margin-right: 10px;
  width: 31px;
}
.c-footer .copyright {
  background: #161616;
  color: #fff;
  font-size: 14px;
  font-weight: 300;
  text-align: center;
  padding: 20px;
}
.c-footer .aco-ul a {
  display: block;
  position: relative;
  padding-left: 22px;
}
.c-footer .aco-ul a::before {
  background: #707070;
  content: "";
  height: 1px;
  width: 13px;
  position: absolute;
  top: 12px;
  left: 0;
}
.c-footer.en-page .footer-menu-wrap .footer-menu a {
  font-size: 13px;
  font-weight: 500;
}
.c-footer.en-page .aco-ul a::before {
  top: 10px;
}

#pagetop {
  display: block;
  width: 100%;
}
#pagetop a {
  background: -webkit-gradient(linear, left top, left bottom, from(#4c9b52), to(#115d1b));
  background: linear-gradient(#4c9b52 0%, #115d1b 100%);
  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;
  height: 43px;
  width: 100%;
  position: relative;
}
#pagetop a::before {
  display: block;
  border-style: solid;
  border-width: 0 24px 15px 24px;
  width: 49px;
  height: 15px;
  border-color: transparent transparent #fff transparent;
  content: "";
}

.c-title01 {
  font-size: 42px;
  font-weight: bold;
  margin-bottom: 40px;
}

.c-title02 {
  font-weight: bold;
}
.c-title02 .main {
  display: block;
  font-size: 42px;
  line-height: 1.2;
  margin-bottom: 12px;
}
.c-title02 .sub {
  display: block;
  font-size: 24px;
  line-height: 1.2;
}

.c-title03 {
  color: #009944;
  font-size: 32px;
  font-weight: bold;
  position: relative;
  line-height: 1.5;
  padding-bottom: 9px;
}
.c-title03.line-bl {
  padding-bottom: 17px;
}
.c-title03.line-bl::before {
  background: #707070;
  height: 3px;
  max-width: 900px;
  width: 100%;
}
.c-title03::before {
  background: #009944;
  content: "";
  display: block;
  height: 1px;
  width: 500px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-title03.align-center::before {
  right: 0;
  margin: auto;
}
.c-title03.c-black {
  color: #161616;
}
.c-title03.fz-30 {
  font-size: 30px;
}
.c-title03.fz-20 {
  font-size: 20px;
}

.c-title04 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 32px;
}
.c-title04.fz-24 {
  font-size: 24px;
}

.c-title05 {
  color: #009944;
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 25px;
}
.c-title05.fz-24 {
  font-size: 24px;
}
.c-title05.underline {
  border-bottom: 1px solid #707070;
}

.c-title06 {
  color: #009944;
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 25px;
  position: relative;
}
.c-title06::before {
  background: #009944;
  content: "";
  display: block;
  height: 1px;
  width: 500px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.c-title07 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  margin-bottom: 30px;
}
.c-title07 .num {
  background: -webkit-gradient(linear, left top, left bottom, from(#4c9b52), color-stop(9.71%, #4b9a51), to(#115d1b));
  background: linear-gradient(#4c9b52 0%, #4b9a51 9.71%, #115d1b 100%);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
  font-weight: bold;
  height: 80px;
  width: 80px;
}
.c-title07 .main {
  color: #009944;
  font-size: 32px;
  font-weight: bold;
  margin-left: 30px;
  line-height: 1.5;
  width: calc(100% - 110px);
}

.c-btn01 {
  background: linear-gradient(325deg, #4c9b52 0%, #115d1b 100%);
  color: #fff;
  display: block;
  max-width: 300px;
  text-align: center;
  font-size: 16px;
  padding: 17px 20px 16px;
  position: relative;
  z-index: 2;
}
.c-btn01::before {
  background: url(../img/common/ico_triangle.svg) no-repeat center center;
  background-size: contain;
  content: "";
  height: 38px;
  width: 36px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.c-btn01::after {
  background: linear-gradient(325deg, #089b13 0%, #072f0c 100%);
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  z-index: -1;
}
.c-btn01.pdf .inn {
  display: block;
  position: relative;
}
.c-btn01.pdf .inn::before {
  background: url(/img/common/ico_pdf.svg) no-repeat center center;
  background-size: contain;
  content: "";
  display: block;
  height: 23px;
  width: 23px;
  position: absolute;
  top: 0;
  left: 45px;
  bottom: 0;
  margin: auto;
}
.c-btn01.center {
  margin: 0 auto;
}
.c-btn01.fz-12 {
  font-size: 12px;
}

.c-btn02 {
  color: #fff;
  display: block;
  font-size: 18px;
  font-weight: bold;
  max-width: 300px;
  text-align: center;
  padding: 16px 20px 15px;
  position: relative;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  overflow: hidden;
}
.c-btn02.ir::before {
  content: "";
  background: url(../img/common/bg_btn-ir.jpg) no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}
.c-btn02.sdgs::before {
  content: "";
  background: url(../img/common/bg_btn-sdgs.jpg) no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}
.c-btn02.sdgs::after {
  background: -webkit-gradient(linear, left top, left bottom, from(#4c9b52), color-stop(9.71%, #4b9a51), to(#115d1b));
  background: linear-gradient(#4c9b52 0%, #4b9a51 9.71%, #115d1b 100%);
  opacity: 0.67;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.c-btn02::after {
  background: #000;
  content: "";
  opacity: 0.37;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
  pointer-events: none;
}

.c-btn-area {
  max-width: 1000px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-btn-area .btn-wrap {
  display: inline-block;
  width: calc((100% - 100px) / 3);
}
.c-btn-area .btn-wrap .txt {
  font-size: 14px;
  padding-top: 10px;
}
.c-btn-area .btn-wrap:not(:nth-child(3n+1)) {
  margin-left: 50px;
}

.c-mv {
  height: 200px;
  position: relative;
}
.c-mv::before {
  background: #009944;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.6;
}
.c-mv .inner-block {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.c-mv .mv-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -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;
  height: 100%;
}
.c-mv .mv-title .main, .c-mv .mv-title .sub {
  color: #fff;
  display: block;
}
.c-mv .mv-title .main {
  font-size: 30px;
}
.c-mv .mv-title .sub {
  font-size: 20px;
}
.c-mv .mv-bg {
  width: 100%;
}
.c-mv .mv-bg img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-mv.mv-txt {
  height: 500px;
}
.c-mv.mv-txt .inner-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-mv.mv-txt .explanation {
  color: #fff;
  font-size: 20px;
  text-align: center;
  margin-top: 20px;
  width: 100%;
}
.c-mv.mv-txt .mv-title {
  height: auto;
}
.c-mv.mv-txt .mv-title .main {
  font-size: 60px;
}
.c-mv.mv-txt .mv-bg img {
  height: 500px;
}

.breadcrumbs-block {
  padding: 24px 0;
}
.breadcrumbs-block .breadcrumbs-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.breadcrumbs-block .breadcrumbs-list li {
  position: relative;
}
.breadcrumbs-block .breadcrumbs-list li + li {
  padding-left: 43px;
}
.breadcrumbs-block .breadcrumbs-list li + li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid #444;
  border-right: 1px solid #444;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  margin: auto;
}
.breadcrumbs-block .breadcrumbs-list .inn {
  color: #444;
  font-size: 14px;
  font-weight: 500;
}

.lead-txt {
  font-size: 14px;
  line-height: 2.3;
  margin-top: 30px;
  text-align: center;
}

.c-table01 {
  max-width: 1000px;
  margin: auto;
  width: 100%;
}
.c-table01.wi-1200 {
  max-width: none;
}
.c-table01 tr {
  border-bottom: 1px dashed #707070;
}
.c-table01 th, .c-table01 td {
  text-align: left;
  vertical-align: baseline;
  padding: 18px 0;
}
.c-table01 th {
  color: #009944;
  font-size: 14px;
  font-weight: bold;
  width: 200px;
}
.c-table01.th-black th {
  color: #161616;
}
.c-table01 td {
  font-size: 14px;
  line-height: 2.3;
  width: calc(100% - 200px);
}
.c-table01 .l-flex {
  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;
  width: 100%;
}
.c-table01 .l-flex .btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 400px;
}
.c-table01 .l-flex .btn-wrap .c-btn01 {
  max-height: 60px;
  padding: 5px;
}
.c-table01 .l-flex .btn-wrap .c-btn01 + .c-btn01 {
  margin-top: 22px;
}

.c-table02 {
  width: 100%;
}
.c-table02 th, .c-table02 td {
  border: 1px solid #707070;
  font-size: 14px;
}
.c-table02 th {
  background: #009944;
  color: #fff;
  padding: 20px 20px;
}
.c-table02 td {
  padding: 10px 12px;
}
.c-table02 td.td-img {
  width: 104px;
  padding: 10px 11px;
}
.c-table02 td.td-img + td {
  width: 280px;
}
.c-table02 a {
  color: #2A437E;
}

.c-table03 {
  width: 100%;
}
.c-table03 th, .c-table03 td {
  border: 1px solid #707070;
  font-size: 14px;
}
.c-table03 th {
  background: #009944;
  color: #fff;
}
.c-table03 td {
  position: relative;
}
.c-table03 td.circle::before {
  background: #009944;
  border-radius: 100px;
  content: "";
  height: 12px;
  width: 12px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.c-table03 td.link {
  color: #009944;
  text-align: center;
  text-decoration: underline;
  cursor: pointer;
}
.c-table03 td.min-200 {
  min-width: 200px;
}

.c-table04 tr {
  font-size: 14px;
}
.c-table04 th {
  text-align: left;
  font-weight: 400;
  padding-right: 30px;
}
.c-table04 td {
  line-height: 3;
}

.c-table05 {
  width: 100%;
}
.c-table05 th, .c-table05 td {
  border: 1px solid #707070;
  font-size: 14px;
  font-weight: normal;
  padding: 10px 10px;
}

.outer-link {
  color: #009944;
  font-size: 14px;
  text-decoration: underline;
  position: relative;
  padding-right: 30px;
}
.outer-link::before {
  background: url(/img/common/ico_link.svg) no-repeat center center;
  content: "";
  display: block;
  height: 18px;
  width: 18px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

.c-link {
  color: #1A0DAB;
  font-size: 14px;
  text-decoration: underline;
}

.content {
  padding: 80px 0;
}

.c-bottom-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px 60px;
}
.c-bottom-wrap .link-box {
  overflow: hidden;
  position: relative;
  width: calc((100% - 60px) / 2);
}
.c-bottom-wrap .link-box::before {
  background: #1B2533;
  content: "";
  opacity: 0.53;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.c-bottom-wrap .link-box.green::before {
  background: #009944;
  opacity: 0.62;
}
.c-bottom-wrap .link-box img {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.c-bottom-wrap .link-box .img {
  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;
  position: relative;
}
.c-bottom-wrap .link-box .img .decoration {
  color: #009944;
  font-size: 200px;
  font-weight: bold;
  position: absolute;
  mix-blend-mode: color-burn;
  z-index: 10;
}
.c-bottom-wrap .link-box .text {
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.56);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 11;
}

.c-charter {
  background: #d9ebe1;
  padding: 40px;
  text-align: center;
  max-width: 1080px;
  margin: 0 auto;
}
.c-charter .charter-ttl {
  font-size: 32px;
  font-weight: bold;
}
.c-charter .charter-txt {
  line-height: 2.7;
  margin-top: 16px;
}
.c-charter .btn-wrap {
  margin-top: 30px;
  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: 40px 60px;
}
.c-charter .btn-wrap .c-btn01 {
  width: 300px;
}

.c-txt-list {
  counter-reset: count 0;
  list-style: revert;
}
.c-txt-list > li {
  list-style-position: inside;
}
.c-txt-list > li .ttl {
  margin-top: -33px;
}
.c-txt-list > li .c-title06 {
  padding-left: 30px;
  position: relative;
}
.c-txt-list > li::marker {
  font-size: 20px;
  font-weight: bold;
  color: #009944;
  position: absolute;
  left: 0;
}
.c-txt-list > li h3 {
  counter-increment: count 1;
}
.c-txt-list > li .txt {
  font-size: 14px;
  line-height: 2.285;
  padding-top: 30px;
}
.c-txt-list > li + * {
  margin-top: 50px;
}
.c-txt-list.number-list > li {
  font-size: 14px;
  line-height: 2;
}
.c-txt-list.number-list > li::marker {
  font-size: 14px;
  font-weight: bold;
  color: #161616;
  position: absolute;
  left: 0;
}
.c-txt-list.number-list > li .cont-txt {
  font-size: 14px;
  margin-top: -25px;
  padding-left: 15px;
}
.c-txt-list.number-list > li .cont-txt + .c-number-bracket-list {
  padding-top: 10px;
}
.c-txt-list.number-list > li + * {
  margin-top: 5px;
}

.c-number-bracket-list {
  counter-reset: count 0;
  list-style: inherit;
}
.c-number-bracket-list > li {
  counter-increment: cnt;
  font-size: 14px;
  padding-left: 2em;
  text-indent: -2.5em;
}
.c-number-bracket-list > li::marker {
  color: #161616;
  font-size: 14px;
  font-weight: unset;
  position: absolute;
  content: "（" counter(cnt) "）";
  left: 0;
}
.c-number-bracket-list > li + * {
  margin-top: 15px;
}

.c-only-number-list {
  counter-reset: count 0;
  list-style: inherit;
}
.c-only-number-list > li {
  list-style-position: inside;
  counter-increment: cnt;
  font-size: 14px;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.c-only-number-list > li::marker {
  color: #161616;
  font-size: 14px;
  font-weight: unset;
  position: absolute;
  content: counter(cnt);
  left: 0;
}
.c-only-number-list > li p {
  margin-top: -20px;
}
.c-only-number-list > li + * {
  margin-top: 5px;
}

.c-circle-list > li {
  position: relative;
  padding-left: 10px;
  font-size: 14px;
}
.c-circle-list > li::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 10px;
  background: #161616;
}
.c-circle-list > li + * {
  margin-top: 10px;
}

.search-block .inner-block {
  padding-top: 70px;
  padding-bottom: 120px;
}
.search-block form.gsc-search-box {
  display: block !important;
  margin-bottom: 15px !important;
}

.c-404-block .inner-block {
  padding: 100px 30px;
}
.c-404-block .c-title03 {
  font-size: 60px;
  line-height: 1;
  margin-bottom: 35px;
}
.c-404-block .lead-txt {
  text-align: left;
  margin-top: 0;
}
.c-404-block .c-btn01 {
  margin-top: 50px;
}

.backtop-btn {
  background: #fff url(/img/common/backtop.png) no-repeat center center;
  background-size: contain;
  border: 3px solid #009944;
  border-radius: 100px;
  font-size: 12px;
  height: 100px;
  width: 100px;
  position: fixed;
  bottom: 60px;
  right: 130px;
  overflow: hidden;
  z-index: 100;
}
.backtop-btn a {
  color: #009944;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  width: 100%;
}

.alart-text {
  background: #FF0000;
  color: #fff;
  padding: 15px;
  text-align: center;
  margin-top: 20px;
  max-width: 200px;
}

.c-text-link {
  background: #efefef;
  max-width: 950px;
  margin: auto;
  padding: 50px;
}
.c-text-link a {
  display: block;
  text-align: center;
  text-decoration: underline;
  position: relative;
}
.c-text-link a::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  border-top: 3px solid #007946;
  border-right: 3px solid #007946;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.c-text-link.in-title {
  display: block;
}
.c-text-link.in-title .title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
}
.c-text-link.in-title .title.link a::before {
  content: none;
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
/* -----------------------------------------------
* home Module
* homeページ用
-------------------------------------------------- */
.home.en-page .about-block .text {
  line-height: 1.5;
}
.home .mv-block {
  position: relative;
}
.home .mv-block .movie-wrap {
  position: relative;
  top: -131px;
  width: 100%;
  padding-top: 56.25%;
}
.home .mv-block .movie-wrap video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.home .about-block {
  background: #fff;
  position: relative;
}
.home .about-block .inner-block {
  padding-top: 80px;
  padding-bottom: 100px;
}
.home .about-block .text {
  line-height: 2.25;
}
.home .about-block .btn-wrap {
  margin-top: 43px;
}
.home .about-block .img-wrap {
  position: absolute;
  top: 0;
  max-width: 1120px;
  right: -330px;
}
.home .strength-block {
  background: url(../img/home/bg_strength.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
.home .strength-block::before {
  background: #007946;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  opacity: 0.62;
  position: absolute;
  top: 0;
  left: 0;
}
.home .strength-block .inner-block {
  padding-top: 93px;
  padding-bottom: 43px;
}
.home .strength-block .c-title01 {
  color: #fff;
}
.home .strength-block .strength-slider {
  margin-top: -140px;
}
.home .strength-block .strength-slider .strength-box .inn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-top: 152px;
}
.home .strength-block .strength-slider .strength-box .inn .img-wrap {
  width: 570px;
}
.home .strength-block .strength-slider .strength-box .inn .img-wrap .title {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  position: relative;
  padding-left: 45px;
  margin-bottom: 7px;
}
.home .strength-block .strength-slider .strength-box .inn .img-wrap .title::before {
  content: "";
  border-style: solid;
  border-width: 0 0 20px 20px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  top: 6px;
  left: 0;
}
.home .strength-block .strength-slider .strength-box .inn .text-wrap {
  position: relative;
  margin-left: 60px;
  width: calc(100% - 630px);
}
.home .strength-block .strength-slider .strength-box .inn .text-wrap .num {
  color: #fff;
  font-size: 100px;
  font-weight: bold;
  position: absolute;
  top: -150px;
  right: 0;
}
.home .strength-block .strength-slider .strength-box .inn .text-wrap .text {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
  padding-top: 32px;
}
.home .strength-block .strength-slider .strength-box .text-wrap.pc {
  margin-left: 0;
  width: 100%;
}
.home .strength-block .strength-slider .strength-box .text-wrap.pc .text {
  padding-top: 0;
}
.home .strength-block .strength-slider .strength-box .text-wrap .text {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
  padding-top: 32px;
}
.home .strength-block .strength-slider .strength-box a {
  color: #FFFF00;
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline;
}
.home .strength-block .strength-slider .slick-arrow {
  background: #fff;
  border-radius: 100px;
  border: 1px solid #707070;
  font-size: 0;
  height: 84px;
  width: 84px;
  position: absolute;
  top: 185px;
  bottom: 0;
  margin: auto;
  z-index: 100;
}
.home .strength-block .strength-slider .slick-arrow.slick-prev {
  left: -200px;
}
.home .strength-block .strength-slider .slick-arrow.slick-prev::before {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
  left: 8px;
}
.home .strength-block .strength-slider .slick-arrow.slick-next {
  right: -200px;
}
.home .strength-block .strength-slider .slick-arrow.slick-next::before {
  right: 8px;
}
.home .strength-block .strength-slider .slick-arrow::before {
  content: "";
  width: 30px;
  height: 30px;
  border-top: 8px solid #007946;
  border-right: 8px solid #007946;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.home .strength-block .strength-slider .slick-dots {
  -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;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 87px;
}
.home .strength-block .strength-slider .slick-dots button {
  font-size: 0;
  position: relative;
}
.home .strength-block .strength-slider .slick-dots button::before {
  background: #fff;
  border-radius: 100px;
  content: "";
  display: block;
  height: 16px;
  width: 16px;
}
.home .strength-block .strength-slider .slick-dots li + li {
  margin-left: 10px;
}
.home .strength-block .strength-slider .slick-dots .slick-active button::before {
  background: #00F5FF;
}
.home .strength-block .thumb-slider {
  margin-top: 37px;
}
.home .strength-block .thumb-slider .thumb-slide {
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  position: relative;
  width: calc((100% - 144px) / 7) !important;
}
.home .strength-block .thumb-slider .thumb-slide + .thumb-slide {
  margin-left: 24px;
}
.home .strength-block .thumb-slider .thumb-slide::before {
  background: rgba(0, 153, 68, 0.3);
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home .strength-block .thumb-slider .thumb-slide img {
  width: 100%;
}
.home .strength-block .thumb-slider .thumb-slide .num {
  color: #fff;
  font-size: 42px;
  font-weight: bold;
  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;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  height: 100%;
  width: 100%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home .news-block .inner-block {
  padding-top: 88px;
  padding-bottom: 75px;
}
.home .news-block .btn-wrap {
  margin: 20px 0 20px;
}
.home .news-block .c-title01 {
  margin-bottom: 20px;
}
.home .news-block .news-list li {
  border-bottom: 1px dashed #707070;
}
.home .news-block .news-list li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 20px 5px 20px;
}
.home .news-block .news-list li .tag-wrap {
  max-width: 210px;
}
.home .news-block .news-list li .text {
  font-size: 14px;
  margin-left: 57px;
  width: calc(100% - 267px);
  position: relative;
}
.home .news-block .news-list li .text.new::after {
  content: "New";
}
.home .news-block .news-list li .day {
  font-size: 14px;
  font-weight: 300;
  margin-right: 15px;
}
.home .news-block .news-list li .tag {
  color: #fff;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  min-width: 114px;
  text-align: center;
  padding: 2px;
}
.home .news-block .news-list li .tag.news {
  background: #007131;
}
.home .news-block .news-list li .tag.ir {
  background: #00843A;
}
.home .news-block .news-list li .tag.yuho {
  background: #00AD4D;
}
.home .news-block .news-list li .tag.tekiji {
  background: #00C156;
}
.home .news-block .l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 115px;
}
.home .news-block .l-flex .news-box {
  width: calc((100% - 60px) / 2);
}
.home .news-block .l-flex .news-box .title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.home .news-block .l-flex .news-box .news-list li {
  border-bottom: 0;
}
.home .news-block .l-flex .news-box .news-list li:first-child a {
  padding-top: 0;
}
.home .news-block .l-flex .news-box .news-list a {
  padding: 10px 0;
}
.home .news-block .l-flex .news-box .news-list .tag.news, .home .news-block .l-flex .news-box .news-list .tag.ir {
  background: #4082D8;
}
.home .news-block .l-flex .news-box .news-list .tag.saiyo {
  background: #2ACE44;
}
.home .news-block .l-flex .news-box .link-list li + li {
  margin-top: 22px;
}
.home .news-block .l-flex .news-box .link-list a {
  color: #87A2E2;
  font-size: 14px;
  text-decoration: underline;
}
.home .history-block .inner-block {
  padding-top: 50px;
  padding-bottom: 50px;
}
.home .history-block .lead {
  text-align: center;
  line-height: 2.25;
  margin-bottom: 25px;
}
.home .history-block .modal-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.home .history-block .modal-wrap .modal {
  cursor: pointer;
  width: calc((100% - 60px) / 2);
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.home .history-block .modal-wrap .modal + .modal {
  margin-left: 60px;
}
.home .history-block .modal-wrap .modal .note {
  font-size: 24px;
  display: block;
  text-align: center;
}
.home .history-block .modal-box {
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  width: 80%;
  max-width: 1200px;
}
.home .history-block .modal-box img {
  width: 100%;
}
.home .history-block .modal-box.is-open {
  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;
}
.home .history-block .modal-box .js-modalclose {
  cursor: pointer;
  position: absolute;
  top: -30px;
  right: 5px;
}
.home .history-block .modal-box .js-modalclose::before, .home .history-block .modal-box .js-modalclose::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 2px;
  position: absolute;
  top: 0;
  right: 0;
}
.home .history-block .modal-box .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.home .history-block .modal-box .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.home .history-block .modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.home .history-block .modal-bg.is-open {
  display: block;
}
.home .history-block .youtube-block .inner-block {
  padding-top: 0px;
  padding-bottom: 100px;
}
.home .history-block .youtube-block .img {
  max-width: 284px;
  margin: auto;
}
.home .history-block .youtube-block .text {
  text-align: center;
  margin-top: 12px;
}
.home .info-block {
  position: relative;
}
.home .info-block::before {
  background: url(../img/home/bg_info02.png) no-repeat center center;
  background-size: contain;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 664px;
  width: 1528px;
}
.home .info-block::after {
  background: url(../img/home/bg_info01.png) no-repeat center center;
  background-size: contain;
  content: "";
  position: absolute;
  top: 103px;
  right: 0;
  height: 661px;
  width: 931px;
}
.home .info-block .inner-block {
  padding-top: 92px;
  padding-bottom: 104px;
  z-index: 100;
}
.home .info-block .c-title01 {
  margin-bottom: 11px;
}
.home .info-block .link-box-wrap {
  -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;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: auto;
  position: relative;
  left: 85px;
  max-width: 776px;
  margin-bottom: 101px;
}
.home .info-block .link-box-wrap .link-box {
  width: calc((100% - 96px) / 2);
}
.home .info-block .link-box-wrap .link-box + .link-box {
  margin-left: 96px;
}
.home .info-block .link-box-wrap .link-box .box a {
  display: block;
  position: relative;
  overflow: hidden;
}
.home .info-block .link-box-wrap .link-box .box a .img source, .home .info-block .link-box-wrap .link-box .box a .img img {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.home .info-block .link-box-wrap .link-box .box a .text {
  font-weight: bold;
  font-size: 24px;
  color: #fff;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.81);
  position: absolute;
  bottom: 12px;
  right: 14px;
}
.home .info-block .link-box-wrap .link-box .box + .box {
  margin-top: 20px;
}
.home .sdgs-block {
  position: relative;
}
.home .sdgs-block::before {
  background: url(../img/home/bg_sdgs01.png) no-repeat center center;
  background-size: contain;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 698px;
  width: 1309px;
}
.home .sdgs-block::after {
  background: url(../img/home/bg_sdgs02.png) no-repeat center center;
  background-size: contain;
  content: "";
  position: absolute;
  top: 133px;
  right: 0;
  height: 723px;
  width: 991px;
}
.home .sdgs-block .inner-block {
  padding-top: 92px;
  padding-bottom: 209px;
  z-index: 100;
}
.home .sdgs-block .c-info-box .top-wrap .title-wrap .text {
  margin-top: 20px;
}
.home .group-block {
  background: url(../img/home/bg_group.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
.home .group-block::before {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(181, 181, 181, 0.41)), to(#525252));
  background: linear-gradient(rgba(181, 181, 181, 0.41) 0%, #525252 100%);
  content: "";
  opacity: 0.44;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.home .group-block .inner-block {
  padding-top: 50px;
  padding-bottom: 61px;
}
.home .group-block .c-title01 {
  color: #fff;
}
.home .group-block .link-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.home .group-block .link-list li {
  background: #fff;
  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;
  width: calc((100% - 43px) / 3);
}
.home .group-block .link-list li + li {
  margin-left: 21px;
}
.home .group-block .btn-wrap .c-btn01 {
  margin: 40px auto 0;
}
.home .recruit-block .inner-block {
  padding-top: 104px;
  padding-bottom: 40px;
}
.home .recruit-block .img-link {
  position: relative;
}
.home .recruit-block .img-link a {
  display: block;
  overflow: hidden;
}
.home .recruit-block .img-link .text {
  -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;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-weight: bold;
  font-size: 40px;
  color: #fff;
  text-shadow: 0px 3px 6px rgba(60, 60, 60, 0.77);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  text-align: center;
}
.home .recruit-block .img-link img {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.home .recruit-block .btn-wrap {
  margin-top: 40px;
}
.home .recruit-block .btn-wrap .c-btn01 {
  margin: auto;
}
.home .link-block .contact-wrap {
  background: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#ccc));
  background: linear-gradient(#efefef 0%, #ccc 100%);
}
.home .link-block .contact-wrap .inner-block {
  -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;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 44px 91px 50px 171px;
}
.home .link-block .contact-wrap .tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 24px;
  font-weight: bold;
  -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;
  margin-top: 6px;
}
.home .link-block .contact-wrap .tel .ico {
  display: block;
  margin-right: 11px;
  width: 39px;
}
.home .c-info-box .top-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.home .c-info-box .top-wrap .title-wrap {
  margin-right: 57px;
  width: calc(100% - 627px);
}
.home .c-info-box .top-wrap .title-wrap .text {
  font-size: 16px;
  font-weight: 300;
  margin-top: 9px;
  line-height: 2.2;
}
.home .c-info-box .top-wrap .title-wrap .btn-wrap {
  margin-top: 33px;
}
.home .c-info-box .top-wrap .img-wrap {
  width: 570px;
}
.home .c-info-box .bottom-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 40px;
}
.home .c-info-box .bottom-wrap .link-box {
  overflow: hidden;
  position: relative;
  width: calc((100% - 60px) / 2);
}
.home .c-info-box .bottom-wrap .link-box::before {
  background: #1B2533;
  content: "";
  opacity: 0.53;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.home .c-info-box .bottom-wrap .link-box.green::before {
  background: #009944;
  opacity: 0.62;
}
.home .c-info-box .bottom-wrap .link-box + .link-box {
  margin-left: 60px;
}
.home .c-info-box .bottom-wrap .link-box img {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.home .c-info-box .bottom-wrap .link-box .text {
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.56);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 11;
}

/* -----------------------------------------------
* corporate Module
* corporate-profile-blockページ用
-------------------------------------------------- */
.c-table04 {
  max-width: 650px;
  width: 100%;
}
.c-table04 tr {
  font-size: 14px;
  vertical-align: initial;
}
.c-table04 th {
  text-align: left;
  font-weight: bold;
  padding: 15px 0;
}
.c-table04 td {
  line-height: 1.6;
  padding: 15px 0;
}
.c-table04 td + td {
  padding-left: 30px;
}

.corporate-profile-block {
  margin: 70px 0;
  margin-bottom: 90px;
}
.corporate-profile-block .c-title03 {
  margin-bottom: 30px;
}
.corporate-profile-block .c-table01 {
  margin-bottom: 50px;
}
.corporate-profile-block .c-btn-area {
  margin-top: 30px;
}
.corporate-profile-block .c-btn-area + * {
  margin-top: 50px;
}
.corporate-profile-block .map-wrap {
  margin-top: 100px;
  margin-bottom: 20px;
}
.corporate-profile-block .map-wrap .c-title03 {
  margin-top: 50px;
  margin-bottom: 60px;
}
.corporate-profile-block .map-wrap iframe {
  width: 100%;
  aspect-ratio: 16/9;
}
.corporate-profile-block .address {
  font-size: 14px;
}
.corporate-profile-block .c-table04 {
  margin-top: 20px;
}

/* -----------------------------------------------
* corporate Module
* corporate-officer-blockページ用
-------------------------------------------------- */
.corporate-officer-block {
  margin: 70px 0;
  margin-bottom: 180px;
}
.corporate-officer-block .c-title03 {
  margin-bottom: 30px;
}
.corporate-officer-block .skil-area {
  margin-top: 130px;
}
.corporate-officer-block .skil-area .txt {
  margin-bottom: 10px;
}
.corporate-officer-block .modal-box {
  border: 1px solid #707070;
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  width: 80%;
  max-width: 800px;
}
.corporate-officer-block .modal-box.is-open {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.corporate-officer-block .modal-box .title {
  background: #D9EBE1;
  display: block;
  font-size: 14px;
  padding: 18px 20px 19px;
  border-bottom: 1px solid #707070;
  width: 100%;
}
.corporate-officer-block .modal-box .text {
  background: #fff;
  font-size: 14px;
  padding: 47px 25px 36px;
  line-height: 1.7142;
  width: 100%;
}
.corporate-officer-block .modal-box .js-modalclose {
  cursor: pointer;
  position: absolute;
  top: -30px;
  right: 5px;
}
.corporate-officer-block .modal-box .js-modalclose::before, .corporate-officer-block .modal-box .js-modalclose::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 2px;
  position: absolute;
  top: 0;
  right: 0;
}
.corporate-officer-block .modal-box .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.corporate-officer-block .modal-box .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.corporate-officer-block .modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.corporate-officer-block .modal-bg.is-open {
  display: block;
}
.corporate-officer-block .c-table-wrap + .txt, .corporate-officer-block .c-table-wrap + .c-title05 {
  margin-top: 80px;
}

/* -----------------------------------------------
* corporate Module
* corporate-officer-blockページ用
-------------------------------------------------- */
.corporate-person-block {
  margin: 70px 0;
  margin-bottom: 180px;
}
.corporate-person-block .c-title03 {
  margin-bottom: 30px;
}
.corporate-person-block .person-area .person-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.corporate-person-block .person-area .person-box .txt-area {
  line-height: 3.142;
  margin-left: 34px;
  margin-top: 30px;
}
.corporate-person-block .person-area .person-box .txt-area .name {
  font-size: 34px;
  line-height: 1.29;
}
.corporate-person-block .person-area .person-box .txt-area .post {
  font-size: 14px;
}
.corporate-person-block .person-area .person-box .txt-area .furigana {
  font-size: 14px;
}
.corporate-person-block .careet-area {
  margin-top: 56px;
}
.corporate-person-block .careet-area .c-title04 {
  margin-bottom: 0px;
}
.corporate-person-block .careet-area .c-table-wrap {
  margin-bottom: 100px;
}
.corporate-person-block .careet-area .c-table-wrap .c-table01 {
  max-width: unset;
}
.corporate-person-block .careet-area .c-table-wrap .c-table01 th {
  color: #161616;
}
.corporate-person-block .careet-area .comment-box .ttl {
  background: #D9EBE1;
  border-bottom: 1px solid #707070;
  padding: 18px 20px;
}
.corporate-person-block .careet-area .comment-box .txt {
  padding: 22px 20px;
  line-height: 3.142;
  font-size: 14px;
}
.corporate-person-block .careet-area .comment-box + * {
  margin-top: 40px;
}
.corporate-person-block .careet-area .c-btn01 {
  margin-top: 60px;
  max-width: 200px;
}

/* -----------------------------------------------
* corporate Module
* corporate-message-blockページ用
-------------------------------------------------- */
.corporate-message-block {
  margin: 70px 0;
  margin-bottom: 25px;
}
.corporate-message-block p {
  font-size: 14px;
}
.corporate-message-block .colum-area img {
  margin-top: 50px;
}
.corporate-message-block .colum-area .txt-area {
  max-width: 740px;
}
.corporate-message-block .colum-area picture {
  max-width: 520px;
}
.corporate-message-block .colum-area.left {
  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: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.corporate-message-block .colum-area.left .txt-area {
  margin-top: 30px;
}
.corporate-message-block .txt-box {
  margin-top: 30px;
}
.corporate-message-block .catch-txt {
  color: #009944;
  font-size: 24px;
  line-height: 1.333;
  font-weight: bold;
  margin-bottom: 20px;
}
.corporate-message-block .txt {
  line-height: 2.285;
}
.corporate-message-block .txt + * {
  margin-top: 30px;
}
.corporate-message-block.sustainability {
  margin-bottom: 120px;
}
.corporate-message-block.sustainability .c-title03 {
  margin-bottom: 30px;
}
.corporate-message-block.sustainability .colum-area + * {
  margin-top: 70px;
}
.corporate-message-block.sustainability .colum-area img {
  margin-top: 0;
}
.corporate-message-block.sustainability .colum-area.no-column .txt-area {
  max-width: 100%;
}
.corporate-message-block.sustainability .colum-area .txt-area {
  max-width: 640px;
}

/* -----------------------------------------------
* corporate Module
* corporate-policy-blockページ用
-------------------------------------------------- */
.corporate-policy-block {
  margin: 20px 0;
  margin-bottom: 100px;
}
.corporate-policy-block .catch-txt {
  color: #009944;
  font-size: 24px;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 80px;
  text-align: center;
}
.corporate-policy-block .c-title03 {
  margin-bottom: 30px;
}
.corporate-policy-block .txt {
  font-size: 14px;
  line-height: 2.285;
}
.corporate-policy-block .c-btn-area {
  margin: 50px auto 0;
}
.corporate-policy-block .vision-area {
  border: 1px solid #009944;
  padding: 35px 60px;
  font-size: 14px;
}
.corporate-policy-block .vision-area .number {
  margin-top: 10px;
  padding-left: 20px;
  color: #009944;
}
.corporate-policy-block .vision-area .number li {
  list-style: auto;
}
.corporate-policy-block .vision-area .number li + * {
  margin-top: 8px;
}
.corporate-policy-block .logo-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.corporate-policy-block .logo-area img {
  max-height: 125px;
}
.corporate-policy-block .logo-area .txt {
  margin-left: 60px;
  line-height: 2.285;
}
.corporate-policy-block .graph-area {
  text-align: center;
  margin-top: 60px;
}
.corporate-policy-block .box + * {
  margin-top: 100px;
}

/* -----------------------------------------------
* corporate Module
* corporate-compliance-blockページ用
-------------------------------------------------- */
.corporate-compliance-block {
  margin: 70px 0;
  margin-bottom: 180px;
  font-size: 14px;
}
.corporate-compliance-block h2.c-title03 {
  margin-bottom: 60px;
}
.corporate-compliance-block h3.c-title03 {
  margin-bottom: 30px;
  font-size: 20px;
}
.corporate-compliance-block h3.c-title03::before {
  left: 0;
  margin: auto;
}
.corporate-compliance-block .txt {
  text-align: left;
  line-height: 2.285;
}
.corporate-compliance-block .txt + img {
  margin-top: 40px;
}
.corporate-compliance-block .num-list {
  counter-reset: count 0;
  margin-top: 30px;
}
.corporate-compliance-block .num-list li {
  text-align: left;
  position: relative;
  padding-left: 50px;
}
.corporate-compliance-block .num-list li + li {
  margin-top: 20px;
}
.corporate-compliance-block .num-list li:before {
  content: "(" counter(count) ")";
  counter-increment: count 1;
  position: absolute;
  top: 0;
  left: 0;
}
.corporate-compliance-block .c-btn01 {
  margin: 0 auto;
  margin-top: 40px;
}
.corporate-compliance-block .btn-wrap {
  margin-top: 86px;
}
.corporate-compliance-block .btn-wrap.l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.corporate-compliance-block .btn-wrap.left {
  margin-top: 37px;
}
.corporate-compliance-block .btn-wrap.left .c-btn01 {
  margin-left: 0;
}
.corporate-compliance-block .btn-wrap + .btn-wrap {
  margin-top: 45px;
}
.corporate-compliance-block .c-btn-area .btn-wrap .c-btn01 {
  margin-top: 0px;
}
.corporate-compliance-block .c-btn-area .btn-wrap + * {
  margin-left: 50px;
}
.corporate-compliance-block .box + * {
  margin-top: 60px;
}

/* -----------------------------------------------
* office Module
* officeページ用
-------------------------------------------------- */
.office .office-block .img-area {
  display: block;
  margin-top: 40px;
}
.office .office-block .btn-wrap {
  margin-top: 20px;
}
.office .photo-block .img-area {
  margin-top: 40px;
}
.office .photo-block .caption {
  font-size: 14px;
  margin-bottom: 10px;
  line-height: 1.2;
}
.office .photo-block .img-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 20px;
}
.office .photo-block .img-flex + .img-flex {
  margin-top: 17px;
}

/* -----------------------------------------------
* corporate Module
* corporate-management-blockページ用
-------------------------------------------------- */
.corporate-management-block {
  overflow: hidden;
  scrollbar-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.1);
}
.corporate-management-block ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.corporate-management-block ::-webkit-scrollbar-track {
  border-radius: 100px;
  background-color: rgba(0, 0, 0, 0.1);
}
.corporate-management-block ::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.4);
}
.corporate-management-block .modal-box {
  background: #fff;
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  width: 710px;
}
.corporate-management-block .modal-box.is-open {
  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;
}
.corporate-management-block .modal-box .js-modalclose {
  cursor: pointer;
  position: absolute;
  top: -30px;
  right: 5px;
}
.corporate-management-block .modal-box .js-modalclose::before, .corporate-management-block .modal-box .js-modalclose::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 2px;
  position: absolute;
  top: 0;
  right: 0;
}
.corporate-management-block .modal-box .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.corporate-management-block .modal-box .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.corporate-management-block .modal-box .ttl {
  color: #009944;
  font-size: 32px;
  line-height: 1.4;
}
.corporate-management-block .modal-box .txt {
  font-size: 20px;
  line-height: calc(26 / 20);
}
.corporate-management-block .modal-box .img {
  text-align: center;
}
.corporate-management-block .modal-box .box-person .ttl {
  margin-bottom: 5px;
}
.corporate-management-block .modal-box .box-img .ttl {
  margin-bottom: 15px;
  width: 100%;
}
.corporate-management-block .modal-box .box-img .img .txt {
  margin-top: 15px;
  text-align: left;
}
.corporate-management-block .modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.corporate-management-block .modal-bg.is-open {
  display: block;
}
.corporate-management-block [data-modal-link] {
  cursor: pointer;
}
.corporate-management-block .intro-box {
  background: url(../img/corporate/management/intro-bg.jpg) no-repeat center/cover;
  color: #fff;
}
.corporate-management-block .intro-box .ttl {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 30px;
}
.corporate-management-block .intro-box .ttl::after {
  content: "";
  background: currentColor;
  display: block;
  margin-top: 25px;
  width: 500px;
  height: 1px;
}
.corporate-management-block .intro-box .txt {
  font-size: 20px;
  max-width: 628px;
}
.corporate-management-block .aco-wrap {
  background: #003410;
  background: -webkit-gradient(linear, left top, left bottom, from(#003410), to(black));
  background: linear-gradient(180deg, #003410 0%, black 100%);
  color: #fff;
  display: grid;
  gap: 24px;
}
.corporate-management-block .aco-close,
.corporate-management-block .aco-body {
  display: none;
}
.corporate-management-block .aco-close {
  background: #00570A;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  width: 100%;
  height: 50px;
}
.corporate-management-block .aco-head {
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 30px calc(max(50vw, 640px) - 600px);
}
.corporate-management-block .aco-head .txt-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.corporate-management-block .aco-head .img {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end;
  margin-left: 24px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 350px;
}
.corporate-management-block .aco-head .img img {
  max-height: 160px;
  -o-object-fit: cover;
     object-fit: cover;
}
.corporate-management-block .aco-head .ttl {
  font-size: 30px;
  font-weight: bold;
  padding-right: 50px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.corporate-management-block .aco-head .ttl::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19px 10.5px 0 10.5px;
  border-color: #fff transparent transparent transparent;
}
.corporate-management-block .aco-head .txt {
  color: #FFFF00;
  margin: 20px 0 0 20px;
  font-size: 18px;
  font-weight: bold;
}
.corporate-management-block .aco-head .caption {
  position: absolute;
  bottom: 0;
  right: 0;
  text-align: right;
}
.corporate-management-block .aco-body {
  background: #fff;
}

.aco-box .management-box tbody tr td:nth-child(even) {
  background: #D1EDDD;
}
.aco-box .management-box tbody tr td:nth-child(odd) {
  background: #fff;
}
.aco-box:nth-of-type(-n+7) .management-box tbody tr:nth-of-type(1) td:nth-child(even) {
  background: #A6BCAF;
}
.aco-box:nth-of-type(-n+7) .management-box tbody tr:nth-of-type(1) td:nth-child(odd) {
  background: #CACACA;
}
.aco-box:nth-of-type(8) .management-box tbody tr:nth-of-type(1) td:nth-child(-n+4):nth-child(even) {
  background: #A6BCAF;
}
.aco-box:nth-of-type(8) .management-box tbody tr:nth-of-type(1) td:nth-child(-n+4):nth-child(odd) {
  background: #CACACA;
}
.aco-box:nth-of-type(-n+2) .management-box tbody tr:nth-of-type(3) td:nth-child(even) {
  background: #A6BCAF;
}
.aco-box:nth-of-type(-n+2) .management-box tbody tr:nth-of-type(3) td:nth-child(odd) {
  background: #CACACA;
}
.aco-box:nth-of-type(3) .management-box tbody tr:nth-of-type(3) td:nth-child(-n+3):nth-child(even) {
  background: #A6BCAF;
}
.aco-box:nth-of-type(3) .management-box tbody tr:nth-of-type(3) td:nth-child(-n+3):nth-child(odd) {
  background: #CACACA;
}
.aco-box:nth-of-type(-n+4) .management-box tbody tr:nth-of-type(4) td:nth-child(even) {
  background: #A6BCAF;
}
.aco-box:nth-of-type(-n+4) .management-box tbody tr:nth-of-type(4) td:nth-child(odd) {
  background: #CACACA;
}
.aco-box:nth-of-type(5) .management-box tbody tr:nth-of-type(4) td:nth-child(-n+3):nth-child(even) {
  background: #A6BCAF;
}
.aco-box:nth-of-type(5) .management-box tbody tr:nth-of-type(4) td:nth-child(-n+3):nth-child(odd) {
  background: #CACACA;
}

.management-box {
  overflow-x: auto;
}
.management-box table {
  line-height: 1.4;
  table-layout: fixed;
  width: 100%;
}
.management-box table th,
.management-box table td {
  vertical-align: top;
}
.management-box table th.large,
.management-box table td.large {
  width: 440px;
}
.management-box thead tr {
  background: #009944;
  height: 160px;
}
.management-box thead td {
  padding: 10px;
  position: relative;
}
.management-box thead .period {
  font-size: 60px;
  font-weight: bold;
  letter-spacing: -0.05em;
  line-height: 0.85;
  text-align: right;
  opacity: 0.2;
  position: absolute;
  bottom: 0.15em;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  white-space: nowrap;
}
.management-box thead .period .num {
  font-size: 100px;
  display: block;
}
.management-box thead .year {
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 10px;
  white-space: nowrap;
}
.management-box thead .txt {
  font-size: 13px;
  font-weight: bold;
}
.management-box thead .txt:not(:first-child) {
  margin-top: 8px;
}
.management-box thead .txt:not(:last-child) {
  margin-bottom: 4px;
}
.management-box thead .txt-l {
  font-size: 20px;
}
.management-box thead .txt .link {
  text-decoration: underline;
}
.management-box thead .txt .blue {
  color: #1A0DAB;
}
.management-box thead .img {
  position: relative;
  z-index: 1;
}
.management-box thead .img img {
  max-width: 120px;
  width: 100%;
}
.management-box thead .img > .caption:first-child {
  margin-bottom: 5px;
}
.management-box thead .img > .caption:last-child {
  margin-top: 5px;
}
.management-box thead .img-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
}
.management-box thead .img-column > *:not(:only-child) {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.management-box thead .caption {
  font-size: 12px;
  font-weight: bold;
}
.management-box thead .caption-s {
  font-size: 11px;
}
.management-box thead .caption .link {
  text-decoration: underline;
}
.management-box thead .caption .blue {
  color: #1A0DAB;
}
.management-box thead .person-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
}
.management-box thead .person-txt {
  font-size: 20px;
  font-weight: bold;
  white-space: nowrap;
}
.management-box thead .person-img {
  border-radius: 1000px;
  overflow: hidden;
}
.management-box tbody td {
  color: #161616;
  padding: 5px 10px;
}
.management-box tbody .txt {
  font-size: 13px;
}
.management-box tbody .txt:not(:first-child) {
  margin-top: 8px;
}
.management-box tbody .txt:not(:last-child) {
  margin-bottom: 4px;
}
.management-box tbody .txt-l {
  font-size: 18px;
}
.management-box tbody .txt-s {
  font-size: 12px;
}
.management-box tbody .blue {
  color: #1A0DAB;
}
.management-box tbody .green {
  color: #009944;
}
.management-box tbody .link {
  text-decoration: underline;
}

.year-1800 {
  background: #828B83;
}
.year-1800 thead td {
  width: 330px;
}

/*
.year-1800 thead td:first-child {
  left: 125px !important;
}
*/

.year-1910 {
  background: #828B83;
}
.year-1910 thead td {
  width: 220px;
}
.year-1910 thead .period01 {
  left: -165px;
}
.year-1910 thead .period02 {
  left: -60px;
}

.year-1940 {
  background: #798D7C;
}
.year-1940 thead td {
  width: 220px;
}
.year-1940 thead td.size01 {
  width: 440px;
}
.year-1940 thead .period01 {
  left: -55px;
}

.year-1960 {
  background: #6F9074;
}
.year-1960 thead td {
  width: 220px;
}
.year-1960 thead td.size01 {
  width: 440px;
}

.year-1970 {
  background: #5F9369;
}
.year-1970 thead td {
  width: 220px;
}
.year-1970 thead td.size01 {
  width: 440px;
}

.year-1980 {
  background: #4F955E;
}
.year-1980 thead td {
  width: 220px;
}

.year-1990 {
  background: #3C9655;
}
.year-1990 thead td {
  width: 220px;
}

.year-2000 {
  background: #3C9754;
}
.year-2000 thead td {
  width: 220px;
}
.year-2000 thead td.size01 {
  width: 440px;
}

.year-2010 {
  background: #029944;
}
.year-2010 thead td {
  width: 220px;
}
.year-2010 thead td.size01 {
  width: 440px;
}
.year-2010 thead .mt01 {
  margin-top: 32px;
}
.year-2010 thead .txt.txt01 {
  margin-bottom: 10px;
}

.year-2020 {
  background: #029944;
}
.year-2020 thead td {
  width: 220px;
}
.year-2020 thead td.size01 {
  width: 440px;
}

/* -----------------------------------------------
* group Module
* groupページ用
-------------------------------------------------- */
.group .composition-block .composition-content {
  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: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 60px;
  position: relative;
}
.group .composition-block .composition-content::after {
  background: #707070;
  content: "";
  display: block;
  height: calc(100% - 90px);
  position: absolute;
  width: 1px;
  top: 60px;
  left: 100px;
  margin: auto;
}
.group .composition-block .group-area {
  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: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 60px 0;
  max-width: 1030px;
  position: relative;
}
.group .composition-block .group-area::after {
  background: #707070;
  content: "";
  display: block;
  height: calc(100% - 90px);
  position: absolute;
  width: 1px;
  top: 60px;
  left: 80px;
  margin: auto;
}
.group .composition-block .group-box {
  width: 100%;
  position: relative;
}
.group .composition-block .group-box + .group-box {
  margin-top: 60px;
}
.group .composition-block .link-area {
  border: solid 1px #707070;
  font-size: 14px;
  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;
  min-height: 60px;
  padding: 4px 30px 4px 10px;
}
.group .composition-block .link-area img {
  max-height: 30px;
}
.group .composition-block .link-area span {
  font-size: 12px;
}
.group .composition-block a.link-area {
  position: relative;
}
.group .composition-block a.link-area::after {
  position: absolute;
  display: block;
  border-style: solid;
  border-width: 0 7px 7px;
  width: 13px;
  height: 7px;
  border-color: transparent transparent #009944 transparent;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  content: "";
  top: 5px;
  bottom: 0;
  right: 20px;
  margin: auto;
}
.group .composition-block .txt-area {
  background: #dcdcdc;
  font-size: 14px;
  padding: 5px 12px;
  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;
}
.group .composition-block .hierarchy01 .link-area {
  border: solid 1px #009944;
  width: 390px;
}
.group .composition-block .hierarchy01 .txt-area {
  background: #009944;
  color: #fff;
  width: calc(100% - 390px);
}
.group .composition-block .hierarchy02 {
  max-width: 1030px;
}
.group .composition-block .hierarchy02::after {
  background: #707070;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  width: 70px;
  top: 0;
  bottom: 0;
  left: -70px;
  margin: auto;
}
.group .composition-block .hierarchy03 {
  max-width: 800px;
}
.group .composition-block .hierarchy03::after {
  background: #707070;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  width: 150px;
  top: 0;
  bottom: 0;
  left: -150px;
  margin: auto;
}
.group .composition-block .hierarchy03 .link-area {
  background: #707070;
  color: #fff;
  font-weight: bold;
  width: 300px;
}
.group .composition-block .hierarchy03 .link-area::after {
  border-color: transparent transparent #fff transparent;
}
.group .composition-block .hierarchy03 .txt-area {
  width: calc(100% - 300px);
}
.group .group-company-block .company-name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
}
.group .group-company-block .company-box {
  margin-top: 30px;
}
.group .group-company-block .company-box + .company-box {
  margin-top: 100px;
}
.group .group-company-block .ma-20 {
  margin-top: 35px;
}
/* -----------------------------------------------
* recruit Module
* recruitページ用
-------------------------------------------------- */
.recruit-block {
  margin: 70px 0;
  margin-bottom: 105px;
}
.recruit-block .c-title05 {
  padding-bottom: 45px;
}
.recruit-block .c-title03 {
  margin-bottom: 10px;
}
.recruit-block .company-area .logo-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;
}
.recruit-block .company-area .logo-box p {
  font-size: 12px;
}
.recruit-block .company-area .link-box {
  width: 100%;
  border-bottom: 1px dashed #707070;
  padding: 17px 0;
}
.recruit-block .company-area + * {
  margin-top: 80px;
}

.c-accordion-box + .c-accordion-box {
  margin-top: 20px;
}
.c-accordion-box.is-open .c-accordion-icon::after {
  -webkit-transform: rotateZ(270deg);
          transform: rotateZ(270deg);
}
.c-accordion-box.is-open .c-accordion-icon .c-accordion-cont {
  display: block;
}

/* -----------------------------------------------
* sustainability Module
* sustainabilityページ用
-------------------------------------------------- */
.sustainability .link-block {
  background: url(../img/sustainability/sustainability_bg.jpg) no-repeat center bottom;
  background-size: contain;
  padding-bottom: 340px;
}
.sustainability .c-charter {
  margin-top: 40px;
}

/* -----------------------------------------------
* sdgs Module
* sdgsページ用
-------------------------------------------------- */
.sdgs .system-block .system-img {
  margin: 50px auto 100px;
}
.sdgs .contribution-block {
  background: url(../img/sustainability/sustainability_bg.jpg) no-repeat center bottom;
  background-size: contain;
  padding-bottom: 340px;
}
.sdgs .contribution-block .lead-txt.mw-790 {
  max-width: 790px;
  margin: auto;
}
.sdgs .contribution-block .bg-box {
  margin-top: 50px;
}
.sdgs .contribution-block .bg-box .btn-wrap.l-flex {
  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: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sdgs .contribution-block .bg-box .btn-wrap .c-btn01 {
  margin: auto;
}
.sdgs .contribution-block .bg-box .btn-wrap + .btn-wrap {
  margin-top: 30px;
}
.sdgs .contribution-block .contribution-img {
  margin: 98px auto 0;
}
.sdgs .contribution-box {
  border-bottom: 1px solid #707070;
  margin-top: 60px;
}
.sdgs .contribution-box:last-child {
  border: none;
}
.sdgs .contribution-content {
  margin-top: 30px;
  padding-bottom: 30px;
}
.sdgs .contribution-content .link,
.sdgs .contribution-content [data-modal-link] {
  color: #1A0DAB;
  text-decoration: underline;
}
.sdgs .contribution-content .contribution-txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.sdgs .contribution-content .contribution-txt .txt-area {
  margin-right: 40px;
  width: calc(100% - 370px);
}
.sdgs .contribution-content .contribution-txt .txt-area .ttl {
  color: #009944;
  font-size: 14px;
}
.sdgs .contribution-content .contribution-txt .txt-area .ttl + .txt {
  margin-top: 10px;
}
.sdgs .contribution-content .contribution-txt .txt-area .txt {
  font-size: 14px;
  line-height: 2.3;
}
.sdgs .contribution-content .contribution-txt .txt-area .txt + .txt {
  margin-top: 20px;
}
.sdgs .contribution-content .contribution-txt .txt-area .txt + .ttl {
  margin-top: 50px;
}
.sdgs .contribution-content .contribution-txt .img {
  width: 330px;
}
.sdgs .contribution-content .contribution-txt .img img {
  width: 100%;
}
.sdgs .contribution-content .contribution-txt + .contribution-txt {
  margin-top: 50px;
}
.sdgs .contribution-content .contribution-txt + .contribution-txt-flex {
  margin-top: 66px;
}
.sdgs .contribution-content .contribution-txt-flex .ttl {
  color: #009944;
  font-size: 14px;
}
.sdgs .contribution-content .contribution-txt-flex .ttl + .txt {
  margin-top: 10px;
}
.sdgs .contribution-content .contribution-txt-flex .txt {
  font-size: 14px;
  line-height: 2.3;
}
.sdgs .contribution-content .contribution-txt-flex .txt + .txt {
  margin-top: 20px;
}
.sdgs .contribution-content .contribution-txt-flex .txt + .ttl {
  margin-top: 50px;
}
.sdgs .contribution-content .contribution-txt-flex .img-flex {
  margin-top: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 23px;
}
.sdgs .contribution-content .contribution-txt-flex .img-flex.wi-200 .img-item {
  max-width: 200px;
}
.sdgs .contribution-content .contribution-txt-flex .img-flex + .ttl {
  margin-top: 30px;
}
.sdgs .contribution-content .contribution-txt-flex .img-item {
  text-align: center;
  max-width: 230px;
}
.sdgs .contribution-content .contribution-txt-flex .img-item[data-modal-link] {
  cursor: pointer;
}
.sdgs .contribution-content .contribution-txt-flex img {
  max-height: 130px;
}
.sdgs .contribution-content .contribution-txt-flex .caption {
  font-size: 14px;
  margin-top: 8px;
}
.sdgs .modal-box {
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  width: 80%;
  max-width: 1200px;
}
.sdgs .modal-box img {
  width: 100%;
}
.sdgs .modal-box.is-open {
  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;
}
.sdgs .modal-box .modal-title {
  font-size: 32px;
  color: #fff;
  position: absolute;
  top: -60px;
  left: 0;
}
.sdgs .modal-box .js-modalclose {
  cursor: pointer;
  position: absolute;
  top: -30px;
  right: 5px;
}
.sdgs .modal-box .js-modalclose::before, .sdgs .modal-box .js-modalclose::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 2px;
  position: absolute;
  top: 0;
  right: 0;
}
.sdgs .modal-box .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.sdgs .modal-box .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.sdgs .modal-box .movie-frame {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.sdgs .modal-box .movie-frame iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.sdgs .modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.sdgs .modal-bg.is-open {
  display: block;
}

/* -----------------------------------------------
* sustainability Module
* corporate-communication-blockページ用
-------------------------------------------------- */
.corporate-communication-block {
  margin-top: 60px;
  margin-bottom: 220px;
}
.corporate-communication-block .c-title03 {
  margin-bottom: 60px;
}
.corporate-communication-block .lead-txt.border-box {
  border: 1px solid #009944;
  padding: 30px 30px;
}
.corporate-communication-block .lead-txt.border-box .ttl {
  color: #009944;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
.corporate-communication-block .c-txt-list {
  text-align: left;
}
.corporate-communication-block .c-txt-list.number-list.txt-colum li + * {
  margin-top: 2em;
}
.corporate-communication-block .box {
  margin-top: 95px;
}
.corporate-communication-block .box .colum-box .boxes .sub-txt {
  font-size: 14px;
}
.corporate-communication-block .box .c-title03 {
  max-width: 1020px;
  margin: 0 auto 30px;
}
.corporate-communication-block .box .title {
  color: #009944;
  font-size: 20px;
  max-width: 1020px;
  margin: 0 auto 10px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.corporate-communication-block .box .title.fz-16 {
  font-size: 16px;
}
.corporate-communication-block .box .text {
  font-size: 14px;
  font-weight: 300;
  max-width: 1020px;
  margin: auto;
  line-height: 2.2857;
}
.corporate-communication-block .box .text + .title {
  margin-top: 30px;
}
.corporate-communication-block .box .text + .title.fz-16 {
  margin-top: 30px;
}
.corporate-communication-block .box .text + .text {
  margin-top: 40px;
}
.corporate-communication-block .box .text + .btn-wrap {
  margin-top: 30px;
}
.corporate-communication-block .box .img-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 665px;
  margin: 40px auto 0;
}
.corporate-communication-block .box .img-wrap.max-3 {
  max-width: 1020px;
}
.corporate-communication-block .box .img-wrap.max-3 .img {
  width: calc((100% - 72px) / 3);
}
.corporate-communication-block .box .img-wrap.max-2 .img {
  width: calc((100% - 30px) / 2);
}
.corporate-communication-block .box .img-wrap.max-2 .img:nth-child(2n+2) {
  margin-left: 30px;
}
.corporate-communication-block .box .img-wrap.max-2 .img:nth-child(n+3) {
  margin-top: 26px;
}
.corporate-communication-block .box .img-wrap.max-2 .img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 210px;
}
.corporate-communication-block .box .img-wrap + .title {
  margin-top: 60px;
}
.corporate-communication-block .box .img-wrap + .title.mt-30 {
  margin-top: 30px;
}
.corporate-communication-block .box .img-wrap + .green-box {
  border-top: 1px solid #009944;
  padding-top: 60px;
}
.corporate-communication-block .box .img-wrap .note {
  display: block;
  font-size: 14px;
  font-weight: 300;
  margin-top: 5px;
}
.corporate-communication-block .box + * {
  margin-top: 100px;
}
.corporate-communication-block .sub-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1020px;
  margin: 30px auto 0;
}
.corporate-communication-block .sub-box.no-flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 50px;
}
.corporate-communication-block .sub-box.mt-60 {
  margin-top: 60px;
}
.corporate-communication-block .sub-box + .title {
  margin-top: 60px;
}
.corporate-communication-block .sub-box .text-wrap {
  margin-right: 30px;
  width: calc(100% - 347px);
}
.corporate-communication-block .sub-box .text-wrap .title {
  font-size: 16px;
  font-weight: bold;
}
.corporate-communication-block .sub-box .text-wrap .title.fz-20 {
  font-size: 20px;
}
.corporate-communication-block .sub-box .img {
  width: 317px;
}
.corporate-communication-block .btn-wrap .c-btn01 {
  margin: auto;
}
.corporate-communication-block .btn-wrap.l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.corporate-communication-block .btn-wrap.left {
  margin-top: 37px;
}
.corporate-communication-block .btn-wrap.left .c-btn01 {
  margin-left: 0;
}
.corporate-communication-block .alart-text {
  background: #fff;
  border: 3px solid #d9ebe1;
  color: #FF0000;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  padding: 40px 20px;
  max-width: 800px;
  margin: auto;
}
.corporate-communication-block .green-box {
  max-width: 1020px;
  margin: 60px auto 0;
}
.corporate-communication-block .green-box .main-title {
  background: #009944;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding: 7px 20px 6px;
}
.corporate-communication-block .green-box .text-wrap {
  border: 1px solid #009944;
  border-top: 0;
  padding: 22px 30px;
  position: relative;
  z-index: 1;
}
.corporate-communication-block .green-box .text-wrap .title {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}
.corporate-communication-block .green-box .text-wrap .text {
  font-size: 14px;
  font-weight: 300;
  margin-top: 5px;
}
.corporate-communication-block .green-box .text-wrap .text + .title {
  margin-top: 20px;
}
.corporate-communication-block .green-box .text-wrap .img {
  display: block;
  position: absolute;
  bottom: 35px;
  right: 69px;
  z-index: -1;
}
.corporate-communication-block .green-bg {
  background: #d9ebe1;
  text-align: center;
  max-width: 1020px;
  margin: 30px auto 0;
  padding: 36px 20px 40px;
}
.corporate-communication-block .green-bg.mb-100 {
  margin-bottom: 100px;
}
.corporate-communication-block .green-bg .lead {
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 30px;
}
.corporate-communication-block .gray-bg {
  background: #DCDCDC;
  text-align: center;
  max-width: 1020px;
  margin: 30px auto 0;
  padding: 48px 20px 42px;
}
.corporate-communication-block .gray-bg.mb-100 {
  margin-bottom: 100px;
}
.corporate-communication-block .gray-bg .l-flex {
  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: 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;
}
.corporate-communication-block .gray-bg .img {
  max-width: 50px;
}
.corporate-communication-block .gray-bg .img.screen {
  mix-blend-mode: screen;
}
.corporate-communication-block .gray-bg .txt {
  display: block;
  font-size: 20px;
  font-weight: bold;
  margin-left: 20px;
}
.corporate-communication-block .gray-bg .slogan {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  margin-top: 10px;
}

/* -----------------------------------------------
* sustainability Module
* corporate-environment-blockページ用
-------------------------------------------------- */
.corporate-environment-block .lead-txt {
  text-align: center !important;
  margin-bottom: 47px !important;
}
.corporate-environment-block .c-title05 {
  padding-bottom: 0;
  line-height: 2.4;
}
.corporate-environment-block .box {
  margin-top: 95px;
}
.corporate-environment-block .box .c-charter {
  background: #fff;
  text-align: left;
  font-size: 14px;
  padding: 0;
  max-width: 1023px !important;
}
.corporate-environment-block .box .c-charter .charter-txt {
  margin-top: 0;
  line-height: 2.2;
}
.corporate-environment-block .box .c-charter .number-line-list {
  margin-top: 30px;
}
.corporate-environment-block .box .c-charter .number-line-list li + * {
  margin-top: 20px;
}
.corporate-environment-block .box .c-charter .txt-box {
  margin-top: 30px;
}
.corporate-environment-block .box .c-charter .txt-box .txt + * {
  margin-top: 20px;
}
.corporate-environment-block .box .img-box {
  max-width: 800px;
  margin: auto;
  text-align: center;
}
.corporate-environment-block .box .img-box .sub-txt {
  font-size: 14px;
  text-align: left;
  max-width: 800px;
  margin: auto;
  margin-top: 20px;
}
.corporate-environment-block .box .c-title03 {
  text-align: center;
  margin-bottom: 40px;
}
.corporate-environment-block .box .c-title03::before {
  left: 0;
  right: 0;
  margin: auto;
}
.corporate-environment-block .box .c-btn-area .btn-wrap .c-btn01 {
  margin-top: 0px;
}
.corporate-environment-block .box .c-btn-area .btn-wrap:not(:nth-child(3n+1)) {
  margin-left: 50px;
}
.corporate-environment-block .box .c-btn-area .btn-wrap:nth-child(n+4) {
  margin-top: 30px;
}
.corporate-environment-block .box .img-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1100px;
  margin: auto;
}
.corporate-environment-block .box .img-wrap .img {
  width: calc((100% - 40px) / 3);
}
.corporate-environment-block .box .title {
  font-size: 20px;
  color: #009944;
  line-height: 2;
  max-width: 1100px;
  margin: auto;
}
.corporate-environment-block .box .text {
  font-size: 14px;
  line-height: 2.2;
  max-width: 1100px;
  margin: 10px auto 30px;
}
.corporate-environment-block .box .btn-wrap {
  margin: 40px auto 0;
}
.corporate-environment-block .box .btn-wrap .c-btn01 {
  margin: auto;
}
.corporate-environment-block .box .btn-wrap + .title {
  margin-top: 60px;
}
.corporate-environment-block .box .l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1024px;
  margin: auto;
}
.corporate-environment-block .box .l-flex.text-long .img {
  width: 317px;
}
.corporate-environment-block .box .l-flex.half .img {
  width: 550px;
}
.corporate-environment-block .box .l-flex.no-flex {
  display: block;
}
.corporate-environment-block .box .l-flex.no-flex .img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 30px;
  padding-left: 15px;
}
.corporate-environment-block .box .l-flex + .l-flex {
  margin-top: 60px;
}
.corporate-environment-block .box .l-flex .text-wrap .title {
  color: #009944;
  font-size: 20px;
  font-weight: bold;
}
.corporate-environment-block .box .l-flex .text-wrap .text {
  font-size: 14px;
  line-height: 2.2;
  margin-top: 10px;
  padding-left: 15px;
}
.corporate-environment-block .box .l-flex .img {
  margin-top: 50px;
}
.corporate-environment-block .box .l-flex .img.l-flex {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.corporate-environment-block .btn-wrap.l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.corporate-environment-block .btn-wrap.left {
  margin-top: 37px;
}
.corporate-environment-block .btn-wrap.left .c-btn01 {
  margin-left: 0;
}

/* -----------------------------------------------
* sustainability Module
* sustainabilityページ用
-------------------------------------------------- */
.materiality .content-block .inner-block {
  padding-top: 100px;
  padding-bottom: 100px;
}
.materiality .img-center {
  margin-top: 60px;
  text-align: center;
}
.materiality .img-center img {
  max-width: 720px;
  width: 100%;
}
.materiality .table-box {
  margin-top: 60px;
}
.materiality .table-box .date {
  font-size: 14px;
  margin-bottom: 30px;
  text-align: right;
}
.materiality .table-box .note {
  font-size: 14px;
  margin-top: 30px;
}
.materiality .table-box .table {
  width: calc(100px + 148px + 280px + 480px + 480px);
  font-size: 14px;
  text-align: left;
  border-left: 1px solid #707070;
  border-right: 1px solid #707070;
}
.materiality .table-box .table thead th {
  background: #009944;
  border: 1px solid #fff;
  color: #fff;
  font-weight: normal;
  padding: 13px 10px;
}
.materiality .table-box .table thead th:first-child {
  border-left: 1px solid #707070;
}
.materiality .table-box .table thead th:last-child {
  border-right: 1px solid #707070;
}
.materiality .table-box .table tbody th,
.materiality .table-box .table tbody td {
  border: 1px solid #707070;
  padding: 15px 13px;
  vertical-align: top;
}
.materiality .table-box .table tbody th:nth-of-type(1) {
  padding: 15px 7px;
  width: 100px;
}
.materiality .table-box .table tbody th:nth-of-type(2) {
  width: 148px;
}
.materiality .table-box .table tbody .ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.materiality .table-box .table tbody .ttl .num {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 1.2rem;
}
.materiality .table-box .table tbody .group-e {
  background: rgba(2, 134, 120, 0.1);
}
.materiality .table-box .table tbody .group-e .ttl {
  color: #024942;
}
.materiality .table-box .table tbody .group-s {
  background: rgba(5, 94, 159, 0.1);
}
.materiality .table-box .table tbody .group-s .ttl {
  color: #033255;
}
.materiality .table-box .table tbody .group-g {
  background: rgba(213, 124, 45, 0.1);
}
.materiality .table-box .table tbody .group-g .ttl {
  color: #B45C0D;
}

/* -----------------------------------------------
* report Module
* reportページ用
-------------------------------------------------- */
.report .content-block .inner-block {
  padding-top: 100px;
  padding-bottom: 100px;
}
.report .box {
  margin-top: 60px;
}
.report .box .thumb {
  border: 1px solid #707070;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 280px;
  max-width: 100%;
}
.report .report-ttl {
  background: #009944;
  color: #fff;
  font-size: 20px;
  line-height: 1.4;
  margin-bottom: 50px;
  padding: 5px 30px;
}
.report .report-ttl:not(:first-child) {
  margin-top: 90px;
}
.report .report-list li + li {
  margin-top: 40px;
}
.report .report-list a {
  display: inline-block;
  padding-left: 18px;
  position: relative;
}
.report .report-list a::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.35em;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 7px;
  border-color: transparent transparent transparent #009944;
}
.report .report-list .ico-pdf::before {
  content: "";
  background: url(../img/sustainability/integrated_report/ico-pdf.svg) no-repeat center/contain;
  display: inline-block;
  margin: 0 5px 0 15px;
  vertical-align: middle;
  width: 23px;
  height: 23px;
}

/* -----------------------------------------------
* recruit Module
* recruitページ用
-------------------------------------------------- */
.contact .contact-block .inner-block {
  padding-top: 20px;
  padding-bottom: 157px;
}
.contact .contact-block .lead-title {
  color: #009944;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.contact .contact-block .contact-wrap {
  margin-top: 95px;
}
.contact .contact-block .lead {
  font-size: 14px;
  line-height: 2.2;
  margin-bottom: 20px;
}
.contact .contact-block .lead .c-red {
  display: inline-block;
  position: relative;
}
.contact .contact-block .lead .c-red::before {
  content: "必須";
  color: #FF0000;
}
.contact .contact-block .c-table01 tr.error th {
  color: #FF0000;
}
.contact .contact-block .c-table01 tr.error input, .contact .contact-block .c-table01 tr.error textarea {
  border-color: #FF0000;
}
.contact .contact-block .c-table01 tr:last-child .error {
  height: 0;
  position: relative;
  top: -10px;
}
.contact .contact-block .c-table01 tr:last-child td {
  padding-bottom: 30px;
}
.contact .contact-block .c-table01 th {
  color: #161616;
  font-size: 14px;
  position: relative;
  vertical-align: top;
  width: 300px;
}
.contact .contact-block .c-table01 th.c-required .inn {
  position: relative;
}
.contact .contact-block .c-table01 th.c-required .inn::before {
  content: "必須";
  color: #FF0000;
  display: block;
  font-size: 12px;
}
.contact .contact-block .c-table01 th.c-required.is-error {
  color: #FF0000;
}
.contact .contact-block .c-table01 td {
  padding-left: 0;
  position: relative;
  width: calc(100% - 300px);
}
.contact .contact-block .c-table01 td.l-flex {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.contact .contact-block .c-table01 td > .error {
  font-size: 14px;
  color: #FF0000;
}
.contact .contact-block .line {
  background: #707070;
  display: inline-block;
  height: 1px;
  width: 10px;
  position: relative;
  top: -5px;
  left: 8px;
}
.contact .contact-block .postal-btn {
  background: #6A6A6A;
  border-radius: 5px;
  cursor: pointer;
  display: inline-block;
  color: #fff;
  font-size: 14px;
  padding: 4px 45px 6px;
  text-align: center;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.contact .contact-block .select-wrap {
  display: inline-block;
  position: relative;
  max-width: 190px;
  width: 100%;
}
.contact .contact-block .select-wrap::before {
  content: "";
  display: inline-block;
  border-style: solid;
  border-width: 6px 7px 0 6px;
  border-color: #aaa transparent transparent transparent;
  position: absolute;
  height: 7px;
  width: 13px;
  top: 0;
  bottom: 0;
  right: 7px;
  margin: auto;
  pointer-events: none;
}
.contact .contact-block .radio-list li {
  position: relative;
}
.contact .contact-block .radio-list li + li {
  margin-top: 15px;
}
.contact .contact-block .radio-list li .list-text {
  display: block;
  padding-left: 30px;
}
.contact .contact-block .radio-list li .list-text::before {
  position: absolute;
  top: 11px;
  left: 0;
  width: 13px;
  height: 13px;
  border: 1px solid #161616;
  background: #fff;
  content: "";
  border-radius: 50%;
}
.contact .contact-block .radio-list li .list-text::after {
  position: absolute;
  top: 14px;
  left: 3px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #009944;
  content: "";
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.contact .contact-block .radio-list li input:checked + span::after {
  opacity: 1;
}
.contact .contact-block input[type=text], .contact .contact-block input[type=tel], .contact .contact-block input[type=email], .contact .contact-block select, .contact .contact-block textarea {
  border: 1px solid #707070;
  padding: 10px 10px 11px;
}
.contact .contact-block input[type=radio] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
}
.contact .contact-block input.long {
  max-width: 600px;
  width: 100%;
}
.contact .contact-block input[name=postal-code01] {
  max-width: 88px;
}
.contact .contact-block input[name=postal-code02] {
  max-width: 117px;
  margin-left: 18px;
  margin-right: 36px;
  position: relative;
}
.contact .contact-block select {
  max-width: 190px;
  width: 100%;
}
.contact .contact-block textarea {
  max-width: 600px;
  width: 100%;
}
.contact .contact-block label .text {
  display: inline-block;
  margin-right: 20px;
  width: 33px;
}
.contact .contact-block label + label {
  margin-left: 22px;
}
.contact .contact-block .count {
  color: #777;
  display: block;
  font-size: 10px;
  text-align: right;
  max-width: 600px;
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 100%;
}
.contact .contact-block .btn-wrap .c-btn01 {
  cursor: pointer;
  margin: 60px auto 0;
  max-width: 300px;
  width: 100%;
}
.contact .contact-block .note {
  font-size: 14px;
  line-height: 2.2;
  text-align: center;
  margin-top: 30px;
}
.contact .contact-block .error-message {
  border: 2px solid #FF0000;
  color: #FF0000;
  padding: 20px 20px;
  display: none;
}
.contact .contact-block .error-message.is-error {
  display: block;
}
.contact .confirm-area {
  display: none;
}
.contact .confirm-area .c-required {
  color: #FF0000;
}
.contact .confirm-area .c-table01 {
  margin-top: 68px;
  max-width: none;
}
.contact .confirm-area .c-table01 th {
  color: #161616;
}
.contact .confirm-area .btn-wrap {
  -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;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 90px;
}
.contact .confirm-area .btn-wrap .cancel, .contact .confirm-area .btn-wrap .post {
  max-width: 300px;
  width: 100%;
  margin: 0;
}
.contact .confirm-area .btn-wrap .cancel {
  background: #6A6A6A;
  color: #fff;
  font-size: 16px;
  padding: 16px 20px 17px;
  margin-right: 25px;
}
.contact .confirm-area.is-open {
  display: block;
}
.contact.complete .title {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  margin-top: 37px;
}
.contact.complete .text {
  font-size: 24px;
  text-align: center;
}
.contact.complete .btn-wrap {
  margin: 50px auto 0;
}
.contact.complete .btn-wrap .c-btn01 {
  margin: auto;
}
.contact.complete.is-open {
  display: block;
}
.contact .overlay {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: grey;
  opacity: 0.6;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.contact .overlay.is-open {
  display: block;
}
.contact.en-page .contact-block .lead .c-red::before {
  content: "Required fields";
}
.contact.en-page .contact-block .c-table01 th.c-required .inn::before {
  content: "Required fields";
}

/* -----------------------------------------------
* terms Module
* termsページ用
-------------------------------------------------- */
.terms-block {
  margin-top: 70px;
  margin-bottom: 120px;
}
.terms-block .lead-txt {
  text-align: left;
  line-height: 2.285;
  margin-top: 60px;
}
.terms-block .lead-txt p + * {
  margin-top: 30px;
}
.terms-block .c-txt-list {
  margin-top: 60px;
}
.terms-block .c-txt-list .txt + .c-number-list {
  padding-top: 10px;
  padding-left: 20px;
}
.terms-block .c-txt-list .txt.c-number-bracket-list {
  line-height: unset;
}
.terms-block .contact {
  padding-left: 30px;
}
.terms-block .number-list > li {
  font-size: 14px;
}
.terms-block .number-list > li::marker {
  font-size: 14px;
  font-weight: bold;
  color: #161616;
  position: absolute;
  left: 0;
}
.terms-block .number-list > li .cont-txt {
  font-size: 14px;
  margin-top: -25px;
  padding-left: 15px;
}
.terms-block .number-list > li .cont-txt + .c-number-bracket-list {
  padding-top: 10px;
}
.terms-block .box + * {
  margin-top: 120px;
}
.terms-block.privacy {
  margin-bottom: 260px;
}
.terms-block.privacy .c-txt-list.txt-colum li + * {
  margin-top: 10px;
}
.terms-block.charter {
  position: relative;
}
.terms-block.charter .bg-logo {
  position: absolute;
  bottom: 0;
  right: 0;
}
.terms-block.charter p {
  text-indent: 0.5em;
}
.terms-block.charter .lead-txt p + * {
  margin-top: 0;
}
.terms-block.charter .c-txt-list > li .c-title06 .sub {
  font-size: 16px;
  text-indent: 0;
}
.terms-block.charter .c-txt-list > li .txt + * {
  padding-top: 0 !important;
}
.terms-block.charter .last-txt {
  text-align: right;
  font-size: 14px;
  margin-top: 40px;
}
.terms-block.charter .cont {
  font-size: 14px;
  margin-top: 80px;
}
.terms-block.charter .cont .txt {
  text-indent: 0em;
}
.terms-block.charter .cont .c-only-number-list {
  margin-top: 10px;
}
.terms-block.charter .cont .c-only-number-list li + * {
  margin-top: 5px;
}
.terms-block.code .c-txt-list li .c-title06 {
  padding-left: 0;
}
.terms-block.code .c-txt-list li .c-title06 .c-title05 {
  padding-left: 30px;
}
.terms-block.code .c-txt-list li .c-title06 .sub {
  margin-left: 0;
}
.terms-block.code .c-number-in-list {
  font-size: 14px;
  padding-top: 30px;
  line-height: 2.285;
}
.terms-block.code .c-number-in-list li + * {
  padding-top: 30px;
}
.terms-block.code .c-number-in-list li .circle-txt {
  text-indent: -2em;
  padding-left: 2.5em;
}
.terms-block.code .bg-logo {
  position: absolute;
  width: 25%;
  bottom: 8%;
  right: 10%;
}
.terms-block.risk .c-title03 {
  text-align: left;
  margin-bottom: 60px;
}
.terms-block.risk .c-title03::before {
  left: 0;
  right: unset;
}
.terms-block.risk .lead-box .txt {
  font-size: 14px;
  line-height: 2.285;
  padding-top: 30px;
}
.terms-block.risk .lead-box .c-number-bracket-list {
  padding-left: 30px;
  line-height: unset;
}
.terms-block.risk .lead-box .c-number-bracket-list > li {
  counter-increment: cnt;
  font-size: 14px;
  padding-left: 0em;
  text-indent: 0em;
}
.terms-block.risk .c-btn01 {
  margin-top: 30px;
  font-size: 12px;
}

/* -----------------------------------------------
* about Module
* aboutページ用
-------------------------------------------------- */
.about .mv-block {
  background: url(/img/about/mv.jpg) no-repeat center center;
  background-size: cover;
  height: 680px;
}
.about .mv-block .inner-block {
  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: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 188px;
  height: 100%;
  width: 100%;
}
.about .mv-block .mv-title .main, .about .mv-block .mv-title .sub, .about .mv-block .mv-title .text {
  display: block;
}
.about .mv-block .mv-title .main {
  font-size: 92px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 10px;
}
.about .mv-block .mv-title .sub {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 5px;
}
.about .mv-block .mv-title .text {
  font-size: 20px;
}
.about .intro-block .inner-block {
  padding-top: 80px;
  padding-bottom: 20px;
}
.about .intro-block .lead {
  font-size: 18px;
  line-height: 1.5;
}
.about .intro-block .lead + .c-title03 {
  margin-top: 48px;
}
.about .intro-block .lead + .img {
  margin-top: 50px;
}
.about .intro-block .img {
  text-align: center;
  margin: 13px auto 24px;
}
.about .intro-block .img + .note {
  font-size: 14px;
  text-align: right;
  position: relative;
  top: -70px;
}
.about .intro-block .bg-box {
  background: #D9EBE1;
  text-align: center;
  padding: 47px 20px;
  margin-bottom: 98px;
}
.about .intro-block .bg-box .text {
  font-size: 24px;
  font-weight: bold;
}
.about .intro-block .bg-box .c-btn01 {
  margin: 23px auto 0;
}
.about .intro-block .intro-box-wrap {
  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: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 892px;
  margin: 50px auto 0;
}
.about .intro-block .intro-box-wrap .box {
  border: 2px solid #009944;
  padding: 25px 12px;
  text-align: center;
  width: calc((100% - 52px) / 3);
}
.about .intro-block .intro-box-wrap .box .title {
  color: #009944;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  min-height: 76px;
}
.about .intro-block .intro-box-wrap .box .text {
  color: #009944;
  font-size: 58px;
  font-weight: bold;
  margin-top: 30px;
  margin-top: auto;
}
.about .intro-block .intro-box-wrap .box .text .small {
  font-size: 20px;
}
.about .intro-block .movie-wrap {
  cursor: pointer;
  max-width: 640px;
  margin: 40px auto;
  width: 1000%;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.about .intro-block .movie-wrap img {
  width: 100%;
}
.about .project-block {
  background: url(/img/about/about-bg.jpg) no-repeat center bottom;
}
.about .project-block .inner-block {
  padding-bottom: 100px;
}
.about .project-block .project-title {
  background: url(/img/about/title-bg.png) no-repeat center center;
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  padding: 20px 10px 19px;
  margin-bottom: 20px;
}
.about .project-block .lead {
  text-align: center;
  line-height: 1.5;
}
.about .project-block .tab-ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-top: 30px;
  padding-bottom: 30px;
}
.about .project-block .tab-ul li {
  cursor: pointer;
  position: relative;
  height: 60px;
  width: calc(100% / 2);
  opacity: 1;
}
.about .project-block .tab-ul li picture {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  width: 100%;
  height: 100%;
}
.about .project-block .tab-ul li:last-child .txt {
  right: 0;
}
.about .project-block .tab-ul li.current picture.on {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  opacity: 1;
}
.about .project-block .tab-ul li:not(.current) picture.off {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  opacity: 1;
}
.about .project-block .tab-ul li .txt {
  color: #009944;
  font-size: 20px;
  position: absolute;
  top: -35px;
}
.about .project-block .tab-target-div {
  display: block;
}
.about .project-block .tab-target .bg-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -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;
  min-height: 307px;
  padding: 0 20px;
  position: relative;
}
.about .project-block .tab-target .bg-box.bg01 {
  background: url(/img/about/project01-bg.jpg) no-repeat center center;
}
.about .project-block .tab-target .bg-box.bg02 {
  background: url(/img/about/project02-bg.jpg) no-repeat center center;
}
.about .project-block .tab-target .bg-box::before {
  content: "";
  display: inline-block;
  border-style: solid;
  height: 21px;
  width: 32px;
  border-width: 21px 16px 0 16px;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  bottom: 50px;
  left: 0;
  right: 0;
  margin: auto;
}
.about .project-block .tab-target .bg-box .title {
  color: #fff;
  text-align: center;
}
.about .project-block .tab-target .bg-box .title .sub {
  display: block;
  font-size: 20px;
  line-height: 1.45;
}
.about .project-block .tab-target .bg-box .title .main {
  display: block;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.475;
}
.about .project-block .tab-target .bg-box .title .main .small {
  display: block;
  font-size: 24px;
}
.about .project-block .tab-target .bg-box .text {
  color: #fff;
  text-align: center;
  margin-top: 5px;
}
.about .project-block .tab-target .green-box {
  margin-top: 25px;
  margin-bottom: 100px;
}
.about .project-block .tab-target .green-box .top {
  background: -webkit-gradient(linear, left top, left bottom, from(#4c9b52), color-stop(9.71%, #4b9a51), to(#115d1b));
  background: linear-gradient(#4c9b52 0%, #4b9a51 9.71%, #115d1b 100%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 65px 63px;
}
.about .project-block .tab-target .green-box .top .text-wrap {
  margin-right: 50px;
  position: relative;
  width: calc(100% - 626px);
}
.about .project-block .tab-target .green-box .top .text-wrap .title {
  color: #fff;
  margin-bottom: 5px;
}
.about .project-block .tab-target .green-box .top .text-wrap .title .sub {
  display: block;
  font-size: 20px;
}
.about .project-block .tab-target .green-box .top .text-wrap .title .main {
  display: block;
  font-size: 42px;
  font-weight: bold;
  line-height: 1.2;
}
.about .project-block .tab-target .green-box .top .text-wrap .title .main .small {
  display: block;
  font-size: 24px;
}
.about .project-block .tab-target .green-box .top .text-wrap .text {
  color: #fff;
  line-height: 1.5;
}
.about .project-block .tab-target .green-box .top .text-wrap .text .small {
  font-size: 10px;
  vertical-align: top;
}
.about .project-block .tab-target .green-box .top .text-wrap .note {
  color: #fff;
  font-size: 14px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.about .project-block .tab-target .green-box .top .img-wrap {
  width: 576px;
}
.about .project-block .tab-target .green-box .bottom {
  background: #d9ebe1;
  padding: 20px 50px 50px;
}
.about .project-block .tab-target .green-box .bottom .text {
  font-size: 20px;
  line-height: 1.7;
  margin-top: 20px;
}
.about .project-block .tab-target .green-box .bottom .text.mw-707 {
  font-size: 18px;
  line-height: 1.8;
}
.about .project-block .tab-target .green-box .bottom .text + .c-title03 {
  margin-top: 60px;
}
.about .project-block .tab-target .green-box .bottom .img {
  margin: 23px auto 47px;
  text-align: center;
}
.about .project-block .tab-target .green-box .bottom .img.movie {
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.about .project-block .tab-target .green-box .bottom .num-list {
  max-width: 575px;
  margin: 30px auto 0;
}
.about .project-block .tab-target .green-box .bottom .num-list li {
  color: #009944;
  font-size: 20px;
  font-weight: bold;
  position: relative;
  padding-left: 95px;
}
.about .project-block .tab-target .green-box .bottom .num-list li + li {
  margin-top: 30px;
}
.about .project-block .tab-target .green-box .bottom .num-list li .num {
  background: url(/img/about/num-bg.png) no-repeat center center;
  background-size: contain;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  position: absolute;
  top: -3px;
  left: 0;
  padding: 3px 30px 6px 22px;
  height: 40px;
  width: 80px;
}
.about .project-block .tab-target .green-box .bottom .l-flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 710px;
  margin: auto;
}
.about .project-block .tab-target .green-box .bottom .l-flex .img {
  max-width: 128px;
  margin: 0;
}
.about .project-block .tab-target .green-box .bottom .l-flex .text {
  font-size: 16px;
  margin-top: 0;
  margin-left: 38px;
  width: calc(100% - 166px);
}
.about .project-block .tab-target:not(.current) {
  display: none;
}
.about .project-block .tab-target.current {
  display: block;
}
.about .project-block .modal-box {
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  width: 80%;
}
.about .project-block .modal-box .video {
  width: 100%;
}
.about .project-block .modal-box.is-open {
  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;
}
.about .project-block .modal-box .js-modalclose {
  cursor: pointer;
  position: absolute;
  top: -30px;
  right: 5px;
}
.about .project-block .modal-box .js-modalclose::before, .about .project-block .modal-box .js-modalclose::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 2px;
  position: absolute;
  top: 0;
  right: 0;
}
.about .project-block .modal-box .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.about .project-block .modal-box .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.about .project-block .modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.about .project-block .modal-bg.is-open {
  display: block;
}
.about .project-block .bottom-text {
  color: #009944;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  margin-top: 173px;
}
.about .resolution-block .inner-block {
  padding-top: 100px;
  padding-bottom: 100px;
}
.about .resolution-block .resolution-box {
  margin-top: 60px;
}
.about .resolution-block .resolution-box + .resolution-box {
  margin-top: 195px;
}
.about .resolution-block .resolution-box + .resolution-box .top.l-flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.about .resolution-block .resolution-box + .resolution-box .top.l-flex .text-wrap {
  margin-left: 0;
  margin-right: 60px;
}
.about .resolution-block .resolution-box .top .img {
  width: 570px;
}
.about .resolution-block .resolution-box .top .img .note {
  font-size: 14px;
  margin-top: 10px;
}
.about .resolution-block .resolution-box .top .text-wrap {
  margin-left: 60px;
  width: calc(100% - 630px);
}
.about .resolution-block .resolution-box .top .text-wrap .num {
  background: url(/img/about/num-bg.png) no-repeat center center;
  color: #fff;
  font-size: 20px;
  padding: 5px 38px 5px 20px;
}
.about .resolution-block .resolution-box .top .text-wrap .title {
  color: #009944;
  font-size: 20px;
  margin: 24px 0 20px;
}
.about .resolution-block .resolution-box .top .text-wrap .text {
  line-height: 2.75;
}
.about .resolution-block .resolution-box .top .text-wrap .bg-text {
  background: #d9ebe1;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  margin-top: 35px;
  padding: 19px 10px;
}
.about .resolution-block .resolution-box .bottom {
  margin-top: 60px;
}
.about .resolution-block .resolution-box .bottom .text-wrap {
  margin-right: 30px;
  width: calc(100% - 812px);
}
.about .resolution-block .resolution-box .bottom .text-wrap .title {
  color: #009944;
}
.about .resolution-block .resolution-box .bottom .text-wrap .text + .img {
  margin-top: 30px;
}
.about .resolution-block .resolution-box .bottom .text-wrap .text + .img .note {
  font-size: 14px;
}
.about .resolution-block .resolution-box .bottom .img-wrap {
  width: 782px;
}
.about .resolution-block .resolution-box .bottom .img-wrap .note {
  font-size: 14px;
}
.about .resolution-block .resolution-box .img-center {
  text-align: center;
  margin-top: 100px;
}
.about .resolution-block .resolution-box .img-center + .img-center {
  margin-top: 40px;
}
.about .resolution-block .resolution-box .img-list {
  margin-top: 30px;
}
.about .resolution-block .resolution-box .img-list .img-wrap {
  width: calc((100% - 60px) / 3);
}
.about .resolution-block .resolution-box .img-list .note {
  font-size: 14px;
  margin-top: 10px;
}
.about .about-slider-wrap {
  background: #C7E9D6;
  padding: 70px 0;
  position: relative;
}
.about .about-slider-wrap .slick-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.about .about-slider-wrap .about-slider .slide {
  background: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 20px 30px;
  margin: 0 8px;
  text-align: center;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  height: auto;
}
.about .about-slider-wrap .about-slider .slide .img {
  margin: 0;
  height: 219px;
}
.about .about-slider-wrap .about-slider .slide .img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.about .about-slider-wrap .about-slider .slide .title {
  display: inline-block;
  font-size: 18px;
  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;
  margin-top: 20px;
  text-align: center;
  position: relative;
  padding-right: 30px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.about .about-slider-wrap .about-slider .slide .title::before {
  background: url(/img/common/ico-arrow01.svg) no-repeat center center;
  content: "";
  height: 16px;
  width: 16px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.about .about-slider-wrap .dot-wrap {
  display: block;
  position: relative;
  max-width: 1200px;
  height: 40px;
  margin: 38px auto 0;
}
.about .about-slider-wrap .dot-wrap .slick-arrow {
  height: 40px;
  width: 40px;
  font-size: 0;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
}
.about .about-slider-wrap .dot-wrap .slick-arrow.slick-prev {
  left: 0;
}
.about .about-slider-wrap .dot-wrap .slick-arrow.slick-next {
  right: 0;
}
.about .about-slider-wrap .dot-wrap .slick-arrow.slick-next::before {
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}
.about .about-slider-wrap .dot-wrap .slick-arrow::before {
  background: url(/img/common/ico-arrow02.svg) no-repeat center center;
  background-size: contain;
  width: 36px;
  height: 36px;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.about .sub-slide {
  position: relative;
}
.about .sub-slide .slick-arrow {
  height: 40px;
  width: 40px;
  font-size: 0;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 100;
}
.about .sub-slide .slick-arrow.slick-prev {
  left: -100px;
}
.about .sub-slide .slick-arrow.slick-next {
  right: -100px;
}
.about .sub-slide .slick-arrow.slick-next::before {
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}
.about .sub-slide .slick-arrow::before {
  background: url(/img/common/ico-arrow02.svg) no-repeat center center;
  background-size: contain;
  width: 36px;
  height: 36px;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.about .sub-slide + .title {
  font-size: 20px;
  text-align: center;
  margin-top: 15px;
}
.about .modal-box {
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  width: 80%;
  max-width: 1200px;
}
.about .modal-box img {
  width: 100%;
}
.about .modal-box .inn {
  background: #fff;
  display: block;
  padding: 50px 200px;
  width: 100%;
}
.about .modal-box.is-open {
  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;
}
.about .modal-box .js-modalclose {
  cursor: pointer;
  position: absolute;
  top: -30px;
  right: 5px;
}
.about .modal-box .js-modalclose::before, .about .modal-box .js-modalclose::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 2px;
  position: absolute;
  top: 0;
  right: 0;
}
.about .modal-box .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.about .modal-box .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.about .modal-box .movie-frame {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.about .modal-box .movie-frame iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.about .modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.about .modal-bg.is-open {
  display: block;
}
.about.en-page .intro-block .intro-box-wrap .box .text {
  line-height: 1;
}
.about.en-page .intro-block .intro-box-wrap .box .text .small {
  display: inline-block;
}
.about.en-page .project-block .tab-target .green-box .top .text-wrap .note {
  position: relative;
  margin-top: 15px;
}

@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes flash {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
@keyframes flash {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
/* -----------------------------------------------
* sustainability Module
* sustainabilityページ用
-------------------------------------------------- */
.strength .mv-block {
  background: url(../img/home/bg_strength.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
.strength .mv-block::before {
  background: #007946;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  opacity: 0.62;
  position: absolute;
  top: 0;
  left: 0;
}
.strength .mv-block .inner-block {
  padding-top: 93px;
  padding-bottom: 148px;
}
.strength .mv-block .c-title01 {
  color: #fff;
}
.strength .mv-block .strength-box {
  margin-top: -140px;
}
.strength .mv-block .strength-box .inn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-top: 152px;
}
.strength .mv-block .strength-box .inn .img-wrap {
  width: 570px;
}
.strength .mv-block .strength-box .inn .img-wrap .title {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  position: relative;
  padding-left: 45px;
  margin-bottom: 7px;
}
.strength .mv-block .strength-box .inn .img-wrap .title::before {
  content: "";
  border-style: solid;
  border-width: 0 0 20px 20px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  top: 6px;
  left: 0;
}
.strength .mv-block .strength-box .inn .text-wrap {
  position: relative;
  margin-left: 60px;
  width: calc(100% - 630px);
}
.strength .mv-block .strength-box .inn .text-wrap .num {
  color: #fff;
  font-size: 100px;
  font-weight: bold;
  position: absolute;
  top: -150px;
  right: 0;
}
.strength .mv-block .strength-box .inn .text-wrap .text {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
  padding-top: 32px;
}
.strength .mv-block .strength-box .text-wrap.pc {
  margin-left: 0;
  width: 100%;
}
.strength .mv-block .strength-box .text-wrap.pc .text {
  padding-top: 0;
}
.strength .mv-block .strength-box .text-wrap .text {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
  padding-top: 32px;
}
.strength .mv-block .strength-box .text {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
  padding-top: 32px;
}
.strength .mv-block .strength-box a {
  color: #FFFF00;
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline;
}
.strength .content-block .inner-block {
  padding-top: 30px;
  padding-bottom: 170px;
}
.strength .content-block .inner-block.mw-1040 {
  max-width: 1040px;
}
.strength .content-block .inner-block.mw-1040 .wrap + .wrap {
  margin-top: 60px;
}
.strength .content-block .inner-block.mw-1040 .wrap .text {
  padding-left: 0;
  margin-top: 20px;
}
.strength .content-block .movie {
  cursor: pointer;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  max-width: 1040px;
}
.strength .content-block .movie img {
  width: 100%;
}
.strength .content-block .movie + .c-title04 {
  margin-top: 148px;
}
.strength .content-block .modal-box {
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  width: 80%;
  max-width: 1200px;
}
.strength .content-block .modal-box img {
  width: 100%;
}
.strength .content-block .modal-box.is-open {
  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;
}
.strength .content-block .modal-box .modal-title {
  font-size: 32px;
  color: #fff;
  position: absolute;
  top: -60px;
  left: 0;
}
.strength .content-block .modal-box .js-modalclose {
  cursor: pointer;
  position: absolute;
  top: -30px;
  right: 5px;
}
.strength .content-block .modal-box .js-modalclose::before, .strength .content-block .modal-box .js-modalclose::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 2px;
  position: absolute;
  top: 0;
  right: 0;
}
.strength .content-block .modal-box .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.strength .content-block .modal-box .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.strength .content-block .modal-box .movie-frame {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.strength .content-block .modal-box .movie-frame iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.strength .content-block .modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.strength .content-block .modal-bg.is-open {
  display: block;
}
.strength .content-block .wrap + .wrap {
  margin-top: 200px;
}
.strength .content-block .wrap .text {
  font-size: 14px;
  line-height: 2.4;
  padding-left: 110px;
}
.strength .content-block .wrap .text + .text {
  margin-top: 20px;
}
.strength .content-block .wrap .text + .text.mt-60 {
  margin-top: 60px;
}
.strength .content-block .wrap .text.bold {
  font-weight: bold;
  font-size: 16px;
}
.strength .content-block .wrap .text + .c-title05 {
  margin-top: 30px;
}
.strength .content-block .wrap .img-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 100px;
}
.strength .content-block .wrap .img-wrap.max-2 {
  padding-left: 110px;
  margin-top: 30px;
}
.strength .content-block .wrap .img-wrap.max-2 .img:nth-child(n+3) {
  margin-top: 30px;
}
.strength .content-block .wrap .img-wrap.max-3 {
  padding-left: 110px;
}
.strength .content-block .wrap .img-wrap.max-3.wide .img {
  width: calc((100% - 60px) / 3) !important;
}
.strength .content-block .wrap .img-wrap.max-3 .img {
  width: calc((100% - 40px) / 3);
}
.strength .content-block .wrap .img-wrap.max-3 .img:nth-child(2n+2) {
  margin-left: 0;
}
.strength .content-block .wrap .img-wrap.max-3 .img:not(:nth-child(3n+1)) {
  margin-left: 20px;
}
.strength .content-block .wrap .img-wrap.max-3 .img:nth-child(n+3) {
  margin-top: 0;
}
.strength .content-block .wrap .img-wrap.max-3 .img:nth-child(n+4) {
  margin-top: 60px;
}
.strength .content-block .wrap .img-wrap.max-4 {
  padding-left: 110px;
  margin-top: 30px;
}
.strength .content-block .wrap .img-wrap.max-4 .img {
  width: calc((100% - 60px) / 4);
}
.strength .content-block .wrap .img-wrap .img {
  width: calc((100% - 60px) / 2);
}
.strength .content-block .wrap .img-wrap .img:nth-child(2n+2) {
  margin-left: 60px;
}
.strength .content-block .wrap .img-wrap .img:nth-child(n+3) {
  margin-top: 60px;
}
.strength .content-block .wrap .img-wrap .img .txt {
  display: block;
  font-size: 14px;
  margin-top: 12px;
}
.strength .content-block .wrap .img-wrap .img img {
  width: 100%;
}
.strength .content-block .wrap .img-wrap .title {
  color: #009944;
  font-weight: bold;
  margin-bottom: 12px;
}
.strength .content-block .wrap .img-wrap .txt {
  font-size: 14px;
  line-height: 2.4;
}
.strength .content-block .wrap .img-wrap + .text {
  margin-top: 100px;
}
.strength .content-block .wrap .img-wrap + .text-box {
  margin-top: 100px;
}
.strength .content-block .wrap .flow-wrap {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: auto;
  margin-top: 50px;
  width: calc(100% - 110px);
}
.strength .content-block .wrap .flow-wrap + .flow-wrap {
  margin-top: 78px;
}

.strength .content-block .wrap .flow-wrap + .flow-wrap.fix20250904 {
  margin-top: 60px;
}

.strength .content-block .wrap .flow-wrap .text-wrap {
  margin-right: 50px;
  width: calc(100% - 565px);
}

.strength .content-block .wrap .flow-wrap .text-wrap.fix20250904 {
  margin-right: 0;
  width: 100%;
}

.strength .content-block .wrap .flow-wrap .text-wrap .title {
  position: relative;
}
.strength .content-block .wrap .flow-wrap .text-wrap .title .num {
  background: url(/img/about/num-bg.png) no-repeat center center;
  background-size: contain;
  color: #fff;
  display: block;
  font-size: 20px;
  font-weight: bold;
  padding: 3px 20px 5px 25px;
  position: absolute;
  top: 0;
  left: 0;
  height: 40px;
  width: 80px;
}
.strength .content-block .wrap .flow-wrap .text-wrap .title .main {
  color: #009944;
  display: block;
  font-size: 20px;
  font-weight: bold;
  padding-left: 92px;
  padding-top: 10px;
}
.strength .content-block .wrap .flow-wrap .text-wrap .text {
  padding-left: 0;
  margin-top: 20px;
}
.strength .content-block .wrap .flow-wrap .text-wrap .img {
  margin-top: 60px;
}
.strength .content-block .wrap .flow-wrap .text-wrap .img + .img {
  margin-top: 50px;
}
.strength .content-block .wrap .flow-wrap .img-wrap {
  margin-top: 0;
  width: 515px;
}
.strength .content-block .wrap .flow-wrap .img-wrap img + img {
  margin-top: 28px;
}
.strength .content-block .wrap .img-box {
  margin: 60px 0 88px auto;
  width: calc(100% - 110px);
}
.strength .content-block .wrap .img-box .text {
  padding-left: 0;
}
.strength .content-block .wrap .img-box .wrap {
  border: 1px solid #707070;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 24px 0;
  margin-top: 30px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.strength .content-block .wrap .img-box .wrap .img {
  position: relative;
}
.strength .content-block .wrap .img-box .wrap .img + .img {
  margin-left: 130px;
}
.strength .content-block .wrap .img-box .wrap .img + .img::before {
  background: url(/img/strength/gra-triangle.png) no-repeat center center;
  background-size: contain;
  content: "";
  height: 38px;
  width: 44px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -81px;
  margin: auto;
}
.strength .content-block .wrap .img-list {
  border: 1px solid #009944;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: auto;
  margin-top: 24px;
  padding: 18px;
  width: calc(100% - 110px);
}
.strength .content-block .wrap .img-list li {
  width: calc((100% - 50px) / 3);
}
.strength .content-block .wrap .img-list li img {
  width: 100%;
}
.strength .content-block .wrap .l-flex {
  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;
  margin-bottom: 25px;
}
.strength .content-block .wrap .l-flex .title {
  color: #009944;
  font-size: 20px;
  margin-bottom: 25px;
}
.strength .content-block .wrap .l-flex .img img {
  width: 100%;
}
.strength .content-block .wrap .l-flex .img .note {
  font-size: 14px;
  margin-top: 5px;
}
.strength .content-block .wrap .l-flex .img .note + img {
  margin-top: 30px;
}
.strength .content-block .wrap .c-title04:not(.full) {
  width: calc(100% - 110px);
  margin-top: 60px;
  margin-bottom: 10px;
  margin-left: auto;
}
.strength .content-block .wrap .c-title05 {
  padding-left: 110px;
}
.strength .content-block .wrap .box {
  padding-left: 130px;
}
.strength .content-block .wrap .box + .box {
  margin-top: 30px;
}
.strength .content-block .wrap .box + .text {
  font-weight: bold;
  font-size: 16px;
  margin-top: 100px;
  padding-left: 130px;
}
.strength .content-block .wrap .box .title {
  color: #009944;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
  margin-top: 60px;
}
.strength .content-block .wrap .box .txt {
  font-size: 14px;
  line-height: 2.4;
}
.strength .content-block .wrap .box .num-list {
  counter-reset: count 0;
}
.strength .content-block .wrap .box .num-list li + li {
  margin-top: 60px;
}
.strength .content-block .wrap .box .num-list li .ttl {
  display: block;
  font-weight: bold;
  font-size: 16px;
}
.strength .content-block .wrap .box .num-list li .ttl:before {
  content: "（" counter(count) "）";
  counter-increment: count 1;
}
.strength .content-block .wrap .box .num-list li .txt {
  display: block;
  font-size: 14px;
  line-height: 2.4285;
  margin-top: 15px;
  padding-left: 0;
}
.strength .content-block .wrap .box .num-list li .img-wrap {
  margin-top: 20px;
}
.strength .content-block .wrap .box .num-list li .img-wrap .note {
  display: block;
  text-align: right;
  font-size: 14px;
  margin-top: 5px;
}
.strength .content-block .wrap .box .num-list li .img-wrap img + img {
  margin-top: 60px;
}
.strength .content-block .wrap .box + .c-title05 {
  margin-top: 30px;
}
.strength .content-block .wrap .box .img-wrap {
  margin-top: 30px;
}
.strength .content-block .wrap .box .img-wrap + .c-btn01 {
  line-height: 1.5;
  padding: 6px 20px;
  margin-top: 30px;
}
.strength .content-block .wrap .text-box .title {
  color: #009944;
  font-size: 20px;
  font-weight: bold;
  padding-left: 110px;
  margin-bottom: 15px;
}
.strength .content-block .wrap .text-box .c-table-wrap {
  padding-left: 110px;
}
.strength .content-block .wrap .text-box + .text-box {
  margin-top: 25px;
}
.strength .content-block .wrap .text-box + .text {
  margin-top: 60px;
}
.strength .content-block .btn-wrap {
  margin-top: 50px;
}
.strength .content-block .btn-wrap .c-btn01 {
  margin: auto;
}
.strength .content-block .img-list-box-title {
  color: #009944;
  font-size: 20px;
  font-weight: bold;
  padding-left: 110px;
  margin-top: 60px;
  margin-bottom: 30px;
}
.strength .content-block .img-list-box-title + .img-wrap.wide {
  margin-top: 60px;
}
.strength .content-block .img-list-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-left: 110px;
}
.strength .content-block .img-list-box .box-wrap {
  width: calc((100% - 80px) / 2);
}
.strength .content-block .img-list-box .box-wrap .list-title {
  color: #009944;
  font-weight: bold;
  margin-bottom: 12px;
}
.strength .content-block .img-list-box .box-wrap .text {
  padding-left: 0;
  margin-top: 20px;
}
.strength .content-block .img-list-box .box-wrap .c-btn01 {
  line-height: 1.5;
  padding: 6px 20px;
}
.strength .content-block .img-list-box .slider-img {
  position: relative;
}
.strength .content-block .img-list-box .slider-img .slick-arrow {
  font-size: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 100;
}
.strength .content-block .img-list-box .slider-img .slick-arrow::before {
  content: "";
  display: block;
  display: inline-block;
  border-style: solid;
  border-width: 8px 0 8px 14px;
  border-color: transparent transparent transparent #fff;
  height: 14px;
  width: 16px;
}
.strength .content-block .img-list-box .slider-img .slick-arrow.slick-prev {
  left: 12px;
}
.strength .content-block .img-list-box .slider-img .slick-arrow.slick-prev::before {
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}
.strength .content-block .img-list-box .slider-img .slick-arrow.slick-next {
  right: 12px;
}
.strength .alart-text {
  background: #FF0000;
  color: #fff;
  padding: 15px;
  text-align: center;
  margin-top: 20px;
  max-width: 200px;
}

/* -----------------------------------------------
* sustainability Module
* sustainabilityページ用
-------------------------------------------------- */
.products .content-block .inner-block {
  padding-top: 20px;
  padding-bottom: 80px;
}
.products .content-block .text {
  margin: 25px 0;
  font-size: 14px;
}
.products .content-block .img {
  max-width: 950px;
  margin: auto;
}
.products .content-block .img-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 40px;
}
.products .content-block .img-wrap .img {
  cursor: pointer;
  width: calc((100% - 300px) / 5);
}
.products .content-block .img-wrap .img img {
  width: 100%;
}
.products .content-block .img-wrap .img .txt {
  cursor: pointer;
  color: #1A0DAB;
  display: block;
  font-size: 14px;
  margin-top: 5px;
  text-decoration: underline;
}
.products .content-block .modal-box {
  background: #fff;
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  padding: 65px 120px 90px;
  width: 80%;
  max-width: 900px;
}
.products .content-block .modal-box img {
  width: 100%;
}
.products .content-block .modal-box.is-open {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.products .content-block .modal-box .modal-title {
  display: block;
  font-size: 32px;
  margin-bottom: 15px;
}
.products .content-block .modal-box .text {
  color: #444;
  margin: 15px 0 0;
}
.products .content-block .modal-box .js-modalclose {
  cursor: pointer;
  position: absolute;
  top: -30px;
  right: 5px;
}
.products .content-block .modal-box .js-modalclose::before, .products .content-block .modal-box .js-modalclose::after {
  background: #fff;
  content: "";
  height: 20px;
  width: 2px;
  position: absolute;
  top: 0;
  right: 0;
}
.products .content-block .modal-box .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.products .content-block .modal-box .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.products .content-block .modal-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.products .content-block .modal-bg.is-open {
  display: block;
}

/* -----------------------------------------------
* corporate Module
* corporate-compliance-blockページ用
-------------------------------------------------- */
.compliance .terms-block .num-list {
  counter-reset: count 0;
  margin-top: 20px;
}
.compliance .terms-block .num-list li {
  font-size: 14px;
  position: relative;
  padding-left: 50px;
}
.compliance .terms-block .num-list li + li {
  margin-top: 15px;
}
.compliance .terms-block .num-list li:before {
  content: "（" counter(count) "）";
  counter-increment: count 1;
  position: absolute;
  top: 0;
  left: 0;
}
.compliance .terms-block .num-list02 {
  counter-reset: count 0;
  margin-top: 20px;
}
.compliance .terms-block .num-list02 > li {
  font-size: 14px;
  position: relative;
  padding-left: 20px;
}
.compliance .terms-block .num-list02 > li + li {
  margin-top: 15px;
}
.compliance .terms-block .num-list02 > li:before {
  content: counter(count) ".";
  counter-increment: count 1;
  position: absolute;
  top: 0;
  left: 0;
}
.compliance .terms-block .dot-list {
  margin-top: 15px;
}
.compliance .terms-block .dot-list li {
  font-size: 14px;
  position: relative;
  padding-left: 20px;
}
.compliance .terms-block .dot-list li + li {
  margin-top: 15px;
}
.compliance .terms-block .dot-list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.compliance .terms-block .dot-list li .inn {
  display: block;
  padding-left: 30px;
}
.compliance .terms-block .c-txt-list + .c-title03 {
  margin-top: 50px;
}
.compliance .terms-block .c-title03 {
  text-align: left;
}
.compliance .terms-block .c-title03::before {
  content: none;
}
.compliance .terms-block .c-txt-list > li:first-child {
  margin-top: 0;
}
.compliance .terms-block .c-txt-list > li::marker {
  font-size: 0;
}
.compliance .terms-block .c-txt-list > li h3 {
  counter-increment: none;
}
.compliance .terms-block .c-txt-list > li .c-title06 {
  padding-left: 0 !important;
}
.compliance .terms-block .btn-wrap {
  margin-top: 50px;
}
.compliance .terms-block .btn-wrap.l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */

@media only screen and (max-width: 640px) {
  html {
    font-size: 14px;
  }
  body {
    position: relative;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  input,
select,
textarea {
    font-size: 16px !important;
  }
  main {
    margin-top: 55px;
  }
  #wrapper,
.outer-block {
    min-width: 320px;
  }
  .inner-block {
    padding: 0 20px;
  }
  .pc {
    display: none !important;
  }
  .c-header {
    background: #fff;
    height: 55px;
    width: 100%;
  }
  .c-header .inner-block {
    padding: 15px 20px;
  }
  .c-header .menu-wrap {
    background: #fff;
    position: fixed;
    top: 55px;
    left: 0;
    padding: 0;
    z-index: 9999;
    opacity: 0;
    padding-bottom: 30px;
    pointer-events: none;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
    overflow-y: scroll;
    height: 100%;
    width: 100%;
    scrollbar-width: none;
    -ms-overflow-style: none;
    pointer-events: none;
  }
  .c-header .menu-wrap::-webkit-scrollbar {
    display: none;
  }
  .c-header .menu-wrap.is-open {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    pointer-events: all;
  }
  .c-header .logo {
    max-width: 188px;
  }
  .c-header .btn-menu {
    width: 62px;
    height: 55px;
    overflow: hidden;
    position: fixed;
    top: 0;
    right: 9px;
    z-index: 999;
  }
  .c-header .btn-menu .inn {
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 33px;
    height: 21px;
  }
  .c-header .btn-menu .line:nth-of-type(2)::after {
    top: 0;
    content: "";
  }
  .c-header .btn-menu .line,
.c-header .btn-menu .line:nth-of-type(2)::after {
    background: #009944;
    display: inline-block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
  }
  .c-header .btn-menu .line:nth-of-type(1) {
    top: 0;
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  .c-header .btn-menu .line:nth-of-type(3) {
    top: 7px;
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  .c-header .btn-menu .line:nth-of-type(2) {
    top: 15px;
  }
  .c-header .btn-menu .line:nth-of-type(1),
.c-header .btn-menu .line:nth-of-type(3) {
    -webkit-transition: 0.2s;
    transition: 0.2s;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
  }
  .c-header .btn-menu.is-open .line:nth-of-type(1), .c-header .btn-menu.is-open .line:nth-of-type(3) {
    -webkit-transform: scaleX(0) translate3d(0, 0, 0);
            transform: scaleX(0) translate3d(0, 0, 0);
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .c-header .btn-menu.is-open .line:nth-of-type(2), .c-header .btn-menu.is-open .line:nth-of-type(2)::after {
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
  }
  .c-header .btn-menu.is-open .line:nth-of-type(2) {
    -webkit-transform: rotate(45deg) translate3d(0, 0, 0);
            transform: rotate(45deg) translate3d(0, 0, 0);
  }
  .c-header .btn-menu.is-open .line:nth-of-type(2)::after {
    -webkit-transform: rotate(90deg) translate3d(0, 0, 0);
            transform: rotate(90deg) translate3d(0, 0, 0);
  }
  .c-header .c-menu {
    display: block;
    margin-left: 0;
    padding: 0 20px 0;
    position: relative;
    z-index: 950;
  }
  .c-header .c-menu .aco-btn {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 60px;
    z-index: 1;
  }
  .c-header .c-menu > li {
    position: relative;
  }
  .c-header .c-menu > li > .inn {
    border-bottom: 1px solid #707070;
    color: #009944;
    display: block;
    font-size: 16px;
    font-weight: 300;
    padding: 17px 0;
    width: 100%;
  }
  .c-header .c-menu > li > .inn::after {
    content: none;
  }
  .c-header .c-menu > li .inn.has-child {
    display: block;
  }
  .c-header .c-menu > li .inn.has-child.is-active::before {
    -webkit-transform: rotate(225deg);
            transform: rotate(225deg);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .c-header .c-menu > li .inn.has-child::before {
    left: inherit;
    right: 16px;
    top: 0;
    bottom: 0;
  }
  .c-header .c-menu .sub-menu-outer {
    display: none;
    position: relative;
    top: 0;
    padding: 0;
  }
  .c-header .c-menu .sub-menu-outer .sub-menu {
    padding-left: 0;
    display: block;
  }
  .c-header .c-menu .sub-menu-outer .sub-menu li:first-child {
    display: none;
  }
  .c-header .c-menu .sub-menu-outer .sub-menu li .inn {
    border-bottom: 1px solid #707070;
    display: block;
    font-weight: 300;
    padding: 17px 0;
  }
  .c-header .c-menu .sub-menu-outer .sub-menu li .inn::before {
    content: none;
  }
  .c-header .contact-btn {
    margin-top: 44px;
  }
  .c-header .contact-btn a {
    background: linear-gradient(325deg, #4c9b52 0%, #115d1b 100%);
    color: #fff;
    display: block;
    max-width: 159px;
    text-align: center;
    font-size: 8px;
    padding: 7px 20px 7px;
    position: relative;
    margin: auto;
    z-index: 2;
  }
  .c-header .contact-btn a::before {
    background: url(../img/common/ico_triangle.svg) no-repeat center center;
    background-size: contain;
    content: "";
    height: 38px;
    width: 36px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
  }
  .c-header .language-btn {
    position: relative;
    top: 0;
    right: 0;
    padding: 0 20px;
  }
  .c-header .language-btn a {
    font-size: 12px;
    padding: 5px 10px;
    text-align: center;
    margin-top: 10px;
    width: calc(100% / 2);
  }
  .search-wrap {
    display: none;
  }
  .c-footer::before {
    height: 74px;
    width: 126px;
    right: 19px;
    bottom: 60px;
  }
  .c-footer .inner-block {
    padding: 40px 20px 100px;
  }
  .c-footer .footer-menu-wrap {
    display: block;
  }
  .c-footer .footer-menu-wrap .footer-menu {
    width: 100%;
  }
  .c-footer .footer-menu-wrap .footer-menu:first-child li {
    padding: 7px 0 7px 14px;
  }
  .c-footer .footer-menu-wrap .footer-menu:last-child li:last-child {
    border-bottom: none;
  }
  .c-footer .footer-menu-wrap .footer-menu.in-ttl {
    position: relative;
  }
  .c-footer .footer-menu-wrap .footer-menu li.title {
    font-size: 14px;
    position: relative;
  }
  .c-footer .footer-menu-wrap .footer-menu li.title.is-open::before {
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
  }
  .c-footer .footer-menu-wrap .footer-menu li.title::before {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    right: 20px;
    bottom: 20px;
    margin: auto;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    pointer-events: none;
  }
  .c-footer .footer-menu-wrap .footer-menu li {
    border-bottom: 1px solid #707070;
  }
  .c-footer .footer-menu-wrap .footer-menu a {
    display: block;
    padding: 7px 0 7px 14px;
  }
  .c-footer .info-text {
    right: inherit;
    left: 20px;
    bottom: 6px;
  }
  .c-footer .info-text .text {
    font-size: 10px;
  }
  .c-footer .info-text .tel {
    font-size: 16px;
  }
  .c-footer .info-text .ico {
    width: 22px;
  }
  .c-footer .copyright {
    font-size: 10px;
    padding: 22px;
  }
  .c-footer .aco-ul a::before {
    width: 10px;
    left: 14px;
    top: 18px;
  }
  .c-footer .aco-ul a {
    font-weight: 400 !important;
    padding-left: 30px !important;
  }
  .c-footer .aco-ul {
    display: none;
  }
  .c-footer .aco-ul li {
    padding: 0 !important;
  }
  #pagetop a::before {
    border-width: 0 15px 9px 15px;
    width: 30px;
    height: 9px;
  }
  .c-title01 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .c-title02 .main {
    font-size: 24px;
  }
  .c-title02 .sub {
    font-size: 18px;
  }
  .c-title03 {
    font-size: 24px;
    padding-bottom: 7px;
  }
  .c-title03.fz-16 {
    font-size: 16px;
  }
  .c-title03::before {
    width: 100%;
  }
  .c-title03.fz-30 {
    font-size: 16px;
  }
  .c-title04 {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .c-title04.fz-16 {
    font-size: 16px;
  }
  .c-title04.fz-24 {
    font-size: 18px;
  }
  .c-title05 {
    font-size: 16px;
    padding-bottom: 10px;
  }
  .c-title05.fz-24 {
    font-size: 18px;
  }
  .c-title06 {
    font-size: 16px;
    padding-bottom: 10px;
  }
  .c-title06::before {
    width: 100%;
  }
  .c-title07 {
    margin-bottom: 20px;
  }
  .c-title07 .num {
    font-size: 18px;
    height: 40px;
    width: 40px;
  }
  .c-title07 .main {
    font-size: 20px;
    margin-left: 20px;
    width: calc(100% - 60px);
  }
  .c-btn01 {
    font-size: 8px;
    max-width: 160px;
    padding: 7px 20px 7px;
    margin: auto;
  }
  .c-btn01::before {
    width: 20px;
    height: 20px;
  }
  .c-btn01.wi-400 {
    max-width: 200px;
  }
  .c-btn01.pdf {
    text-align: left;
  }
  .c-btn01.pdf .inn::before {
    height: 13px;
    width: 13px;
    left: inherit;
    right: 0;
  }
  .c-btn02 {
    max-width: 160px;
    font-size: 8px;
    margin: auto;
    padding: 7px 20px 7px;
  }
  .c-btn-area {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .c-btn-area .btn-wrap {
    min-width: calc((100% / 2) - 5px);
    width: calc((100% / 2) - 5px);
  }
  .c-btn-area .btn-wrap .txt {
    font-size: 10px;
  }
  .c-btn-area .btn-wrap .c-btn01 {
    margin: unset;
  }
  .c-mv {
    height: 100px;
  }
  .c-mv .mv-title .main {
    font-size: 13px;
  }
  .c-mv .mv-title .sub {
    font-size: 10px;
  }
  .c-mv .mv-bg img {
    height: 100px;
  }
  .c-mv.mv-txt {
    height: 172px;
  }
  .c-mv.mv-txt .explanation {
    font-size: 10px;
    text-align: center;
    margin-top: 10px;
  }
  .c-mv.mv-txt .mv-title .main {
    font-size: 19px;
  }
  .c-mv.mv-txt .mv-bg img {
    height: 172px;
  }
  .breadcrumbs-block {
    padding: 10px 0;
  }
  .breadcrumbs-block .breadcrumbs-list li + li {
    padding-left: 28px;
  }
  .breadcrumbs-block .breadcrumbs-list li + li::before {
    width: 6px;
    height: 6px;
    left: 10px;
    top: 4px;
  }
  .breadcrumbs-block .breadcrumbs-list .inn {
    font-size: 10px;
  }
  .lead-txt {
    font-size: 10px;
    line-height: 1.6;
    margin-top: 5px;
  }
  .c-table01 th, .c-table01 td {
    padding: 20px 0;
  }
  .c-table01 th {
    font-size: 12px;
    width: 105px;
  }
  .c-table01 td {
    font-size: 10px;
    line-height: 1.6;
    width: calc(100% - 105px);
  }
  .c-table01 .l-flex {
    display: block;
  }
  .c-table01 .l-flex .btn-wrap {
    display: block;
    margin-top: 10px;
  }
  .c-table01 .l-flex .btn-wrap .c-btn01 {
    margin: 0;
  }
  .c-table01 .l-flex .btn-wrap .c-btn01 + .c-btn01 {
    margin-top: 9px;
  }
  .c-table02 th, .c-table02 td {
    font-size: 10px;
  }
  .c-table02 th {
    padding: 22px 15px;
  }
  .c-table02 td.td-img {
    width: 66px;
  }
  .c-table02 td.td-img + td {
    width: 58px;
  }
  .c-table03 {
    width: 100%;
  }
  .c-table03:not(.normal) {
    white-space: nowrap;
  }
  .c-table03:not(.normal) thead {
    display: block;
    float: left;
    width: 100px;
  }
  .c-table03:not(.normal) thead th {
    width: 100px;
  }
  .c-table03:not(.normal) thead th + th {
    border-top: none;
  }
  .c-table03:not(.normal) tbody {
    display: block;
    float: left;
    width: calc(100% - 100px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .c-table03:not(.normal) tbody td {
    border-left: none;
    width: 216px;
  }
  .c-table03:not(.normal) tbody td + td {
    border-top: none;
  }
  .c-table03:not(.normal) tr {
    display: block;
    float: left;
    width: 100%;
  }
  .c-table03:not(.normal) tr th, .c-table03:not(.normal) tr td {
    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;
    height: 70px;
    line-height:1.2;
  }

  .c-table03 tr th, .c-table03 tr td {
    padding: 10px;
  }
  .c-table03.en thead {
    width: 120px;
  }
  .c-table03.en thead th {
    width: auto;
  }
  .c-table03.en tbody {
    width: calc(100% - 120px);
  }
  .c-table03 th, .c-table03 td {
    font-size: 10px;
    padding: 0;
  }
  .c-table03 td.min-200 {
    min-width: 120px;
  }
  .c-table04 tr {
    font-size: 10px;
  }
  .c-table04 th {
    padding-right: 20px;
  }
  .c-table04 th .line {
    margin-right: 10px;
  }
  .c-table05 {
    white-space: nowrap;
  }
  .c-table-wrap.is-scroll {
    overflow-x: scroll;
    overflow-y: hidden;
    padding-bottom: 5px;
  }
  .c-table-wrap.is-scroll::-webkit-scrollbar {
    width: 4px;
    height: 5px;
  }
  .c-table-wrap.is-scroll::-webkit-scrollbar-track {
    background: #cfcfcf;
    border-radius: 100px;
  }
  .c-table-wrap.is-scroll::-webkit-scrollbar-thumb {
    background: #007946;
    border-radius: 100px;
  }
  .outer-link {
    display: block;
    font-size: 10px;
  }
  .c-link {
    font-size: 10px;
  }
  .content {
    padding: 40px 0;
  }
  .c-bottom-wrap {
    gap: 15px 24px;
  }
  .c-bottom-wrap .link-box {
    max-width: 295px;
    margin: auto;
    width: 100%;
  }
  .c-bottom-wrap .link-box .img .decoration {
    font-size: 100px;
  }
  .c-bottom-wrap .link-box .text {
    font-size: 16px;
  }
  .c-charter {
    padding: 20px;
  }
  .c-charter .charter-ttl {
    font-size: 16px;
  }
  .c-charter .charter-txt {
    line-height: 1.4;
    font-size: 12px;
  }
  .c-charter .btn-wrap {
    margin-top: 15px;
    gap: 10px 20px;
  }
  .c-charter .btn-wrap .c-btn01 {
    width: 160px;
    margin: 0;
  }
  .c-txt-list > li .ttl {
    margin-top: -26px;
  }
  .c-txt-list > li .c-title06 {
    padding-left: 20px;
  }
  .c-txt-list > li::marker {
    font-size: 16px;
  }
  .c-txt-list > li .txt {
    padding-top: 10px;
    font-size: 10px;
    line-height: 1.6;
  }
  .c-txt-list > li + * {
    margin-top: 40px;
  }
  .c-txt-list.number-list > li {
    font-size: 10px;
  }
  .c-txt-list.number-list > li::marker {
    font-size: 10px;
  }
  .c-txt-list.number-list > li .cont-txt {
    font-size: 10px;
    margin-top: -18px;
  }
  .c-txt-list.number-list > li + * {
    margin-top: 10px;
  }
  .c-number-bracket-list > li {
    font-size: 10px;
  }
  .c-number-bracket-list > li::marker {
    font-size: 10px;
  }
  .c-number-bracket-list > li + * {
    margin-top: 5px;
  }
  .c-only-number-list > li {
    font-size: 10px;
  }
  .c-only-number-list > li::marker {
    font-size: 10px;
  }
  .c-circle-list > li {
    font-size: 10px;
  }
  .c-circle-list > li + * {
    margin-top: 0px;
  }
  .search-block .inner-block {
    padding-top: 40px;
    padding-bottom: 80px;
  }
  .c-404-block .inner-block {
    padding: 50px 20px;
  }
  .c-404-block .c-title03 {
    font-size: 40px;
  }
  .c-404-block .c-btn01 {
    margin-top: 30px;
  }
  .c-text-link {
    padding: 20px;
  }
  .c-text-link a {
    display: block;
    text-align: left;
  }
  .c-text-link a + a {
    margin-top: 10px;
  }
  .c-text-link a::before {
    left: inherit;
    right: 16px;
    top: 0;
    bottom: 0;
  }
  .c-text-link.in-title .title {
    font-size: 16px;
  }
  .home .mv-block {
    height: 41.40625vw;
  }
  .home .mv-block .movie-wrap {
    height: 100%;
    top: -6.6666666667vw;
  }
  .home .mv-block .movie-wrap .video {
    width: 100%;
  }
  .home .about-block .c-title01 {
    text-align: center;
  }
  .home .about-block .inner-block {
    padding-top: 15px;
    padding-bottom: 45px;
  }
  .home .about-block .text {
    font-size: 10px;
    line-height: 2.4;
    text-align: center;
  }
  .home .about-block .btn-wrap {
    margin-top: 19px;
  }
  .home .about-block .img-wrap {
    display: none;
  }
  .home .strength-block .inner-block {
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .home .strength-block .c-title01 {
    font-size: 18px;
    text-align: center;
  }
  .home .strength-block .strength-slider {
    margin-top: 0;
  }
  .home .strength-block .strength-slider .strength-box .inn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 0;
  }
  .home .strength-block .strength-slider .strength-box .inn .img-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    width: 100%;
  }
  .home .strength-block .strength-slider .strength-box .inn .img-wrap .title {
    font-size: 18px;
    padding-left: 30px;
    margin-top: 10px;
    margin-bottom: 8px;
  }
  .home .strength-block .strength-slider .strength-box .inn .img-wrap .title::before {
    border-width: 0 0 20px 20px;
    top: 4px;
  }
  .home .strength-block .strength-slider .strength-box .inn .text-wrap {
    padding-bottom: 80px;
    margin-left: 0;
    width: 100%;
  }
  .home .strength-block .strength-slider .strength-box .inn .text-wrap .num {
    top: inherit;
    right: inherit;
    bottom: 0;
    left: 0;
    font-size: 60px;
    line-height: 1;
  }
  .home .strength-block .strength-slider .strength-box .inn .text-wrap .text {
    font-size: 12px;
    line-height: 2;
    padding-top: 0;
  }
  .home .strength-block .strength-slider .strength-box .text-wrap .text {
    font-size: 12px;
    line-height: 2;
    padding-top: 0;
  }
  .home .strength-block .strength-slider .slick-arrow {
    border: none;
    height: 26px;
    width: 26px;
    bottom: 22px;
    top: inherit;
  }
  .home .strength-block .strength-slider .slick-arrow.slick-prev {
    left: inherit;
    right: 40px;
  }
  .home .strength-block .strength-slider .slick-arrow.slick-prev::before {
    left: 3px;
  }
  .home .strength-block .strength-slider .slick-arrow.slick-next {
    right: 0;
  }
  .home .strength-block .strength-slider .slick-arrow.slick-next::before {
    right: 3px;
  }
  .home .strength-block .strength-slider .slick-arrow::before {
    width: 9px;
    height: 9px;
    border-top: 3px solid #007946;
    border-right: 3px solid #007946;
  }
  .home .strength-block .strength-slider .slick-dots {
    margin-top: 0;
  }
  .home .strength-block .strength-slider .slick-dots button::before {
    height: 8px;
    width: 8px;
  }
  .home .strength-block .strength-slider .slick-dots li + li {
    margin-left: 5px;
  }
  .home .strength-block .thumb-slider {
    display: none;
  }
  .home .news-block .inner-block {
    padding: 82px 20px 72px;
  }
  .home .news-block .btn-wrap {
    margin-top: 0;
  }
  .home .news-block .c-title01 {
    margin-bottom: 40px;
  }
  .home .news-block .news-list li a {
    padding: 5px;
  }
  .home .news-block .news-list li .tag-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -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;
    max-width: 125px;
  }
  .home .news-block .news-list li .text {
    font-size: 10px;
    margin-left: 13px;
    width: calc(100% - 138px);
  }
  .home .news-block .news-list li .day {
    font-size: 10px;
    margin-right: 10px;
  }
  .home .news-block .news-list li .tag {
    font-size: 10px;
    min-width: 60px;
    padding: 0;
  }
  .home .news-block .l-flex {
    display: block;
    margin-top: 35px;
  }
  .home .news-block .l-flex .news-box {
    width: 100%;
  }
  .home .news-block .l-flex .news-box + .news-box {
    margin-top: 47px;
  }
  .home .news-block .l-flex .news-box .title {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .home .news-block .l-flex .news-box .news-list a {
    padding: 2px 0;
  }
  .home .news-block .l-flex .news-box .link-list li + li {
    margin-top: 10px;
  }
  .home .news-block .l-flex .news-box .link-list a {
    font-size: 10px;
  }
  .home .history-block .inner-block {
    padding-top: 20px;
  }
  .home .history-block .lead {
    font-size: 10px;
    line-height: 2.4;
  }
  .home .history-block .modal-wrap {
    display: block;
  }
  .home .history-block .modal-wrap .modal {
    width: 100%;
  }
  .home .history-block .modal-wrap .modal + .modal {
    margin-left: 0;
    margin-top: 20px;
  }
  .home .history-block .modal-wrap .modal .note {
    font-size: 18px;
  }
  .home .history-block .modal-box {
    width: 90%;
  }
  .home .history-block .modal-box img {
    width: 100%;
  }
  .home .history-block .youtube-block .inner-block {
    padding-bottom: 60px;
  }
  .home .history-block .youtube-block .img {
    max-width: 205px;
  }
  .home .history-block .youtube-block .text {
    margin-top: 6px;
  }
  .home .info-block::before {
    background: url(../img/home/sp/bg_info02.png) no-repeat center center;
    background-size: contain;
    height: 336px;
    width: 359px;
  }
  .home .info-block::after {
    background: url(../img/home/sp/bg_info01.png) no-repeat center center;
    background-size: contain;
    top: 317px;
    height: 366px;
    width: 359px;
  }
  .home .info-block .inner-block {
    padding-top: 30px;
    padding-bottom: 68px;
  }
  .home .info-block .link-box-wrap {
    display: block;
    left: 0;
    margin: 28px auto 0;
    max-width: 310px;
  }
  .home .info-block .link-box-wrap .link-box {
    width: 100%;
  }
  .home .info-block .link-box-wrap .link-box + .link-box {
    margin-left: 0;
    margin-top: 11px;
  }
  .home .info-block .link-box-wrap .link-box .box a .text {
    font-size: 16px;
    right: 20px;
    bottom: 6px;
  }
  .home .info-block .link-box-wrap .link-box .box + .box {
    margin-top: 11px;
  }
  .home .info-block .text {
    font-size: 10px;
  }
  .home .info-block .c-info-box {
    margin-top: 120px;
  }
  .home .sdgs-block::before {
    background: url(../img/home/sp/bg_sdgs01.png) no-repeat center center;
    background-size: contain;
    height: 535px;
    width: 375px;
  }
  .home .sdgs-block::after {
    background: url(../img/home/bg_sdgs02.png) no-repeat center center;
    background-size: contain;
    height: 285px;
    width: 375px;
    top: inherit;
    bottom: 37px;
  }
  .home .sdgs-block .inner-block {
    padding-top: 26px;
    padding-bottom: 80px;
  }
  .home .sdgs-block .c-title02 .main {
    text-align: center;
  }
  .home .sdgs-block .c-info-box .img-wrap {
    margin-top: 34px !important;
    margin-bottom: 17px !important;
  }
  .home .group-block {
    background-size: contain;
    background-position: top center;
  }
  .home .group-block .inner-block {
    padding-top: 22px;
    padding-bottom: 33px;
  }
  .home .group-block .link-list {
    display: block;
    margin-top: 50px;
  }
  .home .group-block .link-list li {
    max-width: 243px;
    margin: auto;
    width: 100%;
  }
  .home .group-block .link-list li + li {
    margin: auto;
    margin-top: 8px;
  }
  .home .group-block .btn-wrap .c-btn01 {
    margin-top: 20px;
  }
  .home .recruit-block .inner-block {
    padding-top: 35px;
    padding-bottom: 22px;
  }
  .home .recruit-block .img-link .text {
    font-size: 16px;
  }
  .home .recruit-block .btn-wrap {
    margin-top: 20px;
  }
  .home .link-block .contact-wrap .inner-block {
    display: block;
    padding: 34px 30px;
  }
  .home .link-block .contact-wrap .tel {
    font-size: 24px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 0;
  }
  .home .link-block .contact-wrap .tel .ico {
    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;
    margin-right: 6px;
    width: 24px;
  }
  .home .link-block .contact-wrap .c-title02 {
    text-align: center;
  }
  .home .link-block .contact-wrap .c-title02 .main {
    margin-bottom: 6px;
  }
  .home .link-block .contact-wrap .text {
    font-size: 10px;
    text-align: center;
  }
  .home .link-block .contact-wrap .btn-wrap {
    margin-top: 9px;
  }
  .home .c-info-box .top-wrap {
    display: block;
  }
  .home .c-info-box .top-wrap .title-wrap {
    margin-right: 0;
    width: 100%;
  }
  .home .c-info-box .top-wrap .title-wrap .text {
    font-size: 10px;
    margin-top: 5px;
  }
  .home .c-info-box .top-wrap .title-wrap .btn-wrap {
    margin-top: 25px;
  }
  .home .c-info-box .top-wrap .img-wrap {
    margin: 7px 0;
    width: 100%;
  }
  .home .c-info-box .bottom-wrap {
    display: block;
    margin-top: 16px;
  }
  .home .c-info-box .bottom-wrap .link-box {
    max-width: 295px;
    margin: auto;
    width: 100%;
  }
  .home .c-info-box .bottom-wrap .link-box + .link-box {
    margin: 10px auto 0;
  }
  .home .c-info-box .bottom-wrap .link-box .text {
    font-size: 16px;
  }
  .c-table04 tr {
    font-size: 10px;
  }
  .c-table04 th {
    padding: 7px 0;
  }
  .c-table04 td {
    padding: 7px 0;
  }
  .corporate-profile-block {
    margin: 20px 0;
    margin-bottom: 30px;
  }
  .corporate-profile-block .c-title03 {
    margin-bottom: 10px;
  }
  .corporate-profile-block .c-table01 {
    margin-bottom: 20px;
  }
  .corporate-profile-block .c-btn-area {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .corporate-profile-block .c-btn-area + * {
    margin-top: 20px;
  }
  .corporate-profile-block .c-btn-area .btn-wrap + * {
    margin-top: 20px;
  }
  .corporate-profile-block .c-btn-area .btn-wrap {
    max-width: 160px;
    min-width: auto;
    width: 100%;
  }
  .corporate-profile-block .c-btn-area .btn-wrap:not(:nth-child(3n+1)) {
    margin-left: 0;
  }
  .corporate-profile-block .map-wrap .c-title03 {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .corporate-profile-block .map-wrap iframe {
    padding: 0 20px;
    aspect-ratio: 16/10.5;
  }
  .corporate-profile-block .address {
    font-size: 10px;
    padding: 0 20px;
  }
  .corporate-profile-block .c-table04 {
    margin-left: 20px;
  }
  .corporate-officer-block {
    margin: 20px 0;
    margin-bottom: 30px;
  }
  .corporate-officer-block .c-title03 {
    margin-bottom: 10px;
  }
  .corporate-officer-block .skil-area {
    margin-top: 25px;
  }
  .corporate-officer-block .skil-area .txt {
    font-size: 10px;
    margin-bottom: 25px;
  }
  .corporate-officer-block .modal-box {
    width: 90%;
  }
  .corporate-officer-block .modal-box img {
    width: 100%;
  }
  .corporate-officer-block .modal-box .title {
    padding: 15px 20px 18px;
  }
  .corporate-officer-block .modal-box .text {
    padding: 20px 20px 30px;
  }
  .corporate-officer-block .c-table-wrap + .txt, .corporate-officer-block .c-table-wrap + .c-title05 {
    margin-top: 50px;
  }
  .corporate-person-block {
    margin: 20px 0;
    margin-bottom: 30px;
  }
  .corporate-person-block .c-title03 {
    margin-bottom: 10px;
  }
  .corporate-person-block .person-area .person-box img {
    max-width: 140px;
  }
  .corporate-person-block .person-area .person-box .txt-area {
    font-size: 12px;
    line-height: 1;
    margin-left: 30px;
    margin-top: 10px;
  }
  .corporate-person-block .person-area .person-box .txt-area .name {
    font-size: 24px;
    line-height: 1.333;
  }
  .corporate-person-block .person-area .person-box .txt-area .furigana {
    font-size: 10px;
    line-height: 1;
  }
  .corporate-person-block .person-area .person-box .txt-area .post, .corporate-person-block .person-area .person-box .txt-area .birth {
    line-height: 2.666;
  }
  .corporate-person-block .person-area .person-box .txt-area .birth {
    margin-top: 10px;
    display: inline-block;
  }
  .corporate-person-block .careet-area {
    margin-top: 25px;
  }
  .corporate-person-block .careet-area .c-title04 {
    position: relative;
    line-height: 1.5;
    padding-bottom: 9px;
  }
  .corporate-person-block .careet-area .c-title04::before {
    background: #009944;
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .corporate-person-block .careet-area .c-table-wrap {
    margin-bottom: 25px;
  }
  .corporate-person-block .careet-area .comment-box .ttl {
    font-size: 10px;
    padding: 10px 20px;
    border: 1px solid #707070;
    margin-bottom: 10px;
  }
  .corporate-person-block .careet-area .comment-box .txt {
    font-size: 10px;
    padding: 15px 20px;
    line-height: 1.6;
    border: 1px solid #707070;
  }
  .corporate-person-block .careet-area .comment-box + * {
    margin-top: 25px;
  }
  .corporate-person-block .careet-area .c-btn01 {
    margin-top: 30px;
  }
  .corporate-person-block .careet-area .c-btn01 {
    max-width: 110px;
    margin-left: 0;
    padding: 8px 20px 8px;
  }
  .corporate-message-block {
    margin-top: 0px;
    margin-bottom: 30px;
  }
  .corporate-message-block p {
    font-size: 10px;
  }
  .corporate-message-block .colum-area {
    position: relative;
  }
  .corporate-message-block .colum-area img {
    margin-top: 15px;
    width: 100%;
  }
  .corporate-message-block .colum-area .body-img {
    width: 32vw;
    margin-top: 0;
    max-height: 400px;
  }
  .corporate-message-block .colum-area.left {
    margin-top: 20px;
  }
  .corporate-message-block .colum-area.left .txt-area {
    margin-top: 15px;
  }
  .corporate-message-block .colum-area.left .txt-area .txt:first-child {
    width: 100%;
  }
  .corporate-message-block .colum-area.left .txt-area .txt:nth-child(2) {
    width: 90%;
  }
  .corporate-message-block .colum-area.left .name {
    width: 80%;
    max-width: 250px;
  }
  .corporate-message-block .catch-txt {
    font-size: 12px;
    margin-top: 10px;
    margin-bottom: 15px;
  }
  .corporate-message-block .txt {
    line-height: 1.4;
  }
  .corporate-message-block .txt + * {
    margin-top: 15px;
  }
  .corporate-message-block.sustainability {
    margin-bottom: 50px;
  }
  .corporate-message-block.sustainability .c-title03 {
    margin-bottom: 15px;
  }
  .corporate-message-block.sustainability .colum-area + * {
    margin-top: 45px;
  }
  .corporate-message-block.sustainability .colum-area .txt-area .txt {
    line-height: 1.6;
  }
  .corporate-policy-block {
    margin: 20px 0;
    margin-bottom: 90px;
  }
  .corporate-policy-block .catch-txt {
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 30px;
  }
  .corporate-policy-block .c-title03 {
    margin-bottom: 10px;
  }
  .corporate-policy-block .txt {
    font-size: 10px;
    line-height: 2.2;
  }
  .corporate-policy-block .c-btn-area {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .corporate-policy-block .c-btn-area .btn-wrap + * {
    margin-top: 20px;
  }
  .corporate-policy-block .c-btn-area .btn-wrap {
    max-width: 160px;
    min-width: auto;
    width: 100%;
  }
  .corporate-policy-block .c-btn-area .btn-wrap:not(:nth-child(3n+1)) {
    margin-left: 0;
  }
  .corporate-policy-block .vision-area {
    font-size: 10px;
    margin-top: 20px;
    padding: 22px 20px;
  }
  .corporate-policy-block .vision-area .number li + * {
    margin-top: 8px;
  }
  .corporate-policy-block .logo-area {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .corporate-policy-block .logo-area img {
    max-height: 67px;
  }
  .corporate-policy-block .logo-area .txt {
    margin-left: 20px;
  }
  .corporate-policy-block .graph-area {
    margin-top: 30px;
  }
  .corporate-policy-block .box + * {
    margin-top: 40px;
  }
  .corporate-compliance-block {
    margin: 10px 0;
    margin-bottom: 65px;
    font-size: 10px;
  }
  .corporate-compliance-block h2.c-title03 {
    margin-bottom: 15px;
  }
  .corporate-compliance-block h3.c-title03 {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .corporate-compliance-block .txt {
    line-height: 1.6;
    text-align: left;
  }
  .corporate-compliance-block .txt + img {
    margin-top: 20px;
  }
  .corporate-compliance-block .num-list {
    margin-top: 15px;
  }
  .corporate-compliance-block .num-list li {
    padding-left: 30px;
  }
  .corporate-compliance-block .num-list li + li {
    margin-top: 10px;
  }
  .corporate-compliance-block .c-btn01 {
    margin-top: 20px;
  }
  .corporate-compliance-block .c-btn01.pdf .inn::before {
    right: -10px;
  }
  .corporate-compliance-block .btn-wrap {
    margin-top: 30px;
  }
  .corporate-compliance-block .btn-wrap .c-btn01.wi-400 {
    max-width: 160px;
  }
  .corporate-compliance-block .btn-wrap.l-flex {
    display: block;
  }
  .corporate-compliance-block .btn-wrap.left {
    margin-top: 20px;
  }
  .corporate-compliance-block .btn-wrap.left .c-btn01.pdf {
    padding-left: 10px;
  }
  .corporate-compliance-block .btn-wrap.left .c-btn01.pdf .inn::before {
    right: -10px;
  }
  .corporate-compliance-block .btn-wrap + .btn-wrap {
    margin-top: 20px;
  }
  .corporate-compliance-block .c-btn-area {
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .corporate-compliance-block .c-btn-area .btn-wrap {
    max-width: 160px;
    width: 100%;
  }
  .corporate-compliance-block .c-btn-area .btn-wrap + * {
    margin-left: 0;
    margin-top: 20px;
  }
  .corporate-compliance-block .box + * {
    margin-top: 40px;
  }
  .office .office-block .img-area {
    margin-top: 12px;
  }
  .office .photo-block .img-area {
    margin-top: 12px;
  }
  .office .photo-block .caption {
    font-size: 10px;
    margin-bottom: 4px;
  }
  .office .photo-block .img-flex {
    gap: 15px;
  }
  .office .photo-block .img-flex + .img-flex {
    margin-top: 6px;
  }
  .office .photo-block .img-group {
    margin-top: 12px;
  }
  .corporate-management-block ::-webkit-scrollbar {
    width: 5px;
    height: 5px;
  }
  .corporate-management-block {
    margin: 0 -20px;
  }
  .corporate-management-block .modal-box {
    width: 90%;
  }
  .corporate-management-block .modal-box .ttl {
    font-size: 16px;
  }
  .corporate-management-block .modal-box .txt {
    font-size: 12px;
  }
  .corporate-management-block .modal-box .box-person {
    padding: 20px;
  }
  .corporate-management-block .modal-box .box-person .img {
    margin-bottom: 10px;
  }
  .corporate-management-block .modal-box .box-img {
    padding: 20px;
  }
  .corporate-management-block .modal-box .box-img .img {
    margin-bottom: 10px;
  }
  .corporate-management-block .intro-box {
    padding: 28px 20px 54px;
  }
  .corporate-management-block .intro-box .ttl {
    font-size: 16px;
    margin-bottom: 11px;
  }
  .corporate-management-block .intro-box .ttl::after {
    margin-top: 7px;
    width: 100%;
  }
  .corporate-management-block .intro-box .txt {
    font-size: 10px;
  }
  .corporate-management-block .aco-wrap {
    gap: 13px;
    padding-bottom: 42px;
  }
  .corporate-management-block .aco-close {
    font-size: 12px;
    height: 37px;
  }
  .corporate-management-block .aco-head {
    padding: 11px 20px 25px;
    position: relative;
  }
  .corporate-management-block .aco-head .img {
    width: calc(144 / 336 * 100%);
  }
  .corporate-management-block .aco-head .ttl {
    font-size: 20px;
    padding-right: 27px;
  }
  .corporate-management-block .aco-head .ttl::after {
    border-width: 13px 7.5px 0 7.5px;
  }
  .corporate-management-block .aco-head .txt {
    font-size: 10px;
    margin: 0;
  }
  .corporate-management-block .aco-head .caption {
    font-size: 10px;
    bottom: 5px;
    right: 20px;
  }
  .management-box {
    width: 100vw;
  }
  .management-box thead tr {
    height: 117px;
    position: relative;
  }
  .management-box thead td:first-child {
    margin: auto;
    position: absolute;
    left: 32px;
    top: 0;
    bottom: 0;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .management-box thead .period {
    font-size: 24px;
    margin: auto;
    top: 0;
    bottom: 0;
  }
  .management-box thead .period .num {
    font-size: 40px;
  }
  .management-box thead .year {
    font-size: 12px;
  }
  .management-box thead .txt {
    font-size: 8px;
  }
  .management-box thead .caption {
    font-size: 10px;
  }
  .management-box thead .caption-s {
    font-size: 8px;
  }
  .management-box thead .person-box {
    min-height: 94px;
  }
  .management-box thead .person-txt {
    font-size: 12px;
    position: relative;
    z-index: 1;
  }
  .management-box thead .person-img {
    position: absolute;
    top: 15px;
    right: 0;
    width: 77px;
  }
  .management-box tbody tr {
    position: relative;
  }
  .management-box tbody tr:nth-child(1) th {
    background-image: url(../img/corporate/management/head01_sp.svg);
    top: 1px;
  }
  .management-box tbody tr:nth-child(2) th {
    background-image: url(../img/corporate/management/head02_sp.svg);
  }
  .management-box tbody tr:nth-child(3) th {
    background-image: url(../img/corporate/management/head03_sp.svg);
  }
  .management-box tbody tr:nth-child(4) th {
    background-image: url(../img/corporate/management/head04_sp.svg);
  }
  .management-box tbody tr:nth-child(5) th {
    background-image: url(../img/corporate/management/head05_sp.svg);
  }
  .en .management-box tbody tr:nth-child(1) th {
    background-image: url(../img/corporate/management/head01_sp_en.svg);
  }
  .en .management-box tbody tr:nth-child(2) th {
    background-image: url(../img/corporate/management/head02_sp_en.svg);
  }
  .en .management-box tbody tr:nth-child(3) th {
    background-image: url(../img/corporate/management/head03_sp_en.svg);
  }
  .en .management-box tbody tr:nth-child(4) th {
    background-image: url(../img/corporate/management/head04_sp_en.svg);
  }
  .en .management-box tbody tr:nth-child(5) th {
    background-image: url(../img/corporate/management/head05_sp_en.svg);
  }
  .management-box tbody th {
    background: no-repeat top left/auto 100%;
    border-bottom: 1px solid #707070;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 22px;
  }
  .management-box tbody td {
    padding-top: 27px;
    height: 106px;
  }
  .management-box tbody .txt {
    font-size: 8px;
  }
  .management-box tbody .txt-l {
    font-size: 14px;
  }
  .management-box tbody .txt-s {
    font-size: 8px;
  }
  .year-1800 thead td {
    width: 160px;
  }
  .year-1910 thead td {
    width: 160px;
  }
  .year-1910 thead .period01 {
    left: -15px;
  }
  .year-1910 thead .period02 {
    left: -40px;
  }
  .year-1940 thead td {
    width: 160px;
  }
  .year-1940 thead td.size01 {
    width: 330px;
  }
  .year-1940 thead .period01 {
    left: 0;
  }
  .year-1960 thead td {
    width: 160px;
  }
  .year-1960 thead td.size01 {
    width: 330px;
  }
  .year-1970 thead td {
    width: 160px;
  }
  .year-1970 thead td.size01 {
    width: 330px;
  }
  .year-1980 thead td {
    width: 160px;
  }
  .year-1990 thead td {
    width: 160px;
  }
  .year-2000 thead td {
    width: 160px;
  }
  .year-2000 thead td.size01 {
    width: 330px;
  }
  .year-2010 thead td {
    width: 160px;
  }
  .year-2010 thead td.size01 {
    width: 330px;
  }
  .year-2010 tbody tr:nth-child(4) th {
    background-image: url(../img/corporate/management/head08_sp.svg);
  }
  .en .year-2010 tbody tr:nth-child(4) th {
    background-image: url(../img/corporate/management/head08_sp_en.svg);
  }
  .year-2020 thead td {
    width: 160px;
  }
  .year-2020 thead td.size01 {
    width: 330px;
  }
  .year-2020 tbody tr:nth-child(1) th {
    background-image: url(../img/corporate/management/head01_sp.svg);
  }
  .year-2020 tbody tr:nth-child(2) th {
    background-image: url(../img/corporate/management/head06_sp.svg);
  }
  .year-2020 tbody tr:nth-child(3) th {
    background-image: url(../img/corporate/management/head07_sp.svg);
  }
  .en .year-2020 tbody tr:nth-child(1) th {
    background-image: url(../img/corporate/management/head01_sp_en.svg);
  }
  .en .year-2020 tbody tr:nth-child(2) th {
    background-image: url(../img/corporate/management/head06_sp_en.svg);
  }
  .en .year-2020 tbody tr:nth-child(3) th {
    background-image: url(../img/corporate/management/head07_sp_en.svg);
  }
  .group .composition-block .composition-content {
    margin-top: 18px;
  }
  .group .composition-block .composition-content::after {
    height: calc(100% - 100px);
    top: 59px;
    bottom: auto;
    left: 0;
  }
  .group .composition-block .group-area {
    margin: 20px 0;
  }
  .group .composition-block .group-area::after {
    height: 100%;
    top: 0;
    left: 20px;
  }
  .group .composition-block .group-box + .group-box {
    margin-top: 20px;
  }
  .group .composition-block .link-area {
    font-size: 10px;
    min-height: 35px;
    padding: 4px 10px 4px 5px;
  }
  .group .composition-block .link-area img {
    max-height: 20px;
  }
  .group .composition-block .link-area span {
    font-size: 10px;
  }
  .group .composition-block a.link-area::after {
    border-width: 0 3px 3px;
    width: 7px;
    height: 4px;
    right: 8px;
  }
  .group .composition-block .txt-area {
    font-size: 10px;
    padding: 4px 5px;
  }
  .group .composition-block .hierarchy01 .link-area {
    width: 100%;
  }
  .group .composition-block .hierarchy01 .txt-area {
    width: 100%;
  }
  .group .composition-block .hierarchy02 {
    max-width: calc(100% - 20px);
  }
  .group .composition-block .hierarchy02::after {
    width: 20px;
    top: 17px;
    bottom: auto;
    left: -20px;
  }
  .group .composition-block .hierarchy02.last::before {
    background: #fff;
    content: "";
    display: block;
    height: 20px;
    position: absolute;
    width: 10px;
    top: 18px;
    left: -25px;
    z-index: 10;
  }
  .group .composition-block .hierarchy03 {
    max-width: calc(100% - 40px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .group .composition-block .hierarchy03::after {
    width: 20px;
    top: 20px;
    bottom: auto;
    left: -20px;
  }
  .group .composition-block .hierarchy03.last::before {
    background: #fff;
    content: "";
    display: block;
    height: 20px;
    position: absolute;
    width: 10px;
    top: 58%;
    left: -25px;
    z-index: 10;
  }
  .group .composition-block .hierarchy03 .link-area {
    width: 170px;
  }
  .group .composition-block .hierarchy03 .txt-area {
    width: calc(100% - 180px);
  }
  .group .group-company-block .company-name {
    font-size: 16px;
    margin-bottom: 2px;
  }
  .group .group-company-block .company-box + .company-box {
    margin-top: 50px;
  }
  .group .group-company-block .ma-20 {
    margin-top: 10px;
  }
  .recruit-block {
    margin: 20px 0;
    margin-bottom: 75px;
  }
  .recruit-block .c-title05 {
    padding-bottom: 15px;
  }
  .recruit-block .c-title03 {
    margin-bottom: 0px;
    font-size: 16px;
  }
  .recruit-block .company-area .link-box {
    padding: 10px 0;
  }
  .recruit-block .company-area + * {
    margin-top: 50px;
  }
  .c-accordion-box + .c-accordion-box {
    margin-top: 10px;
  }
  .sustainability .link-block {
    padding-bottom: 150px;
  }
  .sdgs .system-block .system-img {
    margin: 25px auto 30px;
  }
  .sdgs .contribution-block {
    padding-bottom: 150px;
  }
  .sdgs .contribution-block .bg-box {
    margin-top: 30px;
  }
  .sdgs .contribution-block .bg-box .btn-wrap.l-flex .c-btn01 + .c-btn01 {
    margin-top: 15px;
  }
  .sdgs .contribution-block .bg-box .btn-wrap.l-flex {
    display: block;
  }
  .sdgs .contribution-block .bg-box .btn-wrap .c-btn01.wi-400 {
    max-width: 160px;
  }
  .sdgs .contribution-block .bg-box .btn-wrap + .btn-wrap {
    margin-top: 15px;
  }
  .sdgs .contribution-block .contribution-img {
    margin: 25px 0 0;
  }
  .sdgs .contribution-box {
    margin-top: 50px;
  }
  .sdgs .contribution-content {
    margin-top: 12px;
    padding-bottom: 13px;
  }
  .sdgs .contribution-content .icon-area {
    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: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12px;
  }
  .sdgs .contribution-content .icon-area img {
    max-width: 30%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    width: 100px;
  }
  .sdgs .contribution-content .contribution-txt {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 15px;
  }
  .sdgs .contribution-content .contribution-txt .txt-area {
    margin-right: 0;
    width: 100%;
  }
  .sdgs .contribution-content .contribution-txt .txt-area .ttl + .txt {
    margin-top: 5px;
  }
  .sdgs .contribution-content .contribution-txt .txt-area .txt {
    font-size: 10px;
    line-height: 1.6;
  }
  .sdgs .contribution-content .contribution-txt .txt-area .txt + .txt {
    margin-top: 5px;
  }
  .sdgs .contribution-content .contribution-txt .txt-area .txt + .ttl {
    margin-top: 40px;
  }
  .sdgs .contribution-content .contribution-txt .img {
    max-width: 230px;
    margin: 15px auto 0;
    width: 100%;
  }
  .sdgs .contribution-content .contribution-txt + .contribution-txt {
    margin-top: 20spx;
  }
  .sdgs .contribution-content .contribution-txt + .contribution-txt-flex {
    margin-top: 20px;
  }
  .sdgs .contribution-content .contribution-txt-flex .txt-area {
    margin-top: 25px;
  }
  .sdgs .contribution-content .contribution-txt-flex .txt-area + .txt-area {
    margin-top: 40px;
  }
  .sdgs .contribution-content .contribution-txt-flex .ttl + .txt {
    margin-top: 5px;
  }
  .sdgs .contribution-content .contribution-txt-flex .txt {
    font-size: 10px;
    line-height: 1.6;
  }
  .sdgs .contribution-content .contribution-txt-flex .txt + .txt {
    margin-top: 5px;
  }
  .sdgs .contribution-content .contribution-txt-flex .txt + .ttl {
    margin-top: 40px;
  }
  .sdgs .contribution-content .contribution-txt-flex .img-flex {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 15px;
  }
  .sdgs .contribution-content .contribution-txt-flex .img-flex.wi-200 {
    display: block;
  }
  .sdgs .contribution-content .contribution-txt-flex .img-flex.wi-200 .img-item {
    max-width: 300px;
    margin: 20px auto 0;
  }
  .sdgs .contribution-content .contribution-txt-flex .img-flex + .ttl {
    margin-top: 20px;
  }
  .sdgs .contribution-content .contribution-txt-flex .caption {
    font-size: 10px;
    margin-top: 7px;
  }
  .sdgs .modal-box {
    width: 90%;
  }
  .sdgs .modal-box img {
    width: 100%;
  }
  .sdgs .modal-box .modal-title {
    font-size: 20px;
    top: -30px;
  }
  .corporate-communication-block {
    margin-top: 20px;
    margin-bottom: 50px;
  }
  .corporate-communication-block .c-title03 {
    margin-bottom: 25px;
  }
  .corporate-communication-block .c-title04 {
    font-size: 16px;
  }
  .corporate-communication-block .lead-txt.border-box {
    padding: 15px 15px;
  }
  .corporate-communication-block .lead-txt.border-box .ttl {
    font-size: 16px;
  }
  .corporate-communication-block .lead-txt {
    margin-bottom: 40px;
    text-align: left;
  }
  .corporate-communication-block .box {
    margin-top: 40px;
  }
  .corporate-communication-block .box .c-charter {
    margin-top: 10px;
  }
  .corporate-communication-block .box .colum-box {
    padding: 0 20px;
  }
  .corporate-communication-block .box .colum-box .boxes img {
    width: 100%;
  }
  .corporate-communication-block .box .colum-box .boxes .sub-txt {
    font-size: 10px;
  }
  .corporate-communication-block .box .colum-box .boxes + * {
    margin-top: 15px;
  }
  .corporate-communication-block .box .title {
    font-size: 16px;
  }
  .corporate-communication-block .box .title.fz-16 {
    font-size: 14px;
  }
  .corporate-communication-block .box .text {
    font-size: 10px;
    line-height: 1.8;
  }
  .corporate-communication-block .box .text + .title {
    margin-top: 30px;
  }
  .corporate-communication-block .box .text + .title.fz-16 {
    margin-top: 15px;
  }
  .corporate-communication-block .box .text + .text {
    margin-top: 20px;
  }
  .corporate-communication-block .box .text + .btn-wrap {
    margin-top: 15px;
  }
  .corporate-communication-block .box .img-wrap {
    margin-top: 20px;
  }
  .corporate-communication-block .box .img-wrap.max-3 .img {
    width: calc((100% - 15px) / 2);
  }
  .corporate-communication-block .box .img-wrap.max-3 .img:nth-child(2n+2) {
    margin-left: 30px;
  }
  .corporate-communication-block .box .img-wrap.max-3 .img:nth-child(n+3) {
    margin-top: 26px;
  }
  .corporate-communication-block .box .img-wrap.max-3 .img img {
    width: 100%;
  }
  .corporate-communication-block .box .img-wrap.max-2 .img {
    width: calc((100% - 15px) / 2);
  }
  .corporate-communication-block .box .img-wrap.max-2 .img:nth-child(2n+2) {
    margin-left: 15px;
  }
  .corporate-communication-block .box .img-wrap.max-2 .img:nth-child(n+3) {
    margin-top: 15px;
  }
  .corporate-communication-block .box .img-wrap.max-2 .img img {
    height: 24.0625vw;
  }
  .corporate-communication-block .box .img-wrap + .green-box {
    padding-top: 40px;
  }
  .corporate-communication-block .box .img-wrap .note {
    font-size: 10px;
  }
  .corporate-communication-block .box + * {
    margin-top: 40px;
  }
  .corporate-communication-block .sub-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .corporate-communication-block .sub-box.no-flex {
    margin-top: 30px;
  }
  .corporate-communication-block .sub-box.mt-60 {
    margin-top: 30px;
  }
  .corporate-communication-block .sub-box + .title {
    margin-top: 30px;
  }
  .corporate-communication-block .sub-box .text-wrap {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .corporate-communication-block .sub-box .text-wrap .title {
    font-size: 14px;
  }
  .corporate-communication-block .sub-box .text-wrap .title.fz-20 {
    font-size: 16px;
  }
  .corporate-communication-block .sub-box .img {
    width: 100%;
  }
  .corporate-communication-block .sub-box .img img {
    width: 100%;
  }
  .corporate-communication-block .sub-box {
    margin-top: 30px;
  }
  .corporate-communication-block .btn-wrap.l-flex {
    display: block;
  }
  .corporate-communication-block .btn-wrap.l-flex .c-btn01 + .c-btn01 {
    margin-top: 10px;
  }
  .corporate-communication-block .btn-wrap.left {
    margin-top: 20px;
  }
  .corporate-communication-block .btn-wrap.left .c-btn01.pdf {
    padding-left: 10px;
  }
  .corporate-communication-block .btn-wrap.left .c-btn01.pdf .inn::before {
    right: -10px;
  }
  .corporate-communication-block .alart-text {
    font-size: 14px;
    padding: 20px 15px;
  }
  .corporate-communication-block .green-box {
    margin-top: 40px;
  }
  .corporate-communication-block .green-box .main-title {
    font-size: 14px;
    padding: 5px 15px;
  }
  .corporate-communication-block .green-box .text-wrap {
    padding: 15px 20px;
  }
  .corporate-communication-block .green-box .text-wrap .title {
    font-size: 12px;
  }
  .corporate-communication-block .green-box .text-wrap .text {
    font-size: 10px;
  }
  .corporate-communication-block .green-box .text-wrap .text + .title {
    margin-top: 10px;
  }
  .corporate-communication-block .green-box .text-wrap .img {
    max-width: 50px;
    right: 10px;
    bottom: 10px;
  }
  .corporate-communication-block .green-bg.mb-100 {
    margin-bottom: 50px;
  }
  .corporate-communication-block .green-bg {
    padding: 30px 20px;
  }
  .corporate-communication-block .gray-bg.mb-100 {
    margin-bottom: 50px;
  }
  .corporate-communication-block .gray-bg {
    padding: 30px 20px;
  }
  .corporate-communication-block .gray-bg .img {
    max-width: 60px;
  }
  .corporate-communication-block .gray-bg .txt {
    font-size: 14px;
  }
  .corporate-communication-block .gray-bg .slogan {
    font-size: 18px;
    margin-top: 15px;
  }
  .corporate-environment-block .c-title05 {
    font-size: 12px;
    line-height: 1.666;
  }
  .corporate-environment-block .c-title04.line {
    position: relative;
    padding-bottom: 5px;
    margin-bottom: 10px;
  }
  .corporate-environment-block .c-title04.line::before {
    background: #009944;
    content: "";
    display: block;
    height: 1px;
    width: 500px;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .corporate-environment-block .box {
    margin-top: 40px;
  }
  .corporate-environment-block .box .c-charter .charter-txt {
    font-size: 10px;
  }
  .corporate-environment-block .box .img-box .sub-txt {
    font-size: 10px;
  }
  .corporate-environment-block .box .c-title03 {
    margin-bottom: 10px;
  }
  .corporate-environment-block .box .c-btn-area {
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .corporate-environment-block .box .c-btn-area .btn-wrap {
    max-width: 160px;
    width: 100%;
  }
  .corporate-environment-block .box .c-btn-area .btn-wrap:not(:nth-child(3n+1)) {
    margin-left: 0;
    margin-top: 20px;
  }
  .corporate-environment-block .box .c-btn-area .btn-wrap:nth-child(n+4) {
    margin-top: 20px;
  }
  .corporate-environment-block .box .img-wrap .img {
    width: calc((100% - 20px) / 2);
  }
  .corporate-environment-block .box .img-wrap .img:nth-child(2n+2) {
    margin-left: 20px;
  }
  .corporate-environment-block .box .img-wrap .img:nth-child(n+3) {
    margin-top: 20px;
  }
  .corporate-environment-block .box .title {
    font-size: 10px;
  }
  .corporate-environment-block .box .text {
    font-size: 10px;
  }
  .corporate-environment-block .box .btn-wrap {
    margin-top: 20px;
  }
  .corporate-environment-block .box .btn-wrap .c-btn01.pdf .inn::before {
    right: -5px;
  }
  .corporate-environment-block .box .btn-wrap + .title {
    margin-top: 40px;
  }
  .corporate-environment-block .box .l-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .corporate-environment-block .box .l-flex.text-long .img {
    width: 100%;
  }
  .corporate-environment-block .box .l-flex.text-long .img img {
    width: 100%;
  }
  .corporate-environment-block .box .l-flex.half .img {
    width: 100%;
  }
  .corporate-environment-block .box .l-flex.half .img img {
    width: 100%;
  }
  .corporate-environment-block .box .l-flex.no-flex .img {
    padding-left: 0;
  }
  .corporate-environment-block .box .l-flex.no-flex .img img {
    width: calc((100% - 15px) / 2);
  }
  .corporate-environment-block .box .l-flex.no-flex .img img:nth-child(n+3) {
    margin-top: 15px;
  }
  .corporate-environment-block .box .l-flex .text-wrap .title {
    font-size: 10px;
  }
  .corporate-environment-block .box .l-flex .text-wrap .text {
    padding-left: 0;
    font-size: 10px;
  }
  .corporate-environment-block .box .l-flex .text-wrap {
    width: 100%;
  }
  .corporate-environment-block .box .l-flex .img {
    margin-top: 0;
  }
  .corporate-environment-block .box .l-flex .img.l-flex {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .corporate-environment-block .box .l-flex .img.l-flex img {
    width: auto;
  }
  .corporate-environment-block .box .l-flex .img.l-flex img + img {
    margin-top: 20px;
  }
  .corporate-environment-block .btn-wrap.l-flex {
    display: block;
  }
  .corporate-environment-block .btn-wrap.l-flex .c-btn01 + .c-btn01 {
    margin-top: 10px;
  }
  .corporate-environment-block .btn-wrap.left {
    margin-top: 20px;
  }
  .corporate-environment-block .btn-wrap.left .c-btn01.pdf {
    padding-left: 10px;
  }
  .corporate-environment-block .btn-wrap.left .c-btn01.pdf .inn::before {
    right: -10px;
  }
  .materiality .content-block .inner-block {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .materiality .img-center {
    margin-top: 30px;
  }
  .materiality .lead-txt {
    margin-top: 15px;
  }
  .materiality .table-box {
    margin-top: 30px;
  }
  .materiality .table-box .date {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .materiality .table-box .note {
    font-size: 12px;
    margin-top: 10px;
  }
  .materiality .table-box .table {
    font-size: 12px;
  }
  .materiality .table-box .table tbody th,
.materiality .table-box .table tbody td {
    padding: 12px 10px;
  }
  .materiality .table-box .table tbody th {
    width: 150px;
  }
  .materiality .table-box .table tbody th:first-child {
    width: 70px;
  }
  .materiality .table-box .table tbody td {
    font-size: 11px;
  }
  .report .content-block .inner-block {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .report .box {
    margin-top: 30px;
  }
  .report .box .thumb {
    margin: 0 auto 30px;
  }
  .report .report-ttl {
    font-size: 16px;
    margin-bottom: 20px;
    padding: 5px 10px;
  }
  .report .report-ttl:not(:first-child) {
    margin-top: 40px;
  }
  .report .report-list li + li {
    margin-top: 20px;
  }
  .report .report-list a {
    font-size: 12px;
  }
  .report .report-list .ico-pdf {
    display: block;
  }
  .report .report-list .ico-pdf::before {
    margin: 3px 5px 0 0;
    width: 20px;
    height: 20px;
  }
  .contact .contact-block .inner-block {
    padding-bottom: 37px;
  }
  .contact .contact-block .lead-title {
    font-size: 12px;
    text-align: justify;
  }
  .contact .contact-block .contact-wrap {
    margin-top: 27px;
  }
  .contact .contact-block .lead {
    font-size: 10px;
    margin-bottom: 10px;
    line-height: 1.6;
  }
  .contact .contact-block .c-table01 tr:last-child .error {
    top: -5px;
  }
  .contact .contact-block .c-table01 th {
    font-size: 10px;
    padding: 15px 0 2px;
    display: block;
    width: 100%;
  }
  .contact .contact-block .c-table01 th.c-required .inn::before {
    content: "※";
    font-size: 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -12px;
  }
  .contact .contact-block .c-table01 td {
    display: block;
    padding-top: 0;
    width: 100%;
  }
  .contact .contact-block .c-table01 td.l-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .contact .contact-block .c-table01 td.l-flex 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;
    width: calc((100% - 14px) / 2);
  }
  .contact .contact-block .c-table01 td > .error {
    font-size: 10px;
    margin-top: 5px;
  }
  .contact .contact-block .postal-btn {
    font-size: 10px;
    margin: auto;
    padding: 7px 32px 7px;
    position: relative;
    top: -3px;
  }
  .contact .contact-block .select-wrap {
    max-width: 108px;
  }
  .contact .contact-block .select-wrap::before {
    border-width: 3px 4px 0 3px;
    height: 4px;
    width: 7px;
    top: 2px;
    right: 4px;
  }
  .contact .contact-block .radio-list li + li {
    margin-top: 10px;
  }
  .contact .contact-block .radio-list li .list-text {
    padding-left: 15px;
  }
  .contact .contact-block .radio-list li .list-text::before {
    height: 10px;
    width: 10px;
    top: 4px;
  }
  .contact .contact-block .radio-list li .list-text::after {
    top: 7px;
    height: 4px;
    width: 4px;
  }
  .contact .contact-block input[type=text], .contact .contact-block input[type=tel], .contact .contact-block input[type=email], .contact .contact-block select, .contact .contact-block textarea {
    max-width: 90%;
    padding: 2px 5px 2px;
    width: 100%;
  }
  .contact .contact-block input.long {
    max-width: 100%;
  }
  .contact .contact-block input[name=postal-code01] {
    max-width: 63px;
  }
  .contact .contact-block input[name=postal-code02] {
    margin-right: 25px;
    max-width: 84px;
    margin-left: 13px;
  }
  .contact .contact-block select {
    font-size: 10px !important;
    max-width: 108px;
  }
  .contact .contact-block textarea {
    max-width: 100%;
  }
  .contact .contact-block label .text {
    font-size: 10px;
    width: 30px;
    margin-right: 5px;
  }
  .contact .contact-block label + label {
    margin-left: 14px;
  }
  .contact .contact-block .count {
    bottom: 20px;
  }
  .contact .contact-block .btn-wrap .c-btn01 {
    margin-top: 23px;
    max-width: 159px;
    padding-bottom: 8px;
  }
  .contact .contact-block .btn-wrap .c-btn01 input {
    font-size: 10px !important;
  }
  .contact .contact-block .note {
    font-size: 10px;
    line-height: 1.6;
    margin-top: 12px;
  }
  .contact .contact-block .error-message {
    font-size: 10px;
    padding: 9px 20px;
  }
  .contact .confirm-area .c-table01 {
    margin-top: 20px;
  }
  .contact .confirm-area .c-table01 th {
    width: 110px;
  }
  .contact .confirm-area .c-table01 td {
    padding-left: 20px;
  }
  .contact .confirm-area .btn-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 30px;
  }
  .contact .confirm-area .btn-wrap .cancel, .contact .confirm-area .btn-wrap .post {
    max-width: 159px;
    padding-bottom: 8px;
  }
  .contact .confirm-area .btn-wrap .cancel {
    font-size: 10px;
    padding: 7px 20px 8px;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .contact.complete .title {
    font-size: 20px;
    margin-top: 10px;
  }
  .contact.complete .text {
    font-size: 14px;
  }
  .terms-block {
    margin-top: 10px;
    margin-bottom: 30px;
  }
  .terms-block .lead-txt {
    margin-top: 15px;
    font-size: 10px;
    line-height: 1.6;
  }
  .terms-block .lead-txt p + * {
    margin-top: 20px;
  }
  .terms-block .c-txt-list {
    margin-top: 18px;
  }
  .terms-block .contact {
    padding-left: 20px;
  }
  .terms-block .number-list > li {
    font-size: 10px;
  }
  .terms-block .number-list > li::marker {
    font-size: 10px;
  }
  .terms-block .number-list > li .cont-txt {
    font-size: 10px;
    margin-top: -18px;
  }
  .terms-block .number-list > li + * {
    margin-top: 10px;
  }
  .terms-block .c-circle-list {
    padding-top: 20px;
  }
  .terms-block .box + * {
    margin-top: 60px;
  }
  .terms-block.privacy {
    margin-bottom: 120px;
  }
  .terms-block.privacy .c-txt-list {
    margin-top: 41px;
  }
  .terms-block.privacy .c-txt-list.txt-colum li + * {
    margin-top: 5px;
  }
  .terms-block.charter {
    margin-bottom: 40px;
  }
  .terms-block.charter .bg-logo {
    width: 70%;
    bottom: 6%;
  }
  .terms-block.charter .c-btn01 {
    margin-right: 0;
    margin-top: 10px;
  }
  .terms-block.charter .c-txt-list > li {
    margin-top: 55px;
  }
  .terms-block.charter .c-txt-list > li .c-title06 {
    padding-left: 25px;
  }
  .terms-block.charter .c-txt-list > li .c-title06 .sub {
    font-size: 10px;
  }
  .terms-block.charter .last-txt {
    font-size: 10px;
  }
  .terms-block.charter .cont {
    font-size: 10px;
    margin-top: 40px;
  }
  .terms-block.charter .cont .c-only-number-list {
    margin-top: 5px;
  }
  .terms-block.code .c-txt-list li .c-title06 {
    padding-left: 0;
  }
  .terms-block.code .c-txt-list li .c-title06 .c-title05 {
    padding-bottom: 0;
  }
  .terms-block.code .c-number-in-list {
    font-size: 10px;
    padding-top: 10px;
  }
  .terms-block.code .c-number-in-list li {
    line-height: 1.6;
  }
  .terms-block.code .c-number-in-list li + * {
    padding-top: 15px;
  }
  .terms-block.code .c-number-in-list li .circle-txt {
    padding-left: 2.6em;
  }
  .terms-block.code .bg-logo {
    width: 70%;
    bottom: 6%;
  }
  .terms-block.code .c-txt-list > li + * {
    margin-top: 30px;
  }
  .terms-block.risk .c-title03 {
    margin-bottom: 40px;
  }
  .terms-block.risk .lead-box {
    margin-top: 15px;
  }
  .terms-block.risk .lead-box .txt {
    font-size: 10px;
    line-height: 1.6;
    padding-top: 10px;
  }
  .terms-block.risk .lead-box .c-number-bracket-list {
    padding-left: 20px;
  }
  .terms-block.risk .lead-box .c-number-bracket-list > li {
    font-size: 10px;
  }
  .terms-block.risk .c-btn01 {
    font-size: 6px;
    max-width: 240px;
    margin-left: 0;
  }
  .about .mv-block {
    height: 203px;
  }
  .about .mv-block .inner-block {
    padding: 0 20px;
  }
  .about .mv-block .mv-title .main {
    font-size: 27px;
  }
  .about .mv-block .mv-title .sub {
    font-size: 12px;
  }
  .about .mv-block .mv-title .text {
    font-size: 10px;
  }
  .about .intro-block .inner-block {
    padding-top: 20px;
    padding-bottom: 0;
  }
  .about .intro-block .lead {
    font-size: 10px;
    margin-top: 12px;
  }
  .about .intro-block .lead + .c-title03 {
    margin-top: 55px;
  }
  .about .intro-block .img {
    margin: 13px auto 50px;
  }
  .about .intro-block .img + .note {
    font-size: 10px;
    top: -50px;
  }
  .about .intro-block .bg-box {
    padding: 24px 20px 16px;
    margin-bottom: 55px;
  }
  .about .intro-block .bg-box .text {
    font-size: 14px;
  }
  .about .intro-block .bg-box .c-btn01 {
    margin: 15px auto 0;
  }
  .about .intro-block .intro-box-wrap {
    margin-top: 30px;
  }
  .about .intro-block .intro-box-wrap .box {
    padding: 15px 10px;
    width: calc((100% - 15px) / 2);
  }
  .about .intro-block .intro-box-wrap .box:nth-child(2n+2) {
    margin-left: 15px;
  }
  .about .intro-block .intro-box-wrap .box:nth-child(n+3) {
    margin-top: 15px;
  }
  .about .intro-block .intro-box-wrap .box .title {
    font-size: 16px;
    min-height: inherit;
  }
  .about .intro-block .intro-box-wrap .box .text {
    font-size: 24px;
  }
  .about .intro-block .intro-box-wrap .box .text .small {
    font-size: 12px;
  }
  .about .intro-block .movie-wrap {
    margin-top: 15px;
    width: 100%;
  }
  .about .intro-block .movie-wrap iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
  .about .project-block {
    background: url(/img/about/about-bg_sp.jpg) no-repeat center bottom;
    background-size: 100%;
  }
  .about .project-block .inner-block {
    padding-bottom: 83px;
  }
  .about .project-block .project-title {
    background: url(/img/about/title-bg_sp.png) no-repeat center center;
    background-size: cover;
    font-size: 16px;
    padding: 13px 15px;
    margin-bottom: 12px;
  }
  .about .project-block .lead {
    font-size: 10px;
    line-height: 1.6;
  }
  .about .project-block .tab-ul {
    padding-top: 0;
    padding-bottom: 15px;
    margin-top: 26px;
  }
  .about .project-block .tab-ul li {
    height: 32px;
    width: calc(100% / 2);
  }
  .about .project-block .tab-ul li img, .about .project-block .tab-ul li source {
    width: 100%;
  }
  .about .project-block .tab-ul li .txt {
    display: none;
  }
  .about .project-block .tab-target .bg-box {
    height: auto;
  }
  .about .project-block .tab-target .bg-box.bg01 {
    background: url(/img/about/project01-bg_sp.jpg) no-repeat center center;
    padding: 20px 0 44px;
  }
  .about .project-block .tab-target .bg-box.bg02 {
    background: url(/img/about/project02-bg_sp.jpg) no-repeat center center;
    padding: 21px 0 40px;
  }
  .about .project-block .tab-target .bg-box.bg02 + .green-box .bottom {
    padding-bottom: 20px;
  }
  .about .project-block .tab-target .bg-box::before {
    height: 13px;
    width: 20px;
    border-width: 13px 10px 0 10px;
    bottom: 16px;
  }
  .about .project-block .tab-target .bg-box .title .sub {
    font-size: 12px;
  }
  .about .project-block .tab-target .bg-box .title .main {
    font-size: 23px;
  }
  .about .project-block .tab-target .bg-box .title .main .small {
    font-size: 15px;
  }
  .about .project-block .tab-target .bg-box .text {
    font-size: 10px;
    margin-top: 0;
  }
  .about .project-block .tab-target .green-box {
    margin-top: 40px;
    margin-left: -20px;
    margin-bottom: 30px;
    width: calc(100% + 40px);
  }
  .about .project-block .tab-target .green-box .top {
    display: block;
    padding: 20px 20px;
  }
  .about .project-block .tab-target .green-box .top .text-wrap {
    margin-right: 0;
    width: 100%;
  }
  .about .project-block .tab-target .green-box .top .text-wrap .title {
    margin-bottom: 15px;
  }
  .about .project-block .tab-target .green-box .top .text-wrap .title .sub {
    font-size: 12px;
  }
  .about .project-block .tab-target .green-box .top .text-wrap .title .main {
    font-size: 32px;
  }
  .about .project-block .tab-target .green-box .top .text-wrap .title .main .small {
    font-size: 16px;
  }
  .about .project-block .tab-target .green-box .top .text-wrap .text {
    font-size: 10px;
    margin-top: 10px;
  }
  .about .project-block .tab-target .green-box .top .text-wrap .note {
    position: relative;
    font-size: 10px;
    margin-top: 15px;
  }
  .about .project-block .tab-target .green-box .top .img-wrap {
    width: 100%;
  }
  .about .project-block .tab-target .green-box .bottom {
    padding: 25px 20px 50px;
    margin-top: 40px;
  }
  .about .project-block .tab-target .green-box .bottom .text {
    font-size: 10px;
    line-height: 1.6;
    margin-top: 10px;
  }
  .about .project-block .tab-target .green-box .bottom .text.mw-707 {
    font-size: 14px;
  }
  .about .project-block .tab-target .green-box .bottom .text + .c-title03 {
    margin-top: 50px;
  }
  .about .project-block .tab-target .green-box .bottom .img {
    margin: 20px auto 28px;
  }
  .about .project-block .tab-target .green-box .bottom .num-list {
    max-width: 100%;
    margin: 24px auto 0;
  }
  .about .project-block .tab-target .green-box .bottom .num-list li {
    font-size: 11px;
    padding-left: 60px;
  }
  .about .project-block .tab-target .green-box .bottom .num-list li .num {
    font-size: 14px;
    padding: 1px 20px 3px 14px;
    height: 26px;
    width: 51px;
  }
  .about .project-block .tab-target .green-box .bottom .l-flex {
    display: block;
  }
  .about .project-block .tab-target .green-box .bottom .l-flex .img {
    margin: 28px auto 15px;
  }
  .about .project-block .tab-target .green-box .bottom .l-flex .text {
    text-align: center;
    margin-left: 0;
    width: 100%;
  }
  .about .project-block .modal-box {
    width: 90%;
  }
  .about .project-block .modal-box img {
    width: 100%;
  }
  .about .project-block .bottom-text {
    font-size: 10px;
    margin-top: 60px;
  }
  .about .resolution-block .inner-block {
    padding-top: 30px;
    padding-bottom: 83px;
  }
  .about .resolution-block .resolution-box {
    margin-top: 16px;
  }
  .about .resolution-block .resolution-box + .resolution-box {
    margin-top: 58px;
  }
  .about .resolution-block .resolution-box .top .img {
    width: 100%;
  }
  .about .resolution-block .resolution-box .top .img .note {
    font-size: 10px;
    margin-top: 0;
  }
  .about .resolution-block .resolution-box .top .text-wrap {
    margin-left: 0;
    width: 100%;
    margin-top: 17px;
  }
  .about .resolution-block .resolution-box .top .text-wrap .num + .img {
    margin-top: 15px;
  }
  .about .resolution-block .resolution-box .top .text-wrap .title {
    font-size: 16px;
    line-height: 1.25;
    margin: 10px 0;
  }
  .about .resolution-block .resolution-box .top .text-wrap .text {
    font-size: 10px;
    line-height: 1.6;
  }
  .about .resolution-block .resolution-box .top .text-wrap .bg-text {
    font-size: 10px;
    margin-top: 14px;
    padding: 14px 10px;
  }
  .about .resolution-block .resolution-box .bottom {
    margin-top: 20px;
  }
  .about .resolution-block .resolution-box .bottom .text-wrap {
    margin-left: 0;
    width: 100%;
  }
  .about .resolution-block .resolution-box .bottom .text-wrap .img {
    margin: auto;
    max-width: 295px;
    margin-top: 17px;
    margin-bottom: 13px;
  }
  .about .resolution-block .resolution-box .bottom .text-wrap .title {
    font-size: 10px;
  }
  .about .resolution-block .resolution-box .bottom .text-wrap .text {
    font-size: 10px;
  }
  .about .resolution-block .resolution-box .bottom .text-wrap .text + .img .note {
    font-size: 10px;
  }
  .about .resolution-block .resolution-box .bottom .img-wrap {
    max-width: 295px;
    margin: 15px auto 0;
    width: 100%;
  }
  .about .resolution-block .resolution-box .bottom .img-wrap .note {
    font-size: 10px;
  }
  .about .resolution-block .resolution-box .img-center {
    max-width: 295px;
    margin: 13px auto 0;
  }
  .about .resolution-block .resolution-box .img-center + .img-center {
    margin-top: 10px;
  }
  .about .resolution-block .resolution-box .img-list {
    margin: 30px auto 0;
    max-width: 295px;
  }
  .about .resolution-block .resolution-box .img-list .img-wrap {
    width: 100%;
  }
  .about .resolution-block .resolution-box .img-list .img-wrap + .img-wrap {
    margin-top: 13px;
  }
  .about .resolution-block .resolution-box .img-list .note {
    font-size: 10px;
    margin-top: 0;
  }
  .about .about-slider-wrap {
    padding: 25px 0;
  }
  .about .about-slider-wrap .about-slider .slide {
    padding: 15px 20px;
  }
  .about .about-slider-wrap .about-slider .slide .title {
    font-size: 14px;
    margin-top: 15px;
  }
  .about .about-slider-wrap .dot-wrap {
    margin-top: 20px;
  }
  .about .about-slider-wrap .dot-wrap .slick-arrow.slick-prev {
    left: inherit;
    right: 40px;
  }
  .about .about-slider-wrap .dot-wrap .slick-arrow.slick-next {
    right: 0;
  }
  .about .about-slider-wrap .dot-wrap .slick-arrow::before {
    width: 20px;
    height: 20px;
  }
  .about .sub-slide .slick-arrow.slick-prev {
    left: -50px;
  }
  .about .sub-slide .slick-arrow.slick-next {
    right: -50px;
  }
  .about .sub-slide .slick-arrow::before {
    width: 20px;
    height: 20px;
  }
  .about .sub-slide + .title {
    font-size: 14px;
  }
  .about .modal-box .inn {
    padding: 30px 80px;
  }
  .about .modal-box {
    width: 90%;
  }
  .about .modal-box img {
    width: 100%;
  }
  .about.en-page .intro-block .img + .note {
    top: -40px;
  }
  .strength .mv-block .inner-block {
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .strength .mv-block .c-title01 {
    font-size: 18px;
    text-align: center;
  }
  .strength .mv-block .strength-box {
    margin-top: 0;
  }
  .strength .mv-block .strength-box .inn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 0;
  }
  .strength .mv-block .strength-box .inn .img-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    width: 100%;
  }
  .strength .mv-block .strength-box .inn .img-wrap .title {
    font-size: 18px;
    padding-left: 30px;
    margin-top: 10px;
    margin-bottom: 15px;
  }
  .strength .mv-block .strength-box .inn .img-wrap .title::before {
    border-width: 0 0 20px 20px;
    top: 4px;
  }
  .strength .mv-block .strength-box .inn .text-wrap {
    padding-bottom: 80px;
    margin-left: 0;
    width: 100%;
  }
  .strength .mv-block .strength-box .inn .text-wrap .num {
    top: inherit;
    right: inherit;
    bottom: 0;
    left: 0;
    font-size: 60px;
    line-height: 1;
  }
  .strength .mv-block .strength-box .inn .text-wrap .text {
    font-size: 12px;
    line-height: 2;
    padding-top: 0;
  }
  .strength .mv-block .strength-box .text-wrap .text {
    font-size: 12px;
    line-height: 2;
    padding-top: 0;
  }
  .strength .mv-block .strength-box .text {
    font-size: 12px;
    line-height: 2;
    padding-top: 0;
  }
  .strength .content-block .inner-block.mw-1040 .wrap + .wrap {
    margin-top: 30px;
  }
  .strength .content-block .inner-block.mw-1040 .wrap .text {
    margin-top: 10px;
  }
  .strength .content-block .inner-block {
    padding-top: 20px;
    padding-bottom: 50px;
  }
  .strength .content-block .movie + .c-title04 {
    margin-top: 40px;
  }
  .strength .content-block .modal-box {
    width: 90%;
  }
  .strength .content-block .modal-box img {
    width: 100%;
  }
  .strength .content-block .modal-box .modal-title {
    font-size: 20px;
    top: -30px;
  }
  .strength .content-block .wrap + .wrap {
    margin-top: 60px;
  }
  .strength .content-block .wrap .text {
    font-size: 10px;
    padding-left: 60px;
  }
  .strength .content-block .wrap .text + .text {
    margin-top: 10px;
  }
  .strength .content-block .wrap .text + .text.mt-60 {
    margin-top: 30px;
  }
  .strength .content-block .wrap .text + .c-title05 {
    margin-top: 15px;
  }
  .strength .content-block .wrap .img-wrap {
    margin-top: 30px;
  }
  .strength .content-block .wrap .img-wrap.max-2 {
    padding-left: 60px;
  }
  .strength .content-block .wrap .img-wrap.max-2 .img:nth-child(n+3) {
    margin-top: 15px;
  }
  .strength .content-block .wrap .img-wrap.max-3 {
    padding-left: 60px;
  }
  .strength .content-block .wrap .img-wrap.max-3.wide .img {
    width: 100% !important;
    margin: 0 !important;
  }
  .strength .content-block .wrap .img-wrap.max-3.wide .img + .img {
    margin-top: 20px !important;
  }
  .strength .content-block .wrap .img-wrap.max-3 .img {
    width: calc((100% - 20px) / 3);
  }
  .strength .content-block .wrap .img-wrap.max-3 .img:not(:nth-child(3n+1)) {
    margin-left: 10px;
  }
  .strength .content-block .wrap .img-wrap.max-4 {
    padding-left: 60px;
  }
  .strength .content-block .wrap .img-wrap.max-4 .img {
    width: calc((100% - 20px) / 2);
  }
  .strength .content-block .wrap .img-wrap.max-4 .img:nth-child(2n+2) {
    margin-left: 20px;
  }
  .strength .content-block .wrap .img-wrap.max-4 .img:nth-child(n+3) {
    margin-top: 15px;
  }
  .strength .content-block .wrap .img-wrap .img:nth-child(2n+2) {
    margin-left: 20px;
  }
  .strength .content-block .wrap .img-wrap .img:nth-child(n+3) {
    margin-top: 20px;
  }
  .strength .content-block .wrap .img-wrap .img {
    width: calc((100% - 20px) / 2);
  }
  .strength .content-block .wrap .img-wrap .img .txt {
    font-size: 10px;
    margin-top: 10px;
  }
  .strength .content-block .wrap .img-wrap + .text {
    margin-top: 30px;
  }
  .strength .content-block .wrap .flow-wrap {
    margin-top: 30px;
    width: calc(100% - 60px);
  }
  .strength .content-block .wrap .flow-wrap + .flow-wrap {
    margin-top: 40px;
  }

  .strength .content-block .wrap .flow-wrap + .flow-wrap.fix20250904 {
    margin-top: 20px;
  }

  .strength .content-block .wrap .flow-wrap .text-wrap {
    margin-right: 0;
    width: 100%;
  }
  .strength .content-block .wrap .flow-wrap .text-wrap .title .num {
    font-size: 14px;
    padding: 1px 20px 3px 14px;
    height: 26px;
    width: 51px;
  }
  .strength .content-block .wrap .flow-wrap .text-wrap .title .main {
    font-size: 16px;
    padding-top: 0;
    padding-left: 60px;
  }
  .strength .content-block .wrap .flow-wrap .text-wrap .text {
    margin-top: 10px;
  }
  .strength .content-block .wrap .flow-wrap .text-wrap .img {
    margin-top: 20px;
  }
  .strength .content-block .wrap .flow-wrap .text-wrap .img + .img {
    margin-top: 15px;
  }
  .strength .content-block .wrap .flow-wrap .img-wrap {
    margin-top: 15px;
    width: 100%;
  }
  .strength .content-block .wrap .flow-wrap .img-wrap img + img {
    margin-top: 15px;
  }
  .strength .content-block .wrap .img-box {
    margin: 30px 0 30px auto;
    width: calc(100% - 60px);
  }
  .strength .content-block .wrap .img-box .wrap {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 15px 20px;
  }
  .strength .content-block .wrap .img-box .wrap .img + .img {
    margin-left: 20px;
    margin-top: 60px;
  }
  .strength .content-block .wrap .img-box .wrap .img + .img::before {
    bottom: inherit;
    top: -50px;
    right: 0;
    left: -20px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    height: 30px;
    width: 36px;
  }
  .strength .content-block .wrap .img-list {
    margin-top: 15px;
    padding: 15px;
    width: calc(100% - 60px);
  }
  .strength .content-block .wrap .img-list li {
    width: calc((100% - 20px) / 2);
  }
  .strength .content-block .wrap .img-list li:nth-child(2n+2) {
    margin-left: 20px;
  }
  .strength .content-block .wrap .img-list li:nth-child(n+3) {
    margin-top: 20px;
  }
  .strength .content-block .wrap .l-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .strength .content-block .wrap .l-flex .title {
    font-size: 18px;
    padding-left: 60px;
    margin-bottom: 10px;
  }
  .strength .content-block .wrap .l-flex .img .note {
    font-size: 12px;
  }
  .strength .content-block .wrap .l-flex .img .note + img {
    margin-top: 20px;
  }
  .strength .content-block .wrap .l-flex .img {
    padding-left: 60px;
    margin-top: 15px;
  }
  .strength .content-block .wrap .c-title04:not(.full) {
    margin-top: 20px;
    margin-bottom: 10px;
    width: calc(100% - 60px);
  }
  .strength .content-block .wrap .c-title05 {
    padding-left: 60px;
  }
  .strength .content-block .wrap .box {
    padding-left: 60px;
  }
  .strength .content-block .wrap .box + .text {
    font-size: 14px;
    padding-left: 60px;
    margin-top: 30px;
  }
  .strength .content-block .wrap .box .title {
    font-size: 16px;
    margin-top: 20px;
  }
  .strength .content-block .wrap .box .txt {
    font-size: 10px;
  }
  .strength .content-block .wrap .box .num-list li + li {
    margin-top: 20px;
  }
  .strength .content-block .wrap .box .num-list li .ttl {
    font-size: 14px;
  }
  .strength .content-block .wrap .box .num-list li .txt {
    font-size: 10px;
  }
  .strength .content-block .wrap .box .num-list li .img-wrap .note {
    font-size: 10px;
  }
  .strength .content-block .wrap .box .num-list li .img-wrap img + img {
    margin-top: 20px;
  }
  .strength .content-block .wrap .box .img-wrap + .c-btn01 {
    max-width: 200px;
  }
  .strength .content-block .wrap .text-box .title {
    font-size: 18px;
    padding-left: 60px;
    margin-bottom: 10px;
  }
  .strength .content-block .wrap .text-box .c-table-wrap {
    padding-left: 0;
    margin-left: auto;
    width: calc(100% - 60px);
  }
  .strength .content-block .wrap .text-box + .text {
    margin-top: 30px;
  }
  .strength .content-block .btn-wrap {
    margin-top: 25px;
  }
  .strength .content-block .img-list-box-title + .img-wrap.wide {
    margin-top: 40px;
  }
  .strength .content-block .img-list-box-title {
    padding-left: 60px;
    font-size: 18px;
    margin-bottom: 20px;
  }
  .strength .content-block .img-list-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 60px;
  }
  .strength .content-block .img-list-box .box-wrap {
    width: 100%;
  }
  .strength .content-block .img-list-box .box-wrap + .box-wrap {
    margin-top: 30px;
  }
  .strength .content-block .img-list-box .box-wrap .text {
    margin-top: 10px;
  }
  .strength .content-block .img-list-box .box-wrap .c-btn01 {
    max-width: 200px;
  }
  .products .content-block .inner-block {
    padding-bottom: 50px;
  }
  .products .content-block .text {
    font-size: 10px;
  }
  .products .content-block .img-wrap .img {
    width: calc((100% - 20px) / 2);
  }
  .products .content-block .img-wrap .img:nth-child(2n+2) {
    margin-left: 20px;
  }
  .products .content-block .img-wrap .img:nth-child(n+3) {
    margin-top: 15px;
  }
  .products .content-block .img-wrap .img .txt {
    font-size: 10px;
  }
  .products .content-block .modal-box {
    padding: 30px 30px;
    width: 90%;
  }
  .products .content-block .modal-box img {
    width: 100%;
  }
  .products .content-block .modal-box .modal-title {
    font-size: 20px;
  }
  .compliance .terms-block .num-list li {
    font-size: 10px;
    padding-left: 30px;
  }
  .compliance .terms-block .num-list li + li {
    margin-top: 10px;
  }
  .compliance .terms-block .num-list02 > li {
    font-size: 10px;
    padding-left: 10px;
  }
  .compliance .terms-block .dot-list li {
    font-size: 10px;
  }
  .compliance .terms-block .dot-list li .inn {
    padding-left: 10px;
  }
  .compliance .terms-block .c-txt-list + .c-title03 {
    margin-top: 20px;
  }
  .compliance .terms-block .btn-wrap {
    margin-top: 25px;
  }
  .compliance .terms-block .btn-wrap.l-flex {
    display: block;
  }
}

@media only screen and (min-width: 641px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
  .inner-block {
    padding: 0 30px;
    width: 1260px;
  }
  a,
a::before,
a::after,
button,
button::before,
button::after {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .sp {
    display: none !important;
  }
  .c-header.is-open {
    padding-bottom: 229px;
  }
  .c-header::before {
    background: #fff;
    content: "";
    display: block;
    height: 90px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .c-header .menu-wrap {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% - 367px);
  }
  .c-header .btn-menu {
    display: none;
  }
  .c-header .c-menu .aco-btn {
    display: none;
  }
  .c-header .c-menu > li .sub-menu-outer {
    min-height: 126px;
    padding-left: 230px;
  }
  .c-header .c-menu > li .sub-menu-outer .sub-menu {
    position: relative;
    padding-left: 0;
    top: 30px;
  }
  .c-header .c-menu > li .sub-menu-outer .sub-menu li {
    margin-right: 55px;
    margin-bottom: 10px;
  }
  .c-header .c-menu > li .sub-menu-outer .sub-menu li:first-child {
    position: absolute;
    left: -180px;
    top: -35px;
    bottom: 0;
    margin: auto;
  }
  .c-header .c-menu > li .sub-menu-outer .sub-menu li:not(:first-child) {
    padding-top: 0;
  }
  .c-header .c-menu > li .sub-menu-outer .sub-menu li:nth-child(n+3) {
    margin-left: 0;
  }
  .c-header .c-menu > li:hover > .inn {
    color: #007946;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-header .c-menu > li:hover > .inn::after {
    background: #009944;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-header .c-menu > li:hover > .inn ~ .sub-menu-outer {
    opacity: 1;
    pointer-events: all;
    -webkit-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out;
  }
  .c-header .c-menu .sub-menu-outer {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .c-header .c-menu .sub-menu-outer.is-active {
    opacity: 1;
    pointer-events: all;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .c-header .c-menu .sub-menu-outer .sub-menu li:nth-child(n+3) {
    margin-left: 55px;
  }
  .c-header .c-menu .sub-menu-outer .sub-menu li .inn:hover {
    color: #009944;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-header .contact-btn a {
    color: #fff;
    display: block;
    background: linear-gradient(325deg, #4c9b52 0%, #115d1b 100%);
    padding: 55px 10px 20px;
    font-size: 12px;
    position: relative;
    line-height: 1.33;
    z-index: 2;
  }
  .c-header .contact-btn a::before {
    background: url(../img/common/ico_mail.svg) no-repeat center center;
    background-size: contain;
    content: "";
    display: block;
    height: 23px;
    width: 29px;
    position: absolute;
    top: 23px;
    left: 0;
    right: 0;
    margin: auto;
  }
  .c-header .contact-btn a::after {
    background: linear-gradient(325deg, #089b13 0%, #072f0c 100%);
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    z-index: -1;
  }
  .c-header .language-btn a:hover {
    background: #009944;
    color: #fff;
  }
  .c-header.en-page .c-menu > li > .inn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -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;
    font-size: 12px;
    line-height: 1.14;
    height: 100%;
    padding: 28px 18px 34px;
  }
  .c-header.en-page .c-menu > li > .inn.large {
    font-size: 14px;
  }
  .c-header.en-page .c-menu > li .sub-menu-outer .sub-menu {
    top: 50px;
  }
  .c-header.en-page .c-menu > li:nth-child(1) .inn::after, .c-header.en-page .c-menu > li:nth-child(2) .inn::after {
    top: 4.5em;
  }
  .c-header.en-page .c-menu > li:nth-child(3) .inn::after, .c-header.en-page .c-menu > li:nth-child(4) .inn::after {
    top: 3.5em;
  }
  .c-header.en-page .c-menu .sub-menu-outer .sub-menu li .inn {
    display: block;
    font-size: 12px;
    line-height: 1.14;
  }
  .c-header.en-page .c-menu .sub-menu-outer .sub-menu li .inn.large {
    font-size: 14px;
  }
  .c-header.en-page .c-menu .sub-menu-outer .sub-menu li:first-child {
    top: -53px;
  }
  .c-header.en-page .contact-btn a {
    padding: 55px 20px 20px;
  }
  .c-footer .inner-block {
    padding-left: 74px;
  }
  .c-footer .footer-menu-wrap .footer-menu:not(.in-ttl) {
    padding-top: 43px;
  }
  .c-footer .footer-menu-wrap .footer-menu li + li {
    margin-top: 5px;
  }
  .c-footer .footer-menu-wrap .footer-menu li.title {
    margin-bottom: 20px;
  }
  .c-footer .footer-menu-wrap .footer-menu li.mt-20 {
    margin-top: 32px;
  }
  .c-footer .footer-menu-wrap .footer-menu a:hover {
    color: #009944;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-footer.en-page .inner-block {
    width: 1320px;
    padding-bottom: 100px;
  }
  #pagetop a:hover {
    height: 72px;
    background: -webkit-gradient(linear, left top, left bottom, from(#1c9d26), to(#004d0b));
    background: linear-gradient(#1c9d26 0%, #004d0b 100%);
  }
  .c-title03.line-long::before {
    width: 900px;
  }
  .c-btn01:hover:after {
    opacity: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-btn01.large {
    max-width: 460px;
    font-size: 20px;
    padding: 30px 20px 28px;
  }
  .c-btn01.small {
    font-size: 12px;
    padding: 6px 20px 5px;
    max-width: 159px;
  }
  .c-btn01.small::before {
    height: 20px;
    width: 20px;
  }
  .c-btn01.wi-400 {
    min-width: 400px;
  }
  .c-btn02:hover::before {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .c-btn02:hover.sdgs::after {
    opacity: 0.32;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .c-btn02.sdgs {
    font-size: 16px;
  }
  .breadcrumbs-block .breadcrumbs-list a:hover {
    text-decoration: underline;
  }
  .c-table01 th {
    padding-left: 5px;
  }
  .c-table01 td {
    padding-left: 60px;
  }
  .c-table02 a:hover {
    text-decoration: underline;
  }
  .c-table03:not(.en) th.min-130 {
    min-width: 130px;
  }
  .c-table03:not(.en) th.min-140 {
    min-width: 140px;
  }
  .c-table03.en th {
    padding: 20px 5px;
  }
  .c-table03.en td {
    padding: 20px 15px;
  }
  .c-table03 th:nth-child(n+3), .c-table03 td:nth-child(n+3) {
    width: 100px;
  }
  .c-table03 th {
    padding: 14px 5px;
  }
  .c-table03 th:nth-child(-n+2) {
    text-align: left;
    padding: 14px 10px;
  }
  .c-table03 td {
    padding: 20px 10px;
  }
  .c-table03 td.link:hover {
    text-decoration: none;
  }
  .c-table04 th .line {
    width: 100px;
    margin-right: 22px;
    display: inline-block;
  }
  .outer-link:hover {
    text-decoration: none;
  }
  .c-link:hover {
    text-decoration: none;
  }
  .c-bottom-wrap .link-box:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .c-bottom-wrap .link-box:hover.green::before {
    opacity: 0.32;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .c-404-block .inner-block {
    max-width: 992px;
    min-height: calc(100vh - (90px + 442px));
  }
  .c-404-block .c-title04 {
    margin-bottom: 24px;
  }
  .backtop-btn:hover {
    opacity: 0.8;
  }
  .c-text-link {
    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: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-text-link a {
    width: calc(100% / 4);
  }
  .c-text-link a:hover {
    color: #009944;
    text-decoration: none;
  }
  .c-text-link a:first-child {
    padding-right: 20px;
  }
  .c-text-link.in-title .inn {
    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: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .home .mv-block {
    height: min(745px, 41.6201117318vw);
  }
  .home .strength-block .strength-slider .strength-box .inn .img-wrap .title {
    white-space: nowrap;
  }
  .home .strength-block .strength-slider .strength-box a:hover {
    text-decoration: none;
  }
  .home .strength-block .thumb-slider .thumb-slide:hover .num {
    opacity: 0.8;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .home .strength-block .thumb-slider .thumb-slide:hover::before {
    background: rgba(0, 153, 68, 0.1);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .home .news-block .btn-wrap .c-btn01 {
    margin-left: auto;
  }
  .home .news-block .news-list li a:hover {
    color: #009944;
  }
  .home .news-block .l-flex .news-box + .news-box {
    margin-left: 60px;
  }
  .home .news-block .l-flex .news-box .news-list li .text {
    margin-left: 27px;
    width: calc(100% - 237px);
  }
  .home .news-block .l-flex .news-box .link-list a:hover {
    text-decoration: none;
  }
  .home .history-block .modal-wrap .modal:hover {
    opacity: 0.7;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .home .history-block .youtube-block a:hover {
    opacity: 0.7;
  }
  .home .info-block .link-box-wrap {
    top: -30px;
  }
  .home .info-block .link-box-wrap .link-box:first-child {
    position: relative;
    top: -28px;
  }
  .home .info-block .link-box-wrap .link-box .box a:hover .img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .home .sdgs-block .c-title02 .main {
    margin-bottom: 32px;
  }
  .home .group-block .link-list li a:hover {
    opacity: 0.7;
  }
  .home .recruit-block .img-link a:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .home .link-block .contact-wrap .inner-block .btn-wrap .c-btn01 {
    min-width: 460px;
  }
  .home .c-info-box .bottom-wrap .link-box:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .home .c-info-box .bottom-wrap .link-box:hover.green::before {
    opacity: 0.32;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .corporate-profile-block .map-wrap iframe {
    max-height: 550px;
  }
  .corporate-person-block .person-area .person-box .txt-area .furigana {
    padding-left: 10px;
  }
  .corporate-person-block .careet-area .comment-box {
    border: 1px solid #707070;
  }
  .corporate-message-block .colum-area {
    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;
  }
  .corporate-message-block .colum-area .body-img {
    margin-left: 10%;
    max-height: 802px;
  }
  .corporate-message-block .colum-area.left .name {
    margin-top: 60px;
  }
  .corporate-message-block.sustainability .colum-area {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .corporate-policy-block .inner-block {
    width: 1060px;
  }
  .corporate-compliance-block .c-btn01.pdf .inn::before {
    left: -30px;
  }
  .corporate-compliance-block .btn-wrap .c-btn01 {
    margin-top: 0;
    padding: 17px 20px 18px;
  }
  .corporate-compliance-block .btn-wrap.l-flex .c-btn01 {
    min-width: 300px;
    margin: 0;
  }
  .corporate-compliance-block .btn-wrap.l-flex .c-btn01 + .c-btn01 {
    margin-left: 20px;
  }
  .corporate-compliance-block .btn-wrap.left .c-btn01.pdf .inn::before {
    left: -10px;
  }
  .office .photo-block .img-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  .corporate-management-block .modal-box .box-person {
    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;
    padding: 52px 45px 52px 67px;
  }
  .corporate-management-block .modal-box .box-person .img {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    margin-right: 36px;
    width: 234px;
  }
  .corporate-management-block .modal-box .box-img {
    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;
    padding: 35px 40px 40px;
  }
  .corporate-management-block .modal-box .box-img .img,
.corporate-management-block .modal-box .box-img .box {
    width: calc(50% - 11px);
  }
  .corporate-management-block .intro-box {
    margin: 0 calc(50% - max(50vw, 640px));
    padding: 100px calc(max(50vw, 640px) - 50%);
  }
  .corporate-management-block .aco-wrap {
    margin: 0 calc(50% - max(50vw, 640px));
    padding: 24px 0 80px;
  }
  .corporate-management-block .aco-close:hover {
    background-color: #003a07;
  }
  .corporate-management-block .aco-head .txt-wrap {
    position: relative;
  }
  .management-box {
    width: max(100vw, 1280px);
    padding-right: 10px;
  }
  .management-box table {
    min-width: 1920px;
  }
  .management-box thead td:first-child {
    padding-right: 40px;
    width: 600px;
  }
  .management-box thead td:first-child .period {
    right: 0;
  }
  .management-box thead .txt .link:hover {
    text-decoration: none;
  }
  .management-box thead .caption .link:hover {
    text-decoration: none;
  }
  .management-box tbody {
    position: relative;
  }
  .management-box tbody::before {
    content: "";
    background: no-repeat center left/contain;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 568px;
  }
  .management-box tbody tr:not(:first-child) {
    border-top: 1px solid #707070;
  }
  .management-box tbody .link:hover {
    text-decoration: none;
  }
  .year-1800 tbody::before {
    background-image: url(../img/corporate/management/1800-head.svg);
  }
  .year-1800 tbody tr:nth-of-type(1) {
    height: 98px;
  }
  .year-1800 tbody tr:nth-of-type(2) {
    height: 114px;
  }
  .year-1800 tbody tr:nth-of-type(3) {
    height: 83px;
  }
  .year-1800 tbody tr:nth-of-type(4) {
    height: 63px;
  }
  .year-1800 tbody tr:nth-of-type(5) {
    height: 117px;
  }
  .year-1800.en tbody::before {
    background-image: url(../img/corporate/management/1800-head_en.svg);
  }
  .year-1910 tbody::before {
    background-image: url(../img/corporate/management/1910-head.svg);
  }
  .year-1910 tbody tr:nth-of-type(1) {
    height: 94px;
  }
  .year-1910 tbody tr:nth-of-type(2) {
    height: 104px;
  }
  .year-1910 tbody tr:nth-of-type(3) {
    height: 93px;
  }
  .year-1910 tbody tr:nth-of-type(4) {
    height: 120px;
  }
  .year-1910 tbody tr:nth-of-type(5) {
    height: 108px;
  }
  .year-1910.en tbody::before {
    background-image: url(../img/corporate/management/1910-head_en.svg);
  }
  .year-1940 tbody::before {
    background-image: url(../img/corporate/management/1940-head.svg);
  }
  .year-1940 tbody tr:nth-of-type(1) {
    height: 94px;
  }
  .year-1940 tbody tr:nth-of-type(2) {
    height: 108px;
  }
  .year-1940 tbody tr:nth-of-type(3) {
    height: 116px;
  }
  .year-1940 tbody tr:nth-of-type(4) {
    height: 94px;
  }
  .year-1940 tbody tr:nth-of-type(5) {
    height: 85px;
  }
  .year-1940.en tbody::before {
    background-image: url(../img/corporate/management/1940-head_en.svg);
  }
  .year-1960 tbody::before {
    background-image: url(../img/corporate/management/1960-head.svg);
  }
  .year-1960 tbody tr:nth-of-type(1) {
    height: 91px;
  }
  .year-1960 tbody tr:nth-of-type(2) {
    height: 129px;
  }
  .year-1960 tbody tr:nth-of-type(3) {
    height: 113px;
  }
  .year-1960 tbody tr:nth-of-type(4) {
    height: 91px;
  }
  .year-1960 tbody tr:nth-of-type(5) {
    height: 88px;
  }
  .year-1960.en tbody::before {
    background-image: url(../img/corporate/management/1960-head_en.svg);
  }
  .year-1970 tbody::before {
    background-image: url(../img/corporate/management/1970-head.svg);
    top: 5px;
  }
  .year-1970 tbody tr:nth-of-type(1) {
    height: 95px;
  }
  .year-1970 tbody tr:nth-of-type(2) {
    height: 137px;
  }
  .year-1970 tbody tr:nth-of-type(3) {
    height: 106px;
  }
  .year-1970 tbody tr:nth-of-type(4) {
    height: 94px;
  }
  .year-1970 tbody tr:nth-of-type(5) {
    height: 85px;
  }
  .year-1970.en tbody::before {
    background-image: url(../img/corporate/management/1970-head_en.svg);
  }
  .year-1980 tbody::before {
    background-image: url(../img/corporate/management/1980-head.svg);
  }
  .year-1980 tbody tr:nth-of-type(1) {
    height: 92px;
  }
  .year-1980 tbody tr:nth-of-type(2) {
    height: 137px;
  }
  .year-1980 tbody tr:nth-of-type(3) {
    height: 101px;
  }
  .year-1980 tbody tr:nth-of-type(4) {
    height: 94px;
  }
  .year-1980 tbody tr:nth-of-type(5) {
    height: 85px;
  }
  .year-1980.en tbody::before {
    background-image: url(../img/corporate/management/1980-head_en.svg);
  }
  .year-1990 tbody::before {
    background-image: url(../img/corporate/management/1990-head.svg);
    top: 5px;
  }
  .year-1990 tbody tr:nth-of-type(1) {
    height: 90px;
  }
  .year-1990 tbody tr:nth-of-type(2) {
    height: 200px;
  }
  .year-1990 tbody tr:nth-of-type(3) {
    height: 82px;
  }
  .year-1990 tbody tr:nth-of-type(4) {
    height: 93px;
  }
  .year-1990 tbody tr:nth-of-type(5) {
    height: 81px;
  }
  .year-1990.en tbody::before {
    background-image: url(../img/corporate/management/1990-head_en.svg);
  }
  .year-2000 tbody::before {
    background-image: url(../img/corporate/management/2000-head.svg);
    top: -10px;
  }
  .year-2000 tbody tr:nth-of-type(1) {
    height: 116px;
  }
  .year-2000 tbody tr:nth-of-type(2) {
    height: 138px;
  }
  .year-2000 tbody tr:nth-of-type(3) {
    height: 86px;
  }
  .year-2000 tbody tr:nth-of-type(4) {
    height: 70px;
  }
  .year-2000 tbody tr:nth-of-type(5) {
    height: 80px;
  }
  .year-2000.en tbody::before {
    background-image: url(../img/corporate/management/2000-head_en.svg);
  }
  .year-2010 tbody::before {
    background-image: url(../img/corporate/management/2010-head.svg);
  }
  .year-2010 tbody tr:nth-of-type(1) {
    height: 106px;
  }
  .year-2010 tbody tr:nth-of-type(2) {
    height: 120px;
  }
  .year-2010 tbody tr:nth-of-type(3) {
    height: 72px;
  }
  .year-2010 tbody tr:nth-of-type(4) {
    height: 134px;
  }
  .year-2010 tbody tr:nth-of-type(5) {
    height: 54px;
  }
  .year-2010.en tbody::before {
    background-image: url(../img/corporate/management/2010-head_en.svg);
  }
  .year-2020 tbody::before {
    background-image: url(../img/corporate/management/2020-head.svg);
    top: 10px;
    bottom: 10px;
  }
  .year-2020 tbody tr:nth-of-type(1) {
    height: 162px;
  }
  .year-2020 tbody tr:nth-of-type(2) {
    height: 179px;
  }
  .year-2020 tbody tr:nth-of-type(3) {
    height: 163px;
  }
  .year-2020.en tbody::before {
    background-image: url(../img/corporate/management/2020-head_en.svg);
  }
  .group .composition-block .group-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .group .composition-block a.link-area:hover::after {
    top: 12px;
  }
  .group .composition-block .hierarchy01 {
    max-width: 1200px;
  }
  .group .composition-block .hierarchy02 .link-area {
    width: 330px;
  }
  .group .composition-block .hierarchy02 .txt-area {
    width: calc(100% - 330px);
  }
  .sustainability .colum-area + * picture {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .sdgs .system-block .system-img {
    width: 1080px;
  }
  .sdgs .contribution-block .bg-box .btn-wrap.l-flex .c-btn01 {
    min-width: 300px;
    margin: 0;
  }
  .sdgs .contribution-block .bg-box .btn-wrap.l-flex .c-btn01 + .c-btn01 {
    margin-left: 75px;
  }
  .sdgs .contribution-block .contribution-img {
    width: 836px;
  }
  .sdgs .contribution-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .sdgs .contribution-content .link:hover,
.sdgs .contribution-content [data-modal-link]:hover {
    text-decoration: none;
  }
  .sdgs .contribution-content .icon-area {
    max-width: 100px;
    min-width: 100px;
    margin-right: 76px;
  }
  .sdgs .contribution-content .icon-area img + img {
    margin-top: 12px;
  }
  .sdgs .contribution-content .contribution-txt.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sdgs .contribution-content .contribution-txt.reverse .txt-area {
    margin-left: 40px;
    margin-right: 0;
    width: calc(100% - 274px);
  }
  .sdgs .contribution-content .contribution-txt.reverse .img {
    width: 234px;
  }
  .sdgs .contribution-content .contribution-txt-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
  }
  .sdgs .contribution-content .contribution-txt-flex .txt-area {
    width: calc((100% - 30px) / 2);
  }
  .sdgs .contribution-content .contribution-txt-flex .txt-area.long {
    width: 100%;
  }
  .sdgs .contribution-content .contribution-txt-flex .img-item[data-modal-link] {
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .sdgs .contribution-content .contribution-txt-flex .img-item[data-modal-link]:hover {
    opacity: 0.8;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .sdgs .contribution-content .contribution-txt-flex .caption {
    text-align: left;
  }
  .corporate-communication-block .lead-txt {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 45px;
    text-align: left;
  }
  .corporate-communication-block .box .c-charter {
    max-width: 800px;
  }
  .corporate-communication-block .box .lead-txt {
    margin-bottom: 60px;
  }
  .corporate-communication-block .box .colum-box {
    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;
  }
  .corporate-communication-block .box .colum-box .boxes {
    width: calc((100% /3) - 20px);
  }
  .corporate-communication-block .box .img-wrap.max-3 .img + .img {
    margin-left: 36px;
  }
  .corporate-communication-block .sub-box .img.mt-50 {
    margin-top: 50px;
  }
  .corporate-communication-block .btn-wrap.l-flex .c-btn01 {
    min-width: 300px;
    margin: 0;
    padding: 17px 20px 18px;
  }
  .corporate-communication-block .btn-wrap.l-flex .c-btn01 + .c-btn01 {
    margin-left: 20px;
  }
  .corporate-communication-block .btn-wrap.left .c-btn01.pdf .inn::before {
    left: -10px;
  }
  .corporate-communication-block .gray-bg .img.screen {
    max-width: 70px;
  }
  .corporate-environment-block .box .img-wrap .img:not(:nth-child(3n+1)) {
    margin-left: 20px;
  }
  .corporate-environment-block .box .img-wrap .img:nth-child(n+3) {
    margin-top: 0px;
  }
  .corporate-environment-block .box .btn-wrap .c-btn01.pdf .inn::before {
    left: -10px;
  }
  .corporate-environment-block .box .l-flex.text-long .text-wrap {
    margin-right: 33px;
    width: calc(100% - 350px);
  }
  .corporate-environment-block .box .l-flex.half .text-wrap {
    margin-right: 32px;
    width: calc(100% - 582px);
  }
  .corporate-environment-block .btn-wrap.l-flex .c-btn01 {
    min-width: 300px;
    margin: 0;
    padding: 17px 20px 18px;
  }
  .corporate-environment-block .btn-wrap.l-flex .c-btn01 + .c-btn01 {
    margin-left: 20px;
  }
  .corporate-environment-block .btn-wrap.left .c-btn01.pdf .inn::before {
    left: -10px;
  }
  .materiality .table-box .table tbody td:nth-of-type(1) {
    width: 280px;
  }
  .materiality .table-box .table tbody td:nth-of-type(2) {
    width: 480px;
  }
  .materiality .table-box .table tbody td:nth-of-type(3) {
    width: 480px;
  }
  .report .box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .report .box .thumb {
    margin-right: 65px;
  }
  .report .report-list a:hover {
    text-decoration: underline;
  }
  .contact .contact-block .postal-btn:hover {
    background: #007946;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .contact .confirm-area .btn-wrap .cancel:hover {
    opacity: 0.7;
  }
  .terms-block .c-title03 {
    text-align: center;
  }
  .terms-block .c-title03::before {
    right: 0;
    margin: auto;
  }
  .terms-block .btn-wrap.text-align a {
    margin: 25px auto 0;
  }
  .terms-block.privacy .c-txt-list {
    margin-top: 40px;
  }
  .terms-block.charter {
    margin-bottom: 100px;
  }
  .terms-block.charter .ttl-box {
    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;
  }
  .terms-block.charter .ttl-box .c-btn01 {
    width: 300px;
  }
  .terms-block.charter .lead-txt {
    margin-top: 125px;
  }
  .terms-block.charter .c-txt-list > li .txt {
    padding-top: 15px;
  }
  .terms-block.code .c-txt-list li .c-title06 .c-title05 {
    padding-bottom: 10px;
  }
  .terms-block.code .c-txt-list > li + * {
    margin-top: 140px;
  }
  .terms-block.risk .c-btn01.pdf .inn {
    margin-left: 25px;
  }
  .terms-block.risk .c-btn01.pdf .inn::before {
    left: -20px;
  }
  .about .intro-block .img + .note {
    padding-right: 140px;
  }
  .about .intro-block .intro-box-wrap .box:not(:nth-child(3n+1)) {
    margin-left: 26px;
  }
  .about .intro-block .intro-box-wrap .box:nth-child(n+4) {
    margin-top: 30px;
  }
  .about .intro-block .movie-wrap:hover {
    opacity: 0.7;
  }
  .about .project-block .tab-ul li:hover {
    -webkit-animation: flash 1.5s linear infinite;
            animation: flash 1.5s linear infinite;
  }
  .about .project-block .tab-target .green-box .bottom .c-title03::before {
    width: 803px;
  }
  .about .project-block .tab-target .green-box .bottom .text.mw-735 {
    max-width: 735px;
    margin: 20px auto 0;
  }
  .about .project-block .tab-target .green-box .bottom .text.mw-707 {
    max-width: 707px;
    margin: 20px auto 0;
  }
  .about .project-block .tab-target .green-box .bottom .img.movie:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .about .resolution-block .l-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .about .resolution-block .resolution-box .img-list .img-wrap + .img-wrap {
    margin-left: 30px;
  }
  .about .about-slider-wrap .about-slider .slide:hover {
    opacity: 0.8;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .about.en-page .intro-block .img + .note {
    padding-right: 50px;
  }
  .strength .mv-block .strength-box .inn .img-wrap .title {
    white-space: nowrap;
  }
  .strength .mv-block .strength-box a:hover {
    text-decoration: none;
  }
  .strength .content-block .movie:hover {
    opacity: 0.7;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .strength .content-block .wrap .img-wrap.max-3.wide .img:not(:nth-child(3n+1)) {
    margin-left: 30px !important;
  }
  .strength .content-block .wrap .img-wrap.max-4 .img:not(:nth-child(4n+1)) {
    margin-left: 20px;
  }
  .strength .content-block .wrap .img-wrap.max-4 .img:nth-child(n+3) {
    margin-top: 0;
  }
  .strength .content-block .wrap .img-list li:not(:nth-child(3n+1)) {
    margin-left: 25px;
  }
  .strength .content-block .wrap .img-list li:nth-child(n+4) {
    margin-top: 20px;
  }
  .strength .content-block .wrap .l-flex .text-wrap {
    padding-left: 110px;
  }
  .strength .content-block .wrap .l-flex .text-wrap.long {
    width: calc(100% - 559px);
  }
  .strength .content-block .wrap .l-flex .text-wrap.long .text {
    padding-left: 0;
    width: 100%;
  }
  .strength .content-block .wrap .l-flex .text {
    width: calc(100% - 490px);
  }
  .strength .content-block .wrap .l-flex .img {
    width: 460px;
  }
  .strength .content-block .wrap .l-flex .img.wi-514 {
    width: 514px;
  }
  .strength .content-block .img-list-box .box-wrap:nth-child(2n+2) {
    margin-left: 80px;
  }
  .strength .content-block .img-list-box .box-wrap:nth-child(n+3) {
    margin-top: 60px;
  }
  .strength .content-block .img-list-box .box-wrap .c-btn01 {
    margin-top: 36px;
  }
  .strength .content-block .img-list-box .slider-img .slick-arrow:hover::before {
    opacity: 0.8;
  }
  .products .content-block .img-wrap .img:not(:nth-child(5n+1)) {
    margin-left: 75px;
  }
  .products .content-block .img-wrap .img:nth-child(n+6) {
    margin-top: 55px;
  }
  .compliance .terms-block .btn-wrap.l-flex .c-btn01 {
    min-width: 300px;
    margin: 0;
  }
  .compliance .terms-block .btn-wrap.l-flex .c-btn01 + .c-btn01 {
    margin-left: 20px;
  }
}

@media only screen and (min-width: 641px) and (min-width: 641px) {
  .c-header .contact-btn a:hover:after {
    opacity: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-btn01.wi-180 {
    min-width: 180px;
  }
}

@media only screen and (max-width: 640px) and (max-width: 640px) {
  .c-header .contact-btn a::before {
    width: 20px;
    height: 20px;
  }
  .c-footer .footer-menu-wrap .footer-menu li.title::before {
    left: inherit;
    right: 16px;
    top: 0;
    bottom: 0;
  }
  .c-table03:not(.normal) tbody td {
    width: unset;
    padding: 10px;
  }
  .corporate-person-block .careet-area .c-title04 {
    font-size: 24px;
    padding-bottom: 7px;
  }
  .corporate-communication-block .box .img-wrap.max-3 .img:nth-child(2n+2) {
    margin-left: 15px;
  }
  .corporate-communication-block .box .img-wrap.max-3 .img:nth-child(n+3) {
    margin-top: 15px;
  }
  .corporate-environment-block .c-title04.line::before {
    width: 100%;
  }
}

@media only screen and (min-width: 641px) and (max-width: 1800px) {
  .c-footer::before {
    right: 100px;
  }
}

@media only screen and (min-width: 641px) and (max-width: 1600px) {
  .c-footer::before {
    right: 0;
  }
  .c-footer::before {
    height: 74px;
    width: 146px;
  }
}

@media only screen and (max-width: 640px) and (min-width: 400px) {
  .c-btn-area {
    width: 340px;
  }
}

@media only screen and (max-width: 640px) and (max-width: 640px) and (min-width: 375px) {
  .c-btn-area .btn-wrap .c-btn01 {
    max-width: unset;
  }
}

@media only screen and (min-width: 641px) and (max-width: 640px) {
  .c-table03:not(.en) th.min-130 {
    min-width: 120px;
  }
  .c-table03:not(.en) th.min-140 {
    min-width: 120px;
  }
}

@media only screen and (min-width: 641px) and (min-width: 1790px) {
  .home .mv-block {
    height: min(808px, 42.0833333333vw);
  }
}

@media only screen and (min-width: 641px) and (max-width: 1670px) {
  .home .mv-block {
    height: min(650px, 38.9221556886vw);
  }
}

@media only screen and (min-width: 641px) and (max-width: 1179px) {
  .home .mv-block {
    height: 500px;
  }
}

@media only screen and (min-width: 641px) and (max-width: 1420px) {
  .home .strength-block .strength-slider .strength-box .text-wrap.pc {
    margin-bottom: 100px;
  }
  .home .strength-block .strength-slider .slick-arrow {
    top: inherit;
  }
  .home .strength-block .strength-slider .slick-arrow.slick-prev {
    left: 0 !important;
  }
  .home .strength-block .strength-slider .slick-arrow.slick-next {
    right: 0 !important;
  }
}

@media only screen and (min-width: 641px) and (max-width: 1620px) {
  .home .strength-block .strength-slider .slick-arrow.slick-prev {
    left: -150px;
  }
  .home .strength-block .strength-slider .slick-arrow.slick-next {
    right: -150px;
  }
}

@media only screen and (min-width: 641px) and (max-width: 1520px) {
  .home .strength-block .strength-slider .slick-arrow.slick-prev {
    left: -100px;
  }
  .home .strength-block .strength-slider .slick-arrow.slick-next {
    right: -100px;
  }
}

@media only screen and (max-width: 640px) and (max-width: 330px) {
  .corporate-person-block .person-area .person-box .txt-area {
    margin-left: 15px;
  }
}

@media only screen and (min-width: 641px) and (max-width: 1000px) {
  .corporate-message-block .colum-area .body-img {
    margin-left: 5%;
  }
}

@media screen and (max-width: 349px) {
  .group .composition-block .hierarchy03.last::before {
    top: 51%;
  }
}

@media only screen and (max-width: 560px) {
  .materiality .table-box .table-wrap {
    overflow-x: auto;
    margin-right: -20px;
  }
  .materiality .table-box .table-wrap .table {
    margin-right: 20px;
    width: 600px;
  }
}

@media only screen and (max-width: 640px) and (max-width: 345px) {
  .contact .contact-block input[name=postal-code01] {
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 640px) and (max-width: 363px) {
  .contact .contact-block input[name=postal-code02] {
    margin-bottom: 10px;
  }
}

@media only screen and (min-width: 641px) and (max-width: 750px) {
  .contact .confirm-area .btn-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .contact .confirm-area .btn-wrap .cancel {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

@media only screen and (min-width: 641px) and (max-width: 1415px) {
  .about .about-slider-wrap .about-slider .slide .title {
    font-size: 16px;
    padding-right: 20px;
  }
}
/*# sourceMappingURL=style.css.map */