@charset "UTF-8"; 
* {
margin: 0;
padding: 0;
font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

a {
color: #000;
text-decoration: none;
}
a:active {
border-bottom: 2px solid;
opacity: .7;
}
img {
width: 100%;
}
li {
list-style: none;
}

.content-cover {
background-color: #fff;
}
.content_img {
position: relative;
background-attachment: fixed;
background-size: 100%;
background-repeat: no-repeat;
background-position: center top;
margin: 0 auto;
padding: 0;
}
#head.content_img {
background-image: url("../../images/img01.jpg");
    height: 20vh;
}
#head .content_inner {
position: absolute;
top: 0;
width: 100%;
background-color: rgba(255,255,255,0.3);
}
#box_img01.content_img {
}
#box_img01 .content_inner {
position: relative;
height: 600px;
}
#box_img01 .content_inner.parallax:before {
  background:url("../../images/img03.jpg") no-repeat left center;
  background-size: 100% auto;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
}
/*#box_img02.content_img {
background-image: url("../../images/img04.jpg");
background-attachment: inherit;
}*/
#box_img02 .content_inner {
position: relative;
height: 600px;
}
#box_img02 .content_inner.parallax:before {
  background:url("../../images/img04.jpg") no-repeat left center;
  background-size: 100% auto;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
}



#head {
position: relative;
}
.head_area {
}
.head_navi {
margin: 0 auto;
padding: 40px 0;
width: 90%;
}
.clear:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
overflow: hidden;
}
.head_navi p {
float: left;
width: 350px;
}
.head_navi ul {
float: right;
}
.head_navi ul li {
display: table-cell;
padding: 0 15px;
}
.head_navi ul li:first-child {
padding-left: 0;
}
.head_navi ul li:last-child {
padding-right: 0;
}
.head_navi ul li a {
border-color: #445977;
font-size: 21px;
}

.content {
margin: 0 auto 0;
padding-top: 100px;
width: 90%;
}
.content dl dt {
font-size: 28px;
line-height: 1.2em;
}
.content dl dt span {
width: 60px;
display: inline-block;
background-color: #a75453;
height: 2px;
margin: 0 0 10px 15px;
}
.content dl dd {
line-height: 1.5em;
margin-bottom: 30px;
}

#ABOUT div {
height: 450px;
background: url("../../images/img02.jpg") no-repeat left top;
color: #fff;
margin-bottom: 30px;
position: relative;
}
#ABOUT div p:first-child {
position: absolute;
top: 100px;
font-size: 28px;
width: 100%;
text-align: center;
letter-spacing: .15em;
}
#ABOUT div p:last-child {
position: absolute;
top: 170px;
width: 90%;
text-align: center;
letter-spacing: .1em;
line-height: 2em;
font-size: 21px;
padding: 0 5%;
}
#ABOUT ul {
width: 100%;
display: table;
}
#ABOUT ul li{
  width: 47%;
  margin: 1.5%;
  border: none;
  float: left;
  position: relative;
}
#ABOUT ul li img{
  width: 100%;
}
#ABOUT ul li:nth-of-type(2n+1) {
  clear: left;
}
#ABOUT ul li a:active {
border-bottom: none;
}
/*#ABOUT ul {
width: 100%;
display: table;
}
#ABOUT ul li {
border-right: 2px solid #dce3e5;
display: table-cell;
text-align: center;
width: 33.3%;
}
#ABOUT ul li:last-child {
border-right: none;
}
#ABOUT ul li img {
width: auto;
}*/
#CORPORATEPHILOSOPHY {
margin-top: 150px;
padding: 50px 0;
}
#CORPORATEPHILOSOPHY div {
margin-bottom: 150px;
background: url(../../images/img05.jpg) repeat left top;
}
#CORPORATEPHILOSOPHY dl, #CORPORATEPHILOSOPHY p {
width: 90%;
margin: auto;
}
#CORPORATEPHILOSOPHY p {
line-height: 2em;
text-align: center;
margin-top: 20px;
}
#CORPORATEPHILOSOPHY p.mds {
font-weight: bold;
font-size: 21px;
letter-spacing: .1em;
padding-top: 50px;
}
#CORPORATEPHILOSOPHY p.ul {
text-decoration: underline;
padding-bottom: 70px;
}
#CORPORATEPHILOSOPHY p.mg {
text-align: right;
}
#CORPORATEPHILOSOPHY .triangle{
  margin: 50px auto 10px;
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid gray;
}
#COMPANY + div {
background: url("../../images/img05.jpg") repeat left top;
margin-bottom: 100px;
}
#COMPANY + div dl {
margin: 0 auto;
padding: 30px 0;
width: 800px;
}
#COMPANY + div dl dt,
#COMPANY + div dl dd {
line-height: 2em;
font-size: 18px;
}
#COMPANY + div dl dt {
font-weight: bold;
}
#COMPANY + div dl dd {
margin-bottom: 30px;
}

#PRIVACY + div {
background: url("../../images/img05.jpg") repeat left top;
margin-bottom: 100px;
}
#PRIVACY + div dl {
margin: 0 auto;
padding: 30px 0;
width: 800px;
}
#PRIVACY + div dl dt,
#PRIVACY + div dl dd {
line-height: 2em;
font-size: 18px;
}
#PRIVACY + div dl dt {
font-weight: bold;
padding: 35px;
}
#PRIVACY + div dl dd {
margin-bottom: 30px;
}

#RECRUIT div {
padding-bottom: 100px;
}
#RECRUIT p {
line-height: 1.5em;
text-align: center;
}
#RECRUIT p:nth-child(1) {
font-weight: bold;
font-size: 28px;
letter-spacing: .1em;
margin-bottom: 30px;
}
#RECRUIT p:nth-child(2) {
display: none;
font-weight: bold;
line-height: 1.8em;
}
#RECRUIT p:nth-child(3), #RECRUIT p:nth-child(4) {
margin-top: 30px;
}
#CONTACT p {
text-align: center;
padding-bottom: 200px;
}

#foot p {
background-color: #223c5f;
color: #fff;
text-align: center;
font-family: "times new roman";
font-size: 24px;
padding: 10px 0;
}

#sp_menu {
position: fixed;
z-index: 999;
color: #fff;
width: 150px;
height: 150px;
display: block;
background-color: #223c5f;
bottom: -5px;
right: 0;
}
#sp_menu.menu_cl {
background: none;
}
#sp_menu.menu_cl:before {
content: none;
}
#sp_menu.menu_cl:after {
content: none;
}
#sp_menu span:nth-child(1) {
display: block;
height: 4px;
width: 40px;
background-color: #fff;
position: absolute;
top: 40%;
left: 40%;
border-radius: 2px;
}
#sp_menu span:nth-child(2) {
display: block;
height: 4px;
width: 40px;
background-color: #fff;
position: absolute;
top: 48%;
right: 33%;
border-radius: 2px;
}
#sp_menu span:nth-child(3) {
display: block;
height: 4px;
width: 40px;
background-color: #fff;
position: absolute;
top: 57%;
right: 33%;
border-radius: 2px;
}
#sp_menu.menu_cl span:nth-child(1) {
top: 45%;
left: 45%;
transform: rotate(45deg);
}
#sp_menu.menu_cl span:nth-child(2) {
top: 45%;
right: 29%;
transform: rotate(-45deg);
}
#sp_menu.menu_cl span:nth-child(3) {
top: 45%;
right: 29%;
transform: rotate(-45deg);
}
.nav {
position: fixed;
bottom: 0;
left: 0;
z-index: 99;
width: 100%;
transition: .3s;
transform: translateY(100%);
background-color: #223c5f;
}
.is-show {
transform: translateY(0);
}
.nav .head_navi {
padding: 55px 0;
}
.nav .head_navi ul {
float: left;
}
.nav .head_navi ul li {
padding: 0 50px;
}
.nav .head_navi a {
color: #fff;
font-size: 24px;
}
.nav .head_navi a:active {
border-bottom-color: #fff;
}

/* モーダルデザインここから */
.modal{
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}
.modal__bg{
  background: rgba(0,0,0,0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.modal__content{
  background: #fff;
  left: 50%;
  padding: 50px;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 80%;
  height: 60%;
  overflow-y: auto;
  font-size: 1.2em;
}
a.js-modal-close {
  display: inline-block;
  width: 50px;
  height: 50px;
  vertical-align: middle;
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 10px;
  text-indent: -9999px;
  z-index: 100;
}
a.js-modal-close::before, a.js-modal-close::after {
  content: "";
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
}
a.js-modal-close::before {
  transform: translateY(25px) rotate(-45deg);
}
a.js-modal-close::after {
  transform: translateY(25px) rotate(45deg);
}
a.js-modal-close:hover {
  text-decoration: none;
}

/* 20260307お知らせ掲載 */
#NEWS div {
  background: url(../../images/img05.jpg) repeat left top;
  padding: 30px 0;
}