@charset "UTF-8";
/*!
Theme Name: hacodeco2025
Description: hacodeco
Author: cando
*/
@import url("./sanitize.css");

/* --- media query --------------------------------------------------- */
/* IE10以上 */
/* ---------------------------------------------------------------- *
  全体の設定
* ---------------------------------------------------------------- */
body {
  padding: 0;
  color: #333;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

img {
  max-width: 100%;
  height: auto;
  backface-visibility: hidden;
}

p {
  margin: 20px 0;
  line-height: 1.7;
}

ul,
ol,
dl {
  margin: 0;
  padding: 0;
  line-height: 1.3;
  list-style-type: none;
}

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

* {
  outline: none !important;
}

.tAc {
  text-align: center;
}

.tAl {
  text-align: left;
}

.tAr {
  text-align: right;
}

@media screen and (max-width: 768px) {
  body {
    color: #333;
    font-size: 12px;
    line-height: 1.6;
  }
}

/* --- 表示非表示設定 --------------------------------------------------- */
.hide {
  display: none;
}

.pc {
  display: block;
}

.smp {
  display: none;
}

.pc_inline {
  display: inline;
}

.smp_inline {
  display: none;
}

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

  .smp {
    display: block;
  }

  .pc_inline {
    display: none;
  }

  .smp_inline {
    display: inline;
  }
}

/* --- フォント設定 --------------------------------------------------- */
body {
  font-family: "Old Standard TT", "Noto Serif JP", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {
  body {
    font-family: "Old Standard TT", "Noto Serif JP", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  }
}

hr {
  border-top: 1px dashed #bbb;
}

hr:after {
  content: "✂";
  display: inline-block;
  position: relative;
  top: -14px;
  left: 40px;
  padding: 0 3px;
  background: #f9f7f7;
  color: #bbb;
  font-size: 18px;
}

/* --- リンク設定 --------------------------------------------------- */
main.contents a {
  color: #333;
  transition: 0.6s;
  text-decoration: none;
}

main.contents a:visited {
  color: #333;
}

main.contents a:hover {
  opacity: 1;
  color: #0066a8;
}

a.tel {
  text-decoration: none;
  color: #1a1a1a;
}

/* --- flexbox用空ボックス設定 --------------------------------------------------- */
.empty {
  height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border: none !important;
  list-style-type: none !important;
}

/* --- オンマウス設定 --------------------------------------------------- */
.scale {
  display: block;
  overflow: hidden;
  border: none !important;
}

.scale img {
  transition: transform 3s linear;
}

.scale img:hover {
  transform: scale(1.2);
}

a.scale:hover {
  opacity: 1 !important;
}

a img {
  transition: 0.7s;
}

a img:hover {
  opacity: 0.7;
}

/* --- 見出し・テキスト設定 --------------------------------------------------- */
.h_01 {
  margin: 1em auto 0.5em;
  text-align: center;
  font-size: 2rem;
  font-weight: normal;
}

.h_02 {
  margin: 1em auto 1.5em;
  text-align: center;
  font-size: 1.7rem;
  font-weight: normal;
}

.text_01 {
  font-size: 1.2em;
  line-height: 2.1;
}

@media screen and (max-width: 768px) {
  .h_01 {
    margin: 1em auto 0.5em;
    text-align: center;
    font-size: 1.4rem;
    font-weight: normal;
  }

  .h_02 {
    margin: 1em auto 1.5em;
    text-align: center;
    font-size: 1.2rem;
    font-weight: normal;
  }
}

/* --- ボタン設定 --------------------------------------------------- */
.btn_01 {
  display: inline-block;
  margin: 0.5em auto 2em;
  padding: 0.9em 3.8em 0.7em 1.8em;
  border: 1px solid #1a1a1a;
  background-color: #fff;
  text-align: center;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1;
  transition: 0.7s;
  position: relative;
}

.btn_01:before {
  content: " ";
  display: block;
  width: 34px;
  height: 14px;
  background-image: url(./images/arrow_b.svg);
  background-size: contain;
  position: absolute;
  top: 12px;
  right: 18px;
  z-index: 2;
  transition: 0.7s;
}

.btn_01:hover {
  color: #1a1a1a !important;
}

.btn_01:hover:before {
  right: 6px;
}

.btn_02 {
  display: inline-block;
  margin: 0.5em auto 2em;
  padding: 0.9em 3.8em 0.7em 1.8em;
  border: 1px solid #fff;
  color: #fff !important;
  text-align: center;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1;
  background: rgba(0, 0, 0, 0.6);
  transition: 0.7s;
  position: relative;
}

.btn_02:before {
  content: " ";
  display: block;
  width: 34px;
  height: 14px;
  background-image: url(./images/arrow_w.svg);
  background-size: contain;
  position: absolute;
  top: 12px;
  right: 18px;
  z-index: 2;
  transition: 0.7s;
}

.btn_02:hover {
  color: #fff !important;
}

.btn_02:hover:before {
  right: 6px;
}

.btn_03 {
  display: inline-block;
  margin: 0.5em auto 2em;
  padding: 0.9em 3.8em 0.7em 1.8em;
  color: #1a1a1a !important;
  border: 1px solid #1a1a1a;
  text-align: center;
  text-decoration: none !important;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1;
  transition: 0.7s;
  position: relative;
}

.btn_03:before {
  content: " ";
  display: block;
  width: 30px;
  height: 10px;
  background-image: url(./images/arrow_b.svg);
  background-size: contain;
  position: absolute;
  top: 14px;
  right: 18px;
  z-index: 2;
  transition: 0.7s;
}

.btn_03:hover {
  color: #1a1a1a !important;
}

.btn_03:hover:before {
  right: 6px;
}

.btn_04 {
  display: inline-block;
  margin: 0 auto;
  padding: 0.8em 4.8em 0.6em 1.8em;
  color: #1a1a1a !important;
  border: 1px solid #1a1a1a;
  text-align: center;
  text-decoration: none !important;
  font-size: 0.8rem;
  font-weight: normal;
  letter-spacing: 0.2em;
  line-height: 1;
  transition: 0.7s;
  position: relative;
  float: right;
}

.btn_04:before {
  content: " ";
  display: block;
  width: 30px;
  height: 10px;
  background-image: url(./images/arrow_b.svg);
  background-size: contain;
  position: absolute;
  top: 8px;
  right: 18px;
  z-index: 2;
  transition: 0.7s;
}

.btn_04:hover {
  color: #1a1a1a !important;
}

.btn_04:hover:before {
  right: 6px;
}

.btn_05 {
  display: inline-block;
  margin: 0 auto 2em;
  padding: 0.8em 4.8em 0.6em 1.8em;
  color: #1a1a1a !important;
  background: #eee;
  border: 1px solid #ddd;
  text-align: center;
  text-decoration: none !important;
  font-size: 0.8rem;
  font-weight: normal;
  letter-spacing: 0.2em;
  line-height: 1;
  transition: 0.7s;
  position: relative;
}

.btn_05:before {
  content: " ";
  display: block;
  width: 30px;
  height: 10px;
  background-image: url(./images/arrow_b.svg);
  background-size: contain;
  position: absolute;
  top: 8px;
  right: 18px;
  z-index: 2;
  transition: 0.7s;
}

.btn_05:hover {
  color: #1a1a1a !important;
}

.btn_05:hover:before {
  right: 6px;
}

.bnr_modelroom {
  display: block;
  margin: 2em auto;
  padding: 1.5em 1em;
  max-width: 600px;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  color: #fff !important;
  text-align: center;
  background-image: url(./images/bg_modelroom.jpg);
  background-size: cover;
  transition: all 0.5s ease-in-out 0.1s;
  opacity: 1;
}

.bnr_modelroom:hover {
  letter-spacing: 0.15em;
  opacity: 0.9 !important;
}

@media screen and (max-width: 768px) {
  .btn_01 {
    padding: 0.9em 4.1em 0.7em 1.8em;
    font-size: 0.8rem;
    line-height: 1.2;
  }

  .btn_02,
  .btn_03 {
    padding: 0.9em 4.1em 0.7em 1.8em;
    font-size: 0.8rem;
  }

  .btn_01:before,
  .btn_02:before,
  .btn_03:before {
    width: 21px;
    height: 7px;
    top: 12px;
    right: 18px;
  }

  .btn_01:before {
    top: 14px;
  }
}

/* ---------------------------------------------------------------- *
  ヘッダーの設定
* ---------------------------------------------------------------- */
@media screen and (min-width: 769px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    padding: 1em;
    width: 100%;
    background: rgba(26, 26, 26, 0.65);
    transition-duration: 0.5s;
    transition-timing-function: ease-in-out;
    z-index: 10;
  }

  .header * {
    transition-duration: 0.5s;
    transition-timing-function: ease-in-out;
  }

  .header_inner {
    display: flex;
    margin: auto;
    max-width: 1280px;
  }

  .header_text {
    margin: 0.8em 0 0.8em 2em;
    padding: 0;
    color: #fff;
    font-size: 14px;
    letter-spacing: 0.05em;
  }

  .header_sns {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
  }

  .header_sns>* a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0.8em 0 0 0.8em;
    background: #fff;
    border-radius: 50%;
    width: 1.8em;
    height: 1.8em;
  }

  .header_sns>* a img {
    width: auto;
    height: 1.2em;
  }

  .logo {
    margin: 0;
    padding: 0;
    width: 100px;
    height: 100px;
  }

  .logo img {
    margin: 0;
    padding: 0;
    width: 100px;
    height: 100px;
  }

  nav {
    margin: 0;
    padding: 0 0 0 1em;
    width: calc(100% - 100px);
    position: relative;
  }

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

  .nav li a {
    display: block;
    margin: 0 0 0 1em;
    padding: 0.7em 1em;
    letter-spacing: 0.15em;
    color: #fff;
    border-bottom: 1px solid #fff;
    white-space: nowrap;
  }

  .header.show {
    padding: 0 1em 0.3em 0.3em;
    background: rgba(26, 26, 26, 0.9);
  }

  .header.show .logo {
    margin: 0;
    padding: 0;
    width: 42px;
    height: 42px;
  }

  .header.show .logo img {
    margin: 0;
    padding: 0;
    width: 42px;
    height: 42px;
  }

  .header.show nav {
    margin: 11px 0;
    width: calc(100% - 48px);
  }

  .header.show .nav li a {
    padding: 0.2em 0.7em;
    border-bottom: none;
  }

  .header.show .header_text,
  .header.show .header_sns {
    display: none;
  }

  .header a {
    transition: 0.6s;
    text-decoration: none;
  }

  .header a:hover {
    opacity: 0.6;
  }

  .arrow_down {
    width: 30px;
    position: absolute;
    bottom: 120px;
    left: calc(50% - 15px);
  }

  .logo_text {
    display: none;
  }
}

@media screen and (min-width: 769px) and (max-width: 1160px) {
  .logo {
    margin: 0;
    padding: 0;
    width: 80px;
    height: 80px;
  }

  .logo img {
    margin: 0;
    padding: 0;
    width: 80px;
    height: 80px;
  }

  nav {
    margin: 0;
    padding: 0 0 0 1em;
    width: calc(100% - 80px);
    position: relative;
  }

  .nav li a {
    display: block;
    margin: 0 0 0 1em;
    padding: 0.7em 0.5em;
    letter-spacing: 0.1em;
    /* font-size: 0.7rem; */
    color: #fff;
    border-bottom: 1px solid #fff;
    white-space: nowrap;
    font-size: 12px;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1160px) {
  .nav li a {
    /* font-size: 0.9rem; */
  }
}

@media screen and (min-width: 641px) and (max-width: 768px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    padding: 0.5em;
    width: 100%;
    background: rgba(26, 26, 26, 0.65);
    transition-duration: 0.5s;
    transition-timing-function: ease-in-out;
    z-index: 40;
  }

  .header * {
    transition-duration: 0.7s;
    transition-timing-function: ease-in-out;
  }

  .header_inner {
    display: flex;
    margin: auto;
    max-width: 1280px;
  }

  .header_text {
    margin: 0.4em 0 0.4em 1.5em;
    padding: 0;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.02em;
  }

  .header_sns {
    position: absolute;
    top: 0;
    right: 1em;
    display: flex;
  }

  .header_sns>* a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 0 0.8em;
    background: #fff;
    border-radius: 50%;
    width: 1.6em;
    height: 1.6em;
  }

  .header_sns>* a img {
    width: auto;
    height: 0.8em;
  }

  .logo {
    margin: 0;
    padding: 0;
    width: 60px;
    height: 60px;
  }

  .logo img {
    margin: 0;
    padding: 0;
    width: 60px;
    height: 60px;
  }

  nav {
    margin: 0;
    padding: 0;
    width: calc(100% - 60px);
    position: relative;
  }

  .nav {
    padding: 0 1em;
    display: flex;
    justify-content: space-between;
  }

  .nav li a {
    display: block;
    margin: 0 0 0 0.5em;
    padding: 0.3em 0.5em;
    letter-spacing: 0.05em;
    color: #fff;
    border-bottom: 1px solid #fff;
    font-size: 11px;
  }

  .header a {
    transition: 0.6s;
    text-decoration: none;
  }

  .header a:hover {
    opacity: 0.6;
  }

  .arrow_down,
  .logo_text {
    display: none;
  }
}

.sp_logo {
  display: none;
}

@media screen and (max-width: 640px) {
  .sp_logo {
    display: block;
    margin: 0 auto 20px;
    width: 100px;
  }

  .header {
    position: fixed;
    top: 0;
    left: 0;
    padding: 0.5em;
    width: 100%;
    background: rgba(26, 26, 26, 0.65);
    transition-duration: 0.5s;
    transition-timing-function: ease-in-out;
    z-index: 10;
  }

  .header * {
    transition: all 0.4s ease-in-out 0.1s;
  }

  .header_inner {
    display: flex;
    margin: auto;
    max-width: 1280px;
  }

  .logo_text {
    display: inline-block;
    color: #fff !important;
    padding: 0 0 0 1em;
    font-size: 13px;
    letter-spacing: 0.05em;
  }

  .logo {
    margin: 0;
    padding: 0;
    width: auto;
    height: 48px;
  }

  .logo img {
    margin: 0;
    padding: 0;
    width: 48px;
    height: 48px;
  }

  nav {
    margin: 0;
    padding: 60px 1em 1em;
    height: 100vh;
    width: 100%;
    right: -100%;
    background: rgba(26, 26, 26, 0.99);
    position: fixed;
    top: 0;
    z-index: 2;
  }

  nav.showNav {
    right: 0;
  }

  nav .nav_full {
    width: 100% !important;
  }

  .header_text {
    margin: 0.8em 0;
    padding: 0;
    color: #fff;
    font-size: 14px;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .header_sns {
    position: absolute;
    top: 11px;
    right: 70px;
    display: flex;
  }

  .header_sns>* a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0.8em 0 0 0.8em;
    background: #fff;
    border-radius: 50%;
    width: 1.8em;
    height: 1.8em;
  }

  .header_sns>* a img {
    width: auto;
    height: 1.2em;
  }

  .nav {
    margin: 30px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .nav li {
    margin: 0 0 8px;
    width: 49%;
  }

  .nav li a {
    display: block;
    margin: 0;
    padding: 1.2em 1em;
    letter-spacing: 0.15em;
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1);
    text-align: center;
  }

  .header a {
    transition: 0.6s;
    text-decoration: none;
  }

  .header a:hover {
    opacity: 0.6;
  }

  .arrow_down {
    display: none;
  }

  .nav_cta {
    width: 32% !important;
    color: #fff !important;
    background-color: #8bc53e;
  }
}

@media screen and (max-width: 320px) {
  .sp_logo {
    display: block;
    margin: 0 auto 10px;
    width: 70px;
  }

  .header {
    position: fixed;
    top: 0;
    left: 0;
    padding: 0.5em;
    width: 100%;
    background: rgba(26, 26, 26, 0.65);
    transition-duration: 0.5s;
    transition-timing-function: ease-in-out;
    z-index: 10;
  }

  .header * {
    transition: all 0.4s ease-in-out 0.1s;
  }

  .header_inner {
    display: flex;
    margin: auto;
    max-width: 1280px;
  }

  .logo_text {
    display: inline-block;
    color: #fff !important;
    padding: 0 0 0 0.4em;
    font-size: 12px;
    letter-spacing: 0.05em;
  }

  .logo {
    margin: 0;
    padding: 0;
    width: auto;
    height: 48px;
  }

  .logo img {
    margin: 0;
    padding: 0;
    width: 48px;
    height: 48px;
  }

  nav {
    margin: 0;
    padding: 60px 1em 1em;
    height: 100vh;
    width: 100%;
    right: -100%;
    background: rgba(26, 26, 26, 0.99);
    position: fixed;
    top: 0;
    z-index: 2;
  }

  nav.showNav {
    right: 0;
  }

  .header_text {
    margin: 0.8em 0;
    padding: 0;
    color: #fff;
    font-size: 11px;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .header_sns {
    position: absolute;
    top: 11px;
    right: 70px;
    display: flex;
  }

  .header_sns>* a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0.8em 0 0 0.8em;
    background: #fff;
    border-radius: 50%;
    width: 1.8em;
    height: 1.8em;
  }

  .header_sns>* a img {
    width: auto;
    height: 1.2em;
  }

  .nav {
    margin: 4px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .nav li {
    margin: 0 0 8px;
    width: 49%;
  }

  .nav li a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0.3em 1em;
    min-height: 42px;
    letter-spacing: 0.15em;
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1);
    text-align: center;
  }

  .header a {
    transition: 0.6s;
    text-decoration: none;
  }

  .header a:hover {
    opacity: 0.6;
  }

  .arrow_down {
    display: none;
  }
}

/* ---------------------------------------------------------------- *
  フッターの設定
* ---------------------------------------------------------------- */
.bottom_menu {
  padding: 30px 1em;
  background: #f1f1f1;
}

.bottom_contact {
  margin: 2em auto;
  max-width: 1180px;
}

.bottom_contact_box {
  clear: both;
  padding: 30px 0;
  display: flex;
  justify-content: space-between;
  border: 1px solid #1a1a1a;
}

.bottom_contact_item {
  padding: 10px 1em;
  width: 49%;
  text-align: center;
  border-right: 1px solid #1a1a1a;
}

.bottom_contact_item:last-child {
  border-right: none;
}

.bottom_contact_h {
  display: inline-block;
  padding: 0.4em 1.2em;
  font-size: 1.2em;
  font-weight: normal;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #1a1a1a;
}

.bottom_contact_text {
  margin: 0;
  padding: 0;
  font-size: 12px;
}

.bottom_info_text {
  margin: auto;
  padding: 3em 1em;
  max-width: 960px;
  text-align: center;
  border-bottom: 1px solid #1a1a1a;
}

.bottom_nav {
  margin: 40px auto;
  padding: 1em 0;
  max-width: 1080px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.bottom_nav>* {
  margin: 0 0 1.6em;
  padding: 0;
}

.bottom_nav li a {
  display: block;
  padding: 0.4em 1.6em;
  font-size: 1em;
  color: #1a1a1a !important;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.05em;
  transition: 0.7s;
}

.bottom_nav li a:hover {
  opacity: 0.7;
}

.bottom_bnr_nav {
  margin: 40px auto;
  padding: 1em;
  max-width: 1000px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.bottom_bnr_nav>* {
  margin: 0;
  width: 24.5%;
}

.bottom_bnr_nav>* a {
  display: block;
  padding: 0.7em;
  color: #1a1a1a !important;
  background: #fff;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.1em;
}

.logo_iedeco {
  display: inline-block;
  margin-right: 10px;
  width: 62px;
}

.logo_kyougi {
  display: inline-block;
  width: 72%;
}

.logo_muji {
  display: inline-block;
  padding: 0.5em 0.4em;
}

footer {
  position: relative;
  margin: auto;
  padding: 80px 1em 2em;
  color: #fff;
  background: #4d4d4d;
  text-align: center;
}

.bottom_logo {
  width: 80px;
  position: absolute;
  top: 40px;
  left: 60px;
}

.footer_sns {
  margin: 0 auto 2em;
  display: flex;
  justify-content: center;
}

.footer_sns>* {
  margin: 0 1.5em;
  padding: 0;
  display: flex;
  align-items: center;
}

.footer_sns>* a {
  display: block;
  margin: 0;
  padding: 0;
  width: 3em;
}

.footer_sns>* a.facebook {
  display: block;
  margin: 0;
  padding: 0;
  width: 1.6em;
}

.footer_sns>* a.youtube {
  display: block;
  margin: 0;
  padding: 0;
  width: 3.5em;
}

@media (max-width: 480px) {
  .footer_sns>* a.youtube {
    width: 2.8em;
  }
}

.footer_sns>* a img {
  display: block;
  width: 100%;
  height: auto;
}

.footer_text {
  display: inline-block;
  margin: 1em auto;
  padding: 3em 0.5em 0;
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.1em;
  border-top: 1px solid #fff;
}

.footer_addr {
  display: block;
  margin: 2em auto;
  padding: 0 0.5em 3em;
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.footer_addr a {
  display: inline;
  margin: 0;
  padding: 0;
  color: #fff !important;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: 0.2em;
}

.footer_textold {
  display: inline-block;
  margin: 1em auto;
  padding: 3em 0.5em;
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.1em;
  border-top: 1px solid #fff;
}

.copy {
  display: block;
  text-align: center;
  font-size: 14px;
  margin: 0 1em;
}

.go_to_top {
  display: block;
  width: 30px;
  height: 30px;
  position: fixed;
  right: 30px;
  bottom: 80px;
  z-index: 5;
  text-decoration: none;
  color: #000;
}

.bottom_menu_h {
  display: none;
}

@media screen and (max-width: 768px) {
  footer {
    padding: 50px 1em 2em;
  }

  .bottom_logo {
    width: 40px;
    top: 20px;
    left: 40px;
  }

  .footer_sns {
    margin: 0 auto 2em;
  }

  .footer_sns>* {
    margin: 0 1.2em;
  }

  .footer_sns>* a {
    width: 2em;
  }

  .footer_sns>* a.facebook {
    width: 1.05em;
  }

  .footer_text,
  .footer_textold {
    font-size: 11px;
  }

  .copy {
    font-size: 12px;
  }

  .logo_iedeco {
    width: 46px;
  }
}

@media screen and (max-width: 640px) {
  .bottom_menu {
    padding: 20px 1em;
  }

  .bottom_contact {
    margin: 1em auto;
  }

  .bottom_contact_box {
    padding: 20px 0;
    border: 1px solid #1a1a1a;
    flex-wrap: wrap;
  }

  .bottom_contact_item {
    padding: 10px 1em 30px;
    width: 100%;
    text-align: center;
    border-right: none;
    border-bottom: 1px solid #1a1a1a;
  }

  .bottom_contact_item:last-child {
    border-bottom: none;
  }

  .bottom_menu_h {
    display: block;
    text-align: center;
  }

  .bottom_nav {
    margin: 0 -1em;
    padding: 0;
    flex-wrap: wrap;
    border-top: 1px solid #eee;
  }

  .bottom_nav>* {
    margin: 0;
    padding: 0;
    width: 50%;
    border-bottom: 1px solid #eee;
  }

  .bottom_nav>*:nth-child(2n+1) {
    border-right: 1px solid #eee;
  }

  .bottom_nav li a {
    display: block;
    padding: 1em 0.2em;
    text-align: center !important;
    letter-spacing: 0.1em;
    background: #ccc;
  }

  footer {
    padding: 30px 1em 2em;
  }

  .bottom_logo {
    margin: 0 auto 30px;
    width: 60px;
    position: static;
  }

  .footer_sns>* {
    margin: 0 1em;
  }

  .footer_sns>* a {
    width: 2em;
  }

  .footer_sns>* a.facebook {
    display: block;
    margin: 0;
    padding: 0;
    width: 1.05em;
  }

  .bottom_bnr_nav {
    margin: 40px auto;
    padding: 0;
    max-width: 100%;
    width: 100%;
  }

  .bottom_bnr_nav>* {
    margin: 0 0 5px 0;
    width: 49%;
  }

  .logo_hausing {
    display: inline-block;
    padding: 0.7em 0;
  }

  .logo_iedeco {
    display: inline-block;
    margin-right: 10px;
    width: 68px;
  }
}

/* ---------------------------------------------------------------- *
  パンくずの設定
* ---------------------------------------------------------------- */
.breadcrumbs {
  margin: 0 auto;
  padding: 0.4em 1em;
  max-width: 100%;
  color: #777;
  font-size: 10px;
  letter-spacing: 0.1em;
  background: #f7f7f7;
}

.breadcrumbs a {
  color: #777 !important;
  font-size: 10px;
  letter-spacing: 0.1em;
}

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

/* ---------------------------------------------------------------- *
  トップページの設定
* ---------------------------------------------------------------- */
.front_fv {
  height: 100vh;
  position: relative;
}

.front_fv a {
  color: #1a1a1a !important;
  text-decoration: none;
}

.nav_menu_info {
  position: absolute;
  bottom: 80px;
  right: 0;
}

.nav_menu_info>* {
  margin: 10px 0;
  padding: 0;
  line-height: 1;
}

.nav_menu_info>* a {
  display: block;
  padding: 0.9em 3em 0.7em 4em;
  width: 330px;
  font-size: 1.2em;
  line-height: 1;
  color: #1a1a1a !important;
  background: #fff;
  text-decoration: none;
  position: relative;
  transition: 0.7s;
}

.nav_menu_info>* a:hover {
  opacity: 0.7;
}

.nav_menu_info>*:nth-child(1) a {
  color: #fff !important;
  background-color: #8bc53e;
}

.nav_menu_info>*:nth-child(1) a:before {
  content: " ";
  display: block;
  width: 1.2em;
  height: 1.2em;
  background-image: url(./images/icon_tel.svg);
  background-size: contain;
  position: absolute;
  top: 10px;
  left: 20px;
}

.nav_menu_info>*:nth-child(2) a:before {
  content: " ";
  display: block;
  width: 1.2em;
  height: 1.1em;
  background-image: url(./images/icon_web.svg);
  background-size: contain;
  position: absolute;
  top: 10px;
  left: 20px;
}

.nav_menu_info>*:nth-child(3) a:before {
  content: " ";
  display: block;
  width: 1.1em;
  height: 1.1em;
  background-image: url(./images/icon_yoyaku.svg);
  background-size: contain;
  position: absolute;
  top: 12px;
  left: 20px;
}

.cta_nav {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9;
  display: flex;
  width: 480px;
  transition: all 0.5s ease-in-out 0.1s;
}

.cta_nav.show {
  bottom: 0;
}

.cta_nav>* {
  margin: 0;
  padding: 0;
  width: 50%;
}

.cta_nav>* a {
  display: block;
  padding: 1.2em 0.5em 1.2em 2.5em;
  width: auto;
  text-align: center;
  font-size: 16px;
  line-height: 1.4;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff !important;
  background-color: #8bc53e;
  position: relative;
}

@media (max-width: 480px) {
  .cta_nav>* a {
    font-size: 14px;
  }
}

.cta_nav>*:nth-child(1) a {
  border-right: 1px solid #fff;
}

.cta_nav>*:nth-child(1) a:before {
  content: " ";
  display: block;
  width: 1.2em;
  height: 1.2em;
  background-image: url(./images/icon_tel.svg);
  background-size: contain;
  position: absolute;
  top: 18px;
  left: 20px;
}

.cta_nav>*:nth-child(2) a:before {
  content: " ";
  display: block;
  width: 1.2em;
  height: 1.1em;
  background-image: url(./images/icon_web_w.svg);
  background-size: contain;
  position: absolute;
  top: 18px;
  left: 10px;
}

@media screen and (max-width: 768px) {
  .front_fv {
    height: 60vh;
  }

  .nav_menu_info {
    bottom: 10px;
  }
}

@media screen and (max-width: 640px) {
  .front_fv {
    height: 50vh;
  }

  .nav_menu_info {
    display: none;
  }

  .cta_nav {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 9;
    display: flex;
    width: 100%;
    transition: all 0.5s ease-in-out 0.1s;
  }

  .cta_nav.show {
    bottom: 0;
  }

  .cta_nav>* {
    margin: 0;
    padding: 0;
    width: 50%;
  }

  .cta_nav>* a {
    display: block;
    padding: 1.2em 0.5em 1.2em 2.5em;
    width: auto;
    text-align: center;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    letter-spacing: 0.05em;
    color: #fff !important;
    background-color: #8bc53e;
    position: relative;
  }

  .cta_nav>*:nth-child(1) a {
    border-right: 1px solid #fff;
  }

  .cta_nav>*:nth-child(1) a:before {
    content: " ";
    display: block;
    width: 1.2em;
    height: 1.2em;
    background-image: url(./images/icon_tel.svg);
    background-size: contain;
    position: absolute;
    top: 17px;
    left: 20px;
  }

  .cta_nav>*:nth-child(2) a:before {
    content: " ";
    display: block;
    width: 1.2em;
    height: 1.2em;
    background-image: url(./images/icon_web_w.svg);
    background-size: contain;
    position: absolute;
    top: 17px;
    left: 12px;
  }

  .cta_voice {
    width: 180px;
    position: absolute;
    bottom: 100px;
    left: 0;
  }
}

@media screen and (max-width: 320px) {
  .cta_nav>* a {
    display: block;
    padding: 1.2em 0.5em 1.2em 2.5em;
    width: auto;
    text-align: center;
    font-size: 12px;
    line-height: 1.4;
    text-decoration: none;
    letter-spacing: 0.05em;
    color: #fff !important;
    background-color: #8bc53e;
    position: relative;
  }
}

/* ---- ヘッダーニュースフィード ----------------------------------------------- */
.fv_news_wp {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: #f2f2f2;
  padding: 1.4em 0;
  overflow: hidden;
}

.fv_news_h_box {
  display: flex;
  align-items: center;
}

.fv_news {
  margin: 0 auto;
  padding: 0 1em;
  max-width: 1080px;
  display: flex;
  position: relative;
}

.fv_news_h {
  margin: 0 1em 0 0;
  padding: 0 0.6em;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.05em;
  line-height: 1;
  width: 80px;
  text-align: center;
  color: #1a1a1a;
  border-right: 2px solid #1a1a1a;
}

.fv_news_list {
  display: none;
  overflow: hidden;
  line-height: 1.1;
  padding: 0.7em 1.2em;
  background: #fff;
  width: 100%;
}

.fv_news_list a {
  line-height: 1.4;
}

.fv_news_list.slick-initialized {
  display: block;
}

@media screen and (max-width: 768px) {
  .fv_news_wp {
    position: static;
  }
}

@media screen and (max-width: 640px) {
  .fv_news_wp {
    padding: 0.5em 0;
    overflow: hidden;
  }

  .fv_news {
    display: block;
    margin: 0 0.5em;
    padding: 0;
  }

  .fv_news_h {
    display: block !important;
    margin: 0;
    padding: 0.7em 0;
    font-size: 12px;
    letter-spacing: 0.1em;
    width: 100% !important;
    text-align: center;
    border-right: none;
  }

  .fv_news_list {
    display: none;
    overflow: hidden;
    line-height: 1.4;
    margin: 0;
    padding: 0.5em;
    width: 100%;
  }
}

/* ---- worksフィード ----------------------------------------------- */
.front_works {
  overflow: hidden;
  margin: auto;
  padding: 20px 0;
  max-width: 1280px;
  text-align: center;
  position: relative;
}

.works_slider {
  display: none;
  margin: auto 1em;
  padding: 0 0 4em;
}

.works_slider li {
  margin: 10px;
}

.works_slider_text {
  text-align: center;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #b7b7b7;
}

.works_slick_next,
.works_slick_prev {
  position: absolute;
  top: 43%;
  width: 24px;
  height: 24px;
}

.works_slick_next {
  right: 10px;
}

.works_slick_prev {
  left: 10px;
}

/* ---- eventフィード ----------------------------------------------- */
.front_event {
  padding: 20px 0;
  background: #f1f1f1;
  position: relative;
  overflow: hidden;
}

/* ---- オーダーメイドキッチン ----------------------------------------------- */
.front_ordermade_kitchen {
  padding: 140px 1em;
  text-align: center;
  color: #fff;
  background-image: url(./images/bg_ordermade_kitchen_front2.jpg);
  position: relative;
}

.front_ordermade_kitchen>* {
  position: relative;
  z-index: 4;
}

.front_ordermade_kitchen:before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  transition: 0.7s;
}

.front_ordermade_kitchen.bg_light:before {
  background-color: rgba(0, 0, 0, 0.5);
}

.h_ordermade_kitchen {
  margin: auto;
  width: 380px;
}

@media (max-width: 480px) {
  .ordermade_kitchen--text {
    text-align: left;
  }
}

.ordermade_kitchen_item {
  margin: 60px auto -40px;
  padding: 0 1em;
  max-width: 1080px;
  display: flex;
  justify-content: space-between;
}

.omk_image {
  width: 58%;
}

.omk_data {
  width: 40%;
}

@media screen and (max-width: 640px) {
  .front_ordermade_kitchen {
    padding: 80px 1em;
  }

  .h_ordermade_kitchen {
    margin: auto;
    width: 280px;
  }

  .ordermade_kitchen_item {
    margin: 30px auto -40px;
    padding: 0 1em;
    flex-wrap: wrap;
  }

  .omk_image,
  .omk_data {
    width: 100%;
  }
}

/* ---- interviewフィード ----------------------------------------------- */
.front_interview {
  overflow: hidden;
  padding: 20px 0;
  /* max-width: 1280px; */
  text-align: center;
  position: relative;
}

.interview_slider {
  display: none;
  margin: auto 3em;
  padding: 0 0 4em;
}

.interview_slider li {
  margin: 10px 10px 30px;
  position: relative;
}

.interview_slider_text {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 0.8em;
  width: 100%;
  text-align: center;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.65);
}

.interview_slick_next,
.interview_slick_prev {
  position: absolute;
  top: 48%;
  width: 24px;
  height: 24px;
}

.interview_slick_next {
  right: 10px;
}

.interview_slick_prev {
  left: 10px;
}

/* ---- モデルルーム ----------------------------------------------- */
.front_modelroom {
  padding: 140px 1em;
  text-align: center;
  color: #fff;
  background-image: url(./images/bg_modelroom_front2.jpg);
  position: relative;
}

.front_modelroom>* {
  position: relative;
  z-index: 4;
}

.front_modelroom:before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  transition: 0.7s;
}

.front_modelroom.bg_light:before {
  background-color: rgba(0, 0, 0, 0.5);
}

.h_modelroom {
  margin: auto;
  width: 260px;
}

.kaureno_style_bg {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px 0;
  height: 280px;
  color: #fff;
  font-size: 1.4em;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 640px) {
  .front_modelroom {
    padding: 80px 1em;
  }

  .h_modelroom {
    margin: auto;
    width: 180px;
  }
}

/* ---- blogフィード ----------------------------------------------- */
.front_blog {
  padding: 20px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
  background-color: #f1f1f1;
}

.staff_blog_feed {
  padding: 20px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
  background-color: #fff;
}

.blog_feed_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto;
  padding: 1em;
  max-width: 1280px;
}

.blog_feed_list li {
  margin: 0 0 1em;
  width: 49%;
  display: flex;
  justify-content: space-between;
  background-color: #fff;
}

.blog_feed_list li a:nth-child(1) {
  width: 32%;
}

.blog_feed_list li a:nth-child(2) {
  padding: 0 1em;
  width: 68%;
}

.blog_slider_date {
  margin: 0;
  padding: 0.8em 0 0.5em;
  font-weight: normal;
  text-align: left;
  font-size: 12px;
}

.blog_slider_cat {
  overflow: hidden;
}

.blog_slider_cat li {
  float: left;
  margin: 0 1em 0 0 !important;
  padding: 0.3em 1em;
  font-size: 10px;
  background: #f3f3f3;
}

.blog_slider_h {
  margin: 0 0 0.6em;
  padding: 0;
  font-weight: normal;
  text-align: left;
  line-height: 1.6;
}

.blog_slider_text {
  margin: 0;
  padding: 0.6em 0;
  text-align: justify;
  text-justify: inter-ideograph;
  font-size: 12px;
}

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

@media screen and (max-width: 640px) {
  .blog_feed_list li {
    margin: 0 0 1em;
    width: 100%;
  }
}

/* ---------------------------------------------------------------- *
  下層共通用の設定
* ---------------------------------------------------------------- */
.lower_fv {
  height: 70vh;
  position: relative;
  background-size: cover;
  background-position: center center;
}

.lower_fv .nav_menu_info {
  position: absolute;
  bottom: 20px;
  right: 0;
}

.lower_fv .cta_nav {
  bottom: 20px;
}

.lower_fv .cta_voice {
  bottom: 20px;
  left: 0;
}

.lower_fv .arrow_down {
  bottom: 20px;
}

.lower_short_fv {
  height: 40vh;
  position: relative;
  background-size: cover;
  background-position: center center;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  overflow: hidden;
}

.lower_short_fv:before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.38);
}

.lower_short_fv>* {
  padding-top: 5em;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .lower_fv {
    height: 30vh;
  }

  .lower_short_fv {
    height: 26vh;
  }
}

@media screen and (max-width: 640px) {
  .lower_short_fv {
    height: 32vh;
  }
}

/* ---------------------------------------------------------------- *
  works用の設定
* ---------------------------------------------------------------- */
.works_fv {
  background-image: url(./images/bg_works_2.jpg);
}

.works_single_fv {
  background-position: center;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  letter-spacing: 0.1em;
}

.works_single_fv:before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.works_single_item {
  position: relative;
  z-index: 2;
}

.works_block {
  padding: 10px 1em 60px;
}

.works_list {
  margin: 40px auto;
  max-width: 1080px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.works_list>* {
  margin-bottom: 2em;
  width: 24%;
  border-bottom: 1px solid #777;
}

.works_list>* a {
  color: #333 !important;
}

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

.works_list_cat>* {
  margin: 0.2em 0.5em 0.5em 0;
  padding: 0.2em 0.5em;
  background: #f3f3f3;
  font-size: 11px;
}

.works_list_cat--tags {
  background-color: #fff !important;
}

.works_list_h {
  margin: 0.2em 0;
  font-size: 1em;
  font-weight: normal;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.works_h {
  display: inline-block;
  margin: 2em 0 0.5em;
  font-weight: normal;
  border-bottom: 1px solid #acacac;
}

.works_h span {
  display: inline-block;
  margin-right: 2em;
  font-size: 1rem;
  font-family: "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

.works_item {
  margin: auto;
  padding: 1em;
  max-width: 1000px;
}

.works_header {
  margin: 2em auto 2em;
  padding: 0 0 3em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 1px solid #c5c5c5;
}

.works_header_text_box {
  margin: 0;
  padding: 0;
  width: 40%;
}

.works_header_text {
  margin: 0;
  padding: 2em;
  color: #fff;
  background: #666666;
}

.works_header_data_box {
  width: 58%;
}

.works_header_data {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
}

.works_header_data li {
  margin-bottom: 0.5em;
  line-height: 2;
  font-size: 0.9rem;
  width: 49%;
}

.works_header_data li.--link {
  width: 100%;
  margin: 0;
  text-align: right;
}

.works_data_h {
  display: inline-block;
  margin: 0 0.8em 0 0;
  padding: 0.4em 0.2em;
  min-width: 70px;
  font-size: 0.8rem;
  text-align: center;
  background: #eee;
}

.works_gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.works_gallery>li {
  position: relative !important;
}

.works_gallery>* {
  background-size: cover;
  background-position: center;
  height: 320px;
  margin-bottom: 1.5em;
}

.works_gallery>*:nth-child(1),
.works_gallery>*:nth-child(2),
.works_gallery>*:nth-child(3) {
  width: 100% !important;
  height: auto !important;
  background-image: none !important;
  margin-bottom: 1em !important;
}

.works_gallery>*:nth-child(1) .works_gallery--spPhoto,
.works_gallery>*:nth-child(2) .works_gallery--spPhoto,
.works_gallery>*:nth-child(3) .works_gallery--spPhoto {
  display: block;
}

@media (max-width: 834px) {
  .works_gallery>* {
    width: 100% !important;
    height: auto !important;
    background-image: none !important;
    margin-bottom: 1em !important;
  }
}

.works_gallery>* .works_gallery--spPhoto {
  display: none;
}

@media (max-width: 834px) {
  .works_gallery>* .works_gallery--spPhoto {
    display: block;
  }
}

.works_gallery>* a {
  display: block;
  height: 100%;
  position: relative;
}

@media (max-width: 834px) {
  .works_gallery>* a {
    display: none;
  }
}

.works_gallery>*:nth-child(2n+1) {
  width: 54%;
}

.works_gallery>*:nth-child(2n),
.works_gallery>*:nth-child(4n+1) {
  width: 44%;
}

.works_gallery>*:nth-child(4n) {
  width: 54%;
}

.works_gallery>*:nth-child(1),
.works_gallery>*:nth-child(2),
.works_gallery>*:nth-child(3) {
  width: 100%;
}

.works_floor {
  margin: 1em auto;
  padding: 2em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  border: 1px solid #acacac;
}

.works_floor_before,
.works_floor_after {
  display: block;
  width: 30%;
}

.works_gallery--num {
  position: absolute;
  top: 12px;
  left: 12px;
  font-weight: bold;
  font-size: 1.3em;
  z-index: 100;
  line-height: 1;
  color: #fff;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
}

@media (max-width: 834px) {
  .works_gallery--num {
    display: none;
  }
}

.works_freetext p {
  padding: 2em;
  line-height: 1.9;
  background: #f3f3f3;
}

.works_voice {
  margin: 1em auto;
  padding: 2em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border: 1px solid #acacac;
}

.works_voice_image {
  display: block;
  width: 20%;
}

.works_voice_text {
  display: block;
  width: 76%;
}

.bottom_parts {
  margin: 4em auto 1em;
  max-width: 1180px;
}

@media screen and (max-width: 768px) {
  .works_gallery>* {
    height: 240px;
    margin-bottom: 1em;
  }
}

@media screen and (max-width: 640px) {
  .works_block {
    padding: 30px 1em;
  }

  .works_list {
    margin: 20px auto;
  }

  .works_list>* {
    margin-bottom: 2em;
    width: 49%;
    border-bottom: 1px solid #777;
  }

  .works_list_cat {
    margin-bottom: 1em;
  }

  .works_list_cat>* {
    margin: 0.3em 0.5em 0.3em 0;
    padding: 0.2em 0.5em;
    background: #f3f3f3;
    font-size: 10px;
  }

  .works_list_h {
    margin: 0.2em 0;
    font-size: 1em;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.7;
  }

  .works_single_item .h_01 {
    margin: 30px 0 0;
    padding: 0;
    font-size: 18px;
  }

  .works_single_item p {
    margin: 0;
    padding: 0;
  }

  .works_header {
    margin: 1.2em auto;
    padding: 0 0 2em;
  }

  .works_header_text_box {
    margin: 0 0 1em;
    padding: 0;
    width: 100%;
  }

  .works_header_text {
    margin: 0;
    padding: 1em;
  }

  .works_header_data_box {
    width: 100%;
  }

  .works_header_data {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
  }

  .works_header_data li {
    margin-bottom: 0.5em;
    line-height: 2;
    font-size: 0.6rem;
    width: 50%;
  }

  .works_header_data li.--link {
    width: 100%;
    margin: 1em 0;
    text-align: right;
  }

  .works_data_h {
    display: inline-block;
    margin: 0 0.5em 0 0;
    padding: 0.3em 0.5em;
    min-width: 60px;
    font-size: 0.6rem;
    text-align: center;
    background: #eee;
  }

  .works_gallery>* {
    background-size: cover;
    background-position: center;
    height: 120px;
    margin-bottom: 0.5em;
  }

  .works_floor {
    margin: 1em auto;
    padding: 1em;
    border: 1px solid #acacac;
  }

  .works_floor_before,
  .works_floor_after {
    width: 100%;
  }

  .works_freetext p {
    padding: 1em;
  }

  .works_voice {
    margin: 1em auto;
    padding: 1em;
    border: 1px solid #acacac;
  }

  .works_voice_image {
    display: block;
    margin: auto;
    width: 100%;
    text-align: center;
  }

  .works_voice_text {
    width: 100%;
  }
}

/* ---------------------------------------------------------------- *
  event用の設定
* ---------------------------------------------------------------- */
.event_fv {
  background-image: url(./images/bg_event_2.jpg);
}

.event {
  margin: 20px auto;
  padding: 1em;
  max-width: 1080px;
}

.event_block {
  margin: 0 auto;
  padding: 1em;
  max-width: 880px;
}

.event_box {
  margin-bottom: 2em;
  padding: 2em;
  border: 1px solid #ddd;
}

.event_item {
  margin: 2em 0;
  padding: 2em;
  border: 1px solid #1a1a1a;
  overflow: hidden;
}

.event_item img {
  padding: 0 0 2em 2em;
  width: 30%;
  float: right;
}

.event_h {
  margin: 0 0 0.5em;
  font-size: 1.5em;
  font-weight: normal;
  letter-spacing: 0.05em;
}

.event_date,
.event_text {
  margin: 0.5em 0;
  padding: 0;
}

.event_body a {
  padding-bottom: 2px;
  border-bottom: 1px solid #777 !important;
  transition: border-bottom 0.7s;
}

.event_body a:hover {
  border-bottom: 1px solid #aaa !important;
}

.event_body a img {
  border: none;
  text-decoration: none;
}

@media screen and (max-width: 640px) {
  .event_fv {
    background-size: 114%;
  }

  .event_item {
    margin: 2em 0;
    padding: 2em 1em;
    border: 1px solid #1a1a1a;
    overflow: hidden;
  }

  .event_item img {
    padding: 0 0 1em 0;
    width: 100%;
    float: none;
  }
}

/* ---------------------------------------------------------------- *
  interview用の設定
* ---------------------------------------------------------------- */
.interview_fv {
  background-image: url(./images/bg_interview_2.jpg);
}

.interview {
  margin: 40px auto;
  padding: 1em;
  max-width: 1080px;
}

.interview_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.interview_list>* {
  margin: 0 0 2em;
  padding: 1em 1em 0;
  width: 32.5%;
  border: 1px solid #ccc;
  text-align: center;
}

.interview_h {
  margin: 1em 0 0;
  font-size: 1.1em;
  font-weight: normal;
  letter-spacing: 0.05em;
}

.interview_list_data {
  margin: 0.5em 0;
  font-size: 0.9em;
}

.interview_item {
  margin-bottom: 60px;
  min-height: 420px;
  background-size: 55%;
}

.interview_item:nth-child(2n+1) {
  background-position: top right;
}

.interview_item:nth-child(2n) {
  background-position: top left;
}

.interview_item_h {
  display: inline-block;
  padding: 2em 2.3em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  letter-spacing: 0.1em;
  font-weight: normal;
}

.interview_item_text {
  padding: 1em;
  width: 50%;
  background-color: rgba(255, 255, 255, 0.6);
}

.interview_item:nth-child(2n) .interview_item_h {
  margin-top: -30px;
  margin-left: 42%;
}

.interview_item:nth-child(2n) .interview_item_text {
  margin-left: 50%;
}

.interview_gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.interview_gallery>* {
  background-size: cover;
  background-position: center;
  height: 280px;
  margin-bottom: 1.5em;
}

.interview_gallery>* a {
  display: block;
  height: 100%;
}

.interview_gallery>*:nth-child(1) {
  width: 24%;
}

.interview_gallery>*:nth-child(2) {
  width: 29%;
}

.interview_gallery>*:nth-child(3) {
  width: 44%;
}

.interview_gallery>*:nth-child(4) {
  width: 70%;
}

.interview_gallery>*:nth-child(5) {
  width: 28%;
}

.interview_gallery>*:nth-child(6) {
  width: 24%;
}

.interview_gallery>*:nth-child(7) {
  width: 29%;
}

.interview_gallery>*:nth-child(8) {
  width: 44%;
}

.interview_gallery>*:nth-child(9) {
  width: 70%;
}

.interview_gallery>*:nth-child(10) {
  width: 28%;
}

.interview_data {
  width: 40%;
  display: flex;
  justify-content: flex-start;
  padding: 1em;
  border: 1px solid #999;
}

.interview_data p {
  margin: 0 0 1em;
}

.interview_data>*:nth-child(1) {
  margin-right: 1em;
  width: 210px;
}

@media screen and (max-width: 768px) {
  .interview_item {
    margin-bottom: 60px;
    min-height: auto;
    background-size: 52%;
  }
}

@media screen and (max-width: 640px) {
  .interview {
    margin: 30px auto;
    padding: 1em;
  }

  .interview_list>* {
    margin: 0 0 1em;
    padding: 1em 1em 0;
    width: 100%;
  }

  .interview_h {
    margin: 1em 0 0;
    font-size: 1.1em;
    font-weight: normal;
    letter-spacing: 0.05em;
  }

  .interview_list_data {
    margin: 0.5em 0;
    font-size: 0.8em;
  }

  .interview_item {
    margin-bottom: 30px;
    padding-top: 1em;
    min-height: auto;
    background-size: 100%;
  }

  .interview_item p {
    margin-bottom: 0;
    padding: 0;
  }

  .interview_item:nth-child(2n+1) {
    background-position: top right;
  }

  .interview_item:nth-child(2n) {
    background-position: top left;
  }

  .interview_item_h {
    display: inline-block;
    padding: 0.7em 1em;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.6);
    letter-spacing: 0.1em;
    font-weight: normal;
    font-size: 14px;
    position: relative;
    z-index: 2;
  }

  .interview_item_text {
    padding: 1em;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.6);
  }

  .interview_item:nth-child(2n) .interview_item_h {
    margin-top: 10px;
    margin-left: auto;
  }

  .interview_item:nth-child(2n) .interview_item_text {
    margin-left: auto;
  }

  .interview_gallery>* {
    height: 120px;
    margin-bottom: 0.5em;
  }

  .interview_data {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 1em;
    border: 1px solid #999;
  }

  .interview_data p {
    margin: 0 0 1em;
  }

  .interview_data>*:nth-child(1) {
    margin: 0 0 1em;
    width: 100%;
  }

  .interview_single_item {
    margin-bottom: 30px;
    min-height: auto;
    background-size: 100%;
  }
}

/* ---------------------------------------------------------------- *
  お客様の声はがきリスト用の設定
* ---------------------------------------------------------------- */
.voice_fv {
  background-image: url(./images/bg_voice.jpg);
}

.voice_list {
  margin: 40px auto;
  padding: 1em;
  max-width: 1000px;
}

.voice_list>* {
  margin-bottom: 2em;
  padding-bottom: 2em;
  display: flex;
  justify-content: space-between;
  border-bottom: dashed 1px #aaa;
}

.voice_list--image {
  display: block;
  width: 20%;
}

.voice_list--data {
  width: 78%;
  overflow: hidden;
}

.voice_list--link {
  text-align: right;
}

@media screen and (max-width: 640px) {
  .voice_list>* {
    margin-bottom: 2em;
    padding-bottom: 2em;
    display: block;
    border-bottom: dashed 1px #aaa;
  }

  .voice_list--image {
    display: block;
    margin: auto;
    width: 60%;
  }

  .voice_list--image img {
    display: block;
    width: 100%;
    height: auto;
  }

  .voice_list--data {
    width: 100%;
  }
}

/* ---------------------------------------------------------------- *
  オーダーメイド用の設定
* ---------------------------------------------------------------- */
.ordermade_kitchen_fv {
  background-image: url(./images/ordermade_kitchen_fv_2.jpg);
}

.ordermade_kitchen_fv a {
  color: #1a1a1a !important;
  text-decoration: none;
}

.ordermade_kitchen_lead {
  padding: 80px 1em;
  text-align: center;
}

.ordermade_kitchen_lead p {
  line-height: 2.1;
}

.ordermade_kitchen_lead_block {
  margin: 0 auto 80px;
  padding: 1em;
  max-width: 1080px;
  overflow: hidden;
}

.ordermade_kitchen_lead_image {
  display: block;
  margin: 0 auto;
  width: 65%;
}

.ordermade_kitchen_lead_text {
  width: 32%;
  margin-top: 60px;
  padding: 60px 2.1em;
  line-height: 1.8;
  color: #fff;
  background: #666;
  position: absolute;
  z-index: 1;
}

.ordermade_kitchen_para1 {
  min-height: 800px;
  background-image: url(./images/omk_case_01a.jpg);
  color: #fff;
  position: relative;
}

.ordermade_kitchen_para2 {
  min-height: 800px;
  background-image: url(./images/omk_case_02a.jpg);
  color: #fff;
  position: relative;
}

.ordermade_kitchen_para3 {
  min-height: 800px;
  background-image: url(./images/omk_case_03a.jpg);
  color: #fff;
  position: relative;
}

.ordermade_kitchen_after_block {
  position: absolute;
  bottom: 0;
  padding: 0;
  width: 100%;
  color: #fff;
  background: rgba(26, 26, 26, 0.65);
  letter-spacing: 0.1em;
}

.ordermade_kitchen_after_block_inner {
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
  padding: 0 1em;
  max-width: 1080px;
}

.ordermade_kitchen_after_case {
  margin: 0 1em 0 0;
  padding: 1.5em 1em 0;
  font-size: 1.5em;
  font-weight: normal;
  background: #808080;
  text-align: center;
  white-space: nowrap;
}

.ordermade_kitchen_after_case span {
  display: inline-block;
  margin: 10px 0 0;
  padding: 0.5em 0.4em;
  font-size: 0.7em;
  line-height: 1;
  color: #808080;
  background: #fff;
  border-radius: 8px;
}

.ordermade_kitchen_after_data {
  padding: 0.6em 0;
  width: 100%;
}

.ordermade_kitchen_after_h {
  margin: 0;
  padding: 0.5em 0;
  font-size: 1.3em;
  font-weight: normal;
}

.ordermade_kitchen_after_text {
  margin: 0;
  padding: 0 0 0.5em;
  font-size: 1em;
}

.ordermade_kitchen_before {
  margin: 40px auto 20px;
  padding: 2em;
  max-width: 1080px;
  min-height: 250px;
  border: 1px solid #000;
  overflow: hidden;
  position: relative;
}

.omk_case_link {
  margin: 2em 1em 100px;
  text-align: center;
}

.omk_case_link .btn_05 {
  padding-top: 1.2em;
  padding-bottom: 1.2em;
}

.omk_case_link .btn_05:before {
  top: 13px;
}

.ordermade_kitchen_before_case {
  margin: 0;
  padding: 0;
  font-size: 1.5em;
  letter-spacing: 0.1em;
  position: relative;
  display: flex;
}

.ordermade_kitchen_before_case:after {
  content: " ";
  display: block;
  margin: 0.8em 0 0 1em;
  width: 100%;
  height: 1px;
  background: #000;
}

.ordermade_kitchen_before_image {
  display: block;
  width: 25%;
  position: absolute;
  top: 1.7em;
  right: 2em;
}

.ordermade_kitchen_before_h {
  margin: 0;
  padding: 1em 0 0.5em;
  font-size: 1.3em;
  font-weight: normal;
  width: 74%;
}

.ordermade_kitchen_before_text {
  margin: 0;
  padding: 0;
  width: 72%;
  font-size: 0.9em;
  line-height: 1.8;
}

.ordermade_kitchen_list_block {
  padding: 60px 1em;
  background: #e5e5e5;
  overflow: hidden;
}

.ordermade_kitchen_list {
  margin: auto;
  padding: 1em;
  max-width: 1080px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  left: 1.2em;
}

.ordermade_kitchen_list>* {
  padding: 0.5em;
  width: calc(33.3333% - 1em);
}

@media (max-width: 480px) {
  .ordermade_kitchen_list>* {
    padding: 0.25em;
    width: calc(33.3333% - 1em);
  }
}

@media screen and (max-width: 768px) {
  .ordermade_kitchen_lead_block {
    margin: 0 auto 80px;
    padding: 1em;
    max-width: 1080px;
    overflow: hidden;
  }

  .ordermade_kitchen_lead_image {
    display: block;
    width: 60%;
    float: right;
  }

  .ordermade_kitchen_lead_text {
    width: 42%;
    margin-top: 20px;
    padding: 20px 1.2em;
    line-height: 1.8;
    color: #fff;
    background: #666;
    position: absolute;
    z-index: 1;
  }

  .ordermade_kitchen_para1,
  .ordermade_kitchen_para2,
  .ordermade_kitchen_para3 {
    min-height: 520px;
  }

  .ordermade_kitchen_before {
    margin: 40px 1em 20px;
    padding: 1.4em;
    min-height: 200px;
  }
}

#kitchen_list {
  margin-top: -80px;
  padding-top: 80px;
}

@media screen and (max-width: 640px) {
  .ordermade_kitchen_lead {
    padding: 30px 1em;
    text-align: center;
  }

  .ordermade_kitchen_lead p {
    line-height: 1.7;
  }

  .ordermade_kitchen_lead_block {
    margin: 0 auto 20px;
    padding: 1em;
    max-width: 1080px;
    overflow: hidden;
  }

  .ordermade_kitchen_lead_image {
    display: block;
    margin: auto;
    width: 100%;
    float: none;
  }

  .ordermade_kitchen_lead_text {
    width: 100%;
    margin-top: 20px;
    padding: 2em 1em;
    line-height: 1.8;
    color: #fff;
    background: #666;
    position: static;
  }

  .ordermade_kitchen_para1 {
    min-height: 180px;
    margin-bottom: 260px;
  }

  .ordermade_kitchen_para2 {
    min-height: 180px;
    margin-bottom: 320px;
  }

  .ordermade_kitchen_para3 {
    min-height: 180px;
    margin-bottom: 280px;
  }

  .ordermade_kitchen_after_block {
    position: absolute;
    bottom: auto;
    top: 180px;
    padding: 0;
    width: 100%;
    color: #fff;
    background: rgba(26, 26, 26, 0.65);
    letter-spacing: 0.1em;
  }

  .ordermade_kitchen_after_block_inner {
    display: block;
    padding: 0;
  }

  .ordermade_kitchen_after_case {
    margin: 0;
    padding: 0.3em 0;
    font-size: 1.5em;
    font-weight: normal;
    background: none;
    text-align: center;
    white-space: nowrap;
  }

  .ordermade_kitchen_after_case span {
    display: inline-block;
    margin: 10px 0 0;
    padding: 0.8em 0.4em 0.4em;
    font-size: 0.6em;
    line-height: 1;
    color: #808080;
    background: #fff;
    border-radius: 3px;
  }

  .ordermade_kitchen_after_data {
    padding: 0.6em 1em;
    width: 100%;
  }

  .ordermade_kitchen_after_h {
    margin: 0;
    padding: 0.5em 0;
    font-size: 1.3em;
    font-weight: normal;
  }

  .ordermade_kitchen_after_text {
    margin: 0;
    padding: 0 0 0.5em;
    font-size: 1em;
  }

  .ordermade_kitchen_before {
    margin: 20px 1em 20px;
    padding: 1em;
    max-width: 1080px;
    min-height: 120px;
    border: 1px solid #000;
    font-size: 1em;
    overflow: hidden;
    position: relative;
  }

  .omk_case_link {
    margin: 2em 1em 40px;
    text-align: center;
  }

  .ordermade_kitchen_before_case {
    margin: 1em 0;
    padding: 0;
    font-size: 1.3em;
    letter-spacing: 0.1em;
    position: relative;
    display: flex;
  }

  .ordermade_kitchen_before_case:after {
    content: " ";
    display: block;
    margin: 0.8em 0 0 1em;
    width: 100%;
    height: 1px;
    background: #000;
  }

  .ordermade_kitchen_before_image {
    display: block;
    width: 25%;
    position: absolute;
    top: 0.7em;
    right: 1em;
  }

  .ordermade_kitchen_before_h {
    margin: 0;
    padding: 1em 0 0.5em;
    font-size: 1.1em;
    font-weight: normal;
    width: 100%;
  }

  .ordermade_kitchen_before_text {
    margin: 0;
    padding: 0;
    width: 72%;
    font-size: 0.9em;
    line-height: 1.8;
  }

  .ordermade_kitchen_list_block {
    padding: 30px 0;
  }
}

@media screen and (max-width: 320px) {
  .ordermade_kitchen_para1 {
    margin-bottom: 300px;
  }

  .ordermade_kitchen_para2 {
    margin-bottom: 360px;
  }

  .ordermade_kitchen_para3 {
    margin-bottom: 320px;
  }

  .omk_case_link .btn_05 {
    font-size: 11px;
  }
}

/* ---------------------------------------------------------------- *
  モデルルーム用の設定
* ---------------------------------------------------------------- */
.modelroom_fv {
  background-image: url(./images/bg_modelroom_2.jpg);
}

.modelroom_fv a {
  color: #1a1a1a !important;
  text-decoration: none;
}

.modelroom_lead {
  padding: 80px 1em 0;
  text-align: center;
}

.modelroom_event {
  margin: 0 auto;
  padding: 20px 1em;
  max-width: 900px;
}

.modelroom_access {
  margin: 30px auto;
  padding: 2em;
  max-width: 1000px;
  background: #f3f3f3;
  overflow: hidden;
}

.modelroom_access img {
  display: block;
  margin: 0 2em 0 0;
  max-width: 320px;
  float: left;
}

.modelroom_h {
  font-size: 1.4em;
  font-weight: normal;
  letter-spacing: 0.05em;
}

.modelroom_lead p {
  line-height: 2.1;
}

.modelroom_map {
  height: 420px;
}

.modelroom_para1 {
  height: 420px;
  background-image: url(./images/modelroom_image.jpg);
  color: #fff;
  text-align: center;
  padding-top: 60px;
}

.modelroom_point_lead {
  padding: 40px 1em;
  text-align: center;
}

.modelroom_item {
  margin: 0 auto 30px;
  padding: 1em;
  max-width: 1080px;
  overflow: hidden;
}

.modelroom_case {
  padding: 0.6em 1em;
  color: #fff;
  background: #b2b2b2;
  font-size: 1.5em;
  letter-spacing: 0.1em;
}

.modelroom_case_image {
  display: block;
  width: 65%;
  float: right;
}

.modelroom_case_h {
  margin: 0;
  padding: 1em 1em 0;
  font-weight: normal;
}

.modelroom_case_text {
  width: 32%;
  padding: 2.1em;
  line-height: 1.8;
  background: #fff;
  border: 1px solid #1a1a1a;
  position: absolute;
  z-index: 1;
}

.modelroom_case_text .btn_05 {
  margin: 1.6em 0 0;
}

.modelroom_case_link {
  line-height: 1.7;
}

.modelroom_case_link:before {
  top: 22px;
}

@media screen and (max-width: 768px) {
  .modelroom_case_image {
    display: block;
    width: 55%;
    float: right;
  }

  .modelroom_case_h {
    margin: 0;
    padding: 1em 1em 0;
    font-weight: normal;
  }

  .modelroom_case_text {
    width: 43%;
    padding: 1.8em;
    line-height: 1.8;
    background: #fff;
    border: 1px solid #1a1a1a;
    position: static;
    float: left;
  }

  .modelroom_case_text .btn_05 {
    letter-spacing: 0.05em;
    font-size: 12px;
  }
}

@media screen and (max-width: 640px) {
  .modelroom_lead {
    padding: 30px 1em 0;
    text-align: center;
  }

  .modelroom_event {
    margin: 0 auto;
    padding: 20px 1em;
    max-width: 900px;
  }

  .modelroom_access {
    margin: 20px 1em;
    padding: 1em;
  }

  .modelroom_access img {
    margin: 0 0 1em 0;
    max-width: 100%;
    float: none;
  }

  .modelroom_h {
    font-size: 1.4em;
    font-weight: normal;
    letter-spacing: 0.05em;
  }

  .modelroom_lead p {
    line-height: 1.7;
  }

  .modelroom_map {
    height: 420px;
  }

  .modelroom_point_lead {
    padding: 20px 1em;
    text-align: center;
  }

  .modelroom_item {
    margin: 0 auto 20px;
    padding: 1em;
  }

  .modelroom_case {
    padding: 0.6em 1em;
    color: #fff;
    background: #b2b2b2;
    font-size: 1.5em;
    letter-spacing: 0.1em;
  }

  .modelroom_case_image {
    display: block;
    width: 100%;
    float: none;
  }

  .modelroom_case_h {
    margin: 0;
    padding: 1.2em 0 0;
    font-weight: normal;
  }

  .modelroom_case_text {
    width: 100%;
    padding: 0;
    line-height: 1.6;
    border: none;
    position: static;
  }
}

/* ---------------------------------------------------------------- *
  リノベーションの流れ用の設定
* ---------------------------------------------------------------- */
.flow_step_image {
  display: block;
  margin: 10px auto;
  padding: 1em;
  max-width: 900px;
}

.flow_item {
  margin: 30px auto;
  padding: 1em;
  max-width: 1000px;
  overflow: hidden;
}

.flow_image {
  display: block;
  width: 48%;
  margin: 0 0 0 2em;
  float: right;
}

.folw_step {
  display: inline-block;
  margin: 0 0 1em;
  padding: 1em 2em 1.2em;
  border: 1px solid #1a1a1a;
  font-weight: normal;
  font-size: 0.9rem;
  line-height: 1;
}

.folw_step span {
  display: inline-block;
  margin: 0 1em 0 0;
  font-size: 1.4rem;
  font-family: "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

.flow_text {
  padding: 1em;
}

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

.flow_step_2 {
  width: 49%;
}

.folw_step_2_h {
  margin: 0;
  padding: 1.1em 1em;
  color: #fff;
  background: #666;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.1rem;
  font-weight: normal;
}

.flow_line {
  display: block;
  width: 55%;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .flow_step_image {
    display: block;
    margin: 10px auto;
    padding: 1em 0;
    width: 100%;
  }

  .flow_item {
    margin: 20px auto;
    padding: 0;
  }

  .flow_image {
    display: block;
    width: 100%;
    margin: 1em 0;
    float: none;
  }

  .folw_step {
    display: inline-block;
    margin: 1em;
    padding: 1em 1.2em 1.2em;
    font-size: 0.8rem;
  }

  .folw_step span {
    margin: 0 0.5em 0 0;
    font-size: 1.1rem;
  }

  .flow_text {
    margin: 0;
    padding: 1em;
  }

  .flow_item .btn_02 {
    margin-left: 1em;
  }

  .flow_item>.tAc {
    text-align: left;
  }

  .flow_item>p.tAc {
    padding: 0 1em;
  }

  .flow_step_2_wp {
    flex-wrap: wrap;
    padding: 0 1em;
  }

  .flow_step_2 {
    width: 100%;
  }

  .flow_step_2 .flow_text {
    padding: 1em 0;
  }

  .folw_step_2_h {
    margin: 0;
    padding: 0.8em 1em;
    color: #fff;
    background: #666;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 1rem;
    font-weight: normal;
  }

  .flow_line {
    display: none;
  }
}

/* ---------------------------------------------------------------- *
  会社概要用の設定
* ---------------------------------------------------------------- */
.company_lead {
  margin: 40px auto;
  padding: 1em;
  max-width: 1000px;
}

.company_block {
  margin: 30px auto;
  padding: 1em;
  max-width: 1000px;
}

.company_table {
  margin: 3em auto 100px;
  width: 100%;
  border-top: 1px solid #ddd;
  text-align: left;
}

.company_table tr {
  border-bottom: 1px solid #ddd;
}

.company_table th {
  padding: 1em 2em;
}

.company_table th span {
  display: block;
  padding: 0.5em 0;
  border-right: 1px solid #ddd;
}

.company_table td {
  padding: 1em 2em;
}

.award_block {
  margin: 30px auto;
  padding: 1em;
  max-width: 1000px;
}

.award_list {
  border-top: 1px solid #aaa;
}

.award_list>* {
  border-bottom: 1px solid #aaa;
}

.award_list>* a {
  display: block;
  margin: 0;
  padding: 1em 0;
  display: flex;
  justify-content: space-between;
}

.award_image {
  width: 20%;
  background: #eee;
}

.award_data {
  width: 78%;
}

.award_h1,
.award_title {
  font-size: 1rem;
  font-weight: normal;
}

.staff_block {
  margin: 30px auto;
  padding: 1em;
  max-width: 1000px;
}

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

.staff_list>* {
  width: 32%;
}

.staff_list--image {
  margin: auto;
  width: 90%;
}

.staff_name {
  margin: 1em 0 0;
  padding: 0;
  font-size: 1.3rem;
  font-weight: normal;
  text-align: center;
}

.staff_certified {
  margin: 0.4em 0 0.7em;
  font-size: 0.75rem;
  text-align: center;
  height: 1em;
  color: #555;
}

@media screen and (max-width: 640px) {
  .company_table {
    margin: 1em auto;
    width: 98%;
    border-top: 1px solid #ddd;
  }

  .company_table th {
    padding: 0.6em 1em;
    width: 130px;
  }

  .company_table th span {
    padding: 0.2em 0;
  }

  .company_table td {
    padding: 0.6em 1em;
  }

  .award_block {
    margin: 30px auto;
    padding: 1em;
    max-width: 1000px;
  }

  .award_list>* a {
    display: block;
    margin: 0;
    padding: 1em 0;
    display: flex;
    justify-content: space-between;
  }

  .award_image {
    width: 32%;
    background: none;
  }

  .award_data {
    width: 66%;
  }

  .award_h1 {
    margin: 0 0 0.5em;
    padding: 0;
    font-size: 0.6rem;
    font-weight: normal;
  }

  .award_title {
    margin: 0;
    padding: 0;
    font-size: 0.8rem;
    font-weight: normal;
    line-height: 1.7;
  }

  .staff_block {
    margin: 30px auto;
  }

  .staff_list {
    flex-wrap: wrap;
  }

  .staff_list>* {
    width: 100%;
  }

  .staff_list--image {
    margin: 30px auto 0;
    width: 60%;
  }

  .staff_name {
    margin: 1em 0 0;
    padding: 0;
    font-size: 1.2rem;
    font-weight: normal;
    text-align: center;
  }

  #staff,
  #award {
    padding-top: 80px;
    margin-top: -80px;
  }
}

/* ---------------------------------------------------------------- *
  ブログ用の設定
* ---------------------------------------------------------------- */
.blog_fv {
  background-image: url(./images/bg_blog_2.jpg);
}

.blog {
  margin: 0 auto;
  padding: 1em;
  max-width: 1080px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.blog_contents {
  margin: 0;
  padding: 0;
  width: 78%;
}

.blog_archive_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto;
  padding: 1em;
  max-width: 1280px;
}

.blog_archive_list li {
  margin: 0 0 1em;
  display: flex;
  justify-content: space-between;
}

.blog_archive_list li a:nth-child(1) {
  width: 22%;
}

.blog_archive_list li a:nth-child(2) {
  padding: 0 1em;
  width: 78%;
}

.blog_side {
  margin: 30px 0 0;
  padding: 0;
  width: 22%;
}

.blog_side_h {
  padding: 0.3em 0.5em;
  text-align: center;
  color: #fff;
  background: #666;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.05em;
}

.blog_side_list {
  margin: 0 0 30px;
}

.blog_side_list>* {
  border-bottom: 1px solid #aaa;
}

.blog_side_list>* a {
  display: block;
  padding: 0.8em 0.5em;
  transition: all 0.7s ease-in-out 0.1s;
}

.blog_side_list>* a:hover {
  color: #1a1a1a !important;
  background: #eee;
}

.blog_contents_body {
  margin: 42px 0;
  padding: 0 1em;
}

.blog_contents_body img {
  display: inline-block;
  margin: 1em 0;
}

.blog_contents_body a {
  padding-bottom: 2px;
  border-bottom: 1px solid #777 !important;
  transition: border-bottom 0.7s;
}

.blog_contents_body a:hover {
  border-bottom: 1px solid #aaa !important;
}

.blog_contents_body a img {
  border: none;
  text-decoration: none;
}

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

.blog_body--link_01 a {
  display: inline-block;
  text-align: center;
  margin: 1.8em 0;
  padding: 1.5em 2.3em 1.2em !important;
  text-decoration: none !important;
  letter-spacing: 0.08;
  line-height: 1;
  font-size: 1.2em;
  font-weight: bold;
  color: #000;
  background-color: #e1e1e1;
  border-radius: 10px;
  border: none !important;
  transition: 0.7s;
}

@media (max-width: 480px) {
  .blog_body--link_01 a {
    font-size: 1.1em;
    padding: 0.9em 1.3em;
    line-height: 1.4;
  }
}

.blog_body--link_01 a:hover {
  opacity: 0.7 !important;
  border: none !important;
}

.blog_body--link_02 {
  text-align: left;
}

.blog_body--link_02 a {
  display: inline-block;
  text-align: center;
  margin: 1.8em 0;
  padding: 1.5em 2.3em 1.2em !important;
  text-decoration: none !important;
  letter-spacing: 0.08;
  line-height: 1;
  font-size: 1.2em;
  font-weight: bold;
  color: #000;
  background-color: #e1e1e1;
  border-radius: 10px;
  border: none !important;
  transition: 0.7s;
}

@media (max-width: 480px) {
  .blog_body--link_02 a {
    font-size: 1.1em;
    padding: 0.9em 1.3em;
    line-height: 1.4;
  }
}

.blog_body--link_02 a:hover {
  opacity: 0.7 !important;
  border: none !important;
}

@media screen and (max-width: 640px) {
  .blog_fv .h_01 {
    padding: 0 1em;
    font-size: 16px;
  }

  .blog {
    padding: 1em;
  }

  .blog_contents {
    margin: 0;
    padding: 0;
    width: 100%;
  }

  .blog_archive_list {
    margin: 10px auto;
    padding: 0;
  }

  .blog_archive_list li {
    margin: 0 0 1em;
    display: flex;
    justify-content: space-between;
  }

  .blog_archive_list li a:nth-child(1) {
    width: 25%;
  }

  .blog_archive_list li a:nth-child(2) {
    padding: 0 1em;
    width: 75%;
  }

  .blog_side {
    margin: 30px 0 0;
    padding: 0;
    width: 100%;
  }

  .blog_contents_body {
    margin: 10px 0 0;
    padding: 0;
  }

  .blog_contents_body img {
    display: inline-block;
    margin: 1em 0;
  }
}

/* ---------------------------------------------------------------- *
  contact用の設定
* ---------------------------------------------------------------- */
.contact_fv {
  background-image: url(./images/bg_contact_2.jpg);
}

.contact {
  margin: 40px auto;
  padding: 1em;
  max-width: 1080px;
}

/* ---------------------------------------------------------------- *
  parallaxの設定
* ---------------------------------------------------------------- */
.para {
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

@media screen and (max-width: 834px) {
  .para {
    background-attachment: scroll;
  }
}

@media screen and (max-width: 768px) {
  .para {
    background-attachment: scroll;
  }
}

/* ---------------------------------------------------------------- *
  fancybox用の設定
* ---------------------------------------------------------------- */
.fancybox-caption {
  font-weight: bold;
  letter-spacing: 0.05em;
}

.fancybox-infobar {
  top: auto !important;
  bottom: 20px;
  left: auto !important;
  right: 20px;
  font-weight: bold;
  letter-spacing: 0.05em;
}

/* ---------------------------------------------------------------- *
  slick共通の設定
* ---------------------------------------------------------------- */
.slick-dots {
  bottom: 0 !important;
}

.slick-slide:focus {
  outline: none !important;
}

.slick-initialized {
  display: block;
}

.slick-dotted.slick-slider {
  padding-bottom: 10px !important;
  margin-bottom: 20px !important;
}

@media screen and (max-width: 768px) {
  .slick-dots {
    bottom: 10px !important;
  }
}

/* ---------------------------------------------------------------- *
  GoogleMapの設定
* ---------------------------------------------------------------- */
.acf-map {
  width: 100%;
  height: 400px;
  margin: 3em 0;
  border: 1px solid #dfdfdf;
}

.gmap {
  position: relative;
  margin: 3em 0;
  padding-bottom: 36%;
  height: 0;
  overflow: hidden;
}

.gmap iframe {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 640px) {
  .gmap {
    padding-top: 24%;
  }

  .acf-map {
    height: 200px;
  }
}

/* ---------------------------------------------------------------- *
  google map用の設定
 * ---------------------------------------------------------------- */
#gmap {
  margin: 0;
  width: 100%;
  height: 480px;
}

@media screen and (max-width: 640px) {
  #gmap {
    height: 240px;
  }
}

.gmap {
  position: relative;
  margin: 3em 0;
  padding-bottom: 36%;
  height: 0;
  overflow: hidden;
}

.gmap iframe {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 640px) {
  .gmap {
    padding-top: 50%;
  }
}

/* ---------------------------------------------------------------- *
  pagenaviの設定
* ---------------------------------------------------------------- */
.single_pagenavi {
  margin: 120px auto 2em;
  max-width: 800px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.single_pagenavi>* {
  padding: 0.5em;
  display: flex;
  align-items: center;
  font-size: 14px;
}

.wp-pagenavi {
  margin: 3em auto;
  clear: both;
  text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  color: #1a1a1a !important;
  border: solid 1px #1a1a1a !important;
  padding: 8px 15px;
  margin: 0 2px 0.6em;
  white-space: nowrap;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
}

.wp-pagenavi a:hover {
  color: #fff !important;
  background-color: #1a1a1a;
  border-color: #1a1a1a;
  opacity: 1 !important;
}

.wp-pagenavi span.current {
  color: #fff !important;
  background-color: #1a1a1a;
  border-color: #1a1a1a;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .single_pagenavi>* {
    font-size: 12px;
  }
}

/* ---------------------------------------------------------------- *
  フォームの設定
* ---------------------------------------------------------------- */
.contact {
  padding: 0 1em;
}

.contact_note {
  margin: 2em auto 2em;
  padding: 0 0.5em;
  max-width: 500px;
  text-align: center;
  border: 1px solid #ddd;
  position: relative;
}

.contact_note--title {
  position: absolute;
  top: -1em;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  padding: 0.2em 1em;
  width: 300px;
  font-size: 14px;
  font-weight: 500;
  background: #fff;
}

.contact_note--tel {
  margin: 0.7em 0 0.2em;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  font-family: "Old Standard TT", sans-serif;
}

.contact_note--time {
  margin: 0 0 1em;
  font-size: 0.8em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .contact_note {
    margin: 1em auto 2em;
    padding: 0 0.5em;
    max-width: 90%;
  }

  .contact_note--title {
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    display: block;
    margin: auto;
    padding: 0.2em 0.6em;
    width: 230px;
    font-size: 12px;
    font-weight: 400;
    background: #fff;
  }

  .contact_note--tel {
    margin: 0.7em 0 0.3em;
    font-size: 1.4em;
    letter-spacing: 0.05em;
    text-align: center;
  }
}

.required {
  display: inline-block;
  margin-left: 1em;
  padding: 1px 0.6em;
  background: #92243a;
  color: #fff;
  font-size: 8px;
  font-weight: bold;
  float: right;
}

.any {
  display: inline-block;
  margin-right: 1em;
  padding: 1px 0.6em;
  background: #999;
  color: #fff;
  font-size: 8px;
  font-weight: bold;
}

.form_choice_tab {
  margin: 2em auto;
  max-width: 600px;
  display: flex;
  justify-content: space-between;
}

.form_choice_tab>* {
  width: 50%;
  text-align: center;
  transition: all 0.5s ease-in-out 0.1s;
}

.form_choice_tab>* a {
  display: block;
  padding: 1em 0.5em 0.9em;
  line-height: 1;
  letter-spacing: 0.1em;
  background: #eee;
}

.form_choice_tab>*:hover {
  opacity: 0.8;
}

.form_choice_tab>* a:hover {
  color: #1a1a1a !important;
}

.form_choice_tab>* a.active {
  color: #fff !important;
  background: #8bc53e;
  position: relative;
}

.form_choice_tab>* a.active:before {
  content: " ";
  display: block;
  position: absolute;
  bottom: -7px;
  left: calc(50% - 7px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 7px 0 7px;
  border-color: #8ac53e transparent transparent transparent;
}

table.contact_form {
  margin: 1em auto;
  max-width: 1000px;
  text-align: left;
}

table.contact_form th {
  padding: 0.6em 0.7em;
  width: 30%;
  color: #1a1a1a;
  background: #e5e5e5;
  border: 1px solid #8d8d8d;
  font-weight: normal;
}

table.contact_form td {
  padding: 0.6em 0.7em;
  width: 70%;
  color: #1a1a1a;
  background: #fff;
  border: 1px solid #8d8d8d;
}

table.contact_form input[type=text],
table.contact_form input[type=email] {
  font-family: "Old Standard TT", "Noto Serif JP", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  margin: 0;
  padding: 0;
  background: none;
  border: 1px solid #ccc;
  border-radius: 0;
  outline: none;
  line-height: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

table.contact_form button,
table.contact_form textarea,
table.contact_form select {
  font-family: "Old Standard TT", "Noto Serif JP", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  margin: 0;
  padding: 0;
  background: none;
  border: 1px solid #ccc;
  border-radius: 0;
  outline: none;
  line-height: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

table.contact_form input[type=text],
table.contact_form input[type=email] {
  padding: 0.3em;
  width: 100%;
}

table.contact_form textarea {
  padding: 0.3em;
  width: 100%;
}

input[type=checkbox]:disabled {
  opacity: 0.2;
}

p.file_comment {
  font-size: 13px;
}

.submit_box {
  margin-bottom: 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.submit_box>* {
  margin: 0 1em 30px !important;
}

.mw_wp_form_input .submit_back {
  display: none;
}

input[type=submit] {
  margin: 1.4em 0 0;
  padding: 0.6em 8em;
  border: 1px solid #1a1a1a;
  color: #1a1a1a;
  transition: 0.5s;
  position: relative;
  font-family: "Old Standard TT", "Noto Serif JP", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

input[type=submit]:hover {
  background: #1a1a1a;
  color: #fff;
}

.thanks_box {
  text-align: center;
}

.select-wrap {
  display: inline-block;
  overflow: hidden;
  margin: 0;
  padding: 0;
  text-align: center;
  position: relative;
}

.select-wrap select {
  border: 1px solid #bbbbbb;
  border-radius: 2px;
  padding: 8px 40px 8px 14px !important;
  width: 100%;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  letter-spacing: 0.05em;
  outline: none;
  background: #ffffff;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #666666;
}

.select-wrap select::-ms-expand {
  display: none;
}

.select-wrap::before {
  position: absolute;
  top: 0.5em;
  right: 0.9em;
  padding: 0;
  content: "";
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color: transparent transparent #565656 #565656;
  transform: rotate(-45deg);
  pointer-events: none;
}

.mw_wp_form_preview .select-wrap::before {
  display: none;
}

@media screen and (max-width: 768px) {
  table.contact_form {
    max-width: 98%;
    width: 98%;
    border-bottom: 1px solid #1a1a1a;
  }

  table.contact_form th {
    display: block;
    padding: 0.5em 0.7em;
    width: 100%;
    border-bottom: 0;
  }

  table.contact_form td {
    display: block;
    padding: 0.5em 0.7em;
    width: 100%;
    border-bottom: 0;
    font-size: 16px;
  }

  p.file_comment {
    font-size: 12px;
  }

  p.submit {
    max-width: 240px;
  }

  p.submit:after {
    margin-top: -2px;
    top: 50%;
    right: 36px;
  }

  p.submit:hover:after {
    right: 36px;
  }

  table.contact_form input[type=radio] {
    position: relative;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    box-sizing: border-box;
    width: 18px;
    height: 18px;
    content: "";
    background-color: #ffffff;
    border: 1px solid #999999;
    border-radius: 18px;
    box-shadow: inset 4px 4px 10px rgba(0, 0, 0, 0.2);
    vertical-align: middle;
    cursor: pointer;
  }

  table.contact_form input[type=radio]:checked:after {
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    content: "";
    width: 10px;
    height: 10px;
    background: #1a1a1a;
    border-radius: 10px;
  }

  .select-wrap {
    padding: 0 0 0 0.3em;
  }

  .select-wrap select {
    padding: 0.1em 1em 0.1em 0.5em;
  }

  .select-wrap::before {
    top: 0.7em;
    right: 0.9em;
    width: 6px;
    height: 6px;
  }

  .mw_wp_form_preview .select-wrap::before {
    display: none;
  }

  .select-wrap select {
    padding: 4px 26px 4px 4px;
    color: #666666;
  }
}

/* ---------------------------------------------------------------- *
  フェードイン・フェードインスライドの設定
* ---------------------------------------------------------------- */
.anim .fi {
  transition: 1s;
  opacity: 0;
}

.anim_add .fi {
  opacity: 1;
}

.anim .fis {
  transition: 1s;
  opacity: 0;
  transform: translate(0, 10px);
}

.anim .fis_add {
  opacity: 1;
  transform: translate(0, 0);
}

.anim .fisl {
  transition: 1s;
  transform: translate(-10px, 0);
}

.anim .fisl_add {
  transform: translate(0, 0);
}

.anim .fisr {
  transition: 1s;
  transform: translate(10px, 0);
}

.anim .fisr_add {
  transform: translate(0, 0);
}

/* ---------------------------------------------------------------- *
  ハンバーガーの設定
* ---------------------------------------------------------------- */
.hamburger {
  display: none;
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 80;
  padding: 3px 6px 8px;
  border-radius: 5px;
}

.toggle {
  display: none;
}

.toggle-label {
  cursor: pointer;
  display: block;
  width: 36px;
  height: 36px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

.toggle-label:active {
  -webkit-tap-highlight-color: transparent;
}

.toggle-label .toggle-icon {
  position: relative;
  display: block;
  top: 50%;
  left: 50%;
  height: 2px;
  width: 28px;
  background: #fff;
  content: "";
  transition: all 500ms ease-in-out;
}

.toggle-label .toggle-icon:before,
.toggle-label .toggle-icon:after {
  position: relative;
  display: block;
  top: 50%;
  left: 50%;
  height: 2px;
  width: 28px;
  background: #fff;
  content: "";
  transition: all 500ms ease-in-out;
}

.toggle-label .toggle-text {
  position: relative;
  display: block;
  top: calc(100% - 13px);
  height: 14px;
  font-size: 6px;
  font-size: 0.6rem;
  color: #fff;
  text-align: center;
}

.toggle-label .toggle-icon {
  transform: translate3d(-50%, -5px, 0);
}

.toggle-label .toggle-icon:before {
  transform: translate3d(-50%, -9.5px, 0);
}

.toggle-label .toggle-icon:after {
  transform: translate3d(-50%, 5px, 0);
}

.toggle:checked~.toggle-label .toggle-icon {
  background-color: transparent;
}

.toggle:checked~.toggle-label .toggle-icon:before,
.toggle:checked~.toggle-label .toggle-icon:after {
  top: 0;
  background: #fff;
}

.toggle:checked~.toggle-label .toggle-icon:before {
  transform: translateX(-50%) rotate(45deg);
  top: 1.1px;
}

.toggle:checked~.toggle-label .toggle-icon:after {
  transform: translateX(-50%) translateY(-10px) rotate(-45deg);
  top: 8.5px;
}

.toggle:checked~.toggle-label .toggle-text:before {
  visibility: hidden;
  opacity: 0;
}

.toggle:checked~.toggle-label .toggle-text:after {
  visibility: visible;
  opacity: 1;
  color: #fff;
}

@media screen and (max-width: 640px) {
  .hamburger {
    display: block;
    top: 14px;
    right: 10px;
  }

  .toggle-label .toggle-icon {
    background: #fff;
    box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.7);
  }

  .toggle-label .toggle-icon:before,
  .toggle-label .toggle-icon:after {
    background: #fff;
    box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.7);
  }

  .toggle-label .toggle-text {
    color: #fff;
    box-shadow: none;
  }

  .toggle:checked~.toggle-label .toggle-icon {
    background-color: none;
    box-shadow: none;
  }

  .toggle:checked~.toggle-label .toggle-text:after {
    color: #fff !important;
    text-shadow: none;
  }
}

.u-link {
  text-decoration: underline !important;
}

.p-privacy {
  margin: 40px auto;
  padding: 1em 2em;
  max-width: 1000px;
  background-color: #fcfcfc;
}

@media (max-width: 480px) {
  .p-privacy {
    margin: 30px 10px;
    padding: 1em;
  }
}

.p-privacy--title {
  font-size: 1.15em;
  font-weight: bold;
}

.p-privacy--list>* {
  margin: 0.4em 0;
  line-height: 1.5;
}

.u-privacyLink {
  display: block !important;
  padding: 1em 0 0 !important;
  font-size: 12px !important;
}

@media (max-width: 480px) {
  .u-privacyLink {
    font-size: 10px !important;
  }
}

.faq_fv {
  background-image: url(./images/bg_faq.jpg);
}

.cp_qa {
  margin: 20px auto 60px;
  padding: 1em;
  max-width: 1000px;
}

.cp_qa--title {
  text-align: center;
  font-size: 2em;
  font-weight: 500;
  margin: 2em 0 0;
}

@media (max-width: 480px) {
  .cp_qa--title {
    padding: 0 1em;
    font-size: 1.4em;
  }
}

.cp_qa .cp_actab {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 0 1em 0;
  color: #333;
}

.cp_qa .cp_actab input {
  position: absolute;
  opacity: 0;
}

.cp_qa .cp_actab label {
  font-weight: bold;
  line-height: 1.6em;
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 0 0 0;
  padding: 0.5em 2em 0.5em 2.5em;
  cursor: pointer;
  text-indent: 1em;
  border-radius: 0.5em;
  background: rgba(241, 241, 241, 0.9);
}

@media (max-width: 480px) {
  .cp_qa .cp_actab label {
    padding: 0.8em 3em 0.8em 2.5em;
  }
}

.cp_qa .cp_actab label::before {
  font-family: serif;
  font-size: 1.5em;
  margin-left: -1.6em;
  padding-right: 0.8em;
  content: "Q";
}

.cp_qa .cp_actab label:hover {
  transition: all 0.3s;
  color: #000;
}

.cp_qa .cp_actab label::after {
  font-size: 1.7em;
  font-weight: bold;
  line-height: 2em;
  content: "+";
  display: inline-block;
  margin-left: auto;
  width: 2em;
  height: 2em;
  transition: transform 0.4s;
}

@media (max-width: 480px) {
  .cp_qa .cp_actab label::after {
    position: absolute;
    right: 5px;
  }
}

.cp_qa .cp_actab .cp_actab-content {
  position: relative;
  overflow: hidden;
  max-height: 0;
  padding: 0 1em 0 2.8em;
  transition: max-height 0.2s;
  border-radius: 0 0 0.5em 0.5em;
}

.cp_qa .cp_actab .cp_actab-content::before {
  font-family: serif;
  font-size: 1.5em;
  position: absolute;
  margin: 0.4em 0 0 -1.1em;
  padding: 0;
  content: "A";
}

.cp_qa .cp_actab .cp_actab-content p {
  margin: 1em 1em 1em 0.8em;
}

.cp_qa .cp_actab .cp_actab-content p a {
  text-decoration: underline;
}

.cp_qa .cp_actab input:checked~.cp_actab-content {
  max-height: 40em;
}

.cp_qa .cp_actab input:checked~label {
  color: #000;
  border-radius: 0.5em 0.5em 0 0;
}

.cp_qa .cp_actab input[type=checkbox]:checked+label::after {
  transform: rotateZ(45deg);
  transform-origin: 50% 50%;
}

.c-faq_nav {
  display: flex;
  justify-content: space-between;
  margin: 40px auto 0;
  max-width: 1080px;
  flex-wrap: wrap;
}

.c-faq_nav>* {
  flex-basis: 33%;
}

@media (max-width: 480px) {
  .c-faq_nav>* {
    flex-basis: 49.8%;
  }
}

.c-faq_nav>* a {
  display: block;
  text-align: center;
  padding: 1em;
  font-size: 0.9em;
  background-color: #f3f3f3;
}

@media (max-width: 480px) {
  .c-faq_nav>* a {
    margin-bottom: 1px;
    padding: 0.5em;
    font-size: 10px;
    min-height: 7em;
  }
}

.c-faq_nav>* a:after {
  content: "";
  display: block;
  margin: auto;
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color: transparent transparent #565656 #565656;
  transform: rotate(-45deg);
}

.c-faq_nav>* a:hover {
  color: #1a1a1a !important;
  opacity: 0.7 !important;
}

.u-newTag {
  display: inline-block;
  margin: 0 0 0 0.5em;
  padding: 0.4em 0.7em;
  font-size: 0.7em;
  line-height: 1;
  border: 1px solid #000;
  border-radius: 4px;
}

.u-newTag2 {
  display: inline-block;
  margin: 0 0 0.5em;
  padding: 0.5em 0.7em 0.4em;
  font-size: 12px;
  line-height: 1;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 4px;
}

.u-worksTag {
  display: inline-block;
  margin: 1em 0.4em 0.5em;
  padding: 0.5em 0.2em 0.4em;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  color: #fff !important;
  border-radius: 4px;
}

@media (max-width: 480px) {
  .u-worksTag {
    font-size: 12px;
  }
}

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

.p-worksPoint--title {
  margin: 2em 0 1em;
  font-size: 2.3em;
  font-weight: 500;
  text-align: center;
}

@media (max-width: 480px) {
  .p-worksPoint--title {
    font-size: 1.8em;
  }
}

.p-worksPoint_data--label {
  padding: 0.6em;
  font-size: 1.7em;
  font-weight: 500;
  text-align: center;
}

@media (max-width: 480px) {
  .p-worksPoint_data--label {
    padding: 0.6em 0;
  }
}

.p-worksPoint_data--label:after {
  display: none !important;
}

.p-worksPoint_data--item {
  margin: 0 0 2em;
  display: flex;
  justify-content: space-between;
}

.p-worksPoint_data--item>* {
  flex-basis: 48%;
  position: relative;
}

.p-worksPoint_data--item>*:nth-child(1):after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background-image: url(./images/right-arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 36%;
  right: -40px;
}

@media (max-width: 480px) {
  .p-worksPoint_data--item>*:nth-child(1):after {
    top: 28%;
    right: -28px;
    width: 18px;
    height: 18px;
  }
}

.p-worksPoint_data--image {
  padding: 0 2em;
}

@media (max-width: 480px) {
  .p-worksPoint_data--image {
    padding: 0;
  }
}

.p-worksPoint_data--text {
  padding: 0 2em;
}

@media (max-width: 480px) {
  .p-worksPoint_data--text {
    padding: 0;
  }
}

.p-member {
  padding: 1em;
}

.p-member_fv {
  margin: 60px auto;
  max-width: 640px;
}

.p-member_item {
  margin: 0 auto 60px;
  max-width: 1000px;
  display: flex;
  justify-content: space-between;
}

.p-member_item:nth-child(2n+1) {
  flex-direction: row-reverse;
}

@media (max-width: 480px) {
  .p-member_item {
    display: block;
  }
}

.p-member_item>*:nth-child(1) {
  flex-basis: 40%;
}

.p-member_item>*:nth-child(2) {
  flex-basis: 58%;
}

.p-member_item--image {
  padding: 1em 3em 0;
}

.p-member_item--name {
  margin: 0;
  padding: 1em;
  text-align: center;
}

.p-member_item--position {
  margin: 0;
  padding: 0;
  text-align: center;
}

.p-member_item--label {
  display: inline-block;
  margin: 0;
  padding: 0.5em 1em;
  font-size: 0.8em;
  font-weight: 500;
  background-color: #f3f3f3;
  line-height: 1;
  border-radius: 5px;
}

.p-member_item--text {
  padding: 0;
}

.c-movie_feed {
  margin: auto;
  max-width: 1000px;
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 480px) {
  .c-movie_feed {
    display: block;
    padding: 0 2em;
  }
}

.c-movie_feed>* {
  margin: 0 1% 2em;
  flex-basis: 31.3%;
}

.c-movie_feed--title {
  margin: 0.5em 0;
  padding: 0;
  text-align: left;
}

.c-movie_feed--date {
  margin: 0;
  padding: 0;
  text-align: right;
}

.c-movie_feed--date:before {
  content: "";
  display: block;
  width: 5em;
  height: 1px;
  background-color: #ccc;
  margin: 4px 0 4px auto;
}

.c-works_nav {
  display: flex;
  justify-content: space-between;
  margin: 40px auto 0;
  max-width: 1080px;
  flex-wrap: wrap;
}

.c-works_nav>* {
  flex-basis: 24.6%;
}

.c-works_nav>*.is-active a {
  background-color: #ddd !important;
}

.c-works_nav>* a {
  display: block;
  text-align: center;
  padding: 1em;
  font-size: 0.9em;
  background-color: #f3f3f3;
}

@media (max-width: 480px) {
  .c-works_nav>* a {
    margin-bottom: 1px;
    padding: 0.5em 0.5em 0.8em;
    font-size: 10px;
  }
}

.c-works_nav>* a:after {
  content: "";
  display: block;
  margin: auto;
  width: 6px;
  height: 6px;
  border: 1px solid;
  border-color: transparent transparent #565656 #565656;
  transform: rotate(-45deg);
}

.c-works_nav>* a:hover {
  color: #1a1a1a !important;
  opacity: 0.7 !important;
}

.works_tag_nav {
  margin: 10px auto;
  padding: 1em 1em 0;
  max-width: 1080px;
  background-color: #fcfcfc;
  border: 1px dotted #f3f3f3;
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 480px) {
  .works_tag_nav {
    padding: 1em 1em 0;
    max-width: 98%;
  }
}

.works_tag_nav>* {
  margin: 0 1em 1em 0;
}

.works_tag_nav>* a {
  font-size: 12px;
}

@media (max-width: 480px) {
  .works_tag_nav>* a {
    font-size: 10px;
  }
}

.u-recruit_bnr {
  position: fixed;
  right: 100px;
  bottom: 77px;
  display: block;
  margin: 0;
  padding: 0;
  width: 70px;
  line-height: 1.2em;
  letter-spacing: 0.2em;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 1.4em;
  border-radius: 4px;
}

@media (max-width: 480px) {
  .u-recruit_bnr {
    font-size: 1.4em;
    right: auto;
    left: 6px;
    bottom: 64px;
  }
}

.u-recruit_bnr:hover {
  opacity: 0.7 !important;
}

.u-feedThumbnail {
  display: block;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 6/4;
}

.mwform-checkbox-field label,
.mwform-radio-field label {
  display: inline-block;
}

.c-fvSlide {
  overflow: hidden;
}

.c-fvSlide--image {
  height: 100vh;
  background-size: cover;
}

@media (max-width: 834px) {
  .c-fvSlide--image {
    height: 60vh;
  }
}

@media (max-width: 480px) {
  .c-fvSlide--image {
    height: 50vh;
  }
}

.c-pamphletTitle {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
}

@media (max-width: 834px) {
  .c-pamphletTitle {
    font-size: 21px;
  }
}

@media (max-width: 480px) {
  .c-pamphletTitle {
    font-size: 16px;
  }
}

.c-pamphletTitle:after {
  content: " ";
  display: block;
  margin: 30px auto 0;
  width: 180px;
  height: 1px;
  background-color: #000;
}

@media (max-width: 480px) {
  .c-pamphletTitle:after {
    width: 110px;
  }
}

.c-pamphletImage {
  margin: 0 auto;
  padding: 0 1em;
  max-width: 640px;
}

.order_btn {
  overflow: hidden;
  margin-bottom: 20px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #1a1a1a;
}

.order_btn li {
  padding: 1em 0;
  text-align: center;
  width: 16%;
  cursor: pointer;
  border-bottom: 1px solid transparent;
}

.order_btn li.is-active {
  border-bottom: 1px solid #1a1a1a;
}

.c-youtubeFeed {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1em;
  margin: 2em auto;
  padding: 1em;
  width: 100%;
  max-width: 1180px;
}

@media (max-width: 480px) {
  .c-youtubeFeed {
    display: block;
  }
}

.c-youtubeFeed>* {
  flex-basis: calc(33.3333333333% - 1em);
}

.c-youtubeFeed--mov {
  position: relative;
  margin: 1em 0;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.c-youtubeFeed--mov iframe {
  /*pointer-events: none;*/
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-youtubeFeed--title {
  margin: 0 0 0.5em;
  text-align: center;
}

.c-youtubeFeed--text {
  margin: 0 0 0.5em;
}

/*# sourceMappingURL=style.css.map */