@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");
*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*color*/
/*font*/
/*mediaquery-1*/
.cf {
  zoom: 1; }
  .cf:after {
    display: block;
    content: "";
    clear: both; }

.ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  -ms-text-overflow: ellipsis; }

.hidetext {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }

/*
	include style
===================================================*/
.ellipsis {
  width: 100%; }

/*
	general style
===================================================*/
*, *::after, *::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 62.5%;
  position: relative;
  height: 100%; }

body {
  font-size: 16px;
  font-size: 1.6rem;
  position: relative;
  color: #231815;
  font-family: "秀英にじみ丸ゴシック B", "A P-OTF 秀英にじみ丸ゴ Std", sans-serif;
  line-height: 1.6; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 13px;
      font-size: 1.3rem; } }

ol, ul {
  margin: 0;
  padding: 0; }

a {
  color: #231815;
  text-decoration: none;
  background-color: transparent;
  transition: .2s; }
  a:hover {
    color: #182987;
    opacity: 0.7; }

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

.wp-block-image img {
  max-width: 100%;
  height: auto; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

/*
	layout style
===================================================*/
@media screen and (max-width: 640px) {
  br.brpc {
    display: none; } }

br.brmd {
  display: none; }
  @media screen and (max-width: 768px) {
    br.brmd {
      display: block; } }
  @media screen and (max-width: 640px) {
    br.brmd {
      display: block; } }

br.brsp {
  display: none; }
  @media screen and (max-width: 640px) {
    br.brsp {
      display: block; } }

@media screen and (max-width: 768px) {
  .pcblock {
    display: none; } }

.mdblock {
  display: none; }
  @media screen and (max-width: 768px) {
    .mdblock {
      display: block; } }

.spblock {
  display: none; }
  @media screen and (max-width: 640px) {
    .spblock {
      display: block; } }

#wraper {
  overflow: hidden; }

body.archive #wraper {
  padding-top: 15%; }

main {
  width: calc(100% - 60px); }
  @media screen and (max-width: 768px) {
    main {
      width: 100%; } }

.inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 30px; }
  @media screen and (max-width: 768px) {
    .inner {
      max-width: 90%;
      width: 90%;
      padding: 0; } }

.mt10 {
  margin-top: 10px; }

.mb10 {
  margin-bottom: 10px; }

.mt20 {
  margin-top: 20px; }

.mb20 {
  margin-bottom: 20px; }

.mt30 {
  margin-top: 30px; }

.mb30 {
  margin-bottom: 30px; }

.mt40 {
  margin-top: 40px; }

.mb40 {
  margin-bottom: 40px; }

.m20auto {
  margin: 20px auto; }

.m20_0 {
  margin: 20px 0; }

.m50auto {
  margin: 5% auto; }

.center {
  text-align: center; }

.left {
  text-align: left; }

.right {
  text-align: right; }

.red {
  color: #F14A4A; }

/*
	Parts style
===================================================*/
.btn_link01 {
  text-align: center; }
  .btn_link01 a {
    display: inline-block;
    padding: .6em 3em .6em 3.2em;
    min-width: 260px;
    color: #fff;
    font-weight: bold;
    letter-spacing: .2em;
    background: #182987 url("../img/arrow_right.svg") no-repeat 90% center;
    background-size: 7px;
    border: 2px solid #182987;
    transition: .2s; }
    .btn_link01 a:hover {
      color: #182987;
      background: #fff url("../img/arrow_right_red.svg") no-repeat 90% center;
      background-size: 7px;
      transition: .2s; }
    @media screen and (max-width: 640px) {
      .btn_link01 a {
        padding: 1em 1em 1em 2em;
        font-size: 14px; } }

.more_link_cat {
  text-align: center; }
  .more_link_cat a {
    display: inline-block;
    padding: .6em 3em .6em 3.2em;
    min-width: 260px;
    color: #fff;
    font-weight: bold;
    letter-spacing: .2em;
    background: #182987 url("../img/arrow_right.svg") no-repeat 90% center;
    background-size: 7px;
    border: 2px solid #182987;
    transition: .2s; }
    .more_link_cat a:hover {
      color: #182987;
      background: #fff url("../img/arrow_right_red.svg") no-repeat 90% center;
      background-size: 7px;
      transition: .2s; }
    @media screen and (max-width: 640px) {
      .more_link_cat a {
        padding: 1em 1em 1em 2em;
        font-size: 14px; } }

/* wp-pagenavi

一覧ページ

*/
.wp-pagenavi {
  clear: both;
  margin: 10% auto 5%;
  text-align: left; }

.wp-pagenavi a, .wp-pagenavi span {
  color: #fff;
  background-color: #182987;
  border: 1px solid #182987;
  padding: 8px 15px !important;
  margin: 0 2px;
  white-space: nowrap;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none; }
  @media screen and (max-width: 640px) {
    .wp-pagenavi a, .wp-pagenavi span {
      padding: 8px 10px !important; } }

/*スマホはみ出し防止*/
@media screen and (max-width: 640px) {
  .wp-pagenavi span.pages {
    display: inline-block;
    margin-bottom: 15px; }

  .wp-pagenavi span.extend {
    display: none; } }
.wp-pagenavi a:hover {
  color: #182987;
  background-color: #eaeaea;
  border-color: #182987; }

.wp-pagenavi span.current {
  color: #231815;
  background-color: #eaeaea;
  border-color: #eaeaea;
  font-weight: bold; }

/* 
page_navigation

詳細ページ

*/
.page_navigation {
  width: 100%;
  margin: 4% auto;
  text-align: center; }
  .page_navigation nav {
    margin: 50px auto;
    padding: 30px 0;
    border-top: solid #182987 1px; }
  .page_navigation .nav-links {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .page_navigation .nav-links .nav-previous, .page_navigation .nav-links .nav-next {
      width: 40%;
      text-align: left; }
      .page_navigation .nav-links .nav-previous span, .page_navigation .nav-links .nav-next span {
        display: inline-block;
        width: 80%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-text-overflow: ellipsis;
        -o-text-overflow: ellipsis; }
    .page_navigation .nav-links a {
      text-decoration: none;
      font-size: 1.6rem;
      color: #182987;
      line-height: 1;
      text-align: left; }
      @media screen and (max-width: 768px) {
        .page_navigation .nav-links a {
          font-size: 1.3rem; } }
      .page_navigation .nav-links a i {
        font-size: 2rem;
        color: #182987; }
        @media screen and (max-width: 768px) {
          .page_navigation .nav-links a i {
            font-size: 1.3rem; } }
  .page_navigation .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0; }

/*********************************

loading

*********************************/
/* ローディング画面の背景 */
.loading {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: #182987;
  z-index: 9999; }

.loading__animation {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  -webkit-animation: loadinganimation 3000ms ease-out forwards infinite;
  animation: loadinganimation 3000ms ease-out forwards infinite; }

@keyframes loadinganimation {
  from, to {
    opacity: 0; }
  50% {
    opacity: .5; } }
/*トップスライド_zoom*/
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15); } }
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15); } }
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
  -webkit-animation: zoomUp 12s linear 0s;
  animation: zoomUp 12s linear 0s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.swiper-container_zoom {
  position: relative; }

.swiper-slide {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: relative; }

.slide-img {
  background-size: cover;
  background-position: center center;
  height: 100vh; }

.slide-text {
  position: absolute;
  z-index: 10;
  bottom: 60px;
  left: 60px;
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .slide-text {
      bottom: auto;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%); } }
  .slide-text figure {
    display: inline-block; }
    .slide-text figure img {
      width: 50vw;
      height: auto; }
      @media screen and (max-width: 768px) {
        .slide-text figure img {
          width: 70vw; } }

/*********************************

HEADER

*********************************/
/*オープニングカーテン*/
.top-op, .top-op2, .top-op3 {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 auto;
  width: 100%;
  height: 100vh; }

.top-op {
  z-index: 900;
  background: #e1e4e6;
  animation-duration: 1.2s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
  animation-name: top-op; }

.top-op2 {
  z-index: 1000;
  background: #f9f9f9;
  animation-duration: 0.7s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  animation-name: top-op2; }

.top-op3 {
  z-index: 800;
  background: #182987;
  animation-duration: 0.7s;
  animation-delay: 1.4s;
  animation-fill-mode: forwards;
  animation-name: top-op2; }

@keyframes top-op {
  0% {
    width: 100%;
    left: 0; }
  50% {
    width: 100%; }
  100% {
    width: 0%;
    left: 100%; } }
@keyframes top-op2 {
  0% {
    width: 100%;
    left: 0; }
  50% {
    width: 100%; }
  100% {
    width: 0%;
    left: 100%; } }
/*shutter*/
.shutter {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-color: #182987;
  z-index: 9999;
  -webkit-animation: byeShutter 2.4s forwards;
  animation: byeShutter 2.4s forwards; }

.logo {
  position: absolute;
  width: 120px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  -webkit-animation: logo 0.8s forwards;
  animation: logo 0.8s forwards;
  animation-delay: 0.2s; }

@keyframes byeShutter {
  0% {
    opacity: 1; }
  70% {
    opacity: 1; }
  100% {
    display: none;
    opacity: 0;
    z-index: -1; } }
@keyframes logo {
  0% {
    opacity: 1; }
  50% {
    transform: rotate(0deg); }
  100% {
    transform: scale(0.8); } }
header #site_name {
  display: inline-block;
  margin: 0;
  padding: 0;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100; }
  header #site_name a {
    display: block;
    padding: 35px 30px;
    width: 170px;
    background: #182987; }
    @media screen and (max-width: 768px) {
      header #site_name a {
        width: 70px;
        padding: 15px; } }
    header #site_name a img {
      width: 100%;
      height: auto; }

.sidebar {
  position: fixed;
  right: 0;
  top: 0;
  width: 60px;
  height: 100vh;
  background: #182987;
  color: #fff;
  z-index: 300; }
  @media screen and (max-width: 768px) {
    .sidebar {
      height: auto;
      background-color: transparent; } }

/*デスクトップお問い合わせボタン*/
.contact_pc {
  position: fixed;
  top: 0;
  right: 0;
  align-content: 300; }
  .contact_pc a {
    display: block;
    height: 60px;
    width: 160px;
    background-image: url("../img/contact_arrow.svg"), url("../img/bg_item03.png");
    background-repeat: no-repeat;
    background-size: 100px,cover;
    background-position: center; }

/*モバイルお問い合わせボタン*/
@media screen and (max-width: 768px) {
  .contact_sp {
    position: fixed;
    top: 0;
    right: 60px;
    align-content: 300; }
    .contact_sp a {
      display: block;
      height: 60px;
      width: 160px;
      background-image: url("../img/contact_arrow.svg"), url("../img/bg_item03.png");
      background-repeat: no-repeat;
      background-size: 100px,cover;
      background-position: center; } }

.c-circle {
  width: 300px;
  padding-bottom: 300px;
  position: relative;
  margin: auto; }
  .c-circle__view {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    overflow: visible; }
  .c-circle__1, .c-circle__2, .c-circle__3, .c-circle__4 {
    fill: transparent;
    stroke-width: 31.8309886184;
    stroke-dashoffset: 25; }
  .c-circle__1 {
    animation: one 5s infinite;
    stroke-dasharray: 16.6666666667, 83.3333333333, 0, 0;
    stroke: #182987; }
  .c-circle__2 {
    animation: two 5s infinite;
    stroke-dasharray: 0, 16.6666666667, 16.6666666667, 66.6666666667;
    stroke: #182987; }
  .c-circle__3 {
    animation: three 5s infinite;
    stroke-dasharray: 0, 33.3333333333, 41.6666666667, 25;
    stroke: blue; }
  .c-circle__4 {
    animation: four 5s infinite;
    stroke-dasharray: 0, 75, 25, 0;
    stroke: #aaaaaa; }

@-webkit-keyframes one {
  0% {
    stroke-dasharray: 0,0,0,100; }
  25% {
    stroke-dasharray: 16.6666666667, 83.3333333333, 0, 0; } }
@keyframes one {
  0% {
    stroke-dasharray: 0,0,0,100; }
  25% {
    stroke-dasharray: 16.6666666667, 83.3333333333, 0, 0; } }
@-webkit-keyframes two {
  0% {
    stroke-dasharray: 0,0,0,100; }
  50% {
    stroke-dasharray: 0, 16.6666666667, 16.6666666667, 66.6666666667; } }
@keyframes two {
  0% {
    stroke-dasharray: 0,0,0,100; }
  50% {
    stroke-dasharray: 0, 16.6666666667, 16.6666666667, 66.6666666667; } }
@-webkit-keyframes three {
  0% {
    stroke-dasharray: 0,0,0,100; }
  50% {
    stroke-dasharray: 0, 33.3333333333, 41.6666666667, 25; } }
@keyframes three {
  0% {
    stroke-dasharray: 0,0,0,100; }
  50% {
    stroke-dasharray: 0, 33.3333333333, 41.6666666667, 25; } }
@-webkit-keyframes four {
  0% {
    stroke-dasharray: 0,0,0,100; }
  50% {
    stroke-dasharray: 0, 33.3333333333, 41.6666666667, 0; } }
@keyframes four {
  0% {
    stroke-dasharray: 0,0,0,100; }
  50% {
    stroke-dasharray: 0, 75, 25, 0; } }
/*ハンバーガーメニュー*/
.menuToggle_txt {
  position: absolute;
  bottom: -22px;
  font-size: 10px;
  display: inline-block;
  margin: auto;
  width: 100%;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .menuToggle_txt {
      display: none !important; } }

.menuToggle_wrap {
  width: 100%;
  position: relative;
  top: calc(50vh - 40px); }
  @media screen and (max-width: 768px) {
    .menuToggle_wrap {
      background: #fff;
      top: 0; } }
  .menuToggle_wrap:hover {
    cursor: pointer; }

.menuToggle {
  transition: opacity .3s;
  cursor: pointer;
  height: 40px;
  margin: 0 auto;
  width: 10px; }
  @media screen and (max-width: 768px) {
    .menuToggle {
      width: 60px;
      height: 60px;
      top: 0; } }
  .menuToggle .menuToggle_bar {
    position: relative; }
    @media screen and (max-width: 768px) {
      .menuToggle .menuToggle_bar {
        top: 20px; } }
    .menuToggle .menuToggle_bar::before {
      background-color: #fff;
      content: "";
      height: 40px;
      position: absolute;
      top: 0;
      left: 0;
      transition: .6s ease-in-out;
      width: 1px; }
      @media screen and (max-width: 768px) {
        .menuToggle .menuToggle_bar::before {
          background-color: #182987;
          height: 1px;
          width: 30px;
          left: 15px; } }
    .menuToggle .menuToggle_bar::after {
      background-color: #fff;
      content: "";
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      transition: .6s ease-in-out;
      width: 1px; }
      @media screen and (max-width: 768px) {
        .menuToggle .menuToggle_bar::after {
          background-color: #182987;
          height: 1px;
          width: 30px;
          top: 10px;
          right: 15px; } }
  .menuToggle.active .menuToggle_bar::before {
    height: 35px;
    transform: rotate(-45deg) translate(1px, 6px); }
    @media screen and (max-width: 768px) {
      .menuToggle.active .menuToggle_bar::before {
        height: 1px;
        transform: rotate(-45deg) translate(-6px, 8px); } }
  .menuToggle.active .menuToggle_bar::after {
    height: 35px;
    transform: rotate(45deg) translate(-1px, 6px); }
    @media screen and (max-width: 768px) {
      .menuToggle.active .menuToggle_bar::after {
        height: 1px;
        transform: rotate(45deg) translate(1px, -1px); } }

.snsLink {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  bottom: 30px; }
  @media screen and (max-width: 768px) {
    .snsLink {
      display: none; } }
  .snsLink ul li {
    list-style-type: none;
    text-align: center;
    margin-top: 10px; }
    .snsLink ul li a {
      color: #fff; }
      .snsLink ul li a i {
        font-size: 20px; }

.menuBg {
  transition: all 1s; }
  .menuBg.active {
    background-color: rgba(0, 0, 0, 0.3);
    top: 0;
    content: "";
    left: 0;
    opacity: 1;
    right: 0;
    height: 100vh;
    width: 100%;
    z-index: 100;
    position: fixed; }

.menuLists {
  position: fixed;
  background: #182987;
  z-index: 200;
  top: 0;
  right: -120%;
  width: 70%;
  height: 100vh;
  transition: all 1s;
  overflow: auto;
  word-break: break-all; }
  @media screen and (max-width: 768px) {
    .menuLists {
      width: 100%; } }
  .menuLists.active {
    display: block;
    right: 59px; }
    @media screen and (max-width: 768px) {
      .menuLists.active {
        right: 0; } }
  .menuLists .lists_wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .menuLists .lists_wrap {
        padding: 55px 15px 0; } }
    .menuLists .lists_wrap ul {
      padding: 60px 60px 0;
      width: 48%; }
      @media screen and (max-width: 768px) {
        .menuLists .lists_wrap ul {
          padding: 0; } }
      .menuLists .lists_wrap ul li {
        list-style-type: none;
        text-align: left;
        margin: 20px 0; }
        .menuLists .lists_wrap ul li:last-child {
          margin-bottom: 0; }
        @media screen and (max-width: 768px) {
          .menuLists .lists_wrap ul li {
            padding: 0 5px; } }
        .menuLists .lists_wrap ul li ul.sub_menu {
          padding: 0;
          width: 100%;
          margin-top: 20px; }
          .menuLists .lists_wrap ul li ul.sub_menu li {
            margin: 10px 0;
            width: 100%; }
            @media screen and (max-width: 768px) {
              .menuLists .lists_wrap ul li ul.sub_menu li a {
                font-size: 1.3rem;
                display: inline-block; } }
        .menuLists .lists_wrap ul li ul.mt50 {
          margin-top: 50px; }
        .menuLists .lists_wrap ul li a {
          color: #fff;
          letter-spacing: .1em;
          display: inline-block; }
          .menuLists .lists_wrap ul li a p {
            margin: 0; }
          .menuLists .lists_wrap ul li a .en {
            font-size: 2.8rem;
            color: #a3a3a3; }
            @media screen and (max-width: 768px) {
              .menuLists .lists_wrap ul li a .en {
                font-size: 1.4rem; } }
          .menuLists .lists_wrap ul li a .ja {
            font-size: 1.4rem; }
            @media screen and (max-width: 768px) {
              .menuLists .lists_wrap ul li a .ja {
                font-size: 1.3rem; } }
  .menuLists .menu_snsLink {
    margin-top: 30px;
    text-align: center; }
    .menuLists .menu_snsLink ul {
      display: inline-block;
      margin: 0 auto; }
      .menuLists .menu_snsLink ul li {
        list-style-type: none;
        text-align: center;
        float: left;
        margin: 0 10px; }
        .menuLists .menu_snsLink ul li a {
          color: #fff; }
          .menuLists .menu_snsLink ul li a i {
            font-size: 25px; }

/*カウント*/
.num_info {
  font-size: 3vw;
  letter-spacing: 0.1em;
  margin-left: 10vw;
  color: #182987;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (max-width: 768px) {
    .num_info {
      font-size: 1.8rem;
      margin-left: 0; } }
  .num_info strong {
    font-size: 10vw;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .num_info strong {
        font-size: 4.5rem; } }
  .num_info span.sm {
    font-size: 1.5vw;
    display: inline-block; }
    @media screen and (max-width: 768px) {
      .num_info span.sm {
        font-size: 1.3rem; } }

#top_page {
  /*works*/
  /*business*/
  /*news*/
  /*outline*/
  /*Youtube*/
  /*gmap*/ }
  #top_page img {
    width: 100%;
    height: auto; }
  #top_page figure {
    margin: 0; }
  #top_page h2, #top_page h3, #top_page h4 {
    margin: 0; }
  #top_page .more_link {
    text-align: center;
    margin: 5% auto; }
    @media screen and (max-width: 640px) {
      #top_page .more_link {
        text-align: left; } }
    #top_page .more_link a {
      display: inline-block;
      width: 260px; }
      @media screen and (max-width: 640px) {
        #top_page .more_link a {
          width: 200px; } }
  #top_page .intro {
    padding: 10% 0;
    text-align: center;
    color: #182987;
    background: url("../img/bg_item01.png") no-repeat right 90%;
    background-size: 30%; }
    #top_page .intro figure.intro__logo {
      width: 15vw;
      margin: 5% auto; }
      @media screen and (max-width: 768px) {
        #top_page .intro figure.intro__logo {
          width: 100px;
          margin: 10% auto; } }
    #top_page .intro h2 {
      font-size: 2.8vw;
      margin: 5% auto; }
      @media screen and (max-width: 768px) {
        #top_page .intro h2 {
          font-size: 2rem;
          margin: 10% auto;
          line-height: 2em; } }
    #top_page .intro h3 {
      color: #231815;
      margin: 5% auto;
      font-size: 2rem;
      line-height: 2;
      margin-bottom: 20%; }
      @media screen and (max-width: 768px) {
        #top_page .intro h3 {
          width: 100%;
          font-size: 1.6rem;
          text-align: left; } }
  #top_page .about {
    margin-top: -20%;
    background-image: url("../img/bg_item02.png"), url("../img/bg_item04.png");
    background-repeat: no-repeat;
    background-size: 25%,25%;
    background-position: 10% top,95% center; }
    #top_page .about .about_block1 {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-bottom: 20%;
      margin-top: 20%; }
      @media screen and (max-width: 768px) {
        #top_page .about .about_block1 {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-align-items: flex-start;
          -ms-flex-align: start;
          align-items: flex-start;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          flex-wrap: wrap-reverse; } }
      #top_page .about .about_block1 .lt {
        width: 48%;
        padding-left: 30px; }
        @media screen and (max-width: 768px) {
          #top_page .about .about_block1 .lt {
            position: relative;
            width: 90%;
            padding-left: 0;
            margin-top: -5%; } }
        #top_page .about .about_block1 .lt h2 {
          margin-bottom: 30px; }
        #top_page .about .about_block1 .lt h3 {
          font-size: 2rem;
          line-height: 2em; }
          @media screen and (max-width: 768px) {
            #top_page .about .about_block1 .lt h3 {
              font-size: 1.6rem; } }
      #top_page .about .about_block1 .rt {
        width: 48%; }
        @media screen and (max-width: 768px) {
          #top_page .about .about_block1 .rt {
            width: 100%; } }
    #top_page .about .about_block2 {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-bottom: 10%; }
      #top_page .about .about_block2 .vertical_area {
        writing-mode: vertical-rl;
        margin-top: -3%;
        padding-right: 5%;
        background: url("../img/about_img02.jpg") no-repeat left bottom;
        background-size: 70%;
        width: 100%;
        padding-bottom: 15%;
        padding-right: 15%; }
        @media screen and (max-width: 1200px) {
          #top_page .about .about_block2 .vertical_area {
            padding-right: 5%; } }
  @media screen and (max-width: 1200px) and (max-width: 768px) {
    #top_page .about .about_block2 .vertical_area {
      padding-right: 0;
      padding-bottom: 8%;
      background-size: 80%; } }

        #top_page .about .about_block2 .vertical_area .vertical_txt {
          display: block; }
          #top_page .about .about_block2 .vertical_area .vertical_txt figure {
            display: inline-block;
            background: #182987;
            padding: 15px 10px;
            margin: 0 12px; }
            @media screen and (max-width: 640px) {
              #top_page .about .about_block2 .vertical_area .vertical_txt figure {
                margin: 0 8px; } }
          #top_page .about .about_block2 .vertical_area .vertical_txt img {
            display: block;
            height: auto;
            width: 3vw; }
            @media screen and (max-width: 640px) {
              #top_page .about .about_block2 .vertical_area .vertical_txt img {
                width: 15px; } }
    #top_page .about .about_block3 .about_block3_txt {
      text-align: center;
      line-height: 2em;
      color: #fff;
      padding: 15% 0;
      background: url("../img/bg_item05.jpg") no-repeat center bottom;
      background-size: cover;
      margin-top: -10%;
      font-size: 2.8rem; }
      @media screen and (max-width: 640px) {
        #top_page .about .about_block3 .about_block3_txt {
          font-size: 2rem; } }
    #top_page .about .about_block3 .about_menu {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      position: relative;
      z-index: 1; }
      #top_page .about .about_block3 .about_menu .box {
        border: 10px solid #182987;
        width: 250px;
        height: 250px;
        margin: 20px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        color: #182987;
        text-align: center;
        font-size: 4rem;
        letter-spacing: .08em; }
        @media screen and (max-width: 640px) {
          #top_page .about .about_block3 .about_menu .box {
            border: 3px solid #182987;
            font-size: 2rem;
            width: calc(100% / 3);
            height: auto;
            margin: 5px;
            padding: 8% 0; } }
        #top_page .about .about_block3 .about_menu .box span {
          display: block;
          font-size: .5em; }
          @media screen and (max-width: 640px) {
            #top_page .about .about_block3 .about_menu .box span {
              font-size: 1.1rem; } }
  #top_page .works {
    position: relative;
    overflow: hidden;
    padding: 15% 0;
    margin-top: 15%; }
    #top_page .works .ttl_area {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      position: absolute;
      top: 0;
      width: 100%;
      left: 0; }
      #top_page .works .ttl_area h2 {
        width: 70%; }
      #top_page .works .ttl_area .vertical_area {
        writing-mode: vertical-rl;
        width: 25%; }
        #top_page .works .ttl_area .vertical_area .vertical_txt {
          display: block; }
          #top_page .works .ttl_area .vertical_area .vertical_txt figure {
            display: inline-block;
            background: #182987;
            padding: 15px 10px;
            margin: 0 12px; }
            @media screen and (max-width: 640px) {
              #top_page .works .ttl_area .vertical_area .vertical_txt figure {
                margin: 0 8px; } }
          #top_page .works .ttl_area .vertical_area .vertical_txt img {
            display: block;
            height: auto;
            width: 3vw; }
            @media screen and (max-width: 640px) {
              #top_page .works .ttl_area .vertical_area .vertical_txt img {
                width: 15px; } }
    #top_page .works .txt_area {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 5% auto;
      line-height: 2;
      font-size: 2rem; }
      @media screen and (max-width: 640px) {
        #top_page .works .txt_area {
          margin: 10% auto;
          font-size: 1.6rem; } }
      #top_page .works .txt_area .lt {
        width: 48%; }
        @media screen and (max-width: 640px) {
          #top_page .works .txt_area .lt {
            width: 100%; } }
      #top_page .works .txt_area .rt {
        width: 48%; }
        @media screen and (max-width: 640px) {
          #top_page .works .txt_area .rt {
            width: 100%; } }
  #top_page .business h2 {
    width: 90%;
    margin: auto; }
  #top_page .business .txt {
    font-size: 2rem;
    line-height: 2; }
    @media screen and (max-width: 640px) {
      #top_page .business .txt {
        font-size: 1.6rem; } }
  #top_page .business ul {
    margin: 10% 0; }
    #top_page .business ul li {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding-bottom: 10%;
      margin-bottom: 5%; }
      @media screen and (max-width: 640px) {
        #top_page .business ul li {
          padding-bottom: 0;
          margin-bottom: 20%; } }
      #top_page .business ul li.b_menu01 {
        background: url("../img/b_menu01.jpg") no-repeat left top;
        background-size: 60%; }
        @media screen and (max-width: 640px) {
          #top_page .business ul li.b_menu01 {
            padding-bottom: 35%;
            background: url("../img/b_menu01.jpg") no-repeat left bottom;
            background-size: 70%; } }
        #top_page .business ul li.b_menu01 .txt_area {
          width: 50%; }
          @media screen and (max-width: 640px) {
            #top_page .business ul li.b_menu01 .txt_area {
              width: 90%;
              margin: 0 auto; } }
          #top_page .business ul li.b_menu01 .txt_area .txt {
            width: 65%; }
            @media screen and (max-width: 640px) {
              #top_page .business ul li.b_menu01 .txt_area .txt {
                width: 100%;
                padding-left: 25%;
                margin-top: -5%; } }
      #top_page .business ul li.b_menu02 {
        background: url("../img/b_menu02.jpg") no-repeat left top;
        background-size: 60%; }
        @media screen and (max-width: 640px) {
          #top_page .business ul li.b_menu02 {
            padding-bottom: 35%;
            background: url("../img/b_menu02.jpg") no-repeat left bottom;
            background-size: 70%; } }
        #top_page .business ul li.b_menu02 .txt_area {
          width: 60%; }
          @media screen and (max-width: 640px) {
            #top_page .business ul li.b_menu02 .txt_area {
              width: 90%;
              margin: 0 auto; } }
          #top_page .business ul li.b_menu02 .txt_area .txt {
            width: 54%;
            margin-top: -8%; }
            @media screen and (max-width: 640px) {
              #top_page .business ul li.b_menu02 .txt_area .txt {
                width: 100%;
                padding-left: 18%;
                margin-top: -10%; } }
      #top_page .business ul li.b_menu03 {
        background: url("../img/b_menu03.jpg") no-repeat left top;
        background-size: 60%; }
        @media screen and (max-width: 640px) {
          #top_page .business ul li.b_menu03 {
            padding-bottom: 35%;
            background: url("../img/b_menu03.jpg") no-repeat left bottom;
            background-size: 70%; } }
        #top_page .business ul li.b_menu03 .txt_area {
          width: 72%; }
          @media screen and (max-width: 640px) {
            #top_page .business ul li.b_menu03 .txt_area {
              width: 90%;
              margin: 0 auto; } }
          #top_page .business ul li.b_menu03 .txt_area .txt {
            width: 45%;
            margin-top: -15%; }
            @media screen and (max-width: 640px) {
              #top_page .business ul li.b_menu03 .txt_area .txt {
                width: 100%;
                padding-left: 18%;
                margin-top: -20%; } }
      #top_page .business ul li.b_menu04 {
        background: url("../img/b_menu04.jpg") no-repeat left top;
        background-size: 60%; }
        @media screen and (max-width: 640px) {
          #top_page .business ul li.b_menu04 {
            padding-bottom: 35%;
            background: url("../img/b_menu04.jpg") no-repeat left bottom;
            background-size: 70%; } }
        #top_page .business ul li.b_menu04 .txt_area {
          width: 50%; }
          @media screen and (max-width: 640px) {
            #top_page .business ul li.b_menu04 .txt_area {
              width: 90%;
              margin: 0 auto; } }
          #top_page .business ul li.b_menu04 .txt_area .txt {
            width: 65%;
            margin-top: -30%; }
            @media screen and (max-width: 640px) {
              #top_page .business ul li.b_menu04 .txt_area .txt {
                width: 100%;
                padding-left: 22%;
                margin-top: -35%; } }
      #top_page .business ul li .txt_area {
        margin-right: 5%;
        margin-top: -5%; }
        @media screen and (max-width: 640px) {
          #top_page .business ul li .txt_area {
            width: 90%;
            margin: 0 auto; } }
        #top_page .business ul li .txt_area .txt {
          float: right;
          margin-bottom: 10%; }
          @media screen and (max-width: 640px) {
            #top_page .business ul li .txt_area .txt {
              width: 100%;
              padding: 5% 0;
              margin-top: 0; } }
        #top_page .business ul li .txt_area .more_link {
          text-align: left;
          margin-left: -20%;
          margin-top: 10%; }
          @media screen and (max-width: 640px) {
            #top_page .business ul li .txt_area .more_link {
              margin: 5% auto; } }
          #top_page .business ul li .txt_area .more_link a {
            width: 50%; }
            @media screen and (max-width: 640px) {
              #top_page .business ul li .txt_area .more_link a {
                width: 70%; } }
  #top_page .news {
    background: url("../img/bg_item06.jpg") no-repeat right bottom;
    background-size: 70% 70%;
    padding-bottom: 5%;
    margin: 5% auto; }
    #top_page .news h2 {
      width: 50%; }
    #top_page .news article ul {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: stretch;
      width: 100%;
      margin: 5% auto; }
      #top_page .news article ul li {
        width: 32%;
        list-style-type: none;
        border: 1px solid #182987;
        background: #fff; }
        @media screen and (max-width: 640px) {
          #top_page .news article ul li {
            background: url("../img/more_link2.svg") no-repeat 95% 95% #fff;
            width: 100%;
            margin-bottom: 30px; } }
        #top_page .news article ul li a {
          display: block;
          padding-bottom: 30px;
          background: url("../img/more_link2.svg") no-repeat 85% 95% #fff;
          background-size: 120px;
          height: 100%; }
          @media screen and (max-width: 640px) {
            #top_page .news article ul li a {
              background-size: 100px;
              padding-bottom: 10%; } }
          #top_page .news article ul li a figure {
            padding: 15px; }
            #top_page .news article ul li a figure img {
              width: 100%;
              height: 200px;
              object-fit: cover; }
              @media screen and (max-width: 768px) {
                #top_page .news article ul li a figure img {
                  height: 150px; } }
              @media screen and (max-width: 640px) {
                #top_page .news article ul li a figure img {
                  height: 30vh; } }
          #top_page .news article ul li a h3 {
            background: #182987;
            color: #fff;
            padding: .5em 1em;
            width: 80%;
            position: relative;
            margin-top: -30px;
            font-size: 1.6rem;
            height: 4em; }
            @media screen and (max-width: 768px) {
              #top_page .news article ul li a h3 {
                font-size: 1.6rem;
                width: 90%; } }
          #top_page .news article ul li a .txt {
            padding: 15px;
            font-size: 1.4rem; }
            @media screen and (max-width: 768px) {
              #top_page .news article ul li a .txt {
                font-size: 1.3rem;
                padding: 15px 15px 30px; } }
            #top_page .news article ul li a .txt .flex2 {
              display: -webkit-flex;
              display: -ms-flexbox;
              display: flex;
              -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
              justify-content: flex-start;
              -webkit-align-items: flex-start;
              -ms-flex-align: start;
              align-items: flex-start; }
              #top_page .news article ul li a .txt .flex2 time {
                color: #182987;
                font-size: 1.4rem; }
                @media screen and (max-width: 768px) {
                  #top_page .news article ul li a .txt .flex2 time {
                    font-size: 1.1rem; } }
              #top_page .news article ul li a .txt .flex2 .cat_icon span {
                display: inline-block;
                margin-left: 1em;
                color: #182987;
                padding: 0.4em .8em;
                font-size: 1.3rem;
                line-height: 1; }
                #top_page .news article ul li a .txt .flex2 .cat_icon span.blog_icon {
                  background: #4adfe8; }
                #top_page .news article ul li a .txt .flex2 .cat_icon span.news_icon {
                  background: #b7e75b; }
  #top_page .outline {
    margin: 5% 0; }
    #top_page .outline .outline_area {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: stretch;
      border-top: 2px solid #182987;
      border-bottom: 2px solid #182987;
      background: #182987;
      letter-spacing: 0.1em; }
      #top_page .outline .outline_area .lt {
        width: 50%;
        align-self: center;
        text-align: center; }
        #top_page .outline .outline_area .lt a {
          display: inline-block; }
          #top_page .outline .outline_area .lt a h2 {
            display: inline-block;
            font-size: 3.2rem;
            text-align: center;
            color: #fff;
            padding-bottom: 30px;
            background: url("../img/more_link3_on.svg") no-repeat center bottom;
            background-size: 32px; }
            @media screen and (max-width: 768px) {
              #top_page .outline .outline_area .lt a h2 {
                font-size: 2.4rem; } }
            #top_page .outline .outline_area .lt a h2 span {
              font-size: 1.5rem;
              display: block; }
        @media screen and (max-width: 768px) {
          #top_page .outline .outline_area .lt {
            width: 100%;
            padding: 20px 0; } }
      #top_page .outline .outline_area .rt {
        width: 50%; }
        @media screen and (max-width: 768px) {
          #top_page .outline .outline_area .rt {
            width: 100%; } }
        #top_page .outline .outline_area .rt ul {
          margin: 0; }
          #top_page .outline .outline_area .rt ul li {
            list-style-type: none;
            border-bottom: 2px solid #182987; }
            #top_page .outline .outline_area .rt ul li:last-child {
              border-bottom: none; }
            #top_page .outline .outline_area .rt ul li a {
              display: block;
              color: #182987;
              font-size: 2.8rem;
              background: url("../img/more_link3.svg") no-repeat 40px center #fff;
              background-size: 32px;
              padding: 20px 15px 20px 120px; }
              @media screen and (max-width: 768px) {
                #top_page .outline .outline_area .rt ul li a {
                  font-size: 2rem;
                  background-size: 20px;
                  padding: 15px 10px 15px 100px; } }
              #top_page .outline .outline_area .rt ul li a span {
                font-size: 1.5rem;
                color: #000;
                display: block; }
              #top_page .outline .outline_area .rt ul li a:hover {
                background: url("../img/more_link3_on.svg") no-repeat 40px center #182987;
                background-size: 40px;
                color: #fff;
                opacity: 1; }
                @media screen and (max-width: 768px) {
                  #top_page .outline .outline_area .rt ul li a:hover {
                    background-size: 30px; } }
                #top_page .outline .outline_area .rt ul li a:hover span {
                  color: #fff; }
  #top_page .youtube .yt {
    position: relative;
    padding-top: 56.25%;
    margin: 0 auto; }
    #top_page .youtube .yt iframe {
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%; }
    #top_page .youtube .yt .yt_link {
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%; }
      #top_page .youtube .yt .yt_link a {
        display: block; }
        #top_page .youtube .yt .yt_link a:hover {
          opacity: 1; }
        #top_page .youtube .yt .yt_link a:hover .play_icon {
          width: 100px; }
        #top_page .youtube .yt .yt_link a .play_icon {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translateY(-50%) translateX(-50%);
          -webkit-transform: translateY(-50%) translateX(-50%);
          width: 80px;
          z-index: 1;
          transition: .2s; }
          #top_page .youtube .yt .yt_link a .play_icon img {
            width: 100%;
            height: auto; }
  #top_page .gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 36.25%;
    position: relative; }
    @media screen and (max-width: 768px) {
      #top_page .gmap {
        padding-bottom: 56.25%; } }
  #top_page .gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%; }

/*********************************

sub_page

*********************************/
.breadcrumbs {
  width: 100%;
  font-size: 12px;
  letter-spacing: 0.05em;
  margin: 50px 0; }
  @media screen and (max-width: 768px) {
    .breadcrumbs {
      margin: 20px 0; } }
  .breadcrumbs .archive {
    color: #182987; }

body.category #wraper {
  padding-top: 200px; }
  @media screen and (max-width: 768px) {
    body.category #wraper {
      padding-top: 100px; } }

/*採用情報・会社概要*/
body.recruit, body.company {
  /*gmap*/ }
  body.recruit img, body.company img {
    width: 100%;
    height: auto; }
  body.recruit ul.item_list, body.company ul.item_list {
    margin-left: 1em;
    line-height: 2em; }
    body.recruit ul.item_list li a, body.company ul.item_list li a {
      text-decoration: underline; }
  body.recruit .gmap, body.company .gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 36.25%;
    position: relative; }
    @media screen and (max-width: 768px) {
      body.recruit .gmap, body.company .gmap {
        padding-bottom: 56.25%; } }
  body.recruit .gmap iframe, body.company .gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100% !important;
    width: 100% !important; }
  body.recruit h2, body.company h2 {
    color: #fff;
    padding: 1rem 2rem;
    background: #029FFD;
    font-size: 2.8rem; }
    @media screen and (max-width: 768px) {
      body.recruit h2, body.company h2 {
        font-size: 2rem; } }
  body.recruit h3, body.company h3 {
    position: relative;
    color: #182987;
    font-size: 2rem;
    padding-bottom: 0.2em;
    margin: 0;
    margin-bottom: 1em;
    padding: 1rem .5rem; }
    @media screen and (max-width: 768px) {
      body.recruit h3, body.company h3 {
        font-size: 1.6rem; } }
    body.recruit h3:after, body.company h3:after {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 6px;
      content: '';
      border-radius: 3px;
      background-image: -webkit-gradient(linear, right top, left top, from(#00ECEC), to(#029FFD));
      background-image: -webkit-linear-gradient(right, #00ECEC 0%, #029FFD 100%);
      background-image: linear-gradient(to left, #00ECEC 0%, #029FFD 100%); }
  body.recruit table, body.company table {
    border: none;
    width: 100%; }
    body.recruit table tr th, body.recruit table tr td, body.company table tr th, body.company table tr td {
      border: 1px solid #aaa;
      padding: 1em 2em;
      text-align: left; }
      @media screen and (max-width: 640px) {
        body.recruit table tr th, body.recruit table tr td, body.company table tr th, body.company table tr td {
          display: block;
          width: 100%;
          border: none; } }
    body.recruit table tr th, body.company table tr th {
      width: 20%;
      background: #f4f4f4; }
      @media screen and (max-width: 640px) {
        body.recruit table tr th, body.company table tr th {
          width: 100%; } }

.sub_head {
  position: relative; }
  .sub_head .sub_head_img {
    background-size: cover !important;
    padding-top: 35%;
    background-position: center !important; }
    @media screen and (max-width: 768px) {
      .sub_head .sub_head_img {
        padding-top: 50%; } }
  .sub_head h1 {
    background: #00eeeb;
    background: -moz-linear-gradient(left, #00eeeb 0%, #009cfe 100%);
    background: -webkit-linear-gradient(left, #00eeeb 0%, #009cfe 100%);
    background: linear-gradient(to right, #00eeeb 0%, #009cfe 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00eeeb', endColorstr='#009cfe',GradientType=1 );
    position: relative;
    display: inline-block;
    color: #fff;
    padding: .1em 1em;
    font-size: 4vw;
    margin: 0;
    margin-top: -5%;
    letter-spacing: 0.08em; }
    @media screen and (max-width: 640px) {
      .sub_head h1 {
        font-size: 3rem;
        width: 90%;
        padding: 10px;
        line-height: 1.2; } }
    .sub_head h1 div {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      @media screen and (max-width: 640px) {
        .sub_head h1 div {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
          justify-content: flex-start;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
    .sub_head h1 span {
      display: inline-block;
      margin-left: 2em;
      font-size: .5em; }
      @media screen and (max-width: 640px) {
        .sub_head h1 span {
          display: block;
          margin-left: 0;
          font-size: 1.3rem;
          width: 100%;
          margin-top: 10px; } }

#sub_page {
  /*トップアートについて*/
  /*看板*/
  /*内外装*/
  /*リフォーム*/
  /*beforeAfter*/
  /*ものづくり*/ }
  #sub_page #aboutus img {
    width: 100%;
    height: auto; }
  #sub_page #aboutus figure {
    margin: 0; }
  #sub_page #aboutus .intro {
    text-align: center; }
    #sub_page #aboutus .intro .site_logo {
      width: 170px;
      margin: 5% auto; }
      @media screen and (max-width: 640px) {
        #sub_page #aboutus .intro .site_logo {
          width: 100px; } }
    #sub_page #aboutus .intro .intro_txt {
      width: 60%;
      margin: 10% auto; }
      @media screen and (max-width: 640px) {
        #sub_page #aboutus .intro .intro_txt {
          width: 80%; } }
    #sub_page #aboutus .intro h2 {
      display: inline-block;
      font-size: 2.8vw;
      letter-spacing: 0.08em;
      color: #182987;
      margin: 0;
      padding-bottom: 35px;
      background: url("../img/bar01.png") no-repeat center bottom;
      background-size: 100% 30px;
      margin-bottom: 10%; }
      @media screen and (max-width: 640px) {
        #sub_page #aboutus .intro h2 {
          font-size: 2rem;
          background: url("../img/bar01.png") no-repeat center bottom;
          background-size: 100% 15px;
          padding-bottom: 25px; } }
    #sub_page #aboutus .intro h3 {
      font-size: 2rem;
      line-height: 2em;
      margin: 5% auto; }
      @media screen and (max-width: 640px) {
        #sub_page #aboutus .intro h3 {
          font-size: 1.6rem; } }
    #sub_page #aboutus .intro .flow {
      background: url("../img/bg_item07.png") no-repeat right bottom;
      background-size: 70%; }
      #sub_page #aboutus .intro .flow .flow_txt {
        position: relative;
        z-index: 1;
        width: 85%;
        margin: auto; }
      #sub_page #aboutus .intro .flow .flow_img {
        margin-top: -5%; }
  #sub_page #aboutus .about_list {
    margin-top: 25%;
    background: url("../img/bg_item09.png") repeat-x right bottom;
    background-size: 100% 90%;
    padding-bottom: 15%; }
    @media screen and (max-width: 640px) {
      #sub_page #aboutus .about_list {
        margin-top: 50%; } }
    #sub_page #aboutus .about_list ul li {
      list-style-type: none; }
      #sub_page #aboutus .about_list ul li.list01 {
        margin-bottom: 30%; }
        @media screen and (max-width: 640px) {
          #sub_page #aboutus .about_list ul li.list01 {
            margin-bottom: 50%; } }
      #sub_page #aboutus .about_list ul li article {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: stretch; }
        #sub_page #aboutus .about_list ul li article .lt {
          width: 30%;
          margin-top: -20%;
          position: relative;
          z-index: 1; }
          @media screen and (max-width: 640px) {
            #sub_page #aboutus .about_list ul li article .lt {
              width: 100%; } }
          #sub_page #aboutus .about_list ul li article .lt .list_index {
            width: 100%; }
            @media screen and (max-width: 640px) {
              #sub_page #aboutus .about_list ul li article .lt .list_index {
                width: 40%; } }
          #sub_page #aboutus .about_list ul li article .lt .vertical_area {
            position: absolute;
            bottom: 0;
            right: 15%;
            writing-mode: vertical-rl; }
            @media screen and (max-width: 640px) {
              #sub_page #aboutus .about_list ul li article .lt .vertical_area {
                right: 20px; } }
            #sub_page #aboutus .about_list ul li article .lt .vertical_area .vertical_txt {
              display: block; }
              #sub_page #aboutus .about_list ul li article .lt .vertical_area .vertical_txt figure {
                display: inline-block;
                background: #182987;
                padding: 15px 10px;
                margin: 0 12px; }
                @media screen and (max-width: 640px) {
                  #sub_page #aboutus .about_list ul li article .lt .vertical_area .vertical_txt figure {
                    margin: 0 8px; } }
              #sub_page #aboutus .about_list ul li article .lt .vertical_area .vertical_txt img {
                display: block;
                height: auto;
                width: 3vw; }
                @media screen and (max-width: 640px) {
                  #sub_page #aboutus .about_list ul li article .lt .vertical_area .vertical_txt img {
                    width: 15px; } }
        #sub_page #aboutus .about_list ul li article .rt {
          width: 70%;
          margin-left: -10%;
          padding: 48% 5% 0 10%; }
          @media screen and (max-width: 640px) {
            #sub_page #aboutus .about_list ul li article .rt {
              width: 100%;
              padding: 70% 5% 0;
              margin-left: 0;
              margin-top: -10%; } }
          #sub_page #aboutus .about_list ul li article .rt.list01_img {
            background: url("../img/about/list_img01.jpg") no-repeat right top;
            background-size: 100%; }
          #sub_page #aboutus .about_list ul li article .rt.list02_img {
            background: url("../img/about/list_img02.jpg") no-repeat right top;
            background-size: 100%; }
          #sub_page #aboutus .about_list ul li article .rt strong {
            color: #182987;
            font-size: 2.8rem; }
            @media screen and (max-width: 640px) {
              #sub_page #aboutus .about_list ul li article .rt strong {
                font-size: 2rem; } }
          #sub_page #aboutus .about_list ul li article .rt p {
            line-height: 2em;
            font-size: 2rem;
            text-indent: 1em; }
            @media screen and (max-width: 640px) {
              #sub_page #aboutus .about_list ul li article .rt p {
                font-size: 1.6rem; } }
  #sub_page #aboutus .cooperation h2 {
    color: #182987;
    text-align: center;
    line-height: 2em;
    font-size: 2.8vw; }
    @media screen and (max-width: 768px) {
      #sub_page #aboutus .cooperation h2 {
        font-size: 2rem; } }
  #sub_page #aboutus .cooperation h3 {
    text-align: center;
    line-height: 2em;
    font-size: 2rem; }
    @media screen and (max-width: 768px) {
      #sub_page #aboutus .cooperation h3 {
        font-size: 1.6rem; } }
  #sub_page #aboutus .contribution {
    background: url("../img/bg_item02.png") no-repeat left top;
    background-size: 40%;
    padding: 10% 0; }
    #sub_page #aboutus .contribution h2 {
      color: #182987;
      text-align: center;
      line-height: 2em;
      font-size: 2.8vw; }
      @media screen and (max-width: 768px) {
        #sub_page #aboutus .contribution h2 {
          font-size: 2rem; } }
    #sub_page #aboutus .contribution h3 {
      text-align: center;
      line-height: 2em;
      font-size: 2rem; }
      @media screen and (max-width: 768px) {
        #sub_page #aboutus .contribution h3 {
          font-size: 1.6rem; } }
    #sub_page #aboutus .contribution ul {
      margin: 15% auto; }
      #sub_page #aboutus .contribution ul li {
        list-style-type: none;
        border-bottom: dashed 2px #000;
        padding: .8em 0; }
  #sub_page #signboard img {
    width: 100%;
    height: auto; }
  #sub_page #signboard figure {
    margin: 0; }
  #sub_page #signboard .index_area {
    overflow: hidden;
    background: url("../img/bg_item10.png") repeat-x left bottom;
    background-size: 130% 70%; }
    #sub_page #signboard .index_area .ttl {
      width: 90%; }
    #sub_page #signboard .index_area .txt {
      width: 85%;
      float: right;
      margin-top: -12%;
      margin-bottom: 5%; }
      @media screen and (max-width: 640px) {
        #sub_page #signboard .index_area .txt {
          width: 95%; } }
      #sub_page #signboard .index_area .txt h2 {
        width: 85%;
        display: inline-block;
        font-size: 2.8vw;
        letter-spacing: 0.08em;
        color: #182987;
        margin-top: 5%;
        padding-bottom: 35px;
        background: url(../img/bar01.png) no-repeat center bottom;
        background-size: 100% 30px; }
        @media screen and (max-width: 640px) {
          #sub_page #signboard .index_area .txt h2 {
            font-size: 2rem;
            background: url(../img/bar01.png) no-repeat center bottom;
            background-size: 100% 15px;
            padding-bottom: 25px; } }
      #sub_page #signboard .index_area .txt h3 {
        width: 85%;
        font-size: 2rem;
        line-height: 2em; }
        @media screen and (max-width: 640px) {
          #sub_page #signboard .index_area .txt h3 {
            font-size: 1.6rem; } }
  #sub_page #signboard .intro {
    background: url("../img/bg_item07.png") no-repeat left 30%;
    background-size: 50%; }
    #sub_page #signboard .intro .img_list {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start; }
      #sub_page #signboard .intro .img_list figure {
        width: 22%; }
    #sub_page #signboard .intro .txt {
      margin: 5% auto; }
      #sub_page #signboard .intro .txt h2 {
        display: inline-block;
        font-size: 2.8vw;
        letter-spacing: 0.08em;
        color: #182987;
        margin-top: 5%; }
        @media screen and (max-width: 640px) {
          #sub_page #signboard .intro .txt h2 {
            font-size: 2rem; } }
      #sub_page #signboard .intro .txt h3 {
        font-size: 2rem;
        line-height: 2em; }
        @media screen and (max-width: 640px) {
          #sub_page #signboard .intro .txt h3 {
            font-size: 1.6rem; } }
  #sub_page #interior_exterior img {
    width: 100%;
    height: auto; }
  #sub_page #interior_exterior figure {
    margin: 0; }
  #sub_page #interior_exterior .index_area {
    overflow: hidden;
    background: url("../img/bg_item10.png") repeat-x left bottom;
    background-size: 130% 70%; }
    #sub_page #interior_exterior .index_area .ttl {
      width: 90%; }
    #sub_page #interior_exterior .index_area .txt {
      width: 85%;
      float: right;
      margin-top: -20%; }
      @media screen and (max-width: 640px) {
        #sub_page #interior_exterior .index_area .txt {
          width: 95%; } }
      #sub_page #interior_exterior .index_area .txt h2 {
        width: 85%;
        display: inline-block;
        font-size: 2.8vw;
        letter-spacing: 0.08em;
        color: #182987;
        margin-top: 5%;
        padding-bottom: 35px;
        background: url(../img/bar01.png) no-repeat center bottom;
        background-size: 100% 30px; }
        @media screen and (max-width: 640px) {
          #sub_page #interior_exterior .index_area .txt h2 {
            font-size: 2rem;
            background: url(../img/bar01.png) no-repeat center bottom;
            background-size: 100% 15px;
            padding-bottom: 25px; } }
      #sub_page #interior_exterior .index_area .txt h3 {
        width: 85%;
        font-size: 2rem;
        line-height: 2em; }
        @media screen and (max-width: 640px) {
          #sub_page #interior_exterior .index_area .txt h3 {
            font-size: 1.6rem; } }
  #sub_page #interior_exterior .intro {
    padding: 5% 0; }
    #sub_page #interior_exterior .intro .txt .flow {
      display: block;
      margin: 5% auto; }
    #sub_page #interior_exterior .intro .txt h2 {
      width: 85%;
      display: inline-block;
      font-size: 2.8vw;
      letter-spacing: 0.08em;
      color: #182987;
      margin-top: 5%;
      padding-bottom: 35px;
      background: url(../img/bar01.png) no-repeat center bottom;
      background-size: 100% 30px; }
      @media screen and (max-width: 640px) {
        #sub_page #interior_exterior .intro .txt h2 {
          font-size: 2rem;
          background: url(../img/bar01.png) no-repeat center bottom;
          background-size: 100% 15px;
          padding-bottom: 25px; } }
    #sub_page #interior_exterior .intro .txt h3 {
      width: 85%;
      font-size: 2rem;
      line-height: 2em; }
      @media screen and (max-width: 640px) {
        #sub_page #interior_exterior .intro .txt h3 {
          font-size: 1.6rem; } }
  #sub_page #remodeling_renovation img {
    width: 100%;
    height: auto; }
  #sub_page #remodeling_renovation figure {
    margin: 0; }
  #sub_page #remodeling_renovation .index_area {
    overflow: hidden;
    background: url("../img/bg_item10.png") repeat-x left bottom;
    background-size: 130% 70%; }
    #sub_page #remodeling_renovation .index_area .ttl {
      width: 90%; }
    #sub_page #remodeling_renovation .index_area .txt {
      width: 85%;
      float: right;
      margin-top: -40%; }
      @media screen and (max-width: 640px) {
        #sub_page #remodeling_renovation .index_area .txt {
          width: 95%; } }
      #sub_page #remodeling_renovation .index_area .txt h2 {
        width: 85%;
        display: inline-block;
        font-size: 2.8vw;
        letter-spacing: 0.08em;
        color: #182987;
        margin-top: 5%;
        padding-bottom: 35px;
        background: url(../img/bar01.png) no-repeat center bottom;
        background-size: 100% 30px; }
        @media screen and (max-width: 640px) {
          #sub_page #remodeling_renovation .index_area .txt h2 {
            font-size: 2rem;
            background: url(../img/bar01.png) no-repeat center bottom;
            background-size: 100% 15px;
            padding-bottom: 25px; } }
      #sub_page #remodeling_renovation .index_area .txt h3 {
        width: 85%;
        font-size: 2rem;
        line-height: 2em; }
        @media screen and (max-width: 640px) {
          #sub_page #remodeling_renovation .index_area .txt h3 {
            font-size: 1.6rem; } }
  #sub_page .beforeAfter h2 {
    font-size: 2.4rem;
    color: #182987;
    padding: .5em;
    border-bottom: 1px solid #182987;
    border-top: 1px solid #182987; }
  #sub_page .beforeAfter h3 {
    font-size: 2rem;
    color: #182987; }
    #sub_page .beforeAfter h3.h3index {
      color: #fff;
      background: #182987;
      padding: .2em .5em; }
  #sub_page #manufacturing img {
    width: 100%; }
  #sub_page #manufacturing figure {
    margin: 0; }
  #sub_page #manufacturing .index_area {
    overflow: hidden;
    background: url("../img/bg_item10.png") repeat-x left bottom;
    background-size: 130% 70%; }
    #sub_page #manufacturing .index_area .ttl {
      width: 90%; }
    #sub_page #manufacturing .index_area .txt {
      width: 85%;
      float: right;
      margin-top: -40%; }
      @media screen and (max-width: 640px) {
        #sub_page #manufacturing .index_area .txt {
          width: 95%; } }
      #sub_page #manufacturing .index_area .txt h2 {
        width: 85%;
        display: inline-block;
        font-size: 2.8vw;
        letter-spacing: 0.08em;
        color: #182987;
        margin-top: 5%;
        padding-bottom: 35px;
        background: url(../img/bar01.png) no-repeat center bottom;
        background-size: 100% 30px; }
        @media screen and (max-width: 640px) {
          #sub_page #manufacturing .index_area .txt h2 {
            font-size: 2rem;
            background: url(../img/bar01.png) no-repeat center bottom;
            background-size: 100% 15px;
            padding-bottom: 25px; } }
      #sub_page #manufacturing .index_area .txt h3 {
        width: 85%;
        font-size: 2rem;
        line-height: 2em; }
        @media screen and (max-width: 640px) {
          #sub_page #manufacturing .index_area .txt h3 {
            font-size: 1.6rem; } }
  #sub_page #manufacturing .facility .facility_img {
    padding: 5% 0; }
    #sub_page #manufacturing .facility .facility_img ul.flex {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 30px auto; }
      #sub_page #manufacturing .facility .facility_img ul.flex li {
        width: calc(100%/3 - 10px);
        list-style-type: none;
        text-align: center;
        color: #182987; }
        @media screen and (max-width: 768px) {
          #sub_page #manufacturing .facility .facility_img ul.flex li {
            width: 100%; } }
        #sub_page #manufacturing .facility .facility_img ul.flex li img {
          width: 100%;
          height: 240px;
          object-fit: cover; }
          @media screen and (max-width: 768px) {
            #sub_page #manufacturing .facility .facility_img ul.flex li img {
              height: 180px; } }

/*********************************

アーカイブページ

*********************************/
/*アーカイブ共通*/
.archive_list ul li {
  list-style-type: none;
  border-bottom: 4px solid #E8E8E8;
  padding: 30px 15px; }
  @media screen and (max-width: 640px) {
    .archive_list ul li {
      padding: 15px; } }
  .archive_list ul li:last-child {
    border-bottom: none; }
  .archive_list ul li a {
    color: #000; }
    .archive_list ul li a:hover {
      color: #182987; }
    .archive_list ul li a .flex {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      width: 100%; }
      .archive_list ul li a .flex figure {
        width: 140px;
        margin: 0; }
        @media screen and (max-width: 640px) {
          .archive_list ul li a .flex figure {
            width: 100px; } }
        .archive_list ul li a .flex figure img {
          width: 140px;
          height: 140px;
          object-fit: cover; }
          @media screen and (max-width: 640px) {
            .archive_list ul li a .flex figure img {
              width: 100px;
              height: 100px; } }
      .archive_list ul li a .flex .txt {
        padding-left: 5%;
        width: auto; }
    .archive_list ul li a .date {
      display: block;
      color: #182987;
      font-size: 1.4rem; }
      @media screen and (max-width: 640px) {
        .archive_list ul li a .date {
          font-size: 1.2rem; } }
    .archive_list ul li a .ttl {
      font-size: 1.8rem;
      margin: 0;
      line-height: 2em; }
      @media screen and (max-width: 640px) {
        .archive_list ul li a .ttl {
          font-size: 1.5rem; } }

/*詳細共通*/
.col2 {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .col2 .archive_list, .col2 .post_contents {
    width: 70%; }
    @media screen and (max-width: 640px) {
      .col2 .archive_list, .col2 .post_contents {
        width: 100%;
        margin-bottom: 50px; } }
  .col2 .side {
    width: 25%; }
    @media screen and (max-width: 640px) {
      .col2 .side {
        width: 100%; } }
    .col2 .side .side_inner h3 {
      background: #182987;
      color: #fff;
      line-height: 2em;
      padding: 0 1em; }
    .col2 .side .side_inner h4 {
      line-height: 2em;
      font-size: 1.5rem;
      margin: 0; }
    .col2 .side .side_inner time {
      font-size: 1.3rem;
      color: #aaa; }
    .col2 .side .side_inner ul li {
      list-style-type: none;
      line-height: 2em; }

/*********************************

施工事例

*********************************/
.works_list_ttl {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .works_list_ttl h2 {
    width: 70%; }
    @media screen and (max-width: 640px) {
      .works_list_ttl h2 {
        width: 100%; } }
  .works_list_ttl .cat_name {
    width: 30%;
    text-align: right; }
    @media screen and (max-width: 640px) {
      .works_list_ttl .cat_name {
        width: 100%;
        text-align: left; } }
    .works_list_ttl .cat_name span {
      display: inline-block;
      font-size: 2.8rem;
      color: #fff;
      background: #182987;
      padding: .5em 1em;
      text-align: left; }
      @media screen and (max-width: 640px) {
        .works_list_ttl .cat_name span {
          font-size: 2rem; } }

#works_list img {
  width: 100%;
  height: auto; }
#works_list figure {
  margin: 0; }
#works_list .list article ul {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 5% auto; }
  @media screen and (max-width: 768px) {
    #works_list .list article ul {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  #works_list .list article ul li {
    width: calc(100% / 3);
    padding: 1%;
    list-style-type: none; }
    @media screen and (max-width: 768px) {
      #works_list .list article ul li {
        width: 48%;
        margin: 0;
        margin-bottom: 30px; } }
    @media screen and (max-width: 640px) {
      #works_list .list article ul li {
        width: 100%; } }
    #works_list .list article ul li a figure {
      border: 2px solid #182987;
      overflow: hidden;
      background: #182987; }
      #works_list .list article ul li a figure img {
        display: block;
        transition-duration: 0.5s;
        width: 100%;
        height: 35vh;
        object-fit: cover; }
        @media screen and (max-width: 640px) {
          #works_list .list article ul li a figure img {
            height: 30vh; } }
    #works_list .list article ul li a:hover img {
      transform: scale(1.2, 1.2);
      transition-duration: 0.5s;
      opacity: 0.8; }
    #works_list .list article ul li a h3 {
      background: #182987;
      color: #fff;
      margin: 0;
      padding: .3em 1em;
      height: 4em; }

/*********************************

category_page

*********************************/
body.category.category-signboard .cat_nav a.cat_1 {
  color: #fff;
  background: url("../img/r_arrow_wh.svg") no-repeat 15px center #182987;
  background-size: 20px; }
  @media screen and (max-width: 768px) {
    body.category.category-signboard .cat_nav a.cat_1 {
      background: url("../img/r_arrow_wh.svg") no-repeat 5px center #182987;
      background-size: 12px;
      padding: 10px 25px; } }
body.category.category-interior_exterior .cat_nav a.cat_2 {
  color: #fff;
  background: url("../img/r_arrow_wh.svg") no-repeat 15px center #182987;
  background-size: 20px; }
  @media screen and (max-width: 768px) {
    body.category.category-interior_exterior .cat_nav a.cat_2 {
      background: url("../img/r_arrow_wh.svg") no-repeat 5px center #182987;
      background-size: 12px;
      padding: 10px 25px; } }
body.category.category-remodeling_renovation .cat_nav a.cat_3 {
  color: #fff;
  background: url("../img/r_arrow_wh.svg") no-repeat 15px center #182987;
  background-size: 20px; }
  @media screen and (max-width: 768px) {
    body.category.category-remodeling_renovation .cat_nav a.cat_3 {
      background: url("../img/r_arrow_wh.svg") no-repeat 5px center #182987;
      background-size: 12px;
      padding: 10px 25px; } }
body.category.category-manufacturing .cat_nav a.cat_4 {
  color: #fff;
  background: url("../img/r_arrow_wh.svg") no-repeat 15px center #182987;
  background-size: 20px; }
  @media screen and (max-width: 768px) {
    body.category.category-manufacturing .cat_nav a.cat_4 {
      background: url("../img/r_arrow_wh.svg") no-repeat 5px center #182987;
      background-size: 12px;
      padding: 10px 25px; } }
body.category.category-contribution .cat_nav a.cat_5 {
  color: #fff;
  background: url("../img/r_arrow_wh.svg") no-repeat 15px center #182987;
  background-size: 20px; }
  @media screen and (max-width: 768px) {
    body.category.category-contribution .cat_nav a.cat_5 {
      background: url("../img/r_arrow_wh.svg") no-repeat 5px center #182987;
      background-size: 12px;
      padding: 10px 25px; } }

.cat_nav_area {
  margin: 30px auto; }
  .cat_nav_area .all_cat_nav {
    color: #182987;
    padding: 1em; }
  .cat_nav_area .cat_nav ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: stretch; }
    .cat_nav_area .cat_nav ul li {
      width: calc(100% / 5);
      padding: 0 5px;
      list-style-type: none;
      align-self: center; }
      @media screen and (max-width: 768px) {
        .cat_nav_area .cat_nav ul li {
          width: calc(100% / 2);
          padding: 1%; } }
      .cat_nav_area .cat_nav ul li a {
        display: block;
        color: #182987;
        border: 1px solid #182987;
        border-radius: 8px;
        height: 100%;
        background: url("../img/r_arrow.svg") no-repeat 10px center;
        background-size: 20px;
        padding-left: 40px; }
        @media screen and (max-width: 768px) {
          .cat_nav_area .cat_nav ul li a {
            background: url("../img/r_arrow.svg") no-repeat 5px center;
            background-size: 12px;
            padding: 10px 25px; } }
        .cat_nav_area .cat_nav ul li a:hover, .cat_nav_area .cat_nav ul li a:active {
          color: #fff;
          background: url("../img/r_arrow_wh.svg") no-repeat 10px center #182987;
          background-size: 20px;
          opacity: 1; }
          @media screen and (max-width: 768px) {
            .cat_nav_area .cat_nav ul li a:hover, .cat_nav_area .cat_nav ul li a:active {
              background: url("../img/r_arrow_wh.svg") no-repeat 5px center #182987;
              background-size: 12px;
              padding: 10px 25px; } }
        .cat_nav_area .cat_nav ul li a p.cat-name {
          line-height: 1;
          font-size: 20px;
          letter-spacing: 0.08em; }
          @media screen and (max-width: 768px) {
            .cat_nav_area .cat_nav ul li a p.cat-name {
              font-size: 15px;
              margin: 0; } }
          .cat_nav_area .cat_nav ul li a p.cat-name.sm {
            font-size: 15px; }
            @media screen and (max-width: 768px) {
              .cat_nav_area .cat_nav ul li a p.cat-name.sm {
                font-size: 11px; } }

/*********************************

single_page

*********************************/
#single_page {
  /*お知らせ・ブログ*/
  /*施工事例*/ }
  #single_page .post_contents {
    margin: 100px auto; }
  #single_page #news_single h1, #single_page #blog_single h1 {
    font-size: 2.4rem;
    color: #182987;
    padding-bottom: .5em;
    border-bottom: 4px solid #E8E8E8;
    margin-bottom: 30px; }
  #single_page #news_single time, #single_page #blog_single time {
    color: #182987; }
  #single_page #works_single {
    /*フリースペース*/ }
    #single_page #works_single h1 {
      position: relative;
      color: #182987;
      font-size: 2.8rem;
      padding-bottom: 0.2em;
      margin: 0;
      margin-bottom: 1em;
      padding: 1rem 0.5rem; }
      @media screen and (max-width: 768px) {
        #single_page #works_single h1 {
          font-size: 2rem; } }
      #single_page #works_single h1:after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 6px;
        content: '';
        border-radius: 3px;
        background-image: -webkit-gradient(linear, right top, left top, from(#00ECEC), to(#029FFD));
        background-image: -webkit-linear-gradient(right, #00ECEC 0%, #029FFD 100%);
        background-image: linear-gradient(to left, #00ECEC 0%, #029FFD 100%); }
    #single_page #works_single .g_item_wrap .main_img img {
      width: 100%;
      height: auto; }
    #single_page #works_single .g_item_wrap .sub_img ul {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 10px auto; }
      @media screen and (max-width: 640px) {
        #single_page #works_single .g_item_wrap .sub_img ul {
          margin: 1% 0 0 0; } }
      #single_page #works_single .g_item_wrap .sub_img ul li {
        width: 19%;
        list-style-type: none; }
        @media screen and (max-width: 640px) {
          #single_page #works_single .g_item_wrap .sub_img ul li {
            width: 23%;
            margin: 2% 0; } }
        #single_page #works_single .g_item_wrap .sub_img ul li img {
          width: 100%;
          height: 100px;
          object-fit: cover; }
          @media screen and (max-width: 640px) {
            #single_page #works_single .g_item_wrap .sub_img ul li img {
              height: 50px; } }
    #single_page #works_single .ol_txt {
      line-height: 1.8em;
      font-size: 2rem;
      padding: 5% 0; }
      @media screen and (max-width: 640px) {
        #single_page #works_single .ol_txt {
          font-size: 1.6rem; } }
    #single_page #works_single table.w_table {
      border: none;
      width: 100%; }
      #single_page #works_single table.w_table tr th, #single_page #works_single table.w_table tr td {
        border: 1px solid #aaa;
        padding: 1em 2em;
        text-align: left; }
        @media screen and (max-width: 640px) {
          #single_page #works_single table.w_table tr th, #single_page #works_single table.w_table tr td {
            display: block;
            width: 100%;
            border: none; } }
      #single_page #works_single table.w_table tr th {
        width: 30%;
        background: #f4f4f4;
        text-align-last: justify; }
        @media screen and (max-width: 640px) {
          #single_page #works_single table.w_table tr th {
            width: 100%;
            text-align-last: inherit; } }

/*********************************

footer

*********************************/
/*Contact*/
table.form_area {
  width: 100%;
  margin: 7% auto; }
  table.form_area input, table.form_area textarea {
    padding: 1em;
    width: 100%;
    background: #eaeaea;
    border: 0; }
    @media screen and (max-width: 768px) {
      table.form_area input, table.form_area textarea {
        padding: 10px; } }
  table.form_area input[type="checkbox"] {
    width: auto; }
  table.form_area tr {
    border-top: #B2B2B2 dotted 1px; }
    table.form_area tr:first-child {
      border-top: none; }
  table.form_area th {
    width: 18em;
    text-align: left;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      table.form_area th {
        width: 100%;
        padding-bottom: 0;
        vertical-align: middle; } }
  table.form_area th, table.form_area td {
    padding: 30px;
    font-weight: normal; }
    @media screen and (max-width: 768px) {
      table.form_area th, table.form_area td {
        padding: 10px 0;
        display: block;
        width: 100%; } }

span.equ {
  display: inline-block;
  color: #fff;
  padding: 4px 10px;
  background-color: #182987;
  font-weight: normal;
  font-size: .8em;
  margin-left: 1em; }
  @media screen and (max-width: 768px) {
    span.equ {
      margin-top: 1em; } }

input[type="checkbox"] {
  width: 1em;
  height: 1em;
  vertical-align: middle;
  -moz-transform: scale(1.4);
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
  margin-left: 1em; }

/*個人情報取り扱い*/
.p_txt {
  border: 1px solid #182987;
  padding: 20px;
  margin-bottom: 20px;
  line-height: 1.75em; }

.btn_submit {
  cursor: pointer;
  color: #fff;
  background: #182987;
  display: inline-block;
  padding: 15px 2em;
  margin: 10% auto;
  border: 1px solid #182987;
  -webkit-transition: all .5s;
  transition: all .5s;
  font-size: 2rem;
  letter-spacing: 0.18em; }
  @media screen and (max-width: 768px) {
    .btn_submit {
      font-size: 2rem; } }

.btn_submit:hover {
  background: #182987;
  color: #fff; }

.mw_wp_form .error {
  display: inline-block !important; }

/*********************************

footer

*********************************/
.footer {
  background-color: #fff;
  color: #182987;
  padding: 10% 0 5%; }
  .footer .foot_info {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #000;
    margin-bottom: 50px; }
    .footer .foot_info .lt {
      width: 48%; }
      @media screen and (max-width: 768px) {
        .footer .foot_info .lt {
          width: 100%;
          text-align: center; } }
      .footer .foot_info .lt .site_logo {
        max-width: 300px;
        margin-bottom: 50px; }
        @media screen and (max-width: 768px) {
          .footer .foot_info .lt .site_logo {
            width: 120px;
            margin: 0 auto 30px; } }
      .footer .foot_info .lt address {
        font-style: normal;
        font-size: 2rem; }
        @media screen and (max-width: 768px) {
          .footer .foot_info .lt address {
            font-size: 1.5rem; } }
        .footer .foot_info .lt address p {
          margin: 0; }
        .footer .foot_info .lt address .foot_tel {
          font-size: 3.2rem; }
          @media screen and (max-width: 768px) {
            .footer .foot_info .lt address .foot_tel {
              font-size: 2.8rem; } }
          .footer .foot_info .lt address .foot_tel a {
            color: #182987; }
        .footer .foot_info .lt address span {
          display: block;
          font-size: 1.5rem; }
          @media screen and (max-width: 768px) {
            .footer .foot_info .lt address span {
              font-size: 1.3rem; } }
    .footer .foot_info .rt {
      width: 48%; }
      @media screen and (max-width: 768px) {
        .footer .foot_info .rt {
          width: 100%; } }
      .footer .foot_info .rt nav ul li {
        list-style-type: none;
        display: block;
        margin: 20px 0; }
        .footer .foot_info .rt nav ul li a {
          display: inline-block;
          margin: 0 10px;
          color: #182987; }
  .footer small {
    display: block;
    text-align: center; }

#page_top {
  position: fixed;
  right: 20px;
  bottom: 20px; }
  #page_top a {
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    overflow: hidden;
    background: #000;
    border-radius: 100%;
    text-align: center; }
    #page_top a i {
      color: #fff; }
