@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Tenor+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;700&display=swap');

/* --
font-family: 'Roboto', sans-serif;
300
font-family: 'Tenor Sans', sans-serif;
400
font-family: 'Noto Sans JP', sans-serif;
300,700
 -- */


/* ----------------------
全体
---------------------- */

html {
  font-size:62.5%;
  overflow-x: hidden;
  /* -- iphone用 -- */
}

*,
*::before,
*::after {
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

body {
  background-color: #121212;
  background: linear-gradient(to left, #121212, #212121);
  color: #f5f5f5;
  font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-weight: 300;
  font-size: 1.6rem;
  letter-spacing: .1em;
  overflow-x: hidden;
  counter-reset: number;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

.post,
.post img {
  background: none;
  border: none;
}

.post a {
  color: inherit;
  transition: .5s color, .5s opacity, .5s background-color;
}

article div.post a {
  text-decoration: underline;
}

article div.post a:hover {
  text-decoration: underline;
  opacity: .7;
}

.mobile article div.post a {
  transition: 0s color, 0s opacity, 0s background-color;
}

em {
  font-style: normal;
  font-weight: 700;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0;
  background-color: #eee;
}

textarea {
  -webkit-appearance: none;
  background-color: #eee;
}

input,
textarea,
select {
  border-radius: 0;
  color: #1a1a1a;
  font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-weight: 300;
  font-size: 1.6rem;
  letter-spacing: .1em;
}

/* エディター用 */

#editor-style {
  background: linear-gradient(to left, #121212, #212121);
}

@media only screen and (max-width: 767px) {

  body,
  input,
  textarea,
  select {
    font-size: 1.4rem;
  }

}


/* -- body -- */

#mainImg {
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

body.mobile {
  margin-top: 0;
}

body.mobile #mainImg,
body.mobile #breadcrumb {
  margin-top: 0;
}

/* -- body終わり -- */


/* -- コンテンツ幅 -- */

#wrapper {
  max-width: 1100px;
  width: 92%;
  margin: 0 auto;
  padding: 0;
  box-sizing: content-box;
  overflow: visible;
}

#content {
  width: calc(100% - 250px);
  padding: 9.6rem 0;
}

.home #content {
  padding: 0;
}

#content.wide {
  width: 100%;
}

#full-wrapper #content {
  width: 100%;
}

#sidebar {
  width: 225px;
  padding: 9.6rem 0;
}

.post {
  margin: 0;
  padding: 0;
  line-height: 2;
}

.post li {
  line-height: 1.8;
}

@media only screen and (max-width: 1023px) {

  #wrapper {
    padding: 0;
  }

  #content {
    padding: 7.2rem 0;
  }

  #sidebar {
    padding: 7.2rem 0;
  }
}

@media only screen and (max-width: 959px) {

  #content {
    width: 100%;
  }

  #sidebar {
    width: 100%;
    padding: 0;
  }

}

@media only screen and (max-width: 767px) {

  #wrapper {
    padding: 0;
  }

  #content {
    padding: 6rem 0;
  }

  .post {
    line-height: 1.75;
  }

  .post li {
    line-height: 1.75;
  }

}

/* -- コンテンツ幅終わり -- */


/* -- パラグラフ -- */

.post p {
  padding-bottom: 0;
  margin-bottom: 1em;
}

.post p:last-child {
 margin-bottom: 0;
}

/* -- パラグラフ終わり -- */


/* -- リスト -- */

.post ul {
  margin: 0;
}

.post ul li:last-child {
  margin-bottom: 0;
}

.post ol li {
  list-style: none;
}

.post ul.comma_list li {
  display: inline-block;
  margin-bottom: 0;
}

.post ul.comma_list li::after {
  content: "、";
}

.post ul.comma_list li:last-child::after {
  content: none;
}

.post ul.indent_list li {
  margin-bottom: .5em;
  padding-left: 1em;
  text-indent: -1em;
}

.post ul.indent_list li::before {
  content: "・";
}

.post ul.num_list li {
  margin-bottom: .5em;
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.post ul.num_list li::before {
  counter-increment: number 1;
  content: counter(number) ". ";

}

/* -- リスト終わり -- */


/* -- テーブル -- */

/* -- ボーダー横のみ -- */

.black_area {
  position: relative;
  padding: 8.8rem 0;
  z-index: 5;
}

.black_area::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: none;
  background-color: #000;
  margin: 0 calc(50% - 50vw);
  z-index: -1;
}

.post table {
  margin-top: 6rem;
  margin-bottom: 0;
  color: #f5f5f5;
  font-size: 100%;
  border: none;
  word-break: break-all;
}

.post table tr {
  border: none;
}

.post table th,
.post table td {
  padding: 16px 34px;
}

.post table th {
  background-color: transparent;
  background-image: linear-gradient(to bottom, transparent, transparent 13px, #f5f5f5 14px, #f5f5f5 52px, transparent 52px, transparent);
  background-size: 2px 100%;
  background-repeat: repeat-y;
  border: none;
}

.post table td {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #333;
}

.post table.responsive {
  max-width: none;
}

.post table.responsive th,
.post table.responsive td {
  text-align: left;
}

.post table.responsive th {
  width: 30%;
}

@media only screen and (max-width: 1023px) {

  .black_area {
    padding: 6rem 0;
  }

  .post table {
    margin-top: 4rem;
  }

  .post table th {
    background-image: linear-gradient(to bottom, transparent, transparent 13px, #f5f5f5 14px, #f5f5f5 46px, transparent 46px, transparent);
  }

}


@media only screen and (max-width: 640px) {

  .black_area {
    padding: 4.8rem 0;
  }

  .post table th {
    background-image: linear-gradient(to bottom, transparent, transparent 11px, #f5f5f5 11px, #f5f5f5 38px, transparent 38px, transparent);
  }

  .post table th {
    padding: 12px 17px 6px;
  }

  .post table td {
    padding: 6px 17px 12px;
  }

}

/* -- ボーダー横のみ 終わり -- */


/* ----------------------
汎用クラス
---------------------- */

.sp-on {
  display: none;
}

.tab-on {
  display: none;
}

.mb-16 {
  margin-bottom: 16rem !important;
}

.mb-10 {
  margin-bottom: 10rem !important;
}

.mb-9 {
  margin-bottom: 9rem !important;
}

.mb-8 {
  margin-bottom: 8rem !important;
}

.mb-7 {
  margin-bottom: 7rem !important;
}

.mb-6 {
  margin-bottom: 6rem !important;
}

.mb-5_6 {
  margin-bottom: 5.6rem !important;
}

.mb-5 {
  margin-bottom: 5rem !important;
}

.mb-4_8 {
  margin-bottom: 4.8rem !important;
}

.mb-4 {
  margin-bottom: 4rem !important;
}

.mb-3 {
  margin-bottom: 3rem !important;
}

.mb-2_4 {
  margin-bottom: 2.4rem !important;
}

.mb-2 {
  margin-bottom: 2rem !important;
}

.mb-1_6 {
  margin-bottom: 1.6rem !important;
}

.mb-1 {
  margin-bottom: 1rem !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

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

.content_inner {
  background: linear-gradient(to right, #333, #000);
  padding: 7.1428% 6.8571%;
}

.content_inner + .content_inner {
  margin-top: 8.8rem;
}

.content_inner.none_grad {
    padding: 0;
    background: transparent;
}

.fz-1_8 {
  font-size: 1.8rem;
}

.fw-b {
  font-weight: bold;
}

@media screen and (max-width: 1023px) {

  .tab-on {
    display: block;
  }

  .tab-off {
    display: none;
  }

  .mb-16 {
    margin-bottom: 12rem !important;
  }

  .mb-10 {
    margin-bottom: 8rem !important;
  }

  .mb-9 {
    margin-bottom: 7.2rem !important;
  }

  .mb-8 {
    margin-bottom: 6.4rem !important;
  }

  .mb-7 {
    margin-bottom: 5.6rem !important;
  }

  .mb-6 {
    margin-bottom: 4.8rem !important;
  }

  .mb-5_6 {
    margin-bottom: 4.4rem !important;
  }

  .mb-5 {
    margin-bottom: 4rem !important;
  }

  .mb-4_8 {
    margin-bottom: 3.6rem !important;
  }

  .mb-4 {
    margin-bottom: 3.2rem !important;
  }

  .mb-3 {
    margin-bottom: 2.4rem !important;
  }

  .mb-2_4 {
    margin-bottom: 2rem !important;
  }

  .content_inner + .content_inner {
    margin-top: 6rem;
  }

  .text-center {
    text-align: left !important;
  }

}

@media screen and (max-width: 767px) {

  .sp-on {
    display: block;
  }

  .sp-off {
    display: none;
  }

  .mb-16 {
    margin-bottom: 6rem !important;
  }

  .mb-10 {
    margin-bottom: 6rem !important;
  }

  .mb-9 {
    margin-bottom: 4.5rem !important;
  }

  .mb-8 {
    margin-bottom: 4rem !important;
  }

  .mb-7 {
    margin-bottom: 3.5rem !important;
  }

  .mb-6 {
    margin-bottom: 3rem !important;
  }

  .mb-5_6 {
    margin-bottom: 2.8rem !important;
  }

  .mb-5 {
    margin-bottom: 2.5rem !important;
  }

  .mb-4_8 {
    margin-bottom: 2.4rem !important;
  }

  .mb-4 {
    margin-bottom: 2rem !important;
  }

  .mb-2_4 {
    margin-bottom: 1.6rem !important;
  }

  .content_inner + .content_inner {
    margin-top: 4.8rem;
  }

  .fz-1_8 {
    font-size: 1.6rem;
  }

}


/* ----------------------
スライダー
---------------------- */

div#n2-ss-2 .n2-ss-control-bullet {
  bottom: 25px !important;
  right: 40px !important;
}

.slider_text-1 .n2-ss-item-content {
  font-size: 1.8749vw !important;
}

.slider_text-2 .n2-ss-item-content {
  font-size: 3.7499vw !important;
}

@media screen and (max-width: 1023px) {

  .slider_text-3 .n2-ss-item-content {
    font-size: 1.7595vw !important;
  }

}

@media screen and (max-width: 767px) {

  div#n2-ss-2 .n2-ss-control-bullet {
    bottom: 10px !important;
    right: 18px !important;
  }

  .slider_text-1 .n2-ss-item-content {
    font-size: 4.7999vw !important;
  }

  .slider_text-2 {
    margin-bottom: 4vw !important;
  }

  .slider_text-2 .n2-ss-item-content {
    font-size: 8.4vw !important;
  }

  .slider_text-3 {
    margin-bottom: 7vw !important;
  }

}


/* ----------------------
アニメーション
---------------------- */

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@media screen and (max-width: 767px) {

  .animated {
    animation-delay: 0s !important;
  }

}


/* ----------------------
見出し
---------------------- */

/* -- h1 -- */
/* -- 通常 カテゴリー -- */

.post h1:not([class]) {
  color: #f5f5f5;
  font-weight: 300;
  font-size: 7.2rem;
  text-align: left;
  text-shadow: none;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.post h1 {
  padding: 0;
}

/* -- 投稿・サーチ・404 -- */

h1.title {
  background: none;
  margin: 0 0 6.4rem;
  padding: 0;
  font-size: 4rem;
  line-height: 1.2;
}

.single h1.title,
.error404 h1.title,
.category h1.title,
.archive h1.title {
  margin: 0 0 4rem;
  font-size: 2.6rem;
  line-height: 1.6;
}

/* -- アイキャッチ内 -- */

header#h1Header h1.title {
  position: absolute;
  top: 50%;
  left: 50%;
  background: none;
  width: 92%;
  max-width: 1100px;
  color: #f5f5f5;
  font-weight: 300;
  font-size: 7.2rem;
  text-align: left;
  text-shadow: none;
  line-height: 1.2;
  letter-spacing: 0.05em;
  transform: translate(-50%, -50%);
}

header#h1Header h1.title .en {
  display: block;
  margin-bottom: 2.6rem;
}

header#h1Header h1.title .ja {
  display: block;
  font-size: 1.8rem;
  text-align: left;
  line-height: 1.8;
  letter-spacing: 0.2em;
}

/* -- h2 -- */

/* -- 通常 -- */

.post h2:not([class]) {
  position: relative;
  border: none;
  border-bottom: 1px solid #eee;
  margin: 0 auto 2.8rem;
  padding: 0 0 2.8rem;
  font-weight: 300;
  font-size: 3.2rem;
  text-align: left;
  line-height: 1.3;
}

.post h2::before,
.post h2::after {
  content: none;
  visibility: visible;
}

.post h2 {
  background:none;
  border: none;
  border-radius:0;
  padding: 0;
}

.post h2 span {
  margin: 0;
  padding: 0;
}

/* -- h3 -- */

.post h3:not([class]),
.post .title-3 {
  border: none;
  margin: 0 auto 3.2rem;
  padding: 0;
  font-weight: 300;
  font-size: 2.8rem;
  text-align: left;
  line-height: 1.6;
  letter-spacing: 0.14em;
}

.post h3::before,
.post h3::after {
  content: none;
}

.post h3,
.post h3 span {
  padding: 0;
}

/* -- h4 -- */

.post h4:not([class]) {
  border: none;
  margin: 0 0 2.4rem;
  padding: 0;
  color: inherit;
  font-weight: 300;
  font-size: 2.2rem;
  line-height: 1.6;
}

.post h4::before {
  content: none;
}

/* -- h5 h6 -- */

.post h5:not([class]) {
  position: relative;
  border-bottom: 1px solid #B3B3B3;
  margin: 0 0 1.6rem;
  padding: 0 0 .15em .5em;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: .1em;
}

.post h6:not([class]) {
  margin: 0 0 1.6rem;
  font-size: 1.8rem;
  line-height: 1.6;
}

@media only screen and (max-width: 1200px) {

  /* -- アイキャッチ内 -- */

  header#h1Header h1.title {
    font-size: 6rem;
  }

  header#h1Header h1.title .en {
    margin-bottom: 2.2rem;
  }

}

@media screen and (max-width: 1023px) {

  /* -- h1 -- */
  /* -- 通常 カテゴリー -- */

  .post h1:not([class]) {
    font-size: 4.8rem;
  }

  /* -- 投稿・サーチ・404 -- */

  h1.title {
    margin: 0 0 4.8rem;
    font-size: 4.8rem;
    line-height: 1.4;
  }

  .single h1.title,
  .error404 h1.title,
  .category h1.title,
  .archive h1.title {
    margin: 0 0 3.2rem;
    font-size: 2.2rem;
  }

  /* -- アイキャッチ内 -- */

  header#h1Header h1.title {
    font-size: 4.8rem;
  }

  header#h1Header h1.title .en {
    margin-bottom: 2rem;
  }

  /* -- h2 -- */

  /* -- 通常 -- */

  .post h2:not([class]) {
    margin: 0 auto 2.2rem;
    padding: 0 0 2rem;
    font-size: 3rem;
  }

  /* -- h3 -- */

  .post h3:not([class]),
  .post .title-3 {
    margin: 0 auto 2.4rem;
    font-size: 2.4rem;
  }

  /* -- h5 h6 -- */

  .post h5:not([class]) {
    font-size: 1.8rem;
  }

  .post h6:not([class]) {
    font-size: 1.8rem;
  }

}

@media screen and (max-width: 767px) {

  /* -- h1 -- */
  /* -- 通常 カテゴリー -- */

  .post h1:not([class]) {
    font-size: 3.6rem;
  }

  /* -- 投稿・サーチ・404 -- */

  h1.title {
    margin: 0 0 4rem;
    font-size: 3.6rem;
  }

  /* -- 投稿・サーチ・404 -- */

  .single h1.title,
  .error404 h1.title,
  .category h1.title,
  .archive h1.title {
    margin: 0 0 2.4rem;
    font-size: 2rem;
  }

  /* -- アイキャッチ内 -- */

  header#h1Header h1.title {
    font-size: 3.2rem;
  }

  header#h1Header h1.title .en {
    margin-bottom: .8rem;
  }

  header#h1Header h1.title .ja {
    font-size: 1.6rem;
  }

  /* -- h2 -- */

  /* -- 通常 -- */

  .post h2:not([class]) {
    margin: 0 auto 2.4rem;
    padding: 0 0 1.6rem;
    font-size: 2rem;
    line-height: 1.6;
  }
  /* -- h3 -- */

  .post h3:not([class]),
  .post .title-3 {
    margin: 0 auto 1.6rem;
    font-size: 1.8rem;
    line-height: 1.7;
  }

  /* -- h5 h6 -- */

  .post h5:not([class]) {
    margin: 0 0 1.2rem;
    font-size: 1.6rem;
  }

  .post h6:not([class]) {
    margin: 0 0 1.2rem;
    font-size: 1.6rem;
  }


}


/* ----------------------
google map
---------------------- */

.map {
  height: 100%;
}

.map iframe {
  width: 100%;
  height: 100%;
}

.map iframe,
.map object,
.map embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

#editor-style .map span {
  width: 100%;
  height: 100%;
}


/* ----------------------
トップページ
---------------------- */

/* -- 共通 -- */

.bg-grade {
  background-color: #000;
  background: linear-gradient(to left, #333, #000);
}

.bg-grade-r {
  background-color: #000;
  background: linear-gradient(to right, #333, #000);
}

#top_page .top_inner {
  padding: 0 4%;
}

#top_page .top_flex-2 {
  display: flex;
}

#top_page .top_flex-2_item {
  width: 50%;
}

#top_page .top_title {
  margin: 0 0 2.2rem;
  padding: 0;
  color: #f5f5f5;
  font-family: inherit;
  font-weight: 300;
  font-size: 7.2rem;
  text-align: left;
  line-height: 1.2;
  letter-spacing: 0.05em;
}

#top_page .top_title .en {
  display: block;
  margin-bottom: 2.6rem;
}

#top_page .top_title .ja {
  display: block;
  color: #f5f5f5;
  font-size: 1.8rem;
  text-align: left;
  line-height: 1.8;
  letter-spacing: 0.2em;
}

#top_page .top_content {
  position: relative;
  z-index: 5;
}

#top_page .top_content_bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

#top_page .top_common_image {
  box-shadow: 0px 30px 40px 0 rgb(0, 0, 0, .3);
}

#top_page .top_common_box {
  background-color: #000;
  padding: 56px 64px;
  box-shadow: 0px 30px 40px 0 rgb(0, 0, 0, .3);
}

#top_page .top_common_box-2 {
  background-color: #000;
  padding: 100px;
}

#top_page .bg-gray,
#top_page .bg-color {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-size: cover;
  background-repeat: no-repeat;
  transition: opacity 1s;
}

#top_page .bg-gray {
  z-index: -1;
  visibility: visible !important;
}

#top_page .bg-color {
  z-index: -2;
}

@media only screen and (max-width: 1200px) {

  #top_page .top_title {
    margin: 0 0 2rem;
    font-size: 6rem;
  }

  #top_page .top_title .en {
    margin-bottom: 2.2rem;
  }

  #top_page .top_common_box {
    padding: 48px 56px;
  }

  #top_page .top_common_box-2 {
    min-height: 485px;
    padding: 72px;
  }

}

@media only screen and (max-width: 1023px) {

  #top_page .top_title {
    margin: 0 0 1.8rem;
    font-size: 4.8rem;
  }

  #top_page .top_title .en {
    margin-bottom: 2rem;
  }

  #top_page .top_common_box {
    padding: 48px 56px;
  }

  #top_page .top_common_box-2 {
    min-height: 420px;
    padding: 60px;
  }

}

@media only screen and (max-width: 767px) {

  #top_page .top_flex-2 {
    flex-direction: column-reverse;
  }

  #top_page .top_flex-2_item {
    width: 100%;
    min-height: 0%;
  }

  #top_page .top_title {
    margin: 0 0 1.2rem;
    font-size: 3.6rem;
  }

  #top_page .top_title .en {
    margin-bottom: 1.2rem;
  }

  #top_page .top_title .ja {
    font-size: 1.6rem;
  }

  #top_page .top_common_box {
    padding: 9% 10%;
  }

  #top_page .top_common_box-2 {
    min-height: 0;
    padding: 8%;
  }

}

/* -- top_concept -- */

#top_concept .top_concept_inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 10rem 0 30rem;
}

#top_concept .top_concept_box {
  display: flex;
  justify-content: space-between;
  background: linear-gradient(to right, #333, #000);
  padding: 7.1428% 6.8571%;

}

#top_concept .top_concept_description {
  width: 42%;
}

#top_concept .top_concept_text {
  line-height: 2;
}

#top_concept .top_concept_image {
  width: 50%;
  min-height: 0%;
  padding: 20px;
}

#top_concept .top_concept_bg {
  top: 30rem;
  height: 52.0348%;
}

@media only screen and (max-width: 1200px) {

  #top_concept .top_concept_inner {
    padding: 8rem 0 24rem;
  }

  #top_concept .top_concept_box {
    padding: 7.1428% 6.8571%;

  }

  #top_concept .top_concept_description {
    width: 46%;
  }

  #top_concept .top_concept_image {
    padding: 20px 20px calc(44px + (1.4rem * 2));
  }

  #top_concept .top_concept_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'; /* -- IE対策 -- */
  }

  #top_concept .top_concept_bg {
    top: 24rem;
  }

}

@media only screen and (max-width: 1023px) {

  #top_concept .top_concept_inner {
    max-width: 700px;
    padding: 8rem 0 20rem;
  }

  #top_concept .top_concept_box {
    flex-direction: column-reverse;
    padding: 9% 9% 8%;

  }

  #top_concept .top_concept_description {
    width: 100%;
  }

  #top_concept .top_concept_image {
    width: 100%;
    margin: 0 0 4rem;
    padding: 0;
  }

}

@media only screen and (max-width: 767px) {

  #top_concept .top_concept_inner {
    padding: 6rem 0 10rem;
  }

  #top_concept .top_concept_box {
    width: 96%;
    margin: 0 auto;
    padding: 6%;
  }

  #top_concept .top_concept_image {
    margin: 0 0 2.4rem;
  }

}

/* -- top_architecture -- */

#top_architecture .top_architecture_inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1px 0 15rem;
}

#top_architecture .top_architecture_flex {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  margin: -10rem 0 0;
}

#top_architecture .top_architecture_flex_item_right {
  width: 50%;
  padding: 0 7.1428%;
}

.top_architecture_box {
  min-width: 470px;
}

#top_architecture .top_architecture_flex_item_left {
  width: 50%;
  margin-top: 31.6428%;
  padding: 0 4% 0;
}

#top_architecture .top_title {
  margin-bottom: 28.2rem;
}

#top_architecture .top_architecture_bg {
  top: 0;
  height: 77.6923%;
}

@media only screen and (max-width: 1200px) {

  #top_architecture .top_architecture_inner {
    padding: 1px 0 12rem;
  }

  #top_architecture .top_architecture_flex {
    margin: -8rem 0 0;
  }

  #top_architecture .top_architecture_flex_item_right {
    padding: 0 4%;
  }

  .top_architecture_box {
    min-width: 420px;
  }

  #top_architecture .top_title {
    margin-bottom: 22.5rem;
  }

}

@media only screen and (max-width: 1023px) {

  #top_architecture .top_architecture_inner {
    padding: 1px 0 12rem;
  }

  #top_architecture .top_architecture_flex {
    margin: -8rem 0 0;
  }

  #top_architecture .top_architecture_flex_item_right {
    width: 54%;
    padding: 0 4%;
  }

  .top_architecture_box {
    min-width: 0;
  }

  #top_architecture .top_architecture_flex_item_left {
    width: 46%;
    padding: 0 2% 0;
  }

  #top_architecture .top_title {
    margin-bottom: 18rem;
  }

  #top_architecture .top_architecture_image {
    padding: 0;
  }

}

@media only screen and (max-width: 767px) {

  #top_architecture .top_architecture_inner {
    padding: 1px 0 8rem;
  }

  #top_architecture .top_architecture_flex {
    flex-direction: column-reverse;
    margin: -4rem 0 0;
  }

  #top_architecture .top_architecture_flex_item_right {
    align-self: flex-end;
    width: 90%;
  }

  #top_architecture .top_architecture_flex_item_left {
    width: 80%;
    min-height: 0%;
    margin: 0 0 4rem;
  }

  #top_architecture .top_title {
    margin-bottom: 4rem;
  }

}


/* -- top_exterior -- */

#top_exterior .top_exterior_inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1px 0 25rem;
}

#top_exterior .top_exterior_flex {
  display: flex;
  margin: -10rem 0 0;
}

#top_exterior .top_exterior_flex_item_left {
  width: 50%;
  margin-top: 14.2857%;
}

#top_exterior .top_exterior_flex_item_right {
  width: 50%;
  min-height: 0%;
  padding: 0 5.1428%;
}

#top_exterior .top_title {
  margin-bottom: 16rem;
}

#top_exterior .top_exterior_image {
  display: flex;
  justify-content: space-between;
}

#top_exterior .top_exterior_image-1,
#top_exterior .top_exterior_image-2 {
  width: 44.8833%;
}

#top_exterior .top_exterior_image-1 {
  margin-top: 25rem;
}

#top_exterior .top_exterior_bg {
  top: 0;
  height: 77.7777%;
}

@media only screen and (max-width: 1200px) {

  #top_exterior .top_exterior_inner {
    padding: 1px 0 20rem;
  }

  #top_exterior .top_exterior_flex {
    margin: -8rem 0 0;
  }

  #top_exterior .top_exterior_flex_item_right {
    padding: 0 5.1428%;
  }

  #top_exterior .top_title {
    margin-bottom: 12.8rem;
  }

}

@media only screen and (max-width: 1023px) {

  #top_exterior .top_exterior_inner {
    padding: 1px 0 16rem;
  }

  #top_exterior .top_exterior_flex {
    margin: -6rem 0 0;
  }

  #top_exterior .top_exterior_flex_item_right {
    padding: 0 5.1428%;
  }

  #top_exterior .top_title {
    margin-bottom: 12.8rem;
  }

}

@media only screen and (max-width: 767px) {

  #top_exterior .top_exterior_inner {
    padding: 1px 0 10rem;
  }

  #top_exterior .top_exterior_flex {
    flex-direction: column-reverse;
    margin: -4rem 0 0;
  }

  #top_exterior .top_exterior_flex_item_left {
    width: 80%;
    margin-top: 0;
  }

  #top_exterior .top_exterior_flex_item_right {
    align-self: flex-end;
    width: 80%;
    padding: 0 5%;
  }

  #top_exterior .top_title {
    margin-bottom: 4rem;
  }

  #top_exterior .top_exterior_image {
    margin: 0 0 3.2rem;
  }

  #top_exterior .top_exterior_image-1 {
    margin-top: 45%;
  }

}

/* -- top_estate -- */

#top_estate .top_estate_inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1px 0 20rem;
}

#top_estate .top_estate_flex {
  display: flex;
  flex-direction: row-reverse;
  margin: -10rem 0 0;
}

#top_estate .top_estate_flex_item_left {
  width: 50%;
  min-height: 0%;
  padding: 0 8.7857%;
}

#top_estate .top_estate_flex_item_right {
  width: 50%;
  margin-top: 14.2857%;
}

#top_estate .top_title {
  margin-bottom: 16rem;
}

#top_estate .top_estate_image {
  display: flex;
  justify-content: space-between;
}

#top_estate .top_estate_image img {
  width: 100%;
}

#top_estate .top_estate_bg {
  top: 0;
  height: 87.5311%;
}

@media only screen and (max-width: 1200px) {

  #top_estate .top_estate_inner {
    padding: 1px 0 16rem;
  }

  #top_estate .top_estate_flex {
    margin: -8rem 0 0;
  }

  #top_estate .top_estate_flex_item_left {
    padding: 0 8.7857%;
  }

  #top_estate .top_estate_flex_item_right {
    margin-top: 14.2857%;
  }

  #top_estate .top_title {
    margin-bottom: 12.8rem;
  }

}

@media only screen and (max-width: 1023px) {

  #top_estate .top_estate_inner {
    padding: 1px 0 12.8rem;
  }

  #top_estate .top_estate_flex {
    margin: -6rem 0 0;
  }

  #top_estate .top_estate_flex_item_left {
    padding: 0 8%;
  }

}

@media only screen and (max-width: 767px) {

  #top_estate .top_estate_inner {
    padding: 1px 0 6rem;
  }

  #top_estate .top_estate_flex {
    flex-direction: column-reverse;
    margin: -4rem 0 0;
  }

  #top_estate .top_estate_flex_item_left {
    align-self: flex-start;
    width: 70%;
    margin: 0 0 3.2rem;
    padding: 0 8%;
  }

  #top_estate .top_estate_flex_item_right {
    align-self: flex-end;
    width: 80%;
    margin-top: 0;
  }

  #top_estate .top_title {
    margin-bottom: 4rem;
  }

  #top_estate .top_estate_image {
    display: block;
  }

}

#top_recruit {
  background-color: #000;
}

#top_recruit .top_recruit_box {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#top_recruit .top_title {
  margin: 0 0 15rem;
}

#top_recruit .top_recruit_box .top_recruit_text {
  margin-top: auto;
}

#top_recruit .top_recruit_image {
  height: 100%;
}

#top_recruit .top_recruit_image img {
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; /* -- IE対策 -- */
  object-position: left top;
}

@media only screen and (max-width: 1200px) {

  #top_recruit .top_title {
    margin: 0 0 12rem;
  }

}

@media only screen and (max-width: 767px) {

  #top_recruit .top_title {
    margin: 0 0 3.2rem;
  }

}

/* -- top_about -- */

#top_about .top_flex-2 {
  flex-direction: row-reverse;
}

#top_about .top_about_logo {
  max-width: 300px;
  width: 70%;
  margin: 0 0 4.8rem;
}

#top_about address {
  margin: 0 0 8rem;
}

#top_about address p {
  line-height: 2;
}

@media only screen and (max-width: 1200px) {

  #top_about .top_about_logo {
    margin: 0 0 3.2rem;
  }

  #top_about address {
    margin: 0 0 6.4rem;
  }

}

@media only screen and (max-width: 767px) {

  #top_about .top_flex-2 {
    flex-direction: column-reverse;
  }

  #top_about .top_about_logo {
    width: 50%;
    margin: 0 0 2.4rem;
  }

  #top_about address {
    margin: 0 0 2.4rem;
  }

  .top_map {
    height: 57.6923vw;
    min-height: 220px;
  }

}

/* -- front_bottom_content -- */

#front_bottom_content {
  background-color: #666;
  background-image: url(/struct/wp-content/uploads/footer_bg.jpg);
  padding: 10rem 4%;
}

#front_bottom_content .front_bottom_content_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1400px;
  margin: 0 auto;
}

#front_bottom_content .listTitle {
  padding: 0 4% 0 13%;
}

#front_bottom_content h1.bottom-loop {
  margin: 0 0 2.2rem;
  padding: 0;
  color: #f5f5f5;
  font-family: inherit;
  font-weight: 300;
  font-size: 4.8rem;
  text-align: left;
  line-height: 1.2;
  letter-spacing: 0.05em;
}

#front_bottom_content h1.bottom-loop .en {
  display: block;
  margin-bottom: 4.2rem;
  font-weight: 300;
  font-family: inherit;
  font-size: 4.8rem;
  text-align: left;
  line-height: 1.2;
  letter-spacing: 0.05em;
}

#front_bottom_content h1.bottom-loop .ja {
  display: block;
  color: #f5f5f5;
  font-size: 1.4rem;
  text-align: left;
  line-height: 1.8;
  letter-spacing: 0.2em;
}

#front_bottom_content .linkbottom {
  width: 100%;
}

#front_bottom_content .postlist {
  width: 41.4285%;
  padding-top: .5em;
}

.listTitle .frontlist {
  position: absolute;
  top: auto;
  bottom: 2.2rem;
  right: 1em;
  transform: translateY(0);
}

@media only screen and (max-width: 1200px){

  #front_bottom_content {
    padding: 8rem 4%;
  }

  #front_bottom_content .listTitle {
    width: 50%;
    padding: 0 4% 0 10.4%;
  }

  #front_bottom_content h1.bottom-loop {
    margin: 0 0 2rem;
    font-size: 4rem;
  }

  #front_bottom_content h1.bottom-loop .en {
    margin-bottom: 3.2rem;
  }

  #front_bottom_content h1.bottom-loop .en {
    margin-bottom: 3.2rem;
    font-size: 4rem;
  }

  #front_bottom_content .postlist {
    width: 50%;
  }

}

@media only screen and (max-width: 1023px){

  #front_bottom_content .listTitle {
    padding: 0 4% 0 5%;
  }

}

@media only screen and (max-width: 767px){

  #front_bottom_content {
    padding: 4rem 8%;
  }

  #front_bottom_content .listTitle {
    width: 100%;
    padding: 0;
  }

  #front_bottom_content h1.bottom-loop {
    font-size: 3.2rem;
  }

  #front_bottom_content h1.bottom-loop .en {
    margin-bottom: 1.2rem;
  }

  #front_bottom_content h1.bottom-loop .en {
    font-size: 3.2rem;
  }

  #front_bottom_content .postlist {
    width: 100%;
  }

}


/* ----------------------
下層　共通
---------------------- */

#h1Header #thumb,
#thumbImg {
  position: relative;
  height: 30rem;
  overflow: hidden;
}

#h1Header #thumb img,
#thumbImg img {
  position: absolute;
  max-width: none;
  width: auto;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (min-width: 1921px) {

  #h1Header #thumb,
  #thumbImg {
    position: relative;
    overflow: hidden;
  }

  #h1Header #thumb img,
  #thumbImg img {
    width: 100%;
    height: auto;
  }

}

@media screen and (max-width: 1023px) {

  #h1Header #thumb,
  #thumbImg {
    height: 22rem;
  }

  #h1Header #thumb img,
  #thumbImg img {
    margin-left: 0;
  }

}

@media screen and (max-width: 767px) {

  #h1Header #thumb,
  #thumbImg {
    height: 18rem;
  }

}

/* -- flex -- */


.flex-3 {
  display: flex;
}

.flex-3 .flex-3_item {
  width: 31%;
  margin: 0 0 0 3.5%;
}

.flex-3 .flex-3_item:nth-child(3n+1) {
  margin-left: 0;
}

.flex-3 .flex-3_item:nth-child(n+4) {
  margin-top: 3.5%;
}

.sub_page .flex-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

.flex-2 .flex-2_item {
  width: 46%;
  margin: 0;
  padding: 0;
}

.flex-2 .flex-2_item:nth-child(n+3) {
  margin-top: 5%;
}

.flex-2l {
  display: flex;
  justify-content: space-between;
}

.flex-2l_item_l {
  width: 52%;
}

.flex-2l_item_r {
  width: 40%;
}

@media screen and (max-width: 1023px) {

  .flex-2 .flex-2_item {
    width: 47%;
  }

  .flex-2l_item_l {
    width: 54%;
  }

  .flex-2l_item_r {
    width: 40%;
  }

}

@media screen and (max-width: 767px) {

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

  .flex-3 .flex-3_item {
    width: 100%;
    margin: 0;
  }

  .flex-3 .flex-3_item:nth-child(3n+1) {
    margin-left: 0;
  }

  .flex-3 .flex-3_item:nth-child(n+2) {
    margin-top: 8%;
  }

  .flex-2 .flex-2_item {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
  }

  .flex-2 .flex-2_item:nth-child(n+2) {
    margin-top: 8%;
  }

  .flex-2l {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    max-width: 600px;
    margin: 0 auto;
  }

  .flex-2l_item_l {
    width: 100%;
  }

  .flex-2l_item_r {
    width: 100%;
    min-height: 0%;
    margin: 0 0 2.4rem;
  }

}

/* -- sub_service_list -- */

.sub_page .sub_service_list_item {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.sub_page .service_list_image {
  min-height: 0%;
  margin: 0 0 2.6rem;
  order: 1;
}

.sub_page .sub_service_list_title {
  border: none;
  border-left: 1px solid #f5f5f5;
  margin: 0 0 2rem;
  padding: 0 0 0 .8em;
  color: inherit;
  font-size: 2.2rem;
  line-height: 1.6;
  order: 2;
}

.sub_page .service_list_text {
  order: 3;
}

@media screen and (max-width: 1023px) {

  .sub_page .service_list_image {
    min-height: 0%;
    margin: 0 0 2.2rem;
    order: 1;
  }

  .sub_page .sub_service_list_title {
    margin: 0 0 1.8rem;
    font-size: 2rem;
    line-height: 1.7;
  }

}

@media screen and (max-width: 767px) {

  .sub_page .service_list_image {
    min-height: 0%;
    margin: 0 0 2rem;
    order: 1;
  }

  .sub_page .sub_service_list_title {
    margin: 0 0 1.6rem;
    font-size: 1.7rem;
    line-height: 1.7;
  }

}


/* ----------------------
下層　建築事業
---------------------- */

.page-exterior #content {
  padding-bottom: 0;
}


/* ----------------------
下層　建築事業
---------------------- */

.page-architecture #content {
  padding-bottom: 0;
}


/* ----------------------
下層　不動産事業
---------------------- */

#estate .estate_discription {
  padding: 2rem 0 0;
}

#estate .estate_link_area {
  background-color: rgba(255, 255, 255, .2);
  margin: 3.2rem 0 0;
  padding: 20px;
}

#estate .estate_link_area h3 {
  margin: 0 0 1.6rem;
  font-size: 1.8rem;
}

#estate .estate_link {
  padding-left: 1em;
  text-indent: -1em;
}

#estate .estate_link::before {
  content: '> ';
}

@media screen and (max-width: 1023px) {

  #estate .estate_discription {
    padding: 1rem 0 0;
  }

  #estate .estate_link_area {
    margin: 2.4rem 0 0;
    padding: 18px;
  }

  #estate .estate_link_area h3 {
    margin: 0 0 1.2rem;
    font-size: 1.6rem;
  }

  #estate .estate_link {
    padding-left: 1em;
    text-indent: -1em;
  }

  #estate .estate_link::before {
    content: '> ';
  }

}

@media screen and (max-width: 767px) {

  #estate .estate_discription {
    padding: 0;
  }

  #estate .estate_link_area {
    margin: 1.6rem 0 0;
    padding: 16px;
  }

  #estate .estate_link_area h3 {
    margin: 0 0 1rem;
    font-size: 1.4rem;
  }

}

/* ----------------------
下層　コンセプト
---------------------- */

.page-concept #wrapper {
  max-width: 1420px
}

.page-concept #content {
  padding: 0;
}

#concept .concept_content {
  position: relative;
  z-index: 5;
}

#concept .concept_content::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: url(/struct/wp-content/uploads/concept_bg01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 calc(50% - 50vw);
  z-index: -1;
}

#concept .concept_smile::before {
  background-image: url(/struct/wp-content/uploads/concept_bg01.jpg);
}

#concept .concept_gratitude::before {
  background-image: url(/struct/wp-content/uploads/concept_bg02.jpg);
}

#concept .concept_change::before {
  background-image: url(/struct/wp-content/uploads/concept_bg03.jpg);
}

#concept .concept_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1320px;
  padding: 12rem 0 12rem 7.045%;
  box-sizing: content-box;
}

#concept .concept_box_r {
  flex-direction: row-reverse;
  padding: 12rem 7.045% 12rem 0;
}

#concept .concept_smile .concept_box {
  padding: 20rem 7.045% 20rem 0;
}

#concept .concept_title {
  margin: 0 0 4rem;
  color: #fff;
  font-size: 3.6rem;
  text-align: left;
  line-height: 1.25;
}

.concept_description {
  max-width: 425px;
  width: 42%;
}

#concept .concept_title .num {
  display: block;
  margin: 0 0 .5em;
}

#concept .concept_title .en {
  display: block;
  margin: 0 0 .5em;
}

#concept .concept_title .ja {
  display: block;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.2em;
}

#concept .concept_text {
  letter-spacing: 0.2em;
}

#concept .concept_image {
  width: 50%;
  min-height: 0%;
}

@media screen and (max-width: 1023px) {

  #concept .concept_box {
    padding: 10rem 0;
  }

  #concept .concept_smile .concept_box {
    padding: 10rem 0;
  }

  #concept .concept_title {
    margin: 0 0 3.2rem;
    font-size: 3rem;
    line-height: 1.3;
  }

  .concept_description {
    width: 46%;
  }

  #concept .concept_image {
    width: 48%;
  }

}

@media screen and (max-width: 767px) {

  #concept .concept_box {
    flex-direction: column-reverse;
    align-items: stretch;
    max-width: 600px;
    margin: 0 auto;
    padding: 6rem 0 5.6rem;
  }

  #concept .concept_smile .concept_box {
    padding: 6rem 0 5.6rem;
  }

  #concept .concept_title {
    margin: 0 0 2.4rem;
    font-size: 2.6rem;
    line-height: 1.3;
  }

  #concept .concept_description {
    max-width: none;
    width: 100%;
  }

  #concept .concept_title .num {
    margin: 0 0 .4em;
  }

  #concept .concept_title .en {
    margin: 0 0 .4em;
  }

  #concept .concept_title .ja {
    font-size: 1.3rem;
  }

  #concept .concept_image {
    width: 100%;
    margin: 0 auto 3.2rem;
  }

  #concept .concept_smile .concept_image {
    width: 95%;
    padding: 0 0 1rem;
  }

}

/* ----------------------
下層　会社情報
---------------------- */

.page-company #content {
  padding-bottom: 0;
}

#company .map {
  height: 500px;
}

#company .map iframe {
  width: 100%;
  height: 100%;
}

#editor-style #company .map span {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1023px) {

  #company .map {
    height: 400px;
  }

}

@media screen and (max-width: 767px) {

  .company_image_wrap {
    max-width: 500px;
    margin: 0 auto;
  }

  #company .map {
    height: 240px;
  }

}


/* ----------------------
下層　お問い合わせ
---------------------- */

.page-contact #content {
  padding-bottom: 0;
}

#contact table {
  margin: 0 0 4rem;
}

form.wpcf7-form {
  padding: 0;
}

span.wpcf7-list-item {
  margin: 0 1em 0 0;
}

div.wpcf7 .ajax-loader {
  display: block;
  margin: 8px auto 0;
}

/* -- 背景色が白じゃない時 -- */
/* -- 送信完了等のコメント表示部分 -- */

div.wpcf7-response-output {
  background: #fff;
  color: #1c1c1c !important;
}

.wpcf7-not-valid-tip {
  color: #e06262 !important;
}

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

.sub_page .sendBtn input[type=submit] {
  background: linear-gradient(to right, #0d94d5, #0662ac);
  border-radius: 0;
  max-width: 100%;
  width: 19rem;
  padding: 2rem 1em;
  font-size: 1.6rem;
  letter-spacing: .14em;
  line-height: 1;
  transition: background.5s, color .5s;
}

.sub_page .sendBtn input[type=submit]:hover {
  background: linear-gradient(to right, #0662AC, #097BC0);
  color: #f5f5f5;
}

@media screen and (max-width: 767px) {

  #contact table {
    margin: 0 0 3.2rem;
  }

}



/* ----------------------
下層　プライバシーポリシー
---------------------- */

#privacy ol li {
  list-style: decimal;
}


/* ----------------------
下層　サイトマップ
---------------------- */

.post ul#sitemap_list li {
  margin: 0 0 1em;
  padding: 0;
}

.post ul#sitemap_list li a {
  padding: 0 0 0 .7em;
  text-indent: -.7em;
  text-decoration: none !important;
}

.post ul#sitemap_list li a::before {
  content: "・";
  display: inline-block;
  background: none;
  width: auto;
  height: auto;
  margin-right: 5px;
  color: #f5f5f5;
  font-weight: bold;
  transition: opacity .5s;
}

.post ul#sitemap_list li a:hover {
  opacity: .5;
}

.post ul#sitemap_list ul.children {
  margin: 1em 0 0 1em;
}


/* ----------------------
ページネーション
---------------------- */

.wp-pagenavi {
  margin: 4rem 0;
  font-family: 'Tenor Sans', sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: normal;
}

.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  border: none;
  background-color: #000;
  min-width: 2em;
  padding: 8px 14px;
  margin: 5px;
  color: #f5f5f5;
  transition: color .3s ease-in-out, background-color .3s ease-in-out;
}

.wp-pagenavi a:hover, .wp-pagenavi span:hover {
  background-color: #5e5d5e;
  color: #f5f5f5;
}

.wp-pagenavi span.current {
  background-color: #5e5d5e;
  color: #f5f5f5;
  font-weight: normal;
}

.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  background: none;
  transition: opacity .5s;
}

.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .previouspostslink:hover {
  opacity: .7;
  background: none;
}

@media print, screen and (max-width: 767px) {

  .wp-pagenavi {
    font-size: 1.6rem;
  }

}


/* ----------------------
スクロール
---------------------- */

.side-open #scrollUp {
  visibility: hidden !important;
}


/*-------------------------------------
ヘッダー
----------------------------------------*/
#header{
	position: absolute;
}
#header .bg {
    background: #ffffff;
}

#header .inner {
    margin: 0 auto;
	width: 96%;
}
#header .logo {
    position: fixed;
    z-index: 10;
    top: 33px;
    left: 44px;
}
#NavLogo {
    position: fixed;
    top: 33px;
    left: 44px;
    max-width: 240px;
}
#NavLogo img{
	opacity: 0;
	transition: all .5s ease;
}
.side-open #NavLogo img{
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}
@media only screen and (max-width: 799px){
	#header .logo {
	    padding: 0;
	}
}
@media only screen and (max-width: 767px){
	#header-layout {
	    padding: 0;
		width: 96%;
		margin: 0 auto;
	}
	#header .logo img, #NavLogo img {
	    max-width: 128px;
	    height: auto;
	}
	#header .logo, #NavLogo {
	    margin: 0;
		top: 21px;
		left: 25px;
	}
}


/* ----------------------
投稿一覧
---------------------- */

.postlist a {
  transition: .5s opacity;
}

.postlist a:hover {
  color: inherit;
  opacity: .7;
}

/* -- postlist -- */

.postlist {
  background: none;
  border: none;
  margin: 0;
}

.postlist li {
  border-bottom: none;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

.postlist li + li {
  margin-top: 2.4rem;
}

@media only screen and (max-width: 767px) {

  .postlist li {
    margin-top: 1.6rem;
  }

  .postlist li + li {
    margin-top: 2rem;
  }

}

/* -- post_text -- */

.postlist .post_text {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
}

ul.post .post_text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
}

.post4b_text,
.post2b_text {
  display: flex;
  flex-direction: column-reverse;
}

@media only screen and (max-width: 799px) {

  .post4b_text70,
  .post2b_text70 {
    width: 100%;
    margin-right: 0;
  }

}

@media only screen and (max-width: 767px) {

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

}

@media only screen and (max-width: 640px) {

  #content ul.post .post_text {
    width: 100%;
  }

  #content .post4b_text70,
  #content .post2b_text70 {
    width: 100%;
  }

}

/* -- cat-loop bottom-loop -- */

h2.top-loop, h2.bottom-loop, h2.cat-loop {
  width: 100%;
  margin: 0;
  padding: 0;
  text-overflow: clip;
  white-space: normal;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

h2.top-loop a, h2.bottom-loop a, h2.cat-loop a {
  display: block;
  font-size: 1.6rem !important;
  letter-spacing: 0.1em;
  line-height: 1.875;
}

.post4b h2.cat-loop {
  margin-bottom: 1.2rem;
}

@media only screen and (max-width: 767px) {

  h2.top-loop a, h2.bottom-loop a, h2.cat-loop a,
  .post4b h2.cat-loop a {
    font-size: 1.2rem !important;
  }

}

/* -- time -- */

ul.post .time, .postlist .time, .post2b .time, .post4b .time {
  max-width: 100%;
  background-color: transparent;
  border-radius: 0;
  margin: 0 0 1.4rem;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
}

.postlist .time {
  margin: 0 46px 0 0;
  white-space: nowrap;
}

ul.post .time {
  display: inline-block;
}

@media only screen and (max-width: 799px) {

  .post2b .time, .post4b .time {
    margin-bottom: .8rem;
  }

}

@media only screen and (max-width: 767px) {

  .post .time, .postlist .time, .post2b .time, .post4b .time {
    margin: 0 0 1rem;
    font-size: 1.2rem !important;
  }

  .postlist .time {
    margin: 0 24px 0 0;
  }

  .post .time a, .postlist .time a, .post2b .time a, .post4b .time a {
    font-size: 1.2rem !important;
  }

}

@media only screen and (max-width: 640px) {

  ul.post .time, .post2b .time, .post4b .time {
    margin: 0 0 1.2rem;
  }

}

/* -- date -- */

.postlist .date {
  margin: 0 74px 0 0;
  padding: 0;
  font-size: 1.4rem;
}

@media only screen and (max-width: 767px) {

  .postlist .date {
    margin: 0 36px 0 0;
    font-size: 1.2rem;
  }

}

/* -- ttl -- */

.postlist .ttls {
  margin: 0;
  padding: 0;
  color: #f5f5f5;
  font-size: 1.4rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.postlist .ttls a {
  color: inherit;
}

@media only screen and (max-width: 767px) {

  .postlist .ttls {
    display: block;
    width: 100%;
    margin: 1rem 0 0 !important;
    font-size: 1.2rem;
  }

}

/* -- post_img -- */

ul.post .post_img {
  position: relative;
  height: 0;
  min-height: 0%;
  padding-top: 22.0171%;
  overflow: hidden;
  z-index: 1;
}

ul.post .post_img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
}

.post4b .post4b_img,
.post2b .post2b_img {
  position: relative;
  max-width: none;
  height: 0;
  min-height: 0%;
  margin-bottom: 2.4rem;
  padding-top: 70.8222%;
  overflow: hidden;
  z-index: 1;
}

.post4b .post4b_img img,
.post2b .post2b_img img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: none;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
}

@media only screen and (max-width: 799px) {

  .post4b .post4b_img,
  .post2b .post2b_img {
    width: 100%;
    margin-bottom: 1.6rem;
  }

}

@media only screen and (max-width: 640px) {

  #content ul.post .post_img,
  #content .post4b_img,
  #content .post2b_img {
    max-width: none;
    float: none;
    width: 100%;
    min-height: 0%;
    margin: 0 auto 1.6rem;
    padding-top: 70.8222%;
  }

  #content ul.post .post_img img,
  #content .post4b_img img,
  #content .post2b_img img {
    max-width: none;
  }

}

/* -- post_contents -- */

li .post_contents {
  max-width: 100%;
}

li .post4b_contents,
li .post2b_contents {
  max-width: 100%;
  margin-bottom: 2.4rem;
}

@media only screen and (max-width: 640px) {

  #content li .post_contents {
    margin: 0;
    padding: 0;
  }

}

/* -- post_link -- */

/* -- ul.post -- */

ul.post li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4.8rem;
}

ul.post li.clearfix:after {
  content: none;
}

@media only screen and (max-width: 640px) {

  ul.post li {
    flex-direction: column;
    margin-bottom: 2.4rem;
  }

}

/* -- 2b -- */

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

.post2b li {
  display: flex;
  flex-direction: column;
  border: none !important;
  margin: 0 0 2% 3%;
  padding: 0 0 0 0;
  font-size: 1.6rem;
  line-height: inherit;
  width: 48.5%;
}

.post2b li:nth-child(2n+1) {
  margin-left: 0;
}

.post2b li.clearfix:after {
  content: none;
}

@media only screen and (max-width: 799px) {

  .post2b li {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 3.2rem;
    margin-left: 0;
  }

}

@media only screen and (max-width: 640px) {

  .post2b li {
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 2.4rem;
  }

}


/* -- 4b -- */

.post4b {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.post4b li {
  display: flex;
  flex-direction: column;
  border: none !important;
  margin: 0 0 0 1.9166%;
  padding: 0 0 0 0;
  font-size: 1.6rem;
  line-height: inherit;
  width: 23.5625%;
}

.post4b li:nth-child(4n+1) {
  margin-left: 0;
}

.post4b li:nth-child(n+5) {
  margin-top: 5%;
}

.post4b li.clearfix:after {
  content: none;
}

@media only screen and (max-width: 959px) {

  .post4b li {
    width: 48.5%;
  }

  .post4b li:nth-child(4n+1) {
    margin-left: 3%;
  }

  .post4b li:nth-child(2n+1) {
    margin-left: 0;
  }

  .post4b li:nth-child(n+3) {
    margin-top: 5%;
  }

}

@media only screen and (max-width: 799px) {

  .post4b li {
    width: 48.5%;
  }

  .post4b li:nth-child(4n+1) {
    margin-left: 3%;
  }

  .post4b li:nth-child(2n+1) {
    margin-left: 0;
  }

  .post4b li:nth-child(n+3) {
    margin-top: 5%;
  }

}

@media only screen and (max-width: 640px) {

  .post4b li {
    width: 100%;
    margin-bottom: 0;
    margin-left: 0 !important;
  }

  .post4b li:nth-child(n+2) {
    margin-top: 7%;
  }

}

/* -- pagenav dateLabel -- */

.dateLabel {
  margin: 4rem 0 6rem;
}

.pagenav {
  margin: 8rem 0 0;
}

.pagenav a {
  color: #f5f5f5;
  transition: opacity .5s;
}

.pagenav a:hover {
  opacity: .7;
}


@media only screen and (max-width: 767px) {

  .dateLabel {
    margin: 1.6rem 0 3rem;
  }

  .pagenav {
    margin: 4rem 0 0;
  }

}

/*-------------------------------------
メインナビ
----------------------------------------*/
nav#mainNav {
    clear: both;
    width: 100%;
    margin: 0 auto;
    top: 35px;
    position: relative;
    padding: 0;
}

.menu-trigger {
    position: fixed;
    width: 24px;
    height: 21px;
    left: inherit;
    top: 34px;
    right: 48.5px;
}

.menu-trigger, .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    z-index: 13;
}

#menu-trigger::after {
    position: absolute;
    top: 0%;
    left: 0%;
    display: block;
    content: '';
    width: 80px;
    height: 70px;
    border: none;
    margin: -13px 0px 0 -19px;
    transition: all .75s;
    background: rgba(0,0,0,1.00);
    border-radius: 0;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

/*-------------------------------------
メインビジュアル
----------------------------------------*/
p.main_txt {
    position: relative;
    z-index: 0;
    font-size: 4rem;
}


/*-------------------------------------
ボタン
----------------------------------------*/

.common_button_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.common_button_wrap .common_button + .common_button {
  margin-left: 40px;
}

.post .common_button,
.linkBtn {
  background-color: transparent;
  margin: 1.8rem 0 0;
  padding: 0;
}

.linkBtn::after {
  content: none;
}

.linkBtn:hover {
  background-color: transparent;
}

.post .common_button a,
.linkBtn a {
  display: inline-block;
  position: relative;
  padding: 22px 30px;
  font-family: "Tenor Sans", "Noto Sans JP", "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  text-decoration: none !important;
}

.post .common_button a:hover,
.linkBtn a:hover {
  opacity: inherit;
}

.post .common_button a::after,
.linkBtn a::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #f5f5f5;
  width: 100%;
  height: 1px;
  transform-origin: left bottom;
  transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.post .common_button a:hover::after,
.linkBtn a:hover::after {
  transform-origin: right bottom;
	transform: scaleX(0);
}

@media only screen and (max-width: 767px) {

  .common_button_wrap .common_button + .common_button {
    margin-left: 20px;
  }

  .post .common_button,
  .linkBtn {
    margin: 1.2rem 0 0;
  }

  .post .common_button a,
  .linkBtn a {
    padding: 16px 20px;
    font-size: 1.3rem;
  }
}


/*-------------------------------------
SNS icon
----------------------------------------*/
#socialicon i {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
#socialicon i:hover {
    transform: scale(1.1);
}
.nav-sns ul {
    display: flex;
    justify-content: center;
    align-items: center;
}
.nav-sns #socialicon img {
    max-width: 22px;
}
.fix-sns {
    position: fixed;
    top: 82%;
    left: 47px;;
    transform: translateY(-50%);
    z-index: 20;
}
.fix-sns:before {
	content: '';
	position: absolute;
	bottom: 120%;
	left: 50%;
	width: 1px;
	height: 70px;
	background: #fff;
}
.fix-sns img {
    max-width: 16px;
}
.fix-sns img:hover{
	-webkit-transform: scale(1);
    transform: scale(1);
}
.fix-sns .recruit-label{
    position: absolute;
    left: 3px;
	bottom: -130px;
}
.fix-sns .vision-trigger-hover:before{
	width: 2px;
    height: 47px;
    content: '';
    display: block;
    background-color: #fff;
	margin-left: 7px;
	transition-duration: 0.4s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    backface-visibility: hidden;
	position: absolute;
}
.fix-sns .vision-trigger-hover.is-over:before{
	height: 140px;
}
.fix-sns .vision-trigger-hover.is-leave:before{
	height: 47px;
}
.fix-sns #socialicon ul li {
    padding-bottom: 12px;
}
.fix-sns #socialicon .fa-2x {
    font-size: 1.5em;
    color: #fff;
}
.side-open .fix-sns {
  display: none !important;
}
svg.SvgLine {
    fill: #fff;
}
user agent stylesheet

.nav-sns #socialicon {

	margin: 0 auto;
}
.nav-sns #socialicon li {
  display: inline-block;
  margin: 30px 10px 0;
}

.nav-sns #socialicon li:first-child {
  margin-left: 0;
}
.nav-sns #socialicon .fa-2x {
    font-size: 1.4em;
}
@media screen and (max-width: 767px){
  .fix-sns{
    right: 22px;
    display: none;
    }

  .nav-sns #socialicon li {
    margin: 20px 8px 0;
  }
}
/*-------------------------------------
フロントページ
----------------------------------------*/
#content {
    float: none;
}

.top_bnrBox {
    width: 80%;
    margin: 8% 10% 0;
    display: flex;
    justify-content: space-around;
}

@media screen and (min-width: 768px){
.top_bnrBox .column2_30 {
    width: 31.55556%;
    box-sizing: border-box;
}
}

@media screen and (max-width: 767px){
	.home .post .column2_30 {
	    width: 100%;
	}
	.home .post .column2_30:first-child{
		margin: 0;
	}
	.home .post .column2_30{
		margin: 30px 0 0 0;
	}
	.top_bnrBox {
		flex-direction: column;
		width: auto;
		margin-bottom: 50px;
		margin-right: 0;
		margin-left: 0;
	}
	.post.flex-home{
		flex-direction: column;
	}
	.post.flex-home .column2_50{
		flex-basis: auto;
		margin: 15px 0;
	}
	.btnBox{
		margin-top: 10px;
	}
}

.bnr_tit {
    text-align: left;
    padding: 30px 30px 0;
	box-sizing: border-box;
	color: #2d2422;
}

.bnr_tit p.txt_l {
    font-size: 1.5rem;
}

.bnr_tit p.txt_s {
    display: block;
	margin-bottom: 25px;
}

.btn9 {
	background-color: #ffffff;
    border: 1px solid #333;
    color: #2d2422;
    display: block;
    text-align: center;
    text-decoration: none;
    width: 96%;
    margin: 0 auto;
}

.recruitBox {
    margin-top: 100px;
    position: relative;
    z-index: 1;
    margin-bottom: 30px;
}

.newsBox {
    margin-top: 100px;
    margin-right: 10%;
    margin-left: 10%;
}
.stBox {
    margin-top: 100px;
    margin-right: 10%;
    margin-left: 10%;
}

.post .time {
    color: #2d2422;
    background-color: #ffffff;
}

.post .time a {
    color: #2d2422;
}

li .post_contents {
    display: none;
}

.post_link {
    display: none;
}

.post li {
    border-bottom: none;
}

.column2_50.column {
    position: relative;
}

p.main_txt {
    position: relative;
    z-index: 0;
    font-size: 4.6875rem;
    max-width: 498px;
    margin: 0 auto;
	padding-bottom: 40px;
}

p.sub_txt {
    font-size: 160%;
    letter-spacing: 8px;
}

.titBox {
    margin-top: -50px;
}

.post.flex-home {
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-bottom: 30px;
}
.home .post ul{
	margin: 0 0;
}
.flex-item {
    display: flex;
    justify-content: space-around;
}
.home .post .column2_50 {
    width: 47.91667%;
    display: block;
}

.home .post.flex-home .column2_50 {
    margin: 0;
}

.home .post .column2_50 .post_img img {
    max-width: 100%;
	margin: 0 auto;
}

.post .column2_50.column a{
	overflow: hidden;
}

.post .column2_50.column img{
	vertical-align: bottom;
	width:100%;
}
.flex-home .c-slide-in_wrap3{
	display: flex;
}
.flex-home ul li a {
    overflow: hidden;
	width: 27.516%;
}
.flex-home .post li {
	margin-bottom: 9%;
	padding-left: 4.75%;
}
.home .post .post_img {
    width: 100%;
    margin: 0;
    padding: 0;
    float: none;
}
.home .post_text70 {
    width: 73.2%;
	float: none;
	padding-left: 30px;
}

h2.bottom-loop {
    text-align: left;
	font-weight: normal;
    font-size: 1.125rem;
    line-height: 1.44444;
    overflow: hidden;
    margin-top: 5px;
    margin-bottom: 0;
}

.flex-home .post li:last-child {
    display: none;
    margin-bottom: 0;
    padding-left: 0;
}
@media screen and (max-width: 1023px){
.bnr_tit span.txt_s {
    font-size: 12px;
}
}
@media screen and (max-width: 767px){
	.recruitBox{
		margin-top: 50px;
	}
	.recruitBox .top_r_area{
		width: auto;
	}
	.newsBox{
		margin: 100px auto 0 auto;
	}
	.stBox{
		margin: 50px 25px;
	}
	.home .post.flex-home .column2_50{
		width: 100%;
		margin-bottom: 20px;
	}
	.home .post.flex-home .column2_50:last-child{
		margin-bottom: 0px;
	}
	.flex-home .post li {
	    padding-left: 0;
	}
#full-wrapper .flex-home .post {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	}
.flex-home .post li {
    width: 48%;
	}
.home .post_text70{
		padding: 20px 0;
		box-sizing: border-box;
		width: 100%;
	}
.flex-home .c-slide-in_wrap3{
		    flex-direction: column;
	}
.flex-home ul li a{
		width: 100%;
	}
.flex-home .post li:last-child{
		display:block;
		margin-left: 3.9%;
	}
}
@media screen and (max-width: 640px){
p.main_txt {
    font-size: 2.375rem;
    width: 70%;
    padding-bottom: 0px;
	margin: 0 auto 16px;
}
p.sub_txt {
    font-size: 100%;
	letter-spacing: 2px;
}
.titBox {
    margin-top: 0;
}
.recruitBox {
    margin-top: 42px;
    margin-bottom: -50px;
}
.bnr_tit {
    padding: 20px 0;
	}
}
@media screen and (max-width: 414px){
#content .post_img{
		max-width: 100%;
	}
}


/*c-button*/

@media all and (min-width:1025px) {
.c-button--footer {
    font-size: 13px;
    font-size: .8125rem
}
}

@media all and (min-width:768px) and (max-width:1024px) {
.c-button--footer {
    font-size: 12px;
    font-size: .75rem
}
}

@media all and (max-width:767px) {
.c-button--footer {
    font-size: 10px;
    font-size: .625rem
}
}

@media all and (max-width:767px) and (max-width:414px) {
.c-button--footer {
    font-size: 3.125vw
}
}

@media all and (max-width:767px) and (min-width:415px) {
.c-button--footer {
    font-size: 12.9375px
}
}

@media all and (min-width:768px) {
.c-button--footer {
    width: 440px;
    padding-top: 40px;
    padding-bottom: 40px
}
}

@media all and (max-width:767px) {
.c-button--footer {
    width: 100%;
    padding-top: 25px;
    padding-bottom: 25px
}
}
.c-button--footer:before {
    background-color: #333
}
.c-button__label {
    display: inline-block;
    position: relative;
    z-index: 10
}
.c-button__label--footer {
    color: #fff
}
.c-button__border-h:after, .c-button__border-h:before, .c-button__border-v:after, .c-button__border-v:before {
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    background-color: #000
}
.c-button__border-h--footer:after, .c-button__border-h--footer:before, .c-button__border-v--footer:after, .c-button__border-v--footer:before {
    background-color: #666
}
.c-button__border-v:after, .c-button__border-v:before {
    width: 2px;
    top: 0;
    bottom: 0
}
.c-button__border-v:before {
    left: 0
}
.c-button__border-v:after {
    right: 0
}
.c-button__border-h:after, .c-button__border-h:before {
    height: 2px;
    right: 0;
    left: 0
}
.c-button__border-h:before {
    top: 0
}
.c-button__border-h:after {
    bottom: 0
}
.c-button--utility {
    color: #999
}
.c-button--utility:after {
    background-color: #999
}
.c-button--utility .c-button__border-h:after, .c-button--utility .c-button__border-h:before, .c-button--utility .c-button__border-v:after, .c-button--utility .c-button__border-v:before {
    background-color: #999
}
.c-button__label {
    opacity: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: color, opacity;
    transition-property: color, opacity
}
.c-button__border-h:after, .c-button__border-h:before, .c-button__border-v:after, .c-button__border-v:before {
    -webkit-transition-duration: .6s;
    transition-duration: .6s;
    -webkit-transition-timing-function: cubic-bezier(.075, .82, .165, 1);
    transition-timing-function: cubic-bezier(.075, .82, .165, 1);
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}
.c-button__border-v:after, .c-button__border-v:before {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}
.c-button__border-v:before {
    -webkit-transform-origin: bottom;
    transform-origin: bottom
}
.c-button__border-v:after {
    -webkit-transform-origin: top;
    transform-origin: top
}
.c-button__border-h:after, .c-button__border-h:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}
.c-button__border-h:before {
    -webkit-transform-origin: left;
    transform-origin: left
}
.c-button__border-h:after {
    -webkit-transform-origin: right;
    transform-origin: right
}
.c-button:before {
    opacity: 0;
    -webkit-transition-duration: .6s;
    transition-duration: .6s;
    -webkit-transition-delay: .2s;
    transition-delay: .2s;
    -webkit-transition-property: opacity;
    transition-property: opacity
}
.c-button:after {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: cubic-bezier(.075, .82, .165, 1);
    transition-timing-function: cubic-bezier(.075, .82, .165, 1);
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}
.c-button.is-shown .c-button__label {
    opacity: 1;
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}
.c-button.is-shown .c-button__border-v:after, .c-button.is-shown .c-button__border-v:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}
.c-button.is-shown .c-button__border-h:after, .c-button.is-shown .c-button__border-h:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}
.c-button.is-shown:before {
    opacity: 1
}
.c-button.is-over .c-button__label {
    color: #fff;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}
.c-button.is-over:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}
.c-button.is-leave .c-button__label {
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}
.c-button.is-leave:after {
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}
.c-button {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    line-height: 1.1;
    position: relative;
    border: 0;
    color: #000;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .3em;
    background: 0 0
}
.c-button:after, .c-button:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}
.c-button:before {
    background-color: #fff
}
.c-button:after {
    background-color: #000
}
.c-button--pos-c {
    margin-right: auto;
    margin-left: auto
}
.c-button.is-shown:before {
    opacity: 1;
}
.c-button--footer:before {
    background-color: #333;
}
@media all and (min-width:1025px) {
.c-button--size-m {
    font-size: 12px;
    font-size: .75rem
}
}

@media all and (min-width:768px) and (max-width:1024px) {
.c-button--size-m {
    font-size: 11px;
    font-size: .6875rem
}
}

@media all and (max-width:767px) {
.c-button--size-m {
    font-size: 9px;
    font-size: .5625rem
}
}

@media all and (max-width:767px) and (max-width:414px) {
.c-button--size-m {
    font-size: 2.8125vw
}
}

@media all and (max-width:767px) and (min-width:415px) {
.c-button--size-m {
    font-size: 11.64375px
}
}

@media all and (min-width:768px) {
.c-button--size-m {
    width: 220px;
    padding-top: 20px;
    padding-bottom: 20px;
	margin-bottom: 50px;
}
}

@media all and (max-width:767px) {
.c-button--size-m {
    width: 160px;
    padding-top: 16px;
    padding-bottom: 16px
}
}
@media screen and (max-width: 767px){
	.post {
		width: auto;
	}
}

/*-------------------------------------
下層ページ
----------------------------------------*/

.linkBox {
    background: #eaeaea;
}

.linkBox ul li {
    display: inline-block;
	font-size: 0.9rem;
	width: 44px;
}

.linkBox ul {
    width: 100%;
    margin: 0 auto;
    padding: 15px 0 0;
    text-align: center;
}

#gallery-1 img,#gallery-2 img {
    border: none !important;
}

.btnBox {
    max-width: 955px;
	letter-spacing: 0.3em;
    font-size: 86%;
	padding: 0 30px;
}
.front-read {
    text-align: left;
    display: block;
	color: #2d2422;
	width: 106px;
}
.c-link-underline::after {
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: cubic-bezier(.075,.82,.165,1);
    transition-timing-function: cubic-bezier(.075,.82,.165,1);
}
.c-link-underline::after {
    width: 35px;
}
.c-link-underline::after {
    height: 2px;
    content: '';
    display: block;
    margin-top: 11px;
    background-color: #000;
}
.is-over .c-link-underline::after {
    width: 100%;
}
.is-leave .c-link-underline::after {
    width: 35px;
}
.btnBox .column2_50 {
    margin: 5px 2px;
    width: 48%;
	padding:0;
	display: inline-block;
}


@media only screen and (min-width: 1024px){
.accshow.linkBox {
    height: auto;
    padding: 0;
    background: #eceae6;
    opacity: 1;
    margin-top: -2px;
}
input#label1 {
    display: none;
}
.accbox label {
    display: none;
}
.linkBox ul {
    width: 100%;
	margin: -31px auto 88px;
    padding: 40px 0 30px;
    text-align: center;
    font-weight: normal;
}
.linkBox ul li a{
    color: #2d2422;
    letter-spacing: 1.5px;
}
}

@media only screen and (max-width: 1023px){
/*ボックス全体*/
.accbox {
    margin: 2em 0;
    padding: 0;
}

/*アイコンを表示*/
.accbox label:before {
    content: '\f067';
    font-family: 'FontAwesome';
    padding-right: 8px;
}

/*ラベルホバー時*/
.accbox label:hover {
	background: #e1e2e2;
}

/*チェックは隠す*/
.accbox input {
    display: none;
}

/*中身を非表示にしておく*/
.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
    height: auto;
    padding: 0;
    background: #eceae6;
    opacity: 1;
    margin-top: -2px;
    border-top: 1px solid #ffffff;
}

.accbox .accshow p {
    margin: 15px 10px;
    color: #bd9e3b;
}

.accshow p::before {
    content: '\f031';
    font-family: 'FontAwesome';
    padding-left: 0;
    color: #9a781b;
    padding-right: 6px;
}

/*ラベル*/
.accbox label {
    display: block;
    margin: 1.5px 0;
    padding: 13px 12px;
    color: #2d2422;
    font-weight: normal;
    cursor: pointer;
    transition: all 0.5s;
    text-align: center;
    background: #eceae6;
    font-size: 101%;
    margin-top: -30px;
    letter-spacing: 1.5px;
}
.linkBox ul li {
    display: inline-block;
    font-size: 0.9rem;
    width: 44px;
    font-weight: normal;
}
.linkBox ul li a{
    color: #2d2422;
}
}


@media only screen and (max-width: 880px){
.btnBox {
    max-width: 500px;
    width: 96%;
}
.btnBox .column2_50 {
    width: 100%;
    padding: 0;
    margin: 5px auto;
}
}

@media only screen and (max-width: 640px){
.btnBox {
    padding: 0;
}
}


/* ----------------------
パンくず
---------------------- */

#breadcrumb {
  background-color: transparent;
  padding: 28px 4%;
  background: #000;
}

#breadcrumb ul {
  max-width: 1100px;
  width: 100%;
  padding: 0;
}

#breadcrumb ul li {
  font-size: 1.1rem;
  line-height: 1.5;
}

#breadcrumb ul li:first-child {
  margin-left: 0;
}

@media screen and (max-width: 1023px) {

  #breadcrumb {
    padding: 20px 4%;
  }

}

@media screen and (max-width: 767px) {

  #breadcrumb {
    padding: 12px 4%;
  }

}


/*-------------------------------------
フッター
----------------------------------------*/

/* -- reset -- */

#footer {
  padding: 0;
}

#footer ul {
  padding: 0;
}

#footer ul li {
  margin: 0;
  padding: 0;
}

#footer ul li::before {
  content: none;
}

#footer ul li:last-child::before {
  content: none;
}

/* -- reset終わり -- */

#footer {
  border-bottom: none;
  background: #000;
}

#footer .footer_inner {
  max-width: 1720px;
  width: 92%;
  margin: 0 auto;
  padding: .6rem 1rem 1.2rem;
}

#footer ul li {
  background: none;
  margin: .6rem 28px 0 0;
}

#footer ul li:last-child {
  margin-right: 0;
}

#footer ul li a {
  padding: 0;
  color: #f5f5f5;
  font-family: "Tenor Sans", "Noto Sans JP", "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  transition: opacity .5s;
}

#footer ul li a:hover {
  opacity: .5;
  text-decoration: none !important;
}

#footer .foot_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#copyright {
  background: none;
  padding: 0;
  color: #f5f5f5;
  font-size: 1rem;
  text-align: right;
}

/* -- footer_sub -- */

#footer .footer_sub {
  background-image: url(/struct/wp-content/uploads/footer_bg.jpg);
  padding: 5.4rem 4% 5.1rem;
}

#footer .footer_sub_flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 0 1rem;
  font-family: "Tenor Sans", "Noto Sans JP", "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}

#footer .footer_sub_text {
  padding-right: 4%;
}

#footer .footer_sub_text-1 {
  margin: 0 0 2.4rem;
  font-size: 2.4rem;
  text-align: left;
  line-height: 1.8;
}

#footer .footer_sub_num {
  display: flex;
  margin: 0;
  font-size: 3rem;
  text-align: left;
  line-height: 1.3;
}

#footer .footer_sub_tel span,
#footer .footer_sub_fax span {
  display: inline-block;
}

#footer .footer_sub_text-2 {
  font-size: 1.2rem;
  text-align: left;
  line-height: 1.5;
}

#footer .footer_sub_tel {
  margin-right: 36px;
}

#footer .footer_sub_contact_button a {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(to right, #0d94d5, #0662ac);/*0408修正*/
  background-size: 200%;
  padding: 40px 76px;
  color: #f5f5f5;
  font-size: 2.8rem;
  transition: background-position .5s;
}

#footer .footer_sub_contact_button a span {
  display: block;
  margin: 1.6rem 0 0;
  font-size: 1.2rem;
}

#footer .footer_sub_contact_button a:hover {
  background-position: right top;
}

@media only screen and (max-width: 1200px){

  /* -- footer_sub -- */

  #footer .footer_sub_text-1 {
    margin: 0 0 2rem;
    font-size: 2.2rem;
  }

  #footer .footer_sub_num {
    font-size: 2.6rem;
    line-height: 1.6;
  }

  #footer .footer_sub_contact_button a {
    padding: 32px 54px;
    font-size: 2.4rem;
  }

  #footer .footer_sub_contact_button a span {
    margin: 1.2rem 0 0;
  }

}

@media only screen and (max-width: 1023px){

  /* -- footer_sub -- */

  #footer .footer_sub_text-1 {
    margin: 0 0 1.2rem;
    font-size: 1.8rem;
  }

  #footer .footer_sub_num {
    flex-direction: column;
  }

  #footer .footer_sub_tel {
    margin-right: 0;
  }

}


@media only screen and (max-width: 767px){

  #footer ul {
    margin: 0 0 1rem;
  }

  #footer ul li {
    background: none;
    margin: .6rem 14px 0 0;
  }

  #footer ul li a {
    font-size: 1rem;
  }

  #footer .foot_flex {
    flex-direction: column;
  }

  #copyright {
    text-align: left;
  }

  /* -- footer_sub -- */

  #footer .footer_sub {
    padding: 3.2rem 4%;
  }

  #footer .footer_sub_flex {
    flex-direction: column;
    padding: 0;
  }

  #footer .footer_sub_text {
    margin: 0 0 2.4rem;
    padding-right: 0;
  }

  #footer .footer_sub_text-1 {
    margin: 0 0 .8rem;
    font-size: 1.5rem;
    line-height: 1.7;
  }

  #footer .footer_sub_num {
    flex-direction: column;
    font-size: 2.2rem;
  }

  #footer .footer_sub_contact_button a {
    padding: 24px 36px;
    font-size: 2.2rem;
  }

  #footer .footer_sub_contact_button a span {
    margin: .6rem 0 0;
    font-size: 1.2rem;
  }

}

/*tab*/
/*menu trigger
--------------------------------------------------------*/
.menu-trigger, .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	z-index: 13;
}
.menu-trigger p.menutr {
    position: absolute;
    bottom: -82%;
    font-size: 80%;
		color: #f8d4da;
		z-index: 3;
}
#menu-trigger.active p.menutr{
		display: none;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 0px;
}
.menu-trigger span:nth-of-type(1) {
	top: 2.5px;
}
.menu-trigger span:nth-of-type(2) {
	top: 10.5px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.fix-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    min-height: 100%;
    padding: 100px 40px;
}
.fix-menu ul li {
	position: relative;
}
.fix-menu ul li a {
  position: relative;
  padding: 5px 0;
	color: #f5f5f5;
  font-weight: 300;
	font-size: 1.8rem;
}
.fix-menu > ul li a::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #f5f5f5;
  width: 0;
  height: 1px;
  transition: width .5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.fix-menu > ul li a:hover::after {
  background-color: #f5f5f5;
	width: 100%;
}
.fix-menu ul li a b{
	position: relative;
	font-weight: 300;
}
.fix-menu ul li a:hover{
	text-decoration: none;
}
.fix-menu ul li a b:before {
    height: 2px;
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: -2px;
    left: -2px;
    margin-top: -1px;
	background-color: #5c5c5c;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.fix-menu .nav-recruit::after {
  font-family: FontAwesome;
  content: '\f08e';
  margin-left: 8px;
}
@media screen and (max-width: 767px) {

  .fix-menu {
    padding: 70px 20px;
  }
  .mobile .fix-menu {
    padding-bottom: calc(20px + 70px);
  }
  .fix-menu ul li a {
    padding: 4px 0;
    font-size: 1.6rem;
  }
  .fix-menu ul li a:hover{
    text-decoration: none;
  }
  .fix-menu ul li a b:before {
    height: 2px;
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: -2px;
    left: -2px;
    margin-top: -1px;
    background-color: #5c5c5c;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
  }

}
/*menu trigger fix
--------------------------------------------------------*/
.menu-trigger-fix, .menu-trigger-fix span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	z-index: 13;
}
.menu-trigger-fix {
	position: fixed;
	width: 30px;
	height: 27px;
	left: 83%;
	top: 65px;
}
.menu-trigger-fix span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #111;
	border-radius: 0px;
}
.menu-trigger-fix span:nth-of-type(1) {
	top: 0;
}
.menu-trigger-fix span:nth-of-type(2) {
	top: 11.5px;
}
.menu-trigger-fix span:nth-of-type(3) {
	bottom: 0;
}

/*menu trigger effect
--------------------------------------------------------*/
#menu-trigger::after {
	position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    content: '';
	width: 40px;
    height: 40px;
    border: none;
    margin: 0;
    transition: all .75s;
    background: transparent;
    border-radius: 0;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
	transform: translate(-50%,-50%);
}

#menu-trigger.active::after {
    background:rgba(0,0,0,0.00);
}

#menu-trigger.active span:nth-of-type(1) {
	transform: translateY(8.5px) rotate(-45deg);
	-webkit-transform: translateY(8.5px) rotate(-45deg);
	-moz-transform: translateY(8.5px) rotate(-45deg);
	-ms-transform: translateY(8.5px) rotate(-45deg);
	background-color: #fff;
}

#menu-trigger.active span:nth-of-type(2) {
	left: 60%;
	opacity: 0;
	animation: active-menu12-bar02 .8s forwards;
	-webkit-animation: active-menu12-bar02 .8s forwards;
	-moz-animation: active-menu12-bar02 .8s forwards;
	-ms-animation: active-menu12-bar02 .8s forwards;
}
@-webkit-keyframes active-menu12-bar02 {
 100% {
 height: 0;
}
}
@keyframes active-menu12-bar02 {
 100% {
 height: 0;
}
}
#menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-7px) rotate(45deg);
	-webkit-transform: translateY(-7px) rotate(45deg);
	-moz-transform: translateY(-7px) rotate(45deg);
	-ms-transform: translateY(-7px) rotate(45deg);
	background-color: #fff;
}
#menu-trigger.active::after {
	animation: menu12-circle .4s .25s forwards;
	-webkit-animation: menu12-circle .4s .25s forwards;
	-moz-animation: menu12-circle .4s .25s forwards;
	-ms-animation: menu12-circle .4s .25s forwards;
}
@-webkit-keyframes menu12-circle {
 0% {
 border-color: transparent;
 transform: rotate(0);
 -webkit-transform: rotate(0);
 -moz-transform: rotate(0);
 -ms-transform: rotate(0);
}
 25% {
 border-color: transparent #fff transparent transparent;
}
 50% {
 border-color: transparent #fff #fff transparent;
}
 75% {
 border-color: transparent #fff #fff #fff;
}
 100% {
 border-color: #fff;
 transform: rotate(-680deg);
 -webkit-transform: rotate(-680deg);
 -moz-transform: rotate(-680deg);
 -ms-transform: rotate(-680deg);
}
}
@keyframes menu12-circle {
 0% {
 border-color: transparent;
 transform: rotate(0);
 -webkit-transform: rotate(0);
 -moz-transform: rotate(0);
 -ms-transform: rotate(0);
}
 25% {
 border-color: transparent #fff transparent transparent;
}
 50% {
 border-color: transparent #fff #fff transparent;
}
 75% {
 border-color: transparent #fff #fff #fff;
}
 100% {
 border-color: #fff;
 transform: rotate(-680deg);
 -webkit-transform: rotate(-680deg);
 -moz-transform: rotate(-680deg);
 -ms-transform: rotate(-680deg);
	}
}
@media screen and (max-width: 767px) {
	.menu-trigger {
		top: 21px;
		width: 18px;
	    height: 16px;
		right: 25px;
	}
	.menu-trigger span:nth-of-type(1){
	top: 0px;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 6.5px;
	}
	.side-open #right-panel{
		padding-top: 10px;
	}
}
@media screen and (max-width: 767px) {
	#menu-trigger.active span:nth-of-type(1) {
		transform: translateY(11px) rotate(-45deg);
		-webkit-transform: translateY(11px) rotate(-45deg);
		-moz-transform: translateY(11px) rotate(-45deg);
		-ms-transform: translateY(11px) rotate(-45deg);
		background-color: #fff;
	}
	#menu-trigger.active span:nth-of-type(3) {
		transform: translateY(-3px) rotate(45deg);
		-webkit-transform: translateY(-3px) rotate(45deg);
		-moz-transform: translateY(-3px) rotate(45deg);
		-ms-transform: translateY(-3px) rotate(45deg);
		background-color: #fff;
	}
}
/* メインコンテンツ
--------------------------------------------------------*/
#all {
	position: relative;
	width: 100%;
	height: 100%;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 2;
}
#mainImg{
	background: #f5f5f5;
}


/* サイドオープン時にメインコンテンツを覆う部分
--------------------------------------------------------*/
.overlay {
	content: '';
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 5;
}
.overlay::after {
	content: "";
	visibility: hidden;
	position: fixed;
	top: 40%;
	left: 0;
	display: block;
	width: 100%;
	height: 50px;
	color: rgba(255,255,255,0);
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}
.side-open .overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
	visibility: visible;
	cursor: pointer;
	background: rgba(0,0,0,.7);
  z-index: 10;
}
.side-open .overlay::after {
	visibility: visible;
	color: rgba(255,255,255,.8);
}
/* サイドメニュー ※リストのスタイルは省略
--------------------------------------------------------*/
#right-panel {
  display: flex !important;
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	padding-top: 10px;
	text-align: left;
	background: rgba(0,0,0,0.8);
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	opacity: 0;
	z-index: -1;
}

/* サイドメニューオープン
--------------------------------------------------------*/
.side-open #right-panel {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	width: 50%;
	overflow: auto;
	position: fixed;
	height: 100%;
	padding: 0;
	box-sizing: border-box;
	opacity: 1;
	z-index: 12;
}
.panel ul li {
	margin: 18px 0;
	display: block;
}
.panel ul li:last-child {
  margin-bottom: 0;
}
.panel ul li ul li::before {
	content: '- ';
}
.panel ul li ul li ul li {
	text-indent: 16px;
}
.scroll-logo {
	display: block;
	padding-left: 0;
	margin:0 auto;
	text-align:center;
}

@media screen and (max-width: 1023px){
	nav div.panel {
		float: none;
		display: block !important;
	}
}

@media screen and (max-width: 767px) {

  .side-open #right-panel {
    width: 100%;
  }
  .panel ul li {
    margin: 14px 0;
  }

}

/*CONTACT
------------------------------*/
.contact-area {
    width: 100%;
    max-width: 1015px;
    margin: 0 auto;
}
.c-pp-area {
    width: 100%;
    max-width: 1015px;
    margin: 0 auto 30px auto;
    padding: 6%;
    box-sizing: border-box;
    background-color: rgb(245, 243, 240);
}
.c-pp-area h1 {
	padding: 0;
    font-size: 130%;
	border: none;
}
.c-pp-area h2 {
	margin-top: 4%;
	padding: 0;
    font-size: 120%;
	background: none;
	font-weight: normal;
}
.post .c-pp-area ol {
   font-weight: normal;
}
.scroll-area {
    height: 500px;
    overflow-y: scroll;
}
.scroll-area::-webkit-scrollbar{width: 3px;}
.scroll-area::-webkit-scrollbar-track{background:#eeeeee; border-radius: 10px;}/*バーの背景色*/
.scroll-area::-webkit-scrollbar-thumb{background:#dddddd; border-radius: 10px;}/*バーの色*/

/*CONTACT
------------------------------*/
.pp-area {
    width: 96%;
    max-width: 1015px;
    margin: 0 auto;
}
.pp-area h2 {
	margin-top: 6.25%;
	padding: 0;
    font-size: 130%;
}
.post .pp-area ol {
   font-weight: normal;
}

p.item {
    font-size: 1.125rem;
    margin-top: 34px;
}

p.field {
    border-bottom: 1px solid #2d2422;
}

p.field_last {
    border-bottom:none;
}

span.kome {
    color: rgb(191, 172, 143);
}


/*category*/
ul.cat3col li .post_text70 {
    width: 100%;
	float: none;
}
ul.cat3col li {
    width: 30%;
    display: inline-block;
    margin: 1.5%;
}
ul.cat3col h2{
	text-align: left;
}
ul.cat3col .post_img{
	width: 100%;
}
ul.cat3col .img-bg img{
	padding: 0;
}
@media screen and (max-width: 650px){
	ul.cat3col li {
		width: 90%;
		display: block;
		margin: 30px auto;
		}
	#content .post_img{
		text-align: center;
		}
	#content .post_img img{
		width: 100%;
		max-width: 100%;
		}
	#content ul.cat3col .post_text70{
		margin: 2em auto;
		}
	.page-template-default .post,
	.page-template-page-nosidebar .post {
		width: 90%;
		margin: 0 auto;
	}
}


.scroll a {
  display: inline-block;
  position: absolute;
  right: 40px;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 110px;
  overflow: hidden;
  color: #2d2422;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
	font-family: 'Marcellus SC', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.scroll a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #2d2422;
}
.scroll a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: rgba(45, 36, 34, 0.4);
}
.scroll a::after {
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@media screen and (max-width: 768px){
	.scroll a {
		font-size: 10px;
		right: 10px;
	}
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

/*front-page*/
.news-area {
    padding: 3rem 0;
}
section.photo-area {
    background: #463936;
    padding: 3rem 0;
}
.front_photo {
    display: flex;
    justify-content: space-between;
	overflow: hidden;
}
@media screen and (max-width: 768px){
	.front_photo {
		flex-direction: column;
		width: 90%;
		margin: 0 auto;
	}
	.front_photo img {
		width: 100%;
	}
}
section.front-brauty-area {
    background: url(/struct/wp-content/uploads/ft_beauty_bg.jpg);
    padding: 5rem 1rem 20rem 1rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left top;
}
.in_box {
	background: rgba(255,255,255,0.1);
    padding: 4rem 4rem 2rem 4rem;
    box-sizing: border-box;
    max-width: 800px;
    margin-left: auto;
    color: #f5f5f5;
	position: relative;
	border: 1px solid #9f9f9f;
}
.in_box:before{
	display: block;
    content: '';
    position: absolute;
    border: 1px solid #f5f5f5;
    width: 100%;
    height: 100%;
    top: 0.5rem;
    left: 0.5rem;
    pointer-events: none;
}
.post .in_box .linkBtn {
    margin: 2rem auto;
}
@media screen and (max-width: 1200px){
	.in_box {
		margin: 0 auto;
	}
}
@media screen and (max-width: 768px){
	section.front-brauty-area {
		background: url(/struct/wp-content/uploads/ft_beauty_spbg.jpg);
		background-size: cover;
	    background-position: center top;
	}
	section.front-brauty-area .headline1 {
		padding-top: 150px;
	}
	.in_box {
		padding: 2rem;
	}
}

/*sub*/
.headline-area{
    background-color: #f5f3f0;
	margin-top: 6rem;
}
.headline-area h1{
	padding: 2rem 0;
}
.general-flex {
  display: flex;
  justify-content: space-between;
}
.general-flex .col40 {
  width: 35%;
}
.general-flex .col60 {
  width: 58%;
  border-left: 1px solid;
	padding-left: 5%;
}
/*sitemap*/
.sitemap-list {
    width: 96%;
    max-width: 960px;
    margin: 0 auto;
	padding-top: 5rem;
	font-family: 'Marcellus SC', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.sitemap-list ul {
    padding: 0;
    margin: 0;
}
.sitemap-list ul li {
    margin-left: 15px;
    list-style: decimal-leading-zero;
}
@media screen and (max-width: 768px){
	.headline-area{
		margin-top:3rem;
	}
	.general-flex {
		flex-direction: column;
		}
	.general-flex .col40 {
		width: 100%;
		padding-bottom: 3.5557%;
	}
	.general-flex .col60 {
		width: 100%;
		border-left: none;
		border-top: 1px solid;
		padding-left: 0;
		padding-top: 5%;
	}
	dl.profile_basic {
		font-size: 0.7rem;
	}
	.sitemap-list{
		padding: 0;
	}
}
/*beauty*/
.sub_inbox {
    padding: 5rem;
}
.sub_inbox img {
    opacity: 0.3;
    position: absolute;
    z-index: 0;
}
.sub_inbox h2, .sub_inbox p {
    z-index: 2;
    position: relative;
}
.sub_inbox .front_img img {
    top: 1.5vw;
    right: 0;
}
.sub_inbox .center_img img {
    right: 0;
	bottom: 50%;
    transform: translateY(50%);
}
.sub_inbox .bottom_img img {
	bottom: 50%;
    transform: translateY(50%);
    left: 0;
}
@media screen and (max-width: 1280px){
	.sub_inbox{
	    padding: 5rem 2rem;
	}
	.sub_inbox img {
		position: relative;
		opacity: 1.0;
	}
	.sp_flex {
		display: flex;
		justify-content: center;
	}
}
@media screen and (max-width: 768px){
	.sub_inbox{
	    padding: 2rem 1rem;
	}
}
/*photo gallery*/
.photo_items {
	/* Prevent vertical gaps */
	line-height: 0;
	-webkit-column-count: 5;
	-webkit-column-gap:   0px;
	-moz-column-count:    5;
	-moz-column-gap:      0px;
	-webkit-column-count:         4;
	   -moz-column-count:         4;
	        column-count:         4;
	-webkit-column-gap:           10px;
	   -moz-column-gap:           10px;
	        column-gap:           10px;
}
.post .photo_items img {
	/* Just in case there are inline attributes */
	width: 100% !important;
	height: auto !important;
	margin-bottom: 10px !important;
	    overflow: hidden;
}

@media (max-width: 1200px) {
	.gallery_sub .top {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.gallery_sub .w30 {
		margin: 2rem auto;
	}
	.photo_items {
		-moz-column-count:    3;
		-webkit-column-count: 3;
		column-count:         3;
	}
}
@media (max-width: 767px) {
	.photo_items {
		max-height: none;
	}
	.photo_items {
		-moz-column-count:    2;
		-webkit-column-count: 2;
		column-count:         2;
	}
}
@media screen and (min-width: 769px) {
	br.pcnone{
		display:none !important;
	}
}
@media screen and (max-width: 768px) {
	br.spnone{
		display:none !important;
	}
	.spleft p{
		text-align:left !important;
	}
	.spleft th, .spleft td{
		text-align:left !important;
	}
}
/*cat*/
ul.newstab-list {
    display: flex;
    justify-content: space-between;
    max-width: 450px;
    margin: 3rem auto;
	font-family: 'Marcellus SC', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
ul.newstab-list li {
    text-align: center;
    width: 18%;
}
ul.newstab-list li a {
    padding: 0 1rem;
    box-sizing: border-box;
    background: #f5f3f0;
    font-size: 0.8rem;
    color: #463936;
    border-radius: 50vh;
	display: block;
}
ul.newstab-list li.current-cat a,
ul.newstab-list li a:hover{
    background: #2d2422;
	color: #f5f5f5;
}

@media screen and (max-width: 414px) {
	ul.newstab-list {
		max-width: 350px;
		margin: 1.5rem auto;
	}
	ul.newstab-list li a {
		padding: 0;
	}
}
body.overflow_hidden{
	overflow: hidden;
}
#first_slider_wrap {
	transition:.5s;
	position: fixed;
	top: 0;
	left: 0;
	z-index:1000;
	opacity: 1;
}

/*archive-single-page共通*/
.general-flex {
  display: flex;
  justify-content: space-between;
}
.general-flex .col3 {
  width: 30%;
}
.general-flex .col2 {
    width: 45%;
}
.page .general-flex,
.archive .general-flex {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.page .general-flex .col3,
.archive .general-flex .col3 {
  margin: 0 0 0 5%;
}
.page .general-flex .col3:nth-child(3n+1),
.archive .general-flex .col3:nth-child(3n+1) {
  margin-left: 0;
}
.page .general-flex, .col3:nth-child(n+4),
.archive .general-flex .col3:nth-child(n+4) {
  margin-top: 3.5%;
}

.cat_name {
  display: inline-block;
  background-color: rgba(255, 255, 255, .2);
  margin: 1.8rem 0 0;
  padding: 4px 10px;
}
.cat_name a {
  color: inherit;
  text-decoration: none !important;
  transition: opacity .5s;
}
.cat_name a:hover {
  opacity: .7;
}

.single .cat_name {
  margin: 0 0 3.2rem;
  padding: 4px 20px;
  min-width: 100px;
  text-align: center;
}

.works_name {
  margin: 1rem 0 0;
}
@media screen and (max-width: 767px) {

  .general-flex {
    flex-wrap: wrap;
  }
  .general-flex .col3 {
    width: 100%;
  }
  .general-flex .col2 {
      width: 100%;
  }
  .page .general-flex,
  .archive .general-flex {
    max-width: 500px;
    margin: 0 auto;
  }
  .page .general-flex .col3,
  .archive .general-flex .col3 {
    margin: 0;
  }
  .page .general-flex .col3:nth-child(n+2),
  .archive .general-flex .col3:nth-child(n+2) {
    margin-top: 8%;
  }

  .cat_name {
    padding: 3px 8px 2px;
  }

}
/*single----------------------------*/

.before-area #photo_thumb {
  margin-left: -4px;
  margin-right: -4px;
  margin-bottom: 0;
}

.before-area #photo_thumb img {
  padding: 4px;
}

.before-after-area {
  margin: 0 0 8rem;
}

.after-images {
  position: relative;
  background-color: #000;
  padding-top: 65%;
  overflow: hidden;
}

.after-images iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.after-images img {
  position: absolute;
  width: 100%;
  left: 50%;
	top: 50%;
  padding: 0;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}

@media screen and (max-width: 767px) {

  .before-after-area {
    margin: 0 0 4rem;
  }

  .before-area {
    margin-bottom: 4rem;
  }

}
/*gallery*/
#photo_main{
	overflow: hidden;
}
#photo_main {
	margin-bottom: 3.2rem;
	background: #000;
	text-align: center;
	height: auto;
  padding-top: 65%;
	position: relative;
}
#photo_main img {
	position: absolute;
	left: 50%;
	top: 50%;
  padding: 0;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
#photo_thumb,
#photo_thumb li {
	margin: 0;
	padding: 0;
	border: none;
}

#photo_thumb img {
  width: 100%;
  padding: 8px;
}
@media (min-width: 768px) {
	#photo_main {
		width: 100%;
		overflow: hidden;
	}
	#photo_thumb {
		height: auto;
		display: flex;
    flex-wrap: wrap;
    margin: 0 -8px 8rem;
	}
	#photo_thumb li {
		width: 25%;
	}
}
@media (max-width: 767px) {
  #photo_main {
    margin-bottom: 2.4rem;
  }
  #photo_thumb {
		height: auto;
		display: flex;
    flex-wrap: wrap;
    margin: 0 -4px 4rem;
	}
	#photo_thumb li {
		width: 25%;
	}
  #photo_thumb img {
    padding: 4px;
  }
	.details {
	  margin: 1rem 0;
		padding: 0;
	}
}

/*estate*/
.post4b {
    background: none;
    border: none;
}
.post4b_link {
    display: none;
}
li .post4b_contents, li .post2b_contents {
    display: none;
}
.post4b .time {
    display: none;
}
.post4b h2.cat-loop {
    background: none;
    border: none;
    color: #FFF;
}
.post4b h2:before {
    display: none;
}
h2.cat-loop a {
    color: #FFF;
    font-weight: bold;
}