﻿html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline
}
html {
    line-height: 1
}
ol,
ul,
dl {
    list-style: none
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle
}
q,
blockquote {
    quotes: none
}
q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
    content: none
}
a img {
    border: none
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block
}
a[href^="tel:"]{
    pointer-events: none;
  }
.selection .acms-container {
    padding: 0;
    background-color: transparent;
}
.job .acms-container, .company .acms-container {
    background-color: transparent;
    padding: 0;
    overflow: visible;
}
.sdgs .acms-container, .company .acms-container {
    background-color: transparent;
    padding: 0;
    overflow: visible;
    max-width: 950px !important;
}
.culture .acms-container {
    background-color: transparent;
    padding-top: 60px;
    box-sizing: content-box;
}
.company .company-container, .recruit-list .recruit-container {
    background-color: #fafafa;
    padding: 30px 100px 100px;
}
.recruit-list .recruit-container {
    margin-bottom: 80px;
}
.company .company-about {
    margin-bottom: 80px;
}
.company .coverImages {
    margin-top: 40px;
    margin-bottom: 40px;
}
.company-table {
    margin-top: 60px;
}
.recruit-info .acms-container {
    background-color: transparent;
    padding: 80px 0 0 0;
}
.recruit-list .acms-container {
    background-color: transparent;
    padding: 0;
}
.recruit .acms-container {
    background-color: transparent;
    padding: 60px 100px;
}
.career .acms-container, .fresh .acms-container {
    background-color: transparent;
    padding: 0;
    margin-bottom: 100px;
}
.interview .acms-container {
    padding:60px 200px 60px 200px;
    margin-bottom: 100px;
}
.interview .acms-container p {
    margin-bottom: 60px;
}
.interview-list .acms-container {
    background-color: transparent;
    padding: 0;
}
.entry-form .acms-container {
    padding: 0;
    margin-bottom: 100px;
    background-color: #ffffff;
}
.entry-form .acms-admin-container, .entry-form .acms-container {
    padding: 0 10px;
}
.acms-container {
    max-width: 1200px !important;
    overflow: hidden;
    padding: 60px 100px 60px 100px;
    background-color: #fafafa;
}
header .acms-container {
    padding: 0 0 0 50px;
    z-index: 99;
    background-color: transparent;
    margin-bottom: 0;
    overflow: visible;
}
.job .column-image-right {
    margin-left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -19%;
}
.job .column-image-left {
    position: absolute;
    left: -19%;
    top: 50%;
    transform: translateY(-50%);
}
.job .column-image-right {
    margin-left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -13%;
}
.job .column-image-left {
    position: absolute;
    left: -10%;
    top: 50%;
    transform: translateY(-50%);
}
.culture .column-image-right, .culture .column-image-left {
    margin-bottom: 270px;
}
.culture .column-image-right {
    margin-left: 20px
}
.culture .column-image-left {
    margin-right: 20px
}
.column-image-right {
    margin-left: 40px
}
.column-image-left {
    margin-right: 40px
}
.column-youtube-auto,
.column-video-auto {
    display: block;
    float: none
}
.column-youtube-left,
.column-video-left {
    display: inline;
    float: left
}
.column-youtube-right,
.column-video-right {
    display: inline;
    float: right
}
.column-youtube-center,
.column-video-center {
    float: none;
    margin-left: auto;
    margin-right: auto
}
.column-youtube-auto,
.column-video-auto,
.column-youtube-left,
.column-video-left,
.column-youtube-right,
.column-video-right,
.column-youtube-center,
.column-video-center {
    margin-top: 10px;
    margin-bottom: 20px
}
#globalNav .acms-admin-container {
    
}
.entry .entry-content, .contact .contact-content {
    background-color: #fafafa;
    padding: 30px 100px 100px;
    box-sizing: border-box;
    margin-bottom: 100px;
}
.acms-admin-container {
    overflow: hidden;
    max-width: 1200px;
    box-sizing: content-box;
}
html {
    font-size: 62.5%;
    overflow-y: scroll;
    overflow-x: hidden;
}
body {
    /* font-family: "メイリオ", Hiragino Sans, "ヒラギノ角ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; */
    font-size: 10px;
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.1em;
}
a:link,
a:visited {
    color: #152798;
    text-decoration: none
}
a:hover,
a:active {
    color: #152798;
    text-decoration: none
}
em,
strong {
    font-weight: bold
}
.clear {
    clear: both
}
body {
    background-color: #fff
}
/* 上からフェードイン */
.slide-top {
    opacity: 0;
    transform: translate(0, -20px);
    transition: all 0.7s ease-out;
}
  
  /* 下からフェードイン */
.slide-bottom {
    opacity: 0;
    transform: translate(0, 20px);
    transition: all 0.7s ease-out;
}

/* 左からフェードイン */
.slide-left {
    opacity: 0;
    transform: translate(-20px, 0);
    transition: all 0.7s ease-out;
}

/* 右からフェードイン */
.slide-right {
    opacity: 0;
    transform: translate(20px, 0);
    transition: all 0.7s ease-out;
}
ul.footer-link .fresh .recruit-btn {
    background-color: #1D3750;
    color: #FFFFFF;
}
ul.footer-link.job .fresh .recruit-btn {
    background-color: #ca0000;
}
ul.footer-link .career .recruit-btn {
    background-color: #786F68;
    color: #fff;
}/* contactリンク用 */
ul.footer-link .contact .custom {
    background-color: transparent;
    color: #000000;
    border: 1px solid #000000;
}
.entry .footer-link .action, .contact .footer-link .action {
    background-color: #ca0000;
}
.entry .footer-link .action.back, .contact .footer-link .action.back {
    background-color: #FFFFFF;
}
.entry form.job tr, .contact form.job tr {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.entry form.job tr:last-child, .contact form.job tr:last-child {
    border: none;
}
#globalNav {
    display: block;
    width: 67%;
    height: auto;
    max-width: 1600px;
    margin: 0;
    z-index: 9;
    background-color: transparent !important;
}
#globalNav li a {
    color: #fff
}
#top-btn a,
.action {
    background-color: #000;
    color: #fff
}
#globalNav ul {
    /* display: block; */
    text-align: center;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
}
#globalNav ul.nav-flex {
    display: flex;
    margin-bottom: 0;
    justify-content: flex-end;
    text-align: right;
    flex-wrap: wrap;
}
#globalNav ul.nav-flex li {
    display: inline-block;
    line-height: 0.4;
}
#globalNav ul.nav-recruit {
    display: flex;
    justify-content: space-around;
    width: 70%;
    margin: 0 auto;
}
#globalNav ul.nav-recruit li {
    width: 47%;
    background-color: #1e3751;
    transition: .2s;
}
#globalNav ul.nav-recruit li:hover {
    opacity: .8;
    transition: .2s;
}
#globalNav ul.nav-recruit li.career {
  background-color: #776f68;
}
#globalNav ul.nav-recruit li a {
    color: #ffffff;
    display: block;
}
#globalNav ul.nav-recruit li a:hover {
  color: #ffffff;
}
#globalNav ul li.fresh, #globalNav ul li.career {

}
#globalNav ul li a {
    text-decoration: none;
    display: inline-block;
    padding: 1.2vh 10px;
    color: #000000;
    font-size: 1.4rem;
    transition: .2s;
    border-right: 1px solid #ccc;
}
#globalNav ul li a:hover {
    opacity: 0.6;
    transition: .2s;
}
header.global {
    height: 100px;
    display: flex;
    align-items: center;
    z-index: 9999;
    background-color: #ffffff;
    width: 100%;
    max-width: 1600px;
    top: 0;
    padding-right: 20px;
    box-sizing: border-box;
}
header.global {
    height: 100px;
    display: flex;
}
header.global #corp-name {
    float: left;
    margin-top: 15px
}
header.global #corp-name .logo {
    width: auto;
    padding-right: 20px
}
header.global #corp-name h1 {
    display: table-row;
    font-size: 20px;
    font-size: 1.8rem;
    white-space: nowrap
}
header.global #corp-name h1 a {
    color: #666666;
    text-decoration: none;
    font-weight: bold;
}
header.global #corp-name h1 span {
    display: table-cell;
    line-height: 1.2;
    height: 70px;
    vertical-align: middle
}
header.global ul.footer-link {
    margin-left: 0;
    margin-top: 30px;
    line-height: 1
}
header.global ul.footer-link li {
    display: inline-block;
    margin-left: 15px
}
header.global ul.footer-link a {
    display: inline-block;
    padding: 10px 20px;
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: 0.2em
}
header.global ul.footer-link a::after {
    content: "";
    display: inline-block;
    width: 17px;
    height: 17px;
    margin-left: 10px;
    background-image: url('../images/common.png');
    background-repeat: no-repeat;
    background-position: -30px -120px;
    vertical-align: middle
}
header.global ul.footer-link a:hover {
    opacity: .6
}
header.global ul.footer-link a {
    text-decoration: none
}
header.global ul.footer-link a:hover {
    text-decoration: underline
}
footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 100px;
    border-top: none !important;
    background-color: #1e3750;
    color: #ffffff;
}
footer small {
    font-size: 14px;
    font-size: 1.4rem
}
footer #top-btn {
}
footer #top-btn a {
    display: block;
    background-color: #757575;
    width: 100px;
    height: 90px;
}
footer #top-btn span {
    display: block;
    padding-top: 25px;
    text-align: center;
}
footer #top-btn span::before {
    content: "";
    display: block;
    width: 35px;
    height: 22px;
    margin: 0 auto 5px;
    background-image: url('../images/icon_back.png');
    background-repeat: no-repeat;
}
footer #top-btn a {
    text-decoration: none
}
footer #top-btn a:hover {
    text-decoration: underline
}
main {
    font-size: 16px;
    font-size: 1.6rem;
    background-color: transparent;
}
main .top-entry-bg {
    position: relative;
    width: 100%;
    max-width: 150%;
    max-height: 300px;
    overflow: hidden;
}
main .top-entry-bg img {
    width: 600px;
    display: block;
    position: relative;
    left: -1%;
    top: -24px;
}
main .top-message-tile {
    background-color: #1e3750;
    margin-bottom: 80px;
}
main .top-message-tile:hover {
    opacity: .6;
}
.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}
main .top-interview-tile {
    background-color: #f0f0f0;
    margin: 0 auto 80px;
    max-width: 2000px;
}
main .top-entry-tile {
    background-color: #1e3750;
    margin-bottom: 0;
    min-height: 500px;
}
main .top-interview-tile-container {
    margin-bottom: 0;
}
main .top-interview-tile-container:nth-child(2) {
    margin-bottom: 80px;
}
main .top-interview-tile:hover {
    opacity: .6;
}
main .top-interview-bg {
    text-align: center;
    width:50%;
}
main .top-interview-title {
    display: flex;
}
main .top-interview-bg img {
    display: block;
    width: 100%;
}
main .top-message-txt-container {
    color: #ffffff;
    width: 50%;
    padding-top: 0;
    top: 0px;
    left: 40px;
    overflow: hidden;
    box-sizing: border-box;
    padding: 50px 0 0 50px;
}
main .top-interview-txt-container {
    color: #1e3750;
    width: 45%;
    position: relative;
    left: 35px;
    padding: 30px 0;
} 
main .interview-position {
    position: absolute;
    top: 24%;
    width: 105%;;
}
main .top-interview-h3 {
    text-align: left;
    padding-bottom: 10px;
    border-bottom: 3px solid #1e3750;
    width: 7em;
    font-size: 1.6rem;
    margin-bottom: 20px;
}
main .top-interview-txt, main .top-message-txt, main .top-entry-txt {
    position: relative;
}
main .top-interview-txt {
    font-size: 3rem;
    line-height: 4rem;
    letter-spacing: 0.3rem;
}
main .top-message-txt:before {
    content: "";
    position: absolute;
    left: 0;
    border-bottom: 1px solid #ffffff;
    right: 0;
    margin: 0 auto;
    top: -21px;
}
main .top-interview-txt:before {
    content: "";
    position: absolute;
    left: 0;
    border-bottom: 1px solid #1e3750;
    right: 0;
    margin: 0 auto;
    top: -21px;
}
main .top-culture-txt:before {
    content: "";
    position: absolute;
    border-bottom: 1px solid #ffffff;
    margin: 0 auto;
    top: 47px;
    width: 100%;
}
main .top-culture-tile {
    background: rgba(30, 55, 80, 1);
    margin-bottom: 80px;
    position: relative;
}
main .top-culture-txt-container {
    position: absolute;
    color: #ffffff;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    top: 47%;
    z-index: 9;
}
main .top-entry-txt-container {
    color: #ffffff;
    padding: 55px 100px;
    background-color: #1e3750;
    text-align: center;
}
.top-message-bg {
    width: 50%;
    position: relative;
    max-width: 150%;
    max-height: 300px;
    overflow: hidden;
}
.top-message-bg img {
    width: 650px;
    display: block;
    position: relative;
    left: -6%;
    top: -6px;
}
main .top-message-h3 {
    text-align: left;
    padding-bottom: 10px;
    border-bottom: 3px solid #ffffff;
    width: 14em;
    font-size: 1.6rem;
    margin-bottom: 20px;
}
main .top-entry-txt-container h3 {
    text-align: center;
    padding-bottom: 15px;
    border-bottom: 3px solid #ffffff;
    display: inline-block;
    font-size: 1.6rem;
    margin: 0 auto 10px auto;
}
main .top-messagge-txt-container h3 {
    text-align: left;
    padding-bottom: 10px;
    border-bottom: 3px solid #ffffff;
    width: 8em;
    font-size: 1.6rem;
    margin-bottom: 20px;
}
main .top-culture-h3 {
    border-bottom: 3px solid #ffffff;
    padding-bottom: 20px;
    width: 5em;
    margin: 0 auto;
    text-align: center;
    font-size: 1.6rem;
    margin-bottom: 15px;
}
main .top-entry-bg img {
    
}
main .top-entry-txt::before {
    content: "";
    position: absolute;
    left: 0;
    border-bottom: 1px solid #ffffff;
    right: 0;
    margin: 0 auto;
    top: -11px;
}
main .top-culture-txt, main .top-message-txt {
    font-size: 3rem;
    line-height: 4rem;
    letter-spacing: 0.3rem;
}
main .top-entry-txt {
    font-size: 2.4rem;
}
main .top-culture-bg {
    text-align: center;
    padding: 0 10px;
    opacity: 0.6;
}
main .top-culture-tile:hover {
    opacity: .6;
}
main .top-culture-bg img {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
}
main .tiles {
    margin: 0 auto
}
main .tile {
    position: relative;
    width: 100%;
    height: 250px;
    margin-bottom: 20px
}
main .tile:hover {
    opacity: .6
}
main .tile h3 {
    margin: 0;
    padding: 0;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.2
}
main .tile p {
    margin-bottom: 10px
}
main .tile .text {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    z-index: 5;
    display: block;
    width: 100%;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 15px;
    left: 0;
    bottom: 0;
    color: #fff
}
main .tile a {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    padding: 15px;
    top: 0;
    left: 0;
    z-index: 10;
    color: #fff;
    text-decoration: none
}
main .tile .bg {
    position: absolute;
    width: 100%;
    height: 250px;
    z-index: 1;
    overflow: hidden
}
main .tile .bg span {
    display: block;
    position: absolute;
    width: 100%;
    height: 250px;
    top: 0;
    left: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.4)
}
main .tile .bg img {
    position: absolute;
    margin: auto;
    max-height: 150%;
    max-width: 150%;
    left: -100%;
    right: -100%;
    top: -100%;
    bottom: -100%;
    width: 100%;
    height: auto;
}
main .message .entryHeader, main .interview .entryHeader {
    margin-bottom: 10px;
    text-align: center;
    overflow: hidden;
    border-bottom: 1px solid #1e3750;
    text-align: left;
    color: #1e3750;
    background-color: transparent;
}
main .message .entryHeader h1, main .interview .entryHeader h1 {
    line-height: 1;
    font-size: 30px;
    font-size: 2rem;
    padding-bottom: 20px;
    border-bottom: 3px solid #1e3750;
    width: 14em;
    margin: 0;
}

main .job .entryHeader, main .company .entryHeader, main .culture .entryHeader, main .interview-list .entryHeader,
main .recruit .entryHeader, main .career .entryHeader, main .q_a .entryHeader, main .entry .entryHeader, main .selection .entryHeader,
main .movie .entryHeader, main .recruit-list .entryHeader, main .contact .entryHeader {
    text-align: center;
    background-color: transparent;
    margin-bottom: 20px;
}

main .job .entryHeader:before, main .company .entryHeader:before, main .culture .entryHeader:before,
main .recruit .entryHeader:before, main .interview-list .entryHeader:before, main .career .entryHeader:before,
main .qa .entryHeader:before, main .entry .entryHeader:before, main .selection .entryHeader:before, main .movie .entryHeader:before,
main .contact .entryHeader:before {
    content: "";
    position: absolute;
    left: 0;
    border-bottom: 1px solid #ffffff;
    width: 50%;
    right: 0;
    margin: 0 auto;
    top: 55px;
}

main .job .entryHeader h1, main .company .entryHeader h1, main .culture .entryHeader h1, main .recruit .entryHeader h1,
main .interview-list .entryHeader h1, main .career .entryHeader h1, main .q_a .entryHeader h1, main .entry .entryHeader h1,
main .selection .entryHeader h1, main .movie .entryHeader h1, main .contact .entryHeader h1 {
    font-size: 2.4rem;
    border-bottom: 3px solid #ffffff;
    padding-bottom: 30px;
    width: 5em;
    margin: 0 auto;
}
main .selection .entryHeader h1 {
    width: 7em;
}
main .entry .entryHeader h1 {
    width: 11em;
}
main .fresh .entryHeader h1, main .career .entryHeader h1 {
    width: 10em;
}
main .interview-list .entryHeader h1 {
    width: 8em;
}
main .contact .entryHeader h1 {
    width: 7em;
}

main .recruit-table-container {
    background-color: #fafafa;
    padding: 100px;
    margin-bottom: 80px;
}

main .entryHeader {
    margin-bottom: 50px;
    text-align: center;
    overflow: hidden
}

main .recruit-entry-inquiry {
    padding: 40px 100px;
}
main .entry .recruit-entry-inquiry {
    background-color: #fafafa;
    padding: 40px 100px;
    max-width: 1200px;
    box-sizing: border-box;
}
main .entryHeader h1 {
    margin: 30px 0;
    line-height: 1;
    font-size: 30px;
    font-size: 3rem
}
main .entryHeader+.cover {
    margin-top: -50px
}
main .cover {
    margin-bottom: 60px;
    position: relative;
    color: #1e3750;
    background-color: #929292;
    height: 500px;
}
main .cover.top {
    margin-bottom: 80px;
    overflow: hidden
}
main .job .cover .front, main .company .cover .front, main .culture .cover .front,
main .interview-list .cover .front, main .recruit .cover .front, main .recruit-list .cover .front,
main .recruit .cover .front, main .fresh .cover .front, main .career .cover .front,
main .q_a .cover .front, main .entry.cover .front, main .selection .cover .front, main .movie.cover .front, main .contact.cover .front {
    position: absolute;
    z-index: 2;
    margin: auto;
    top: 185px;
    color: #ffffff;
    max-width: 980px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
main .interview-list .cover .front {
    top: 145px;
}
main .cover .front {
    position: absolute;
    z-index: 2;
    left: 0;
    margin: 0 auto;
    top: 10vh;
    left: 9vw;
}
main .cover .img-container-mv {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 1920px;
    height: 100%;
    margin: 0 auto;
    text-align: center;
    overflow: hidden
}
main .cover .img-container-mv::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 1920px;
    height: 100%;
    z-index: 2;
    opacity: 0.4
}
main .cover .img-container-mv div {
    width: 100%;
    max-width: 1920px;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: .6;
}
main .message .cover .img-container-mv div, main .interview .cover .img-container-mv div {
    background-position: top;
    opacity: 1;
}
main .cover .bg-blur {
    position: absolute;
    width: 110%;
    height: 140%;
    margin: auto
}
main .cover.top .img-container-mv div {
    -webkit-filter:blur(0);
    filter:blur(0)
}
main .cover h2 {
    margin: 0;
    padding: 70px 0 100px;
    font-size: 36px;
    font-size: 3.6rem;
    border: 0;
    text-align: center
}
main .interview-profile-box {
    margin: 0 auto;
    background-color: #776f68;
    color: #ffffff;
    padding: 30px;
}
main .interview-profile-box .text {
    width: 48%;
    border-left: 1px solid #ffffff;
    padding-left: 5%;
}
main .interview-profile-box .face {
    position: relative;
    width: 180px;
    height: 180px;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    overflow: hidden;
}
main .interview-profile-box .interview-profile-title {
    
}
main .interview-profile-box .name {
    margin-bottom: 10px;
}
main .interview-profile-box .face img {
    position: absolute;
    margin: auto;
    min-height: 100%;
    min-width: 100%;
    left: -100%;
    right: -100%;
    top: -100%;
    bottom: -100%;
}
main .cover .flex, main .interview-profile-box .flex {
    display: -ms-flexbox;
    -ms-flex-pack: justify;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: space-between;
    -webkit-align-items: space-between;
    align-items: center;
}
main .cover .flex .face {
    position: relative;
    width: 280px;
    height: 280px;
    margin-right: 90px;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    overflow: hidden
}
main .cover .flex .face img {
    position: absolute;
    margin: auto;
    min-height: 100%;
    min-width: 100%;
    left: -100%;
    right: -100%;
    top: -100%;
    bottom: -100%
}
main .job .cover .flex .text,main .company .cover .flex .text, main .culture .cover .flex .text,
main .interview-list .cover .flex .text, main .recruit-list .cover .flex .text, main .recruit .cover .flex .text,
main .fresh .cover .flex .text, main .career .cover .flex .text, main .q_a .cover .flex .text,
main .entry.cover .flex .text, main .selection .cover .flex .text, main .movie .cover .flex .text,
main .contact .cover .flex .text {
    width: 980px
}
main .interview .cover .flex .text {
    max-width: 530px
}
main .cover .bg {
    width: 100%;
    height: auto
}
main .cover.corp .face {
    -webkit-order: 2;
    order: 2;
    position: relative;
    width: 350px;
    height: 350px;
    margin-top: 45px;
    margin-left: 50px;
    margin-right: 0
}
main .cover.corp .message-txt, main .cover.interview .message-txt {
    padding: 0 0 30px;
    font-size: 40px;
    font-size: 3rem;
    line-height: 1.4;
    text-align: left;
    letter-spacing: 0.1em;
}

main .cover.job .message-txt, main .cover.company .message-txt, main .cover.culture .message-txt,
main .cover.interview-list .message-txt, main .cover.recruit .message-txt, main .cover.career .message-txt,
main .cover.qa .message-txt, main .cover.selection .message-txt, main .cover.movie .message-txt, main .cover.entry .message-txt,
main .cover.contact .message-txt {
    padding: 0 0 30px;
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.1em;
}
main .cover.corp .text {
    -webkit-order: 1;
    order: 1;
    width: 520px;
    margin: 0 0 0 20px
}
.interview .acms-container p.post {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.4;
    margin-bottom: 0;
}
.interview .acms-container p.prof-descri {
    margin-bottom: 0;
}
main .interview .post.post-occupation {
    margin-bottom: 15px;;
}
main .post-title-container {
    height: 60px;
    display: table;
    width: 100%;
    margin-bottom: 25px;
}
main .post.post-title {
    display: table-cell;
    vertical-align: middle;
}
main .post-bottom-content {
    
}
.interview .acms-admin-container p.name, .message .acms-admin-container p.name {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.4
}
.interview .interview-profile-box .name {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.4
}

.interview img.columnImage {
    width: 100%;
}
main .comment {
    font-size: 14px;
    font-size: 1.4rem
}
main #carousel .owl-stage-outer::before {
    content: "";
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.4
}
main #carousel .swiper-slide {
}
main #carousel_nav {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    z-index: 10;
    margin-top: -41px
}
main #carousel_nav .prev,
main #carousel_nav .next {
    position: absolute;
    width: 24px;
    height: 70px;
    padding: 6px 10px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-color: #000;
    opacity: 0.5;
    cursor: pointer
}
main #carousel_nav .prev::before,
main #carousel_nav .next::before {
    content: "";
    display: block;
    background-image: url('../images/common.png');
    background-repeat: no-repeat;
    width: 24px;
    height: 70px;
    cursor: pointer
}
main #carousel_nav .prev {
    left: 0
}
main #carousel_nav .prev::before {
    background-position: -346px 0
}
main #carousel_nav .next {
    right: 0
}
main #carousel_nav .next::before {
    background-position: -320px 0
}
main #carousel_pagination {
    margin-top: 10px;
    text-align: center
}
main #carousel_pagination .swiper-pagination-bullet {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 5px 7px;
    background-color: #D6D6D6;
    transition: opacity 0.2s ease;
    border-radius: 10px;
    opacity: 1
}
main #carousel_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #869791
}
main a#cover_link {
    position: absolute;
    z-index: 5;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer
}
main .cover.top {
    height: auto;
    background-color: transparent;
}
main .cover.top .front {
}
main .cover.top h2 {
    height: auto;
    line-height: 1.4;
    padding: 0;
    margin: 0 auto;
    width: 600px;
}
main .cover.top h2 span.mainCopy {
    display: table-cell;
    width: 600px;
    height: 100px;
    text-align: center;
    vertical-align: middle;
    background-color: #1e3750;
    letter-spacing: 1.4rem;
}
main .cover.top img {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto
}
main .coverImages div.image {
    position: relative;
    width: 100%;
    height: 370px;
    overflow: hidden;
    margin-bottom: 20px;
    background-size: cover
}
.footer-link-container {
    max-width: 1200px;
    margin: 0 auto;
}
main ul.footer-link.top,
main ul.footer-link.job,
main ul.footer-link.external {
    margin-left: 0;
    margin-top: 100px;
    line-height: 1;
    text-align: center
}
main ul.footer-link.top li,
main ul.footer-link.job li,
main ul.footer-link.external li {
    display: block;
    margin-left: 15px;
    margin-right: 15px
}
main ul.footer-link.top a,
main ul.footer-link.job a,
main ul.footer-link.external a {
    -moz-appearance: none;
    -webkit-appearance: none;
    display: inline-block;
    box-sizing: border-box;
    min-width: 350px;
    height: 80px;
    padding: 0 20px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 80px;
    letter-spacing: 0
}
/* main ul.footer-link.top a::after,
main ul.footer-link.job a::after,
main ul.footer-link.external a::after {
    content: "";
    display: inline-block;
    width: 23px;
    height: 23px;
    margin-left: 10px;
    background-image: url('../images/common.png');
    background-repeat: no-repeat;
    background-position: 0 -120px;
    vertical-align: middle
} */
main ul.footer-link.top a:hover,
main ul.footer-link.job a:hover,
main ul.footer-link.external a:hover,
main .entry .footer-link .action:hover  {
    opacity: .6
}
main ul.footer-link.top a,
main ul.footer-link.job a,
main ul.footer-link.external a {
    text-decoration: none
}
main ul.footer-link.top {
    display: -ms-flexbox;
    -ms-flex-pack: justify;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 40px 100px;
    background-color: #fafafa;
    max-width: 1200px;
    margin: 100px auto;
    box-sizing: border-box;
}
main ul.footer-link.top li {
    display: block;
    margin: 0;
    min-width: 30%;
}
main ul.footer-link.top li:first-child {
    /* margin-right: 15px */

}
main ul.footer-link.top li:last-child {
    /* margin-left: 15px */
}
main ul.footer-link.top a {
    display: block;
    min-width: auto;
    padding: 0;
    font-size: 18px;
    font-size: 1.8rem
}
main ul.footer-link.job {
    margin-top: 70px;
    margin-bottom: 20px
}
main ul.footer-link.job a {
    height: 80px;
    line-height: 80px;
    width: 43%;
    display: inline-block;
}
main ul.footer-link.job:hover {
    opacity: .6
}
main ul.footer-link.external {
    margin-top: 0;
    margin-bottom: 40px
}
main ul.footer-link.external li {
    display: block;
    width: 350px;
    margin: 0 auto 10px
}
main ul.footer-link.external a {
    height: 50px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 50px;
    color: #fff
}
main .corpSite a {
    display: inline-block;
    margin: 30px 0;
    padding: 20px 50px;
    border: 5px solid #000;
    color: #000;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1;
    vertical-align: middle
}
main .corpSite a::before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    background-image: url('../images/common.png');
    background-repeat: no-repeat;
    width: 11px;
    height: 17px;
    background-position: -260px -40px;
}
main .corpSite a:hover {
    opacity: .6
}
main .interview .acms-container h2 {
    padding: 15px 0 15px 20px;
    border-bottom: none;
    border-left: 5px solid #776f68;
}
main h2 {
    padding: 20px 0;
    margin-top: 25px;
    margin-bottom: 20px;
    border-bottom: 2px solid #dddddd;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.2;
}

.company h3:before, .company h3:after, .job .job-head:before, .job .job-head:after, .recruit-list h3:before, .recruit-list h3:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #444;
	display: block;
}
main h3:before, .job .job-head:before {
	margin-right: .4em;
}
main h3:after, .job .job-head:after {
	margin-left: .4em;
}

main h2.acms-admin-admin-title2 {
    padding: 4px 10px !important;
    margin: 10px 0 0 !important;
    border: 0;
    background: #9898a2;
    color: #fff;
    font-size: 13px;
    line-height: normal
}
main .newsTitle {
    margin-bottom: 60px
}
main .newsTitle h2 {
    padding-bottom: 0;
    border-bottom: 0
}
main h3 {
    padding: 10px 0;
    margin-top: 15px;
    margin-bottom: 10px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1
}
main .centering {
    clear: both;
    text-align: center
}
main .centering h2, .interview-list-link {
    font-size: 26px;
    font-size: 2.6rem;
    margin-top: 0;
    margin-bottom: 80px;
    text-align: center;
}
main .recruit-list .centering h2, main .entry .centering h2, main .contact .centering h2 {
    border-bottom: none;
    display: flex;
    align-items: center;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.2;
    margin-bottom: 20px;
}
main .entry .centering h2, main .contact .centering h2 {
    padding: 40px 0 20px;
}
main .contact .centering h2 {
    display: inline-block
}
main .recruit-list .centering h2:after, main .recruit-list .centering h2:before, main .entry .centering h2:after, main .entry .centering h2:before {
    content: "";
    flex-grow: 1;
    height: 1px;
    display: block;
}

main .recruit-list .centering h2:before, main .entry .centering h2:before {
    margin-right: .4em;
}

main .recruit-list .centering h2:after, main .entry .centering h2:after {
    margin-left: .4em;
}
main .entry .centering h2:before, main .entry .centering h2:after{
    background: transparent;
}
main .interview-list-link a {
    padding: 0 20px;
    display: inline-block;
    width: 23%;
    line-height: 80px;
    background-color: #ffffff;
    color: #000000;
    border: 1px solid #000000;
}
main .recruit .interview-list-link a, main .fresh .interview-list-link a, main .career .interview-list-link a {
    width: 42%;
    min-width: 350px;
    box-sizing: border-box;
    font-size: 1.6rem;
}
main .interview-list-link a:hover {
    opacity: .6;
}

main .fresh .entry-back-btn , main .career .entry-back-btn {
    margin-bottom: 20px;
}

main .fresh .entry-back-btn a, main .career .entry-back-btn a {
    font-size: 2rem;
}

main .message .acms-container h2 {
    display: inline-block;
    line-height: 1.5;
    font-size: 30px;
    font-size: 2.4rem;
    padding-bottom: 30px;
    text-align: left;
    position: relative;
    border-bottom: 3px solid #1e3750;
    margin-bottom: 30px;;
}

main .message .acms-container h2:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 79vw;
    border-bottom: 1px solid #1e3750;
    max-width: 1000px;
}

main .company h3, .job .job-head, .recruit-head {
    display: flex;
	align-items: center;
    border-bottom: none;
    padding: 20px 0;
    margin-top: 25px;
    margin-bottom: 40px;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.2;
}
main .job div.section {
    position: relative;
    margin-bottom: 80px;
    background-color: #fafafa;
    padding: 20px 100px 70px 80px;
    width: 85%;
    box-sizing: border-box;
    min-height: 300px;
}

main .sdgs div.section {
    position: relative;
    margin-bottom: 80px;
    background-color: #fafafa;
    padding: 20px 100px 70px 200px;
    width: 85%;
    box-sizing: border-box;
    min-height: 300px;
}
main .job div.section:nth-child(even) {
    margin: 0 0 80px auto;
    padding: 20px 50px 70px 350px;
}
main .sdgs div.section:nth-child(even) {
    margin: 0 0 80px auto;
    padding: 20px 50px 70px 100px;
}
main .job div.section:last-child {
    margin-bottom: 0;
}
main .culture div.section {
    position: relative;
    margin-bottom: 80px;
    background-color: #fafafa;
    min-height: 450px;
    padding: 30px 100px 60px;
}
main .culture div.section:last-child {
    margin-bottom: 0;
}
main .culture div.section:before {
    display: block;
    content: 'POINT';
    background: #776f68;
    color: #ffffff;
    position: absolute;
    border-radius: 50%;
    margin-right: 10px;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    top: -5px;
    font-weight: bold;
}

.catchcopy {
    width: 80%;
    padding: 20px;
    position: absolute;
    z-index: 2;
    top: 48%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.catchcopy-txt {
    color: #ffffff;
    font-weight: bold;
    -moz-text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.8);
    -webkit-text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.8);
    -ms-text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.8);
    text-shadow: 0px 0px 6px rgb(0 0 0 / 80%);
    font-size: 3rem;
    text-align: center;
    letter-spacing: 0.4em;
}

.top-video {
    width: 100%;
}

main .culture div.section:after {
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -11px;
    border: 11px solid transparent;
    border-top: 15px solid #776f68;
    z-index: 0;
    top: 41px;
  }

main .job div.section h2 {
    border-bottom: none;
    margin-bottom: 10px;
}
main .job div.section h2:nth-child(odd) {
    
}
main .culture div.section h2 {
    text-align: center;
    padding: 30px 0;
    border-bottom: 2px solid #1e3750;
    margin-bottom: 40px;
}
main .job div.section p {
    padding: 0 30% 0 0px;
}
main .job div.section:nth-child(even) p {
    padding: 0 10% 0 0px;
}
main div.section {
    margin-bottom: 80px
}

main .job-search-form {
    transition: .2s;
}
main .job-search-form label {
    display: inline-block;
    margin-right: 30px;
    cursor: pointer;
}

main .job-search-form .search-form-checkbox {
    /* border: 1px solid rgb(118, 118, 118);
    background-color: #ffffff; */
    padding: 10px;
}

main .job-search-form .serach-form-container {
    margin: 0 auto 45px auto;
    width: 600px;
}

main .job-search-form .serach-form-item {

}

main .job-search-form .job-search-form-submit {
    display: block;
    width: 30%;
    margin: 0 auto 70px auto;
}

main .job-search-form select, main .job-search-form input, main .job-search-form .search-form-checkbox {
    width: 600px;
    margin-bottom: 20px;
    padding: 5px 10px;
    box-sizing: border-box;
}

main .job-search-form input[type="checkbox"] {
    width: auto;
    margin-bottom: 0;
}

main .message div.section {
    margin-bottom: 50px
}
main .recruit-info-box {
    background-color: #fafafa;
    padding: 60px 100px 80px 100px;
    margin-bottom: 80px;
}
main table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-all;
}
main table th,
main table td {
    padding: 20px 30px;
    border: 1px solid #e6e6e6;
}
main table.jobs td {
    padding: 20px 30px;
    border: none;
}
main table th {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 200px;
    background-color:#757575;
    color: #ffffff;
    border: 1px solid #e6e6e6;
}
main form.job th {
    background-color: transparent;
    border: none;
    color: #000000;
    font-weight: bold;
}
main form.job td {
    border: none;
    color: #000000;
}
main .entry form.job td {
    padding: 40px 0;
}
main table.jobs th {
    border: none;
}
main table.jobs .fresh th {
    background-color: #1e3750;
}
main table.jobs th {
    width: 20%;
    padding: 10px 20px;
    background-color: #776f68;
    color: #fff
}
main table.jobs th.wide {
    width: 35%
}
main table.jobs th.narrow {
    width: 15%
}
main table.jobs td {
    padding: 20px
}
main table.jobs td.em {
    font-weight: bold
}
main table.jobs tr:nth-child(2n) {
    background-color: #e8ebed
}
main table.jobs .js-biggerlink:hover {
    background-color: #f0f0f0
}
main .act {
    text-align: center
}
main .act::after {
    content: "";
    display: inline-block;
    width: 114px;
    height: 28px;
    background-image: url('../images/common.png');
    background-repeat: no-repeat;
    margin-top: 10px;
    background-position: -80px -120px
}
main .act .bg {
    text-align: left;
    overflow: hidden;
    background-color: #e3ebf3
}
main .act .image {
    float: right;
    margin-left: 30px
}
main .act .image img {
    display: block
}
main .act .text {
    margin: 30px;
    font-size: 14px;
    font-size: 1.4rem
}
main .act .title {
    margin-bottom: 20px;
    font-size: 18px;
    font-size: 1.8rem
}
main .act .title span {
    margin-right: 20px;
    padding: 5px 15px;
    background-color: #555555;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem
}
main .day .act:last-child {
    margin-bottom: 80px
}
main .day .act:last-child::after {
    display: none
}
main .day .act:last-child .bg {
    background-color: #f1f1f1
}
main .interviewLink {
    overflow: hidden;
    text-align: center
}
main .interviewLink .person {
    display: inline-block;
    width: 450px;
    margin: 0 0 50px 50px;
    text-align: center;
    vertical-align: top;
    background-color: #776f68;
    border-radius: 15px;
}
main .interviewLink .person:last-child {
    margin-bottom: 0;
}
main .interviewLink .person:nth-child(odd) {
    margin: 0;
}
main .interviewLink .face {
    position: relative;
    width: 450px;
    height: 260px;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
}
main .list-txt {
    position: relative;
    background-color: #776f68;
    color: #ffffff;
    padding: 30px;
    border-radius: 0 0 10px 10px;
}
main .interviewLink .face img {
    position: absolute;
    margin: auto;
    max-height: 150%;
    max-width: 150%;
    left: -100%;
    right: -100%;
    top: -100%;
    bottom: -100%;
    z-index: 1;
    height: 100%;
}
main .interviewLink .face span {
    display: block;
    position: absolute;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 150px;
    height: 150px;
    border: 8px solid #000;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    z-index: 10;
    opacity: 0.4
}
main .interviewLink .post-occupation, main .interviewLink .post-occupation {
    font-size: 14px;
    font-size: 1.4rem
}
main .interviewLink .post-title{
    font-size: 2.2rem;
    line-height: 1.4;
}
main .interviewLink .name {
    font-size: 24px;
    font-size: 2.4rem
}
main .interviewLink a {
    color: #000
}
main .interviewLink a .face span {
    border: 0
}
main dl.qa, main dl.selection-content {
    margin-bottom: 60px;
    display: flex;
    align-items: center;
    color: #ffffff;
    justify-content: center;
    background: linear-gradient(90deg, #1e3750 0%, #1e3750 50%, #776f68 50%, #776f68 100%);
}
main dl.qa:last-child, main dl.selection-content:last-child {
    margin-bottom: 0;
}
main dl.selection-content {
    background: linear-gradient(90deg, #1e3750 0%, #1e3750 30%, #ffffff 30%, #ffffff 100%);
}
main dl.qa dt,
main dl.qa dd,
main dl.selection-content dt,
main dl.selection-content dd {
    position: relative;
    padding-left: 70px
}
main dl.qa dt, main dl.selection-content dt {
    font-size: 1.6rem;
    width: 50%;
    box-sizing: border-box;
    padding: 50px 50px 50px 125px;
}
main dl.selection-content dt {
    width: 30%;
    text-align: center;
    padding: 0 50px;
}
main dl.qa dt::before {
    content: "Q";
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    width: 40px;
    height: 110px;
    top: 0;
    left: 50px;
    bottom: 0;
    margin: auto;
    font-size: 5rem;
}
main dl.qa dt::after{
    content: "";
    position: absolute;
    top: 42%;
    right: -29px;
    margin: auto;
    box-sizing: border-box;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 20px 30px;
    border-color: transparent transparent transparent #1e3750;
    z-index: 2;
}
main dl.qa .qa-txt, main dl.selection-content .selection-txt {
    width: 100%;
    box-sizing: border-box;
}
main dl.qa dd, main dl.selection-content dd {
    font-size: 1.6rem;
    width: 50%;
    box-sizing: border-box;
    padding: 50px 50px 50px 125px;
}
main dl.selection-content dd {
    width: 70%;
    color: #000000;
    text-align: justify;
    text-justify: inter-ideograph;
    padding: 50px;
}
main .selection-heading {
    margin-bottom: 75px;
}
main .selection-heading a, main .anchor-list {
    display: block;
    background-color: #fafafa;
    border-radius: 25px;
    font-size: 2.4rem;
    padding: 20px 20px 20px 60px;
    margin-bottom: 20px;
    color: #1e3750;
    position: relative;
}
main .selection-heading a::before, main .anchor-list::before {
    content: "\025bc";
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    width: 20px;
    height: 40px;
    top: 0;
    left: 18px;
    bottom: 0;
    margin: auto;
    font-size: 2rem;
}
main .job .job-head {
    font-size: 2.4rem;
    text-align: center;
    margin: 30px 0;
}
main dl.qa dd::before {
    content: "A";
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    width: 40px;
    height: 110px;
    top: 0;
    left: 50px;
    bottom: 0;
    margin: auto;
    font-size: 5rem;
}
main .flow li {
    position: relative;
    list-style-type: none;
    border-radius: 30px;
    color: #776f68;
    line-height: 50px;
}
main ol.flow {
    margin-left: 0;
    text-align: center;
}
main .flow li {
    margin-bottom: 40px;
    background-color: #e8ebed;
}
main .flow li:last-child {
    margin-bottom: 0;
    background-color: #776f68;
    color :#ffffff;
  }
main .flow li:not(:last-child)::after {
    content: "";
    border: solid transparent;
    position: absolute;
    top: 63px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-width: 15px 10px;
    border-top-color: #776f68;
}
main .select-point {
    margin-left: 0;
}
main .select-point-item {
    list-style-type: none;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    background-color: #776f68;
    margin-bottom: 30px;
}
main .select-point-item:last-child {
    margin-bottom: 0;
}
main .select-point-txt {
    width: 75%;
    background-color: #ffffff;
    padding: 10px 0 10px 20px;
}
main .select-point-item .select-point-number {
    font-size: 1.8rem;
    color: #ffffff;
    width: 25%;
    text-align: center;
}
main .coverImages .company-img-center {
    float: none;
    width: 700px;
    margin: 0 auto;
}
main .coverImages .company-img-center img {
    width: 100%;
}
main .movie-list {
    display: flex;
    justify-content: space-between;
    margin-left: 0;
    flex-wrap: wrap;
}
main .movie-list .movie-item {
    list-style-type: none;
    width: 46%;
    margin-bottom: 50px;
}
main .movie-list .movie-item .movie-item-title {
    font-size: 2.4rem;
    text-align: center;
    line-height: 3.6rem;
}
main ul.jobs {
    list-style: disc
}
main ul.jobs li {
    margin-left: 20px
}
main .indexEntrySummary li {
    margin-bottom: 30px;
    padding-bottom: 30px;
    font-size: 16px;
    font-size: 1.6rem;
    border-bottom: 1px solid #ccc
}
main .indexEntrySummary li .date {
    display: block;
    font-size: 14px;
    font-size: 1.4rem
}
main .newsEntrySummary {
    padding: 20px;
    margin-bottom: 30px;
    border: 1px solid #777
}
main .newsEntrySummary ul {
    margin-left: 0
}
main .newsEntrySummary ul li {
    list-style: none;
    position: relative;
    margin-bottom: 10px;
    padding-left: 8em
}
main .newsEntrySummary ul li .date {
    position: absolute;
    left: 0;
    margin-right: 20px
}
main .news .date {
    display: block
}
main .news li {
    list-style: none;
    margin-bottom: 30px;
}
main .pager::before {
    display: block;
    content: "";
    clear: both;
    height: 1px
}
main .pager li {
    display: inline-block;
    padding: 0 2px 10px;
    line-height: 1;
    font-size: 12px;
    font-size: 1.2rem
}
main .pager li span {
    display: inline-block
}
main .pager li.cur span,
main .pager li a {
    display: inline-block;
    padding: 10px;
    border: 1px solid #000;
    background-color: #000;
    color: #fff
}
main .pager li.cur span {
    background-color: #fff;
    color: #000
}
main .inquiry {
    margin: auto;
    padding: 20px;
    text-align: center;
    margin-bottom: 30px;
    color: #ffffff;
}
main .recruit-entry-inquiry .other {
    text-align: center;
    color: #1c344b;
}
main .recruit-entry-inquiry h2 {
    border-bottom: none;
    color: #1c344b;
    margin-bottom: 0;
    padding: 0 0 40px 0;
}
main .inquiry .email {
    font-size: 16px;
    font-size: 1.6rem
}
main .inquiry .tel {
    font-size: 26px;
    font-size: 2.6rem
}
main .inquiry .tel a {
    color: #ffffff;
}
main .inquiry .tel span {
    font-size: 16px;
    font-size: 1.6rem
}
main .inquiry .other {
    font-size: 14px;
    font-size: 1.4rem
}
main form.job table {
    margin-bottom: 20px
}
main form.job input[type=text],
main form.job input[type=tel],
main form.job input[type=number],
main form.job textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 5px;
    background-color: #f1f1f1;
    font-size: 14px;
    font-size: 1.4rem;
    border: 1px solid #ddd;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    background-color: #ffffff;
}
main form.job th {
    width: 255px;
    padding: 60px 30px;
}
main form.job span.required-icon {
    width: 30px;
    display: block;
    padding: 2px 10px;
    line-height: 1;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    background-color: #ff0000;
    line-height: 2em;
    margin-right: 10px;
}
main form.job label {
    display: inline-block;
    margin-right: 10px
}
main form.job .full {
    width: 100%
}
main form.job .half {
    width: 60%
}
main form.job .narrow {
    width: 20%
}
main .action {
    -moz-appearance: none;
    -webkit-appearance: none;
    border: 0;
    display: inline-block;
    height: 50px;
    margin-top: 20px;
    padding: 0 30px;
    font-family: inherit;
    font-size: 20px;
    font-size: 2rem;
    line-height: 50px;
    color: #fff
}
/* main .action::after {
    content: ">";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 10px;
    font-size: 2rem;
} */
main .back {
    border: 1px solid #000;
    background-color: #fff;
    color: #000
}
main .back::after {
    display: block
}
main .comfirmButtons {
    position: relative;
    text-align: center
}
main .comfirmButtons .backButton {
    /* position: absolute;
    top: 0;
    left: 0 */
}
main .privacy-container {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin: 20px auto;
    padding: 20px 50px;
    border: 1px solid #e6e6e6;
    height: 250px;
    overflow-y: scroll;
    padding: 20px;
    background-color: #ffffff;
    text-align: left;
}
main .mt60 {
    margin-top: 60px
}
main .mt40 {
    margin-top: 40px
}
main .mb40 {
    margin-bottom: 40px
}
main .mb20 {
    margin-bottom: 20px
}
main .mb10 {
    margin-bottom: 10px
}
main .pt30 {
    padding-top: 30px
}
main .textRight {
    text-align: right
}
main .textCenter {
    text-align: center
}
main .textLeft {
    text-align: left
}
.bg-wrap {
    background-color: transparent;
}
#outer-wrap {
    max-width: 1600px;
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
    body {
        font-size: 120%
    }

    .acms-container{
        padding: 0 10px;
        min-width: initial;
    }
    .acms-container p, .acms-container dd {
        font-size: 16px;
        line-height: 2.8rem;
    }
    header .acms-container {
        padding: 0 0 0 15px;
        width: 62%;
    }
    a[href^="tel:"]{
        pointer-events: initial;
      }
    .q_a .acms-container, .selection .acms-container, .movie .acms-container {
        padding: 40px 10px 0 10px;
    }
    .q_a .acms-container {
        padding: 40px 10px 40px 10px;
    }
    #menu {
        position: absolute;
        top: 0;
        right: 0;
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: 0 0;
        width: 50px;
        height: 50px
    }
    #menu.opened {
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -55px 0
    }
    #globalNav {
        display: none;
    }
    #globalNav ul {
        margin: 0 -10px;
        line-height: 1
    }
    #globalNav ul li {
        display: block;
        float: none;
    }
    #globalNav ul li a {
        display: block;
        vertical-align: middle;
    }
    /* #globalNav ul li a::before {
        content: "";
        margin-right: 10px;
        display: inline-block;
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -110px 0;
        width: 16.5px;
        height: 16.5px
    } */
    #globalNav .corpSite a {
        display: block;
        margin: 25px 0;
        padding: 10px;
        border: 3px solid #fff;
        color: #fff;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1;
        vertical-align: middle
    }
    #globalNav .corpSite a::before {
        content: "";
        display: inline-block;
        margin-right: 10px;
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -110px -20px;
        width: 8px;
        height: 13.5px
    }
    header.global {
        height: 50px
    }
    #globalNav .acms-admin-container {
        width: 80%;
        top: 21vh;
    }
    header.global #corp-name {
        margin: 6px 0 0 5px
    }
    header.global #corp-name .logo {
        padding-right: 10px
    }
    header.global #corp-name .logo img {
        height: 35px
    }
    header.global #corp-name h1 {
        font-size: 12px;
        font-size: 1.2rem;
        width: 260px;
        white-space: normal;
        line-height: 1
    }
    header.global #corp-name h1 span {
        height: 35px
    }
    header.global ul.footer-link {
        display: none
    }
    #globalNav ul.nav-recruit {
      flex-direction: column;
      width: 100%;
    } 
    #globalNav ul.nav-recruit li {
      width: 80%;
      margin: 0 auto;
    }
    #globalNav ul.nav-recruit li.fresh {
      margin-bottom: 20px;
    }
    #globalNav ul.nav-flex {
      margin-bottom: 20px;
    }
    main {
        /* margin-bottom: 50px */
    }
    main .entryHeader {
        margin-bottom: 10px;
        text-align: center;
        overflow: hidden;
        border-bottom: 1px solid #1e3750;
        text-align: left;
        color: #1e3750;
    }
    main .cover {
        margin-bottom: 0;
        height: 42vh;
    }
    main .cover .front {
        min-height: auto;
        padding-bottom: 20px
    }
    main .cover .flex {
        /* display: block; */
        margin-bottom: 0
    }
    main .cover .flex .face {
        width: 180px;
        height: 180px;
        margin: 10px auto
    }
    main .cover .flex .face img {
        position: absolute;
        margin: auto;
        max-height: 150%;
        max-width: 150%;
        left: -100%;
        right: -100%;
        top: -100%;
        bottom: -100%
    }
    main .cover .flex .text {
        width: auto;
        float: none;
        line-height: 1.3;
        text-align: center;
        margin-bottom: 0;
    }
    main .interview .cover .flex .text, main .message .cover .flex .text {
        max-width: 240px;
    }

    .catchcopy {
        width: 75%;
        padding: 10px;
    }

    .catchcopy-txt {
        font-size: 1.8rem;
        line-height: 1.4;
        letter-spacing: 0.2em;
    }

    .top-video {
        height: 100%;
        width: 180%;
    }

    main .cover h2 {
        padding: 20px 0;
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.3
    }
    main .cover .bg {
        width: 100%;
        height: auto
    }
    main .cover.corp .face {
        width: 220px;
        height: 220px;
        float: none;
        margin: 20px auto;
    }
    main .cover.corp h2 {
        padding: 20px 0;
        font-size: 22px;
        font-size: 2.2rem;
        text-align: center
    }
    main .cover.corp .text {
        width: 80%;
        margin: 0
    }
    main .cover.corp .name,
    main .cover.corp .post {
        text-align: left;
        font-size: 16px;
        font-size: 1.6rem;
    }
    main .textsp {
        color: #000;
        margin: -40px 10px 20px
    }
    /* main #carousel .swiper-slide {
        height: 200px
    } */
    main #carousel_nav {
        margin-top: -28px
    }
    main #carousel_nav .prev,
    main #carousel_nav .next {
        width: 12px;
        height: 35px;
        padding: 6px 5px
    }
    main #carousel_nav .prev::before,
    main #carousel_nav .next::before {
        content: "";
        display: block;
        width: 12px;
        height: 35px;
        cursor: pointer
    }
    main #carousel_nav .prev {
        left: 0
    }
    main #carousel_nav .prev::before {
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -173px 0
    }
    main #carousel_nav .next {
        right: 0
    }
    main #carousel_nav .next::before {
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -160px 0   
    }
    main .cover.top .front {
        height: 200px
    }
    main .cover.top h2 {
        height: 200px
    }
    main .cover.top h2 span.mainCopy {
        height: 200px;
        font-size: 18px;
        font-size: 1.8rem
    }
    main .tile {
        height: auto
    }
    main .tile h3 {
        margin: 0;
        padding: 0;
        font-size: 16px;
        font-size: 1.6rem
    }
    main .tile a {
        height: 115px;
        padding: 10px
    }
    main .tile .text {
        position: static;
        display: block;
        padding: 10px 0 0;
        line-height: 1.4;
        font-size: 14px;
        font-size: 1.4rem;
        height: auto;
        color: #000
    }
    main .tile .bg {
        position: relative;
        height: 115px
    }
    main .tile .bg span {
        height: 115px
    }
    main .coverImages div.image {
        height: 140px
    }
    main ul.footer-link.top,
    main ul.footer-link.job,
    main ul.footer-link.external {
        text-align: center;
        padding: 20px;
        margin: 40px 0;
    }
    main ul.footer-link.job {
        margin-bottom: 20px;
    }
    main ul.footer-link.top {
        margin: 40px 0px;
    }
    main .recruit .interview-list-link a, main .fresh .interview-list-link a, main .career .interview-list-link a {
        width: 88%;
        min-width: unset;
    }
    main .fresh .entry-back-btn a, main .career .entry-back-btn a {
        font-size: 1.6rem;
    }
    main ul.footer-link.top li,
    main ul.footer-link.job li,
    main ul.footer-link.external li {
        display: block;
        width: 100%;
        margin-left: 0;
        margin-bottom: 20px
    }
    main ul.footer-link.top li:first-child,
    main ul.footer-link.job li:first-child,
    main ul.footer-link.external li:first-child {
        margin-right: 0
    }
    main ul.footer-link.top li:last-child,
    main ul.footer-link.job li:last-child,
    main ul.footer-link.external li:last-child {
        margin-left: 0;
        margin-bottom: 0;
    }
    main ul.footer-link.top a,
    main ul.footer-link.job a,
    main ul.footer-link.external a {
        display: block;
        min-width: 90%;
        width: 100%;
        height: auto;
        padding: 10px 20px;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.2;
        letter-spacing: 0
    }
    /* main ul.footer-link.top a::after,
    main ul.footer-link.job a::after,
    main ul.footer-link.external a::after {
        content: "";
        display: inline-block;
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -110px 0;
        width: 16.5px;
        height: 16.5px
    } */
    main ul.footer-link.top a,
    main ul.footer-link.job a,
    main ul.footer-link.external a {
        text-decoration: none;
        padding: 25px 20px;
    }
    main ul.footer-link.top a:hover,
    main ul.footer-link.job a:hover,
    main ul.footer-link.external a:hover {
        text-decoration: underline
    }
    main ul.footer-link.external {
        margin-top: 0
    }
    main .corpSite a {
        display: block;
        margin: 20px 0;
        padding: 10px 0;
        border: 4px solid #000;
        font-size: 16px;
        font-size: 1.6rem
    }
    main .corpSite a::before {
        content: "";
        display: inline-block;
        margin-right: 10px;
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -130px -20px;
        width: 5.5px;
        height: 8.5px
    }
    main h2 {
        padding: 20px 0 10px;
        margin-top: 10px;
        margin-bottom: 10px;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.2
    }
    main h3 {
        font-size: 16px;
        font-size: 1.6rem
    }
    main .company-container h3 {
        padding: 10px 0;
        margin-top: 10px;
        margin-bottom: 20px;
        font-size: 1.8rem;
    }
    main .coverImages .company-img-center {
        width: 100%;
    }
    main .centering h2 {
        display: inline-block;
        font-size: 22px;
        font-size: 2.2rem;
        margin-bottom: 20px
    }
    main div.section {
        margin-bottom: 40px
    }
    main dl.qa, main dl.selection-content {
        margin-bottom: 40px;
        padding: 0;
        flex-direction: column;
        background: transparent;
    }
    main dl.selection-content {
        background: transparent;
    }
    main dl.qa dt,
    main dl.qa dd {
        position: relative;
        min-height: unset;
    }
    main dl.selection-content dt, main dl.selection-content dd {
        width: 100%;
        padding: 20px;
    }
    main dl.selection-content dt {
        background-color: #1e3750;
        font-size: 1.4rem;
    }
    main dl.selection-content dd {
        background-color: #ffffff;
    }
    main dl.qa dt {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.4;
        width: 100%;
        background-color: #1e3750;
        padding: 20px 20px 20px 50px;
    }
    main dl.qa dt::before {
        width: 20px;
        height: 40px;
        top: 0;
        left: 15px;
        bottom: 0;
        margin: auto;
        font-size: 2.4rem;
    }
    main dl.qa dt::after {
        content: none;
    }
    main dl.qa dd {
        font-size: 14px;
        font-size: 1.4rem;
        width: 100%;
        background-color: #776f68;
        padding: 20px 20px 20px 50px;
    }
    main dl.qa dd::before {
        width: 20px;
        height: 40px;
        top: 0;
        left: 15px;
        bottom: 0;
        margin: auto;
        font-size: 2.4rem;
    }
    main dl.qa .qa-txt {
        position: static;
        width: 100%;
    }
    main table tr {
        display: flex;
        flex-direction: column;
    }
    main table th,
    main table td {
        padding: 10px;
        width: 100%;
        box-sizing: border-box;
        border: none;
    }
    main table th {
        width: 100%;
        text-align: center;
        padding: 0;
    }
    main table.jobs th {
        width: auto;
        white-space: nowrap;
        line-height: 1.2;
        padding: 5px 10px
    }
    main table.jobs td {
        padding: 15px 10px;
        line-height: 1.4
    }
    main .inquiry {
        border: 10px solid #999;
        width: auto;
        padding: 10px;
        text-align: center
    }
    main .inquiry .email {
        font-size: 14px;
        font-size: 1.4rem
    }
    main .inquiry .tel {
        font-size: 20px;
        font-size: 2rem
    }
    main .inquiry .tel span {
        font-size: 12px;
        font-size: 1.2rem
    }
    main .inquiry .other {
        font-size: 13px;
        font-size: 1.3rem
    }
    main .news,
    main .newsEntrySummary {
        padding: 10px;
        margin-bottom: 20px
    }
    main .news ul li,
    main .newsEntrySummary ul li {
        padding-left: 0
    }
    main .news ul li .date,
    main .newsEntrySummary ul li .date {
        position: static;
        display: block;
        margin-right: 10px
    }
    main form.job th {
        width: 100%;
        text-align: left;
        padding: 20px 0 10px;
    }
    .culture .column-image-right, .culture .column-image-left {
        margin-bottom: 10px;
    }
    main .job-search-form input {
        width: 100%;
        width: 100%;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    main .job-search-form select {
        width: 100%;
    }
    main .job-search-form label {
        display: inline-block;
        width: 100%;
    }
    main .job-search-form input[type="checkbox"] {
        width: auto;
        margin-bottom: 10px;
    }
    main .job-search-form .serach-form-item {
        width: 60%;
        margin: 0 auto;
    }
    main .job-search-form .search-form-checkbox {
        width: auto;
    }
    main .job-search-form .serach-form-container {
        width: 100%;
    }
    main form.job .full {
        width: 100%
    }
    main form.job .half {
        width: 100%
    }
    main form.job .narrow {
        width: 40%
    }
    main form.job .action {
        font-size: 12px;
        font-size: 1.2rem
    }
    main .action::after {
        width: 12px;
        height: 12px;
        margin-left: 10px;
        font-size: 1.2rem;
    }
    main .privacy-container {
        -webkit-overflow-scrolling: touch;
        margin: 20px auto;
        padding: 10px;
        font-size: 1.4rem;
    }
    main .comfirmButtons .backButton {
        position: relative
    }
    .job .column-image-right,
    .job .column-image-left {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px;
        position: static;
        padding: 0;
        top: auto;
        transform: initial;
    }
    .mt40 {
        margin-top: 20px
    }
}
.hide {
    display: none
}

@media screen and (max-width: 416px) {
    main .act {
        text-align: center
    }
    main .act .image {
        float: none;
        margin-left: 0
    }
    main .act .image img {
        display: block;
        width: 100%;
        height: auto
    }
    main .act .text {
        margin: 10px
    }
    main .act .title span {
        margin-right: 10px
    }
}

main .inline_youtube {
    width: 100%;
    margin: 0 auto
}
main .inline_youtube .youtube_container {
    position: relative;
    height: 0;
    overflow: hidden;
    max-width: 100%
}
main .inline_youtube .youtube_container iframe,
main .inline_youtube .youtube_container object,
main .inline_youtube .youtube_container embed,
main .inline_youtube .youtube_container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}
main .sound_on_off {
    position: absolute;
    z-index: 10;
    margin-top: -30px;
    right: 20px
}
main .sound_on_off span {
    display: inline-block;
    padding: 4px 10px;
    border: 1px solid #333;
    background-color: #fff;
    cursor: pointer;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1
}
main .sound_on_off span.off {
    background-color: #333;
    color: #fff
}
main ul,
main ol {
    margin-left: 30px
}
main ul.job-list-wrap {
    margin-left: 0;
}
main ul li,
main ol li {
    margin-bottom: 5px
}
main ol li {
    list-style: decimal
}
main ul li {
    list-style: disc
}
main ul li.job-list {
    list-style: none;
    border: 1px solid #e9e9e9;
    transition: .2s;
    background-color: #ffffff;
}
main ul li.job-list:hover {
    list-style: none;
    box-shadow: 0px 1px 7.6px 0.4px rgb(0 0 0 / 36%);
    transition: .2s;
}
main ul li.job-list a {
    display: block;
    padding: 40px 30px;
    color: inherit;
}
.job-list-title {
    font-size: 2rem;
    line-height: 4rem;
    font-weight: bold;
}
.job-list-description {
    margin-bottom: 15px;
}
.job-list-salary {
    font-size: 2rem;
}
main ul li .job-list-icon {
    border: 1px solid #000000;
    display: block;
    min-width: 9em;
    text-align: center;
    line-height: 40px;
    padding: 0 20px;
}
main ul li .job-list-left {
    display: flex;
    align-items: center;
}
main ul li .job-list-address {
    margin: 0 6%;
    border-right: 1px solid #000000;
    padding-right: 6%;
    max-width: 220px;
    width: 32%;
}
main .hide_units {
    display: none
}

.h2-top-container {
	position: relative;
}

.h2-top-col {
	position: absolute;
	top: -280px;
	background-color: #ffffff;
	color: #213452;
	font-weight: bold;
	padding: 10px 100px 15px;
	z-index: 1;
	border-top: 5px solid;
}

.h2-top {
	font-size: 3.2rem;
	border-bottom: none;
	line-height: 6.4rem;
}

main #carousel .swiper-slide {
    opacity: .9;
}

.menu {
    width: 30px;
    height: 30px;
    display: block;
    position: relative;
    box-sizing: border-box;
    margin-right: 20px;
    cursor: pointer;
  }

  .menu-txt-wrap {
    cursor: pointer;
  }

  .menu-box {
    display: none;
  width: 200px;
  height: 100%;
  background-color: #213452;
  padding: 28px 55px 28px 45px;
  box-sizing: border-box;
  align-items: baseline;
  z-index: 99;
  }

.menu-line {
  background: #fff;
  display: inline-block;
  height: 2px;
  position: absolute;
  transition:transform .3s;
  width: 100%;
}

.menu-line-top {
  top: 14px;
}

.menu-line-center {
    top: 22px;
}
.menu-line-bottom {
  bottom: -2px;
}

.menu-line-top.active {
  top: 22px;
  transform: rotate(45deg);
}
.menu-line-center.active {
  transform:scaleX(0);
}
.menu-line-bottom.active {
  bottom: 6px;
  transform: rotate(135deg);
}

.menu-txt {
  color: #ffffff;
  font-size: 1.8rem;
}

/* #globalNav {
  overflow-y: scroll;
  bottom: 0px;
  display: none;
  position: fixed;
  width: 100%;
  height: 100vh;
  max-width: 1600px;
  margin: 0px auto;
  z-index: 9;
  background-color: transparent !important;
} */

.gnav-wrapper {
  align-items:center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  position: absolute;
  width: 100%;
}

.gnav-menu {
  font-size: 2rem;
  color: #FFFFFF;
  margin-bottom: 35px;
  letter-spacing: 0.06em;
  text-align: center;
  width: 40%;
  position: absolute;
}

.gnav-bg {
    width: 100vw;
    background-color: #ffffff;
    opacity: .95;
}


.gnav-title {
  font-size: 3rem;
  color: #8b8b8b;
  letter-spacing: 0.06em;
  margin-bottom: 35px;
}

.logo-width {
  margin-left: 0;
}

.column-image-center {
    margin-top: 20px;
    margin-bottom: 60px;
    width: 100% !important;
}

@media screen and (max-width: 1280px) {
    .menu {
        margin-right: 10px;
      }
    .menu-box {
        width: 100px;
        padding: 5px 15px;
        align-items: center;
        display: flex!important;
    }
    .menu-txt {
        font-size: 1.2rem;
    }
    .menu-line-top {
        top: 8px;
    }
    .menu-line-center {
        top: 14px;
    }
    .menu-line-bottom {
        bottom: 8px;
    }
    .menu-line-top.active {
        top: 14px;
    }
    .menu-line-bottom.active {
        bottom: 14px;
    }
    #menu {
        position: absolute;
        top: 0;
        right: 0;
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: 0 0;
        width: 50px;
        height: 50px
    }
    #menu.opened {
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -55px 0
    }
    #globalNav {
        display: none;
        position: absolute;
        top: 14vh!important;
    }
    #globalNav ul {
        margin: 0 -10px;
        line-height: 1
    }
    #globalNav ul li {
        display: block;
        float: none;
        border-bottom: 1px solid #cccccc;
    }
    #globalNav ul li a {
        display: block;
        vertical-align: middle;
        color: #000000;
        font-size: 1.6rem;
        padding: 1.4vh 0;
        border-right: none;
    }
    /* #globalNav ul li a::before {
        content: "";
        margin-right: 10px;
        display: inline-block;
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -110px 0;
        width: 16.5px;
        height: 16.5px
    } */
    #globalNav .corpSite a {
        display: block;
        margin: 25px 0;
        padding: 10px;
        border: 3px solid #fff;
        color: #fff;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1;
        vertical-align: middle
    }
    #globalNav .corpSite a::before {
        content: "";
        display: inline-block;
        margin-right: 10px;
        background-size: 200px 100px;
        background-image: url('../images/common.png');
        background-repeat: no-repeat;
        background-position: -110px -20px;
        width: 8px;
        height: 13.5px
    }
    header.global {
        height: 50px;
        padding-right: 0;
    }
    #globalNav .acms-admin-container {
        width: 100%;
        top: 3vh;
        position: relative;
        left: 14vw;
    }
    header.global #corp-name {
        margin: 6px 0 0 5px
    }
    header.global #corp-name .logo {
        padding-right: 10px
    }
    header.global #corp-name .logo img {
        height: 35px
    }
    header.global #corp-name h1 {
        font-size: 12px;
        font-size: 1.2rem;
        width: 260px;
        white-space: normal;
        line-height: 1
    }
    header.global #corp-name h1 span {
        height: 35px
    }
    header.global ul.footer-link {
        display: none
    }
    #globalNav ul.nav-recruit {
      flex-direction: column;
      width: 100%;
    } 
    #globalNav ul.nav-recruit li {
      width: 80%;
      margin: 0 auto;
    }
    #globalNav ul.nav-recruit li.fresh {
      margin-bottom: 20px;
    }
    #globalNav ul.nav-flex {
      margin-bottom: 20px;
      display: flex;
      flex-direction: column;
      text-align: center;
    }
    .gnav-bg {
        height: 100vh;
        position: absolute;
        z-index: -1;
        top: -80px;
    }
}

@media screen and (max-width: 768px) {
    .h2-top-col {
        top: -240px;
        padding: 10px;
    }

    main .cover.top {
        margin-bottom: 50px;
    }
    .menu {
        margin-right: 10px;
      }
      .menu-box {
        width: 100px;
        padding: 5px 15px;
        align-items: center;
        display: flex;
    }

    .menu-txt {
        font-size: 1.2rem;
    }

    .menu-line-top {
        top: 8px;
    }
    .menu-line-center {
        top: 14px;
    }
    .menu-line-bottom {
        bottom: 8px;
    }

    .menu-line-top.active {
        top: 14px;
    }
    .menu-line-bottom.active {
        bottom: 14px;
    }

    main .top-interview-title {
        flex-wrap: wrap-reverse;
    }
    main .top-one-column-left-title {
        display: block;
    }
    main .top-interview-bg {
        width: 110%;
        overflow: hidden;
        height: 130px;
    }
    main .top-interview-txt-container {
        width: auto;
    }
    main .flow li {
        padding: 10px;
        box-sizing: border-box;
        line-height: inherit;
    }
    main .movie-list .movie-item .movie-item-title {
        font-size: 2.2rem;
        line-height: 3.4rem;
    }
    main .flow li:not(:last-child)::after {
        top: 120%;
    }
    .top-message-bg {
        width: 120%;
        position: relative;
        overflow: hidden;
        height: 180px;
    }
    .top-message-bg img {
        width: 100%;
        display: block;
        position: static;
    }
    main .top-message-txt-container {
        padding-top: 0;
        position: static;
        padding: 30px;
        width: 100%;
    }
    main .top-message-h3 {
        padding: 0 0 20px;
        font-size: 1.2rem;
        margin-top: 0;
    }
    main #carousel .swiper-slide {
        height: 45vh;
    }
    main .top-culture-txt, main .top-message-txt, main .top-interview-txt{
        font-size: 1.6rem;
        line-height: 1.5;
    }
    .acms-admin-container {
        padding-right: 0;
    padding-left: 0;
    }
    main .entry form.job td, main .contact form.job td {
        padding: 0 0 10px;
    }

    .entry .entry-content, .contact .contact-content {
        padding: 20px 20px;
    }

    .acms-admin-grid-r {
        padding: 0 20px;
        margin-bottom: 0;
    }
    header .acms-admin-grid-r {
        padding: 0;
    }
    .acms-admin-col-6 {
        float: none;
        width: auto;
        margin-bottom: 50px;
    }
    main .top-interview-bg {
        width: auto;
    }
    main .top-interview-txt-container {
        width: 100%;
    }
    main .top-interview-h3 {
        font-size: 1.2rem;
    }
    main .top-culture-h3 {
        font-size: 1.2rem;
        padding-bottom: 10px;
    }
    main .top-culture-tile .top-culture-txt:before {
        top: 33px;
    }
    main .top-entry-tile {
        margin-bottom: 40px;
    }
    main .interview-position {
        position: static;
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
    }
    main .top-interview-tile {
        margin-bottom: 50px;
    }
    main .top-interview-txt-container {
        position: static;
        padding: 20px 0;
    }
    main .top-interview-h3 {
        margin-top: 0;
    padding-top: 0;
    }
    main .top-entry-tile {
        min-height: unset;
        display: flex;
    }
    main .top-interview-title-reverse {
        flex-direction: column;
    }
    footer {
        padding-left: 20px;
    }
    footer #top-btn a {
        height: 60px;
        width: 70px;
        font-size: 1rem;
    }
    footer #top-btn span {
        padding-top: 11px;
    }
    footer #top-btn span::before {
        width: 36px;
        height: 16px;
        margin: 0 auto 0px;
    }
    main .top-entry-bg img {
        width: 205%;
        display: block;
        top: 0px;
        min-height: 220px;
        left: -37%;
    }
    main .top-entry-txt-container {
        padding: 45px 20px;
        width: 100%;
        box-sizing: border-box;
    }
    main .top-entry-title {
        width: 50%;
    }
    main .top-entry-title-txt {
        width: 55%;
    }
    main .top-message-tile {
        margin-bottom: 50px;
    }
    main .top-entry-txt-container h3 {
        font-size: 1.2rem;
    }
    main .top-culture-bg img {
        width: 100%;
    }
    main .top-culture-txt-container {
        width: 61%;
    }
    main .top-culture-bg {
        padding: 0 20px;
    }
    main .job .cover .front, main .company .cover .front, main .culture .cover .front,
    main .interview-list .cover .front, main .recruit .cover .front, main .recruit-list .cover .front, 
    main .fresh .cover .front, main .career .cover .front, main .q_a .cover .front, main .q_a .cover .front,
    main .selection .cover .front, main .movie .cover .front, main .contact .cover .front {
        top: 16vh;
        width: 100%;
    }
    main .entry.cover .front {
        top: 15vh;
        width: 100%;
    }
    main .job .entryHeader h1, main .company .entryHeader h1, main .culture .entryHeader h1, main .recruit .entryHeader h1,
    main .interview-list .entryHeader h1, main .career .entryHeader h1, main .qa .entryHeader h1, main .entry .entryHeader h1,
    main .selection .entryHeader h1, main .movie .entryHeader h1, main .contact .entryHeader h1 {
        font-size: 1.8rem;
        padding-bottom: 10px;
    }
    main .cover.job .message-txt, main .cover.company .message-txt, main .cover.culture .message-txt, main .cover.interview-list .message-txt, main .cover.recruit .message-tx, main .cover.career .message-txt, main .cover.qa .message-txt, main .cover.selection .message-txt, main .cover.movie .message-txt {
        padding: 0 0 30px;
        font-size: 24px;
        font-size: 2rem;
    }
    main .job .entryHeader, main .company .entryHeader, main .culture .entryHeader, main .interview-list .entryHeader, main .recruit .entryHeader, main .career .entryHeader, main .q_a .entryHeader, main .entry .entryHeader, main .selection .entryHeader, main .movie .entryHeader, main .contact .entryHeader {
        color: #ffffff;
        border-bottom: none;
    }
    main .entry .entryHeader {
        margin-bottom: 0;
    }
    main .job .entryHeader:before, main .company .entryHeader:before, main .culture .entryHeader:before, main .recruit .entryHeader:before, main .interview-list .entryHeader:before, main .career .entryHeader:before, main .q_a .entryHeader:before, main .entry .entryHeader:before, main .selection .entryHeader:before, main .movie .entryHeader:before, main .contact .entryHeader:before {
        top: 29px;
    }
    .company .company-container, .recruit-list .recruit-container {
        background-color: #ffffff;
        padding: 10px 20px 50px;
    }
    .recruit-list .recruit-container {
        margin-bottom: 0;
    }
    .company .company-container:last-child {
        margin-bottom: 0;
    }
    .company .coverImages {
        margin-bottom: 10px;
        margin-top: 0;
    }
    main .job div.section {
        position: static;
        margin-bottom: 50px;
        background-color: #fafafa;
        padding: 20px 20px 50px 20px;
        width: auto;
        box-sizing: border-box;
        min-height: unset;
    }
    main .job div.section p {
        padding: 0;
    }
    main .job div.section:nth-child(even) p {
        padding: 0;
    }
    .job .acms-container, .company .acms-container, .culture .acms-container {
        background-color: transparent;
        padding: 40px 10px 0 10px;
    }
    main .job div.section:nth-child(even) {
        margin: 0 0 50px auto;
        padding: 10px 20px 50px 20px;
    }
    main .job div.section h2 {
        border-bottom: none;
        margin-bottom: 10px;
        padding: 0 0 20px;
    }
    main .interview-list .cover .front {
        top: 10vh;
    }
    .interview-list .acms-container {
        background-color: transparent;
        padding: 20px 10px 0 10px;
    }
    main .culture div.section {
        position: relative;
        margin-bottom: 50px;
        background-color: #ffffff;
        min-height: 450px;
        padding: 20px;
    }
    .culture .acms-container {
        padding: 60px 10px 0 10px;
    }
    main .culture div.section:before {
        width: 80px;
        height: 80px;
        line-height: 80px;
    }
    main .culture div.section:after {
        top: 29px;
    }
    main .culture div.section h2 {
        text-align: center;
        padding: 30px 0;
        border-bottom: 2px solid #1e3750;
        margin-bottom: 40px;
    }
    main .recruit-info-box {
        background-color: #ffffff;
        padding: 10px 20px 30px 20px;
        margin-bottom: 40px;
    }
    .recruit-list .acms-container {
        padding: 40px 10px 0;
    }
    main .recruit-list .centering h2 {
        margin-bottom: 10px;
        margin-top: 0;
    }
    main .recruit-list .centering h2, main .entry .centering h2, main .contact .centering h2 {
        font-size: 20px;
        font-size: 2rem;
    }
    main .entry .centering h2, main .contact .centering h2 {
        margin-top: 10px;
        margin-bottom: 10px;
    }
    main .cover.corp .message-txt, main .cover.interview .message-txt, main .cover.fresh .message-txt, main .cover.career .message-txt, main .cover.recruit .message-txt {
        padding: 0 0 15px;
        font-size: 20px;
        font-size: 2rem;
    }
    main .cover.corp .message-txt, main .cover.interview .message-txt {
        font-size: 1.6rem;
    }
    main .cover.corp .message-txt, main .cover.interview .post, main .cover.corp .message-txt, main .cover.interview .name  {
        text-align: left;
    }
    main .cover.interview .name, main .cover.message .name {
        font-size: 2rem;
    }
    main .message .entryHeader h1, main .interview .entryHeader h1 {
        font-size: 14px;
        font-size: 1.4rem;
        padding-bottom: 10px;
    }
    .message .acms-container {
        padding: 20px 20px;
        margin: 20px 10px;
        margin-bottom: 50px;
    }
    main .cover .front {
        left: 7vw;
        top: 4vh;
    }
    main .message .acms-container h2 {
        font-size: 22px;
        font-size: 2.2rem;
        padding-bottom: 30px;
        text-align: center;
        width: 100%;
        line-height: 3.4rem;
    }
    main .cover .img-container-mv div {
        background-position: center;
    }
    main .message .centering p iframe {
        width: 100%;
        height: 250px;
    }
    main .message div.section {
        margin-bottom: 30px;
    }
    .interview .acms-container {
        padding: 20px 20px 60px 20px;
        margin: 20px 0 50px;
    }
    main .interview .acms-container h2 {
        padding: 15px 0 15px 15px;
    }
    main .interview .acms-container p {
        margin-bottom: 40px;
    }
    .column-image-center {
        margin-top: 20px;
        margin-bottom: 50px;
    }
    main .interview-profile-box .interview-profile-title {
        width: 100%;
    text-align: center;
    border-bottom: 1px solid #ffffff;
    font-size: 1.8rem;
    margin-bottom: 20px;
    padding-bottom: 20px;
    }
    main .interview-profile-box .text {
        width: 100%;
        margin-bottom: 20px;
        padding-left: 0;
        border-left: none;
    }
    main .interview-profile-box p.name {
        text-align: center;
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
    main .interview-profile-box p.post {
        text-align: center;
        font-size: 1.2rem;
        margin-bottom: 10px;
    }
    main .interview-profile-box .face {
        width: 150px;
        height: 150px;
        left: 50%;
        transform: translateX(-50%);
        -webkit- transform: translateY(-50%) translateX(-50%);
    }
    main .interview-profile-box {
        padding: 0 20px 40px;
        border-radius: 10px;
    }
    main  .interview-profile-box p.prof-descri {
        font-size: 1.2rem;
        margin-bottom: 10px;
    }
    main .interview-list-link a {
        width: 63%;
        line-height: 70px;
    }
    main .centering h2, .interview-list-link {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 0;
    }
    .recruit-list-link {
        margin-bottom: 60px;
    }

    main .interviewLink .face img {
        position: absolute;
        margin: auto;
        max-width: 270%;
        left: -100%;
        right: -100%;
        top: -100%;
        bottom: -100%;
        z-index: 1;
        height: auto;
    }
    main .interviewLink .face {
        position: relative;
        width: 100%;
        height: auto;
        overflow: hidden;
        border-radius: 0px 10px 10px 0px;
        width: 50%;
        box-sizing: border-box;
    }
    main .interviewLink .person {
        display: inline-block;
        width: 100%;
        margin: 0 0 10px 0;
        text-align: center;
        vertical-align: top;
        background-color: #776f68;
        border-radius: 15px;
    }
    main .interviewLink .person {
        margin: 0 0 10px 0;
    }
    main .interviewLink .person:nth-child(odd) {
        margin: 0 0 10px 0;
    }
    main .interviewLink a {
        display: flex;
    flex-direction: row-reverse;
    }
    main .interviewLink .list-txt {
        width: 50%;
        box-sizing: border-box;
        border-radius: 10px;
        padding: 30px;
    }
    main .interviewLink .name {
        font-size: 18px;
        font-size: 1.8rem;
        text-align: left;
        line-height: 1;
    }
    main .interviewLink .post {
        text-align: left;
        margin-bottom: 10px;
        font-size: 1rem;
    }
    main .post.post-title {
        min-height: 8em;
    }
    main .post-occupation {
        line-height: 1.4;
    }
    main .post-title-container {
        height: 20px;
    }
    main .interviewLink .post-title {
        font-size: 1.4rem;
    }
    .recruit .acms-container {
        padding: 20px;
    }
    .career .acms-container, .fresh .acms-container {
        padding: 20px 10px 0 10px;
    }
    main .recruit-table-container {
        background-color: #fafafa;
        padding: 20px;
        margin-bottom: 40px;
    }

    main .recruit-entry-inquiry, main .entry .recruit-entry-inquiry {
        padding: 40px 20px;
    }
    main .inquiry {
        border: none;
        width: auto;
        padding: 10px;
        text-align: center;
    }
    main ul li .job-list-left {
        display: block;
    }
    main ul li .job-list-icon {
        min-width: 80px;
        padding: 0;
        width: 100%;
        margin-bottom: 10px;
    }
    main ul li .job-list-address {
        margin: 0;
        border-right: none;
        padding-right: 0;
        width: auto;
        margin-bottom: 5px;
        max-width: none;
    }
    .job-list-title {
        margin-bottom: 10px;
        font-size: 2.2rem;
        line-height: 3.4rem;
    }
    .job-list-description {
        margin-bottom: 25px;
    }
    main ul li.job-list a {
        padding: 40px 20px;
    }
    main ul li .job-list-salary {
        font-size: 2.6rem;
    }
    .footer-link-container {
        padding: 0 10px;
    }
    main .selection-heading a {
        font-size: 1.2rem;
        padding: 15px 20px 15px 50px;
        margin-bottom: 20px;
    }
    main .selection-heading {
        margin-bottom: 60px;
    }
    main .selection-heading a::before {
        width: 15px;
        height: 29px;
        left: 22px;
        font-size: 1.4rem;
    }
    main .select-point-item {
        font-size: 1.6rem;
        flex-direction: column;
        background-color: transparent;
    }
    main .select-point-item .select-point-number {
        font-size: 1.4rem;
        width: 100%;
        background-color: #776f68;
    }
    main .select-point-txt {
        font-size: 1.2rem;
        width: 100%;
        padding: 10px 20px;
    }
    main .movie-list {
        flex-direction: column;
    }
    main .movie-list .movie-item {
        width: auto;
        margin-bottom: 50px;
    }
    main .message .cover .img-container-mv div, main .interview .cover .img-container-mv div {
        background-position-x: 58%;
    }
    main .job .job-head {
        font-size: 2.4rem;
        margin: 70px 0 25px;
    }
}

@media screen and (min-width:768px) and ( max-width:1023px){
    main table td {
        padding: 15px 10px;
    }
    main .coverImages div.image {
        height: 300px;
    }
    main .interviewLink .face {
        width: 50%;
    }
    .culture .acms-container {
        padding: 60px 20px 0 20px;
    }
    .q_a .acms-container, .selection .acms-container {
        padding: 40px 20px 40px 20px;
    }
    .footer-link-container {
        padding: 0 20px;
    }
    .message .acms-container {
        margin: 20px 20px;
    }
    .job .acms-container, .company .acms-container, .culture .acms-container {
        padding: 40px 20px 0 20px;
    }
    main .interviewLink .face img {
        width: auto;
    }
    main dl.selection-content dt, main dl.selection-content dd {
        padding: 40px;
    }
    .top-message-bg {
        height: auto;
    }
    main .top-interview-bg {
        height: auto;
    }
}

@media screen and (min-width:1024px) and ( max-width:1100px){
    .top-video {
        height: 100vh;
    }
}


/* 追加分 */
.business-container p {
    background-color: #fafafa;
    padding: 50px 80px 50px 80px;
    font-size: 2rem;
}

.recruit-container p {
    padding: 50px 20px 50px 80px;
    font-size: 2rem;
}

.sns-btn {
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 10px;
}

.sns-btn a {
    display: block;
    color: #000000;
    border: 1px solid #000000;
    padding: 15px 20px;
}

.sns-btn a:hover {
    transition: .3s;
    background-color: #786F68;
    border: 1px solid #786F68;
    color: #FFFFFF;
}

.disabled {
    pointer-events: none;
}

main .fc-02 {
    margin-bottom: 50px;
}

main .fc div.section.fc-section-01 {
    background-color: #bf1b22;
    color: #ffffff;
    padding: 50px 50px 70px 350px;
    font-size: 2rem;
    width: 85%;
    margin: 0 0 80px auto;
}
main .fc div.section.fc-section-01 p {
    padding: 0;
}

main .fc div.section.fc-section-02 {
    background-color: #65c6c9;
    color: #ffffff;
    padding: 50px 200px 70px 50px;
    font-size: 2rem;
    width: 85%;
    margin: 0 0 80px 0;
}

main .fc .shop-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: 0;
    margin-bottom: 30px;
}

main .fc .shop-list:after {
    content: "";
    display: block;
    width: 32%;  /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}

main .fc .shop-list .shop {
    list-style: none;
    width: 32%;
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
}

main .fc .shop-list .shop .shop-address {
    flex-grow: 1;
    padding: 0 10px;
}

main .fc .shop-list .shop .shop-name {
    text-align: center;
    font-size: 2.2rem;
}

main .fc .shop-list .shop .shop-address, main .fc .shop-list .shop .shop-map {
    margin-bottom: 20px;
    font-size: 1.8rem;
}

main .fc .shop-list .shop .shop-pic img {
    display: block;
    width: 100%;
}

main .fc .shop-list .shop .shop-sns-link a {
    padding: 5px 20px 5px 40px;
    font-size: 2rem;
}

main .job .fc-01 .business-head, .recruit-head {
    margin: 30px 0;
}

@keyframes fade-in {
    from {
      opacity: 0;
      top: 46%;
    }
    to {
      opacity: 1;
    }
  }

  @keyframes fade-in-second {
    from {
      opacity: 0;
      top: 52%;
    }
    to {
      opacity: 1;
      top: 51%;
    }
  }

  .swiper-container {
    width: 100%;
    height: 100vh;
  }
  .swiper-container .swiper-wrapper .swiper-slide {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
  .swiper-container .swiper-wrapper .swiper-slide span {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    text-align: center;
    color: #ffffff;
    font-size: 3.6rem;
    font-weight: bold;
    letter-spacing: 0.8rem;
    -moz-text-shadow: 0px 0px 15px rgba(0, 0, 0, 1);
    -webkit-text-shadow: 0px 0px 15px rgba(0, 0, 0, 1);
    -ms-text-shadow: 0px 0px 15px rgba(0, 0, 0, 1);
    text-shadow: 0px 0px 15px rgb(0 0 0 / 100%);
  }
  .swiper-container .swiper-wrapper .swiper-slide p span {
      display: block;
  }
  .swiper-container .swiper-wrapper .swiper-slide-active p .swiper-first {
    animation-name: fade-in;
    animation-duration: 0.9s;
    animation-delay: 1s;
    animation-fill-mode: both;
  }

  .swiper-container .swiper-wrapper p .swiper-second {
    top: 51%;
  }

  .swiper-container .swiper-wrapper .swiper-slide-active p .swiper-second {
    animation-name: fade-in-second;
    animation-duration: 0.9s;
    animation-delay: 1.4s;
    animation-fill-mode: both;
  }


@media screen and (max-width: 768px) {
    .business-container p, .recruit-container p {
        padding: 30px 20px;
        text-align: justify;
        font-size: 1.6rem;
    }

    .sns-btn {
        width: calc(100% - 20px);
        margin: 0 auto 10px auto;
        font-size: 2rem;
    }

    .sns-btn a {
        padding: 5px 10px;
    }

    main .fc .shop-list {
        flex-direction: column;
    }

    main .fc .shop:last-child {
        margin-bottom: 0;
    }
    
    main .fc .shop-list:after {
        content: "";
        display: block;
        width: 32%;  /* .boxに指定したwidthと同じ幅を指定する */
        height: 0;
    }
    
    main .fc .shop-list .shop {
        width: auto;
    }

    main .fc div.section.fc-section-01, main .fc div.section.fc-section-02 {
        margin: 0 0 80px 0;
        width: auto;
        padding: 40px 20px;
    }

    main .message div.section p {
        line-height: 2.8rem;
    }

    main .top-interview-tile-container {
        margin-bottom: 50px;
    }

    main .top-interview-tile-container:nth-child(2n) {
        margin-bottom: 50px;
    }

    main .top-interview-tile {
        margin-bottom: 0;
    }

    .swiper-container .swiper-wrapper .swiper-slide span {
        font-size: 1.2rem;
        letter-spacing: 0.4rem;
    }

    @keyframes fade-in-second {
        from {
          opacity: 0;
          top: 57%;
        }
        to {
          opacity: 1;
          top: 56%;
        }
      }

      .swiper-container .swiper-wrapper p .swiper-second {
        top: 56%;
      }

}


/* 追加改修 */
/* 私たちが大切にする考え方----------------------------------------------- */

main .message .entryHeader {
    color: #fff!important;
    border-bottom: 1px solid #ffffff!important;
}

main .message .entryHeader h1 {
    margin: 0 auto;
    border-bottom: 3px solid #ffffff!important;
}

main .message .cover {
    height: 2300px;
}

main .message .cover .front {
    position: absolute;
    z-index: 2;
    margin: 0 auto;
    top: 25vh;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
}

main .message .cover .img-container-mv div {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}

main .message .cover.corp .message-txt {
    text-align: center;
    margin-bottom: 200px;
    color: #ffffff;
}

main .message .cover.corp .text {
    margin: 0;
    width: 1000px;
}

.message .acms-admin-container p.message-story-txt {
    font-size: 2.4rem;
    margin-bottom: 6em;
    color: #ffffff;
}

    @media screen and (max-width: 768px) {
        main .message .entryHeader {
            margin: 0 20px;;
        }

        main .message .cover {
            height: 1800px;
        }

        main .message .cover .front {
            width: 100%;
            top: 12vh;
        }

        .message .acms-admin-container p.message-story-txt {
            font-size: 1.5rem;
            margin-bottom: 4em;
            text-align: justify;
            padding: 0 30px;
            line-height: 3rem;
        }

        main .message .cover.corp .message-txt {
            font-size: 2rem;
            margin-bottom: 50px;
            margin-top: 10px;
            color: #ffffff;
        }

        main .message .cover .flex .text {
            max-width: initial;
        }
}

/* フッター-------------------------------------------------------------- */

footer #top-btn a {
    display: block;
    background-color: #757575;
    width: 100px;
    height: 120px;
}
footer #top-btn span {
    display: block;
    padding-top: 35px;
    text-align: center;
}
footer .footer-nav {
    width: 100%;
    margin: 0 auto;
  }
  footer .footer-nav-menu {
    display: flex;
    justify-content: center;
    font-size: 14px;
    padding: 20px 100px 0 200px;
    flex-wrap: wrap;
    margin-bottom: 5px;
  }

  footer .footer-nav-menu li {
    padding-right: 20px;
  }
  footer .footer-nav-menu li:hover {
    opacity: .8;
    transition: .2s;
  }
  footer .footer-nav-menu li:last-child {
    padding-right: 0;
  }
  footer .footer-nav-menu li a {
      color: #ffffff;
  }
  footer small {
    display: block;
    text-align: center;
    width: calc(100% + 100px);
    position: relative;
    top: 10px;
  }
  footer {
      padding: 0;
  }



@media screen and (max-width: 768px) {

    footer #top-btn a {
        height: 60px;
        width: 70px;
        font-size: 1rem;
    }

    footer #top-btn span {
        padding-top: 15px;
    }

    footer .footer-nav-menu {
        flex-direction: column;
        padding: 40px 0 0 20px;
      }
    
      footer .footer-nav-menu li {
        padding-right: 0;
        margin-bottom: 5px
      }
    
      footer .footer-nav-menu li:last-child {
        padding-right: 0;
      }
    
      footer small {
        width: auto;
        text-align: left;
        height: 60px;
        line-height: 60px;
        padding-left: 20px;
      }
      footer #top-btn {
        margin: auto 0 0 0;
      }

}

/* ブログボタン----------------------------------------------------------*/

.sns-btn-blog {
    margin: 25px auto 50px auto;
    width: 350px;
    line-height: 1;
}
.sns-btn-blog a {
    border-radius: 10px;
    background-color: #7cc7ee;
    border: 1px solid #7cc7ee;
    color: #ffffff;
}

.sns-btn-blog a:hover {
    background-color: #786F68;
    border: 1px solid #786F68;
}

.fa-chevron-right:before {
    position: relative;
    left: 50px;
    top: -10px;
}

@media screen and (max-width: 768px) {
    .sns-btn-blog {
        width: auto;
        margin: 20px auto 10px auto;
    }

    .sns-btn-blog a {
        width: 80%;
        margin: 0 auto;
    }
}

main .top-interview-tile-container {
    margin-bottom: 80px;
}

/* 追加NEWS---------------------------------------------------------------------------------------------------------------------------------- */
main .top-news-wrapper .news {
    padding: 20px 20px 0;
    margin-bottom: 30px;
    margin-bottom: 80px;
}
main .news-list .top-news-wrapper .news {
    margin-bottom: 65px;
}
main .news-list .top-news-wrapper .news {
    padding: 0;
}
main .top-news-wrapper .news-flex {
    display: flex;
    justify-content: space-between;
}
main .news-list .news {
    border: none;
}
main .news ul {
    margin-left: 0
}
main .top-news-wrapper .news ul li {
    list-style: none;
    position: relative;
    margin-bottom: 0;
    width: 620px;
}
main .top-news-wrapper .news .news-flex ul li a::after {
    content: "→";
    position: absolute;
    right: -5px;
}
main .news-list .top-news-wrapper .news .news-flex ul li a::after {
    right: 30px;
}
main .top-news-wrapper .news .news-flex ul li a {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 20px 15px;
    margin-bottom: 0;
    border-bottom: 2px solid #f0f0f0;
    color: #000000;
    letter-spacing: 0.1em;
}
main .top-news-wrapper .news .news-flex ul li:first-child a {
    border-top: 2px solid #f0f0f0;
}
main .top-news-wrapper .news .news-flex ul li a:hover {
    background-color: #f0f0f0;
    transition: .3s;
}
main .news-list .top-news-wrapper .news .news-flex ul li {
    width: 100%;
}
main .news-list .top-news-wrapper .news .news-flex ul li a {
    box-sizing: border-box;
    border-bottom: 1px solid #bfbfbf;
}
main .news-list .top-news-wrapper .news .news-flex ul li:first-child a {
    border-top: 1px solid #bfbfbf;
}
main .news-list-top {
    
}
main .top-news-wrapper .news-list-top {
    margin-top: 0;
}
main .news-list-top a {
    width: 125px;
    border: 2px solid #f0f0f0;
    padding: 20px 10px;
    display: block;
    text-align: center;
}
main .news-list-top a:hover {
    background-color: #f0f0f0;
    transition: .3s;
}
main .news ul li .date {
    display: inline-block;
    margin-right: 25px;
}
main .news .date {
    display: block
}
main .news li {
    list-style: none;
    margin-bottom: 30px;
}
main .news-list .acms-container {
    margin: 60px auto 100px auto;
    padding: 65px 150px;
}
main .news-content {
    margin-top: 100px;
    margin-bottom: 100px;
    padding: 65px 150px;
}
main .news-content h2, main .top-news-wrapper h2 {
    margin-bottom: 60px;
    margin-top: 0;
    padding: 0;
    border-bottom: none;
}
main .news-content h2 {
    text-align: left;
    border-bottom: 1px solid #bfbfbf;
    padding-bottom: 10px;
}
main .top-news-wrapper .news-flex-child {
    border-bottom: none;
    width: 285px;
    border-top: 1px solid;
    padding-top: 30px;
}
main .top-news-wrapper h2 {
    position: relative;
    font-size: 3rem;
    text-align: left;
    margin-bottom: 5px;
    letter-spacing: 0.1em
}
main .top-news-wrapper h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: -35px;
    width: 4em;
    border-bottom: 5px solid #1e3750;
}
main .news-list .top-news-wrapper h2 {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 5px;
}
main .news-list .top-news-wrapper .top-news-ruby {
    text-align: center;
    margin-bottom: 40px;
}
main .news-list .top-news-wrapper h2::before {
    content: none;
}
main .top-news-wrapper .top-news-ruby {
    font-size: 1.4rem;
    margin-bottom: 46px;
}
main .news-list-link a {
    background-color: unset;
    border-radius: 30px;
    margin-top: 70px;
    line-height: 60px;
    font-size: 18px;
}

main article.news-list .news-flex {
    display: block;
}
main .news-list .pager {
    display: flex;
    justify-content: center;
}

main .top-news-wrapper .news ul.pager li {
    display: inline-block;
    padding: 0 2px 10px;
    line-height: 1;
    font-size: 12px;
    font-size: 1.2rem;
    width: 25px;
    margin-right: 15px;
}

main .top-news-wrapper .news ul.pager li:last-child {
    margin-right: 0;
}

main .news ul li .news-title {
    width: 440px;
    display: inline-block;
}

main .news-list .news ul li .news-title {
    width: auto;
    padding-right: 60px;
}

main .news-list .news ul li .date, main .news ul li .date time {
    color: #868686;
}

main .news-list ul.footer-link.top {
    margin: 0 auto;
    padding: 0 100px;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (min-width:768px) and ( max-width:1023px){
    main .top-news-wrapper .news-flex-child {
        width: 100%;
        margin-right: 10px;
    }
    main .top-news-wrapper .news ul {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    main .news-list .top-news-wrapper {
        padding: 0 20px 0;
    }
    main .top-news-wrapper .news {
        margin-bottom: 50px;
    }
    main .news-list .top-news-wrapper .news {
        margin-bottom: 50px;
    }
    main .top-news-wrapper .news-flex {
        flex-direction: column;
    }
    main .top-news-wrapper .news ul li {
        padding: 0;
        width: auto;
    }
    main .top-news-wrapper .news ul li a {
        font-size: 1rem;
        padding: 15px 10px;
        width: calc(100% - 25px);
        box-sizing: border-box;
    }
    main .top-news-wrapper .news ul li:first-child a {
        border-top: 2px solid #f0f0f0;
    }
    main .news-list .top-news-wrapper .news .news-flex ul li a {
        display: inline-block;
        padding: 10px 15px;
    }
    main article.news {
        padding: 0 20px;
        margin-bottom: 20px;
    }
    main .news-content {
        margin-top: 50px;
        margin-bottom: 40px;
        padding: 55px 20px;
    }
    main .news-content h2, main .top-news-wrapper h2 {
        text-align: left;
        font-size: 20px;
        margin-bottom: 50px;
    }
    main .news-content h2 {
        margin-bottom: 30px;
    }
    main .top-news-wrapper .news-flex-child {
        width: 50%;
    }
    main .top-news-wrapper h2 {
        font-size: 2.2rem;
        margin-bottom: 5px;
    }
    main .top-news-wrapper .top-news-ruby {
        font-size: 1rem;
        margin-bottom: 20px;
    }
    main .top-news-wrapper .news-list-top {
        margin: 30px 0 0 auto;
        font-size: 1.2rem;
    }
    main .news-list-top a {
        display: block;
        padding: 5px 10px;
        text-align: center;
    }
    main .news ul li .date, main .news ul li .date {
        font-size: 1rem;
    }
    main .news-list .news ul li .date, main .news ul li .date {
        font-size: 1rem;
    }
    main .news-list .news ul li .date, main .news ul li .date time {
        font-size: 1.1rem;
    }
    main .news ul li .news-title {
        width: 60%;
    }
    main .news-list .news ul li .news-title {
        padding-right: 30px;
        font-size: 1.1rem;
    }
    main .top-news-wrapper .news .news-flex ul li a::after {
        right: 25px;
    }
    main .news-list .top-news-wrapper .news .news-flex ul li a::after {
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
    }
    main .news-list .acms-container {
        padding: 60px 0;
    }
    main .news-list .top-news-wrapper h2 {
        margin-bottom: 0;
    }
    main .news-list ul.footer-link.top {
        padding: 20px;
    }
    .pc {
        display: none;
    }
    
    .sp {
        display: block;
    }
}

#globalNav ul.nav-flex li {
    padding: 50px 0;
}

#globalNav ul.nav-flex li:last-child {
    border: none;
}

#globalNav ul li a:hover {
    color: #0385c8;
    transform: color .3s ease;
}

.company-container-chart {
    margin-top: 80px;
}

.Organization-chart {
    width: 90%;
    margin: 0 auto;
}

.Organization-chart img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .company-container-chart {
        margin-top: 20px;
        padding: 0 20px;
    }

    .Organization-chart {
        width: auto;
    }
}

/* サイン */

main .sign {
    width: 40%;
}

main .sign img {
    width: 100%;
    display: block;
}

main .sign-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

main .sign-position {
    display: inline-block;
    color: #ffffff;
    font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
    main .sign {
        width: 55%;
    }
    main .message .cover .img-container-mv div {
        background-attachment: unset;
        background-position: center;
    }

    main .sign-position {
        font-size: 1.5rem;
    }
}

/* フッターリンク */

main .sdgs .acms-container, .company .acms-container, .message .acms-container, .company .acms-container {
    margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
    main .sdgs .acms-container, .company .acms-container, .message .acms-container, .company .acms-container {
        margin-bottom: 40px;
    }
}

/* SNSアイコン */
main .fc .shop-sns-link-instagram, main .fc .shop-sns-link-google {
    position: relative;
}

main .fc .shop-sns-link-instagram::before, main .fc .shop-sns-link-google::before {
    position: absolute;
    top: 47%;
    transform: translateY(-50%);
    left: 9%;
    display: inline-block;
    width: 20px;
    height: 20px;
}

main .fc .shop-sns-link-instagram::before {
    content:"";
    background: url(https://www.densho-group.co.jp/themes/shu/common/images/fc/Instagram_Glyph_Gradient_RGB.png) no-repeat;
    background-size: contain;
    
}

main .fc .shop-sns-link-google::before {
    content:"";
    background: url(https://www.densho-group.co.jp/themes/shu/common/images/fc/googlemap.png) no-repeat;
    background-size: contain;
}

.footer-icon {
    position: relative;
    display: flex;
    justify-content: flex-end;
    width: 95%;
    bottom: 5px;
}

.footer-icon p {
    width: 30px;
    margin-right: 10px;
}

.footer-icon p:last-child {
    margin-right: 0;
}

.footer-icon p:hover {
    opacity: .7;
    transition: .3s;
}

.footer-icon p img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .footer-icon {
        bottom: 10px;
    }
    #globalNav ul.nav-flex li .dropdwn_menu_inner {
        display: none;
    }

    #globalNav ul.nav-flex li {
        padding: 10px 0%;
    }
}

#globalNav ul.dropdwn_menu {
    width: 65%;
    border: none;
    text-align: left;
    margin-left: 100px;
    font-size: 1.4rem;
}

#globalNav ul.nav-flex .dropdwn_menu_list {
    position: relative;
    border: none;
    padding: 0 2%;
}

#globalNav ul.nav-flex li .dropdwn_menu_container {
    opacity: 0;
    visibility: hidden;
    transition: 300ms;
    width: 101%;
    position: absolute;
    margin-left: -5px;
    margin-top: 5px;
    padding: 0 0 0 100px;
    left: 0;
    top: 95px;
    background-color: #7cc7ee;
    transition: all .3s;
}

#globalNav ul.nav-flex li .dropdwn_menu_inner {
    display: flex;
    align-items: center;
    height: 135px;
    color: #ffffff;
    max-width: 1600px;
    margin: 0 auto;
}

#globalNav ul.nav-flex li .dropdwn_menu_inner::before {
    width: 0;
height: 0;
border-style: solid;
border-width: 0 100px 100px 100px;
border-color: transparent transparent #333333 transparent;
}

#globalNav ul.nav-flex li .dropdwn_open {
    opacity: .85;
  visibility: visible;
    transition: all .3s;
}

#globalNav ul.nav-flex li .dropdwn_menu_container .dropdwn_menu_head {
    font-size: 2.4rem;
    font-weight: bold;
    width: 300px;
    line-height: 1.4;
    text-align: left;
}

#globalNav ul.nav-flex li .dropdwn_menu_container .dropdwn_menu_head .dropdwn_menu_head_sub {
    display: block;
    font-size: 1.4rem;
}

.triangle {
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #333333;
    position: relative;
}

@media screen and (max-width: 1280px){
    #globalNav ul.nav-flex li {
        border-right: none;
        padding: 20px 0;
    }
}

.recruit-bnr {
    text-align: center;
    padding: 50px 50px 100px;
}

.recruit-bnr-link {
    display: inline-block;
    width: 500px;
    transition: .2s;
}

.recruit-bnr-link:hover {
    opacity: .7;
}

.recruit-bnr-link img {
    width: 100%;
}

.top-sns-container {
    margin-bottom: 80px;
}

.top-sns-inner {
    display: flex;
    justify-content: space-evenly;
    align-items: flex-end;
}

.top-sns-item {
    width: 40%;
}

.top-sns-item-youtube {
    width: 57%;
}

.top-youtube-embed {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.top-youtube-embed iframe {
    width: 100%;
    height: 100%;
}

.top-sns-item img {
    width: 100%;
}

.top-sns-link {
    transition: .2s;
    display: block;
    display: block;
    width: 350px;
    margin: 15px auto 0;
}

.top-sns-link:hover {
    opacity: .7;
}

@media screen and (max-width: 768px) {
    .recruit-bnr {
        padding: 50px 30px 50px;
    }
    
    .recruit-bnr-link {
        /* max-width: none; */
        width: 100%;
    }

    .top-sns-container {
        padding: 20px;
        margin-bottom: 50px;
    }

    .top-sns-inner {
        flex-direction: column;
    }

    .top-sns-item, .top-sns-item-youtube {
        width: 100%;
    }

    .top-sns-item-tiktok {
        margin-bottom: 60px;
    }

    .top-sns-link  {
        width: 100%;
    }

    .tiktok-embed iframe {
        height: 325px !important;
    }
}