body {
  color: #00314B;
  font-size: 16px;
  left: 0;
  line-height: 1.618;
  overflow-x: hidden;
  position: absolute;
  width: 100%;
}

a {
  color: #3BBEE8;
  cursor: pointer;
  transition: .2s;
}

a:hover {
  color: #3BBEE8;
  opacity: .8;
}

h2 {
  color: #ffffff;
  font-size: 42px;
  font-weight: 900;
  margin: -24px 0 0;
  padding: 0 32px;
  position: absolute;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  top: 50%;
  width: 100%;
  z-index: 1;
}

h2 br {
  display: none;
}

h3 {
  color: #00171a;
  font-size: 28px;
  margin-bottom: 16px;
}

h3:after {
  background: linear-gradient(to right, #584c9e, #3abde7);
  content: "";
  display: block;
  height: 4px;
  margin-top: 16px;
  width: 100%;
}

h4 {
  font-size: 20px;
  font-weight: 900;
  margin: 24px 0 16px;
  padding-left: 32px;
  position: relative;
}

h4:before {
  background: linear-gradient(to right, #584c9e, #3abde7);
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  top: 10px;
  width: calc(32px - 8px);
}

hr {
  border: none;
  border-bottom: 1px dotted #dee0df;
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
  padding: 0;
}

.text-center {
  text-align: center;
}

.text-small {
  font-size: 12px;
}

.content {
  margin: 96px auto;
}

.service_box {
  display: table;
  width: 100%;
}

.service_box .service_box_left {
  display: table-cell;
  padding-right: 16px;
  vertical-align: top;
  width: 40%;
}

.service_box .service_box_left img {
  display: block;
  width: 100%;
}

.service_box .service_box_right {
  display: table-cell;
  vertical-align: top;
}

.movie {
  background: #dee0df;
  height: 300px;
  width: 400px;
}

.list_2col {
  list-style: none;
  padding: 0;
}

.list_2col li {
  border-bottom: 1px dotted #dee0df;
  display: table;
  padding: 16px 0;
  width: 100%;
}

.list_2col li .title {
  display: table-cell;
  vertical-align: top;
  width: 120px;
}

.list_2col li .text {
  display: table-cell;
  vertical-align: top;
}

.contactform {
  list-style: none;
  padding: 0;
}

.contactform li {
  display: table;
  padding: 8px 0;
  width: 100%;
}

.contactform li .title {
  display: table-cell;
  padding-top: 12px;
  vertical-align: top;
  width: 150px;
}

.contactform li .text {
  display: table-cell;
  vertical-align: top;
}

.contactform li .text input {
  width: 100%;
}

.contactform li .text textarea {
  height: 250px;
  width: 100%;
}

button {
  background: #3BBEE8;
  border: none;
  color: #ffffff;
  display: block;
  margin: 0 auto;
  padding: 16px;
  text-align: center;
  width: 50%;
}

button:hover {
  opacity: .8;
}

@media screen and (max-width: 640px) {
  h2 {
    font-size: 28px;
    margin: -48px 0 0;
    padding: 0 16px;
    top: 50%;
  }
  h2 br {
    display: block;
  }
  .content {
    margin: 48px auto;
  }
  .concept, .news, .about, .paint, .waterproof, .temporary, .house, .works_box {
    margin-bottom: 48px;
  }
}

input, select, textarea {
  border: 1px solid #dee0df;
  border-radius: 4px;
  padding: 8px;
  width: 100%;
}

.wpcf7-response-output {
  background: #f0f0f0;
  border-radius: 4px;
  margin: 0 0 16px;
  padding: 16px;
}

.wpcf7-response-output.wpcf7-response-output {
  margin: 0 0 16px;
  padding: 16px;
}

.wpcf7-response-output.wpcf7-validation-errors {
  border: none;
}

.wpcf7-submit {
  background: linear-gradient(-45deg, #584c9e, #3abde7);
  border: none;
  border-radius: 4px;
  color: #ffffff !important;
  cursor: pointer;
  display: block;
  font-size: 20px;
  font-weight: 600;
  margin: 0 auto;
  max-width: 300px;
  outline: none;
  padding: 16px;
  text-align: center;
  transition: .2s;
  width: 100%;
}

.wpcf7-submit:hover {
  opacity: .8;
  text-decoration: none;
}

.button {
  background: linear-gradient(-45deg, #584c9e, #3abde7);
  border: none;
  border-radius: 4px;
  color: #ffffff !important;
  cursor: pointer;
  display: block;
  font-size: 20px;
  font-weight: 600;
  margin: 0 auto;
  max-width: 300px;
  outline: none;
  padding: 16px;
  text-align: center;
  transition: .2s;
  width: 100%;
}

.button:hover {
  opacity: .8;
  text-decoration: none;
}

.rl-gallery-container {
  margin-bottom: 16px;
}

.rl-gallery-container .rl-gallery .rl-gallery-item {
  width: calc(25% - 2px) !important;
}

@media screen and (max-width: 767px) {
  .rl-gallery-container .rl-gallery .rl-gallery-item {
    width: calc(50% - 2px) !important;
  }
}

header {
  background: #ffffff;
  border-bottom: 1px solid #dee0df;
  padding: 16px 32px 0;
}

header .header_top {
  display: table;
  margin-bottom: 16px;
  width: 100%;
}

header .header_top .logo {
  display: table-cell;
  vertical-align: middle;
  width: 250px;
}

header .header_top .logo h1 {
  margin: 0;
}

header .header_top .logo h1 img {
  display: block;
  width: 100%;
}

header .header_top .logo h1:hover {
  opacity: .8;
}

header .header_top .tel {
  display: table-cell;
  text-align: right;
  vertical-align: middle;
}

header .header_top .tel img {
  display: inline-block;
  height: 20px;
}

header .header_top .trigger {
  display: none;
}

header .global_menu .menu_close {
  display: none;
}

header .global_menu nav ul {
  display: table;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 100%;
}

header .global_menu nav ul li {
  display: table-cell;
}

header .global_menu nav ul li a {
  border-bottom: 4px solid #ffffff;
  display: block;
  padding: 8px 0;
  width: 100%;
}

header .global_menu nav ul li a:hover {
  border-bottom: 4px solid #3BBEE8;
  text-decoration: none;
}

header .global_menu .dialog_bg {
  display: none;
}

@media screen and (max-width: 767px) {
  header {
    padding: 0;
  }
  header .header_top {
    margin: 0;
  }
  header .header_top .logo {
    display: table-cell;
    padding: 0 0 0 16px;
    width: 180px;
  }
  header .header_top .tel {
    display: none;
  }
  header .header_top .trigger {
    display: table-cell;
  }
  header .header_top .trigger a {
    border-left: 1px solid #dee0df;
    float: right;
    padding: 8px;
  }
  header .header_top .trigger a img {
    display: block;
    width: 48px;
  }
  header .global_menu nav {
    background: #ffffff;
    height: 100%;
    position: fixed;
    right: -280px;
    top: 0;
    transition: .2s;
    width: 280px;
    z-index: 11;
  }
  header .global_menu nav .menu_close {
    display: block;
    padding: 8px;
    text-align: right;
  }
  header .global_menu nav .menu_close img {
    display: inline-block;
    width: 48px;
  }
  header .global_menu nav ul {
    padding: 0;
  }
  header .global_menu nav ul li {
    display: block;
    padding: 16px;
    text-align: left;
  }
  header .global_menu nav ul li a {
    border: none;
    padding: 0;
  }
  header .global_menu .dialog_bg {
    background: rgba(0, 0, 0, 0.8);
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10;
  }
}

.hero {
  height: 550px;
  position: relative;
}

.hero ul {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.hero ul li {
  height: 550px;
  background-size: cover;
  width: 100%;
}

.hero ul li.hero1 {
  background: url(/wp-content/themes/westjapan/images/hero1.jpg) no-repeat center bottom;
}

.hero ul li.hero2 {
  background: url(/wp-content/themes/westjapan/images/hero2.jpg) no-repeat center center;
}

.hero ul li.hero3 {
  background: url(/wp-content/themes/westjapan/images/hero3.jpg) no-repeat center center;
}

.hero ul li.hero4 {
  background: url(/wp-content/themes/westjapan/images/hero4.jpg) no-repeat center top;
}

@media screen and (max-width: 1024px) {
  .hero {
    height: 450px;
  }
  .hero ul li {
    height: 450px;
  }
}

@media screen and (max-width: 640px) {
  .hero {
    height: 300px;
  }
  .hero ul li {
    height: 300px;
  }
}

.sidebar {
  padding-left: 16px;
}

.sidebar a {
  color: #ffffff;
  display: block;
  margin-bottom: 16px;
}

.sidebar a span {
  background: rgba(0, 0, 0, 0.2);
  display: block;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  padding: 32px;
}

.sidebar a:hover {
  text-decoration: none;
}

.sidebar a.paint {
  background: url(/wp-content/themes/westjapan/images/title-bg/paint.png) no-repeat center center/cover;
}

.sidebar a.waterproof {
  background: url(/wp-content/themes/westjapan/images/title-bg/waterproof.png) no-repeat center center/cover;
}

.sidebar a.temporary {
  background: url(/wp-content/themes/westjapan/images/title-bg/temporary.png) no-repeat center center/cover;
}

.sidebar a.repair {
  background: url(/wp-content/themes/westjapan/images/title-bg/repair.png) no-repeat center center/cover;
}

.sidebar a.house-renovation {
  background: url(/wp-content/themes/westjapan/images/title-bg/house-renovation.png) no-repeat center center/cover;
}

.sidebar a.building-maintenance {
  background: url(/wp-content/themes/westjapan/images/title-bg/building-maintenance.png) no-repeat center center/cover;
}

@media screen and (max-width: 767px) {
  .sidebar {
    margin-top: 48px;
    padding: 0;
  }
}

.category-list .category-detail {
  margin-bottom: 32px;
}

.category-list .category-detail .rl-gallery-container .rl-gallery .rl-gallery-item img {
  height: auto;
  width: 100%;
}

.page-navi {
  margin: 32px 0;
  text-align: center;
}

.page-navi .screen-reader-text {
  display: none;
}

.page-navi .nav-links {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.page-navi .nav-links .page-numbers {
  display: block;
  line-height: 1;
  padding: 8px;
  width: 32px;
}

.page-navi .nav-links .page-numbers.current {
  background: #3BBEE8;
  border-radius: 16px;
  color: #ffffff;
}

.accordion dt {
  background: url(/wp-content/themes/westjapan/images/icon/arrow-down-blue.svg) no-repeat right center/32px;
  cursor: pointer;
  display: flex;
  font-weight: 400;
  padding: 16px  32px 16px 0;
  transition: .2s;
}

.accordion dt .date {
  margin-right: 16px;
}

.accordion dt:hover {
  opacity: .8;
}

.accordion dt.open {
  background: url(/wp-content/themes/westjapan/images/icon/arrow-up-blue.svg) no-repeat right center/32px;
}

.accordion dd {
  overflow: hidden;
}

.accordion dd p {
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .accordion dt {
    display: block;
  }
  .accordion dt .date {
    display: block;
  }
}

.footer {
  color: #ffffff;
  background: #00314B;
  padding: 48px 32px;
  text-align: center;
}

.footer .footer_logo {
  margin-bottom: 48px;
}

.footer .footer_logo img {
  display: block;
  margin: 0 auto;
  width: 250px;
}

.footer .footer_menu {
  padding: 0;
}

.footer .footer_menu li {
  display: inline-block;
  margin: 0 16px;
}

.footer .footer_menu li a {
  color: #ffffff;
  text-decoration: underline;
}

.footer .credit p {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 32px 0;
  }
  .footer .footer_logo {
    margin-bottom: 32px;
  }
  .footer .footer_logo img {
    margin-bottom: 16px;
  }
}

.attachment {
  margin-bottom: 64px;
}

.attachment img {
  height: auto;
  width: 100%;
}

@media screen and (max-width: 640px) {
  .attachment {
    margin-bottom: 48px;
  }
}

#page-title {
  margin: 0;
}

#page-title h2 {
  background: rgba(0, 0, 0, 0.2);
  margin: 0;
  padding: 128px 16px;
  position: relative;
}

#page-title.examples {
  background: url(/wp-content/themes/westjapan/images/title-bg/examples.png) no-repeat center center/cover;
}

#page-title.voice {
  background: url(/wp-content/themes/westjapan/images/title-bg/voice.png) no-repeat center center/cover;
}

#page-title.flow {
  background: url(/wp-content/themes/westjapan/images/title-bg/flow.png) no-repeat center center/cover;
}

#page-title.area {
  background: url(/wp-content/themes/westjapan/images/title-bg/area.png) no-repeat center center/cover;
}

#page-title.about {
  background: url(/wp-content/themes/westjapan/images/title-bg/about.png) no-repeat center center/cover;
}

#page-title.contact {
  background: url(/wp-content/themes/westjapan/images/title-bg/contact.png) no-repeat center center/cover;
}

#page-title.recruit {
  background: url(/wp-content/themes/westjapan/images/title-bg/recruit.png) no-repeat center center/cover;
}

#page-title.recruit-form {
  background: url(/wp-content/themes/westjapan/images/title-bg/contact.png) no-repeat center center/cover;
}

.page.service #page-title {
  background: url(/wp-content/themes/westjapan/images/title-bg/service.png) no-repeat center center/cover;
}

.page.paint #page-title {
  background: url(/wp-content/themes/westjapan/images/title-bg/paint.png) no-repeat center center/cover;
}

.page.waterproof #page-title {
  background: url(/wp-content/themes/westjapan/images/title-bg/waterproof.png) no-repeat center center/cover;
}

.page.temporary #page-title {
  background: url(/wp-content/themes/westjapan/images/title-bg/temporary.png) no-repeat center center/cover;
}

.page.repair #page-title {
  background: url(/wp-content/themes/westjapan/images/title-bg/repair.png) no-repeat center center/cover;
}

.page.house-renovation #page-title {
  background: url(/wp-content/themes/westjapan/images/title-bg/house-renovation.png) no-repeat center center/cover;
}

.page.building-maintenance #page-title {
  background: url(/wp-content/themes/westjapan/images/title-bg/building-maintenance.png) no-repeat center center/cover;
}

@media screen and (max-width: 767px) {
  #page-title h2 {
    padding: 96px 16px;
  }
}

#page-body .spacer {
  margin-bottom: 16px;
}

#page-body.recruit .wp-block-table {
  border: 1px solid #dee0df;
  width: 100%;
}

#page-body.recruit .wp-block-table tr {
  border-bottom: 1px solid #dee0df;
}

#page-body.recruit .wp-block-table tr th {
  background: #f0f0f0;
  font-weight: 400;
  padding: 16px;
  width: 100px;
}

#page-body.recruit .wp-block-table tr td {
  padding: 16px;
}

#page-body.about .wp-block-table {
  border: 1px solid #dee0df;
  width: 100%;
}

#page-body.about .wp-block-table tr {
  border-bottom: 1px solid #dee0df;
}

#page-body.about .wp-block-table tr th {
  background: #f0f0f0;
  font-weight: 400;
  padding: 16px;
  width: 150px;
}

#page-body.about .wp-block-table tr td {
  padding: 16px;
}

#page-body.about .wp-block-columns .wp-block-column {
  margin: 0;
}

.page.service .service-items {
  margin-bottom: 48px;
  display: flex;
  flex-wrap: wrap;
}

.page.service .service-items h3 {
  width: 100%;
}

.page.service .service-items .img {
  height: 250px;
  width: 50%;
}

.page.service .service-items .img.paint {
  background: url(/wp-content/themes/westjapan/images/title-bg/paint.png) no-repeat center center/cover;
}

.page.service .service-items .img.waterproof {
  background: url(/wp-content/themes/westjapan/images/title-bg/waterproof.png) no-repeat center center/cover;
}

.page.service .service-items .img.temporary {
  background: url(/wp-content/themes/westjapan/images/title-bg/temporary.png) no-repeat center center/cover;
}

.page.service .service-items .img.repair {
  background: url(/wp-content/themes/westjapan/images/title-bg/repair.png) no-repeat center center/cover;
}

.page.service .service-items .img.house-renovation {
  background: url(/wp-content/themes/westjapan/images/title-bg/house-renovation.png) no-repeat center center/cover;
}

.page.service .service-items .img.building-maintenance {
  background: url(/wp-content/themes/westjapan/images/title-bg/building-maintenance.png) no-repeat center center/cover;
}

.page.service .service-items .text {
  padding-left: 16px;
  width: 50%;
}

.page.service .service-items .text .button {
  font-size: 16px;
  margin: 0;
  max-width: 200px;
  padding: 8px;
}

.page.service .service-items:last-child {
  margin: 0;
}

.page.paint .paint-table-container .paint-table {
  border: 1px solid #dee0df;
}

.page.paint .paint-table-container .paint-table li {
  border-bottom: 1px solid #dee0df;
  display: flex;
}

.page.paint .paint-table-container .paint-table li .type {
  border-right: 1px solid #dee0df;
  padding: 16px;
  width: 25%;
}

.page.paint .paint-table-container .paint-table li .year {
  border-right: 1px solid #dee0df;
  padding: 16px;
  width: 20%;
}

.page.paint .paint-table-container .paint-table li .merit {
  padding: 16px;
  width: 55%;
}

.page.paint .paint-table-container .paint-table li.title {
  background: #3BBEE8;
  color: white;
}

.page.paint .paint-table-container .paint-table li:last-child {
  border: none;
}

.page.paint .paint-example {
  border: 1px solid #dee0df;
  display: flex;
  margin-bottom: 16px;
}

.page.paint .paint-example .title {
  background: #f0f0f0;
  padding: 16px;
  text-align: center;
}

.page.paint .paint-example img {
  width: 100%;
}

.page.paint .paint-example .left {
  border-right: 1px solid #dee0df;
  width: 50%;
}

.page.paint .paint-example .right {
  width: 50%;
}

.page.waterproof .waterproof-table-container .waterproof-table {
  border: 1px solid #dee0df;
}

.page.waterproof .waterproof-table-container .waterproof-table li {
  border-bottom: 1px solid #dee0df;
  display: flex;
}

.page.waterproof .waterproof-table-container .waterproof-table li .type {
  border-right: 1px solid #dee0df;
  padding: 16px;
  width: 25%;
}

.page.waterproof .waterproof-table-container .waterproof-table li .year {
  border-right: 1px solid #dee0df;
  padding: 16px;
  width: 20%;
}

.page.waterproof .waterproof-table-container .waterproof-table li .merit {
  padding: 16px;
  width: 55%;
}

.page.waterproof .waterproof-table-container .waterproof-table li.title {
  background: #3BBEE8;
  color: white;
}

.page.waterproof .waterproof-table-container .waterproof-table li:last-child {
  border: none;
}

.page.waterproof .waterproof-why {
  margin-top: 48px;
}

.page.waterproof .waterproof-why .waterproof-example {
  border: 1px solid #dee0df;
  display: flex;
}

.page.waterproof .waterproof-why .waterproof-example .title {
  background: #f0f0f0;
  padding: 16px;
  text-align: center;
}

.page.waterproof .waterproof-why .waterproof-example img {
  width: 100%;
}

.page.waterproof .waterproof-why .waterproof-example .left {
  border-right: 1px solid #dee0df;
  width: 50%;
}

.page.waterproof .waterproof-why .waterproof-example .right {
  width: 50%;
}

.page.temporary .temporary-table-container .temporary-table {
  border: 1px solid #dee0df;
}

.page.temporary .temporary-table-container .temporary-table li {
  border-bottom: 1px solid #dee0df;
  display: flex;
}

.page.temporary .temporary-table-container .temporary-table li .type {
  border-right: 1px solid #dee0df;
  padding: 16px;
  width: 30%;
}

.page.temporary .temporary-table-container .temporary-table li .merit {
  padding: 16px;
  width: 70%;
}

.page.temporary .temporary-table-container .temporary-table li.title {
  background: #3BBEE8;
  color: white;
}

.page.temporary .temporary-table-container .temporary-table li:last-child {
  border: none;
}

.page.temporary .temporary-quality {
  margin-top: 48px;
}

.page.temporary .temporary-trable {
  margin-top: 48px;
}

.page.temporary .temporary-effective {
  margin-top: 48px;
}

.page.temporary .temporary-effective .temporary-example {
  border: 1px solid #dee0df;
  display: flex;
}

.page.temporary .temporary-effective .temporary-example .title {
  background: #f0f0f0;
  padding: 16px;
  text-align: center;
}

.page.temporary .temporary-effective .temporary-example img {
  width: 100%;
}

.page.temporary .temporary-effective .temporary-example .left {
  border-right: 1px solid #dee0df;
  width: 50%;
}

.page.temporary .temporary-effective .temporary-example .right {
  width: 50%;
}

.page.repair .repair-examples img {
  width: 100%;
}

.page.house-renovation .house-renovation-lineup {
  margin-top: 48px;
}

.page.house-renovation .house-renovation-lineup img {
  width: 100%;
}

.page.building-maintenance .building-maintenance-merit {
  margin-top: 48px;
}

.page.building-maintenance .building-maintenance-merit .building-maintenance-example {
  border: 1px solid #dee0df;
  display: flex;
}

.page.building-maintenance .building-maintenance-merit .building-maintenance-example .title {
  background: #f0f0f0;
  padding: 16px;
  text-align: center;
}

.page.building-maintenance .building-maintenance-merit .building-maintenance-example img {
  width: 100%;
}

.page.building-maintenance .building-maintenance-merit .building-maintenance-example .left {
  border-right: 1px solid #dee0df;
  width: 50%;
}

.page.building-maintenance .building-maintenance-merit .building-maintenance-example .right {
  width: 50%;
}

@media screen and (max-width: 767px) {
  #page-body.recruit .wp-block-table tr th {
    padding: 8px;
  }
  #page-body.recruit .wp-block-table tr td {
    padding: 8px;
  }
  #page-body.about .wp-block-table tr th {
    display: block;
    padding: 8px;
    width: 100%;
  }
  #page-body.about .wp-block-table tr td {
    display: block;
    padding: 8px;
    width: 100%;
  }
  .page.service .service-items {
    margin-bottom: 48px;
    display: block;
  }
  .page.service .service-items .img {
    height: 200px;
    margin: 0 0 16px;
    width: 100%;
  }
  .page.service .service-items .text {
    padding-left: 0;
    width: 100%;
  }
  .page.service .service-items .text .button {
    font-size: 16px;
    margin: 0 auto;
    max-width: 200px;
    padding: 16px;
  }
  .page.paint .paint-table-container {
    margin: 0 -16px;
    overflow-x: scroll;
    padding: 0 16px;
    -webkit-overflow-scrolling: touch;
  }
  .page.paint .paint-table-container .paint-table {
    width: 600px;
  }
  .page .waterproof .waterproof-table-container {
    margin: 0 -16px;
    overflow-x: scroll;
    padding: 0 16px;
    -webkit-overflow-scrolling: touch;
  }
  .page .waterproof .waterproof-table-container .waterproof-table {
    width: 600px;
  }
}
