@charset "UTF-8";
main {
  margin: 0 auto;
  padding-top: 26.6666666667vw;
}

header {
  border-bottom: 0.2666666667vw solid #ccc;
}

[data-ruby] {
  position: relative;
  color: #333;
  font-weight: bold;
  font-size: 4.5333333333vw;
  position: relative;
  text-align: center;
}
[data-ruby]::before {
  content: attr(data-ruby);
  white-space: pre;
}

/**
会社概要
*/
#page-company {
  padding: 8.6666666667vw 0 0;
  position: relative;
}
#page-company .hx01 {
  font-size: 5.3333333333vw;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.2666666667vw;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  margin: 0 0 11.2vw;
}
#page-company .hx01:before {
  margin: auto;
  text-align: center;
  top: 0;
  position: relative;
  color: #777777;
  font-size: 3.2vw;
  font-family: "Gantari", sans-serif;
  font-weight: 500;
  margin-bottom: 2vw;
}
#page-company .hx01:after {
  content: "";
  display: block;
  width: 8vw;
  height: 0.8vw;
  background-color: #0b80c6;
  margin: 4vw auto 0;
}
#page-company .main_img {
  width: 100%;
  height: 25.8666666667vw;
  background: url(../img/company/main_img.jpg) no-repeat;
  background-size: cover;
  margin: 0 0 5.3333333333vw;
}
#page-company #anchor {
  width: 92vw;
  margin: 0 auto 9.3333333333vw;
  background: #f3f5f4;
}
#page-company #anchor ul {
  display: flex;
}
#page-company #anchor ul li {
  width: 33.3333333333%;
  text-align: center;
  position: relative;
  transition: 0.2s;
}
#page-company #anchor ul li a {
  display: block;
  text-decoration: none;
  font-weight: bold;
  padding: 3.2vw 0;
  position: relative;
  transition: none;
  left: -0.8vw;
  font-size: 3.7333333333vw;
}
#page-company #anchor ul li:before {
  content: "";
  position: absolute;
  width: 0.1333333333vw;
  height: 5.8666666667vw;
  background: #ccc;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
#page-company #anchor ul li:after {
  content: "";
  position: absolute;
  width: 3.2vw;
  height: 2.5333333333vw;
  background: url(../img/company/anchor_arrow.png) no-repeat;
  background-size: 100%;
  top: 0;
  bottom: 0;
  right: 4vw;
  margin: auto;
}
#page-company #anchor ul li:first-child:before {
  display: none;
}
#page-company #anchor ul li:hover:after {
  opacity: 0.5;
}
#page-company #message {
  width: 92vw;
  margin: 0 auto 13.3333333333vw;
  line-height: 1.625;
  color: #333;
}
#page-company #message .text_box {
  width: 100%;
  padding: 0;
  margin: 0 0 6.6666666667vw;
}
#page-company #message .text_box .title {
  font-size: 5.0666666667vw;
  margin: 0 0 3.3333333333vw;
  font-weight: bold;
}
#page-company #message .text_box .text p {
  margin: 0 0 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-company #message .img_box {
  width: 56vw;
  margin: 0 auto;
}
#page-company #message .img_box picture {
  margin: 0;
}
#page-company #message .img_box .name_wrap {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-weight: bold;
}
#page-company #message .img_box .name_wrap .job {
  font-size: 3.2vw;
  letter-spacing: 0.01em;
  line-height: 1.88;
}
#page-company #message .img_box .name_wrap .name {
  font-size: 5.3333333333vw;
  letter-spacing: 0.02em;
  line-height: 1.13;
}
#page-company #about {
  position: relative;
  background-image: linear-gradient(to bottom, #041728, #000);
  background-position: bottom;
  padding: 7.2vw 0 30.9333333333vw;
}
#page-company #about .inner {
  width: 92vw;
  margin: 0 auto;
  position: relative;
}
#page-company #about .inner .hx01 {
  color: #fff;
  margin: 0 0 16vw;
}
#page-company #about .inner table,
#page-company #about .inner dl {
  width: 100%;
}
#page-company #about .inner table tr,
#page-company #about .inner table .row,
#page-company #about .inner dl tr,
#page-company #about .inner dl .row {
  display: block;
  width: 100%;
}
#page-company #about .inner table tr th,
#page-company #about .inner table tr dt,
#page-company #about .inner table .row th,
#page-company #about .inner table .row dt,
#page-company #about .inner dl tr th,
#page-company #about .inner dl tr dt,
#page-company #about .inner dl .row th,
#page-company #about .inner dl .row dt {
  width: 100%;
  background: #385875;
  color: #fff;
  text-align: center;
  font-size: 3.7333333333vw;
  padding: 2vw 0;
  font-weight: bold;
  display: block;
  width: 100%;
}
#page-company #about .inner table tr td,
#page-company #about .inner table tr dd,
#page-company #about .inner table .row td,
#page-company #about .inner table .row dd,
#page-company #about .inner dl tr td,
#page-company #about .inner dl tr dd,
#page-company #about .inner dl .row td,
#page-company #about .inner dl .row dd {
  width: 100%;
  background: #fff;
  text-align: center;
  font-size: 3.7333333333vw;
  color: #333;
  padding: 4vw 0;
  line-height: 1.6;
  display: block;
  width: 100%;
}
#page-company #about .inner table tr td a,
#page-company #about .inner table tr dd a,
#page-company #about .inner table .row td a,
#page-company #about .inner table .row dd a,
#page-company #about .inner dl tr td a,
#page-company #about .inner dl tr dd a,
#page-company #about .inner dl .row td a,
#page-company #about .inner dl .row dd a {
  color: #0b80c6;
}
#page-company #about:before {
  content: "";
  background: url(../img/company/about_bg_sp.png) no-repeat;
  background-size: 100%;
  width: 127.8666666667vw;
  height: 55.4666666667vw;
  position: absolute;
  bottom: 0;
  left: 0;
}
#page-company #access {
  padding: 7.2vw 0 9.8666666667vw;
}
#page-company #access .inner {
  width: 92vw;
  margin: 0 auto;
}
#page-company #access .method {
  width: 80vw;
  margin: -4vw auto 10.6666666667vw;
  background: #385875;
  color: #fff;
  padding: 3.7333333333vw;
  position: relative;
}
#page-company #access .method .img_box {
  width: 100%;
  margin: 0 0 4.2666666667vw;
}
#page-company #access .method .text_box {
  width: 100%;
}
#page-company #access .method .text_box .method_text {
  padding: 0 0 0 12vw;
  position: relative;
}
#page-company #access .method .text_box .method_text .title {
  font-size: 4.2666666667vw;
  font-weight: bold;
  margin: 0 0 1.3333333333vw;
}
#page-company #access .method .text_box .method_text p {
  font-size: 3.7333333333vw;
  line-height: 1.6;
}
#page-company #access .method .text_box .method_text p + p {
  margin: 1.6vw 0 0;
}
#page-company #access .method .text_box .method_text:before {
  content: "";
  display: block;
  position: absolute;
  top: 0.8vw;
}
#page-company #access .method .text_box .method_text.train {
  padding: 0 0 4vw 12vw;
  border-bottom: 1px solid #fff;
  margin: 0 0 4vw;
}
#page-company #access .method .text_box .method_text.train:before {
  background: url(../img/company/icon_train.png) no-repeat;
  background-size: 100%;
  width: 6.5333333333vw;
  height: 9.4666666667vw;
  left: 1.3333333333vw;
}
#page-company #access .method .text_box .method_text.car:before {
  background: url(../img/company/icon_car.png) no-repeat;
  background-size: 100%;
  width: 9.3333333333vw;
  height: 7.2vw;
  left: 0;
}
#page-company #philosophy {
  position: relative;
  padding: 7.2vw 0 17.3333333333vw;
}
#page-company #philosophy .inner {
  width: 92vw;
  margin: 0 auto;
}
#page-company #philosophy .inner .title {
  width: 100%;
}
#page-company #philosophy .inner .title h3 {
  border-left: 0.8vw solid #0b80c6;
  padding-left: 4.2666666667vw;
  width: 100%;
  flex-direction: row;
  display: block;
  text-align: left;
  letter-spacing: 0.384vw;
  font-size: 8.5333333333vw;
  line-height: 1.4375;
  margin: 0 0 10.4vw;
}
#page-company #philosophy .inner .title h3::before {
  margin: 0;
  display: block;
  text-align: left;
  letter-spacing: 0;
  font-family: "Gantari", sans-serif;
  margin-bottom: 2.6666666667vw;
  font-size: 3.2vw;
  line-height: 1;
}
#page-company #philosophy .inner .title h3::after {
  display: none;
}
#page-company #philosophy .inner .title .description {
  width: 100%;
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-company #philosophy .inner .title .description p + p {
  margin-top: 4.6666666667vw;
}
#page-company #philosophy .inner .boxes {
  width: 100%;
  margin: 9.3333333333vw auto 0;
}
#page-company #philosophy .inner .boxes .box {
  background-color: #eeeeee;
  padding: 4vw 3.3333333333vw;
  margin: 0 0 6.6666666667vw;
  position: relative;
}
#page-company #philosophy .inner .boxes .box .no {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 16vw;
  height: 11.4666666667vw;
  color: #fff;
  background-color: #0b80c6;
  font-weight: bold;
  font-size: 1.8666666667vw;
  font-family: "Gantari", sans-serif;
  position: absolute;
  top: -10px;
  left: 0;
}
#page-company #philosophy .inner .boxes .box .no span {
  font-size: 4.5333333333vw;
}
#page-company #philosophy .inner .boxes .box h4 {
  color: #0b80c6;
  font-weight: bold;
  margin: 0 0 4vw 18.6666666667vw;
  font-size: 6.4vw;
  line-height: 0.9583333333;
}
#page-company #philosophy .inner .boxes .box .text {
  margin-top: 3.3333333333vw;
  padding: 0;
  font-size: 2.1333333333vw;
  line-height: 1.5;
}
#page-company #philosophy .inner .boxes .box .text .copy {
  font-size: 4.2666666667vw;
  line-height: 1.1875;
  margin: 0 0 4.6666666667vw;
  font-weight: bold;
}
#page-company #philosophy .inner .boxes .box .text ul {
  counter-reset: number 0;
}
#page-company #philosophy .inner .boxes .box .text ul li {
  position: relative;
  padding-left: 1em;
  line-height: 1.6;
  margin: 0 0 3.7333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-company #philosophy .inner .boxes .box .text ul li::before {
  counter-increment: number 1;
  content: counter(number) ".";
  position: absolute;
  left: 0;
}
#page-company #philosophy .inner .boxes .box:last-child {
  margin: 0;
}
#page-company #philosophy:before {
  content: "";
  background: url(../img/company/philosophy_bg_pc.png) no-repeat;
  background-size: 100%;
  background-position: center bottom -50%;
  width: 100%;
  height: 119.6vw;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

/**
自社製品
*/
#page-workshop {
  padding: 8.6666666667vw 0 0;
  position: relative;
}
#page-workshop .main_img {
  width: 100%;
  height: 25.8666666667vw;
  background: url(../img/workshop/main_img.jpg) no-repeat;
  background-size: cover;
  margin: 0 0 5.3333333333vw;
}
#page-workshop .lead {
  width: 92vw;
  font-size: 5.0666666667vw;
  line-height: 1.2631578947;
  font-weight: bold;
  margin: 0 auto 9.0666666667vw;
}
#page-workshop #feature {
  width: 92vw;
  margin: 0 auto 9.3333333333vw;
}
#page-workshop #feature .title {
  display: flex;
  flex-direction: column;
  width: 100%;
}
#page-workshop #feature .title h3 {
  border-left: 0.8vw solid #0b80c6;
  padding-left: 4.2666666667vw;
  width: 100%;
  flex-direction: row;
  display: block;
  text-align: left;
  letter-spacing: 0.384vw;
  font-size: 8.5333333333vw;
  line-height: 1.4375;
}
#page-workshop #feature .title h3::before {
  margin: 0;
  display: block;
  text-align: left;
  letter-spacing: 0;
  font-family: "Gantari", sans-serif;
  margin-bottom: 2.6666666667vw;
  font-size: 3.2vw;
  line-height: 1;
  color: #777;
  font-weight: normal;
}
#page-workshop #feature .title h3::after {
  display: none;
}
#page-workshop #feature .title .description {
  width: 100%;
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  letter-spacing: 0.3733333333vw;
  display: flex;
  flex-direction: column;
  margin-top: 8vw;
}
#page-workshop #feature .title .description .title {
  font-size: 5.0666666667vw;
  line-height: 1.2631578947;
  margin: 0 0 2.1333333333vw;
}
#page-workshop #feature .title .description p {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-workshop #feature .title .description p + p {
  margin-top: 2.6666666667vw;
}
#page-workshop #feature .boxes {
  display: flex;
  flex-direction: column;
  margin-top: 10.6666666667vw;
}
#page-workshop #feature .boxes .box {
  background-color: #eee;
  padding-bottom: 5.3333333333vw;
}
#page-workshop #feature .boxes .box + .box {
  margin-top: 6.6666666667vw;
}
#page-workshop #feature .boxes .box .no {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 16vw;
  height: 11.4666666667vw;
  color: #fff;
  margin: 0 auto;
  background-color: #0b80c6;
  font-weight: bold;
  text-align: center;
  font-size: 1.8666666667vw;
  font-family: "Gantari", sans-serif;
  letter-spacing: 0.1333333333vw;
}
#page-workshop #feature .boxes .box .no span {
  display: block;
  font-size: 4.5333333333vw;
  margin-top: 0.6666666667vw;
}
#page-workshop #feature .boxes .box h4 {
  color: #0b80c6;
  font-weight: bold;
  text-align: center;
  width: 100%;
  margin-top: 2.6666666667vw;
  font-size: 6.4vw;
  line-height: 1.1666666667;
}
#page-workshop #feature .boxes .box .text {
  margin-top: 4vw;
  padding: 0 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-workshop #feature .boxes .box .text ul li {
  position: relative;
  padding-left: 1em;
}
#page-workshop #feature .boxes .box .text ul li::before {
  content: "ー";
  position: absolute;
  left: 0;
}
#page-workshop #example .inner {
  width: 92vw;
  margin: 0 auto;
}
#page-workshop #example .inner .hx01 {
  font-size: 5.3333333333vw;
  letter-spacing: 0.2666666667vw;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  margin: 0 0 9.3333333333vw;
}
#page-workshop #example .inner .hx01:before {
  margin: auto;
  text-align: center;
  top: 0;
  position: relative;
  color: #777777;
  font-size: 3.2vw;
  font-family: "Gantari", sans-serif;
  font-weight: 500;
  margin-bottom: 2.4vw;
}
#page-workshop #example .inner .hx01:after {
  content: "";
  display: block;
  width: 8vw;
  height: 0.4vw;
  background-color: #0b80c6;
  margin: 4vw auto 0;
}
#page-workshop #example .inner .items .item {
  margin: 0 0 13.3333333333vw;
}
#page-workshop #example .inner .items .item h4 {
  background-image: linear-gradient(to right, #041a2e 0%, #041a2e 45%, #000 51%, #000 100%);
  font-size: 3.7333333333vw;
  font-weight: 500;
  color: #fff;
  height: 8vw;
  display: flex;
  align-items: center;
  padding: 1.2vw 0 1.4666666667vw 20.6666666667vw;
  margin-bottom: 5.3333333333vw;
  position: relative;
}
#page-workshop #example .inner .items .item h4:before {
  content: "PRODUCT \a EXAMPLE";
  background: #0b80c6;
  color: #fff;
  white-space: pre;
  text-align: justify;
  font-size: 2.5333333333vw;
  font-family: "Gantari", sans-serif;
  font-weight: bold;
  width: 19.3333333333vw;
  height: 10.9333333333vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  bottom: 0;
}
#page-workshop #example .inner .items .item h4:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 2.6vw solid transparent;
  border-left: 2.6vw solid transparent;
  border-top: 2.6vw solid #fff;
  border-bottom: 0;
  position: absolute;
  left: 16.8vw;
  bottom: 9.0666666667vw;
}
#page-workshop #example .inner .items .item .detail_box .text {
  width: 92vw;
  margin: 0 auto 7.7333333333vw;
}
#page-workshop #example .inner .items .item .detail_box .text .request_area {
  margin: 0 0 7.4666666667vw;
}
#page-workshop #example .inner .items .item .detail_box .text .request_area .request_title {
  font-size: 4.5333333333vw;
  line-height: 0.7058823529;
  color: #0b80c6;
  font-weight: normal;
  padding: 0 0 0 8.2666666667vw;
  margin: 0 0 3.4666666667vw;
  position: relative;
}
#page-workshop #example .inner .items .item .detail_box .text .request_area .request_title:before {
  content: "";
  background: url(../img/workshop/icon_fukidashi.png) no-repeat;
  background-size: 100%;
  width: 8vw;
  height: 6.2666666667vw;
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  margin: auto;
}
#page-workshop #example .inner .items .item .detail_box .text .request_area p {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-workshop #example .inner .items .item .detail_box .text .result_area {
  border: 1px solid #0b80c6;
  position: relative;
  padding: 4.8vw 2.6666666667vw 2.6666666667vw 2.6666666667vw;
}
#page-workshop #example .inner .items .item .detail_box .text .result_area .result_title {
  font-size: 4.5333333333vw;
  line-height: 0.7058823529;
  color: #0b80c6;
  font-weight: normal;
  background: #fff;
  padding: 0 1.0666666667vw 0 5.6vw;
  margin: 0 auto 2vw;
  position: absolute;
  top: -1.7333333333vw;
  left: 22.2666666667vw;
}
#page-workshop #example .inner .items .item .detail_box .text .result_area .result_title:before {
  content: "";
  background: url(../img/workshop/icon_check.png) no-repeat;
  background-size: 100%;
  width: 5.3333333333vw;
  height: 4.4vw;
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  margin: auto;
}
#page-workshop #example .inner .items .item .detail_box .text .result_area p {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-workshop #example .inner .items .item .detail_box .photo {
  width: 100%;
  text-align: center;
  margin: 0 0 5.6vw;
}
#page-workshop #example .inner .items .item .detail_box .photo img {
  max-width: unset;
  width: 100%;
}
#page-workshop #example .inner .items .item ul li {
  width: 100%;
  min-height: 49.3333333333vw;
  margin: 0 0 5.3333333333vw;
  border: 1px solid #ccc;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
#page-workshop #example .inner .items .item ul li .photo {
  margin: -3.3333333333vw 0 0;
}
#page-workshop #example .inner .items .item ul li p {
  font-size: 3.7333333333vw;
  font-weight: bold;
}

/**
カスタマーサポート
*/
#page-customer_support {
  padding: 8.6666666667vw 0 13.3333333333vw;
  position: relative;
}
#page-customer_support .main_img {
  width: 100%;
  height: 25.8666666667vw;
  background: url(../img/customer_support/main_img.jpg) no-repeat;
  background-size: cover;
  margin: 0 0 5.3333333333vw;
}
#page-customer_support .lead {
  width: 92vw;
  margin: 0 auto 8vw;
}
#page-customer_support .lead .title {
  font-size: 5.0666666667vw;
  line-height: 1.2631578947;
  font-weight: bold;
  margin: 0 0 3.2vw;
}
#page-customer_support .lead .text {
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
}
#page-customer_support .lead .text p {
  margin: 0 0 3.2vw;
  letter-spacing: 0.1em;
}
#page-customer_support #flow .inner {
  width: 92vw;
  margin: 0 auto 9.3333333333vw;
}
#page-customer_support #flow .inner .title {
  width: 100%;
}
#page-customer_support #flow .inner .title h3 {
  border-left: 0.8vw solid #0b80c6;
  padding-left: 4.2666666667vw;
  width: 100%;
  flex-direction: row;
  display: block;
  text-align: left;
  letter-spacing: 0.384vw;
  font-size: 8.5333333333vw;
  line-height: 1.4375;
}
#page-customer_support #flow .inner .title h3::before {
  margin: 0;
  display: block;
  text-align: left;
  letter-spacing: 0;
  font-family: "Gantari", sans-serif;
  margin-bottom: 2.6666666667vw;
  font-size: 3.2vw;
  line-height: 1;
  color: #777;
  font-weight: normal;
}
#page-customer_support #flow .inner .title h3::after {
  display: none;
}
#page-customer_support #flow .inner .boxes {
  margin-top: 9.3333333333vw;
}
#page-customer_support #flow .inner .boxes .box {
  background-color: #eee;
  padding: 5.3333333333vw 2.6666666667vw;
  margin: 0 0 12vw;
  width: 100%;
  position: relative;
}
#page-customer_support #flow .inner .boxes .box .text_area {
  position: relative;
  margin: 0 0 2.6666666667vw;
}
#page-customer_support #flow .inner .boxes .box .text_area .text_area_top {
  display: flex;
  align-items: center;
}
#page-customer_support #flow .inner .boxes .box .text_area .no {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 16vw;
  height: 11.4666666667vw;
  color: #fff;
  margin: 0;
  background-color: #0b80c6;
  font-weight: bold;
  text-align: center;
  font-size: 1.8666666667vw;
  font-family: "Gantari", sans-serif;
  letter-spacing: 0.1333333333vw;
  position: relative;
  left: -2.6666666667vw;
}
#page-customer_support #flow .inner .boxes .box .text_area .no span {
  display: block;
  font-size: 4.5333333333vw;
  margin-top: 0.6666666667vw;
}
#page-customer_support #flow .inner .boxes .box .text_area h4 {
  color: #0b80c6;
  font-weight: bold;
  font-size: 5.0666666667vw;
  line-height: 1.2105263158;
}
#page-customer_support #flow .inner .boxes .box .text_area .text {
  margin-top: 3.3333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-customer_support #flow .inner .boxes .box .img_area {
  width: 100%;
}
#page-customer_support #flow .inner .boxes .box .img_area img {
  max-width: unset;
  width: 100%;
}
#page-customer_support #flow .inner .boxes .box:after {
  content: "";
  background: url(../img/customer_support/arrow.png) no-repeat;
  background-size: 100%;
  width: 3.3333333333vw;
  height: 9.4666666667vw;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -11.0666666667vw;
  margin: auto;
}
#page-customer_support #flow .inner .boxes .box:last-child:after {
  display: none;
}
#page-customer_support .message {
  width: 92vw;
  margin: 0 auto;
  text-align: center;
}
#page-customer_support .message p {
  font-size: 4.5333333333vw;
  line-height: 1.4117647059;
  color: #0b80c6;
  text-align: center;
  font-weight: bold;
  padding: 5.3333333333vw 0;
  border-top: 1px solid #0b80c6;
  border-bottom: 1px solid #0b80c6;
  display: inline-block;
}

/**
プネウムが選ばれる理由
*/
#page-choose {
  padding: 8.6666666667vw 0 13.3333333333vw;
  position: relative;
}
#page-choose .main_img {
  width: 100%;
  height: 25.8666666667vw;
  background: url(../img/choose/main_img.jpg) no-repeat;
  background-size: cover;
  margin: 0 0 5.3333333333vw;
}
#page-choose .lead {
  width: 92vw;
  margin: 0 auto 8vw;
}
#page-choose .lead .title {
  font-size: 5.0666666667vw;
  line-height: 1.2631578947;
  font-weight: bold;
  margin: 0 0 3.2vw;
}
#page-choose .lead .text {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-choose .lead .text p {
  margin: 0 0 3.2vw;
  letter-spacing: 0.1em;
}
#page-choose .reason_list {
  width: 92vw;
  margin: 0 auto 9.3333333333vw;
}
#page-choose .reason_list .title {
  position: relative;
  margin: 0 0 4.5333333333vw;
}
#page-choose .reason_list .title .no {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 16vw;
  height: 11.4666666667vw;
  color: #fff;
  margin: 0;
  background-color: #0b80c6;
  font-weight: bold;
  font-size: 1.8666666667vw;
  font-family: "Gantari", sans-serif;
  position: absolute;
  left: 0;
  bottom: 0;
}
#page-choose .reason_list .title .no span {
  font-size: 4.5333333333vw;
}
#page-choose .reason_list .title h4 {
  color: #0b80c6;
  font-weight: bold;
  width: 100%;
  font-size: 4.2666666667vw;
  line-height: 1.1875;
  padding: 2.6666666667vw 0 1.3333333333vw 18.6666666667vw;
  border-bottom: 1px solid #0b80c6;
}
#page-choose .reason_list .detail {
  margin: 0 0 11.2vw;
}
#page-choose .reason_list .detail .text_area {
  width: 100%;
  margin: 2vw 0 6.4vw 0;
}
#page-choose .reason_list .detail .text_area h5 {
  font-size: 4.2666666667vw;
  line-height: 1.125;
  margin: 0 0 3.2vw;
}
#page-choose .reason_list .detail .text_area .text {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  letter-spacing: 0.1em;
  font-weight: 100;
}
#page-choose .reason_list .detail .img_area {
  width: 100%;
  text-align: center;
}
#page-choose .reason_list .example_list {
  background: #eee;
  padding: 4vw 3.2vw;
}
#page-choose .reason_list .example_list .title {
  font-size: 3.7333333333vw;
  font-weight: bold;
  margin: 0 0 4.5333333333vw;
  padding: 0 0 0 7.4666666667vw;
  position: relative;
}
#page-choose .reason_list .example_list .title:before {
  content: "";
  background: url(../img/choose/icon_example.png) no-repeat;
  background-size: 100%;
  width: 6.1333333333vw;
  height: 4.4vw;
  position: absolute;
  left: 0;
}
#page-choose .reason_list .example_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#page-choose .reason_list .example_list ul li {
  margin: 0 0 2.6666666667vw;
}
#page-choose .reason_list .example_list ul li picture {
  display: block;
  margin: 0 0 1.3333333333vw;
  text-align: center;
}
#page-choose .reason_list .example_list ul li p {
  text-align: center;
  font-size: 3.2vw;
  line-height: 1.1666666667;
}
#page-choose .reason_list .bk_area .bk_bg {
  background: #eee;
  padding: 4vw 2.6666666667vw;
}
#page-choose .reason_list .bk_area .bk_title {
  font-size: 3.7333333333vw;
  font-weight: bold;
  margin: 0 0 4vw;
  position: relative;
}
#page-choose .reason_list .bk_area ul li {
  border-bottom: 1px solid #aaa;
}
#page-choose .reason_list .bk_area ul li a {
  display: block;
  text-decoration: none;
  padding: 2vw 0;
}
#page-choose .reason_list .bk_area ul li a .date {
  font-size: 2.4vw;
  line-height: 1.1111111111;
  color: #777;
  margin: 0 0 1.3333333333vw;
}
#page-choose .reason_list .bk_area ul li a .title {
  font-size: 3.7333333333vw;
  line-height: 1.2142857143;
  margin: 0;
}
#page-choose .reason_list .bk_area ul li:first-child {
  border-top: 1px solid #aaa;
}
#page-choose .reason_list .bk_area .bk_tec {
  margin: 0 0 8vw;
}
#page-choose .reason_list .bk_area .bk_tec .bk_title {
  padding: 0.8vw 0 0 5.3333333333vw;
}
#page-choose .reason_list .bk_area .bk_tec .bk_title:before {
  content: "";
  background: url(../img/choose/icon_tec.png) no-repeat;
  background-size: 100%;
  width: 4.1333333333vw;
  height: 4.4vw;
  position: absolute;
  top: 0.5333333333vw;
  left: 0;
}
#page-choose .reason_list .bk_area .bk_mail .bk_title {
  padding: 0.8vw 0 0 5.3333333333vw;
}
#page-choose .reason_list .bk_area .bk_mail .bk_title:before {
  content: "";
  background: url(../img/choose/icon_mail.png) no-repeat;
  background-size: 100%;
  width: 4.2666666667vw;
  height: 4.4vw;
  position: absolute;
  top: 0.5333333333vw;
  left: 0;
}
#page-choose .reason_list#reason01 .example_list ul li {
  width: 41.3333333333vw;
}
#page-choose .reason_list#reason02 .detail {
  margin: 0 auto 6.1333333333vw;
}
#page-choose .reason_list#reason02 .example_list ul li {
  width: 100%;
  margin: 0 0 4.2666666667vw;
}
#page-choose .reason_list#reason03 .title .no {
  top: 1.3333333333vw;
}
#page-choose .reason_list#reason03 .title h4 {
  padding: 0 0 1.3333333333vw 18.6666666667vw;
}
/**
採用情報
*/
#page-recruit {
  padding: 8.6666666667vw 0 13.3333333333vw;
  position: relative;
}
#page-recruit .main_img {
  width: 100%;
  height: 25.8666666667vw;
  background: url(../img/recruit/main_img.jpg) no-repeat;
  background-size: cover;
  margin: 0 0 5.3333333333vw;
}
#page-recruit #anchor ul {
  width: 92vw;
  margin: 0 auto 9.3333333333vw;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
#page-recruit #anchor ul li {
  width: 44.6666666667vw;
  height: 8vw;
  margin: 0 0 2.6666666667vw;
}
#page-recruit #anchor ul li a {
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #0b80c6;
  font-size: 3.2vw;
  line-height: 1;
  font-weight: bold;
  border: 1px solid #0b80c6;
  border-radius: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#page-recruit #anchor ul li a:before {
  content: "";
  display: inline-block;
  background: url(../img/recruit/icon_nav.png) no-repeat;
  background-size: 100%;
  width: 3.3333333333vw;
  height: 4.1333333333vw;
  vertical-align: middle;
  margin: 0 1.0666666667vw 0 0;
}
#page-recruit #anchor ul li:nth-of-type(2n) {
  margin: 0 0 2.6666666667vw 2.6666666667vw;
}
#page-recruit .lead {
  width: 92vw;
  margin: 0 auto 8vw;
}
#page-recruit .lead .title {
  width: 100%;
  margin: 0 auto 8vw;
}
#page-recruit .lead .title h3 {
  border-left: 0.8vw solid #0b80c6;
  padding-left: 4.2666666667vw;
  width: 100%;
  flex-direction: row;
  display: block;
  text-align: left;
  letter-spacing: 0.384vw;
  font-size: 8.5333333333vw;
  line-height: 1.4375;
}
#page-recruit .lead .title h3::before {
  margin: 0;
  display: block;
  text-align: left;
  letter-spacing: 0;
  font-family: "Gantari", sans-serif;
  margin-bottom: 2.6666666667vw;
  font-size: 3.2vw;
  line-height: 1;
  color: #777;
  font-weight: normal;
}
#page-recruit .lead .title h3::after {
  display: none;
}
#page-recruit .lead .text {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-recruit .lead .text p {
  margin: 0 0 8.8vw;
}
#page-recruit .description {
  margin: 0 0 10.6666666667vw;
}
#page-recruit .description .inner {
  width: 92vw;
  margin: 0 auto;
}
#page-recruit .description .inner h4 {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  font-weight: 500;
  text-align: left;
  color: #fff;
  background-image: linear-gradient(to right, #041a2e, #000);
  padding: 2vw;
  margin-bottom: 5.0666666667vw;
}
#page-recruit .description .inner .box {
  margin: 0 0 5.8666666667vw;
}
#page-recruit .description .inner .box h5 {
  width: 100%;
  color: #333333;
  position: relative;
  font-size: 3.4666666667vw;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 5.3333333333vw;
  padding-left: 2.6666666667vw;
}
#page-recruit .description .inner .box h5:before {
  content: "";
  display: block;
  position: absolute;
  width: 1.0666666667vw;
  height: 4.8vw;
  background-color: #0b80c6;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#page-recruit .description .inner .box h5:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: -2.1333333333vw;
  border-bottom: 0.2666666667vw solid #cccccc;
}
#page-recruit .description .inner .box h5 span {
  font-size: 3.7333333333vw;
  color: #fe0000;
  font-weight: 300;
  margin: 0 0 0 2.1333333333vw;
}
#page-recruit .description .inner .box .text {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#page-recruit .description .inner .box .table {
  width: 92vw;
  margin: 0 auto;
}
#page-recruit .description .inner .box .table table tr,
#page-recruit .description .inner .box .table table .row,
#page-recruit .description .inner .box .table dl tr,
#page-recruit .description .inner .box .table dl .row {
  display: block;
}
#page-recruit .description .inner .box .table table tr th,
#page-recruit .description .inner .box .table table tr dt,
#page-recruit .description .inner .box .table table .row th,
#page-recruit .description .inner .box .table table .row dt,
#page-recruit .description .inner .box .table dl tr th,
#page-recruit .description .inner .box .table dl tr dt,
#page-recruit .description .inner .box .table dl .row th,
#page-recruit .description .inner .box .table dl .row dt {
  display: block;
  background: #ddd;
  font-weight: bold;
  font-size: 3.7333333333vw;
  line-height: 0.6428571429;
  padding: 2.6666666667vw;
  border-right: 1px solid #fff;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#page-recruit .description .inner .box .table table tr td,
#page-recruit .description .inner .box .table table tr dd,
#page-recruit .description .inner .box .table table .row td,
#page-recruit .description .inner .box .table table .row dd,
#page-recruit .description .inner .box .table dl tr td,
#page-recruit .description .inner .box .table dl tr dd,
#page-recruit .description .inner .box .table dl .row td,
#page-recruit .description .inner .box .table dl .row dd {
  display: block;
  background: #f6f6f6;
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
  font-weight: 300;
  padding: 4vw;
  width: 100%;
}
#page-recruit .description .inner .box .table table tr td ul li,
#page-recruit .description .inner .box .table table tr dd ul li,
#page-recruit .description .inner .box .table table .row td ul li,
#page-recruit .description .inner .box .table table .row dd ul li,
#page-recruit .description .inner .box .table dl tr td ul li,
#page-recruit .description .inner .box .table dl tr dd ul li,
#page-recruit .description .inner .box .table dl .row td ul li,
#page-recruit .description .inner .box .table dl .row dd ul li {
  position: relative;
  padding: 0 0 0 1em;
}
#page-recruit .description .inner .box .table table tr td ul li:before,
#page-recruit .description .inner .box .table table tr dd ul li:before,
#page-recruit .description .inner .box .table table .row td ul li:before,
#page-recruit .description .inner .box .table table .row dd ul li:before,
#page-recruit .description .inner .box .table dl tr td ul li:before,
#page-recruit .description .inner .box .table dl tr dd ul li:before,
#page-recruit .description .inner .box .table dl .row td ul li:before,
#page-recruit .description .inner .box .table dl .row dd ul li:before {
  content: "・";
  position: absolute;
  left: 0;
}
#page-recruit .description .inner .box .table table tr td p + p,
#page-recruit .description .inner .box .table table tr dd p + p,
#page-recruit .description .inner .box .table table .row td p + p,
#page-recruit .description .inner .box .table table .row dd p + p,
#page-recruit .description .inner .box .table dl tr td p + p,
#page-recruit .description .inner .box .table dl tr dd p + p,
#page-recruit .description .inner .box .table dl .row td p + p,
#page-recruit .description .inner .box .table dl .row dd p + p {
  margin: 1.3333333333vw 0 0;
}
#page-recruit .description .inner .box .table table tr td p.sp_center,
#page-recruit .description .inner .box .table table tr dd p.sp_center,
#page-recruit .description .inner .box .table table .row td p.sp_center,
#page-recruit .description .inner .box .table table .row dd p.sp_center,
#page-recruit .description .inner .box .table dl tr td p.sp_center,
#page-recruit .description .inner .box .table dl tr dd p.sp_center,
#page-recruit .description .inner .box .table dl .row td p.sp_center,
#page-recruit .description .inner .box .table dl .row dd p.sp_center {
  text-align: center;
}
#page-recruit .description .inner .box.half_box .left_box {
  margin: 0 0 5.6vw;
}
#page-recruit .description .inner .box.half_box .left_box .profile_img {
  margin-top: 5.3333333333vw;
}
#page-recruit .description .inner .box.half_box .right_box {
  margin: 0 2.6666666667vw 0 0;
  position: relative;
  background: #f6f6f6;
  padding: 4vw 2.9333333333vw;
}
#page-recruit .description .inner .box.half_box .right_box .profile_img {
  width: 100%;
  margin: 0 0 4vw;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .right_title {
  color: #0b80c6;
  font-size: 3.7333333333vw;
  line-height: 0.8571428571;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin: 0 0 2.9333333333vw;
  position: relative;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .right_title.division_title:before {
  content: "";
  background: url(../img/recruit/icon_profile.png) no-repeat;
  background-size: 100%;
  width: 3.4666666667vw;
  height: 4.1333333333vw;
  display: inline-block;
  margin: 0 1.3333333333vw 0 0;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .right_title.flow_title:before {
  content: "";
  background: url(../img/recruit/icon_clock.png) no-repeat;
  background-size: 100%;
  width: 3.3333333333vw;
  height: 3.3333333333vw;
  display: inline-block;
  margin: 0 1.3333333333vw 0 0;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .right_title:after {
  content: "";
  position: absolute;
  width: 1.0666666667vw;
  height: 4vw;
  background: #0b80c6;
  display: block;
  top: 0.2666666667vw;
  left: -2.9333333333vw;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .division_area {
  margin: 0 0 2.6666666667vw;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow {
  position: relative;
  margin-left: 3.2vw;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl {
  display: block;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row {
  position: relative;
  margin: 0 0 2.4vw;
  display: block;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr th,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr dt,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row th,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row dt,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr th,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr dt,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row th,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row dt {
  display: block;
  float: left;
  color: #0b80c6;
  font-size: 3.7333333333vw;
  line-height: 1.2142857143;
  font-weight: bold;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr td,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr dd,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row td,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row dd,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr td,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr dd,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row td,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row dd {
  display: block;
  padding: 0 0 0 12vw;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr td strong,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr dd strong,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row td strong,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row dd strong,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr td strong,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr dd strong,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row td strong,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row dd strong {
  display: inline-block;
  font-size: 3.7333333333vw;
  line-height: 1.2142857143;
  margin: 0 0 0.6666666667vw;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr td p,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr dd p,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row td p,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row dd p,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr td p,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr dd p,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row td p,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row dd p {
  font-size: 3.2vw;
  line-height: 1.4166666667;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr:before,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row:before,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr:before,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row:before {
  content: "";
  width: 2.1333333333vw;
  height: 2.1333333333vw;
  background: #0b80c6;
  border-radius: 50%;
  position: absolute;
  left: -2.6666666667vw;
  top: 1.3333333333vw;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table tr:last-child,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow table .row:last-child,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl tr:last-child,
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow dl .row:last-child {
  margin: 0;
}
#page-recruit .description .inner .box.half_box .right_box .profile_wrap .flow_area .flow:before {
  content: "";
  width: 0.1333333333vw;
  height: calc(100% + 0.4vw);
  background: #0b80c6;
  position: absolute;
  left: -1.6vw;
  top: -3.2vw;
}
#page-recruit .description#engineer .flow:before {
  height: calc(100% - 3em);
}
#page-recruit #chart {
  margin: 0 0 6.6666666667vw;
}
#page-recruit #chart .inner {
  width: 92vw;
  margin: 0 auto;
}
#page-recruit #chart .inner h4 {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  font-weight: 500;
  text-align: left;
  color: #fff;
  background-image: linear-gradient(to right, #041a2e, #000);
  padding: 2vw;
  margin-bottom: 5.0666666667vw;
}
#page-recruit #chart .inner ol li {
  width: 100%;
  border: 1px solid #0b80c6;
  padding: 4vw;
  margin: 0 0 10.6666666667vw;
  position: relative;
}
#page-recruit #chart .inner ol li .title {
  position: relative;
  margin: 0 0 3.2vw;
}
#page-recruit #chart .inner ol li .title .no {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 14.6666666667vw;
  height: 6vw;
  color: #fff;
  margin: 0;
  background-color: #0b80c6;
  font-weight: bold;
  font-size: 3.4666666667vw;
  font-family: "Gantari", sans-serif;
  position: absolute;
  left: -4vw;
}
#page-recruit #chart .inner ol li .title h5 {
  color: #0b80c6;
  line-height: 6vw;
  margin-left: 14.6666666667vw;
  font-size: 5.0666666667vw;
}
#page-recruit #chart .inner ol li .text {
  font-weight: 300;
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
}
#page-recruit #chart .inner ol li .text a {
  color: #0b80c6;
}
#page-recruit #chart .inner ol li:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6vw 4.8vw 0 4.8vw;
  border-color: #0b80c6 transparent transparent transparent;
  position: absolute;
  display: block;
  bottom: -8.2666666667vw;
  right: 0;
  left: 0;
  margin: auto;
}
#page-recruit #chart .inner ol li:last-child:after {
  display: none;
}
#page-recruit #contact .inner {
  width: 92vw;
  margin: 0 auto;
  background: #f6f6f6;
  padding: 2.6666666667vw;
}
#page-recruit #contact .inner .title {
  color: #0b80c6;
  font-size: 4.5333333333vw;
  line-height: 1.8823529412;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  margin: 0 0 2.6666666667vw;
}
#page-recruit #contact .inner .text p {
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
  font-weight: 300;
}

/**
メルマガ登録フォーム
*/
#page-mailmagazine {
  padding: 10.6666666667vw 4vw 16vw;
  position: relative;
}
#page-mailmagazine .inner {
  margin: 0 auto;
}
#page-mailmagazine h3 {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  font-weight: 500;
  text-align: left;
  color: #fff;
  background-image: linear-gradient(to right, #041a2e, #000);
  padding: 2vw;
  margin-bottom: 2.6666666667vw;
}
#page-mailmagazine p {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  margin-bottom: 1em;
}
#page-mailmagazine p:last-of-type {
  margin-bottom: 0;
}
#page-mailmagazine a {
  color: #357fae;
}
#page-mailmagazine .form {
  background: #fff;
  padding: 0 6.4vw 10.6666666667vw;
  margin-top: 6vw;
}
#page-mailmagazine .form h3 {
  text-align: center;
  font-size: 4.5333333333vw;
  margin-bottom: 8vw;
}
#page-mailmagazine .form table {
  margin-bottom: 5.3333333333vw;
}
#page-mailmagazine .form table tr[data-qno="1"] {
  margin-top: 6.6666666667vw;
}
#page-mailmagazine .form table tr[data-qno="1"] td {
  display: block;
  text-align: center;
}
#page-mailmagazine .form table tr[data-qno="1"] td .mrc_webform_q {
  font-weight: normal;
  font-size: 3.7333333333vw;
  line-height: 2.0714285714;
  letter-spacing: 0.3733333333vw;
}
#page-mailmagazine .form table tr[data-qno="1"] td .mrc_webform_q a {
  text-decoration: none;
  border-bottom: 0.2666666667vw solid #126ecb;
  padding-bottom: 0.8vw;
}
#page-mailmagazine .form table tr[data-qno="1"] td .mrc_webform_a {
  font-weight: bold;
  font-size: 3.7333333333vw;
  line-height: 1;
}
#page-mailmagazine .form .submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
#page-mailmagazine .form .submit [type=submit] {
  display: block;
  background: #3b87ae;
  border: 0;
  font-size: 3.7333333333vw;
  color: #fff;
  width: 74.6666666667vw;
  height: 14.6666666667vw;
  line-height: 14.6666666667vw;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
}
#page-mailmagazine .form .submit [type=submit]:disabled {
  opacity: 1;
  background-color: #ccc;
  cursor: not-allowed;
}

#page-send .mailmagazine_send {
  padding: 10.6666666667vw 0 28vw;
  position: relative;
  width: 92vw;
  margin: 0 auto;
}
#page-send .mailmagazine_send h3 {
  font-size: 3.7333333333vw;
  font-weight: 500;
  text-align: center;
  margin-bottom: 4.6666666667vw;
  font-weight: bold;
  line-height: 1.67;
}
#page-send .mailmagazine_send p {
  text-align: center;
  line-height: 1.67;
  color: #333;
  margin-bottom: 4.6666666667vw;
}
#page-send .mailmagazine_send .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #3b87ae;
  border: 0;
  color: #fff;
  cursor: pointer;
  width: 80vw;
  height: 16vw;
  margin: 40px auto 0;
  font-size: 3.7333333333vw;
}

/**
製品案内
*/
#page-products .hx01 {
  font-size: 5.3333333333vw;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.2666666667vw;
  font-weight: bold;
  display: flex;
  flex-direction: column;
}
#page-products .hx01:before {
  margin: auto;
  text-align: center;
  top: 0;
  position: relative;
  color: #777777;
  font-size: 3.2vw;
  font-family: "Gantari", sans-serif;
  font-weight: 500;
  margin-bottom: 2vw;
}
#page-products .hx01:after {
  content: "";
  display: block;
  width: 8vw;
  height: 0.8vw;
  background-color: #0b80c6;
  margin: 4vw auto 0;
}
#page-products #search-manufacturere {
  background-color: #fff;
  background: url(../img/products/bg-manufacturer-sp.png) center top no-repeat;
  background-size: cover;
}
#page-products #search-manufacturere .inner {
  padding-top: 8vw;
  padding-bottom: 13.3333333333vw;
}
#page-products #search-manufacturere .inner h3 {
  color: #fff;
}
#page-products #search-manufacturere .inner .boxes {
  display: flex;
  flex-wrap: wrap;
  width: 92vw;
  margin: 6.6666666667vw auto 0;
}
#page-products #search-manufacturere .inner .boxes .box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44vw;
  height: 18vw;
  margin-left: 4vw;
}
#page-products #search-manufacturere .inner .boxes .box:nth-of-type(2n+1) {
  margin-left: 0;
}
#page-products #search-manufacturere .inner .boxes .box:nth-of-type(n+3) {
  margin-top: 4vw;
}
#page-products #search-manufacturere .inner .boxes .box a {
  display: flex;
  width: 100%;
}
#page-products #search-manufacturere .inner .boxes .box a img {
  width: 100%;
}
#page-products #search-manufacturere .inner .boxes .box a span {
  display: none;
}
#page-products #search-category {
  background-image: url(../img/top/bg-category.jpg), linear-gradient(to right, #041a2e, #000);
  background-repeat: no-repeat, no-repeat;
  background-size: 100% auto;
  margin-top: 6vw;
}
#page-products #search-category .inner {
  margin: 0 auto;
  padding-top: 8vw;
  padding-bottom: 12.6666666667vw;
}
#page-products #search-category .inner h3 {
  color: #fff;
}
#page-products #search-category .inner h4 {
  color: #fff;
  text-align: left;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 4.5333333333vw;
  line-height: 1;
}
#page-products #search-category .inner h4::before {
  margin: 0;
  font-size: 3.2vw;
  line-height: 1;
  margin-bottom: 1.3333333333vw;
}
#page-products #search-category .inner h4::after {
  display: none;
}
#page-products #search-category .inner .categories {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 8vw;
}
#page-products #search-category .inner .categories .category {
  border-left: 0.8vw solid #0b80c6;
  padding-left: 4.6666666667vw;
  padding-top: 1.2vw;
  padding-bottom: 1.2vw;
  margin-left: 4vw;
}
#page-products #search-category .inner .categories .category + .category {
  margin-top: 10.6666666667vw;
}
#page-products #search-category .inner h5 {
  margin-top: 8vw;
  color: #fff;
  display: flex;
  align-items: center;
  font-size: 3.7333333333vw;
  line-height: 1;
}
#page-products #search-category .inner h5:before {
  content: "";
  display: block;
  width: 1.0666666667vw;
  height: 0.2666666667vw;
  background-color: #fff;
  margin-right: 0.9333333333vw;
}
#page-products #search-category .inner .boxes {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3.3333333333vw;
}
#page-products #search-category .inner .boxes .box {
  width: 38vw;
  text-decoration: none;
}
#page-products #search-category .inner .boxes .box:nth-of-type(2n+0) {
  margin-left: 4vw;
}
#page-products #search-category .inner .boxes .box:nth-of-type(n + 3) {
  margin-top: 4vw;
}
#page-products #search-category .inner .boxes .box .img img {
  width: 100%;
}
#page-products #search-category .inner .boxes .box .title {
  color: #fff;
  font-size: 3.7333333333vw;
  line-height: 1.2142857143;
  margin-top: 2vw;
  text-align: center;
}
#page-products #search-category .inner .boxes + h5 {
  margin-top: 10.6666666667vw;
}
#page-products #search-application {
  background-color: #fff;
}
#page-products #search-application .inner {
  width: 92vw;
  margin: 0 auto;
  padding-top: 8vw;
  padding-bottom: 13.3333333333vw;
}
#page-products #search-application .inner .boxes {
  display: flex;
  flex-wrap: wrap;
  margin-top: 8vw;
}
#page-products #search-application .inner .boxes .box {
  width: 44vw;
  position: relative;
}
#page-products #search-application .inner .boxes .box:nth-of-type(2n) {
  margin-left: 4vw;
}
#page-products #search-application .inner .boxes .box:nth-of-type(n + 3) {
  margin-top: 4vw;
}
#page-products #search-application .inner .boxes .box .img {
  width: 100%;
}
#page-products #search-application .inner .boxes .box .img img {
  width: 100%;
}
#page-products #search-application .inner .boxes .box .title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #fff;
  font-size: 3.7333333333vw;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  letter-spacing: 0.152vw;
}
#page-products #search-application .inner .boxes .box .title .en {
  font-size: 2.4vw;
  line-height: 1.1111111111;
  font-family: "Gantari", sans-serif;
  font-weight: 500;
  margin-top: 2.6666666667vw;
  letter-spacing: 0vw;
  height: 3.3333333333vw;
  display: flex;
}
#page-products #search-application .inner .boxes .box .title:after {
  content: "";
  display: block;
  background: url(../img/common/arrow-long.svg) center center no-repeat;
  background-size: contain;
  width: 22.1333333333vw;
  height: 1.4666666667vw;
  margin-top: 2vw;
}
#page-products #search-wavelength {
  background: url(../img/products/bg-wavelength-sp.png) center top no-repeat;
  background-size: cover;
}
#page-products #search-wavelength .inner {
  width: 92vw;
  margin: 0 auto;
  padding-top: 8vw;
  padding-bottom: 12.6666666667vw;
}
#page-products #search-wavelength .boxes {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 8vw;
}
#page-products #search-wavelength .boxes .box + .box {
  margin-top: 10.6666666667vw;
}
#page-products #search-wavelength .boxes .box .img {
  width: 100%;
}
#page-products #search-wavelength .boxes .box .link {
  margin-top: 7.3333333333vw;
}
#page-products #search-wavelength .boxes .box .link ul {
  display: flex;
  justify-content: space-around;
}
#page-products #search-wavelength .boxes .box .link ul li:nth-of-type(1) a::before {
  background-image: url(../img/products/arrow01@2x.png);
}
#page-products #search-wavelength .boxes .box .link ul li:nth-of-type(2) a::before {
  background-image: url(../img/products/arrow02@2x.png);
}
#page-products #search-wavelength .boxes .box .link ul li:nth-of-type(3) a::before {
  background-image: url(../img/products/arrow03@2x.png);
}
#page-products #search-wavelength .boxes .box .link ul li:nth-of-type(4) a::before {
  background-image: url(../img/products/arrow04@2x.png);
}
#page-products #search-wavelength .boxes .box .link ul li:nth-of-type(5) a::before {
  background-image: url(../img/products/arrow05@2x.png);
}
#page-products #search-wavelength .boxes .box .link ul li:nth-of-type(6) a::before {
  background-image: url(../img/products/arrow06@2x.png);
}
#page-products #search-wavelength .boxes .box .link ul li a {
  position: relative;
  display: block;
  font-size: 3.3333333333vw;
  line-height: 1.36;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  color: #333333;
  border-bottom: 0.1333333333vw solid #333333;
  padding-bottom: 0.6666666667vw;
  text-decoration: none;
  text-align: center;
}
#page-products #search-wavelength .boxes .box .link ul li a::before {
  content: "";
  display: block;
  width: 2vw;
  height: 1.4666666667vw;
  background: url(../img/products/arrow01@2x.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: -3.3333333333vw;
  left: 50%;
  transform: translateX(-50%);
}
#page-products #search-wavelength .boxes .box:nth-of-type(2) .img {
  width: 38.6666666667vw;
}
#page-products #search-wavelength .boxes .box:nth-of-type(2) .link ul li a::before {
  background-image: url(../img/products/arrow07@2x.png);
}
#page-products #search-outlet {
  background-color: #eeeeee;
}
#page-products #search-outlet .inner {
  width: 92vw;
  margin: 0 auto;
  padding-top: 8vw;
  padding-bottom: 10.6666666667vw;
}
#page-products #search-outlet p {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  font-weight: 500;
  margin-top: 6.6666666667vw;
  text-align: left;
  letter-spacing: 0.3733333333vw;
}
#page-products #search-outlet .link {
  display: flex;
  justify-content: center;
  margin-top: 6.6666666667vw;
}
#page-products #search-outlet .link a {
  display: flex;
  width: 92vw;
  height: 13.3333333333vw;
  justify-content: center;
  align-items: center;
  border: 0.1333333333vw solid #333333;
  color: #333333;
  text-decoration: none;
  font-size: 3.7333333333vw;
  font-weight: bold;
  background: url(../img/common/arrow-right-bk@2x.png) right 3.8666666667vw center no-repeat;
  background-size: 2.1333333333vw auto;
}

/**
お問い合わせ
*/
#page-contact {
  padding: 10.6666666667vw 4vw 16vw;
  position: relative;
}
#page-contact .inner {
  margin: 0 auto;
}
#page-contact h3 {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  font-weight: 500;
  text-align: left;
  color: #fff;
  background-image: linear-gradient(to right, #041a2e, #000);
  padding: 2vw;
  margin-bottom: 2.6666666667vw;
}
#page-contact p {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  margin-bottom: 1em;
}
#page-contact p:last-of-type {
  margin-bottom: 0;
}
#page-contact a {
  color: #357fae;
}
#page-contact .form {
  background: #fff;
  padding: 0 6.4vw 10.6666666667vw;
  margin-top: 6vw;
}
#page-contact .form h3 {
  text-align: center;
  font-size: 4.5333333333vw;
  margin-bottom: 8vw;
}
#page-contact .form table {
  margin-bottom: 5.3333333333vw;
}
#page-contact .form table tr[data-qno="2"] {
  margin-top: 3.3333333333vw;
}
#page-contact .form table tr[data-qno="2"] td {
  display: block;
  text-align: center;
}
#page-contact .form table tr[data-qno="2"] td .mrc_webform_q {
  font-weight: normal;
  font-size: 3.7333333333vw;
  line-height: 2.0714285714;
  letter-spacing: 0.3733333333vw;
}
#page-contact .form table tr[data-qno="2"] td .mrc_webform_q a {
  text-decoration: none;
  border-bottom: 0.2666666667vw solid #126ecb;
  padding-bottom: 0.8vw;
}
#page-contact .form table tr[data-qno="2"] td .mrc_webform_a {
  font-weight: bold;
  font-size: 3.7333333333vw;
  line-height: 1;
}
#page-contact .form .submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
#page-contact .form .submit [type=submit] {
  display: block;
  background: #3b87ae;
  border: 0;
  font-size: 3.7333333333vw;
  color: #fff;
  width: 74.6666666667vw;
  height: 14.6666666667vw;
  line-height: 14.6666666667vw;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
}
#page-contact .form .submit [type=submit]:disabled {
  opacity: 1;
  background-color: #ccc;
  cursor: not-allowed;
}

#page-contact_send {
  background-color: rgb(255, 255, 255);
  padding: 22.6666666667vw 0 45.3333333333vw;
  position: relative;
}
#page-contact_send .inner {
  padding: 0 4vw;
}
#page-contact_send h3 {
  font-size: 4.5333333333vw;
  line-height: 1.2941176471;
  font-weight: bold;
  text-align: center;
  margin-bottom: 6.6666666667vw;
}
#page-contact_send p {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  text-align: left;
  margin-bottom: 10.6666666667vw;
}
#page-contact_send .link {
  display: flex;
  justify-content: center;
}
#page-contact_send .link a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.7333333333vw;
  width: 74.6666666667vw;
  height: 14.6666666667vw;
}

/**
404
*/
/**
プライバシーポリシー
*/
#page-privacy {
  padding: 5.3333333333vw 0 28vw;
  position: relative;
}
#page-privacy .inner {
  width: 92vw;
  margin: 0 auto;
}
#page-privacy p {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  letter-spacing: 0.3733333333vw;
}
#page-privacy ol {
  border: solid 0.2666666667vw #ccc;
  padding: 6vw 5.3333333333vw;
  margin-top: 6.6666666667vw;
}
#page-privacy ol li {
  list-style: decimal;
  margin-left: 1em;
  padding-left: 0.25em;
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  letter-spacing: 0.3733333333vw;
}
#page-privacy ol li + li {
  margin-top: 3.3333333333vw;
}

/**
サイトポリシー
*/
#page-sitepolicy {
  background-color: rgb(255, 255, 255);
  padding: 10.6666666667vw 0 18.6666666667vw;
  position: relative;
}
#page-sitepolicy .inner {
  padding: 0 4vw;
}
#page-sitepolicy h3 {
  font-weight: bold;
  margin-top: 6vw;
  margin-bottom: 4vw;
  font-size: 3.7333333333vw;
  line-height: 1.2857142857;
  position: relative;
  background-color: #031433;
  color: #fff;
  padding: 2.6666666667vw 6vw;
}
#page-sitepolicy h3:before {
  position: absolute;
  content: "";
  width: 0.6666666667vw;
  height: calc(100% - 4vw);
  background-color: #fff;
  display: block;
  top: 50%;
  left: 2.6666666667vw;
  transform: translateY(-50%);
}
#page-sitepolicy p {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  margin-bottom: 4vw;
  color: #333;
}
#page-sitepolicy p:last-of-type {
  margin-bottom: 0;
}
#page-sitepolicy ol li,
#page-sitepolicy ul li {
  font-size: 3.7333333333vw;
  line-height: 1.5;
}
#page-sitepolicy ul li:before {
  content: "・";
}
#page-sitepolicy ol li {
  list-style-type: decimal;
}

/**
リンク
*/
/**
サイトマップ
*/
#page-sitemap .inner {
  width: 92vw;
  margin: 0 auto;
  padding-top: 6.6666666667vw;
  padding-bottom: 28vw;
}
#page-sitemap h3 {
  background-image: linear-gradient(to right, #041a2e, #000);
  font-size: 3.7333333333vw;
  font-weight: 500;
  color: #fff;
  height: 8vw;
  display: flex;
  align-items: center;
  padding-left: 2vw;
  margin-bottom: 6.6666666667vw;
}
#page-sitemap section + section {
  margin-top: 10.6666666667vw;
}
#page-sitemap .genres {
  display: flex;
  flex-wrap: wrap;
}
#page-sitemap .genres .genre.size-l {
  width: 100%;
}
#page-sitemap .genres .genre.size-m {
  width: 100%;
}
#page-sitemap .genres .genre.size-s {
  width: 44.6666666667vw;
}
#page-sitemap .genres .genre.size-s + .size-s {
  margin-left: 2.6666666667vw;
}
#page-sitemap .genres .genre + .genre {
  margin-top: 6vw;
}
#page-sitemap .genres .genre h4 {
  width: 100%;
  color: #333333;
  position: relative;
  font-size: 3.4666666667vw;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 5.3333333333vw;
  padding-left: 2.6666666667vw;
}
#page-sitemap .genres .genre h4:before {
  content: "";
  display: block;
  position: absolute;
  width: 1.0666666667vw;
  height: 4.8vw;
  background-color: #0b80c6;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#page-sitemap .genres .genre h4:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: -2.1333333333vw;
  border-bottom: 0.2666666667vw solid #cccccc;
}
#page-sitemap .categories {
  display: flex;
  flex-wrap: wrap;
}
#page-sitemap .categories .category {
  padding-bottom: 3.3333333333vw;
  width: 50%;
}
#page-sitemap .categories .category:nth-of-type(n + 2) {
  margin-top: 4vw;
}
#page-sitemap .categories .category.wide {
  width: 100%;
}
#page-sitemap .categories .category h5 {
  font-size: 3.7333333333vw;
  color: #0b80c6;
  font-weight: bold;
  position: relative;
  padding-left: 5.8666666667vw;
  margin-bottom: 2vw;
}
#page-sitemap .categories .category h5::before {
  content: "";
  display: block;
  width: 3.7333333333vw;
  height: 1.0666666667vw;
  background-color: #0b80c6;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#page-sitemap .categories .category h6 {
  font-size: 3.7333333333vw;
  font-weight: bold;
  margin-bottom: 2vw;
}
#page-sitemap .boxes {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}
#page-sitemap .boxes .box {
  width: 50%;
}
#page-sitemap .boxes .box:nth-of-type(n + 3) {
  margin-top: 7.3333333333vw;
}
#page-sitemap ul li {
  padding-right: 1em;
}
#page-sitemap ul li + li {
  margin-top: 3.3333333333vw;
}
#page-sitemap ul li span,
#page-sitemap ul li a {
  text-decoration: none;
  font-size: 3.2vw;
  line-height: 1.4583333333;
  padding-left: 1em;
  color: #333333;
  display: block;
  position: relative;
}
#page-sitemap ul li span::before,
#page-sitemap ul li a::before {
  content: "";
  display: block;
  background: url(../img/common/arrow-right-bk@2x.png) left center no-repeat;
  background-size: 1.7333333333vw auto;
  width: 1.7333333333vw;
  height: 2.9333333333vw;
  position: absolute;
  left: 0;
  top: 0.9333333333vw;
}
#page-sitemap ul li ul {
  padding-top: 0.75em;
}
#page-sitemap ul li ul li {
  padding-left: 1.25em;
}

/**
coming_soon
*/
#page-coming_soon {
  background-color: rgb(255, 255, 255);
  padding: 29.3333333333vw 0 32vw;
  position: relative;
}
#page-coming_soon .inner {
  margin: 0 auto;
}
#page-coming_soon h3 {
  font-size: 7.2vw;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  color: #000000;
}
#page-coming_soon p {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  text-align: center;
  color: #333333;
  margin-top: 6vw;
}
#page-coming_soon .link a {
  width: 74.6666666667vw;
  height: 14.6666666667vw;
  margin: 8vw auto 0;
  font-size: 3.7333333333vw;
}

/**
notfound-page
*/
#page-notfound-page {
  background-color: rgb(255, 255, 255);
  padding: 29.3333333333vw 0 32vw;
  position: relative;
}
#page-notfound-page .inner {
  margin: 0 auto;
}
#page-notfound-page h3 {
  font-size: 7.2vw;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  color: #000000;
  font-family: "Gantari", sans-serif;
}
#page-notfound-page p {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  text-align: center;
  color: #333333;
  margin-top: 6vw;
}
#page-notfound-page .link a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #3b87ae;
  border: 0;
  color: #fff;
  cursor: pointer;
  font-size: 3.7333333333vw;
  width: 74.6666666667vw;
  height: 14.6666666667vw;
  margin: 8vw auto 0;
  border-radius: 0.4vw;
  background-color: #0b80c6;
}

/**
総合カタログ
*/
#page-catalog .inner {
  width: 92vw;
  margin: 0 auto;
  padding-top: 6.6666666667vw;
  padding-bottom: 28vw;
  text-align: center;
}
#page-catalog .box {
  width: 100%;
}
#page-catalog h3 {
  font-size: 5.0666666667vw;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  color: #0b80c6;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../img/catalog/catalog-title-bg-sp.png);
  background-size: contain;
  width: 100%;
  height: 12vw;
  font-weight: bold;
}
#page-catalog p {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  text-align: left;
  margin-top: 3.7333333333vw;
}
#page-catalog p:last-of-type {
  margin-bottom: 0;
}
#page-catalog .img {
  width: 81.8666666667vw;
  margin: 6vw auto 0;
}
#page-catalog a {
  color: #357fae;
}
#page-catalog .form {
  width: 80vw;
  margin: 6.6666666667vw auto 0;
}
#page-catalog .form h3 {
  text-align: center;
  font-size: 3.2vw;
  margin-bottom: 3.3333333333vw;
}
#page-catalog .form table {
  width: 100%;
}
#page-catalog .form table tr[data-qno="1"] {
  margin-top: 3.3333333333vw;
}
#page-catalog .form table tr[data-qno="1"] td {
  display: block;
  text-align: center;
}
#page-catalog .form table tr[data-qno="1"] td .mrc_webform_q {
  font-weight: normal;
  font-size: 3.7333333333vw;
  line-height: 1.8571428571;
}
#page-catalog .form table tr[data-qno="1"] td .mrc_webform_q a {
  text-decoration: none;
  border-bottom: 0.1333333333vw solid #126ecb;
  padding-bottom: 0.5333333333vw;
}
#page-catalog .form table tr[data-qno="1"] td .mrc_webform_a {
  display: flex;
  justify-content: center;
  font-weight: bold;
  font-size: 3.7333333333vw;
  line-height: 1;
}
#page-catalog .form table tr[data-qno="1"] td .mrc_webform_a label {
  display: flex;
  align-items: center;
}
#page-catalog .form table tr[data-qno="1"] td .mrc_webform_a [type=checkbox] {
  width: 6.6666666667vw;
  height: 6.6666666667vw;
  border-color: #ccc;
  margin-right: 2.1333333333vw;
}
#page-catalog .form table tr textarea {
  width: 100%;
}
#page-catalog .form .submit {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#page-catalog .form .submit [type=submit] {
  display: block;
  background: #3b87ae;
  border: 0;
  font-size: 2.4vw;
  color: #fff;
  width: 40vw;
  height: 8vw;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
}
#page-catalog .form .submit [type=submit]:hover {
  opacity: 0.5;
}
#page-catalog .form .submit [type=submit]:disabled {
  opacity: 1;
  background-color: #ccc;
  cursor: not-allowed;
}
#page-catalog #mrc_webform .mrc_webform .mrc_webform_button {
  width: 100%;
}
#page-catalog #mrc_webform .mrc_webform .mrc_webform_button button.mrc_webform_apply {
  margin: 0 auto;
  width: 100%;
  height: 16vw;
  border-radius: 2.6666666667vw;
  border: solid 0.1333333333vw #333;
  background-color: #041a2e !important;
  color: #fff !important;
}

/**
アウトレット
*/
#page-outlet {
  padding: 10.6666666667vw 4vw 16vw;
  position: relative;
}
#page-outlet .inner {
  margin: 0 auto;
}
#page-outlet h3 {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
  font-weight: 500;
  text-align: left;
  color: #fff;
  background-image: linear-gradient(to right, #041a2e, #000);
  padding: 2vw;
  margin-bottom: 2.6666666667vw;
}
#page-outlet p {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  margin-bottom: 1em;
}
#page-outlet p:last-of-type {
  margin-bottom: 0;
}
#page-outlet a {
  color: #357fae;
}
#page-outlet h5 {
  clear: both;
  padding: 0 0 1.0666666667vw;
  margin-top: 5.3333333333vw;
  margin-bottom: 4vw;
  font-size: 4.2666666667vw;
  color: #0b80c6;
  border-bottom: 0.2666666667vw solid #cccccc;
}
#page-outlet .form {
  margin-top: 6.6666666667vw;
}
#page-outlet .form h3 {
  margin-bottom: 3.3333333333vw;
}
#page-outlet .form .attention {
  margin: 4vw 0;
}
#page-outlet .form .webform-wrap {
  padding: 0 6.4vw 10.6666666667vw;
  margin: 3.3333333333vw auto 0;
}
#page-outlet .form table {
  width: 100%;
}
#page-outlet .form table tr[data-qno="4"] {
  margin-top: 2.6666666667vw;
  margin-bottom: 6.6666666667vw;
}
#page-outlet .form table tr[data-qno="4"] td {
  display: block;
  text-align: center;
}
#page-outlet .form table tr[data-qno="4"] td .mrc_webform_q {
  font-weight: normal;
  font-size: 3.7333333333vw;
  line-height: 2.0714285714;
  letter-spacing: 0.3733333333vw;
}
#page-outlet .form table tr[data-qno="4"] td .mrc_webform_q a {
  text-decoration: none;
  border-bottom: 0.2666666667vw solid #126ecb;
  padding-bottom: 0.8vw;
}
#page-outlet .form table tr[data-qno="4"] td .mrc_webform_a {
  font-weight: bold;
  font-size: 3.7333333333vw;
  line-height: 1;
}
#page-outlet .form table tr textarea {
  width: 100%;
}

/**
カテゴリページ
*/
#categoryPage {
  position: relative;
}
#categoryPage > h3 {
  clear: both;
  padding: 1.3333333333vw 2.6666666667vw 1.6vw;
  margin-top: 4vw;
  margin-bottom: 4vw;
  font-size: 3.7333333333vw;
  line-height: 2.0714285714;
  background-image: linear-gradient(to right, #041a2e, #000);
  color: #fff;
}
#categoryPage > h3:first-of-type {
  margin-top: 0;
}
#categoryPage > h3 small {
  display: none;
}
#categoryPage > h4 {
  clear: both;
  padding: 1.3333333333vw 2.6666666667vw 1.6vw;
  margin-top: 3.3333333333vw;
  margin-bottom: 3.3333333333vw;
  font-size: 3.7333333333vw;
  line-height: 2.0714285714;
  background-color: #e3e5e6;
  color: #0b80c6;
}
#categoryPage > h5 {
  clear: both;
  padding: 0 0 0.5333333333vw;
  margin-top: 2.6666666667vw;
  margin-bottom: 2.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.8125;
  color: #0b80c6;
  border-bottom: 0.2666666667vw solid #cccccc;
}
#categoryPage .categoryOutline h3 {
  clear: both;
  padding: 0 0 0.5333333333vw;
  margin-top: 2.6666666667vw;
  margin-bottom: 2.6666666667vw;
  font-size: 4.2666666667vw;
  color: #0b80c6;
  border-bottom: 0.2666666667vw solid #cccccc;
}
#categoryPage .categoryOutline .clearfix:after {
  content: "";
  display: block;
  clear: both;
}
#categoryPage .categoryOutline .floatImgRight + p {
  margin-top: 2.6666666667vw;
}
#categoryPage .categoryOutline figcaption {
  text-align: center;
}
#categoryPage .categoryOutline p {
  font-size: 3.7333333333vw;
  line-height: 1.3571428571;
}
#categoryPage + #technicalNote {
  margin-top: 6.6666666667vw;
}

.products-children {
  margin: 0 auto;
  padding: 13.3333333333vw 0 16vw;
  position: relative;
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
}
.products-children .inner {
  width: 92vw;
  margin: 0 auto;
}
.products-children #products h3 {
  clear: both;
  padding: 1.3333333333vw 2.6666666667vw 1.6vw;
  margin-top: 4vw;
  margin-bottom: 4vw;
  font-size: 3.7333333333vw;
  background-image: linear-gradient(to right, #041a2e, #000);
  color: #fff;
}
.products-children #products h3 small {
  display: none;
}
.products-children #products h3:first-of-type {
  margin-top: 0;
}
.products-children #products h4 {
  clear: both;
  padding: 1.3333333333vw 2.6666666667vw 1.6vw;
  margin-top: 3.3333333333vw;
  margin-bottom: 3.3333333333vw;
  font-size: 3.7333333333vw;
  background-color: #e3e5e6;
  color: #0b80c6;
}
.products-children #products h5 {
  clear: both;
  padding: 0 0 0.5333333333vw;
  margin-top: 2.6666666667vw;
  margin-bottom: 2.6666666667vw;
  font-size: 4.2666666667vw;
  color: #0b80c6;
  border-bottom: 0.2666666667vw solid #cccccc;
}
.products-children #products h6 {
  clear: both;
  font-size: 3.2vw;
  font-weight: bold;
  margin-top: 2vw;
  margin-bottom: 1.3333333333vw;
}
.products-children #products .half + .half {
  margin-top: 6.6666666667vw;
}
.products-children #products ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4vw;
}
.products-children #products ul li {
  margin-left: 2.6666666667vw;
}
.products-children #products ul li:nth-of-type(3n + 1) {
  margin-left: 0;
}
.products-children #products ul li:nth-of-type(n + 4) {
  margin-top: 2.6666666667vw;
}
.products-children #products ul li a {
  display: block;
  font-size: 1.8666666667vw;
  line-height: 1.2857142857;
  text-decoration: none;
  width: 28.6666666667vw;
  height: 100%;
  border: 0.1333333333vw solid #ccc;
  padding: 1.8666666667vw 1.3333333333vw;
}
.products-children #products ul li .thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26vw;
  height: 16vw;
}
.products-children #products ul li .thumb img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.products-children #products ul li .name,
.products-children #products ul li .cat_title {
  display: block;
  text-align: center;
  margin-top: 0.6666666667vw;
}