@charset "UTF-8";
/* ======================================
    Reset CSS 
====================================== */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
main,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
main,
footer,
header,
menu,
nav,
section,
picture {
  display: block;
}

nav ul,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

/* form reset
------------------------------- */
input,
select {
  vertical-align: middle;
}

input[type=button],
input[type=text],
input[type=submit],
input[type=image],
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}

/* IE text マーク削除 */
input::-ms-clear {
  visibility: hidden;
}

/* IE password マーク削除 */
input::-ms-reveal {
  visibility: hidden;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -moz-appearance: none;
       appearance: none;
  color: inherit;
  -webkit-appearance: none;
}

/* ======================================
    Base (SP)
====================================== */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
html {
  overflow-x: hidden;
  font-size: 62.5%;
}

body {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.05em;
  background: #fff;
  word-wrap: break-word;
  overflow-x: hidden;
  font-family: "Noto Serif JP", serif;
  color: #333333;
  -webkit-font-smoothing: antialiased;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
          animation: fadeIn 2s ease 0s 1 normal;
}
@media screen and (min-width: 1024px) {
  body {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.05em;
  }
}

p {
  /* フォントサイズはbodyを継承 */
  line-height: 2;
}
@media screen and (min-width: 1024px) {
  p {
    line-height: 2;
  }
}
p a:link {
  text-decoration: underline;
}

/* svgのIEバグ回避 */
img[src$=".svg"] {
  width: 100%;
  height: auto;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  image-rendering: -webkit-optimize-contrast;
}

a img {
  border: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

small {
  text-align: center;
  font-size: 1rem;
  font-style: normal;
}

address {
  font-style: normal;
}

strong {
  font-weight: 700;
}

button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}

sub {
  font-size: 60%;
  vertical-align: sub;
}

sup {
  font-size: 60%;
  vertical-align: super;
}

/* リンク----------------------------- */
a {
  color: #333333;
  /* ブレ防止追加 */
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  text-decoration: none;
}
@media screen and (min-width: 1025px) {
  a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  a:hover {
    color: #333333;
    text-decoration: none;
    opacity: 0.7;
  }
  a:hover img, a:focus img {
    opacity: 0.7;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.bl_headerNavWrap {
  position: fixed;
  bottom: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 503px;
  height: 80px;
  z-index: 110000;
  -webkit-box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.5);
          box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.5);
}
@media screen and (min-width: 1024px) {
  .bl_headerNavWrap {
    bottom: auto;
    top: 0;
    height: 60px;
  }
}
.bl_headerNavWrap .el_contact {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.6%;
          flex: 0 0 41.6%;
  height: 100%;
  background: #333333;
  z-index: 100000;
}
@media screen and (min-width: 1024px) {
  .bl_headerNavWrap .el_contact {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 46.3220675944%;
            flex: 0 0 46.3220675944%;
  }
}
.bl_headerNavWrap .el_contact a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_headerNavWrap .el_contact a br {
    display: none;
  }
}
.bl_headerNavWrap .el_reservation {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 37.0666666667%;
          flex: 0 0 37.0666666667%;
  height: 100%;
  background: #000000;
  z-index: 100000;
}
@media screen and (min-width: 1024px) {
  .bl_headerNavWrap .el_reservation {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.7972166998%;
            flex: 0 0 33.7972166998%;
  }
}
.bl_headerNavWrap .el_reservation a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_headerNavWrap .el_reservation a br {
    display: none;
  }
}

/* ======================================
    .bl_headerNav
====================================== */
.bl_headerNav {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  position: absolute;
  right: -100%;
  bottom: 80px;
  height: auto;
  background: rgba(255, 255, 255, 0.9);
  opacity: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  overflow-y: auto;
  z-index: 11100;
  /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
  /*Google Chrome、Safariへの対応*/
}
.bl_headerNav::-webkit-scrollbar {
  display: none;
}
@media screen and (min-width: 1024px) {
  .bl_headerNav {
    top: 60px;
    bottom: auto;
  }
}
.bl_headerNav_global {
  width: 89.3333333333%;
  height: auto;
  padding-top: 10px;
  padding-bottom: 30px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items: center;
  -webkit-column-gap: 25px;
     -moz-column-gap: 25px;
          column-gap: 25px;
}
@media screen and (min-width: 1024px) {
  .bl_headerNav_global {
    width: 100%;
    padding: 50px;
    gap: 43px;
    row-gap: 0;
  }
}
.bl_headerNav_global > li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 25px) / 2);
          flex: 0 0 calc((100% - 25px) / 2);
}
@media screen and (min-width: 1024px) {
  .bl_headerNav_global > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 43px) / 2);
            flex: 0 0 calc((100% - 43px) / 2);
  }
}
.bl_headerNav_global > li > a {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  margin: 0 auto;
  border-bottom: 1px solid #000;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  text-align: left;
  color: #333333;
  font-weight: 500;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.is_btnHamburger__on .bl_headerNav {
  right: 0; /* 右から出す場合 */
  opacity: 1;
}

/* =================================================
    .bl_header
=================================================== */
.bl_header {
  width: 100%;
  height: 80px;
  background: transparent;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
@media screen and (min-width: 1024px) {
  .bl_header {
    position: absolute;
    top: 0;
    left: 0;
    height: 90px;
    z-index: 11000;
  }
}
.bl_header_inner {
  position: relative;
  width: 89.3333333333%;
  height: 100%;
  padding-top: 10px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .bl_header_inner {
    width: 92.1875%;
  }
}
@media screen and (min-width: 1024px) {
  .bl_header_inner {
    width: 97.619047619%;
  }
}
.bl_header_logo {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 87.4626865672%;
  max-width: 293px;
  height: auto;
  z-index: 11000;
}
@media screen and (min-width: 1024px) {
  .bl_header_logo {
    width: 293px;
  }
}
.bl_header_logo a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
}

/* =================================================
    main
=================================================== */
main.ly_page_top {
  padding-bottom: 40px;
}
@media screen and (min-width: 1024px) {
  main.ly_page_top {
    padding-bottom: 80px;
  }
}

/* =================================================
    layout section
=================================================== */
.ly_sec {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.ly_sec_inner {
  width: 89.3333333333%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .ly_sec_inner {
    width: 92.1875%;
  }
}
@media screen and (min-width: 1024px) {
  .ly_sec_inner {
    width: 96.875%;
    max-width: 1160px;
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* =================================================
    footer
=================================================== */
.bl_footer {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding-top: 25px;
  padding-bottom: 100px;
  background: #333333;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .bl_footer {
    padding-top: 50px;
    padding-bottom: 30px;
    text-align: center;
  }
}
.bl_footer .bl_footer_inner {
  width: 89.3333333333%;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .bl_footer .bl_footer_inner {
    width: 96.875%;
    max-width: 1160px;
    padding-left: 30px;
    padding-right: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.bl_footer .el_cont .el_logo {
  width: 230px;
  height: auto;
}
.bl_footer .el_cont .el_logo p {
  margin-top: 8px;
  font-weight: 500;
  line-height: 1;
  text-align: left;
}
.bl_footer .el_cont address {
  margin-top: 20px;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .bl_footer .el_cont address {
    text-align: left;
  }
}
.bl_footer .el_cont address a {
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}
.bl_footer .el_link {
  margin-top: 50px;
}
@media screen and (min-width: 1024px) {
  .bl_footer .el_link {
    margin-top: 0;
    text-align: left;
  }
}
.bl_footer .el_link .el_banner a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 230px;
  height: auto;
}
.bl_footer .el_link ul {
  margin-top: 20px;
}
.bl_footer .el_link ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
}
.bl_footer .el_link ul li a::before {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 12px;
  height: 6px;
  background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
  margin-right: 4px;
}
.bl_footer .el_link small {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: 50px;
  font-size: 10px;
  font-size: 1rem;
  text-align: left;
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .bl_footer .el_link small {
    margin-top: 20px;
    text-align: right;
  }
}

/* =================================================
    layout Flex
=================================================== */
.ly_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.ly_flex_center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.ly_flex_btw {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.ly_flex_ard {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.ly_flex_start {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.ly_flex_row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.ly_flex_nowrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.ly_flex .ly_flexBox50 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}

@media screen and (min-width: 1024px) {
  .ly_flex_pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .ly_flex_pc_center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .ly_flex_pc_btw {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .ly_flex_pc_ard {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .ly_flex_pc_start {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
  .ly_flex_pc_row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .ly_flex_pc_nowrap {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}

/* ======================================
    el_btnHamburger
====================================== */
.el_btnHamburger {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 21.3333333333%;
          flex: 0 0 21.3333333333%;
  width: 80px;
  height: 80px;
  margin: 0;
  overflow: hidden;
  z-index: 100000;
  background-color: #75432f;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .el_btnHamburger {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 19.8807157058%;
            flex: 0 0 19.8807157058%;
    height: 60px;
  }
}
.el_btnHamburger__animation {
  position: absolute;
  top: 28px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 40px;
  height: 18px;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .el_btnHamburger__animation {
    top: 20px;
  }
}
.el_btnHamburger_line {
  /* 線色 */
  background: #fff;
  width: 100%;
  height: 2px;
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.el_btnHamburger_line.el_btnHamburger_line__top {
  -webkit-transform: translateY(-1.1rem);
          transform: translateY(-1.1rem);
}
.el_btnHamburger_line.el_btnHamburger_line__bottom {
  -webkit-transform: translateY(1.1rem);
          transform: translateY(1.1rem);
}

/* 背景 */
.js_wrapBg {
  position: fixed;
  left: 0;
  top: 80px;
  width: 100vw;
  height: calc(100vh - 80px);
  z-index: 10100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 10100;
}

.is_btnHamburger__on .el_btnHamburger_line.el_btnHamburger_line__middle {
  background: transparent;
}
.is_btnHamburger__on .el_btnHamburger_line.el_btnHamburger_line__top {
  -webkit-transform: rotate(-45deg) translateY(0px);
          transform: rotate(-45deg) translateY(0px);
}
.is_btnHamburger__on .el_btnHamburger_line.el_btnHamburger_line__bottom {
  -webkit-transform: rotate(45deg) translateY(0px);
          transform: rotate(45deg) translateY(0px);
}
.is_btnHamburger__on .js_wrapBg {
  opacity: 0;
  visibility: visible;
}

/* =================================================
    ボタン
=================================================== */
.el_btn {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 400px;
  height: 70px;
  padding: 10px 30px;
  padding-right: 70px;
  border: none;
  border-radius: 0;
  background: linear-gradient(-67deg, #75432f 22%, #000000 0);
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: left;
  z-index: 0;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .el_btn {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .el_btn:hover {
    opacity: 1;
    font-weight: 700;
    color: #fff;
  }
  .el_btn:hover::before {
    left: 65.5%;
  }
  .el_btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    width: 50%;
    height: 100%;
    background: linear-gradient(-67deg, transparent 40%, #000000 0);
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
  }
}
.el_btn::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 12px;
  background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
}

/* =================================================
    入力画面に戻る ボタン
=================================================== */
.el_btnBack {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 400px;
  height: 70px;
  padding: 10px 30px;
  padding-right: 70px;
  border: none;
  border-radius: 0;
  background: linear-gradient(-67deg, #333 22%, #000000 0);
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: left;
  z-index: 0;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .el_btnBack:hover {
    opacity: 1;
    font-weight: 700;
    color: #fff;
  }
  .el_btnBack:hover::before {
    left: 65.5%;
  }
  .el_btnBack::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    width: 50%;
    height: 100%;
    background: linear-gradient(-67deg, transparent 40%, #000000 0);
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
  }
}
.el_btnBack::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 12px;
  background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
}

/* =================================================
    VIEW ALL ボタン
=================================================== */
.el_btn_viewAll {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 200px;
  position: relative;
  padding: 11px 30px;
  padding-right: 50px;
  border: 1px solid #333333;
  background: #fff;
  font-size: 15px;
  font-size: 1.5rem;
  font-size: clamp(12px, 4vw, 15px);
  line-height: 1;
  font-weight: 500;
  color: #333333;
  text-align: left;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 1024px) {
  .el_btn_viewAll:hover {
    opacity: 1;
    background: #75432f !important;
    color: #fff;
    font-weight: 700;
  }
  .el_btn_viewAll:hover::after {
    background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
  }
}
.el_btn_viewAll::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 12px;
  background: url(../images/common/btn_arrow_black.svg) no-repeat center center/contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

/* =================================================
    BACK TO LIST ボタン
=================================================== */
/* =================================================
    スタッフ一覧　MOREボタン
=================================================== */
.el_btn_more {
  position: relative;
  width: 200px;
  max-width: 200px;
  height: 40px;
  padding: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #000;
  color: #fff;
}
.el_btn_more::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 20px;
  height: 10px;
  background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
}

/* =================================================
    Cookies ボタン
=================================================== */
.el_btnCookies {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 210px;
  height: 42px;
  line-height: 40px;
  border: 1px solid #fff;
}
.el_btnCookies.el_btnAccept {
  background: #fff;
  color: #000;
  font-weight: 700;
}
.el_btnCookies.el_btnreject {
  background: transparent;
  color: #fff;
}

/* =================================================
    施工事例一覧
=================================================== */
.bl_cat {
  padding-top: 100px;
  padding-bottom: 100px;
  background: #eeeeee;
}
.bl_cat h2 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_cat h2 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 0.1em;
  }
}
.bl_cat ul {
  width: 89.3333333333%;
  max-width: 1160px;
  margin: 50px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 35px;
}
.bl_cat ul .el_case-cat {
  width: 150px;
  height: 176px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 35px) / 2);
          flex: 0 0 calc((100% - 35px) / 2);
}
@media screen and (min-width: 1024px) {
  .bl_cat ul .el_case-cat {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 140px) / 5);
            flex: 0 0 calc((100% - 140px) / 5);
  }
}
.bl_cat ul .el_case-cat a {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  text-align: center;
}
.bl_cat ul .el_case-cat a::before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 150px;
  height: 150px;
  margin: 0 auto;
  border-radius: 100vh;
  background: #888;
}
.bl_cat ul .el_case-cat.el_case-cat_one-story-house a::before {
  background: url(../images/case/01_cat_one-story-house.jpg) no-repeat center center/contain;
}
.bl_cat ul .el_case-cat.el_case-cat_japanese-style a::before {
  background: url(../images/case/02_cat_japanese-style.jpg) no-repeat center center/contain;
}
.bl_cat ul .el_case-cat.el_case-cat_housework a::before {
  background: url(../images/case/03_cat_housework.jpg) no-repeat center center/contain;
}
.bl_cat ul .el_case-cat.el_case-cat_two-story-house a::before {
  background: url(../images/case/04_cat_two-story-house.jpg) no-repeat center center/contain;
}
.bl_cat ul .el_case-cat.el_case-cat_two-family-house a::before {
  background: url(../images/case/05_cat_two-family-house.jpg) no-repeat center center/contain;
}
.bl_cat ul .el_case-cat.el_case-cat_odd-shaped-lot a::before {
  background: url(../images/case/06_cat_odd-shaped-lot.jpg) no-repeat center center/contain;
}
.bl_cat ul .el_case-cat.el_case-cat_pets a::before {
  background: url(../images/case/07_cat_pets.jpg) no-repeat center center/contain;
}
.bl_cat ul .el_case-cat.el_case-cat_study-space a::before {
  background: url(../images/case/08_cat_study-space.jpg) no-repeat center center/contain;
}
.bl_cat ul .el_case-cat.el_case-cat_hobby a::before {
  background: url(../images/case/09_cat_hobby.jpg) no-repeat center center/contain;
}
.bl_cat ul .el_case-cat.el_case-cat_terrace a::before {
  background: url(../images/case/10_cat_terrace.jpg) no-repeat center center/contain;
}
.bl_cat .el_btnMore {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 335px;
  height: 60px;
  margin: 50px auto 0;
  background: #fff;
  text-align: center;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 4;
  letter-spacing: 0.1em;
}
.bl_cat .el_btnMore::after {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  color: #333333;
  line-height: 1;
  width: 6px;
  height: 6px;
  margin-left: 10px;
  border: 1px solid #333333;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  -webkit-transform: translateY(-25%) rotate(135deg);
          transform: translateY(-25%) rotate(135deg);
}
.bl_cat .el_btnMore.el_btnClose::after {
  -webkit-transform: translateY(25%) rotate(-45deg);
          transform: translateY(25%) rotate(-45deg);
}

@media screen and (min-width: 1024px) {
  .bl_case_arciveList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 100px;
    row-gap: 50px;
  }
}
.bl_case_arciveList .bl_article {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 30px auto 0;
}
@media screen and (min-width: 1024px) {
  .bl_case_arciveList .bl_article {
    margin: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 100px) / 2);
            flex: 0 0 calc((100% - 100px) / 2);
  }
}
.bl_case_arciveList .bl_article .el_cat {
  margin-top: 9px;
}
.bl_case_arciveList .bl_article .el_title {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
.bl_case_arciveList .bl_article .el_postTtl a {
  text-decoration: none;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}

.bl_archiveWorks {
  padding-top: 100px;
  padding-bottom: 0px;
}

/* =================================================
    施工事例　カテゴリー一覧　TOP
=================================================== */
.bl_loop-case_popular {
  padding-top: 100px;
  padding-bottom: 100px;
  background: #eeeeee;
}
.bl_loop-case_popular .page-title {
  margin-bottom: 50px;
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.1em;
  font-size: 22px;
  font-size: 2.2rem;
  font-size: clamp(17.6px, 5.8666666667vw, 22px);
}
@media screen and (min-width: 1024px) {
  .bl_loop-case_popular .page-title {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 0.1em;
  }
}
.bl_loop-case_popular .el_btnWrap {
  margin-top: 100px;
}
.bl_loop-case_popular .el_btnWrap .el_btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: none;
  margin: 0 auto;
}

/* =================================================
    イベント一覧
=================================================== */
@media screen and (min-width: 1024px) {
  .bl_archiveEvent > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 100px;
    row-gap: 50px;
  }
}
.bl_archiveEvent > ul .bl_article {
  margin-top: 30px;
}
@media screen and (min-width: 1024px) {
  .bl_archiveEvent > ul .bl_article {
    margin-top: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 100px) / 2);
            flex: 0 0 calc((100% - 100px) / 2);
  }
}
.bl_archiveEvent > ul .bl_article .el_cat {
  margin-top: 9px;
}
.bl_archiveEvent > ul .bl_article .el_title {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}

/* =================================================
    ニュース一覧
=================================================== */
.bl_archiveNews > ul .bl_article {
  padding-top: 5px;
  padding-bottom: 5px;
  border-bottom: 1px dashed #333333;
}
.bl_archiveNews > ul .bl_article:first-of-type {
  border-top: 1px dashed #333333;
}
.bl_archiveNews > ul .bl_article a {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 25px 20px;
  padding-right: 50px;
}
@media screen and (min-width: 1024px) {
  .bl_archiveNews > ul .bl_article a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 50px;
  }
  .bl_archiveNews > ul .bl_article a:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.05);
  }
}
.bl_archiveNews > ul .bl_article a::after {
  content: "";
  width: 12px;
  height: 6px;
  background: url(../images/common/btn_arrow_black.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.bl_archiveNews > ul .bl_article a .el_title {
  line-height: 1.4;
}

/* =================================================
    .bl_pageheader
=================================================== */
.bl_pageheader {
  width: 100%;
  height: auto;
  display: grid;
  place-items: center;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (min-width: 1024px) {
  .bl_pageheader {
    padding-top: 160px;
    padding-bottom: 100px;
  }
}
.bl_pageheader h1 {
  font-family: "Nanum Myeongjo", serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-size: clamp(20.8px, 6.9333333333vw, 26px);
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .bl_pageheader h1 {
    font-size: 40px;
    font-size: 4rem;
    font-size: clamp(32px, 2.9282576867vw, 40px);
  }
}
.bl_pageheader h1 span {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 8px auto 0;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-size: clamp(14.4px, 4.8vw, 18px);
  line-height: 1;
  letter-spacing: 0.3em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_pageheader h1 span {
    font-size: 22px;
    font-size: 2.2rem;
    font-size: clamp(17.6px, 1.6105417277vw, 22px);
  }
}

/* =================================================
    カテゴリー
=================================================== */
.el_cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.el_cat > li {
  margin: 0;
  line-height: 1;
}
.el_cat > li a {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: auto;
  padding: 2px 5px;
  margin: 0;
  background: transparent;
  border: 1px solid #333333;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  color: #333333;
}
@media screen and (min-width: 1024px) {
  .el_cat > li a:hover {
    opacity: 1;
    color: #fff;
    background-color: #75432f;
  }
}
.el_cat > li::before {
  display: none;
}

/* =================================================
    タグ
=================================================== */
.el_tag_list {
  padding-top: 10px;
  margin-top: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #999;
  gap: 10px;
}
.el_tag_list li {
  display: inline-block;
  border: 1px solid #666;
}
.el_tag_list li a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 3px 5px;
  background: #666;
  font-size: 12px;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .el_tag_list li a:hover {
    background: #fff;
    color: #666;
    opacity: 1;
  }
}

/* =================================================
    スライド設定
=================================================== */
.is_noslide .el_navigation {
  display: none;
}

/* =================================================
    .bl_contact
=================================================== */
.bl_contact .bl_contact_lead p {
  margin-top: 2em;
}
.bl_contact .bl_contact_lead p:first-of-type {
  margin-top: 0;
}
.bl_contact .bl_datetime {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 420px;
  gap: 20px;
}
.bl_contact .bl_datetime .bl_day {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 20px) / 2);
          flex: 0 0 calc((100% - 20px) / 2);
}
.bl_contact .bl_datetime .bl_time {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 20px) / 2);
          flex: 0 0 calc((100% - 20px) / 2);
}
.bl_contact .bl_contact_leadFinish {
  max-width: 750px;
  margin: 0 auto 50px;
}
.bl_contact .bl_contact_leadFinish h2 {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
.bl_contact .bl_contact_leadFinish p {
  margin-top: 2em;
  text-align: center;
}
.bl_contact .bl_contact_leadFinish p:first-of-type {
  margin-top: 0;
}
.bl_contact .bl_contact_form {
  margin-top: 50px;
}
.bl_contact .bl_contact_form table {
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .bl_contact .bl_contact_form table {
    width: 100%;
    margin: 0 auto;
  }
}
.bl_contact .bl_contact_form table::before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  background-size: 5px 1px;
  background-image: linear-gradient(to right, #333333 2px, transparent 2px);
  background-repeat: repeat-x;
  background-position: left top;
  z-index: 10;
}
.bl_contact .bl_contact_form table tr {
  position: relative;
}
.bl_contact .bl_contact_form table tr::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-size: 5px 1px;
  background-image: linear-gradient(to right, #333333 2px, transparent 2px);
  background-repeat: repeat-x;
  background-position: left top;
  z-index: 10;
}
.bl_contact .bl_contact_form table th,
.bl_contact .bl_contact_form table td {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .bl_contact .bl_contact_form table th,
  .bl_contact .bl_contact_form table td {
    display: table-cell;
  }
}
.bl_contact .bl_contact_form table th {
  position: relative;
  padding: 20px 25px;
  background-color: #eeeeee;
  text-align: left;
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .bl_contact .bl_contact_form table th {
    width: 250px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_contact .bl_contact_form table th {
    width: 300px;
    padding-left: 50px;
  }
}
.bl_contact .bl_contact_form table th::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-size: 5px 1px;
  background-image: linear-gradient(to right, #333333 2px, transparent 2px);
  background-repeat: repeat-x;
  background-position: left top;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .bl_contact .bl_contact_form table th::after {
    display: none;
  }
}
.bl_contact .bl_contact_form table th.el_norequired {
  padding-left: 65px;
}
@media screen and (min-width: 1024px) {
  .bl_contact .bl_contact_form table th.el_norequired {
    padding-left: 96px;
  }
}
.bl_contact .bl_contact_form table td {
  padding: 20px 25px;
}
@media screen and (min-width: 768px) {
  .bl_contact .bl_contact_form table td {
    padding: 20px 50px;
  }
}
.bl_contact .bl_contact_form table td input {
  max-width: 420px;
}
.bl_contact .bl_contact_form table td textarea {
  max-width: 680px;
}
.bl_contact .bl_contact_form table td .el_img {
  width: 290px;
  height: auto;
  margin: 5px auto;
}
.bl_contact .bl_contact_form .el_caution {
  width: 100%;
  height: auto;
  padding: 50px 20px;
  margin: 50px auto;
  background: #eeeeee;
}
.bl_contact .bl_contact_form .el_caution a {
  font-weight: 700;
  color: #333333;
}
.bl_contact .bl_contact_form .el_checkbox {
  padding-left: 20px;
  text-align: left;
}
.bl_contact .bl_contact_form .el_checkbox.el_checkbox_privacy {
  margin-top: 50px;
  text-align: center;
}
.bl_contact .bl_contact_form .el_btnWrap {
  margin-top: 50px;
  text-align: center;
}
.bl_contact .bl_contact_form .bl_contact_leadFinish h2 {
  margin-bottom: 50px;
}
.bl_contact .bl_contact_form .bl_contact_leadFinish p {
  margin-bottom: 2em;
}
.bl_contact .bl_privacypolicy {
  width: 100%;
  height: 300px;
  padding: 20px;
  border: 1px solid #ccc;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0em;
  overflow-y: auto;
  /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
  /*Google Chrome、Safariへの対応*/
}
.bl_contact .bl_privacypolicy::-webkit-scrollbar {
  display: none;
}
.bl_contact .bl_privacypolicy .bl_privacypolicy_inner {
  padding-top: 30px;
  padding-bottom: 30px;
}
.bl_contact .bl_privacypolicy h1 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.1818181818;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
}
.bl_contact .bl_privacypolicy h2 {
  margin-top: 40px;
  margin-bottom: 10px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  font-weight: 500;
}
.bl_contact .bl_privacypolicy ul li {
  position: relative;
  padding-left: 12px;
}
.bl_contact .bl_privacypolicy ul li::before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 6px;
  height: 6px;
  background: #333333;
  border-radius: 6px;
  position: absolute;
  top: 14px;
  left: 0;
}
.bl_contact .bl_privacypolicy a[href^="tel:"] {
  color: #333333;
}

/* =================================================
    .ly_page_blog
=================================================== */
.ly_page_blogWrap {
  max-width: 1140px;
  margin: 0 auto;
  gap: 20px;
}
@media screen and (min-width: 1024px) {
  .ly_page_blogWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 1024px) {
  .ly_page_blogWrap .ly_page_blog {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 64.9122807018%;
            flex: 0 0 64.9122807018%;
  }
}
.ly_page_blogWrap .ly_page_side {
  display: none;
}
@media screen and (min-width: 1024px) {
  .ly_page_blogWrap .ly_page_side {
    display: block;
  }
}
@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .ly_page_blogWrap .ly_page_side {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 29.8245614035%;
            flex: 0 0 29.8245614035%;
  }
}
.ly_page_blogWrap .ly_page_side .ly_page_side_inner {
  width: 89.3333333333%;
  margin: 0 auto;
}

/* =================================================
    .bl_single
=================================================== */
.bl_single .bl_single_header time {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.bl_single .bl_single_header h2:not(.bl_single_header_voice) {
  padding-bottom: 5px;
  margin-bottom: 50px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #000;
}
.bl_single .bl_single_header .bl_single_header_voice {
  margin-bottom: 15px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_single .bl_single_header .bl_single_header_voice {
    margin-bottom: 20px;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.4666666667;
    letter-spacing: 0.05em;
  }
}
.bl_single .bl_single_common .el_msg {
  padding-top: 50px;
  padding-bottom: 50px;
  margin-top: 100px;
  border-top: 1px dotted #333;
  border-bottom: 1px dotted #333;
}
@media screen and (min-width: 1024px) {
  .bl_single .bl_single_common .el_msg {
    max-width: 300px;
  }
}
.bl_single .bl_single_common .el_msg p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.bl_single .bl_single_common .el_msg a {
  color: #333333;
}
.bl_single .bl_single_common .el_linkList {
  margin-top: 50px;
}
.bl_single .bl_single_common .el_linkList li {
  list-style: none;
  padding-left: 0;
  margin-bottom: 2em;
}
.bl_single .bl_single_common .el_linkList li:last-of-type {
  margin-bottom: 0;
}
.bl_single .bl_single_common .el_linkList li::before {
  content: "";
  display: none;
}
.bl_single .bl_single_common .el_linkList li a {
  color: #51a58f;
  text-decoration: underline;
}

.el_btnWrapSingle {
  margin-top: 100px;
}
.el_btnWrapSingle .el_btn {
  margin: 0 auto;
  color: #fff;
  text-decoration: none;
}

/* =================================================
    .bl_sideBlog
=================================================== */
.bl_sideBlog section h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
}
.bl_sideBlog .bl_sideBlog_recent {
  padding-bottom: 100px;
}
.bl_sideBlog .bl_sideBlog_recent .bl_sideBlog_recentList {
  margin-top: 10px;
  border-top: 1px dotted #333;
}
.bl_sideBlog .bl_sideBlog_recent .bl_sideBlog_recentList li {
  border-bottom: 1px dotted #333;
}
.bl_sideBlog .bl_sideBlog_recent .bl_sideBlog_recentList li a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 50px;
  background: url(../images/common/btn_arrow_black.svg) no-repeat right 20px center;
  background-size: 12px 6px;
}
.bl_sideBlog .bl_sideBlog_archive {
  padding-bottom: 100px;
}
.bl_sideBlog .bl_sideBlog_archive .bl_sideBlog_archiveList {
  margin-top: 20px;
  border-top: 1px dotted #333;
}
.bl_sideBlog .bl_sideBlog_archive .bl_sideBlog_archiveList li {
  border-bottom: 1px dotted #333;
}
.bl_sideBlog .bl_sideBlog_archive .bl_sideBlog_archiveList li a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 50px;
  background: url(../images/common/btn_arrow_black.svg) no-repeat right 20px center;
  background-size: 12px 6px;
}

/* =================================================
    .bl_single_event 
=================================================== */
.bl_single_event .bl_eventData {
  margin: 20px auto 100px;
  padding: 40px 20px;
  background: #eeeeee;
}
@media screen and (min-width: 1024px) {
  .bl_single_event .bl_eventData {
    padding: 40px 100px;
  }
}
.bl_single_event .bl_eventData .el_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 60px;
  row-gap: 1em;
}
@media screen and (min-width: 1024px) {
  .bl_single_event .bl_eventData .el_flex {
    gap: 140px;
    row-gap: 1em;
  }
}
.bl_single_event .bl_eventData .el_flex dt {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 3em;
          flex: 0 0 3em;
  font-weight: 700;
}
.bl_single_event .bl_eventData .el_flex dt::after {
  content: "";
  width: 40px;
  height: 1px;
  background: #333333;
  position: absolute;
  top: 50%;
  left: calc(100% + 5px);
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
@media screen and (min-width: 1024px) {
  .bl_single_event .bl_eventData .el_flex dt::after {
    width: 100px;
  }
}
.bl_single_event .bl_eventData .el_flex dd {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% - 60px - 3em);
          flex: 0 0 calc(100% - 60px - 3em);
}
@media screen and (min-width: 1024px) {
  .bl_single_event .bl_eventData .el_flex dd {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 140px - 3em);
            flex: 0 0 calc(100% - 140px - 3em);
  }
}
.bl_single_event .el_map {
  width: 100vw;
  height: 300px;
  margin: 100px calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .bl_single_event .el_map {
    width: 100%;
    height: 500px;
    margin: 100px auto;
  }
}
.bl_single_event .el_map iframe {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
}
.bl_single_event .el_eventTtl {
  margin-top: 40px;
  margin-bottom: 15px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
}
.bl_single_event .el_btn_eventWrap {
  margin-bottom: 100px;
}

/* =================================================
    .bl_single-case 
=================================================== */
.bl_single-case {
  position: relative;
  padding-top: 50px;
  background: -webkit-gradient(linear, left top, right top, from(#eeeeee), color-stop(80%, #eeeeee), color-stop(80%, white), to(white));
  background: linear-gradient(90deg, #eeeeee 0%, #eeeeee 80%, white 80%, white 100%);
}
@media screen and (min-width: 782px) {
  .bl_single-case {
    padding-top: 100px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_single-case {
    background: transparent;
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .bl_single-case::before {
    content: "";
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 75%;
    background: #eeeeee;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .bl_single-case::before {
    width: 77.380952381%;
    height: auto;
    aspect-ratio: 1300/653;
  }
}
.bl_single-case h2 {
  margin-bottom: 50px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-size: 23px;
  font-size: 2.3rem;
  font-size: clamp(18.4px, 6.1333333333vw, 23px);
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_single-case h2 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 0.1em;
  }
}
.bl_single-case .bl_top-case_slide {
  position: relative;
  max-width: 450px;
  margin-top: 50px;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .bl_single-case .bl_top-case_slide {
    margin: 0;
    max-width: none;
  }
}
.bl_single-case .bl_top-case_slide .bl_top-caseList .el_cont .el_cat {
  margin-top: 10px;
}
.bl_single-case .bl_top-case_slide .bl_top-caseList .el_cont .el_postTtl a {
  font-size: 20px;
  font-size: 2rem;
  text-decoration: none;
}
.bl_single-case .bl_top-case_slide .el_navigation {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100vw;
  height: 40px;
  margin: calc(50% - 50vw);
  pointer-events: none;
  position: absolute;
  top: 40%;
}
@media screen and (min-width: 768px) {
  .bl_single-case .bl_top-case_slide .el_navigation {
    display: none;
  }
}
.bl_single-case .bl_top-case_slide .el_navigation .swiper-button-next,
.bl_single-case .bl_top-case_slide .el_navigation .swiper-button-prev {
  width: 40px;
  height: 40px;
  margin: 0;
  position: static;
  pointer-events: visible;
}
.bl_single-case .bl_top-case_slide .el_navigation .swiper-button-next {
  background: url(../images/top/slide_r.svg) no-repeat center center/contain;
}
.bl_single-case .bl_top-case_slide .el_navigation .swiper-button-prev {
  background: url(../images/top/slide_l.svg) no-repeat center center/contain;
}
.bl_single-case .bl_top-case_slide .el_navigation .swiper-button-next:after,
.bl_single-case .bl_top-case_slide .el_navigation .swiper-button-prev:after {
  content: "";
}
.bl_single-case.is_noslide .swiper-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
.bl_single-case.is_noslide .swiper-wrapper .swiper-slide {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  width: 100%;
  max-width: 450px;
}
.bl_single-case.is_noslide .swiper-button-prev,
.bl_single-case.is_noslide .swiper-button-next {
  display: none;
}

/* =================================================
    .bl_sitemap
=================================================== */
/* =================================================
    TOP
=================================================== */
.bl_top-fv {
  position: relative;
  width: 100vw;
  max-width: 100vw !important;
}
.bl_top-fv .bl_top-fv_slide {
  height: 100%;
  aspect-ratio: 300/540;
  width: 80%;
  overflow: visible;
  margin-left: auto !important;
  margin-right: 0 !important;
}
@media screen and (min-width: 768px) {
  .bl_top-fv .bl_top-fv_slide {
    aspect-ratio: 1320/880;
    max-width: 1320px;
    width: 78.5714285714%;
  }
}
.bl_top-fv .bl_top-fv_slide .swiper-wrapper {
  width: 100%;
  margin: 0 !important;
}
.bl_top-fv .bl_top-fv_slide .swiper-slide {
  position: relative;
  width: 100%;
}
.bl_top-fv .bl_top-fv_slide .swiper-slide picture {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
}
.bl_top-fv .bl_top-fv_slide .swiper-slide picture img {
  width: 100%;
  height: 100%;
}
.bl_top-fv .bl_top-fv_slide .swiper-slide .el_catch {
  position: absolute;
  top: 78px;
  left: -55px;
  opacity: 0;
  visibility: hidden;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  -webkit-transition: all 1.2s ease-in-out;
  transition: all 1.2s ease-in-out;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.75;
  letter-spacing: 0.3em;
  white-space: nowrap;
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.6);
}
@media screen and (min-width: 768px) {
  .bl_top-fv .bl_top-fv_slide .swiper-slide .el_catch {
    left: -100px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-fv .bl_top-fv_slide .swiper-slide .el_catch {
    top: 270px;
  }
}
@media screen and (min-width: 1280px) {
  .bl_top-fv .bl_top-fv_slide .swiper-slide .el_catch {
    left: -20%;
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.75;
    letter-spacing: 0.3em;
  }
}
.bl_top-fv .bl_top-fv_slide .swiper-slide.swiper-slide-active .el_catch {
  opacity: 1;
  visibility: visible;
}
.bl_top-fv .bl_top-fv_slide .swiper-pagination-bullets.swiper-pagination-horizontal {
  width: 10px;
  height: auto;
  bottom: 30px;
  left: auto;
  right: 102%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .bl_top-fv .bl_top-fv_slide .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 20px;
    right: 102%;
  }
}
.bl_top-fv .bl_top-fv_slide .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  margin: 0;
  border-radius: 0;
  background: #707070;
}
.bl_top-fv .bl_top-fv_slide .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #000000;
}
.bl_top-fv .bl_fvBlog_slide {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  aspect-ratio: 300/540;
  width: 80%;
  max-width: 800px;
  height: 140px;
  margin-left: auto;
  margin-right: 0;
  overflow: hidden;
  background: #eee;
}
@media screen and (min-width: 768px) {
  .bl_top-fv .bl_fvBlog_slide {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 60px;
    aspect-ratio: 1320/880;
    width: 78.5714285714%;
    background: rgba(255, 255, 255, 0.8);
  }
}
.bl_top-fv .bl_fvBlog_slide .el_cont a {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 15px 20px;
  padding-right: 45px;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .bl_top-fv .bl_fvBlog_slide .el_cont a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    align-items: center;
    gap: 1em;
    padding: 0;
    padding-left: 30px;
    padding-right: 45px;
  }
}
.bl_top-fv .bl_fvBlog_slide .el_cont a span {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Nanum Myeongjo", serif;
  font-weight: 900;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.1em;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .bl_top-fv .bl_fvBlog_slide .el_cont a span {
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.bl_top-fv .bl_fvBlog_slide .el_cont a time {
  margin-left: 1em;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: 500;
  vertical-align: middle;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .bl_top-fv .bl_fvBlog_slide .el_cont a time {
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-left: 0;
  }
}
.bl_top-fv .bl_fvBlog_slide .el_cont a .el_ttl {
  margin-top: 10px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .bl_top-fv .bl_fvBlog_slide .el_cont a .el_ttl {
    margin-top: 0;
  }
}
.bl_top-fv .bl_fvBlog_slide .el_cont a::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
  height: 6px;
  background: url(../images/common/btn_arrow_black.svg) no-repeat center center/contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.bl_top-fv .el_iconScroll {
  width: 24px;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 30px;
  z-index: 1000;
}
.bl_top-fv .el_iconScroll a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
}
.bl_top-fv .el_iconScroll a img {
  width: 100%;
  max-width: 9px;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 1024px) {
  .bl_top-fv .el_iconScroll a img {
    max-width: 12px;
  }
}

@media screen and (min-width: 782px) {
  .bl_top-concept {
    padding-bottom: 50px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-concept {
    padding-bottom: 200px;
  }
}
.bl_top-concept .el_catch h1 {
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 2;
  letter-spacing: 0.2em;
  font-size: 26px;
  font-size: 2.6rem;
  font-size: clamp(20.8px, 6.9333333333vw, 26px);
}
@media screen and (min-width: 768px) {
  .bl_top-concept .el_catch h1 {
    font-size: 30px;
    font-size: 3rem;
    line-height: 2;
    letter-spacing: 0.2em;
  }
  .bl_top-concept .el_catch h1 span br {
    display: none;
  }
}
.bl_top-concept .el_flexWrap {
  position: relative;
  padding-top: 40px;
  margin-top: 40px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 782px) {
  .bl_top-concept .el_flexWrap {
    gap: 70px;
    padding-top: 100px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.bl_top-concept .el_flexWrap::before {
  content: "";
  aspect-ratio: 734/700;
  width: 97.8666666667%;
  max-width: 400px;
  position: absolute;
  bottom: calc(100% - 40px);
  left: -80px;
  background: url(../images/top/bkg_top-fv.svg) no-repeat center center/contain;
}
@media screen and (min-width: 782px) {
  .bl_top-concept .el_flexWrap::before {
    left: 0;
    bottom: calc(100% - 250px);
  }
}
@media screen and (min-width: 1280px) {
  .bl_top-concept .el_flexWrap::before {
    width: 43.6904761905%;
    max-width: 734px;
  }
}
@media screen and (min-width: 782px) {
  .bl_top-concept .el_flexWrap .el_img-l {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 54.7619047619%;
            flex: 0 0 54.7619047619%;
    padding-top: 100px;
  }
}
.bl_top-concept .el_flexWrap .el_img-l img {
  width: 100%;
}
.bl_top-concept .el_flexWrap .el_img-r {
  margin-top: 1%;
}
@media screen and (min-width: 782px) {
  .bl_top-concept .el_flexWrap .el_img-r {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.0714285714%;
            flex: 0 0 41.0714285714%;
    margin-top: 0;
  }
}
.bl_top-concept .el_flexWrap .el_img-r img {
  width: 100%;
}
.bl_top-concept .el_flexWrap .el_img-r .el_btnWrap {
  margin-top: 50px;
  text-align: center;
}
@media screen and (min-width: 782px) {
  .bl_top-concept .el_flexWrap .el_img-r .el_btnWrap {
    margin-top: 85px;
  }
}
.bl_top-concept .el_flexWrap .el_img-r .el_btnWrap .is-style-button_normal {
  width: 89.3333333333%;
  max-width: 400px;
  margin: 0 auto;
}
@media screen and (min-width: 782px) {
  .bl_top-concept .el_flexWrap .el_img-r .el_btnWrap .is-style-button_normal {
    margin: 0;
  }
}
.bl_top-concept .el_btnWrap {
  padding-top: 50px;
  padding-bottom: 100px;
}
@media screen and (min-width: 1024px) {
  .bl_top-concept .el_btnWrap {
    padding-top: 0;
    margin-left: 58.9285714286%;
    margin-right: 0;
    margin-top: -155px;
  }
}
.bl_top-concept .el_btnWrap .is-style-button_normal {
  max-width: 335px;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .bl_top-concept .el_btnWrap .is-style-button_normal {
    margin: 0;
  }
}

.bl_top-model {
  padding-top: 50px;
  background: -webkit-gradient(linear, left top, right top, from(#eeeeee), color-stop(80%, #eeeeee), color-stop(80%, white), to(white));
  background: linear-gradient(90deg, #eeeeee 0%, #eeeeee 80%, white 80%, white 100%);
}
@media screen and (min-width: 782px) {
  .bl_top-model {
    padding-top: 100px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-model {
    background: -webkit-gradient(linear, left top, right top, from(#eeeeee), color-stop(55.95%, #eeeeee), color-stop(55.95%, white), to(white));
    background: linear-gradient(90deg, #eeeeee 0%, #eeeeee 55.95%, white 55.95%, white 100%);
  }
}
.bl_top-model h2 {
  position: absolute;
  top: -70px;
  left: 0;
  width: 100%;
  max-width: 300px;
  aspect-ratio: 516/215;
  text-indent: 100%;
  white-space: nowrap !important;
  overflow: hidden;
  background: url(../images/top/ttl_moderhouse.svg) no-repeat left center/contain;
  z-index: 11;
}
@media screen and (min-width: 782px) {
  .bl_top-model h2 {
    top: -120px;
    max-width: 500px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-model h2 {
    left: calc((100vw - 1160px) / 2);
  }
}
.bl_top-model h3 {
  margin-top: 30px;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-size: 28px;
  font-size: 2.8rem;
  font-size: clamp(22.4px, 7.4666666667vw, 28px);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_top-model h3 {
    margin-top: 0;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 0.1em;
    text-align: left;
  }
}
.bl_top-model .el_disc {
  text-align: center;
  font-size: 15px;
  font-size: 1.5rem;
  font-size: clamp(12px, 4vw, 15px);
}
@media screen and (min-width: 768px) {
  .bl_top-model .el_disc {
    text-align: justify;
  }
}
@media screen and (min-width: 782px) {
  .bl_top-model .el_img {
    position: absolute;
    top: -100px;
    right: 0;
    aspect-ratio: 940/500;
    width: 55.9523809524%;
  }
  .bl_top-model .el_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.bl_top-model .el_flexWrap {
  margin-top: 20px;
}
@media screen and (min-width: 782px) {
  .bl_top-model .el_flexWrap {
    margin-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 50px;
  }
}
@media screen and (min-width: 782px) {
  .bl_top-model .el_flexWrap p {
    margin: 0 !important;
  }
}
.bl_top-model .el_flexWrap strong {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-top: 4px double #333333;
  border-bottom: 4px double #333333;
  margin: 0 auto;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.2em;
  font-weight: 700;
}
@media screen and (min-width: 782px) {
  .bl_top-model .el_flexWrap strong {
    width: 200px;
    height: 60px;
    margin: 0;
    line-height: 52px;
    text-align: center;
  }
}
.bl_top-model .el_flexWrap .el_btnWrap {
  margin-top: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 782px) {
  .bl_top-model .el_flexWrap .el_btnWrap {
    margin: 0 !important;
  }
}
@media screen and (min-width: 782px) {
  .bl_top-model .el_flexWrap .el_btnWrap .is-style-button_normal {
    min-width: 400px;
  }
}

.bl_top-case {
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
  background: -webkit-gradient(linear, left top, right top, from(#eeeeee), color-stop(80%, #eeeeee), color-stop(80%, white), to(white));
  background: linear-gradient(90deg, #eeeeee 0%, #eeeeee 80%, white 80%, white 100%);
}
@media screen and (min-width: 1024px) {
  .bl_top-case {
    background: transparent;
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .bl_top-case::before {
    content: "";
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 75%;
    background: #eeeeee;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .bl_top-case::before {
    width: 77.380952381%;
    height: auto;
    aspect-ratio: 1300/957;
    max-height: 957px;
  }
}
@media screen and (min-width: 768px) {
  .bl_top-case .bl_top-case_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 140px;
  }
}
.bl_top-case h2 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-size: 28px;
  font-size: 2.8rem;
  font-size: clamp(22.4px, 7.4666666667vw, 28px);
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_top-case h2 {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
    font-size: 40px;
    font-size: 4rem;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: left;
  }
}
.bl_top-case .bl_top-case_slide {
  position: relative;
  max-width: 450px;
  margin-top: 50px;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .bl_top-case .bl_top-case_slide {
    margin: 0;
    max-width: none;
  }
}
@media screen and (min-width: 768px) {
  .bl_top-case .bl_top-case_slide .bl_top-caseList {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px;
  }
}
@media screen and (min-width: 768px) {
  .bl_top-case .bl_top-case_slide .bl_top-caseList .el_cont {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 20px) / 2);
            flex: 0 0 calc((100% - 20px) / 2);
  }
}
.bl_top-case .bl_top-case_slide .bl_top-caseList .el_cont .el_cat {
  margin-top: 10px;
}
.bl_top-case .bl_top-case_slide .bl_top-caseList .el_cont .el_title {
  font-size: 20px;
  font-size: 2rem;
}
.bl_top-case .bl_top-case_slide .bl_top-caseList .el_cont .el_title a {
  text-decoration: none;
}
.bl_top-case .bl_top-case_slide .el_navigation {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100vw;
  height: 40px;
  margin: calc(50% - 50vw);
  pointer-events: none;
  position: absolute;
  top: 40%;
}
@media screen and (min-width: 768px) {
  .bl_top-case .bl_top-case_slide .el_navigation {
    display: none;
  }
}
.bl_top-case .bl_top-case_slide .el_navigation .swiper-button-next,
.bl_top-case .bl_top-case_slide .el_navigation .swiper-button-prev {
  width: 40px;
  height: 40px;
  margin: 0;
  position: static;
  pointer-events: visible;
}
.bl_top-case .bl_top-case_slide .el_navigation .swiper-button-next {
  background: url(../images/top/slide_r.svg) no-repeat center center/contain;
}
.bl_top-case .bl_top-case_slide .el_navigation .swiper-button-prev {
  background: url(../images/top/slide_l.svg) no-repeat center center/contain;
}
.bl_top-case .bl_top-case_slide .el_navigation .swiper-button-next:after,
.bl_top-case .bl_top-case_slide .el_navigation .swiper-button-prev:after {
  content: "";
}
.bl_top-case .el_btnWrap {
  width: 100%;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .bl_top-case .el_btnWrap {
    margin-top: 150px;
  }
}
.bl_top-case .el_btnWrap .el_btn {
  margin: 0 auto;
}

.bl_top-plan {
  padding-top: 50px;
  padding-bottom: 100px;
  margin-top: 100px;
  background: -webkit-gradient(linear, left top, right top, from(#eeeeee), color-stop(80%, #eeeeee), color-stop(80%, white), to(white));
  background: linear-gradient(90deg, #eeeeee 0%, #eeeeee 80%, white 80%, white 100%);
}
@media screen and (min-width: 768px) {
  .bl_top-plan {
    padding-top: 100px;
    padding-bottom: 100px;
    background: -webkit-gradient(linear, left top, right top, from(white), color-stop(22.61%, white), color-stop(22.61%, #eeeeee), to(#eeeeee));
    background: linear-gradient(90deg, white 0%, white 22.61%, #eeeeee 22.61%, #eeeeee 100%);
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-plan {
    margin-top: 0;
  }
}
.bl_top-plan h2 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-size: 28px;
  font-size: 2.8rem;
  font-size: clamp(22.4px, 7.4666666667vw, 28px);
  font-weight: 500;
}
.bl_top-plan h2 span {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .bl_top-plan h2 span {
    display: inline-block;
  }
}
.bl_top-plan .el_flexWrap .el_card {
  position: relative;
  max-height: 375px;
  margin-top: 3px;
}
@media screen and (min-width: 782px) {
  .bl_top-plan .el_flexWrap .el_card {
    max-height: none;
    margin-top: 0;
  }
}
.bl_top-plan .el_flexWrap .el_card .el_cont {
  position: absolute;
  top: 0px;
  left: 0px;
  color: #fff;
  z-index: 11;
  pointer-events: none;
  padding: 20px 30px;
}
.bl_top-plan .el_flexWrap .el_card .el_cont h3 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 !important;
  padding-bottom: 5px;
  border-bottom: 1px solid #fff;
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 1280px) {
  .bl_top-plan .el_flexWrap .el_card .el_cont h3 {
    font-size: 38px;
    font-size: 3.8rem;
    line-height: 1;
    letter-spacing: 0.05em;
  }
}
.bl_top-plan .el_flexWrap .el_card .el_cont h3::before {
  content: "CASE";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 1280px) {
  .bl_top-plan .el_flexWrap .el_card .el_cont h3::before {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.05em;
  }
}
.bl_top-plan .el_flexWrap .el_card .el_cont p {
  margin-top: 10px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: left;
}
@media screen and (min-width: 1280px) {
  .bl_top-plan .el_flexWrap .el_card .el_cont p {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 0.05em;
  }
}
.bl_top-plan .el_flexWrap .el_card .el_cont p br {
  display: none;
}
@media screen and (min-width: 1280px) {
  .bl_top-plan .el_flexWrap .el_card .el_cont p br {
    display: block;
  }
}
.bl_top-plan .el_flexWrap .el_card figure {
  position: relative;
  width: 100%;
  height: 100%;
}
.bl_top-plan .el_flexWrap .el_card figure a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
}
.bl_top-plan .el_flexWrap .el_card figure a::before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.bl_top-plan .el_flexWrap .el_card figure a::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 200px;
  height: 40px;
  background: url(../images/top/btn_more_white.svg) no-repeat center center/contain;
  position: absolute;
  bottom: 0;
  right: 30px;
  z-index: 11;
}
.bl_top-plan .el_flexWrap .el_card figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 1024px) {
  .bl_top-post {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 180px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.bl_top-post h2 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-size: 28px;
  font-size: 2.8rem;
  font-size: clamp(22.4px, 7.4666666667vw, 28px);
  font-weight: 500;
}
.bl_top-post .bl_top-event {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .bl_top-post .bl_top-event {
    width: 53.6363636364%;
  }
  .bl_top-post .bl_top-event::after {
    content: "";
    width: 1px;
    height: 100%;
    background: #707070;
    position: absolute;
    top: 0;
    right: -90px;
  }
}
.bl_top-post .bl_top-event h2::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 184px;
  height: 110px;
  background: url(../images/top/ttl_event.svg) no-repeat center center/contain;
  position: absolute;
  top: -55px;
  left: 100%;
}
@media screen and (min-width: 1024px) {
  .bl_top-post .bl_top-event h2::after {
    left: 350%;
  }
}
@media screen and (min-width: 768px) {
  .bl_top-post .bl_top-eventWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 50px;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin-top: 50px;
  }
}
.bl_top-post .bl_top-newEvent {
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: 30px;
  border-top: 1px dotted #333333;
  border-bottom: 1px dotted #333333;
}
@media screen and (min-width: 768px) {
  .bl_top-post .bl_top-newEvent {
    max-width: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-top: 0;
    border: none;
  }
}
.bl_top-post .bl_top-newEvent .el_btnWrap {
  margin-top: 20px;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .bl_top-post .bl_top-newEvent .el_btnWrap {
    margin-top: auto;
  }
}
@media screen and (min-width: 768px) {
  .bl_top-post .bl_top-eventList {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
}
.bl_top-post .bl_top-eventList .el_listItem {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px dotted #333333;
}
@media screen and (min-width: 768px) {
  .bl_top-post .bl_top-eventList .el_listItem:first-of-type {
    border-top: 1px dotted #333333;
  }
}
.bl_top-post .bl_top-eventList .el_btnWrap {
  margin-top: 20px;
  text-align: right;
}
.bl_top-post .bl_top-news {
  padding-top: 100px;
  padding-bottom: 0px;
}
@media screen and (min-width: 1024px) {
  .bl_top-post .bl_top-news {
    width: 30.4545454545%;
    padding-top: 0px;
    padding-bottom: 0px;
  }
}
.bl_top-post .bl_top-news h2::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 184px;
  height: 110px;
  background: url(../images/top/ttl_news.svg) no-repeat center center/contain;
  position: absolute;
  top: -55px;
  left: 115%;
}
.bl_top-post .bl_top-news .bl_top-newsList {
  margin-top: 50px;
}
.bl_top-post .bl_top-news .bl_top-newsList .el_listItem {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px dotted #333333;
}
.bl_top-post .bl_top-news .bl_top-newsList .el_listItem:first-of-type {
  border-top: 1px dotted #333333;
}
.bl_top-post .bl_top-news .bl_top-newsList .el_btnWrap {
  margin-top: 20px;
  text-align: right;
}

.bl_top-interview {
  position: relative;
  padding-top: 50px;
  padding-bottom: 100px;
  background: #eeeeee;
}
@media screen and (min-width: 1024px) {
  .bl_top-interview {
    padding-top: 108px;
    padding-bottom: 100px;
    display: block;
  }
}
.bl_top-interview::before {
  content: "";
  width: 100vw;
  height: auto;
  aspect-ratio: 367/172;
  max-width: 400px;
  background: url(../images/top/bkg_interview_sp.svg) no-repeat center center/contain;
  position: absolute;
  top: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .bl_top-interview::before {
    top: 42px;
    left: 8px;
    -webkit-transform: none;
            transform: none;
    aspect-ratio: 1228/149;
    width: 73.0952380952%;
    max-width: 1228px;
    background: url(../images/top/bkg_interview.svg) no-repeat center center/contain;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-interview .ly_grid_ttl {
    position: absolute;
    top: 40%;
    left: 5%;
  }
}
.bl_top-interview h2 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-size: 28px;
  font-size: 2.8rem;
  font-size: clamp(22.4px, 7.4666666667vw, 28px);
  font-weight: 500;
  z-index: 11;
}
@media screen and (min-width: 1024px) {
  .bl_top-interview h2 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.6666666667;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 1366px) {
  .bl_top-interview h2 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 0.1em;
  }
}
.bl_top-interview h2 br {
  display: none;
}
@media screen and (min-width: 1024px) {
  .bl_top-interview h2 br {
    display: block;
  }
}
.bl_top-interview .bl_topVoice_slideWrap {
  position: relative;
  margin-left: 50px !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .bl_top-interview .bl_topVoice_slideWrap {
    width: calc(100% - 60px);
    max-width: 100%;
    margin-top: 0;
    grid-row: 1/3;
    grid-column: 2/3;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-interview .bl_topVoice_slideWrap {
    width: 71.35%;
    margin-left: auto !important;
  }
}
.bl_top-interview .bl_topVoice_slideWrap .bl_top-interviewList .el_thumbnail {
  position: relative;
}
.bl_top-interview .bl_topVoice_slideWrap .bl_top-interviewList .el_thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bl_top-interview .bl_topVoice_slideWrap .bl_top-interviewList .el_thumbnail::after {
  content: "";
  pointer-events: none;
  width: 40px;
  height: 20px;
  background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
  position: absolute;
  bottom: 30px;
  right: 30px;
}
.bl_top-interview .bl_topVoice_slideWrap .el_navigation {
  width: 40px;
  height: 85px;
  position: absolute;
  bottom: 0;
  left: -50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  z-index: 111;
}
.bl_top-interview .bl_topVoice_slideWrap .el_navigation .swiper-button-next,
.bl_top-interview .bl_topVoice_slideWrap .el_navigation .swiper-button-prev {
  position: static;
  width: 40px;
  height: 40px;
  margin: 0;
}
.bl_top-interview .bl_topVoice_slideWrap .el_navigation .swiper-button-prev:after,
.bl_top-interview .bl_topVoice_slideWrap .el_navigation .swiper-rtl .swiper-button-next:after,
.bl_top-interview .bl_topVoice_slideWrap .el_navigation .swiper-button-next:after,
.bl_top-interview .bl_topVoice_slideWrap .el_navigation .swiper-rtl .swiper-button-prev:after {
  content: "";
}
.bl_top-interview .bl_topVoice_slideWrap .el_navigation .swiper-button-next {
  background: url(../images/top/slide_l_white.svg) no-repeat center center/contain;
}
.bl_top-interview .bl_topVoice_slideWrap .el_navigation .swiper-button-prev {
  background: url(../images/top/slide_r_white.svg) no-repeat center center/contain;
}
.bl_top-interview .bl_topVoice_slideWrap.is_noslide .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.bl_top-interview .bl_topVoice_slideWrap.is_noslide .swiper-wrapper .el_cont {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 10px) / 3);
          flex: 0 0 calc((100% - 10px) / 3);
}
.bl_top-interview .el_btnWrap {
  margin-top: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_top-interview .el_btnWrap {
    position: absolute;
    left: 5%;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-interview .el_btnWrap {
    bottom: 35%;
  }
}
@media screen and (min-width: 1366px) {
  .bl_top-interview .el_btnWrap {
    margin-top: 0;
    bottom: 35%;
  }
}
.bl_top-interview .el_btnWrap .el_btn_viewAll {
  width: 220px;
}

.bl_top-blog_Wrap {
  margin-top: 150px;
}
@media screen and (min-width: 1024px) {
  .bl_top-blog_Wrap {
    margin-top: 0;
  }
}

.bl_top-blog {
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
  background: -webkit-gradient(linear, left top, right top, from(#eeeeee), color-stop(80%, #eeeeee), color-stop(80%, white), to(white));
  background: linear-gradient(90deg, #eeeeee 0%, #eeeeee 80%, white 80%, white 100%);
}
@media screen and (min-width: 1024px) {
  .bl_top-blog {
    padding-top: 150px;
    padding-bottom: 50px;
    background: transparent;
  }
  .bl_top-blog::after {
    content: "";
    aspect-ratio: 1300/443;
    width: 77.380952381%;
    height: auto;
    background: #eeeeee;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
.bl_top-blog_inner {
  position: relative;
}
.bl_top-blog_inner::before {
  content: "";
  aspect-ratio: 502/196;
  width: 72.5373134328%;
  max-width: 243px;
  height: auto;
  background: url(../images/top/ttl_toiro-cafe.svg) no-repeat center center/contain;
  position: absolute;
  top: -98px;
  left: 0;
  z-index: 11;
}
@media screen and (min-width: 1024px) {
  .bl_top-blog_inner::before {
    top: -78px;
    left: -169px;
    max-width: 502px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-blog_inner {
    display: grid;
    grid-template-columns: auto 200px;
    grid-template-rows: 40px auto;
    background: transparent;
    max-width: 1100px;
  }
}
.bl_top-blog h2 {
  position: relative;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-size: 28px;
  font-size: 2.8rem;
  font-size: clamp(22.4px, 7.4666666667vw, 28px);
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_top-blog h2 {
    grid-row: 1/2;
    grid-column: 1/2;
    display: inline-block;
    margin-left: auto;
    margin-right: 20px;
  }
}
.bl_top-blog .bl_top-blog_slide {
  position: relative;
  max-width: 450px;
  margin-top: 50px;
  overflow: visible;
}
@media screen and (min-width: 1024px) {
  .bl_top-blog .bl_top-blog_slide {
    max-width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-blog .bl_top-blog_slide {
    grid-row: 2/3;
    grid-column: 1/3;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList {
    display: grid;
    grid-template-columns: 49.09% 48.18%;
    grid-template-rows: auto auto;
    gap: 30px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList .el_slide {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 20px) / 2);
            flex: 0 0 calc((100% - 20px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList .el_slide {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList .el_slide:first-of-type {
    grid-row: 1/3;
    grid-column: 1/2;
  }
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList .el_slide:first-of-type a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList .el_slide:nth-of-type(2) {
    grid-row: 1/2;
    grid-column: 2/3;
  }
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList .el_slide:nth-of-type(2) {
    grid-row: 2/3;
    grid-column: 2/3;
  }
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList .el_slide a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 30px;
  }
  .bl_top-blog .bl_top-blog_slide .bl_top-blogList .el_slide a .el_thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
            flex: 0 0 60%;
  }
}
.bl_top-blog .bl_top-blog_slide .el_navigation {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100vw;
  height: 40px;
  margin: calc(50% - 50vw);
  pointer-events: none;
  position: absolute;
  top: 31.25vw;
}
@media screen and (min-width: 768px) {
  .bl_top-blog .bl_top-blog_slide .el_navigation {
    top: 39.0625vw;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-blog .bl_top-blog_slide .el_navigation {
    display: none;
  }
}
.bl_top-blog .bl_top-blog_slide .el_navigation .swiper-button-next,
.bl_top-blog .bl_top-blog_slide .el_navigation .swiper-button-prev {
  width: 40px;
  height: 40px;
  margin: 0;
  position: static;
  pointer-events: visible;
}
.bl_top-blog .bl_top-blog_slide .el_navigation .swiper-button-next {
  background: url(../images/top/slide_r.svg) no-repeat center center/contain;
}
.bl_top-blog .bl_top-blog_slide .el_navigation .swiper-button-prev {
  background: url(../images/top/slide_l.svg) no-repeat center center/contain;
}
.bl_top-blog .bl_top-blog_slide .el_navigation .swiper-button-next:after,
.bl_top-blog .bl_top-blog_slide .el_navigation .swiper-button-prev:after {
  content: "";
}
.bl_top-blog .el_btnWrap {
  width: 100%;
  margin-top: 50px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_top-blog .el_btnWrap {
    margin-top: 100px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_top-blog .el_btnWrap {
    grid-row: 1/2;
    grid-column: 2/3;
    margin-top: 0;
  }
}
.bl_top-blog .el_btnWrap .el_btn_viewAll {
  background: transparent;
}

.bl_top-staff {
  position: relative;
}
.bl_top-staff::before {
  content: "";
  aspect-ratio: 351/89;
  width: 100vw;
  height: auto;
  max-width: 375px;
  background: url(../images/top/ttl_staff.svg) no-repeat center center/contain;
  position: absolute;
  top: 118px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 11;
}
@media screen and (min-width: 1366px) {
  .bl_top-staff::before {
    max-width: 610px;
    top: 80px;
    left: auto;
    -webkit-transform: none;
            transform: none;
    right: 0;
  }
}

.bl_top-hiraya {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 375/300;
  height: auto;
  max-height: 560px;
  background: url(../images/top/bkg_hiraya_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 1024px) {
  .bl_top-hiraya {
    aspect-ratio: auto;
    height: 560px;
    background: url(../images/top/bkg_hiraya.jpg) no-repeat center center/cover;
  }
}
.bl_top-hiraya .el_ttl {
  position: relative;
  width: 100%;
  max-width: 700px;
  padding: 16px 30px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 768px) {
  .bl_top-hiraya .el_ttl {
    padding: 30px 60px;
  }
}
.bl_top-hiraya .el_ttl::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 12px;
  background: url(../images/common/btn_arrow_black.svg) no-repeat center center/contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .bl_top-hiraya .el_ttl::after {
    right: 60px;
  }
}
.bl_top-hiraya .el_ttl a {
  text-align: left;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 1.4210526316;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 768px) {
  .bl_top-hiraya .el_ttl a {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.4411764706;
    letter-spacing: 0.18em;
  }
}
.bl_top-hiraya .el_ttl a .el_span {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4285714286;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 768px) {
  .bl_top-hiraya .el_ttl a .el_span {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.4583333333;
    letter-spacing: 0.2em;
  }
}

/* =================================================
    モデルハウス
=================================================== */
.bl_model-fv .has-text-align-center {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .bl_model-fv .has-text-align-center {
    text-align: center;
  }
}

@media screen and (min-width: 782px) {
  .bl_model-concept .is-layout-flex {
    gap: 50px;
  }
}
.bl_model-concept .ly_postionSp-top {
  position: absolute;
  top: 0;
  line-height: 1.4583333333;
}
@media screen and (min-width: 768px) {
  .bl_model-concept .ly_postionSp-top {
    position: static;
  }
}
.bl_model-concept .el_concept_img {
  margin-top: 120px;
}
@media screen and (min-width: 768px) {
  .bl_model-concept .el_concept_img {
    margin-top: 0;
  }
}
.bl_model-concept .el_architect {
  margin-top: 15px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_model-concept .el_architect {
    margin-top: 50px;
    text-align: left;
  }
}
.bl_model-concept .el_architect h4 {
  margin-top: 10px;
}
.bl_model-concept .el_architect .el_name {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1;
}
.bl_model-concept .el_architect .el_name em {
  font-size: 30px;
  font-size: 3rem;
}
.bl_model-concept .el_architect .el_name-en {
  line-height: 2;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  .bl_model-gallery .el_flexWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 10px;
  }
}
.bl_model-gallery .bl_slider_main {
  max-width: 100%;
  width: 100%;
  max-width: 950px;
  aspect-ratio: 950/633;
}
@media screen and (min-width: 768px) {
  .bl_model-gallery .bl_slider_main {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 86.3636363636%;
            flex: 0 0 86.3636363636%;
  }
}
.bl_model-gallery .bl_slider_main .swiper-slide {
  width: 100%;
  height: 100%;
  background: #333;
}
.bl_model-gallery .bl_slider_main .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.bl_model-gallery .bl_slider_thum {
  max-width: 100%;
  width: 100%;
  height: 100%;
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .bl_model-gallery .bl_slider_thum {
    margin-top: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.7272727273%;
            flex: 0 0 12.7272727273%;
  }
}
.bl_model-gallery .bl_slider_thum .swiper-wrapper {
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}
.bl_model-gallery .bl_slider_thum .swiper-slide {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 8px) / 3);
          flex: 0 0 calc((100% - 8px) / 3);
}
@media screen and (min-width: 768px) {
  .bl_model-gallery .bl_slider_thum .swiper-slide {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100% !important;
    height: 100%;
    aspect-ratio: 140/93;
  }
}
.bl_model-gallery .bl_slider_thum .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.bl_model-gallery .bl_slider_thum .swiper-slide.swiper-slide-thumb-active::before {
  content: "";
  width: 100%;
  height: 100%;
  aspect-ratio: 140/93;
  background: rgba(0, 0, 0, 0.6);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
}

.bl_model-summary > .has-background {
  max-width: 600px;
  margin: 0 auto;
}
@media screen and (min-width: 782px) {
  .bl_model-summary > .has-background {
    max-width: 1100px;
  }
}
.bl_model-summary .el_info {
  max-width: 900px;
}
@media screen and (min-width: 782px) {
  .bl_model-summary .el_info {
    gap: 42px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_model-summary .el_info {
    gap: 84px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_model-summary .el_info .el_cont {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58%;
            flex: 0 0 58%;
  }
}
.bl_model-summary .el_info .el_cont .is-layout-flex {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.bl_model-summary .el_info .el_cont .is-layout-flex p:first-of-type {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  font-weight: 700;
  line-height: 1.5;
  z-index: 11;
}
.bl_model-summary .el_info .el_cont .is-layout-flex p:first-of-type em {
  font-size: 80%;
  background: #eeeeee;
}
.bl_model-summary .el_info .el_cont .is-layout-flex p:first-of-type::after {
  content: "";
  display: block;
  width: calc(100% - 5em);
  height: 1px;
  background: #707070;
  position: absolute;
  right: 1em;
  top: 12px;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .bl_model-summary .el_info .el_cont .is-layout-flex p:first-of-type br {
    display: none;
  }
}
.bl_model-summary .el_description {
  margin-top: 60px;
}
@media screen and (min-width: 782px) {
  .bl_model-summary .el_description {
    display: grid;
    place-items: center;
    margin-top: 0;
  }
}
.bl_model-summary .el_description .el_descriptionBox {
  padding: 18px 20px;
  border: 2px solid #fff;
}
.bl_model-summary .el_description .el_descriptionBox p {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: justify;
}

/* =================================================
    会社案内
=================================================== */
.bl_company-msg {
  background: url(../images/company/bkg_message.jpg) no-repeat center center/cover;
}
.bl_company-msg h2 {
  height: 145px;
  text-indent: 100%;
  white-space: nowrap !important;
  overflow: hidden;
  background: url(../images/company/ttl_message.svg) no-repeat center center/contain;
}
.bl_company-msg h3 {
  margin-bottom: 50px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 782px) {
  .bl_company-msg h3 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 2;
    letter-spacing: 0em;
  }
}
@media screen and (min-width: 782px) {
  .bl_company-msg h3 span {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.1em;
  }
}
.bl_company-msg p {
  line-height: 1.6;
}
@media screen and (min-width: 782px) {
  .bl_company-msg .el_flexWrap {
    gap: 60px;
  }
}
.bl_company-msg .el_flexWrap .el_cont p {
  margin-top: 2em;
}
.bl_company-msg .el_flexWrap .el_cont p:first-of-type {
  margin-top: 0;
}
.bl_company-msg .el_flexWrap .el_img {
  margin-top: 50px;
}
@media screen and (min-width: 782px) {
  .bl_company-msg .el_flexWrap .el_img {
    margin-top: 0;
  }
}

.bl_company-overview h2 {
  height: 145px;
  text-indent: 100%;
  white-space: nowrap !important;
  overflow: hidden;
  background: url(../images/company/ttl_overview.svg) no-repeat center center/contain;
}
.bl_company-overview table {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.bl_company-overview table th {
  min-width: 120px;
  padding: 30px 0;
  border: none;
  border-bottom: 2px solid #000;
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .bl_company-overview table th {
    padding: 30px;
  }
}
.bl_company-overview table td {
  padding: 30px;
  border: none;
  border-bottom: 2px solid #cccccc;
  line-height: 1.6;
}

.bl_company-band img {
  width: 100%;
  max-width: 100%;
}

@media screen and (min-width: 1280px) {
  .bl_company-history {
    background: url(../images/company/bkg_toiro.png) no-repeat top 88px left;
    background-size: 19.7619047619%;
  }
}
.bl_company-history h2 {
  height: 145px;
  text-indent: 100%;
  white-space: nowrap !important;
  overflow: hidden;
  background: url(../images/company/ttl_history.svg) no-repeat center center/contain;
}
.bl_company-history .el_historyList {
  position: relative;
  padding-left: 45px;
}
.bl_company-history .el_historyList::before {
  content: "";
  width: 1px;
  height: calc(100% - 25px);
  background: #75432f;
  position: absolute;
  top: 11px;
  left: 4px;
}
.bl_company-history .el_historyList li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 35px;
  line-height: 1.4;
}
.bl_company-history .el_historyList strong,
.bl_company-history .el_historyList .el_span {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.bl_company-history .el_historyList strong {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 165px;
          flex: 0 0 165px;
  padding-left: 35px;
  color: #75432f;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .bl_company-history .el_historyList strong {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 170px;
            flex: 0 0 170px;
  }
}
.bl_company-history .el_historyList strong::before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 9px;
  height: 9px;
  background: #75432f;
  border-radius: 100vh;
  position: absolute;
  top: 11px;
  left: 0;
}
.bl_company-history .el_historyList .el_span {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.bl_company-access {
  background: -webkit-gradient(linear, left top, right top, from(#eeeeee), color-stop(80%, #eeeeee), color-stop(80%, white), to(white));
  background: linear-gradient(90deg, #eeeeee 0%, #eeeeee 80%, white 80%, white 100%);
}
@media screen and (min-width: 782px) {
  .bl_company-access {
    background: -webkit-gradient(linear, left top, right top, from(white), color-stop(22.7%, white), color-stop(22.7%, #eeeeee), to(#eeeeee));
    background: linear-gradient(90deg, white 0%, white 22.7%, #eeeeee 22.7%, #eeeeee 100%);
  }
}
.bl_company-access h2 {
  height: 145px;
  text-indent: 100%;
  white-space: nowrap !important;
  overflow: hidden;
  background: url(../images/company/ttl_access.svg) no-repeat center center/contain;
}
@media screen and (min-width: 782px) {
  .bl_company-access .el_flexWrap {
    gap: 60px;
  }
}
.bl_company-access .el_flexWrap .el_map iframe {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  aspect-ratio: 335/261;
}
@media screen and (min-width: 768px) {
  .bl_company-access .el_flexWrap .el_map iframe {
    aspect-ratio: 640/500;
  }
}
.bl_company-access .el_flexWrap .el_cont {
  margin-top: 50px;
}
@media screen and (min-width: 782px) {
  .bl_company-access .el_flexWrap .el_cont {
    margin-top: 0;
  }
}
.bl_company-access .el_flexWrap .el_cont ul li {
  padding: 30px 10px;
  border-top: 1px dotted #333333;
  line-height: 1.4;
}
.bl_company-access .el_flexWrap .el_cont ul li:last-of-type {
  border-bottom: 1px dotted #333333;
}

/* =================================================
    スタッフ紹介 一覧ページ
=================================================== */
.bl_staff_archive {
  position: relative;
  padding-bottom: 100px;
}
.bl_staff_archive .bl_staff_list {
  max-width: 860px;
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 50px;
}
@media screen and (min-width: 1024px) {
  .bl_staff_archive .bl_staff_list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    row-gap: 100px;
  }
}
.bl_staff_archive .bl_staff_list::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 80%;
  height: 100%;
  background: #eeeeee;
  position: absolute;
  top: 100px;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .bl_staff_archive .bl_staff_list::after {
    width: 65.7738095238%;
    width: 100vw;
    left: auto;
    right: 285px;
  }
}
.bl_staff_archive .bl_staff_list .bl_staff_card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 89.552238806%;
          flex: 0 0 89.552238806%;
  max-width: 250px;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_staff_archive .bl_staff_list .bl_staff_card {
    max-width: 350px;
  }
}
.bl_staff_archive .bl_staff_list .bl_staff_card .bl_staff_img {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 100vh;
  padding: 10px;
  background: #fff;
  border: 1px solid #000;
}
.bl_staff_archive .bl_staff_list .bl_staff_card .bl_staff_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 100vh;
}
.bl_staff_archive .bl_staff_list .bl_staff_card .bl_staff_profile {
  margin-top: 20px;
}
.bl_staff_archive .bl_staff_list .bl_staff_card .bl_staff_profile h2 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
  text-align: center;
}
.bl_staff_archive .bl_staff_list .bl_staff_card .bl_staff_profile h2 span {
  display: block;
}
.bl_staff_archive .bl_staff_list .bl_staff_card .bl_staff_profile h2 .el_position {
  margin-bottom: 10px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.bl_staff_archive .bl_staff_list .bl_staff_card .bl_staff_profile h2 .el_name-en {
  margin-top: 5px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: "Nanum Myeongjo", serif;
}
.bl_staff_archive .bl_staff_list .bl_staff_card .el_btnWrap {
  margin-top: 20px;
}
.bl_staff_archive .bl_staff_list .bl_staff_card .el_btnWrap .el_btn_more {
  margin: 0 auto;
}

/* =================================================
    スタッフ紹介 詳細ページ
=================================================== */
.bl_staff .el_btnWrap {
  margin: 100px auto 0;
}
.bl_staff .el_btnWrap .el_btn {
  max-width: 400px;
  margin: 0 auto;
}
.bl_staff .bl_staff_profile {
  position: relative;
  padding-top: 70px;
  padding-bottom: 100px;
  margin-top: 200px;
  background: #eeeeee;
}
@media screen and (min-width: 1024px) {
  .bl_staff .bl_staff_profile {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 50px;
    background: transparent;
  }
}
@media screen and (min-width: 1024px) {
  .bl_staff .bl_staff_profile .ly_sec_inner {
    position: relative;
    padding: 100px;
    background: #eeeeee;
  }
}
.bl_staff .bl_staff_profile .bl_staff_img {
  width: 250px;
  height: 250px;
  border-radius: 100vh;
  overflow: hidden;
  padding: 10px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #000;
  position: absolute;
  top: -190px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 1024px) {
  .bl_staff .bl_staff_profile .bl_staff_img {
    width: 300px;
    height: 300px;
    top: 50px;
    right: 100px;
    left: auto;
    -webkit-transform: none;
            transform: none;
    margin: 0;
  }
}
.bl_staff .bl_staff_profile .bl_staff_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 100vh;
}
.bl_staff .bl_staff_profile .bl_staff_header {
  padding-bottom: 20px;
  border-bottom: 1px dotted #333;
}
@media screen and (min-width: 1024px) {
  .bl_staff .bl_staff_profile .bl_staff_header {
    width: calc(100% - 340px);
  }
}
.bl_staff .bl_staff_profile .bl_staff_header h2 {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.4666666667;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_staff .bl_staff_profile .bl_staff_header h2 {
    text-align: left;
  }
}
.bl_staff .bl_staff_profile .bl_staff_header h2 span {
  display: block;
}
.bl_staff .bl_staff_profile .bl_staff_header h2 .el_position {
  margin-bottom: 10px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .bl_staff .bl_staff_profile .bl_staff_header h2 .el_position {
    margin-bottom: 5px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.3888888889;
    letter-spacing: 0.05em;
  }
}
.bl_staff .bl_staff_profile .bl_staff_header h2 .el_name-en {
  margin-top: 5px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: "Nanum Myeongjo", serif;
}
@media screen and (min-width: 1024px) {
  .bl_staff .bl_staff_profile .bl_staff_header h2 .el_name-en {
    margin-top: 10px;
  }
}
.bl_staff .bl_staff_profile dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 50px;
  gap: 70px;
  row-gap: 10px;
}
@media screen and (min-width: 1024px) {
  .bl_staff .bl_staff_profile dl {
    max-width: calc(100% - 340px);
    row-gap: 30px;
  }
}
.bl_staff .bl_staff_profile dl dt {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4em;
          flex: 0 0 4em;
  font-weight: 700;
}
.bl_staff .bl_staff_profile dl dt::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 60px;
  height: 1px;
  background: #333;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.bl_staff .bl_staff_profile dl dd {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% - 4em - 70px);
          flex: 0 0 calc(100% - 4em - 70px);
}
.bl_staff .bl_staff_profile .bl_staff_link {
  margin-top: 15px;
  text-align: right;
}
@media screen and (min-width: 1024px) {
  .bl_staff .bl_staff_profile .bl_staff_link {
    max-width: calc(100% - 340px);
  }
}
.bl_staff .bl_staff_profile h3 {
  margin-top: 60px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
.bl_staff .bl_staff_profile .bl_staff_msg {
  margin-top: 20px;
  text-align: justify;
}
.bl_staff .bl_staff_posts {
  padding-top: 100px;
  padding-bottom: 0px;
}
.bl_staff .bl_staff_posts .ly_sec_inner {
  overflow-x: visible;
}
.bl_staff .bl_staff_posts h2 {
  margin-bottom: 50px;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.4615384615;
  letter-spacing: 0.05em;
  text-align: center;
}
.bl_staff .bl_staff_posts .swiper {
  position: relative;
  overflow: visible;
}
.bl_staff .bl_staff_posts .bl_staff_caseList {
  position: relative;
  max-width: 450px;
  margin-top: 50px;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .bl_staff .bl_staff_posts .bl_staff_caseList {
    margin: 0;
    max-width: none;
  }
}
.bl_staff .bl_staff_posts .bl_staff_caseList .el_cont .el_title {
  margin-top: 10px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.3125;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .bl_staff .bl_staff_posts .bl_staff_caseList .el_cont .el_title {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.4444444444;
    letter-spacing: 0.05em;
  }
}
.bl_staff .bl_staff_posts .el_navigation {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100vw;
  height: 40px;
  margin: 0 calc(50% - 50vw);
  pointer-events: none;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 20;
}
@media screen and (min-width: 768px) {
  .bl_staff .bl_staff_posts .el_navigation {
    top: 40%;
  }
}
.bl_staff .bl_staff_posts .el_navigation .swiper-button-next,
.bl_staff .bl_staff_posts .el_navigation .swiper-button-prev {
  width: 40px;
  height: 40px;
  margin: 0;
  position: static;
  pointer-events: visible;
}
.bl_staff .bl_staff_posts .el_navigation .swiper-button-next {
  background: url(../images/top/slide_r.svg) no-repeat center center/contain;
}
.bl_staff .bl_staff_posts .el_navigation .swiper-button-prev {
  background: url(../images/top/slide_l.svg) no-repeat center center/contain;
}
.bl_staff .bl_staff_posts .el_navigation .swiper-button-next:after,
.bl_staff .bl_staff_posts .el_navigation .swiper-button-prev:after {
  content: "";
}
.bl_staff .bl_staff_posts .is_noslide .swiper-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
.bl_staff .bl_staff_posts .is_noslide .swiper-wrapper .swiper-slide {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  width: 100%;
  max-width: 450px;
}
.bl_staff .bl_staff_posts .is_noslide .swiper-button-prev,
.bl_staff .bl_staff_posts .is_noslide .swiper-button-next {
  display: none;
}

/* =================================================
    site map
=================================================== */
.bl_sitemap .ly_sec_inner {
  max-width: 840px;
}
@media screen and (min-width: 1024px) {
  .bl_sitemap .bl_sitemap_list {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
  }
}
.bl_sitemap .bl_sitemap_list li {
  border-bottom: 1px dashed #333333;
}
.bl_sitemap .bl_sitemap_list li a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px 10px;
  padding-right: 30px;
  background: url(../images/common/btn_arrow_black.svg) no-repeat center right 10px;
  background-size: 12px 6px;
}

/* =================================================
    プライバシーポリシー
=================================================== */
.bl_privacy h2 {
  margin-top: 40px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.bl_privacy p {
  margin-top: 15px;
}
.bl_privacy p:first-of-type {
  margin-top: 0;
}
.bl_privacy .el_company {
  margin-top: 2em;
}

/* =================================================
    Flow 家づくりの流れ　ページ
=================================================== */
@media screen and (min-width: 1024px) {
  .bl_flowTtl h2 br {
    display: none;
  }
}

.bl_flowBand img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.bl_flowList {
  margin-top: 100px;
}

.bl_flowListWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 60px;
  counter-reset: item;
}
.bl_flowListWrap li {
  counter-increment: item;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 20px 50px;
  line-height: 1.4;
  background: #eeeeee;
}
@media screen and (min-width: 768px) {
  .bl_flowListWrap li {
    min-height: 150px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    padding: 0;
  }
}
.bl_flowListWrap li::after {
  content: "";
  width: 20px;
  height: 40px;
  background: url(../images/flow/icon_flow-arrow.svg) no-repeat center center/contain;
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-animation: fadeDownAnime 1.5s ease 0s 1 normal forwards;
          animation: fadeDownAnime 1.5s ease 0s 1 normal forwards;
}
.bl_flowListWrap li:last-of-type::after {
  display: none;
}
.bl_flowListWrap li strong,
.bl_flowListWrap li .el_span:not(strong .el_span) {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.bl_flowListWrap li strong {
  position: relative;
  padding-top: 80px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 165px;
          flex: 0 0 165px;
  font-size: 20px;
  font-size: 2rem;
  color: #000;
  font-weight: 700;
  -ms-flex: 0 0 190px;
      flex: 0 0 190px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_flowListWrap li strong {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 31.8181818182%;
            flex: 0 0 31.8181818182%;
  }
}
.bl_flowListWrap li strong .el_span {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 80%;
  font-weight: 700;
}
.bl_flowListWrap li strong::before {
  content: counter(item, decimal-leading-zero);
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100px;
  height: 140px;
  background: rgba(170, 170, 170, 0.5);
  padding-top: 10px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 40px;
  font-size: 4rem;
  font-weight: bold;
  color: #aaa;
  text-align: center;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .bl_flowListWrap li strong::before {
    height: 100%;
  }
}
.bl_flowListWrap li strong::after {
  content: "";
  width: 60px;
  height: 1px;
  background: #aaa;
  position: absolute;
  top: 70px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.bl_flowListWrap li .el_span:not(strong .el_span) {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .bl_flowListWrap li .el_span:not(strong .el_span) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px 50px;
    padding-left: 0;
  }
}

/* =================================================
    CONCEPT　ページ
=================================================== */
.bl_conceptFv {
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
  background: url(../images/concept/bkg_fv_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .bl_conceptFv {
    background: url(../images/concept/bkg_fv.jpg) no-repeat center center/cover;
  }
}
@media screen and (min-width: 1024px) {
  .bl_conceptFv {
    padding-top: 135px;
    padding-bottom: 135px;
  }
}
@media screen and (min-width: 1680px) {
  .bl_conceptFv::before {
    content: "";
    display: block;
    aspect-ratio: 332/1000;
    height: 100%;
    background: url(../images/concept/fv_logo.svg) no-repeat center center/cover;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.bl_conceptFv .ly_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}
@media screen and (min-width: 1024px) {
  .bl_conceptFv .ly_flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 58px;
  }
}
.bl_conceptFv .ly_flex .el_img {
  max-width: 460px;
  margin: 0 auto;
}
.bl_conceptFv .ly_flex .el_cont p {
  margin-top: 1.5em;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_conceptFv .ly_flex .el_cont p {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: left;
  }
}
.bl_conceptFv .ly_flex .el_cont p .el_span {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .bl_conceptFv .ly_flex .el_cont p .el_span {
    display: inline;
  }
}
.bl_conceptFv .ly_flex .el_cont p:first-of-type {
  margin-top: 0;
}

.bl_conceptSection {
  position: relative;
  margin-top: 200px;
}
@media screen and (min-width: 1024px) {
  .bl_conceptSection {
    margin-top: 270px;
  }
}
.bl_conceptSection:first-of-type {
  margin-top: 150px;
}
@media screen and (min-width: 1024px) {
  .bl_conceptSection:first-of-type {
    margin-top: 170px;
  }
}
.bl_conceptSection::before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  aspect-ratio: 300/860;
  width: 80%;
  height: 112%;
  background: #eeeeee;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .bl_conceptSection::before {
    width: 55.9523809524%;
    height: 130%;
    aspect-ratio: 940/640;
    right: 0;
    left: auto;
  }
}
@media screen and (min-width: 1024px) {
  .bl_conceptSection .ly_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    align-items: center;
    gap: 90px;
  }
}
.bl_conceptSection .ly_flex .el_img {
  width: 100vw;
  margin: 0 calc(50% - 50vw) !important;
}
@media screen and (min-width: 1024px) {
  .bl_conceptSection .ly_flex .el_img {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 88%;
            flex: 0 1 88%;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
  }
}
.bl_conceptSection .ly_flex .el_img img {
  width: 100%;
  height: auto;
}
.bl_conceptSection .ly_flex .el_cont {
  position: relative;
  padding-top: 50px;
  margin: 0 !important;
}
@media screen and (min-width: 1024px) {
  .bl_conceptSection .ly_flex .el_cont {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41%;
            flex: 0 0 41%;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.bl_conceptSection .ly_flex .el_cont h2 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.4090909091;
  letter-spacing: 0.1em;
}
.bl_conceptSection .ly_flex .el_cont p {
  margin-top: 1em;
  line-height: 1.6;
  text-align: justify;
}
.bl_conceptSection.bl_conceptSection_reverse::before {
  left: 0;
}
@media screen and (min-width: 1024px) {
  .bl_conceptSection.bl_conceptSection_reverse .ly_flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 50px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_conceptSection.bl_conceptSection_reverse .ly_flex .el_img {
    margin-right: calc(50% - 50vw) !important;
    margin-left: 0 !important;
  }
}

.bl_logomark {
  margin-top: 150px;
}
@media screen and (min-width: 1024px) {
  .bl_logomark {
    margin-top: 230px;
  }
}
.bl_logomark .ly_sec_inner {
  width: 100%;
  max-width: 1100px;
  padding-top: 100px;
  padding-bottom: 100px;
  border-top: 1px dotted #333333;
  border-bottom: 1px dotted #333333;
}
.bl_logomark .el_ttl h2 {
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.5384615385;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_logomark .el_ttl h2 {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
}
.bl_logomark .el_ttl p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4444444444;
  letter-spacing: 0.3em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_logomark .el_ttl p {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.1818181818;
    letter-spacing: 0.3em;
  }
}
.bl_logomark .ly_flex {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}
@media screen and (min-width: 1024px) {
  .bl_logomark .ly_flex {
    margin-top: 100px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (min-width: 1280px) {
  .bl_logomark .ly_flex {
    gap: 97px;
  }
}
.bl_logomark .ly_flex .el_img {
  width: 62.1333333333%;
  max-width: 310px;
}
@media screen and (min-width: 1024px) {
  .bl_logomark .ly_flex .el_img {
    margin: 0 !important;
  }
}
@media screen and (min-width: 1024px) {
  .bl_logomark .ly_flex .el_cont {
    margin: 0 !important;
  }
}
.bl_logomark .ly_flex .el_cont p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  font-size: 18px;
  font-size: 1.8rem;
  font-size: clamp(14.4px, 4.8vw, 18px);
}
.bl_logomark .ly_flex .el_cont p .el_span {
  display: block;
}
@media screen and (min-width: 768px) {
  .bl_logomark .ly_flex .el_cont p .el_span {
    display: inline;
  }
}
@media screen and (min-width: 1024px) {
  .bl_logomark .ly_flex .el_cont p {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 2.7272727273;
    letter-spacing: 0.1em;
  }
}

/* =================================================
    AFTER SUPPORT ページ
=================================================== */
.bl_after_subttl .el_span {
  display: block;
}
@media screen and (min-width: 768px) {
  .bl_after_subttl .el_span {
    display: inline;
  }
}

.bl_after_band img {
  width: 100%;
  max-width: 100%;
}

.bl_after_lead .ly_sec_inner {
  width: 100%;
  max-width: 1100px;
  padding-top: 100px;
  padding-bottom: 100px;
  border-bottom: 1px dotted #333333;
}
.bl_after_lead .ly_sec_inner p {
  margin-top: 2em;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.1111111111;
  letter-spacing: 0.1em;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .bl_after_lead .ly_sec_inner p {
    text-align: center;
  }
}

.bl_after_sec .ly_sec_inner {
  width: 100%;
  max-width: 1100px;
  padding-top: 100px;
  padding-bottom: 100px;
  border-bottom: 1px dotted #333333;
}
.bl_after_sec p {
  margin-top: 2em;
}
.bl_after_sec p:first-of-type {
  margin-top: 0;
}

/* =================================================
    HIRAYA PLAN ページ
=================================================== */
.bl_hiraya_sec {
  margin-top: 100px;
  padding-bottom: 100px;
  position: relative;
}
.bl_hiraya_sec:first-of-type {
  margin-top: 0;
}
.bl_hiraya_sec h2 {
  width: 100%;
  max-width: 1100px;
  border-bottom: 1px dotted #333333;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.4230769231;
  letter-spacing: 0.05em;
  text-align: center;
  padding-bottom: 18px;
}
@media screen and (min-width: 1024px) {
  .bl_hiraya_sec h2 {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.4666666667;
    letter-spacing: 0.05em;
  }
}
.bl_hiraya_sec h2 span {
  display: inline-block;
}
@media screen and (min-width: 1024px) {
  .bl_hiraya_sec h2 span {
    display: inline;
  }
}
.bl_hiraya_sec .ly_flex {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
@media screen and (min-width: 1024px) {
  .bl_hiraya_sec .ly_flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 1280px) {
  .bl_hiraya_sec .ly_flex {
    gap: 50px;
  }
}
.bl_hiraya_sec .ly_flex .el_img {
  max-width: 690px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 1024px) {
  .bl_hiraya_sec .ly_flex .el_img {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    max-width: 100%;
    width: 62.7272727273%;
    width: 100%;
    margin-right: calc(50% - 50vw) !important;
    margin-left: 0 !important;
  }
}
@media screen and (min-width: 1024px) {
  .bl_hiraya_sec .ly_flex .el_cont {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 59.0909090909%;
            flex: 0 0 59.0909090909%;
    margin: 0 !important;
  }
}
@media screen and (min-width: 1280px) {
  .bl_hiraya_sec .ly_flex .el_cont {
    padding-top: 150px;
  }
}
.bl_hiraya_sec .ly_flex .el_cont .el_contImg {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}
.bl_hiraya_sec .ly_flex .el_cont .el_contImg figure {
  aspect-ratio: 1/1;
  overflow: hidden;
}
.bl_hiraya_sec .ly_flex .el_cont .el_contImg figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1280px) {
  .bl_hiraya_sec .ly_flex .el_cont .el_contImg {
    width: 141.8461538462%;
    max-width: calc((100vw - 1100px) / 2 + 100%);
    margin-left: calc((100vw - 1100px) / -2) !important;
    margin-right: 0 !important;
    gap: 12px;
  }
}
@media screen and (min-width: 1680px) {
  .bl_hiraya_sec .ly_flex .el_cont .el_contImg {
    width: 55vw;
    max-width: none;
  }
}
.bl_hiraya_sec .ly_flex .el_cont p {
  margin-top: 2em;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

.bl_hiraya_works {
  padding-bottom: 124px;
  margin-top: 100px;
  background: #eeeeee;
}
.bl_hiraya_works h2 {
  margin-bottom: 50px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4583333333;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_hiraya_works h2 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 0.1em;
  }
}
.bl_hiraya_works .el_btnWrap .el_btn {
  margin: 100px auto 0;
}

.bl_hiraya_conact {
  padding-top: 100px;
}
@media screen and (min-width: 1024px) {
  .bl_hiraya_conact {
    padding-top: 205px;
  }
}
.bl_hiraya_conact .el_ttl {
  margin-bottom: 100px;
}
.bl_hiraya_conact .el_ttl h2 {
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.5384615385;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_hiraya_conact .el_ttl h2 {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
}
.bl_hiraya_conact .el_ttl p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4444444444;
  letter-spacing: 0.3em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .bl_hiraya_conact .el_ttl p {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.1818181818;
    letter-spacing: 0.3em;
  }
}
.bl_hiraya_conact .bl_contact_form table tr:nth-child(1) {
  display: none;
}

/* =================================================
    RECRUIT ページ
=================================================== */
.bl_recruit table {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.bl_recruit table th {
  min-width: 165px;
  padding: 30px 0;
  border: none;
  border-bottom: 2px solid #000;
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .bl_recruit table th {
    padding: 30px;
  }
}
.bl_recruit table td {
  padding: 30px;
  border: none;
  border-bottom: 2px solid #cccccc;
  line-height: 1.6;
}

/* =================================================
    .bl_secContact　
=================================================== */
.bl_secContact {
  padding-top: 50px;
  padding-bottom: 50px;
  background: url(../images/pattern/bkg_contact_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .bl_secContact {
    padding-top: 60px;
    padding-bottom: 60px;
    background: url(../images/pattern/bkg_contact.jpg) no-repeat center center/cover;
  }
}
.bl_secContact h2 {
  margin-top: 20px;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-size: 25px;
  font-size: 2.5rem;
  font-size: clamp(20px, 6.6666666667vw, 25px);
}
.bl_secContact .el_tel {
  margin-top: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
}
@media screen and (min-width: 782px) {
  .bl_secContact .el_tel {
    gap: 30px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.bl_secContact .el_tel a {
  margin-left: 3px;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-size: 26px;
  font-size: 2.6rem;
  font-size: clamp(20.8px, 6.9333333333vw, 26px);
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}
.bl_secContact .el_time {
  font-weight: 500;
}
.bl_secContact .el_btnWrap {
  gap: 20px;
}
@media screen and (min-width: 782px) {
  .bl_secContact .el_btnWrap {
    gap: 30px;
  }
}
.bl_secContact .el_btnWrap > div {
  max-width: 400px;
  margin: 0 auto;
}

/* =================================================
    .bl_secBanner SNSとバナー
=================================================== */
.bl_secBanner .el_sns {
  gap: 50px;
}
@media screen and (min-width: 782px) {
  .bl_secBanner .el_sns {
    gap: 86px;
  }
}
.bl_secBanner .el_banner > div {
  margin-top: 30px;
}
@media screen and (min-width: 782px) {
  .bl_secBanner .el_banner > div {
    margin-top: 0;
  }
}
@media screen and (min-width: 782px) {
  .bl_secBanner .el_banner {
    gap: 50px;
    margin-top: 50px;
  }
}
.bl_secBanner .el_banner figure {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 782px) {
  .bl_secBanner .el_banner figure {
    margin: 0;
  }
}

/* =================================================
    .bl_cover-staff
=================================================== */
.bl_cover-staff {
  height: auto;
  min-height: auto;
  padding: 30px;
}
@media screen and (min-width: 768px) {
  .bl_cover-staff {
    height: 430px;
    min-height: 430px;
  }
}
.bl_cover-staff p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .bl_cover-staff p {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
  }
}
.bl_cover-staff p br {
  display: none;
}
@media screen and (min-width: 768px) {
  .bl_cover-staff p br {
    display: inline;
  }
}
.bl_cover-staff .is-style-button_line_white {
  margin-top: 44px !important;
}
@media screen and (min-width: 768px) {
  .bl_cover-staff .is-style-button_line_white {
    margin-top: 32px !important;
  }
}

/* ======================================
    page 404
====================================== */
.bl_page404 {
  padding-bottom: 8rem;
}
.bl_page404 h2 {
  margin-bottom: 6rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
}
.bl_page404 .el_btnBacktoTop {
  position: relative;
  width: 220px;
  height: 50px;
  margin: 0 auto;
  text-align: center;
}
.bl_page404 .el_btnBacktoTop a {
  position: absolute;
  width: 100%;
  height: 50px;
  background: #75432f;
  border-radius: 3px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  line-height: 50px;
}
@media screen and (min-width: 1025px) {
  .bl_page404 .el_btnBacktoTop a {
    background: #fff;
    color: #75432f;
    border: 1px solid #75432f;
    opacity: 1;
  }
  .bl_page404 .el_btnBacktoTop a:hover {
    background: #75432f;
    color: #fff;
  }
}

/* =================================================
    .bl_breadcrumb
=================================================== */
.bl_breadcrumb {
  display: none;
}
@media screen and (min-width: 768px) {
  .bl_breadcrumb {
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-top: 80px;
  }
}
.bl_breadcrumb ol {
  width: 96.875%;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .bl_breadcrumb ol {
    width: 96.875%;
    max-width: 1160px;
    padding-left: 30px;
    padding-right: 30px;
  }
}
.bl_breadcrumb ol li {
  display: inline-block;
  list-style: none;
  color: #888888;
  padding-left: 0;
  font-size: 14px;
  font-size: 1.4rem;
}
.bl_breadcrumb ol li::before {
  display: none;
}
.bl_breadcrumb ol li::after {
  content: ">";
  font-size: inherit;
  margin-left: 0.3em;
}
.bl_breadcrumb ol li:last-of-type::after {
  content: "";
}
.bl_breadcrumb ol li a {
  color: inherit;
}
.bl_breadcrumb ol li br {
  display: none;
}
@media screen and (min-width: 1024px) {
  .bl_breadcrumb {
    padding-top: 30px;
    padding-bottom: 70px;
    margin-top: 90px;
  }
}

/* =================================================
    loop
=================================================== */
.bl_loop-topics_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 50px;
}
@media screen and (min-width: 768px) {
  .bl_loop-topics_wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 30px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_loop-topics_wrap {
    gap: 60px;
  }
}
.bl_loop-topics_wrap .bl_loop-topics_card {
  width: 100%;
  max-width: 670px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .bl_loop-topics_wrap .bl_loop-topics_card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 30px) / 2);
            flex: 0 0 calc((100% - 30px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .bl_loop-topics_wrap .bl_loop-topics_card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 60px) / 2);
            flex: 0 0 calc((100% - 60px) / 2);
  }
}
.bl_loop-topics_wrap .bl_loop-topics_card > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  text-decoration: none;
  color: #333333;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.bl_loop-topics_wrap .bl_loop-topics_card .el_thum {
  aspect-ratio: 335/220;
  overflow: hidden;
  background: #eeeeee;
}
.bl_loop-topics_wrap .bl_loop-topics_card .el_thum img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bl_loop-topics_wrap .bl_loop-topics_card .el_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items: center;
  gap: 10px;
}
.bl_loop-topics_wrap .bl_loop-topics_card .el_header time {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.bl_loop-topics_wrap .bl_loop-topics_card .el_cont {
  width: 100%;
  margin-top: auto;
}
.bl_loop-topics_wrap .bl_loop-topics_card .el_cont .el_postTtl {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.05em;
}

/* ======================================
  .wp-pagenavi
======================================= */
.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-top: 80px;
  margin-bottom: 80px;
  text-align: center;
}
.wp-pagenavi .pages {
  display: block;
  width: 100%;
  margin-top: 10px;
  font-size: 15px;
  font-size: 1.5rem;
  -webkit-box-ordinal-group: 1000;
      -ms-flex-order: 999;
          order: 999;
}
.wp-pagenavi span.current {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 2em;
  height: 2em;
  line-height: 2em;
  font-weight: 400;
  color: #fff;
  background-color: #75432f;
  border: 1px solid #75432f;
}
.wp-pagenavi a.page {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 2em;
  height: 2em;
  border: 1px solid #707070;
  line-height: 2em;
}
.wp-pagenavi a.page:hover {
  background: rgba(117, 67, 47, 0.3);
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .last,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .first {
  font-size: 15px;
  font-size: 1.5rem;
  width: 2em;
  height: 2em;
  line-height: 2em;
  border: 1px solid #707070;
}

/* =================================================
    折り畳みアーカイブウィジェット
=================================================== */
.widget {
  margin-bottom: 10rem;
}
.widget .bl_cat_list li {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px dotted #75432f;
}
.widget_archive a.year {
  display: block;
  padding: 1.5em 0;
  cursor: pointer;
  border-bottom: 1px solid #75432f;
}
.widget_archive a.year.open .mark {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.widget_archive .widget-title {
  font-weight: 600;
  padding-bottom: 0.6em;
  margin-bottom: 2rem;
  color: #75432f;
  border-bottom: 2px solid #75432f;
}
.widget_archive .mark {
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 0.4em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.4em solid black;
}
.widget_archive .month {
  display: none;
  padding-right: 1em;
  padding-left: 1em;
  border-bottom: 1px solid #75432f;
}
.widget_archive .month li:nth-of-type(n + 2) {
  border-top: 1px dotted #75432f;
}
.widget_archive .month li a {
  display: block;
  padding: 0.8em 0 0.9em 0.3em;
}

/* =================================================
    setup-style-block.phpで設定した項目のCSS
=================================================== */
.is-style-section_title {
  padding-bottom: 20px;
  margin-bottom: 50px;
  background-size: 5px 1px;
  background-image: linear-gradient(to right, #333333 2px, transparent 2px);
  background-repeat: repeat-x;
  background-position: left bottom;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.4230769231;
  letter-spacing: 0.05em;
  color: #333333;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .is-style-section_title {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.4666666667;
    letter-spacing: 0.05em;
  }
}

* + .is-style-section_title {
  margin-top: 50px;
}

.is-style-decoration-square {
  position: relative;
  padding-left: 24px;
  margin-bottom: 30px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  color: #333333;
  font-weight: 700;
  text-align: left;
}
.is-style-decoration-square::before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 14px;
  height: 14px;
  background: #333333;
  position: absolute;
  top: 8px;
  left: 0;
}

* + .is-style-decoration-square {
  margin-top: 30px;
}

.is-style-post_title {
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.4230769231;
  letter-spacing: 0.05em;
  color: #333333;
  font-weight: 700;
  text-align: left;
}
@media screen and (min-width: 1024px) {
  .is-style-post_title {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.4666666667;
    letter-spacing: 0.05em;
  }
}

* + .is-style-post_title {
  margin-top: 30px;
}

.is-style-flex_reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (min-width: 782px) {
  .is-style-flex_reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.wp-block-button.is-style-fill .wp-element-button {
  background: #75432f;
  padding: 13px 20px;
  border: 1px solid #75432f;
  border-radius: 0;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .wp-block-button.is-style-fill .wp-element-button:hover {
    opacity: 1;
    background: rgba(51, 51, 51, 0.1);
    color: #75432f;
    font-weight: 700;
  }
}

.wp-block-button.is-style-outline {
  background: transparent;
}
.wp-block-button.is-style-outline .wp-element-button {
  position: relative;
  padding: 15px 17.5%;
  padding-right: 26%;
  background: transparent;
  border: 1px solid #333333;
  font-size: 15px;
  font-size: 1.5rem;
  font-size: clamp(12px, 4vw, 15px);
  font-weight: 400;
  color: #333333;
  text-align: left;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .wp-block-button.is-style-outline .wp-element-button {
    padding: 15px 60px;
    padding-right: 80px;
  }
}
@media screen and (min-width: 1024px) {
  .wp-block-button.is-style-outline .wp-element-button:hover {
    opacity: 1;
    background: #75432f;
    color: #fff;
    font-weight: 700;
  }
  .wp-block-button.is-style-outline .wp-element-button:hover::after {
    background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
  }
}
.wp-block-button.is-style-outline .wp-element-button::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 18%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 12px;
  background: url(../images/common/btn_arrow_black.svg) no-repeat center center/contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .wp-block-button.is-style-outline .wp-element-button::after {
    right: 60px;
  }
}

.wp-block-button.is-style-button_line_white {
  display: block !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 400px;
  background: transparent;
}
.wp-block-button.is-style-button_line_white .wp-element-button {
  position: relative;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 30px;
  padding-right: 50px;
  border: 1px solid #fff;
  background: transparent;
  font-size: 15px;
  font-size: 1.5rem;
  font-size: clamp(12px, 4vw, 15px);
  font-weight: 400;
  color: #fff;
  text-align: left;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .wp-block-button.is-style-button_line_white .wp-element-button {
    padding: 15px 60px;
    padding-right: 80px;
  }
}
@media screen and (min-width: 1024px) {
  .wp-block-button.is-style-button_line_white .wp-element-button:hover {
    opacity: 1;
    background: #fff;
    color: #333333;
    font-weight: 700;
  }
  .wp-block-button.is-style-button_line_white .wp-element-button:hover::after {
    background: url(../images/common/btn_arrow_black.svg) no-repeat center center/contain;
  }
}
.wp-block-button.is-style-button_line_white .wp-element-button::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 12px;
  background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .wp-block-button.is-style-button_line_white .wp-element-button::after {
    right: 60px;
  }
}

.wp-block-button.is-style-button_link-blank {
  background: transparent;
}
.wp-block-button.is-style-button_link-blank .wp-element-button {
  width: 220px;
  position: relative;
  padding: 4px 30px;
  padding-right: 50px;
  border: 1px solid #333333;
  background: #fff;
  font-size: 15px;
  font-size: 1.5rem;
  font-size: clamp(12px, 4vw, 15px);
  font-weight: 500;
  color: #333333;
  text-align: left;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 1024px) {
  .wp-block-button.is-style-button_link-blank .wp-element-button:hover {
    opacity: 1;
    background: #75432f;
    color: #fff;
    font-weight: 700;
  }
  .wp-block-button.is-style-button_link-blank .wp-element-button:hover::after {
    background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
  }
}
.wp-block-button.is-style-button_link-blank .wp-element-button::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 12px;
  background: url(../images/common/btn_arrow_black.svg) no-repeat center center/contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.wp-block-button.is-style-button_normal {
  display: block !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 400px;
  height: 70px;
  position: relative;
}
.wp-block-button.is-style-button_normal .wp-element-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 10px 30px;
  padding-right: 50px;
  border: none;
  border-radius: 0;
  background: linear-gradient(-67deg, #75432f 22%, #000000 0);
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: left;
  z-index: 0;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .wp-block-button.is-style-button_normal .wp-element-button:hover {
    opacity: 1;
    font-weight: 700;
  }
  .wp-block-button.is-style-button_normal .wp-element-button:hover::before {
    left: 65.5%;
  }
  .wp-block-button.is-style-button_normal .wp-element-button::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    width: 50%;
    height: 100%;
    background: linear-gradient(-67deg, transparent 40%, #000000 0);
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
  }
}
.wp-block-button.is-style-button_normal .wp-element-button::after {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 12px;
  background: url(../images/common/btn_arrow_white.svg) no-repeat center center/contain;
}

.wp-block-image.is-style-image_round img {
  border-radius: 10px;
  display: block;
  width: 100%;
}

.wp-block-image.is-style-image_round-line img {
  width: 100%;
  border-radius: 10px;
  border: 2px solid #ccc;
}
@media screen and (min-width: 768px) {
  .wp-block-image.is-style-image_round-line img {
    border: 1px solid #ccc;
  }
}

.wp-block-list.is-style-default li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 0.5em;
  font-size: 15px;
  font-size: 1.5rem;
}
.wp-block-list.is-style-default li:before {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  content: "・";
}

.wp-block-list.is-style-liststyle-circle_defult li {
  padding-left: 1em;
}
.wp-block-list.is-style-liststyle-circle_defult li:before {
  border-radius: 100vh;
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  left: 0;
  top: 12px;
  content: "";
  background: #333333;
}

.wp-block-list.is-style-liststyle-circle_brand li {
  padding-left: 1em;
}
.wp-block-list.is-style-liststyle-circle_brand li:before {
  border-radius: 100vh;
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  left: 0;
  top: 12px;
  content: "";
  background: #75432f;
}

.wp-block-list.is-style-liststyle-square_default li {
  padding-left: 1em;
}
.wp-block-list.is-style-liststyle-square_default li:before {
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  left: 0;
  top: 12px;
  content: "";
  background: #333333;
}

.wp-block-table.is-style-no-border {
  overflow: visible;
}
.wp-block-table.is-style-no-border table,
.wp-block-table.is-style-no-border thead,
.wp-block-table.is-style-no-border th,
.wp-block-table.is-style-no-border td {
  border: none;
}

/* =================================================
    .bl_post
=================================================== */
.post-type-post h2:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  padding: 4px 20px;
  -webkit-margin-after: 50px;
          margin-block-end: 50px;
  background: rgba(0, 0, 0, 0.5);
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
}
.post-type-post * + h2:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.post-type-post h3:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  padding: 4px 20px;
  -webkit-margin-after: 30px;
          margin-block-end: 30px;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #333333;
}
.post-type-post * + h3:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.post-type-post h4:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  padding: 10px 20px;
  background: rgba(0, 0, 0, 0.11);
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.05em;
  color: #333333;
}
.post-type-post * + h4:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.post-type-post h5:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.05em;
  color: #333333;
  font-weight: 700;
  border-bottom: 1px solid #333333;
}
.post-type-post * + h5:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.post-type-post h6:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #333333;
  font-weight: 700;
  border-bottom: 1px dashed #333333;
}
.post-type-post * + h6:not(.is-style-section_title):not(.is-style-decoration-square):not(.is-style-post_title) {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.post-type-post p {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .post-type-post p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.05em;
  }
}
.post-type-post * + p {
  -webkit-margin-before: 1em !important;
          margin-block-start: 1em !important;
}
.post-type-post strong {
  font-weight: bold;
  color: rgba(204, 17, 102, 0.6666666667);
}
.post-type-post a {
  color: #333333;
  text-decoration: underline;
  font-weight: bold;
}
@media screen and (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .post-type-post a:hover {
    opacity: 0.7;
  }
}
.post-type-post a:visited {
  color: #aaaaaa;
}
.post-type-post ul:not(.el_cat) li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.3em;
}
.post-type-post ul:not(.el_cat) li::before {
  content: "●";
  color: #777777;
  position: absolute;
  top: 0;
  left: 0;
}
.post-type-post * + ul {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.post-type-post ol {
  list-style: none;
  counter-reset: count 0;
}
.post-type-post ol li {
  position: relative;
  padding-left: 2em;
  margin-bottom: 0.3em;
}
.post-type-post ol li::before {
  content: counter(count, decimal-leading-zero) ". ";
  counter-increment: count 1;
  position: absolute;
  top: 0px;
  left: 0;
}
.post-type-post * + ol {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.post-type-post .wp-block-table table {
  background: #fff;
  border: 1px solid #cecece;
  border-collapse: collapse;
}
.post-type-post .wp-block-table table th,
.post-type-post .wp-block-table table td {
  padding: 10px 20px;
  border: 1px solid #cecece;
}
.post-type-post .wp-block-table table thead {
  border-bottom: none;
}
.post-type-post .wp-block-table table thead th {
  background: #222222;
  border: 1px solid #cecece;
  text-align: left;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
.post-type-post .wp-block-table table tbody th {
  background: #f0f0f0;
  color: #333333;
  font-weight: 500;
}
.post-type-post .wp-block-table table tfoot {
  border-top: none;
  text-align: center;
}
.post-type-post * + .wp-block-table {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.post-type-post iframe {
  max-width: 100%;
  display: block;
}
.post-type-post .wp-block-image .wp-element-caption {
  margin-top: 6px;
  text-align: left;
  font-size: 12px;
  font-size: 1.2rem;
}
.post-type-post * + .wp-block-image {
  -webkit-margin-before: 50px;
          margin-block-start: 50px;
  -webkit-margin-after: 50px;
          margin-block-end: 50px;
}
@media screen and (min-width: 1024px) {
  .post-type-post * + .wp-block-image {
    -webkit-margin-before: 100px;
            margin-block-start: 100px;
    -webkit-margin-after: 100px;
            margin-block-end: 100px;
  }
}

/* =================================================
    WORKS post 施工事例記事
=================================================== */
.bl_single-caseArticle .bl_thum {
  text-align: center;
}
.bl_single-caseArticle .bl_thum img {
  width: 100%;
  max-width: 1100px;
}
.bl_single-caseArticle h2:not(.el_caseTtl):not(.bl_cat h2) {
  position: relative;
  padding-left: 24px;
  margin-bottom: 30px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  color: #333333;
  font-weight: 700;
  text-align: left;
}
.bl_single-caseArticle h2:not(.el_caseTtl):not(.bl_cat h2)::before {
  content: "";
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 14px;
  height: 14px;
  background: #333333;
  position: absolute;
  top: 9px;
  left: 0;
}
.bl_single-caseArticle * + h2:not(.el_caseTtl) {
  margin-top: 100px;
}
.bl_single-caseArticle .el_caseTtl {
  margin-top: 50px;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.4230769231;
  letter-spacing: 0.05em;
}
.bl_single-caseArticle .el_area {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.bl_single-caseArticle .el_designer {
  margin-top: 50px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4em;
}
.bl_single-caseArticle .el_designer dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 7em;
          flex: 0 0 7em;
}
.bl_single-caseArticle .el_cat {
  margin-top: 20px;
}
.bl_single-caseArticle .bl_case-data {
  margin-top: 15px;
  padding: 50px 15px;
  background: #eeeeee;
}
.bl_single-caseArticle .bl_case-data_inner {
  max-width: 800px;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .bl_single-caseArticle .el_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 1024px) {
  .bl_single-caseArticle .el_flex {
    gap: 80px;
  }
}
.bl_single-caseArticle .el_flex dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .bl_single-caseArticle .el_flex dl {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 50%;
            flex: 0 1 50%;
  }
}
@media screen and (min-width: 1024px) {
  .bl_single-caseArticle .el_flex dl {
    -webkit-column-gap: 120px;
       -moz-column-gap: 120px;
            column-gap: 120px;
  }
}
.bl_single-caseArticle .el_flex dl dt {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 31.1475409836%;
          flex: 0 0 31.1475409836%;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (min-width: 1024px) {
  .bl_single-caseArticle .el_flex dl dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 7em;
            flex: 0 0 7em;
  }
}
.bl_single-caseArticle .el_flex dl dt::after {
  content: "";
  width: 40px;
  height: 1px;
  background: #333333;
  position: absolute;
  top: 50%;
  left: calc(100% + 5px);
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
@media screen and (min-width: 1024px) {
  .bl_single-caseArticle .el_flex dl dt::after {
    width: 100px;
  }
}
.bl_single-caseArticle .el_flex dl dd {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 52.4590163934%;
          flex: 0 0 52.4590163934%;
  padding-left: 5px;
  background: #eeeeee;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 1024px) {
  .bl_single-caseArticle .el_flex dl dd {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 calc(100% - 7em - 120px);
            flex: 1 0 calc(100% - 7em - 120px);
    padding-left: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .bl_single-caseArticle .el_flex dl:first-of-type dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 5em;
            flex: 0 0 5em;
  }
}
@media screen and (min-width: 1024px) {
  .bl_single-caseArticle .el_flex dl:first-of-type dd {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 5em - 120px);
            flex: 0 0 calc(100% - 5em - 120px);
    padding-left: 10px;
  }
}
.bl_single-caseArticle .el_btn_staffWrap {
  margin-top: 10px;
  text-align: right;
}
.bl_single-caseArticle .el_btn_staffWrap .el_btn_staff {
  min-width: 200px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 4px 30px;
}
.bl_single-caseArticle .el_btn_staffWrap .el_btn_staff::after {
  right: 30px;
}
.bl_single-caseArticle .el_btn_ownerWrap {
  margin-top: 100px;
  text-align: center;
}
.bl_single-caseArticle .el_btn_ownerWrap .el_btn {
  max-width: 550px;
  margin: 0 auto;
  line-height: 1.4444444444;
}
@media screen and (min-width: 1024px) {
  .bl_single-caseArticle .el_btn_ownerWrap .el_btn br {
    display: none;
  }
}
.bl_single-caseArticle .bl_works-cont {
  margin-top: 100px;
  padding-bottom: 100px;
}
.bl_single-caseArticle .bl_works-cont p + p {
  margin-top: 2em;
}
.bl_single-caseArticle .wp-element-caption {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #333333;
  text-align: left;
}
.bl_single-caseArticle * + .wp-block-image {
  margin-top: 100px;
}
.bl_single-caseArticle .wp-block-image + .wp-block-image {
  margin-top: 50px;
}
.bl_single-caseArticle .el_btn_backWrap {
  margin-top: 100px;
}
.bl_single-caseArticle .el_btn_backWrap .el_btn {
  margin: 0 auto;
}

/* =================================================
    WORKS カテゴリー一覧　TOP
=================================================== */
.bl_caseWrap {
  padding-bottom: 100px;
}
.bl_caseWrap h2 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.4230769231;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .bl_caseWrap h2 {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.4666666667;
    letter-spacing: 0.05em;
  }
}
.bl_caseWrap h3 {
  position: relative;
  margin-top: 100px;
}
.bl_caseWrap h3::before {
  content: "";
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 14px;
  height: 14px;
  background: #000000;
  margin-right: 5px;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
.bl_caseWrap h3 + p {
  margin-top: 30px;
}
.bl_caseWrap p + figure {
  margin-top: 100px;
}

/* =================================================
    gutenberg 基本設定
=================================================== */
/* 投稿エディターに左右の余白を入れる */
.is-root-container {
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
}
.is-root-container :where(.has-global-padding) {
  padding-right: 0;
  padding-left: 0;
}
.is-root-container > .alignfull {
  margin-right: calc(var(--wp--style--root--padding-right) * -1);
  margin-left: calc(var(--wp--style--root--padding-left) * -1);
}
.is-root-container :where(.has-global-padding) > .alignfull {
  margin-right: 0;
  margin-left: 0;
}

.underline {
  font-weight: bold;
  color: #75432f;
}

.block-editor-rich-text__editable.has-text-align-right {
  text-align: right !important;
}

/* イタリックの設定をリセット */
em {
  font-style: normal !important;
  font-family: inherit;
  font-weight: normal;
}

@media screen and (min-width: 768px) {
  .has-global-padding > .alignfull.is_spFull {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto !important;
    margin-right: auto !important;
  }
}/*# sourceMappingURL=style.css.map */