html {
 font-size: 62.5%;
}

html {
 font-size: 62.5%;
}

body {
 position: relative;
 font-family: YakuHanJP, "Noto Sans JP", sans-serif;
 position: relative;
 color: #1a1a1a;
 font-size: 1.6rem;
 line-height: 1.6;
 letter-spacing: 0.08em;
 overflow-x: hidden;
 line-break: strict;
 word-wrap: break-word;
 overflow-wrap: break-word;
 z-index: 10;
}

.bebas {
 font-family: "Bebas Neue", YakuHanJP, "Noto Sans JP", sans-serif;
}

main {
 position: relative;
 z-index: 10;
}

.clips {
 display: block;
 height: 0;
}

.clip-image {
 width: 100%;
 height: 100%;
}

.headline-wrap {
 margin: 9rem auto;
}

.headline-wrap:last-child {
 margin-bottom: 0;
}

img,
svg {
 position: relative;
 max-width: 100%;
 height: auto;
 vertical-align: middle;
}

span {
 display: inline-block;
}

a {
 color: #0071ae;
 text-decoration: none;
 -webkit-transition: color 0.4s ease;
 transition: color 0.4s ease;
}

a:hover {
 color: #0071ae;
}

.scrollx {
 overflow: hidden;
}

.icon.tel,
.icon.mail {
 margin-right: 0.5em;
}

.icon.blank {
 position: absolute;
 top: 50%;
 right: 0;
 font-size: 1.4rem;
 -webkit-transform: translate(-2em, -50%);
 transform: translate(-2em, -50%);
}

.icon.asterisk {
 color: #0071ae;
 font-size: 1.4rem;
}

.blur-texts {
 position: relative;
}

.blur-texts img.blur {
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 max-width: 100%;
 margin: auto;
}

.polygon-before-blue {
 position: relative;
}

.polygon-before-blue::before {
 content: "";
 position: relative;
 top: 0;
 left: 0;
 display: inline-block;
 width: 0.6em;
 height: 0.6em;
 min-width: 10px;
 min-height: 10px;
 margin: auto 0.5em auto 0;
 background: url(../images/common/icon_polygon_blue.svg) no-repeat center;
 background-size: contain;
 vertical-align: baseline;
}

.polygon-before-blue-line {
 position: relative;
}

.polygon-before-blue-line::before {
 content: "";
 position: relative;
 top: 0;
 left: 0;
 display: inline-block;
 width: 0.6em;
 height: 0.6em;
 min-width: 10px;
 min-height: 10px;
 margin: auto 0.5em auto 0;
 background: url(../images/common/icon_polygon_blue.svg) no-repeat center;
 background-size: contain;
 vertical-align: baseline;
}

.polygon-before-blue-line::before {
 background: url(../images/common/icon_polygon_line.svg) no-repeat center;
}

.polygon-before-white {
 position: relative;
}

.polygon-before-white::before {
 content: "";
 position: relative;
 top: 0;
 left: 0;
 display: inline-block;
 width: 0.6em;
 height: 0.6em;
 min-width: 10px;
 min-height: 10px;
 margin: auto 0.5em auto 0;
 background: url(../images/common/icon_polygon_white.svg) no-repeat center;
 background-size: contain;
 vertical-align: baseline;
}

.btn-base {
 position: relative;
 display: inline-block;
 width: 320px;
 max-width: 100%;
 margin: 3rem auto;
 padding: 0.5em 3em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #1a1a1a;
 text-align: center;
 font-size: 1.6rem;
 font-weight: 700;
 border: 1px solid transparent;
 background: #fff;
 -webkit-transition-property: color, background, border;
 transition-property: color, background, border;
}

.btn-base::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

.btn-base:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

.btn-base:hover {
 border: 1px solid #0071ae;
}

.btn-line {
 position: relative;
 position: relative;
 position: relative;
 display: inline-block;
 width: 320px;
 max-width: 100%;
 margin: 3rem auto;
 padding: 0.5em 3em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #a8a8a9;
 text-align: center;
 font-size: 1.6rem;
 font-weight: 700;
 border: 1px solid transparent;
 background: #fff;
 -webkit-transition-property: color, background, border;
 transition-property: color, background, border;
 text-align: left;
 border: 1px solid #0071ae;
}

.btn-line::before {
 content: "";
 position: relative;
 top: 0;
 left: 0;
 display: inline-block;
 width: 0.6em;
 height: 0.6em;
 min-width: 10px;
 min-height: 10px;
 margin: auto 0.5em auto 0;
 background: url(../images/common/icon_polygon_blue.svg) no-repeat center;
 background-size: contain;
 vertical-align: baseline;
}

.btn-line::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

.btn-line:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

.btn-line::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

.btn-line:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

.btn-line:hover {
 border: 1px solid #0071ae;
}

.btn-blue {
 position: relative;
 display: inline-block;
 width: 320px;
 max-width: 100%;
 margin: 3rem auto;
 padding: 0.5em 3em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #fff;
 text-align: center;
 font-size: 1.6rem;
 font-weight: 700;
 border: 1px solid transparent;
 background: #0071ae;
 -webkit-transition-property: color, background, border;
 transition-property: color, background, border;
 position: relative;
 padding: 1em 2em;
 font-size: 2rem;
}

.btn-blue::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

.btn-blue:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

.btn-blue:hover {
 border: 1px solid #0071ae;
}

.btn-blue::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

.btn-blue:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

.btn-blue::after {
 right: 0;
 width: 3rem;
 height: 80%;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#333333), color-stop(50%, #333333), color-stop(50%, #646464));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #333333 0%, #333333 50%, #646464 50%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #333333 0%, #333333 50%, #646464 50%);
 background-position: center;
 background-repeat: no-repeat;
}

.btn-blue:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#333333), color-stop(50%, #333333), color-stop(50%, #646464));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #333333 0%, #333333 50%, #646464 50%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #333333 0%, #333333 50%, #646464 50%);
 background-position: center;
 background-repeat: no-repeat;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

.btn-blue:hover {
 background: #fff;
 color: #0071ae;
 border: 1px solid #0071ae;
}

.ttl-polygon {
 text-align: left;
 font-size: 3rem;
 color: #0071ae;
 letter-spacing: 0.1em;
 line-height: 1.4;
}

.ttl-polygon .t-en {
 position: relative;
 font-size: 1.1rem;
 color: #a5a5a5;
}

.ttl-polygon .t-en::before {
 content: "";
 position: relative;
 top: 0;
 left: 0;
 display: inline-block;
 width: 0.6em;
 height: 0.6em;
 min-width: 10px;
 min-height: 10px;
 margin: auto 0.5em auto 0;
 background: url(../images/common/icon_polygon_blue.svg) no-repeat center;
 background-size: contain;
 vertical-align: baseline;
}

.ttl-polygon .t-jp {
 display: block;
 font-size: inherit;
 color: inherit;
 font-weight: 900;
}

.ttl-box {
 position: relative;
 max-width: 100%;
 width: 600px;
 margin: 0 auto;
 padding: 0.5em 1em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 text-align: center;
 font-size: 2.8rem;
 color: #0071ae;
 letter-spacing: 0.1em;
 line-height: 1.4;
 font-weight: 900;
}

.ttl-box::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 border: 6px solid #d8d8d8;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.ttl-box::after {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 width: 6px;
 height: 1em;
 margin: auto 0;
 background: #0071ae;
}

table {
 width: 100%;
 max-width: 960px;
 margin: 6rem auto 0;
 table-layout: fixed;
 border-collapse: collapse;
}

table tr th,
table tr td {
 position: relative;
 padding: 1rem 2em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 vertical-align: top;
 text-align: left;
 font-size: 1.8rem;
 line-height: 1.4;
 vertical-align: top;
}

table tr th {
 width: 30%;
 min-width: 7em;
 font-weight: 500;
}

table tr td {
 width: 70%;
}

table tr td ul.disc {
 padding-left: 1em;
}

table tr td ul.disc li {
 list-style-type: disc;
 list-style-position: outside;
 padding-left: 0;
}

table tr td ul.disc li + li {
 margin-top: 0;
}

.tbl-line {
 width: 100%;
 max-width: 960px;
 margin: 6rem auto 0;
 table-layout: fixed;
 border-collapse: collapse;
}

.tbl-line tr th,
.tbl-line tr td {
 position: relative;
 padding: 1rem 2em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 vertical-align: top;
 text-align: left;
 font-size: 1.8rem;
 line-height: 1.4;
 vertical-align: top;
}

.tbl-line tr th {
 width: 30%;
 min-width: 7em;
 font-weight: 500;
}

.tbl-line tr td {
 width: 70%;
}

.tbl-line tr td ul.disc {
 padding-left: 1em;
}

.tbl-line tr td ul.disc li {
 list-style-type: disc;
 list-style-position: outside;
 padding-left: 0;
}

.tbl-line tr td ul.disc li + li {
 margin-top: 0;
}

.tbl-line tr {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 width: 100%;
 margin: 1em auto;
 border-top: 1px solid #56aeda;
 border-bottom: 1px solid #56aeda;
}

.tbl-line tr th {
 min-width: 15em;
}

.inner {
 width: 1060px;
 max-width: 90%;
 margin: 0 auto;
 padding: 0;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.back.gray {
 background: #d8d8d8;
}

.w480 {
 max-width: 480px;
 width: 100%;
 padding-left: 8rem;
 padding-right: 8rem;
 margin: 0 auto;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.w764 {
 max-width: 764px;
 width: 100%;
 padding-left: 8rem;
 padding-right: 8rem;
 margin: 0 auto;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.w1060 {
 max-width: 1060px;
 width: 100%;
 padding-left: 8rem;
 padding-right: 8rem;
 margin: 0 auto;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.w1200 {
 max-width: 1200px;
 width: 100%;
 padding-left: 8rem;
 padding-right: 8rem;
 margin: 0 auto;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 -webkit-box-align: start;
 -ms-flex-align: start;
 align-items: flex-start;
}

.flex .column2 {
 width: calc(100% / 12 * 2 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column3 {
 width: calc(100% / 12 * 3 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column4 {
 width: calc(100% / 12 * 4 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column5 {
 width: calc(100% / 12 * 5 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column6 {
 width: calc(100% / 12 * 6 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column7 {
 width: calc(100% / 12 * 7 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column8 {
 width: calc(100% / 12 * 8 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column9 {
 width: calc(100% / 12 * 9 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column10 {
 width: calc(100% / 12 * 10 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column11 {
 width: calc(100% / 12 * 11 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .column12 {
 width: calc(100% / 12 * 12 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.flex .w100 {
 width: 100%;
}

.flex .w50 {
 width: 50%;
}

.flex .w33 {
 width: 33%;
}

.of-c {
 -o-object-fit: cover;
 object-fit: cover;
 font-family: "object-fit: cover;";
}

.t-black {
 color: #1a1a1a;
}

.t-base {
 color: #fff;
}

.t-main {
 color: #0071ae;
}

.t-gray {
 color: #a5a5a5;
}

.t-sub {
 color: #56aeda;
}

.ta-l {
 text-align: left;
}

.ta-c {
 text-align: center;
}

.ta-r {
 text-align: right;
}

.fz-lg {
 font-size: 2.4rem;
}

.fz-mid {
 font-size: 1.8rem;
}

.fz-sm {
 font-size: 1.3rem;
}

.gmap {
 position: relative;
 z-index: 10;
}

.gmap iframe {
 vertical-align: bottom;
 max-width: 100%;
 width: 100%;
}

a[href^="tel:"] {
 display: inline-block;
 cursor: default;
 pointer-events: none;
 text-decoration: none;
 letter-spacing: 0.05em;
}

.image-grade-after {
 position: relative;
 padding: 0 2rem 2rem 0;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

.image-grade-after::after {
 content: "";
 position: absolute;
 right: 0;
 bottom: 0;
 width: 100%;
 max-width: 60%;
 height: 100%;
 max-height: 60%;
 background: url(../images/common/back_grade_after.png) no-repeat right bottom;
 background-size: contain;
}

/*==============================================================================
TheHeader
==============================================================================*/
#main-header.flex {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 -webkit-box-align: stretch;
 -ms-flex-align: stretch;
 align-items: stretch;
 padding: 0 5rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #fff;
 background: rgba(0, 0, 0, 0.5);
 z-index: 9999;
}

#main-header.flex .logo-wrap {
 position: relative;
 max-width: calc(100% - 6rem - 5%);
 margin: 2rem 0;
 -webkit-transform-origin: top center;
 transform-origin: top center;
 -webkit-transition: .2s;
 transition: .2s;
 -webkit-transition-property: margin, -webkit-transform;
 transition-property: margin, -webkit-transform;
 transition-property: margin, transform;
 transition-property: margin, transform, -webkit-transform;
 z-index: 999;
}

#main-header.flex .logo-wrap p {
 font-size: 1.3rem;
}

#main-header.flex .logo-wrap .logo {
 margin: 0.5rem 0 0;
}

#main-header.flex.scrolle .logo-wrap {
 margin: 1rem 0 0;
 -webkit-transform: scale(0.8);
 transform: scale(0.8);
}

#main-nav {
 position: relative;
 z-index: 998;
}

#main-nav #main-menu {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 -webkit-box-align: start;
 -ms-flex-align: start;
 align-items: flex-start;
 flex-wrap: wrap;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 justify-content: space-between;
 height: 100%;
}

#main-nav #main-menu .column2 {
 width: calc(100% / 12 * 2 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column3 {
 width: calc(100% / 12 * 3 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column4 {
 width: calc(100% / 12 * 4 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column5 {
 width: calc(100% / 12 * 5 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column6 {
 width: calc(100% / 12 * 6 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column7 {
 width: calc(100% / 12 * 7 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column8 {
 width: calc(100% / 12 * 8 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column9 {
 width: calc(100% / 12 * 9 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column10 {
 width: calc(100% / 12 * 10 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column11 {
 width: calc(100% / 12 * 11 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .column12 {
 width: calc(100% / 12 * 12 - 2%);
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu .w100 {
 width: 100%;
}

#main-nav #main-menu .w50 {
 width: 50%;
}

#main-nav #main-menu .w33 {
 width: 33%;
}

#main-nav #main-menu > li:first-child::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 bottom: 0;
 margin: auto 0;
 width: 1px;
 height: 1em;
 background: #fff;
}

#main-nav #main-menu > li::after {
 content: "";
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 margin: auto 0;
 width: 1px;
 height: 1em;
 background: #fff;
}

#main-nav #main-menu li {
 position: relative;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 max-width: 14vw;
 min-width: 110px;
 height: 100%;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

#main-nav #main-menu li.sp-menu {
 display: none;
}

#main-nav #main-menu li > a:hover .t-en {
 -webkit-transform: rotateX(90deg);
 transform: rotateX(90deg);
}

#main-nav #main-menu li > a:hover .t-jp {
 -webkit-transform: rotateX(0);
 transform: rotateX(0);
 opacity: 1;
}

#main-nav #main-menu li:hover .sub-nav {
 display: block;
 position: absolute;
 top: 100%;
 left: 0;
 width: auto;
 padding: 2rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 background: rgba(0, 0, 0, 0.5);
}

#main-nav #main-menu a {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 width: 100%;
 height: 100%;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 color: #fff;
 text-align: center;
 -webkit-transition: color 0.2s, background 0.2s;
 transition: color 0.2s, background 0.2s;
}

#main-nav #main-menu a span {
 display: block;
 margin: auto;
 text-transform: uppercase;
 font-weight: 700;
 font-size: 1.4rem;
 -webkit-transition: 0.2s linear;
 transition: 0.2s linear;
 -webkit-transform-origin: center;
 transform-origin: center;
 -webkit-transition-property: opacity, -webkit-transform;
 transition-property: opacity, -webkit-transform;
 transition-property: transform, opacity;
 transition-property: transform, opacity, -webkit-transform;
}

#main-nav #main-menu a .t-en {
 font-size: 2rem;
 line-height: 1;
 letter-spacing: 0.1em;
 -webkit-transform: rotateX(0deg);
 transform: rotateX(0deg);
}

#main-nav #main-menu a .t-jp {
 position: absolute;
 top: calc(50% - 0.5em);
 left: 0;
 right: 0;
 margin: 0 auto;
 font-weight: 900;
 line-height: 1.2;
 color: #fff;
 -webkit-transform: rotateX(90deg);
 transform: rotateX(90deg);
}

#main-nav #main-menu .sub-nav {
 display: none;
}

#menu-toggle {
 display: none;
 position: fixed;
 top: 3rem;
 right: 5%;
 width: 6rem;
 height: 6rem;
 background: url(../images/common/icon_polygon_blue.svg) no-repeat center;
 background-size: cover;
 z-index: 9999;
}

#menu-toggle .t-menu {
 display: inline-block;
 text-align: center;
 font-size: 1.8rem;
 letter-spacing: 0.1em;
 color: #fff;
 -webkit-transform: translateX(0.1em);
 transform: translateX(0.1em);
 -webkit-transition: opacity 0.2s ease;
 transition: opacity 0.2s ease;
}

#menu-toggle::before,
#menu-toggle::after {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 right: 0;
 left: 0;
 margin: auto;
 width: 60%;
 height: 4px;
 background: #fff;
 -webkit-transform-origin: center;
 transform-origin: center;
 -webkit-transition: 0.2s linear;
 transition: 0.2s linear;
 -webkit-transform-origin: opacity, transform;
 transform-origin: opacity, transform;
 opacity: 0;
 -webkit-transform: rotate(360deg);
 transform: rotate(360deg);
}

#menu-toggle.on .t-menu {
 opacity: 0;
}

#menu-toggle.on::before {
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
 opacity: 1;
}

#menu-toggle.on::after {
 -webkit-transform: rotate(-45deg);
 transform: rotate(-45deg);
 opacity: 1;
}

/*==============================================================================
TheFooter
==============================================================================*/
#common-contact-wrap {
 padding: 7rem 0;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 background: url(../images/common/back_contact_wrap.png) no-repeat center left;
 /*background-size: 60vw auto;*/
 background-size: contain;
 background-position: top left;
}

#common-contact-wrap .inner.flex {
 -webkit-box-align: stretch;
 -ms-flex-align: stretch;
 align-items: stretch;
}

#common-contact-wrap .box-border {
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -ms-flex-line-pack: center;
 align-content: center;
 width: 45%;
 margin: 0 auto;
 padding: 5rem 2rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #0071ae;
 text-align: center;
 background: url(../images/common/back_grade_gray.png) no-repeat center;
 background-size: cover;
 border: 1px solid rgba(0, 113, 174, 0.2);
}

#common-contact-wrap .box-border .btn-line {
 margin: 2rem 0 0;
}

#common-contact-wrap .box-border .ttl {
 font-size: 2.2rem;
 color: #0071ae;
 font-weight: bold;
}

#common-contact-wrap .box-border .ttl.tel {
 font-size: 3rem;
}

#main-footer {
 position: relative;
 color: #fff;
 background: url(../images/common/back_main_footer.jpg) no-repeat center;
 background-size: cover;
}

#main-footer .inner.flex {
 padding: 10rem 0;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 -webkit-box-align: stretch;
 -ms-flex-align: stretch;
 align-items: stretch;
}

#main-footer .logo-wrap p {
 font-size: 1.4rem;
}

#main-footer .logo-wrap .logo {
 margin: 0.2em 0 0;
}

#main-footer .logo-wrap .logo-sub {
 font-size: 1.6rem;
}

#main-footer .logo-wrap .add {
 margin: 1rem 0;
}

#main-footer .logo-wrap .tel,
#main-footer .logo-wrap .fax {
 -webkit-box-pack: start;
 -ms-flex-pack: start;
 justify-content: flex-start;
}

#main-footer .logo-wrap .tel dt,
#main-footer .logo-wrap .fax dt {
 margin: 0 1em 0 0;
}

#main-footer .logo-wrap .tel dd,
#main-footer .logo-wrap .fax dd {
 color: #fff;
}

#main-footer .logo-wrap .tel dd a,
#main-footer .logo-wrap .fax dd a {
 color: #fff;
}

#main-footer .footer-navi {
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
 -ms-flex-direction: column;
 flex-direction: column;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 height: 100px;
 margin: 5rem 0 0;
}

#main-footer .footer-navi li {
 padding: 0.2rem 0;
}

#main-footer .footer-navi a {
 position: relative;
 padding: 0.4rem 0;
 color: #fff;
}

#main-footer .footer-navi a::after {
 content: "";
 position: absolute;
 left: 0;
 bottom: 0;
 width: 0;
 height: 1px;
 background: #fff;
 -webkit-transition: width 0.2s ease;
 transition: width 0.2s ease;
}

#main-footer .footer-navi a:hover::after {
 width: 100%;
}

#main-footer #copy-right {
 padding: 1em 0;
 text-align: center;
 font-size: 1.4rem;
 color: #fff;
 background: #0071ae;
}

#pagetop {
 position: absolute;
 top: 4rem;
 right: 5%;
 width: 60px;
 height: 60px;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 z-index: 9997;
 cursor: pointer;
 -webkit-transition: -webkit-transform .2s;
 transition: -webkit-transform .2s;
 transition: transform .2s;
 transition: transform .2s, -webkit-transform .2s;
}

#pagetop:hover {
 -webkit-transform: translateY(-1rem);
 transform: translateY(-1rem);
}

/*==============================================================================
pages HOME
==============================================================================*/
body#index #mv {
 position: relative;
 width: 100%;
}

body#index #mv::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: rgba(26, 26, 26, 0.5);
 z-index: 10;
}

body#index #mv .back-image {
 position: relative;
 width: 100%;
 height: 1000px;
 z-index: 1;
}

body#index #mv .ttl-wrap {
 position: absolute;
 max-width: 1060px;
 top: 50%;
 right: 0;
 left: 0;
 width: 100%;
 margin: 0 auto;
 z-index: 20;
}

body#index #mv .ttl-wrap p {
 margin: 3rem 0 0;
 color: #fff;
 font-size: 1.8rem;
 letter-spacing: 0.2rem;
 font-weight: 900;
}

body#index #mvideo {
 background-color: #000;
 overflow: hidden;
 position: relative;
}

body#index #mvideo video {
 width: 100%;
 display: block;
 margin: auto;
}

#mvideo_wrap {
 background-color: black;
}

#mvideo_wrap_pc {
 background-color: black;
 position: relative;
 overflow: hidden;
}

.fitImg {
 position: absolute;
}

#mvideo_wrap {
 display: none;
}

@media screen and (max-width: 1060px) {
 #mvideo_wrap_pc {
  display: none;
 }

 #mvideo_wrap {
  display: block;
 }
}

@media screen and (max-width: 580px) {
 body#index #mvideo {
  height: 270px;
 }

 body#index #mvideo video {
  width: auto;
  left: -50%;
  right: -50%;
  margin: auto;
  height: 100%;
  position: absolute;
 }


}

body#index #infomaition {
 position: relative;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-box-pack: start;
 -ms-flex-pack: start;
 justify-content: flex-start;
}

body#index #infomaition::after {
 content: "";
 position: absolute;
 display: block;
 width: 100%;
 height: 100%;
 border-top: 1px solid #d8d8d8;
 border-bottom: 1px solid #d8d8d8;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 z-index: -1;
}

body#index #infomaition .ttl-md {
 width: 40%;
 text-align: right;
 font-size: 2.6rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 padding: 4rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #fff;
 background: -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: linear-gradient(to right, #56aeda, #0071ae);
}

body#index #infomaition .hot-news {
 width: 60%;
 padding: 0 0 0 4rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

body#index #infomaition .post-list {
 text-align: left;
 font-size: 1.5rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 position: relative;
 display: block;
 max-width: 600px;
 color: #1a1a1a;
}

body#index #infomaition .post-list span,
body#index #infomaition .post-list a {
 position: relative;
 display: block;
 width: 100%;
 font-weight: inherit;
 color: inherit;
 z-index: 20;
}

body#index #infomaition .post-list::before {
 content: "";
 position: absolute;
 left: 0;
 bottom: -0.5em;
 width: 0;
 height: 1px;
 background: #0071ae;
 -webkit-transition: 0.2s ease;
 transition: 0.2s ease;
 -webkit-transition-property: width;
 transition-property: width;
 z-index: 10;
}

body#index #infomaition .post-list::after {
 content: "";
 position: absolute;
 top: 0;
 right: 1em;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_black.svg);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: right 0.2s;
 transition: right 0.2s;
}

body#index #infomaition .post-list:hover::before {
 width: 100%;
}

body#index #infomaition .post-list:hover::after {
 right: 0;
}

body#index #infomaition .post-list .post-day {
 display: block;
}

body#index .sections.flex {
 -webkit-box-align: stretch;
 -ms-flex-align: stretch;
 align-items: stretch;
}

body#index #business.flex,
body#index #expertise.flex {
 -webkit-box-align: end;
 -ms-flex-align: end;
 align-items: flex-end;
 padding: 8rem 0 0;
}

body#index #business.flex .inner,
body#index #expertise.flex .inner {
 width: calc(100% - ((100vw - 1200px) / 2));
 margin: 0 5rem;
}

body#index #business.flex .ttl-lg,
body#index #expertise.flex .ttl-lg {
 text-align: left;
 font-size: 3rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 3rem auto;
}

body#index #business.flex .ttl-lg .t-gray,
body#index #expertise.flex .ttl-lg .t-gray {
 display: block;
 font-size: 1.5rem;
 font-weight: 900;
 line-height: 1.4;
 padding-top: 1;
}

body#index #business.flex p,
body#index #expertise.flex p {
 line-height: 2;
}

body#index #business.flex .link-wrap,
body#index #expertise.flex .link-wrap {
 position: relative;
 width: 100%;
 margin: 8rem auto 0;
 padding: 11rem 0;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 text-align: center;
 background-size: cover;
}

body#index #business.flex .link-wrap::after,
body#index #expertise.flex .link-wrap::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: rgba(9, 22, 54, 0.5);
 z-index: 1;
}

body#index #business.flex .link-wrap .btn-base,
body#index #expertise.flex .link-wrap .btn-base {
 position: relative;
 max-width: 80%;
 z-index: 10;
}

body#index #business {
 position: relative;
 -webkit-box-pack: end;
 -ms-flex-pack: end;
 justify-content: flex-end;
 background-image: url(../images/common/gear_lg.svg), url(../images/common/gear_gray.svg), url(../images/common/gear_sm.svg);
 background-position: 22% 44%, 16% 36%, 5% 46%;
 background-size: 110px 113px, 134px 138px, 44px 44px;
 background-repeat: no-repeat;
}

body#index #business .link-wrap {
 background: url(../images/home/back_link_business.jpg);
}

body#index #expertise .link-wrap {
 background: url(../images/home/back_link_expertise.jpg);
}

body#index #company {
 margin: 9rem auto;
}

body#index #company .w50 {
 position: relative;
 padding: 4rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

body#index #company .w50 > p {
 line-height: 2;
}

body#index #company .w50:first-child::after {
 content: "";
 position: absolute;
 top: 10%;
 right: 0;
 width: 1px;
 height: 70%;
 background: #a5a5a5;
}

body#index #company .com-image {
 display: block;
 margin: auto;
}

body#index #recruit {
 padding: 7rem 0;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 background: url(../images/common/back_skew.jpg) no-repeat center;
 background-size: cover;
}

body#index #recruit .ttl-polygon {
 position: relative;
 text-align: center;
 z-index: 10;
}

body#index #recruit .ttl-polygon .t-en {
 color: #fff;
 font-size: 1.1rem;
}

body#index #recruit .ttl-polygon .t-en::before {
 content: none;
}

body#index #recruit .ttl-polygon .t-jp {
 position: relative;
 color: #fff;
 text-align: center;
}

body#index #recruit .ttl-polygon .t-jp::before {
 content: "";
 position: relative;
 top: 0;
 left: 0;
 display: inline-block;
 width: 0.6em;
 height: 0.6em;
 min-width: 10px;
 min-height: 10px;
 margin: auto 0.5em auto 0;
 background: url(../images/common/icon_polygon_white.svg) no-repeat center;
 background-size: contain;
 vertical-align: baseline;
}

body#index #recruit .ttl-polygon .t-jp::before {
 display: block;
 width: 1rem;
 height: 1rem;
 text-align: center;
 margin: 0 auto;
}

body#index #recruit .blur-texts .blur {
 bottom: auto;
}

body#index #recruit .ttl-mid {
 text-align: center;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 4rem auto;
 color: #fff;
}

body#index #recruit p {
 color: #fff;
}

body#index #recruit .link-wrap {
 max-width: 960px;
 margin: 6rem auto 0;
 -webkit-box-align: stretch;
 -ms-flex-align: stretch;
 align-items: stretch;
}

body#index #recruit .link-wrap .btn-link {
 position: relative;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -ms-flex-line-pack: center;
 align-content: center;
 -webkit-box-pack: start;
 -ms-flex-pack: start;
 justify-content: flex-start;
 width: 22%;
 padding: 2rem;
 color: #fff;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 background: #0071ae;
 border: 1px solid #fff;
}

body#index #recruit .link-wrap .btn-link::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

body#index #recruit .link-wrap .btn-link:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

body#index #recruit .link-wrap .btn-link::after {
 position: relative;
 top: auto;
 right: auto;
 left: auto;
 bottom: auto;
 margin: 3rem auto;
}

body#index #recruit .link-wrap .btn-link:hover {
 color: #0071ae;
 background: #fff;
}

body#index #recruit .link-wrap .btn-link span {
 width: 100%;
 margin: 0;
 text-align: center;
 font-weight: 900;
}

body#index #recruit .link-wrap .btn-link span.t-jp {
 font-weight: inherit;
 font-size: 1.4rem;
 position: relative;
}

body#index #recruit .link-wrap .btn-link span.t-jp::before {
 content: "";
 position: relative;
 top: 0;
 left: 0;
 display: inline-block;
 width: 0.6em;
 height: 0.6em;
 min-width: 10px;
 min-height: 10px;
 margin: auto 0.5em auto 0;
 background: url(../images/common/icon_polygon_white.svg) no-repeat center;
 background-size: contain;
 vertical-align: baseline;
}

body#index #recruit .link-wrap .btn-link span.t-jp::before {
 display: block;
 margin: 0 auto;
 width: 1rem;
 height: 1rem;
}

body#index #recruit .link-wrap .btn-link spant-en {
 font-weight: inherit;
 font-size: 1.5rem;
}

body#index #recruit .link-wrap .btn-link + .btn-line {
 border-left: none;
}

body#index #recruit .link-wrap .link-image {
 width: 56%;
}

/*==============================================================================
pages common
==============================================================================*/
#p-head {
 position: relative;
 margin: 0 auto 9rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 background: url(../images/common/back_page_head.jpg) no-repeat center;
 background-size: cover;
}

#p-head::before {
 content: "";
 position: absolute;
 left: 0;
 bottom: 0;
 display: block;
 width: 100%;
 height: 10px;
 background: #d8d8d8;
 z-index: 20;
}

#p-head::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: url(../images/common/page_title_grade.png) no-repeat center;
 background-size: cover;
 z-index: 10;
}

#p-head .inner {
 position: relative;
 width: 1280px;
 height: 400px;
 margin: 0 auto;
 z-index: 30;
}

#p-head .inner::after {
 content: "";
 position: absolute;
 bottom: 0;
 left: 0;
 width: 110px;
 height: 10px;
 background: #0071ae;
 z-index: 40;
}

#p-head .ttl-head {
 position: absolute;
 top: 50%;
 left: 0;
 right: 0;
 margin: 0 auto;
 text-align: center;
}

#p-head .ttl-head span {
 display: block;
}

#p-head .ttl-head span.t-en {
 font-size: 1.1rem;
 font-weight: 900;
 color: #a5a5a5;
}

#p-head .ttl-head span.t-jp {
 text-align: center;
 font-size: 3rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 color: #fff;
}

#technique #p-head {
 background: url(../images/technique/back_page_head.jpg) no-repeat center;
}

#recruit #p-head {
 background: url(../images/recruit/back_page_head.jpg) no-repeat center;
}

#company #p-head {
 background: url(../images/company/back_page_head.jpg) no-repeat center;
}

#business #p-head {
 background: url(../images/business/back_page_head.jpg) no-repeat center;
}

#contact #p-head {
 background: url(../images/common/back_page_head_con.jpg) no-repeat center;
}

#work_place #p-head {
 background: url(../images/work_place/back_page_head.png) no-repeat center;
}

/*==============================================================================
pages news
==============================================================================*/
body#news-list #news-list-wrap .posts {
 margin: 6rem auto;
 padding: 5rem;
 border: 1px solid #d8d8d8;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

body#news-list #news-list-wrap .post-day {
 display: block;
 font-weight: 900;
}

body#news-list #news-list-wrap .post-ttl a {
 text-align: left;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 position: relative;
 display: inline-block;
 margin: 0.5rem auto;
 color: #0071ae;
}

body#news-list #news-list-wrap .post-ttl a::before {
 content: "";
 position: absolute;
 left: 0;
 bottom: 0;
 width: 0;
 height: 1px;
 background: #0071ae;
 -webkit-transition: 0.2s linear;
 transition: 0.2s linear;
 -webkit-transition-property: width;
 transition-property: width;
}

body#news-list #news-list-wrap .post-ttl a:hover::before {
 width: 100%;
}

body#news-list #news-list-wrap .post-comment {
 line-height: 2;
 font-size: 1.5rem;
 color: #1a1a1a;
}

body#news-list .pager {
 font-family: "Bebas Neue", YakuHanJP, "Noto Sans JP", sans-serif;
 text-align: center;
}

body#news-list .pager > a {
 margin: 0 0.5em;
 padding: 0.5em 1em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 border: 1px solid #0071ae;
}

body#news-list .pager > a.current,
body#news-list .pager > a:hover {
 font-weight: 900;
 color: #fff;
 background: #0071ae;
}

/* single post page */
body#news-detail #news-single .post-day {
 display: block;
 font-weight: 900;
}

body#news-detail #news-single .post-ttl {
 text-align: left;
 font-size: 3rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 color: #0071ae;
}

body#news-detail #news-single #detail .detail-text {
 margin: 3rem auto;
 line-height: 2;
}

body#news-detail #news-single .detailUpfile {
 margin: 3rem auto 0;
}

body#news-detail #news-single .btns {
 margin: 6rem auto;
}

/*==============================================================================
pages recruit
==============================================================================*/
body#recruit #work .ttl-wrap {
 position: relative;
 margin: 0 auto;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

body#recruit #work .ttl-wrap::after {
 content: "";
 position: absolute;
 top: -8rem;
 left: 0;
 width: 100%;
 height: 120%;
 background: url(../images/recruit/back_recruit_main.png) no-repeat top center;
 background-size: cover;
 z-index: -1;
}

body#recruit #work .ttl-wrap .ttl-grade {
 position: absolute;
 bottom: 9rem;
 left: 50%;
 max-width: 60%;
 padding: 2rem 4em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 z-index: 10;
}

body#recruit #work .ttl-wrap .ttl-grade span {
 text-align: center;
 font-size: 6.3rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 width: 100%;
 color: #fff;
 position: relative;
 margin: 0 auto;
 z-index: 10;
}

body#recruit #work .ttl-wrap .ttl-grade::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: linear-gradient(to right, #56aeda, #0071ae);
 opacity: 0.4;
 z-index: 1;
}

body#recruit #work .ttl-wrap .group-image {
 max-width: 60%;
}

body#recruit #work .image-box {
 position: relative;
 width: 100%;
 margin: 6rem auto;
}

body#recruit #work .image-box::after {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 display: block;
 width: 100%;
 height: 80%;
 margin: auto;
 background-image: url(../images/recruit/text_back_recruit.svg), url(../images/recruit/back_grade_staff.png);
 background-size: 100% auto, 100% auto;
 background-position: center, center;
 background-repeat: no-repeat, no-repeat;
 z-index: -1;
}

body#recruit #work .image-box .inner {
 position: relative;
}

body#recruit #work .image-box .inner .logo {
 position: absolute;
 top: 50%;
 left: 50%;
 max-width: 20%;
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
}

body#recruit #message {
 margin: 9rem auto 6rem;
}

body#recruit #message .ttl-box {
 margin: 0 auto 6rem;
}

body#recruit #message .text-box {
 width: 52%;
 line-height: 2;
 font-size: 1.5rem;
}

body#recruit #message .img-box {
 width: 44%;
}

body#recruit #human {
 position: relative;
 padding: 9rem 0;
 overflow: hidden;
}

body#recruit #human .text-value {
 margin: 6rem auto;
}

body#recruit #human .val {
 max-width: 280px;
 margin: 0 auto;
}

body#recruit #human .back {
 position: absolute;
 top: 0;
 right: 50%;
 width: 50%;
 height: 100%;
 -o-object-position: center right;
 object-position: center right;
 z-index: -1;
}

body#recruit #human .num-box .pc {
 display: block;
}

body#recruit #human .num-box .sp {
 display: none;
}


body#recruit #detail {
 margin-top: -12rem;
 padding-top: 12rem;
}

body#recruit #detail .ttl-box {
 margin: 0 auto 6rem;
}

body#recruit #detail .btn-blue {
 margin: 0 auto;
 pointer-events: none;
}

body#recruit #detail .tbl-recruit {
 margin: 0 auto;
}

body#recruit #detail .tbl-recruit tr th,
body#recruit #detail .tbl-recruit tr td {
 font-size: 1.5rem;
}

body#recruit #detail .tbl-recruit tr th {
 font-weight: 700;
}

body#recruit #flow .flows .flow-box {
 margin: 6rem auto;
}

body#recruit #flow .flows .flow-box dt {
 text-align: left;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 width: 40%;
 padding: 1em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #0071ae;
 border-top: 3px solid #0071ae;
}

body#recruit #flow .flows .flow-box dd {
 width: 60%;
 padding: 1em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

body#recruit #flow .flows .ttl-message {
 text-align: center;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 6rem auto;
 color: #0071ae;
}

body#recruit .last {
 margin: 6rem auto 9rem;
}

body#recruit .last .end-banner {
 text-align: left;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 position: relative;
 position: relative;
 display: inline-block;
 width: 720px;
 max-width: 100%;
 margin: 0 auto;
 padding: 8rem 4rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #fff;
 text-align: left;
 background-image: -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae)), url("../images/recruit/back_link_company.jpg");
 background-image: -webkit-linear-gradient(left, #56aeda, #0071ae), url("../images/recruit/back_link_company.jpg");
 background-image: linear-gradient(to right, #56aeda, #0071ae), url("../images/recruit/back_link_company.jpg");
 background-repeat: no-repeat;
 background-position: top left, top right;
 background-size: 40% 100%, auto 100%;
 border: 2px solid #fff;
 -webkit-transition: border, 0.2s ease;
 transition: border, 0.2s ease;
}

body#recruit .last .end-banner::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

body#recruit .last .end-banner:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

body#recruit .last .end-banner::after {
 right: auto;
 left: 8em;
}

body#recruit .last .end-banner:hover {
 border-color: #1a1a1a;
 background-image: -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf)), url("../images/recruit/back_link_company.jpg");
 background-image: -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%), url("../images/recruit/back_link_company.jpg");
 background-image: linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%), url("../images/recruit/back_link_company.jpg");
}

/*==============================================================================
pages work place
==============================================================================*/
body#work_place #possibility #gear {
 position: relative;
 -webkit-box-align: stretch;
 -ms-flex-align: stretch;
 align-items: stretch;
 max-width: calc(100% - 5rem);
 background: url(../images/work_place/back_main_work_place.jpg) no-repeat center left;
 background-size: auto 100%;
}

body#work_place #possibility #gear .right-image {
 width: 50%;
}

body#work_place #possibility #gear .inner {
 width: auto;
 margin: 0 0 0 auto;
}

body#work_place #possibility #gear .inner .ttl {
 margin: auto 5rem auto 0;
}

body#work_place #possibility .text-wrap {
 position: relative;
 margin: 4rem auto;
 padding: 0 0 6rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 -webkit-box-align: stretch;
 -ms-flex-align: stretch;
 align-items: stretch;
}

body#work_place #possibility .text-wrap::after {
 content: "";
 position: absolute;
 bottom: 0;
 right: 0;
 left: 0;
 width: calc(100% - 10rem);
 max-height: calc(100% - 6rem);
 height: 100%;
 margin: 0 auto;
 background: url(../images/work_place/back_work_place_text.jpg) no-repeat bottom left;
 background-size: cover;
 z-index: -1;
}

body#work_place #possibility .text-wrap .inner {
 position: relative;
 width: calc(100% - ((100% - 1200px) / 2));
 margin: 0;
 background: #fff;
}

body#work_place #possibility .text-wrap .inner .texts {
 position: absolute;
 top: 50%;
 right: 40%;
 max-width: 560px;
 margin: auto 0 auto auto;
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
 z-index: 10;
}

body#work_place #possibility .text-wrap .inner .texts p {
 line-height: 2;
 font-weight: 700;
}

body#work_place #possibility .text-wrap .inner .texts p + p {
 margin: 4rem auto 0;
}

body#work_place #possibility .text-wrap .inner .img-box {
 position: relative;
 width: 50%;
 margin: auto 0 0 auto;
 z-index: 1;
}

body#work_place #possibility .text-wrap .inner .img-box img {
 position: relative;
 z-index: 1;
}

body#work_place #possibility .text-wrap .inner .img-box::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: -webkit-gradient(linear, left top, right top, from(white), color-stop(70%, rgba(255, 255, 255, 0)));
 background: -webkit-linear-gradient(left, white 0%, rgba(255, 255, 255, 0) 70%);
 background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 70%);
 z-index: 10;
}

body#work_place #number .inner .number-wrap.flex {
 margin: 6rem auto 0;
 -webkit-box-align: stretch;
 -ms-flex-align: stretch;
 align-items: stretch;
}

body#work_place #number .inner .number-wrap.flex .number-boxs {
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 padding: 4rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 border: 1px solid #d8d8d8;
 border-radius: 6px;
}

body#work_place #number .inner .number-wrap.flex .number-boxs:nth-child(n + 3) {
 margin: 2rem 0 0;
}

body#work_place #oneday .ttl {
 text-align: center;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 position: relative;
 margin: 6rem auto;
}

body#work_place #oneday .ttl .icon {
 margin: 0 1em 0 0;
}

body#work_place #oneday .end {
 text-align: center;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 0.5em auto;
 color: #0071ae;
}

body#work_place #oneday .day-wrap .pc {
 display: block;
}

body#work_place #oneday .day-wrap .sp {
 display: none;
}

body#work_place #know .know-wrap {
 margin: 6rem auto 0;
}

body#work_place #know .know-box {
 width: 46%;
 text-align: center;
}

body#work_place #know .know-box:nth-child(n + 3) {
 margin: 6rem 0 0;
}

body#work_place #know .know-box .ttl {
 text-align: center;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 position: relative;
 margin: 0 auto 2rem;
 padding: 0 0 2rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #0071ae;
 border-bottom: 1px solid #0071ae;
}

body#work_place #know .know-box .text .icon {
 max-width: 18%;
 vertical-align: top;
 margin: 0 auto 2rem;
}

body#work_place #know .know-box .text p {
 display: inline-block;
 width: 80%;
 padding-left: 1em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 line-height: 1.8;
 text-align: left;
}

body#work_place .last.headline-wrap {
 margin-bottom: 9rem;
}

body#work_place .last.headline-wrap .ttl-message {
 text-align: center;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 6rem auto 0;
 color: #0071ae;
}

body#work_place .end-banner {
 text-align: left;
 font-size: 2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 position: relative;
 position: relative;
 display: inline-block;
 width: 720px;
 max-width: 100%;
 margin: 0 auto;
 padding: 8rem 4rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #fff;
 text-align: left;
 background-image: -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae)), url("../images/work_place/back_link_recruit.jpg");
 background-image: -webkit-linear-gradient(left, #56aeda, #0071ae), url("../images/work_place/back_link_recruit.jpg");
 background-image: linear-gradient(to right, #56aeda, #0071ae), url("../images/work_place/back_link_recruit.jpg");
 background-repeat: no-repeat;
 background-position: top left, top right;
 background-size: 40% 100%, auto 100%;
 border: 2px solid #fff;
 -webkit-transition: border, 0.2s ease;
 transition: border, 0.2s ease;
}

body#work_place .end-banner::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

body#work_place .end-banner:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

body#work_place .end-banner::after {
 right: auto;
 left: 8em;
}

body#work_place .end-banner:hover {
 border-color: #1a1a1a;
 background-image: -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf)), url("../images/work_place/back_link_recruit.jpg");
 background-image: -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%), url("../images/work_place/back_link_recruit.jpg");
 background-image: linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%), url("../images/work_place/back_link_recruit.jpg");
}

/*==============================================================================
pages work place gallery
==============================================================================*/
#gallery .gallery-wrap {
 width: 100%;
 margin: 4em auto;

}

#gallery .gallery-wrap img {
 padding: 1% 0;
 width: 32%;
}

/*==============================================================================
pages contact
==============================================================================*/
body#contact .tel-wrap,
body#contact .mail-wrap {
 -webkit-box-pack: start;
 -ms-flex-pack: start;
 justify-content: flex-start;
 width: 100%;
 max-width: 620px;
 margin: 0 auto;
}

body#contact .tel-wrap .icon,
body#contact .mail-wrap .icon {
 max-width: 20%;
 margin: 0 2em 0 0;
}

body#contact #tel-contacts .ttl-base {
 text-align: center;
 font-size: 2.4rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 6rem auto;
 color: #0071ae;
 font-weight: 700;
}

body#contact #tel-contacts .tel-wrap {
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
}

body#contact #tel-contacts .tel-wrap .nums {
 width: 80%;
}

body#contact #tel-contacts .tel-wrap .nums .tel-num a {
 text-align: left;
 font-size: 4rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 color: #0071ae;
 letter-spacing: 0.2em;
}

body#contact #tel-contacts .tel-wrap .nums .fax-num {
 text-align: left;
 font-size: 4rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 color: #0071ae;
 letter-spacing: 0.2em;
}

body#contact #tel-contacts .tel-wrap .time {
 width: 100%;
 text-align: center;
}

body#contact #tel-contacts .tel-wrap .time span {
 text-align: center;
 font-size: 1.6rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 max-width: 100%;
 margin: 2rem auto 0;
 padding: 0.5em 6em;
 color: #fff;
 background: #0071ae;
 border-radius: 6px;
}

body#contact #form-wrap {
 margin: 9rem auto;
}

body#contact #form-wrap .mail-wrap {
 -webkit-box-align: start;
 -ms-flex-align: start;
 align-items: flex-start;
}

body#contact #form-wrap .mail-wrap p {
 width: 80%;
 line-height: 1.8;
}

body#contact #form-wrap .to-policy {
 text-align: center;
 font-size: 1.5rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
}

body#contact #form-wrap .to-policy a {
 margin: 0 0.5em 0 0;
 font-size: 1.6rem;
 text-decoration: underline;
}

body#contact #form-wrap #submit-btn {
 margin: 6rem auto;
}

body#contact #form-wrap .notes {
 max-width: 850px;
 margin: 6rem auto 0;
 padding: 2rem;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 text-align: center;
 border: 1px solid #a5a5a5;
}

body#contact #form-wrap .notes .ttl-base {
 text-align: center;
 font-size: 1.6rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 position: relative;
 margin: 0 auto 2rem;
 padding: 0 0 2rem;
 color: #a5a5a5;
}

body#contact #form-wrap .notes .ttl-base::after {
 content: "";
 position: absolute;
 right: 0;
 bottom: 0;
 left: 0;
 width: 94px;
 height: 5px;
 margin: 0 auto;
 background: #0071ae;
}

body#contact #form-wrap .notes p {
 text-align: left;
 line-height: 1.8;
}

body#contact .tbl-contact {
 margin: 6rem auto 9rem;
}

body#contact .tbl-contact tbody tr th,
body#contact .tbl-contact tbody tr td {
 vertical-align: middle;
}

body#contact .tbl-contact tbody tr:last-child th,
body#contact .tbl-contact tbody tr:last-child td {
 vertical-align: top;
}

body#contact .tbl-contact tbody tr:last-child th .req,
body#contact .tbl-contact tbody tr:last-child th .any,
body#contact .tbl-contact tbody tr:last-child td .req,
body#contact .tbl-contact tbody tr:last-child td .any {
 top: 2rem;
 bottom: auto;
}

/* confirmation  */
body#mail .confirmation-wrap {
 max-width: 850px;
 width: 100%;
 margin: 0 auto;
}

body#mail .confirmation-wrap .ttl-base {
 text-align: center;
 font-size: 3rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 0 auto 3rem;
 color: #0071ae;
}

body#mail .confirmation-wrap .tbl-confirm {
 margin: 6rem auto 6rem;
}

body#mail .confirmation-wrap .tbl-confirm tbody tr {
 border-top: 1px solid #d8d8d8;
}

body#mail .confirmation-wrap .tbl-confirm tbody tr:last-of-type {
 border-bottom: 1px solid #d8d8d8;
}

body#mail .confirmation-wrap .tbl-confirm tbody tr th,
body#mail .confirmation-wrap .tbl-confirm tbody tr td {
 font-size: 1.4rem;
}

body#mail .confirmation-wrap .tbl-confirm tbody tr th {
 text-align: left;
 font-size: 1.5rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 color: #0071ae;
}

body#mail .confirmation-wrap .btns.flex {
 -webkit-box-align: stretch;
 -ms-flex-align: stretch;
 align-items: stretch;
 margin: 3rem auto 9rem;
}

body#mail .confirmation-wrap .btns.flex .btn-prev,
body#mail .confirmation-wrap .btns.flex .btn-submit {
 text-align: center;
 font-size: 1.6rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 position: relative;
 margin: 0 auto;
 padding: 0.5em 4em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 font-weight: 700;
}

body#mail .confirmation-wrap .btns.flex .btn-prev::after,
body#mail .confirmation-wrap .btns.flex .btn-submit::after {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 width: 1em;
 height: 1em;
 margin: auto 0;
 background-repeat: no-repeat;
 background-size: contain;
 background-position: center;
 z-index: 10;
}

body#mail .confirmation-wrap .btns.flex .btn-prev::after {
 left: 0.5em;
 background-image: url(../images/common/icon_arrow_black.svg);
 -webkit-transform: rotate(180deg);
 transform: rotate(180deg);
}

body#mail .confirmation-wrap .btns.flex .btn-submit {
 color: #fff;
 background: -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: linear-gradient(to right, #56aeda, #0071ae);
}

body#mail .confirmation-wrap .btns.flex .btn-submit::after {
 right: 0.5em;
 background-image: url(../images/common/icon_arrow_white.svg);
}

/*//////////////////////////////////////////////////////////////////////////////
form common
/*/
.req,
.any {
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 height: 1em;
 margin: auto 0;
 color: #0071ae;
 font-size: 1rem;
}

.any {
 color: #a5a5a5;
}

.form-error {
 font-size: 1.4rem;
 color: #0071ae;
}

.form-error-enter-active {
 -webkit-transition: all 0.3s ease;
 transition: all 0.3s ease;
}

.form-error-leave-active {
 -webkit-transition: all 0.3s cubic-bezier(1, 0.5, 0.8, 1);
 transition: all 0.3s cubic-bezier(1, 0.5, 0.8, 1);
}

.form-error-enter,
.form-error-leave-to {
 -webkit-transform: translateY(10px);
 transform: translateY(10px);
 opacity: 0;
}

form input,
form textarea {
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 -webkit-transition: border 0.2s ease;
 transition: border 0.2s ease;
}

form input:focus,
form textarea:focus {
 border: 1px solid rgba(0, 113, 174, 0.6);
}

form #submit-btn {
 position: relative;
 display: inline-block;
 width: 320px;
 max-width: 100%;
 margin: 3rem auto;
 padding: 0.5em 3em;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 color: #fff;
 text-align: center;
 font-size: 1.6rem;
 font-weight: 700;
 border: 1px solid transparent;
 background: #0071ae;
 -webkit-transition-property: color, background, border;
 transition-property: color, background, border;
 position: relative;
 padding: 1em 2em;
 font-size: 2rem;
}

form #submit-btn::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

form #submit-btn:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

form #submit-btn:hover {
 border: 1px solid #0071ae;
}

form #submit-btn::after {
 content: "";
 position: absolute;
 top: 0;
 right: 4px;
 bottom: 0;
 width: 3rem;
 height: 3rem;
 margin: auto 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#c3c3c4), color-stop(36%, #919292), color-stop(65%, #a7a7a8), color-stop(86%, #a9aaaa), to(#cecfcf));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #c3c3c4 0%, #919292 36%, #a7a7a8 65%, #a9aaaa 86%, #cecfcf 100%);
 background-repeat: no-repeat;
 background-position: center;
 z-index: 10;
 -webkit-transition: 0.2s;
 transition: 0.2s;
 -webkit-transition-property: right, background, -webkit-transform;
 transition-property: right, background, -webkit-transform;
 transition-property: right, transform, background;
 transition-property: right, transform, background, -webkit-transform;
}

form #submit-btn:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left top, right top, from(#56aeda), to(#0071ae));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(left, #56aeda, #0071ae);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(to right, #56aeda, #0071ae);
 background-repeat: no-repeat;
 background-position: center;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

form #submit-btn::after {
 right: 0;
 width: 3rem;
 height: 80%;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#333333), color-stop(50%, #333333), color-stop(50%, #646464));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #333333 0%, #333333 50%, #646464 50%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #333333 0%, #333333 50%, #646464 50%);
 background-position: center;
 background-repeat: no-repeat;
}

form #submit-btn:hover::after {
 right: 0;
 background: url(../images/common/icon_arrow_white.svg), -webkit-gradient(linear, left bottom, left top, from(#333333), color-stop(50%, #333333), color-stop(50%, #646464));
 background: url(../images/common/icon_arrow_white.svg), -webkit-linear-gradient(bottom, #333333 0%, #333333 50%, #646464 50%);
 background: url(../images/common/icon_arrow_white.svg), linear-gradient(0deg, #333333 0%, #333333 50%, #646464 50%);
 background-position: center;
 background-repeat: no-repeat;
 -webkit-transform: translate(50%, 0);
 transform: translate(50%, 0);
}

form #submit-btn:hover {
 background: #fff;
 color: #0071ae;
 border: 1px solid #0071ae;
}

form #submit-btn:disabled {
 pointer-events: none;
 cursor: not-allowed;
}

form input,
form button,
form textarea,
form select {
 font-family: YakuHanJP, "Noto Sans JP", sans-serif;
 margin: 0;
 padding: 0;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 font-size: 16px;
 line-height: 1.2;
 padding: 0.8em;
 box-sizing: border-box;
 border: 1px solid transparent;
 outline: none;
 background: #dfdfdf;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
}

form input::-webkit-input-placeholder,
form button::-webkit-input-placeholder,
form textarea::-webkit-input-placeholder,
form select::-webkit-input-placeholder {
 color: #d8d8d8;
}

form input::-moz-placeholder,
form button::-moz-placeholder,
form textarea::-moz-placeholder,
form select::-moz-placeholder {
 color: #d8d8d8;
}

form input:-ms-input-placeholder,
form button:-ms-input-placeholder,
form textarea:-ms-input-placeholder,
form select:-ms-input-placeholder {
 color: #d8d8d8;
}

form input::-ms-input-placeholder,
form button::-ms-input-placeholder,
form textarea::-ms-input-placeholder,
form select::-ms-input-placeholder {
 color: #d8d8d8;
}

form input::placeholder,
form button::placeholder,
form textarea::placeholder,
form select::placeholder {
 color: #d8d8d8;
}

form input[type="text"],
form input[type="tel"],
form input[type="email"] {
 max-width: 100%;
 width: 100%;
}

form input[type="text"].w-a,
form input[type="tel"].w-a,
form input[type="email"].w-a {
 width: auto;
}

form textarea {
 width: 100%;
 padding: 1em;
 min-height: 20em;
}

form label,
form input[type="radio"],
form input[type="checkbox"] {
 cursor: pointer;
}

form input[type="radio"],
form input[type="checkbox"] {
 display: none;
}

form .btn-radio {
 display: inline-block;
}

form .btn-radio input[type="radio"]:checked + label::after {
 width: 1em;
 height: 0.5em;
 border-width: 3px;
 opacity: 1;
}

form .btn-radio label {
 position: relative;
 display: inline-block;
 padding-left: 1.5em;
 font-size: 1.6rem;
 vertical-align: middle;
}

form .btn-radio label::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 display: inline-block;
 width: 1em;
 height: 1em;
 margin: auto;
 border: 1px solid rgba(0, 113, 174, 0.6);
}

form .btn-radio label::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 bottom: 0;
 width: 0;
 height: 0;
 margin: auto 0;
 border-left: 0px solid #0071ae;
 border-bottom: 0px solid #0071ae;
 left: -0.5em;
 -webkit-transform: rotate(-45deg) translate(60%, 40%);
 transform: rotate(-45deg) translate(60%, 40%);
 z-index: 10;
 opacity: 0;
 -webkit-transition: all 0.4s ease;
 transition: all 0.4s ease;
 -webkit-transition-property: opacity;
 transition-property: opacity;
}

form .btn-check {
 position: relative;
 padding-left: 2em;
}

form .btn-check::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 display: inline-block;
 margin: auto 0;
 width: 2rem;
 height: 2rem;
 border: 1px solid #0071ae;
 border-radius: 3px;
}

form .btn-check svg.checked {
 position: absolute;
 left: 2px;
 right: 0;
 top: 0;
 display: inline-block;
 fill: #0071ae;
 width: 0;
 height: auto;
 margin: auto 0;
 -webkit-transition: width 0.2s ease-in-out;
 transition: width 0.2s ease-in-out;
}

form .btn-check input[type="checkbox"]:checked + svg.checked {
 stroke: #fff;
 stroke-width: 1;
 width: 23px;
}

/*==============================================================================
pages thanks
==============================================================================*/
body#thanks #message {
 margin: 0 auto 9rem;
}

body#thanks #message .ttl-base {
 text-align: center;
 font-size: 3rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 0 auto 3rem;
 color: #0071ae;
}

body#thanks #message p {
 line-height: 2;
}

body#thanks #message .btn-base {
 margin: 6rem auto 0;
}

/*==============================================================================
pages policy
=============================================================================*/
body#policy #policys {
 max-width: 870px;
 margin: 6rem auto;
}

body#policy #policys p,
body#policy #policys dd {
 line-height: 1.8;
}

body#policy #policys .ttl-base {
 text-align: center;
 font-size: 2.2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 6rem auto 3rem;
 color: #0071ae;
}

body#policy #policys dl.policy-dl {
 margin: 10rem auto;
}

body#policy #policys dl.policy-dl dt.ttl {
 text-align: left;
 font-size: 2.2rem;
 color: #1a1a1a;
 line-height: 1.4;
 font-weight: 900;
 margin: 0 auto 3rem;
 color: #0071ae;
}

body#policy #policys dl.policy-dl ul {
 list-style: disc inside;
}

body#policy #policys dl.policy-dl ol {
 list-style: decimal inside;
}

/*==============================================================================
media query
=============================================================================*/

@media screen and (max-width: 1200px) {
 html {
  margin: 0;
 }

 body#index #business {
  background-position: 80% 5%, 94% 10%, 90% 6%;
 }

 body#recruit #work .ttl-wrap .ttl-grade {
  bottom: 2rem;
  left: auto;
  right: 0;
  max-width: none;
 }

 body#recruit #work .ttl-wrap .ttl-grade span {
  font-size: 4vw;
 }

 body#recruit #work .ttl-wrap .group-image {
  max-width: 80%;
 }

 body#recruit #message .text-box {
  width: 100%;
  margin: 3rem auto 0;
 }

 body#work_place #possibility .text-wrap .inner .texts {
  left: 10%;
  right: auto;
  max-width: none;
  width: 80%;
 }

 body#work_place #possibility .text-wrap .inner .texts p + p {
  margin-top: 2rem;
 }
}

@media screen and (max-width: 1060px) {
 html {
  font-size: 60%;
  margin: 0;
 }

 .scrollx {
  overflow-x: scroll;
 }

 #main-header.flex {
  padding: 0;
 }

 #main-header.flex.scrolle .logo-wrap {
  margin: 5px 0;
  -webkit-transform: scale(1);
  transform: scale(1);
 }

 #main-header.flex .logo-wrap {
  margin: 5px 0;
  padding-left: 2%;
 }

 #main-nav {
  width: 100%;
 }

 #main-nav #main-menu {
  display: none;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  z-index: 998;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }

 #main-nav #main-menu > li {
  padding: 0 5%;
 }

 #main-nav #main-menu li {
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }

 #main-nav #main-menu li::before,
 #main-nav #main-menu li::after {
  content: none;
 }

 #main-nav #main-menu li:first-child::before {
  content: none;
 }

 #main-nav #main-menu li:hover .sub-nav {
  position: static;
  top: auto;
  width: 100%;
  padding: 0;
  background: none;
 }

 #main-nav #main-menu li.sp-menu {
  display: block;
 }

 #main-nav #main-menu li > a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
  padding: 1em 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  letter-spacing: 0.5em;
  color: #fff;
 }

 #main-nav #main-menu li > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #fff;
 }

 #main-nav #main-menu li > a span {
  position: relative;
  display: inline-block;
  font-size: 2rem;
 }

 #main-nav #main-menu li > a span.t-en {
  margin: 0 1em 0 0;
 }

 #main-nav #main-menu li > a span.t-jp {
  position: relative;
  display: block;
  margin: 0;
  font-size: 2rem;
  color: #fff;
  text-shadow: none;
  -webkit-transform: none;
  transform: none;
  font-weight: 700;
  letter-spacing: 0.1em;
 }

 #main-nav #main-menu li > a span.t-jp::before,
 #main-nav #main-menu li > a span.t-jp::after {
  content: "-";
  position: static;
  top: auto;
  left: auto;
  bottom: auto;
  width: auto;
  height: 0;
 }

 #main-nav #main-menu li > a:hover span.t-en {
  -webkit-transform: none;
  transform: none;
 }

 #main-nav #main-menu .sub-nav {
  display: block;
  width: 100%;
 }

 #menu-toggle {
  top: 2%;
  right: 2%;
  width: 5rem;
  height: 5rem;
  display: block;
 }

 body#index #mv .ttl-wrap {
  padding: 0 5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }


 #gallery .gallery-wrap img {}
}

@media screen and (max-width: 794px) {
 html {
  font-size: 57.5%;
  margin: 0;
 }

 html br.pc {
  display: none;
 }

 .headline-wrap {
  margin: 4rem auto;
 }

 .ttl-box {
  font-size: calc(2.8rem * .9);
 }

 table tr th,
 table tr td {
  padding: 1rem;
  font-size: 1.6rem;
 }

 table tr th {
  width: 35%;
 }

 table tr td {
  width: 65%;
 }

 .tbl-line tr th,
 .tbl-line tr td {
  padding: 1rem;
  font-size: 1.6rem;
 }

 .tbl-line tr th {
  width: 35%;
 }

 .tbl-line tr td {
  width: 65%;
 }

 .tbl-line tr th {
  min-width: 7em;
 }

 .inner {
  padding: 3rem 0;
 }

 .w480 {
  padding-left: 2em;
  padding-right: 2em;
 }

 .w764 {
  padding-left: 2em;
  padding-right: 2em;
 }

 .w1060 {
  padding-left: 2em;
  padding-right: 2em;
 }

 .w1200 {
  padding-left: 2em;
  padding-right: 2em;
 }

 a[href^="tel:"] {
  pointer-events: auto;
 }

 #common-contact-wrap .box-border {
  position: relative;
  width: 100%;
  padding: 3rem;
  background: rgba(255, 255, 255, 0.8);
 }

 #common-contact-wrap .box-border + .box-border {
  margin: 2rem auto 0;
 }

 #common-contact-wrap .box-border .ttl {
  width: 100%;
 }

 #main-footer .inner.flex {
  padding: 4rem 0;
 }

 #main-footer .logo-wrap {
  width: 100%;
 }

 #main-footer .footer-navi {
  display: none;
 }

 #pagetop {
  top: auto;
  bottom: 8rem;
  right: 5%;
 }

 body#index #mv .back-image {
  height: 600px;
 }

 body#index #infomaition .ttl-md {
  width: auto;
  padding: 2rem 4rem;
  text-align: left;
  font-size: 2rem;
 }

 body#index #infomaition .hot-news {
  width: 100%;
  padding: 4rem;
 }

 body#index .sections.flex {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
 }

 body#index #business.flex,
 body#index #expertise.flex {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%;
  padding: 0;
 }

 body#index #business.flex .link-wrap,
 body#index #expertise.flex .link-wrap {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 4rem 0 0;
  padding: 6rem 2rem;
 }

 body#index #company {
  position: relative;
  margin: 0;
  padding: 0 0 10rem;
 }

 body#index #company .link-wrap {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
 }

 body#index #company .w50 {
  position: static;
  width: 100%;
  padding: 0;
 }

 body#index #company .w50:first-child::after {
  content: none;
 }

 body#index #recruit {
  padding: 0;
 }

 body#index #recruit .ttl-mid {
  margin: 2rem auto;
 }

 body#index #recruit .link-wrap .btn-link {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  width: 48%;
 }

 body#index #recruit .link-wrap .btn-link::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
 }

 body#index #recruit .link-wrap .link-image {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  width: 100%;
  margin: 0 auto 2rem;
 }

 #p-head {
  margin: 0 auto 6rem;
 }

 #p-head .inner {
  height: 300px;
 }

 body#news-list #news-list-wrap .posts {
  margin: 4rem auto;
  padding: 2rem;
 }

 body#recruit #work .ttl-wrap .ttl-grade {
  bottom: auto;
  top: auto;
  right: auto;
  left: 5%;
  bottom: 0;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
 }

 body#recruit #work .ttl-wrap .ttl-grade span {
  font-size: 3rem;
 }

 body#recruit #work .ttl-wrap .group-image {
  max-width: 100%;
 }

 body#recruit #work .image-box::after {
  top: auto;
  bottom: 0;
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
 }

 body#recruit #detail .inner.flex {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
 }

 body#recruit #detail .btn-blue {
  margin: 0 auto 3rem;
 }

 body#recruit #detail .button-box,
 body#recruit #detail .table-box {
  width: 100%;
  text-align: center;
 }

 body#recruit #flow .flows .flow-box {
  margin: 6rem auto 3rem;
 }

 body#recruit #flow .flows .flow-box + .flow-box {
  margin: 3rem auto 0;
 }

 body#recruit #flow .flows .flow-box dt {
  margin: 0 auto;
 }

 body#recruit #flow .flows .flow-box dt,
 body#recruit #flow .flows .flow-box dd {
  width: 100%;
 }

 body#recruit #flow .flows .ttl-message {
  margin: 3rem auto 0;
 }

 body#recruit .last {
  margin: 0 auto 9rem;
 }

 body#work_place #possibility #gear {
  position: relative;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  max-width: none;
 }

 body#work_place #possibility #gear .right-image {
  position: absolute;
  top: 0;
  right: 0;
  max-width: none;
  width: 40%;
  height: 100%;
  -o-object-position: center left;
  object-position: center left;
 }

 body#work_place #possibility #gear .inner {
  position: relative;
  width: auto;
  height: 300;
  max-width: 68%;
  margin: 0;
  padding: 4rem 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }

 body#work_place #possibility #gear .inner .ttl {
  margin: auto 1em;
 }

 body#work_place #possibility .text-wrap {
  margin: 3rem auto 0;
  overflow: hidden;
 }

 body#work_place #possibility .text-wrap::after {
  content: none;
 }

 body#work_place #possibility .text-wrap .inner {
  width: 100%;
  max-width: none;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }

 body#work_place #possibility .text-wrap .inner .texts {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  position: static;
  max-width: 90%;
  width: 100%;
  -webkit-transform: none;
  transform: none;
  margin: 2rem auto 0;
 }

 body#work_place #possibility .text-wrap .inner .texts p + p {
  margin-top: 2rem;
 }

 body#work_place #possibility .text-wrap .inner .img-box {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  width: 100%;
  margin: 0 0 0 auto;
  text-align: right;
 }

 body#work_place #possibility .text-wrap .inner .img-box img {
  max-width: 90%;
 }

 body#work_place #possibility .text-wrap .inner .img-box::after {
  top: 2rem;
  width: 100%;
  max-height: calc(100% - 6rem);
  height: 100%;
  margin: 0 auto;
  background: url(../images/work_place/back_work_place_text.jpg) no-repeat bottom left;
  background-size: cover;
  z-index: -1;
 }

 body#work_place #possibility .text-wrap .inner .img-box img {
  width: 100%;
  height: auto;
 }

 body#contact #tel-contacts {
  margin: 0 auto;
 }

 body#contact #tel-contacts .ttl-base {
  margin: 3rem auto;
 }

 body#contact #tel-contacts .tel-wrap {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
 }

 body#contact #tel-contacts .tel-wrap .icon {
  margin: 0 auto;
 }

 body#contact #tel-contacts .tel-wrap .nums {
  width: 100%;
  margin: 1rem auto;
  text-align: center;
 }

 body#contact #tel-contacts .tel-wrap .nums .tel-num a {
  font-size: 3rem;
 }

 body#contact #tel-contacts .tel-wrap .nums .fax-num {
  font-size: 3rem;
  text-align: center;
 }

 body#contact #tel-contacts .tel-wrap .time span {
  margin: 0 auto;
 }

 body#contact #form-wrap {
  margin: 0 auto;
 }

 body#contact #form-wrap .mail-wrap .icon {
  margin: 0 auto;
 }

 body#contact #form-wrap .mail-wrap p {
  width: 100%;
  margin: 2rem auto 0;
 }

 body#contact #form-wrap #submit-btn {
  margin: 3rem auto;
 }

 body#contact #form-wrap .notes {
  margin: 0 auto;
 }

 body#contact .tbl-contact {
  margin: 6rem auto;
 }

 body#contact .tbl-contact tbody tr th,
 body#contact .tbl-contact tbody tr td {
  display: block;
  width: 100%;
 }

 body#contact .tbl-contact tbody tr th {
  padding: 0 1rem;
 }

 body#mail .confirmation-wrap .tbl-confirm tbody tr th,
 body#mail .confirmation-wrap .tbl-confirm tbody tr td {
  display: block;
  width: 100%;
 }

 body#mail .confirmation-wrap .tbl-confirm tbody tr th {
  padding-bottom: 0;
 }

 body#mail .confirmation-wrap .btns.flex .btn-prev {
  display: none;
 }

 .req,
 .any {
  position: static;
  margin: 0 0 0 1em;
 }

 form textarea {
  min-height: 14em;
 }

 body#thanks #message .ttl-base {
  text-align: left;
 }

 body#thanks #message p {
  text-align: left;
 }

 body#policy #policys {
  margin: 0 auto;
 }

 body#policy #policys dl.policy-dl {
  margin: 3rem auto;
 }

 body#policy #policys dl.policy-dl dt.ttl {
  margin: 0 auto 1rem;
 }

 #gallery .gallery-wrap img {
  padding: 1% 0;
  width: 49%;
 }

 #common-contact-wrap {
  background-size: cover;
 }

 @media screen and (max-width: 480px) {
  html {
   margin: 0;
   font-size: 55%;
  }

  .flex .column2 {
   width: 100%;
  }

  .flex .column2 + * {
   margin-top: 2rem;
  }

  .flex .column3 {
   width: 100%;
  }

  .flex .column3 + * {
   margin-top: 2rem;
  }

  .flex .column4 {
   width: 100%;
  }

  .flex .column4 + * {
   margin-top: 2rem;
  }

  .flex .column5 {
   width: 100%;
  }

  .flex .column5 + * {
   margin-top: 2rem;
  }

  .flex .column6 {
   width: 100%;
  }

  .flex .column6 + * {
   margin-top: 2rem;
  }

  .flex .column7 {
   width: 100%;
  }

  .flex .column7 + * {
   margin-top: 2rem;
  }

  .flex .column8 {
   width: 100%;
  }

  .flex .column8 + * {
   margin-top: 2rem;
  }

  .flex .column9 {
   width: 100%;
  }

  .flex .column9 + * {
   margin-top: 2rem;
  }

  .flex .column10 {
   width: 100%;
  }

  .flex .column10 + * {
   margin-top: 2rem;
  }

  .flex .column11 {
   width: 100%;
  }

  .flex .column11 + * {
   margin-top: 2rem;
  }

  .flex .column12 {
   width: 100%;
  }

  .flex .column12 + * {
   margin-top: 2rem;
  }

  .flex .w33 {
   width: 100%;
  }

  #main-nav #main-menu .column2 {
   width: 100%;
  }

  #main-nav #main-menu .column2 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column3 {
   width: 100%;
  }

  #main-nav #main-menu .column3 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column4 {
   width: 100%;
  }

  #main-nav #main-menu .column4 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column5 {
   width: 100%;
  }

  #main-nav #main-menu .column5 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column6 {
   width: 100%;
  }

  #main-nav #main-menu .column6 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column7 {
   width: 100%;
  }

  #main-nav #main-menu .column7 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column8 {
   width: 100%;
  }

  #main-nav #main-menu .column8 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column9 {
   width: 100%;
  }

  #main-nav #main-menu .column9 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column10 {
   width: 100%;
  }

  #main-nav #main-menu .column10 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column11 {
   width: 100%;
  }

  #main-nav #main-menu .column11 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .column12 {
   width: 100%;
  }

  #main-nav #main-menu .column12 + * {
   margin-top: 2rem;
  }

  #main-nav #main-menu .w33 {
   width: 100%;
  }

  body#index #recruit .link-wrap {
   -webkit-box-align: start;
   -ms-flex-align: start;
   align-items: flex-start;
  }

  body#index #recruit .link-wrap .btn-link {
   -webkit-box-ordinal-group: 3;
   -ms-flex-order: 2;
   order: 2;
   width: 100%;
  }

  body#index #recruit .link-wrap .btn-link + .btn-link {
   margin: 2rem auto 0;
  }

  body#recruit #message .img-box {
   width: 100%;
  }

  body#recruit #human {
   padding: 0;
  }

  body#recruit #human .back {
   display: none;
  }

  body#recruit .last .end-banner {
   padding: 4rem 2rem;
   background-size: 10em 100%, auto 100%;
  }

  body#work_place #know .know-wrap {
   margin: 0;
  }

  body#work_place #know .know-box {
   width: 100%;
   margin: 4rem auto 0;
  }

  body#work_place #know .know-box:nth-child(n + 3) {
   margin: 2rem auto 0;
  }

  body#work_place #know .know-box .text p {
   width: 100%;
   max-width: none;
  }

  body#work_place .end-banner {
   padding: 4rem 2rem;
   background-size: 10em 100%, auto 100%;
  }

  body#work_place #oneday .day-wrap .pc {
   display: none;
  }

  body#work_place #oneday .day-wrap .sp {
   display: block;
  }

  body#recruit #human .num-box .pc {
   display: none;
  }

  body#recruit #human .num-box .sp {
   display: block;
   padding: 2% 0;
  }

  body#recruit #human .val {
   max-width: 350px;
   margin: 0 auto;
  }
 }
