/* ##############################################################################

    KEYFRAMES

############################################################################## */

/* --- sliderNav --- */
@-webkit-keyframes sliderNav {
  0% {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@keyframes sliderNav {
  0% {
    width: 0;
  }
  to {
    width: 100%;
  }
}

/* --- fadein --- */
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* --- transup --- */
@-webkit-keyframes transup {
  0% {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes transup {
  0% {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

/* ##############################################################################

    COMMON

############################################################################## */

html {
  height: 100%;
  overflow-y: scroll;
}
body {
  height: 100%;
  background-image: url(../images/common/bg_base.jpg);
}
body:not(.home, .request) {
  padding-top: 88px;
}

@media screen and (max-width: 767px) {
  body,
  body:not(.home) {
    padding-top: 56px;
    font-size: 14px;
    line-height: 1.95;
    letter-spacing: 0.08em;
  }
}

/* layout
**************************************** */

/* --- inner --- */
.inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
.inner-xs {
  max-width: 720px;
}
.inner-sm {
  max-width: 880px;
}
.inner-lg {
  max-width: 1560px;
}

/* --- section_pdg --- */
.section_pdg {
  padding-top: 100px;
  padding-bottom: 100px;
}
.section_pdg-top {
  padding-top: 0;
  padding-bottom: 100px;
}

/* --- float --- */
.flt-rgt {
  float: right;
}
.flt-lft {
  float: left;
}

/* --- position --- */
.pos_rel {
  position: relative;
  z-index: 0;
}

/* --- margin --- */
.mgn-btm8 {
  margin-bottom: 8px;
}
.mgn-btm16 {
  margin-bottom: 16px;
}
.mgn-btm24 {
  margin-bottom: 24px;
}
.mgn-btm32 {
  margin-bottom: 32px;
}
.mgn-btm40 {
  margin-bottom: 40px;
}
.mgn-btm48 {
  margin-bottom: 48px;
}
.mgn-btm56 {
  margin-bottom: 56px;
}
.mgn-btm64 {
  margin-bottom: 64px;
}
.mgn-btm72 {
  margin-bottom: 72px;
}
.mgn-btm80 {
  margin-bottom: 80px;
}
.mgn-btm100 {
  margin-bottom: 100px;
}

.mgn-auto {
  margin-left: auto;
  margin-right: auto;
}

/* --- pc or sp --- */
.pc-none,
.pc-none-inline,
.pc-none-table,
.pc-none-flex {
  display: none;
}
.sp-none {
  display: block;
}
.sp-none-inline {
  display: inline;
}
.sp-none-table {
  display: table;
}
.sp-none-flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .inner {
    width: 86%;
  }
  .section_pdg {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .mgn-btm16 {
    margin-bottom: 8px;
  }
  .mgn-btm24 {
    margin-bottom: 16px;
  }
  .mgn-btm32 {
    margin-bottom: 16px;
  }
  .mgn-btm40 {
    margin-bottom: 24px;
  }
  .mgn-btm48 {
    margin-bottom: 24px;
  }
  .mgn-btm56 {
    margin-bottom: 32px;
  }
  .mgn-btm64 {
    margin-bottom: 32px;
  }
  .mgn-btm72 {
    margin-bottom: 40px;
  }
  .mgn-btm80 {
    margin-bottom: 40px;
  }
  .mgn-btm100 {
    margin-bottom: 50px;
  }
  .sp-none,
  .sp-none-inline,
  .sp-none-table,
  .sp-none-flex {
    display: none;
  }
  .pc-none {
    display: block;
  }
  .pc-none-inline {
    display: inline;
  }
  .pc-none-table {
    display: table;
  }
  .pc-none-flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

/* flex
**************************************** */

/* --- ブロック要素 --- */
.flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

/* --- インライン要素 --- */
.flex-inline {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

/* --- 逆向き --- */
.flex-reverse {
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* --- 縦並び --- */
.flex-column {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* --- 水平方向揃え --- */
.flex-j-start {
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.flex-j-end {
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.flex-j-ctr {
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.flex-j-between {
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.flex-j-around {
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

/* --- 垂直方向揃え --- */
.flex-a-start {
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.flex-a-end {
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.flex-a-ctr {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.flex-a-baseline {
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}
.flex-a-stretch {
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

/* --- 子要素の折り返し設定 --- */
.flex-c-nowrap {
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.flex-c-wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* --- 子要素の複数行設定 --- */
.flex-c-reverse {
  -webkit-flex-wrap: wrap-reverse;
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}
.flex-c-start {
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
}
.flex-c-start {
  -webkit-align-items: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
}
.flex-c-end {
  -webkit-align-content: flex-end;
  -ms-flex-line-pack: end;
  align-content: flex-end;
}
.flex-c-ctr {
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
}
.flex-c-baseline {
  -webkit-align-content: baseline;
  -ms-flex-line-pack: baseline;
  align-content: baseline;
}
.flex-c-stretch {
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}

/* --- ざっくりflexレイアウト --- */
.flex-col2,
.flex-col3,
.flex-col4 {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-col2 > * {
  width: 48.5%;
  margin-right: 3%;
  margin-bottom: 3%;
}
.flex-col2:not(.flex-reverse) > *:nth-child(even) {
  margin-right: 0;
}
.flex-col2.flex-reverse > *:nth-child(odd) {
  margin-right: 0;
}
.flex-col3 > * {
  width: 31.33%;
  margin-right: 3%;
  margin-bottom: 3%;
}
.flex-col3 > *:nth-child(3n + 3) {
  margin-right: 0;
}
.flex-col4 > * {
  width: 23.5%;
  margin-right: 2%;
  margin-bottom: 2%;
}
.flex-col4 > *:nth-child(4n + 4) {
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  /* --- 縦並び - sp --- */
  .flex-sp-block {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .flex-sp-block.flex-col2 > *,
  .flex-sp-block.flex-col3 > * {
    width: 100%;
    margin-right: 0;
    margin-bottom: 6%;
  }
  .flex-sp-block.flex-col2 > *:last-child,
  .flex-sp-block.flex-col3 > *:last-child {
    margin-bottom: 0;
  }

  /* --- 並び順変更 - sp --- */
  .flex-sp-reverse {
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  /* --- ざっくりflexレイアウト - sp --- */
  .flex-sp-col2 > *,
  .flex-sp-col2.flex-col3 > *:nth-child(3n + 3) {
    width: 48.5%;
    margin-right: 3%;
    margin-bottom: 3%;
  }
  .flex-sp-col2 > *:nth-child(even) {
    margin-right: 0;
  }
  .flex-sp-col3 > *,
  .flex-sp-col3.flex-col4 > *:nth-child(4n + 4) {
    width: 31.33%;
    margin-right: 3%;
    margin-bottom: 3%;
  }
  .flex-sp-col3 > *:nth-child(3n + 3) {
    margin-right: 0;
  }
}

/* width
**************************************** */
.fit-content {
  width: fit-content;
}

/* bg
**************************************** */
.bg-base {
  background-image: url(../images/common/bg_base.jpg);
}
.bg-dark {
  background-image: url(../images/common/bg_dark.jpg);
}
.bg-bitter {
  background-image: url(../images/common/bg_bitter.jpg);
}
.bg-beige {
  background-image: url(../images/common/bg_beige.jpg);
}
.bg-wh {
  background-color: #fff;
}

/* --- CTA --- */
.bg-contact {
  background-color: #cc0000 !important;
}
.bg-contact:hover {
  background-color: #af0707 !important;
}

/* ttl
**************************************** */

/* --- page_ttl --- */
.page_ttl {
  position: relative;
  padding: 10px 0;
  background-position: center;
  text-align: center;
  background-image: url(../images/common/bg_beige.jpg);
}
/* .page-company .page_ttl {
  background-image: url(../images/page_ttl/page_ttl-blog.jpg);
}
.page-line .page_ttl {
  background-image: url(../images/page_ttl/page_ttl-line.jpg);
}
.page-online .page_ttl {
  background-image: url(../images/page_ttl/page_ttl-online.jpg);
}
.page-about .page_ttl {
  background-image: url(../images/page_ttl/page_ttl-about.jpg);
}
.page-after_follow .page_ttl {
  background-image: url(../images/page_ttl/page_ttl-after_follow.jpg);
}
.archive-works .page_ttl,
.single-works .page_ttl {
  background-image: url(../images/page_ttl/page_ttl-works.jpg);
}
.archive-event .page_ttl,
.single-event .page_ttl {
  background-image: url(../images/page_ttl/page_ttl-event.jpg);
}
.archive-estate .page_ttl,
.single-estate .page_ttl {
  background-image: url(../images/page_ttl/page_ttl-estate.jpg);
}
.archive-blog .page_ttl,
.single-blog .page_ttl {
  background-image: url(../images/page_ttl/page_ttl-blog.jpg);
} */
body.single .page_ttl {
  padding: 10px 0;
}

.page_ttl-jp,
.page_ttl-en {
  display: block;
}
.page_ttl-jp {
  font-size: 280%;
  letter-spacing: 0.09em;
  line-height: 1.15;
}
.page_ttl-en {
  font-size: 120%;
  text-transform: uppercase;
  letter-spacing: 0.13em;
}

/* --- section_ttl --- */
.section_ttl > * {
  display: block;
  text-align: center;
}
.section_ttl .jp {
  font-family: ten-mincho, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 280%;
  letter-spacing: 0.09em;
  line-height: 1.15;
}
.section_ttl .en {
  margin-top: 18px;
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 120%;
  letter-spacing: 0.13em;
  line-height: 1;
}
.section_ttl-sm {
  font-size: 267%;
}
.section_catch {
  text-align: center;
  font-size: 120%;
  font-weight: 700;
}

/* --- section_ttl-deco --- */
.section_ttl-deco {
  position: relative;
  margin-top: 120px;
}
.section_ttl-deco .deco {
  position: absolute;
  top: -90px;
  left: 0;
  width: 100%;
  pointer-events: none;
  text-align: center;
}
.section_ttl-deco .jp,
.section_ttl-deco .en {
  position: relative;
}

/* --- heading --- */
.heading-1,
.heading-2,
.heading-3 {
  font-family: ten-mincho, serif;
  font-weight: 400;
  font-style: normal;
}
.heading-1 {
  font-size: 213%;
  line-height: 1.43;
}
.heading-2 {
  font-size: 173%;
  line-height: 1.76;
  color: #ff530f;
}
.heading-3 {
  font-size: 133%;
  line-height: 1.45;
}

@media screen and (max-width: 767px) {
  /* --- page_ttl --- */
  .page_ttl {
    padding: 5px 0;
    background-size: cover;
  }
  body.single .page_ttl {
    padding: 5px 0;
  }

  .page_ttl-jp {
    font-size: 186%;
  }
  .page_ttl-en {
    font-size: 86%;
  }

  /* --- section_ttl --- */
  .section_ttl .jp {
    font-size: 7.65vw;
    letter-spacing: 0.08em;
    line-height: 1.3;
  }
  .section_ttl-deco .deco {
    top: -18px;
  }
  .section_ttl-deco {
    margin-top: 30px;
  }
  .section_ttl-deco .deco img {
    max-width: 64%;
  }

  /* --- heading --- */
  .heading-1 {
    font-size: 158%;
  }
  .heading-2 {
    font-size: 143%;
    line-height: 1.3;
  }
  .heading-3 {
    font-size: 115%;
  }
}

/* deco
**************************************** */

/* --- section_deco --- */
.section_deco {
  position: relative;
}
.section_deco::before {
  content: "";
  position: absolute;
  top: -264px;
  left: 0;
  width: 100%;
  height: 264px;
  background-repeat: repeat-x;
  background-position: center;
  background-image: url(../images/common/section_deco_yane.png);
}

/* --- section_deco-dotted --- */
.section_deco-dotted {
  position: relative;
}
.section_deco-dotted::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 21px;
  background-color: transparent;
  background-image: linear-gradient(transparent 50%, rgba(255, 255, 255, 1) 50%);
  background-size: 20px 20px;
}
.section_deco-dotted.left::before {
  left: 8px;
  width: 21px;
  height: 100%;
}

/* --- txt-img-col2 --- */
.txt-img-col2 {
  width: 95%;
  max-width: 1620px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-left: auto;
}
.txt-img-col2.no-img {
  justify-content: center;
  margin-right: auto;
  text-align: center;
}
.txt-img-col2.flex-reverse {
  margin-left: 0;
  margin-right: auto;
}
.txt-img-col2 .img {
  max-width: 1056px;
  flex: 1;
  border-top: 7px solid #fff;
  border-left: 7px solid #fff;
  border-bottom: 7px solid #fff;
}
.txt-img-col2.flex-reverse .img {
  border-right: 7px solid #fff;
  border-left: none;
}
.txt-img-col2 .txt {
  flex: 1;
  max-width: 500px;
  width: 100%;
  margin-right: 4%;
}
.txt-img-col2.no-img .txt {
  max-width: inherit;
  margin-right: 0;
}
.txt-img-col2.flex-reverse .txt {
  margin-left: 4%;
  margin-right: 0;
}

.img-deco img {
  border: 7px solid #fff;
}
.img-deco-black img {
  border: 7px solid #2a2a2a;
}

@media screen and (max-width: 767px) {
  /* --- section_deco --- */
  .section_deco::before {
    top: -140px;
    height: 140px;
    background-position: top center;
  }

  /* --- section_deco-dotted --- */
  .section_deco-dotted.left::before {
    display: none;
  }

  /* --- txt-img-col2 --- */
  .txt-img-col2 {
    width: 86%;
    margin-right: auto;
  }
  .txt-img-col2.flex-reverse {
    margin-left: auto;
  }
  .txt-img-col2 .txt {
    margin-right: 0;
  }
  .txt-img-col2.flex-reverse .txt {
    margin-left: 0;
  }
  .txt-img-col2 .img {
    margin-top: 24px;
    border-top: 3px solid #fff;
    border-left: 3px solid #fff;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
  }
  .txt-img-col2.flex-reverse .img {
    border-left: 3px solid #fff;
    border-right: 3px solid #fff;
  }

  .img-deco-black img {
    border: 3px solid #2a2a2a;
  }
}

/* breadcrumbs
**************************************** */
.breadcrumbs {
  padding: 16px 0;
  font-size: 87%;
}
.breadcrumbs a {
  text-decoration: underline;
}

/* txt
**************************************** */
.txt-lg {
  font-size: 107%;
}
.txt-sm {
  font-size: 93%;
}
.txt-ctr,
.txt-ctr-pc {
  text-align: center;
}
.txt-rgt,
.txt-rgt-pc {
  text-align: right;
}
.txt-attention {
  font-size: 88%;
  color: #999;
}
.txt-attention-kome {
  position: relative;
  padding-left: 1.4em;
}
.txt-attention-kome::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.txtarea p:not(:last-child) {
  margin-bottom: 1em;
}
.strong {
  color: #ef701b;
}
.font-ten {
  font-family: "ten-mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.font-futura {
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
}
.font-gara {
  font-family: "garamond-fb-display", sans-serif;
  font-weight: 300;
}
.font-gara_b {
  font-family: "garamond-fb-display", sans-serif;
  font-weight: 700;
}
.txt-link {
  text-decoration: underline;
}

.color-f {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .txt-ctr-pc,
  .txt-rgt-pc {
    text-align: left;
  }

  .txt-lg {
    font-size: 100%;
  }
}

/* table & list
**************************************** */
table {
  width: 100%;
}

/* --- table_default --- */
.table_default tr {
  border-bottom: 1px solid #2a2a2a;
}
.table_default th,
.table_default td {
  padding: 24px 8px;
}
.table_default td {
  padding: 24px 16px;
}

/* --- table_line --- */
.table_line th,
.table_line td {
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 24px;
  padding-right: 24px;
}
.table_line th {
  background-color: #666;
  border: 1px solid #666;
  color: #fff;
  font-size: 107%;
}
.table_line td {
  border: 1px solid #d2d2d2;
  font-size: 93%;
}

/* --- list ---- */
.list {
  list-style-type: none;
}
.list li:not(:last-child) {
  margin-bottom: 12px;
}
.list li {
  position: relative;
  padding-left: 1.4em;
  line-height: 1.6;
}
.list-disc li::before,
.list-square li::before,
.list-circle li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 10px;
  height: 10px;
  border-radius: 6px;
  background-color: #0a2032;
}
/* 数字付きリスト */
.list-num {
  padding-left: 1.4em;
  list-style-type: decimal;
}
.list-num li {
  padding-left: 0;
}
.list-num li::before {
  display: none;
}
/* 白丸付きリスト */
.list-circle li::before {
  border: 1px solid #666;
  background-color: transparent;
}
/* 四角付きリスト */
.list-square li::before {
  border-radius: 0;
  background-color: #666;
}
/* 入れ子のスタイル */
.list li ul {
  margin-top: 16px;
}
.list li ul li::before {
  width: 6px;
  height: 6px;
  top: 0.8em;
}

/* --- dlリスト --- */
.list-dl {
  position: relative;
  border-top: 1px solid #bfbfbf;
}
.list-dl dt {
  position: absolute;
  padding-top: 16px;
  color: #666;
  font-weight: 700;
}
.list-dl dd {
  padding-left: 140px;
  padding-top: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #bfbfbf;
}

@media screen and (max-width: 767px) {
  /* --- table_default --- */
  .table_default th,
  .table_default td {
    display: block;
  }
  .table_default th {
    padding: 8px 8px 0;
    text-align: left;
  }
  .table_default td {
    padding: 0 8px 8px;
    font-size: 94%;
  }
}

/* btn
**************************************** */
.btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 900px;
  height: 104px;
  padding: 0 32px;
  color: #fff;
  background-color: #2a2a2a;
  text-align: center;
  line-height: 1.82;
  overflow: hidden;
  font-size: 113%;
  font-family: ten-mincho, serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
}
.btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  right: 30px;
  display: block;
  width: 10px;
  height: 10px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  transition: all 0.2s ease-out;
}
.btn:hover {
  background-color: #f28841;
  color: #fff;
}
.btn:hover::after {
  right: 20px;
  border-color: #fff;
}

/* --- btn-border --- */
.btn-border {
  background-color: transparent;
  border: 2px solid #2a2a2a;
  color: #2a2a2a;
}
.btn-border::after {
  border-top: solid 2px #2a2a2a;
  border-right: solid 2px #2a2a2a;
}
.btn-border:hover {
  background-color: #000;
  color: #fff;
}

.btn .icon-icon_home {
  font-size: 236%;
  vertical-align: middle;
  margin-right: 16px;
  transform: translateY(-3px);
  display: inline-block;
}

.flex .btn + .btn {
  margin-left: 16px;
}

@media screen and (max-width: 767px) {
  .btn {
    height: 74px;
    padding: 0 23px 0 8px;
    line-height: 1.5;
  }
  .btn::after {
    width: 8px;
    height: 8px;
    right: 14px;
  }
  .btn .icon-icon_home {
    margin-right: 6px;
    font-size: 183%;
  }

  .btn-sm {
    min-width: 100%;
  }

  .flex .btn,
  .flex .btn + .btn {
    margin-top: 4px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* cta
**************************************** */
.cta_line {
  display: flex;
  align-items: center;
  height: 406px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/top_line-bg.jpg);
}
.cta_line .inner {
  max-width: 1000px;
}
.cta_line .txt {
  width: 466px;
}
.cta_line .heading-1 {
  font-size: 253%;
  line-height: 1.25;
}
.cta_line .btn-sm {
  min-width: 280px;
  padding: 1.2em 2.5em;
  border: none;
  background-color: #06b53a;
  color: #fff;
}
.cta_line .btn-sm:hover {
  background-color: #038241;
}
.cta_line .btn-sm::after {
  display: none;
}
.cta_line .btn-sm img {
  margin-right: 6px;
}
.cta li {
  width: calc(100% / 3);
}
.cta li > a {
  position: relative;
  display: block;
  padding-top: 152px;
  padding-left: 40px;
  padding-right: 40px;
  min-height: 600px;
  color: #fff;
  text-align: center;
}
.cta li > a::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  border: 8px solid transparent;
  border-right: 8px solid #fff;
  border-bottom: 8px solid #fff;
}
.cta .app a {
  background-color: #2a2a2a;
}
.cta .reserve a {
  background-color: #f28841;
}
.cta .contact a {
  background-color: #d43232;
}
.cta .app a:hover {
  background-color: #000;
}
.cta .reserve a:hover {
  background-color: #ef701b;
}
.cta .contact a:hover {
  background-color: #b51e1e;
}
.cta li i {
  display: block;
}
.cta .app i {
  margin-bottom: 18px;
  font-size: 240%;
}
.cta .reserve i {
  margin-bottom: 14px;
  font-size: 267%;
}
.cta .contact i {
  margin-top: 12px;
  margin-bottom: 14px;
  font-size: 193%;
}
.cta .contact .tel {
  font-size: 253%;
  line-height: 1;
  letter-spacing: 0.05em;
}
.cta .section_ttl .jp {
  font-size: 253%;
}
.cta .section_ttl .en {
  margin-top: 12px;
}

@media screen and (max-width: 1192px) {
  .cta li .txt-lg {
    text-align: left;
  }
  .cta li .txt-lg br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .cta_line {
    padding-top: 28px;
    align-items: flex-start;
    height: 362px;
    background-position: top center;
    background-size: cover;
    background-image: url(../images/top_line-bg_sp.jpg);
  }
  .cta_line .heading-1,
  .cta_line .heading-1 + p + p {
    text-align: center;
  }
  .cta_line .txt,
  .cta li {
    width: 100%;
  }
  .cta li > a {
    padding-top: 26px;
    padding-left: 8%;
    padding-right: 8%;
    padding-bottom: 32px;
    min-height: auto;
  }
  .cta li > a::after {
    border: 6px solid transparent;
    border-right: 6px solid #fff;
    border-bottom: 6px solid #fff;
  }
  .cta li.app .section_ttl,
  .cta li.contact .section_ttl,
  .cta li.reserve .section_ttl {
    margin-bottom: 0;
  }
  .cta .section_ttl .jp {
    font-size: 230%;
  }
  .cta li .txt-lg {
    display: none;
  }
}

/* cta-page
**************************************** */
.cta-page {
}

/* ##############################################################################

    HEADER

############################################################################## */

/* header
**************************************** */
.header {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  z-index: 888;
}
.header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 20px;
  background-color: transparent;
  background-image: linear-gradient(90deg, transparent 50%, rgba(255, 255, 255, 1) 50%);
  background-size: 20px 20px;
}
.page-contact .header {
  position: absolute;
  background-color: transparent;
  box-shadow: none;
}
.header .inner {
  position: relative;
  z-index: 1;
  width: 96%;
  max-width: 96%;
  margin-left: auto;
  margin-right: 0;
}
.header--logo {
  margin-top: 30px;
}
.head_tel {
  display: flex;
  justify-content: flex-end;
  padding: 50px 46px 0 0;
}
.head_tel a {
  display: inline-block;
  text-align: center;
  color: #fff;
  line-height: 1.25;
}
.head_tel strong {
  font-size: 206%;
  letter-spacing: 0.05em;
}
.head_tel small {
  font-size: 93%;
  letter-spacing: 0.05em;
}

/* header-sm
**************************************** */
.header-sm {
  position: fixed;
  top: 0;
  left: 0;
  height: 88px;
  background-color: #fff;
  -webkit-animation: transup 0.3s linear 0s normal forwards running;
  animation: transup 0.3s linear 0s normal forwards running;
}
.header.header-sm::before {
  display: none;
}
.header-sm .header--logo {
  border-radius: 50%;
  margin-top: 0;
  padding: 18px 40px 32px;
  background-color: #fff;
}
.header-sm .gnav--list > li:nth-child(-n + 6) {
  margin-top: 0;
}
.header-sm .gnav--list .child {
  top: 24px;
}
.header.header-sm .gnav--tel {
  display: block;
}
.header-sm .head_tel {
  display: none;
}

/* --- browser size --- */
@media screen and (max-width: 1555px) {
  .header-sm .inner {
    max-width: 99.5%;
    width: 99.5%;
  }
  .header-sm .header--logo {
    padding: 18px 30px 22px;
    width: 11vw;
  }
  .header-sm .gnav--list > li:nth-child(-n + 6),
  body:not(.home) .gnav--list > li:nth-child(-n + 6) {
    margin-right: 24px;
  }
  .header-sm .gnav--list .gnav--app a,
  .header-sm .gnav--list .gnav--reserve a,
  .header-sm .gnav--list .gnav--contact a {
    width: 108px;
    height: 108px;
  }
  .gnav--tel a {
    font-size: 86%;
  }
}
@media screen and (max-width: 1373px) {
  .header-sm .gnav--list .gnav--app a,
  .header-sm .gnav--list .gnav--reserve a,
  .header-sm .gnav--list .gnav--contact a {
    width: 94px;
    height: 94px;
  }
}
@media screen and (max-width: 1329px) {
  .header-sm .gnav--list > li:nth-child(-n + 6),
  body:not(.home) .gnav--list > li:nth-child(-n + 6) {
    margin-right: 18px;
  }
  .gnav--tel a {
    padding-left: 14px;
    padding-right: 12px;
  }
}
@media screen and (max-width: 1274px) {
  .header-sm .gnav--list .gnav--app a,
  .header-sm .gnav--list .gnav--reserve a,
  .header-sm .gnav--list .gnav--contact a {
    width: 85px;
  }
}
@media screen and (max-width: 1245px) {
  .header-sm .header--logo {
    width: 13vw;
  }
  .header.header-sm .gnav--tel {
    display: none;
  }
}

@media screen and (max-width: 1260px) {
  .header .inner {
    width: 99%;
    max-width: 99%;
  }
  .header--logo {
    width: 9vw;
  }
}

/* header & header-sm SP
**************************************** */
@media screen and (max-width: 767px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    height: 56px;
    background-color: #fff;
    z-index: 9999;
  }
  .header-sm {
    -webkit-animation: none;
    animation: none;
  }
  .header::before,
  .head_tel {
    display: none;
  }
  .header .inner {
    width: 100%;
    max-width: 100%;
  }
  .header--logo,
  .header-sm .header--logo {
    position: relative;
    left: 14px;
    z-index: 1;
    width: 28%;
    margin-top: 0;
    margin-right: auto;
    padding: 12px 18px 14px;
    background-color: #fff;
    border-radius: 50%;
    text-align: center;
  }
}

/* gnav
**************************************** */
.gnav--list {
  height: 88px;
}
.gnav--list > li {
  position: relative;
}
.gnav--list > li:nth-child(-n + 6) {
  margin-top: 8px;
  margin-right: 30px;
}
body:not(.home) .gnav--list > li:nth-child(-n + 6) {
  margin-right: 24px;
}
.gnav--list li a {
  display: inline-block;
}
.gnav--list > li:nth-child(-n + 6) a:hover,
.gnav--list > li a:hover + .open_btn {
  color: #ff530f;
}
.gnav--list li .open_btn {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-right: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(45deg) translate(-1px, -3px);
  transition: all 0.2s ease-out;
}
.gnav--list li i {
  display: block;
}
.gnav--list li i.icon-icon_instagram {
  font-size: 120%;
  line-height: 1;
  transform: translateY(2px);
}
.gnav--list .gnav--app,
.gnav--list .gnav--reserve,
.gnav--list .gnav--contact {
  align-self: flex-start;
}
.gnav--list .gnav--line {
  display: none;
}
.gnav--list .gnav--app a,
.gnav--list .gnav--reserve a,
.gnav--list .gnav--contact a {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 119px;
  height: 116px;
  color: #fff;
  text-align: center;
  font-size: 93%;
  letter-spacing: 0.05em;
  font-family: ten-mincho, serif;
  font-weight: 400;
  font-style: normal;
}
.gnav--list .gnav--app a {
  background-color: #2a2a2a;
}
.gnav--list .gnav--reserve a {
  background-color: #f28841;
}
.gnav--list .gnav--contact a {
  background-color: #d43232;
}
.gnav--list .gnav--app a:hover {
  background-color: #000;
}
.gnav--list .gnav--reserve a:hover {
  background-color: #ef701b;
}
.gnav--list .gnav--contact a:hover {
  background-color: #b51e1e;
}
.gnav--list .gnav--app i {
  font-size: 260%;
  margin-bottom: 8px;
}
.gnav--list .gnav--reserve i {
  font-size: 272%;
  margin-bottom: 8px;
}
.gnav--list .gnav--contact i {
  font-size: 222%;
  margin-top: 8px;
  margin-bottom: 9px;
}
.gnav--list .current .parent,
.gnav--list .current .open_btn {
  color: #ff530f;
}
.header .gnav--tel {
  display: none;
}
.gnav--tel a {
  border-left: 2px dotted;
  padding-left: 18px;
  padding-right: 18px;
  line-height: 1.35;
}
.gnav--tel strong {
  font-size: 180%;
  letter-spacing: 0.06em;
  line-height: 1;
}
.gnav--tel small {
  letter-spacing: 0.05em;
  font-size: 88%;
}

.gnav--list .child {
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  width: 180px;
  padding-top: 12px;
  display: none;
}
.gnav--list .show .child {
  display: block;
  -webkit-animation: fadein 0.3s linear 0s normal forwards running;
  animation: fadein 0.3s linear 0s normal forwards running;
}
.gnav--list .child li:not(:last-child) {
  margin-bottom: 5px;
}
.gnav--list .child a {
  display: block;
  padding: 4px 0;
  background-color: #fff;
  border: 2px solid #2a2a2a;
  text-align: center;
  font-size: 93%;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1260px) {
  .gnav--list .gnav--app a,
  .gnav--list .gnav--reserve a,
  .gnav--list .gnav--contact a {
    width: 108px;
    height: 108px;
  }
}
@media screen and (max-width: 1188px) {
  .gnav--list > li:nth-child(-n + 6) {
    margin-right: 20px;
  }
  .gnav--list .gnav--app a,
  .gnav--list .gnav--reserve a,
  .gnav--list .gnav--contact a {
    width: 94px;
    height: 94px;
  }
}
@media screen and (max-width: 767px) {
  .gnav {
    position: fixed;
    top: 56px;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    padding: 38px 5% 5%;
    pointer-events: none;
    transition: 0.4s ease-out;
    transform: translateX(50%);
    height: calc(100% - 56px);
    background-color: #eee;
    background-image: url(../images/common/bg_beige.jpg);
    overflow-y: scroll;
  }
  .header.active .gnav {
    opacity: 1;
    pointer-events: all;
    transform: translateX(0);
  }

  /* ---gnav_btn --- */
  .gnav_btn,
  .gnav_btn-mail,
  .gnav_btn-tel {
    position: absolute;
    top: 0;
    right: 0;
    width: 56px;
    height: 56px;
    background-color: #000;
    z-index: 9999;
  }
  .gnav_btn--lines {
    position: relative;
    width: 28px;
    height: 20px;
  }
  .gnav_btn--lines span {
    transition: all 0.4s;
    box-sizing: border-box;
  }
  .gnav_btn--lines span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
  }
  .gnav_btn--lines span:nth-of-type(1) {
    top: 0;
  }
  .gnav_btn--lines span:nth-of-type(2) {
    top: 50%;
  }
  .gnav_btn--lines span:nth-of-type(3) {
    bottom: 0;
  }
  .header.active .gnav_btn--lines span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
  }
  .header.active .gnav_btn--lines span:nth-of-type(2) {
    opacity: 0;
  }
  .header.active .gnav_btn--lines span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
  }
  .gnav_btn-mail {
    right: 56px;
    background-color: #d43232;
  }
  .gnav_btn-tel {
    right: 112px;
    background-color: #f28841;
  }
  .gnav_btn-mail img,
  .gnav_btn-tel img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

  /* --- gnav--list --- */
  .gnav--list {
    flex-wrap: wrap;
    height: auto;
  }
  .gnav--list > li:nth-child(-n + 6) {
    position: relative;
    width: 100%;
    margin-top: 0;
    margin-right: 0;
    border-bottom: 1px solid #d2c4ae;
  }
  .header-sm .gnav--list > li:nth-child(-n + 6),
  body:not(.home) .gnav--list > li:nth-child(-n + 6) {
    margin-right: 0;
  }
  .gnav--list > li.pc-none {
    width: calc(100% / 2 - (8px * 1 / 2));
    margin-right: 8px !important;
    margin-bottom: 8px !important;
  }
  .gnav--list > li.shacho {
    margin-right: 0 !important;
  }
  .gnav--list a {
    display: block !important;
    padding: 16px 12px;
  }
  .gnav--list li.pc-none:not(.gnav--sm) {
    border: none;
  }
  .gnav--list li.pc-none:not(.gnav--sm)::before {
    display: none;
  }
  .gnav--list li.pc-none:not(.gnav--sm) a {
    padding: 4px 8px;
    border-radius: 28px;
    background-color: #fff;
    text-align: center;
  }
  .gnav--list li .open_btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 58px;
    border: none;
    transform: rotate(0) translate(0);
  }
  .gnav--list > li:nth-child(-n + 6)::before,
  .gnav--list li .open_btn::before,
  .gnav--list li .open_btn::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .gnav--list > li:nth-child(-n + 6)::before {
    width: 10px;
    height: 10px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    transform: rotate(-45deg);
  }
  .gnav--list li .open_btn::before,
  .gnav--list li .open_btn::after {
    content: "";
    width: 16px;
    height: 2px;
    background-color: #333;
  }
  .gnav--list li .open_btn::after {
    transition: all 0.3s ease-out;
    transform: rotate(90deg);
  }
  .gnav--list li .open_btn.close::after {
    transform: rotate(0);
  }
  .gnav--list > li:nth-child(-n + 6)::before {
    left: auto;
    right: 16px;
  }
  .gnav--list > li:nth-child(3)::before,
  .gnav--list > li:nth-child(4)::before {
    display: none;
  }
  .header-sm .gnav--list .gnav--line,
  .gnav--list .gnav--line {
    display: block;
  }
  .gnav--list .gnav--app,
  .gnav--list .gnav--reserve,
  .header-sm .gnav--list .gnav--app,
  .header-sm .gnav--list .gnav--reserve,
  .header-sm .gnav--list .gnav--line,
  .gnav--list .gnav--line,
  .header-sm .gnav--list .gnav--contact,
  .gnav--list .gnav--contact {
    width: 50%;
    margin-top: 24px;
  }
  .header-sm .gnav--list .gnav--line,
  .gnav--list .gnav--line,
  .header-sm .gnav--list .gnav--contact,
  .gnav--list .gnav--contact {
    margin-top: 0;
  }
  .gnav--list .gnav--app a,
  .gnav--list .gnav--reserve a,
  .gnav--list .gnav--line a,
  .gnav--list .gnav--contact a,
  .header-sm .gnav--list .gnav--app a,
  .header-sm .gnav--list .gnav--reserve a,
  .header-sm .gnav--list .gnav--line a,
  .header-sm .gnav--list .gnav--contact a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    width: 100%;
    height: 80px;
  }
  .gnav--list .gnav--line a {
    background-color: #06b53a;
    color: #fff;
  }
  .gnav--list li i {
    display: inline-block;
    margin-right: 13px;
    margin-bottom: 0 !important;
    font-size: 8vw !important;
  }
  .gnav--list .gnav--contact i {
    margin-top: 0;
    margin-right: 22px;
    font-size: 6.9vw !important;
  }
  .gnav--list .gnav--line img {
    width: 6.5vw;
    margin-right: 11px;
  }
  .gnav--list .gnav--app a span,
  .gnav--list .gnav--reserve a span,
  .gnav--list .gnav--contact a span {
    font-size: 111%;
  }
  .gnav--list .child {
    position: static;
    transform: translateX(0);
    width: 100%;
    padding: 14px 18px;
    background-color: #d2c4ae;
  }
  .gnav--list .child li:not(:last-child) {
    margin-bottom: 2px;
  }
  .gnav--list .child a {
    background-color: transparent;
    border: none;
    text-align: left;
    color: #584d3c;
  }
  .gnav--list .child a::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    transform: rotate(-45deg);
    margin-right: 12px;
  }

  .gnav--sp_tel {
    margin: 34px 0 24px;
    text-align: center;
  }
  .gnav--sp_tel strong {
    font-size: 9.5vw;
    letter-spacing: 0.05em;
    line-height: 1;
  }
  .gnav--sp_tel small {
    font-size: 107%;
  }
  .gnav--sp_sns_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .gnav--sp_sns_ttl::before,
  .gnav--sp_sns_ttl::after {
    content: "";
    flex: 1;
    display: inline-block;
    height: 0;
    border-bottom: 1px solid;
  }
  .gnav--sp_sns_ttl span {
    padding: 0 12px;
  }
  .gnav--sp_sns {
    font-size: 171%;
  }
  .gnav--sp_sns li {
    margin: 0 4px;
  }
  .gnav--sm-area {
    margin-right: auto;
  }
}
@media screen and (max-width: 396px) {
  .gnav--sm-area .gnav--sm a {
    padding-inline: 8px;
    font-size: 13px;
  }
}

/* ##############################################################################

    FOOTER

############################################################################## */

.footer {
  padding: 60px 0;
  position: relative;
}
.footer::before {
  content: "";
  position: absolute;
  top: 3%;
  left: 1%;
  width: 98%;
  height: 94%;
  border: 1px solid #fff;
}
.footer .inner {
  position: relative;
  z-index: 1;
}
.footer .add {
  font-size: 107%;
  line-height: 1.45;
}
.footer .tel {
  line-height: 1.35;
  color: #fff;
}
.footer .tel a {
  color: #fff;
  font-size: 253%;
  line-height: 1;
  letter-spacing: 0.05em;
}
.footer .tel small {
  font-size: 93%;
}
.footer--nav li {
  margin-bottom: 24px;
  line-height: 1;
}
.footer--nav li:not(:first-child) {
  border-left: 1px solid #fff;
}
.footer--nav li a {
  padding: 0 32px;
}
.footer--nav li a:hover,
.followus li a:hover {
  opacity: 0.5;
}
.followus li {
  font-size: 160%;
}
.followus li:first-child {
  margin-right: 8px;
}
.other_links {
  margin-bottom: 32px;
}
.other_links a:hover {
  opacity: 0.7;
}
.copyright {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .footer::before {
    display: none;
  }
  .footer--logo img {
    max-width: 34%;
  }
}

/* pagetop
*************************************************** */
.pagetop,
.linelink,
.instalink {
  width: 56px;
  height: 56px;
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 999;
  background-color: #000;
  border-radius: 50%;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
}
.pagetop:hover,
.linelink:hover,
.instalink:hover {
  transform: translateY(-4px);
}
.pagetop::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: translateY(2px) rotate(-45deg);
}
.linelink,
.instalink {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.linelink.sp-none,
.instalink.sp-none {
  display: none !important;
}
.linelink {
  right: 166px;
  background-color: #00b900;
}
.instalink {
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  overflow: hidden;
  right: 94px;
  font-size: 131%;
}
.instalink::before {
  content: "";
  position: absolute;
  top: 23px;
  left: -18px;
  width: 60px;
  height: 60px;
  background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
}
.instalink i {
  position: relative;
}
.tellink {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .pagetop {
    display: none;
  }
  .linelink,
  .instalink {
    width: 46px;
    height: 46px;
    bottom: 18px;
  }
  .linelink {
    right: 65px;
  }
  .instalink {
    right: 10px;
  }
  .tellink {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding-top: 0px;
    font-weight: bold;
    position: fixed;
    left: 14px;
    bottom: 18px;
    width: 45%;
    background-color: #f7cb42;
    z-index: 999;
    padding: 8px 18px;
    border-radius: 4px;
    text-align: center;
    font-size: 108%;
    height: 50px;
    white-space: nowrap;
  }
  .tellink i {
    margin-right: 4px;
  }
  .line-btn {
    right: 14px;
    margin-left: auto;
    background-color: #07c755;
    color: #fff;
  }
  .reserve-btn img {
    margin-right: 8px;
    margin-bottom: 4px;
  }
}

/* ##############################################################################

    INDEX

############################################################################## */

/* hero
*************************************************** */
.hero {
  position: relative;
  margin-top: -106px;
}
.hero .txt {
  position: absolute;
  top: 13%;
  left: 5vw;
  width: 814px;
  z-index: 110;
}
.hero--txt {
  width: 492px;
  margin-bottom: 24px;
  font-family: "Shuei MaruGo L", sans-serif;
}
.hero--ttl {
  position: relative;
}
.hero--ttl .en {
  position: absolute;
  top: -90px;
  right: 0;
}
.hero .txt .heading-1 {
  position: relative;
  z-index: 1;
}
#modal_btn {
  color: #ababab;
  cursor: pointer;
  transition: all 0.3s ease-out;
}
#modal_btn img {
  margin-right: 6px;
  vertical-align: middle;
  transform: translateY(-2px);
}
#modal_btn:hover {
  opacity: 0.5;
}
#modal_content {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1001;
  -webkit-animation: fadein 0.3s linear 0s normal forwards running;
  animation: fadein 0.3s linear 0s normal forwards running;
}
#modal_content.show {
  display: block;
}
.modal_content--inner {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(-50%);
  width: 1020px;
  background-color: #fff;
  padding: 90px 24px;
}
.modal_content--inner::before,
.modal_content--inner::after {
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  width: 100%;
  height: 21px;
  background-color: transparent;
  background-image: linear-gradient(90deg, transparent 50%, #ececec 50%);
  background-size: 20px 20px;
}
.modal_content--inner::after {
  top: auto;
  bottom: 12px;
}
#modal_content .heading-1 {
  width: 66%;
  margin: 0 auto 40px;
  font-size: 220%;
  text-align: center;
}
#modal_content .heading-1 span::before,
#modal_content .heading-1 span::after {
  content: "";
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  height: 1px;
  background-color: #2a2a2a;
}
#modal_content .heading-1 span::before {
  margin-bottom: 24px;
}
#modal_content .heading-1 span::after {
  margin-top: 24px;
}
#modal_content a {
  display: inline-block;
  padding: 14px 80px;
  border: 1px solid;
}
#modal_content a:hover {
  background-color: #2a2a2a;
  color: #fff;
}
#modal_close {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background-color: #2a2a2a;
  color: #fff;
  text-align: center;
  font-size: 370%;
  line-height: 96px;
  cursor: pointer;
  transition: all 0.4s ease-out;
}
#modal_close:hover {
  background-color: #000;
}
.hero #main_slide {
  position: relative;
  width: 58%;
  height: 784px;
}
.hero #main_slide::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  border: 1px solid #fff;
  z-index: 100;
}
.hero #main_slide .slick-track {
  height: 784px;
}
.hero #main_slide li {
  display: block;
  widows: 100%;
  height: 100%;
}
.hero #main_slide .slide1 {
  background-image: url(../images/main_slide_img1.jpg);
}
.hero #main_slide .slide2 {
  background-image: url(../images/main_slide_img2.jpg);
}
.hero #main_slide .slide3 {
  background-image: url(../images/main_slide_img3.jpg);
}
.hero #main_slide .slide4 {
  background-image: url(../images/main_slide_img4.jpg);
}
.hero #main_slide .slide5 {
  background-image: url(../images/main_slide_img5.jpg);
}
.hero #main_slide .slick-dots {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.hero #main_slide .slick-dots li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
}
.hero #main_slide .slick-dots button {
  -webkit-appearance: none;
  border: none;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  font-size: 0;
  background-color: #c91a1a;
  opacity: 1;
}
.hero #main_slide .slick-dots .slick-active button {
  -webkit-animation: sliderNav 5.8s linear 0s normal forwards running;
  animation: sliderNav 5.8s linear 0s normal forwards running;
}
.hero #thumbnail_slider {
  width: 42%;
  transform: translateY(-44px);
}
.hero #thumbnail_slider .slick-track {
  left: -200%;
}
.hero #thumbnail_slider .slick-arrow {
  position: absolute;
  bottom: -30px;
  z-index: 999;
  -webkit-appearance: none;
  display: block;
  border: none;
  padding: 0;
  background-color: transparent;
  font-size: 0;
  width: 10px;
  height: 10px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  cursor: pointer;
  outline: 0;
  cursor: pointer;
}
.hero #thumbnail_slider .slick-prev {
  left: 3%;
  transform: rotate(135deg);
}
.hero #thumbnail_slider .slick-next {
  right: 3%;
  transform: rotate(-45deg);
}
.hero #thumbnail_slider .slick-counter {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -40px;
  text-align: center;
  font-size: 107%;
  font-family: "garamond-fb-display", sans-serif;
}
.hero #thumbnail_slider .slick-counter span::before {
  content: "0";
}
.sdgs_bnr {
  background-color: #fff;
  max-width: 1020px;
  width: 100%;
  margin-inline: auto;
}
.sdgs_bnr a {
  width: 100%;
  display: block;
}
.online_bnr img,
.sdgs_bnr img {
  transition: all 0.3s ease-out;
}
.online_bnr a:hover img,
.sdgs_bnr a:hover img {
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  .hero {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 0;
  }
  .hero .txt,
  .hero--txt {
    width: 100%;
  }
  .hero .txt {
    position: static;
    width: 90%;
    margin: 56px auto 0;
  }
  .hero .txt .heading-1 {
    font-size: 5.6vw;
  }
  .hero--ttl .en {
    display: none;
  }
  .hero #main_slide,
  .hero #main_slide li {
    width: 100%;
    height: 384px;
    background-position: center;
    background-size: cover;
  }
  .hero #main_slide .slick-arrow,
  .hero #thumbnail_slider {
    display: none !important;
  }
  .hero #main_slide .slick-dots li {
    height: 5px;
  }
  .hero #main_slide .slick-counter {
    position: absolute;
    right: 12px;
    bottom: -40px;
    text-align: center;
    font-size: 120%;
    font-family: "garamond-fb-display", sans-serif;
  }
  .hero #main_slide .slick-counter span::before {
    content: "0";
  }

  .modal_content--inner {
    top: 56px;
    transform: translateY(0);
    width: 100%;
    height: calc(100% - 56px);
    background-color: #ebebeb;
    padding: 50px 24px;
    overflow-y: scroll;
  }
  .modal_content--inner::before,
  .modal_content--inner::after {
    display: none;
  }
  #modal_content .heading-1 {
    width: 100%;
    margin: 0 auto 30px;
    font-size: 6.8vw;
    line-height: 1.3;
  }
  #modal_content .heading-1 span::before {
    margin-bottom: 18px;
  }
  #modal_content .heading-1 span::after {
    margin-top: 16px;
  }
  .modal_content--inner h4 {
    margin-bottom: 18px;
  }
  .modal_content--inner h4 + p {
    margin-bottom: 24px;
  }
  #modal_close {
    position: static;
    display: block;
    width: 248px;
    height: auto;
    margin: 12px auto 0;
    padding: 14px 8px;
    border-radius: 0;
    font-size: 205%;
    line-height: 1;
  }
  #modal_close::after {
    content: "閉じる";
    margin-left: 8px;
    font-size: 60%;
    transform: translateY(-5px);
    display: inline-block;
  }
  #modal_btn {
    text-indent: -1.75em;
    padding-left: 1.75em;
    line-height: 1.5;
  }
}

/* home_btn
*************************************************** */
.home_btn {
  position: relative;
  padding-block: 100px;
}
.home_btn--area .btn:after {
  display: none;
}
.home_btn .more_btn {
  background-color: #fff;
  border: 1px solid #2a2a2a;
}
.home_btn .more_btn:hover {
  opacity: 0.5;
  color: #2a2a2a;
}
.home_btn .more_btn::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  border: 10px solid transparent;
  transform: rotate(45deg);
}
.more_btn--txt {
  display: block;
  width: fit-content;
  padding: 8px 24px;
  margin-inline: auto;
  margin-top: 8px;
  font-family: futura-pt, sans-serif;
  font-weight: bold;
  font-size: 0.8em;
  color: #fff;
  line-height: 1;
  border-radius: 100px;
}
.more_btn--img {
  width: 100%;
  margin-right: 16px;
  min-width: 50px;
}
.more_btn--ttl {
  width: fit-content;
  text-align: center;
  font-size: 1.1em;
  white-space: nowrap;
}
.btn-order .more_btn--txt {
  background-color: #f28841;
}
.btn-order::before {
  border-left: 10px solid #f28841 !important;
}
.btn-reform .more_btn--txt {
  background-color: #d43232;
}
.btn-reform::before {
  border-left: 10px solid #d43232 !important;
}
.btn-land .more_btn--txt {
  background-color: #2a2a2a;
}
.btn-land::before {
  border-left: 10px solid #2a2a2a !important;
}
@media screen and (max-width: 767px) {
  .home_btn {
    padding-block: 24px 40px;
  }
  .home_btn .more_btn {
    height: auto;
    padding-block: 16px;
  }
  .more_btn--img {
    width: 80px;
    margin-right: 8px;
    text-align: end;
  }
  .btn-order .more_btn--img img {
    padding-right: 8px;
  }
  .btn-land .more_btn--img img {
    margin-right: 8px;
  }
}

/* home_banner
*************************************************** */
.home_banner {
  position: relative;
  padding-block: 100px;
}
@media screen and (max-width: 767px) {
  .home_banner {
    padding-block: 40px;
  }
}

/* home_feature
*************************************************** */
.home_feature {
  padding-bottom: 80px;
}
.home_feature--content li {
  position: relative;
  width: 90%;
  max-width: 1620px;
  justify-content: flex-end;
}
.home_feature li:nth-child(odd) {
  margin-left: auto;
}
.home_feature li:nth-child(even) {
  margin-right: auto;
}
.home_feature--content li:not(:last-child) {
  margin-bottom: 104px;
}
.home_feature--content .txt {
  position: relative;
  z-index: 2;
  flex: 1;
  max-width: 500px;
  padding-top: 38px;
}
.home_feature--content .heading-1 {
  position: relative;
  margin-bottom: 32px;
  line-height: 1.5;
  font-size: 213%;
}
.home_feature--content .heading-1::after {
  content: "";
  display: block;
  margin-top: 32px;
  width: 40px;
  height: 1px;
  background-color: #000;
}
.home_feature--content .heading-1 .num {
  position: absolute;
  top: -55px;
  left: -72px;
}
.home_feature--content li:nth-child(1) .heading-1 .num {
  top: -55px;
  left: -72px;
}
.home_feature--content li:nth-child(2) .heading-1 .num {
  top: -35px;
  left: -100px;
}
.home_feature--content .heading-1 strong {
  position: relative;
  font-weight: normal;
}
.home_feature .img {
  position: relative;
  flex: 1;
  width: 60%;
  max-width: 1056px;
}
.home_feature li:nth-child(odd) .img {
  margin-left: 4%;
}
.home_feature li:nth-child(even) .img {
  margin-right: 4%;
}
.home_feature .img img {
  position: relative;
  z-index: 1;
  border-top: 7px solid #fff;
  border-bottom: 7px solid #fff;
}
.home_feature li:nth-child(odd) .img img {
  border-left: 7px solid #fff;
}
.home_feature li:nth-child(even) .img img {
  border-right: 7px solid #fff;
}
.home_feature--content li:not(:last-child) .img::before {
  content: "";
  position: absolute;
  bottom: -320px;
  height: 468px;
  border-right: 4px dotted #fff;
  transform: rotate(64deg);
}
.home_feature--content li:nth-child(odd) .img::before {
  left: 0;
}
.home_feature--content li:nth-child(even) .img::before {
  right: 0;
  transform: rotate(-64deg);
}

@media screen and (max-width: 1400px) {
  .home_feature--content li {
    width: 96%;
  }
}
@media screen and (max-width: 1299px) {
  .home_feature--content li:not(:last-child) {
    margin-bottom: 54px;
  }
}
@media screen and (max-width: 767px) {
  .home_feature .section_ttl .deco {
    top: -54px;
  }
  .home_feature .img {
    width: 100%;
  }
  .home_feature--content li {
    width: 88%;
  }
  .home_feature--content li:not(:last-child) {
    margin-bottom: 66px;
  }
  .home_feature li:nth-child(odd),
  .home_feature li:nth-child(even) {
    margin-left: auto;
    margin-right: auto;
  }
  .home_feature--content .txt {
    padding-top: 18px;
    margin-bottom: 42px;
  }
  .home_feature li:nth-child(odd) .img {
    margin-left: 0;
  }
  .home_feature li:nth-child(even) .img {
    margin-right: 0;
  }
  .home_feature--content li .img::before {
    display: none;
  }
  .home_feature li:nth-child(even) .img img,
  .home_feature li:nth-child(odd) .img img {
    border-top: 4px solid #fff;
    border-left: 4px solid #fff;
    border-right: 4px solid #fff;
    border-bottom: 4px solid #fff;
  }
  .home_feature--content .heading-1 {
    margin-bottom: 24px;
    font-size: 6vw;
  }
  .home_feature--content .heading-1::after {
    margin-top: 16px;
  }
  .home_feature--content li:nth-child(1) .heading-1 .num,
  .home_feature--content li:nth-child(2) .heading-1 .num,
  .home_feature--content li:nth-child(3) .heading-1 .num,
  .home_feature--content li:nth-child(4) .heading-1 .num {
    left: 0;
    opacity: 0.5;
  }
  .home_feature--content li:nth-child(2) .txt-lg {
    margin-bottom: 22px;
  }
}

/* home_workmap
*************************************************** */
.home_workmap {
  position: relative;
  padding-top: 24px;
  padding-bottom: 37px;
}
.home_workmap::before {
  content: "";
  position: absolute;
  top: 0.2%;
  left: 1%;
  width: 98%;
  height: 98.4%;
  border: 1px solid #fff;
  pointer-events: none;
}
.home_workmap .inner {
  position: relative;
  z-index: 10;
  width: 96%;
  max-width: 96%;
  padding-top: 150px;
  padding-bottom: 80px;
  background-image: url(../images/common/bg_bitter.jpg);
}
.home_workmap--inner_sm {
  width: 1020px;
  margin: 0 auto;
}
.home_workmap .section_ttl {
  position: relative;
}
.home_workmap .section_ttl::before {
  content: "";
  position: absolute;
  left: -40px;
  bottom: -20px;
  width: 337px;
  height: 225px;
  background-repeat: no-repeat;
  background-image: url(../images/workmap_hukidashi.png);
}
.workmap_content li:not(.is-show) {
  display: none;
}
.workmap_content iframe {
  border: 10px solid #fff;
}
.workmap_tab li {
  position: relative;
  display: inline-block;
  width: 200px;
  height: 48px;
  line-height: 48px;
  background-color: #2a2a2a;
  border-radius: 28px;
  text-align: center;
  cursor: pointer;
  color: #fff;
  font-family: "Shuei MaruGo B", sans-serif;
  transition: all 0.2s ease-out;
}
.workmap_tab li:hover {
  background-color: #000;
}
.workmap_tab li.is-active {
  background-color: #ff530f;
}
.workmap_tab li.is-active::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  margin: auto;
  width: 10px;
  border: 7px solid transparent;
  border-bottom: 8px solid #ff530f;
}
.workmap_tab li:not(:last-child) {
  margin-right: 18px;
}
.home_workmap .heading-3 img {
  transform: translateY(-3px);
}
.home_workmap--info {
  padding: 32px 22px 32px 8px;
  border: 2px solid;
  background-color: #fff;
}
.home_workmap--info li {
  width: 33.3%;
  text-align: center;
  margin-bottom: 0;
}
.home_workmap--info li:not(:last-child) {
  border-right: 2px dotted;
}
.home_workmap--info span {
  font-size: 113%;
  font-family: "Shuei MaruGo B", sans-serif;
}
.home_workmap--info strong {
  font-size: 253%;
}

@media screen and (max-width: 767px) {
  .home_workmap {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .home_workmap::before,
  .home_event::before {
    display: none;
  }
  .home_workmap .inner {
    width: 100%;
    max-width: 100%;
  }
  .home_workmap .section_ttl .deco {
    top: -65px;
  }
  .home_workmap--inner_sm {
    width: 90%;
  }
  .home_workmap .section_ttl::before {
    left: 0;
    bottom: 80px;
    width: 149px;
    height: 114px;
    background-size: cover;
    background-image: url(../images/workmap_hukidashi_sp.png);
  }
  .workmap_tab li:not(:last-child) {
    margin-right: 9px;
  }
  .home_workmap--info {
    padding: 12px 22px;
  }
  .home_workmap--info li {
    width: 100%;
  }
  .home_workmap--info li:not(:last-child) {
    border-right: 0;
    border-bottom: 2px dotted;
  }
}

/* home_event
*************************************************** */
.home_event {
  position: relative;
  padding-top: 184px;
  padding-bottom: 128px;
}
.home_event::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1%;
  bottom: 0;
  margin: auto;
  width: 98%;
  height: 96.6%;
  border: 1px solid #fff;
}
.home_event .inner,
.home_estate .inner {
  position: relative;
  z-index: 1;
  max-width: 1520px;
}
.home_event .event_list .post--img {
  height: 330px;
  background-position: top 14% center;
}
#event_slide .slick-list,
#estate_slide .slick-list {
  padding: 0 20px;
}
#event_slide .slick-track,
#estate_slide .slick-track {
  margin-left: 20px;
}
#event_slide .slick-track {
  display: flex;
}
#event_slide .slick-slide,
#estate_slide .slick-slide {
  margin-right: 40px;
  min-height: auto;
  height: auto;
}
#event_slide .slick-arrow,
#estate_slide .slick-arrow {
  position: absolute;
  top: 45%;
  -webkit-appearance: none;
  background-color: transparent;
  border: none;
  font-size: 0;
  width: 42px;
  height: 42px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  z-index: 99;
  outline: 0;
  cursor: pointer;
}
#estate_slide .slick-arrow {
  border-right-color: #000;
  border-bottom-color: #000;
}
#event_slide .slick-prev,
#estate_slide .slick-prev {
  left: 0;
  transform: rotate(135deg);
}
#event_slide .slick-next,
#estate_slide .slick-next {
  right: 0;
  transform: rotate(-45deg);
}

@media screen and (max-width: 767px) {
  .home_event {
    padding-top: 134px;
    padding-bottom: 68px;
  }
  .home_event .inner {
    width: 100%;
  }
  .home_event .section_ttl .deco {
    top: -68px;
  }
  .home_estate .section_ttl .deco {
    top: -58px;
  }
  #event_slide .slick-list,
  #estate_slide .slick-list {
    padding: 0 30px;
    margin-left: 0;
  }
  #event_slide .slick-track,
  #estate_slide .slick-track {
    margin-left: 0;
  }
  #event_slide .slick-slide,
  #estate_slide .slick-slide {
    margin: 0 10px;
  }
  #event_slide .slick-arrow,
  #estate_slide .slick-arrow {
    background-color: #333;
    border-radius: 50%;
    border-right: none;
    border-bottom: none;
  }
  #event_slide .slick-arrow::before,
  #estate_slide .slick-arrow::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
  #event_slide .slick-prev,
  #estate_slide .slick-prev {
    left: 2%;
  }
  #event_slide .slick-next,
  #estate_slide .slick-next {
    right: 2%;
  }
  .home_event .event_list .post--img,
  .home_estate .posts-estate .post--img {
    height: 258px;
  }
  .event_list .post .heading-2,
  .home_estate .posts-estate .post .heading-2 {
    padding-bottom: 14px;
    margin-bottom: 16px;
    font-size: 134%;
  }
  #event_slide + p,
  #estate_slide + p {
    width: 86%;
    margin: 0 auto;
  }
}

/* home_estate
*************************************************** */
.home_estate {
  position: relative;
  padding: 20px;
}
.home_estate--frame {
  padding-top: 180px;
  padding-bottom: 80px;
}
.home_estate::before,
.home_estate::after,
.home_estate--frame::before,
.home_estate--frame::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background-color: #ede3d2;
  border-radius: 50%;
}
.home_estate::before,
.home_estate::after {
  top: 40px;
}
.home_estate--frame::before,
.home_estate--frame::after {
  bottom: 40px;
}
.home_estate::before,
.home_estate--frame::before {
  left: 40px;
}
.home_estate::after,
.home_estate--frame::after {
  right: 40px;
}
.home_estate .posts-estate .post--img,
.home_estate .posts-estate .post--txtarea {
  width: 100%;
}
.home_estate .posts-estate .post--img {
  height: 20vw;
  max-height: 358px;
}
.home_estate .posts-estate .post--txtarea {
  padding: 38px 7%;
}
.home_estate .posts-estate .post--txtarea .heading-3 {
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(152, 152, 152, 0.4);
  font-size: 153%;
}
#estate_slide .slick-dots button {
  background-color: #fff !important;
}

@media screen and (max-width: 767px) {
  .home_estate {
    padding: 0;
  }
  .home_estate .inner {
    width: 100%;
  }
  .home_estate--frame {
    padding-top: 100px;
    padding-bottom: 50px;
  }
  .home_estate::before,
  .home_estate::after,
  .home_estate--frame::before,
  .home_estate--frame::after {
    display: none;
  }
  .home_estate .posts-estate .post--img {
    height: 258px;
  }
  .home_estate .posts-estate .post--txtarea {
    padding: 22px 5%;
  }
  .home_estate .posts-estate .post--txtarea .heading-3 {
    padding-bottom: 13px;
    font-size: 138%;
  }
}

/* home_works
*************************************************** */
.home_works {
  position: relative;
  padding-top: 120px;
}

.home_works--list {
  display: flex;
  flex-wrap: wrap;
}
.home_works--list li {
  position: relative;
  width: 25%;
  height: 480px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.home_works--list li:nth-child(3),
.home_works--list li:nth-child(4),
.home_works--list li:nth-child(5) {
  width: 50%;
}
.home_works--list li:nth-child(3) {
  height: 960px;
}
.home_works--list li:nth-child(4),
.home_works--list li:nth-child(6),
.home_works--list li:nth-child(7) {
  margin-top: -480px;
}
.home_works--list li a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
}
.home_works--list li .txt {
  position: relative;
  color: #fff;
  padding: 28px;
  transition: all 0.4s ease-out;
  opacity: 0;
  pointer-events: none;
}
.home_works--list li:hover a,
.home_works--list li:hover .txt {
  opacity: 1;
}
.home_works--list li:nth-child(3) .txt,
.home_works--list li:nth-child(4) .txt,
.home_works--list li:nth-child(5) .txt {
  width: 70%;
}
.home_works--list li .txt .heading-2 {
  margin-bottom: 8px;
  line-height: 1.35;
  color: #fff;
}
.home_works .btn {
  max-width: 100%;
}
.home_works .btn::after {
  position: static;
  transform: rotate(45deg) translate(2px, -2px);
}

@media screen and (max-width: 767px) {
  .home_works {
    padding-top: 110px;
  }
  .home_works .section_ttl .deco {
    top: -68px;
  }
  .home_works--list li {
    width: 100%;
    height: 220px;
  }
  .home_works--list li:nth-child(3) {
    width: 100%;
    height: 220px;
  }
  .home_works--list li:nth-child(n + 4) {
    display: none;
  }
  .home_works--list li a {
    opacity: 0;
  }
  .home_works--list li .txt {
    display: none;
  }
  .home_works--list li:nth-child(3) .txt {
    width: 100%;
  }
}

/* home_voice
*************************************************** */
.home_voice {
  padding-top: 150px;
  padding-bottom: 80px;
  overflow-x: hidden;
}
#voice_slide .slick-list {
  overflow: visible;
}
#voice_slide .slick-slide {
  width: 360px !important;
  margin-right: 40px;
}
#voice_slide .slick-track {
  display: flex;
  margin-left: 20px;
}
#event_slide .slick-dots,
#estate_slide .slick-dots,
#voice_slide .slick-dots {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
#event_slide .slick-dots li,
#estate_slide .slick-dots li,
#voice_slide .slick-dots li {
  margin: 0 4px;
}
#event_slide .slick-dots button,
#estate_slide .slick-dots button,
#voice_slide .slick-dots button {
  -webkit-appearance: none;
  display: block;
  padding: 0;
  border: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #d0d0d0;
  font-size: 0;
}
#event_slide .slick-dots .slick-active button,
#estate_slide .slick-dots .slick-active button,
#voice_slide .slick-dots .slick-active button {
  background-color: #2a2a2a !important;
}

@media screen and (max-width: 767px) {
  .home_voice {
    padding-top: 100px;
    padding-bottom: 60px;
  }
  .home_voice .section_ttl .deco {
    top: -50px;
  }
}

/* home_posts
*************************************************** */
.home_posts {
  position: relative;
  padding-top: 100px;
  padding-bottom: 250px;
}
.home_posts-banner {
  padding-bottom: 100px !important;
}
.home_posts::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1%;
  bottom: 0;
  margin: auto;
  width: 98%;
  height: calc(100% - 40px);
  border: 1px solid #fff;
}
.home_posts .inner {
  position: relative;
  z-index: 1;
}
.home_posts .section_ttl .jp {
  font-size: 213%;
}
.home_posts .section_ttl .en {
  margin-top: 6px;
  color: #ababab;
}
.home_posts .home_blog {
  width: 48%;
  max-width: 702px;
}
.home_posts .posts {
  padding: 46px 18px;
  border-top: 2px solid;
  border-bottom: 2px solid;
}
.home_posts .more {
  font-size: 107%;
}
.home_posts .more:hover {
  color: #ff530f;
}

@media screen and (max-width: 767px) {
  .home_posts {
    padding-top: 40px;
    padding-bottom: 160px;
  }
  .home_posts::before {
    display: none;
  }
  .home_posts .home_blog {
    width: 100%;
  }
  #home_shacho {
    margin-bottom: 40px;
  }
  .home_posts .posts {
    padding: 0 8px 0;
    border-top: none;
    border-bottom: none;
  }
  .home_posts .more {
    font-size: 113%;
  }
  .kids_bnr {
    width: 92%;
  }
  .kids_bnr img {
    margin-left: -10px;
  }
}

/* home_bnr
**************************************** */
.home_bnr {
  position: relative;
  padding-top: 104px;
  padding-bottom: 40px;
}
.home_bnr::before {
  content: "";
  position: absolute;
  top: 25px;
  left: 0;
  width: 100%;
  height: 21px;
  background-color: transparent;
  background-image: linear-gradient(90deg, transparent 50%, rgba(255, 255, 255, 1) 50%);
  background-size: 20px 20px;
}
@media screen and (max-width: 767px) {
  .home_bnr {
    padding-top: 40px;
    padding-bottom: 0;
  }
  .home_bnr::before {
    display: none;
  }
  .home_bnr > .inner {
    width: 72%;
  }
}

/* ##############################################################################

    PAGE

############################################################################## */

/* flow
*************************************************** */
.page-flow .main_column {
  padding-bottom: 80px;
}
.flow-lists {
  counter-reset: num 0;
}
.flow-list {
  position: relative;
  border: solid 1px #000;
  counter-increment: num;
}
.flow-list:not(:last-child) {
  margin-bottom: 80px;
}
.flow-list:not(:last-child)::before,
.flow-list:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
}
.flow-list:not(:last-child)::before {
  width: 1px;
  height: 24px;
  background: #0c0431;
  bottom: -52px;
}
.flow-list:not(:last-child)::after {
  width: 17px;
  height: 17px;
  bottom: -50px;
  border-top: 1px solid #0c0431;
  border-right: 1px solid #0c0431;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}
.flow-list .imgarea {
  width: 320px;
  background-size: cover;
  background-position: center;
}
#flow-01 .imgarea {
  background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY);
}
#flow-02 .imgarea {
  background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY);
}
#flow-03 .imgarea {
  background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY);
}
#flow-04 .imgarea {
  background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY);
}
#flow-05 .imgarea {
  background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY);
}
.flow-list .txtarea {
  width: calc(100% - 320px);
  padding: 64px;
}
.flow-list .txtarea h3::before {
  content: counter(num, decimal-leading-zero) ". ";
}

/* --- fixside --- */
.fixside li {
  counter-increment: num;
}
.fixside a::before {
  content: counter(num, decimal-leading-zero) ". ";
}
.fixside a.active {
  color: #de6800;
  transform: translateX(8px);
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .page-flow .main_column,
  .page-flow .side_column {
    padding-bottom: 40px;
  }
  .flow-list .imgarea {
    width: 100%;
    height: 200px;
  }
  .flow-list .txtarea {
    width: 100%;
    padding: 24px;
  }
}

/* onealls
*************************************************** */
.onealls_trouble {
  padding-bottom: 180px;
}
.onealls_trouble .section_ttl-deco .deco {
  top: -160px;
  width: 98%;
}
.onealls_trouble--list {
  position: relative;
  padding: 64px 9% 38px;
  background-image: url(../images/common/bg_gray.jpg);
  font-size: 160%;
}
.onealls_trouble--list li {
  margin-bottom: 28px;
  text-indent: -41px;
  padding-left: 41px;
  line-height: 1.15;
}
.onealls_trouble--list li::before {
  content: url(../images/icon_check.png);
  vertical-align: middle;
  margin-right: 8px;
}
.onealls_trouble--list li::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background-color: #f1f1f3;
}
.onealls_trouble--list li:nth-child(1)::after,
.onealls_trouble--list li:nth-child(2)::after {
  top: 16px;
}
.onealls_trouble--list li:nth-child(3)::after,
.onealls_trouble--list li:nth-child(4)::after {
  bottom: 16px;
}
.onealls_trouble--list li:nth-child(1)::after,
.onealls_trouble--list li:nth-child(3)::after {
  left: 16px;
}
.onealls_trouble--list li:nth-child(2)::after,
.onealls_trouble--list li:nth-child(4)::after {
  right: 16px;
}
.onealls_about {
  padding-top: 260px;
  padding-bottom: 120px;
}
.onealls_about .section_ttl-deco .deco {
  top: -153px;
  width: 93%;
}
.onealls_about #modal_btn span {
  display: inline-block;
  border: 1px solid #2a2a2a;
  border-radius: 28px;
  padding: 12px 21px 12px 24px;
  color: #2a2a2a;
  font-family: "ten-mincho", serif;
  font-size: 113%;
}
.onealls_about #modal_btn span::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg) translateY(-4px);
  margin-left: 20px;
}
.onealls_about--list > li:not(:last-child) {
  margin-bottom: 40px;
}
.onealls_about--list .img {
  flex: 1;
  margin-right: 85px;
}
.onealls_about--list .txt {
  flex: 1;
}
.onealls_about--list .heading-1 {
  position: relative;
  margin-bottom: 32px;
  font-size: 246%;
}
.onealls_about--list .heading-1 i {
  position: absolute;
  top: -60px;
  left: -93px;
}
.onealls_about--list li:nth-child(2) .heading-1 i {
  top: -14px;
  left: -130px;
}
.onealls_about--list li:nth-child(3) .heading-1 i {
  top: -94px;
  left: -120px;
}
.onealls_about--list .heading-1 span {
  display: inline-block;
  width: 54px;
  height: 54px;
  padding-top: 2px;
  background-color: #fff;
  margin-right: 3px;
  text-align: center;
}
.onealls_band {
  height: 520px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/onealls/onealls_band.jpg);
}
.onealls_system {
  padding-top: 200px;
  padding-bottom: 100px;
}
.onealls_system .section_ttl-deco .deco {
  top: -127px;
  width: 91%;
}
.onealls_system--list {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.onealls_system--list li {
  position: relative;
  padding: 38px;
  align-items: center;
}
.onealls_system--list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border: 1px solid #cfc2ae;
}
.onealls_system--list .img {
  position: relative;
}
.onealls_system--list .img .num {
  position: absolute;
  top: -32px;
  left: -18px;
  font-family: "futura-pt", sans-serif;
  font-size: 173%;
  color: #8b8070;
}
.onealls_system--list .img img {
  border-radius: 50%;
}
.onealls_system--list .txt {
  flex: 1;
  margin-left: 18px;
}
.onealls_system--list .txt .heading-2 {
  margin-bottom: 10px;
  line-height: 1.3;
}
.onealls_system--list .txt p {
  line-height: 1.65;
}
.onealls_feature {
  position: relative;
  border: 20px solid #e9ddc7;
}
.onealls_feature--wrap {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  border: 18px solid #e9ddc7;
  box-shadow: 0 0 0 1px #fff;
  padding-bottom: 72px;
}
.onealls_feature::before,
.onealls_feature--wrap::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  border-radius: 50%;
}
.onealls_feature::before {
  top: -83px;
  width: 262px;
  height: 262px;
  border: 1px solid #fff;
}
.onealls_feature--wrap::before {
  top: -100px;
  width: 260px;
  height: 260px;
  border: 18px solid #e9ddc7;
  background-image: url(../images/common/bg_bitter.jpg);
}
.onealls_feature .section_ttl {
  position: relative;
  background-image: url(../images/common/bg_bitter.jpg);
}
.onealls_feature .section_ttl i {
  transform: translateY(-36px);
}
.onealls_feature .flex-col2 > * {
  margin-right: 5vw;
  width: 38vw;
}
.onealls_feature .flex-col2 .img {
  flex: 1;
}
.onealls_feature .flex-col2 .txt {
  max-width: 506px;
}
.onealls_feature .heading-1 {
  margin-bottom: 32px;
  line-height: 1;
}
.onealls_feature .heading-1 span {
  background-color: #fff;
  padding: 14px 18px 0;
  display: inline-block;
  line-height: 1;
  letter-spacing: 0.07em;
}
.onealls_feature .heading-1 span + br + span {
  padding-bottom: 14px;
}
.onealls_feature--compare {
  border: 2px solid #2a2a2a;
  background-color: #568f6e;
  padding: 52px 85px 94px;
  margin-bottom: 80px;
}
.onealls_feature--compare .heading-1 i {
  display: block;
  margin-bottom: 12px;
}

.compare_table {
  position: relative;
  margin-bottom: 50px;
}
.compare_table::before {
  content: "";
  position: absolute;
  top: -68px;
  right: -40px;
  width: 110px;
  height: 110px;
  background-repeat: no-repeat;
  background-image: url(../images/onealls/onealls_feature_spark.png);
}
.compare_table thead th {
  border-left: 6px solid #568f6e;
  border-right: 6px solid #568f6e;
  border-radius: 10px 10px 0 0;
  vertical-align: middle;
  line-height: 1.4;
  font-size: 113%;
  color: #fff;
  padding: 29px 8px;
}
.compare_table thead th:not(:first-child) {
  background-color: #043f55;
}
.compare_table thead th:nth-child(4) {
  background-color: #ff5c0c;
}
.compare_table tbody th,
.compare_table tbody td {
  width: 240px;
}
.compare_table tbody th {
  border-radius: 8px 14px 8px 4px;
  background-color: #36704f;
  color: #fff;
  padding: 38px 8px;
  font-size: 107%;
}
.compare_table tbody tr:first-child th {
  border-radius: 4px 8px 14px 9px;
  border-bottom: 6px solid #568f6e;
}
.compare_table tbody td {
  border-left: 6px solid #568f6e;
  border-right: 6px solid #568f6e;
  background-color: #fff;
  text-align: center;
  font-size: 113%;
}
.compare_table tbody tr:first-child td {
  padding-bottom: 0;
}
.compare_table tbody tr:first-child td::after {
  content: "";
  display: block;
  margin: 38px auto 0;
  width: 72%;
  border-bottom: 4px dotted #b9a687;
}
.compare_tips {
  width: 100%;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}
.compare_tips .ttl {
  margin-bottom: 8px;
  font-size: 120%;
  color: #fff;
}
.compare_tips .ttl img {
  vertical-align: sub;
  margin-right: 6px;
}
.compare_tips--content {
  padding: 45px;
  border: 1px solid #fff;
}
.compare_tips--content h4 {
  color: #fff;
  font-size: 107%;
}
.compare_tips--content p {
  color: #ffde29;
}
.onealls_faq {
  padding-top: 200px;
  padding-bottom: 200px;
}
.onealls_faq {
  position: relative;
  padding-top: 258px;
  padding-bottom: 140px;
}
.onealls_faq::before,
.onealls_faq::after {
  content: "";
  position: absolute;
  top: 25px;
  left: 0;
  width: 100%;
  height: 21px;
  background-color: transparent;
  background-image: linear-gradient(90deg, transparent 50%, rgba(255, 255, 255, 1) 50%);
  background-size: 20px 20px;
}
.onealls_faq::after {
  top: auto;
  bottom: 25px;
}
.onealls_faq .inner {
  width: 960px;
}
.onealls_faq .section_ttl-deco .deco {
  top: -144px;
}
.onealls_faq--list dt {
  position: relative;
  padding: 21px 20px 21px 104px;
  margin-top: 24px;
  background-color: #fff;
  font-family: "ten-mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 160%;
  border-radius: 4px;
  cursor: pointer;
}
.onealls_faq--list dt.active {
  border-radius: 4px 4px 0 0;
}
.onealls_faq--list dt::before,
.onealls_faq--list dd::before {
  position: absolute;
  top: 23px;
  left: 36px;
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  line-height: 1;
  vertical-align: middle;
}
.onealls_faq--list dt::before {
  content: "Q.";
  font-size: 164%;
  color: #61a0b8;
}
.onealls_faq--list dt .open {
  position: absolute;
  top: 23px;
  right: 20px;
  width: 42px;
  height: 42px;
  border-radius: 4px;
  background-color: #2a2a2a;
  transition: all 0.3s ease-out;
}
.onealls_faq--list dt .open::before,
.onealls_faq--list dt .open::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 50%;
  height: 2px;
  background-color: #fff;
  transition: all 0.3s ease-out;
}
.onealls_faq--list dt .open::after {
  transform: rotate(90deg);
}
.onealls_faq--list dt:hover .open,
.onealls_faq--list dt.active .open {
  background-color: #ff5c0c;
}
.onealls_faq--list dt.active .open::after {
  transform: rotate(0);
}
.onealls_faq--list dd {
  position: relative;
  display: none;
  padding: 27px 32px 28px 106px;
  background-color: #dde9f1;
  border-radius: 0 0 4px 4px;
  line-height: 1.6;
}
.onealls_faq--list dd::before {
  content: "A.";
  top: 18px;
  left: 38px;
  font-size: 263%;
  color: #ff5c0c;
  letter-spacing: 0.12em;
}
.compare_table-sp {
  display: none;
}

@media screen and (max-width: 1212px) {
  .onealls_about--list .img {
    margin-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .onealls_trouble {
    padding-bottom: 70px;
  }
  .onealls_trouble .section_ttl-deco .deco {
    top: -60px;
  }
  .onealls_trouble--list {
    padding: 0;
    background-image: none;
    font-size: 142%;
  }
  .onealls_trouble--list li::after {
    display: none;
  }
  .onealls_trouble--list li::before {
    content: "";
    display: inline-block;
    background-image: url(../images/icon_check_sp.png);
    width: 33px;
    height: 28px;
    background-size: cover;
    transform: translateY(-2px);
  }
  .onealls_about {
    padding-top: 130px;
    padding-bottom: 50px;
  }
  .onealls_about .section_ttl-deco .deco {
    top: -64px;
  }
  .onealls_about--list .heading-1 {
    margin-bottom: 15px;
    font-size: 7.5vw;
  }
  .onealls_about--list .heading-1 span {
    width: 12vw;
    height: 12vw;
  }
  .onealls_about--list .heading-1 i {
    display: none;
  }
  .onealls_about--list .img {
    margin-right: 0;
    margin-bottom: 12px;
  }
  .onealls_about #modal_btn {
    text-indent: 0;
    padding-left: 0;
  }
  .onealls_about #modal_btn span {
    width: 100%;
    line-height: 1.5;
    padding: 12px 8px;
    text-align: center;
    font-size: 100%;
  }
  .onealls_about #modal_btn span::after {
    display: none;
  }
  .onealls_band {
    height: 240px;
    background-size: cover;
  }
  .onealls_system {
    padding-block: 92px;
  }
  .onealls_system .section_ttl-deco .deco {
    top: -50px;
  }
  .onealls_system--list li {
    padding: 24px;
  }
  .onealls_system--list .img {
    width: 100%;
    margin-bottom: 12px;
    text-align: center;
  }
  .onealls_system--list .img .num {
    top: -15px;
    left: 0;
  }
  .onealls_system--list .txt {
    margin-left: 0;
  }
  .onealls_system--list .txt .heading-2 {
    margin-bottom: 8px;
    text-align: center;
  }
  .onealls_feature {
    border: none;
  }
  .onealls_feature::before {
    display: none;
  }
  .onealls_feature--wrap {
    border: none;
    box-shadow: none;
  }
  .onealls_feature--wrap::before {
    top: -72px;
    width: 180px;
    height: 180px;
    border: 0;
  }
  .onealls_feature .section_ttl i {
    width: 28%;
    margin: auto;
  }
  .onealls_feature .heading-1 {
    margin-bottom: 18px;
  }
  .onealls_feature .heading-1 span {
    padding-left: 14px;
    padding-right: 14px;
  }
  .onealls_feature .flex-col2 > * {
    width: 100%;
    margin-right: 0;
  }
  .onealls_feature .onealls_feature--insulation .heading-1 {
    margin-bottom: 18px;
    line-height: 1.4;
  }
  .onealls_feature--compare {
    padding: 40px 12px 14px;
    margin-bottom: 40px;
    margin-left: -5%;
    margin-right: -5%;
  }
  .compare_table {
    display: none;
  }
  .compare_table-sp {
    display: inline-table;
    margin-bottom: 24px;
  }
  .compare_table-sp thead th {
    background-color: #043f55;
    padding: 14px 8px;
    border-radius: 4px 4px 0 0;
    color: #fff;
    line-height: 1.5;
  }
  .compare_table-sp thead th:first-child {
    border-right: 3px solid #568f6e;
  }
  .compare_table-sp tbody th {
    background-color: #36704f;
    padding: 8px;
    color: #fff;
  }
  .compare_table-sp tbody td {
    background-color: #fff;
    text-align: center;
    padding: 8px;
    border: 1px solid #568f6e;
  }
  .compare_tips--content {
    padding: 14px;
  }
  .onealls_feature--compare + .flex {
    margin-bottom: 32px;
  }
  .onealls_faq {
    position: relative;
    padding-top: 128px;
    padding-bottom: 90px;
  }
  .onealls_faq::before,
  .onealls_faq::after {
    display: none;
  }
  .onealls_faq .inner {
    width: 100%;
  }
  .onealls_faq .section_ttl-deco .deco {
    top: -81px;
    right: 0;
    width: 54%;
    margin: auto;
  }
  .onealls_faq--list {
    width: 92%;
    margin: auto;
  }
  .onealls_faq--list dt {
    padding: 14px 56px 12px 42px;
    font-size: 120%;
    line-height: 1.4;
  }
  .onealls_faq--list dt::before,
  .onealls_faq--list dd::before {
    top: 13px;
    left: 10px;
  }
  .onealls_faq--list dt::before {
    font-size: 148%;
  }
  .onealls_faq--list dt .open {
    top: 0;
    right: 0;
    height: 100%;
    border-radius: 0 4px 4px 0;
  }
  .onealls_faq--list dd {
    padding: 16px 16px 19px 52px;
  }
  .onealls_faq--list dd::before {
    left: 12px;
    font-size: 195%;
  }
  .onealls--home_event {
    padding-bottom: 128px;
  }
}

/* after_follow
*************************************************** */
.follow_about {
  padding-bottom: 340px;
}
.follow_about .section_ttl {
  padding-top: 58px;
}
.follow_about--attention {
  width: 920px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  padding: 34px 40px 38px;
  box-shadow: inset 0 0 0 1px #eff1f0;
  border: 10px solid #fff;
}
.follow_guarantee {
  padding-bottom: 80px;
}
.follow_guarantee .section_ttl {
  padding-top: 28px;
}
.follow_guarantee .section_ttl-deco .deco {
  width: 98%;
}
.follow_guarantee--list li {
  padding: 40px 34px 34px;
  background-color: #fff;
  box-shadow: inset 0 0 0 1px #ece0ca;
  border: 10px solid #fff;
}
.follow_guarantee--list .heading-2 {
  color: #2a2a2a;
  text-align: center;
}
.follow_sup {
  padding-top: 164px;
  padding-bottom: 80px;
}
.follow_sup .section_ttl {
  padding-top: 25px;
}
.follow_sup .inner {
  max-width: 1100px;
}
.follow_sup .img {
  margin-right: 72px;
}
.follow_sup .txt {
  flex: 1;
}
.follow_sup .heading-1 {
  position: relative;
}
.follow_sup .heading-1 i {
  position: absolute;
  top: -82px;
  left: -90px;
}
.follow_sup .heading-1 span {
  display: inline-block;
  width: 44px;
  height: 48px;
  padding-top: 2px;
  background-color: #fff;
  margin-right: 3px;
  margin-bottom: 3px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .follow_about {
    padding-bottom: 230px;
  }
  .follow_about .section_ttl-deco .deco {
    top: -20px;
  }
  .follow_about--attention {
    width: 110%;
    margin-left: -5%;
    margin-right: -5%;
    padding: 18px;
  }
  .follow_guarantee .section_ttl-deco .deco {
    top: -42px;
  }
  .follow_guarantee--list li {
    padding: 22px 15px;
  }
  .follow_sup {
    padding-top: 114px;
    padding-bottom: 60px;
  }
  .follow_sup .section_ttl .deco {
    top: -68px;
  }
  .follow_sup--list li:not(:last-child) {
    margin-bottom: 32px;
  }
  .follow_sup .img {
    margin-right: 0;
    margin-bottom: 6px;
  }
  .follow_sup .heading-1 {
    margin-bottom: 3px;
    font-size: 7.5vw;
  }
  .follow_sup .heading-1 i {
    top: -94px;
    left: -5%;
  }
  .follow_sup .heading-1 span {
    width: 12vw;
    height: 12vw;
  }
}

/* about
*************************************************** */
.about_intro {
  padding-bottom: 350px;
}
.about_intro .heading-1,
.about_intro .heading-1 strong {
  position: relative;
  font-weight: normal;
}
.about_intro .heading-1 i {
  position: absolute;
  top: -52px;
  left: -22px;
}
.about_inherit {
  padding-bottom: 60px;
}
.about_inherit .section_ttl {
  padding-top: 34px;
}
.about_inherit .section_ttl-deco .deco {
  width: 96%;
}
.about_inherit--list li {
  background-color: #fff;
  padding: 38px;
}
.about_inherit--list li .btn-sm {
  min-width: 100%;
}
.about_inherit--list .heading-1 i {
  display: block;
  margin-bottom: 16px;
}
.about_eco {
  padding-top: 180px;
  padding-bottom: 80px;
}
.about_eco .section_ttl {
  padding-top: 6px;
}
.about_eco .zeh_logo {
  border: none;
  margin-bottom: 24px;
}
.about_eco .list li:not(:last-child) {
  margin-bottom: 4px;
}
.about_eco--table th,
.about_eco--table td,
.about_money--table th,
.about_money--table td {
  padding: 4px;
  border: 1px solid #ddd;
}
.about_eco--table thead th,
.about_money--table thead th,
.about_eco--table tbody .pseudo-head {
  background-color: #f28841;
  color: #fff;
}
.about_eco--table tbody th,
.about_money--table tbody th,
.about_money--table tfoot th {
  background-color: #f3ebb4;
}
.about_eco--table tbody td,
.about_money--table tbody td,
.about_money--table tfoot td {
  background-color: #fff;
  text-align: center;
  letter-spacing: 0;
}
.about_money {
  position: relative;
  padding-top: 150px;
}
.about_money::before,
.about_money::after {
  content: "";
  position: absolute;
  top: 25px;
  left: 0;
  width: 100%;
  height: 21px;
  background-color: transparent;
  background-image: linear-gradient(90deg, transparent 50%, rgba(255, 255, 255, 1) 50%);
  background-size: 20px 20px;
}
.about_money::after {
  top: auto;
  bottom: 25px;
}
.about_money .heading-1 {
  position: relative;
  padding-top: 24px;
  font-size: 250%;
}
.about_money .heading-1 .deco {
  position: absolute;
  top: -90px;
  left: -4%;
  width: 80%;
}
.about_money .heading-1 strong {
  position: relative;
  font-weight: normal;
}
.about_money--use {
  background-color: #fff;
  padding: 38px;
}
.star-builder .heading-1 {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f5eee4;
  padding: 18px;
  line-height: 1.4;
}
.star-builder .heading-1 strong {
  color: #f28841;
}
.star-builder .txt {
  padding: 32px;
  background-color: rgb(238, 238, 238, 0.5);
}

@media screen and (max-width: 1178px) {
  .about_money .heading-1 br {
    display: none;
  }
  .about_eco--table {
    font-size: 90%;
  }
}
@media screen and (max-width: 767px) {
  .about_intro {
    padding-bottom: 190px;
  }
  .about_intro .txt-img-col2 {
    flex-flow: column-reverse;
    margin-bottom: 8px;
  }
  .about_intro .txt-img-col2 .img {
    margin-bottom: 12px;
  }
  .about_inherit .section_ttl-deco .deco {
    top: -48px;
  }
  .about_inherit--list li {
    padding: 18px;
  }
  .about_eco {
    padding-top: 110px;
    padding-bottom: 60px;
  }
  .about_eco .section_ttl-deco .deco {
    top: -60px;
  }
  .about_money {
    padding-top: 106px;
  }
  .about_money::before,
  .about_money::after {
    display: none;
  }
  .about_money .heading-1 {
    padding-top: 0;
    font-size: 7.2vw;
    text-align: center;
  }
  .about_money .heading-1 .deco {
    top: -62px;
    left: 0;
  }
  .about_money--table thead tr,
  .about_money--table tbody tr,
  .about_money--table tfoot tr {
    display: flex;
    flex-wrap: wrap;
  }
  .about_money--table thead th {
    display: block;
    flex: 1;
  }
  .about_money--table thead th:first-child {
    display: none;
  }
  .about_money--table tbody th,
  .about_money--table tbody td,
  .about_money--table tfoot th,
  .about_money--table tfoot td {
    display: block;
  }
  .about_money--table tbody th,
  .about_money--table tfoot th {
    width: 100%;
  }
  .about_money--table tbody td,
  .about_money--table tfoot td {
    flex: 1;
  }
  .about_money--use {
    padding: 18px;
  }

  .star-builder {
    margin-top: 24px;
  }
  .star-builder .txt {
    padding: 18px;
  }
}

/* company
*************************************************** */
.company_about .section_ttl-deco {
  padding-top: 48px;
}
.company_outline,
.company_staff,
.company_history,
.company_recruit {
  padding-top: 150px;
  padding-bottom: 80px;
}
.company_outline .section_ttl,
.company_staff .section_ttl {
  padding-top: 48px;
}
.company_outline .btn-sm {
  min-width: 190px;
  padding: 5px 2.5em;
  font-size: 90%;
}
.company_showroom {
  padding-bottom: 100px;
}
.company_showroom .inner {
  margin-left: 0;
  width: 95%;
  max-width: 1600px;
}
.company_showroom .section_ttl > * {
  text-align: left;
}
.company_showroom .txt {
  width: 500px;
  padding-top: 24px;
  margin-left: 40px;
}
.company_showroom .img {
  flex: 1;
}
.company_staff--list li {
  margin-bottom: 40px;
}
.company_history--table tr {
  border-bottom: 2px solid #eee;
}
.company_history--table th,
.company_history--table td {
  padding: 16px;
}
.company_history--table tbody th {
  white-space: nowrap;
  text-align: left;
}
.company_history--table td {
  line-height: 1.5;
}
.company_history--table td .list-disc li:not(:last-child) {
  margin-bottom: 4px;
}
.company_history--table tbody tr td:first-child {
  white-space: nowrap;
}
.company_recruit .flex-col2 > * {
  width: 47.5%;
  margin-right: 5%;
  margin-bottom: 5%;
}
.company_recruit .txt .heading-1::after {
  content: "";
  display: block;
  margin-top: 24px;
  width: 40px;
  height: 2px;
  background-color: #2a2a2a;
}
.company_recruit--boshu .section_ttl::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background-color: #2a2a2a;
  margin: 30px auto 0;
}
.boshu_table {
  width: 100%;
  max-width: 980px;
  margin: 0 auto 32px;
}
.boshu_table th,
.boshu_table td {
  padding: 16px;
  border: 1px solid #2a2a2a;
  vertical-align: middle;
}
.boshu_table th {
  width: 200px;
  background-color: #f7d76f;
}
.boshu_table td {
  padding-left: 24px;
  padding-right: 24px;
  background-color: #fff;
}
.boshu_table td .list li:not(:last-child) {
  margin-bottom: 4px;
}

@media screen and (max-width: 767px) {
  .company_outline,
  .company_staff,
  .company_history,
  .company_recruit {
    padding-top: 70px;
    padding-bottom: 60px;
  }
  .company_showroom {
    padding-bottom: 60px;
  }
  .company_showroom .inner {
    margin-left: auto;
    width: 90%;
  }
  .company_showroom .txt {
    width: 100%;
    padding-top: 24px;
    margin-left: 0;
  }
  .company_staff .flex-sp-col2.flex-col3 > *:nth-child(2n) {
    margin-right: 0;
  }
  .company_history,
  .company_recruit {
    padding-top: 120px;
  }
  .company_history .section_ttl-deco .deco,
  .company_recruit .section_ttl-deco .deco {
    top: -58px;
  }
  .company_history--table thead {
    display: none;
  }
  .company_history--table th,
  .company_history--table td {
    display: block;
  }
  .company_history--table th {
    padding-top: 8px;
    padding-bottom: 0;
  }
  .company_history--table td {
    padding-top: 8px;
    padding-bottom: 12px;
  }
  .company_recruit .flex-col2:not(:last-of-type) {
    margin-bottom: 32px;
  }
  .company_recruit .flex-col2 > * {
    width: 100%;
    margin-right: 0;
  }
  .company_recruit .txt .heading-1::after {
    display: none;
  }
  .boshu_table th,
  .boshu_table td {
    display: block;
    width: 100%;
  }
  .boshu_table th {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .boshu_table td {
    border-top: none;
  }
  .boshu_table tr:not(:last-child) td {
    border-bottom: none;
  }
}

/* online
*************************************************** */
.online_content .inner {
  max-width: 1000px;
}
.online_advance,
.online_flow,
.online_faq {
  background-color: #fff;
  padding: 50px 56px 60px;
}
.online_advance--list li {
  width: 50%;
  padding: 20px 0;
}
.online_advance--list li:first-child {
  padding-right: 38px;
  border-right: 1px solid #ddd;
}
.online_advance--list li:nth-child(2) {
  padding-left: 38px;
}

.online_flow--list li {
  position: relative;
  counter-increment: title;
}
.online_flow--list li:not(:last-child) {
  margin-bottom: 34px;
}
.online_flow--list li:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 43px;
  left: 19px;
  width: 2px;
  height: 100%;
  background-color: #ddd;
}
.online_flow--list li h4 {
  margin-bottom: 8px;
}
.online_flow--list li h4::before {
  content: counter(title);
  display: inline-block;
  background-color: #ff530f;
  border-radius: 50%;
  line-height: 39px;
  width: 40px;
  height: 40px;
  text-align: center;
  color: #fff;
  margin-right: 10px;
}
.online_flow--list li p {
  padding-left: 52px;
}

.online_faq--list li:not(:last-child) {
  margin-bottom: 18px;
}
.online_faq--list h4 span {
  display: inline-block;
  transform: translateY(3px);
  margin-right: 6px;
  font-size: 146%;
}
.online_faq--list p {
  padding-left: 40px;
}

.online_event h4::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin-top: 28px;
  background-color: #2a2a2a;
}
.online_event .img li:first-child {
  width: 100%;
  margin-right: 0;
}
.online_event .img li:last-child {
  margin-left: 3%;
  margin-right: 0;
}
.online_event--list li {
  counter-increment: title;
  text-indent: -38px;
  padding-left: 38px;
  line-height: 1.4;
}
.online_event--list li:not(:last-child) {
  margin-bottom: 18px;
}
.online_event--list li::before {
  content: counter(title);
  display: inline-block;
  background-color: #ff530f;
  color: #fff;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  border-radius: 50%;
  letter-spacing: 0;
  margin-right: 8px;
  text-indent: 0;
}

@media screen and (max-width: 767px) {
  .online_advance,
  .online_flow,
  .online_faq {
    padding: 30px 18px 40px;
    margin-left: -4%;
    margin-right: -4%;
  }
  .online_advance--list li {
    width: 100%;
  }
  .online_advance--list li:first-child {
    border-right: 0;
    padding-right: 0;
  }
  .online_advance--list li:nth-child(2) {
    padding-left: 0;
  }
  .online_flow--list li h4 {
    margin-bottom: 0;
  }
  .online_faq--list .heading-2 {
    margin-bottom: 12px;
    text-indent: -1.55em;
    padding-left: 1.55em;
    line-height: 1.15;
  }
  .online_faq--list h4 span {
    text-indent: 0;
  }
  .online_faq--list p {
    padding-left: 0;
  }
  .online_event .inner > .flex-col2 {
    margin-bottom: 38px;
  }
  .online_event--list li {
    text-indent: -30px;
    padding-left: 30px;
  }
  .online_event--list li::before {
    width: 22px;
    height: 22px;
    line-height: 22px;
    font-size: 87%;
  }
  .online_event h4 {
    margin-bottom: 34px;
  }
  .online_event h4::after {
    margin-top: 14px;
  }
}

/* request
*************************************************** */
.page_request {
  background-image: url(/wp/wp-content/themes/original_theme/images/request_bg.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 80%;
}
.page_request--txt {
  color: #fff;
}
.page_request--txt .bg-red {
  display: inline-block;
  background-color: #d43232;
  padding: 6px 32px;
  margin-top: 80px;
  font-size: 170%;
}
.page_request--txt .sub_txt {
  font-size: 220%;
}
.page_request--txt h2 {
  position: relative;
  font-weight: normal;
  font-size: 340%;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.page_request--txt h2::before {
  position: absolute;
  content: "";
  bottom: -100px;
  left: 130px;
  width: 168px;
  height: 208px;
  background-image: url(/wp/wp-content/themes/original_theme/images/catalog.png);
  background-repeat: no-repeat;
  background-size: 100%;
}
.request p {
  color: #555;
}
.request .marker {
  background: linear-gradient(transparent 60%, #f3ee7b 60%);
  font-weight: 600;
  letter-spacing: 0.1em;
}
.request--ttl {
  font-size: 130%;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
.request--ttl span {
  font-size: 135%;
  color: #d43232;
}
.request #formy_form {
  background-color: #fff;
  padding: 60px 80px;
  border: 1px solid #2a2a2a;
}
.request--bnr a:hover {
  opacity: 0.7;
}
.archive-works .request--bnr {
  margin-block: 80px 0;
}
@media screen and (max-width: 1366px) {
  .page_request--txt h2 {
    font-size: 300%;
  }
  .page_request--txt h2::before {
    bottom: -80px;
    left: 196px;
  }
}
@media screen and (max-width: 1190px) {
  .page_request--txt h2::before {
    left: 130px;
  }
}
@media screen and (max-width: 767px) {
  .page_request {
    background-image: url(/wp/wp-content/themes/original_theme/images/request_bg_sp.jpg);
    height: 403px;
  }
  .page_request--txt .bg-red {
    padding: 5px 24px;
    margin-top: 56px;
    font-size: 110%;
  }
  .page_request--txt .sub_txt {
    font-size: 120%;
  }
  .page_request--txt h2 {
    font-size: 210%;
  }
  .page_request--txt h2::before {
    bottom: -208px;
    left: -16px;
    width: 120px;
  }
  .request--ttl span {
    font-size: 120%;
  }
  .request #formy_form {
    padding: 12px 18px 40px;
  }
  .request--ttl {
    font-size: 100%;
    letter-spacing: normal;
  }
  .archive-works .request--bnr {
    margin-top: 40px;
  }
}
@media screen and (max-width: 320px) {
  .page_request--txt .bg-red {
    padding: 5px 16px;
    margin-top: 32px;
    font-size: 96%;
  }
  .page_request {
    height: 344px;
  }
  .page_request--txt .sub_txt {
    font-size: 106%;
  }
  .page_request--txt h2 {
    font-size: 190%;
  }
  .page_request--txt h2::before {
    width: 100px;
  }
}

/* contact
*************************************************** */
.page-contact .header .inner {
  margin-right: auto;
}
.page-contact .header-sm .header--logo {
  border-radius: 0;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 38px 32px 0;
  background-color: transparent;
}
.page-contact .page_ttl {
  text-align: center;
  background-image: none;
  background-color: transparent;
  padding: 100px 0 28px;
  color: #222;
}
.page-contact .page_ttl::after {
  display: none;
}
.contact--txt {
  margin-bottom: 32px;
}
.contact--tel {
  margin-bottom: 32px;
}
.contact--tel .tel_txt {
  font-size: 274%;
  line-height: 1;
}
.contact--form {
  padding: 44px 80px 60px;
  background-color: #fff;
}
.page-contact .footer {
  background-image: none;
  padding: 32px 0 40px;
}
.page-contact .footer::before {
  display: none;
}
.page-contact .copyright {
  color: #222;
}

@media screen and (max-width: 767px) {
  .page-contact .header-sm .header--logo {
    width: 24%;
    padding: 18px 0 0;
  }
  .page-contact .page_ttl {
    padding: 84px 0 20px;
  }
  .contact--form {
    margin: 0 -4%;
    padding: 12px 18px 40px;
  }
}

/* thanks
*************************************************** */

@media screen and (max-width: 767px) {
  .page-thanks .inner.txt-ctr {
    text-align: left;
  }
}

/* 404
*************************************************** */
.content-404 p {
  margin-bottom: 40px;
  font-size: 115%;
}
.content-404 .flex p + p {
  margin-left: 14px;
}
@media screen and (max-width: 767px) {
  .content-404 p {
    margin-bottom: 24px;
    font-size: 100%;
  }
}

/* sitemap
*************************************************** */
.sitemap--list {
  width: 49%;
}
.sitemap--item-page a::before,
.sitemap--item-post a::before {
  content: "";
  width: 6px;
  height: 6px;
  display: inline-block;
  border-radius: 50%;
  background-color: #333;
  vertical-align: middle;
  line-height: 1;
  transform: translateY(-2px);
  margin-right: 8px;
}
.sitemap--list-page.sitemap--list > li {
  margin-bottom: 18px;
}
.sitemap--list-posts.sitemap--list .sitemap--item-ttl:not(:first-child) {
  margin-top: 20px;
}
.sitemap--list-posts.sitemap--list > .sitemap--item-child {
  margin-bottom: 16px;
}
.sitemap--list li a {
  display: block;
  text-decoration: none;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.4;
}
.sitemap--list li a:hover {
  color: #ef701b;
  text-decoration: underline;
}
.sitemap--item-ttl {
  font-weight: bold;
}
.sitemap--item:not(.sitemap--item-ttl) {
  font-size: 100%;
}

/* --- category --- */
.sitemap--item.sitemap--item-taxonomy.sitemap--item-child {
  margin-left: 1em;
}
.sitemap--list li.sitemap--item-child a {
  padding-left: 8px;
}
.sitemap--list li.sitemap--item-child.sitemap--item-page {
  padding: 6px 0 6px 24px;
}
.sitemap--list li.sitemap--item-taxonomy ul {
  letter-spacing: -0.4em;
}
.sitemap--list li.sitemap--item-taxonomy ul li {
  display: inline-block;
  padding: 0;
  margin-right: 8px;
  letter-spacing: normal;
}
.sitemap--list li.sitemap--item-taxonomy ul li a {
  display: block;
  padding: 6px 12px;
  border-radius: 18px;
  background-color: #333;
  color: #fff;
  font-size: 88%;
  line-height: 1;
  text-indent: 0;
}

@media screen and (max-width: 767px) {
  .sitemap--list {
    width: 100%;
  }
  .sitemap--list-posts.sitemap--list > .sitemap--item-child {
    margin-bottom: 8px;
  }
}

/* privacy
*************************************************** */
.privacy--list li {
  background-color: #fff;
  padding: 40px 64px;
}
.privacy--list li:not(:last-child) {
  margin-bottom: 32px;
}
.privacy--list li p img {
  vertical-align: sub;
}
@media screen and (max-width: 767px) {
  .privacy--list li {
    padding: 28px;
  }
  .privacy--list li a {
    word-break: break-all;
  }
}

/* ##############################################################################

    ARCHIVE

############################################################################## */

/* main_column
**************************************** */
.main_column {
  flex: 1;
  margin-right: 80px;
}

/* --- post --- */
.post_list .post,
.posts-works .post,
.posts-estate .post {
  position: relative;
}
.post_list .post--link::before,
.posts-works .post--link::before,
.posts-estate .post--link::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.posts-estate .post--link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  border: 10px solid transparent;
  border-left: 10px solid #000;
  transform: rotate(45deg);
}
.post_list .post:not(:last-child) {
  margin-bottom: 40px;
}
.post_list .post .post--txtarea {
  flex: 1;
}
.post_list .post .post--date {
  margin-right: 16px;
  font-weight: bold;
  color: #ff530f;
  font-size: 107%;
}
.post_list .post .heading-2 {
  font-size: 164%;
  line-height: 1.25;
}
.post_list .post .post--img {
  position: relative;
  overflow: hidden;
  width: 152px;
  height: 152px;
  border-radius: 50%;
  border: 4px solid #2a2a2a;
  background-color: #fff;
  background-image: url(../images/common/logo-header.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-right: 32px;
}
.post_list .post .post--img[style="background-image:url();"] {
  background-size: 66%;
  background-image: url(../images/common/logo-header.png) !important;
}
.post_list .post .post--img.no-img {
  background-size: 66%;
}
.post_list .post .post--img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2a2a2a;
  opacity: 0;
  z-index: 1;
  transition: all 0.3s ease-out;
}
.post_list .post:hover .post--img::before {
  opacity: 0.5;
}
.post_list .post:hover .post--txtarea,
.post_list .post:hover .heading-2 a {
  color: #ff530f;
}

.iwatsu_bnr {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1200px;
  width: 86%;
  margin-inline: auto;
  margin-bottom: 32px;
  padding: 18px 24px;
  background-color: #fff;
  font-size: 16px;
  line-height: 1.8;
}
.iwatsu_bnr img {
  width: 50%;
  margin-right: 24px;
}

@media screen and (max-width: 767px) {
  .main_column {
    flex: none;
    margin-right: 0;
    width: 100%;
  }

  /* --- post --- */
  .post_list .post:not(:last-child) {
    margin-bottom: 22px;
  }
  .post_list .post .heading-2 {
    font-size: 142%;
  }
  .post_list .post .post--img {
    width: 100%;
    height: 160px;
    border-radius: 0;
    border-width: 2px;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .post_list .post .post--img.no-img {
    background-size: 32%;
  }
  .post_list .post .post--img[style="background-image:url();"] {
    background-size: auto;
  }
  .post_list .post .post--txtarea {
    width: 100%;
  }

  .iwatsu_bnr {
    display: block;
    padding: 24px 16px 16px;
    font-size: 13px;
  }
  .iwatsu_bnr img {
    width: 100%;
    margin-right: 0;
    margin-bottom: 16px;
  }
}

/* side_column
**************************************** */
.side_column {
  width: 264px;
}
.side_section:not(:last-child) {
  margin-bottom: 64px;
}
.side--ttl {
  font-size: 120%;
  letter-spacing: 0.2em;
  line-height: 1;
  margin-bottom: 16px;
}
.side--ttl small {
  font-size: 62%;
  opacity: 0.5;
  letter-spacing: 0.15em;
  display: block;
  line-height: 1;
  margin-top: 8px;
}

/* --- cat --- */
.side--cat .side--list li:not(:last-child) {
  border-bottom: 1px solid #bbb;
}
.side--cat .side--list li a {
  padding: 8px;
  display: block;
}
.side--cat .side--list li a:hover {
  color: #f28841;
}
.side--cat .side--list li a::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #2a2a2a;
  display: inline-block;
  border-radius: 50%;
  margin-right: 6px;
  transform: translateY(-1px);
}

/* --- side--author --- */
.side--author li:not(:last-child) {
  margin-bottom: 16px;
}
.side--author .btn-sm {
  min-width: 100%;
}

/* --- post --- */
.posts-side .post:not(:last-child) {
  margin-bottom: 16px;
}
.posts-side .post--img {
  margin-right: 16px;
  border-radius: 3px;
  width: 64px;
  height: 64px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.posts-side .txtarea {
  flex: 1;
}
.posts-side .post--date {
  margin-bottom: 0;
}
.posts-side .post--ttl {
  line-height: 1.4;
}

/* --- archive --- */
.side_column .archive_list {
  border-bottom: 1px solid #bbb;
  padding: 9px 4px 4px 6px;
}
.side_column .archive_list--ttl {
  margin-bottom: 4px;
  cursor: pointer;
}
.side_column .archive_list--ttl::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-top: 1px solid;
  border-right: 1px solid;
  transform: translateY(-2px) rotate(135deg);
  transition: 0.4s ease-out;
}
.side_column .archive_list--ttl.active::after {
  transform: translateY(2px) rotate(-45deg);
}
.side_column .archive_month {
  display: none;
}
.side_column .archive_month li a {
  font-size: 94%;
  letter-spacing: 0;
  color: #555;
}

@media screen and (max-width: 767px) {
  .side_column {
    width: 100%;
  }
}

/* --- archive-pulldown --- */
.archive-pulldown {
  position: relative;
  margin-left: auto;
  z-index: 1;
}
.archive-pulldown .archive_list {
  position: relative;
  font-size: 92%;
}
.archive-pulldown .archive_list:not(:last-child) {
  margin-right: 24px;
}
.archive-pulldown .archive_list a {
  display: block;
  padding: 2px 16px;
  text-align: left;
}
.archive-pulldown .archive_list a:not(:last-child) {
  border-bottom: 1px solid #eee;
}
.archive-pulldown .archive_list--label {
  margin-right: 8px;
}
.archive-pulldown .archive_list--btn {
  cursor: pointer;
  border: none;
  outline: none;
  appearance: none;
  padding: 8px 54px 8px 32px;
  background-color: #fff;
  border: 1px solid #ccc;
}
.archive-pulldown .archive_list--btn::after {
  content: "";
  position: absolute;
  top: 9px;
  right: 10px;
  display: block;
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(45deg);
  transition: 0.2s ease-out;
  transform-origin: 50% 50%;
}
.archive-pulldown .active .archive_list--btn::after {
  top: 14px;
  transform: rotate(225deg);
}
.archive-pulldown .archive_list--menu {
  position: absolute;
  z-index: 1;
  width: 100%;
  background: #fff;
  border: 1px solid #ccc;
  visibility: hidden;
  opacity: 0;
  transition: 0.2s ease-out;
}
.archive-pulldown .active .archive_list--menu {
  visibility: visible;
  opacity: 1;
}

/* blog
**************************************** */
.archive-blog .post_list .post {
  padding-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
}
.archive-blog .post_list .post:first-child {
  padding-top: 0;
}
.archive-blog .post_list .post:not(:last-child) {
  margin-bottom: 0;
}

/* event
**************************************** */
.event_list .post {
  position: relative;
  max-width: 480px;
  background-color: #fff;
}
.event_list .post--img {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 280px;
  background-size: cover;
  background-position: top 15% center;
}
.event_list .post--img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: #2a2a2a;
  transition: all 0.4s ease-out;
}
.event_list .post.event_end .post--img::after {
  content: "この見学会は終了しました";
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 140%;
  font-family: "Shuei MaruGo B";
}
.event_list .post.event_end .post--img::before {
  opacity: 0.5;
}
.event_list .post .txt {
  padding: 7%;
}
.event_list .post .heading-2 {
  padding-bottom: 8px;
  margin-bottom: 20px;
  border-bottom: 1px solid #989898;
  color: #2a2a2a;
  font-size: 154%;
  transition: all 0.4s ease-out;
  line-height: 1.4;
}
.event_list .post .heading-2 strong {
  font-weight: normal;
}
.event_list .post.event_end .heading-2 strong::before {
  content: "【終了】";
  font-family: ten-mincho, serif;
}
.event_list .post table th {
  text-align: left;
  width: 98px;
}
.event_list .post table th i {
  display: inline-block;
  width: 12px;
  margin-right: 8px;
}
.event_list .post table td {
  line-height: 1.5;
}
.event_list .post .event_cat a {
  font-size: 107%;
  color: #989898;
  transition: all 0.4s ease-out;
}
.event_list .post--link {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.event_list .post:hover .post--img::before {
  opacity: 0.5;
}
.event_list .post:hover,
.event_list .post:hover .event_cat a,
.event_list .post:hover .heading-2 {
  color: #ff530f;
}
.event_status span {
  display: inline-block;
  padding: 1px 14px;
  background-color: #eac670;
  border-radius: 28px;
  font-size: 94%;
  line-height: 1.7;
  margin-left: -2px;
}
.event_status span.end {
  background-color: #ddd;
}
.event_list .post:hover .event_status span {
  color: #2a2a2a;
}
.single-event .event_status span {
  display: none;
  padding: 4px 34px;
  font-size: 108%;
}
.Label {
  display: none;
}
.toggle {
  display: none;
}

@media screen and (max-width: 767px) {
  .event_list .post--img {
    height: 260px;
  }
  .event_list .post .txt {
    padding: 5.5%;
  }
  .event_list .post .heading-2 {
    margin-bottom: 12px;
    font-size: 5.1vw;
  }

  .toggle {
    display: none;
  }
  .Label {
    padding: 1em;
    display: block;
    text-align: center;
  }
  .Label::before {
    content: "";
    width: 9px;
    height: 9px;
    border-top: 2px solid #2a2a2a;
    border-right: 2px solid #2a2a2a;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 6px);
    right: 20px;
    transform: rotate(135deg);
  }
  .Label,
  .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }
  .content {
    height: 0;
    overflow: hidden;
  }
  .toggle:checked + .Label + .content {
    height: auto;
    transition: all 0.3s;
  }
  .toggle:checked + .Label::before {
    transform: rotate(-45deg) !important;
  }
}

/* voice
**************************************** */
.voice_list .post {
  position: relative;
  width: 360px;
}
.voice_list .post .post--link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.voice_list .post .heading-3 {
  font-size: 146%;
  line-height: 1.35;
}
.voice_list .post .name {
  font-size: 107%;
  color: #989898;
}
.voice_list .post .name a {
  color: #989898;
}
.voice_list .post .voice_date .owner_img {
  border-radius: 50%;
  width: 74px;
  height: 74px;
  overflow: hidden;
  border: 2px solid;
}
.voice_list .post .voice_date p {
  flex: 1;
  margin-left: 24px;
  font-size: 88%;
  letter-spacing: 0.07em;
  line-height: 1.6;
  color: #989898;
}
.voice_list .post .img {
  background-color: #2a2a2a;
}
.voice_list .post .img img,
.voice_list .post .txt {
  transition: all 0.4s ease-out;
}
.voice_list .post:hover .img img {
  opacity: 0.5;
}
.voice_list .post:hover .txt {
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  #voice_slide .slick-slide {
    margin-right: 28px;
  }
  .voice_list .post .voice_date p {
    margin-left: 12px;
  }
  .voice_list .post .voice_date .owner_img {
    width: 54px;
    height: 54px;
  }
}

/* works
**************************************** */
.archive-works .page_ttl {
  padding: 10px 0;
}

.archive-works .page_ttl-en + span {
  font-size: 138%;
  line-height: 1.6;
}
.works_cat_menu {
  position: relative;
  z-index: 2;
}
.works_cat_menu--col {
  position: relative;
  width: 200px;
}
.works_cat_menu--col:first-child {
  margin-right: 14px;
}
.works_cat_menu--col .select {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  border: 1px solid;
  padding: 6px 12px;
  cursor: pointer;
  transition: all 0.3s ease-out;
}
.works_cat_menu--col .select.close,
.works_cat_menu--col .select:hover {
  background-color: #eee;
}
.works_cat_menu--col .select::after {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  border-right: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(45deg);
  transition: all 0.3s ease-out;
}
.works_cat_menu--col .select.close::after {
  transform: rotate(-135deg);
  margin-top: 5px;
}
.menu_list {
  position: absolute;
  top: 42px;
  left: 0;
  width: 100%;
  display: none;
  background-color: #fff;
  margin-top: -1px;
  border: 1px solid;
  padding: 6px 12px;
  z-index: 1;
}
.menu_list li a::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #2a2a2a;
  display: inline-block;
  margin-right: 5px;
  transform: translateY(-3px);
}
.menu_list li a:hover {
  color: #ef701b;
}
.posts-works .post .post--img img {
  transition: all 0.4s ease-out;
}
.posts-works .cat_list li {
  line-height: 1;
}
.posts-works .cat_list li:not(:last-child) {
  padding-right: 8px;
  margin-right: 8px;
  border-right: 1px solid;
}
.posts-works .cat_list li a {
  line-height: 1;
}
.posts-works .post:hover,
.posts-works .post:hover a {
  color: #979797;
}
.posts-works .post .post--img {
  background-color: #2a2a2a;
}
.posts-works .post:hover .post--img img {
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  .archive-works .page_ttl {
    padding: 5px 0;
  }
  .posts-works .post {
    margin-bottom: 38px;
  }
  .posts-works .post .cat_list {
    margin-top: 14px;
    margin-bottom: 12px;
  }
}

/* estate
**************************************** */
.posts-estate .post {
  background-color: #fff;
}
.posts-estate .post--txtarea {
  position: relative;
  padding: 22px 7%;
  transition: all 0.4s ease-out;
}
.posts-estate .post table th {
  width: 74px;
  text-align: left;
}
.posts-estate .post table th i {
  display: inline-block;
  width: 14px;
  margin-right: 5px;
  text-align: center;
  vertical-align: unset;
}
.posts-estate .post table td {
  line-height: 1.35;
}
.posts-estate .status {
  position: absolute;
  top: -50px;
  left: 6px;
  display: flex;
}
.posts-estate .status span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background-color: #ffde29;
  border-radius: 50%;
  letter-spacing: 0.05em;
  margin-left: 8px;
  text-align: center;
  line-height: 1.15;
  font-size: 88%;
  padding: 0 2px;
  color: #2a2a2a;
}
.posts-estate .status span[title="New"] {
  background-color: #d43232;
  color: #fff;
}
.posts-estate .status span[title="商談中"] {
  background-color: #0766b2;
  color: #fff;
}
.posts-estate .status span[title="売却済み"] {
  background-color: #2a2a2a;
  color: #fff;
}
.posts-estate .post:hover .post--txtarea,
.posts-estate .post:hover a {
  color: #979797;
}
.posts-estate .post--img {
  position: relative;
  height: 258px;
  background-position: center;
  background-size: cover;
}
.posts-estate .post--img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #2a2a2a;
  opacity: 0;
  transition: all 0.3s ease-out;
}
.posts-estate .post:hover .post--img::before {
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  .posts-estate .post--img {
    height: 238px;
  }
}

/* ##############################################################################

    SINGLE

############################################################################## */

/* wp-pagenavi
**************************************** */
.wp-pagenavi {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
}
.wp-pagenavi .pages {
  width: 100%;
  margin-bottom: 8px;
  text-align: center;
}
.wp-pagenavi .current,
.wp-pagenavi a {
  position: relative;
  max-width: 42%;
  display: inline-block;
  vertical-align: top;
  background-color: #d5d7d6;
  line-height: 1.4;
  padding: 8px 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-right: 8px;
  margin-bottom: 8px;
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-size: 120%;
}
.wp-pagenavi a:hover {
  background-color: #aaa;
}
.wp-pagenavi .current {
  color: #fff;
  background-color: #2a2a2a;
}
@media only screen and (max-width: 767px) {
  .wp-pagenavi {
    margin-bottom: 40px;
  }
}

/* works
**************************************** */
.single-works .works--info {
  max-width: 1000px;
}
.works--detail {
  margin-top: 80px;
}
.works--detail li:not(:last-child) {
  margin-bottom: 40px;
}
.works--detail li > *:only-child {
  margin: auto;
  text-align: center;
}
.works--detail .heading-2,
.voice--detail .heading-2 {
  color: #2a2a2a;
  font-size: 168%;
}
.voice--detail .heading-2 {
  line-height: 1.4;
}
.works--detail .heading-2::after,
.voice--detail .heading-2::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #2a2a2a;
  margin-top: 32px;
  margin-bottom: 34px;
}
.works--detail li > *:only-child .heading-2::after {
  margin-left: auto;
  margin-right: auto;
}

.works--voice {
  position: relative;
  max-width: 1280px;
  margin-top: 114px;
  margin-bottom: 80px;
  padding: 68px 8% 50px;
}
.works--voice h2 {
  position: absolute;
  top: -18px;
  left: 6%;
  font-size: 228%;
}
.voice--detail li {
  display: flex !important;
  margin-bottom: 56px;
}
.voice--detail li:last-child {
  margin-bottom: 32px;
}
.voice--detail li:nth-child(even) {
  flex-direction: row-reverse;
}
.voice--detail li:nth-child(even) .txt {
  margin-inline: 3% 0;
}
.voice--detail li > * {
  margin-bottom: 0;
}
.voice--detail .slick-dots {
  display: flex;
  margin-top: 32px;
  justify-content: center;
  align-items: center;
}
.voice--detail .slick-dots li {
  margin: 0 4px;
}
.voice--detail .slick-dots button {
  -webkit-appearance: none;
  border: 0;
  display: block;
  background-color: #a2a2a2;
  border-radius: 50%;
  font-size: 0;
  padding: 0;
  width: 10px;
  height: 10px;
  cursor: pointer;
  outline: 0;
}
.voice--detail .slick-dots .slick-active button {
  background-color: #2a2a2a;
}

.single-works .section_pdg-top,
.single-estate .section_pdg-top {
  overflow-x: hidden;
}
.works--info .cat_list li {
  border-right: 1px solid;
  padding-right: 8px;
  margin-right: 8px;
  line-height: 1;
}
#works_slide .slick-slide {
  margin: 0 20px;
}
#works_slide .slick-slide img,
#estate_slide .slick-slide img {
  margin: auto;
  width: auto;
  max-height: 100%;
  max-width: 100%;
}
#works_slide .slick-arrow,
.voice--detail .slick-arrow {
  position: absolute;
  top: 50%;
  z-index: 100;
  -webkit-appearance: none;
  border: none;
  background-color: transparent;
  font-size: 0;
  display: block;
  width: 40px;
  height: 40px;
  border-right: 2px solid;
  border-bottom: 2px solid;
  outline: 0;
  transition: all 0.3s ease-out;
  cursor: pointer;
}
#works_slide .slick-next,
.voice--detail .slick-next {
  right: -32px;
  transform: rotate(-45deg) translateY(-50%);
}
#works_slide .slick-prev,
.voice--detail .slick-prev {
  left: -6px;
  transform: rotate(135deg) translateY(20px);
}
.voice--detail .slick-arrow {
  top: 44%;
}
.voice--detail .slick-next {
  right: -8.5%;
}
.voice--detail .slick-prev {
  left: -6%;
}
#works_slide .slick-arrow:hover,
#estate_slide .slick-arrow:hover,
.voice--detail .slick-arrow:hover {
  opacity: 0.4;
}
#works_tumbnail .slick-track,
#estate_tumbnail .slick-track {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100% !important;
  margin: auto;
  transform: translate3d(0, 0, 0) !important;
}
#works_tumbnail li,
#estate_tumbnail li {
  position: relative;
  margin: 0 8px 8px 0;
  width: calc(100% / 10 - (8px * 9 / 10)) !important;
  height: 64px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  float: none;
}
#works_tumbnail li::before,
#estate_tumbnail li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2a2a2a;
  opacity: 0;
  transition: all 0.4s ease-out;
}
#works_tumbnail li:nth-child(10n),
#estate_tumbnail li:nth-child(10n) {
  margin-right: 0;
}
#works_tumbnail li:hover::before,
#estate_tumbnail li:hover::before,
#works_tumbnail li.slick-current::before,
#estate_tumbnail li.slick-current::before {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .single-works main article + p {
    margin: 40px auto 0;
    width: 86%;
  }
  .works--detail {
    margin-top: 46px;
  }
  .works--detail .heading-2::after,
  .voice--detail .heading-2::after {
    margin-top: 16px;
    margin-bottom: 17px;
  }
  .works--voice {
    width: 93%;
    margin-top: 56px;
    margin-bottom: 40px;
    padding: 44px 7% 30px;
  }
  .voice--detail li {
    margin-bottom: 40px;
  }
  .voice--detail li:last-child {
    margin-bottom: 0;
  }
  .voice--detail li:nth-child(even) .txt {
    margin-inline: 0;
  }
  .works--info #works_slide {
    margin-left: -4%;
    margin-right: -4%;
    margin-bottom: 40px;
  }
  #works_slide .slick-slide,
  .estate--info #estate_slide .slick-slide {
    max-height: auto;
    min-height: auto;
    height: 100%;
    margin: 0;
  }
  #works_slide .slick-slide img,
  #estate_slide .slick-slide img {
    max-width: 100%;
    max-height: auto;
  }
  #works_slide .slick-arrow,
  #estate_slide .slick-arrow,
  .voice--detail .slick-arrow {
    top: 37%;
    width: 38px;
    height: 38px;
    background-color: #333;
    border-radius: 50%;
    border: none;
  }
  #works_slide .slick-arrow::before,
  #estate_slide .slick-arrow::before,
  .voice--detail .slick-arrow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 12px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
  #works_slide .slick-next,
  .voice--detail .slick-next {
    right: 0;
    transform: rotate(0) translateY(0);
  }
  .voice--detail .slick-next {
    right: -12%;
  }
  #works_slide .slick-next::before,
  .voice--detail .slick-next::before {
    left: -3px;
    transform: rotate(-45deg);
  }
  #works_slide .slick-prev,
  .voice--detail .slick-prev {
    left: 0;
    transform: rotate(0) translateY(0);
  }
  .voice--detail .slick-prev {
    left: -12%;
  }
  #works_slide .slick-prev::before,
  .voice--detail .slick-prev::before {
    right: -3px;
    transform: rotate(135deg);
  }
  #works_slide .slick-dots,
  #estate_slide .slick-dots {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 16px;
  }
  #works_slide .slick-dots li,
  #estate_slide .slick-dots li {
    margin: 0 4px 8px;
  }
  #works_slide .slick-dots button,
  #estate_slide .slick-dots button {
    -webkit-appearance: none;
    padding: 0;
    border: none;
    font-size: 0;
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ddd;
  }
  #works_slide .slick-dots .slick-active button,
  #estate_slide .slick-dots .slick-active button {
    background-color: #333;
  }
  #works_tumbnail,
  #estate_tumbnail {
    display: none;
  }
}

/* estate
**************************************** */
.estate--info #estate_slide .slick-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.estate--info .table_default th,
.estate--info .table_default td {
  padding: 12px 18px;
}
.estate--info .table_default th {
  width: 134px;
  text-align: left;
  white-space: nowrap;
}
.estate--info .table_default td iframe {
  min-width: auto !important;
}

@media screen and (max-width: 767px) {
  .estate--info #estate_slide {
    margin-left: -5%;
    margin-right: -5%;
  }
  .estate--info #estate_slide .slick-list {
    padding: 0;
  }
  .estate--info #estate_slide .slick-slide {
    margin: 0;
    height: 100%;
    display: block;
  }
  .estate--info .table_default th {
    width: 100%;
    padding-bottom: 0;
  }
  .estate--info .table_default td {
    padding-top: 4px;
  }
  .estate--info .table_default td * {
    width: 100% !important;
  }
}

/* event
**************************************** */
.event--info.event_end .ttl::before {
  content: "【終了】";
  font-family: ten-mincho, serif;
}
.event--info_table {
  width: 100%;
  max-width: 740px;
  margin-left: auto;
  margin-right: auto;
}
.event--info_table th {
  text-align: left;
}
.event--info_table th i {
  width: 18px;
  display: inline-block;
  margin-right: 4px;
  text-align: center;
  vertical-align: baseline;
}
.event_content {
  padding: 40px;
}
.event--info #form {
  position: relative;
  background-color: #fff;
  padding: 60px 80px;
  border: 1px solid #2a2a2a;
}
.event--info.event_end #form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.7;
  background-color: #2a2a2a;
  z-index: 10;
}
.event--info .situation table {
  margin-bottom: 8px;
  table-layout: fixed;
  width: 100% !important;
}
.event--info .situation table th,
.event--info .situation table td {
  padding: 6px;
  border: 1px solid;
  text-align: center;
  width: auto !important;
}
.event--info .situation table th {
  background-color: #2a2a2a;
  color: #fff;
}
.form-box {
  border: solid 1px;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  padding: 1rem 2rem;
}
@media screen and (max-width: 767px) {
  .event_content {
    padding: 18px;
    margin: 0 -5% 40px;
  }
  .event--info #form {
    padding: 20px 18px;
    margin-left: -4%;
    margin-right: -4%;
  }
  .event--info .situation table th {
    font-size: 84%;
    line-height: 1.5;
  }
  .event--info .situation table tr:not(:first-child) th {
    text-align: left;
  }
  .event--info .situation table td {
    vertical-align: middle;
  }
  .form-box {
    border: solid 1px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
    padding: 0.5rem 1rem;
    font-size: 12px;
  }
}

/* blog
**************************************** */
@media screen and (max-width: 767px) {
  .blog--info + p {
    margin-bottom: 24px;
  }
  .blog--info .heading-1 {
    margin-bottom: 24px;
  }
  .blog--info .mce-content-body p {
    text-align: left !important;
  }
}

/* pass
**************************************** */
.single .pass {
  width: 100%;
}
.single .pass p:first-child {
  margin-bottom: 16px;
}

@media only screen and (max-width: 767px) {
  .single .pass p:first-child {
    text-align: left;
  }
}

/* ##############################################################################

    FORMY

############################################################################## */
#formy_form table {
  width: 100%;
}
#formy_form th,
#formy_form td {
  padding: 16px;
  vertical-align: middle;
  border-bottom: solid 1px #eee;
}
#formy_form th {
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
  width: 34%;
}
#formy_form table input[type="text"],
#formy_form table input[type="email"],
#formy_form table input[type="tel"],
#formy_form table input[type="date"],
#formy_form table input[type="password"],
#formy_form table textarea {
  width: 100%;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  vertical-align: bottom;
}
#formy_form table input[type="text"],
#formy_form table input[type="email"],
#formy_form table input[type="tel"],
#formy_form table input[type="date"],
#formy_form table input[type="password"],
#formy_form select,
#formy_form textarea {
  margin: 0;
  padding: 5px 15px;
  border: 1px solid #ccc;
  font: inherit;
  font-size: 100%;
}
#formy_form textarea {
  height: 100px;
}
#formy_form select {
  height: 40px;
}
#formy_form ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#formy_form input:hover {
  opacity: 0.7;
}
#formy_form textarea:hover {
  opacity: 0.7;
}
#formy_form input:focus {
  outline: none;
}
#formy_form .parsley-validated {
  background-color: #eee;
}
#formy_form .parsley-error {
  background-color: #fee;
}
#formy_form .parsley-success {
  background-color: #fff;
}
.help_text {
  font-size: 87%;
  color: #999;
}
.hidden_help {
  display: none;
}
.formy_privacy div {
  overflow-y: scroll;
  height: 140px;
  border: solid 1px #ccc;
  font-size: 87%;
  padding: 8px 16px;
}
.requiredIcon {
  background: #d53232;
  color: #fff;
  margin: 0 0 0 1em;
  font-size: 70%;
  padding: 2px 5px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  float: right;
}
#formy_btn {
  padding-top: 32px;
  text-align: center;
}
#formy_btn input {
  min-width: 220px;
  padding: 16px 32px;
  margin-right: 4px;
  margin-left: 4px;
  border: none;
  border-radius: 3px;
  color: #fff;
  font-size: inherit;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
#formy_form ul li input[type="radio"],
#formy_form ul li input[type="checkbox"] {
  display: none !important;
}
#formy_form ul li label {
  height: 40px;
  line-height: 40px;
  display: inline-block;
  vertical-align: top;
  position: relative;
  padding: 0 8px 0 40px;
  cursor: pointer;
}
#formy_form ul li label:hover {
  opacity: 0.7;
}
#formy_form ul li label::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border: 2px solid #788b93;
  left: 16px;
  top: 12px;
}
#formy_form ul li input[type="radio"] + label::before {
  border-radius: 10px;
}
#formy_form ul li input[type="radio"]:checked + label,
#formy_form ul li input[type="checkbox"]:checked + label {
  color: #e75f5f;
  font-weight: bold;
}
#formy_form ul li input[type="radio"]:checked + label::before,
#formy_form ul li input[type="checkbox"]:checked + label::before {
  border-color: #e75f5f;
}
#formy_form ul li input[type="radio"]:checked + label::after,
#formy_form ul li input[type="checkbox"]:checked + label::after {
  content: "";
  width: 10px;
  height: 18px;
  top: 4px;
  left: 20px;
  border-right: 2px solid #e75f5f;
  border-bottom: 2px solid #e75f5f;
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.formy_confirm {
  background-color: #4dbaff;
}
.formy_submit_disabled {
  background-color: #ccc;
}
#formy_btn .formy_submit_disabled:hover {
  opacity: 1;
  cursor: default;
}
.autoConfirmBack {
  background-color: #aaa;
}
.formy_send {
  background-color: #ff6600;
}
#total_required {
  padding: 16px;
  color: #ff9426;
  text-align: center;
}

.grecaptcha-badge {
  visibility: hidden;
}
.recaptcha_policy {
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 11px !important;
  color: #444 !important;
}
.recaptcha_policy a {
  font-size: 11px !important;
  color: #111 !important;
}

@media only screen and (max-width: 767px) {
  #formy_form th,
  #formy_form td {
    display: block;
    width: auto;
    padding-left: 0;
    padding-right: 0;
  }
  #formy_form th {
    border-bottom: none;
    padding-bottom: 0;
    white-space: normal;
    font-weight: bold;
  }
  #formy_form td {
    padding-top: 0;
  }
  #formy_btn {
    padding-top: 8px;
  }
  #formy_btn input {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    background-size: contain;
    background-position: center;
  }
  #formy_form table input[type="text"],
  #formy_form table input[type="email"],
  #formy_form table input[type="tel"],
  #formy_form table input[type="date"],
  #formy_form table input[type="password"],
  #formy_form select,
  #formy_form textarea {
    font-size: 16px; /* iOSでズーム防止 */
  }
}

/* --- wpcf7 --- */
#wpcf7-submit_btn {
  margin-top: 24px;
  text-align: center;
}
#wpcf7-submit_btn input {
  min-width: 320px;
  padding: 18px 48px;
  margin-right: 4px;
  margin-left: 4px;
  border-radius: 40px;
  color: #0c0431;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background: #eac670;
  font-size: 120%;
  letter-spacing: 0.1em;
  border: 1px solid;
  line-height: 1;
  -webkit-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
  -moz-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
  transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
}
.wpcf7-submit {
  background: #ff871e !important;
}
.wpcf7-back {
  background: #ccc !important;
  min-width: 240px !important;
}
.wpcf7c-conf {
  -webkit-appearance: none;
  border: none !important;
  background-color: transparent;
  padding: 0 !important;
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

@media screen and (max-width: 767px) {
  #wpcf7-submit_btn input {
    min-width: 100%;
  }
  .wpcf7-form-control-wrap {
    display: inline-block;
    margin-top: 5px;
  }
}
