@charset "UTF-8";
/* 初期化 */
html, body, div, pre, p, blockquote,
form, fieldset, input, textarea, select, option,
dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
table, th, td, embed, object {
  margin: 0;
  padding: 0;
}

/* フォントスタイル初期設定 */
html {
  font-size: 62.5%; /*標準サイズ*/
}

body {
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.5;
  word-wrap: break-word;
}

input, select {
  font-family: Verdana, Helvetica, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
}

img {
  border: 0;
  vertical-align: bottom;
}

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

img[src$=".png"],
img[src$=".jpg"] {
  max-width: 100%;
  height: auto;
}

ul, ol {
  list-style: none;
}

a:hover img.alpha {
  filter: alpha(opacity=70);
  opacity: 0.7;
  -moz-opacity: 0.7;
}

.btnflash a:hover {
  opacity: 0.7;
  animation: flash 1s;
}

.inner {
  margin: 0 auto;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

address {
  font-style: normal;
}

.large {
  font-size: larger;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}
@keyframes flash {
  0% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
.animation-delay1 {
  animation-delay: 1s;
}

.animation-delay2 {
  animation-delay: 2s;
}

.flex {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-between {
  justify-content: space-between;
}

.flex-a-center {
  align-items: center;
}

.row-reverse {
  flex-direction: row-reverse;
}

.flex-c-center {
  justify-content: center;
}

h2.ttl, h3.ttl {
  color: #1E293F;
  font-size: 2.4rem;
}

.ttl-border {
  position: relative;
  display: inline-block;
  padding: 0 80px;
}

.ttl-border:before,
.ttl-border:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 50px;
  height: 1px;
  background-color: #1E293F;
}

.ttl-border:before {
  left: 0;
}

.ttl-border:after {
  right: 0;
}

.red {
  color: red;
}

.orange {
  color: #F15A24;
}

.monacolor {
  color: #86B3E0;
  font-weight: bold;
}

span.kaihatu-color {
  color: #F2AC2A;
}

span.gijyutu-color {
  color: #F14B4B;
}

span.setubi-color {
  color: #63C094;
}

span.kanri-color {
  color: #688DA4;
}

p.btn-more,
p.btn-entry {
  background-color: #86B3E0;
  padding: 10px 5px;
  margin: 30px auto 10px auto;
  text-align: center;
}
p.btn-more:hover,
p.btn-entry:hover {
  background-color: #F14B4B;
}
p.btn-more a,
p.btn-entry a {
  color: #fff;
  text-decoration: none;
  display: block;
}

p.btn-more {
  width: 150px;
}

p.btn-entry {
  display: inline-block;
  margin-bottom: -100px;
  padding: 10px 20px;
}

.bg01 {
  background-color: #f9f9f2;
  padding: 70px 15px;
}

@media print, screen and (max-width: 1079px) {
  .pc {
    display: none;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  article {
    padding-left: 15px;
    padding-right: 15px;
  }
  p.btn-more {
    margin-bottom: 30px;
  }
  .bg01 {
    background-color: #f9f9f2;
    padding: 30px 15px;
  }
}
@media print, screen and (min-width: 1080px) {
  .flex-pc {
    display: flex;
  }
.sp {
    display: none;
  }
  .pc-center {
    text-align: center;
  }
}
article .page-top div.form p,
.entry div.form p {
  margin-bottom: 40px;
}
article .page-top div.form label,
.entry div.form label {
  font-weight: bold;
}
article .page-top div.form label span,
.entry div.form label span {
  color: #f00;
  font-size: small;
}

table.form {
  box-sizing: border-box;
  margin-top: 10px;
  margin-bottom: 30px;
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}
table.form tr {
  border-bottom: dotted 1px #333;
}

table.form th, table.form td {
  vertical-align: top;
  padding: 1em 0.5em 0.5em;
}
table.form td span {
  display: block;
}
table.form td.add {
  padding-top: 0;
}
table.form tr.add {
  border: none;
}
table.form th.add {
  padding-left: 3rem;
}

table.form th {
  text-align: left;
  font-weight: normal;
}

table.form tr {
  border-bottom: dotted 1px #999;
}

span.hissu {
  padding: 3px 5px 4px 5px;
  background: #D08E49;
  color: #fff;
  margin-right: 10px;
  white-space: nowrap;
  font-size: 1.2rem;
}

span.head {
  display: block;
}

select {
  font-size: 1.6rem;
}

.form {
  font-size: 1.6rem;
}
.form span {
  font-size: 1.4rem;
}
.form input[type=text],
.form input[type=password],
.form input[type=email],
.form input[type=tel],
.form input[type=textarea],
.form textarea,
.form select {
  width: 100%;
  border: 1px solid #CCC;
  background: #f8f8f8;
  margin: 0 2px 5px 2px;
  padding: 1rem;
  max-width: 95%;
  box-sizing: border-box;
}
.form input[type=text]:focus,
.form input[type=password]:focus,
.form input[type=email]:focus,
.form input[type=tel]:focus,
.form input[type=textarea]:focus,
.form textarea:focus,
.form select:focus {
  background-color: #e0e0e0;
}
.form input.border30,
.form select.border30 {
  width: 35rem;
}
.form input.border15,
.form select.border15 {
  max-width: 15rem;
}
.form input.border7,
.form select.border7 {
  width: 14rem;
}
.form input.border5,
.form select.border5 {
  width: 5.5em;
}
.form textarea {
  box-sizing: border-box;
}
.form input.wpcf7-not-valid,
.form textarea.wpcf7-not-valid {
  background-color: pink;
}
.form input:focus, .form select:focus, .form textarea:focus {
  background-color: #eef;
}

.submit {
  text-align: center;
  margin: 50px auto 15px auto;
}

input[type=submit],
input[type=button] {
  width: 250px;
  text-align: center;
  vertical-align: top;
  padding: 0 10px;
  background: #1E293F;
  line-height: 50px;
  height: 50px;
  font-size: 18px;
  color: #fff;
  cursor: pointer;
  border: 0;
  border-radius: 6px;
}

div.serch {
  text-align: center;
}
div.serch input[type=text] {
  border: 1px solid #CCC;
  background: #fff;
  margin: 15px;
  padding: 1rem;
  width: 90%;
  box-sizing: border-box;
}
div.serch input[type=submit],
div.serch input[type=button] {
  width: 200px;
  vertical-align: top;
  padding: 0 10px;
  background: #589f39;
  line-height: 50px;
  height: 50px;
  font-size: 18px;
  color: #fff;
  cursor: pointer;
  border: 0;
  margin: 10px auto;
}

*:first-child + html input[type=submit] {
  padding: 3px;
}

span .wpcf7-list-item {
  padding-right: 1em;
}

p.privacy {
  text-align: center;
  font-size: 1.2rem;
}

p.kiyaku {
  font-size: 1.7rem;
  font-weight: bold;
  margin-top: 50px;
}
p.kiyaku a {
  border-radius: 6px;
  background-color: #DCE6E6;
  padding: 15px;
  display: block;
  width: 210px;
  text-decoration: none;
  color: #000;
  margin: 30px auto;
}
p.kiyaku a:hover {
  background-color: #066;
}

p.agree {
  font-size: 1.7rem;
}
p.agree input[type=checkbox] {
  transform: scale(2);
  margin: 0 6px 0 0;
}

div.submit {
  margin: 20px auto 40px auto;
}

main.login section.loginform {
  background-color: #DCE6E6;
  border: 1px solid #166075;
  margin: 25px auto;
  padding: 30px;
  border-radius: 10px;
  font-size: 1.6rem;
}
main.login section.loginform p {
  font-size: 1.4rem;
}
main.login section.loginform div.password {
  margin-top: 40px;
}
main.login section.loginform input {
  display: block;
  border: 1px solid #CCC;
  background: #fff;
  margin: 0 2px 5px 2px;
  padding: 6px;
  max-width: 95%;
  box-sizing: border-box;
  width: 100%;
}
main.login section.loginform input[type=submit] {
  background-color: #166075;
  width: 300px;
}
main.login input[type=submit],
main.login input[type=button] {
  background-color: #166075;
}

@media print, screen and (max-width: 1079px) {
  .scroll-table {
    overflow: auto;
    white-space: nowrap;
    border: solid 1px #ddd;
  }
  .scroll-table table {
    margin: 0;
    border: none;
    width: 100%;
    padding: 10px;
  }
}
@media print, screen and (min-width: 1080px) {
  table.form th {
    width: 35%;
  }
  div.form {
    width: 560px;
    margin: 20px auto;
  }
}
@media only screen and (max-width: 767px) {
  table.form,
  table.company {
    box-sizing: border-box;
  }
  table.form tr th,
  table.company tr th {
    padding-bottom: 0;
  }
  table.form tr th, table.form tr td,
  table.company tr th,
  table.company tr td {
    width: 100%;
    display: block;
    border-top: none;
    box-sizing: border-box;
  }
  table.form tr:first-child th,
  table.company tr:first-child th {
    border-top: 1px solid #ddd;
  }
}
header {
  z-index: 200;
}

@media print, screen and (max-width: 1079px) {
  header .sp-header {
    position: fixed;
    height: 55px;
    background-color: #fff;
    width: 100vw;
    z-index: 200;
  }
  header .sp-header h1 {
    margin: 5px 10px;
    width: 200px;
  }
}
@media print, screen and (min-width: 1080px) {
  div.header-fixed {
    position: fixed;
    width: 100%;
    background-color: #fff;
  }
  header {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    width: 100%;
    height: 93px;
  }
  header .global {
    margin: 0 auto;
  }
  header .global h1 {
    margin: 15px 10px;
  }
  header h1 {
    width: 180px;
  }
  div.page {
    padding-top: 160px;
  }
}
footer {
  background-color: #1E293F;
  padding: 10px 10px 40px 10px;
  color: #fff;
}
footer p.copyright {
  font-size: x-small;
}

section.common-contact {
  background-color: #30618C;
  padding: 50px 15px;
  text-align: center;
  color: #fff;
}
section.common-contact h3 {
  font-size: 3rem;
  margin-bottom: 30px;
}
section.common-contact div.tel,
section.common-contact div.mail {
  border: 1px solid #fff;
  padding: 17px;
  text-align: center;
  margin: 10px auto;
}

section.common-info {
  font-size: 1.4rem;
  padding: 15px;
}
section.common-info h3 span {
  display: block;
  font-weight: bold;
  margin-bottom: 20px;
  font-size: 1.8rem;
  /* color: #666; */
  letter-spacing: 1px;
  margin-top: 10px;
}
section.common-info address p {
  margin-bottom: 1em;
}
section.common-info address h4 {
  font-weight: normal;
}
section.common-info div.topics h2 {
  font-size: 2.4rem;
  margin: 20px auto;
}
section.common-info div.topics ul li {
  border-bottom: dotted 1px #aaa;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  line-height: 1.3;
}
section.common-info div.topics ul li span.date {
  font-size: 1.2rem;
  display: block;
}
section.common-info div.topics ul li a {
  text-decoration: none;
}

footer nav ul {
  margin: 40px 15px;
}
footer nav ul li {
  padding: 5px 20px 0 20px;
}
footer nav ul li a {
  color: #fff;
  text-decoration: none;
}
footer nav ul li a:hover {
  text-decoration: underline;
}

@media print, screen and (max-width: 1079px) {
  section.common-contact h3 {
    font-size: 2.4rem;
  }
  footer nav li {
    list-style-type: square;
    padding-left: 1em;
    margin-left: 1em;
  }
}
@media print, screen and (min-width: 1080px) {
  section.common-contact div.tel,
  section.common-contact div.mail {
    width: 490px;
  }
  section.common-contact div.mail {
    margin-top: 20px;
  }
  section.common-info {
    background: url(../images/common/nara_plant.jpg) no-repeat right center;
    width: 1080px;
    margin: 70px auto;
  }
}
/*レイアウトを整える*/
.gnav li {
  list-style: none;
}
.gnav a {
  text-decoration: none;
  color: #000;
}
.gnav a:hover {
  text-decoration: underline;
}
.gnav .gnav-contents .menu {
  cursor: pointer;
}
.gnav .gnav-contents .menu div {
  background-color: #fff;
  opacity: 0.9;
  text-align: center;
}
.gnav .gnav-contents .menu .dropdown-menu {
  font-size: 1.3rem;
  background-color: #fff;
  margin: 0;
  opacity: 0.9;
  padding: 10px 5px;
  z-index: 300;
}
.gnav .gnav-contents .menu .dropdown-menu li {
  padding: 10px 0;
  border-bottom: 1px solid #aaa;
}
.gnav .gnav-contents .menu .dropdown-menu li:first-child {
  padding-top: 0;
}
.gnav .gnav-contents .menu .dropdown-menu li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

@media print, screen and (max-width: 1079px) {
  header {
    /*gnav*/
    /*menu*/
    /*menu ここまで*/
  }
  header #global-nav {
    display: none;
  }
  header .gnav {
    background: #fff;
    display: none;
    height: 100vh;
    position: fixed;
    width: 100vw;
    z-index: 90;
    top: 50px;
  }
  header .gnav ul {
    list-style-type: none;
    margin-top: 50px;
    padding: 15px;
  }
  header .gnav ul li {
    display: block;
    padding: 1rem;
    font-size: 1.4rem;
    border-bottom: dotted 1px #999;
  }
  header .gnav .border {
    height: 100%;
    border-left: solid 1px #fff;
    position: absolute;
  }
  header .gnav__wrap {
    align-items: center;
    height: 100%;
    justify-content: center;
  }
  header .gnav__menu__item {
    line-height: 1;
    margin: 0;
    padding: 0;
  }
  header .gnav__menu__item a {
    color: #fff;
    text-decoration: none;
    transition: 1.5s;
  }
  header .gnav__menu__item a:hover {
    color: #fff;
  }
  header div.menubox {
    top: 0px;
    right: 0px;
    position: absolute;
    width: 55px;
    height: 50px;
  }
  header div.menubox .spmenu {
    height: 20px;
    position: absolute;
    right: 12px;
    top: 15px;
    width: 30px;
    z-index: 99;
  }
  header div.menubox .menu__line {
    background: #1E293F;
    display: block;
    height: 2px;
    position: absolute;
    transition: transform 0.3s;
    width: 100%;
  }
  header div.menubox .menu__line--center {
    top: 9px;
  }
  header div.menubox .menu__line--bottom {
    bottom: 0;
  }
  header div.menubox .menu__line--top.active {
    top: 8px;
    transform: rotate(45deg);
  }
  header div.menubox .menu__line--center.active {
    transform: scaleX(0);
  }
  header div.menubox .menu__line--bottom.active {
    bottom: 10px;
    transform: rotate(135deg);
  }
}
@media print, screen and (min-width: 1080px) {
  .gnav {
    margin: 5px 20px 0 auto;
    font-size: 1.7rem;
  }
  .gnav .gnav-contents {
    display: flex;
  }
  .gnav .gnav-contents div {
    font-weight: bold;
    min-width: 140px;
    padding: 20px 10px;
    margin: 10px auto 0 auto;
  }
  .gnav .gnav-contents div:hover {
    background-color: #86B3E0;
    text-decoration: none;
  }
  .gnav .gnav-contents div.contact {
    background-color: #1E293F;
    display: block;
    width: 170px;
  }
  .gnav .gnav-contents div.contact:hover {
    background-color: #86B3E0;
  }
  .gnav .gnav-contents div.contact a {
    color: #fff;
  }
}
div.home-mov {
  position: relative;
  overflow: hidden;
}
@media print, screen and (min-width: 1080px) {
  div.home-mov {
    height: 100vh;
  }
}
div.home-mov span.filter {
  display: block;
  z-index: 100;
  position: absolute;
  width: 100%;
  height: 100%;
}
div.home-mov .video {
  min-height: 100%;
  min-width: 100%;
}
div.home-mov .catch {
  color: #fff;
  position: absolute;
  z-index: 100;
  letter-spacing: 0.1em;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: url(../images/home/topimg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
div.home-mov .catch h2 {
  margin-top: 90px;
  font-size: 4.8rem;
  border-bottom: 1px solid #fff;
  margin-bottom: 1rem;
  padding-bottom: 0.7rem;
  text-shadow: 2px 2px 2px #777;
}
@media print, screen and (max-width: 767px) {
  div.home-mov .catch h2 {
    font-size: 3.5rem;
  }
}
div.home-mov .catch p {
  font-size: 2.1rem;
  text-shadow: 2px 2px 2px #555;
}

article.home section.home-about01 {
  margin-top: 70px;
}
article.home section.home-about01 h2 {
  margin-bottom: 40px;
}
article.home section.home-about01 p.img {
  margin: 20px auto;
}
article.home span.catch {
  color: #30618C;
  margin-bottom: 30px;
  display: block;
}
article.home .home-about02,
article.home .home-about03 {
  margin-bottom: 70px;
}
article.home .home-about02 h3,
article.home .home-about03 h3 {
  border-bottom: 1px solid #1E293F;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
article.home .home-about02 p,
article.home .home-about03 p {
  font-size: 1.4rem;
  line-height: 1.8;
}

section.home-recruit h2 {
  margin-bottom: 40px;
}
section.home-recruit .interview li {
  padding: 5px;
}
section.home-recruit .interview li.interview01,
section.home-recruit .interview li.interview04,
section.home-recruit .interview li.interview06 {
  margin-top: 25px;
}
section.home-recruit div.box {
  border: 1px solid #1E293F;
  padding: 15px;
  margin: 20px 10px;
}
section.home-recruit div.box a {
  text-decoration: none;
  color: #1E293F;
  font-size: 1.8rem;
}
section.home-recruit div.box a:hover {
  text-decoration: underline;
}

@media print, screen and (max-width: 1079px) {
  div.home-mov .catch {
    text-align: center;
    position:relative;
    height: 400px;
  }
  div.home-mov .catch h2 {
    font-size: 2.4rem;
    padding: 10px 15px;
  }
  div.home-mov .catch p {
    font-size: 1.8rem;
    padding: 10px 15px;
  }
  section.home-recruit div.box {
    margin-bottom: 0;
  }
  section.home-recruit div.box a {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 1080px) {
  article.home,
  section.home-recruit {
    width: 1080px;
    margin: 30px auto;
  }
  article.home .home-about02 div.txt,
  article.home .home-about03 div.txt,
  section.home-recruit .home-about02 div.txt,
  section.home-recruit .home-about03 div.txt {
    width: 360px;
  }
  section.home-recruit div.box {
    width: 490px;
    text-align: center;
    margin: 40px auto 0 auto;
  }
}
.mona-bg {
  background: url(../images/mona/page_bg.jpg) no-repeat center center;
}

.jyutaku-bg {
  background: url(../images/jyutaku/page_bg.jpg) no-repeat center center;
}

.products-bg {
  background: url(../images/products/page_bg.jpg) no-repeat center center;
}

.company-bg {
  background: url(../images/company/page_bg.jpg) no-repeat center center;
}

.recruit-bg {
  background: url(../images/recruit/page_bg.jpg) no-repeat center center;
}

.contact-bg {
  background: #1E293F;
}

.bg02 {
  background: url(../images/company/bg02.jpg) no-repeat bottom center;
  background-size: cover;
}

@media print, screen and (max-width: 1079px) {
  p.catch__txt01 {
    font-size: 1.6rem;
    padding: 15px 10px 0 10px;
    font-weight: bold;
    color: #87b4e1;
  }
}
.page-head {
  position: relative;
}
.page-head h2.pagettl {
  color: #fff;
  border-bottom: 1px solid #fff;
  padding: 40px 30px 0 30px;
  display: inline-block;
  margin: 0 auto;
  font-size: 3rem;
}

article.page {
  top: -100px;
  margin-bottom: -50px;
  position: relative;
}
article.page .page-top {
  margin-top: 60px;
  background-color: #fff;
  border: 1px solid #1E293F;
  padding: 40px;
}
article.page .page-top h3 {
  margin: 40px auto;
}
article.page .page-top p {
  line-height: 1.8;
  margin-bottom: 1rem;
}
article.page .page-top ul.check {
  list-style-type: none;
  margin: 2rem 1rem;
  padding: 20px;
  border-radius: 10px;
  border: 2px dotted #30618C;
  font-size: 1.8rem;
}
article.page .page-top ul.check li {
  position: relative;
  line-height: 1.6;
  margin: 0.5rem 0.5rem 0.8rem 2em;
  letter-spacing: 0.1em;
}
article.page .page-top ul.check li::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.5em;
  left: -1.5em;
  width: 10px;
  height: 5px;
  border-left: 3px solid #c00;
  border-bottom: 3px solid #c00;
  transform: rotate(-45deg);
}

section.mona01 {
  border: 1px solid #F2AC2A;
}
section.mona01 div.ttl {
  background-color: #F2AC2A;
}
section.mona01 div.txt {
  margin: 50px 0 0;
}
section.mona01 ol {
  color: #F15A24;
  font-size: 2.1rem;
}
section.mona01 table {
  border: 1px solid #666;
  color: #333;
  border-collapse: collapse;
  margin-top: 20px;
}
section.mona01 table th, section.mona01 table td {
  padding: 1rem 2rem;
  border: 1px solid #ccc;
  text-align: left;
  font-weight: normal;
}
section.mona01 table tr.rabo {
  background-color: #EFDCCA;
}
section.mona01 table tr.sokutei {
  background-color: #CCFFCC;
}

section.mona02 {
  border: 1px solid #F14B4B;
}
section.mona02 div.ttl {
  background-color: #F14B4B;
}
section.mona02 .main-img {
  margin: 50px auto 30px;
}
section.mona02 .exe {
  border-bottom: 1px dotted #666;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
section.mona02 .exe h5 {
  color: #30618C;
  margin-bottom: 30px;
  font-size: 1.8rem;
}
section.mona02 .exe:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
section.mona02 .exe ul {
  margin-top: 0;
}

section.mona03 {
  border: 1px solid #688DA4;
}
section.mona03 div.ttl {
  background-color: #688DA4;
}
section.mona03 table.flow {
  background: url(../images/mona/tuyomi_kanri_flow.png) bottom center no-repeat;
  padding-bottom: 70px;
}
section.mona03 table {
  margin-top: 25px;
  width: 100%;
}
section.mona03 table th {
  color: #86B3E0;
  text-align: left;
}
section.mona03 table tr.kanri-flow {
  border-collapse: collapse;
}
section.mona03 table tr.kanri-flow th, section.mona03 table tr.kanri-flow td {
  padding: 1rem 2rem;
  border: 1px solid #aaa;
}
section.mona03 table tr.kanri-flow th {
  width: 30%;
  background-color: #f8f8f8;
  color: #000;
}

section.mona04 {
  border: 1px solid #63C094;
}
section.mona04 div.ttl {
  background-color: #63C094;
}
section.mona04 div.setubi {
  margin: 50px 0 20px 0;
}
section.mona04 div.setubi-list {
  margin-top: 40px;
}
section.mona04 div.setubi-list p {
  padding: 15px;
}
section.mona04 div.setubi-list p span {
  display: block;
  text-align: right;
}
section.mona04 table {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #ccc;
  font-size: 1.3rem;
}
section.mona04 table caption {
  font-size: 1.6rem;
  text-align: left;
  margin: 5px;
}
section.mona04 table th, section.mona04 table td {
  padding: 1rem;
  border: 1px solid #ccc;
}
section.mona04 table th {
  background-color: #f8f8f8;
  text-align: left;
  font-weight: normal;
}

section.jyutaku02 div.ttl,
section.jyutaku03 div.ttl,
section.entry div.ttl {
  background-color: #30618C;
}
section.jyutaku02 p.img,
section.jyutaku03 p.img,
section.entry p.img {
  margin-top: 80px;
}

section.jyutaku05 div.ttl {
  background-color: #1E293F;
}
section.jyutaku05 p.img {
  margin: 50px 10px;
}
section.jyutaku05 div.flex p {
  width: 45%;
  margin: 1%;
  text-align: center;
  border: 1px solid #333;
  padding: 1%;
}

section.mona01,
section.mona02,
section.mona03,
section.mona04,
section.jyutaku01,
section.jyutaku02,
section.jyutaku03,
section.jyutaku05 {
  margin-top: 50px;
  margin-bottom: 50px;
  background-color: #fff;
}
section.mona01 table,
section.mona02 table,
section.mona03 table,
section.mona04 table,
section.jyutaku01 table,
section.jyutaku02 table,
section.jyutaku03 table,
section.jyutaku05 table {
  border-collapse: collapse;
}
section.mona01 div.ttl,
section.mona02 div.ttl,
section.mona03 div.ttl,
section.mona04 div.ttl,
section.jyutaku01 div.ttl,
section.jyutaku02 div.ttl,
section.jyutaku03 div.ttl,
section.jyutaku05 div.ttl {
  color: #fff;
  text-align: center;
  padding: 25px;
  font-size: 2.8rem;
  letter-spacing: 0.2rem;
}
section.mona01 strong,
section.mona02 strong,
section.mona03 strong,
section.mona04 strong,
section.jyutaku01 strong,
section.jyutaku02 strong,
section.jyutaku03 strong,
section.jyutaku05 strong {
  font-size: 1.8rem;
}
section.mona01 div.inner,
section.mona02 div.inner,
section.mona03 div.inner,
section.mona04 div.inner,
section.jyutaku01 div.inner,
section.jyutaku02 div.inner,
section.jyutaku03 div.inner,
section.jyutaku05 div.inner {
  padding: 20px 15px;
}
section.mona01 ul, section.mona01 ol,
section.mona02 ul,
section.mona02 ol,
section.mona03 ul,
section.mona03 ol,
section.mona04 ul,
section.mona04 ol,
section.jyutaku01 ul,
section.jyutaku01 ol,
section.jyutaku02 ul,
section.jyutaku02 ol,
section.jyutaku03 ul,
section.jyutaku03 ol,
section.jyutaku05 ul,
section.jyutaku05 ol {
  margin: 2rem 0 0 1.5em;
}
section.mona01 ul li, section.mona01 ol li,
section.mona02 ul li,
section.mona02 ol li,
section.mona03 ul li,
section.mona03 ol li,
section.mona04 ul li,
section.mona04 ol li,
section.jyutaku01 ul li,
section.jyutaku01 ol li,
section.jyutaku02 ul li,
section.jyutaku02 ol li,
section.jyutaku03 ul li,
section.jyutaku03 ol li,
section.jyutaku05 ul li,
section.jyutaku05 ol li {
  margin-bottom: 0.5rem;
}
section.mona01 ul,
section.mona02 ul,
section.mona03 ul,
section.mona04 ul,
section.jyutaku01 ul,
section.jyutaku02 ul,
section.jyutaku03 ul,
section.jyutaku05 ul {
  list-style-type: disc;
}
section.mona01 ol,
section.mona02 ol,
section.mona03 ol,
section.mona04 ol,
section.jyutaku01 ol,
section.jyutaku02 ol,
section.jyutaku03 ol,
section.jyutaku05 ol {
  list-style-type: decimal;
}
section.mona01 h4,
section.mona02 h4,
section.mona03 h4,
section.mona04 h4,
section.jyutaku01 h4,
section.jyutaku02 h4,
section.jyutaku03 h4,
section.jyutaku05 h4 {
  font-size: 2.4rem;
  margin: 40px 0 20px;
  color: #333;
}

.jyutaku01 table td {
  width: 50%;
}

section.jyutaku05 {
  background: none;
}

section.entry div.ttl {
  color: #fff;
  text-align: center;
  padding: 25px;
  font-size: 2.8rem;
  letter-spacing: 0.2rem;
  margin-bottom: 60px;
}

table.list,
table.youkou {
  border: 1px solid #ccc;
  width: 100%;
  margin-top: 10px;
  border-collapse: collapse;
}
table.list caption,
table.youkou caption {
  text-align: left;
  margin-bottom: 5px;
  font-weight: bold;
}
table.list th, table.list td,
table.youkou th,
table.youkou td {
  padding: 1rem;
  border: 1px solid #ccc;
  font-size: 1.4rem;
}
table.list th,
table.youkou th {
  background-color: #BCE8F3;
  font-weight: normal;
  text-align: left;
}

table.youkou th {
  background-color: #f9f9f2;
}

article.products .page-top {
  margin-bottom: 50px;
}
article.products .page-top .flex-pc {
  margin-top: 60px;
}
article.products .page-top h3 {
  margin: 0 0 1rem 0;
}
article.products .page-top h4 {
  color: #86B3E0;
  font-size: 1.8rem;
}
article.products .page-top .exlist img {
  padding: 3px;
  border: 1px solid #ccc;
}
article.products .page-top div.img {
  margin-bottom: 15px;
}
article.products .page-top div.img img {
  padding: 3px;
  border: 1px solid #ccc;
}

article.company h3 {
  color: #30618C;
  border-bottom: dotted 2px #30618C;
  font-size: 2.4rem;
  display: inline-block;
  padding: 0 30px 0 10px;
  margin-bottom: 20px;
}
article.company h4 {
  font-size: 1.8rem;
}
article.company .box {
  padding: 20px;
  border-radius: 10px;
  border: 2px solid #86B3E0;
  color: #86B3E0;
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 20px;
}
article.company ol {
  margin: 0 0 0.5rem 2em;
  list-style-type: decimal;
}
article.company ol li {
  margin-bottom: 0.6rem;
}
article.company table.list th {
  width: 30%;
}

.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

section.access h3 {
  text-align: left;
  margin: 20px 0 10px 0;
  font-size: 2.1rem;
}
section.access .honsha {
  margin-bottom: 50px;
}
section.access address {
  font-size: 1.8rem;
  margin: 1em;
}
section.access address table {
  font-size: 1.4rem;
  margin: 30px auto;
}
section.access address table th, section.access address table td {
  text-align: left;
  padding: 0.5rem;
}
section.access address table th {
  min-width: 4em;
}

.recruit .interview {
  margin: 50px 0;
}
.recruit li {
  padding: 5px;
}
.recruit .flex-pc div.txt {
  padding: 15px 0;
}
.recruit .flex-pc div.txt p.name {
  font-size: 2.4rem;
  margin-top: 10px;
}

.interview-single h4 {
  font-weight: normal;
  font-size: 2.4rem;
  margin: 1rem 0 2rem;
}
.interview-single .interview-entry {
  margin: 40px auto;
}

article.contact p.tel {
  padding-bottom: 40px;
}

@media print, screen and (max-width: 1079px) {
  .mona-bg,
  .jyutaku-bg,
  .products-bg,
  .company-bg,
  .recruit-bg,
  .contact-bg {
    background-size: cover;
    padding: 130px 0;
  }
  article.page .page-top {
    margin-top: 30px;
    padding: 20px;
  }
  article.page .page-top h3 {
    margin: 20px auto;
  }
  article.page .page-top .img {
    margin-top: 40px;
  }
  section.mona02 .exe .img {
    margin-bottom: 15px;
  }
  article.products .page-top .exlist p {
    width: 48%;
    margin: 1%;
  }
  .gallery {
    padding: 0 10px 40px 10px;
  }
  .gallery p {
    margin: 5px;
  }
  .recruit ul {
    justify-content: center;
    flex-wrap: wrap;
  }
  .recruit ul li {
    width: 30%;
  }
}
@media print, screen and (min-width: 1080px) {
  .mona-bg,
  .jyutaku-bg,
  .products-bg,
  .company-bg,
  .recruit-bg,
  .contact-bg {
    background-size: cover;
    padding: 170px 0 190px 0;
    margin-top: 90px;
  }
  .mona-bg h2.pagettl,
  .jyutaku-bg h2.pagettl,
  .products-bg h2.pagettl,
  .company-bg h2.pagettl,
  .recruit-bg h2.pagettl,
  .contact-bg h2.pagettl {
    font-size: 3.6rem;
  }
  article.page {
    padding: 10px 0;
    width: 970px;
    margin: 0 auto -100px auto;
    top: -150px;
  }
  .mona .page-top .img {
    margin-top: 100px;
  }
  section.mona01,
  section.mona02,
  section.mona03,
  section.mona04 {
    margin-top: 50px;
    margin-bottom: 100px;
  }
  section.mona01 div.inner,
  section.mona02 div.inner,
  section.mona03 div.inner,
  section.mona04 div.inner {
    padding: 35px;
  }
  section.mona01 div.txt {
    width: 515px;
  }
  section.mona01 div.img {
    padding-right: 20px;
  }
  section.mona02 .exe .img {
    width: 200px;
  }
  section.mona02 .exe w ul {
    width: 660px;
  }
  section.mona04 .setubi .list {
    width: 400px;
  }
  section.mona04 .setubi .img {
    padding-right: 40px;
  }
  section.jyutaku05 {
    width: 970px;
    margin: 0 auto;
  }
  article.products .page-top div.img {
    width: 225px;
  }
  article.products .page-top div.txt {
    width: 600px;
  }
  .gallery {
    width: 1080px;
    margin: 0 auto;
    padding: 40px 0;
  }
  .access {
    width: 980px;
    margin: 20px auto 0 auto;
  }
  .recruit .flex-pc div.txt {
    margin-left: 40px;
  }
  .recruit .flex-pc div.txt p.name {
    font-size: 3.2rem;
    margin-top: 10px;
  }
  .recruit li.interview01,
  .recruit li.interview04,
  .recruit li.interview06 {
    margin-top: 25px;
  }
  .recruit .interview-entry .flex-pc .img {
    width: 20%;
    margin: 0 20px 0 10px;
  }
  .recruit .interview-entry .flex-pc .txt {
    width: 70%;
  }
  section.entry {
    width: 970px;
    margin: 0 auto;
  }
}
body {
  font-size: 1.6rem;
}/*# sourceMappingURL=mona.css.map */


header img {
  width: 270px;
  margin: 5px;
}
.common-info img {
  width: 250px;
}