@charset "UTF-8";
/* ACCORDER Inc. */
/* Base Style
----------------------- */
*, body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media all and (-ms-high-contrast: none) {
  *, body {
    font-family: "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  }
}
.clearfix:after {
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
}

/* Crearfix for Modern Browsers including Firefox, Opera, Safari, etc */
.clearfix {
  display: inline-block;
}

/* For Windows IE7 and Mac IE5 */
* html .clearfix {
  height: 1px;
}

/* For Windows IE5/IE6: Hides from IE-mac */
.clearfix {
  display: block;
}

.clear {
  clear: both;
}

/* End hide from IE-mac */
img {
  -ms-interpolation-mode: bicubic;
  image-rendering: optimizequality;
  vertical-align: bottom;
}

/* Better images when resized for IE7, FF3.5+ */
a {
  text-decoration: none;
}

a._hover {
  text-decoration: none;
  opacity: 0.7;
}

html, body {
  height: 100%;
}

body {
  background: #fff;
}

@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* wrapper  ----------------------- */
#wrapper {
  position: ralative;
  overflow: hidden;
}

#container {
  padding-top: 110px;
}

.content {
  width: 89.6%;
  max-width: 1230px;
  margin: 0 auto;
}

.content1480 {
  max-width: 1480px;
}

.content1270 {
  max-width: 1270px;
}

.content1100 {
  max-width: 1100px;
}

.content914 {
  max-width: 914px;
}

/* color  ----------------------- */
/* font  ----------------------- */
.all_font_poppins {
  font-weight: 400;
  font-family: "Poppins", sans-serif;
}

/* keyframes  ----------------------- */
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/*共通  ----------------------- */
.all_new_line {
  display: inline-block;
  letter-spacing: inherit;
  font-weight: inherit;
  font-family: inherit;
}

.sp {
  display: none;
}

.all_text {
  letter-spacing: 0.05em;
  line-height: 2;
  font-size: 16px;
}

.all_text_small {
  line-height: 2.13;
  font-size: 15px;
}

.all_text_smaller {
  line-height: 2;
  font-size: 14px;
}

.all_text_link {
  font-weight: inherit;
  text-decoration: underline;
  color: #222020;
}

.all_title {
  letter-spacing: 0.05em;
  line-height: 1.7;
  font-weight: 700;
  font-size: 36px;
  color: #222020;
}
.all_title._center {
  text-align: center;
}
.all_title ._color {
  font-weight: inherit;
  letter-spacing: inherit;
  color: #E31E23;
}

.all_title2 {
  line-height: 2;
  font-weight: 700;
  font-size: 24px;
  color: #222020;
}
.all_title2 + .all_text {
  margin-top: 25px;
  color: #222020;
}

.all_title_row {
  padding-left: 32px;
  position: relative;
}
.all_title_row:after {
  content: "";
  background: #E31E23;
  width: 2px;
  height: calc(100% - 0.5em);
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.all_title_row ._top {
  margin-bottom: 8px;
  position: relative;
  z-index: 2;
  font-weight: 700;
  font-size: 16px;
  color: #E31E23;
}
.all_title_row ._bottom {
  position: relative;
  z-index: 2;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 32px;
  color: #222020;
}
.all_title_row ._color {
  letter-spacing: inherit;
  font-weight: inherit;
  color: #E31E23;
}
.all_title_row._center {
  text-align: center;
}
.all_title_row._center:after {
  display: none;
}
.all_title_row + .all_text {
  margin-top: 45px;
  color: #222020;
}

.all_border_title._center {
  text-align: center;
}
.all_border_title div {
  position: relative;
  display: inline-block;
}
.all_border_title ._container {
  overflow: hidden;
}
.all_border_title ._head {
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 16px;
  color: #222020;
}
.all_border_title ._main {
  line-height: 1;
  letter-spacing: -0.06em;
  font-weight: 600;
  font-size: 80px;
  color: #222020;
}
.all_border_title ._main._small {
  margin-top: 5px;
  font-size: 48px;
}
.all_border_title._white ._head {
  color: #fff;
}
.all_border_title._white ._main {
  color: #fff;
}
.all_border_title ._border {
  position: absolute;
  overflow: hidden;
}
.all_border_title ._border:after {
  content: "";
  background: #222020;
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  -webkit-transition: -webkit-transform 0.8s ease-in-out;
  transition: -webkit-transform 0.8s ease-in-out;
  transition: transform 0.8s ease-in-out;
  transition: transform 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out;
}
.all_border_title ._left_top_to_right {
  width: 65%;
  height: 1px;
  left: -13.44%;
  top: -21%;
}
.all_border_title ._left_top_to_right:after {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.all_border_title ._left_top_to_bottom {
  width: 1px;
  height: 168%;
  left: 0.43%;
  top: -63%;
}
.all_border_title ._left_top_to_bottom:after {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.all_border_title ._right_bottom_to_left {
  width: 108.4%;
  height: 1px;
  right: -15.18%;
  bottom: 0.3em;
}
.all_border_title ._right_bottom_to_left:after {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.all_border_title ._right_bottom_to_top {
  width: 1px;
  height: 121%;
  right: 0;
  bottom: -6.7%;
}
.all_border_title ._right_bottom_to_top:after {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.all_border_title._anime .all_square_anime {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  -webkit-transition: all 0.4s 0.7s ease;
  transition: all 0.4s 0.7s ease;
}
.all_border_title._anime .all_square_anime:after {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: all 0.4s 1.1s ease;
  transition: all 0.4s 1.1s ease;
}
.all_border_title._anime ._left_top_to_right:after {
  -webkit-transform: translateX(101%);
          transform: translateX(101%);
}
.all_border_title._anime ._left_top_to_bottom:after {
  -webkit-transform: translateY(101%);
          transform: translateY(101%);
}
.all_border_title._anime ._right_bottom_to_left:after {
  -webkit-transform: translateX(-101%);
          transform: translateX(-101%);
}
.all_border_title._anime ._right_bottom_to_top:after {
  -webkit-transform: translateY(-101%);
          transform: translateY(-101%);
}

.all_title_border_bottom {
  padding-bottom: 10px;
  position: relative;
  border-bottom: 2px #808080 solid;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 36px;
}
.all_title_border_bottom:after {
  content: "";
  background: #E31E23;
  width: 69px;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -2px;
  display: block;
}
.all_title_border_bottom + .all_text {
  margin-top: 38px;
  color: #222020;
}

.all_button {
  width: 200px;
  height: 60px;
  padding: 0 50px 0 30px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px #E31E23 solid;
  border-radius: 30px;
  font-weight: 700;
  font-size: 16px;
  color: #E31E23;
  -webkit-transition: background 0.4s ease, color 0.4s ease, border-color 0.4s ease;
  transition: background 0.4s ease, color 0.4s ease, border-color 0.4s ease;
}
.all_button._center {
  margin: 0 auto;
}
.all_button:before {
  content: "";
  background: #fff;
  width: 2px;
  height: 10px;
  position: absolute;
  left: -1px;
  top: 30px;
  display: block;
  -webkit-transform: rotate(-15deg);
          transform: rotate(-15deg);
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.all_button:after {
  content: "";
  background: url(../images/all_button_arrow_red.svg) no-repeat center/16px 12px;
  width: 16px;
  height: 12px;
  position: absolute;
  right: 22px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.all_button span {
  width: 100%;
  position: static;
  display: block;
  font-weight: inherit;
}
.all_button span:before {
  content: "";
  background: #fff;
  width: 2px;
  height: 10px;
  position: absolute;
  right: -1px;
  top: 18px;
  display: block;
  -webkit-transform: rotate(-15deg);
          transform: rotate(-15deg);
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.all_button .all_font_poppins {
  font-weight: 500;
}

.all_button._black {
  background: rgba(15, 14, 14, 0.61);
  border: 1px #fff solid;
  color: #fff;
}
.all_button._black:before {
  background: #2c2828;
}
.all_button._black:after {
  background-image: url(../images/all_button_arrow_white.svg);
}
.all_button._black span:before {
  background: #2c2828;
}

.all_button._white {
  border: 1px #fff solid;
  color: #fff;
}
.all_button._white:before {
  background: #2c2828;
}
.all_button._white:after {
  background-image: url(../images/all_button_arrow_white.svg);
}
.all_button._white span:before {
  background: #2c2828;
}

a._hover .all_button, .all_button._hover {
  background: #E31E23;
  border-color: #E31E23;
  color: #fff;
  opacity: 1;
}
a._hover .all_button:before, .all_button._hover:before {
  opacity: 0;
}
a._hover .all_button:after, .all_button._hover:after {
  background-image: url(../images/all_button_arrow_white.svg);
}
a._hover .all_button span:before, .all_button._hover span:before {
  opacity: 0;
}

.all_contact_button {
  width: 100%;
  max-width: 270px;
  height: 60px;
  padding: 0 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px #222020 solid;
  border-radius: 30px;
  -webkit-transition: background 0.4s ease;
  transition: background 0.4s ease;
}
.all_contact_button ._inner {
  padding: 0 0 0 30px;
  position: relative;
  font-weight: 700;
  font-size: 16px;
  color: #222020;
}
.all_contact_button ._inner:after {
  content: "";
  background: url(../images/all_mail_icon_black.svg) no-repeat center/19px 15px;
  width: 19px;
  height: 15px;
  position: absolute;
  left: 0;
  top: calc(50% - 8px);
  display: block;
}
.all_contact_button._hover {
  background: #E31E23;
  border-color: #E31E23;
  opacity: 1;
}

.all_breadcrumb {
  padding: 20px 0 0;
}

.all_breadcrumb_list {
  padding-bottom: 2px;
  text-align: right;
  letter-spacing: 0;
  font-size: 0;
}
.all_breadcrumb_list li {
  margin-right: 32px;
  position: relative;
  display: inline-block;
  vertical-align: top;
  font-size: 12px;
  color: #808080;
}
.all_breadcrumb_list li:after {
  content: "＞";
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.all_breadcrumb_list li:last-child {
  margin-right: 0;
}
.all_breadcrumb_list li:last-child:after {
  display: none;
}
.all_breadcrumb_list a span {
  color: #222020;
}

.all_sub_fv {
  padding: 155px 0 35px;
  color: #222020;
}
.all_sub_fv .all_border_title ._main {
  padding-left: 34px;
  position: relative;
}
.all_sub_fv .all_border_title ._main:after {
  content: "";
  background: #E31E23;
  width: 6px;
  height: calc(100% - 0.24em);
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.all_sub_fv .all_border_title ._head {
  margin-top: 8px;
  padding-left: 34px;
  font-size: 18px;
}

.all_sub_fv_bg {
  position: relative;
  z-index: 2;
}

.all_sub_fv_bg div {
  width: calc(50vw + 550px);
  height: 600px;
}

.strength .all_sub_fv_bg div {
  background: url(../images/strength_bg_sub_fv.jpg) no-repeat center/cover;
}

.technology .all_sub_fv_bg div {
  background: url(../images/technology_bg_sub_fv.jpg) no-repeat center/cover;
}

.product .all_sub_fv_bg div {
  background: url(../images/product_bg_sub_fv.jpg) no-repeat center/cover;
}

.company .all_sub_fv_bg div {
  background: url(../images/company_bg_sub_fv.jpg) no-repeat center/cover;
}

.all_sub_wrapper {
  background: rgba(237, 237, 237, 0.5);
  padding-bottom: 240px;
}

.all_sub_intro {
  /*margin-top: -165px;
  padding: 275px 0 172px;*/
  padding: 125px 0 172px;
  position: relative;
}
.all_sub_intro ._title {
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 40px;
  color: #222020;
}
.all_sub_intro ._title + .all_text {
  margin: 22px 0 0;
}
.all_sub_intro .all_text {
  position: relative;
  z-index: 2;
  letter-spacing: 0;
  color: #222020;
}
.all_sub_intro ._bg_text {
  position: absolute;
  left: 0;
  bottom: -0.16em;
  line-height: 1;
  letter-spacing: -0.06em;
  font-weight: 700;
  font-size: 240px;
  color: #FFF;
}

.all_sub_intro_column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.all_sub_intro_column ._left {
  width: 28%;
  position: relative;
  z-index: 2;
  line-height: 2.5;
  letter-spacing: 0;
  font-weight: 700;
  font-size: 16px;
  color: #E31E23;
}
.all_sub_intro_column ._right {
  width: 72%;
}

.all_sub_intro_bg_text {
  position: absolute;
  left: calc(550px - 50vw);
  top: 110px;
  -webkit-transform: translateX(-1%);
          transform: translateX(-1%);
}

.all_gray_bg {
  background: rgba(237, 237, 237, 0.5);
  padding: 120px 0 230px;
}

.all_white_bg {
  background: #fff;
  padding: 180px 92px 160px;
}

.all_news_list a {
  padding: 35px 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px #EFEFEF solid;
  color: #222020;
}
.all_news_list a:after {
  content: "";
  background: #E31E23;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -1px;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  display: block;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.all_news_list time {
  width: 95px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.05em;
  font-size: 14px;
}
.all_news_list ._category {
  width: 122px;
  display: block;
}
.all_news_list ._category ._block {
  padding: 0 15px;
  display: inline-block;
  border: 1px #AFAFAF solid;
  border-radius: 24px;
  line-height: 26px;
  letter-spacing: 0.05em;
  font-size: 12px;
}
.all_news_list ._title {
  width: calc(100% - 300px);
  font-weight: 700;
  font-size: 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.all_news_list ._arrow {
  width: 60px;
  height: 60px;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.all_news_list ._arrow:after {
  content: "";
  background: url(../images/all_news_list_circle.svg) no-repeat center/60px;
  width: 60px;
  height: 60px;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  opacity: 0;
  -webkit-transform: rotate(-260deg);
          transform: rotate(-260deg);
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
}
.all_news_list a._hover {
  opacity: 1;
}
.all_news_list a._hover:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.all_news_list a._hover ._arrow {
  -webkit-transform: translate(10%, -50%);
          transform: translate(10%, -50%);
}
.all_news_list a._hover ._arrow svg path, .all_news_list a._hover ._arrow svg rect {
  fill: #E31E23;
}
.all_news_list a._hover ._arrow:after {
  opacity: 1;
  -webkit-transform: rotate(-80deg);
          transform: rotate(-80deg);
}

.all_foot_contact {
  background: #222020;
  position: relative;
  color: #fff;
  overflow: hidden;
}
.all_foot_contact._no_gray {
  background: none;
}
.all_foot_contact .content {
  padding: 75px 0 82px;
  position: relative;
  z-index: 2;
}

.all_foot_contact_top {
  width: 100%;
  text-align: center;
}
.all_foot_contact_top ._top {
  letter-spacing: 0.05em;
  font-size: 16px;
}
.all_foot_contact_top ._bottom {
  line-height: 1.3;
  font-weight: 600;
  font-size: 48px;
}
.all_foot_contact_top .all_text {
  margin: 30px 0 0;
}

.all_foot_contact_bottom {
  width: 100%;
  max-width: 800px;
  margin: 50px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.all_foot_contact_bottom ._left {
  width: 50%;
  padding: 2px 70px 10px 0;
}
.all_foot_contact_bottom ._right {
  width: 50%;
  padding: 2px 0 10px 70px;
  border-left: 1px #707070 solid;
}
.all_foot_contact_bottom ._sec {
  margin: 12px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.all_foot_contact_bottom ._tel a {
  display: inline-block;
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}
.all_foot_contact_bottom ._tel a span:nth-child(1) {
  letter-spacing: inherit;
  font-weight: inherit;
  font-size: 30px;
}
.all_foot_contact_bottom ._tel a span:nth-child(2) {
  letter-spacing: inherit;
  font-weight: inherit;
  font-size: 40px;
}
.all_foot_contact_bottom .all_text {
  text-align: center;
}
.all_foot_contact_bottom .all_text:nth-child(n+2) {
  margin-top: 25px;
}
.all_foot_contact_bottom ._contact {
  width: 100%;
}
.all_foot_contact_bottom ._contact .all_contact_button {
  max-width: 330px;
  position: relative;
  border-color: #fff;
}
.all_foot_contact_bottom ._contact .all_contact_button:before {
  content: "";
  background: #222020;
  width: 10px;
  height: 4px;
  position: absolute;
  left: 11px;
  bottom: 1px;
  display: block;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.all_foot_contact_bottom ._contact .all_contact_button:after {
  content: "";
  background: #222020;
  width: 10px;
  height: 1px;
  position: absolute;
  left: 62%;
  top: -1px;
  display: block;
  -webkit-transform: skewX(30deg);
          transform: skewX(30deg);
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.all_foot_contact_bottom ._contact .all_contact_button ._border {
  background: #222020;
  width: 10px;
  height: 1px;
  position: absolute;
  left: 73%;
  bottom: -1px;
  display: block;
  -webkit-transform: skewX(30deg);
          transform: skewX(30deg);
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.all_foot_contact_bottom ._contact .all_contact_button span {
  position: relative;
  z-index: 2;
  color: #fff;
}
.all_foot_contact_bottom ._contact .all_contact_button span:after {
  background-image: url(../images/all_mail_icon_white.svg);
}
.all_foot_contact_bottom ._contact .all_contact_button._hover {
  border-color: #E31E23;
}
.all_foot_contact_bottom ._contact .all_contact_button._hover:before, .all_foot_contact_bottom ._contact .all_contact_button._hover:after,
.all_foot_contact_bottom ._contact .all_contact_button._hover ._border {
  opacity: 0;
}

.all_list_circle {
  margin-top: 52px;
}
.all_list_circle li {
  padding-left: 22px;
  position: relative;
  line-height: 2;
  color: #222020;
}
.all_list_circle li:after {
  content: "";
  background: #E31E23;
  width: 12px;
  height: 12px;
  position: absolute;
  left: 0;
  top: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  border-radius: 50%;
}

@-webkit-keyframes fillAnimation1 {
  from {
    fill: transparent;
  }
  to {
    fill: #E31E23;
  }
}

@keyframes fillAnimation1 {
  from {
    fill: transparent;
  }
  to {
    fill: #E31E23;
  }
}
@-webkit-keyframes fillAnimation2 {
  from {
    fill: #E31E23;
  }
  to {
    fill: transparent;
  }
}
@keyframes fillAnimation2 {
  from {
    fill: #E31E23;
  }
  to {
    fill: transparent;
  }
}
.all_page_top {
  position: fixed;
  z-index: 9;
  right: 50px;
  bottom: 60px;
  opacity: 0;
  -webkit-transform: translateX(500px);
          transform: translateX(500px);
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0s 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0s 0.4s ease;
  transition: opacity 0.4s ease, transform 0s 0.4s ease;
  transition: opacity 0.4s ease, transform 0s 0.4s ease, -webkit-transform 0s 0.4s ease;
}
.all_page_top button {
  display: block;
  border-radius: 50%;
  -webkit-transition: background 0.4s ease;
  transition: background 0.4s ease;
}
.all_page_top button img {
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.all_page_top button img:nth-child(2) {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}
.all_page_top .all_font_poppins {
  position: absolute;
  left: 50%;
  bottom: -38px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.all_page_top button._hover img:nth-child(1) {
  opacity: 0;
}
.all_page_top button._hover img:nth-child(2) {
  opacity: 1;
}
.all_page_top button._hover .all_font_poppins {
  opacity: 1;
}
.all_page_top._on {
  -webkit-transform: none;
          transform: none;
  opacity: 1;
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0s ease;
  transition: opacity 0.4s ease, -webkit-transform 0s ease;
  transition: opacity 0.4s ease, transform 0s ease;
  transition: opacity 0.4s ease, transform 0s ease, -webkit-transform 0s ease;
}

.all_follow_sec {
  margin: 0 auto;
  position: relative;
}
.all_follow_sec > ._menu {
  position: absolute;
  left: 4.375%;
  top: 150px;
}
.all_follow_sec > ._menu ._menu_con + ._menu_con {
  margin-top: 32px;
}
.all_follow_sec > ._menu ._title {
  font-weight: 700;
  font-size: 14px;
  color: #222020;
}
.all_follow_sec > ._menu ._title + ol {
  margin-top: 13px;
}
.all_follow_sec > ._menu li:nth-child(n+2) {
  margin-top: 10px;
}
.all_follow_sec > ._menu a {
  padding-left: 28px;
  position: relative;
  display: inline-block;
  letter-spacing: 0.05em;
  line-height: 1.42;
  font-weight: 700;
  font-size: 17px;
  opacity: 0.3;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  color: #222020;
}
.all_follow_sec > ._menu a:after {
  content: "";
  background: #E31E23;
  width: 6px;
  height: 6px;
  position: absolute;
  left: -12px;
  top: 0.71em;
  display: block;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.all_follow_sec > ._menu ._number {
  position: absolute;
  left: 0;
  top: 0.8em;
  display: block;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-weight: 500;
  font-size: 16px;
}
.all_follow_sec > ._menu._fixed {
  position: fixed;
}
.all_follow_sec > ._menu a._on {
  opacity: 1;
}
.all_follow_sec > ._menu a._on:after {
  opacity: 1;
}
.all_follow_sec > ._menu a._hover {
  opacity: 1;
}
.all_follow_sec ._main {
  background: #fff;
  padding: 145px 0 175px 95px;
  position: relative;
}
.all_follow_sec ._main:after {
  content: "";
  background: #fff;
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 100%;
  top: 0;
  display: block;
}

.all_table_sec {
  margin-top: 50px;
  overflow: auto;
}

.all_table {
  width: 100%;
  border: 1px #AFAFAF solid;
}
.all_table th {
  background: #F6F6F6;
  border-top: 1px #E0E0E0 solid;
  border-right: 1px #E0E0E0 solid;
  vertical-align: middle;
  text-align: left;
  font-weight: 700;
  font-size: 14px;
  color: #222020;
  padding:28px 15px;
}
.all_table td {
  padding: 28px 15px;
  border-top: 1px #E0E0E0 solid;
  border-right: 1px #E0E0E0 solid;
  line-height: 1.71;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.85);
}
.all_table tr th:last-child,
.all_table tr td:last-child {
  border-right: none;
}
.all_table tr:first-child th,
.all_table tr:first-child td {
  border-top: 1px #AFAFAF solid;
}
.all_table thead th {
  background: #222020;
  width: 20%;
  padding: 20px 0;
  border-color: #FFF;
  color: #fff;
}
.all_table thead th:nth-of-type(1) {
  width: 80px;
  min-width: 80px;
}
.all_table thead th:nth-of-type(4) {
  width: 15.27%;
}
.all_table thead th:nth-of-type(5) {
  width: 13%;
}
.all_table thead th:nth-of-type(6) {
  width: 17.9%;
}
.all_table thead th:nth-of-type(7) {
  width: 4%;
}

.all_modal {
  background: rgba(17, 17, 17, 0.7);
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 11;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  opacity: 0;
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0s 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0s 0.4s ease;
  transition: transform 0s 0.4s ease, opacity 0.4s ease;
  transition: transform 0s 0.4s ease, opacity 0.4s ease, -webkit-transform 0s 0.4s ease;
}
.all_modal._open {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  opacity: 1;
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0s ease;
  transition: opacity 0.4s ease, -webkit-transform 0s ease;
  transition: transform 0s ease, opacity 0.4s ease;
  transition: transform 0s ease, opacity 0.4s ease, -webkit-transform 0s ease;
}
.all_modal ._container {
  width: 90%;
  max-width: 1100px;
  max-height: calc(100vh - 100px);
  position: relative;
}
.all_modal ._container ._close {
  width: 28px;
  height: 28px;
  position: absolute;
  right: 0;
  top: -40px;
}
.all_modal ._container ._close:before, .all_modal ._container ._close:after {
  content: "";
  background: #FFF;
  width: 38px;
  height: 2px;
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.all_modal ._container ._close:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.all_modal ._inner {
  max-height: calc(100vh - 100px);
  overflow: auto;
}
.all_modal ._img img, .all_modal ._img video {
  width: 100%;
}
.all_modal ._img video:nth-child(n+2) {
  margin-top: 50px;
}

.all_square_anime {
  position: relative;
  display: inline-block;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.all_square_anime:after {
  content: "";
  background: #222020;
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}

/* #header ヘッダー
=========================================== */
#header {
  background: #fff;
  width: 100%;
  height: 110px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  border-bottom: 1px #DDD solid;
}
#header .content {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header ._content {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header ._list {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header ._list > li {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header ._list > li:nth-child(n+2) {
  margin-left: 20px;
}
#header ._list a {
  height: 100%;
  padding: 0 5px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  font-size: 16px;
  color: #222020;
}
#header ._list a:after {
  content: "";
  background: #E31E23;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
#header ._list a._on:after {
  opacity: 1;
}
#header ._list a._hover {
  opacity: 1;
}
#header ._list a._hover:after {
  opacity: 1;
}
#header ._contact {
  margin-left: 25px;
}
#header ._contact a {
  background: #E31E23;
  width: 160px;
  height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px #E31E23 solid;
  border-radius: 24px;
  font-weight: 700;
  font-size: 16px;
  color: #fff;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
#header ._contact a._hover {
  background: #fff;
  color: #E31E23;
  opacity: 1;
}

.header_ham {
  display: none;
}

#header .all_foot_contact_bottom {
  display: none;
}

/* #top　トップページ
=========================================== */
.top_mv .content {
  margin-top: calc(-2.5vw - 122px);
}
.top_mv ._text_box {
  position: relative;
  z-index: 3;
}
.top_mv ._text_box:after {
  content: "";
  background: #E31E23;
  width: 8px;
  height: calc(100% + 230px);
  position: absolute;
  left: -2.76%;
  top: 5px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
}
.top_mv ._text_box ._inner {
  overflow: hidden;
}
.top_mv ._text_box ._top .all_square_anime {
  padding-bottom: 30px;
}
.top_mv ._text_box ._bottom {
  margin-top: -12px;
}
.top_mv ._title {
  line-height: 1.67;
  font-weight: 700;
  font-size: 24px;
}
.top_mv ._mv {
  background: #000;
  width: calc(615px + 50vw);
  max-width: calc(100% - 60px);
  height: 796px;
  margin: 70px 0 0;
  position: relative;
}
.top_mv ._slide {
  height: 100%;
}
.top_mv ._slide1 {
  background: url(../images/top_mv_slide1.jpg) no-repeat center/cover;
}
.top_mv ._slide2 {
  background: url(../images/top_mv_slide2.jpg) no-repeat center/cover;
}
.top_mv ._slide3 {
  background: url(../images/top_mv_slide3.jpg) no-repeat center/cover;
}
.top_mv ._scroll {
  position: absolute;
  right: 0;
  top: -48px;
  z-index: 2;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
.top_mv ._scroll img:nth-child(2) {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-animation: rotate 20s linear infinite;
          animation: rotate 20s linear infinite;
}
.top_mv._anime .top_mv_right_top:after {
  top: 100%;
  -webkit-transition: top 0.8s ease-in-out;
  transition: top 0.8s ease-in-out;
}
.top_mv._anime .top_mv_right_top .all_square_anime {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  -webkit-transition: all 0.4s 0.4s ease;
  transition: all 0.4s 0.4s ease;
}
.top_mv._anime .top_mv_right_top .all_square_anime:after {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: all 0.4s 0.8s ease;
  transition: all 0.4s 0.8s ease;
}
.top_mv._anime ._text_box:after {
  height: 0;
  top: calc(100% + 235px);
  -webkit-transition: top 0.6s 0.2s ease-in-out, height 0.6s 0.2s ease-in-out;
  transition: top 0.6s 0.2s ease-in-out, height 0.6s 0.2s ease-in-out;
}
.top_mv._anime ._text_box ._top .all_square_anime {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  -webkit-transition: all 0.4s 0.6s ease;
  transition: all 0.4s 0.6s ease;
}
.top_mv._anime ._text_box ._top .all_square_anime:after {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: all 0.4s 1s ease;
  transition: all 0.4s 1s ease;
}
.top_mv._anime ._text_box ._bottom .all_square_anime {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  -webkit-transition: all 0.4s 1s ease;
  transition: all 0.4s 1s ease;
}
.top_mv._anime ._text_box ._bottom .all_square_anime:after {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: all 0.4s 1.4s ease;
  transition: all 0.4s 1.4s ease;
}
.top_mv._border_anime .top_mv_right_top:after {
  -webkit-animation: topMvRightBorderMove 3s 1.2s ease infinite;
          animation: topMvRightBorderMove 3s 1.2s ease infinite;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
}
.top_mv._border_anime ._text_box:after {
  -webkit-animation: topMvTextBoxBorderMove 3s 1.5s ease infinite;
          animation: topMvTextBoxBorderMove 3s 1.5s ease infinite;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
}

@-webkit-keyframes topMvRightBorderMove {
  0% {
    height: 0;
    top: -205px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  40% {
    height: 318px;
    top: -205px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  60% {
    height: 318px;
    top: -205px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    height: 318px;
    top: -205px;
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
  }
}

@keyframes topMvRightBorderMove {
  0% {
    height: 0;
    top: -205px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  40% {
    height: 318px;
    top: -205px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  60% {
    height: 318px;
    top: -205px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    height: 318px;
    top: -205px;
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
  }
}
@-webkit-keyframes topMvTextBoxBorderMove {
  0% {
    height: 0;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  40% {
    height: calc(100% + 230px);
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  60% {
    height: calc(100% + 230px);
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    height: calc(100% + 230px);
    top: 0;
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
  }
}
@keyframes topMvTextBoxBorderMove {
  0% {
    height: 0;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  40% {
    height: calc(100% + 230px);
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  60% {
    height: calc(100% + 230px);
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  100% {
    height: calc(100% + 230px);
    top: 0;
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
  }
}
.top_mv_right_top {
  width: 18.125%;
  margin-left: auto;
  padding: 32px 0 90px;
  position: relative;
  overflow: hidden;
}
.top_mv_right_top img {
  width: 100%;
}
.top_mv_right_top:after {
  content: "";
  background: #E31E23;
  width: 8px;
  height: 318px;
  position: absolute;
  left: 67.24%;
  top: -205px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
}

.top_mv_head {
  position: relative;
  /*line-height: 0.85;*/
  line-height: 1;
}
.top_mv_head > span {
  display: block;
  font-size: 120px;
  color: #222020;
}
.top_mv_head > span:nth-child(2) {
  padding-left: 0.44em;
  color: #E31E23;
}
.top_mv_head span span {
  letter-spacing: -0.03em;
  font-weight: 600;
}

.top_strength {
  background: #EDEDED url(../images/top_bg_dott.svg) repeat left top/22px 11px;
  margin-top: -75px;
  padding: 305px 0 260px;
}
.top_strength .all_square_anime {
  padding-bottom: 0.6em;
}
.top_strength .all_title {
  margin: 85px 0 0;
}
.top_strength .all_title + .all_text {
  max-width: 729px;
  margin: 30px auto 0;
  letter-spacing: 0;
  color: #222020;
}
.top_strength ._link {
  margin: 92px 0 0;
}
.top_strength ._link .all_button:before {
  background: #EDEDED;
}
.top_strength ._link .all_button span:before {
  background: #EDEDED;
}

.top_strength_list {
  margin: 70px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center;
  justify-content:center;
  gap:15px;
}
.top_strength_list li {
  /*width: 32.5%;*/
}
.top_strength_list li:nth-child(n+2) {
  /*margin-left: 1.25%;*/
}
.top_strength_list img {
  width: 100%;
}
.top_strength_list ._text {
  margin: 15px 0 0;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 24px;
  color: #222020;
}

.top_technology {
  background: #fff;
  padding: 392px 0 158px;
  position: relative;
}
.top_technology:before {
  content: "";
  background: #fff;
  width: 43.125%;
  height: 100px;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  display: block;
}
.top_technology .all_square_anime {
  padding: 0 0.3em 0.6em 0;
}
.top_technology .content {
  position: relative;
}
.top_technology ._main_sec {
  width: 39.5%;
}
.top_technology .all_title {
  margin: 68px 0 0;
}
.top_technology .all_text {
  margin: 20px 0 0;
  letter-spacing: 0;
}
.top_technology ._link {
  margin: 70px 0 0;
}
.top_technology ._img {
  width: 49.187%;
  padding-top: 63.089%;
  position: absolute;
  right: 0;
  top: 29%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top_technology ._img img:nth-child(1) {
  width: 38.678%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}
.top_technology ._img img:nth-child(2) {
  width: 79.34%;
  position: absolute;
  left: 0;
  bottom: 0;
}

.top_product {
  background: #222020;
  padding: 275px 0 445px;
  position: relative;
}
.top_product:before {
  content: "";
  background: #fff;
  width: 41.56%;
  height: 100px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  display: block;
}
.top_product:after {
  content: "";
  background: url(../images/top_bg_dott.svg) repeat left top/22px 11px;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  opacity: 0.7;
}
.top_product .content {
  position: relative;
  z-index: 2;
}
.top_product .all_border_title .all_square_anime {
  padding: 0 0.3em 0 0;
}
.top_product .all_border_title .all_square_anime:after {
  background: #fff;
}
.top_product .all_border_title ._border:after {
  background: #fff;
}
.top_product .all_text {
  color: #fff;
}
.top_product ._head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.top_product ._head .all_text {
  width: calc(100% - 490px);
  padding: 0 6.9%;
}
.top_product ._head ._link {
  width: 200px;
}
.top_product ._slide {
  /*width: calc(615px + 50vw);*/
  margin: 120px 0 0;
}
.top_product ._slide ul{
	display:flex;
	gap:20px;
}
.top_product ._slide .swiper-slide {
  width: 460px;
}
.top_product ._slide ._img {
  overflow: hidden;
}
.top_product ._slide ._img img {
  width: 100%;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.top_product ._slide a:hover {
  opacity: 1;
}
.top_product ._slide a:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.top_product ._slide ._name {
  margin: 10px 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}
.top_product ._slide ._name span {
  letter-spacing: inherit;
  font-weight: inherit;
}
.top_product ._slide .all_text_smaller {
  margin: 8px 0 0;
  color: #fff;
}
.top_product ._link_tb {
  display: none;
}

.top_product_slide_controls {
  margin: 70px 0 0;
  position: relative;
  text-align: right;
}
.top_product_slide_controls ._bar {
  background: #505050;
  width: calc(100% - 250px);
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
}
.top_product_slide_controls ._bar .swiper-pagination-progressbar-fill {
  background: #FFF;
  height: 2px;
}
.top_product_slide_controls ._button {
  width: 60px;
  height: 60px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  vertical-align: top;
  border: 1px #fff solid;
  border-radius: 50%;
  -webkit-transition: background 0.4s ease;
  transition: background 0.4s ease;
}
.top_product_slide_controls ._button._hover {
  background: #E31E23;
}
.top_product_slide_controls ._prev {
  margin-right: 12px;
}
.top_product_slide_controls ._prev img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.top_bg_gray {
  background: #EDEDED;
}

.top_news {
  margin-top: -295px;
  position: relative;
  z-index: 2;
}
.top_news .content {
  background: #fff;
  padding: 120px 0 175px;
}
.top_news ._inner {
  width: 90%;
  max-width: 1230px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top_news .all_border_title .all_square_anime {
  padding-right: 0.1em;
}
.top_news ._left {
  width: 205px;
}
.top_news ._right {
  width: calc(100% - 285px);
  max-width: 855px;
}
.top_news ._link {
  margin: 80px 0 0;
}
.top_news ._link_tb {
  display: none;
}
.top_news .all_news_list:not(.active) {
  display: none;
}

.top_news_category_list {
  margin: 68px 0 0;
}
.top_news_category_list li:nth-child(n+2) {
  margin: 15px 0 0;
}
.top_news_category_list a {
  padding: 0 20px;
  display: inline-block;
  border: 1px #AFAFAF solid;
  border-radius: 24px;
  line-height: 26px;
  font-size: 12px;
  color: #000;
}
.top_news_category_list a._on {
  background: #222020;
  border: 1px #222020 solid;
  color: #fff;
}

.top_foot_link {
  padding-bottom: 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top_foot_link ._sec {
  width: 50%;
}
.top_foot_link a {
  height: 532px;
  padding: 100px 50px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.top_foot_link ._company a {
  background: url(../images/top_foot_link_company.jpg) no-repeat center/cover;
}
.top_foot_link ._company a .all_button:before {
  top: 1px;
  left: 10px;
  -webkit-transform: rotate(48deg);
          transform: rotate(48deg);
}
.top_foot_link ._company a .all_button span:before {
  top: 53px;
  right: 25px;
  -webkit-transform: rotate(85deg);
          transform: rotate(85deg);
}
.top_foot_link ._access a {
  background: url(../images/top_foot_link_access.jpg) no-repeat center/cover;
}
.top_foot_link ._link {
  margin: 95px 0 0;
}
.top_foot_link a._hover {
  opacity: 1;
}

/* #strength 光束工業の強み
=========================================== */
.strength .all_sub_intro {
  padding-bottom: 0;
}
.strength .all_sub_intro .all_text {
  max-width: 601px;
  letter-spacing: 0;
}

.strength_intro_slider_sec {
  margin-top: 82px;
}

.strength_intro_slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.strength_intro_slider .swiper-slide {
  width: 400px;
}
.strength_intro_slider .swiper-slide img {
  width: 100%;
}

.strength_main {
  padding: 180px 0 0;
}
.strength_main .all_title_row ._bg_text {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-41.3%, -50%);
          transform: translate(-41.3%, -50%);
  line-height: 1;
  letter-spacing: -0.06em;
  font-weight: 700;
  font-size: 240px;
  color: #fff;
  white-space: nowrap;
}

.strength_main_list {
  margin-top: 175px;
}
.strength_main_list > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.strength_main_list ._img {
  width: 40.91%;
  max-width: 450px;
}
.strength_main_list ._img img {
  width: 100%;
}
.strength_main_list ._text {
  width: 53.64%;
  padding: 70px 0;
  position: relative;
}
.strength_main_list ._number {
  position: absolute;
  right: 18px;
  top: 0;
  -webkit-transform: translateY(-42%);
          transform: translateY(-42%);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 500;
  font-size: 180px;
  color: #EDEDED;
}
.strength_main_list .all_title_row {
  z-index: 2;
}
.strength_main_list .all_title_row ._bottom {
  letter-spacing: 0;
}
.strength_main_list .all_text {
  position: relative;
  z-index: 2;
  letter-spacing: 0;
}
.strength_main_list > li:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.strength_main_list > li:nth-child(2n) ._number {
  right: 5px;
}
.strength_main_list > li:nth-child(n+2) {
  margin-top: 185px;
}

.strength_main_achievement {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.strength_main_achievement ._left {
  width: 98px;
  margin-right: 30px;
}
.strength_main_achievement ._left img {
  width: 100%;
}
.strength_main_achievement ._left .all_text_smaller {
  display: block;
  letter-spacing: 0;
  white-space: nowrap;
  color: #222020;
}
.strength_main_achievement ._right {
  background: #fff;
  width: 371px;
  max-width: 100%;
  margin-top: 20px;
  padding: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.strength_main_achievement ._right ._right_img {
  width: 98px;
}
.strength_main_achievement ._right ._right_img img {
  width: 100%;
}
.strength_main_achievement ._right .all_text {
  width: calc(100% - 120px);
  color: #222020;
}

.strength_main_certificate {
  background: #fff;
  width: 101.6%;
  margin-top: 32px;
  padding: 30px 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: translateX(-0.8%);
          transform: translateX(-0.8%);
}
.strength_main_certificate ._left {
  width: 216px;
}
.strength_main_certificate ._left img {
  width: 100%;
}
.strength_main_certificate ._right {
  width: calc(100% - 235px);
  color: #222020;
}
.strength_main_certificate ._right dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.strength_main_certificate ._right dt {
  width: 92px;
  letter-spacing: 0;
  font-weight: 700;
}
.strength_main_certificate ._right dd {
  width: calc(100% - 92px);
  letter-spacing: 0;
}

/* #technology　技術・設備紹介
=========================================== */
.technology .all_sub_fv .all_border_title ._main {
  padding-right: 0.03em;
}

.technology_container + .technology_container {
  margin-top: 140px;
}

.technology_intro_list {
  margin-top: 80px;
}
.technology_intro_list li:nth-child(n+2) {
  margin-top: 55px;
}
.technology_intro_list img {
  width: 100%;
  margin-top: 40px;
}
.technology_intro_list .all_text {
  margin-top: 15px;
  letter-spacing: -0.02em;
  color: #222020;
}

.technology_sec {
  margin-top: 80px;
}
.technology_sec + .technology_sec {
  margin-top: 90px;
}
.technology_sec .all_title_row + .all_text {
  margin-top: 25px;
}
.technology_sec .all_table_sec {
  position: relative;
  z-index: 2;
}
.technology_sec .all_table {
  min-width: 819px;
}

.technology_list {
  margin: 52px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.technology_list li {
  width: 45.43%;
  max-width: 372px;
}
.technology_list li:nth-child(2n) {
  margin-left: 9.14%;
}
.technology_list li:nth-child(n+3) {
  margin-top: 48px;
}
.technology_list img {
  width: 100%;
}
.technology_list ._name {
  margin-top: 25px;
  font-weight: 700;
  font-size: 17px;
  color: #222020;
}
.technology_list ._name + .all_text {
  margin-top: 8px;
}
.technology_list .all_text {
  color: #222020;
}

/* #product 製品紹介
=========================================== */
.product .all_sub_fv .all_border_title ._main {
  padding-right: 0.05em;
}

.product .all_sub_intro ._bg_text {
  position: absolute;
  left: 31.07%;
}
.product .all_follow_sec ._main {
  margin-top: -30px;
}

.product_sec + .product_sec {
  margin-top: 95px;
}

.product_intro {
  position: relative;
  z-index: 2;
}
.product_intro ._main {
  background: #fff;
  padding: 125px 0 0 95px;
  position: relative;
}
.product_intro ._main:after {
  content: "";
  background: #fff;
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 100%;
  top: 0;
  display: block;
}
.product_intro ._dott_bg {
  background: #000;
  margin-top: 55px;
  padding-bottom: 100%;
  position: relative;
}
.product_intro ._dott_bg ._text_sec {
  width: 210px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  color: #fff;
}
.product_intro ._dott_bg ._text_sec ._text {
  padding-top: 40px;
  padding-left: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #fff;
  font-size: 24px;
}
.product_intro ._dott_bg ._notice {
  padding-top: 10px;
  padding-left: 30px;
  line-height: 1.8666666667;
  font-size: 15px;
  color: #AFAFAF;
}
.product_intro ._dott_bg ._notice._sp {
  display: none;
}
.product_intro ._dott_bg ._car {
  width: 86.5853658537%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.product_intro ._dott_bg ._car img {
  width: 100%;
}
.product_intro ._dott_bg ._car ._point_list li {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.product_intro ._dott_bg ._car ._point_list li ._circle {
  background: #BA0408;
  border: 2px solid #fff;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: relative;
  z-index: 2;
  -webkit-transition: border-width 0.4s ease;
  transition: border-width 0.4s ease;
}
.product_intro ._dott_bg ._car ._point_list li:nth-of-type(1) {
  top: 50%;
  left: 81%;
}
.product_intro ._dott_bg ._car ._point_list li:nth-of-type(2) {
  top: 46%;
  left: 15.5%;
}
.product_intro ._dott_bg ._car ._point_list li:nth-of-type(3) {
  top: 32%;
  left: 45%;
}
.product_intro ._dott_bg ._car ._point_list li:nth-of-type(4) {
  top: 68%;
  left: 45%;
}
.product_intro ._dott_bg ._car ._point_list li:nth-of-type(5) {
  top: 32%;
  left: 62%;
}
.product_intro ._dott_bg ._car ._point_list li:nth-of-type(6) {
  top: 68%;
  left: 62%;
}
.product_intro ._dott_bg ._car ._point_list li::before {
  content: "";
  display: block;
  background: #fff;
  width: 0;
  height: 0;
  border-radius: 50%;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  opacity: 0;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.product_intro ._dott_bg ._car ._point_list li::after {
  content: "";
  display: block;
  background: radial-gradient(#e31e23, #e31e23, rgba(227, 30, 35, 0));
  width: 0;
  height: 0;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  opacity: 0;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
.product_intro ._dott_bg ._car ._point_list li.active ._circle {
  border-width: 4px;
}
.product_intro ._dott_bg ._car ._point_list li.active::before, .product_intro ._dott_bg ._car ._point_list li.active::after {
  opacity: 1;
}
.product_intro ._dott_bg ._car ._point_list li.active::before {
  width: 30px;
  height: 30px;
}
.product_intro ._dott_bg ._car ._point_list li.active::after {
  width: 60px;
  height: 60px;
}
.product_intro ._dott_bg ._list li {
  width: 14.756097561%;
  position: absolute;
  z-index: 2;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  border-radius: 50%;
}
.product_intro ._dott_bg ._list li a._hover {
  opacity: 1;
}
.product_intro ._dott_bg ._list li a._hover ._img:after {
  opacity: 1;
}
.product_intro ._dott_bg ._list li:nth-of-type(1) {
  top: 17%;
  left: 62%;
}
.product_intro ._dott_bg ._list li:nth-of-type(2) {
  top: 79%;
  left: 26%;
}
.product_intro ._dott_bg ._list li:nth-of-type(3) {
  top: 79%;
  left: 50%;
}
.product_intro ._dott_bg ._list li:nth-of-type(4) {
  top: 17%;
  left: 38%;
}
.product_intro ._dott_bg ._list li:nth-of-type(5) {
  top: 79%;
  left: 74%;
}
.product_intro ._dott_bg ._list ._img {
  position: relative;
}
.product_intro ._dott_bg ._list ._img:after {
  content: "";
  background: #E31E23;
  width: 108.33%;
  height: 108.33%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  -webkit-box-shadow: rgba(255, 0, 0, 0.9) 0 0 40px;
          box-shadow: rgba(255, 0, 0, 0.9) 0 0 40px;
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.product_intro ._dott_bg ._list img {
  width: 100%;
  position: relative;
  z-index: 2;
  border-radius: 50%;
}
.product_intro ._dott_bg ._list .all_text {
  width: 200%;
  text-align: center;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: calc(100% + 12px);
  line-height: 1.3;
  font-size: 16px;
  color: #fff;
}

.product_column {
  max-width: 819px;
  margin: 35px 0 0;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.product_column .all_text {
  letter-spacing: 0;
  color: #222020;
}
.product_column ._img {
  width: 56.17%;
  max-width: 460px;
  position: relative;
}
.product_column ._img img {
  width: 100%;
}
.product_column ._img ._caption {
  width: calc(100% - 24px);
  position: absolute;
  left: 12px;
  bottom: 8px;
  letter-spacing: 0.1em;
  font-size: 14px;
  color: #222020;
}
.product_column ._text {
  width: 40.9%;
  margin-top: -8px;
}
.product_column ._dlist dt {
  position: relative;
  font-weight: 700;
}
.product_column ._dlist dt p {
  padding-left: 1.1em;
  display: inline-block;
  vertical-align: middle;
}
.product_column ._dlist dt p:nth-child(1) {
  margin-right: 18px;
  font-weight: inherit;
}
.product_column ._dlist dt ._movie_caution {
  padding-left: 24px;
  position: relative;
  line-height: 1;
  font-size: 13px;
  color: #222020;
}
.product_column ._dlist dt ._movie_caution img {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.product_column ._dlist dt p:nth-child(1):after {
  content: "■";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
}
.product_column ._dlist + ._dlist {
  margin: 12px 0 0;
}
.product_column ._dlist ._vertical_list {
  margin-top: 10px;
  letter-spacing: 0;
  font-size: 0;
}
.product_column ._dlist ._vertical_list li {
  width: 14.28%;
  position: relative;
  display: inline-block;
  vertical-align: top;
}
.product_column ._dlist ._vertical_list li:nth-child(n+2) {
  margin-left: 7.15%;
}
.product_column ._dlist ._vertical_list li:nth-child(n+2):after {
  content: "";
  background: url(../images/product_column_vertical_list_arrow.svg) no-repeat center/18px 14px;
  width: 18px;
  height: 14px;
  position: absolute;
  left: -30%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
}
.product_column ._dlist ._vertical_list ._wrapper {
  background: #E8E8E8;
  width: 100%;
  min-height: 224px;
  padding-top: 25px;
  padding-bottom: 40px;
  position: relative;
  display: block;
  border-radius: 24px;
  -webkit-transition: background 0.4s ease;
  transition: background 0.4s ease;
}
.product_column ._dlist ._vertical_list ._wrapper ._vertical_text {
  height: 100%;
  margin: 0 auto;
  text-align: center;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.product_column ._dlist ._vertical_list ._wrapper ._vertical_text span {
  width: 1em;
  display: inline-block;
  line-height: 1.0714285714;
  font-weight: 700;
}
.product_column ._dlist ._vertical_list ._wrapper ._vertical_text span ._small {
  -webkit-transform: translate(0.1em, -0.15em);
          transform: translate(0.1em, -0.15em);
}
.product_column ._dlist ._vertical_list ._wrapper ._vertical_text span ._rotate {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.product_column ._dlist ._vertical_list ._wrapper ._vertical_text span ._en {
  display: inline-block;
  margin: 2px 0;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  line-height: 1;
}
.product_column ._dlist ._vertical_list ._wrapper ._button {
  width: 79.17%;
  position: absolute;
  left: 50%;
  bottom: 8px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.product_column ._dlist ._vertical_list a._wrapper._hover {
  background: #e31e23;
  opacity: 1;
}
.product_column ._dlist ._vertical_list a._wrapper._hover ._vertical_text {
  color: #fff;
}
.product_column ._dlist ._vertical_list ._line2 ._wrapper {
  height: auto !important;
  min-height: 112px;
  padding-top: 15px;
}

/* #company　会社案内
=========================================== */
.company .all_sub_fv .all_border_title ._main {
  padding-right: 0.07em;
}

.company_sec + .company_sec {
  margin-top: 175px;
}

.company_message_column {
  margin: 52px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.company_message_column ._left {
  /*width: 62.85%;*/
  margin-top: -0.7em;
}
.company_message_column ._left .all_text {
  letter-spacing: 0;
}
.company_message_column ._right {
  width: 32.1%;
  max-width: 263px;
}
.company_message_column ._right ._img img {
  width: 100%;
}

.company_message_ceo {
  margin-top: 20px;
  text-align: right;
  color: #3B4043;
}
.company_message_ceo ._position {
  display: block;
  font-size: 16px;
}
.company_message_ceo ._name {
  margin-top: 5px;
  display: block;
  font-weight: 700;
  font-size: 18px;
}

.company_d_list {
  margin: 70px 0 0;
  position: relative;
}
.company_d_list:after {
  content: "";
  background: #EFEFEF;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 5;
  display: block;
}
.company_d_list dl {
  padding: 16px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px #EFEFEF solid;
}
.company_d_list dt {
  width: 22.8%;
  font-weight: 700;
}
.company_d_list dd {
  width: 77.2%;
}
.company_d_list ._head {
  margin-bottom: 5px;
  display: block;
  font-weight: 700;
}
.company_d_list._history dl {
  padding: 32px 0;
  position: relative;
  z-index: 3;
}
.company_d_list._history dl:before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(75%, rgba(255, 255, 255, 0.88)), to(white));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.88) 75%, white 100%);
  width: 262px;
  height: 108px;
  position: absolute;
  right: -40px;
  bottom: -40px;
  z-index: 3;
  display: block;
}
.company_d_list._history dl:after {
  content: "";
  background: url(../images/company_d_list_history1972.jpg) no-repeat center/100% 100%;
  width: 246px;
  height: 184px;
  position: absolute;
  right: -20px;
  bottom: -40px;
  z-index: 2;
  display: block;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  opacity: 0;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  pointer-events: none;
  display: none;
}
.company_d_list._history dl._y1992:after {
  background-image: url(../images/company_d_list_history1992.jpg);
}
.company_d_list._history dl._y1993:after {
  background-image: url(../images/company_d_list_history1993.jpg);
}
.company_d_list._history dl._y2003:after {
  background-image: url(../images/company_d_list_history2003.jpg);
}
.company_d_list._history dl._y2006:after {
  background-image: url(../images/company_d_list_history2006.jpg);
}
.company_d_list._history dl._y2011:after {
  background-image: url(../images/company_d_list_history2011.jpg);
}
.company_d_list._history dl._y2019:after {
  background-image: url(../images/company_d_list_history2019.jpg);
}
.company_d_list._history dl._hover:after {
  right: -30px;
  bottom: -15px;
  -webkit-transform: rotate(-6deg);
          transform: rotate(-6deg);
  opacity: 1;
}
.company_d_list._history dt {
  position: relative;
  z-index: 2;
  line-height: 1;
  font-weight: 500;
  font-size: 40px;
  color: #E31E23;
}
.company_d_list._history dd {
  position: relative;
  z-index: 2;
}

.company_highlight {
  margin-top: 70px;
}
.company_highlight ._graph {
  position: relative;
}
.company_highlight ._graph img {
  width: 100%;
}
.company_highlight ._bar_wrap {
  width: 87.4846625767%;
  height: 79.2857142857%;
  position: absolute;
  bottom: 10.2%;
  left: 11.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.company_highlight ._bar {
  background: -webkit-gradient(linear, left top, left bottom, from(#e31e23), to(rgba(227, 30, 35, 0.5)));
  background: linear-gradient(to bottom, #e31e23, rgba(227, 30, 35, 0.5));
  width: 1.8232819074%;
  -webkit-transform: scale(1, 0);
          transform: scale(1, 0);
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
}
.company_highlight ._graph._on ._bar {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.company_highlight ._sales ._bar:nth-of-type(1) {
  height: 19.3939393939%;
}
.company_highlight ._sales ._bar:nth-of-type(2) {
  height: 13.9393939394%;
}
.company_highlight ._sales ._bar:nth-of-type(3) {
  height: 10.9090909091%;
}
.company_highlight ._sales ._bar:nth-of-type(4) {
  height: 11.2121212121%;
}
.company_highlight ._sales ._bar:nth-of-type(5) {
  height: 12.4242424242%;
}
.company_highlight ._sales ._bar:nth-of-type(6) {
  height: 13.0303030303%;
}
.company_highlight ._sales ._bar:nth-of-type(7) {
  height: 11.2121212121%;
}
.company_highlight ._sales ._bar:nth-of-type(8) {
  height: 8.4848484848%;
}
.company_highlight ._sales ._bar:nth-of-type(9) {
  height: 13.9393939394%;
}
.company_highlight ._sales ._bar:nth-of-type(10) {
  height: 21.2121212121%;
}
.company_highlight ._sales ._bar:nth-of-type(11) {
  height: 21.2121212121%;
}
.company_highlight ._sales ._bar:nth-of-type(12) {
  height: 25.7575757576%;
}
.company_highlight ._sales ._bar:nth-of-type(13) {
  height: 33.6363636364%;
}
.company_highlight ._sales ._bar:nth-of-type(14) {
  height: 38.7878787879%;
}
.company_highlight ._sales ._bar:nth-of-type(15) {
  height: 50.6060606061%;
}
.company_highlight ._sales ._bar:nth-of-type(16) {
  height: 46.3636363636%;
}
.company_highlight ._sales ._bar:nth-of-type(17) {
  height: 55.7575757576%;
}
.company_highlight ._sales ._bar:nth-of-type(18) {
  height: 50%;
}
.company_highlight ._sales ._bar:nth-of-type(19) {
  height: 58.7878787879%;
}
.company_highlight ._sales ._bar:nth-of-type(20) {
  height: 67.2727272727%;
}
.company_highlight ._sales ._bar:nth-of-type(21) {
  height: 67.2727272727%;
}
.company_highlight ._sales ._bar:nth-of-type(22) {
  height: 57.2727272727%;
}
.company_highlight ._sales ._bar:nth-of-type(23) {
  height: 57.8787878788%;
}
.company_highlight ._sales ._bar:nth-of-type(24) {
  height: 50.303030303%;
}
.company_highlight ._sales ._bar:nth-of-type(25) {
  height: 51.8181818182%;
}
.company_highlight ._sales ._bar:nth-of-type(26) {
  height: 95.7575757576%;
}
.company_highlight ._sales ._bar:nth-of-type(27) {
  height: 96.3636363636%;
}
.company_highlight ._sales ._bar:nth-of-type(28) {
  height: 92.7272727273%;
}

.company_highlight_history {
  background: #F6F6F6;
  margin-top: 75px;
  padding: 30px;
  border-radius: 6px;
}
.company_highlight_history ._inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.company_highlight_history ._inner:after {
  content: "";
  background: #AFAFAF;
  width: 3px;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
}
.company_highlight_history ._sec {
  width: calc(50% - 23px);
}
.company_highlight_history ._sec:nth-child(1) ._list {
  margin-top: 18px;
}
.company_highlight_history ._sec:nth-child(1) ._list dl {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.company_highlight_history ._sec:nth-child(1) ._list dl:before {
  left: auto;
  right: -17px;
}
.company_highlight_history ._sec:nth-child(1) ._list dl:after {
  left: auto;
  right: -29px;
}
.company_highlight_history ._sec:nth-child(1) ._list dt {
  text-align: right;
}
.company_highlight_history ._sec:nth-child(1) ._list dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.company_highlight_history ._sec:nth-child(1) ._list dl:nth-child(3) {
  margin-top: 145px;
}
.company_highlight_history ._sec:nth-child(1) ._list dl:nth-child(4) {
  margin-top: 130px;
}
.company_highlight_history ._sec:nth-child(2) ._list dl:nth-child(6) {
  margin-top: 72px;
}
@media all and (-ms-high-contrast: none) {
  .company_highlight_history ._sec:nth-child(2) {
    -webkit-transform: translateX(23px);
            transform: translateX(23px);
    position: relative;
    z-index: 3;
  }
}
.company_highlight_history ._head {
  background: #808080;
  height: 64px;
  padding: 10px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 6px;
  font-weight: 700;
  font-size: 16px;
  color: #fff;
}
.company_highlight_history ._head ._head_inner {
  display: block;
  text-align: center;
  font-weight: inherit;
}
.company_highlight_history ._head:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  bottom: -9px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  border-style: solid;
  border-width: 9px 5px 0 5px;
  border-color: #808080 transparent transparent transparent;
}
.company_highlight_history ._list {
  margin-top: 130px;
}
.company_highlight_history ._list dl {
  background: #FFF;
  width: 100%;
  padding: 12px 15px;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-radius: 6px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.05) 0 0 10px;
          box-shadow: rgba(0, 0, 0, 0.05) 0 0 10px;
}
.company_highlight_history ._list dl:nth-child(n+2) {
  margin-top: 10px;
}
.company_highlight_history ._list dl:before {
  content: "";
  background: #707070;
  width: 16px;
  height: 1px;
  position: absolute;
  left: -17px;
  top: 50%;
  display: block;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.company_highlight_history ._list dl:after {
  content: "";
  background: #E31E23;
  width: 13px;
  height: 13px;
  position: absolute;
  left: -30px;
  top: 50%;
  display: block;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
}
.company_highlight_history ._list dt {
  width: 58px;
  line-height: 1.4;
  letter-spacing: 0;
  font-weight: 500;
  font-size: 18px;
  color: #E31E23;
}
.company_highlight_history ._list dt._2011 {
  letter-spacing: 0.1em;
}
.company_highlight_history ._list dd {
  width: calc(100% - 58px);
  font-size: 16px;
}
.company_highlight_history ._last_border {
  background: #F6F6F6;
  width: 6px;
  position: absolute;
  height: calc(100% - 30px);
  left: -26px;
  bottom: 0;
}

.company_access_column {
  margin-top: 72px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
/*  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;*/
}
.company_access_column ._img {
  width: 54.76%;
}
.company_access_column ._img img {
  width: 100%;
}
.company_access_column ._text {
  width: 40.49%;
}
.company_access_column ._info {
  margin-top: 8px;
  border-top: 1px #EFEFEF solid;
  color: #222020;
}
.company_access_column ._info ._sec {
  padding: 12px 0;
  border-bottom: 1px #EFEFEF solid;
}
.company_access_column ._info ._sec p {
  display: inline-block;
}
.company_access_column ._info ._sec p:nth-child(1) {
  margin-right: 12px;
}
.company_access_column ._info ._sec a {
  color: #222020;
}
.company_access_column ._info dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.company_access_column ._info dl dt {
  width: 65px;
}
.company_access_column ._info dl dd {
  width: calc(100% - 65px);
}

.company_access_map {
  width: 100%;
  height: 450px;
  margin-top: 80px;
}

/* #news　お知らせ
=========================================== */
.news .all_sub_fv .all_border_title ._main {
  padding-right: 0.05em;
}

.news_tab_list {
  background: rgba(237, 237, 237, 0.5);
  padding: 37px 55px 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.news_tab_list li {
  margin-top: 8px;
  margin-right: 15px;
}
.news_tab_list li:last-child {
  margin-right: 0;
}
.news_tab_list a {
  background: #fff;
  padding: 5px 20px;
  display: block;
  border: 1px rgba(34, 32, 32, 0.3) solid;
  border-radius: 15px;
  letter-spacing: 0.5px;
  font-weight: 700;
  font-size: 12px;
  color: #808080;
}
.news_tab_list a._on {
  background: #E31E23;
  border-color: #E31E23;
  color: #fff;
}

.news_list {
  border-top: 1px rgba(34, 32, 32, 0.1) solid;
}

.news_page_navi {
  margin-top: 100px;
  padding-bottom: 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.news_page_navi ._list,
.news_page_navi .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.news_page_navi ._list li,
.news_page_navi .page-numbers li {
  margin-right: 30px;
}
.news_page_navi ._list li ._carrent,
.news_page_navi ._list li .current,
.news_page_navi .page-numbers li ._carrent,
.news_page_navi .page-numbers li .current {
  background: #E31E23;
  width: 48px;
  height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px #E31E23 solid;
  border-radius: 50%;
  letter-spacing: -0.06em;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  color: #fff;
}
.news_page_navi ._list li a,
.news_page_navi .page-numbers li a {
  width: 48px;
  height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px rgba(34, 32, 32, 0.3) solid;
  border-radius: 50%;
  letter-spacing: -0.06em;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  color: #222020;
}
.news_page_navi ._list li:last-child,
.news_page_navi .page-numbers li:last-child {
  margin-right: 0;
}
.news_page_navi ._list ._omit,
.news_page_navi .page-numbers ._omit {
  margin: 0 25px 0 -5px;
}
.news_page_navi ._button {
  width: 60px;
}
.news_page_navi ._button a {
  position: relative;
  display: none;
  font-weight: 500;
  font-size: 15px;
  color: #222020;
}
.news_page_navi ._button._back a {
  padding-left: 15px;
}
.news_page_navi ._button._back a:after {
  content: "";
  background: url(../images/news_page_navi_back_arrow.svg) no-repeat center/5px 10px;
  width: 5px;
  height: 10px;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.news_page_navi ._button._next a {
  padding-right: 15px;
}
.news_page_navi ._button._next a:after {
  content: "";
  background: url(../images/news_page_navi_next_arrow.svg) no-repeat center/5px 10px;
  width: 5px;
  height: 10px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.news_page_navi ._list_back a {
  background: #FFF;
  width: 190px;
  height: 44px;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px rgba(34, 32, 32, 0.3) solid;
  border-radius: 22px;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  color: #222020;
}
.news_page_navi ._list_back a._hover {
  background: #222020;
  opacity: 1;
  color: #fff;
}

.article .news_page_navi ._button a {
  display: block;
}

ul.page-numbers .prev, ul.page-numbers .next {
  width: 0 !important;
  height: 0 !important;
  border: none !important;
  margin: 0 !important;
  min-width: auto;
  text-indent: -9999px;
}

.news .all_news_list {
  margin-top: 80px;
  border-top: 1px #EFEFEF solid;
}
.news .all_news_list ._category {
  width: 145px;
}
.news .all_news_list ._category ._block {
  border-color: #E31E23;
  font-weight: 700;
  color: #E31E23;
}
.news .all_news_list time {
  letter-spacing: 0;
  opacity: 0.5;
}
.news .all_news_list ._title {
  width: calc(100% - 310px);
}

/* #article　記事
=========================================== */
.article .all_sub_fv .all_border_title ._main {
  padding-right: 0.05em;
}

.article_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.article_head ._category {
  height: 28px;
  margin-right: 20px;
  padding: 0 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px #E31E23 solid;
  border-radius: 14px;
  font-weight: 700;
  font-size: 12px;
  color: #E31E23;
}
.article_head time {
  font-weight: 400;
  font-size: 14px;
  color: #222020;
  opacity: 0.5;
}

.article_title {
  margin: 10px 0 0;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 32px;
  color: #222020;
}

.article_content {
  margin: 65px 0 0;
}
.article_content > * 　 {
  clear: both;
}
.article_content > :nth-child(1) {
  margin-top: 0;
}
.article_content h2 {
  margin: 70px 0 0;
  padding-left: 18px;
  position: relative;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 24px;
  color: #222020;
}
.article_content h2:after {
  content: "";
  background: #E31E23;
  width: 4px;
  height: calc(100% - 0.5em);
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.article_content h2 + p {
  margin: 25px 0 0;
}
.article_content h3 {
  margin: 70px 0 0;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 20px;
  color: #222020;
}
.article_content h3 + p {
  margin: 25px 0 0;
}
.article_content p {
  margin: 15px 0 0;
  line-height: 2.13;
  font-size: 15px;
}
.article_content p a {
  text-decoration: underline;
  font-weight: 700;
  color: #E31E23;
}
.article_content ul {
  margin: 75px 0 0;
}
.article_content ul li {
  padding: 0 0 0 22px;
  position: relative;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 15px;
}
.article_content ul li:after {
  content: "";
  background: #E31E23;
  width: 8px;
  height: 8px;
  position: absolute;
  left: 0;
  top: calc(0.75em - 4px);
  display: block;
  border-radius: 50%;
}
.article_content ul li:nth-child(n+2) {
  margin: 15px 0 0;
}
.article_content .wp-block-image {
  margin: 50px 0 0;
}
.article_content .wp-block-image img {
  max-width: 100%;
  height: auto;
}
.article_content .wp-block-image figcaption {
  margin: 15px 0 0;
  display: block;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 14px;
  color: #B1B1B1;
}
.article_content .wp-block-image.size-full img {
  width: 100%;
}
.article_content .wp-block-gallery {
  margin: 70px 0 0;
}
.article_content .wp-block-gallery li {
  padding: 0;
}
.article_content .wp-block-gallery li:after {
  display: none;
}
.article_content .wp-block-gallery li:nth-child(n+2) {
  margin: 0;
}
.article_content .blocks-gallery-grid .blocks-gallery-item figcaption {
  display: none;
}
.article_content .wp-block-buttons {
  margin: 60px 0 0;
}
.article_content .wp-block-buttons .wp-block-button {
  position: relative;
  border: 1px #E31E23 solid;
  border-radius: 30px;
}
.article_content .wp-block-buttons .wp-block-button:before {
  background: #fff;
  content: "";
  width: calc(100% + 2px);
  height: 10px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-2deg);
          transform: translate(-50%, -50%) rotate(-2deg);
}
.article_content .wp-block-buttons .wp-block-button__link {
  background: none;
  width: 200px;
  height: 60px;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  color: #E31E23;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.article_content .wp-block-buttons .wp-block-button__link[href$=".pdf"] {
  padding: 0 55px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.article_content .wp-block-buttons .wp-block-button__link[href$=".pdf"]:after {
  content: "";
  background: url(../images/all_button_pdf_red.svg) no-repeat center/20px 22px;
  width: 20px;
  height: 22px;
  position: absolute;
  right: 22px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.article_content .wp-block-buttons .wp-block-button__link._hover {
  background: #E31E23;
  opacity: 1;
  color: #fff;
}
.article_content .wp-block-button:before {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.article_content .wp-block-button:hover:before {
  opacity: 0;
}

.article .news_page_navi {
  margin-top: 80px;
  padding-bottom: 0;
}

/* #contact　お問い合わせ
=========================================== */
.contact .all_sub_fv .all_border_title ._main {
  padding-right: 0.05em;
}

.contact_flow {
  width: 100%;
  max-width: 410px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.contact_flow:before {
  content: "";
  background: #E7E7E7;
  width: calc(100% - 70px);
  height: 2px;
  position: absolute;
  left: 50%;
  top: 7px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
}
.contact_flow li {
  padding-top: 40px;
  position: relative;
  z-index: 2;
  line-height: 1;
}
.contact_flow li:after {
  content: "";
  background: #FFF;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  border: 1px #808080 solid;
  border-radius: 50%;
}
.contact_flow span {
  letter-spacing: 0.02em;
  font-weight: 700;
  font-size: 16px;
  color: #222020;
  opacity: 0.5;
}
.contact_flow ._current:after {
  background: #E31E23;
  border-color: #E31E23;
}
.contact_flow ._current span {
  color: #E31E23;
  opacity: 1;
}
.contact_flow + .all_text {
  margin: 80px 0 0;
}

.contact_table {
  width: 100%;
  margin: 48px 0 0;
}
.contact_table th {
  width: 260px;
  min-width: 260px;
  padding: 40px 0;
  vertical-align: top;
}
.contact_table th p {
  position: relative;
}
.contact_table th p ._require {
  position: absolute;
  left: 0;
  top: -18px;
  font-weight: 700;
  font-size: 13px;
  color: #E31E23;
}
.contact_table ._no_box th {
  padding: 25px 0;
}
.contact_table td {
  padding: 25px 0;
  vertical-align: top;
  font-weight: 700;
}
.contact_table input[type=text] {
  width: 100%;
  padding: 17px 25px;
  display: block;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px rgba(34, 32, 32, 0.1) solid;
  font-weight: 700;
  color: #222020;
}
.contact_table input[type=text]:focus {
  border: 1px #E31E23 solid;
  outline: 0;
}
.contact_table *::-webkit-input-placeholder {
  color: #222020;
  opacity: 0.3;
}
.contact_table *::-moz-placeholder {
  color: #222020;
  opacity: 0.3;
}
.contact_table *:-ms-input-placeholder {
  color: #222020;
  opacity: 0.3;
}
.contact_table *::-ms-input-placeholder {
  color: #222020;
  opacity: 0.3;
}
.contact_table *::placeholder {
  color: #222020;
  opacity: 0.3;
}
.contact_table label {
  position: relative;
  display: block;
  line-height: 2;
}
.contact_table label span {
  padding-left: 40px;
  position: relative;
  display: inline-block;
}
.contact_table label input[type=radio] ~ span:before {
  content: "";
  background: #E31E23;
  width: 12px;
  height: 12px;
  position: absolute;
  left: 4px;
  top: 1em;
  z-index: 2;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  border-radius: 50%;
  opacity: 0;
}
.contact_table label input[type=radio] ~ span:after {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  border: 1px #CDD6DD solid;
  border-radius: 50%;
}
.contact_table label input[type=checkbox] ~ span:before {
  content: "";
  width: 7px;
  height: 11px;
  position: absolute;
  left: 6.5px;
  top: calc(1em - 2px);
  border-bottom: 1.5px #E31E23 solid;
  border-right: 1.5px #E31E23 solid;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  display: block;
  opacity: 0;
}
.contact_table label input[type=checkbox] ~ span:after {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  border: 1px rgba(34, 32, 32, 0.1) solid;
  border-radius: 2px;
}
.contact_table label input {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}
.contact_table label input:checked ~ span:before {
  opacity: 1;
}
.contact_table ._select {
  position: relative;
  border: 1px rgba(34, 32, 32, 0.1) solid;
}
.contact_table ._select:after {
  content: "";
  background: url(../images/contact_table_select_arrow.svg) no-repeat center/12px 7px;
  width: 12px;
  height: 7px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
}
.contact_table ._select select {
  background: none transparent;
  width: calc(100% + 50px);
  height: 60px;
  margin: 0;
  padding: 17px 25px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border-radius: 0;
  border: 0;
  font-weight: 700;
  outline: none;
  color: #222020;
  opacity: 0.3;
}
.contact_table textarea {
  width: 100%;
  height: 180px;
  padding: 17px 25px;
  display: block;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px rgba(34, 32, 32, 0.1) solid;
  font-weight: 500;
  resize: vertical;
}
.contact_table textarea:focus {
  border: 1px #E31E23 solid;
  outline: 0;
}
.contact_table ._has_privacy label {
  margin: 6px 0 0;
}
.contact_table ._has_privacy span {
  padding-left: 32px;
  font-weight: 700;
  font-size: 14px;
}
.contact_table ._has_privacy span a {
  font-weight: 700;
}

.contact .mw_wp_form .horizontal-item {
  display: block;
  font-size: 15px;
  color: #1A1A1A;
}
.contact .mw_wp_form .horizontal-item + .horizontal-item {
  margin: 5px 0 0;
}

.contact_agree_btn + span {
  cursor: pointer;
}

.contact_button {
  margin: 50px 0 0;
}
.contact_button .all_button {
  margin: 0 auto;
  padding: 0;
}
.contact_button .all_button::after {
  pointer-events: none;
}
.contact_button .all_button._hover input {
  color: #fff;
}
.contact_button input {
  background: transparent;
  width: 100%;
  height: 100%;
  padding: 0 50px 0 30px;
  border: none;
  line-height: 60px;
  font-weight: 700;
  font-size: 16px;
  color: #E31E23;
  cursor: pointer;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.contact_button.disabled .all_button {
  opacity: 0.5;
  pointer-events: none;
}

.confirm .contact_table {
  max-width: 540px;
  margin: 60px auto 0;
}
.confirm .contact_table th {
  padding: 25px 0;
}
.confirm .contact_table ._select {
  border: none;
  font-weight: 700;
}
.confirm .contact_table ._select:after {
  display: none;
}

.contact_confirm_back {
  margin: 44px 0 0;
  text-align: center;
  display: none;
}
.contact_confirm_back input {
  background: transparent;
  text-decoration: underline;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

.confirm .contact_confirm_back {
  display: block;
}

.contact_thanks_copy {
  margin: 90px 0 0;
  text-align: center;
}

.contact_thanks_back {
  margin: 65px 0 0;
  text-align: center;
}

/* #privacy　プライバシーポリシー
=========================================== */
.privacy .all_sub_fv .all_border_title ._main {
  padding-right: 0.05em;
}

.privacy_list li + li {
  margin: 65px 0 0;
}
.privacy_list ._title {
  padding-left: 32px;
  position: relative;
  font-weight: 700;
  font-size: 20px;
  color: #222020;
}
.privacy_list ._title + .all_text_small {
  margin: 25px 0 0;
}
.privacy_list ._number {
  position: absolute;
  left: 0;
  top: 0;
  font-weight: inherit;
}
.privacy_list .all_text_small {
  color: #1a1a1a;
}

/* #footer フッター
=========================================== */
#footer {
  padding: 115px 0 55px;
}
#footer .content {
  max-width: 1240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.footer_left {
  width: 35%;
}
.footer_left ._logo img {
  width: 210px;
}
.footer_left ._logo span {
  margin: 12px 0 0;
  display: block;
  letter-spacing: 2px;
  font-weight: 400;
  font-size: 16px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
  color: #222020;
}
.footer_left ._address {
  margin: 30px 0 0;
}
.footer_left ._address address {
  letter-spacing: 0.8px;
  font-size: 15px;
  color: #222020;
}
.footer_left ._address address p {
  letter-spacing: inherit;
}
.footer_left ._address address p:nth-child(n+2) {
  margin: 10px 0 0;
}
.footer_left ._address address a {
  text-decoration: underline;
  letter-spacing: inherit;
  color: #222020;
}
.footer_left ._privacy {
  margin: 22px 0 0;
}
.footer_left ._privacy a {
  font-size: 15px;
  color: #808080;
}
.footer_left ._copyright {
  margin: 8px 0 0;
}
.footer_left ._copyright small {
  font-size: 12px;
  color: #808080;
}

.footer_right {
  width: 65%;
}
.footer_right ._list {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer_right ._list > li {
  padding-right: 10px;
}
.footer_right ._title a {
  display: inline-block;
  font-weight: 700;
  font-size: 16px;
  color: #222020;
}
.footer_right ._title + ._title {
  margin: 15px 0 0;
}
.footer_right ._list_sub {
  margin: 15px 0 0;
}
.footer_right ._list_sub li + li {
  margin: 6px 0 0;
}
.footer_right ._list_sub a {
  padding: 0 0 0 15px;
  position: relative;
  display: inline-block;
  line-height: 1.5;
  letter-spacing: 0.8px;
  font-size: 15px;
  color: #222020;
}
.footer_right ._list_sub a:after {
  content: "";
  background: #E31E23;
  width: 6px;
  height: 6px;
  position: absolute;
  left: 0;
  top: 0.75em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  border-radius: 50%;
}

.footer_bottom {
  margin-top: 75px;
  padding: 18px 0 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1px rgba(112, 112, 112, 0.3) solid;
}
.footer_bottom ._copyright small {
  font-size: 15px;
  color: #808080;
}
.footer_bottom ._privacy a {
  font-size: 15px;
  color: #808080;
}
._logo img{
	width:210px;
}