@charset "UTF-8";
/* //////////////////////////////////////
- フォント読み込み
////////////////////////////////////// */
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300;400;500;700&family=Noto+Sans+JP:wght@300;400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500&family=Rajdhani:wght@300;400;500;600;700&display=swap");
/* //////////////////////////////////////
- reset
////////////////////////////////////// */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
a {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: normal;
  text-decoration: none;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 0;
}

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

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
  display: block;
}

ul,
ol {
  list-style: none;
  list-style-position: inside;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after {
  content: "";
  content: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

a[href^="tel:"]::before {
  content: "📞 ";
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  background-color: #d7dbe4;
  margin: 1em 0;
  padding: 0;
}

img,
input,
select {
  vertical-align: middle;
}

/* //////////////////////////////////////
- common
////////////////////////////////////// */

body {
  color: #222;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  min-height: 100vh;
  min-width: 1240px;
}
main {
  display: block;
  overflow: hidden;
}

.pc_none, .sp_none {
	font-size: inherit;
}
@media screen and (min-width: 640px) {
  .pc_none {
    display: none !important;
  }
}
@media screen and (max-width: 640px) {
  body {
    min-width: auto;
  }
  .sp_none {
    display: none !important;
  }
}

/* ////////////////////////////////////// */

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  height: 80px;
  transition: 0.3s;
  min-width: 1160px;
}
header h1 {
  background: url(../img/logo_white.svg) no-repeat center / contain;
  width: 320px;
  height: 42px;
  margin: 17px 0 0 42px;
  position: relative;
  transition: 0.3s;
}
header h1 a {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
}
header .menu {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  height: 100%;
}
header .menu article {
  display: inline-block;
  position: relative;
}
header .menu article a {
  font-size: 15px;
  line-height: 80px;
  padding: 0 17px;
  color: white;
  transition: 0.3s;
}
header .menu article div {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: auto;
}
header .menu article div a {
  line-height: 1;
  display: block;
  white-space: nowrap;
  padding: 12px 15px;
}
header .menu .contact {
  display: inline-block;
  font-size: 15px;
  line-height: 80px;
  padding: 0 25px;
  background: #0249a7;
  color: white;
  margin-left: 22px;
}
header .menu .address {
}
header .contact {
}
header .menu_btn {
}

header.white {
  background: white;
}
header.white h1 {
  background-image: url(../img/logo_blue.svg);
}
header.white .menu article a {
  color: #222222;
}
header.white .menu article div {
  background: #000000c2;
  background: white;
}
header.white .menu article div a {
  /* color: white; */
}

@media screen and (max-width: 640px) {
  header {
    height: 14vw;
    min-width: auto;
  }
  header h1 {
    margin: 4vw 0 0 4.5vw;
    width: 60vw;
    height: 6vw;
  }
  header h1 a {
  }
  header .menu {
    background: #0249a7;
    z-index: 2;
    height: auto;
    width: 100%;
    padding: 14vw 5vw 0;
    right: -100vw;
    transition: 0.3s;
  }
  header .menu article {
    display: block;
    padding: 7vw 0 6vw 11vw;
    border-top: solid 1px white;
  }
  header .menu article a {
    font-size: 4.5vw;
    line-height: 1;
    padding: 0;
    display: inline-block;
    vertical-align: top;
  }
  header .menu article div {
    display: inline-block;
    vertical-align: top;
    position: static;
    background: transparent;
    padding: 0 0 0 15vw;
    margin-top: -4vw;
  }
  header .menu article div a {
    font-size: 3.5vw;
    padding: 4.5vw 0 0;
    position: relative;
  }
  header .menu article div a::before {
    content: "";
    position: absolute;
    top: 6.5vw;
    left: -3.5vw;
    z-index: 1;
    width: 1vw;
    height: 0;
    border-bottom: solid 1px white;
  }
  header .menu .contact {
    position: static;
    width: 100%;
    margin: 11vw 0 0;
    font-size: 4vw;
    line-height: 11vw;
    height: auto;
    padding: 0;
    background: white;
    color: #0249a7;
  }
  header .menu .address {
    font-size: 3.5vw;
    line-height: 1.6;
    text-align: center;
    color: white;
    margin: 5vw 0 10vw;
  }
  header .contact {
    position: absolute;
    top: 0;
    right: 14.5vw;
    z-index: 1;
    width: 14vw;
    height: 14vw;
    font-size: 1vw;
    text-align: center;
    color: white;
    padding: 9.5vw 0 0;
    background: url(/assets/img/icon_contact_sp.svg) no-repeat center top 3vw /
      auto 5vw;
  }
  header .menu_btn {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    width: 14.5vw;
    height: 14vw;
    background: #0249a7;
    text-align: center;
    padding: 9.5vw 0 0;
    cursor: pointer;
    box-sizing: border-box;
    transition: 0.3s;
  }
  header .menu_btn::before {
    content: "";
    position: absolute;
    top: 5.5vw;
    left: 3.5vw;
    width: 5.5vw;
    height: 0;
    border-top: solid 2px white;
    transition: 0.3s;
  }
  header .menu_btn::after {
    content: "MENU";
    font-size: 1vw;
    color: white;
    letter-spacing: 1px;
    transition: 0.3s;
  }
  header .menu_btn span {
  }
  header .menu_btn span::before,
  header .menu_btn span::after {
    content: "";
    position: absolute;
    left: 3.5vw;
    width: 7vw;
    height: 0;
    border-top: solid 2px white;
    transition: 0.3s;
  }
  header .menu_btn span::before {
    top: 3vw;
  }
  header .menu_btn span::after {
    top: 8vw;
  }
  header.menu_show .menu {
    right: 0;
  }
  header.menu_show .menu_btn {
    background: transparent;
  }
  header.menu_show .menu_btn::before {
    width: 0;
    left: 5.5vw;
  }
  header.menu_show .menu_btn::after {
    color: transparent;
  }
  header.menu_show .menu_btn span {
  }
  header.menu_show .menu_btn span::before,
  header.menu_show .menu_btn span::after {
    width: 7.5vw;
  }
  header.menu_show .menu_btn span::before {
    transform: rotate(45deg);
    transform-origin: left top;
  }
  header.menu_show .menu_btn span::after {
    transform: rotate(-45deg);
    transform-origin: left bottom;
  }
  header.white {
    background: white;
  }
  header.white h1 {
    background-image: url(../img/logo_blue.svg);
  }
  header.white .menu article a {
    color: white;
  }
  header.white .menu article div {
    background: transparent;
  }
  header.white .menu article div a {
  }
}

footer {
  border-top: solid 1px #222222;
  color: white;
}
footer .totop {
  display: block;
  background: url(../img/totop.svg) no-repeat center / contain;
  width: 55px;
  height: 55px;
  margin: 80px auto 65px;
}
footer section {
  background: #262f3c;
}
footer section .wrap {
  position: relative;
  max-width: 1210px;
  width: 100%;
  margin: 0 auto 0;
  padding: 45px 0 45px;
}
footer section h1 {
  background: url(../img/logo_white.svg) no-repeat center / contain;
  width: 312px;
  height: 40px;
  margin: 0 0 18px;
}
footer section h1 a {
}
footer section .contact {
  display: block;
  width: 312px;
  margin: 0;
  background: #0249a7;
  font-size: 16px;
  text-align: center;
  line-height: 28px;
  color: white;
  padding: 8px 0;
}
footer section .contact span {
  font-size: 14px;
}
footer section .info {
  display: inline-block;
  vertical-align: top;
  width: 390px;
}
footer section .sns {
	margin: 18px 0 0;
}
footer section .sns a {
	display: inline-block;
	width: 145px;
	margin-right: 16px;
}
footer section .sns a img {
	width: 100%;
}
footer section .address {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.8;
}
footer section .menu {
  display: inline-block;
  vertical-align: top;
  width: 820px;
}
footer section .menu article {
  display: inline-block;
  vertical-align: top;
  height: 100%;
  border-left: solid 1px white;
  padding: 0 40px 30px 42px;
}
footer section .menu article a {
  font-size: 14px;
  line-height: 1;
  display: block;
  color: white;
  margin: 0 0 16px;
}
footer section .menu article a:last-of-type {
  margin: 0 0 13px;
}
footer section .menu article div {
  padding: 4px 0 0 14px;
}
footer section .menu article div a {
  font-size: 13px;
  margin: 0 0 17px;
  position: relative;
}
footer section .menu article div a::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -13px;
  z-index: 1;
  width: 5px;
  height: 0;
  border-bottom: solid 1px white;
}
footer section .menu .iso {
	width: 96px;
	transform: translate(30px, 14px);
}
footer section .menu dl {
	display: inline-block;
	vertical-align: top;
	margin-right: 58px;
}
footer section .menu dl:last-of-type {
	margin-right: 0px;
}
footer section .menu dl dt,
footer section .menu dl dd {
	display: inline-block;
	vertical-align: top;
	font-size: 13px;
}
footer section .menu dl dt {
	padding-right: 12px;
}
footer section .menu dl dd {}
footer section hr {
	margin: 38px 0;
}
footer section .copyright {
  font-size: 12px;
  text-align: center;
  margin: 40px 0 0;
}

@media screen and (max-width: 640px) {
  footer {
  }
  footer .totop {
    width: 15vw;
    height: 15vw;
    margin: 16vw auto 15vw;
  }
  footer section {
  }
  footer section .wrap {
    padding: 9vw 8vw 0;
  }
  footer section h1 {
    margin: 0;
    width: 100%;
    height: 12vw;
  }
  footer section h1 a {
  }
  footer section .contact {
    margin: 3vw 0 0;
    width: 100%;
    font-size: 4vw;
    line-height: 7vw;
    padding: 3vw 0;
  }
  footer section .info {
	width: 100%;
}
  footer section .sns {
	margin: 3vw 0 0;
	padding: 0 0 6vw;
}
  footer section .sns a {
	width: 39vw;
	margin-right: 3vw;
}
  footer section .sns a img {}
  footer section .address {
    margin: 4vw 0 0;
    font-size: 3.5vw;
  }
  footer section .menu {
    position: static;
    border: none;
    width: auto;
    margin: 3vw 0 0;
  }
  footer section .menu article {
    width: 50%;
    padding: 9vw 0 8vw;
    border: none;
    border-top: solid 1px white;
  }
  footer section .menu article:nth-of-type(3) {
  width: 100%;
  }
  footer section .menu article:nth-of-type(4) {
  width: 0%;
  }
  footer section .menu article a {
    font-size: 4.5vw;
    margin: 0 0 7vw;
  }
  footer section .menu article a:last-of-type {
    margin: 0;
  }
  footer section .menu article div {
    padding: 5vw 0 0 3vw;
  }
  footer section .menu article div a {
    font-size: 3.5vw;
    margin: 0 0 5vw;
  }
  footer section .menu article div a::before {
    top: 2vw;
    left: -3vw;
    width: 1vw;
  }
  footer section .menu .iso {
	position: absolute;
	top: 245vw;
	left: 25vw;
	width: 27vw;
}
  footer section .menu dl {
	display: block;
	width: 100%;
	margin: 0 0 3vw;
}
  footer section .menu dl dt,
  footer section .menu dl dd {
	display: block;
	font-size: 3.5vw;
	line-height: 1.7;
}
  footer section .menu dl dt {}
  footer section .menu dl dd {}
  footer section hr {margin: 0 0 5vw;}
  footer section .copyright {
    font-size: 3vw;
    padding: 43vw 0 4vw;
  }
}

.circle_arrow {
}
.circle_arrow::before {
  content: "";
  display: inline-block;
  vertical-align: sub;
  width: 28px;
  height: 28px;
  background: url(/assets/img/circle_arrow.svg) no-repeat center / contain;
  margin: 0 19px -1px 0;
}
.circle_arrow.btw {
  border: solid 1px #0249a7;
  transition: 0.3s;
}
.circle_arrow.btw::before {
  transition: 0.3s;
}
.circle_arrow.btw:hover {
  background: white !important;
  color: #0249a7 !important;
}
.circle_arrow.btw:hover::before {
  background-image: url(/assets/img/circle_arrow_blue.svg);
}
.circle_arrow.wtb {
  transition: 0.3s;
}
.circle_arrow.wtb::before {
  transition: 0.3s;
}
.circle_arrow.wtb:hover {
  color: #0249a7 !important;
}
.circle_arrow.wtb:hover::before {
  background-image: url(/assets/img/circle_arrow_blue.svg);
}

@media screen and (max-width: 640px) {
  .circle_arrow {
  }
  .circle_arrow::before {
    width: 8vw;
    height: 8vw;
    margin: 0 3vw -1vw 0;
  }
}

/** top **/
.top {
}
.top #visual {
  height: 770px;
  position: relative;
}
.top #visual::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  background: url(/img/top/marutomo_text_pc.png) no-repeat right bottom /
    contain;
  width: 100%;
  height: 185px;
}
.top #visual p {
  position: absolute;
  top: 210px;
  left: 96px;
  z-index: 1;
  font-size: 22px;
  line-height: 1.9;
  color: white;
  text-indent: -0.65em;
}
.top #visual .bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: black;
}
.top #visual .bg div {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  animation: top_visual 12s infinite forwards ease-in-out;
}
@-webkit-keyframes top_visual {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  30% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.top #visual .bg div:nth-of-type(1) {
  animation-delay: -1s;
}
.top #visual .bg div:nth-of-type(2) {
  animation-delay: -5s;
}
.top #visual .bg div:nth-of-type(3) {
  animation-delay: -9s;
}
.top #foundry {
  background: url(/img/top/foundry_bg_pc.png) no-repeat center top 40px / auto
    500px;
  height: 615px;
}
.top #foundry .wrap {
  max-width: 1305px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 0;
  position: relative;
}
.top #foundry p {
  font-size: 17.5px;
  line-height: 1.6;
  position: absolute;
  top: 250px;
  right: 50px;
  width: 585px;
  padding: 35px 60px 41px;
  background: white;
}
.top #foundry .emblem {
  width: 400px;
}
.top #product {
  max-width: 1305px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 90px;
  position: relative;
}
.top #product h2 {
  font-size: 52px;
  font-family: "Rajdhani", sans-serif;
  line-height: 1;
  padding: 30px 0 0;
  letter-spacing: 3px;
  position: relative;
  font-weight: 500;
}
.top #product h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border: solid 10px transparent;
  border-color: #0249a7 transparent transparent #0249a7;
}
.top #product h2 span {
  display: block;
  font-size: 18px;
  line-height: 1;
  margin: 6px 0 0;
  color: #0249a7;
}
.top #product p {
  font-size: 17.5px;
  line-height: 1.6;
  width: 515px;
  margin: 34px 0 0;
}
.top #product picture {
  position: absolute;
  top: 0;
  left: 650px;
  width: 52%;
}
.top #product picture img {max-width: 100%;}
.top #product .btn {
  display: block;
  width: 240px;
  margin: 49px 0 0;
  background: #0249a7;
  font-size: 22px;
  text-align: center;
  line-height: 50px;
  color: white;
  font-family: "Rajdhani", sans-serif;
}
.top #product .detail {
  padding: 130px 0 0;
  position: relative;
  white-space: nowrap;
}
.top #product .detail::before {
  content: "";
  position: absolute;
  top: -25px;
  left: calc(50% - 460px);
  z-index: -1;
  width: 100vw;
  height: 440px;
  background: #262f3c21;
}
.top #product .detail a {
  display: inline-block;
  vertical-align: top;
  width: calc(33% - 8px);
  position: relative;
}
.top #product .detail a:nth-of-type(1) {
  margin: -60px 0 0;
}
.top #product .detail a:nth-of-type(2) {
  margin: 0 18px;
}
.top #product .detail a:nth-of-type(3) {
  margin: 60px 0 0;
}
.top #product .detail a img {
  max-width: 100%;
}
.top #product .detail a span {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  font-size: 20px;
  text-align: center;
  line-height: 50px;
  color: white;
  background: #262f3cf2;
}
.top #product .detail a span::before {
}
.top #product .detail a span::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 10px;
  height: 100%;
  background: #0249a7d4;
}
.top #equipment {
  max-width: 1305px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 90px;
  position: relative;
}
.top #equipment .wrap {
  display: inline-block;
  vertical-align: middle;
  width: 480px;
}
.top #equipment h2 {
  font-size: 52px;
  font-family: "Rajdhani", sans-serif;
  line-height: 1;
  padding: 30px 0 0;
  letter-spacing: 3px;
  position: relative;
  font-weight: 500;
}
.top #equipment h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border: solid 10px transparent;
  border-color: #0249a7 transparent transparent #0249a7;
}
.top #equipment h2 span {
  display: block;
  font-size: 18px;
  line-height: 1;
  margin: 6px 0 0;
  color: #0249a7;
}
.top #equipment p {
  font-size: 17.5px;
  line-height: 1.6;
  margin: 34px 0 0;
}
.top #equipment picture {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 620px);
  margin: 0 80px 0 60px;
}
.top #equipment picture img {width: 100%;}
.top #equipment .btn {
  display: block;
  width: 240px;
  margin: 49px 0 0;
  background: #0249a7;
  font-size: 22px;
  text-align: center;
  line-height: 50px;
  color: white;
  font-family: "Rajdhani", sans-serif;
}
.top #about {
  text-align: center;
  background: #292b26;
}
.top #about article {
  display: inline-block;
  vertical-align: top;
  width: 50%;
  min-width: 500px;
  height: 380px;
  text-align: center;
}
.top #about article.company {
  border-right: solid 1px white;
  background: url(/img/top/company_bg.png) no-repeat center / cover;
}
.top #about article.manufacturing {
  background: url(/img/top/manufacturing_bg.png) no-repeat center / cover;
}
.top #about article h2 {
  font-size: 22px;
  line-height: 1;
  color: white;
  margin: 68px 0 0;
  letter-spacing: 5px;
  padding: 18px 0 18px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 100%;
}
.top #about article.company h2 {
  background-image: url(/img/top/company_text.png);
}
.top #about article.manufacturing h2 {
  background-image: url(/img/top/manufacturing_text.png);
}
.top #about article p {
  font-size: 16px;
  line-height: 1.8;
  color: white;
  width: 62%;
  margin: 12px auto 28px;
  text-align: left;
  position: relative;
}
.top #about article p::before,
.top #about article p::after {
  content: "";
  position: absolute;
  top: -40px;
  width: 18px;
  height: calc(100% + 80px);
  border: solid 1px white;
}
.top #about article p::before {
  left: -48px;
  border-right: none;
}
.top #about article p::after {
  right: -48px;
  border-left: none;
}
.top #about article a {
  display: inline-block;
  font-size: 23px;
  text-align: center;
  line-height: 29px;
  font-family: "Rajdhani", sans-serif;
  color: white;
}
.top #recruit {
  margin: 130px 0 195px;
  background: #262f3c;
  padding: 60px 0 0;
}
.top #recruit .wrap {
  max-width: 1305px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 90px;
  position: relative;
}
.top #recruit h2 {
  font-size: 52px;
  font-family: "Rajdhani", sans-serif;
  line-height: 1;
  padding: 30px 0 0;
  letter-spacing: 3px;
  position: relative;
  color: white;
  margin: 0 0 0 575px;
  font-weight: 500;
}
.top #recruit h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border: solid 10px transparent;
  border-color: white transparent transparent white;
}
.top #recruit h2 span {
  display: block;
  font-size: 18px;
  line-height: 1;
  margin: 6px 0 0;
}
.top #recruit p {
  font-size: 17.5px;
  line-height: 1.6;
  margin: 34px 0 0 575px;
  color: white;
}
.top #recruit a.btn {
  display: inline-block;
  font-size: 23px;
  text-align: center;
  line-height: 29px;
  font-family: "Rajdhani", sans-serif;
  color: white;
  position: absolute;
  top: 40px;
  right: 50px;
}
.top #recruit figure {
  position: absolute;
  top: -90px;
  left: -10px;
}
.top #recruit figure img {
}
.top #recruit .detail {
  white-space: nowrap;
  margin: 0 0 -155px;
  padding: 65px 0 0;
}
.top #recruit .detail a {
  display: inline-block;
  vertical-align: top;
  width: calc(33% - 18px);
  position: relative;
  padding: 45px 0 0;
}
.top #recruit .detail a::after {
  content: "VIEW MORE";
  display: block;
  width: 170px;
  background: #0249a7;
  font-size: 21px;
  text-align: center;
  line-height: 39px;
  color: white;
  font-family: "Rajdhani", sans-serif;
  position: absolute;
  bottom: -20px;
  right: 20px;
}
.top #recruit .detail a:nth-of-type(1) {
}
.top #recruit .detail a:nth-of-type(2) {
  margin: 0 33px;
}
.top #recruit .detail a:nth-of-type(3) {
}
.top #recruit .detail a img {
  max-width: 100%;
}
.top #recruit .detail a span {
  position: absolute;
  font-size: 20px;
  line-height: 1;
  top: 0;
  left: 0;
  color: white;
  width: 100%;
  height: 45px;
  padding: 7px 0 0 21px;
  letter-spacing: 2px;
  background-repeat: no-repeat;
  background-position: top right;
  background-size: auto 75%;
}
.top #recruit .detail a span::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 0;
  z-index: 1;
  width: 10px;
  height: 0;
  border-bottom: solid 1px white;
}
.top #recruit .detail a:nth-of-type(1) span {
  background-image: url(/img/top/recruit_link01_text.png);
}
.top #recruit .detail a:nth-of-type(2) span {
  background-image: url(/img/top/recruit_link02_text.png);
}
.top #recruit .detail a:nth-of-type(3) span {
  background-image: url(/img/top/recruit_link03_text.png);
}
.top #information {
  max-width: 1305px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 115px;
  position: relative;
  min-height: 360px;
}
.top #information h2 {
  font-size: 52px;
  font-family: "Rajdhani", sans-serif;
  line-height: 1;
  padding: 30px 0 0;
  letter-spacing: 3px;
  position: absolute;
  top: 0;
  left: 50px;
  font-weight: 500;
}
.top #information h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border: solid 10px transparent;
  border-color: #0249a7 transparent transparent #0249a7;
}
.top #information h2 span {
  display: block;
  font-size: 18px;
  line-height: 1;
  margin: 6px 0 0;
  color: #0249a7;
}
.top #information a.btn {
  display: block;
  width: 240px;
  background: #0249a7;
  font-size: 22px;
  text-align: center;
  line-height: 80px;
  color: white;
  font-family: "Rajdhani", sans-serif;
  position: absolute;
  top: 160px;
  left: 50px;
}
.top #information ul {
  border-top: solid 1px #b5b5b5;
  margin: 0 0 0 430px;
}
.top #information ul li {
  border-bottom: solid 1px #b5b5b5;
  padding: 36px 0;
}
.top #information ul li span {
  display: inline-block;
  vertical-align: middle;
}
.top #information ul li span:nth-of-type(1) {
  font-size: 18px;
  font-family: "Rajdhani", sans-serif;
  letter-spacing: 2px;
  color: #b5b5b5;
  margin-right: 23px;
}
.top #information ul li span:nth-of-type(2) {
  background: #b5b5b55e;
  font-size: 12px;
  padding: 3px 31px 4px;
}
.top #information ul li a {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  padding: 10px 0;
  color: #222222;
}

@media screen and (max-width: 640px) {
  .top {
  }
  .top #visual {
    height: 180vw;
  }
  .top #visual::before {
    background-image: url(/img/top/marutomo_text_sp.png);
  }
  .top #visual p {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    top: 27.5vw;
    left: 10vw;
    font-size: 5vw;
    letter-spacing: 2.5px;
  }
  .top #visual .bg {
  }
  .top #visual .bg div {
  }
  .top #visual .bg div:nth-of-type(1) {
  }
  .top #visual .bg div:nth-of-type(2) {
  }
  .top #visual .bg div:nth-of-type(3) {
  }
  .top #foundry {
    background: url(/img/top/foundry_bg_sp.png) no-repeat center top 40px / 100%
      auto;
    height: 190vw;
  }
  .top #foundry .wrap {
  }
  .top #foundry p {
    top: 87vw;
    right: 0;
    width: 93vw;
    font-size: 4vw;
    padding: 9vw 10vw 10vw;
  }
  .top #foundry .emblem {
    width: 100%;
  }
  .top #product {
    padding: 0 7vw 16vw;
  }
  .top #product h2 {
    font-size: 11vw;
    padding: 8vw 0 0;
  }
  .top #product h2::before {
    border-width: 2vw;
  }
  .top #product h2 span {
    font-size: 4.5vw;
    margin: 3vw 0 0;
    letter-spacing: 2px;
  }
  .top #product p {
    width: auto;
    font-size: 4vw;
    margin: 6vw 0 0;
  }
  .top #product picture {
    position: static;
    display: block;
    margin: 13vw -7vw 0 7vw;
    text-align: right;
    width: 100%;
  }
  .top #product picture img {
    width: 80vw;
  }
  .top #product .btn {
    margin: 9.5vw 0 0;
    width: 64vw;
    font-size: 6vw;
    line-height: 13vw;
  }
  .top #product .detail {
    padding: 10vw 0 0;
  }
  .top #product .detail::before {
    top: -45vw;
    left: 5vw;
    height: 221vw;
  }
  .top #product .detail a {
    display: block;
    width: auto;
  }
  .top #product .detail a:nth-of-type(1) {
    margin: 0 0 5vw;
  }
  .top #product .detail a:nth-of-type(2) {
    margin: 0 0 5vw;
  }
  .top #product .detail a:nth-of-type(3) {
    margin: 0 0 5vw;
  }
  .top #product .detail a img {
  }
  .top #product .detail a span {
    font-size: 4vw;
    line-height: 11vw;
  }
  .top #product .detail a span::before {
    width: 6.5vw;
    height: 6.5vw;
    margin: 0 4vw -0.5vw 0;
  }
  .top #product .detail a span::after {
    width: 2vw;
  }
	.top #equipment {
		display: flex;
		flex-wrap: wrap;
		padding: 0 7vw 22vw;
	}
	.top #equipment .wrap {
		display: block;
		width: 100%;
		order: 1;
	}
  .top #equipment h2 {
    font-size: 11vw;
    padding: 8vw 0 0;
  }
  .top #equipment h2::before {
    border-width: 2vw;
  }
  .top #equipment h2 span {
    font-size: 4.5vw;
    margin: 3vw 0 0;
    letter-spacing: 2px;
  }
  .top #equipment p {
    width: auto;
    font-size: 4vw;
    margin: 6vw 0 0;
  }
	.top #equipment picture {
		display: block;
		width: 100%;
		margin: 10vw 0 0;
		order: 2;
	}
	.top #equipment picture img {}
	.top #equipment .btn {}
  .top #about {}
  .top #about article {
    display: block;
    width: 100%;
    min-width: auto;
    height: auto;
    padding: 10vw 0 6.5vw;
  }
  .top #about article.company {
    border-right: none;
    border-bottom: solid 1px white;
  }
  .top #about article.manufacturing {
  }
  .top #about article h2 {
    margin: 0;
    font-size: 5vw;
    letter-spacing: 2px;
    padding: 0;
    line-height: 9.5vw;
  }
  .top #about article.company h2 {
  }
  .top #about article.manufacturing h2 {
  }
  .top #about article p {
    font-size: 3.5vw;
    margin: 8vw auto 11vw;
    width: 63vw;
  }
  .top #about article p::before,
  .top #about article p::after {
    top: -12vw;
    width: 3vw;
    height: calc(100% + 27vw);
  }
  .top #about article p::before {
    left: -7vw;
  }
  .top #about article p::after {
    right: -7vw;
  }
  .top #about article a {
    font-size: 5vw;
    line-height: 9vw;
  }
  .top #recruit {
    margin: 37vw 0 0;
    padding: 0;
  }
  .top #recruit .wrap {
    padding: 58vw 7vw 6.5vw;
  }
  .top #recruit h2 {
    margin: 0;
    font-size: 11vw;
    padding: 8vw 0 0;
  }
  .top #recruit h2::before {
    border-width: 2vw;
  }
  .top #recruit h2 span {
    font-size: 4.5vw;
    margin: 3vw 0 0;
    letter-spacing: 2px;
  }
  .top #recruit p {
    width: auto;
    font-size: 4vw;
    margin: 6.5vw 0 0;
  }
  .top #recruit a.btn {
    position: static;
    font-size: 5.5vw;
    line-height: 8vw;
    margin: 11vw 0 0;
  }
  .top #recruit figure {
    top: -17vw;
    left: 0;
    width: 100%;
  }
  .top #recruit figure img {
    max-width: 100%;
  }
  .top #recruit .detail {
    margin: 0;
    padding: 18vw 0 0;
  }
  .top #recruit .detail a {
    display: block;
    width: auto;
    margin: 0 0 14vw;
    padding: 10.5vw 0 0;
  }
  .top #recruit .detail a::after {
    bottom: -4vw;
    right: 5vw;
    width: 39vw;
    font-size: 5vw;
    line-height: 8vw;
  }
  .top #recruit .detail a:nth-of-type(1) {
  }
  .top #recruit .detail a:nth-of-type(2) {
    margin: 0 0 14vw;
  }
  .top #recruit .detail a:nth-of-type(3) {
  }
  .top #recruit .detail a img {
  }
  .top #recruit .detail a span {
    font-size: 4.5vw;
    height: 10.5vw;
    padding: 2vw 0 0 4.5vw;
  }
  .top #recruit .detail a span::before {
    top: 4vw;
    width: 2.5vw;
  }
  .top #recruit .detail a:nth-of-type(1) span {
  }
  .top #recruit .detail a:nth-of-type(2) span {
  }
  .top #recruit .detail a:nth-of-type(3) span {
  }
  .top #information {
    padding: 21vw 7vw 26vw;
    min-height: unset;
  }
  .top #information h2 {
    position: relative;
    top: auto;
    left: auto;
    font-size: 11vw;
    padding: 8vw 0 0;
  }
  .top #information h2::before {
  }
  .top #information h2 span {
    font-size: 4.5vw;
    margin: 3vw 0 0;
    letter-spacing: 2px;
  }
  .top #information a.btn {
    position: static;
    margin: 8vw 0 0;
    width: 64vw;
    font-size: 5.5vw;
    line-height: 13vw;
  }
  .top #information ul {
    margin: 11vw 0 0;
  }
  .top #information ul li {
    padding: 10vw 0;
  }
  .top #information ul li span {
  }
  .top #information ul li span:nth-of-type(1) {
    font-size: 4vw;
    margin-right: 5vw;
  }
  .top #information ul li span:nth-of-type(2) {
    font-size: 3vw;
    padding: 0.8vw 8vw 1vw;
  }
  .top #information ul li a {
    font-size: 3.75vw;
    line-height: 1.7;
    padding: 3vw 0 0;
  }
}

/** lower **/
.lower {
}
.lower header {
  background: white;
}
.lower header h1 {
  background-image: url(../img/logo_blue.svg);
}
.lower header .menu article a {
  color: #222222;
}
.lower header .menu article div {
  /* background: #000000c2; */
  background: white;
}
.lower header .menu article div a {
  /* color: white; */
}
.lower #visual {
  height: 450px;
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
.lower #visual h1 {
  font-size: 56px;
  line-height: 1;
  color: white;
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 215px 50px 0;
  font-family: "Rajdhani", sans-serif;
  letter-spacing: 3px;
  position: relative;
}
.lower #visual h1::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50px;
  z-index: 1;
  width: 100vw;
  height: 0;
  border-bottom: solid 1px white;
}
.lower #visual h1 span {
  position: absolute;
  bottom: -48px;
  left: 50px;
  z-index: 1;
  font-size: 18.5px;
}
.lower h2.eaj {
  font-size: 27px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 3px;
  position: relative;
}
.lower h2.eaj span {
  position: absolute;
  top: -30px;
  left: 0;
  z-index: 1;
  font-size: 18.5px;
  font-family: "Rajdhani", sans-serif;
  font-weight: 600;
  color: #0249a7;
  letter-spacing: 1px;
}
.lower h3.dbb {
  padding: 0 0 50px;
}
.lower h3.dbb span {
  font-size: 28px;
  line-height: 1.6;
  letter-spacing: 2px;
  display: inline-block;
  position: relative;
  font-weight: 500;
}
.lower h3.dbb span::before,
.lower h3.dbb span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  width: 0;
  height: 20px;
  border-left: solid 3px #0249a7;
  transform: translate(0, -50%);
}
.lower h3.dbb span::after {
  left: auto;
  right: -30px;
}
.lower #pager {
  max-width: 1180px;
  width: 100%;
  padding: 0 50px 0;
  transform: translate(0, 40px);
  margin: 0 auto -1em;
  position: relative;
  z-index: 3;
}
.lower #pager a,
.lower #pager span {
  font-size: 13px;
  line-height: 1;
  color: #333333;
  display: inline-block;
  vertical-align: top;
  position: relative;
  margin-right: 21px;
}
.lower #pager a::after {
  content: "/";
  position: absolute;
  top: 0;
  right: -13px;
}

@media screen and (max-width: 640px) {
  .lower {
  }
  .lower header {
  }
  .lower header h1 {
  }
  .lower header .menu article a {
    color: white;
  }
  .lower header .menu article div {
    background: transparent;
  }
  .lower header .menu article div a {
  }
  .lower #visual {
    height: 81vw;
  }
  .lower #visual h1 {
    padding: 34vw 6vw 0;
    font-size: 10.5vw;
  }
  .lower #visual h1::after {
    bottom: -3vw;
    left: 6vw;
  }
  .lower #visual h1 span {
    bottom: -13vw;
    left: 6vw;
    font-size: 5vw;
  }
  .lower h2.eaj {
    font-size: 5.5vw;
  }
  .lower h2.eaj span {
    font-size: 4.5vw;
    top: -6vw;
  }
  .lower h3.dbb {
  }
  .lower h3.dbb span {
    font-size: 5.5vw;
  }
  .lower h3.dbb span::before,
  .lower h3.dbb span::after {
    height: 5vw;
    left: -8vw;
  }
  .lower h3.dbb span::after {
    left: auto;
    right: -8vw;
  }
  .lower #pager {
    padding: 0 7vw 0;
    transform: translate(0, 6vw);
  }
  .lower #pager a,
  .lower #pager span {
    margin: 0 8vw 2.5vw 0;
  }
  .lower #pager a::after {
    right: -5vw;
  }
}

/** company **/
.company {
}
.company #visual {
  background-image: url(/img/company/h1_pc.png);
}
.company #visual h1 {
}
.company #visual h1 span {
}
.company #index {
  text-align: center;
  padding: 80px 0 46px;
  position: relative;
}
.company #index::before {
  content: "";
  position: absolute;
  top: -50px;
  left: calc(50% - 295px);
  z-index: -1;
  width: 100vw;
  height: 770px;
  background: #f3f6fbbf;
}
.company #index a {
  display: inline-block;
  vertical-align: top;
  font-size: 16px;
  line-height: 50px;
  width: 180px;
  background: #93979e;
  margin: 0 2px 4px;
  color: white;
  padding: 0 0 0 0;
  letter-spacing: 3px;
}
.company #index a::before {
  content: "";
  display: inline-block;
  vertical-align: sub;
  width: 22px;
  height: 22px;
  background: url(/assets/img/anchor_arrow.svg) no-repeat center / contain;
  margin-right: 19px;
}
.company #message {
  padding: 30px 0 0;
}
.company #message .wrap {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 180px 450px;
  position: relative;
}
.company #message h2 {
  margin: 32px 0 0;
}
.company #message p {
  font-size: 16px;
  line-height: 2.1;
  margin: 30px 0 0;
  padding: 0 0 55px;
  background: url(/img/company/message_sign.png) no-repeat right bottom;
}
.company #message picture {
  position: absolute;
  top: -30px;
  left: 20px;
}
.company #message picture img {
  max-width: 100%;
}
.company #philosophy {
  background: #262f3c0f;
}
.company #philosophy .wrap {
  max-width: 940px;
  width: 100%;
  margin: 0 auto 0;
  padding: 70px 0 80px;
  border-bottom: solid 2px #707070;
}
.company #philosophy h2 {
  display: inline-block;
  vertical-align: middle;
  width: 275px;
  margin: 35px 0 0 30px;
  font-weight: 500;
}
.company #philosophy p {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 335px);
  font-size: 20px;
  line-height: 2;
  margin: 0 30px 0 0;
  font-weight: 300;
}
.company #guidelines {
  background: #262f3c0f;
}
.company #guidelines .wrap {
  max-width: 940px;
  width: 100%;
  margin: 0 auto 0;
  padding: 70px 0 80px;
}
.company #guidelines h2 {
  display: inline-block;
  vertical-align: middle;
  width: 275px;
  margin: 35px 0 0 30px;
  font-weight: 500;
}
.company #guidelines p {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 325px);
  font-size: 20px;
  line-height: 2;
  margin: 0 20px 0 0;
  font-weight: 300;
}
.company #about {
  text-align: center;
  padding: 70px 0 85px;
}
.company #about h3 {
  padding: 0 0 35px;
}
.company #about dl {
  width: 740px;
  max-width: calc(100% - 100px);
  margin: 0px auto 0;
  border-bottom: solid 1px #0249a7;
  text-align: left;
  background: #eaeff7;
}
.company #about dl dt {
  display: inline-block;
  vertical-align: middle;
  width: 200px;
  font-size: 19.5px;
  line-height: 2;
  padding: 0 0 0 60px;
  color: #0249a7;
  font-weight: 500;
  letter-spacing: 2px;
}
.company #about dl dd {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 200px);
  font-size: 15.5px;
  line-height: 2;
  padding: 20px 0 19px 6.5%;
  background: white;
  position: relative;
}
.company #about dl dd::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% + 200px);
  height: 0;
  border-top: solid 1px #0249a7;
}
.company #history {
  background: #f5f7fbc7;
  text-align: center;
  padding: 80px 0 60px;
}
.company #history h3 {
  padding: 0 0 40px;
}
.company #history dl {
  width: 740px;
  max-width: calc(100% - 50px);
  margin: 0px auto 0;
  text-align: left;
}
.company #history dl dt {
  display: inline-block;
  vertical-align: top;
  width: 125px;
  font-size: 24.5px;
  line-height: 1;
  padding: 0 0 0 34px;
  color: #0249a7;
  font-weight: 500;
  letter-spacing: 2px;
  font-family: "Rajdhani", sans-serif;
}
.company #history dl dt::after {
  content: "年";
  font-size: 15px;
}
.company #history dl dd {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 125px);
  font-size: 17.5px;
  line-height: 1.4;
  padding: 0 0 26px 40px;
  position: relative;
}
.company #history dl dd::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  z-index: 2;
  width: 9px;
  height: 9px;
  background: #0249a7;
  border-radius: 50%;
}
.company #history dl dd::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 4px;
  z-index: 1;
  width: 1px;
  height: 100%;
  background: #0249a7;
}
.company #history dl dd:last-of-type::after {
  display: none;
}
.company #client {
  text-align: center;
  padding: 70px 0 115px;
}
.company #client h3 {
  padding: 0 0 35px;
}
.company #client dl {
  width: 1080px;
  max-width: calc(100% - 100px);
  margin: 0px auto 0;
  border-bottom: solid 1px #0249a7;
  text-align: left;
  background: #eaeff7;
}
.company #client dl dt {
  display: inline-block;
  vertical-align: middle;
  width: 200px;
  font-size: 19.5px;
  line-height: 2;
  padding: 0 0 0 4.2%;
  color: #0249a7;
  font-weight: 500;
  letter-spacing: 2px;
}
.company #client dl dd {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 200px);
  font-size: 15.5px;
  line-height: 1.6;
  padding: 18px 3% 19px 5.5%;
  background: white;
  position: relative;
}
.company #client dl dd::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% + 200px);
  height: 0;
  border-top: solid 1px #0249a7;
}

@media screen and (max-width: 640px) {
  .company {
  }
  .company #visual {
    background-image: url(/img/company/h1_sp.png);
  }
  .company #visual h1 {
  }
  .company #visual h1 span {
  }
  .company #index {
    padding: 11vw 0 16vw;
  }
  .company #index::before {
    left: 15vw;
    height: 235vw;
  }
  .company #index a {
    font-size: 3.5vw;
    line-height: 10vw;
    width: 28vw;
    letter-spacing: 1px;
  }
  .company #index a::before {
    width: 4vw;
    height: 4vw;
    margin-right: 2vw;
  }
  .company #message {
    padding: 0;
  }
  .company #message .wrap {
    padding: 0 7vw 16vw;
  }
  .company #message h2 {
    margin: 7vw 0 0;
  }
  .company #message p {
    font-size: 4vw;
    margin: 5vw 0 0;
    line-height: 1.7;
    padding: 0 0 9.5vw;
    background-size: 45vw auto;
  }
  .company #message picture {
    position: static;
    margin: 8vw auto 0;
    display: block;
    width: 47vw;
  }
  .company #message picture img {
  }
  .company #philosophy {
    padding: 29vw 7vw 0;
  }
  .company #philosophy .wrap {
    padding: 0vw 0 15vw;
  }
  .company #philosophy h2 {
    display: block;
    width: auto;
    margin: 0;
  }
  .company #philosophy p {
    display: block;
    width: auto;
    font-size: 4vw;
    margin: 7vw 0 0;
    line-height: 1.8;
  }
  .company #guidelines {
    padding: 12vw 7vw 0;
  }
  .company #guidelines .wrap {
    padding: 11vw 0 22vw;
  }
  .company #guidelines h2 {
    display: block;
    width: auto;
    margin: 0;
  }
  .company #guidelines p {
    display: block;
    width: auto;
    font-size: 4vw;
    margin: 7vw 0 0;
    line-height: 1.8;
  }
  .company #about {
    padding: 20vw 0 21vw;
  }
  .company #about h3 {
    padding: 0 0 7vw;
  }
  .company #about dl {
    width: 86vw;
    max-width: none;
  }
  .company #about dl dt {
    width: 27vw;
    font-size: 4vw;
    padding: 0 0 0 6vw;
  }
  .company #about dl dd {
    width: 59vw;
    font-size: 3.5vw;
    padding: 3vw 0 2.5vw 5vw;
  }
  .company #about dl dd::before {
    width: 86vw;
  }
  .company #history {
    padding: 15vw 0 9vw;
  }
  .company #history h3 {
  }
  .company #history dl {
    width: 86vw;
    max-width: none;
  }
  .company #history dl dt {
    width: 19vw;
    font-size: 5vw;
    padding: 1vw 0 0 0;
  }
  .company #history dl dt::after {
    font-size: 4vw;
  }
  .company #history dl dd {
    width: 67vw;
    font-size: 4vw;
    padding: 0 0 7vw 6.5vw;
  }
  .company #history dl dd::before {
    top: 2vw;
    width: calc(2vw + 1px);
    height: calc(2vw + 1px);
  }
  .company #history dl dd::after {
    top: 4vw;
    left: 1vw;
  }
  .company #history dl dd:last-of-type::after {
  }
  .company #client {
    padding: 20vw 0 22vw;
  }
  .company #client h3 {
    padding: 0 0 8vw;
  }
  .company #client dl {
    width: 86vw;
    max-width: none;
  }
  .company #client dl dt {
    width: 27vw;
    font-size: 4vw;
    padding: 0 0 0 6vw;
  }
  .company #client dl dd {
    width: 59vw;
    font-size: 3.5vw;
    padding: 3vw 0 2.5vw 5vw;
  }
  .company #client dl dd::before {
    width: 86vw;
  }
}

/** manufacturing **/
.manufacturing {
}
.manufacturing #visual {
  background-image: url(/img/manufacturing/h1_pc.png);
}
.manufacturing #visual h1 {
}
.manufacturing #visual h1 span {
}
.manufacturing #lead {
  padding: 100px 0 100px;
  position: relative;
}
.manufacturing #lead::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 195px);
  z-index: -1;
  width: 100vw;
  height: 270px;
  background: #f3f6fbbf;
}
.manufacturing #lead p {
  max-width: 1030px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px;
  font-size: 16px;
  line-height: 2;
}
.manufacturing #process {
  text-align: center;
  padding: 85px 0 125px;
}
.manufacturing #process h3 {
  padding: 0 0 25px;
}
.manufacturing #process p {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px;
  font-size: 16px;
  line-height: 2;
  text-align: left;
}
.manufacturing #process picture {
  display: block;
  padding: 55px 0 60px;
  position: relative;
}
.manufacturing #process picture img {
  max-width: calc(100% - 100px);
}
.manufacturing #process picture span {
  position: absolute;
  width: 8.75%;
  height: 10.5%;
  z-index: 1;
  cursor: pointer;
}
.manufacturing #process picture span.modal1 {
  top: 12%;
  left: 17.5%;
}
.manufacturing #process picture span.modal2 {
  top: 12%;
  left: 27%;
}
.manufacturing #process picture span.modal3 {
  top: 29.75%;
  left: 64.5%;
}
.manufacturing #process picture span.modal4 {
  top: 29.75%;
  left: 73.75%;
}
.manufacturing #process picture span.modal5 {
  top: 34.75%;
  left: 17.5%;
}
.manufacturing #process picture span.modal6 {
  top: 34.75%;
  left: 27%;
}
.manufacturing #process picture span.modal7 {
  top: 57.5%;
  left: 17.5%;
}
.manufacturing #process picture span.modal8 {
  top: 70.75%;
  left: 64.5%;
}
.manufacturing #process picture span.modal9 {
  top: 80.25%;
  left: 17.5%;
}
.manufacturing #process .modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  height: 100%;
  background: #0000006b;
  display: none;
}
.manufacturing #process .modal img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  max-width: 70%;
  max-height: 70%;
  transform: translate(-50%, -50%);
}
.manufacturing #process .movie {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto 0;
  padding: 60px 0 0;
  border-top: solid 1px #707070;
}
.manufacturing #process .movie article {
  display: inline-block;
  vertical-align: top;
  width: 500px;
  margin: 0 20px 0;
}
.manufacturing #process .movie article img {
  width: 100%;
}
.manufacturing #process .movie article p {
  padding: 7px 0 0 20px;
  font-size: 17px;
  line-height: 1.5;
  position: relative;
}
.manufacturing #process .movie article p::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 1;
  width: 10px;
  height: 0;
  border-bottom: solid 1px #222222;
}
.manufacturing #quality {
  text-align: center;
  padding: 80px 0 30px;
  background: #f3f6fbc4;
  margin: 0 0 110px;
}
.manufacturing #quality h3 {
  padding: 0 0 35px;
}
.manufacturing #quality p {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px;
  font-size: 16px;
  line-height: 2;
  text-align: left;
}
.manufacturing #quality picture {
  display: block;
  padding: 55px 0 60px;
}
.manufacturing #quality picture img {
  max-width: 100%;
}

@media screen and (max-width: 640px) {
  .manufacturing {
  }
  .manufacturing #visual {
    background-image: url(/img/manufacturing/h1_sp.png);
  }
  .manufacturing #visual h1 {
  }
  .manufacturing #visual h1 span {
  }
  .manufacturing #lead {
    padding: 19vw 0 0;
  }
  .manufacturing #lead::before {
    left: 20vw;
    height: 68vw;
  }
  .manufacturing #lead p {
    padding: 0 7vw;
    font-size: 3.75vw;
    line-height: 1.75;
  }
  .manufacturing #process {
    padding: 36.5vw 0 22vw;
  }
  .manufacturing #process h3 {
    padding: 0 0 6vw;
  }
  .manufacturing #process p {
    padding: 0 7vw;
    font-size: 4vw;
    line-height: 1.75;
  }
  .manufacturing #process picture {
    padding: 14vw 0 0vw;
  }
  .manufacturing #process picture img {
    max-width: 100%;
  }
  .manufacturing #process picture span {
    width: 21.25%;
    height: 10.25%;
  }
  .manufacturing #process picture span.modal1 {
    top: 17.25%;
    left: 9.5%;
  }
  .manufacturing #process picture span.modal2 {
    top: 28.25%;
    left: 9.5%;
  }
  .manufacturing #process picture span.modal3 {
    top: 17.25%;
    left: 69.5%;
  }
  .manufacturing #process picture span.modal4 {
    top: 28.25%;
    left: 69.5%;
  }
  .manufacturing #process picture span.modal5 {
    top: 50.75%;
    left: 9.5%;
  }
  .manufacturing #process picture span.modal6 {
    top: 61.75%;
    left: 9.5%;
  }
  .manufacturing #process picture span.modal7 {
    top: 64.75%;
    left: 69.5%;
  }
  .manufacturing #process picture span.modal8 {
    top: 87.75%;
    left: 9.5%;
  }
  .manufacturing #process picture span.modal9 {
    top: 87.75%;
    left: 69.5%;
  }
  .manufacturing #process .modal {
  }
  .manufacturing #process .modal img {
    max-width: 90%;
    max-height: 90%;
  }
  .manufacturing #process .movie {
  }
  .manufacturing #process .movie article {
  }
  .manufacturing #process .movie article img {
  }
  .manufacturing #process .movie article p {
  }
  .manufacturing #process .movie article p::before {
  }
  .manufacturing #quality {
    padding: 15.5vw 0 17vw;
    margin: 0 0 22vw;
  }
  .manufacturing #quality h3 {
    padding: 0 0 6vw;
  }
  .manufacturing #quality p {
    padding: 0 7vw;
    font-size: 4vw;
    line-height: 1.75;
  }
  .manufacturing #quality picture {
    padding: 11vw 0 0;
  }
  .manufacturing #quality picture img {
  }
}

/** product **/
.product {
}
.product #visual {
  background-image: url(/img/product/h1_pc.png);
}
.product #visual h1 {
}
.product #visual h1 span {
}
.product #pride {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 80px 50px 285px;
}
.product #pride h2 {
  display: inline-block;
  vertical-align: middle;
  width: 455px;
  margin: 60px 0 20px;
}
.product #pride p {
  display: inline-block;
  vertical-align: middle;
  font-size: 17px;
  line-height: 2;
  width: 625px;
}
.product #pride picture {
  display: block;
  margin: 100px 0 0;
  padding: 0 25px;
  position: relative;
}
.product #pride picture::after {
  content: "";
  position: absolute;
  top: -35px;
  left: 225px;
  z-index: -1;
  width: 100vw;
  height: 280px;
  background: #262f3c33;
}
.product #pride picture img {
  max-width: 100%;
}
.product #use {
  counter-reset: use;
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 0;
}
.product #use .title {
  position: relative;
  margin: 0 0 305px;
}
.product #use .title::before {
  content: "";
  width: 760px;
  height: 400px;
  background: url(/img/product/use_title_pc.png) no-repeat center / contain;
  position: absolute;
  top: -195px;
  left: 295px;
  z-index: 1;
}
.product #use .title::after {
  content: "";
  position: absolute;
  top: -140px;
  right: 115px;
  z-index: -1;
  width: 100vw;
  height: 280px;
  background: #262f3c33;
}
.product #use .title h2 {
}
.product #use article {
  border-left: solid 1px #0249a7;
  position: relative;
  padding: 45px 50px 20px;
  margin: 0 0 115px;
}
.product #use article:nth-of-type(even) {
  border-left: none;
  border-right: solid 1px #0249a7;
  padding: 45px 50px 20px 0;
  text-align: right;
}
.product #use article h2 {
  width: 460px;
  font-size: 34px;
  display: inline-block;
  text-align: left;
  background: #ffffff9e;
}
.product #use article:nth-of-type(even) h2 {
}
.product #use article h2::after {
  counter-increment: use;
  content: "0" counter(use);
  position: absolute;
  top: -56px;
  right: -5px;
  font-family: "Rajdhani", sans-serif;
  color: #0249a72b;
  font-size: 114px;
}
.product #use article h2 span {
  top: -40px;
  left: 30px;
}
.product #use article h2 span::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -26px;
  z-index: 1;
  width: 10px;
  height: 0;
  border-bottom: solid 1px #0249a7;
}
.product #use article p {
  font-size: 16px;
  line-height: 1.75;
  width: 460px;
  padding: 30px 0 0;
  background: #ffffff9e;
  display: inline-block;
  text-align: left;
}
.product #use article:nth-of-type(even) p {
}
.product #use article a {
  display: inline-block;
  background: #0249a7;
  color: white;
  font-size: 22px;
  font-family: "Rajdhani", sans-serif;
  margin: 34px 0 0;
  padding: 8px 38px;
}
.product #use article picture {
  position: absolute;
  top: -10px;
  right: -60px;
  z-index: -1;
  width: 54%;
}
.product #use article:nth-of-type(even) picture {
  right: auto;
  left: -60px;
}
.product #use article picture img {
  max-width: 100%;
}
.product #detail {
  padding: 0 0 30px;
}
.product #detail .wrap {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto 0;
  padding: 40px 50px 30px;
  position: relative;
}
.product #detail h2 {
  width: 420px;
  background: #ffffff9e;
  position: relative;
  z-index: 2;
  display: inline-block;
  vertical-align: top;
  margin: 115px 0 0 150px;
}
.product #detail p {
  width: 520px;
  font-size: 17px;
  line-height: 2;
  padding: 40px 40px 0 0;
  background: #ffffff9e;
  position: relative;
  z-index: 2;
  display: inline-block;
  vertical-align: top;
  margin: 0 0 140px;
}
.product #detail figure {
  display: inline-block;
  vertical-align: top;
  width: 49.5%;
  margin-right: 1%;
  text-align: center;
  margin-bottom: 35px;
}
.product #detail figure img {
  max-width: 100%;
}
.product #detail figure:nth-of-type(even) {
  margin-right: 0;
}
.product #detail figure figcaption {
  font-size: 17.5px;
  line-height: 1;
  margin-top: 12px;
}
.product #detail picture {
  position: absolute;
  top: calc(50% - 190px);
  right: -40px;
}
.product #detail picture img {
  max-width: 100%;
}
.product #detail .items {
  background-color: white;
  text-align: center;
  padding: 75px 0 5px;
  margin-bottom: 80px;
}
.product #detail .items.single {
  margin: 0 0 80px;
}
.product #detail .items h3 {
  padding: 0 0 50px;
}
.product #detail .items h3 span {
}
.product #detail .items .wrap {
  padding-top: 0;
}
.product #detail .items article {
  display: inline-block;
  vertical-align: top;
  width: 350px;
  margin: 0 9px 40px;
  text-align: left;
}
.product #detail .items article picture {
  position: static;
  display: block;
  background: #f3f6fb;
  position: relative;
  top: auto;
  right: auto;
  margin-bottom: 12px;
}
.product #detail .items article picture img {
}
.product #detail .items article h4 {
  display: inline-block;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 500;
  margin: 10px 0 0;
  position: relative;
}
.product #detail .items p {
  background: none;
  width: auto;
  margin: 0 0 10px;
  padding: 0;
  line-height: 1;
  font-weight: 500;
}
.product #detail .items p.com {
  min-width: 146px;
  padding-right: 16px;
}
.product #detail .items p.com::before {
  content: "会社名";
  font-size: 14.5px;
  line-height: 1;
  color: #888888;
  display: inline-block;
  vertical-align: middle;
  width: 52px;
  margin-top: -3px;
}
.product #detail .items p.pro {
  min-width: 170px;
  display: block;
}
.product #detail .items p.pro::before {
  content: "製品名";
  font-size: 15px;
  line-height: 1;
  color: #888888;
  display: inline-block;
  vertical-align: middle;
  width: 52px;
  margin-top: -3px;
  display: none;
}
.product #detail .items p.wgt {
  min-width: 121px;
  padding-right: 16px;
}
.product #detail .items p.wgt::before {
  content: "重量";
  font-size: 14.5px;
  line-height: 1;
  font-weight: 400;
  color: #888888;
  display: inline-block;
  vertical-align: middle;
  width: 39px;
  margin-top: -3px;
}
.product #detail .items p.cap {
}
.product #detail .items p.mat {
  min-width: 146px;
  padding-right: 16px;
}
.product #detail .items p.mat::before {
  content: "材質";
  font-size: 14.5px;
  line-height: 1;
  font-weight: 400;
  color: #888888;
  display: inline-block;
  vertical-align: middle;
  width: 39px;
  margin-top: -3px;
}
.product #detail .items:nth-of-type(even) {
  background-color: #262f3c0d;
}
.product #detail .items:nth-of-type(even) picture {
  background: white;
}
.product #detail .items article.zoom picture {
  /* cursor: pointer; */
}
.product #detail .items article.zoom picture::before {
  content: "";
  width: 62px;
  height: 21px;
  background: url(/img/product/zoom.png) no-repeat center / contain;
  position: absolute;
  bottom: 8px;
  right: 9px;
}
.product #detail .items article.zoom h4 {
  padding-left: 10px;
}
.product #detail .items article.zoom h4::before {
  content: "";
  position: absolute;
  top: 13px;
  left: -11px;
  z-index: 1;
  width: 10px;
  height: 0;
  border-bottom: solid 1px #222222;
}

@media screen and (max-width: 640px) {
  .product {
  }
  .product #visual {
    background-image: url(/img/product/h1_sp.png);
  }
  .product #visual h1 {
  }
  .product #visual h1 span {
  }
  .product #pride {
    padding: 28vw 0 0;
  }
  .product #pride h2 {
    width: auto;
    margin: 0 7vw;
    display: block;
  }
  .product #pride p {
    width: auto;
    font-size: 4vw;
    padding: 6vw 7vw 0;
    line-height: 1.65;
  }
  .product #pride picture {
    margin: 28vw 0 0;
    padding: 0;
  }
  .product #pride picture::after {
    top: -12vw;
    left: 25vw;
  }
  .product #pride picture img {
    width: 100%;
  }
  .product #use {
    padding: 38vw 7vw 0;
  }
  .product #use .title {
    margin: 0 0 142vw;
  }
  .product #use .title::before {
    background-image: url(/img/product/use_title_sp.png);
    top: 10vw;
    left: 0;
    width: 85vw;
    height: 100vw;
  }
  .product #use .title::after {
    top: -17vw;
    right: 18vw;
    height: 110vw;
  }
  .product #use .title h2 {
  }
  .product #use article {
    border: none;
    padding: 0 0 22vw;
    margin: 7vw 0 0;
  }
  .product #use article:nth-of-type(even) {
    border: none;
    padding: 0 0 22vw;
    text-align: left;
  }
  .product #use article h2 {
    width: auto;
    display: block;
    font-size: 5.5vw;
    margin: 0 0 0 3vw;
  }
  .product #use article:nth-of-type(even) h2 {
  }
  .product #use article h2::after {
    font-size: 26vw;
    top: -14vw;
    right: -2vw;
  }
  .product #use article h2 span {
    top: -6vw;
    left: 7.5vw;
  }
  .product #use article h2 span::before {
  }
  .product #use article p {
    font-size: 4vw;
    width: auto;
    display: block;
    padding: 5.5vw 0 0;
    line-height: 1.5;
  }
  .product #use article:nth-of-type(even) p {
  }
  .product #use article a {
    font-size: 6vw;
    margin: 6.5vw 0 0;
    padding: 1.2vw 9vw 1vw;
  }
  .product #use article picture {
    position: static;
    display: block;
    padding: 8vw 0 0;
    width: 100%;
  }
  .product #use article:nth-of-type(even) picture {
  }
  .product #use article picture img {
  }
  .product #detail {
    padding: 0 0 0;
  }
  .product #detail .wrap {
    padding: 28vw 0 9vw;
  }
  .product #detail h2 {
    width: auto;
    margin: 0 7vw;
  }
  .product #detail p {
    width: auto;
    font-size: 4vw;
    padding: 6vw 7vw 0;
    line-height: 1.65;
    margin: 0 0 17vw;
  }
  .product #detail figure {
    display: block;
    width: 86vw;
    margin: 0 auto 9vw !important;
  }
  .product #detail figure figcaption {
    font-size: 4vw;
    margin-top: 3.5vw;
  }
  .product #detail picture {
    position: static;
    padding: 15vw 0 17vw;
    display: block;
  }
  .product #detail picture img {
  }
  .product #detail .items {
    padding: 14.5vw 0 0;
  }
  .product #detail .items.single {
  }
  .product #detail .items h3 {
    padding: 0 0 7vw;
  }
  .product #detail .items h3 span {
  }
  .product #detail .items article {
    display: block;
    width: auto;
    margin: 0 7vw 6vw;
  }
  .product #detail .items article picture {
    padding: 0 0;
    margin-bottom: 3vw;
  }
  .product #detail .items article picture img {
  }
  .product #detail .items article h4 {
    font-size: 4vw;
    margin: 1vw 0 0;
  }
  .product #detail .items p {
    margin: 0 0 3vw;
  }
  .product #detail .items p.com {
    min-width: 32vw;
    padding-right: 4vw;
  }
  .product #detail .items p.pro {
  }
  .product #detail .items p.wgt {
    min-width: 27vw;
    padding-right: 4vw;
  }
  .product #detail .items p.cap {
  }
  .product #detail .items p.mat {
  }
  .product #detail .items p.com::before {
    font-size: 3vw;
    width: 12vw;
    margin-top: -0.5vw;
  }
  .product #detail .items p.pro::before {
    font-size: 3vw;
    width: 12vw;
    margin-top: -0.5vw;
  }
  .product #detail .items p.wgt::before {
    font-size: 3vw;
    width: 9vw;
    margin-top: -0.5vw;
  }
  .product #detail .items p.mat::before {
    font-size: 3vw;
    width: 9vw;
    margin-top: -0.5vw;
  }
  .product #detail .items p.cap::before {
  }
  .product #detail .items:nth-of-type(even) {
  }
  .product #detail .items:nth-of-type(even) picture {
  }
  .product #detail .items article.zoom picture {
  }
  .product #detail .items article.zoom picture::before {
  }
  .product #detail .items article.zoom h4 {
  }
  .product #detail .items article.zoom h4::before {
  }
}

/** recruit **/
.recruit {
}
.recruit #visual {
  background-image: url(/img/recruit/h1_pc.png);
}
.recruit_top #visual {
  background-image: url(/img/recruit/h1_top_pc.png);
  height: 540px;
}
.recruit #visual h1 {
}
.recruit #visual h1 span {
}
.recruit #message {
  position: relative;
}
.recruit #message::before {
  content: "";
  position: absolute;
  bottom: 185px;
  left: calc(50% - 290px);
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #f3f6fbc4;
}
.recruit #message .wrap {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 100px 50px 235px 580px;
  position: relative;
}
.recruit #message h2 {
  margin: 32px 0 0;
}
.recruit #message p {
  font-size: 16px;
  line-height: 2.1;
  margin: 30px 0 0;
  padding: 0 0 75px;
  background: url(/img/recruit/message_sign.png) no-repeat right bottom;
}
.recruit #message picture {
  position: absolute;
  top: 100px;
  left: 155px;
}
.recruit #message picture img {
  max-width: 100%;
}
.recruit #contents {
  counter-reset: contents;
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 0;
}
.recruit #contents .title {
  position: relative;
  margin: 0 0 305px;
}
.recruit #contents .title::before {
  content: "";
  width: 760px;
  height: 400px;
  background: url(/img/product/use_title.png) no-repeat center / contain;
  position: absolute;
  top: -195px;
  left: 295px;
  z-index: 1;
}
.recruit #contents .title::after {
  content: "";
  position: absolute;
  top: -140px;
  right: 115px;
  z-index: -1;
  width: 100vw;
  height: 280px;
  background: #262f3c33;
}
.recruit #contents .title h2 {
}
.recruit #contents article {
  border-left: solid 1px #0249a7;
  position: relative;
  padding: 45px 50px 20px;
  margin: 0 0 115px;
}
.recruit #contents article:nth-of-type(even) {
  border-left: none;
  border-right: solid 1px #0249a7;
  padding: 45px 50px 20px 50px;
  text-align: right;
}
.recruit #contents article h2 {
  width: 460px;
  font-size: 34px;
  background: #ffffff9e;
  display: inline-block;
  text-align: left;
}
.recruit #contents article:nth-of-type(even) h2 {
}
.recruit #contents article h2::after {
  counter-increment: contents;
  content: "0" counter(contents);
  position: absolute;
  top: -56px;
  right: -5px;
  font-family: "Rajdhani", sans-serif;
  color: #0249a72b;
  font-size: 114px;
}
.recruit #contents article h2 span {
  top: -40px;
  left: 30px;
}
.recruit #contents article h2 span::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -26px;
  z-index: 1;
  width: 10px;
  height: 0;
  border-bottom: solid 1px #0249a7;
}
.recruit #contents article p {
  font-size: 16px;
  line-height: 1.75;
  padding: 30px 0 0;
  width: 460px;
  background: #ffffff9e;
  display: inline-block;
  text-align: left;
}
.recruit #contents article:nth-of-type(even) p {
}
.recruit #contents article a {
  display: inline-block;
  background: #0249a7;
  color: white;
  font-size: 22px;
  font-family: "Rajdhani", sans-serif;
  margin: 32px 0 0;
  padding: 8px 38px;
}
.recruit #contents article picture {
  position: absolute;
  top: -10px;
  right: -60px;
  z-index: -1;
  width: 54%;
}
.recruit #contents article:nth-of-type(even) picture {
  right: auto;
  left: -60px;
}
.recruit #contents article picture img {
  max-width: 100%;
}
.recruit #btn {
  text-align: center;
  padding: 0 0 105px;
}
.recruit #btn a {
  display: inline-block;
  vertical-align: top;
  font-size: 20px;
  line-height: 60px;
  width: 445px;
  margin: 0 8px 10px;
  background: #d99356;
  color: white;
}
.recruit #interview {
  padding: 40px 0 110px;
}
.recruit #interview article {
  padding: 60px 0 45px;
  position: relative;
}
.recruit #interview article .wrap {
  position: relative;
  max-width: 1310px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 0;
}
.recruit #interview article .title {
  position: relative;
  padding: 34px 0 28px;
  margin-left: 590px;
}
.recruit #interview article .title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border: solid 10px transparent;
  border-color: #0249a7 transparent transparent #0249a7;
}
.recruit #interview article .title::after {
  content: "";
  border-bottom: solid 2px #707070;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 0;
  z-index: 1;
}
.recruit #interview article .title p {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  padding-bottom: 15px;
  letter-spacing: 3px;
}
.recruit #interview article .title span {
}
.recruit #interview article .title span:nth-of-type(1) {
  margin-right: 16px;
  background: #b5b5b55e;
  font-size: 12px;
  padding: 3px 43px 4px;
  display: none;
}
.recruit #interview article .title span:nth-of-type(2) {
  font-size: 14px;
  letter-spacing: 1px;
}
.recruit #interview article picture {
  position: absolute;
  top: 0;
  left: 50px;
  z-index: 1;
  width: 540px;
}
.recruit #interview article picture img {
  max-width: 100%;
}
.recruit #interview article .text {
  padding: 34px 0 18px;
}
.recruit #interview article picture + .text {
  margin-left: 590px;
}
.recruit #interview article .text h3 {
  font-size: 18px;
  line-height: 1.6;
  color: #0249a7;
  font-weight: 500;
  position: relative;
  padding: 0 0 10px 36px;
}
.recruit #interview article .text h3::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 4px;
  z-index: 1;
  width: 17px;
  height: 0;
  border-bottom: solid 2px #0249a7;
}
.recruit #interview article .text p {
  font-size: 17px;
  line-height: 1.8;
}
.recruit #interview article .text2 {
  width: calc(100% - 450px);
  display: inline-block;
  vertical-align: top;
}
.recruit #interview article .text2 h3 {
}
.recruit #interview article .text2 p {
}
.recruit #interview article .fr_img {
  display: inline-block;
  vertical-align: top;
  width: 415px;
  padding: 30px 0 0 35px;
  box-sizing: content-box;
}
.recruit #interview article:nth-of-type(even) {
  background: #f3f6fbc2;
}
/*
.recruit #interview article:nth-of-type(even) .title {
	margin-left: 0;
	margin-right: 590px;
}
.recruit #interview article:nth-of-type(even) .title::after {
	left: auto;
	right: 0;
}
.recruit #interview article:nth-of-type(even) picture {
	left: auto;
	right: 50px;
}
.recruit #interview article:nth-of-type(even) picture +.text {
	margin-left: 0;
	margin-right: 590px;
}
*/
.recruit #welfare {
  text-align: center;
  padding: 95px 0 70px;
}
.recruit #welfare h3 {
}
.recruit #welfare ul {
  max-width: 1130px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 0;
  text-align: left;
}
.recruit #welfare ul li {
  display: inline-block;
  vertical-align: top;
  font-size: 17.5px;
  line-height: 1.6;
  text-align: left;
  width: 25%;
  min-width: 220px;
  margin: 0 0 10px;
  padding: 0 20px 0 1em;
  text-indent: -1em;
}
.recruit #dormitory {
  text-align: center;
  padding: 80px 0 85px;
  background: #f3f6fbc7;
}
.recruit #event {
  text-align: center;
  padding: 75px 0 70px;
}
.recruit #event .full {
  padding: 30px 0 0;
  display: block;
}
.recruit #event .full img {
  max-width: 100%;
}
.recruit #support {
  text-align: center;
  padding: 75px 0 80px;
  background: #f3f6fbc7;
  margin: 0 0 110px;
}
.recruit #dormitory h3,
.recruit #event h3,
.recruit #support h3 {
  padding: 0 0 35px;
}
.recruit #dormitory p,
.recruit #event p,
.recruit #support p {
  font-size: 17.5px;
  line-height: 1.9;
  display: inline-block;
  text-align: left;
  max-width: 1190px;
  padding: 0 50px 0;
}
.recruit #dormitory figure,
.recruit #event figure {
  display: inline-block;
  vertical-align: top;
  margin: 30px 10px 0;
  max-width: 350px;
}
.recruit #dormitory figure img,
.recruit #event figure img {
  max-width: 100%;
}
.recruit #dormitory figure figcaption,
.recruit #event figure figcaption {
  font-size: 16.5px;
  line-height: 1;
  text-align: left;
  margin: 14px 0 0;
  padding: 0 0 0 23px;
  position: relative;
}
.recruit #dormitory figure figcaption::before,
.recruit #event figure figcaption::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0px;
  z-index: 1;
  width: 10px;
  height: 0;
  border-bottom: solid 1px #222222;
}
.recruit #support dl {
  width: 1090px;
  max-width: calc(100% - 100px);
  margin: 30px auto 15px;
  border-bottom: solid 1px #0249a7;
  text-align: left;
  background: #eaeff7;
}
.recruit #support dl dt {
  display: inline-block;
  vertical-align: middle;
  width: 350px;
  font-size: 19.5px;
  line-height: 2;
  padding: 0 0 0 60px;
  color: #0249a7;
  font-weight: 500;
  letter-spacing: 2px;
}
.recruit #support dl dd {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 350px);
  font-size: 15.5px;
  line-height: 1.7;
  padding: 17px 30px 16px 6.5%;
  background: white;
  position: relative;
}
.recruit #support dl dd::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% + 350px);
  height: 0;
  border-top: solid 1px #0249a7;
}
.recruit #support dl + p {
  width: 1190px;
  max-width: calc(100% - 100px);
  font-size: 16.5px;
}
.recruit #points {
  text-align: center;
  padding: 95px 0 110px;
}
.recruit #points h3 {
}
.recruit #points dl {
  width: 880px;
  margin: 0px auto 0;
  border-bottom: solid 1px #0249a7;
  text-align: left;
  background: #eaeff7;
}
.recruit #points dl dt {
  display: inline-block;
  vertical-align: middle;
  width: 240px;
  font-size: 19.5px;
  line-height: 2;
  padding: 0 0 0 60px;
  color: #0249a7;
  font-weight: 500;
  letter-spacing: 2px;
}
.recruit #points dl dd {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 240px);
  font-size: 15.5px;
  line-height: 2;
  padding: 20px 0 19px 6.5%;
  background: white;
  position: relative;
}
.recruit #points dl dd::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% + 240px);
  height: 0;
  border-top: solid 1px #0249a7;
}
.recruit #points dl dd hr {
  display: block;
  border-top: dotted 2px #0249a7;
  margin: 18px 0 18px -60px;
}
.recruit #points dl dd a {
  display: inline-block;
  margin: 6px 0 0;
  font-size: 17.5px;
  line-height: 40px;
  width: 295px;
  background: #d99356;
  color: white;
  text-align: center;
}
.recruit #points dl dd a::before {
  width: 22px;
  height: 22px;
  margin: 0 18px 0 0;
}

@media screen and (max-width: 640px) {
  .recruit {
  }
  .recruit #visual {
    background-image: url(/img/recruit/h1_sp.png);
  }
  .recruit_top #visual {
    background-image: url(/img/recruit/h1_top_sp.png);
    height: 89vw;
  }
  .recruit #visual h1 {
  }
  .recruit #visual h1 span {
  }
  .recruit #message {
    padding: 0 0 22vw;
  }
  .recruit #message::before {
    left: 15vw;
    bottom: 45vw;
  }
  .recruit #message .wrap {
    padding: 20vw 6vw 0;
  }
  .recruit #message h2 {
    margin: 0;
  }
  .recruit #message p {
    font-size: 4vw;
    margin: 6vw 0 0;
    line-height: 1.6;
    padding: 0 0 11.5vw;
    background-size: 46vw auto;
  }
  .recruit #message picture {
    position: static;
    display: block;
    text-align: center;
    padding: 8vw 0 0;
  }
  .recruit #message picture img {
    width: 47vw;
  }
  .recruit #contents {
    padding: 0 7vw 0;
  }
  .recruit #contents .title {
  }
  .recruit #contents .title::before {
  }
  .recruit #contents .title::after {
  }
  .recruit #contents .title h2 {
  }
  .recruit #contents article {
    border: none;
    padding: 0 0 22vw;
    margin: 7vw 0 0;
  }
  .recruit #contents article:nth-of-type(even) {
    border: none;
    padding: 0 0 16vw;
    text-align: left;
  }
  .recruit #contents article h2 {
    width: auto;
    display: block;
    font-size: 5.5vw;
    margin: 0 0 0 3vw;
  }
  .recruit #contents article:nth-of-type(even) h2 {
  }
  .recruit #contents article h2::after {
  }
  .recruit #contents article h2 span {
    top: -6vw;
    left: 7.5vw;
  }
  .recruit #contents article h2 span::before {
  }
  .recruit #contents article p {
    font-size: 4vw;
    width: auto;
    display: block;
    padding: 5.5vw 0 0;
    line-height: 1.5;
  }
  .recruit #contents article:nth-of-type(even) p {
  }
  .recruit #contents article a {
    font-size: 6vw;
    margin: 6.5vw 0 0;
    padding: 1.2vw 9vw 1vw;
  }
  .recruit #contents article picture {
    position: static;
    display: block;
    padding: 8vw 0 0;
    width: 100%;
  }
  .recruit #contents article:nth-of-type(even) picture {
  }
  .recruit #contents article picture img {
  }
  .recruit #btn {
    padding: 0 0 20vw;
  }
  .recruit #btn a {
    width: auto;
    display: block;
    font-size: 4vw;
    line-height: 16vw;
    margin: 0 7vw 2vw;
  }
  .recruit #interview {
    padding: 5vw 0 21vw;
  }
  .recruit #interview article {
    padding: 16vw 0 12vw;
  }
  .recruit #interview article .wrap {
    padding: 0 7vw;
  }
  .recruit #interview article .title {
    margin: 0;
  }
  .recruit #interview article .title::before {
    border-width: 3vw;
  }
  .recruit #interview article .title::after {
    width: 100%;
  }
  .recruit #interview article .title p {
    font-size: 6vw;
    padding: 0 0 6vw;
  }
  .recruit #interview article .title span {
  }
  .recruit #interview article .title span:nth-of-type(1) {
    font-size: 3.5vw;
    padding: 0.8vw 11vw 1vw;
    margin-right: 3.5vw;
  }
  .recruit #interview article .title span:nth-of-type(2) {
    font-size: 4vw;
  }
  .recruit #interview article picture {
    position: static;
    display: block;
    width: auto;
    padding: 10vw 0 0;
  }
  .recruit #interview article picture img {
  }
  .recruit #interview article .text {
    padding: 6vw 0 9vw;
  }
  .recruit #interview article picture + .text {
    margin: 0;
  }
  .recruit #interview article .text h3 {
    font-size: 5vw;
    line-height: 1.4;
    padding: 0 0 3vw 7vw;
  }
  .recruit #interview article .text h3::before {
    top: 3.5vw;
    left: 0;
  }
  .recruit #interview article .text p {
    font-size: 4vw;
    line-height: 1.6;
  }
  .recruit #interview article .text2 {
    width: 100%;
    display: block;
    padding: 0 0 9vw;
  }
  .recruit #interview article .text2 h3 {
  }
  .recruit #interview article .text2 p {
  }
  .recruit #interview article .fr_img {
    display: block;
    width: 100%;
    padding: 0;
  }
  .recruit #interview article:nth-of-type(even) {
  }
  /*
.recruit #interview article:nth-of-type(even) .title {
	margin: 0;
}
.recruit #interview article:nth-of-type(even) .title::after {}
.recruit #interview article:nth-of-type(even) picture {}
.recruit #interview article:nth-of-type(even) picture +.text {
	margin: 0;
}
*/
  .recruit #welfare {
    padding: 20vw 0 20vw;
  }
  .recruit #welfare h3 {
    padding: 0 0 6vw;
  }
  .recruit #welfare ul {
    padding: 0 7vw 0;
    text-align: left;
  }
  .recruit #welfare ul li {
    font-size: 3.5vw;
    min-width: 35vw;
    width: auto;
    padding: 0 5vw 0 1em;
    margin: 0 0 1vw;
  }
  .recruit #dormitory {
    padding: 15.5vw 0 7vw;
  }
  .recruit #event {
    padding: 20vw 0 8vw;
  }
  .recruit #event .full {
    padding: 0;
  }
  .recruit #support {
    padding: 15vw 0 5vw;
    margin: 0 0 17vw;
  }
  .recruit #dormitory h3,
  .recruit #event h3,
  .recruit #support h3 {
    padding: 0 0 6vw;
  }
  .recruit #dormitory p,
  .recruit #event p,
  .recruit #support p {
    font-size: 4vw;
    padding: 0 7vw 11vw;
    line-height: 1.6;
  }
  .recruit #dormitory figure,
  .recruit #event figure {
    display: block;
    margin: 0 7vw 10vw;
  }
  .recruit #dormitory figure img,
  .recruit #event figure img {
  }
  .recruit #dormitory figure figcaption,
  .recruit #event figure figcaption {
    font-size: 4vw;
    margin: 3vw 0 0;
    padding: 0 0 0 5vw;
  }
  .recruit #dormitory figure figcaption::before,
  .recruit #event figure figcaption::before {
    top: 2vw;
    width: 2.5vw;
  }
  .recruit #support dl {
    max-width: none;
    width: auto;
    margin: 0 7vw 8vw;
  }
  .recruit #support dl dt {
    display: block;
    text-align: center;
    border-top: solid 1px #0249a7;
    width: 100%;
    padding: 0;
    font-size: 3.5vw;
    line-height: 11vw;
  }
  .recruit #support dl dd {
    display: block;
    width: auto;
    font-size: 3.5vw;
    padding: 3vw 3vw 4vw;
  }
  .recruit #support dl dd::before {
    display: none;
  }
  .recruit #support dl + p {
    max-width: none;
    width: auto;
    font-size: 3.5vw;
  }
  .recruit #points {
    padding: 20vw 0 0vw;
  }
  .recruit #points h3 {
    padding: 0 0 7vw;
  }
  .recruit #points dl {
    max-width: none;
    width: auto;
    margin: 0 7vw 9vw;
  }
  .recruit #points dl dt {
    display: block;
    text-align: center;
    border-top: solid 1px #0249a7;
    width: 100%;
    padding: 0;
    font-size: 3.5vw;
    line-height: 11vw;
  }
  .recruit #points dl dd {
    display: block;
    width: auto;
    font-size: 3.5vw;
    padding: 3vw 3vw 4vw;
  }
  .recruit #points dl dd::before {
    display: none;
  }
  .recruit #points dl dd hr {
    margin: 4vw -3vw 2vw;
  }
  .recruit #points dl dd a {
    font-size: 4vw;
    width: auto;
    display: block;
    margin: 3vw 0 3vw;
    line-height: 12vw;
  }
  .recruit #points dl dd a::before {
    width: 6.5vw;
    height: 6.5vw;
    margin: 0 3vw -1vw 0;
  }
}

/** information **/
.information {
}
.information #visual {
  background-image: url(/img/information/h1_pc.png);
}
.information #visual h1 {
}
.information #visual h1 span {
}
.information #list {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 0 50px 0;
}
.information #list ul {
  border-top: solid 1px #b5b5b5;
  margin-top: 100px;
}
.information #list ul li {
  border-bottom: solid 1px #b5b5b5;
  padding: 36px 0;
}
.information #list ul li span {
  display: inline-block;
  vertical-align: middle;
}
.information #list ul li span:nth-of-type(1) {
  font-size: 18px;
  font-family: "Rajdhani", sans-serif;
  letter-spacing: 2px;
  color: #b5b5b5;
  margin-right: 23px;
}
.information #list ul li span:nth-of-type(2) {
  background: #b5b5b55e;
  font-size: 12px;
  padding: 3px 31px 4px;
}
.information #list ul li a {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  padding: 10px 0;
  color: #222222;
}
.information #pagenation {
  text-align: center;
  padding: 60px 0 110px;
}
.information #pagenation a,
.information #pagenation span,
.information #pagenation u {
  font-size: 20px;
  font-family: "Rajdhani", sans-serif;
  line-height: 29px;
  height: 29px;
  display: inline-block;
  vertical-align: top;
  text-align: center;
  width: 29px;
  margin: 0 1px;
  color: #222222;
}
.information #pagenation span {
  background: #eaeff7;
}
.information #pagenation u {
  text-decoration: none;
}
.information #pagenation a.next,
.information #pagenation a.prev {
  background: url(/assets/img/pagenation_arrow.svg) no-repeat center center /
    auto 60%;
}
.information #pagenation a.next_max,
.information #pagenation a.prev_max {
  background: url(/assets/img/pagenation_arrow.svg) no-repeat center left 6px /
      auto 60%,
    url(/assets/img/pagenation_arrow.svg) no-repeat center left 14px / auto 60%;
}
.information #pagenation a.next,
.information #pagenation a.next_max {
  transform: scale(-1, 1);
}
.information #detail {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 100px 50px 115px;
}
.information #detail .title {
  position: relative;
  padding: 34px 0 24px;
  border-bottom: solid 2px #707070;
}
.information #detail .title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border: solid 10px transparent;
  border-color: #0249a7 transparent transparent #0249a7;
}
.information #detail .title p {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  padding-bottom: 14px;
}
.information #detail .title span {
}
.information #detail .title span:nth-of-type(1) {
  font-size: 18px;
  font-family: "Rajdhani", sans-serif;
  letter-spacing: 2px;
  color: #b5b5b5;
  margin-right: 23px;
}
.information #detail .title span:nth-of-type(2) {
  background: #b5b5b55e;
  font-size: 12px;
  padding: 3px 31px 4px;
}
.information #detail .contents {
  padding: 26px 0 0;
}
.information #detail .contents h3 {
  font-size: 20px;
  line-height: 1.4;
  padding-left: 36px;
  position: relative;
  color: #0249a7;
  margin: 20px 0 0;
}
.information #detail .contents h3::before {
  content: "";
  position: absolute;
  top: 12.5px;
  left: 0;
  z-index: 1;
  width: 18px;
  height: 0;
  border-bottom: solid 2px #0249a7;
}
.information #detail .contents p {
  font-size: 17.5px;
  line-height: 1.7;
  margin: 5px 0 0;
}
.information #detail .contents figure {
  text-align: center;
  margin: 25px auto 0;
}
.information #detail .contents figure img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.information #detail .contents figure figcaption {
  font-size: 14px;
  line-height: 1.4;
  margin: 10px 0 0;
}
/* wp対応 ここから */
.information #detail .contents strong {
  font-size: inherit;
  font-weight: bold;
}
.information #detail .contents em {
  font-size: inherit;
  font-style: italic;
}
.information #detail .contents sup {
  position: relative;
  top: -0.4em;
  font-size: 80%;
}
.information #detail .contents sub {
  position: relative;
  bottom: -0.2em;
  font-size: 80%;
}
.information #detail .contents .has-larger-font-size {
  font-size: 42px;
}
.information #detail .contents .has-large-font-size {
  font-size: 36px;
}
.information #detail .contents .has-normal-font-size {
  font-size: 20px;
}
.information #detail .contents .has-small-font-size {
  font-size: 13px;
}
.information #detail .contents .has-black-color {
  color: #000;
}
.information #detail .contents .has-black-background-color {
  background-color: #000;
}
.information #detail .contents .has-cyan-bluish-gray-color {
  color: #abb8c3;
}
.information #detail .contents .has-cyan-bluish-gray-background-color {
  background-color: #abb8c3;
}
.information #detail .contents .has-white-color {
  color: #fff;
}
.information #detail .contents .has-white-background-color {
  background-color: #fff;
}
.information #detail .contents .has-pale-pink-color {
  color: #f78da7;
}
.information #detail .contents .has-pale-pink-background-color {
  background-color: #f78da7;
}
.information #detail .contents .has-vivid-red-color {
  color: #cf2e2e;
}
.information #detail .contents .has-vivid-red-background-color {
  background-color: #cf2e2e;
}
.information #detail .contents .has-luminous-vivid-orange-color {
  color: #ff6900;
}
.information #detail .contents .has-luminous-vivid-orange-background-color {
  background-color: #ff6900;
}
.information #detail .contents .has-luminous-vivid-amber-color {
  color: #fcb900;
}
.information #detail .contents .has-luminous-vivid-amber-background-color {
  background-color: #fcb900;
}
.information #detail .contents .has-light-green-cyan-color {
  color: #7bdcb5;
}
.information #detail .contents .has-light-green-cyan-background-color {
  background-color: #7bdcb5;
}
.information #detail .contents .has-vivid-green-cyan-color {
  color: #00d084;
}
.information #detail .contents .has-vivid-green-cyan-background-color {
  background-color: #00d084;
}
.information #detail .contents .has-pale-cyan-blue-color {
  color: #8ed1fc;
}
.information #detail .contents .has-pale-cyan-blue-background-color {
  background-color: #8ed1fc;
}
.information #detail .contents .has-vivid-cyan-blue-color {
  color: #0693e3;
}
.information #detail .contents .has-vivid-cyan-blue-background-color {
  background-color: #0693e3;
}
.information #detail .contents .has-vivid-purple-color {
  color: #9b51e0;
}
.information #detail .contents .has-vivid-purple-background-color {
  background-color: #9b51e0;
}
.information #detail .contents .has-accent-color {
  color: #cd2653;
}
.information #detail .contents .has-accent-background-color {
  background-color: #cd2653;
}
.information #detail .contents .has-primary-color {
  color: #000000;
}
.information #detail .contents .has-primary-background-color {
  background-color: #000000;
}
.information #detail .contents .has-secondary-color {
  color: #6d6d6d;
}
.information #detail .contents .has-secondary-background-color {
  background-color: #6d6d6d;
}
.information #detail .contents .has-subtle-background-color {
  color: #dcd7ca;
}
.information #detail .contents .has-subtle-background-background-color {
  background-color: #dcd7ca;
}
.information #detail .contents .has-background-color {
  color: #f5efe0;
}
.information #detail .contents .has-background-background-color {
  background-color: #f5efe0;
}
/* wp対応 ここまで */
@media screen and (max-width: 640px) {
  .information {
  }
  .information #visual {
    background-image: url(/img/information/h1_sp.png);
  }
  .information #visual h1 {
  }
  .information #visual h1 span {
  }
  .information #list {
    padding: 0 7vw;
  }
  .information #list ul {
    margin-top: 21vw;
  }
  .information #list ul li {
    padding: 8.5vw 0;
  }
  .information #list ul li span {
  }
  .information #list ul li span:nth-of-type(1) {
    font-size: 4vw;
    margin-right: 4vw;
  }
  .information #list ul li span:nth-of-type(2) {
    font-size: 3vw;
    padding: 1vw 9vw 1vw;
  }
  .information #list ul li a {
    font-size: 4vw;
    padding: 1.5vw 0;
  }
  .information #pagenation {
    padding: 16vw 0 22vw;
  }
  .information #pagenation a,
  .information #pagenation span,
  .information #pagenation u {
    font-size: 5.5vw;
    line-height: 8vw;
    height: 8vw;
    width: 8vw;
  }
  .information #pagenation span {
  }
  .information #pagenation u {
  }
  .information #pagenation a.next,
  .information #pagenation a.prev {
  }
  .information #pagenation a.next_max,
  .information #pagenation a.prev_max {
  }
  .information #pagenation a.next,
  .information #pagenation a.next_max {
  }
  .information #detail {
    padding: 21vw 7vw 22vw;
  }
  .information #detail .title {
    padding: 9vw 0 7vw;
  }
  .information #detail .title::before {
    border-width: 3vw;
  }
  .information #detail .title p {
    font-size: 6.5vw;
    line-height: 1.4;
    padding-bottom: 4vw;
  }
  .information #detail .title span {
  }
  .information #detail .title span:nth-of-type(1) {
    font-size: 5vw;
    margin-right: 6vw;
  }
  .information #detail .title span:nth-of-type(2) {
    font-size: 3vw;
    padding: 1vw 9vw 1vw;
  }
  .information #detail .contents {
    padding: 4vw 0 0;
  }
  .information #detail .contents h3 {
    font-size: 5vw;
    padding-left: 9vw;
    margin: 6vw 0 0;
  }
  .information #detail .contents h3::before {
    top: 3.5vw;
    width: 4vw;
  }
  .information #detail .contents p {
    font-size: 4vw;
    margin: 2vw 0 0;
  }
  .information #detail .contents figure {
    margin-top: 13vw;
  }
  .information #detail .contents figure img {
  }
  .information #detail .contents figure figcaption {
    font-size: 4vw;
    text-align: left;
    margin: 2vw 0 0;
  }
  /* wp対応 ここから */
  .information #detail .contents .has-larger-font-size {
    font-size: 6vw;
  }
  .information #detail .contents .has-large-font-size {
    font-size: 5vw;
  }
  .information #detail .contents .has-normal-font-size {
    font-size: 4vw;
  }
  .information #detail .contents .has-small-font-size {
    font-size: 3vw;
  }
  /* wp対応 ここまで */
}

/** inquiry **/
.inquiry {
}
.inquiry #visual {
  background-image: url(/img/inquiry/h1_pc.png);
}
.inquiry #visual h1 {
}
.inquiry #visual h1 span {
}
.inquiry #inquiry {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 95px 50px 0;
  text-align: center;
}
.inquiry #inquiry h3 {
  padding: 0 0 45px;
}
.inquiry #inquiry p {
  font-size: 17px;
  line-height: 1.6;
}
.inquiry #inquiry form {
  text-align: left;
  padding: 60px 0 0;
}
.inquiry #inquiry form article {
  padding: 0 0 35px;
  white-space: nowrap;
}
.inquiry #inquiry form article h4 {
  font-size: 17.5px;
  padding: 0 0 16px;
}
.inquiry #inquiry form article h4::before {
  content: "任意";
  font-size: 16px;
  background: #b9b9b9;
  padding: 2px 14px;
  color: white;
  border-radius: 3px;
  display: inline-block;
  margin: 0 18px 0 0;
}
.inquiry #inquiry form article.required h4::before {
  content: "必須";
  background: #0249a7;
}
.inquiry #inquiry form label {
  display: inline-block;
  vertical-align: top;
  font-size: 17px;
  margin: 0 30px 0 0;
}
.inquiry #inquiry form label input {
  display: none;
}
.inquiry #inquiry form label input + span {
  display: inline-block;
  vertical-align: text-bottom;
  width: 24px;
  height: 24px;
  border: solid 1px #b5b5b5;
  margin-right: 16px;
}
.inquiry #inquiry form label input:checked + span {
  border-color: #d99356;
  background: url(/assets/img/icon_check.svg) no-repeat center / 80% #d99356;
}
.inquiry #inquiry form input {
  border: solid 1px #b5b5b5;
  font-size: 16px;
  padding: 15px 18px;
  width: 100%;
}
.inquiry #inquiry form input[type="text"]::placeholder {
  color: #b9b9b9;
}
.inquiry #inquiry form input[type="text"][name="name_sei"],
.inquiry #inquiry form input[type="text"][name="name_mei"],
.inquiry #inquiry form input[type="text"][name="name_furi_sei"],
.inquiry #inquiry form input[type="text"][name="name_furi_mei"] {
  width: calc(50% - 10px);
}
.inquiry #inquiry form input[type="text"][name="name_sei"],
.inquiry #inquiry form input[type="text"][name="name_furi_sei"] {
  margin-right: 20px;
}
.inquiry #inquiry form input[type="text"][name="tel1"],
.inquiry #inquiry form input[type="text"][name="tel2"],
.inquiry #inquiry form input[type="text"][name="tel3"] {
  width: calc(33% - 30px);
}
.inquiry #inquiry form span {
  display: inline-block;
  vertical-align: middle;
  font-size: 22px;
  width: 50px;
  text-align: center;
}
.inquiry #inquiry form textarea {
  border: solid 1px #b5b5b5;
  font-size: 16px;
  padding: 15px 18px;
  width: 100%;
  height: 9.4em;
}
.inquiry #inquiry form .consent {
  text-align: center;
  padding: 44px 0 0;
}
.inquiry #inquiry form .consent label {
  font-size: 21px;
  font-weight: 500;
}
.inquiry #inquiry form .consent label span {
  width: 26px;
  height: 26px;
  margin-right: 20px;
}
.inquiry #inquiry form .consent p {
  margin: 10px 0 0;
}
.inquiry #inquiry form .btn {
  text-align: center;
  padding: 58px 0 110px;
}
.inquiry #inquiry form .btn span {
  font-size: 20px;
  background: #d99356;
  color: white;
  cursor: pointer;
  width: 440px;
  display: inline-block;
  padding: 16px 0;
}
.inquiry #confirm {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 0;
  padding: 95px 50px 0;
  text-align: center;
}
.inquiry #confirm h3 {
}
.inquiry #confirm p {
  font-size: 17px;
  line-height: 1.6;
}
.inquiry #confirm dl {
  width: 1080px;
  max-width: calc(100% - 100px);
  margin: 35px auto 0;
  border-bottom: solid 1px #0249a7;
  text-align: left;
  background: #eaeff7;
}
.inquiry #confirm dl dt {
  display: inline-block;
  vertical-align: middle;
  width: 300px;
  font-size: 19.5px;
  line-height: 2;
  padding: 0 0 0 60px;
  color: #0249a7;
  font-weight: 500;
  letter-spacing: 2px;
}
.inquiry #confirm dl dd {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 300px);
  font-size: 15.5px;
  line-height: 2;
  padding: 20px 0 19px 6.5%;
  background: white;
  position: relative;
}
.inquiry #confirm dl dd::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% + 300px);
  height: 0;
  border-top: solid 1px #0249a7;
}
.inquiry #confirm form {
  display: none;
}
.inquiry #btn {
  text-align: center;
  padding: 80px 0 100px;
}
.inquiry #btn a {
  font-size: 20px;
  background: #d99356;
  color: white;
  cursor: pointer;
  width: 440px;
  display: inline-block;
  padding: 16px 0;
  margin: 0 8px 10px;
}
.inquiry #btn a.return {
  background: #b5b5b5;
}
.inquiry #btn a.return::before {
  transform: scale(-1, 1);
}
.inquiry #btn span {
  font-size: 20px;
  background: #d99356;
  color: white;
  cursor: pointer;
  width: 440px;
  display: inline-block;
  padding: 16px 0;
  margin: 0 8px 10px;
}

@media screen and (max-width: 640px) {
  .inquiry {
  }
  .inquiry #visual {
    background-image: url(/img/inquiry/h1_sp.png);
  }
  .inquiry #visual h1 {
  }
  .inquiry #visual h1 span {
  }
  .inquiry #inquiry {
    padding: 20vw 7vw 0;
  }
  .inquiry #inquiry h3 {
    padding: 0 0 2vw;
  }
  .inquiry #inquiry p {
    font-size: 4vw;
  }
  .inquiry #inquiry form {
    padding: 16.5vw 0 0;
  }
  .inquiry #inquiry form article {
    border-bottom: solid 1px #707070;
    padding: 0 0 8vw;
    margin: 0 0 8vw;
  }
  .inquiry #inquiry form article h4 {
    font-size: 4.5vw;
    padding: 0 0 4vw;
  }
  .inquiry #inquiry form article h4::before {
    font-size: 4vw;
    padding: 0.8vw 4vw 1vw;
    margin: 0 3vw 0 0;
  }
  .inquiry #inquiry form article.required h4::before {
  }
  .inquiry #inquiry form label {
    font-size: 4vw;
    display: block;
    margin: 0 0 4vw;
  }
  .inquiry #inquiry form label + label {
    margin: 0 0 0;
  }
  .inquiry #inquiry form label input {
  }
  .inquiry #inquiry form label input + span {
    width: 6vw;
    height: 6vw;
    margin-right: 5vw;
  }
  .inquiry #inquiry form label input:checked + span {
  }
  .inquiry #inquiry form input {
    font-size: 4vw;
    padding: 3vw 4vw;
  }
  .inquiry #inquiry form input[type="text"]::placeholder {
  }
  .inquiry #inquiry form input[type="text"][name="name_sei"],
  .inquiry #inquiry form input[type="text"][name="name_mei"],
  .inquiry #inquiry form input[type="text"][name="name_furi_sei"],
  .inquiry #inquiry form input[type="text"][name="name_furi_mei"] {
  }
  .inquiry #inquiry form input[type="text"][name="name_sei"],
  .inquiry #inquiry form input[type="text"][name="name_furi_sei"] {
  }
  .inquiry #inquiry form input[type="text"][name="tel1"],
  .inquiry #inquiry form input[type="text"][name="tel2"],
  .inquiry #inquiry form input[type="text"][name="tel3"] {
    width: calc(33% - 4vw);
  }
  .inquiry #inquiry form span {
    font-size: 3vw;
    width: 7vw;
  }
  .inquiry #inquiry form textarea {
    font-size: 4vw;
    padding: 3vw 4vw;
  }
  .inquiry #inquiry form .consent {
    padding: 0;
    text-align: left;
    border: none;
    white-space: unset;
  }
  .inquiry #inquiry form .consent label {
    font-size: 4.25vw;
    margin: 0;
  }
  .inquiry #inquiry form .consent label span {
    width: 6vw;
    height: 6vw;
    margin-right: 5vw;
  }
  .inquiry #inquiry form .consent p {
    margin: 2vw 0 0;
    font-size: 3.75vw;
    padding-right: 4vw;
  }
  .inquiry #inquiry form .btn {
    padding: 3vw 0 14vw;
    border: none;
  }
  .inquiry #inquiry form .btn span {
    width: auto;
    display: block;
    font-size: 4.75vw;
    padding: 0;
    line-height: 16vw;
  }
  .inquiry #confirm {
    padding: 20vw 7vw 0;
  }
  .inquiry #confirm h3 {
    padding: 0 0 3vw;
  }
  .inquiry #confirm p {
    font-size: 4vw;
    text-align: left;
    padding: 0 7vw;
  }
  .inquiry #confirm dl {
    margin: 9vw 0 0;
    width: 100%;
    max-width: none;
  }
  .inquiry #confirm dl dt {
    border-top: solid 1px #0249a7;
    vertical-align: top;
    width: 43vw;
    font-size: 3.5vw;
    padding: 2vw 5vw;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .inquiry #confirm dl dd {
    border-top: solid 1px #0249a7;
    vertical-align: top;
    width: 43vw;
    font-size: 3.5vw;
    padding: 2vw 7vw;
    min-height: 11vw;
  }
  .inquiry #confirm dl dt.text {
    width: 100%;
    text-align: center;
  }
  .inquiry #confirm dl dd.text {
    border-top: none;
    width: 100%;
    padding: 2vw 1vw 7vw;
  }
  .inquiry #confirm dl dd::before {
    display: none;
  }
  .inquiry #confirm form {
  }
  .inquiry #btn {
    padding: 16vw 7vw 18vw;
  }
  .inquiry #btn a {
    width: auto;
    display: block;
    margin: 0 0 2vw;
    font-size: 4.5vw;
    padding: 0;
    line-height: 16vw;
  }
  .inquiry #btn a.return {
  }
  .inquiry #btn a.return::before {
  }
  .inquiry #btn span {
    width: auto;
    display: block;
    margin: 0 0 2vw;
    font-size: 4.5vw;
    padding: 0;
    line-height: 16vw;
  }
  .inquiry #confirm.complete p {
    padding: 0;
    margin: 0 -1vw;
  }
}


/** equipment **/
.equipment {}
.equipment #visual {
  background-image: url(/img/equipment/h1_pc.png);
}
.equipment #visual h1 {}
.equipment #visual h1 span {}
.equipment section:not(#visual) {
	max-width: 1180px;
	width: 100%;
	margin: 0 auto 0;
	padding: 0 50px 90px;
}
.equipment section.other:not(#visual) {
	padding-bottom: 70px;
}
.equipment section h3.dbb {
	text-align: center;
	padding-bottom: 30px;
}
.equipment section dl {
	position: relative;
}
.equipment section dl dt {
	display: inline-block;
	vertical-align: middle;
	width: 525px;
}
.equipment section dl dt img {
	width: 100%;
}
.equipment section dl dd {
	display: inline-block;
	vertical-align: middle;
	width: 555px;
	font-size: 16px;
	line-height: 2;
	padding-left: 30px;
}
.equipment section table {
  border-top: solid 2px #0249A7;
  border-bottom: solid 2px #0249A7;
  margin-top: 30px;
  width: 100%;
}
.equipment section#blast table {
	width: 320px;
	table-layout: fixed;
}
.equipment section.other table {
	width: 100%;
	margin-top: 15px;
	table-layout: fixed;
}
.equipment section table th,
.equipment section table td {
	font-size: 15px;
	line-height: 1.4;
	border-left: solid 1px #0249A7;
	border-top: solid 1px #0249A7;
	padding: 9px 15px;
	text-align: center;
	vertical-align: middle;
}
.equipment section table tr th:first-of-type,
.equipment section table tr td:first-of-type {
	border-left: none;
}
.equipment section table th {
	background: #EAEFF7;
	color: #0249A7;
	font-weight: 600;
}
.equipment section table td {}
.equipment section table td[rowspan] {
	border-right: solid 1px #0249A7;
}
.equipment >h2 {
	max-width: 1180px;
	width: 100%;
	margin: 0 auto 0;
	padding: 0 50px 40px;
	font-size: 36px;
	line-height: 1;
	font-weight: 600;
	position: relative;
	letter-spacing: 1px;
}
.equipment >h2::before {
  content: attr(data-english);
  position: absolute;
  top: -40px;
  left: 50px;
  padding-left: 25px;
  z-index: 1;
  font-size: 18.5px;
  font-family: "Rajdhani", sans-serif;
  font-weight: 600;
  color: #0249a7;
  letter-spacing: 1px;
}
.equipment >h2::after {
  content: '';
  position: absolute;
  top: -34px;
  left: 47px;
  background: #0249a7;
  width: 13px;
  height: 2px;
}
.equipment section#pager {
	padding: 0 50px;
}
.equipment section#lead {
	padding: 90px 50px 40px;
}
.equipment section#lead p {
	font-size: 17px;
	line-height: 2;
}
.equipment section#blast {
	padding-bottom: 130px;
}
.equipment section#blast dl::after {
  content: '';
  position: absolute;
  bottom: -50px;
  left: calc(50% - 310px);
  z-index: -1;
  background: #262f3c14;
  width: calc(50vw + 310px);
  height: 280px;
}
.equipment section#warehouse {
	padding-bottom: 130px;
}
.equipment section#warehouse dl::after {
  content: '';
  position: absolute;
  bottom: 30px;
  left: calc(50% - 310px);
  z-index: -1;
  background: #262f3c14;
  width: calc(50vw + 310px);
  height: 195px;
}

@media screen and (max-width: 640px) {
  .equipment {}
  .equipment #visual {
    background-image: url(/img/equipment/h1_sp.png);
  }
  .equipment #visual h1 {}
  .equipment #visual h1 span {}
	.equipment section:not(#visual) {
		padding: 0 7vw 15vw;
	}
	.equipment section.other:not(#visual) {}
	.equipment section h3.dbb {
		padding-bottom: 6vw;
	}
	.equipment section dl {}
	.equipment section dl dt {
		display: block;
		width: 100%;
	}
	.equipment section dl dt img {}
	.equipment section dl dd {
		display: block;
		width: 100%;
		font-size: 3.75vw;
		line-height: 1.9;
		padding: 5vw 0 0;
	}
	.equipment section table {
		width: 100% !important;
		margin-top: 5vw;
	}
	.equipment section.other table {
		margin-top: 0;
	}
	.equipment section table th,
	.equipment section table td {
		font-size: 3.75vw;
		min-width: auto;
		padding: 4vw 1vw;
	}
	.equipment section table tr th:first-of-type,
	.equipment section table tr td:first-of-type {}
	.equipment section table th {}
	.equipment section table td {}
	.equipment section table td[rowspan] {}
	.equipment >h2 {
		padding: 8vw 7vw 10vw;
		font-size: 6vw;
	}
	.equipment >h2::before {
		top: 1vw;
		left: 7vw;
		padding-left: 7vw;
		font-size: 5vw;
	}
	.equipment >h2::after {
		top: 3vw;
		left: 7vw;
		width: 3vw;
	}
	.equipment section#pager {
		padding: 3vw 7vw 0;
	}
	.equipment section#lead {
		padding: 14vw 7vw 8vw;
	}
	.equipment section#lead p {
		font-size: 3.75vw;
	}
	.equipment section#blast {
		padding: 0 7vw 25vw;
	}
	.equipment section#blast  h3.dbb span {
		letter-spacing: 0px;
	}
	.equipment section#blast dl::after {
		bottom: -10vw;
		left: calc(50% - 25vw);
		width: calc(50vw + 25vw);
		height: 104vw;
	}
	.equipment section#warehouse {
		padding: 0 7vw 25vw;
	}
	.equipment section#warehouse dl::after {
		bottom: -10vw;
		left: calc(50% - 25vw);
		width: calc(50vw + 25vw);
		height: 71vw;
	}
}