@charset "UTF-8";
/*
Theme Name: Inoue recruit site
Author: Bee Design Works
Description: Inoue recruit site
Version: 1.0
*/

/* --------------------- RESET --------------------- */
@import url(assets/css/destyle.css);

/* --------------------- For google fonts --------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap&display=swap');

/* --------------------- Base --------------------- */

*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
	position: relative;
}

* {
	box-sizing: border-box;
	color: #000;
	font-size: 1.6rem;
	line-height: 1.2em;
	font-family: 'Noto Sans JP', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-weight: 300;
	letter-spacing: 0.1em;
}

p {
	line-height: 2.5em;
	letter-spacing: 0.1em;
    margin-bottom: 50px;
}
p:last-child {
    margin-bottom: 0;
}

a {
    text-decoration: none;
    transition: all 0.2s;
	letter-spacing: 0.1em;
}

a:hover img {
    opacity: 0.8;
}

a.text-link {
	text-decoration: underline;
}

a.text-link:hover {
	color: #000;
}

br.line-small {
	display: inline;
}

img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

section {
	padding-top: 128px;
	padding-bottom: 128px;
	position: relative;
    z-index: 2;
}

/* --------------------- title --------------------- */
.title-01 {
    color: #00345C;
    font-size: 10rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1em;
    margin-bottom: 84px;
}
.title-01 span {
    color: #00345C;
    display: block;
    font-size: 1.5rem;
    font-weight: 400;
}
.title-01-center {
    text-align: center;
}
.title-01-center .title-01 {
    text-align: left;
    display: inline-block;
}
.title-02 {
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 2.0em;
    margin-bottom: 40px;
}
.title-03 {
    background-color: #0055A1;
    color: #fff;
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 2.0em;
    margin-top: 60px;
    margin-bottom: 80px;
    text-align: center;
}
.title-04 {
    color: #00345C;
    font-size: 5.5rem;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 30px;
}
.title-04 span {
    color: #00345C;
    font-size: 1.5rem;
    font-weight: 400;
    margin-left: 10px;
}
.title-05 {
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.0em;
}
.title-06 {
    color: #00345C;
    font-size: 5.0rem;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 60px;
}
.title-07 {
    font-weight: 700;
    line-height: 2.5em;
}

/* --------------------- button --------------------- */

.btn-pagetop {
	position: fixed;
	right: 10px;
	display: block;
	width: 60px;
	font-size: 10px;
	color: #0055A1;
	text-align: center;
    text-shadow: 1px 1px 1px #fff;
	z-index: 99;
}
.btn-pagetop:before {
    display: block;
    content: "";
    width: 20px;
    height: 17px;
    background-color: #0055A1;
    position: absolute;
    top: -20px;
    left: 20px;
    clip-path: polygon(0 17px, 10px 0px, 20px 17px);
    z-index: 100;
}
.btn-pagetop:after {
    display: block;
    content: "";
    width: 24px;
    height: 21px;
    background-color: #fff;
    clip-path: polygon(0 20px, 12px 0px, 24px 20px);
    position: absolute;
    top: -22px;
    left: 18px;
    z-index: 99;
}
.button-center {
    text-align: center;
}
.button01 {
	background-color: #0055A1;
	color: #fff;
	display: inline-block;
    font-size: 1.7rem;
    font-weight: 600;
	height: auto;
	padding: 20px 58px 20px 52px;
	position: relative;
	text-align: center;
}
.button01:hover {
	background-color: #0055A1;
}
.button01::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 34px;
	height: 2px;
	background: #fff;
}
.button01:hover::after{
	animation: pathmove 1.4s ease-in-out infinite;
}
.button03 {
	background-color: #fff;
    color: #0055A1;
	display: block;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.2em;
    margin-bottom: 14px;
	padding: 16px 52px 16px 36px;
	position: relative;
	text-align: center;
	letter-spacing: 0.2em;
}
.button03:before {
	background-color: #D1D1D1;
    content: "";
    clip-path: circle(10px at 50% 50%);
    display: block;
    height: 20px;
    margin-top: -10px;
    position: absolute;
    right: 15px;
    top: 50%;
    width: 20px;
    transition: all .3s;
}
.button03:after {
    background-color: #fff;
    content: "";
    clip-path: polygon(0 0, 60% 50%, 0 100%);
	display: block;
    height: 10px;
	margin-top: -5px;
	position: absolute;
	right: 17px;
	top: 50%;
    width: 10px;
	transition: all .3s;
}
.button03:hover {
	background-color: #D1D1D1;
}
.button03:hover:before {
	background-color: #0055A1;
}
@keyframes pathmove{
	0%{
		width:0;
		right:50px;
		opacity: 0;
	}
	70%{
		width:30px;
		opacity: 1;
	}
	100%{
		width:0;
		right:0;
		opacity: 0;
	}
}

/* --------------------- box --------------------- */
#content-body {
    width: 100%;
    overflow-x: hidden;
    margin-top: 82px;
}
#front-page #content-body {
    margin-top: 0;
}
.inner-box01 {
    width: 1100px;
    margin: 0 auto;
}
.inner-box02 {
    width: 924px;
    margin: 0 auto;
}
.txt01 {
    margin-bottom: 48px;
}
.txt02 {
    font-size: 1.2rem;
    margin-top: 20px;
}
.box01,
.box02,
.box03,
.box04,
.box05,
.box06 {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 100px;
}
.box01:last-child,
.box02:last-child,
.box03:last-child,
.box04:last-child,
.box05:last-child,
.box06:last-child {
    margin-bottom: 0px;
}
.box01 .txt-box01,
.box02 .txt-box02 {
    width: 53%;
    padding-left: calc(50% - 550px);
}
.box01 .img-box01,
.box02 .img-box02,
.box03 .box03-02 {
    width: 47%;
    margin-top: 48px;
    padding-left: 46px;
}
.box03 .box03-02 {
    width: 50%;
}
.box01 .img-box01 div,
.box02 .img-box02 div,
.box04 .img-box04 div {
    max-width: 1000px;
    max-height: 255px;
    margin-bottom: 16px;
    overflow: hidden;
}
.box01 .img-box01 div:nth-child(2),
.box04 .img-box04 div:nth-child(2) {
    max-width: 714px;
    margin-left: 186px;
}
.box01 .img-box01 div:nth-child(3),
.box04 .img-box04 div:nth-child(3) {
    max-width: 928px;
    margin-left: 72px;
    margin-bottom: 0;
}
.box02 {
    margin-bottom: 120px;
}
.box02:last-child {
    margin-bottom: 0px;
}
.box02 .img-box02 {
    margin-top: 0px;
}
.box02 .img-box02 div {
    max-height: none;
    margin-bottom: 0px;
}
.box03 .box03-01 {
    width: 50%;
    padding-right: 46px;
}
.box03 .box03-02 {
    margin-top: 0;
    padding-left: 0;
}
.box04 .img-box04,
.box06 .img-box06 {
    width: calc(50% - 46px);
}
.box04 .img-box04 div {
    margin-right: 0;
    margin-left: auto;
}
.box04 .img-box04 div:nth-child(2) {
    margin-left: auto;
    margin-right: 186px;
}
.box04 .img-box04 div:nth-child(3) {
    margin-left: auto;
    margin-right: 72px;
}
.box04 .txt-box04 {
    width: 50%;
    padding-right: calc(50% - 550px);
    margin-left: 46px;
}
.box05,
.box06 {
    justify-content: space-between;
}
.box05 .img-box05,
.box06 .img-box06,
.box05 .txt-box05,
.box06 .txt-box06 {
    width: 48.5%;
}
.box05 .txt-box05 {
    padding-left: calc(50% - 550px);
}
.box06 .txt-box06 {
    padding-right: calc(50% - 550px);
}
.box05 .img-box05 div img,
.box06 .img-box06 div img {
    max-height: 800px;
    object-position: top;
}

/* --------------------- Common Etc ---------------------- */
.swiper01 {
    width: 1100px;
    margin: 0 auto;
}
.list-01 li:last-child {
    margin-bottom: 0;
}
.list-02 {
    padding-bottom: 20px;
}
.list-02 li {
    display: inline;
    margin-right: 80px;
    font-size: 1.7rem;
    font-weight: 700;
}
.accordion-area li {
	background-color: #fff;
	margin-bottom: 24px;
} 
.accordion-area.li-gray li {
    background-color: #F8F8F8;
}
.accordion-area .title {
    position: relative;
    color: #0055A1;
    cursor: pointer;
	font-size: 2.2rem;
    font-weight: 600;
    padding: 40px;
    transition: all .5s ease;
}
.accordion-area .title::after{
    color: #0055A1;
    position: absolute;
    content:'+';
	display: block;
    font-size: 4.0rem;
    font-weight: 400;
    top: 38%;
    right: 40px;
}
.accordion-area .title.close::after{
    content: '-';
    font-size: 8.0rem;
    font-weight: 100;
    top: 29%;
    right: 39px;
}
.accordion-area .box {
    color: #707070;
    display: none;
    padding: 0px 40px 40px 60px;
    position: relative;
}
.accordion-area .box p {
    margin-bottom: 2em;
}
.accordion-area .box p:last-child {
    margin-bottom: 0;
}
.common-nav-list01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.common-nav-list01 li {
    text-align: center;
    width: 24%;
    font-size: 2.0rem;
    font-weight: 600;
}
.common-nav-list01 li a {
    font-size: 2.0rem;
    font-weight: 600;
}
.common-nav-list01 li a img {
    height: 54px;
    width: auto;
    display: block;
    margin: 20px auto;
}
.common-nav-list01 li a span {
    display: block;
    font-size: 1.2rem;
    margin-top: 4px;
}

.table01,
.table02,
.table03 {
    width: 100%;
}
.table01 th,
.table01 td,
.table02 th,
.table02 td {
    border-bottom: dotted 1px #848484;
    padding: 40px;
    vertical-align: middle;
}
.table01 th,
.table02 th {
    color: #0055A1;
    font-size: 4.0rem;
    font-weight: 800;
}
.table01 td,
.table02 td {
    color: #333333;
    font-size: 3.0rem;
    font-weight: 800;
}
.table01 td *,
.table02 td * {
    font-weight: 800;
}
.table01 tr:first-of-type th,
.table01 tr:first-of-type td,
.table02 tr:first-of-type th,
.table02 tr:first-of-type td {
    padding-top: 0;
}
.table02 th {
    font-size: 2.2rem;
    line-height: 2.5em;
    min-width: 260px;
}
.table02 td {
    font-size: 1.7rem;
    line-height: 2.5em;
}
.table03 th {
    border-bottom: none;
    color: #333;
    font-size: 1.7rem;
    min-width: auto;
    padding: 10px 0;
    width: 160px;
}
.table03 td {
    border-bottom: none;
    padding: 10px 0;
}

.bg-gray {
    background-color: #F8F8F8;
}
.bg-gray02,
.bg-gray03 {
    background: linear-gradient(90deg, #F8F8F8 0%, #F8F8F8 100%);
    background-size: calc(50% + 340px);
    background-position: left;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}
.bg-gray03 {
    margin-top: -128px;
    padding: 128px 0;
}
.br-sp {
    display: none;
}
.logo-sp {
    display: none;
}
.txt-center {
    text-align: center;
}
.pt-0 {
    padding-top: 0;
}
.pb-0 {
    padding-bottom: 0;
}
.mt-70 {
    margin-top: 70px;
}

/* --------------------- Header ---------------------- */
header {
	position: fixed;
	top: 0;
	z-index: 100;
	height: 82px;
	width: 100%;
	background-color: #fff;
}
header h1 {
	width: auto;
	height: 58px;
	margin: 12px;
}
header h1 img {
	width: auto;
}
.open-btn01 {
	cursor: pointer;
    display: none;
	height: 62px;
	position: fixed;
	text-align: center;
	top: 0;
	right: 0;
	width: 62px;
    z-index: 5;
}
.open-btn01 span {
    display: inline-block;
    transition: all .3s;
    position: absolute;
    left: 50%;
    height: 4px;
	background: #0055A1;
    width: 50%;
}
.open-btn01 span:nth-of-type(1) {
    top: 27%;
    transform: translate(-50%);
}
.open-btn01 span:nth-of-type(2) {
    top: 42%;
    transform: translate(-50%);
}
.open-btn01 span:nth-of-type(3) {
    top: 57%;
    transform: translate(-100%);
    width: 25%;
}
.open-btn01.active span:nth-of-type(1) {
    top: 20px;
	left: 20%;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}
.open-btn01.active span:nth-of-type(2) {
  opacity: 0;
}
.open-btn01.active span:nth-of-type(3){
    top: 32px;
	left: 20%;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}
.entry-btn01 {
    height: 82px;
    position: absolute;
    right: 0;
    top: 0;
}
.entry-btn01 a {
    background-color: #0055A1;
    color: #fff;
    display: block;
    font-size: 1.5rem;
    height: 100%;
    letter-spacing: 0.05em;
    padding: 30px 20px;
}
.entry-btn01 i {
    color: #fff;
    margin-right: 8px;
}
#g-nav-list {
    height: 82px;
    position: fixed;
    z-index: 3;
    overflow: auto;
    top: 0;
    right: 170px;
    text-align: left;
}
#g-nav-list ul {
    display: flex;
    justify-content: right;
}
#g-nav-list li {
    margin: 30px 32px 10px 0px;
}
#g-nav-list li a {
    font-size: 1.3rem;
    font-weight: 600;
    padding: 10px 0;
    transition: all 0.05s;
}
#g-nav-list li a:hover {
    font-size: 1.3rem;
    border-bottom: solid 3px #0055A1;
}
.pankuzu {
	text-align: right;
	margin-top: 80px;
}
.pankuzu ul {
	width: 1100px;
	margin: 0 auto;
	padding: 4px 0;
}
.pankuzu li {
	display: inline;
}
.pankuzu li:after {
	display: inline;
	content: '/';
	padding: 0 10px;
}
.pankuzu li:last-child:after {
	display: none;
}
.pankuzu * {
	font-size: 1.2rem;
	font-weight: 400;
}

/* --------------------- Footer ---------------------- */

footer {
	background-color: #0055A1;
	position: relative;
	z-index: 1;
}

.ft-box01, .ft-box02 {
	display: flex;
	flex-wrap: wrap;
}
.ft-box02 * {
	color: #fff;
    font-size: 1.2rem;
    font-weight: 600;
}

.ft-box01 {
	justify-content: space-between;	
	padding-top: 64px;
}

.ft-box02 {
	justify-content: space-between;
	align-items: center;
	padding-top: 40px;
    padding-bottom: 20px;
}
.ft-box02 small {
	line-height: 2em;
    font-weight: 400;
}

.ft-logo01 {
	width: 214px;
}

.ft-nav01 * {
	color: #fff;
    font-size: 1.4rem;
    letter-spacing: 0.2em;
}

.ft-nav01 li {
	margin-bottom: 14px;
}
.ft-nav01 li a:hover {
	text-decoration: underline;
}
.ft-nav01 i {
    font-size: 2.0rem;
	width: 20px;
	margin-right: 10px;
}

.ft-nav02 li {
	display: inline-block;
	margin-right: 20px;
    letter-spacing: 0.2em;
}
.ft-nav02 li a:hover {
	text-decoration: underline;
}

/* --------------------- contents ---------------------- */
.main-movie {
    height: calc(100vh - 82px);
    margin-top: 82px;
    background-color: #000;
    position: relative;
    width: 100%;
}
.main-movie01 {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}
.main-movie01 video {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.main-catch01 {
    animation-duration: 1.6s!important;
    color: #fff;
    font-size: 4.4rem;
    font-weight: 600;
    position: absolute;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.6);
    bottom: 20%;
    left: 10%;
    line-height: 1.6em;
    letter-spacing: 0.05em;
}
.main-catch01 span {
    color: #fff;
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.4em;
}

.service-list01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 32px;
}
.service-list01 li {
	position: relative;
	padding: 8px 6px 0 6px;
	text-align: center;
    margin: 0 8px 20px 8px;
}
.service-list01 li:before {
	background-color: #E2E2E2;
	content: '';
	height: 4px;
	top: 0;
	left: 0;
	width: 100%;
	position: absolute;
}
.service-list01 li:hover::before {
	background-color: #0055A1;
}
.service-list01 li * {
	font-size: 1.2rem;
	font-weight: 400;
}
.service-slider01 div.swiper-slide-img {
    position: relative;
    margin-bottom: 14px;
}
.service-slider01 h3 {
    background-color: rgba(0, 85, 161, 0.8);
    bottom: 45px;
    color: #fff;
    display: inline-block;
    font-size: 2.5rem;
    font-weight: 700;
    left: 0;
    letter-spacing: 0;
    line-height: 2.5rem;
    padding: 14px 28px;
    position: absolute;
}
.service-slider01 h3 span {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 2.5rem;
    margin-left: 14px;
    vertical-align: top;
}
.service-slider01 p {
    font-size: 1.4rem;
    line-height: 1.7em;
    padding: 0 8px;
}
.interview-list01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.interview-list01>li {
    margin-bottom: 40px;
    position: relative;
    width: calc(33.333% - 15px);
}
.interview-list01>li img {
    padding-left: 20px;
}
.interview-list01>li h3 {
    background-color: rgba(0, 85, 161, 0.8);
    color: #fff;
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 600;
    padding: 10px 14px;
    position: absolute;
    left: 0;
    bottom: 102px;
}
.interview-list01>li ul {
    position: absolute;
    left: 20px;
    bottom: 10px;
}
.interview-list01>li ul li {
    margin-bottom: 10px;
}
.interview-list01>li ul li span {
    background-color: rgba(255, 255, 255, 0.8);
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 400;
    padding: 8px 14px;
}
#front-page .accordion-area .title {
    padding: 40px 90px;
}
#front-page .accordion-area .title::before{
    color: #0055A1;
    position: absolute;
    content:'Q';
	display: block;
    top: 36%;
    left: 40px;
}
#front-page .accordion-area .box {
    padding: 0px 40px 40px 90px;
}
#front-page .accordion-area .box::before{
    color: #6E6E6E;
    font-weight: 600;
    font-size: 2.5rem;
    position: absolute;
    content:'A';
	display: block;
    top: 10px;
    left: 40px;
}
#entry {
    background-image: url(assets/img/bg-entry.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}
#entry * {
    color: #fff;
}
#entry p {
    text-align: center;
    font-weight: 600;
    margin-bottom: 40px;
}
#about-page #concept,
#about-page #service {
    margin-top: -170px;
}
#about-page .box01,
#about-page .box04 {
    align-items: center;
}
#about-page .box01 .img-box01,
#about-page .box04 .img-box04 {
    margin-top: 0px;
}
#about-page .box03-01 {
    padding-top: 14px;
}
#about-page .title-02 {
    margin-bottom: 20px;
}
.profile-list01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.profile-list01 li {
    width: 48%;
    text-align: center;
}
.profile-list01 li h3 {
    background-color: #0055A1;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 600;
    padding: 20px;
}
.profile-list01 li p {
    color: #00345C;
    font-size: 10.0rem;
    font-weight: 800;
    line-height: 1.2em;
    padding: 58px 10px 40px 10px;
}
.profile-list01 li p span {
    color: #00345C;
    display: block;
    margin-top: 24px;
}
.profile-list01 li p span.mens,
.profile-list01 li p span.womens {
    display: inline-block;
    vertical-align: super;
}
.profile-list01 li p span.mens {
    margin-right: 30px;
}
.profile-list01 li p span.womens {
    margin-left: 14px;
}
.profile-list01 li p.time {
    font-size: 6.0rem;
    letter-spacing: 0;
    line-height: 2.02em;
}
.job-type-list01 {
    list-style-type: circled-decimal;
    margin-left: 22px;
}
.job-type-list01 li {
    margin-top: 10px;
    line-height: 1.6em;
}
#voice-page .box05,
#voice-page .box06 {
    margin-bottom: 140px;
}


/* --------------------- 動き ---------------------- */
.fadeUpTrigger {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 0.5s;
}
.fadeUpTrigger.fadeUp{    
  transform: translate(0, 0);
  opacity: 1;
}
.fadeLeft{
    animation-name:fadeLeftAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    @keyframes fadeLeftAnime{
      from {
        opacity: 0;
      transform: translateX(-100px);
      }
      to {
        opacity: 1;
      transform: translateX(0);
      }
    }
.fadeRight{
    animation-name:fadeRightAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
    }   
    @keyframes fadeRightAnime{
      from {
        opacity: 0;
      transform: translateX(100px);
      }   
      to {
        opacity: 1;
      transform: translateX(0);
      }
    }
    .delay-time02{
        animation-delay: 0.2s;
    }
    .delay-time04{
        animation-delay: 0.4s;
    }
    .delay-time06{
        animation-delay: 0.6s;
    }

/* --------------------- wp contents ---------------------- */




/* --------------------- for tablet ---------------------- */

@media only screen and (max-width: 1200px) {
    section {
        padding: 80px 0;
    }
    .title-02 {
        font-size: 2.2rem;
    }
    .inner-box01,
    .inner-box02,
    .swiper01 {
        width: 90%;
    }
    .box01 .txt-box01,
    .box02 .txt-box02 {
        margin: 0 auto 80px auto;
        padding: 0;
        width: 90%;
    }
    .box01 .img-box01, .box02 .img-box02, .box03 .box03-02 {
        width: 100%;
        padding: 0;
        margin-top: 0;
    }
    .box03 .box03-01,
    .box03 .box03-02,
    .box04 .img-box04,
    .box06 .img-box06
     {
        margin: 0;
        width: 100%;
    }
    .box04 .txt-box04 {
        width: 90%;
        margin: 80px auto 0 auto;
    }
    .box05, .box06 {
        margin-bottom: 80px;
    }
    .box06 {
        flex-direction: column-reverse;
    }
    .box05 .txt-box05, .box06 .txt-box06 {
        margin: 0 auto 80px auto;
        padding: 0;
        width: 90%;
    }
    .box05 .img-box05, .box06 .img-box06 {
        padding: 0;
        width: 100%;
    }
    header {
        height: 62px;
    }
    header h1 {
        height: 48px;
        margin: 5px 10px;
    }
    #g-nav-list {
        position: fixed;
        z-index: 3;
        width: 400px;
        max-width: 100%;
        height: calc(100vh - 62px);
        overflow: auto;
        top: 62px;
        right: -120%;
        -webkit-overflow-scrolling: touch;
        text-align: left;
        padding-top: 70px;
        padding-bottom: 16px;
        padding-left: 100px;
        transition: all 0.6s;
        background: #0055A1;
    }
    #g-nav01 #g-nav-list * {
        color: #fff;
    }
    #g-nav-list ul {
        display: block;
    }
    #g-nav01 #g-nav-list ul li {
        margin-bottom: 32px;
    }
    #g-nav-list::-webkit-scrollbar{
        display: none;
    }
    #g-nav01.panelactive #g-nav-list {
        right: 0px;
    }
    .open-btn01{
        display: block;
    }
    .entry-btn01 {
        font-size: 1.3rem;
        height: 62px;
        right: 62px;
    }
    .entry-btn01 a {
        font-size: 1.3rem;
        padding: 20px;
    }
	footer {
		width: 100%;
		padding-left: 0;
		margin-right: 0;
		margin-left: 0;
	}
	.ft-box01 {
		padding: 40px 0 0 0;
		justify-content: space-around;
	}
	.ft-box01 div {
		width: 80%;
		margin: 0 auto;
		margin-bottom: 40px;
		text-align: center;
	}
	.ft-box01 .ft-nav01 {
		display: inline-block;
		text-align: left;
	}
	.ft-box01 .ft-nav01 li a {
		font-size: 2.0rem;
	}
	.ft-box01, .ft-box02 {
    	padding-left: 0;
    	padding-right: 0;
		display: block;
	}
	.ft-box02 {
		text-align: center;
	}
	.ft-box02 small {
		line-height: 4em;
	}
	.ft-logo01 {
		width: 120px;
		margin: 0 auto;
	}
    .bg-gray02, .bg-gray03 {
        background: #F8F8F8;
    }
    #content-body,
    .main-movie {
        margin-top: 62px;
    }
    .br-pc {
        display: none;
    }
    .table01 th, .table01 td {
        font-size: 2.4rem;
    }
    .table02 th, .table02 td {
        display: block;
        width: 100%;
    }
    .table02 th {
        border-bottom: none;
        padding-bottom: 0;
    }
    .table02 td {
        padding-top: 0;
    }
    .table03 th {
        display: inline-block;
        width: 180px;
    }
    .table03 td {
        display: inline-block;
        padding-bottom: 0;
        width: auto;
    }
    #front-page #content-body {
        margin-top: 0;
    }
    .main-movie {
        height: 420px;
    }
    .main-catch01 {
        bottom: 12%;
        left: 8%;
    }

    #about-page .box03-01 {
        padding-right: 0;
        padding-bottom: 20px;
    }
    #about-page #concept {
        margin-top: 0;
        padding-top: 0;
    }
    #about-page #service {
        margin-top: 0;
    }
    .profile-list01 li p {
        font-size: 7.6rem;
    }
    .profile-list01 li p.time {
        font-size: 5.0rem;
    }
    #job-type .button01 {
        margin-bottom: 10px;
    }
    #voice-page .box05, #voice-page .box06 {
        margin-bottom: 80px;
    }
    .txt-center {
        text-align: left;
    }
    .delay-time02{
        animation-delay: 0;
    }
    .delay-time04{
        animation-delay: 0;
    }
    .delay-time06{
        animation-delay: 0;
    }
}

/* --------------------- for mobile ---------------------- */

@media only screen and (max-width: 767px) {
    * {
        font-size: 1.5rem;
        line-height: 2.2em;
    }
    section {
        padding: 60px 0;
    }
    .title-01 {
        font-size: 7.0rem;
        margin-bottom: 38px;
    }
    .title-01-center {
        width: 90%;
        margin: 0 auto 20px auto;
        text-align: left;
    }
    .title-02 {
        font-size: 1.7rem;
        margin-bottom: 28px;
    }
    .title-03 {
        font-size: 1.8rem;
        padding: 16px 4px;
        margin: 20px 0 40px 0;
    }
    .title-04 {
        font-size: 3.6rem;
    }
    .title-06 {
        font-size: 3.6rem;
        margin-bottom: 28px;
        line-height: 1.4em;
    }
    .btn-box01 {
        text-align: center;        
    }
    .button01 {
        font-size: 1.5rem;
        font-weight: 400;
    }
    .box01, .box02, .box03, .box04, .box05, .box06 {
        margin-bottom: 60px;
    }
    .box01 .txt-box01, .box02 .txt-box02 {
        margin: 0 auto 60px auto;
    }
    .bg-gray03 {
        margin-top: 0;
        padding: 0;
    }
    .list-02 li {
        display: block;
        font-size: 1.4rem;
    }
    .table01 th, .table01 td {
        display: block;
        padding: 20px;
    }
    .table01 th {
        border-bottom: none;
        padding-bottom: 0;
    }
    .table01 td {
        padding-top: 0;
        font-size: 2.2rem;
    }
    .table02 th, .table02 td {
        padding: 20px;
    }
    .table02 th {
        padding-bottom: 0;
    }
    .table02 td {
        padding-top: 0;
    }
    .table03 th,
    .table03 td {
        padding: 0;
    }
    .table03 td {
        padding: 0 0 10px 18px;
    }
    .accordion-area li {
        margin-bottom: 14px;
    }
    .accordion-area .title {
        font-size: 1.8rem;
        padding: 20px 44px 20px 20px;
    }
    .accordion-area .title::after {
        top: 20px;
        right: 14px;
    }
    .accordion-area .title.close::after {
        top: 9px;
        right: 12px;
    }
    .accordion-area .box {
        padding: 0px 20px 20px 20px;
    }
    .accordion-area .box p {
        line-height: 1.8em;
    }
    .br-sp {
        display: inline;
    }
    .logo-sp {
        display: inline;
    }
    .logo-pc {
        display: none;
    }
    .mt-70 {
        margin-top: 40px;
    }
    .common-nav-list01 li {
        width: 49%;
        margin-bottom: 24px;
    }
    .common-nav-list01 li a img {
        margin: 10px auto;
    }
    .common-nav-list01 li a span {
        margin-top: 0;
        line-height: 1em;
    }
    .entry-btn01 a {
        line-height: 1.6em;
    }
    .ft-box01 .ft-nav01 li a {
        font-size: 1.4rem;
    }
    .main-catch01 {
        font-size: 3.0rem;
    }
    .main-catch01 span {
        font-size: 1.3rem;
        line-height: 1.6em;
    }
    #front-page .accordion-area .title {
        line-height: 1.4em;
        padding: 20px 46px;
    }
    #front-page .accordion-area .title::before {
        top: 20px;
        left: 20px;
    }
    #front-page .accordion-area .box {
        padding: 0px 20px 30px 46px;
    }
    #front-page .accordion-area .box::before {
        font-size: 1.8rem;
        top: -2px;
        left: 20px;
    }
    #entry p {
        font-size: 1.2rem;
    }
    .interview-list01>li {
        margin-bottom: 20px;
        width: 100%;
    }
    .interview-list01>li h3 {
        bottom: 132px;
    }
    .interview-list01>li ul {
        left: 0;
    }
    .interview-list01>li ul li span {
        background-color: rgba(255, 255, 255, 0.9);
    }
    .profile-list01 li {
        width: 100%;
    }
    .profile-list01 li h3 {
        padding: 10px;
    }
    .service-slider01 h3 {
        bottom: 25px;
        font-size: 1.5rem;
    }
    .service-slider01 h3 span {
        font-size: 1.0rem;
    }
    .service-list01 {
        margin-bottom: 20px;
    }
}