@charset "UTF-8";
.c-btn a, .c-btn .a {
  text-decoration: none;
  border-style: solid;
  box-sizing: border-box;
  border-width: 0;
  background-color: transparent;
  position: relative;
  z-index: 1;
  transition: all 300ms ease 0s;
  cursor: pointer;
  text-align: center;
  color: #000000;
  display: inline-flex;
  display: -ms-inline-flexbox;
  -ms-grid-row-align: center;
  align-items: center;
  justify-content: center;
}
.c-btn a:hover, .c-btn .a:hover {
  opacity: 1;
}
.c-btn .bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: all 300ms ease 0s;
}
.c-btn .shadow {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: all 300ms ease 0s;
}
.c-btn .txt {
  border: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
  font: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  -moz-appearance: none !important;
       appearance: none !important;
  -webkit-appearance: none !important;
  transition: all 300ms ease 0s;
}
.c-btn .arrow {
  position: absolute;
  top: 50%;
  height: 100%;
  transform: translate(0, -50%);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transition: all 300ms ease 0s;
}
.c-btn .arrow::before, .c-btn .arrow::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transition: all 300ms ease 0s;
}
.c-btn .arrow::beofre {
  z-index: 1;
  opacity: 1;
}
.c-btn .arrow::after {
  z-index: 2;
  opacity: 0;
}
.c-btn.m-wdt_100p a, .c-btn.m-wdt_100p .a {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
}
.c-btn.m-plane a, .c-btn.m-plane .a {
  min-height: 40px;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 50px;
  text-align: left;
  justify-content: flex-start;
}
.c-btn.m-plane a .bg, .c-btn.m-plane .a .bg {
  background-color: transparent;
}
.c-btn.m-plane a .arrow, .c-btn.m-plane .a .arrow {
  width: 19px;
  right: 0;
}
.c-btn.m-plane a .arrow::before, .c-btn.m-plane .a .arrow::before {
  background-image: url(../img/common/ico_btn_arrow_bk.svg);
}
.c-btn.m-plane a .arrow::after, .c-btn.m-plane .a .arrow::after {
  background-image: url(../img/common/ico_btn_arrow_bl.svg);
}
.c-btn.m-round a, .c-btn.m-round .a {
  border-radius: 999px;
  min-width: 300px;
  min-height: 80px;
  border: solid 1px #000000;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 50px;
  padding-right: 80px;
  text-align: center;
  justify-content: center;
}
.c-btn.m-round a .bg, .c-btn.m-round .a .bg {
  border-radius: 999px;
  background-color: transparent;
}
.c-btn.m-round a .bg::before, .c-btn.m-round .a .bg::before {
  content: "";
  display: block;
  width: 160%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-110%, 0) skew(30deg);
  transition: all 0.6s ease;
  background-color: #00B5C7;
}
.c-btn.m-round a .arrow, .c-btn.m-round .a .arrow {
  width: 19px;
  right: 50px;
}
.c-btn.m-round a .arrow::before, .c-btn.m-round .a .arrow::before {
  background-image: url(../img/common/ico_btn_arrow_bk.svg);
}
.c-btn.m-round a .arrow::after, .c-btn.m-round .a .arrow::after {
  background-image: url(../img/common/ico_btn_arrow_wt.svg);
}
.c-btn.m-liner a, .c-btn.m-liner .a {
  min-width: 100%;
  min-height: 130px;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 65px;
  padding-right: 60px;
  text-align: left;
  justify-content: flex-start;
}
.c-btn.m-liner a .bg, .c-btn.m-liner .a .bg {
  background-color: transparent;
}
.c-btn.m-liner a .bg::before, .c-btn.m-liner .a .bg::before {
  content: "";
  display: block;
  width: 160%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-130%, 0) skew(30deg);
  transition: all 0.6s ease;
  background-color: #00B5C7;
}
.c-btn.m-liner a .arrow, .c-btn.m-liner .a .arrow {
  width: 13px;
  right: 35px;
}
.c-btn.m-liner a .arrow::before, .c-btn.m-liner .a .arrow::before {
  background-image: url(../img/common/ico_btn_arrow_sm_bk.svg);
}
.c-btn.m-liner a .arrow::after, .c-btn.m-liner .a .arrow::after {
  background-image: url(../img/common/ico_btn_arrow_sm_wt.svg);
}
.c-btn.m-liner a .txt i, .c-btn.m-liner .a .txt i {
  vertical-align: middle;
}
.c-btn.m-hover_plane.is-active .a, .c-btn.m-hover_plane .is-active .a, .c-btn.m-hover_plane .a:hover {
  color: #00B5C7;
}
.c-btn.m-hover_plane.is-active .a .arrow, .c-btn.m-hover_plane .is-active .a .arrow, .c-btn.m-hover_plane .a:hover .arrow {
  right: -10px;
}
.c-btn.m-hover_plane.is-active .a .arrow::before, .c-btn.m-hover_plane .is-active .a .arrow::before, .c-btn.m-hover_plane .a:hover .arrow::before {
  opacity: 0;
}
.c-btn.m-hover_plane.is-active .a .arrow::after, .c-btn.m-hover_plane .is-active .a .arrow::after, .c-btn.m-hover_plane .a:hover .arrow::after {
  opacity: 1;
}
.c-btn.m-hover_round.is-active .a, .c-btn.m-hover_round .is-active .a, .c-btn.m-hover_round .a:hover {
  color: #ffffff;
  border-color: #00B5C7;
}
.c-btn.m-hover_round.is-active .a .bg::before, .c-btn.m-hover_round .is-active .a .bg::before, .c-btn.m-hover_round .a:hover .bg::before {
  transform: translate(-10%, 0) skew(30deg);
}
.c-btn.m-hover_round.is-active .a .arrow, .c-btn.m-hover_round .is-active .a .arrow, .c-btn.m-hover_round .a:hover .arrow {
  right: 40px;
}
.c-btn.m-hover_round.is-active .a .arrow::before, .c-btn.m-hover_round .is-active .a .arrow::before, .c-btn.m-hover_round .a:hover .arrow::before {
  opacity: 0;
}
.c-btn.m-hover_round.is-active .a .arrow::after, .c-btn.m-hover_round .is-active .a .arrow::after, .c-btn.m-hover_round .a:hover .arrow::after {
  opacity: 1;
}
.c-btn.m-hover_liner.is-active .a, .c-btn.m-hover_liner .is-active .a, .c-btn.m-hover_liner .a:hover {
  color: #ffffff;
}
.c-btn.m-hover_liner.is-active .a .bg::before, .c-btn.m-hover_liner .is-active .a .bg::before, .c-btn.m-hover_liner .a:hover .bg::before {
  transform: translate(-20%, 0) skew(30deg);
}
.c-btn.m-hover_liner.is-active .a .arrow, .c-btn.m-hover_liner .is-active .a .arrow, .c-btn.m-hover_liner .a:hover .arrow {
  right: 30px;
}
.c-btn.m-hover_liner.is-active .a .arrow::before, .c-btn.m-hover_liner .is-active .a .arrow::before, .c-btn.m-hover_liner .a:hover .arrow::before {
  opacity: 0;
}
.c-btn.m-hover_liner.is-active .a .arrow::after, .c-btn.m-hover_liner .is-active .a .arrow::after, .c-btn.m-hover_liner .a:hover .arrow::after {
  opacity: 1;
}
.c-btn a, .c-btn .a {
  line-height: 1.5;
}
.c-btn.m-wdt_pc_100p a, .c-btn.m-wdt_pc_100p .a {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
}
.c-btn.m-wdt_pc_100p a, .c-btn.m-wdt_pc_100p .a {
  width: 100%;
}
.c-btn.m-ta_left a, .c-btn.m-ta_left .a {
  justify-content: flex-start;
}
.c-btn.m-ta_left a > *, .c-btn.m-ta_left .a > * {
  text-align: left;
}
.c-btn.m-ta_center a, .c-btn.m-ta_center .a {
  justify-content: center;
}
.c-btn.m-ta_center a > *, .c-btn.m-ta_center .a > * {
  text-align: center;
}
.c-btn.m-ta_right a, .c-btn.m-ta_right .a {
  justify-content: flex-end;
}
.c-btn.m-ta_right a > *, .c-btn.m-ta_right .a > * {
  text-align: right;
}
.c-btn.m-ha_left {
  text-align: left;
}
.c-btn.m-ha_center {
  text-align: center;
}
.c-btn.m-ha_right {
  text-align: right;
}
.c-btn.m-wdt_120 a, .c-btn.m-wdt_120 .a {
  min-width: 120px;
}
.c-btn.m-hgt_40 a, .c-btn.m-hgt_40 .a {
  height: auto;
  min-height: 40px;
}
.c-btn.m-spc_r_0 a, .c-btn.m-spc_r_0 .a {
  padding-right: 0px;
}
.c-btn.m-spc_r_20 a, .c-btn.m-spc_r_20 .a {
  padding-right: 20px;
}
.c-btn.m-spc_r_40 a, .c-btn.m-spc_r_40 .a {
  padding-right: 40px;
}
.c-btn.m-spc_r_45 a, .c-btn.m-spc_r_45 .a {
  padding-right: 45px;
}
.c-btn.m-spc_r_60 a, .c-btn.m-spc_r_60 .a {
  padding-right: 60px;
}
.c-btn.m-spc_r_80 a, .c-btn.m-spc_r_80 .a {
  padding-right: 80px;
}
.c-btn.m-spc_l_0 a, .c-btn.m-spc_l_0 .a {
  padding-left: 0px;
}
.c-btn.m-spc_l_8 a, .c-btn.m-spc_l_8 .a {
  padding-left: 8px;
}
.c-btn.m-spc_l_20 a, .c-btn.m-spc_l_20 .a {
  padding-left: 20px;
}
.c-btn.m-spc_l_60 a, .c-btn.m-spc_l_60 .a {
  padding-left: 60px;
}
.c-btn.m-spc_l_80 a, .c-btn.m-spc_l_80 .a {
  padding-left: 80px;
}
.c-btn.m-txt_clr_body a, .c-btn.m-txt_clr_body .a {
  color: #000000;
}
.c-btn.m-txt_clr_wt00 a, .c-btn.m-txt_clr_wt00 .a {
  color: #ffffff;
}
.c-btn.m-txt_clr_bl01 a, .c-btn.m-txt_clr_bl01 .a {
  color: #00B5C7;
}
.c-btn.m-txt_hover_clr_body a:hover, .c-btn.m-txt_hover_clr_body .a:hover {
  color: #000000;
}
.c-btn.m-txt_hover_clr_bl01 a:hover, .c-btn.m-txt_hover_clr_bl01 .a:hover {
  color: #00B5C7;
}
.c-btn.m-border_clr_wt00 a, .c-btn.m-border_clr_wt00 .a {
  border-color: #ffffff;
}
.c-btn.m-bg_clr_bl01 a .bg, .c-btn.m-bg_clr_bl01 .a .bg {
  background-color: #00B5C7;
}
.c-btn.m-bg_clr_gn01 a .bg, .c-btn.m-bg_clr_gn01 .a .bg {
  background-color: #00B900;
}
.c-btn.m-bg_clr_wt00 a .bg, .c-btn.m-bg_clr_wt00 .a .bg {
  background-color: #ffffff;
}
.c-btn.m-bg_hover_clr_bl01_dark05 a .bg::before, .c-btn.m-bg_hover_clr_bl01_dark05 .a .bg::before {
  background-color: rgb(0, 157.8065326633, 173.5);
}
.c-btn.m-bg_hover_clr_gn01_dark05 a .bg::before, .c-btn.m-bg_hover_clr_gn01_dark05 .a .bg::before {
  background-color: rgb(0, 159.5, 0);
}
.c-btn.m-bg_hover_clr_wt00 a .bg::before, .c-btn.m-bg_hover_clr_wt00 .a .bg::before {
  background-color: #ffffff;
}
.c-btn.m-bg_hover_clr_gy01 a .bg::before, .c-btn.m-bg_hover_clr_gy01 .a .bg::before {
  background-color: #D7D7D7;
}
.c-btn.m-bg_hover_clr_gy02 a .bg::before, .c-btn.m-bg_hover_clr_gy02 .a .bg::before {
  background-color: #F3F3F3;
}
.c-btn.m-arrow_img_wt a .arrow::before, .c-btn.m-arrow_img_wt .a .arrow::before {
  background-image: url(../img/common/ico_btn_arrow_wt.svg);
}
.c-btn.m-arrow_img_sm_wt a .arrow::before, .c-btn.m-arrow_img_sm_wt .a .arrow::before {
  background-image: url(../img/common/ico_btn_arrow_sm_wt.svg);
}
.c-btn.m-arrow_img_square a .arrow::before, .c-btn.m-arrow_img_square .a .arrow::before {
  background-image: url(../img/common/ico_btn_arrow_square.svg);
}
.c-btn.m-arrow_img_square_wt a .arrow::before, .c-btn.m-arrow_img_square_wt .a .arrow::before {
  background-image: url(../img/common/ico_btn_arrow_square_wt.svg);
}
.c-btn.m-arrow_hover_img_bl a .arrow::after, .c-btn.m-arrow_hover_img_bl .a .arrow::after {
  background-image: url(../img/common/ico_btn_arrow_bl.svg);
}
.c-btn.m-arrow_hover_img_bl a:hover .arrow::beofre, .c-btn.m-arrow_hover_img_bl .a:hover .arrow::beofre {
  opacity: 0;
}
.c-btn.m-arrow_hover_img_bl a:hover .arrow::after, .c-btn.m-arrow_hover_img_bl .a:hover .arrow::after {
  opacity: 1;
}
.c-btn.m-arrow_hover_img_sm_bl a .arrow::after, .c-btn.m-arrow_hover_img_sm_bl .a .arrow::after {
  background-image: url(../img/common/ico_btn_arrow_sm_bl.svg);
}
.c-btn.m-arrow_hover_img_sm_bl a:hover .arrow::beofre, .c-btn.m-arrow_hover_img_sm_bl .a:hover .arrow::beofre {
  opacity: 0;
}
.c-btn.m-arrow_hover_img_sm_bl a:hover .arrow::after, .c-btn.m-arrow_hover_img_sm_bl .a:hover .arrow::after {
  opacity: 1;
}
.c-btn.m-arrow_hover_img_square a .arrow::after, .c-btn.m-arrow_hover_img_square .a .arrow::after {
  background-image: url(../img/common/ico_btn_arrow_square.svg);
}
.c-btn.m-arrow_hover_img_square a:hover .arrow::beofre, .c-btn.m-arrow_hover_img_square .a:hover .arrow::beofre {
  opacity: 0;
}
.c-btn.m-arrow_hover_img_square a:hover .arrow::after, .c-btn.m-arrow_hover_img_square .a:hover .arrow::after {
  opacity: 1;
}
.c-btn.m-arrow_hover_img_square_wt a .arrow::after, .c-btn.m-arrow_hover_img_square_wt .a .arrow::after {
  background-image: url(../img/common/ico_btn_arrow_square_wt.svg);
}
.c-btn.m-arrow_hover_img_square_wt a:hover .arrow::beofre, .c-btn.m-arrow_hover_img_square_wt .a:hover .arrow::beofre {
  opacity: 0;
}
.c-btn.m-arrow_hover_img_square_wt a:hover .arrow::after, .c-btn.m-arrow_hover_img_square_wt .a:hover .arrow::after {
  opacity: 1;
}
.c-btn.m-arrow_right_20 a .arrow, .c-btn.m-arrow_right_20 .a .arrow {
  right: 20px;
}
.c-btn.m-arrow_right_40 a .arrow, .c-btn.m-arrow_right_40 .a .arrow {
  right: 40px;
}
.c-btn.m-arrow_hover_right_10 a:hover .arrow, .c-btn.m-arrow_hover_right_10 .a:hover .arrow {
  right: 10px;
}
.c-btn.m-arrow_hover_right_30 a:hover .arrow, .c-btn.m-arrow_hover_right_30 .a:hover .arrow {
  right: 30px;
}
.c-btn.m-arrow_wdt_0 a .arrow, .c-btn.m-arrow_wdt_0 .a .arrow {
  width: 0px;
}
.c-btn.m-arrow_wdt_24 a .arrow, .c-btn.m-arrow_wdt_24 .a .arrow {
  width: 24px;
}
.c-btn.m-ta_pc_left a, .c-btn.m-ta_pc_left .a {
  justify-content: flex-start;
}
.c-btn.m-ta_pc_left a > *, .c-btn.m-ta_pc_left .a > * {
  text-align: left;
}
.c-btn.m-ta_pc_center a, .c-btn.m-ta_pc_center .a {
  justify-content: center;
}
.c-btn.m-ta_pc_center a > *, .c-btn.m-ta_pc_center .a > * {
  text-align: center;
}
.c-btn.m-ta_pc_right a, .c-btn.m-ta_pc_right .a {
  justify-content: flex-end;
}
.c-btn.m-ta_pc_right a > *, .c-btn.m-ta_pc_right .a > * {
  text-align: right;
}
.c-btn.m-ha_pc_left {
  text-align: left;
}
.c-btn.m-ha_pc_center {
  text-align: center;
}
.c-btn.m-ha_pc_right {
  text-align: right;
}
.c-btn.m-wdt_pc_120 a, .c-btn.m-wdt_pc_120 .a {
  min-width: 120px;
}
.c-btn.m-wdt_pc_280 a, .c-btn.m-wdt_pc_280 .a {
  min-width: 280px;
}
.c-btn.m-wdt_pc_320 a, .c-btn.m-wdt_pc_320 .a {
  min-width: 320px;
}
.c-btn.m-wdt_pc_370 a, .c-btn.m-wdt_pc_370 .a {
  min-width: 370px;
}
.c-btn.m-hgt_pc_40 a, .c-btn.m-hgt_pc_40 .a {
  height: auto;
  min-height: 40px;
}
.c-btn.m-hgt_pc_80 a, .c-btn.m-hgt_pc_80 .a {
  height: auto;
  min-height: 80px;
}
.c-btn.m-hgt_pc_90 a, .c-btn.m-hgt_pc_90 .a {
  height: auto;
  min-height: 90px;
}

.c-catch {
  font-size: 3.2rem;
  line-height: 1.5;
}

.c-formSelect {
  position: relative;
  display: inline-block;
}
.c-formSelect__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.c-formSelect select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; /* ブラウザ標準の矢印を消す */
  width: 100%;
  padding-right: 20px;
  border: solid 1px #000000;
  background-color: #ffffff;
  cursor: pointer;
}
.c-formSelect::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  pointer-events: none;
}
.c-formFile {
  display: inline-flex;
  display: -ms-inline-flexbox;
  -ms-grid-row-align: center;
  align-items: center;
  gap: 10px;
}
.c-formFile__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.c-formFile__label {
  display: inline-block;
  background-color: #000000;
  color: #ffffff;
  cursor: pointer;
}
.c-formFile__status {
  display: flex;
  align-items: center;
  gap: 10px;
}
.c-formFile__reset {
  display: none;
  background: none;
  border: none;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
}
.c-formFile.is-selected .c-formFile__reset {
  display: inline-block;
}
.c-formFile:focus-visible ~ .c-formFile__label {
  outline: 2px solid #4a90e2;
  outline-offset: 2px;
}
.c-formTextarea {
  position: relative;
}
.c-formTextarea__textarea {
  background-color: transparent;
  width: 100%;
  padding: 10px 15px;
}
.c-formTextarea__placeholder {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  padding: 10px 15px;
  opacity: 0.5;
}
.c-formTextarea__placeholder.is-hidden {
  display: none;
}
.c-formSelect {
  border: solid 1px #BABABA;
}
.c-formSelect select {
  height: 45px;
  width: 280px;
  padding: 5px 15px;
}
.c-formSelect::after {
  content: "";
  display: block;
  box-sizing: border-box;
  width: 6px;
  height: 6px;
  border-right: solid 1px #000000;
  border-bottom: solid 1px #000000;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%) rotate(45deg);
}
.c-formFile__label {
  width: 140px;
  height: 45px;
  color: #000000;
  background-color: #D7D7D7;
  border: solid 1px #AAAAAA;
  display: inline-flex;
  display: -ms-inline-flexbox;
  -ms-grid-row-align: center;
  align-items: center;
  justify-content: center;
}
.c-formTextarea__placeholder {
  color: #C7C7C7;
  opacity: 1;
}

.c-ico {
  display: inline-flex;
  display: -ms-inline-flexbox;
  justify-content: center;
  -ms-grid-row-align: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  vertical-align: middle;
}
.c-ico.m-line {
  background-image: url(../img/common/ico_gnav_btns_line.svg);
}
.c-ico.m-mail {
  background-image: url(../img/common/ico_gnav_btns_mail.svg);
}
.c-ico.m-tel {
  background-image: url(../img/common/ico_gnav_btns_tel.svg);
}
.c-ico.m-tel.m-bl {
  background-image: url(../img/common/ico_gnav_btns_tel_bl.svg);
}
.c-ico.m-tel.m-wt {
  background-image: url(../img/common/ico_gnav_btns_tel_wt.svg);
}
.c-ico.m-facilities {
  width: 50px;
  height: 50px;
  vertical-align: middle;
}
.c-ico.m-facilities.m-quality_001 {
  background-image: url(../img/facilities/ico_quality_001.svg);
}
.c-ico.m-facilities.m-quality_002 {
  background-image: url(../img/facilities/ico_quality_002.svg);
}
.c-ico.m-facilities.m-quality_003 {
  background-image: url(../img/facilities/ico_quality_003.svg);
}
.c-ico.m-facilities.m-quality_004 {
  background-image: url(../img/facilities/ico_quality_004.svg);
}

.c-icoDotted {
  display: inline-block;
  position: relative;
  padding-left: 18px;
}
.c-icoDotted::before {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 1;
  border-radius: 999px;
  background-color: #00B5C7;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.c-img.m-wdt_100p {
  width: 100%;
}
.c-img.m-wdt_100p img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-img.m-hgt_100p {
  height: 100%;
}
.c-img.m-hgt_100p img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-img.m-union {
  position: relative;
}
.c-img.m-union .txt {
  position: absolute;
  bottom: 35px;
  left: 60px;
}

.c-inview[data-type=hyoco], .c-inview__item[data-type=hyoco] {
  transform: translate(0, 100px);
  opacity: 0;
  visibility: hidden;
  transition: all 600ms cubic-bezier(0.34, 1.56, 0.64, 1) var(--delay, 0ms);
}
.c-inview[data-type=hyoco].is-active, .c-inview__item[data-type=hyoco].is-active {
  transform: translate(0, 0);
  opacity: 1;
  visibility: visible;
}

.c-linkImgScale .img {
  overflow: hidden;
}
.c-linkImgScale .img img, .c-linkImgScale .img .noimg {
  transition: all 300ms ease 0s;
}
.c-linkImgScale:hover {
  opacity: 1;
}
.c-linkImgScale:hover .img img, .c-linkImgScale:hover .img .noimg {
  transform: scale(1.1);
}

.c-list.m-disc {
  list-style-type: disc;
  list-style-position: inside;
  padding-left: 1em;
  text-indent: -1em;
}

.c-listPrinciples li .ja {
  padding-left: 34px;
  text-indent: -34px;
}
.c-listPrinciples li .en {
  padding-left: 34px;
}

.c-listFrontProblem li {
  display: flex;
  display: -ms-flexbox;
  min-width: 100%;
  flex-direction: row;
  -ms-grid-row-align: center;
  align-items: center;
}
.c-listFrontProblem li + li {
  margin-top: 10px;
}
.c-listFrontProblem .num {
  white-space: nowrap;
}
.c-listFrontProblem .txt {
  flex: 1;
  padding-left: 15px;
}

.c-listHistory li {
  padding-bottom: 45px;
  position: relative;
}
.c-listHistory li::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: #D7D7D7;
  position: absolute;
  top: 1em;
  left: 165px;
  z-index: 0;
}
.c-listHistory li:last-child {
  padding-bottom: 0;
}
.c-listHistory li:last-child::after {
  display: none;
}
.c-listHistory .date {
  width: 220px;
  position: relative;
}
.c-listHistory .date::after {
  content: "";
  display: block;
  box-sizing: content-box;
  width: 8px;
  border: solid 14px #ffffff;
  aspect-ratio: 1;
  border-radius: 999px;
  background-color: #00B5C7;
  position: absolute;
  top: 50%;
  right: 55px;
  z-index: 1;
  transform: translate(50%, -50%);
}
.c-listHistory .content {
  flex: 1;
  margin-top: -0.25em;
}

.c-listServices .a {
  display: block;
  position: relative;
  text-decoration: none;
  color: #ffffff;
  text-align: center;
}
.c-listServices .txtbox {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  display: -ms-flexbox;
  min-width: 100%;
  -ms-grid-row-align: center;
  align-items: center;
  justify-content: center;
}
.c-listServices .imgbox img {
  width: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-listBeforeAfterFLow > ol > li {
  position: relative;
}
.c-listBeforeAfterFLow > ol > li::after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  background-image: url(../img/common/ico_arrow_beforeafter_bl.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.c-listBeforeAfterFLow > ol > li:last-child::after {
  display: none;
}

.c-listDotted li {
  position: relative;
  padding-left: 28px;
  line-height: 2;
}
.c-listDotted li::before {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 1;
  border-radius: 999px;
  background-color: #00B5C7;
  position: absolute;
  top: 1em;
  left: 0;
  transform: translate(0, -50%);
}
.c-listDotted li + li {
  margin-top: 20px;
}

.c-listNews li {
  border-bottom: solid 1px #D7D7D7;
}
.c-listNews .date {
  width: 140px;
  color: #989898;
}
.c-listNews .ttl {
  flex: 1;
}

.c-listFrontCompany li {
  border-bottom: solid 1px #D7D7D7;
}
.c-listFrontCompany li .num {
  padding-right: 30px;
  white-space: nowrap;
}

.c-listHistoryHistory li .a {
  aspect-ratio: 1;
  background-color: #F3F3F3;
  color: #ffffff;
  border-radius: 999px;
  display: flex;
  display: -ms-flexbox;
  min-width: 100%;
  -ms-grid-row-align: center;
  align-items: center;
  justify-content: center;
}
.c-listHistoryHistory li:nth-child(1) {
  width: 19.9468085106%;
}
.c-listHistoryHistory li:nth-child(1) .a {
  background-color: rgba(0, 181, 199, 0.5);
}
.c-listHistoryHistory li:nth-child(2) {
  width: 23.9361702128%;
}
.c-listHistoryHistory li:nth-child(2) .a {
  background-color: rgba(0, 181, 199, 0.6);
}
.c-listHistoryHistory li:nth-child(3) {
  width: 26.0638297872%;
}
.c-listHistoryHistory li:nth-child(3) .a {
  background-color: rgba(0, 181, 199, 0.7);
}
.c-listHistoryHistory li:nth-child(4) {
  width: 28.9007092199%;
}
.c-listHistoryHistory li:nth-child(4) .a {
  background-color: #00b5c7;
}

.c-listPaging {
  text-align: center;
}
.c-listPaging a, .c-listPaging span {
  display: inline-flex;
  display: -ms-inline-flexbox;
  -ms-grid-row-align: center;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  width: 47px;
  border-radius: 999px;
  border: solid 1px #00B5C7;
  text-decoration: none;
  color: #00B5C7;
  font-size: 1.8rem;
  margin-right: 0.4em;
}
.c-listPaging a:last-child, .c-listPaging span:last-child {
  margin-right: 0;
}
.c-listPaging .page, .c-listPaging .current {
  background-color: #ffffff;
  border: solid 1px #00B5C7;
  color: #00B5C7;
}
.c-listPaging .page:hover, .c-listPaging .current:hover {
  opacity: 1;
  background-color: #00B5C7;
  color: #ffffff;
}
.c-listPaging .current {
  background-color: #00B5C7;
  color: #ffffff;
}
.c-listPaging .extend {
  width: auto;
  aspect-ratio: auto;
  border: 0;
}
.c-listPaging .previouspostslink, .c-listPaging .nextpostslink {
  display: inline-block;
  width: 21px;
  height: 15px;
  background-image: url(../img/common/ico_arrow_bl.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  border: 0;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
.c-listPaging .nextpostslink:hover {
  transform: translate(10px);
}
.c-listPaging .previouspostslink {
  transform: scaleX(-1);
}
.c-listPaging .previouspostslink:hover {
  transform: translate(-10px) scaleX(-1);
}

.c-listPrevNext .post-nav__prev a, .c-listPrevNext .post-nav__next a {
  display: inline-flex;
  display: -ms-inline-flexbox;
  -ms-grid-row-align: center;
  align-items: center;
  gap: 20px;
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  height: 60px;
  color: #000000;
}
.c-listPrevNext .post-nav__prev a:hover, .c-listPrevNext .post-nav__next a:hover {
  color: #00B5C7;
}
.c-listPrevNext .post-nav__prev a::before, .c-listPrevNext .post-nav__next a::after {
  content: "";
  display: block;
  width: 21px;
  height: 15px;
  background-image: url(../img/common/ico_arrow_bl.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transition: all 300ms ease 0s;
}
.c-listPrevNext .post-nav__prev a::before {
  transform: scaleX(-1);
}
.c-listPrevNext .post-nav__prev a:hover::before {
  transform: scaleX(-1) translate(30%, 0);
}
.c-listPrevNext .post-nav__next a:hover::after {
  transform: translate(30%, 0);
}

.c-tableOutline table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.c-tableOutline th, .c-tableOutline td {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px #D7D7D7;
  font-weight: 400;
}
.c-tableOutline th {
  width: 180px;
}
.c-tableOutline.m-sm th, .c-tableOutline.m-sm td {
  padding-top: 10px;
  padding-bottom: 10px;
}

.c-tableForm table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.c-tableForm th, .c-tableForm td {
  font-weight: 400;
  padding-top: 20px;
  padding-bottom: 20px;
  vertical-align: top;
}
.c-tableForm th {
  width: 260px;
}
.c-tableForm th .th {
  display: flex;
  display: -ms-flexbox;
  min-width: 100%;
  flex-direction: row;
  justify-content: space-between;
  -ms-grid-row-align: flex-start;
  align-items: flex-start;
  padding-top: 5px;
  padding-right: 20px;
}
.c-tableForm th .required {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 400;
  background-color: #D54455;
  border-radius: 999px;
  padding: 6px 10px;
  color: #ffffff;
}
.c-tableForm th .any {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 400;
  background-color: #ECEBE9;
  border-radius: 999px;
  padding: 6px 10px;
  color: #ffffff;
}

.c-tableBl {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
.c-tableBl table {
  width: 100%;
  min-width: 650px;
  table-layout: fixed;
  border-collapse: collapse;
}
.c-tableBl th, .c-tableBl td {
  border: solid 1px #C7C7C7;
  padding: 10px 10px;
  height: 60px;
  text-align: center;
  vertical-align: middle;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
}
.c-tableBl thead th, .c-tableBl thead td {
  background-color: #00B5C7;
  letter-spacing: 0.1em;
  color: #ffffff;
}

.c-ttl, .c-ttl .h {
  font-weight: 700;
}
.c-ttl .sm, .c-ttl .md, .c-ttl .lg, .c-ttl .en, .c-ttl .ja {
  display: block;
}
.c-ttl .sm > *, .c-ttl .md > *, .c-ttl .lg > *, .c-ttl .en > *, .c-ttl .ja > * {
  display: inline-block;
}
.c-ttl, .c-ttl .h {
  font-size: 3.2rem;
  line-height: 1.5;
}

.c-ttlBorderBottom .lg {
  display: inline-block;
  padding-bottom: 10px;
  border-bottom: solid 1px #00B5C7;
}

.c-txt {
  font-size: 1.5rem;
  line-height: 2;
}
.c-txt > * + * {
  margin-top: 2em;
}

.c-cat {
  display: inline-flex;
  display: -ms-inline-flexbox;
  justify-content: center;
  -ms-grid-row-align: center;
  align-items: center;
  background-color: #D7D7D7;
  padding: 8px;
  line-height: 1.65;
}

.c-map iframe {
  width: 100%;
}

.p-art {
  padding-bottom: 150px;
}
.p-art.m-front, .p-art.m-nopb {
  padding-bottom: 0;
}

.p-blog > div {
  margin-top: 2em;
  margin-bottom: 2em;
}
.p-blog h2, .p-blog h3, .p-blog h4, .p-blog h5, .p-blog h6 {
  margin-top: 2em;
  line-height: 1.5;
}
.p-blog h1, .p-blog h2 {
  font-size: 3.2rem;
  font-weight: 500;
}
.p-blog h3 {
  font-size: 2.4rem;
  font-weight: 500;
}
.p-blog h4 {
  font-size: 2rem;
  font-weight: 500;
}
.p-blog h5 {
  font-size: 1.6rem;
  font-weight: 500;
}
.p-blog h6 {
  font-size: 1.5rem;
  font-weight: 500;
}

.p-boxHistoryTop {
  background-image: url(../img/webp/history/img_top_001@2x.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  padding-top: 360px;
  padding-bottom: 150px;
}

.p-form input:not([type=radio], [type=checkbox]),
.p-form button,
.p-form select,
.p-form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  max-width: 100%;
  text-shadow: none;
}
.p-form textarea {
  resize: vertical;
  width: 100%;
}
.p-form input[type=text],
.p-form input[type=search],
.p-form input[type=tel],
.p-form input[type=url],
.p-form input[type=email],
.p-form input[type=password],
.p-form input[type=datetime],
.p-form input[type=date],
.p-form input[type=month],
.p-form input[type=week],
.p-form input[type=time],
.p-form input[type=datetime-local],
.p-form input[type=number],
.p-form input[type=range],
.p-form input[type=color],
.p-form textarea {
  border: solid 1px #BABABA;
  width: 100%;
  max-width: 100%;
  padding: 0 15px;
  height: 45px;
  line-height: 1.3;
  vertical-align: top;
  box-sizing: border-box;
}
.p-form input[type=text]::-moz-placeholder, .p-form input[type=search]::-moz-placeholder, .p-form input[type=tel]::-moz-placeholder, .p-form input[type=url]::-moz-placeholder, .p-form input[type=email]::-moz-placeholder, .p-form input[type=password]::-moz-placeholder, .p-form input[type=datetime]::-moz-placeholder, .p-form input[type=date]::-moz-placeholder, .p-form input[type=month]::-moz-placeholder, .p-form input[type=week]::-moz-placeholder, .p-form input[type=time]::-moz-placeholder, .p-form input[type=datetime-local]::-moz-placeholder, .p-form input[type=number]::-moz-placeholder, .p-form input[type=range]::-moz-placeholder, .p-form input[type=color]::-moz-placeholder, .p-form textarea::-moz-placeholder {
  color: #C7C7C7;
  font-size: 15;
}
.p-form input[type=text]::placeholder,
.p-form input[type=search]::placeholder,
.p-form input[type=tel]::placeholder,
.p-form input[type=url]::placeholder,
.p-form input[type=email]::placeholder,
.p-form input[type=password]::placeholder,
.p-form input[type=datetime]::placeholder,
.p-form input[type=date]::placeholder,
.p-form input[type=month]::placeholder,
.p-form input[type=week]::placeholder,
.p-form input[type=time]::placeholder,
.p-form input[type=datetime-local]::placeholder,
.p-form input[type=number]::placeholder,
.p-form input[type=range]::placeholder,
.p-form input[type=color]::placeholder,
.p-form textarea::placeholder {
  color: #C7C7C7;
  font-size: 15;
}
.p-form textarea {
  height: 200px;
  line-height: 1.5;
  padding-top: 15px;
  padding-bottom: 15px;
}
.p-form .wpcf7-not-valid-tip {
  white-space: nowrap;
}
.p-form .top-tip .wpcf7-not-valid-tip {
  transform: translate(0, -200%);
}
.p-form .radios li .wpcf7-not-valid-tip {
  display: none;
}
.p-form .radios li:last-child .wpcf7-not-valid-tip {
  display: block;
}
.p-form .privacy .wpcf7-list-item-label {
  display: none;
}
.p-form .privacy .wpcf7-not-valid-tip {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(20px, -100%);
}
.p-form .c-formSelect .wpcf7-not-valid-tip {
  height: 0;
}
.p-form input[type=checkbox] + .wpcf7-list-item-label {
  display: none;
}
.p-form .c-btn .wpcf7-spinner {
  position: absolute;
  left: 10px;
  padding: 0;
  margin: 0;
}
.p-form input.md {
  width: 225px;
}

.p-mvFront {
  padding-top: 120px;
  height: 80dvh;
  min-height: 700px;
  display: flex;
  display: -ms-flexbox;
  min-width: 100%;
  -ms-grid-row-align: center;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.p-mvFront .catch-img {
  transform: scale(1);
  opacity: 1;
  transition: opacity 0.6s ease;
  position: relative;
  z-index: 2;
}
.p-mvFront .catch-img.is-ready {
  transform: scale(10);
  opacity: 0;
}
.p-mvFront .catch-img.is-ready.is-active {
  animation: mv-img 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}
@keyframes mv-img {
  0% {
    transform: scale(10);
    opacity: 0;
  }
  96% {
    transform: scale(0.95); /* 行き過ぎて小さくなる */
    opacity: 1;
  }
  98% {
    transform: scale(1.05); /* 少し跳ね返る */
  }
  100% {
    transform: scale(1); /* 定位置に収まる */
    opacity: 1;
  }
}

.p-mvLower {
  padding-top: 120px;
}
.p-mvLower::after {
  content: "";
  display: block;
  width: 100%;
  height: 333px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
}
.p-mvLower.m-features::after {
  background-image: url(../img/webp/features/mv_001@2x.webp);
}
.p-mvLower.m-service::after {
  background-image: url(../img/webp/service/mv_001@2x.webp);
}
.p-mvLower.m-manufacturing::after {
  background-image: url(../img/webp/service-manufacturing/mv_001@2x.webp);
}
.p-mvLower.m-procurement::after {
  background-image: url(../img/webp/service-procurement/mv_001@2x.webp);
}
.p-mvLower.m-assembly::after {
  background-image: url(../img/webp/service-assembly/mv_001@2x.webp);
}
.p-mvLower.m-company::after {
  background-image: url(../img/webp/company/mv_001@2x.webp);
}
.p-mvLower.m-esg::after {
  background-image: url(../img/webp/esg/mv_001@2x.webp);
}
.p-mvLower.m-facilities::after {
  background-image: url(../img/webp/facilities/mv_001@2x.webp);
}
.p-mvLower.m-recruit::after {
  background-image: url(../img/webp/recruit/mv_001@2x.webp);
}
.p-mvLower.m-imgnone::after {
  display: none;
}
.p-mvLower__i {
  padding-top: 100px;
  padding-bottom: 60px;
}
.p-mvLower .h {
  padding-bottom: 30px;
}
.p-mvLower .h .lg + .sm {
  margin-top: 10px;
}

.p-secCheck__h, .p-secCheck__c {
  padding-left: 50px;
}
.p-secCheck__h {
  position: relative;
}
.p-secCheck__h::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  background-image: url(../img/common/ico_check_bl.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.p-secNumber__i {
  position: relative;
  padding: 50px 30px 40px;
}
.p-secNumber__h .num {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  display: -ms-inline-flexbox;
  -ms-grid-row-align: center;
  align-items: center;
  justify-content: center;
  width: 70px;
  aspect-ratio: 1;
  border-radius: 999px;
  background-color: #000000;
  color: #ffffff;
}
.p-secNumber.m-num_bg_bl01 .p-secNumber__h .num {
  background-color: #00B5C7;
}

.p-secLink {
  position: relative;
  overflow: hidden;
  border-bottom: solid 1px #000000;
}
.p-secLink:first-child {
  border-top: solid 1px #000000;
}
.p-secLink__i {
  display: block;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative;
  z-index: 2;
  background-color: white;
  color: #000000;
}
.p-secLink__i .btn {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.p-secLink__i .btn::before, .p-secLink__i .btn::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transition: all 300ms ease 0s;
}
.p-secLink__i .btn::before {
  background-image: url(../img/common/ico_arrow_circle_wt.svg);
  opacity: 1;
}
.p-secLink__i .btn::after {
  background-image: url(../img/common/ico_arrow_circle_bl.svg);
  opacity: 0;
}
.p-secLink__i:hover {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0);
  color: #ffffff;
}
.p-secLink__i:hover .btn::before {
  opacity: 0;
}
.p-secLink__i:hover .btn::after {
  opacity: 1;
}
.p-secLink__c {
  position: relative;
  padding-right: 180px;
}
.p-secLink__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.p-secLink__bg .img {
  width: 100%;
  height: 100%;
}
.p-secLink__bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-secFeatures {
  width: 370px;
  padding-left: 15px;
  padding-right: 15px;
  text-align: center;
}
.p-secFeatures__i {
  height: 560px;
  padding: 50px 20px 45px;
  border-radius: 20px;
  background-color: #ffffff;
  position: relative;
}
.p-secFeatures__h .fig .txt {
  display: inline-block;
  position: relative;
  color: #00B5C7;
}
.p-secFeatures__h .fig .em {
  font-family: "Gabarito", sans-serif;
  font-style: normal;
  font-size: 12rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
}
.p-secFeatures__h .fig .em.ja {
  font-size: 10rem;
  line-height: 1.2;
}
.p-secFeatures__h .fig .unit {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(calc(100% + 10px), -50%);
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
}
.p-secFeatures__h .sm {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 180px;
  height: 38px;
  background-color: #000000;
  border-radius: 999px;
  display: inline-flex;
  display: -ms-inline-flexbox;
  -ms-grid-row-align: center;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  font-family: "Gabarito", sans-serif;
  color: #ffffff;
}
.p-secFeatures__h .lg {
  font-size: 2.4rem;
  font-weight: 700;
}
.p-secFeatures__c .txt {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-secHistoryHistory__i {
  display: flex;
  display: -ms-flexbox;
  min-width: 100%;
  flex-direction: row;
  border-bottom: solid 1px rgba(48, 45, 45, 0.06);
}
.p-secHistoryHistory__h {
  width: 120px;
  padding-top: 30px;
  padding-bottom: 30px;
  border-right: solid 1px rgba(48, 45, 45, 0.1);
  display: inline-flex;
  display: -ms-inline-flexbox;
  -ms-grid-row-align: center;
  align-items: center;
}
.p-secHistoryHistory__c {
  flex: 1;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-right: 40px;
  min-height: 180px;
  display: inline-flex;
  display: -ms-inline-flexbox;
  flex-direction: column;
  justify-content: center;
  padding-left: 110px;
  position: relative;
}
.p-secHistoryHistory__c::before {
  content: "";
  display: block;
  box-sizing: border-box;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 50%;
  left: 40px;
}
.p-secHistoryHistory__imgbox {
  width: calc(0.2545454545 / 1%);
  padding-top: 30px;
  padding-bottom: 30px;
}
.p-secHistoryHistory.m-future .p-secHistoryHistory__c::before {
  background-color: #F3F3F3;
  border: solid 2px #C9A84C;
}
.p-secHistoryHistory:last-child .p-secHistoryHistory__i {
  border-bottom: 0;
}

.p-secFrontProblem__box::before {
  content: "";
  display: block;
  width: 90%;
  height: 90%;
  background-color: rgba(215, 215, 215, 0.5);
  position: absolute;
  bottom: -5%;
  left: 5%;
  z-index: -1;
  border-radius: 20px;
}
.p-secFrontProblem__box::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: solid 50px transparent;
  border-top: solid 45px #ffffff;
  border-bottom: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 98%);
}
.p-secFrontProblem__c {
  max-width: 300px;
}

.p-secCaseCard__imgbox img {
  aspect-ratio: 1.8666666667;
}

.p-secFrontImgs img {
  width: 100%;
  height: 370px;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-secAsideContact__btnbox li + li {
  margin-top: 20px;
}

.t-bg.m-clr_bk00 {
  background-color: #000000;
}
.t-bg.m-clr_bk01 {
  background-color: #302D2D;
}
.t-bg.m-clr_wt00 {
  background-color: #ffffff;
}
.t-bg.m-clr_wt00_06 {
  background-color: rgba(255, 255, 255, 0.06);
}
.t-bg.m-clr_gy01 {
  background-color: #D7D7D7;
}
.t-bg.m-clr_gy02 {
  background-color: #F3F3F3;
}
.t-bg.m-clr_bl01 {
  background-color: #00B5C7;
}
.t-bg.m-clr_bl01_40 {
  background-color: rgba(0, 181, 199, 0.4);
}
.t-bg.m-clr_grad01 {
  background-image: linear-gradient(45deg, #055867, #000000 30%);
}
.t-bg.m-img_features_proposal_001 {
  background-image: url(../img/webp/features/bg_proposal_001.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.t-bg.m-img_company_info_history {
  background-image: url(../img/webp/company-info/bg_history_001.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
}
.t-bg.m-img_front_problem {
  background-image: url(../img/webp/front/bg_problem_001.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  position: relative;
}
.t-bg.m-img_front_problem::before {
  content: "";
  display: block;
  width: 100%;
  height: 60%;
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(0deg, #ffffff, transparent);
}
.t-bg.m-img_front_features {
  background-image: url(../img/webp/front/bg_features_001.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 150% auto;
}
.t-bg.m-img_front_case {
  position: relative;
}
.t-bg.m-img_front_case::before {
  content: "";
  display: block;
  width: 100%;
  height: 70%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-color: #000000;
  background-image: url(../img/webp/front/bg_case_001@2x.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.t-bg.m-img_history_vision {
  background-image: url(../img/webp/history/bg_vision_001@2x.webp);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 80% auto;
}

.t-fnt.m-write-mode_vertical {
  writing-mode: vertical-rl;
}
.t-fnt {
  /*
  &.m-border {
  	text-shadow: 0 1px 0 $clr_gy01, 0 -1px 0 $clr_gy01, 1px 0 0 $clr_gy01, -1px 0 0 $clr_gy01, 1px 1px 0 $clr_gy01, 1px -1px 0 $clr_gy01, -1px 1px 0 $clr_gy01, -1px -1px 0 $clr_gy01;
  }
  	*/
}
.t-fnt.m-write-mode_pc_vertical {
  writing-mode: vertical-rl;
}
.t-fnt.m-lh_10 {
  line-height: 1;
}
.t-fnt.m-lh_13 {
  line-height: 1.3;
}
.t-fnt.m-lh_15 {
  line-height: 1.5;
}
.t-fnt.m-lh_18 {
  line-height: 1.8;
}
.t-fnt.m-lh_20 {
  line-height: 2;
}
.t-fnt.m-lh_25 {
  line-height: 2.5;
}
.t-fnt.m-fw_400 {
  font-weight: 400;
}
.t-fnt.m-fw_500 {
  font-weight: 500;
}
.t-fnt.m-fw_600 {
  font-weight: 600;
}
.t-fnt.m-fw_700 {
  font-weight: 700;
}
.t-fnt.m-fw_900 {
  font-weight: 900;
}
.t-fnt.m-ls_-20 {
  letter-spacing: -0.02em;
}
.t-fnt.m-ls_50 {
  letter-spacing: 0.05em;
}
.t-fnt.m-ls_100 {
  letter-spacing: 0.1em;
}
.t-fnt.m-ls_200 {
  letter-spacing: 0.2em;
}
.t-fnt.m-ta_left {
  text-align: left;
}
.t-fnt.m-ta_center {
  text-align: center;
}
.t-fnt.m-ta_right {
  text-align: right;
}
.t-fnt.m-clr_body {
  color: #000000;
}
.t-fnt.m-clr_wt00 {
  color: #ffffff;
}
.t-fnt.m-clr_wt00_60 {
  color: rgba(255, 255, 255, 0.6);
}
.t-fnt.m-clr_gy01 {
  color: #D7D7D7;
}
.t-fnt.m-clr_gy01_30 {
  color: rgba(215, 215, 215, 0.2);
}
.t-fnt.m-clr_gy04 {
  color: #403F3F;
}
.t-fnt.m-clr_gy06 {
  color: #989898;
}
.t-fnt.m-clr_bl01 {
  color: #00B5C7;
}
.t-fnt.m-clr_bl01_20 {
  color: rgba(0, 181, 199, 0.2);
}
.t-fnt.m-clr_rd00 {
  color: #ff0000;
}
.t-fnt.m-fs_pc_11 {
  font-size: 1.1rem;
}
.t-fnt.m-fs_pc_12 {
  font-size: 1.2rem;
}
.t-fnt.m-fs_pc_13 {
  font-size: 1.3rem;
}
.t-fnt.m-fs_pc_14 {
  font-size: 1.4rem;
}
.t-fnt.m-fs_pc_15 {
  font-size: 1.5rem;
}
.t-fnt.m-fs_pc_16 {
  font-size: 1.6rem;
}
.t-fnt.m-fs_pc_18 {
  font-size: 1.8rem;
}
.t-fnt.m-fs_pc_20 {
  font-size: 2rem;
}
.t-fnt.m-fs_pc_22 {
  font-size: 2.2rem;
}
.t-fnt.m-fs_pc_24 {
  font-size: 2.4rem;
}
.t-fnt.m-fs_pc_28 {
  font-size: 2.8rem;
}
.t-fnt.m-fs_pc_30 {
  font-size: 3rem;
}
.t-fnt.m-fs_pc_36 {
  font-size: 3.6rem;
}
.t-fnt.m-fs_pc_40 {
  font-size: 4rem;
}
.t-fnt.m-fs_pc_50 {
  font-size: 5rem;
}
.t-fnt.m-fs_pc_60 {
  font-size: 6rem;
}
.t-fnt.m-fs_pc_70 {
  font-size: 7rem;
}
.t-fnt.m-fs_pc_80 {
  font-size: 8rem;
}
.t-fnt.m-fs_pc_100 {
  font-size: 10rem;
}
.t-fnt.m-fs_pc_120 {
  font-size: 12rem;
}
.t-fnt.m-fs_pc_150 {
  font-size: 15rem;
}
.t-fnt.m-ta_pc_left {
  text-align: left;
}
.t-fnt.m-ta_pc_center {
  text-align: center;
}
.t-fnt.m-ta_pc_right {
  text-align: right;
}

.t-frame.m-round {
  border-radius: 20px;
}
.t-frame.m-round > picture > img, .t-frame.m-round > img {
  border-radius: 20px;
}
.t-frame.m-round_999 {
  border-radius: 999px;
}
.t-frame.m-round_999 > picture > img, .t-frame.m-round_999 > img {
  border-radius: 999px;
}
.t-frame.m-aspect_1 {
  aspect-ratio: 1;
}
.t-frame.m-border {
  border: solid 1px #000000;
}
.t-frame.m-border_clr_wt00_10 {
  border-color: rgba(255, 255, 255, 0.1);
}
.t-frame.m-border_clr_bl01 {
  border-color: #00B5C7;
}
.t-frame.m-border_clr_gy01 {
  border-color: #D7D7D7;
}
.t-frame.m-border_clr_gy03 {
  border-color: #ECEBE9;
}
.t-frame.m-border_clr_gy05 {
  border-color: #AAAAAA;
}
.t-frame.m-border_bottom_clr_bl01 {
  border-bottom: solid 1px #00B5C7;
}
.t-frame.m-border_accent {
  display: block;
  width: 100%;
  height: 1px;
  position: relative;
  background-color: #D7D7D7;
}
.t-frame.m-border_accent::before {
  content: "";
  display: block;
  width: 120px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #00B5C7;
}
.t-frame.m-round {
  border-radius: 20px;
}
.t-frame.m-round_sm {
  border-radius: 10px;
}
.t-frame.m-round_top_lg {
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}
.t-frame.m-shadow {
  box-shadow: 0 30px 40px rgba(0, 0, 0, 0.1);
}
.t-frame.m-shadow_sm {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.t-frame.m-aspect_pc_1 {
  aspect-ratio: 1;
}

.t-grid.m-evenly > * > * {
  height: 100%;
}
.t-grid.m-flex_wrap, .t-grid.m-flex_wrap_reverse, .t-grid.m-flex_column, .t-grid.m-flex_column_reverse, .t-grid.m-flex_row, .t-grid.m-flex_row_reverse {
  display: flex;
  display: -ms-flexbox;
  min-width: 100%;
}
.t-grid.m-flex_wrap {
  flex-wrap: wrap;
}
.t-grid.m-flex_wrap_reverse {
  flex-wrap: wrap-reverse;
}
.t-grid.m-flex_column {
  flex-direction: column;
}
.t-grid.m-flex_column_reverse {
  flex-direction: column-reverse;
}
.t-grid.m-flex_row {
  flex-direction: row;
}
.t-grid.m-flex_row_reverse {
  flex-direction: row-reverse;
}
.t-grid.m-flex_left {
  justify-content: flex-start;
}
.t-grid.m-flex_center {
  justify-content: center;
}
.t-grid.m-flex_right {
  justify-content: flex-end;
}
.t-grid.m-flex_between {
  justify-content: space-between;
}
.t-grid.m-flex_around {
  justify-content: space-around;
}
.t-grid.m-flex_align_top {
  -ms-grid-row-align: flex-start;
  align-items: flex-start;
}
.t-grid.m-flex_align_middle {
  -ms-grid-row-align: center;
  align-items: center;
}
.t-grid.m-flex_align_bottom {
  -ms-grid-row-align: flex-end;
  align-items: flex-end;
}
.t-grid.m-spc_lr_6 {
  margin-left: -3px;
  margin-right: -3px;
}
.t-grid.m-spc_lr_6 > * {
  padding-left: 3px;
  padding-right: 3px;
}
.t-grid.m-spc_b_6 {
  margin-bottom: -6px;
}
.t-grid.m-spc_b_6 > * {
  padding-bottom: 6px;
}
.t-grid.m-flex_pc_wrap, .t-grid.m-flex_pc_wrap_reverse, .t-grid.m-flex_pc_column, .t-grid.m-flex_pc_column_reverse, .t-grid.m-flex_pc_row, .t-grid.m-flex_pc_row_reverse {
  display: flex;
  display: -ms-flexbox;
  min-width: 100%;
}
.t-grid.m-flex_pc_wrap {
  flex-wrap: wrap;
}
.t-grid.m-flex_pc_wrap_reverse {
  flex-wrap: wrap-reverse;
}
.t-grid.m-flex_pc_column {
  flex-direction: column;
}
.t-grid.m-flex_pc_column_reverse {
  flex-direction: column-reverse;
}
.t-grid.m-flex_pc_row {
  flex-direction: row;
}
.t-grid.m-flex_pc_row_reverse {
  flex-direction: row-reverse;
}
.t-grid.m-flex_pc_left {
  justify-content: flex-start;
}
.t-grid.m-flex_pc_center {
  justify-content: center;
}
.t-grid.m-flex_pc_right {
  justify-content: flex-end;
}
.t-grid.m-flex_pc_between {
  justify-content: space-between;
}
.t-grid.m-flex_pc_around {
  justify-content: space-around;
}
.t-grid.m-flex_pc_align_top {
  -ms-grid-row-align: flex-start;
  align-items: flex-start;
}
.t-grid.m-flex_pc_align_middle {
  -ms-grid-row-align: center;
  align-items: center;
}
.t-grid.m-flex_pc_align_bottom {
  -ms-grid-row-align: flex-end;
  align-items: flex-end;
}
.t-grid.m-col_pc_1-2_w > * {
  flex: 0 1 calc(1 / 2 * 100%);
  max-width: calc(1 / 2 * 100%);
}
.t-grid.m-col_pc_1-3_w > * {
  flex: 0 1 calc(1 / 3 * 100%);
  max-width: calc(1 / 3 * 100%);
}
.t-grid.m-col_pc_1-5_w > * {
  flex: 0 1 calc(1 / 5 * 100%);
  max-width: calc(1 / 5 * 100%);
}
.t-grid .m-col_pc_1-1 {
  flex: 0 1 calc(1 / 1 * 100%);
  max-width: calc(1 / 1 * 100%);
}
.t-grid .m-col_pc_1-3 {
  flex: 0 1 calc(1 / 3 * 100%);
  max-width: calc(1 / 3 * 100%);
}
.t-grid .m-col_pc_2-3 {
  flex: 0 1 calc(2 / 3 * 100%);
  max-width: calc(2 / 3 * 100%);
}
.t-grid .m-col_pc_1-4 {
  flex: 0 1 calc(1 / 4 * 100%);
  max-width: calc(1 / 4 * 100%);
}
.t-grid .m-col_pc_3-4 {
  flex: 0 1 calc(3 / 4 * 100%);
  max-width: calc(3 / 4 * 100%);
}
.t-grid .m-col_pc_2-5 {
  flex: 0 1 calc(2 / 5 * 100%);
  max-width: calc(2 / 5 * 100%);
}
.t-grid .m-col_pc_3-5 {
  flex: 0 1 calc(3 / 5 * 100%);
  max-width: calc(3 / 5 * 100%);
}
.t-grid .m-col_pc_3-8 {
  flex: 0 1 calc(3 / 8 * 100%);
  max-width: calc(3 / 8 * 100%);
}
.t-grid .m-col_pc_5-8 {
  flex: 0 1 calc(5 / 8 * 100%);
  max-width: calc(5 / 8 * 100%);
}
.t-grid .m-col_pc_3-10 {
  flex: 0 1 calc(3 / 10 * 100%);
  max-width: calc(3 / 10 * 100%);
}
.t-grid .m-col_pc_7-10 {
  flex: 0 1 calc(7 / 10 * 100%);
  max-width: calc(7 / 10 * 100%);
}
.t-grid .m-col_pc_5-11 {
  flex: 0 1 calc(5 / 11 * 100%);
  max-width: calc(5 / 11 * 100%);
}
.t-grid .m-col_pc_6-11 {
  flex: 0 1 calc(6 / 11 * 100%);
  max-width: calc(6 / 11 * 100%);
}
.t-grid .m-col_pc_5-12 {
  flex: 0 1 calc(5 / 12 * 100%);
  max-width: calc(5 / 12 * 100%);
}
.t-grid .m-col_pc_7-12 {
  flex: 0 1 calc(7 / 12 * 100%);
  max-width: calc(7 / 12 * 100%);
}
.t-grid.m-spc_lr_pc_10 {
  margin-left: -5px;
  margin-right: -5px;
}
.t-grid.m-spc_lr_pc_10 > * {
  padding-left: 5px;
  padding-right: 5px;
}
.t-grid.m-spc_lr_pc_20 {
  margin-left: -10px;
  margin-right: -10px;
}
.t-grid.m-spc_lr_pc_20 > * {
  padding-left: 10px;
  padding-right: 10px;
}
.t-grid.m-spc_lr_pc_25 {
  margin-left: -12.5px;
  margin-right: -12.5px;
}
.t-grid.m-spc_lr_pc_25 > * {
  padding-left: 12.5px;
  padding-right: 12.5px;
}
.t-grid.m-spc_lr_pc_30 {
  margin-left: -15px;
  margin-right: -15px;
}
.t-grid.m-spc_lr_pc_30 > * {
  padding-left: 15px;
  padding-right: 15px;
}
.t-grid.m-spc_lr_pc_40 {
  margin-left: -20px;
  margin-right: -20px;
}
.t-grid.m-spc_lr_pc_40 > * {
  padding-left: 20px;
  padding-right: 20px;
}
.t-grid.m-spc_lr_pc_50 {
  margin-left: -25px;
  margin-right: -25px;
}
.t-grid.m-spc_lr_pc_50 > * {
  padding-left: 25px;
  padding-right: 25px;
}
.t-grid.m-spc_lr_pc_60 {
  margin-left: -30px;
  margin-right: -30px;
}
.t-grid.m-spc_lr_pc_60 > * {
  padding-left: 30px;
  padding-right: 30px;
}
.t-grid.m-spc_lr_pc_110 {
  margin-left: -55px;
  margin-right: -55px;
}
.t-grid.m-spc_lr_pc_110 > * {
  padding-left: 55px;
  padding-right: 55px;
}
.t-grid.m-spc_b_pc_10 {
  margin-bottom: -10px;
}
.t-grid.m-spc_b_pc_10 > * {
  padding-bottom: 10px;
}
.t-grid.m-spc_b_pc_30 {
  margin-bottom: -30px;
}
.t-grid.m-spc_b_pc_30 > * {
  padding-bottom: 30px;
}
.t-grid.m-spc_b_pc_80 {
  margin-bottom: -80px;
}
.t-grid.m-spc_b_pc_80 > * {
  padding-bottom: 80px;
}

.t-spc.m-mt_pc_-130 {
  margin-top: -130px;
}
.t-spc.m-mt_pc_-50 {
  margin-top: -50px;
}
.t-spc.m-mt_pc_5 {
  margin-top: 5px;
}
.t-spc.m-mt_pc_10 {
  margin-top: 10px;
}
.t-spc.m-mt_pc_15 {
  margin-top: 15px;
}
.t-spc.m-mt_pc_20 {
  margin-top: 20px;
}
.t-spc.m-mt_pc_30 {
  margin-top: 30px;
}
.t-spc.m-mt_pc_40 {
  margin-top: 40px;
}
.t-spc.m-mt_pc_50 {
  margin-top: 50px;
}
.t-spc.m-mt_pc_55 {
  margin-top: 55px;
}
.t-spc.m-mt_pc_60 {
  margin-top: 60px;
}
.t-spc.m-mt_pc_70 {
  margin-top: 70px;
}
.t-spc.m-mt_pc_80 {
  margin-top: 80px;
}
.t-spc.m-mt_pc_100 {
  margin-top: 100px;
}
.t-spc.m-mt_pc_150 {
  margin-top: 150px;
}
.t-spc.m-mt_pc_200 {
  margin-top: 200px;
}
.t-spc.m-mb_pc_-20 {
  margin-bottom: -20px;
}
.t-spc.m-mb_pc_5 {
  margin-bottom: 5px;
}
.t-spc.m-mb_pc_10 {
  margin-bottom: 10px;
}
.t-spc.m-mb_pc_15 {
  margin-bottom: 15px;
}
.t-spc.m-mb_pc_20 {
  margin-bottom: 20px;
}
.t-spc.m-mb_pc_30 {
  margin-bottom: 30px;
}
.t-spc.m-mb_pc_40 {
  margin-bottom: 40px;
}
.t-spc.m-mb_pc_50 {
  margin-bottom: 50px;
}
.t-spc.m-ml_pc_20 {
  margin-left: 20px;
}
.t-spc.m-mr_pc_-150 {
  margin-right: -150px;
}
.t-spc.m-p_pc_20 {
  padding: 20px;
}
.t-spc.m-p_pc_30 {
  padding: 30px;
}
.t-spc.m-ptb_pc_20 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.t-spc.m-ptb_pc_30 {
  padding-top: 30px;
  padding-bottom: 30px;
}
.t-spc.m-ptb_pc_40 {
  padding-top: 40px;
  padding-bottom: 40px;
}
.t-spc.m-ptb_pc_50 {
  padding-top: 50px;
  padding-bottom: 50px;
}
.t-spc.m-ptb_pc_60 {
  padding-top: 60px;
  padding-bottom: 60px;
}
.t-spc.m-ptb_pc_70 {
  padding-top: 70px;
  padding-bottom: 70px;
}
.t-spc.m-plr_pc_20 {
  padding-left: 20px;
  padding-right: 20px;
}
.t-spc.m-plr_pc_30 {
  padding-left: 30px;
  padding-right: 30px;
}
.t-spc.m-plr_pc_40 {
  padding-left: 40px;
  padding-right: 40px;
}
.t-spc.m-pt_pc_30 {
  padding-top: 30px;
}
.t-spc.m-pt_pc_50 {
  padding-top: 50px;
}
.t-spc.m-pt_pc_60 {
  padding-top: 60px;
}
.t-spc.m-pt_pc_70 {
  padding-top: 70px;
}
.t-spc.m-pt_pc_80 {
  padding-top: 80px;
}
.t-spc.m-pt_pc_90 {
  padding-top: 90px;
}
.t-spc.m-pt_pc_100 {
  padding-top: 100px;
}
.t-spc.m-pt_pc_150 {
  padding-top: 150px;
}
.t-spc.m-pt_pc_200 {
  padding-top: 200px;
}
.t-spc.m-pb_pc_30 {
  padding-bottom: 30px;
}
.t-spc.m-pb_pc_40 {
  padding-bottom: 40px;
}
.t-spc.m-pb_pc_50 {
  padding-bottom: 50px;
}
.t-spc.m-pb_pc_60 {
  padding-bottom: 60px;
}
.t-spc.m-pb_pc_70 {
  padding-bottom: 70px;
}
.t-spc.m-pb_pc_80 {
  padding-bottom: 80px;
}
.t-spc.m-pb_pc_90 {
  padding-bottom: 90px;
}
.t-spc.m-pb_pc_100 {
  padding-bottom: 100px;
}
.t-spc.m-pb_pc_150 {
  padding-bottom: 150px;
}
.t-spc.m-pb_pc_200 {
  padding-bottom: 200px;
}
.t-spc.m-pb_pc_230 {
  padding-bottom: 230px;
}
.t-spc.m-pb_pc_300 {
  padding-bottom: 300px;
}
.t-spc.m-pl_pc_80 {
  padding-left: 80px;
}
.t-spc.m-pr_pc_15 {
  padding-right: 15px;
}
.t-spc.m-pr_pc_30 {
  padding-right: 30px;
}
.t-spc.m-pr_pc_60 {
  padding-right: 60px;
}
.t-spc.m-pr_pc_80 {
  padding-right: 80px;
}