.js-header-logo2 {
    display: none
}
.js-header._js-active {
    background-color: #fff
}
.js-header._js-active * {
    color: #2e2e2e
}
.js-header._js-active .js-header-logo1 {
    display: none
}
.js-header._js-active .js-header-logo2 {
    display: block
}
html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    line-height: 1.15
}
body {
    background-color: #232323;
    color: #232323;
    font-family: Oswald, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.3;
    margin: 0;
    box-sizing: border-box
}
body._nobanner {
    margin-bottom: 0
}
* {
    box-sizing: border-box
}
a {
    transition: .3s;
    background-color: transparent;
    text-decoration: none
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
details, main {
    display: block
}
h1 {
    font-size: 2em;
    margin: .67em 0
}
hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}
code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em
}
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}
b, strong {
    font-weight: bolder
}
small {
    font-size: 80%
}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}
sub {
    bottom: -.25em
}
sup {
    top: -.5em
}
img {
    max-width: 100%;
    border-style: none;
    display: block
}
button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}
button, input {
    overflow: visible
}
button, select {
    text-transform: none
}
[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0
}
[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: ButtonText dotted 1px
}
fieldset {
    padding: .35em .75em .625em
}
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}
progress {
    vertical-align: baseline
}
textarea {
    overflow: auto
}
[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto
}
[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}
summary {
    display: list-item
}
[hidden], template {
    display: none
}
dd, dl, dt, li, ul {
    margin: 0;
    padding: 0
}
ul {
    list-style: none
}
figure {
    margin: 0
}
.btn {
    align-items: center;
    display: flex;
    font-size: 17px;
    font-weight: 600;
    height: 40px;
    justify-content: center;
    padding-right: 50px;
    position: relative;
    transition: .3s;
    width: 214px
}
.btn::before {
    content: "\e900";
    font-family: icomoon_right2;
    font-size: 18px;
    position: absolute;
    right: 25px;
    top: 48.5%;
    transform: translateY(-50%)
}
.btn._hidden {
    display: none
}
.btn._header {
    background-color: #f13828;
    color: #fff;
    font-size: 27px;
    height: 46px;
    width: 180px
}
.btn._header:hover {
    background-color: #fff;
    color: #f13828
}
.btn._red {
    background-color: #f13828;
    color: #fff
}
.btn._red:hover {
    background-color: #fff;
    color: #f13828
}
.btn._black {
    background-color: #00000a;
    color: #fff
}
.btn._black:hover {
    background-color: #fff;
    color: #00000a
}
.btn._white {
    background-color: #fff;
    color: #f13828
}
.btn._white:hover {
    background-color: #f13828;
    color: #fff
}
.btn._product {
    background-color: #002c44;
    color: #f13828
}
.btn._product:hover {
    background-color: #f13828;
    color: #002c44
}
.btn._cta {
    background-color: #fff;
    color: #f13828;
    height: 54px;
    width: 180px
}
.btn._cta:hover {
    background-color: #f13828;
    color: #fff
}
.btn._footer {
    color: #fff;
    font-size: 20px;
    height: auto;
    width: auto
}
.btn._footer::after {
    top: 61.5%
}
.btn._footer:hover {
    opacity: .4
}
.btn._recruit {
    border: 1px solid #f13828;
    font-size: 17px;
    height: 45px;
    width: 180px
}
.btn._recruit._in {
    background-color: #232323;
    color: #f13828
}
.btn._recruit._in:hover {
    background-color: #f13828;
    color: #232323
}
.btn._recruit._in::before {
    content: "\e901";
    font-family: icomoon_singleArrow;
    font-size: 14px
}
.btn._recruit._out {
    background-color: #f13828;
    color: #232323
}
.btn._recruit._out:hover {
    background-color: #232323;
    color: #f13828
}
.btn._recruitCta {
    background-color: #f13828;
    color: #fff;
    height: 80px;
    width: 207px
}
.btn._recruitCta:hover {
    background-color: #fff;
    color: #f13828
}
.btn._banner {
    background-color: #fff;
    border: 2px solid #fff;
    color: #232323;
    height: 45px;
    width: 160px
}
.btn._banner:hover {
    background-color: #fff;
    color: #f13828
}
.btn._lg {
    background-color: #f13828;
    border: 2px solid #f13828;
    color: #fff;
    height: 87px;
    width: 350px
}
.btn._lg:hover {
    background-color: #fff;
    color: #f13828
}
.cta {
    background: url(/img/cta_bg.png) center/cover no-repeat;
    height: 675px;
    overflow-x: hidden;
    padding-top: 133px
}
.cta-block {
    margin: 0 0 0 auto;
    max-width: 100%;
    width: 530px
}
.cta-tit {
    color: #fff;
    font-size: 40px;
    line-height: 1.33333;
    margin: 0;
    position: relative;
    z-index: 0
}
.cta-tit span {
    bottom: -10px;
    color: #f13828;
    font-size: 170px;
    left: -30px;
    line-height: 1;
    opacity: .4;
    position: absolute;
    z-index: -1
}
.cta-btn {
    display: flex;
    justify-content: center;
    margin: 40px 0 0
}
.cta-btn a {
    margin: 0 8px
}
.footer {
    background-color: #142c44;
    color: #fff;
    padding: 55px 0
}
.footer-inner {
    display: flex;
    justify-content: space-between
}
.footer-logo {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 0
}
.footer-logo img {
    max-width: 100%;
    width: 454px
}
.footer-txt {
    line-height: 1.8125;
    margin: 45px 0 0
}
.footer-txt a {
    color: #f66f5e
}
.footer-btn {
    display: flex;
    margin: 30px 0 0
}
.footer-copy {
    margin: 25px 0 0
}
.footer-menu {
    display: flex;
    padding-top: 20px
}
.footer-menu-list:not(:first-of-type) {
    margin-left: 75px
}
.footer-menu-item {
    font-size: 13px;
    text-align: right
}
.footer-menu-item:not(:first-of-type) {
    margin-top: 25px
}
.footer-menu-item span {
    display: block;
    font-size: 20px
}
.footer-menu-item a {
    color: #fff
}
.footer-menu-item a:hover {
    opacity: .4
}
.fv {
    position: relative
}
.fv-bg {
    width: 100%
}
.fv-txt {
    bottom: -30px;
    height: 100%;
    left: 50%;
    position: absolute;
    transform: translateX(-50%)
}
.fv-banner {
    display: block;
    position: absolute;
    right: 75px;
    top: 145px;
    width: 321px
}
.fv-banner:hover {
    opacity: .4
}
.fv-banner img {
    width: 100%
}
.fv2 {
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    height: 468px;
    justify-content: center;
    margin-bottom: 150px;
    margin-top: 125px;
    width: 100%;
    z-index: 0
}
.fv2._company {
    background-image: url(/img/company/fv2_bg.jpg)
}
.fv2._product {
    background-image: url(/img/product/fv2_bg.png)
}
.fv2._person {
    background-image: url(/img/person/fv2_bg.png)
}
.fv2._person .fv2-tit {
    left: 0;
    right: auto;
    text-align: left
}
.fv2._recruit {
    background-image: url(/img/recruit/fv2_bg.png)
}
.fv2._recruit .fv2-tit {
    left: 0;
    right: auto;
    text-align: left
}
.fv2._question {
    background-image: url(/img/question/fv2_bg.png);
    height: 593px
}
.fv2._question .fv2-tit {
    bottom: -50px;
    line-height: .8;
    right: 50%;
    text-align: center;
    transform: translateX(50%)
}
.fv2._question .fv2-tit span {
    color: rgba(255, 255, 255, .4)
}
.fv2._question .fv2-tit img {
    max-width: 100vw;
    position: relative;
    top: 30px;
    width: 95vw
}
.fv2-inner {
    height: 100%;
    margin: 0 auto;
    max-width: 100%;
    position: relative;
    width: 1080px
}
.fv2-tit {
    bottom: -150px;
    color: #fff;
    font-size: 30px;
    margin: 0;
    position: absolute;
    right: 0;
    text-align: right
}
.fv2-tit span {
    color: #f13828;
    display: block;
    font-size: 170px
}
.header {
    height: 125px;
    padding: 0 85px;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1001
}
.header._subpage {
    background-color: #232323
}
.header-inner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between
}
.header-logo img {
    width: 313px
}
.header-wrap {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between
}
.header-menu {
    align-items: center;
    cursor: pointer;
    display: flex;
    margin-left: 40px
}
.header-menu img {
    width: 35px
}
.header-menu span {
    color: #fff;
    font-size: 27px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1;
    margin-left: 10px
}
.inner {
    margin: 0 auto;
    max-width: 100%;
    width: 1080px
}
.main {
    padding-bottom: 100px
}
.main._bg2 {
    background-color: #d7d7d7
}
.main._bgBlack {
    background: linear-gradient(180deg, #232323 0, #232323 9.5%, #000 9.5%, #000 100%);
    background-color: #000
}
.main._pb0 {
    padding-bottom: 0
}
.menu {
    background-color: #142c44;
    height: 100vh;
    padding: 100px 50px;
    position: fixed;
    right: -100vw;
    top: 0;
    transition: left .5s, right .5s;
    width: 100vw
}
.menu-close {
    cursor: pointer;
    position: absolute;
    right: 55px;
    top: 55px;
    width: 54px
}
.menu-content {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 100%;
    width: 670px
}
.menu-logo {
    display: block;
    width: 313px
}
.menu-logo img {
    width: 100%
}
.menu-btn {
    display: flex;
    justify-content: center;
    margin: 45px 0 0
}
.menu-link {
    margin: 110px 0 0
}
.menu-link a {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: 20px;
    justify-content: center
}
.menu-link a:hover {
    opacity: .4
}
.menu-link img {
    margin-left: 5px;
    width: 20px
}
.menu-list {
    color: #fff;
    margin-top: 30px
}
.menu-item {
    font-size: 13px
}
.menu-item span {
    display: block;
    font-size: 20px
}
.menu-item a {
    color: inherit
}
.menu-item a:hover {
    opacity: .4
}
.menu-item:not(:first-of-type) {
    margin-top: 50px
}
.pager {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 60px
}
.pager-next, .pager-prev {
    color: #232323;
    font-size: 14px;
    line-height: 1
}
.pager-next._notactive, .pager-prev._notactive {
    opacity: .5
}
.pager-prev {
    margin-right: 12.5px
}
.pager-next {
    margin-left: 12.5px
}
.pager-list {
    align-items: center;
    display: flex;
    justify-content: center
}
.pager-item {
    margin: 0 12.5px
}
.pager-item a {
    color: #232323;
    font-size: 14px;
    line-height: 1
}
.pager-current {
    align-items: center;
    background-color: #008700;
    border-radius: 50%;
    color: #fff;
    display: flex;
    height: 25px;
    justify-content: center;
    line-height: 1;
    width: 25px
}
.paging {
    display: flex;
    justify-content: space-between;
    margin-top: 80px
}
.paging-tit {
    color: #232323;
    font-weight: 600
}
.paging-tit:hover {
    opacity: .7
}
.paging-tit._prev:before {
    content: '\f053';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 15px
}
.paging-tit._next:after {
    content: '\f054';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 15px
}
.spmenu {
    align-items: center;
    background-color: rgba(255, 255, 255, .9);
    display: flex;
    flex-direction: column;
    height: 100vh;
    justify-content: center
}
.spmenu-list {
    padding-bottom: 94px;
    position: relative;
    text-align: center
}
.spmenu-list::after {
    background-color: #c4c4c4;
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 57px
}
.spmenu-item {
    align-items: center;
    display: flex;
    height: 45px;
    justify-content: center;
    margin-top: 16px;
    width: 230px
}
.spmenu-item:first-of-type {
    margin-top: 0
}
.spmenu-item a {
    color: #232323;
    font-size: 21px;
    font-weight: 600
}
.spmenu-logo {
    margin-top: 81px;
    width: 120px
}
.spmenu-txt {
    color: #1c1c1c;
    font-size: 13px;
    line-height: 1.6;
    margin-top: 30px;
    opacity: .5
}
.spmenu-copy {
    color: #1c1c1c;
    font-size: 12px;
    margin-top: 71px;
    opacity: .5
}
.sptoggle {
    cursor: pointer;
    display: block;
    height: 51px;
    position: absolute;
    right: 13px;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    z-index: 1003
}
.sptoggle span {
    border-bottom: 3px solid #232323;
    display: block;
    left: 6px;
    position: absolute;
    transition: top, left, transform .35s ease-in-out;
    width: 30px
}
.sptoggle span:nth-child(1) {
    top: 9px
}
.sptoggle span:nth-child(2) {
    top: 18px
}
.sptoggle span:nth-child(3) {
    top: 27px
}
.sptoggle span:nth-child(4) {
    border: none;
    font-size: 9px;
    font-weight: 600;
    top: 34px
}
.sptoggle._js-active span {
    border-bottom: 3px solid #2e2e2e
}
.sptoggle._js-active span:nth-child(1) {
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    left: 6px;
    top: 18px;
    transform: rotate(-45deg)
}
.sptoggle._js-active span:nth-child(2), .sptoggle._js-active span:nth-child(3) {
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    top: 18px;
    transform: rotate(45deg)
}
.sptoggle._js-active2 span {
    border-bottom: 3px solid #2e2e2e
}
.totop {
    bottom: 185px;
    position: fixed;
    right: 30px;
    z-index: 100
}
.totop img {
    width: 54px
}
.twocol {
    display: flex
}
.twocol-left, .twocol-right {
    width: 100%
}
.archive {
    padding: 220px 0 0
}
.archive-tit {
    color: #fff;
    font-size: 30px;
    margin: 0 0 0 55px
}
.archive-tit span {
    color: #f13828;
    display: block;
    font-size: 170px
}
.archive-blocks {
    margin-top: 105px
}
.archive-block {
    background-color: #3c3c3c;
    padding: 115px 20px 120px
}
.archive-block:not(:first-of-type) {
    margin-top: 110px
}
.archive-block-inner {
    margin: 0 auto;
    max-width: 100%;
    width: 593px
}
.archive-block-date {
    color: #f13828;
    font-size: 30px;
    margin: 0;
    text-align: center
}
.archive-block-tit {
    color: #fff;
    font-size: 40px;
    font-weight: 400;
    line-height: 1.5;
    text-align: center
}
.archive-block-content {
    color: #fff;
    margin-top: 40px
}
.archive-block-content>:first-child {
    margin-top: 0
}
.archive-block-content>:last-child {
    margin-bottom: 0
}
.archive-block-content p {
    line-height: 1.75
}
.companyAccess {
    margin-top: 220px
}
.companyAccess-tit {
    color: #fff;
    font-size: 30px;
    margin: 0
}
.companyAccess-tit span {
    color: #f13828;
    display: block;
    font-size: 110px;
    font-weight: 600
}
.companyAccess-map {
    margin-top: 25px
}
.companyAccess-map iframe {
    filter: grayscale(100%);
    height: 700px;
    width: 100%
}
.companyHistory {
    margin-top: 220px
}
.companyHistory-heading {
    background: url(/img/company/history_bg.png) left/contain no-repeat;
    height: 330px;
    position: relative
}
.companyHistory-tit {
    bottom: -15px;
    color: #fff;
    font-size: 30px;
    margin: 0;
    position: absolute;
    right: 0
}
.companyHistory-tit span {
    color: #f13828;
    display: block;
    font-size: 90px
}
.companyHistory-table {
    border-collapse: collapse;
    margin: 115px auto 0
}
.companyHistory-table td, .companyHistory-table th {
    vertical-align: top
}
.companyHistory-table th {
    border-bottom: 1px solid #f13828;
    color: #f13828;
    font-size: 28px;
    font-weight: 100;
    padding: 15px
}
.companyHistory-table td {
    border-bottom: 1px solid #f13828;
    color: #fff;
    font-size: 18px;
    padding: 20px 25px
}
.companyHistory-date {
    width: 185px
}
.companyHistory-flex {
    align-items: flex-end;
    display: flex;
    font-size: 15px;
    margin-top: 40px
}
.companyHistory-flex._top {
    align-items: flex-start
}
.companyHistory-block {
    width: calc(50% - 5px)
}
.companyHistory-block:not(:first-of-type) {
    margin-left: 10px
}
.companyHistory-block span {
    display: inline-block;
    margin-top: 5px
}
.companyHistory-redtxt {
    color: #f13828
}
.companyInfo {
    margin-top: 213px
}
.companyInfo-heading {
    background: url(/img/company/info_bg.jpg) right center/90% auto no-repeat;
    height: 520px;
    padding-top: 60px
}
.companyInfo-tit {
    color: #fff;
    font-size: 30px;
    margin: 0
}
.companyInfo-tit span {
    color: #f13828;
    display: block;
    font-size: 110px;
    font-weight: 600
}
.companyInfo-info {
    margin: 120px auto 0;
    max-width: 100%;
    width: 780px
}
.companyInfo-dlist {
    display: flex;
    font-size: 18px;
    justify-content: space-between
}
.companyInfo-dlist:not(:first-of-type) {
    margin-top: 18px
}
.companyInfo-ditem, .companyInfo-dtit {
    padding-bottom: 12px
}
.companyInfo-dtit {
    border-bottom: 2px solid #f13828;
    color: #f13828;
    min-width: 100px;
    width: 28%
}
.companyInfo-ditem {
    border-bottom: 1px solid #fff;
    color: #fff;
    width: 66%
}
.companyInfo-ditem a {
    color: #f66f5e
}
.companyMessage {
    padding-top: 68px
}
.companyMessage-top {
    background-image: url(/img/company/message_pic.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 90% auto;
    padding-top: 180px
}
.companyMessage-block {
    margin: 0 0 0 auto;
    width: 40%
}
.companyMessage-tit {
    color: #fff;
    font-size: 30px;
    margin: 0
}
.companyMessage-tit span {
    color: #f13828;
    display: block;
    font-size: 110px;
    font-weight: 600
}
.companyMessage-lgtxt {
    color: #fff;
    font-size: 33px;
    line-height: 1.71429;
    margin: 120px 0 0
}
.companyMessage-txt {
    color: #fff;
    line-height: 1.75;
    margin: 45px 0 0
}
.companyMessage-subtit {
    color: #f13828;
    font-size: 90px;
    font-weight: 100;
    margin: 60px 0 0
}
.contact {
    padding: 285px 0 130px
}
.contact-box {
    background-color: #e6e6e9;
    padding: 90px 65px
}
.contact-tit {
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
    margin: 0;
    position: relative
}
.contact-tit span {
    color: #f13828;
    display: block;
    font-size: 170px;
    font-weight: 600;
    left: 0;
    position: absolute;
    top: calc(-1em - 20px)
}
.contact-banner {
    align-items: center;
    display: flex;
    font-size: 18px;
    margin: 0 0 65px
}
.contact-banner img {
    margin-left: 30px;
    width: 160px
}
.contact-form {
    margin: 90px auto 0;
    max-width: 100%;
    width: 811px
}
.contact-block {
    align-items: center;
    display: flex
}
.contact-block:not(:first-of-type) {
    margin-top: 35px
}
.contact-block:not(:last-of-type) {
    border-bottom: .5px solid #232323;
    padding-bottom: 35px
}
.contact-block._flexTop {
    align-items: flex-start
}
.contact-ftit {
    flex-grow: 1;
    flex-shrink: 0;
    font-size: 18px;
    margin: 0 20px 0 50px;
    position: relative
}
.contact-ftit span {
    align-items: center;
    background-color: #f13828;
    color: #fff;
    display: flex;
    font-size: 10px;
    height: 20px;
    justify-content: center;
    left: -50px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px
}
.contact-fitem {
    border: none;
    font-size: 18px;
    max-width: 100%;
    width: 551px
}
.contact-fitem._flexColumn {
    flex-direction: column
}
.contact-fitem._select span {
    width: auto
}
.contact-fitem._block {
    display: block
}
.contact input {
    border: none;
    height: 40px;
    padding: 12px 18px;
    width: 100%
}
.contact input[type=radio] {
    height: auto
}
.contact select {
    border: none;
    height: 40px;
    width: 90px
}
.contact select._gakureki {
    width: 218px
}
.contact-submit {
    height: 87px;
    margin: 130px auto 0;
    max-width: 100%;
    position: relative;
    width: 415px
}
.contact-submit::before {
    color: #fff;
    content: "\e900";
    font-family: icomoon_right2;
    font-size: 18px;
    position: absolute;
    right: 25px;
    top: 48.5%;
    transform: translateY(-50%)
}
.contact-submit:hover::before {
    color: #f13828
}
.contact input[type=submit] {
    align-items: center;
    background-color: #f13828;
    border: none;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 18px;
    height: 100%;
    justify-content: center;
    transition: .3s;
    width: 100%
}
.contact input[type=submit]:hover {
    background-color: #fff;
    color: #f13828
}
.contact textarea {
    border: none;
    height: 152px;
    padding: 12px 18px;
    width: 100%
}
.contact-txt {
    font-size: 15px;
    margin: 25px 0 0;
    padding-left: 1em;
    text-indent: -1em
}
.contact-birthTxt {
    margin: 0 20px 0 5px
}
.contact._check .contact-ftit span, .contact._check .contact-txt {
    display: none
}
.contact._check .contact-btnWrap {
    align-items: center;
    display: flex;
    justify-content: space-around
}
.contact._check .contact-submit {
    max-width: 100%;
    width: 350px
}
.contact._check .contact-back {
    height: 87px;
    margin: 130px auto 0;
    max-width: 100%;
    max-width: 100%;
    opacity: .5;
    position: relative;
    width: 350px
}
.contact._check .contact-back::before {
    color: #fff;
    content: "\e900";
    font-family: icomoon_right2;
    font-size: 18px;
    left: 25px;
    position: absolute;
    top: 48.5%;
    transform: translateY(-50%) rotate(180deg);
    z-index: 1
}
.contact._check .contact-back:hover::before {
    color: #f13828
}
.contact._check input[type=submit] {
    max-width: 100%;
    width: 350px
}
.contact-thanks {
    margin: 0 auto;
    max-width: 100%;
    width: 820px
}
.contact-thanks-tit {
    font-size: 23px;
    font-weight: 100;
    margin: 0
}
.contact-thanks-txt {
    font-size: 18px;
    line-height: 1.77778;
    margin: 45px 0 0
}
.contact-thanks-btn {
    display: flex;
    margin: 80px 0 0
}
.fpNews {
    background-color: #c2c2c2;
    height: 85px
}
.fpNews-inner {
    align-items: center;
    display: flex;
    height: 100%;
    margin: 0 auto;
    max-width: 100%;
    padding: 10px 45px;
    width: 1080px
}
.fpNews-tit {
    color: #142c44;
    font-size: 35px;
    margin: 0
}
.fpNews-news {
    align-items: center;
    color: #000;
    display: flex;
    margin-left: 40px
}
.fpNews-news:hover {
    opacity: .4
}
.fpNews-news-date {
    font-size: 25px;
    font-weight: 600
}
.fpNews-news-tit {
    font-size: 17px;
    margin: 0 0 0 15px
}
.fpperson {
    margin-top: 110px;
}
.fpperson-tit {
    color: #fff;
    font-size: 40px;
    line-height: 1.33333;
    margin: 65px 0 0;
    position: relative;
    text-align: center;
    z-index: 1
}
.fpperson-tit span {
    color: #f13828;
    font-size: 170px;
    left: 0;
    line-height: 1;
    position: absolute;
    top: 75%;
    transform: translateY(-50%);
    z-index: -1
}
.fpperson-img {
    margin-top: 15px
}
.fpperson-img img {
    width: 100%
}
.fpperson-btn {
    display: flex;
    justify-content: center;
    margin: 60px 0 0
}
.fpproduct {
    background: url(/img/frontpage/product_bg.jpg) center/cover no-repeat;
    margin-top: 120px;
    overflow-x: hidden;
    padding: 120px 0 55px
}
.fpproduct-tit {
    color: #fff;
    font-size: 34px;
    line-height: 1.33333;
    margin: 65px 0 0;
    position: relative;
    z-index: 1
}
.fpproduct-tit span {
    color: #f13828;
    font-size: 146px;
    left: -35px;
    line-height: 1;
    opacity: .4;
    position: absolute;
    top: -65px;
    z-index: -1
}
.fpproduct-txt {
    color: #fff;
    line-height: 1.75;
    margin: 70px 0 0
}
.fpproduct-btn {
    display: flex;
    margin: 80px 0 0
}
.fpquestion {
    background: url(/img/frontpage/question_bg.png) center/cover no-repeat;
    margin-top: 105px;
    overflow-x: hidden;
    padding: 140px 0 85px;
    text-align: center
}
.fpquestion-tit {
    color: #fff;
    font-size: 40px;
    margin: 0;
    position: relative
}
.fpquestion-tit span {
    color: #fff;
    font-size: 170px;
    left: 50%;
    opacity: .4;
    position: absolute;
    top: 30%;
    transform: translate(-50%, -50%)
}
.fpquestion-txt {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-color: #ffffa3;
    -webkit-text-stroke-width: 1px;
    color: #fff;
    font-size: 68px;
    line-height: 1.07353;
    margin: 80px 0 0
}
.fpquestion-btn {
    display: flex;
    justify-content: center;
    margin: 95px 0 0
}
.fpquestion-bg {
    display: none
}
.fpsec1 {
    overflow-x: hidden;
    overflow-y: auto;
    padding-top: 120px
}
.fpsec1-inner {
    position: relative
}
.fpsec1-img {
    height: 100%;
    left: calc(calc(100vw - 100%)/ -2);
    position: absolute;
    width: calc(45% + calc(100vw - 100%)/ 2)
}
.fpsec1-img img {
    height: 100%;
    object-fit: cover;
    width: 100%
}
.fpsec1-sentense {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0 0 0 auto;
    width: calc(55% - 80px)
}
.fpsec1-tit {
    color: #fff;
    font-size: 39px;
    line-height: 1.33333;
    margin: 65px 0 0;
    position: relative
}
.fpsec1-tit span {
    color: #f13828;
    font-size: 146px;
    left: -30px;
    line-height: 1;
    opacity: .4;
    position: absolute;
    top: -110px;
    z-index: -1
}
.fpsec1-lgtxt {
    color: #f13828;
    font-size: 50px;
    font-weight: 100;
    margin: 60px 0 0
}
.fpsec1-txt {
    color: #fff;
    line-height: 1.75;
    margin: 30px 0 0
}
.fpsec1-btn {
    display: flex;
    margin: 75px 0 0
}
.fpsec1._reverse .fpsec1-img {
    left: auto;
    right: calc(calc(100vw - 100%)/ -2)
}
.fpsec1._reverse .fpsec1-sentense {
    margin: 0 auto 0 0
}
.fpsec2 {
    display: flex;
    justify-content: space-between;
    margin-top: 190px
}
.fpsec2-block {
    width: calc((100% / 2) - (35px - 35px/ 2))
}
.fpsec2-block:hover {
    opacity: .4
}
.fpsec2-block img {
    border-radius: 10px
}
.fpsec2-tit {
    color: #fff;
    font-size: 40px;
    line-height: 1;
    margin: -33px 0 0;
    position: relative;
    z-index: 0
}
.fpsec2-tit span {
    color: #f13828;
    font-size: 80px;
    left: 30px;
    position: relative;
    z-index: -1
}
.parents-fv {
    background: url(/img/parents/fv_bg.png) right bottom/854px auto no-repeat;
    height: 698px;
    margin-top: 125px
}
.parents-fv-inner {
    align-items: center;
    display: flex;
    height: 100%;
    margin: 0 auto;
    max-width: 100%;
    padding-top: 95px;
    width: 1080px
}
.parents-fv-tit {
    color: #232323;
    font-size: 30px;
    margin: 0
}
.parents-fv-tit span {
    color: #f13828;
    display: block;
    font-size: 170px;
    line-height: 1
}
.parents-inner {
    margin: 0 auto;
    max-width: 100%;
    padding: 115px 0 120px;
    width: 891px
}
.parents-2col {
    display: flex;
    justify-content: space-between
}
.parents-2col-block {
    width: calc((100% / 2) - (70px - 70px/ 2))
}
.parents-2col-block>:first-of-type {
    margin-top: 0
}
.parents-txt {
    font-size: 18px;
    line-height: 1.77778;
    margin: 45px 0 0
}
.parents-img {
    margin-top: 70px
}
.parents-img img {
    width: 100%
}
.parents-box {
    background-color: #f0eff0;
    margin-top: 120px;
    padding: 100px 100px 90px
}
.parents-box>:first-child {
    margin-top: 0
}
.parents-box-tit {
    color: #fff;
    font-size: 20px;
    margin: 95px 0 0;
    text-align: center
}
.parents-box-tit span {
    background-color: #232323;
    display: inline-block;
    padding: 12px 15px
}
.parents-box-subtit {
    font-size: 20px;
    margin: 60px 0 0;
    text-align: center
}
.parents-box-subtit span {
    border-bottom: 2px solid #232323;
    display: inline-block;
    padding-bottom: 10px
}
.parents-box-txt {
    font-size: 20px;
    margin: 53px 0 0
}
.person {
    padding: 100px 0
}
.person-txt {
    color: #fff;
    font-size: 18px;
    line-height: 1.6667;
    margin: 0
}
.person-wrap {
    margin-top: 130px
}
.person-content:not(:first-of-type) {
    margin-top: 135px
}
.person-outer {
    margin: 0 auto;
    max-width: 100%;
    position: relative;
    width: 1280px
}
.person-inner {
    background-color: #142c44;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 100%;
    padding: 200px 0 85px;
    position: relative;
    width: 1080px
}
.person-inner::after {
    background-color: #142c44;
    content: "";
    height: calc(100% + 40px);
    left: calc(calc(100vw - 100%)/ -2);
    position: absolute;
    top: -40px;
    width: calc(100% + calc(calc(100vw - 100%)/ 2));
    z-index: -1
}
.person-block {
    display: flex;
    position: relative
}
.person-img {
    max-width: 67%;
    width: 725px
}
.person-img-wrap {
    position: relative;
    z-index: 1
}
.person-img-tit {
    bottom: 35px;
    color: #f13828;
    font-size: 90px;
    font-weight: 100;
    left: 30px;
    margin: 0;
    position: absolute
}
.person-box {
    background-color: #bc3427;
    color: #fff;
    max-width: 40%;
    padding: 50px 30px 60px 55px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 433px;
    z-index: 2
}
.person-box-date {
    font-size: 20px;
    margin: 0
}
.person-box-name {
    font-size: 40px;
    font-weight: 100;
    margin: 5px 0 0
}
.person-box-posi {
    font-size: 20px;
    margin: 40px 0 0
}
.person-btn {
    align-items: center;
    background-color: #787878;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 22px;
    font-weight: 600;
    height: 40px;
    justify-content: center;
    margin: -95px 0 0 auto;
    position: relative;
    transition: .3s;
    width: 214px
}
.person-btn:hover {
    background-color: #fff;
    color: #787878
}
.person-btn._open {
    background-color: #fff;
    color: #232323
}
.person-body {
    font-size: 18px;
    max-width: 100%;
    min-width: 41%;
    width: 450px
}
.person-body-q {
    color: #f13828;
    margin-top: 95px;
    padding-left: 15px;
    position: relative;
    z-index: 1
}
.person-body-q._mt0 {
    margin-top: 0
}
.person-body-q::before {
    bottom: -10px;
    color: rgba(255, 255, 255, .4);
    content: "Q";
    font-size: 70px;
    font-style: italic;
    font-weight: 100;
    left: 0;
    position: absolute;
    z-index: -1
}
.person-body-a {
    color: #fff;
    line-height: 1.66667;
    margin: 25px 0 0
}
.person-imgs {
    max-width: 46%;
    width: 496px
}
.person-pic {
    position: relative;
    right: calc(calc(100vw - 1080px)/ -2);
    width: 100%
}
.person-voice {
    margin-top: 50px
}
.post-tit {
    border-bottom: 5px solid #00f;
    font-size: 32px;
    line-height: 1.46875;
    margin: 0;
    padding-bottom: 20px
}
.post p {
    line-height: 1.3125;
    margin: 25px 0
}
.post h2 {
    font-size: 32px;
    font-weight: 600;
    margin: 80px 0 25px;
    padding-bottom: 20px;
    position: relative
}
.post h2::after {
    background-color: #00f;
    bottom: 0;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    width: 50px
}
.post h3 {
    border-left: 5px solid #00f;
    font-size: 24px;
    font-weight: 600;
    margin: 80px 0 16px;
    padding-left: 15px
}
.post h4 {
    font-weight: 600;
    margin: 36px 0 22px;
    z-index: 20
}
.productLead {
    background: url(/img/product/lead_pic1.png) bottom right/auto 409px no-repeat;
    padding: 60px 0 150px
}
.productLead-sentense {
    color: #fff;
    max-width: 100%;
    width: 839px
}
.productLead-tit {
    font-size: 40px;
    line-height: 1.5;
    margin: 0
}
.productLead-txt {
    line-height: 1.75;
    margin: 45px 0 0
}
.productPp {
    padding: 165px 0 0
}
.productPp-tit {
    color: #fff;
    font-size: 30px;
    margin: 0
}
.productPp-tit span {
    color: #f13828;
    display: block;
    font-size: 110px;
    font-weight: 600
}
.productPp-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 90px
}
.productPp-block {
    width: calc((100% / 2) - (75px - 75px/ 2))
}
.productPp-block img {
    height: 335px;
    object-fit: cover;
    width: 100%
}
.productPp-sentense {
    background-color: #f13828;
    color: #fff;
    margin: -40px auto 0;
    padding: 25px;
    position: relative;
    width: calc(100% - 40px);
    z-index: 1
}
.productPp-dlist {
    align-items: baseline;
    display: flex;
    font-size: 15px
}
.productPp-dlist:not(:first-of-type) {
    margin-top: 5px
}
.productPp-dtit {
    flex-shrink: 0;
    font-weight: 600;
    margin-right: 20px;
    width: 50px
}
.productPp-ditem {
    line-height: 1.25
}
.productPp-ditem._lg {
    font-size: 20px
}
.productWf {
    margin-top: 155px
}
.productWf-tit {
    color: #fff;
    font-size: 30px;
    margin: 0
}
.productWf-tit span {
    color: #f13828;
    display: block;
    font-size: 110px;
    font-weight: 600
}
.productWf-bg {
    background-color: #191919
}
.productWf-heading {
    border-bottom: 1px solid #c2c2c2;
    counter-reset: item;
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    padding: 95px 0 85px
}
.productWf-heading-list {
    list-style-type: none;
    padding-left: 0
}
.productWf-heading-item {
    color: #f13828;
    font-size: 30px
}
.productWf-heading-item:not(:first-of-type) {
    margin-top: 30px
}
.productWf-heading-item::before {
    color: #fff;
    content: counter(item, decimal-leading-zero);
    counter-increment: item;
    display: inline-block;
    font-size: 60px;
    font-weight: 100;
    line-height: 1;
    margin-right: 15px;
    min-width: 61px;
    opacity: .4
}
.productWf-heading-item a {
    color: inherit
}
.productWf-heading-item a::after {
    background: url(/img/product/icon_down.svg) center/cover no-repeat;
    content: "";
    display: inline-block;
    height: 14px;
    margin-left: 9px;
    width: 22px
}
.productWf-body {
    padding: 145px 0 220px
}
.productWf-body-block {
    display: flex
}
.productWf-body-block:not(:first-of-type) {
    padding-top: 145px
}
.productWf-body-block:nth-of-type(even) {
    flex-direction: row-reverse
}
.productWf-body-block:nth-of-type(even) .productWf-body-sentense {
    padding: 0 60px 0 0
}
.productWf-body-block:nth-of-type(even) .productWf-body-tit::after {
    left: auto;
    right: -60px
}
.productWf-body-img {
    width: 57%
}
.productWf-body-img img {
    width: 100%
}
.productWf-body-sentense {
    padding: 0 0 0 60px;
    width: 43%
}
.productWf-body-tit {
    align-items: baseline;
    color: #f13828;
    display: flex;
    font-size: 40px;
    justify-content: space-between;
    line-height: 1;
    margin: 0;
    padding-bottom: 20px;
    position: relative
}
.productWf-body-tit span {
    color: #fff;
    font-size: 130px;
    font-weight: 100;
    opacity: .4
}
.productWf-body-tit::after {
    background-color: #f13828;
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    left: -60px;
    position: absolute;
    width: calc(100% + 60px)
}
.productWf-body-lgtxt {
    color: #f13828;
    font-size: 30px;
    margin: 50px 0 0
}
.productWf-body-txt {
    color: #fff;
    line-height: 1.75;
    margin: 20px 0 0
}
.question {
    margin-top: 175px
}
.question-lead {
    color: #fff;
    font-size: 18px;
    line-height: 1.66667;
    margin: 0;
    padding-bottom: 65px;
    text-align: center
}
.question-block {
    background: url(/img/question/question_bg.svg) top center/contain no-repeat;
    padding: 50px 50px 93px
}
.question-tit {
    color: #fff;
    font-size: 35px;
    font-weight: 400;
    margin: 0;
    padding: 70px 0 0 55px;
    position: relative
}
.question-tit-num {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-color: rgba(255, 255, 255, .4);
    -webkit-text-stroke-width: 1px;
    bottom: 10px;
    color: #fff;
    font-size: 100px;
    left: 0;
    line-height: 1;
    position: absolute;
    z-index: -1
}
.question-tit-blue {
    color: #006eb4
}
.question-tit-red {
    color: #f13828
}
.question-wrap {
    margin-top: 90px;
    padding-left: 35px
}
.question-graph:not(:first-of-type) {
    margin-top: 65px
}
.recruit {
    margin: 0 auto;
    max-width: 100%;
    padding-top: 105px;
    width: 970px
}
.recruit-tit {
    color: #f13828;
    font-size: 40px;
    font-weight: 400;
    margin: 0
}
.recruit-heading {
    display: flex;
    justify-content: space-between
}
.recruit-heading-block {
    display: flex
}
.recruit-heading-block a:not(:last-of-type) {
    margin-right: 45px
}
.recruit-flow {
    padding-top: 105px
}
.recruit-flow-txt {
    color: #fff;
    line-height: 1.75;
    margin: 35px 0 0
}
.recruit-flow-list {
    align-items: center;
    counter-reset: number;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    list-style-type: none;
    margin: 0;
    padding: 0
}
.recruit-flow-item {
    color: #f13828;
    font-size: 24px;
    margin: 80px 0 0;
    padding-left: 35px;
    position: relative
}
.recruit-flow-item::before {
    bottom: 10px;
    color: rgba(255, 255, 255, .4);
    content: counter(number, decimal-leading-zero);
    counter-increment: number;
    font-size: 60px;
    font-weight: 100;
    left: 0;
    line-height: 1;
    position: absolute
}
.recruit-flow-icon {
    margin-top: 85px;
    margin-right: .5em;
    margin-left: .5em
}
.recruit-banner {
    align-items: center;
    color: #fff;
    display: flex;
    justify-content: space-between;
    margin-top: 70px
}
.recruit-banner-block {
    align-items: center;
    display: flex
}
.recruit-banner-txt {
    margin: 0
}
.recruit-banner-btn {
    margin: 0 0 0 10px
}
.recruit-banner-img {
    width: 160px
}
.recruit-banner2 {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap
}
.recruit-banner2-block {
    display: flex;
    justify-content: flex-start;
    margin-top: 65px
}
@media screen and (min-width:820px) {
    .recruit-banner2-block:nth-child(1) {
        margin-right: 125px
    }
}
.recruit-banner2-cont-left {
    margin-right: 50px
}
.recruit-banner2-cont-right {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    align-items: center;
    align-content: center;
    justify-content: center
}
.recruit-banner2-cont-right>a:nth-child(2) {
    margin-top: 10px
}
.recruit-banner2-tit {
    margin-bottom: 20px;
    color: #d33828;
    font-size: 20px;
    font-weight: 700
}
.recruit-banner2-text {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75
}
@media screen and (max-width:560px) {
    .recruit-banner2-block {
        width: 100%
    }
    .recruit-banner2-cont-left, .recruit-banner2-cont-right {
        width: 50%
    }
    .recruit-banner2-cont-right .recruit-banner-img {
        width: 80%
    }
    .recruit-banner2-cont-right .recruit-banner-btn {
        width: 100%
    }
    .recruit-banner2-cont-right .recruit-banner-btn a {
        width: 80%
    }
    .recruit-banner2-text br {
        display: none
    }
}
.recruit-require {
    background: url(/img/bg_line.svg) top/contain no-repeat;
    margin-top: 97px;
    padding-top: 125px
}
.recruit-require-content {
    margin-top: 55px
}
.recruit-require-dlist {
    border-bottom: 1px solid #f13828;
    display: flex;
    font-size: 18px;
    line-height: 1.66667;
    padding: 0 10px 30px
}
.recruit-require-dlist:not(:first-of-type) {
    margin-top: 30px
}
.recruit-require-dtit {
    color: #f13828;
    flex-shrink: 0;
    width: 260px
}
.recruit-require-ditem {
    color: #fff
}
.recruit-require-txt {
    margin: 0;
    padding-left: 1em;
    text-indent: -1em
}
.recruit-require-txt:not(:first-of-type) {
    border-top: 1px dashed rgba(255, 255, 255, .4);
    margin-top: 30px;
    padding-top: 35px
}
.recruit-require-txt._salary {
    padding-left: 4em;
    text-indent: -4em
}
.recruitCta {
    background: url(/img/recruit/cta_bg.png) center/cover no-repeat;
    height: 517px;
    margin-top: 165px
}
.recruitCta-inner {
    height: 100%;
    margin: 0 auto;
    max-width: 100%;
    width: 1080px
}
.recruitCta-block {
    align-items: flex-end;
    display: flex;
    height: 100%;
    justify-content: flex-end;
    padding: 0 115px 90px 0
}
.recruitCta-tit {
    color: #fff;
    font-size: 40px;
    line-height: 1.33333;
    margin: 0 50px 0 0;
    padding-left: 250px;
    position: relative;
    z-index: 1
}
.recruitCta-tit span {
    bottom: 0;
    color: #f13828;
    font-size: 170px;
    left: 0;
    line-height: 1;
    position: absolute;
    z-index: -1
}
.js-img-wrap {
    position: relative
}
.js-img-wrap img {
    transition: 1s
}
.js-img-wrap._open .js-img-close, .js-img-wrap:hover .js-img-close {
    opacity: 0
}
.js-img-wrap._open .js-img-open, .js-img-wrap:hover .js-img-open {
    opacity: 1
}
.js-img-wrap .js-img-open {
    height: 100%;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%
}
.js-display-gray {
    filter: grayscale(100%);
    transition: 1s
}
.js-display-gray._none {
    filter: grayscale(0)
}
.js-display-slideDown, .js-display-slideUp {
    display: none
}
.js-fadeInUp {
    opacity: 0;
    transform: translateY(20px);
    transition: 1s
}
.js-spmenu {
    left: 0;
    position: fixed;
    top: 0;
    transform: translateY(-100%);
    transition: .6s;
    width: 100%;
    z-index: 1002
}
.js-spmenu._js-active {
    transform: translateY(0)
}
#open, .js-menu-content, .radio {
    display: none
}
#open:checked+#menu {
    right: 0
}
label {
    cursor: pointer;
    display: inline-block;
    padding: 3px 3px 3px 20px;
    position: relative
}
.radio+span::before, span::after {
    -webkit-transition: .2s;
    border-radius: 100%;
    content: '';
    position: absolute;
    top: 50%;
    transition: .2s
}
.radio+span::before {
    background: #fff;
    border: none;
    height: 14px;
    left: 0;
    margin-top: -8px;
    width: 14px
}
.radio+span::after {
    -webkit-transform: scale(2);
    background: #f13828;
    height: 8px;
    left: 3px;
    margin-top: -5px;
    opacity: 0;
    transform: scale(2);
    width: 8px
}
.radio:checked+span::after {
    -webkit-transform: scale(1);
    opacity: 1;
    transform: scale(1)
}
.skillbar {
    background-color: rgba(255, 255, 255, .05);
    display: inline-block;
    height: 50px;
    position: relative;
    width: calc(100% - 150px)
}
.skillbar-title {
    color: #fff;
    font-size: 20px;
    height: 50px;
    left: 0;
    line-height: 50px;
    padding: 0 20px;
    position: absolute;
    top: 0
}
.skillbar-bar {
    display: inline-block;
    height: 50px;
    width: 0
}
.skillbar-bar._red {
    background-color: #f13828
}
.skillbar-bar._blue {
    background-color: #1446aa
}
.skillbar-percent {
    color: #fff;
    font-size: 100px;
    font-weight: 100;
    height: 50px;
    line-height: 50px;
    position: absolute;
    right: -150px;
    top: 0
}
.wp-block-columns {
    flex-wrap: nowrap !important;
    margin-top: 30px
}
.wp-block-column>:first-of-type {
    margin-top: 0
}
.wpcf7-radio._dBlock {
    display: block
}
.wpcf7-radio._dBlock span.wpcf7-list-item {
    display: flex;
    margin: 0
}
.wpcf7-radio._dBlock span.wpcf7-list-item:not(:first-of-type) {
    margin: 20px 0 0
}
.wpcf7 span.wpcf7-list-item {
    margin: 0
}
.wpcf7 span.wpcf7-list-item:not(:first-of-type) {
    margin-left: 50px
}
.wpcf7-form-control-wrap {
    width: 100%
}
input[type=radio] {
    opacity: 0;
    position: absolute
}
.wpcf7-list-item-label:before {
    -webkit-transition: 250ms;
    background: #fff;
    border: none;
    border-radius: 100%;
    content: '';
    cursor: pointer;
    display: inline-block;
    height: 12px;
    margin-right: 10px;
    position: relative;
    text-align: center;
    transition: 250ms;
    width: 12px
}
input[type=radio]:checked+.wpcf7-list-item-label:before {
    background-color: #f13828;
    box-shadow: inset 0 0 0 2px #fff
}
span.wpcf7-not-valid-tip {
    margin-top: 8px
}
@media screen and (min-width:561px) {
    ._spOnly {
        display: none !important
    }
    .twocol-left, .twocol-right {
        width: 50%
    }
    .twocol-left._w10p, .twocol-right._w10p {
        width: 10%
    }
    .twocol-left._w20p, .twocol-right._w20p {
        width: 20%
    }
    .twocol-left._w30p, .twocol-right._w30p {
        width: 30%
    }
    .twocol-left._w40p, .twocol-right._w40p {
        width: 40%
    }
    .twocol-left._w50p, .twocol-right._w50p {
        width: 50%
    }
    .twocol-left._w60p, .twocol-right._w60p {
        width: 60%
    }
    .twocol-left._w70p, .twocol-right._w70p {
        width: 70%
    }
    .twocol-left._w80p, .twocol-right._w80p {
        width: 80%
    }
    .twocol-left._w90p, .twocol-right._w90p {
        width: 90%
    }
    .companyMessage-lgtxt._mt0 {
        margin-top: 0
    }
    .fpproduct-sentense {
        margin: 0 0 0 auto;
        width: calc(55% - 45px)
    }
    .productPp-block:nth-of-type(n+3) {
        margin-top: 100px
    }
}
@media screen and (min-width:1080px) {
    ._pcNone {
        display: none !important
    }
    .companyMessage-bottom {
        margin-top: -350px;
        width: 50%
    }
    .person-content:nth-of-type(even) .person-block {
        flex-direction: row-reverse
    }
    .person-content:nth-of-type(even) .person-box {
        left: 0;
        right: auto
    }
    .person-content:nth-of-type(even) .person-img-tit {
        left: auto;
        right: 30px
    }
    .person-content:nth-of-type(even) .person-btn {
        margin: -95px auto 0 0
    }
    .person-content:nth-of-type(even) .person-inner {
        flex-direction: row-reverse
    }
    .person-content:nth-of-type(even) .person-inner::after {
        left: auto;
        right: calc(calc(100vw - 100%)/ -2)
    }
    .person-content:nth-of-type(even) .person-pic {
        left: -135px;
        right: auto
    }
    .person-content:nth-of-type(even) .person-voice {
        padding-left: 30px
    }
}
@media screen and (max-width:1079px) {
    ._pcOnly {
        display: none !important
    }
    .btn._recruit {
        height: 60px;
        width: calc(50% - 10px)
    }
    .btn._recruitCta {
        width: 250px
    }
    .fv2-inner, .inner {
        width: calc(100% - 30px)
    }
    .companyMessage-top {
        background-position: center top;
        background-size: 100% auto;
        padding-top: 400px
    }
    .companyMessage-block {
        width: 100%
    }
    .contact-banner {
        flex-direction: column
    }
    .contact-banner img {
        margin-left: 0;
        margin-top: 20px
    }
    .contact-block {
        display: block
    }
    .contact-fitem {
        margin-top: 20px;
        width: 100%
    }
    .contact._check .contact-btnWrap {
        display: block
    }
    .contact._check .contact-submit {
        margin-top: 20px
    }
    .fpNews {
        height: auto
    }
    .fpNews-inner {
        width: calc(100% - 30px);
        align-items: flex-start;
        flex-direction: column;
        padding: 25px 0
    }
    .fpNews-news {
        align-items: flex-start;
        margin-left: 0;
        margin-top: 20px
    }
    .parents-fv {
        background-position: center;
        background-size: cover;
        margin-top: 90px
    }
    .parents-fv-inner {
        width: calc(100% - 30px)
    }
    .parents-fv-tit {
        font-size: 30px
    }
    .parents-fv-tit span {
        font-size: 90px;
        top: 0
    }
    .parents-inner {
        padding: 60px 20px 0
    }
    .person-wrap {
        margin-top: 60px
    }
    .person-inner {
        width: calc(100% - 30px);
        flex-direction: column;
        padding: 70px 15px 40px
    }
    .person-block {
        flex-direction: column
    }
    .person-img {
        max-width: 100%;
        width: 100%
    }
    .person-img-tit {
        font-size: 40px
    }
    .person-box {
        max-width: 100%;
        padding: 30px 20px;
        position: static;
        transform: none;
        width: 100%
    }
    .person-btn {
        margin: 20px auto 0;
        max-width: 100%;
        width: 370px
    }
    .person-body {
        width: 100%
    }
    .person-imgs {
        max-width: 100%;
        width: 100%
    }
    .person-pic {
        margin-top: 30px;
        position: static
    }
    .recruit-heading {
        flex-direction: column
    }
    .recruit-heading-block a:not(:last-of-type) {
        margin-right: 20px
    }
    .recruit-heading-block:not(:first-of-type) {
        margin-top: 30px
    }
    .recruit-banner {
        flex-direction: column
    }
    .recruit-banner-block {
        margin: 15px 0
    }
    .recruit-require-dtit {
        width: 140px
    }
    .recruitCta {
        margin-top: 70px
    }
    .recruitCta-inner {
        width: calc(100% - 30px)
    }
    .recruitCta-block {
        flex-direction: column;
        padding-right: 0
    }
    .recruitCta-tit {
        margin-right: 0
    }
    .recruitCta-btn {
        margin-top: 30px
    }
}
@media screen and (max-width:781px) {
    .wp-block-columns {
        flex-direction: column
    }
    .wp-block-columns._reverse {
        flex-direction: column-reverse
    }
    .wp-block-column:nth-child(2n) {
        margin-left: 0 !important
    }
}
@media screen and (max-width:560px) {
    body {
        font-size: 1.4rem;
        margin-bottom: 60px;
        min-width: 0
    }
    ._spNone {
        display: none !important
    }
    .btn._header._sp {
        height: 60px;
        width: 100vw
    }
    .btn._cta {
        width: 100%
    }
    .btn._banner {
        font-size: 14px;
        padding-right: 10px;
        width: 116px
    }
    .btn._banner::before {
        font-size: 10px;
        right: 7px;
        top: 54%
    }
    .cta {
        background: url(/img/cta_bg_sp.png) center/cover no-repeat;
        height: 570px;
        padding-bottom: 50px
    }
    .cta-tit {
        font-size: 24px
    }
    .cta-tit span {
        bottom: 0;
        font-size: 90px;
        left: 0
    }
    .cta-btn {
        flex-direction: column;
        margin-top: 10px
    }
    .cta-btn a {
        margin: 16px 0
    }
    .footer-inner {
        flex-direction: column-reverse
    }
    .footer-logo {
        margin-top: 40px
    }
    .footer-logo img {
        width: 270px
    }
    .footer-txt {
        text-align: center
    }
    .footer-btn {
        justify-content: center
    }
    .footer-copy {
        text-align: center
    }
    .footer-menu {
        justify-content: space-around
    }
    .footer-menu-list:not(:first-of-type) {
        margin-left: 0
    }
    .footer-menu-item {
        text-align: left
    }
    .fv-txt {
        height: auto;
        width: 100%
    }
    .fv-banner {
        bottom: 110px;
        right: 15px;
        top: auto;
        width: 160px
    }
    .fv2 {
        height: 300px !important
    }
    .fv2._company {
        background-image: url(/img/company/fv2_bg_sp.png)
    }
    .fv2._product {
        background-image: url(/img/product/fv2_bg_sp.png)
    }
    .fv2._person {
        background-image: url(/img/person/fv2_bg_sp.png)
    }
    .fv2._recruit {
        background-image: url(/img/recruit/fv2_bg_sp.png)
    }
    .fv2._question {
        background-image: url(/img/question/fv2_bg_sp.png);
        margin-top: 90px
    }
    .fv2-tit {
        bottom: -90px
    }
    .fv2-tit span {
        font-size: 90px
    }
    .header {
        height: 90px;
        padding: 0 15px
    }
    .header-logo img {
        width: 250px
    }
    .header-btn {
        bottom: 0;
        left: 0;
        position: fixed;
        width: 100vw
    }
    .menu {
        padding: 24px 20px 20px
    }
    .menu-close {
        height: 30px;
        right: 17.5px;
        top: 30px;
        width: 30px
    }
    .menu-content {
        flex-direction: column;
        justify-content: center
    }
    .menu-block._left {
        width: 100%
    }
    .menu-logo {
        width: 250px
    }
    .menu-btn {
        display: none
    }
    .menu-link {
        margin-top: 50px
    }
    .menu-item:not(:first-of-type) {
        margin-top: 20px
    }
    .paging {
        flex-direction: column
    }
    .paging-tit._next {
        display: inline-block;
        margin-top: 20px
    }
    .totop {
        bottom: 30px;
        right: 20px
    }
    .twocol {
        flex-direction: column
    }
    .archive {
        padding: 100px 0 0
    }
    .archive-tit {
        margin-left: 0
    }
    .archive-tit span {
        font-size: 90px
    }
    .archive-blocks {
        margin-top: 60px
    }
    .archive-block {
        padding: 65px 20px
    }
    .archive-block:not(:first-of-type) {
        margin-top: 40px
    }
    .archive-block-date {
        font-size: 24px
    }
    .archive-block-tit {
        font-size: 30px
    }
    .archive-block-content {
        margin-top: 20px
    }
    .companyAccess {
        margin-top: 100px
    }
    .companyAccess-tit span {
        font-size: 90px
    }
    .companyAccess-map iframe {
        height: 370px
    }
    .companyHistory {
        margin-top: 100px
    }
    .companyHistory-heading {
        background-size: cover
    }
    .companyHistory-table {
        margin-top: 75px
    }
    .companyHistory-table td, .companyHistory-table th {
        display: block;
        padding: 15px;
        text-align: left
    }
    .companyHistory-table th {
        margin-top: 30px
    }
    .companyHistory-table td {
        font-size: 14px
    }
    .companyHistory-date {
        width: 100%
    }
    .companyHistory-flex {
        font-size: 12px
    }
    .companyInfo {
        margin-top: 100px
    }
    .companyInfo-heading {
        background-position: 40px center;
        background-size: cover;
        height: auto;
        padding-bottom: 60px
    }
    .companyInfo-tit span {
        font-size: 90px
    }
    .companyInfo-info {
        margin-top: 90px
    }
    .companyInfo-dlist {
        font-size: 14px
    }
    .companyMessage-top {
        padding-top: 180px
    }
    .companyMessage-tit span {
        font-size: 90px
    }
    .companyMessage-lgtxt {
        font-size: 26px;
        margin-top: 60px
    }
    .companyMessage-subtit {
        font-size: 40px
    }
    .contact {
        padding-top: 130px
    }
    .contact-box {
        padding: 70px 20px
    }
    .contact-tit {
        font-size: 20px
    }
    .contact-tit span {
        font-size: 100px
    }
    .contact-banner {
        font-size: 14px
    }
    .contact-form {
        margin-top: 60px
    }
    .contact-ftit {
        align-items: center;
        display: flex;
        margin-left: 0
    }
    .contact-ftit span {
        margin: 3px 5px 0 0;
        position: static;
        transform: none
    }
    .contact-fitem {
        font-size: 14px
    }
    .contact select {
        width: auto
    }
    .contact select._gakureki {
        width: 100%
    }
    .contact input[type=submit] {
        margin-top: 60px
    }
    .contact-txt {
        font-size: 12px
    }
    .contact-birthTxt {
        margin: 0 5px
    }
    .contact-thanks-txt {
        font-size: 14px;
        margin-top: 20px
    }
    .contact-thanks-btn {
        margin-top: 40px
    }
    .fpNews-tit {
        font-size: 20px
    }
    .fpNews-news-date {
        font-size: 16px
    }
    .fpNews-news-tit {
        font-size: 14px
    }
    .fpperson {
        margin-top: 70px
    }
    .fpperson-tit {
        font-size: 30px
    }
    .fpperson-tit span {
        font-size: 90px;
        top: 0
    }
    .fpproduct {
        background-position: 34% top;
        padding: 70px 0 50px
    }
    .fpproduct-tit {
        font-size: 26px
    }
    .fpproduct-tit span {
        font-size: 90px;
        left: 0
    }
    .fpproduct-txt {
        margin-top: 50px
    }
    .fpproduct-btn {
        margin-top: 40px
    }
    .fpquestion {
        background: 0 0;
        padding: 0;
        position: relative
    }
    .fpquestion-tit {
        font-size: 8vw
    }
    .fpquestion-tit span {
        font-size: 25.5vw;
        top: 0
    }
    .fpquestion-txt {
        font-size: 45px;
        margin-top: 50px
    }
    .fpquestion-btn {
        bottom: 10%;
        left: 50%;
        margin: 0;
        position: absolute;
        transform: translateX(-50%);
        z-index: 1
    }
    .fpquestion-bg {
        display: block;
        width: 100%
    }
    .fpsec1 {
        padding-top: 70px
    }
    .fpsec1-inner {
        display: flex;
        flex-direction: column-reverse
    }
    .fpsec1-img {
        margin-top: 50px;
        position: static;
        width: 100%
    }
    .fpsec1-sentense {
        width: 100%
    }
    .fpsec1-tit {
        font-size: 24px
    }
    .fpsec1-tit span {
        font-size: 90px;
        left: 0;
        top: -65px
    }
    .fpsec1-lgtxt {
        font-size: 40px
    }
    .fpsec1-btn {
        margin-top: 30px
    }
    .fpsec2 {
        flex-direction: column
    }
    .fpsec2-block {
        margin: 35px 0 0;
        width: 100%
    }
    .fpsec2-block:first-of-type {
        margin-top: 0
    }
    .fpsec2-tit {
        font-size: 30px
    }
    .fpsec2-tit span {
        font-size: 60px
    }
    .parents-fv {
        background-image: url(/img/parents/fv_bg_sp.png)
    }
    .parents-2col {
        flex-direction: column
    }
    .parents-2col-block {
        margin: 20px 0 0;
        width: 100%
    }
    .parents-2col-block:first-of-type {
        margin-top: 0
    }
    .parents-txt {
        font-size: 14px;
        margin-top: 30px
    }
    .parents-img {
        margin-top: 50px
    }
    .parents-box {
        font-size: 18px;
        margin-top: 60px;
        padding: 40px 20px
    }
    .parents-box-tit {
        font-size: 18px;
        margin-top: 40px
    }
    .parents-box-txt {
        font-size: 18px;
        margin-top: 30px
    }
    .person {
        padding-bottom: 0
    }
    .post h2, .post-tit {
        font-size: 28px
    }
    .post h3 {
        font-size: 20px
    }
    .post h4 {
        font-size: 17px
    }
    .productLead {
        background-size: cover;
        padding: 40px 0 100px
    }
    .productLead-tit {
        font-size: 22px
    }
    .productPp {
        padding: 100px 0 0
    }
    .productPp-tit span {
        font-size: 70px
    }
    .productPp-content {
        margin-top: 60px
    }
    .productPp-block {
        margin: 40px 0 0;
        width: 100%
    }
    .productPp-block:first-of-type {
        margin-top: 0
    }
    .productPp-ditem._lg {
        font-size: 16px
    }
    .productWf {
        margin-top: 100px
    }
    .productWf-tit span {
        font-size: 76px
    }
    .productWf-heading {
        margin: 40px auto 0;
        padding: 50px 0;
        width: 307px
    }
    .productWf-heading-item {
        font-size: 15px
    }
    .productWf-heading-item::before {
        font-size: 25px;
        margin-right: 2px;
        min-width: 0
    }
    .productWf-heading-item a::after {
        height: 7px;
        margin-left: 3px;
        width: 11px
    }
    .productWf-body {
        padding: 100px 0
    }
    .productWf-body-block:not(:first-of-type) {
        padding-top: 70px
    }
    .productWf-body-block:nth-of-type(even) .productWf-body-sentense {
        padding: 0
    }
    .productWf-body-block:nth-of-type(even) .productWf-body-tit::after {
        right: 0
    }
    .productWf-body-block {
        display: block
    }
    .productWf-body-img {
        width: 100%
    }
    .productWf-body-sentense {
        padding: 0;
        width: 100%
    }
    .productWf-body-tit {
        font-size: 30px;
        padding-bottom: 10px
    }
    .productWf-body-tit span {
        font-size: 90px
    }
    .productWf-body-tit::after {
        left: 0;
        width: 100%
    }
    .productWf-body-lgtxt {
        font-size: 20px;
        margin-top: 30px
    }
    .question {
        margin-top: 100px
    }
    .question-lead {
        font-size: 14px;
        padding-bottom: 40px
    }
    .question-block {
        padding: 20px
    }
    .question-tit {
        font-size: 18px
    }
    .question-tit-num {
        font-size: 80px
    }
    .question-wrap {
        margin-top: 40px;
        padding-left: 0
    }
    .question-graph:not(:first-of-type) {
        margin-top: 35px
    }
    .recruit {
        padding-top: 60px
    }
    .recruit-tit {
        font-size: 32px
    }
    .recruit-flow {
        padding-top: 60px
    }
    .recruit-flow-item {
        font-size: 20px;
        padding-left: 20px
    }
    .recruit-flow-item::before {
        font-size: 40px
    }
    .recruit-banner-txt {
        font-size: 12px
    }
    .recruit-banner-img {
        width: 116px
    }
    .recruit-require {
        margin-top: 60px;
        padding-top: 60px
    }
    .recruit-require-dlist {
        font-size: 14px
    }
    .recruit-require-dtit {
        width: 110px
    }
    .recruitCta-tit {
        font-size: 30px;
        padding-left: 120px
    }
    .recruitCta-tit span {
        font-size: 90px
    }
    .skillbar {
        width: calc(100% - 50px)
    }
    .skillbar-percent {
        font-size: 50px;
        right: -50px
    }
}
.mw_wp_form .error {
    font-size: 93%;
    color: #b70000;
    display: block
}
.mw_wp_form .wpcf7 .screen-reader-response {
    position: static;
    overflow: visible;
    clip: none;
    clip-path: none;
    height: auto;
    width: auto;
    margin: auto;
    padding: 1em
}
.mw_wp_form .wpcf7 form.sent .wpcf7-response-output {
    border: 0 !important;
    color: red;
    text-align: center
}
.mw_wp_form .akismet_error, .mw_wp_form .vertical-item {
    display: block
}
.mw_wp_form .vertical-item+.vertical-item {
    margin-top: 5px
}
.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 10px
}
.mwform-checkbox-field label, .mwform-radio-field label {
    font-weight: 400;
    margin-bottom: 0
}
.mwform-checkbox-field input, .mwform-radio-field input {
    margin-right: 5px
}
.mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-month, .mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
    width: 40%;
    margin: 0 5px
}
.mw-wp-form-deprecated-message {
    background: #fdeeee;
    border: 1px solid #f7bdb8;
    border-radius: 5px;
    color: #af4040;
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 10px;
    padding: 1em
}
.mw_wp_form input[type=file] {
    display: inline-block
}
.mwform-file-delete {
    cursor: pointer;
    visibility: hidden
}
.mwform-tel-field input[type=text], .mwform-zip-field input[type=text] {
    display: inline-block;
    width: auto
}
.header-btn a {
    cursor: pointer
}
html.is-locked {
    overflow: hidden
}
.entry-modal {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100vw;
    height: 100vh;
    overflow-y: scroll;
    opacity: 0;
    transition: .4s cubic-bezier(.645, .045, .355, 1)
}
.entry-modal.is-show {
    visibility: visible;
    opacity: 1
}
.entry-modal-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    z-index: 1002;
    max-width: 740px;
    width: 100%
}
@media screen and (max-width:560px) {
    .entry-modal-inner {
        justify-content: center;
        width: 250px
    }
}
.entry-modal-block {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    position: relative;
    z-index: 1002;
    width: 250px
}
.entry-modal-tit {
    margin-bottom: 75px;
    color: #fff;
    font-size: 40px;
    font-weight: 700;
    text-align: center
}
@media screen and (max-width:560px) {
    .entry-modal-tit {
        margin-bottom: 30px
    }
}
.entry-modal-tit span {
    display: block;
    margin-top: 10px;
    color: #fff;
    font-size: 20px
}
.entry-modal-wrap {
    position: relative;
    z-index: 1001;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    margin: auto;
    vertical-align: middle
}
.entry-modal .entry-bnr {
    margin: 0
}
.entry-modal .entry-bnr a {
    background-color: #fff;
    transition: .3s ease-in-out;
    cursor: pointer
}
@media all and (min-width:768px) and (max-width:991px) {
    .entry-modal .entry-bnr a {
        width: 350px;
        height: 100px
    }
}
.entry-modal .entry-bnr a:hover {
    opacity: .6
}
@media screen and (max-width:767px) {
    .entry-modal .entry-bnr a {
        width: 86vw;
        height: 100px
    }
    .entry-modal .entry-bnr a:hover {
        transform: scale(1.05)
    }
}
.entry-modal .entry-bnr+.entry-bnr {
    margin-top: 10px
}
.entry-modal .entry-btn2 {
    margin: 0;
    transition: .3s ease-in-out;
    cursor: pointer
}
.entry-modal .entry-btn2:hover {
    opacity: .6
}
.entry-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 901;
    width: 100%;
    height: 100%;
    margin: auto;
    background-color: rgba(0, 0, 0, .6);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    cursor: pointer
}
.top-int .fpperson-tit {
    margin: 3em auto;
    font-size: 30px;
}
@media screen and (max-width:767px) {
    .top-int .fpperson-tit {
        font-size: 6.4vw;
    }
}
.top-int .fpperson-tit span {
    /* display: block;
    position: static; */
    line-height: .6;
    font-size: 110px;
		transform: translateY(-90%);
}
@media screen and (max-width:767px) {
    .top-int .fpperson-tit span {
        font-size: 16vw;
        transform: translateY(-30%);
    }
}
.top-int-col {
    display: flex;
    justify-content: space-between;
}
.top-int-item {
	width: 32%;
}
.top-int-img {
	position: relative;
	width: 100%;
	padding-top: 64%;
	overflow: hidden;
	margin: 0 auto 1em;
	border-radius: 8px;
}
.top-int-img img {
  position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: auto;
	height: 100%;
	margin: auto;
	cursor: pointer;
	transition: all .3s ease;
}
.top-int-item .top-int-img:hover img {
	opacity: .8;
	transform: scale(1.1);
}
.top-int-img:before {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 40px;
	height: 40px;
	margin: auto;
	border-radius: 50%;
	font-family: sans-serif;
	color: #fff;
	font-size: 1.6rem;
	background-color: rgba(241, 56, 40, .8);
	content: "▶︎";
	cursor: pointer;
	transition: all .3s ease;
}
.top-int-item .top-int-img:hover:before {
	background-color: rgba(212, 50, 35, 1);
	transform: scale(1.1);
}
.top-int-ttl {
	color: #fff;
	font-size: 1.8rem;
	margin: 0 auto .5em;
}
.top-int-txt {
	margin: 0;
	color: #fff;
	font-size: 1.4rem;
	font-weight: normal;
}
@media screen and (max-width:767px) {
    .top-int-col {
        display: block;
    }
    .top-int-item {
    	width: 100%;
			margin-bottom: 5em;
    }
    .top-int-img:before {
    	width: 10.6667vw;
    	height: 10.6667vw;
    	font-size: 4.2667vw;
    }
    .top-int-ttl {
			margin-bottom: .2em;
    	font-size: 4.8vw;
    }
    .top-int-txt {
    	font-size: 3.7334vw;
    }
}
.movie-modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 900;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    text-align: center;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box
}
.movie-modal:after {
    display: inline-block;
    height: 100%;
    margin-left: -0.05em;
    vertical-align: middle;
    content: ""
}
.movie-modal .movie-modal-overlay {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 901;
    width: 100%;
    height: 100vh;
    margin: auto;
    background-color: rgba(34, 34, 34, .8);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: all .4s ease-in-out;
    transform: translate(-50%, -50%);
    opacity: 0
}
.movie-modal .movie-wrap {
    position: relative;
    z-index: 902;
    display: inline-block;
    position: relative;
    margin: auto;
    vertical-align: middle;
    transition: all .4s ease-in-out .4s;
    opacity: 0
}
@media screen and (max-width: 767px) {
    .movie-modal .youtube-wrap {
        width: 90vw;
        height: 50.6007vw
    }
}
@media screen and (min-width: 768px) {
    .movie-modal .movie-wrap{
        width: 60vw;
        height: 33.7338vw
    }
}
#movie-obj {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 3px
}
@media screen and (max-width: 768px) {
   #movie-obj {
       height: auto;
   }
}
.movie-modal .movie-modal-close {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 902;
    border-radius: 50%;
    content: "";
    background: #f13828 url(/img/icon_cross_white.svg) no-repeat 50% 50%;
    cursor: pointer;
    opacity: .6;
    transition: all .3s ease-in-out
}
@media screen and (max-width: 767px) {
    .movie-modal .movie-modal-close {
        top: -4vw;
        right: -4vw;
        width: 8vw;
        height: 8vw;
        background-size: 5.3334vw 5.3334vw
    }
}
@media screen and (min-width: 768px) {
    .movie-modal .movie-modal-close {
        top: -20px;
        right: -20px;
        width: 40px;
        height: 40px;
        background-size: 24px 24px
    }
}
.movie-modal .movie-modal-close:hover {
    opacity: 1;
    transform: scale(1.1)
}
.movie-modal.is-show .movie-wrap,
.movie-modal.is-show .movie-modal-overlay {
    opacity: 1
}
