@charset "UTF-8";
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  margin: 0;
  padding: 0;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  background: #fff;
  margin: 0;
  padding: 0;
  color: #333;
  height: 100%;
  line-height: normal;
  position: relative;
}

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

img {
  vertical-align: top;
  image-rendering: -webkit-optimize-contrast;
}

.bold {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
}

.min {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: normal;
}

*:focus {
  outline: none;
}

.img100 {
  width: 100%;
  height: auto;
}

a {
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  text-decoration: none;
  color: #222;
}
@media screen and (min-width: 960px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}

label,
input,
textarea,
select {
  -webkit-tap-highlight-color: transparent;
}

input[type=submit], input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]:focus, input[type=button]:focus {
  outline-offset: -2px;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #b3b3b3;
  font-size: 1.5rem;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #b3b3b3;
  font-size: 1.5rem;
}

input::placeholder, input:-ms-input-placeholder, input::-ms-input-placeholder,
textarea::placeholder,
textarea:-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #b3b3b3;
  font-size: 1.5rem;
}
input[type=text],
textarea[type=text] {
  border-radius: 0;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url(../img/select.svg) calc(100% - 1rem) 50% no-repeat #fff;
}
@media screen and (min-width: 960px) {
  select {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    background: #fff;
  }
}

@media screen and (min-width: 960px) {
  .pc_off {
    display: none;
  }
}

.sp_off {
  display: none;
}
@media screen and (min-width: 960px) {
  .sp_off {
    display: block;
  }
}

.red {
  color: #ff0000;
}

@media screen and (min-width: 960px) {
  .hv {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .hv:hover {
    opacity: 0.7;
  }
}

/* header */
header {
  width: 100%;
  margin: 0 auto;
  height: 52px;
  position: fixed;
  z-index: 999;
  background: #fff;
}
@media screen and (min-width: 960px) {
  header {
    background: rgba(255, 255, 255, 0.9);
    position: fixed;
    height: 115px;
  }
}
@media screen and (min-width: 960px) {
  header .header {
    width: 100%;
    max-width: 1280px;
    height: 115px;
    padding: 0 20px;
    margin: 0 auto;
    position: relative;
  }
}
header h1.logo {
  position: absolute;
  top: 8px;
  left: 3%;
  width: 200px;
}
@media screen and (min-width: 960px) {
  header h1.logo {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 20px;
    width: 300px;
  }
}
header h1.logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header h1.logo a img {
  width: 20rem;
}
@media screen and (min-width: 960px) {
  header h1.logo a img {
    width: auto;
  }
}
header h1.logo a strong {
  font-size: 1.4rem;
}
@media screen and (min-width: 960px) {
  header h1.logo a strong {
    font-size: 2rem;
  }
}
header .header_navi {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 52px;
  left: 0;
  width: 100%;
  min-height: calc(100vh - 52px);
  min-height: calc(100dvh - 52px);
  padding: 10px 0 20px;
  background: #fff;
}
@media screen and (min-width: 960px) {
  header .header_navi {
    display: block;
    position: absolute;
    left: auto;
    right: 20px;
    top: auto;
    bottom: 24px;
    width: auto;
    min-height: auto;
    padding: 0;
    background: none;
  }
}
header .global_navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1.4;
  font-size: 1.4rem;
}
@media screen and (min-width: 960px) {
  header .global_navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    line-height: 1.4;
    font-size: 1.6rem;
  }
}
header .global_navi a {
  color: #4d4d4d;
}
header .global_navi > li {
  width: 50%;
  padding: 0.7em 18px;
}
@media screen and (min-width: 960px) {
  header .global_navi > li {
    width: auto;
    padding: 0 25px;
    border-right: solid 1px #4d4d4d;
  }
}
@media screen and (min-width: 960px) {
  header .global_navi > li.nav_pc_last {
    padding-right: 0;
    border-right: none;
  }
}
header .global_navi > li.corporate_top {
  width: 100%;
}
header .global_navi > li.corporate_top a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 5px;
  padding: 0.7em 18px;
  border: 1px solid #4d4d4d;
}
header .global_navi > li.corporate_top a::after {
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../img/icon_window.svg);
          mask-image: url(../img/icon_window.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #4d4d4d;
}
header .global_navi > li > ul > li {
  margin-top: 4px;
  margin-left: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header .global_navi > li > ul > li::before {
  content: "";
  width: 4px;
  height: 4px;
  margin-top: 0.5em;
  margin-right: 4px;
  background: #4d4d4d;
  border-radius: 50%;
}
@media screen and (min-width: 960px) {
  header .header_contact {
    width: 236px;
    height: 44px;
    background: #3eb3d3;
    position: absolute;
    top: 0;
    right: 20px;
    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;
    color: #fff;
    line-height: 1;
  }
  header .header_contact img {
    width: 42px;
    height: auto;
    margin-right: 20px;
  }
}
header #hbg {
  width: 52px;
  height: 52px;
  background: #3eb3d3;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (min-width: 960px) {
  header #hbg {
    display: none;
  }
}
header #hbg span {
  display: block;
  width: 24px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: calc(50% - 1px);
  left: 14px;
  -webkit-transition: 0.1s;
  transition: 0.1s;
}
header #hbg span::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  top: -9px;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
header #hbg span::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 9px;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
header #hbg.close span {
  background: #3eb3d3;
}
header #hbg.close span::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 0;
}
header #hbg.close span::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 0;
}
header .instagram-link {
  width: 32px;
  height: 44px;
  position: absolute;
  top: 4px;
  right: 70px;
  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;
  line-height: 1;
}
@media screen and (min-width: 960px) {
  header .instagram-link {
    top: 2px;
    right: 270px;
  }
}
header .instagram-link img {
  width: 100%;
  height: auto;
}

/* footer */
footer {
  position: sticky;
  top: 100vh;
  line-height: 1;
  z-index: 1;
}
footer .footer_contact {
  background: #f7931e;
  position: fixed;
  bottom: 0;
  width: 100%;
  padding: 15px 3% 20px;
}
@media screen and (min-width: 960px) {
  footer .footer_contact {
    position: static;
    padding: 50px 0 60px;
  }
}
footer .footer_contact > p {
  text-align: center;
  color: #fff;
  font-size: 1.5rem;
}
@media screen and (min-width: 960px) {
  footer .footer_contact > p {
    font-size: 2.6rem;
  }
}
footer .footer_contact > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 15px;
}
@media screen and (min-width: 960px) {
  footer .footer_contact > ul {
    margin: 48px auto 0;
    max-width: 1066px;
    padding: 0 20px;
  }
}
footer .footer_contact > ul > li {
  width: 48.5%;
  border: solid 1px #fff;
}
@media screen and (min-width: 960px) {
  footer .footer_contact > ul > li {
    max-width: 460px;
    background: #fff;
  }
}
footer .footer_contact > ul > li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 10px 10px 8px;
  position: relative;
}
@media screen and (min-width: 960px) {
  footer .footer_contact > ul > li a {
    padding: 12px 20px 20px;
    background: #f7931e;
  }
}
footer .footer_contact > ul > li a img {
  width: 34px;
  height: auto;
}
@media screen and (min-width: 960px) {
  footer .footer_contact > ul > li a img {
    width: 68px;
    height: auto;
  }
}
footer .footer_contact > ul > li p {
  color: #fff;
  font-size: 1.4rem;
}
footer .footer_contact_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: calc(100% - 34px);
  min-height: 34px;
}
@media screen and (min-width: 960px) {
  footer .footer_contact_right {
    min-height: auto;
    max-width: calc(100% - 68px);
    height: 68px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 960px) {
  footer .footer_contact_headoffice {
    font-size: 1.8rem;
  }
}
footer .footer_contact_tel {
  font-size: 1.4rem;
  padding-left: 10px;
  padding-top: 3px;
}
@media screen and (min-width: 960px) {
  footer .footer_contact_tel {
    padding-left: 0;
    font-size: 3.2rem;
    line-height: 1.6;
  }
}
footer .footer_contact_toform {
  font-size: 1.3rem;
  padding-left: 10px;
}
@media screen and (min-width: 960px) {
  footer .footer_contact_toform {
    font-size: 2.2rem;
    padding-left: 12px;
  }
}
footer .footer_contact_hour {
  font-size: 1.2rem;
  text-align: center;
  width: 100%;
  margin-top: 6px;
  line-height: 1.3;
}
@media screen and (min-width: 960px) {
  footer .footer_contact_hour {
    font-size: 1.6rem;
    line-height: 1;
    margin-top: 12px;
  }
}
footer .footer {
  background: #0c123c;
  padding: 48px 0 42px;
}
footer .footer_logo {
  width: 100%;
  max-width: 1280px;
  padding: 0 20px;
  margin: 0 auto;
}
footer .footer_logo a {
  width: 300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem 0;
}
footer .footer_logo a img {
  width: auto;
}
footer .footer_logo a strong {
  color: #fff;
  font-size: 2rem;
}
footer .footer_navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  max-width: 1280px;
  padding: 0 20px;
  margin: 30px auto 0;
  font-size: 1.25rem;
}
@media screen and (min-width: 1030px) {
  footer .footer_navi {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1090px) {
  footer .footer_navi {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1150px) {
  footer .footer_navi {
    font-size: 1.6rem;
  }
}
footer .footer_navi a {
  color: #fff;
}
footer .footer_navi > li {
  margin-right: 1.2em;
}
footer .footer_navi > li:last-child {
  margin-right: 0;
}
footer .footer_navi > li.no_child {
  border-bottom: solid 1px #fff;
  padding-bottom: 3px;
}
footer .footer_navi > li > a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 1;
}
footer .footer_navi > li > a::before {
  content: "";
  display: block;
  width: 11px;
  height: 12px;
  background: url(../img/footer_arrow.svg) no-repeat;
  background-size: cover;
  margin-top: 1px;
  margin-right: 5px;
}
footer .footer_navi > li ul {
  border-top: solid 1px #fff;
  margin-top: 3px;
  padding-top: 0.6em;
}
footer .footer_navi > li ul > li {
  line-height: 2;
  margin-left: 6px;
  margin-right: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
footer .footer_navi > li ul > li::before {
  content: "";
  width: 4px;
  height: 4px;
  margin-top: 0.85em;
  margin-right: 4px;
  background: #fff;
  border-radius: 50%;
}
footer .suetsugu_banner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 80px auto 0;
}
footer .suetsugu_banner a {
  display: block;
  background-color: #202863;
  padding: 1.5rem 4rem;
}
footer .suetsugu_banner a p {
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5rem;
}
footer .suetsugu_banner a p::after {
  content: "";
  width: 0.8em;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../img/icon_window.svg);
          mask-image: url(../img/icon_window.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #fff;
}
footer .copyright {
  line-height: 1;
  padding: 0.8em 0;
  font-size: 1.3rem;
  text-align: center;
}

main {
  padding-top: 52px;
}
@media screen and (min-width: 960px) {
  main {
    padding-top: 0;
  }
}

.page_top {
  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;
  width: 42px;
  height: 50px;
  background: rgba(62, 179, 211, 0.8);
  position: absolute;
  right: 3%;
  top: -50px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
@media screen and (min-width: 960px) {
  .page_top {
    width: 70px;
    height: 70px;
    position: fixed;
    right: 50px;
    top: auto;
    bottom: 50px;
  }
}
@media screen and (min-width: 960px) {
  .page_top.absolute {
    position: absolute;
    top: -100px;
    bottom: auto;
  }
}
.page_top.active {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 960px) {
  .page_top > span {
    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;
    width: 100%;
    height: 100%;
  }
}
.page_top img {
  width: 24px;
  height: auto;
}
@media screen and (min-width: 960px) {
  .page_top img {
    width: 34px;
    height: auto;
  }
}

/* top */
.fv {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.fv > figure,
.fv > figure.fv_active {
  width: 100%;
  position: relative;
  z-index: 99;
}

.fv > figure:not(:first-child),
.fv > figure.fv_invisible {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.fv > figure img {
  width: 100%;
  height: auto;
}

.fv > figure.fv_zoom img {
  -webkit-transition: opacity 2s, -webkit-transform 7s linear;
  transition: opacity 2s, -webkit-transform 7s linear;
  transition: transform 7s linear, opacity 2s;
  transition: transform 7s linear, opacity 2s, -webkit-transform 7s linear;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.fv > figure.fv_delete img {
  opacity: 0;
}

.fv > p img {
  position: absolute;
  z-index: 100;
  top: 48%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 80%;
  max-width: 420px;
}

.top_news {
  padding-bottom: 15px;
}
.top_news_title {
  background: #3243a7;
  position: relative;
  padding: 1em 0;
}
.top_news_title > h1 {
  color: #fff;
  line-height: 1;
  text-align: center;
  font-size: 2rem;
}
.top_news_title > a {
  display: inline-block;
  position: absolute;
  right: 3%;
  top: 50%;
  background: #fff;
  font-size: 1.3rem;
  line-height: 1;
  padding: 0.5em 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top_news_list {
  width: 94%;
  margin: 0 auto;
}
.top_news_list > li {
  margin-top: 1em;
}
.top_news_list > li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.top_news_ymd {
  line-height: 1;
  margin-right: 1em;
}
.top_news_cat {
  line-height: 1;
  font-size: 1.3rem;
  color: #fff;
  padding: 6px 1em;
  margin-top: -5px;
}
.top_news_cat.cat_type1 {
  background: #3243a7;
}
.top_news_cat.cat_type2 {
  background: #666666;
}
.top_news_cat.cat_type3 {
  background: #3eb3d3;
}
.top_news_cat.cat_type4 {
  background: #ff766f;
}
.top_news_cat.cat_type5 {
  background: #72bf54;
}
.top_news_headline {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  margin-top: 3px;
  text-align: justify;
}

.top_strengths {
  height: 175px;
  background: url(../img/top/strengths.jpg) no-repeat;
  background-size: contain;
  position: relative;
}
.top_strengths::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, transparent 50px, #00a3b7 200px);
  position: absolute;
  top: 0;
  left: 0;
}
.top_strengths > p {
  text-align: center;
  font-size: 1.7rem;
  color: #fff;
  position: relative;
  padding-top: 24px;
}
.top_strengths > a {
  display: block;
  width: 70%;
  max-width: 300px;
  background: #fff;
  color: #00a99d;
  text-align: center;
  line-height: 1;
  padding: 0.5em 0;
  margin: 12px auto 0;
  position: relative;
}

.top_products {
  width: 94%;
  margin: 40px auto 0;
}
@media print, screen and (min-width: 960px) {
  .top_products {
    width: 100%;
    max-width: 1158px;
    padding: 0 20px;
    margin: 95px auto 0;
  }
}
.top_products_head {
  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;
}
.top_products_head h1 {
  font-size: 2rem;
  line-height: 1;
  color: #666666;
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .top_products_head h1 {
    font-size: 4.3rem;
  }
}
.top_products_head h1::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #4395a7;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
}
.top_products_head h1 span {
  background: #fff;
  padding-right: 0.5em;
}
@media print, screen and (min-width: 960px) {
  .top_products_head h1 span {
    padding-right: 30px;
  }
}
.top_products_head a {
  display: inline-block;
  white-space: nowrap;
  font-size: 1.3rem;
  line-height: 1;
  padding: 0.5em 1em;
  background: #3eb3d3;
  color: #fff;
  margin-left: 10px;
}
@media print, screen and (min-width: 960px) {
  .top_products_head a {
    font-size: 2.2rem;
    padding: 15px 120px;
    margin-left: 18px;
  }
}
.top_products ul {
  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;
}
@media print, screen and (min-width: 960px) {
  .top_products ul {
    margin-top: 10px;
  }
}
.top_products ul li {
  width: 48.5%;
  margin-top: 15px;
}
@media print, screen and (min-width: 960px) {
  .top_products ul li {
    width: 32%;
    max-width: 350px;
    margin-top: 32px;
    overflow: hidden;
  }
}
.top_products ul li a {
  display: block;
  position: relative;
}
.top_products ul li a img {
  width: 100%;
  height: auto;
}
@media print, screen and (min-width: 960px) {
  .top_products ul li a img {
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
}
.top_products ul li a:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.top_products ul li p {
  position: absolute;
  width: 100%;
  bottom: 0;
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1;
  padding: 0.6em 0;
}
@media print, screen and (min-width: 400px) {
  .top_products ul li p {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 960px) {
  .top_products ul li p {
    font-size: 2.2rem;
    padding: 20px 0;
  }
}

.top_company {
  background: #f2f2f2;
  margin-top: 40px;
}
.top_company > div {
  width: 90%;
  margin: 0 auto;
  padding: 20px 0;
}
.top_company h1 {
  color: #666;
  font-size: 2rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.top_company h1 a {
  color: #3eb3d3;
  font-size: 1.4rem;
  margin-left: 1em;
  margin-bottom: 1px;
}
.top_company ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
}
.top_company ul li {
  line-height: 1;
  border-left: solid 1px #333;
  padding: 0 1em;
  margin-top: 1em;
}
.top_company ul li:first-child {
  border: none;
  padding-left: 0;
}
.top_company img {
  width: 100%;
  height: auto;
}

.top_recruit {
  background: #f2f2f2;
  margin-top: 20px;
}

.top_recruit > div {
  width: 90%;
  margin: 0 auto;
  padding: 20px 0;
}

.top_recruit h1 {
  color: #666;
  font-size: 2rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.top_recruit h1 a {
  color: #3eb3d3;
  font-size: 1.4rem;
  margin-left: 1em;
  margin-bottom: 1px;
}

.top_recruit ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
}

.top_recruit ul li {
  line-height: 1;
  border-left: solid 1px #333;
  padding: 0 1em;
  margin-top: 1em;
}

.top_recruit ul li:first-child {
  border: none;
  padding-left: 0;
}

.top_recruit img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 960px) {
  .fv > p img {
    width: 65%;
    max-width: 857px;
  }
  .top_news {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #3243a7), color-stop(50%, #fff), to(#fff));
    background: linear-gradient(to right, #3243a7 50%, #fff 50%, #fff 100%);
    padding: 0;
  }
  .top_news_title {
    width: 320px;
    padding: 0 0 0 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .top_news_title > h1 {
    text-align: left;
    font-size: 4.5rem;
    margin-right: 38px;
  }
  .top_news_title > a {
    position: static;
    font-size: 1.9rem;
    padding: 0.8em 1em;
    -webkit-transform: none;
            transform: none;
  }
  .top_news_list {
    width: calc(100% - 320px);
    max-width: 960px;
    margin: 0;
    padding: 28px 20px 28px 32px;
    background: #fff;
  }
  .top_news_list > li {
    margin-top: 1em;
  }
  .top_news_list > li:first-child {
    margin-top: 0;
  }
  .top_news_list > li a {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .top_news_ymd {
    line-height: 1.4;
    margin-right: 0;
    margin-top: 4px;
    font-size: 2.2rem;
    width: auto;
    padding-right: 1em;
    white-space: nowrap;
  }
  .top_news_cat {
    line-height: 1.4;
    font-size: 1.6rem;
    padding: 8px 0.5em 6px;
    min-width: 6.5em;
    text-align: center;
    margin-top: 0;
    margin-right: 1em;
    white-space: nowrap;
  }
  .top_news_headline {
    line-height: 1.4;
    width: auto;
    font-size: 1.7rem;
    margin-top: 7px;
    margin-right: auto;
  }
  .top_strengths {
    height: 544px;
  }
  .top_strengths::before {
    background: linear-gradient(to right, transparent 200px, #00a3b7 720px);
  }
  .top_strengths > p {
    font-size: 3.8rem;
    padding-top: 144px;
  }
  .top_strengths > a {
    width: 620px;
    max-width: none;
    padding: 15px 0;
    margin: 95px auto 0;
    font-size: 2.2rem;
  }
  .top_company {
    margin: 96px auto 0;
    background: none;
    width: 100%;
    max-width: 1280px;
    padding: 0 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top_company > div {
    width: 50.646%;
    margin: 0;
    padding: 40px 0 0;
    background: #f2f2f2;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    position: relative;
  }
  .top_company h1 {
    font-size: 3.8rem;
  }
  .top_company h1 a {
    font-size: 2.2rem;
    margin-left: 1em;
    margin-bottom: 3px;
  }
  .top_company ul {
    margin-top: 0;
    position: absolute;
    bottom: 18%;
    left: 0;
    padding: 0 45px;
  }
  .top_company figure {
    width: 49.354%;
  }
  .top_recruit {
    margin: 16px auto 0;
    background: none;
    width: 100%;
    max-width: 1280px;
    padding: 0 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top_recruit > div {
    width: 40%;
    margin: 0;
    padding: 40px 0 0;
    background: #f2f2f2;
    position: relative;
  }
  .top_recruit h1 {
    font-size: 3.8rem;
  }
  .top_recruit h1 a {
    font-size: 2.2rem;
    margin-left: 1em;
    margin-bottom: 3px;
  }
  .top_recruit ul {
    margin-top: 0;
    position: absolute;
    bottom: 18%;
    left: 0;
    padding: 0 45px;
  }
  .top_recruit figure {
    width: 60%;
  }
}
/* contents */
.contents_head {
  width: 100%;
  height: 140px;
  background-size: cover;
  background-position: right;
  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;
}

.contents_head img {
  width: 200px;
  height: auto;
  position: absolute;
  top: 40%;
}

.contents_head img.position {
  position: absolute;
  top: 40%;
}

.pankuzu {
  width: 100%;
  margin: 0 auto;
  padding: 10px 3%;
  background: #f2f2f2;
}

.pankuzu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.pankuzu ul > li {
  font-size: 1.2rem;
  line-height: 1.3;
  white-space: nowrap;
}

.pankuzu ul > li::after {
  content: "＞";
  padding: 0 0.5em;
}

.pankuzu ul > li:last-child::after {
  display: none;
}

.ol_decimal {
  counter-reset: cnt;
}

.ol_decimal > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: justify;
}

.ol_decimal > li::before {
  counter-increment: cnt;
  content: counter(cnt) ".";
}

.ol_brackets {
  counter-reset: cnt;
}

.ol_brackets > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: justify;
}

.ol_brackets > li::before {
  counter-increment: cnt;
  content: "(" counter(cnt) ")";
}

.ul_dot > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: justify;
}

.ul_dot > li::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background: #333;
  border-radius: 50%;
  margin-top: 0.5em;
}

@media screen and (min-width: 960px) {
  .contents_head {
    width: 100%;
    height: 570px;
  }
  .contents_head img {
    width: 300px;
    height: auto;
    margin-top: 85px;
    position: absolute;
    top: 36%;
  }
  .contents_head img.position {
    position: absolute;
    top: 36%;
  }
  .pankuzu {
    padding: 20px 0;
  }
  .pankuzu ul {
    width: 100%;
    max-width: 1280px;
    padding: 0 20px;
    margin: 0 auto;
  }
  .pankuzu ul > li {
    font-size: 1.4rem;
  }
  .pankuzu ul > li::after {
    padding: 0 1em;
  }
}
/* products */
#products .contents_head {
  background-image: url(../img/products/head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

#products_bottle .contents_head {
  background-image: url(../img/products/bottle_head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

#products_material .contents_head {
  background-image: url(../img/products/material_head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

#products_detergent .contents_head {
  background-image: url(../img/products/detergent_head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

#products_package .contents_head {
  background-image: url(../img/products/package_head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

#products_spoon .contents_head {
  background-image: url(../img/products/spoon_head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

#products_other .contents_head {
  background-image: url(../img/products/other_head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

.products_intro {
  background: #00adf2;
  padding: 20px 3%;
}

.products_intro h2 {
  font-size: 2.2rem;
  color: #fff;
  text-align: center;
  line-height: 1.6;
}

.products_intro p {
  font-size: 1.5rem;
  color: #fff;
  line-height: 1.5;
  text-align: justify;
  margin-top: 15px;
}

.products_intro img {
  width: 100%;
  height: auto;
  margin-top: 20px;
}

.products_list {
  width: 94%;
  margin: 40px auto 0;
}

.products_list h1 {
  text-align: center;
  font-size: 2rem;
  line-height: 1;
  color: #3eb3d3;
}

.products_list h1 span {
  font-size: 1.2rem;
  color: #666666;
  display: block;
  margin-top: 5px;
}

.products_list ul {
  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;
}

.products_list ul > li {
  width: 48.5%;
  margin-top: 25px;
}

.products_list ul > li a img {
  width: 100%;
  height: auto;
}

.products_list ul > li a p {
  background: #3eb3d3;
  color: #fff;
  font-size: 1.3rem;
  line-height: 1;
  text-align: center;
  padding: 0.6em 0;
}

.products_list ul > li h2 {
  font-size: 1.6rem;
  line-height: 1.3;
  margin-top: 10px;
  border-bottom: solid 1px #3eb3d3;
  padding-bottom: 2px;
}

.products_list ul > li > p {
  font-size: 1.3rem;
  line-height: 1.4;
  text-align: justify;
  padding: 0.8em 0.5em 0;
}

.products_content {
  margin: 30px auto 0;
}

.products_content > h1 {
  text-align: center;
  font-size: 2rem;
  line-height: 1;
  color: #3eb3d3;
}

.products_content > h1 span {
  font-size: 1.2rem;
  color: #666666;
  display: block;
  margin-top: 5px;
}

.products_catch {
  width: 94%;
  margin: 25px auto 0;
  text-align: center;
  color: #344898;
  font-size: 1.5rem;
  line-height: 1.75;
}

.products_menu {
  width: 94%;
  margin: 25px auto 0;
  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;
}

.products_menu > li {
  width: 49%;
  font-size: 1.3rem;
  margin-top: 5px;
  background: #333;
}

.products_menu > li a {
  display: block;
  height: 100%;
  color: #fff;
  padding: 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;
}

.product_details {
  padding-top: 10px;
  margin-top: -10px;
}

.product_details > h2 {
  background: #333;
  color: #3eb3d3;
  text-align: center;
  line-height: 1.3;
  font-size: 1.8rem;
  margin-top: 60px;
  padding: 10px 3%;
  position: relative;
}

.product_details > h2 span {
  padding: 0 15px;
  background: #333;
  position: relative;
}

.product_details > h2::before {
  content: "";
  display: block;
  width: 94%;
  height: 1px;
  background: #3eb3d3;
  position: absolute;
  top: 50%;
  left: 3%;
}

.product_details_img {
  width: 94%;
  position: relative;
  margin: 40px auto 0;
}

.product_details_img_caption {
  margin-top: 80px;
}

.material_height {
  margin-top: 80px;
}

.product_details_img img {
  width: 100%;
  height: auto;
}

.product_details_img figcaption {
  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;
  width: 80px;
  height: 80px;
  background: #fff;
  border: solid 2px #B3B3B3;
  border-radius: 50%;
  font-size: 1.2rem;
  line-height: 1.3;
  color: #8e8fa0;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -65%);
          transform: translate(-50%, -65%);
  text-align: center;
}

.product_details_text {
  width: 94%;
  margin: 0 auto;
}

.product_details_text dt {
  color: #fff;
  background: #1a1a1a;
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0.8em 1.2em;
  margin-top: 20px;
}

.product_details_text dt span {
  letter-spacing: 1em;
  white-space: nowrap;
}

.product_details_text dt span::after {
  content: "";
  margin-left: -1em;
}

.product_details_text dt.product_details_text_blue {
  background-color: #344898;
}

.product_details_text dd {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: justify;
  margin-top: 10px;
}

.product_details_text dd.product_details_text_blue {
  color: #344898;
}

.product_track_record {
  margin: 40px auto 0;
  font-size: 1.7rem;
  line-height: 1;
  color: #3eb3d3;
  text-align: center;
  position: relative;
}

.product_track_record span {
  padding: 0 15px;
  background: #fff;
  position: relative;
}

.product_track_record::before {
  content: "";
  display: block;
  width: 94%;
  height: 1px;
  background: #3eb3d3;
  position: absolute;
  top: 50%;
  left: 3%;
}

.product_track_record_img {
  width: 94%;
  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;
  margin: 10px auto 0;
}

.product_track_record_img figure {
  width: 48.5%;
  margin-top: 12px;
}

.product_track_record_img figure img {
  width: 100%;
  height: auto;
}

ul.product_table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 94%;
  margin: 10px auto;
  visibility: hidden;
}

ul.product_table.product_table_visible {
  visibility: visible;
}

ul.product_table > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 33.3333333333%;
  margin-top: 10px;
}

ul.product_table > li h3 {
  background: #31458f;
  color: #fff;
  border: solid 1px #b3b3b3;
  font-size: 1.2rem;
  line-height: 1.3;
  padding: 28px 0.5em 28px;
  text-align: center;
  overflow-wrap: break-word;
  margin-left: -1px;
  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;
}

/* ul.product_table > li h3 {
	background: #31458f;
	color: #fff;
	border: solid 1px #b3b3b3;
	font-size: 1.2rem;
	line-height: 1.3;
	padding: 5px 0.5em 17px;
	text-align: center;
	overflow-wrap: break-word;
	margin-left: -1px;
}
ul.product_table > li h3.height {
	background: #31458f;
	color: #fff;
	border: solid 1px #b3b3b3;
	font-size: 1.2rem;
	line-height: 1.3;
	padding: 5px 0.5em 32px;
	text-align: center;
	overflow-wrap: break-word;
	margin-left: -1px;
} */
ul.product_table > li p.product_table_p1,
ul.product_table > li p.product_table_p2,
ul.product_table > li p.product_table_p3 {
  background: #e6e6e5;
  border: solid 1px #b3b3b3;
  font-size: 1.2rem;
  line-height: 1.3;
  padding: 5px 0.5em 6px;
  text-align: center;
  overflow-wrap: break-word;
  margin-left: -1px;
  margin-top: -1px;
}

.products_list ul > li a {
  display: block;
}

@media screen and (min-width: 960px) {
  .white_space {
    white-space: nowrap;
  }
  .products_intro {
    padding: 60px 20px 40px;
  }
  .products_intro h2 {
    font-size: 3.8rem;
    line-height: 1.76;
    padding-left: 0.8em;
  }
  .products_intro p {
    max-width: 750px;
    font-size: 1.8rem;
    line-height: 1.75;
    margin: 20px auto 0;
  }
  .products_intro img {
    display: block;
    max-width: 1004px;
    margin: 30px auto 0;
  }
  .products_list {
    width: 100%;
    max-width: 1280px;
    margin: 100px auto 0;
    padding: 0 20px;
  }
  .products_list h1 {
    font-size: 4.3rem;
  }
  .products_list h1 span {
    font-size: 1.8rem;
    margin-top: 10px;
  }
  .products_list ul {
    width: 100%;
    max-width: 1116px;
    margin: 15px auto 0;
  }
  .products_list ul > li {
    width: 47.5%;
    max-width: 530px;
    margin-top: 50px;
  }
  .products_list ul > li a {
    position: relative;
    display: block;
  }
  .products_list ul > li figure {
    display: block;
    overflow: hidden;
  }
  .products_list ul > li a img {
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .products_list ul > li a:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .products_list ul > li a p {
    width: 81.13%;
    max-width: 430px;
    font-size: 1.6rem;
    padding: 1em 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .products_list ul > li h2 {
    font-size: 2.5rem;
    margin-top: 45px;
  }
  .products_list ul > li > p {
    font-size: 1.6rem;
    line-height: 1.75;
    padding: 30px 0 0 20.3%;
  }
  .products_content {
    margin-top: 55px;
  }
  .products_content > h1 {
    font-size: 4.3rem;
  }
  .products_content > h1 span {
    font-size: 1.8rem;
    margin-top: 10px;
  }
  .products_catch {
    width: 100%;
    max-width: 1280px;
    margin: 45px auto 0;
    padding: 0 20px;
    font-size: 2.8rem;
  }
  .products_menu {
    width: 100%;
    max-width: 1180px;
    margin: 45px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .products_menu > li {
    width: 23.73%;
    font-size: 1.5rem;
    margin: 15px 0.635% 0;
  }
  .product_details {
    padding-top: 20px;
    margin-top: 80px;
    scroll-margin-top: 115px;
  }
  .product_details > h2 {
    font-size: 3.1rem;
    margin-top: 0;
    padding: 30px 20px;
  }
  .product_details > h2 span {
    padding: 0 34px;
  }
  .product_details > h2::before {
    width: calc(100% - 40px);
    max-width: 1120px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .product_details_img {
    width: calc(100% - 40px);
    max-width: 1120px;
    margin: 80px auto 0;
  }
  .product_details_img_caption {
    margin-top: 140px;
  }
  .material_height {
    margin-top: 140px;
  }
  .product_details_img figcaption {
    width: 148px;
    height: 148px;
    border: solid 3px #B3B3B3;
    font-size: 1.8rem;
    line-height: 1.6;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .product_details_text {
    width: calc(100% - 40px);
    max-width: 1120px;
    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;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .product_details_text dt {
    width: 134px;
    text-align: center;
    font-size: 1.6rem;
    padding: 30px 0;
    margin-top: 40px;
  }
  .product_details_text dd {
    width: calc(100% - 174px);
    font-size: 1.7rem;
    line-height: 1.75;
    margin-top: 40px;
  }
  .product_track_record {
    width: calc(100% - 40px);
    max-width: 1120px;
    margin: 80px auto 0;
    font-size: 3.1rem;
  }
  .product_track_record span {
    padding: 0 34px;
  }
  .product_track_record::before {
    width: 100%;
    left: 0;
  }
  .product_track_record_img {
    width: 100%;
    max-width: 980px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 20px auto 0;
    padding: 0 10px;
  }
  .product_track_record_img figure {
    width: 31.25%;
    margin: 2% 1.041% 0;
  }
  ul.product_table {
    width: calc(100% - 40px);
    max-width: 1120px;
    margin: 30px auto 0;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  ul.product_table > li {
    width: 50%;
    margin-top: 0;
  }
  ul.product_table > li h3 {
    font-size: 1.5rem;
    padding: 24px 0.5rem 24px;
  }
  /* ul.product_table > li h3 {
  	font-size: 1.5rem;
  	padding: 8px 0.5rem 23px;
  }
  ul.product_table > li h3.height {
  	font-size: 1.5rem;
  	padding: 8px 0.5rem 44px;
  } */
  ul.product_table > li p.product_table_p1,
  ul.product_table > li p.product_table_p2,
  ul.product_table > li p.product_table_p3 {
    font-size: 1.5rem;
    padding: 8px 0.5em;
  }
}
/* news */
#news .contents_head,
#news_article .contents_head {
  background-image: url(../img/news/head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

.news_area {
  margin: 30px auto 0;
}

.news_area > h1 {
  text-align: center;
  font-size: 2rem;
  line-height: 1;
  color: #3eb3d3;
}

.news_area > h1 span {
  font-size: 1.2rem;
  color: #666666;
  display: block;
  margin-top: 5px;
}

.news_list {
  width: 94%;
  border-top: solid 1px #333;
  margin: 30px auto 0;
  padding-top: 40px;
}

.news_list > li {
  border-top: dashed 1px #333;
  margin-top: 1em;
  padding-top: 1.5em;
}

.news_list > li:first-child {
  border: none;
  margin-top: 0;
  padding-top: 0;
}

.news_list > li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}

.news_list > li a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/news/list_arrow.svg) no-repeat;
  background-size: 10px;
  background-position: right center;
}

.news_list_ymd {
  line-height: 1;
  margin-right: 1em;
}

.news_list_cat {
  line-height: 1;
  font-size: 1.3rem;
  color: #fff;
  padding: 6px 1em;
  margin-top: -5px;
}
.news_list_cat.cat_type1 {
  background: #3243a7;
}
.news_list_cat.cat_type2 {
  background: #666666;
}
.news_list_cat.cat_type3 {
  background: #3eb3d3;
}
.news_list_cat.cat_type4 {
  background: #ff766f;
}
.news_list_cat.cat_type5 {
  background: #72bf54;
}

.news_list_headline {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  margin-top: 3px;
  padding-right: 24px;
  text-align: justify;
}

.pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 35px auto 0;
  padding-top: 20px;
  border-top: solid 1px #333;
  width: 94%;
}

.pager li {
  margin: 0.5em 0.5em 0;
}

.pager li a {
  display: block;
  width: 1em;
  height: 1.8em;
  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;
}

.pager li.current a {
  border-bottom: solid 2px #333;
}

.news_data {
  width: 94%;
  margin: 35px auto 0;
}

.news_data > h1 {
  font-size: 1.8rem;
  line-height: 1.6;
  border-bottom: solid 1px #333;
  padding-bottom: 5px;
}

.news_data_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 14px;
}

.news_data_ymd {
  line-height: 1;
  margin-right: 1em;
}

.news_data_cat {
  line-height: 1;
  font-size: 1.3rem;
  color: #fff;
  padding: 6px 1em;
  margin-top: -5px;
}
.news_data_cat.cat_type1 {
  background: #3243a7;
}
.news_data_cat.cat_type2 {
  background: #666666;
}
.news_data_cat.cat_type3 {
  background: #3eb3d3;
}
.news_data_cat.cat_type4 {
  background: #ff766f;
}
.news_data_cat.cat_type5 {
  background: #72bf54;
}

.news_data_text {
  margin-top: 24px;
  text-align: justify;
  font-size: 1.5rem;
  line-height: 1.65;
}

.news_data_text p + p {
  margin-top: 1em;
}

.news_data_image {
  margin-top: 10px;
}

.news_data_image figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: #999 solid 1px;
}

.news_data_image figure + figure {
  margin-top: 15px;
}

.news_data_image img {
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 4/3;
}

.to_newslist {
  display: block;
  width: 60%;
  margin: 50px auto 0;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1;
  color: #fff;
  background: #3eb3d3;
  padding: 1em 0;
}

.news_data_link ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 60px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.news_data_link ul li {
  font-weight: bold;
}

.news_data_link .news_data_link_date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.news_data_link_date_a_first {
  color: #00c4ff;
  -webkit-text-decoration: underline #00c4ff;
          text-decoration: underline #00c4ff;
}

.news_data_link_date_a_second {
  margin-right: 10px;
  color: #00c4ff;
  -webkit-text-decoration: underline #00c4ff;
          text-decoration: underline #00c4ff;
}

@media screen and (min-width: 960px) {
  .news_area {
    margin-top: 100px;
  }
  .news_area > h1 {
    font-size: 4.3rem;
  }
  .news_area > h1 span {
    font-size: 1.8rem;
    margin-top: 10px;
  }
  .news_list {
    width: 100%;
    max-width: 1240px;
    border-top: none;
    margin: 0 auto;
    padding: 0 20px;
  }
  .news_list::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin: 40px auto 90px;
    background: #333;
  }
  .news_list > li {
    margin: 1.5em 60px 0;
    padding-top: 1.8em;
    border-top: dashed 2px #333;
  }
  .news_list > li a::before {
    background-size: 16px;
    background-position: calc(100% - 23px) center;
  }
  .news_list_ymd {
    line-height: 1.4;
    font-size: 2.2rem;
    margin-right: 0;
    width: 145px;
  }
  .news_list_cat {
    line-height: 1.4;
    font-size: 1.7rem;
    padding: 8px 0.5em 6px;
    min-width: 6.5em;
    text-align: center;
  }
  .news_list_headline {
    font-size: 1.7rem;
    line-height: 1.53;
    margin-top: 14px;
    padding-right: 110px;
    padding-left: 145px;
  }
  .pager {
    margin: 0 auto;
    padding: 0 20px;
    border: none;
    width: 100%;
    max-width: 1240px;
  }
  .pager::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin: 80px auto 35px;
    background: #333;
  }
  .pager li {
    font-size: 2rem;
    margin: 0.5em 0.7em 0;
  }
  .pager li a {
    height: 1.8em;
  }
  .pager li.current a {
    border-bottom: solid 3px #333;
  }
  .news_data {
    width: 100%;
    max-width: 1280px;
    padding: 0 20px;
    margin: 90px auto 0;
  }
  .news_data > h1 {
    font-size: 3rem;
    line-height: 1.75;
    padding: 0 60px 12px;
  }
  .news_data_head {
    margin-top: 32px;
    padding-right: 60px;
  }
  .news_data_ymd {
    line-height: 1.4;
    font-size: 2.2rem;
    margin-right: 0;
    width: 145px;
  }
  .news_data_cat {
    line-height: 1.4;
    font-size: 1.7rem;
    padding: 8px 0.5em 6px;
    min-width: 6.5em;
    text-align: center;
  }
  .news_data_text {
    margin-top: 50px;
    padding: 0 60px;
    font-size: 1.7rem;
    margin-bottom: 20px;
  }
  .news_data_text p + p {
    margin-top: 1.5em;
  }
  .news_data_image {
    margin-top: 20px;
    padding: 0 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .news_data_text + .news_data_image {
    margin-top: 70px;
  }
  .news_data_image figure {
    width: 46.428%;
    border: #999 solid 1px;
  }
  .news_data_image figure + figure {
    margin-top: 0;
  }
  .news_data_image img {
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    aspect-ratio: 4/3;
  }
  .to_newslist {
    width: 420px;
    margin: 114px auto 0;
    font-size: 1.6rem;
    padding: 1.3em 0;
  }
}
@media screen and (max-width: 960px) {
  .news_data_link {
    margin: 20px 0;
  }
  .news_data_link ul {
    display: block;
    padding: 0px;
  }
  .news_data_link ul li:first-child {
    margin-bottom: 15px;
  }
}
/* strengths */
#strengths .contents_head {
  background-image: url(../img/strengths/head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

.strengths_intro {
  padding: 20px 3%;
  background: #005bc9 url(../img/strengths/intro.jpg) no-repeat right 0;
  background-size: cover;
}
@media print, screen and (min-width: 960px) {
  .strengths_intro {
    padding: 80px 0 0;
    height: 600px;
    background-size: contain;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.strengths_intro h1 {
  color: #fff;
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .strengths_intro h1 {
    font-size: 3.8rem;
    line-height: 1.76;
  }
}
.strengths_intro p {
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: justify;
  margin-top: 1.2em;
}
@media print, screen and (min-width: 960px) {
  .strengths_intro p {
    display: inline-block;
    font-size: 1.8rem;
    line-height: 1.75;
    width: 80%;
    max-width: 1024px;
    margin: 70px auto 0;
  }
}

.strengths_contents {
  width: 94%;
  margin: 40px auto 0;
}
@media print, screen and (min-width: 960px) {
  .strengths_contents {
    width: 100%;
    max-width: 1280px;
    padding: 0 20px;
    margin: 90px auto 0;
  }
}
.strengths_contents h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: #3eb3d3;
  font-size: 1.8rem;
  line-height: 1.3;
}
@media print, screen and (min-width: 960px) {
  .strengths_contents h2 {
    font-size: 3.5rem;
    line-height: 1;
  }
}
.strengths_contents h2 img {
  width: 26px;
  height: auto;
  margin-right: 12px;
}
@media print, screen and (min-width: 960px) {
  .strengths_contents h2 img {
    width: auto;
    height: 80px;
    margin-right: 24px;
  }
}
.strengths_contents p {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: justify;
}
@media print, screen and (min-width: 960px) {
  .strengths_contents p {
    font-size: 1.8rem;
    line-height: 1.75;
  }
}
.strengths_contents figure {
  margin-top: 12px;
}
@media print, screen and (min-width: 960px) {
  .strengths_contents figure {
    margin-top: 0;
  }
}
.strengths_contents figure img {
  width: 100%;
  height: auto;
}

.strengths_first,
.strengths_second_third {
  margin-top: 20px;
}

@media print, screen and (min-width: 960px) {
  .strengths_first {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 32px;
  }
}
@media print, screen and (min-width: 960px) {
  .strengths_first_left {
    width: 45.967%;
    padding-left: 80px;
  }
}
@media print, screen and (min-width: 960px) {
  .strengths_first_left figure {
    margin-top: 26px;
  }
}
@media print, screen and (min-width: 960px) {
  .strengths_first_right {
    margin-top: 8px;
    width: 50%;
  }
}
@media print, screen and (min-width: 960px) {
  .strengths_first_right figure + figure {
    margin-top: 30px;
  }
}

@media print, screen and (min-width: 960px) {
  .strengths_second_third {
    margin-top: 32px;
  }
}
@media print, screen and (min-width: 960px) {
  .strengths_second_third > p {
    padding-left: 80px;
  }
}
@media print, screen and (min-width: 960px) {
  .strengths_second_third figure {
    margin-top: 26px;
  }
}

@-webkit-keyframes strengths_scroll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes strengths_scroll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.strengths_products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin-top: 25px;
}
@media print, screen and (min-width: 960px) {
  .strengths_products {
    margin-top: 45px;
  }
}
.strengths_products_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: strengths_scroll 95s infinite linear 0.5s both;
          animation: strengths_scroll 95s infinite linear 0.5s both;
}
.strengths_products_list > li {
  width: 33.3333333333vw;
}
@media print, screen and (min-width: 960px) {
  .strengths_products_list > li {
    width: 20vw;
  }
}
.strengths_products_list > li > img {
  width: 95%;
  height: auto;
}

@media print, screen and (min-width: 960px) {
  .strengths_dl {
    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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 70px;
    margin-left: 80px;
  }
}
.strengths_dl dt {
  background: #0071bc;
  color: #fff;
  text-align: center;
  margin-top: 20px;
  padding: 10px 0;
  font-size: 1.4rem;
  line-height: 1.6;
}
@media print, screen and (min-width: 960px) {
  .strengths_dl dt {
    width: 42.58%;
    margin-top: 0;
    padding: 16px 0;
    font-size: 1.8rem;
    line-height: 1.75;
    border-radius: 100px 0 0 100px;
  }
}
.strengths_dl dd {
  text-align: justify;
  margin-top: 10px;
  font-size: 1.3rem;
  line-height: 1.6;
}
@media print, screen and (min-width: 960px) {
  .strengths_dl dd {
    width: 55.34%;
    margin-top: 0;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
@media print, screen and (min-width: 960px) {
  .strengths_dl dd + dt {
    margin-top: 46px;
  }
}
@media print, screen and (min-width: 960px) {
  .strengths_dl dd + dt + dd {
    margin-top: 46px;
  }
}

.strengths_contents .strengths_other {
  text-align: justify;
  margin-top: 30px;
  font-size: 1.3rem;
  line-height: 1.6;
}
@media print, screen and (min-width: 960px) {
  .strengths_contents .strengths_other {
    text-align: center;
    margin-top: 60px;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

/* company */
#company .contents_head {
  background-image: url(../img/company/head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

.company_message {
  padding-top: 52px;
  margin-top: -52px;
}

.company_message_area {
  padding: 25px 3%;
  background: #29abe2;
}

.company_message_area > h1 {
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.company_message_contens {
  margin-top: 20px;
}

.company_message_contens > figure img {
  width: 80%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.company_message_contens > div > h2 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  text-align: center;
  margin-top: 30px;
}

.company_message_contens > div > p {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.65;
  text-align: justify;
  margin-top: 1em;
}

.company_message_contens > div > p.company_message_sign {
  text-align: right;
  margin-top: 20px;
}

.company_message_contens > div > p.company_message_sign img {
  width: 60%;
  max-width: 300px;
}

.company_creed {
  width: 94%;
  margin: -12px auto 0;
  padding-top: 52px;
}

.company_creed > div {
  border: solid 1px #666666;
  padding: 25px;
}

.company_creed h1 {
  font-size: 2rem;
  line-height: 1;
  text-align: center;
}

.company_creed p {
  font-size: 1.5rem;
  line-height: 1.65;
  margin-top: 20px;
  text-align: justify;
}

.company_creed p.company_creed_sign {
  text-align: right;
}

.company_philosophy_policy {
  margin-top: 20px;
}

.company_philosophy,
.company_policy {
  padding-top: 52px;
  margin-top: -52px;
}

.company_philosophy > div {
  background: #f2f2f2;
  padding: 30px calc(3% + 25px);
}

.company_policy > div {
  background: #e6e6e6;
  padding: 30px calc(3% + 25px);
}

.company_philosophy_policy h1 {
  text-align: center;
  font-size: 2rem;
  line-height: 1;
}

.company_philosophy_policy p {
  font-size: 1.5rem;
  line-height: 1.65;
  text-align: justfy;
  margin-top: 20px;
}

.company_link_area {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px 5%;
}
@media print, screen and (min-width: 960px) {
  .company_link_area {
    margin-top: 120px;
  }
}
.company_link_area .link {
  width: 60%;
  max-width: 420px;
}
@media print, screen and (min-width: 768px) {
  .company_link_area .link {
    width: 45%;
  }
}
.company_link_area .link a {
  display: block;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  background: #3eb3d3;
  padding: 1em 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
  .company_link_area .link a {
    padding: 1.3em 0;
  }
}
.company_link_area .link a:hover {
  opacity: 0.7;
}

.company_history {
  padding: 72px 3% 0;
}

.company_history_table {
  margin-top: 40px;
  font-size: 1.4rem;
  line-height: 1.75;
}

.company_history_table > dt {
  padding: 10px 1em 0;
  border: solid 1px #333;
  border-bottom: none;
}

.company_history_table > dd {
  padding: 0 1em 10px;
  border: solid 1px #333;
  border-top: none;
  text-align: justify;
}

.company_history_table > dd + dt {
  margin-top: -1px;
}

@media screen and (min-width: 960px) {
  .company_message {
    padding-top: 0;
    margin-top: 0;
    scroll-margin-top: 115px;
  }
  .company_message_area {
    padding: 70px 0 100px;
  }
  .company_message_area > h1 {
    font-size: 4.8rem;
    line-height: 1.395;
  }
  .company_message_contens {
    margin-top: 40px;
    position: relative;
  }
  .company_message_contens > figure {
    width: 100%;
    max-width: 900px;
    position: absolute;
    top: 0;
    left: 46.875%;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  .company_message_contens > figure img {
    width: 100%;
    margin: 0;
  }
  .company_message_contens > div {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
  }
  .company_message_contens > div > h2 {
    max-width: 575px;
    margin: 0 0 0 49%;
    padding-top: 30px;
    font-size: 2.5rem;
  }
  .company_message_contens > div > p {
    max-width: 575px;
    margin: 30px 0 0 49%;
    font-size: 1.8rem;
    line-height: 1.75;
  }
  .company_message_contens > div > p.company_message_sign {
    margin-top: 50px;
  }
  .company_message_contens > div > p.company_message_sign img {
    /* width: 270px; */
    width: auto;
    height: 23px;
  }
  .company_creed {
    width: 100%;
    max-width: 1280px;
    margin: 160px auto 0;
    border: none;
    padding: 0 20px;
    scroll-margin-top: 115px;
  }
  .company_creed > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 58px 0 40px;
  }
  .company_creed h1 {
    font-size: 3.5rem;
  }
  .company_creed_text {
    display: inline-block;
    margin: 50px auto 0;
  }
  .company_creed p {
    font-size: 1.8rem;
    line-height: 1.75;
    margin-top: 0;
    text-align: center;
  }
  .company_creed p.company_creed_sign {
    margin-top: 34px;
  }
  .company_philosophy_policy {
    margin: 25px auto 0;
    width: 100%;
    max-width: 1280px;
    padding: 0 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .company_philosophy {
    margin: 0;
    padding: 0;
    width: 50%;
    background: #f2f2f2;
    scroll-margin-top: 115px;
  }
  .company_philosophy > div {
    padding: 60px 60px 140px;
  }
  .company_policy {
    margin: 0;
    padding: 0;
    width: 50%;
    background: #e6e6e6;
    scroll-margin-top: 115px;
  }
  .company_policy > div {
    padding: 60px 60px 140px;
  }
  .company_philosophy_policy h1 {
    font-size: 3.5rem;
  }
  .company_philosophy_policy p {
    font-size: 1.8rem;
    line-height: 1.75;
    margin-top: 60px;
  }
  .company_history {
    width: 100%;
    max-width: 950px;
    padding: 45px 20px 0;
    margin: 70px auto 0;
  }
  .company_history_table {
    margin-top: 80px;
    font-size: 1.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .company_history_table > dt {
    width: 162px;
    padding: 15px 22px;
    border: solid 1px #333;
    text-align: center;
  }
  .company_history_table > dd {
    width: calc(100% - 161px);
    padding: 15px 22px;
    border: solid 1px #333;
    margin-left: -1px;
  }
  .company_history_table > dd + dt + dd {
    margin-top: -1px;
  }
}
/* recruit */
#recruit .contents_head {
  background-image: url("../img/recruit/head.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

.recruit_beginner {
  padding: 35px 3% 20px;
  background: url(../img/recruit/pattern_back.png) repeat-x;
  background-size: 75%;
  background-position: 50%;
}

.recruit_beginner > h1 {
  text-align: center;
}

.recruit_beginner > h1 img {
  width: 80%;
  max-width: 400px;
  height: auto;
  margin: 0 auto;
}

.recruit_beginner > h2 {
  text-align: center;
  padding-left: 1em;
  font-size: 2rem;
  line-height: 1;
  margin-top: 25px;
}

.recruit_beginner > p {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 14px;
  text-align: justify;
}

.recruit_message {
  padding-top: 72px;
  margin-top: -42px;
  background: url(../img/recruit/message_back.png) no-repeat;
  background-size: 300%;
  background-position: center 75px;
}

h1.recruit_subtitle {
  font-size: 2.2rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

h1.recruit_subtitle span {
  font-size: 1.2rem;
  padding-top: 6px;
  color: #666666;
}

.recruit_message img.recruit_ceo {
  width: 75%;
  display: block;
  margin: 20px auto 0;
}

.recruit_message img.recruit_message_back {
  display: none;
}

.recruit_message p {
  width: 94%;
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: justify;
  margin: 20px auto 0;
}

.recruit_request {
  padding-top: 72px;
  width: 94%;
  margin: 0 auto;
}

.recruit_request > h2 {
  background: #333;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.6;
  text-align: justify;
  padding: 6px 0.8em;
  margin-top: 30px;
}

.recruit_request > p {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: justify;
  padding: 0 0.8em;
  margin-top: 10px;
}

.recruit_voice dd {
  z-index: 1;
  width: 60%;
}

.recruit_voice dt {
  width: 40%;
}

.recruit_voice {
  padding-top: 52px;
  margin: 0 auto;
}

.recruit_voice h1 {
  padding: 30px 3%;
  background: url(../img/recruit/pattern_back.png) #f9f9f9;
  background-size: 75%;
  background-position: -50%;
}

.recruit_voice_type1 {
  padding: 0 3%;
  margin-top: 30px;
}

.recruit_voice_type2 {
  padding: 0 3%;
  margin-top: 20px;
}

/*
.recruit_voice_type2 dd{
	display: flex;
	flex-direction: column;
	align-items: center;
}
*/
.recruit_voice_type2 dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
}

.recruit_voice_type2 + .recruit_voice_type1 {
  margin-top: 50px;
}

h2.recruit_voice_profile {
  background: #333;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.6;
  padding: 10px 1em;
}

.recruit_voice_img {
  width: 100%;
  margin-top: 20px;
}

.recruit_voice_img img {
  width: auto;
  height: auto;
}

h3.recruit_voice_heading {
  font-size: 1.8rem;
  line-height: 1.6;
  margin-top: 20px;
  text-align: center;
}

p.recruit_voice_text {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: justify;
  margin-top: 15px;
}

.recruit_voice_footer {
  height: 50px;
  background: url(../img/recruit/pattern_back.png) #f9f9f9;
  background-size: 75%;
  background-position: -50%;
  margin-top: 20px;
}

.recruit_requirements {
  padding: 72px 3% 0;
}

.recruit_requirements_contents {
  margin-top: 40px;
  font-size: 1.4rem;
  line-height: 1.75;
}

.recruit_requirements_contents > dt {
  text-align: center;
  padding: 10px 1em;
  border: solid 1px #333;
  background: #f2f2f2;
}

.recruit_requirements_contents > dd {
  padding: 10px 1em;
  border: solid 1px #333;
  border-top: none;
  text-align: justify;
}

.recruit_requirements_contents > dd + dt {
  margin-top: -1px;
}

.recruit_to_entry {
  display: block;
  width: 70%;
  max-width: 400px;
  background: #1a1a1a;
  color: #fff;
  line-height: 1;
  margin: 50px auto 0;
  padding: 12px 1em;
  text-align: center;
}

@media screen and (min-width: 960px) {
  .recruit_beginner {
    height: 500px;
    padding: 110px 0 0;
    background-size: auto;
    background-position: -30% top;
  }
  .recruit_beginner > h1 img {
    width: 90%;
    max-width: 956px;
  }
  .recruit_beginner > h2 {
    font-size: 3.8rem;
    margin-top: 60px;
  }
  .recruit_beginner > p {
    font-size: 1.8rem;
    line-height: 1.75;
    margin-top: 25px;
    text-align: center;
  }
  .recruit_message {
    /* margin-top: 0;
    padding-top: 0; */
    background-size: auto;
    background-position: center top;
    position: relative;
    overflow: hidden;
    height: 1060px;
    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;
    scroll-margin-top: 115px;
  }
  .recruit_message > div {
    width: 50%;
    max-width: 600px;
  }
  .recruit_message img.recruit_message_back {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
  }
  h1.recruit_subtitle {
    font-size: 4.3rem;
  }
  h1.recruit_subtitle span {
    font-size: 1.8rem;
    padding-top: 15px;
  }
  .recruit_subtitle_message {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .recruit_message img.recruit_ceo {
    width: 100%;
    max-width: 750px;
    display: block;
    margin: 0;
    position: absolute;
    top: 53%;
    left: 54.125%;
    -webkit-transform: translateY(-49%);
            transform: translateY(-49%);
  }
  .recruit_message p {
    font-size: 1.8rem;
    line-height: 1.75;
    margin-top: 40px;
    -webkit-transform: translateX(-46%);
            transform: translateX(-46%);
  }
  .recruit_request {
    width: 100%;
    max-width: 1160px;
    padding: 45px 20px 0;
    margin: 0 auto;
    scroll-margin-top: 115px;
  }
  .recruit_request > h2 {
    font-size: 1.8rem;
    line-height: 1.75;
    padding: 6px 22px;
    margin-top: 60px;
  }
  .recruit_request > p + h2 {
    margin-top: 40px;
  }
  .recruit_request > p {
    font-size: 1.6rem;
    line-height: 1.75;
    padding: 0 70px 0 22px;
    margin-top: 22px;
  }
  .recruit_voice {
    padding: 0;
    margin: 84px auto 0;
    scroll-margin-top: 115px;
  }
  .recruit_voice h1 {
    padding: 110px 20px;
    background-size: auto;
  }
  .recruit_voice_type1,
  .recruit_voice_type2 {
    padding: 10px 0;
    margin: 0;
    position: relative;
    min-height: 680px;
    overflow: hidden;
    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;
  }
  .recruit_voice_type2 + .recruit_voice_type1 {
    margin-top: 20px;
  }
  h2.recruit_voice_profile {
    margin-bottom: 50px;
    font-size: 2rem;
    line-height: 1.75;
    padding: 30px 0;
    z-index: 1;
  }
  h2.recruit_voice_profile span {
    display: inline-block;
    width: 100%;
    max-width: 960px;
    padding: 0 70px;
  }
  .recruit_voice_img {
    width: 1124px;
    margin-top: 0;
    position: absolute;
    z-index: 0;
  }
  .recruit_voice_type1 .recruit_voice_img {
    width: 100%;
    position: relative;
  }
  .recruit_voice_type2 .recruit_voice_img {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .recruit_voice_type2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  h3.recruit_voice_heading {
    font-size: 1.8rem;
    line-height: 1.75;
    max-width: 720px;
    margin-top: 0;
    z-index: 1;
  }
  p.recruit_voice_text {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 40px;
    max-width: 720px;
    z-index: 1;
  }
  p.recruit_voice_text + h3.recruit_voice_heading {
    margin-top: 40px;
  }
  .recruit_voice_type1 h3.recruit_voice_heading,
  .recruit_voice_type1 p.recruit_voice_text {
    margin-left: 20%;
    padding-right: 20px;
  }
  .recruit_voice_type2 h3.recruit_voice_heading,
  .recruit_voice_type2 p.recruit_voice_text {
    padding-left: 20px;
  }
  .recruit_voice_footer {
    height: 100px;
    background-size: auto;
    margin-top: 0;
  }
  .recruit_requirements {
    width: 100%;
    max-width: 950px;
    padding: 45px 20px 0;
    margin: 40px auto 0;
    scroll-margin-top: 115px;
  }
  .recruit_requirements_contents {
    margin-top: 80px;
    font-size: 1.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .recruit_requirements_contents > dt {
    width: 162px;
    padding: 15px 22px;
    background: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .recruit_requirements_contents > dd {
    width: calc(100% - 161px);
    padding: 15px 22px;
    border: solid 1px #333;
    margin-left: -1px;
  }
  .recruit_requirements_contents > dd + dt,
  .recruit_requirements_contents > dd + dt + dd {
    margin-top: -1px;
  }
  .recruit_to_entry {
    width: 600px;
    max-width: none;
    font-size: 3rem;
    margin: 175px auto 0;
    padding: 24px 1em;
  }
  .recruit_voice_type1 dd {
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, rgb(255, 255, 255)));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 50%);
    padding: 77px 0;
  }
  .recruit_voice_type2 dd.first_dd {
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), color-stop(50%, rgb(255, 255, 255)));
    background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 50%);
    padding: 77px 0;
  }
  .recruit_voice_type2 dd.last_dd {
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), color-stop(50%, rgb(255, 255, 255)));
    background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 50%);
    padding: 231px 0;
  }
}
/* privacy */
#privacy .contents_head {
  background-image: url(../img/company/head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

#privacy .contents_head img {
  width: 228px;
  height: auto;
}

.privacy_contents {
  width: 94%;
  margin: 30px auto 0;
}

.privacy_contents + .privacy_contents {
  margin-top: 40px;
}

.privacy_contents > h2 {
  font-size: 2.2rem;
  line-height: 1.6;
  color: #3eb3d3;
  border-bottom: solid 1px #333;
  padding-bottom: 2px;
}

.privacy_contents > p {
  font-size: 1.5rem;
  line-height: 1.6;
  margin-top: 20px;
  text-align: justify;
}

.privacy_contents > ol {
  margin-top: 20px;
}

.privacy_contents > ol.ol_decimal > li {
  font-size: 1.4rem;
  line-height: 1.6;
}

.privacy_contents > ol.ol_decimal > li + li {
  margin-top: 1em;
}

.privacy_contents > ol.ol_decimal > li::before {
  font-weight: bold;
  width: 1.5em;
}

.privacy_contents > ol.ol_decimal > li > h3 {
  font-size: 1.4rem;
  line-height: 1.6;
  width: calc(100% - 1.5em);
}

.privacy_contents > ol.ol_decimal > li > p {
  padding-left: 1.5em;
  margin-top: 2px;
}

.privacy_contents > ol.ol_brackets > li {
  font-size: 1.4rem;
  line-height: 1.6;
}

.privacy_contents > ol.ol_brackets > li + li {
  margin-top: 1em;
}

.privacy_contents > ol.ol_brackets > li::before {
  font-weight: bold;
  width: 2em;
}

.privacy_contents > ol.ol_brackets > li > p {
  width: calc(100% - 2em);
}

.privacy_contents ul.ul_dot {
  margin-top: 0.7em;
  margin-left: 2em;
}

.privacy_contents ul.ul_dot > li::before {
  font-size: 1.4rem;
  margin: calc(0.5em + 2px) 0.5em 0;
}

.privacy_contents ul.ul_dot > li > span {
  width: calc(100% - 1em - 4px);
}

.privacy_contents > p.privacy_notice {
  font-size: 1.4rem;
  padding-left: 2em;
  position: relative;
}

.privacy_contents > p.privacy_notice::before {
  content: "※";
  position: absolute;
  left: 0;
}

@media screen and (min-width: 960px) {
  #privacy .contents_head img {
    width: 342px;
    height: auto;
  }
  .privacy_contents {
    width: 100%;
    max-width: 1280px;
    padding: 0 20px;
    margin: 110px auto 0;
  }
  .privacy_contents + .privacy_contents {
    margin-top: 80px;
  }
  .privacy_contents > h2 {
    font-size: 3.8rem;
    text-align: center;
    padding-bottom: 8px;
  }
  .privacy_contents > p {
    font-size: 1.8rem;
    line-height: 1.45;
    margin: 35px 60px 0;
  }
  .privacy_contents > ol {
    margin: 45px 60px 0;
  }
  .privacy_contents > ol.ol_decimal > li {
    font-size: 1.6rem;
    line-height: 1.2;
  }
  .privacy_contents > ol.ol_decimal > li + li {
    margin-top: 30px;
  }
  .privacy_contents > ol.ol_decimal > li > h3 {
    font-size: 1.6rem;
    line-height: 1.2;
  }
  .privacy_contents > ol.ol_decimal > li > p {
    margin-top: 10px;
  }
  .privacy_contents > ol.ol_brackets > li {
    font-size: 1.6rem;
    line-height: 1.2;
  }
  .privacy_contents > ol.ol_brackets > li + li {
    margin-top: 30px;
  }
  .privacy_contents ul.ul_dot {
    margin-top: 15px;
  }
  .privacy_contents ul.ul_dot > li::before {
    font-size: 1.6rem;
    margin: calc(0.5em - 1px) 0.5em 0;
  }
  .privacy_contents > p.privacy_notice {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 959px) {
  .recruit_voice dd {
    width: 100%;
  }
  .recruit_voice dt {
    width: 100%;
  }
  .recruit_voice_img img {
    width: 100%;
  }
}
/* contact */
#contact .contents_head,
#contact_confirm .contents_head,
#contact_send .contents_head {
  background-image: url(../img/contact/head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

.contact_text {
  width: 94%;
  margin: 30px auto 0;
  font-size: 1.5rem;
  line-height: 1.6;
  text-align: justify;
}

.contact_text + .contact_text {
  margin-top: 1.2em;
}

#contact_confirm .contact_text,
#contact_send .contact_text {
  width: 100%;
}

.contact_form {
  width: 94%;
  margin: 40px auto 0;
}

#contact_confirm .contact_form,
#contact_send .contact_form {
  margin-top: 30px;
}

.contact_form > h1 {
  font-size: 2.2rem;
  line-height: 1;
  color: #fff;
  background: #3eb3d3;
  text-align: center;
  padding: 14px 0;
}

.form_area {
  margin-top: 30px;
}

.form_area dt {
  font-size: 1.6rem;
}

.form_area dt .req {
  color: #c1272d;
}

.form_area dd {
  margin-top: 6px;
}

.form_area dd + dt {
  margin-top: 20px;
}

.form_area dd.contact_radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.form_area dd.contact_radio label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.form_area dd.contact_radio input {
  margin-right: 8px;
}

.form_area input[type=text],
.form_area textarea,
.form_area select {
  color: #333 !important;
  font-family: inherit !important;
  font-size: 1.6rem !important;
  width: 100% !important;
  padding: 1rem !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
  border: solid 1px #333 !important;
  line-height: 1 !important;
  font-weight: bold;
}

.form_area textarea {
  height: 8em;
}

.form_area select {
  width: auto !important;
  padding: 1.5rem 3.5rem 1.5rem 1rem !important;
}

#contact_confirm .form_area dd {
  background: #e6e6e6;
  color: #4d4d4d;
  padding: 10px 0.8em;
}

.contact_privacy {
  background: #f2f2f2;
  margin-top: 30px;
  padding: 18px 20px;
}

.contact_privacy p {
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: justify;
}

.contact_privacy p a {
  color: #29abe2;
  text-decoration: underline;
}

.contact_privacy_check {
  background: #fff;
  padding: 20px 1em;
  margin-top: 14px;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
}

.contact_privacy label {
  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;
}

.contact_privacy label input {
  margin: 0 12px 0 0;
  width: 1.8rem;
  height: 1.8rem;
}

.contact_button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 50px;
}

.button_reset,
.button_back {
  width: 48%;
  background: #333;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
  padding: 20px 1em;
}

.button_confirm,
.button_send {
  width: 48%;
  background: #f7931e;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
  padding: 20px 1em;
}

.contact_totop {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
  margin-top: 30px;
}

.contact_totop a {
  color: #29abe2;
  text-decoration: underline;
}

@media screen and (min-width: 960px) {
  .contact_text {
    width: 100%;
    max-width: 1280px;
    padding: 0 20px;
    margin: 100px auto 0;
    font-size: 1.8rem;
    line-height: 1.75;
    text-align: center;
  }
  #contact_confirm .contact_text,
  #contact_send .contact_text {
    margin-top: 90px;
  }
  .contact_text + .contact_text {
    margin-top: 40px;
  }
  .contact_form {
    width: 100%;
    max-width: 1280px;
    padding: 0 20px;
    margin: 75px auto 0;
  }
  #contact_confirm .contact_form,
  #contact_send .contact_form {
    margin-top: 100px;
  }
  .contact_form > h1 {
    font-size: 3.5rem;
    padding: 28px 0;
  }
  .form_area {
    width: 90%;
    max-width: 1120px;
    margin: 65px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .form_area dt {
    width: 254px;
    font-size: 1.8rem;
    padding-top: 1rem;
    padding-right: 2em;
  }
  .form_area dd {
    font-size: 1.8rem;
    width: calc(100% - 254px);
    margin-top: 0;
  }
  .form_area dd + dt {
    margin-top: 14px;
  }
  .form_area dd + dt + dd {
    margin-top: 14px;
  }
  .form_area dd.contact_radio {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .form_area dd.contact_radio label {
    margin-right: 30px;
    display: inline-block;
    padding: 1rem 0;
  }
  .form_area dd.contact_radio input {
    margin-top: 0;
  }
  .form_area input[type=text],
  .form_area textarea,
  .form_area select {
    font-size: 1.8rem !important;
  }
  .form_area textarea {
    height: 266px;
  }
  #contact_confirm .form_area dt {
    padding: 0.8em 0;
  }
  #contact_confirm .form_area dd {
    padding: 0.8em 1em;
  }
  .form_area select {
    padding: 1.2rem 1rem !important;
  }
  .contact_privacy {
    margin: 74px auto 0;
    max-width: 1120px;
    width: 90%;
    padding: 50px 20px 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .contact_privacy p {
    font-size: 1.6rem;
  }
  .contact_privacy_check {
    width: 100%;
    max-width: 812px;
    padding: 22px 0;
    margin-top: 25px;
    font-size: 1.8rem;
  }
  .contact_privacy label input {
    margin: 0 25px 0 0;
    width: 24px;
    height: 24px;
  }
  .contact_button {
    margin: 130px auto 0;
    max-width: 1120px;
    width: 90%;
  }
  .button_reset,
  .button_back {
    width: 46.07%;
    font-size: 2.5rem;
    padding: 20px 1em;
  }
  .button_confirm,
  .button_send {
    width: 46.07%;
    font-size: 2.5rem;
    padding: 32px 1em;
  }
  .contact_totop {
    font-size: 2.5rem;
    margin-top: 70px;
  }
}
/* entry */
#entry .contents_head,
#entry_confirm .contents_head,
#entry_send .contents_head {
  background-image: url(../img/recruit/entry_head.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 29.6875%;
  position: relative;
  height: 0;
}

.entry_flow {
  width: 94%;
  margin: 30px auto 0;
}

.entry_flow dt {
  border: solid 1px #bbb;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
  padding: 14px 1em;
}

.entry_flow dd {
  border: solid 1px #bbb;
  border-top: none;
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 14px 1.2em;
  text-align: justify;
}

.entry_flow dd + dt {
  margin-top: 50px;
  position: relative;
}

.entry_flow dd + dt::before {
  content: "";
  display: block;
  position: absolute;
  top: -41px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(135deg);
          transform: translateX(-50%) rotate(135deg);
  width: 20px;
  height: 20px;
  border-top: 3px solid #bbb;
  border-right: 3px solid #bbb;
}

.form_area dd.entry_radio label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 15px;
  display: inline-block;
}

.form_area dd.entry_radio input {
  margin-top: 0;
}

.form_area dd.entry_select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.form_area dd.entry_select select {
  margin-right: 6px;
}

.form_area dd.entry_select select + select {
  margin-left: 8px;
}

#entry_confirm .form_area dd {
  background: #e6e6e6;
  color: #4d4d4d;
  padding: 10px 0.8em;
}

#entry_send .contact_text {
  width: 100%;
}

#entry_send .contact_form {
  margin-top: 30px;
}

@media screen and (min-width: 960px) {
  .entry_flow {
    width: 90%;
    max-width: 1120px;
    margin: 100px auto 0;
  }
  .entry_flow dt {
    font-size: 2.2rem;
    padding: 20px 1em;
  }
  .entry_flow dd {
    font-size: 1.6rem;
    line-height: 1.75;
    padding: 25px 1.2em;
    text-align: center;
  }
  .entry_flow dd + dt {
    margin-top: 80px;
  }
  .entry_flow dd + dt::before {
    top: -56px;
  }
  .form_area dd.entry_radio label {
    margin-right: 30px;
    padding: 1rem 0;
  }
  .form_area dd.entry_select select {
    margin-right: 10px;
  }
  .form_area dd.entry_select select + select {
    margin-left: 14px;
  }
  #entry_confirm .form_area dt {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
  }
  #entry_confirm .form_area dd {
    padding: 0.8em 1em;
  }
  #entry_send .contact_text {
    margin-top: 90px;
  }
  #entry_send .contact_form {
    margin-top: 100px;
  }
}
#voice .recruit_voice_type1 span.name_color1 {
  color: #FFECEC;
  padding: 0px;
}

#voice .recruit_voice_type1 span.name_color2 {
  color: #E5F9F8;
  padding: 0px;
}

.material_other_important {
  max-width: 980px;
  width: 100%;
  margin: 40px auto 0;
  text-align: center;
  line-height: 1.3;
  padding: 0 27px;
}

.material_other_important01 {
  max-width: 1160px;
  width: 100%;
  margin: 40px auto 0;
  text-align: center;
  line-height: 1.3;
  padding: 0 27px;
}

.material_other_important p {
  border: 1px solid #3eb3d3;
  color: #3eb3d3;
  padding: 16px 64px 14px;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: left;
}

.material_other_important01 p {
  border: 1px solid #3eb3d3;
  color: #3eb3d3;
  padding: 16px 64px 14px;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: left;
}

@media screen and (max-width: 840px) {
  .material_other_important {
    text-align: left;
    width: 94%;
    padding: 0;
  }
  .material_other_important p {
    border: 1px solid #3eb3d3;
    color: #3eb3d3;
    padding: 16px 14px;
    font-weight: bold;
    font-size: 16px;
    text-align: left;
  }
  .material_other_important01 {
    text-align: left;
    width: 94%;
    padding: 0;
  }
  .material_other_important01 p {
    border: 1px solid #3eb3d3;
    color: #3eb3d3;
    padding: 16px 14px;
    font-weight: bold;
    font-size: 16px;
    text-align: left;
  }
}
.caption {
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
  color: #818181;
  background-color: #e6e6e5;
  padding: 10px 0;
}

@media screen and (max-width: 500px) {
  .strengths_contents p {
    font-weight: normal;
  }
  .strengths_dl dd {
    font-weight: normal;
  }
  .products_list ul > li > p {
    font-weight: normal;
  }
  ul.product_table > li p.product_table_p1,
  ul.product_table > li p.product_table_p2,
  ul.product_table > li p.product_table_p3 {
    font-weight: normal;
  }
  .company_creed p,
  .company_philosophy_policy p {
    font-weight: normal;
  }
  p.recruit_voice_text,
  .recruit_beginner > p,
  .recruit_message p,
  .recruit_request > p {
    font-weight: normal;
  }
  .news_list_headline {
    font-weight: normal;
  }
  .privacy_contents p span {
    font-weight: normal;
    display: block;
  }
}/*# sourceMappingURL=style.css.map */