@charset "UTF-8";

html {
  font-size: 62.5%
}

blockquote,
body {
  vertical-align: baseline
}

body {
  -ms-text-size-adjust: 100%;
  margin: 0;
  border: 0;
  outline: 0;
  word-break: break-all;
  font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #2c2c2c;
  -webkit-text-size-adjust: 100%;
  position: relative;
  width: 100%
}

abbr,
address,
article,
aside,
audio,
b,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
i,
iframe,
ins,
kbd,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0
}

blockquote {
  font-size: 100%
}

blockquote,
figure,
img,
label {
  border: none;
  background: 0 0
}

img {
  font-size: 100%;
  vertical-align: bottom
}

figure,
label {
  vertical-align: baseline
}

img,
label {
  margin: 0;
  padding: 0
}

:after,
:before,
body,
figure {
  padding: 0;
  line-height: 1
}

figure {
  display: block
}

figure,
input {
  font-size: 100%
}

blockquote,
textarea {
  margin: 0;
  display: block
}

textarea {
  background: 0 0;
  line-height: 1
}

address,
article,
aside,
canvas,
details,
div,
figcaption,
footer,
header,
hr,
iframe,
menu,
nav,
section {
  display: block;
  line-height: 1
}

a,
label {
  cursor: pointer
}

blockquote {
  padding: 0
}

em {
  font-style: normal
}

hr {
  border: 0;
  margin: 0
}

li,
ol,
ul {
  list-style: none
}

button,
input,
select,
textarea {
  border: none;
  -webkit-appearance: none
}

textarea {
  resize: vertical;
  overflow: hidden
}

button,
hr,
input {
  padding: 0
}

button,
input,
select {
  border-radius: 0;
  background: 0 0;
  margin: 0
}

table {
  border-collapse: collapse
}

:after,
:before {
  margin: 0
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
i,
iframe,
img,
input,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
textarea,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  font-weight: 500
}

a,
a:hover {
  text-decoration: none
}

a {
  outline: none;
  font-size: 14px;
  font-size: 1.4rem;
  color: #162f82
}

a:hover {
  color: #b9101a
}

a.block-link {
  display: block
}

p {
  line-height: 1.2
}

figure {
  margin: 0
}

button,
input,
select,
textarea {
  vertical-align: middle
}

address {
  font-style: normal
}

.mt0 {
  margin-top: 0 !important
}

.mr0 {
  margin-right: 0 !important
}

.mb0 {
  margin-bottom: 0 !important
}

.ml0 {
  margin-left: 0 !important
}

.pt0 {
  padding-top: 0 !important
}

.pr0 {
  padding-right: 0 !important
}

.pb0 {
  padding-bottom: 0 !important
}

.pl0 {
  padding-left: 0 !important
}

.mt5 {
  margin-top: 5px !important
}

.mr5 {
  margin-right: 5px !important
}

.mb5 {
  margin-bottom: 5px !important
}

.ml5 {
  margin-left: 5px !important
}

.pt5 {
  padding-top: 5px !important
}

.pr5 {
  padding-right: 5px !important
}

.pb5 {
  padding-bottom: 5px !important
}

.pl5 {
  padding-left: 5px !important
}

.mt10 {
  margin-top: 10px !important
}

.mr10 {
  margin-right: 10px !important
}

.mb10 {
  margin-bottom: 10px !important
}

.ml10 {
  margin-left: 10px !important
}

.pt10 {
  padding-top: 10px !important
}

.pr10 {
  padding-right: 10px !important
}

.pb10 {
  padding-bottom: 10px !important
}

.pl10 {
  padding-left: 10px !important
}

.mt15 {
  margin-top: 15px !important
}

.mr15 {
  margin-right: 15px !important
}

.mb15 {
  margin-bottom: 15px !important
}

.ml15 {
  margin-left: 15px !important
}

.pt15 {
  padding-top: 15px !important
}

.pr15 {
  padding-right: 15px !important
}

.pb15 {
  padding-bottom: 15px !important
}

.pl15 {
  padding-left: 15px !important
}

.mt20 {
  margin-top: 20px !important
}

.mr20 {
  margin-right: 20px !important
}

.mb20 {
  margin-bottom: 20px !important
}

.ml20 {
  margin-left: 20px !important
}

.pt20 {
  padding-top: 20px !important
}

.pr20 {
  padding-right: 20px !important
}

.pb20 {
  padding-bottom: 20px !important
}

.pl20 {
  padding-left: 20px !important
}

.mt25 {
  margin-top: 25px !important
}

.mr25 {
  margin-right: 25px !important
}

.mb25 {
  margin-bottom: 25px !important
}

.ml25 {
  margin-left: 25px !important
}

.pt25 {
  padding-top: 25px !important
}

.pr25 {
  padding-right: 25px !important
}

.pb25 {
  padding-bottom: 25px !important
}

.pl25 {
  padding-left: 25px !important
}

.mt30 {
  margin-top: 30px !important
}

.mr30 {
  margin-right: 30px !important
}

.mb30 {
  margin-bottom: 30px !important
}

.ml30 {
  margin-left: 30px !important
}

.pt30 {
  padding-top: 30px !important
}

.pr30 {
  padding-right: 30px !important
}

.pb30 {
  padding-bottom: 30px !important
}

.pl30 {
  padding-left: 30px !important
}

.mt35 {
  margin-top: 35px !important
}

.mr35 {
  margin-right: 35px !important
}

.mb35 {
  margin-bottom: 35px !important
}

.ml35 {
  margin-left: 35px !important
}

.pt35 {
  padding-top: 35px !important
}

.pr35 {
  padding-right: 35px !important
}

.pb35 {
  padding-bottom: 35px !important
}

.pl35 {
  padding-left: 35px !important
}

.mt40 {
  margin-top: 40px !important
}

.mr40 {
  margin-right: 40px !important
}

.mb40 {
  margin-bottom: 40px !important
}

.ml40 {
  margin-left: 40px !important
}

.pt40 {
  padding-top: 40px !important
}

.pr40 {
  padding-right: 40px !important
}

.pb40 {
  padding-bottom: 40px !important
}

.pl40 {
  padding-left: 40px !important
}

.mt45 {
  margin-top: 45px !important
}

.mr45 {
  margin-right: 45px !important
}

.mb45 {
  margin-bottom: 45px !important
}

.ml45 {
  margin-left: 45px !important
}

.pt45 {
  padding-top: 45px !important
}

.pr45 {
  padding-right: 45px !important
}

.pb45 {
  padding-bottom: 45px !important
}

.pl45 {
  padding-left: 45px !important
}

.mt50 {
  margin-top: 50px !important
}

.mr50 {
  margin-right: 50px !important
}

.mb50 {
  margin-bottom: 50px !important
}

.ml50 {
  margin-left: 50px !important
}

.pt50 {
  padding-top: 50px !important
}

.pr50 {
  padding-right: 50px !important
}

.pb50 {
  padding-bottom: 50px !important
}

.pl50 {
  padding-left: 50px !important
}

.mt55 {
  margin-top: 55px !important
}

.mr55 {
  margin-right: 55px !important
}

.mb55 {
  margin-bottom: 55px !important
}

.ml55 {
  margin-left: 55px !important
}

.pt55 {
  padding-top: 55px !important
}

.pr55 {
  padding-right: 55px !important
}

.pb55 {
  padding-bottom: 55px !important
}

.pl55 {
  padding-left: 55px !important
}

.mt60 {
  margin-top: 60px !important
}

.mr60 {
  margin-right: 60px !important
}

.mb60 {
  margin-bottom: 60px !important
}

.ml60 {
  margin-left: 60px !important
}

.pt60 {
  padding-top: 60px !important
}

.pr60 {
  padding-right: 60px !important
}

.pb60 {
  padding-bottom: 60px !important
}

.pl60 {
  padding-left: 60px !important
}

.banner {
  display: inline-block
}

.banner,
.icon,
.text {
  background-repeat: no-repeat
}

.icon.icon-arrow-down-red,
.icon.icon-arrow-fox,
.icon.icon-arrow-gray,
.icon.icon-arrow-left {
  background-image: url(../images/icon.png);
  background-position: -398px -218px;
  background-size: 560px 523px;
  width: 12px;
  height: 8px
}

.icon.icon-arrow-fox,
.icon.icon-arrow-gray,
.icon.icon-arrow-left {
  background-position: -553px -163px;
  width: 7px
}

.icon.icon-arrow-gray,
.icon.icon-arrow-left {
  background-position: -395px -294px;
  height: 11px
}

.icon.icon-arrow-left {
  background-position: 0 -377px;
  width: 34px;
  height: 74px
}

.icon.icon-arrow-link-blank,
.icon.icon-arrow-next-white,
.icon.icon-arrow-openrec {
  background-image: url(../images/icon.png);
  background-position: -404px -294px;
  background-size: 560px 523px;
  width: 7px;
  height: 11px
}

.icon.icon-arrow-next-white,
.icon.icon-arrow-openrec {
  background-position: -375px -294px;
  width: 8px;
  height: 14px
}

.icon.icon-arrow-openrec {
  background-position: -431px -294px;
  width: 7px;
  height: 8px
}

.icon.icon-arrow-right,
.icon.icon-blue-arrow,
.icon.icon-boxtail,
.icon.icon-boxtail-hover {
  background-image: url(../images/icon.png);
  background-position: 0 -453px;
  background-size: 560px 523px;
  width: 32px;
  height: 70px
}

.icon.icon-blue-arrow,
.icon.icon-boxtail,
.icon.icon-boxtail-hover {
  background-position: -516px -262px;
  width: 13px;
  height: 13px
}

.icon.icon-boxtail,
.icon.icon-boxtail-hover {
  background-position: -361px -218px;
  width: 10px;
  height: 10px
}

.icon.icon-boxtail {
  background-position: -337px -218px
}

.icon.icon-breadcrumb-arrow,
.icon.icon-btn-appstore,
.icon.icon-btn-arrow-back {
  background-image: url(../images/icon.png);
  background-position: -413px -294px;
  background-size: 560px 523px;
  width: 6px;
  height: 11px
}

.icon.icon-btn-appstore,
.icon.icon-btn-arrow-back {
  background-position: -284px -116px;
  width: 210px;
  height: 60px
}

.icon.icon-btn-arrow-back {
  background-position: -553px -148px;
  width: 7px;
  height: 13px
}

.icon.icon-btn-arrow,
.icon.icon-btn-arrow-white,
.icon.icon-btn-googleplay,
.icon.icon-checkbox {
  background-image: url(../images/icon.png);
  background-position: -340px -313px;
  background-size: 560px 523px;
  width: 6px;
  height: 9px
}

.icon.icon-btn-arrow,
.icon.icon-btn-googleplay,
.icon.icon-checkbox {
  background-position: -332px -313px
}

.icon.icon-btn-googleplay,
.icon.icon-checkbox {
  background-position: 0 -232px;
  width: 210px;
  height: 60px
}

.icon.icon-checkbox {
  background-position: -385px -218px;
  width: 11px;
  height: 9px
}

.icon.icon-circle,
.icon.icon-contact-step1,
.icon.icon-contact-step1-active {
  background-image: url(../images/icon.png);
  background-position: -421px -294px;
  background-size: 560px 523px;
  width: 8px;
  height: 8px
}

.icon.icon-contact-step1,
.icon.icon-contact-step1-active {
  background-position: 0 -174px;
  width: 276px;
  height: 56px
}

.icon.icon-contact-step1 {
  background-position: -284px 0
}

.icon.icon-contact-step2,
.icon.icon-contact-step2-active,
.icon.icon-contact-step3-active {
  background-image: url(../images/icon.png);
  background-position: 0 -116px;
  background-size: 560px 523px;
  width: 277px;
  height: 56px
}

.icon.icon-contact-step2,
.icon.icon-contact-step3-active {
  background-position: 0 -58px
}

.icon.icon-contact-step3-active {
  background-position: -284px -58px;
  width: 271px
}

.icon.icon-contact-step3,
.icon.icon-facebook-footer,
.icon.icon-facebook-footer-hover {
  background-image: url(../images/icon.png);
  background-position: 0 0;
  background-size: 560px 523px;
  width: 282px;
  height: 56px
}

.icon.icon-facebook-footer,
.icon.icon-facebook-footer-hover {
  background-position: -553px -116px;
  width: 7px;
  height: 14px
}

.icon.icon-facebook-footer {
  background-position: -553px -132px
}

.icon.icon-facebook,
.icon.icon-facebook-hover,
.icon.icon-facebookwidget,
.icon.icon-fox-close,
.icon.icon-fox-logo {
  background-image: url(../images/icon.png);
  background-position: -284px -262px;
  background-size: 560px 523px;
  width: 22px;
  height: 22px
}

.icon.icon-facebook,
.icon.icon-facebookwidget,
.icon.icon-fox-close,
.icon.icon-fox-logo {
  background-position: -212px -262px
}

.icon.icon-facebookwidget,
.icon.icon-fox-close,
.icon.icon-fox-logo {
  background-position: -452px -178px;
  width: 105px;
  height: 20px
}

.icon.icon-fox-close,
.icon.icon-fox-logo {
  background-position: -296px -294px;
  width: 34px;
  height: 34px
}

.icon.icon-fox-logo {
  background-position: -284px -178px;
  width: 166px;
  height: 38px
}

.icon.icon-global,
.icon.icon-global-hover,
.icon.icon-home,
.icon.icon-home-hover {
  background-image: url(../images/icon.png);
  background-position: -484px -262px;
  background-size: 560px 523px;
  width: 14px;
  height: 14px
}

.icon.icon-global,
.icon.icon-home,
.icon.icon-home-hover {
  background-position: -500px -262px
}

.icon.icon-home,
.icon.icon-home-hover {
  background-position: -466px -262px;
  width: 16px;
  height: 15px
}

.icon.icon-home {
  background-position: -448px -262px
}

.icon.icon-link-glay,
.icon.icon-link-red,
.icon.icon-logo,
.icon.icon-logo-mini {
  background-image: url(../images/icon.png);
  background-position: -373px -218px;
  background-size: 560px 523px;
  width: 10px;
  height: 10px
}

.icon.icon-link-red,
.icon.icon-logo,
.icon.icon-logo-mini {
  background-position: -349px -218px
}

.icon.icon-logo,
.icon.icon-logo-mini {
  background-position: -212px -232px;
  width: 112px;
  height: 28px
}

.icon.icon-logo {
  background-position: 0 -294px;
  width: 128px;
  height: 81px
}

.icon.icon-mail,
.icon.icon-mail-hover,
.icon.icon-no1,
.icon.icon-no1-big {
  background-image: url(../images/icon.png);
  background-position: -284px -218px;
  background-size: 560px 523px;
  width: 15px;
  height: 12px
}

.icon.icon-mail,
.icon.icon-no1,
.icon.icon-no1-big {
  background-position: -301px -218px
}

.icon.icon-no1,
.icon.icon-no1-big {
  background-position: -326px -232px;
  width: 37px;
  height: 22px
}

.icon.icon-no1 {
  background-position: -452px -200px;
  width: 25px;
  height: 15px
}

.icon.icon-no2,
.icon.icon-no2-big,
.icon.icon-no3,
.icon.icon-no3-big,
.icon.icon-no4-big {
  background-image: url(../images/icon.png);
  background-position: -404px -232px;
  background-size: 560px 523px;
  width: 37px;
  height: 22px
}

.icon.icon-no2,
.icon.icon-no3,
.icon.icon-no3-big,
.icon.icon-no4-big {
  background-position: -402px -262px;
  width: 24px;
  height: 15px
}

.icon.icon-no3,
.icon.icon-no3-big,
.icon.icon-no4-big {
  background-position: -482px -232px;
  width: 37px;
  height: 22px
}

.icon.icon-no3,
.icon.icon-no4-big {
  background-position: -506px -200px;
  width: 25px;
  height: 15px
}

.icon.icon-no4-big {
  background-position: -443px -232px;
  width: 37px;
  height: 22px
}

.icon.icon-no4,
.icon.icon-no5,
.icon.icon-no5-big,
.icon.icon-no6,
.icon.icon-no6-big {
  background-image: url(../images/icon.png);
  background-position: -375px -262px;
  background-size: 560px 523px;
  width: 25px;
  height: 15px
}

.icon.icon-no5,
.icon.icon-no5-big,
.icon.icon-no6,
.icon.icon-no6-big {
  background-position: -365px -232px;
  width: 37px;
  height: 22px
}

.icon.icon-no5,
.icon.icon-no6,
.icon.icon-no6-big {
  background-position: -533px -200px;
  width: 25px;
  height: 15px
}

.icon.icon-no6,
.icon.icon-no6-big {
  background-position: -521px -232px;
  width: 37px;
  height: 22px
}

.icon.icon-no6 {
  background-position: -479px -200px;
  width: 25px;
  height: 15px
}

.icon.icon-pagenation-next,
.icon.icon-pagenation-next-hover,
.icon.icon-pagenation-prev,
.icon.icon-pagenation-prev-hover {
  background-image: url(../images/icon.png);
  background-position: -365px -294px;
  background-size: 560px 523px;
  width: 8px;
  height: 14px
}

.icon.icon-pagenation-next,
.icon.icon-pagenation-prev,
.icon.icon-pagenation-prev-hover {
  background-position: -355px -294px
}

.icon.icon-pagenation-prev,
.icon.icon-pagenation-prev-hover {
  background-position: -385px -294px
}

.icon.icon-pagenation-prev {
  background-position: -345px -294px
}

.icon.icon-pagetop,
.icon.icon-pdf,
.icon.icon-pin,
.icon.icon-play,
.icon.icon-q1 {
  background-image: url(../images/icon.png);
  background-position: -244px -294px;
  background-size: 560px 523px;
  width: 50px;
  height: 50px
}

.icon.icon-pdf,
.icon.icon-pin,
.icon.icon-play,
.icon.icon-q1 {
  background-position: -428px -262px;
  width: 18px;
  height: 15px
}

.icon.icon-pin,
.icon.icon-play,
.icon.icon-q1 {
  background-position: -36px -377px;
  width: 39px;
  height: 58px
}

.icon.icon-play,
.icon.icon-q1 {
  background-position: -440px -294px;
  width: 7px;
  height: 8px
}

.icon.icon-q1 {
  background-position: -496px -116px;
  width: 55px;
  height: 55px
}

.icon.icon-q2,
.icon.icon-q3,
.icon.icon-selectbox-arrow,
.icon.icon-slash,
.icon.icon-table-arrow {
  background-image: url(../images/icon.png);
  background-position: -187px -294px;
  background-size: 560px 523px;
  width: 55px;
  height: 55px
}

.icon.icon-q3,
.icon.icon-selectbox-arrow,
.icon.icon-slash,
.icon.icon-table-arrow {
  background-position: -130px -294px
}

.icon.icon-selectbox-arrow,
.icon.icon-slash,
.icon.icon-table-arrow {
  background-position: -412px -218px;
  width: 13px;
  height: 7px
}

.icon.icon-slash,
.icon.icon-table-arrow {
  background-position: -332px -294px;
  width: 11px;
  height: 17px
}

.icon.icon-table-arrow {
  background-position: -318px -218px;
  width: 17px;
  height: 10px
}

.icon.icon-twitter,
.icon.icon-twitter-footer,
.icon.icon-twitter-footer-hover,
.icon.icon-twitter-hover {
  background-image: url(../images/icon.png);
  background-position: -531px -262px;
  background-size: 560px 523px;
  width: 13px;
  height: 11px
}

.icon.icon-twitter,
.icon.icon-twitter-footer,
.icon.icon-twitter-hover {
  background-position: -546px -262px
}

.icon.icon-twitter,
.icon.icon-twitter-hover {
  background-position: -260px -262px;
  width: 22px;
  height: 22px
}

.icon.icon-twitter {
  background-position: -236px -262px
}

.icon.icon-widget-ameba,
.icon.icon-widget-facebook,
.icon.icon-widget-twitter {
  background-image: url(../images/icon.png);
  background-position: -308px -262px;
  background-size: 560px 523px;
  width: 21px;
  height: 20px
}

.icon.icon-widget-facebook,
.icon.icon-widget-twitter {
  background-position: -353px -262px;
  width: 20px
}

.icon.icon-widget-twitter {
  background-position: -331px -262px
}

.text.text-404-top-heading,
.text.text-404-top-lead,
.text.text-404-top-text {
  background-image: url(../images/text.png);
  background-position: -1093px -60px;
  background-size: 1348px 442px;
  width: 180px;
  height: 55px
}

.text.text-404-top-lead,
.text.text-404-top-text {
  background-position: -860px -247px;
  width: 446px;
  height: 23px
}

.text.text-404-top-text {
  background-position: -477px -180px;
  width: 534px;
  height: 58px
}

.text.text-404-top,
.text.text-atelier,
.text.text-branch,
.text.text-copy {
  background-image: url(../images/text.png);
  background-position: -1076px -120px;
  background-size: 1348px 442px;
  width: 228px;
  height: 38px
}

.text.text-atelier,
.text.text-branch,
.text.text-copy {
  background-position: -1234px -305px;
  width: 86px;
  height: 21px
}

.text.text-branch,
.text.text-copy {
  background-position: -1014px -305px;
  width: 218px;
  height: 22px
}

.text.text-copy {
  background-position: -1076px -160px;
  width: 267px;
  height: 13px
}

.text.text-corporate-bord,
.text.text-corporate-top-heading,
.text.text-corporate-top-lead {
  background-image: url(../images/text.png);
  background-position: -244px -387px;
  background-size: 1348px 442px;
  width: 158px;
  height: 37px
}

.text.text-corporate-top-heading,
.text.text-corporate-top-lead {
  background-position: 0 -330px;
  width: 140px;
  height: 55px
}

.text.text-corporate-top-lead {
  background-position: 0 -305px;
  width: 504px;
  height: 23px
}

.text.text-corporate-top,
.text.text-corporate-top-text,
.text.text-creative,
.text.text-fox-header {
  background-image: url(../images/text.png);
  background-position: -477px -60px;
  background-size: 1348px 442px;
  width: 614px;
  height: 58px
}

.text.text-corporate-top,
.text.text-creative,
.text.text-fox-header {
  background-position: -404px -387px;
  width: 157px;
  height: 37px
}

.text.text-creative,
.text.text-fox-header {
  background-position: -506px -305px;
  width: 265px;
  height: 22px
}

.text.text-fox-header {
  background-position: 0 0;
  width: 475px;
  height: 125px
}

.text.text-fox,
.text.text-fox-index,
.text.text-news,
.text.text-openrec-about {
  background-image: url(../images/text.png);
  background-position: 0 -127px;
  background-size: 1348px 442px;
  width: 450px;
  height: 118px
}

.text.text-fox,
.text.text-news,
.text.text-openrec-about {
  background-position: -1275px -75px;
  width: 47px;
  height: 15px
}

.text.text-news,
.text.text-openrec-about {
  background-position: -959px -387px;
  width: 82px;
  height: 22px
}

.text.text-openrec-about {
  background-position: -318px -330px;
  width: 252px;
  height: 23px
}

.text.text-openrec,
.text.text-openrectitle,
.text.text-product,
.text.text-recruit-office {
  background-image: url(../images/text.png);
  background-position: -1065px -330px;
  background-size: 1348px 442px;
  width: 85px;
  height: 15px
}

.text.text-openrectitle,
.text.text-product,
.text.text-recruit-office {
  background-position: -773px -305px;
  width: 239px;
  height: 22px
}

.text.text-product,
.text.text-recruit-office {
  background-position: -1176px -273px;
  width: 131px
}

.text.text-recruit-office {
  background-position: -1013px -180px;
  width: 290px;
  height: 40px
}

.text.text-recruit-officebanner,
.text.text-recruit-top-heading,
.text.text-recruit-top-lead {
  background-image: url(../images/text.png);
  background-position: 0 -273px;
  background-size: 1348px 442px;
  width: 654px;
  height: 30px
}

.text.text-recruit-top-heading,
.text.text-recruit-top-lead {
  background-position: -126px -387px;
  width: 116px;
  height: 55px
}

.text.text-recruit-top-lead {
  background-position: -656px -273px;
  width: 518px;
  height: 23px
}

.text.text-recruit,
.text.text-recruit-top,
.text.text-recruit-top-text {
  background-image: url(../images/text.png);
  background-position: -477px -120px;
  background-size: 1348px 442px;
  width: 597px;
  height: 58px
}

.text.text-recruit,
.text.text-recruit-top {
  background-position: -142px -330px;
  width: 174px;
  height: 40px
}

.text.text-recruit {
  background-position: -841px -387px;
  width: 116px;
  height: 22px
}

.text.text-service-top-adtech,
.text.text-service-top-global,
.text.text-service-top-heading {
  background-image: url(../images/text.png);
  background-position: -1013px -222px;
  background-size: 1348px 442px;
  width: 231px;
  height: 14px
}

.text.text-service-top-global,
.text.text-service-top-heading {
  background-position: -958px -330px;
  width: 105px;
  height: 15px
}

.text.text-service-top-heading {
  background-position: 0 -387px;
  width: 124px;
  height: 55px
}

.text.text-service-top-lead,
.text.text-service-top-spad,
.text.text-service-top-spmedia {
  background-image: url(../images/text.png);
  background-position: 0 -247px;
  background-size: 1348px 442px;
  width: 858px;
  height: 24px
}

.text.text-service-top-spad,
.text.text-service-top-spmedia {
  background-position: -572px -330px;
  width: 197px;
  height: 15px
}

.text.text-service-top-spmedia {
  background-position: -771px -330px;
  width: 185px
}

.text.text-service,
.text.text-service-top,
.text.text-service-top-text,
.text.text-topics {
  background-image: url(../images/text.png);
  background-position: -477px 0;
  background-size: 1348px 442px;
  width: 871px;
  height: 58px
}

.text.text-service,
.text.text-service-top,
.text.text-topics {
  background-position: -563px -387px;
  width: 157px;
  height: 37px
}

.text.text-service,
.text.text-topics {
  background-position: -722px -387px;
  width: 117px;
  height: 22px
}

.text.text-topics {
  background-position: -1275px -60px;
  width: 59px;
  height: 13px
}

.banner.banner-mainslider-tit-01 {
  background-image: url(../images/banner.png);
  background-position: -481px 0;
  background-size: 1073px 471px;
  width: 592px;
  height: 181px
}

.banner.banner-mainslider-tit-02,
.banner.banner-mainslider-tit-03,
.banner.banner-mainslider-tit-04 {
  background-image: url(../images/banner.png);
  background-position: 0 0;
  background-size: 1073px 471px;
  width: 479px;
  height: 248px
}

.banner.banner-mainslider-tit-03,
.banner.banner-mainslider-tit-04 {
  background-position: 0 -250px;
  width: 470px;
  height: 221px
}

.banner.banner-mainslider-tit-04 {
  background-position: -472px -250px;
  width: 423px;
  height: 161px
}

.body-inner {
  min-width: 1064px;
  overflow: hidden
}

::selection {
  background: #777;
  color: #fff
}

.news-entry-content b,
.news-entry-content strong,
.strong {
  font-weight: 700
}

.layout-header-link a:hover,
.red {
  color: #b9101a
}

.wrapper {
  overflow: hidden;
  clear: both;
  width: 1024px;
  margin: 0 auto
}

.container,
.wrapper-wide {
  width: 1366px;
  margin: 0 auto
}

.container {
  width: 1064px
}

.container-interview {
  width: 1220px;
  margin: 0 auto
}

.hide {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden
}

.fl {
  float: left
}

.icon,
.text {
  display: inline-block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden
}

.contact-form-privacy .privacy-entry dt,
.text-header,
.text-header-2 {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700
}

.text-header-2 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4
}

.layout-box a h3,
.text-header-3,
.text-header-4 {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700
}

.text-header-4 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5
}

.text-default {
  line-height: 2;
  font-size: 14px;
  font-size: 1.4rem
}

.layout-header-link a,
.text-sub,
label {
  font-size: 15px;
  font-size: 1.5rem
}

.layout-header-hedding {
  height: 24px;
  float: left;
  margin-right: 25px
}

.layout-header-logo {
  display: inline-block;
  vertical-align: bottom
}

.layout-header-logo.product,
.layout-header-logo.service {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-image: url(../images/text.png);
  background-position: -722px -387px;
  background-size: 1348px 442px;
  width: 117px;
  height: 22px
}

.layout-header-logo.product {
  background-position: -1176px -273px;
  width: 131px
}

.layout-header-logo.group,
.layout-header-logo.recruit {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-image: url(../images/text-group.png);
  width: 217px;
  height: 29px
}

.layout-header-logo.recruit {
  background-image: url(../images/text.png);
  background-position: -841px -387px;
  background-size: 1348px 442px;
  width: 116px;
  height: 22px
}

.layout-header-logo.atelier,
.layout-header-logo.branch,
.layout-header-logo.creative,
.layout-header-logo.news,
.layout-header-logo.openrec,
.layout-header-slash {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-image: url(../images/text.png);
  background-position: -959px -387px;
  background-size: 1348px 442px;
  width: 82px;
  height: 22px
}

.layout-header-logo.atelier,
.layout-header-logo.branch,
.layout-header-logo.creative,
.layout-header-logo.openrec,
.layout-header-slash {
  background-position: -506px -305px;
  width: 265px
}

.layout-header-logo.atelier,
.layout-header-logo.branch,
.layout-header-logo.openrec,
.layout-header-slash {
  background-position: -1234px -305px;
  width: 86px;
  height: 21px
}

.layout-header-logo.branch,
.layout-header-logo.openrec,
.layout-header-slash {
  background-position: -773px -305px;
  width: 239px;
  height: 22px
}

.layout-header-logo.branch,
.layout-header-slash {
  background-position: -1014px -305px;
  width: 218px
}

.layout-header-slash {
  display: inline-block;
  background-image: url(../images/icon.png);
  background-position: -332px -294px;
  background-size: 560px 523px;
  width: 11px;
  height: 17px;
  margin: 1px 4px 0 5px;
  padding-bottom: 3px;
  vertical-align: bottom
}

.layout-header-text {
  display: inline-block;
  color: #9c9c9c;
  font-size: 14px;
  font-size: 1.4rem;
  vertical-align: 20%;
  font-weight: 700
}

.layout-header-lead {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  padding-top: 2px;
  margin-left: 10px;
  float: left
}

.layout-header-lead-company {
  padding-top: 8px;
  margin-left: 0
}

.layout-header-link {
  float: right;
  font-weight: 700;
  margin-top: 4px
}

.layout-header-link a {
  color: #2c2c2c
}

.layout-header-link a .hamburger {
  position: relative;
  display: inline-block;
  height: 10px;
  width: 11px;
  margin-left: 10px
}

.layout-header-link a .hamburger .hamburger-line {
  display: block;
  width: 11px;
  height: 2px;
  background-color: #b9101a
}

.layout-header-link a .hamburger .hamburger-line.first {
  position: absolute;
  top: 0;
  left: 0
}

.layout-header-link a .hamburger .hamburger-line.second {
  position: absolute;
  top: 4px;
  left: 0
}

.layout-header-link a .hamburger .hamburger-line.third {
  position: absolute;
  top: 8px;
  left: 0
}

.layout-text-lead {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.69
}

.layout-box {
  float: left;
  box-sizing: border-box;
  letter-spacing: normal;
  margin-right: 20px
}

.layout-box a {
  display: block;
  position: relative;
  color: #2c2c2c;
  transition: all .2s
}

.layout-box a:hover,
.layout-box-single a:hover {
  color: #2c2c2c
}

.layout-box a:hover:after,
.layout-box-single a:hover:after {
  border-color: transparent transparent #424242
}

.interview-box a:hover .interview-box-image:after,
.layout-box a:hover .layout-box-image:after,
.layout-box-single a:hover .layout-box-single-image:after {
  opacity: 1
}

.layout-box a:after,
.layout-box-single a:after {
  content: "";
  position: absolute;
  bottom: 11px;
  right: 10px;
  transition: all .5s;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent silver
}

.layout-box a .layout-box-image {
  position: relative;
  transition: all .3s
}

.layout-box a .layout-box-image:after,
.layout-box-single a .layout-box-single-image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
  opacity: 0;
  transition: all .3s
}

.layout-box.w50 {
  width: 502px
}
.layout-box.w40:nth-child(even) {
  margin-right:0
}

.layout-box.w40 {
  width: 498px;
  margin-right: 28px
}

.layout-box.w30,
.layout-box.w30 .layout-box-image:after {
  width: 328px
}

.layout-box.w20:last-child,
.layout-box.w30:last-child {
  margin-right: 0
}

.layout-box.w20,
.layout-box.w20 .layout-box-image:after {
  width: 241px
}

.layout-box .layout-box-title,
.layout-list li a {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700
}

.layout-box .layout-box-lead {
  margin-top: 14px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.7;
  margin-left: -1px
}

.layout-box .layout-box-inner {
  background-color: #fff;
  padding: 28px 30px 24px;
  min-height: 72px
}

.layout-box-single {
  margin-top: 60px
}

.layout-box-single a {
  display: flex;
  position: relative;
  color: #2c2c2c;
  transition: all .2s
}

.layout-box-single a h3 {
  margin-top: 16px;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: 700
}

.layout-box-single a .layout-box-single-image {
  width: 500px;
  height: 240px;
  position: relative;
  transition: all .3s
}

.layout-box-single .layout-box-single-lead {
  margin-top: 40px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  margin-left: -1px;
  box-sizing: border-box
}

.layout-box-single .layout-box-single-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #fff;
  padding: 0 35px;
  width: 524px;
  box-sizing: border-box
}

#top .layout-box-lead {
  font-size: 13px;
  font-size: 1.3rem;
  margin-top: 14px;
  line-height: 22px;
}

#top .recruit-contents .layout-box-inner {
  padding-top: 30px
}

#openrec #point-01 .conte-inner ul li figcaption,
#top .recruit-contents .layout-box-lead {
  margin-top: 18px
}

#corporateTop .layout-box-inner {
  padding: 20px 20px 10px
}

.layout-list li {
  position: relative;
  display: inline-block;
  /*padding: 0 17px*/
  padding: 0 1em;
}

.layout-list li a {
  color: #2c2c2c;
  transition: all .2s;
  line-height: 1.4
}

.layout-breadcrumb a:hover,
.layout-list li a.active,
.layout-list li a.current,
.layout-list li a:hover,
.layout-subnav .layout-list li a.active {
  color: #b9101a
}

.layout-list li:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: #d5d5d5;
  transform: translateY(-50%)
}

.layout-list li:last-child:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #d5d5d5;
  transform: translateY(-50%)
}

.layout-subnav {
  clear: both;
  background-color: #f7f6f6;
  height: 45px
}

.layout-subnav .layout-list {
  padding-top: 15px
}

.layout-subnav .layout-list li a {
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 500
}

.layout-content-header,
input[type=checkbox] + label {
  position: relative
}

.layout-content-header.corporate-top {
  display: block;
  height: 398px;
  min-width: 1044px;
  background: url(../images/corporate-header-top.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.corporate-bord {
  background-color: #ebebeb
}

.layout-content-header.recruit-top {
  display: block;
  height: 480px;
  min-width: 1044px;
  background: url(../images/recruit-header-top.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.recruit-office {
  display: block;
  height: 398px;
  min-width: 1044px;
  background: url(../images/recruit-header-office.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.recruit-interview-no1 {
  display: block;
  height: 640px;
  min-width: 1044px;
  background: url(../images/recruit-header-interview01.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.recruit-interview-no2 {
  display: block;
  height: 640px;
  min-width: 1044px;
  background: url(../images/recruit-header-interview02.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.recruit-interview-no3 {
  display: block;
  height: 640px;
  min-width: 1044px;
  background: url(../images/recruit-header-interview03.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.recruit-interview-no4 {
  display: block;
  height: 640px;
  min-width: 1044px;
  background: url(../images/recruit-header-interview04.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.recruit-interview-no5 {
  display: block;
  height: 640px;
  min-width: 1044px;
  background: url(../images/recruit-header-interview05.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.recruit-interview-no6 {
  display: block;
  height: 640px;
  min-width: 1044px;
  background: url(../images/recruit-header-interview06.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.service-top {
  display: block;
  height: 398px;
  min-width: 1044px;
  background: url(../images/service-header-top.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header.notfound-top {
  display: block;
  height: 398px;
  min-width: 1044px;
  background: url(../images/404-header-bord.jpg) no-repeat center;
  background-size: cover
}

.layout-content-header-title {
  font-size: 38px;
  font-size: 3.8rem;
  font-weight: 700;
  padding-top: 61px
}

.layout-content-header-title.text {
  margin-top: 181px;
  padding-top: 0
}

.layout-content-header-subtitle {
  font-size: 27px;
  font-size: 2.7rem;
  font-weight: 700;
  padding-bottom: 30px
}

.layout-content-header.line {
  background-color: #ebebeb;
  height: 151px
}

.layout-content-header.img .layout-content-header-title {
  margin-top: 60px;
  color: #fff
}

.layout-section-container {
  margin-top: 60px
}

.layout-pagenation {
  margin: 60px 0 80px
}

.layout-pagenation .layout-pagenation-wrapper ul {
  text-align: center
}

.layout-pagenation .layout-pagenation-wrapper ul li {
  display: inline-block;
  margin: 0 5px
}

.layout-pagenation .layout-pagenation-wrapper ul li a,
.layout-pagenation .layout-pagenation-wrapper ul li span {
  font-size: 17px;
  font-size: 1.7rem;
  display: inline-block
}

.layout-pagenation .pagenation-ellipsis {
  font-size: 20px;
  font-size: 2rem;
  color: silver
}

.layout-breadcrumb {
  float: left;
  padding-top: 8px;
  overflow: hidden
}

.layout-breadcrumb a,
.layout-breadcrumb span {
  line-height: 20px;
  position: relative;
  display: inline-block;
  color: #5a5a5a
}

.layout-breadcrumb a {
  padding-right: 15px;
  height: 18px;
  vertical-align: top
}

.layout-breadcrumb a:after,
.link-blank:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  height: 11px
}

.icon-home:hover,
.layout-breadcrumb a:after,
.link-blank:after {
  background-image: url(../images/icon.png);
  background-size: 560px 523px
}

.layout-breadcrumb a:after {
  margin-top: -5px;
  background-position: -413px -294px;
  width: 6px
}

.layout-breadcrumb span {
  height: 15px;
  margin-left: 5px;
  vertical-align: middle;
  font-size: 13px;
  font-size: 1.3rem;
  max-width: 600px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap
}

.icon-home:hover,
.link-blank:after {
  background-position: -466px -262px;
  width: 16px;
  height: 15px
}

.layout-inner-content {
  clear: both;
  width: 778px;
  margin: 0 auto
}

.link-blank {
  position: relative;
  padding-right: 18px;
  font-size: 15px;
  font-size: 1.5rem;
  color: #2c2c2c
}

.link-blank:after {
  background-position: -404px -294px;
  width: 7px;
  margin-top: -6px
}

.layout-tagline .text {
  display: block;
  margin: 0 auto
}

.layout-tagline .lead {
  margin-top: 40px
}

.layout-tagline .text2 {
  margin-top: 38px
}

.layout-tagline .button {
  margin-top: 70px
}

.lead-white,
.name-white {
  color: #fff
}

.layout-content-box {
  padding: 60px 0 80px
}

.layout-content-box-white {
  background-color: #fff !important
}

table.layout-table-default {
  border-collapse: separate;
  border-spacing: 0
}

table.layout-table-default tr:first-child td,
table.layout-table-default tr:first-child th {
  border-top: 1px solid #d5d5d5
}

table.layout-table-default td,
table.layout-table-default th {
  border-right: 1px solid #d5d5d5;
  border-bottom: 1px solid #d5d5d5;
  vertical-align: middle
}

table.layout-table-default th {
  background-color: #f7f6f6;
  font-weight: 700;
  border-left: 1px solid #d5d5d5;
  text-align: left;
  height: 58px;
  position: relative;
  width: 190px;
  padding: 0 20px;
  font-size: 16px;
  font-size: 1.6rem
}

table.layout-table-default td {
  width: 573px;
  padding: 15px 10px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2
}

table.layout-table-default td p {
  line-height: 2;
  margin-bottom: 20px
}

table.layout-table-default tr.textarea th {
  padding-top: 4px
}

table.layout-table-default tr.textarea td {
  padding: 10px
}

.contact-form-body table tr.require th:after,
table.layout-table-default tr.require th:after {
  position: absolute;
  top: 18px;
  right: 6px;
  content: "必須";
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  width: 45px;
  text-align: center;
  padding: 5px 0;
  background-color: #b9101a
}

table.layout-table-default.arrow tr {
  position: relative;
  margin-bottom: 30px;
  display: block
}

table.layout-table-default.arrow tr td,
table.layout-table-default.arrow tr th {
  border-top: 1px solid #d5d5d5
}

table.layout-table-default.arrow tr:after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../images/icon.png);
  background-position: -318px -218px;
  background-size: 560px 523px;
  width: 17px;
  height: 10px
}

table.layout-table-default.arrow tr:last-child:after {
  background: 0 0
}

.layout-list2 li {
  position: relative;
  padding-left: 20px;
  line-height: 2
}

.layout-list2 li:before,
.layout-table-arrow dt:after {
  content: "";
  position: absolute;
  background-image: url(../images/icon.png);
  background-size: 560px 523px
}

.layout-list2 li:before {
  top: 10px;
  left: 0;
  background-position: -421px -294px;
  width: 8px;
  height: 8px
}

.layout-table-arrow dt,
.layout-to-contact {
  background-color: #f7f6f6
}

.layout-to-contact .text-header-4 {
  text-align: center
}

#openrec #point-01 .conte-inner ul li div img,
.layout-to-contact .link {
  margin-top: 32px
}

.layout-table-arrow {
  position: relative;
  margin-bottom: 60px
}

.layout-table-arrow dt {
  width: 180px;
  padding: 22px 20px;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  border-top: 1px solid #d5d5d5;
  border-left: 1px solid #d5d5d5;
  border-right: 1px solid #d5d5d5;
  border-bottom: 1px solid #d5d5d5;
  text-align: left;
  vertical-align: middle;
  position: relative;
  float: left;
  margin-bottom: 30px
}

.layout-table-arrow dt:after {
  bottom: -22px;
  left: 380px;
  background-position: -318px -218px;
  width: 17px;
  height: 10px
}

.layout-table-arrow dt:last-of-type:after {
  background: 0 0
}

.layout-table-arrow dd {
  width: 558px;
  border-top: 1px solid #d5d5d5;
  border-right: 1px solid #d5d5d5;
  border-bottom: 1px solid #d5d5d5;
  vertical-align: middle;
  padding: 15px 10px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2;
  margin-left: 222px;
  box-sizing: border-box;
  margin-bottom: 30px
}

.blank-icon {
  position: relative;
  padding-right: 20px
}

.blank-icon:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%)
}

.blank-icon.red {
  color: #2c2c2c;
  transition: all .2
}

.blank-icon.gray:after,
.blank-icon.red:after {
  background-image: url(../images/icon.png);
  background-position: -349px -218px;
  background-size: 560px 523px;
  width: 10px;
  height: 10px
}

.blank-icon.red:hover {
  color: #b9101a
}

.blank-icon.gray:after {
  background-position: -373px -218px
}

.layout-list3 {
  position: relative;
  margin-top: 60px;
  padding: 61px 0 79px
}

.layout-list3:after,
.layout-list3:before {
  content: "";
  position: absolute;
  left: 50%;
  width: 30px;
  height: 3px;
  background-color: #2c2c2c;
  transform: translateX(-50%)
}

.layout-list3:before {
  top: 0
}

.layout-list3:after {
  bottom: 0
}

.layout-list3 li {
  display: flex;
  margin-top: 60px
}

.layout-list3 li:first-of-type {
  margin-top: 0
}

.list-heading,
.list-id {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700
}

.list-id {
  margin-right: 77px
}

.list-heading {
  color: #e20911
}

.list-text {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.85;
  letter-spacing: .07em;
  margin-top: 22px
}

.global-header {
  background-color: #fff
}

.global-header.isScroll {
  box-shadow: 1px 0 0 1px rgba(0, 0, 0, .1)
}

.global-header.isScroll .header-logo {
  margin-top: 16px;
  height: 28px
}

.global-header.isScroll .header-logo .global-header-logo {
  margin-top: 0
}

.global-header.isScroll .header-nav .menu-wrapper .menu-corporate,
.global-header.isScroll .header-nav .menu-wrapper .menu-cyberzdna,
.global-header.isScroll .header-nav .menu-wrapper .menu-news,
.global-header.isScroll .header-nav .menu-wrapper .menu-product,
.global-header.isScroll .header-nav .menu-wrapper .menu-recruit,
.global-header.isScroll .header-nav .menu-wrapper .menu-service {
  height: 60px
}

.global-header.isScroll .header-nav .menu-wrapper .menu-corporate a,
.global-header.isScroll .header-nav .menu-wrapper .menu-cyberzdna a,
.global-header.isScroll .header-nav .menu-wrapper .menu-news a,
.global-header.isScroll .header-nav .menu-wrapper .menu-product a,
.global-header.isScroll .header-nav .menu-wrapper .menu-recruit a,
.global-header.isScroll .header-nav .menu-wrapper .menu-service a {
  height: 61px
}

.global-header.isScroll .header-links {
  margin-top: 23px
}

.global-header.isScroll .header-snslinks {
  margin-top: 21px
}

.global-header .header-logo {
  float: left;
  height: 81px
}

.global-header .wrapper {
  overflow: visible
}

.global-header .header-nav {
  float: left
}

.global-header .header-nav .menu-wrapper {
  margin-left: 20px;
  position: relative
}

.global-header .header-nav .menu-wrapper .menu-cyberzdna > a {
  font-size: 12px !important
}

.global-header .header-nav .menu-wrapper .menu-corporate,
.global-header .header-nav .menu-wrapper .menu-cyberzdna,
.global-header .header-nav .menu-wrapper .menu-news,
.global-header .header-nav .menu-wrapper .menu-product,
.global-header .header-nav .menu-wrapper .menu-recruit,
.global-header .header-nav .menu-wrapper .menu-service {
  position: relative;
  display: inline-block;
  width: 109px;
  height: 79px
}

.global-header .header-nav .menu-wrapper .menu-corporate:before,
.global-header .header-nav .menu-wrapper .menu-cyberzdna:before,
.global-header .header-nav .menu-wrapper .menu-news:before,
.global-header .header-nav .menu-wrapper .menu-product:before,
.global-header .header-nav .menu-wrapper .menu-recruit:before,
.global-header .header-nav .menu-wrapper .menu-service:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -2px;
  transform: translateY(-50%);
  width: 1px;
  height: 15px;
  border-right: 1px solid #d5d5d5
}

.global-header .header-nav .menu-wrapper .menu-corporate.isActive .menu-inner,
.global-header .header-nav .menu-wrapper .menu-cyberzdna.isActive .menu-inner,
.global-header .header-nav .menu-wrapper .menu-news.isActive .menu-inner,
.global-header .header-nav .menu-wrapper .menu-product.isActive .menu-inner,
.global-header .header-nav .menu-wrapper .menu-recruit.isActive .menu-inner,
.global-header .header-nav .menu-wrapper .menu-service.isActive .menu-inner {
  display: block !important;
  z-index: 9999
}

.global-header .header-nav .menu-wrapper .menu-corporate:last-child:after,
.global-header .header-nav .menu-wrapper .menu-cyberzdna:last-child:after,
.global-header .header-nav .menu-wrapper .menu-news:last-child:after,
.global-header .header-nav .menu-wrapper .menu-product:last-child:after,
.global-header .header-nav .menu-wrapper .menu-recruit:last-child:after,
.global-header .header-nav .menu-wrapper .menu-service:last-child:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 15px;
  border-right: 1px solid #d5d5d5
}

.global-header .header-nav .menu-wrapper .menu-corporate a,
.global-header .header-nav .menu-wrapper .menu-cyberzdna a,
.global-header .header-nav .menu-wrapper .menu-news a,
.global-header .header-nav .menu-wrapper .menu-product a,
.global-header .header-nav .menu-wrapper .menu-recruit a,
.global-header .header-nav .menu-wrapper .menu-service a {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 111px;
  height: 81px;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  color: #2c2c2c;
  padding-left: 2px
}

.global-footer .footer-sitemap-block a:hover,
.global-header .header-links a:hover span,
.global-header .header-nav .menu-wrapper .menu-corporate a:hover,
.global-header .header-nav .menu-wrapper .menu-cyberzdna a:hover,
.global-header .header-nav .menu-wrapper .menu-news a:hover,
.global-header .header-nav .menu-wrapper .menu-product a:hover,
.global-header .header-nav .menu-wrapper .menu-recruit a:hover,
.global-header .header-nav .menu-wrapper .menu-service a:hover {
  color: #b9101a
}

.global-header .header-nav .menu-wrapper .menu-corporate .menu-inner,
.global-header .header-nav .menu-wrapper .menu-cyberzdna .menu-inner,
.global-header .header-nav .menu-wrapper .menu-news .menu-inner,
.global-header .header-nav .menu-wrapper .menu-product .menu-inner,
.global-header .header-nav .menu-wrapper .menu-recruit .menu-inner,
.global-header .header-nav .menu-wrapper .menu-service .menu-inner {
  display: none;
  border-top: 2px solid #b9101a;
  width: 241px;
  background-color: #fff;
  position: relative;
  z-index: -1;
  transition: all .4s;
  left: -4px
}

.global-header .header-nav .menu-wrapper .menu-corporate .menu-inner:before,
.global-header .header-nav .menu-wrapper .menu-cyberzdna .menu-inner:before,
.global-header .header-nav .menu-wrapper .menu-news .menu-inner:before,
.global-header .header-nav .menu-wrapper .menu-product .menu-inner:before,
.global-header .header-nav .menu-wrapper .menu-recruit .menu-inner:before,
.global-header .header-nav .menu-wrapper .menu-service .menu-inner:before {
  content: "";
  position: absolute;
  top: -9px;
  left: 21%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 9px;
  border-color: transparent transparent #b9101b
}

.global-header .header-nav .menu-wrapper .menu-corporate .menu-inner a,
.global-header .header-nav .menu-wrapper .menu-cyberzdna .menu-inner a,
.global-header .header-nav .menu-wrapper .menu-news .menu-inner a,
.global-header .header-nav .menu-wrapper .menu-product .menu-inner a,
.global-header .header-nav .menu-wrapper .menu-recruit .menu-inner a,
.global-header .header-nav .menu-wrapper .menu-service .menu-inner a {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  width: 261px;
  height: 20px;
  text-align: left;
  padding: 8px 0 12px;
  border-bottom: 1px solid #d5d5d5
}

.global-header .header-nav .menu-wrapper .menu-corporate .menu-inner li,
.global-header .header-nav .menu-wrapper .menu-cyberzdna .menu-inner li,
.global-header .header-nav .menu-wrapper .menu-news .menu-inner li,
.global-header .header-nav .menu-wrapper .menu-product .menu-inner li,
.global-header .header-nav .menu-wrapper .menu-recruit .menu-inner li,
.global-header .header-nav .menu-wrapper .menu-service .menu-inner li {
  display: block;
  padding: 8px 20px 2px
}

.global-header .header-nav .menu-wrapper .menu-corporate .menu-inner li:last-child a,
.global-header .header-nav .menu-wrapper .menu-cyberzdna .menu-inner li:last-child a,
.global-header .header-nav .menu-wrapper .menu-news .menu-inner li:last-child a,
.global-header .header-nav .menu-wrapper .menu-product .menu-inner li:last-child a,
.global-header .header-nav .menu-wrapper .menu-recruit .menu-inner li:last-child a,
.global-header .header-nav .menu-wrapper .menu-service .menu-inner li:last-child a {
  border-bottom: 0
}

.global-header .header-links {
  float: left;
  margin-top: 33px;
  margin-left: -9px;
  text-align: right;
  min-width: 202px
}

.global-header .header-links i {
  display: table-cell
}

.global-header .header-links a {
  font-size: 12px;
  font-size: 1.2rem;
  display: inline-block
}

.global-header .header-links a span {
  display: table-cell;
  vertical-align: bottom;
  padding-left: 7px;
  font-weight: 700;
  color: #2c2c2c
}

.global-header .header-links .link-contact:hover .icon-mail,
.global-header .header-links .link-en:hover .icon-global {
  background-image: url(../images/icon.png);
  background-position: -284px -218px;
  background-size: 560px 523px;
  width: 15px;
  height: 12px
}

.global-header .header-links .link-en {
  margin-left: 13px
}

.global-header .header-links .link-en span {
  letter-spacing: .03rem
}

.global-header .header-links .link-en:hover .icon-global {
  background-position: -484px -262px;
  width: 14px;
  height: 14px
}

.global-header .header-snslinks {
  float: right;
  margin-top: 31px
}

.global-footer .global-footer-sns .global-footer-sns,
.global-header .header-snslinks p {
  display: inline-block
}

.global-header .header-snslinks p:nth-child(2) {
  margin-left: 8px
}

.global-footer .global-footer-sns {
  background-color: #ebebeb;
  text-align: right;
  padding: 9px
}

.global-footer .global-footer-sns .global-footer-sns.facebook {
  padding-top: 6px
}

.global-footer .global-footer-sns .global-footer-sns.twitter {
  padding: 5px 4px;
  line-height: 80px;
  width: 96px
}

.global-footer .global-footer-sns .global-footer-sns-btns {
  height: 32px;
  line-height: 32px
}

.global-footer .global-footer-sns .global-footer-sns-btn {
  display: inline-block;
  vertical-align: middle;
  margin-right: 18px;
  transform: translateY(-1px)
}

.global-footer .global-footer-sns .global-footer-sns-btn:last-child {
  margin-right: 24px
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager,
.global-footer .block-left {
  width: 100%
}

.global-footer .block-right {
  margin-left: 782px
}

.global-footer .global-footer-sitemap {
  margin-top: 57px;
  margin-bottom: 22px
}

.global-footer .float-row {
  overflow: hidden
}

.global-footer .footer-sitemap-block {
  width: 328px;
  float: left;
  margin-right: 20px;
  margin-bottom: 38px
}

.global-footer .footer-sitemap-block:last-child {
  margin-right: 0
}

.global-footer .footer-sitemap-block > p {
  border-bottom: 1px solid #d5d5d5;
  padding-bottom: 12px;
  line-height: 1.5
}

.global-footer .footer-sitemap-block ul li {
  margin-top: 19px
}

.global-footer .footer-sitemap-block ul li a {
  font-size: 13px;
  font-size: 1.3rem
}

.global-footer .footer-sitemap-block a {
  color: #2c2c2c
}

.global-footer .footer-sitemap-banner {
  margin-top: 32px;
  width: 100%
}

.global-footer .footer-banner {
  margin-bottom: 27px
}

.global-footer .footer-banner .footer-banner-title,
.global-footer .footer-sitemap-block > p {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700
}

.global-footer .footer-banner .footer-banner-img {
  margin-top: 15px
}

.global-footer .footer-lower-list {
  margin-top: 12px;
  display: flex;
  justify-content: space-between
}

.global-footer .footer-lower-list-item {
  width: 241px;
  overflow: hidden;
  position: relative
}

.global-footer .footer-lower-list-item:not(.footer-lower-list-item-blog) {
  cursor: pointer
}

.global-footer .footer-lower-list-item:hover .footer-lower-banner-image {
  transform: scale(1.05)
}

.global-footer .footer-lower-list-item:hover .footer-lower-banner-text {
  color: #b9101a
}

.global-footer .footer-lower-banner-image {
  transition: transform ease .5s
}

.global-footer .footer-lower-banner-icon {
  position: absolute;
  top: 36.5px;
  left: 50%;
  transform: translateX(-50%)
}

.global-footer .footer-lower-banner-text {
  background-color: #fff;
  padding-top: 10px;
  font-size: 13px;
  position: relative;
  z-index: 1
}

.global-footer .global-footer-copy {
  background-color: #f7f6f6;
  padding: 16px 0 17px
}

.global-footer .global-footer-copy .fl {
  width: 630px;
  float: left
}

.global-footer .global-footer-copy .layout-list {
  letter-spacing: -.4em
}

.global-footer .global-footer-copy .layout-list li {
  padding: 0 10px 0 12px;
  letter-spacing: normal
}

.global-footer .global-footer-copy .layout-list li a {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500
}

.global-footer .global-footer-copy .layout-list li .icon-facebook-footer,
.global-footer .global-footer-copy .layout-list li .icon-twitter-footer {
  transition: none !important
}

.global-footer .global-footer-copy .layout-list li .icon-facebook-footer:hover {
  background-image: url(../images/icon.png);
  background-position: -553px -116px;
  background-size: 560px 523px;
  width: 7px;
  height: 14px
}

.global-footer .global-footer-copy .layout-list li .icon-twitter-footer:hover {
  background-image: url(../images/icon.png);
  background-position: -531px -262px;
  background-size: 560px 523px;
  width: 13px;
  height: 11px
}

.global-footer .global-footer-copy .copy {
  float: right;
  padding-top: 3px
}

.global-footer .global-footer-copy .copy small {
  font-size: 12px;
  font-size: 1.2rem
}

.global-header-logo {
  background-image: url(../images/logo.png);
  width: 140px;
  height: 31px;
  display: block;
  margin-top: 25px;
  color: transparent
}

.icon.icon-facebook:hover,
.icon.icon-twitter:hover,
.pagetop {
  background-image: url(../images/icon.png);
  background-size: 560px 523px
}

.pagetop {
  position: fixed;
  right: -60px;
  bottom: 20px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-position: -244px -294px;
  width: 50px;
  height: 50px
}

.pagetop a {
  display: block;
  height: 100%
}

.icon.icon-facebook:hover,
.icon.icon-twitter:hover {
  background-position: -260px -262px;
  width: 22px;
  height: 22px
}

.icon.icon-facebook:hover {
  background-position: -284px -262px
}

input[type=text] {
  height: 37px;
  padding: 0 10px
}

input[type=text],
textarea {
  background-color: #f7f6f6;
  font-size: 14px;
  font-size: 1.4rem;
  outline: 0 #d5d5d5 solid;
  transition: outline .5s
}

input[type=text]:focus,
textarea:focus {
  outline: 1px #d5d5d5 solid
}

button {
  outline: 0 #d5d5d5 solid
}

button:focus {
  outline: 0 #d5d5d5 solid
}

textarea {
  height: 135px;
  padding: 10px
}

.input.w300 {
  width: 286px
}

.input.w550 {
  width: 531px
}

.select-wrapper-confirm,
select {
  height: 59px;
  box-sizing: border-box;
  padding: 0 10px
}

select {
  border-top: 1px #d5d5d5 solid;
  border-left: 1px #d5d5d5 solid;
  border-right: 1px #d5d5d5 solid;
  color: #2c2c2c;
  outline: none;
  font-weight: 700;
  width: 105%;
  font-size: 16px;
  font-size: 1.6rem
}

.select-wrapper {
  position: relative;
  overflow: hidden
}

.select-wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  border-right: 1px solid #d5d5d5
}

.select-wrapper:after,
input[type=checkbox] + label:after {
  content: "";
  position: absolute;
  background-image: url(../images/icon.png);
  background-size: 560px 523px
}

.select-wrapper:after {
  right: 16px;
  z-index: 10;
  top: 27px;
  background-position: -412px -218px;
  width: 13px;
  height: 7px
}

.select-wrapper-confirm {
  width: 100%;
  border: 1px #d5d5d5 solid;
  font-size: 14px;
  font-size: 1.4rem
}

.select-wrapper-confirm p {
  line-height: 59px;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700
}

#openrec #main-visual .text-area .move,
#openrec #main-visual .text-area img,
#openrec .openrec-content.about .headding,
#openrec .openrec-content.about .info,
#openrec .openrec-content.about .title,
input[type=checkbox] {
  opacity: 0
}

input[type=checkbox] + label:before {
  content: "";
  position: absolute;
  top: 0;
  left: -20px;
  display: inline-block;
  border: 1px solid #d5d5d5;
  width: 15px;
  height: 15px;
  outline: none;
  vertical-align: top;
  -webkit-appearance: none;
  appearance: none
}

input[type=checkbox] + label:after {
  top: 4px;
  left: -16px;
  background-position: -385px -218px;
  height: 9px;
  width: 0;
  transition: width .1s
}

input[type=checkbox] + label.error:before {
  border: 1px solid #b9101a
}

input[type=checkbox]:checked + label:after {
  width: 11px
}

.input-error-message {
  background-color: #fff !important
}

.btn {
  display: block;
  background-color: silver;
  text-align: center;
  color: #fff !important;
  font-size: 14px;
  font-size: 1.4rem;
  position: relative;
  cursor: pointer
}

.btn.btn-square {
  width: 30px;
  padding: 7px 0 6px;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  transition: background-color .3s
}

.btn.btn-square:hover {
  background-color: #424242
}

.btn.btn-square.next,
.btn.btn-square.prev {
  position: relative;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden
}

.btn.btn-square.next:after,
.btn.btn-square.prev:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-image: url(../images/icon.png);
  background-position: -375px -294px;
  background-size: 560px 523px;
  width: 8px;
  height: 14px
}

.btn.btn-square.next:after {
  transform: translate(-50%, -50%)
}

.btn.btn-square.prev:after {
  transform: translate(-50%, -50%) rotate(180deg)
}

.btn.btn-square.active {
  background-color: #ebebeb
}

.btn.btn-big,
.btn.btn-small {
  width: 241px;
  height: 34px;
  line-height: 36px;
  transition: all .2s
}

.btn.btn-big-next:hover,
.btn.btn-big.next:hover,
.btn.btn-big.prev:hover,
.btn.btn-small:hover {
  background-color: #424242
}

.btn.btn-small:hover:after {
  right: 6px
}

.btn.btn-big.next:after,
.btn.btn-big.prev:after,
.btn.btn-small:after {
  content: "";
  position: absolute;
  top: 50%;
  background-image: url(../images/icon.png);
  background-size: 560px 523px;
  transition: all .2s
}

.btn.btn-small:after {
  right: 10px;
  transform: translateY(-50%);
  background-position: -332px -313px;
  width: 6px;
  height: 9px
}

.btn.btn-big {
  width: 540px;
  height: 56px;
  line-height: 59px;
  margin: 0 auto;
  font-size: 16px;
  font-size: 1.6rem
}

.btn.btn-big.next:hover:after {
  right: 16px
}

.btn.btn-big.next:after,
.btn.btn-big.prev:after {
  background-position: -553px -148px;
  width: 7px;
  height: 13px
}

.btn.btn-big.next:after {
  right: 20px;
  transform: translateY(-50%) rotate(180deg)
}

.btn.btn-big.prev:hover:after {
  left: 16px
}

.btn.btn-big.prev:after {
  left: 20px;
  transform: translateY(-50%)
}

.btn.btn-big-next,
.btn.btn-middle {
  width: 540px;
  height: 45px;
  line-height: 47px;
  margin: 0 auto;
  transition: all .2s
}

.btn.btn-big-next:hover:after {
  right: 6px
}

.btn.btn-big-next:after {
  right: 10px;
  background-position: -553px -148px;
  width: 7px;
  height: 13px;
  transform: translateY(-50%) rotate(180deg)
}

.btn.btn-middle {
  width: 268px;
  box-sizing: border-box;
  font-size: 15px;
  font-size: 1.5rem
}

.btn.white {
  background-color: #fff;
  border: 1px solid #d5d5d5;
  color: #2c2c2c !important
}

.btn.white.next:hover,
.btn.white.prev:hover {
  background-color: #f3f3f3
}

.btn.white.prev:hover:after {
  left: 6px
}

.btn.btn-big-next:after,
.btn.gray.next:after,
.btn.white.next:after,
.btn.white.prev:after {
  content: "";
  position: absolute;
  top: 50%;
  background-image: url(../images/icon.png);
  background-size: 560px 523px;
  transition: all .2s
}

.btn.white.prev:after {
  left: 10px;
  background-position: -340px -313px;
  width: 6px;
  height: 9px;
  transform: translateY(-50%) rotate(180deg)
}

.btn.gray.next:hover:after,
.btn.white.next:hover:after {
  right: 6px
}

.btn.gray.next:after,
.btn.white.next:after {
  right: 10px
}

.btn.white.next:after {
  transform: translateY(-50%);
  background-position: -340px -313px;
  width: 6px;
  height: 9px
}

.btn.gray {
  background-color: #bfbfbf
}

.btn.gray.next:hover {
  background-color: #424242
}

.btn.gray.next:after {
  background-position: -553px -148px;
  width: 7px;
  height: 13px;
  transform: translateY(-50%) rotate(180deg)
}

.btn.no-border {
  border: none
}

.btn.btn-medium-large {
  width: 327px;
  height: 56px;
  line-height: 56px;
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.8rem;
  color: #2c2c2c !important;
  font-weight: 700;
  background-color: #fff;
  transition: all .2s
}

.btn.btn-medium-large.next:hover,
.btn.btn-medium-large.prev:hover {
  background-color: #ebebeb
}

.btn.btn-medium-large.next:hover:after {
  right: 16px
}

.btn.btn-medium-large.next:after {
  right: 20px;
  background-position: -340px -313px;
  width: 6px;
  height: 9px;
  transform: translateY(-50%)
}

.btn.btn-medium-large.prev:hover:after {
  left: 16px
}

.btn.btn-100per.next:after,
.btn.btn-100per.prev:after,
.btn.btn-medium-large.next:after,
.btn.btn-medium-large.prev:after {
  content: "";
  position: absolute;
  top: 50%;
  background-image: url(../images/icon.png);
  background-size: 560px 523px;
  transition: all .2s
}

.btn.btn-medium-large.prev:after {
  left: 20px;
  transform: translateY(-50%) rotate(180deg);
  background-position: -340px -313px;
  width: 6px;
  height: 9px
}

.btn.btn-100per {
  width: 100%;
  height: 45px;
  line-height: 47px;
  margin: 0 auto;
  font-size: 16px;
  font-size: 1.6rem;
  transition: all .2s
}

.btn.btn-100per.next:hover,
.btn.btn-100per.prev:hover {
  background-color: #424242
}

.btn.btn-100per.next:hover:after {
  right: 16px
}

.btn.btn-100per.next:after,
.btn.btn-100per.prev:after {
  background-position: -553px -148px;
  width: 7px;
  height: 13px
}

.btn.btn-100per.next:after {
  right: 20px;
  transform: translateY(-50%) rotate(180deg)
}

.btn.btn-100per.prev:hover:after {
  left: 16px
}

.btn.btn-100per.prev:after {
  left: 20px;
  transform: translateY(-50%)
}

.module-slider {
  width: 100%;
  height: calc(100vh - 81px);
  min-height: 532px;
  overflow: hidden;
  margin: 0 auto;
  clear: both;
  background-color: #fff
}

.module-slider li,
.module-slider ul {
  height: 100%;
  overflow: hidden;
  position: relative
}

.module-slider li {
  display: block;
  visibility: hidden;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left top
}

.module-slider li:first-child {
  display: block;
  visibility: visible
}

.module-slider li .module-slider-button {
  width: 240px;
  height: 50px;
  margin-left: auto;
  margin-right: auto;
  background-color: #b42024;
  line-height: 48px;
  font-size: 15.02px;
  background-image: url(../images/icon-arrow-white.png);
  background-repeat: no-repeat;
  background-position: right 20px center;
  transition: background-color .5s, background-position .5s
}

.module-slider li .module-slider-button:hover {
  background-color: #940004;
  background-position: right 14px center
}

.module-slider li:nth-child(1) .module-slider-copy-upper,
.module-slider li:nth-child(2) .module-slider-copy-upper {
  font-weight: 700;
  line-height: 64.7px;
  letter-spacing: .1em;
  margin-bottom: 15px
}

.module-slider li:nth-child(1) .module-slider-copy-lower,
.module-slider li:nth-child(2) .module-slider-copy-lower {
  font-size: 21.97px;
  font-weight: 700;
  line-height: 38.68px;
  letter-spacing: -.02em;
  margin-bottom: 32px
}

.module-slider li:nth-child(3) .module-slider-copy-upper,
.module-slider li:nth-child(4) .module-slider-copy-upper,
.module-slider li:nth-child(5) .module-slider-copy-upper {
  font-size: 41.98px;
  font-weight: 700;
  line-height: 59.98px;
  margin-bottom: 14px
}

.module-slider li:nth-child(3) .module-slider-copy-lower,
.module-slider li:nth-child(4) .module-slider-copy-lower,
.module-slider li:nth-child(5) .module-slider-copy-lower {
  font-size: 15.99px;
  line-height: 29.99px;
  margin-bottom: 32px
}

.module-slider li:nth-child(1) .module-slider-copy-upper {
  font-size: 36px
}

.module-slider li:nth-child(2) .module-slider-copy-upper {
  font-size: 41.98px
}

.module-slider li:nth-child(3) .module-slider-copy-upper {
  letter-spacing: .04em
}

.module-slider li:nth-child(3) .module-slider-copy-lower {
  letter-spacing: -.04em
}

.module-slider li:nth-child(4) .module-slider-copy-upper {
  letter-spacing: .01em
}

.module-slider li:nth-child(4) .module-slider-copy-lower {
  letter-spacing: -.02em
}

.module-slider li:nth-child(4) .kerned {
  margin-left: .1em;
  margin-right: -.4em
}

.module-slider a {
  display: block;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center
}

.module-slider-cyberzdna {
  height: 512px;
  min-height: inherit !important
}

.module-slider-cyberzdna .bx-wrapper {
  background: #ebebeb
}

.module-slider-cyberzdna .bx-wrapper img {
  height: 512px;
  width: auto;
  left: 50%;
  transform: translate(-50%, -50%)
}

.bx-wrapper {
  position: relative;
  height: 100%;
  margin: 0 auto 60px;
  padding: 0;
  *zoom: 1
}

.bx-wrapper .img-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  width: 1064px;
  overflow: hidden
}

.bx-wrapper .img-wrapper .banner,
.bx-wrapper img {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%)
}

.bx-wrapper img {
  display: block
}

.bx-wrapper .bx-viewport {
  background: #fff;
  transform: translatez(0)
}

.bx-wrapper .wrapper {
  position: absolute;
  overflow: visible;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  width: 1200px
}

.bx-wrapper .bx-controls-auto,
.bx-wrapper .bx-pager {
  position: absolute;
  width: 100%;
  bottom: 85px
}

.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url(../images/oval.svg) center center no-repeat;
  height: 100%;
  width: 100%;
  position: absolute;
  display: none;
  top: 0;
  left: 0;
  z-index: 2000
}

.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: 700;
  color: #666;
  padding-top: 20px
}

.bx-wrapper .bx-controls-auto .bx-controls-auto-item,
.bx-wrapper .bx-pager .bx-pager-item {
  display: inline-block;
  *zoom: 1;
  *display: inline
}

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #fff;
  text-indent: -9999px;
  display: block;
  width: 9px;
  height: 9px;
  margin: 0 5px;
  outline: 0;
  border-radius: 5px;
  transition: all .5s
}

.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:hover {
  background: #b9101a
}

.bx-wrapper .bx-next,
.bx-wrapper .bx-prev {
  background-image: url(../images/icon.png);
  background-size: 560px 523px
}

.bx-wrapper .bx-prev {
  left: 30px;
  background-position: 0 -377px;
  width: 34px;
  height: 74px
}

.bx-wrapper .bx-next {
  right: 30px;
  background-position: 0 -453px;
  width: 32px;
  height: 70px
}

.bx-controls-direction,
.bx-wrapper .bx-controls-direction a.disabled {
  display: none
}

.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 0;
  bottom: 60px;
  margin-top: auto;
  margin-bottom: auto;
  outline: 0;
  text-indent: -9999px;
  z-index: 9998
}

.bx-wrapper .bx-controls-auto {
  text-align: center
}

.bx-wrapper .bx-controls-auto .bx-start {
  display: block;
  text-indent: -9999px;
  width: 10px;
  height: 11px;
  outline: 0;
  background: url(images/controls.png) -86px -11px no-repeat;
  margin: 0 3px
}

.bx-wrapper .bx-controls-auto .bx-start.active,
.bx-wrapper .bx-controls-auto .bx-start:hover {
  background-position: -86px 0
}

.bx-wrapper .bx-controls-auto .bx-stop {
  display: block;
  text-indent: -9999px;
  width: 9px;
  height: 11px;
  outline: 0;
  background: url(images/controls.png) -86px -44px no-repeat;
  margin: 0 3px
}

.bx-wrapper .bx-controls-auto .bx-stop.active,
.bx-wrapper .bx-controls-auto .bx-stop:hover {
  background-position: -86px -33px
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px
}

.bx-wrapper .bx-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #666\9;
  background: rgba(80, 80, 80, .75);
  width: 100%
}

.bx-wrapper .bx-caption span {
  color: #fff;
  font-family: Arial;
  display: block;
  font-size: .85em;
  padding: 10px
}

.module-slider-logo {
  width: 250px;
  height: 125px;
  display: block;
  margin: auto auto 30px
}

.module-slider-logo img {
  width: 100%;
  height: auto;
  position: static;
  top: 0%;
  left: 0;
  transform: translateY(0%)
}

.topics {
  background-color: rgba(0, 0, 0, .6);
  height: 60px;
  transform: translateY(-60px);
  margin-bottom: -60px
}

.news-entry-sns > * iframe,
.topics .container,
.topics .wrapper {
  height: 100%
}

.topics-header,
.topics-list {
  height: 100%;
  position: relative
}

.topics-header {
  padding-right: 14px;
  float: left;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 60px;
  vertical-align: middle
}

.topics-header:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 1px;
  height: 16px;
  border-right: 1px solid #d5d5d5
}

.topics-list {
  overflow: hidden;
  padding-left: 16px
}

.topics-list .topic {
  height: 100%;
  display: table;
  overflow: hidden;
  position: absolute;
  top: 0;
  display: none
}

.topics-list .topic:first-child {
  display: block
}

.topics-list .topic .title,
.topics-list .topic time {
  display: table-cell;
  font-size: 14px;
  font-size: 1.4rem;
  height: 100%;
  line-height: 60px
}

.topics-list .topic time {
  width: 94px;
  color: #fff;
  vertical-align: top
}

.topics-list .topic .title {
  overflow: hidden;
  position: relative;
  vertical-align: middle
}

.topics-list .topic a {
  transform: translate(0, 0);
  color: #fff
}

.service-index {
  padding: 60px 0 59px
}

.service-contents {
  padding-top: 34px;
  letter-spacing: -.4em;
  width: 100%;
}

.service-contents:first-of-type .service-content {
  width: 328px
}

.service-contents:last-of-type {
  display: flex;
  flex-wrap: wrap
}

.service-contents:last-of-type .service-content {
  width: 502px
}

.service-contents:last-of-type a {
  display: flex;
  justify-content: space-between
}

.service-contents:last-of-type .service-content-img {
  flex-basis: 49%;
  height: fit-content
}

.service-contents:last-of-type .service-content-text {
  flex-basis: 49%
}

.service-contents:last-of-type .btn {
  width: 100%
}

.service-contents:last-of-type h3 {
  margin-top: 0
}

.service-content {
  overflow: hidden;
  display: inline-block;
  letter-spacing: normal;
  margin-right: 20px;
  transition: all .5s
}

.service-content:nth-child(even) {
  margin-right: 0
}

.service-content:nth-child(n+3) {
  padding-top: 34px;
}

.service-content a {
  display: block;
  color: #2c2c2c
}

.service-content a:hover {
  color: #2c2c2c
}

.service-content .service-content-img {
  position: relative;
  display: block
}

.service-content .service-content-img img {
  width: 100%;
  height: auto
}

.service-content .service-content-img:after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  transition: all .3s
}

.service-content h3 {
  margin-top: 20px;
  padding-left: 3px;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .06em
}

.service-content .layout-text-lead {
  margin-top: 14px;
  min-height: 63px;
  padding-left: 3px
}

.service-content .service-content-btn {
  margin-top: 15px
}

.service-content .service-content-btn .btn {
  font-size: 12px;
  font-size: 1.2rem
}

.service-content .btn {
  width: 328px;
  height: 36px;
  line-height: 36px;
  vertical-align: middle;
  transition: all .5s
}

.service-content .btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  background-image: url(../images/icon.png);
  background-position: -332px -313px;
  background-size: 560px 523px;
  width: 6px;
  height: 9px;
  transform: translateY(-50%);
  transition: all .5s
}

.service-content:hover .service-content-img:after {
  opacity: .2
}

.service-content:hover .btn {
  background-color: #424242
}

.service-content:hover .btn:after {
  right: 10px
}

.service-top {
  clear: both
}

.service-item.smart-ad,
.service-item.nft {
  background-color: #f7f6f6
}

.service-item.smart-ad .flow {
  margin-top: 51px
}

.service-item.smart-media {
  background-color: #f7f6f6;
  padding-bottom: 60px !important
}

.service-item.smart-media .rs {
  margin-top: 0;
  padding-top: 0
}

.service-item.smart-media .rs .button {
  margin-bottom: 120px
}

.service-item.global .flow,
.service-item.smart-media .button {
  margin-top: 20px
}

.service-item.ad-tech {
  background-color: #fff
}

.service-item.e-sport-event,
.service-item.e-sport-platform {
  background-color: #f7f6f6
}

.service-item .ls {
  width: 492px;
  float: left;
  overflow: hidden
}

.service-item .rs {
  width: 497px;
  margin-left: 527px;
  overflow: visible
}

.service-item .ls img,
.service-item .rs img {
  max-width: 100%
}

.service-item .text-sub {
  margin-top: 30px;
  line-height: 2.13
}

.service-item .button {
  margin-top: 60px
}

.service-item span {
  word-break: keep-all
}

.service-img {
  text-align: center
}

.service-info {
  width: 700px;
  margin: 40px auto
}

.service-info tr {
  width: 100%;
  border-bottom: 1px solid #2c2c2c
}

.corporate-office-info tr:first-child,
.service-info tr:first-child {
  border-top: 1px solid #2c2c2c
}

.service-info tr td,
.service-info tr th {
  font-size: 14px;
  font-size: 1.4rem;
  text-align: left
}

.service-info tr th {
  font-weight: 700;
  width: 140px;
  padding: 15px 0
}

.service-info tr td {
  padding: 9px 0 8px;
  vertical-align: middle
}

.product-index {
  padding: 60px 0;
  background-color: #f7f6f6
}

.product-contents {
  clear: both;
  padding-top: 31px;
  letter-spacing: -.4em
}

.product-contents .w50 {
}

.product-contents .w50 a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
}

.product-contents .w50 a .layout-box-image {
  flex-basis: 49%;
  height: fit-content;
}

.product-contents .w50 a .layout-box-image img {
  width: 100%;
  height: auto;
}

.product-contents .w50 a .layout-box-inner {
  box-sizing: border-box;
  flex-basis: 49%;
  min-height: inherit;
}

.product-contents .w30:nth-child(3n),
.product-contents .w50:nth-child(2n+1) {
  margin-right: 0;
}
.product-contents .w50:nth-child(n+3) {
  padding-top: 31px;
}


.product-contents-head.fox,
.product-contents-head.openrec {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: .03em
}

.product-contents-head.openrec {
  letter-spacing: -.03em
}

.recruit-index {
  padding: 53px 0 60px;
  background-color: #f7f6f6
}

.recruit-contents {
  clear: both;
  padding-top: 35px
}

.layout-content-header.corporate-bord {
  display: block;
  height: 398px;
  min-width: 1044px;
  background: url(../images/corporate-header-bord.jpg) no-repeat center;
  background-size: cover
}

.recruit-top {
  clear: both
}

.interview-box {
  width: 328px;
  float: left;
  margin-right: 20px;
  margin-top: 30px
}

.interview-box a {
  display: block;
  color: #2c2c2c;
  transition: all .3s
}

.career-box ul li a:hover,
.interview-box a:hover {
  color: #b9101a
}

.interview-box,
.interview-box .interview-box-image {
  position: relative
}

.interview-box .interview-box-image img {
  width: 100%;
  height: auto
}

.interview-box .interview-box-image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 328px;
  height: 340px;
  opacity: 0;
  transition: all .3s ease-out;
  background-size: 100% auto !important
}

.interview-box .interview-box-image01:after {
  background-size: 100% auto;
  background: url(../images/recruit-top-member01-on.jpg) no-repeat
}

.interview-box .interview-box-image02:after {
  background-size: 100% auto;
  background: url(../images/recruit-top-member02-on.jpg) no-repeat
}

.interview-box .interview-box-image03:after {
  background-size: 100% auto;
  background: url(../images/recruit-top-member03-on.jpg) no-repeat
}

.interview-box .interview-box-image04:after {
  background-size: 100% auto;
  background: url(../images/recruit-top-member04-on.jpg) no-repeat
}

.interview-box .interview-box-image05:after {
  background-size: 100% auto;
  background: url(../images/recruit-top-member05-on.jpg) no-repeat
}

.interview-box .interview-box-image06:after {
  background-size: 100% auto;
  background: url(../images/recruit-top-member06-on.jpg) no-repeat
}

.interview-box .interview-box-header {
  box-sizing: border-box;
  padding: 25px 27px 27px;
  background-color: rgba(255, 255, 255, .9)
}

.interview-box .interview-box-header h3 {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  vertical-align: top;
  line-height: 30px;
  padding-bottom: 20px;
  min-height: 90px
}

.interview-box .interview-box-header p {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 22px;
  color: #9f9f9f
}

.recruit-top-interview {
  background-color: #f7f6f6
}

.recruit-top-interview .text-header-2 {
  margin-bottom: 7px
}

.recruit-top-interview .interview-box:nth-child(3n) {
  margin-right: 0
}

.recruit-top-office {
  display: block;
  height: 465px;
  min-width: 1044px;
  background: url(../images/recruit-top-office.jpg) no-repeat center;
  background-size: cover
}

.recruit-top-office .heading {
  display: block;
  margin: 181px auto 0;
  text-align: center;
  font-size: 30px;
  font-weight: 700
}

.recruit-top-office .link {
  margin-top: 41px
}

.recruit-top-career .top-career-inner {
  margin-top: 37px
}

.career-box {
  width: 496px;
  border: 1px solid #d5d5d5
}

.career-box.planer {
  border-bottom: none
}

.career-box.creative .text-header-3 {
  padding: 16px 20px
}

#openrec header nav,
.career-box.enginner {
  float: right
}

.career-box.open {
  float: right;
  border-top: none
}

.career-box .text-header-3 {
  background-color: #f7f6f6;
  padding: 16px 20px;
  border-bottom: 1px solid #d5d5d5
}

.career-box ul li {
  display: block;
  border-bottom: 1px solid #d5d5d5
}

.career-box ul li:last-child {
  border-bottom: none
}

.career-box ul li a,
.career-box ul li span {
  display: block;
  padding: 21px 20px 18px;
  font-size: 14px;
  font-size: 1.4rem;
  position: relative
}

.career-box ul li a,
.news-entry-pagenav .news-entry-pagenav-next time,
.news-entry-pagenav .news-entry-pagenav-prev time,
.recruit-office .lower-header-text {
  color: #2c2c2c
}

.career-box ul li a:after,
.career-box ul li span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  background-image: url(../images/icon.png);
  background-size: 560px 523px;
  width: 7px;
  height: 11px;
  transform: translateY(-50%)
}

.career-box ul li a:after {
  transition: all .3s;
  background-position: -404px -294px
}

.career-box ul li a:hover:after {
  right: 14px
}

.career-box ul li span {
  color: silver
}

.career-box ul li span:after {
  background-position: -395px -294px
}

.recruit-office {
  clear: both
}

.recruit-office-grallary {
  padding-bottom: 13px
}

.office-grallary-inner {
  margin-top: 6px;
  width: 100%;
  overflow: hidden
}

.office-grallary {
  width: 497px;
  display: block;
  float: left;
  position: relative;
  min-height: 350px;
  margin-top: 32px
}

.office-grallary:nth-child(1),
.office-grallary:nth-child(2) {
  margin-top: 38px
}

.office-grallary:nth-child(2n+1) {
  margin-right: 30px
}

.office-grallary img,
.office-welfare img {
  width: 100%
}

.office-grallary .text-header-3 {
  margin-top: 24px
}

.office-grallary .text-sub {
  margin-top: 10px;
  line-height: 1.8
}

.recruit-office-welfare {
  background-color: #f7f6f6;
  margin-top: 60px;
  padding-bottom: 74px
}

.office-welfare-inner {
  margin-top: 20px;
  overflow: hidden
}

.office-welfare {
  width: 328px;
  display: block;
  float: left;
  position: relative;
  min-height: 419px;
  margin-top: 20px;
  margin-right: 20px
}

.office-welfare:nth-child(3n) {
  margin-right: 0
}

.office-welfare figcaption {
  padding: 20px 20px 28px;
  background-color: #fff;
  min-height: 209px
}

.office-welfare .text-header-3 span {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  margin-left: 10px
}

.office-welfare .text-sub {
  margin-top: 14px;
  line-height: 1.6
}

.office-welfare-btn {
  margin-top: 20px
}

.recruit-entry {
  clear: both
}

.recruit-interview-entry {
  padding: 60px 0 0
}

.recruit-interview-entry aside {
  margin: -400px auto 80px !important;
  text-align: center
}

.recruit-interview-entry .wrapper {
  overflow: visible
}

.recruit-entry-table {
  margin-top: 40px;
  margin-bottom: 60px
}

.recruit-interview {
  clear: both
}

.recruit-interview-header {
  width: 460px;
  position: absolute;
  bottom: 180px;
  background-color: #fff;
  padding: 12px 27px 34px
}

.recruit-interview-header .title {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  color: #e20911
}

.recruit-interview-header .lead {
  margin-top: 17px;
  font-size: 34px;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.5
}

.recruit-interview-header .name {
  margin-top: 10px;
  font-weight: 700;
  font-size: 20px;
  font-size: 2rem
}

.interview-members {
  margin-top: 40px
}

.interview-entry-section {
  position: relative;
  margin-bottom: 130px;
  min-height: 700px
}

.interview-entry-section.image-left,
.interview-entry-section.image-left > div .subimage {
  text-align: left
}

.interview-entry-section.image-left > div:first-child {
  width: 782px;
  display: inline-block;
  margin-top: 0
}

.interview-entry-section.image-left > div:last-child {
  display: block;
  vertical-align: top;
  width: 400px;
  position: absolute;
  right: 0
}

.interview-entry-section.image-right,
.interview-entry-section.image-right > div .image,
.interview-entry-section.image-right > div .subimage {
  text-align: right
}

.interview-entry-section.image-right > div:last-child {
  display: inline-block
}

.interview-entry-section.image-right > div:first-child {
  display: inline-block;
  vertical-align: top;
  width: 400px;
  position: relative;
  left: 0
}

.interview-entry-section:last-child {
  margin-top: 0
}

.recruit-interview-other {
  background-color: #f7f6f6;
  position: relative
}

.privacy-entry dl dd ol ol,
.recruit-interview-other .bx-wrapper {
  margin-bottom: 0
}

.recruit-interview-other .bx-viewport {
  background-color: #f7f6f6
}

.recruit-interview-other .interview-box {
  margin-top: 0
}

.recruit-interview-other .text-header-2 {
  margin-bottom: 40px
}

#js-switchCisco-info,
#js-switchKorea-info,
#js-switchNagoya-info,
#js-switchSendai-info,
#js-switchTaiwan-info,
.recruit-interview-other .bx-controls {
  display: none
}

#js-slider img {
  position: static !important;
  transform: translate(0, 0) !important
}

.recruit-interview-other-control {
  width: 1075px;
  position: absolute;
  top: 50%;
  z-index: 10
}

.recruit-interview-other-control .bx-next,
.recruit-interview-other-control .bx-prev {
  position: absolute;
  top: 50%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-image: url(../images/icon.png);
  background-size: 560px 523px
}

.recruit-interview-other-control .bx-prev {
  left: -60px;
  background-position: 0 -377px;
  width: 34px;
  height: 74px
}

.recruit-interview-other-control .bx-next {
  right: 0;
  background-position: 0 -453px;
  width: 32px;
  height: 70px
}

.recruit-flow {
  margin-bottom: 30px
}

.recruit-flow .text-header-2 {
  margin-bottom: 40px
}

.interview-profile {
  height: 475px
}

.interview-profile .image {
  display: inline-block;
  width: 444px;
  height: 475px;
  float: left;
  position: relative
}

.interview-profile .image div {
  display: block;
  text-indent: -9999px;
  width: 444px;
  height: 475px;
  position: absolute;
  left: -100px;
  background-size: 100% auto
}

.prof-01 {
  background: url(../images/interview/recruit-interview01-prof.jpg) no-repeat
}

.prof-02 {
  background: url(../images/interview/recruit-interview02-prof.jpg) no-repeat
}

.prof-03 {
  background: url(../images/interview/recruit-interview03-prof.jpg) no-repeat
}

.prof-04 {
  background: url(../images/interview/recruit-interview04-prof.jpg) no-repeat
}

.prof-05 {
  background: url(../images/interview/recruit-interview05-prof.jpg) no-repeat
}

.prof-06 {
  background: url(../images/interview/recruit-interview06-prof.jpg) no-repeat
}

.image-middle,
.image-middle div {
  width: 528px;
  height: 563px;
  display: block;
  position: relative
}

.image-middle div {
  width: 774px;
  position: absolute;
  left: 0;
  background-size: 100% auto !important
}

.interview-01-insert01 {
  background: url(../images/interview/recruit-interview01-insert01.jpg) no-repeat
}

.interview-02-insert01,
.interview-03-insert01 {
  width: 700px !important;
  height: 700px !important;
  min-height: 700px
}

.interview-02-insert01 {
  background: url(../images/interview/recruit-interview02-insert01.jpg) no-repeat
}

.interview-03-insert01 {
  background: url(../images/interview/recruit-interview03-insert01.jpg) no-repeat
}

.interview-04-insert01 {
  background: url(../images/interview/recruit-interview04-insert01.jpg) no-repeat
}

.interview-04-insert01,
.interview-05-insert01,
.interview-06-insert01 {
  width: 700px !important;
  height: 700px !important;
  min-height: 700px
}

.interview-05-insert01 {
  background: url(../images/interview/recruit-interview05-insert01.jpg) no-repeat
}

.interview-06-insert01 {
  background: url(../images/interview/recruit-interview06-insert01.jpg) no-repeat
}

.subimage-min {
  width: 275px;
  height: 442px;
  position: relative;
  display: inline-block !important;
  text-align: right
}

.subimage-min div {
  width: 443px;
  height: 442px;
  left: 0
}

.interview-01-insert01-2 {
  background: url(../images/interview/recruit-interview01-insert01-2.jpg) no-repeat
}

.interview-02-insert01-2 {
  background: url(../images/interview/recruit-interview02-insert01-2.jpg) no-repeat
}

.interview-03-insert01-2 {
  background: url(../images/interview/recruit-interview03-insert01-2.jpg) no-repeat
}

.interview-04-insert01-2 {
  background: url(../images/interview/recruit-interview04-insert01-2.jpg) no-repeat
}

.interview-05-insert01-2 {
  background: url(../images/interview/recruit-interview05-insert01-2.jpg) no-repeat
}

.interview-06-insert01-2 {
  background: url(../images/interview/recruit-interview06-insert01-2.jpg) no-repeat
}

.image-big {
  width: 530px;
  height: 680px;
  position: relative
}

.image-big div,
.subimage-big div,
.subimage-min div {
  display: inline-block;
  position: absolute
}

.image-big div {
  background-size: 100% auto !important;
  width: 630px;
  height: 852px;
  left: -150px
}

.recruit-interview01-insert02 {
  background: url(../images/interview/recruit-interview01-insert02.jpg) no-repeat
}

.recruit-interview02-insert02 {
  background: url(../images/interview/recruit-interview02-insert02.jpg) no-repeat
}

.recruit-interview03-insert02 {
  background: url(../images/interview/recruit-interview03-insert02.jpg) no-repeat
}

.recruit-interview04-insert02 {
  background: url(../images/interview/recruit-interview04-insert02.jpg) no-repeat
}

.recruit-interview05-insert02 {
  background: url(../images/interview/recruit-interview05-insert02.jpg) no-repeat
}

.recruit-interview06-insert02 {
  background: url(../images/interview/recruit-interview06-insert02.jpg) no-repeat
}

.subimage-big {
  width: 356px;
  height: 522px;
  position: relative
}

.subimage-big div {
  width: 522px;
  height: 522px;
  left: -168px;
  top: 137px
}

.recruit-interview01-insert02-2 {
  background: url(../images/interview/recruit-interview01-insert02-2.jpg) no-repeat
}

.recruit-interview02-insert02-2 {
  background: url(../images/interview/recruit-interview02-insert02-2.jpg) no-repeat
}

.recruit-interview03-insert02-2 {
  background: url(../images/interview/recruit-interview03-insert02-2.jpg) no-repeat
}

.recruit-interview04-insert02-2 {
  background: url(../images/interview/recruit-interview04-insert02-2.jpg) no-repeat
}

.recruit-interview05-insert02-2 {
  background: url(../images/interview/recruit-interview05-insert02-2.jpg) no-repeat
}

.recruit-interview06-insert02-2 {
  background: url(../images/interview/recruit-interview06-insert02-2.jpg) no-repeat
}

.image-min {
  width: 538px;
  height: 680px;
  position: relative
}

.image-full div,
.image-min div {
  display: inline-block;
  width: 784px;
  height: 680px;
  position: absolute;
  left: 0;
  background-size: 100% auto !important
}

.recruit-interview01-insert03 {
  background: url(../images/interview/recruit-interview01-insert03.jpg) no-repeat 0 0
}

.recruit-interview02-insert03,
.recruit-interview03-insert03 {
  width: 700px !important;
  height: 700px !important;
  min-height: 700px
}

.recruit-interview02-insert03 {
  background: url(../images/interview/recruit-interview02-insert03.jpg) no-repeat 0 0
}

.recruit-interview03-insert03 {
  background: url(../images/interview/recruit-interview03-insert03.jpg) no-repeat 0 0
}

.recruit-interview04-insert03 {
  background: url(../images/interview/recruit-interview04-insert03.jpg) no-repeat 0 0
}

.recruit-interview04-insert03,
.recruit-interview05-insert03,
.recruit-interview06-insert03 {
  width: 700px !important;
  height: 700px !important;
  min-height: 700px
}

.recruit-interview05-insert03 {
  background: url(../images/interview/recruit-interview05-insert03.jpg) no-repeat 0 0
}

.recruit-interview06-insert03 {
  background: url(../images/interview/recruit-interview06-insert03.jpg) no-repeat 0 0
}

.image-full {
  width: 1026px;
  height: 640px;
  position: relative;
  display: block
}

.image-full div {
  height: 640px;
  width: 1359px;
  top: 0;
  left: -167px
}

.recruit-interview01-insert04 {
  background: url(../images/interview/recruit-interview01-insert04.jpg) no-repeat
}

.recruit-interview02-insert04 {
  background: url(../images/interview/recruit-interview02-insert04.jpg) no-repeat
}

.recruit-interview03-insert04 {
  background: url(../images/interview/recruit-interview03-insert04.jpg) no-repeat
}

.recruit-interview04-insert04 {
  background: url(../images/interview/recruit-interview04-insert04.jpg) no-repeat
}

.recruit-interview05-insert04 {
  background: url(../images/interview/recruit-interview05-insert04.jpg) no-repeat
}

.recruit-interview06-insert04 {
  background: url(../images/interview/recruit-interview06-insert04.jpg) no-repeat
}

.recruit-interview01-insert05 {
  background: url(../images/interview/recruit-interview01-insert05.jpg) no-repeat
}

.recruit-interview02-insert05,
.recruit-interview03-insert05 {
  width: 700px !important;
  height: 700px !important;
  min-height: 700px
}

.recruit-interview02-insert05 {
  background: url(../images/interview/recruit-interview02-insert05.jpg) no-repeat
}

.recruit-interview03-insert05 {
  background: url(../images/interview/recruit-interview03-insert05.jpg) no-repeat
}

.recruit-interview04-insert05 {
  background: url(../images/interview/recruit-interview04-insert05.jpg) no-repeat
}

.recruit-interview04-insert05,
.recruit-interview05-insert05,
.recruit-interview06-insert05 {
  width: 700px !important;
  height: 700px !important;
  min-height: 700px
}

.recruit-interview05-insert05 {
  background: url(../images/interview/recruit-interview05-insert05.jpg) no-repeat
}

.recruit-interview06-insert05 {
  background: url(../images/interview/recruit-interview06-insert05.jpg) no-repeat
}

.interview-profile-heading {
  margin-bottom: 30px
}

.interview-profile-heading p {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.8rem;
  margin-bottom: 10px
}

.interview-profile-heading span {
  color: #e20911;
  font-weight: 700;
  font-size: 15px;
  font-size: 1.5rem
}

.interview-profile-content {
  margin: 20px 0 0 439px
}

.interview-profile-content > div > p {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 30px;
  letter-spacing: .04em
}

.interview-entry-content {
  text-align: left
}

.interview-entry-content h3,
.interview-entry-content p {
  letter-spacing: .06em;
  margin-bottom: 30px;
  transform: scale(1.1, 1.1)
}

.interview-entry-content h3 {
  display: block;
  font-weight: 700;
  font-size: 24px;
  line-height: 38px
}

.interview-entry-content h3 span {
  position: relative;
  left: 5px;
  transform: scale(1.1, 1);
  display: table-cell;
  letter-spacing: 0;
  padding-bottom: 15px;
  font-size: 14px;
  font-size: 1.4rem;
  color: #e20911;
  line-height: 1.2;
  font-weight: 700;
  vertical-align: middle
}

.interview-entry-content p {
  line-height: 34px;
  font-size: 14px
}

.interview-entry-content a {
  color: #940004;
  text-decoration: underline
}

.interview-entry-content a:hover {
  text-decoration: none
}

.js-text,
.js-trigger-text {
  position: relative
}

.js-text {
  top: 0;
  left: 0
}

.question01-position-img {
  left: 2px
}

.question01-position-text {
  width: 470px !important;
  left: -60px !important
}

.question01-position-text h3 {
  margin-bottom: 50px
}

.question02-position-text {
  top: 0
}

.question03-position-text {
  width: 470px !important;
  left: -60px !important
}

.image-otomo-4 {
  margin-bottom: 50px !important
}

.image-nakamura-t-2 {
  margin-bottom: 30px !important
}

.image-nakamura-t-3,
.image-nakamura-t-4,
.image-yamamoto-2 {
  margin-bottom: 0 !important
}

.image-yamamoto-3 {
  margin-bottom: 100px !important
}

.news-index {
  padding: 60px 0
}

.news-index .layout-list {
  float: left;
  margin-left: 10px
}

.news-index .layout-list li {
  padding: 0 21px 0 24px
}

.news-index .layout-header-slash {
  margin-left: 9px
}

.news-contents {
  clear: both;
  padding-top: 38px
}

.news-list {
  position: relative
}

.news-list ul li {
  display: table;
  padding: 25px 0 22px;
  border-bottom: 1px solid #d5d5d5
}

.news-list ul li > div {
  display: table-cell;
  height: 100%;
  vertical-align: middle
}

.news-label,
.news-time {
  display: inline-block;
  vertical-align: top
}

.news-label {
  font-style: normal;
  color: #fff;
  padding: 5px 0 4px;
  width: 87px;
  text-align: center;
  background-color: #b5b5b5;
  font-size: 11px;
  font-size: 1.1rem;
  margin-right: 24px
}

.news-label.press,
.news-label.pressreleases {
  background-color: #6f94ce
}

.news-label.info,
.news-label.information {
  background-color: #76be79
}

.news-label.research {
  background-color: #15bca6
}

.news-label.culture {
  background-color: #6f94ce
}

.news-label.business {
  background-color: #76be79
}

.news-label.working {
  background-color: #15bca6
}

.news-label.report {
  background-color: #6f67ce
}

.news-time {
  font-size: 14px;
  font-size: 1.4rem;
  margin-right: 22px;
  line-height: 1.7
}

.news-title {
  width: 810px;
  display: inline-block;
  line-height: 21px
}

.news-top {
  clear: both
}

.news-top .news-list {
  margin-top: 40px
}

.news-top .news-list-eyecatch {
  margin-top: 30px
}

.news-top .layout-list > li {
  padding-left: 24px;
  padding-right: 20px
}

.news-top .layout-section-container {
  background-color: #f7f6f6;
  margin-top: 0
}

.news-top .layout-section-container .container {
  width: 1024px;
  padding-top: 60px;
  background-color: #fff
}

.news-top .layout-section-container .wrapper {
  width: 844px
}

.news-entry-header h1 {
  clear: both;
  margin-top: 25px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 2;
  font-weight: 700;
  padding-bottom: 20px;
  border-bottom: 1px solid #2c2c2c;
  letter-spacing: .06em
}

.news-entry-header .news-entry-header-title {
  padding-bottom: 0;
  border-bottom: none !important
}

.news-entry-header .news-label {
  margin-right: 17px
}

.news-entry-header .news-time {
  margin-right: 16px
}

.news-entry-header .news-entry-label a,
.news-entry-header .news-time {
  font-size: 15px;
  font-size: 1.5rem;
  vertical-align: meddle;
  line-height: 20px
}

.news-entry-header-assets {
  overflow: hidden;
  height: 20px
}

#openrec header h1,
#openrec header nav li,
.news-entry-header-assets .news-entry-label {
  float: left
}

.news-entry-sns {
  height: 20px;
  float: right
}

.news-entry-sns > * {
  height: 100%;
  display: inline-block;
  vertical-align: top;
  margin-left: 8px
}

.news-entry-eyecatch {
  display: block;
  margin: 40px auto -12px;
  max-width: 100%;
  height: auto;
  border: 1px solid #e0e0e0;
  box-sizing: border-box
}

.news-entry-content {
  word-wrap: break-word;
  clear: both;
  margin-top: 36px
}

.news-entry-content,
.news-entry-content p {
  font-size: 15px;
  line-height: 30px
}

.news-entry-content div.br:empty,
.news-entry-content div:not([class]):empty {
  height: 30px
}

.news-entry-content .red,
.news-tags span:hover {
  color: #b9101a
}

.news-entry-content a {
  color: #b9101a;
  border-bottom: #b9101a solid 1px
}

.news-entry-content a[target=_blank]:after {
  content: '';
  display: inline-block;
  width: 22px;
  height: 15px;
  background-color: #fff;
  background-image: url(../images/icon-blank.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 10px 10px;
  transform: translateY(5px)
}

.news-entry-content img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  padding-top: 7.5px;
  padding-bottom: 7.5px
}

.news-entry-content img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto
}

.news-entry-content img.alignleft {
  display: block;
  margin-left: 0;
  margin-right: auto
}

.news-entry-content img.alignright {
  display: block;
  margin-left: auto;
  margin-right: 0
}

.news-entry-content h2 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 40px;
  margin-top: 40px;
  margin-bottom: 22px;
  font-weight: 700
}

.news-entry-content h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 36px;
  margin-top: 52px;
  margin-bottom: 34px;
  padding: 20px 30px;
  font-weight: 700;
  background-color: #f7f6f6
}

.news-entry-content h4,
.news-entry-content h5,
.news-entry-content h6 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 32px;
  margin-top: 44px;
  margin-bottom: 22px;
  font-weight: 700
}

.news-entry-content ol,
.news-entry-content ul {
  counter-reset: number
}

.news-entry-content ol ol,
.news-entry-content ol ul,
.news-entry-content ul ol,
.news-entry-content ul ul {
  padding-top: 3px;
  padding-left: 20px
}

.news-entry-content > ol,
.news-entry-content > ul {
  padding-top: 3px;
  padding-bottom: 3px
}

.news-entry-content ol > li,
.news-entry-content ul > li {
  padding-top: 3px;
  padding-bottom: 3px;
  padding-left: 1.3em;
  position: relative
}

.news-entry-content ul > li:before {
  content: '';
  position: absolute;
  display: block;
  background-color: #2c2c2c;
  top: 14px;
  left: 0;
  width: 8px;
  height: 8px
}

.news-entry-content ol > li {
  padding-left: 1.5em
}

.news-entry-content ol > li:before {
  counter-increment: number;
  content: counter(number) ".";
  fonr-weight: midium;
  position: absolute;
  top: 9.5px;
  left: 0;
  font-style: italic
}

.news-entry-content dl {
  display: flex;
  flex-wrap: wrap;
  padding-top: 7.5px;
  padding-bottom: 7.5px
}

.news-entry-content dl > dd,
.news-entry-content dl > dt {
  line-height: 33px;
  font-size: 15px;
  padding-top: 9.5px;
  padding-bottom: 9.5px;
  border-top: 1px solid #d5d5d5
}

.news-entry-content dl > dd:last-of-type,
.news-entry-content dl > dt:last-of-type {
  border-bottom: 1px solid #d5d5d5
}

.news-entry-content dl > dt {
  width: 30%;
  padding-right: 10%;
  font-weight: 700
}

.news-entry-content dl > dd {
  width: 60%
}

.news-entry-content table {
  width: 100%;
  table-layout: fixed
}

.news-entry-content table:after,
.news-entry-content table:before {
  content: '';
  display: block;
  height: 7.5px
}

.news-entry-content table td,
.news-entry-content table th {
  vertical-align: middle;
  text-align: center;
  line-height: 33px;
  font-size: 15px;
  padding-top: 13.5px;
  padding-bottom: 13.5px;
  border: 1px solid #d5d5d5
}

.news-entry-content table td:last-child,
.news-entry-content table th:last-child {
  border-right: 2px solid #d5d5d5
}

.news-entry-content blockquote a[target=_blank]:after,
.news-entry-content table th {
  background-color: #f7f6f6
}

.news-entry-content blockquote {
  background-color: #f7f6f6;
  padding: 26px 40px 26px 112px;
  position: relative;
  border-top: 7.5px solid #fff;
  border-bottom: 7.5px solid #fff
}

.news-entry-content blockquote:after {
  display: block;
  width: 32px;
  height: 24px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0LjMyIDMuMzYiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNCI+PGc+PGc+PHBhdGggZmlsbD0iI2UyZTJlMiIgZD0iTTAsMy4zNiwxLjYyLDEuNjhWMEgwWk0yLjcsMFYzLjM2TDQuMzIsMS42OFYwWiIvPjwvZz48L2c+PC9zdmc+);
  background-repeat: no-repeat;
  background-size: 32px 24px;
  content: '';
  position: absolute;
  top: 33px;
  left: 40px
}

.news-entry-content blockquote > * {
  position: relative;
  z-index: 1
}

.news-entry {
  padding-bottom: 70px
}

.news-entry .icon {
  margin-right: 10px
}

#openrec a,
.news-entry .btn {
  text-decoration: none
}

.news-tags {
  margin-top: 20px;
  padding-bottom: 30px;
  border-bottom: 1px solid #2c2c2c
}

.news-list-eyecatch ul > li .menu-list-tags span,
.news-tags span {
  position: relative;
  margin-right: 10px;
  color: #ccc
}

.news-entry-pagenav .news-entry-pagenav-next a:hover,
.news-entry-pagenav .news-entry-pagenav-prev a:hover,
.news-tags span:hover a {
  color: #b9101a
}

.news-tags span a {
  color: #ccc
}

.news-list-eyecatch ul > li .menu-list-tags span:before,
.news-tags span:before {
  content: '#'
}

.news-entry-pagenav {
  clear: both;
  padding-top: 40px;
  overflow: hidden
}

.news-entry-pagenav .news-entry-pagenav-prev {
  position: relative;
  float: left
}

.news-entry-pagenav .news-entry-pagenav-next {
  position: relative;
  margin-left: 20px;
  float: right
}

.news-entry-pagenav .news-entry-pagenav-next,
.news-entry-pagenav .news-entry-pagenav-prev {
  background-color: #f7f6f6;
  width: 348px;
  padding: 30px 32px
}

.news-entry-pagenav .news-entry-pagenav-next .pagenav-head,
.news-entry-pagenav .news-entry-pagenav-prev .pagenav-head {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  border-bottom: 1px solid #e0e0e0;
  line-height: 1;
  padding-bottom: 18px;
  margin-bottom: 18px
}

.news-entry-pagenav .news-entry-pagenav-next .news-label,
.news-entry-pagenav .news-entry-pagenav-prev .news-label {
  margin-right: 12px
}

.news-entry-pagenav .news-entry-pagenav-next .text-default,
.news-entry-pagenav .news-entry-pagenav-prev .text-default {
  margin-top: 10px;
  min-height: 84px
}

.news-entry-pagenav .news-entry-pagenav-next a,
.news-entry-pagenav .news-entry-pagenav-prev a {
  display: block;
  overflow: hidden;
  text-decoration: none;
  position: relative;
  color: #162f82
}

.news-entry-pagenav .news-entry-pagenav-next a.cut:after,
.news-entry-pagenav .news-entry-pagenav-prev a.cut:after {
  content: "...";
  position: absolute;
  bottom: 0;
  right: 26px;
  width: 1.5rem;
  background-color: #fff
}

.news-entry-back {
  text-align: center;
  margin-top: 60px
}

.news-entry-footer {
  overflow: hidden;
  margin-top: 40px
}

.news-list-eyecatch ul > li {
  display: block;
  padding-top: 0;
  padding-bottom: 0
}

.news-list-eyecatch ul > li > a {
  display: flex;
  justify-content: space-between;
  position: relative;
  height: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
  transition: background-color .5s ease
}

.news-list-eyecatch ul > li > a:hover {
  background-color: #f9f9f9
}

.news-list-eyecatch ul > li .news-list-left-column {
  display: block;
  width: 278px;
  height: 156px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #fff;
  border: 1px solid #e0e0e0
}

.news-list-eyecatch ul > li .news-list-right-column {
  display: block;
  width: 544px;
  padding-top: 22px
}

.news-list-eyecatch ul > li .news-list-right-upper {
  display: flex;
  align-items: cetner;
  margin-bottom: 22px
}

.news-list-eyecatch ul > li .menu-list-tags {
  margin-top: 30px
}

.news-list-eyecatch ul > li .news-list-more {
  position: absolute;
  bottom: 19px;
  right: 0;
  width: 73px;
  font-size: 12px;
  font-size: 1.2rem;
  background-image: url(../images/icon-arrow-black.png);
  background-repeat: no-repeat;
  background-position: right
}

.news-list-eyecatch ul > li .news-label {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  background-color: transparent;
  text-align: left;
  padding-top: 0;
  padding-bottom: 0;
  width: auto;
  margin-right: 28px;
  position: relative;
  color: #b5b5b5
}

.news-list-eyecatch ul > li .news-label.press,
.news-list-eyecatch ul > li .news-label.pressreleases {
  color: #6f94ce
}

.news-list-eyecatch ul > li .news-label.info,
.news-list-eyecatch ul > li .news-label.information {
  color: #76be79
}

.news-list-eyecatch ul > li .news-label.research {
  color: #15bca6
}

.news-list-eyecatch ul > li .news-label.culture {
  color: #6f94ce
}

.news-list-eyecatch ul > li .news-label.business {
  color: #76be79
}

.news-list-eyecatch ul > li .news-label.working {
  color: #15bca6
}

.news-list-eyecatch ul > li .news-label.report {
  color: #6f67ce
}

.news-list-eyecatch ul > li .news-label:after {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -13px;
  background-color: silver
}

.news-list-eyecatch ul > li .news-time {
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1;
  margin-right: 0;
  color: silver
}

.news-list-eyecatch ul > li .news-title {
  width: 100%;
  line-height: 29px
}

.snswidget {
  padding: 0 0 60px;
  background-color: #f7f6f6
}

.snswidget-content {
  background-color: #fff;
  float: left;
  width: 298px;
  padding: 0 15px 15px;
  margin-right: 20px;
  height: 391px;
  overflow: hidden
}

.snswidget-content .snswidget-content-header {
  height: 53px
}

.snswidget-content .snswidget-content-header a {
  display: inline-block;
  line-height: 53px;
  color: #2c2c2c;
  font-size: 14px;
  font-size: 1.4rem
}

.snswidget-content .snswidget-content-header a i {
  margin-right: 6px;
  vertical-align: -10%
}

.snswidget-content .snswidget-content-header a span {
  display: inline-block;
  font-weight: 700
}

.snswidget-content .snswidget-content-inner {
  border-top: 1px solid #d5d5d5
}

.snswidget-content.ameba {
  margin-right: 0
}

.snswidget-content .snswidget-blogs {
  height: 329px;
  overflow-y: scroll
}

.snswidget-content .snswidget-blogs li {
  padding: 15px 0 10px;
  border-bottom: 1px solid #d5d5d5
}

.snswidget-content .snswidget-blogs li time {
  font-size: 11px;
  font-size: 1.1rem;
  color: #acacac
}

.snswidget-content .snswidget-blogs li p {
  margin-top: 10px
}

.snswidget-content .snswidget-blogs li a,
.snswidget-content .snswidget-blogs li p {
  font-size: 12px;
  font-size: 1.2rem;
  color: #2c2c2c;
  line-height: 2
}

.snswidget-content .snswidget-blogs li a:hover,
.snswidget-content .snswidget-blogs li p:hover {
  color: #b9101a
}

.foxmovie {
  height: 367px;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
  background-color: #01090f
}

.foxmovie .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: 0
}

.foxmovie-bg,
.foxmovie-inner {
  display: block;
  height: 100%
}

.foxmovie-inner:hover .foxmovie-bg {
  transform: scale(1.03)
}

.foxmovie-bg {
  height: 367px;
  min-width: 1044px;
  background-image: url(../images/fox-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  transition: transform .5s ease
}

.foxmovie-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -38%);
  width: 276px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.popupmovie {
  display: none;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 10000
}

.popupinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-left: -100%
}

.popupinner .player {
  width: 640px
}

.popupinner .closebtn {
  background-image: url(../images/button_close.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  width: 30px;
  height: 30px;
  position: absolute;
  top: -30px;
  right: 0;
  cursor: pointer;
  transform: scale(1);
  transition: all .2s
}

.popupinner .closebtn:hover {
  transform: scale(1.1)
}

.contact-confirm,
.contact-top {
  clear: both;
  padding-bottom: 60px
}

.contact-confirm.complete .contact-nav-step3,
.contact-top.complete .contact-nav-step3 {
  z-index: 3 !important;
  margin-left: -30px !important
}

.contact-nav {
  position: relative
}

.contact-nav .contact-nav-step1 {
  position: relative;
  z-index: 3
}

.contact-nav .contact-nav-step2 {
  position: relative;
  margin-left: -23px;
  z-index: 2
}

.contact-nav .contact-nav-step3 {
  position: relative;
  margin-left: -41px;
  z-index: 1
}

.contact-tel {
  display: block;
  border: 1px solid #d5d5d5;
  background-color: #f7f6f6;
  padding: 18px 20px 12px;
  margin-top: 18px
}

.contact-tel .text-header {
  margin-bottom: 18px
}

.contact-form-body {
  clear: both;
  padding-top: 28px
}

.contact-form-body table {
  border-collapse: separate;
  border-spacing: 0
}

.contact-form-body table td,
.contact-form-body table th {
  border-right: 1px solid #d5d5d5;
  vertical-align: middle;
  position: relative
}

.contact-form-body table th {
  background-color: #f7f6f6;
  padding: 0 20px;
  font-weight: 700;
  border-left: 1px solid #d5d5d5;
  text-align: left;
  height: 58px;
  width: 220px;
  font-size: 16px;
  font-size: 1.6rem
}

.contact-form-body table td {
  width: 556px;
  padding-left: 10px;
  font-size: 14px;
  font-size: 1.4rem
}

.contact-form-body table tr.textarea th {
  padding-top: 4px
}

.contact-form-body table tr.textarea td {
  padding: 10px
}

.contact-form-body .select-wrapper,
.contact-form-body table td,
.contact-form-body table th {
  border-bottom: 1px solid #d5d5d5
}

.contact-confirm th {
  width: 170px !important
}

.contact-form-submit {
  clear: both;
  padding-top: 40px;
  text-align: center
}

.contact-form-submit .btn {
  display: inline-block
}

.contact-form-submit .btn:first-child {
  margin-right: 20px
}

#openrec #point-01 .conte-inner ul li:first-child,
.contact-complete .btn:first-child,
.contact-form-submit.complete .btn:first-child {
  margin-right: 0
}

.contact-form-privacy {
  height: 128px;
  padding: 20px;
  overflow-y: scroll;
  overflow-x: hidden;
  border-bottom: 1px #d5d5d5 solid;
  border-left: 1px #d5d5d5 solid;
  border-right: 1px #d5d5d5 solid
}

.contact-form-privacy .text-header {
  margin-bottom: 20px
}

.contact-form-privacy .privacy-entry dd,
.corporate-office-info tr td,
.corporate-office-info tr th {
  font-size: 14px;
  font-size: 1.4rem
}

.contact-form-agree {
  margin-top: 20px;
  float: right
}

.contact-complete {
  padding: 29px 12px 20px 20px;
  border: 1px solid #d5d5d5
}

.contact-complete .text-default {
  margin-top: 24px
}

.contact-complete-address {
  margin-top: 32px;
  background-color: #f7f6f6;
  padding: 22px 12px 30px 20px
}

.contact-complete-address .text-default {
  margin-top: 10px
}

.corporate-nav {
  background-color: #f7f6f6;
  padding: 60px 0
}

#openrec section,
.coc-main img,
.corporate-nav img {
  width: 100%
}

.corporate-about {
  padding: 60px 0 0
}

.corporate-about .office-inner {
  margin-top: 34px
}

.corporate-office-info {
  width: 498px;
  float: left
}

.corporate-office-info tr,
.privacy-entry dl dt {
  border-bottom: 1px solid #2c2c2c
}

.corporate-office-info tr th {
  padding: 15px 0;
  font-weight: 700;
  width: 140px;
  text-align: left
}

.corporate-office-info tr td {
  padding: 9px 0 8px;
  text-align: left;
  vertical-align: middle
}

.corporate-office-image {
  margin-left: 526px
}

.corporate-access {
  padding: 90px 0 0
}

.corporate-access .text-header-2 {
  float: left;
  margin-right: 20px
}

.corporate-access .layout-list {
  padding-top: 5px
}

.corporate-access-map {
  margin-top: 37px;
  min-height: 430px;
  background-color: #666
}

.map-box {
  position: relative
}

.map-info-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 430px;
  background-color: rgba(0, 0, 0, .5)
}

.map-info {
  position: absolute;
  top: 0;
  right: 0;
  padding-top: 50px;
  padding-right: 80px;
  width: 432px
}

.map-info#js-switchTaiwan-info {
  padding-right: 100px;
  width: 412px
}

.map-info .text-header {
  font-size: 18px;
  font-size: 1.8rem
}

.map-info .text-default {
  margin-top: 7px;
  font-size: 15px;
  font-size: 1.5rem
}

.map-info p {
  color: #fff;
  line-height: 2.6
}

.gmap,
.gmap-korea {
  width: 100%;
  height: 430px
}

.gmap {
  position: absolute;
  top: 0;
  left: 0
}

.gmap-korea {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center
}

.map-btn {
  margin-top: 25px;
  margin-left: 4px
}

.corporate-message {
  clear: both
}

.corporate-message .layout-content-header-subtitle {
  margin-top: 56px
}

.corporate-message footer {
  margin-top: 52px
}

.corporate-message footer .red {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2;
  display: inline-block;
  padding-bottom: 28px
}

.corporate-message footer .position {
  text-align: right
}

.corporate-message footer .position img {
  margin-left: 24px
}

.corporate-message footer .blog {
  margin-top: 40px
}

.corporate-message-content {
  margin-left: 200px;
  background-repeat: no-repeat;
  background-position: 500px 27px;
  padding-bottom: 28px;
  min-height: 720px;
  position: relative
}

.corporate-message-content .bg-image {
  position: absolute;
  top: -160px;
  left: 50%;
  z-index: -1
}

.corporate-message-content .container {
  width: auto;
  margin: 0
}

.corporate-message-content .wrapper {
  margin: 0
}

.corporate-message-entry {
  padding-top: 50px
}

.corporate-message-entry p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2;
  margin-bottom: 25px
}

.corporate-bord {
  clear: both
}

.corporate-bord-content {
  margin-top: 60px
}

.corporate-bord-content .bord-box {
  margin-bottom: 90px;
  overflow: hidden;
  display: flex
}

.corporate-bord-content .bord-box .bord-box-image,
.corporate-bord-content .bord-box .bord-box-image img {
  width: 378px
}

.corporate-bord-content .bord-box .bord-box-info {
  width: 100%;
  margin-left: 40px
}

.corporate-bord-content .bord-box .text-header {
  padding-top: 10px
}

.corporate-bord-content .bord-box .text-header-2 {
  margin-top: 15px
}

.corporate-bord-content .bord-box .text-sub {
  margin-left: 10px
}

.corporate-bord-content .bord-box .bord-box-histroy {
  border-top: 1px solid #2c2c2c;
  margin-top: 20px;
  padding: 20px 10px;
  width: 100%;
  font-size: 15px;
  font-size: 1.5rem
}

.corporate-bord-content .bord-box .bord-box-histroy dl {
  width: 100%;
  display: flex;
  align-items: flex-start;
  text-align: left
}

.corporate-bord-content .bord-box .bord-box-histroy dt {
  line-height: 2;
  width: 15%
}

.corporate-bord-content .bord-box .bord-box-histroy dd {
  line-height: 2;
  flex: 1;
  padding-inline-start: 0
}

.corporate-bord-content .bord-box .bord-box-link {
  margin-top: 9px;
  margin-left: 10px;
  line-height: 2
}

#gmap-korea {
  width: 100%;
  overflow: hidden;
  text-align: center;
  display: none
}

.coc-main {
  background-color: #f7f6f6;
  padding: 40px 0 78px
}

.notfound,
.privacy-top {
  clear: both
}

.privacy-top .layout-inner-content {
  padding-bottom: 80px
}

.privacy-entry .headding {
  margin-bottom: 40px
}

.privacy-entry dl dt {
  padding-bottom: 20px
}

.privacy-entry dl dd {
  padding-top: 30px;
  padding-right: 20px
}

.privacy-entry dl dd p,
.privacy-entry dl dd span {
  font-size: 15px;
  font-size: 1.5rem;
  margin-bottom: 40px
}

.privacy-entry dl dd p {
  line-height: 2
}

.privacy-entry dl dd span {
  display: inline-block
}

.privacy-entry dl dd ol {
  margin-bottom: 40px;
  overflow: hidden
}

.privacy-entry dl dd ol li {
  line-height: 2;
  font-size: 15px;
  font-size: 1.5rem;
  display: table;
  width: 100%
}

.privacy-entry dl dd ol li i {
  width: 4rem;
  display: table-cell;
  font-style: normal
}

.privacy-entry dl dd:last-child {
  padding-right: 0
}

.privacy-entry dl dd address {
  padding: 20px;
  background-color: #f7f6f6;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2
}

#openrec .heading strong,
.privacy-entry dl dd address strong {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  display: block
}

.notfound .lower-header {
  background-color: #f4f5f9;
  height: 151px
}

.notfound .lower-header-text {
  color: #2c2c2c
}

#openrec {
  font-size: 16px;
  font-size: 1.6rem;
  width: 100%;
  font-family: "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", sans-serif
}

#openrec .btn {
  border-radius: 3px;
  color: #fff;
  font-weight: 700;
  display: block
}

#openrec .btn-red {
  background-color: #d52a13;
  transition: all .5s ease
}

#openrec .btn-red:hover {
  background-color: #aa220f
}

#openrec .home-link {
  font-size: 12px;
  font-size: 1.2rem;
  color: #2c2c2c
}

#openrec .home-link .icon {
  padding-bottom: 1px;
  margin-right: 5px
}

#openrec .btn-black {
  background-color: #333;
  transition: all .5s ease
}

#openrec .btn-black:hover {
  background-color: #000
}

#openrec .btn-arr,
#openrec .btn-arr-red {
  position: relative;
  padding-left: 26px
}

#openrec .btn-arr-red:before,
#openrec .btn-arr:before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  margin-top: -8px
}

#openrec .btn-arr:before {
  background: url(../images/openrec/openrec-arr.png) no-repeat
}

#openrec .btn-arr-red {
  font-weight: 700;
  color: #000;
  transition: all .5s ease
}

#openrec .btn-arr-red span {
  display: inline-block;
  height: 16px;
  font-weight: 700;
  color: #000;
  line-height: 27px
}

#openrec .btn-arr-red:hover {
  color: #d52a13
}

#openrec .btn-arr-red:before {
  background: url(../images/openrec/openrec-arr-red.png) no-repeat
}

#openrec .border_radius {
  transition: .5s
}

#openrec .conte-inner {
  width: 1024px;
  margin: 0 auto
}

#openrec .conte-inner p {
  line-height: 2;
  margin-bottom: 36px;
  font-weight: 500
}

#openrec .inner-pt01 {
  width: 665px
}

#openrec .inner-pt02 {
  width: 502px
}

#openrec .heading {
  margin: 0 0 30px
}

#openrec .heading strong {
  font-size: 13px;
  font-size: 1.3rem;
  background: url(../images/openrec/openrec-baloon.png);
  width: 105px;
  height: 35px;
  line-height: 24px;
  text-align: center;
  color: #fff;
  padding-top: 6px
}

#openrec .heading h2 {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700;
  margin-top: 10px;
  line-height: 1.5
}

#openrec header {
  zoom: 1;
  margin: 20px 0
}

#openrec #main-visual:after,
#openrec #main-visual:before,
#openrec #point-01 .conte-inner ul:after,
#openrec #point-01 .conte-inner ul:before,
#openrec header:after,
#openrec header:before {
  display: block;
  height: 0;
  visibility: hidden;
  content: "\0020"
}

#openrec #main-visual:after,
#openrec #point-01 .conte-inner ul:after,
#openrec header:after {
  clear: both
}

#openrec header nav li a {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 33px;
  width: 144px;
  text-align: center
}

#openrec header nav li:last-child {
  margin-left: 10px
}

#openrec #main-visual,
#openrec #point-01 {
  background-position: center top;
  -ms-background-size: cover;
  background-size: cover;
  min-width: 1024px
}

#openrec #main-visual {
  zoom: 1;
  width: 100%;
  background: url(../images/openrec/openrec-bg-kv-02.png) no-repeat;
  position: relative;
  height: 480px
}

#openrec #main-visual .mock {
  position: absolute;
  display: block;
  bottom: -20px;
  opacity: 0
}

#openrec #main-visual .text-area {
  float: right;
  margin-top: 170px
}

#openrec #main-visual .text-area a {
  width: 200px;
  line-height: 46px;
  margin: 50px 0 0 auto;
  text-align: center
}

#openrec .openrec-content {
  text-align: center;
  padding: 80px 0 28px
}

#openrec .openrec-content .headding {
  margin-top: 40px;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700
}

#openrec .openrec-content .info {
  margin-top: 32px;
  font-size: 16px;
  font-size: 1.6rem
}

#openrec .btn-appstore {
  margin-right: 30px;
  opacity: 1;
  transition: all .2s
}

#openrec .btn-appstore:hover,
#openrec .btn-googleplay:hover {
  opacity: .8
}

#openrec .btn-googleplay {
  transition: all .2s
}

#openrec #point-01 {
  background: url(../images/openrec/openrec-bg-section-01.png);
  height: 478px;
  padding-top: 90px
}

#openrec #point-01 .conte-inner ul {
  zoom: 1
}

#openrec #point-01 .conte-inner ul li {
  float: left;
  width: 125px;
  text-align: center;
  margin: 0 65px
}

#openrec #point-01 .conte-inner ul li div {
  width: 125px;
  height: 125px;
  background: #fff;
  border-radius: 50%;
  position: relative
}

#openrec #point-01 .conte-inner ul li:last-child {
  margin-left: 0
}

#openrec #point-01 small {
  display: inline-block;
  font-size: 13px;
  font-size: 1.3rem;
  margin-bottom: 40px
}

#openrec #point-02 {
  background-color: #f4f3f3;
  padding-top: 70px
}

#openrec #point-02 .conte-inner {
  background: url(../images/openrec/openrec-bg-section-02.png);
  background-repeat: no-repeat;
  background-position: left top;
  height: 440px;
  padding-bottom: 80px
}

#openrec #point-02 .inner-pt01 {
  width: 508px;
  margin: 0 0 0 auto
}

#openrec #point-02 small {
  line-height: 1.5;
  margin-top: -30px;
  display: block;
  padding-bottom: 15px
}

#openrec #point-03 {
  min-width: 1024px;
  padding-top: 70px
}

#openrec #point-03 .conte-inner {
  background: url(../images/openrec/openrec-bg-section-03.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  height: 490px
}

#openrec #point-03 small {
  font-size: 14px;
  font-size: 1.4rem
}

#openrec #point-03 .inner-pt02 {
  width: 682px
}

#openrec #point-04 {
  background-color: #f4f3f3;
  padding-top: 70px
}

#openrec #point-04 .conte-inner {
  background: url(../images/openrec/openrec-bg-section-04.png);
  background-repeat: no-repeat;
  min-width: 1024px;
  height: 390px
}

#openrec #point-04 .inner-pt02 {
  margin: 0 0 0 auto
}

#openrec #conv-area {
  text-align: center;
  padding: 60px 0
}

#openrec #conv-area .btn-red {
  width: 300px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 50px;
  margin: 40px auto
}

#openrec #conv-area .btn-arr-red {
  width: 122px;
  display: inline-block
}

#openrec .global-footer-sitemap,
#openrec .global-footer-sns {
  display: none
}

#openrec .global-footer-copy .fl {
  width: auto
}

#fox .conte-inner {
  width: 1024px;
  margin: 0 auto;
  position: relative
}

#fox .global-footer-sitemap,
#fox .global-footer-sns {
  display: none
}

#fox .home-link {
  font-size: 12px;
  font-size: 1.2rem;
  color: #2c2c2c
}

#fox .home-link .icon {
  padding-bottom: 1px;
  margin-right: 5px
}

#fox .btn.btn-foxblack,
#fox .btn.btn-foxblue {
  display: inline-block;
  background-color: #1385d3;
  opacity: 1;
  transition: all .2s
}

#fox .btn.btn-foxblue.small {
  width: 142px;
  padding: 10px 0 11px;
  font-size: 12px;
  font-size: 1.2rem;
  position: relative
}

#fox .btn.btn-foxblue.small:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  background-image: url(../images/icon.png);
  background-position: -440px -294px;
  background-size: 560px 523px;
  width: 7px;
  height: 8px;
  transform: translate(0, -50%)
}

#fox .btn.btn-foxblue.medium {
  width: 230px;
  padding: 11px 0;
  font-size: 15px;
  font-size: 1.5rem;
  position: relative
}

#fox .btn.btn-foxblack.small:before,
#fox .btn.btn-foxblue.big:before,
#fox .btn.btn-foxblue.medium2:before,
#fox .btn.btn-foxblue.medium:before,
#fox .link-bluearrow:before,
.fox-child .link-bluearrow:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 20px;
  background-image: url(../images/icon.png);
  background-position: -440px -294px;
  background-size: 560px 523px;
  width: 7px;
  height: 8px;
  transform: translate(0, -50%)
}

#fox .btn.btn-foxblue.big,
#fox .btn.btn-foxblue.medium2 {
  padding: 16px 28px 16px 38px;
  font-size: 18px;
  font-size: 1.8rem;
  position: relative
}

#fox .btn.btn-foxblue.big {
  width: 466px;
  padding: 14px 0 13px
}

#fox .btn.btn-foxblack {
  background-color: #142128
}

#fox .btn.btn-foxblack.small {
  width: 142px;
  padding: 10px 0 11px;
  font-size: 12px;
  font-size: 1.2rem;
  position: relative
}

#fox .btn.btn-foxblack.small:before,
#fox .link-bluearrow:before,
.fox-child .link-bluearrow:before {
  left: 10px
}

#fox .btn.btn-foxblack:hover {
  opacity: .8
}

#fox .link-bluearrow,
.fox-child .link-bluearrow {
  position: relative;
  padding-left: 20px;
  color: #585858;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  transition: all .2s
}

#fox .link-bluearrow:before,
.fox-child .link-bluearrow:before {
  left: 0;
  background-position: -516px -262px;
  width: 13px;
  height: 13px
}

#fox .fox-header nav ul li a:hover,
#fox .link-bluearrow:hover,
.fox-child .link-bluearrow:hover {
  color: #1385d3
}

#fox .section-icon {
  background-color: #1385d3;
  color: #fff;
  font-size: 13px;
  font-size: 1.3rem;
  width: 100px;
  padding: 11px 0 10px;
  font-style: normal;
  display: inline-block;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0
}

#fox .fox-header {
  overflow: hidden;
  padding: 20px 0 23px
}

#fox .fox-header .icon-fox-logo {
  float: left
}

#fox .fox-header .buttons {
  float: right;
  padding-top: 3px
}

#fox .fox-header .buttons a {
  margin-right: 20px
}

#fox .fox-header .buttons a:last-child {
  margin-right: 20px
}

#fox .fox-header nav {
  display: inline-block;
  padding-top: 11px
}

#fox .fox-header nav ul li {
  float: left;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 0 30px;
  position: relative
}

#fox .fox-header nav ul li a {
  color: #142128;
  transition: all .2s
}

#fox .fox-header nav ul li:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #ccc
}

#fox .fox-header nav ul li:last-child:after {
  width: 0
}

#fox .main-visual {
  background-color: #07222f;
  background-image: url(../images/fox/fox-mv-earth.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  position: relative;
  min-height: 485px
}

#fox .fox-content,
#fox .main-visual .conte-inner,
.fox-child {
  position: relative
}

#fox .main-visual .heading {
  position: absolute;
  top: 129px;
  opacity: 0
}

#fox .main-visual .button,
#fox .main-visual .mv-mock {
  position: absolute;
  top: 300px;
  opacity: 0
}

#fox .main-visual .mv-mock {
  top: 78px;
  right: 0
}

#fox .fox-content.about {
  text-align: center;
  max-width: 1524px;
  margin: 0 auto
}

#fox .fox-content.about .heading {
  padding-top: 74px;
  font-size: 28px;
  font-size: 2.8rem;
  opacity: 0
}

#fox .fox-content.about .info {
  margin-top: 34px;
  font-size: 16px;
  font-size: 1.6rem;
  text-align: center;
  line-height: 2;
  opacity: 0
}

#fox .fox-content.about .img {
  margin-top: 70px
}

#fox .fox-content.about figure {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  display: block;
  overflow: hidden
}

#fox .fox-content.contact .heading,
#fox .fox-content.point .heading,
.fox-child .section-icon {
  text-align: center;
  background-color: #07222f;
  padding: 100px 0 96px;
  color: #fff;
  font-size: 28px;
  font-size: 2.8rem
}

#fox .fox-content.contact .heading,
.fox-child .section-icon {
  padding: 100px
}

#fox .fox-content.contact .content-box {
  text-align: center;
  padding: 80px 0
}

#fox .fox-content.contact .info {
  font-size: 16px;
  font-size: 1.6rem
}

#fox .fox-content.contact .button-contact,
#fox .fox-content.contact .button-sdk {
  margin-top: 28px
}

#fox .fox-content .caption {
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.5;
  display: inline-block;
  margin-top: 10px;
  margin-bottom: 30px
}

#fox .feature {
  min-height: 330px;
  overflow: hidden;
  box-sizing: border-box
}

#fox .feature .title {
  font-size: 21px;
  font-size: 2.1rem;
  color: #585858
}

#fox .feature .info {
  margin-top: 22px;
  font-size: 14px;
  font-size: 1.4rem;
  color: #585858;
  line-height: 2
}

#fox .feature .img {
  line-height: 1
}

#fox .feature .button {
  margin-top: 24px
}

#fox .feature.img-right .content-box {
  float: left;
  width: 510px
}

#fox .feature.img-right .img {
  float: right
}

#fox .feature.img-left .img {
  float: left
}

#fox .feature.img-left .content-box {
  margin-left: 515px;
  width: 510px
}

#fox .feature.feature01 {
  padding-top: 52px
}

#fox .feature.feature01 .content-box {
  margin-top: 40px
}

#fox .feature.feature01 .img {
  margin-top: 28px
}

#fox .feature.feature02 {
  background-color: #f0f0f0
}

#fox .feature.feature02 .content-box {
  margin-top: 106px
}

#fox .feature.feature03 {
  padding-top: 52px
}

#fox .feature.feature03 .content-box {
  margin-top: 30px
}

#fox .feature.feature03 .img {
  margin-top: 2px
}

#fox .feature.feature04 {
  padding-top: 52px;
  background-color: #f0f0f0
}

#fox .feature.feature04 .content-box {
  padding-top: 40px
}

#fox .feature.feature05 {
  padding-top: 107px;
  padding-bottom: 107px;
  border-bottom: 1px solid #d5d5d5
}

#fox .feature.feature05 .content-box {
  padding-top: 20px
}

.fox-child {
  width: 938px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 5px;
  padding: 32px 45px 45px;
  color: #585858
}

.fox-child .section-icon {
  background-color: #1385d3;
  font-size: 13px;
  font-size: 1.3rem;
  padding: 11px 10px 10px;
  font-style: normal;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 45px
}

.fox-child .fox-child-header {
  overflow: hidden
}

.fox-child .fox-child-header .icon-fox-close {
  position: absolute;
  right: 0;
  top: 0
}

.fox-child .fox-child-header .heading {
  margin-top: 30px;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 30px
}

.fox-child .fox-child-header .lead {
  font-size: 14px;
  font-size: 1.4rem;
  margin-bottom: 30px
}

.fox-child .fox-child-content {
  border-top: 1px solid rgba(88, 88, 88, .3);
  padding-top: 50px;
  overflow: hidden;
  min-height: 316px
}

.fox-child .fox-child-content .content-heading {
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1.5;
  margin-top: -9px
}

.fox-child .fox-child-content .content-text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2;
  margin-top: 27px
}

.fox-child .fox-child-content .content-left {
  width: 420px;
  float: left
}

.fox-child .fox-child-content .content-left + .img {
  float: none;
  margin-left: 471px
}

.fox-child .fox-child-content .content-portrait {
  margin-bottom: 40px
}

.fox-child .fox-child-content .img {
  float: left
}

.fox-child .fox-child-content .img + .content-right {
  margin-left: 525px
}

.fox-child .report-box {
  width: 443px;
  float: left
}

.fox-child .report-box:nth-child(2n-1) {
  margin-right: 45px
}

.fox-child .report-box .image {
  width: 100%;
  height: 130px;
  background-color: #f7f5f6;
  position: relative
}

.fox-child .report-box .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.fox-child .report-box .title {
  padding-left: 10px;
  font-size: 18px;
  font-size: 1.8rem;
  margin-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(88, 88, 88, .3)
}

.fox-child .report-box .info {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 16px 12px;
  line-height: 2;
  min-height: 116px;
  box-sizing: border-box
}

.fox-popup,
.fox-popup-wrapper {
  width: 100%;
  height: 100%;
  position: absolute
}

.fox-popup-wrapper {
  background-color: #000;
  top: 0;
  left: 0;
  z-index: 10000;
  display: none
}

.fox-popup {
  padding: 20px 0;
  box-sizing: border-box;
  border-radius: 5px
}

.icon-fox-close {
  cursor: pointer
}

#foxChild {
  min-width: 0
}

#colorbox {
  position: absolute
}

#cboxOverlay,
#cboxWrapper,
#colorbox {
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden
}

#cboxWrapper {
  position: absolute;
  max-width: none
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%
}

#cboxBottomLeft,
#cboxMiddleLeft {
  clear: left
}

#cboxContent {
  position: relative
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch
}

#cboxTitle {
  margin: 0
}

#cboxLoadingGraphic,
#cboxLoadingOverlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

#cboxClose,
#cboxNext,
#cboxPrevious,
#cboxSlideshow {
  cursor: pointer
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  background: #fff
}

#cboxContent,
#cboxLoadedContent,
#colorbox {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box
}

#cboxOverlay {
  background-color: #000
}

#cboxClose:active,
#cboxNext:active,
#cboxPrevious:active,
#cboxSlideshow:active,
#colorbox {
  outline: 0
}

#cboxContent {
  background: #fff;
  overflow: hidden
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc
}

#cboxCurrent,
#cboxTitle {
  position: absolute;
  bottom: 4px;
  color: #949494
}

#cboxTitle {
  text-align: center;
  width: 100%;
  left: 0
}

#cboxCurrent {
  left: 58px
}

#cboxClose,
#cboxNext,
#cboxPrevious,
#cboxSlideshow {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: 0 0
}

#cboxSlideshow {
  position: absolute;
  bottom: 4px;
  right: 30px;
  color: #0092ef
}

#cboxClose:hover {
  background-position: -25px -25px
}

.lower-header {
  height: 480px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative
}

.lower-header-text {
  color: #fff;
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1064px;
  padding-left: 40px
}

.lower-header-text-upper {
  font-size: 41px;
  font-size: 4.1rem;
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 16px
}

.lower-header-text-lower {
  font-size: 18px;
  font-size: 1.8rem
}

.text-service-top-lead,
.text-service-top-text {
  text-align: center;
  font-weight: 700;
  line-height: 2.13
}

.text-service-top-text {
  margin-top: 20px;
  font-size: 1.5rem
}

.text-service-top-lead {
  font-size: 2rem
}

.text-header-center {
  text-align: center;
  margin-botom: 20px
}

.text-sub-service {
  width: 700px;
  display: block;
  margin: auto
}

.text-recruit-top-lead,
.text-recruit-top-text {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.13
}

.text-recruit-top-text {
  font-size: 1.5rem;
  margin-top: 20px
}

.text-coc-top-lead,
.text-coc-top-text {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.366
}

.text-coc-top-lead {
  margin: 20px auto 0;
  width: 219px;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  letter-spacing: 0
}

.text-coc-top-text {
  text-align: center;
  font-weight: 700;
  letter-spacing: .045em;
  margin-top: 36px
}