/*:root {

--main-color: rgba(17, 50, 123, 1);

--main-color: rgba(63, 180, 213, 1);
}*/

:root {
--max-width: 100%;
--pc-content-width: 1024px;
--border-radius: 6px;
--color-concept: rgba(0, 128, 203, 1);
--color-text: rgba(50, 50, 50, 1);
--color-white: rgba(255, 255, 255, 1);
--color-bg-page: rgba(250, 250, 244, 1);
--color-bg-content: rgba(240, 240, 234, 1);

--main-color: rgba(63, 180, 213, 1);
}

*,
*::before,
*::after {
border: none;
box-sizing: border-box;
font-family: "見出ゴMB31";
/*font-family: "Gothic MB101";*/
list-style-type: none;
line-height: 1.8;
margin: 0;
padding: 0;
text-decoration: none;
}


input,
textarea {
border: 2px solid rgba(0, 0, 0, 0.20);
}


/* splide */
.splide {
margin: 0 auto;
width: 100%;
}
.splide__slide {
height: 80vh;
}
.splide__slide {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.splide__slide.bgimage1 {
background-image: url(/assets/images/slider3.jpg);
}
.splide__slide.bgimage2 {
background-image: url(/assets/images/slider1.jpg);
}
.splide__slide.bgimage3 {
background-image: url(/assets/images/slider2.jpg);
}
.splide__slide.bgimage4 {
background-image: url(/assets/images/slider4.png);
}
.splide__slide.bgimage5 {
background-image: url(/assets/images/slider5.jpg);
}
.splide__slide.bgimage6 {
background-image: url(/assets/images/slider6.png);
}
.splide__slide.bgimage7 {
background-image: url(/assets/images/slider7.jpg);
}
.splide__slide.bgimage8 {
background-image: url(/assets/images/slider8.png);
}



.btn {
margin: auto;
width: 60%;
}

.btn a {
background-color: rgba(255, 255, 255, .75);
border: 1px solid var(--main-color);
color: var(--main-color);
display: block;
padding: 1rem 0;
text-align: center;
width: 100%;
}

.button {
background-color: var(--color-concept);
border-radius: var(--border-radius);
color: var(--color-white);
display: block;
font-size: 1.5rem;
font-weight: bold;
line-height: 3.25rem;
margin-left: auto;
margin-right: auto;
padding-left: 1.5rem;
padding-right: 1.5rem;
text-align: center;
}



#header {
background-color: rgba(255,255,255,.75);
display: flex;
justify-content: space-between;
left: 0;
line-height: 1;
padding-bottom: .5rem;
padding-top: .5rem;
position: absolute;
top: 0;
width: 100%;
z-index: 10;
}

#header * {
line-height: 1;
}

#header h1 {
line-height: 0;
margin-left: .5rem;
}

#header h1 img {
height: 48px;
width: auto;
}

#header nav ul {
align-items: center;
display: flex;
height: 60px;
justify-content: space-between;
column-gap: 1rem;
}

#header nav ul li a {
color: rgba(0, 0, 0, 1);
}

#header div .btn {
margin: 0 .5rem 0 0;
width: 10rem;
}

#header h1,
#header nav,
#header div {
}

.hamburger,
nav.globalMenuSp {
display: none;
}

.slider1 {
position: relative;
}

.catch {
background-color: rgba(255,255,255,.75);
border: 1px solid var(--main-color);
left: 50%;
padding: 1rem;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
}

.page_header {
background-color: rgba(17, 50, 123, 1);
}

.page_header h2 {
color: rgba(255,255,255,1);
height: 20rem;
line-height: 20rem;
text-align: center;
}

.service_link {}

.service_link ul {
display: flex;
width: 100%;
}

.service_link ul li {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
color: #fff;
padding: 3rem;
position: relative;
text-align: center;
width: 33.33%;
z-index: 0;
}

.service_link ul li::before {
background: inherit;
content: '';
filter: brightness(65%);
height: 100%;
left:0;
position: absolute;
top:0;
width: 100%;
z-index: -1;
}

.service_link ul li:nth-of-type(1) {
background-image: url(/assets/images/service_link_img1.jpg);
}

.service_link ul li:nth-of-type(2) {
background-image: url(/assets/images/service_link_img2.jpg);
}

.service_link ul li:nth-of-type(3) {
background-image: url(/assets/images/service_link_img3.jpg);
}

.service_link ul li h2 {
color: var(--main-color);
margin-bottom: 1em;
}

.service_link ul li p {
margin-bottom: 1rem;
}

.trouble {
padding: 3rem 0;
text-align: center;
width: 100%;
}

.trouble .note {
color: var(--main-color);
font-size: 1.5rem;
font-weight: bold;
}

.trouble ul {
display: flex;
height: 300px;
justify-content: space-between;
margin: 1.5rem auto;
width: 960px;
}

.trouble ul li {
align-items: center;
border: 6px solid var(--main-color);
border-radius: 50%;
display: flex;
height: 300px;
width: 300px;
}

.trouble ul li div {
width: 100%;
}

.trouble ul li div img {
width: 35%;
}

.trouble ul li div h2 {
color: var(--main-color);
}

.contents {
margin: 0 auto 6rem;
width: 1280px;
}

.contents h2 {
background: linear-gradient(180deg, var(--main-color) 0%, var(--main-color) 90%, rgba(0, 96, 149, 1) 90%, rgba(0, 96, 149, 1) 100%);
color: rgba(255, 255, 255, 1);
line-height: 1.2;
padding-bottom: 1.4rem;
padding-top: 1.2rem;
text-align: center;
}

.contents .flex {
display: flex;
height: 600px;
width: 100%;
}

.contents .reverse {
flex-direction: row-reverse;
}

.contents .flex .text {
background-color: rgba(17, 50, 123, 1);
color: rgba(255,255,255,1);
padding: 3rem;
width: 50%;
}

.contents .flex .bgimg {
background-color: #000;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
width: 50%;
}

.support_area .bg1 {
background-image: url(/assets/images/img001.jpg);
}

.maintenance .bg1 {
background-image: url(/assets/images/img002.jpg);
}

.construction .bg1 {
background-image: url(/assets/images/img003.jpg);
}

.about_company .bg1 {
background-image: url(/assets/images/img004.jpg);
}

.about_sdgs .sdgs_bg1 {
background-image: url(/assets/images/sdgs01.png);
}

.about_sdgs .sdgs_bg2 {
background-image: url(/assets/images/sdgs02.png);
}

.about_sdgs .sdgs_bg3 {
background-image: url(/assets/images/sdgs03.png);
}

.about_sdgs .sdgs_bg4 {
background-image: url(/assets/images/sdgs04.png);
}

.seniorsvoice_area .bg1 {
background-image: url(/assets/images/img005.jpg);
}

.seniorsvoice_area .bg2 {
background-image: url(/assets/images/img013.jpg);
}

.seniorsvoice_area .bg3 {
background-image: url(/assets/images/img014.jpg);
}

.about_maint .bg1 {
background-image: url(/assets/images/img005.jpg);
}

.about_maint .bg2 {
background-image: url(/assets/images/img008.jpg);
}

.about_maint .bg3 {
background-image: url(/assets/images/img009.jpg);
}

.about_setup .bg1 {
background-image: url(/assets/images/img010.jpg);
}

.about_setup .bg2 {
background-image: url(/assets/images/img006.jpg);
}

.about_setup .bg3 {
background-image: url(/assets/images/img011.jpg);
}

.about_pmc .bg1 {
background-image: url(/assets/images/img006.jpg);
}

.about_pmc .bg2 {
background-image: url(/assets/images/img008.jpg);
}

.about_pmc .bg3 {
background-image: url(/assets/images/img012.jpg);
}


.about_sdgs .flex {
border-bottom: 1px dotted rgba(17, 50, 123, 1);
height: auto;
padding-bottom: 3rem;
padding-top: 3rem;
}
.about_sdgs .flex .text {
background-color: rgba(255, 255, 255, 0);
color: rgba(17, 50, 123, 1);
}
.about_sdgs .flex .text h3 {
margin-bottom: 1.5rem;
}



.profile_company dl {
margin: auto;
width: 100%;
}

.profile_company dl div {
display: table;
padding-bottom: 0;
}

.profile_company dl div:last-child {
padding-bottom: 0;
}

.profile_company dl div dt,
.profile_company dl div dd {
display: table-cell;
}

.profile_company dl div dt {
width: 5rem;
}



.overview_recruitment dl {
margin: auto;
/*
width: 560px;
*/
width: 100%;
}

.overview_recruitment dl div {
display: table;
/*
padding-bottom: .5rem;
*/
padding-bottom: 0;
}

.overview_recruitment dl div:last-child {
padding-bottom: 0;
}

.overview_recruitment dl div dt,
.overview_recruitment dl div dd {
display: table-cell;
}

.overview_recruitment dl div dt {
width: 10rem;
}

.seniorsvoice_area h3 {
border-bottom: 1px solid rgba(255, 255, 255, 1);
margin-bottom: 1rem;
}




#application-guidelines dl {
margin-bottom: 3rem;
}

#application-guidelines dl div {
display: table;
width: 100%;
}

#application-guidelines dl div dt,
#application-guidelines dl div dd {
display: table-cell;
padding: 1rem;
}

#application-guidelines dl div dt {
background-color: var(--color-concept);
border-top: 1px solid rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1);
text-align: center;
vertical-align: middle;
width: 20%;
}

#application-guidelines.inq dl div dt {
text-align: left;
width: 30%;
}

.consent-box {
background-color: var(--color-concept);
line-height: 5rem;
margin-bottom: 1.5rem;
text-align: center;
}

.consent-box label {
color: rgba(255, 255, 255, 1);
}

#application-guidelines.inq dl div dt span,
.consent {
background-color: rgba(255, 255, 255, 1);
border-radius: var(--border-radius);
color: var(--color-concept);
font-weight: bold;
margin-left: 1rem;
padding: .2rem .6rem;
}
/*
.consent {
background-color: var(--color-concept);
color: rgba(255, 255, 255, 1);
}
*/
#application-guidelines dl div:first-child dt {
border-top: 1px solid var(--color-concept);
}

#application-guidelines dl div dd {
border-top: 1px solid var(--color-concept);
border-right: 1px solid var(--color-concept);
width: 80%;
}

#application-guidelines.inq dl div dd {
width: 70%;
}

#application-guidelines dl div:last-child dd {
border-bottom: 1px solid var(--color-concept);
}

#application-guidelines p .button {
width: 60%;
}

.form-privacy {
border: 1px solid var(--color-concept);
height: 300px;
margin: 0 auto 1.5rem;
overflow-x: hidden;
overflow-y: scroll;
padding: 1rem;
width: 100%;
}

input[type="submit"] {
border: none;
}




.sub-content {
margin-bottom: 9rem;
}

.sub-content .sub-content-h2 {
margin-bottom: 3rem;
text-align: center;
}

#instagram .sub-content-h2 {
text-align: center;
}

#instagram .sub-content-h2 img {
display: block;
margin: .5rem auto;
width: 3rem;
}

#instagram .sub-content-inner {
margin-left: auto;
margin-right: auto;
width: 65%;
}

#instagram .sub-content-inner a {
/*
background-color: rgba(0, 0, 0, 1);
color: rgba(255, 255, 255, 1);
*/
display: block;
padding-bottom: .5rem;
padding-top: .5rem;
text-align: center;
width: 100%;
}




#instagram .sub-content-inner a {
display: block;
padding-bottom: .5rem;
padding-top: .5rem;
text-align: center;
width: 100%;
}


.news .flex {
flex-wrap: wrap;
}

.news .flex li {
width: 25%;
}

.news .flex li img {
width: 100%;
}

#footer {
text-align: center;
}

#footer ul {
display: flex;
margin: auto auto 3rem;
justify-content: space-between;
width: 1280px;
}

#footer ul li {}

#footer ul li a {
color: rgba(0, 0, 0, 1);
}

#footer .footer_logo {
}

#footer .footer_logo a img {
height: auto;
width: 10%;
}

#footer p {
margin-bottom: 1.5rem;
}

#footer small {
background-color: var(--main-color);
color: rgba(255, 255, 255, 1);
display: block;
}



@media screen and (max-width: 599px) {

input,
textarea {
width: 100%;
}

input[type=checkbox] {
width: auto;
}

input[type=submit] {
width: 60%;
}

/* SP */

#header nav,
#header div {
display: none;
}

#header h1 img {
height: 40px;
width: auto;
}

.service_link ul {
flex-flow: column;
}

.service_link ul li {
width: 100%;
}

.trouble .note {
font-size: 1.2rem;
}

.trouble ul {
align-items: center;
flex-flow: column;
gap: 3rem;
height: auto;
width: 100%;
}

.contents {
width: 100%;
}

.contents .flex {
flex-flow: column;
flex-direction: column-reverse;
height: auto;
width: 100%;
}

.contents .reverse {
flex-direction: column-reverse;
}

.contents .flex .text {
padding: 1rem;
width: 100%;
}

.contents .flex .bgimg {
background-color: #000;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
padding-top: 66.66%;
width: 100%;
}

.news .flex {
flex-flow: row;
flex-direction: row;
flex-wrap: wrap;

}

.news .flex li {
width: 50%;
}

.profile_company dl {
margin: auto;
padding: 1rem;
width: 100%;
}

.profile_company .inq-wrapper {
padding-left: 1rem;
padding-right: 1rem;
}

.about_sdgs .flex {
padding-bottom: 1.5rem;
padding-top: 1.5rem;
}

.overview_recruitment dl {
margin: auto;
padding: 1rem;
width: 100%;
}

#footer ul {
flex-wrap: wrap;
width: 100%;
}

#footer ul li {
width: 50%;
}

#footer .footer_logo a img {
width: 30%;
}

#footer .footer_sdgs_bnr img {
width: 100%;
}




#application-guidelines dl div dt,
#application-guidelines dl div dd,
#application-guidelines.inq dl div dt,
#application-guidelines.inq dl div dd {
display: block;
margin: 0;
width: 100%;
}

#application-guidelines.inq dl div dt {
text-align: center;
}

#application-guidelines dl div:first-child dt,
#application-guidelines dl div dt,
#application-guidelines dl div dd,
#application-guidelines dl div:last-child dd {
border: none;
}




/* sp menu */
.hamburger {
display: block;
position: fixed;
z-index: 1000;
right: 20px;
top: 3px;
width: 42px;
height: 42px;
cursor: pointer;
text-align: center;
}

.hamburger span {
display: block;
position: absolute;
width: 30px;
height: 2px ;
left: 6px;
background: #BBBBBB;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
top: 10px;
}

.hamburger span:nth-child(2) {
top: 20px;
}

.hamburger span:nth-child(3) {
top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
top: 16px;
left: 6px;
background:#fff;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
top: 16px;
background:#fff;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
position: fixed;
z-index: 900;
top: 0;
left: 0;
color: #fff;
background: rgba(71, 70, 73, .8 );
text-align: center;
width: 100%;
opacity: 0;
display: none;
transition: opacity .6s ease, visibility .6s ease;
height: 100%;
}

nav.globalMenuSp ul {
margin: 0 auto;
padding: 0;
width: 100%;
}

nav.globalMenuSp ul li {
list-style-type: none;
padding: 0;
width: 100%;
transition: .4s all;
}

nav.globalMenuSp ul li:last-child {
padding-bottom: 0;
}

nav.globalMenuSp ul li:hover{
background:#ddd;
}

nav.globalMenuSp ul li a {
display: block;
color: #fff;
padding: 1em 0;
text-decoration:none;
}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
opacity: 100;
display: block;
}

}

@media screen and (min-width: 768px) {

/* PC */

}