@charset "UTF-8";
/* CSS Document */
html {
font-size: 62.5%;
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 16px;
font-size: 1.6rem;
font-family: "Noto Sans JP", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
background: #FFFFFF;
color: #393939;
}
img, iframe {
width: 100%;
max-width: 100%;
vertical-align: bottom;
}
a {
color: #393939;
text-decoration: none;
}
main {
display: block;
}

#header {
background: #fff;
}
#header > div, #footerContent {
width: 90%;
max-width: 1280px;
margin: 0 auto;
}

.slider-wrapper {
overflow: hidden;
background: #fff;
}
.slider {
position: relative;
overflow: visible !important;
}
.slide p {
width: 100%;
}
.bx-wrapper {
box-shadow: none;
border: none;
margin: 0;
}

.box, .box_s {
box-sizing: border-box;
}

a.btn {
display: block;
width: 240px;
margin: 0 auto;
background: #155e77;
border: 1px solid #155e77;
color: #fff;
position: relative;
box-sizing: border-box;
}
a.btn:after {
display: block;
font-family: 'Font Awesome 5 Pro';
content: "\f0da";
font-weight: bold;
position: absolute;
top: 50%;
transform:translateY(-50%);
}
.table {
width: 100%;
max-width: 640px;
margin: 0 auto;
}
.table th, .table td {
border: 1px solid #ccc;
box-sizing: border-box;
}
.table th {
background: #bbb;
vertical-align: middle;
}
.table dd:nth-last-child(1) {
padding-bottom: 0;
}

#topContent a.btn span.en {
font-size: 0.8em;
padding-left: 8px;
}

.main-content > section:nth-last-child(1) {
padding-bottom: 0;
margin-bottom: 0;
}

.main-content h2 {
display: table;
margin: 0 auto;
text-align: center;
}
.main-content h2 span {
display: block;
font-size: 0.6em;
position: relative;
}
.main-content h2 span:before {
content: "";
display: block;
width: 120px;
height: 10px;
position: absolute;
top: -10px;
left: 50%;
transform: translate(-50%);
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#23b26f+0,2c95ea+100 */
background: rgb(35,178,111); /* Old browsers */
background: -moz-linear-gradient(left,  rgba(35,178,111,1) 0%, rgba(44,149,234,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  rgba(35,178,111,1) 0%,rgba(44,149,234,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  rgba(35,178,111,1) 0%,rgba(44,149,234,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#23b26f', endColorstr='#2c95ea',GradientType=1 ); /* IE6-9 */
}
#bread {
background: #111;
}
#bread ol {
width: 90%;
max-width: 1280px;
margin: 0 auto;
display: -ms-flex;
display: flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
color: #fff;
}
#bread ol li {
position: relative;
}
#bread ol li:after {
display: block;
font-family: 'Font Awesome 5 Pro';
content: "\f054";
font-weight: bold;
position: absolute;
top: 55%;
right: 0;
transform:translateY(-50%);
}
#bread ol li:nth-last-child(1) {
padding-right: 0;
margin-right: 0;
}
#bread ol li:nth-last-child(1):after {
display: none;
}
#bread a {
color: #fff;
}

#newsList ul li a p {
display: table;
}
#newsList ul li a span.en {
display: block;
font-size: 0.8em;
}

#worksList h3, #recruit h3 {
display: table;
margin: 0 auto;
}
#newsDetal h3 span.en {
font-size: 0.8em;
}
#newsDetal dd h3 {
font-weight: bold;
padding-bottom: 30px;
}
#newsDetal dd p:nth-last-child(1) {
padding-bottom: 0;
}
.pager {
display: table;
margin: 0 auto;
}
.pager ul {
display: -ms-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.pager ul li a {
display: block;
background: #fff;
border: 1px solid #333;
border-radius: 3px;
}
.pager ul li:nth-child(1) a, .pager ul li:nth-last-child(1) a {
border: none;
}
.pager ul li a.current_page_number {
background: #333;
color: #fff;
}

#works h3 {
background: #333;
color: #fff;
text-align: center;
}
#works h3 span.en {
display: block;
font-size: 0.8em;
}
#works .box > div {
width: 100%;
max-width: 900px;
margin: 0 auto;
}
#works dt {
font-weight: bold;
}
#works dd ul li {
text-align: center;
color: #fff;
}
#works dd ul li:nth-child(1) {
background: #062A3F;
}
#works dd ul li:nth-child(2) {
background: #6E0304;
}
#works dd p {
border: 1px solid #ccc;
margin-bottom: 10px;
}
#works dd p span.en {
display: block;
padding-top: 8px;
}
#works dd table {
width: 100%;
border: 1px solid #ccc;
}
#works dd table th, #works dd table td {
border: 1px solid #ccc;
}
#works dd table th {
text-align: center;
}

iframe#gMpas {
padding-top: 20px;
}

#footer {
background: #fff;
}
#footer small {
display: block;
text-align: center;
}

@media screen and (max-width:559px){
#header {
padding: 10px 0;
}
#logo h1 {
padding-top: 4px;
}
#logo img, #footerContent > div img {
width: 50vw;
}

.menu-btn {
width: 55px;
height: 44px;
padding-top: 6px;
line-height: 18px;
top: 5px;
right: 5px;
font-size: 2.4rem;
}
.menu-btn span {
font-size: 0.4em;
}
.menu li {
max-width: 300px;
padding: 16px 0;
}
.menu li a {
font-size: 1.1em;
}

.main-content {
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0.8+0,0+24 */
background: -moz-linear-gradient(top,  rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 6%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(255,255,255,0.8) 0%,rgba(255,255,255,0) 6%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(255,255,255,0.8) 0%,rgba(255,255,255,0) 6%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ccffffff', endColorstr='#00ffffff',GradientType=0 ); /* IE6-9 */
padding: 60px 0;
}
.main-content > section {
padding-bottom: 40px;
margin-bottom: 40px;
}
.main-content h2 {
font-size: 2.4rem;
padding-bottom: 30px;
}
.main-content h2 span {
margin-top: 8px;
}
.box, .box_s {
padding: 20px;
}
.bg-fff {
background: rgba(255,255,255,0.90);
}
.table {
border-collapse: separate;
border-spacing: 0 20px;
}
.table th, .table td {
display: block;
width: 100%;
font-size: 1.4rem;
padding: 8px 4px;
}
.table dt {
border-bottom: 1px solid #ccc;
padding-bottom: 4px;
margin-bottom: 4px;
}
.table dd {
padding-bottom: 24px;
}
#bread {
padding: 4px 0;
}
#bread li {
font-size: 1.3rem;
padding-right: 16px;
margin-right: 8px;
}

a.btn {
font-size: 1.4rem;
padding: 6px 10px;
}
a.btn:after {
right: 10px;
}

#topContent #newsList {
padding-bottom: 30px;
margin-bottom: 30px;
border-bottom: 1px solid #ccc;
}
#topContent #newsList ul {
padding-bottom: 20px;
}
#newsList li {
padding-bottom: 10px;
}
#newsList time {
padding-bottom: 4px;
font-size: 1.4rem;
}
#worksList h3 {
padding: 6px 0 30px;
}

#gMpas {
height: 40vh;
}

#recruit h3 {
font-size: 1.8rem;
padding-bottom: 10px;
}
#recruit table {
margin-bottom: 20px;
}
#newsDetal dt {
font-size: 1.3rem;
text-align: right;
}
#newsDetal dd {
font-size: 1.4rem;
border-bottom: 1px solid #999;
padding-bottom: 20px;
margin-bottom: 40px;
}
#newsDetal dd p {
padding-bottom: 20px;
}
.pager ul li {
padding: 0 7px;
}
.pager ul li a {
font-size: 1rem;
padding: 6px 11px;
}

#works h3 {
font-size: 1.8rem;
padding: 6px 0;
margin-bottom: 16px;
}
#works dt {
padding-bottom: 6px;
}
#works dd {
padding-bottom: 50px;
}
#works dd ul li {
margin-bottom: 10px;
}
#works dd p, #works dd table th, #works dd table td {
padding: 8px;
font-size: 1.4rem;
}

#footer {
text-align: center;
}
#footerContent div > img {
margin-top: 30px;
}
}

@media screen and (min-width:560px){
#logo img, #footerContent > div img {
max-width: 240px;
}

.main-content {
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0.8+0,0+24 */
background: -moz-linear-gradient(top,  rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 24%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(255,255,255,0.8) 0%,rgba(255,255,255,0) 24%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(255,255,255,0.8) 0%,rgba(255,255,255,0) 24%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ccffffff', endColorstr='#00ffffff',GradientType=0 ); /* IE6-9 */
}
.main-content h2 {
font-size: 30px;
font-size: 3rem;
padding-bottom: 50px;
}
.main-content h2 span {
margin-top: 10px;
}
.box {
width: 90%;
max-width: 1280px;
margin: 0 auto;
}
.box_s {
width: 90%;
max-width: 900px;
margin: 0 auto;
}
.bg-fff {
background: #fff;
}
.table {
table-layout: fixed;
}
.table th, .table td {
padding: 8px 10px;
font-size: 15px;
font-size: 1.5rem;
}
.table th {
width: 100px;
text-align: center;
}
.table dl {
display: -ms-flex;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
font-size: 0.9em;
}
.table dt {
width: 30%;
}
.table dd {
width: 70%;
padding-bottom: 20px;
}
#bread {
padding: 8px 0;
}
#bread li {
font-size: 14px;
font-size: 1.4rem;
padding-right: 18px;
margin-right: 10px;
}

#topContent > div {
display: flex;
}
#topContent #newsList, #worksList {
width: 50%;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
#topContent #newsList {
box-sizing: border-box;
border-right: 1px solid #ccc;
}
#topContent #newsList a, #worksList a {
margin-top: auto;
}

#gMpas {
height: 600px;
}
#recruit h3 {
font-size: 20px;
font-size: 2rem;
padding-bottom: 20px;
}
#recruit table {
margin-bottom: 30px;
}

#newsDetal dl {
display: -ms-flex;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
#newsDetal dt, #newsDetal dd {
padding-bottom: 20px;
margin-bottom: 30px;
border-bottom: 1px dotted #ccc;
}
#newsDetal dt {
width: 20%;
font-size: 14px;
font-size: 1.4rem;
}
#newsDetal dd {
width: 80%;
font-size: 15px;
font-size: 1.5rem;
}
#newsDetal dd h3 {
font-size: 18px;
font-size: 1.8rem;
}
#newsDetal dd p {
padding-bottom: 30px;
}
.pager ul li {
padding: 0 8px;
}
.pager ul li a {
font-size: 12px;
font-size: 1.2rem;
padding: 3px 8px;
}

#works h3 {
font-size: 20px;
font-size: 2rem;
padding: 8px 0;
margin-bottom: 20px;
}
#works dt {
font-size: 18px;
font-size: 1.8rem;
padding-bottom: 8px;
}
#works dd {
padding-bottom: 60px;
}
#works dd ul {
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
flex-wrap: wrap;
padding-bottom: 10px;
}
#works dd ul li {
width: 48%;
}
#works dd ul li:nth-child(n + 3) {
padding-top: 10px;
}
#works dd p, #works dd table th, #works dd table td {
padding: 10px;
}
#works dd table {
table-layout: fixed;
}

#footerContent div {
display: flex;
justify-content: center;
}
#footerContent div a {
margin-right: 20px;
}
}

@media (min-width:560px) and (max-width:959px){
#header {
padding: 16px 0;
}
#logo h1 {
font-size: 2rem;
padding-top: 8px;
}

.menu-btn {
width: 110px;
height: 55px;
padding-top: 8px;
line-height: 20px;
top: 20px;
right: 20px;
font-size: 3rem;
}
.menu-btn span {
font-size: 0.5em;
}
.menu li {
max-width: 480px;
padding: 20px 0;
}
.menu li a {
font-size: 1.4em;
}

.main-content {
padding: 100px 0;
}
.main-content > section {
padding-bottom: 50px;
margin-bottom: 50px;
}
	
.box, .box_s {
padding: 24px;
}
a.btn {
font-size: 1.5rem;
padding: 8px 16px;
}
a.btn:after {
right: 16px;
}

#newsList li {
padding-bottom: 12px;
}
#newsList time {
padding-bottom: 8px;
font-size: 1.3rem;
}
#worksList > div {
padding: 0 0 20px 24px;
}
#worksList h3 {
padding-top: 8px;
font-size: 1.8rem;
}
}

@media screen and (max-width:959px){
body {
background: url("../images/bodybg.jpg") top center no-repeat;
background-size: auto 100vh;
background-attachment: fixed;
}
body:before{
content:" ";
display:block;
position:fixed;
top:0;
left:0;
z-index:-1;
width:100%;
height:100vh;
background: url("../images/bodybg.jpg") top center no-repeat;
background-size:cover;
}
	
#header > div {
display: -ms-flex;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}

.slider {
left: 10vw;
}
.slide {
width: 80vw !important;
}

#gNav ul li a {
color: #FFF;
}
.menu-btn {
position: fixed;
text-align: center;
cursor: pointer;
z-index: 30000;
background: #155e77;
border: 1px solid #fff;
border-radius: 3px; 
color: #FFF;
}
.menu-btn span {
color: #FFF;
}
.menu-btn span:after {
content: "メニュー";
}
.open .menu-btn span:after {
content: "閉じる";
}
.menu {
position: fixed;
display: table;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background:rgba(21,94,119,0.90);
-webkit-transition: all .5s;
transition: all .5s;
visibility: hidden;
opacity: 0;
z-index: 29000;
}
.menu ul {
display: table-cell;
vertical-align: middle;
}
.menu li {
margin: 0 auto;
text-align: center;
}
.menu li:nth-last-child(1) a {
background: #fff;
border-radius: 3px;
padding: 8px 0;
color: #155e77;
}
.menu li a {
display: block;
color: #fff;
}
.menu li a span {
display: none;
}
.menu li a:hover {
color: #999;
}
	
/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {
cursor: url(../images/cross.svg),auto;
-webkit-transition: all .5s;
transition: all .5s;
visibility: visible;
opacity: 1;
}
	
#newsList time {
display: block;
}
	
#footer {
border-top: 4px solid #155e77;
padding: 10px 0;
}
#footerContent {
padding-bottom: 10px;
}
}

@media screen and (min-width:960px){
body:before{
content:" ";
display:block;
position:fixed;
top:0;
left:0;
z-index:-1;
width:100%;
height:100vh;
background: url("../images/bodybgx2.jpg") center center no-repeat;
background-size:cover;
}

a[href^="tel:"] {
pointer-events: none;
}

#header {
padding: 20px 0;
}
#logo h1 {
padding-top: 10px;
display: table;
margin: 0 auto;
}
	
.menu-btn {
display: none;
}

.slider {
left: 15vw;
}
.slide {
width: 70vw !important;
}
#js__nav {
padding: 10px 0;
background: #fff;
}
#js__nav ul {
width: 90%;
max-width: 1280px;
margin: 0 auto;
display: -ms-flex;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
#js__nav ul li {
width: 20%;
box-sizing: border-box;
border-left: 1px solid #000;
padding: 0 8px;
}
#js__nav ul li:nth-child(5) {
border-right: 1px solid #000;
}
#js__nav ul li:nth-child(6) {
display: none;
}
#js__nav ul li a {
text-align: center;
display: block;
font-size: 17px;
font-size: 1.7rem;
font-weight: bold;
padding: 8px 0;
}
#js__nav ul li a span {
display: block;
font-size: 0.7em;
color: #444;
}

.main-content {
padding: 140px 0;
}
.main-content > section {
padding-bottom: 70px;
margin-bottom: 70px;
}

.box, .box_s {
padding: 30px;
}
a.btn {
font-size: 16px;
font-size: 1.6rem;
padding: 10px 20px;
transition: .6s;
}
a.btn:after {
right: 20px;
transition: .3s;
}
a.btn:hover {
background: #fff;
color: #155e77;
}
a.btn:hover:after {
right: 10px;
}

#newsList li {
padding-bottom: 18px;
}
#newsList ul li a {
display: flex;
align-items: center;
}
#newsList li a:hover {
text-decoration: underline;
}
#newsList time {
padding-right: 10px;
font-size: 1.4rem;
}
#worksList > div {
padding: 0 0 30px 30px;
}
#worksList h3 {
padding-top: 10px;
font-size: 20px;
font-size: 2rem;
}
	
#footer {
border-top: 8px solid #155e77;
padding: 20px 0;
}
#footerContent {
padding-bottom: 20px;
}
}