/*------------------------------------*\
MAIN
\*------------------------------------*/
/* global box-sizing */
*,
*:after,
*:before {
-moz-box-sizing:border-box;
box-sizing:border-box;
-webkit-font-smoothing:antialiased;
font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
font-size:62.5%;
}
body {
font:300 11px/1.4 'Noto Sans JP', sans-serif;
color:#000000;
}
/* clear */
.clear:before,
.clear:after {
content:' ';
display:table;
}
.clear:after {
clear:both;
}
.clear {
*zoom:1;
}
img {
max-width:100%;
vertical-align:bottom;
}
a {
color:#444;
text-decoration:none;
}
a:hover {
opacity: 0.8;
}
a:focus {
outline:0;
}
a:hover,
a:active {
outline:0;
}
input:focus {
outline:0;
border:1px solid #04A4CC;
}
.noto{
font-family: 'Noto Sans JP', sans-serif!important;
}
.serif{
font-family: 'Noto Serif JP', sans-serif!important;
}
.md_block{
display: block;
}
.xsd_block{
display: none;
}
.mxd_block{
display: block;
}
.xs_block{
display: none;
}
/*  mission  */
h1.under_ttl {
line-height: 1;
margin: 0;
letter-spacing: 0.05em;
font-size: 4rem;
font-weight: 500;
text-align: center;
position: relative;
margin-bottom: 77px;
}
h1.under_ttl::after {
content: "";
display: inline-block;
width: 40px;
height: 4px;
position: absolute;
/* top: 70px; */
top: 160%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-100%);
margin: 0;
padding: 0;
background: #2a7e9c;
}
p.under_catch {
font-size: 2rem;
text-align: center;
line-height: 2;
letter-spacing: 0.1em;
margin: 0;
font-weight: 500;
margin-bottom: 75px;
}
.row {
display: flex;
flex: 0 1 auto;
flex-flow: row wrap;
margin-left: -15px;
margin-right: -15px;
}
.row-reverse-desktop {
flex-direction: row-reverse;
}
.gutter-0 .row, .gutter-0.row {
margin-left: 0;
margin-right: 0;
}
.col-12 {
flex: 0 1 100%;
max-width: 100%;
}
.col-desktop-6 {
flex: 0 1 50%;
max-width: 50%;
}
.m-featured-training {
padding: 64px 0 60px;
height: 100%;
background-color: #ebf2f5;
color: #000;
display: flex;
align-items: center;
justify-content: center;
}
.m-featured-training_inner {
width: 41.572vw;
}
.a-image .placeholder {
width: 100%;
height: auto;
background-color: transparent;
}
.a-image .placeholder-desktop {
width: 100%;
height: auto;
background-color: transparent;
display: none;
}
.a-image_img {
top: 0;
left: 0;
width: 100%;
height: auto;
min-height: 680px;
object-fit: cover;
}
.a-image_img02 {
top: 0;
left: 0;
width: 100%;
height: auto;
min-height: 360px;
object-fit: cover;
position: relative;
z-index: -1;
}
.m-featured-training_no {
font-size: 10rem;
line-height: 1;
letter-spacing: -.01em;
}
.a-section-id span {
font-size: 1.4rem;
color: #2a7e9c;
letter-spacing: 0.05em;
font-weight: 500;
line-height: 2;
position: relative;
}
.a-section-id.mission_subttl {
margin-bottom: 17px;
}
.a-section-id span::before {
content: "";
display: inline-block;
width: 100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 100%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-47%,-100%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
h2.a-heading-ja.size2 {
margin: 0;
font-size: 3rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 600;
margin-bottom: 30px;
}
.a-section-id.mtb16 {
    margin-bottom: 16px;
}
.m-featured-training_body.viewed {
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 2;
font-weight: 400;
}
.js-viewport-children.m-featured-training_inner {
position: relative;
/* top: 70px; */
top: -3%;
left: 46%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-55%,-1%);
}
.js-viewport-children.m-featured-training_inner.normal.pad_padi {
    width: 37.772vw;
}
.js-viewport-children.m-featured-training_inner.normal.pad_paddi02 {
    width: 41.772vw;
}
.wdth90 {
    width: 90%;
}
.m-featured-training.normal {
background: #f8f8f8;
}
.js-viewport-children.m-featured-training_inner.normal {
position: relative;
top: 0%;
left: 46%;
-ms-transform: translate(-55%,-50%);
-webkit-transform: translate(-55%,-50%);
transform: translate(-55%,0%);
}
section#driver-debut02 {
max-width: 1000px;
margin: 0 auto;
margin-bottom: 20px;
position: relative;
}
.m-featured-training_inner.service_right-inner {
width: 100%;
position: relative;
/* top: 70px; */
top: -11%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-49%,-1%);
padding-left: 40px;
padding-right: 40px;
pointer-events: none;
}
.a-section-id span.ptn02::before {
content: "";
display: inline-block;
width: 100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 100%;
left: 47%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-47%,-100%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.a-section-id span.ptn03::before {
content: "";
display: inline-block;
width: 100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 100%;
left: 47%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-47%,-100%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.a-section-id span.ptn04::before {
content: "";
display: inline-block;
width: 100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 100%;
left: 47%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-47%,-100%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.m-featured-training_info a {
font-size: 1.6rem;
letter-spacing: 0.1em;
font-weight: 500;
color: #000;
position: relative;
}
.m-featured-training_info a::before {
content: "";
width: 116px;
display: inline-block;
height: 2px;
position: absolute;
/* top: 70px; */
top: 137%;
left: 60%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-47%,-1%);
background: #000;
}
.m-featured-training_info a:hover .block_item_arrow img {
-webkit-animation: hoverArrow .45s cubic-bezier(0, 0, .4, 1);
animation: hoverArrow .45s cubic-bezier(0, 0, .4, 1)
}
.block_item_arrow {
width: 14px;
position: absolute;
top: 50%;
right: -25px;
-webkit-transform: translateY(-50%);
transform: translateY(-45%);
overflow: hidden;
}
.block_item_arrow img {
width: 100%;
}
@-webkit-keyframes hoverArrow {
0% {
-webkit-transform: translate(0);
transform: translate(0)
}
40% {
-webkit-transform: translate(100%);
transform: translate(100%)
}
40.05% {
-webkit-transform: translate(-100%);
transform: translate(-100%)
}
to {
-webkit-transform: translate(0);
transform: translate(0)
}
}
@keyframes hoverArrow {
0% {
-webkit-transform: translate(0);
transform: translate(0)
}
40% {
-webkit-transform: translate(100%);
transform: translate(100%)
}
40.05% {
-webkit-transform: translate(-100%);
transform: translate(-100%)
}
to {
-webkit-transform: translate(0);
transform: translate(0)
}
}
/*
.m-featured-training_info a::after {
content: "";
width: 14px;
display: inline-block;
height: 23px;
position: absolute;
background-size: contain;
background-image: url(img/allow_right.png);
background-repeat: no-repeat;
top: 20%;
left: 120%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-49%,-11%);
}*/
.m-featured-training_info {
text-align: right;
position: relative;
right: 34px;
top: 38px;
}
.m-featured-training.service{
height: 360px;
background-color: #f8f8f8;
}
.m-featured-training_inner.service_right-inner.nonrevese {
}
.m-featured-training_info.ptn02 {
text-align: right;
position: relative;
}
section#driver-debut02-mtb40 {
max-width: 1000px;
margin: 0 auto;
margin-top: 20px;
margin-bottom: 20px;
}
section#ourService-mtb60 {
max-width: 1000px;
margin: 0 auto;
}
.our_service.row {
margin: 0;
}
.our_service.row .left {
width: 50%;
position: relative;
padding-right: 11px;
padding-bottom: 11px;
padding-top: 11px;
}
.our_service.row .right {
width: 50%;
position: relative;
padding-left: 11px;
padding-bottom: 11px;
padding-top: 11px;
}
.other_serviceInner {
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
margin: 0;
padding: 0;
color: #fff;
text-align: center;
}
.our_service.row .left img.js-image.a-image_img02 {
width: 100%;
height: 358px;
min-height: auto;
}
.service_ex01{
  position: absolute;
  visibility: hidden;
  top: -60px;
}
.our_service.row .right img.js-image.a-image_img02 {
width: 100%;
height: 358px;
min-height: auto;
}
.other_serviceInner span {
font-size: 1.4rem;
letter-spacing: 0.05em;
font-weight: 500;
line-height: 3;
margin: 0;
position: relative;
top: -6px;
}
.other_serviceInner span::before{
content: "";
display: inline-block;
width:100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,33%);
margin: 0;
padding: 0;
background: #fff;
opacity: 0.3;
}
.other_serviceInner h2 {
font-size: 2.8rem;
margin: 0;
line-height: 1.5;
letter-spacing: 0.07em;
font-weight: 600;
}
.our_service.row .left a:hover{
background: rgba(56, 146, 215, 0.7);
display: block;
opacity: 1;
}
.our_service.row .right a:hover{
background: rgba(56, 146, 215, 0.7);
display: block;
opacity: 1;
}
section#ourService-mtb60 {
margin-top: 30px;
margin-bottom: 105px;
}
/* COMPANY */
.page_scroll {
max-width: 1000px;
margin: 0 auto;
position: relative;
z-index: 5;
}
section#message {
margin-top: -70px;
padding-top: 70px;
}
section#recruit01,section#recruit02,section#recruit03 {
margin-top: -70px;
padding-top: 70px;
}
section#philosophy {
margin-top: -70px;
padding-top: 70px;
}
}
section#summary {
margin-top: -70px;
padding-top: 70px;
}
div#servicebase {
margin-top: -70px;
padding-top: 70px;
}
ul.scroll_flex {
padding: 0;
display: flex;
justify-content: center;
align-items: center;
list-style: none;
border-top: 2px solid;
border-bottom: 2px solid;
}
ul.scroll_flex li {
font-size: 1.6rem;
letter-spacing: 0.1em;
font-weight: 500;
}
ul.scroll_flex li {
font-size: 1.6rem;
letter-spacing: 0.1em;
font-weight: 500;
width: 203px;
/* text-align: center; */
border-right: 2px solid;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}
ul.scroll_flex li:hover{
  opacity: 0.8;
}
ul.scroll_flex li:last-child {
border-right: 0;
}
.ceo-message_erea {
max-width: 1000px;
margin: 0 auto;
display: flex;
margin-top: 140px;
}
.ceo-message_erea .left h5 {
font-size: 1.4rem;
margin: 0;
line-height: 3.428;
letter-spacing: 0.07em;
font-weight: 500;
color: #2a7e9c;
position: relative;
margin-top: 4px;
width: auto;
display: inline-block;
}
.ceo-message_erea .left h5::before {
content: "";
display: inline-block;
width: 100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.ceo-message_erea .left h3 {
margin: 0;
font-size: 4rem;
letter-spacing: 0.05em;
font-weight: 500;
color: #2a7e9c;
line-height: 1.35;
margin-top: -4px;
}
.ceo-message_erea .left h2 {
margin: 0;
font-size: 3rem;
font-weight: bold;
line-height: 1.9333;
letter-spacing: 0.2em;
margin-top: 34px;
margin-bottom: 38px;
}
.ceo-message_erea .left p.text {
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 2;
margin: 0;
font-weight: 400;
position: relative;
left: 1px;
margin-bottom: 33px;
}
.ceo-message_erea .left p.name_flex {
margin: 0;
display: flex;
align-items: center;
font-size: 1.4rem;
letter-spacing: 0.1em;
font-weight: 400;
}
.ceo-message_erea .left p.name_flex span.name.serif {
font-size: 2rem;
letter-spacing: 0.1em;
font-weight: 600;
position: relative;
left: 18px;
top: -1px;
}
.ceo-message_erea .left {
width: 58%;
}
.ceo-message_erea .right {
width: 42%;
display: flex;
justify-content: flex-end;
}
.bkLeft_grey {
background: #f5f5f5;
width: 100%;
height: 420px;
margin-left: -60px;
margin-top: -60px;
position: absolute;
z-index: -1;
left: -50%;
transform: translate(0%,0%);
}
.philosophy_inner {
max-width: 1000px;
margin: 0 auto;
}
.philosophy_inner h5 {
font-size: 1.4rem;
margin: 0;
line-height: 3.428;
letter-spacing: 0.07em;
font-weight: 500;
color: #2a7e9c;
position: relative;
margin-bottom: 4px;
}
.philosophy_inner h5::before {
content: "";
display: inline-block;
width: 60px;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.philosophy_inner h3 {
margin: 0;
font-size: 4rem;
letter-spacing: 0.05em;
font-weight: 500;
color: #2a7e9c;
line-height: 1.35;
margin-top: -4px;
}
.philosophy_inner h2 {
margin: 0;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.07em;
    position: relative;
    top: 0;
    margin-top: 1rem!important;
    margin-left: 0!important;
}
.ttl_flex {
display: flex;
}
.philosophy_txt-flex {
display: flex;
}
.philosophy_txt-flex .left {
width: 100%;
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 2;
margin: 0;
font-weight: 400;
position: relative;
}
/*
.philosophy_txt-flex .right {
width: 47%;
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 2;
margin: 0;
font-weight: 400;
position: relative;
margin-left: auto;
}*/
.philosophy_erea {
background: #f5f5f5;
margin-top: 95px;
padding-top: 64px;
padding-bottom: 55px;
}
.philosophy_inner figure.philosophy-img {
margin-top: 44px;
margin-bottom: 37px;
}
.summary_inner_flex {
display: flex;
margin: 0 auto;
max-width: 1000px;
}
.summary_inner_flex .left h5 {
font-size: 1.4rem;
margin: 0;
line-height: 3.428;
letter-spacing: 0.07em;
font-weight: 500;
color: #2a7e9c;
position: relative;
margin-bottom: 4px;
width: auto;
display: inline-block;
}
.summary_inner_flex .left h5::before {
content: "";
display: inline-block;
width: 100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.summary_inner_flex .left h3 {
margin: 0;
font-size: 4rem;
letter-spacing: 0.05em;
font-weight: 500;
color: #2a7e9c;
line-height: 1.2;
margin-top: -4px;
}
.summary_inner_flex .right_flex {
display:block;
width: 78.8%;
margin-top: -3rem;
}
.summary_inner_flex .right_flex ul {
padding: 0;
list-style: none;
}
.summary_inner_flex .right_flex ul li{
font-size: 1.8rem;
font-weight: 400;
letter-spacing: 0.1em;
padding-top: 18px;
padding-bottom: 18px;
}
.summary_inner_flex .left {
width: 40.413%;
}
.summary_inner_flex .right_flex ul.first {
width: 160px;
}
.summary_inner_flex .right_flex ul.first li:nth-child(5){
padding-bottom: 53px;
}
.summary_inner_flex .right_flex ul.first li:nth-child(6){
}
.summary_inner_flex .right_flex ul.secound {
max-width: 500px;
}
.summary_erea {
background: #ffffff!important;
padding-top: 62px;
padding-bottom: 90px;
}
.servicebase_erea {
padding-top: 63px;
padding-bottom: 100px;
background: #f5f5f5;
}
.servicebase_inner h5 {
font-size: 1.4rem;
margin: 0;
line-height: 3.428;
letter-spacing: 0.07em;
font-weight: 500;
color: #2a7e9c;
position: relative;
margin-bottom: 4px;
width: auto;
display: inline-block;
}
.servicebase_inner span {
font-size: 1.4rem;
margin: 0;
line-height: 3.428;
letter-spacing: 0.07em;
font-weight: 500;
color: #2a7e9c;
position: relative;
margin-bottom: 4px;
}
.servicebase_inner h5::before {
content: "";
display: inline-block;
width: 100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.servicebase_inner span::before {
content: "";
display: inline-block;
width: 100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.servicebase_inner h3 {
margin: 0;
font-size: 4rem;
letter-spacing: 0.05em;
font-weight: 500;
color: #2a7e9c;
line-height: 1.35;
margin-top: -4px;
}
.servicebase_inner {
max-width: 1000px;
margin: 0 auto;
}
.servicebase_txt-flex {
display: flex;
margin-top: 60px;
}
.servicebase_txt-flex .right h4 {
font-size: 2.4rem;
margin: 0;
margin-bottom: 2rem;
letter-spacing: 0.1em;
line-height: 1.1666;
font-weight: 400;
}
.servicebase_txt-flex .right h5 {
font-size: 1.2rem;
letter-spacing: 0.1em;
line-height: 2.2;
font-weight: 400;
margin-bottom: 25px;
margin-top: 5px;
}
.servicebase_txt-flex .right h5::before {
content: none;
}
.servicebase_txt-flex .right p.address {
margin: 0;
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 2;
}
.servicebase_txt-flex .right p.tel {
margin: 0;
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 2;
}
.servicebase_txt-flex .right p.fax{
margin: 0;
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 2;
}
.servicebase_txt-flex .left {
width: 50%;
max-width: 480px;
height: auto;
}
.servicebase_txt-flex .right {
width: 50%;
max-width: 500px;
height: auto;
padding-left: 40px;
}
a.glmap_btn {
font-size: 1.8rem;
letter-spacing: 0.14em;
font-weight: 400;
/* line-height: 1.555; */
/* width: 240px; */
color: #000000;
padding: 6px 55px 9px 58px;
border: 1px solid #000;
background: #fff;
/* margin-top: 40px; */
position: relative;
top: 40px;
cursor: pointer;
pointer-events: auto;
}
a.glmap_btn::after {
content: "";
display: inline-block;
background-size: contain;
background-image: url(img/company/allowIcon.png);
width: 34px;
height: 44px;
position: absolute;
/* top: 70px; */
top: 0%;
left: 100%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,-2%);
margin: 0;
padding: 0;
}
.servicebasefull_inner {
max-width: 1000px;
margin: 0 auto;
}
.servicebasefull_inner h5 {
font-size: 1.4rem;
margin: 0;
line-height: 3.428;
letter-spacing: 0.07em;
font-weight: 500;
color: #2a7e9c;
position: relative;
margin-bottom: 4px;
}
.servicebasefull_inner h5::before {
content: "";
display: inline-block;
width: 60px;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.servicebasefull_inner h3 {
margin: 0;
font-size: 4rem;
letter-spacing: 0.05em;
font-weight: 500;
color: #2a7e9c;
line-height: 1.35;
margin-top: -4px;
}
.servicebasefull_txt-flex {
display: flex;
}
.servicebasefull_txt-flex .left {
width: 47%;
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 2;
margin: 0;
font-weight: 400;
position: relative;
}
.servicebasefull_txt-flex h4 {
font-size: 2.4rem;
margin: 0;
letter-spacing: 0.1em;
line-height: 1.1666;
font-weight: 400;
}
.servicebasefull_txt-flex h5 {
font-size: 1.2rem;
letter-spacing: 0.1em;
line-height: 2.2;
font-weight: 400;
margin-bottom: 15px;
margin-top: 5px;
}
.servicebasefull_txt-flex h5::before {
content: none;
}
figure.servicebasefull-img {
margin-top: 50px;
margin-bottom: 55px;
}
.servicebasefull_txt-flex p.address {
margin: 0;
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 2;
}
.servicebasefull_txt-flex p.tel {
margin: 0;
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 2;
}
.servicebasefull_txt-flex p.fax {
margin: 0;
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 2;
}
.servicebasefull_txt-flex .right {
width: 47%;
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 2;
margin: 0;
font-weight: 400;
position: relative;
/* display: flex; */
margin-left: auto;
}
.servicebasefull_txt-flex a.glmap_btn {
top: 28px;
}
.servicebasefull_erea {
background: #f8f8f8;
padding-top: 63px;
padding-bottom: 100px;
}
/* recruit */
.recruit_inner {
max-width: 1000px;
margin: 0 auto;
}
.recruit_inner h2 {
margin: 0;
font-size: 3rem;
font-weight: 600;
line-height: 1.9333;
letter-spacing: 0.2em;
margin-top: 46px;
}
.recruit_txt-flex {
display: flex;
}
.recruit_txt-flex .left {
width: 100%;
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 2;
margin: 0;
font-weight: 400;
position: relative;
}
.recruit_txt-flex .left p{
      margin-top: 16px;
}
.recruit_txt-flex .right {
width: 47%;
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 2;
margin: 0;
font-weight: 400;
position: relative;
/* display: flex; */
margin-left: auto;
}
.page_scroll.recruit {
margin-top: 80px;
padding-bottom: 50px;
}
.recruit-filed_inner h5 {
font-size: 1.4rem;
margin: 0;
line-height: 3.428;
letter-spacing: 0.07em;
font-weight: 500;
color: #2a7e9c;
position: relative;
margin-bottom: 4px;
width: auto;
display: inline-block;
}
.recruit-filed_inner h5::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 8px;
  position: absolute;
  /* top: 70px; */
  top: 50%;
  left: 0%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(0%,25%);
  margin: 0;
  padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.recruit-filed_inner {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
  padding-top: 63px;
  padding-bottom: 93px;
}
.recruit-filed_inner h3 {
margin: 0;
font-size: 4rem;
letter-spacing: 0.05em;
font-weight: 500;
color: #2a7e9c;
line-height: 1.35;
margin-top: -4px;
margin-bottom: 20px;
}
.recruit-filed_inner_flex ul{
padding: 0;
list-style: none;
}
.recruit-filed_inner_flex{
display: flex;
align-items: baseline;
border-bottom: 1px solid #cccccc;
max-width: 700px;
}
.recruit-filed_inner_flex ul.first {
width: 142px;
position: relative;
top: 1px;
}
.recruit-filed_inner_flex ul.secound {
max-width: 560px;
}
.recruit-filed_erea {
background: #f5f5f5;
position: relative;
overflow: hidden;
display: flex;
}
/*
.recruit-filed_erea::after {
content: "";
display: inline-block;
background-size: cover;
background-image: url(img/recruit/recruit02.png);
width: 100%;
height: 585px;
position: absolute;
top: 50%;
left: 100%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
margin-left: 260px;
object-fit: cover;
background-repeat: no-repeat;
overflow: hidden;
}*/
.bkLeft_grey_rightImg {
position: static;
}
figure.recruit-img_fi02 {
  position: absolute;
  width: 100%;
  position: absolute;
  top: 0%;
  left: 100%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  margin-left: 260px;
  object-fit: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  transform: translate(-50%,0%);
  padding: 0;
}
figure.recruit-img_fi02 img {
  width: 39.429vw;
  min-height: 780px;
  object-fit: cover;
  position: relative;
  left: 0;
  top: 0p
}
.recruit-filed_inner.reverse {
margin-left: auto;
margin-right: auto;
position: relative;
left: 220px;
width: 60%;
max-width: 1050px;
min-width: 750px;
}
figure.recruit-img_fi02.reverse {
left: 31vw;
width: 100vw;
top: 0%;
margin-left: -20vw;
transform: translate(-43vw,0%);
}
figure.recruit-img_fi02.reverse img {
width: 35.4vw;
left: 28vw;
right: 0;
padding-right: 0vw;
display: flex;
min-width: 200px;
margin-left: 0vw;
min-height: 690px;
}
.recruit-filed_inner_flex ul.first li:first-child {
font-size: 1.8rem;
font-weight: 400;
letter-spacing: 0.1em;
padding-bottom: 5px;
}

.recruit-filed_inner_flex ul.first li {
font-size: 1.8rem;
font-weight: 400;
letter-spacing: 0.1em;
padding-bottom: 10px;
line-height: 1.685;
}
.recruit-filed_inner_flex ul.secound li:first-child {
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 1.685;
}
.servicebase_txt-flex .left iframe {
    height: 300px;
    width: 100%;
}
.servicebasefull_inner .servicebasefull_txt-flex:nth-child(even){
  margin-top: 80px;
  margin-bottom: 80px;
}
.recruit-filed_inner_flex:first-child{

}
.recruit-filed_inner_flex ul.secound li {
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.1em;
}
.recruit-filed_erea.bluere {
background: #f8f8f8;
}
figure.recruit-img_fi02.ltdwn img {
left: 0px;
}
.recruit-filed_inner.reverse h5::before {
content: "";
display: inline-block;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.recruit-filed_inner.testjob h5::before {
content: "";
display: inline-block;
width: 77px;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
/* case study */
.caseStudy_erea .wrapper {
max-width: 1000px;
margin: 0 auto;
margin-top: 51px;
}
.caseStudy_erea ul {
width:100%;
margin:0;
padding:0;
display:-webkit-box;
display:-moz-box;
display:-ms-box;
display:-webkit-flexbox;
display:-moz-flexbox;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
}
.caseStudy_erea ul li {
width: 33%;
list-style: none;
padding-bottom: 65px;
margin-bottom: 0;
position: relative;
padding: 10px;
margin-bottom: 20px;
}
.modaal-content-container .in_slide .swiper-list .swiper-slide img {
    width: 100%;
}
.caseStudy_erea ul li:hover{
background: #f3f8f8;
}
.caseStudy_erea ul li a {
display: block;
}

.caseStudy_erea ul li img {
width:100%;
margin:0;
padding:0;
}
body.case-study .caseStudy_erea ul li img,body.news .caseStudy_erea ul li img{
transition-duration: 0.3s;
}
body.case-study .caseStudy_erea ul li img:hover{
transform: scale(1.1);
transition-duration: 0.3s;
}
body.news .caseStudy_erea ul li img:hover{
transform: scale(1.1);
transition-duration: 0.3s;
}
.caseStudy-zoomimg_erea {
max-height: 220px;
overflow: hidden;
}
.caseStudy_erea ul li h4 {
color: #2a7e9c;
letter-spacing: 0.07em;
font-size: 1.8rem;
font-weight: 500;
line-height: 1.7778;
margin-bottom: 0;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.caseStudy_erea ul li p.time {
font-size: 1.4rem;
letter-spacing: 0.1em;
line-height: 2;
color: #aaaaaa;
font-weight: 400;
padding: 0;
}
.caseStudy_erea ul li p.cate {
font-size: 1.4rem;
letter-spacing: 0.1em;
line-height: 2;
color: #000000;
font-weight: 400;
padding: 0;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
.page_scroll.caseStudy.page_scroll.caseStudy ul.scroll_flex li {
position: relative;
}
.page_scroll.caseStudy.page_scroll.caseStudy ul.scroll_flex li:after{
content: "";
width: 40px;
display: inline-block;
height: 40px;
position: absolute;
background-size: contain;
background-image: url(img/casestudy/allowNavi.png);
background-repeat: no-repeat;
top: 20%;
left: 112%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-49%,-20%);
}
.caseStudy_erea.news ul li h4 {
color: #000000;
}
.caseStudy_erea.news ul li:hover h4 {
color: #2a7e9c;
}
.caseStudy_erea.news ul li:hover {
background: none;
}
.caseStudy_erea.news ul li {
margin-bottom: 40px;
}
/* detail */
.servicebase_inner .detail03-inner .wrapper .flex {
    margin-bottom: 20px;
}
.servicebase_inner .detail03-inner .wrapper .flex:last-child {
    margin-bottom: 0px;
}
.philosophy_erea.detail .philosophy_inner h1 {
margin: 0;
font-size: 4rem;
letter-spacing: 0.05em;
font-weight: 500;
color: #2a7e9c;
line-height: 1.35;
margin-top: -4px;
}
.philosophy_erea.detail h2.serif {
color: #2a7e9c;
font-size: 2.4rem;
margin: 0;
line-height: 1.1666;
margin-top: 10px;
}
.philosophy_erea.detail figure.philosophy-img {
margin-top: 55px;
margin-bottom: 0;
}
.philosophy_erea.detail .catch.detail {
font-size: 1.8rem;
letter-spacing: 0.07em;
color: #000000;
font-weight: 500;
position: relative;
margin-top: 55px;
margin-bottom: 12px;
}
.philosophy_erea.detail .catch.detail::before {
content: "";
display: inline-block;
width: 40px;
height: 2px;
background: #000000;
position: relative;
top: -9px;
margin-right: 10px;
}
.philosophy_erea.detail {
margin-top: 0;
background: none;
}
.servicebase_erea.detail02 span::before {
content: "";
display: inline-block;
width:100%;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.servicebase_erea.detail02 h3.serif {
font-weight: 600;
margin-top: -7px;
left: -8px;
position: relative;
margin-bottom: 22px;
}
.servicebase_erea.detail02 p.detail-info {
line-height: 2;
font-size: 1.4rem;
font-weight: 400;
/* line-height: 2; */
color: #000000;
margin: 0;
margin-bottom: 55px;
}
.detail02-inner .wrapper .flex {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.detail02-inner .wrapper .flex .left {
max-width: 500px;
background: #fff;
height: auto;
}
.detail02-inner .wrapper .flex .right {
max-width: 500px;
height: auto;
}
.detail02-inner .wrapper .flex .left h4 {
font-size: 3rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
}
.detail02-inner .wrapper .flex .left p {
font-size: 1.4rem;
letter-spacing: 0.07em;
line-height: 2;
font-weight: 400;
margin: 0;
}
.detail02-inner .wrapper .flex .left h4 {
font-size: 3rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
margin: 0;
margin-bottom: 25px;
}
.detail02-inner .wrapper .flex .left {
max-width: 500px;
background: #fff;
height: auto;
padding: 70px 40px 75px;
}
.detail02-inner .wrapper .flex .right img {
min-height: 360px;
object-fit: cover;
}
.servicebase_erea.detail03 h5::before {
content: "";
display: inline-block;
width: 104px;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.servicebase_erea.detail03 h3.serif {
font-weight: 600;
margin-top: -7px;
left: -8px;
position: relative;
margin-bottom: 22px;
}
.servicebase_erea.detail03 p.detail-info {
line-height: 2;
font-size: 1.4rem;
font-weight: 400;
/* line-height: 2; */
color: #000000;
margin: 0;
margin-bottom: 55px;
}
.detail03-inner .wrapper .flex {
display: flex;
align-items: baseline;
flex-wrap: wrap;
}
.detail03-inner .wrapper .flex .left {
max-width: 500px;
background: #fff;
height: auto;
}
.detail03-inner .wrapper .flex .right {
max-width: 500px;
height: auto;
background: #fff;
}
.detail03-inner .wrapper .flex .left h4 {
font-size: 3rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
}
.detail03-inner .wrapper .flex .left p {
font-size: 1.4rem;
letter-spacing: 0.07em;
line-height: 2;
font-weight: 400;
margin: 0;
}
.detail03-inner .wrapper .flex .left h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
margin: 0;
margin-bottom: 25px;
}
.detail03-inner .wrapper .flex .left {
max-width: 480px;
background: #fff;
height: auto;
margin-right: 20px;
}
.detail03-inner .wrapper .flex .right h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
}
.detail03-inner .wrapper .flex .right p {
font-size: 1.4rem;
letter-spacing: 0.07em;
line-height: 2;
font-weight: 400;
margin: 0;
}
.detail03-inner .wrapper .flex .right h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
margin: 0;
margin-bottom: 25px;
}
.detail03-inner .wrapper .flex .right {
max-width: 480px;
background: #fff;
height: auto;
}
.detail03-inner .wrapper .flex img {
min-height: 320px;
object-fit: cover;
}
.servicebase_erea.detail03 {
background: #f8f8f8;
}
.de03_flex-inner {
padding: 35px 37px 55px 37px;
}
.servicebase_erea.detail04 h5::before {
content: "";
display: inline-block;
width: 104px;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.servicebase_erea.detail04 h3.serif {
font-weight: 600;
margin-top: -7px;
left: -8px;
position: relative;
margin-bottom: 22px;
}
.servicebase_erea.detail04 p.detail-info {
line-height: 2;
font-size: 1.4rem;
font-weight: 400;
/* line-height: 2; */
color: #000000;
margin: 0;
margin-bottom: 55px;
}
.detail04-inner .wrapper .flex {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.detail04-inner .wrapper .flex .left {
max-width: 500px;
background: #fff;
height: auto;
}
.detail04-inner .wrapper .flex .right {
max-width: 500px;
height: auto;
background: #fff;
}
.detail04-inner .wrapper .flex .left h4 {
font-size: 3rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
}
.detail04-inner .wrapper .flex .left p {
font-size: 1.4rem;
letter-spacing: 0.07em;
line-height: 2;
font-weight: 400;
margin: 0;
}
.detail04-inner .wrapper .flex .left h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
margin: 0;
margin-bottom: 25px;
}
.detail04-inner .wrapper .flex .left {
max-width: 480px;
background: #fff;
height: auto;
margin-right: 20px;
}
.detail04-inner .wrapper .flex .right h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
}
.detail04-inner .wrapper .flex .right p {
font-size: 1.4rem;
letter-spacing: 0.07em;
line-height: 2;
font-weight: 400;
margin: 0;
}
.detail04-inner .wrapper .flex .right h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
margin: 0;
margin-bottom: 25px;
}
.detail04-inner .wrapper .flex .right {
max-width: 480px;
background: #fff;
height: auto;
}
.detail04-inner .wrapper .flex img {
min-height: 320px;
object-fit: cover;
}
.servicebase_erea.detail04 {
background: #f8f8f8;
}
.de04_flex-inner {
padding: 35px 37px 55px 37px;
}
.servicebase_erea.detail04 {
background: #f5f5f5;
}
.detail04-list {
max-width: 860px;
background: #fff;
position: relative;
/* min-height: 165px; */
padding-top: 36px;
padding-left: 38px;
padding-right: 38px;
padding-bottom: 31px;
margin-bottom: 20px;
margin-left: auto;
margin-right: auto;
}
.detail04-list::before {
position: absolute;
content: "";
display: inline-block;
background: #2a7e9c;
width: 10px;
/* padding-bottom: 97px; */
height: 165px;
left: 0;
top: 0;
}
.detail04-list h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
line-height: 1.16666;
font-weight: 500;
color: #2a7e9c;
margin: 0;
}
.detail04-list p {
font-size: 1.4rem;
letter-spacing: 0.07em;
line-height: 2;
font-weight: 400;
color: #000000;
margin-bottom: 0;
}
.detail04-list:nth-child(2)::before{
opacity: 0.7;
}
.detail04-list:nth-child(4)::before{
opacity: 0.7;
}
.servicebase_erea.detail05 h5::before {
content: "";
display: inline-block;
width: 104px;
height: 8px;
position: absolute;
/* top: 70px; */
top: 50%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(0%,25%);
margin: 0;
padding: 0;
background: #2a7e9c;
opacity: 0.2;
}
.servicebase_erea.detail05 h3.serif {
font-weight: 600;
margin-top: -7px;
left: -8px;
position: relative;
margin-bottom: 22px;
}
.servicebase_erea.detail05 p.detail-info {
line-height: 2;
font-size: 1.4rem;
font-weight: 400;
/* line-height: 2; */
color: #000000;
margin: 0;
margin-bottom: 55px;
}
.detail05-inner .wrapper .flex {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.detail05-inner .wrapper .flex .left {
max-width: 330px;
background: #fff;
height: auto;
}
.detail05-inner .wrapper .flex .right {
max-width: 330px;
height: auto;
background: #fff;
}
.detail05-inner .wrapper .flex .left h4 {
font-size: 3rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
}
.detail05-inner .wrapper .flex .left p {
font-size: 1.4rem;
letter-spacing: 0.07em;
line-height: 2;
font-weight: 400;
margin: 0;
}
.detail05-inner .wrapper .flex .left h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
margin: 0;
margin-bottom: 16px;
text-align: center;
}
.detail05-inner .wrapper .flex .left {
max-width: 330px;
background: #fff;
height: auto;
margin-right: 0px;
}
.detail05-inner .wrapper .flex .right p {
font-size: 1.4rem;
letter-spacing: 0.07em;
line-height: 2;
font-weight: 400;
margin: 0;
}
.detail05-inner .wrapper .flex .right h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
margin: 0;
margin-bottom: 16px;
text-align: center;
}
.detail05-inner .wrapper .flex .right {
max-width: 330px;
background: #fff;
height: auto;
}
.detail05-inner .wrapper .flex img {
min-height: 220px;
object-fit: cover;
}
.detail05-inner .wrapper .flex .center p {
font-size: 1.4rem;
letter-spacing: 0.07em;
line-height: 2;
font-weight: 400;
margin: 0;
}
.detail05-inner .wrapper .flex .center h4 {
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #2a7e9c;
font-weight: 500;
margin: 0;
margin-bottom: 16px;
text-align: center;
}
.detail05-inner .wrapper .flex .center {
max-width: 330px;
background: #fff;
height: auto;
margin-left: 5px;
margin-right: 5px;
}
.servicebase_erea.detail05 {
background: #f8f8f8;
}
.de05_flex-inner {
padding: 35px 20px 58px 25px;
}
.detail05-inner .wrapper .flex{
margin-bottom: 40px;
}
.detail05-inner .wrapper .flex:last-child{
margin-bottom: 0px;
}
.detail05-inner .wrapper .flex .right .de05_flex-inner {
padding: 35px 20px 86px 25px;
}
/* CONTACT */
.entry-form {
padding: 77px 0 70px;
width: 100%;
margin: 0 auto;
}
.enfo-cache {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}
.form-wrapper table {
width: 100%;
}
.form-wrapper tbody {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-pack: justify;
justify-content: space-between;
margin: 0 auto;
}
.form-wrapper .title--tel-time .title {
width: 257px;
}
.form-wrapper tbody {
width: 1000px;
}
.form-wrapper .half {
width: 48%;
}
.form-wrapper .full {
width: 100%;
}
.form-wrapper tr {
margin-bottom: 41px;
}
.form-wrapper th {
color: #1b3166;
font-size: 1.4rem;
font-weight: 500;
display: block;
margin-bottom: .5rem;
text-align: left;
}
.form-wrapper th {
font-size: 20px;
margin-bottom: 10px;
}
.form-wrapper th .title {
display: inline-block;
text-align-last: justify;
text-justify: inter-ideograph;
width: 107px;
}
.form-wrapper .mustR {
font-size: 12px;
margin-left: 13px;
color: #dc0000;
vertical-align: middle;
}
.form-wrapper td {
display: block;
background: #fff;
opacity: 1;
border: 1px solid #cccccc;
}
.form-wrapper input:placeholder-shown, .form-wrapper textarea:placeholder-shown, .form-wrapper select:placeholder-shown {
font-size: 16px;
color: #ffffff;
font-weight: 500;
letter-spacing: 0.07em;
opacity: 0.5;
}
.name:placeholder-shown{
}
.form-wrapper input, .form-wrapper textarea, .form-wrapper select {
font-size: 16px;
padding-left: 18px;
height: 66px;
}
.form-wrapper input, .form-wrapper textarea, .form-wrapper select {
border:0;
}
input, textarea {
outline: none;
border-radius: 0;
font-size: 1em;
line-height: 1;
width: 100%;
}
input, textarea, select {
background-color: #fff;
border-radius: 0;
-webkit-appearance: none;
}
.form-wrapper .long {
width: 100%;
}
.policy-wrapper {
margin: 0px auto 13px;
width: 1000px;
}
.policy-heading {
color: #000000;
font-size: 1.4rem;
font-weight: 400;
letter-spacing: .07em;
padding: 11px 0 10px;
text-align: center;
}
.policy-wrapper ul {
background-color: none;
padding: 22px 30px;
overflow-y: scroll;
height: 240px;
width: 860px;
margin-left: auto;
margin-right: auto;
border: 1px solid #cccccc;
}
.policy-wrapper ul li {
margin-bottom: 30px;
}
.policy-caution {
font-size: 12px;
color: #474747;
margin-bottom: 30px;
text-align: center;
}
#mw_wp_form_mw-wp-form-33 .policy__check {
text-align: center;
}
.submit-wrapper {
margin: 58px auto 0;
width: 440px;
}
.submit-btn {
margin: 0 auto 10px;
position: relative;
}
.enfo-catch {
font-size: 1.4rem;
letter-spacing: 0.07em;
font-weight: bold;
color: #2a7e9c;
max-width: 1000px;
margin: 0 auto;
margin-bottom: 20px;
}
.submit-btn:before {
}
input.submit.next-btn {
background: #2a7e9c;
color: #fff;
font-size: 22px;
letter-spacing: 0.2em;
font-weight: 500;
}
.submit-btn.submit-entry {
background: #2a7e9c;
padding-bottom: 2px;
}
.submit-btn input[type=submit] {
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
outline: none;
text-indent: .01px;
text-overflow: '';
background: none transparent;
vertical-align: middle;
font-size: inherit;
color: inherit;
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
padding: 10px;
width: 100%;
}
input, textarea, select {
background-color: #fff;
border-radius: 0;
-webkit-appearance: none;
}
textarea.textEreaCon {
height: auto;
padding-top: 18px;
}
.form-wrapper textarea:placeholder-shown {
padding-top: 18px;
}
.policy-wrapper ul li {
margin-bottom: 30px;
list-style: none;
font-size: 1.2rem;
letter-spacing: 0.07em;
color: #777777;
font-weight: 400;
line-height: 1.6667;
}
/* top */
.mainvisual {
width: 100%;
}
.mainvisual img {
height: 840px;
object-fit: cover;
width: 100%;
}

h2.a-heading-ja.size2.top-our-mission_catch {
font-size: 3.4rem;
color: #000000;
font-weight: 500;
letter-spacing: 0.05em;
position: relative;
margin-bottom: 20px;
margin-top: 0;
margin-top: 14px;
}
h3.a-heading-ja.size2.serif.top-our-mission_subcatch {
font-size: 2rem;
line-height: 2;
letter-spacing: 0.1em;
font-weight: 500;
margin-top: 28px;
margin-bottom: -10px;
}
.m-featured-training_body.viewed.top-our-mission_txt {
line-height: 2.142;
margin-top: 28px;
margin-bottom: 64px;
}
.tp-btn {
width: 226px;
height: 60px;
position: relative;
margin-top:5rem;
}
a.top_btn_black {
font-size: 1.8rem;
letter-spacing: 0.05em;
font-weight: 400;
color: #000000;
display: flex;
justify-content: center;
position: relative;
padding-top: 16px;
padding-bottom: 18px;
border: 1px solid #000000;
padding-right: 29px;
background: #fff;
}
a.top_btn_black::after{
content: "";
display: inline-block;
width: 34px;
height: 60px;
position: absolute;
background-size: contain;
background-image: url(img/top/tpAllow.png);
background-repeat: no-repeat;
top: 20%;
left: 93%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-47%,-21%);
}
.top-our-mission_catch_line{
position: relative;
width: 40px;
height: 4px;
background: #2a7e9c;
top: 0%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
margin-left: 22px;
margin-top: 0px;
}
.a-image_img_list {
top: 0;
left: 0;
width: 100%;
height: auto;
    min-height: 28rem;
object-fit: cover;
position: relative;
}
li.imgPosi_rela {
position: relative;
}
p.list_imgIn-txt.serif {
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
margin: 0;
padding: 0;
}
p.list_imgIn-txt.serif {
font-size: 2.2rem;
color: #fff;
font-weight: 500;
letter-spacing: 0.07em;
width: 100%;
text-align: center;
pointer-events: none;
}
nav.front_navi h1.logo a {
display: block;
height: 43px;
margin: 0;
}
nav.under_navi h2.logo a {
display: block;
height: 43px;
margin: 0;
}
.submit-btn.submit-entry:hover{
opacity: 0.9;
}
figure.a-image ul {
margin: 0;
padding: 0;
}
figure.a-image ul li{
list-style:none;
overflow: hidden;
}
.m-featured-training_body.viewed.top-our-mission_txt_service{
line-height: 2.142;
margin-bottom: 64px;
margin-top: 28px;
}
h2.a-heading-ja.size2.top-our-mission_catch_service {
font-size: 3.4rem;
color: #000000;
font-weight: 500;
letter-spacing: 0.05em;
position: relative;
margin-bottom: 20px;
margin-top: 0;
margin-top: 0px;
}
ul.service_list-tp li{
margin-top: 3px;
}
ul.service_list-tp li:first-child{
margin-top:0px;
}
.m-featured-training.normal.tp_service-padi {
padding-bottom: 56px;
}
.tp-case_study .swiper-wrapper {
margin-left: 14vw;
}
.swiper-bk_con {
position: relative;
padding-bottom: 0vw;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
opacity: 0;
}
.swiper-bk_con::before {
content: "";
display: inline-block;
width: 100%;
height: 470px;
background: #314961;
position: absolute;
top: 90px;
padding-bottom: 0;
}
.tp-case_study {
height:auto;
overflow-y: hidden;
}
.tp-case_study_catch.flex {
max-width: 86.2vw;
margin-left: auto;
display: flex;
justify-content: flex-start;
position: relative;
padding-top: 100px;
padding-bottom: 40px;
}
.top-our-mission_catch_line.swiper_ver {
position: absolute;
width: 40px;
height: 4px;
background: #2a7e9c;
top: 0%;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
margin-left: 22px;
margin-top: 158px;
}
.tp-case_study_catch.flex h2 {
font-size: 3.4rem;
color: #000000;
font-weight: 500;
letter-spacing: 0.05em;
position: relative;
margin-top: 0;
min-width: 280px;
}
.tp-case_study_catch.flex p {
line-height: 2.142;
margin-bottom: 0px;
margin-top: 0px;
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 2;
font-weight: 400;
margin-left: 57px;
}
h4.slide_ttl {
font-size: 1.8rem;
color: #fff;
letter-spacing: 0.07em;
margin: 0;
font-weight: 500;
margin-top: 16px;
line-height: 1.7778;
height: 60px;
max-width: 300px;
width: 100%;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.slide_txt_flex {
display: flex;
align-items: center;
font-size: 1.2rem;
color: #ffffff;
font-weight: 400;
line-height: 1.66667;
}
.slide_txt_flex ul.left {
list-style: none;
padding: 0;
}
.slide_txt_flex ul.right {
list-style: none;
padding: 0;
max-width: 220px;
width: 100%;
}
.slide_txt_flex ul.right li{
  display: -webkit-box;
  -moz-box-orient: vertical;
  -moz-box-orient: vertical;
  -webkit-box-orient: vertical;
  -o-box-orient: vertical;
  -ms-box-orient: vertical;
  -o-box-orient: vertical;
  -ms-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 1;
}
.slide_txt_flex ul.left li::after {
content: ":";
display: inline-block;
font-size: 1.6rem;
line-height: 1;
margin-left: 19px;
margin-right: 15px;
}
.slide_txt_flex ul.left li:nth-child(2)::after {
margin-left: 7px;
margin-right: 15px;
}
.tp-btn.swiper_btn {
margin: 0 auto;
margin-top: 46px;
}
.tp-btn.swiper_btn {
width: 320px;
padding-bottom: 150px;
}
.tp-btn.swiper_btn a.top_btn_black {
border: 0px solid #fff;
}
.tp-btn.swiper_btn a.top_btn_black::after {
transform: translate(-35%,-20%);
border: 1px solid #fff;
height: 58px;
}
.swiper-slide {
max-width: 300px;
min-width: 300px;
}
.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
bottom: 15px;
}
/* 前ページ、次ページボタン共通のスタイル */
.swiper-button-prev,
.swiper-button-next {
width: 48px;
height: 48px;
background-size: 48px 48px;
margin-top: 2px;
margin-left: 30px;
margin-right: 31px;
}
/* 次ページボタンのスタイル */
.swiper-button-next {
background-image: url(img/top/billed_right.png);
}
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
content:none!important;
}
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
content:none!important;
}
/* 前ページボタンのスタイル */
.swiper-button-prev {
background-image: url(img/top/billed_left.png);
}
ul.service_list-tp.tpcomp_flex {
display: flex;
}
ul.service_list-tp.tpcomp_flex li {
margin: 1px;
padding: 0px;
    width: 100%;
}
.m-featured-training.normal.tp_service-padi.tp_company-padi {
padding-bottom: 50px;
background: #ebf2f5;
}
.m-featured-training.tp_recrruitment-pd {
padding: 64px 0;
padding-top: 89px;
background: #f8f8f8;
}
ul.service_list-tp.tpcomp_flex li img.js-image.a-image_img_list {
height: 28rem;
object-fit: cover;
}
/* header */

.inner {
position: absolute;
top: 50%;
left: 50%;
opacity: 0;
z-index: 10;
-webkit-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
-webkit-animation: fade-in 0.75s 0.25s ease-in forwards;
animation: fade-in 0.75s 0.25s ease-in forwards;
}
.inner h1 {
margin: 0;
font-size: 4em;
line-height: 1.2em;
}
.inner p {
margin: 0;
}
nav.front_navi {
position: fixed;
width: 100%;
z-index: 10;
padding-top: 23px;
padding-left: 40px;
padding-right: 63px;
padding-bottom: 20px;
}
nav.front_navi.scrolled {
background: rgba(255, 255, 255, 1);
}
nav.front_navi.scrolled a {
color: #999999;
}
nav.front_navi ul {
float: right;
list-style: none;
margin: 0;
}
nav.front_navi li {
float: left;
}
nav.front_navi a {
font-size: 15px;
color: #fff;
font-weight: 500;
letter-spacing: 0.1em;
text-decoration: none;
margin: 10px 0 0 33px;
display: block;
}
nav.front_navi a:hover {
opacity: 0.8;
}
.logo {
    height: auto;
    float: left;
    width: 115px;
    margin: 0;
    position: relative;
    top: -1.6rem;
}

nav.front_navi .logo img.l-black{
  display: none;
}
nav.front_navi .logo img.l-white{
  display: block;
}
nav.front_navi.scrolled .logo img.l-black{
  display: block;
}
nav.front_navi.scrolled .logo img.l-white{
  display: none;
}
header {
background: #111;
position: relative;
z-index: 7;
}
.headline {
position: relative;
height: 840px;
color: #fff;
text-align: center;
background: url(img/top/mainvisu_2x.png) no-repeat center center;
background-size: cover;
background-attachment: fixed;
background-position: top;
}
.headline.mainvisual{
margin: 0;
overflow: hidden;
}
.headline:after {
position: absolute;
content: '';
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.innerH {
width: 100%;
position: absolute;
top: 50%;
left: 50%;
opacity: 0;
z-index: 10;
-webkit-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
-webkit-animation: fade-in 0.75s 0.25s ease-in forwards;
animation: fade-in 0.75s 0.25s ease-in forwards;
}
.innerH h1 {
margin: 0;
font-size: 4em;
line-height: 1.2em;
}
.innerH p {
margin: 0;
}
.mainvisual .sub_catch {
position: relative;
display: block;
margin: 0;
margin-top: 18px;
padding: 0;
font-size: 2.4rem;
letter-spacing: 0.1em;
color: #fff;
font-weight: 400;
}
nav.under_navi {
position: fixed;
width: 100%;
z-index: 10;
padding-top: 23px;
padding-left: 40px;
padding-right: 63px;
padding-bottom: 20px;
}
nav.under_navi.scrolled {
background: rgba(255, 255, 255, 1);
}
nav.under_navi.scrolled a {
color: #999999;
}
nav.under_navi ul {
float: right;
list-style: none;
margin: 0;
}
nav.under_navi li {
float: left;
}
nav.under_navi a {
font-size: 15px;
color: #fff;
font-weight: 500;
letter-spacing: 0.1em;
text-decoration: none;
margin: 10px 0 0 33px;
display: block;
}
nav.under_navi a:hover {
opacity: 0.8;
}
nav.under_navi.scrolled h2.logo {
/*background-image: url(img/logo_black.png);*/
    height: auto;
    float: left;
    width: 115px;
background-size: contain;
background-repeat: no-repeat;
margin: 0;
}

.flex-b-navi{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.flex-b-navi .left a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  letter-spacing: 0.16em;
  font-weight: bold;
  padding-bottom: 5px;
  position: relative;
}
.flex-b-navi .left a::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 27px;
    position: absolute;
    background-size: contain;
    background-image: url(img/phone.png);
    background-repeat: no-repeat;
    top: 40%;
    left: 25%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-47%,-21%);
}
.outer-menu {
    position: relative;
    top:-17px;
    z-index: 1;
    float: right;
    left: -30px;
}
.outer-menu .checkbox-toggle {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  cursor: pointer;
  width: 60px;
  height: 60px;
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked + .hamburger > div {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:before,
.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked ~ .menu {
  pointer-events: auto;
  visibility: visible;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-duration: 0.75s;
          transition-duration: 0.75s;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div > div {
  opacity: 1;
  -webkit-transition: opacity 0.4s ease 0.4s;
  transition: opacity 0.4s ease 0.4s;
}
.outer-menu .checkbox-toggle:hover + .hamburger {
}
.outer-menu .checkbox-toggle:checked:hover + .hamburger > div {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
}
.outer-menu .hamburger {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 60px;
  height: 60px;
  padding: 0.5em 1em;
  border-radius: 0 0.12em 0.12em 0;
  cursor: pointer;
  -webkit-transition: box-shadow 0.4s ease;
  transition: box-shadow 0.4s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
}
.outer-menu .hamburger > div {
  position: relative;
  -webkit-box-flex: 0;
          flex: none;
  width: 100%;
  height: 2px;
  background: #FEFEFE;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
}
.outer-menu .hamburger > div:before,
.outer-menu .hamburger > div:after {
  content: '';
  position: absolute;
  z-index: 1;
  top: -10px;
  left: 0;
  width: 100%;
  height: 2px;
  background: inherit;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.outer-menu .hamburger > div:after {
  top: 10px;
}
.outer-menu .menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  outline: 1px solid transparent;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
}
.outer-menu .menu > div {
  width: 200vw;
  height: 200vw;
  color: #FEFEFE;
background: rgba(63, 63, 63, 0.9);
  border-radius: 50%;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-box-flex: 0;
          flex: none;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
}
.outer-menu .menu > div > div {
  text-align: center;
  max-width: 90vw;
  max-height: 100vh;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  overflow-y: auto;
  -webkit-box-flex: 0;
          flex: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
}
.outer-menu .menu > div > div > ul {
  list-style: none;
  padding: 0 1em;
  margin: 0;
  display: block;
  max-height: 100vh;
}
.outer-menu .menu > div > div > ul > li {
  padding: 0;
  margin: 1em;
  font-size: 24px;
  display: block;
}
.outer-menu .menu > div > div > ul > li > a {
  position: relative;
  display: inline;
  cursor: pointer;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.outer-menu .menu > div > div > ul > li > a:hover {
  color: #e5e5e5;
}
.outer-menu .menu > div > div > ul > li > a:hover:after {
  width: 100%;
}
.outer-menu .menu > div > div > ul > li > a:after {
  content: '';
  position: absolute;
  z-index: 1;
  bottom: -0.15em;
  left: 0;
  width: 0;
  height: 2px;
  background: #e5e5e5;
  -webkit-transition: width 0.4s ease;
  transition: width 0.4s ease;
}
.mainvisual h2.catch {
color: #ffffff;
position: relative;
top: -239px;
left: 0%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
margin: 0;
padding: 0;
font-size: 6rem;
letter-spacing: 0.1em;
font-weight: bold;
}
section.under_posi-pmd {
padding-top: 75px;
}
.under-bread_erea .flex ul {
padding: 0;
margin: 0;
display: flex;
height: 24px;
align-items: center;
background: #ebf2f5;
color: #999999;
padding-left: 40px;
}
.under-bread_erea .flex ul li a {
align-items: center;
color: #999999;
}
.under-bread_erea .flex ul li{
list-style: none;
font-size: 1.2rem;
line-height: 1;
letter-spacing: 0.07em;
font-weight: 400;
}
.under-bread_erea .flex ul li.allow{
padding-left: 14px;
padding-right: 14px;
}
.under-bread_erea {
padding-top: 91px;
/* background: #cccccc; */
height: auto;
}
/* footer */
.contact_erea {
height: 200px;
background: #e1e5e8;
}
.contact_erea .wrapper {
max-width: 1400px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
height: 200px;
overflow: hidden;
}
.contact_erea .wrapper .left a {
width: 440px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
background: #2b7f9c;
color: #fff;
font-size: 2.24rem;
letter-spacing: 0.1em;
font-weight: bold;
position: relative;
padding-left: 16px;
padding-bottom: 5px;
}
.contact_erea .wrapper div:nth-child(2){
margin-left: 60px;
}

.contact_erea .wrapper .left a::before {
content: "";
display: inline-block;
width: 16px;
height: 27px;
position: absolute;
background-size: contain;
background-image: url(img/phone.png);
background-repeat: no-repeat;
top: 40%;
left: 25%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-47%,-21%);
}
.contact_erea .wrapper .right a {
width: 440px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
/*background: #000000;
color: #fff;*/
font-size: 2.24rem;
letter-spacing: 0.1em;
font-weight: bold;
padding-bottom: 5px;
}
footer.footer {
height: auto;
position: relative;
background: #000;
padding-bottom: 20px;
}
.flex-f {
display: flex;
justify-content: center;
max-width: 1000px;
margin: 0 auto;
padding-top: 47px;
}
.f-logo {
padding-top: 13px;
padding-bottom: 40px;
}
.flex-f .left .txt {
font-size: 14px;
letter-spacing: 0.07em;
display: block;
font-weight: 400;
color: #aaaaaa;
padding-bottom: 10px;
}
img.phone-f {
width: 12px;
margin-right: 8px;
height: auto;
}
.flex-f .left a.f-tell {
font-size: 16px;
letter-spacing: 0.07em;
font-weight: 400;
color: #aaaaaa;
}
.copy_flex {
display: flex;
justify-content: flex-start;
max-width: 1000px;
margin: 0 auto;
padding-top: 52px;
}
.copy_flex .left p.copyright {
font-size: 10px;
color: #cccccc;
letter-spacing: 0.1em;
font-weight: 400;
margin: 0;
padding-top: 5px;
}
.copy_flex .right img.f-snsImg {
width: 247px;
height: auto;
}
.copy_flex .right {
margin-left: auto;
}
.flex-f .right {
display: flex;
color: #fff;
width: 600px;
}
.flex-f .right ul.f-first {
margin-right: 60px;
}
.flex-f .right ul.f-secound {
margin-right: 60px;
}
.f-logo img.footerLogo {
width: 135px;
height: auto;
}
.flex-f .left {
width: 400px;
}
.flex-f .right ul{
margin: 0;
padding: 0;
}
.flex-f .right ul.f-sml li {
font-size: 1.2rem;
line-height: 1.8333;
}
.flex-f .right ul li {
list-style: none;
font-size: 16px;
letter-spacing: 0.14em;
font-weight: 400;
line-height: 2.5;
}
#page_top{
width: 90px;
height: 90px;
position: fixed;
right: 0;
bottom: 50px;
opacity: 0.6;
}
#page_top a{
position: relative;
display: block;
width: 90px;
height: 90px;
text-decoration: none;
}
#page_top a::after {
content: "";
display: inline-block;
font-size: 14px;
color: #fff;
position: absolute;
background-size: contain;
background-image: url(img/pagetop.png);
background-repeat: no-repeat;
width: 18px;
height: 160px;
top: -35px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}
.t-topi .wrapper .flex {
display: flex;
justify-content: center;
align-items: center;
padding-top: 39px;
padding-bottom: 40px;
overflow: hidden;
}
.t-topi .wrapper .flex .left .m-featured-training_title.viewed h2.a-heading-ja.size2.top-our-mission_catch {
margin-top: -11px;
}
a.top_btn_black.topi-all_t::after {
transform: translate(-47%,-20%);
}
.t-topi .wrapper .flex .left {
display: flex;
align-items: center;
}
.t-topi_list {
  margin-left: 40px;
  margin-right: auto;
  width: calc(100vw * 470 /1400);
}
.t-topi_list .cate {
color: #2a7e9c;
font-size: 1.4rem;
letter-spacing: 0.05em;
font-weight: 400;
line-height: 2.1428;
}
.t-topi_list .ttl {
color: #000000;
font-weight: 400;
font-size: 1.8rem;
letter-spacing: 0.05em;
line-height: 1.66667;
/*display: -webkit-box;
-moz-box-orient: vertical;
-moz-box-orient: vertical;
-webkit-box-orient: vertical;
-o-box-orient: vertical;
-ms-box-orient: vertical;
-o-box-orient: vertical;
-ms-box-orient: vertical;
overflow: hidden;
-webkit-line-clamp: 1;*/
}
.t-topi_list .time {
font-size: 1.2rem;
color: #777777;
font-weight: 400;
letter-spacing: 0.05em;
}
/* Modal */
div#inline {
display: none;
}

/*1008 Modal*/
.remodal {
    max-width: 800px;
}

.remodal-wrapper .in_slide .swiper-list .swiper-slide img {
    width: 100%;
}

.in_slide h3{
  text-align: left;
}

.in_flex{
  text-align: left;
}

p.txterea{
  text-align: left;
}

.remodal .modaal-close {
    z-index: 111;
    position: absolute!important;
    right: 0%!important;
    top: 0%!important;
    color: #fff;
    cursor: pointer;
    background: rgb(51, 51, 51,0.8)!important;
    opacity: 1!important;
    width: 60px!important;
    z-index: 2;
    height: 60px!important;
    border-radius: 0%!important;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border: 0;
}


/* modal End */

.swiper-list{
width: 100%;
overflow: hidden;
position: relative;
}
.swiper-list.swiper-container-initialized.swiper-container-horizontal .swiper-slide {
max-width: 100%;
}
.swiper-list .swiper-button-prev {
top: 50%;
left: -2%;
position: absolute;
}
.swiper-list .swiper-button-next {
top: 50%;
left: 87%;
position: absolute;
}
.swiper-list span.swiper-pagination-bullet {
background: #fff;
opacity: 1;
}
.swiper-list span.swiper-pagination-bullet-active {
background: #2a7e9c;
opacity: 1;
}
.modaal-container {
position: relative;
display: inline-block;
width: 59.26%;
margin: auto;
text-align: left;
color: #000;
max-width: 800px;
border-radius: 0px;
background: #fff;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
cursor: auto;
}
.modaal-wrapper .modaal-close {
position: absolute!important;
right: 0%!important;
top: 0%!important;
color: #fff;
cursor: pointer;
background: rgb(51, 51, 51,0.8)!important;
opacity: 1!important;
width: 60px!important;
z-index: 2;
height: 60px!important;
border-radius: 0%!important;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.modaal-close:before, .modaal-close:after {
display: block;
content: " ";
position: absolute;
top: 4px!important;
left: 30px!important;
width: 1px!important;
height: 50px!important;
border-radius: 0px!important;
background: #fff!important;
-webkit-transition: background 0.2s ease-in-out;
transition: background 0.2s ease-in-out;
}
.in_slide h3 {
font-size: 2rem;
letter-spacing: 0.07em;
font-weight: 500;
color: #2a7e9c;
margin: 0;
padding-top: 35px;
padding-bottom: 37px;
}
.in_flex ul li {
list-style: none;
margin: 0;
padding: 0;
width: 300px;
}
.in_flex ul {
list-style: none;
margin: 0;
padding: 0;
padding-bottom: 10px;
}
.in_flex .right {
margin-left: auto;
margin-right: auto;
}
.in_flex .right ul {
padding-bottom: 32px;
}
.in_flex .left ul:last-child{
padding-bottom: 0px;
}
.in_flex .right ul:last-child{
padding-bottom: 0px;
}
p.txterea {
line-height: 2;
font-size: 1.4rem;
color: #000;
font-weight: 400;
letter-spacing: 0.05em;
margin-top: 34px;
margin-bottom: 0px;
padding-bottom: 24px;
}
.in_flex ul li.ttl {
font-size: 1.4rem;
letter-spacing: 0.05em;
color: #999999;
line-height: 1.71428;
font-weight: 400;
}
.in_flex ul li.txt {
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 1.71428;
color: #000;
font-weight: 400;
}
.in_flex {
display: flex;
border-top: 1px solid #aaaaaa;
border-bottom: 1px solid #aaaaaa;
padding-top: 16px;
padding-bottom: 27px;
}
/* ボタンアニメーション */
.top_btn_black_anime {
display: block;
background: linear-gradient(to right, #2b7f9c 50%, #fff 50%);
background-size: 200% 100.5%;
background-position: right bottom;
font-size: 1.8rem;
letter-spacing: 0.05em;
font-weight: 400;
color: #2b7f9c;
border: 1px solid #2b7f9c;
transition: all 0.3s ease-out;
padding-top: 0px;
padding-bottom: 3px;
height: 59px;
display: flex;
justify-content: center;
align-items: center;
}
.top_btn_black_anime:hover {
background-position: left bottom;
color: white;
}
img.allownaviSvg {
position: absolute;
width: 34px;
background: #2b7f9c;
height: 59px;
padding: 12px;
top: 0px;
left: 99.222222%;
}
a.top_btn_black_anime.gmap_btn {
position: relative;
font-size: 1.8rem;
letter-spacing: 0.14em;
height: 44px;
width: 240px;
top: 40px;
}
img.allownaviSvg.gmapSvg {
width: 34px;
height: 44px;
top: -1px;
}
/* 画像ズーム */
.imgWrap img {
display: block;
transition-duration: 0.3s;
}
.imgWrap img:hover {
transform: scale(1.1);
transition-duration: 0.3s;
}
.our_service.row .left.imgWrap a {
display: block;
transition-duration: 0.3s;
}
.our_service.row .left.imgWrap a:hover img{
transform: scale(1.1);
transition-duration: 0.3s;
}
.our_service.row .right.imgWrap a {
display: block;
transition-duration: 0.3s;
}
.our_service.row .right.imgWrap a:hover img{
transform: scale(1.1);
transition-duration: 0.3s;
}
.our_service.row .left.imgWrap a figure.a-image {
overflow: hidden;
}
.our_service.row .right.imgWrap a figure.a-image {
overflow: hidden;
}
.swiper-container .swiper-slide.imgWrap {
overflow: hidden;
}
figure.a-image ul li a:hover {
opacity: 1;
}
@-webkit-keyframes fade-in {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes fade-in {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* 高さ調整 レスポンシブ */
body.front .a-image_img{
max-height: 600px;
min-height: 600px;
}
body.front figure.a-image ul li.imgPosi_rela.imgWrap {
list-style: none;
overflow: hidden;
}
body.front ul.service_list-tp.tpcomp_flex li.imgPosi_rela.imgWrap{
max-height: 300px;
}
body.mission img.js-image.a-image_img {
/*  max-height: 680px;*/
max-height: 600px;
min-height: 600px;
}
div#companysummary {
margin-top: -70px;
padding-top: 70px;
}
/* case_study アコーディオン */
.hide {
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
padding: 0;
position: absolute;
width: 1px;
}
body.case-study .accordion , body.news .accordion ,body.post-type-archive-info .accordion{
padding: 0;
display: flex;
justify-content: center;
align-items: center;
list-style: none;
border-top: 2px solid;
border-bottom: 2px solid;
}
body.post-type-archive-case .accordion{
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    border-top: 2px solid;
    border-bottom: 2px solid;
}
body.case-study .accordion-item , body.news .accordion-item ,body.post-type-archive-case .accordion-item ,body.post-type-archive-info .accordion-item{
position: relative;
width: 100%;
border-bottom: 1px solid #e0e0e0;
}
body.case-study .accordion-item:last-child , body.news .accordion-item:last-child ,body.post-type-archive-case .accordion-item:last-child ,body.post-type-archive-info .accordion-item:last-child {
border-bottom: none;
}
body.case-study .accordion-label , body.news .accordion-label ,body.post-type-archive-case .accordion-label ,body.post-type-archive-info .accordion-label {
/* padding: 20px 0 20px 30px; */
width: 100%;
display: block;
/* font-size: 18px; */
font-size: 1.6rem;
letter-spacing: 0.1em;
font-weight: 500;
width: 203px;
/* text-align: center; */
/* border-right: 2px solid; */
height: 40px;
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
position: relative;
}
ul.accordion-child li {
list-style: none;
font-size: 1.6rem;
letter-spacing: 0.1em;
font-weight: 500;
line-height: 1.6;
margin-left: 20px;
cursor: pointer;
}
ul.accordion-child li:hover{
opacity: 0.8;
}
body.case-study .accordion-label::after , body.news .accordion-label::after , body.post-type-archive-case .accordion-label::after , body.post-type-archive-info .accordion-label::after{
content: "";
width: 40px;
display: inline-block;
height: 40px;
position: absolute;
background-size: contain;
background-image: url(img/casestudy/allowNavi.png);
background-repeat: no-repeat;
top: 20%;
left: 112%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-49%,-20%);
}
body.case-study .accordion-label:hover , body.news .accordion-label:hover , body.post-type-archive-case .accordion-label:hover , body.post-type-archive-info .accordion-label:hover {
cursor: pointer;
}
body.case-study input[type=checkbox]:checked ~ .accordion-label:before , body.news input[type=checkbox]:checked ~ .accordion-label:before , body.post-type-archive-case input[type=checkbox]:checked ~ .accordion-label:before , body.post-type-archive-info input[type=checkbox]:checked ~ .accordion-label:before {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
body.case-study .accordion-child , body.news .accordion-child , body.post-type-archive-case .accordion-child , body.post-type-archive-info .accordion-child {
margin: 0;
overflow: hidden;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
opacity: 0;
height: 0;
-webkit-transform: scale(1, 0);
transform: scale(1, 0);
-webkit-transform-origin: center top;
transform-origin: center top;
}
body.case-study input[type=checkbox]:checked ~ .accordion-child , body.news input[type=checkbox]:checked ~ .accordion-child , body.post-type-archive-case input[type=checkbox]:checked ~ .accordion-child , body.post-type-archive-info input[type=checkbox]:checked ~ .accordion-child{
margin: 0 -20px 15px -20px;
/* background: #fff; */
/* box-shadow: 0 3px 6px 1px rgba(0, 0, 0, 0.16); */
padding: 15px;
padding-left: 20px;
padding-top: 5px;
height: auto;
opacity: 1;
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
width: 100%;
margin: 0 auto;
display: flex;
justify-content: center;
}
body.news.modaal-noscroll .swiper-list {
text-align: center;
}
body.news.modaal-noscroll .in_slide h3 {
padding-bottom: 10px;
}
footer.footer a {
color: #fff;
}
p.txterea.newsereatxt {
margin-top: 0;
}
.swiper-zoomimg_erea {
max-height: 220px;
overflow: hidden;
}
img.ceoimg {
max-width: 360px;
height: auto;
object-fit: cover;
}
body.company ul.scroll_flex li a:hover {
color: #3992d8;
opacity: 1;
}
body.case-study ul.accordion-child li a:hover , body.post-type-archive-case ul.accordion-child li a:hover{
color: #3992d8;
opacity: 1;
}
body.news ul.scroll_flex li a:hover {
color: #3992d8;
opacity: 1;
}
ul.scroll_flex li.active_news {
color: #999;
}
body.service .m-featured-training_info a:hover{
color: #3992d8;
}
body.service .m-featured-training_info a:hover::before{
background: #3992d8;
}
.hover_on{
display: none;
}
.navibk .wp-pagenavi span.current {
    display: block;
    text-align: center;
    font-size: 2rem;
    margin: 0;
    margin-left: 0;
    font-weight: 500;
}
body.service .m-featured-training_info a:hover img.hover_on{
display: block;
}
.hover_off{
display: block;
}
body.service .m-featured-training_info a:hover img.hover_off{
display: none;
}
.summary-info_tbl div {
display: flex;
}
.summary-info_tbl {
display: flex;
width: 100%;
border-bottom: 1px solid #cccccc;
}
body.confirm .form-wrapper td {
display: block;
background: none;
opacity: 1;
border: 0;
font-size: 16px;
/* color: #ffffff; */
font-weight: 400;
letter-spacing: 0.07em;
}
body.confirm .enfo-catch {
display: none;
}
body.confirm .submit-btn {
margin: 0 auto 10px;
position: relative;
width: 40%;
}
body.confirm .submit-wrapper {
margin: 0 auto;
width: 66%;
margin-top: 9vw;
display: flex;
flex-wrap: wrap-reverse;
}
body.confirm .form-wrapper tbody {
}
.mw_wp_form .error {
font-size: 100%;
color: #B70000;
display: block;
position: absolute;
font-weight: 500;
}
body.confirm .form-wrapper tbody {
width: 840px;
}
.navibk {
max-width: 1000px;
margin: 0 auto;
position: relative;
margin-bottom: 90px;
margin-top: 100px;
}
ul.naviErea {
list-style: none;
position: absolute;
top: -6%;
left: 38%;
display: flex;
justify-content: center;
padding: 0;
margin: 0;
}
ul.naviErea li {
font-size: 2rem;
margin: 10px 20px;
font-weight: 500;
}
ul.naviErea li:nth-child(1) {
font-size: 2rem;
margin: 10px 20px;
margin-left: 0;
font-weight: 500;
}
li.nonLink {
color: #aaaaaa;
}
.m-featured-training_info .serviceDetailLink ,.m-featured-training_info .serviceDetailLink02 ,.m-featured-training_info .serviceDetailLink03 {
font-size: 1.6rem;
letter-spacing: 0.1em;
font-weight: 500;
color: #000;
position: relative;
}
body.service .m-featured-training_info .serviceDetailLink.visible , body.service .m-featured-training_info .serviceDetailLink02.visible,body.service .m-featured-training_info .serviceDetailLink03.visible {
color: #3992d8;
}
body.service .m-featured-training_info .serviceDetailLink.visible::before,body.service .m-featured-training_info .serviceDetailLink02.visible::before,body.service .m-featured-training_info .serviceDetailLink03.visible::before {
background: #3992d8;
}
.m-featured-training_info .serviceDetailLink.visible .block_item_arrow img,.m-featured-training_info .serviceDetailLink02.visible .block_item_arrow img,.m-featured-training_info .serviceDetailLink03.visible .block_item_arrow img {
-webkit-animation: hoverArrow .45s cubic-bezier(0, 0, .4, 1);
animation: hoverArrow .45s cubic-bezier(0, 0, .4, 1);
}
body.service .m-featured-training_info .serviceDetailLink.visible img.hover_off,body.service .m-featured-training_info .serviceDetailLink02.visible img.hover_off,body.service .m-featured-training_info .serviceDetailLink03.visible img.hover_off  {
display: none;
}
body.service .m-featured-training_info .serviceDetailLink.visible img.hover_on,body.service .m-featured-training_info .serviceDetailLink02.visible img.hover_on,body.service .m-featured-training_info .serviceDetailLink03.visible img.hover_on {
display: block;
}
.m-featured-training_info .serviceDetailLink::before,.m-featured-training_info .serviceDetailLink02::before,.m-featured-training_info .serviceDetailLink03::before {
content: "";
width: 116px;
display: inline-block;
height: 2px;
position: absolute;
/* top: 70px; */
top: 137%;
left: auto;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-2%,-1%);
background: #000;
}
a.contents_detailLink,a.contents_detailLink02,a.contents_detailLink03 {
flex: 0 1 50%;
max-width: 50%;
}
body.service .col-desktop-6 {
max-width: 100%;
}
.policy-check ul input[type="checkbox"] {
-webkit-appearance: checkbox;
width: 25px;
height: 15px;
}
.policy-check ul {
border: 0;
display: flex;
justify-content: center;
align-items: center;
height: auto;
padding: 0;
margin: 0;
width: 100%;
}
.policy-check ul li span.mwform-checkbox-field.horizontal-item label {
display: flex;
justify-content: center;
align-items: center;
font-weight: 400;
color: #000;
}
.policy-check ul li {
margin: 0;
}
body.contact span.confirm_txt {
display: none;
}
body.confirm span.confirm_txt {
display: inline-block;
font-size: 12px;
margin-right: 10px;
color: #000;
}
body.confirm .submit-btn input[type=submit] {
width: 100%;
}
body.compleate section.under_posi-pmd {
padding-top: 135px;
}
body.compleate p.under_catch {
margin-top: 77px;
margin-bottom: 200px;
}
.container-wrap.container--contact {
background-color: #f5f5f5;
}
article#post-404 {
max-width: 1000px;
margin: 0 auto;
text-align: center;
}
body.error404 section.under_posi-pmd {
padding-top: 200px;
padding-bottom: 170px;
}
article#post-404 h1 {
line-height: 1;
margin: 0;
letter-spacing: 0.05em;
font-size: 5rem;
font-weight: 500;
text-align: center;
position: relative;
}
article#post-404 p{
font-size: 2rem;
text-align: center;
line-height: 2;
letter-spacing: 0.1em;
margin: 0;
font-weight: 400;
margin-top: 27px;
margin-bottom: 45px;
}
article#post-404 a {
font-size: 1.6rem;
letter-spacing: 0.1em;
color: #000;
border-bottom: 1px solid #000;
font-weight: 400;
}
article#post-404 a:hover {
color: #2a7e9c;
border-bottom: 1px solid #2a7e9c;
}


.privacy_policy {
  background: #f5f5f5;
  width: 100%;
}

.policy-wrap {
  max-width: 1000px;
      margin: 0 auto;
      background: #fff;
      padding: 100px 150px;
      margin-top: 80px;
margin-bottom: 70px;
}

.policy-wrap ul {
    margin: 0;
    padding: 0;
    list-style: none;
        margin-bottom: 70px;
}


.policy-wrap ul:last-child{
          margin-bottom: 0px;
}

.policy-wrap ul li {
    font-size: 1.4rem;
    letter-spacing: 0.07em;
    line-height: 2;
    color: #000;
    font-weight: 400;
        margin-bottom: 15px;
}

.policy-wrap ul li span.strong {
    display: block;
    font-weight: 500;
}

.policy-wrap ul li span.heavy-strong {
    font-weight: bold;
        display: block;
}


.non-link{
	    pointer-events: none;
    opacity: 0.3;
    cursor: none;
}


/* =========================
   全画面ローディング & ヒーロー動画
   ========================= */
:root{
  --loading-bg: #ebf2f5;      /* ローディング時の全画面背景色 */
  --hero-h: min(100svh, 820px);
}

/* デフォルトはローダー非表示 */
#page-loader{ display:none; }

/* これが付いた時だけ全画面ローダー表示＋スクロール禁止 */
html.loading-active, body.loading-active{ height:100%; overflow:hidden; }
body.loading-active{ position:fixed; width:100%; }
body.loading-active #page-loader{
  display:grid; place-items:center;
  position:fixed; inset:0; z-index:9999; background:var(--loading-bg);
  transition:opacity .5s ease;
}
body.page-ready #page-loader{ opacity:0; visibility:hidden; pointer-events:none; }


/* フルスクリーンのローディングオーバーレイ */
#page-loader{
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--loading-bg);
  display: grid;
  place-items: center;
  transition: opacity .5s ease, visibility .35s ease;
}
body.page-ready #page-loader{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* 波紋ローディング（軽量CSSアニメ） */
#page-loader .ripple,
#page-loader .ripple2{
  position: absolute;
  width: 96px; height: 96px;
  border: 3px solid #ffffff;
  border-radius: 50%;
  opacity: 0;
  animation: ripple 1.8s ease-out infinite;
}
#page-loader .ripple2{ animation-delay: .9s; }

@keyframes ripple{
  0%   { transform: scale(.2); opacity: 0; }
  10%  { opacity: 1; }
  100% { transform: scale(2.6); opacity: 0; }
}

/* ヒーロー動画（背景） */
.hero{
  position: relative;
  height: var(--hero-h);
  min-height: 460px;
  overflow: clip;
  background: #000;                  /* 読み込み前の下地 */
  display: grid;
  place-items: center;
}
.hero__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 0;                         /* 準備できたらフェードイン */
  transition: opacity .4s ease;
}
.hero__veil{
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.35));
}
.hero__content{
    position: absolute;
  z-index: 2;
  text-align: center;
  color: #fff;
  padding: 0 4vw;
}
.hero__content h2{ font-size: clamp(28px,5vw,56px); line-height: 1.12; 	    letter-spacing: 0.1em; margin: 0 0 .6em; font-weight: 700; }
.hero__content p {
    font-size: clamp(14px, 2.3vw, 24px);
    opacity: 1;
    margin: 0 0 0;
    margin-top: 2rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

/* 準備完了で動画を表示（JSで .video-ready を hero に付与） */
.hero.video-ready .hero__bg{ opacity: 1; }

/* 省モーション配慮：アニメ停止＆動画オフ（静止画へ） */
@media (prefers-reduced-motion: reduce){
  #page-loader .ripple, #page-loader .ripple2{ animation: none; opacity: 1; transform: scale(1); }
  #bgvideo{ display: none; }
  .hero{ background: #000; } /* 必要ならポスター画像へ差し替え */
}



@media screen and (min-width: 768px)and (max-width: calc(992px - 0.2px)) {
.philosophy_erea ,.summary_erea,.servicebase_erea{
    padding-left: 20px;
    padding-right: 20px;
}
}